在同步冗余系统中获取一致加解密结果的装置及方法与流程

文档序号:18526628发布日期:2019-08-24 10:18阅读:585来源:国知局
在同步冗余系统中获取一致加解密结果的装置及方法与流程

本发明涉及加密防护技术领域以及采用冗余设计、需要冗余执行体比较结果的系统架构技术领域,尤其涉及一种在同步冗余系统中获取一致加解密结果的装置及方法。



背景技术:

在对系统安全较高的场合,通常会采用系统冗余设计,使用多个同构或异构的任务执行体同步处理任务,并通过对比和判决执行体的输出,提高系统整体输出的正确度,以及提高系统抗攻击能力。

通常在这样的冗余系统中应用到加密技术存在以下难点:不同平台如果分别实现相同的加密算法,会因为随机数种子的来源不同导致产生的秘钥不同,从而导致加密结果不同,不同执行体输出的结果无法进行比较判决。即使是相同的平台,在同一时刻,使用系统提供的随机数接口计算出来的随机数序列也是不同的。

如何确保不同冗余执行体在使用同种加密算法的时候,输出相同的结果,使冗余执行体间的结果可比较,在实现上是一个技术难点。



技术实现要素:

为了解决现有技术中存在的问题,本发明提出了一种在同步冗余系统中获取一致加解密结果的装置及方法,实现了冗余执行体上的一致加密行为,使加密中间结果一致,从而最终输出结果可比较判决。

为了实现上述目的,本发明采用以下的技术方案:

本发明提供了一种在同步冗余系统中获取一致加解密结果的装置,包括若干个同步运行的同构或异构冗余执行体、调度器和加密运算器;

冗余执行体,用于执行应用程序,并将运算结果输出至调度器;

调度器,用于冗余执行体的各项管理和输入输出代理;

加密运算器,用于对输入数据流进行加解密运算,并向调度器返回数据加解密结果。

进一步地,所述调度器用于接收外部输入,并将输入数据分发给各冗余执行体;以及,判断冗余执行体的加解密请求是否合法,若合法,则从加密运算器分配资源对数据流进行加解密运算,并将结果同步发送给各冗余执行体,比较冗余执行体的结果并对外输出;若非法,调度器忽略并记录。

进一步地,所述冗余执行体的加解密请求中包含标签信息以及待加解密的数据流,其中,标签信息包括发出请求的应用信息以及需要使用的加密算法,如果是非对称算法,需要指明是加密操作还是解密操作。

进一步地,所述调度器通过各冗余执行体加解密请求的同步性和一致性判断加解密请求是否合法。

进一步地,对于合法的加解密请求,调度器解析其标签信息,明确来自的应用,需要使用的加密算法,进行加密运算还是解密运算,并将这些信息告知加密运算器。

进一步地,所述加密运算器包括随机数生成模块和若干个加解密运算模块;

随机数生成模块,用于根据随机数影响因子,计算出随机数序列,并将随机数序列输出到加解密运算模块;

加解密运算模块,用于生成秘钥和数据流加解密,并向调度器返回运算结果。

进一步地,所述加密运算器根据调度器告知的信息,从若干个加解密运算模块中调用合适的资源,对输入数据流进行加解密运算。

本发明还提供了一种在同步冗余系统中获取一致加解密结果的方法,包含以下步骤:

冗余执行体上运行的应用程序调用加解密api,api向调度器发送加解密请求;

调度器收到冗余执行体的加解密请求,通过比对标签及数据信息确定请求的合法性;

合法性确定后,调度器根据标签信息,分配加密运算器中的资源对输入数据流进行加解密运算;

加密运算器返回数据加解密结果给调度器,调度器分发结果至冗余执行体。

进一步地,所述调度器分发结果至冗余执行体之后,还包括:

冗余执行体上的加解密api返回加解密后的数据流,应用程序使用数据流进行后续运算。

与现有技术相比,本发明具有以下优点:

本发明公开了一种在同步冗余系统中获取一致加解密结果的装置,采用调度器统一处理冗余执行体的加解密请求,合法性确定后,加密运算器对输入数据流进行加解密运算,可以保证不同冗余执行体上的相同应用产生的相同数据流能获得一致的加密结果,使加密中间结果一致,从而最终输出结果可比较判决,并且,采用运算前判决加解密请求合法性的方式,减少了重复的加解密运算次数,节省了运算资源,降低了系统功耗,解决了在冗余系统中进行数据源加密的技术难题。

