当前位置: 首页 > 专利查询>天津大学专利>正文

基于TLS协议的对抗中间人攻击的安全增强系统及方法技术方案

技术编号:21899178 阅读:26 留言:0更新日期:2019-08-17 18:31
本发明专利技术公开了一种基于TLS协议的对抗中间人攻击的安全增强系统及方法,该系统包括预绑定模块、证书验证模块以及端口跳变模块,所述预绑定模块,用来生成客户端身份凭证,使得服务器能在进行相关验证后确定该用户的身份是否合法;该身份凭证在通信双方以预共享密钥的形式存在;所述证书验证模块,用来检测当前网络连接中是否存在中间人攻击;所述端口跳变模块,用来在TLS连接建立的过程中实现通信双方通过新的端口的TLS服务动态随机连接,对中间人攻击进行主动防御。与现有技术相比,本发明专利技术实现了公共WiFi下空中间人攻击的TLS安全增强机制,作为广泛应用于无线通信安全防护的TLS协议的有效补充。

Security Enhancement System and Method against Man-in-the-Middle Attack Based on TLS Protocol

【技术实现步骤摘要】
基于TLS协议的对抗中间人攻击的安全增强系统及方法
本专利技术涉及网络安全和密码学等多个
,特别涉及一种对抗中间人攻击的安全增强机制。
技术介绍
移动设备与无线网络技术的发展促使了网络接入需求的增加,移动用户在公共场所对与WiFi的需求也与日俱增。众所周知,公共WiFi本身的便利性给人提供了极大方便,但是其开放性使得攻击者极易通过搭建恶意接入点来诱导用户接入。在开放网络环境下利用相关安全手段与防护机制来保障移动用户的无线接入安全迫在眉睫。因此,TLS应运而生。TLS是Https通信的重要组成部分,它被广泛应用于网络通信中来实现通信双方的身份验证以及会话秘钥的协商,并以此来保证连接的安全与可靠。TLS安全服务的关键就是客户端能接收到正确的服务器证书,但是实际上普通用户普遍缺乏证书验证能力。在通信双方建立TLS连接的过程中,通信实体的身份信息以证书的形式进行承载与传递。首先进行的是服务器身份验证,服务器将自身证书发送给用户请求验证,在此之后,本应该进入后续客户端证书验证的流程。若遇到利用用户的新人在TLS连接中替换服务器证书,冒充通信双方合法身份,从而成功实施TLS中间人攻击。TLS中间人攻击是一种基于攻击方的网络拦截。攻击者插入到当前通信链路,将原本一个安全的连接分化为两个单独的TLS连接。在这个过程中,攻击者利用用户对公共WiFi的信任,来搭建恶意接入点诱使用户接入。之后,在用户与服务器建立TLS连接的过程中,攻击者通过伪造的证书来冒充服务器从而骗取用户的信任。一旦这个伪造的证书被用户接受,此时中间人攻击者也就获得了对当前连接绝对控制,而此时用户与服务器对此均未察觉。这就导致了在接下来的TLS通信中,攻击者可以很容易的获取用户的身份信息来进行冒充从而成功通过服务器对用户身份的验证。此后在用户与服务器之间,攻击者以中间人的身份进行通信的转发甚至篡改,这将严重威胁到用户的无线通信安全。
技术实现思路
为了克服现有技术存在的缺陷与不足,本专利技术提出了一种抗中间人攻击的TLS安全增强系统(TLSsem)及方法,利用通信双方的身份验证实现对TLS中间人攻击的检测与防御,实现了一种满足用户在开放网络环境下的公共WiFi环境下的无线通信网络安全接入需求的新的安全解决机制。本专利技术的一种基于TLS协议的对抗中间人攻击的安全增强系统,该系统包括预绑定模块、证书验证模块以及端口跳变模块,其中:所述预绑定模块至少由一个支持预绑定功能同时已经部署了TLS服务协议的服务器、一个支持预绑定功能的移动设备和一个具有相对封闭的网络环境的无线通信WiFi网络组成;所述预绑定模块,用来生成客户端身份凭证,使得服务器能在进行相关验证后确定该用户的身份是否合法;该身份凭证在通信双方以预共享密钥的形式存在;所述证书验证模块至少由一个支持证书验证功能同时已经部署了TLS服务协议的服务器、作为客户端的支持证书验证功能的移动设备A和B、一个由商户或者机构运营的合法的公共WiFi接入点和一个由攻击者搭建的恶意接入点RAP组成;所述证书验证模块,用来检测当前网络连接中是否存在中间人攻击;所述端口跳变模块,包括多个服务器与客户端之间建立TLS安全连接的端口构成的端口池;用来在TLS连接建立的过程中实现通信双方通过新的端口的TLS服务动态随机连接,对中间人攻击进行主动防御。本专利技术的一种基于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*arccos(Porti)),n=210,i≧1(2)利用常数n来调整其变化的范围;第二个端口号的计算过程如下:Port2=cos(1024*arccos(Port1))=cos(1024*arccos(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的计算公式如下:其中,λ表示人工调节因子。本专利技术所能达到的预期有益技术效果包括:(1)实现了公共WiFi下空中间人攻击的TLS安全增强机制,作为广泛应用于无线通信安全防护的TLS协议的有效补充;(2)实现用户在开放网络环境下的安全接入需求,保障用户利用无线设备接入公共WiFi所进行得TLS无线通信安全;(3)对公共WiFi下抗中间人攻击的TLS安全增强机制(TLSsem)进行了基于Android移动设备平台的设计实现,并通过一系列详细的实验来验证了TLSsem的有效性。实验结果显示,在不引本文档来自技高网
...

【技术保护点】
1.一种基于TLS协议的对抗中间人攻击的安全增强系统,其特征在于,该系统包括预绑定模块、证书验证模块以及端口跳变模块,其中:所述预绑定模块至少由一个支持预绑定功能同时已经部署了TLS服务协议的服务器、一个支持预绑定功能的移动设备和一个具有相对封闭的网络环境的无线通信WiFi网络组成;所述预绑定模块,用来生成客户端身份凭证,使得服务器能在进行相关验证后确定该用户的身份是否合法;该身份凭证在通信双方以预共享密钥的形式存在;所述证书验证模块至少由一个支持证书验证功能同时已经部署了TLS服务协议的服务器、作为客户端的支持证书验证功能的移动设备A和B、一个由商户或者机构运营的合法的公共WiFi接入点和一个由攻击者搭建的恶意接入点RAP组成;所述证书验证模块,用来检测当前网络连接中是否存在中间人攻击;所述端口跳变模块,包括多个服务器与客户端之间建立TLS安全连接的端口构成的端口池;用来在TLS连接建立的过程中实现通信双方通过新的端口的TLS服务动态随机连接,对中间人攻击进行主动防御。

【技术特征摘要】
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相对应身份凭证中的私钥来对该验证信息进行解密;该私钥已作为预绑定的结果保存...

【专利技术属性】
技术研发人员:李晓红高澍阳
申请(专利权)人:天津大学
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1