DPKI: блокчейн ашиглан төвлөрсөн PKI-ийн дутагдлыг арилгах

DPKI: блокчейн ашиглан төвлөрсөн PKI-ийн дутагдлыг арилгах

Нээлттэй сүлжээнд өгөгдөл хамгаалах боломжгүй түгээмэл хэрэглэгддэг туслах хэрэгслүүдийн нэг бол дижитал гэрчилгээний технологи байдаг нь нууц биш юм. Гэсэн хэдий ч технологийн гол дутагдал нь дижитал гэрчилгээ олгодог төвүүдэд болзолгүй итгэх явдал байдаг нь нууц биш юм. ENCRY-ийн Технологи, инновацийн захирал Андрей Чмора зохион байгуулах шинэ арга барилыг санал болгов нийтийн түлхүүрийн дэд бүтэц (Нийтийн түлхүүр дэд бүтэц, PKI), энэ нь одоогийн дутагдлыг арилгахад туслах бөгөөд тараасан дэвтэр (блокчэйн) технологийг ашигладаг. Гэхдээ хамгийн түрүүнд хийх зүйл.

Хэрэв та одоогийн нийтийн түлхүүрийн дэд бүтэц хэрхэн ажилладаг талаар сайн мэддэг бөгөөд түүний гол дутагдлуудыг мэддэг бол бидний доор өөрчлөхийг санал болгож буй зүйл рүү алгасаж болно.

Тоон гарын үсэг, гэрчилгээ гэж юу вэ?Интернет дэх харилцан үйлчлэл нь өгөгдөл дамжуулахад үргэлж ордог. Бид бүгд өгөгдлийг найдвартай дамжуулах сонирхолтой байдаг. Гэхдээ аюулгүй байдал гэж юу вэ? Хамгийн их эрэлттэй байгаа хамгаалалтын үйлчилгээ бол нууцлал, бүрэн бүтэн байдал, жинхэнэ байдал юм. Энэ зорилгоор тэгш хэмт бус криптограф буюу нийтийн түлхүүр бүхий криптографийн аргуудыг одоогоор ашиглаж байна.

Эдгээр аргуудыг ашиглахын тулд харилцан үйлчлэлийн субъектууд нь нийтийн болон нууц гэсэн хоёр тусдаа хос түлхүүртэй байх ёстой гэдгийг эхэлцгээе. Тэдгээрийн тусламжтайгаар бидний дээр дурдсан хамгаалалтын үйлчилгээг үзүүлдэг.

Мэдээлэл дамжуулах нууцлалыг хэрхэн хангадаг вэ? Өгөгдлийг илгээхийн өмнө илгээгч захиалагч нээлттэй өгөгдлийг хүлээн авагчийн нийтийн түлхүүрээр шифрлэдэг (криптографийн аргаар хувиргадаг), хүлээн авагч нь хосолсон нууц түлхүүрийг ашиглан хүлээн авсан шифр текстийг тайлдаг.

DPKI: блокчейн ашиглан төвлөрсөн PKI-ийн дутагдлыг арилгах

Дамжуулсан мэдээллийн бүрэн бүтэн байдал, үнэн зөв байдалд хэрхэн хүрч байна вэ? Энэ асуудлыг шийдэхийн тулд өөр механизм бий болгосон. Нээлттэй өгөгдөл нь шифрлэгдээгүй боловч криптограф хэш функцийг ашигласны үр дүн - оролтын өгөгдлийн дарааллын "шахсан" дүрс нь шифрлэгдсэн хэлбэрээр дамждаг. Ийм хэшний үр дүнг "дижест" гэж нэрлэдэг бөгөөд үүнийг илгээгч захиалагчийн ("гэрч") нууц түлхүүрээр шифрлэдэг. Дижестийг шифрлэсний үр дүнд дижитал гарын үсгийг олж авдаг. Үүнийг тодорхой текстийн хамт хүлээн авагчийн захиалагч ("баталгаажуулагч") руу дамжуулдаг. Тэрээр гэрчийн нийтийн түлхүүр дээрх тоон гарын үсгийг тайлж, криптограф хэш функцийг хэрэглэсний үр дүнтэй харьцуулж, баталгаажуулагч хүлээн авсан нээлттэй өгөгдөл дээр үндэслэн бие даан тооцоолдог. Хэрэв тэдгээр нь таарч байвал энэ нь илгээгч захиалагч өгөгдлийг жинхэнэ, бүрэн хэлбэрээр дамжуулсан бөгөөд халдагч өөрчлөөгүй болохыг харуулж байна.

DPKI: блокчейн ашиглан төвлөрсөн PKI-ийн дутагдлыг арилгах

Хувийн мэдээлэл, төлбөрийн мэдээлэлтэй ажилладаг ихэнх эх сурвалжууд (банк, даатгалын компаниуд, агаарын тээврийн компаниуд, төлбөрийн системүүд, түүнчлэн татварын алба гэх мэт төрийн порталууд) тэгш хэмт бус криптографийн аргыг идэвхтэй ашигладаг.

Дижитал гэрчилгээ нь үүнтэй ямар холбоотой вэ? Энэ бол энгийн. Эхний болон хоёр дахь үйл явц нь нийтийн түлхүүрийг хамардаг бөгөөд тэдгээр нь гол үүрэг гүйцэтгэдэг тул түлхүүрүүд нь илгээгчид (гарын үсэг баталгаажуулсан тохиолдолд гэрч) эсвэл хүлээн авагчид хамаарахгүй байх нь маш чухал юм. халдагчдын түлхүүрээр сольсон. Ийм учраас нийтийн түлхүүрийн жинхэнэ, бүрэн бүтэн байдлыг хангах дижитал сертификатууд байдаг.

