web-dev-qa-db-ja.com

銀行のデビットカードリーダーは、自分のPINが有効であることをどのようにして知ることができますか?

ATMがPINを受け入れるのはなぜですか? は、ATMが私のピンを認識しておらず、ピンもカード上にないことを示しています。

私の銀行には次のシステムがあります。

Belfius card reader

5つの段階で機能します。

  1. ウェブサイトにデビットカード番号を入力します。
  2. Webサイトでは、マシンに入力するための8桁のコードが表示されます。
  3. カードをマシンに挿入し、M1ボタンを押して8桁のコードを入力します。
  4. コードを入力すると、マシンが4桁のPINを要求し、すぐにそれが正しいかどうかを尋ねます(「PIN OK」と表示する)。
  5. 次に、マシンからWebサイトに入力するための7桁のコードが提供され、それによって私が認証されます。

このマシンは、コードがカードにない場合、コードが有効であることをどのようにして知ることができますか? M1およびM2ボタンはメモリボタンではなく、特定のワークフローを開始するボタンであることに注意してください。M1はシステムでの認証用で、M2はトランザクションにデジタル署名するためのものです。

8
Nzall

カードはこれを知っていますが、リーダーは知りません。リーダーにピンを入れると、カードのマイクロコントローラーと通信して確認します。これにより、誤った試行もログに記録されます。そのため、複数の読者が誰かのピンを推測しようとするのに役立ちません!
多かれ少なかれ私の知識の範囲ですが、それがどのように機能するかの概要です。残念ながら私は知りませんが、基になるプロトコル。しかし、私がこれまで見てきた中で最も優れたチップとピンの研究者は、ケンブリッジの人たち( http://www.cl.cam.ac.uk/~rja14/ )であり、彼らに対する法的脅威にもかかわらず。より良い答えがすぐに来るでしょう!

9
user2867314

デビットカードにEMVチップが搭載されている場合(ほとんどすべてのチップは現在のEMVに基づいています)、おそらくPIN(または少なくとも入力したPINを確認する方法)を知っています)。

その機能が実際に使用されるかどうかは、トランザクションのタイプと端末によって異なります。端末がオンライン対応の場合、PINが銀行のサーバーと直接確認され、PIN(または派生した確認値)も知っている) 。これは、ATMに関する参照された質問の動作を説明します。ATMは、カードの組み込みPIN検証機能を無視することを選択するだけです。

あなたのリーダーは明らかにあなたのカード以外には何も接続されていないので、あなたが入力したPINは実際には、リーダーではなく、カード自体で実行されているソフトウェアによって検証されます。

リーダーは、入力されたPINをカードに提供します。それらが一致する場合、トランザクションは続行できます。それらが一致しない場合、カードの内部カウンターが減分され、再試行できます(ただし、さらに数回のみ)。

4
lxgr

それは本当に「PIN OK」を意味するのでしょうか?正しいPINを入力したという意味ですか?私の銀行も同様のシステムを使用しています。カードをリーダーに入れ、PINを入力します。銀行は、私がリーダーに入力する8桁のコードを提供します。リーダーは8桁のコードを返します。入力されたPINがこのコードを生成するのに正しいかどうかを知る必要はありません。間違ったPINを入力すると、Webサイトで受け入れられない別のコードが返されます。

Card-id + PIN + request code => validation code

どちらかが間違っていると、間違ったコードになります。あなたのカードはこれを機能させるためにPINを知る必要はありません。しかし、それは異なるかもしれません。

0
SPRBRN

8桁のコードはPINに数学的に関連している可能性があります(つまり、両方の特定のハッシュの合計が事前定義された静的な値に到達する)ため、8桁のコードはPINを検証および確認する方法として機能できます。 Digipassシーケンスの詳細を調べる1つの可能な方法は、ランダムな(おそらく正しくない)8桁のコードを入力することです。コードはすぐに拒否されますか、それともマシンがPINを拒否しますか?このようなシステムの詳細については、次を参照してください: http://en.wikipedia.org/wiki/Chip_Authentication_Program

0
Jeff Meden