您的当前位置:首页正文

HSTS详解-让信息传递更安全

来源:要发发知识网
网络请求.png

这样的方式存在两点不足:

  1. 第一个请求是明文,若包含敏感信息,容易泄露,很难抵御SSL剥离攻击。
  2. 第一个请求无效,浪费了网络请求

含义

网站选择使用HSTS策略,来让浏览器强制使用HTTPS会话劫持风险。

工作原理

这意味着:

  1. 在接下来的一年中(max-age),所有通过http访问及子域名时,比如,访问浏览器应当自动将 http 转写成 https,使用307 Internal Redirect ,直接向 发送请求。
  2. 在接下来的一年中,如果 服务器发送的TLS证书无效,用户不能忽略浏览器警告继续访问网站

好处是显而易见的:

  1. 避免SSL剥离攻击。只要浏览器曾经与服务器创建过一次安全连接,之后浏览器会强制使用HTTPS,即使链接被换成了HTTP。
  2. 避免假冒证书攻击。如果中间人使用自己的自签名证书来进行攻击,浏览器会给出警告,但是许多用户会忽略警告。HSTS解决了这一问题,一旦服务器发送了HSTS字段,用户将不再允许忽略警告。

看到这里,或许你也发现了,HSTS还有一点没有解决:用户首次访问某网站怎么办?还有办法:浏览器预置HSTS域名列表(HSTS preload list)

HSTS preload list

含义

HSTS preload list是Chrome浏览器中的HSTS预载入列表,在该列表中的网站,使用Chrome浏览器访问时,会自动转换成HTTPS。Firefox、Safari、Edge浏览器也在采用这个列表。

使用

  • Strict-Transport-Security max-age至少需要18周,10886400秒
  • 必须指定includeSubdomains参数
  • 必须支持preload参数
    例如:Strict-Transport-Security “max-age=31536000; includeSubDomains; preload

参考