发布于 2017-01-23 17:59:50
在PSK密码套件中应用“错误启动”没有真正的问题。“错误启动”是指在确认(使用Finished消息)确认对等方确实同意同一密钥之前,使用协商的密钥对数据进行加密。从这个意义上说,对等身份验证在这一点上仍然是隐含的。这并不是“正常”密码套件的担忧。(注:这可能是SRP的一个问题。)
如果您想以低功耗嵌入式系统为目标,您可能需要使用ChaCha20+Poly1305密码套件(RFC 7905),它比AES轻得多(特别是AES/CCM,它对每个块调用两次AES加密例程)。如果你仍然坚持AES,并且AES/GCM也可以更轻。
另外,虽然PSK很轻(没有非对称密码),但它也有自己的问题,即需要共享秘密,这不是最容易部署的事情;您可能需要考虑使用带有证书的非PSK系统。如果受限系统是客户端,那么RSA密钥交换只涉及客户端上的公钥加密,这是轻量级的,因为RSA公钥操作使用的是公共指数,这是很短的。或者,一些椭圆曲线可以足够轻的嵌入式CPU。
无耻的插头:以BearSSL为例。它还没有准备好用于生产(因为我还没有对模糊的SSL/TLS实现进行广泛的自动验证),但是可以体验一下什么是可行的。在48 MHz Cortex-M0+上,我的C代码可以在大约半秒钟内完成EC点乘法(如果使用Curve25519,则是这个值的一半)。
https://crypto.stackexchange.com/questions/43214
复制相似问题