一种电能表程序的现场保护方法技术

技术编号:20917596 阅读:17 留言:0更新日期:2019-04-20 09:55
本发明专利技术涉及一种电能表程序的现场保护方法,1、将计算License的算法分别内嵌到上位机软件和电能表程序中;2、通过算法计算得到CodeID;3、上位机软件根据该CodeID,通过算法计算得到固定长度字节License;4、将得到的License下载到表内的License结构体中,并重新编译电能表程序;5、编译成功的程序下载到表内运行;6、电能表运行起来后,调用库函数中的校验模块判定电能表的合法性,如果合法则正常运行,如果不合法则在有效时间过后停止运行。本发明专利技术可以增强电能表程序运行的合法性,既保证了程序下发的合法性,也保证了程序被篡改后电能表能够及时作出反应,避免造成计量或是扣费错误,进而保证了电能表的稳定性。

A Field Protection Method for Electric Energy Meter Program

The invention relates to a field protection method for watt-hour meter program. 1. The algorithm of computing licensee is embedded in the upper computer software and watt-hour meter program respectively; 2. Code ID is calculated by the algorithm; 3. The upper computer software calculates a fixed-length byte Licensee by the algorithm according to the Code ID; 4. Download the obtained licensee into the licensee structure of the table and recompile it. Watt-hour meter program; 5. The compiled program is downloaded to the meter to run; 6. When the watt-hour meter is running, the validity of the watt-hour meter is determined by calling the check module in the library function. If it is legitimate, it will run normally, and if it is not, it will stop running after the effective time. The invention can enhance the legitimacy of the program operation of the watt-hour meter, ensure the legitimacy of the program issuance, and ensure that the watt-hour meter can react in time after the program has been tampered with, avoid the errors of measurement or deduction, thereby ensuring the stability of the watt-hour meter.

