英国では、スマートカードとリーダーを使用してオンラインバンキングにログインするのが一般的です。カードを挿入し、PINを入力して、リーダーから8桁のコードを取得し、オンライン銀行のWebサイトに入力します。銀行からはシードされていないことに注意してください。カードとPINです。
返された8桁のコードはランダムではない(特に最初の2桁は同じである)といつも思っていたので、追跡を始めました。基本的に、8桁のコードは、毎回約60,000〜90,000ずつ単調に増加しています。
これは私がこれが機能することを理解した方法に基づいて正しくないようです。明らかに、識別アルゴリズムのシードには非常に低いエントロピーがあります(私が正しく理解している場合のみ、カードの内部カウンターを使用します)が、カードの3DESはノイズのような8桁のコードのシーケンスになると考えました。
これは本当にシステムが機能するはずですか?
プロトコルは 失敗するように最適化:オンラインバンキングのカードリーダー-Drimer、Murdoch、Anderson 2009 で説明されています。
この論文は、HBOSについて言及するだけでなく、Natwest&Barclaysの読者の画像を示しています。視覚的には、Nationwide、Coopなどの読者も同じです。私の知る限り、これらのデバイスは2009年以降変更されていません。当時から使用しているデバイスはまだ機能しています。
ビットフィルターはバンクによって異なるようです。最初の数ビットは「暗号化識別データ(CID)タイプコード」のようですが、トランザクション全体で一定であると思います。次の数ビット(その数は異なります)は、「アプリケーショントランザクションカウンター(ATC)」から来ているようです。これは、各トランザクションで増加すると予想されます。これが、あなたが見る大きな増分がどこから来るのかを期待しています。
発行者アプリケーションデータもエントロピーのソースではありません。
これにより、「アプリケーションクリプトグラム(AC)」が残ります。これは、カードのセッションキーに関連するMAC(ハッシュの形式-通常は3DES CBC)です。エントロピーの主な原因となるこの10〜20ビットが使用されているようです。