一种电网加密机共享访问的系统及参数更新方法

文档序号:7865760阅读:1268来源:国知局
专利名称:一种电网加密机共享访问的系统及参数更新方法
技术领域
本发明涉及一种远程访问技术,更具体地说,涉及一种基于Remoting软件构架的电网加密机共享访问的系统,以及基于Remoting软件构架的电网加密机共享访问的系统更新智能电表参数的方法。
背景技术
现有的智能电表远程集抄系统是单一的抄表系统,该系统包括应用系统服务器、与服务器连接的多个集中器,与集中器连接的多个采集器,每个采集器下又都连有电表。采集器将电表的数据采集完成后传送到集中器,然后再由集中器将信息传送到应用服务器 中,从而完成远程的集抄系统功能。但是采集器和电表之间使用底频窄带通讯,连接线路虽然到了电表,但是无法提供宽带网络接口,从而用户无法享用宽带服务。为了解决上述问题,中国发明专利ZL200710036998. O公开了一种用于宽带网络通信的远程智能电力抄表系统,将电力线高速宽带通讯系统和远程集抄系统整合在一起,同时实现上网和电表集抄两个功能。其技术方案为本发明使用电力线宽带数据通讯集中器替代远程集抄系统中的集中器和采集器,将电表的信息采集通讯方式整合到电力线通讯方式中,采用一根通讯线路实现电力线上网通讯和电表远程数据采集。随着对数据安全的要求的提升与智能电网的发展,构架了以加密机、前置机、客户端、智能电表组成的智能电网网络,其数据安全性进一步得到保障。但上述专利所公开的技术方案已满足不了当下智能电网的要求。而且,目前加密机访问只能实现单机交互,本地加载加密机动态链接库单机调用访问。由于国家电网的资源庞大,目前已经出现加密机严重缺少的情况,如果不能有效地将资源共享,会造成巨大的成本浪费。

