web-dev-qa-db-ja.com

Paypalは私のカードが別のアカウントで使用されていることをどのようにして知ることができますか?

クレジットカードをメインのPaypalアカウントに保存しました。簡単に言えば、元のアカウントに接続されていない別のPaypalアカウントを作成する必要がありました。

元のコンピューターにログインしたことがない別のコンピューターを使用しました。クレジットカードをアカウントに登録しようとすると、Paypalから、登録できないと言われました。

このカードはすでに別のPaypalアカウントにリンクされています。

彼らはどうやってそれを知ることができるでしょうか?私のクレジットカードは私のアカウントでのみハッシュで保存されるべきではありませんか? Paypalが登録されているすべてのカードを相互参照できるように1つの大きなファイルに保存するのはなぜですか?

33
TheAsh

カードを複数の場所で使用したかどうかをPaypal(またはより一般的には任意の支払いサービス)が認識できる理由はいくつかあります。

クレジットカードは可能な限りすべて追跡されます

私のクレジットカードは私のアカウントでのみハッシュと共に保存されるべきではありませんか?

カードがハッシュ化されている場合、アカウント間で簡単に比較できます。ハッシュは確定的であるため、固定ハッシュアルゴリズムの場合、特定のクレジットカードは常に同じハッシュを提供します。したがって、ハッシュを保存している場合、アカウント間で簡単に比較し、カードがすでに別の場所に保存されているかどうかを判断できます。これは詐欺を防止するために使用されているので、そうすることには利点があります(同じカードが複数のアカウントに追加された場合、それは詐欺が原因である可能性が高いという意味です)。クレジットカードの「安全な」ハッシュを取得したら、さまざまなアカウントでそれをチェックする理由がないことはありません。 Paypalは確かにできます。

ただし、この機能はPaypalに限定されず、はるかに小規模な販売者が簡単に利用できます。たとえば、Stripe(一般的なPCI準拠の支払い方法)の場合、販売者にはStripeに保存されているクレジットカード番号ごとに一意の識別子が与えられます。マーチャントはカード番号を保持しません(または表示しません)が、与えられたハッシュをシステムで使用されている他のカードハッシュと比較できます。これは、PCIコンプライアンスを維持しながら、複数のアカウントと匿名のトランザクションにわたってユーザーの購入履歴を追跡するという、より控えめな目的に簡単に使用できます(使用されます)。

明確にするために、クレジットカード番号は、たとえクレジットカード番号自体を知らなくても、手にできる限り多くの人々によって追跡されます。

Paypalは、ハッシュだけでなく、実際のクレジットカード番号をファイルに保存します

小規模な販売者は、実際のカードの詳細を確認したり、保存したり、送信したり、確認したりすることができます。ただし、販売者が希望する場合、実際のカード番号を保持することを禁止する要件はありません。一般的には、カード番号をファイルに保存し、PCIに準拠したままにすることを希望する販売者は、(理論的には)より厳密な検証とセキュリティ監査を受けなければならず、実質的に多額の料金を支払う必要があります。 PCIへの準拠を維持しながらクレジットカード番号をファイルに保存することによるコストと責任の増大は非常に大きいため、適度に良好に運営されている中小企業は決して試みません。

ただし、大企業は、他の方法を選択できます。実際には、誰かがカード番号をどこかに保存して、カードに請求できるようにする必要があります。大きなクレジットカードプロセッサ(Paypalは間違いなくあります)は、完全なカード番号を確実に保存します。強力な暗号化と安全なキー/アクセス制御手順を使用して番号を保存する必要があります。

クレジットカード番号が2回使用されていると実際に判断する方法の詳細については、最終的にはPaypalだけがそれに答えることができます。彼らは暗号化されたカード番号を直接比較する方法を持っているかもしれませんが、おそらくまたカード番号のハッシュを保存してそれらを直接比較します( h/t Jory Geerts )。いずれにせよ、彼らはあなたのカード番号をファイルに保存し、アカウントとカード番号を比較することができます。

これは、「すべての登録済みカードを1つの大きなファイルに保持して相互参照できる」という意味ではありません。安全なカードストレージのインフラストラクチャは、それよりもはるかに複雑です。ただし、彼らは明らかにアカウント間でカードを比較できるように説得力のあるビジネスニーズがあり、両方のカードを安全に保存できるようにインフラストラクチャをセットアップしていますおよびアカウント間の重複もチェックします。リンクされたコメントに同意します。彼らもクレジットカード番号の安全なハッシュを計算し、簡単に比較するためにそれを使用していると思います。

82
Conor Mancone

Paypalは販売者ではなく支払い処理業者であり、支払いを処理するときにカード番号を銀行(またはカード発行会社)に渡す必要があるため、カードに復号化できる方法でクレジットカードを保存する必要があります。番号。 PCI-DSSに準拠するには、サーバー上のこれらの情報を暗号化し、より厳しいPCI-DSS要件すべてに準拠する必要がありますが、一方向ハッシュを使用して情報を保存し、支払いを処理することはできません。

それでも、情報が一方向のハッシュで格納されている場合でも、重複を検出するために正確に一致する数値を見つけることは、かなり簡単です。

22
Lie Ryan

カード番号は長い間、Paypalのリスク評価プロセスの一部でした。以前はウェブペイメントプロ製品を使用していましたが、誰かがカード番号をチェックアウトに入れてPaypalがそれを拒否するという問題が時々ありました。

  1. 詐欺警告が記載されているPaypalアカウントに関連付けられていた(Paypalによって内部的に評価される場合もある)
  2. カードは以前に悪い俳優の活動で見られていました

これはすべて、時代遅れのPCIコンプライアンスです。 #1は文字通りPaypalに電話して問題を直接解決する必要があるため、問題がありました(アカウントが数年間閉鎖されている場合があります)。これはPaypalによる新しいアクティビティではありません。

PCIはこれを必ずしも禁止していません。カード番号は、有効期限と同様に、全体として保存できます。 CVV2番号のみの保存は禁止されています。そのようなカードデータを保存する場合、特定のセキュリティ基準を満たす必要があります( 詳細についてはこの質問を参照してください

6
Machavity

彼らはカードが一度だけリンクされるかもしれないというルールを持っています。調査に使用する画像はプレーンテキストではない可能性があり、ハッシュする前に「パック」(COMP-3またはBCD)されている可能性がありますが、衝突を回避するのに十分なエントロピー(高濃度)である必要があります。

これは単なる数値ではなく、有効期限であり、場合によってはcvvでもあります。すべてのクレジットカード番号は、4桁のBINで始まり、Luhnアルゴリズムに基づくチェックディジットで終わります。特にVisaおよびMasterCard銀行がサブ製品情報に次の2桁または3桁を使用する可能性がある場合は、桁数が残っているため、これらは必ずリサイクルされます。従業員として発行された特定のカードの最初の10桁を使用した銀行を知っています。したがって、遅かれ早かれ、別の番号を取得すると、誰かがあなたの番号を取得します。

既存の値のインデックスを調べるのは非常に簡単です。

1
mckenzm