0

Java サーバーと多くの Arduino デバイスがあり、それらは TCP 接続で接続されています。使用できるボード: Arduino UnoまたはArduino Mega 2560

各Arduinoデバイスは、実際にはレポーター(たとえば、水道メーターからデータを取得してサーバーにデータを送信する)または一部のアプライアンスのある種のリモートコントロールです。

現在、この接続は安全ではありません。安全にする必要があります。つまり、VPN を実装する必要があります。

私はこの知識の分野ではまったく新しいものであり、使用する方法を理解しようとしています.

何らかのプロトコルの既存の実装を見つけて、このシステムに組み込むことができることを本当に願っています。

しかし、どのプロトコルですか?

これらの Arduino デバイスでは TCP/IP スタックがハードウェアで実装されているため、IPSec を使用できないことが既にわかっています。そのため、変更することはできません。

したがって、TCP より上位のプロトコルを使用する必要があり、C (クライアント デバイスの場合) と Java (サーバーの場合) で実装する必要があります。

SSL、PPTP、L2TP、またはまだ知らない何かの実装を見つけようとしています。

この分野で経験のある方がいらっしゃいましたら、ご提案をお待ちしております。

4

3 に答える 3

2

フォローアップの質問への回答が長すぎます...

VPN は通常、インフラストラクチャ (大学のコンピューター システムなど) への「トンネル」を作成します。つまり、VPN コンセントレータは大学ネットワークの「境界に位置し」、接続すると、、ファイアウォールの背後にあるシステムへの「パススルー」を作成します。ファイアウォール内のすべてのプロトコル、すべての IP アドレスにアクセスできます。重要なのは、あなたのコンピュータからコンセントレータ (「VPN ゲートウェイ」とも呼ばれる) へのトラフィックの流れを観察している人は、あなたがコンセントレータと話しているのを見ているだけであるということです。 、またはどのデータ。対照的に、それらすべてを非表示にする必要がない場合は、データ自体を暗号化する必要があります。単純な暗号化アルゴリズムは簡単に実装できます。特に、デバイスが盗まれてコードが取得されることを心配する必要がない場合はなおさらです。暗号化に必要な複雑さは、アプリケーションによって異なります。速度、メモリ使用量、およびセキュリティの間にはトレードオフがあります。

ぐぐ。いくつかの例については、「Arduino暗号化ライブラリ」を参照してください。キーを選択し、データを暗号化するだけPOSTで...

あなたがどのように理解するか教えてください!

于 2013-03-23T19:17:07.583 に答える
1

@Florisに非常に同意します。それにいくつかのアイデアを追加するには:

  • HTTPSについてはどうですか?通信が一方向 (Arduino -> PC) の場合は、それで十分です。この問題は、このディスカッションへの参照とともに、この投稿で説明されています。Arduino での HHTP は簡単ではありませんが、完了している可能性があります。

  • どうやら、XXTEA は別の代替手段であり、このトピックに関するスタックオーバーフローの質問もいくつかあります。

  • 自分でビルドする方法を選択する場合は、electronics.SEに関するこの投稿を確認してください。AVR用の暗号化ライブラリがあるようです。また、electronics.SE の投稿で考慮すべき攻撃の有用なリストもあります。 MitMアタック?誰かがあなたのデバイスをリッピングしてキーを開いた場合、それは問題になりますか?

于 2013-03-18T04:34:26.787 に答える
-1

ここでは、Arduino/AVR デバイス用の [CHAP] (en.wikipedia.org/wiki/Challenge-Handshake_Authentication_Protocol) の実装について説明します。

ここでは、Arduino/AVR 用の [HMAC] (en.wikipedia.org/wiki/Hash-based_message_authentication_code) と [SHA256] (en.wikipedia.org/wiki/SHA-2) の同様の実装について説明します。

[ Cryptosuite ] (github.com/wgoulet/Cryptosuite) は、Arduino 用の HMAC-SHA-256 の実装です。

最後に、[ここ] (github.com/arpitchauhan/cryptographic-protocols-arduino-and-PC) では、RSA を使用した鍵交換を含む、Arduino のいくつかの暗号化プロトコルが示されています。

したがって、Arduinoとサーバー間の通信を保護することは間違いなく可能です。

于 2015-08-17T20:25:17.817 に答える