云环境下的客户端与服务器之间的认证方法和装置与流程

文档序号:11156478阅读:520来源:国知局
云环境下的客户端与服务器之间的认证方法和装置与制造工艺

本发明涉及云计算,尤其涉及一种云环境下的客户端与服务器之间的认证方法和装置。



背景技术:

Kerberos认证是在云计算平台上普遍应用的客户端与服务器认证,其提高了云计算平台的安全性和性能。但是,Kerberos认证也有一些缺点,这些缺点可能会使云计算平台发生故障。例如,Kerberos认证中,客户端与服务器通过密钥分配中心(KDC)进行Kerberos认证,单一的KDC配置可能会引起整个云计算平台的单点故障,因为整个平台认证所需的所有密钥都存储在KDC,整个平台的认证也依赖于KDC。

虽然现有技术中也提出了通过KDC备份来防止这种单点故障问题,但主KDC和副KDC之间不容易保持同步。另外,Kerberos基于对称密钥加密算法,使密钥分发不方便,管理员需要在所有的客户端和KDC配置所有的对称密钥对。另外,Kerberos依赖于客户端和KDC的时间同步。一旦客户端和KDC时间失步超过阈值量,则认证失败。



技术实现要素:

有鉴于此,本发明的一个实施例解决的问题之一是减少Kerberos认证中的KDC单点故障对整个云计算平台造成的影响。

根据本发明的一个实施例,提供了一种云环境下的客户端与服务器之间的认证方法,其中所述客户端与所述服务器通过密钥分配中心进行Kerberos认证,并在所述密钥分配中心与所述客户端之间设置认证网关,在所述密钥分配中心故障的情况下客户端与服务器通过所述认证网关进行认证,所述认证方法包括:向认证网关发送认证请求;从认证网关对所述认证请求的应答中,识别认证网关响应于发现密钥分配中心故障而分配的客户端与认证网关 间会话密钥;向认证网关发送与获取的客户端与认证网关间会话密钥有关的第一验证消息,供认证网关进行第一验证;从认证网关第一验证通过后的应答中,获取认证网关分配的客户端与服务器间会话密钥;向服务器发送与获取的客户端与服务器间会话密钥有关的第二验证消息,供服务器进行第二验证;接收服务器第二验证通过后的验证通过消息。

可选地,所述认证请求中包含客户端标识。

可选地,所述认证网关对所述认证请求的应答包括第一应答消息和第一票据消息,其中第一应答消息包括认证网关标识、响应于发现密钥分配中心故障而分配的客户端与认证网关间会话密钥、第一票据信息并用客户端的公钥加密;第一票据消息包括客户端标识、响应于发现密钥分配中心故障而分配的客户端与认证网关间会话密钥、第一票据信息并用认证网关的密钥加密。第一票据信息至少包括客户端网络地址、和/或第一票据消息的有效期。

可选地,所述获取客户端与认证网关间会话密钥的步骤包括:用客户端的私钥解密第一应答消息,从而得到客户端与认证网关间会话密钥。

可选地,在认证网关存储有客户端标识与相应的客户端网络地址的对应关系表,第一票据信息中的客户端网络地址基于认证请求中的客户端标识从对应关系表中获得,和/或第一票据信息中的第一票据消息的有效期是在生成第一票据消息时分配的。

可选地,所述第一验证消息至少包括:用获取的客户端与认证网关间会话密钥加密的包括客户端选作时间戳的第一随机数、客户端标识、服务器标识、第一票据信息、第一票据消息的消息摘要的序列;第一票据消息,其中第一票据信息至少包括客户端网络地址、和/或第一票据消息的有效期。第一验证包括:用客户端与认证网关间会话密钥解密加密的序列,以获得第一票据消息的消息摘要;从第一票据消息的消息摘要还原出第一票据消息;将还原出的第一票据消息与第一验证消息中序列外的第一票据消息进行对比。

可选地,第一验证还包括:判断序列中的第一随机数是否是新随机数。

可选地,所述第一验证消息在序列外还包括服务器标识。第一验证还包括:将解密后的序列中的服务器标识与序列外的服务器标识进行对比。

可选地,第一验证还包括:根据解密后的序列中的客户端标识,查找存储有客户端标识与相应的客户端网络地址的对应关系表,以获得客户端网络地址;将获得的客户端网络地址与解密后的序列中的客户端网络地址比对。

可选地,第一验证还包括:将解密后的序列中的第一票据消息的有效期与当前时间对比。

可选地,所述认证网关第一验证通过后的应答包括第二应答消息和第二票据消息,其中第二应答消息包括第二票据信息、服务器标识、以及客户端与服务器间会话密钥,并用客户端与认证网关间会话密钥加密。第二票据消息包括客户端标识、客户端与服务器间会话密钥、以及第二票据信息,并用服务器的公钥加密。第二票据信息至少包括客户端网络地址、和/或第二票据消息的有效期。

可选地,所述获取认证网关分配的客户端与服务器间会话密钥的步骤包括:用客户端与认证网关间会话密钥解密加密的第二应答消息,从而获得客户端与服务器间会话密钥。

可选地,在认证网关存储有客户端标识与相应的客户端网络地址的对应关系表,第二票据信息中的客户端网络地址基于解密后的序列内的客户端标识从对应关系表中获得,和/或第二票据信息中的第二票据消息的有效期是在生成第二票据消息时分配的。

可选地,所述第二验证消息至少包括:用获取的客户端与服务器间会话密钥加密的包括所述第一随机数、客户端标识、第二票据信息、第二票据消息的消息摘要的序列;第二票据消息,其中第二票据信息至少包括客户端网络地址、和/或第二票据消息的有效期。第二验证包括:用服务器的私钥解密第二验证消息中序列外的第二票据消息,从而获得客户端与服务器间会话密钥;用获得的客户端与服务器间会话密钥解密加密的序列,以获得第二票据消息的消息摘要;从第二票据消息的消息摘要还原出第二票据消息;将还原出的第二票据消息与第二验证消息中序列外的第二票据消息进行对比。

可选地,第二验证还包括:判断序列中的第一随机数是否是新随机数。

可选地,第二验证还包括:根据解密后的序列中的客户端标识,查找存储有客户端标识与相应的客户端网络地址的对应关系表,以获得客户端网络地址;将获得的客户端网络地址与解密后的序列中的客户端网络地址比对。

可选地,第二验证还包括:将解密后的序列中的第二票据消息的有效期与当前时间对比。

可选地,所述服务器第二验证通过后的验证通过消息包括用服务器获得的客户端与服务器间会话密钥加密的服务器选作时间戳的第二随机数。

可选地,所述客户端与服务器之间的Kerberos认证所需的、客户端与密钥分配中心共享的客户端私钥是由密钥分配中心上部署的管理代理在客户端和密钥分配中心分配并更新的。

可选地,所述客户端与服务器之间的Kerberos认证中客户端与密钥分配中心之间的时间同步是通过认证网关监视客户端与密钥分配中心的时间戳,并在时间戳不一致的情况下,将密钥分配中心的时间戳通知到客户端以更新客户端的时间戳实现的。

根据本申请的一个实施例,提供了一种云环境下的客户端与服务器之间的认证方法,其中所述客户端与所述服务器通过密钥分配中心进行Kerberos认证,并在所述密钥分配中心与所述客户端之间设置认证网关,在所述密钥分配中心故障的情况下客户端与服务器通过所述认证网关进行认证,所述认证方法包括:从客户端接收认证请求;向客户端发出对所述认证请求的应答,其中对所述认证请求的应答中含有响应于发现密钥分配中心故障而分配的客户端与认证网关间会话密钥;从客户端接收与所述客户端与认证网关间会话密钥有关的第一验证消息;基于第一验证消息进行进行第一验证;向客户端发送第一验证通过后的应答,其中第一验证通过后的应答中含有客户端与服务器间会话密钥。

可选地,所述认证请求中包含客户端标识。

可选地,对所述认证请求的应答包括第一应答消息和第一票据消息。第一应答消息包括认证网关标识、响应于发现密钥分配中心故障而分配的客户端与认证网关间会话密钥、第一票据信息并用客户端的公钥加密。第一票据消息包括客户端标识、响应于发现密钥分配中心故障而分配的客户端与认证网关间会话密钥、第一票据信息并用认证网关的密钥加密。第一票据信息至少包括客户端网络地址、和/或第一票据消息的有效期。

可选地,第一票据信息中的客户端网络地址基于认证请求中的客户端标识从存储有客户端标识与相应的客户端网络地址的对应关系表中获得,和/或第一票据信息中的第一票据消息的有效期是在生成第一票据消息时分配的。

可选地,所述第一验证消息至少包括:用获取的客户端与认证网关间会话密钥加密的包括客户端选作时间戳的第一随机数、客户端标识、服务器标识、第一票据信息、第一票据消息的消息摘要的序列;第一票据消息,其中 第一票据信息至少包括客户端网络地址、和/或第一票据消息的有效期。第一验证包括:用客户端与认证网关间会话密钥解密加密的序列,以获得第一票据消息的消息摘要;从第一票据消息的消息摘要还原出第一票据消息;将还原出的第一票据消息与第一验证消息中序列外的第一票据消息进行对比。

可选地,第一验证还包括:判断序列中的第一随机数是否是新随机数。

可选地,所述第一验证消息在序列外还包括服务器标识。第一验证还包括:将解密后的序列中的服务器标识与序列外的服务器标识进行对比。

