DPKI: centralizētā PKI trÅ«kumu novērÅ”ana, izmantojot blokķēdi

DPKI: centralizētā PKI trÅ«kumu novērÅ”ana, izmantojot blokķēdi

Nav noslēpums, ka viens no biežāk izmantotajiem palÄ«grÄ«kiem, bez kura nav iespējama datu aizsardzÄ«ba atvērtos tÄ«klos, ir digitālo sertifikātu tehnoloÄ£ija. Taču nav noslēpums, ka galvenais tehnoloÄ£ijas trÅ«kums ir beznosacÄ«jumu uzticÄ“Å”anās centriem, kas izsniedz digitālos sertifikātus. ENCRY tehnoloÄ£iju un inovāciju direktors Andrejs Čmora ierosināja jaunu pieeju organizÄ“Å”anai publiskās atslēgas infrastruktÅ«ra (publiskā atslēgas infrastruktÅ«ra, PKI), kas palÄ«dzēs novērst paÅ”reizējās nepilnÄ«bas un kurā tiek izmantota sadalÄ«tās virsgrāmatas (blokķēdes) tehnoloÄ£ija. Bet vispirms vispirms.

Ja esat iepazinies ar to, kā darbojas jÅ«su paÅ”reizējā publiskās atslēgas infrastruktÅ«ra, un zināt tās galvenos trÅ«kumus, varat pāriet uz to, ko mēs piedāvājam mainÄ«t tālāk.

Kas ir ciparparaksti un sertifikāti?MijiedarbÄ«ba internetā vienmēr ir saistÄ«ta ar datu pārsÅ«tÄ«Å”anu. Mēs visi esam ieinteresēti nodroÅ”ināt datu droÅ”u pārsÅ«tÄ«Å”anu. Bet kas ir droŔība? VispieprasÄ«tākie droŔības pakalpojumi ir konfidencialitāte, integritāte un autentiskums. Å im nolÅ«kam paÅ”laik tiek izmantotas asimetriskas kriptogrāfijas metodes jeb kriptogrāfija ar publisko atslēgu.

Sāksim ar to, ka, lai izmantotu Ŕīs metodes, mijiedarbÄ«bas subjektiem ir jābÅ«t divām atseviŔķām pārÄ« savienotām atslēgām ā€“ publiskajām un slepenajām. Ar viņu palÄ«dzÄ«bu tiek nodroÅ”ināti iepriekÅ” minētie droŔības pakalpojumi.

Kā tiek panākta informācijas nodoÅ”anas konfidencialitāte? Pirms datu nosÅ«tÄ«Å”anas sÅ«tÄ«tājs abonents Å”ifrē (kriptogrāfiski pārveido) atvērtos datus, izmantojot adresāta publisko atslēgu, un saņēmējs atÅ”ifrē saņemto Å”ifrēto tekstu, izmantojot pārÄ« savienoto slepeno atslēgu.

DPKI: centralizētā PKI trÅ«kumu novērÅ”ana, izmantojot blokķēdi

Kā tiek panākta pārsÅ«tÄ«tās informācijas integritāte un autentiskums? Lai atrisinātu Å”o problēmu, tika izveidots cits mehānisms. Atvērtie dati netiek Å”ifrēti, bet Å”ifrētā veidā tiek pārsÅ«tÄ«ts kriptogrāfiskās jaucējfunkcijas pielietoÅ”anas rezultāts ā€“ ievaddatu secÄ«bas ā€œsaspiestsā€ attēls. Šādas jaukÅ”anas rezultāts tiek saukts par ā€œÄ«paÅ”umuā€, un tas tiek Å”ifrēts, izmantojot sÅ«tÄ«tāja abonenta (ā€œlieciniekaā€) slepeno atslēgu. ÄŖsojuma Å”ifrÄ“Å”anas rezultātā tiek iegÅ«ts ciparparaksts. Tas kopā ar skaidru tekstu tiek nosÅ«tÄ«ts saņēmējam abonentam (ā€œverificētājamā€). ViņŔ atÅ”ifrē ciparparakstu uz liecinieka publiskās atslēgas un salÄ«dzina to ar kriptogrāfiskās jaucējfunkcijas pielietoÅ”anas rezultātu, ko verificētājs aprēķina neatkarÄ«gi, pamatojoties uz saņemtajiem atvērtajiem datiem. Ja tie sakrÄ«t, tas norāda, ka datus autentiskā un pilnÄ«gā formā pārsÅ«tÄ«ja sÅ«tÄ«tājs abonents, nevis uzbrucējs tos modificēja.

DPKI: centralizētā PKI trÅ«kumu novērÅ”ana, izmantojot blokķēdi

Lielākā daļa resursu, kas strādā ar personas datiem un maksājumu informāciju (bankas, apdroÅ”ināŔanas kompānijas, aviokompānijas, maksājumu sistēmas, kā arÄ« valsts portāli, piemēram, nodokļu dienests), aktÄ«vi izmanto asimetriskas kriptogrāfijas metodes.

