Ero sivun ”HST” versioiden välillä
Siirry navigaatioon
Siirry hakuun
→Arkkitehtuuri
p (→Yleistä) |
|||
Rivi 27: | Rivi 27: | ||
== Arkkitehtuuri == | == Arkkitehtuuri == | ||
Sovellusohjelma tarvitsee ohjelmointirajapinnan (API) pystyäkseen keskustelemaan älykortin kanssa. RSA Laboratories on määritellyt C-ohjelmointirajapinnan niin sanotuille kryptograafisille tokeneille nimeltä ''[http://www.cryptsoft.com/pkcs11doc/v230/ 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. | Sovellusohjelma tarvitsee ohjelmointirajapinnan (API) pystyäkseen keskustelemaan älykortin kanssa. RSA Laboratories on määritellyt C-ohjelmointirajapinnan niin sanotuille kryptograafisille tokeneille nimeltä ''[http://www.cryptsoft.com/pkcs11doc/v230/ 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. pluginina (.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. | 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. USB-lukijoilla käytetään ''CCID''-ajuria. Toisaalta OpenCT ei toteuta PC/SC-rajapintaa, joten sitä ei voi käyttää jos sovellus on kirjoitettu käyttämään PC/SC-rajapintaa. | 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. USB-lukijoilla käytetään ''CCID''-ajuria. Toisaalta OpenCT ei toteuta PC/SC-rajapintaa, joten sitä ei voi käyttää jos sovellus on kirjoitettu käyttämään PC/SC-rajapintaa. Nykyään sen kehitys on pysähtynyt ja siten laitteisto- ja yhteisötuki on heikentynyt. | ||
Alla on esitetty kaavioina yllä mainitut kaksi ohjelmistovaihtoehtoa: | Alla on esitetty kaavioina yllä mainitut kaksi ohjelmistovaihtoehtoa: | ||
Rivi 37: | Rivi 37: | ||
[[Tiedosto:openct.png]] [[Tiedosto:pcsc-lite.png]] | [[Tiedosto:openct.png]] [[Tiedosto:pcsc-lite.png]] | ||
== Laitteet == | == Laitteet == |