Tekniikka/Henkilökortti

Kohteesta DigiWiki
Siirry navigaatioon Siirry hakuun

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.

Sisällysluettelo

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]>
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
4407
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]>

Vaiheet:

  • varmenne talletetaan EF.PublicEmptyArea:lle (FileID:?) ISO/IEC 7816-15 mukaisesti.
  • EF.CD4/CD4 päivitetään
  • EF.UnusedSpace (FileID:433f) 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