أمن تطبيق تحديد الموقع
صُمِّم تطبيق تحديد الموقع لأجهزة Apple على أساس تشفير المفتاح العام المتقدم.
نظرة عامة
يجمع تطبيق تحديد الموقع بين العثور على الـ iPhone والعثور على أصدقائي في تطبيق واحد في iOS و iPadOS و macOS. يستطيع تحديد الموقع مساعدة المستخدم على تحديد موقع جهاز مفقود، حتى لو كان Mac غير متصل بالإنترنت. يمكن للجهاز المتصل بالإنترنت الإبلاغ ببساطة عن موقعه للمستخدم عبر iCloud. يعمل تحديد الموقع في وضع عدم الاتصال عن طريق إرسال إشارات Bluetooth قصيرة المدى من الجهاز المفقود يمكن اكتشافها بواسطة أجهزة Apple الأخرى المستخدمة في مكان قريب. ومن ثم تنقل هذه الأجهزة القريبة معلومات الموقع الذي تم اكتشافه للجهاز المفقود إلى iCloud حتى يتمكن المستخدمون من تحديد موقعه في تطبيق تحديد الموقع — كل ذلك مع حماية خصوصية وأمن جميع المستخدمين المعنيين. كما يعمل تطبيق تحديد الموقع مع أي Mac غير متصل بالإنترنت وفي وضع الإسبات.
باستخدام تقنية Bluetooth ومئات الملايين من أجهزة iOS و iPadOS و macOS المستخدمة بنشاط في جميع أنحاء العالم، يمكن لأي مستخدم تحديد موقع جهاز مفقود، حتى إذا كان لا يمكنه الاتصال بشبكة Wi-Fi أو شبكة خلوية. يمكن لأي جهاز مثبت عليه iOS أو iPadOS أو macOS وممكّن عليه "العثور عند عدم الاتصال" في إعدادات تحديد الموقع أن يكون بمثابة "جهاز بحث". وهذا يعني أن الجهاز يستطيع اكتشاف وجود جهاز آخر مفقود في وضع عدم الاتصال باستخدام Bluetooth ثم استخدام اتصاله بالشبكة لإبلاغ مالك الجهاز المفقود بالموقع التقريبي. وإذا كان الجهاز ممكّنًا عليه "العثور عند عدم الاتصال"، فهذا يعني أيضًا أنه يمكن تحديد موقعه بواسطة مشاركين آخرين بالطريقة نفسها. هذا التفاعل بأكمله مشفر تشفيرًا تامًا ومجهول الهوية ومصمم ليكون فعالاً في استخدام البطارية والبيانات. ثمة تأثير ضئيل في عمر البطارية واستخدام خطة البيانات الخلوية، ويتم حماية خصوصية المستخدم بشكل أفضل.
ملاحظة: قد لا يكون تطبيق تحديد الموقع متوفرًا في بعض البلدان أو المناطق.
التشفير الكامل
تم تصميم تطبيق تحديد الموقع على أساس تشفير المفتاح العام المتقدم. عند تمكين "العثور عند عدم الاتصال" في إعدادات تحديد الموقع، يتم إنشاء زوج مفاتيح تشفير خاص (EC) P-224 باسم {d,P} مباشرةً على الجهاز حيث d هو المفتاح الخاص بينما P هو المفتاح العام. بالإضافة إلى ذلك، تتم تهيئة SK0 سري 256 بت وعداد i إلى صفر. ولا يُرسَل زوج المفاتيح الخاص هذا والسر إلى Apple مطلقًا ولا تتم مزامنتهما إلا بين أجهزة المستخدم الأخرى بطريقة مشفرة بالكامل باستخدام سلسلة مفاتيح iCloud. يُستخدم السر والعداد لاشتقاق مفتاح SKI المتماثل الحالي بالبناء التكراري التالي: SKi = KDF(SKi-1, “update”).
بناءً على المفتاح SKi، يتم حساب عددين صحيحين كبيرين ui و vi مع (ui,vi) = KDF(SKi, “diversify”). يتم اشتقاق كل من المفتاح الخاص P-224 المشار إليه بالحرف d والمفتاح العام المقابل المشار إليه بالحرف P باستخدام علاقة تآلفية تتضمن العددين الصحيحين لحساب زوج مفاتيح قصير الأمد: المفتاح الخاص المشتق هو di حيث di = ui * d + vi (باقي قسمة ترتيب منحنى P-224) والمفتاح العام المقابل هو Pi ويتحقق من أن Pi = ui*P + vi*G.
عندما يُفقد جهاز ما ولا يستطيع الاتصال بشبكة Wi-Fi أو شبكة خلوية—على سبيل المثال، عند ترك MacBook Pro على مقعد في حديقة—يبدأ في بث دوريّ للمفتاح العام المشتق Pi لفترة محدودة من الوقت في حمولة Bluetooth. باستخدام P-224، يمكن أن يتناسب تمثيل المفتاح العام مع حمولة Bluetooth واحدة. ومن ثم تستطيع الأجهزة المحيطة المساعدة في العثور على الجهاز غير المتصل بالإنترنت عن طريق تشفير موقعه إلى المفتاح العام. كل 15 دقيقة تقريبًا، يحل مفتاح جديد محل المفتاح العام باستخدام قيمة متزايدة من العداد والعملية المذكورة أعلاه بحيث لا يمكن تعقب المستخدم بواسطة معرف ثابت. وقد تم تصميم آلية الاشتقاق لمنع المفاتيح العامة Pi المختلفة من الارتباط بالجهاز ذاته.
إخفاء هوية المستخدمين والأجهزة
بالإضافة إلى التأكد من تشفير معلومات الموقع والبيانات الأخرى بشكل كامل، تظل هويات المشاركين سرية بالنسبة لبعضهم بعضًا وبالنسبة لشركة Apple. ولا تحتوي حركة المرور المرسلة إلى Apple بواسطة أجهزة البحث على أي معلومات مصادقة في المحتويات أو الرؤوس. نتيجة لذلك، لا تعرف Apple هوية الباحث أو جهازه الذي تم العثور عليه. علاوة على ذلك، لا تسجل Apple معلومات قد يكون من شأنها أن تكشف عن هوية الباحث، ولا تحتفظ بأي معلومات قد تسمح لأي شخص بالربط بين الباحث والمالك. ولا يتلقى مالك الجهاز سوى معلومات الموقع المشفرة التي يتم فك تشفيرها وعرضها في تطبيق تحديد الموقع دون أي إشارة إلى هوية من عثر على الجهاز.