一种会话重用方法及装置与流程

文档序号:12493950阅读:406来源:国知局
一种会话重用方法及装置与流程

本申请涉及网络通信技术领域,尤其涉及一种会话重用方法及装置。



背景技术:

为应对日益严峻的网络安全问题,使用SSL(Secure Sockets Layer,安全套接层)先将会话数据进行加密再传输的方法已经变得非常普遍。在这种方式下,认证请求设备与身份认证设备之间即将进行的每一次会话,都需要通过完成一次SSL正常握手来建立新的完整的会话连接,并在建立新的完整的会话连接的过程中,协商用于对会话数据进行加密的会话密钥。而为了节省建立完整的会话连接所耗费的时间以及认证请求设备的处理器资源,通常可采用会话重用机制在一定条件下实现会话的重复使用。

会话重用机制下,身份认证设备通过将一次完整会话连接建立后协商得到的会话密钥以会话票证(session ticket)的方式发送至认证请求设备,可以在接收到认证请求设备返回的会话票证、且在该会话票证验证通过的情况下为认证请求设备启动会话重用机制,其中,会话票证是由身份认证设备利用自身所保存的本地密钥加密会话密钥形成的,而本地密钥也用于对接收到的会话票证进行解密,并在解密成功的情况下由身份认证设备确认该会话票证可以通过验证。然而在现有技术中,身份认证设备将持续使用同一本地密钥对会话密钥进行加密,这一本地密钥一旦被第三方恶意窃取,将最终使得会话数据加密再传输的方法形同虚设。



技术实现要素:

有鉴于此,本申请提供一种会话重用方法,以保证在当前本地密钥被第三方窃取的情况下,会话数据加密再传输的方法依然可以有效实现。

根据本申请第一个实施例的第一方面,提供一种会话重用方法,应用于身份认证设备,所述身份认证设备在当前本地密钥的空闲时长大于预设阈值时,对当前本地密钥进行更新,所述方法包括:

接收认证请求设备发送的会话重用请求报文,所述会话重用请求报文包含身份认证设备预先发送至认证请求设备的会话票证;

利用当前本地密钥对所述会话票证进行解密;

如果会话票证解密成功,则为所述认证请求设备启动会话重用机制;

如果会话票证解密失败,则与所述认证请求设备建立完整的会话连接。

根据本申请第一个实施例的第二方面,提供一种会话重用装置,应用于身份认证设备,所述装置包括:

更新单元,用于在当前本地密钥的空闲时长大于预设阈值时,对当前本地密钥进行更新;

接收单元,用于接收认证请求设备发送的会话重用请求报文,所述会话重用请求报文包含身份认证设备预先发送至认证请求设备的会话票证;

解密单元,用于利用当前本地密钥对所述会话票证进行解密;

启动单元,用于在所述解密单元对会话票证解密成功后,为所述认证请求设备启动会话重用机制;

建立单元,用于在所述解密单元对会话票证解密失败后,与所述认证请求设备建立完整的会话连接。

根据本申请第二个实施例的第一方面,提供一种会话重用方法,应用于身份认证设备,预先为当前本地密钥设置一老化时长,在当前本地密钥的老化时长结束后,生成一新的本地密钥,并生成该新的本地密钥对应的本地密钥标识;将老化时长已经结束的本地密钥对应的密钥信息插入至一预先生成的密钥队列,其中,所述密钥信息包括:本地密钥标识和本地密钥,所述方法包括:

接收认证请求设备发送的会话重用请求报文,所述会话重用请求报文包含身份认证设备预先发送至认证请求设备的会话票证和本地密钥标识;

判断会话重用请求报文所包含的本地密钥标识是否为新生成的本地密钥对应的本地密钥标识;

如果是,则利用新生成的本地密钥对所述会话票证进行解密,以在会话票证解密成功的情况下,为所述认证请求设备启动会话重用机制;

