DPKI: معالجة عيوب PKI المركزية بوسائل Blockchain



تعد الشهادات الرقمية واحدة من أكثر الأدوات المساعدة شيوعًا والتي تساعد في حماية البيانات عبر الشبكات العامة. ومع ذلك ، فإن العيوب الرئيسية لهذه التكنولوجيا معروفة أيضًا: يضطر المستخدمون إلى الوثوق ضمنًا بسلطات التصديق التي تصدر الشهادات الرقمية. اقترح أندري شمورا ، مدير التكنولوجيا والابتكارات في ENCRY ، مقاربة جديدة لبناء البنية التحتية للمفاتيح العامة (PKI) للتخلص من العيوب الحالية باستخدام تقنية دفتر الأستاذ الموزعة (blockchain).
لنبدأ بالأساسيات.

إذا كنت تعرف بالفعل أساسيات البنية الأساسية للمفتاح العام الحالية وعيوبها الرئيسية ، فلا تتردد في التمرير لأسفل إلى وصف ما نقترح تغييره.

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

بادئ ذي بدء ، تتطلب هذه الأساليب أن يكون لدى كيانات التفاعل زوجان رئيسيان مخصصان: عامان وخاصان. توفر أزواج المفاتيح هذه ميزات السلامة المذكورة أعلاه.

ولكن كيف يمكن تحقيق التبادل الخاص للمعلومات؟

صورة

الشكل 1. نقل البيانات المشفرة باستخدام تشفير المفتاح العمومي

قبل إرسال أي بيانات ، يقوم المرسل بتشفير (تحويل التشفير) للبيانات العامة باستخدام المفتاح العام للمستلم ، ثم يقوم المستلم بفك تشفير البيانات المشفرة باستخدام زوج المفاتيح الخاص.

كيفية تحقيق سلامة وأصالة المعلومات التي يتم إرسالها؟ يمكن حل هذه المشكلة باستخدام آلية أخرى.

صورة

الشكل 2. التوقيع الرقمي / التحقق

على الرغم من أن البيانات العامة غير مشفرة ، إلا أنها تحتوي على قيمة دالة تجزئة التشفير ، أي صورة "مضغوطة" مشفرة لتسلسل بيانات الإدخال. تسمى نتيجة التجزئة هذه "الخلاصة" ويتم تشفيرها باستخدام المفتاح الخاص للمرسل ("المصادق"). نتيجة تشفير الخلاصات هو توقيع رقمي ، يتم إرساله إلى المستلم ("المدقق") مع النص غير المشفر. يقوم المستلم بفك تشفير التوقيع الرقمي باستخدام المفتاح العمومي للمصادق ثم يقارنه بقيمة دالة تجزئة التشفير التي يتم حسابها بواسطة المدقق استنادًا إلى البيانات العامة التي تم الحصول عليها. في حالة تطابقها ، تكون البيانات المستلمة صحيحة تمامًا وخالية من أي تعديلات يمكن أن يقوم بها المهاجمون.

تستخدم معظم الموارد التي تعالج البيانات الشخصية ومعلومات الدفع (مثل البنوك وشركات التأمين وشركات النقل الجوي وأنظمة الدفع جنبًا إلى جنب مع خدمة الضرائب وغيرها من البوابات الحكومية) على نطاق واسع التشفير غير المتماثل.

كيف الشهادات الرقمية يمكن أن تساعد هنا؟ انها بسيطة جدا. تشتمل كلتا العمليتين على مفاتيح عامة تلعب دورًا مهمًا وبالتالي يجب علينا دائمًا التحقق من ملكيتها للمرسل (أو المصدق عندما نحتاج إلى التحقق من التوقيع) أو المستلم بدلاً من المهاجمين. وهذا هو المكان الذي يمكن للشهادات الرقمية أن تساعد في ضمان أصالة وسلامة المفتاح العمومي.

ملاحظة: يتم التحقق من صحة وسلامة المفتاح العمومي بنفس الطريقة تمامًا مثل البيانات العامة ، أي باستخدام التوقيع الرقمي (DS).

من الذي يصدر الشهادات الرقمية؟
يتم إصدار الشهادات الرقمية وصيانتها من قبل المراجع المصدقة الموثوق بها. يطلب الكيان الذي يقدم الطلب من المرجع المصدق إصدار شهادة ، والتسجيل في مركز التسجيل (RC) ، ثم يتلقى الشهادة في المرجع المصدق. يضمن المرجع المصدق أن المفتاح العمومي من الشهادة ينتمي إلى الكيان الذي تم إصداره من أجله.

