首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TLS_PSK与TLS误启动的结合

TLS_PSK与TLS误启动的结合
EN

Cryptography用户
提问于 2017-01-23 17:24:41
回答 1查看 286关注 0票数 4

我正在评估TLS 1.2在低功耗嵌入式环境中的使用情况。

在查看了RFC 7925 (TLS for IoT)之后,我想知道

  • TLS_PSK_WITH_AES_128_CCM_8密码套件(RFC 6655)
  • 和TLS错误启动扩展(RFC 7918)

  1. 可能/兼容和
  2. 除了使用TLS_PSK_*密码套件已经带来的安全影响之外,还有更多的安全问题。

RFC 7925的第21条提到了使用TLS错误启动的几个条件。然而,没有特别提到TLS_PSK_*密码套件。

EN

回答 1

Cryptography用户

回答已采纳

发布于 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,则是这个值的一半)。

票数 6
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/43214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档