Eesti ID-kaardi kasutamine Debianiga

Allikas: Kuutõrvaja

Sisukord

Sissejuhatus

Eesti ID-kaart on nn protsessorkaart, mis võimaldab autentimist ja allkirjastamist. ID-kaardi kasutamiseks on vajalikud

  • kehtiv Eesti ID-kaart
  • kasutada oleva arvuti ja operatsioonisüsteemiga sobiv kaardilugeja
  • internetiühendus
  • ID-kaardi võimaluste kasutamiseks sobiv kliendipoolne tarkvara
  • ID-kaardi võimaluste kasutamiseks sobiv teenus internetis

Eesti ID-kaardi töö põhineb avaliku võtme (ingl. k. public key) krüptograafia kasutamisel. Avaliku võtme infrastruktuuris (ingl. k. PKI - public key infrastructure) esitatakse kasutaja avalik võti koos kasutaja kohta käivate muude andmetega, nt kasutaja nimi ja eposti aadress selle konkreetse infrastruktuuri mõne ülemise sajalase võtmega signeeritud kujul ja seda tulemust nimetatakse kasutaja sertifikaadiks. Lisaks on sertifikaadis kirjas andmed selle sertifikaadi väljastaja kohta ja sertifikaadi kehtivuse aeg.

Eesti ID-kaartidega seotud avaliku võtme infrastruktuuri haldab sh väljastab ID-kaarte Sertifitseerimiskeskus http://www.sk.ee/ kusjuures ID-kaardil on kaks paari võtmeid, öeldakse ka, et kaks sertifikaati

  • isikutuvastuse ehk autentimise sertifikaat
  • allkirjastamise sertifikaat

Kahe erineva sertifikaadi kasutuselevõtmise põhjuseks on asjaolu, et sertifikaatidel on nö oluliselt erinev kaal

  • isikutuvastuse sertfikaadiga kasutaja autendib ennast teenusele (st praktiliselt logib ennast sisse portaali internetis, siseneb kooduksega kaitstud ruumi füüsilises maailmas)
  • allkirjastamise sertifikaati kasutatakse reeglina ainult digitaalallkirja andmiseks ja Eesti Vabariigis on digitaalallkirjastatud dokument võrdsustatud omakäeliselt allkirjatatud dokumendiga; reeglina pangaülekannete sooritamisel toimub sisemiselt samuti digitaalallkirjastamise protseduur

Oletame, et kui oleks kasutuses ainult üks sertifikaat ja nt kasutaja siseneb koodukse kaudu ruumi, siis võiks konstrueerida skeemi, kus ta pahaaimamatult allkirjastab mõne dokumendi, mida ta muul juhul ei oleks nõus allkirjastama. Kahe sertifikaadi kasutamisel on võimalik erinevaid rolle lahus hoida.

Kuigi eelmises lõigus kasutati väljendeid 'isikutuvastuse sertifikaadiga kasutaja identifitseerib' ja 'allkirjastamise sertifikaati kasutatakse reeglina digitaalallkirja andmiseks' tuleb seda seda mõista nii, et sisuliselt neid protseduure sooritades kasutaja kasutab vastava sertifikaadi salajast võtit. ID-kaardil asuvate salajaste võtmete kasutamine on turvakaalutlustel piiratud täiendava parooliga, nn PIN koodiga, kummalgi salajasel võtmel on oma PIN kood ja võtme kasutamise eel küsib ID-kaardi tarkvara kasutajalt seda koodi.

ID-kaardiga autentimine on dual-factor ehk two-factor autentimine http://en.wikipedia.org/wiki/Two-factor_authentication kuna see sisaldab kahte kontrolli

  • midagi mida saab omada - ID-kaardi kui füüsilise eseme olemasolu kontroll
  • midagi mida saab teada - salajase võtme teadmise kontroll

Võrreldes parooliga on ID-kaardi kasutamise üheks erinevuseks, et seda saab kasutada korraga ainult üks kasutaja nö ühest kasutuspunktist.

Eesti ID-kaardi sertifikaatide LDAP kataloogiteenus

Kuna avaliku võtme infrastruktuuri üheks koostisosaks on, et kõigi kasutajate avalikud võtmed st sertifikaadid on kõigile avalikult kättesaadavad, siis SK on teinud kasutajate sertifikaadid internetis kättesaadavaks LDAP kataloogiteenuse abil aadressil ldap.sk.ee. Kasutaja sertifikaate (mis sisaldavad avalikke võtmeid) saab teades tema isikukoodi kopeerida öeldes nt

 $ ldapsearch -LLL -H ldap://ldap.sk.ee -x -b "c=EE" "(serialNumber=37003212713)"
 dn: cn=OOLBERG\2CIMRE\2C37003212713,ou=Authentication,o=ESTEID,c=EE
 objectClass: top
 objectClass: person
 objectClass: organizationalPerson
 objectClass: inetOrgPerson
 cn: OOLBERG,IMRE,37003212713
 serialNumber: 37003212713
 userCertificate;binary:: MIIEGjCCAwKgAwIBAgIESIQxaDANBgkqhkiG9w0BAQUFADBbMQswC
 QYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEPMA0GA1UECxMGRV
 ...
 z5vZN4059dNaqZqVg5rlVrLS5/T+sK8PHxYcO+SKDZYobddJIv6i2XlpVAQLgkChEiXI2Bd3AMfpw
 fVbAjDsHXasblBtut7k1MItT3YLaNZ/xq9BY/B7afXqg==
 
 dn: cn=OOLBERG\2CIMRE\2C37003212713,ou=Digital Signature,o=ESTEID,c=EE
 objectClass: top
 objectClass: person
 objectClass: organizationalPerson
 objectClass: inetOrgPerson
 cn: OOLBERG,IMRE,37003212713
 serialNumber: 37003212713
 userCertificate;binary:: MIID2jCCAsKgAwIBAgIESIQxaTANBgkqhkiG9w0BAQUFADBbMQswC
 QYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEPMA0GA1UECxMGRV
 ..

Konkreetse sertifikaadi dn elemendi kopeerimiseks sobib öelda nt

$ ldapsearch -LLL -H ldap://ldap.sk.ee -x -b ou=authentication,o=ESTEID,c=EE "(serialNumber=37003212713)" dn
dn: cn=OOLBERG\2CIMRE\2C37003212713,ou=Authentication,o=ESTEID,c=EE

Kaardilugeja ühendamine operatsioonisüsteemiga

Märkus: 2010 kevade seisuga peaks töötama täitsa hästi Linuxi ja Windowsiga nt kaks sellist mudelit, mida on ka kauplustes suhteliselt hästi saada

Ehk kõige parem kui kaardilugeja ühendub arvutiga USB abil, nt sobib mudel SRC-331. Debian Etch ja Lenny sisaldavad paketihalduses ID-kaardi kasutamiseks sobivat tarkvara, mille koduleht asub aadressil http://ideelabor.ee/ ja mille kasutamist käesolev tekst kirjeldab.

USB kaudu ühendatud ID-kaardilugeja kasutamise eelduseks on, et operatsioonisüsteem toetab USB seadmete kasutamist, sellest annab tunnistust peale kaardilugeja ühendamist lsusb sarnane väljund, kus on muu seas näha SCR331 seadmele vastav rida

 # lsusb
 Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 003 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 002 Device 006: ID 04e6:e001 SCM Microsystems, Inc. SCR331 SmartCard Reader
 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

ID-kaardiga suhtlemiseks vajaliku tarkvara paigaldamiseks tuleb öelda

 # apt-get install opensc pcscd libccid

Seejärel tuleb redigeerida kahte faili

  • Näitena jagatavas /etc/opensc/opensc.conf failis tuleb teha kolm muudatust
 # zcat /usr/share/doc/libopensc2/examples/opensc.conf.gz > /etc/opensc/opensc.conf

Leidke failist üles need parameetrid ning muutke nende väärtused sellisteks

 try_emulation_first = yes;
 lock_login = false;
 reader_drivers = pcsc, ctapi;
  • Failis /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist peavad sisalduma sellised read (tundub, et see on teatud SRC331 mudelite või eksemplaride spetsiifiline asi), leidke ja muutke olemasolevaid
 <key>ifdDriverOptions</key>
 <string>0x0004</string>

Seejärel seisake ja käivitage pcscd deemon

 # /etc/init.d/pcscd restart

Kontrollimaks, et tarkvara sai korrektselt paigaldatud küsime süsteemi ühendatud kaardilugejate nimekirja

 # opensc-tool -l
 Readers known about:
 Nr.    Driver     Name
 0      pcsc       SCM SCR 331 00 00

Ning küsime ID-kaardile kantud sertifikaatide nimekirja

 # pkcs15-tool -c
 X.509 Certificate [Isikutuvastus]
       Flags    : 0
       Authority: no
       Path     : 3f00eeeeaace
       ID       : 01
 
 X.509 Certificate [Allkirjastamine]
       Flags    : 0
       Authority: no
       Path     : 3f00eeeeddce
       ID       : 02

pkcs11-tool utiliidi kasutamine

PKCS#11 is a software API for accessing cryptographic hardware like smart cards or HSM. pkcs11-tool realiseerib PKCS11 (Public Key Cryptography Standards) standardit ja võimaldab suhelda krüptoseadmega üle Cryptoki (Cryptographic Token Interface) API. Slottide nimekirja esitamiseks sobib öelda

# pkcs11-tool -L
Available slots:
Slot 0 (0x0): Alcor Micro AU9540 00 00
  (empty)
Slot 1 (0x4): Gemalto PC Twin Reader (A76A2DE4) 01 00
  token label        : PIN1 (OOLBERG,IMRE,37003212713)
  token manufacturer : AS Sertifitseerimiskeskus
  token model        : PKCS#15 emulated
  token flags        : login required, rng, token initialized, PIN initialized
  hardware version   : 0.0
  firmware version   : 0.0
  serial num         : AA9909781
  pin min/max        : 4/12
Slot 2 (0x5): Gemalto PC Twin Reader (A76A2DE4) 01 00
  token label        : PIN2 (OOLBERG,IMRE,37003212713)
  token manufacturer : AS Sertifitseerimiskeskus
  token model        : PKCS#15 emulated
  token flags        : login required, rng, token initialized, PIN initialized
  hardware version   : 0.0
  firmware version   : 0.0
  serial num         : AA9909781
  pin min/max        : 5/12