Kāds ar to sakars digitālajam sertifikātam? Tas ir vienkārÅ”i. Gan pirmajā, gan otrajā procesā tiek izmantotas publiskās atslēgas, un, tā kā tām ir galvenā loma, ir ļoti svarÄ«gi nodroÅ”ināt, lai atslēgas tieŔām pieder sÅ«tÄ«tājam (paraksta pārbaudes gadÄ«jumā lieciniekam) vai adresātam un nav aizstāts ar uzbrucēju atslēgām. Tāpēc pastāv digitālie sertifikāti, lai nodroÅ”inātu publiskās atslēgas autentiskumu un integritāti.

PiezÄ«me: publiskās atslēgas autentiskums un integritāte tiek apstiprināta tieÅ”i tādā paŔā veidā kā publisko datu autentiskums un integritāte, tas ir, izmantojot elektronisko ciparparakstu (EDS).
No kurienes nāk digitālie sertifikāti?Uzticamas sertifikācijas iestādes jeb sertifikācijas iestādes (CA) ir atbildÄ«gas par digitālo sertifikātu izsniegÅ”anu un uzturÄ“Å”anu. Pretendents pieprasa sertifikāta izsniegÅ”anu no CA, veic identifikāciju ReÄ£istrācijas centrā (CR) un saņem sertifikātu no SI. CA garantē, ka sertifikāta publiskā atslēga pieder tieÅ”i tai vienÄ«bai, kurai tā tika izsniegta.

Ja neapstiprināt publiskās atslēgas autentiskumu, uzbrucējs Ŕīs atslēgas pārsÅ«tÄ«Å”anas/glabāŔanas laikā var to aizstāt ar savu. Ja aizstāŔana ir notikusi, uzbrucējs varēs atÅ”ifrēt visu, ko nosÅ«toÅ”ais abonents pārraida saņēmējam abonentam, vai mainÄ«t atvērtos datus pēc saviem ieskatiem.

Ciparsertifikātus izmanto visur, kur ir pieejama asimetriskā kriptogrāfija. Viens no visizplatÄ«tākajiem digitālajiem sertifikātiem ir SSL sertifikāti droÅ”ai saziņai, izmantojot HTTPS protokolu. Simtiem dažādās jurisdikcijās reÄ£istrētu uzņēmumu ir iesaistÄ«ti SSL sertifikātu izsniegÅ”anā. Galvenā daļa attiecas uz pieciem lÄ«dz desmit lieliem uzticamiem centriem: IdenTrust, Comodo, GoDaddy, GlobalSign, DigiCert, CERTUM, Actalis, Secom, Trustwave.

CA un CR ir PKI sastāvdaļas, kas ietver arī:

  • Atvērt direktoriju ā€“ publiska datu bāze, kas nodroÅ”ina digitālo sertifikātu droÅ”u glabāŔanu.
  • Sertifikātu anulÄ“Å”anas saraksts ā€“ publiska datu bāze, kas nodroÅ”ina atsaukto publisko atslēgu digitālo sertifikātu droÅ”u glabāŔanu (piemēram, pārÄ« savienotas privātās atslēgas kompromitÄ“Å”anas dēļ). InfrastruktÅ«ras subjekti var neatkarÄ«gi piekļūt Å”ai datubāzei vai arÄ« izmantot specializēto tieÅ”saistes sertifikācijas statusa protokolu (OCSP), kas vienkārÅ”o verifikācijas procesu.
  • Sertifikātu lietotāji ā€“ apkalpotie PKI subjekti, kuri ir noslēguÅ”i lietotāja lÄ«gumu ar CA un pārbauda ciparparakstu un/vai Å”ifrē datus, pamatojoties uz sertifikāta publisko atslēgu.
  • Abonenti ā€“ apkalpoja PKI subjektus, kuriem pieder slepenā atslēga, kas savienota pārÄ« ar publisko atslēgu no sertifikāta un kuri ir noslēguÅ”i abonenta lÄ«gumu ar CA. Abonents vienlaikus var bÅ«t arÄ« sertifikāta lietotājs.

Tādējādi publiskās atslēgas infrastruktūras uzticamās entītijas, kas ietver CA, CR un atvērtos direktorijus, ir atbildīgas par:

1. Pieteikuma iesniedzēja identitātes autentiskuma pārbaude.
2. Publiskās atslēgas sertifikāta profilÄ“Å”ana.
3. Publiskās atslēgas sertifikāta izsniegÅ”ana pretendentam, kura identitāte ir droÅ”i apstiprināta.
4. Mainiet publiskās atslēgas sertifikāta statusu.
5. Informācijas sniegÅ”ana par publiskās atslēgas sertifikāta paÅ”reizējo statusu.

PKI trūkumi, kādi tie ir?Būtisks PKI trūkums ir uzticamu entītiju klātbūtne.
Lietotājiem bez nosacÄ«jumiem jāuzticas CA un CR. Bet, kā liecina prakse, beznosacÄ«jumu uzticÄ“Å”anās ir saistÄ«ta ar nopietnām sekām.