可选地,第一验证还包括:根据解密后的序列中的客户端标识,查找存储有客户端标识与相应的客户端网络地址的对应关系表,以获得客户端网络地址;将获得的客户端网络地址与解密后的序列中的客户端网络地址比对。

可选地,第一验证还包括:将解密后的序列中的第一票据消息的有效期与当前时间对比。

可选地,所述认证网关第一验证通过后的应答包括第二应答消息和第二票据消息。第二应答消息包括第二票据信息、服务器标识、以及客户端与服务器间会话密钥,并用客户端与认证网关间会话密钥加密。第二票据消息包括客户端标识、客户端与服务器间会话密钥、以及第二票据信息,并用服务器的公钥加密。第二票据信息至少包括客户端网络地址、和/或第二票据消息的有效期。

可选地,所述客户端与服务器之间的Kerberos认证所需的、客户端与密钥分配中心共享的客户端私钥是由密钥分配中心上部署的管理代理在客户端和密钥分配中心分配并更新的。

可选地,所述认证方法,还包括:在所述客户端与服务器之间的Kerberos认证中,监视客户端与密钥分配中心的时间戳;在客户端与密钥分配中心的时间戳不一致的情况下,将密钥分配中心的时间戳通知到客户端,从而更新客户端的时间戳。

根据本申请的一个实施例,提供了一种云环境下的客户端与服务器之间的认证方法,其中所述客户端与所述服务器通过密钥分配中心进行Kerberos认证,并在所述密钥分配中心与所述客户端之间设置认证网关,在所述密钥分配中心故障的情况下客户端与服务器通过所述认证网关进行认证,所述认证方法包括:从客户端接收与客户端从认证网关获取的客户端与服务器间会话密钥有关的第二验证消息;基于第二验证消息进行第二验证;向客户端发 送第二验证通过后的验证通过消息。

可选地,所述第二验证消息至少包括:用获取的客户端与服务器间会话密钥加密的包括所述第一随机数、客户端标识、第二票据信息、第二票据消息的消息摘要的序列;第二票据消息,其中第二票据信息至少包括客户端网络地址、和/或第二票据消息的有效期。第二验证包括:用服务器的私钥解密第二验证消息中序列外的第二票据消息,从而获得客户端与服务器间会话密钥;用获得的客户端与服务器间会话密钥解密加密的序列,以获得第二票据消息的消息摘要;从第二票据消息的消息摘要还原出第二票据消息;将还原出的第二票据消息与第二验证消息中序列外的第二票据消息进行对比。

可选地,第二验证还包括:判断序列中的第一随机数是否是新随机数。

可选地,第二验证还包括:根据解密后的序列中的客户端标识,查找存储有客户端标识与相应的客户端网络地址的对应关系表,以获得客户端网络地址;将获得的客户端网络地址与解密后的序列中的客户端网络地址比对。

可选地,第二验证还包括:将解密后的序列中的第二票据消息的有效期与当前时间对比。

可选地,所述第二验证通过后的验证通过消息包括用获得的客户端与服务器间会话密钥加密的、服务器选作时间戳的第二随机数。

根据本申请的一个实施例,提供了一种云环境下的客户端的认证装置,其中,所述云环境包括客户端和服务器,所述客户端与所述服务器通过密钥分配中心进行Kerberos认证,并在所述密钥分配中心与所述客户端之间设置认证网关,在所述密钥分配中心故障的情况下客户端与服务器通过所述认证网关进行认证,所述认证装置包括:第一发送单元,用于向认证网关发送认证请求;第一识别单元,用于从认证网关对所述认证请求的应答中,识别认证网关响应于发现密钥分配中心故障而分配的客户端与认证网关间会话密钥;第二发送单元,用于向认证网关发送与获取的客户端与认证网关间会话密钥有关的第一验证消息,供认证网关进行第一验证;第二获取单元,用于从认证网关第一验证通过后的应答中,获取认证网关分配的客户端与服务器间会话密钥;第三发送单元,用于向服务器发送与获取的客户端与服务器间会话密钥有关的第二验证消息,供服务器进行第二验证;第一接收单元,用于接收服务器第二验证通过后的验证通过消息。

可选地,所述认证请求中包含客户端标识。

可选地,所述认证网关对所述认证请求的应答包括第一应答消息和第一票据消息。第一应答消息包括认证网关标识、响应于发现密钥分配中心故障而分配的客户端与认证网关间会话密钥、第一票据信息并用客户端的公钥加密。第一票据消息包括客户端标识、响应于发现密钥分配中心故障而分配的客户端与认证网关间会话密钥、第一票据信息并用认证网关的密钥加密。第一票据信息至少包括客户端网络地址、和/或第一票据消息的有效期。

可选地,第一获取单元用于:用客户端的私钥解密第一应答消息,从而得到客户端与认证网关间会话密钥。

可选地,在认证网关存储有客户端标识与相应的客户端网络地址的对应关系表,第一票据信息中的客户端网络地址基于认证请求中的客户端标识从对应关系表中获得,和/或第一票据信息中的第一票据消息的有效期是在生成第一票据消息时分配的。

可选地,所述第一验证消息至少包括:用获取的客户端与认证网关间会话密钥加密的包括客户端选作时间戳的第一随机数、客户端标识、服务器标识、第一票据信息、第一票据消息的消息摘要的序列;第一票据消息,其中第一票据信息至少包括客户端网络地址、和/或第一票据消息的有效期。第一验证包括:用客户端与认证网关间会话密钥解密加密的序列,以获得第一票据消息的消息摘要;从第一票据消息的消息摘要还原出第一票据消息;将还原出的第一票据消息与第一验证消息中序列外的第一票据消息进行对比。

可选地,第一验证还包括:判断序列中的第一随机数是否是新随机数。

可选地,所述第一验证消息在序列外还包括服务器标识。第一验证还包括:将解密后的序列中的服务器标识与序列外的服务器标识进行对比。

可选地,第一验证还包括:根据解密后的序列中的客户端标识,查找存储有客户端标识与相应的客户端网络地址的对应关系表,以获得客户端网络地址;将获得的客户端网络地址与解密后的序列中的客户端网络地址比对。

可选地,第一验证还包括:将解密后的序列中的第一票据消息的有效期与当前时间对比。

可选地,所述认证网关第一验证通过后的应答包括第二应答消息和第二票据消息。第二应答消息包括第二票据信息、服务器标识、以及客户端与服务器间会话密钥,并用客户端与认证网关间会话密钥加密。第二票据消息包括客户端标识、客户端与服务器间会话密钥、以及第二票据信息,并用服务 器的公钥加密。第二票据信息至少包括客户端网络地址、和/或第二票据消息的有效期。

可选地,第二获取单元用于:用客户端与认证网关间会话密钥解密加密的第二应答消息,从而获得客户端与服务器间会话密钥。

可选地,在认证网关存储有客户端标识与相应的客户端网络地址的对应关系表,第二票据信息中的客户端网络地址基于解密后的序列内的客户端标识从对应关系表中获得,和/或第二票据信息中的第二票据消息的有效期是在生成第二票据消息时分配的。

可选地,所述第二验证消息至少包括:用获取的客户端与服务器间会话密钥加密的包括所述第一随机数、客户端标识、第二票据信息、第二票据消息的消息摘要的序列;第二票据消息,其中第二票据信息至少包括客户端网络地址、和/或第二票据消息的有效期。第二验证包括:用服务器的私钥解密第二验证消息中序列外的第二票据消息,从而获得客户端与服务器间会话密钥;用获得的客户端与服务器间会话密钥解密加密的序列,以获得第二票据消息的消息摘要;从第二票据消息的消息摘要还原出第二票据消息;将还原出的第二票据消息与第二验证消息中序列外的第二票据消息进行对比。

可选地,第二验证还包括:判断序列中的第一随机数是否是新随机数。

可选地,第二验证还包括:根据解密后的序列中的客户端标识,查找存储有客户端标识与相应的客户端网络地址的对应关系表,以获得客户端网络地址;将获得的客户端网络地址与解密后的序列中的客户端网络地址比对。

可选地,第二验证还包括:将解密后的序列中的第二票据消息的有效期与当前时间对比。

可选地,所述服务器第二验证通过后的验证通过消息包括用服务器获得的客户端与服务器间会话密钥加密的服务器选作时间戳的第二随机数。

可选地,所述客户端与服务器之间的Kerberos认证所需的、客户端与密钥分配中心共享的客户端私钥是由密钥分配中心上部署的管理代理在客户端和密钥分配中心分配并更新的。

可选地,所述客户端与服务器之间的Kerberos认证中客户端与密钥分配中心之间的时间同步是通过认证网关监视客户端与密钥分配中心的时间戳,并在时间戳不一致的情况下,将密钥分配中心的时间戳通知到客户端以更新客户端的时间戳实现的。

根据本申请的一个实施例,提供了一种云环境下的认证网关的认证装置,其中所述云环境包括客户端和服务器,所述客户端与所述服务器通过密钥分配中心进行Kerberos认证,并在所述密钥分配中心与所述客户端之间设置认证网关,在所述密钥分配中心故障的情况下客户端与服务器通过所述认证网关进行认证,所述认证装置包括:第二接收单元,用于从客户端接收认证请求;第一应答单元,用于向客户端发出对所述认证请求的应答,其中对所述认证请求的应答中含有响应于发现密钥分配中心故障而分配的客户端与认证网关间会话密钥;第三接收单元,用于从客户端接收与所述客户端与认证网关间会话密钥有关的第一验证消息;第一验证单元,用于基于第一验证消息进行第一验证;第二应答单元,用于向客户端发送第一验证通过后的应答,其中第一验证通过后的应答中含有客户端与服务器间会话密钥。