Slot sisu esitamiseks, nb! slot numbri väärtus tuleb võtta sulgudest, küsitakse pin1 väärtust

# pkcs11-tool --slot 4 -O -l
Logging in to "PIN1 (OOLBERG,IMRE,37003212713)".
Please enter User PIN: 

Private Key Object; EC
  label:      Isikutuvastus
  ID:         01
  Usage:      sign, derive
Certificate Object; type = X.509 cert
  label:      Isikutuvastus
  ID:         01
Public Key Object; EC  EC_POINT 384 bits
  EC_POINT:   0461046231c67...
  EC_PARAMS:  06052b81040023
  label:      Isikutuvastus
  ID:         01
  Usage:      encrypt, verify

kus

  • ühes slotis on paistab olevat kolm objekti, private key, sertifikaat ja public key

Kasulikud lisamaterjalid

pkcs15-tool utiliidi kasutamine

PKCS#15 is a format of on-card structures that defines a “filesystem layout” for smart cards. pkcs15-tool abil saab kopeerida ID-kaardilt sertifikaate, sedasi

# pkcs15-tool -r 01
-----BEGIN CERTIFICATE-----
MIIEGjCCAwKgAwIBAgIESIQxaDANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQGEwJF
RTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEPMA0GA1UECxMG
RVNURUlEMRcwFQYDVQQDEw5FU1RFSUQtU0sgMjAwNzAeFw0wODA3MjEwNjQ5MTJa
Fw0xMjA5MTEyMTAwMDBaMIGRMQswCQYDVQQGEwJFRTEPMA0GA1UEChMGRVNURUlE
MRcwFQYDVQQLEw5hdXRoZW50aWNhdGlvbjEhMB8GA1UEAxMYT09MQkVSRyxJTVJF
LDM3MDAzMjEyNzEzMRAwDgYDVQQEEwdPT0xCRVJHMQ0wCwYDVQQqEwRJTVJFMRQw
EgYDVQQFEwszNzAwMzIxMjcxMzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
3FR0AP2oX5NCs8+u/hNpnYWyB2eNrnWyG3JXsiqCo14uAaOVmMb82g73SRLPEnAG
yxU/GtRuKT7iOg4f+HTy9bGBaJp6/N9uH8MNtkOzoDppMn909Rm+OqIaHMQkskFC
Kd8X3deAtEwI/YektKKnPbFEZFfLxLKbxvB4WNhFbYECA1W7daOCATEwggEtMA4G
A1UdDwEB/wQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwPAYD
VR0fBDUwMzAxoC+gLYYraHR0cDovL3d3dy5zay5lZS9jcmxzL2VzdGVpZC9lc3Rl
aWQyMDA3LmNybDAgBgNVHREEGTAXgRVpbXJlLm9vbGJlcmdAZWVzdGkuZWUwUQYD
VR0gBEowSDBGBgsrBgEEAc4fAQEBATA3MBIGCCsGAQUFBwICMAYaBG5vbmUwIQYI
KwYBBQUHAgEWFWh0dHA6Ly93d3cuc2suZWUvY3BzLzAfBgNVHSMEGDAWgBRIBt6+
jIdXlYB4Y/qcIysroDoYdTAdBgNVHQ4EFgQUvIL+20MDRof3J9Avt6Z3d1obuAUw
CQYDVR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAQEAajU/cJ7zVocAkJDgIrV8gXn3
hZ9CM5k1/W3GVEEXqkdTHU/clW5D14PmC+f2a7rN2FxJ3bQuxU/xB6W4xKDZ9fys
Y31lGxpPHIsHwqaPl93l1u3iaMo9835yMVfiZOi0Iq2y0ZlnPwVAOjWNUzMwikdj
1ElhnHacFc4NrevOqgaOZIN2A1DIDgxMXLiR8PAHlPSnK8cXnClRXgcIT3p4OPYy
rH6z7z5vZN4059dNaqZqVg5rlVrLS5/T+sK8PHxYcO+SKDZYobddJIv6i2XlpVAQ
LgkChEiXI2Bd3AMfpwfVbAjDsHXasblBtut7k1MItT3YLaNZ/xq9BY/B7afXqg==
-----END CERTIFICATE-----

Selle sertifikaadi sisu arusaadavamale kujule viimiseks tuleb öelda

 # pkcs15-tool -r 01 > imreoolberg-autentimise-sertifikaat.pub
 # openssl x509 -in imreoolberg-autentimise-sertifikaat.pub -noout -text
 Certificate:
   Data:
       Version: 3 (0x2)
       Serial Number: 1216622952 (0x48843168)
       Signature Algorithm: sha1WithRSAEncryption
       Issuer: C=EE, O=AS Sertifitseerimiskeskus, OU=ESTEID, CN=ESTEID-SK 2007
       Validity
           Not Before: Jul 21 06:49:12 2008 GMT
           Not After : Sep 11 21:00:00 2012 GMT
       Subject: C=EE, O=ESTEID, OU=authentication, CN=OOLBERG,IMRE,37003212713, SN=OOLBERG, GN=IMRE/serialNumber=37003212713
       Subject Public Key Info:
           Public Key Algorithm: rsaEncryption
           RSA Public Key: (1024 bit)
               Modulus (1024 bit):
 ..

Sertifikaadist saab küsida ka üksikuid elemente, nt Subject'i, mis näitab kellele on sertifikaat väljastatud

 $ openssl x509 -in imreoolberg-autentimise-sertifikaat.pub -noout -subject
 subject= /C=EE/O=ESTEID/OU=authentication/CN=OOLBERG,IMRE,37003212713/SN=OOLBERG/GN=IMRE/serialNumber=37003212713

või Issuer'i, mis näitab, kes sertifikaadi väljastas

 $ openssl x509 -in imreoolberg-autentimise-sertifikaat.pub -noout -issuer
 issuer= /C=EE/O=AS Sertifitseerimiskeskus/OU=ESTEID/CN=ESTEID-SK 2007

või ajavahemiku, mil sertifikaat kehtib

 $ openssl x509 -in imreoolberg-autentimise-sertifikaat.pub -noout -dates
 notBefore=Jul 21 06:49:12 2008 GMT
 notAfter=Sep 11 21:00:00 2012 GMT

Lisaks sertifikaatidele ja võtmetele sisaldab veel andmeid id kaardi nö elektroolilises osas, nt dokumendi number. Seda ja muid andmeid saab küsides nn dump'i

# pkcs15-tool -D -r 01
Using reader with a card: SCM SCR 331 [CCID Interface] (504005BE) 00 00
..
PKCS#15 Card [IMRE OOLBERG]:
       Version        : 2
       Serial number  : A0055799
       Manufacturer ID: AS Sertifitseerimiskeskus
       Flags          : Read-only, PRN generation, EID compliant
...

Kui arvutis on kasutusel mitu ID kaarti, siis saab kontrollida millisega tegeledakse parameetri abil

 --reader N

Iceweasel brauseri kasutamine

Iceweasel brauseri abil on iseenesest võimalik kahe tegevuse sooritamine

  • autentimine - kasutaja kinnitab teenusele, nt veebiportaalile, et tema kasutuses on tema autentimise sertifikaadis sisalduvale avalikule võtmele vastav salajane võti
  • digitaalne allkirjastamine - kastutaja kinnitab teenusele, nt pangaülekande sooritamisel, et tema kasutuses on tema allkirjastamise sertifikaadis sisalduvale avalikule võtmele vastav salajane võti

Kuivõrd teenuse jaoks on praktiliselt oluline, et kasutaja kinnitaks sertifikaadile vastava salajase võtme olemasolu PIN koodi sisestamise teel, siis siit järeldub, et tuleb hoolega hoida ID-kaarti ning ID-kaardi PIN koode enda teada.

Brauseri tööleseadmine autentimiseks on lihtsam ning allkirjastamiseks keerulisem. Tundub, et praktiliselt on 2009 klienditarkvara ja nende teenuste tarkvara, mida saab Iceweaseliga kasutada seis selline, et Iceweasel brauser iseseisvalt ei tegele andmete allkirjastamisega; allkirjastamine toimub nt Java appleti abil, kusjuures applet küsib kasutajalt allkirjastamiseks vajalikku PIN2 koodi. Seda arvestades on soovitav kasutada turvaseadme kirjeldamisel spetsiaalselt ettevalmistatud teeki onepin-opensc-pkcs11.so, mis efektiivselt varjab brauseri eest ära teise sertifikaadi, kui seda mitte teha, siis praktililiselt hakkab brauser kasutajalt küsima ise vaheldumisi mõlema sertifikaadi PIN koodi ja see oleks üsna eksitav.

Brauseri ID-kaardiga kasutamise ettevalmistamiseks tuleb avada

 Edit -> Preferences -> Advanced -> Encryption -> Security Devices -> Load

ning kirjeldada Eesti ID-kaardile vastav turvaseade (ingl. k. security device)

 Module Name: esteid
 Module filename: /usr/lib/onepin-opensc-pkcs11.so

Sõltuvalt sellest, kas soovitakse, et peale PIN1 sisestamist küsiks brauser kasutajalt igal ID-kaardiga autentimise korral kinnitust või mitte tuleb valida

  • Select one automatically
  • Ask me every time

Id-auth-cc.gif

Iceweasel brauseri kasutamine autentimiseks

Auntentimiseks piisab turvaseadme ettevalmistamisest ning seejärel saab näiteks logida sisse riigiportaali, küsitakse PIN1 koodi

Id-auth-java-pin1.gif

Iceweasel brauseri kasutamine allkirjastamiseks

Nt SEB pangas makset sooritades toimub digitaal-allkirjastamise protseduur; ja https://digidoc.sk.ee/ või riigiportaali eesti.ee kasutamisel saab moodustada uut digitaalselt allkirjastatud dokumenti või kontrollida olemasoleval digitaalselt allkirjastatud dokumendil allkirja kehtivust. Osa kasutajaid suhtub veebiliidese kaudu dokumentide allkirjastamisse äärmiselt kahtlustavalt, kuna kui juba lokaalse rakendusega digitaalallkirja andmisel ei saa olla täiesti kindel, millele ikkagi allkiri antakse, siis veebirakenduse puhul on see veel eriti nii.

