そのため、合理的に有能な Web 開発ショップと同様に、クレジット カードに触れるときは綿の手袋を着用し、Braintree SecureVault を使用してクレジット カードを保存し、PCI コンプライアンスの問題を回避しています。
ただし、現在、サービスの無料トライアルを提供したいと考えています。これは、無料トライアルで特定のクレジットカードが1回だけ使用されることを保証できることにほとんど依存しています. 理想的には、一意性を保証するためにクレジット カード番号自体をハッシュできるようにすることです。問題は、有効なクレジット カード番号のセットが少ないことです。そのため、クレジット カード番号をブルート フォース攻撃するのは簡単です。私が見る限り、ソルティング戦術は無用です。誰かがハッシュのデータベースにアクセスできる場合、おそらくコードもソルティング アルゴリズムも持っているからです。
これまでのところ、最良の 2 つのアイデアは次のとおりです。
A) 請求情報とは関係なく、ハッシュを分離してセットに保持する。したがって、ハッシュがブルート フォースである場合、ある時点で使用されたクレジット カード番号のリストだけが残り、個人情報や、それがまだ有効であるかどうかさえわかりません。ここでの主な弱点は、ある程度一致させるために使用できる可能性のあるベスト 4 の記録があることです。
B) 完全な数値なしでハッシュし、偽陽性と偽陰性に対処します。name、last-4、および有効期限のハッシュは、かなり一意である必要があります。偽陽性は宝くじに当たるようなもので、カスタマー サポートで対処できます。名前の変更によって偽陰性が誘発される可能性があります。名前の一致の精度についてどのような保証があるかは明確ではありません (ゲートウェイとマーチャント アカウントの両方によって影響を受ける可能性があると私は理解しています)。
考え?提案?試練に満ちた知恵?