2010-01-13 79 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