مراقبة كلمات السر
تعد مراقبة كلمات السر ميزة تُطابق كلمات السر المُخزّنة في سلسلة مفاتيح التعبئة التلقائية لكلمة السر الخاصة بالمستخدم مع قائمة مُنسّقة ومُحدثّة باستمرار تضم كلمات السر المعروف أنها قد تعرضت للتسريب من مؤسسات مختلفة عبر الإنترنت. إذا كانت تلك الميزة قيد التشغيل، فإن البروتوكول الأساسي يراقب باستمرار كلمات سر سلسلة مفاتيح التعبئة التلقائية لكلمة السر الخاصة بالمستخدم مع القائمة المُنسّقة.
طريقة عمل المراقبة
يُجري جهاز المستخدم باستمرار عمليات تحقق ذات ترتيب دوري من كل كلمات سر المستخدم، مع الاستعلام على أساس فاصل زمني عن استقلالية كلمات سر المستخدم أو أنماط استخدام مدير كلمات السر. وهذا يساعد على ضمان بقاء حالات التحقُّق مُحدّثة وفقًا للقائمة الحالية المُنسّقة التي تضم كلمات السر المُتسرّبة. للمساعدة على منع تسرّب المعلومات المتعلقة بعدد كلمات السر الفريدة التي لدى المستخدم، يتم تجميع الطلبات وتنفيذها بالتوازي. كما يتم التحقق من عدد محدد من كلمات السر بالتوازي مع كل عملية تحقُّق، وإذا كان لدى المستخدم عدد أقل من هذا الرقم، يتم إنشاء كلمات سر عشوائية وإضافتها إلى الاستعلامات بهدف تعويض النقص.
كيفية مطابقة كلمات السر
تتم مطابقة كلمات السر في عملية من شقّين. يتم تضمين كلمات السر المتسربة الأكثر شيوعًا في قائمة محلية على جهاز المستخدم. وإذا ظهرت كلمة سر المستخدم في هذه القائمة، يتم إعلام المستخدم على الفور من دون أي تفاعل خارجي. وقد تم التصميم بتلك الطريقة لضمان عدم تسرب أي معلومات حول كلمات السر التي لدى المستخدم وتكون عرضة للخطر بشكل كبير بسبب خرق كلمة السر.
إذا لم تكن كلمة السر موجودة في قائمة الأكثر شيوعًا، تتم مطابقتها مع كلمات السر المتسربة الأقل شيوعًا.
مقارنة كلمات سر المستخدمين بقائمة مُنسّقة
للتحقق من عدم وجود كلمة السر في القائمة المحلية، تتم عملية مطابقة تتضمن بعض التفاعل مع خوادم Apple. للمساعدة في ضمان عدم إرسال كلمات سر المستخدمين السليمة إلى Apple، تم إرسال نموذج من نماذج تقاطع مجموعة تشفير خاصة تقارن كلمات سر المستخدمين بمجموعة كبيرة من كلمات السر المسربة. وقد تم التصميم بتلك الطريقة لضمان عدم مشاركة معلومات قليلة مع Apple حول كلمات السر الأقل عرضة لخطر الاختراق. وبالنسبة إلى كلمة سر المستخدم، تقتصر هذه المعلومات على بادئة مكونة من 15 بت من تجزئة التشفير. علمًا بأن إزالة كلمات السر التي يتم تسريبها بشكل متكرر من هذه العملية التفاعلية، باستخدام القائمة المحلية لكلمات السر التي يتم تسريبها بشكل شائع، تقلل معدل التكرار النسبي لكلمات السر في مجموعات خدمة الويب، مما يجعل من غير العملي استنتاج كلمات سر المستخدم من عمليات البحث هذه.
يقسِّم البروتوكول الأساسي قائمة كلمات السر المُنسّقة، والتي تحتوي على ما يقرب من 1.5 مليار كلمة سر في وقت كتابة هذا التقرير، إلى 215 مجموعة مختلفة. تستند المجموعة التي تنتمي إليها كلمة السر إلى أول 15 وحدة بت من قيمة تجزئة SHA256 الخاصة بكلمة السر. بالإضافة إلى ذلك، ترتبط كل كلمة سر مسربة، أو pw، بنقطة منحنى بيضاوي على منحنى NIST P256: Ppw = ⍺·HSWU(pw)، حيث ⍺ عبارة عن مفتاح عشوائي سري لا تعرفه سوى Apple، بينما HSWU عبارة عن دالة عشوائية من Oracle تربط كلمات السر بنقاط المنحنى باستخدام طريقة Shallue-van de Woestijne-Ulas. تم تصميم هذا التحويل لإخفاء قيم كلمات السر حسابيًا والمساعدة على منع الكشف عن كلمات السر المُسرّبة حديثًا من خلال مراقبة كلمات السر.
لحساب تقاطع المجموعة الخاصة، يحدد جهاز المستخدم الحاوية التي تنتمي إليها كلمة سر المستخدم باستخدام λ، بادئة من 15 بت لـ SHA256(upw)، حيث تعد upw إحدى كلمات سر المستخدم. يعمل الجهاز على إنشاء ثابت عشوائي خاص به، β، ويرسل النقطة Pc = β·HSWU(upw) إلى الخادم، إلى جانب طلب للحاوية المقابلة لـ λ. وهنا يقوم β بإخفاء المعلومات المتعلقة بكلمة سر المستخدم ويقصر على λ المعلومات المكشوفة من كلمة السر إلى Apple. وأخيرًا، يأخذ الخادم النقطة التي يرسلها جهاز المستخدم، ويحسب، ⍺Pc = ⍺β·HSWU(upw)، ويعرض الناتج، إلى جانب مجموعة من النقاط المناسبة Bλ={ Ppw | SHA256(pw) تبدأ بالبادئة λ} للجهاز.
تسمح المعلومات التي تم إرجاعها للجهاز بحساب B’λ={β·Ppw | Ppw∈Bλ}، وتتأكد من تسرب كلمة سر المستخدم إذا كان ⍺Pc ∈B'λ.