إذا لم تتحقق من صحة المفتاح العام ، فسيتمكن المهاجمون من استبدال المفتاح الذي تم نقله / تخزينه بمفتاحهم الخاص. بمجرد استبدال المفتاح ، سيتمكن المهاجمون من فك تشفير كل شيء يقوم المرسل بنقله إلى المتلقي ، أو حتى تعديل البيانات العامة حسب تقديرهم.

تستخدم الشهادات الرقمية دائمًا مع تشفير غير متماثل. واحدة من الشهادات الرقمية الأكثر شعبية هي شهادات SSL للاتصالات الآمنة عبر HTTPS. يتم إصدار شهادات طبقة المقابس الآمنة من قبل مئات الشركات في مختلف الولايات القضائية. يتم توزيع الحصة السوقية الأساسية بين أكبر خمسة إلى عشرة من هيئات التصديق الموثوقة: IdenTrust و Comodo و GoDaddy و GlobalSign و DigiCert و CERTUM و Actalis و Secom و Trustwave.

CAs و RCs هي مكونات PKI والتي تشمل أيضًا:

  • قاموس عام: قاعدة بيانات عامة توفر تخزينًا موثوقًا للشهادات الرقمية
  • قائمة الشهادات الملغاة : قاعدة بيانات عامة توفر تخزينًا موثوقًا للشهادات الرقمية للمفاتيح العامة الملغاة (على سبيل المثال بسبب مفاتيح خاصة مخترقة)
    يجوز لكيانات البنية التحتية الوصول إلى قاعدة البيانات هذه من تلقاء نفسها أو استخدام بروتوكول حالة الشهادة عبر الإنترنت (OCSP) المتخصص الذي يبسط إجراءات التحقق.
  • مستخدمو الشهادة: كيانات PKI التي تتم خدمتها وفقًا لاتفاقية المستخدم مع المرجع المصدق وتحقق من التوقيعات الرقمية و / أو تشفير البيانات استنادًا إلى المفتاح العمومي من الشهادة
  • المشتركون: كيانات PKI التي تتم خدمتها بواسطة مرجع مصدق ، وتمسك المفتاح الخاص والمفتاح العمومي المقترن من الشهادة ، وأبرمت اتفاقية مشترك مع المرجع المصدق. قد يكون المشترك أيضًا مستخدم الشهادة.

وبالتالي ، فإن الكيانات الموثوق بها للبنية التحتية للمفتاح العام ، بما في ذلك CAs و RCs والقواميس العامة ، هي المسؤولة عن:

  1. التحقق من الكيان الذي قدم الطلب
  2. تحديد ملامح شهادة المفتاح العمومي
  3. إصدار شهادة مفتاح عمومي لكيان موثق يقوم بطلب الطلب
  4. تغيير حالة شهادة المفتاح العمومي
  5. توفير المعلومات حول الوضع الحالي لشهادة المفتاح العام.

ما هي عيوب PKI؟
العيب الأساسي لـ PKI هو الاعتماد على الكيانات الموثوقة. يتم إجبار المستخدمين على الثقة في المراجع المصدقة والمنسقين المقيمين بصورة عمياء. ومع ذلك ، فإن هذه الثقة العمياء خطيرة.

على مدى السنوات العشر الماضية ، تسبب ضعف البنية التحتية في العديد من الفضائح الرئيسية.

في عام 2010 ، وقعت البرمجيات الخبيثة Stuxnet باستخدام الشهادات الرقمية المسروقة من RealTek و JMicron بدأت في الانتشار على الإنترنت.

في عام 2017 ، اتهمت Google سيمانتيك بإصدار عدد كبير من الشهادات المزيفة. في تلك اللحظة ، كانت سيمانتك واحدة من أكبر شهادات الاعتماد من حيث عدد الشهادات الصادرة. منذ الإصدار 70 من Google Chrome ، توقفت Google عن دعم جميع الشهادات الصادرة عن هذه الشركة والشركات التابعة لها GeoTrust و Thawte قبل 1 ديسمبر 2017.

