Encryption

這個身份驗證系統是否不安全

  • September 9, 2017

因此,我想通過兩步為 PC 創建一個簡單、快速且安全的身份驗證 - 微控制器通信。

第一步是種子請求,第二步是認證請求。

正在使用的加密是 AES-128。

應該有k一個長度為 16 字節的固定密鑰。

m每當種子請求到來時,應生成一個隨機的 16 字節身份驗證消息,然後將其加密k並作為種子發送回客戶端s

(注意:E(k, m)將始終輸出相同的s

然後種子應該由客戶端s解密,然後應該將k原始身份驗證消息m作為身份驗證請求發送到伺服器。

伺服器將身份驗證消息m與請求的消息進行比較,如果它們相等則授予訪問權限,否則拒絕請求。

還假設對手可以收集任意數量ms配對。

根據以上資訊,是否可以輕鬆破解該系統?

由於攻擊者知道明文及其對應的密文,因此很容易受到重放攻擊。為了緩解這種情況,您可能希望在消息中包含一些資訊,例如時間戳,以便假設伺服器和客戶端的時間保持不受影響,過時的消息,即由早於某個時間幀的時間戳標記的消息可能會失效。

不,此身份驗證方案是安全的。這意味著當協議完成時(伺服器檢查m = m'),伺服器可以確定——在一段時間之前——一個身份驗證請求已經由知道的一方完成k

但是,您在身份驗證步驟之後執行的操作可能並不安全。您不應該忘記對對話中的每條消息進行身份驗證。

引用自:https://crypto.stackexchange.com/questions/44833