私は最近、私のパートナーが私のアカウントで使用する2つ目のクレジットカードを申請しましたが、彼女のプリセットPIN番号が私のものと同じであることが判明しました。
開発の背景から来て、私はPINSが何らかの方法でハッシュされていると思いました。
これが偶然である可能性は非常に低いようです。なぜクレジットカードのPINは(うまくいけば)暗号化されるのではなくハッシュされて保存されず、2番目のカード用に新しいPINを生成しないのですか?
4桁のPINをハッシュするとどうなりますか?各PINに独自のソルトがある場合でも、PINを取得するには10.000ラウンドが必要です。それらはおそらくローカル従業員などのために暗号化されて保存されますが、そこで働くエンジニアにとって、データベースからPINを取得することは大きな問題ではありません。
私はこれが前の同僚に起こるのを見ました:彼は彼が彼の銀行に新しいカードを要求したとき、彼は同じPIN番号を持つものを手に入れました。
考えられる説明:
「平文で」とは、マシンが読み取り可能な方法で保存されていることを意味します。安全な場所にキーが保存された暗号化されたデータベースである可能性があります。ポストイット上で平文であることを必ずしも意味しません。
私の推測では、同じPINを取得できて本当に幸運でした。結局、それはたった4桁であり、同じものを得るチャンスは1/10000です。奇跡は毎日起こります。
これをテストするには、別の銀行口座を開いて同じことを行うことができます。これが2回発生する可能性はかなり小さくなります。 :-)
PINの種類はすべて、TPINS(モバイル/テレコムベースのトランザクションで使用)またはFPIN(通常はEバンキングで使用)は、HSMによって生成されます。
HSMs PAN、アカウント番号などの提供された情報に暗号化操作(これの詳細は製造元とHSMのタイプによって異なります)を適用することによりPINを生成します。簡単に言うと、PINは、上記のすべての情報を4桁で圧縮したzip形式です。
unique
PINを取得するには、この目的でHSMに提供される一連の情報に少なくとも1つの一意のエンティティが必要です。お客様の国民ID番号のように。しかし、PIN=が繰り返されている場合、銀行は、PAN、口座番号などの情報を使用しているセットに一意のエンティティがないことを意味します。ケース、したがって同じPIN。
ただし、これは構成の間違いと呼ばれる可能性がありますが、とにかくそのカードの使用を開始する前に常に初期値PINを変更する必要があるため、セキュリティ上の欠陥になることはありません。