لقد تم اختراق هذه المراجع المصدقة ، ونتيجة لذلك ، تأثرت المراجع المصدقة نفسها مع المستخدمين والمشتركين. علاوة على ذلك ، تأثرت الثقة في البنية التحتية. بالإضافة إلى ذلك ، قد يتم حظر الشهادات الرقمية بسبب الصراعات السياسية وبالتالي التأثير على العديد من الموارد. لهذا السبب في عام 2016 نظرت السلطات الروسية في إنشاء المركز الوطني لإصدار الشهادات لإصدار شهادات طبقة المقابس الآمنة لمواقع Runet. في الوضع الحالي ، تستخدم بوابات الحكومة الروسية الشهادات الرقمية الصادرة عن الشركات الأمريكية Comodo أو Thawte (فرع شركة Symantec).

هناك مشكلة أخرى: كيفية مصادقة المستخدمين في البداية؟ كيفية التعرف على مستخدم مجهول طلب شهادة رقمية من المرجع المصدق؟ اليوم ، غالبا ما يتم ذلك بشكل تعسفي اعتمادا على قدرات البنية التحتية. تؤخذ بعض المعلومات من قواعد البيانات العامة (على سبيل المثال حول الكيانات القانونية التي تطلب الشهادات) أو من البنوك ومكاتب البريد حيث يمكن للأفراد التعرف عليهم بواسطة بطاقات الهوية وغيرها من المستندات.

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

كيفية القضاء على هذه العيوب؟
نظرًا لأن مشكلات PKI الحالية ناتجة بشكل أساسي عن المركزية ، فمن الواضح أن اللامركزية قد تساعد في القضاء على بعضها على الأقل.

لا تعتمد اللامركزية على أي كيانات موثوق بها ، لأن إنشاء البنية التحتية للمفاتيح العامة اللامركزية (DPKI) سيجعل كل من المرجعيات والمراجع الإقليمية غير ضرورية . دعنا نرفض مفهوم الشهادة الرقمية ونستخدم بدلاً من ذلك دفتر الأستاذ الموزع لتخزين المعلومات حول المفاتيح العامة. في حالتنا ، فإن دفتر الأستاذ هو قاعدة بيانات خطية تتكون من سجلات فردية (كتل) ومتصلة باستخدام تقنية blockchain. دعنا نستبدل مصطلح "الشهادة الرقمية" بمصطلح "الإخطار".

هذه هي الطريقة التي سيبدو بها استلام الإعلامات والتحقق منها وإبطالها في DPKI المقترحة:

  1. ينطبق كل كيان يقدم الطلب على إخطار من تلقاء نفسه عن طريق ملء نموذج التسجيل ، ثم يقوم بإنشاء معاملة سيتم تخزينها في مجمع متخصص.
  2. يتم تخزين المعلومات حول المفتاح العمومي إلى جانب تفاصيل المالك والبيانات الوصفية الأخرى في دفتر الأستاذ الموزع بدلاً من الشهادة الرقمية التي تصدرها المرجع المصدق (CA) في PKI المركزي.
  3. يتم بعد ذلك المصادقة على الكيان الذي يقدم الطلب من خلال الجهود المشتركة لمجتمع مستخدمي DPKI بدلاً من RC.
  4. يجوز لمالك هذا الإخطار فقط تغيير حالة المفتاح العمومي.
  5. يمكن لأي شخص الوصول إلى دفتر الأستاذ الموزع والتحقق من الحالة الحالية للمفتاح العمومي.

ملاحظة: للوهلة الأولى ، قد تبدو مصادقة الكيان الذي يقدم الطلب غير موثوق بها. ومع ذلك ، من المهم أن تضع في اعتبارك أن جميع مستخدمي الخدمات الرقمية في الوقت الحالي يتركون بصمة رقمية متزايدة. تتضمن الأدوات المتاحة للجمهور قواعد بيانات رقمية للكيانات القانونية والخرائط وصور التضاريس الرقمية ووسائل التواصل الاجتماعي والمزيد. يتم استخدامها بالفعل بنجاح في التحقيقات من قبل الصحفيين ووكالات إنفاذ القانون. أحد الأمثلة النموذجية تشمل تحقيقات Bellingcat ومجموعة JIT المشتركة ، التي تحقق في تحطم طائرة بوينج الماليزية.