可选地,所述认证请求中包含客户端标识。

可选地,对所述认证请求的应答包括第一应答消息和第一票据消息,其中第一应答消息包括认证网关标识、响应于发现密钥分配中心故障而分配的客户端与认证网关间会话密钥、第一票据信息并用客户端的公钥加密;第一票据消息包括客户端标识、响应于发现密钥分配中心故障而分配的客户端与认证网关间会话密钥、第一票据信息并用认证网关的密钥加密,其中第一票据信息至少包括客户端网络地址、和/或第一票据消息的有效期。

可选地吗,第一票据信息中的客户端网络地址基于认证请求中的客户端标识从存储有客户端标识与相应的客户端网络地址的对应关系表中获得,和/或第一票据信息中的第一票据消息的有效期是在生成第一票据消息时分配的。

可选地,所述第一验证消息至少包括:用获取的客户端与认证网关间会话密钥加密的包括客户端选作时间戳的第一随机数、客户端标识、服务器标识、第一票据信息、第一票据消息的消息摘要的序列;第一票据消息,其中第一票据信息至少包括客户端网络地址、和/或第一票据消息的有效期。第一验证包括:用客户端与认证网关间会话密钥解密加密的序列,以获得第一票据消息的消息摘要;从第一票据消息的消息摘要还原出第一票据消息;将还原出的第一票据消息与第一验证消息中序列外的第一票据消息进行对比。

可选地,第一验证还包括:判断序列中的第一随机数是否是新随机数。

可选地,所述第一验证消息在序列外还包括服务器标识。第一验证还包 括:将解密后的序列中的服务器标识与序列外的服务器标识进行对比。

可选地,第一验证还包括:根据解密后的序列中的客户端标识,查找存储有客户端标识与相应的客户端网络地址的对应关系表,以获得客户端网络地址;将获得的客户端网络地址与解密后的序列中的客户端网络地址比对。

可选地,第一验证还包括:将解密后的序列中的第一票据消息的有效期与当前时间对比。

可选地,所述认证网关第一验证通过后的应答包括第二应答消息和第二票据消息,其中第二应答消息包括第二票据信息、服务器标识、以及客户端与服务器间会话密钥,并用客户端与认证网关间会话密钥加密;第二票据消息包括客户端标识、客户端与服务器间会话密钥、以及第二票据信息,并用服务器的公钥加密。第二票据信息至少包括客户端网络地址、和/或第二票据消息的有效期。

可选地,所述客户端与服务器之间的Kerberos认证所需的、客户端与密钥分配中心共享的客户端私钥是由密钥分配中心上部署的管理代理在客户端和密钥分配中心分配并更新的。

可选地,该认证装置还包括:监视单元,用于在所述客户端与服务器之间的Kerberos认证中,监视客户端与密钥分配中心的时间戳;

通知单元,用于在客户端与密钥分配中心的时间戳不一致的情况下,将密钥分配中心的时间戳通知到客户端,从而更新客户端的时间戳。

根据本申请的一个实施例,提供了一种云环境下的客户端的认证装置,其中所述云环境包括客户端和服务器,所述客户端与所述服务器通过密钥分配中心进行Kerberos认证,并在所述密钥分配中心与所述客户端之间设置认证网关,在所述密钥分配中心故障的情况下客户端与服务器通过所述认证网关进行认证,所述认证装置包括:第四接收单元,用于从客户端接收与客户端从认证网关获取的客户端与服务器间会话密钥有关的第二验证消息;第二验证单元,用于基于第二验证消息进行第二验证;第四发送单元,用于向客户端发送第二验证通过后的验证通过消息。

可选地,所述第二验证消息至少包括:用获取的客户端与服务器间会话密钥加密的包括所述第一随机数、客户端标识、第二票据信息、第二票据消息的消息摘要的序列;第二票据消息,其中第二票据信息至少包括客户端网络地址、和/或第二票据消息的有效期。第二验证包括:用服务器的私钥解密 第二验证消息中序列外的第二票据消息,从而获得客户端与服务器间会话密钥;用获得的客户端与服务器间会话密钥解密加密的序列,以获得第二票据消息的消息摘要;从第二票据消息的消息摘要还原出第二票据消息;将还原出的第二票据消息与第二验证消息中序列外的第二票据消息进行对比。

可选地,第二验证还包括:判断序列中的第一随机数是否是新随机数。

可选地,第二验证还包括:根据解密后的序列中的客户端标识,查找存储有客户端标识与相应的客户端网络地址的对应关系表,以获得客户端网络地址;将获得的客户端网络地址与解密后的序列中的客户端网络地址比对。

可选地,第二验证还包括:将解密后的序列中的第二票据消息的有效期与当前时间对比。

可选地,所述第二验证通过后的验证通过消息包括用获得的客户端与服务器间会话密钥加密的、服务器选作时间戳的第二随机数。

由于按照本发明实施例,在正常情况下,客户端与服务器通过KDC进行Kerberos认证,而一旦KDC出现单点故障,客户端和服务器通过认证网关用本发明实施例中的认证流程进行认证,减少了Kerberos认证中的KDC单点故障对整个云计算平台造成的影响。由于本发明实施例的认证流程中,客户端向认证网关发送与获取的客户端与认证网关间会话密钥有关的第一验证消息,供认证网关进行第一验证,而后向服务器发送与获取的客户端与服务器间会话密钥有关的第二验证消息,供服务器进行第二验证,这样设计的验证达到了与Kerberos流程中的验证类似的效果,不会减低验证质量。

附图说明

本发明的其它特点、特征、优点和益处通过以下结合附图的详细描述将变得更加显而易见。

图1表示根据本发明一个实施例的云计算环境。

图2是表示Kerberos认证的过程的示意图。

图3是根据本发明一个实施例的云环境下认证系统的框图。

图4是根据本发明一个实施例的在客户端的云环境下的客户端与服务器之间的认证方法的流程图。

图5是根据本发明一个实施例的在认证网关的云环境下的客户端与服务器之间的认证方法的流程图。

图6是根据本发明一个实施例的在服务器的云环境下的客户端与服务器之间的认证方法的流程图。

图7是根据本发明一个实施例的一种云环境下的客户端的认证装置的框图。

图8是根据本发明一个实施例的一种云环境下的认证网关的认证装置的框图。

图9是根据本发明一个实施例的一种云环境下的服务器的认证装置的框图。

图10是根据本发明一个实施例的一种云环境下的客户端的通用结构框图。

图11是根据本发明一个实施例的一种云环境下的认证网关的通用结构框图。

图12是根据本发明一个实施例的一种云环境下的服务器的通用结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。

首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。

云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。现在参考图1,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、 笔记本电脑54C和/或汽车计算机系统54N。云节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图1显示的各类计算设备54A-N仅仅是示意性的,云节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。

在描述本发明的实施例之前,先介绍目前云计算平台下客户端和服务器通过密钥分配中心(KDC)进行Kerberos认证的过程,如图2所示。图2所示的云环境下的认证系统包括客户端110、服务器130、KDC120。客户端与服务器通过KDC进行Kerberos认证。具体过程如下:

在步骤S110中,客户端向KDC以明文形式发送客户端标识(ClientID),以用户的名义请求服务。

在KDC中,事先存储云计算平台上所有客户端ID与相应的用户口令、相应的客户端网络地址的对应关系表。用户口令是相应的客户端ID的用户在初始登录认证系统时设置的口令,其被KDC保存在对应关系表中。

在步骤S120中,KDC首先查看接收到的客户端ID是否在对应关系表中。如不在,则该客户端ID对应的客户端不是云计算平台上允许认证的对象,则不予认证。如在对应关系表中,则查找出相应的用户口令、客户端网络地址。将用户口令进行散列处理(hash),就产生了客户端的私钥。这时,KDC生成并向客户端发送如下两个消息:

消息A:用该客户端的私钥加密的客户端/票据许可服务器(TGS)会话密钥,其中客户端/TGS会话密钥是KDC随机产生的,TGS 121是KDC的一个模块。

消息B:票据-授权-票据(TGT),其包括客户端ID、客户端网络地址、票据有效期、客户端/TGS会话密钥并用TGS的私钥加密,其中客户端ID来源于KDC接收到的客户端ID,客户端网络地址是根据接收到的客户端ID在对应关系表查找到的客户端网络地址,票据有效期是生成TGT时为其制定的有效期,该有效期过了之后TGT失效。

客户端收到消息A和B后,用户在客户端输入用户口令。客户端将用 户口令进行散列处理,产生了客户端的私钥。如果用户输入的用户口令是正确的,将与对应关系表中存储的与该客户端对应的用户口令一致,那么客户端产生的客户端的私钥与加密消息A时用的私钥一致。客户端用该私钥解密消息A,就得到了客户端/TGS会话密钥。客户端不能解密消息B,因为消息B是用TGS的私钥加密的。

在步骤S130中,客户端产生并向TGS发送以下两个消息:

消息C:由消息B和被请求服务的服务器130的标识(ServerID)组成。

