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


12

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

  • Есть ли какие-либо библиотеки prebuit для встроенной стороны, чтобы сделать это?
  • А как насчет IC, которая может обрабатывать рукопожатие и расшифровку для меня?
  • Если нет, то как бы я сделал это сам?

Если вы этого не видели, вы можете подумать об этом из-за небольшого размера, мощных возможностей, но не из-за низкой цены: 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 с опцией для проприетарной лицензии за $.


2

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

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



1

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


1
Я не верю, что это на самом деле поддерживает SSL - AES - это просто симметричный шифр, который может использоваться SSL, но, например, для рукопожатия требуются другие шаги, которые включают (обычно) RSA и SHA-1. Однако теперь у Lantronix есть XPort AR, который поддерживает некоторую версию SSL lantronix.com/device-networking/embedded-device-servers/…, однако это не дешево.
thom_nic
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.