Anahtar onayı ile donanım destekli anahtar çiftlerini doğrulama

Anahtar onayı, uygulamanızda kullandığınız anahtarların cihazın donanım destekli anahtar deposunda saklandığına dair daha fazla güven sağlar. Aşağıdaki bölümlerde, donanım destekli anahtarların özelliklerinin nasıl doğrulanacağı ve onay sertifikalarının uzantı verilerinin nasıl yorumlanacağı açıklanmaktadır.

Not: Bir cihazın donanım destekli anahtarlarının özelliklerini üretim düzeyinde bir ortamda doğrulamadan önce cihazın donanım düzeyinde anahtar onayı desteklediğinden emin olun. Bunu yapmak için, onay sertifikası zincirinin Google onay kök anahtarıyla imzalanmış bir kök sertifika içerdiğini ve key description veri yapısındaki attestationSecurityLevel öğesinin TrustedEnvironment güvenlik seviyesine veya StrongBox güvenlik seviyesine ayarlandığını kontrol edin.

Ayrıca, sertifika zincirindeki imzaların doğrulanması ve zincirdeki anahtarlardan hiçbirinin iptal edilmediğinin sertifika iptal durumu listesi kontrol edilerek onaylanması önemlidir. Tümü geçerli olmadığı ve kök, Google kök anahtarı olmadığı sürece onaylamaya tam olarak güvenmeyin.

Donanım destekli anahtar çiftini alma ve doğrulama

Anahtar onayı sırasında bir anahtar çiftinin diğer adını belirtir ve bu anahtar çiftinin özelliklerini doğrulamak için kullanabileceğiniz sertifika zincirini alırsınız.

Cihaz, donanım düzeyinde anahtar onayını destekliyorsa bu zincirdeki kök sertifika, cihazın donanım destekli anahtar deposuna güvenli bir şekilde sağlanan bir onay kök anahtarı kullanılarak imzalanır.

Not: Donanım düzeyinde anahtar tasdiki, Android 7.0 (API düzeyi 24) veya sonraki sürümler ve Google Play Hizmetleri ile birlikte gelen cihazlarda kök sertifikası, Google tasdik kök anahtarıyla imzalanır. Bu kök sertifikanın, kök sertifikalar bölümünde listelenenler arasında olduğunu doğrulayın.

Anahtar tasdikini uygulamak için aşağıdaki adımları tamamlayın:

  1. Donanım destekli anahtar deposuyla ilişkili X.509 sertifika zincirine referans almak için KeyStore nesnesinin getCertificateChain() yöntemini kullanın.
  2. Sertifikaları doğrulama için güvendiğiniz ayrı bir sunucuya gönderin.

    Dikkat: Aşağıdaki doğrulama işlemini aynı cihazda tamamlamayın. Bu cihazdaki Android sisteminin güvenliği ihlal edilmişse doğrulama sürecinde güvenilmez bir şeye güvenilebilir.

  3. X.509 sertifika zinciri ayrıştırma ve doğrulama için araç setinize en uygun olan kitaplığa referans alın. Kök genel sertifikanın güvenilir olduğunu ve her sertifikanın zincirdeki bir sonraki sertifikayı imzaladığını doğrulayın.

  4. Sertifikalardan hiçbirinin iptal edilmediğinden emin olmak için her sertifikanın iptal durumunu kontrol edin.

  5. İsteğe bağlı olarak, yalnızca daha yeni sertifika zincirlerinde bulunan sağlama bilgileri sertifika uzantısını inceleyin.

    Araç setiniz için en uygun CBOR ayrıştırıcı kitaplığına referans alın. Kök sertifikaya en yakın olan ve sağlama bilgileri sertifika uzantısını içeren sertifikayı bulun. Bu sertifikadan temel hazırlık bilgilerini sertifika uzantısı verilerini ayıklamak için ayrıştırıcıyı kullanın.

    Daha fazla bilgi için sağlama bilgileri uzantısı bölümüne bakın.

  6. Araç setiniz için en uygun olan ASN.1 ayrıştırıcı kitaplığına referans alın. Anahtar tasdik sertifikası uzantısını içeren köke en yakın sertifikayı bulun. Temel hazırlık bilgileri sertifika uzantısı varsa anahtar tasdik sertifikası uzantısı hemen sonraki sertifikada olmalıdır. Anahtar onay sertifikası uzantısı verilerini bu sertifikadan ayıklamak için ayrıştırıcıyı kullanın.

    Dikkat: Anahtar tasdik sertifikası uzantısının, zincirin yaprak sertifikasında olduğunu varsaymayın. Zincirdeki uzantının yalnızca ilk oluşumuna güvenilebilir. Uzantının diğer tüm örnekleri güvenli donanım tarafından verilmemiştir ve güvenilmeyen anahtarlar için sahte onaylar oluşturmaya çalışırken zinciri genişleten bir saldırgan tarafından verilmiş olabilir.

    Key Attestation sample, bir onay sertifikasının uzantı verilerini ayıklamak için Bouncy Castle'daki ASN.1 ayrıştırıcısını kullanır. Bu örneği kendi ayrıştırıcınızı oluştururken referans olarak kullanabilirsiniz.

    Daha fazla bilgi için anahtar tasdik uzantısı veri şeması bölümüne bakın.

  7. Önceki adımlarda aldığınız uzantı verilerinin tutarlılığını kontrol edin ve donanım destekli anahtarın içermesini beklediğiniz değerler grubuyla karşılaştırın.