消息D:第一认证因子,其由客户端ID和时间戳组成,用客户端/TGS会话密钥加密,其中时间戳是客户端生成第一认证因子的时间,客户端/TGS会话密钥是如上所述客户端解密消息A得到的。

TGS接收到消息C和D后,从消息C中去除消息B。由于消息B是用TGS的私钥加密的,TGS用TGS的私钥解密消息B就得到了客户端ID、客户端网络地址、票据有效期、客户端/TGS会话密钥。然后,TGS用该客户端/TGS会话密钥解密消息D,就得到了客户端ID、时间戳。

在步骤S140中,TGS产生并向客户端发送以下两个消息:

消息E:客户端-服务器票据,其包括客户端ID、客户端网络地址、票据有效期、客户端/服务器会话密钥,并用服务器的私钥加密。客户端ID、客户端网络地址、票据有效期是如上所述TGS用TGS的私钥解密消息B得到的,客户端/服务器会话密钥是TGS随机分配的,服务器的私钥是TGS事先存储的。

消息F:用客户端/TGS会话密钥加密的客户端/服务器会话密钥。客户端/TGS会话密钥是如上所述TGS用TGS的私钥解密消息B得到的。

由于客户端此时已经获得客户端/TGS会话密钥,用客户端/TGS会话密钥解密消息F,就得到客户端/服务器会话密钥。

在步骤S150中,客户端产生并向服务器130发送如下两个消息:

消息E:同上。即,客户端从TGS接到后原样转发给服务器130。

消息G:第二认证因子,其包括客户端ID、时间戳,并用客户端/服务器会话密钥加密。客户端/服务器会话密钥是如上所述用客户端/TGS会话密钥解密消息F得到的。

然后,服务器130用服务器的私钥解密从客户端接收到的消息E,得到客户端ID、客户端网络地址、票据有效期、客户端/服务器会话密钥。利用 该客户端/服务器会话密钥解密消息G,得到客户端ID、时间戳。

在步骤S160中,服务器产生并向客户端发送如下消息:

消息H:第二认证因子中的时间戳+1,用客户端/服务器会话密钥加密。客户端/服务器会话密钥是如上所述用服务器的私钥解密从客户端接收到的消息E得到的。第二认证因子中的时间戳是如上所述利用该客户端/服务器会话密钥解密消息G得到的。

由于客户端早已获得客户端/服务器会话密钥,用该客户端/服务器会话密钥解密消息H,检查该消息H中的时间戳是否是自己产生的时间戳+1。如是,通过验证,即客户端可以信任服务器,开始向服务器发送服务请求。

但是,如果KDC 120出现故障,Kerberos认证不能正常进行。在本发明实施例中,如图3所示,在KDC 120与客户端110之间设置认证网关140。在KDC故障的情况下客户端110与服务器130通过所述认证网关140进行认证。具体认证过程如下。

在初始准备阶段,由密钥授权机构(CA)为客户端110、服务器130和认证网关140配置私钥。云环境下认证系统中的任意节点可以查询任意节点的公钥,这里的节点包括客户端110、KDC 120、服务器130和认证网关140。

在KDC没有发生故障的情况下,认证网关140在客户端110和KDC 120之间透明传输,就好像认证网关140不存在一样。即在图2描述的流程中的S110-140中,客户端110发送给KDC 120的任何消息或请求、以及KDC 120发送给客户端110的任何消息都借助于认证网关140传输,但认证网关不作处理,仅仅起到透明传输的作用。一旦KDC发生故障,本发明实施例的流程开始起作用。

图4是根据本发明一个实施例的云环境下的客户端与服务器之间的客户端认证方法的流程图,其包括步骤S310-360。

在步骤S310中,客户端向认证网关发送认证请求,从而启动客户端与服务器之间的Kerberos认证,在所述Kerberos认证中,认证网关在密钥分配中心(KDC)无故障的情况下对Kerberos认证中客户端向密钥分配中心(KDC)发送的消息以及密钥分配中心(KDC)向客户端发送的消息在客户端和密钥分配中心(KDC)进行透明传输。

步骤S310启动的Kerberos认证类似于图2所示的Kerberos认证。不同的是,本发明实施例中多了认证网关140,认证网关在密钥分配中心(KDC) 无故障的情况下对Kerberos认证中客户端向密钥分配中心(KDC)发送的消息以及密钥分配中心(KDC)向客户端发送的消息(即图2的步骤S110-140中客户端和KDC向对方发送的消息)在客户端和密钥分配中心(KDC)进行透明传输。透明传输的含义是,不作任何处理直接转发,即当认证网关接收到客户端向密钥分配中心(KDC)发送的消息,不作任何处理直接转发给密钥分配中心(KDC);当认证网关接收到密钥分配中心(KDC)向客户端发送的消息,不作任何处理直接转发给客户端。

可选地,在所述认证请求中包含客户端标识(ClientID)。这与图2中的步骤S110基本上是一致的。但是从步骤S320开始,图4的流程与图2的正常的Kerberos认证流程发生了区别。因为,一旦认证网关发现KDC故障,则不再透明传输,而是在对S310中认证请求的应答中,融入了响应于发现KDC故障而分配的客户端与认证网关间会话密钥(Kcg)。

在步骤S320中,客户端从认证网关对所述认证请求的应答中,识别认证网关响应于发现KDC故障而分配的客户端与认证网关间会话密钥(Kcg)。

客户端从认证网关接收到的消息有可能是在KDC没有故障时由认证网关透明传输过来的KDC消息,也有可能是认证网关响应于发现KDC故障而分配的客户端与认证网关间会话密钥(Kcg)。由于在KDC没有故障时由认证网关透明传输过来的KDC消息与客户端与认证网关间会话密钥(Kcg)具有不同的自动格式,因此根据接收到的消息的自动格式可以识别出是由认证网关透明传输过来的KDC消息,还是认证网关响应于发现KDC故障而分配的客户端与认证网关间会话密钥(Kcg)。

认证网关发现KDC故障是通过心跳消息监视透明传输进行的。例如,在图2的S110中,认证网关将客户端110发来的客户端ID透明传输给KDC 120后,发现从KDC 120没有如S120中那样接收到消息A和B,则认为发现了KDC故障。

可选地,所述认证网关对所述认证请求的应答包括第一应答消息(MsgB)和第一票据消息(Tcg)

第一应答消息(MsgB)如下:

MsgB={GatewayID,Kcg,ticketinfo}Kcpk

即,第一应答消息(MsgB)包括认证网关标识(GatewayID)、认证网关响应于发现KDC故障而分配的客户端与认证网关间会话密钥(Kcg)、第 一票据信息(ticketinfo)并用客户端的公钥(Kcpk)加密。第一票据信息(ticketinfo)至少包括客户端网络地址、和/或第一票据消息(Tcg)的有效期。

认证网关标识(GatewayID)是认证网关固有的。分配客户端与认证网关间会话密钥(Kcg)可以采用多种分配方式,例如随机分配。第一票据信息(ticketinfo)的生成方式可以例如:在认证网关存储有客户端标识(ClientID)与相应的客户端网络地址的对应关系表,第一票据信息(ticketinfo)中的客户端网络地址基于认证请求中的客户端标识(ClientID)从对应关系表中获得;第一票据信息(ticketinfo)中的第一票据消息(Tcg)的有效期是在生成第一票据消息(Tcg)时分配的,例如在10:30生成,1个小时有效,有效期就是10:30-11:30。客户端的公钥(Kcpk)从CA获得。

第一票据信息(Tcg)如下:

Tcg={ClientID,Kcg,ticketinfo}Ktgs

即,第一票据消息(Tcg)包括客户端标识(ClientID)、响应于发现KDC故障而分配的客户端与认证网关间会话密钥(Kcg)、第一票据信息(ticketinfo)并用认证网关的密钥(Ktgs)加密。

客户端标识(ClientID)来源于从客户端110接收到的客户端标识。认证网关的密钥(Ktgs)如上所述在初始准备阶段从CA获得。

客户端从认证网关对所述认证请求的应答中获取认证网关间会话密钥(Kcg)的方式可以是:用客户端的私钥解密第一应答消息(MsgB),从而得到客户端与认证网关间会话密钥(Kcg)。客户端的私钥如上所述在初始准备阶段从CA获得。

在步骤S330中,客户端向认证网关发送与获取的客户端与认证网关间会话密钥(Kcg)有关的第一验证消息(MsgC),供认证网关进行第一验证。

所述第一验证消息(MsgC)表示为:

MsgC={Random,ClientID,ServerID,ticketinfo,MAC(Tcg)}Kcg,Tcg

即,第一验证消息(MsgC)至少包括:用获取的客户端与认证网关间会话密钥(Kcg)加密的包括客户端选作时间戳的第一随机数(Random)、客户端标识(ClientID)、服务器标识(ServerID)、第一票据信息(ticketinfo)、第一票据消息(Tcg)的消息摘要的序列;第一票据消息(Tcg),其中第一票据信息(ticketinfo)至少包括客户端网络地址、和/或第一票据消息(Tcg) 的有效期。服务器标识(ServerID)是客户端用户想要获得服务的服务器的ID,这对于客户端来说是已知的。第一票据信息(ticketinfo)是客户端用客户端的私钥解密消息B得到的。第一票据消息(Tcg)即客户端从认证网关接收到的第一票据消息(Tcg)。求消息摘要MAC()是已知算法。

认证网关进行的第一验证至少包括:

