在不同站点之间安全购买

时间:2011-07-01 04:53:53

标签: security e-commerce

网站A及其用户池。有一个单独的网站B,销售数字商品。

我想允许网站A的用户从网站B购买,而无需注册或访问B.

鉴于网站A与网站B达成协议以按月支付账单,您如何在不为恶意攻击者开设漏洞的情况下授权购买?

我想到的第一个解决方案是存储主密码以授权单个用户购买,这是一个安全噩梦,但我无能为力。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以将SAML(http://en.wikipedia.org/wiki/SAML)用于此目的。

站点A将具有用户名/密码和其他信息,以对最终用户进行身份验证。身份验证后,站点A可以将用户发送到站点B,站点B将调用站点A公开的服务,以确认用户确实是从站点A发送的。

E.g。

  1. 用户'abc'登录网站A
  2. 用户点击某些内容(在网站A上)从网站B购买商品
  3. 网站A为此操作生成一些随机且唯一的令牌。
  4. 用户被发送到站点B(通常通过POST指向站点B的表单)。其中一个表单字段是此标记
  5. 站点B调用站点A上的某些服务来验证令牌并检索生成令牌的用户名。服务可能会返回其他内容,例如此交易的购买限额。
  6. 通过SSL进行整个通信非常重要。这将有助于缓解中间人攻击。