خوارزمية تشفير البيانات مع رسمها السكتات الدماغية

StackOverflow https://stackoverflow.com/questions/1616473

  •  06-07-2019
  •  | 
  •  

سؤال

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

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

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

أعتقد أن السؤال الحقيقي هو كيف يمكنك تحويل نفسه (معقولة) السكتة الدماغية باستمرار على المفتاح نفسه (مثلا ، تجزئة القيمة).هناك يجب أن يكون من الواضح أن بعض عتبة الغفران في الخوارزمية ، لأن المستخدم لا يمكن أن يكون من المتوقع أن تكرار السكتة الدماغية بالضبط 100%.

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

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

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

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

طريقة ثالثة يمكن تقسيم الشاشة إلى الشبكة (غير متأكد من أي حجم حتى الآن) و ببساطة رؤية في الخلايا الدماغية يتم رسمها باستخدام هذه البيانات بطريقة أو بأخرى إلى توليد سلسلة.

أي أفكار أخرى كيف يمكن أن يكون هذا تنفيذها ؟ هل سمعت عن شيء مثل هذا ؟ هل هناك أي عيوب جوهرية من شأنها أن تمنع مثل هذا النظام من العمل ؟

شكرا

هل كانت مفيدة؟

المحلول

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

لمساعدتك على البدء، وهنا هو ورقة اقتراح <لأ href = "http://www.rsa.com/rsalabs/staff/bios/ajuels/publications/fuzzy-vault/fuzzy_vault.pdf" يختلط = " noreferrer نوفولو "> غامض مخطط قبو . هذا اقتراح العام لنظام التشفير باستخدام مفتاح "غامض". وبطبيعة الحال، لا تزال تحتاج إلى دراسة كيفية استخراج الخصائص من الرسومات التي هي مستقرة بما يكفي لاستخدام مثل هذا المخطط تصحيح الخطأ. سيكون لديك أيضا لدراسة مدى الكون يمكنك استخراج من مثل هذه المخططات. بالسوء كلمات المرور فيما يتعلق الكون، قد يكون لا يزال من الصعب الفوز.

نصائح أخرى

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

ويمكنك أن تكون متأكدا تماما عندما ينتهي سطر واحد وآخر يبدأ كما أن هناك 8 اتجاهات ويمكنك الكشف عن تغيير الاتجاه (أو لاتباع نهج أكثر بساطة، فقط كشف القلم صعودا والقلم إلى أسفل واستخدامها كمحددات خط). السطر الأول يعطي عامل المقياس، وبالتالي فإن طول كل خط آخر يمكن أن تكون ممثلة كعامل (على سبيل المثال، في شكل L المعتاد، فإن خط عمودي الأول يعطي "طول قاعدة" ب والخط الآخر سيكون له ثم طول ما يقرب من 0.5 * ب). بعد الانتهاء من المستخدم، يمكنك استخدام أصغر عامل الصورة ل"الجولة" أطوال، بحيث سيكون لديك مجموعة من أطوال صحيح مثل [1 * ق، 2 * ليالي و 4 * ق، 5 * ق]. هذا سوف يمنع النظام من كونه دقيق جدا، واستخدام طول قاعدة يجعل نظام قوي ضد التحجيم.

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

وبالإضافة إلى ذلك، يمكنك تخزين 2D قيمة الإزاحة (بالطبع "مدورة"، أيضا) عن كل سطر بعد السطر الثاني بحيث تكون خطوط سيكون لها أيضا أن تكون في نفس الموقف، إذا كنت لا تفعل هذا، سوف L و T الأرجح الحصول على نفس السلسلة (1 خط من أعلى إلى أسفل، 1 خط اليسار واليمين طول 0.5). لذا تخزين المواقف يقوي كل شيء قليلا ولكن هو اختياري.

وتحرير:

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

تجدر الإشارة إلى أن هذه الخوارزمية يعطي فقط 3 بت لكل السكتة الدماغية إذا كان كل الخطوط هي من نفس الطول وبحد أقصى ربما ما يصل إلى 6-8 بت لكل السكتة الدماغية، وبعضها أكثر إذا قمت بتخزين المواقف أيضا. هذا يعني أنك سوف تحتاج رمزا معقدة جدا من حوالي 20-40 السكتات الدماغية للحصول على 128 بت الأمن.

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

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

والتعرف على الكتابة اليدوية في كثير من الأحيان يأخذ <م> مدة من السكتة الدماغية في الاعتبار أكثر من الطول الفعلي من هذا القبيل.

