私は地元のマクドナルドを訪問しましたが、ビザ番号の一部がレシートに次のように繰り返されていることに気づきました:NNNN NN__ ____ NNNN
。 (つまり、合計16桁のうち、最初の6桁が表示され、中央の6桁が非表示になり、最後の4桁が再び表示されます。)
したがって、6桁しか非表示になりませんでした。正しい数を見つけるには1.000.000回の推測が必要ですが、必要な推測の数をさらに100.000に減らすチェックサムもあります(私の計算では、おそらく間違っています)。
何桁公開できるかというポリシーはありますか?企業が真ん中の6桁のみを非表示にすると、カードが危険にさらされる可能性がありますか?
PCIに従って、最初の6つ(BIN)と最後の4つを表示できますが、その他はマスクする必要があります。
2008年の公式PDFから: PCIデータストレージの推奨事項と禁止事項 :
個人識別番号(PIN)またはPINブロックを保存しないでください。表示される場合は、必ずPANをマスクしてください。最初の6桁と最後の4桁は表示できる最大桁数。
[〜#〜] pan [〜#〜]isPrimary Account Number
準拠に関しては、レシートの印刷に使用されるデータ端末は準拠しています。
sensitiveはsecretを意味しないことに注意してください。カード番号は、金融取引の開始に使用できるため「機密」ですが、秘密ではありません。 PINコードのみです。
以前は、小切手に口座番号全体が書かれているように、完全な番号が領収書に書き留められていました。オンラインビジネスは検証なしでVISAカード番号のみを使用するため、銀行は詐欺のリスクが高すぎることを認識し、領収書の情報を部分的に非表示にすることを選択しました。しかし、完全なカード番号は、オンライン購入を開始したWebサイトのほとんどすべての従業員に知られています(または少なくともアクセス可能です)。
TL/DR:銀行が怠惰すぎて印刷されたレシートにカード番号を隠すことができない場合、それはあなたの問題ではなく、彼らの問題です。あなたはそれに対して責任がないので、あなたからの過失はありません。
米国では、2005年の 公正かつ正確な信用取引法 (FACTA)により、クレジットカード番号の5桁を超える印刷は禁止されています。したがって、領収書はPCI規制に準拠していますが、米国にいる場合は法律に準拠しません。しかし、あなたのプロフィールはあなたがスロベニアにいると言っており、私は同様のスロベニアやEUの法律を知りません。
世界中で約10億枚のVisaカードが流通しているため( (883.5 millions in 2012 )、各カードには14桁の一意の数字があります(最初の1つは常に4
そして最後の1つはチェックサムです)、事前の情報なしで有効な数値を見つけるには、平均で50.000回の推測が必要です。
このように、ハッカーがあなたの番号を推測することに特に興味がない場合、ハッカーはそれを取得したとしても、単にあなたのレシートを無視する可能性が高いです。
別のユーザーが述べたように、PCIコンプライアンスルールに従って、これは完全に許容されます。
私は物事がこのようになっている理由を少し正確に明らかにしたかったのです。まず、カード番号の最初の6桁が「よく知られている」と見なされる番号であるBINを構成します。これは、カードを発行した機関に割り当てられた番号であり、その機関のメンバーである他のすべてのカード所有者はBINを共有します。したがって、BINを表示しても、攻撃者がBINリストを見ただけでは取得できない情報は得られません。 BINを不明瞭にすると、セキュリティがごくわずか(「自明」と言われることもあります)しか提供されないので、なぜマスクするのですか?平文のBINは、支払い処理で日常的に使用されており、マスキングすると、セキュリティがほとんどゼロになるという問題が発生します。
通常、最後の4つを表示することは、調整などに使用したときにカードを一意に識別するには情報が多すぎるか不十分であるかの間の最良の妥協案です。クレジットカード番号を頻繁に使用する場合、2つの同一のマスクされたカード番号に偶然出会うことがあります。しかし、1/10,000の確率で起こります。
これら2つを組み合わせても、おそらく「データ泥棒に10の数値を与えると、検索スペースが100万に減少し、チェックサムによって100,000に減少します」という点に戻るでしょう。
有効なポイントがありますが、それはどういう意味ですか?それは、泥棒が99,999の悪いクレジットカード番号と1つの良いクレジットカードのリストを持っていることを意味します。クレジットカード番号には、「正しい」番号を知っていることを知らせる情報は本来含まれていません。暗号化パズルを解くようなものではありません。カードが「良い」かどうかを知るには、カードを提示する必要があります。つまり、1枚のカードでも解読するには、販売者の支払いプラットフォームを危険にさらし、それを見つけるために平均50,000トランザクションを実行する必要があります。商人がトランザクションごとに請求されることを考えると、誰かがこの種のことをできないようにすることは彼らの利益に大いに役立ちます。また、マーチャントが自分のマーチャントアカウントの資格情報を保護する上で前向きであったとしても、支払い処理業者はこの種のことを検出し、数秒以内にアカウントをシャットダウンします。