安全な方法でウェブサーバーと通信できる組み込みデバイスを作りたいです。私の好みは、標準のSSLを使用して、WebサーバーがWebブラウザーのようにデバイスを表示することです。
- これを行うための組み込み側の事前作成ライブラリはありますか?
- ハンドシェイクと復号化を処理できるICはどうですか?
- そうでない場合、私はこれを自分でどうやってやるのですか?
安全な方法でウェブサーバーと通信できる組み込みデバイスを作りたいです。私の好みは、標準のSSLを使用して、WebサーバーがWebブラウザーのようにデバイスを表示することです。
回答:
Microchip TCPスタックをお勧めします。マイクロチップ社は、PIC18、PIC24、dsPIC、PIC32向けに最適化された無料のライセンスTCP / IPスタックを提供しています。
Microchip社のTCP / IPスタックには、Secure Sockets Layer(SSL)機能が含まれています。
しかし、それは無料ではありません。下記参照:
米国輸出管理規制に準拠するには、SSLモジュールの暗号化部分をマイクロチップから個別に購入する必要があります。データ暗号化ルーチンのライブラリ(SW300052)は、http://www.microchipdirect.com/productsearch.aspx? Keywords = SW300052からわずかな料金で利用できます 。。
より良い結果を得るには、AES暗号化/復号化エンジンとその他のセキュリティエンジンが組み込まれたENCx24J600を使用できます。
次の組み込みSSLライブラリを検討してください。
http://www.yassl.com/yaSSL/Products-cyassl.html
そして、おそらくhttp://gitorious.org/tropicssl/
Tropicsslおよびpolarsslは、http: //www.ohloh.net/p/xysslから作成されました。
TropicsslとxysslはBSDライセンスですが、他のすべてはGPLであり、$の専用ライセンスのオプションがあります。
システムがオペレーティングシステムを実行するのに十分なほど複雑な場合は、ジョブを実行できるツールとライブラリがたくさんあります。組み込みLinuxシステムでは、wgetをSSLとともに使用できます。PythonやRubyなどの高レベル言語を使用するシステムでは、ネットワークライブラリ(Python SSL)がSSLをサポートします。Cにしかアクセスできない場合は、 OpenSSLライブラリます。
OSがない場合、あなたは多くの仕事をしていると思います。少なくとも、TCP / IPスタックが必要です。私はmbedを使ってプロトタイプを構築します-今までにSSLライブラリがあるかもしれないことを示唆するフォーラムの投稿があります。
これはAES SSLもサポートしているようです:http : //www.lantronix.com/device-networking/embedded-device-servers/xport.html