Pēdējo desmit gadu laikā Å”ajā jomā notikuÅ”i vairāki lieli skandāli saistÄ«bā ar infrastruktÅ«ras ievainojamÄ«bu.

ā€” 2010. gadā Stuxnet ļaunprogrammatÅ«ra sāka izplatÄ«ties tieÅ”saistē, kas tika parakstÄ«ta, izmantojot zagtus digitālos sertifikātus no RealTek un JMicron.

- 2017. gadā Google apsÅ«dzēja Symantec liela daudzuma viltotu sertifikātu izsniegÅ”anā. Tolaik Symantec bija viena no lielākajām CA ražoÅ”anas apjomu ziņā. PārlÅ«kprogrammā Google Chrome 70 Ŕī uzņēmuma un ar to saistÄ«to centru GeoTrust un Thawte izsniegto sertifikātu atbalsts tika pārtraukts pirms 1. gada 2017. decembra.

CA tika apdraudētas, un rezultātā cieta visi ā€” gan paÅ”i CA, gan lietotāji un abonenti. UzticÄ«ba infrastruktÅ«rai ir iedragāta. Turklāt digitālie sertifikāti var tikt bloķēti politisko konfliktu kontekstā, kas ietekmēs arÄ« daudzu resursu darbÄ«bu. TieÅ”i par to pirms vairākiem gadiem baidÄ«jās Krievijas prezidenta administrācija, kur 2016. gadā tika apspriesta iespēja izveidot valsts sertifikācijas centru, kas izsniegtu SSL sertifikātus vietnēm vietnē RuNet. PaÅ”reizējais stāvoklis ir tāds, ka Krievijā pat valsts portāli izmantot digitālie sertifikāti, ko izdevuÅ”i amerikāņu uzņēmumi Comodo vai Thawte (Symantec meitasuzņēmums).

Ir vēl viena problēma ā€“ jautājums lietotāju primārā autentifikācija (autentifikācija).. Kā atpazÄ«t lietotāju, kurÅ” ir sazinājies ar CA ar lÅ«gumu izsniegt ciparsertifikātu bez tieÅ”a personiska kontakta? Tagad tas tiek risināts situatÄ«vi atkarÄ«bā no infrastruktÅ«ras iespējām. Kaut kas tiek ņemts no atklātajiem reÄ£istriem (piemēram, informācija par juridiskām personām, kas pieprasa sertifikātus), gadÄ«jumos, kad pretendenti ir fiziskas personas, var izmantot bankas nodaļas vai pasta nodaļas, kurās viņu identitāte tiek apstiprināta, izmantojot personu apliecinoÅ”us dokumentus, piemēram, pasi.

Akreditācijas datu viltoÅ”anas problēma uzdoÅ”anās nolÅ«kā ir bÅ«tiska problēma. Ņemsim vērā, ka Å”ai problēmai nav pilnÄ«ga risinājuma informācijas teorētisku iemeslu dēļ: bez uzticamas informācijas a priori nav iespējams apstiprināt vai noliegt konkrēta priekÅ”meta autentiskumu. Parasti pārbaudei ir jāuzrāda pieteikuma iesniedzēja identitāti apliecinoÅ”u dokumentu kopums. Ir daudz dažādu pārbaudes metožu, taču neviena no tām nesniedz pilnÄ«gu dokumentu autentiskuma garantiju. LÄ«dz ar to nevar garantēt arÄ« pieteikuma iesniedzēja identitātes autentiskumu.

Kā Å”os trÅ«kumus novērst?Ja PKI problēmas paÅ”reizējā stāvoklÄ« ir skaidrojamas ar centralizāciju, tad ir loÄ£iski pieņemt, ka decentralizācija palÄ«dzētu daļēji novērst konstatētos trÅ«kumus.

Decentralizācija nenozÄ«mē uzticamu entÄ«tiju klātbÅ«tni, ja jÅ«s izveidojat decentralizēta publiskās atslēgas infrastruktÅ«ra (decentralizēta publiskās atslēgas infrastruktÅ«ra, DPKI), tad nav nepiecieÅ”ami ne CA, ne CR. Atteiksimies no digitālā sertifikāta jēdziena un izmantosim izplatÄ«to reÄ£istru, lai uzglabātu informāciju par publiskajām atslēgām. MÅ«su gadÄ«jumā mēs par reÄ£istru saucam lineāru datubāzi, kas sastāv no atseviŔķiem ierakstiem (blokiem), kas saistÄ«ti, izmantojot blokķēdes tehnoloÄ£iju. Digitālā sertifikāta vietā mēs ieviesÄ«sim jēdzienu ā€œpaziņojumsā€.

Kā izskatÄ«sies paziņojumu saņemÅ”anas, pārbaudes un atcelÅ”anas process ierosinātajā DPKI:

1. Katrs pretendents iesniedz pieteikumu paziņojuma saņemÅ”anai patstāvÄ«gi, reÄ£istrācijas laikā aizpildot veidlapu, pēc kuras viņŔ izveido darÄ«jumu, kas tiek glabāts specializētā pÅ«lā.