如果否,则确定所述密钥队列中是否存在该本地密钥标识,并在该本地密钥标识存在的情况下,利用该标识对应的本地密钥对所述会话票证进行解密,以在会话票证解密成功的情况下,为所述认证请求设备启动会话重用机制。

根据本申请第二个实施例的第二方面,提供一种会话重用装置,应用于身份认证设备,所述装置包括:

本地密钥变换单元和重用请求处理单元;

所述本地密钥变换单元,用于为当前本地密钥设置老化时长;以及在当前本地密钥的老化时长结束后,生成一新的本地密钥和所述新的本地密钥对应的本地密钥标识,并将老化时长已经结束的本地密钥对应的密钥信息插入至一预先生成的密钥队列,其中,所述密钥信息包括:本地密钥标识和本地密钥;

所述重用请求处理单元,包括:

接收子单元,用于接收认证请求设备发送的会话重用请求报文,所述会话重用请求报文包含身份认证设备预先发送至认证请求设备的会话票证和本地密钥标识;

判断子单元,用于判断会话重用请求报文所包含的本地密钥标识是否为新生成的本地密钥对应的本地密钥标识;

确定子单元,用于在所述判断子单元的判断结果为否时,确定所述密钥队列中是否存在该本地密钥标识;

解密子单元,用于在所述判断子单元的判断结果为是时,利用新生成的本地密钥对所述会话票证进行解密;以及在所述确定子单元确定所述本地密钥标识存在后,利用该标识对应的本地密钥对所述会话票证进行解密;

启动子单元,用于在所述解密子单元利用新生成的本地密钥、或者利用所存在本地密钥标识对应的本地密钥对所述会话票证解密成功后,为所述认证请求设备启动会话重用机制。

在本申请一种会话重用方法的第一个实施例中,身份认证设备会在当前本地密钥的空闲时长大于预设阈值时,对当前本地密钥进行更新,在这一条件下,即使在先使用的本地密钥被盗取,第三方设备也无法根据所盗取的本地密钥,对使用在后本地密钥加密而成的会话票证进行解密,从而在一定程度上提高了加密传输会话的安全性。在本申请一种会话重用方法的第二个实施例中,身份认证设备会在当前本地密钥的老化时长结束后,生成一新的本地密钥,并将老化时长已经结束的本地密钥在预先创建的密钥队列中保留一定的时长,这不仅使得用于对会话密钥进行加密的的本地密钥可以得到适时地变换,从而提高会话密钥的安全性,而且可以保证利用老化时长已经结束的本地密钥进行加密得到的会话票证依然可以被解密成功,从而更大程度地保证了认证请求设备所申请的会话重用得以成功实现。

附图说明

图1是本申请一种会话重用方法的一个示例性场景图;

图2是本申请一种会话重用方法的一个实施例流程图;

图3是本申请一种会话重用方法的另一个实施例流程图;

图4是本申请一种会话重用装置的第一个实施例的第一种装置结构图;

图5是本申请一种会话重用装置的第一个实施例的第二种装置结构图;

图6是本申请一种会话重用装置的第二个实施例的装置结构图;

图7是本申请中重用请求处理单元的结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

参见图1,图1是本申请一种会话重用方法的一个示例性场景图。该场景图可以包括支持使用SSL协议或者TLS(Transport Layer Security Protocol,安全传输层协议)的认证请求设备和身份认证设备,其中,认证请求设备可以为客户端设备,而身份认证设备可以为服务器、网关设备以及负载均衡设备等,使用SSL协议或者TLS协议进行加密的协议可以为HTTP(Hyper Text Transfer Protocol,超文本传输协议)等。在实际应用中,上述认证请求设备与身份认证设备的数量可根据实际情况而定。