Анхаарна уу: нийтийн түлхүүрийн үнэн зөв, бүрэн бүтэн байдал нь нийтийн мэдээллийн үнэн зөв, бүрэн бүтэн байдал, өөрөөр хэлбэл цахим тоон гарын үсэг (EDS) ашиглан баталгаажуулдаг.
Дижитал гэрчилгээ хаанаас ирдэг вэ?Итгэмжлэгдсэн баталгаажуулалтын байгууллагууд буюу Гэрчилгээжүүлэх байгууллагууд (CAs) нь дижитал гэрчилгээ олгох, хадгалах үүрэгтэй. Өргөдөл гаргагч нь CA-аас гэрчилгээ олгохыг хүсч, Бүртгэлийн төвд (БҮТ) таниулж, CA-аас гэрчилгээ авна. CA нь гэрчилгээний нийтийн түлхүүр нь түүнийг олгосон аж ахуйн нэгжийнх гэдгийг баталгаажуулдаг.

Хэрэв та нийтийн түлхүүрийн жинхэнэ эсэхийг баталгаажуулаагүй бол энэ түлхүүрийг шилжүүлэх/хадгалах явцад халдагч үүнийг өөрийн түлхүүрээр сольж болно. Хэрэв орлуулалт хийгдсэн бол халдагч нь илгээгч захиалагчийн хүлээн авагч руу дамжуулсан бүх зүйлийг тайлах эсвэл нээлттэй өгөгдлийг өөрийн үзэмжээр өөрчлөх боломжтой болно.

Дижитал гэрчилгээг тэгш хэмт бус криптограф байгаа бүх газарт ашигладаг. Хамгийн түгээмэл дижитал сертификатуудын нэг бол HTTPS протоколоор аюулгүй харилцах SSL сертификат юм. Төрөл бүрийн харьяалалд бүртгэлтэй олон зуун компаниуд SSL гэрчилгээ олгох ажилд оролцдог. Гол хувь нь IdenTrust, Comodo, GoDaddy, GlobalSign, DigiCert, CERTUM, Actalis, Secom, Trustwave зэрэг таваас арван том итгэмжлэгдсэн төвүүдэд ногдож байна.

CA ба CR нь PKI-ийн бүрэлдэхүүн хэсэг бөгөөд үүнд дараахь зүйлс орно.

  • Нээлттэй лавлах – дижитал гэрчилгээг найдвартай хадгалах боломжийг олгодог нийтийн мэдээллийн сан.
  • Гэрчилгээг хүчингүй болгох жагсаалт – хүчингүй болсон нийтийн түлхүүрүүдийн тоон гэрчилгээг найдвартай хадгалах боломжийг олгодог нийтийн мэдээллийн сан (жишээ нь, хосолсон хувийн түлхүүрийн эвдрэлийн улмаас). Дэд бүтцийн субьектүүд энэ мэдээллийн санд бие даан хандах боломжтой эсвэл баталгаажуулах үйл явцыг хялбаршуулдаг тусгай онлайн гэрчилгээний статусын протоколыг (OCSP) ашиглаж болно.
  • Сертификат хэрэглэгчид – CA-тай хэрэглэгчийн гэрээ байгуулж, гэрчилгээний нийтийн түлхүүр дээр үндэслэн тоон гарын үсэг болон/эсвэл өгөгдлийг шифрлэсэн үйлчилдэг PKI субъектууд.
  • Захиалагч – гэрчилгээний нийтийн түлхүүртэй хосолсон нууц түлхүүр эзэмшдэг, CA-тай захиалагчийн гэрээ байгуулсан PKI субъектуудад үйлчилдэг. Захиалагч нэгэн зэрэг гэрчилгээний хэрэглэгч байж болно.

Тиймээс, CA, CR болон нээлттэй лавлах зэрэг нийтийн түлхүүрийн дэд бүтцийн итгэмжлэгдсэн байгууллагууд дараахь зүйлийг хариуцна.

1. Өргөдөл гаргагчийн хувийн мэдээллийг үнэн зөв эсэхийг шалгах.
2. Нийтийн түлхүүрийн гэрчилгээний профайл.
3. Иргэний үнэмлэх нь найдвартай баталгаажсан өргөдөл гаргагчид нийтийн түлхүүрийн гэрчилгээ олгох.
4. Нийтийн түлхүүрийн гэрчилгээний статусыг өөрчлөх.
5. Нийтийн түлхүүрийн гэрчилгээний одоогийн байдлын талаар мэдээлэл өгөх.

PKI-ийн сул талууд, тэдгээр нь юу вэ?PKI-ийн гол дутагдал нь итгэмжлэгдсэн байгууллагууд байгаа явдал юм.
Хэрэглэгчид CA болон CR-д болзолгүйгээр итгэх ёстой. Гэхдээ практикээс харахад болзолгүй итгэл нь ноцтой үр дагаварт хүргэдэг.

Өнгөрсөн арван жилийн хугацаанд энэ салбарт дэд бүтцийн эмзэг байдалтай холбоотой хэд хэдэн томоохон дуулиан гарсан.

— 2010 онд RealTek болон JMicron-аас хулгайлагдсан дижитал сертификат ашиглан гарын үсэг зурсан Stuxnet хортой програм онлайнаар тархаж эхэлсэн.

