web-dev-qa-db-ja.com

セキュリティ原則への違反?

キーレスエントリーフォブ、スマートエントリーカード、NFCなどがリレー攻撃に対して脆弱であることは明らかです。

活動期間を制限することで改善されたとします。たとえば、振ったとき、音が検出されたとき、今日が火曜日のときなどにのみアクティブにします。これらにより、攻撃が発生する機会が減ります。

これらの改善はセキュリティ原則に違反していますか?具体的には、そのような改善は無駄な防御であると考えることができますか?

2
John M.

あなたが説明しているのは多要素認証であり、最初の要素は2つのデバイスの近接性です。したがって、確立された原則に違反するのではなく、注目を集める攻撃への対応としてではなく、標準的な慣行になりつつあります。関係するデバイスは、ユーザーだけが望むときに通信が実行されていること、そして実際に彼らが言っているデバイスであることを知る必要があります。これは、正当なユーザーインタラクションを検出するための安全なプロトコルと方法によって実現されます。

リレーを介して不適切に設計されたプロトコルを使用する一部のデバイスでは、近接性が偽造される可能性があります。最も一般的なのは、キーフォブ(信号増幅)およびガレージドアオープナー(ジャム/スティール2とリプレイ1番目、2番目を後で保存)です。

2番目の要素を追加することは難しくありません。通常はコストの問題です。ジャム/スティール攻撃は、コピーを作成しているときに送信機からデバイスへの信号を2回ジャムし、最初の信号をデバイスに送信してアクティブにします。次に、2番目のコピーを使用して、攻撃者の制御下にあるデバイスをアクティブ化します。これにより、ローリングコードトランスミッターと暗号的に強化されたインクリメントカウンターを備えたトランスミッターの両方がバイパスされます。両方のデバイス上で、コードの一部として同期されたタイムコードは、通常、この攻撃を打ち負かします。タイムコードを同期してそのように維持するには、両方のデバイスで高精度の(そして高価な)クロック、より多くの電力、および追加のユーザーの労力が必要です。

ただし、タイムコードは通常、信号増幅攻撃には役立ちません。距離を推定するために、デバイスのハンドシェイクの処理にかかる時間を正確に測定するなど、近接性を検出するためのより良い方法が役立ちます。過度の応答時間は、アクティブな攻撃を示している可能性があります。父の20歳のメルセデスベンツはRFに加えてキーフォブにIR送信機を持っていたので、車はキーフォブが誤ってポケットに押し込まれていないことを確認できました。また、他のドアの1つから誰かが車に忍び込むのを防ぐために、それが向けられた特定のドア(またはトランク)のロックを解除しました。これにより、RFリレー攻撃のみが防止され、攻撃者の機器のコストと労力が増加しました。

正当なユーザーインタラクションを検出する追加の方法には、タイムフェンシング(提案したとおり)、ジオフェンシング、手の検出(静電容量式タッチを使用)、ジェスチャセンシング、温度センシング(クロックとプロセッサの速度を変更する攻撃を検出する)が含まれます。

より最適なデバイスプロトコルには、大きなキー、タイムコード、カウンター、およびメッセージの受信応答を使用した暗号認証されたハンドシェイクが含まれます。このタイプのプロトコルは、組み込みデバイスに大量の電力を使用するため、このようなものを大規模に採用するには、より優れた電力効率と大容量のバッテリーが必要です。電話への実装は簡単ですが、超低電力デバイス(BTLE、IOT、スマートカードなど)ではそうではありません。少なくとも現時点ではありませんが、効率は絶えず向上しています。

実装のコストは、デバイスの存続期間中に成功した攻撃の努力と、悪いPR、訴訟などの形でのそのような攻撃からの可能なコストに対して重み付けする必要があります。

私はこれを短くすることができず、少し話題から外れました。うまくいけば、すべての情報が質問に関連しているはずです。


これが私がIRCサービス制御に使用する基本的なプロトコルです。それは短くて単純で、多くの使用シナリオに適用できます。

A: Hello B, I am A, I would like you to do X<br>
A: B + A + H_1 + X + T_A + C_A + MAC_A(msg)

B: Hello A, you are authorized for X<br>
B: A + B + H_2 + X + T_B + C_B + MAC_B(msg + Z_A)

A: Thanks B, please do X now, over<br>
A: B + A + H_3 + X + T_A + C_A + MAC_A(msg + Z_B)

B: Ok A, I will do X now, over and out<br>
B: A + B + H_4 + X + T_B + C_B + MAC_B(msg + Z_A)

ここで、AとBはシリアル番号またはデバイス識別子、C_xはデバイスxに固有のインクリメントカウンター、T_xはデバイスxの現在のタイムコード、H_xはハンドシェイクのパートxの識別子、Z_xはデバイスの最後のMAC応答です。バツ。メッセージは暗号化され、大きな事前共有キーで認証されますが、キーフォブやガレージドア開閉装置などの場合は認証のみが必要です。

2
Richie Frame

いいえ、セキュリティの原則に違反することはなく、そのような改善はありません一般的に無駄な防御とは見なされません。

このすべてのポイントは、安全なシステムはしばしば一種のタマネギとして設計されているということです。各セキュリティ層には独自の長所と短所があります。安全なシステムを構築する際の目標は、あるレイヤーの弱点が他の別のレイヤーの利点によって相殺されることです。

上記の「一般的に」という用語を強調しました。これは、いわゆるセキュリティシアター:既存のレイヤーよりも補足的な利点を追加しない補足レイヤーを追加することが多いためです。これらは、何も追加せずに「より良いセキュリティ」という誤った感覚を与える余分なレイヤーです(無駄に複雑さが増す場合を除く)。

しかし、あなたがあなたの質問で説明したように:

  • いくつかのセキュリティ上の利点を提供するキーレスエントリーフォブがありますが、いくつかの弱点を特定しました。
  • プロパティが既存のセキュリティレイヤーと補完する別のセキュリティレイヤーを追加することを提案します。

したがって、全体として、システムのセキュリティが向上します。

0
WhiteWinterWolf