التحقُّق من أزواج المفاتيح المستنِدة إلى الأجهزة باستخدام مصادقة المفتاح

تمنحك ميزة "مصادقة المفتاح" ثقة أكبر بأنّ المفاتيح التي تستخدمها في تطبيقك مخزَّنة في ملف تخزين المفاتيح المُدمَج بشكل آمن في الأجهزة. توضّح الأقسام التالية كيفية التحقّق من خصائص المفاتيح المُدمَجة بشكل آمن في الأجهزة وكيفية تفسير بيانات الإضافة في شهادات المصادقة.

قبل البدء: تأكَّد من أنّ جهازك يتيح ميزة "مصادقة المفتاح" على مستوى الأجهزة

قبل التحقّق من خصائص المفاتيح المُدمَجة بشكل آمن في الأجهزة على جهاز في بيئة إنتاج، تأكَّد من أنّ الجهاز يتيح ميزة "مصادقة المفتاح" على مستوى الأجهزة. لإجراء ذلك، تأكَّد من أنّ سلسلة شهادات المصادقة تحتوي على شهادة جذر موقَّعة باستخدام مفتاح جذر المصادقة من Google وأنّ العنصر attestationSecurityLevel ضمن بنية بيانات وصف المفتاح مضبوط على مستوى الأمان TrustedEnvironment أو على مستوى الأمان StrongBox.

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

استرداد زوج من المفاتيح المستندة إلى الأجهزة والتحقّق منه

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

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

لتنفيذ ميزة "مصادقة المفتاح"، أكمل الخطوات التالية:

  1. استخدِم طريقة KeyStore لعنصر getCertificateChain() للحصول على مرجع لسلسلة شهادات معيار X.509 المرتبطة بـ ملف تخزين المفاتيح المستنِد إلى الأجهزة.
  2. أرسِل الشهادات إلى خادم منفصل تثق به لإجراء عملية التحقّق.

    تنبيه: لا تُكمل عملية التحقّق التالية على الجهاز نفسه. إذا تم اختراق نظام Android على هذا الجهاز قد يؤدي ذلك إلى أن تثق عملية التحقّق في شيء غير موثوق به.

  3. احصل على مرجع لمكتبة تحليل سلسلة شهادات X.509 والتحقّق منها الأكثر ملاءمةً لمجموعة أدواتك. تأكَّد من أنّ شهادة الجذر العامة موثوق بها وأنّ كل شهادة توقِّع على الشهادة التالية في السلسلة.

  4. تحقَّق من حالة إبطال كل شهادة للتأكّد من أنّه لم يتم إبطال أي من الشهادات.

  5. يمكنك اختياريًا فحص إضافة شهادة معلومات التزويد التي تظهر فقط في سلاسل الشهادات الأحدث.

    احصل على مرجع لمكتبة محلّل CBOR الأكثر ملاءمةً لـ مجموعة أدواتك. ابحث عن أقرب شهادة إلى الشهادة الجذرية تحتوي على إضافة شهادة معلومات التزويد. استخدِم المحلّل لاستخراج بيانات إضافة شهادة معلومات التزويد من تلك الشهادة.

    لمزيد من التفاصيل، يُرجى الاطّلاع على قسم إضافة معلومات التزويد .

  6. احصل على مرجع لمكتبة محلّل ASN.1 الأكثر ملاءمةً لمجموعة أدواتك. ابحث عن أقرب شهادة إلى الشهادة الجذرية تحتوي على إضافة شهادة "مصادقة المفتاح". إذا كانت إضافة شهادة معلومات التزويد متوفّرة، يجب أن تكون إضافة شهادة "مصادقة المفتاح" في الشهادة التالية مباشرةً. استخدِم المحلّل لاستخراج بيانات إضافة شهادة "مصادقة المفتاح" من تلك الشهادة.

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

    يستخدِم نموذج Key Attestation sample محلّل ASN.1 من Bouncy Castle لاستخراج بيانات إضافة شهادة المص101} attestation certificate'sادقة. يمكنك استخدام هذا النموذج كـ مرجع لإنشاء المحلّل الخاص بك.

    لمزيد من التفاصيل، يُرجى الاطّلاع على قسم مخطط بيانات إضافة " مصادقة المفتاح".

  7. تحقَّق من بيانات الإضافة التي استرددتها في الخطوات السابقة للتأكّد من اتساقها وقارِنها بمجموعة القيم التي تتوقّع أن يحتوي عليها المفتاح المستند إلى الأجهزة.

شهادات الجذر

تعتمد موثوقية المصادقة على شهادة الجذر في السلسلة. يجب أن تستخدم أجهزة Android التي اجتازت الاختبار المطلوب للحصول على مجموعة تطبيقات Google، بما في ذلك Google Play، والتي تم إطلاقها باستخدام Android 7.0 (المستوى 24 من واجهة برمجة التطبيقات) أو إصدار أحدث، مفاتيح المصادقة الموقَّعة من قِبل شهادة الجذر للمصادقة على الأجهزة من Google. يُرجى العِلم أنّه لم يكن مطلوبًا إجراء المصادقة حتى إصدار Android 8.0 (المستوى 26 من واجهة برمجة التطبيقات). يمكن تنزيل مجموعة شهادات الجذر الصالحة على شكل مصفوفة منسّقة بتنسيق JSON.

Root Certificates

يجب استخدام شهادتي الجذر التاليتَين كمرتكزات موثوقية عند التحقّق من سلسلة شهادات "مصادقة المفتاح" .

-----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-----
-----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-----
  
Previously Issued Root Certificates
-----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-----
  