- 2017 онд Google Symantec-ийг олон тооны хуурамч гэрчилгээ олгосон гэж буруутгаж байсан. Тухайн үед Symantec нь үйлдвэрлэлийн хэмжээгээрээ хамгийн том CA-уудын нэг байсан. Google Chrome 70 хөтөч дээр энэ компани болон түүний харьяа GeoTrust, Thawte төвүүдээс гаргасан гэрчилгээг 1 оны 2017-р сарын XNUMX-ээс өмнө зогсоосон.

CA-ууд эвдэгдэж, үүний үр дүнд бүгд хохирсон - CA-ууд өөрсдөө, мөн хэрэглэгчид болон захиалагчид. Дэд бүтцэд итгэх итгэл алдагдсан. Нэмж дурдахад улс төрийн зөрчилдөөний хүрээнд дижитал гэрчилгээг хааж болох бөгөөд энэ нь олон нөөцийн үйл ажиллагаанд нөлөөлнө. Энэ бол хэдэн жилийн өмнө Оросын Ерөнхийлөгчийн засаг захиргаанд айж байсан зүйл бөгөөд 2016 онд тэд RuNet дээрх сайтуудад SSL гэрчилгээ олгох улсын баталгаажуулалтын төв байгуулах боломжийг хэлэлцсэн юм. Одоогийн нөхцөл байдал нь Орос дахь төрийн порталууд хүртэл ийм байна ашиглах Америкийн Comodo эсвэл Thawte (Symantec-ийн охин компани) компаниудаас гаргасан дижитал гэрчилгээ.

Өөр нэг асуудал байна - асуулт хэрэглэгчдийн анхан шатны баталгаажуулалт (гэрчлэлт).. Шууд холбоо барихгүйгээр дижитал гэрчилгээ олгох хүсэлтээр CA-д хандсан хэрэглэгчийг хэрхэн тодорхойлох вэ? Одоо үүнийг дэд бүтцийн боломжоос хамааран нөхцөл байдлын дагуу шийдэж байна. Нээлттэй бүртгэлээс (жишээлбэл, гэрчилгээ хүссэн хуулийн этгээдийн талаархи мэдээлэл) ямар нэг зүйлийг авсан болно; өргөдөл гаргагч нь хувь хүн бол банкны оффис эсвэл шуудангийн салбарыг ашиглаж болно, иргэний үнэмлэх, жишээлбэл, паспорт ашиглан хэн болохыг нь баталгаажуулдаг.

Хуурамчлах зорилгоор итгэмжлэлийг хуурамчаар үйлдэх нь үндсэн асуудал юм. Мэдээлэл-онолын шалтгааны улмаас энэ асуудлыг бүрэн шийдэх боломжгүй гэдгийг анхаарна уу: априори найдвартай мэдээлэлгүйгээр тодорхой субьектийн үнэн зөвийг батлах эсвэл үгүйсгэх боломжгүй юм. Дүрмээр бол, баталгаажуулахын тулд өргөдөл гаргагчийн биеийн байцаалтыг баталгаажуулсан баримт бичгийн багцыг өгөх шаардлагатай. Баталгаажуулах олон янзын аргууд байдаг боловч тэдгээрийн аль нь ч баримт бичгийн жинхэнэ байдлын бүрэн баталгааг өгдөггүй. Иймээс өргөдөл гаргагчийн биеийн байцаалтын жинхэнэ эсэхийг баталгаажуулах боломжгүй юм.

Эдгээр дутагдлыг хэрхэн арилгах вэ?Хэрэв одоогийн байгаа PKI-ийн асуудлыг төвлөрөлтэй холбон тайлбарлах юм бол төвлөрлийг сааруулах нь илэрсэн дутагдлыг хэсэгчлэн арилгахад тусална гэж үзэх нь логик юм.

Төвлөрлийг сааруулах нь итгэмжлэгдсэн байгууллагууд байгаа гэсэн үг биш юм - хэрэв та үүсгэсэн бол төвлөрсөн бус нийтийн түлхүүрийн дэд бүтэц (Төвлөрсөн бус нийтийн түлхүүрийн дэд бүтэц, DPKI), тэгвэл CA эсвэл CR шаардлагагүй. Дижитал гэрчилгээ гэсэн ойлголтоос татгалзаж, нийтийн түлхүүрүүдийн талаарх мэдээллийг түгээх бүртгэлийг ашиглацгаая. Манай тохиолдолд регистрийг блокчэйн технологийг ашиглан холбогдсон бие даасан бүртгэлээс (блок) бүрдсэн шугаман мэдээллийн сан гэж нэрлэдэг. Тоон гэрчилгээний оронд бид "мэдэгдэл" гэсэн ойлголтыг нэвтрүүлэх болно.

Мэдэгдэл хүлээн авах, баталгаажуулах, цуцлах үйл явц нь санал болгож буй DPKI-д хэрхэн харагдах вэ:

1. Өргөдөл гаргагч бүр бүртгүүлэх явцад маягт бөглөх замаар мэдэгдлийн өргөдлийг бие даан гаргаж, дараа нь тусгай санд хадгалагдаж буй гүйлгээг бий болгодог.

2. Нийтийн түлхүүрийн талаарх мэдээлэл, эзэмшигчийн дэлгэрэнгүй мэдээлэл болон бусад мета өгөгдлийн хамт дижитал гэрчилгээнд биш харин тархсан бүртгэлд хадгалагддаг бөгөөд үүнийг төвлөрсөн PKI-д СА хариуцдаг.

