CN108512849B - 一种访问服务器的握手方法及系统 - Google Patents

一种访问服务器的握手方法及系统 Download PDF

Info

Publication number
CN108512849B
CN108512849B CN201810281699.1A CN201810281699A CN108512849B CN 108512849 B CN108512849 B CN 108512849B CN 201810281699 A CN201810281699 A CN 201810281699A CN 108512849 B CN108512849 B CN 108512849B
Authority
CN
China
Prior art keywords
key
target
comparison
list
timestamp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810281699.1A
Other languages
English (en)
Other versions
CN108512849A (zh
Inventor
丁浩
吴岩
石磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201810281699.1A priority Critical patent/CN108512849B/zh
Publication of CN108512849A publication Critical patent/CN108512849A/zh
Application granted granted Critical
Publication of CN108512849B publication Critical patent/CN108512849B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种访问服务器的握手方法,包括:获取与握手请求的加密时域信息和访问时刻对应的第一时间戳,查找与所述第一时间戳对应的第一目标密钥,依据所述第一目标密钥对所述加密时域信息进行解密;当接收到第一解密失败指令时,在所述密钥列表中获取第二目标密钥,依据所述第二目标密钥对所述加密时域信息进行解密;当接收到解密成功指令时,完成对所述目标服务器的握手。上述的握手方法,当第一解密不成功时,会依据第二目标密钥进行解密,避免了现有技术中,服务器端的时间同步是一种松耦合的分布,即可能存在毫秒级别或者秒级别的误差,服务器端会以新的密钥解密客户端发来的加密时域信息,造成无法解密的问题。

Description

一种访问服务器的握手方法及系统
技术领域
本发明涉及网络通信技术领域,尤其涉及一种访问服务器的握手方法及系统。
背景技术
HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,即是HTTP的安全版。在https协议的实际实现中,客户端和服务器在TCP握手之后,还要进行SSL握手,再消耗4个RTT时间,因此造成了一定的延迟。为了解决这个问题,https协议的扩展协议中给出了基于session ticket的方法来重用https的SSL会话,使得当之前在一段时间内进行过SSL握手的用户再次握手时,只需要消耗1个额外的RTT时间,就可以完成握手。其中,针对session ticket方法,指的是服务器每次SSL握手完成后,将相关的session信息利用一个密钥加密生成一个加密过的信息,称为加密时域信息ticket,发送给客户端;客户端再次访问的时候,直接携带ticket,服务器端再利用相同的密钥进行解密,如果解密成功,则可以简化握手过程,节约时间。
发明人对现有的访问服务器的握手方法进行研究发现,现有的session ticket密钥更换机制十分简单,如一天更换一次密钥,但是客户端、服务器端的时间同步是一种松耦合的分布,即可能存在毫秒级别或者秒级别的误差,所以当客户端时间是23:59时,服务器端时间可能已经是00:00。这样,服务器端会以新的ticket密钥解密客户端发来的ticket,造成无法解密的故障。
发明内容
有鉴于此,本发明提供了一种访问服务器的握手方法,用以解决服务器端的时间同步是一种松耦合的分布,即可能存在毫秒级别或者秒级别的误差,服务器端会以新的密钥解密客户端发来的加密时域信息,造成无法解密的问题。具体方案如下:
一种访问服务器的握手方法,包括:
当接收到客户端向目标服务器发送的握手请求时,获取所述握手请求的加密时域信息和发送时刻对应的第一时间戳;
在预设的密钥列表中查找与所述第一时间戳对应的第一目标密钥,所述密钥列表中的各个密钥依据时间戳的升序或降序进行排列;
依据所述第一目标密钥对所述加密时域信息进行解密;
当接收到第一解密失败指令时,在所述密钥列表中获取第二目标密钥,依据所述第二目标密钥对所述加密时域信息进行解密;其中,所述第二目标密钥为与所述第一目标密钥存在相邻关系且对应的第二时间戳小于所述第一时间戳;
当接收到解密成功指令时,完成对所述目标服务器的握手。
上述的方法,可选的,还包括:
当接收到第二解密失败指令时,依据安全套接层协议进行握手。
上述的方法,可选的,还包括:
获取所述目标服务器对应的IP地址,判断所述IP地址是否存在于预设的IP地址白名单内;
当存在时,获取所述目标服务器对应的第一对比密钥;
判断所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥是否相同,若所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥相同,对所述预设的密钥列表进行更新。
上述的方法,可选的,还包括:
若所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥不相同,判断所述第一对比密钥是否存在于所述密钥管理机中;
当存在时,所述预设的密钥列表不进行更新;当不存在时,将所述第一对比密钥发送到所述密钥管理机进行验证,当接收到验证成功指令时,所述密钥管理机将预设数量的密钥存储到所述预设的密钥列表中。
上述的方法,可选的,获取所述目标服务器对应的第一对比密钥包括:
解析所述第一对比密钥的标识;
当所述标识为第一标识时,所述第一对比密钥为在启动密钥管理机中获取与所述目标服务器对应的启动密钥;
当所述标识为第二标识时,所述第一对比密钥为所述密钥列表中最小时间戳对应的密钥。
一种访问服务器的握手系统,包括:
第一获取模块,用于当接收到客户端向目标服务器发送的握手请求时,获取所述握手请求的加密时域信息和发送时刻对应的第一时间戳;
查找模块,用于在预设的密钥列表中查找与所述第一时间戳对应的第一目标密钥,所述密钥列表中的各个密钥依据时间戳的升序或降序进行排列;
第一解密模块,用于依据所述第一目标密钥对所述加密时域信息进行解密;
第二解密模块,用于当接收到第一解密失败指令时,在所述密钥列表中获取第二目标密钥,依据所述第二目标密钥对所述加密时域信息进行解密;其中,所述第二目标密钥为与所述第一目标密钥存在相邻关系且对应的第二时间戳小于所述第一时间戳;
第一握手模块,用于当接收到解密成功指令时,完成对所述目标服务器的握手。
上述的系统,可选的,还包括:
第二握手模块,用于当接收到第二解密失败指令时,依据安全套接层协议进行握手。
上述的系统,可选的,还包括:
第一判断模块,用于获取所述目标服务器对应的IP地址,判断所述IP地址是否存在于预设的IP地址白名单内;
第二获取模块,用于当存在时,获取所述目标服务器对应的第一对比密钥;
第二判断模块,用于判断所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥是否相同,若所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥相同,对所述预设的密钥列表进行更新。
上述的系统,可选的,还包括:
第三判断模块,用于若所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥不相同,判断所述第一对比密钥是否存在于所述密钥管理机中;
存储模块,用于当存在时,所述预设的密钥列表不进行更新;当不存在时,将所述第一对比密钥发送到所述密钥管理机进行验证,当接收到验证成功指令时,所述密钥管理机将预设数量的密钥存储到所述预设的密钥列表中。
上述的系统,可选的,所述第二获取模块包括:
解析单元,用于解析所述第一对比密钥的标识;
第一确定单元,用于当所述标识为第一标识时,所述第一对比密钥为在启动密钥管理机中获取与所述目标服务器对应的启动密钥;
第二确定单元,用于当所述标识为第二标识时,所述第一对比密钥为所述密钥列表中最小时间戳对应的密钥。
与现有技术相比,本发明包括以下优点:
本发明公开了一种访问服务器的握手方法,包括:获取与握手请求的加密时域信息和访问时刻对应的第一时间戳,查找与所述第一时间戳对应的第一目标密钥,依据所述第一目标密钥对所述加密时域信息进行解密;当接收到第一解密失败指令时,在所述密钥列表中获取第二目标密钥,依据所述第二目标密钥对所述加密时域信息进行解密;当接收到解密成功指令时,完成对所述目标服务器的握手。上述的握手方法,当第一解密不成功时,会依据第二目标密钥进行解密,避免了现有技术中,服务器端的时间同步是一种松耦合的分布,即可能存在毫秒级别或者秒级别的误差,服务器端会以新的密钥解密客户端发来的加密时域信息,造成无法解密的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种访问服务器的握手方法流程图;
图2为本申请实施例公开的一种访问服务器的握手方法另一方法流程图;
图3为本申请实施例公开的一种访问服务器的握手方法执行过程示意图;
图4为本申请实施例公开的一种访问服务器的握手系统结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本发明提供了一种访问服务器的握手方法,所述握手方法客户端访问服务器时服务器的启动过程中,所述握手方法的执行主体可以为服务器内的处理器或者算法模块等。所述握手方法的流程图如图1所示,包括步骤:
S101、当接收到客户端向目标服务器发送的握手请求时,获取所述握手请求的加密时域信息和发送时刻对应的第一时间戳;
本发明实施例中,所述目标服务器优选https服务器。所述握手请求指在客户端与目标服务器完成TCP握手之后,还需要进行的SSL握手的请求;所述加密时域信息指在时域范围内,服务器每次握手完成后,将相关的会话控制session信息采用一个预设的密钥进行加密得到的信息。
S102、在预设的密钥列表中查找与所述第一时间戳对应的第一目标密钥,所述密钥列表中的各个密钥依据时间戳的升序或降序进行排列;
本发明实施例中,所述密钥列表中的时间戳与密钥存在一一对应关系。
S103、依据所述第一目标密钥对所述加密时域信息进行解密;
本发明实施例中,对所述加密时域信息进行解密的方式与采用的加密算法有关,所述加密算法DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法和IDEA算法等中的一种。
S104、当接收到第一解密失败指令时,在所述密钥列表中获取第二目标密钥,依据所述第二目标密钥对所述加密时域信息进行解密;其中,所述第二目标密钥为与所述第一目标密钥存在相邻关系且对应的第二时间戳小于所述第一时间戳;
本发明实施例中,当接收到第一解密失败指令时,将所述密钥列表中与所述第一时间戳相邻的且对应的时间戳小于所述第一时间戳的第二时间戳对应的密钥作为第二目标密钥,依据所述第二目标密钥对所述加密时域信息进行解密。
S105、当接收到解密成功指令时,完成对所述目标服务器的握手。
本发明实施例中,当接收到解密成功指令时,验证所述加密时域信息中包含的session,实现对所述目标服务器的握手。
本发明实施例中,由于客户端、服务器端的时间同步是一种松耦合的分布,即可能存在毫秒级别或者秒级别的误差,所以当客户端时间是23:59时,服务器端时间可能已经是00:00。这样,服务器端会以新的ticket密钥解密客户端发来的ticket,造成无法解密的故障,从而影响服务体验。此故障在日期更迭时发生频率极高。因此,本发明采用当接收到第一解密失败指令时,在所述密钥列表中获取第二目标密钥,依据所述第二目标密钥对所述加密时域信息进行解密;其中,所述第二目标密钥为与所述第一目标密钥存在相邻关系且对应的第二时间戳小于所述第一时间戳,即选择当前时间戳的前一时间戳对应的第二目标密钥进行解密。
本发明实施例中,将采用SSL握手方式得到加密时域信息发送到所述客户端,当所述客户端再次访问所述目标服务器时,直接将所述加密时域信息发送给所述目标服务器进行验证,获取发送时刻对应的第一时间戳,在预设的密钥列表中找与所述第一时间戳对应的第一目标密钥进行解密,若解密成功,验证所述加密时域信息中包含的session,实现对所述目标服务器的握手。若解密不成功,接收到第一解密失败指令时,继续在所述密钥列表中,选取第二目标密钥,依据所述第二目标密钥进行解密,当解密成功时,验证所述加密时域信息中包含的session,实现对所述目标服务器的握手,若解密不成功,接收到第二解密失败指令时,依据安全套接层协议进行握手。其中,依据安全套接层协议进行握手,指进行SSL会话,所述SSL会话需要消耗4个往返时延RTT(Round-Trip Time),而采用本发明所述的握手方法只需要一个所述RTT。
本发明实施例中,所述密钥列表中存储的密钥是通过密钥管理机获取的。其中,所述密钥管理机负责生成、管理以及下发密钥,所述目标服务器负责接收所述密钥管理机下发的密钥,并与客户端通信。
其中,优选的,密钥管理机在每个时间戳可以为(14400+K*3600)的时刻生产密钥,即每天中午的12:00产生。使用现有的密钥生成算法,一次生成24个密钥,对应下一天的0:00-24:00每个小时的密钥。优选的,密钥管理机只保存最近生产的72个密钥。
本发明公开了一种访问服务器的握手方法,包括:获取与握手请求的加密时域信息和访问时刻对应的第一时间戳,查找与所述第一时间戳对应的第一目标密钥,依据所述第一目标密钥对所述加密时域信息进行解密;当接收到第一解密失败指令时,在所述密钥列表中获取第二目标密钥,依据所述第二目标密钥对所述加密时域信息进行解密;当接收到解密成功指令时,完成对所述目标服务器的握手。上述的握手方法,当第一解密不成功时,会依据第二目标密钥进行解密,避免了现有技术中,服务器端的时间同步是一种松耦合的分布,即可能存在毫秒级别或者秒级别的误差,服务器端会以新的密钥解密客户端发来的加密时域信息,造成无法解密的问题。
本发明实施例中,所述握手方法还包括如下步骤,如图2所示:
S201、获取所述目标服务器对应的IP地址,判断所述IP地址是否存在于预设的IP地址白名单内;
本发明实施例中,只有在所述预设的IP地址白名单内的IP地址才可以访问所述密钥管理机。
S202、当存在时,获取所述目标服务器对应的第一对比密钥;
本发明实施例中,当存在时,验证所述目标服务器中包含的标识,当所述标识为第一标识时,在密钥管理机中获取与所述目标服务器对应的启动密钥作为第一对比密钥;当所述标识为第二标识时,获取所述密钥列表中最小时间戳对应的密钥作为第一对比密钥。其中,所述第一标识和所述第二标识可以为数字、字母、数字和字母的组合或者其它优选的标识,当所述标识为第一标识时代表所述目标服务器首次启动,当所述标识为第二标识时代表所述目标服务器非首次启动。
其中,所述密钥管理机是密钥管理服务器,负责生成、管理以及下发密钥。
S203、判断所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥是否相同,若所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥相同,对所述预设的密钥列表进行更新。
本发明实施例中,还包括:若所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥不相同,,断所述第一对比密钥是否存在于所述密钥管理机中,当存在时,所述预设的密钥列表不进行更新。当不存在时,将所述第一对比密钥发送到所述密钥管理机进行验证;当接收到验证成功指令时,所述密钥管理机将预设数量的密钥存储到所述目标服务器的密钥列表中
本发明实施例中,优选的,所述密钥列表中存储有至少48个密钥,每个小时对应一个,对应关系举例为,(1503212400,密钥1)、(1503216000,密钥2)(1503219600,密钥3)...。其中,数字对应的是每个整点的时间戳,如1503219600,换算成北京时间为2017年8月20日17时0分0秒。
本发明实施例中,优选的,每个密钥的过期时间为其时间戳加3600秒,即时间戳算出来的整点的下一个整点。当用户携带所述加密时域信息发送握手请求时时:
(1)读取用户的发送时刻的第一时间戳,通过以下公式计算当前时刻的整点:T=t-(t mod 3600);其中T是上一个整点的时间戳,t是用户的第一时间戳,mod是取模运算。算出T之后,查询密钥列表,找到相应的密钥并尝试使用此密钥来进行解密;
(2)如果解密不成功,再尝试使用前一个密钥解密;前一个密钥为时间戳(T-3600)对应的密钥。举例说明,用户在2017年8月20日17时0分1秒(第一时间戳为1503219601)访问了服务器,且携带了所述加密时域信息,则服务器首先通过计算,得到密钥3,并使用密钥3进行解密,如果解密成功则执行后续流程;如果不成功,则再使用密钥2解密,如果成功则继续执行后续流程;密钥2也不成功的话则此次所述加密时域信息解密失败,重新进行ssl握手。
其中,所述目标服务器每隔一定时间访问密钥管理机,获取密钥。如,每隔3小时访问一次所述密钥管理机且访问时可以不是整点。目的是为了提高容错性。从所述密钥管理机的角度看,需要维护一个所述IP地址白名单,只有在所述IP地址白名单中的IP地址能够访问密钥管理机。从服务器角度看,为了增加安全性,服务器不能将密钥储存在磁盘上,而是应该在服务器运行时将密钥加载和保存在内存中,从实现上讲可使用如分布式高速缓存系统Memcache等技术。这样当应用层所述目标服务器重启或关闭后,可以保证密钥不泄露。其中,以下访问中,两两之间的通信方式都是安全的通信方式,如https,所述目标服务器每次访问的流程包含如下两种情况,当所述目标服务器非首次启动时,所述目标服务器访问所述密钥管理机时,获取所述目标服务器对应的IP地址,判断所述IP地址是否存在于预设的IP地址白名单内,当存在时,携带的参数为所述密钥列表中值最小的时间戳对应的密钥,称为最小密钥;
所述密钥管理机收到所述目标服务器的请求后,将所述最小密钥与所述密钥列表进行比对:
(1)如果此最小密钥在所述密钥管理机的列表中,也是所述密钥管理机的最小密钥,则所述密钥管理机按时间戳排序,将时间戳最大的前24个密钥发送给服务器;
(2)如果此最小密钥在所述密钥管理机的列表中,但不是所述密钥管理机的最小密钥,则所述密钥管理机不返回任何值到所述目标服务器;
当服务器收到密钥管理机返回的24个密钥值后,将已有的48个密钥和新的24个密钥按时间戳进行排序,只保留时间戳最大的48个密钥,其他的从内存中删掉。
当不存在时,放弃本次访问。
当所述目标服务器首次启动时,访问所述启动密钥管理机,请求启动密钥;
所述启动密钥管理机查看所述预设的IP地址白名单,如果请求来自所述预设的IP地址白名单内的IP地址且请求的参数格式正确,则将所述启动密钥返回给所述目标服务器;
所述目标服务器携带所述启动密钥访问所述密钥管理机;
所述密钥管理机并不知道服务器携带的是最小密钥还是启动密钥,检验发现不是最小密钥后,还需检验是否是启动密钥,具体的验证过程如图3所示;
所述密钥管理机向所述启动密钥管理机查询,看此启动密钥是否是所述启动密钥管理机最新的启动密钥;若成功,则所述目标服务器通过密钥管理机的验证,所述密钥管理机将时间戳最大的48个密钥返回给所述目标服务器;若失败,则所述密钥管理机拒绝所述目标服务器的访问。
本发明实施例中,所述目标服务器中密钥列表存储的48把密钥是这样的:假设服务器在12:00之后第一次访问密钥管理机是12:30:00,则每天的0:00:00至12:29:59,服务器存储的是当天和昨天的每个小时的密钥,一共48个小时48把;12:30:00至23:59:59,存储的是当天和第二天的密钥。这是因为,密钥管理机在中午12:00生成新密钥,12:30服务器访问之后,得到新的24把密钥,把最旧的24把顶替掉了。
本发明实施例中,每间隔预设的时长对所述密钥列表进行更新,避免了密钥更新不及时,导致握手过程中无法验证的问题,同时极大的提升整个系统的安全性。
本发明实施例中,与上述访问服务器的握手方法相对应的本发明还提供了一种访问服务器的握手系统,所述握手系统的结构框图如图4所示:
第一获取模块301、查找模块302、第一解密模块303、第二解密模块304和第一握手模块305。
其中,
所述第一获取模块301,用于当接收到客户端向目标服务器发送的握手请求时,获取所述握手请求的加密时域信息和发送时刻对应的第一时间戳;
所述查找模块302,用于在预设的密钥列表中查找与所述第一时间戳对应的第一目标密钥,所述密钥列表中的各个密钥依据时间戳的升序或降序进行排列;
所述第一解密模块303,用于依据所述第一目标密钥对所述加密时域信息进行解密;
所述第二解密模块304,用于当接收到第一解密失败指令时,在所述密钥列表中获取第二目标密钥,依据所述第二目标密钥对所述加密时域信息进行解密;其中,所述第二目标密钥为与所述第一目标密钥存在相邻关系且对应的第二时间戳小于所述第一时间戳;
所述第一握手模块305,用于当接收到解密成功指令时,完成对所述目标服务器的握手。
本发明公开了一种访问服务器的握手系统,包括:获取与握手请求的加密时域信息和访问时刻对应的第一时间戳,查找与所述第一时间戳对应的第一目标密钥,依据所述第一目标密钥对所述加密时域信息进行解密;当接收到第一解密失败指令时,在所述密钥列表中获取第二目标密钥,依据所述第二目标密钥对所述加密时域信息进行解密;当接收到解密成功指令时,完成对所述目标服务器的握手。上述的握手系统,当第一解密不成功时,会依据第二目标密钥进行解密,避免了现有技术中,服务器端的时间同步是一种松耦合的分布,即可能存在毫秒级别或者秒级别的误差,服务器端会以新的密钥解密客户端发来的加密时域信息,造成无法解密的问题。
所述握手系统还包括:第二握手模块306。
其中,
所述第二握手模块306,用于当接收到第二解密失败指令时,依据安全套接层协议进行握手。
所述握手系统还包括:第一判断模块307,第二获取模块308和第二判断模块309。
其中,
所述第一判断模块307,用于获取所述目标服务器对应的IP地址,判断所述IP地址是否存在于预设的IP地址白名单内;
所述第二获取模块308,用于当存在时,获取所述目标服务器对应的第一对比密钥;
所述第二判断模块309,用于判断所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥是否相同,若所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥相同,对所述预设的密钥列表进行更新。
所述握手系统还包括:第三判断模块310和存储模块311。
其中,
所述第三判断模块310,用于若所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥不相同,判断所述第一对比密钥是否存在于所述密钥管理机中;
所述存储模块311,用于当存在时,所述预设的密钥列表不进行更新;当不存在时,将所述第一对比密钥发送到所述密钥管理机进行验证,当接收到验证成功指令时,所述密钥管理机将预设数量的密钥存储到所述预设的密钥列表中。
本发明实施例中,所述第二获取模块308包括:解析单元312,第一确定单元313和第二确定单元314。
所述解析单元312,用于解析所述第一对比密钥的标识;
所述第一确定单元313,用于当所述标识为第一标识时,所述第一对比密钥为在启动密钥管理机中获取与所述目标服务器对应的启动密钥;
所述第二确定单元314,用于当所述标识为第二标识时,所述第一对比密钥为所述密钥列表中最小时间戳对应的密钥。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种访问服务器的握手方法及系统进行了详细介绍,本文中应用了具体的实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种访问服务器的握手方法,其特征在于,包括:
当接收到客户端向目标服务器发送的握手请求时,获取所述握手请求的加密时域信息和发送时刻对应的第一时间戳;
在预设的密钥列表中查找与所述第一时间戳对应的第一目标密钥,所述密钥列表中的各个密钥依据时间戳的升序或降序进行排列;
依据所述第一目标密钥对所述加密时域信息进行解密;
当接收到第一解密失败指令时,在所述密钥列表中获取第二目标密钥,依据所述第二目标密钥对所述加密时域信息进行解密;其中,所述第二目标密钥为与所述第一目标密钥存在相邻关系且对应的第二时间戳小于所述第一时间戳;
当接收到解密成功指令时,完成对所述目标服务器的握手。
2.根据权利要求1所述的方法,其特征在于,还包括:
当接收到第二解密失败指令时,依据安全套接层协议进行握手。
3.根据权利要求1所述的方法,其特征在于,还包括:
获取所述目标服务器对应的IP地址,判断所述IP地址是否存在于预设的IP地址白名单内;
当存在时,获取所述目标服务器对应的第一对比密钥;
判断所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥是否相同,若所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥相同,对所述预设的密钥列表进行更新。
4.根据权利要求3所述的方法,其特征在于,还包括:
若所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥不相同,判断所述第一对比密钥是否存在于所述密钥管理机中;
当存在时,所述预设的密钥列表不进行更新;当不存在时,将所述第一对比密钥发送到所述密钥管理机进行验证,当接收到验证成功指令时,所述密钥管理机将预设数量的密钥存储到所述预设的密钥列表中。
5.根据权利要求3所述的方法,其特征在于,获取所述目标服务器对应的第一对比密钥包括:
解析所述第一对比密钥的标识;
当所述标识为第一标识时,所述第一对比密钥为在启动密钥管理机中获取与所述目标服务器对应的启动密钥;
当所述标识为第二标识时,所述第一对比密钥为所述密钥列表中最小时间戳对应的密钥。
6.一种访问服务器的握手系统,其特征在于,包括:
第一获取模块,用于当接收到客户端向目标服务器发送的握手请求时,获取所述握手请求的加密时域信息和发送时刻对应的第一时间戳;
查找模块,用于在预设的密钥列表中查找与所述第一时间戳对应的第一目标密钥,所述密钥列表中的各个密钥依据时间戳的升序或降序进行排列;
第一解密模块,用于依据所述第一目标密钥对所述加密时域信息进行解密;
第二解密模块,用于当接收到第一解密失败指令时,在所述密钥列表中获取第二目标密钥,依据所述第二目标密钥对所述加密时域信息进行解密;其中,所述第二目标密钥为与所述第一目标密钥存在相邻关系且对应的第二时间戳小于所述第一时间戳;
第一握手模块,用于当接收到解密成功指令时,完成对所述目标服务器的握手。
7.根据权利要求6所述的系统,其特征在于,还包括:
第二握手模块,用于当接收到第二解密失败指令时,依据安全套接层协议进行握手。
8.根据权利要求6所述的系统,其特征在于,还包括:
第一判断模块,用于获取所述目标服务器对应的IP地址,判断所述IP地址是否存在于预设的IP地址白名单内;
第二获取模块,用于当存在时,获取所述目标服务器对应的第一对比密钥;
第二判断模块,用于判断所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥是否相同,若所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥相同,对所述预设的密钥列表进行更新。
9.根据权利要求8所述的系统,其特征在于,还包括:
第三判断模块,用于若所述第一对比密钥与密钥管理机中的最小时间戳对应的密钥不相同,判断所述第一对比密钥是否存在于所述密钥管理机中;
存储模块,用于当存在时,所述预设的密钥列表不进行更新;当不存在时,将所述第一对比密钥发送到所述密钥管理机进行验证,当接收到验证成功指令时,所述密钥管理机将预设数量的密钥存储到所述预设的密钥列表中。
10.根据权利要求8所述的系统,其特征在于,所述第二获取模块包括:
解析单元,用于解析所述第一对比密钥的标识;
第一确定单元,用于当所述标识为第一标识时,所述第一对比密钥为在启动密钥管理机中获取与所述目标服务器对应的启动密钥;
第二确定单元,用于当所述标识为第二标识时,所述第一对比密钥为所述密钥列表中最小时间戳对应的密钥。
CN201810281699.1A 2018-04-02 2018-04-02 一种访问服务器的握手方法及系统 Active CN108512849B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810281699.1A CN108512849B (zh) 2018-04-02 2018-04-02 一种访问服务器的握手方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810281699.1A CN108512849B (zh) 2018-04-02 2018-04-02 一种访问服务器的握手方法及系统

Publications (2)

Publication Number Publication Date
CN108512849A CN108512849A (zh) 2018-09-07
CN108512849B true CN108512849B (zh) 2020-06-30

Family

ID=63379724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810281699.1A Active CN108512849B (zh) 2018-04-02 2018-04-02 一种访问服务器的握手方法及系统

Country Status (1)

Country Link
CN (1) CN108512849B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11405397B2 (en) * 2019-08-21 2022-08-02 Mcafee, Llc Methods and apparatus to deconflict malware or content remediation
US11398908B2 (en) 2019-08-21 2022-07-26 Mcafee, Llc Methods and apparatus to deconflict malware or content remediation
CN110851856B (zh) * 2019-10-12 2021-10-08 福建天泉教育科技有限公司 缓存数据的获取方法及计算机可读存储介质
CN111385289A (zh) * 2020-02-26 2020-07-07 平安科技(深圳)有限公司 客户端与服务端安全握手的方法、装置及存储介质
CN112039922B (zh) * 2020-09-18 2022-09-23 广东乐心医疗电子股份有限公司 一种加密通信方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763356A (zh) * 2014-01-08 2014-04-30 深圳大学 一种安全套接层连接的建立方法、装置及系统
CN106790090A (zh) * 2016-12-23 2017-05-31 北京奇虎科技有限公司 基于ssl的通信方法、装置及系统
CN107360139A (zh) * 2017-06-19 2017-11-17 努比亚技术有限公司 一种移动终端、数据加密方法及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996873B1 (en) * 2014-04-08 2015-03-31 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763356A (zh) * 2014-01-08 2014-04-30 深圳大学 一种安全套接层连接的建立方法、装置及系统
CN103763356B (zh) * 2014-01-08 2017-05-31 深圳大学 一种安全套接层连接的建立方法、装置及系统
CN106790090A (zh) * 2016-12-23 2017-05-31 北京奇虎科技有限公司 基于ssl的通信方法、装置及系统
CN107360139A (zh) * 2017-06-19 2017-11-17 努比亚技术有限公司 一种移动终端、数据加密方法及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
中国优秀硕士学位论文全文数据库 信息科技辑;戴寒怡;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150115;全文 *

Also Published As

Publication number Publication date
CN108512849A (zh) 2018-09-07

Similar Documents

Publication Publication Date Title
CN108512849B (zh) 一种访问服务器的握手方法及系统
JP5522307B2 (ja) 仮想機械によるソフトウェアテストを用いた電子ネットワークにおけるクライアントシステムの遠隔保守のためのシステム及び方法
CN108259437B (zh) 一种http访问方法、http服务器和系统
CN108737394A (zh) 离线验证系统、扫码设备和服务器
US20050193211A1 (en) Management of user authentication information together with authentication level
CN106127064B (zh) 用于企业供应链的数据存储方法
US20080040808A1 (en) Document management apparatus, computer readable medium, method for managing document, and computer data signal
CN111064569A (zh) 可信计算集群的集群密钥获取方法及装置
CN111314491A (zh) 跨租户数据交互方法、装置、服务器集群及介质
CN112699350A (zh) 登录验证方法及装置
CN112651001A (zh) 访问请求的鉴权方法、装置、设备及可读存储介质
CN110730081A (zh) 基于区块链网络的证书吊销方法、相关设备及介质
CN111988262B (zh) 认证方法、装置及服务器、存储介质
CN113965434B (zh) 一种跨机房场景下的api网关路由实现方法
CN110839035A (zh) 路径访问控制的方法、装置、计算机设备及存储介质
JP2022528711A (ja) 分散台帳に関連付けられた宛先アドレッシング
US20160365985A1 (en) Method and system for recursively embedded certificate renewal and revocation
CN112860790B (zh) 数据管理方法、系统、装置
CN113656101A (zh) 一种授权管理方法、系统、服务器、用户端
CN111885057B (zh) 消息中间件访问方法、装置、设备及存储介质
JP3770173B2 (ja) 共通鍵管理システムおよび共通鍵管理方法
CN112953720A (zh) 一种网络请求处理方法、装置、设备及存储介质
CN112035810A (zh) 一种访问控制方法、装置、介质和设备
CN113300848B (zh) 证书状态的确定方法和装置
CN105791350B (zh) 项目数据处理方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant