ORAM في التخزين السحابي والمعالجات الآمنة
استكشفوا تطبيقات ORAM في بيئات التنفيذ الموثوقة (SGX وTrustZone) وقواعد البيانات السحابية المشفّرة.
ORAM في التخزين السحابي والمعالجات الآمنة درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.
Intel SGX وتسرب نمط الوصول
يوفر Intel SGX (Software Guard Extensions) حجرات معزولة عتاديًا، تُشفّر فيها التعليمات البرمجية والبيانات وتُوثّق. ومع ذلك، يظل بإمكان نظام التشغيل معرفة صفحات الذاكرة التي تصل إليها الحجرة، وذلك من خلال مراقبة إدخالات جداول الصفحات. ويمكن استغلال نمط الوصول هذا على مستوى الصفحات في هجمات القنوات الجانبية. ومن الهجمات الكلاسيكية هجوم "controlled channel attack" الذي نفذه Xu وCui وPeinado (2015)، إذ أعاد بناء مفاتيح RSA من أنماط الوصول إلى ذاكرة SGX.
القنوات الجانبية لتوقيت ذاكرة التخزين المؤقت في SGX
بالإضافة إلى أنماط الوصول على مستوى الصفحات، يكون SGX عرضةً للقنوات الجانبية المعتمدة على توقيت ذاكرة التخزين المؤقت. إذ يستطيع مهاجم يشارك المعالج مراقبة إصابات ذاكرة التخزين المؤقت وإخفاقاتها التي تسببها الحجرة، واستنتاج أنماط الوصول الدقيقة (على مستوى سطر ذاكرة التخزين المؤقت). وتنجح هذه الهجمات لأن ذاكرة التخزين المؤقت للمعالج مشتركة بين الحجرة والتعليمات البرمجية غير الموثوقة. وتشمل وسائل التخفيف البرمجة ذات الزمن الثابت واستخدام ORAM لتمويه أنماط الوصول إلى الذاكرة.
ZeroTrace: ORAM داخل SGX
ينفذ ZeroTrace (Sasy, Jha, Kerschbaum, 2018) Path ORAM داخل حجرة Intel SGX لتوفير وصول متخفي إلى الذاكرة. ويوفر نظام التشغيل المضيف غير الموثوق خادم ORAM (أي الشجرة الثنائية للحاويات)، بينما تعمل حجرة SGX كعميل ORAM. ويضيف ZeroTrace تحسينًا خاصًا بـ SGX: إذ تُحفظ خريطة المواقع داخل الحجرة (في ذاكرة موثوقة)، مما يلغي الحاجة إلى ORAM تكراري لخريطة المواقع.
تكامل Graphene-SGX وSCONE مع ORAM
يُعد Graphene-SGX (المعروف الآن باسم Gramine) وSCONE إطارَي حاويات لـ SGX، ويتيحان تشغيل تطبيقات Linux غير المعدّلة داخل الحجرات. وقد وُسّع كلا الإطارين لدعم ORAM بهدف إخفاء أنماط الوصول عن نظام التشغيل. ويتيح SCONE مع تكامل ORAM تنفيذ برامج Python وGo وJava بطريقة متخفية داخل SGX من دون تعديل التعليمات البرمجية، مما يجعل ORAM متاحًا للتطبيقات من دون تكامل يدوي.
Shroud: هياكل بيانات متخفية لـ SGX
ينفذ Shroud (Volos, Jaleel, Emer, Burtscher, Forlin, 2018) إصدارات متخفية من هياكل البيانات الأساسية (المصفوفات والمكدسات والطوابير والخرائط) لاستخدامها داخل حجرات SGX. ويستخدم Shroud مزيجًا من ORAM وخوارزميات مستقلة عن البيانات لضمان عدم اعتماد أنماط الوصول إلى ذاكرة الحجرة على قيم البيانات. ويكون هذا الأسلوب أكثر كفاءة من تطبيق ORAM على ذاكرة التطبيق بأكملها، لأنه يستهدف هياكل البيانات الحساسة فقط.
AWS Nitro Enclaves وسرية الذاكرة
توفر AWS Nitro Enclaves بيئات حوسبة معزولة لمعالجة البيانات شديدة الحساسية (مثل أرقام بطاقات الدفع والسجلات الصحية). وعلى خلاف SGX، تعزل Nitro Enclaves على مستوى الآلة الافتراضية بدلًا من مستوى العملية. ولا توفر AWS تقنية ORAM افتراضيًا في Nitro Enclaves، لكن ضمانات السرية تشمل محتوى الذاكرة. ولحماية خصوصية نمط الوصول، يجب على التطبيقات التي تعمل في Nitro Enclaves تنفيذ ORAM بنفسها عند الحاجة.
تطبيقات ORAM في ARM TrustZone
توفر ARM TrustZone بيئة تنفيذ موثوقة (Secure World) معزولة عن نظام التشغيل العادي. وكما هي الحال مع SGX، لا تخفي TrustZone أنماط الوصول إلى الذاكرة بطبيعتها. وتنفذ أنظمة بحثية مثل TrustORAM (Brasser, Dmitrienko, Sadeghi, Crane, Larsen, Franz) تقنية ORAM داخل TrustZone لحماية الوصول إلى البيانات الحساسة في الأجهزة المحمولة وإنترنت الأشياء. وتوجد TrustZone في جميع معالجات ARM الحديثة، مما يجعل TrustZone المزوّدة بـ ORAM قابلة للنشر على نطاق واسع.
ObliDB وOpaque: قواعد بيانات متخفية
ObliDB (Eskandarian and Boneh, 2017) قاعدة بيانات متخفية تخفي أنماط الوصول في استعلامات SQL القياسية. وتستخدم ORAM للاستعلامات النقطية والفرز المتخفي للاستعلامات النطاقية. أما Opaque (Zheng, Dave, Beekman, Popa, Hellerstein, Stoica, 2017) فينفذ استعلامات SQL بطريقة متخفية على Apache Spark باستخدام Intel SGX وORAM. ويوضح Opaque أن تحليلات البيانات على نطاق الإنتاج (لملايين السجلات) ممكنة مع الحمل الزائد الذي يسببه ORAM.
استرجاع المعلومات الخاص
يُعد استرجاع المعلومات الخاص (PIR) بدائية ذات صلة لإخفاء نمط الوصول في عمليات القراءة فقط. ويتيح PIR للعميل استرداد عنصر من قاعدة بيانات من دون أن يعرف الخادم العنصر الذي جرى استرداده. ويحقق PIR الحسابي (cPIR) ذلك مع حمل تخزين زائد على الخادم مقداره O(1)، واتصال مقداره O(sqrt(n)) أو O(polylog n). ويكون PIR أكثر كفاءة من ORAM في أحمال العمل المخصصة للقراءة فقط، لكنه لا يدعم عمليات الكتابة المتخفية.
المفاضلات بين ORAM وPIR
في حالة الوصول للقراءة فقط، يكون PIR أكثر كفاءة من ORAM من حيث الاتصال: إذ يتطلب cPIR أحادي الخادم اتصالًا بمقدار O(n^epsilon)، بينما يتطلب ORAM O(log n) كتلة لكل عملية وصول. إلا أن PIR يتطلب حسابًا من جانب الخادم (خطيًا بالنسبة إلى حجم قاعدة البيانات في PIR أحادي الخادم)، في حين ينفذ ORAM جميع الحسابات على العميل. ويتميز PIR متعدد الخوادم (الآمن نظريًا من ناحية المعلومات مع خادمين غير متواطئين) بكفاءة عالية جدًا، وهو مناسب لعمليات النشر عبر شبكات CDN.
الاتجاهات المستقبلية لـ ORAM
تشمل اتجاهات البحث في ORAM خفض الحمل الزائد على الاتصال للاقتراب من الحد الأدنى النظري O(log n) (إذ يحقق OptORAMa ذلك تقاربيًا)، واستخدام ORAM لذاكرة RAM الكمومية (QRAM)، وORAM التفاضلي الخاص (إخفاء ما إذا كان قد جرى الوصول إلى الكتلة نفسها مرتين)، واستخدام ORAM مع التشفير المتجانس (FHE-ORAM للحوسبة الموكلة إلى جهة خارجية). ويظل دمج ORAM مع بيئات التنفيذ الموثوقة العتادية الاتجاه البحثي الأكثر تأثيرًا من الناحية العملية.
اختبار نمط الوصول في SGX
لماذا لا يحمي Intel SGX وحده حماية كاملة من تسرب نمط الوصول؟
مراجعة ORAM في التخزين السحابي والمعالجات الآمنة
يسرّب Intel SGX أنماط الوصول على مستوى الصفحات وذاكرة التخزين المؤقت، مما يتيح هجمات القناة المتحكم بها وهجمات توقيت ذاكرة التخزين المؤقت. وينفذ ZeroTrace تقنية Path ORAM داخل SGX للقضاء على هذه التسريبات. ويوفر Graphene-SGX وSCONE تكامل ORAM على مستوى الحاويات. ويوضح ObliDB وOpaque إمكانية تنفيذ SQL متخفي فوق ORAM على نطاق الإنتاج. ويمثل PIR بديلًا فعالًا للوصول المخصص للقراءة فقط. ويستمر البحث في ORAM نحو الحد الأدنى لاتصال log n ودمجه مع التشفير المتجانس.
الأسئلة الشائعة
هل درس «ORAM في التخزين السحابي والمعالجات الآمنة» مجاني؟
نعم — نص درس «ORAM في التخزين السحابي والمعالجات الآمنة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.
ماذا ستتعلم في «ORAM في التخزين السحابي والمعالجات الآمنة»؟
استكشفوا تطبيقات ORAM في بيئات التنفيذ الموثوقة (SGX وTrustZone) وقواعد البيانات السحابية المشفّرة. تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟
لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «ORAM في التخزين السحابي والمعالجات الآمنة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟
نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تهديد تسريب أنماط الوصول
- Path ORAM: إخفاء عمليات الوصول إلى الذاكرة
- Circuit ORAM والأداء العملي
- ORAM في التخزين السحابي والمعالجات الآمنة