日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从物联网设备生命周期理解Apple Homekit框架

發布時間:2025/4/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从物联网设备生命周期理解Apple Homekit框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本次筆記主要基于蘋果公開的HomeKit Accessory Protocol協議文檔和IOS Security Guide中相關部分。

總體來講,設備與App之間采用端到端的加密,密鑰由設備和App自己協商存儲,云只負責在云上維護身份并且轉發消息給客戶端。用戶的控制分為兩部分,一部分是云端控制,一部分是設備自己存儲憑據控制。這個分布式的訪問控制系統不可避免的存在一些同步上的瑕疵。

1. 發現與綁定

(1)使用IP地址的設備要求支持Bonjour來發現設備。Bonjour是在局域網中尋找服務的一個主要方法。這項技術廣泛用于Mac OS X,允許用戶不用在任何設置下建立一個網絡連接。

(2)設備與App用戶的綁定稱為pair(配對)過程。配對的結果就是設備與App互相交換了自己生成的公鑰并且存儲,利用公鑰來進行未來的身份認證。簡要概括如下(忽略細節):

a. 設備生成(或固定)一個setup code,形如101-22-333,App需要通過某種第三方渠道(如掃設備上的二維碼)獲得這個碼來開始配對過程。開始配對時設備要驗證App發來的setup code是否正確。

b. 通過蘋果廠商級認證的設備會有一個證書類似的東西,在配對開始時給App,否則App會提示設備未認證,需要用戶確認風險并點擊繼續。

c. App和設備各生成一個公私鑰對,通過密碼算法進行交換,然后存儲起來作為未來認證配對的依據,即這個公鑰就是身份。至此與設備配對結束。

d. 設備通過某種方式映射到了iCloud中。設備、家庭、用戶數據可以在iCloud中加密同步。在iCloud中用戶有home的單位來管理設備和其他用戶。

(3)注意:設備被綁定后(有至少一個管理員)賬號后,會拒絕其他用戶綁定。設備會上報自己的設備ID給App,設備ID協議中要求每次重置更新。

2. 控制

(1) 局域網控制:局域網控制利用綁定過程中商定的公鑰來做身份認證,之后協商出加密密鑰來保持長連接通信。

(2)遠程控制:設備只與家中的Hub通信(僅apple TV、ipad可以作為hub)。利用某種機制,用戶通過iCloud將要做的請求發給在家中局域網的Hub(ipad),由ipad代為操作控制設備。(產生了個疑問,主人用手機綁定了設備,手機和ipad共享的是一個私鑰身份嗎?)

3. 分享與取消分享

?談到分享,首先講一下Homekit的用戶管理控制。設備上存有各個用戶的名字和公鑰,每個用戶有對應的管理員標志位。只有管理員才可以進行用戶管理操作,

(1)分享:官方正常App操作流程中,(猜測)利用iCloud分享出公私鑰給被分享者,同時給設備添加該公鑰到用戶列表中,將被分享用戶添加至iCloud的home中。在有hub的情況下,主人可以將用戶設置成管理員;但是在設備中并沒有將該用戶設置成管理員,被分享用戶需要添加別的用戶時,只能是在iCloud上添加,然后主人的hub代為執行添加用戶的操作。所以homekit有個缺點,必須擁有hub才能將分享用戶設置為管理員;同時這也保證了安全:用戶App中可以通過云來管控所有的授權用戶,而杜絕了被分享用戶偷偷地在局域網添加與操作訪問控制。

(2)取消分享:官方App中,首先會通過iCloud的home中刪除被分享用戶,然后再局域網通知設備讓設備刪除該用戶的public key。但是,這兩部是分開執行的,若刪除用戶時主人不能與設備通信,則僅會刪除云中的用戶,App會在跟設備再次建立連接時執行操作。也就是說這兩方的刪除同步上存在問題,不過安全風險很小,App會記得保留狀態只要能和設備通信就刪除那個用戶。

?

4. 刪除設備

主人在云端刪除該設備,同時給設備發送刪除自己的命令。當設備判斷用戶列表中沒有管理員后,會刪除所有的用戶。

注意只有管理員才能在設備上刪除用戶,所以由于被分享者不是管理員,他不能從設備上刪除自己。因此,被分享者刪除自己其實只是退出了iCloud上的home,主人app界面中的home仍然可以看到該用戶在,因為畢竟設備上的密鑰還沒刪,其實被分享者是可以控制的。

?

?

By Ascii0x03,轉載請注明出處:https://www.cnblogs.com/ascii0x03/p/11198608.html

轉載于:https://www.cnblogs.com/ascii0x03/p/11198608.html

總結

以上是生活随笔為你收集整理的从物联网设备生命周期理解Apple Homekit框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。