Kök sertifikalar

Onayın güvenilirliği, zincirin kök sertifikasına bağlıdır. Google Play dahil olmak üzere Google uygulama paketinin bulunması için gerekli testleri geçmiş ve Android 7.0 (API düzeyi 24) veya sonraki sürümlerle kullanıma sunulmuş Android cihazlar, Google Donanım Onaylama Kök Sertifikası tarafından imzalanmış onaylama anahtarlarını kullanmalıdır. Android 8.0 (API düzeyi 26) sürümüne kadar onaylama işleminin gerekli olmadığını unutmayın. Geçerli kök sertifikaları kümesi, JSON biçimli bir dizi olarak indirilebilir.

Kök Sertifikalar

Anahtar tasdik sertifikası zinciri doğrulanırken aşağıdaki iki kök sertifika güven bağlantısı olarak kullanılmalıdır.

-----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-----

Aşağıdaki kök sertifika, 1 Şubat 2025'ten itibaren onay sertifikası zincirlerini imzalamaya başlayacak.

-----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-----
  
Daha Önce Yayınlanmış Kök Sertifikalar
-----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-----
  

Aldığınız onay zincirindeki kök sertifika bu ortak anahtarı içeriyorsa ve zincirdeki sertifikaların hiçbiri iptal edilmemişse:

  1. Anahtarınız, Google'ın güvenli olduğuna inandığı bir donanımda bulunur ve
  2. Onay sertifikasında açıklanan özelliklere sahiptir.

Onay zincirinde başka bir kök ortak anahtar varsa Google, donanımın güvenliği hakkında herhangi bir iddiada bulunmaz. Bu, anahtarınızın güvenliğinin ihlal edildiği anlamına gelmez. Yalnızca onaylama işleminin, anahtarın güvenli donanımda olduğunu kanıtlamadığı anlamına gelir. Güvenlik varsayımlarınızı buna göre ayarlayın.

Kök sertifika bu sayfada ortak anahtarı içermiyorsa bunun iki olası nedeni vardır:

  • Cihazın 7.0'dan önceki bir Android sürümüyle kullanıma sunulmuş olması ve donanım doğrulama özelliğini desteklememesi büyük olasılıktır. Bu durumda Android, aynı türde onay sertifikası oluşturan ancak Android kaynak kodunda sabit kodlanmış bir anahtarla imzalanan bir onay yazılımı uygulamasına sahiptir. Bu imzalama anahtarı gizli olmadığından, onay, güvenli donanım sağladığını iddia eden bir saldırgan tarafından oluşturulmuş olabilir.
  • Diğer olası neden ise cihazın Google Play cihazı olmamasıdır. Bu durumda, cihaz üreticisi kendi kökünü oluşturabilir ve onaylamanın ne anlama geldiğiyle ilgili istediği iddialarda bulunabilir. Cihaz üreticisinin belgelerine bakın. Google'ın bu işlemi yapan herhangi bir cihaz üreticisinden haberdar olmadığını unutmayın.

Donanım Onay Kök Sertifikası Rotasyonu

Google, Android Anahtar Onayı için yeni bir kök sertifika kullanıma sunuyor. Bu değişiklik, hassas uygulamalar için onay sürecinin güvenliğini ve güvenilirliğini artırır. Android Key Attestation (KeyMint) için yeni bir kök anahtar oluşturuldu. Yeni kök, ECDSA P-384 anahtarıdır. Gelecekte ise ML-DSA (Kuantum Sonrası Dijital İmza Algoritması) anahtarı kullanılması planlanmaktadır.

Geliştiriciler İçin İşlem

  • Uygulamanız Android Key Attestation'ı kullanıyorsa yeni kök sertifikayı güven depolarınıza Ocak 2026'ya kadar ekleyin. https://android.googleapis.com/attestation/root adresinden hem yeni hem de eski sertifikaları indirin.
  • Uzak Anahtar Sağlama (RKP) kullanan cihazlar Şubat 2026'da bu yeni sertifikaya dayalı sertifikalar almaya başlayacak. RKP'nin etkinleştirildiği cihazlar, 10 Nisan 2026'dan itibaren yalnızca yeni kökü kullanacak.
  • Yeni ve mevcut kök sertifikaların her ikisine de güvenmek için onay süreçlerinizi güncelleyin. Fabrikada sağlanan anahtarlara sahip eski cihazlar anahtar rotasyonunu desteklemez ve eski kökü kullanmaya devam eder.
  • Sertifika uzantısı şemasında değişiklik yapılmayacak, yalnızca kök değişecektir.
  • Yeni kökün hem insan tarafından okunabilir hem de makine tarafından okunabilir biçimleri herkese açık olarak sunulacaktır.

