112 / 736BLIND

Blind Signature

التوقيع الأعمى: اعتماد رسالة دون الاطلاع على محتواها

تخيّل قسيمة تحتاج إلى اعتماد الجهة المصدرة، لكن ينبغي ألا تسجّل تلك الجهة رقمها الفريد. تستطيع لاحقًا التأكد من أن القسيمة أصلية، دون أن تعرف من التوقيع مَن تسلّمها. تحل Blind Signature هذا التعارض الظاهري. وهي فكرة أساسية في النقد الإلكتروني: التحقق من صلاحية المال دون أن يصنع التحقق نفسه سجلًا بكل مشتريات صاحبه.

Blind Signature، أو التوقيع الأعمى، إجراء تشفيري يخفي فيه طالب التوقيع رسالة عن الموقّع، ويحصل على توقيع لصيغتها المخفية، ثم يزيل الإخفاء. يبقى توقيع صالح للرسالة الأصلية. استخدم ديفيد تشوم الفكرة للنقد الإلكتروني. في البروتوكول الصحيح لا يستطيع الموقّع ربط رمز لاحق بعملية إصداره اعتمادًا على تبادل التوقيع. لكن أدلة أخرى، مثل الوقت والمبلغ وعنوان الشبكة، لا تختفي تلقائيًا.

في الاعتماد المعتاد تستطيع الجهة المصدرة تسجيل رقم القسيمة مع اسم مستلمها. وعندما يعيدها المتجر يمكن ربط السجلين. شرح تشوم الفكرة بظرف مبطّن بورق الكربون: ينتقل الختم الخارجي إلى الورقة داخله، دون أن يرى المُصدر رقمها. وبعد إخراجها تحمل اعتمادًا صالحًا. هذا تشبيه للتوضيح، لا وصفة أمنية بالورق والختم. يستخدم البروتوكول الحقيقي الأرقام والرياضيات ليحقق هذا الفصل بين الحواسيب. [7] [1]

تريد آنا قسيمة رقمية بقيمة 100 sats. وsats وحدات صغيرة من Bitcoin. المحفظة هي التطبيق الذي تستخدمه آنا لحفظ هذه القسائم والدفع بها. وهي تولّد قيمة سرية لا يمكن توقعها تميّز القسيمة، ثم تخفيها رياضيًا باستخدام قيمة عشوائية أخرى. يُسمّى ذلك التعمية. يتلقى المُصدر الرسالة المعمّاة، لا السر الأصلي. وتحتفظ المحفظة بما يلزم لإزالة التعمية لاحقًا. لا تكفي إعادة تسمية ملف أو حذف اسم صاحبه؛ يجب أن تحقق التعمية خصائص تشفيرية محددة. نستخدم قسيمة واحدة لتبسيط المثال؛ أما المحفظة الفعلية فقد تجمع عدة قسائم من فئات مختلفة للوصول إلى المبلغ المطلوب. [8] [2]

التوقيع الأعمى لا يعني توقيع أي شيء لأي شخص مجانًا. يستطيع المُصدر التحقق من دفع آنا أو خصم الرصيد المقابل أولًا. يعرف القيمة المطلوبة، 100 sats، لكنه لا يحتاج إلى رقم القسيمة المخفي. مفتاح التوقيع قيمة عددية سرية يستخدمها برنامج المُصدر لإنشاء التوقيعات. ويمكن ربط قيمة القسيمة بمفتاح توقيع خاص بهذه الفئة؛ فلا يؤدي تعديل رقم داخل ملف إلى قسيمة أعلى قيمة. يوقّع المُصدر المدخل المخفي ويعيد النتيجة. هكذا نفصل سبب استحقاق آنا للقسيمة عن طريقة التعرف على هذه القسيمة بعينها لاحقًا. [7] [8]

لا تحتاج آنا الآن إلى كشف السر الأصلي للمُصدر. تزيل محفظتها بنفسها الإخفاء العشوائي من النتيجة المستلمة. تُسمّى الخطوة unblinding، أي إزالة التعمية. يترك الإجراء المصمم جيدًا اعتمادًا صالحًا للرسالة الأولى، دون منح المحفظة مفتاح التوقيع الخاص بالمُصدر. يرى المستخدم مبلغًا جديدًا، بينما يجري التغليف الرياضي وفكّه في الخلفية. يُسمّى الإثبات الرقمي الناتج عادةً token، أو رمزًا. إنه ليس بيتكوين مستقلًا على سلسلة الكتل، وهي السجل المشترك لمعاملات البيتكوين، بل حق في المطالبة تجاه مُصدره. [2] [8]

يسأل التحقق: هل يطابق الاعتماد الرسالة والمفتاح الصحيح للمُصدر؟ في التوقيعات العمياء المبنية على نظام RSA التشفيري يكفي المفتاح العام؛ وقد تحتاج تراكيب أخرى إلى إثبات إضافي أو مشاركة المُصدر. لكن ذلك لا يثبت أن القسيمة غير منفقة، أو أن أحدًا لم ينسخها، أو أن المُصدر يملك احتياطيات كافية لسدادها. هذه ثلاثة أسئلة أخرى. وكما أن تذكرة أصلية سبق استخدامها لا تمنح دخولًا ثانيًا، فقد يكون الإثبات صحيحًا تشفيريًا لكنه غير صالح لدفع جديد. [2] [10]

