2

(私はネイティブ スピーカーではないため、用語が正しくない可能性があります。申し訳ありません。)

私は、個人使用のために AVR マイクロコントローラー間で無線を介してデータを送信しています。送信されたデータが、許可されたクライアントの 1 つから発信されたものであることをクライアントに証明してもらいたいと考えています。これは、否認防止を必要とせず、共有鍵を事前に定義できることを意味します。さまざまなアプローチについて調査を行った結果、自分の要件に最も適したアプローチを選択するには、何らかの支援が必要であることがわかりました。

最大限のセキュリティは必要ないことをご理解ください。潜在的なスクリプトキディの隣人が数時間以内に侵入するのを防ぎたいだけです. 今日の時点で、平均的な消費者向け機器を使い始めるのに数週間かかる場合でも、私は問題ありません。

私が送信しているメッセージはサイズがかなり小さく (数バイトのペイロードのみで 30 バイト以下)、頻度は 30 メッセージ/分以下です。

使用例の 1 つは、無線でメッセージを処理ユニットに送信する動作検出器です。処理ユニットは、別のメッセージを無線でライト スイッチに送信します。輸送に集中しないでください。この質問は、データの信頼性のみに関するものです。

フラッシュと RAM が非常に限られている 20 MHz AVR マイクロコントローラーでクライアント/サーバー ソフトウェア (C) を実行しています。そのため、高いデータ レートを提供しながら、コード サイズと RAM の使用率が小さいソリューションを探しています。

20 バイトのデータからハッシュを作成する MD5 実装 (C) でいくつかのパフォーマンス テストを行ったところ、遅すぎる可能性があることがわかりました。MD5 の実装だけでは要件を解決できないことを理解しています。ハッシュのパフォーマンスを評価するためだけにテストを行いました。

コメントありがとう

4

2 に答える 2

5

メッセージの署名には 128 ビット AES を使用します。サイズと速度をトレードオフするさまざまなバージョンを含む、サイズとサイクル数の完全なドキュメントを備えた、AVR 用に既にこれを実装している優れたソースを次に示します。http://avrcryptolib.das-labor.org/trac/wiki/AES

于 2012-04-02T20:46:17.450 に答える
1

妥協に満足している場合は、メッセージ ペイロードの CRC-32 または CRC-64 を計算し、(CRC チェックサムではなく、ペイロードの) 最後に秘密鍵を追加します。両端で同じ秘密鍵を使用してこれを実行すると、同じ結果が得られます。これの正確なハッキング可能性はわかりませんが、ゼロではないことは確かです.

于 2012-04-06T10:24:08.097 に答える