主站与终端的认证方法、主站、终端及存储介质与流程

文档序号:23391805发布日期:2020-12-22 13:58阅读:222来源:国知局
主站与终端的认证方法、主站、终端及存储介质与流程
本发明涉及计算机信息安全
技术领域
,尤其涉及一种主站与终端的认证方法、一种主站、一种终端及一种计算机可读存储介质。
背景技术
:近年来,国家电网公司一直在全面推进用电信息采集系统的建设,在建设过程中需要大量的终端设备参与配合以进行数据信息的采集,这就需要建设系统主站、传输信道、终端设备以及电子式电能表。在该系统中,为了保证主站与终端之间的通信安全,防止通过公共网络对主站进行攻击造成用户供电中断,以及防止通过公共网络和用户终端入侵主站造成更大范围的安全风险,这就需要在主站与终端之间建立安全认证机制,从而实现主站与终端之间进行数据交互的安全防护。相关技术中,在主站与终端进行认证时,主要进行对称的外部认证,认证通过后再进行正常的业务操作。该方式虽然认证速度快、效率高,但是认证使用的加密密钥和解密密钥很容易泄露和被破解,认证信息存在不安全风险。技术实现要素:本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种主站与终端的认证方法,采用对称加密算法与非对称加密算法相结合的方式进行主站与终端之间的认证,不仅认证速度快、效率高,而且安全性高,有利于提高数据交互的安全性。本发明的第二个目的在于提出另一种主站与终端的认证方法。本发明的第三个目的在于提出一种主站。本发明的第四个目的在于提出一种终端。本发明的第五个目的在于提出一种计算机可读存储介质。为达到上述目的,本发明第一方面实施例提出了一种主站与终端的认证方法,包括以下步骤:主站向终端发起会话密钥协商以获得第一会话密钥;在获得第一会话密钥后,主站向终端发送第一认证报文,第一认证报文包括第一认证标识、第一非对称密钥索引、第一对称密钥索引和第一数据报文,第一数据报文包括主站生成的第一随机数和主站利用第一会话密钥对第一随机数进行加密生成的第一加密密文;主站接收终端发送的第一认证响应报文,第一认证响应报文包括终端利用第一非对称密钥索引对第一随机数和终端生成的第二随机数进行数字签名生成的第一签名信息;主站验证第一签名信息的正确性,并在验证通过后完成对终端的认证。根据本发明实施例的主站与终端的认证方法,通过采用对称加密算法与非对称加密算法相结合的方式进行主站与终端之间的认证,不仅认证速度快、效率高,而且安全性高,有利于提高数据交互的安全性。为达到上述目的,本发明第二方面实施例提出了另一种主站与终端的认证方法,包括以下步骤:终端接收主站发起的会话密钥协商以获得第一会话密钥;在获得第一会话密钥后,终端接收主站发送的第一认证报文,第一认证报文包括第一认证标识、第一非对称密钥索引、第一对称密钥索引和第一数据报文,第一数据报文包括主站生成的第一随机数和主站利用第一会话密钥对第一随机数进行加密生成的第一加密密文;终端利用第一对称密钥索引对第一加密密文进行解密获得第三随机数,并确定第三随机数与第一随机数是否相同,以及在相同时利用第一非对称密钥索引对第一随机数和终端生成的第二随机数进行数字签名生成第一签名信息,并根据第一签名信息生成第一认证响应报文发送给主站,以便主站在验证第一签名信息正确后完成对终端的认证。根据本发明实施例的数据主站与终端的认证方法,通过采用对称加密算法与非对称加密算法相结合的方式进行主站与终端之间的认证,不仅认证速度快、效率高,而且安全性高,有利于提高数据交互的安全性。为达到上述目的,本发明第三方面实施例提出了一种主站,包括第一协商单元、第一发送单元、随机数生成单元、第一接收单元和第一处理单元,其中,第一协商单元,用于向终端发起会话密钥协商以获得第一会话密钥;第一发送单元,用于在获得第一会话密钥后向终端发送第一认证报文,第一认证报文包括第一认证标识、第一非对称密钥索引、第一对称密钥索引和第一数据报文,第一数据报文包括随机数生成单元生成的第一随机数和第一处理单元利用第一会话密钥对第一随机数进行加密生成的第一加密密文;第一接收单元,用于接收终端发送的第一认证响应报文,第一认证响应报文包括终端利用第一非对称密钥索引对第一随机数和终端生成的第二随机数进行数字签名生成的第一签名信息;第一处理单元,用于验证第一签名信息的正确性,并在验证通过后完成对终端的认证。根据本发明实施例的主站,通过采用对称加密算法与非对称加密算法相结合的方式进行其与终端之间的认证,不仅认证速度快、效率高,而且安全性高,有利于提高数据交互的安全性。为达到上述目的,本发明第四方面实施例提出了一种终端,包括第一协商单元、第一接收单元、随机数生成单元、第一处理单元和第一发送单元,其中,第一协商单元,用于接收主站发起的会话密钥协商以获得第一会话密钥;第一接收单元,用于接收主站发送的第一认证报文,第一认证报文包括第一认证标识、第一非对称密钥索引、第一对称密钥索引和第一数据报文,第一数据报文包括主站生成的第一随机数和主站利用第一会话密钥对第一随机数进行加密生成的第一加密密文;第一处理单元,用于利用第一对称密钥索引对第一加密密文进行解密获得第三随机数,并确定第三随机数与第一随机数是否相同,以及在相同时利用第一非对称密钥索引对第一随机数和随机数生成单元生成的第二随机数进行数字签名生成第一签名信息,并根据第一签名信息生成第一认证响应报文;第一发送单元,用于将第一认证响应报文发送给主站,以便主站在验证第一签名信息正确后完成对终端的认证。根据本发明实施例的终端,通过采用对称加密算法与非对称加密算法相结合的方式进行其与主站之间的认证,不仅认证速度快、效率高,而且安全性高,有利于提高数据交互的安全性。为达到上述目的,本发明第五方面实施例提出了一种计算机可读存储介质,用于存储计算机程序,计算机程序被处理器执行时实现上述第一方面实施例的方法或者上述第二方面实施例的方法。根据本发明实施例的计算机可读存储介质,通过采用对称加密算法与非对称加密算法相结合的方式进行主站与终端之间的认证,不仅认证速度快、效率高,而且安全性高,有利于提高数据交互的安全性。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明图1为根据本发明第一个实施例的主站与终端的认证方法的流程图;图2为根据本发明第二个实施例的主站与终端的认证方法的流程图;图3为根据本发明第一个实施例的主站与终端会话密钥协商的流程图;图4为根据本发明第三个实施例的主站与终端的认证方法的流程图;图5为根据本发明实施例的主站的示意图;图6为根据本发明实施例的终端的示意图。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。下面参考附图描述本发明实施例提出的主站与终端的认证方法、主站、终端及计算机可读存储介质。在本申请中,主站与终端的认证过程可分成两步:第一步是主站与终端之间的会话密钥协商以获得会话密钥;第二步是使用协商获得的会话密钥进行主站与终端之间的认证操作。图1为根据本发明第一个实施例的主站与终端的认证方法的流程图,该流程图是从主站的角度描述的,该主站与终端的认证方法包括以下步骤:步骤s101,主站向终端发起会话密钥协商以获得第一会话密钥。具体地,在主站与终端进行通信之前,可先进行主站与终端之间的会话密钥协商以获得第一会话密钥ks,然后利用该会话密钥进行认证操作,能够有效提高认证的安全性,进而提高数据交互的安全性,具体过程参见后文描述。步骤s102,在获得第一会话密钥后,主站向终端发送第一认证报文,第一认证报文包括第一认证标识、第一非对称密钥索引、第一对称密钥索引和第一数据报文,第一数据报文包括主站生成的第一随机数和主站利用第一会话密钥对第一随机数进行加密生成的第一加密密文。具体地,在通过会话密钥协商获得第一会话密钥ks后,可利用第一会话密钥ks由主站对终端进行认证操作。此时,主站先向终端发送第一认证报文,该认证报文可包括第一认证标识、第一非对称密钥索引kid11、第一对称密钥索引kid12和第一数据报文,第一数据报文可进一步包括主站生成的第一随机数r1和主站利用第一会话密钥ks对第一随机数r1进行加密生成的第一加密密文。在一个具体示例中,第一认证报文可如表1所示:表1在表1中,cla为指令类别,其值可以为80,表示该报文为命令报文;ins为指令类别中的指令代码,其值可以为12,表示该报文用于主站对终端的认证;p1和p2为参数,其值分别为第一非对称密钥索引kid11和第一对称密钥索引kid12;lc表示后续数据data的长度;data表示需要处理的数据,其可由主站生成的第一随机数r1以及由主站利用第一会话密钥ks对第一随机数r1进行加密生成的第一加密密文构成。步骤s103,主站接收终端发送的第一认证响应报文,第一认证响应报文包括终端利用第一非对称密钥索引对第一随机数和终端生成的第二随机数进行数字签名生成的第一签名信息。具体地,在终端接收到主站发送的第一认证报文后,终端可先利用第一对称密钥索引kid12对第一加密密文进行解密得到第三随机数r3,并判断第三随机数r3与第一随机数r1是否相同,如果相同,则利用第一非对称密钥索引kid11中的公钥对第一随机数r1和密钥协商过程中终端生成的第二随机数r2进行数字签名生成第一签名信息s1。然后,根据第一签名信息s1生成第一认证响应报文发送给主站,即第一认证响应报文如表2所示:表2data认证响应报文1:(r1+r2)签名s1(64bytes)步骤s104,主站验证第一签名信息的正确性,并在验证通过后完成对终端的认证。具体地,在主站接收到终端发送的第一认证响应报文后,主站验证第一签名信息s1的正确性,例如利用第一随机数r1和会话密钥协商中终端生成的第二随机数r2验证第一签名信息s1的正确性,在验证通过后,确认该终端为合法终端,至此完成了主站对终端的合法性认证,后续利用会话密钥协商中生成的第一会话密钥ks进行数据传输等。根据本发明实施例的主站与终端的认证方法,通过采用对称加密算法与非对称加密算法相结合的方式,并配合签名的防抵赖方法完成主站与终端之间的认证,以便在主站与终端之间建立安全链接,实现对两者之间的业务安全进行保护,相较于采用单一的对称或非对称加密算法的认证方式,不仅认证速度快、效率高,而且安全性和可靠性高,有利于提高数据交互的安全性。图2为根据本发明第二个实施例的主站与终端的认证方法的流程图,该流程图是从主站的角度描述的,该主站与终端的认证方法包括以下步骤:步骤s201,主站向终端发起会话密钥协商以获得第一会话密钥。具体地,在主站与终端进行通信之前,可先进行主站与终端之间的会话密钥协商以获得第一会话密钥ks,然后利用该会话密钥进行认证操作,能够有效提高认证的安全性,进而提高数据交互的安全性,具体过程参见后文描述。步骤202,在获得第一会话密钥后,主站向终端发送第二认证报文,第二认证报文包括第二认证标识、第二非对称密钥索引、第二对称密钥索引和第二数据报文,第二数据报文包括主站利用第二非对称密钥索引对第二随机数进行数字签名生成的第二签名信息和主站利用第一会话密钥对第二随机数进行加密生成的第二加密密文,以便终端在验证第二签名信息和第二随机数正确后完成对主站的认证。具体地,在通过会话密钥协商获得第一会话密钥ks后,可利用第一会话密钥ks由终端对主站进行认证操作。此时,主站先向终端发送第二认证报文,该认证报文可包括第二认证标识、第二非对称密钥索引kid21、第二对称密钥索引kid22和第二数据报文,第二数据报文可进一步包括主站利用第二非对称密钥索引kid21对会话密钥协商中终端生成的第二随机数r2进行数字签名形成的第二签名信息s2,以及利用第一会话密钥ks对第二随机数r2进行加密生成的第二加密密文。在一个具体示例中,第二认证报文可如表3所示:表3在表3中,cla为指令类别,其值可以为80,表示该报文为命令报文;ins为指令类别中的指令代码,其值可以为14,表示该报文用于终端对主站的认证;p1和p2为参数,其值分别为第二非对称密钥索引kid21和第二对称密钥索引kid22;lc表示后续数据data的长度;data表示需要处理的数据,其可由主站利用第二非对称密钥索引kid21中的私钥对会话密钥协商中终端生成的第二随机数r2进行数字签名形成的第二签名信息s2和利用第一会话密钥ks对第二随机数r2进行加密生成的第二加密密文构成。终端在接收到主站发送的第二认证报文后,验证第二签名信息s2和第二随机数r2的正确性,例如利用第二非对称密钥索引kid21中的公钥验证第二签名信息s2的正确性,在验证通过后,利用第一会话密钥ks验证第二随机数r2的正确性,并在验证通过后,确认主站为合法主站,至此完成终端对主站的合法性认证,后续利用会话密钥协商中生成的第一会话密钥ks进行数据传输等。根据本发明实施例的主站与终端的认证方法,通过采用对称加密算法与非对称加密算法相结合的方式,并配合签名的防抵赖方法完成主站与终端之间的认证,以便在主站与终端之间建立安全链接,实现对两者之间的业务安全进行保护,相较于采用单一的对称或非对称加密算法的认证方式,不仅认证速度快、效率高,而且安全性和可靠性高,有利于提高数据交互的安全性。需要说明的是,在实际应用中,可以根据实际应用安全需求来选择相应的认证方式。例如,仅通过主站对终端进行认证,或者仅通过终端对主站进行认证,或者同时通过主站对终端进行认证和通过终端对主站进行认证,认证方式灵活、多样,且采用的认证方式越多安全性越高。根据本发明的一个实施例,参考图3所示,主站向终端发起会话密钥协商以获得第一会话密钥,包括:步骤301,主站向终端发送第一协商报文,第一协商报文包括会话密钥协商标识、第三非对称密钥索引、第三对称密钥索引和第三数据报文,第三数据报文包括主站的id、终端的id和主站利用第三非对称密钥索引对主站和终端的id进行数字签名生成的第三签名信息。具体而言,在进行会话密钥协商时,可由主站向终端发送第一协商报文以启动会话密钥协商流程。该协商报文可包括会话密钥协商标识、第三非对称密钥索引kid31、第三对称密钥索引kid32和第三数据报文,第三数据报文可进一步包括由主站获取的自身的id、需要进行数据交互的终端的id、以及利用第三非对称密钥索引kid31对自身和终端的id进行数字签名生成的第三签名信息s3。在一个具体示例中,第一协商报文可如表4所示:表4在表4中,cla为指令类别,其值可以为80,表示该报文为命令报文;ins为指令类别中的指令代码,其值可以为10,表示该报文用于主站与终端之间的会话密钥协商;p1和p2为参数,其值分别为第三非对称密钥索引kid31和第三对称密钥索引kid32;lc表示后续数据data的长度;data表示需要处理的数据,其可由终端的id、主站自身的id以及通过第三非对称密钥索引kid31中的私钥对主站和终端的id进行数字签名形成的第三签名信息s3构成。步骤302,主站接收终端发送的第一协商响应报文,第一协商响应报文包括第二随机数,和,终端利用第三对称密钥索引对第二随机数使用会话密钥算法生成第二会话密钥、并利用第三非对称密钥索引对第二会话密钥和主站的id进行数字签名生成的第四签名信息。具体而言,在终端接收到主站发送的第一协商报文后,终端先验证第三签名信息s3的正确性,例如利用第三非对称密钥索引kid31中的公钥验证第三签名信息s3的正确性。在验证通过后,终端生成第二随机数r2,并利用第三对称密钥索引kid32对第二随机数r2使用密钥协商算法进行操作,生成第二会话密钥ks’,以及利用第三非对称密钥索引kid31中的私钥对第二会话密钥ks’和主站的id进行数字签名形成第四签名信息s4。然后,将第四签名信息s4和第二随机数r2合并成第一协商响应报文发送给主站,即第一协商响应报文如表5所示:表5步骤303,主站验证第二随机数的正确性,并在验证通过后利用第三对称密钥索引对第二随机数使用会话密钥算法生成第一会话密钥以完成会话密钥协商。具体而言,主站在接收到终端发送的第二认证响应报文后,先验证第二随机数r2的正确性,在验证通过后,保存第二随机数r2,并计算得到第一会话密钥ks,例如利用第三对称密钥索引kid32对第二随机数r2使用会话密钥算法生成第一会话密钥ks,至此完成主站与终端之间的会话密钥协商。根据本发明实施例的主站与终端之间的认证方法,在主站与终端进行认证之前,先进行会话密钥协商获得会话密钥,以便在后续的会话流程中采用协商后的会话密钥进行加解密操作,有效提高了会话的安全性。并且,会话密钥可根据用户需求采用不同安全等级和安全强度的算法生成,从而保证会话密钥的随机性、唯一性和安全性。根据本发明的一个实施例,在认证完成后,主站与终端之间的认证方法还包括:主站利用第一会话密钥进行数据的加解密处理,并判断第一会话密钥的生命周期是否达到预设生命周期;如果是,主站则重新向终端发起会话密钥协商。进一步地,根据本发明的一个实施例,主站判断第一会话密钥的生命周期是否达到预设生命周期,包括:主站判断主站与终端的通信次数是否达到预设次数;如果是,则判定第一会话密钥的生命周期达到预设生命周期。具体地,为了保证主站与终端之间会话的安全,在使用协商的会话密钥进行数据加密、解密处理时,可对会话密钥设置生命周期限制,例如当会话密钥的使用次数达到一定次数限制后,会话密钥失效,此时需要由主站重新发起一次会话密钥协商流程,以协商新的会话密钥。例如设置会话密钥的生命周期为10000次,那么会话密钥最多能使用10000次,10000次达到后,需要重新进行会话密钥协商,之后才能再次进行通信,从而保证了会话密钥的失效和安全。在实际应用中,也可以设置主站与终端之间的通信次数,当通信次数达到次数限制后,会话密钥失效,此时由主站重新发起一次会话密钥协商流程。根据本发明实施例的主站与终端的认证方法,在主站与终端初次认证之前,先进行会话密钥协商,以便建立两者之间的通信联系,获得两者之间后续交互流程的会话密钥,在会话密钥协商完成后,根据实际安全需求选择不同的认证方式,如由主站对终端进行认证和/或终端对主站进行认证,完成主站与终端之间的安全认证,而当主站与终端已有过会话,但会话密钥已经失效,此时需要重新进行会话密钥协商,以保证会话密钥的安全性。同时,在进行会话密钥协商以及主站与终端之间的认证时,采用对称加密算法和非对称加密算法相结合的方式,并配合签名、对称密钥等安全机制,提高了认证的安全性,有利于提高后续数据交互的安全性。上文是从主站的角度对本发明提出的主站与终端的认证方法进行了解释说明,下文将从终端的角度对本发明提出的认证方法进行解释说明。图4为根据本发明第三个实施例的主站与终端之间的认证方法的流程图,该流程图是从终端的角度描述的,主站与终端之间的认证方法包括以下步骤:步骤s401,终端接收主站发起的会话密钥协商以获得第一会话密钥。步骤s402,在获得第一会话密钥后,终端接收主站发送的第一认证报文,第一认证报文包括第一认证标识、第一非对称密钥索引、第一对称密钥索引和第一数据报文,第一数据报文包括主站生成的第一随机数和主站利用第一会话密钥对第一随机数进行加密生成的第一加密密文。步骤s403,终端利用第一对称密钥索引对第一加密密文进行解密获得第三随机数,并确定第三随机数与第一随机数是否相同,以及在相同时利用第一非对称密钥索引对第一随机数和终端生成的第二随机数进行数字签名生成第一签名信息,并根据第一签名信息生成第一认证响应报文发送给主站,以便主站在验证第一签名信息正确后完成对终端的认证。根据本发明的一个实施例,在获得第一会话密钥后,终端接收主站发送的第二认证报文,第二认证报文包括第二认证标识、第二非对称密钥索引、第二对称密钥索引和第二数据报文,第二数据报文包括主站利用第二非对称密钥索引对第二随机数进行数字签名生成的第二签名信息和主站利用第一会话密钥对第二随机数进行加密生成的第二加密密文;终端验证第二签名信息和第二随机数的正确性,并在验证通过后完成对主站的认证。根据本发明的一个实施例,终端接收主站发起的会话密钥协商以获得第一会话密钥,包括:终端接收主站发送的第一协商报文,第一协商报文包括会话密钥协商标识、第三非对称密钥索引、第三对称密钥索引和第三数据报文,第三数据报文包括主站的id、终端的id和主站利用第三非对称密钥索引对主站和终端的id进行数字签名生成的第三签名信息;终端验证第三签名信息的正确性,并在验证通过后生成第二随机数,以及利用第三对称密钥索引对第二随机数使用会话密钥算法生成第二会话密钥,并利用第三非对称密钥索引对第二会话密钥和主站的id进行数字签名生成第四签名信息,以及将第二随机数和第四签名信息合并生成第一协商响应报文发送给主站,以便主站在验证第二随机数正确后利用第三对称密钥索引对第二随机数使用会话密钥算法生成第一会话密钥以完成会话密钥协商。根据本发明的一个实施例,在认证完成后,方法还包括:终端利用第一会话密钥进行数据的加解密处理。需要说明的是,关于本申请中应用于终端的主站与终端的认证方法的详细描述,请参考本申请中关于应用于主站的认证方法的描述,具体这里不再赘述。根据本发明实施例的主站与终端的认证方法,在主站与终端初次认证之前,先进行会话密钥协商,以便建立两者之间的通信联系,获得两者之间后续交互流程的会话密钥,在会话密钥协商完成后,根据实际安全需求选择不同的认证方式,如由主站对终端进行认证和/或终端对主站进行认证,完成主站与终端之间的安全认证,而当主站与终端已有过会话,但会话密钥已经失效,此时需要重新进行会话密钥协商,以保证会话密钥的安全性。同时,在进行会话密钥协商以及主站与终端之间的认证时,采用对称加密算法和非对称加密算法相结合的方式,并配合签名、对称密钥等安全机制,提高了认证的安全性,有利于提高后续数据交互的安全性。另外,本发明还提出了一种主站和一种终端。图5为根据本发明实施例的主站的示意图,参考图5所示,主站包括第一协商单元11、第一发送单元12、随机数生成单元13、第一接收单元14和第一处理单元15,其中,第一协商单元11用于向终端发起会话密钥协商以获得第一会话密钥;第一发送单元12用于在获得第一会话密钥后向终端发送第一认证报文,第一认证报文包括第一认证标识、第一非对称密钥索引、第一对称密钥索引和第一数据报文,第一数据报文包括随机数生成单元13生成的第一随机数和第一处理单元利用第一会话密钥对第一随机数进行加密生成的第一加密密文;第一接收单元14用于接收终端发送的第一认证响应报文,第一认证响应报文包括终端利用第一非对称密钥索引对第一随机数和终端生成的第二随机数进行数字签名生成的第一签名信息;第一处理单元15用于验证第一签名信息的正确性,并在验证通过后完成对终端的认证。根据本发明的一个实施例,主站还包括第二发送单元和第二处理单元,第二发送单元用于向终端发送第二认证报文,第二认证报文包括第二认证标识、第二非对称密钥索引、第二对称密钥索引和第二数据报文,第二数据报文包括第二处理单元利用第二非对称密钥索引对第二随机数进行数字签名生成的第二签名信息和利用第一会话密钥对第二随机数进行加密生成的第二加密密文,以便终端在验证第二签名信息和第二随机数正确后完成对主站的认证。根据本发明的一个实施例,第一协商单元11具体用于向终端发送第一协商报文,第一协商报文包括会话密钥协商标识、第三非对称密钥索引、第三对称密钥索引和第三数据报文,第三数据报文包括主站的id、终端的id和第一协商单元11利用第三非对称密钥索引对主站和终端的id进行数字签名生成的第三签名信息;接收终端发送的第一协商响应报文,第一协商响应报文包括第二随机数,和,终端利用第三对称密钥索引对第二随机数使用会话密钥算法生成第二会话密钥、并利用第三非对称密钥索引对第二会话密钥和主站的id进行数字签名生成的第四签名信息;以及验证第二随机数的正确性,并在验证通过后利用第三对称密钥索引对第二随机数使用会话密钥算法生成第一会话密钥以完成会话密钥协商。根据本发明的一个实施例,主站还包括第三处理单元,用于利用第一会话密钥进行数据的加解密处理,并判断第一会话密钥的生命周期是否达到预设生命周期;如果是,则重新向终端发起会话密钥协商。根据本发明的一个实施例,第三处理单元具体用于判断主站与终端的通信次数是否达到预设次数;如果是,则判定第一会话密钥的生命周期达到预设生命周期。需要说明的是,关于本申请中主站的详细描述,请参考本申请中关于主站与终端的认证方法的描述,具体这里不再赘述。根据本发明实施例的主站,在其与终端初次认证之前,先进行会话密钥协商,以便建立两者之间的通信联系,获得两者之间后续交互流程的会话密钥,在会话密钥协商完成后,根据实际安全需求选择不同的认证方式,如由主站对终端进行认证和/或终端对主站进行认证,完成主站与终端之间的安全认证,而当主站与终端已有过会话,但会话密钥已经失效,此时需要重新进行会话密钥协商,以保证会话密钥的安全性。同时,在进行会话密钥协商以及主站与终端之间的认证时,采用对称加密算法和非对称加密算法相结合的方式,并配合签名、对称密钥等安全机制,提高了认证的安全性,有利于提高后续数据交互的安全性。图6为根据本发明实施例的终端的示意图,参考图6所示,终端包括第一协商单元21、第一接收单元22、随机数生成单元23、第一处理单元24和第一发送单元25,其中第一协商单元21用于接收主站发起的会话密钥协商以获得第一会话密钥;第一接收单元22用于接收主站发送的第一认证报文,第一认证报文包括第一认证标识、第一非对称密钥索引、第一对称密钥索引和第一数据报文,第一数据报文包括主站生成的第一随机数和主站利用第一会话密钥对第一随机数进行加密生成的第一加密密文;第一处理单元24用于利用第一对称密钥索引对第一加密密文进行解密获得第三随机数,并确定第三随机数与第一随机数是否相同,以及在相同时利用第一非对称密钥索引对第一随机数和随机数生成单元23生成的第二随机数进行数字签名生成第一签名信息,并根据第一签名信息生成第一认证响应报文;第一发送单元25用于将第一认证响应报文发送给主站,以便主站在验证第一签名信息正确后完成对终端的认证。根据本发明的一个实施例,终端还包括第二接收单元和第二处理单元,第二接收单元用于接收主站发送的第二认证报文,第二认证报文包括第二认证标识、第二非对称密钥索引、第二对称密钥索引和第二数据报文,第二数据报文包括主站利用第二非对称密钥索引对第二随机数进行数字签名生成的第二签名信息和主站利用第一会话密钥对第二随机数进行加密生成的第二加密密文;第二处理单元用于验证第二签名信息和第二随机数的正确性,并在验证通过后完成对主站的认证。根据本发明的一个实施例,第一协商单元21具体用于终端接收主站发送的第一协商报文,第一协商报文包括会话密钥协商标识、第三非对称密钥索引、第三对称密钥索引和第三数据报文,第三数据报文包括主站的id、终端的id和主站利用第三非对称密钥索引对主站和终端的id进行数字签名生成的第三签名信息;验证第三签名信息的正确性,并在验证通过后生成第二随机数,以及利用第三对称密钥索引对第二随机数使用会话密钥算法生成第二会话密钥,并利用第三非对称密钥索引对第二会话密钥和主站的id进行数字签名生成第四签名信息,以及将第二随机数和第四签名信息合并生成第一协商响应报文发送给主站,以便主站在验证第二随机数正确后利用第三对称密钥索引对第二随机数使用会话密钥算法生成第一会话密钥以完成会话密钥协商。根据本发明的一个实施例,终端还包括第三处理单元,用于利用第一会话密钥进行数据的加解密处理。需要说明的是,关于本申请中终端的详细描述,请参考本申请中关于主站与终端的认证方法的描述,具体这里不再赘述。根据本发明实施例的终端,在其与主站初次认证之前,先进行会话密钥协商,以便建立两者之间的通信联系,获得两者之间后续交互流程的会话密钥,在会话密钥协商完成后,根据实际安全需求选择不同的认证方式,如由主站对终端进行认证和/或终端对主站进行认证,完成主站与终端之间的安全认证,而当主站与终端已有过会话,但会话密钥已经失效,此时需要重新进行会话密钥协商,以保证会话密钥的安全性。同时,在进行会话密钥协商以及主站与终端之间的认证时,采用对称加密算法和非对称加密算法相结合的方式,并配合签名、对称密钥等安全机制,提高了认证的安全性,有利于提高后续数据交互的安全性。此外,本发明的实施例还提出了一种计算机可读存储介质,用于存储计算机程序,计算机程序被处理器执行时实现上述的主站与终端的认证方法。根据本发明实施例的可读存储介质,在主站与终端初次认证之前,先进行会话密钥协商,以便建立两者之间的通信联系,获得两者之间后续交互流程的会话密钥,在会话密钥协商完成后,根据实际安全需求选择不同的认证方式,如由主站对终端进行认证和/或终端对主站进行认证,完成主站与终端之间的安全认证,而当主站与终端已有过会话,但会话密钥已经失效,此时需要重新进行会话密钥协商,以保证会话密钥的安全性。同时,在进行会话密钥协商以及主站与终端之间的认证时,采用对称加密算法和非对称加密算法相结合的方式,并配合签名、对称密钥等安全机制,提高了认证的安全性,有利于提高后续数据交互的安全性。需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1