浅析HSTS

简介:

浅析HSTS

一、HSTS是什么?

HSTS全称:HTTP Strict Transport Security,意译:HTTP严格传输安全,是一个Web安全策略机制。

二、HSTS解决什么问题?

它解决的是:网站从Http转跳到Https时,可能出现的安全问题。

一般从Http跳转Https的流程:
46057-20171023180253894-1972460098.jpg

Client从Http切换到Https前是明文传输,因此是可以被Man-In-The-Middle劫持的,如下流程:
46057-20171023180259301-64890097.jpg

三、HSTS如何解决?

要解决从Http切换到Https被劫持的问题,只要一开始就没有Http请求即可,流程如下:
46057-20171023180303301-535018757.jpg

四、HSTS如何知道,哪些请求该转为Https,哪些不该转?

方案1. 最近一次请求的Https响应中(Response)中,带上HSTS Header:

Strict-Transport-Security: <max-age=>[; includeSubDomains][; preload]
  • max-age:
    • 必选,单位:秒。
    • 意义:HSTS header过期时间,一般设置为1年,即31536000秒。而每次Response Header都带上HSTS Header,则可不断刷新其过期时间。
  • includeSubDomains:
    • 可选。
    • 意义:需要开启HSTS的域名/子域名。
  • preload:
    • 可选
    • 意义:当加入了浏览器内置Preload List时才需要设置该项。

方案2. HSTS Preload List

方案1还是有个漏洞:

  • 如果第一次访问网站A就被劫持了,哪方案1岂不白搭?
  • 清Cookies或者HSTS Header过期了,下次访问岂不又风险重重?

基于以上问题,就需要方案2(HSTS Preload List):

官方说明:

This is a list of sites that are hardcoded into Chrome as being HTTPS only.
HSTS Preload List是一个站点列表,它被hardcode写入Chrome中,列表中的站点将会默认使用 HTTPS 进行访问。

Most major browsers (Chrome, Firefox, Opera, Safari, IE 11 and Edge) also have HSTS preload lists based on the Chrome list. (See the HSTS compatibility matrix.)    
主流浏览器(Firefox, Opera, Safari, IE 11 and Edge)都有和Chrome一样的HSTS Preload List

这样,就直接从源头上封死Http转跳Https时被劫持的可能性。

五、其他相关:



本文转自hyddd博客园博客,原文链接:http://www.cnblogs.com/hyddd/p/7718184.html,如需转载请自行联系原作者。

目录
相关文章
|
9天前
|
应用服务中间件 网络安全 Apache
解决跨域和https不能访问的问题
【4月更文挑战第10天】解决跨域和https不能访问的问题
41 2
解决跨域和https不能访问的问题
|
29天前
|
前端开发 应用服务中间件 网络安全
http转为https,ssl证书安装及nginx配置
http转为https,ssl证书安装及nginx配置
49 1
|
3月前
|
缓存 安全 网络安全
深入理解 HTTP 和 HTTPS:提升你的网站安全性(上)
深入理解 HTTP 和 HTTPS:提升你的网站安全性(上)
深入理解 HTTP 和 HTTPS:提升你的网站安全性(上)
|
3月前
|
安全 JavaScript API
深入理解 HTTP 和 HTTPS:提升你的网站安全性(下)
深入理解 HTTP 和 HTTPS:提升你的网站安全性(下)
深入理解 HTTP 和 HTTPS:提升你的网站安全性(下)
|
4月前
|
监控 安全 网络安全
什么是https加密协议?
什么是https加密协议?
41 0
|
Web App开发 域名解析 缓存
|
安全 网络安全 数据安全/隐私保护
HTTPS_SSL加密(HTTP终)
HTTPS_SSL加密(HTTP终)
177 0
HTTPS_SSL加密(HTTP终)
|
Java 应用服务中间件 网络安全
|
Web App开发 安全 数据安全/隐私保护
|
Web App开发 缓存 安全
HSTS 详解,让 HTTPS 更安全
HSTS 详解,让 HTTPS 更安全随着互联网的快速发展,人们在生活中越来越离不开互联网。无论是社交、购物还是搜索,互联网都能给人带来很多的便捷。与此同时,由于用户对网络安全的不了解和一些网站、协议的安全漏洞,让很多用户的个人信息数据“裸露”在互联网中。
1412 0