أمن جهة اتصال استرداد الحساب
يمكن للمستخدمين إضافة ما يصل إلى خمسة أشخاص يثقون بهم كجهات اتصال لاسترداد الحساب لمساعدتهم على استرداد حسابهم وبياناتهم على iCloud، بما في ذلك جميع بياناتهم المشفرة بالكامل، سواء قاموا بتشغيل الحماية المتقدمة للبيانات أم لا. لا تمتلك Apple ولا جهة اتصال الاسترداد المعلومات اللازمة بشكل فردي لاسترداد بيانات iCloud المشفرة بالكامل الخاصة بالمستخدم.
تم تصميم جهات اتصال الاسترداد مع مراعاة خصوصية المستخدم. لا تعرف Apple جهات اتصال الاسترداد التي اختارها المستخدم. ولا تعرف خوادم Apple المعلومات حول جهة اتصال الاسترداد إلا متأخرًا في أثناء محاولة الاسترداد بعد أن يطلب المستخدم المساعدة من جهة الاتصال وتبدأ جهة الاتصال بالمساعدة على الاسترداد بالفعل. ولا يتم الاحتفاظ بهذه المعلومات بعد اكتمال الاسترداد.
عملية أمن جهة اتصال الاسترداد
عند إعداد المستخدم لجهة اتصال استرداد الحساب، يتم إنشاء مفتاح مرتبط بجهة الاتصال تلك. يحمي هذا المفتاح الوصول إلى بيانات iCloud الخاصة بالمستخدم — بما في ذلك بيانات CloudKit المشفرة بالكامل. بعد ذلك، يتم إنشاء مفتاح AES 256 بت عشوائي ويُستَخدم لتشفير مفتاح جهة اتصال الاسترداد لإنشاء حزمة جهة اتصال الاسترداد. يتم إرسال الحزمة المشفرة إلى جهة اتصال الاسترداد لحفظها، ويتم تخزين مفتاح AES العشوائي لدى Apple. ولا يوفر مفتاح AES ولا الحزمة أي معلومات عن المفتاح الأساسي بمفردها. وعند الاسترداد، بعد حصول جهاز المستخدم بنجاح على كل من حزمة جهة اتصال الاسترداد من جهة اتصال الاسترداد ومفتاح AES من Apple، يمكنه جمعهما لاسترداد المفتاح الأصلي والوصول إلى بيانات iCloud الخاصة بالمستخدم.
لإعداد جهة اتصال استرداد الحساب، يتصل جهاز المستخدم بخوادم Apple لتحميل جزء معلومات المفاتيح التي ستحتفظ بها Apple (مفتاح AES المذكور أعلاه). ثم ينشئ حاوية CloudKit مشفرة بالكامل مع جهة اتصال الاسترداد لمشاركة الجزء الذي تحتاج إليه جهة اتصال الاسترداد (حزمة جهة اتصال الاسترداد المشفرة باستخدام مفتاح AES). وتتم كذلك مشاركة سر تخويل، تم إنشاؤه بواسطة Apple، مع جهة اتصال الاسترداد. سيتم استخدام ذلك لاسترداد الحساب والمساعدة على إعادة تعيين كلمة السر على الحساب. ويحدث الاتصال لدعوة وقبول جهات اتصال الاسترداد من خلال قناة خدمة هوية (IDS) مُصادَق عليها بشكل متبادل. تخزِّن جهة اتصال الاسترداد المعلومات المستلمة في سلسلة مفاتيح iCloud تلقائيًا. لا يمكن لـ Apple الوصول إلى محتويات حاوية CloudKit ولا سلسلة مفاتيح iCloud التي تخزن هذه المعلومات. عند إجراء المشاركة، لا تعرض خوادم Apple سوى معرف مجهول لجهة اتصال الاسترداد.
لاحقًا، عندما يحتاج المستخدم إلى استرداد حسابه وبيانات iCloud، يمكنه طلب المساعدة من جهة اتصال الاسترداد. في هذا الوقت، يتم إنشاء رمز استرداد بواسطة جهاز جهة اتصال الاسترداد الذي توفره بعد ذلك جهة اتصال الاسترداد إلى المستخدم خارج النطاق (على سبيل المثال، شخصيًا أو عبر مكالمة هاتفية). يقوم المستخدم بعد ذلك بإدخال رمز الاسترداد على جهازه لإنشاء اتصال آمن بين الأجهزة باستخدام بروتوكول SPAKE2+ الذي لا تستطيع Apple الوصول إلى محتوياته. يُنظم هذا التفاعل باستخدام خوادم Apple، لكن لا يمكن لـ Apple بدء عملية الاسترداد.
بعد إنشاء الاتصال الآمن وإكمال جميع عمليات التحقق من الأمان المطلوبة، يقوم جهاز جهة اتصال الاسترداد بإرجاع الجزء الخاص به من معلومات المفاتيح وكلمة سر التخويل التي تم إنشاؤها سابقًا إلى المستخدم الذي يطلب الاسترداد. يقدم المستخدم كلمة سر التخويل هذه إلى خادم Apple الذي يمنح الوصول إلى معلومات المفاتيح التي تحتفظ بها Apple. يؤدي توفير سر التخويل أيضًا إلى تخويل إعادة تعيين كلمة سر الحساب لاستعادة الوصول إلى الحساب.
أخيرًا، يعيد جهاز المستخدم تجميع معلومات المفاتيح الواردة من Apple وجهة اتصال الاسترداد، ثم يستخدمها لفك تشفير بيانات iCloud واستردادها.
توجد إجراءات وقائية لمنع جهة اتصال الاسترداد من بدء الاسترداد من دون موافقة المستخدم التي تشمل التحقق من مدى فعالية حساب المستخدم. إذا كان الحساب قيد الاستخدام النشط، فإن الاسترداد باستخدام جهة اتصال الاسترداد يتطلب أيضًا معرفة أحدث رمز دخول للجهاز أو رمز أمن iCloud.