EID kasutamine olemasolevate rakendustega

Allikas: eid.eesti.ee
Jump to navigation Jump to search

eID kasutamine olemasolevate rakendustega

Töölauarakendused

Enne kirjutamist tuleb teha konkreetselt piiritletud valik (nt Outlook ja seal krüpteerimine, signeerimine)

ID-kaardiga sisselogimine Windowsisse

Domeeni sisselogimine

Domeeni logimine on ID-kaardi baastarkvaras toetatud alates versioonist 3.5 ning oma domeeni seadistamiseks lisakomponente installeerida ei ole vaja. Küll aga pakub SK süsteemiülematele juhendit ja skripti, mis võimaldavad sertifikaatide kergemat haldust Windows Vista, Windows 7 ja Windows Server 2008 käitavates klientarvutites.

Domeeni logimist soovitatakse kasutada koos autentimissertifikaatide kehtivusinfot väljastava kehtivuskinnitusteenusega, mille kohta saab lisainfot SK autentimise OCSP lehelt.

Alternatiivse lahendusena on võimalik kasutada IDLogin komponenti, mida pakub litsentsitasu eest JaJa Arendus

Eraldiseisvasse arvutisse sisselogimine

Windowsisse kiipkaardiga sisselogimise tugi on vaikimisi võimalik ainult domeeni ühendatud arvutites; autonoomsetes arvutites see puudub. Selle funktsionaalsuse lisamiseks autonoomsesse arvutisse tuleks kasutada EIDAuthenticate rakendust:

  1. Laadi alla paigalduspakk aadressilt http://www.mysmartlogon.com/products/eidauthenticate.html ja käivita see;
  2. Windowsi juhtpaneelist käivita sinna lisandunud valik "Smart Card Logon"
    • Soovi korral klõpsa ka nuppu "Check online database for known incompatibilities", et veenduda, kas käesolev kaart toimib rakendusega. Sobima peaksid kõik Eesti ID-kaardid.
  3. Klõpsa "Use preconfigured card", kuna ID-kaartidel on juba vajalikud sertifikaadid olemas.
  4. Kahest pakutavast sertifikaadist vali esimene, isikutuvastussertifikaat. Õige sertifikaadi valikut kinnitab see, kui jaotistes "Crypto" ning "Encryption" on kõik korras (kui kogemata valida allkirjastamissertifikaat, kuvatakse mõlemas veateated).
    • Kuna isikutuvastussertifikaadil puuduvad rakenduse soovitud Extended Key Usage bitid, siis kuvatakse jaotises "Trust" veateade. Sellest möödasaamiseks tuleb vastav kontroll välja lülitada, klõpsates "Don't check EKU".
    • Kui kuvatakse veateade, et sertifikaat pole usaldatud, siis peab veenduma, et ID-kaardi väljaandja sertifikaadid oleks arvutisse paigaldatud (eriti kehtib see testkaartide korral, mille väljaandja sertifikaate ei paigaldata koos baastarkvaraga).
  5. Pärast järgmisele lehele liikumist küsitakse kasutajakonto parooli, mida on vaja kasutaja sisselogimiseks. Soovitatav on valida "Launch a test after the completion of this wizard", et veenduda seadistuste korrektsuses.
    • Kuigi rakendus töötab ka juhul, kui kasutajal pole parooli, ei oma see eriti mõtet, kuna siis saab sama hästi ka ilma ID-kaardita sisse logida.
  6. Pärast järgmisele lehele liikumist küsitakse kasutajalt testimiseesmärgil ID-kaardi PIN1. Kui kõik õnnestus, siis on seadistamine sellega lõpetatud.

Kui edaspidi arvuti sisselogimisekraanil sisestada rakendusele tuttav ID-kaart, siis tekib lisavalik "Smart card credential", millega saab pärast PIN1 sisestamist kaardiga seotud kontosse sisse logida.

NB! EIDAuthenticate kontrollib sisselogimiseks kasutatud sertifikaadi kehtivust ainult sellel oleva algus- ning lõpukuupäeva järgi, s.t ei vaadata tühistusnimekirju ega küsita kehtivuskinnitust.

ID-kaardiga sisselogimine Linuxisse

