CN112817819B - 边缘安全节点对云上部署运行程序进行逻辑监视的方法 - Google Patents
边缘安全节点对云上部署运行程序进行逻辑监视的方法 Download PDFInfo
- Publication number
- CN112817819B CN112817819B CN202110105675.2A CN202110105675A CN112817819B CN 112817819 B CN112817819 B CN 112817819B CN 202110105675 A CN202110105675 A CN 202110105675A CN 112817819 B CN112817819 B CN 112817819B
- Authority
- CN
- China
- Prior art keywords
- base
- offset
- cloud
- code
- encryption
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种边缘安全节点对云上部署运行程序进行逻辑监视的方法。包括:在云计算设备上列控应用区域块中部署的云上部署运行程序的各个关键分支上设置加密程序运行签名,不同关键分支设置不同的加密程序运行签名,在程序运行的过程中,云计算设备将各个关键分支对应的加密程序运行签名发送给边缘安全节点,边缘安全节点解密并检查接收到的加密程序运行签名是否正确,如果正确,则判断云计算设备上列控应用区域块运行正常;否则,判断云计算设备上列控应用区域块运行异常,启动相应的安全反应。本发明的方法能够实现边缘安全节点对云上部署运行的程序进行逻辑监视的目的。
Description
技术领域
本发明涉及轨道交通运行控制技术领域,尤其涉及一种边缘安全节点对云上部署运行程序进行逻辑监视的方法。
背景技术
轨道交通作为国家经济发展的命脉,随着新一代产业变革的发展,以云计算、互联网、大数据、物联网、新能源、人工智能等为代表的新兴技术与轨道交通加速深度融合,高速化、智能化、互联互通将成为新一代轨道交通系统的发展方向。
云计算提供一种按需提供动态伸缩的廉价服务。具备海量存储能力,空间无限,资源灵活,能够减少设备数量,节约成本。具有强大的计算能力,能提高现有的计算使用率。其可扩展性强,能够根据用户的需求对规模进行动态扩展或缩小。除此之外,云计算可以具有高可靠性,使用数据多副本容错以及计算节点同构可互换等方法来保证云计算服务的可靠性。将云计算技术应用于轨道交通列控系统乃至轨道交通信号系统是一种技术上的必然。
云计算的软硬件基础都是基于商用现货产品(Commercial Off-The-Shelf,COTS),是典型的非故障安全计算环境。
在轨道交通列控系统乃至轨道交通信号系统中本地设备和云环境之间设置边缘安全节点,上述本地设备为安全域,包括地面OC(Object Controller,目标控制器)或车载OC等,云环境为非安全域,包括云计算设备等。边缘安全节点起到隔离安全域和非安全域的作用。边缘安全节点为安全设备,既可位于地面,也可位于列车上,其安全完整性等级与既有列控设备一致,满足故障导向安全特性。
云计算作为典型的非故障安全计算环境,其中的控制节点或计算节点分布在广泛的物理位置或不同的虚拟机中,一些安全防御能力比较薄弱的节点很容易被入侵乃至劫持而不再正确执行应该执行的软件功能。这就要求,按照EN50129标准的要求,边缘安全节点需要对云上部署运行的程序进行程序序列监测(Program sequence monitoring)。
根据EN50129标准,程序序列监测包括时间监视(Temporal monitoring)和逻辑监视(Logical monitoring)。时间监视是指周期触发有独立时基(separate time base)的外部计时部件(例如看门狗计时器)以监控计算机行为和程序顺序的合理性,因此在程序中正确地放置触发点(the triggering points)是很重要的。逻辑监视是指单个程序片段的正确顺序通过软件计数流程(software counting procedure)、软件密钥流程(software keyprocedure)或外部监控设备进行监控,因此在程序中正确地放置检查点(the checkingpoints)是很重要的。时间和逻辑监控可以结合使用。例如一个监控程序流程的时间设备当且因当程序片段的顺序也被正确执行才能被重新触发。
目前,现有技术中的典型逻辑监视方法是编码微处理器技术。图1为现有技术中的一种编码微处理器原理示意图。编码微处理器本质在于所有程序变量都要编码,编码的选择应保证源程序的任何偏差都会产生“编码之外(out of code)”字符,它会触发动态控制器,这个最终的控制器基于故障-安全技术设计,在安全苛求输出处关闭电源。在编码微处理器中,保留编码按形式如下:X=A*x
其中,X是一个编码操作数,x是操作数的未编码值,A是一个随机选择的素数。
简要地说,每个所用变量都要编码,编码是由两部分(Xf,Xc)组成,其中Xf是变量的值部分,32位,Xc是变量的“控制部分”,48位。变量的值和控制部分以不同的方式分开计算,指令集应设计成能够处理输入编码变量和提供编码形式的输出,基本操作库叫做OPELEM,其创建了如何实现安全基本操作的流程。
所使用的编码实际上由紧密混合的四种签名(signature)构成,能检测出以下五类错误,具体描述如下:
1)算数编码。含有素数A的算数编码用于检测计算错误(延迟误差、移位误差等),变量X的编码(Xf,Xc)是一个编码字,且满足以下等式:
2kXf+Xc≡0(模A),其中,k是一个常整数。
2)数据签名(静态签名)。用于检测寻址错误(操作数寻址错误,操作错误,变量混淆),每一个变量X与整数Bx相关,叫做签名X,这个签名是叠加在上面提到的算术编码上的,X=(Xf,Xc)是一个编码字,且满足以下等式:
2kXf+Xc≡Bx(模A),其中k是一个常数。
中间变量和输出的签名由输入签名和所执行的操作决定,此外可以借助签名预测工具来计算出程序所有输出的签名,后者独立于输入值及其执行路径。
3)定时签名(动态签名)。它用来检测错误(无用存储,循环的错误数量等),每个处理周期或者更一般的循环缺口是由其适当的时间数D来表征的,时间数在每个循环中都是递增的,时间数插在每个变量编码中,编码最后的定义如下:
变量X的编码(Xf,Xc)的时间数D是一个编码字,且满足以下等式:2kXf+Xc≡Bx+D(模A)
4)顺序签名。添加一个特殊的全局变量,叫做“追踪变量("Tracer)”,为了防止某些序列或分支的错误,这个追踪变量在每个指令之后都会更新,并且可以通过预测工具计算,追踪变量叠加在包括时间D的签名如下:
2kXf+Xc≡Bx+D+Tr(模A)=Sf(最终签名)
编码微处理器设计了两个故障-安全部件,以确保安全编码计算机故障或检测出故障后,将系统导向安全侧,如图1所示:
1)故障-安全硬件部件(CKDYN)
最终签名Sf送到根据故障-安全技术设计实现的动态控制器CKDYN中。CKDYN从Sf中得到时间信息,然后比较Sf-D和程序的参考签名Sr,这个参考签名是常量,提前由签名预先计算工具预先计算出来,并存储在动态控制器的只读存储器中。如果CKDYN检测到Sf-D与Sr不符,意味着Sf为“编码之外(out of code)”字符,控制器将切断输出的电源。
2)故障-安全软件部件(OPELEM)
安全基本操作OPELEM需要处理编码输入来产生编码输出,并且保持编码特征,这些特征要求输出签名可以预先计算。
考虑到处理编码变量的OPELEM算法,已经证明了安全基本指令集OPELEM检测单一故障的能力。根据错误类型中得到的五种错误模型,失效模式和后果分析方法已经用于分析基本操作。当无法检测到失效组合时,则须评估发生概率,这些组合非常复杂,响应的概率远低于分配给微处理器的目标。
上述现有技术中的基于编码微处理器技术的典型逻辑监视方法的缺点包括:上述的编码微处理器技术,基于特定处理器(早期相对简单处理器,如图1中的68020)的指令集实现,基础是汇编,尽管方法通用,但对于不同微处理器的指令集差异,具体实现过程也会不同,而且需要如图2所示的特定软件工具才能实现。
云计算的软硬件基础都是基于商用现货产品(Commercial Off-The-Shelf,COTS),其处理器都是异常复杂的现代处理器,指令集也非常复杂,甚至有可能为虚拟处理器和虚拟指令集,编码微处理器技术针对云计算这种COTS软硬件基础和通用安全计算机平台程序、通用轨道交通列控应用程序基本无能为力,即使实现也异常复杂且难于给出完备的安全证据。
发明内容
本发明的实施例提供了一种边缘安全节点对云上部署运行程序进行逻辑监视的方法,以实现对云上部署运行程序进行有效地逻辑监视。
为了实现上述目的,本发明采取了如下技术方案。
一种边缘安全节点对云上部署运行程序进行逻辑监视的方法,包括:
在云计算设备上列控应用区域块中部署的云上部署运行程序的各个关键分支上设置加密程序运行签名,不同关键分支设置不同的加密程序运行签名,所述云上部署运行程序包括安全计算机平台相关程序和轨道交通列车运行控制应用程序;
在程序运行的过程中,所述云计算设备将各个关键分支对应的加密程序运行签名发送给边缘安全节点,所述边缘安全节点解密并检查接收到的加密程序运行签名是否正确,如果正确,则判断所述云计算设备上列控应用区域块运行正常;否则,判断所述云计算设备上列控应用区域块运行异常,启动相应的安全反应。
优选地,所述加密程序运行签名包括基码Xbase+偏移码Xoffset;
边缘安全节点发送软件流程特征码时,选择基码Xbase和偏移码Xoffset,分别对基码Xbase和偏移码Xoffset进行加密,基码Xbase变为Xbase’,偏移码Xoffset变为Xoffset’,再将Xbase’和Xoffset’发送给云计算设备上,云计算设备将Xbase’和Xoffset’设置在列控应用区域块上云上部署运行程序的各个关键分支上;
云上部署运行程序收到加密基码Xbase’和加密偏移码Xoffset’后,对基码Xbase’和偏移码Xoffset’进行约定的加密特定运算,基码Xbase’变为(Xbase+0)’,偏移码Xoffset’变为(Xoffset+1)’,再将(Xbase+0)’和(Xoffset+1)’返回给边缘安全节点;
边缘安全节点对(Xbase+0)’和(Xoffset+1)’分别进行逆加密特定运算运算后,再进行解密处理,判断解密得到的结果是否与基码Xbase和偏移码Xoffset+1一致,如果一致,下一周期以Xbase和Xoffset+1为新的Xbase和Xoffset分别进行加密后重复上述步骤;如果不一致,说明云计算设备上列控应用区域块运行异常,应启动相应的安全反应。
优选地,所述云上部署运行程序对基码Xbase’的约定的加密特定运算包括加密二进制加0运算,对偏移码Xoffset’的约定的加密特定运算包括加密二进制加1运算。
优选地,所述方法还包括:
所述边缘安全节点基于安全双方机制实现云上部署运行程序的逻辑监视,具体包括:
将Xbase任意分解为Xbase1、Xbase2,Xbase=Xbase1+Xbase2;
将Xoffset任意分解为Xoffset1、Xoffset2,Xoffset=Xoffset1+Xoffset2;
将0分解为Xbase位数所对应的两个任意数相加的形式,0=0base1+0base2,将0base2嵌入云上部署运行程序中;
提前计算好0base1所对应的加密值1=E(0base1),将加密值1=E(0base1)嵌入云上部署运行程序中;
将1分解为Xoffset位数所对应的两个任意数相加的形式,1=1offset1+1offset2,将1offset2嵌入云上部署运行程序中;
提前计算好1offset1所对应的加密值2=E(1offset1),将加密值2=E(1offset1)嵌入云上部署运行程序中;
边缘安全节点发送Xbase2和Xoffset2给云计算设备上列控应用区域块上的云上部署运行程序;
云上部署运行程序收到边缘安全节点发送的Xbase2和Xoffset2后,对Xbase2执行预订的加密特定运算Xbase2+0base2=计算结果1,对Xoffset2执行预订的加密特定运算Xoffset2+1offset2=计算结果2;
云上部署运行程序向边缘安全节点发送所述的计算结果1和加密值1,然后向边缘安全节点发送所述的计算结果2和加密值2;
边缘安全节点收到所述的计算结果1和加密值1、计算结果2和加密值2,解密恢复出0base1=D(E(0base1))和1offset1=D(E(1offset1)),继续计算Xbase1+0base1+计算结果1=Xbase1+0base1+Xbase2+0base2=Xbase,继续计算Xoffset1+1offset1+计算结果2=Xoffset1+1offset1+Xoffset2+1offset2=Xoffset+1;
边缘安全节点判断Xbase和Xoffset+1是否正确,如果正确,下一周期以新的Xbase和Xoffset重复上述步骤;如果不正确,说明云上部署运行程序运行异常。
优选地,所述方法还包括:
所述边缘安全节点基于同态加密机制实现云上部署运行程序的逻辑监视,具体包括:
使用Paillier同态加密完成加法(x+0)和(x+1)同态加密,密钥生成、加密、解密都在边缘安全节点侧;
Xbase加密为Xbase’的过程:
给定2个大素数p和q,其中n=pq,λ=lcm(p-1,q-1),其中lcm表示求p-1和q-1的最小公倍数,取且满足此处gcd表示求L(gλmodn2)和n的最大公约数,表示中与n2互质的整数的集合,这里:
按照上面的处理过程,将0加密为E(0)、1加密为E(1)、Xoffset加密为Xoffset’;
边缘安全节点发送E(Xbase)、E(0)、E(Xoffset)和E(1)给云计算设备上列控应用区域块上的云上部署运行程序;
云上部署运行程序计算E(Xbase)*E(0)和E(Xoffset)*E(1),将E(Xbase)*E(0)和E(Xoffset)*(1)计算结果发送给边缘安全节点;
Xbase+0=D(E(Xbase)*E(0)),Xoffset+1=D(E(Xoffset)*E(1))
边缘安全节点判断Xbase和Xoffset+1是否正确,如果正确,下一周期以新的Xbase和Xoffset重复上述步骤;如果不正确,则判断云上部署运行程序运行异常。
优选地,所述的将0分解为Xbase位数所对应的两个任意数相加的形式,0=0base1+0base2,包括:0=Xbase位数所对应的2进制最大值/2+Xbase位数所对应的2进制最大值/2+2;
所述的将1分解为Xoffset位数所对应的两个任意数相加的形式,1=1offset1+1offset2,包括:1=Xoffset位数所对应的2进制最大值/2+1+Xoffset位数所对应的2进制最大值/2+2。
由上述本发明的实施例提供的技术方案可以看出,本发明的方法能够实现边缘安全节点对云上部署运行的程序进行逻辑监视的目的。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的一种编码微处理器原理示意图;
图2为现有技术中的一种编码微处理器软件工具要求示意图;
图3为本发明实施例提供的一种基于安全双方机制实现云上部署运行程序逻辑监视算法原理图;
图4为本发明实施例提供的一种基于同态加密机制实现云上部署运行程序逻辑监视算法原理图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
本发明实施例提出了故障安全的轨道交通列车运行控制系统结合非故障安全的云计算后,边缘安全节点对云上部署运行的程序进行逻辑监视的方法。本发明总体方案如下:程序运行逻辑监视的实现原理是在程序设计阶段人工给边缘安全节点所控制的每个云计算设备上列控应用区域块中部署运行的安全计算机平台相关程序及其承载的轨道交通列车运行控制应用程序(简称云上部署运行程序)的关键分支上打上动态加密程序运行签名,不同分支打上不同的加密程序运行签名,在程序运行的过程中,这些加密程序运行签名发送给边缘安全节点,边缘安全节点解密并检查这些程序运行签名是否正确,正确说明云上列控应用区域块上程序运行正常,不正确说明云上列控应用区域块异常,应启动相应的安全反应。
1本发明方法的基本原理包括:
1.1动态加密程序运行签名的设置与检查
●首先,在程序设计阶段,对每个云计算设备上列控应用区域块中部署运行的安全计算机平台相关程序及其承载的轨道交通列车运行控制应用程序(简称云上部署运行程序)的每一个关键分支,离线人工编制软件流程特征码,其格式为基码Xbase+偏移码Xoffset。
●云上部署运行程序的不同关键分支软件流程特征码基码不同,这些软件流程特征码基码之间的汉明距离优选大于2。
●边缘安全节点发送软件流程特征码时,选择正确的基码Xbase,偏移码Xoffset(初始值为0),然后分别进行加密,基码变为Xbase’,偏移码变为Xoffset’,边缘安全节点将Xbase’和Xoffset’发送给云计算设备上,云计算设备将Xbase’和Xoffset’设置在列控应用区域块上云上部署运行程序的各个关键分支上。
●再将Xbase’和Xoffset’发送给云上列控应用区域块部署运行的云上部署运行程序。
●云上部署运行程序收到边缘安全节点发送的加密后的软件流程特征码加密基码Xbase’和加密偏移码Xoffset’后,对基码Xbase’进行加密的特定运算(边缘安全节点已知,提前约定),优选加密二进制加0运算,对加密偏移码Xoffset’进行加密的特定运算(边缘安全节点已知,提前约定),优选加密二进制加1运算,(Xbase+0)’和(Xoffset+1)’的结果送回边缘安全节点。
●边缘安全节点对(Xbase+0)’和(Xoffset+1)’分别进行逆加密特定运算运算后,再进行解密处理,判断解密得到的结果是否与基码Xbase和偏移码Xoffset+1一致,如果一致,下一周期以Xbase和Xoffset+1为新的Xbase和Xoffset分别进行加密后重复上述步骤;如果不正确,说明云上列控应用区域块异常,应启动相应的安全反应。
●所述方法因为加密和解密均在边缘安全节点一侧,云上部署运行程序只执行边缘安全节点已知且提前约定好的加密特定运算,而且偏移码Xoffset每个周期都是按约定变化的,能抵抗云端非法入侵或劫持且满足边缘安全节点对云上部署运行程序的逻辑监视要求。
●所述加密和加密的特定运算优选基于安全双方机制或同态加密机制。
●安全双方和同态加密机制可以在不同的云上部署运行程序中实现,从而构成异构模式。
1.2基于安全双方机制实现云上部署运行程序逻辑监视
●将Xbase任意分解为Xbase1、Xbase2,Xbase=Xbase1+Xbase2
●将Xoffset任意分解为Xoffset1、Xoffset2,Xoffset=Xoffset1+Xoffset2
图3为本发明实施例提供的一种基于安全双方机制实现云上部署运行程序逻辑监视算法原理图,如图3所示:
●将0分解为Xbase位数所对应的两个任意数相加的形式(模2的Xbase位数次幂),即0=0base1+0base2(模2的Xbase位数次幂)。例如:Xbase位数所对应的2进制最大值/2和位数所对应 的2进制最大值/2+2相加,即0=Xbase位数所对应的2进制最大值/2+Xbase位数所对应的2进制 最大值/2+2(模2的Xbase位数次幂)。32位情况下,0=7FFFH+8001H(模232=65536)。
●提前计算好0base1所对应的加密值1=E(0base1),嵌入云上部署运行程序中,将0base2也嵌入云上部署运行程序中。
●将1分解为Xoffset位数所对应的两个任意数相加的形式(模2的Xoffset位数次幂),即1=1offset1+1offset2(模2的Xoffset位数次幂)。例如:Xoffset 位数所对应的2进制最大值/2+1和位数所对应的2进制最大值/2+2相加,即1=Xoffset位数所对应的2进制最大值/2+1+Xoffset位 数所对应的2进制最大值/2+2(模2的Xoffset位数次幂),8位情况下,1=80H+81H(模28=256)。
●提前计算好1offset1所对应的加密值2=E(1offset1),嵌入云上部署运行程序中,将1offset2也嵌入云上部署运行程序中。
●边缘安全节点发送Xbase2和Xoffset2给云上部署运行程序。
●云上部署运行程序收到边缘安全节点发送的Xbase2和Xoffset2后,首先执行加密的特定运算(边缘安全节点已知,提前约定)Xbase2+0base2=计算结果1,优选32位情况下,执行Xbase2+8001H,获得计算结果1=Xbase2+8001H;然后执行加密的特定运算(边缘安全节点已知,提前约定)Xoffset2+1offset2=计算结果2,优选8位情况下,执行Xoffset2+81H,获得计算结果2=Xoffset2+81H。
●云上部署运行程序向边缘安全节点发送所述的计算结果1和加密值1,然后向边缘安全节点发送所述的计算结果2和加密值2。
●边缘安全节点收到所述的计算结果1和加密值1、计算结果2和加密值2,解密恢复出0base1=D(E(0base1))和1offset1=D(E(1offset1)),继续计算Xbase1+0base1+计算结果1=Xbase1+0base1+Xbase2+0base2=Xbase,继续计算Xoffset1+1offset1+计算结果2=Xoffset1+1offset1+Xoffset2+1offset2=Xoffset+1。
●边缘安全节点判断Xbase和Xoffset+1是否正确,如果正确,下一周期以新的Xbase和Xoffset重复上述步骤。如果不正确,说明云上部署运行程序运行异常。
1.3基于同态加密机制实现云上部署运行程序逻辑监视
●使用Paillier同态加密完成加法(x+0)和(x+1)同态加密,密钥生成、加密、解密都在边缘安全节点侧。图4为本发明实施例提供的一种基于同态加密机制实现云上部署运行程序逻辑监视算法原理图,如图4所示:
●Xbase加密为Xbase’的过程:
■给定2个大素数p和q,其中n=pq,λ=lcm(p-1,q-1),其中lcm表示求p-1和q-1的最小公倍数。取且满足此处gcd表示求L(gλmodn2)和n的最大公约数,表示中与n2互质的整数的集合,这里:
●0加密为E(0)、1加密为E(1)、Xoffset加密为Xoffset’的过程同上。
●实现E(Xbase)*E(0)和E(Xoffset)*E(1)功能的软件模块在云上部署运行程序的合适位置插入运行。
●E(Xbase)*E(0)和E(Xoffset)*(1)计算结果回送给边缘安全节点
●Xbase+0=D(E(Xbase)*E(0)),Xoffset+1=D(E(Xoffset)*E(1))
●边缘安全节点判断Xbase和Xoffset+1是否正确,如果正确,下一周期以新的Xbase和Xoffset重复上述步骤。如果不正确,说明云上部署运行程序运行异常。
2本发明的具体实施举例
针对软件流程特征码基码及偏移码交互过程,应用所述的安全双方机制及同态加密机制实现云上部署运行程序逻辑监视的具体实施过程举例如下:
2.1基于安全双方机制实现云上部署运行程序逻辑监视的具体方法举例软件流程特征码基码Xbase为0002H,偏移码Xoffset为0。。
将软件流程特征码基码Xbase分解为Xbase1、Xbase2。因此有0002H(Xbase)=0000H(Xbase1)+0002H(Xbase2)。
将软件流程特征码偏移码Xoffset分解为Xoffset1、Xoffset2。因此有00H(Xoffset)=7FH(Xoffset1)+81H(Xoffset2)。
另将0000H分解成7FFFH和8001H,将01H分解成80H和81H,加密后的E(7FFFH)和E(80H)预置于云上部署运行程序合适的位置。
云上部署运行程序发送软件流程特征码基码部分0002H和偏移码部分81H到边缘安全节点。
边缘安全节点收到上述数据,首先执行基码部分的加密特定运算Xbase2+0base2=0002H+8001H=8003H=计算结果1;然后执行偏移码部分的加密特定运算Xoffset2+0offset2=81H+81H=02H=计算结果2。
云上部署运行程序先向边缘安全节点发送所述的计算结果1,即8003H和加密值1,即E(7FFFH),然后向边缘安全节点发送所述的计算结果2,即02H和加密值2,即E(80H)。
边缘安全节点收到所述的计算结果1和加密值1、计算结果2和加密值2,解密恢复出0base1=D(E(0base1))=7FFFH和0offset1=D(E(0offset1))=80H,继续计算Xbase1+0base1+计算结果1=0000H+7FFFH+8003H=0002H,继续计算Xoffset1+0offset1+计算结果2=7FH+80H+02H=01H.
边缘安全节点因此判断Xbase和Xoffset+1正确。
基于同态加密机制实现云上部署运行程序逻辑监视的具体方法举例
使用Pailler同态加密,取p=7,q=11,n=77,λ=30,则g=5929,即加密公钥K1为(77,5652),私钥K2为(7,11)。选取随机数为r为23。
软件流程特征码基码为0002H,偏移码为0。
边缘安全节点对软件流程特征码基码0002H加密,加密结果为E(0002H)=56522﹒2377mod5929=68650028496,E(0)=2377mod5929=2149。
边缘安全节点对软件流程特征码偏移码进行加密,加密结果为E(0)=2149,E(1)=12146148。
边缘安全节点将加密后的软件流程特征码基码和偏移码发送至云上部署运行程序,云上部署运行程序执行针对基码的运算
E(0002H)*E(0)=147528911237904和针对偏移码的运算
E(0)*E(1)=26102072052,E(0)和E(1)云上部署运行程序已知。
云上部署运行程序将上述两个计算结果发回边缘安全节点。
在边缘安全节点执行解密过程:
边缘安全节点因此判断Xbase和Xoffset+1正确。
本发明的有益效果在于,本发明实施例不仅给出了实现边缘安全节点对云上部署运行的程序进行逻辑监视的方法,该方法更是一种符合EN50129标准的实现程序序列监测(Program sequence monitoring)中逻辑监视(Logical monitoring)的通用方法,可适应各种软件程序,可移植性和适应性较既有方法更有优势。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (4)
1.一种边缘安全节点对云上部署运行程序进行逻辑监视的方法,其特征在于,包括:
在云计算设备上列控应用区域块中部署的云上部署运行程序的各个关键分支上设置加密程序运行签名,不同关键分支设置不同的加密程序运行签名,所述云上部署运行程序包括安全计算机平台相关程序和轨道交通列车运行控制应用程序;
在程序运行的过程中,所述云计算设备将各个关键分支对应的加密程序运行签名发送给边缘安全节点,所述边缘安全节点解密并检查接收到的加密程序运行签名是否正确,如果正确,则判断所述云计算设备上列控应用区域块运行正常;否则,判断所述云计算设备上列控应用区域块运行异常,启动相应的安全反应;
所述加密程序运行签名包括基码Xbase+偏移码Xoffset;
步骤1、边缘安全节点发送软件流程特征码时,选择基码Xbase和偏移码Xoffset,分别对基码Xbase和偏移码Xoffset进行加密;
步骤2、基码Xbase变为Xbase’,偏移码Xoffset变为Xoffset’,再将Xbase’和Xoffset’发送给云计算设备上,云计算设备将Xbase’和Xoffset’设置在列控应用区域块上云上部署运行程序的各个关键分支上;
步骤3、云上部署运行程序收到加密基码Xbase’和加密偏移码Xoffset’后,对基码Xbase’和偏移码Xoffset’进行约定的加密特定运算,基码Xbase’变为(Xbase+0)’,偏移码Xoffset’变为(Xoffset+1)’,再将(Xbase+0)’和(Xoffset+1)’返回给边缘安全节点;
步骤4、边缘安全节点对(Xbase+0)’和(Xoffset+1)’分别进行逆加密特定运算运算后,再进行解密处理;
步骤5、判断解密得到的结果是否与基码Xbase和偏移码Xoffset+1一致,如果一致,下一周期以Xbase和Xoffset+1为新的Xbase和Xoffset分别进行加密后,重复上述步骤2-步骤5的处理过程;如果不一致,说明云计算设备上列控应用区域块运行异常,应启动相应的安全反应;
所述边缘安全节点基于安全双方机制实现云上部署运行程序的逻辑监视,具体包括:
步骤6、将Xbase任意分解为Xbase1、Xbase2,Xbase=Xbase1+Xbase2;
步骤7、将Xoffset任意分解为Xoffset1、Xoffset2,Xoffset=Xoffset1+Xoffset2;
步骤8、将0分解为Xbase位数所对应的两个任意数相加的形式,0=0base1+0base2,将0base2嵌入云上部署运行程序中;提前计算好0base1所对应的加密值1=E(0base1),将加密值1=E(0base1)嵌入云上部署运行程序中;
步骤9、将1分解为Xoffset位数所对应的两个任意数相加的形式,1=1offset1+1offset2,将1offset2嵌入云上部署运行程序中;提前计算好1offset1所对应的加密值2=E(1offset1),将加密值2=E(1offset1)嵌入云上部署运行程序中;
步骤10、边缘安全节点发送Xbase2和Xoffset2给云计算设备上列控应用区域块上的云上部署运行程序;云上部署运行程序收到边缘安全节点发送的Xbase2和Xoffset2后,对Xbase2执行预订的加密特定运算Xbase2+0base2=计算结果1,对Xoffset2执行预订的加密特定运算Xoffset2+1offset2=计算结果2;
步骤11、云上部署运行程序向边缘安全节点发送所述的计算结果1和加密值1,然后向边缘安全节点发送所述的计算结果2和加密值2;
边缘安全节点收到所述的计算结果1和加密值1、计算结果2和加密值2,解密恢复出0base1=D(E(0base1))和1offset1=D(E(1offset1)),继续计算Xbase1+0base1+计算结果1=Xbase1+0base1+Xbase2+0base2=Xbase,继续计算Xoffset1+1offset1+计算结果2=Xoffset1+1offset1+Xoffset2+1offset2=Xoffset+1;
步骤11、边缘安全节点判断Xbase和Xoffset+1是否正确,如果正确,下一周期以新的Xbase和Xoffset重复上述步骤6-步骤11的处理过程;如果不正确,说明云上部署运行程序运行异常。
2.根据权利要求1所述的方法,其特征在于,所述云上部署运行程序对基码Xbase’的约定的加密特定运算包括加密二进制加0运算,对偏移码Xoffset’的约定的加密特定运算包括加密二进制加1运算。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述边缘安全节点基于同态加密机制实现云上部署运行程序的逻辑监视,具体包括:
步骤12、使用Paillier同态加密完成加法(x+0)和(x+1)同态加密,密钥生成、加密、解密都在边缘安全节点侧;
步骤13、Xbase加密为Xbase’的过程:
给定2个大素数p和q,其中n=pq,λ=lcm(p-1,q-1),其中lcm表示求p-1和q-1的最小公倍数,取且满足gcd≤(L(gλmodn2),n)=1,此处gcd表示求L(gλmodn2)和n的最大公约数,表示中与n2互质的整数的集合,这里:
按照上面的处理过程,将0加密为E(0)、1加密为E(1)、Xoffset加密为Xoffset’;
步骤14、边缘安全节点发送E(Xbase)、E(0)、E(Xoffset)和E(1)给云计算设备上列控应用区域块上的云上部署运行程序;
步骤15、云上部署运行程序计算E(Xbase)*E(0)和E(Xoffset)*E(1),将E(Xbase)*E(0)和E(Xoffset)*(1)计算结果发送给边缘安全节点;
Xbase+0=D(E(Xbase)*E(0)),Xoffset+1=D(E(Xoffset)*E(1))
边缘安全节点判断Xbase和Xoffset+1是否正确,如果正确,下一周期以新的Xbase和Xoffset重复上述步骤12-步骤15的处理过程;如果不正确,则判断云上部署运行程序运行异常。
4.根据权利要求2所述的方法,其特征在于:
所述的将0分解为Xbase位数所对应的两个任意数相加的形式,0=0base1+0base2,包括:0=Xbase位数所对应的2进制最大值/2+Xbase位数所对应的2进制最大值/2+2;
所述的将1分解为Xoffset位数所对应的两个任意数相加的形式,1=1offset1+1offset2,包括:1=Xoffset位数所对应的2进制最大值/2+1+Xoffset位数所对应的2进制最大值/2+2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110105675.2A CN112817819B (zh) | 2021-01-26 | 2021-01-26 | 边缘安全节点对云上部署运行程序进行逻辑监视的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110105675.2A CN112817819B (zh) | 2021-01-26 | 2021-01-26 | 边缘安全节点对云上部署运行程序进行逻辑监视的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112817819A CN112817819A (zh) | 2021-05-18 |
CN112817819B true CN112817819B (zh) | 2023-02-28 |
Family
ID=75859510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110105675.2A Active CN112817819B (zh) | 2021-01-26 | 2021-01-26 | 边缘安全节点对云上部署运行程序进行逻辑监视的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112817819B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103612650A (zh) * | 2013-11-25 | 2014-03-05 | 北京交通大学 | 一种简化轨道交通列车运行控制系统的方法 |
CN110027596A (zh) * | 2019-03-29 | 2019-07-19 | 北京交通大学 | 一种基于云计算的轨道交通列车运行控制系统 |
WO2020133655A1 (zh) * | 2018-12-26 | 2020-07-02 | 中国科学院沈阳自动化研究所 | 边缘计算场景下支持异构终端匿名接入的轻量级认证方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020055863A1 (en) * | 2018-09-10 | 2020-03-19 | Aveva Software, Llc | Edge hmi module server system and method |
-
2021
- 2021-01-26 CN CN202110105675.2A patent/CN112817819B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103612650A (zh) * | 2013-11-25 | 2014-03-05 | 北京交通大学 | 一种简化轨道交通列车运行控制系统的方法 |
WO2020133655A1 (zh) * | 2018-12-26 | 2020-07-02 | 中国科学院沈阳自动化研究所 | 边缘计算场景下支持异构终端匿名接入的轻量级认证方法 |
CN110027596A (zh) * | 2019-03-29 | 2019-07-19 | 北京交通大学 | 一种基于云计算的轨道交通列车运行控制系统 |
Non-Patent Citations (1)
Title |
---|
运行时验证及其在列车运行控制系统中的应用;赵林等;《铁道学报》;20111215(第12期);69-75 * |
Also Published As
Publication number | Publication date |
---|---|
CN112817819A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1124719C (zh) | 用于存取控制的参数化散列函数 | |
Delaune et al. | Formal analysis of protocols based on TPM state registers | |
CN102710757A (zh) | 一种分布式云存储数据完整性保护方法 | |
CN104380245A (zh) | 随机数生成器和流密码 | |
CN108462686A (zh) | 动态密钥的获取方法、装置、终端设备及存储介质 | |
WO2015193789A1 (en) | Differential power analysis countermeasures | |
CN102449951B (zh) | 用于在电子组件中执行密码任务的方法 | |
Tomb | Automated verification of real-world cryptographic implementations | |
CN112817819B (zh) | 边缘安全节点对云上部署运行程序进行逻辑监视的方法 | |
Wu et al. | Differential-linear attacks against the stream cipher Phelix | |
US11341217B1 (en) | Enhancing obfuscation of digital content through use of linear error correction codes | |
CN112242903B (zh) | 混合设备以及针对混合设备执行安全引导过程的方法 | |
US10826679B2 (en) | Encrypting and decrypting unit for RSA cryptographic system, resistant to faults injection | |
CN117335953A (zh) | 在具有分布式计算机的计算环境中进行数据处理的方法 | |
CN111143904B (zh) | 一种数据解密方法、装置和计算机可读存储介质 | |
US7920699B2 (en) | Encryption operating apparatus | |
CN114422130B (zh) | 一种基于量子幂函数混淆的量子加密方法 | |
Wang et al. | The entropy source of pseudo random number generators: from low entropy to high entropy | |
Loureiro et al. | Extending Tamper-Proof Hardware Security to Untrusted Execution Environments. | |
CN116208325A (zh) | 一种安全多方计算交互方法、装置及设备 | |
CN115987500A (zh) | 基于工业设备数据采集的数据安全传输方法及系统 | |
KR100734600B1 (ko) | 변조방지 하드웨어에 기반한 자가 무결성 검증 기법을이용한 시스템 인증 및 보안성 강화 방법 | |
Danjean et al. | Adaptive loops with kaapi on multicore and grid: Applications in symmetric cryptography | |
CN113556315A (zh) | 基于格的大数据存储完整性验证方法、系统及介质 | |
US20160380766A1 (en) | Encryption system with a generator of one-time keys and a method for generating one time-keys |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |