数据传输方法、装置、设备和存储介质与流程

专利检索2022-05-11  1

1.本技术涉及信息处理
技术领域
:,具体而言,涉及一种数据传输方法、装置、设备和存储介质。
背景技术
::2.在计算机网络中,服务器通过端口对外提供服务,然而,一旦对外暴露了端口,攻击者就会对服务器进行扫描,进行一系列的攻击,比如进行dos(denialofservice,拒绝服务)攻击,让服务器无法正常提供服务;又比如攻击者扫描出提供的服务类型后,针对该类型服务进行已知的漏洞攻击,而服务器很难一直保持最新版本,加上0day漏洞等问题,更是让直接暴露端口的服务器,处于巨大的安全隐患当中。3.常见的处理上述问题的方式是使用防火墙规则,比如iptables(ip信息包过滤系统),对可访问的源和目的进行限制,但静态管理这些规则,在远程办公和当今随处可用网络的时代,几乎是不可能完成的任务,且管理工作巨大。技术实现要素:4.本技术实施例的目的在于提供一种数据传输方法、装置、设备和存储介质,在仅当接收到被授权的终端敲门数据包后,才会动态改变防火墙规则,允许终端建立到服务器的连接,使得只有被授权终端才可以正常访问服务器业务,提高了数据访问的安全性。5.本技术实施例第一方面提供了一种数据传输方法,包括:接收终端对目标端口的敲门请求;根据所述敲门请求对所述终端进行第一次端口敲门校验;在所述终端通过所述第一次端口敲门校验时,开启所述目标端口,接收所述终端对所述目标端口的数据传输请求;根据所述数据传输请求对所述终端进行第二次端口敲门校验,并在所述终端通过所述第二次端口敲门校验时,通过所述目标端口转发所述数据传输请求至服务器。6.于一实施例中,所述根据所述敲门请求对所述终端进行第一次端口敲门校验,包括:从所述敲门请求中抽取出所述终端对所述目标端口的敲门数据,所述敲门数据中携带有所述终端的授权密钥标识;采用所述授权密钥标识对应的授权密钥对所述敲门数据进行解密处理,得到敲门明文数据,根据所述敲门明文数据,对所述终端进行所述第一次端口敲门校验。7.于一实施例中,所述根据所述数据传输请求对所述终端进行第二次端口敲门校验,包括:从所述数据传输请求中抽取出所述终端对所述目标端口的敲门数据,所述敲门数据中携带有所述终端的授权密钥标识;采用所述授权密钥标识对应的授权密钥对所述敲门数据进行解密处理,得到敲门明文数据,根据所述敲门明文数据,对所述终端进行所述第二次端口敲门校验。8.于一实施例中,所述敲门明文数据中包括所述终端的唯一标识信息;根据所述敲门明文数据,对所述终端进行所述端口敲门校验的步骤包括:将所述唯一标识信息与数据库中所述终端的授权信息进行比对,当所述唯一标识信息与数据库中所述终端的授权信息相同时,确定所述终端通过所述端口敲门校验,其中,所述数据库中预存有已授权终端的授权信息。9.于一实施例中,所述敲门明文数据中还包括所述终端生成的当前随机码;在所述将所述唯一标识信息与数据库中所述终端的授权信息进行比对之后,还包括:当所述唯一标识信息与所述数据库中所述终端的授权信息相同时,判断所述当前随机码是否与所述终端的任意一个历次随机码相同;当所述当前随机码与所述终端的任意一个历次随机码都不相同时,确定所述终端通过所述端口敲门校验。10.于一实施例中,在所述将所述唯一标识信息与数据库中所述终端的授权信息进行比对之后,还包括:当所述当前随机码与所述终端的任意一个历次随机码相同时,确定所述终端未通过所述端口敲门校验。11.本技术实施例第二方面提供了一种数据传输装置,包括:第一接收模块,用于接收终端对目标端口的敲门请求;第一敲门模块,用于根据所述敲门请求对所述终端进行第一次端口敲门校验;第二接收模块,用于在所述终端通过所述第一次端口敲门校验时,开启所述目标端口,接收所述终端对所述目标端口的数据传输请求;第二敲门模块,用于根据所述数据传输请求对所述终端进行第二次端口敲门校验,并在所述终端通过所述第二次端口敲门校验时,通过所述目标端口转发所述数据传输请求至服务器。12.于一实施例中,所述第一敲门模块,用于:从所述敲门请求中抽取出所述终端对所述目标端口的敲门数据,所述敲门数据中携带有所述终端的授权密钥标识;采用所述授权密钥标识对应的授权密钥对所述敲门数据进行解密处理,得到敲门明文数据,根据所述敲门明文数据,对所述终端进行所述第一次端口敲门校验。13.于一实施例中,所述第二敲门模块,用于:从所述数据传输请求中抽取出所述终端对所述目标端口的敲门数据,所述敲门数据中携带有所述终端的授权密钥标识;采用所述授权密钥标识对应的授权密钥对所述敲门数据进行解密处理,得到敲门明文数据,根据所述敲门明文数据,对所述终端进行所述第二次端口敲门校验。14.于一实施例中,所述敲门明文数据中包括所述终端的唯一标识信息;根据所述敲门明文数据,对所述终端进行所述端口敲门校验的步骤包括:将所述唯一标识信息与数据库中所述终端的授权信息进行比对,当所述唯一标识信息与数据库中所述终端的授权信息相同时,确定所述终端通过所述端口敲门校验,其中,所述数据库中预存有已授权终端的授权信息。15.于一实施例中,所述敲门明文数据中还包括所述终端生成的当前随机码;在所述将所述唯一标识信息与数据库中所述终端的授权信息进行比对之后,还包括:当所述唯一标识信息与所述数据库中所述终端的授权信息相同时,判断所述当前随机码是否与所述终端的任意一个历次随机码相同;当所述当前随机码与所述终端的任意一个历次随机码都不相同时,确定所述终端通过所述端口敲门校验。16.于一实施例中,在所述将所述唯一标识信息与数据库中所述终端的授权信息进行比对之后,还包括:当所述当前随机码与所述终端的任意一个历次随机码相同时,确定所述终端未通过所述端口敲门校验。17.本技术实施例第三方面提供了一种电子设备,包括:存储器,用以存储计算机程序;处理器,用以执行所述计算机程序,以实现本技术实施例第一方面及其任一实施例的方法。18.本技术实施例第四方面提供了一种非暂态电子设备可读存储介质,包括:程序,当其藉由电子设备运行时,使得所述电子设备执行本技术实施例第一方面及其任一实施例的方法。19.本技术提供的数据传输方法、装置、设备和存储介质,通过第一次敲门全校校验来验证终端敲门请求的合法性,并在敲门请求合法时,开启被请求的目标端口,在数据传输请求时再次对终端进行第二次端口敲门校验,只有两次端口敲门校验均通过,才允许客户端通过目标端口向服务器请求数据,如此,在仅当接收到被授权的终端敲门数据包后,才会动态改变防火墙规则,允许终端建立到服务器的连接,使得只有被授权终端才可以正常访问服务器业务,提高了数据访问的安全性。附图说明20.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。21.图1为本技术一实施例的电子设备的结构示意图;22.图2为本技术一实施例的数据传输系统的场景示意图;23.图3为本技术一实施例的数据传输方法的流程示意图;24.图4为本技术一实施例的数据传输方法的流程示意图;25.图5a为本技术一实施例的敲门数据的结构示意图;26.图5b为本技术一实施例的明文spa数据的结构示意图;27.图6为本技术一实施例的数据传输装置的结构示意图。具体实施方式28.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。29.如图1所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图1中以一个处理器为例。处理器11和存储器12通过总线10连接。存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程,以使只有被授权终端才可以正常访问服务器业务,提高了数据访问的安全性。30.于一实施例中,电子设备1可以是网关、代理设备、vpn(virtualprivatenetwork,虚拟专用网络)服务器、路由器、手机、平板电脑、笔记本电脑、台式计算机或者是由多个计算机等组成的网关服务器。请参看图2,其为本技术一实施例的一种数据传输系统的场景示意图,主要可以包括:终端2、网关设备3和服务器4,其中:31.终端2可以是用户的手机或者电脑,终端2上可以装载有网关设备3授权的客户端应用程序(app),比如可以是vpn客户端,终端2可以通过该应用程序访问网关设备3。32.服务器4可以是云端服务器4或者本地服务器4,服务器4可以通过网关设备3的端口为终端2提供数据服务。服务器4可以有多个,每个服务器4可以使用不同的端口,用户终端2在通过网关设备3访问服务器4时,需要指定要访问的目标端口。33.网关设备3可以由上述电子设备1实现,网关设备3可以通过有线或者无线方式分别连接终端2和服务器4,用于监听终端2对服务器4的访问请求,并对终端2的请求进行合法性校验,只有通过校验的访问请求,才被允许通过目标端口访问服务器4,从而提高服务器4的数据安全性。34.为了保证服务器4的安全,实际场景中,网关设备3的端口并不是一直对外开放,而是端口被隐藏起来,即设置默认丢弃所有请求的防火墙:要做到将端口隐藏起来,需要将网关设备3的防火墙(以iptables为例,下同)配置成默认丢弃所有的请求,不会对探测返回任何数据,就像网关设备3关闭了所有端口一样。35.在特定敲门报文到网关设备3之前,网关设备3的端口丢弃来自任何地址的连接,攻击者无法进行端口扫描,就像网关设备3未提供任何服务一样,即实现端口隐藏的效果。因此,如果终端2需要访问服务器4上述数据业务,就首先需要发送敲门请求到网关设备3,网关设备3实时监听终端2对某个目标端口的敲门请求。端口敲门就是发送特定的连接尝试序列,如果尝试序列被网关设备3认为是合法的,网关设备3会允许(授权)客户端发起连接。因此,网关设备3是作为网关、代理设备或者vpn服务器存在的,它可以只对外暴露一个端口(默认隐藏),通过终端2和网关设备3的交互,来转发到多个业务服务器4的访问。终端2能不能访问服务器4,是由网关设备3的授权判定进行决策的。请参看图3,其为本技术一实施例的数据传输方法,该方法可由图1所示的电子设备1作为网关设备3来执行,并可以应用于上述图2中的数据传输的场景中,以使只有被授权终端2才可以正常访问服务器4业务,提高数据访问的安全性。该方法包括如下步骤:36.步骤301:接收终端2对目标端口的敲门请求。37.在本步骤中,可以采用基于单包授权(singlepacketauthorization,简称“spa”)端口敲门的方式,单包授权端口敲门,就是终端2仅需发送一个敲门包,就能实现敲门的效果,从而避免了多个敲门包可能存在的乱序等问题。单包的数据是加密的,只有合法用户的终端2才能发起。另外,允许发起的连接数据中,也包含终端2的单包授权认证数据,进一步确保终端2的合法性。实现单包授权,需要一个敲门客户端(装载在终端2上)和一个敲门服务器(即网关设备3),客户端可以使用dtls(datagramtransportlayersecurity,数据包传输层安全性协议)协议,在clienthello中,增加扩展来生成包含加密敲门数据的敲门请求,并发送到网关设备3,进行端口敲门。假设终端2是发起对目标端口443(可配置)的敲门请求,网关设备3可以使用libpcap(网络数据包捕获函数包),接收目标端口443上的基于dtls协议的敲门请求。38.步骤302:根据敲门请求对终端2进行第一次端口敲门校验。39.在本步骤中,在第一次端口敲门校验时,可以基于步骤301中接收到的目标端口443上的基于dtls协议的敲门请求中的敲门数据进行校验,如果校验通过,说明该终端2是被网关设备3授权的合法终端2,则进入步骤303,否则说明,该终端2未被授权,可能是非法攻击者,为了保护数据安全,直接丢弃本次敲门请求的数据包,不做任何回应,达到隐藏目标端口的目的,以避免攻击者探测目标端口443。40.步骤303:在终端2通过第一次端口敲门校验时,开启目标端口,接收终端2对目标端口的数据传输请求。41.在本步骤中,假设进行第一次端口敲门数据的验证成功通过校验后,网关设备3不会对其进行任何响应,而是发起动态修改网关设备3的防火墙规则,以允许终端2短暂发起到端口443的连接请求,比如可以建立终端2到端口443的tcp(transmissioncontrolprotocol,传输控制协议)连接,网关设备3实时接收终端2对目标端口的数据传输请求。此处短暂是指可以设定一定的端口开启时间,避免长时间开启端口使端口暴露于被攻击的风险中。此时,虽然敲门成功,但是网关设备3不会基于敲门请求返回任何数据,且在成功收到端口敲门包之前,tcp端口不对外开发,实现端口隐藏的目的。42.步骤304:根据数据传输请求对终端2进行第二次端口敲门校验,并在终端2通过第二次端口敲门校验时,通过目标端口转发数据传输请求至服务器4。43.在本步骤中,当接收到终端2对目标端口的数据传输请求时,说明终端2已经开始对服务器4进行业务数据访问,实际场景中,假设被授权的终端2处于一个局域网中,该局域网中的所有设备都是通过一个静态ip访问外网数据的,那么很可能局域网内的一个终端2对网关设备3敲门成功后,局域网内其他终端设备也采用同一个ip对网关设备3进行数据访问,同样会使服务器4的数据安全受到威胁。比如,终端2a和终端2b同处于一个局域网,其中终端2a是被网关设备3授权的合法终端,而终端2b未被授权,当终端2a对目标端口443敲门成功后,很可能被终端2b利用,终端2b通过目标端口443向网关设备3发起了数据传输请求。44.因此为了避免来自同一个局域网内的其他未被授权的终端设备利用被授权终端2的ip对服务器4进行非法访问,网关设备3可以基于数据传输请求对终端2进行第二次端口敲门校验,也就是说,在目标端口443敲门成功后,终端2可以基于客户端代理并发起到服务器4系统的业务请求,网关设备3监听并处理目标端口443上数据传输请求,此时同样会基于数据传输请求进行端口敲门数据的验证,第二次端口敲门校验通过后,网关设备3才会将先关业务的数据传输请求通过目标端口转发给服务器4,以完成终端2对服务器4的一次数据访问。45.假设第二次端口校验没有通过,则说明本次的数据传输请求可能不是由被授权的终端设备发起的。比如是由上述例子中的终端2b发起的,则为了保护服务器4的数据安全,网关设备3可以直接丢弃本次数据传输请求的数据包。如此实现了仅对合法的数据连接进行放行,收缩了可发起数据连接的范围,确保发起数据连接的终端2是经过网关设备3授权认证的。46.于一实施例中,数据传输请求中携带有终端2的敲门数据,比如可以在终端2请求内容的外部,封装一个tls(transportlayersecurity,安全传输层协议)安全层对业务数据进行代理,并在来自终端2clienthello中,增加扩展来发送加密敲门数据到网关设备3。47.于一实施例中,还可以包括:对端口敲门过程和数据传输进行过程审计、报告和分析:如实记录整个系统的运行过程日志,比如什么时间什么ip发起了单包授权请求。网关设备3打开和关闭特定端口的时间。业务转发信息等等,并报告审计数据,可以对单包授权请求和业务转发进行数据分析等。48.上述数据传输方法,基于单包授权的端口敲门方式,实现端口隐藏,在传输特定敲门报文到网关设备3之前,网关设备3的端口丢弃来自任何地址的连接,攻击者无法进行端口扫描,就像网关设备3未提供任何服务一样,即实现端口隐藏的效果。网关设备3在仅当接收到合法的终端2敲门包后,才会动态改变iptables规则,短暂地允许终端2建立到网关设备3的数据连接,使合法终端2正常访问业务。由于在收到合法敲门包之前,网关设备3不会响应任何连接尝试,有效地应对了端口扫描以及由其引发的dos和漏洞攻击问题,提升了系统的安全性和可用性。49.通过第一次敲门全校校验来验证终端2敲门请求的合法性,并在敲门请求合法时,开启被请求的目标端口,在数据传输请求时再次对终端2进行第二次端口敲门校验,只有两次端口敲门校验均通过,才允许客户端通过目标端口向服务器4请求数据,如此,在仅当接收到被授权的终端2敲门数据包后,才会动态改变防火墙规则,允许终端2建立到网关设备3的连接,使得只有被授权终端2才可以正常访问服务器4业务,提高了数据访问的安全性。50.请参看图4,其为本技术一实施例的数据传输方法,该方法可由图1所示的电子设备1作为网关设备3来执行,并可以应用于上述图2中的数据传输的场景中,以使只有被授权终端2才可以正常访问服务器4的业务,提高数据访问的安全性。该方法包括如下步骤:51.步骤401:接收终端2对目标端口的敲门请求。详细参见上述实施例中对步骤301的描述。52.步骤402:从敲门请求中抽取出终端2对目标端口的敲门数据,敲门数据中携带有终端2的授权密钥标识。53.在本步骤中,以单包授权的端口敲门方式为例,敲门请求可以是在终端2的clienthello中,增加扩展来生成的包含加密敲门数据的请求包。比如,敲门请求中包含预先构造的特定spa数据(敲门数据),网关设备3从敲门请求中抽取出对应的特定spa数据,该spa数据中至少携带有终端2的授权密钥标识,授权密钥标识可以是授权密钥的名称或者是编号等信息,具有唯一性,用于区分与其他密钥的不同。授权密钥为网关设备3事先与终端2约定好的密钥,二者共享该授权密钥,也就是该授权密钥可以存储在网关设备3上,并且可以由网关设备3的管理员预先下发给被授权的用户,用户导入到终端2中。该spa数据不直接携带授权密钥,避免授权密钥在传输过程中被非法终端截取。spa数据可以由基于实际需求自定义扩展,比如扩展号可以为77,且可根据实际注册的扩展号进行更改。54.于一实施例中,作为敲门数据的spa数据结构可以如图5a所示,其中:55.版本:占用1个字节,比如只有一个版本的情况下,值可以为1,之后如有新的版本,则可以依次递增版本号。56.密钥名:可以占用36个字节,即uuid(universallyuniqueidentifier,通用唯一识别码)长度,表示进行端口敲门校验需要使用的终端2的授权密钥。57.加密spa数据:是对明文spa数据进行加密得到的密文数据,比如采用aes(advancedencryptionstandard,高级加密标准)对称加密后得到的数据,数据长度依赖于明文spa数据的长度。58.步骤403:采用授权密钥标识对应的授权密钥对敲门数据进行解密处理,得到敲门明文数据,根据敲门明文数据,对终端2进行第一次端口敲门校验。59.在本步骤中,以上述单包授权为例,敲门数据为加密的spa数据,敲门数据中携带有终端2的授权密钥标识,因此可以基于上述授权密钥标识从网关设备3上找到对应的授权密钥,采用授权密钥对加密的spa数据进行解密处理,得到明文spa数据(也就是敲门明文数据),然后基于明文spa数据对终端2进行第一次的端口敲门校验,如果校验通过,进入步骤404,否则说明,该终端2未被授权,可能是非法攻击者,为了保护数据安全,直接丢弃本次敲门请求的数据包,不做任何回应,达到隐藏目标端口的目的。60.于一实施例中,敲门明文数据中可以包括终端2的唯一标识信息。步骤403中根据敲门明文数据,对终端2进行端口敲门校验的步骤包括:将唯一标识信息与数据库中终端2的授权信息进行比对,当唯一标识信息与数据库中终端2的授权信息相同时,确定终端2通过端口敲门校验,其中,数据库中预存有已授权终端2的授权信息。61.在本步骤中,唯一标识信息可以是终端2的设备id信息,数据库中存放了已被授权的终端2的授权信息,授权信息中至少包括每个授权终端2的设备id信息,网关设备3通过将步骤403中得到的敲门明文数据中的设备id信息与数据库中的授权信息进行比较,进而确定该终端2是否在数据库中有记载,如果有,说明该终端2已被授权,属于合法终端2,则确定通过本次端口敲门校验,否则,说明数据库中并没有该终端2的授权信息,该终端2为非法终端2,则直接丢弃本次端口敲门的数据包。62.于一实施例中,在实际场景中,假设合法终端2a采用一个合法敲门数据包q成功端口敲门后,该数据包q很可能被非法终端2b截获,终端2b若采用数据包q对服务器4进行恶意攻击,会给服务器4造成严重损失。为了避免这种情况发生,敲门明文数据中还可以包括终端2生成的当前随机码。在将唯一标识信息与数据库中终端2的授权信息进行比对之后,步骤403还可以包括:当唯一标识信息与数据库中终端2的授权信息相同时,判断当前随机码是否与终端2的任意一个历次随机码相同。在当前随机码与终端2的任意一个历次随机码都不相同时,确定终端2通过端口敲门校验。63.于一实施例中,在将唯一标识信息与数据库中终端2的授权信息进行比对之后,步骤403还包括:在当前随机码与终端2的任意一个历次随机码相同时,确定终端2未通过端口敲门校验。64.随机码用于防止在一段时间内同一个数据包重复进行端口敲门操作,因此历次随机码是指一段时间内接收到的来自终端2的敲门数据中的随机码,这个一段时间可以基于实际需求进行设定,比如可以是一个月。也就是说,来自合法终端2的敲门数据中,只有在一个月内包含不重复的随机码的敲门数据才可以通过端口敲门校验,否则一个月内出现的携带重复随机码的敲门数据是无法通过端口敲门校验的。基于随机码的校验可以避免非法终端2b利用截获的合法数据包q进行端口敲门,进一步提高服务器4的数据安全性。65.于一实施例中,明文spa数据可以如图5b所示,其中各字符串字段之间,由一个分号进行分隔,即各字段本身的值不能包含分号。具体释义如下:66.客户端版本:即终端2中装载的客户端app版本号,格式可以为x.y.z,在校验时,网关设备3会将客户端版本与敲门数据中的版本做匹配检查。67.消息类型:用以标识消息的类型,可以留作后续扩展使用,比如可以为1,也可以基于实际需求填写消息类型编号。68.16字节随机串:即随机码,用于防止在一段时间内同一个数据包重复进行端口敲门操作。69.设备id:用于检查发起请求的客户端设备信息,是否在数据库中。70.hmac-sha256:是密钥相关的哈希运算消息认证码,用于网关设备3对如图5b中所示的客户端版本、消息类型、16字节随机串和设备id的数据,进行hmac-sha256加密计算,以共网关设备3进行消息完整性校验,其中,算法使用的密钥,可以根据如图5a所示的终端2授权密钥名确定。71.步骤404:在终端2通过第一次端口敲门校验时,开启目标端口,接收终端2对目标端口的数据传输请求。详细参见上述实施例中对步骤303的描述。72.步骤405:从数据传输请求中抽取出终端2对目标端口的敲门数据,敲门数据中携带有终端2的授权密钥标识。73.在本步骤中,在第一次端口敲门校验通过后,开启了目标端口,终端2可以通过目标端口在配置的一段时间内与网关设备3建立数据连接,比如建立tpc连接,网关设备3实时监听目标端口上终端2发来的数据传输请求,数据传输请求中携带有敲门数据,此处的敲门数据可以与步骤402中的敲门数据相同,详细可参见步骤402中对于敲门数据的描述。网关设备3首先从数据传输请求中抽取出敲门数据。74.步骤406:采用授权密钥标识对应的授权密钥对敲门数据进行解密处理,得到敲门明文数据,根据敲门明文数据,对终端2进行第二次端口敲门校验。75.在本步骤中,以上述单包授权为例,敲门数据为加密的spa数据,敲门数据中携带有终端2的授权密钥标识,因此可以基于上述授权密钥标识从网关设备3上找到对应的授权密钥,采用授权密钥对加密的spa数据进行解密处理,得到明文spa数据(也就是敲门明文数据),然后基于明文spa数据对终端2进行第二次的端口敲门校验,如果校验通过,进入步骤407,否则假设第二次端口校验没有通过,则说明本次的数据传输请求可能不是由被授权的终端2发起的。比如是由上述例子中的非法终端2b发起的,则为了保护服务器4的数据安全,可以直接丢弃本次数据传输请求的数据包。如此实现了仅对合法的数据连接进行放行,收缩了可发起数据连接的范围,确保发起数据连接的终端2是经过网关设备3授权认证的。76.第二次端口敲门校验的过程可以与第一次端口敲门校验的过程相同,详细参见步骤403及其可选实施例中对于端口敲门的详细描述,在此不再赘述。77.步骤407:在终端2通过第二次端口敲门校验时,通过目标端口转发数据传输请求至服务器4,并可以记录端口敲门过程和数据传输过程。详细参见上述实施例中对步骤304及其可选实施例的描述。78.请参看图6,其为本技术一实施例的数据传输装置600,该装置可应用于图1所示的电子设备1,并可以应用于上述图2中的数据传输的场景中,以使只有被授权终端2才可以正常访问服务器4业务,提高数据访问的安全性。该装置包括:第一接收模块601、第一敲门模块602、第二接收模块603和第二敲门模块604,各个模块的原理关系如下:79.第一接收模块601,用于接收终端2对目标端口的敲门请求。80.第一敲门模块602,用于根据敲门请求对终端2进行第一次端口敲门校验。81.第二接收模块603,用于在终端2通过第一次端口敲门校验时,开启目标端口,接收终端2对目标端口的数据传输请求。82.第二敲门模块604,用于根据数据传输请求对终端2进行第二次端口敲门校验,并在终端2通过第二次端口敲门校验时,通过目标端口转发数据传输请求至服务器4。83.于一实施例中,第一敲门模块602,用于:从敲门请求中抽取出终端2对目标端口的敲门数据,敲门数据中携带有终端2的授权密钥标识。采用授权密钥标识对应的授权密钥对敲门数据进行解密处理,得到敲门明文数据,根据敲门明文数据,对终端2进行第一次端口敲门校验。84.于一实施例中,第二敲门模块604,用于:从数据传输请求中抽取出终端2对目标端口的敲门数据,敲门数据中携带有终端2的授权密钥标识。采用授权密钥标识对应的授权密钥对敲门数据进行解密处理,得到敲门明文数据,根据敲门明文数据,对终端2进行第二次端口敲门校验。85.于一实施例中,敲门明文数据中包括终端2的唯一标识信息。根据敲门明文数据,对终端2进行端口敲门校验的步骤包括:将唯一标识信息与数据库中终端2的授权信息进行比对,当唯一标识信息与数据库中终端2的授权信息相同时,确定终端2通过端口敲门校验,其中,数据库中预存有已授权终端2的授权信息。86.于一实施例中,敲门明文数据中还包括终端2生成的当前随机码。在将唯一标识信息与数据库中终端2的授权信息进行比对之后,还包括:当唯一标识信息与数据库中终端2的授权信息相同时,判断当前随机码是否与终端2的任意一个历次随机码相同。在当前随机码与终端2的任意一个历次随机码都不相同时,确定终端2通过端口敲门校验。87.于一实施例中,在将唯一标识信息与数据库中终端2的授权信息进行比对之后,还包括:在当前随机码与终端2的任意一个历次随机码相同时,确定终端2未通过端口敲门校验。88.上述数据传输装置600的详细描述,请参见上述实施例中相关方法步骤的描述。89.本发明实施例还提供了一种非暂态电子设备可读存储介质,包括:程序,当其在电子设备上运行时,使得电子设备可执行上述实施例中方法的全部或部分流程。其中,存储介质可为磁盘、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等。存储介质还可以包括上述种类的存储器的组合。90.虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。当前第1页12当前第1页12
转载请注明原文地址:https://win.8miu.com/read-950442.html

最新回复(0)