
Hesap kurtarma kişisinin güvenliği
Kullanıcılar, İleri Düzey Veri Koruma’yı açmış olsalar da olmasalar da, uçtan uca şifrelenen verilerinin tümü de dahil olmak üzere iCloud hesaplarını ve verilerini kurtarmalarına yardımcı olması için hesap kurtarma kişileri olarak güvendikleri en fazla beş kişiyi ekleyebilir. Ne Apple ne de kurtarma kişisi, kullanıcının uçtan uca şifrelenen iCloud verilerini kurtarmak için gereken bilgilere sahiptir.
Kurtarma Kişisi, kullanıcı gizliliği düşünülerek tasarlanmıştır. Kullanıcının seçtiği kurtarma kişileri Apple tarafından bilinmemektedir. Apple sunucuları, bir kurtarma kişisi hakkında bilgiyi yalnızca bir kurtarma girişimi sürecinin sonlarında, kullanıcının kişiden yardım istemesi ve bu kişinin gerçekten kurtarmaya yardım etmeye başlaması sonrasında edinir. Bu bilgi, kurtarma tamamlandıktan sonra tutulmaz.
Kurtarma kişisi güvenlik işlemi
Kullanıcı bir Hesap Kurtarma Kişisi ayarladığında, bu kişiyle ilişkili bir anahtar oluşturulur. Bu anahtar, uçtan uca şifrelenen iCloudKit verileri de dahil olmak üzere kullanıcının iCloud verilerine erişimi korur. Sonra, rasgele bir 256 bit AES anahtarı oluşturulur ve Kurtarma Kişisi Paketi yaratmak amacıyla Kurtarma Kişisi anahtarını şifrelemek için kullanılır. Şifrelenen paket, koruma amacıyla Kurtarma Kişisi’ne gönderilir ve rasgele AES anahtarı Apple ile saklanır. Ne AES anahtarı ne de paket kendi kendine temeldeki anahtar hakkında hiçbir bilgi sağlayamaz. Kurtarma zamanında, kullanıcının aygıtı hem kurtarma kişisinden Kurtarma Kişisi Paketi’ni hem de Apple’dan AES anahtarını başarılı bir şekilde aldıktan sonra ikisini birleştirerek özgün anahtarı kurtarabilir ve kullanıcının iCloud verilerine erişebilir.
Hesap Kurtarma Kişisi ayarlamak için kullanıcının aygıtı Apple sunucularıyla iletişim kurar ve anahtar (yukarıda bahsedilen AES anahtarı) bilgilerinin Apple’da tutulacak kısmı karşıya yüklenir. Daha sonra da kurtarma kişisi ile uçtan uca şifreli CloudKit kapsayıcısı oluşturulur ve kurtarma kişisinin ihtiyacı olan bölüm paylaşılır (AES anahtarı kullanılarak şifrelenen Kurtarma Kişisi Paketi). Apple tarafından yaratılan yetkilendirme sırrı da kurtarma kişisi ile paylaşılır. Bu, hesabı kurtarmak ve hesaptaki parolayı sıfırlamaya yardımcı olmak için kullanılır. Kurtarma kişilerini davet etme ve kabul etme iletişimi, ortak olarak kimliği doğrulanan bir IDS kanalı yoluyla gerçekleşir. Kurtarma kişisi alınan bilgileri otomatik olarak kendi iCloud Anahtar Zinciri’nde saklar. Apple, bu bilgileri saklayan CloudKit kapsayıcısının veya iCloud Anahtar Zinciri’nin içeriğine erişemez. Paylaşma gerçekleştiğinde Apple sunucuları kurtarma kişisi için yalnızca anonim bir kimlik görüntüler.
Daha sonra kullanıcının, hesabını ve iCloud verilerini kurtarması gerektiğinde kurtarma kişisinden yardım istenebilir. O anda, kurtarma kişisinin aygıtı tarafından bir kurtarma kodu oluşturulur, kurtarma kişisi de bu kodu kullanıcıya bant dışında (örneğin şahsen ya da telefon araması üzerinden) sağlar. Kullanıcı daha sonra SPAKE2+ protokolünü kullanarak aygıtlar arasında güvenli bir bağlantı kurmak için aygıtında bu kurtarma kodunu girer; Apple bu kodun içeriğine erişemez. Bu etkileşim Apple sunucuları tarafından yönetilir ancak Apple kurtarma işlemini başlatamaz.
Güvenli bağlantı kurulduktan ve tüm gerekli güvenlik denetlemeleri tamamlandıktan sonra, kurtarma kişisinin aygıtı anahtar bilgisinin kendisinde olan bölümünü ve daha önce oluşturulmuş yetkilendirme sırrını kurtarmayı isteyen kullanıcıya döndürür. Kullanıcı bu yetkilendirme sırrını bir Apple sunucusuna sunar, böylece Apple tarafından tutulan anahtar bilgilerine erişmesini sağlar. Yetkilendirme sırrının sunulması, hesap erişimini geri yüklemek için hesap parolasını sıfırlamayı da yetkilendirir.
Son olarak kullanıcının aygıtı Apple’dan ve Hesap Kurtarma Kişisi’nden alınan anahtar bilgilerini yeniden birleştirir ve bunu iCloud verilerinin şifresini çözüp verileri kurtarmak için kullanır.
Kurtarma kişisinin kullanıcının onayı olmadan bir kurtarma başlatmasını engellemek için bazı önlemler vardır. Bunların arasında kullanıcı hesabında canlılık denetimi sayılabilir. Hesap etkin bir şekilde kullanılıyorsa Kurtarma Kişisi kullanarak kurtarmak için son aygıt parolasının veya iCloud Güvenlik Kodu’nun bilinmesi de gerekir.