技术新讯 > 电子通信装置的制造及其应用技术 > 一种专线客户端的安全防护方法、装置、系统及设备与流程  >  正文

一种专线客户端的安全防护方法、装置、系统及设备与流程

  • 国知局
  • 2024-08-05 12:01:28

本说明书实施例涉及网络安全,尤其涉及一种专线客户端的安全防护方法、装置、系统及设备。

背景技术:

1、专线客户端指的是客户端与服务端之间通过网络专线连接,这种客户端为服务端所指定的专用客户端。目前服务端对专线客户端的安全防护性较低,容易出现攻击者对客户端进行攻击后,盗取客户端的证书、凭证等访问权限,伪造专线客户端窃取服务端的数据,或使用网络“钩子”等技术拦截客户端与服务端之间交互的报文,对报文进行篡改或窃取报文中的内容等问题。

2、目前专线客户端与服务端之间通常使用非对称加密算法加密底层通信通道,双方分别持有一对公私钥,但这种加密方法的密钥是存储在客户端系统内的,攻击者对客户端进行攻击后,能够轻松盗取客户端中存储的公私钥,从而伪造客户端盗取服务端的数据。

3、现在亟需一种专线客户端的安全防护方法,从而解决目前客户端与服务端之间因通过非对称加密算法加密底层通信通道的安全性低,容易被恶意攻击者盗取公私钥,导致攻击者能够轻易伪造客户端并以客户端为跳板对服务端进行攻击的问题。

技术实现思路

1、为解决目前客户端与服务端之间因通过非对称加密算法加密底层通信通道的安全性低,容易被恶意攻击者盗取公私钥,导致攻击者能够轻易伪造客户端并以客户端为跳板对服务端进行攻击的问题,本说明书实施例提供了一种专线客户端的安全防护方法、装置、系统及设备,服务端向客户端提供运算指令由客户端进行计算,并将计算结果加密后返回给服务端进行验证,从而判断客户端是否为伪造。并且通过生成动态的密钥的方式对客户端与服务端之间交互的报文进行加密,增加了对客户端与服务端交互报文的连续性。

2、为了解决上述技术问题中的任意一种,本说明书实施例的具体技术方案如下:

3、一方面,本说明书实施例提供了一种专线客户端的安全防护方法,由客户端执行,所述方法包括:

4、获取客户端的当前时间作为时间戳,根据所述时间戳生成握手验证请求,并将所述握手验证请求发送给服务端;以便于所述服务端在接收到所述握手验证请求后,计算所述服务端的当前时间与所述时间戳之间的时间差,在所述服务端生成第一握手密钥时,获取服务端的当前时间并利用所述时间差计算所述客户端的第一握手时间值,利用第一算法对所述第一握手时间值进行计算,得到所述第一握手密钥,并利用所述第一握手密钥对服务端生成的运算指令进行加密并发送给所述客户端;

5、接收到加密的所述运算指令后,获取客户端的当前时间,并利用所述第一算法对客户端的当前时间进行计算,得到第二握手密钥;

6、利用所述第二握手密钥对加密的所述运算指令进行解密,得到所述运算指令;

7、对所述运算指令进行计算,得到计算结果;

8、利用所述第二握手密钥对所述计算结果进行加密,并将加密后的计算结果发送给所述服务端,以便于所述服务端利用所述第一握手密钥对加密的计算结果进行解密,并对解密后的计算结果进行握手验证;

9、服务端握手验证通过后,服务端与客户端之间进行报文交互,在每次服务端与客户端之间交互报文时,获取客户端的当前时间,并利用第二算法对客户端的当前时间和所述计算结果进行计算,得到第二交互密钥,利用第二交互密钥对发送给服务端的报文进行加密,以便于服务端利用与第二交互密钥对应的第一交互密钥对加密的报文进行解密,其中第一交互密钥是所述服务端利用所述第二算法对第一交互时间值和计算结果进行计算得到的,第一交互时间值是所述服务端生成所述第一交互密钥时获取服务端的当前时间并利用所述时间差计算得到的。

10、进一步地,根据所述时间戳生成握手验证请求进一步包括:

11、根据所述时间戳以及随机数生成所述握手验证请求;以便于所述服务端利用所述第一算法对所述第一握手时间值以及所述随机数进行计算,得到所述第一握手密钥;

12、利用所述第一算法对客户端的当前时间进行计算,得到第二握手密钥进一步包括:

13、利用所述第一算法对客户端的当前时间以及随机数计算所述第二握手密钥。

14、进一步地,利用所述第一算法对客户端的当前时间以及随机数计算所述第二握手密钥进一步包括:

15、利用所述第一算法对所述客户端的软硬件特征信息、当前时间以及所述随机数计算,得到所述第二握手密钥;其中,所述第一握手密钥是所述服务端利用所述第一算法对预先存储的所述客户端的软硬件特征信息、第一握手时间值以及随机数进行计算得到的。

16、进一步地,服务端与客户端之间进行报文交互,在每次服务端与客户端之间交互报文时,获取客户端的当前时间,并利用第二算法对客户端的当前时间和所述计算结果进行计算,得到第二交互密钥,利用第二交互密钥对发送给服务端的报文进行加密进一步包括:

17、在每次客户端接收到服务端发送的下行报文时,获取客户端的当前时间,利用所述第二算法对客户端的当前时间和计算结果进行计算,得到与所述第二交互密钥,利用所述第二交互密钥对加密后的下行报文进行解密;在客户端向服务端发送与所述下行报文对应上行报文时,利用第二交互密钥对所述上行报文进行加密,并将加密后的上行报文发送给所述服务端,以便于所述服务端利用所述第一交互密钥对加密后的所述上行报文进行解密。

18、基于同一发明构思,本说明书实施例还提供了一种专线客户端的安全防护方法,由服务端执行,所述方法包括:

19、在接收到客户端发送的握手验证请求后,获取服务端的当前时间并计算其与所述握手验证请求中的时间戳之间的时间差;

20、在生成第一握手密钥时,获取服务端的当前时间并利用所述时间差计算所述客户端的第一握手时间值,利用第一算法对所述第一握手时间值进行计算,得到所述第一握手密钥;

21、利用所述第一握手密钥对服务端生成的运算指令进行加密并发送给所述客户端;以便于所述客户端接收到加密的所述运算指令后,获取客户端的当前时间,并利用所述第一算法对客户端的当前时间进行计算,得到第二握手密钥;利用所述第二握手密钥对加密的所述运算指令进行解密,得到所述运算指令;对所述运算指令进行计算,得到计算结果;利用所述第二握手密钥对所述计算结果进行加密,并将加密后的计算结果发送给所述服务端;

22、接收到加密后的计算结果后,利用所述第一握手密钥对加密的计算结果进行解密,并对解密后的计算结果进行握手验证;

23、服务端握手验证通过后,服务端与客户端之间进行报文交互,在每次服务端与客户端之间交互报文时,获取服务端的当前时间,利用所述时间差计算所述客户端的第一交互时间值,利用第二算法对所述第一交互时间值和计算结果进行计算,得到第一交互密钥,利用所述第一交互密钥对发送给客户端的报文进行加密,并将加密后的报文发送给所述客户端;以便于客户端利用与第一交互密钥对应的第二交互密钥对加密的报文进行解密,其中第二交互密钥是所述客户端再接收到加密的报文后,获取客户端的当前时间,利用所述第二算法对客户端的当前时间和计算结果进行计算得到的。

24、进一步地,所述握手验证请求中还包括所述客户端的随机数;

25、利用第一算法对所述第一握手时间值进行计算,得到所述第一握手密钥进一步包括:

26、利用所述第一算法对所述第一握手时间值以及所述随机数进行计算,得到所述第一握手密钥;其中,所述客户端利用所述第一算法对客户端的当前时间进行计算,得到第二握手密钥进一步包括:利用所述第一算法对客户端的当前时间以及随机数计算所述第二握手密钥。

27、进一步地,利用所述第一算法对所述第一握手时间值以及所述随机数进行计算,得到所述第一握手密钥进一步包括:

28、利用所述第一算法对预先存储的所述客户端的软硬件特征信息、第一握手时间值以及随机数进行计算,得到所述第一握手密钥;其中,所述客户端利用所述第一算法对客户端的当前时间以及随机数计算所述第二握手密钥进一步包括:利用所述第一算法对所述客户端的软硬件特征信息、当前时间以及所述随机数计算,得到所述第二握手密钥。

29、进一步地,服务端握手验证通过后,服务端与客户端之间进行报文交互,在每次服务端与客户端之间交互报文时,获取服务端的当前时间,利用所述时间差计算所述客户端的第一交互时间值,利用第二算法对所述第一交互时间值和计算结果进行计算,得到第一交互密钥,利用所述第一交互密钥对发送给客户端的报文进行加密,并将加密后的报文发送给所述客户端进一步包括:

30、在每次服务端向客户端发送下行报文时,获取服务端的当前时间,并利用所述时间差计算所述客户端的第一交互时间值,利用第二算法对所述第一交互时间值和计算结果进行计算,得到第一交互密钥,利用所述第一交互密钥对所述下行报文进行加密,并将加密后的下行报文发送给所述客户端;以便于所述客户端利用所述第二交互密钥对加密后的所述下行报文进行解密。

31、另一方面,本说明书实施例还提供了一种专线客户端的安全防护装置,所述装置包括:

32、握手验证请求发送单元,用于获取客户端的当前时间作为时间戳,根据所述时间戳生成握手验证请求,并将所述握手验证请求发送给服务端;以便于所述服务端在接收到所述握手验证请求后,计算所述服务端的当前时间与所述时间戳之间的时间差,在所述服务端生成第一握手密钥时,获取服务端的当前时间并利用所述时间差计算所述客户端的第一握手时间值,利用第一算法对所述第一握手时间值进行计算,得到所述第一握手密钥,并利用所述第一握手密钥对服务端生成的运算指令进行加密并发送给所述客户端;

33、第二握手密钥计算单元,用于接收到加密的所述运算指令后,获取客户端的当前时间,并利用所述第一算法对客户端的当前时间进行计算,得到第二握手密钥;

34、运算指令解密单元,用于利用所述第二握手密钥对加密的所述运算指令进行解密,得到所述运算指令;

35、运算指令计算单元,用于对所述运算指令进行计算,得到计算结果;

36、计算结果加密单元,用于利用所述第二握手密钥对所述计算结果进行加密,并将加密后的计算结果发送给所述服务端,以便于所述服务端利用所述第一握手密钥对加密的计算结果进行解密,并对解密后的计算结果进行握手验证;

37、报文交互单元,用于在服务端握手验证通过后,服务端与客户端之间进行报文交互,在每次服务端与客户端之间交互报文时,获取客户端的当前时间,并利用第二算法对客户端的当前时间和所述计算结果进行计算,得到第二交互密钥,利用第二交互密钥对发送给服务端的报文进行加密,以便于服务端利用与第二交互密钥对应的第一交互密钥对加密的报文进行解密,其中第一交互密钥是所述服务端利用所述第二算法对第一交互时间值和计算结果进行计算得到的,第一交互时间值是所述服务端生成所述第一交互密钥时获取服务端的当前时间并利用所述时间差计算得到的。

38、基于同一发明构思,本说明书实施例还提供了一种专线客户端的安全防护装置,所述装置包括:

39、时间差计算单元,用于在接收到客户端发送的握手验证请求后,获取服务端的当前时间并计算其与所述握手验证请求中的时间戳之间的时间差;

40、第一握手密钥计算单元,用于在生成第一握手密钥时,获取服务端的当前时间并利用所述时间差计算所述客户端的第一握手时间值,利用第一算法对所述第一握手时间值进行计算,得到所述第一握手密钥;

41、运算指令加密单元,用于利用所述第一握手密钥对服务端生成的运算指令进行加密并发送给所述客户端;以便于所述客户端接收到加密的所述运算指令后,获取客户端的当前时间,并利用所述第一算法对客户端的当前时间进行计算,得到第二握手密钥;利用所述第二握手密钥对加密的所述运算指令进行解密,得到所述运算指令;对所述运算指令进行计算,得到计算结果;利用所述第二握手密钥对所述计算结果进行加密,并将加密后的计算结果发送给所述服务端;

42、计算结果验证单元,用于接收到加密后的计算结果后,利用所述第一握手密钥对加密的计算结果进行解密,并对解密后的计算结果进行握手验证;

43、报文交互单元,用于在服务端握手验证通过后,服务端与客户端之间进行报文交互,在每次服务端与客户端之间交互报文时,获取服务端的当前时间,利用所述时间差计算所述客户端的第一交互时间值,利用第二算法对所述第一交互时间值和计算结果进行计算,得到第一交互密钥,利用所述第一交互密钥对发送给客户端的报文进行加密,并将加密后的报文发送给所述客户端;以便于客户端利用与第一交互密钥对应的第二交互密钥对加密的报文进行解密,其中第二交互密钥是所述客户端再接收到加密的报文后,获取客户端的当前时间,利用所述第二算法对客户端的当前时间和计算结果进行计算得到的。

44、另一方面,本说明书实施例还提供了一种专线客户端的安全防护系统,包括客户端和服务端;

45、客户端获取当前时间作为时间戳,根据所述时间戳生成握手验证请求,并将所述握手验证请求发送给所述服务端;

46、所述服务端在接收到所述握手验证请求后,计算所述服务端的当前时间与所述时间戳之间的时间差,在所述服务端生成第一握手密钥时,获取服务端的当前时间并利用所述时间差计算所述客户端的第一握手时间值,利用第一算法对所述第一握手时间值进行计算,得到所述第一握手密钥,并利用所述第一握手密钥对服务端生成的运算指令进行加密并发送给所述客户端;

47、所述客户端在接收到加密的所述运算指令后,获取客户端的当前时间,并利用所述第一算法对客户端的当前时间进行计算,得到第二握手密钥;利用所述第二握手密钥对加密的所述运算指令进行解密,得到所述运算指令;对所述运算指令进行计算,得到计算结果;利用所述第二握手密钥对所述计算结果进行加密,并将加密后的计算结果发送给所述服务端;

48、所述服务端利用所述第一握手密钥对加密的计算结果进行解密,并对解密后的计算结果进行握手验证;

49、所述服务端握手验证通过后,所述服务端与所述客户端之间进行报文交互,在服务端每次向客户端发送下行报文时,服务端获取服务端的当前时间,并利用所述时间差计算所述客户端的第一交互时间值,利用第二算法对所述第一交互时间值和计算结果进行计算,得到第一交互密钥,利用所述第一交互密钥对所述下行报文进行加密,并将加密后的下行报文发送给所述客户端;

50、在客户端每次接收到服务端发送的加密后的下行报文时,所述客户端获取客户端的当前时间,并利用所述第二算法对客户端的当前时间和所述计算结果进行计算,得到第二交互密钥;利用所述第二交互密钥对所述加密后的下行报文进行解密;在客户端向服务端发送与所述下行报文对应上行报文时,利用第二交互密钥对所述上行报文进行加密,并将加密后的上行报文发送给所述服务端,以便于所述服务端利用所述第一交互密钥对加密后的所述上行报文进行解密。

51、另一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在存储器上的计算机程序,处理器执行所述计算机程序时实现上述的方法。

52、另一方面,本说明书实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。

53、利用本说明书实施例,客户端首先和服务端进行握手验证,采取了时间差的机制,服务端根据自身的时间以及服务端与客户端之间的时间差预测客户端的时间,并根据预测的客户端的时间来生成密钥对交互数据进行加密,然后仅将加密的数据发送给客户端,客户端根据自身的时间并采用相同的方法计算密钥进行解密,因此即便加密数据在传输过程中被攻击者恶意拦截,但因为密钥并没有在客户端与服务端之间传输,并且密钥也是跟随着客户端时间变化而不断变化的,因此攻击者无法复刻密钥对加密数据进行破译,从而保证了加密数据在传输过程中的安全性。此外服务端与客户端之间握手验证通过后,服务端每次与客户端之间发送报文时,均通过时间差的方式计算报文的密钥,因此若在报文的发送过程中被攻击者拦截并篡改,也会改变报文达到客户端或服务端的时间,因此客户端或服务端能够准确识别出被恶意篡改的报文,解决目前客户端与服务端之间因通过非对称加密算法加密底层通信通道的安全性低,容易被恶意攻击者盗取公私钥,导致攻击者能够轻易伪造客户端并以客户端为跳板对服务端进行攻击的问题。

本文地址:https://www.jishuxx.com/zhuanli/20240802/260660.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。