一种面向配用电场景的计量终端可信接入装置与方法转让专利

申请号 : CN201910774470.6

文献号 : CN110290157A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄贺平黄志才陈寿瑜朱辉青瞿振袁志坚翟柱新陈皓宁全源邹钟璐李为温思行袁咏诗邓建中冯奕军陈小群

申请人 : 广东电网有限责任公司广东电网有限责任公司东莞供电局

摘要 :

本发明公开了一种面向配用电场景的计量终端可信接入装置与方法,包括计量终端可信接入模块、终端数据可信接入模块以及区块交易模块;所述计量终端可信接入模块包括公私钥注册、设备信息上链以及验证设备信息;所述终端数据可信接入模块包括数据私钥加密、上传到区块链以及共识存储;所述区块交易模块包括发起交易、区块共识以及交易存储;通过采用区块链作为可信接入的第三方,实现分布式存储的可追溯交易信息,保障了设备信息以及数据的安全,以解决现有技术中由于中心化机制而导致的安全不信任的问题。

权利要求 :

1.一种面向配用电场景的计量终端可信接入方法,其特征在于,通过面向配用电场景的计量终端可信接入装置实现,所述面向配用电场景的计量终端可信接入装置包括计量终端可信接入模块、终端数据可信接入模块以及区块交易模块;

所述计量终端可信接入模块包括公私钥注册、设备信息上链以及验证设备信息;

所述终端数据可信接入模块包括数据私钥加密、上传到区块链以及共识存储;

所述区块交易模块包括发起交易、区块共识以及交易存储;

所述计量终端可信接入装置依附的系统架构包括计量终端、区块链以及业务系统,所述计量终端、区域链以及业务系统之间通过HTTP服务器进行交互;

所述计量终端包括数据通信网关以及终端设备,每一个所述数据通信网关可以连接多个终端设备;

所述方法包括以下步骤:

S100、数据通信网关启动并向每一个与之相连接的终端设备发送读计量终端ID的数据报,终端设备向数据通信网关返还有效的返回值;

S200、数据通信网关持续向之相连接的终端设备端口发送读数据报的请求,并将返还的数据信息存储在本地的Redis数据库;

S300、数据通信网关查询本地的Redis数据库中是否有计量终端ID的记录,若有执行步骤S500,若没有执行步骤S400;

S400、数据通信网关将收到的数据存储在本地的Redis数据库中,同时注册公私钥并向HTTP服务器提交注册计量终端ID的请求,注册成功后,数据通信网关将公私钥记录在Redis数据库中,然后继续执行步骤S100;

S500、用户通过HTTP服务器向业务系统进行交易。

2.根据权利要求1所述的一种面向配用电场景的计量终端可信接入方法,其特征在于,所述数据通信网关定时将收集到的数据信息使用私钥加密后发给HTTP服务器,所述HTTP服务器定时向计量终端发送读数据请求并将数据上传到区块链中。

3.根据权利要求1所述的一种面向配用电场景的计量终端可信接入方法,其特征在于,S400中所述的数据通信网关将收到的数据作为数据的key值存储在Redis数据库中,每一个所述终端设备的数据作为实值存在对应的key值中。

4.根据权利要求1所述的一种面向配用电场景的计量终端可信接入方法,其特征在于,经过所述计量终端可信接入模块以及终端数据可信接入模块之后进入系统的区块交易模块。

5.根据权利要求1所述的一种面向配用电场景的计量终端可信接入方法,其特征在于,所述计量终端可信接入模块通过计量终端向业务系统的CA证书机构发起公私钥注册,计量终端将私钥存储,计量终端将公钥以及设备信息上传至区块链进行设备信息上链,区块链将设备信息传送给设备厂商验证设备信息。

6.根据权利要求1所述的一种面向配用电场景的计量终端可信接入方法,其特征在于,所述终端数据可信接入模块通过计量终端将采集的数据信息经过计量终端的私钥进行数据私钥加密后上传到区块链,区块链通过存储的公钥对数据进行解密实现共识存储。

说明书 :

一种面向配用电场景的计量终端可信接入装置与方法

技术领域

[0001] 本发明实施例涉网络安全技术领域,尤其涉及一种面向配用电场景的计量终端可信接入装置与方法。

背景技术

