Ero sivun ”Tekniikka/Henkilökortti” versioiden välillä

Kohteesta DigiWiki
Siirry navigaatioon Siirry hakuun
 
(3 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 3: Rivi 3:
 
Kortille voi myös lisätä sen ulkopuolella luotuja ja ulkopuolisen [[Varmentaja|varmentajan]] allekirjoittamia varmenteita.
 
Kortille voi myös lisätä sen ulkopuolella luotuja ja ulkopuolisen [[Varmentaja|varmentajan]] allekirjoittamia varmenteita.
  
Kortilla oleva käyttöjärjestelmä ([[COS]], Card Operating System) oli alkujaan [[Setec|Setecin]] '''SetCOS''', sittemmin [[Gemalto|Gemalton]] '''MultiApp''' yrityksen ostettua Setecin.
+
Kortilla oleva käyttöjärjestelmä ([[COS]], Card Operating System) oli alkujaan [[Setec|Setecin]] '''SetCOS''', sittemmin [[Gemalto]]n '''MultiApp''' yrityksen ostettua Setecin. Viimeisin, 2017 vuoden alusta lähtien koritit ovat olleet [[Idemia]]n omistamia ns [[Oberthur Technologies|Oberthur]]-sirullisia.
  
 
== Versiot ==
 
== Versiot ==
Rivi 47: Rivi 47:
 
* '''Sulkulistat''': CRL on, OCSP ei.
 
* '''Sulkulistat''': CRL on, OCSP ei.
  
=== MultiApp 3.0 ===
+
=== G3.1 ===
 +
Kortti on [[Idemia]]n [https://en.wikipedia.org/wiki/Oberthur_Technologies Oberthur] -kortti joka noudattaa [[IAS ACC]]-määrityksiä. Sille ei ole tällä hetkellä julkaistuja OpenSource -ajureita (yrityksistä huolimatta), ainoastaan DigSign middlewaren mukana tulevat suljetut binäärit toimivat.
 
* '''Julkaistu:''' 1.1.2017
 
* '''Julkaistu:''' 1.1.2017
 
* '''Käyttöjärjestelmä''': Gemalton [[Gemalto|MultiApp]] 3.0 (javacard)
 
* '''Käyttöjärjestelmä''': Gemalton [[Gemalto|MultiApp]] 3.0 (javacard)
 +
* '''OpenSC ajuri''': Ei ole ([https://github.com/OpenSC/OpenSC/issues/1504 issue #1504])
 
* '''Avainparit''': todentamis/salaus, allekirjoitus RSA-avain, allekirjoitusavain [[ECDSA|EC]]-avaimin
 
* '''Avainparit''': todentamis/salaus, allekirjoitus RSA-avain, allekirjoitusavain [[ECDSA|EC]]-avaimin
 
* '''Varmenteet''': todentamis/salaus, allekirjoitus, valtion varmennehierarkian kansalais- ja juuri-takaamisvarmenteet  
 
* '''Varmenteet''': todentamis/salaus, allekirjoitus, valtion varmennehierarkian kansalais- ja juuri-takaamisvarmenteet  
Rivi 55: Rivi 57:
 
* '''Tiivistealgoritmit''': SHA256
 
* '''Tiivistealgoritmit''': SHA256
 
* '''Liitännät:''' [[ISO/IEC 7816]], [[NFC|NFC MIFARE]]
 
* '''Liitännät:''' [[ISO/IEC 7816]], [[NFC|NFC MIFARE]]
* '''ATR''':  
+
* '''ATR''': 3B:7F:96:00:00:80:31:B8:65:B0:85:04:02:1B:12:00:F6:82:90:00
 
* '''Appletit''': IAS Classic V4.
 
* '''Appletit''': IAS Classic V4.
 
* '''Määrittelyt:'''  
 
* '''Määrittelyt:'''  
** [https://eevertti.vrk.fi/documents/2634109/2858578/S1v30.pdf/08f9ea66-47d6-46c8-b4ab-88ce83304f1f vrk.fi - FINEID - S1 Electronic ID Application v3.0]
+
** [https://dvv.fi/documents/16079645/17324992/IAS+ECC+v1_0_1UK.pdf/84043361-56ad-bc26-8223-37e0d79355d8/IAS+ECC+v1_0_1UK.pdf?t=1622729405351 dvv.fi IAS ECC]
** [https://eevertti.vrk.fi/documents/2634109/2858578/S4-1v30.pdf/ca598f2b-f2f6-4299-a6de-320d77bba367 vrk.fi - FINEID S4-1 - FINEID Implementation profile 1 for Finnish Electronic ID Card, v3.0]
+
** [https://dvv.fi/documents/16079645/17324992/S1v40.pdf/371dd739-0962-c6a5-04d9-288ad5183cae/S1v40.pdf dvv.fi - FINEID - S1 Electronic ID Application v4.0]
 +
** [https://dvv.fi/en/fineid-specifications dvv.fi spesifications]
  
 
== Oman varmenteen lisääminen kortille ==
 
== Oman varmenteen lisääminen kortille ==

Nykyinen versio 2. maaliskuuta 2022 kello 11.50

Henkilökortti sisältää neljä varmennetta, joista sen haltijan henkilökohtaiset varmenteet on luotu kortin sisällä sen omalla prosessorilla. Tämän ansiosta henkilövarmenteiden salaisia avaimia on teknisesti mahdotonta saada sieltä ulos.

Kortille voi myös lisätä sen ulkopuolella luotuja ja ulkopuolisen varmentajan allekirjoittamia varmenteita.

Kortilla oleva käyttöjärjestelmä (COS, Card Operating System) oli alkujaan Setecin SetCOS, sittemmin Gemalton MultiApp yrityksen ostettua Setecin. Viimeisin, 2017 vuoden alusta lähtien koritit ovat olleet Idemian omistamia ns Oberthur-sirullisia.

Versiot

Kaikkia Setecin SetCos käyttöjärjestelmäversioita ei ole käytettty Väestörekisterikeskuksen liikkeellelaskemissa henkilökorteissa.

SetCOS 4.3.1

  • Julkaistu: 1.12.1999[1]
  • Käyttöjärjestelmä: SetCOS 4.3.1 (natiivi)
  • Tiivistealgoritmit:
  • Avaimien pituus: 1024 bittiä
  • ATR: 3B7B940000806211515646696E454944
  • Appletit: EID (1024 bit)

SetCOS 5.1.0

  • Julkaistu: 2005-06
  • Käyttöjärjestelmä: SetCOS 5.1.0 (javacard)
  • Tiivistealgoritmit:
  • Avaimien pituus: 1024 bittiä
  • ATR: 3b:fe:18:00:00:80:31:fe:45:80:31:80:66:40:90:a4:16:2a:00:83:0f:90:00:ef
  • Appletit: EID (1024 bit)

SetCOS 5.1.1

  • Julkaistu:
  • Käyttöjärjestelmä: SetCOS 5.1.1 (javacard)
  • Tiivistealgoritmit:
  • Avaimien pituus: 1024 bittiä
  • ATR:
  • Appletit: EID (1024 bit)

G2.2

  • Myöntämisjakso: 2014-2016
  • Voimassaoloaika: 5 vuotta
  • Elinkaari: 2014 - 2021
  • Käyttöjärjestelmä: Gemalton MultiApp v1.1 (javacard)
  • PKI: IAS Classic V4.
  • Avainparit: todentamis/salaus, allekirjoitus RSA-avain,
  • Tiivistealgoritmit:
  • Avaimien pituus: 2048 bittiä
  • ATR: 3B7B940000806212515646696E454944
  • Appletit: EID (1024 bit) ja myöhemmin EID2048
  • Varmennelistaukset: Tekniikka/Henkilökortti/G2.2
  • Sulkulistat: CRL on, OCSP ei.

G3.1

Kortti on Idemian Oberthur -kortti joka noudattaa IAS ACC-määrityksiä. Sille ei ole tällä hetkellä julkaistuja OpenSource -ajureita (yrityksistä huolimatta), ainoastaan DigSign middlewaren mukana tulevat suljetut binäärit toimivat.

Oman varmenteen lisääminen kortille

Kortilla muutama kilotavu tilaa lisätiedoille. Vapaaseen tilaan voi tallentaa esimerkiksi lisää varmenteita.

Kortin tiedostorakenne

  • MF () - rakenteen juuri
  • EF (Elementery File) - tiedosto
  • DF (Directory File) - hakemisto
  • OD (Object Directory) - viittaukset (FileID:t) hakemiston objekteihin
  • AOD (Authentication Object Directory)
  • DCOD (Data Container Object Directory)
  • PACE PACE-suojatun yhteyskäytännön saatavilla oleva alue.
OpenSC [3F00]> ls
FileID  Type  Size
 5032    wEF   160
 5031    wEF    96
 4401    wEF   256
 4402    wEF   512
 4405    wEF   256
 4334    wEF  1664
 4333    wEF  2048
 0000    iEF     0
 4B01   0x11     0
[5016]    DF     3      Name: \xA0\x00\x00\x01gESIGN
 4404    wEF  1024
 5033    wEF  1024
 433F    wEF  8192
 4406    wEF  1024
 433E    wEF  4096
 4407    wEF   256
 4403    wEF   256
 4331    wEF  2240
OpenSC [3F00]>
Fineid.G3.object.structure.png
FileID objekti
5032
5031 EF.OD Object Directory pointers to other elementary files (PrKDs, CDs, AODs, DCODs) of the FINEID application.
4401 EF.AOD Authentication Object Directory
4402 EF.PrKD Private Key Directory
4403 EF.CD #1 Content Directory #1
4404 EF.CD #2 Content Directory #2 contains attributes and pointers to additional card holder certificates that are written to the application after issuing it to the card holder.
4405 EF.CD #3 Content Directory #3 contains attributes and pointers to trusted CA certificates (4334, 4333).
4406 EF.CD #4 Content Directory #4 contains attributes and pointers to additional useful certificates that are written to the application after the centralized personalization. It may be used to store either certificates that may be useful, e.g. a certificate for a colleague’s encryption key or intermediate CA certificates to simplify certificate path processing.
4407 EF.DCOD contains attributes and pointers to data objects that are written to the card after the centralized personalization. Originally this file is empty. The actual data objects are intended to be stored into the EF(PublicEmptyArea) or EF(PrivateEmptyArea) using the EF(UnusedSpace)
4331 Certificate #1 todentamis- ja salausvarmenne
4332 Certificate #2 allekirjoitusvarmenne
4335 Certificate #3 allekirjoitusvarmenne 2
4334 CA Certificate #1 VRK Gov. Root CA – G2 root certificate G2
4333 VRK Gov. CA for Citizen Certificates – G3 Intermediate CA for Citizens - G3
5033 EF(UnusedSpace) contains pointers to the empty transparent files EF(PublicEmptyArea) and EF(Private EmptyArea). The format of the file is otherwise according to PKCS#15 except that the AccessControlRule component is coded according to ISO/IEC 7816-15
433f EF(PublicEmptyArea)
433e EF(PrivateEmptyArea)

EF.OD (Object Directory, FileID:5031, S4-1 kappale 8.1.4) tiedosto kuvaa viittaukset hakemiston muihin tiedostoihin.

OpenSC [3F00]> asn1 5031
A8 Context 8  (8 bytes)
   30 SEQUENCE (6 bytes)
      04 OCTET STRING (4 bytes): 3F 00 44 01 ?.D.
A0 Context 0  (8 bytes)
   30 SEQUENCE (6 bytes)
      04 OCTET STRING (4 bytes): 3F 00 44 02 ?.D.
A4 Context 4  (8 bytes)
   30 SEQUENCE (6 bytes)
      04 OCTET STRING (4 bytes): 3F 00 44 03 ?.D.
A4 Context 4  (8 bytes)
   30 SEQUENCE (6 bytes)
      04 OCTET STRING (4 bytes): 3F 00 44 04 ?.D.
A5 Context 5  (8 bytes)
   30 SEQUENCE (6 bytes)
      04 OCTET STRING (4 bytes): 3F 00 44 05 ?.D.
A7 Context 7  (8 bytes)
   30 SEQUENCE (6 bytes)
      04 OCTET STRING (4 bytes): 3F 00 44 06 ?.D.
A6 Context 6  (8 bytes)
   30 SEQUENCE (6 bytes)
      04 OCTET STRING (4 bytes): 3F 00 44 07 ?.D.
Zero tag, finishing
OpenSC [3F00]>

Varmenteen lisääminen

Vaiheet:

  • varmenne talletetaan EF.PublicEmptyArea:lle (FileID:433f) ISO/IEC 7816-15 mukaisesti.
  • EF.CD#4 (FileID:4406) päivitetään
  • EF.UnusedSpace (FileID:5033) päivitetään.

Salaisen avaimen lisääminen

  • salainen avain tallentaan EF.PrivateEmptyArea:lle (FileID:433e)
  • EF.DCOD (FileID:4407) päivitetään
  • EF.UnusedSpace (FileID:5033) päivitetään.

Fineid S4-1 v3.1 sekä Fineid S1 v3.0 dokumenteista löytyy lisää tietoa:

Vianmääritys

opensc-tool on OpenSC-projektin perustyökalu jolla voi mm listata lukijalaitteet.

$ opensc-tool -l
# Detected readers (pcsc)
Nr.  Card  Features  Name
0    Yes             Gemalto PC Twin Reader (DF244A22) 00 00
1    No              Gemalto PC Twin Reader (6B2A4AC2) 01 00

Ylläolevassa listauksessa työkalu löytää kaksi USB-lukijalaitetta ja ensimmäisessä niistä on kortti.


pcsc_scan

$ pcsc_scan


pkcs11-tool on PKCS#11 rajapinnan eli älykortin ja sovelluksen, usein älykorttituen lisäävän plugin-rajapinnan työkalu.

pkcs15-tool on PKCS#15 formaatin, eli varmenteita käsittelevä työkalu.

$ pkcs15-tool -c

optio -c listaa korteilta löytyvät varmenteet.

$ pkcs15-tool -r 01
-----BEGIN CERTIFICATE-----
MIIGpDCCBIygAwIBAgIQJ1OLTxPJQkBYgJzkUba7BzANBgkqhkiG9w0BAQsFADBj
czEXMBUGA1UEYQwOTlRSRUUtMTA3NDcwMTMxFzAVBgNVBAMMDkVTVEVJRC1TSyAy
MDE1MB4XDTE3MDExOTExMDMwMFoXDTIwMDkwMTIwNTk1OVowgZ0xCzAJBgNVBAYT
.
.
.
AkVFMQ8wDQYDVQQKDAZFU1RFSUQxFzAVBgNVBAsMDmF1dGhlbnRpY2F0aW9uMScw
vPhMT0x7M4c/UyAZ1CzqHNjwxvR5ewdP4IGD2Qrmb8rWCM9hCk/B97S/wbidGwMa
thUaEj5kZit8IHNYTil49CXO5kKa3D07
-----END CERTIFICATE-----

optio -r n lukee varmenteen n kortilta ja tulostaa sen ruudulle. Oikea lukuarvo löytyy -c optiolla ID kentästä.

Aiheesta muualla

Katso myös


Lähteet