3. Өргөдөл гаргагчийн биеийн байцаалтын жинхэнэ эсэхийг шалгах нь CR биш харин DPKI хэрэглэгчийн нийгэмлэгийн хамтын хүчин чармайлтаар хийгдсэний дараа хийгддэг.

4. Ийм мэдэгдлийн эзэмшигч л нийтийн түлхүүрийн статусыг өөрчлөх боломжтой.

5. Хэн ч тараасан дэвтэрт нэвтэрч, нийтийн түлхүүрийн одоогийн байдлыг шалгах боломжтой.

Тайлбар: Өргөдөл гаргагчийн биеийн байцаалтыг олон нийтээр баталгаажуулах нь эхлээд харахад найдваргүй мэт санагдаж магадгүй юм. Гэхдээ өнөө үед дижитал үйлчилгээний бүх хэрэглэгчид дижитал ул мөр үлдээх нь гарцаагүй бөгөөд энэ үйл явц улам бүр эрч хүчээ авах болно гэдгийг бид санах ёстой. Хуулийн этгээдийн нээлттэй цахим бүртгэл, газрын зураг, газрын зургийг дижитал болгох, нийгмийн сүлжээ - энэ бүхэн олон нийтэд нээлттэй хэрэгсэл юм. Тэдгээрийг сэтгүүлчид болон хууль сахиулах байгууллагуудын мөрдөн байцаалтын явцад аль хэдийн амжилттай ашиглаж байна. Жишээлбэл, Малайзын Боинг онгоцны ослын нөхцөл байдлыг судалж буй Bellingcat эсвэл JIT хамтарсан мөрдөн байцаах багийн мөрдөн байцаалтыг эргэн санахад хангалттай.

Тэгвэл практикт төвлөрсөн бус нийтийн түлхүүрийн дэд бүтэц хэрхэн ажиллах вэ? Технологийн өөрийнх нь тайлбар дээр анхаарлаа хандуулцгаая 2018 онд патентлагдсан мөн бид үүнийг өөрийн ноу-хау гэж үзэх нь зүй ёсны хэрэг.

Түлхүүр бүр нь бүртгэлд хадгалагдсан тодорхой гүйлгээ болох олон нийтийн түлхүүрийг эзэмшдэг зарим эзэмшигч байдаг гэж төсөөлөөд үз дээ. CA байхгүй тохиолдолд бүх түлхүүрүүд энэ тодорхой эзэмшигчийнх гэдгийг яаж ойлгох вэ? Энэ асуудлыг шийдэхийн тулд эзэмшигч болон түүний түрийвчний талаархи мэдээллийг агуулсан тэг гүйлгээг бий болгодог (бүртгэлд гүйлгээ хийх комиссыг хасдаг). Null гүйлгээ нь нийтийн түлхүүрүүдийн талаарх дараах гүйлгээг хавсаргах нэгэн төрлийн "зангуу" юм. Ийм гүйлгээ бүр тусгайлсан өгөгдлийн бүтэц, өөрөөр хэлбэл мэдэгдэл агуулсан байдаг.

Мэдэгдэл гэдэг нь функциональ талбаруудаас бүрдэх, эзэмшигчийн нийтийн түлхүүрийн талаарх мэдээллийг агуулсан бүтэцлэгдсэн өгөгдлийн багц бөгөөд тэдгээрийн тогтвортой байдал нь тархсан бүртгэлийн холбогдох бүртгэлүүдийн аль нэгэнд байршуулснаар баталгааждаг.

Дараагийн логик асуулт бол тэг гүйлгээ хэрхэн үүсдэг вэ? Дараах гүйлгээний адил тэг гүйлгээ нь зургаан өгөгдлийн талбарын нэгдэл юм. Тэг гүйлгээ үүсэх үед түрийвчний түлхүүр хос (нийтийн болон хосолсон нууц түлхүүр) оролцдог. Энэхүү хос түлхүүр нь хэрэглэгч түрийвчээ бүртгүүлэх үед гарч ирэх бөгөөд үүнээс бүртгэлд тэг гүйлгээ хийх комисс, дараа нь мэдэгдэл бүхий үйлдлүүдийг хасна.

DPKI: блокчейн ашиглан төвлөрсөн PKI-ийн дутагдлыг арилгах

Зурагт үзүүлсэнчлэн SHA256 болон RIPEMD160 хэш функцуудыг дараалан ашигласнаар түрийвчний нийтийн түлхүүрийн дижест үүсдэг. Энд RIPEMD160 нь өргөн нь 160 битээс хэтрэхгүй өгөгдлийг авсаархан дүрслэх үүрэгтэй. Бүртгэл нь хямд мэдээллийн сан биш учраас энэ нь чухал юм. Нийтийн түлхүүрийг өөрөө тав дахь талбарт оруулсан болно. Эхний талбар нь өмнөх гүйлгээтэй холболтыг бий болгох өгөгдлийг агуулна. Тэг гүйлгээний хувьд энэ талбарт юу ч агуулаагүй бөгөөд энэ нь дараагийн гүйлгээнээс ялгагдах болно. Хоёр дахь талбар нь гүйлгээний холболтыг шалгах өгөгдөл юм. Товчхондоо бид эхний болон хоёр дахь талбарт байгаа өгөгдлийг "холбоос" ба "шалгах" гэж нэрлэх болно. Доорх зурган дээрх хоёр ба гурав дахь гүйлгээг холбосноор эдгээр талбаруудын агуулгыг давталтын хэш хийх замаар үүсгэсэн.