目前,为应对日益严峻的网络安全问题,使用SSL先将会话数据进行加密再传输的方法已经变得非常普遍。在这种方式下,认证请求设备与身份认证设备之间即将进行的每一次会话,都需要通过完成一次SSL正常握手来建立新的会话连接完整的会话连接,而为了节省会话连接完整的会话连接建立所耗费的时间以及处理器资源,通常可采用会话重用机制在一定条件下实现会话的重复使用。

会话重用机制下,身份认证设备会使用本地密钥加密会话密钥得到要发送至认证请求设备的会话票证,并通过同一本地密钥对认证请求设备返回的上述会话票证进行解密,并在解密成功后,为认证请求设备启动会话重用机制。而在恶意第三方盗取了本地密钥,并利用所盗取的本地密钥解密截获的会话票证、获得会话密钥的情况下,利用该会话密钥所加密会话数据的安全性将无法被保证。

为了使本技术领域的人员更好地理解本申请实施例中的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。

在下述本申请方法的第一个实施例中,身份认证设备可以在当前本地密钥的空闲时长大于预设阈值时,对当前本地密钥进行更新。其中,上述空闲时长是指:当前本地密钥从生成时刻开始或者从某一次被使用的时刻开始,到在此之后的最近一次被使用的时刻结束所经历的时长;上述预设阈值可以通过身份认证设备对相关事件的学习得到,具体的,身份认证设备可以通过学习认证请求设备在会话票证的老化时长内发送会话重用请求的时刻分布规律来得到上述预设阈值,其中,会话票证的老化时长可以是指:认证请求设备从接收到这一会话票证的时刻开始,到认证请求设备开始无法使用该会话票证在一定条件下实现会话重用的时刻结束所经历的时长;上述更新为覆盖更新,即在当前本地密钥的空闲时长大于预设阈值、且身份认证设备已经生成了新的本地密钥后,身份认证设备将不再以任何形式保存在先使用的本地密钥。

在这一背景下,本申请方法的第一个实施例的流程可如图2所示,图2是本申请一种会话重用方法的一个实施例流程图,该流程图可以包括以下步骤:

步骤201:身份认证设备接收认证请求设备发送的会话重用请求报文,上述会话重用请求报文包含身份认证设备预先发送至认证请求设备的会话票证。

本方法实施例中,认证请求设备需要在会话票证的老化时长内向身份认证设备发送会话重用请求报文。当会话票证的老化时长结束后,会话票证会自动失效,故在这一条件下,认证请求设备将直接与身份认证设备建立新的完整的会话连接,以进行会话传输。

本方法实施例中,身份认证设备会在每一次SSL完整握手之后,将握手过程中协商得到的会话密钥以会话票证的方式发送至认证请求设备,以使认证请求设备可以在需要对本次SSL完整握手所建立的会话进行重用时,利用上述接收到的会话票证向身份认证设备申请会话重用。其中,上述认证请求设备为本次与身份认证设备完成握手的设备;上述会话票证由身份认证设备利用所保存的当前本地密钥加密上述会话密钥而得到。

本方法实施例中,由于SSL完整握手过程并不在本申请所要求保护的范围之内,故不予赘述。

步骤202:身份认证设备利用当前本地密钥对上述会话票证进行解密,如果会话票证解密成功,则执行步骤203;否则,执行步骤204。

本方法实施例中,当解密会话票证所使用的本地密钥,与加密会话密钥得到该会话票证所使用的本地密钥相一致时,该会话票证可以被解密成功,否则,则解密失败。

步骤203:身份认证设备为认证请求设备启动会话重用机制。

本方法实施例中,在启动会话重用机制后,认证请求设备与身份认证设备将同时使用被重用会话先前协商的会话密钥对会话数据进行加密。

步骤204:身份认证设备与认证请求设备建立完整的会话连接。

本方法实施例中,身份认证设备会在上述完整的会话连接建立之后,利用当前本地密钥对本会话连接建立过程中协商得到的会话密钥进行加密,并将加密得到的会话票证发送至认证请求设备。

