SSL от микроконтроллера

12

Я хочу создать встраиваемое устройство, которое может безопасно взаимодействовать с веб-сервером. Я предпочел бы использовать стандартный SSL, чтобы веб-сервер просматривал мое устройство подобно веб-браузеру.

  • Есть ли какие-либо библиотеки prebuit для встроенной стороны, чтобы сделать это?
  • А как насчет IC, которая может обрабатывать рукопожатие и расшифровку для меня?
  • Если нет, то как бы я сделал это сам?
Kellenjb
источник
Если вы этого не видели, вы можете подумать об этом из-за небольшого размера, мощных возможностей, но не из-за низкой цены: phidgets.com/products.php?product_id=1072
gahooa
@gahooa, это интересно. Я ищу дешевый вариант, хотя. Мой рынок будет покупать 10 или 100 единиц моего устройства, так что каждый цент, который я могу сократить, может помочь сделать товар более конкурентоспособным.
Kellenjb
1
Я надеюсь, у вас есть большой микро. SSL довольно тяжелый, в вычислительном отношении.
Коннор Вольф
@ Фальшивое имя, я думал о dsPIC. Насколько я понимаю, первоначальное рукопожатие может быть довольно тяжелым, но все остальное не так уж плохо.
Kellenjb

Ответы:

4

Я предлагаю стек микрочипа TCP . Microchip предлагает бесплатный лицензированный стек TCP / IP, оптимизированный для PIC18, PIC24, dsPIC и PIC32.

Стек TCP / IP Microchip включает функцию Secure Sockets Layer (SSL).

Но это не бесплатно. См. ниже:

Для соблюдения ограничений экспортного контроля США часть шифрования модуля SSL необходимо приобретать отдельно от Microchip. Библиотека программ шифрования данных (SW300052) доступна за символическую плату по адресу http://www.microchipdirect.com/productsearch.aspx?Keywords=SW300052 .

Для достижения лучших результатов вы можете использовать ENCx24J600 со встроенным механизмом шифрования / дешифрования AES и другими механизмами ценных бумаг.

Даниэль Грилло
источник
1
Не бесплатно, но всего 5 долларов.
Роберт
Очень дешевый! Я этого не знал.
Даниэль Грилло
1
@Robert и @Daniel Grillo Я полагаю, что это будет 5 долларов за стартовый пакет, а затем, как только вы начнете продавать в розницу, вы получите около 2500 долларов за 5000 единиц. По крайней мере, это то, что нужно для этого: microchip.com/stellent/…
Kellenjb
Однако ENCx24J600 - это та часть, которая меня очень интересует.
Kellenjb
5

Рассмотрим эти встроенные библиотеки 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 с опцией для проприетарной лицензии за $.

goertzenator
источник
2

Если система может быть достаточно сложной, чтобы запустить операционную систему, существует множество инструментов и библиотек, которые могут выполнить эту работу. Во встроенной системе Linux вы можете использовать wget с SSL. В любой системе с языками более высокого уровня, такими как Python или Ruby, сетевая библиотека ( Python SSL ) будет поддерживать SSL. Если у вас есть только доступ к C, вы можете написать что-нибудь, используя библиотеку OpenSSL .

Если ОС нет, думаю, вам предстоит много работы. Как минимум, вам нужен стек TCP / IP. Я бы создал прототип с помощью mbed - есть сообщение на форуме, которое предполагает, что у них уже может быть библиотека SSL.

pingswept
источник
1

Кажется, это также поддерживает AES SSL: http://www.lantronix.com/device-networking/embedded-device-servers/xport.html

powtac
источник
1
Я не верю, что это на самом деле поддерживает SSL - AES - это просто симметричный шифр, который может использоваться SSL, но, например, для рукопожатия требуются другие шаги, которые включают (обычно) RSA и SHA-1. Однако теперь у Lantronix есть XPort AR, который поддерживает некоторую версию SSL lantronix.com/device-networking/embedded-device-servers/…, однако это не дешево.
thom_nic