240 likes | 436 Views
Ajatemplisüsteemid. Ahto Buldas. Loengu sisu. Mis on ajatemplid. Ajatemplitega seotud käideldavusohud. Ülevaade ajatemplisüsteemidest ja nende turvalisusest. Mitme serveri kasutamine. Veakindlast linkimisest. Uutest uurimissuundadest.
E N D
Ajatemplisüsteemid Ahto Buldas
Loengu sisu • Mis on ajatemplid. • Ajatemplitega seotud käideldavusohud. • Ülevaade ajatemplisüsteemidest ja nende turvalisusest. • Mitme serveri kasutamine. • Veakindlast linkimisest. • Uutest uurimissuundadest.
Ajatempel on tõestus teatud andmete tekkehetke seosele muude sündmustega: Värskus -- andmed x tekkisid hiljem kui t. Eksistents -- andmed y tekkisid enne kui t. Järjestus -- andmed y tekkisid varem kui andmed x.
Ajatempli väljaandmine • Kasutaja saadab ajatempliserverile dokumendi X krüptograafilise lühendi x. • Server (Time Stamping Authority, TSA) saadab vastu ajatempli T(x,t), mis sõltub hetkeajast t ja eelnevalt välja antud templitest. T(x,t) Ajatemplite baas Kasutaja TSA x t Ajaallikas
Ajatempel kui tõestus • Dokumendi loomise aja objektiivne tõestamine on vajalik näiteks patendivaidlustes, hangetes ja oksjonitel. • Ajatempel aitab tõestada digitaalallkirja kehtivust juhul kui allkirja andmise vahend enam ei kehti.
Primitiivne ajatembeldus • Kasutaja saadab dokumendi lühendi x ajatempliserverile. • Ajatempliserver lisab lühendile x kellaaja t ja varustab paari {x,t} oma digitaalallkirjaga. • Ajatempliserver saadab allkirjastatud sõnumi SigTSA{x,t} tagasi kasutajale. • Ajatempliserver salvestab paari {x,t} andmebaasi [mitte igas süsteemis!].
Ajatemplisüsteemide ajalugu • Absoluutsed ajatemplid -- kuni 1990. • Suhtelised ajatemplid (auditeeritavus) 1990, Haber ja Stornetta -- linkimine 1992, Bayer, Haber ja Stornetta. Benaloh ja de Mare -- Merkle’i puude kasutamine. • Ajasertifikaadid (auditeeritavus + off-line kontroll) 1996, Pinto ja Freitas -- lahendus ebaefektiivne 1998, Buldas, Laud, Lipmaa, Willemson -- efektiivsed ajasertifikaadid.
Käideldavusohud • TSA võtme leke -- peale seda on raske vahet teha: (1) õigetel ajatemplitel, mis anti välja enne leket; ja (2) võltsajatemplitel, mis moodustati peale leket. • Teenuse tõkestus -- tõestusmaterjali moodustamine on häiritud --> tähtsad otsused võivad hilineda. • Andmekadu ajatempliserveris -- osa ajatempleid muutub mittekontrollitavaks, mistõttu osa dokumente (lepingud, esitajaobligatsioonid vms.) kaotab oma tõestusväärtuse --> võimalikud rahalised kahjud.
Primitiivse ajatembelduse puudused ja hüved • Kui andmebaas puudub, siis TSA võtme lekke tulemusena muutuvad kõik seni välja antud ajatemplid sisuliselt kehtetuteks … ja koos nendega ka (muude tõendite puudumisel) kõik digitaalallkirjad, mille andmisel kasutatud vahend on juba kehtetu. • Andmebaasi häving põhjustab eelmises punktis kirjeldatud olukorra. • TSA ja tema ajaallikas peavad olema tingimusteta usaldatavad. Hüve: Ajatempel on kontrollitav serveriga suhtlemata.
Suhtelise ajatembelduse idee Tähelepanekud aja kohta: • Füüsilise aja sidumine arvuga on kunstlik ja mitte alati võimalik. • Aeg jätab jälje füüsilistele kehadele, kuid mitte arvutis olevatele andmetele (mis ise on sisuliselt arvud!). • Füüsilise aja suunda saab määrata põhjuslikkuse seoste abil. Tähelepanekud matemaatikast: • Mittekonstruktiivses (tavalises) matemaatikas aja mõiste puudub. • Konstruktiivses matemaatikas aitab põhjuslikkuse seoseid defineerida keerukusteooria: raskesti teostatava arvutuse mõiste. Põhiidee: Kasutada keerukusteooria abi aja suuna määramisel arvutiandmete maailmas.
Selgitus: “aja nool” tavamõistes • Piljardikuulide liikumine: Aja suund õige Aja suund vahetatud Tõenäoline olukord laual! Väga ebatõenäoline olukord! • Ehkki mehhaanikaseadused jäävad kehtima ka aja suuna vahetudes, on “aja nool” ikkagi “märgatav”.
Aeg arvutis • Kui funktsiooni f pöördfunktsiooni f-1 arvtamine on raskesti teostatav ja funktsioon f ise mitte, siis seosest: y = f(x) järeldub, et x oli olemas enne kui y, sest vasupidine olukord oleks liiga ebatõenäoline. • Kui y = f(f(x,x1),f(x2,x3)) ja kui y on avaldatud 25.oktoobri ajalehes, siis (x1,x2,x3) on objektiivne tõestus, et x tekkis hiljemalt 25. oktoobril.
Suhteline ajatembeldus • TSA peab turvalist logi (l0,…,ln,...), kus ln = f(xn,ln-1), ja (x1,…,xn) on ajatemplipäringud ajalises järjestuses. Ajatempli võtmine: 1. C TSA: xn 2. C TSA: SigTSA{xn,ln-1} Igal nädalal avaldab TSA viimase lN ajalehes. Kontroll: Küsitakse TSA käest (xn+1,xn+2,…,xN) ja kontrollitakse, kas arvutatud lN vastab avaldatule.
Suhtelise ajatembelduse hüved ja puudused • TSA võtme leke ei ole suur oht. • Suhtelist aega kasutav tõestus on objektiivsem. Puudused: • Tõestus (xn+1,xn+2,…,xN) on suhteliselt mahukas, kui seda hoida serveris, siis jääb alles andmekao oht. • Ajatempel on “valmis” alles nädala lõpuks. Tuleb kas leppida on-line kontrolliga või ebaefektiivselt suurte ajatemplitega. NB! On-line kontroll vajab täielikult usaldatavat serverit.
Suhtelise aja sertifikaadid • Idee: Igale väärtusele ln omistatakse (nädala lõpus) sertifikaat (n), mis lisatakse päringu xn ajatemplile. • Kui m<n, siis ((m),(n)) sisaldab y1,…,yp nii et: ln = f(yp,f(yp-1, …,f(y2, f(y1,xm))…)). xm ln = Meie panus: kompaktsed plog2(n-m) sertifikaadid y1 y2 yp-1 yp
Ajatempli teenus Alice 1. ajatempli avalduse esitamine 2. ajatempli koostamine 3. ajatempli omistamine aeg Kasutusalad: patendid Ajatempli saamine: • Alice saadab oma leiutise kirjelduse x ajatempliteenusele. • ja saab vastu ajatempli sx. Ajatemplite võrdlemine: comp(x,sy,w) = jah/ei. jah - “x oli olemas enne kui sy välja anti.” Turvalisus: (kaitstus järgneva ründe vastu): • Ründaja genereerib sy. • xvalitakse juhuslikult. • Ründaja genereerib w, nii et comp(x,sy,w) = jah.
Kasutusalad: digitaalallkirjad Ajatempli teenus Alice 1. ajatempli avalduse esitamine 5. ajatempli avalduse esitamine 2. ajatempli koostamine 6. ajatempli koostamine 3. ajatempli omistamine 7. ajatempli omistamine 4. signeerimine aeg Digitaalallkirja moodustamise ajavahemiku fikseerimiseks tekitatakse põhjuslikud ühesuunalised seosed. • Enne dokumendi x allkirjastamist võetakse sellele ajatempel sx ja lisatakse allkirjastatavale tekstile. • Allkirjale y=Sig{x, sx} võetakse uus ajatempel sy. Ühesuunalised seosed sxSig{x, sx} sy tõestavadki allkirjastamise aja. Kahe allkirja võrdlemine: sxSig{x, sx} sy Sig{x, sy} sz
Ajasertifikaadid: eelised, puudused • Tagavad ajatemplite objektiivse kontrolli: usalduseeldusi ei ole vaja teha. • Võtme lekke oht puudub. • Tagavad off-line kontrolli võimaluse. Puudused: • Ajatempel saab “valmis” alles nädala lõpuks. • Suur veatundlikkus: juhuslikud vead andmebaasis levivad kaugesse tulevikku!
Vigade avastus linkimisel • Kui suurus ln arvutatakse linkimisel valemiga: ln = f(xn,ln(1),…,ln(j)) (*) siis iga kord enne väärtuse ln kasutamist järgnevates arvutustes kontrollitakse võrdust (*). • See meede tagab, et juhuslikud (mittetahtlikud) vead andmebaasis avastatakse õigeaegselt.
Mitme serveriga süsteemid • Kaitsevad teenuse tõkestuse vastu ja • Absoluutse ajaga süsteemides lisaks sellele: - kaitsevad võtme lekke vastu (uuendusprotseduurid). - lubavad muuta täieliku usalduse läviusalduseks (threshold trust).
Mitme serveriga süsteem: On mitu serverit: TSA1, …, TSAs. • Ajatempli võtmine: 1. i: CTSAi: x 2. i: CTSAi: Ti = SigTSAi{x,ti} • Ajatempli (T1,…,Ts) kontroll: 1. Kontrollitakse digitaalallkirju. 2. Leitakse ajanäit: t = F(t1,…,ts), kus näiteks F(t1,…,ts) = min{t1,…,ts}.
Ajatempli (T1,…,Ts) uuendamine: Kui TSA1 võti lekib, ja T1=SigTSA1{x,t1} muutub kehtetuks, siis ajatempli uuendamiseks: 1. TSA1 genereerib uue võtme. 2. CTSA1: T2, …, Ts 3. CTSA1: T1’= SigTSA1,uus{x,t}, kus t = F(t2,…,ts). Näiteks kui võtta F(t2,…,ts):= k-s väikseim arv hulgast {t2,…,ts}, siis k-1 serverit ei pea käituma usaldatavalt - läviusaldus.
Võrdlus Linkimine + ajasertifikaadid Absoluutne aeg + mitu serverit Ohud Võtme leke Ohtu pole, võti puudub. Ajatempleid saab uuendada. Teenuse tõkestus Oht on olemas. Oht vähetõenäoline. Kiiresti avastatavad, pole olulised peale sertifikaadi saamist. Ohtu pole, andmebaas puudub. Vead andmebaasis Usalduseeldused Puuduvad. Läviusaldus.
Uutest uurimissuundadest: • Veaparanduse võimalikkus linkimisskeemides. • Läviusaldusega skeemide kasutamiseks sobilik infrastruktuur. • Ajatemplisüsteemide turvalisuse formaalne määratlemine. • Minimaalse suurusega ajasertifikaate andvad eriotstarbelised linkimisskeemid.