[发明专利]基于TLS协议的对抗中间人攻击的安全增强系统及方法在审
| 申请号: | 201910284876.6 | 申请日: | 2019-04-10 |
| 公开(公告)号: | CN110138734A | 公开(公告)日: | 2019-08-16 |
| 发明(设计)人: | 李晓红;高澍阳 | 申请(专利权)人: | 天津大学 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/32;H04L9/06 |
| 代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 李素兰 |
| 地址: | 300072*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 中间人攻击 安全增强系统 通信双方 证书验证 绑定 跳变 无线通信安全 客户端身份 预共享密钥 安全增强 服务动态 连接建立 身份凭证 随机连接 网络连接 主动防御 对抗 服务器 验证 防护 凭证 补充 检测 身份 应用 合法 | ||
1.一种基于TLS协议的对抗中间人攻击的安全增强系统,其特征在于,该系统包括预绑定模块、证书验证模块以及端口跳变模块,其中:
所述预绑定模块至少由一个支持预绑定功能同时已经部署了TLS服务协议的服务器、一个支持预绑定功能的移动设备和一个具有相对封闭的网络环境的无线通信WiFi网络组成;所述预绑定模块,用来生成客户端身份凭证,使得服务器能在进行相关验证后确定该用户的身份是否合法;该身份凭证在通信双方以预共享密钥的形式存在;
所述证书验证模块至少由一个支持证书验证功能同时已经部署了TLS服务协议的服务器、作为客户端的支持证书验证功能的移动设备A和B、一个由商户或者机构运营的合法的公共WiFi接入点和一个由攻击者搭建的恶意接入点RAP组成;所述证书验证模块,用来检测当前网络连接中是否存在中间人攻击;
所述端口跳变模块,包括多个服务器与客户端之间建立TLS安全连接的端口构成的端口池;用来在TLS连接建立的过程中实现通信双方通过新的端口的TLS服务动态随机连接,对中间人攻击进行主动防御。
2.如权利要求1所述的一种基于TLS协议的对抗中间人攻击的安全增强系统,其特征在于,所述端口跳变模块中,一是端口号在端口跳变的过程中是随机变化;二是在这些确定了端口跳变的端口号的端口之间进行通信的时间是动态变化的。
3.一种基于TLS协议的对抗中间人攻击的安全增强方法,其特征在于,该方法包括预绑定阶段、证书验证阶段以及端口跳变阶段,其中:
在所述预绑定阶段利用RSA算法生成预共享密钥,具体包括以下步骤:
首先,服务器利用getAttribute()方法来获取session对象中的用户ID;使用JDK自带的java.security包中的KeyPairGenerator方法来为此用户ID生成密钥对KeyPair,之后对该密钥对进行解析从而获得公钥和私钥,
在所述证书验证阶段利用开放网络环境的WiFi实现通信双方进行证书验证的相关操作,具体包括以下步骤:
公钥加密验证消息:用户首先对所收到的服务器证书的哈希值进行计算,并将结果记为H(Cert);之后利用身份凭证中的公钥对该哈希值进行加密,随后将该密文与用户ID一起发送到服务器进行证书验证;
利用私钥进行解密:服务器端需要利用与该ID相对应身份凭证中的私钥来对该验证信息进行解密;该私钥已作为预绑定的结果保存在其本地,其直接通过用户ID获取;
在对该验证信息进行解密后,服务器将得到用户所收到证书的哈希值;之后,服务器将此哈希值与自身证书的哈希值H(S)进行比较,从而对TLS中间人攻击进行检测:若H(Cert)=H(S),则证书并未被攻击者替换,也就意味着当前可能并不存在中间人攻击;若H(Cert)≠H(S),这说明用户收到的证书并不是真正的服务器证书,那么在当前连接中极有可能存在中间人攻击;
在确定了中间人攻击的存在后,将开启端口跳变来绕过攻击者对TLS通信数据的拦截,从而进行主动防御;
TLS连接建立完成;
在所述端口跳变阶段进行端口计算,由于一方面在端口跳变的过程中,端口号随机变化,另一方面在确定了端口跳变的端口号后,在这些端口进行通信的时间是动态变化的,即每次端口跳变的周期并不是固定的,会随着当前通信情况而动态变化,端口计算具体包括以下步骤:
首先确定端口跳变序列:第一个跳变端口将从端口池中的可用端口中随机选择;采用混沌映射序列来产生后续的端口序列,确定可使用的端口范围为[10000,60000],并将其归一化到[-1,1];利用公式(1)来产生端口跳变所使用的第一个端口号:
Port1=Random(-1,1) (1)
之后基于混沌映射来利用公式(2)产生后续端口跳变序列:
Porti+1=cos(n*arc cos(Porti)),n=210,i≧1 (2)
利用常数n来调整其变化的范围;
第二个端口号的计算过程如下:
Port2=cos(1024*arc cos(Port1))=cos(1024*arc cos(0.5))=-0.99187
确定端口跳变周期:端口跳变周期T表示为:
Ti=t*mi/n (3)
其中,t表示攻击者探测整个端口池所需的时间,m表示在一次端口跳变中所允许的探测数量,那么在一次完整的探测过程中将会发生n/m次端口跳变事件,n表示端口总个数,i表示当前使用的第几个端口或是周期;
根据证书验证阶段的验证结果,若中间人攻击存在M=1,跳变周期将会急剧下降即加快跳变速度从而绕开中间人的跟随;反之,若中间人攻击存在M=0,则缓慢增加跳变周期来放缓端口跳变的频率,从而持续降低系统负载;引入调节函数fM来动态地调节m{m1,m2...},表达式如下:
mi+1=mi*fM (4)
调节函数fM的计算公式如下:
其中,λ表示人工调节因子。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910284876.6/1.html,转载请声明来源钻瓜专利网。





