Title: ID-toe implementeerimise karid ja kuidas neid v
1ID-toe implementeerimise karid ja kuidas neid
vältida
- Ahto Jaago, Sertifitseerimiskeskus
- ahto_at_sk.ee
2Ülevaade ID-tugi rakendustes mis see on?
- ID-kaardiga seotud toimingud
- Isikutuvastus ja allkirjastamine veebi- ja
desktop-rakendustes - Krüpteerimine
- Isikuandmete faili lugemine
- Autoklaasi kraapimine jääst, või määrimine
leivale - Mobiil-IDga seotud toimingud
- Isikutuvastus
- Allkirjastamine
3Ülevaade vahendid ID-toega rakenduste
kasutamiseks (1)
- Kasutaja arvuti
- ID-kaardi korral ID-kaardi tarkvara
(installer.id.ee), kaardilugeja, brauser,
internetiühendus - Mobiil-ID korral brauser, internetiühendus,
telefon - Sertifitseerimiskeskuse ...
- ... tooted
- ID-kaardi tarkvara lõppkasutaja arvuti jaoks
- DigiDoc teegid allkirjastamiseks
- ... teenused
- OCSP sertifikaadi kehtivusinfo küsimiseks
- DigiDocService ID-kaardiga allkirjastamiseks,
Mobiil-IDga autentimiseks ja allkirjastamiseks,
allkirjastatud failide kontrollimiseks - LDAP kehtivate sertifikaatide kataloog
- CRL sertifikaatide tühistusnimekiri
4Ülevaade vahendid ID-toega rakenduste
kasutamiseks (2)
- Veebiserverid
- Konfiguratsioon (SSL tugi, kasutajate
sertifikaatide nõudmine/aktsepteerimine)
ID-kaardiga autentimisel - Allkirjastamise komponendid (ActiveX (IE),
Mozilla plug-in, Java Applet)
5ID-kaardiga autentimine veebis (1)
- Protsess
- Kasutaja navigeerib lehele, kus autenditakse
ID-kaardiga (https//) - SSL sessiooni loomine
- Veebiserver pakub kasutajale enda sertifikaati
kasutaja (brauser) usaldab või mitte - Veebiserver küsib kasutaja sertifikaati
ID-kaardi sertifikaadi valikul küsitakse
kasutajalt PIN1-te, mille peale allkirjastatakse
(isikutuvastussertifikaadi salajase võtmega!)
kliendi pool infojupp ja saadetakse koos kliendi
sertifikaadiga veebiserverile, et server saaks
klienti usaldada. - Kliendi sertifikaadi kehtivuse pärimine
- CRL veebiserveri tasemel (Apache)
- LDAP, OCSP veebirakenduse tasemel
6ID-kaardiga autentimine veebis (2)
- Eeldused
- Kliendi arvuti
- ID-kaardi lugeja, ID-kaart, interneti ühendus,
paigaldatud ID-kaardi tarkvara (http//installer.i
d.ee) - Veebiserver
- Konfigureeritud SSL-tugi ja kataloogide/failide
tasemel kliendisertifikaadi nõudmine/aktsepteerimi
ne - Juhendid, näidised
- www.id.ee ? Arendajale ? Veebiserverid ja
ID-kaardiga autentimine - www.id.ee ? Arendajale ? Uute rakenduste
loomine ? Sertifikaadi kehtivuse kontroll
OCSPga
7ID-kaardiga allkirjastamine veebis
- Protsess
- Veebirakendus saadab StartSession() meetodiga
DDSile allkirjastatavad andmed. - Veebilehele laetud allkirjastamismooduli (ActiveX
või Java Applet), abil loetakse ID-kaardilt
allkirjastamissertifikaat. - Veebirakendus saadab DDSle meetodiga
PrepareSignature() allkirjastamissertifikaadi ja
saab vastu allkirjastatava info räsi. - Veebilehele laetud allkirjastamismooduli abil
signeeritakse ID-kaardiga DDSilt saadud räsi - Veebirakendus saadab signatuuri
FinalizeSignature() meetodiga DDSile allkirjaga
varustatud faili moodustamiseks - Allkirjastatud faili saab veebirakendus DDSilt
kätte meetodiga GetSignedDoc()
8Mobiil-IDga autentimine veebis (1)
- Protsess rakenduse vaade
- Autenditava kasutaja sisestatud isikukood ja/või
telefoninumber saadetakse veebirakendusest
meetodiga MobileAuthenticate() SK
DigiDocServiceile - Kui MobileAuthenticate() tagastab rakendusele
staatuseks OK, siis näidatakse veebilehel
kasutajale kontrollkoodi ja küsitakse regulaarse
intervalli tagant meetodiga GetMobileAuthenticateS
tatus(), mis seis kasutaja autentimisega on on
see pooleli, lõppenud edukalt või mingi veaga,
sõltuvalt sellest kas kasutaja on telefonis PIN1
juba sisestanud või hoopis katkestanud, kas
telefon on üldse levis jne. - Kas tundub keeruline? ?
9Mobiil-IDga autentimine veebis (2)
10Mobiil-IDga allkirjastamine veebis (1)
- Protsess rakenduse vaade
- Rakendus saadab DigiDocServiceile StartSession()
päringu, andes kaasa allkirjastatava faili ja
saab vastu sessiooni ID, mida kasutatakse
järgnevates päringutes - Rakendus saadab DDSile MobileSign() päringu,
andes kaasa allkirjastaja isikukoodi, riigikoodi,
teenusenime jms parameetrid. Vastu saab
kontrollkoodi, mida näitab välja ka kasutajale.
MobileSign() väljakutse peale algatatakse
allkirjastamisprotsess, mille käigus kasutaja
telefonile tuleb allkirjastamispäring,
kontrollkood ja nõue sisestada Mobiil-ID PIN2 - Rakendus küsib peale MobileSign() päringu
tegemist teatava intervalli järel meetodiga
GetStatusInfo(), kaugele allkirjastamine jõudnud
on, sõltuvalt sellest, kas päring jõudis kasutaja
telefonile, kas kasutaja on PIN2 juba sisestanud
või hoopis katkestanud jne.
11Mobiil-IDga allkirjastamine veebis (2)
- Protsess rakenduse vaade (jätk)
- Kui GetStatusInfo() on lõpuks tagastanud staatuse
SIGNATURE, siis allkirjastatud dokumendi saab
küsida DDSilt meetodiga GetSignedDoc() - Viisakas on sessioon sulgeda CloseSession()
meetodiga ) - Jällegi kas polnud lihtne? ?
12Dokumentatsioon, koodinäited, testkeskkond,
foorum, tugi (1)
- Dokumentatsioon, koodinäited
- www.sk.ee, alajaotus Tarkvara
- www.id.ee, alajaotus Arendajale
- Testkeskkond www.openxades.org, alajaotus Try it
out - Päris Mobiil-ID sertifikaatide registreerimine
testkeskkonnas (test-DigiDocServicei vastu)
kasutamiseks - Test-DigiDocService https//www.openxades.org844
3 - Mobiil-ID test-numbrid rakenduste testimiseks
erinevates kasutussituatsioonides - ID-kaardi allkirjastamissertide registreerimine
test-OCSP teenusesse - Foorum
- www.id.ee/foorum
13Mobiil-ID sertifikaatide registreerimine
Dokumentatsioon, koodinäited, testkeskkond,
foorum, tugi (2)
- Tugi
- support_at_sk.ee
- abi_at_id.ee
14Plaanid, eesmärgid
- Eesmärk
- ID-kaardi ja Mobiil-ID toe lihtsam
implementeeritavus - Plaanid
- Parem (up-to-date) dokumentatsioon
- Rohkem koodinäiteid
- Arendajate vaheline tihedam suhtlus
15Kokkuvõte tagasisidest (1)
- Rohkem on implementeeritud isikutuvastust veebis
või on selle vastu huvi - Dokumentatsioon on enamasti OK, kohati vananenud,
kohati raskestiloetav, rohkem võiks olla
inglisekeelset dokumentatsiooni - Rohkem koodinäiteid ja nö valmis tükke erinevate
platvormide jaoks - Teema, valdkond on võõras, raske alustada
- Võiks olla arendajate FAQ, BugTracker
- Teegid võiks olla avatud lähtekoodiga
16Kokkuvõte tagasisidest (2)
- SK teenuste kvaliteet ja stabiilsus ning
arendajate tugi on hea - Võiks lisada juhendeid ka teiste veebiserverite
konfigureerimiseks (ID-kaardiga autentimise
jaoks) - OpenXAdesest testkeskkonnana eriti ei teata
- Pigem eelistatakse head dokumentatsioon ja
näidisprogramme kui tasulist tuge
17Kogemuste jagamise voor, küsimused
- Karid?, Probleemid?, Küsimused? et kes on
midagi teinud, mis on probleemiks olnud, mille
otsa põrgatud sai?