本发明提出的一种在同步冗余系统中获取一致加解密结果的方法,其有益效果与一种在同步冗余系统中获取一致加解密结果的装置的有益效果基本类似,此处不再赘述。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例的一种在同步冗余系统中获取一致加解密结果的装置的结构示意图;

图2是本发明实施例的一种在同步冗余系统中获取一致加解密结果的方法的流程示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

实施例一,如图1所示,一种在同步冗余系统中获取一致加解密结果的装置,该装置应用于对安全要求较高的信息控制系统中,包括若干个同步运行的同构或异构冗余执行体10、调度器20和加密运算器30;

冗余执行体10,与调度器相连接,用于执行应用程序,每个冗余执行体在功能上是等价的,结构上可以是同构或者异构的,其上运行一系列应用程序,根据调度器的输入,进行任务处理。

调度器20,用于冗余执行体的各项管理、输入输出代理以及其他相关操作,比如,接收外部输入,并将输入数据分发给各冗余执行体;以及,判断冗余执行体的加解密请求是否合法,若合法,则从加密运算器分配资源对数据流进行加解密运算,并将结果同步发送给各冗余执行体,比较冗余执行体的结果并对外输出;若非法,调度器忽略并记录。

加密运算器30,用于对输入数据流进行加解密运算,并向调度器返回数据加解密结果。

在一种可选的实例中,加密运算器30包括随机数生成模块301和若干个加解密运算模块302;

随机数生成模块301,用于根据随机数影响因子,计算出随机数序列,并将随机数序列输出到加解密运算模块302,随机数序列用于加密过程中的秘钥生成等操作;

加解密运算模块302,用于生成秘钥和数据流加解密,并向调度器返回运算结果,调度器向冗余执行体分发结果。

在一种可选的实例中,所述冗余执行体的加解密请求中包含标签信息以及待加解密的数据流,其中,标签信息包括发出请求的应用信息以及需要使用的加密算法,如果是非对称算法,需要指明是加密操作还是解密操作。

在一种可选的实例中,所述调度器通过各冗余执行体加解密请求的同步性和一致性判断加解密请求是否合法,当然,也可以根据应用使用其他参数进行判断,最终会产生一个合法的请求。对于合法的加解密请求,调度器解析其标签信息,明确其来自哪个应用,需要使用什么加密算法进行运算,进行加密运算还是解密运算,并将这些信息告知加密运算器。加密运算器根据调度器告知的信息,从若干个加解密运算模块中调用合适的资源,对输入数据流进行对应加解密运算操作。

本发明实施例公开了一种在同步冗余系统中获取一致加解密结果的装置,采用调度器统一处理冗余执行体的加解密请求,合法性确定后,加密运算器对数据流统一进行加解密运算,可以保证不同冗余执行体中相同的数据流(标签也相同),能获取相同的加解密运算结果,从而可以保证冗余执行体上的加解密中间结果一致,最终输出结果可比较判决,解决了在冗余系统中进行数据源加密的技术难题。

基于上述公开的一种在同步冗余系统中获取一致加解密结果的装置,如图2所示,本实施例还提供了在同步冗余系统中获取一致加解密结果的方法,具体包含以下步骤:

步骤s201,冗余执行体上运行的应用程序调用加解密api,api向调度器发送加解密请求;

步骤s202,调度器收到冗余执行体的加解密请求,通过比对标签及数据信息确定请求的合法性;

步骤s203,合法性确定后,调度器根据标签信息,分配加密运算器中的资源对输入数据流进行加解密运算;

步骤s204,加密运算器返回数据加解密结果给调度器,调度器分发结果至冗余执行体;

步骤s205,冗余执行体上的加解密api返回加解密后的数据流,应用程序使用数据流进行后续运算。

本发明实施例公开了的一种在同步冗余系统中获取一致加解密结果的方法,通过调用相同的资源对相同的待加解密序列进行运算,实现了冗余执行体上的一致加密行为,使加密中间结果一致,从而最终输出结果可比较判决。同时,采用运算前判决加解密请求合法性的方法,减少了重复的加解密运算,节省了运算资源,降低了系统功耗。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1