キーレスエントリーのセキュリティの話
今日は,キーレスエントリーのセキュリティの話について,簡単に書こうと思っています.
キーレスエントリーとは,車に鍵を挿さずにリモコンキーでドアを開けるアレのことです.
最近では当たり前の機能ですが,無線で車に対してドアを開錠せよという通信を送っているので,その通信をキャプチャされて攻撃者に利用されてしまった場合,リモコンキーがなくても簡単にドアを開けることができてしまうので,セキュリティには結構な注意が必要な代物です.
そんなキーレスエントリーですが,国土交通省のHP上にある別添7 四輪自動車等の施錠装置の技術基準という資料に,以下のような技術基準が定められています.
http://www.mlit.go.jp/common/001109082.pdf
3.7. 電気・電子式施錠機能(リモートコントロールによるものを含む。)は、5万通り以上の変種を有するものとし、ローリングコードを組み込む、又は10日以上のスキャン時間(5,000通りの変種につき24時間以上のスキャン時間)を要するものでなければならない。
上記から察するに,キーレスエントリーのような電子式の鍵は,スキャンに耐えうるよう5万通り以上のパターンを持たなければならない.ということです.
パスワードでもブルートフォース攻撃に耐えうるよう,ある程度の長さを持つことが必要とされますが,キーレスエントリーを使用する場合は,ブルートフォース的な攻撃に耐えうるような設計でないとダメ!ということが国土交通省で定められているということになります*1.
そんな基準が設けられているキーレスエントリーですが,鍵と車体との通信には315 MHz帯の周波数を持つ電波がキャリアになり,通信の暗号化にはAESが使われているようです.
AESにもいろいろモードがありますが,単純に平文を暗号文に変換するいわゆる「ECBモード」だと,リプレイ攻撃*2に脆弱になってしまうので,リプレイ攻撃に耐性のあるモードが使われているようです.
リプレイ攻撃に脆弱であると,「ドアを開錠せよ」という命令が暗号化されていて,通信を盗聴してもその命令に該当するデータが分からなくても,キャプチャしたデータそのまま送信したら同じことが再現できてしまうので,盗聴だけではなくてリプレイ攻撃にも対策が必要です.
今回は以上です.ローリングコードとかAESの話とかはまた機会のある時にでも