专为SSL / TLS打造的轻量级替代方案?

问题描述

| 目标硬件是功耗较低的MCU(ARM Cortex-M3 @ 72MHz,仅具有约64KB的SRAM和256KB的闪存),因此请精打细算。我的主板上确实有以太网,并且最终我将在其上运行lwIP(轻量级TCP / IP FOSS套件)(当前处于挣扎状态)。但是,我还需要某种SSL / TLS的超轻型替代方案。我知道此类MCU具有多个GPL's SSL / TLS实现,但是它们的占用空间仍然相当大。尽管它们确实适合,但考虑到其他所有内容,则不要为其他人留出太多空间。 我的流量不是HTTP,因此我不必担心HTTPS,并且我的客户端/服务器通信可以完全是专有的,因此可以使用非标准解决方案。寻找关于可能是极简但强大的建议(弱安全性毫无价值),可以帮助我的替代方案- 加密我的通讯(C-> S&S-> C) 做2向验证(C-> S&S-> C) 避免中间人攻击 我将无法在ARMv7汇编程序级别上优化库,因此将完全依靠我的编程技能和GNU-ARM编译器的优化。上面给出了什么可能是最好的选择的指针?

解决方法

如果这些小型TLS实现中的任何一个允许您禁用所有X.509和ASN.1功能,而仅将TLS与预共享密钥一起使用,则占用的空间会很小。那是因为仅使用对称密码和哈希。,有CurveCP。它旨在完全替代SSL。 它是相当新的,并且仍在发展中,但是它的作者是该领域的知名专家,并且在过去的十年中一直在认真地努力。已经进行了许多仔细的研究和设计。,我的直接反应是考虑使用Kerberos。已经对其进行了大量研究,因此,此时出现重大漏洞的机会非常少。同时,它非常简单,因此除非您限制需要做的事情,否则在不影响安全性的前提下,您可能无法使用轻量级产品。 如果这对于您的目的而言仍然太繁重,则可能需要对要执行的操作施加一些限制。,我知道大约两年后会附带答案的变体,但是...“ PolarSSL的内存占用量可以小到30k,平均不到110k。” https://polarssl.org/features,您可以看看MST(最小安全传输)https://github.com/DiplIngFrankGerlach/MST。 它提供与TLS相同的安全保证,但需要预共享密钥。而且,它非常小(小于1000 LoC,没有AES),因此可以很容易地由专家进行审查。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...