HomeKit 資料安全性
可以使用 iCloud 和 iCloud 鑰匙圈,在同一名使用者的 iOS、iPadOS 和 macOS 裝置間安全地更新 HomeKit 資料。在此期間,HomeKit 資料會使用從使用者 HomeKit 身分與隨機數衍生的密鑰來進行加密,並以不透明二進位大型二進位物件(或稱為 blob)來處理。最近的物件會儲存在 iCloud 中,但不會用於任何其他用途。因為它是使用僅可於使用者 iOS、iPadOS 和 macOS 裝置上取得的密鑰進行加密,因此它的內容在傳輸與 iCloud 儲存期間是無法存取的。
HomeKit 資料也會在同一家庭的多位使用者間進行同步。此處理會使用認證與加密,就像 iOS、iPadOS 和 macOS 裝置與 HomeKit 配件間使用的一樣。認證是以 Ed25519 公用密鑰為基礎,當使用者加入家庭時,便會在裝置間交換這些密鑰。在新使用者加入家庭後,所有進一步的通訊都會使用端到端的通訊協定與每一作業階段的密鑰進行認證和加密。
一開始在 HomeKit 中建立家庭的使用者或具有編輯權限的其他使用者可以新增使用者。擁有者的裝置會使用新使用者的公用密鑰來設定配件,以便讓配件可認證和接受來自新使用者的指令。當具有編輯權限的使用者新增使用者時,系統便會將此程序委派至家庭中樞以完成操作。
HomeKit 和 Apple TV
當使用者登入 iCloud 時,便會自動執行佈建 Apple TV 的程序以搭配 HomeKit 使用。iCloud 帳號需要啟用雙重認證。Apple TV 與擁有者的裝置會透過 iCloud 交換臨時 Ed25519 公用密鑰。當擁有者的裝置與 Apple TV 連接相同區域網路時,臨時密鑰會使用端到端的通訊協定與各區段的密鑰來保護區域網路的連線。此處理會使用認證與加密,就像 iOS、iPadOS 和 macOS 裝置與 HomeKit 配件間使用的一樣。透過安全的區域網路,擁有者的裝置會將使用者的 Ed25519 公用密鑰與專用密鑰的組合傳送至 Apple TV。這些密鑰之後會用來保護 Apple TV 與 HomeKit 配件間的通訊,還有 Apple TV 和其他 iOS、iPadOS 和 macOS 裝置(HomeKit 家庭的一部分)間的通訊。
若使用者沒有多部裝置,且並未將其家庭的存取權限授予其他使用者,便不會將 HomeKit 資料傳輸至 iCloud。
家庭資料與 App
App 對家庭資料的存取權是受使用者的「隱私權」設定所控制。當 App 要求提供家庭資料時,系統會要求使用者會授予存取權,過程類似於要求提供「聯絡人」、「照片」和其他 iOS、iPadOS 和 macOS 資料來源。若使用者核准,App 便可存取房間的名稱、配件名稱、每個配件所在的房間,以及 HomeKit 開發者說明文件中所載明的其他詳細資訊,網址為:https://developer.apple.com/homekit/。
本機資料儲存
HomeKit 會在使用者的 iOS、iPadOS 和 macOS 裝置上儲存家庭、配件、情境和使用者的相關資料。儲存的資料會透過自使用者 HomeKit 身分密鑰所衍生的密鑰加上隨機數來進行加密。此外,系統會使用「初次使用者認證前保護」這個「資料保護」類別來儲存 HomeKit 資料。HomeKit 資料只會備份在經過加密處理的備份檔案中,因此,諸如透過 USB 備份至 Finder(macOS 10.15 或以上版本)或 iTunes(macOS 10.14 或較早版本)的未加密備份,就不會包含 HomeKit 資料。