Ismo Aulaskari 28.1.2007 (viimeisin päivitys 28.7.2008)
Väestörekisterikeskuksen kortti (Organisaatiovarmenne) toimii Linuxissa. Tätä olen testannut Omnikey
3121-usb-kortinlukijan ja Organisaatiokortti 2003:n kanssa 32-bittisen Ubuntu Linux 6.06:ssa selaimena Firefox 1.5.0.5
ja
sittemmin 28.11.2007 64-bittisen Ubuntu 7.10:n ja Firefox 2.0.0.10:n kanssa ja 28.7.2008 Ubuntu 8.04:n ja Firefox
3.0.0:n kanssa.
Samaa voi sanoa myös yleissuomalaisesti tutummasta poliisin myöntämästä sähköisestä henkilökortista, josta
käytetään nimeä kansalaisvarmenne tai HST-kortti tms. ja joka näyttää poliisin henkilökortilta johon on pultattu siru.
Kansalaisvarmenne on se hyvä idea joka on kuolemassa Suomesta vaivihkaa pois, jos sitä ei aleta jaella
usb-tikkumuodossa.
Tarvitsin itse kortinlukua varten Ubuntu-paketit opensc ja mozilla-opensc ja kortinlukijaan pcscd-paketin. Nämä
tarvitsivat joukon kirjasto-riippuvuuksia, jotka paketinhallinta hoiteli.
Käytin myös valinnaista pcsc-tools -paketin työkaluja opensc-työkalujen lisäksi testailuun.
Omnikeyn sivuilta löytyi myös Linux-ajuri mutta sitä ei tarvittu. Pcscd-middlewarelle on myös vaihtoehto nimeltä
openct, joka tukee myös joukkoa kortinlukijoita.
HUOM: Vanhasta Debianista 3.1 löytyi periaatteessa samannimiset osat lähes identtisellä prosessilla, mutta
fineid.fi:n testisivua en sillä helpolla saanut toimimaan.
Selaintukea varten Firefoxin valikosta Edit-Preferences valitaan Advanced->(Certificates)->Security_Devices->Load
Lisätään
/usr/lib/opensc-pkcs11.so
Uudemmassa Ubuntussa huomasin olevan myös modullin /usr/lib/onepin-opensc-pkcs11.so jota vaihtoehtoisesti käyttämällä
ei tarvitse korttia käyttäessä antaa turhaan tunnistusoperaatioissa allekirjoitus-pin-koodia (joskaan tämä ei saanut
pankkini Active-X-allekirjoitustoimintoja edelleenkään toimimaan). Kyseisen moduulin nimeksi laitoin OpenSC Module.
Muita mielenkiintoisia käyttötapoja OpenSC:lle löytyy PAM-moduulina ja osana OpenSSL:ää.
Windows-käyttäjille Omnikey-lukijan Windows-ajurit saa www.omnikey.com:ista (onnistunee kyllä XP:n tarjoamilla) ja tämän jälkeen voi asentaa Setweb-Windows-ohjelman fineid.fi-sivustolta(se lisää kortinlukumoduulit löytämiinsä selaimiin).
Mennessä fineid.fi-testisivulle Firefox kysyy minulta nyt ensin allekirjoitustunnuslukua (PIN2) ja sitten
perustunnuslukua (PIN1). Testisivu näyttää tämän jälkeen tietoni kortilta, ainoastaan sähköinen allekirjoitus ei jostain syystä toimi vaan painettaessa
submittia asp-sovellus jää limboon ja selain pitää tappaa.
Vetuma-testisivun (testitunnistus.suomi.fi) korttiautentikointi aiheuttaa Organisaatiokortilla
"Järjestelmävirhe 3010":n ilmeisesti koska vrk-kortti ei ole HST-kortti. Olen nyt testannut tätä uudella HST-kortillani ja sillä Vetuma toimii. Myös
HST-kortin vanhempi versio on Opensc:n sivujen mukaan testatusti Opensc:n kanssa toimiva. Suosittelisin Vetuma-palvelulle kyllä lämpimästi
Organisaatiovarmeenteen tukemista tulevissa versioissa, sillä käsittääkseni aika monella virkamiehellä pian sellainen on.
Osuuspankin verkkopankki (op.fi) oli itselleni mielenkiintoinen palvelu jota oli pakko kokeilla HST-kortilla.
Kortin rekisteröiminen palveluun ei kuitenkaan toiminut Linuxilla ja Firefoxilla, eikä edes Windows
XP/Firefox/Setweb-1.55-yhdistelmällä. Viisivaiheinen rekisteröityminen kaatui aina viidenteen vaiheeseen, vaikka kortti
oli jo onnistuneesti hoitanut autentikointipuolen. Syylliseksi paljastui kokeilun jälkeen viidennessä vaiheessa
sähköinen allekirjoittaminen, joka käytti Active-X-komponenttia. Hoidin tämän rekisteröitymisen sitten Windows
XP/Internet Explorer 6/Setweb-yhdistelmällä, jossa allekirjoitus toimi toisella yrityksellä. Onnistuneen rekisteröinnin
jälkeen op:n verkkopankin käyttö toimi noilla muillakin kokeilemillani yhdistelmillä, eli ainoastaan tuo
rekisteröitymisen loppuosa oli onnistuttu tekemään alustariippuvaiseksi. Linux+Firefox-yhdistelmä tosin pienenä
kauneusvirheenä kysyy sekä allekirjoitustunnuslukua että perustunnuslukua ja jo heti op.fi-sivulle saapuessa, mutta
itse asia eli laskujen maksu toimii mainiosti (onepin-opensc-ajurin käyttö korjaa tämän). Voin siis jatkossa jättää
huoletta kertakäyttötunnuslappuset ja numerosarja-käyttäjätunnuksen kotiin.
Apache-http-palvelin tukee asiakkaan autentikointia selaimen tarjoamalla sertifikaatilla ja tässä kelpaa myös älykortilta luettu. Suojaus on helppo asettaa, joskin selaimet eivät vielä (ainakaan käyttämilläni asetuksilla) osaa antaa järkeviä virheilmoituksia tilanteissa joissa käyttäjällä ei ole kortti sisällä lukijassa. Windows-puolella SetWeb korjaa tämän puutteen.
#Väestörekisterikeskuksen CA-sertifikaatti der-muodosta pem-muotoon:
openssl x509 -in vrkrootc.crt -inform DER -outform PEM -out vrkrootc.pem
#Nämä rivit Apachen konffiin sopivaan kohtaan:
SSLRequireSSL
SSLVerifyClient require
SSLVerifyDepth 2
SSLCACertificateFile /home/forum/kortti/vrkrootc.pem
#Tällä voi sallia esim. kansalaisvarmenteet ja jättää muut vrk:n varmeenteet ulkopuolelle
SSLRequire %{SSL_CLIENT_I_DN_OU} eq "Valtion kansalaisvarmenteet"
opensc-ja fineid-korttiyhdistelmilla Mozilla-pohjaisissa selaimissa tuntuu olevan ongelmia sähköisissä allekirjoitusoperaatioissa. Aika usein johtuen siitä että sivut toteuttavat sen Internet Explorer-riippuvaisilla tekniikoilla.
Fineid.fi (VRK:n juurivarmenne ja testipalvelu)
OpenSC-projekti
Debian ja älykortit
The OpenVPN Smartcard HOWTO
libchipcard, uusi yrittäjä sirukorttiajuriksi