认证网关从MsgC中取出{Random,ClientID,ServerID,ticketinfo,MAC(Tcg)}Kcg这一部分,用客户端与认证网关间会话密钥(Kcg)解密,获得第一票据消息(Tcg)的消息摘要,即MAC(Tcg);

从第一票据消息(Tcg)的消息摘要,即MAC(Tcg),还原出第一票据消息(Tcg);

将还原出的第一票据消息(Tcg)与MsgC中第一验证消息(MsgC)中序列外的第一票据消息(Tcg)进行对比。如果二者不一致,认证不通过,客户端不能使用服务器提供的服务,不为客户端分配客户端与服务器间会话密钥(Kcs)。可以规定如果二者一致,认证通过。也可以在二者一致的情况下还进行这样的验证:

判断序列中的第一随机数是否是新随机数。用客户端与认证网关间会话密钥(Kcg)解密{Random,ClientID,ServerID,ticketinfo,MAC(Tcg)}Kcg可以获得第一随机数(Random)。在认证网关中存储有以前解密{Random,ClientID,ServerID,ticketinfo,MAC(Tcg)}Kcg获得的随机数。如果在认证网关存储的随机数中发现有该第一随机数(Random),说明这个MsgC不是客户端新生成的,而是一个重放消息,此时认为认证不通过,不为客户端分配客户端与服务器间会话密钥(Kcs)。可以规定如果没有该第一随机数(Random),认证通过。也可以规定所述第一验证消息(MsgC)在序列外还包括服务器标识(ServerID),即

MsgC={Random,ClientID,ServerID,ticketinfo,MAC(Tcg)}Kcg,Tcg,ServerID

并且,在没有该第一随机数(Random)的情况下还进行这样的验证:

将解密后的序列中的服务器标识(ServerID)与序列外的服务器标识(ServerID)进行对比。如果二者不一致则认证不通过,不为客户端分配客户端与服务器间会话密钥(Kcs)。可以规定如果二者一致则认证通过,也可以规定在二者一致的情况下还进行这样的验证:

用客户端与认证网关间会话密钥(Kcg)解密{Random,ClientID,ServerID,ticketinfo,MAC(Tcg)}Kcg可以获得客户端标识(ClientID)和第一票据信息(ticketinfo)中的客户端网络地址。根据获得的客户端标识(ClientID),查找存储有客户端标识与相应的客户端网络地址的对应关系表,以获得对应的客户端网络地址。然后,将获得的客户端网络地址与解密后的第一票据信息(ticketinfo)中的客户端网络地址进行比对。如果二者不一致则认证不通过,不为客户端分配客户端与服务器间会话密钥(Kcs)。可以规定如果二者一致则认证通过,也可以规定在二者一致的情况下还进行这样的验证:

用客户端与认证网关间会话密钥(Kcg)解密{Random,ClientID,ServerID,ticketinfo,MAC(Tcg)}Kcg可以获得第一票据信息(ticketinfo)中的第一票据消息(Tcg)的有效期。将其对当前时间对比。如果当前时间不落在该有效期之内,说明第一票据消息(Tcg)已经过期,则认证不通过,不为客户端分配客户端与服务器间会话密钥(Kcs)。可以规定如果二者一致则认证通过。

认证网关第一验证通过后,分配客户端与服务器间会话密钥(Kcs),例如随机分配客户端与服务器间会话密钥(Kcs)。

在步骤S340中,客户端从认证网关第一验证通过后的应答中,获取认证网关分配的客户端与服务器间会话密钥(Kcs)

可选地,所述认证网关第一验证通过后的应答包括第二应答消息(MsgD)和第二票据消息(Tsg)。

第二应答消息(MsgD)如下:

MsgD={ticketinfo2,ServerID,Kcs}Kcg

即,第二应答消息(MsgD)包括第二票据信息(ticketinfo2)、服务器标识(ServerID)、以及客户端与服务器间会话密钥(Kcs),并用客户端与认证网关间会话密钥(Kcg)加密,其中第二票据信息(ticketinfo2)至少包括客户端网络地址、和/或第二票据消息(Tsg)的有效期。

在认证网关存储有客户端标识(ClientID)与相应的客户端网络地址的对应关系表。第二票据信息(ticketinfo2)中的客户端网络地址是基于解密后的序列内的客户端标识(ClientID)从对应关系表中获得的。第二票据信息(ticketinfo2)中的第二票据消息(Tsg)的有效期是在生成第二票据消息(Tsg)时分配的。服务器标识(ServerID)是认证网关用客户端与认证网关间会话密钥(Kcg)解密{Random,ClientID,ServerID,ticketinfo, MAC(Tcg)}Kcg获得的。客户端与服务器间会话密钥(Kcs)是认证网关如上所述为客户端分配的。

第二票据消息(Tsg)如下:

Tsg={ClientID,Kcs,ticketinfo2}Kspk

即,第二票据消息(Tsg)包括客户端标识(ClientID)、客户端与服务器间会话密钥(Kcs)、以及第二票据信息(ticketinfo2),并用服务器的公钥(Kspk)加密。

客户端标识(ClientID)是认证网关用客户端与认证网关间会话密钥(Kcg)解密{Random,ClientID,ServerID,ticketinfo,MAC(Tcg)}Kcg获得的。服务器的公钥(Kspk)从CA获得。

从认证网关第一验证通过后的应答中获取认证网关分配的客户端与服务器间会话密钥(Kcs)的方式可以是:客户端用客户端已知的客户端与认证网关间会话密钥(Kcg)解密加密的第二应答消息(MsgD),从而获得客户端与服务器间会话密钥(Kcs)。

在步骤S350中,客户端向服务器发送与获取的客户端与服务器间会话密钥(Kcs)有关的第二验证消息(MsgE),供服务器进行第二验证。

可选地,所述第二验证消息(MsgE)如下:

MsgE={Random,ClientID,ticketinfo2,MAC(Tsg)}Kcs,Tsg

即,所述第二验证消息(MsgE)至少包括:用获取的客户端与服务器间会话密钥(Kcs)加密的包括所述第一随机数(Random)、客户端标识(ClientID)、第二票据信息(ticketinfo2)、第二票据消息(Tsg)的消息摘要的序列;第二票据消息(Tsg),其中第二票据信息(ticketinfo2)至少包括客户端网络地址、和/或第二票据消息(Tsg)的有效期。第二票据信息(ticketinfo2)是客户端用客户端已知的客户端与认证网关间会话密钥(Kcg)解密加密的第二应答消息(MsgD)获得的。

服务器的第二验证至少包括:

由于第二票据消息(Tsg)是用服务器的公钥加密的,服务器用服务器的私钥解密第二验证消息(MsgE)中序列外的第二票据消息(Tsg),从而获得客户端与服务器间会话密钥(Kcs);

用获得的客户端与服务器间会话密钥(Kcs)解密所述第二验证消息(MsgE)中加密的序列{Random,ClientID,ticketinfo2,MAC(Tsg)}Kcs,以获 得第二票据消息(Tsg)的消息摘要,即MAC(Tsg);

从第二票据消息(Tsg)的消息摘要,即MAC(Tsg),还原出第二票据消息(Tsg);

将还原出的第二票据消息(Tsg)与第二验证消息(MsgE)中序列外的第二票据消息(Tsg)进行对比。如果二者不一致,认证不通过,说明客户端没有得到使用服务器提供的服务的授权。可以规定如果二者一致,认证通过。也可以在二者一致的情况下还进行这样的验证:

判断序列中的第一随机数是否是新随机数。用获得的客户端与服务器间会话密钥(Kcs)解密{Random,ClientID,ticketinfo2,MAC(Tsg)}Kcs可以获得第一随机数(Random)。在服务器中存储有以前解密{Random,ClientID,ticketinfo2,MAC(Tsg)}Kcs获得的随机数。如果在认证网关存储的随机数中发现有该第一随机数(Random),说明这个MsgE不是客户端新生成的,而是一个重放消息,此时认为认证不通过。可以规定如果没有该第一随机数(Random),认证通过。也可以规定如果没有该第一随机数(Random)还进行这样的验证:

根据解密{Random,ClientID,ticketinfo2,MAC(Tsg)}Kcs后得到的客户端标识(ClientID),查找存储有客户端标识(ClientID)与相应的客户端网络地址的对应关系表(事先在服务器配置一个这样的对应关系表),以获得客户端网络地址;

将获得的客户端网络地址与解密{Random,ClientID,ticketinfo2,MAC(Tsg)}Kcs后得到的ticketinfo2中的客户端网络地址比对。如果二者不一致则认证不通过。可以规定如果二者一致则认证通过,也可以规定在二者一致的情况下还进行这样的验证:

解密{Random,ClientID,ticketinfo2,MAC(Tsg)}Kcs后得到ticketinfo2中的第二票据消息(Tsg)的有效期。将其对当前时间对比。如果当前时间不落在该有效期之内,说明第二票据消息(Tsg)已经过期,则认证不通过。可以规定如果二者一致则认证通过。

在步骤S360中,客户端接收服务器第二验证通过后的验证通过消息(MsgF)。

可选地,所述服务器第二验证通过后的验证通过消息(MsgF)如下:

MsgF={Random2}Kcs

即,所述服务器第二验证通过后的验证通过消息(MsgF)包括用服务器获得的客户端与服务器间会话密钥(Kcs)加密的服务器选作时间戳的第二随机数(Random2)。客户端收到该验证通过消息,则可以向服务器请求其需要的服务。

