Ero sivun ”HST” versioiden välillä

Siirry navigaatioon Siirry hakuun
(Lisätty yleistä tarinaa taustaksi.)
Rivi 5: Rivi 5:
Korttiajureita sisältävä <tt>[[opensc]]</tt>-paketti sekä kortinlukija-ajureita sisältävä <tt>[[openct]]</tt>-paketti löytyvät useimpien jakeluiden [[paketinhallinta|paketinhallinnasta]]. Ne tulevat usein oletusasennuspaketin mukana.
Korttiajureita sisältävä <tt>[[opensc]]</tt>-paketti sekä kortinlukija-ajureita sisältävä <tt>[[openct]]</tt>-paketti löytyvät useimpien jakeluiden [[paketinhallinta|paketinhallinnasta]]. Ne tulevat usein oletusasennuspaketin mukana.


Useimpien kortinlukijoiden (esimerkiksi [http://www.scmmicro.com/security/view_product_en.php?PID=4 SCM SCR3310]) pitäisi toimia OpenCT:n avulla suoraan [http://www.opensc-project.org/openct/wiki/ccid].  
Useimpien kortinlukijoiden (esimerkiksi [http://www.scmmicro.com/security/view_product_en.php?PID=4 SCM SCR3310]) pitäisi toimia OpenCT:n avulla suoraan [http://www.opensc-project.org/openct/wiki/ccid].
 
==Yleistä HST-kortista==
 
HST-kortti on yksi osa Väestörekisterikeskuksen PKI-järjestelmää. HST-kortin tarkoituksena on toimia henkilökorttina sähköisessä asioinnissa vastaavalla tavalla kuin kortti toimii perinteisenä henkilötodistuksena asioitaessa kasvokkain. Kortin toiminta perustuu ns. julkisen avaimen salaukseen: kortilla on tuotettu avainpari, joka koostuu julkisesta ja salaisesta avaimesta. Julkinen avain on sisällytetty varmenteeseen, joka avaimen lisäksi sisältää suppeat henkilötiedot: kortinhaltijan nimi ja sähköinen asiointitunnus. Varmenne on Väestörekisterikeskuksen digitaalisesti allekirjoittama.
 
Julkisen avaimen salausjärjestelmän voi toki toteuttaa ilman älykorttiakin, mutta tällöin usein ongelmaksi muodostuu salaisten avainten hallinta. HST-kortin varsinainen idea onkin, että se on rakennettu pitämään salaiset avaimet suojassa muistissaan ja laskemaan niillä ilman tarvetta lukea niitä kortilta. Itse asiassa HST-kortti ei edes salli salaisten avainten siirtoa kortin ulkopuolelle.
 
==Laitteet ja ohjelmistot==
 
Korttia varten tarvitaan kortinlukija ja lukijaan sopiva ajuri. Lukijoita on pääasiassa kahta tyyppiä, ulkoinen, tyypillisesti USB-väylään liitettävä lukija, sekä joissakin kannettavissa tietokoneissa oleva sisäinen lukija. Kun on hankkimassa ulkoista lukijaa, kannattaa valita ns. '''CCID''' (Circuit Card Interface Device) -speksin mukainen lukija. CCID on USB-väylän yhteyteen määritelty ns. Device Class -määrittely, joka määrittelee yhteisen protokollan eri valmistajien USB-lukijoille. Ennen CCID-määrittelyn valmistumista jokainen valmistaja käytti omaa protokollaa; näitä vanhempia lukijoita näkee vielä silloin tällöin. Esimerkkejä CCID-protokollan mukaisista lukijoista ovat:
* Omnikey 1021, 3021, 3121, ym.
* SCM SCR 3310
* Dellin tiettyjen USB-näppäimistömallien integroidut lukijat
 
Sovellusohjelma tarvitsee ohjelmointirajapinnan (API) pystyäkseen keskustelemaan älykortin kanssa. RSA Laboratories on määritellyt C-ohjelmointirajapinnan niin sanotuille kryptograafisille tokeneille nimeltä '''PKCS#11'''. Se on 11. osa RSA Laboratoriesin sarjassa Public Key Cryptography Standards ja tunnetaan myös lempinimellä '''Cryptoki''' (väännös sanoista Cryptographic Token Interface). Cryptoki on tyypillisesti toteutettu ns. jaettuna kirjastona (.so-tiedosto). Useampi sovellus voi käyttää Cryptoki-rajapintaa rinnakkain; kirjaston tehtävänä on synkronoida pääsy yksittäiselle tokenille. Cryptoki pystyy myös hallitsemaan useampaa järjestelmään liitettyä tokenia. OpenSC-ohjelmisto sisältää Cryptoki-toteutuksen jaettuna kirjastona nimellä opensc-pkcs11.so.
 
PKCS#11-kirjaston ja lukijan välille tarvitaan vielä ns. middleware, josta on avoimena lähdekoodina kaksi vaihtoehtoista toteutusta: '''pcsc-lite''' ja '''OpenCT'''. '''PC/SC''' (Personal Computer/Smart Card) on alunperin Microsoftilta tullut aloite, joka määrittelee yhtenäisen, laitteistosta riippumattoman, rajapinnan älykorteille. PC/SC:n ja Cryptokin erona on, että PC/SC määrittelee alemman tason rajapinnan älykorteille yleensä, kun taas Cryptoki määrittelee rajapinnan julkisen avaimen cryptotokeneille, jotka eivät välttämättä ole edes toteutettu älykortteina.
 
OpenCT on OpenSC:n kehittäjien kehittämä "liima" ylemmän tason Cryptoki-kirjaston ja laitteiston välillä. OpenCT on suoraviivaisempi vaihtoehto PC/SC:lle. Se pystyy käsittelemään lukijoita suoraan, kun taas PC/SC (pcsc-lite) tarvitsee erikseen vielä lukijalle ajurin. Toisaalta OpenCT ei toteuta PC/SC-rajapintaa, joten sitä ei voi käyttää jos sovellus on kirjoitettu käyttämään PC/SC-rajapintaa.


==Ohjelma- ja jakelukohtaisia ohjeita==
==Ohjelma- ja jakelukohtaisia ohjeita==
Noudettu kohteesta ”https://www.linux.fi/wiki/HST