1、概念界定
CAA全称Certificate Authority Authorization,即证书颁发机构授权,每个CA都能给任何网站签发证书。
2、CAA要解决的问题
例如,蓝色网站有一张橙色CA颁发的证书,我们也知道还有许多其他的CA;中间人可以说服其他CA来给蓝色网站生成一张证书,这个攻击者就能用这张证书来模仿蓝色网站的身份,不幸的是蓝色网站没法阻止这件事,这就是CAA要保护的事。
- CAA允许域名拥有者限制哪些CA可以给他们颁发证书(例如,蓝色网站只允许橙色CA给自己颁发证书,而红色CA不能颁发)
- 通过DNS
- DNS - Domain Name System,域名系统,通常用来将将域名转换为IP地址
- 例如,practicalnetworking.net --->192.249.124.38
- 也被称为“A”记录
- 也有许多其他的DNS记录类型
- 例如,MX是将域名映射到邮件服务器,TXT是将域名映射到TXT文件,域名拥有者可以添加任意TXT
- 例如,MX是将域名映射到邮件服务器,TXT是将域名映射到TXT文件,域名拥有者可以添加任意TXT
- 只有域名拥有者才能创建 DNS 记录
- DNS - Domain Name System,域名系统,通常用来将将域名转换为IP地址
- 通过DNS
3、生效的方式
- 使用带有3个指令的新DNS记录(CAA记录)
- issue - 识别哪个CA可以给该域名颁发证书
- issuewild - 识别哪个CA可以给该域名颁发通配符证书
- iodef - 识别违规报告发往何处
- iodef - Incident Object Description Exchange Format,事件对象描述交换格式,创建安全报告的标准格式;作用方式是,如果某些CA不在列表中,收到为site.com生成证书的请求,它们应该给“mailto: admin@site.com”发送违规报告。
4、注意点
- CAA无法防范遭泄露或恶意的CA
5、我们可以访问该网址:Qualys SSL Labs - SSL Pulse ,被调查的134495个网站中,15.4%的站点支持CAA
参考文献
1、网站:Practical Networking.net:Practical TLS