Androidタブレット(Samsung Tab S2)とBluetoothキーボード(Celicious Tri BK01)を持っています。キーボードを使用してパスワードを入力することがあります。
AndroidでBluetoothトラフィックが暗号化されているかどうかを確認する方法はありますか?それが十分に強力な暗号化であるかどうかはどうすればわかりますか?
特定のキーボードでは、暗号化に2レベルのE0を使用し、鍵交換にP-192を使用します。
Bluetoothは常に暗号化を使用します。ただし、バージョンによって、使用する暗号化プロトコルは異なります。
それで、各バージョンはどの暗号を使用しますか? Bluetooth BR/EDRの場合:
2.1より前のバージョンでは、キー交換は使用されていません。キーは事前共有されており、通常は非常に弱いPINを使用します。キースペースが小さいため、ブルートフォースに対して脆弱であることがよくあります。暗号はE0です。これはかなり弱く、十分なデータが与えられている既知のプレーンテキスト攻撃で破られる可能性があります。
2.1から4.0までは、ECC、特にNIST P-192曲線を使用してキー交換が実行されます。これは、古典的なセキュリティの約96ビットを提供しますが、優れていませんが、まだ破ることは現実的ではありません。やや弱いE0暗号を使用しますが、いわゆる2レベルE0を使用します。これは、暗号を2回使用するより安全な構成です。 Bluetoothでの使用方法に対する実際的な攻撃は知られていないが、攻撃は良くなるだけでなく悪くなるため、暗号は弱いものと見なされるべきである。
4.1以降、鍵交換ははるかに強力なECC曲線P-256を使用して実行されます。これにより、約128ビットの従来のセキュリティが得られます。使用される暗号であるAESもE0より優れています。これらのバージョンのBluetoothは、通常、パッシブ攻撃の影響を受けません。アウトオブバンド認証が使用されておらず、代わりに弱いPINが認証に使用されている場合は、アクティブなMITM攻撃が可能です。
Bluetooth Low Energy(LE)は少し異なり、4.0以降のみサポートされていました。バージョン4.2以前では、Bluetooth LEはキー交換メカニズムを使用しないので、パッシブ攻撃に対して脆弱です。これは深刻なリグレッションであり、LEの代わりにBR/EDRを使用するか、LEバージョン4.2以降(鍵交換用にP-256を再導入)のみを使用することによってのみ軽減できます。
クイックWeb検索によると、Celicious Tri BK01 Bluetoothキーボードはバージョン3.0を使用しています。つまり、キー交換にP-192を使用し、暗号化に2レベルのE0を使用しています。このキーボードに対して使用できる実用的な暗号化攻撃は知られていないが、E0の設計の弱点とP-192のかろうじて十分なセキュリティは、近い将来の暗号解読の進歩により脆弱になる可能性があることを意味します。長期的なセキュリティが必要な状況では使用しないでください。
ここで、realの質問は、どのような種類の暗号化が使用されているかではなく、パスワードやその他の機密情報を入力するためにどれほど安全であるかということです。 EMSEC(TEMPESTタイプ)の問題を除いて、タイミング攻撃の可能性があります。キーを押すたびに、キーボードがワイヤレスですぐに送信します。キープレスは暗号化されている場合がありますが、キーが押されたこと、およびキーが押された(および解放された)正確な時刻は隠されていません。一連のキーを押すと他のシーケンスとは異なるタイミングパターンが発生するため、タイミングパターンを表示するだけで潜在的なパスワードを推測することができます。この問題は、パスワードを頻繁に入力するほど大きくなります。攻撃者が暗号化されたデータと送信の正確なタイミング間隔の両方を収集している可能性がある場合、十分な回数入力するとパスワードが明らかになる可能性があります。
関連: