146 / 691SLIP39

SLIP-39

حصص كلمات بعتبات لنسخ الأسرار احتياطيًا

يحفظ SLIP-39 السر في حصص كلمات بعتبات للمجموعات والأعضاء؛ وتعتمد الاستعادة على التركيبة الصحيحة لا مجرد عدد الأوراق.

SLIP-39 مواصفة SatoshiLabs لحصص كلمات قابلة للتشغيل البيني تعتمد على Shamir's Secret Sharing. توحّد التقسيم والبيانات الوصفية وفحص الأخطاء وpassphrase؛ ولا تُستبدل حصصها بعبارة BIP 39.

عند نسخ محفظة BIP 32 احتياطيًا يكون السر الرئيسي بذرتها المدخلة، لا جذرها الخاص الموسع. يُنشأ أولًا encrypted master secret أو EMS ثم حصصه. تستخدم الحسابات GF(256) لكل بايت؛ وتحفظ المواصفة السر في f(255)، وبصمة تحقق في f(254) عندما تكون العتبة 2 على الأقل. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes] [BIP 32 — Hierarchical Deterministic Wallets]

يجب أولًا استيفاء عتبة أعضاء كل مجموعة مطلوبة، ثم عتبة المجموعات. مثال: مجموعتان من ثلاث، وكل مجموعة عضوان من ثلاثة. تكفي حصتان من A وحصتان من B؛ ولا تكفي ثلاث من A وواحدة من B رغم أنها أربع أيضًا. يستخدم مخطط اثنين من ثلاثة البسيط مجموعة واحدة. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

القائمة تضم 1024 كلمة إنجليزية ولا تُترجم مع الواجهة. ينتج سر بطول 128 بت حصصًا من 20 كلمة، و256 بت حصصًا من 33 كلمة. تحمل الحصة أيضًا المعرّف وعلامة extendable وأُس التكرار والفهارس والعتبات. يتحقق الدمج من تطابق البيانات الوصفية وفرادة فهارس الأعضاء؛ نسختان من الحصة نفسها ليستا عضوين. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

تشكّل الكلمات الثلاث الأخيرة RS1024 الذي يضمن اكتشاف أخطاء تمس ثلاث كلمات على الأكثر. ولا تثبت المصدر أو صلاحية الحائز؛ وتوصي المواصفة بعدم التصحيح الآلي. تساعد بصمة إعادة البناء في كشف مجموعة خاطئة. وبسبب فحصها ذي 32 بت، لا يصح تطبيق الادعاء المثالي بانعدام التسرب دون العتبة على SLIP-39 بلا تحفظ. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

يستخدم التشفير أربع جولات Feistel مع PBKDF2-HMAC-SHA256، في كل منها 2500×2^e تكرار. تسمح المواصفة بمحارف ASCII القابلة للطباعة 32–126 وتستخدم سلسلة فارغة عند غياب passphrase. لا يمكن التحقق مباشرة من صحة passphrase؛ فأخرى تنتج سرًا رئيسيًا آخر. لذلك لا تؤكد الحصص الصالحة استعادة المحفظة المقصودة؛ تحقق من عناوينها المعروفة. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

لدى BIP 39 قائمة كلمات ومجموع اختباري وتحويل من العبارة إلى البذرة مختلفة. توزيع كلماته على أوراق لا ينشئ SLIP-39 ولا حماية العتبة الخاصة به. الحفاظ على المحفظة نفسها أثناء الانتقال يتطلب بذرة BIP 32 الصحيحة وسياق الاشتقاق؛ ولا يضمنه مجرد إعادة ترميز الإنتروبيا الأصلية بكلمات أخرى. تحقق من الإجراء المحدد المدعوم. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes] [BIP 39 — Mnemonic code for generating deterministic keys]

تستبعد علامة extendable ذات القيمة 1 المعرّف من ملح التشفير. تسمح بإعادة تقسيم EMS نفسه بمعرّف جديد دون معرفة passphrase. تصف Trezor توسيع نسخة متوافقة من حصة واحدة إلى عدة حصص. لكن المجموعة الجديدة لا تبطل القديمة؛ فمن يمتلك تركيبة أصلية كافية لا يزال يستطيع استعادة السر نفسه. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes] [Trezor — Multi-share Backup]

يعيد SLIP-39 تجميع سر واحد عند الاستعادة؛ ولا ينشئ Multisig أو موافقة على السلسلة لكل معاملة. ينبغي أن يقلل التوزيع الفقدان المشترك وحصول مهاجم على تركيبة كافية. اختبر الاستعادة على جهاز موثوق، واحفظ passphrase وسياق المحفظة، وتحقق من التوافق بالتنفيذ المرجعي ومتجهات الاختبار. عدد الحصص وحده لا يكفي. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes] [Trezor — python-shamir-mnemonic reference implementation]

للحصول على صورة أوضح، اقرأ هذا المدخل مع Shamir Secret Sharing, BIP 39, Trezor, Multisig, HD Wallet. تشير إلى هذا المدخل أيضًا BIP 39, Pavol “Stick” Rusnák, Shamir Secret Sharing.

DOC · 001SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codesمواصفة ↗DOC · 002BIP 32 — Hierarchical Deterministic Walletsمواصفة ↗DOC · 003BIP 39 — Mnemonic code for generating deterministic keysمواصفة ↗DOC · 004Trezor — Multi-share Backupتوثيق ↗DOC · 005Trezor — python-shamir-mnemonic reference implementationمصدر أولي ↗
المصادر أولًا · ليست نصيحة استثمارية