
Durum Denetleme güvenliği
Durum Denetleme; kullanıcının, desteklenen aygıtı önceden belirlenmiş bir hedefe varmadığında haberdar edilecek bir kişi seçmesine olanak tanır. Kullanıcı, Durum Denetleme’yi başlatacağı bir kişi seçtiğinde o kişiye hedef de dahil olmak üzere oturumla ilgili ayrıntılar içeren bir iMessage gönderilir. Oturumu başlatan kullanıcının aygıtı, bir erişim jetonu ve Durum Denetleme şifreleme anahtarı da oluşturur. Durum Denetleme şifreleme anahtarı, ikinci bir iMessage ile gönderilir ancak bu mesaj hemen teslim edilmek yerine iMessage sunucularında tutulur. Bu mesaj, kullanıcı ile kullanıcının belirttiği kişi arasında uçtan uca şifrelenmiş olduğu için içeriğine Apple tarafından ulaşılamaz.
Oturumu başlatan kullanıcının aygıtı hedefine doğru ilerlerken iMessage sunucularına düzenli aralıklarla bir kalp atışı mesajı gönderir; bu da Durum Denetleme şifreleme anahtarı mesajının teslim edilmesinden önceki son kullanma zamanını uzatır. Aygıt kapatılırsa veya bağlantısı kesilirse iMessage sunucuları, son kullanma zamanı geldiğinde şifreleme anahtarını içeren iMessage’ı kişiye otomatik olarak yayımlar. Durum Denetleme şifreleme anahtarı mesajı, aygıt hedefe doğru ilerleme kaydetmiyorsa da yayımlanabilir. Bu şekilde yayımlandığında erişim jetonu da dahil edilir.
Durum Denetleme oturumu sırasında, oturumu başlatan kullanıcının aygıtı ilgili Durum Denetleme verilerini (örneğin konumu ve pil düzeyini) düzenli aralıklarla toplar, Durum Denetleme anahtarıyla şifreler ve iCloud’a yükler. Apple’ın Durum Denetleme anahtarına erişimi yoktur ve Apple, karşıya yüklenen verilere de erişemez.
Durum Denetleme oturumunun bitirilmesi için kullanıcının kimliğini doğrulaması gerekir. Kullanıcı oturumdan vazgeçerse şifreli veriler ve Durum Denetleme şifreleme anahtarını içeren iMessage, sunucudan güvenli bir şekilde silinir.
Durum Denetleme aygıtı hedefine beklendiği şekilde varmadıysa veya ayarlanan sayacın süresi dolduysa seçilen kişi, Durum Denetleme şifreleme anahtarını içeren iMessage’ı alır. İki senaryoda bu durumla karşılaşılabilir:
Bağlantı kesildikten sonra: Bu durumda, belirtilen kişide erişim jetonu yoktur ve kişinin aygıtı, son kalp atışından bu yana yeterli süre geçip geçmediğini belirlemek için ikinci bir denetim gerçekleştirir. Kişinin aygıtı, şifreli Durum Denetleme verilerini sunucudan ister; sunucu da son kalp atışından bu yana yeterince zaman geçtiğini doğrulamak için üçüncü bir denetim gerçekleştirir. Öyleyse sunucu, şifreli Durum Denetleme verilerini kişiye sağlar ve kişi de kendi Durum Denetleme anahtarıyla bunların şifresini çözebilir.
Kullanıcının aygıtı, hedefine doğru ilerleme kaydetmediğini belirledikten sonra: Bu durumda kullanıcı, kendisine sorulduğunda Durum Denetleme’den vazgeçmediği veya Durum Denetleme’yi uzatmadığı sürece belirtilen kişiye hem erişim jetonu hem de Durum Denetleme şifreleme anahtarı sağlanır. Kişinin aygıtı, erişim jetonunu sunucuya sağlayarak şifreli Durum Denetleme verilerinin indirilmesine olanak tanır. Verilerin şifresi de Durum Denetleme anahtarıyla çözülebilir.