Мэдээ

Утасны дугааргүй Signal: Zero-Knowledge Proofs ашиглан бүртгүүлэх шинэ архитектур илчлэгдлээ

TOGTOKHTOGTOKH·2026 оны есдүгээр сарын 14·1 үзсэн·
Утасны дугааргүй Signal: Zero-Knowledge Proofs ашиглан бүртгүүлэх шинэ архитектур илчлэгдлээ

Дэлхийн хамгийн найдвартай, төгс шифрлэлттэй мессенжер гэгддэг Signal-д өнгөрсөн арван жилийн турш криптограф сонирхогчид болон хөгжүүлэгчдээс байнга ирдэг ганц том шүүмжлэл байсан нь: "Яагаад заавал утасны дугаар шаарддаг юм бэ?" гэх асуулт байв. Учир нь төхөөрөмж дээрх мессежүүд хэчнээн нууцлагдсан ч утасны дугаар өөрөө үүрэн телефоны оператор, иргэний үнэмлэх (KYC), төлбөрийн системтэй шууд холбоотой хамгийн том "дижитал мөр" болдог.

Тэгвэл сүүлийн 24 цагт ил болсон Signal-ийн сервер кодын шинэчлэлтүүд болон нээлттэй хэлэлцүүлгүүдээс харахад тус платформ утасны дугааргүй бүртгэлийг албан ёсоор дэмжихэд бэлэн болсон бөгөөд үүнийг Zero-Knowledge Proofs (ZKP) ашиглан хэрэгжүүлж буй нь тодорхой боллоо.


10 жилийн түүхтэй парадокс: Яагаад заавал SIM карт хэрэгтэй байсан бэ?

Signal нь Double Ratchet, Sealed Sender, нууцлагдсан группын метадата зэрэг салбарын жишиг болсон криптограф шийдлүүдийг зах зээлд нэвтрүүлсэн. Гэвч бүртгэлийн суурь давхарга нь үргэлж хэрэглэгчийн гар утасны дугаартผูгдсан хэвээр байлаа.

Инженерийн үүднээс харвал энэ нь хоёр үндсэн зорилготой байсан юм:

  1. Sybil Attack болон Spam-тай тэмцэх: Хэн дуртай нь сая сая бот хаяг үүсгэж, сүлжээг унагаах эсвэл хэрэглэгчдийг спамаар булах эрсдэлээс сэргийлэхийн тулд утасны дугаар нь "хүний баталгаа" болж байв. Signal зөвхөн SMS код илгээхэд жилд ойролцоогоор 6 сая ам.доллар зарцуулдаг.
  2. Contact Discovery (Холбоо барих хүмүүсээ илрүүлэх): Хэрэглэгчийн утасны дэвтэрт байгаа дугаарууд дээр үндэслэн найзуудтай нь холбох хамгийн хялбар сүлжээний эффект.

2024 онд Signal хэрэглэгчийн нэр (Usernames) танилцуулж, бусад хүмүүст утасны дугаараа харуулахгүй байх боломж олгосон ч анх бүртгүүлэхэд заавал утасны дугаар шаардлагатай хэвээр байсан билээ.


GitHub коммитууд: Архитектур хэрхэн өөрчлөгдөв?

Signal-ийн нээлттэй эхийн сервер санд сүүлийн өдрүүдэд орсон коммитууд нь уг шилжилтийн техникийн нарийн ширийнүүдийг дэлгэлээ:

  • accounts without phone numbers: Утасны дугааргүй хаягуудын статус тусдаа бие даасан түвшинд ажиллана.
  • Pessimistic locking of phone-number-less accounts: Утасны дугааргүй бүртгэлийг үүсгэх, баталгаажуулах үед өгөгдлийн баазын түвшинд давхардал үүсэхээс сэргийлсэн concurrency хамгаалалт.
  • PNI болон ACI-ийг бүрэн салгах: Signal-ийн архитектурт уламжлалт Phone Number Identity (PNI) болон үндсэн Account Credential Identity (ACI) хоёр холилддог байсныг бүрэн салгаж, PNI-гүйгээр ACI дангаараа ажиллах нөхцөлийг бүрдүүлэв.

Үүний үр дүнд SIM картгүй Android таблетууд болон бие даасан төхөөрөмжүүд анхны бүртгэлийг (primary initiation device) ямар ч утасны дугааргүйгээр хийх боломж бүрдэж байна.