2. Informācija par publisko atslēgu kopā ar Ä«paÅ”nieka rekvizÄ«tiem un citiem metadatiem tiek glabāta izplatÄ«tajā reÄ£istrā, nevis digitālajā sertifikātā, par kura izsniegÅ”anu centralizētajā PKI ir atbildÄ«ga CA.

3. Pieteicēja identitātes autentiskuma pārbaude tiek veikta pēc DPKI lietotāju kopienas, nevis CR kopīgiem spēkiem.

4. Tikai Ŕāda paziņojuma Ä«paÅ”nieks var mainÄ«t publiskās atslēgas statusu.

5. Ikviens var piekļūt izplatÄ«tajai virsgrāmatai un pārbaudÄ«t publiskās atslēgas paÅ”reizējo statusu.

PiezÄ«me. Kopienas veiktā pieteikuma iesniedzēja identitātes pārbaude no pirmā acu uzmetiena var Ŕķist neuzticama. Taču jāatceras, ka mÅ«sdienās visi digitālo pakalpojumu lietotāji neizbēgami atstāj digitālo pēdu, un Å”is process tikai turpinās uzņemties apgriezienus. Atvērtie elektroniskie juridisko personu reÄ£istri, kartes, reljefa attēlu digitalizācija, sociālie tÄ«kli - tie visi ir publiski pieejami rÄ«ki. Tos izmeklÄ“Å”anas laikā jau veiksmÄ«gi izmanto gan žurnālisti, gan tiesÄ«bsargājoŔās iestādes. Piemēram, pietiek atcerēties Bellingcat vai apvienotās izmeklÄ“Å”anas grupas JIT izmeklÄ“Å”anu, kas pēta Malaizijas Boeing avārijas apstākļus.

Tātad, kā decentralizēta publiskās atslēgas infrastruktÅ«ra darbotos praksē? Pakavēsimies pie paÅ”as tehnoloÄ£ijas apraksta, ko mēs patentēts 2018. gadā un mēs to pamatoti uzskatām par savu zinātÄ«bu.

Iedomājieties, ka ir kāds Ä«paÅ”nieks, kuram pieder daudzas publiskās atslēgas, kur katra atslēga ir noteikts darÄ«jums, kas tiek glabāts reÄ£istrā. Ja nav CA, kā saprast, ka visas atslēgas pieder Å”im konkrētajam Ä«paÅ”niekam? Lai atrisinātu Å”o problēmu, tiek izveidots nulles darÄ«jums, kurā ir informācija par Ä«paÅ”nieku un viņa maku (no kura tiek norakstÄ«ta komisijas maksa par darÄ«juma ievietoÅ”anu reÄ£istrā). Nulles darÄ«jums ir sava veida ā€œenkursā€, kuram tiks pievienoti Ŕādi darÄ«jumi ar datiem par publiskajām atslēgām. Katrs Ŕāds darÄ«jums satur specializētu datu struktÅ«ru jeb, citiem vārdiem sakot, paziņojumu.

Paziņojums ir strukturēta datu kopa, kas sastāv no funkcionāliem laukiem un ietver informāciju par Ä«paÅ”nieka publisko atslēgu, kuras noturÄ«bu garantē ievietoÅ”ana kādā no saistÄ«tajiem izplatÄ«tā reÄ£istra ierakstiem.

Nākamais loÄ£iskais jautājums ir, kā tiek veidots nulles darÄ«jums? Nulles darÄ«jums, tāpat kā nākamie, ir seÅ”u datu lauku apkopojums. Nulles darÄ«juma veidoÅ”anas laikā tiek iesaistÄ«ts maka atslēgu pāris (publiskās un pārÄ« savienotās slepenās atslēgas). Å is atslēgu pāris parādās brÄ«dÄ«, kad lietotājs reÄ£istrē savu maku, no kura tiks iekasēta komisijas maksa par nulles darÄ«juma izvietoÅ”anu reÄ£istrā un pēc tam par operācijām ar paziņojumiem.

DPKI: centralizētā PKI trÅ«kumu novērÅ”ana, izmantojot blokķēdi

Kā parādÄ«ts attēlā, maka publiskās atslēgas Ä«ssavilkums tiek Ä£enerēts, secÄ«gi piemērojot jaucējfunkcijas SHA256 un RIPEMD160. Å eit RIPEMD160 ir atbildÄ«gs par kompaktu datu attēlojumu, kura platums nepārsniedz 160 bitus. Tas ir svarÄ«gi, jo reÄ£istrs nav lēta datu bāze. Pati publiskā atslēga tiek ievadÄ«ta piektajā laukā. Pirmajā laukā ir dati, kas izveido savienojumu ar iepriekŔējo darÄ«jumu. Nulles darÄ«jumam Å”ajā laukā nav nekā, kas to atŔķir no turpmākajiem darÄ«jumiem. Otrais lauks ir dati transakciju savienojamÄ«bas pārbaudei. ÄŖsuma labad mēs nosauksim datus pirmajā un otrajā laukā attiecÄ«gi ā€œsaiteā€ un ā€œpārbaudÄ«tā€. Å o lauku saturu Ä£enerē iteratÄ«va jaukÅ”ana, kā parādÄ«ts, saistot otro un treÅ”o darÄ«jumu tālāk esoÅ”ajā attēlā.

