【问题标题】:Best way to safe pass username to other site将用户名安全传递到其他站点的最佳方法
【发布时间】:2015-02-10 23:27:46
【问题描述】:

我有 1 个旧网站和另一个新网站。 新站点将作为iframe 嵌入到旧站点中。 在新站点中,我知道在旧站点中注册的用户列表。 我想知道哪个用户正在打开我的页面,注册并登录了旧站点。 在知道它是安全的情况下,将用户名从 HTTP URL 中的旧站点传递到新站点的最佳方法是什么?

我正在考虑将加密数据作为 GET 参数传递,这些数据将在新站点中解密。 该数据将包含用户名、时间戳和盐。在新站点中,我将检查用户名是否在我的注册用户列表中,并且我将授予特定时间的访问权限。这是一种安全的方式吗?

只有 HTTP 没有 SSL。

【问题讨论】:

    标签: security http


    【解决方案1】:

    当您通过 HTTP 传输安全数据时,您应该使用 POST,这不是因为它提供了比 GET 更多的安全性,而是会避免在浏览器历史记录和服务器日志中记录敏感信息。

    除了通过 HTTP 发送加密凭据之外,您还可以从中生成某种 Token 并将其传递给可以在接收端进行验证的令牌。

    【讨论】:

    • 我要发送用户名、时间戳和盐;无密码;你认为我还需要特殊的令牌吗?
    • 不一定,因为您正在加密它。用于应用程序/站点间身份验证或简单 SSO 的安全令牌标准方式。所以建议了。
    • 正确,在这种情况下,由于您描述的原因,POST 比 GET 更安全。 It is also advisable to do this for AJAX requests 防止 <script src= 标签加载其内容。令牌是一个很好的举措,因为它可以防止重放攻击(令牌可以在第一次使用后失效)。然而,由于没有使用 SSL,中间人的威胁并未减轻。
    • 感谢您的所有建议,尤其是@SilverlightFox。我也不能使用 Kerberos,我必须重新考虑这一切。因为我也无法切换到 HTTPS。所以总会有后门进入系统...
    【解决方案2】:

    对我来说它看起来很安全。您正在将身份验证委托给您的新站点,并且只是向旧站点发出信号。如果你的加密方法是安全的,那应该是安全的。

    使用盐和时间戳会处理重放攻击,所以如果你选择安全的加密方法,我看不出你提出的方法有任何漏洞。

    【讨论】:

    • 除非有一个令牌在第一次使用后失效,否则重放攻击仍然是可行的(攻击者可以捕获初始请求并简单地重复它)。但是,由于没有 HTTPS,这是一个有争议的问题,因为一旦建立会话,就可以捕获令牌。
    • 我认为这是时间戳的目的。
    • 攻击者只需获取加密的查询字符串参数并立即重放它 - 时间戳仍然有效。
    • 是的,为了防止令牌比依赖时间戳的精度更安全。
    【解决方案3】:

    在 GET 请求的 URL 中粘贴用户信息如果加密可能是安全的,它会破坏您的缓存,因为现在同一个页面对于不同的用户有不同的 URL。

    对我来说听起来不安全的是,如果两个站点都通过 HTTP 提供服务,那么用户就无法安全地登录到旧站点。所有流量都清晰可见,容易被窃听。

    我建议您将两个站点的站点都迁移到 HTTPS。如果站点托管在同一个域上,您可以设置一个 cookie 来标识适用于两个站点的用户。

    更好的办法是改用 Facebook 或 Microsoft Live Id 等社交身份验证提供商,并避免将用户密码存储在一起。

    【讨论】:

    • 很遗憾,我无法将两个站点都移至 HTTPS。也没有机会使用社交身份验证
    • 在这种情况下,您需要让您的用户了解登录您网站的安全隐患。
    • 它将完全是内部系统,但我希望它是最安全的。我无法更改旧网站以移至 HTTPS
    • 如果是内部系统,您应该考虑使用 Kerberos 进行身份验证。这也将消除存储用户名和密码的需要。
    • 不会为不同的用户缓存 POST 请求,因为请求的有效负载会不同,因此无法通过这种方式进行缓存。要启用缓存,您需要在接受初始请求后重定向(使用 GET 或 POST)。但是,由于不同的用户可能有不同的内容,因此从安全角度来看,建议对动态内容禁用缓存。您的其他积分有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-06
    • 2010-10-10
    相关资源
    最近更新 更多