TLS中的中间人攻击
黑客给自己搞一张具有签发功能的CA证书
假设有某CA机构,它的根证书被广泛设备内置。黑客通过某种手段控制了这个CA机构,让其为自己签发了一张CA证书,于是黑客就具备了签发其他证书的能力。这些 证书都能通过证书验证。
黑客截获流量
client <---------> 黑客 <---------> server
客户端向域名A的服务器发起TLS握手,黑客拦截这个请求,让client和自己交互。在这个过程中黑客用自己的CA证书动态为域名A签发一张证书发给client。client 本地可以构建出:
被黑客控制的CA(trust anchor) -> 黑客CA -> 黑客伪造的域名A证书
并通过证书链验证,于是client信任了黑客。
黑客在拿到client数据以后代替client和server交互。
在这个过程中client/server的数据都被黑客获取了。