Алсын зайнаас цахим санал авах системийн нэрээ нууцлах журмын тойм

В өмнөх хэвлэлүүд Бидний авч үзэж буй алсын зайн цахим санал хураалтын системд санал өгөх нууцыг хангах, сонгогчийг нэрээ нууцлах зорилгоор криптографийн “харалган цахим гарын үсэг” алгоритмыг ашиглаж байгаа нь дээр бид тогтсон. Энэ нийтлэлд бид үүнийг илүү нарийвчлан авч үзэх болно.

Нэгдүгээрт, мэдээллийн системд янз бүрийн зорилгоор өргөн хэрэглэгддэг, сайн мэддэг, сайн мэддэг цахим гарын үсгийн алгоритм руу хандъя. Цахим гарын үсэг нь криптограф тэгш бус шифрлэлтийн алгоритм дээр суурилдаг. Асимметрийн шифрлэлт нь 2 түлхүүр ашиглан шифрлэлт юм: тэдгээрийн нэг нь шифрлэхэд, нөгөө нь шифрлэхэд ашиглагддаг. Тэдгээрийг нээлттэй (нийтийн) болон хувийн түлхүүр гэж нэрлэдэг. Нийтийн түлхүүрийг бусад хүмүүс мэддэг, хувийн түлхүүрийг зөвхөн цахим гарын үсгийн эзэмшигч мэддэг бөгөөд бусдад нэвтрэх боломжгүй газар хадгалдаг.

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

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

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

Одоо "сохор гарын үсэг" гэж юу болох, энэ нь нэрээ нууцлахад бидэнд хэрхэн тусалж болох талаар ярилцъя.

Дээр дурдсан жишээн дээр илгээгч нь сонгогч, баримт бичиг нь саналын хуудас, хүлээн авагч нь сонгуулийн хороо эсвэл бидний хэлснээр "санал тоолох бүрэлдэхүүн" гэж төсөөлөөд үз дээ. Бид гуравдагч этгээдээр (баталгаажуулагч) “Сонгогчдын нэрсийн жагсаалт” бүрэлдэхүүнтэй байх болно. Энэ тохиолдолд процесс дараах байдлаар тохиолдож болно.

Алсын зайнаас цахим санал авах системийн нэрээ нууцлах журмын тойм

Сонгогч төхөөрөмж дээрээ хувийн болон нийтийн гэсэн хос түлхүүр үүсгэдэг. Эдгээр түлхүүрүүд нь хөтөч дээрх түүний хувийн төхөөрөмж дээр бүтээгдсэн тул тэдгээрийг зөвхөн түүнд мэддэг.

Эдгээр түлхүүрүүдийг ашиглан тэрээр саналын хуудасны бүрэн бүтэн байдлыг хянахын тулд гарын үсэг зурна. Тэрээр гарын үсэг зурсан саналын хуудас болон нийтийн түлхүүрийг сонгуулийн хороонд илгээдэг. Хуваарилагдсан саналыг хадгалах, тоолох бүрэлдэхүүн хэсэг саналын хуудсыг хүлээн авахын тулд нийтийн түлхүүрт баталгаажуулагч гарын үсэг зурсан эсэхийг шалгах ёстой.

Баталгаажуулагч (Сонгогчийн жагсаалтын бүрэлдэхүүн хэсэг) сонгогч сонгогчдын нэрийн жагсаалтад байгаа эсэхийг баталгаажуулсны дараа л нийтийн түлхүүрт гарын үсэг зурна.

Санал өгөх нууцыг хадгалах асуудлыг шийдэхийн тулд сонгогчийн төхөөрөмж дээр үүсгэсэн нийтийн түлхүүрийг хэн ч мэдэхгүй байх ёстой. Баталгаажуулагч өөрт нь үл мэдэгдэх зүйлд гарын үсэг зурах ёстой болж байна. Даалгавар нь боломжгүй юм шиг санагдаж байгаа ч энд криптограф алгоритмууд аврах ажилд ирдэг - энэ тохиолдолд "сохор гарын үсэг" алгоритм

Нэгдүгээрт, сонгогчийн төхөөрөмж дээр нийтийн түлхүүрийг далдалсан байх ёстой. Маск хийх нь хэрэглэгчийн төхөөрөмж дээр бие даасан математикийн үйлдлүүдийн гүйцэтгэл юм. Та 1-ээс 100 хүртэлх санамсаргүй тоог бодож, дараа нь 1-ээс 10 хүртэлх хоёр дахь санамсаргүй тоог, 10-аас 50 хүртэлх гурав дахь санамсаргүй тоог бодоод, анх бодож байсан тоог хоёр дахь тооны зэрэгт өсгөж, хуваасан гэж төсөөлөөд үз дээ. гурав дахь нь үлдэгдэл. Үр дүнг нь бусдад мэдээлсэн. Та үйлдлийн дараалал, санасан тоогоо мэддэг тул анхны дугаараа сэргээх нь танд хэцүү биш байх болно. Гэхдээ таны эргэн тойронд байгаа хүмүүс үүнийг хийх боломжгүй болно.