DPKI: блокчейн ашиглан төвлөрсөн PKI-ийн дутагдлыг арилгах

Эхний таван талбарын өгөгдлийг цахим гарын үсгээр баталгаажуулсан бөгөөд энэ нь түрийвчний нууц түлхүүрийг ашиглан үүсгэгддэг.

Ингээд л хоосон гүйлгээг цөөрөмд илгээж, баталгаажуулалтыг амжилттай хийсний дараа бүртгэлд оруулав. Одоо та дараах гүйлгээг "холбох" боломжтой. Тэгээс бусад гүйлгээ хэрхэн үүсдэгийг авч үзье.

DPKI: блокчейн ашиглан төвлөрсөн PKI-ийн дутагдлыг арилгах

Таны анхаарлыг татсан хамгийн эхний зүйл бол түлхүүр хосуудын элбэг дэлбэг байдал юм. Аль хэдийн танил болсон түрийвчний түлхүүрийн хослолоос гадна энгийн болон үйлчилгээний түлхүүрийн хослолыг ашигладаг.

Энгийн нийтийн түлхүүр бол бүх зүйлийг эхлүүлсэн зүйл юм. Энэ түлхүүр нь гадаад ертөнцөд өрнөж буй янз бүрийн журам, үйл явцад оролцдог (банкны болон бусад гүйлгээ, баримт бичгийн урсгал гэх мэт). Жишээлбэл, энгийн хосын нууц түлхүүрийг янз бүрийн баримт бичиг - төлбөрийн даалгавар гэх мэт тоон гарын үсэг үүсгэхэд ашиглаж болох бөгөөд нийтийн түлхүүрийг эдгээр зааврыг дагаж мөрдвөл энэхүү тоон гарын үсгийг баталгаажуулах боломжтой. хүчинтэй.

Үйлчилгээний хосыг бүртгэгдсэн DPKI субъектэд олгоно. Энэ хосын нэр нь түүний зорилгод нийцдэг. Тэг гүйлгээ үүсгэх/шалгах үед үйлчилгээний түлхүүрүүдийг ашиглахгүй гэдгийг анхаарна уу.

Түлхүүрүүдийн зорилгыг дахин тодруулъя:

  1. Түрийвчний түлхүүрүүд нь null гүйлгээ болон бусад null бус гүйлгээг үүсгэх/баталгаажуулахад ашиглагддаг. Түрийвчний хувийн түлхүүрийг зөвхөн түрийвчний эзэн мэддэг бөгөөд тэрээр олон энгийн нийтийн түлхүүрийн эзэн юм.
  2. Энгийн нийтийн түлхүүр нь зориулалтын хувьд төвлөрсөн PKI-д гэрчилгээ олгодог нийтийн түлхүүртэй төстэй.
  3. Үйлчилгээний түлхүүрийн хослол нь DPKI-д хамаарна. Нууц түлхүүрийг бүртгэлтэй аж ахуйн нэгжүүдэд олгодог бөгөөд гүйлгээний тоон гарын үсэг үүсгэх үед ашигладаг (тэг гүйлгээнээс бусад). Гүйлгээг бүртгэлд оруулахаас өмнө цахим дижитал гарын үсгийг баталгаажуулах зорилгоор нийтэд ашигладаг.

Тиймээс хоёр бүлэг түлхүүрүүд байдаг. Эхнийх нь үйлчилгээний түлхүүрүүд болон түрийвчний түлхүүрүүдийг агуулдаг - тэдгээр нь зөвхөн DPKI-ийн хүрээнд л утга учиртай. Хоёрдахь бүлэгт энгийн түлхүүрүүд багтдаг - тэдгээрийн хамрах хүрээ нь өөр өөр байж болох бөгөөд тэдгээрийг ашиглаж буй програмын даалгавраар тодорхойлогддог. Үүний зэрэгцээ DPKI нь энгийн нийтийн түлхүүрүүдийн бүрэн бүтэн байдал, жинхэнэ байдлыг баталгаажуулдаг.

Тайлбар: Үйлчилгээний түлхүүрийн хослолыг өөр өөр DPKI байгууллагууд мэддэг байж болно. Жишээлбэл, энэ нь хүн бүрт адилхан байж болно. Ийм учраас тэгээс бусад гүйлгээ бүрийн гарын үсгийг үүсгэхдээ хоёр нууц түлхүүрийг ашигладаг бөгөөд тэдгээрийн нэг нь түрийвчний түлхүүр юм - үүнийг зөвхөн түрийвчний эзэн мэддэг, тэр нь бас олон энгийн гүйлгээний эзэн юм. нийтийн түлхүүрүүд. Бүх түлхүүрүүд өөрийн гэсэн утгатай. Жишээлбэл, DPKI-ийн бүртгэлтэй субьект гүйлгээг бүртгэлд оруулсан болохыг үргэлж нотлох боломжтой, учир нь гарын үсэг нь нууц үйлчилгээний түлхүүр дээр үүсгэгдсэн байдаг. Мөн DOS халдлага гэх мэт хүчирхийлэл байж болохгүй, учир нь эзэмшигч нь гүйлгээ бүрийн төлбөрийг төлдөг.

