HomeKit iletişim güvenliği
HomeKit, özel verileri Apple’a ifşa etmeden korumak ve eşzamanlamak için iCloud’u ve iOS, iPadOS ve macOS güvenliğini kullanan bir ev otomasyon altyapısı sağlar.
HomeKit kimliği ve güvenliği, Ed25519 açık-gizli anahtar çiftlerini taban alır. Her HomeKit kullanıcısı için iOS, iPadOS ve macOS aygıtında oluşturulan Ed25519 anahtar çifti kullanıcının HomeKit kimliği hâline gelir. Bu kimlik; iOS, iPadOS ve macOS aygıtları arasındaki ve iOS, iPadOS ve macOS aygıtlarıyla aksesuarlar arasındaki iletişimde kimlik doğrulaması yapmak için kullanılır.
Anahtarlar (anahtar zincirinde saklanır ve yalnızca şifreli anahtar zinciri yedeklemelerine dahil edilir), aygıtlar arasında varsa iCloud Anahtar Zinciri kullanılarak güncel tutulur. HomePod ve Apple TV, dokun-ayarla’yı ya da aşağıdaki açıklanan ayarlama modunu kullanarak anahtarları alır. Anahtarlar bir iPhone’dan eşlenen bir Apple Watch’a Apple Kimlik Servisi (IDS) kullanılarak paylaşılır.
HomeKit aksesuarları arasında iletişim
HomeKit aksesuarları; iOS, iPadOS ve macOS aygıtlarıyla iletişimde kullanmak üzere kendi Ed25519 anahtar çiftini oluşturur. Aksesuar fabrika ayarlarına döndürüldüğü takdirde, yeni bir anahtar çifti oluşturulur.
iOS, iPadOS ve macOS aygıtıyla HomeKit aksesuarı arasında bir ilişki kurmak için aksesuarın üreticisi tarafından sağlanan ve kullanıcı tarafından iOS veya iPadOS aygıtına girilen sekiz basamaklı kodun ChaCha20-Poly1305 AEAD kullanılarak HKDF-SHA512 ile türetilen anahtarlarla şifrelenmesinin ardından Güvenli Uzaktan Parola (3072 bit) protokolü kullanılarak anahtar alışverişi yapılır. Aksesuarın MFi sertifikası da ayarlama sırasında doğrulanır. MFi yongası olmayan aksesuarlar için, iOS 11.3 veya daha yenisinde yerleşik yazılım kimlik doğrulaması desteği bulunabilir.
Kullanım sırasında iOS, iPadOS ve macOS aygıtıyla HomeKit aksesuarı iletişim kurduğunda, her biri diğerinin kimliğini yukarıda belirtilen işlemde alınıp verilen anahtarları kullanarak doğrular. Her oturum, İstasyondan İstasyona (STS) protokolü kullanılarak kurulur ve oturum için Curve25519 anahtarlarını taban alarak HKDF-SHA512 ile türetilen anahtarlarla şifrelenir. Bu hem IP tabanlı aksesuarlar hem de Bluetooth Düşük Enerji (BLE) aksesuarları için geçerlidir.
Yayın bildirimlerini destekleyen BLE aygıtları için, eşlenen bir iOS, iPadOS ve macOS aygıtı tarafından güvenli bir oturum üzerinden aksesuara yayın şifreleme anahtarı sağlanır. Bu anahtar, BLE duyuruları kullanılarak bildirilen, aksesuardaki durum değişiklikleri hakkında verileri şifrelemek için kullanılır. Yayın şifreleme anahtarı bir HKDF-SHA512 türetilen anahtarıdır ve veriler ChaCha20-Poly1305 AEAD algoritması kullanılarak şifrelenir. Yayın şifreleme anahtarı iOS, iPadOS ve macOS aygıtı tarafından düzenli aralıklarla değiştirilir ve HomeKit veri güvenliği’nde açıklanan şekilde iCloud kullanılarak diğer aygıtlarda güncellenir.
HomeKit ve Siri
Aksesuarları sorgulamak, denetlemek ve ortamları etkinleştirmek için Siri kullanılabilir. Siri’ye ev konfigürasyonuna ilişkin minimum bilgi (komut tanıma için gerekli olan oda, aksesuar ve ortam adları) anonim olarak sağlanır. Siri’ye gönderilen sesler, belirli aksesuarları veya komutları belirtebilir ama bu tür Siri verileri HomeKit gibi diğer Apple özellikleriyle ilişkilendirilmez.
Siri özelliği etkinleştirilmiş HomeKit aksesuarları
Kullanıcılar, Ev uygulamasını kullanarak Siri özelliği etkinleştirilmiş aksesuarlarda Siri gibi yeni özellikleri ve sayaç, alarm, diyafon ve kapı zili gibi diğer HomePod özelliklerini etkinleştirebilir. Bu özellikler etkinleştirildiğinde, aksesuar bu Apple özelliklerini barındıran yerel ağdaki eşlenmiş bir HomePod ile uyumlu olur. Hem HomeKit hem de AirPlay protokolleri kullanılarak şifrelenmiş kanallar üzerinden aygıtlar arasında ses alışverişi olur.
Hey Siri’yi Dinle açıldığında, aksesuar yerel olarak çalıştırılan başlatma ifadesi algılama motorunu kullanarak “Hey Siri” ifadesini dinler. Bu motor ifadeyi algılarsa, ses çerçevelerini HomeKit’i kullanarak doğrudan eşlenen HomePod’a gönderir. HomePod seste ikinci bir denetim yapar ve ifade başlatma ifadesini içermiyor gibi görünüyorsa ses oturumunu iptal edebilir.
Siri için Dokun açıldığında, kullanıcı Siri ile bir konuşma başlatmak için aksesuarda bunun için ayrılmış bir düğmeye basabilir. Ses çerçeveleri doğrudan eşlenen HomePod’a gönderilir.
Siri’nin başarılı bir şekilde çağrılması algılandıktan sonra HomePod sesi Siri sunucularına gönderir ve HomePod’da yapılan kullanıcı çağrılarında uyguladığı ile aynı güvenlik, gizlilik ve şifreleme korumalarını kullanarak kullanıcının isteğini yerine getirir. Siri’de bir ses yanıtı varsa, Siri’nin yanıtı bir AirPlay ses kanalı üzerinden aksesuara gönderilir. Bazı Siri istekleri için kullanıcıdan ek bilgiler gerekir (örneğin, kullanıcının daha fazla seçenek duymak isteyip istemediğini sormak). Bu durumda, aksesuar kullanıcıya sorulması gerektiğine dair bir belirti alır ve ek ses HomePod’da yayınlanır.
Aksesuar etkin olarak dinlediği sırada kullanıcıya göstermek için görsel bir göstergeye (örneğin, bir LED gösterge) sahip olması gerekir. Aksesuar, ses yayınlarına erişim dışında Siri isteğinin amacıyla ilgili bilgiye sahip değildir ve aksesuarda hiçbir kullanıcı verisi saklanmaz.