由以上方法实施例可以看出,身份认证设备会在当前本地密钥的空闲时长大于预设阈值时,对当前本地密钥进行更新,在这一条件下,即使在先使用的本地密钥被盗取,第三方设备也无法根据所盗取的本地密钥,对使用在后本地密钥加密而成的会话票证进行解密,从而在一定程度上提高了加密传输会话的安全性。

在下述本申请方法的第二个实施例中,针对已预先为当前本地密钥设置的老化时长,身份认证设备可以在当前本地密钥的老化时长结束后,一方面生成一新的本地密钥、以及该新的本地密钥对应的本地密钥标识,并将使用该新的本地密钥加密会话密钥而得到的会话票证、以及本地密钥标识发送至认证请求设备;另一方面并将老化时长已经结束的本地密钥对应的密钥信息插入至预先生成的密钥队列,其中,上述密钥信息包括:本地密钥标识和本地密钥。

需要指出的是,由于身份认证设备会在每次生成新的本地密钥后,都将使用该新的本地密钥加密会话密钥而得到的会话票证发送至认证请求设备,所以认证请求设备可能在同一时刻同时拥有多个可用的会话票证,而具体使用哪一会话票证对会话实施重用,认证请求设备则可以根据具体情况自行决定,这在很大程度上提高了加密数据传输的安全性。

关于预先生成的密钥队列,在本实施例的第一种实现方式中,身份认证设备可在将老化时长已经结束的本地密钥对应的密钥信息插入至密钥队列后,同时为该密钥信息设置一老化时长,以在该老化时长结束后,将该密钥信息从上述密钥队列中移除,节省队列空间。在本实施例的第二种实现方式中,身份认证设备可以控制密钥队列的长度为一预设长度值,根据队列的基本工作原理,在一当前本地密钥的老化时长结束之后,身份认证设备将从密钥队列的尾端将这一当前本地密钥对应的密钥信息插入至密钥队列,而由于队列的长度固定,在队列已满的情况下,位于密钥队列首端的密钥信息将被移除,从而在一定程度上实现了设备内存空间的节省。具体的,上述预设长度值可以为:会话票证的老化时长除以本地密钥的老化时长所得的商,比如,会话票证的老化时长为1000秒,即认证请求设备可以在收到该会话票证的1000秒内使用该会话票证,而本地密钥的老化时长为1秒,即身份认证设备每一秒对当前本地密钥更新一次,则根据上述队列的工作原理,为使认证请求设备在第1000秒内发送的会话重用请求报文中所包含的会话票证可以被正常解密,密钥队列的长度应至少包含1000个单位长度,其中,每一个单位长度可存放一条密钥信息。

在这一背景下,本申请方法的第二个实施例的流程可如图3所示,图3是本申请一种会话重用方法的另一个实施例流程图,该流程图可以包括以下步骤:

步骤301:身份认证设备接收认证请求设备发送的会话重用请求报文,上述会话重用请求报文包含身份认证设备预先发送至认证请求设备的会话票证和本地密钥标识。

本方法实施例中,认证请求设备同样需要在会话票证的老化时长内向身份认证设备发送会话重用请求报文。不同的是,本实施例中,认证请求设备发送的会话重用请求报文除包含会话票证以外,还包含一本地密钥标识,该标识为:加密会话密钥得到该会话票证所使用的本地密钥对应的标识,该标识用于查询保存于身份认证设备中的相应的本地密钥。

步骤302:身份认证设备判断会话重用请求报文所包含的本地密钥标识是否为新生成的本地密钥对应的本地密钥标识,如果是,则执行步骤303;如果否,则执行步骤304。

步骤303:身份认证设备利用新生成的本地密钥对上述会话票证进行解密,以在会话票证解密成功的情况下,为认证请求设备启动会话重用机制。

本方法实施例中,在会话票证解密失败的情况下,身份认证设备则会要求认证请求设备直接与本地建立新的完整的会话连接。

