Şifreleme anahtarlarını depolamak için güvenli donanım kullanan ve bu anahtarlara erişimin düşük entropi bilgisi faktörüyle (ör. kilit ekranı PIN'i) korunduğu bir bulut hizmetini tanımlarız. Güvenli donanım, doğru bilgi faktörünü sağlamaya yönelik çok sayıda başarısız deneme yapıldıktan sonra depolanan kriptografik anahtarları kalıcı olarak geri alınamaz hale getirerek kaba kuvvet saldırılarını önlemek için tasarlanmıştır.
Yazar: Shabsi Walfish
Sürüm Tarihi: 06.03.2018
Not: Bu belge üzerinde çalışmalarımız devam etmekte olup uygulamayla ilgili ayrıntılar henüz kesinleşmemiştir. Sistem istikrar kazandıkça ve daha fazla doküman üretildikçe bu teknik belgeyi daha ayrıntılı bilgilerle güncelleyeceğiz (özellikle ilgili açık kaynak sürümleriyle birlikte).
Genel Bakış
Geleneksel olarak, şifreleme (veri gizliliğini sağlamak için kullanılır) saldırganın bakış açısından yüksek entropi değerine sahip sırlar kullanılmasını gerektirir. Doğru şifre bulunana kadar olası tüm anahtarların alanını araştıran kaba kuvvet saldırılarına karşı koyması gerektiğinden, şifreleme şemasında yüksek entropi gerekir. Günümüzde mevcut olan hesaplama gücü göz önüne alındığında, kriptografik sırlar için makul bir minimum entropi koşulu 70 ila 80 bit civarında olabilir. Ne yazık ki, insanlar bu entropi miktarına sahip şifreleri veya diğer gizli bilgileri1 ezberlemeyi ve güvenilir bir şekilde hatırlamayı çok zor bulur. Özellikle de bu şifreler nadiren kullanılıyorsa (ancak yüksek entropili şifreleri sık kullanmak zor ve yorucudur). Bu durum bizi zorlu bir sorunla karşı karşıya bırakır: Gizliliğin, kullanıcı tarafından hatırlanmaya çok uygun bir "bilgi faktörü" olmasını istiyorsak özel verileri şifreleme teknolojisiyle nasıl koruyabiliriz? Çeşitli nedenlerden dolayı bu sorunun çözülmesi o kadar zordur ki bulut depolama alanı hizmetleri genellikle kullanıcının kendi gizlisini hatırlamasına güvenmek yerine verileri yalnızca bulut depolama alanı sağlayıcının yönettiği gizli anahtarlarla şifreler.
Şifreleme gizliliği ve kullanıcının hatırlayabileceği gizlilik arasındaki boşluğu kapatmanın bir yolu, düşük entropi değerine sahip, kullanıcının hatırlayabileceği bir gizli anahtarla korunan yüksek entropi değerine sahip bir "kurtarma anahtarı" depolamak için Cloud Key Vault (CKV) hizmeti kullanmaktır. CKV hizmeti, kurtarma anahtarını yalnızca doğru hatırlanabilir şifreyi bildiğini kanıtlayan bir tarafa verir. Kullanıcının hatırlayabileceği gizliye yönelik kaba kuvvet saldırıları, CKV hizmeti tarafından engellenerek gizlinin bilindiğini kanıtlamak için yapılan başarısız denemelerin sayısına mutlak bir sınır uygulanır. Kurtarma anahtarı, standart bir kriptografik simetrik anahtardır. Bu anahtar, büyük miktarda veriyi (ör. disk yedeği) kolayca şifreleyebilen ve güvenli bir şekilde saklanabilir (kimliği doğrulanmış) bir şifreleme şemasıyla kullanılmaya uygundur. Bu tür şifrelenmiş veriler, kurtarma anahtarını edinemeyen kişiler için işe yaramaz.
Bu teknik belgede, Güvenilir Donanım Modülleri (THM'ler) kullanarak Cloud Key Vault hizmeti oluşturma yaklaşımımız açıklanmaktadır. CKV hizmetini ilk kez uygulamamız, kurtarma anahtarlarını kullanıcının Kilit Ekranı Bilgi Faktörü (LSKF) ile korumak için tasarlanmıştır. LSKF, akıllı telefonların kilidini açmak için kullanılan gizli PIN, şifre veya kaydırma desenini ifade eder. İnsanlar LSKF'lerini güvenilir bir şekilde hatırlayabilir. Aynı zamanda bu tür LSKF gizliliklerinde genellikle çok sınırlı sayıda deneme hakkı olan bir saldırgana karşı koymak için yeterli entropi bulunur. Bu da bu gizlilikleri CKV hizmetine uygun hale getirir.
Cloud Key Vault hizmetimizin ilk uygulaması, istemci tarafında şifrelenmiş Android yedeklemelerini etkinleştirmektir. Daha önce, Android cihazda yerel olarak şifrelenen dosyalar kullanıcının LSKF'siyle korunan bir anahtar kullanıyordu ancak Cloud'da depolanan (ve şifrelenen) bu dosyaların yedeklemeleri LSKF ile korunmuyordu. Cloud Key Vault, Cloud'da depolanan Android yedekleri için de kilit ekranı korumasını ilk kez etkinleştiriyor. Bu, Google sunucularının şifrelenmiş yedeklerin içeriğine erişemediği veya bu içerikleri geri yükleyemediği anlamına gelir. Yalnızca kullanıcının LSKF'sine sahip bir cihaz yedeklerin şifresini çözebilir.
Temel Kavramlar
Cloud Key Vault hizmeti için başlangıçta desteklenen tek istemci platformu Android 9 Pie işletim sistemidir. Bu teknik belgede istemciden bahsettiğimizde Google Play Hizmetleri ile Android 9 Pie işletim sistemini çalıştıran bir cihazdan bahsederiz. Sunucu tarafı uygulamamız, özel olarak belirlenmiş ve ekstra Titan2 çipi yüklü Google sunucularında çalışır. Google tarafından tasarlanan Titan çipi, Güvenilir Donanım Modülümüzde donanım bileşeni olarak kullanılır. Bu çipi, protokollerimizi ve güvenlik yaptırım mekanizmalarımızı (burada açıklandığı şekilde) uygulayan özel bir önyükleyici ve donanım yazılımıyla özel olarak hazırlarız. Protokolümüzün gerçekten Titan donanımında çalıştığından emin olmak için donanım doğrulama tekniklerinden yararlanırız.
CKV hizmeti, donanım hataları (ör. yanan çipler) nedeniyle önemli miktarda kullanıcı verisi kaybetmeden veya veri merkezi bakım nedeniyle uzun süreli kesintiler yaşamadan milyarlarca3 Android cihazdan gelen trafiği işleyebilecek şekilde ölçeklendirilmelidir. Bu nedenle, Titan çipleri bulunan sunucular, her biri aynı anahtar materyalinin bir kopyasını içeren birkaç bağımsız THM'den oluşan kohortlara ayrılır. Belirli bir kohort, sistemin kullanılabilirlik ve güvenilirlik hedeflerini karşılayabilmesi için farklı bakım bölgelerinde fiziksel olarak farklı veri merkezlerine dağıtılır. Ölçeklenebilirlik için istemciler, mevcut kohort sayısını artırmak amacıyla daha fazla sunucu ekleyerek hizmetin kapasitesini ayarlayabilmemiz için çeşitli kohortlara bölünür.
Artık Cloud Key Vault hizmet mimarisinin ana bileşenlerini belirtmeye hazırız.
Mimari Bileşenler / Sözlük
Kilit Ekranı Bilgi Faktörü (LSKF): Kullanıcının hatırlayabileceği kısa bir PIN, 3 x 3 noktalı ızgara üzerinde kaydırma deseni veya şifre gibi bir bilgi. Bu gizli anahtar, cihazın yerel olarak kilidini açma özelliğini korumak için kullanılır ve kullanıcının yerel cihaz ekran kilidi için birincil (veya "güçlü") bir kimlik doğrulama faktörü olarak kabul edilir.
İstemci: Android 9 Pie işletim sistemini ve Google Play Hizmetleri'ni veya eşdeğer bir desteklenen yazılımı çalıştıran bir son kullanıcı cihazı.
-
Android Framework: Bu genel terimi (veya yalnızca Framework'u) Android 9 Pie veya sonraki sürümlerdeki API'leri belirtmek için kullanırız. Bu terim, önceki sürümleri belirtmek için kullanılmaz.
Google Play Hizmetleri: Son kullanıcı cihazında çalışan ve Google'ın hesap sistemi ile özel sunucu API'leriyle çalışmasını sağlayan bir hizmet ve uygulama koleksiyonudur.
Kurtarma aracısı: Android 9 Pie cihazda (veya benzer bir cihazda) kullanıcı alanında Google Play Hizmetleri kapsamında çalışan bir sistem uygulaması. Kurtarma aracısı, çeşitli protokollerin istemci tarafını yürütmekten ve LSKF'yi içeren protokol mesajları oluşturmak için gerektiğinde Android işletim sistemiyle arayüz oluşturmaktan sorumludur.
Kurtarma Talebi: Kullanıcı, Kurtarma Anahtarı'nı almak istediğinde, bildiği Genellikle kullanıcıdan, eski cihazının Kurtarma Anahtarı'na erişmeye çalışan yeni bir cihazda eski cihazının LSKF'sini girmesi istenir.
Kurtarma Anahtarı: Cloud Key Vault hizmeti tarafından korunan ve istemci cihazdaki verileri şifrelemek (ve kimliğini doğrulamak) için kullanılan kriptografik gizli anahtar. Kurtarma anahtarı bir kasaya yerleştirildikten sonra (aşağıya bakın) istemci verileri şifrelemek için anahtarı kullanmayı bıraktığında yerel kopya silinebilir.
Cloud Key Vault (CKV) Hizmeti: İstemci cihazların, kullanıcı tarafından hatırlanabilen bir LSKF ile korunan şifreleme anahtarlarını depolamasını sağlayan bir internet hizmetidir.
-
Grup: Birbirlerinin yedek kopyası olarak hizmet verebilen Apps Kasası sunucuları/THM'leri koleksiyonudur.
Grup Herkese Açık Anahtarı: Belirli bir THM grubu tarafından oluşturulan bir anahtar çiftinin herkese açık anahtarı. İlgili özel anahtar yalnızca anahtar oluşturma sırasında kohortta bulunan THM'lerde kullanılabilir.
Güvenilir Donanım Modülü (THM): Minimum ve güvenilir bir bilgi işlem ortamı sağlamak için tasarlanmış özel bir güvenlik modülü (mikrodenetleyici). Güvenli öğe, en azından gizli anahtarlar oluşturmalı ve/veya depolayabilmeli ve değişen bazı kalıcı olmayan durumları sürdürebilmelidir (böylece daha önceki bir duruma sıfırlama içeren saldırıları önleyebilir).
Kasa: CKV Hizmeti'nin veritabanında, tek bir cihazın LSKF korumalı Kurtarma Anahtarı'nı içeren belirli bir giriş. Bir son kullanıcının, her biri farklı bir cihaza veya LSKF'ye karşılık gelen birden fazla Kasası olabilir. Yalnızca Apps Kasası sunucusundaki THM, Apps Kasası'nın içeriğini inceleyebilir veya ayıklayabilir.
Depolama Alanı Sunucusu: Google veri merkezinde çalışan, Güvenilir Donanım Modülü (THM) eklemek için özel olarak sonradan donatılmış genel amaçlı bir makinedir.
Protokol Tasarımı
CKV protokolü aşağıdaki gibi çeşitli aşamalardan oluşur:
Başlatma
Google, sistemi başlatmak için Framework'in Google'ın donanım doğrulamalarını doğrulamak amacıyla kullanacağı bir "güven kökü" için ortak anahtar sağlar. Bu güven kökünün imzalama anahtarı çevrimdışı olarak saklanır ve imzalama işlemi için birden fazla çalışanın katılımını gerektirecek şekilde dikkatlice korunur. Bu güven kökünün ortak anahtarı Android OS'e yerleştirilmiştir ve yalnızca bir OS güncellemesi aracılığıyla değiştirilebilir.
Google, her THM kohortu için herkese açık anahtarların listesini ve listeye ait bir tasdik belgesini de düzenli olarak yayınlar. Listede yer alan tasdik, güven köküne geri dönen bir imza kullanır. Yayınlanan listenin her güncellemesi, geri alma işlemlerini önlemek için bir sıra numarası da içerir. Kurtarma aracısı, kohort herkese açık anahtarlarının en son yayınlanan listesini getirir ve Çerçeve'ye sağlar. Ardından Framework, tasdiklemeyi doğrular ve liste
Apps Kasası Oluşturma
Kurtarma aracısı, Grup Herkese Açık Anahtarları listesini getirerek Framework'ün İlklendirme işlemini tamamlamasına yardımcı olduktan sonra Framework'ten yeni bir Mahzen oluşturmasını ister. Kullanıcı tarafından bir sonraki kez girilen LSKF'de, Çerçeve yeni bir Kurtarma Anahtarı oluşturur ve bu anahtarı önce LSKF'nin karmasından türetilen bir anahtarla, ardından da Çerçeve tarafından İlklendirme sırasında seçilen Grup Herkese Açık Anahtarı ile şifreler. Elde edilen şifrelenmiş blob, Çerçeve tarafından Kurtarma Aracısı'na geri aktarılan ve ardından Google'ın CKV hizmetine yüklenen Apps Kasası'dır.
Apps Kasası'nı açma
Yeni cihazdaki Kurtarma Aracı'nın belirli bir Kasa'da saklanan Kurtarma Anahtarı'na erişmesi gerektiğinde, kullanıcıdan önce Kasa'yı oluşturan orijinal cihazın LSKF'sini girmesini ister. Ardından Kurtarma Temsilcisi, bu LSKF'yi kullanarak Çerçeve'den bir Kurtarma Talebi oluşturmasını ister. Çerçeve, yeni bir Hak Talep Eden Anahtarı oluşturur ve bu Hak Talep Eden Anahtarı'nın yanı sıra hak talebinde bulunulan LSKF'nin karmasını, Kasa'nın orijinal olarak şifrelenmesinde kullanılan Grup Ortak Anahtarı ile şifreler. Sonuç olarak elde edilen şifrelenmiş blob'a Kurtarma Talebi denir. Çerçeve, bu blob'u Kurtarma Aracısı'na iletir ve Kurtarma Aracısı da bu blob'u CKV hizmetine sunar.
CKV, kurtarma talebini (ve ilgili Kasası'nı) doğru kohortun parçası olan Kasa sunucularına yönlendirir. Ardından, Vault sunucularındaki THM, Kurtarma İddiası'nın şifresini çözer ve istenen LSKF karmasını kullanarak (iç şifreleme anahtarını elde etmek için) Kurtarma Anahtarı'nı orijinal Kasa'dan çıkarmaya çalışır. Orijinal LSKF karması ile hak talebinde bulunulan LSKF karması eşleşirse THM, Kurtarma Anahtarı'nı Gizli Depo'dan çıkarır ve Kurtarma Hakkı'nda bulunan Hak Talep Eden Anahtarı ile yeniden şifreler. Aksi takdirde THM, başarısız deneme sayacını artırır. Başarısız deneme sayacı sınırına ulaştığında THM, bu Kasa için sonraki Kurtarma Taleplerini işleme almayı reddeder.
Son olarak, her şey yolunda giderse yeniden şifrelenmiş Kurtarma Anahtarı (artık Hakk Talep Eden Anahtarı altında şifrelenmiştir) Vault Sunucusu'ndan Framework'e geri gönderilir. Çerçeve, Kurtarma Anahtarı'nın şifresini çözmek için Hakk Talep Eden Anahtarı'nın kopyasını kullanır ve protokol tamamlanır.
Güvenlik Önlemleri
Cloud Key Vault sistemi, yığınımızın birden fazla katmanına güvenlik korumaları ekleyerek "derinlemesine savunma" sunmayı amaçlar. Bu korumaların işleyiş şeklini açıklamak için istemciyi tanımlayarak başlayıp yığının üst kısmındaki Cloud Key Vault Hizmeti'ne kadar ilerleyeceğiz.
Müşteri Güvenliği
Kilit Ekranı Bilgi Faktörü (LSKF), OEM'ye ve cihaza bağlı olarak normalde OEM'ye göre değişen çeşitli yöntemler kullanılarak cihazda depolanır ve korunur. Örneğin, Google'ın Pixel 2 cihazları, LSKF'yi dinlenme durumunda depolamak ve LSKF doğrulamasında donanıma dayalı hız sınırlarını uygulamak için bozulmaya dayanıklı bir donanım güvenlik modülü kullanır. Cloud Key Vault'un kullanımını sağlamak için kullanıma sunulan yeni Framework API'leri, cihaz LSKF'nin depolama alanını korumak için bu tür bir donanım güvenlik modülü kullansa bile mevcut güvenlik garantilerini mümkün olduğunca korumak için tasarlanmıştır.
Bu bölümde, LSKF ile ilişkili tüm güvenlik mekanizmalarının tam bir resmini sunmak yerine, özellikle yeni Cloud Key Vault özelliğini etkileyen ilgili güvenlik sorunlarına ve korumalara odaklanacağız.
Framework API'lerinin güvenliğini sağlama
CKV hizmetini desteklemek için eklenen yeni Framework API'leri @SystemApi olarak işaretlenmiştir ve özel izinler gerektirir. Bu izinler, yalnızca Google Play Hizmetleri gibi OEM onaylı sistem uygulamaları tarafından kullanılmasını sağlar. Bu sayede, kullanıcının cihaza yüklediği uygulamalara maruz kalabileceği doğrudan saldırı yüzeyleri büyük ölçüde ortadan kaldırılır.
Framework API'leri, yalnızca bir güven kökü tarafından onaylanmış kohort ortak anahtarları için oluşturulduğundan emin olur. Güven kökü, OEM tarafından cihaz gönderilirken Framework'e yerleştirilir ve işletim sistemi güncellemesi olmadan değiştirilemez. Bu, LSKF'nin yalnızca donanım tabanlı kaba kuvvet korumalarını düzgün şekilde uygulayacak bir şifreleme kasası oluşturmak için kullanıldığına dair güven sağlar. LSKF için kaba kuvvet koruması sağlamak amacıyla Cloud Key Vault hizmetindeki THM'lerden yararlanarak, aynı amaçla cihazda güvenli donanım kullanmakla (Google Pixel 2 cihazlarda olduğu gibi) benzer bir güvenlik elde edebiliriz.
LSKF'nin güvenli donanımın dışındaki herhangi bir yerde depolanacağını varsaymadığımızdan, yeni bir Gizli Klasör yalnızca cihazın kilidi açıldıktan hemen sonra oluşturulabilir. Kullanıcı, cihazın kilidini açmak için LSKF'yi girdiğinde LSKF, RAM'de Framework'e kısa bir süreliğine sunulur. Bu, kasayı oluşturacak yeni API'nin bu anahtarı kullandığı andır. LSKF kullanılamadığı için cihaz kilitliyken yeni bir LSKF korumalı Apps Kasası oluşturulamaz.
Kurtarma aracını güvence altına alma
Kurtarma aracında sağladığımız birincil güvenlik koruması, protokolün, Kurtarma Aracısı'nın mevcut cihazın LSKF'sini veya herhangi bir Kurtarma Anahtarı'nı görmesini engelleyecek şekilde tasarlanmış olmasıdır. İstemci tarafında bu bilgileri yalnızca Framework görmelidir. Bu sayede, Kurtarma Aracısı'ndaki olası hataları veya güvenlik açıklarını kullanmak çok daha zor olur. Kurtarma aracı, çoğunlukla yaşam döngüsü etkinliklerini ve Cloud ile Framework arasında veri aktarımını yönetmek için kullanılır. Bunun tek istisnası, kullanıcının eski cihazın LSKF'sini girmesi gerektiğinde, yani Kurtarma Kasası Açma protokolünden hemen önce gerçekleşen kurtarma işlemidir. Eski cihaz için talep edilen LSKF'yi toplayan kullanıcı arayüzü, Kurtarma Aracı'nda uygulanır4. Ancak, Kurtarma Aracısı uygulaması, Kurtarma Talebi'nin oluşturulmasını Çerçeve üstlenir almaz hak talebinde bulunulan LSKF'yi "unutur".
Protokolün Güvenlik Özellikleri
Protokolün tam analizi bu dokümanın kapsamına girmiyor olsa da protokole dahil edilmiş korumalardan birkaçını vurgulamak istiyoruz. Özellikle, protokolde her aşamada yalnızca LSKF'nin karması kullanılır. Bu, LSKF'nin entropisi yüksekse (ör.iyi bir yüksek entropili şifreyse) Kasayı depolamak, şifre karmasını depolamaktan kesinlikle daha iyidir. Bu durumda şifre karması, THM'lerin güvenliğinden bağımsız bir güvenlik ölçütü sağlayabilir. Bu nedenle, protokol kapsamında LSKF'nin tuzlanmış "hafızaya zor" karma oluşturma işlemini destekliyoruz. Ayrıca, şifrelemeyle, Kasayı oluşturan cihazın tanımlayıcısına bağlar ve Kurtarma İddiası'nın güncel olduğundan emin olmak için Kurtarma İddiası'nı, Kasa Açma protokolü sırasında istem olarak kullanılan tek seferlik bir değere bağlarız.
Kurtarma anahtarı her Apps Kasası oluşturulduğunda yeni oluşturulur. Bu nedenle, mevcut bir Apps Kasası girişinin üzerine yeni oluşturulmuş bir Apps Kasası yazarak anahtar rotasyonunu uygularız. Şifreleme Kasası tarafından kullanılan başarısız deneme sayacı adresi, Şifreleme Kasası oluşturulurken seçilir ve Çerçeve, LSKF değiştirilmediği veya yeni bir Grup Herkese Açık Anahtarı listesi onaylanmadığı sürece sonraki Şifreleme Kasaları için kullanılan sayaç adresinin değişmemesini sağlar. Bu nedenle, kurtarma anahtarının rotasyonu, LSKF'nin kaba kuvvet korumasına zarar vermeden yapılabilir.
Cloud Key Vault Hizmeti için Sunucu Güvenliği
Sunucu, sıradan sunucu donanımında çalışan yazılım ve özel donanımda (Titan çipi) çalışan donanım yazılımının bir kombinasyonu kullanılarak uygulanır. Her katmanda sunulan korumaları açıklayacağız.
Donanım korumaları
CKV hizmetinin sunucu tarafında uygulanan birincil güvenlik koruması, Google'ın özel olarak tasarlanmış Titan çipleri kullanılarak oluşturulan Güvenilir Donanım Modülleri'dir (THM). Çiplerde, CKV protokollerini uygulamak için gerekli API'leri gösteren donanım yazılımı çalışır. Özellikle, bir anahtar çifti oluşturup bu çifti kohortlarının diğer üyeleriyle güvenli bir şekilde paylaşabilirler. Bu sayede, donanım yazılımı mantığı özel anahtarı kohorttaki Titan çiplerinin dışına sızmasını önler. Ayrıca, Apps Kasası açma işlemini gerçekleştirebilir ve başarısız denemelerin Apps Kasası başına kesinlikle artan bir sayıcısını (sayıcı, Titan çipinde depolanan durumla desteklenir) tutabilir. CKV Titan çip donanım yazılımı tarafından yürütülen protokolün daha ayrıntılı bir açıklaması bu dokümanın gelecekteki bir sürümünde sağlanacaktır.
Sunucu güvenliğinin Titan çiplerindeki donanım yazılımı mantığından kaynaklandığı göz önüne alındığında, mantığın çiplerin gizli bilgileri sızdırmasına veya sayaç sınırlarını yok saymasına izin verecek şekilde değişmediğinden emin olmamız gerekir. Bu hedefe ulaşmak için Titan önyükleme yükleyicisinde de değişiklik yaparak çipin depoladığı verilerin (ör. kohortun özel anahtarı) herhangi bir güncelleme uygulanmadan önce tamamen silinmesini sağlıyoruz. Bu korumanın dezavantajı, donanım yazılımındaki hataları düzeltirken bazı veri kayıpları yaşamamızdır. Donanım yazılımını güncellemek, işlevsel olarak mevcut donanımı imha edip yeni çiplerle değiştirmeye eşdeğerdir. Kritik bir donanım yazılımı yaması gerektiğinde Google'ın, onaylanmış kohort herkese açık anahtarlarının tamamen yeni bir listesini oluşturup yayınlaması ve tüm kullanıcıları kademeli olarak yeni listeye taşıması gerekir. Bu riski azaltmak için donanım yazılımı kod tabanını oldukça küçük tutmaya ve olası güvenlik sorunları açısından dikkatlice denetlemeye çalışıyoruz.
Yazılım korumaları
CKV hizmeti, THM'ler tarafından uygulanan kasa başına katı hata sınırlarına ek olarak yazılım tabanlı hız sınırlamasını da uygular. Hız sınırlaması, bir bilgisayar korsanının kullanıcının hesabına girmesini ve başarısız kurtarma denemelerinin sınırını hızlıca tüketmesini engelleyerek gerçek kullanıcının kurtarma anahtarlarına erişimini etkili bir şekilde engellemek için tasarlanmıştır. Ekran kilidini açma denemeleri çok kez başarısız olduğunda kullanıcının cihazı tarafından uygulanan zaman gecikmeleri gibi, CKV hizmeti de her başarısız Kayıt Defteri Açma isteğinden sonra artan bir zaman gecikmesi uygular.
Ayrıca, kullanıcı verilerini barındıran Cloud hizmetleri için katı erişim kontrolleri, izleme ve denetim dahil olmak üzere standart güvenlik önlemleri uygularız.
Ayrıntılı Protokol Spesifikasyonu
Ayrıntılı protokol spesifikasyonu hâlâ devam etmektedir. Bu belge, istemci kodunun bu yılın ilerleyen dönemlerinde Android Açık Kaynak Projesi'nde yayınlanmasıyla birlikte bu ayrıntıları içerecek şekilde güncellenecektir.
Notlar
- "Towards Reliable Storage of 56-bit Secrets in Human Memory | USENIX." 1 Ağustos 2014, https://www.usenix.org/node/184458. ↩
- "Google Cloud Platform Blog: Titan in depth: Security in plaintext." 24 Ağustos 2017, https://cloudplatform.googleblog.com/2017/08/Titan-in-depth-security-in-plaintext.html. ↩
- "Google, Android'de aylık 2 milyardan fazla etkin cihaz olduğunu duyurdu." 17 Mayıs 2017, https://www.theverge.com/2017/5/17/15654454/android-reaches-2-billion-monthly-active-users. ↩
- Bu sayede, başka bir cihazın LSKF'sini girmek için esnek kullanıcı arayüzleri sağlayabiliriz. Mevcut cihazın çerçevesinde, eski cihazın LSKF'sini girmek için uygun bir kullanıcı arayüzü olmayabilir. ↩