لذلك ، كيف ستعمل البنية التحتية للمفتاح العام اللامركزية في الممارسة؟ دعنا نتعمق في التكنولوجيا التي حصلنا عليها في عام 2018 ونفكر في أفضل معرفة لدينا.

افترض أن هناك شخصًا يملك مجموعة من المفاتيح العامة ، حيث يكون كل مفتاح نوعًا من المعاملات المخزنة في دفتر الأستاذ. كيفية التحقق من أن جميع هذه المفاتيح تنتمي حقا إلى مالك معين دون CA؟ لحل هذه المهمة ، يمكننا إنشاء معاملة فارغة لتخزين المعلومات حول المالك ومحفظته الإلكترونية (يتم خصم رسوم العمولة من خلالها إضافة معاملة إلى دفتر الأستاذ). تعتبر المعاملة الخالية نوعًا من "الربط" لتثبيت المعاملات التالية جنبًا إلى جنب مع البيانات المتعلقة بالمفاتيح العامة. تحتوي كل معاملة من هذا النوع على بنية بيانات متخصصة تسمى "إخطار".

الإعلام هو مجموعة بيانات منظمة من الحقول الوظيفية التي تخزن المعلومات حول المفتاح العام للمالك وتضمن استمرار هذا المفتاح عن طريق إضافته إلى أحد السجلات ذات الصلة في دفتر الأستاذ الموزع.

السؤال التالي الواضح هو كيفية تشكيل معاملة فارغة؟ معاملة فارغة ، مثلها مثل كل المعاملات اللاحقة ، عبارة عن تجميع لستة حقول بيانات. لتشكيل معاملة فارغة ، نستخدم زوج المفاتيح العام / الخاص للمحفظة الإلكترونية. يتم إنشاء زوج المفاتيح العام / الخاص عندما يقوم المستخدم بإنشاء محفظته التي سيتم منها خصم رسوم العمولة لإضافة معاملة فارغة إلى دفتر الأستاذ وللعمليات اللاحقة مع الإخطارات.

صورة

الشكل 3. إنشاء معاملة فارغة

يوضح الشكل 3 كيفية تكوين ملخص للمفتاح العام للمحفظة الإلكترونية باستخدام دالة تجزئة SHA256 ثم دالة تجزئة RIPEMD160. هنا ، يكون RIPEMD160 مسؤولاً عن تمثيل البيانات التي يصل حجم الخلاصة إلى 160 بت. إنها مهمة جدًا ، نظرًا لأن دفاتر الأستاذ هي قواعد بيانات باهظة الثمن. المفتاح العمومي نفسه مدرج في الحقل الخامس. يحتوي الحقل الأول على بيانات تربط معاملة معينة بالمعاملة السابقة. في المعاملة الخالية ، بخلاف كل المعاملات الأخرى ، هذا الحقل فارغ. يحتوي الحقل الثاني على بيانات للتحقق من اتصال المعاملة. من أجل الإيجاز ، سنشير إلى البيانات في الحقلين الأول والثاني باسم "الربط" و "التحقق" على التوالي.

صورة

الشكل 4. المعاملات ملزمة والتحقق

يمكن تشكيل البيانات في هذه الحقول باستخدام التجزئة التكراري كما هو موضح في الشكل 4 أعلاه لربط المعاملات الثانية والثالثة.
تتم مصادقة البيانات الموجودة في الحقول الخمسة الأولى باستخدام DS الذي تم إنشاؤه باستخدام المفتاح الخاص للمحفظة الإلكترونية. وهذا كل شيء - يمكن الآن إضافة الصفقة إلى المجموعة ثم بعد التحقق بنجاح (كما هو موضح في الشكل 5 ) ، إلى دفتر الأستاذ.

صورة

الشكل 5. التحقق من الصفقة الفارغة

الآن يمكن استخدام هذه المعاملة لـ "ربط" المعاملات التالية. دعنا نلقي نظرة على الشكل 6 لنرى كيف يتم تشكيل جميع المعاملات غير الفارغة.

صورة

الشكل 6. إنشاء معاملة غير فارغة

أول شيء قد تلاحظه هو عدد كبير من أزواج المفاتيح العامة / الخاصة. بالإضافة إلى زوج المفاتيح العام / الخاص المألوف في المحفظة الإلكترونية ، نستخدم أيضًا أزواج المفاتيح العادية والخدمية.

