Encryption
這個身份驗證系統是否不安全
因此,我想通過兩步為 PC 創建一個簡單、快速且安全的身份驗證 - 微控制器通信。
第一步是種子請求,第二步是認證請求。
正在使用的加密是 AES-128。
應該有
k
一個長度為 16 字節的固定密鑰。
m
每當種子請求到來時,應生成一個隨機的 16 字節身份驗證消息,然後將其加密k
並作為種子發送回客戶端s
。(注意:
E(k, m)
將始終輸出相同的s
)然後種子應該由客戶端
s
解密,然後應該將k
原始身份驗證消息m
作為身份驗證請求發送到伺服器。伺服器將身份驗證消息
m
與請求的消息進行比較,如果它們相等則授予訪問權限,否則拒絕請求。還假設對手可以收集任意數量
m
和s
配對。根據以上資訊,是否可以輕鬆破解該系統?
由於攻擊者知道明文及其對應的密文,因此很容易受到重放攻擊。為了緩解這種情況,您可能希望在消息中包含一些資訊,例如時間戳,以便假設伺服器和客戶端的時間保持不受影響,過時的消息,即由早於某個時間幀的時間戳標記的消息可能會失效。
不,此身份驗證方案是安全的。這意味著當協議完成時(伺服器檢查
m = m'
),伺服器可以確定——在一段時間之前——一個身份驗證請求已經由知道的一方完成k
。但是,您在身份驗證步驟之後執行的操作可能並不安全。您不應該忘記對對話中的每條消息進行身份驗證。