STA针对HTTPS网站解密 一、背景说明 针对客户现网整改完成https网站,导致镜像过来的流量均为https,SIP上只能看到流量无法进行风险等查看,这个时候想到STA上可以做https解密,将设备私钥导入即可。 二、测试结果 1. 导入私钥 2. 查看是否解密成功 发现解密不成功,查看日志,只有流量日志,并没有对应的http流量 三、问题排查 1. 需要再次访问,但是在访问的同时我们需要抓包,看看STA收到的报文大致内容以 及加密协议 抓包:STA控制台,【抓包取证】选择【内核抓包】抓取服务器的数据包 2. 查看包内容,主要查看server hello数据包 最终确认协议为:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 这个时候很遗憾的说,目前TLS_ECDHE协议不支持旁路解密,所以看不到流量都是正常的。 四、协议解析 TLS_ECDHE为什么不支持旁路解密呢,这个就需要从原理层面分析了。 1. 主流的TLS加密协议:TLS_RSA、TLS_ECDHE等 2. SSL/TLS握手时的私钥用途(RSA、ECDHE) 在各种加密协议中均会使用到各自的私钥,使用RSA来做密钥交换和使用ECDHE 来做密钥交换 两种使用方式分别是: 1. 对于RSA来说,客户端生成预主密钥,然后用公钥加密再发给服务器,服务器 用私钥来解密得到预主密钥,然后由预主密钥生成主密钥,再由主密钥生会话密钥, 最后用会话密钥来通信。 2. 对于ECDHE来说,客户端和服务器双方是交换椭圆曲线参数,私钥只是用来签名,这是为了保证这个消息是持有私钥的人给我发的,而不是冒充的。双方交换完 参数之后生成预主密钥,再生成主密钥和会话密钥。 五、最终结论及替代方案 由于ECDHE中私钥仅仅用于签名,并不用于解密,所以无法使用私钥进行解密 1. STA支持的协议 TLS_RSA_、TLS_ECDH_ 2. 解决方案 1. 调整STA的部署位置,将解密后的数据镜像给STA 2. 利用SSL卸载设备,在内网的数据保证都是http,比如部署出口AD进行SSL卸载 3. 最终测试 经过测试,大部分网站均是TLS_ECDHE_,所以你懂的。 |