[0002] 随着我国配用电信息的逐渐复杂,目前计量终端生产厂商较多,利用设备的漏洞进行偷电漏电给电网带来了巨额经济损失。因此,如何对计量终端进行接入认证,以及如何确保配用电数据可信存证,是亟需解决的安全问题。
[0003] 传统的终端设备可信接入主要是采用了第三方安全认证,仍有中心化机构普遍存在的安全及信任问题。随着终端设备的不断增加,可信接入成了一个亟待解决的问题。而区块链以其不可篡改、可追溯、可编程、去中心化的特性为这些问题提供了一种解决方案,可以保证计量终端的可信接入以及去中心化的信任机制。
[0004] 但是现有技术的可信接入装置存在以下不足之处的问题:(1)专利号为CN104735054A的“数字家庭设备可信接入平台及认证方法”,用于数字家庭各种异构设备的统一接入,在家庭设备内置的可信模块度量设备完整性的基础上,实现对拟接入家庭设备的完整性验证;同时,联合设备厂商通过其拥有的设备厂商服务器完成对设备真实性以及合法性的验证。但是,此方案并不能保证可信接入的设备不被其他恶意设备假冒,从而产生假数据;
(2)专利号为CN106331206A的“基于代理的用户设备可信接入认证方法”,提出了与认证服务器进行双向验证并于父节点进行权限判断,但是其连接方式类似于TCP,需要经过三次握手,这大大的增加了时间的开销,虽然可以保证可信接入,但是其步骤过去繁琐也是增加了可信接入的难度;
(3)专利号为CN102904731A的“一种基于数字证书的移动设备可信接入方法”,面向移动设备进行可信接入,并且解决了主站假冒身份的问题,但是其证书的发放却是由中心化的CA系统发放,中心化的机制还是会出现一定的安全问题,仍未摆脱传统中心化服务器的安全等问题。

发明内容

[0005] 本发明提供一种面向配用电场景的计量终端可信接入装置与方法,以解决现有技术的不足。
[0006] 为实现上述目的,本发明提供以下的技术方案:第一方面,本发明实施例提供一种面向配用电场景的计量终端可信接入方法,包括以下步骤:
S100、数据通信网关启动并向每一个与之相连接的终端设备发送读计量终端ID的数据报,终端设备向数据通信网关返还有效的返回值;
S200、数据通信网关持续向之相连接的终端设备端口发送读数据报的请求,并将返还的数据信息存储在本地的Redis数据库;
S300、数据通信网关查询本地的Redis数据库中是否有计量终端ID的记录,若有执行步骤S500,若没有执行步骤S400;
S400、数据通信网关将收到的数据存储在本地的Redis数据库中,同时注册公私钥并向HTTP服务器提交注册计量终端ID的请求,注册成功后,数据通信网关将公私钥记录在Redis数据库中,然后继续执行步骤S100;
S500、用户通过HTTP服务器向业务系统进行交易。
[0007] 进一步地,所述面向配用电场景的计量终端可信接入方法中,所述数据通信网关定时将收集到的数据信息使用私钥加密后发给HTTP服务器,所述HTTP服务器定时向计量终端发送读数据请求并将数据上传到区块链中。
[0008] 进一步地,所述面向配用电场景的计量终端可信接入方法中,S400中所述的数据通信网关将收到的数据作为数据的key值存储在Redis数据库中,每一个所述终端设备的数据作为实值存在对应的key值中。
[0009] 第二方面,基于计量终端可信接入方法,本发明实施例提供一种面向配用电场景的计量终端可信接入装置,包括计量终端可信接入模块、终端数据可信接入模块以及区块交易模块;所述计量终端可信接入模块包括公私钥注册、设备信息上链以及验证设备信息;
所述终端数据可信接入模块包括数据私钥加密、上传到区块链以及共识存储;
所述区块交易模块包括发起交易、区块共识以及交易存储。
[0010] 进一步地,所述面向配用电场景的计量终端可信接入装置中,经过所述计量终端可信接入模块以及终端数据可信接入模块之后进入系统的区块交易模块。
[0011] 进一步地,所述面向配用电场景的计量终端可信接入装置中,所述计量终端可信接入装置依附的系统架构包括计量终端、区块链以及业务系统,所述计量终端、区域链以及业务系统之间通过HTTP服务器进行交互。
[0012] 进一步地,所述面向配用电场景的计量终端可信接入装置中,所述计量终端可信接入模块通过计量终端向业务系统的CA证书机构发起公私钥注册,计量终端将私钥存储,计量终端将公钥以及设备信息上传至区块链进行设备信息上链,区块链将设备信息传送给设备厂商验证设备信息。
[0013] 进一步地,所述面向配用电场景的计量终端可信接入装置中,所述终端数据可信接入模块通过计量终端将采集的数据信息经过计量终端的私钥进行数据私钥加密后上传到区块链,区块链通过存储的公钥对数据进行解密实现共识存储。
[0014] 进一步地,所述面向配用电场景的计量终端可信接入装置中,所述计量终端包括数据通信网关以及终端设备,每一个所述数据通信网关可以连接多个终端设备。
[0015] 本发明的实施方式具有如下优点:(1)使用区块链作为底层的数据平台,使数据分布式的存储在区域链平台的各个节点上,利用区块链的不可篡改性保障了设备信息以及数据的安全;
(2)本发明使用户可以自定义计量终端采集的数据格式、数据上传时间,提升了计量终端的自主性;
(3)针对计量终端与数据的可信接入问题,计量终端可信接入装置将其流程合约化,存储到区块链上,所有的步骤都通过智能合约的形式自动触发并执行,有效解决了传统管理中人工成本高、流程复杂的问题,有效提高了计量终端以及数据可信接入的效率,降低了成本。

