Suomi on myöntänyt jo vuosia sirullista henkilökorttia, joka sisältää kansalaisvarmenteen. Kansalaisvarmenne on verkkoavain vahvaa tunnistamista vaativiin sähköisiin palveluihin. Se perustuu julkisen avaimen menetelmään (Public Key Infrastructure). Se sisältää muun muassa etu- ja sukunimen sekä sähköisen asiointitunnuksen.
Varmennetta voi käyttää a) tunnistautumiseen verkkopalvelussa, b) sähköiseen allekirjoitukseen. Firefoxilla tuntuu vain ensimmäinen onnistuvan ilman erillistä ohjelmistoa.
Jotta varmennetta voi käyttää verkkopalveluissa, on selaimen osattava kommunikoida kortinlukijan kanssa. Tämän vuoksi tässä käytetään firefoxia, jossa Security device -tuki on.
sudo aptitude install opensc pcsc-tools pcscd
Todennäköisesti pcscd
riittäisi, mutta
muut paketit ovat hyödyllisiä vianetsinnässä sekä
korttien kanssa leikkiessä.
Koneessani on
sisäänrakennettu kortinlukuja. Kortinlukija käynnistyy,
kun kortti asetetaan lukijaan. Jostain syystä kuitenkaan
näin ei ensimmäisellä kerralla tapahdu, mikäli
pcscd
on taustalla valmiiksi käynnissä
(käyttäjän oma prosessi). Siksi ensin se täytyy lopettaa
esimerkiksi tappamalla.
Aseta kortti lukijaan ja tämän jälkeen käynnistä konsolista
pcsc_scan
. Tämä käynnistää
pcscd
n automaattisesti, sekä näyttää tietoa
kortinlukijan käynnistymisestä.
shell~$ pcsc_scan PC/SC device scanner V 1.4.18 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr> Compiled with PC/SC lite version: 1.7.4 Using reader plug'n play mechanism Scanning present readers... 0: Broadcom 5880 [Contacted SmartCard] (0123456789ABCD) 00 00 Fri May 4 00:41:48 2012 Reader 0: Broadcom 5880 [Contacted SmartCard] (0123456789ABCD) 00 00 Card state: Card inserted, ATR: 3B 7B 94 00 00 80 62 12 51 56 46 69 6E 45 49 44 ATR: 3B 7B 94 00 00 80 62 12 51 56 46 69 6E 45 49 44 + TS = 3B --> Direct Convention + T0 = 7B, Y(1): 0111, K: 11 (historical bytes) TA(1) = 94 --> Fi=512, Di=8, 64 cycles/ETU 62500 bits/s at 4 MHz, fMax for Fi = 5 MHz => 78125 bits/s TB(1) = 00 --> VPP is not electrically connected TC(1) = 00 --> Extra guard time: 0 + Historical bytes: 80 62 12 51 56 46 69 6E 45 49 44 Category indicator byte: 80 (compact TLV data object) Tag: 6, len: 2 (pre-issuing data) Data: 12 51 Tag: 5, len: 6 (card issuer's data) Card issuer data: 46 69 6E 45 49 44 Possibly identified card (using /usr/share/pcsc/smartcard_list.txt): 3B 7B 94 00 00 80 62 12 51 56 46 69 6E 45 49 44 3B 7B 94 00 00 80 62 1[1,2] 51 56 46 69 6E 45 49 44 Finnish Electronic ID card (fineid card www.fineid.fi)
Kortin siru on nyt luettavissa. Seuraavaksi Firefox täytyy asettaa käyttämään kortinlukijaa turvalaitteena, jotta sivustot pystyvät toimimaan sirulla olevan varmenteen kanssa.
Turvalaiteasetukset ovat Firefoxin asetuksissa:Edit -> Preferences -> Advanced -> Encryption -> (Certificates) -> Security Devices -> Load
Lisää /usr/lib/onepin-opensc-pkcs11.so
-kirjasto
moduleihin. Lisättävän modulin nimellä ei ole merkitystä. Myös kirjasto
/usr/lib/opensc-pkcs11.so
toimii sirun kanssa, mutta
kysyy molempia sirun pin-koodeja.
Mene sivustolle https://vrk.fineid.fi. Mikäli onepin-moduuli toimii, sivusto kysyy kortin perustunnuslukua (PIN1). Siru lukkiutuu kolmesta väärästä pin-koodista.
Varmenteen tiedot näkyvät tunnistuspyynnössä.
Varmenteen hyväksyminsen jälkeen aukeaa VRK:n esimerkkisivuston etusivu, jossa näytetään myös joitain sirulle tallenettuja tietoja. Sivusto toimii niin kauan, kuin kortti on lukijassa.
Sivustolla on myös mahdollisuus testata allekirjoitusta, mutta sähköinen allekirjoitus ei onnistu ilman erillistä ohjelmstoa, sillä viimeisessä vaiheessa otetaan yhteyttä porttiin, jota ei localhostissa kuuntele oletuksena mikään ohjelma. Ohjeissa todetaankin, että allekirjoituksen testaus ei toimi Firefox-selaimella. Ohjeista poiketen allekirjoitus kuitenkin toimii, mikäli käyttäjällä on asennettuna ja käynnissä lukijaohjelmsito mPollux Digisign.
FINeIDn sivuilta on ladattavissa Fujitsun mPollux Digisign Client -kortinlukijaohjelmistopaketteja eri linuxeille. Vuoden takaisen kokeilun perusteella ei ohjelmistosta ollut juuri hyötyä, mutta nyt jaossa on huomattavasti uudemmat versiot (3.1.9) kuin silloin.
Ubuntun 11.10 paketti asentuu moitteettomasti myös 12.04 Kubuntuun. Ohjelmisto käynnistyy komentamalla
shell:~$ mPolluxServiceManager
Ohjelman ollessa käynnissä testisivuston allekirjoitus onnistuu sujuvasti.