DPKI: centralizētā PKI trÅ«kumu novērÅ”ana, izmantojot blokķēdi

Pirmo piecu lauku dati tiek sertificēti ar elektronisko parakstu, kas tiek ģenerēts, izmantojot maka slepeno atslēgu.

Tas arÄ« viss, nulles darÄ«jums tiek nosÅ«tÄ«ts uz pÅ«lu un pēc veiksmÄ«gas verifikācijas tiek ievadÄ«ts reÄ£istrā. Tagad ar to varat ā€œsaistÄ«tā€ tālāk norādÄ«tos darÄ«jumus. ApskatÄ«sim, kā tiek veidoti darÄ«jumi, kas nav nulles.

DPKI: centralizētā PKI trÅ«kumu novērÅ”ana, izmantojot blokķēdi

Pirmā lieta, kas, iespējams, piesaistīja jūsu uzmanību, ir atslēgu pāru pārpilnība. Papildus jau pazīstamajam seifa atslēgu pārim tiek izmantoti parastie un pakalpojumu atslēgu pāri.

Parasta publiskā atslēga ir tas, kam viss tika sākts. Å Ä« atslēga ir iesaistÄ«ta dažādās procedÅ«rās un procesos, kas norisinās ārējā pasaulē (bankas un citi darÄ«jumi, dokumentu plÅ«sma utt.). Piemēram, ar slepenu atslēgu no parasta pāra var Ä£enerēt ciparparakstus dažādiem dokumentiem ā€“ maksājuma uzdevumiem u.c., bet publisko atslēgu var izmantot, lai pārbaudÄ«tu Å”o ciparparakstu ar sekojoÅ”u Å”o norādÄ«jumu izpildi, ja ir derÄ«gs.

Pakalpojumu pāris tiek izsniegts reģistrētajam DPKI subjektam. Šī pāra nosaukums atbilst tā mērķim. Ņemiet vērā, ka, veidojot/pārbaudot nulles darījumu, servisa atslēgas netiek izmantotas.

Noskaidrosim vēlreiz atslēgu mērķi:

  1. Maka atslēgas tiek izmantotas, lai Ä£enerētu/verificētu gan nulles darÄ«jumu, gan jebkuru citu darÄ«jumu, kas nav nulle. Maka privāto atslēgu zina tikai maka Ä«paÅ”nieks, kurÅ” ir arÄ« daudzu parastu publisko atslēgu Ä«paÅ”nieks.
  2. Parasta publiskā atslēga pēc nolūka ir līdzīga publiskajai atslēgai, kurai centralizētā PKI tiek izsniegts sertifikāts.
  3. Pakalpojuma atslēgu pāris pieder DPKI. Slepenā atslēga tiek izsniegta reÄ£istrētām vienÄ«bām un tiek izmantota, Ä£enerējot transakciju ciparparakstus (izņemot nulles darÄ«jumus). Publisks tiek izmantots, lai pārbaudÄ«tu darÄ«juma elektronisko ciparparakstu pirms tā ievietoÅ”anas reÄ£istrā.

Tādējādi ir divas atslēgu grupas. Pirmajā ietilpst pakalpojumu atslēgas un seifa atslēgas ā€” tām ir jēga tikai DPKI kontekstā. Otrajā grupā ietilpst parastās atslēgas ā€“ to darbÄ«bas joma var atŔķirties, un to nosaka lietojumprogrammas uzdevumi, kuros tās tiek izmantotas. Tajā paŔā laikā DPKI nodroÅ”ina parasto publisko atslēgu integritāti un autentiskumu.

PiezÄ«me. Pakalpojuma atslēgu pāris var bÅ«t zināms dažādām DPKI entÄ«tijām. Piemēram, tas var bÅ«t vienāds visiem. TieÅ”i Ŕī iemesla dēļ, Ä£enerējot parakstu katram ne-nulles darÄ«jumam, tiek izmantotas divas slepenās atslēgas, no kurām viena ir maka atslēga - to zina tikai maka Ä«paÅ”nieks, kurÅ” ir arÄ« daudzu parastu Ä«paÅ”nieks. publiskās atslēgas. Visām atslēgām ir sava nozÄ«me. Piemēram, vienmēr ir iespējams pierādÄ«t, ka darÄ«jumu reÄ£istrā ievadÄ«jis reÄ£istrēts DPKI subjekts, jo paraksts tika Ä£enerēts arÄ« uz slepenā dienesta atslēgas. Un nevar bÅ«t ļaunprātÄ«ga izmantoÅ”ana, piemēram, DOS uzbrukumi, jo Ä«paÅ”nieks maksā par katru darÄ«jumu.