Iceweasel brauseriga allkirjastamiseks peab olema paigaldatud Mozilla Sun Java plugini tarkvara pakett (millega koos paigaldatakse vajadusel ka JVM, kusjuures on oluline kasutada justnimelt Sun Java mitte IBM või GCJ implementatsioone)

 # apt-get install sun-java5-plugin

Ning lisaks kopeerida teek

 # mkdir /tmp/teek && cd /tmp/teek
 # wget http://ideelabor.ee/downloads/pkcs11wrapper-linux.tar.gz
 # tar zxf pkcs11wrapper-linux.tar.gz
 # find . -type f -ls
 442489  104 -rwxr-xr-x   1 501      501         99004 Apr 23  2004 ./libpkcs11wrapper.so

Seejärel tuleb otsida üles arvutist JVM kataloog

 # find /usr -type f -name java -ls
 173534   68 -rwxr-xr-x   1 root     root        65116 May 28  2008 /usr/lib/jvm/java-1.5.0-sun-1.5.0.16/jre/bin/java

mis tähendab, et

 JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.16

Lõpuks tuleb kopeerida lahtipakitud teek kataloogi ${JAVA_HOME}/jre/lib/i386

 # cp libpkcs11wrapper.so /usr/lib/jvm/java-1.5.0-sun-1.5.0.16/jre/lib/i386

Lisaks peavad olema lingid, esimene on vajalik digidoc portaali kasutamiseks ja teine SEB pangas

 # ln -s /usr/lib/opensc-pkcs11.so /usr/lib/libopensc-pkcs11.so
 # ln -s /usr/lib/opensc-pkcs11.so /usr/lib/libesteid-pkcs11.so

NB! Java tarkvara uuendamisel mõnel juhul muutub ka versiooni number nii, et muutub java asukoht failisüsteemis, nt

 /usr/lib/jvm/java-1.5.0-sun-1.5.0.16 -> /usr/lib/jvm/java-1.5.0-sun-1.5.0.17

Sel juhul tuleb libpkcs11wrapper.so kopeerida samasse alamkataloogi kuhu ennegi uue java kataloogi sisse.

Kui süsteemi on paigaldatud lisaks mõni uuem java versioon, nt paketist sun-java6-*, siis tuleb kõnealune wrapper kopeerida kõige uuema Java vastavasse kataloogi, nt

 # cp libpkcs11wrapper.so /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/i386/
Allkirjastamine SEB pangas

Peale panga keskkonda sisselogimist (kas otseselt või läbi mõne muu teenusepakkuja, nt www.if.ee, www.energia.ee jt) ning maksekorralduse ettevalmistamist esitatakse allkirja andmise juurde esmakordsel minemisel küsimus rakenduse usaldusväärsuse kohta

Id-allkiri-java-pin4.gif

ja seejärel tuleb ära oodata pisut eksitav tühi aken, kus tuleb valida Cancel

Id-allkiri-java-pin3.gif

ning seejärel valides Allkirjasta öeldakse, et loetakse andmeid kiipkaardilt ning küsitakse PIN2 koodi

Id-allkiri-java-pin2.gif

Allkirjastamise ajal töötab java rakendus sun.plugin2.main.client.PluginMain

 $ ps aux | grep java
 mart 6859 10.1 4.7 242668 48832 ? Sl 10:55 0:04 /usr/lib/jvm/java-6-sun-1.6.0.12/jre/bin/java -D__jvm_launched=5951554477 \
   -Xbootclasspath/a:/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/deploy.jar:/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/javaws.jar:\
   /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/plugin.jar -Djava.class.path=/usr/lib/jvm/java-6-sun-1.6.0.12/jre/classes \ 
   sun.plugin2.main.client.PluginMain write_pipe_name=/tmp/.com.sun.deploy.net.socket.5659.2862701817965363267.AF_UNIX
Allkirjastamine Sertifitseerimiskeskuse digidoc.sk.ee portaalis

https://digidoc.sk.ee/ portaal võimaldab veebipõhises keskkonnas sooritada digitaalallkirjastamisega seotud protseduure, nt anda allkirja, kontrollida allkirja ja jagada sama dokumenti teiste portaali kasutajatega selleks, et ühte dokumenti saaks allkirjastada mitu osapoolt. Portaali sisenemisel avaneb kasutuskeskkonnale sarnane vaade, süsteemi on laaditud kaks dokumenti, ühel on üks allkiri ja teisel ei ole ühtegi allkirja

Digidoc-1.gif

Keskkonna kasutamine võiks toimuda suhteliselt intuatiivselt, dokumenti allkirjastamisel tuleb täita sarnased lahtrid nagu nn lokaalset digidoc klienti kasutades

Digidoc-2.gif

Allkirjastamisel küsitakse kasutajalt PIN2 koodi

Digidoc-3.gif

https://digidoc.sk.ee/ keskkonnas ei saa tegeleda krüptitud dokumentidega ehk nn .cdoc failidega.

Allkirjastamine riigiportaalis www.eesti.ee

Aadressil https://www.eesti.ee/ asuvas riigiportaalis sektsioonis

 Kodanikule -> Digitaalallkiri

saab veebipõhises keskkonnas sooritada digitaalallkirjastamisega seotud protseduure, nt anda allkirja, kontrollida allkirja ja jagada sama dokumenti teiste portaali kasutajatega selleks, et ühte dokumenti saaks allkirjastada mitu osapoolt.

Portaali Digiallkirja sektsiooni sisenemisel avaneb kasutuskeskkonnale sarnane vaade, süsteemi on laaditud kaks dokumenti, ühel on üks allkiri ja teisel ei ole ühtegi allkirja

Riigiportaal-digiallkiri-1.gif

Keskkonna kasutamine võiks toimuda suhteliselt intuatiivselt, dokumendi allkirjastamisel tuleb täita sarnased lahtrid nagu nn lokaalset digidoc klienti kasutades, PIN2 sisestamine toimub Java appleti abil, sarnaselt

Riigiportaal-digiallkiri-2.gif

Riigiportaalis ei saa tegeleda krüptitud dokumentidega ehk nn .cdoc failidega.

Icedove postikliendi kasutamine

Lisaks nö tavalistele e-kirjadele on võimalik moodustada spetsiaalsete lisaomadustega kirju

  • allkirjastatud kiri - kirja saatja moodustab allkirja oma salajase võtmega; kirja saaja saab olla kindel, et kiri on saadetud just selle kasutaja poolt kelle sertifikaadi (avaliku võtme) abil õnnestub kirja autentsust kontrollida; kirja sisu on kõigile avalik, kuid kirjale on nö attachmentiga sarnaselt juurde digitaalse allkirja osa; oluline erinevus nö .ddoc allkirjastamisest on, et reeglina ei kasutata seejuures Sertifitseerimiskeskusest saadud kehtivuskinnitust
  • krüptitud kiri - kirja saatja krüptib kirja adressaadi avaliku võtmega (sertifikaadiga); kirja saatja saab olla kindel, et mitte keegi peale selle kasutaja, kelle kasutuses on vastav salajane võti saab kirja sisuga tutvuda

Tuleb arvestada, et eposti allkirjastamine ja krüptimine omab tähendust ainult epostiga tegelemisel ning kuigi see tehnika pakub võimaluse täiendava turvalisuse saavutamiseks ei ole tegu Eesti Vabariigi seaduse mõttes kehtiva digitaalselt allkirjastatud dokumendiga juba seetõttu, et mõlemal juhul kasutatakse autentimise sertifikaati.

Kirja krüptimisel ei ole see tingimata oluline, aga allkirjastamiseks Eesti ID-kaardil asuva autentimise sertifikaadile vastava salajase võtmega eeltingimuseks on, et kasutaja on oma postiprogrammis kirjeldanud tema sertifikaadil leiduva postiaadressiga seotud konto. Sertifikaadile märgitud postiaadressi saab küsida sertifikaadilt öeldes

 $ openssl x509 -in imreoolberg-autentimise-sertifikaat.pub -noout -email
 imre.oolberg@eesti.ee

Iceweasel programmi ID-kaardiga kasutamise ettevalmistamiseks tuleb avada

 Edit -> Preferences -> Advanced -> Certificates -> Security devices -> Load

ning kirjeldada Eesti ID-kaardile vastava turvaseade (ingl. k. security device)

 Module Name: esteid
 Module filename: /usr/lib/onepin-opensc-pkcs11.so

Lisaks tuleb laadida Icedove'i SK juursertifikaat, ESTEID-SK ja ESTEID-SK 2007 sertifikaadid, mis saab kopeerida http://www.sk.ee/ (Avaleht -> Sertifitseerimine -> Baasinfo -> Juursertifikaadid) veebikohast

 Edit -> Preferences -> Advanced -> Certificates -> View Certificates -> Authorities -> Import

Kusjuures tuleb kindlasti vastata jaatavalt küsimusele, et neid usaldatakse eposti jaoks kasutamiseks

Id-sign-0.gif

Seejärel tuleb Icedove'is seoses nn @eesti.ee aadressiga, nt imre.oolberg@eesti.ee, kirjeldatud konto juures näidata, milliseid sertifikaate kasutatakse eposti allkirjastamise ning krüptimise juures, valida ülemine Select (Digital Signing)

Id-sign-1.gif

Peale PIN1 koodi sisestamist esitab arvuti valitud sertifikaadi andmed

Id-sign-2.gif

Valides järgmisena Encryption juures Select küsib arvuti, kas ma soovin kasutada sama sertifikaati (õigemini sama sertifikaadiga seotud salajast võtit) teiste kasutajate poolt mulle saadetud krüptitud kirjade (mis on krüptitud minu avaliku võtmega) lahtikürptimiseks, sobib vastata jaatavalt.

Icedove postikliendi kasutamine eposti allkirjastamiseks

Kirja saatmine toimub tavapäraselt ainukese erinevusega, et enne kirja saatmist tuleb valida Security alt

 Digitally Sign This Message

Id-sign-3-1.gif

Kirja saajal peab olema postiprogrammi laaditud vähemalt SK juursertifikaat (sellest piisab allkirja kontrollimiseks, sest signatuur sisaldab ka allkirjastaja sertifikaati ning ahelat SK juursertifikaadini ja brauseris oleva SK juursertifikaadiga saab seega tuvastada kasutaja allkirja kehtivust) abil ning kiri pasitab sellisena

