2010-01-13 80 views
0

有沒有人知道基於對稱密鑰的簡單認證和數據傳輸協議?由於內存的限制(千字節的RAM和ROM),我們不能提供不對稱的密碼學,並且由於封閉的環境,不對稱密碼學不會以任何方式增加安全性。
我正在尋找簡單的對稱密碼協議,可以保存在頭和寫在一張紙上。我正在尋找EAP-PSK http://tools.ietf.org/html/rfc4764#page-4,但仍然認爲2^6頁是簡單而安全的方法。對稱密鑰認證協議

有沒有人知道一些有用的網址,論文或想法?

回答

1

對於保密性,使用AES-CBC 。對於消息認證,請使用HMAC-SHA256。爲每個使用不同的密鑰。

在這兩種情況下,都使用密碼原語的現有的,經過驗證的無定時攻擊的實現。

+0

僅將HMAC單獨用於消息認證當然是不安全的,因爲它允許重放攻擊。相反,由OP提出的協議除其他外防止這種攻擊。 – abc 2010-01-14 17:00:43

+0

好吧,這是個好主意。雙方互相發送一些隨機令牌,然後他們發回HMAC(pass,token)作爲認證。用於數據傳輸AES-CBC。 IV用於CBC可以是解密令牌的XORe。我錯過了什麼嗎? – 2010-01-14 19:14:24

+0

爲確保消息的新鮮度,您需要在消息中包含序列號。如果你使用這種方法,那麼「pass」確實需要是一個完整的隨機產生的密鑰(*不是*人爲選擇的密碼,因爲如果你捕獲消息並且HMAC可以執行脫機字典攻擊)。 – caf 2010-01-14 22:18:18

1

我認爲你正在尋找的Diffie-Hellman密鑰交換:只需要BIGNUM整數運算(權力,乘法和模數只,在那個):http://en.wikipedia.org/wiki/Diffie -Hellman_key_exchange

+0

我知道Diffie-Hellman,但據瞭解,它只保護被動攻擊者,並且仍然需要某種形式的認證。 – 2010-01-13 12:03:08

+0

使用DH獲得一個密鑰,以及在對稱加密下傳輸的醃製哈希密碼以進行身份​​驗證。我認爲研究SSH和HIP的設計http://www.ietf.org/html.charters/hip-charter.html將是一個非常好的主意。這兩種協議都有點複雜,但是密碼設計就是你所追求的。 – 2010-01-13 20:14:02

+0

Diffie-Hellman也是一個公鑰密碼系統,可能需要太多資源。 – abc 2010-01-14 17:02:17