Тэг нэгийг дагасан бүх гүйлгээ нь ижил төстэй байдлаар үүсдэг: нийтийн түлхүүр (тэг гүйлгээний хувьд түрийвч биш, харин энгийн түлхүүрийн хосоос) нь SHA256 ба RIPEMD160 гэсэн хоёр хэш функцээр дамждаг. Гурав дахь талбарын өгөгдөл ийм байдлаар үүсдэг. Дөрөв дэх талбар нь дагалдах мэдээллийг агуулдаг (жишээлбэл, одоогийн байдал, хүчинтэй байх хугацаа, цагийн тэмдэг, ашигласан крипто-алгоритмуудын таних тэмдэг гэх мэт). Тав дахь талбар нь үйлчилгээний түлхүүрийн хосын нийтийн түлхүүрийг агуулна. Үүний тусламжтайгаар тоон гарын үсгийг шалгаж, хуулбарлах болно. Ийм хандлага хэрэгтэйг зөвтгөж үзье.

Гүйлгээ нь усан санд орж, түүнийг боловсруулах хүртэл тэнд хадгалагддаг гэдгийг санаарай. Усан санд хадгалах нь тодорхой эрсдэлтэй холбоотой байдаг - гүйлгээний өгөгдлийг хуурамчаар үйлдэх боломжтой. Эзэмшигч нь гүйлгээний өгөгдлийг цахим тоон гарын үсгээр баталгаажуулдаг. Энэхүү тоон гарын үсгийг баталгаажуулах нийтийн түлхүүрийг гүйлгээний талбаруудын аль нэгэнд тодорхой зааж өгсөн бөгөөд дараа нь бүртгэлд оруулна. Гүйлгээний боловсруулалтын онцлог нь халдагчид өгөгдлийг өөрийн үзэмжээр өөрчилж, нууц түлхүүрээ ашиглан баталгаажуулж, гүйлгээнд дижитал гарын үсгийг баталгаажуулах хосолсон нийтийн түлхүүрийг зааж өгдөг. Жинхэнэ, бүрэн бүтэн байдал нь зөвхөн тоон гарын үсгээр баталгаажсан тохиолдолд ийм хуурамч үйлдлийг анзаарахгүй байх болно. Гэсэн хэдий ч тоон гарын үсгээс гадна хадгалагдсан мэдээллийг архивлах, хадгалах боломжийг олгодог нэмэлт механизм байвал хуурамч баримтыг илрүүлж болно. Үүнийг хийхийн тулд эзэмшигчийн жинхэнэ нийтийн түлхүүрийг бүртгэлд оруулахад хангалттай. Энэ хэрхэн ажилладаг талаар тайлбарлая.

Халдагчид гүйлгээний өгөгдлийг хуурамчаар үйлдэхийг зөвшөөр. Түлхүүр ба тоон гарын үсгийн үүднээс авч үзвэл дараахь сонголтууд боломжтой.

1. Эзэмшигчдийн тоон гарын үсэг өөрчлөгдөөгүй хэвээр байхад халдагч өөрийн нийтийн түлхүүрийг гүйлгээнд оруулна.
2. Халдагч өөрийн хувийн түлхүүр дээр тоон гарын үсэг үүсгэдэг боловч эзэмшигчийн нийтийн түлхүүрийг өөрчлөхгүйгээр үлдээдэг.
3. Халдагчид хувийн түлхүүр дээрээ тоон гарын үсэг үүсгэж, хосолсон нийтийн түлхүүрийг гүйлгээнд оруулна.

1 ба 2-р сонголтууд нь тоон гарын үсгийн баталгаажуулалтын явцад үргэлж илрэх тул утгагүй нь ойлгомжтой. Зөвхөн 3-р сонголт нь утга учиртай бөгөөд хэрэв халдагч өөрийн нууц түлхүүр дээр дижитал гарын үсэг зурвал эзэмшигчийн нийтийн түлхүүрээс өөр хосолсон нийтийн түлхүүрийг гүйлгээнд хадгалахаас өөр аргагүй болно. Энэ бол халдагч этгээд хуурамч мэдээлэл оруулах цорын ганц арга зам юм.

Эзэмшигч нь хувийн болон нийтийн гэсэн тогтмол хос түлхүүртэй гэж бодъё. Энэ хосын нууц түлхүүрийг ашиглан өгөгдлийг тоон гарын үсгээр баталгаажуулж, гүйлгээнд нийтийн түлхүүрийг зааж өгнө. Энэ нийтийн түлхүүрийг өмнө нь бүртгэлд оруулсан бөгөөд жинхэнэ эсэхийг нь найдвартай баталгаажуулсан гэж бодъё. Дараа нь гүйлгээний нийтийн түлхүүр нь бүртгэлийн нийтийн түлхүүртэй тохирохгүй байгаа нь хуурамч болохыг илтгэнэ.

Нэмж хэлье. Эзэмшигчийн хамгийн анхны гүйлгээний өгөгдлийг боловсруулахдаа бүртгэлд оруулсан нийтийн түлхүүрийн жинхэнэ эсэхийг шалгах шаардлагатай. Үүнийг хийхийн тулд бүртгэлийн түлхүүрийг уншиж, аюулгүй байдлын периметрийн (харьцангуй халдашгүй байдлын бүс) эзэмшигчийн жинхэнэ нийтийн түлхүүртэй харьцуулна уу. Түлхүүрийг байршуулахдаа жинхэнэ эсэх нь батлагдаж, тогтвортой байх нь баталгаажсан тохиолдолд дараагийн гүйлгээний түлхүүрийн үнэн зөвийг бүртгэлийн түлхүүртэй харьцуулах замаар амархан баталгаажуулж/няцаах боломжтой. Өөрөөр хэлбэл, бүртгэлийн түлхүүрийг лавлагааны дээж болгон ашигладаг. Бусад бүх өмчлөгчийн гүйлгээг ижил төстэй байдлаар боловсруулдаг.