En İyi Uygulamalar

Bu işlem güvenlik riskleri oluşturduğundan, çalışma zamanında güvenilen kökler için bir uç noktaya sorgu göndermeyin. Güven köklerindeki değişiklikleri resmi bir süreçle ele alın.

Fabrika anahtarlarını kullanımdan kaldırma: Uzaktan Anahtar Sağlama (RKP)

Android 16 ile kullanıma sunulan cihazlarda sistem yalnızca RKP'yi destekler. Bu politika, fabrika anahtarlarını kullanımdan kaldırır. Bu özellik, doğrulama anahtarlarını sağlama ve yönetme şeklinizi iyileştirir. RKP desteğinin isteğe bağlı olduğu Android 15 politikasını genişletir. RKP, sistem anahtarları doğrudan cihaza programlamadığından anahtar sızıntısını önler. Bu anahtarları cihazdan silemezsiniz. Bir anahtarı iptal etmeniz gerekiyorsa iptal işlemini tek bir cihazla sınırlayabilirsiniz.

Onay doğrulama kitaplıkları

Anahtar tasdik sertifikası zincirlerini doğrulamak için tasdik doğrulama Kotlin kitaplığını kullanın. Ayrıca bu kitaplık, yeni kök sertifikaları da içerir. Farklı bir doğrulayıcı kullanıyorsanız bunun yerine Kotlin kitaplığına geçmenizi öneririz. İyi test edilmiştir ve genellikle özel doğrulayıcılar tarafından gözden kaçırılan uç durumları kapsar.

Sertifika iptal durumu listesi

Onay anahtarları, yanlış kullanım veya saldırgan tarafından çıkarılma şüphesi gibi çeşitli nedenlerle iptal edilebilir. Bu nedenle, bir onay zincirindeki her sertifikanın durumunun resmi sertifika iptal durumu listesi (CRL) ile kontrol edilmesi çok önemlidir. Bu liste Google tarafından tutulur ve şu adreste yayınlanır: https://android.googleapis.com/attestation/status. HTTP yanıtındaki Cache-Control başlığı, güncellemelerin ne sıklıkla kontrol edileceğini belirler. Bu nedenle, doğrulanan her sertifika için bir ağ isteği gerekmez. Bu URL, normal geçerli durumu olmayan tüm sertifikaların iptal durumunu içeren bir JSON dosyası döndürür. JSON dosyasının biçimi, aşağıdaki JSON şeması (taslak 07) tanımına uygundur:

{
  "$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
}

Örnek CRL:

{
  "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"
    }
  }
}

Sertifika iptal politikası

Onay, Android ekosisteminde kötüye kullanımla mücadele ve güvenin temelini oluşturur. Cihazın başlatılmış durumu hakkında cihaz dışındaki taraflara kriptografik olarak doğrulanabilir bir ifade sağlar.

Onay geçerliliğinin kritik doğası nedeniyle, anahtarların güvenliği ihlal edildiğinde Android onay anahtarlarının sertifikaları iptal edilir. Bu bölümde, sertifikaların iptal edilmesiyle ilgili politika özetlenmektedir. Bu politika zaman içinde gelişecek ve ek durumları kapsayacak şekilde genişleyecektir.

Hangi durumlar iptal için uygundur?

Onay anahtarı sızıntıları yalnızca Android'de desteklenen eski sağlama mekanizmasını etkiler ve yeni Uzaktan Anahtar Sağlama (RKP) mekanizması tarafından onaylanan onay anahtarları için geçerli değildir.

Sızdırılmış olan onay anahtarlarının sertifikaları her zaman iptal edilebilir. Sızıntılar çeşitli şekillerde tespit edilebilir. Örneğin:

  • Sertifika verilerinin gerçek hayattaki analizi.
  • Onay anahtarlarının sosyal medyada veya diğer herkese açık sitelerde bulunması
  • Doğrudan güvenlik araştırmacılarından gelen raporlar.

Keşfedildikten sonra, onay sertifikaları seri numaraları iptal listesine eklenerek iptal edilir. Bu işlem genellikle keşfedildikten sonraki birkaç gün içinde gerçekleşir ancak nadir durumlarda daha uzun sürebilir. Örneğin, sızdırılmış onay anahtarları için sertifikaların iptali, iptalden etkilenen cihazlar güvenli bir şekilde yeniden sağlanabiliyorsa genellikle geciktirilir. İptalin etki ölçeği de iptal zaman çizelgelerinde önemli bir faktördür.

Anahtar onayı uzantısı veri şeması

Sağlama bilgileri uzantısı veri şeması