المفتاح العام العادي هو الجزء الأكثر أهمية هنا. يستخدم هذا المفتاح في مختلف الإجراءات والعمليات في العالم المحيط (مثل المعاملات المصرفية وغيرها من المعاملات ، وتدفق المستندات ، وما إلى ذلك). على سبيل المثال ، يمكن استخدام مفتاح خاص من زوج مفاتيح عام / خاص عادي لإنشاء DS لمستندات متعددة ، مثل أوامر الدفع ، بينما يمكن استخدام المفتاح العمومي للتحقق من DS مع التنفيذ اللاحق لهذه أوامر.

يتم إصدار زوج مفتاح خدمة عام / خاص لكيان DPKI مسجل. يعكس اسم زوج المفاتيح العام / الخاص هذا غرضه بوضوح. لاحظ أنه لا يتم استخدام مفاتيح الخدمة لإنشاء / التحقق من معاملة فارغة.

لكي نكون واضحين ، دعونا ننقح أغراض هذه المفاتيح:

  1. تُستخدم مفاتيح المحفظة الإلكترونية لإنشاء و / أو التحقق من كل المعاملات الفارغة وأي معاملات غير فارغة. يُعرف المفتاح الخاص للمحفظة الإلكترونية فقط بمالك المحفظة الإلكترونية الذي يمتلك أيضًا مجموعة المفاتيح العامة العادية.
  2. الغرض من المفتاح العمومي العادي هو نفس الغرض من المفتاح العمومي الذي يتم إصدار شهادة في PKI المركزي له.
  3. ينتمي زوج مفاتيح الخدمة العامة / الخاصة إلى DPKI. يتم إصدار مفتاح خاص للكيانات المسجلة ويستخدم لإنشاء DS لجميع المعاملات غير الفارغة. يستخدم المفتاح العمومي للتحقق من DS للمعاملات قبل إضافتها إلى دفتر الأستاذ.

وبالتالي ، لدينا اثنين من مجموعة من المفاتيح. تتضمن المجموعة الأولى مفاتيح الخدمة ومفاتيح المحفظة الإلكترونية المؤهلة فقط داخل DPKI. تحتوي المجموعة الثانية على مفاتيح عادية يمكن استخدامها لأغراض متعددة حسب مجال التطبيق المحدد. في الوقت نفسه ، تضمن DPKI سلامة وصحة المفاتيح العامة العادية.

ملاحظة: قد يتم الكشف عن زوج مفاتيح الخدمات العامة / الخاصة للعديد من كيانات DPKI. في بعض الحالات ، قد يكون الزوج هو نفسه بالنسبة لجميع الكيانات. هذا هو السبب في أن إنشاء توقيع لكل معاملة غير فارغة يتطلب مفتاحين خاصين ، أحدهما هو مفتاح المحفظة الإلكترونية: هذا المفتاح معروف فقط لمالك المحفظة الإلكترونية الذي يمتلك أيضًا مجموعة المفاتيح العامة العادية. كل هذه المفاتيح لها أغراض معينة. على سبيل المثال ، يمكننا دائمًا إثبات أن معاملة معينة قد تم تضمينها في دفتر الأستاذ من قبل كيان DPKI مسجل ، نظرًا لأن التوقيع تم تشكيله باستخدام مفتاح خدمة خاص أيضًا. بالإضافة إلى ذلك ، يمنع هذا أي هجمات DOS وغيرها من الأنشطة الاحتيالية ، لأن المالك يدفع لكل معاملة.

يتم تكوين جميع المعاملات التي تتبع معاملة فارغة بطريقة مماثلة: تتم معالجة مفتاح عام (من زوج مفاتيح عادي ، وليس مفتاح محفظة إلكترونية كما هو الحال بالنسبة للمعاملات الفارغة) باستخدام دالتين تجزئة: SHA256 و RIPEMD160. هذه هي الطريقة التي يتم تشكيل البيانات في الحقل الثالث. يحتوي الحقل الرابع على معلومات إضافية (مثل معلومات عن الحالة الحالية ، وفترة الصلاحية ، وختم الوقت ، ومعرفات خوارزميات التشفير ، وما إلى ذلك). يحتوي الحقل الخامس على مفتاح عمومي من زوج مفاتيح الخدمة العامة / الخاصة. يتم تكرار هذا المفتاح ، لأنه سيتم استخدامه للتحقق من DS. دعونا نثبت أن هذا النهج ضروري.