步骤304:身份认证设备确定上述密钥队列中是否存在该本地密钥标识,并在该本地密钥标识存在的情况下,利用该标识对应的本地密钥对上述会话票证进行解密,以在会话票证解密成功的情况下,为认证请求设备启动会话重用机制。

本方法实施例中,如果密钥队列中不存在上述本地密钥标识,身份认证设备则会要求所述认证请求设备直接与本地建立新的完整的会话连接;如果密钥队列中存在上述本地密钥标识,但会话票证解密失败,身份认证设备同样会要求认证请求设备直接与本地建立新的完整的会话连接。

由以上方法实施例可以看出,身份认证设备会在当前本地密钥的老化时长结束后,生成一新的本地密钥,并将老化时长已经结束的本地密钥在预先创建的密钥队列中保留一定的时长,这不仅使得用于对会话密钥进行加密的的本地密钥可以得到适时地变换,从而提高会话密钥的安全性,而且可以保证利用老化时长已经结束的本地密钥进行加密得到的会话票证依然可以被解密成功,从而更大程度地保证了认证请求设备所申请的会话重用得以成功实现。

以下将通过一个具体的实施例对本申请方法进行描述,与上述方法实施例不同的是,本实施例结合具体示例对部分步骤进行了说明,具有较强的实际操作意义,具体的,本实施例可以包括以下步骤:

步骤1:身份认证设备接收认证请求设备发送的会话重用请求报文,上述会话重用请求报文包含身份认证设备预先发送至认证请求设备的会话票证和本地密钥标识。

本实施例中,假设认证请求设备与身份认证设备已经基于第一会话完成了一次完整的SSL握手,其中,加密本次握手中协商获得的会话密钥的本密钥为第一本地密钥;且由于第一本地密钥的老化时长结束,身份认证设备已经生成了第二本地密钥以及第二本地密钥所对应的本地密钥标识。

本实施例中,进一步假设上述会话重用请求报文中包含上述第一会话所对应的会话票证、以及第一本地密钥所对应的本地密钥标识。

步骤2:身份认证设备判断会话重用请求报文所包含的本地密钥标识是否为新生成的本地密钥对应的本地密钥标识,如果是,则执行步骤3;如果否,则执行步骤4。

本实施例中,在步骤1的假设背景下,身份认证设备将在判断出会话重用请求报文所包含的本地密钥标识不是第二本地密钥对应的本地密钥标识后,执行步骤4。

步骤3:身份认证设备利用新生成的本地密钥对上述会话票证进行解密,以在会话票证解密成功的情况下,为认证请求设备启动会话重用机制。

步骤4:身份认证设备确定上述密钥队列中是否存在该本地密钥标识,并在该本地密钥标识存在的情况下,利用该标识对应的本地密钥对上述会话票证进行解密,以在会话票证解密成功的情况下,为认证请求设备启动会话重用机制。

本实施例中,当身份认证设备在密钥队列中找到上述第一本地密钥,但并未对接收到的会话票证解密成功时,则会要求所述认证请求设备直接与本地建立新的完整的会话连接。

由以上实施例可以看出,身份认证设备会在当前本地密钥的老化时长结束后,生成一新的本地密钥,并将老化时长已经结束的本地密钥在预先创建的密钥队列中保留一定的时长,这不仅使得用于对会话密钥进行加密的的本地密钥可以得到适时地变换,从而提高会话密钥的安全性,而且可以保证利用老化时长已经结束的本地密钥进行加密得到的会话票证依然可以被解密成功,从而更大程度地保证了认证请求设备所申请的会话重用得以成功实现。

与前述一种会话重用方法的实施例相对应,本申请还提供了一种会话重用装置的实施例。

参见图4,图4是本申请一种会话重用装置的第一个实施例的第一种装置结构图。该装置应用于身份认证设备,该装置可以包括:更新单元410、接收单元420、解密单元430、启动单元440、建立单元450。

