智能電錶共享密鑰的安全性 (Linky)
閱讀新的智能電錶(在法國稱為Linky )的規格時,我對所選擇的加密方法( 128 位對稱密鑰 AES)感到驚訝,它基於單個密鑰(在規格中稱為*CCC ),*在儀表和中央系統,用於生成會話密鑰以加密數據。
文件中的一些上下文:
5. PLC 通信安全- 每個儀表必須有一個 CCC 密鑰、一個唯一的 CC_LAN 密鑰、一個唯一的 CC_LOCALE 密鑰和兩個用於 LAN 介面的會話密鑰和一個用於本地介面的會話密鑰,在應用程序與相關客戶端關聯時傳輸已創建
5.1 加密方式——128位AES對稱密鑰算法,GCM操作模式。它用於確保數據的機密性和身份驗證。
5.2 “CCC”密鑰- CCC 密鑰用於重新程式儀表中的“CC_LAN”密鑰或“CC_LOCALE”密鑰。該密鑰永遠不會用於加密集中器和儀表之間的通信。只有儀表和 IS(中央伺服器)知道。當生成 CC_LAN(和 CC_LOCALE)時,IS 使用 CCC 對其進行加密,並通過集中器將其傳輸到電錶。這種傳輸對於向儀表發送加密數據的集中器來說是完全透明的。知道 CCC 的儀表負責解密數據以檢索 CC_LAN(和 CC_LOCALE)。CCC 密鑰在讀取模式下不可訪問。
5.3 唯一的“CC_LAN”和“CC_LOCALE”鍵——CC_LAN 和CC_LOCALE 鍵僅在集中器和儀表之間以及TSP 和儀表之間的應用關聯階段分別使用。它們用於加密允許此應用程序關聯的服務。該服務傳輸會話密鑰,然後在應用程序關聯定義的上下文中使用該會話密鑰來加密集中器/TSP 和儀表之間的通信。在讀取模式下無法訪問 CC_LAN 和 CC_LOCALE 鍵。
關於架構的簡要說明:儀表使用開放式電力線上的 PLC 與本地變壓器通信,變壓器使用 GPRS 與中央系統通信。除了本地網路管理之外,本地變壓器僅將數據包“按原樣”轉發到中央系統。
(有關架構的更多資訊,請點擊此處。安全性見第 5 章,第 39-40 頁)。
- 擁有一個中央密鑰儲存庫的****安全含義是什麼?
- 如果中央密鑰數據庫被黑客入侵,攻擊者是否能夠解密任何儀表的通信?(例如,篡改它?)
- 有什麼理由不選擇非對稱公鑰機制,中央系統不必知道所有儀表的密鑰?這是否與一旦生成的公鑰安全通信的複雜性有關?(由於中央系統必須確保公鑰的真實性,可能需要手動干預?)
- 所選架構是否存在任何潛在的安全風險?
注意:在security.stackexchange.com上也有人問過這個問題。
除了其他答案
在儀表中使用非對稱加密會有一些好處:
- 它可以使對儀表/伺服器通信的被動竊聽變得無用,即使對於持有或能夠使用伺服器私鑰的一方也是如此;秘密密鑰密碼學無法實現的東西。
- 它可以確保任何中央密鑰洩漏都不會損害對來自儀表的消息進行身份驗證的能力。
但這就是我所看到的。特別是,即使是成熟的非對稱公鑰機制也無法解決最嚴重的問題,即如果中央系統被黑客入侵,並且黑客可以像中央系統那樣與電錶進行通信,那麼中央系統具有的所有能力(包括讀取任何儀表,或/和對儀表進行任何參數化)都可供黑客使用。因此,無論如何,對中央系統的徹底黑客攻擊都是一場災難。
這就是為什麼這樣的中央系統應該設計有多層安全性。特別是,如果使用某些非對稱加密技術,它們應該保存密鑰以及伺服器的私鑰,這些設備旨在永遠不會洩露此類機密,例如 HSM 或智能卡。這樣一來,外層(例如伺服器的作業系統)的滲透就不會洩露秘密或私鑰(只有在最壞的情況下才允許使用它們)。遭受攻擊後,恢復伺服器的完整性有望恢復安全性和功能(除非黑客設法更改了最高級別的個人儀表密鑰)。