CN102377566A - 一种电表数据的安全处理装置及系统 - Google Patents

一种电表数据的安全处理装置及系统 Download PDF

Info

Publication number
CN102377566A
CN102377566A CN2010102502199A CN201010250219A CN102377566A CN 102377566 A CN102377566 A CN 102377566A CN 2010102502199 A CN2010102502199 A CN 2010102502199A CN 201010250219 A CN201010250219 A CN 201010250219A CN 102377566 A CN102377566 A CN 102377566A
Authority
CN
China
Prior art keywords
data
byte
sub
authentication
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010102502199A
Other languages
English (en)
Other versions
CN102377566B (zh
Inventor
何中林
常波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shitong lingxun Technology Co.,Ltd.
Original Assignee
RONGTONG GAOKE TECH DEVELOPMENT Co Ltd BEIJING
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by RONGTONG GAOKE TECH DEVELOPMENT Co Ltd BEIJING filed Critical RONGTONG GAOKE TECH DEVELOPMENT Co Ltd BEIJING
Priority to CN201010250219.9A priority Critical patent/CN102377566B/zh
Publication of CN102377566A publication Critical patent/CN102377566A/zh
Application granted granted Critical
Publication of CN102377566B publication Critical patent/CN102377566B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种电表数据的安全处理装置及系统,该装置包括:身份认证装置、数据加密装置、数据解密装置及MAC检验装置;对接入电表的电卡或电网设备进行安全认证及传输的命令数据进行处理,对安全认证数据求反,将安全认证数据加求反值生成16字节安全认证输入数据块;将指令数据划分为以16字节为单位的子数据块;采用SM1算法对安全认证输入数据块和各子数据块进行加密,生成4字节数据处理结果。

Description

一种电表数据的安全处理装置及系统
技术领域
本发明是关于智能电表系统,特别是关于具有ESAM芯片的智能电表系统,具体的讲是一种一种电表数据的安全处理装置及系统。 
背景技术
ESAM(嵌入式安全芯片)在智能电表中实现数据存储和安全认证等功能,为智能电表提供用户使用电力资源的数据信息,并为用户卡提供回写的数据信息,同时也为MIS系统提供收费和统计数据。 
由于ESAM嵌入式安全芯片在智能表具中担负着智能表安全控管的作用,控制智能表具的预付费充值安全、参数更新安全,因此,ESAM嵌入式安全芯片的安全是整体CPU卡表系统安全体系中重要的环节。目前在智能表具种采用ESAM嵌入式安全芯片,具有较高的安全性。但是,目前在ESAM中采用国际通用算法DES和3DES算法,存在一定的安全隐患。 
DES算法采用8字节密钥,由于密钥含有8个奇偶校验位,它减少了可用的密钥空间,因此密钥空间只有56位。随着现代计算机处理能力的稳定增长,这样大小的密钥空间被认为是处于安全加密算法的下限。如果有明文和密文对可用,而密钥空间这样大小,就很容易对所有可能的密钥进行试验,目前对DES的破译,最有效的是穷举功击。3DES是DES向AES过渡的加密算法。1999年,美国标准与技术研究院(NIST)将3DES指定为过渡的加密标准,3DES是DES的一个更安全的变形。它以DES为基本模块,通过组合分组方法设计出分组加密算法,3DES采用192位密钥,该密钥被分成三个64位子密钥并用于加密过程。加密过程与DES完全相同,只是重复三次。 由于DES和3DES属于国际通用算法,因此算法是公开的,攻击者可以在任何地方都可以得到DES和3DES算法的源代码,可以针对DES和3DES进行算法攻击,而且DES和3DES算法推出的时间比较长,因此,在ESAM嵌入式安全芯片继续使用DES或3DES算法显然具有安全隐患。如果由于算法攻击导致预付费充值流程、参数更新流程被篡改将给整个CPU卡表系统特别是给资源方造成巨大的经济损失。 
SM1算法是国家密码管理局监制的一种商用密码分组标准对称算法,算法分组长度为128比特,密钥长度为128比特,具有较大的密码空间,但SM1算法是使用密钥将16字节明文数据块加密成密文数据块,而目前采用ESAM模块的智能电表中的认证数据等均为8字节,因此,采用SM1算法不能对具有ESAM模块的智能电表系统中的认证数据及传送的业务数据进行加密。 
发明内容
本发明实施例提供了一种电表数据的安全处理装置,该装置包括:身份认证装置、数据加密装置、数据解密装置及MAC检验装置;其中,身份认证装置包括:离散因子转换单元,用于将从外部获取的8字节离散因子转换成16字节离散因子输入数据;子密钥生成单元,用于根据预存的主密钥对16字节离散因子输入数据进行SM1算法加密,生成16字节子密钥;认证因子转换单元,用于将从外部智能卡获取的8字节认证因子转换成16字节认证因子输入数据;表端认证数据生成单元,用于使用子密钥对认证因子输入数据进行SM1算法加密,生成8字节表端认证数据;加密指令发送单元,用于发送包含认证因子的加密指令给外部智能卡;卡端认证数据接收单元,用于接收外部智能卡发来的根据认证因子和SM1算法加密生成的卡端认证数据;认证结果生成单元,用于将表端认证数据和卡端认证数据进行一致性比较,生成认证结果;数据加密装置包括:待加密数据生成单元,用于将表示命令数据域的明文数据长度的长度字节添加到明文数据前生成待加密数据;待加密数 据转换单元,用于将待加密数据按顺序划分为多个16字节子数据块D1、D2…Dn;加密结果生成单元,用于根据预存的SM1密钥采用SM1算法分别对16字节子数据块D1、D2…Dn进行加密,生成加密结果;数据解密装置包括:数据转换单元,用于将接收到的加密的命令数据中的命令数据域数据转换为16字节数据块;明文数据生成单元,用于根据预存的SM1密钥采用SM1算法将所述16字节数据块进行解密,生成明文数据;MAC值计算装置包括:初始值生成单元,用于将获取的8字节随机数转换为16字节初始值;数据块生成单元,用于将报文中的5字节命令头CLA、INS、P1、P2、LC和报文命令数据域的数据连接形成报文数据块;报文数据块转换单元,用于将报文数据块转换为多个16字节报文子数据块B1,B2…Bn;MAC值计算单元,用于根据预存的SM1密钥、所述的初始值、16字节报文子数据块采用SM1算法进行计算,进而生成MAC值。 
本发明公开了一种电表数据的安全处理系统,该系统包括电表数据安全处理装置,该电表数据安全处理装置包括:身份认证装置、数据加密装置、数据解密装置及MAC检验装置;其中,身份认证装置包括:离散因子转换单元,用于将从外部获取的8字节离散因子转换成16字节离散因子输入数据;子密钥生成单元,用于根据预存的主密钥对16字节离散因子输入数据进行SM1算法加密,生成16字节子密钥;认证因子转换单元,用于将从外部智能卡获取的8字节认证因子转换成16字节认证因子输入数据;表端认证数据生成单元,用于使用子密钥对认证因子输入数据进行SM1算法加密,生成8字节表端认证数据;加密指令发送单元,用于发送包含认证因子的加密指令给外部智能卡;卡端认证数据接收单元,用于接收外部智能卡发来的根据认证因子和SM1算法加密生成的卡端认证数据;认证结果生成单元,用于将表端认证数据和卡端认证数据进行一致性比较,生成认证结果;数据加密装置包括:待加密数据生成单元,用于将表示命令数据域的明文数据长度的长度字节添加到明文数据前生成待加密数据;待加密数据转换单元,用于将待加密 数据按顺序划分为多个16字节子数据块D1、D2…Dn;加密结果生成单元,用于根据预存的SM1密钥采用SM1算法分别对16字节子数据块D1、D2…Dn进行加密,生成加密结果;数据解密装置包括:数据转换单元,用于将接收到的加密的命令数据中的命令数据域数据转换为16字节数据块;明文数据生成单元,用于根据预存的SM1密钥采用SM1算法将所述16字节数据块进行解密,生成明文数据;MAC值计算装置包括:初始值生成单元,用于将获取的8字节随机数转换为16字节初始值;数据块生成单元,用于将报文中的5字节命令头CLA、INS、P1、P2、LC和报文命令数据域的数据连接形成报文数据块;报文数据块转换单元,用于将报文数据块转换为多个16字节报文子数据块B1,B2…Bn;MAC值计算单元,用于根据预存的SM1密钥、所述的初始值、16字节报文子数据块采用SM1算法进行计算,进而生成MAC值。 
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。 
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 
图1为本发明一种电表数据的安全处理装置的结构框图; 
图2为身份认证装置的结构示意图; 
图3为数据加密装置的结构示意图; 
图4为数据解密装置的结构示意图; 
图5为MAC计算装置的结构示意图; 
图6为本发明实施例密钥分散方法流程图; 
图7为本发明实施例认证数据计算方法流程图; 
图8为本发明实施例智能电表对CPU卡进行身份认证的信令图; 
图9为本发明实施例数据加密计算方法流程图; 
图10为本发明实施例中进行加密计算的方法示意图; 
图11为本发明实施例数据解密计算的方法示意图; 
图12为本发明实施例MAC计算的方法示意图。 
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 
如图1所示,为本发明电表数据的安全处理装置结构框图,把包括:身份认证装置101、数据加密装置102、数据解密装置103及MAC检验装置104。通过本发明的电表数据的安全处理装置将电网系统中的8字节认证数据转换为符合SM1算法要求的16字节的输入数据,然后对该输入数据进行加密,生成加密结果,并根据认证数据的指令对生成的加密结果进行处理,生成数据处理结果,同时还用于将电网系统中传输的命令数据进行SM1算法的加密、解密。 
如图2所示,身份认证装置101包括:离散因子转换单元1011,用于将从外部获取的8字节离散因子转换成16字节离散因子输入数据; 
子密钥生成单元1012,用于根据预存的主密钥对16字节离散因子输入数据进行SM1算法加密,生成16字节子密钥; 
认证因子转换单元1013,用于将从外部智能卡获取的8字节认证因子转换成16字节认证因子输入数据; 
表端认证数据生成单元1014,用于使用子密钥对认证因子输入数据进行SM1算法加密,生成8字节表端认证数据; 
加密指令发送单元1015,用于发送包含认证因子的加密指令给外部智能卡; 
卡端认证数据接收单元1016,用于接收外部智能卡发来的根据认证因子和SM1算法加密生成的卡端认证数据; 
认证结果生成单元1017,用于将表端认证数据和卡端认证数据进行一致性比较,生成认证结果; 
如图3所示,数据加密装置102包括: 
待加密数据生成单元1021,用于将表示命令数据域的明文数据长度的长度字节添加到明文数据前生成待加密数据; 
待加密数据转换单元1022,用于将待加密数据按顺序划分为多个16字节子数据块D1、D2…Dn; 
加密结果生成单元1023,用于根据预存的SM1密钥采用SM1算法分别对所述的16字节子数据块D1、D2…Dn进行加密,生成加密结果; 
如图4所示,数据解密装置103包括: 
数据转换单元1031,用于将接收到的加密的命令数据中的命令数据域数据转换为16字节数据块; 
明文数据生成单元1032,用于根据预存的SM1密钥采用SM1算法将16字节数据块进行解密,生成明文数据; 
如图5所示,MAC值计算装置104包括: 
初始值生成单元1041,用于将获取的8字节随机数转换为16字节初始值,将8字节随机数加8字节随机数求反值作为初始变量; 
数据块生成单元1042,用于将报文中的5字节命令头CLA、INS、P1、P2、LC和报文命令数据域的数据连接形成报文数据块,报文数据域的数据包括明文或密文; 
报文数据块转换单元1043,用于将报文数据块转换为多个16字节报文子数据块B1,B2…Bn; 
MAC值计算单元1044,用于根据预存的SM1密钥、初始值、16字节报文子数据块采用SM1算法进行计算,进而生成4字节MAC值。 
智能表具的安全需求主要包括,数据可靠性、完整性校验,数据访问权控制等方面,在智能表具的安全管理中,涉及密钥分散、身份认证、权限认证、加密、解密及安全报文MAC计算,在本发明中均采用SM1算法保证数据安全。 
如图6所示为密钥分散的具体步骤,步骤S201,接收8字节分散因子;步骤S202,对接收到的分散因子求反;步骤S203,将接收的分散因子加上分散因子求反值作为输入数据;步骤S204,用主密钥KEY对输入数据进行SM1算法加密生成子密钥,加密结果为16字节作为子密钥。 
电网系统中,通过认证数据对卡进行内部验证或外部认证,认证数据通过认证因子产生。图7所示为认证数据的计算步骤。认证因子为8字节随机数。对于外部认证,认证因子由卡发送给接口设备;对于内部认证,认证因子由接口设备发送给卡。 
步骤S301,对认证因子求反;步骤S302,将认证因子加上认证因子求反值作为输入数据;步骤S303,采用认证密钥对输入数据进行SM1算法加密生成加密结果,加密结果为16字节;步骤S304,将获得的加密结果左右8字节进行‘异或’获得8字节认证数据。 
本发明的身份认证装置对接入电表设备进行身份认证时,根据密钥分散步骤生成子密钥,采用生成的子密钥对接入设备进行身份认证。如图8所示,为本发明实施例对插入智能电表的CPU卡进行身份认证的信令图。 
安全报文传送的目的是保证数据的可靠性、完整性和对发送方的认证。数据完整性和对发送方的认证通过使用MAC来实现,MAC是命令数据域中最后一个数据元,长度规定为4个字节。数据的可靠性通过对数据域的加密来得到保证,数据域的数据是否加密,应被命令发送方和当前卡中被选择的应用所了解。 
安全报文传送的命令格式符合ISO 7816-4的规定。当CLA字节的第二个半字节等于十六进制数字‘4’时,表明对发送方命令数据要采用安全报文传送。 
情况一:这种情况时,没有数据送到卡中,也没有数据从卡中返回。没有安全报文传送要求的命令格式如下: 
  CLA   INS   P1   P2
有安全报文传送要求的命令情况如下: 
 CLA   INS   P1   P2   Lc   MAC
CLA的第二个半字节是’4’表明支持第二种格式的安全报文传送。Lc为MAC的长度。 
情况二:这种情况时,命令中没有数据送到卡中,但有数据从卡中返回。没有安全报文传送要求的命令格式如下: 
  CLA   INS   P1   P2   Le
有安全报文传送要求的命令格式如下: 
  CLA   INS   P1   P2   Lc   MAC   Le
CLA的第二个半字节是“4”表明支持第二种格式的安全报文传送。Lc为MAC的长度。 
情况三:这种情况时,命令中有数据传送到卡中,但没有数据从卡中返回。没有安全报文传送要求的命令格式如下: 
  CLA   INS   P1   P2   Lc   命令数据
有安全报文传送要求的命令格式如下: 
  CLA   INS   P1   P2   Lc   命令数据   MAC
CLA的第二个半字节是’4’表明支持第二种格式的安全报文传送。Lc为命令数据加上MAC的长度。 
情况四:这种情况时,在命令中有数据送到卡中,也有数据从卡中返回。没有安全报文传送要求的命令格式如下: 
  CLA   INS   P1   P2   Lc   命令数据   Le
有安全报文传送要求的命令格式如下: 
  CLA   INS   P1   P2   Lc   命令数据   MAC   Le
CLA的第二个半字节是4表明支持第二种格式的安全报文传送。Lc为命令数据加上MAC的长度。 
如图9所示,为本发明实施的数据加密装置对报文数据进行加密计算步骤如下所述: 
步骤S401:在待加密的明文数据前加上表示明文数据长度的字节,生成新的数据块;本实施例中用长度为1字节的LD表示待加密的明文数据的长度; 
步骤S402:将生成的数据块以16字节为单位按顺序分解成的子数据块。 
步骤S403:判断最后的子数据块长度是否为16字节,最后的子数据块长度为16字节执行步骤S407,否则执行步骤S404; 
步骤S404:右边添加16进制数字“80”; 
步骤S405:判断添加16进制数字“80”后的子数据块是否为16字节,判断结果为是,执行步骤S407,否则执行步骤S406,直至该子数据块的长度为16字节为止,然后进行步骤S407; 
步骤S406,在该子数据块右侧添加16进制数“00”; 
步骤S407,采用SM1算法加密各子数据块; 
步骤S408,将加密后的各子数据块按数据连接,即获得加密后的密文。 
如图10所示,为采用SM1算法对各子数据块进行加密计算的示意图。 
电表设备接收到命令之后,需要将包含在命令中的加密数据进行解密。数据解密计算如下所述: 
第一步:将命令数据域中的数据块分解成16字节长的数据块,标号为O1,O2,O3,O4等等。 
第二步:每个数据块使用如图11所描述的解密方式解密。 
第三步:计算结束后,所有解密后的数据块D1,D2…链接在一起。数据块由LD、明文数据、填充字符(如果在数据加密过程中有增加的话)组成。LD表示明文数据的长度,根据LD表示的明文数据长度恢复明文数据。 
本发明对于安全报文MAC的安全机制采用SM1算法保证数据安全,步骤如下: 
步骤S501,取8个字节随机数加上8个字节随机数求反值作为初始变量。 
步骤S502,将5字节命令头(CLA,INS,P1,P2,Lc)和命令数据域中的明文或密文数据连接在一起形成数据块。 
步骤S503,将第二步中生成的数据块分解成以16字节为单位的子数据块,标号为D1,D2,D3,D4。 
步骤S504,如果最后的数据块长度是16字节,则在其后加上16进制数字“80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00”,并转到第五步。如果最后的数据块长度不足16字节,则在其后加上16进制数字“80”,如果达到16字节长度,则转入步骤S505;否则在其后加入16进制数字“00”直到长度达到16字节。 
步骤S505,本实施例中按照图12所示的方式进行计算生成MAC值。即将步骤S501中生成的初始变量与子数据块D1进行异或运算,然后对该运算结果做为输入数据进行SM1算法加密,然后将该加密结果与子数据块D2进行异或运算后再采用SM1算法进行加密,以此类推,依次将各子数据块进行加密,生成16字节运算结果,将最终生成的运算结果按4字节分块做异或运算,生成4字节MAC值。 
采用国密算法SM1算法的ESAM芯片具有更高的安全特性,内嵌8位安全处理器,并能够进行国密、3DES加密运算,同时运算过程中有随机数参与。支持多级分散的密钥管理系统,且不同智能表具可使用统一标准的ESAM嵌入式安全芯片。可选的EEPROM容量,可选多种通信速率,数据保存时间大于10年,EEPROM擦写次数大于50万次。 
在CPU卡表系统中使用的用户卡、ESAM交易过程中采用SM1算法进行身份认证、密钥下装、预付费充值、参数更新。下面以SM1算法在ESAM嵌入式安全芯片中的使用为例对本发明做进一步详细阐述。 
IC卡电能表业务流程包括:卡表系统身份认证流程、明文+MAC读用户卡写ESAM流程、参数更新流程、预付费充值流程及密钥下装流程。具体流程操作如下: 
卡表系统对CPU卡进行身份认证步骤如下: 
A.从CPU卡取离散因子; 
B.ESAM使用内部认证工作密钥对离散因子进行SM1算法密钥分散,即对获得的8字节的离散因子求反,将上述的离散因子和离散因子的求反值做为输入数据,采用ESAM内部的认证工作密钥对该输入数据进行SM1算法加密,生成过程密钥; 
C.卡表系统向ESAM发送随机数和加密指令,将该随机数求反,ESAM将该随机数与随机数的求反值做为输入数据,ESAM采用步骤S502中生成的过程密钥对输入数据进行SM1算法认证数据计算,并且返回计算结果DES1; 
D.向CPU卡发送随机数和加密指令,CPU卡对随机数进行SM1算法认证数据计算,并且送回计算结果DES2; 
E.比较DES1和DES2,如果两者一致,卡表系统身份认证成功,此卡合法,否则身份认证失败,此卡不合法。 
明文+MAC读用户卡写ESAM流程如下: 
A.电能表从ESAM中取随机数发送给用户卡; 
B.电能表向用户卡发送明文+MAC读数据指令、随机数和参数修改命令头,用户卡进行SM1算法进行MAC计算,取得数据明文+MAC DATA1; 
C.电能表向ESAM发送参数修改命令和DATA1进行参数修改。 
参数更新流程: 
A.做身份认证,即上述的卡表系统身份认证流程; 
B.电能表明文+MAC读用户卡对ESAM进行参数更新,即进行明文+MAC读用户卡写ESAM流程。 
预付费充值流程如下: 
A、第一次充值时,电能表从用户卡读出表号与电能表表号比较,相同则转入C,否则终止操作; 
B、再次充值时,电能表从用户卡读出户号语电能表户号比较,如果相同则转入C。 
C、作身份认证; 
D、如果是第一次充值,则将户号写入ESAM,非第一次充值,转入F; 
E、向电能表的ESAM模块发送明文+MAC充值指令,明文+MAC充值流程如下: 
a.电能表从ESAM取随机数发送给用户卡; 
b.电能表向用户卡发送明文+MAC读数据指令、随机数和充值命令头,用户卡进行SM1算法MAC计算,取得数据明文+MAC DATA1; 
c.电能表向ESAM发送充值命令、DATA1进行钱包充值; 
充值成功,转入G,否则终止; 
F、明文+MAC读取用户卡其他参数,对ESAM进行参数更新,更新成功,转入G,否则终止; 
G、电能表从明文+MAC读取ESAM对用户卡进行数据回抄,返写成功,流程完毕,否则报失败; 
电能表进行密钥下装流程如下: 
A、作身份认证; 
B、电能表读取密钥下装卡中的密钥信息文件,取得密钥密文数据; 
C、电能表逐段截取各条密钥(系统身份认证密钥、钱包线路保护密钥、文件传输线路保护写密钥、文件传输线路保护读密钥),向ESAM发送更新密钥指令和每条密文,ESAM对密钥密文进行SM1算法解密,更新ESAM密钥。 
网络电能表业务流程包括:身份认证、预付费充值、参数更新及密钥下装,上述各流程具体步骤如下: 
身份认证流程,具体步骤同图8所示: 
A、后台计算机取随机数和分散因子发送给加密机 
B、加密机进行SM1算法密钥分散计算,生产过程密钥; 
C、加密机利用过程密钥对随机数进行SM1算法认证数据计算,并且将随机数、离散因子和计算结果DES1返回; 
D、ESAM使用内部认证工作密钥对分散因子进行SM1算法密钥分散计算,生产过程密钥; 
E、向ESAM发送随机数和加密指令,ESAM用过程密钥对随机数进行SM1算法认证数据计算,并且送回计算结果DES2; 
F、比较DES1和DES2,如果两者一致,身份认证成功,此卡合法,否则身份认证失败,此卡不合法。 
预付费充值流程: 
A、第一次充值时,比较送入的表号是否正确,正确则转入C,否则终止操作; 
B、再次充值时,比较送入户号是否正确,则转入C。 
C、作身份认证; 
D、如果是第一次充值,则将户号写入ESAM,非第一次充值,转入E; 
E、向ESAM发送明文+MAC充值指令,对ESAM进行钱包充值; 
其中,明文+MAC充值流程如下: 
a、从取ESAM随机数; 
b、将取得的随机数和分散因子发送给加密机; 
c、加密机使用工作密钥对上述分散因子进行SM1算法密钥分散,生产过程密钥; 
d、加密机用过程密钥利用随机数对充值命令头、充值金额和充值次数进行SM1算法MAC计算,并且送回MAC值; 
e、向ESAM发送充值命令、充值金额、充值次数和MAC值对ESAM进行钱包充值。 
参数更新流程: 
A、作身份认证(见身份认证流程); 
B、对ESAM进行明文+MAC参数更新; 
其中,明文+MAC参数更新流程如下: 
a、从ESAM随机数发送 
b、将随机数和离散因子发送给加密机; 
c、加密机使用工作密钥对离散因子进行SM1算法密钥分散,生产过程密钥; 
d、加密机用过程密钥利用随机数对参数更新命令头、参数明文进行SM1算法MAC计算,并且送回MAC值; 
e、向ESAM发送参数更新命令、参数明文和MAC值对ESAM进行参数更新。 
密钥下装流程: 
作身份认证; 
对加密机发送密文导出密钥命令,分别导出密钥(系统身份认证密钥、控制文件线路保护密钥、参数修改线路保护密钥等)密文。 
向ESAM发送更新密钥指令、ESAM对每条密钥的密文进行SM1算法解密逐条更新ESAM中的密钥。 
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。 

Claims (8)

1.一种电表数据的安全处理装置,其特征在于,所述的装置包括:身份认证装置、数据加密装置、数据解密装置及MAC检验装置;其中,
所述的身份认证装置包括:
离散因子转换单元,用于将从外部获取的8字节离散因子转换成16字节离散因子输入数据;
子密钥生成单元,用于根据预存的主密钥对所述的16字节离散因子输入数据进行SM1算法加密,生成16字节子密钥;
认证因子转换单元,用于将从外部智能卡获取的8字节认证因子转换成16字节认证因子输入数据;
表端认证数据生成单元,用于使用所述的子密钥对所述的认证因子输入数据进行SM1算法加密,生成8字节表端认证数据;
加密指令发送单元,用于发送包含认证因子的加密指令给外部智能卡;
卡端认证数据接收单元,用于接收外部智能卡发来的根据所述的认证因子和SM1算法加密生成的卡端认证数据;
认证结果生成单元,用于将所述的表端认证数据和卡端认证数据进行一致性比较,生成认证结果;
所述的数据加密装置包括:
待加密数据生成单元,用于将表示命令数据域的明文数据长度的长度字节添加到所述的明文数据前生成待加密数据;
待加密数据转换单元,用于将所述的待加密数据按顺序划分为多个16字节子数据块D1、D2…Dn;
加密结果生成单元,用于根据预存的SM1密钥采用SM1算法分别对所述的16字节子数据块D1、D2…Dn进行加密,生成加密结果;
所述的数据解密装置包括:
数据转换单元,用于将接收到的加密的命令数据中的命令数据域数据转换为16字节数据块;
明文数据生成单元,用于根据预存的SM1密钥采用SM1算法将所述16字节数据块进行解密,生成明文数据;
所述的MAC值计算装置包括:
初始值生成单元,用于将获取的8字节随机数转换为16字节初始值;
数据块生成单元,用于将报文中的5字节命令头CLA、INS、P1、P2、LC和报文命令数据域的数据连接形成报文数据块;
报文数据块转换单元,用于将所述的报文数据块转换为多个16字节报文子数据块B1,B2…Bn;
MAC值计算单元,用于根据预存的SM1密钥、所述的初始值、16字节报文子数据块采用SM1算法进行计算,进而生成4字节MAC值。
2.如权利要求1所述的安全处理装置,其特征在于,所述的离散因子转换单元包括:
离散因子求反模块,用于对所述的从外部获取的8字节离散因子求反生成8字节离散因子求反值;
离散因子输入数据生成模块,用将所述的8字节离散因子加上所述的离散因子求反值生成16字节离散因子输入数据。
3.如权利要求1所述的安全处理装置,其特征在于,所述的认证因子转换单元包括:
认证因子求反模块,用于对所述的从外部获取的8字节认证因子求反生成8字节认证因子求反值;
认证因子输入数据生成模块,用将所述的8字节认证因子加上所述的认证因子求反值生成16字节认证因子输入数据。
4.如权利要求1所述的安全处理装置,其特征在于,所述的表端认证数据生成单元包括:
SM1算法加密模块,用于使用所述的子密钥对所述认证因子进行SM1算法加密,生成16位字节的认证数据;
认证数据转换模块,用于将所述的16字节认证数据的左右8字节进行异或运算,生成8字节表端认证数据。
5.如权利要求1所述的安全处理装置,其特征在于,所述的加密结果生成单元包括:
判断模块,用于判断子数据块Dn是否为16字节,判断是,采用SM1算法按顺序对所述的子数据块D1、D2…Dn进行加密,根据预存的SM1密钥采用SM1算法按顺序生成加密后的16字节数据块O1、O2、On;
判断否,则在所述的子数据块Dn后添加16进制数80,若子数据块Dn仍不足16字节,则在其后加入16进制数00,直至子数据块Dn长度为16字节,根据预存的SM1密钥采用SM1算法按顺序对16字节子数据块D1、D2…Dn进行加密,生成加密后的16字节数据块O1、O2、On;
生成模块,用于将所述的16字节数据块链接在一起生成加密结果。
6.如权利要求1所述的安全处理装置,其特征在于,所述的报文数据块转换单元包括:
报文划分模块,用于将所述的报文数据块以16字节为单位按顺序划分为多个16字节报文子数据块B1,B2…Bn;
字节判断模块,用于判断所述的报文子数据块Bn是否满足16字节,判断是,在16字节报文数据块Bn后添加16进制数80 00 00 00 00 00 00 00 00 0000 00 00 00 00;
判断否,则在数据块Bn后加上16进制数80,若子数据块Bn仍不足16字节,则在其后加入16进制数00,直至子数据块Bn长度为16字节。
7.如权利要求1所述的安全处理装置,其特征在于,所述的MAC值计算单元包括:
加密模块,用于根据预存的SM1密钥、所述的初始值、16字节报文子数据块采用SM1算法进行计算,生成16字节计算结果;
MAC值生成模块,用于将所述的16字节计算结果按顺序进行4字节分块异或运算生成4字节MAC值。
8.一种电表数据的安全处理系统,其特征在于,所述的系统包括电表数据安全处理装置,所述的电表数据处理装置包括:身份认证装置、数据加密装置、数据解密装置及MAC检验装置;其中,
所述的身份认证装置包括:
离散因子转换单元,用于将从外部获取的8字节离散因子转换成16字节离散因子输入数据;
子密钥生成单元,用于根据预存的主密钥对所述的16字节离散因子输入数据进行SM1算法加密,生成16字节子密钥;
认证因子转换单元,用于将从外部智能卡获取的8字节认证因子转换成16字节认证因子输入数据;
表端认证数据生成单元,用于使用所述的子密钥对所述的认证因子输入数据进行SM1算法加密,生成8字节表端认证数据;
加密指令发送单元,用于发送包含认证因子的加密指令给外部智能卡;
卡端认证数据接收单元,用于接收外部智能卡发来的根据所述的认证因子和SM1算法加密生成的卡端认证数据;
认证结果生成单元,用于将所述的表端认证数据和卡端认证数据进行一致性比较,生成认证结果;
所述的数据加密装置包括:
待加密数据生成单元,用于将表示命令数据域的明文数据长度的长度字节添加到所述的明文数据前生成待加密数据;
待加密数据转换单元,用于将所述的待加密数据按顺序划分为多个16字节子数据块D1、D2…Dn;
加密结果生成单元,用于根据预存的SM1密钥采用SM1算法分别对所述的16字节子数据块D1、D2…Dn进行加密,生成加密结果;
所述的数据解密装置包括:
数据转换单元,用于将接收到的加密的命令数据中的命令数据域数据转换为16字节数据块;
明文数据生成单元,用于根据预存的SM1密钥采用SM1算法将所述16字节数据块进行解密,生成明文数据;
所述的MAC值计算装置包括:
初始值生成单元,用于将获取的8字节随机数转换为16字节初始值;
数据块生成单元,用于将报文中的5字节命令头CLA、INS、P1、P2、LC和报文命令数据域的数据连接形成报文数据块;
报文数据块转换单元,用于将所述的报文数据块转换为多个16字节报文子数据块B1,B2…Bn;
MAC值计算单元,用于根据预存的SM1密钥、所述的初始值、16字节报文子数据块采用SM1算法进行计算,进而生成MAC值。
CN201010250219.9A 2010-08-11 2010-08-11 一种电表数据的安全处理装置及系统 Active CN102377566B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010250219.9A CN102377566B (zh) 2010-08-11 2010-08-11 一种电表数据的安全处理装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010250219.9A CN102377566B (zh) 2010-08-11 2010-08-11 一种电表数据的安全处理装置及系统

Publications (2)

Publication Number Publication Date
CN102377566A true CN102377566A (zh) 2012-03-14
CN102377566B CN102377566B (zh) 2014-04-09

Family

ID=45795592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010250219.9A Active CN102377566B (zh) 2010-08-11 2010-08-11 一种电表数据的安全处理装置及系统

Country Status (1)

Country Link
CN (1) CN102377566B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710412A (zh) * 2012-05-07 2012-10-03 北京握奇数据系统有限公司 加密算法兼容管理的方法及装置
CN102881085A (zh) * 2012-08-23 2013-01-16 北京京源水仪器仪表有限公司 用于智能水表的ic卡模块的安全认证方法
CN103744050A (zh) * 2014-01-23 2014-04-23 国家电网公司 一种智能电能表的现场检测装置
CN103853340A (zh) * 2014-03-28 2014-06-11 广东华大集成技术有限责任公司 一种采用国密sm1加密芯片的触摸键盘及其加密方法
CN104065472A (zh) * 2014-06-25 2014-09-24 上海协霖电子有限公司 电表加密方法
CN104283675A (zh) * 2013-07-10 2015-01-14 中兴通讯股份有限公司 集中器、电表及其消息处理方法
CN104378201A (zh) * 2013-08-12 2015-02-25 国家电网公司 排污数据安全传输的方法、终端及系统
CN104574652A (zh) * 2013-10-14 2015-04-29 国家电网公司 Ic卡排污数据增加、扣减的方法和ic卡
CN106375081A (zh) * 2016-09-18 2017-02-01 四川长虹电器股份有限公司 基于分组加密实现数据加密处理的方法
CN106559218A (zh) * 2015-09-29 2017-04-05 中国电力科学研究院 一种智能变电站计量数据的安全采集方法
CN106778308A (zh) * 2016-12-19 2017-05-31 国网天津市电力公司信息通信公司 一种芯片密钥的写入方法及装置
CN107134059A (zh) * 2017-05-22 2017-09-05 深圳市海威达科技有限公司 用于节水控制器的读卡装置智能维护装置及方法
WO2017197689A1 (zh) * 2016-05-18 2017-11-23 中兴通讯股份有限公司 一种sim卡处理方法、装置、终端及esam芯片
CN107948144A (zh) * 2017-11-17 2018-04-20 国网重庆市电力公司南岸供电分公司 一种基于智能电网信息安全检测的威胁处理系统
CN108234120A (zh) * 2017-12-18 2018-06-29 南昌市科陆智能电网科技有限公司 一种电能卡加密方法
CN110278077A (zh) * 2019-05-31 2019-09-24 西安源捷科技有限公司 一种用于获取电能表数据信息的方法、装置、电子设备及存储介质
CN110286349A (zh) * 2019-06-24 2019-09-27 国网吉林省电力有限公司电力科学研究院 一种用于费控智能电能表的电能计量装置检定方法
CN111435931A (zh) * 2019-01-14 2020-07-21 辽宁巴图鲁能源科技有限公司 电能表分布式检测及存储的链式认证体系
CN111770135A (zh) * 2020-05-25 2020-10-13 湖南麒麟信安科技有限公司 一种透明的对象存储加解密方法、对象存储系统及介质
CN112671710A (zh) * 2020-11-26 2021-04-16 中国大唐集团科学技术研究院有限公司 一种基于国密算法的安全加密装置、双向认证及加密方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101123502A (zh) * 2007-08-28 2008-02-13 浙江大学 基于数字签名的计量值认证方法
CN101170765A (zh) * 2007-11-23 2008-04-30 东信和平智能卡股份有限公司 电信智能卡生产及鉴权方法
CN101339678A (zh) * 2008-08-12 2009-01-07 深圳市思达仪表有限公司 预付费表计密钥管理系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101123502A (zh) * 2007-08-28 2008-02-13 浙江大学 基于数字签名的计量值认证方法
CN101170765A (zh) * 2007-11-23 2008-04-30 东信和平智能卡股份有限公司 电信智能卡生产及鉴权方法
CN101339678A (zh) * 2008-08-12 2009-01-07 深圳市思达仪表有限公司 预付费表计密钥管理系统

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710412A (zh) * 2012-05-07 2012-10-03 北京握奇数据系统有限公司 加密算法兼容管理的方法及装置
CN102710412B (zh) * 2012-05-07 2015-07-01 北京握奇数据系统有限公司 加密算法兼容管理的方法及装置
CN102881085B (zh) * 2012-08-23 2015-07-22 北京京源水仪器仪表有限公司 用于智能水表的ic卡模块的安全认证方法
CN102881085A (zh) * 2012-08-23 2013-01-16 北京京源水仪器仪表有限公司 用于智能水表的ic卡模块的安全认证方法
CN104283675A (zh) * 2013-07-10 2015-01-14 中兴通讯股份有限公司 集中器、电表及其消息处理方法
CN104378201A (zh) * 2013-08-12 2015-02-25 国家电网公司 排污数据安全传输的方法、终端及系统
CN104574652A (zh) * 2013-10-14 2015-04-29 国家电网公司 Ic卡排污数据增加、扣减的方法和ic卡
CN103744050A (zh) * 2014-01-23 2014-04-23 国家电网公司 一种智能电能表的现场检测装置
CN103853340A (zh) * 2014-03-28 2014-06-11 广东华大集成技术有限责任公司 一种采用国密sm1加密芯片的触摸键盘及其加密方法
CN104065472B (zh) * 2014-06-25 2017-04-26 上海协霖电子有限公司 电表加密方法
CN104065472A (zh) * 2014-06-25 2014-09-24 上海协霖电子有限公司 电表加密方法
CN106559218A (zh) * 2015-09-29 2017-04-05 中国电力科学研究院 一种智能变电站计量数据的安全采集方法
WO2017197689A1 (zh) * 2016-05-18 2017-11-23 中兴通讯股份有限公司 一种sim卡处理方法、装置、终端及esam芯片
CN106375081A (zh) * 2016-09-18 2017-02-01 四川长虹电器股份有限公司 基于分组加密实现数据加密处理的方法
CN106778308A (zh) * 2016-12-19 2017-05-31 国网天津市电力公司信息通信公司 一种芯片密钥的写入方法及装置
CN107134059A (zh) * 2017-05-22 2017-09-05 深圳市海威达科技有限公司 用于节水控制器的读卡装置智能维护装置及方法
CN107948144A (zh) * 2017-11-17 2018-04-20 国网重庆市电力公司南岸供电分公司 一种基于智能电网信息安全检测的威胁处理系统
CN108234120A (zh) * 2017-12-18 2018-06-29 南昌市科陆智能电网科技有限公司 一种电能卡加密方法
CN111435931A (zh) * 2019-01-14 2020-07-21 辽宁巴图鲁能源科技有限公司 电能表分布式检测及存储的链式认证体系
CN111435931B (zh) * 2019-01-14 2022-08-16 辽宁巴图鲁能源科技有限公司 电能表分布式检测及存储的链式认证体系
CN110278077A (zh) * 2019-05-31 2019-09-24 西安源捷科技有限公司 一种用于获取电能表数据信息的方法、装置、电子设备及存储介质
CN110286349A (zh) * 2019-06-24 2019-09-27 国网吉林省电力有限公司电力科学研究院 一种用于费控智能电能表的电能计量装置检定方法
CN111770135A (zh) * 2020-05-25 2020-10-13 湖南麒麟信安科技有限公司 一种透明的对象存储加解密方法、对象存储系统及介质
CN111770135B (zh) * 2020-05-25 2023-03-14 湖南麒麟信安科技股份有限公司 一种透明的对象存储加解密方法、对象存储系统及介质
CN112671710A (zh) * 2020-11-26 2021-04-16 中国大唐集团科学技术研究院有限公司 一种基于国密算法的安全加密装置、双向认证及加密方法

Also Published As

Publication number Publication date
CN102377566B (zh) 2014-04-09

Similar Documents

Publication Publication Date Title
CN102377566B (zh) 一种电表数据的安全处理装置及系统
CN103729945B (zh) 一种安全下载终端主密钥的方法及系统
CN102325320B (zh) 一种无线安全通信方法及系统
US9647845B2 (en) Key downloading method, management method, downloading management method, device and system
US9948624B2 (en) Key downloading method, management method, downloading management method, device and system
CN100468438C (zh) 实现硬件和软件绑定的加密和解密方法
CN103001771B (zh) 一种计量自动化系统数据传输安全加密方法
CN102082790B (zh) 一种数字签名的加/解密方法及装置
CN103795534A (zh) 基于口令的认证方法及用于执行该方法的装置
CN107135070A (zh) Rsa密钥对和证书的注入方法、架构及系统
CN102025503B (zh) 一种集群环境下数据安全实现方法和一种高安全性的集群
CN104579679B (zh) 用于农配网通信设备的无线公网数据转发方法
CN103716168A (zh) 密钥管理方法及系统
CN101262341A (zh) 一种会务系统中混合加密方法
CN106357400A (zh) 建立tbox终端和tsp平台之间通道的方法以及系统
CN106953725B (zh) 用于非对称的密钥导出的方法和系统
CN102693385A (zh) 基于sd可信计算模块的嵌入式终端及实现方法
CN105281910A (zh) 带ca数字证书作为入网身份识别的物联网锁及其入网身份识别方法
CN107104795A (zh) Rsa密钥对和证书的注入方法、架构及系统
CN102025486A (zh) 安全智能芯片的密钥管理方法
CN101938353B (zh) 一种远程重置密钥装置个人识别码的方法
CN103051459B (zh) 安全卡的交易密钥的管理方法和装置
CN102624710A (zh) 一种敏感信息传输方法及系统
CN101651538A (zh) 一种基于可信密码模块的数据安全传输方法
CN102598575A (zh) 用于对密码保护的有效数据单元加速解密的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Security processing device and system for electric meter data

Effective date of registration: 20180928

Granted publication date: 20140409

Pledgee: Beijing technology intellectual property financing Company limited by guarantee

Pledgor: Beijing RThitech Co.,Ltd.

Registration number: 2018990000907

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20220718

Granted publication date: 20140409

Pledgee: Beijing technology intellectual property financing Company limited by guarantee

Pledgor: Beijing RThitech Co.,Ltd.

Registration number: 2018990000907

PC01 Cancellation of the registration of the contract for pledge of patent right
TR01 Transfer of patent right

Effective date of registration: 20220721

Address after: 102200 Room 403, gate a, building a, Xinyuan Science Park, Shahe Town, Changping District, Beijing

Patentee after: Beijing Shitong lingxun Technology Co.,Ltd.

Address before: Room 601, block F, Jiahua building, No. 9, Shangdi Third Street, Haidian District, Beijing 100085

Patentee before: Beijing RThitech Co.,Ltd.

TR01 Transfer of patent right