ترسل آنا القسيمة إلى بيتر. ولأنها بيانات، يمكنها الاحتفاظ بنسخة مطابقة. لا يمحو التوقيع الأعمى الملف من جهازها. لذلك تعرض محفظة المستلم الرمز على المُصدر في النظام المعتاد المتصل بالإنترنت. يتحقق المُصدر من صحته ومن عدم إنفاق رمز يحمل القيمة السرية نفسها سابقًا. وعند قبوله يسجّل الرمز القديم كمستخدم، ويمكنه إصدار رمز جديد لبيتر بالطريقة نفسها للتوقيع الأعمى. لا تعرف آنا سر بيتر الجديد. وأي محاولة لاحقة لإنفاق النسخة القديمة ترفضها السجلات. إعادة إنفاق الأموال نفسها تُسمّى double spend، أو الإنفاق المزدوج؛ ومنعها جزء آخر من نظام الدفع. [9] [8]

يلزم توفير الحماية في الاتجاه الآخر أيضًا: يجب ألا يحوّل العميل عمليات التوقيع المسموح بها إلى إثباتات صالحة إضافية بأسرار جديدة. هذه خاصية عدم قابلية التزوير. وتدرس التوقيعات العمياء خصوصًا one-more unforgeability: هل يستطيع المهاجم، بعد عدد معين من تفاعلات التوقيع، تقديم زوج جديد صالح إضافي من رسالة وتوقيع؟ نسخ الزوج نفسه مشكلة مختلفة تناولناها سابقًا. ولا تعوّض التشفيرات الصحيحة فحوص الخادم للاستحقاق والمبالغ وبنية الرمز المسموح بها. تستطيع هذه الفحوص معًا منع إصدار قيمة دون إذن. [2] [3]

قد يعرف المُصدر متى حصلت آنا على الرموز وقيمتها. وعند الاسترداد قد يعرف الوقت أو المبلغ أو عنوان شبكة المستلم. هذه بيانات وصفية، أي معلومات مصاحبة لإثبات الدفع. بين عدد قليل من المستخدمين، قد يسهل استنتاج الصلة من مبلغ غير معتاد أو دفعة تليه مباشرة. وتهم أيضًا المفاتيح المشتركة التي جرى التحقق منها: فقد يصبح مفتاح مخصص لشخص واحد علامة عليه. تحمي خاصية العمى رابطة محددة بين التوقيع وإصداره، لا كل المعلومات المحيطة. كما أنها لا تصلح محفظة مخترقة ولا تجبر المُصدر على الوفاء بالتزاماته. [7] [2]

تقوم على فكرة تشوم أنظمة نقد إلكتروني ارتبطت تاريخيًا بـDigiCash. ويستخدمها Cashu وFedimint في بيئة Bitcoin، وتساعد صلات Lightning Network (شبكة للمدفوعات السريعة بالبيتكوين) على إدخال الأموال وإخراجها. لكن تراكيبها ليست RSA. يتحقق Cashu الأساسي من الرمز بمفتاح الجهة المصدرة السري؛ وتضيف NUT-12 إثباتًا للتحقق من التوقيع ببيانات عامة، لا إثباتًا بأن الرمز لم يُنفق. يوزع Fedimint الإدارة بين مجموعة مشغّلين. في الحالتين يحمل المستخدم حقًا تجاه المُصدر ويعتمد على حفظه للأموال وتوافره. ويمكن الجمع بين خصوصية المشتري وأهداف أخرى؛ فمثلًا يجمع GNU Taler بينها وبين قابلية تتبع إيرادات التجار. [5] [6] [10] [4]

يمكن تلخيص الآلية بمعادلات قليلة. نُرمّز الرسالة بأمان كعدد m؛ ويحتوي المفتاح العام على n وe، ونرمز للجزء الخاص بـd. يختار الطالب عددًا عشوائيًا r له معكوس ضربي r⁻¹ بترديد n، ويرسل m′ = m·r^e mod n. وتعني mod n الحساب ببواقي القسمة على n. يعيد الموقّع s′ = (m′)^d mod n، ويحصل الطالب على s = s′·r⁻¹ mod n. وعند التحقق نجد s^e mod n = m. العامل r⁻¹ هو ما يزيل التعمية. تشرح هذه العلاقات الآلية، لكنها ليست برنامجًا آمنًا مكتملًا. يحدد RFC 9474 أيضًا إعداد الرسالة ومخطط RSA-PSS مع الترميز الآمن وفحص المدخلات وفصل مفاتيح التوقيع. العشوائية واختيار صيغة البروتوكول الصحيحة أمران أساسيان. [2] [3]

للحصول على صورة أوضح، اقرأ هذا المدخل مع David Chaum, Chaumian eCash, DigiCash, Cashu, Fedimint, خصوصية Bitcoin. تشير إلى هذا المدخل أيضًا DigiCash, Chaumian eCash, Reusable Proofs of Work, Fedimint.

DOC · 001David Chaum — Blind Signatures for Untraceable Paymentsمصدر أولي DOC · 002RFC 9474 — RSA Blind Signaturesمواصفة DOC · 003IRTF/CFRG — RFC 9474 publication recordمواصفة DOC · 004GNU Taler — Principlesمصدر أولي DOC · 005Cashu protocol specificationsمواصفة DOC · 006Fedimint — How Federations Workمصدر أولي DOC · 007David Chaum — Security without Identificationمصدر أولي DOC · 008Cashu NUT-00 — Notation and modelsمواصفة DOC · 009Cashu NUT-03 — Swapping tokensمواصفة DOC · 010Cashu NUT-12 — DLEQ proofsمواصفة
تمت المراجعة: المصادر أولًا · ليست نصيحة استثمارية