L. Padillaが Breaking VISA PIN を読んでいました。 PINを変更すると、カードに保存されたデータが変更されると述べました。しかし、私はいくつかのカードを試しましたが、PINを変更してもデータには影響しませんトラック1と2に保存されます。
どうすればそれを解釈できますか?
これらのデータからPIN=を抽出する方法はありますか?
ここにいくつかのサンプルデータがあります:
Track1:
PAN:6104XXXXXXXXXXXX
Expiration date:1608
service code:100
Discretionary data: 91516084076901530
Track2:
PAN: same as track1
Expiration date:1608
service code:100
Discretionary data:9154177591894
別のリーダーを使用する:
;6104XXXXXXXXXXXX=16081009154177591894?
過去に彼らはPINをカードにエンコードしましたが、うまくいけば(テストが示すように)停止しました。引用した記事は2009年のものであるようです。日付の。
PINをカードにエンコードしない理由については、電子認証ガイドラインであるNIST Special Publication 800-63-2を参照してください。多要素認証の場合は、 「あなたが知っているもの、あなたが持っているもの、あなたは何か」の組み合わせで構成されています。カードとPINシステムでは、何か(カード)を持ち、何か(PIN)を知っています。 PIN=をカードにエンコードすると、単一要素認証であり、それほど安全ではない何かしかありません。
クレジットカードのPINのセキュリティに関心がある場合は、次をご覧ください https://www.pcisecuritystandards.org/documents/PCI_PIN_Security_Requirements.pdf 。これは、PINSを保護するためのPCI要件です。
裁量データの違いに関しては、これらはいくつかの情報源に由来する可能性があります。 ISO/IEC 7813から、トラック1と2の最大レコード長は異なります。 DDは、文字のバランスを埋めるために使用されます。
任意データの場合、実装は発行会社に任されています。それが何を含んでいるかについては、発行会社からのドキュメントを見ればわかるかもしれません(私はあなたが奇妙なこと以外の何かが起こったことを見つけるのではないかと思います)。適切な長さに到達するためのランダムなパディングである場合と、追加のデータが含まれる場合があります。 https://stackoverflow.com/questions/12239855/discretionary-data-from-magnetic-strip-credit-card-how-to-parse を参照してください。
ピンの要点は、カード上ではなく銀行のコンピュータ上にあるため、カードに物理的にアクセスしてもその情報を提供できないことです。カードに記載されている場合は、より長い口座番号になります。
いいえPINは磁気ストライプに保存されます。本質的に2種類のPINカード決済で使用される戦略:オフラインとオンラインPINがあります。
オフラインPINには、PIN値を改ざん防止モジュールのチップ内に安全に保存する必要があります。検証中に、カード所有者が入力したPIN値は検証のためにモジュールに送信されます。
オンラインPINシナリオは、セキュリティ保護されたPINの値に対する検証のために、承認リクエストでPINを金融機関のホストに送信します彼らのデータベース。
スクリプトを使用してPINをチップカードで変更できる場合は、オフラインでPINチップを変更している可能性があります。磁気ストライプのPINの可視性。
他の2つの回答に追加するには、磁気ストライプ上のデータを IEC_781 エンコーディングを使用して保存します。 Wikipedia によると、任意データにはPINが含まれる場合があります。通常はありません。
使用した方法の私の回想はおおよそ次のとおりでしたが、どちらもある程度のセキュリティがあり、オフラインを許可していますPIN変更。
磁気ストライプのコードはPVV(または「PINオフセット」)と呼ばれる場合があります。たとえば、 here と here は、2番目からの古いリファレンスです(セクション3.1の終わり):
最後に、カード所有者がPINを変更できるようにするために、メインフレームデータベースにアカウント番号とともに保存されるオフセットが追加されます。 ATMは、入力されたPINを検証するときに、暗号化の10進数化された結果に対して値をチェックする前に、カードからオフセットを差し引くだけです。
最新のリファレンスについては here (下記の注を参照)を参照してください。
PINCP:PIN制御パラメータ(PINPARM)。6桁:
FC = 01の場合、最初の2桁はPINの計算に使用されるアルゴリズムを表します。00-09はプライベートアルゴリズムを意味し、10-19はDEAを意味し、値20〜99はISO/TC 68による将来の使用のために予約されています。次の4桁は= PINオフセット、PINの補足値により、顧客はPINまたはPVVを変更できます。
FC = 02の場合、最初の桁はPINの計算に使用されるアルゴリズムを表します。0はプライベートアルゴリズム、1はDEAを意味し、値2〜9はISO/TC 68による将来の使用のために予約されています。2桁目はアルゴリズムのキーを表します。次の4桁はPINオフセット、PINの補足値なので、顧客はPINまたはPVVを変更できます。
このフィールドを使用しない場合、FSが配置されます。
(上記は記憶から行われ、その後Googleで検索されましたが、そのときに初めて、記事が実際に参照したものと同じように見えることに気付きました)。
PINはチップにのみ保存され、おそらくハッシュ形式で保存されます。磁気ストライプには保存されません。磁気ストライプには目に見えるエンボス情報のみが含まれるため、磁気ストライプリーダーはインプリントリーダーと同等であり、チップではありません- and-PINリーダー。
引用された論文は2002年に書かれたことに注意してください。古い規格が異なっていた可能性があります。
可能な磁気ストライプでサービスコードを変更できるので、プリペイドの電子使用をATMでのキャッシュアウトに変えることができます。