Authenticating Emergent Commands for the μTesla Protocol in Sensor Networks 陳文輝 銘傳大學資訊管理學系
報告內容 感測器網路 認證基地台的廣播命令 μTesla 認證協定 認證基地台的緊急命令 結論
感測器網路 由基地台與眾多的感測器組成 每個感測器很小,能偵測溫度、溼度等 感測器的數目從數千到數百萬都有 感測器的內部:(Berkeley) CPU, TinyOS, Free Memory, Atena, Sensor, Battery 應用:軍事、商業、醫學等
感測器網路的通訊 基地台傳遞指令到特定的感測器 基地台廣播指令
感測器將資料傳回
報告內容 感測器網路 認證基地台的廣播命令 μTesla 認證協定 認證基地台的緊急命令 結論
每個感測器要認證從基地台 廣播的指令 駭客可能假冒基地台送假指令
以對稱密碼為基礎的認證模式 任何一個感測器被破解,則基地台的指令便可被假冒
非對稱認證 有兩個密碼,一個密碼只有基地台知道叫做私鑰( Key) 另一個密碼公告給所有感測器,叫做公鑰(Public Key) 凡是用公鑰解得開的,一定是用私鑰加密的,而私鑰只有基地台有,所以指令是基地台送的 成本太高
報告內容 感測器網路 認證基地台的廣播命令 μTesla 認證協定 認證基地台的緊急命令 結論
基地台的準備動作 先產生一個密碼鏈(Key Chain) 將k1 預先安置在每個感測器內 產生一個亂數值 Kn Hash 是一個單向的雜碎函數 kn-1 = hash(kn), Kn-2 = hash(kn-1), ..., k1 = hash(k2) k1, k2, k3, ..., kn 就是一個 key chain 將k1 預先安置在每個感測器內 把廣播時間切割成為n個區段,每個區段使用不同的key來產生MAC認證碼
基地台的廣播動作 Slot 1 2 3 4 廣播 m1 m2 m3 m4 MAC(m1,k1) MAC(m2,k2) MAC(m3,k3) MAC(m4,k4) k2 k3 Slot 1 感測器收到指令 m1,用預存的k1去認證MAC(m1,k1) Slot 2 感測器收到指令 m2,將m2, MAC(m2,k2) 儲存 Slot 3 感測器收到k2,先確定 hash(k2) = k1 再用 k2去認證 MAC(m2, k2)
延遲認證 m2 m3 m4 MAC(m2,k2) MAC(m3,k3) MAC(m4,k4 Delay > 訊息最長的傳播時間 Delay k2 Delay > 訊息最長的傳播時間 駭客在 Slot4 知道 k2, 但他無法逆時光去產生MAC(m2, k2)
報告內容 感測器網路 認證基地台的廣播命令 μTesla 認證協定 認證基地台的緊急命令 結論
緊急指令 μTesla 認證協定需要延遲認證 某些指令,必須要立刻被認證、執行
我的方法 假設基地台支援三個緊急指令 A, B, C. 運用hash functions Ha, Hb, Hc 產生key chains ka1, ka2, ..., kan kb1, kb2, ..., kbn kc1, kc2, ..., kcn 預先安置 ka1, kb1, kc1 感測器收到kb2,檢查Hb(kb2) = Hb(kb1) ? 如果是表示基地台下達指令 B Tesla 是利用key 來認證指令,我們則直接把key當作指令
安全分析:Replay Attack The hacker speeds the arrival of ka2 The sensor just drops ka1 Packet Lost?
Packet Loss for a Short Work Period Sensor 的運作時程 [Sleep ][Work ][Sleep ][Work ][Sleep] Replaying the same command in the same work period won't hurt the system 進入work period 前基地台先送一個Beacon 表示在上個work period 送了多少命令 Beacon 也是用 multiple key chain的觀念產生
Packet Loss for a Long Work Period Divide each slot into time pieces Work Period [T1 ][T2 ][T3 ][T4 ] Create a key chain for each time piece 預先安置 r*s的k1 在每個感測器,r是每個work period 的time piece數,s是有多少個緊急指令
報告內容 感測器網路 基地台認證問題 μTesla 通訊協定 認證緊急命令 結論
限制 高錯誤率時 緊急指令數目多時