يتم تضمين كل معاملة في المجمع وتخزينها هناك حتى تتم معالجتها. ومع ذلك ، فإن الاحتفاظ بالمعاملات في المجمع أمر محفوف بالمخاطر ، حيث يمكن تزوير بيانات المعاملات. يصادق المالك بيانات المعاملة باستخدام DS. يتم تحديد المفتاح العمومي للتحقق من هذا DS بشكل صريح في أحد حقول المعاملة ثم يتم تضمينه في دفتر الأستاذ. تتم معالجة المعاملات بطريقة قد تسمح للمهاجم بتعديل البيانات وفقًا لتقديره الخاص ، والتحقق منها باستخدام مفتاح خاص ، ثم تحديد المفتاح العمومي المقابل للتحقق من DS مباشرةً في المعاملة. إذا تم ضمان الأصالة والنزاهة باستخدام DS فقط ، فقد يظل هذا التزوير دون أن يلاحظه أحد. ومع ذلك ، فإن مد DS باستخدام آلية إضافية توفر كل من أرشفة واستمرار المعلومات المخزنة سيساعد في اكتشاف مثل هذا التزوير. كل ما نحتاج إلى القيام به هو تضمين المفتاح العمومي الأصلي للمالك في دفتر الأستاذ. دعونا نرى كيف يعمل.

افترض أن المهاجم يحاول تزوير بيانات المعاملة. فيما يتعلق بالمفاتيح و DS ، تكون الخيارات التالية ممكنة:

  1. يضع المهاجم المفتاح العمومي الخاص به في المعاملة مع الحفاظ على DS للمالك دون تغيير.
  2. يشكل المهاجم DS جديدًا باستخدام المفتاح الخاص به مع الحفاظ على المفتاح العام للمالك دون تغيير.
  3. يشكل المهاجم DS جديدًا باستخدام المفتاح الخاص به ويضع المفتاح العمومي المقابل في المعاملة.

من الواضح أن الخيارين 1 و 2 عديم الجدوى ، لأن التحقق من DS سوف يكتشف دائمًا مثل هذا التزوير. الخيار الوحيد المنطقي هو الخيار 3: إذا قام المهاجم بإنشاء DS باستخدام مفتاحه الخاص ، فسيضطر إلى حفظ المفتاح العمومي المقابل في المعاملة ، وسيكون هذا المفتاح مختلفًا عن المفتاح العمومي للمالك. إنها الطريقة الوحيدة للمهاجم لفرض بياناته المزيفة.

افترض أن المالك لديه زوج مفاتيح عام / خاص ثابت. افترض أن البيانات مصادقة باستخدام DS باستخدام مفتاح خاص من هذا الزوج أثناء تحديد المفتاح العمومي في المعاملة. لنفترض أيضًا أن هذا المفتاح العمومي قد تم تضمينه مسبقًا في دفتر الأستاذ وأنه تمت المصادقة عليه بالكامل. ثم يمكن الكشف عن التزوير من خلال حقيقة أن المفتاح العمومي في المعاملة لا يتطابق مع المفتاح العمومي في دفتر الأستاذ.

دعنا نلخصها. عند معالجة البيانات من المعاملة الأولى للمالك ، يجب علينا المصادقة على المفتاح العمومي المضمّن في دفتر الأستاذ. للقيام بذلك ، يمكننا قراءة المفتاح من دفتر الأستاذ ومن ثم مطابقة هذا المفتاح بالمفتاح العمومي الأصلي للمالك داخل محيط الأمان (منطقة غير محسوبة نسبيًا). إذا تمت المصادقة على المفتاح الموحد واستمراره تمامًا ، فيمكن أيضًا المصادقة بسهولة على المفتاح من المعاملة التالية من خلال مطابقته مع المفتاح من دفتر الأستاذ. بمعنى آخر ، يتم استخدام المفتاح من دفتر الأستاذ كمرجع. ستتم معالجة جميع المعاملات الأخرى للمالك بطريقة مماثلة.

تتم مصادقة كل معاملة بواسطة DS ، وهنا نحتاج إلى كل من المفاتيح الخاصة: مفتاح الخدمة الخاص والمفتاح الخاص بالمحفظة الإلكترونية. استنادًا إلى المفتاحين الخاصين ، يمكننا ضمان مستوى الأمان المستهدف ، لأن المفتاح الخاص للخدمة يمكن أن يعرفه المستخدمون الآخرون ، في حين أن المفتاح الخاص بالمحفظة الإلكترونية معروف فقط لمالك زوج المفاتيح العادي. لقد أطلقنا على هذا التوقيع ثنائي المفتاح DS "موحد".

