260

この質問では、さまざまな支払い処理業者とその費用について説明していますが、クレジット カードでの支払いを受け入れたい場合、何をする必要があるかについての答えを探しています。

顧客のクレジット カード番号を保存する必要があるとします。そのため、クレジット カード プロセッサに頼って面倒な作業を行うという明白な解決策は利用できません。

どうやらクレジットカード情報を保存するための標準であるPCI Data Securityには、多くの一般的な要件がありますが、それらをどのように実装するのでしょうか?

また、独自のベスト プラクティスを持つVisaなどのベンダーについてはどうでしょうか。

マシンにキーフォブでアクセスする必要がありますか? 建物内のハッカーから物理的に保護するのはどうですか? あるいは、誰かが SQL Server データ ファイルを含むバックアップ ファイルを手に入れたらどうなるでしょうか?

バックアップはどうですか?そのデータの他の物理コピーはありますか?

ヒント:マーチャント アカウントを取得した場合は、段階的な価格設定ではなく、「インターチェンジ プラス」を請求するように交渉する必要があります。 段階的な価格設定により、使用されている Visa/MC のタイプに基づいて異なる料金が請求されます。彼らは、大きな報酬が添付されたカードに対して、より多くの料金を請求します。インターチェンジ プラス 請求とは、Visa/MC が請求する料金と定額料金のみをプロセッサに支払うことを意味します。(Amex と Discover は独自のレートを加盟店に直接請求するため、これらのカードには適用されません。Amex のレートは 3% の範囲で、Discover のレートは 1% まで低くなる可能性があります。Visa/MC は2% の範囲)。 このサービスは、あなたに代わって交渉を行うことになっています(私は使用していません。これは広告ではなく、私は Web サイトと提携していません。

このブログ投稿では、クレジット カードの取り扱いについて完全にまとめています(特に英国の場合)。


質問の言い方が間違っているかもしれませんが、次のようなヒントを探しています。

  1. SecurIDまたはeTokenを使用して、追加のパスワード レイヤーを物理ボックスに追加します。
  2. ボックスが物理的なロックまたはキーコードの組み合わせのある部屋にあることを確認してください。
4

9 に答える 9

237

私は少し前に私が働いていた会社でこのプロセスを経験しました、そして私は自分のビジネスですぐにそれを再び経験することを計画しています。ネットワークの技術的な知識があれば、それほど悪くはありません。それ以外の場合は、Paypalまたは別の種類のサービスを使用することをお勧めします。

このプロセスは、マーチャントアカウントを設定し、銀行口座に関連付けることから始まります。多くの大手銀行がマーチャントサービスを提供しているため、銀行に確認することをお勧めします。あなたはすでに彼らの顧客であるため、あなたは取引を得ることができるかもしれませんが、そうでない場合は、買い物をすることができます。DiscoverまたはAmericanExpressの受け入れを計画している場合、それらはカードのマーチャントサービスを提供し、これを回避できないため、別々になります。他にも特別な場合があります。これは申請プロセスです。準備してください。

次に、クレジットカード情報がパブリックネットワークを介して送信されるときに通信を保護するために使用できるSSL証明書を購入する必要があります。ベンダーはたくさんありますが、私の経験則では、ある意味でブランド名であるベンダーを選ぶことです。それらがよく知られているほど、顧客はおそらくそれらについてよく聞いています。

次に、サイトで使用する支払いゲートウェイを見つけます。これはあなたの大きさによってはオプションですが、ほとんどの場合そうではありません。必要になります。ペイメントゲートウェイベンダーは、通信するインターネットゲートウェイAPIと通信する方法を提供します。ほとんどのベンダーは、APIを使用してHTTPまたはTCP/IP通信を提供しています。彼らはあなたに代わってクレジットカード情報を処理します。Authorize.NetPayFlowProの2つのベンダーがあります。以下に提供するリンクには、他のベンダーに関する詳細情報があります。

それで?手始めに、トランザクションを送信するためにアプリケーションが順守しなければならないことに関するガイドラインがあります。すべてをセットアップするプロセス中に、誰かがあなたのサイトまたはアプリケーションを見て、SSLの使用などのガイドラインに準拠していること、およびユーザーが提供する情報の使用に関する利用規約とポリシードキュメントがあることを確認します。にとって。別のサイトからこれを盗まないでください。自分で考えて、必要に応じて弁護士を雇ってください。これらのほとんどは、マイケルが質問で提供したPCIデータセキュリティリンクに該当します。

クレジットカード番号を保存することを計画している場合は、情報を保護するために内部でいくつかのセキュリティ対策を講じる準備をしておくことをお勧めします。情報が保存されているサーバーには、アクセスが必要なメンバーだけがアクセスできることを確認してください。他の優れたセキュリティと同様に、あなたは何層にもわたって物事を行います。配置するレイヤーが多いほど良いです。必要に応じて、 SecureIDeTokenなどのキーフォブタイプのセキュリティを使用できますサーバーが置かれている部屋を保護するため。キーフォブルートを購入する余裕がない場合は、2つのキーの方法を使用します。部屋にアクセスできる人が、すでに持っている鍵と一緒に鍵をサインアウトできるようにします。部屋にアクセスするには両方の鍵が必要です。次に、ポリシーを使用してサーバーへの通信を保護します。私のポリシーは、ネットワークを介して通信するのはアプリケーションだけであり、その情報は暗号化されるというものです。サーバーは他の形式でアクセスできないようにする必要があります。バックアップにはtruecryptを使用しますバックアップが保存されるボリュームを暗号化するため。データが削除されたり、別の場所に保存されたりした場合は、truecryptを使用してデータが存在するボリュームを暗号化します。基本的に、データがどこにあっても、暗号化する必要があります。データを取得するためのすべてのプロセスに監査証跡が含まれていることを確認してください。サーバールームへのアクセスにログを使用する、可能であればカメラを使用するなど...もう1つの方法は、データベース内のクレジットカード情報を暗号化することです。これにより、情報を表示するユーザーを強制できるアプリケーションでのみデータを表示できるようになります。

ファイアウォールにpfsenseを使用しています。コンパクトフラッシュカードで実行し、2台のサーバーをセットアップしています。1つは、冗長性のためのフェイルオーバー用です。

Rick Strahlによるこのブログ投稿を見つけました。これは、eコマースの実行と、Webアプリケーションを介してクレジットカードを受け入れるために必要なことを理解するのに非常に役立ちました。

さて、これは長い答えであることが判明しました。これらのヒントがお役に立てば幸いです。

于 2008-09-09T19:06:50.930 に答える
22

次の質問を自問してみてください:そもそもなぜクレジット カード番号を保存する必要があるのでしょうか? そうではない可能性があります。実際、それらを保管して盗まれた場合、重大な責任が生じる可能性があります

クレジットカード番号を保存するアプリを作成しました(トランザクションがオフラインで処理されたため)。これを行う良い方法は次のとおりです。

  • SSL証明書を取得!
  • ユーザーから CC# を取得するためのフォームを作成します。
  • CC# の一部 (全部ではない!) を暗号化し、データベースに保存します。(中間の 8 桁をお勧めします。) 強力な暗号化方法と秘密鍵を使用します。
  • 残りの CC# を、あなたの取引を処理する人 (おそらくあなた自身) に、処理する人の ID とともに郵送します。
  • 後でログインするときに、ID と CC# の郵送部分を入力します。システムは他の部分を解読し、再結合して完全な番号を取得し、トランザクションを処理できるようにします。
  • 最後に、オンライン レコードを削除します。私の偏執的な解決策は、削除前にランダムなデータでレコードを上書きして、元に戻す可能性を排除することでした。

これは大変な作業のように思えますが、完全な CC# をどこにも記録しないと、ハッカーが Web サーバー上で価値のあるものを見つけるのが非常に困難になります。私を信じてください、それは安心する価値があります。

于 2008-09-09T19:48:50.847 に答える
18

PCI 1.2 ドキュメントが出てきました。要件とともに PCI コンプライアンスを実装する方法のプロセスを提供します。ここで完全なドキュメントを見つけることができます:

https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml

簡単に言うと、CC 情報の保存専用のサーバー (通常は DB サーバー) 用に別のネットワーク セグメントを作成します。可能な限りデータを分離し、データへのアクセスに必要な最小限のアクセスのみが存在するようにします。保存するときは暗号化してください。PAN を保存しないでください。古いデータを消去し、暗号化キーをローテーションします。

禁止事項の例:

  • データベースで一般情報を検索できる同じアカウントで、CC 情報を検索しないでください。
  • CC データベースを Web サーバーと同じ物理サーバーに置かないでください。
  • CC データベース ネットワーク セグメントへの外部 (インターネット) トラフィックを許可しないでください。

例:

  • 別のデータベース アカウントを使用して、CC 情報を照会します。
  • ファイアウォール/アクセス リストを介した CC データベース サーバーへの必須以外のすべてのトラフィックを許可しない
  • CC サーバーへのアクセスを許可された限られたユーザーに制限します。
于 2008-10-20T19:57:19.700 に答える
15

あなたが考えたいかもしれない非技術的なコメントを追加したいと思います

私のクライアントの何人かは、適度に大きな店舗を持っているカップルを含め、e コマース サイトを運営しています。どちらも確かに支払いゲートウェイを実装することはできましたが、そうではありませんでしたが、cc 番号を取得し、オンラインで一時的に暗号化して保存し、手動で処理しました。

彼らがこれを行うのは、詐欺の発生率が高く、手動処理により注文に応じる前に追加のチェックを行うことができるためです. 彼らはすべての取引の 20% 強を拒否していると言われています。手動での処理には確かに余分な時間がかかり、あるケースでは、取引を処理するだけの従業員がいますが、彼の給与を支払うコストは明らかにオンライン ゲートウェイを介して cc 番号を渡した場合の露出。

これらのクライアントはどちらも、再販価値のある物理的な商品を提供しているため、特に露出されており、不正な販売によって実際の損失が発生しないソフトウェアのようなアイテムの場合、マイレージは異なりますが、オンラインゲートウェイの技術的側面よりも考慮する価値がありますそのような実装が本当に必要な場合。

編集:そして、この回答を作成して以来、注意事項を追加し、これが良い考えだった時代は過ぎたと言いたいと思います。

なんで?同様のアプローチを取っている別の連絡先を知っているからです。カードの詳細は暗号化されて保存され、ウェブサイトは SSL でアクセスされ、番号は処理後すぐに削除されました。安全だと思いますか?

いいえ、ネットワーク上の 1 台のマシンがキー ロギング トロイの木馬に感染しました。その結果、彼らは複数のクレジット カード偽造の元凶であることが判明し、多額の罰金を科されました。

この結果、私は今ではクレジットカードを自分で扱うように誰にも勧めません。それ以来、支払いゲートウェイははるかに競争力があり、費用対効果が高くなり、詐欺対策が改善されました. リスクはもはや価値がありません。

この回答を削除することもできますが、警告として編集したままにしておくのが最善だと思います.

于 2009-04-20T07:08:27.753 に答える
8

SSL を使用してブラウザーからサーバーにカード番号を送信することは、レストランのレジ係にクレジット カード番号を渡すときに親指でクレジット カード番号を覆うようなものであることに注意してください。親指 (SSL) は、レストラン内の他の顧客を防ぎます。 (ネット) カードを見ることはできませんが、カードがレジ担当者 (Web サーバー) の手に渡ると、カードは SSL 交換によって保護されなくなり、レジ担当者はそのカードで何かを行うことができます。保存されたカード番号へのアクセスは、Web サーバー上のセキュリティによってのみ停止できます。つまり、ネット上でのカード盗難のほとんどは送信中に行われるのではなく、脆弱なサーバー セキュリティを突破してデータベースを盗むことによって行われます。

于 2010-06-27T00:16:51.547 に答える
5

なぜ PCI コンプライアンスにこだわるのですか?? せいぜい、処理手数料を数パーセント削減できます。これは、開発の初期段階と最新の要件に遅れずについていくための時間の両方で、これがやりたいことであると確信しなければならないケースの 1 つです。

私たちの場合、サブスクリプションに対応したゲートウェイを使用し、それをマーチャント アカウントとペアにすることが最も理にかなっています。サブスクリプション対応のゲートウェイを使用すると、すべての PCI コンプライアンスをスキップして、トランザクションを適切に処理するだけで済みます。

私たちはTrustCommerceをゲートウェイとして使用しており、そのサービス/価格に満足しています. それらには、統合を非常に簡単にする一連の言語用のコードがあります。

于 2009-04-28T21:29:17.590 に答える
3

PCI に必要な余分な作業と予算を確実に把握してください。PCI には、莫大な外部監査費用と内部の努力/サポートが必要になる場合があります。また、一方的に課せられる可能性のある罰金/罰則にも注意してください。多くの場合、「犯罪」の規模に非常に不釣り合いです。

于 2009-09-15T11:02:52.087 に答える
2

プロセス全体には多くのことがあります。これを行う最も簡単な方法は、クレジット カード データを実際に処理しないように、paypal に似たサービスを使用することです。それとは別に、あなたのウェブサイトでクレジットカードサービスを提供するための承認を得るには、かなりの手続きが必要です. プロセスの設定を支援するために、銀行やマーチャント ID を発行する担当者に相談する必要があります。

于 2008-09-09T01:56:34.900 に答える
2

他の人が述べたように、この分野への最も簡単な方法は、PaypalGoogle チェックアウト、またはNochexを使用することです。ただし、かなりの量のビジネスを行う予定がある場合は、WorldPayNetBanx (英国)、またはNeteller (米国)などのより高いレベルのサイト統合サービスに「アップグレード」することを検討することをお勧めします。これらのサービスはすべて、かなり簡単にセットアップできます。また、Netbanx が、Intershopなどの市販のショッピング カート ソリューションの一部との便利な統合を提供していることも知っています。(私がそれらのいくつかを書いたので)。それを超えて、銀行システム (およびその APAX システム) との直接統合を検討していますが、それは困難であり、その時点で、クレジット カード番号を安全に処理していることをクレジット カード会社に証明する必要もあります (おそらく、 1 か月あたり 10 万ドルの価値があるわけではありません)。

最初から最後まで作業するコスト/利点は、初期のオプションがはるかに簡単に (より速く/より安価に) セットアップできることです。後者のものはセットアップにはるかに費用がかかりますが、長期的には費用が少なくなります.

ほとんどの非専用ソリューションのもう 1 つの利点は、暗号化されたクレジット カード番号を安全に保つ必要がないことです。それは他の誰かの問題です:-)

于 2008-09-09T10:48:59.600 に答える