2011-07-01 6 views
0

ユーザープールを持つWebサイトAがあります。デジタル商品を販売する別個のウェブサイトBがある。異なるサイト間の安全な購入

私はどのように、ウェブサイトAのユーザーがサイトAは、毎月の請求書を支払うために、サイトBとの契約を締結していることを考えると登録またはB.

を訪問することなく、ウェブサイトBからの購入を行うことができるようにしたいです悪意のある攻撃者の脆弱性を公開せずに購入を許可することはできますか?

単一のユーザーの購入を許可するためのマスターパスワードを保存するという私の心に浮かぶ最初の解決策は、セキュリティ上の悪夢ですが、それ以上のことはできません。何か案は?

答えて

1

この目的でSAML(http://en.wikipedia.org/wiki/SAML)を使用できます。

サイトAには、エンドユーザーを認証するためのユーザー名/パスワードとその他の情報があります。認証後、サイトAはユーザをサイトBに送信し、サイトBはサイトAによって公開されたサービスを呼び出して、ユーザがサイトAから実際に送信されたことを確認する。

など。

  1. ユーザーサイトA
  2. 上の「ABC」のログイン
  3. ユーザーがサイトから何かを購入する(サイトAに)何かをクリックしたB
  4. サイトAは、このアクションのいくつかのランダムなとユニークなトークンを生成します。
  5. ユーザーはサイトBに送信されます(通常はサイトBを指すフォームでPOST)。フォームフィールドの1つがこのトークンになります
  6. サイトBはトークンを検証し、トークンが生成されたユーザー名を取得するためにサイトAでサービスを呼び出します。サービスは、この取引の購入限度額などの他のものを返す可能性があります。

SSLを介して通信が行われることは非常に重要です。これは、中間者の攻撃を緩和するのに役立ちます。

関連する問題