Tekniikka/Henkilökortti
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.
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.
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.
- Julkaistu: 1.1.2017
- Käyttöjärjestelmä: Gemalton MultiApp 3.0 (javacard)
- OpenSC ajuri: Ei ole (issue #1504)
- Avainparit: todentamis/salaus, allekirjoitus RSA-avain, allekirjoitusavain EC-avaimin
- Varmenteet: todentamis/salaus, allekirjoitus, valtion varmennehierarkian kansalais- ja juuri-takaamisvarmenteet
- Avaimien pituus: 2048 bittiä
- Tiivistealgoritmit: SHA256
- Liitännät: ISO/IEC 7816, NFC MIFARE
- 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.
- Määrittelyt:
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 | 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:
- FinEID S1 v3.0 - Electronic ID Application
- FinEID S4-1 v3.1 - Implementation Profile 1
- ISO/IEC 7816-15
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ä.
Testausapu
On havaittu toistuvasti, että tietyt toiminnallisuudet tai ongelmat riippuvat kortin iästä eli tyypistä ja myöntämisajankohdasta. Jos käytettävissä ei ole Digiviraston testikortteja tai halutaan palautetta henkilöiltä eri taustoilla ja ohjelmistoilla, allaolevat henkilöt kortteineen voivat olla käytettävissä.
henkilö | sähköposti | sukupolvi | myönnetty | muuta |
---|---|---|---|---|
Juha Tuomala | juha.tuomala@iki.fi | 29.6.2021 | Fedora Linux, NFC-lukija, Apple iPhone, myös virolainen kortti käytössä. | |
Atro Tossavainen | atro.tossavainen@iki.fi | 30.11.2020 | MacOS, Ubuntu Linux, Android, myös virolainen e-kansalaisen kortti käytössä. |
Aiheesta muualla
Katso myös
- Henkilökortti perustietoa
- Tekniikka/Active Directory kortin käyttö Microsoftin toimialueessa