إذا كانت شهادة الجذر في سلسلة المصادقة التي تتلقّاها تحتوي على هذا المفتاح العام و لم يتم إبطال أي من الشهادات في السلسلة، يعني ذلك ما يلي:

  1. المفتاح موجود في جهاز تعتبره Google آمنًا.
  2. يحتوي على الخصائص الموضّحة في شهادة المصادقة.

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

إذا كانت شهادة الجذر لا تحتوي على المفتاح العام في هذه الصفحة، من المحتمل أن يكون هناك سببان لذلك:

  • من المرجّح أنّ الجهاز تم إطلاقه بإصدار Android أقل من 7.0 ولا يتيح ميزة مصادقة الأجهزة. في هذه الحالة، يتضمّن Android عملية مصادقة على مستوى البرامج تنتج النوع نفسه من شهادات المصادقة، ولكن يتم توقيعها باستخدام مفتاح مضمّن في رمز مصدر Android. بما أنّ مفتاح التوقيع هذا ليس سرّيًا، قد يكون قد أنشأ المصادقة مهاجم يتظاهر بتقديم جهاز آمن.
  • السبب المحتمل الآخر هو أنّ الجهاز ليس جهاز Google Play. في هذه الحالة، يحق لمصنّع الجهاز إنشاء شهادة الجذر الخاصة به وتحديد معنى بيانات المصادقة الخاصة به. يُرجى الرجوع إلى مستندات مصنّع الجهاز. يُرجى العِلم أنّ Google لا تعرف أي مصنّعين للأجهزة فعلوا ذلك.

تدوير شهادة الجذر للمصادقة على الأجهزة

تقدّم Google شهادة جذر جديدة لميزة "تصديق مفاتيح Android". يعزّز هذا التغيير أمان عملية المصادقة وموثوقيتها للتطبيقات الحسّاسة. تم إنشاء مفتاح جذر جديد لميزة "تصديق المفاتيح" في Android (KeyMint). الشهادة الجذرية الجديدة هي مفتاح ECDSA P-384.

الإجراءات التي يجب اتخاذها

  • إذا كان تطبيقك يعتمد على ميزة "تصديق المفاتيح" في Android، أضِف شهادة الجذر الجديدة إلى مخازن الشهادات الموثوق بها بحلول 31 مارس 2026. نزِّل الشهادتَين الجديدة والقديمة من https://android.googleapis.com/attestation/root
  • ستبدأ الأجهزة التي تستخدم ميزة "تزويد المفاتيح عن بُعد" (RKP) بتلقّي الشهادات المستندة إلى هذه الشهادة الجديدة في فبراير 2026. لن تستخدم الأجهزة التي تم تفعيل ميزة "تزويد المفاتيح عن بُعد" عليها إلا الشهادة الجذرية الجديدة بحلول 10 أبريل 2026.
  • عدِّل عمليات المصادقة لتثق في كل من شهادات الجذر الجديدة والحالية. لا تتيح الأجهزة القديمة التي تتضمّن مفاتيح تم توفيرها في المصنع تدوير المفاتيح وتستمر في استخدام الشهادة الجذرية القديمة.
  • سيظل مخطط إضافة الشهادة نفسه بدون تغيير، ولن يتغيّر سوى الشهادة الجذرية.
  • سيتوفّر كل من الشكل المقروء من قِبل الإنسان والشكل المقروء من قِبل الآلة للشهادة الجذرية الجديدة بشكل علني.

أفضل الممارسات

لا تستخدِم نقطة نهاية للاستعلام عن الشهادات الجذرية الموثوق بها في وقت التشغيل، لأنّ هذا الإجراء يؤدي إلى مخاطر أمنية. تعامَل مع التغييرات التي تطرأ على مرتكزات الموثوقية من خلال عملية رسمية.

إيقاف المفاتيح التي تم توفيرها في المصنع تدريجيًا: ميزة "تزويد المفاتيح عن بُعد" (RKP)

بالنسبة إلى الأجهزة التي يتم إطلاقها باستخدام Android 16، لا يتيح النظام سوى ميزة "تزويد المفاتيح عن بُعد". تؤدي هذه السياسة إلى إيقاف المفاتيح التي تم توفيرها في المصنع تدريجيًا. وتحسّن هذه السياسة طريقة توفير مفاتيح المصادقة وإدارتها، وتوسّع نطاق سياسة Android 15 التي كانت تتيح ميزة "تزويد المفاتيح عن بُعد" بشكل اختياري. تمنع ميزة "تزويد المفاتيح عن بُعد" تسرُّب المفاتيح لأنّ النظام لا يبرمج المفاتيح مباشرةً على الجهاز. لا يمكنك حذف هذه المفاتيح من الجهاز. إذا كان عليك إبطال مفتاح، يمكنك استهداف الجهاز الواحد لإبطاله.

مكتبات التحقّق من المصادقة

استخدِم مكتبة التحقّق من المصادقة في 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 عند اختراق المفاتيح، نظرًا إلى الطبيعة المهمة لصلاحية المصادقة. يحدّد هذا القسم سياسة بشأن الحالات التي يتم فيها إبطال الشهادات. من المرجّح أن تتطوّر هذه السياسة وتدرج حالات إضافية بمرور الوقت.

ما هي الحالات التي تستدعي الإبطال؟

تكون مفاتيح المصادقة التي تم تسرُّبها مؤهّلة دائمًا لإبطال شهاداتها. يمكن اكتشاف التسرُّبات بعدة طرق، بما في ذلك:

  • تحليل بيانات المصادقة في بيئات الإنتاج
  • اكتشاف مفاتيح المصادقة على وسائل التواصل الاجتماعي أو المواقع الإلكترونية العامة الأخرى
  • التقارير الواردة مباشرةً من باحثي الأمان

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

مخطط بيانات إضافة "مصادقة المفتاح"

مخطط بيانات إضافة معلومات التزويد