web-dev-qa-db-ja.com

クレジットカード情報を別のサーバー/ウェブサイト(PCI)に送信する方法

私の会社には、クレジットカードを保存/処理するWebサイト/サービスがあり、PCIに準拠しています(サイトA)。また、処理のためにクレジットカードデータをそのサイトに送信する必要のある店舗のあるWebサイトもあります(サイトB)。誰かがサイトBで何かを注文し、請求情報を入力した場合、その情報をサイトAに送信してPCI準拠を維持するにはどうすればよいですか?

彼らが支払い詳細を入力しているとき、明らかに彼らはサイトBの安全なページにいます。

サイトBの安全なページからサイトAの安全なページにフォームを投稿することはできますか?この取引中にクレジットカードを暗号化する必要がありますか?明らかにそれはある種の暗号化された状態で保存されますが、送信トランザクション中に暗号化する必要がありますか?

秘密鍵など、ウェブサイト間で何らかのハンドシェイクを設定する必要がありますか?もしそうなら、そのキー/ハンドシェイクを作成する安全な方法は何でしょうか?

私たちは具体的な答えを見つけようとするPCIコンプライアンスについて何度も読んでいましたが、それは一種の主観的であり、私たちがしていることになっていることを不明瞭にしています。

この質問は現在 StackOverflow にも投稿されています。

5
mikemick

PCI DSSは、カード会員データを保存、処理、または送信するすべてのシステムに適用されます。上記のシナリオでは、法律の書簡に対して、すべてのシステムに標準を適用する必要があります。サイトBを構成するネットワーク.

サイトBにカード会員データを保存していないので、たとえば、私が見る限り、「要件3-保存されているカード会員データを保護する」の全体がカバーする必要がある作業量を少なくとも削減します。なし。

ただし、ファイアウォール/ DMZアーキテクチャなどが適切にまとめられて管理されていること(要件1)、サイトAとサイトBの間の接続が「オープンなパブリックネットワーク」を介している場合、カード会員データは送信時に暗号化されることを確認する必要があります。インターネットのように。

ポイントを拾い、@ Rookをエコーするには、SSLがこの目的に適しています(要件4.1を参照)。この時点では、カードデータをハッシュまたは暗号化するためにneedする必要はありません。安静時のみです。

標準を移動すると、他のほとんどすべてが適用されます。システムは強化する必要があります(要件2)、ウイルス対策(システムが「ウイルスの影響を一般に受ける」場合)、パッチ管理(要件5)、適切なソフトウェア開発プロセス(要件6)-伝説の6.6、コードレビュー、またはWAFを忘れないでください。

強力なアクセス制御(要件7および8)、物理的セキュリティ(9)、ロギングとモニタリング(10)、定期的なテスト(11)、および適切な情報セキュリティ管理(12)は、私が見る限りすべて適用されます。

これらの要素がない場合、私が攻撃者であれば、サイトBをターゲットにして、顧客からの入力として、またはサイトBからサイトAに送信するときに、サーバーから直接データを取得します。

これは実際には支払い処理の世界で一般的なシナリオです(Paypal、WorldPayなどを考えてください)。 「マーチャント」(クレジットカードの支払いを行う人)は、通常、支払いプロセッサと統合してクレジットカードの支払いを行う場合、2つの選択肢があります。

1)彼らは通常、Webフォームを介してカードデータを受信し、次にPOST承認のためにそのデータを支払い処理業者のAPIに送信します。これは通常、大規模な販売者によって行われます。システムに対応して更新し、お客様に適切に対応します。

2)彼らは顧客を支払い処理業者に「リダイレクト」し、支払い処理業者は自分のWebサイトのフォームからカードデータを取得するため、販売者はカードデータをまったく見ることができません。商人は、通常、注文が成功したときに、「帯域外」HTTP POSTによって商人のWebサイトにアクセスします。顧客は画面上に即座に結果を表示します。

オプション1では、マーチャントは完全なPCI DSS=コンプライアンスを達成する必要があります。オプション2では、マーチャントはカードデータを保存、処理、または送信していないため、コンプライアンスの必要はありません。

サイトBが現在PCI DSS=コンプライアンスの範囲外であり、それを維持したい場合は、サイトAとサイトBで直接支払いデータを取得する手段を開発することをお勧めします人々をそのように指し示すだけです。

これがお役に立てば幸いです。私はPCIで多くの経験を積んでいますDSSですので、さらに議論させていただきます。ただし、標準の免責事項ですが、私はQSAではないため、スコープに関する決定は認定済みで確認する必要があります作業を始める前のセキュリティ評価者。

6
Marc Wickenden

手短に言えば、PCI-DSSは、クレジットカード情報をプレーンテキストにすることはできません。とは言っても、このために独自のプロトコルを作成するべきではありません。 [〜#〜] https [〜#〜]は優れたソリューションです。

0
rook