Sirullisen henkilökortin käyttö linuxissa

  1. asenna tarvittavat paketit
  2. tarkasta, että kortti on luettavissa
  3. aseta Firefox lukemaan sirua

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.

Paketit

Ubuntussa komenna
 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ä.

Kortinlukija

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.

kortinlukija

Aseta kortti lukijaan ja tämän jälkeen käynnistä konsolista pcsc_scan. Tämä käynnistää pcscdn 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)

Firefoxin asetukset

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
module

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.

Varmenteen toimivuus

Mene sivustolle https://vrk.fineid.fi. Mikäli onepin-moduuli toimii, sivusto kysyy kortin perustunnuslukua (PIN1). Siru lukkiutuu kolmesta väärästä pin-koodista.

pin

Varmenteen tiedot näkyvät tunnistuspyynnössä.

request

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.

etusivu

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.

Lukijaohjelmisto ja allekirjoitus

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.

signing
Creative
	 Commons License
The content of this site is licensed under a Creative Commons Attribution-ShareAlike 3.0 License.