一种面向计量终端的分层嵌套认证与加密通信方法与流程

文档序号:33192637发布日期:2023-02-04 09:16阅读:41来源:国知局
一种面向计量终端的分层嵌套认证与加密通信方法与流程

1.本发明涉及电网安全技术领域,特别涉及一种面向计量终端的分层嵌套认证与加密通信方法。


背景技术:

2.电能计量系统包括计量终端、主站、网络等组成,随着电能计量系统的发展,木马传播、数据锁定等风险增加。例如,病毒通过办公网扩散到工业控制网络,再在控制网络进行复制和开展破坏活动,对电网及控制系统的危害特别大。
3.而计量终端逐渐智能化,在软件上,从无操作系统,发展为有操作系统、虚拟化、容器架构等。在硬件上,从单处理器,发展成多处理器或多核的处理能力。而计量终端之间或者计量终端与主站之间的通信的安全性尤其重要,但在现有技术中,对于如何实现组件之间的可信通信尚没有满意的解决方案。


技术实现要素:

4.本发明所要解决的技术问题在于,提供了一种面向计量终端的分层嵌套认证与加密通信方法,提高了计量终端之间或计量终端与主站之间通信的安全性。
5.本发明的一方面,提供一种面向计量终端的分层嵌套认证与加密通信方法,其包括如下步骤:
6.步骤s10,建立计量终端与其他计量终端或主站之间的隔离环境,将每一计量终端或主站中不同组件分离到相应的容器之中,以在各容器之间采用虚拟化隔离;并为每一计量终端或主站构建一对应的虚拟计算构架模块;
7.步骤s11,当两个组件之间需要进行通信时,先确认所述两个组件是否同属于一个计量终端或主站;
8.步骤s12,如果所述两个组件不同属于一个计量终端或主站,则首先建立所述两个组件对应的虚拟计算构架模块之间的信任关系,然后通过对应的计算构架模块建立所述两个组件之间的分层信任关系,并获得组件间及架构间的会话密钥;所述两个组件通过所述计算架构模块利用相应的会话密钥进行分层嵌套加密通信;
9.步骤s13,如果所述两个组件同属于一个计量终端或主站,则建立所述两个组件之间的信任关系,并协商组件间的会话密钥,所述两个组件之间采用所述会话密钥进行加密通信。
10.优选的,所述步骤s12中,建立所述两个组件对应的虚拟计算构架模块之间的信任关系的步骤进一步包括:
11.发送端的虚拟计算构架模块生成第一随机数,并采用预先存储的第一计算函数、第二计算函数、共享密钥进行计算,获得架构间的会话密钥以及第一消息认证码,并将所述随机数和第一消息认证码发送给接收端的虚拟计算架构模块;
12.接收端的虚拟计算构架模块采用预先存储的第一计算函数、第二计算函数、第三
计算函数,对所述第一随机数、共享密钥进行计算,获得第二消息认证码、架构间的会话密钥以及第三消息认证码;如果判定第二消息认证码和第一消息认证码相同,则认为发送端的虚拟计算构架模块通过认证;
13.接收端的虚拟计算架构模块将所述第一随机数和第三消息认证码发送给所述发送端的虚拟计算构架模块;
14.发送端的虚拟计算构架模块根据所述第一随机数,采用预先存储的第三计算函数进行计算生成第四消息认证码,如果所述第三消息认证码和第四消息认证码相同,则认为发送端的虚拟计算构架模块通过;则发送端的虚拟计算构架模块与接收端的虚拟计算构架模块之间建立信任关系。
15.优选的,所述步骤s12中,通过对应的计算构架模块建立所述两个组件之间的分层信任关系的步骤进一步包括:
16.发送端组件生成第二随机数,并采用预先存储的第四计算函数、第五计算函数、共享密钥进行计算,获得组件间的会话密钥以及第五消息认证码,并将所述第二随机数和第五消息认证码发送给发送端的虚拟计算架构模块;
17.发送端的虚拟计算架构模块采用加密的方式将所述第二随机数和第五消息认证码发送给接收端的虚拟计算构架模块;接收端的虚拟计算构架模块进行解密后,发送给接收端组件;
18.接收端组件采用预先存储的第四计算函数、第五计算函数、第六计算函数,对所述第二随机数、共享密钥进行计算,获得第六消息认证码、组件间的会话密钥以及第七消息认证码;如果判定第六消息认证码和第五消息认证码相同,则认为发送端组件通过认证;
19.接收端组件将所述第二随机数和第七消息认证码发送给所述接收端的虚拟计算构架模块;
20.接收端的虚拟计算架构模块采用加密的方式将所述第二随机数和第七消息认证码发送给发送端的虚拟计算构架模块;发送端的虚拟计算构架模块进行解密后,发送给发送端组件;
21.发送端组件根据所述第二随机数采用预存的第六计算函数进行计算,生成第八消息认证码,如果所述第八消息认证码和第七消息认证码相同,则认为接端组件通过认证;则发送端组件与接收端组件之间建立分层信任关系。
22.优选的,所述步骤s12中,所述两个组件通过所述计算架构模块利用对应的会话密钥进行分层嵌套加密通信的步骤进一步包括:
23.发送端组件采用组件间的会话秘钥对原始数据进行加密,生成第一加密数据,发送给发送端组件所对应的发送端的虚拟计算架构模块;
24.发送端的虚拟计算构架模块对所述第一加密数据采用架构间的会话秘钥进行加密,生成第二加密数据;并发送给接收端组件所对应的接收端虚拟计算架构模块;
25.接收端虚拟计算架构模块采用架构间的会话秘钥对所述第二加密数据进行解密,获得第一加密数据,并传送给所述接收端组件;
26.接收端组件采用组件间的会话秘钥对所述第一加密数据进行解密,获得原始数据。
27.优选的,所述步骤s13中,建立所述两个组件之间的信任关系,获得相应的会话密
钥的步骤进一步包括:
28.发送端组件生成第三随机数,并采用预先存储的第八计算函数、第九计算函数、共享密钥进行计算,获得组件间的会话密钥以及第九消息认证码,并将所述第三随机数和第九消息认证码发送给接收端组件;
29.接收端组件采用预先存储的第八计算函数、第九计算函数、第十计算函数,对所述第三随机数、共享密钥进行计算,获得第十消息认证码、组件间的会话密钥以及第十一消息认证码;如果判定第九消息认证码和第十消息认证码相同,则认为发送端组件通过认证;
30.接收端组件将所述第三随机数和第十一消息认证码发送给发送端组件;
31.发送端组件根据所述第三随机数采用预存的第十计算函数进行计算,生成第十二消息认证码,如果所述第十一消息认证码和第十二消息认证码相同,则认为接端组件通过认证;则发送端组件与接收端组件之间建立信任关系。
32.优选的,所述步骤s13中,所述两个组件之间采用所述会话密钥进行加密通信的步骤进一步包括:
33.发送端组件采用组件间的会话秘钥对原始数据进行加密,获得加密后的数据,并直接发送给接收端组件;
34.接收端组件收到所述加密后的数据,采用组件间的会话秘钥进行解密,获得原始数据。
35.实施本发明实施例,具有如下有益效果:
36.本发明提出了一种面向计量终端的分层嵌套认证与加密通信方法,采用分层嵌套的理念,在智能计量终端内部构件组件之间的相互认证,跨计量终端之间实现虚拟计算构架模块之间的认证,并实现嵌套认证,建立组件之间、虚拟计算构架模块之间的可信关系,组件信任关系构建在虚拟计算构架模块信任关系之上,实现多层嵌套的信任关系构建。可信关系构建后,开展组件和组件之间、虚拟计算构架模块与虚拟计算构架模块之间的加密通信,组件加密通信驾于虚拟计算构架模块加密通信之上,实现分层嵌套的加密通信机制。在本发明实施例中,为了防御病毒侵害,采用零信任的理念,隔离内部软件组件,使得内部组件之间的通信在一定受控下进行。
37.实施本发明,通过实行隔离环境构建、认证机制设置、信任关系构建、分层信任关系构建、加密通信、分层嵌套加密通信等功能,在计量终端外部采用分层认证和加密机制,实现计量终端的外部通信,从零信任构建组件之间的信任关系,并实现组件之间的可信通信。可以使各组件之间的通信更加安全可靠,提高了计量终端之间或计量终端与主站之间通信的安全性。
附图说明
38.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
39.图1为本发明提供的一种面向计量终端的分层嵌套认证与加密通信方法的一个实施例的主流程示意图;
40.图2为本发明的应用环境示意图;
41.图3为本发明中不同计量终端的组件之间分层嵌套认证流程图;
42.图4为本发明中不同计量终端的组件之间分层嵌套加密通信流程图;
43.图5本发明涉及的同一计量终端内部组件之间认证流程图。
具体实施方式
44.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
45.本发明提供一种面向计量终端的分层嵌套认证与加密通信方法,其需要实现诸如:隔离环境构建、认证机制设置、信任关系构建、分层信任关系构建、加密通信、分层嵌套加密通信等功能。上述功能简述如下:
46.隔离环境构建:计量终端应包含操作系统、具有容器虚拟化能力,并能够把不同的组件分离到不同的容器中。计量组件应该通过虚拟化隔离措施(容器)与其他组件相隔离,在本方法没有实施前不能相互通信,组件之间不存在信任关系。隔离的组件,置于不同的容器中,构成了组件层。组件层的下面是虚拟计算构架模块层,包含虚拟计算构架模块。各层之间的关系如图2所示。
47.认证机制设置:认证机制分成两类,分别是组件认证机制、虚拟计算构架模块认证机制,分别设置于组件、虚拟计算构架模块中。
48.信任关系构建:组件与组件进行认证建立信任关系。虚拟计算构架模块与虚拟计算构架模块之间进行认证建立信任关系。
49.分层信任关系构建:在计量终端内部组件之间的信任关系构建,不需要虚拟计算构架模块之间的认证,直接可以开展组件之间认证实现信任关系构建。对于计量终端的外部信任关系构建,虚拟计算构架模块之间的认证应该先于组件之间的认证才能支持外部信任关系构建和通信。组件之间的信任关系层高于虚拟计算构架模块之间的信任关系层。
50.加密通信:组件与组件建立信任关系后,可以加密通信。虚拟计算构架模块与虚拟计算构架模块之间建立信任关系后,可以加密通信。
51.分层嵌套加密通信:组件之间在计量终端内部可以直接进行加密通信,构建组件加密通信层。在外部加密通信中,虚拟计算构架模块之间先建立虚拟计算构架模块加密通信层,组件之间的加密通信层在虚拟计算构架模块加密通信层之上,形成分层嵌套通信关系。
52.下述将结合图1至图5所示,对本发明的具体细节进行说明。
53.如图1所示,为本发明提供的一种面向计量终端的分层嵌套认证与加密通信方法的一个实施例的主流程示意图;一并结合图2至图5所示,在本实施例中,所述方法至少包括:
54.步骤s10,建立计量终端与其他计量终端或主站之间的隔离环境,将每一计量终端或主站中不同组件分离到相应的容器之中,以在各容器之间采用虚拟化隔离;并为每一计量终端或主站构建一对应的虚拟计算构架模块;如图2中,计量终端1有3容器:容器1、2、3,
分别安置组件1、2、3;在容器的下面,设置有虚拟计算构架模块1。另外,在外面的通信对方,例如与计量终端1通信的计量终端2(或主站),也设置了3个容器:4、5、6,分别安置组件4、5、6;在容器的下面,设置有虚拟计算构架模块2。
55.步骤s11,当两个组件之间需要进行通信时,先确认所述两个组件是否同属于一个计量终端或主站;在本发明实施例中,同一计量终端内的两个组件与不同计量终端内的两个组件的认证与通信过程存在区别,故需要确定两个组件的位置关系。
56.步骤s12,如果所述两个组件不同属于一个计量终端或主站,则首先建立所述两个组件对应的虚拟计算构架模块之间的信任关系,然后通过对应的计算构架模块建立所述两个组件之间的分层信任关系,并获得组件间及架构间的会话密钥;所述两个组件通过所述计算架构模块利用相应的会话密钥进行分层嵌套加密通信;
57.在具体的例子中,如图3所示,所述步骤s12中,建立所述两个组件对应的虚拟计算构架模块之间的信任关系的步骤进一步包括:
58.步骤101,不同计量终端虚拟计算构架模块的相互认证,建立外部信任关系,形成虚拟计算构架模块信任关系层;
59.具体地,发送端的虚拟计算构架模块(图中为虚拟计算构架模块1)生成第一随机数rand1,并采用预先存储的第一计算函数f1、第二计算函数f2、共享密钥进行计算,获得架构间的会话密钥ckw以及第一消息认证码xmac1,并将所述随机数rand1和第一消息认证码xmac1发送给接收端的虚拟计算架构模块(图中为虚拟计算构架模块2);而在发送端的虚拟计算构架模块保留架构间的会话密钥ckw;
60.接收端的虚拟计算构架模块收到(rand1,xmac1)后,采用预先存储的第一计算函数f1、第二计算函数f2、第三计算函数f3,对所述第一随机数、共享密钥进行计算,获得第二消息认证码xmac2、架构间的会话密钥ckw以及第三消息认证码rmac2;如果判定第二消息认证码xmac2和第一消息认证码xmac1相同,则认为发送端的虚拟计算构架模块通过认证;
61.接收端的虚拟计算架构模块将所述第一随机数rand1和第三消息认证码rmac3发送给所述发送端的虚拟计算构架模块;
62.发送端的虚拟计算构架模块根据所述第一随机数rand1,采用预先存储的第三计算函数f3进行计算生成第四消息认证码rmac4,如果所述第三消息认证码rmac3和第四消息认证码rmac4相同,则认为发送端的虚拟计算构架模块通过;
63.则发送端的虚拟计算构架模块与接收端的虚拟计算构架模块之间建立信任关系。
64.步骤102,发送端的虚拟计算构架模块与接收端的虚拟计算构架模块之间则可以进行通信。
65.然后,在所述步骤s12中,通过对应的计算构架模块建立所述两个组件之间的分层信任关系的步骤进一步包括:
66.步骤101,发送端组件向接收端组件发起双向认证,下述以组件1中的认证机制向组件4的认证机制发起双向认证进行说明。
67.具体地,发送端组件(组件1)生成第二随机数crand,并采用预先存储的第四计算函数ff4、第五计算函数ff5、共享密钥进行计算,获得组件间的会话密钥ckn以及第五消息认证码cxmac5,并将所述第二随机数crand和第五消息认证码cxmac5发送给发送端的虚拟计算架构模块1;
68.发送端的虚拟计算架构模块1通过其和虚拟计算构架模块2之间的信任关系和加密通信信道,采用加密的方式将所述第二随机数crand和第五消息认证码cxmac5发送给接收端的虚拟计算构架模块2;接收端的虚拟计算构架模块2进行解密后,发送给接收端组件(组件4);
69.接收端组件4采用预先存储的第四计算函数ff4、第五计算函数ff5、第六计算函数ff6,对所述第二随机数crand、共享密钥进行计算,获得第六消息认证码cxmac6、组件间的会话密钥ckn以及第七消息认证码crmac7;如果判定第六消息认证码cxmac6和第五消息认证码cxmac5相同,则认为发送端组件通过认证;
70.接收端组件将所述第二随机数crand和第七消息认证码crmac7发送给所述接收端的虚拟计算构架模块2;
71.接收端的虚拟计算架构模块2采用加密的方式将所述第二随机数crand和第七消息认证码crmac7发送给发送端的虚拟计算构架模块1;发送端的虚拟计算构架模块1进行解密后,发送给发送端组件1;
72.发送端组件1根据所述第二随机数crand采用预存的第六计算函数ff6进行计算,生成第八消息认证码crmac8,如果所述第八消息认证码crmac8和第七消息认证码crmac7相同,则认为接端组件通过认证;则发送端组件1与接收端组件4之间建立分层信任关系。
73.步骤104,在组件1与组件4建立分层信任关系之后,两者就可以进行通信了。
74.如图4所示,示出了本发明步骤s12中不同计量终端的组件之间分层嵌套加密通信流程图;下述以组件1与组件4之间的通信进行说明。
75.具体地,所述步骤s12中,所述两个组件通过所述计算架构模块利用对应的会话密钥进行分层嵌套加密通信的步骤进一步包括:
76.发送端组件1采用组件间的会话秘钥ckn对原始数据a进行加密,生成第一加密数据b=en(a,ckn),发送给发送端组件所对应的发送端的虚拟计算架构模块1;
77.发送端的虚拟计算构架模块1对所述第一加密数据b采用架构间的会话秘钥ckw进行加密,生成第二加密数据c=en(b,ckw);并发送给接收端组件1所对应的接收端虚拟计算架构模块1;
78.接收端虚拟计算架构模块2采用架构间的会话秘钥ckw对所述第二加密数据c进行解密,获得第一加密数据b,并传送给所述接收端组件2;
79.接收端组件2采用组件间的会话秘钥ckn对所述第一加密数据b进行解密,获得原始数据a。
80.步骤s13,如果所述两个组件同属于一个计量终端或主站,则建立所述两个组件之间的信任关系,并协商组件间的会话密钥,所述两个组件之间采用所述会话密钥进行加密通信。
81.在本发明实施例中,对于同一个计量终端或主站中的两个组件也需要进行认证和加密通信。具体的认证过程与加密通信过程与前述示出的类似,但要更简单一些。
82.具体地,如图5所示,示出本发明涉及的同一计量终端内部组件之间认证流程图。下述以计量终端1中组件1与组件2之间的认证进行说明。
83.步骤105,组件1中的认证机制与组件2中的认证机制发起双向认证。
84.发送端组件1生成第三随机数crand3,并采用预先存储的第八计算函数ff8、第九
计算函数ff9、共享密钥进行计算,获得组件间的会话密钥ckn以及第九消息认证码cxmac9,并将所述第三随机数crand3和第九消息认证码cxmac9发送给接收端组件;
85.接收端组件采用预先存储的第八计算函数ff8、第九计算函数ff9、第十计算函数ff
10
,对所述第三随机数crand3、共享密钥进行计算,获得第十消息认证码cxmac9、组件间的会话密钥ckn以及第十一消息认证码crmac11;如果判定第九消息认证码cxmac9和第十消息认证码cxmac10相同,则认为发送端组件通过认证;
86.接收端组件将所述第三随机数crand3和第十一消息认证码crmac11发送给发送端组件;
87.发送端组件根据所述第三随机数crand3采用预存的第十计算函数ff
10
进行计算,生成第十二消息认证码crmac12,如果所述第十一消息认证码crmac11和第十二消息认证码crmac12相同,则认为接端组件2通过认证;则发送端组件1与接收端组件2之间建立信任关系。
88.步骤106,在组件1与组件2之间建立信任关系后,两者即可以进行通信。
89.更具体地,所述步骤s13中,所述两个组件之间采用所述会话密钥进行加密通信的步骤进一步包括:
90.发送端组件(如组件1)采用组件间的会话秘钥ckn对原始数据a进行加密,获得加密后的数据b,并直接发送给接收端组件(如组件2);
91.接收端组件2收到所述加密后的数据b,采用组件间的会话秘钥ckn进行解密,获得原始数据a。
92.更多细节,可以参考前述对图1至图4的描述,在此不进行赘述。可以理解的是,在本发明的实施例中,上述对各图中的描述中,其中涉及的函数可以是部分相同。
93.实施本发明实施例,具有如下有益效果:
94.本发明提出了一种面向计量终端的分层嵌套认证与加密通信方法,采用分层嵌套的理念,在智能计量终端内部构件组件之间的相互认证,跨计量终端之间实现虚拟计算构架模块之间的认证,并实现嵌套认证,建立组件之间、虚拟计算构架模块之间的可信关系,组件信任关系构建在虚拟计算构架模块信任关系之上,实现多层嵌套的信任关系构建。可信关系构建后,开展组件和组件之间、虚拟计算构架模块与虚拟计算构架模块之间的加密通信,组件加密通信驾于虚拟计算构架模块加密通信之上,实现分层嵌套的加密通信机制。在本发明实施例中,为了防御病毒侵害,采用零信任的理念,隔离内部软件组件,使得内部组件之间的通信在一定受控下进行。
95.实施本发明,通过实行隔离环境构建、认证机制设置、信任关系构建、分层信任关系构建、加密通信、分层嵌套加密通信等功能,在计量终端外部采用分层认证和加密机制,实现计量终端的外部通信,从零信任构建组件之间的信任关系,并实现组件之间的可信通信。可以使各组件之间的通信更加安全可靠,提高了计量终端之间或计量终端与主站之间通信的安全性。
96.以上所述仅为本发明的较佳实施例,并非用以限定本发明的权利要求范围,因此凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含于本发明的权利要求范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1