Erinevus lehekülje "EID rakendusjuhend" redaktsioonide vahel
(Esileht siia, tooriku kustutame) |
(→Rakendusstsenaariumid: kus ja milleks eID) |
||
(ei näidata 6 kasutaja 34 vahepealset redaktsiooni) | |||
2. rida: | 2. rida: | ||
<tr> | <tr> | ||
<td> | <td> | ||
− | + | Elektrooniline identiteet infosüsteemides: <br> | |
− | + | kus, milleks, kuidas. | |
+ | <div style="font-size:12px;"> | ||
+ | [[EID_application_guide|eID Application Guide for Software Developers]] | ||
+ | </div> | ||
</td> | </td> | ||
<td align=right style="padding-top:2px; padding-bottom:2px;">[[Pilt:El_regionaal_small.jpg]]</td> | <td align=right style="padding-top:2px; padding-bottom:2px;">[[Pilt:El_regionaal_small.jpg]]</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
+ | [[Pilt:id_kaart_u1.png|left|ID-kaart]] | ||
+ | == Sissejuhatus == | ||
+ | <!-- [[Pilt:idcard_u1.jpg|right|ID-kaart]] --> | ||
+ | Juhend on mõeldud abiks nii infosüsteemide planeerimisel kui ehitamisel: kus, milleks ja kuidas kasutada Eesti [[EID_lühitutvustus#ID-kaart|ID-kaarti]], [[EID_lühitutvustus#Mobiil-ID|mobiil-ID-d]] ja [[EID_lühitutvustus#Digitaalne_isikutunnistus|digi-ID-d]] (edaspidi lihtsalt [[EID_lühitutvustus|eID]]). | ||
− | + | Juhendil on kolm osa: | |
− | + | * Ülevaade rakendustest/stsenaariumidest, kus tasub eID kasutamist kaaluda. Toome näiteid ja analüüse tõenäolisest kasust ja tõenäolistest töömahtudest. | |
− | + | * eID reaalse kasutamise tehnilised õpetused ja tarkvaranäited, alustades lihtsamatest ja jätkates küllalt keeruliste süsteemideni. | |
− | + | * eID tehnoloogilised detailid ja kasulik taustinfo. | |
− | |||
− | |||
− | + | Juhendi sihtrühm on seega kõik, kes on seotud infosüsteemide planeerimise, tellimise ja arendamisega. Süsteemide lõppkasutajad ei ole sihtrühm: juhend ei räägi näiteks sellest, kuidas ID-kaardi standardtarkvara abil digiallkirja anda. | |
− | Juhend on | + | Juhend on loodud mitmes etapis, Riigi Infosüsteemi Ameti ja erinevate ettevõtete ning ekspertide koostöös Euroopa Liidu struktuurifondide programmi "Infoühiskonna teadlikkuse tõstmine" raames. |
− | |||
− | |||
− | + | Juhendi sisu kohta käivates küsimustes palume ühendust võtta [mailto:help@ria.ee help@ria.ee], eID arendustegevusega seoses [mailto:abi@id.ee abi@id.ee], projektiga seoses vaata [https://www.ria.ee/itt www.ria.ee/itt]. | |
− | |||
− | == | + | == Rakendusstsenaariumid: kus ja milleks eID == |
− | + | <!-- [[Pilt:it_u1.jpg|right|IT]] --> | |
− | ! | + | Laias laastus jagame [[EID_lühitutvustus|eID]] rakendusstsenaariumid infosüsteemides viide liiki: |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | | ||
− | |||
− | |- | ||
− | |||
− | |||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | * <b>Sissepääsukaart</b>. ID-kaart on põhjendatud alternatiiv tavapärasele kontaktivabale RFID-kaardile olukorras, kus (a) kasutajate arv on väga suur ja sageli muutuv (b) turvalisus on üle keskmise oluline (c) kaarti ei kasutata sissepääsuks kümneid kordi päevas. ID-kaart sissepääsukaardina on levinud eeskätt koolides ja raamatukogudes. | |
− | * | + | ** Rakendamise näide ja juhend: [[ID-kaardi kasutamine sissepääsukaardina]]. <!-- [[Rakendamise näide sissepääsukaardina koolides]]. --> |
− | ** [[ | + | * <b>Kliendikaart</b>. ID-kaarti saab edukalt kasutada erinevates lojaalsusprogrammides (kauplustes, transpordis, raamatukogudes jne) kliendikaardina kliendi kiireks tuvastamiseks. Kasutusmugavus on parem laialt levinud magnetribaga kliendikaartidest ning ka kliendid eelistavad omada rahakotis ainult ühte kaarti kõikide kaupmeeste jaoks. |
− | + | ** Rakendamise näide: [[Case_study_Prisma| Prisma Peremarket]] | |
− | * | + | ** Juhend: [[eID kasutamine kliendikaardina]] |
− | ** [[ | + | * <b>Sisselogimine</b>. eID põhikasutus on veebirakendusse sisselogimine: turvalisem ja kergem hallata, kui paroolipõhine või Google/Facebooki kaudu sisselogimine. Analoogiliselt saab ka arvutisse sisselogimisel võtta paroolidele alternatiiviks võtta kasutusele ID kaart. |
− | ** [[ | + | ** Rakendamise näide: [[Rakendamise näide Tallinna Tehnikaülikooli õppeinfosüsteemi ja arvutitesse sisselogimisel| Tallinna Tehnikaülikooli õppeinfosüsteemi ja arvutitesse sisselogimine]] |
− | * | + | ** Juhend: [[eID kasutaja tuvastamiseks veebis/sisselogimiseks]]. |
− | ** [[ | + | * <b>Maksed</b>. Tänu ID-kaardi turvalisusele on võimalik selle baasil realiseerida erinevaid alternatiivseid maksemeetodeid kohtades, kus on oluline vähendada kas maksetele kuluvat aega, sularaha kasutamist või kus teenuse iseärade tõttu pole võimalik muude maksemeetodite kasutamine. Tüüpiline skeem on teostada teenuse pakkumise või kauba müümise hetkel ID-kaardi abil kasutaja turvaline tuvastamine ning tehingu toimumise fakti fikseerimine, et siis kas hiljem või alternatiivses maksekanalis teostada tasumine. |
− | ** [[ | + | ** Rakendamise näide: [[Case_study_Edelaraudtee|Edelaraudtee]] |
− | *** [[ | + | ** Juhend: [[eID kasutamine makseteks]]. |
− | ** [[ | + | * <b>Digiallkirjad ja paberivaba kontor</b>. Digiallkirjastamine paberlepingute ning -kinnituste asemel võimaldab eID rakendamisviisidest potentsiaalselt kõige suuremat kokkuhoidu. |
− | * | + | ** Rakendamise näide: [[Rakendamise näide: SEB|SEB paberivaba kontor]] |
− | ** [[ | ||
− | + | ** Juhend: [[eID kasutamine digiallkirjade ja paberivaba kontori korraldamiseks]] | |
− | + | ** Juhend mitmepoolseks allkirjastamiseks: [[Leedu, Läti ja Soome kodanikel ühisele dokumendile allkirjastamine]] | |
− | ** [[ | + | <!-- |
− | ** [[ | + | NB! Järgnev on eelmise versiooni tekst, mida sellisena alles ei jäta, kuid kasutame tema osi: |
− | + | * [[Kasutuselevõtu_analüüs_toorik|Kasutuselevõtu analüüs]] | |
− | + | --> | |
− | |||
− | |||
− | |||
− | |||
− | * [[ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | = | + | == Kasutamine infosüsteemides: tehnilised õpetused ja näitekood == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Lihtsa kokkuvõttena võimaldab [[EID_lühitutvustus|eID]] tuvastada kasutajat ja/või anda digiallkirja. | |
− | + | Detailidesse minnes saab [[EID_lühitutvustus|eID]]-d kasutada järgmistel viisidel: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | * Dokumentide digiallkirjastamine eID standardtarkvara abil, nagu kirjeldatud eelnevas juhendis: [[eID kasutamine digiallkirjade ja paberivaba kontori korraldamiseks]]. Allkirjastamiseks ei olegi enamikul juhtudel vaja erirakendust ehitada. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | * Kui erirakendus siiski vajalik on, tutvu nii järgnevas toodud väikeste [[Käsurea näiterakendused|käsurea-näiterakenduste]] kui [[Näiterakendused_keerukam|keerukama PHP näiterakendusega]] ja [https://github.com/kgilden/php-digidoc lihtsa PHP teegiga] pluss [[Media:Bakalaureusetöö_ID_kaart_Kristen_Gilden.pdf|viimase ülevaatega ]]. Erirakenduste puhul tuleks allkirjastamise pluginidega suhtlemiseks kasutada komponenti [https://github.com/open-eid/hwcrypto.js hwcrypto.js], komponendi API kirjeldus koos kasutusjuhisega on leitav https://github.com/open-eid/hwcrypto.js/wiki/ModernAPI | |
− | |||
− | |||
− | |||
− | + | * [[Kasutaja tuvastamine veebis]]: praktikas kõige olulisem ja samas pea kõige lihtsam rakendus, mis nõuab lisaks konfigureerimisele ka veidi arendustööd. Koostöös veebiserveriga loeb veebirakendus kaardilt kasutaja info, tagades samas, et kasutaja on sisestanud õige PIN-koodi. Peale digiallkirjastamise on see eID põhirakendus. Tehniliselt on kasutaja tuvastamist lihtne ja kiire realiseerida: esimese töötava katseni kulub arendajal ''ca'' üks tund. Reaalselt kasutusvalmis süsteem võtab loomulikult rohkem aega, kuid üldjuhul mitte üle tööpäeva. | |
− | * [[ | + | |
− | + | * [[EID_email_jms|E-maili turvamine, privaatvõrgud ja arvutisse sisselogimine]]: tegu on harvem kasutatavate rakendustega, mille jaoks ei ole jällegi vaja enda rakendust ehitada, olemasolevate süsteemide seadistamisest piisab. Samas on reaalsetest vajadustest arusaamine ja seadistused ise mittetriviaalsed: nende kasutuselevõtuks tasub hinnata ''ca'' üks nädal tööd. | |
− | + | ||
− | + | * [[Käsurea näiterakendused|Allkirjastamise, kontrollimise, krüpteerimise]] väikesed käsurea-näiterakendused oma eriarenduste loomiseks: neid saad kasutada eeskätt keerukamate, digiallkirjastamist kasutavate rakenduste ehitamisel konkreetsete komponentidena. Näiterakendused on keeltes C++ ja Java. | |
− | + | ||
− | + | * [https://github.com/kgilden/php-digidoc Lihtne PHP teek] digiallkirjastamiseks ja allkirjade kontrollimiseks. Juhendi leiad [[Media:Bakalaureusetöö_ID_kaart_Kristen_Gilden.pdf|autori bakalaureusetööst]] | |
− | + | ||
− | + | * [[Näiterakendused_keerukam|Keerukam näiterakendus]]: täiskomplekt eID funktsioone, sh digiallkirjastamine ja krüpteerimine, avalduste loomise ja töötlemise rakenduses. Keeled: PHP, .NET, Javascript. | |
− | + | ||
− | + | Näiterakenduste lähtekoodi saad oma arvutisse kõige lihtsamalt Githubist [https://github.com/tammet/eid tammet/eid koodihoidlast]. | |
− | + | ||
− | + | == Tehnoloogilised detailid ja taustinfo == | |
− | * [[ | + | |
− | * [[ | + | Nii enne arendustööde planeerimist kui nende käigus on kindlasti kasulik tutvuda järgmiste tehnilist laadi taustmaterjalidega: |
− | * [[ | + | |
− | + | * [http://id.ee/ eID tarkvara ja juhendite komplekt] AS Sertifitseerimiskeskuselt, vajalikku infot tavakasutajast arendajani. | |
− | + | * [https://github.com/open-eid GitHub keskkond] teretulnud kõik, kes soovivad teha eID tarkvara arendusse kaastööd, näiteks laadida ülesse oma parendusettepanekutega koodi. | |
− | + | * [http://open-eid.github.io/ eID tarkvara arhitektuuri dokument] ülevaade eID tarkvara komponentidest, nende omavahelistest ja välistest liidestest | |
+ | * [[EID_lühitutvustus|eID tehniline lühitutvustus]]: ID-kaart, digi-ID, digitempel jne: mis on mis. | ||
+ | * [[EID_funktsioonide_lühitutvustus_toorik|eID tehniliste funktsioonide lühitutvustus]]: kuidas käib autentimine, digiallkirjastamine, krüpteerimine, kontroll. | ||
+ | * [[Uute_eID_rakenduste_loomine_toorik|eID funktsioonide tehnoloogia nüansid]]: samad funktsioonid detailselt lahti seletatuna, koos ülevaatega praktilistest abivahenditest. | ||
+ | * [[Piiri%C3%BClene_eID,_STORK_ja_Euroopa_kodanikukaart_toorik|Piiriülene eID, STORK ja Euroopa kodanikukaart]]: eID ja teised riigid | ||
+ | |||
+ | [[EID_rakendusjuhend_eelmine|eelmine versioon juhendist]] |
Viimane redaktsioon: 25. aprill 2017, kell 10:47
Elektrooniline identiteet infosüsteemides: |
![]() |
Sisukord
Sissejuhatus
Juhend on mõeldud abiks nii infosüsteemide planeerimisel kui ehitamisel: kus, milleks ja kuidas kasutada Eesti ID-kaarti, mobiil-ID-d ja digi-ID-d (edaspidi lihtsalt eID).
Juhendil on kolm osa:
- Ülevaade rakendustest/stsenaariumidest, kus tasub eID kasutamist kaaluda. Toome näiteid ja analüüse tõenäolisest kasust ja tõenäolistest töömahtudest.
- eID reaalse kasutamise tehnilised õpetused ja tarkvaranäited, alustades lihtsamatest ja jätkates küllalt keeruliste süsteemideni.
- eID tehnoloogilised detailid ja kasulik taustinfo.
Juhendi sihtrühm on seega kõik, kes on seotud infosüsteemide planeerimise, tellimise ja arendamisega. Süsteemide lõppkasutajad ei ole sihtrühm: juhend ei räägi näiteks sellest, kuidas ID-kaardi standardtarkvara abil digiallkirja anda.
Juhend on loodud mitmes etapis, Riigi Infosüsteemi Ameti ja erinevate ettevõtete ning ekspertide koostöös Euroopa Liidu struktuurifondide programmi "Infoühiskonna teadlikkuse tõstmine" raames.
Juhendi sisu kohta käivates küsimustes palume ühendust võtta help@ria.ee, eID arendustegevusega seoses abi@id.ee, projektiga seoses vaata www.ria.ee/itt.
Rakendusstsenaariumid: kus ja milleks eID
Laias laastus jagame eID rakendusstsenaariumid infosüsteemides viide liiki:
- Sissepääsukaart. ID-kaart on põhjendatud alternatiiv tavapärasele kontaktivabale RFID-kaardile olukorras, kus (a) kasutajate arv on väga suur ja sageli muutuv (b) turvalisus on üle keskmise oluline (c) kaarti ei kasutata sissepääsuks kümneid kordi päevas. ID-kaart sissepääsukaardina on levinud eeskätt koolides ja raamatukogudes.
- Rakendamise näide ja juhend: ID-kaardi kasutamine sissepääsukaardina.
- Kliendikaart. ID-kaarti saab edukalt kasutada erinevates lojaalsusprogrammides (kauplustes, transpordis, raamatukogudes jne) kliendikaardina kliendi kiireks tuvastamiseks. Kasutusmugavus on parem laialt levinud magnetribaga kliendikaartidest ning ka kliendid eelistavad omada rahakotis ainult ühte kaarti kõikide kaupmeeste jaoks.
- Rakendamise näide: Prisma Peremarket
- Juhend: eID kasutamine kliendikaardina
- Sisselogimine. eID põhikasutus on veebirakendusse sisselogimine: turvalisem ja kergem hallata, kui paroolipõhine või Google/Facebooki kaudu sisselogimine. Analoogiliselt saab ka arvutisse sisselogimisel võtta paroolidele alternatiiviks võtta kasutusele ID kaart.
- Maksed. Tänu ID-kaardi turvalisusele on võimalik selle baasil realiseerida erinevaid alternatiivseid maksemeetodeid kohtades, kus on oluline vähendada kas maksetele kuluvat aega, sularaha kasutamist või kus teenuse iseärade tõttu pole võimalik muude maksemeetodite kasutamine. Tüüpiline skeem on teostada teenuse pakkumise või kauba müümise hetkel ID-kaardi abil kasutaja turvaline tuvastamine ning tehingu toimumise fakti fikseerimine, et siis kas hiljem või alternatiivses maksekanalis teostada tasumine.
- Rakendamise näide: Edelaraudtee
- Juhend: eID kasutamine makseteks.
- Digiallkirjad ja paberivaba kontor. Digiallkirjastamine paberlepingute ning -kinnituste asemel võimaldab eID rakendamisviisidest potentsiaalselt kõige suuremat kokkuhoidu.
- Rakendamise näide: SEB paberivaba kontor
- Juhend: eID kasutamine digiallkirjade ja paberivaba kontori korraldamiseks
- Juhend mitmepoolseks allkirjastamiseks: Leedu, Läti ja Soome kodanikel ühisele dokumendile allkirjastamine
Kasutamine infosüsteemides: tehnilised õpetused ja näitekood
Lihtsa kokkuvõttena võimaldab eID tuvastada kasutajat ja/või anda digiallkirja. Detailidesse minnes saab eID-d kasutada järgmistel viisidel:
- Dokumentide digiallkirjastamine eID standardtarkvara abil, nagu kirjeldatud eelnevas juhendis: eID kasutamine digiallkirjade ja paberivaba kontori korraldamiseks. Allkirjastamiseks ei olegi enamikul juhtudel vaja erirakendust ehitada.
- Kui erirakendus siiski vajalik on, tutvu nii järgnevas toodud väikeste käsurea-näiterakenduste kui keerukama PHP näiterakendusega ja lihtsa PHP teegiga pluss viimase ülevaatega . Erirakenduste puhul tuleks allkirjastamise pluginidega suhtlemiseks kasutada komponenti hwcrypto.js, komponendi API kirjeldus koos kasutusjuhisega on leitav https://github.com/open-eid/hwcrypto.js/wiki/ModernAPI
- Kasutaja tuvastamine veebis: praktikas kõige olulisem ja samas pea kõige lihtsam rakendus, mis nõuab lisaks konfigureerimisele ka veidi arendustööd. Koostöös veebiserveriga loeb veebirakendus kaardilt kasutaja info, tagades samas, et kasutaja on sisestanud õige PIN-koodi. Peale digiallkirjastamise on see eID põhirakendus. Tehniliselt on kasutaja tuvastamist lihtne ja kiire realiseerida: esimese töötava katseni kulub arendajal ca üks tund. Reaalselt kasutusvalmis süsteem võtab loomulikult rohkem aega, kuid üldjuhul mitte üle tööpäeva.
- E-maili turvamine, privaatvõrgud ja arvutisse sisselogimine: tegu on harvem kasutatavate rakendustega, mille jaoks ei ole jällegi vaja enda rakendust ehitada, olemasolevate süsteemide seadistamisest piisab. Samas on reaalsetest vajadustest arusaamine ja seadistused ise mittetriviaalsed: nende kasutuselevõtuks tasub hinnata ca üks nädal tööd.
- Allkirjastamise, kontrollimise, krüpteerimise väikesed käsurea-näiterakendused oma eriarenduste loomiseks: neid saad kasutada eeskätt keerukamate, digiallkirjastamist kasutavate rakenduste ehitamisel konkreetsete komponentidena. Näiterakendused on keeltes C++ ja Java.
- Lihtne PHP teek digiallkirjastamiseks ja allkirjade kontrollimiseks. Juhendi leiad autori bakalaureusetööst
- Keerukam näiterakendus: täiskomplekt eID funktsioone, sh digiallkirjastamine ja krüpteerimine, avalduste loomise ja töötlemise rakenduses. Keeled: PHP, .NET, Javascript.
Näiterakenduste lähtekoodi saad oma arvutisse kõige lihtsamalt Githubist tammet/eid koodihoidlast.
Tehnoloogilised detailid ja taustinfo
Nii enne arendustööde planeerimist kui nende käigus on kindlasti kasulik tutvuda järgmiste tehnilist laadi taustmaterjalidega:
- eID tarkvara ja juhendite komplekt AS Sertifitseerimiskeskuselt, vajalikku infot tavakasutajast arendajani.
- GitHub keskkond teretulnud kõik, kes soovivad teha eID tarkvara arendusse kaastööd, näiteks laadida ülesse oma parendusettepanekutega koodi.
- eID tarkvara arhitektuuri dokument ülevaade eID tarkvara komponentidest, nende omavahelistest ja välistest liidestest
- eID tehniline lühitutvustus: ID-kaart, digi-ID, digitempel jne: mis on mis.
- eID tehniliste funktsioonide lühitutvustus: kuidas käib autentimine, digiallkirjastamine, krüpteerimine, kontroll.
- eID funktsioonide tehnoloogia nüansid: samad funktsioonid detailselt lahti seletatuna, koos ülevaatega praktilistest abivahenditest.
- Piiriülene eID, STORK ja Euroopa kodanikukaart: eID ja teised riigid