ID-kaardiga sisselogimist Linuxis on võimalik teha kasutades OpenSC projekti PKCS#11 PAM autentimismoodulit.[1]

Lisainfot saab ametlikust dokumentatsioonist, millel ka järgnev põhineb.

Paigaldamine

Debiani-põhistel distributsioonidel saab vajaliku mooduli libpam-pkcs11 pakist. Teistes distributsioonides võib see moodul samuti pakihalduriga kättesaadav olla.

Kui valmisehitatud pakki aga ei leidu, siis tuleb moodul ehitada lähtekoodist. Kood on kättesaadav ametlikult kodulehelt ning ehitamine ja paigaldamine käib "tavaliselt":[2]

$ ./configure
$ make
# make install

Seadistamine

Paki seadistamine:[2][3]

  1. Luua kaust /etc/pam_pkcs11/ seadistuste jaoks.
  2. Kopeerida näitekonfiguratsioon sinna kausta ning panna nimeks pam_pkcs11.conf. Debiani-põhistel distributsioonidel asub näide /usr/share/doc/libpam-pkcs11/examples/pam_pkcs11.conf.example.gz (sel juhul tuleb ta kindlasti ka enne lahti pakkida). Lähtekoodis asub see etc/ kaustas.
  3. Luua kaust /etc/pam_pkcs11/cacerts/ ning sinna laadida sisselogimiseks kasutatavate sertifikaatide väljaandjate sertifikaadid. Eesti ID-kaartide puhul on väljaandjaks SK ning sertifikaadid kättesaadavad nende kodulehelt.
  4. Pakiga on kaasas utiliit pkcs11_make_hash_link (lähtekoodis asub see kaustas tools/), millega saab lihtsalt luua viitu sertifikaatidele kasutades nende räsisid. See on vajalik selleks, et leida õige sertifikaat kiirelt tema räsi järgi, ent siiski säilitada inimloetavad nimed.
    # pkcs11_make_hash_link /etc/pam_pkcs11/cacerts/
    • Näiteks kahe eespool välja toodud testsertifikaadi puhul on viidad vastavalt 600c2b9f.0 ja ecc5099c.0.
    • NB! pkcs11_make_hash_link on vigane ning ei pane sertifikaatide failinimesid jutumärkidesse. Seetõttu ei tohi /etc/pam_pkcs11/cacerts/ kaustas olevad sertifikaadid sisaldada tühikuid ega muid erisümboleid.
  5. (Valikuline) Kui ei ole soovi iga kord sisselogides käia internetist sertifikaatide tühistusnimekirja küsimas, siis võib need kohalikku arvutisse alla laadida. Sellisel juhul tuleb aga ise vastutada nende uuendamise eest!
    1. Luua kaust /etc/pam_pkcs11/crls/ ning sinna laadida sertifikaatide tühistusnimekirjad. SK omad on taaskord kättesaadavad nende kodulehelt.
    2. Kasutada pkcs11_make_hash_link tööriista, et luua viidad. Ka tühistusnimekirjade failinimed ei tohi sisaldada tühikuid ega muid erisümboleid.
  6. Seadistada /etc/pam_pkcs11/pam_pkcs11.conf. Üldiselt on ta hästi dokumenteeritud ning tänu selle lihtsasti muudetav. Kindlasti soovitaks kasutatava PKCS#11 mooduli cert_policy väärtuseks panna "ca,signature,crl_auto". See tagab, et kontrollitakse sertifikaadi väljaandjat, PIN'i ning ka tühistusnimekirju. Kui internetist ei soovita tühistusnimekirju alla laadida, siis viimaseks väärtuseks panna crl_offline.

Kasutajate kaardistamine

Kuna kaardil oleva info põhjal ei saa teada, millise kasutaja oma see on, tuleb need siduda kasutajakontodega. Selliseks kaardistamiseks on mitmeid erinevaid võimalusi ning neid on võimalik ka ise juurde luua.[4]

Pakkide ja lähtekoodiga on kaasas ka mõned näitekonfiguratsioonid sertifikaadi omaniku, selle räsi või sellel oleva e-maili aadressi põhjal kasutaja leidmiseks.