Visi darÄ«jumi, kas seko nullei, tiek veidoti lÄ«dzÄ«gi: publiskā atslēga (nevis maka, kā nulles darÄ«juma gadÄ«jumā, bet no parasta atslēgu pāra) tiek palaists caur divām jaucējfunkcijām SHA256 un RIPEMD160. Tā veidojas treŔā lauka dati. Ceturtajā laukā ir pievienota informācija (piemēram, informācija par paÅ”reizējo statusu, derÄ«guma termiņiem, laikspiedolu, izmantoto kripto-algoritmu identifikatoriem utt.). Piektajā laukā ir publiskā atslēga no pakalpojuma atslēgu pāra. Ar tā palÄ«dzÄ«bu ciparparaksts tiks pārbaudÄ«ts, tāpēc tas tiks pavairots. Pamatosim Ŕādas pieejas nepiecieÅ”amÄ«bu.

Atcerieties, ka darÄ«jums tiek ievadÄ«ts pÅ«lā un tiek glabāts tur, lÄ«dz tas tiek apstrādāts. UzglabāŔana pÅ«lā ir saistÄ«ta ar noteiktu risku ā€“ darÄ«jumu dati var tikt viltoti. DarÄ«juma datus Ä«paÅ”nieks apliecina ar elektronisko ciparparakstu. Publiskā atslēga Ŕī ciparparaksta pārbaudei ir skaidri norādÄ«ta vienā no darÄ«juma laukiem un pēc tam tiek ievadÄ«ta reÄ£istrā. DarÄ«jumu apstrādes Ä«patnÄ«bas ir tādas, ka uzbrucējs var mainÄ«t datus pēc saviem ieskatiem un pēc tam tos pārbaudÄ«t, izmantojot savu slepeno atslēgu, un norādÄ«t pārÄ« savienotu publisko atslēgu digitālā paraksta pārbaudei darÄ«jumā. Ja autentiskums un integritāte tiek nodroÅ”ināta tikai ar digitālo parakstu, tad Ŕāds viltojums paliks nepamanÄ«ts. Taču, ja bez ciparparaksta ir kāds papildu mehānisms, kas nodroÅ”ina gan arhivÄ“Å”anu, gan saglabātās informācijas noturÄ«bu, tad viltojumu var atklāt. Lai to izdarÄ«tu, pietiek ar Ä«paÅ”nieka Ä«stās publiskās atslēgas ievadÄ«Å”anu reÄ£istrā. Paskaidrosim, kā tas darbojas.

Ä»aujiet uzbrucējam viltot darÄ«jumu datus. No atslēgu un ciparparakstu viedokļa ir iespējamas Ŕādas iespējas:

1. Uzbrucējs ievieto savu publisko atslēgu darÄ«jumā, kamēr Ä«paÅ”nieka ciparparaksts paliek nemainÄ«gs.
2. Uzbrucējs izveido ciparparakstu uz savas privātās atslēgas, bet atstāj Ä«paÅ”nieka publisko atslēgu nemainÄ«gu.
3. Uzbrucējs izveido ciparparakstu uz savas privātās atslēgas un ievieto pārī savienotu publisko atslēgu darījumā.

AcÄ«mredzot 1. un 2. opcijai nav nozÄ«mes, jo tās vienmēr tiks noteiktas digitālā paraksta pārbaudes laikā. Ir jēga tikai 3. iespējai, un, ja uzbrucējs izveido ciparparakstu uz savas slepenās atslēgas, viņŔ darÄ«jumā ir spiests saglabāt pārÄ« savienotu publisko atslēgu, kas atŔķiras no Ä«paÅ”nieka publiskās atslēgas. Tas ir vienÄ«gais veids, kā uzbrucējs var uzspiest viltotus datus.

Pieņemsim, ka Ä«paÅ”niekam ir fiksēts atslēgu pāris ā€“ privātā un publiskā. Ä»aujiet datus apliecināt ar ciparparakstu, izmantojot Ŕī pāra slepeno atslēgu, un darÄ«jumā tiek norādÄ«ta publiskā atslēga. Pieņemsim arÄ«, ka Ŕī publiskā atslēga iepriekÅ” ir ievadÄ«ta reÄ£istrā un tās autentiskums ir droÅ”i pārbaudÄ«ts. Tad par viltojumu tiks norādÄ«ts fakts, ka darÄ«juma publiskā atslēga neatbilst publiskajai atslēgai no reÄ£istra.

Apkoposim. Apstrādājot Ä«paÅ”nieka paÅ”us pirmos darÄ«juma datus, nepiecieÅ”ams pārbaudÄ«t reÄ£istrā ievadÄ«tās publiskās atslēgas autentiskumu. Lai to izdarÄ«tu, izlasiet atslēgu no reÄ£istra un salÄ«dziniet to ar Ä«paÅ”nieka patieso publisko atslēgu droŔības perimetrā (relatÄ«vās neievainojamÄ«bas zonā). Ja atslēgas autentiskums tiek apstiprināts un tās noturÄ«ba tiek garantēta ievietojot, tad atslēgas autentiskumu no nākamā darÄ«juma var viegli apstiprināt/atspēkot, salÄ«dzinot to ar atslēgu no reÄ£istra. Citiem vārdiem sakot, atslēga no reÄ£istra tiek izmantota kā atsauces paraugs. Visi pārējie Ä«paÅ”nieku darÄ«jumi tiek apstrādāti lÄ«dzÄ«gi.