附图说明

[0016] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0017] 本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
[0018] 图1为本发明提供的计量终端可信接入装置的系统架构图;图2为本发明提供的计量终端可信接入装置的系统系列图;
图3为本发明提供的计量终端可信接入模块的流程图;
图4为本发明提供的终端数据可信接入模块的流程图;
图5为本发明提供的计量终端可信接入装置的系统模块框图。

具体实施方式

[0019] 为使得本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0020] 在本发明的描述中,需要理解的是,当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中设置的组件。当一个组件被认为是“设置在”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中设置的组件。
[0021] 此外,术语“长”“短”“内”“外”等指示方位或位置关系为基于附图所展示的方位或者位置关系,仅是为了便于描述本发明,而不是指示或暗示所指的装置或原件必须具有此特定的方位、以特定的方位构造进行操作,以此不能理解为本发明的限制。
[0022] 下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
[0023] 如图1至图5所示,本发明实施例通过采用区块链作为可信接入的第三方,实现分布式存储的可追溯交易信息,保障了设备信息以及数据的安全,以解决现有技术中由于中心化机制而导致的安全不信任的问题。
[0024] 如图5所示,结合需求分析和系统架构设计,面向配用电场景下计量终端可信接入客户端可划分为计量终端可信接入模块、终端数据可信接入模块、区块交易模块三个功能模块,其中,计量终端可信接入模块包含:公私钥注册、设备信息上链、验证设备信息三个子模块。终端数据可信接入模块包括数据私钥加密、上传到区块链、共识存储三个子模块;区块交易模块分为发起交易、区块共识、交易存储三个子模块。
[0025] 针对计量终端与数据的可信接入问题,计量终端可信接入装置将其流程合约化,存储到区块链上,所有的步骤都通过智能合约的形式自动触发并执行,有效解决了传统管理中人工成本高、流程复杂的问题,有效提高了计量终端以及数据可信接入的效率,降低了成本。
[0026] 计量终端可信接入模块,如图3所示,首先终端设备在接入本系统之前,首先向CA证书系统申请公私钥,然后私钥本地存储,将公钥以及设备的物理信息(ID,MAC地址,版本号等)上传到区块链中进行认证。区块链收到认证信息之后,调用智能合约,抽取出设备信息,然后将信息转发至设备厂商进行比对,若厂商比对成功,则表示计量终端信息是正确的,返回正确信息给区块链节点,区块链节点收到信息之后,进行共识并将计量终端信息保存在区块链上。并给计量终端发送注册成功信息。
[0027] 终端数据可信接入模块,如图4所示,计量终端采集数据信息,按照规定的格式将数据发送到区块链中,为了保证数据来源的可信,所以使用计量终端设备的私钥加密,相应的存储在区块链的公钥对数据进行解密,只有公钥私钥匹配上了,才能说明数据是来自相应的设备。既保证了终端数据的可信接入,又保证了数据的溯源。
[0028] 如图1所示,本发明包括业务系统、区块链平台以及计量终端三大部分,且三大部分通过HTTP服务器进行交互;计量终端作为物理层面,负责设备的接入以及数据的收集;业务系统作为前端,用户可以通过对可视化界面的操作与系统交互;区块链平台作为后端的服务,运行着系统的核心功能(可信认证,存储,交易)。
[0029] 其中计量终端主要分成两个模块,一个是终端设备,另外一个是数据通信网关。
[0030] 终端设备:被用来采集各种各样的配用电信息,计量终端设备的类型有很多种,电表、控制器、智能锁等等。本系统主要使用电表与控制器两种计量终端。控制器是一种可以计量风力发电或者光伏发电量的设备。系统从计量终端采集的数据不是单一的数据,多种类型的数据都可以采集。比如:耗电量,发电量,有功功率,电压,电流等等。计量终端收集到的可能是用户负载用电,风力发电数据,传输电量等等。基本覆盖电力业务与数据相关的全部业务。
[0031] 数据通信网关:每一个数据通信网关收集与它相连的所有终端设备上的采集数据。工控机与终端设备的连接可以通过有线方式连接也可以通过无线方式连接,具体取决于终端设备支持什么样的传输模式。数据通信网关收集到数据之后对原始数据进行二次处理,并且有一个Redis数据库缓存处理之后的数据。
[0032] HTTP 服务器:用来进行计量终端、区块链平台以及业务系统三大部分之间的交互。
[0033] 区块链平台:使用超级账本,通过智能合约用来确认前端显示数据是否正确,以及存储交易信息和电量信息,并且会对计量终端进行可信接入以及安全检测,异常数据会显示异常信息。
[0034] 业务系统:展示系统页面;可以看到电量信息,交易信息,设备信息以及区块监控等。
[0035] 在本发明的实施方式中,在区块链平台中,智能合约使用go语言编写(Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言),每一个区块链节点在物理上是一个独立的设备。其主要代码是从github中hyperledge fabric源码中下载。调用区块链智能合约的API存储在HTTP server中使用node.js编写(一个让JavaScript运行在服务器端的脚本语言)。数据信息都存储在区块链本身的数据库levelDB中,为了防止区块链存储内容过大。从terminal采集的信息设置一天上传一次(也符合系统的需求)。
[0036] 使用区块链作为底层的数据平台,使数据分布式的存储在区域链平台的各个节点上,利用区块链的不可篡改性保障了设备信息以及数据的安全,且用户可以自定义计量终端采集的数据格式、数据上传时间,提升了计量终端的自主性。
[0037] 在终端中,数据通信网关与终端设备之间是RS485转接USB连接(一对一或多对一),串口通信。每一个数据通信网关可以连接多个终端设备。数据通信网关收集数据的程序使用python语言编写,数据收集后立刻上传到Redis数据库。数据格式为:key值meter ID:timestap;value为power consume#power remained#发电量#meter type#电压#电流。
[0038] 在业务系统中,展示形式以网页的形式展示(还做成相应的app);其使用bootstrap框架融合HTML、css以及JavaScript多种前端语言在此基础上进行网页的制作与后端交互的代码使用JavaScript编写。用户可以进行购电请求,产生交易。管理员用户可以实时监控区块链(区块链节点数目,链码数量等等),也看查看区块链里边的终端信息,监测异常。
[0039] 如图2所示,数据通信网关启动之后,首先会向每一个端口发送读计量终端ID的数据报,若收到有效的返回值,则对相应端口开启一个新的进程,持续向端口发送读数据的请求,收到终端设备数据之后,查询本地Redis数据库是否有计量终端ID的记录,若没有,将计量终端ID与时间戳存到Redis中作为数据的key值;每个终端设备的数据则作为value存在对应的key值中。
[0040] 与此同时,在本地注册公私钥,并向服务器提交注册计量终端ID的请求(注册请求,公钥,计量终端ID,时间戳),HTTP服务器向区块链注册之后,返回信息给网关,并将公钥私钥记录在本地的Redis数据库中。
[0041] 每隔一天,数据通信网关就会将此时收集到的计量终端表ID、时间戳以及计量终端里收集到的数据使用私钥签名后发给HTTP服务器。
[0042] HTTP服务器(也就是tomcat)实现的主要功能是:定时(每24小时)向terminal中发送读数据请求,并将数据上传到区块链中;格式为:写入请求,数据(签名过),时间戳。
[0043] 以上都是系统自动执行的程序,对用户而言都是透明的。用户与系统唯一交互的位置就是业务系统,当用户点击计量终端ID,前端会向服务器发送请求请求区块链中与该计量终端相关的所有数据信息。服务器收到请求后,执行与区块链交互的接口程序,向区块链发送读数据请求并调用智能合约。数据返回给前端展示。
[0044] 当用户需要进行购电操作时,在业务系统输入购入电量并支付,会向服务器发送交易请求,服务器对交易进行预处理后,调用fabric智能合约并将交易存入到账本中,记账过程的共识是PBFT共识算法。交易成功上链之后,交易信息返回给HTTP服务器,服务器收到返回数据后将数据返回到前端并展示。
[0045] 根据本发明的实施例,进行了具体的仿真实验,其中业务网关包括数据查询与交易电力的功能,用超级账本作为底层的区块链提供数据与安全服务,首先是计量终端,本次实验采用了两块单向电表以及一块双向电表,单向电表只能测出用户端的耗电量,双向电表一边连用户负载一边连发电设备或者蓄电池可以测出该节点的发电量与耗电量;三个电表同时通过RS485线连接到通信终端,通信终端上运行着计量终端采集程序以及与区块链交互的程序。通信终端的配置如下:硬件方面:64位机,4核主频为2.66GHzCPU,8GB内存,64GB硬盘;软件方面:ubuntu 16.04(64位版本)。
[0046] 区块链系统总共由五个节点构成,其中使用了4台PC,有三台PC是一台表示一个区块链节点,剩下一台运行着两个虚拟机,每个虚拟机表示一个节点。PC的硬件配置如下:64位机, 6核主频为2.66GHzCPU,16GB内存,512GBSSD硬盘;软件配置如下:ubuntu 16.04(64位版本)。整个系统在测试期间连续运行了一个月,中间没有出现过故障或者意外终止的情况。
[0047] 当电表接入系统之后,首先会申请注册到区块链网络中,注册成功了才会向区块链中传送相关的数据。终端数据分为发电测数据与用电侧数据,以上界面展示的发电侧数据。前端展示的每一条终端数据信息主要由六部分构成,分别是序号、计算哈希、电表编号、发电量、耗电量、采集时间以及数据来源节点。其中,计算哈希代表着这一条数据在区块链中的哈希值,若要检验数据是否被篡改,可以算出数据哈希与链中存储的哈希值作比较;电表编号就是终端本身的编号,相当于终端自己的物理地址,是独一无二的,也可保证计量终端信息的可信。发电量与耗电量就是终端上采集的数据;采集时间是根据通信终端上传数据的中时间戳这一字段计算而来;数据来源节点是指数通过哪个区块链节点将数据返回给前端的。
[0048] 优选的,本发明实施例提供一种面向配用电场景的计量终端可信接入方法,包括以下步骤:S100、数据通信网关启动并向每一个与之相连接的终端设备发送读计量终端ID的数据报,终端设备向数据通信网关返还有效的返回值;
S200、数据通信网关持续向之相连接的终端设备端口发送读数据报的请求,并将返还的数据信息存储在本地的Redis数据库;
S300、数据通信网关查询本地的Redis数据库中是否有计量终端ID的记录,若有执行步骤S500,若没有执行步骤S400;
S400、数据通信网关将收到的数据存储在本地的Redis数据库中,同时注册公私钥并向HTTP服务器提交注册计量终端ID的请求,注册成功后,数据通信网关将公私钥记录在Redis数据库中,然后继续执行步骤S100;
S500、用户通过HTTP服务器向业务系统进行交易。
[0049] 优选的,所述数据通信网关定时将收集到的数据信息使用私钥加密后发给HTTP服务器,所述HTTP服务器定时向计量终端发送读数据请求并将数据上传到区块链中。
[0050] 优选的,S400中所述的数据通信网关将收到的数据作为数据的key值存储在Redis数据库中,每一个所述终端设备的数据作为实值存在对应的key值中。
[0051] 至此,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。