CN103679062B - 智能电表主控芯片和安全加密方法 - Google Patents
智能电表主控芯片和安全加密方法 Download PDFInfo
- Publication number
- CN103679062B CN103679062B CN201310718989.5A CN201310718989A CN103679062B CN 103679062 B CN103679062 B CN 103679062B CN 201310718989 A CN201310718989 A CN 201310718989A CN 103679062 B CN103679062 B CN 103679062B
- Authority
- CN
- China
- Prior art keywords
- certificate
- intelligent electric
- electric meter
- random number
- module
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种智能电表主控芯片,包括内部总线以及连接到所述内部总线上的主处理器模块、数据存储模块和包括计量模块在内的至少一个应用模块,该芯片内还集成有安全控制模块,其连接到所述内部总线上并配置为提供安全加密功能,该芯片还包括连接在所述主处理器模块和所述内部总线之间并被配置为对非法的存储器访问指令进行屏蔽的存储保护模块。通过将安全控制模块内置于主控芯片并以内部总线连接到中央处理模块,能够有效地避免智能电表终端的应用软件旁路安全控制芯片的安全漏洞,同时降低生产测试成本。本发明还提供了基于该智能电表主控芯片和证书授权中心的安全加密方法,进一步保证了电力系统的安全。
Description
技术领域
本发明涉及具有安全加密功能的智能电表主控芯片和基于该芯片的安全加密方法。
背景技术
目前,国家电网公司开展的电力用户用电信息采集系统的全面统一建设工作,系统中大量使用的电力采集终端都按照规范统一设计。电力采集终端普遍采用称为嵌入式安全控制模块(Embedded Secure Access Module,ESAM)的独立安全芯片以达到安全防护的目的。
由于智能电表终端的主控单元运行的用来实现电表终端主要功能的应用软件是由诸多不确定的生产厂商开发的,出于安全管理的目的,密钥等关键敏感信息不能出现在主控单元中,因此ESAM芯片由运营方或委托的第三方独立开发制造,并采用ISO/IEC7816-3《带触点的集成电路卡电信号和传输协议》标准及协议与电力采集终端主控单元相连。
采用物理上分离的ESAM芯片实现电力采集终端的安全控制,虽然使得电力采集终端生产商只需专注于智能电表终端本身的功能性设计,无需过多关注其安全性的实现,但存在如下问题:
1)所有安全操作的指令转发和ESAM芯片执行结果的利用仍然需要主控芯片的主处理器模块作为中间或最终节点来负责,因此,可能由于调试和测试的需要或者应用软件设计漏洞等原因,造成应用软件绕过智能电表终端正常运行必须执行的安全操作流程而直接将ESAM芯片旁路。这种安全漏洞一旦出现,将极大地危害电力运营方的利益;
2)由于主站和电表终端存在一个公钥交换过程,开放的ESAM芯片接口会带来仿冒ESAM芯片的风险;
3)独立形式的ESAM芯片必须预先植入测试密钥并安装到电表终端,以方便开发、生产和测试,这就不可避免地带来相关生产测试成本的提高,以及ESAM芯片生产管理和安装使用的大量开销。
另一方面,ESAM芯片只采用对称加密算法(比如DES算法、SM1算法等)来实现。由于对称密码体制的基本特征是加密密钥和解密密钥相同或实质上相同,因此对称密码系统的加密强度除依赖于算法本身的强度外还依赖于密钥的分配与管理。在对称密码系统中,多部电表终端会共享同一个密钥,因此一旦某级密钥由于密钥管理等原因泄露,则其下所有的相关密钥将全部失效,其影响范围较大。
专利CN102111265A公布了一种基于ESAM芯片的采用对称加密体制(SM1)和非对称加密体制(RSA)相结合的混合密码体制的加密方法,其在ESAM芯片中加入了非对称加密算法,解决了对称密码体制中密钥管理(密钥生成、存储和分发)的难题,但由于公钥体制存在一个公钥的交换过程,会加大通过ESAM芯片开放的外部接口进行仿冒ESAM芯片的风险,同时也给整个电力系统带来了安全隐患。
发明内容
为了解决现有技术中存在的上述问题,本发明提出了一种具有新型结构的智能电表主控芯片,能够有效地避免智能电表终端的应用软件旁路ESAM芯片的安全漏洞;同时提出了一种基于智能电表主控芯片和证书授权(Certificate Authority,CA)中心的公钥证书体系的安全加密方法,进一步保证了电力系统的安全。
本发明提供了一种智能电表主控芯片,该芯片包括内部总线以及连接到所述内部总线上的主处理器模块、数据存储模块和包括计量模块在内的至少一个应用模块其特征在于,该芯片内还集成有安全控制模块,其连接到所述内部总线上并配置为提供安全加密功能;该芯片还包括连接在所述主处理器模块和所述内部总线之间,并配置为对非法的存储器访问指令进行屏蔽的存储保护模块。
进一步地,所述主处理器模块被配置为能够以特权模式运行片上操作系统软件和以普通模式运行应用软件;所述数据存储模块被划分为特权数据存储区和普通数据存储区,所述特权数据存储区被配置为允许所述片上操作系统软件的访问且不允许所述应用软件的访问,所述普通数据存储区被配置为允许所述片上操作系统软件和所述应用软件的访问;所述存储保护模块被配置为将所述应用软件对所述特权数据存储区的访问指令进行屏蔽。
优选地,所述存储保护模块具有熔丝开关,其被配置为控制所述存储保护模块的启用和停用。
进一步地,所述安全控制模块包括用于对消息进行加解密的对称加密算法模块、用于生成密钥对和身份认证的非对称加密算法模块、用于消息校验的杂凑算法模块和/或用于协商会话密钥的随机数生成模块。
本发明还提供了一种基于前述智能电表主控芯片的安全加密方法,该方法包括智能电表终端首次使用时的证书颁发过程,其特征在于,在该过程中,所述智能电表终端执行如下步骤:S11.生成包括第一公钥和第一私钥的第一密钥对并保存在所述特权数据存储区,将包括所述第一公钥和所述智能电表标识信息的证书请求信息发送给证书授权中心;S12.从所述证书授权中心接收包括第一证书和由所述证书授权中心生成的第二公钥的证书应答信息,其中,所述第一证书由所述证书授权中心用其生成的第二私钥对所述证书请求信息进行数字签名而生成;S13.将接收到的所述第二公钥保存在所述特权数据存储区,并用所述第二公钥对接收到的所述第一证书进行签名验证,验证通过则发送确认信息给所述证书授权中心,所述证书颁发过程结束;验证失败则发送否认信息给所述证书授权中心,并返回步骤S11。
本发明还提供了一种基于前述智能电表主控芯片的安全加密方法,该方法包括智能电表终端对用户IC卡或远程主站的身份认证过程,在该过程中,所述智能电表终端执行如下步骤:S21.发送身份认证命令给用户IC卡或远程主站;S22.从所述用户IC卡或远程主站接收第二证书、第一随机数序列和以第三私钥对所述第一随机数序列进行数字签名而生成的第一随机序列的密文;S23.判断接收到的所述第二证书是否在存储于所述特权数据存储区的合法证书列表中,如果在则执行步骤S26,如果不在则将所述第二证书发送给所述证书授权中心进行合法性查询;S24.从所述证书授权中心接收关于所述第二证书是否存在于证书库的合法证书列表中的确认信息或否认信息;S25.如果接收到所述确认信息,则将所述第二证书保存在存储于所述特权数据存储区的合法证书列表中,并执行步骤S26;如果接收到所述否认信息,则结束所述身份认证过程;S26.用接收自所述证书授权中心的第二公钥对所述第二证书进行解密得到与所述第三私钥对应的第三公钥,将所述第三公钥保存在所述特权数据存储区,并用所述第三公钥对所述第一随机数序列的密文进行解密,并将解密后的结果与所述第一随机数序列进行比较,如果比较结果相同则认为所述用户IC卡或远程主站合法,身份认证成功;如果比较结果不同则认为所述用户IC卡或远程主站非法,身份认证失败,所述身份认证过程结束。
本发明还提供了一种基于前述智能电表主控芯片的安全加密方法,该方法包括用户IC卡或远程主站对智能电表终端的身份认证过程,在该过程中,所述用户IC卡或远程主站执行如下步骤:S31.从所述智能电表终端接收第一证书、第二随机数序列和用第一私钥对所述第二随机数序列进行数字签名生成的第二随机数序列的密文;S32.判断接收到的所述第一证书是否已经存在于其保存的合法证书列表中,如果存在则执行步骤S35,如果不存在则将所述第一证书发送给所述证书授权中心进行合法性查询;S33.从所述证书授权中心接收关于所述第一证书是否存在于证书库的合法证书列表中的确认信息或否认信息;S34.如果接收到所述确认信息,则将所述第一证书保存在其合法证书列表中,并执行步骤S35;如果接收到所述否认信息,则身份认证失败,所述身份认证过程结束;S35.用接收自所述证书授权中心的第二公钥对所述第一证书进行解密得到与所述第一私钥对应的第一公钥,保存所述第一公钥并用所述第一公钥对所述第二随机数序列的密文进行解密,并将解密后的结果与所述第二随机数序列进行比较,如果比较结果相同则认为所述智能电表终端合法,身份认证成功;如果比较结果不同则认为所述智能电表终端非法,身份认证失败。
本发明还提供了一种基于前述智能电表主控芯片的安全加密方法,该方法包括智能电表终端与用户IC卡或远程主站之间每次通信之前的会话密钥协商过程,在该过程中,所述智能电表终端执行如下步骤:S41.生成包括第四公钥和第四私钥的第四密钥对,将所述第四密钥对保存在所述特权数据存储区,然后发送会话密钥协商命令和所述第四公钥给用户IC卡或远程主站;S42.从所述用户IC卡或远程主站接收第一随机数的密文和第五公钥,所述第一随机数的密文由所述用户IC卡或远程主站用所述第四公钥对其生成的第一随机数进行加密而生成;S43.用所述第四私钥对接收到的第一随机数的密文进行解密得到第二随机数,将所述第二随机数保存在所述特权数据存储区,并将用所述第五公钥对所述第二随机数进行加密后生成的所述第二随机数的密文发送给所述用户IC卡或远程主站;S44.从所述用户IC卡或远程主站接收确认信息或否认信息,其中所述确认信息和否认信息由所述用户IC或远程主站根据其用与所述第五公钥对应的第五私钥对所述第二随机数的密文进行解密得到的第三随机数与所述第一随机数的比较结果是否相同而发送,如果接收到所述确认信息,则进行步骤S45,如果接收到所述否认信息,则返回步骤S41;S45.将所述第二随机数作为所述加密通信过程的密钥。
进一步地,所述用户IC卡或远程主站将所述第一随机数作为所述加密通信过程的密钥,所述安全加密方法还包括智能电表终端与用户IC卡或远程主站之间的加密通信过程,在该过程中,所述智能电表终端执行如下步骤:S51.对需要发送的通信消息生成第一消息摘要,用所述第二随机数对所述通信消息和所述第一消息摘要进行加密形成加密信息,并将所述加密信息发送给所述用户IC卡或远程主站;S52.从所述用户IC卡或远程主站接收确认信息或否认信息,其中,所述用户IC卡或远程主站根据其用所述第一随机数对所述加密信息进行解密而得到所述通信消息和所述第一消息摘要,然后根据解密后的所述通信消息生成第二消息摘要,将所述第二消息摘要与所述第一消息摘要进行比较,如果比较结果相同则发出所述确认信息,如果比较结果不同则发出所述否认信息;S53.重复执行步骤S51~S52,直到没有通信消息需要发送时,所述加密通信过程结束。
优选地,所述加密通信过程结束后,所述用户IC卡或远程主站删除所述第一随机数,所述智能电表终端删除所述第二随机数。
与现有技术相比,本发明提供的智能电表主控芯片和基于该主控芯片的安全加密方法,其有益效果在于:
1)通过将安全控制模块内置于主控芯片并以内部总线连接到中央处理模块,使得运营方只需在智能电表终端挂装前下载一套以特权模式运行的片上操作系统软件,并将存储保护模块的熔丝开关打开,即可使得应用软件必须通过片上操作系统才能访问特权数据存储区,从而能够有效地避免智能电表终端的应用软件旁路安全控制模块的安全漏洞,进一步增强了智能电表终端的加密系统的安全性;
2)通过将安全控制模块设置于主控芯片内部,从而避免了开放的ESAM芯片接口带来的仿冒ESAM芯片的风险;
3)通过将安全控制模块内置于主控芯片并以内部总线连接到中央处理模块,使得运营方只需在智能电表终端挂装前对电表终端发行一套电子化的公钥证书便可将之投入运行,而无需像现有技术那样必须向电表终端生产厂商销售专用的ESAM芯片,电表终端生产厂商也无需预先对ESAM芯片植入测试密钥并安装到电表终端,从而降低了生产和测试成本,也简化了密钥管理等运营流程;
4)基于CA中心的安全加密方法,结合对称算法、非对称算法和杂凑算法的公钥证书认证体系和流程,使得各个电表终端、IC卡用户和远程主站使用的公钥必须经CA中心签名才能够正常使用,进一步保证了电力系统的安全。
附图说明
图1为本发明的智能电表主控芯片的优选的实施方式的结构示意图;
图2为本发明的智能电表主控芯片的优选的实施方式的安全控制模块的结构示意图;
图3为本发明的智能电表主控芯片的优选的实施方式的主处理器模块和程序存储模块的结构示意图;
图4为本发明的智能电表主控芯片的优选的实施方式的数据存储模块的结构示意图;
图5为本发明的智能电表主控芯片的优选的实施方式执行普通应用命令的流程示意图;
图6为本发明的智能电表主控芯片的优选的实施方式执行特权命令失败的流程示意图;
图7为本发明的智能电表主控芯片的优选的实施方式执行特权命令成功的流程示意图;
图8为本发明的安全加密方法的优选的实施方式的证书颁发过程的流程图;
图9为本发明的安全加密方法的优选的实施方式的身份认证过程的流程图;
图10为本发明的安全加密方法的优选的实施方式的会话密钥协商过程的流程图;
图11为本发明的安全加密方法的优选的实施方式的加密通信过程的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明的智能电表主控芯片以及基于该芯片的安全加密方法作进一步的详细描述,但不作为对本发明的限定。
如图1所示,是本发明优选的实施方式的智能电表主控芯片的结构示意图。在该优选的实施方式中,智能电表主控芯片包括内部总线以及连接到内部总线上的主处理器模块、程序存储模块、数据存储模块、应用模块、用于向主处理器模块提供安全加密算法的安全控制模块,以及连接在主处理器模块和内部总线之间用于对非法的存储器访问指令进行屏蔽的存储保护模块。其中,如图1所示,应用模块包括时钟模块、显示模块、计量模块和通信接口模块。如图2所示,安全控制模块包括用于对消息进行加解密的对称加密算法模块、用于生成密钥对和身份认证的非对称加密算法模块、用于消息校验的杂凑算法模块和用于协商会话密钥的随机数生成模块。
现有的智能电表主控芯片只允许一个应用在运行,该应用可以访问和控制主控芯片上的所有资源,没有任何限制。同时,该应用也可以不访问以ISO/IEC7816-3接口连接到主控芯片的ESAM芯片从而将之旁路。本发明的智能电表主控芯片,将ESAM芯片的功能集成到主控芯片内部,即将安全控制模块通过内部总线连接到中央处理模块,此时如果不采用限制方法,中央处理器上运行的应用软件同样可以访问密码安全运算过程所涉及的敏感数据,或者将安全控制模块旁路。
为此,如图3所示,本发明的主处理器模块被配置为运行以特权模式运行的片上操作系统(COS)软件和以普通模式运行的应用软件。相应地,程序存储模块被划分为COS软件存储区和应用软件存储区。如图4所示,数据存储模块被划分为特权数据存储区和普通数据存储区,特权数据存储区存储包括安全密钥、当前剩余资金、电表关键配置参数等在内的关键敏感信息,被配置为仅允许COS软件访问;普通数据存储区存储非关键敏感信息,被配置为允许COS软件和应用软件访问。以上对数据存储区的访问保护由存储保护模块来实现,存储保护模块被配置为将应用软件对特权数据存储区的访问指令进行屏蔽,根据事先设定的权限表对每次的存储访问指令进行过滤,如果当前访问的地址其访问主体有访问权限,则允许访问;反之,则屏蔽访问。
由于COS软件的存在,主控芯片可允许多个应用分时运行。COS软件存储区具有最高的权限等级,由运营方在智能电表终端挂装前下载COS软件并开启存储保护功能。其它常规功能的应用软件(如显示、计量、通讯等功能)存储于应用软件存储区,具有较低的权限等级,由不定的智能电表终端开发生产厂商下载应用软件并使用。
对于关键敏感操作,例如拉闸、合闸、扣费和充值等操作,由COS软件对外提供应用程序接口(API),其它应用软件只能通过调用这些接口来完成相应的操作,不能直接实现这些功能,因为直接实现这些功能时对特权数据存储区的访问会由存储访问模块根据权限保护设置予以屏蔽。关键敏感操作执行前必须由COS软件对发起该操作的外部接口对象通过相关密码认证和运算流程,不受应用软件的控制。由此,可以防止应用软件对特权数据存储区的非法访问,也可以避免应用软件在执行关键敏感操作时对安全控制模块的旁路。
优选地,存储保护模块具有熔丝开关,当熔丝开关关闭时,存储保护模块停用;当熔丝开关打开时,存储保护模块启用。当熔丝开关关闭时,主控芯片与数据存储模块直接相连,此时主控芯片不支持多个应用,像现有的主控芯片一样,单应用可以控制和访问所有资源。在这种情况下,不会因为安全控制模块的加入而影响到生产商对智能电表终端的开发、生产和测试。在智能电表终端投入使用后,熔丝开关打开。
以下结合智能电表终端的典型工作流程,进一步对本发明的智能电表主控芯片进行描述。
如图5所示,是本发明的智能电表主控芯片的优选的实施方式执行普通应用命令的流程示意图。外部接口对象将包括按键操作、计量统计等的普通应用命令发给应用软件,应用软件进行命令处理后将普通数据存储区访问命令发给存储保护模块,存储保护模块判断该命令的访问对象为普通数据存储区,则透传该命令,并将访问结果透传给应用软件,应用软件经过结果处理后将应用结果返回给外部接口对象。
如图6所示,是本发明的智能电表主控芯片的优选的实施方式执行特权命令失败的流程示意图。外部接口对象将充值等特权命令发给应用软件,应用软件进行命令处理后将特权数据存储区访问命令发给存储保护模块,存储保护模块判断该命令的访问对象为特权数据存储区并且访问主体为以普通模式运行的应用软件,则屏蔽该命令,返回出错信息给应用软件,应用软件经过出错处理后将出错结果返回给外部接口对象。这样,外部接口对象的应用软件不能够绕过COS软件从而绕过安全控制模块而直接访问关键敏感数据,保证了智能电表终端中关键敏感数据的操作安全,从而保证了运营方的利益。
如图7所示,是本发明的智能电表主控芯片的优选的实施方式执行特权命令成功的流程示意图。外部接口对象将充值等特权命令发给应用软件,应用软件进行命令处理,在需要访问特权数据存储区时,需要调用COS软件提供的API,COS软件被调用后按照预置的流程先与接口对象进行身份认证、会话密钥协商和交易处理等安全认证过程,对通过安全认证后的外部接口对象执行后续过程:将特权数据存储区访问命令发给存储保护模块,存储保护模块判断该命令的访问对象为特权数据存储区并且访问主体为以特权模式运行的COS软件,则透传该命令,命令更新特权数据后,存储保护模块将访问结果透传给COS软件,COS软件经过结果处理后API调用返回应用软件,应用软件经过结果处理后将特权命令结果返回给外部接口对象。
需要说明的是,本发明的智能电表主控芯片,也可以应用于其它计量表终端,例如智能水表、智能气表等,还可以应用于金融终端、通信终端、交通收费终端、程控设备、信息家电以及机顶盒等需要安全加密的终端设备。
下面通过描述运营方的CA中心、智能电表终端和用户IC卡或远程主站(例如远程费控主站)之间的交互流程来详细描述本发明的安全加密方法的具体实施方式。基于本发明的智能电表主控芯片的安全加密方法的使用,主要体现在以下几个过程中:智能电表终端首次使用时的证书颁发过程、对智能电表终端进行关键敏感操作之前的身份认证过程、智能电表终端与用户IC卡或远程主站之间每次通信之前的会话密钥协商过程、以及智能电表终端与用户IC卡或远程主站之间的加密通信过程。
智能电表终端、用户IC卡或远程主站第一次投入使用时需要向运营方的CA中心请求颁发证书,颁发的证书用于身份合法性认证,因此颁发证书成功之后设备才能投入使用。如图8所示,为本发明的安全加密方法的智能电表终端的证书颁发成功的流程示意图。包括智能电表主控芯片的智能电表终端通过非对称加密算法模块生成包括第一公钥和第一私钥的第一密钥对,将第一密钥对保存在特权数据存储区,将包括第一公钥和智能电表主控芯片的安全序列号的证书请求信息发送给CA中心;CA中心用已经生成的第二私钥对接收到的证书请求信息进行数字签名以生成智能电表终端的第一证书,并将第一证书登记到证书库,然后将包括第一证书和已经生成的第二公钥的证书应答信息发送给智能电表终端;智能电表终端将接收到的第二公钥保存在特权数据存储区,并通过非对称加密算法模块用第二公钥对接收到的第一证书进行签名验证,验证通过则发送确认信息给CA中心,证书颁发成功,该过程结束。反之,如果签名验证失败,则发送否认信息给CA中心,并重复以上步骤,再次执行证书颁发过程。
以上仅描述了智能电表终端的证书颁发过程,IC卡用户和远程主站的证书颁发过程与之相同,不再重复描述。
由于CA中心对智能电表终端、用户IC卡或远程主站颁发的证书是这些设备身份合法性的凭证,因此证书颁发必须要在一个安全的环境中进行。基于本发明的智能电表主控芯片,由于证书颁发过程中没有通过外部接口的数据交互,从而可以保证证书颁发过程的数据安全。
对智能电表终端进行插卡充值或远程充值等关键操作时,需要进行双向身份认证,即智能电表终端对用户IC卡或远程主站的身份认证和用户IC卡或远程主站对智能电表终端的身份认证。双向身份认证成功后才能进行插卡充值或远程充值的关键操作。如图9所示,为本发明的安全加密方法的身份认证过程的成功流程示意图。智能电表终端对用户IC卡或远程主站的身份认证包括:智能电表终端发送身份认证命令给用户IC卡或远程主站;用户IC卡或远程主站生成第一随机数序列,用已经生成的第三私钥对第一随机数序列进行数字签名以生成第一随机数序列的密文,并将第一随机数序列、第一随机序列的密文和CA中心给用户IC卡或远程主站颁发的第二证书发送给智能电表终端;智能电表终端判断接收到的第二证书是否已经存在于存储于特权数据存储区的合法证书列表中,如果不存在则将第二证书发送给CA中心进行合法性查询;CA中心查询接收到的第二证书是否存在于证书库的合法证书列表中,如果存在则发送确认信息给智能电表终端;智能电表终端接收CA中心返回的确认信息,将第二证书保存在存储于特权数据存储区的合法证书列表中,并通过非对称加密算法模块用第二公钥对第二证书进行解密,从解密后的第二证书中提取出第三公钥,将第三公钥保存在特权数据存储区,并通过非对称加密算法模块用第三公钥对第一随机数序列的密文进行解密,并将解密后的结果与第一随机数序列进行比较,如果比较结果相同则认为用户IC卡或远程主站合法,身份认证成功。用户IC卡或远程主站对智能电表终端的身份认证包括:智能电表终端通过随机数生成模块生成第二随机数序列,通过非对称算法模块用第一私钥对第二随机数序列进行数字签名以生成第二随机数序列的密文,并将第二随机数序列、第二随机序列的密文和第一证书发送给用户IC卡或远程主站;用户IC卡或远程主站判断接收到的第一证书是否已经存在于其保存的合法证书列表中,如果不存在则将第一证书发送给CA中心进行合法性查询;CA中心查询接收到的第一证书是否存在于证书库的合法证书列表中,如果存在则发送确认信息给用户IC卡或远程主站;用户IC卡或远程主站接收CA中心返回的确认信息,并将第一证书保存在其合法证书列表中,用其证书颁发过程中保存的第二公钥对第一证书进行解密,从解密后的第一证书中提取出第一公钥,保存第一公钥并用第一公钥对第二随机数序列的密文进行解密,并将解密后的结果与第二随机数序列进行比较,如果比较结果相同则认为智能电表终端合法,身份认证成功。
在通信双方进行加密通信之前,首先需要协商一个共同的会话密钥,该过程为会话密钥协商过程。参照图10,为本发明的安全加密方法的会话密钥协商过程的成功流程示意图。会话密钥协商过程包括:智能电表终端通过非对称加密算法模块生成包括第四公钥和第四私钥的第四密钥对,将第四密钥对保存在特权数据存储区,然后发送会话密钥协商命令和第四公钥给用户IC卡或远程主站;用户IC卡或远程主站接收到会话密钥协商命令后生成包括第五公钥和第五私钥的第五密钥对,然后生成第一随机数并保存该第一随机数,用第四公钥对第一随机数进行加密,并将第一随机数的密文和第五公钥发送给智能电表终端;智能电表终端通过非对称加密算法模块用第四私钥对接收到的第一随机数的密文进行解密得到第二随机数,将第二随机数保存在特权数据存储区,并通过非对称加密算法模块用第五公钥对第二随机数进行加密,并将第二随机数的密文发送给用户IC卡或远程主站;用户IC卡或远程主站用第五私钥对接收到的第二随机数的密文进行解密得到第三随机数,将第三随机数与第一随机数比较,如果比较结果相同则发送确认信息给智能电表终端;智能电表终端将第二随机数作为后续加密通信过程的密钥,用户IC卡或远程主站将第一随机数作为后续加密通信过程的密钥。
会话密钥协商好之后,通信双方即可用协商好的密钥进行加密通信。此次加密通信过程结束后,此次协商的会话密钥删除,做到一次一密,从而进一步提高通信的保密安全性。
通信双方进行通信时,为了保证业务数据的安全,需要对业务数据进行加密传输,即在发送方对信息进行加密并发送,接收方对接收到的信息进行解密。在对信息进行加密的过程中,为了防止传输消息在中途被篡改,保证信息的完整性,发送方需要对消息添加校验值,接收方根据该校验值进行消息校验。参照图11,为本发明的安全加密方法的加密通信过程的成功流程示意图。加密通信过程包括:智能电表终端通过杂凑算法模块对需要发送的通信消息生成第一消息摘要,通过对称算法模块用第二随机数对通信消息和第一消息摘要进行加密形成加密信息,并将加密信息发送给用户IC卡或远程主站;用户IC卡或远程主站用第一随机数对接收到加密信息进行解密以得到通信消息和第一消息摘要,然后根据解密后的通信消息生成第二消息摘要,将第二消息摘要与第一消息摘要进行比较,如果比较结果相同则发送确认信息给智能电表终端;重复执行以上步骤,直到没有通信消息需要发送为止。在上述加密通信过程结束后,用户IC卡或远程主站删除第一随机数,智能电表终端删除第二随机数。
以上过程中所涉及的子过程有密钥对生成、数字签名、签名验证、消息摘要生成,对这些子过程描述如下:
1)密钥对生成:对信息进行加解密需要用到密钥,密钥按是否公开分成公钥和私钥,公钥用于接收方对发送方的发送信息进行解密和有效性验证,私钥用于发送方方对发送信息进行加密。证书颁发和身份认证过程中用到的密钥对与会话密钥协商过程中用到的密钥对可以相同,优选地,为安全起见,对这两个过程采用不同的密钥对。一个公钥和一个私钥组成一个密钥对。密钥对使用非对称加密算法(例如RSA、ECC或SM2等算法)生成。通信双方需要保存对方的公钥,比如智能电表终端需要保存其从属的CA中心的公钥以及与其通信的IC卡用户或远程主站的公钥,CA中心需要保存所有其下属的终端设备的公钥。
2)数字签名和签名验证:为了保证消息传输的不可否认性或实现对通信对象合法性的认证,发送方通过非对称加密算法用私钥对消息进行RSA运算,将运算结果送给接收方,此过程为数字签名。接收方用发送方的公钥对接收到的签名值进行解密,并与原文比较,如果比较结果一致则通过验证,反之验证失败,此过程为签名验证。
3)消息摘要生成:发送方将消息(明文或密文)通过杂凑算法(例如SHA-1或SM3算法)得出一串较短的序列,该序列代表该消息的消息摘要,消息中的任何改变都会得到不同的消息摘要。消息摘要生成后将消息和消息摘要一起发送给接收方,接收方对消息重新计算消息摘要并与接收到的消息摘要进行比较,相等则说明消息未被篡改,反之说明消息被篡改。
以上具体实施方式仅为本发明的示例性实施方式,不能用于限定本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这些修改或等同替换也应视为落在本发明的保护范围内。
Claims (9)
1.一种智能电表主控芯片,该芯片包括内部总线以及连接到所述内部总线上的主处理器模块、数据存储模块和包括计量模块在内的至少一个应用模块其特征在于,
该芯片内还集成有安全控制模块,其连接到所述内部总线上并配置为提供安全加密功能;
该芯片还包括连接在所述主处理器模块和所述内部总线之间,并配置为对非法的存储器访问指令进行屏蔽的存储保护模块,
所述主处理器模块被配置为能够以特权模式运行片上操作系统软件和以普通模式运行应用软件;
所述数据存储模块被划分为特权数据存储区和普通数据存储区,所述特权数据存储区被配置为允许所述片上操作系统软件的访问且不允许所述应用软件的访问,所述普通数据存储区被配置为允许所述片上操作系统软件和所述应用软件的访问;
所述存储保护模块被配置为将所述应用软件对所述特权数据存储区的访问指令进行屏蔽。
2.根据权利要求1所述的智能电表主控芯片,其特征在于,所述存储保护模块具有熔丝开关,其被配置为控制所述存储保护模块的启用和停用。
3.根据权利要求1所述的智能电表主控芯片,其特征在于,所述安全控制模块包括用于对消息进行加解密的对称加密算法模块、用于生成密钥对和身份认证的非对称加密算法模块、用于消息校验的杂凑算法模块和/或用于协商会话密钥的随机数生成模块。
4.一种基于权利要求1-3中任一项权利要求所述的智能电表主控芯片的安全加密方法,该方法包括智能电表终端首次使用时的证书颁发过程,其特征在于,在该过程中,所述智能电表终端执行如下步骤:
S11.生成包括第一公钥和第一私钥的第一密钥对并保存在所述特权数据存储区,将包括所述第一公钥和所述智能电表标识信息的证书请求信息发送给证书授权中心;
S12.从所述证书授权中心接收包括第一证书和由所述证书授权中心生成的第二公钥的证书应答信息,其中,所述第一证书由所述证书授权中心用其生成的第二私钥对所述证书请求信息进行数字签名而生成;
S13.将接收到的所述第二公钥保存在所述特权数据存储区,并用所述第二公钥对接收到的所述第一证书进行签名验证,验证通过则发送确认信息给所述证书授权中心,所述证书颁发过程结束;验证失败则发送否认信息给所述证书授权中心,并返回步骤S11。
5.一种基于权利要求1-3中任一项权利要求所述的智能电表主控芯片的安全加密方法,该方法包括智能电表终端对用户IC卡或远程主站的身份认证过程,在该过程中,所述智能电表终端执行如下步骤:
S21.发送身份认证命令给用户IC卡或远程主站;
S22.从所述用户IC卡或远程主站接收第二证书、第一随机数序列和以第三私钥对所述第一随机数序列进行数字签名而生成的第一随机序列的密文;
S23.判断接收到的所述第二证书是否在存储于所述特权数据存储区的合法证书列表中,如果在则执行步骤S26,如果不在则将所述第二证书发送给所述证书授权中心进行合法性查询;
S24.从所述证书授权中心接收关于所述第二证书是否存在于证书库的合法证书列表中的确认信息或否认信息;
S25.如果接收到所述确认信息,则将所述第二证书保存在存储于所述特权数据存储区的合法证书列表中,并执行步骤S26;如果接收到所述否认信息,则结束所述身份认证过程;
S26.用接收自所述证书授权中心的第二公钥对所述第二证书进行解密得到与所述第三私钥对应的第三公钥,将所述第三公钥保存在所述特权数据存储区,并用所述第三公钥对所述第一随机数序列的密文进行解密,并将解密后的结果与所述第一随机数序列进行比较,如果比较结果相同则认为所述用户IC卡或远程主站合法,身份认证成功;如果比较结果不同则认为所述用户IC卡或远程主站非法,身份认证失败,所述身份认证过程结束。
6.一种基于权利要求1-3中任一项权利要求所述的智能电表主控芯片的安全加密方法,该方法包括用户IC卡或远程主站对智能电表终端的身份认证过程,在该过程中,所述用户IC卡或远程主站执行如下步骤:
S31.从所述智能电表终端接收第一证书、第二随机数序列和用第一私钥对所述第二随机数序列进行数字签名生成的第二随机数序列的密文;
S32.判断接收到的所述第一证书是否已经存在于其保存的合法证书列表中,如果存在则执行步骤S35,如果不存在则将所述第一证书发送给所述证书授权中心进行合法性查询;
S33.从所述证书授权中心接收关于所述第一证书是否存在于证书库的合法证书列表中的确认信息或否认信息;
S34.如果接收到所述确认信息,则将所述第一证书保存在其合法证书列表中,并执行步骤S35;如果接收到所述否认信息,则身份认证失败,所述身份认证过程结束;
S35.用接收自所述证书授权中心的第二公钥对所述第一证书进行解密得到与所述第一私钥对应的第一公钥,保存所述第一公钥并用所述第一公钥对所述第二随机数序列的密文进行解密,并将解密后的结果与所述第二随机数序列进行比较,如果比较结果相同则认为所述智能电表终端合法,身份认证成功;如果比较结果不同则认为所述智能电表终端非法,身份认证失败。
7.一种基于权利要求1-3中任一项权利要求所述的智能电表主控芯片的安全加密方法,该方法包括智能电表终端与用户IC卡或远程主站之间每次通信之前的会话密钥协商过程,在该过程中,所述智能电表终端执行如下步骤:
S41.生成包括第四公钥和第四私钥的第四密钥对,将所述第四密钥对保存在所述特权数据存储区,然后发送会话密钥协商命令和所述第四公钥给用户IC卡或远程主站;
S42.从所述用户IC卡或远程主站接收第一随机数的密文和第五公钥,所述第一随机数的密文由所述用户IC卡或远程主站用所述第四公钥对其生成的第一随机数进行加密而生成;
S43.用所述第四私钥对接收到的第一随机数的密文进行解密得到第二随机数,将所述第二随机数保存在所述特权数据存储区,并将用所述第五公钥对所述第二随机数进行加密后生成的所述第二随机数的密文发送给所述用户IC卡或远程主站;
S44.从所述用户IC卡或远程主站接收确认信息或否认信息,其中所述确认信息和否认信息由所述用户IC或远程主站根据其用与所述第五公钥对应的第五私钥对所述第二随机数的密文进行解密得到的第三随机数与所述第一随机数的比较结果是否相同而发送,如果接收到所述确认信息,则进行步骤S45,如果接收到所述否认信息,则返回步骤S41;
S45.将所述第二随机数作为所述加密通信过程的密钥。
8.根据权利要求7所述的安全加密方法,其特征在于,所述用户IC卡或远程主站将所述第一随机数作为所述加密通信过程的密钥,所述安全加密方法还包括智能电表终端与用户IC卡或远程主站之间的加密通信过程,在该过程中,所述智能电表终端执行如下步骤:
S51.对需要发送的通信消息生成第一消息摘要,用所述第二随机数对所述通信消息和所述第一消息摘要进行加密形成加密信息,并将所述加密信息发送给所述用户IC卡或远程主站;
S52.从所述用户IC卡或远程主站接收确认信息或否认信息,其中,所述用户IC卡或远程主站根据其用所述第一随机数对所述加密信息进行解密而得到所述通信消息和所述第一消息摘要,然后根据解密后的所述通信消息生成第二消息摘要,将所述第二消息摘要与所述第一消息摘要进行比较,如果比较结果相同则发出所述确认信息,如果比较结果不同则发出所述否认信息;
S53.重复执行步骤S51~S52,直到没有通信消息需要发送时,所述加密通信过程结束。
9.根据权利要求8所述的安全加密方法,其特征在于,所述加密通信过程结束后,所述用户IC卡或远程主站删除所述第一随机数,所述智能电表终端删除所述第二随机数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310718989.5A CN103679062B (zh) | 2013-12-23 | 2013-12-23 | 智能电表主控芯片和安全加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310718989.5A CN103679062B (zh) | 2013-12-23 | 2013-12-23 | 智能电表主控芯片和安全加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103679062A CN103679062A (zh) | 2014-03-26 |
CN103679062B true CN103679062B (zh) | 2017-02-08 |
Family
ID=50316569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310718989.5A Active CN103679062B (zh) | 2013-12-23 | 2013-12-23 | 智能电表主控芯片和安全加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103679062B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104316898A (zh) * | 2014-10-29 | 2015-01-28 | 天正集团有限公司 | 一种esam模块检测装置及其esam模块检测方法 |
CN104376647B (zh) * | 2014-11-04 | 2019-01-04 | 国家电网公司 | 用于电力的实时算费系统 |
CN104363098B (zh) * | 2014-11-24 | 2018-11-30 | 国家电网公司 | 一种基于数字加密的分布式监控终端信息安全防护方法 |
CN104679556B (zh) * | 2015-02-06 | 2019-01-08 | 深圳市硅格半导体有限公司 | 应用程序烧录方法及系统 |
CN106546942B (zh) * | 2015-09-17 | 2023-03-21 | 广东电网有限责任公司电力科学研究院 | 一种电能计量设备一致性的加密检测方法 |
CN106571917B (zh) * | 2015-10-08 | 2023-06-16 | 成都秦川物联网科技股份有限公司 | Ic卡智能燃气表esam嵌入式安全管理模块 |
CN106685664B (zh) * | 2016-12-27 | 2023-09-26 | 广州邦讯信息系统有限公司 | 互联网下的电力设备安全控制系统及方法 |
CN106973056B (zh) * | 2017-03-30 | 2020-11-17 | 中国电力科学研究院 | 一种面向对象的安全芯片及其加密方法 |
CN108958761A (zh) * | 2017-05-25 | 2018-12-07 | 中兴通讯股份有限公司 | 一种设备程序的处理方法及装置 |
CN108107400B (zh) * | 2017-12-04 | 2020-12-08 | 宁波三星医疗电气股份有限公司 | 一种基于智能表按键的检测方法及智能表 |
CN108234120A (zh) * | 2017-12-18 | 2018-06-29 | 南昌市科陆智能电网科技有限公司 | 一种电能卡加密方法 |
DE102018003061A1 (de) * | 2018-02-03 | 2019-08-08 | Diehl Metering Systems Gmbh | Verfahren zum gesicherten Betrieb eines elektronischen Verbrauchsdaten-Moduls und Verbrauchsdaten-Modul |
WO2019178787A1 (zh) * | 2018-03-21 | 2019-09-26 | 深圳市汇顶科技股份有限公司 | 芯片的访问方法、微芯片、智能卡以及调试设备 |
CN108737449B (zh) * | 2018-06-26 | 2021-05-28 | 华立科技股份有限公司 | 软加密认证方法、装置及电子设备 |
CN109104279B (zh) * | 2018-08-31 | 2021-11-16 | 国网河北省电力有限公司沧州供电分公司 | 一种电力数据的加密方法、系统及终端设备 |
CN109150503A (zh) * | 2018-11-22 | 2019-01-04 | 江苏方天电力技术有限公司 | 基于rsa算法的电力营销系统接口调用中的认证方法 |
CN110034928B (zh) * | 2019-03-29 | 2021-11-02 | 国网山东省电力公司梁山县供电公司 | 电能计量信息传输装置及方法 |
CN111901117A (zh) * | 2019-05-06 | 2020-11-06 | 深圳大普微电子科技有限公司 | 基于jtag接口的安全认证方法及系统 |
CN110430014B (zh) * | 2019-07-19 | 2022-02-01 | 河海大学 | 一种用于现场总线信道加密的硬件加密网关及加密方法 |
CN110717199B (zh) * | 2019-08-21 | 2022-02-25 | 深圳市比比赞科技有限公司 | 一种paygo模式下的光伏板加密方法及加密系统 |
CN111181956A (zh) * | 2019-12-27 | 2020-05-19 | 南京国电南自电网自动化有限公司 | 应用于继电保护装置的无线多业务数据加密系统及方法 |
CN111343164B (zh) * | 2020-02-14 | 2022-07-01 | 杭州海兴电力科技股份有限公司 | 一种应用于电能表的数据加密方法、装置及存储介质 |
CN111884993B (zh) * | 2020-06-10 | 2023-02-03 | 广东工业大学 | 一种应用加密算法对数据进行加密的can总线加密方法 |
CN111800259A (zh) * | 2020-06-17 | 2020-10-20 | 浙江睿朗信息科技有限公司 | 一种对燃气表安全模块的密钥发行方式 |
CN112019342B (zh) * | 2020-06-30 | 2023-05-23 | 宁波三星医疗电气股份有限公司 | 一种电能表与主站之间的数据传输方法及其电能表 |
CN112217795B (zh) * | 2020-09-07 | 2022-08-26 | 国家电网有限公司 | 一种对智能电表的通信安全进行管理的方法及装置 |
CN113032265B (zh) * | 2021-03-25 | 2023-08-08 | 深圳忆联信息系统有限公司 | 非对称加密算法测试方法、装置、计算机设备及存储介质 |
CN113986359A (zh) * | 2021-09-26 | 2022-01-28 | 北京智芯微电子科技有限公司 | 适用于智能电表的安全操作系统 |
CN114500064B (zh) * | 2022-01-30 | 2024-01-26 | 北京亚华物联科技发展有限公司 | 一种通信安全验证方法、装置、存储介质及电子设备 |
CN118018333B (zh) * | 2024-04-10 | 2024-06-25 | 国网浙江省电力有限公司杭州市富阳区供电公司 | 一种网口锁解锁控制方法、系统、设备及存储介质 |
CN118509168B (zh) * | 2024-07-22 | 2024-09-10 | 四川中威能电力科技有限公司 | 基于智能电表数据传输的通信控制方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567362A (zh) * | 2003-06-10 | 2005-01-19 | 大唐微电子技术有限公司 | 动态逻辑分区并控制访问权限的ic智能卡及其实现方法 |
CN201387642Y (zh) * | 2009-02-18 | 2010-01-20 | 青岛乾程电子科技有限公司 | 一种单相电子式多费率预付费电能表 |
CN201569701U (zh) * | 2009-12-29 | 2010-09-01 | 中国电力科学研究院 | 一种单相远程费控智能电表 |
CN202404155U (zh) * | 2011-12-23 | 2012-08-29 | 内蒙古正安恒泰电力科技有限公司 | 单相外置继电器预付费宽量程电能表 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847188A (zh) * | 2010-04-28 | 2010-09-29 | 北京飞天诚信科技有限公司 | 一种基于时钟的安全装置的软件保护方法及安全装置 |
-
2013
- 2013-12-23 CN CN201310718989.5A patent/CN103679062B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567362A (zh) * | 2003-06-10 | 2005-01-19 | 大唐微电子技术有限公司 | 动态逻辑分区并控制访问权限的ic智能卡及其实现方法 |
CN201387642Y (zh) * | 2009-02-18 | 2010-01-20 | 青岛乾程电子科技有限公司 | 一种单相电子式多费率预付费电能表 |
CN201569701U (zh) * | 2009-12-29 | 2010-09-01 | 中国电力科学研究院 | 一种单相远程费控智能电表 |
CN202404155U (zh) * | 2011-12-23 | 2012-08-29 | 内蒙古正安恒泰电力科技有限公司 | 单相外置继电器预付费宽量程电能表 |
Also Published As
Publication number | Publication date |
---|---|
CN103679062A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103679062B (zh) | 智能电表主控芯片和安全加密方法 | |
CN1708942B (zh) | 设备特定安全性数据的安全实现及利用 | |
US8484486B2 (en) | Integrated cryptographic security module for a network node | |
CN105144626B (zh) | 提供安全性的方法和设备 | |
US8700908B2 (en) | System and method for managing secure information within a hybrid portable computing device | |
CN102711101B (zh) | 一种实现智能卡发行的方法及系统 | |
CN110050437A (zh) | 分布式证书注册的装置和方法 | |
CN106301774A (zh) | 安全芯片、其加密秘钥生成方法和加密方法 | |
CN106878245A (zh) | 图形码信息提供、获取方法、装置及终端 | |
CN107404472A (zh) | 用户发起的加密密钥的迁移 | |
CN103986837A (zh) | 信息处理方法及装置 | |
CN104094267A (zh) | 安全共享来自源装置的媒体内容的方法、装置和系统 | |
CN102063592A (zh) | 一种可信平台及其对硬件设备的控制方法 | |
CN106603487A (zh) | 一种基于cpu时空隔离机制对tls协议处理进行安全改进的方法 | |
CN109815747A (zh) | 基于区块链的离线审计方法、电子装置及可读存储介质 | |
CN104579687A (zh) | 一种基于usbkey的csp实现方法 | |
KR20090019576A (ko) | 모바일 단말기 인증 방법 및 모바일 단말기 인증 시스템 | |
Cooijmans et al. | Secure key storage and secure computation in Android | |
Zhang et al. | Trusttokenf: A generic security framework for mobile two-factor authentication using trustzone | |
CN108768941A (zh) | 一种远程解锁安全设备的方法及装置 | |
Drimer et al. | Protecting multiple cores in a single FPGA design | |
CN104899480A (zh) | 一种基于cpk标识认证技术的软件版权保护管理方法 | |
CN101217366A (zh) | 一种带写保护的数字签名装置 | |
CN106330877A (zh) | 一种授权对终端状态进行转换的方法和系统 | |
CN107682147B (zh) | 用于智能卡芯片操作系统文件的安全管理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |