SSL de um microcontrolador


12

Estou querendo fazer um dispositivo incorporado que possa se comunicar com um servidor web de forma segura. Minha preferência seria que ele usasse SSL padrão para que o servidor da web visualize meu dispositivo semelhante a um navegador da web.

  • Existem bibliotecas de pré-compra para o lado incorporado fazer isso?
  • Que tal um IC que possa lidar com o aperto de mão e descriptografia para mim?
  • Se não, como eu faria isso sozinho?

Se você ainda não viu isso, você pode considerá-lo para seu pequeno tamanho, capacidades poderosas, mas não é barato preço: phidgets.com/products.php?product_id=1072
gahooa

@gahooa isso é interessante. Estou procurando uma opção barata embora. Meu mercado compraria 10 ou 100 do meu dispositivo, para que cada centavo que eu possa cortar custos possa ajudar a tornar o item mais comercializável.
Kellenjb

1
Espero que você tenha um micro grande. SSL é bastante pesado, computacionalmente.
Connor Wolf

@ Nome falso Eu estava pensando em um dsPIC. Pelo que entendi, o aperto de mão inicial pode ser bastante pesado, mas todo o resto não é tão ruim.
19411 Kellenjb

Respostas:


4

Eu sugiro a pilha TCP Microchip . A Microchip oferece uma pilha TCP / IP licenciada gratuita otimizada para PIC18, PIC24, dsPIC e PIC32.

A pilha TCP / IP da Microchip inclui o recurso Secure Sockets Layer (SSL).

Mas não é grátis. Ver abaixo:

Para cumprir as restrições do US Export Control, a parte de criptografia do módulo SSL deve ser adquirida separadamente da Microchip. A biblioteca de Rotinas de criptografia de dados (SW300052) está disponível por uma taxa nominal em http://www.microchipdirect.com/productsearch.aspx?Keywords=SW300052 .

Para melhores resultados, você pode usar o ENCx24J600 que possui mecanismo embutido de criptografia / descriptografia de AES e outros mecanismos de valores mobiliários.


1
Não é grátis, mas apenas US $ 5.
Robert

Muito barato! Eu não sabia disso.
Daniel Grillo

1
@Robert e @Daniel Grillo Acredito que são US $ 5 para o pacote inicial e, depois que você for comercializar, serão cerca de US $ 2.500 para 5000 unidades. Pelo menos isso é o que é para isso: microchip.com/stellent/...
Kellenjb

No entanto, a ENCx24J600 é a parte que me interessa muito.
Kellenjb


2

Se o sistema puder ser complicado o suficiente para executar um sistema operacional, há muitas ferramentas e bibliotecas que podem fazer o trabalho. Em um sistema Linux incorporado, você pode usar o wget com SSL. Em qualquer sistema com linguagens de nível superior, como Python ou Ruby, a biblioteca de rede ( Python SSL ) suportará SSL. Se você tiver acesso apenas a C, poderá escrever algo usando a biblioteca OpenSSL .

Se não houver sistema operacional, acho que você terá muito trabalho. No mínimo, você precisa de uma pilha TCP / IP. Eu criaria um protótipo com um mbed-- há uma postagem no fórum que sugere que eles podem ter uma biblioteca SSL agora.



1

1
Não acredito que isso realmente suporte SSL - o AES é apenas uma cifra simétrica que pode ser usada por SSL, mas, por exemplo, o handshake requer outras etapas que envolvem (geralmente) RSA e SHA-1. No entanto, o Lantronix agora possui o XPort AR, que parece suportar algumas versões do SSL lantronix.com/device-networking/embedded-device-servers/…, mas não é barato.
Thom_nic 2/02
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.