تمنحك شهادة صحة المفتاح المزيد من الثقة بأنّ المفاتيح التي تستخدمها في تطبيقك مخزَّنة في مخزن مفاتيح مدعوم بالأجهزة على الجهاز. توضّح الأقسام التالية كيفية التحقّق من خصائص المفاتيح المحمية بواسطة الأجهزة وكيفية تفسير بيانات الإضافات في شهادات المصادقة.
ملاحظة: قبل التحقّق من خصائص المفاتيح المحمية بمكوّنات الجهاز في بيئة إنتاج، تأكَّد من أنّ الجهاز يتيح إثبات صحة المفاتيح على مستوى مكوّنات الجهاز. لإجراء ذلك، تأكَّد من أنّ سلسلة شهادات التصديق تحتوي على شهادة جذر تم توقيعها باستخدام مفتاح جذر التصديق من Google، وأنّه تم ضبط العنصر attestationSecurityLevel
ضمن بنية بيانات وصف المفتاح على مستوى الأمان TrustedEnvironment
أو مستوى الأمان StrongBox
.
بالإضافة إلى ذلك، من المهم التحقّق من التواقيع في سلسلة الشهادات والتأكّد من أنّه لم يتم إبطال أي من المفاتيح في السلسلة من خلال مراجعة قائمة حالات إبطال الشهادات. لا تثق في شهادة التصديق بشكل كامل إلا إذا كانت جميع الشهادات صالحة وكان الجذر هو مفتاح الجذر من Google.
استرداد زوج من المفاتيح المُدمَجة بشكل آمن في الأجهزة والتحقّق منه
أثناء عملية إثبات صحة المفتاح، عليك تحديد الاسم المستعار لمفتاحي التشفير واسترداد سلسلة الشهادات الخاصة بهما، والتي يمكنك استخدامها للتحقّق من خصائص مفتاحي التشفير.
إذا كان الجهاز يتيح إثبات صحة المفتاح على مستوى الجهاز، يتم توقيع شهادة الجذر ضمن هذه السلسلة باستخدام مفتاح جذر لإثبات الصحة يتم توفيره بشكل آمن في مخزن المفاتيح المحمي بالأجهزة على الجهاز.
ملاحظة: على الأجهزة التي تتضمّن ميزة إثبات صحة المفتاح على مستوى الجهاز، والإصدار 7.0 من نظام التشغيل Android (المستوى 24 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث، و"خدمات Google Play"، يتم توقيع شهادة الجذر باستخدام مفتاح الجذر لإثبات الصحة من Google. تأكَّد من أنّ شهادة الجذر هذه مدرَجة ضمن الشهادات الواردة في قسم شهادات الجذر.
لتنفيذ ميزة "إثبات صحة المفتاح"، أكمِل الخطوات التالية:
-
استخدِم طريقة
KeyStore
الخاصة بكائنgetCertificateChain()
للحصول على مرجع لسلسلة شهادات X.509 المرتبطة بمخزن المفاتيح المستنِد إلى الأجهزة. -
إرسال الشهادات إلى خادم منفصل تثق به لإجراء عملية التحقّق
تنبيه: لا تُكمل عملية التحقّق التالية على الجهاز نفسه. إذا تم اختراق نظام Android على هذا الجهاز، قد يؤدي ذلك إلى أن تثق عملية التحقّق في شيء غير موثوق به.
-
احصل على مرجع لمكتبة تحليل سلسلة شهادات X.509 والتحقّق منها، وهي المكتبة الأنسب لمجموعة أدواتك. تأكَّد من أنّ الشهادة العامة الجذرية جديرة بالثقة وأنّ كل شهادة توقّع الشهادة التالية في السلسلة.
-
تحقَّق من حالة الإبطال لكل شهادة للتأكّد من عدم إبطال أي منها.
-
يمكنك اختياريًا فحص إضافة شهادة معلومات التوفير التي لا تظهر إلا في سلاسل الشهادات الأحدث.
احصل على مرجع لمكتبة محلّل CBOR الأكثر ملاءمةً لمجموعة أدواتك. ابحث عن أقرب شهادة إلى شهادة الجذر تحتوي على إضافة شهادة معلومات التوفير. استخدِم المحلّل اللغوي لاستخراج بيانات إضافة شهادة معلومات الإعداد من تلك الشهادة.
راجِع القسم حول إضافة معلومات التوفير للحصول على مزيد من التفاصيل.
-
احصل على مرجع لمكتبة محلّل ASN.1 الأكثر ملاءمةً لمجموعة أدواتك. ابحث عن أقرب شهادة إلى شهادة الجذر تحتوي على إضافة شهادة إثبات صحة المفتاح. إذا كان امتداد شهادة معلومات التوفير متوفّرًا، يجب أن يكون امتداد شهادة إثبات صحة المفتاح في الشهادة التالية مباشرةً. استخدِم أداة التحليل لاستخراج بيانات إضافة شهادة صحة المفتاح من تلك الشهادة.
تنبيه: لا تفترض أنّ إضافة شهادة صحة المفتاح موجودة في شهادة الورقة الطرفية للسلسلة. يمكن الوثوق فقط بأول ظهور للإضافة في السلسلة. لم يتم إصدار أي حالات أخرى من الامتداد بواسطة الجهاز الآمن، وقد يكون أحد المهاجمين قد أصدرها لتوسيع السلسلة أثناء محاولة إنشاء شهادات مصادقة مزيفة للمفاتيح غير الموثوق بها.
يستخدم نموذج إثبات صحة المفتاح محلّل ASN.1 من Bouncy Castle لاستخراج بيانات الإضافة من شهادة إثبات الصحة. يمكنك استخدام هذا النموذج كمرجع لإنشاء المحلّل الخاص بك.
يمكنك الاطّلاع على القسم حول مخطط بيانات إضافة إثبات صحة المفتاح لمزيد من التفاصيل.
-
تحقَّق من بيانات الإضافة التي استرجعتها في الخطوات السابقة للتأكّد من اتساقها، وقارِنها بمجموعة القيم التي تتوقّع أن يحتويها المفتاح المحمي بواسطة الأجهزة.
شهادات الجذر
تعتمد مصداقية بيان صحة الجهاز على شهادة الجذر للسلسلة. يجب أن تستخدم أجهزة Android التي اجتازت الاختبارات المطلوبة لتثبيت حزمة تطبيقات Google، بما في ذلك Google Play، والتي تم إطلاقها بالإصدار 7.0 من نظام التشغيل Android (المستوى 24 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث، مفاتيح التصديق الموقَّعة بشهادة الجذر الخاصة بخدمة "تصديق الأجهزة" من Google. يُرجى العِلم أنّه لم يكن مطلوبًا إجراء التصديق قبل الإصدار 8.0 من نظام التشغيل Android (المستوى 26 من واجهة برمجة التطبيقات). يمكن تنزيل مجموعة شهادات الجذر الصالحة على شكل مصفوفة بتنسيق JSON.
شهادات الجذر
يجب استخدام شهادتَي الجذر التاليتَين كعناصر أساسية موثوق بها عند التحقّق من سلسلة شهادات إثبات صحة المفتاح.
-----BEGIN CERTIFICATE----- MIIFHDCCAwSgAwIBAgIJAPHBcqaZ6vUdMA0GCSqGSIb3DQEBCwUAMBsxGTAXBgNV BAUTEGY5MjAwOWU4NTNiNmIwNDUwHhcNMjIwMzIwMTgwNzQ4WhcNNDIwMzE1MTgw NzQ4WjAbMRkwFwYDVQQFExBmOTIwMDllODUzYjZiMDQ1MIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEAr7bHgiuxpwHsK7Qui8xUFmOr75gvMsd/dTEDDJdS Sxtf6An7xyqpRR90PL2abxM1dEqlXnf2tqw1Ne4Xwl5jlRfdnJLmN0pTy/4lj4/7 tv0Sk3iiKkypnEUtR6WfMgH0QZfKHM1+di+y9TFRtv6y//0rb+T+W8a9nsNL/ggj nar86461qO0rOs2cXjp3kOG1FEJ5MVmFmBGtnrKpa73XpXyTqRxB/M0n1n/W9nGq C4FSYa04T6N5RIZGBN2z2MT5IKGbFlbC8UrW0DxW7AYImQQcHtGl/m00QLVWutHQ oVJYnFPlXTcHYvASLu+RhhsbDmxMgJJ0mcDpvsC4PjvB+TxywElgS70vE0XmLD+O JtvsBslHZvPBKCOdT0MS+tgSOIfga+z1Z1g7+DVagf7quvmag8jfPioyKvxnK/Eg sTUVi2ghzq8wm27ud/mIM7AY2qEORR8Go3TVB4HzWQgpZrt3i5MIlCaY504LzSRi igHCzAPlHws+W0rB5N+er5/2pJKnfBSDiCiFAVtCLOZ7gLiMm0jhO2B6tUXHI/+M RPjy02i59lINMRRev56GKtcd9qO/0kUJWdZTdA2XoS82ixPvZtXQpUpuL12ab+9E aDK8Z4RHJYYfCT3Q5vNAXaiWQ+8PTWm2QgBR/bkwSWc+NpUFgNPN9PvQi8WEg5Um AGMCAwEAAaNjMGEwHQYDVR0OBBYEFDZh4QB8iAUJUYtEbEf/GkzJ6k8SMB8GA1Ud IwQYMBaAFDZh4QB8iAUJUYtEbEf/GkzJ6k8SMA8GA1UdEwEB/wQFMAMBAf8wDgYD VR0PAQH/BAQDAgIEMA0GCSqGSIb3DQEBCwUAA4ICAQB8cMqTllHc8U+qCrOlg3H7 174lmaCsbo/bJ0C17JEgMLb4kvrqsXZs01U3mB/qABg/1t5Pd5AORHARs1hhqGIC W/nKMav574f9rZN4PC2ZlufGXb7sIdJpGiO9ctRhiLuYuly10JccUZGEHpHSYM2G tkgYbZba6lsCPYAAP83cyDV+1aOkTf1RCp/lM0PKvmxYN10RYsK631jrleGdcdkx oSK//mSQbgcWnmAEZrzHoF1/0gso1HZgIn0YLzVhLSA/iXCX4QT2h3J5z3znluKG 1nv8NQdxei2DIIhASWfu804CA96cQKTTlaae2fweqXjdN1/v2nqOhngNyz1361mF mr4XmaKH/ItTwOe72NI9ZcwS1lVaCvsIkTDCEXdm9rCNPAY10iTunIHFXRh+7KPz lHGewCq/8TOohBRn0/NNfh7uRslOSZ/xKbN9tMBtw37Z8d2vvnXq/YWdsm1+JLVw n6yYD/yacNJBlwpddla8eaVMjsF6nBnIgQOf9zKSe06nSTqvgwUHosgOECZJZ1Eu zbH4yswbt02tKtKEFhx+v+OTge/06V+jGsqTWLsfrOCNLuA8H++z+pUENmpqnnHo vaI47gC+TNpkgYGkkBT6B/m/U01BuOBBTzhIlMEZq9qkDWuM2cA5kW5V3FJUcfHn w1IdYIg2Wxg7yHcQZemFQg== -----END CERTIFICATE-----
ستبدأ شهادة الجذر التالية بتوقيع سلاسل شهادات التصديق في 1 فبراير 2025.
-----BEGIN CERTIFICATE----- MIICIjCCAaigAwIBAgIRAISp0Cl7DrWK5/8OgN52BgUwCgYIKoZIzj0EAwMwUjEc MBoGA1UEAwwTS2V5IEF0dGVzdGF0aW9uIENBMTEQMA4GA1UECwwHQW5kcm9pZDET MBEGA1UECgwKR29vZ2xlIExMQzELMAkGA1UEBhMCVVMwHhcNMjUwNzE3MjIzMjE4 WhcNMzUwNzE1MjIzMjE4WjBSMRwwGgYDVQQDDBNLZXkgQXR0ZXN0YXRpb24gQ0Ex MRAwDgYDVQQLDAdBbmRyb2lkMRMwEQYDVQQKDApHb29nbGUgTExDMQswCQYDVQQG EwJVUzB2MBAGByqGSM49AgEGBSuBBAAiA2IABCPaI3FO3z5bBQo8cuiEas4HjqCt G/mLFfRT0MsIssPBEEU5Cfbt6sH5yOAxqEi5QagpU1yX4HwnGb7OtBYpDTB57uH5 Eczm34A5FNijV3s0/f0UPl7zbJcTx6xwqMIRq6NCMEAwDwYDVR0TAQH/BAUwAwEB /zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFFIyuyz7RkOb3NaBqQ5lZuA0QepA MAoGCCqGSM49BAMDA2gAMGUCMETfjPO/HwqReR2CS7p0ZWoD/LHs6hDi422opifH EUaYLxwGlT9SLdjkVpz0UUOR5wIxAIoGyxGKRHVTpqpGRFiJtQEOOTp/+s1GcxeY uR2zh/80lQyu9vAFCj6E4AXc+osmRg== -----END CERTIFICATE-----
شهادات الجذر الصادرة سابقًا
-----BEGIN CERTIFICATE----- MIIFYDCCA0igAwIBAgIJAOj6GWMU0voYMA0GCSqGSIb3DQEBCwUAMBsxGTAXBgNV BAUTEGY5MjAwOWU4NTNiNmIwNDUwHhcNMTYwNTI2MTYyODUyWhcNMjYwNTI0MTYy ODUyWjAbMRkwFwYDVQQFExBmOTIwMDllODUzYjZiMDQ1MIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEAr7bHgiuxpwHsK7Qui8xUFmOr75gvMsd/dTEDDJdS Sxtf6An7xyqpRR90PL2abxM1dEqlXnf2tqw1Ne4Xwl5jlRfdnJLmN0pTy/4lj4/7 tv0Sk3iiKkypnEUtR6WfMgH0QZfKHM1+di+y9TFRtv6y//0rb+T+W8a9nsNL/ggj nar86461qO0rOs2cXjp3kOG1FEJ5MVmFmBGtnrKpa73XpXyTqRxB/M0n1n/W9nGq C4FSYa04T6N5RIZGBN2z2MT5IKGbFlbC8UrW0DxW7AYImQQcHtGl/m00QLVWutHQ oVJYnFPlXTcHYvASLu+RhhsbDmxMgJJ0mcDpvsC4PjvB+TxywElgS70vE0XmLD+O JtvsBslHZvPBKCOdT0MS+tgSOIfga+z1Z1g7+DVagf7quvmag8jfPioyKvxnK/Eg sTUVi2ghzq8wm27ud/mIM7AY2qEORR8Go3TVB4HzWQgpZrt3i5MIlCaY504LzSRi igHCzAPlHws+W0rB5N+er5/2pJKnfBSDiCiFAVtCLOZ7gLiMm0jhO2B6tUXHI/+M RPjy02i59lINMRRev56GKtcd9qO/0kUJWdZTdA2XoS82ixPvZtXQpUpuL12ab+9E aDK8Z4RHJYYfCT3Q5vNAXaiWQ+8PTWm2QgBR/bkwSWc+NpUFgNPN9PvQi8WEg5Um AGMCAwEAAaOBpjCBozAdBgNVHQ4EFgQUNmHhAHyIBQlRi0RsR/8aTMnqTxIwHwYD VR0jBBgwFoAUNmHhAHyIBQlRi0RsR/8aTMnqTxIwDwYDVR0TAQH/BAUwAwEB/zAO BgNVHQ8BAf8EBAMCAYYwQAYDVR0fBDkwNzA1oDOgMYYvaHR0cHM6Ly9hbmRyb2lk Lmdvb2dsZWFwaXMuY29tL2F0dGVzdGF0aW9uL2NybC8wDQYJKoZIhvcNAQELBQAD ggIBACDIw41L3KlXG0aMiS//cqrG+EShHUGo8HNsw30W1kJtjn6UBwRM6jnmiwfB Pb8VA91chb2vssAtX2zbTvqBJ9+LBPGCdw/E53Rbf86qhxKaiAHOjpvAy5Y3m00m qC0w/Zwvju1twb4vhLaJ5NkUJYsUS7rmJKHHBnETLi8GFqiEsqTWpG/6ibYCv7rY DBJDcR9W62BW9jfIoBQcxUCUJouMPH25lLNcDc1ssqvC2v7iUgI9LeoM1sNovqPm QUiG9rHli1vXxzCyaMTjwftkJLkf6724DFhuKug2jITV0QkXvaJWF4nUaHOTNA4u JU9WDvZLI1j83A+/xnAJUucIv/zGJ1AMH2boHqF8CY16LpsYgBt6tKxxWH00XcyD CdW2KlBCeqbQPcsFmWyWugxdcekhYsAWyoSf818NUsZdBWBaR/OukXrNLfkQ79Iy ZohZbvabO/X+MVT3rriAoKc8oE2Uws6DF+60PV7/WIPjNvXySdqspImSN78mflxD qwLqRBYkA3I75qppLGG9rp7UCdRjxMl8ZDBld+7yvHVgt1cVzJx9xnyGCC23Uaic MDSXYrB4I4WHXPGjxhZuCuPBLTdOLU8YRvMYdEvYebWHMpvwGCF6bAx3JBpIeOQ1 wDB5y0USicV3YgYGmi+NZfhA4URSh77Yd6uuJOJENRaNVTzk -----END CERTIFICATE-----
-----BEGIN CERTIFICATE----- MIIFHDCCAwSgAwIBAgIJANUP8luj8tazMA0GCSqGSIb3DQEBCwUAMBsxGTAXBgNV BAUTEGY5MjAwOWU4NTNiNmIwNDUwHhcNMTkxMTIyMjAzNzU4WhcNMzQxMTE4MjAz NzU4WjAbMRkwFwYDVQQFExBmOTIwMDllODUzYjZiMDQ1MIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEAr7bHgiuxpwHsK7Qui8xUFmOr75gvMsd/dTEDDJdS Sxtf6An7xyqpRR90PL2abxM1dEqlXnf2tqw1Ne4Xwl5jlRfdnJLmN0pTy/4lj4/7 tv0Sk3iiKkypnEUtR6WfMgH0QZfKHM1+di+y9TFRtv6y//0rb+T+W8a9nsNL/ggj nar86461qO0rOs2cXjp3kOG1FEJ5MVmFmBGtnrKpa73XpXyTqRxB/M0n1n/W9nGq C4FSYa04T6N5RIZGBN2z2MT5IKGbFlbC8UrW0DxW7AYImQQcHtGl/m00QLVWutHQ oVJYnFPlXTcHYvASLu+RhhsbDmxMgJJ0mcDpvsC4PjvB+TxywElgS70vE0XmLD+O JtvsBslHZvPBKCOdT0MS+tgSOIfga+z1Z1g7+DVagf7quvmag8jfPioyKvxnK/Eg sTUVi2ghzq8wm27ud/mIM7AY2qEORR8Go3TVB4HzWQgpZrt3i5MIlCaY504LzSRi igHCzAPlHws+W0rB5N+er5/2pJKnfBSDiCiFAVtCLOZ7gLiMm0jhO2B6tUXHI/+M RPjy02i59lINMRRev56GKtcd9qO/0kUJWdZTdA2XoS82ixPvZtXQpUpuL12ab+9E aDK8Z4RHJYYfCT3Q5vNAXaiWQ+8PTWm2QgBR/bkwSWc+NpUFgNPN9PvQi8WEg5Um AGMCAwEAAaNjMGEwHQYDVR0OBBYEFDZh4QB8iAUJUYtEbEf/GkzJ6k8SMB8GA1Ud IwQYMBaAFDZh4QB8iAUJUYtEbEf/GkzJ6k8SMA8GA1UdEwEB/wQFMAMBAf8wDgYD VR0PAQH/BAQDAgIEMA0GCSqGSIb3DQEBCwUAA4ICAQBOMaBc8oumXb2voc7XCWnu XKhBBK3e2KMGz39t7lA3XXRe2ZLLAkLM5y3J7tURkf5a1SutfdOyXAmeE6SRo83U h6WszodmMkxK5GM4JGrnt4pBisu5igXEydaW7qq2CdC6DOGjG+mEkN8/TA6p3cno L/sPyz6evdjLlSeJ8rFBH6xWyIZCbrcpYEJzXaUOEaxxXxgYz5/cTiVKN2M1G2ok QBUIYSY6bjEL4aUN5cfo7ogP3UvliEo3Eo0YgwuzR2v0KR6C1cZqZJSTnghIC/vA D32KdNQ+c3N+vl2OTsUVMC1GiWkngNx1OO1+kXW+YTnnTUOtOIswUP/Vqd5SYgAI mMAfY8U9/iIgkQj6T2W6FsScy94IN9fFhE1UtzmLoBIuUFsVXJMTz+Jucth+IqoW Fua9v1R93/k98p41pjtFX+H8DslVgfP097vju4KDlqN64xV1grw3ZLl4CiOe/A91 oeLm2UHOq6wn3esB4r2EIQKb6jTVGu5sYCcdWpXr0AUVqcABPdgL+H7qJguBw09o jm6xNIrw2OocrDKsudk/okr/AwqEyPKw9WnMlQgLIKw1rODG2NvU9oR3GVGdMkUB ZutL8VuFkERQGt6vQ2OCw0sV47VMkuYbacK/xyZFiRcrPJPb41zgbQj9XAEyLKCH ex0SdDrx+tWUDqG8At2JHA== -----END CERTIFICATE-----
-----BEGIN CERTIFICATE----- MIIFHDCCAwSgAwIBAgIJAMNrfES5rhgxMA0GCSqGSIb3DQEBCwUAMBsxGTAXBgNV BAUTEGY5MjAwOWU4NTNiNmIwNDUwHhcNMjExMTE3MjMxMDQyWhcNMzYxMTEzMjMx MDQyWjAbMRkwFwYDVQQFExBmOTIwMDllODUzYjZiMDQ1MIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEAr7bHgiuxpwHsK7Qui8xUFmOr75gvMsd/dTEDDJdS Sxtf6An7xyqpRR90PL2abxM1dEqlXnf2tqw1Ne4Xwl5jlRfdnJLmN0pTy/4lj4/7 tv0Sk3iiKkypnEUtR6WfMgH0QZfKHM1+di+y9TFRtv6y//0rb+T+W8a9nsNL/ggj nar86461qO0rOs2cXjp3kOG1FEJ5MVmFmBGtnrKpa73XpXyTqRxB/M0n1n/W9nGq C4FSYa04T6N5RIZGBN2z2MT5IKGbFlbC8UrW0DxW7AYImQQcHtGl/m00QLVWutHQ oVJYnFPlXTcHYvASLu+RhhsbDmxMgJJ0mcDpvsC4PjvB+TxywElgS70vE0XmLD+O JtvsBslHZvPBKCOdT0MS+tgSOIfga+z1Z1g7+DVagf7quvmag8jfPioyKvxnK/Eg sTUVi2ghzq8wm27ud/mIM7AY2qEORR8Go3TVB4HzWQgpZrt3i5MIlCaY504LzSRi igHCzAPlHws+W0rB5N+er5/2pJKnfBSDiCiFAVtCLOZ7gLiMm0jhO2B6tUXHI/+M RPjy02i59lINMRRev56GKtcd9qO/0kUJWdZTdA2XoS82ixPvZtXQpUpuL12ab+9E aDK8Z4RHJYYfCT3Q5vNAXaiWQ+8PTWm2QgBR/bkwSWc+NpUFgNPN9PvQi8WEg5Um AGMCAwEAAaNjMGEwHQYDVR0OBBYEFDZh4QB8iAUJUYtEbEf/GkzJ6k8SMB8GA1Ud IwQYMBaAFDZh4QB8iAUJUYtEbEf/GkzJ6k8SMA8GA1UdEwEB/wQFMAMBAf8wDgYD VR0PAQH/BAQDAgIEMA0GCSqGSIb3DQEBCwUAA4ICAQBTNNZe5cuf8oiq+jV0itTG zWVhSTjOBEk2FQvh11J3o3lna0o7rd8RFHnN00q4hi6TapFhh4qaw/iG6Xg+xOan 63niLWIC5GOPFgPeYXM9+nBb3zZzC8ABypYuCusWCmt6Tn3+Pjbz3MTVhRGXuT/T QH4KGFY4PhvzAyXwdjTOCXID+aHud4RLcSySr0Fq/L+R8TWalvM1wJJPhyRjqRCJ erGtfBagiALzvhnmY7U1qFcS0NCnKjoO7oFedKdWlZz0YAfu3aGCJd4KHT0MsGiL Zez9WP81xYSrKMNEsDK+zK5fVzw6jA7cxmpXcARTnmAuGUeI7VVDhDzKeVOctf3a 0qQLwC+d0+xrETZ4r2fRGNw2YEs2W8Qj6oDcfPvq9JySe7pJ6wcHnl5EZ0lwc4xH 7Y4Dx9RA1JlfooLMw3tOdJZH0enxPXaydfAD3YifeZpFaUzicHeLzVJLt9dvGB0b HQLE4+EqKFgOZv2EoP686DQqbVS1u+9k0p2xbMA105TBIk7npraa8VM0fnrRKi7w lZKwdH+aNAyhbXRW9xsnODJ+g8eF452zvbiKKngEKirK5LGieoXBX7tZ9D1GNBH2 Ob3bKOwwIWdEFle/YF/h6zWgdeoaNGDqVBrLr2+0DtWoiB1aDEjLWl9FmyIUyUm7 mD/vFDkzF+wm7cyWpQpCVQ== -----END CERTIFICATE-----
إذا كانت شهادة الجذر في سلسلة التصديق التي تتلقّاها تحتوي على هذا المفتاح العام ولم يتم إبطال أي من الشهادات في السلسلة، ستعرف ما يلي:
- أن يكون مفتاحك في جهاز تثق Google في أمانه
- وتتضمّن الخصائص الموضّحة في شهادة التصديق.
إذا كانت سلسلة التصديق تتضمّن أي مفتاح عام آخر للجذر، لن تقدّم Google أي ادعاءات بشأن أمان الجهاز. لا يعني ذلك أنّ مفتاحك قد تم اختراقه، بل يشير فقط إلى أنّ شهادة التصديق لا تثبت أنّ المفتاح مخزَّن في مكوّنات آمنة. عدِّل افتراضات الأمان وفقًا لذلك.
إذا لم تكن شهادة الجذر تحتوي على المفتاح العام في هذه الصفحة، من المحتمل أن يكون السبب أحد الأمرين التاليين:
- من المرجّح أنّ الجهاز تم إطلاقه بإصدار Android أقل من 7.0 ولا يتيح استخدام ميزة "إثبات صحة الجهاز". في هذه الحالة، يتضمّن نظام التشغيل Android عملية تنفيذ برمجية لشهادة المصادقة تنتج نوعًا مشابهًا من شهادات المصادقة، ولكن يتم توقيعها باستخدام مفتاح مضمّن في رمز المصدر لنظام التشغيل Android. بما أنّ مفتاح التوقيع هذا ليس سريًا، من المحتمل أن يكون أحد المهاجمين قد أنشأ شهادة المصادقة هذه مدعيًا أنّه يوفّر أجهزة آمنة.
- السبب المحتمل الآخر هو أنّ الجهاز ليس جهاز Google Play. في هذه الحالة، يحق لمصنّع الجهاز إنشاء شهادة جذر خاصة به وتقديم أي ادعاءات يريدها بشأن معنى شهادة التصديق. راجِع مستندات الشركة المصنّعة للجهاز. يُرجى العِلم أنّ Google لا تعرف أي مصنّعين للأجهزة قاموا بذلك.
تدوير شهادة الجذر الخاصة بالتحقّق من سلامة الأجهزة
تقدّم Google شهادة جذر جديدة لميزة "مصادقة مفتاح Android". ويساهم هذا التغيير في تعزيز أمان عملية إثبات صحة التطبيقات الحساسة وموثوقيتها. تم إنشاء مفتاح جذر جديد لخدمة "التصديق على المفتاح" في Android (KeyMint). المفتاح الجذر الجديد هو مفتاح ECDSA P-384، ومن المخطط توفير مفتاح ML-DSA (خوارزمية التوقيع الرقمي لما بعد التشفير الكمي) في المستقبل.
إجراء للمطوّرين
- إذا كان تطبيقك يعتمد على خدمة "إثبات صحة مفتاح Android"، عليك إضافة شهادة الجذر الجديدة إلى ملفات تخزين المفاتيح الموثوق بها قبل كانون الثاني (يناير) 2026. نزِّل الشهادتَين الجديدة والقديمة من https://android.googleapis.com/attestation/root
- ستبدأ الأجهزة التي تستخدم توفير المفاتيح عن بُعد (RKP) في تلقّي الشهادات المستندة إلى هذه الشهادة الجديدة في فبراير 2026. ستستخدم الأجهزة المتوافقة مع RKP الجذر الجديد حصريًا بحلول 10 نيسان (أبريل) 2026.
- عدِّل عمليات التصديق لتثق بكلتا شهادات الجذر الجديدة والحالية. لا تتوافق الأجهزة القديمة التي تم توفير المفاتيح فيها من المصنع مع ميزة "تغيير المفاتيح"، وستواصل استخدام الجذر القديم.
- لن يتغيّر مخطط إضافة الشهادة نفسه، بل سيتم تغيير الجذر فقط.
- ستكون كل من النسخة المقروءة من قِبل الإنسان والنسخة المقروءة من قِبل الآلة من الجذر الجديد متاحة للجميع.
أفضل الممارسات
لا تستعلم عن نقطة نهاية للحصول على الشهادات الجذرية الموثوق بها في وقت التشغيل، لأنّ هذا الإجراء يؤدي إلى حدوث مخاطر أمنية. التعامل مع التغييرات في جذور الثقة من خلال عملية رسمية
إيقاف المفاتيح الأصلية نهائيًا: توفير المفاتيح عن بُعد (RKP)
بالنسبة إلى الأجهزة التي تعمل بالإصدار 16 من نظام التشغيل Android، لا يتيح النظام سوى استخدام RKP. تؤدي هذه السياسة إلى إيقاف استخدام المفاتيح الأصلية تدريجيًا. ويحسِّن طريقة توفير مفاتيح المصادقة وإدارتها، مع التوسّع في سياسة Android 15 التي كان فيها دعم RKP اختياريًا. تمنع RKP تسرُّب المفاتيح لأنّ النظام لا يبرمج المفاتيح مباشرةً على الجهاز. لا يمكنك حذف هذه المفاتيح من الجهاز. إذا كان عليك إبطال مفتاح، يمكنك استهداف الإبطال لجهاز واحد.
مكتبات التحقّق من صحة الشهادات
استخدِم مكتبة Kotlin للتحقّق من صحة الشهادة للتحقّق من سلاسل شهادات "إثبات صحة المفتاح". بالإضافة إلى ذلك، تتضمّن هذه المكتبة شهادات الجذر الجديدة. وإذا كنت تستخدم أداة تحقّق مختلفة، ننصحك بالانتقال إلى مكتبة Kotlin بدلاً من ذلك. تم اختباره جيدًا، ويغطي الحالات الحدّية التي غالبًا ما يتم إغفالها من خلال أدوات التحقّق المخصّصة.
قائمة بحالات إبطال الشهادات
يمكن إبطال مفاتيح التصديق لعدة أسباب، بما في ذلك إساءة الاستخدام أو الاشتباه في استخراجها من قِبل مهاجم. لذلك، من الضروري التحقّق من حالة كل شهادة في سلسلة التصديق من خلال قائمة حالة إبطال الشهادات الرسمية (CRL).
تحتفظ Google بهذه القائمة وتنشرها على الرابط:
https://android.googleapis.com/attestation/status. يحدّد العنوان Cache-Control
في استجابة HTTP عدد المرات التي يتم فيها التحقّق من التحديثات، وبالتالي لا يلزم إجراء طلب شبكة لكل شهادة يتم التحقّق منها.
يعرض عنوان URL هذا ملف JSON يحتوي على حالة الإبطال لأي شهادات لا تتضمّن حالة صالحة عادية. يتوافق تنسيق ملف JSON مع تعريف JSON Schema التالي
(المسودة 07):
{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "entries": { "description" : "Each entry represents the status of an attestation key. The dictionary-key is the certificate serial number in lowercase hex.", "type": "object", "propertyNames": { "pattern": "^[a-f1-9][a-f0-9]*$" }, "additionalProperties": { "type": "object", "properties": { "status": { "description": "[REQUIRED] Current status of the key.", "type": "string", "enum": ["REVOKED", "SUSPENDED"] }, "expires": { "description": "[OPTIONAL] UTC date when certificate expires in ISO8601 format (YYYY-MM-DD). Can be used to clear expired certificates from the status list.", "type": "string", "format": "date" }, "reason": { "description": "[OPTIONAL] Reason for the current status.", "type": "string", "enum": ["UNSPECIFIED", "KEY_COMPROMISE", "CA_COMPROMISE", "SUPERSEDED", "SOFTWARE_FLAW"] }, "comment": { "description": "[OPTIONAL] Free form comment about the key status.", "type": "string", "maxLength": 140 } }, "required": ["status"], "additionalProperties": false } } }, "required": ["entries"], "additionalProperties": false }
مثال على قائمة إبطال الشهادات:
{ "entries": { "2c8cdddfd5e03bfc": { "status": "REVOKED", "expires": "2020-11-13", "reason": "KEY_COMPROMISE", "comment": "Key stored on unsecure system" }, "c8966fcb2fbb0d7a": { "status": "SUSPENDED", "reason": "SOFTWARE_FLAW", "comment": "Bug in keystore causes this key malfunction b/555555" } } }
سياسة إلغاء الشهادة
تشكّل خدمة "إثبات صحة الجهاز" أساس مكافحة إساءة الاستخدام وتعزيز الثقة في منظومة Android المتكاملة. ويوفّر بيانًا يمكن التحقّق منه تشفيريًا للأطراف الخارجية بشأن حالة تشغيل الجهاز.
سيتم إبطال شهادات مفاتيح التصديق على Android عند اختراق المفاتيح، وذلك بسبب الأهمية البالغة لصلاحية التصديق. يوضّح هذا القسم سياسة بشأن الحالات التي يتم فيها إبطال الشهادات. من المحتمل أن تتطوّر هذه السياسة وتتضمّن حالات إضافية بمرور الوقت.
ما هي الحالات التي تؤدي إلى الإلغاء؟
لا تؤثّر تسريبات مفاتيح المصادقة إلا في آلية التوفير القديمة المتوافقة مع Android، ولا تنطبق على مفاتيح المصادقة المصدَّقة من خلال آلية توفير المفاتيح عن بُعد (RKP) الأحدث.
تكون مفاتيح المصادقة التي تم تسريبها مؤهَّلة دائمًا لإبطال شهاداتها. يمكن العثور على التسريبات بعدة طرق، منها:
- تحليل بيانات الشهادات في بيئة غير خاضعة للرقابة
- اكتشاف مفاتيح الإثبات على وسائل التواصل الاجتماعي أو المواقع الإلكترونية العامة الأخرى
- تقارير مباشرة من باحثي الأمان
عند اكتشاف شهادات مصادقة غير صالحة، سيتم إبطالها من خلال إضافة أرقامها التسلسلية إلى قائمة الإبطال. وعادةً ما يحدث ذلك في غضون عدة أيام من اكتشاف المشكلة، ولكن قد يستغرق وقتًا أطول في حالات نادرة. على سبيل المثال، عادةً ما يتم تأخير إبطال الشهادات لمفاتيح التصديق التي تم تسريبها إذا كان من الممكن إعادة توفير الأجهزة المتأثرة بالإبطال بشكل آمن. ويُعدّ نطاق تأثير الإبطال عاملاً مهمًا أيضًا في تحديد الجداول الزمنية للإبطال.