当前位置: 首页 > 科技观察

HTTPS证书被伪造怎么办?

时间:2023-03-13 23:08:25 科技观察

HTTPS协议的安全性取决于其证书机制。如果攻击者申请的证书与你的网站完全一样,那么你网站的安全机制将不复存在。本文将讲述如何防止HTTPS证书伪造。证书劫持如果要部署HTTPS网站,首先要向CA组织申请证书。CA组织审核申请人身份后,颁发证书,证书中包含申请网站的主机名和公钥。同时,CA组织会用自己的私钥对整个证书进行签名,将签名添加到证书文件中,然后发送给证书申请者。证书是TLS协议中非常关键的部分。它的主要功能是向网站访问者确认服务器的真实身份,确保客户端(浏览器)正在与真实的网站提供商通信,避免遇到中间人攻击,并实现密码。科学中的身份认证功能。客户端和服务端使用证书中的公钥(根据不同的密码协商算法,作用不同)协商出一个主密钥(MasterSecret)。有了主密钥,客户端和服务端就可以保证通信数据是加密的,没有被篡改过。HTTPS证书最大的问题是存在伪造证书。一旦出现伪造的证书,安全系统将非常脆弱。伪造证书的原因有以下几种:CA组织有意无意地签发了一些错误的证书,例如CA组织没有正确验证申请人。的身份。CA组织是一个逐利组织。在利益驱使下,可以不受约束地发行证书。如果签发了恶意的二级CA证书,危害会更大。攻击者会通过各种技术攻击手段,冒充或伪造某个域名的所有者,从而成功申请证书,进而通过证书进行有害操作。这时,证书的使用者可能会有以下困惑:域名拥有者无法知道哪些CA向他颁发了证书,也不知道是否有人冒充他的身份申请证书并提供服务。CA组织并不清楚自己到底颁发了多少证书,也不确定自己是否颁发了假证书。二级CA的签发机制是不可控的。对于浏览器来说,它没有技术手段来验证证书是否合法。证书透明度为了解决证书的潜在问题,谷歌提出了一个解决方案,即证书透明度(CT)。CT是一套技术解决方案,可以对证书的颁发和使用进行审计和监控,从而使其更加透明。它不是证书的替代方案,而是对证书的有效补充。通过CT可以达到以下目的:CA机构可以知道自己签发了哪些证书,并快速检测是否签发了恶意证书。网站所有者可以知道颁发域名对应证书的全过程。一旦发现攻击者伪造了域名对应的证书,就可以迅速联系CA吊销证书。浏览器制造商可以审核证书的使用。如果发现恶意证书,他们可以快速关闭HTTPS连接以确保用户安全。CT日志服务使用的技术与区块链技术非常相似。密码学手段(Merklehashtree)保证其数据只能增长,但修改、插入、删除都会被发现。由于审计单条数据的成本并不高,审计者可以是一个单独的服务,也可以是观察者的一个函数,甚至可以是客户端的一部分。Expect-CT为保证浏览器在访问缺少CT监管的证书时(如CA意外签发的证书)能够采取措施,Google建议增加一个新的Expect-CTHTTPHeader,用于告诉浏览器期待证书用法书透明度服务。Expect-CTCT标头允许站点选择报告或强制执行证书透明度要求,从而防止站点证书错误被忽视的情况。当站点启用Expect-CTCTHeader时,浏览器会检查站点使用的证书是否出现在公开的CT日志中,可以有效避免中间人攻击等HTTPS威胁,使站点更加安全安全的。expect-CT:report-uri="",enforce,max-age=部署时有两种策略可以选择,一种是只报告,一种是强制执行。在report-only策略中,如果没有收到有效的CT信息,浏览器将向report-uri设置的地址发送报告。对于这个策略,可以这样设置:expect-CT:max-age=0,report-uri="https://{$subdomain}.report-uri.com/r/d/ct/reportOnly"下这种策略,如果浏览器没有收到有效的CT信息,它不会终止连接,而只会向你指定的URI发送报告。第二种策略可以这样设置:expect-CT:enforce,max-age=30,report-uri="https://{$subdomain}.report-uri.com/r/d/ct/enforce"这个也就是说,告诉浏览器强制执行CT策略并将状态缓存30s。如果浏览器没有收到有效的CT消息,它将终止连接并发送报告。正确配置CT信息后,可以将时间设置长一些。