ローリングコード
ローリングコード (またはホッピングコードと呼ばれることもあります )は、キーレスエントリシステムでリプレイ攻撃を防止するために使用されます。このようなシステムは、ガレージドアオープナーやキーレスカーエントリーシステムで一般的です。
テクニック
- 送信機と受信機の両方で共通のPRNG(疑似乱数ジェネレーター)-できれば暗号的に安全
- 送信機は「次の」コードを順番に送信します
- レシーバーは、「next」を計算された「next」コードと比較します。
- 一般的な実装では、受信者が送信されたキー入力を逃した場合に、次の256コード内で比較します。
RFリモートコントロールのアプリケーション
ローリングコード送信機は、インターリーブされた3進ビット固定コードとローリングコードを含む安全な暗号化無線周波数(RF)伝送を提供するためのセキュリティシステムで役立ちます。受信機は暗号化されたRF伝送を復調し、固定コードとローリングコードを復元します。固定コードとローリングコードを保存コードと比較し、信号が許可された送信機から発せられたと判断すると、電気モーターを作動させて可動部品を開閉する信号が生成されます。
ローリングコードと固定コードRFリモートコントロール
リモートコントロールは、デジタルコードワードを受信機に送信します。受信者がコードワードを受け入れられると判断した場合、受信者はリレーを作動させ、ドアのロックを解除するか、バリアを開きます。シンプルなリモートコントロールシステムは、固定コードワードを使用します。今日ゲートを開くコードワードは、明日もゲートを開きます。適切な受信者を持つ攻撃者は、コードワードを発見し、それを使用して後でアクセスする可能性があります。より高度なリモートコントロールシステムでは、使用するたびに変化するローリングコード(またはホッピングコード)が使用されます。攻撃者は、今ドアを開いたコードワードを学習できる可能性がありますが、受信者は、近い将来、そのコードワードを受け入れません。ローリングコードシステムは、リモートコントロールと受信機がコードワードを共有できるようにする暗号化方式を使用しますが、攻撃者が暗号化を破ることは困難です。
キーロー
Microchip HCS301は、かつてガレージおよびゲートのリモートコントロールとレシーバーで最も広く使用されていたシステムでした。チップはKeeLoqアルゴリズムを使用します。 HCS301 KeeLoqシステムは、66データビットを送信します。
- 34ビットは暗号化されません。28ビットのシリアル番号、4ビットのボタン情報、2ビットのステータスビット(リピートおよびローバッテリーインジケーター)。
- 32ビットが暗号化されます(ローリングコード):4ビットのボタン情報、2ビットのOVR(カウンター値を拡張するために使用)、10ビットのDISC(識別値。シリアル番号の下位10ビット)、および16 -ビットカウンター。再同期の状況では、暗号化された32ビットは32ビットのシード値に置き換えられます。
Rolljamの脆弱性
傍受可能な無線信号で送信されるローリングコードは、改ざんに対して脆弱です。 2015年には、サミーカムカーが、ロックされた車両の上または近くに隠して、後で車両のロックを解除するために使用する単一のキーレスエントリコードをキャプチャできる、財布サイズの安価な電子デバイスを構築したことが報告されました。デバイスはジャミング信号を送信して、所有者のフォブからのローリングコード信号の受信をブロックし、車両のロック解除に必要な2回の試行の両方からのこれらの信号を記録します。記録された最初のコードは、所有者が2回目の試行を行った場合にのみ車両に転送され、記録された2番目のコードは将来の使用のために保持されます。 Kamkarは、この脆弱性は多くの車両タイプに存在することが長年知られていましたが、以前は実証されていなかったと述べました。 DEF CON 23でデモが行われました。