而私有协议在协议分析软件上的呈现,一般都是TCP封装一长串字节流,而这些字节流究竟是什么内容,协议软件无法给出答案!
①协议分析结果
不知道大家看到“美女好[玫瑰]”哇,这个就是协议分析软件分析出来的聊天内容。
真实聊天内容:
一摸一样!
②实验结论
协议分析软件可以将聊天内容解密出来!
③实验分析
协议分析结果:
每一个报文大概是这个样子的:
除了HTTP报文头(HTTPHeader)是明文的,HTTP报文体(HTTPBody)看起来是一堆杂乱无章的字节流。
没有找到聊天的任何内容。最最滑稽的是,当发送聊天内容时,Fiddle没有任何反应!
意味着发送聊天内容的报文既不是HTTP,也不是HTTPS,那很可能是TCP、或UDP协议原始(Raw)封装。
分为两种连接方式:
官方的口径是,短连接是为了兼容老版本的软件,而长连接完全是私有实现,所以造成Fiddle没有捕获到,毕竟Fiddle只能捕获到HTTP或HTTPS,至于其它的协议压根不在其感兴趣范围!
但是这些TCP报文没有展示的意义,TCP头之后字段全是杂乱无章的,这些都在预料之中!
①MMTLS是什么样的存在
②ECDSA公钥是干嘛的
ECDSA用于验证服务器的真实身份,任何来自于服务器的MMTLS协商报文,只要使用ECDSA私钥签名的,ECDSA公钥都可以解密。
③静态ECDH公钥又是干嘛的
就可以单方面计算出Pre-MasterKey,MasterKey,SessionKey,进而将消息加密发出。
MMTLS没有给消息增加额外的延迟,称这种通信为0RTT通信。
揭晓答案:不能,各位放心大胆使用!
在此通信场景下,腾讯能够完全控制的代码是服务器端,而客户端的代码则鞭长莫及、无法控制。为了使通信成为可能,服务器必须严格遵守TLS协议标准。
这样一来,监控软件一方面可以解密客户端的消息,又可以解密服务器的消息。
如果对方出示的公钥,与客户端预先嵌入的公钥不同。客户端立马意识到,遇到骗子了,“打死俺也不说”!对待骗子不理不睬,忽视他。。。