DarÄ«jums tiek apliecināts ar elektronisko ciparparakstu - Å”eit ir nepiecieÅ”amas slepenās atslēgas, un nevis viena, bet divas uzreiz - servisa atslēga un maka atslēga. Pateicoties divu slepeno atslēgu izmantoÅ”anai, tiek nodroÅ”ināts nepiecieÅ”amais droŔības lÄ«menis - galu galā pakalpojuma slepenā atslēga var bÅ«t zināma citiem lietotājiem, savukārt maka slepeno atslēgu zina tikai parastā atslēgu pāra Ä«paÅ”nieks. Mēs Ŕādu divu atslēgu parakstu saucām par ā€œkonsolidētuā€ ciparparakstu.

Nenulles darījumu pārbaude tiek veikta, izmantojot divas publiskās atslēgas: maku un servisa atslēgu. Verifikācijas procesu var iedalīt divos galvenajos posmos: pirmais ir maka publiskās atslēgas īssavilkuma pārbaude, bet otrais ir darījuma elektroniskā ciparparaksta pārbaude, tas pats konsolidētais, kas tika izveidots, izmantojot divas slepenās atslēgas ( maku un serviss). Ja ciparparaksta derīgums tiek apstiprināts, tad pēc papildu pārbaudes darījums tiek ievadīts reģistrā.

DPKI: centralizētā PKI trÅ«kumu novērÅ”ana, izmantojot blokķēdi

Var rasties loÄ£isks jautājums: kā pārbaudÄ«t, vai darÄ«jums pieder konkrētai ķēdei ar ā€œsakniā€ nulles darÄ«juma formā? Å im nolÅ«kam verifikācijas process tiek papildināts ar vēl vienu posmu - savienojamÄ«bas pārbaudi. Å eit mums bÅ«s nepiecieÅ”ami dati no pirmajiem diviem laukiem, kurus lÄ«dz Å”im esam ignorējuÅ”i.

Iedomāsimies, ka mums ir jāpārbauda, ā€‹ā€‹vai darÄ«jums Nr.3 tieŔām nāk pēc darÄ«juma Nr.2. Lai to izdarÄ«tu, izmantojot kombinēto jaukÅ”anas metodi, transakcijas Nr.2 treŔā, ceturtā un piektā lauka datiem tiek aprēķināta jaukÅ”anas funkcijas vērtÄ«ba. Pēc tam tiek veikta datu salikÅ”ana no pirmā darÄ«juma Nr.3 lauka un iepriekÅ” iegÅ«tās kombinētās jaucējfunkcijas vērtÄ«bas datiem no darÄ«juma Nr.2 treŔā, ceturtā un piektā lauka. Tas viss tiek palaists arÄ« caur divām jaucējfunkcijām SHA256 un RIPEMD160. Ja saņemtā vērtÄ«ba sakrÄ«t ar datiem transakcijas Nr.2 otrajā laukā, tad pārbaude tiek izieta un savienojums tiek apstiprināts. Tas ir skaidrāk parādÄ«ts zemāk esoÅ”ajos attēlos.

DPKI: centralizētā PKI trÅ«kumu novērÅ”ana, izmantojot blokķēdi
DPKI: centralizētā PKI trÅ«kumu novērÅ”ana, izmantojot blokķēdi

Kopumā tehnoloÄ£ija paziņojuma Ä£enerÄ“Å”anai un ievadÄ«Å”anai reÄ£istrā izskatās tieÅ”i Ŕādi. Paziņojumu ķēdes veidoÅ”anas procesa vizuāla ilustrācija ir parādÄ«ta Å”ajā attēlā:

DPKI: centralizētā PKI trÅ«kumu novērÅ”ana, izmantojot blokķēdi

Å ajā tekstā mēs nekavēsimies pie detaļām, kuras neapÅ”aubāmi pastāv, un atgriezÄ«simies pie paÅ”as idejas par decentralizētu publiskās atslēgas infrastruktÅ«ru.

Tātad, tā kā pieteikuma iesniedzējs pats iesniedz pieteikumu reģistrācijai paziņojumiem, kas tiek glabāti nevis CA datubāzē, bet gan reģistrā, jāņem vērā DPKI galvenās arhitektūras sastāvdaļas:

1. Derīgo paziņojumu reģistrs (RDN).
2. Atsaukto paziņojumu reģistrs (RON).
3. Apturēto paziņojumu reģistrs (RPN).

