我们正在评估以下单点登录解决方案的可行性。
方案。 网站域名。 https://www.example.com
其他门户网站。 https://portal.example.com
解决方案: 目的是在www.example.com和portal.example.com子域之间共享cookie,但是,为此,SSL协议需要满足以下要求:
问题是:在私钥或SSL协议的持续性方面是否有任何限制,使上述解决方案不可行?
谢谢,
答案 0 :(得分:5)
是的,您的解决方案将起作用,并将缓解大多数MITM攻击,前提是CA从您购买的证书中获取客户端浏览器。
如果Cookie设置为域example.com
,则会在www.example.com
和portal.example.com
之间共享。建议设置安全标志以确保它不能通过普通HTTP传输。我假设www.example.com
和portal.example.com
都有一个服务器端机制来验证cookie值以授权每个请求。
RFC 6265州:
Domain属性指定cookie所在的主机 发送。例如,如果Domain属性的值为 " example.com",用户代理将在Cookie中包含cookie 向example.com,www.example.com和。发出HTTP请求时的标头 www.corp.example.com。
旧RFC 2109指定您在域之前需要.
,但6265会覆盖此域。这意味着,如果您要共享Cookie并使其与非常旧的浏览器兼容,则应使用域.example.com
而不是example.com
设置Cookie。做前者没有什么可失去的,因为新的浏览器会忽略点。
在您的解决方案中,服务器1和服务器2都将接收并能够解密cookie。请注意,两个服务器都不需要具有相同的证书 - 它们将使用其安装的私钥(或者更准确地说是使用其安装的私钥传输的共享对称密钥)来独立解密SSL会话。
但是,使用*.example.com
的通配符证书会更便宜,因为可以在两台服务器上安装相同的证书。