Id-sign-3-2.gif

Messsage Security aken avaneb vajutades programmiakna paremas servas asuvale kollane-punane värvi ümbriku kujutisele ja ütleb, et vaatlusalune kiri on allkirjastatud (ingl. k. signed) ning allkiri (ingl. k. signature) on kehtiv. St kirja saaja saab olla kindel, et kiri on saadetud selle poolt, kelle kasutada on allkirja kontrollimisel kasutatud sertifikaadile vastav salajane võti.

Icedove postikliendi kasutamine eposti krüptimiseks

Eposti krüptimine toimub adressaadi Eesti ID-kaardi autentimise avaliku võtmega, mis tähendab, et keegi teine peale vastava salajase võtme valdaja ei saa sõnumi teksti sisuga tutvuda. Kirja saatmisel tuleb valida

 Security -> Encrypt This Message

Id-sign-3-3.gif

Kirja lugemisel peab olema võimalik kasutada ID-kaarti ning tulemus võiks paista sarnane

Id-sign-3-4.gif

Security Message aken avaneb vajutades programmiakna paremas servas asuvale tabaluku kujutisele ja ütleb, et kiri on krüptitud ning selle sisuga on peale adressaadi teistel kasutajatel ülimalt raske tutvuda.

Kui krüptitud kirja adressaadil on ID-kaardi kasutamine seadistamata, siis esitab programm kasutajale veateadet

 Icedove cannot decrypt this message
 
 The sender encrypted this message to you using one of your digital certificates, however Icedove was not able to find 
 this certificate and corresponding private key.
 
 Possible solutions:
 
   * If you have a smartcard, please insert it now.
   * If you are using a new machine, or if you are using a new Icedove profile, you will need to restore your certificate 
     and private key from a backup. Certificate backups usually end in ".p12".

Krüptimisel tuleb arvestada, et kirja päised sh Message-ID, Date, From, To, Subject jt ei ole krüptitud

 ..
 Message-ID: <49B277C9.8010303@eesti.ee>
 Date: Sat, 07 Mar 2009 15:34:01 +0200
 From: Imre Oolberg <imre.oolberg@eesti.ee>
 User-Agent: Mozilla-Thunderbird 2.0.0.19 (X11/20090103)
 MIME-Version: 1.0
 To: imre.oolberg@eesti.ee
 Subject: eesti muld ja eesti =?ISO-8859-1?Q?s=FCda?=
 Content-Type: application/x-pkcs7-mime; name="smime.p7m"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename="smime.p7m"
 Content-Description: S/MIME Encrypted Message
 
 MIAGCSqGSIb3DQEHA6CAMIACAQAxgf0wgfoCAQAwYzBbMQswCQYDVQQGEwJFRTEiMCAGA1UE
 ChMZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEPMA0GA1UECxMGRVNURUlEMRcwFQYDVQQD
 Ew5FU1RFSUQtU0sgMjAwNwIESIQxaDANBgkqhkiG9w0BAQEFAASBgB4isztO9MjE1ZQUzA7e
 U1E0YTQZF0nIW4b46Nn/Be+DtUgzZWyZjgln4YxqQ7vDWPJiFNJTqdLjNCPGb6WEJ7ddZJGp
 hM/z+tyCNHrXP6DbvjtmF9qJ9WgvyiqHyQMr8FKRCnLdcj70G+N0EzFnsMq4QsvLi6PHaE7v
 rWGWq1ynMIAGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQInoBpNLI3/IOggASCAijikH35Tqn9
 ..

Teiste kasutajate sertifikaatide kasutamine

Selleks, et

  • saata teisele @eesti.ee postisüsteemi kasutajale krüptitud kirja
  • kontrollida teise @eesti.ee postisüsteemi kasutaja poolt saadetud allkirjastatud kirja allkirja

peab olema Icedove'i laaditud teise kasutaja avalik võti, mis esineb nn autentimise sertifikaadi kujul. Selleks tuleb teades kasutaja isikukoodi kopeerida sertifikaadid ldap.sk.ee serverist, nt

 $ ldapsearch -LLL -H ldap://ldap.sk.ee -x -b "c=EE" "(serialNumber=37003212713)"

Salvestada esimesele sertifikaadile vastav tekstiosa st

 ...
 userCertificate;binary:: MIID2jCCAsKgAwIBAgIESIQxaTANBgkqhkiG9w0BAQUFADBbMQswC
 ..
 cOXVX08WgFeVtlH1S6AeDIuY1i/EIngiAUV
 ....

tekstifaili, alates MIID2.. osast, tekstifail peab algama ja lõppema spetsiaalse tunnusega, kokku peab saama sarnane fail

 -----BEGIN CERTIFICATE-----
 MIID2jCCAsKgAwIBAgIESIQxaTANBgkqhkiG9w0BAQUFADBbMQswC
 ..
 cOXVX08WgFeVtlH1S6AeDIuY1i/EIngiAUV
 -----END CERTIFICATE-----

Ning see fail tuleb laadida Icedove'i valides

 Edit -> Preferences -> Advanced -> Certificates -> View Certificates -> Other People's -> Import

Seejärel saab saada sertifikaadis näidatud eposti aadressile krüptitud posti ning samuti kontrollida selle kasutaja poolt allkirjastatud eposti signatuuri.

Kui on võimalik, siis saab teise kasutaja isikutuvastuse sertifikaadi postiklienti laadimiseks kasutada ka lihtsamat protseduuri. Nimelt, piisab kui teine kasutaja saadab esmalt signeeritud kirja ning see kiri postikliendiga avada. Sel juhul salvestatakse sertifikaat automaaselt postikliendi Other people's sertifikaatide hoidlasse.

Üldiselt võib üks ja sama kiri olla samaaegselt nii signeeritud kui ka krüptitud.

@eesti.ee aadresside kasutamine

Kuna Eesti ID-kaardi autentimise sertifikaadile vastava avaliku võtmega kürptitud kirju saab saata tingimusel, et adressaadiks on sertifikaadis esitatud aadress, mis on kujul

 eesnimi.perekonnanimi@eesti.ee

või kui sama ees-ja perekonnanimega kasutajaid oma rohkem kui üks, siis järgmistele aadressidele on perekonnanime järele lisatud arv

 eesnimi.perekonnanimi.1@eesti.ee

siis oleks hea kui sellistele aadressidele saadetud kirjad mugavasti adressaadi postkasti jõuaksid.

Käesolev asjakorraldus võimaldab Eesti ID-kaardi omanikel aadressil http://www.eesti.ee/ asuvas riigiportaalis seadistada, kuhu tema @eesti.ee aadressile saadetud kirjad edasi saadetakse. Tavaliselt on selleks nt mail.ee, gmail.com vms teenusepakkuja postkastiga seotud eposti aadress.

Kuigi tehniliselt teeb @eesti.ee aadressi kasutamine mugavaks signeeritud ja krüptitud kirjade vahetamise, töötab see ka nö tavaliste kirjade puhul.

Kusjuures varasemal ajal on kasutatud ID-kaardi autentimise sertifikaadis ka aadressi kujul, kus nnnn on neljakohaline arv

 eesnimi.perekonnanimi_nnnn@eesti.ee

Lisaks, @eesti.ee postisüsteem võimaldab seadistada kasutajal omale edasisuunamise aadressi aadressile

 isikukood@eesti.ee

kuid kuna see aadress ei esine sertifikaadis, siis ei ole võimalik seda kasutada eposti allkirjastamisel ega krüptimisel.

Sertifikaadi kehtivuse kontrollimine

Avaliku võtme infrastruktuuri üheks ülesandeks on hallata kasutajate sertifikaate sh mitmetel põhjusel sertifikaat kehtetuks kuulutada. Seega, sertifikaadi kasutamisel on oluline kontrollida, kas sertifikaat kasutamise ajal kehtib, seda saab teha SK OCSP (Online Certificate Status Protocol) abil öeldes

 $ openssl ocsp -issuer esteid.pem -cert idkaardiltsert.pem -url http://ocsp.sk.ee -noverify -text
 OCSP Request Data:
   Version: 1 (0x0)
   Requestor List:
       Certificate ID:
         Hash Algorithm: sha1
         Issuer Name Hash: 4508A41C355C0A72485FE2DF7B6A6788C6A55022
         Issuer Key Hash: 4806DEBE8C875795807863FA9C232B2BA03A1875
         Serial Number: 48843168
   Request Extensions:
       OCSP Nonce: 
           0410090A1FA4F0555E82C1DFB4722FC61696
 OCSP Response Data:
   OCSP Response Status: successful (0x0)
   Response Type: Basic OCSP Response
   Version: 1 (0x0)
   Responder Id: C = EE, O = ESTEID, OU = OCSP, CN = ESTEID-SK 2007 OCSP RESPONDER, emailAddress = pki@sk.ee
   Produced At: Oct  7 22:15:36 2008 GMT
   Responses:
   Certificate ID:
     Hash Algorithm: sha1
     Issuer Name Hash: 4508A41C355C0A72485FE2DF7B6A6788C6A55022
     Issuer Key Hash: 4806DEBE8C875795807863FA9C232B2BA03A1875
     Serial Number: 48843168
   Cert Status: good
   This Update: Oct  7 22:15:36 2008 GMT
 
   Response Extensions:
       OCSP Nonce: 
           0410090A1FA4F0555E82C1DFB4722FC61696
 cert.pem: good
       This Update: Oct  7 22:15:36 2008 GMT

Kus esteid.pem sertifikaadi saab kopeerida SK veebikohast.

ID-kaardi kasutamine chroot keskkonnast

Märkus: 20090314 stabiilne Debian Lenny sisaldab sun-java6-plugin paketti.

Üks praktiline vajadus kasutada ID-kaarti chroot programmiga moodustatud chroot keskkonnast oleks 64 bit Debiani operatsioonisüsteemis kasutada 32 bit Iceweaselit'i. Põhjusel, et 32 bit arhitektuurile on olemas Iceweaseli java plugin (pakett sun-java6-plugin), aga 64 bitile seda 2008 aastal pole. Omakorda on java vajalik, et saaks nt SEB pangas allkirjastada st sooritada ülekannet.