【技术实现步骤摘要】
一种电能表程序的现场保护方法
本专利技术属于电力系统电能表管理
,具体涉及一种电能表程序的现场保护方法。
技术介绍
随着国家电网公司智能电能表系列标准的正式实施,电能表的功能明显增多,涉及到的重要信息比如剩余电费、电价等越来越多,电能表作为不允许现场升级软件的装置,程序的合法与否是保证电能表正常运行的重要因素。如果电能表在现场未经公司授权非法下载新程序、或程序下载版本有误,程序的不稳定性会导致信息泄露或是扣费等重要活动错误,在电能表供应量大的情况下损失难以估量。因此必须要设计相关电能表程序的现场保护方法。
技术实现思路
为解决上述技术问题,本专利技术提出了一种电能表程序的现场保护方法,该方法根据程序内部Flash特定地址的数据经过特定加密算法机制生成License(License是一种许可证号,是经过加密算法计算后若干个字节的十六进制整数),出厂之前下载到电能表中。程序运行时,会首先检测License是否正确,如果电能表程序错误或是被篡改,则表内默认的License必然是错误的。电能表一旦判定表内License不合法,有效时间过后电能表停止运行,避免程序问题造成损失。本专利技术所采用的技术方案如下:一种电能表程序的现场保护方法,包括以下步骤:步骤1、将计算License的算法分别内嵌到上位机软件和电能表程序中,为防止算法泄露,算法分别封装成上位机软件和电能表可运行的库函数,且上位机软件和电能表中运行的库函数分别授权给不同权限的人员使用,提高安全性能;步骤2、电能表获取与程序编译文件相关的若干个特征值,并通过算法计算得到CodeID(CodeID是经过算法运算后若干个字节的十六进制整数);步骤3、上位机软件根据该CodeID,通过算法计算得到固定长度字节License;步骤4、将得到的License下载到表内的License结构体中,并重新编译电能表程序;步骤5、编译成功的程序便是合法程序,可以下载到表内运行;步骤6、电能表运行起来后,调用库函数中的校验模块判定电能表的合法性(即:表内License与计算得到的License是否一致),如果合法则正常运行,如果不合法则在有效时间过后停止运行。本专利技术的有益效果:1)该方法可以增强电能表程序运行的合法性,计算License的上位机软件由核心人员管理维护,现场电能表如果程序被重新下载,则因无法获取License,电能表会进入debug运行模式,有效时间过后会停止运行。2)该方法既保证了程序下发的合法性,也保证了程序被篡改后电能表能够及时作出反应,避免造成计量或是扣费错误,进而保证了电能表的稳定性。3)相比较于其他程序现场保护方法,该方法更适用于类似电能表的嵌入式领域。针对嵌入式系统要求运行快、资源占用率小的特点,该方法简便有效,几乎不占用CPU运行时间,既能保证电能表的运行效率,也能保证程序的合法性。附图说明:图1是CodeID计算流程图;图2是License校验及计算流程图。具体实施方式下面结合附图,具体说明本专利技术的实施方式。一种电能表程序的现场保护方法,包括以下步骤:步骤1、将计算License的算法(该算法是步骤2到步骤3的中描述算法的统称)分别内嵌到上位机软件和电能表程序中,算法分别封装成上位机软件和电能表可运行的库函数。步骤2、电能表获取与程序编译文件相关的若干个特征值,本实施例中将电能表获取的与程序编译文件相关的4个特征值的数据存入Verify_Addr(Verify_Addr是一种计算CodeID所需的特征值数据的存放位置,属于C语言中规定的局部变量)数组中,这4个特征值分别为芯片ID、选项字节、程序结束地址、保护区结束地址,通过算法计算得到CodeID。如果单纯地把Verify_Addr当成CodeID,在Verify_Addr被泄露后容易造成License的机密性降低。该算法增强了CodeID的隐蔽性,如图1所示,是CodeID计算流程图。具体实现代码为:步骤3、上位机软件获取CodeID,通过算法计算得到10字节License,该算法的多重复杂运算可以保证License不会被破解。该算法在License的生成过程中有动态i变量参与运算,与其他常用算法相比有较高可靠性。具体实现代码为:步骤4、将得到的10字节License复制到表内的License结构体中,并重新编译电能表程序。步骤5、编译成功的程序便是合法程序,可以下载到表内运行。步骤6、电能表运行起来后,调用库函数中的校验模块判定电能表的合法性。如图2所示,是License校验及计算流程图。电能表运行起来后判定表内License与计算得到的License是否一致,如果一致则正常运行,如果不一致则在电能表启动时显示“debug”字样3秒,程序进入debug(debug是一种电能表运行模式,在此模式下电能表的功能受限制且正常运行时间有限)模式,待程序运行1天的有效时间后停止运行,否则,程序进入正常运行模式。本实施例中,INT8U指该系统软件代码中的数据类型,表示无符号8位整型。文中代码所涉及的其他英文单词,均为其在业界的标准技术含义。本文档来自技高网...

【技术保护点】
1.一种电能表程序的现场保护方法,其特征在于,包括以下步骤:步骤1、将计算License的算法分别内嵌到上位机软件和电能表程序中;步骤2、电能表获取与程序编译文件相关的若干个特征值,并通过算法计算得到CodeID;步骤3、上位机软件根据该CodeID,通过算法计算得到固定长度字节License;步骤4、将得到的License下载到表内的License结构体中,并重新编译电能表程序;步骤5、将编译成功的程序下载到表内运行;步骤6、电能表运行起来后,调用库函数中的校验模块判定电能表的合法性。

【技术特征摘要】
1.一种电能表程序的现场保护方法,其特征在于,包括以下步骤:步骤1、将计算License的算法分别内嵌到上位机软件和电能表程序中;步骤2、电能表获取与程序编译文件相关的若干个特征值,并通过算法计算得到CodeID;步骤3、上位机软件根据该CodeID,通过算法计算得到固定长度字节License;步骤4、将得到的License下载到表内的License结构体中,并重新编译电能表程序;步骤5、将编译成功的程序下载到表内运行;步骤6、电能表运行起来后,调用库函数中的校验模块判定电能表的合法性。2.根据权利要求1所述的一种电能表程序的现场保护方法,其特征在于,步骤1所述的将计算Lice...

【专利技术属性】
技术研发人员:徐龙剑王强徐法格于光兴徐健
申请(专利权)人:积成电子股份有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1