其中,更新单元410,可用于在当前本地密钥的空闲时长大于预设阈值时,对当前本地密钥进行更新;

接收单元420,可用于接收认证请求设备发送的会话重用请求报文,会话重用请求报文包含身份认证设备预先发送至认证请求设备的会话票证;

解密单元430,可用于利用当前本地密钥对上述会话票证进行解密;

启动单元440,可用于在解密单元430对会话票证解密成功后,为上述认证请求设备启动会话重用机制;

建立单元450,可用于在解密单元430对会话票证解密失败后,与上述认证请求设备建立完整的会话连接。

在本装置实施例的一种实现方式中,上述装置还可以包括:加密单元460、发送单元470,具体可参见图5,图5是本申请一种会话重用装置的第一个实施例的第二种装置结构图。

其中,加密单元460,可用于在会话票证解密失败的情况下,利用当前本地密钥对完整会话连接建立过程中协商得到的会话密钥进行加密;

发送单元470,可用于将加密单元460加密上述会话密钥得到的会话票证发送至认证请求设备。

参加图6,图6是本申请一种会话重用装置的第二个实施例的装置结构图。该装置应用于身份认证设备,该装置可以包括:本地密钥变换单元610、重用请求处理单元620。

其中,本地密钥变换单元610,用于为当前本地密钥设置老化时长;以及在当前本地密钥的老化时长结束后,生成一新的本地密钥和新的本地密钥对应的本地密钥标识,并将老化时长已经结束的本地密钥对应的密钥信息插入至一预先生成的密钥队列,其中,上述密钥信息包括:本地密钥标识和本地密钥;

重用请求处理单元620,又可包括:接收子单元621、判断子单元622、确定子单元623、解密子单元624、启动子单元625,具体可参见图7,图7是本申请中重用请求处理单元的结构图。

其中,接收子单元621,用于接收认证请求设备发送的会话重用请求报文,上述会话重用请求报文包含身份认证设备预先发送至认证请求设备的会话票证和本地密钥标识;

判断子单元622,用于判断会话重用请求报文所包含的本地密钥标识是否为新生成的本地密钥对应的本地密钥标识;

确定子单元623,用于在判断子单元622的判断结果为否时,确定密钥队列中是否存在该本地密钥标识;

解密子单元624,用于在判断子单元622的判断结果为是时,利用新生成的本地密钥对上述会话票证进行解密;以及在确定子单元623确定上述本地密钥标识存在后,利用该标识对应的本地密钥对上述会话票证进行解密;

启动子单元625,用于在解密子单元624利用新生成的本地密钥、或者利用所存在本地密钥标识对应的本地密钥对上述会话票证解密成功后,为认证请求设备启动会话重用机制。

在本装置实施例的一种实现方式中,上述本地密钥变换单元610还可用于:在生成一新的本地密钥和新的本地密钥对应的本地密钥标识之后,将使用该新的本地密钥加密会话密钥而得到的会话票证、以及本地密钥标识发送至认证请求设备。

在本申请一种会话重用装置的第一个实施例中,身份认证设备会在当前本地密钥的空闲时长大于预设阈值时,对当前本地密钥进行更新,在这一条件下,即使在先使用的本地密钥被盗取,第三方设备也无法根据所盗取的本地密钥,对使用在后本地密钥加密而成的会话票证进行解密,从而在一定程度上提高了加密传输会话的安全性。在本申请一种会话重用装置的第二个实施例中,身份认证设备会在当前本地密钥的老化时长结束后,生成一新的本地密钥,并将老化时长已经结束的本地密钥在预先创建的密钥队列中保留一定的时长,这不仅使得用于对会话密钥进行加密的本地密钥可以得到适时地变换,从而提高会话密钥的安全性,而且可以保证利用老化时长已经结束的本地密钥进行加密得到的会话票证依然可以被解密成功,从而更大程度地保证了认证请求设备所申请的会话重用得以成功实现。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1