Tundub, et kui arvutile külge ühendatud ID-kaarti on tarvis kasutada chroot käsu abil moodustatud chroot keskkonnast, siis tuleb öelda (pcscd deemon töötab nn absoluutses arvutis)

 # mount --bind /var/run/pcscd /srv/arvuti-32/var/run/pcscd

ning seejärel tuleb käivitada iceweasel nt selliselt läbi sudo

 $ sudo /usr/sbin/chroot /srv/arvuti-32 iceweasel

Selleks, et chroot keskkonnas käivitatud iceweasel saaks näidata oma pilti X serverile tuleb xhost käsuga kaasa aidata, nt öelda

 $ xhost +iceweaseliarvutinimi

kusjuures ilma argumentideta xhost näitab, millistest arvutitest on võimalik X serveri poole pöörduda.

Kirjeldatud asjakorralduse puhul ei ole tarvis chroot keskkonda ühendada külge mingeid muid failisüsteeme (nt /proc, /sys) ega käivitada seal deemoneid pcscd vms.

Sudo töötamiseks on vajalik omakorda sellist sisu /etc/sudoers faili

 User_Alias CHROOT_USERS = mart
 Cmnd_Alias CHROOT_CMD = /usr/sbin/chroot
 Host_Alias MORAAL = arvuti
 CHROOT_USERS MORAAL = (root) NOPASSWD: CHROOT_CMD

Milliseid turvariske selline asjakorraldus tema jaoks toob peab iga kasutaja ise hindama, eriti seoses X serverile ligipääsemisega kus on avatud ID-kaarti kasutav rakendus.

ID-kaardi kasutamine konsoolilt arvutisse sisselogimiseks

Arvutisse sisselogimise kontrollimist on võimalik korraldada ID-kaardi isikutuvastuse sertifikaadiga. Ehk täpsemini, sisselogimisel peab kasutaja tõendama, et ta saab kasutada isikutuvastuse sertifikaadile vastavat salajast võtit ja seda ta teeb PIN1 koodi sisestamise teel.

Tööleseadistatud süsteemi kasutamine näeb välja mitte-graafilise konsooli (tõenäoliselt mingi getty) kasutamisel selliselt, tulemusena on kasutaja süsteemi sisse loginud, nt juurkasutaja

 Debian GNU/Linux 5.0 arvutinimi tty4
 
 arvutinimi login: root
 Please insert your smart card or enter your username.
 Smart card inserted.
 Welcome to ID-kaart (PIN1, Isikutuvastus)!
 Smart card password:
 ...
 
 bash#

Sellise asjakorralduse tööleseadmiseks tuleb üldiselt ID-kaart arvutiga ära ühendada nii nagu on ülal punktis 'Kaardilugeja ühendamine operatsioonisüsteemiga' kirjeldatud ning seejärel

  • seadistada sisselogimise kontrolli süsteemne osa
  • seadistada sisselogimise kontrolli kasutajaspetsiifiline osa

Süsteemi ettevalmistamine

Süsteemi ettevalmistamiseks tuleb lisaks paigaldada pakett libpam-pkcs11

# apt-get install libpam-pkcs11

Seejärel moodustada kataloog /etc/pam_pkcs11, sinna näidise eeskujul seadistusfail

# mkdir /etc/pam_pkcs11
# zcat /usr/share/doc/libpam-pkcs11/examples/pam_pkcs11.conf.gz > /etc/pam_pkcs11/pam_pkcs11.conf
# zcat /usr/share/doc/libpam-pkcs11/examples/pam_pkcs11.conf.gz > /etc/pam_pkcs11/pam_pkcs11.conf-orig

ja teha seadistusfailis sellised muudatused

 # diff pam_pkcs11.conf pam_pkcs11.conf-orig
 85,86c85
 <     # module = /usr/lib/pam_pkcs11/pkcs11_module.so;
 <     module = /usr/lib/opensc-pkcs11.so;
 ---
 >     module = /usr/lib/pam_pkcs11/pkcs11_module.so;
 116c115
 <   use_mappers = opensc, digest, cn, pwent, uid, mail, subject, null;
 ---
 >   use_mappers = digest, cn, pwent, uid, mail, subject, null;
 122,123c121
 < #  mapper_search_path = /usr/lib/pam_pkcs11;
 <   mapper_search_path = /lib/pam_pkcs11;
 ---
 >   mapper_search_path = /usr/lib/pam_pkcs11;
 160,161c158
 < #     module = /usr/lib/pam_pkcs11/opensc_mapper.so;
 <         module = /lib/pam_pkcs11/opensc_mapper.so
 ---
 >       module = /usr/lib/pam_pkcs11/opensc_mapper.so;

SK sertifikaatide kopeerimine ja nn hash linkide moodustmine toimub selliselt (eeldusel, et kasutaja isikutuvastuse sertifikaat on antud välja ESTEID-SK 2007 sertifikaadi suhtes)

 # mkdir /etc/pam_pkcs11/cacerts
 # cd /etc/pam_pkcs11/cacerts
 # wget http://www.sk.ee/files/JUUR-SK.PEM.cer -O JUUR-SK.PEM.pem
 # wget http://www.sk.ee/files/ESTEID-SK%202007.PEM.cer -O ESTEID-SK%202007.PEM.pem
 # c_rehash .

Tulemus

 # find . -ls 
 183909    4 drwxr-xr-x   2 root     root         4096 Mar 15 12:28 .
 183911    4 -rw-r--r--   1 root     root         1404 Jan  3  2007 ./ESTEID-SK\ 2007.PEM.pem
 183910    4 -rw-r--r--   1 root     root         1790 Feb  6  2006 ./JUUR-SK.PEM.pem
 183913    0 lrwxrwxrwx   1 root     root           15 Mar 15 12:28 ./119afc2e.0 -> JUUR-SK.PEM.pem
 183912    0 lrwxrwxrwx   1 root     root           22 Mar 15 12:28 ./590f5e9e.0 -> ESTEID-SK\ 2007.PEM.pem

Lõpuks tuleb kirjeldada PAM mooduli seadistusfailis uus autentimisviis lisades faili /etc/pam.d/common-auth juurde esimeseks reaks

 auth sufficient pam_pkcs11.so nullok

Kasutajakeskkonna ettevalmistamine

Selleks, et konktreene kasutaja, nt juurkasutaja saaks süsteemi siseneda tuleb moodustada kataloog

 # mkdir /root/.eid

ning kopeerida ID-kaardilt isikutuvastuse sertifikaat faili /root/.eid/authorized_certificates

 # pkcs15-tool -r 01 > /root/.eid/authorized_certificates

Eesti ID-kaardi kasutamine OpenVPN lahendusega

OpenVPN pala tekstis http://kuutorvaja.eenet.ee/wiki/OpenVPN_ja_Eesti_ID-kaardi_kasutamine on kirjeldatud, kuidas kasutada Eesti ID-kaarti VPN kasutajate autentimiseks.

Eesti ID-kaardi kasutamine GnuPG-2 tarkvaraga

Märkmed Eesti ID-kaardi võimalikust kasutamisest GnuPG-2 tarkvaraga, mis kahjuks ei vii tulemuseni, aga võimalik, et ühel päeval viivad, http://kuutorvaja.eenet.ee/wiki/GnuPG_kasutamine_Debianiga#Eesti_ID-kaardi_kasutamine_GnuPG-2_tarkvaraga

ID-kaardi koodide muutmine

ID-kaardi isikutuvastuse ja allkirjastamise võtmete kasutamist kaitstakse koodidega, vastavalt PIN1 ja PIN2 koodid. Lisaks on kasutusel PUK kood, mille abil saab PIN1 ja PIN2 koodi vajadusel muuta, näiteks kui mõni PIN kood on saanud teatavaks kellelegi teisele või mõni PIN kood on ära ununenud. Kui sooritada kolm järjestikulist ebaõnnestunud koodi sisestamist, siis ligipääs kõnelusele salajasele võtmele lukustatakse, st et enne kui seda saab uuesti kasutada, tuleb ligipääs võtmele PUK koodi abil lahti lukustada.

ID-kaardi PIN koodide lahtilukustamiseks sobib kasutada pkcs15-tool utiliiti, nt öelda PIN 1 koodi lahtilukustamiseks

 # pkcs15-tool --unblock-pin -a 1
 Enter PUK [PIN1, Isikutuvastus]: 
 Enter new PIN [PIN1, Isikutuvastus]: 
 Enter new PIN again [PIN1, Isikutuvastus]:

Muud käsud:

PIN1 koodi muutmiseks

 # pkcs15-tool --change-pin -a 1

PIN2 koodi muutmiseks

 # pkcs15-tool --change-pin -a 2

PIN2 koodi lahtilukustamiseks

 # pkcs15-tool --unblock-pin -a 2

PUK koodi muutmiseks

 # pkcs15-tool --change-pin -a 3

Kui aga PUK kood on kadunud, siis saab ID-kaarti kasutada seni kuni pole tarvis PIN koode muuta, vastasel korral tuleb teeninduspunktist, nt pangas paluda paigaldada ID-kaardile uus nn ümbrik.

e-valimistel osalemine

e-valimistel osalemiseks tuleb valimiste veebikohta sisse logida ning kopeerida lokaalselt töötav rakendus. Kävitamisel paistab selline pilt

Evalimised-2009-1.gif

Mobiil-ID

Mobiil-ID tehnika võimaldab kasutada mobiiltelefoni sarnaselt ID-kaardile, mobiil-ID toimimist on kirjeldatud aadressil http://www.id.ee/10958

ID-kaardi rakenduste arendamine

ID-kaardi rakenduste arendajale on Sertifitseerimiskeskus tekitanud projekti OpenXades aadressil http://www.openxades.org/

  • saab testida id-kaardiga allkirjastamist vastu test digidocservice teenust (selleks tuleb üles laadida oma sertifikaadid)
  • saab testida mobiil-id kaardi kasutamist (selleks tuleb üles laadida oma sertifikaadid)

Eesti ID-kaardi tarkvara arendus 2009

Smartlink arendab RIA tellimusel 2009 aastal Eesti ID-kaardi kasutamise tarkvara https://id.eesti.ee/idtrac/, mis sisaldab muu hulgas kasutaja töökohaarvutis kasutamiseks graafilise kasutajaliidesega programme

  • qesteidutil - ID-kaardi haldamise tarkvara, sertifikaatide kehtivuse kontroll, PIN koodide muutmine, sertifikaatide uuendamine jms
  • qdigidocclient - andmete allkirjastamine ja allkirjade kontrollimine, st nn .ddoc ja .bdoc failidega tegelemine
  • qdigidoccrypto - andmete krüptimine teise ID-kaardi kasutaja avaliku võtmega, st .cdoc failidega tegelemine

