غالبًا ما يكون استخدام البيانات وخصوصية البيانات متعارضين. على سبيل المثال ، إذا شاركنا جميعًا بياناتنا الصحية علانية مع الباحثين ، فسيؤدي ذلك إلى تسريع العمل على التقنيات والعلاجات الصحية الجديدة. لكننا نخاف بحق مما يمكن أن يفعله الفاعل الخبيث ببياناتنا الصحية الخام. هذا هو المكان الذي يمكن أن ينقذ مجال التشفير. إعادة التشفير بالوكيل و تشفير متماثل الشكل هي أدوات ستسمح لنا بالحفاظ على كعكتنا وتناولها أيضًا ، عندما يتعلق الأمر باستخدام البيانات وخصوصية البيانات.
تسمح إعادة التشفير بالوكيل لمالك البيانات بتشفير بياناته مرة واحدة ، ومن ثم مشاركتها بأمان مع المشترين ، كلما رغبوا في ذلك ، باستخدام خدمات طرف ثالث. يسمح التشفير متماثل الشكل لمشتري البيانات بإجراء عمليات حسابية على البيانات المشفرة المخزنة والمحسوبة من قبل أطراف ثالثة غير موثوق بها ، والحصول على نتائج أو رؤى حول تلك البيانات ، مع عدم الكشف عن بيانات أي فرد في شكل غير مشفر.
هذه التقنيات بمثابة اللبنات الأساسية لأنظمة التشفير الأكثر تعقيدًا (على سبيل المثال Unlynx تم تطويره بواسطة EPFL ، الإلهام النظري لعملنا الحالي). وبالتالي خطتنا على النحو التالي 1) بناء مكتبات سهلة الاستخدام وعملية لأوليات التشفير المتقدم 2) ستساعد هذه المكتبات المطورين على إنشاء بدائل متقدمة ودمجها لإنشاء أنظمة تشفير معقدة تسمح بمشاركة أكثر أمانًا للبيانات 3) مشاركة البيانات الأكثر أمانًا وفائدة ستؤدي إلى ضعف سرعة البحث في المشكلات المهمة مثل أبحاث السرطان والسكري 4) أنقذ العالم :-).
للبدء ، قمنا بتطوير نسخة ألفا من إثبات المفهوم مكتبة . يستخدم الكود أدناه تلك المكتبة لتقديم مثال على كيفية تطبيقنا لهذه التقنيات لتمكين تدفق بيانات آمن ومريح من المالكين إلى المستخدمين.
إعادة التشفير عن طريق الوكيل
إعادة التشفير بالوكيل هي عملية يقوم فيها طرف ثالث ، يسمى الوكيل ، بتغيير النص المشفر المشفر من قبل طرف واحد بطريقة يمكن لطرف ثانٍ فك تشفيره.
على منصة Nebula ، سيعمل الوكيل كوصي على البيانات الجينومية المشفرة وإدارة الوصول إلى تلك البيانات من قبل المشترين نيابة عن المالك. بينما لا يستطيع الوكيل الوصول إلى البيانات الأولية الأساسية ، فإن الوكيل قادر (بإذن من المالك) على تعديل البيانات المشفرة بحيث يمكن للمستخدم فك تشفيرها لاحقًا. وبالتالي ، يكون مالك البيانات قادرًا على تفويض هذه المهمة إلى الوكيل مع عدم مشاركة أي معلومات نص عادي مع الوكيل. نتيجة أخرى لهذا التفويض هو أنه لا يجب أن يكون مالك البيانات أو المستلم متصلاً بالإنترنت.
في مثالنا ، افترض أن الوكيل عبارة عن مجموعة من الخوادم التي تعمل كسلطة جماعية لامركزية. الآن ، دعنا نتعرف على مثال لإعادة التشفير عن طريق الوكيل حيث تشارك Alice ، مالك البيانات ، البيانات الجينية مع Bob ، مستخدم البيانات ، عبر الوكيل.
أولا دعنا نثبت المكتبة المذكورة أعلاه.
الآن يمكننا استيراد حزمة السديم.
الآن ، دعنا نتجول في عملية المشاركة. الخطوة الأولى هي أن تقوم أليس بتشفير بياناتها. سنقوم بإنشاء مفتاح متماثل لها لتستخدمه تشاتشا 20 + بولي 1305 .
(<umbral.point.Point at 0x10389fe10>, b'\x10\x91Y\xb1*\x8c\xf0\x7f@=\xefx\xe9\xf6\x12\xf3W\xbd\xdel\xc4\x06{\xae\x05%\x1b\x89U\xf9eN\xe5e\x1a\xe71xn\xac@v\xf4')
لوكيل السلطة الجماعية له مفتاحه العام الخاص به ، وهو مجموع المفاتيح العامة للخوادم المكونة له.
تأخذ أليس الآن مفتاح التشفير الذي استخدمته لبياناتها ، وتقوم بتشفيره بالمفتاح العام للسلطة الجماعية. لاحظ أنه نظرًا لأننا نستخدم ملفات تشفير منحنى إهليلجي اثنين من النصوص المشفرة تشفير الجمل ينتج نقاط على المنحنى البيضاوي المختار. ما تراه في الإخراج أدناه هو إحداثيات النقطتين في صورة (س ، ص).
((35632791306511153190425382918654119432212363349182003014749353343128802126727, 64242079364444117954338938658093117507689717419524224721788857406414950009581), (97847103734799578346073884785318736156070617710068604497289838935308031857554, 100772267217308028038724925681024365362775942293927562577198462564518506731626))
يقوم كل خادم في السلطة الجماعية بفك التشفير جزئيًا ، ثم يعيد تشفير مفتاح أليس لبوب.
- لفك تشفير مفتاح Alice جزئيًا ، يستخدم كل خادم مفتاحه الخاص
- لإعادة تشفير مفتاح Alice لـ Bob جزئيًا ، يستخدم كل خادم مفتاح Bob العام
((77420738395268270953686214496801457604160876120513979866307802146750959593560, 54288930850798967899941066319180759019666461705141800680259295043110704970240), (43931260115404950504844368880031328989231014591201216806426924428987149667105, 90907867688890000833998990379245369153741769092073562236593684729778667077837))
يتلقى بوب مفتاح أليس ثم يفك تشفيره باستخدام مفتاحه الخاص ، ثم يستخدم مفتاح أليس لفك تشفير البيانات الأصلية.
True
b'My genomic data'
فقط تخيل جينوم كامل هنا بدلاً من هذه السلسلة فقط!
تشفير متماثل الشكل
تشفير الجمل هو متماثل بشكل مضاف ، مما يعني أن نتيجة جمع النصوص المشفرة تعكس النتيجة التي سيتم الحصول عليها من جمع النصوص العادية المقابلة. لهذا السبب ، إذا قمنا بفك تشفير مبلغ مشفر ، فستكون النتيجة مجموع النصوص العادية. يسمح التشفير المتماثل للطرف المعني بإصدار استعلام عن المعلومات المجمعة والحصول على الإجابة ذات الصلة ولكن دون رؤية نقاط البيانات الأساسية. (هذا يفترض أنه تم استيفاء بعض القيود الأخرى ، على النحو المحدد هنا .)
يوجد أدناه مثال من ثلاث خطوات يوضح كيف يمكن للسلطة / الوكيل الجماعي لدينا أن يجيب على استفسار من بوب حول عدد الأشخاص الذين لديهم متغير جيني معين في مجموعة البيانات الخاصة بنا.
- تقوم السلطة بإجراء الحسابات اللازمة على البيانات المشفرة في مجموعة البيانات.
- تأخذ السلطة هذه النتيجة الإجمالية (يتم تمييز الأشخاص بـ 1 لامتلاكهم المتغير و 0 لعدم امتلاكه) وإعادة تشفيره باستخدام مفتاح بوب العام.
- يقوم بوب بفك تشفير النتيجة الإجمالية باستخدام مفتاحه الخاص ، ولديه الآن المجموع الصحيح ولكن لا يمكن رؤية نقاط البيانات الفردية.
جمع البيانات المشفرة
أدناه نقوم “بمحاكاة” 1000 شخص يقدمون المعلومات الجينية للمنصة. في المجموع ، هناك 448 شخصًا لديهم هذا النوع الجيني المعين. يتم تشفير بيانات كل شخص وتخزينها بشكل آمن.
Number of people with
متغير الجين: 488 ((21226922480075498561329291252368547521899161064631964196023720750821691033728, 22373176000434530074330330136750061845273006440607485558527039957320386973412), (73527396063873421512162165532068395819931745318640280343429662961367630577212, 38439465994848418879243894553165852646308170673055923181635051985961737087067))
تقوم CA بإعادة تشفير المبلغ المشفر لـ Bob
يمضي بوب قدمًا ويطلب معلومات حول تواتر متغير الجينات في السكان. يلخص المرجع المصدق ذلك ويعيد تشفير البيانات إلى بوب. لاحظ أن إحداثيات (x، y) الخاصة بالشفرات المعاد تشفيرها لا تساوي إحداثيات التشفير الأصلي أعلاه.
((26066336990521229606715532856762274058860058654632118019680516577894483977430, 111016076743629331281471026942315236039952684121365861080441162051376755931177), (74777752915141648361212288792719003318012040162755253888817602184232651456038, 79121323403285772024091404265686004833455157263244527767410139385386809682035))
قام بوب بفك تشفير المجموع
(488, 488)
يستطيع بوب الحصول على نظرة ثاقبة للبيانات ككل دون اكتساب نظرة ثاقبة على معلومات أي مالك فردي. يسمح هذا لمالكي البيانات الذين لا يريدون الكشف عن بياناتهم بالاستمرار في المساهمة في النظام الأساسي.
لاحظ أن إعادة التشفير بالوكيل لعبت دورًا رئيسيًا في جعل هذا الأمر مناسبًا لـ Bob. نظرًا لأن كل مالك بيانات فوض إلى الوكيل ، احتاج بوب فقط إلى إصدار استعلام واحد. بدون الوكيل ، سيحتاج إلى إصدار استعلام عن كل نقطة بيانات يريدها.
تساعد إعادة التشفير عن طريق الوكيل والتشفير المتجانس Nebula على تأمين بيانات المستخدم ، وتوفير وصول ملائم إلى البيانات لمشتري البيانات ، والسماح لمشتري البيانات بتكوين رؤى دون المساس بالخصوصية الفردية.
دعوة للعمل
في Nebula Genomics ، نعتقد أن مخاوف الخصوصية تمثل عقبة كبيرة أمام مشاركة البيانات الطبية الحيوية. هذا يعيق البحث الطبي وتطوير علاجات جديدة. لا يمكننا حل هذا التحدي بمفردنا.
إذا كنت مهتمًا بالكود ، فلا تتردد في اللعب بالمكتبة ، لكن كن آمنًا: لم يخضع هذا التطبيق المعين لتدقيق أمني وهو حاليًا للاستخدام التعليمي فقط 🙂
إذا كنت مهتمًا باستكشاف المزيد عن Nebula Genomics على وجه الخصوص ، فتأكد من ذلك تابعنا على تويتر للبقاء على اطلاع.