本文主要是介绍论文小记 | CT / HSTS / HPKP /SCSV / CAA / TLSA,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天阅读的论文是Johanna Amann的《Misson Accomplished? HTTPS Security after DigiNotar》,下面就论文中CT / HSTS / HKPK /SCSV / CAA / TLSA这几个概念进行如下简单的介绍。
CT
我在之前的一篇博客里面对CT(Certificate Transparency,证书透明度)有仔细描述。
CT就是一种证书透明度的审查机制,其主要目的是为了防止证书的错发。当用户访问一个网站时,网站会将自己的证书和证书的审查日志时间戳SCT(Signed Certificate Timestamp)和证书附在一起返回给客户端。而这个日志是由公开的组织所维护的,任何一个人都可以在日志中查找到自己想要查找的CA证书的相关信息,保证证书的透明度。
HSTS
我在之前的一篇博客里面对HSTS(HTTP Strict Transport Security,HTTP严格传输安全) 有仔细地描述。
HSTS就是一种严格要求浏览器使用HTTPS访问网站资源地机制,其主要目的是为了防止客户端访问服务器时被中间人攻击。当用户使用HTTP协议与服务器进行链接时,服务器会返回307的状态码,要求浏览器重定位到HTTPS协议重新访问。chrome等现代浏览器使用HSTS域名列表(preload list)来增强客户端的保护,旨在防止客户端在没有网站HSTS使用HTTP访问首次访问该网站而被攻击。
HKPK
HKPK(HTTP Public Key Pinning)HTTP公钥固定机制,其主要目的是防止证书伪造。是一种将域名和公钥绑定起来的机制,用法和HSTS差不多,需要一个名为SPKI的指纹,和一个preload list机制。不过CHROME 72开始就被谷歌浏览器弃用了。
SCSV
SCSV是为了防止协议降级攻击的一种机制。当客户端与服务器端连接时,其TLS版本较高,服务器不做响应时,客户端会尝试选择低版本TLS与服务器进行链接,此时协议降级攻击会丢掉这些握手信息,直到握手信息包含了其满意的TLS版本为止。但是当有SCSV附在握手信息中时,服务器发现现有握手信息中的TLS版本低于其支持TLS最高版本时,会发送警报,以防止攻击发生。
CAA
一篇比较官方的CAA解释。
CAA(Certificate Authority Authorization,证书颁发机构授权)目的是为了防止错误的颁发证书。当CA为某域名颁发证书时,会检查DNS中该域名的CAA记录,该记录段记录了该域名只接受某CA颁发的证书。
TLSA
DANE_TLSA维基百科
RFC 6698中提出了一种无需证书颁发机构(CA)就可以对TLS客户机和服务器实体进行身份验证的方法。(DANE)是一种Internet安全协议,允许使用域名系统安全扩展(DNSSEC)将X.509数字证书(通常用于传输层安全性(TLS))绑定到域名。
在这里只是对概念进行简单的介绍,后面会对CAA和TLSA写一篇简单的小博客。
这篇关于论文小记 | CT / HSTS / HPKP /SCSV / CAA / TLSA的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!