Lisaks asendab Smartlink lahendus Debian Lenny nö ametlikust tarkvarast sellised paketid

  • libopensc2 - OpenSC teek
  • opensc - OpenSC utiliidid, kuigi selle paketi paigaldamine ei ole lõppkasutaja seisukohast tingimata vajalik (seal sisaldub nt pkcs15-tool utiliit)

2009 aasta juuli keskel on see selle tarkvara arendusetapp lõpule jõudmas ning praktiselt saab tarkvara võimalustega tutvuda ja tasakesi kasutada.

Tarkvara paigaldamine

Kõnealune lahendus kasutab eraldiseisvalt eksisteerivaid OpenSC teeke (pakett libopensc2, seadistusfail /etc/opensc/opensc.conf) ning PC/SC vahendeid (pakett pcscd), Eesti ID-kaardi tarkvara paigaldamiseks tuleb lisada /etc/apt/sources.list faili rida

 deb ftp://ftp.smartlink.ee/pub/id/debian/ lenny main

usaldada Smartlinki repositooriumi Release faili võtit

 # wget ftp://ftp.smartlink.ee/pub/id/apt-esteid-test.gpg.asc
 # apt-key add apt-esteid-test.gpg.asc
 OK

NB! 20090928 seisuga selle repo kasutamisel asendatakse Debian Lenny nö enda opensc jt teeke ära Smartlinki omadega ja tulemusena ID-kaarti ei saa kasutada, vähemalt mitte ilma vajalike muudatusteta.

Tarkvara paigaldamiseks tuleb öelda

 # apt-get install qesteidutil qdigidoc

paigaldatakse neli kõnealuse arendusega seotud paketti ning vajadusel sõltuvustena ka OpenSC, PC/SC jm tarkvara

  • qesteidutil - Eesti ID-kaardi haldusvahend qesteidutil
  • qdigidoc - programmid qdigidocclient ja qdigidoccrypto
  • libdigidoc2 - nn vana teek, käsurealt kasutatav utiliit cdigidoc
  • libdigidocpp0 - nn uus teek

Tarkvara kasutamiseks tuleb OpenSC ja PC/SC seada käima nii nagu on käesoleva pala alguses punktis Eesti ID-kaardi kasutamine Debianiga#Kaardilugeja ühendamine operatsioonisüsteemiga kirjeldatud.

Eesti ID-kaardi haldusvahend

Eesti ID kaardi haldusvahendi qesteidutil kasutamiseks tuleb käivitada programm, nt valides menüüst või XTerm aknas öeldes

 $ qesteidutil

ning avaneb aken

Qesteidutil-1.gif

Kasutajaliideses esitatud pilt kopeeritakse riigiportaali www.eesti.ee süsteemi kaudu üle X-tee KMA andmekogust.

Digidoc klient

Qt teeke kasutava Digidoc kliendi qdigidocclient käivitamiseks tuleb käivitada programm nt valides menüüst või XTerm aknas öeldes

 $ qdigidocclient

ning avaneb aken

Qdigidocclient-1.gif

Krüptimise utiliidi saab käivitada öeldes

 $ qdigidoccrypto

ning avaneb pilt

Qdigidoccrypto-1.gif

Utiliit sisalab LDAP klienti, millega saab teades teise kasutaja isikukoodi kopeerida Sertifitseerimiskeskuse LDAP kataloogist tema isikutuvastuse sertifikaadi.

cdigidoc utiliit

Paketi libdigidoc2 koosseisus on utiliit cdigidoc, millega saab käsurealt DigiDoc failidega töötada, näiteks fail.cdoc lahtikrüptimiseks sobib öelda

 $ cdigidoc -decrypt fail.cdoc PIN_KOOD -out fail.ddoc

Faili fail.ddoc seest esimene faili nimega sisufail.txt konteinerist välja kopeerimiseks sobib öelda

 $ cdigidoc -extract D0 sisufail.txt -in fail.ddoc

Ilma argumentideta käsk väljastab abi

 $ cdigidoc 
 USAGE: cdigidoc <command(s)> [-in <input-file>] [-out <output-file>] [-config <config-file>]
 COMMANDS:
       [-new] [format] [version]
       -check-cert <-cerificate-file-name (PEM format)>
       -add <file-name> <mime-type> [<content-type>] [<charset>]
       -verify 
       -list 
       -sign <pin> [<manifest>] [<city> <state> <zip> <country>]
       -extract <doc-id> <file-name> [<charset>] [<file-name-charset>]
       -encrypt <file-name>
       -encrecv <cert-file> [<recipient>] [<keyname>] [<carried-key-name>]
       -decrypt <file-name> <pin1>
       -denc-list <file-name>
       -encrypt-file <in-file-name> <out-file-name> [<in-file-mime-type>]
       -decrypt-file <in-file-name> <out-file-name> <pin1>
       -calc-sign <cert-file> [<manifest>] [<city> <state> <zip> <country>]
       -add-sign-value <sign-value-file> <sign-id>
       -del-sign <sign-id>
       -get-confirmation <sign-id>
 OPTIONS:
       -cgimode [<ouput-separator] - output in CGI mode
       -SAX - use SAX parser
       -XRDR - use XmlReader parser

Märkused

20090714 seisuga tehtud tähelepanekud

  • programmidel puuduvad manuaalid (ingl. k. manpage) ning praktiliselt dokumentatsioon kataloogis /usr/share/doc/paketinimi
  • paketihalduse nimekirjas esineb ka pakett qdigidoccrypto, mida asendab qdigidoc, kui qdigidoc* pakettide traditsioon alles algab, äkki siis see 'Replaces' eemaldada
  • sõltuvustest ei paigaldata opensc paketti, mis iseenesest ei ole ka vajalik, vajalik on just libopensc2 teekide pakett
  • q* programmide kasutamisel tuleb olla kannatlik, kuigi esmalt teatab programm, et 'Ei leitud ühtegi ID-kaarti' voi 'Kaarti pole lugejas', siis tegelikult võidakse tegeleda alles kaardi otsimisega ja mõne sekundi pärast on kõik korras ja saab jätkata programmi kasutamist
  • q* programmide akendest ei saa alati hiirega teksti kopeerida
  • paketi libopensc2 seadistusfailis /etc/opensc/opensc.conf võiks parameetri muudatus toimuda ehk debconf dialoogi abil pakkudes kasutajale sobivat vaikeväärtust
 reader_drivers = openct, pcsc, ctapi; -> reader_drivers = pcsc, ctapi;
  • IP aadressipõhisel ocsp teenusele ligipääsu puhul küsitakse 'Did not find any server access certificate! Start downloading?'
  • Kas programmide töö lõpetamiseks on muid võimalusi peale akna sulgemise?

Eesti ID kaardi tarkvara v. 3.8 kasutamine 2014 suvel

Käesolevas punktis kirjeldatakse 2014 aasta suvel olemasolevate tarkvara komponentidega Eesti ID kaardi kasutamist (autentimist ja allkirjastamist)

  • Debian testing (Jessie) operatsioonisüsteem (32 või 64 bit, tõenäoliselt sarnaselt toimub paigaldamine-seadistamine-kasutamine ka muude Debiani versioonide ja Linux distributsioonidega)
  • Eesti ID kaardi tarkvara v. 3.8.0 Ubuntu v. 12.04 (Precise) paketid

Tulemusena saab

  • Chrome brauseriga autentida ja allkirjastada
  • ID kaardi haldusvahendiga pin koode hallata
  • lokaalse DigiDoc kliendiga allkirjastada ja krüptida

Juhised kehtivad

  • Chrome < v. 35 (tundub, et alates v. 35 on smart card autentimise tehnika oluliselt muutunud, väidetavalt Eesti ID kaardi tarkvara v. 3.9 teeb selle korda)
  • OpenSC kuni 0.12 ja kaasa arvatud (0.13 juures puudub brauseri kasutamist abistav onepin teek)

Tarkvara paigaldamine

Eeldusel, et arvutis on töötav kasutajakeskkond (XCFE, Gnome vms) ning Chrome brauser versioon < 35, lisada süsteemi üldotstarbelised paketid

# apt-get install opensc pcscd libccid libnss3-tools apt-transport-https

Kuna onepin-opensc-pkcs11.so teek on vajalik, aga opensc v. 0.13 tarkvaras puudub ning see on nt Debian v. 7 Wheezy paketihalduses v. 0.12 juures olemas (ja tundub, et sobib kasutada), siis aitab lisada /etc/apt/sources.list faili Debian v. 7 Wheezy repositoorium

deb http://ftp.us.debian.org/debian/ wheezy main contrib non-free