本发明的实施例采用基于公钥的认证网关来进行认证和会话密钥协商,并向客户端发布对称会话密钥。客户端用由对称会话密钥加密的票据来请求服务器的服务。只有对称会话密钥本身的传递用公钥加密。通过这样一个密钥发放和管理的做法,密钥分发非常方便,管理员不需要在所有的客户端和KDC配置所有的对称密钥对。

另外,根据本发明的一个实施例,不仅规定了在认证网关发现密钥分配中心(KDC)故障的情况下切换到的Kerberos认证之外的另一个能在客户端和服务器之间进行认证的认证过程,还对Kerberos认证本身进一步进行了优化。如图3所示,在KDC 120内部部署管理代理122,负责在客户端和密钥分配中心(KDC)分配和更新所述客户端与服务器之间的Kerberos认证所需的、客户端与密钥分配中心(KDC)共享的客户端私钥。

如上结合图2所述,在现有技术的Kerberos认证过程中,在KDC事先要存储一个对应关系表,要将每个用户对应的用户口令人工一一录入该对应关系表。当KDC接收到客户端ID时,查找该对应关系表,得到相应的用户口令,进行散列处理后得到客户端的私钥。在客户端,也能对输入的用户口令进行散列处理后得到客户端的私钥。二者是一致的,保证了客户端和KDC共享的用来加密解密客户端/票据许可服务器(TGS)会话密钥的初始密钥是一致的。它的密钥管理非常不方便,管理员需要在所有的客户端和KDC配置所有的对称密钥对。本发明实施例通过在KDC 120内部部署管理代理122,负责在客户端和密钥分配中心(KDC)分配和更新所述客户端与服务器之间的Kerberos认证所需的、客户端与密钥分配中心(KDC)共享的初始密钥,即客户端私钥,不需要管理员一一配置对称密钥对,减轻了初始密钥对管理的负担。

另外,根据本发明的一个实施例,还优化了Kerberos认证过程中客户端与KDC之间的时间同步。它是通过认证网关监视客户端与密钥分配中心(KDC)的时间戳,并在时间戳不一致的情况下,将密钥分配中心(KDC)的时间戳通知到客户端以更新客户端的时间戳实现的。

如上结合图2所述,在步骤S130中客户端向TGS发送的消息C中具有客户端的时间戳。KDC的时间戳可以在认证网关在客户端和KDC之间透明传输消息的过程中由认证网关从KDC获得。如果二者一致,认证网关不作处理;如果二者不一致,将KDC的时间戳通知到客户端(在图2的S110-160之外的步骤中),以更新客户端的时间戳。它解决了Kerberos认证依赖于客户端和KDC的时间同步,一旦客户端和KDC时间失步超过阈值量,则认证失败的问题。

另外,根据本发明的一个实施例,如图3所示,客户端110中配置有认证代理111,服务器130中配置有认证过滤器131。认证网关140与客户端110之间传递的消息、认证网关140与服务器130之间传递的消息中都含有消息标识符,表明该消息是属于正常情况下Kerberos认证中的消息(类似于图2中S110-160中的各消息),还是本发明实施例切换到的另一个认证过程(如图4中S310-360中传递的消息)。认证代理111和认证过滤器131确定是属于哪一种认证过程中的消息,再分别交给客户端110和服务器130处理。

图5是根据本发明一个实施例的在认证网关的云环境下的客户端与服务器之间的认证方法的流程图,其包括步骤S410-450。

在步骤S410中,认证网关从客户端接收认证请求,从而启动客户端与服务器之间的Kerberos认证,在所述Kerberos认证中,认证网关在密钥分配中心(KDC)无故障的情况下对Kerberos认证中客户端向密钥分配中心(KDC)发送的消息以及密钥分配中心(KDC)向客户端发送的消息在客户端和密钥分配中心(KDC)进行透明传输。

可选地,所述认证请求中包含客户端标识(ClientID)。

步骤S410与图4的步骤S310对应,其详细过程见前述结合步骤S310的描述。

在步骤S420中,在发现密钥分配中心(KDC)故障的情况下,认证网关向客户端发出对所述认证请求的应答,其中对所述认证请求的应答中含有响应于发现密钥分配中心(KDC)故障而分配的客户端与认证网关间会话密钥(Kcg)。

可选地,对所述认证请求的应答包括第一应答消息(MsgB)和第一票据消息(Tcg)。第一应答消息(MsgB)包括认证网关标识(GatewayID)、 响应于发现密钥分配中心(KDC)故障而分配的客户端与认证网关间会话密钥(Kcg)、第一票据信息(ticketinfo)并用客户端的公钥加密。第一票据消息(Tcg)包括客户端标识(ClientID)、响应于发现密钥分配中心(KDC)故障而分配的客户端与认证网关间会话密钥(Kcg)、第一票据信息(ticketinfo)并用认证网关的密钥加密。第一票据信息(ticketinfo)至少包括客户端网络地址、和/或第一票据消息(Tcg)的有效期。

可选地,第一票据信息(ticketinfo)中的客户端网络地址是基于认证请求中的客户端标识(ClientID)从存储有客户端标识(ClientID)与相应的客户端网络地址的对应关系表中获得的。第一票据信息(ticketinfo)中的第一票据消息(Tcg)的有效期是在生成第一票据消息(Tcg)时分配的。

步骤S420的详细过程在前面结合图4的步骤S320已描述。

在步骤S430中,认证网关从客户端接收与所述客户端与认证网关间会话密钥(Kcg)有关的第一验证消息(MsgC)。

可选地,所述第一验证消息(MsgC)至少包括:用获取的客户端与认证网关间会话密钥(Kcg)加密的包括客户端选作时间戳的第一随机数(Random)、客户端标识(ClientID)、服务器标识(ServerID)、第一票据信息(ticketinfo)、第一票据消息(Tcg)的消息摘要的序列;第一票据消息(Tcg),其中第一票据信息(ticketinfo)至少包括客户端网络地址、和/或第一票据消息(Tcg)的有效期。

步骤S430的详细过程在前面结合图4的步骤S330已描述。

在步骤S440中,基于第一验证消息(MsgC)进行进行第一验证。

可选地,第一验证包括:

用客户端与认证网关间会话密钥(Kcg)解密加密的序列,以获得第一票据消息(Tcg)的消息摘要;

从第一票据消息(Tcg)的消息摘要还原出第一票据消息(Tcg);

将还原出的第一票据消息(Tcg)与第一验证消息(MsgC)中序列外的第一票据消息(Tcg)进行对比。

可选地,第一验证还包括:判断序列中的第一随机数是否是新随机数。

可选地,所述第一验证消息(MsgC)在序列外还包括服务器标识(ServerID)。第一验证还包括:将解密后的序列中的服务器标识(ServerID)与序列外的服务器标识(ServerID)进行对比。

可选地,第一验证还包括:根据解密后的序列中的客户端标识(ClientID),查找存储有客户端标识(ClientID)与相应的客户端网络地址的对应关系表,以获得客户端网络地址;将获得的客户端网络地址与解密后的序列中的客户端网络地址比对。

可选地,第一验证还包括:将解密后的序列中的第一票据消息(Tcg)的有效期与当前时间对比。

步骤S440的详细过程在前面结合图4的步骤S330已描述。

在步骤S450中,向客户端发送第一验证通过后的应答,其中第一验证通过后的应答中含有客户端与服务器间会话密钥(Kcs)。

可选地,所述认证网关第一验证通过后的应答包括第二应答消息(MsgD)和第二票据消息(Tsg)。第二应答消息(MsgD)包括第二票据信息(ticketinfo2)、服务器标识(ServerID)、以及客户端与服务器间会话密钥(Kcs),并用客户端与认证网关间会话密钥(Kcg)加密。第二票据消息(Tsg)包括客户端标识(ClientID)、客户端与服务器间会话密钥(Kcs)、以及第二票据信息(ticketinfo2),并用服务器的公钥(Kspk)加密。第二票据信息(ticketinfo2)至少包括客户端网络地址、和/或第二票据消息(Tsg)的有效期。

步骤S450的详细过程在前面结合图4的步骤S340已描述。

可选地,所述客户端与服务器之间的Kerberos认证所需的、客户端与密钥分配中心(KDC)共享的客户端私钥是由密钥分配中心(KDC)上部署的管理代理在客户端和密钥分配中心(KDC)分配并更新的。

可选地,该认证方法还包括如下步骤(图中未示):

在所述客户端与服务器之间的Kerberos认证中,监视客户端与密钥分配中心(KDC)的时间戳;

在客户端与密钥分配中心(KDC)的时间戳不一致的情况下,将密钥分配中心(KDC)的时间戳通知到客户端,从而更新客户端的时间戳。

图6是根据本发明一个实施例的在服务器的云环境下的客户端与服务器之间的认证方法的流程图。它包括步骤S510-530。

在步骤S510中,服务器从客户端接收与客户端从认证网关获取的客户端与服务器间会话密钥(Kcs)有关的第二验证消息(MsgE)。

可选地,所述第二验证消息(MsgE)至少包括:用获取的客户端与服务器间会话密钥(Kcs)加密的包括所述第一随机数(Random)、客户端标识(ClientID)、第二票据信息(ticketinfo2)、第二票据消息(Tsg)的消息摘要的序列;第二票据消息(Tsg),其中第二票据信息(ticketinfo2)至少包括客户端网络地址、和/或第二票据消息(Tsg)的有效期。

