一种适用于用电信息采集系统的身份认证和密钥协商方法
技术领域
本发明属于信息安全技术领域,具体涉及一种适用于用电信息采集系统的身份认证和密钥协商方法。
背景技术
用电信息采集系统是对电力用户的用电信息进行采集、处理和实时监控的系统,该系统中涉及的电量、电费、费率等信息涉及到国计民生,信息的非法使用和泄漏将会给国家安全、社会经济和电网运行带来较大威胁,因此,用电信息采集系统应采用较为安全的身份认证和密钥协商方法来保证传输数据的机密性和完整性。目前,通信实体之间较常采用SSL通信协议和数字证书认证机制进行身份认证和密钥协商。
在用电信息采集系统中,主站和采集终端是关键部件,由于采集终端始终位于主站下方,它们与主站属于上下级关系,而主站和采集终端的数字证书又都是由同一级CA签发的,受用电信息采集系统网络拓扑结构的限制,主站可以直接查询采集终端数字证书的有效性,而采集终端却不能直接查询主站数字证书的有效性,因此,传统的SSL协议和数字证书认证方式在这里并不适用。
发明内容
为了解决传统SSL协议和数字证书认证方式在用电信息采集系统中不适用等问题,本发明提供了一种适用于用电信息采集系统的身份认证和密钥协商方法,具体方案如下:
提供一种适用于用电信息采集系统的身份认证和密钥协商方法,所述方法包括如下步骤:
步骤1:主站组成报文1,将所述报文1发送给采集终端;
步骤2:采集终端接收报文1并验证报文1信息的完整性和机密性,验证通过后组成报文2,并将所述报文2发送给主站;
步骤3:主站接收到报文2并验证报文2信息的完整性和机密性,将证书查询信息上传至CRL证书服务器,CRL证书服务器返回证书状态信息并签名后,主站使用预主密钥K生成MAC密钥和初始向量,并组成报文3发送给采集终端;
步骤4:采集终端收到报文3并验证信息的完整性和机密性,计算出主密钥、数据加密密钥、MAC密钥和初始向量,之后组成报文4发送给主站;
步骤5:主站接收并验证报文4,验证通过后会话密钥协商成功。
所述报文1包括版本号、会话ID、主站数字证书CM、密文信息Eks1(R1)、消息鉴别码MAC1以及签名信息S1;
所述版本号为所选取的通信协议和加密算法的版本号;
所述主站数字证书CM实现数字证书身份标识机制,在数字证书扩展字段中引入关键字段来标识它是主站等级证书,同时设置该关键字段为关键项,即通信双方在身份认证或密钥协商时必须对其进行检测,从而识别出所用数字证书的身份;
所述密文信息Eks1(R1)由主站取随机数R1并使用密码机加密后得到;
所述消息鉴别码MAC1由版本号、会话ID、主站数字证书和密文信息Eks1(R1)计算得到;
主站将通信协议和加密算法版本号、会话ID、主站数字证书CM和随机数R1进行签名形成所述签名信息S1。
所述报文2包括版本号、会话ID、主站数字证书序列号信息、终端数字证书CT、密文信息Eks2(R2)和签名信息S2;
所述版本号是与主站相同的通信协议和加密算法版本号;
所述终端数字证书CT实现数字证书身份标识机制,在数字证书扩展字段中引入关键字段来标识它是终端等级证书,同时设置该关键字段为关键项,即通信双方在身份认证或密钥协商时必须对其进行检测,从而识别出所用数字证书的身份;
所述密文信息Eks2(R2)由采集终端取随机数R2利用预置对称密钥加密后得到;
采集终端对版本号、会话ID、主站数字证书序列号信息、终端数字证书CT、随机数R2、随机数R1进行签名得到所述签名信息S2。
所述步骤2包括以下步骤:
步骤2-1:采集终端验证报文1的消息鉴别码MAC1;
步骤2-2:采集终端解密密文信息Eks1(R1)得到随机数R1,验证签名信息S1的合法性,实现主站基于对称密钥对采集终端的挑战应答机制;
步骤2-3:采集终端组成报文2发送给主站。
所述报文3包括密文M1、{(密文信息Eks2(R2)+主站证书序列号+有效状态)+CRL证书服务器的签名信息S3}信息、消息鉴别码MAC2和签名信息S4;
所述密文M1由主站生成预主密钥K,使用终端公钥加密后得到;
所述{(密文信息Eks2(R2)+主站证书序列号+有效状态)+CRL证书服务器的签名信息S3}信息是由主站将从报文2中获得的密文信息Eks2(R2)及主站数字证书序列号信息上传到CRL证书服务器,CRL证书服务器查询完主站证书状态后返回证书状态信息并对Eks2(R2)、主站证书序列号和有效状态信息签名后得到;
所述消息鉴别码MAC2由主站使用预主密钥K衍生的MAC密钥和初始向量,对{(密文信息Eks2(R2)+主站证书序列号+有效状态)+CRL证书服务器的签名信息S3}计算生成;
所述签名信息S4由主站使用私钥对密文M1、密文信息{(Eks2(R2)+主站证书序列号+有效状态)+CRL证书服务器的签名信息S3}信息和消息鉴别码MAC2利用签名算法签名后得到。
所述步骤3包括以下步骤:
步骤3-1:主站验证终端数字证书CT的有效性;
步骤3-2:主站利用预置对称密钥解密密文信息Eks2(R2)后得到随机数R2,验证签名信息S2的合法性;实现采集终端基于对称密钥对主站的挑战应答机制;
步骤3-3:主站将从报文2中获得的密文信息Eks2(R2)及主站数字证书序列号信息上传到CRL证书服务器;CRL证书服务器查询完主站数字证书状态后返回证书状态信息并对密文信息Eks2(R2)、主站证书序列号和有效状态信息签名后,主站组成报文3并发送给采集终端,实现利用权威机构对数字证书有效性查询签名认证机制。
所述报文4包括采集终端生成的随机数R3和用MAC密钥对随机数R3计算得到的消息鉴别码MAC3。
所述步骤4包括以下步骤:
步骤4-1采集终端验证签名信息S4的合法性;
步骤4-2:采集终端验证CRL证书服务器的签名信息、比对主站证书序列号和密文信息Eks2(R2)以确定主站数字证书CM是否现行有效;
步骤4-3:若主站数字证书CM有效,则采集终端使用私钥解密密文M1,获得预主密钥;
步骤4-4:采集终端根据密钥衍生算法计算出主密钥、数据加密密钥、MAC密钥和初始向量;
步骤4-5:采集终端利用MAC密钥和初始向量验证消息鉴别码MAC2的正确性;
步骤4-6:采集终端生成随机数R3并用MAC密钥对随机数R3计算得到的消息鉴别码MAC3;
步骤4-7:采集终端组成报文4发送给主站;
所述步骤5包括以下步骤:
步骤5-1:主站取出随机数R3作为后续数据的初始向量;
步骤5-2:主站使用MAC密钥验证消息鉴别码MAC3的正确性;
步骤5-3:验证通过后,则会话密钥协商成功,然后主站用协商出的主密钥、数据加密密钥、MAC密钥、初始向量和随机数R3作为分散因子利用预埋根密钥计算出数据传输密钥,后续的传输数据均由该数据传输密钥保护。
与现有技术相比,本发明的有益效果在于:
(1)本发明适用于与用电信息采集系统类似的特殊网络拓扑结构的系统;
(2)本发明在传统身份认证和密钥协商方法基础上引入数字证书身份标识机制、利用权威机构对数字证书有效性查询签名认证机制和基于对称密钥的挑战应答机制可以有效地抵抗假冒主站、通信业务流分析、密码分析等攻击,增强用电信息采集系统的安全性;
(3)本发明中的身份认证、数据加密算法采用国家密码管理局推荐的SM1、SM2和SM3数据加密算法可以有效增加传输数据的安全性;
(4)本发明的身份认证和密钥协商流程较为严谨、安全,可从整体上有效防止假冒主站或采集终端及传输数据被非法监听或截获等情况的发生。
附图说明
图1是本发明提供的利用权威机构对数字证书有效性查询签名认证机制实现流程图;
图2是本发明提供的主站对采集终端的挑战应答流程图;
图3是本发明提供的主站和采集终端身份认证和密钥协商方法的具体实现流程图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
如图1,本实施例的利用权威机构对数字证书有效性查询签名认证机制为:在主站端配置CRL证书服务器,所述CRL证书服务器对主站或采集终端的数字证书信息查询结果进行签名;采集终端需要验证主站数字证书CM时,首先产生一组随机数,加密后发送给主站,由主站将采集终端产生的随机数密文及主站数字证书序列号上传给CRL证书服务器,CRL证书服务器查询该证书序列号所对应的数字证书状态,并对随机数密文、证书序列号、数字证书状态一起签名后下发给主站,主站再将此报文作为证明自己数字证书有效状态的证明下发给采集终端。由于该报文附有CRL证书服务器签名,因此主站不能进行篡改伪造,可以保证信息的完整性和真实性,报文中包含的采集终端随机数密文可以起到时间戳的作用,可以证明该报文的时效性。
如图2所示,本实施例的基于对称密钥的挑战应答机制为:首先将共享的对称密钥预置在采集终端安全芯片和主站端密码机中,采集终端给主站发送报文中包含挑战信息,若主站应答成功,则说明主站身份合法,因为只有合法主站才可以与密码机连接。同样,主站给采集终端发送的报文中也包含挑战信息,若采集终端应答成功,则说明采集终端身份合法,因为只有合法的采集终端才能拥有与主站共享的对称密钥,从而利用密码机与采集终端芯片中预置的对称密钥就可以形成挑战应答机制以实现主站和采集终端之间的身份合法性验证。以主站对采集终端的挑战应答过程为例,所述主站对采集终端的挑战应答过程为:主站取随机数R1,用预置密钥Eks1加密生成密文Eks1(R1)后,将密文Eks1(R1)发送给采集终端;采集终端通过安全芯片解密密文Eks1(R1)得到随机数R′1后返回给主站,主站核对随机数R′1是否与随机数R1相同,若相同则挑战应答成功,反之失败如图3,提供一种适用于用电信息采集系统的身份认证和密钥协商方法,所述方法包括如下步骤:
步骤1:主站组成报文1,将所述报文1发送给采集终端;
步骤2:采集终端接收报文1并验证报文1信息的完整性和机密性,验证通过后组成报文2,并将所述报文2发送给主站;
步骤3:主站接收到报文2并验证报文2信息的完整性和机密性,将证书查询信息上传至CRL证书服务器,CRL证书服务器返回证书状态信息并签名后,主站使用预主密钥K生成MAC密钥和初始向量,并组成报文3发送给采集终端;
步骤4:采集终端收到报文3并验证信息的完整性和机密性,计算出主密钥、数据加密密钥、MAC密钥和初始向量,之后组成报文4发送给主站;
步骤5:主站接收并验证报文4,验证通过后会话密钥协商成功。
所述报文1包括版本号、会话ID、主站数字证书CM、密文信息Eks1(R1)、消息鉴别码MAC1以及签名信息S1;
所述版本号为所选取的通信协议和加密算法的版本号(初始为V1.0);
初次发起会话时会话ID为0,反之为1;
所述主站数字证书CM实现数字证书身份标识机制,在数字证书扩展字段中引入关键字段来标识它是主站等级证书,同时设置该关键字段为关键项,即通信双方在身份认证或密钥协商时必须对其进行检测,从而识别出所用数字证书的身份;
所述密文信息Eks1(R1)由主站取随机数R1并使用密码机加密后得到;
所述消息鉴别码MAC1由版本号、会话ID、主站数字证书和密文信息Eks1(R1)计算得到;
主站将通信协议和加密算法版本号、会话ID、主站数字证书CM和随机数R1进行签名形成所述签名信息S1。
所述报文2包括版本号、会话ID、主站数字证书序列号信息、终端数字证书CT、密文信息Eks2(R2)和签名信息S2;
所述版本号是与主站相同的通信协议和加密算法版本号(初始为V1.0);
初次发起会话时会话ID为0,反之为1;
所述终端数字证书CT实现数字证书身份标识机制,在数字证书扩展字段中引入关键字段来标识它是终端等级证书,同时设置该关键字段为关键项,即通信双方在身份认证或密钥协商时必须对其进行检测,从而识别出所用数字证书的身份;
所述密文信息Eks2(R2)由采集终端取随机数R2利用预置对称密钥加密后得到;
采集终端对版本号、会话ID、主站数字证书序列号信息、终端数字证书CT、随机数R2、随机数R1进行签名得到所述签名信息S2。
所述步骤2包括以下步骤:
步骤2-1:采集终端验证报文1的消息鉴别码MAC1;
步骤2-2:采集终端解密密文信息Eks1(R1)得到随机数R1,验证签名信息S1的合法性,实现主站基于对称密钥对采集终端的挑战应答机制;
步骤2-3:采集终端组成报文2发送给主站。
所述报文3包括密文M1、{(密文信息Eks2(R2)+主站证书序列号+有效状态)+CRL证书服务器的签名信息S3}信息、消息鉴别码MAC2和签名信息S4;
所述密文M1由主站生成预主密钥K,使用终端公钥加密后得到;
所述{(密文信息Eks2(R2)+主站证书序列号+有效状态)+CRL证书服务器的签名信息S3}信息是由主站将从报文2中获得的密文信息Eks2(R2)及主站数字证书序列号信息上传到CRL证书服务器,CRL证书服务器查询完主站证书状态后返回证书状态信息并对Eks2(R2)、主站证书序列号和有效状态信息签名后得到;
所述消息鉴别码MAC2由主站使用预主密钥K衍生的MAC密钥和初始向量,对{(密文信息Eks2(R2)+主站证书序列号+有效状态)+CRL证书服务器的签名信息S3}计算生成;
所述签名信息S4由主站使用私钥对密文M1、密文信息{(Eks2(R2)+主站证书序列号+有效状态)+CRL证书服务器的签名信息S3}信息和消息鉴别码MAC2利用签名算法签名后得到。
所述步骤3包括以下步骤:
步骤3-1:主站验证终端数字证书CT的有效性;
步骤3-2:主站利用预置对称密钥解密密文信息Eks2(R2)后得到随机数R2,验证签名信息S2的合法性;实现采集终端基于对称密钥对主站的挑战应答机制;与传统挑战应答机制的不同之处在于,主站与采集终端通过解密的方式实现,并且本协议将挑战应答机制与主站和采集终端的数字证书签名验签过程柔和在了一块,增加了外界对报文破译的难度;
步骤3-3:主站将从报文2中获得的密文信息Eks2(R2)及主站数字证书序列号信息上传到CRL证书服务器;CRL证书服务器查询完主站数字证书状态后返回证书状态信息并对密文信息Eks2(R2)、主站证书序列号和有效状态信息签名后,主站组成报文3并发送给采集终端,实现利用权威机构对数字证书有效性查询签名认证机制。
所述报文4包括采集终端生成的随机数R3和用MAC密钥对随机数R3计算得到的消息鉴别码MAC3。
所述步骤4包括以下步骤:
步骤4-1:采集终端验证签名信息S4的合法性;
步骤4-2:采集终端验证CRL证书服务器的签名信息、比对主站证书序列号和密文信息Eks2(R2)以确定主站数字证书CM是否现行有效;
步骤4-3:若主站数字证书CM有效,则采集终端使用私钥解密密文M1,获得预主密钥;
步骤4-4:采集终端根据密钥衍生算法计算出主密钥、数据加密密钥、MAC密钥和初始向量;
步骤4-5:采集终端利用MAC密钥和初始向量验证消息鉴别码MAC2的正确性;
步骤4-6:采集终端生成随机数R3并用MAC密钥对随机数R3计算得到的消息鉴别码MAC3;
步骤4-7:采集终端组成报文4发送给主站;
所述步骤5包括以下步骤:
步骤5-1:主站取出随机数R3作为后续数据的初始向量;
步骤5-2:主站使用MAC密钥验证消息鉴别码MAC3的正确性;
步骤5-3:验证通过后,则会话密钥协商成功,然后主站用协商出的主密钥、数据加密密钥、MAC密钥、初始向量和随机数R3作为分散因子利用预埋根密钥计算出数据传输密钥,后续的传输数据均由该数据传输密钥保护。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。