ning öelda 0.12 versiooni paigaldamiseks (downgrade'iks)

# apt-get update
# apt-get install opensc=0.12.2-3

Lisaks tuleb Wheezy pakettidest paigaldada

# apt-get -t wheezy install libxml-security-c16

Eesti ID kaardi tarkvara paigaldamise ettevalmistamiseks laadida võti

# wget -O /tmp/ria-public.key https://installer.id.ee/media/install-scripts/ria-public.key
# apt-key add /tmp/ria-public.key

lisada /etc/apt/sources.list faili rida

deb https://installer.id.ee/media/ubuntu/ precise main

ja tarvkara paigaldamiseks öelda

# apt-get update
# apt-get install estonianidcard qesteidutil esteidcerts esteidfirefoxplugin

ID kaardilugejaga suhtlemise kontrollimine

Peale tarkvara paigaldamist ja eeldusel, et lugeja on arvutiga ühendatud saab öelda

# opensc-tool -l
# Detected readers (pcsc)
Nr.  Card  Features  Name
0    Yes             SCM Microsystems Inc. SCR 331 [CCID Interface] (504005BE) 00 00

Kui lisaks on ID kaart on lugejas saab öelda (jms pkcs15-tool käske)

# pkcs15-tool -c
Using reader with a card: SCM Microsystems Inc. SCR 331 [CCID Interface] (504005BE) 00 00
X.509 Certificate [Isikutuvastus]
       Object Flags   : [0x0]
       Authority      : no
       Path           : 3f00eeeeaace
       ID             : 01
       Encoded serial : 02 10 3BF4F7CBE36A655050DC20A42E9EFBAA

X.509 Certificate [Allkirjastamine]
       Object Flags   : [0x0]
       Authority      : no
       Path           : 3f00eeeeddce
       ID             : 02
       Encoded serial : 02 10 0D1864A01391996750DC20AC1BF2FDE5

ID kaardi haldusvahend

Peale tarkvara paigaldamist maksab esmalt veenduda, et id kaardilugeja riistvara on ära tuntud ja kaart on üldiselt ligipääsetav. Selleks käivitada ID kaardi haldusvahend ja peab nägema oma sertifikaadiandmeid.

Interneti kasutamise olemasolul saab Lae pilt valikuga küsida rahvastikuregistris olevat pilti.

Chrome brauseriga autentimine ja allkirjastamine

Esmalt tuleb kord brauser käivitada, et kasutaja kodukataloogi tekiksid vajalikud nn punktifailid (~/.pki), seejärel brauseri protsessid lõpetada st brauseri sulgeda ning öelda sama kasutajana

$ modutil  -dbdir sql:$HOME/.pki/nssdb -delete opensc-pkcs11
$ modutil  -dbdir sql:$HOME/.pki/nssdb -add opensc-pkcs11 -libfile onepin-opensc-pkcs11.so -mechanisms FRIENDLY

kus

  • esimese käsu väljundiks on tõenäoliselt veateade kuna pole midagi kustutada
  • teise käsu väljundiks
...
Module "opensc-pkcs11" added to database.

Seejärel tuleb Chrome pluginate settingutest aadressilt chrome://plugins (sisestada nii aadressreale) seadistada EstEID plugin

  • Enabled
  • Always Allowed

Tulemusena paistab selline pilt

Chrome-esteid-2.gif

kust on näha, et kasutatakse paketis esteidfirefoxplugin olevat teeki

$ dpkg -S /usr/lib/mozilla/plugins/npesteid-firefox-plugin.so
esteidfirefoxplugin: /usr/lib/mozilla/plugins/npesteid-firefox-plugin.so

Autentimiseks sobib minna mõnda portaali, kus on võimaluda kasutaja autentmiseks ID kaardiga, nt https://www.eesti.ee/. Samas saab ka allkirjastada valides

Minu asjad -> Minu dokumendid

Katsetada sobib ka aadressil https://www.openxades.org/web_sign_demo/sign.html.

Firefox/Iceweasel brauseriga autentimine ja allkirjastamine

Kontrollida, et paketi esteidfirefoxplugin paigaldamisel tekkinud EstEID plugin on Always Activate olekus

about:addons -> Plugins -> EstEID plug-in -> More

ID kaardi kasutamiseks tuleb brauseri seadistustes kirjeldada onepin teek valides

Edit -> Preferences -> Advanced -> Certificates -> Security Devices -> Load

ja avanenud dialoogis sisestada nt

  • Module name - EstEID
  • Module filename - /usr/lib/x86_64-linux-gnu/onepin-opensc-pkcs11.so

kus mooduli asukoht failisüsteemis sõltub arhitektuurist jms natuke, find leiab üles

$ find /usr/ -name onepin\*
/usr/lib/x86_64-linux-gnu/onepin-opensc-pkcs11.so

Tulemusena saab ID kaardiga autentida ning allkirjastada.

Lokaalne DigiDoc klient

Tarkvara paigaldamise käigus paigaldati ka lokaalne DigiDoc klient. Esmakordsel käivitamisel pakutakse võimalust laadida Sertifitseerimiskeskuse kehtivuskinnituse kasutamiseks vastav juurdepääsutõend, millega saab allkirjastada kuni kümme korda kuus.

Probleemid

  • Kui allkirjastamisel küsitakse luba kahe plugina käivitamiseks (või öeldakse, et Java plugin on puudu)

Chrome-esteid-1.gif

siis on põhjuseks, et EstEID plugin ei ole seadistatud õieti. Peab olema valitud 'Always allowed'. Oluline on teada, et Java ei ole Chrome brauseriga allkirjastamisel reeglina vajalik.

Kasulikud lisamaterjalid

Eesti ID kaardi tarkvara v. 17.01.1686-1604 kasutamine 2017 kevadel

Käesolevas punktis käsitletakse Eesti ID kaardi tarkvara kasutamist operatsioonisüsteem Debian v. 9 Stretch keskkonnas. Debian jaoks üldiselt pakette ei valmistata, aga osutub, et saab kasutada Ubuntu v. 16.04 Xenial pakette.

Tööpõhimõte

TODO

Ettevalmistused

Kuna Ubuntu v. 16.04 Xenial libssl1.0.0 v. 1.0.2g paketis on ka v. 1.0.0 sümbolid

ubuntu-1604$ strings /lib/x86_64-linux-gnu/libssl.so.1.0.0 | grep ^OPENSSL_1
OPENSSL_1.0.0
OPENSSL_1.0.1
OPENSSL_1.0.1d
OPENSSL_1.0.2
OPENSSL_1.0.2g

ja Debian v. 9 Stretch libssl1.0.2 v. 1.0.2k paketis ei ole 1.0.0 sümboleid

debian-9$ strings /usr/lib/x86_64-linux-gnu/libssl.so.1.0.2 | grep ^OPENSSL_1
OPENSSL_1.0.2d
OPENSSL_1.0.2g

siis on vaja leida mingi workaround. Tundub, et kaaluda maksab

  • kopeerida internetist Ubuntu v. 16.04 Xenial libssl1.0.0 pakett ja kasutada sealt kahte teeki libssl.so.1.0.0 ja libcrypto.so.1.0.0 (selle lähenemise puuduseks on, et edaspidi vaevalt keegi viitsib neid teeke uuendada)
  • paigaldada Debian v. 8 Jessie libssl1.0.0 pakett, http://priit.joeruut.com/archives/Eesti-ID-kaardi-tarkvara-ehk-open-eid-v.-3.12-kasutamine-Debianis.html (lähenemise puuduseks on, et Debian v. 8 Jessie tugi lõpeb tõnäoliselt varem kui Ubuntu v. 16.04 Xenial, aga väga võimalik, et veel enne tekib Debian + ID kaardi kasutamiseks mingi normaalsem lahendus)

Ubuntu libssl1.0.0 paketi saab kopeerida aadressilt http://packages.ubuntu.com/search?keywords=libssl1.0.0&searchon=names&suite=xenial&section=all

Paketi lahti pakkimiseks sobib öelda

$ cd /var/tmp/libssl1.0.0-ubuntu
$ dpkg -x /home/imre/Downloads/libssl1.0.0_1.0.2g-1ubuntu4.6_amd64.deb .

ning (kuna selliste nimedega faili enne pole)

# cp libssl.so.1.0.0 libcrypto.so.1.0.0 /usr/lib/x86_64-linux-gnu

Selleks, et süsteemis oleks paketihalduse mõttes libssl1.0.0 nimeline pakett, sobib kasutada equivs abi

  • öelda
$ equivs-control libssl1.0.0
  • redigeerida natuke tekkinud faili
$ egrep -v "^$|^#" libssl1.0.0
Section: misc
Priority: optional
Standards-Version: 3.9.2
Package: libssl1.0.0
Version: 1.0.0
Maintainer: Imre <imre@auul.pri.ee>
Description: libssl1.0.0 abistaja
 Testime 
 .
 Testime 2
  • öelda
$ equivs-build libssl1.0.0
  • paigaldada (kuidagi ta paigaldatakse vaatamata signatuuri puudumisele jms)
# dpkg -i libssl1.0.0_1.0.0_all.deb

Paigaldamine

# apt-key add failinimi
  • lisada apt source
# cat /etc/apt/sources.list.d/ria-repository.list 
deb http://installer.id.ee/media/ubuntu xenial main
  • värskendada
# apt-get update

ID kaardi tarkvara paigaldamiseks sobib öelda

# apt-get install open-eid

tulemusena tekib failisüsteemi

  • kümmekond paketti, enamus installer.id.ee pealt
  • /etc/X11/Xsession.d/95-esteid-update-nssdb - selle faili abil X konsoolil töötamise alguses nö korraldakse sobiv seis olulistest asjadest (mh öeldakse modutil jt käske)

Paigaldamise lõpus tuleb Desktop keskkonnast logida välja ja tagasi sisse selleks, et Xsession kasutaks nssdb osa.

ID kaardilugejaga suhtlemise kontrollimine

Peale tarkvara paigaldamist ja eeldusel, et lugeja on arvutiga ühendatud saab öelda

$ opensc-tool -l
# Detected readers (pcsc)
Nr.  Card  Features  Name
0    Yes             Gemalto PC Twin Reader (FB00DB62) 00 00

Kui lisaks on ID kaart on lugejas saab öelda (jms pkcs15-tool käske)

$ pkcs15-tool -c
Using reader with a card: Gemalto PC Twin Reader (FB00DB62) 00 00
X.509 Certificate [Isikutuvastus]
	Object Flags   : [0x0]
	Authority      : no
	Path           : 3f00eeeeaace
	ID             : 01
	Encoded serial : 02 10 775DD64056F35E7954C8CB3EFEB3C8EE
X.509 Certificate [Allkirjastamine]
	Object Flags   : [0x0]
	Authority      : no
	Path           : 3f00eeeeddce
	ID             : 02
	Encoded serial : 02 10 2D5E4D8F644E041454C8CB5236F7D2D6

ID kaardi haldusvahend

Peale tarkvara paigaldamist maksab esmalt veenduda, et id kaardilugeja riistvara on ära tuntud ja kaart on üldiselt ligipääsetav. Selleks käivitada ID kaardi haldusvahend ja peab nägema oma sertifikaadiandmeid.

Interneti kasutamise olemasolul saab Lae pilt valikuga küsida rahvastikuregistiris olevat pilti.

Chromium brauseriga autentimine ja allkirjastamine

Veenduda, et Chromiumil on olemas vastav plugin (see on kopeeritav ka üldisest Google Chrome extensions repositooriumist)

Chrome-esteid-3.gif

Tulemusena peab töötama autentimine ja allkirjastamine.

Firefox brauseriga autentimine ja allkirjastamine

TODO

  • Tundub, et autentimine töötab nö iseenesest.

Kasulikud lisamaterjalid

Eesti ID kaardi kasutamine - Ubuntu 16.04

Alustada aadressilt https://installer.id.ee/

# apt-key add ria-key1.pem
# apt-key add ria-key2.pem
# cat /etc/apt/sources.list.d/ria-repository.list
deb http://installer.id.ee/media/ubuntu xenial main
# apt-get update
# apt-get install open-eid

Kui lähtepunktiks on nö tavaline töökohaarvuti, siis lisanduvad paketid

chrome-token-signing esteidfirefoxplugin esteidpkcs11loader libccid libdigidoc-common libdigidoc-tools libdigidoc2 libdigidocpp-common libdigidocpp-tools
libdigidocpp1 libminizip1 libnss3-tools libxerces-c3.1 libxml-security-c17v5 libzip4 open-eid opensc opensc-pkcs11 pcscd qdigidoc qdigidoc-tera qesteidutil

Kasulikud lisamaterjalid

Eesti ID kaardi kasutamine - Ubuntu 18.04

Alustada aadressilt https://installer.id.ee/, st sarnaselt eelmisele punktile, aga paistab, et 2019 aasta alguses paketihaldus lõpetab veaga (postinstall skripti sisu on natuke vastuoluline). Seejärel sobib kasutada skripti /var/lib/dpkg/info/awp.postinst alguses exit

# cat /var/lib/dpkg/info/awp.postinst
#!/bin/bash

exit;
...

ning loksutada paketihaldust 'apt-get install -f' vms käskudega. Seejjärel qdigidoc4 utiliit töötab.

Selleks, et EID tarkvara töötaks Chrome brauseriga sobib kasutajana logida sisse desktop keskkonda (nt XFCE4) ja öelda

$ modutil  -dbdir sql:$HOME/.pki/nssdb -delete opensc-pkcs11
$ modutil  -dbdir sql:$HOME/.pki/nssdb -add opensc-pkcs11 -libfile onepin-opensc-pkcs11.so -mechanisms FRIENDLY

Seejärel Chrome brauseris peaks saama kasutada id kaarti autentimiseks ja allkirjastamiseks. Need kaks käsku võiks idee poolest automaatselt öeldada skripti /usr/bin/esteid-update-nssdb poolt, aga paistab, et millegipärast minul see nii ei ole (äkki XFCE4 desktop tarkvara ei tee koostööd)

$ cat /etc/xdg/autostart/chrome-pkcs11.desktop 
[Desktop Entry]
Type=Application
Name=Configure Chrome PKCS11
Exec=/usr/bin/esteid-update-nssdb
NoDisplay=true
X-GNOME-AutoRestart=true
X-GNOME-Autostart-Phase=Initialization

Kui kasutada on uus eid kaart (mitte uus ECC sertifikaat aga füüsiline uus kaart), siis tõenäoliselt on vajalik öelda awp.postinst skriptis sisalduvad sarnased käsud samuti.

Uue id kaardi käsurealt kasutamiseks sobib öelda

$ pkcs11-tool --module /usr/local/AWP/lib/libOcsPKCS11Wrapper.so --list-objects --type cert
Using slot 0 with a present token (0x0)
Certificate Object; type = X.509 cert
  label:      Authentication 01
  subject:    DN: C=EE, CN=OOLBERG,IMRE,37003212713, SN=OOLBERG, GN=IMRE/serialNumber=PNOEE-37003212713
  ID:         1242394aba4fab7e58d4f062a44f77b7edf3b577

ning

$ pkcs11-tool --module /usr/local/AWP/lib/libOcsPKCS11Wrapper.so --read-object  --id 1242394aba4fab7e58d4f062a44f77b7edf3b577 --type cert -o cert.der
Using slot 0 with a present token (0x0)

Tulemuse der -> pem teisenduseks

$ openssl x509 -inform DER -outform PEM -in cert.der -out cert.pem

Kasulikud lisamaterjalid

Test ID-kaart

Lisaks nö päris ID-kaartidele väljastab Sertifitseerimiskeskus teatud juhtumiteks ka test ID-kaarte, nt on seal kasutatav sertifikaat selline

 -----BEGIN CERTIFICATE-----
 MIIEazCCA1OgAwIBAgIESieIkDANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJF
 RTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEaMBgGA1UECxMR
 VGVzdHNlcnRpZmlrYWFkaWQxEDAOBgNVBAMTB1RFU1QtU0swHhcNMDkwNjA0MDg0
 MDQ4WhcNMTIwNDA3MTE0MjE3WjCBvTELMAkGA1UEBhMCRUUxFDASBgNVBAoTC1RF
 U1QtRVNURUlEMRcwFQYDVQQLEw5hdXRoZW50aWNhdGlvbjE9MDsGA1UEAx40AX0A
 QQBJAEsATwBWAFMASwBJACwASQBHAE8AUgAsADMANwAxADAAMQAwADEAMAAwADIA
 MTEbMBkGA1UEBB4SAX0AQQBJAEsATwBWAFMASwBJMQ0wCwYDVQQqEwRJR09SMRQw
 EgYDVQQFEwszNzEwMTAxMDAyMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
 tuYk/lFpCAKtKQPy1Bb1K9zNsMjJbRMJmHTnmlLBqtUs8OUWBHJJmKqlGzHwZ/UL
 JM8+CaFoXK1JWtvqhQ/rR6XUsch1KzwGgGyYFqT8BVJJEFNb6c+chR2gmNdVV/Ks
 X3jWNKxB0p7E/9p8MCyt9sNhViYDrDDraedq92JbtEkCAwsjwaOCAVIwggFOMA4G
 A1UdDwEB/wQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwMwYD
 VR0fBCwwKjAooCagJIYiaHR0cDovL3d3dy5zay5lZS9jcmxzL3Rlc3QvY3JsLmNy
 bDAkBgNVHREEHTAbgRlpZ29yLnphaWtvdnNraS4yQGVlc3RpLmVlMF0GA1UdIARW
 MFQwUgYLKwYBBAHOHwMBAQEwQzAeBggrBgEFBQcCAjASGhBUZXN0c2VydGlmaWth
 YXQuMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nwcy8wGAYIKwYBBQUH
 AQMEDDAKMAgGBgQAjkYBATAfBgNVHSMEGDAWgBQCBSfdqHKHt4LAWzkqf+M48vpS
 CTAdBgNVHQ4EFgQUX/PLzRnTyncYkG2a8JHv6GDmw5UwCQYDVR0TBAIwADANBgkq
 hkiG9w0BAQUFAAOCAQEAXWI1VL7Lhyi5JtwTUhlT9CimN/ImM45x6J6jwD9uyY5G
 rgdRGEK1Hgi+gj6Lylk6khADRQJi/KshNVPP7GTCpTj7qR05QQ8WI0lmNfDNUT2a
 HYhPyOK4J6IJ6RdAqizhSnHOOZxSWS6kN9ncVlRSJ5DF+IJgAjpcv30+2hz3tB20
 3cB+Ptoud2oxSjIHdBDwGuo/L065JtCtuJYwojdyzUDUZaNkwF+f44WL0IvFzHEu
 fSwpyHjZDuuZfiwL1N8COAPi0yODEm9PL1ntMpSwwqnG+PPUVlXIMzYytc0MqHD0
 5H 2AjWXfHNDc0oWr7CBV9HRLmpidJQtQCwoUt6Y2NA==
 -----END CERTIFICATE-----

Tekstikujul vaadatest on Issuer ja Subject väärtused

 # openssl x509 -in /tmp/zaikovski.pem -noout -text
 Certificate:
    Data:
         Version: 3 (0x2)
         Serial Number: 1244104848 (0x4a278890)
         Signature Algorithm: sha1WithRSAEncryption
         Issuer: C=EE, O=AS Sertifitseerimiskeskus, OU=Testsertifikaadid, CN=TEST-SK
         Validity
             Not Before: Jun  4 08:40:48 2009 GMT
             Not After : Apr  7 11:42:17 2012 GMT
         Subject: C=EE, O=TEST-ESTEID, OU=authentication, \
 CN=\x01}\x00A\x00I\x00K\x00O\x00V\x00S\x00K\x00I\x00,\x00I\x00G\x00O\x00R\x00,\x003\
 \x007\x001\x000\x001\x000\x001\x000\x000\x002\x001, SN=\x01}\x00A\x00I\x00K\x00O\x00V\x00S\
 \x00K\x00I, GN=IGOR/serialNumber=37101010021
 ...

