背景
RF 315/433 MHz送信機-受信機モジュール 、 イーサネットシールド および ATメガAVR マイクロコントローラー(ATMega328)を使用してホームオートメーションシステムを構築していますPPU)は次のように機能します。
一連のREST APIはバックエンドデータベースと統合されています。WebおよびモバイルアプリケーションはこのDBとインターフェイスして、設定を変更します。AT Mega MCは、イーサネットシールドは私の家のADSLルーターに接続します。
AT Mega MCは、イーサネットシールドを介して(HTTPS)API値を読み取り、RF 315/433 MHz送信機-受信機モジュールを使用してデバイス(ローラードア、ライトスイッチ、暖房など)を制御しようとします。 。RF受信機とAT Mega MCは、RF送信機を使用して制御メッセージを送信します。
問題
この設定では、次のセキュリティ上の問題があります。
RF送信機から受信機へのメッセージを暗号化する最も効率的な方法は何ですか?今、私は簡単なXOR操作を実行して、したがって、XORの値は、単に共有キーとして機能します。これはまったく安全ではないことを知っています!エンドポイント(レシーバーエンド)にリソース消費アルゴリズムを実装できないためです。 ATtiny85MCを使用しています。
メッセージをRF TXからRXに暗号化しても)誰かが(HackRFなどのツールを使用して)送信メッセージを傍受し、後でメッセージを再生できるため、簡単にリプレイ攻撃を実行して開くことができます。後でいつでも私の門を上ってください。
質問
RF送信を保護するために使用できる最善のセキュリティ対策は何ですか?私は大規模な計算能力を持たないIoTデバイスを使用していることを忘れないでください。
このリプレイ攻撃を防ぐにはどうすればよいですか?
RF送信機から受信機へのメッセージを暗号化する最も効率的な方法は何ですか?
おそらく、axTLSからのAES実装を使用できます。
メッセージをRF TXからRXに暗号化しても)、誰かが送信メッセージを傍受して(HackRFなどのツールを使用して)後でメッセージを再生する可能性があります。
暗号化だけではメッセージが改ざんされていないことが保証されないため、ナンスとHMACを含める必要があるのはそのためです。 HMACは、ハッシュ関数が必要になることを意味します。ただし、メッセージの長さが一定の場合は、CBC-MAC( https://en.wikipedia.org/wiki/CBC-MAC を参照)をハッシュ関数として使用して、 AESの実装。おそらくATtiny85にSHA-2を取り付けることもできますが、もちろん、実際の機能のためにスペース/ RAMが必要になる場合もあります。
IoTの制限は、システムのセキュリティにとって深刻です。作るのは楽しいかもしれませんが、個人的にはガレージのドアの強力なセキュリティが欲しいです。とにかく、以下のいくつかの一般的な答え。
AESは、最新の通信プロトコルで一般的な安全な代替手段です。 XORは、盗聴者にパスワードを公開します。このフォーラムで「xor暗号化の何が問題になっているのか」などを検索してください。
TLSナンスは、リプレイを防ぐ良い例です。その使用法については、ここで説明します: SSL/TLSハンドシェイクではありません