专门为SSL / TLS构建的轻量级替代品?

时间:2011-04-20 04:50:44

标签: security ssl encryption

目标硬件是一个相当低功耗的MCU(ARM Cortex-M3 @ 72MHz,只有大约64KB SRAM和256KB闪存),所以在这里走细线。我的主板确实有以太网,我最终会在其上运行lwIP(轻量级TCP / IP FOSS套件)(目前正在努力)。但是,我还需要某种超轻量级替代SSL / TLS。我知道这些MCU有多种GPL的SSL / TLS实现,但它们的占用空间仍然相当大。虽然他们确实适合其他一切,但不要给别人留下太多空间。

我的流量不是HTTP,所以我不必担心HTTPS,我的客户端/服务器通信可以是完全专有的,所以非标准的解决方案是可以的。寻找关于什么可能是简约而健壮的建议(以及弱安全性毫无价值),替代方案可以帮助我 -

  1. 加密我的通讯(C-> S& S-> C)
  2. 进行双向认证(C-> S& S-> C)
  3. 避免中间人攻击
  4. 我将无法在ARMv7汇编级别优化库,因此完全依赖于我的编程技巧和GNU-ARM编译器的优化。如上所述,任何指针可能是最好的选择吗?

5 个答案:

答案 0 :(得分:5)

CurveCP。这意味着要完全取代SSL。

这是相当新的,并且仍在进行开发,但它的作者是该领域的知名专家,并且在过去十年中一直在努力实现它。已经进行了仔细研究和设计的批次

答案 1 :(得分:4)

如果这些小型TLS实现中的任何一个允许您禁用所有X.509和ASN.1功能,并且只使用带预共享密钥的TLS,则占用的空间非常小。那是因为只使用了对称密码和哈希值。

答案 2 :(得分:2)

我的直接反应是考虑Kerberos。它已被大量研究,因此此时主要漏洞的可能性相当小。同时,它是相当简约的,所以除非你限制你需要做什么,否则你可能无法在不影响安全性的情况下使用更轻量级的东西。

如果这对你的目的来说仍然太重,你可能需要对你想做的事情施加一些限制。

答案 3 :(得分:1)

我知道大约两年后它的答案会有变化,但是......“PolarSSL的内存占用量可以小到30k,平均低于110k。” https://polarssl.org/features

答案 4 :(得分:1)

您可以查看MST(最小安全传输)https://github.com/DiplIngFrankGerlach/MST

它提供与TLS相同的安全保证,但需要预共享密钥。此外,它非常小(低于1000 LoC,没有AES),因此可以很容易地由专家审查。