步骤S510的详细过程在前面结合图4的步骤S350已描述。

在步骤S520中,服务器基于第二验证消息(MsgE)进行第二验证。

可选地,第二验证包括:

用服务器的私钥解密第二验证消息(MsgE)中序列外的第二票据消息(Tsg),从而获得客户端与服务器间会话密钥(Kcs);

用获得的客户端与服务器间会话密钥(Kcs)解密加密的序列,以获得第二票据消息(Tsg)的消息摘要;

从第二票据消息(Tsg)的消息摘要还原出第二票据消息(Tsg);

将还原出的第二票据消息(Tsg)与第二验证消息(MsgE)中序列外的第二票据消息(Tsg)进行对比。

可选地,第二验证还包括:判断序列中的第一随机数是否是新随机数。

可选地,第二验证还包括:

根据解密后的序列中的客户端标识(ClientID),查找存储有客户端标识(ClientID)与相应的客户端网络地址的对应关系表,以获得客户端网络地址;

将获得的客户端网络地址与解密后的序列中的客户端网络地址比对。

可选地,第二验证还包括:将解密后的序列中的第二票据消息(Tsg)的有效期与当前时间对比。

步骤S520的详细过程在前面结合图4的步骤S350已描述。

在步骤S530中,服务器向客户端发送第二验证通过后的验证通过消息。

可选地,所述第二验证通过后的验证通过消息包括用获得的客户端与服务器间会话密钥(Kcs)加密的、服务器选作时间戳的第二随机数。

步骤S530的详细过程在前面结合图4的步骤S360已描述。

图7是根据本发明一个实施例的一种云环境下的客户端的认证装置3的框图。所述云环境包括客户端和服务器,所述客户端与所述服务器通过密钥 分配中心(KDC)进行Kerberos认证,并在所述密钥分配中心(KDC)与所述客户端之间设置认证网关。所述认证装置3包括:

第一发送单元310,用于向认证网关发送认证请求,从而启动客户端与服务器之间的Kerberos认证,在所述Kerberos认证中,认证网关在密钥分配中心(KDC)无故障的情况下对Kerberos认证中客户端向密钥分配中心(KDC)发送的消息以及密钥分配中心(KDC)向客户端发送的消息在客户端和密钥分配中心(KDC)进行透明传输;

第一识别单元320,用于在认证网关发现密钥分配中心(KDC)故障的情况下,从认证网关对所述认证请求的应答中,识别认证网关响应于发现密钥分配中心(KDC)故障而分配的客户端与认证网关间会话密钥(Kcg);

第二发送单元330,用于向认证网关发送与获取的客户端与认证网关间会话密钥(Kcg)有关的第一验证消息(MsgC),供认证网关进行第一验证;

第二获取单元340,用于从认证网关第一验证通过后的应答中,获取认证网关分配的客户端与服务器间会话密钥(Kcs);

第三发送单元350,用于向服务器发送与获取的客户端与服务器间会话密钥(Kcs)有关的第二验证消息(MsgE),供服务器进行第二验证;

第一接收单元360,用于接收服务器第二验证通过后的验证通过消息。

可选地,所述认证请求中包含客户端标识(ClientID)。

可选地,所述认证网关对所述认证请求的应答包括第一应答消息(MsgB)和第一票据消息(Tcg),其中

第一应答消息(MsgB)包括认证网关标识(GatewayID)、响应于发现密钥分配中心(KDC)故障而分配的客户端与认证网关间会话密钥(Kcg)、第一票据信息(ticketinfo)并用客户端的公钥加密;

第一票据消息(Tcg)包括客户端标识(ClientID)、响应于发现密钥分配中心(KDC)故障而分配的客户端与认证网关间会话密钥(Kcg)、第一票据信息(ticketinfo)并用认证网关的密钥加密,

其中第一票据信息(ticketinfo)至少包括客户端网络地址、和/或第一票据消息(Tcg)的有效期。

可选地,第一获取单元用于:用客户端的私钥解密第一应答消息(MsgB),从而得到客户端与认证网关间会话密钥(Kcg)。

可选地,在认证网关存储有客户端标识(ClientID)与相应的客户端网 络地址的对应关系表,第一票据信息(ticketinfo)中的客户端网络地址基于认证请求中的客户端标识(ClientID)从对应关系表中获得,和/或第一票据信息(ticketinfo)中的第一票据消息(Tcg)的有效期是在生成第一票据消息(Tcg)时分配的。

可选地,所述第一验证消息(MsgC)至少包括:用获取的客户端与认证网关间会话密钥(Kcg)加密的包括客户端选作时间戳的第一随机数、客户端标识(ClientID)、服务器标识(ServerID)、第一票据信息(ticketinfo)、第一票据消息(Tcg)的消息摘要的序列;第一票据消息(Tcg),其中第一票据信息(ticketinfo)至少包括客户端网络地址、和/或第一票据消息(Tcg)的有效期。第一验证包括:

用客户端与认证网关间会话密钥(Kcg)解密加密的序列,以获得第一票据消息(Tcg)的消息摘要;

从第一票据消息(Tcg)的消息摘要还原出第一票据消息(Tcg);

将还原出的第一票据消息(Tcg)与第一验证消息(MsgC)中序列外的第一票据消息(Tcg)进行对比。

可选地,第一验证还包括:

判断序列中的第一随机数是否是新随机数。

可选地,所述第一验证消息(MsgC)在序列外还包括服务器标识(ServerID),且

第一验证还包括:

将解密后的序列中的服务器标识(ServerID)与序列外的服务器标识(ServerID)进行对比。

可选地,第一验证还包括:

根据解密后的序列中的客户端标识(ClientID),查找存储有客户端标识(ClientID)与相应的客户端网络地址的对应关系表,以获得客户端网络地址;

将获得的客户端网络地址与解密后的序列中的客户端网络地址比对。

可选地,第一验证还包括:

将解密后的序列中的第一票据消息(Tcg)的有效期与当前时间对比。

可选地,所述认证网关第一验证通过后的应答包括第二应答消息(MsgD)和第二票据消息(Tsg),其中

第二应答消息(MsgD)包括第二票据信息(ticketinfo2)、服务器标识(ServerID)、以及客户端与服务器间会话密钥(Kcs),并用客户端与认证网关间会话密钥(Kcg)加密;

第二票据消息(Tsg)包括客户端标识(ClientID)、客户端与服务器间会话密钥(Kcs)、以及第二票据信息(ticketinfo2),并用服务器的公钥(Kspk)加密,

其中第二票据信息(ticketinfo2)至少包括客户端网络地址、和/或第二票据消息(Tsg)的有效期。

可选地,第二获取单元用于:

用客户端与认证网关间会话密钥(Kcg)解密加密的第二应答消息(MsgD),从而获得客户端与服务器间会话密钥(Kcs)。

可选地,在认证网关存储有客户端标识(ClientID)与相应的客户端网络地址的对应关系表,第二票据信息(ticketinfo2)中的客户端网络地址基于解密后的序列内的客户端标识(ClientID)从对应关系表中获得,和/或第二票据信息(ticketinfo2)中的第二票据消息(Tsg)的有效期是在生成第二票据消息(Tsg)时分配的。

可选地,所述第二验证消息(MsgE)至少包括:用获取的客户端与服务器间会话密钥(Kcs)加密的包括所述第一随机数、客户端标识(ClientID)、第二票据信息(ticketinfo2)、第二票据消息(Tsg)的消息摘要的序列;第二票据消息(Tsg),其中第二票据信息(ticketinfo2)至少包括客户端网络地址、和/或第二票据消息(Tsg)的有效期。第二验证包括:

用服务器的私钥解密第二验证消息(MsgE)中序列外的第二票据消息(Tsg),从而获得客户端与服务器间会话密钥(Kcs);

用获得的客户端与服务器间会话密钥(Kcs)解密加密的序列,以获得第二票据消息(Tsg)的消息摘要;

从第二票据消息(Tsg)的消息摘要还原出第二票据消息(Tsg);

将还原出的第二票据消息(Tsg)与第二验证消息(MsgE)中序列外的第二票据消息(Tsg)进行对比。

可选地,第二验证还包括:

判断序列中的第一随机数是否是新随机数。

可选地,第二验证还包括:

根据解密后的序列中的客户端标识(ClientID),查找存储有客户端标识(ClientID)与相应的客户端网络地址的对应关系表,以获得客户端网络地址;

将获得的客户端网络地址与解密后的序列中的客户端网络地址比对。

可选地,第二验证还包括:

将解密后的序列中的第二票据消息(Tsg)的有效期与当前时间对比。

可选地,所述服务器第二验证通过后的验证通过消息包括用服务器获得的客户端与服务器间会话密钥(Kcs)加密的服务器选作时间戳的第二随机数。

可选地,所述客户端与服务器之间的Kerberos认证所需的、客户端与密钥分配中心(KDC)共享的客户端私钥是由密钥分配中心(KDC)上部署的管理代理在客户端和密钥分配中心(KDC)分配并更新的。

可选地,所述客户端与服务器之间的Kerberos认证中客户端与密钥分配中心(KDC)之间的时间同步是通过认证网关监视客户端与密钥分配中心(KDC)的时间戳,并在时间戳不一致的情况下,将密钥分配中心(KDC)的时间戳通知到客户端以更新客户端的时间戳实现的。