Гүйлгээ нь цахим дижитал гарын үсгээр баталгаажсан байдаг - энд нууц түлхүүрүүд хэрэгтэй бөгөөд нэг биш, хоёр нэг дор - үйлчилгээний түлхүүр, түрийвчний түлхүүр хэрэгтэй. Хоёр нууц түлхүүрийг ашигласны ачаар аюулгүй байдлын шаардлагатай түвшинг хангаж өгдөг - эцсийн эцэст үйлчилгээний нууц түлхүүрийг бусад хэрэглэгчид мэдэх боломжтой бол түрийвчний нууц түлхүүрийг зөвхөн энгийн түлхүүрийн хос эзэмшигчид мэддэг. Ийм хоёр түлхүүртэй гарын үсгийг бид “нэгдсэн” тоон гарын үсэг гэж нэрлэсэн.

Үзээгүй гүйлгээг шалгах нь түрийвч болон үйлчилгээний түлхүүр гэсэн хоёр нийтийн түлхүүрийг ашиглан хийгддэг. Баталгаажуулах үйл явцыг хоёр үндсэн үе шатанд хувааж болно: эхнийх нь түрийвчний нийтийн түлхүүрийг шалгах, хоёр дахь нь хоёр нууц түлхүүрийг ашиглан үүсгэсэн гүйлгээний цахим дижитал гарын үсгийг шалгах явдал юм. түрийвч ба үйлчилгээ). Хэрэв тоон гарын үсгийн хүчинтэй байдал батлагдсан бол нэмэлт баталгаажуулалтын дараа гүйлгээг бүртгэлд оруулна.

DPKI: блокчейн ашиглан төвлөрсөн PKI-ийн дутагдлыг арилгах

Логик асуулт гарч ирж магадгүй: гүйлгээ нь тэг гүйлгээ хэлбэрээр "үндэс" нь тодорхой гинжин хэлхээнд хамаарах эсэхийг хэрхэн шалгах вэ? Энэ зорилгоор баталгаажуулах үйл явцыг өөр нэг үе шат - холболтын шалгалтаар нэмж оруулсан болно. Эндээс бид өнөөг хүртэл үл тоомсорлож байсан эхний хоёр талбарын өгөгдөл хэрэгтэй болно.

3-р гүйлгээний дараа 2-р гүйлгээ үнэхээр хийгдэж байгаа эсэхийг шалгах хэрэгтэй гэж төсөөлье. Үүнийг хийхийн тулд хосолсон хэшийн аргыг ашиглан 2-р гүйлгээний гурав, дөрөв, тав дахь талбарын өгөгдөлд хэш функцийн утгыг тооцоолно. Дараа нь гүйлгээ №3-ын эхний талбарын өгөгдөл болон 2-р гүйлгээний гурав, дөрөв, тав дахь талбарын өгөгдлийн өмнө олж авсан хосолсон хэш функцийн утгыг нэгтгэх ажлыг гүйцэтгэнэ. Энэ бүгдийг SHA256 ба RIPEMD160 гэсэн хоёр хэш функцээр дамжуулан ажиллуулдаг. Хэрэв хүлээн авсан утга нь 2-р гүйлгээний хоёр дахь талбарт байгаа өгөгдөлтэй тохирч байвал шалгалтыг давж, холболтыг баталгаажуулна. Үүнийг доорх зурагт илүү тодорхой харуулав.

DPKI: блокчейн ашиглан төвлөрсөн PKI-ийн дутагдлыг арилгах
DPKI: блокчейн ашиглан төвлөрсөн PKI-ийн дутагдлыг арилгах

Ерөнхийдөө мэдэгдэл үүсгэх, бүртгэлд оруулах технологи нь яг ийм харагдаж байна. Мэдэгдлийн гинжин хэлхээг бүрдүүлэх үйл явцын дүрслэлийг дараах зурагт үзүүлэв.

DPKI: блокчейн ашиглан төвлөрсөн PKI-ийн дутагдлыг арилгах

Энэ бичвэрт бид эргэлзээгүй байгаа нарийн ширийн зүйлсийн талаар ярихгүй бөгөөд төвлөрсөн бус нийтийн түлхүүрийн дэд бүтцийн талаархи санааг дахин хэлэлцэх болно.

Тиймээс, өргөдөл гаргагч өөрөө CA мэдээллийн санд биш, харин бүртгэлд хадгалагдсан мэдэгдлийг бүртгүүлэх өргөдөл гаргаж байгаа тул DPKI-ийн архитектурын үндсэн бүрэлдэхүүн хэсгүүдийг анхаарч үзэх хэрэгтэй.

1. Хүчин төгөлдөр мэдэгдлийн бүртгэл (RDN).
2. Хүчингүй болсон мэдэгдлийн бүртгэл (RON).
3. Түдгэлзүүлсэн мэдэгдлийн бүртгэл (RPN).

