来自微控制器的 SSL

电器工程 微控制器 图书馆 tcp-ip 加密
2022-01-16 14:52:49

我想要制作一个能够以安全方式与网络服务器通信的嵌入式设备。我的偏好是使用标准 SSL,以便网络服务器以类似于网络浏览器的方式查看我的设备。

  • 嵌入式端是否有任何预构建库来执行此操作?
  • 可以为我处理握手和解密的 IC 怎么样?
  • 如果不是,我将如何自己做这件事?
4个回答

考虑这些嵌入式 SSL 库:

http://www.yassl.com/yaSSL/Products-cyassl.html

http://polarssl.org/

http://www.matrixssl.org/

也许http://gitorious.org/tropicssl/

Tropicssl 和 polarssl 起源于http://www.ohloh.net/p/xyssl

Tropicssl 和 xyssl 是 BSD 许可的,而所有其他的都是 GPL,可以选择以 $ 的价格获得专有许可。

我建议使用 Microchip TCP 堆栈Microchip 提供针对 PIC18、PIC24、dsPIC 和 PIC32 优化的免费许可 TCP/IP 堆栈。

Microchip 的 TCP/IP 堆栈包括安全套接字层 (SSL) 功能。

但它不是免费的。见下文:

为遵守美国出口管制限制,SSL 模块的加密部分必须从 Microchip 单独购买。数据加密例程库 (SW300052) 可从 http://www.microchipdirect.com/productsearch.aspx?Keywords=SW300052以象征性费用获得。

为了获得更好的效果,您可以使用内置 AES 加密/解密引擎和其他证券引擎的ENCx24J600 。

如果系统可以足够复杂以运行操作系统,那么有很多工具和库可以完成这项工作。在嵌入式 Linux 系统上,您可以将 wget 与 SSL 一起使用。在任何使用高级语言(如 Python 或 Ruby)的系统上,网络库 ( Python SSL ) 将支持 SSL。如果您只能访问 C,您可以使用OpenSSL library编写一些东西。

如果没有操作系统,我认为您需要做很多工作。至少,您需要一个 TCP/IP 堆栈。我会用 mbed 构建一个原型——有一个论坛帖子表明他们现在可能有一个 SSL 库。