技术领域
[0001] 本申请涉及智能电网认证安全领域,具体而言,涉及一种智能电网的认证密钥协商方法、计算机可读存储介质、处理器和电子设备。
相关背景技术
[0002] 智能电网安全的第一道防线是加入智能电网的终端用户需要进行身份认证,并获得安全有效的会话密钥。同时,由于通过终端用户的电力数据(如用电负载、功耗、用电时长等)可以推断出用户类型及用户日常习惯,然而智能电表与控制中心的相互认证及密钥交换需要服务提供商参与,控制中心与服务商之间的相互认证及密钥交换需要智能电表参与,这就造成任意一方出现攻击者则整个认证系统失败,反而降低了通信效率。
[0003] 因此,亟需一种智能电网的认证密钥协商方法、计算机可读存储介质、处理器和电子设备。
具体实施方式
[0024] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0025] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0026] 需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0027] 正如背景技术中所介绍的,现有技术中,当出现攻击者攻击任意一方的情况时,由于双方相互认证需要第三方的随机数,从而使得通信效率低下,为解决上述问题,本申请的实施例提供了一种智能电网的认证密钥协商方法、计算机可读存储介质、处理器以及电子设备。
[0028] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0029] 本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种智能电网的认证密钥协商方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
[0030] 存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的设备信息的显示方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
[0031] 在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的智能电网的认证密钥协商方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0032] 图2是根据本申请实施例的智能电网的认证密钥协商方法的流程图。如图2所示,该方法包括以下步骤:
[0033] 步骤S201,控制中心接收智能电表的第一注册请求和第一身份标识号,并响应于上述第一注册请求,生成第一随机数,并基于上述第一随机数和上述第一身份标识号中的至少一个生成第一伪身份信息和第一激励信息,并通过安全通道将上述第一伪身份信息、第一公钥和上述第一激励信息发送给上述智能电表并接收上述智能电表发送的第一响应值,上述第一响应值为基于上述第一激励信息生成的。
[0034] 具体地,控制中心是一个重要的设施,它负责监控、管理和控制整个电网的运行。控制中心通常由专业的运营人员和监控系统组成,他们通过实时监视电网的运行情况,确保电网稳定、安全地运行。
[0035] 具体地,智能电表是一种具有智能功能的电表,它可以实时监测和记录电力使用情况,并通过通信技术将数据传输到电力公司或其他相关部门。智能电表可以实现远程抄表、计费和断电等功能,大大提高了电力公司的运营效率,减少了人工抄表的成本和误差。
[0036] 步骤S202,上述控制中心接收电力提供商的第二注册请求和第二身份标识号,并响应于上述第二注册请求,生成第二随机数,并基于上述第二随机数和上述第二身份标识号中的至少一个生成第二伪身份信息和第二激励信息,并通过安全通道将上述第二伪身份信息、第二公钥和上述第二激励信息发送给上述电力提供商并接收上述电力提供商发送的第二响应值,上述第二响应值为基于上述第二激励信息生成的。
[0037] 具体地,电力提供商是指从发电厂或其他可再生能源设施产生电力,并将其输送到电网中以供应商业和家庭用户的公司或实体。
[0038] 具体地,安全通道通常是指加密通信,确保数据在传输过程中不被窃取或篡改。这可以通过使用加密协议和技术来实现,如SSL/TLS加密通信、VPN隧道等。上述控制中心生成上述随机数、上述伪身份信息和上述激励信息,并通过安全通道将上述信息发送给上述电力提供商,并接收上述电力提供商发送的响应值。
[0039] 步骤S203,上述控制中心至少接收上述智能电表通过公开信道发送的用电数据请求,并触发对上述智能电表的身份进行认证,在认证通过的情况下,上述控制中心至少根据上述第一身份标识号、上述第一响应值和上述智能电表生成的第一加密信息计算出第一会话密钥,并将携带上述第一会话密钥的第一验证信息发送至上述智能电表,使得上述智能电表至少基于上述第一验证信息对上述控制中心进行第一身份认证,在认证通过的情况下,获得上述第一会话密钥,从而完成认证密钥交换。
[0040] 具体地,会话密钥是在通信过程中临时生成的加密密钥,用于保护通信内容的安全性。通常情况下,会话密钥只在通信双方的会话期间有效,一旦会话结束,密钥就会被销毁,从而确保通信内容的安全性。会话密钥通常是通过协商算法生成的,可以确保通信双方在通信过程中能够进行安全的数据传输。
[0041] 具体地,当上述控制中心接收到上述智能电表通过公开信道发送的用电数据请求后,触发对上述智能电表的身份进行认证,一旦认证通过,上述控制中心就会生成上述第一会话密钥,并将带有上述第一会话密钥的第一验证信息发送到上述智能电表,使得上述智能电表至少基于上述第一验证信息对上述控制中心进行第一身份认证,验证通过后,获得上述第一会话密钥,从而完成认证密钥交换。
[0042] 步骤S204,上述控制中心至少接收上述电力提供商通过上述公开信道提供的能源数据,并触发对上述电力提供商的身份进行认证,在认证通过的情况下,上述控制中心至少根据上述第二身份标识号、上述第二响应值和上述电力提供商生成的第二加密信息计算出第二会话密钥,并将携带上述第二会话密钥的第二验证信息发送至上述电力提供商,使得上述电力提供商至少基于上述第二验证信息对上述控制中心进行第二身份认证,在认证通过的情况下,获得上述第二会话密钥,从而完成认证密钥交换。
[0043] 具体地,当上述控制中心接收到上述电力提供商通过公开信道提供的能源数据后,触发对上述智能电表的身份进行认证,一旦认证通过,上述控制中心就会生成上述第二会话密钥,并将带有上述第二会话密钥的第二验证信息发送到上述电力提供商,使得上述电力提供商至少基于上述第二验证信息对上述控制中心进行第二身份认证,验证通过后,获得上述第二会话密钥,从而完成认证密钥交换。
[0044] 上述的实施例中,首先,控制中心接收智能电表的第一注册请求和第一身份标识号,并响应于上述第一注册请求,生成第一随机数,并基于上述第一随机数和上述第一身份标识号中的至少一个生成第一伪身份信息和第一激励信息,并通过安全通道将上述第一伪身份信息、第一公钥和上述第一激励信息发送给上述智能电表并接收上述智能电表发送的第一响应值;上述控制中心接收电力提供商的第二注册请求和第二身份标识号,并响应于上述第二注册请求,生成第二随机数,并基于上述第二随机数和上述第二身份标识号中的至少一个生成第二伪身份信息和第二激励信息,并通过安全通道将上述第二伪身份信息、第二公钥和上述第二激励信息发送给上述电力提供商并接收上述电力提供商发送的第二响应值;之后,上述控制中心至少接收上述智能电表通过公开信道发送的用电数据请求,并触发对上述智能电表的身份进行认证,在认证通过的情况下,上述控制中心至少根据上述第一身份标识号、上述第一响应值和上述智能电表生成的第一加密信息计算出第一会话密钥,并将携带上述第一会话密钥的第一验证信息发送至上述智能电表,使得上述智能电表至少基于上述第一验证信息对上述控制中心进行第一身份认证,在认证通过的情况下,获得上述第一会话密钥,从而完成认证密钥交换;上述控制中心至少接收上述电力提供商通过上述公开信道提供的能源数据,并触发对上述电力提供商的身份进行认证,在认证通过的情况下,上述控制中心至少根据上述第二身份标识号、上述第二响应值和上述电力提供商生成的第二加密信息计算出第二会话密钥,并将携带上述第二会话密钥的第二验证信息发送至上述电力提供商,使得上述电力提供商至少基于上述第二验证信息对上述控制中心进行第二身份认证,在认证通过的情况下,获得上述第二会话密钥,从而完成认证密钥交换。与现有技术中,在智能电表与控制中心之间以及控制中心与服务商之间,进行相互认证及密钥交换过程中,分别需要服务商和智能电表的参与导致通信效率低下的问题的方法相比,本方案在智能电表与控制中心之间以及控制中心与服务商之间,进行相互认证及密钥交换过程中,对智能电表和控制中心之间,控制中心和电力提供商之间分别提供双向认证及会话密钥生成,这个过程不需要第三方的随机数,这样在智能电表与控制中心之间以及控制中心与服务商之间,进行相互认证及密钥交换过程中,在任意一方出现攻击者攻击认证系统的情况下,两部分的通信互不影响,可以高效完成这两部分的通信过程,进而解决了在智能电表与控制中心之间以及控制中心与服务商之间,进行相互认证及密钥交换过程中,出现攻击者攻击任意一方的情况时,由于第三方的参与造成通信效率低的问题。
[0045] 本申请的一种实施例中,上述注册过程可以通过以下步骤实现:上述控制中心初始化公私钥对,得到上述第一公钥、第一私钥、上述第二公钥和第二私钥;确定上述控制中心对上述智能电表进行身份认证所用的单项哈希函数、签名算法和验签算法,上述单项哈希函数包含第一单项哈希函数和第二单项哈希函数,上述验签算法包含上述第一私钥或上述第二私钥。该方法中上述控制中心首先初始化了公私钥对,生成了上述第一公钥、第一私钥、上述第二公钥和第二私钥,并选择使用第一单向哈希函数和第二单向哈希函数来对数据进行哈希处理,上述控制中心利用包含上述第一私钥或上述第二私钥的上述验签算法对上述身份标识号和上述签名算法得到的伪身份信息对应的身份标识号进行验证,这样可以保证数据的安全性、真实性和完整性。
[0046] 本申请的一种实施例中,上述控制中心至少接收上述智能电表通过上述公开信道发送的用电数据请求,并触发对上述智能电表的身份进行认证,包括:上述控制中心接收上述智能电表通过上述公开信道发送的上述用电数据请求和第三验证信息,上述第三验证信息包括上述第一加密信息、第一验证码、上述第一伪身份信息和上述智能电表生成第三随机数时的第一时间戳;上述控制中心响应于上述第三验证信息,生成第二时间戳,并验证上述第二时间戳与上述第一时间戳之差是否在最大通信时间内,验证通过则利用第一验签算法验证上述第一伪身份信息与利用哈希运算对上述第一身份标识号和上述第一激励信息进行运算生成结果是否满足预设条件,上述预设条件为上述第一身份标识号和上述第一激励信息是真实有效的,并且上述第一身份标识号与上述第一伪身份信息所对应的上述第一身份标识号是匹配的,验证通过则验证MAC1*与上述第一验证码是否相同,上述MAC1*=h1(m1||TSIDi||RSMi||r1*||t1),上述MAC1*公式中的r1*=m1⊕h1(SIDi||RSMi),其中,h1为第一单项哈希函数,m1为上述第一加密信息,TSIDi为上述第一伪身份信息,RSMi为上述第一响应值,t1为上述第一时间戳,SIDi为上述第一身份标识号,该方法可以在上述控制中心与上述智能电表之间进行密钥交换时,更加高效的完成上述控制中心对上述智能电表的身份认证。
[0047] 具体地,上述控制中心接收到上述智能电表发送的上述用电数据请求和第三验证信息后,上述控制中心响应于上述第三验证信息,生成第二时间戳,并验证上述第二时间戳与第一时间戳之差是否在最大通信范围内,验证通过后利用第一验签算法验证上述第一身份标识号和上述第一激励信息是真实有效的,并且上述第一身份标识号与上述第一伪身份信息所对应的上述第一身份标识号是匹配的,验证通过后继续验证MAC1*与上述第一验证码是否相同。
[0048] 在另一种实施例中,基于上述第一随机数和上述第一身份标识号中的至少一个生成上述第一伪身份信息,包括:利用哈希运算对上述第一随机数和上述第一身份标识号计算得到第一哈希值,利用第一签名算法对上述第一哈希值计算得到上述第一伪身份信息,该方法可以有效防止身份信息被盗用或篡改,提高数据的安全性和可信度,上述第一加密信息为第二哈希值与上述第三随机数进行异或运算得到的,上述第二哈希值为上述第一身份标识号与上述第一响应值生成的。该方法进一步提高数据的安全性和可信度,上述第一验证码为上述第一加密信息、上述第一伪身份信息、上述第三随机数以及上述第一时间戳进行哈希运算得到的。该方法进一步使上述控制中心与上述智能电表进行密钥交换具有安全性和高效性。
[0049] 为了使得上述控制中心和上述智能电表进行密钥交换的过程中,进一步保证过程的安全性及高效性,本申请的一些实施例中,在认证通过的情况下,上述控制中心至少根据上述第一身份标识号、上述第一响应值和上述第一加密信息计算出第一会话密钥,包括:在认证通过的情况下,上述控制中心生成第四随机数,并采用哈希运算对上述第一身份标识号和上述第一响应值进行运算,生成第三哈希值;将上述第三哈希值与上述第一加密信息做异或操作得到第一预备密钥;对上述第一预备密钥与上述第四随机数进行哈希运算得到上述第一会话密钥。具体地,在智能电表身份认证通过的情况下,通过生成上述第四随机数,并采用上述哈希运算生成上述第一会话密钥。该方法在整个过程通过多层运算和加密操作,确保了会话密钥的安全性,从而使得通信过程更加安全可靠。
[0050] 为了进一步提高上述智能电表对上述控制中心进行身份认证时的准确性和安全性,本申请的一些实施例中,上述第一身份认证,包括:第一时间戳验证和第一验证码验证,上述第一时间戳验证为上述智能电表接收到上述第一验证信息生成的第三时间戳与第二时间戳之差是否在最大通信时间内,上述第一验证信息中包括第三加密信息、第二验证码和上述第二时间戳,上述第三加密信息为加密后的第一预备密钥与第四随机数做异或操作得到的,上述第二验证码包含上述第一会话密钥,上述第一验证码验证为验证MAC2*与上述第二验证码是否相同,上述MAC2*为第一预备会话密钥、上述第三加密信息、上述第一响应值和上述第二时间戳进行哈希运算得到的,上述第一预备会话密钥为第三随机数和第二预备密钥进行哈希运算得到的,上述第二预备密钥为经过哈希运算的上述第三随机数与上述第三加密信息进行异或操作得到的,该方法进一步提升对上述控制中心进行身份认证时的高效性和安全性。
[0051] 在再一种实施例中,上述控制中心至少接收上述电力提供商通过上述公开信道提供的能源数据,并触发对上述电力提供商的身份进行认证,包括:上述控制中心接收上述电力提供商通过上述公开信道发送的能源数据和第四验证信息,上述第四验证信息包括上述第二加密信息、第三验证码、上述第二伪身份信息和上述智能电表生成第五随机数时的第四时间戳;上述控制中心响应于上述第四验证信息,生成第五时间戳,并验证上述第五时间戳与上述第一时间戳之差是否在最大通信时间内,验证通过则利用第二验签算法验证第二伪身份信息与利用哈希运算对上述第二身份标识号和上述第二激励信息进行运算生成结果是否满足预设条件,上述预设条件为上述第二身份标识号和上述第二激励信息是真实有效的,并且上述第二身份标识号与上述第二伪身份信息所对应的上述第二身份标识号是匹配的,验证通过则验证MAC3*与上述第三验证码是否相同,上述MAC3*=h2(m3||TPIDj||RPPj||r3*||t3),上述MAC3*公式中的r3*=m3⊕h2(PIDj||RPPj),其中,h2为第二单项哈希函数,m3为上述第二加密信息,TPIDj为上述第二伪身份信息,RPPj为上述第二响应值,t3为上述第四时间戳,PIDj为上述第二身份标识号。该方法可以在上述控制中心与上述电力提供商之间进行密钥交换时,更加高效的完成上述控制中心对上述电力提供商的身份认证。
[0052] 具体地,上述控制中心接收到上述电力提供商发送的能源数据和第四验证信息后,上述控制中心响应于上述第四验证信息,生成第五时间戳,并验证上述第五时间戳与第四时间戳之差是否在最大通信范围内,验证通过后利用第一验签算法验证上述第二身份标识号和上述第二激励信息是真实有效的,并且上述第二身份标识号与上述第二伪身份信息所对应的上述第二身份标识号是匹配的,验证通过后继续验证MAC3*与上述第三验证码是否相同。
[0053] 在又一种实施例中,基于上述第二随机数和上述第二身份标识号中的至少一个生成第二伪身份信息,包括:利用哈希运算对上述第二随机数和上述第二身份标识号计算得到第二哈希值,利用第二签名算法对上述第二哈希值计算得到上述第二伪身份信息,该方法可以有效防止身份信息被盗用或篡改,提高数据的安全性和可信度,上述第二加密信息为第五哈希值与第五随机数进行异或运算得到的,上述第五哈希值为上述第二身份标识号与上述第二响应值生成的,该方法进一步提高数据的安全性和可信度,第三验证码为上述第二加密信息、上述第二伪身份信息、上述第五随机数以及第四时间戳进行哈希运算得到的。该方法进一步使上述控制中心与上述电力提供商进行密钥交换具有安全性和高效性。
[0054] 为了使得上述控制中心和上述电力提供商进行密钥交换的过程中,进一步保证过程的安全性及高效性,本申请的一些实施例中,上述控制中心至少根据上述第二身份标识号、上述第二响应值和上述电力提供商生成的第二加密信息计算出第二会话密钥,包括:在认证通过的情况下,上述控制中心生成第六随机数,并采用哈希运算对上述第二身份标识号和上述第二响应值进行运算,生成第六哈希值;将上述第六哈希值与上述第二加密信息做异或操作得到第三预备密钥;对上述第三预备密钥与上述第六随机数进行哈希运算得到上述第二会话密钥。具体地,在电力提供商身份认证通过的情况下,通过生成第六随机数,并采用上述哈希运算生成上述第二会话密钥。该方法整个过程通过多层运算和加密操作,确保了会话密钥的安全性,从而使得通信过程更加安全可靠。
[0055] 为了进一步提高上述电力提供商对上述控制中心进行身份认证时的准确性和安全性,本申请的一些实施例中,上述第二身份认证,包括:第二时间戳验证和第二验证码验证,上述第二时间戳验证为上述电力提供商接收到上述第二验证信息生成的第六时间戳与第五时间戳之差是否在最大通信时间内,上述第二验证信息中包括第四加密信息、第四验证码和上述第五时间戳,上述第四加密信息为加密后的第三预备密钥与第六随机数做异或操作得到的,上述第四验证码包含上述第二会话密钥,上述第二验证码验证为验证MAC4*与上述第四验证码是否相同,上述MAC4*为第二预备会话密钥、上述第四加密信息、上述第二响应值和上述第五时间戳进行哈希运算得到的,上述第二预备会话密钥为第五随机数和第四预备密钥进行哈希运算生成的,上述第四预备密钥为经过哈希运算的上述第五随机数与上述第四加密信息进行异或操作得到的。该方法进一步提升对上述控制中心进行身份认证时的高效性和准确性。
[0056] 在又一种实施例中,上述控制中心对上述智能电表发送的用电数据进行检测,确定上述用电数据中是否存在异常用电数据;在检测到上述用电数据中存在异常数据的情况下,利用上述第一公钥验证上述异常用电数据的伪身份信息,得到异常伪身份信息;利用第一私钥确定上述异常用电数据的对应身份标识号,得到异常身份标识号,将上述异常伪身份信息和上述异常身份标识号添加到上述控制中心的撤销列表,上述撤销列表中的上述异常伪身份信息和上述异常身份标识号不再用于通信,该方法中首先,上述控制中心对上述智能电表发送的用电数据进行检测,以确定是否存在异常用电数据。如果检测到异常数据,上述控制中心会利用上述第一公钥验证异常用电数据的伪身份信息,得到异常伪身份信息。然后,上述控制中心会利用第一私钥确定上述异常用电数据的对应身份标识号,得到异常身份标识号。最后,上述控制中心将上述异常伪身份信息和上述异常身份标识号添加到撤销列表中,这样这些异常数据就不再用于通信,这样可以进一步保证上述智能电表数据的准确性和安全性,及时发现并处理异常数据,防止其对系统造成不良影响。
[0057] 为了使得本领域技术人员能够更加清楚地了解本申请的技术方案,以下将结合具体的实施例对本申请的智能电网的认证密钥协商方法的实现过程进行详细说明。
[0058] 本实施例涉及一种具体的智能电网的认证密钥协商方法,包括如下步骤:
[0059] 步骤一:上述控制中心初始化公私钥对,确定单项哈希函数、签名算法和验签算法;
[0060] 步骤二:上述控制中心接收上述智能电表的第一注册请求和第一身份标识号,并生成第一随机数,基于上述第一随机数和上述第一身份标识号至少生成第一伪身份信息和第一激励信息,将这些信息发送给上述智能电表并接收上述智能电表发送的第一响应值;
[0061] 步骤三:上述控制中心接收上述电力提供商的第二注册请求和第二身份标识号,并生成第二随机数,基于上述第二随机数和上述第二身份标识号至少生成第二伪身份信息和第二激励信息,将这些信息发送到上述电力提供商并接收上述电力提供商发送的第二响应值;
[0062] 步骤四:上述控制中心至少接收上述智能电表通过公开信道发送的用电数据请求,并触发对上述智能电表的身份进行认证,认证通过后,上述控制中心计算出第一会话密钥,并将携带上述第一会话密钥的第一验证信息发送至上述智能电表,使得上述智能电表至少基于上述第一验证信息对上述控制中心进行第一身份认证,在认证通过的情况下,获得上述第一会话密钥,从而完成认证密钥交换;
[0063] 步骤五:上述控制中心至少接收上述电力提供商通过公开信道提供的能源数据,并触发对上述电力提供商的身份进行认证,认证通过后,上述控制中心计算出第二会话密钥,并将携带上述第二会话密钥的第二验证信息发送至上述电力提供商,使得上述电力提供商至少基于上述第二验证信息对上述控制中心进行第二身份认证,在认证通过的情况下,获得上述第二会话密钥,从而完成认证密钥交换;
[0064] 步骤六:上述控制中心对上述智能电表发送的用电数据进行检测,当检测到异常数据时,利用第一公钥验证上述异常用电数据,得到异常伪身份信息,并利用第一私钥确定上述异常用电数据的异常身份标识号,将上述异常伪身份信息和上述异常身份标识号添加到不再用于通信的撤销列表中。该具体交互过程可以参见图3所示。
[0065] 本发明实施例提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述智能电网的认证密钥协商方法,该方法包括:
[0066] 步骤S201,控制中心接收智能电表的第一注册请求和第一身份标识号,并响应于上述第一注册请求,生成第一随机数,并基于上述第一随机数和上述第一身份标识号中的至少一个生成第一伪身份信息和第一激励信息,并通过安全通道将上述第一伪身份信息、第一公钥和上述第一激励信息发送给上述智能电表并接收上述智能电表发送的第一响应值,上述第一响应值为基于上述第一激励信息生成的;
[0067] 步骤S202,上述控制中心接收电力提供商的第二注册请求和第二身份标识号,并响应于上述第二注册请求,生成第二随机数,并基于上述第二随机数和上述第二身份标识号中的至少一个生成第二伪身份信息和第二激励信息,并通过安全通道将上述第二伪身份信息、第二公钥和上述第二激励信息发送给上述电力提供商并接收上述电力提供商发送的第二响应值,上述第二响应值为基于上述第二激励信息生成的;
[0068] 步骤S203,上述控制中心至少接收上述智能电表通过公开信道发送的用电数据请求,并触发对上述智能电表的身份进行认证,在认证通过的情况下,上述控制中心至少根据上述第一身份标识号、上述第一响应值和上述智能电表生成的第一加密信息计算出第一会话密钥,并将携带上述第一会话密钥的第一验证信息发送至上述智能电表,使得上述智能电表至少基于上述第一验证信息对上述控制中心进行第一身份认证,在认证通过的情况下,获得上述第一会话密钥,从而完成认证密钥交换;
[0069] 步骤S204,上述控制中心至少接收上述电力提供商通过上述公开信道提供的能源数据,并触发对上述电力提供商的身份进行认证,在认证通过的情况下,上述控制中心至少根据上述第二身份标识号、上述第二响应值和上述电力提供商生成的第二加密信息计算出第二会话密钥,并将携带上述第二会话密钥的第二验证信息发送至上述电力提供商,使得上述电力提供商至少基于上述第二验证信息对上述控制中心进行第二身份认证,在认证通过的情况下,获得上述第二会话密钥,从而完成认证密钥交换。
[0070] 本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述智能电网的认证密钥协商方法,该方法包括:
[0071] 步骤S201,控制中心接收智能电表的第一注册请求和第一身份标识号,并响应于上述第一注册请求,生成第一随机数,并基于上述第一随机数和上述第一身份标识号中的至少一个生成第一伪身份信息和第一激励信息,并通过安全通道将上述第一伪身份信息、第一公钥和上述第一激励信息发送给上述智能电表并接收上述智能电表发送的第一响应值,上述第一响应值为基于上述第一激励信息生成的;
[0072] 步骤S202,上述控制中心接收电力提供商的第二注册请求和第二身份标识号,并响应于上述第二注册请求,生成第二随机数,并基于上述第二随机数和上述第二身份标识号中的至少一个生成第二伪身份信息和第二激励信息,并通过安全通道将上述第二伪身份信息、第二公钥和上述第二激励信息发送给上述电力提供商并接收上述电力提供商发送的第二响应值,上述第二响应值为基于上述第二激励信息生成的;
[0073] 步骤S203,上述控制中心至少接收上述智能电表通过公开信道发送的用电数据请求,并触发对上述智能电表的身份进行认证,在认证通过的情况下,上述控制中心至少根据上述第一身份标识号、上述第一响应值和上述智能电表生成的第一加密信息计算出第一会话密钥,并将携带上述第一会话密钥的第一验证信息发送至上述智能电表,使得上述智能电表至少基于上述第一验证信息对上述控制中心进行第一身份认证,在认证通过的情况下,获得上述第一会话密钥,从而完成认证密钥交换;
[0074] 步骤S204,上述控制中心至少接收上述电力提供商通过上述公开信道提供的能源数据,并触发对上述电力提供商的身份进行认证,在认证通过的情况下,上述控制中心至少根据上述第二身份标识号、上述第二响应值和上述电力提供商生成的第二加密信息计算出第二会话密钥,并将携带上述第二会话密钥的第二验证信息发送至上述电力提供商,使得上述电力提供商至少基于上述第二验证信息对上述控制中心进行第二身份认证,在认证通过的情况下,获得上述第二会话密钥,从而完成认证密钥交换。
[0075] 本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
[0076] 步骤S201,控制中心接收智能电表的第一注册请求和第一身份标识号,并响应于上述第一注册请求,生成第一随机数,并基于上述第一随机数和上述第一身份标识号中的至少一个生成第一伪身份信息和第一激励信息,并通过安全通道将上述第一伪身份信息、第一公钥和上述第一激励信息发送给上述智能电表并接收上述智能电表发送的第一响应值,上述第一响应值为基于上述第一激励信息生成的;
[0077] 步骤S202,上述控制中心接收电力提供商的第二注册请求和第二身份标识号,并响应于上述第二注册请求,生成第二随机数,并基于上述第二随机数和上述第二身份标识号中的至少一个生成第二伪身份信息和第二激励信息,并通过安全通道将上述第二伪身份信息、第二公钥和上述第二激励信息发送给上述电力提供商并接收上述电力提供商发送的第二响应值,上述第二响应值为基于上述第二激励信息生成的;
[0078] 步骤S203,上述控制中心至少接收上述智能电表通过公开信道发送的用电数据请求,并触发对上述智能电表的身份进行认证,在认证通过的情况下,上述控制中心至少根据上述第一身份标识号、上述第一响应值和上述智能电表生成的第一加密信息计算出第一会话密钥,并将携带上述第一会话密钥的第一验证信息发送至上述智能电表,使得上述智能电表至少基于上述第一验证信息对上述控制中心进行第一身份认证,在认证通过的情况下,获得上述第一会话密钥,从而完成认证密钥交换;
[0079] 步骤S204,上述控制中心至少接收上述电力提供商通过上述公开信道提供的能源数据,并触发对上述电力提供商的身份进行认证,在认证通过的情况下,上述控制中心至少根据上述第二身份标识号、上述第二响应值和上述电力提供商生成的第二加密信息计算出第二会话密钥,并将携带上述第二会话密钥的第二验证信息发送至上述电力提供商,使得上述电力提供商至少基于上述第二验证信息对上述控制中心进行第二身份认证,在认证通过的情况下,获得上述第二会话密钥,从而完成认证密钥交换。
[0080] 本文中的设备可以是服务器、PC、PAD、手机等。
[0081] 本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
[0082] 步骤S201,控制中心接收智能电表的第一注册请求和第一身份标识号,并响应于上述第一注册请求,生成第一随机数,并基于上述第一随机数和上述第一身份标识号中的至少一个生成第一伪身份信息和第一激励信息,并通过安全通道将上述第一伪身份信息、第一公钥和上述第一激励信息发送给上述智能电表并接收上述智能电表发送的第一响应值,上述第一响应值为基于上述第一激励信息生成的;
[0083] 步骤S202,上述控制中心接收电力提供商的第二注册请求和第二身份标识号,并响应于上述第二注册请求,生成第二随机数,并基于上述第二随机数和上述第二身份标识号中的至少一个生成第二伪身份信息和第二激励信息,并通过安全通道将上述第二伪身份信息、第二公钥和上述第二激励信息发送给上述电力提供商并接收上述电力提供商发送的第二响应值,上述第二响应值为基于上述第二激励信息生成的;
[0084] 步骤S203,上述控制中心至少接收上述智能电表通过公开信道发送的用电数据请求,并触发对上述智能电表的身份进行认证,在认证通过的情况下,上述控制中心至少根据上述第一身份标识号、上述第一响应值和上述智能电表生成的第一加密信息计算出第一会话密钥,并将携带上述第一会话密钥的第一验证信息发送至上述智能电表,使得上述智能电表至少基于上述第一验证信息对上述控制中心进行第一身份认证,在认证通过的情况下,获得上述第一会话密钥,从而完成认证密钥交换;
[0085] 步骤S204,上述控制中心至少接收上述电力提供商通过上述公开信道提供的能源数据,并触发对上述电力提供商的身份进行认证,在认证通过的情况下,上述控制中心至少根据上述第二身份标识号、上述第二响应值和上述电力提供商生成的第二加密信息计算出第二会话密钥,并将携带上述第二会话密钥的第二验证信息发送至上述电力提供商,使得上述电力提供商至少基于上述第二验证信息对上述控制中心进行第二身份认证,在认证通过的情况下,获得上述第二会话密钥,从而完成认证密钥交换。
[0086] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0087] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0088] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0089] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0090] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0091] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0092] 存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
[0093] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0094] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0095] 从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
[0096] 上述的实施例中,控制中心接收智能电表的第一注册请求和第一身份标识号,并响应于上述第一注册请求,生成第一随机数,并基于上述第一随机数和上述第一身份标识号中的至少一个生成第一伪身份信息和第一激励信息,并通过安全通道将上述第一伪身份信息、第一公钥和上述第一激励信息发送给上述智能电表并接收上述智能电表发送的第一响应值;上述控制中心接收电力提供商的第二注册请求和第二身份标识号,并响应于上述第二注册请求,生成第二随机数,并基于上述第二随机数和上述第二身份标识号中的至少一个生成第二伪身份信息和第二激励信息,并通过安全通道将上述第二伪身份信息、第二公钥和上述第二激励信息发送给上述电力提供商并接收上述电力提供商发送的第二响应值;上述控制中心至少接收上述智能电表通过公开信道发送的用电数据请求,并触发对上述智能电表的身份进行认证,在认证通过的情况下,上述控制中心至少根据上述第一身份标识号、上述第一响应值和上述智能电表生成的第一加密信息计算出第一会话密钥,并将携带上述第一会话密钥的第一验证信息发送至上述智能电表,使得上述智能电表至少基于上述第一验证信息对上述控制中心进行第一身份认证,在认证通过的情况下,获得上述第一会话密钥,从而完成认证密钥交换;上述控制中心至少接收上述电力提供商通过上述公开信道提供的能源数据,并触发对上述电力提供商的身份进行认证,在认证通过的情况下,上述控制中心至少根据上述第二身份标识号、上述第二响应值和上述电力提供商生成的第二加密信息计算出第二会话密钥,并将携带上述第二会话密钥的第二验证信息发送至上述电力提供商,使得上述电力提供商至少基于上述第二验证信息对上述控制中心进行第二身份认证,在认证通过的情况下,获得上述第二会话密钥,从而完成认证密钥交换。与现有技术中,在智能电表与控制中心之间以及控制中心与服务商之间,进行相互认证及密钥交换过程中,分别需要服务商和智能电表的参与导致通信效率低下的问题的方法相比,本方案在智能电表与控制中心之间以及控制中心与服务商之间,进行相互认证及密钥交换过程中,对智能电表和控制中心之间,控制中心和电力提供商之间分别提供双向认证及会话密钥生成,这个过程不需要第三方的随机数,这样在智能电表与控制中心之间以及控制中心与服务商之间,进行相互认证及密钥交换过程中,在任意一方出现攻击者攻击认证系统的情况下,两部分的通信互不影响,可以高效完成这两部分的通信过程,进而解决了在智能电表与控制中心之间以及控制中心与服务商之间,进行相互认证及密钥交换过程中,出现攻击者攻击任意一方的情况时,由于第三方的参与造成通信效率低的问题。
[0097] 以上上述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。