发明内容
本发明的目的在于克服现有技术的不足,提供一种采用Remoting技术调用远程对像接口的方法,实现中国电科院加密机的共享使用,把与加密机通信交互的动态链接库封装成远程对像接口的方式对外提供,做成加密机前置机服务程序,各国网费控智能电表编程抄读客户端可远程调用共享访问,与加密机进行通信,同时前置机可监视各客户端的登录情况及与加密机的交互情况。本发明的技术方案如下一种基于Remot ing软件构架的电网加密机共享访问的系统,包括前置机、加密机、客户端、智能电表,前置机与加密机相连,与加密机进行通信,并与客户端交互,完成智能电表身份安全认证过程;客户端与智能电表相连,对智能电表进行在线抄读、编程;前置机与客户端之间通过Remoting软件构架调用远程对象接口,进行加密机共享使用。作为优选,把与加密机通信交互的动态链接库封装成远程对象接口,作为加密机的服务程序;客户端远程连接前置机,并通过Remoting技术调用远程对象接口,与加密机进行通信。作为优选,在前置机上定义加密机远程接口成员、实现远程接口成员。作为优选,在客户端上注册通道,实现客户端与前置机服务不同应用程序域的相互通信;注册远程前置机服务对象,获取远程接口成员对象;调用远程对象接口成员方法,实现加密机的访问。作为优选,创建包括客户端信息及远程接口操作信息的数据结构类,用于客户端调用远程对像接口时传入客户端信息。作为优选,前置机实时展示各客户端与加密机交互信息。作为优选,创建远程对象接口类,定义了远程对像必须实现的成员,公布登录退出前置机、加密机通信的远程对象公共方法,接口只定义成员,不含实现代码。
作为优选,创建加密机DLL函数导出声明类,从非托管的加密机动态链接库DLL中导出加密机功能函数的调用信息、加密机通信函数引入口。作为优选,创建远程对象接口实现类,实现跨应用程序域边界被远程引用,是上述远程对象接口类成员的具体实现方法内容。作为优选,把与加密机操作通信部分的代码定义为互斥段,对加密机进行共享访问的所有客户端在同一时刻只允许一个客户端调用同一个函数,其他的客户端等待进入。一种基于Remoting软件构架的电网加密机共享访问的系统更新智能电表参数的方法,客户端先进行身份安全认证,认证通过后,以明文+MAC的方式进行数据的传输和修改,客户端所有与加密机交互操作都是通过共享访问前置机调用远程对象接口的方式完成,具体步骤如下I)身份安全认证1.1)在客户端取第一随机数传入分散因子;前置机发送分散因子至加密机;加密机把第一随机数加密成第一密文;1. 2)加密机输出第一随机数、第一密文至前置机,前置机将第一随机数、第一密文返回至客户端;1. 3)客户端将前置机返回的第一随机数和第一密文及客户端的分散因子按预设的身份认证指令格式发送至智能电表,智能电表内置的ESAM模块把第一随机数加密成第二密文,比较第一密文与第二密文,如果第一密文与第二密文相等则身份安全认证成功,否则,身份安全认证失败;2)参数更新2.1)身份安全认证成功后,取第二随机数,与智能电表内置的ESAM模块的ESAM序列号一起发送至客户端;2. 2)客户端将智能电表返回的第二随机数、ESAM序列号和客户端的分散因子、电表数据传至前置机,前置机将第二随机数、分散因子、ESAM序列号和电表数据发送至加密机;2. 3)加密机对第二随机数、分散因子、ESAM序列号和电表数据进行MAC加密计算,输出带MAC数据包;2. 4)加密机将带MAC数据包返回至前置机,前置机将带MAC数据包发送至客户端,客户端将带MAC数据包发送至智能电表;
2. 5)智能电表收到带MAC数据包后,对数据进行更新。作为优选,预设的身份认证指令格式遵从DL/T 645—2007协议的帧格式。作为优选,所述的分散因子载于身份认证指令的数据域,依次为2字节固定字节、6字节智能电表的表号。本发明的有益效果如下采用Remoting远程调用接口的方式来实现加密机的共享访问1、能让我们进行分布式开发;2、Tcp通道的Remoting速度非常快;
3、虽然是远程的,但是非常接近于本地调用对象;4、可以做到保持对象的状态;5、没有应用程序限制,可以是控制台,winform, iis, windows服务承载远程对象;6、多个客户端同时与同一台加密机通信,具有实时性;7、前置机能监视各客户端登录情况及与加密机交互情况;8、将中国电院科在国家电网建设中提供的资源最大化,有助于资源共享,可供国家电网电量信息采集系统安全加密数据交互处理使用,为国网产品厂家节省生产成本,使国网表生产摆脱了加密机缺少的困境,操作方便,有利于公司生产运作,也便于公司资产管理。


