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:
-
Donanım destekli anahtar deposuyla ilişkili X.509 sertifika zincirine referans almak için
KeyStore
nesnesiningetCertificateChain()
yöntemini kullanın. -
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.
-
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.
-
Sertifikalardan hiçbirinin iptal edilmediğinden emin olmak için her sertifikanın iptal durumunu kontrol edin.
-
İ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.
-
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.
-
Ö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:
- Anahtarınız, Google'ın güvenli olduğuna inandığı bir donanımda bulunur ve
- 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.