ولئن كان يتصل الضغط والحساسية، وأعتقد أنك قد تكون قادرا على رؤية بعض بت المفاهيمية على غرار ما كنت أفكر هنا .... <وأ href = "http://jdadesign.net/safelock/" يختلط = "نوفولو noreferrer"> jdadesign.net/safelock/

وهذا ليس بالضبط نفس الموضوع، لكنه أقرب ما يتبادر إلى الذهن في الوقت الراهن.

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

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

لقد كان آخر من التفكير في هذا.أنا لست شركات-sci الشخص ، ولكن سيكون شيئا مثل هذا العمل.

دعنا نقول أن مع أي رمز أو "نمط" شخص تعادلات.الوحيد الشيء كنت تركت مع تحليل كل نقطة في نمط ولدت في touchBegan, touchMoved و touchEnded الأحداث.

لذا...دعونا نأخذ كل النقاط ولدت ، 100 أو 1,000,000, لا يهم حقا.

تقسيمها إلى مجموعات ، كما أن العديد من المجموعات كما تريد.أكثر مرحا أفترض ، ولكن على سبيل المثال, دعونا وضعها في 4 مجموعات.مع 100 نقطة ، مجموعة 1 تحتوي على نقاط 1 > 25, مجموعة 2 يحتوي على 26 > 50 وهلم جرا.

لكل مجموعة ، استخدام جميع النقاط إلى حساب متوسط الموقف.

قد تعمل على نحو أفضل إذا كان قماش الأماكن ينقسم إلى الشبكة ، و 'متوسط المواقف' الحصول على تآمر على أقرب تنسيق.

ثم تحقق المسافة النسبية بين كل المجموعات.حتى بين 1,2 1,3 1,4 2,3 2,4 3,4.

الآن لديك العديد من نقاط متميزه ومعلومات حول تلك النقاط لتوليد مفتاح.المتوسطات و الشبكة ينبغي أن تساعد في تذليل بعض إن لم يكن كل من في الكون.

قد تحتاج إلى طلب المستخدم من رسم نمط بضع مرات ، ومقارنة كل مجموعة ضد مجموعات من المحاولات السابقة.بهذه الطريقة, يمكنك تحديد المجموعات التي يمكن للمستخدمين مؤامرة باستمرار.له فائدة إضافية تتمثل في تدريب مستخدمي اليد في رسم نمط بهم.

وأظن أن أكثر النقاط والمجموعات لديك أكثر دقة وسوف يكون هذا.

في الواقع, أنا ذاهب إلى محاولة إعطائها نفسي.

الإيماءات.

http://depts.washington.edu/aimgroup/proj/dollar/

يمكنك تحديد كنت تملك خوارزميات خاصة الإيماءات.على سبيل المثال دائرة ،

1.العثور على نقطة البداية 2.تجد معظم غادر معظم الحق و أبعد عن النقاط والحصول على تقريبية نصف قطرها.3.تحقق من كل النقاط ضد قطر مع هامش خطأ (25%?) 4.إذا كان نصف قطر الشيكات ، لديك دائرة.

عمودي خط مستقيم:1.التحقق من نقطة بداية ونقطة نهاية X و Y المواقف.2.قارن المنتصف نقطة مقابل x و y من البداية والنهاية.3.لو انهم تقريبا على نفس X coord ، ولكن تصاعدي أو تنازلي Y coords لديك خط عمودي.

وهلم جرا, الحصول على أكثر تعقيدا أكثر تعقيدا الإيماءات.

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

وماذا لو كنت أخذت كل من س، ص الإحداثيات للجلطة، و متشكلة نوعا من الخطية العملية 2 الطريقة عليها؟ هل يمكن بعد ذلك حساب البعثرة "التقريبية"، وإذا كان عدد احتساب عندما السكتة الدماغية هي ضمن ... يقول 10٪ من تقريب الخاص بك، فإنك منح حق الوصول ..

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

على سبيل المثال ، 9 الخلية الرقم فتح طريقة الروبوت قد تحصل على حوالي 16 بت من الكون.لنفترض أنك تستخدم 5 ثوان من الوقت وحدة المعالجة المركزية لحساب مفتاح التشفير.ثم بمتوسط جهاز الكمبيوتر, فإنه يأخذ 5*2**16/20 ثانية, أو حوالي 4.5 ساعات للقضاء.أي خسارة في الكون في الإدخال أو عدم الكفاءة في مفتاح-إعداد التشفير بسرعة خذ هذا إلى دقائق ، ناهيك عن إن مجموعات من أجهزة الكمبيوتر المستخدمة.

بصراحة لن يكون أفضل بكثير من مجرد تخزين الملف في غامض تنسيق الملف و أمل لا أحد الأرقام بها

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top