Näites kasutame sertifikaadi omaniku põhjal kasutaja tuvastamist. See ei vaja uuendamist, kui kasutaja sertifikaat (ning seega ka selle räsi) muutub, ning on parem kui ainult e-maili kasutamine. Mooduliga on kaasas ka mitmed teised ning võimsamad kaardistamise moodulid (eriti võib huvi pakkuda LDAP oma), ent lihtsuse mõttes me neid ei demostreeri.

  1. Seadistada /etc/pam_pkcs11/pam_pkcs11.conf:
    1. Seada use_mappers väärtuseks subject, null. Siia võib lisada ka teisi mooduleid, ent näite jaoks on see minimaalne väärtus. null moodul peab alati viimane olema.
    2. Seadistada mapper subject blokk. Vaikeväärtused peaksid sobima, ent tasub üle vaadata.
    3. Seadistada mapper null blokk. See moodul kas alati keelab sisselogimise või alati õnnestub ning tagastab vaikekasutaja (nt nobody). Taaskord peaksid vaikeväärtused sobima.
  2. Luua kaardistus:
    1. Sisestada sisselogimiseks kasutatav ID-kaart ning käivitada PAM mooduliga kaasas olev pkcs11_inspect rakendus, mis kuvab kaardistuse jaoks vajaliku info. Loomulikult võib selle info ka ise välja uurida, ent nii kuvatakse see täpselt sellisel kujul nagu kaardistamiseks vaja.
    2. Luua mapper subject blokis viidatud mapfile, näiteks /etc/pam_pkcs11/subject_mapping. Sinna lisada rida kujul ... -> <kasutaja>, kus "..." on pkcs11_inspect poolt antud info ning "<kasutaja>" kaardi omaniku kasutajanimi.
      • NB! Tühikud kahelpool "->" on vajalikud ning neid ei tohi ära jätta.
    3. Käivitada PAM mooduliga kaasas olev pklogin_finder rakendus. See kuvab sisestatud kaardile vastava kasutajanime ning aitab veenduda, et kaardistamine õnnestus.

Näiteks test-ID-kaardiga näeks subject_mapping välja:

# Mapping file for Certificate Subject
# format: Certificate Subject -> login
/C=EE/O=ESTEID/OU=authentication/CN=M\xC3\x84NNIK,MARI-LIIS,47101010033/SN=M\xC3\x84NNIK/GN=MARI-LIIS/serialNumber=47101010033 -> mariliis

Lisaabi kaardistuste loomiseks leiab sellest juhendist.

PAM'i seadistamine

Et moodul kasutusele võtta, tuleb ta PAM'is ära seadistada. See on lihtsustatud pam-auth-update vahenditega.[5][6]

Esiteks lisada /usr/share/pam-configs/ kausta uus fail järgmise sisuga (faili nimi pole oluline, võib olla näitaks "pkcs11"):

Name: PKCS#11 authentication
Default: no
Priority: 800
Auth-Type: Primary
Auth: sufficient pam_pkcs11.so
  • Name - mooduli nimi.
  • Default - kas moodul on vaikimisi kasutusel.
  • Priority - kasutatakse moodulite järjestamiseks.
  • Auth-Type - mooduli tüüp.
  • Auth - rida, mis lisatakse PAM autentimismoodulite konfiguratsioonifaili.

NB! Et vältida end arvutist välja lukustamist tuleb enne jätkamist mõnes teises terminalis juurkasutajana sisse logida. Kui nüüd midagi valesti läheb, siis saab seda terminali kasutada, et viga kõrvaldada või süsteem taastada.

Järgmisena käivitada juurkasutaja õigustes käsk pam-auth-update. Seepeale kuvatakse dialoog, kust saab PKCS#11 mooduli lubada (kui ta pole juba vaikimisi lubatud). Valides "OK" rakendatakse muudatused ning nüüd saab (loodetavasti) kasutada ID-kaarti arvutisse sisse logimiseks. Seda saab kohe katsetada su või sudo käsuga.

Kui midagi läks valesti, siis kasutada eespool avatud tagavara terminali - sellega saab pam-auth-update uuesti käivitada, et vigane moodul keelata.

Allikaviited