يتم التحقق من المعاملات غير الخالية باستخدام المفتاحين العامين: مفتاح المحفظة الإلكترونية ومفتاح الخدمة. (الشكل 7)

صورة

الشكل 7. التحقق من معاملة غير فارغة

تتكون عملية التحقق من خطوتين أساسيتين: تتضمن الخطوة الأولى التحقق من خلاصة المفتاح العام للمحفظة الإلكترونية بينما تنفذ الخطوة الثانية التحقق من DS المجمعة للمعاملة المشكلة باستخدام المفتاحين الخاصين (أي مفتاح المحفظة ومفتاح الخدمة). عندما تتم المصادقة على DS ، يتم تضمين المعاملة المقابلة ، عند التحقق الإضافي ، في دفتر الأستاذ.

ومع ذلك ، يطرح السؤال التالي: كيفية التحقق مما إذا كانت معاملة معينة تنتمي إلى سلسلة معاملات معينة تبدأ من معاملة فارغة؟ للقيام بذلك ، قمنا بتحديث عملية التحقق بخطوة أخرى - التحقق من الاتصال. ستتطلب هذه الخطوة بيانات من أول حقلين لم نستخدمها حتى الآن.

لنفترض أننا بحاجة إلى التحقق مما إذا كانت المعاملة رقم 2 تتبعها بالفعل المعاملة رقم 3 . للقيام بذلك ، يمكننا استخدام طريقة التجزئة المدمجة لحساب قيم دالة التجزئة للبيانات في الحقول الثالثة والرابعة والخامسة. يمكننا أن نسلسل البيانات من الحقل الأول للمعاملة رقم 3 وقيمة دالة التجزئة المجمعة المحسوبة مسبقًا للبيانات في الحقول الثالثة والرابعة والخامسة للمعاملة رقم 2 . ثم تتم معالجة جميع هذه القيم باستخدام دالات التجزئة اثنين: SHA256 و RIPEMD160. إذا تطابقت القيمة الناتجة مع البيانات الموجودة في الحقل الثاني للمعاملة رقم 2 ، فسيتم اجتياز عملية التحقق بنجاح وإثبات الاتصال. يظهر هذا بمزيد من التفصيل في الأشكال أدناه.

صورة


صورة

الشكل 8 ، الشكل 9. التحقق ملزمة ، مثال المعاملات الثانية والثالثة

بشكل عام ، يبدو تكوين إشعار في دفتر الأستاذ بما في ذلك. سير العمل في تشكيل سلسلة من الإخطارات مبين بوضوح في الشكل التالي:

صورة

الشكل 10. هيكل المعاملات ومعالجتها

في هذه المقالة ، لن نتعمق في التفاصيل ونعود إلى مناقشة مفهوم البنية التحتية اللامركزية للمفاتيح العامة.

لذلك ، بما أن الكيان الذي يقدم الطلب يرسل طلبًا لتسجيل الإخطارات المخزنة في دفتر الأستاذ بدلاً من قاعدة بيانات المرجع المصدق (CA) ، فإن المكونات المعمارية الأساسية في DPKI هي كما يلي:
  1. دفتر الأستاذ صالح الإخطارات (LVN)
  2. دفتر الأستاذ المسحوب (LWN)
  3. دفتر الأستاذ الموقوف (LSN).


يتم تخزين المعلومات حول المفاتيح العامة في LVN / LWN / LSN كقيم دالة التجزئة. لاحظ أيضًا أنه يمكن أن يكون إما دفاتر مختلفة أو سلاسل مختلفة أو حتى سلسلة واحدة كجزء من دفتر أستاذ واحد ، عند إضافة معلومات حول حالة المفتاح العمومي العادي (السحب ، التعليق ، إلخ) إلى الحقل الرابع من هيكل البيانات كقيمة رمز المقابلة. هناك الكثير من الخيارات للتطبيق المعماري لـ DPKI اعتمادًا على معايير التحسين المختلفة ، مثل تكاليف تخزين المفاتيح العامة على المدى الطويل في الذاكرة ، إلخ.