Zero-Knowledge Proofs (ZKP) энд ямар үүрэгтэй вэ?

Утасны дугаар шаардахаа болихоор гарч ирэх хамгийн том сорилт бол: "Халдагчид болон спаммерууд төгсгөлгүй олон тооны хуурамч хаяг нээж, спам илгээхийг яаж таслан зогсоох вэ?"

Энд л Zero-Knowledge Proofs (Хэрэглэгчийн мэдээллийг мэдэхгүйгээр батлах криптограф технологи) орж ирж байна.

Сүүлийн үеийн кодын шинжилгээнээс үзэхэд Signal спамаас хамгаалахын тулд нэг удаагийн микро төлбөр эсвэл тусгай токен баталгаажуулалтын шалгуурыг санал болгож буй аж. Гэвч хэрэв хэрэглэгч кредит карт эсвэл төлбөрийн систем (жишээ нь Google Play Billing) ашиглавал картын мэдээлэл хэрэглэгчийн нууц чаттай холбогдох аюул үүснэ.

Үүнийг ZKP-ээр ингэж шийдвэрлэдэг:

  1. Хэрэглэгч төлбөр төлсөн эсвэл анти-спам шалгуурыг хангасан гэдгээ батлах криптограф баталгааг төхөөрөмж дээрээ үүсгэнэ.
  2. Энэхүү нотолгоо (ZKP proof) болон Blind Signatures механизмыг Signal сервер рүү илгээнэ.
  3. Signal-ийн сервер: "Энэ хүн анти-спам шалгуурыг 100% хангасан, хүчинтэй токентой байна" гэдгийг математикийн хувьд батлан шалгаж чадна. Гэхдээ уг хүсэлтийг ХЭН илгээсэн, ямар кредит карт эсвэл гүйлгээний дугаар цаана нь байгааг сервер ХЭЗЭЭ Ч харж, хооронд нь холбож чадахгүй.

Signal нь хэрэглэгчийн нэрийг нууцлахдаа Ristretto 25519 бүлэглэл болон ZKP протоколыг ашиглаж байсан туршлагатай ба энэ туршлагаа одоо үндсэн данс бүртгэл рүүгээ шилжүүлж байгаа юм.


Инженерүүдийн хувьд үүнээс авах сургамж

Системийн архитектур зохиож буй хөгжүүлэгчдэд Signal-ийн энэхүү алхам хэд хэдэн үнэ цэнтэй ойлголтыг өгч байна:

  • Identity ба Authentication-ийг зааглах: Бүтээгдэхүүн бүтээхдээ эхнээсээ л утасны дугаар, и-мэйл зэрэг нийгмийн үнэмлэхүүд дээр суурилсан архитектур босгох нь хожим хэрэглэгчийн нууцлал, бие даасан байдалд маш том өр (technical debt) болж үлддэг. Signal PNI болон ACI-ийг салгахад бүхэл бүтэн хэдэн жилийн рефакторинг зарцууллаа.
  • Zero-Knowledge-ийг зөвхөн крипто/блокчэйн биш web2/веб үйлчилгээнд ашиглах нь: ZKP нь зөвхөн блокчэйн технологийн зүйл биш юм. Төвлөрсөн системүүдэд спам, хуурамч бүртгэлтэй тэмцэхийн зэрэгцээ хэрэглэгчийн хувийн өгөгдлийг цуглуулахгүй байх төгс хамгаалалт болж чадаж байна.
  • Zero-Trust Client Design: Хэрэглэгчийн эрхийг төхөөрөмжийн түвшинд баталгаажуулж, сервер зөвхөн зуучлагч (untrusted relay) хэлбэрээр ажиллах загвар нь ирээдүйн аюулгүй системийн үндсэн стандарт болж байна.

Утасны дугааргүй бүртгэл бүрэн нээлттэй болсноор сэтгүүлчид, хүний эрхийн төлөө тэмцэгчид болон дижитал хувийн нууцаа эрхэмлэдэг хөгжүүлэгчдийн хувьд Signal жинхэнэ утгаараа "ул мөргүй харилцаа холбоо"-ны эцсийн цэг болох нь дамжиггүй.


Эх сурвалж: Hacker News хэлэлцүүлэг, Signal-ийн GitHub нээлттэй санд орсон registration-service болон сервер кодын шинэчлэлтүүд, AboutSignal баримтжуулалт.

Сэтгэгдэл

Ачаалж байна...