Informācija par publiskajām atslēgām tiek glabāta RDN/RON/RPN jaucējfunkciju vērtÄ«bu veidā. Ir arÄ« vērts atzÄ«mēt, ka tie var bÅ«t vai nu dažādi reÄ£istri, vai dažādas ķēdes, vai pat viena ķēde kā viena reÄ£istra daļa, kad tiek ievadÄ«ta informācija par parastās publiskās atslēgas statusu (atsaukÅ”ana, apturÄ“Å”ana utt.). ceturtais datu struktÅ«ras lauks atbilstoŔās koda vērtÄ«bas formā. DPKI arhitektoniskajai ievieÅ”anai ir daudz dažādu iespēju, un viena vai otra izvēle ir atkarÄ«ga no vairākiem faktoriem, piemēram, tādiem optimizācijas kritērijiem kā ilgtermiņa atmiņas izmaksas publisko atslēgu glabāŔanai u.c.

Tādējādi DPKI var izrādÄ«ties ja ne vienkārŔāks, tad vismaz salÄ«dzināms ar centralizētu risinājumu arhitektÅ«ras sarežģītÄ«bas ziņā.

Galvenais jautājums paliek - KurÅ” reÄ£istrs ir piemērots tehnoloÄ£ijas ievieÅ”anai?

Galvenā prasÄ«ba reÄ£istram ir iespēja Ä£enerēt jebkura veida darÄ«jumus. Slavenākais virsgrāmatas piemērs ir Bitcoin tÄ«kls. Bet, ievieÅ”ot iepriekÅ” aprakstÄ«to tehnoloÄ£iju, rodas zināmas grÅ«tÄ«bas: esoŔās skriptu valodas ierobežojumi, nepiecieÅ”amo mehānismu trÅ«kums patvaļīgu datu kopu apstrādei, patvaļīga veida darÄ«jumu Ä£enerÄ“Å”anas metodes un daudz kas cits.

Mēs ENCRY centāmies atrisināt iepriekÅ” formulētās problēmas un izstrādājām reÄ£istru, kuram, mÅ«suprāt, ir vairākas priekÅ”rocÄ«bas, proti:

  • atbalsta vairāku veidu darÄ«jumus: var gan apmainÄ«ties ar aktÄ«viem (tas ir, veikt finanÅ”u darÄ«jumus), gan izveidot darÄ«jumus ar patvaļīgu struktÅ«ru,
  • izstrādātājiem ir pieejama patentēta programmÄ“Å”anas valoda PrismLang, kas nodroÅ”ina nepiecieÅ”amo elastÄ«bu dažādu tehnoloÄ£isku problēmu risināŔanā,
  • tiek nodroÅ”ināts patvaļīgu datu kopu apstrādes mehānisms.

Ja mēs izmantojam vienkārÅ”otu pieeju, tad notiek Ŕāda darbÄ«bu secÄ«ba:

  1. Pieteikuma iesniedzējs reģistrējas DPKI un saņem digitālo maku. Maka adrese ir maka publiskās atslēgas jaucējvērtība. Maka privātā atslēga ir zināma tikai pieteikuma iesniedzējam.
  2. ReÄ£istrētajam subjektam tiek pieŔķirta piekļuve pakalpojuma slepenajai atslēgai.
  3. Subjekts ģenerē nulles darījumu un pārbauda to ar ciparparakstu, izmantojot seifa slepeno atslēgu.
  4. Ja tiek izveidots darījums, kas nav nulle, tas tiek apstiprināts ar elektronisko ciparparakstu, izmantojot divas slepenās atslēgas: maka un dienesta atslēgas.
  5. Subjekts iesniedz darījumu pūlam.
  6. ENCRY tīkla mezgls nolasa transakciju no pūla un pārbauda ciparparakstu, kā arī darījuma savienojamību.
  7. Ja ciparparaksts ir derīgs un savienojums ir apstiprināts, tad tas sagatavo darījumu ierakstīŔanai reģistrā.

Šeit reģistrs darbojas kā izplatīta datu bāze, kurā tiek glabāta informācija par derīgiem, atceltiem un apturētiem paziņojumiem.

Protams, decentralizācija nav panaceja. Primārā lietotāja autentifikācijas pamatproblēma nekur nepazÅ«d: ja Å”obrÄ«d pretendenta verifikāciju veic CR, tad DPKI tiek piedāvāts verifikāciju deleģēt kopienas biedriem, bet aktivitātes stimulÄ“Å”anai izmantot finansiālo motivāciju. Atvērtā koda verifikācijas tehnoloÄ£ija ir labi zināma. Šādas pārbaudes efektivitāte ir apstiprināta praksē. Vēlreiz atcerēsimies vairākas tieÅ”saistes izdevuma Bellingcat augsta lÄ«meņa izmeklÄ“Å”anas.

Bet kopumā veidojas Ŕāda aina: DPKI ir iespēja izlabot ja ne visus, tad daudzus centralizētā PKI trÅ«kumus.

Abonējiet mūsu Habrablog, mēs plānojam turpināt aktīvi atspoguļot mūsu pētniecību un attīstību, un sekot Twitter, ja nevēlies palaist garām citus jaunumus par ENCRY projektiem.

Avots: www.habr.com

Pievieno komentāru