Tundub, et kõigil test kaartidel on algselt samad pinid ja puk, mida saab muuta id kaardi utiliidiga, http://www.id.ee/index.php?id=30379

  • PIN1 kood - 0090
  • PIN2 kood - 01497
  • PUK kood - 17258403

Kaardilugeja firmware uuendamine

Kui kaardilugeja nö peaks töötama, aga ei tööta, siis mõnel juhul on otstarbekas kaaluda kaardilugeja firmware uuendamist. Nt SCR311 kaardilugeja puhul sobib selleks kasutada Windows 7 keskkonda, et uuendada 4. -> 5. versoonide vahel.

Kasulikud lisamaterjalid

Märkused

  • Kui brauser või postiklient lakkavad töötamast ID-kaardiga, siis maksab need programmid sulgeda ja samuti peatada pcscd deemon ning seejärel esmalt deemon ning siis rakendusprogrammi uuesti käivitada.
  • Kuivõrd ID-kaardi sertifikaadid kehtivad suhteliselt lühikest aega ning sertifikaatide uuendamisel praktiliselt kirjutatakse vanad sertifikaadid üle uutega, siis sobib ID-kaardi vahendeid andmete krüptimiseks kasutada nö turvalise transpordi sooritamiseks ja mitte andmete pikaajaliseks turvaliseks säilitamiseks. Lisaks on veel muid ohte, näiteks et ID-kaart rikneb füüsiliselt.

Sertifikaatide uuendamine

Sertifikaatide saab uuendada id kaarti utiliidiga, peale uuendamist näidatakse sellist pilti, tegevuse käigus küsitakse vana sertifikaadi PIN1

Qesteidutil-2.gif

TODO

  • ipsec lahenduse juures kasutamine

Kasulikud lisamaterjalid