Нийтийн түлхүүрийг далдлах (нүдлэх) нь тусгай криптографийн алгоритмын дагуу хийгддэг. Үүний үр дүнд баталгаажуулагч анхны түлхүүрийг мэдэхгүй байж далдлагдсан нийтийн түлхүүрт гарын үсэг зурдаг. Гэхдээ алгоритмын онцлог нь хэрэглэгч (сонгогч) нь далдлагдсан түлхүүрийн гарын үсгийг хүлээн авснаар урвуу хувиргалтыг хийж, анхны, нууцлагдмал түлхүүрт хүчинтэй гарын үсэг авах боломжтой юм.

Тайлбарласан алгоритмыг нууц санал хураалтын протоколд өргөн ашигладаг. Алсын зайнаас санал өгөх цахим систем нь одоогоор 4096 битийн түлхүүрийн урттай RSA алгоритмыг сохор гарын үсгийг ашиглаж байна.

Ерөнхийдөө нэрээ нууцлах журам дараах байдалтай байна.

  1. Саналыг үүсгэх үед тусдаа "баталгаажуулагч" түлхүүрийн хослолыг үүсгэж, нийтийн түлхүүрийг блокчэйнд бүртгэдэг. Санал болгонд өвөрмөц түлхүүрийн хослол бий болно.
  2. Хэрэглэгчийг таних системд (энэ тохиолдолд БОННҮ-нд) тодорхойлсон бөгөөд таних системээс DEG PTC руу таних өгөгдлийг шилжүүлэх зөвшөөрлийг олгоно.
  3. DEG PTC-ийн “Сонгогчдын жагсаалт” бүрэлдэхүүн нь сонгогчдын нэрсийн жагсаалтад байгаа хэрэглэгчийг шалгадаг.
  4. Хэрэглэгчийн төхөөрөмж дээр түүний хувийн түлхүүрүүд бий - хувийн болон нийтийн, зөвхөн түүнд мэдэгддэг.
  5. Нийтийн түлхүүр нь хэрэглэгчийн төхөөрөмж дээр далдлагдсан байдаг
  6. Хэрэглэгч таних өгөгдөл болон далдлагдсан нийтийн түлхүүрийн хамт "Сонгогчдын жагсаалт" бүрэлдэхүүнд хандана.
  7. Бүрэлдэхүүн хэсэг нь хэрэглэгчийг жагсаалтад байгаа эсэх, өмнө нь гарын үсэг аваагүй эсэхийг дахин шалгадаг
  8. Хэрэв бүх шалгалт амжилттай бол түлхүүрт гарын үсэг зурна
  9. Түлхүүрт гарын үсэг зурсан баримт нь блокчэйнд бүртгэгдсэн байдаг
  10. Түүний төхөөрөмж дээрх хэрэглэгч маскыг нийтийн түлхүүрээс салгаж, хувийн түлхүүр, нийтийн түлхүүр, нийтийн түлхүүр дээрх гарын үсэг хүлээн авах бөгөөд бүх түлхүүрүүд нь зөвхөн түүнд мэдэгддэг.
  11. Үүний дараа хэрэглэгчийг нэргүй бүс рүү - edg2020.gov.ru тусдаа вэбсайт руу шилжүүлдэг бөгөөд түүнийг таних боломжгүй байдаг (жишээлбэл, шилжихээс өмнө тэр VPN-тэй холбогдож эсвэл интернет үйлчилгээ үзүүлэгчээ сольж, тохиргоог бүрэн өөрчилж болно. IP хаяг)
  12. Саналын хуудсыг хүлээн авах нь зөвхөн "баталгаажуулагчийн" гарын үсгийг баталгаажуулсан эсэх, ийм түлхүүрийг өмнө нь ашиглаагүй эсэхээс хамаарна.

Дараа нь бид криптографийн үүднээс алгоритмын тайлбарыг өгнө.
Гарын үсэг болон тэмдэглэгээний сонголтууд:

Алсын зайнаас цахим санал авах системийн нэрээ нууцлах журмын тойм
Алсын зайнаас цахим санал авах системийн нэрээ нууцлах журмын тойм

M – гарын үсэг зурахын тулд FDN бөглөх форматаар.

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

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