隨著我們越來越深入物聯(lián)網(wǎng)(IoT)領域,無論是新技術還是現(xiàn)有的技術,對安全這一問題的關注從未停止過。如果用戶和提供商數(shù)據(jù)存在任何風險,那么靈活性、能源效率和互通性等優(yōu)勢便無從談起。大多數(shù)技術都稱自己具有更高的安全性,那么細說到藍牙m(xù)esh網(wǎng)絡,它的安全性又體現(xiàn)在何處呢?
安全性是藍牙m(xù)esh網(wǎng)絡設計的核心,每個數(shù)據(jù)包都必須經(jīng)過加密和驗證。對于大多數(shù)藍牙技術應用,您可以在開發(fā)產(chǎn)品時自定義網(wǎng)絡安全性,這在采用單一設備連接的情況下很常見。然而,由于藍牙m(xù)esh網(wǎng)絡建立在成千上萬臺設備間進行相互通信,因此要確保整體網(wǎng)絡的安全性,需要采取額外的措施和方法。
藍牙m(xù)esh的安全性能夠保護您的網(wǎng)絡,避免各層中可能遇到的各種威脅或問題,包括中繼攻擊、中間人攻擊和垃圾桶攻擊。中繼攻擊可通過正確使用序列號來防止;中間人攻擊可通過非對稱性加密來防止,比如在重要程序中采用的橢圓曲線Diffie -Hellman(ECDH)密鑰協(xié)議;來自廢棄設備的垃圾桶攻擊能通過在必要時刷新安全密鑰來防止。
藍牙m(xù)esh是唯一基于強制性安全密鑰構建的網(wǎng)絡拓撲結構,能夠在協(xié)議棧的多個層級上對網(wǎng)絡進行保護。設備密鑰(DevKey)讓您擁有授權,能夠對節(jié)點進行啟動配置(provisioning)和配置,將設備添加到網(wǎng)絡;藍牙特有的應用密鑰(AppKey)能夠保護與特定應用相關的消息,例如照明、物理安全、溫控等應用;網(wǎng)絡密鑰(NetKey)適用于網(wǎng)絡上的所有消息,能讓節(jié)點(Node)之間安全地進行相互通信。
如果將節(jié)點從藍牙m(xù)esh網(wǎng)絡中移除,則設備及其包含的密鑰就無法發(fā)動攻擊。您可以將該節(jié)點添加到黑名單中,防止它在密鑰刷新時接收新的安全密鑰。這樣,從網(wǎng)絡中移除的包含舊安全密鑰的節(jié)點就不再是網(wǎng)絡成員,也不會構成威脅,無法用于發(fā)動垃圾桶攻擊(Trash Can attack)。
在中繼攻擊中,竊聽設備會攔截并捕獲一條或多條中繼消息,然后用于轉發(fā)。這將會欺騙消息接收設備,讓它執(zhí)行來自未授權設備的操作。常見的例子就是汽車的無鑰匙訪問系統(tǒng),當認證序列被攔截時,這一訪問系統(tǒng)就被攻破了,然后通過消息的中繼就能訪問該車輛。
為防止中繼攻擊,藍牙m(xù)esh網(wǎng)絡使用兩類網(wǎng)絡PDU字段:序列號(SEQ)和IV索引。每次發(fā)布消息時,SEQ值都會遞增。如果消息的SEQ值小于或等于上一個有效消息的SEQ值,則節(jié)點會將消息丟棄,因為這則消息可能與中繼攻擊有關。同樣,消息中的IV索引值必須始終等于或大于它所收到的上一個有效消息。這種安全冗余可以提供更高水平的保護。