图1是本发明所述的系统的连接示意图;图2是本发明所述的方法的流程图;图3是身份认证指令的帧结构示意图;图中I是前置机,2是加密机,3是客户端,4是智能电表,5是防火墙,6是RS485/RS232转换器。
具体实施例方式以下结合附图及实施例对本发明进行进一步的详细说明。—种基于Remoting软件构架的电网加密机2共享访问的系统,包括前置机1、加密机2、客户端3、智能电表4,前置机I与加密机2相连,与加密机2进行通信,并与客户端3交互,完成智能电表4安全认证过程;客户端3与智能电表4相连,对智能电表4进行在线抄读、编程;前置机I与客户端3之间通过Remoting软件构架调用远程对象接口,进行加密机2共享使用。把与加密机2通信交互的动态链接库封装成远程对象接口,作为加密机2前置机I的服务程序;客户端3远程连接前置机1,并通过Remoting技术调用远程对象接口,与加密机2进行通信。在前置机I上定义加密机2远程接口成员、实现远程接口成员。在客户端3上注册通道,实现客户端3与前置机I服务不同应用程序域的相互通信;注册远程前置机I服务对象,获取远程接口成员对象;调用远程对象接口成员方法,实现加密机2的访问。
创建包括客户端3信息的数据结构类,用于客户端3调用远程对像接口时传入客户端3信息。前置机I实时展示各客户端3与加密机2交互信息。创建远程对象接口类,定义了远程对像必须实现的成员,公布登录退出前置机1、加密机2通信的远程对象公共方法,接口只定义成员,不含实现代码。创建ExternDllClass. cs类,从非托管的加密机2动态链接库DLL中导出加密机2功能函数的调用信息、加密机2通信函数引入口。创建CommDataArrangeRemote. cs类,实现跨应用程序域边界被远程引用,是上述远程对象接口类成员的具体实现方法内容。把与加密机2操作通信部分的代码定义为互斥段,对加密机2进行共享访问的所有客户端3在同一时刻只允许一个客户端3调用同一个函数,其他的客户端3等待进入。
一种基于Remoting软件构架的电网加密机2共享访问的系统更新智能电表4参数的方法,客户端3先进行身份安全认证,认证通过后,以明文+MAC的方式进行数据的传输和修改,客户端3所有与加密机2交互操作都是通过共享访问前置机I调用远程对象接口的方式完成,其具体步骤如下I)身份安全认证1.1)在客户端3取第一随机数传入分散因子;前置机I发送分散因子至加密机2 ;加密机2把第一随机数加密成第一密文;1.2)加密机2输出第一随机数、第一密文至前置机1,前置机I将第一随机数、第一密文返回至客户端3 ;1. 3)客户端3将前置机I返回的第一随机数和第一密文及客户端3的分散因子(分散因子=2字节固定字节00H+6字节智能电表4表号)按预设的身份认证指令格式(身份认证指令格式遵从DL/T 645—2007协议的帧格式)发送至智能电表4,智能电表4内置的ESAM模块把第一随机数加密成第二密文,比较第一密文与第二密文,如果第一密文与第二密文相等则身份安全认证成功,否则,身份安全认证失败;2)参数更新2.1)身份安全认证成功后,取第二随机数,与智能电表4内置的ESAM模块的ESAM序列号一起发送至客户端3;2. 2)客户端3将智能电表4返回的第二随机数、ESAM序列号和客户端3的分散因子、电表数据传至前置机1,前置机I将第二随机数、分散因子、ESAM序列号和电表数据发送至加密机2 ;2. 3)加密机2对第二随机数、分散因子、ESAM序列号和电表数据进行MAC加密计算,输出带MAC数据包;2. 4)加密机2将带MAC数据包返回至前置机1,前置机I将带MAC数据包发送至客户端3,客户端3将将带MAC数据包发送至智能电表4 ;2. 5)智能电表4收到带MAC数据包后,对数据进行更新。实施例如图1所示,所述系统的总体架构由前置机1、防火墙5、加密机2、国网费控智能电表4编程抄读客户端3、国网费控智能电表4组成,客户端3与智能电表4通过RS485/RS232转换器6连接。
前置机1:负责与国网加密机2进行通讯的前置设备,并能与客户端3交互完成国网费控智能电表4安全认证过程的设备。加密机2 :能够独立完成加/解密和密钥管理功能的设备。客户端3 :能够对国网费控智能电表4进行RS485通道在线抄读、编程。智能电表4 :内置ESAM模块,具有安全存储、数据加/解密、双向身份认证、存取权限控制、线路加密传输等安全控制功能的计量设备。RS485/RS232转换器6 :串口数据转换装置。如图2所示的具体步骤如下I)身份安全认证
1.1)在客户端3调用远程对象接口方法“获取随机数函数”获取第一随机数传入8字节分散因子(=2字节00H+6字节表号),前置机I调用加密机2动态链接库中的身份认证函数发送8字节分散因子至加密机2,加密机2把第一随机数加密第一密文;1. 2)加密机2输出8字节第一随机数、8字节第一密文至前置机1,前置机I将第一随机数、第一密文返回至客户端3 ;1. 3)客户端3将前置机I返回的8字节第一随机数、8字节第一密文及客户端3的分散因子(=2字节00H+6字节表号)按身份认证指令格式发送至智能电表4,ESAM把第一随机数加密成第二密文,比较第一密文与第二密文,如果第一密文与第二密文相等则身份安全认证成功,否则,身份安全认证失败;2)参数更新2.1)身份安全认证成功后,取4字节第二随机数,与智能电表4内置的ESAM模块的8字节ESAM序列号一起发送至客户端3 ;2. 2)客户端3调用远程对象接口方法“明文+MAC参数更新函数”将4字节第二随机数、8字节ESAM序列号和电表明文更新数据传至前置机1,前置机I调用加密机2动态链接库DLL中的“明文+MAC参数更新函数”将4字节第二随机数、8字节分散因子、8字节ESAM序列号和数据明文发送至加密机2 ;2. 3)加密机2对第二随机数、分散因子、ESAM序列号和电表数据进行MAC加密计算,输出带MAC数据包;2. 4)加密机2将带MAC数据包返回至前置机1,前置机I将带MAC数据包发送至客户端3,客户端3将带MAC数据包发送至智能电表4 ;2. 5)智能电表4收到带MAC数据包后,对数据进行更新;2. 6)向客户端3反馈更新结果成功或失败。如图3所示,身份认证指令格式遵从DL/T 645—2007协议的帧格式,依次包括帧起始符、地址域、帧起始符、控制码、数据长度、数据域、校验码、结束符。其中,帧起始符的值为68H,用于标识一帧信息的开始;地址域为6字节构成,标识出了智能电表表号,每个智能电表的表号是唯一的;在DL/T 645—2007协议中,将控制码定义为03H,标识了当前帧为身份认证的请求帧;身份认证请求帧中,数据长度=04H (数据标识)+04H (操作者代码)+m(数据长度);数据域为DI0DI1DI2DI3+C0C1C2C3+DATA, DI0DI1DI2DI3 为数据标识,C0C1C2C3 为操作者代码,由客户端传入,DATA包括8字节第一密文+8字节第一随机数+8字节分散因子;校验码为从第一个帧起始符开始到校验码之前的所有各字节的模256的和,即各字节二进制算术和,不计超过256的溢出值结束符的值为16H,用于标识一巾贞信息的结束。软件实现方法I)定义加密机远程接口成员。2).实现远程接口成员。3).获取远程接口对像,调用远程接口。
其中1、2点在前置机实现,3在客户端实现,具体步骤如下1.服务端(前置机)1.1.新建 IArtRdRemoteOb ject 项目程序集名称为ARTRD_FEP. RDPLC,默认命名空间为ARTRD_FEP. RDPLC。1.1.1.在 IArtRdRemoteObject 项目中创建 DataStructure. cs 数据结构类说明本数据结构类的定义是为了客户端调用远程对像接口时传入客户端信息,定义包含计算机名称、IP地址、操作标识、交互时间、操作信息,前置机实时展示各客户端与加密机交互信息。代码实现上创建加密机通信事件参数结构类包括对类进行序列化(从一个应用程序域传递到另一个应用程序域需要类序列化);定义计算机名称、IP地址、操作标识、交互时间、数据标识、加密机通信结果信息。1.1. 2.在 IArtRdRemoteObject 项目中创建 IArtRdRemoteObject 接口类说明IArtRdRemoteObject接口类定义了远程对像必须实现的成员,公布登录退出前置机及和加密机通信的远程对像公共方法,接口只定义成员,不含实现代码,其各成员具体实现内容见1. 2. 2。代码实现上包括公布登录远程前置机并获取目前支持的最大通道、退出远程前置机、取加密机随机数I函数、明文+MAC参数更新函数、第一套费率文件、第二套费率文件、PA=98H密文+MAC参数更新函数、控制命令、充值函数、密钥更新函数、检查MAC函数等函数。1. 2.新建 ArtRdRemoteOb ject 项目1. 2.1.在 ArtRdRemoteObject 项目中创建 ExternDllClass. cs 类说明本类主要是应用C# 中 System. Runtime.1nteropServices. DllImport 从非托管的加密机动态链接库DLL中导出加密机功能函数的必要调用信息,加密机通信函数引入口,其中DllImport中设置一个参数为中国电科院提供的国网加密机主站接口 DLL动态
链接库。代码实现上包括公布国网加密机主站接口 DLL动态链接库导入声明(包括名称身份认证函数,功能身份认证取随机数和密文;控制命令函数,功能控制命令;名称3.充值函数,功能:钱包充值;明文+MAC参数更新函数,功能B月文+MAC参数更新函数;密文+MAC参数更新函数,功能密文+MAC更新参数,密钥更新函数,功能更新密钥;校验MAC函数,功能校验MAC ;费率文件I更新函数,功能更新参数;费率文件2更新函数,功能更新参数。);
国网加密机主站接口 DLL动态链接库调用返回结果提示(包括身份认证函数;控制命令函数;充值函数;参数更新函数;密文+MAC参数更新函数;密钥更新函数;费率文件I更新函数;费率文件2更新函数;校验MAC函数)。1. 2. 2.在 ArtRdRemoteObject 项目中创建 CommDataArrangeRemote. cs 类说明CommDataArrangeRemote类继承了 MarshalByRefObject 对像基类,实现跨应用程序域边界被远程引用,是上述1. 1.2.1ArtRdRemoteObject接口类成员的具体实现方法内容。这里注意的是加密机的共享访问会存在着多个客户端同一时刻调用同一个函数,这样就有可能会出现数据交错,导致身份认证失败操作不成功,在本实施中,本发明使用了 C#提供的lock锁,把与加密机操作通信部分的代码定义为互斥段,即同一时刻只允许一个客户端调用,其他的客户端等待进入,这样一来就解决了同时访问的问题。代码实现上包括
定义事件(用于监视各客户端登录情况及加密机交互情况,包括客户端登录前置机事件定义、客户端退出前置机事件定义、加密机交互情况事件定义);公布登录远程前置机并获取目前支持的最大通道(包括客户端名称、客户端IP地址、有事件订阅、传递客户端登录信息给前置机事件订阅者,前置机显示客户端登录信息、异常提示);公布退出远程前置机(包括主站断开提示事件(客户端名称、客户端IP地址、有事件订阅、传递退出的客户端信息给前置机事件订阅者,前置机显示退出的客户端信息)、异常提示);定义取加密机随机数I函数(包括通信事件参数(包括客户端Id、客户端Ip、登录时间、数据标识、加密机通信信息)、输入参数(8字节分散因子,16进制字符串)、输出参数(字符型,8字节随机数+8字节)、结果提示(成功;200,连接加密机失败;201,取随机数I失败;202,取随机数2失败;203,密钥分散失败;204,数据加密失败;205,取密文失败)。);公布取加密机随机数I函数(包括输出结果值定义、输出参数初始化、lock互斥段代码、身份认证获取随机数、有事件订阅、操作类型与操作结果信息、传递客户端信息给事件订阅者、异常提示);定义明文+MAC参数更新函数(包括通信事件参数(客户端Id、客户端Ip、登录时间、数据标识、加密机通信信息)、输入参数(4字节随机数;8字节分散因子;更新指令10位(04d682+起始+LC) ;LC=明文数据长度+4 ;其他为参数明文;)、返回参数明文和MAC、结果提示(0,成功;200,连接加密机失败;201,写卡失败;202,读卡失败;203,计算MAC失败)。);公布明文+MAC参数更新函数(输出结果值定义、输出参数初始化、lock互斥段代码、明文+MAC参数更新、有事件订阅、操作类型与操作结果信息、传递客户端信息给事件订阅者、异常提示);定义第一套费率文件(包括第一套费率文件更新函数(通信事件参数(客户端Id、客户端Ip、登录时间、数据标识、加密机通信信息)、输入参数(随机数8位;分散因子16位;更新指令10位(04d683+起始+LC) ;LC=明文数据长度+4 ;其他为参数明文;)、返回参数明文和MAC、结果提示(0,成功;200,连接加密机失败;201,写卡失败;202,读卡失败;203,计算MAC失败)。);
公布第一套费率文件(包括输出结果值定义、输出参数初始化、lock互斥段代码明文+MAC参数更新、操作类型与操作结果信息、传递客户端信息给事件订阅者、异常提示);定义第二套费率文件(包括第一套费率文件更新函数(通信事件参数(客户端Id、客户端Ip、登录时间、数据标识、加密机通信信息)、输入参数(随机数8位;分散因子16位;更新指令10位(04d684+起始+LC) ;LC=明文数据长度+4 ;其他为参数明文;)、返回参数明文和MAC、结果提示(0,成功;200,连接加密机失败;201,写卡失败;202,读卡失败;203,计算MAC失败)。);公布第二套费率文件(包括输出结果值定义、输出参数初始化、lock互斥段代码明文+MAC参数更新、操作类型与操作结果信息、传递客户端信息给事件订阅者、异常提示);
定义PA=98H密文+ MAC(包括通信事件参数(客户端Id、客户端Ip、登录时间、数据标识、加密机通信信息)、输入参数(4字节随机数;8字节分散因子;更新指令10位(04d6+文件标识+00+LC),此处LC长度为下发密文数据+MAC的长度,其他为参数明文)、输入参数(8字节ESAM序列号)、返回参数密文和MAC (智能电表接收密文+MAC后,用04d6+文件标识+00+LC+密文+MAC更新ESAM文件,然后明文读取数据,该文件第一个字节为明文数据的长度(HEX),可以根据该长度取所解密后的明文)、结果提示(0,成功;200,连接加密机失败;201,写卡失败;202,读卡失败;203,计算MAC失败)。);公布PA=98H密文+ MAC (包括输出结果值定义、输出参数初始化、lock互斥段代码、密文+MAC参数更新、有事件订阅、操作类型与操作结果信息、传递客户端信息给事件订阅者、异常提示);定义控制命令(包括通信事件参数(客户端Id、客户端Ip、登录时间、数据标识、加密机通信信息)、输入参数(字符型,4字节随机数+8字节分散因子+8字节ESAM序列号+数据明文、字符型,20字节密文)、结果提示(成功;200,连接加密机失败;201,写卡失败;202,读卡失败;203,计算密文失败)。);公布控制命令(包括输出结果值定义、输出参数初始化、lock互斥段代码、密文+MAC参数更新、有事件订阅、操作类型与操作结果信息、传递客户端信息给事件订阅者、异常提示);定义充值函数(包括通信事件参数(客户端Id、客户端Ip、登录时间、数据标识、加密机通信信息)、输入参数(字符型4字节随机数;8字节分散因子;电量和次数,8字节;首次充值时,6字节户号)、返回电量(次数和4字节MAC)、结果提示(O,成功;200,连接加密机失败;201,写卡失败;202,读卡失败;203,计算MAC失败)。);公布充值函数(包括输出结果值定义、输出参数初始化、lock互斥段代码、密文+MAC参数更新、有事件订阅、操作类型与操作结果信息、传递客户端信息给事件订阅者、异常提不);定义密钥更新函数(包括类型参数(整型,kid=l,身份认证密钥;kid=2,控制命令密钥;Kid=3,参数更新密钥)、输入参数(字符型,8字节分散因子+8字节ESAM序列号+4字节随机数+4字节数据明文)、输出参数(返回32字节密文+4字节密钥信息+4字节MAC)、结果提示(成功;200,连接加密机失败;201,写卡失败;202,读卡失败;203,计算MAC失败)。);公布密钥更新函数(包括输出结果值定义、输出参数初始化、lock互斥段代码、密文+MAC参数更新、有事件订阅、操作类型与操作结果信息、传递客户端信息给事件订阅者、异常提示);定义校验MAC函数(包括通信事件参数(客户端Id、客户端Ip、登录时间、数据标识、加密机通信信息)、输入参数(4字节随机数+8字节分散因子+5字节指令(04d68600+LC) +数据明文+4字节MAC,LC=明文长度+OxOC ;结果提示(0,成功;其他MAC错)。);公布校验MAC函数(包括输出结果值定义、输出参数初始化、lock互斥段代码、密文+MAC参数更新、有事件订阅、操作类型与操作结果信息、传递客户端信息给事件订阅者、异常提示);创建通道事件参数类(包括客户端名称、客户端IP地址)。2.客户端
2.1.客户端远程连接前置机访问加密机步聚2.1.1.注册通道,实现客户端与前置机服务不同应用程序域的相互通信。2.1. 2.注册远程前置机服务对象,获取远程接口成员对像。2.1. 3.调用远程对像接口成员方法,实现加密机的访问。2. 2.代码实现包括2. 2.1.全局变量类全局成员声明,包括前置机远程对象、前置机是否注册成功、TCP通道、HTTP通道、客户端IP地址、客户端名称、应用程序实例。2. 2. 2.命名空间引用包括提供各种各样支持COM interop及平台调用服务的成员、远程对像接口程序集引用上述1.1。2. 2. 3.注册远程前置机服务对象注册对象,包括获取本地计算机名称、获取本地计算机IP地址、注册通道(TCP通道/HTTP通道)、注册前置机远程服务对象、结果提示、异常提示;其中,定义获取客户端名称,包括执行查询并返回结果集、取得计算机名称;定义获取本地IP地址,包括返回本地标准主机名、返回给定主机名的信息hostent结构指针、取得IP地址;注册通道,包括定义端口号、注销TCP通道、注销HTTP通道、注册TCP通道、注册HTTP通道;注册前置机远程服务对象,包括注册前置机所在的计算机IP地址与端口、获取前置机远程对象参数I为远程对象的类型,参数2为服务器端的URL、登录前置机、异常时前置机连接标识(false :连接失败)、异常时远程对像NULL、抛出异常。2. 2. 4.调用远程对像接口方法,实现加密机的访问创建实例化加密机通信事件参数结构类、获取客户端名称、客户端IP地址、通信时间、取随机数I。上述实施例仅是用来说明本发明,而并非用作对本发明的限定。只要是依据本发明的技术实质,对上述实施例进行变化、变型等都将落在本发明的权利要求的范围内。
权利要求
1.一种基于Remoting软件构架的电网加密机共享访问的系统,包括前置机、加密机、客户端、智能电表,其特征在于,前置机与加密机相连,与加密机进行通信,并与客户端交互,完成智能电表安全认证过程;客户端与智能电表相连,对智能电表进行在线抄读、编程;前置机与客户端之间通过Remoting软件构架调用远程对象接口,进行加密机共享使用。
2.根据权利要求1所述的基于Remoting软件构架的电网加密机共享访问的系统,其特征在于,把与加密机通信交互的动态链接库封装成远程对象接口,作为加密机的服务程序;客户端远程连接前置机,并通过Remoting技术调用远程对象接口,与加密机进行通信。
3.根据权利要求2所述的基于Remoting软件构架的电网加密机共享访问的系统,其特征在于,在前置机上定义加密机远程接口成员、实现远程接口成员。
4.根据权利要求2所述的基于Remoting软件构架的电网加密机共享访问的系统,其特征在于,在客户端上注册通道,实现客户端与前置机服务不同应用程序域的相互通信;注册远程前置机服务对象,获取远程接口成员对象;调用远程对象接口成员方法,实现加密机的访问。
5.根据权利要求3所述的基于Remoting软件构架的电网加密机共享访问的系统,其特征在于,创建包括客户端信息及远程接口操作信息的数据结构类,用于客户端调用远程对像接口时传入客户端信息。
6.根据权利要求5所述的基于Remoting软件构架的电网加密机共享访问的系统,其特征在于,前置机实时展示各客户端与加密机交互信息。
7.根据权利要求5所述的基于Remoting软件构架的电网加密机共享访问的系统,其特征在于,创建远程对象接口类,定义了远程对像必须实现的成员,公布登录退出前置机、力口密机通信的远程对象公共方法,接口只定义成员,不含实现代码。
8.根据权利要求7所述的基于Remoting软件构架的电网加密机共享访问的系统,其特征在于,创建创建加密机DLL函数导出声明类,从非托管的加密机动态链接库DLL中导出加密机功能函数的调用信息、加密机通信函数引入口。
9.根据权利要求8所述的基于Remoting软件构架的电网加密机共享访问的系统,其特征在于,创建远程对象接口实现类,实现跨应用程序域边界被远程引用,是上述远程对象接口类成员的具体实现方法内容。
10.根据权利要求9所述的基于Remoting软件构架的电网加密机共享访问的系统,其特征在于,把与加密机操作通信部分的代码定义为互斥段,对加密机进行共享访问的所有客户端在同一时刻只允许一个客户端调用同一个函数,其他的客户端等待进入。
11.一种基于Remoting软件构架的电网加密机共享访问的系统更新智能电表参数的方法,其特征在于,客户端先进行身份安全认证,认证通过后,以明文+MAC的方式进行数据的传输和修改,客户端所有与加密机交互操作都是通过共享访问前置机调用远程对象接口的方式完成,具体步骤如下 O身份安全认证 .1.1)在客户端取第一随机数传入分散因子;前置机发送分散因子至加密机;加密机把第一随机数加密成第一密文;1.2)加密机输出第一随机数、第一密文至前置机,前置机将第一随机数、第一密文返回至客户端;· 1.3)客户端将前置机返回的第一随机数和第一密文及客户端的分散因子按预设的身份认证指令格式发送至智能电表,智能电表内置的ESAM模块把第一随机数加密成第二密文,比较第一密文与第二密文,如果第一密文与第二密文相等则身份安全认证成功,否则,身份安全认证失败; 2)参数更新 ·2.1)身份安全认证成功后,取第二随机数,与智能电表内置的ESAM模块的ESAM序列号一起发送至客户端; ·2.2)客户端将智能电表返回的第二随机数、ESAM序列号和客户端的分散因子、电表数据传至前置机,前置机将第二随机数、分散因子、ESAM序列号和电表数据发送至加密机; · 2.3)加密机对第二随机数、分散因子、ESAM序列号和电表数据进行MAC加密计算,输出带MAC数据包; · 2.4)加密机将带MAC数据包返回至前置机,前置机将带MAC数据包发送至客户端,客户端将将带MAC数据包发送至智能电表; ·2.5)智能电表收到带MAC数据包后,对数据进行更新。
12.根据权利要求11所述的方法,其特征在于,预设的身份认证指令格式遵从DL/T645—2007协议的帧格式。
13.根据权利要求11所述的方法,其特征在于,所述的分散因子载于身份认证指令的数据域,依次为2字节固定字节、6字节智能电表的表号。
全文摘要
本发明涉及一种基于Remoting软件构架的电网加密机共享访问的系统,以及基于Remoting软件构架的电网加密机共享访问的系统更新智能电表参数的方法。所述的系统包括前置机、加密机、客户端、智能电表,前置机与加密机相连,与加密机进行通信,并与客户端交互,完成智能电表身份安全认证过程;客户端与智能电表相连,对智能电表进行在线抄读、编程;前置机与客户端之间通过Remoting软件构架调用远程对象接口,进行加密机共享使用。将中国电院科在国家电网建设中提供的资源最大化、资源共享;供电网电量信息采集系统安全加密数据交互处理使用,使国网表生产摆脱加密机缺少的困境,操作方便,利于生产运作,便于资产管理。
文档编号H04L29/08GK103001952SQ20121046500
公开日2013年3月27日 申请日期2012年11月16日 优先权日2012年11月16日
发明者程福利, 徐越, 许良刚, 林冬武 申请人:漳州科能电器有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1