图8是根据本发明一个实施例的云环境下的认证网关的认证装置4的框图。所述云环境包括客户端和服务器,所述客户端与所述服务器通过密钥分配中心(KDC)进行Kerberos认证,并在所述密钥分配中心(KDC)与所述客户端之间设置认证网关。所述认证装置4包括:

第二接收单元410,用于从客户端接收认证请求,从而启动客户端与服务器之间的Kerberos认证,在所述Kerberos认证中,认证网关在密钥分配中心(KDC)无故障的情况下对Kerberos认证中客户端向密钥分配中心(KDC)发送的消息以及密钥分配中心(KDC)向客户端发送的消息在客户端和密钥分配中心(KDC)进行透明传输;

第一应答单元420,用于在发现密钥分配中心(KDC)故障的情况下,向客户端发出对所述认证请求的应答,其中对所述认证请求的应答中含有响应于发现密钥分配中心(KDC)故障而分配的客户端与认证网关间会话密钥(Kcg);

第三接收单元430,用于从客户端接收与所述客户端与认证网关间会话 密钥(Kcg)有关的第一验证消息(MsgC);

第一验证单元440,用于基于第一验证消息(MsgC)进行第一验证;

第二应答单元450,用于向客户端发送第一验证通过后的应答,其中第一验证通过后的应答中含有客户端与服务器间会话密钥(Kcs)。

可选地,所述认证请求中包含客户端标识(ClientID)。

可选地,对所述认证请求的应答包括第一应答消息(MsgB)和第一票据消息(Tcg)。第一应答消息(MsgB)包括认证网关标识(GatewayID)、响应于发现密钥分配中心(KDC)故障而分配的客户端与认证网关间会话密钥(Kcg)、第一票据信息(ticketinfo)并用客户端的公钥加密。第一票据消息(Tcg)包括客户端标识(ClientID)、响应于发现密钥分配中心(KDC)故障而分配的客户端与认证网关间会话密钥(Kcg)、第一票据信息(ticketinfo)并用认证网关的密钥加密。第一票据信息(ticketinfo)至少包括客户端网络地址、和/或第一票据消息(Tcg)的有效期。

可选地,第一票据信息(ticketinfo)中的客户端网络地址基于认证请求中的客户端标识(ClientID)从存储有客户端标识(ClientID)与相应的客户端网络地址的对应关系表中获得,和/或第一票据信息(ticketinfo)中的第一票据消息(Tcg)的有效期是在生成第一票据消息(Tcg)时分配的。

可选地,所述第一验证消息(MsgC)至少包括:用获取的客户端与认证网关间会话密钥(Kcg)加密的包括客户端选作时间戳的第一随机数、客户端标识(ClientID)、服务器标识(ServerID)、第一票据信息(ticketinfo)、第一票据消息(Tcg)的消息摘要的序列;第一票据消息(Tcg),其中第一票据信息(ticketinfo)至少包括客户端网络地址、和/或第一票据消息(Tcg)的有效期。第一验证包括:

用客户端与认证网关间会话密钥(Kcg)解密加密的序列,以获得第一票据消息(Tcg)的消息摘要;

从第一票据消息(Tcg)的消息摘要还原出第一票据消息(Tcg);

将还原出的第一票据消息(Tcg)与第一验证消息(MsgC)中序列外的第一票据消息(Tcg)进行对比。

可选地,第一验证还包括:判断序列中的第一随机数是否是新随机数。

可选地,所述第一验证消息(MsgC)在序列外还包括服务器标识(ServerID)。第一验证还包括:将解密后的序列中的服务器标识(ServerID) 与序列外的服务器标识(ServerID)进行对比。

可选地,第一验证还包括:

根据解密后的序列中的客户端标识(ClientID),查找存储有客户端标识(ClientID)与相应的客户端网络地址的对应关系表,以获得客户端网络地址;

将获得的客户端网络地址与解密后的序列中的客户端网络地址比对。

可选地,第一验证还包括:将解密后的序列中的第一票据消息(Tcg)的有效期与当前时间对比。

可选地,所述认证网关第一验证通过后的应答包括第二应答消息(MsgD)和第二票据消息(Tsg)。第二应答消息(MsgD)包括第二票据信息(ticketinfo2)、服务器标识(ServerID)、以及客户端与服务器间会话密钥(Kcs),并用客户端与认证网关间会话密钥(Kcg)加密;第二票据消息(Tsg)包括客户端标识(ClientID)、客户端与服务器间会话密钥(Kcs)、以及第二票据信息(ticketinfo2),并用服务器的公钥(Kspk)加密。第二票据信息(ticketinfo2)至少包括客户端网络地址、和/或第二票据消息(Tsg)的有效期。

可选地,所述客户端与服务器之间的Kerberos认证所需的、客户端与密钥分配中心(KDC)共享的客户端私钥是由密钥分配中心(KDC)上部署的管理代理在客户端和密钥分配中心(KDC)分配并更新的。

可选地,认证装置还包括:

监视单元(图中未示),用于在所述客户端与服务器之间的Kerberos认证中,监视客户端与密钥分配中心(KDC)的时间戳;

通知单元(图中未示),用于在客户端与密钥分配中心(KDC)的时间戳不一致的情况下,将密钥分配中心(KDC)的时间戳通知到客户端,从而更新客户端的时间戳。

图9是根据本发明一个实施例的云环境下的服务器的认证装置5的框图。所述云环境包括客户端和服务器,所述客户端与所述服务器通过密钥分配中心(KDC)进行Kerberos认证,并在所述密钥分配中心(KDC)与所述客户端之间设置认证网关,在所述Kerberos认证中,认证网关在密钥分配中心(KDC)无故障的情况下对Kerberos认证中客户端向密钥分配中心 (KDC)发送的消息以及密钥分配中心(KDC)向客户端发送的消息在客户端和密钥分配中心(KDC)进行透明传输。所述认证装置5包括:

第四接收单元510,用于从客户端接收与客户端从认证网关获取的客户端与服务器间会话密钥(Kcs)有关的第二验证消息(MsgE);

第二验证单元520,用于基于第二验证消息(MsgE)进行第二验证;

第四发送单元530,用于向客户端发送第二验证通过后的验证通过消息。

可选地,所述第二验证消息(MsgE)至少包括:用获取的客户端与服务器间会话密钥(Kcs)加密的包括所述第一随机数、客户端标识(ClientID)、第二票据信息(ticketinfo2)、第二票据消息(Tsg)的消息摘要的序列;第二票据消息(Tsg),其中第二票据信息(ticketinfo2)至少包括客户端网络地址、和/或第二票据消息(Tsg)的有效期。第二验证包括:

用服务器的私钥解密第二验证消息(MsgE)中序列外的第二票据消息(Tsg),从而获得客户端与服务器间会话密钥(Kcs);

用获得的客户端与服务器间会话密钥(Kcs)解密加密的序列,以获得第二票据消息(Tsg)的消息摘要;

从第二票据消息(Tsg)的消息摘要还原出第二票据消息(Tsg);

将还原出的第二票据消息(Tsg)与第二验证消息(MsgE)中序列外的第二票据消息(Tsg)进行对比。

可选地,第二验证还包括:判断序列中的第一随机数是否是新随机数。

可选地,第二验证还包括:

根据解密后的序列中的客户端标识(ClientID),查找存储有客户端标识(ClientID)与相应的客户端网络地址的对应关系表,以获得客户端网络地址;

将获得的客户端网络地址与解密后的序列中的客户端网络地址比对。

可选地,第二验证还包括:将解密后的序列中的第二票据消息(Tsg)的有效期与当前时间对比。

可选地,所述第二验证通过后的验证通过消息包括用获得的客户端与服务器间会话密钥(Kcs)加密的、服务器选作时间戳的第二随机数。

图7-9中的各单元可以采用软件、硬件(例如集成电路、FPGA等)、或软硬件结合的方式实现。

现在参考图10,其示出了按照本发明一个实施例的云环境下的客户端110的通用结构框图。客户端110可以包括存储器910和处理器920。存储器910可以存储可执行指令。处理器920可以根据存储器910所存储的可执行指令,实现图7中的各个单元所执行的操作。

现在参考图11,其示出了按照本发明一个实施例的云环境下的认证单元140的通用结构框图。客户端140可以包括存储器1110和处理器1120。存储器1110可以存储可执行指令。处理器1120可以根据存储器1110所存储的可执行指令,实现图8中的各个单元所执行的操作。

现在参考图12,其示出了按照本发明一个实施例的云环境下的服务器130的通用结构框图。客户端130可以包括存储器1210和处理器1220。存储器1210可以存储可执行指令。处理器1220可以根据存储器1210所存储的可执行指令,实现图9中的各个单元所执行的操作。

此外,本发明实施例还提供一种机器可读介质,其上存储有可执行指令,当所述可执行指令被执行时,使得机器执行处理器920所实现的操作。

此外,本发明实施例还提供一种机器可读介质,其上存储有可执行指令,当所述可执行指令被执行时,使得机器执行处理器1120所实现的操作。

此外,本发明实施例还提供一种机器可读介质,其上存储有可执行指令,当所述可执行指令被执行时,使得机器执行处理器1220所实现的操作。

本领域技术人员应当理解,上面所公开的各个实施例,可以在不偏离发明实质的情况下做出各种变形和改变。因此,本发明的保护范围应当由所附的权利要求书来限定。

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