وبالتالي ، يمكن أن يتحول DPKI إلى نفس التعقيد المعماري أو حتى الأدنى مقارنةً بالحل المركزي.

لذا ، فإن السؤال الرئيسي هنا هو أي دفتر الأستاذ هو أكثر ملاءمة لتنفيذ هذه التكنولوجيا؟

الشرط الأساسي لدفتر الأستاذ هو أن تكون قادرًا على تشكيل معاملات من أي نوع. المثال الأكثر شهرة من دفتر الأستاذ الحقيقي هو بيتكوين. ومع ذلك ، قد يواجه تطبيق التقنية المذكورة أعلاه لـ Bitcoin صعوبات معينة: القيود المفروضة على لغة البرمجة النصية الحالية ، والافتقار إلى الآليات اللازمة لمعالجة مجموعات البيانات التعسفية وطرق توليد المعاملات من أنواع عشوائية ، وما إلى ذلك.

حاولنا في ENCRY حل المشكلات المذكورة أعلاه وقمنا بتطوير دفتر الأستاذ الذي يتميز ، في رأينا ، بالعديد من المزايا المهمة:

  • دعم عدة أنواع من المعاملات: في دفتر الأستاذ هذا ، يمكنك كلاً من تبادل الأصول (أي تنفيذ معاملات مالية) وتكوين معاملات ذات هيكل تعسفي
  • المطورون مدعوون لاستخدام لغة البرمجة الاحترافية PrismLang والتي تتميز بالمرونة في حل المشكلات التكنولوجية المختلفة
  • الآلية المنفذة لمعالجة مجموعات البيانات التعسفية.

ببساطة ، يجب إتمام الخطوات التالية:

  1. كيان يقدم الطلب يسجل في DPKI ويحصل على محفظة إلكترونية. عنوان المحفظة الإلكترونية هو قيمة وظيفة التجزئة المطبقة على المفتاح العام للمحفظة الإلكترونية. يُعرف المفتاح الخاص للمحفظة الإلكترونية فقط بالكيان الذي يقدم الطلب
  2. عند التسجيل ، يحصل الكيان على حق الوصول إلى مفتاح الخدمة الخاص
  3. يشكل الكيان معاملة فارغة ثم يقوم بتوثيق DS الخاص به باستخدام المفتاح الخاص للمحفظة الإلكترونية
  4. عند تكوين معاملة غير خالية ، يجب على الكيان مصادقة DS الخاص به باستخدام مفتاحين خاصين: مفتاح المحفظة الإلكترونية ومفتاح الخدمة
  5. يرسل الكيان المعاملة إلى التجمع
  6. عقدة الشبكة ENCRY تقرأ المعاملة من التجمع ومن ثم تتحقق من DS المعاملة والاتصال
  7. إذا كانت DS صالحة وتم إثبات الاتصال ، فستقوم العقدة بإعداد المعاملة للإضافة إلى دفتر الأستاذ.


هنا ، يعمل دفتر الأستاذ كقاعدة بيانات موزعة تخزّن معلومات حول الإشعارات الصحيحة والمنسحبة والمعلقة.

بالتأكيد ، اللامركزية ليست حلاً يناسب الجميع. لا تزال المشكلة الأساسية المتعلقة بمصادقة المستخدم الأساسي مستمرة: بينما يتم التحقق من الكيان الذي يقدم الطلب حاليًا بواسطة المرجع المصدق (CA) ، تقترح DPKI تفويض هذا التحقق لأعضاء المجتمع وتحفيزهم ماليًا. تقنية التحقق المعتمدة على المصادر العامة معروفة. كما تم إثبات فعالية مثل هذا التحقق في الممارسة العملية: العديد من التحقيقات رفيعة المستوى التي أجرتها Bellingcat هي أمثلة جيدة على ذلك.

ولكن بشكل عام ، نحن متأكدون تمامًا من أن DPKI قادر على القضاء على العديد من عيوب PKI المركزية ، إن لم يكن جميعها.

لا تتردد في الاشتراك في مدونتنا على Habr ، حيث سنناقش المزيد من الأبحاث والتطورات الخاصة بنا ، وتابع Twitter لدينا للاطلاع على المزيد من الأخبار حول مشاريع ENCRY.

Source: https://habr.com/ru/post/ar461731/


All Articles