Нийтийн түлхүүрүүдийн талаарх мэдээллийг RDN/RON/RPN-д хэш функцийн утгууд хэлбэрээр хадгалдаг. Энгийн нийтийн түлхүүрийн статусын талаарх мэдээллийг (хүчингүй болгох, түдгэлзүүлэх гэх мэт) оруулах үед эдгээр нь өөр өөр бүртгэл, өөр өөр сүлжээ, эсвэл бүр нэг бүртгэлийн нэг хэсэг байж болно гэдгийг тэмдэглэх нь зүйтэй. харгалзах кодын утгын хэлбэрээр өгөгдлийн бүтцийн дөрөв дэх талбар. DPKI-ийн архитектурын хэрэгжилтийн олон янзын сонголтууд байдаг бөгөөд аль нэгийг нь сонгох нь олон хүчин зүйлээс хамаардаг, жишээлбэл, нийтийн түлхүүрийг хадгалах урт хугацааны санах ойн өртөг гэх мэт оновчлолын шалгуурууд гэх мэт.

Тиймээс DPKI нь энгийн биш юмаа гэхэд архитектурын нарийн төвөгтэй байдлын хувьд төвлөрсөн шийдэлтэй харьцуулах боломжтой юм.

Гол асуулт хэвээр байна - Технологийг хэрэгжүүлэхэд аль бүртгэл тохиромжтой вэ?

Бүртгэлд тавигдах гол шаардлага бол ямар ч төрлийн гүйлгээ хийх чадвар юм. Бүртгэлийн хамгийн алдартай жишээ бол Bitcoin сүлжээ юм. Гэхдээ дээр дурдсан технологийг хэрэгжүүлэхэд тодорхой бэрхшээлүүд гарч ирдэг: одоо байгаа скрипт хэлний хязгаарлалт, дурын багц өгөгдлийг боловсруулах шаардлагатай механизм дутмаг, дурын төрлийн гүйлгээ үүсгэх аргууд болон бусад олон зүйл.

ENCRY-д бид дээр дурдсан асуудлуудыг шийдвэрлэхийг хичээж, бүртгэлийг боловсруулсан бөгөөд энэ нь бидний бодлоор хэд хэдэн давуу талтай, тухайлбал:

  • хэд хэдэн төрлийн гүйлгээг дэмждэг: энэ нь хөрөнгө солилцох (өөрөөр хэлбэл санхүүгийн гүйлгээ хийх) болон дурын бүтэцтэй гүйлгээг үүсгэх боломжтой;
  • хөгжүүлэгчид янз бүрийн технологийн асуудлыг шийдвэрлэхэд шаардлагатай уян хатан байдлыг хангадаг PrismLang програмчлалын хэлийг ашиглах боломжтой.
  • дур мэдэн өгөгдлийн багц боловсруулах механизмыг хангасан.

Хэрэв бид хялбаршуулсан хандлагыг авч үзвэл дараах дарааллаар үйлдлүүд явагдана.

  1. Өргөдөл гаргагч нь DPKI-д бүртгүүлж, дижитал түрийвч авдаг. Түрийвчний хаяг нь түрийвчний нийтийн түлхүүрийн хэш утга юм. Түрийвчний хувийн түлхүүрийг зөвхөн өргөдөл гаргагч мэддэг.
  2. Бүртгэгдсэн субьект нь үйлчилгээний нууц түлхүүрт хандах эрхтэй.
  3. Субъект нь тэг гүйлгээ үүсгэж, түрийвчний нууц түлхүүрийг ашиглан тоон гарын үсгээр баталгаажуулдаг.
  4. Хэрэв тэгээс өөр гүйлгээ хийгдсэн бол түрийвч, үйлчилгээний гэсэн хоёр нууц түлхүүрийг ашиглан цахим тоон гарын үсгээр баталгаажуулна.
  5. Субъект нь санд гүйлгээ илгээдэг.
  6. ENCRY сүлжээний зангилаа нь сангаас гүйлгээг уншиж, тоон гарын үсэг, түүнчлэн гүйлгээний холболтыг шалгадаг.
  7. Хэрэв тоон гарын үсэг хүчинтэй бөгөөд холболт батлагдсан бол бүртгэлд оруулах гүйлгээг бэлтгэдэг.

Энд бүртгэл нь хүчинтэй, цуцалсан, түдгэлзүүлсэн мэдэгдлийн талаарх мэдээллийг хадгалдаг тархсан мэдээллийн сангийн үүрэг гүйцэтгэдэг.

Мэдээжийн хэрэг, төвлөрлийг сааруулах нь өвчин эмгэг биш юм. Хэрэглэгчийн анхан шатны баталгаажуулалтын үндсэн асуудал хаана ч алга болдоггүй: хэрэв одоогоор өргөдөл гаргагчийн шалгалтыг CR хийж байгаа бол DPKI-д баталгаажуулалтыг олон нийтийн гишүүдэд шилжүүлж, үйл ажиллагааг идэвхжүүлэхийн тулд санхүүгийн сэдлийг ашиглахыг санал болгож байна. Нээлттэй эхийн баталгаажуулалтын технологи нь сайн мэддэг. Ийм баталгаажуулалтын үр нөлөө нь практик дээр батлагдсан. Bellingcat онлайн хэвлэлээс хийсэн хэд хэдэн олны анхаарлыг татсан мөрдөн байцаалтын ажиллагааг дахин сануулъя.

Гэхдээ ерөнхийдөө дараах дүр зураг гарч ирнэ: DPKI бол төвлөрсөн PKI-ийн олон дутагдлыг бүгдийг нь биш юмаа гэхэд засч залруулах боломж юм.

Манай Habrablog-д бүртгүүлээрэй, бид судалгаа, боловсруулалтаа үргэлжлүүлэн идэвхтэй сурвалжилж, дагаж мөрдөхөөр төлөвлөж байна Twitter, хэрэв та ENCRY төслийн талаархи бусад мэдээг алдахыг хүсэхгүй байвал.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх