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

Kohteesta DigiWiki
Siirry navigaatioon Siirry hakuun
(11 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 65: Rivi 65:
 
Kortilla muutama kilotavu tilaa lisätiedoille. Vapaaseen tilaan voi tallentaa esimerkiksi lisää varmenteita.
 
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.
 +
 +
<pre>
 +
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]>
 +
</pre>
 +
 +
[[Tiedosto:Fineid.G3.object.structure.png|right|400px|thumb|]]
 +
{| class="wikitable sortable" style=";"
 +
!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.
 +
<pre>
 +
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]>
 +
</pre>
 +
 +
=== Varmenteen lisääminen ===
 +
Vaiheet:
 +
* varmenne talletetaan '''EF.PublicEmptyArea''':lle (FileID:433f) [[ISO/IEC 7816|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:
 +
* [https://dvv.fi/documents/16079645/17324923/S1v30.pdf/0bad6ff1-1617-1b1f-ab49-56a2f36ecd38/S1v30.pdf FinEID S1 v3.0 - Electronic ID Application]
 +
* [https://dvv.fi/documents/16079645/17324992/S4-1v31.pdf/ca3e699e-fae8-aea2-9ce3-28846d2ae95a/S4-1v31.pdf FinEID S4-1 v3.1 - Implementation Profile 1]
 +
* [[ISO/IEC 7816|ISO/IEC 7816-15]]
  
 
== Vianmääritys ==
 
== Vianmääritys ==

Versio 16. huhtikuuta 2021 kello 13.16

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.

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.

MultiApp 3.0

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