
هل سمعت عن
التشفير الوظيفي (FS)؟ ربما سمعت عن ذلك ، وبالنسبة لك وضعته على قدم المساواة مع
تشفير متماثل ، وهذا ليس خطأ تماما ، ولكن ليس صحيحا تماما.
دعنا نلقي نظرة على ما هو FS معك اليوم ، وتحليل بضعة أمثلة وكيف يختلف عن تشفير متماثل تماما (PGS).
لنقرر أولاً ما نعنيه عند الحديث عن FS. في الآونة الأخيرة ، في عام 2010 ، صمم دان بونيت وأميت ساهي وبرنت ووترز مفهوم FS. يمكن وصف FS تقريبًا كما يلي: هذا مخطط تشفير به مفتاح عمومي ، حيث تتيح مفاتيح مختلفة لفك التشفير للمستخدم التعرف على وظائف معينة للبيانات المشفرة.
لذلك ، في مخطط FS للوظيفة F (· ، ·) ، ينشئ المشفر مع المفتاح الرئيسي المفتاح s
k ، والذي يسمح بحساب الوظيفة F (k ، ·) من البيانات المشفرة حتى يتمكن برنامج فك التشفير ، ومعرفة النص المشفر c من البيانات x والمفتاح s
k ، قادر على حساب F (k ، x) دون التمكن من اكتشاف أي شيء آخر غير نتيجة حساب دالة من x.
FS مقابل PGS
إذا كنت على دراية بمفهوم PGS ، سيكون من المثير للاهتمام رسم الموازي التالي:
باستخدام PGS ، يمكنك حساب أي وظائف للبيانات المشفرة دون فك تشفير هذه البيانات. هذه فرصة مثيرة للاهتمام لتفويض الحوسبة إلى جهات خارجية ليست لها ثقة. ناقص النهج هو أن النتيجة مشفرة أيضًا ، ولإلغاء تشفيرها ، تحتاج إلى إرسالها إلى مالك المفتاح الخاص. يمكن تمثيل عملية PGS على النحو التالي ، حيث E هي نظام التشفير و F هي الوظيفة التي نريد حسابها من البيانات المشفرة:
E (x_1) ، E (x_2) ، ... ، E (x_n) → E (F (x_1 ، x_2 ، · · ، x_n))
من ناحية أخرى ، مع FS ، تكون النتيجة متاحة مباشرة لنا مباشرة بعد الحسابات ، أي أن ما يلي متاح لنا:
E (x_1) ، E (x_2) ، · · ، E (x_n) → F (x_1 ، x_2 ، · · ، x_n)
بمعنى ما ، FS هو مخطط يقوم بحساب وفك تشفير النتيجة في وقت واحد ، دون تسرب المفتاح الخاص وأي معلومات حول x
1 ، x
2 ، · ، ، x
n باستثناء نتيجة الحساب نفسها.
من الواضح ، أننا لسنا بحاجة إلى أن يكون الجميع قادرين على حساب أي وظيفة يريدونها ، لأنه سيكون من السهل الحصول على معلومات حول المعلمات الفردية بنص واضح (على سبيل المثال ، لحساب وظيفة متطابقة). لذلك ، يمكن فقط لمالك المفتاح الخاص فك تشفير E (x_i) وإنشاء مفاتيح تسوية لبعض الوظائف التي يختارها. وهذا يعني أن الخدمة المالية تتطلب وجود "سلطة مركزية" تصدر "مفاتيح التسوية" للأشخاص المسؤولين عن الحسابات الوظيفية.
أي أن FS هي تعميم لفكرة التشفير باستخدام مفتاح عمومي ، مما يسمح للمستخدمين بتفويض جهات خارجية لحساب فئات معينة من الوظائف من البيانات المشفرة عن طريق إنشاء مفاتيح سرية معينة لهذه الوظائف. على عكس أنظمة التشفير القياسية ، فإنه يتيح لك التحكم بدقة أكبر في قدرات فك التشفير المتاحة لأطراف ثالثة.
FS مفيد للغاية لأنه يسمح لنا بنقل معلومات معينة عن البيانات المشفرة عن قصد إلى مستخدمين معينين. على سبيل المثال ، يمكننا الحصول على متوسط القيمة من مجموعة من البيانات المشفرة دون الكشف عن البيانات نفسها ، أو الحصول على المزيد من الإحصاءات حول هذه المجموعة. مع وجود مشاكل الأمان الحالية والمتطلبات التي تفرضها قوانين جديدة ، مثل إجمالي الناتج المحلي ، تصبح الحاجة إلى مخططات FS فعالة أكثر وضوحًا ، لأنها تتيح للأطراف الثالثة معالجة البيانات المشفرة دون إعطاء هذه البيانات لأي شخص بصورته الخالصة. هذا يعني أنه يمكننا المضي قدماً أكثر مما يسمح به إخفاء الهوية الزائفة للبيانات الشخصية ، مما يضمن المزيد من السرية الصارمة!
العودة إلى FS
نظرًا لطبيعتها العامة ، تحتضن FS وتجمع بين العديد من مخططات التشفير المتقدمة الأخرى التي تمت دراستها مسبقًا بشكل مستقل ، وهي:
التشفير القائم على المصادقة ، والتشفير
القابل للبحث ، وتشفير المتجه المخفي ، والتشفير القائم على التعريف مع أنماط البدل ،
والتشفير المستند إلى السمات ، التشفير الوظيفي مع المنتج العددية.
على الرغم من أن مخططات FS لا تزال صغيرة للغاية ، فقد حدث الكثير منذ عام 2010 ، وهناك بالفعل الكثير من المخططات المثيرة للاهتمام التي تسمح لك بعمل أشياء تبدو معقدة للغاية منذ 8 سنوات. لقد وصلت بالفعل إلى النقطة التي يتم بها تنظيم التقارير عن FS في مؤتمرات تشفير معينة!
دعونا نلقي نظرة على عدة أنواع مختلفة من مخططات FS. على سبيل المثال:
- تشفير وظيفي مع منتج عددي (FSFS) ، حيث يكون النص العادي متجهًا ، ويمكن استخدام البيانات المشفرة مع المفتاح لحساب منتج العددية لهذا المتجه مع آخر. لدى FSSP العديد من الخيارات: للعديد من العملاء ، للعديد من المدخلات ، اللامركزية ، مع وظائف الاختباء ، إلخ.
- التشفير المستند إلى السمات (SHO) ، حيث ترتبط البيانات المشفرة بمجموعة من السمات والمفاتيح السرية إلى جانب بعض القواعد التي تتحكم في النص المشفر الذي يمكن تشفيره ، اعتمادًا على السمات التي لدينا.
- FS "للأغراض العامة" ، والذي يسمح بحساب الدالة f من أي نوع من البيانات المشفرة Enc (x).
ومع ذلك ، من المهم أن نلاحظ هنا أنه على الرغم من أن الكثير من العمل قد تم بالفعل ، مع التركيز على الجوانب النظرية للخدمة الثابتة ، من أجل تطوير هذا المجال إلى أقصى حد ممكن ، فإن جميع الخدمات العامة للأغراض العامة غير فعالة للغاية للاستخدام العملي اليوم. هذا هو أحد الموضوعات البحثية لمشروع FENTEC (برنامج الأبحاث الأوروبي
للتكنولوجيا الوظيفية للتشفير): جلب FS إلى قابلية التطبيق العملي من خلال تصميم وتنفيذ مخططات عملية يمكن استخدامها على نطاق صناعي. في هذا المشروع ، لم يتم تطوير مخططات جديدة ذات وظائف أكثر ثراءً ، ولكن أيضًا معالجات خاصة يمكنها تسريع الحسابات المطلوبة أكثر - كل شيء لجعل النظرية أقرب إلى الممارسة. يمكن العثور على مزيد من المعلومات حول هذه المعدات في منشور مدونة
مشروع FENTEC.
تريد استخدام FS اليوم؟ يرجى استخدام
ولكن ماذا لو كنت تريد استخدام FS اليوم؟ يجب أن لا تكون هناك مشكلة في ذلك! كجزء من مشروع FENTEC ، يشارك فريق من XLAB في تنفيذ العديد من المخططات التي طورتها الجامعات الشريكة في شكل مكتبة
CiFEr C و
GoFE Go-library.
يمكنك قراءة المزيد حول المكتبات
على مدونة FENTEC بمزيد من التفاصيل ، أو الانتقال مباشرة إلى Github وبدء اللعب مع
مكتبات CiFEr و
GoFE . بالمناسبة ، تحققنا من أنها تعمل حتى في المتصفح من خلال WASM!
هناك بعض الأمثلة في مستودع جيثب للمشروع:
كل التفاصيل الرهيبة: ما هو داخل مخطط FS
من بين المخططات التي تم تنفيذها بالفعل ، يمكنك العثور على العديد من المخططات التي تسمى "التشفير الوظيفي مع منتج العددية." ولكن ماذا يعني هذا الاسم؟ يجب أن يؤخذ حرفيًا: تسمح هذه المخططات للأطراف الخارجية بحساب نتيجة المنتج العددي الخاص بالمتجهين اللذين يستخدمان FS.
افترض أنك تريد تشفير المتجه a والحصول على نتيجة لمنتجه القياسي باستخدام المتجه y. بادئ ذي بدء ، نحن بحاجة إلى سلطة مركزية لتنفيذ FS.
في هذه الحالة ، تصدر السلطة المركزية mpk "المفتاح الرئيسي العام" ، وكذلك مفتاح التسوية z
y لمتجه معين y. بعد ذلك ، يمكن لأي شخص يعرف المفتاح العمومي تشفير المتجه a ، مما يسمح لأي جهة خارجية لديها المفتاح z بحساب <a ،
y> ، وجود E
mpk (a) ، وعدم معرفة أي شيء عن المتجه بنفسه.
لاحظ أنه في مخطط FS هذا ، يجب أن يكون المتجه y المطابق للمفتاح الحسابي z
y معروفًا لطرف ثالث من أجل حساب المنتج القياسي. وهذا هو ، فقط المتجه أ يبقى سرا.
ماذا لو كنت تريد أن يظل كلا المتجهين ، a و y سرًا ، ولكن في نفس الوقت حتى تتمكن الأطراف الثالثة من حساب منتجها القياسي؟
لحسن الحظ ، حقق مجال البحث هذا أيضًا اختراقات كبيرة في السنوات الأخيرة. ومن المعروف باسم "FS مع وظائف الاختباء." في الواقع ، فإن نظام تشفير المنتج القياسي "يخفي الوظائف" إذا كان المفاتيح ونص التشفير لا يوفران معلومات إضافية حول المتجهات a و y ، باستثناء منتجهما القياسي <a، y>. في مخططات جديدة مع FS ، وظائف إخفاء شائعة بشكل متزايد (
1 ،
2 ،
3 ).
لتلخيص
على الرغم من ظهور التشفير الوظيفي مؤخرًا ، يمكننا بالفعل تخيل العديد من الخيارات لاستخدامه في المستقبل. من المثير للاهتمام بشكل خاص القدرة على نقل عملية صنع القرار ، بناءً على تشفير البيانات من طرف إلى طرف ، من الأنظمة الخلفية إلى أنظمة بوابة معينة في الشبكات المعقدة. نحن نسمي هذا "صنع القرار المحلي" ، ومثل هذه الفرصة هي خطوة كبيرة نحو إنشاء شبكات آمنة لـ "إنترنت الأشياء" والشبكات اللامركزية الأخرى التي ترغب في تطبيق التشفير من طرف إلى طرف دون فقد الكثير من القدرة على اتخاذ القرار على مستوى البوابة.
نعمل الآن على نموذج أولي لمنتج ، باستخدام FS مع منتج قياسي ، قادر على اكتشاف الحركة في دفق الفيديو من الكاميرا إلى نظام الواجهة الخلفية ، على مستوى البوابة ، باستخدام ما يسمى "ناقلات الحركة" المدرجة في معيار H.264 / MPEG-4 AVC.
تصور ناقلات الحركة في الإطار عند ترميز H.264 فتح الكرتون القصير الأرنب الكبير باكيرجى ملاحظة مدى متجهات الحركة الجيدة كمرشحين للاستخدام في المخططات مع FS مع منتج العددية - لأنه يتم تعريف منتج العددية على مسافات المتجه! ما زلنا نبحث عن أفضل الخيارات لطرق الكشف عن الحركة ، ونأمل في الحصول على نموذج أولي يعمل بشكل كامل باستخدام FS للتعرف على الحركة بحلول نهاية عام 2020.