掌桥专利:专业的专利平台
掌桥专利
首页

基于区块链的标书处理方法和系统、电子设备及存储介质

文献发布时间:2024-04-18 20:02:18


基于区块链的标书处理方法和系统、电子设备及存储介质

技术领域

本发明涉及区块链技术领域,尤其涉及一种基于区块链的标书处理方法和系统、电子设备及存储介质。

背景技术

标书是合作中的重要文件,因此,标书的保密性和完整性至关重要的。

目前,标书的加解密往往依赖于手动操作或者简单的静态密钥管理方式。其中,手动操作的方式存在人为操作失误的风险,容易导致数据泄露;而静态密钥管理的方式容易受到恶意攻击,一旦密钥泄露,整个系统的安全性将受到威胁。因此,以上两种方式都会使标书的存储安全性降低。

发明内容

本发明实施例提供了一种基于区块链的标书处理方法和系统、电子设备及存储介质,旨在提高标书处理的安全性。

为实现上述目的,本申请实施例的第一方面提出了一种基于区块链的标书处理方法,应用于联盟链,所述联盟链包括多个联盟方,所述方法由智能合约执行,所述方法包括:

获取目标标书以及所述联盟链中联盟方的当前数量;

根据预设的密钥生成规则生成一加密密钥,并根据所获取的联盟方的当前数量对所生成的加密密钥进行分割,以为每个联盟方分配对应的加密密钥碎片;

在所述目标标书中确定出每个加密密钥碎片对应的待加密标书碎片;

针对每个所述联盟方,基于所述联盟方的加密密钥碎片,对与所述加密密钥碎片对应的待加密标书碎片进行加密处理,得到所述联盟方的第一标书碎片密文;

针对每个所述联盟方,基于预设的混淆参数对所述联盟方的第一标书碎片密文进行混淆处理,得到第二标书碎片密文;

针对每个所述联盟方,将所述联盟方的所述加密密钥碎片和所述第二标书碎片密文发送给所述联盟方,以使所述联盟方对所述第二标书碎片密文进行上链。

在一些实施例,在所述针对每个所述联盟方,将所述联盟方的所述加密密钥碎片和所述标书碎片密文发送给所述联盟方之后,所述方法还包括:

当确定所述加密密钥碎片和所述第二标书碎片密文全部发送完毕,对所述目标标书、所述加密密钥碎片和所述第二标书碎片密文进行清除;

或者,

当确定所述第二标书碎片密文全部上链完毕,对所述目标标书、所述加密密钥碎片和所述第二标书碎片密文进行清除。

在一些实施例,在所述对所述目标标书、所述加密密钥碎片和所述第二标书碎片密文进行清除之后,所述方法还包括:

接收目标联盟方发出的解密请求,并确定接收到所述解密请求的时间戳;其中,所述解密请求包括所述目标联盟方的目标加密密钥碎片和联盟方签名;

若所述时间戳不早于预设时间阈值,则基于所述联盟方签名对所述解密请求进行第一验证;

如果确定所述第一验证通过,则基于所述智能合约中的预设存储空间的已存储加密密钥碎片、和所述目标加密密钥碎片,对从所述联盟链上获取到的多个所述标书碎片密文进行解密处理,以得到所述目标标书,并将所述目标标书发送给所述目标联盟方。

在一些实施例,所述预设时间阈值通过以下方式确定:

获取所述目标标书的公开时间;

根据所述公开时间进行阈值设置,得到所述预设时间阈值。

在一些实施例,所述基于所述智能合约中的预设存储空间的已存储加密密钥碎片、和所述目标加密密钥碎片,对从所述联盟链上获取到的多个所述标书碎片密文进行解密处理,包括:

基于所述已存储加密密钥碎片、和所述目标加密密钥碎片进行完整性验证;

如果确定所述完整性验证通过,则基于所述已存储加密密钥碎片、和所述目标加密密钥碎片对从所述联盟链上获取到的多个所述标书碎片密文进行解密处理。

在一些实施例,所述基于所述已存储加密密钥碎片、和所述目标加密密钥碎片进行完整性验证,包括:

获取所述目标标书的标书加密签名,所述标书加密签名是通过所述加密密钥对所述目标标书的签名进行加密生成的;

基于所述已存储加密密钥碎片、和所述目标加密密钥碎片进行密钥重组,生成解密密钥;

基于所述解密密钥对所述标书加密签名进行解密处理;

如果确定所述解密密钥对所述标书加密签名解密成功,则确定所述完整性验证通过;

如果确定所述解密密钥对所述标书加密签名解密失败,则确定所述完整性验证不通过。

在一些实施例,在所述针对每个所述联盟方,将所述联盟方的所述加密密钥碎片和所述标书碎片密文发送给所述联盟方之后,所述方法还包括:

基于接收到的联盟方更新请求,对所述联盟链中的所述联盟方的当前数量进行更新,得到更新后当前数量,根据预设的密钥生成规则生成一更新后加密密钥,并根据所获取的更新后当前数量对所生成的更新后加密密钥进行分割,以为每个联盟方分配对应的更新后加密密钥碎片;

在所述目标标书中确定出每个更新后加密密钥碎片对应的待加密标书碎片;

针对每个所述联盟方,基于所述联盟方的更新后加密密钥碎片,对与所述更新后加密密钥碎片对应的待加密标书碎片进行加密处理,得到所述联盟方的更新后第一标书碎片密文;

针对每个所述联盟方,基于预设的混淆参数对所述联盟方的更新后第一标书碎片密文进行混淆处理,得到更新后第二标书碎片密文;

针对每个所述联盟方,将所述联盟方的所述更新后加密密钥碎片和所述更新后第二标书碎片密文发送给所述联盟方,以使所述联盟方对所述更新后第二标书碎片密文进行上链。

为实现上述目的,本申请实施例的第二方面提出了一种基于区块链的标书处理系统,应用于联盟链,所述联盟链包括多个联盟方,所述系统包括:

采集模块,用于获取目标标书以及所述联盟链中联盟方的当前数量;

生成模块,用于根据预设的密钥生成规则生成一加密密钥,并根据所获取的联盟方的当前数量对所生成的加密密钥进行分割,以为每个联盟方分配对应的加密密钥碎片;

确定模块,用于在所述目标标书中确定出每个加密密钥碎片对应的待加密标书碎片;

第一处理模块,用于针对每个所述联盟方,基于所述联盟方的加密密钥碎片,对与所述加密密钥碎片对应的待加密标书碎片进行加密处理,得到所述联盟方的第一标书碎片密文;

第二处理模块,用于针对每个所述联盟方,基于预设的混淆参数对所述联盟方的第一标书碎片密文进行混淆处理,得到第二标书碎片密文;

分发模块,用于针对每个所述联盟方,将所述联盟方的所述加密密钥碎片和所述第二标书碎片密文发送给所述联盟方,以使所述联盟方对所述第二标书碎片密文进行上链。

为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,所述处理器、通信接口、和存储器通过通信总线完成相互间的通信,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。

为实现上述目的,本申请实施例的第四方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。

本申请提出的基于区块链的标书处理方法和系统、电子设备及存储介质,其通过获取目标标书以及联盟链中联盟方的当前数量;根据预设的密钥生成规则生成一加密密钥,并根据所获取的联盟方的当前数量对所生成的加密密钥进行分割,以为每个联盟方分配对应的加密密钥碎片,通过将加密密钥分割成多个碎片,并将碎片分发给不同的联盟方,在一个联盟方被攻击的情况下也不会泄露完整的密钥,同时,恶意的联盟方也无法单独还原出完整的密钥,从而提高标书处理的安全性。进一步地,在目标标书中确定出每个加密密钥碎片对应的待加密标书碎片;针对每个联盟方,基于联盟方的加密密钥碎片,对与加密密钥碎片对应的待加密标书碎片进行加密处理,得到联盟方的第一标书碎片密文,能够对不同的标书部分采用不同的密钥碎片进行加密,提高标书处理的安全性。进一步地,针对每个联盟方,基于预设的混淆参数对联盟方的第一标书碎片密文进行混淆处理,得到第二标书碎片密文,能够避免联盟方或者非联盟方通过部分密文和密钥碎片还原目标标书,从而提高标书处理的安全性。进一步地,针对每个联盟方,将联盟方的加密密钥碎片和第二标书碎片密文发送给联盟方,以使联盟方对第二标书碎片密文进行上链。这一方式实现了分布式密钥管理,提高了密钥的安全性和去中心化存储,降低了传统密钥管理方式中单点故障的风险;本申请实施例还实现了对密文的去中心化存储,提高了标书处理的安全性。同时,由于本申请实施例将目标标书以密文形式进行存储,提高了标书处理的安全性。

附图说明

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

图1是本申请实施例提供的基于区块链的标书处理方法的流程图;

图2是本申请实施例提供的基于区块链的标书处理方法的另一流程图;

图3是图2中的步骤S203的流程图;

图4是图3中的步骤S301的流程图;

图5是本申请实施例提供的基于区块链的标书处理方法的另一流程图;

图6是本申请实施例提供的基于区块链的标书处理系统的结构示意图;

图7是本申请实施例提供的电子设备的硬件结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

需要说明的是,虽然在系统示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于系统中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

首先,对本申请中涉及的若干名词进行解析:

人工智能(artificial intelligence,AI):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。

自然语言处理(natural language processing,NLP):NLP用计算机来处理、理解以及运用人类语言(如中文、英文等),NLP属于人工智能的一个分支,是计算机科学与语言学的交叉学科,又常被称为计算语言学。自然语言处理包括语法分析、语义分析、篇章理解等。自然语言处理常用于机器翻译、手写体和印刷体字符识别、语音识别及文语转换、信息意图识别、信息抽取与过滤、文本分类与聚类、舆情分析和观点挖掘等技术领域,它涉及与语言处理相关的数据挖掘、机器学习、知识获取、知识工程、人工智能研究和与语言计算相关的语言学研究等。

信息抽取(Information Extraction):从自然语言文本中抽取指定类型的实体、关系、事件等事实信息,并形成结构化数据输出的文本处理技术。信息抽取是从文本数据中抽取特定信息的一种技术。文本数据是由一些具体的单位构成的,例如句子、段落、篇章,文本信息正是由一些小的具体的单位构成的,例如字、词、词组、句子、段落或是这些具体的单位的组合。抽取文本数据中的名词短语、人名、地名等都是文本信息抽取,当然,文本信息抽取技术所抽取的信息可以是各种类型的信息。

其次,对本申请的背景技术进行说明。

标书是合作中的重要文件,因此,标书的保密性和完整性至关重要的。

目前,标书的加解密往往依赖于手动操作或者简单的静态密钥管理方式。其中,手动操作的方式存在人为操作失误的风险,容易导致数据泄露;而静态密钥管理的方式容易受到恶意攻击,一旦密钥泄露,整个系统的安全性将受到威胁。因此,以上两种方式都会使标书的存储安全性降低。

基于此,本申请实施例提供了一种基于区块链的标书处理方法和系统、电子设备及存储介质,旨在提高标书处理的安全性。

本申请实施例提供的基于区块链的标书处理方法和系统、电子设备及存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的基于区块链的标书处理方法。

本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。

人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

本申请实施例提供的基于区块链的标书处理方法,涉及区块链技术领域。本申请实施例提供的基于区块链的标书处理方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现基于区块链的标书处理方法的应用等,但并不局限于以上形式。

本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据对象信息、对象行为数据,对象历史数据以及对象位置信息等与对象身份或特性相关的数据进行相关处理时,都会先获得对象的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。此外,当本申请实施例需要获取对象的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得对象的单独许可或者单独同意,在明确获得对象的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的对象相关数据。

图1是本申请实施例提供的基于区块链的标书处理方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤S101至步骤S106:

步骤S101,获取目标标书以及联盟链中联盟方的当前数量;

步骤S102,根据预设的密钥生成规则生成一加密密钥,并根据所获取的联盟方的当前数量对所生成的加密密钥进行分割,以为每个联盟方分配对应的加密密钥碎片;

步骤S103,在目标标书中确定出每个加密密钥碎片对应的待加密标书碎片;

步骤S104,针对每个联盟方,基于联盟方的加密密钥碎片,对与加密密钥碎片对应的待加密标书碎片进行加密处理,得到联盟方的第一标书碎片密文;

步骤S105,针对每个联盟方,基于预设的混淆参数对联盟方的第一标书碎片密文进行混淆处理,得到第二标书碎片密文;

步骤S106,针对每个联盟方,将联盟方的加密密钥碎片和第二标书碎片密文发送给联盟方,以使联盟方对第二标书碎片密文进行上链。

本申请实施例所示意的步骤S101至步骤S106,通过获取目标标书以及联盟链中联盟方的当前数量;根据预设的密钥生成规则生成一加密密钥,并根据所获取的联盟方的当前数量对所生成的加密密钥进行分割,以为每个联盟方分配对应的加密密钥碎片,通过将加密密钥分割成多个碎片,并将碎片分发给不同的联盟方,在一个联盟方被攻击的情况下也不会泄露完整的密钥,同时,恶意的联盟方也无法单独还原出完整的密钥,从而提高标书处理的安全性。进一步地,在目标标书中确定出每个加密密钥碎片对应的待加密标书碎片;针对每个联盟方,基于联盟方的加密密钥碎片,对与加密密钥碎片对应的待加密标书碎片进行加密处理,得到联盟方的第一标书碎片密文,能够对不同的标书部分采用不同的密钥碎片进行加密,提高标书处理的安全性。进一步地,针对每个联盟方,基于预设的混淆参数对联盟方的第一标书碎片密文进行混淆处理,得到第二标书碎片密文,能够避免联盟方或者非联盟方通过部分密文和密钥碎片还原目标标书,从而提高标书处理的安全性。进一步地,针对每个联盟方,将联盟方的加密密钥碎片和第二标书碎片密文发送给联盟方,以使联盟方对第二标书碎片密文进行上链。这一方式实现了分布式密钥管理,提高了密钥的安全性和去中心化存储,降低了传统密钥管理方式中单点故障的风险;本申请实施例还实现了对密文的去中心化存储,提高了标书处理的安全性。同时,由于本申请实施例将目标标书以密文形式进行存储,提高了标书处理的安全性。

下面对步骤S101进行详细描述。

在一些实施例的步骤S101中,标书是指投标人根据招标文件的要求,对招标项目进行投标时提交的书面文件,是招标人评审投标的重要依据。目标标书指的是需要进行存储的标书。联盟链是一个由联盟方共同管理的区块链网络,联盟链中包括多个联盟方。智能合约是一种运行在区块链上的计算机程序,它可以在满足预先定义的条件时自动执行合约条款。在具体实施中,智能合约可以通过调用外部API或者使用预言机服务获取目标标书。同时,智能合约可以通过调用联盟链节点的API来查询联盟方的当前数量;也可以通过调用联盟链浏览器的API来查询。并且,如果联盟链中存在一个专门用于管理联盟方信息的智能合约,那么智能合约可以通过调用该智能合约的API来查询联盟链中联盟方的当前数量。

下面对步骤S102进行详细描述。

在一些实施例的步骤S102中,加密密钥是用于加密数据的机密信息。加密密钥碎片是基于联盟方的当前数量对加密密钥进行分割得到的,分割可以是均分,也可以是不均分。预设的密钥生成规则可以是通过对称密钥生成算法进行密钥生成,也可以是通过伪随机数生成器进行密钥生成,在此不做限制。在生成加密密钥后,基于联盟方的当前数量对加密密钥进行分割,得到与联盟方数量相等的多个加密密钥碎片,为每个联盟方分配对应的加密密钥碎片,每一个加密密钥碎片与一个联盟方一一对应。这一步骤通过将加密密钥分割成多个碎片,并将碎片分发给不同的联盟方,在一个联盟方被攻击的情况下也不会泄露完整的密钥,同时,恶意的联盟方也无法单独还原出完整的密钥,从而提高标书处理的安全性。在另一些实施例中,预设的密钥生成规则可以是以联盟方的当前数量作为一个参数进行密钥生成,通过将联盟方的当前数量作为密钥生成的参数,可以确保密钥的生成与联盟的规模相关,以确保密钥的高复杂度。通过联盟方的数量与密钥复杂性之间的关系的建立,提高密钥的生成过程的灵活性,有助于维护标书处理系统的安全性和可扩展性。

下面对步骤S103进行详细描述。

在一些实施例的步骤S103中,待加密标书碎片是目标标书的碎片,是从目标标书中抽取出与加密密钥碎片对应的部分。在具体实施中,可以根据当前数量对目标标书进行分割,得到与数量与联盟方的当前数量一致的多个标书碎片。接着,将多个标书碎片与加密密钥碎片进行随机匹配或者根据预设的匹配规则进行匹配,使得多个标书碎片与多个加密密钥碎片一一对应。

下面对步骤S104进行详细描述。

在一些实施例的步骤S104中,第一标书碎片密文是对待加密标书碎片使用联盟方的加密密钥碎片进行加密后得到的密文。由于加密密钥碎片与联盟方一一对应,而加密密钥碎片与待加密碎片一一对应,因此,联盟方与待加密碎片也是一一对应的。在具体实施中,针对每个联盟方,基于联盟方的加密密钥碎片对于加密密钥碎片对应的待加密标书碎片进行加密处理,得到联盟方的第一标书碎片密文。假设存在联盟方A1和联盟方A2,联盟方A1存在对应的加密密钥碎片B1,联盟方A2存在对应的加密密钥碎片B2,加密密钥碎片B1对应着待加密标书碎片C1,加密密钥碎片B2对应着待加密标书碎片C2,则在加密处理时,针对联盟方A1,用加密密钥碎片B1对待加密标书碎片C1进行加密处理,会得到第一标书碎片密文D1,第一标书碎片密文D1对应着联盟方A1;针对联盟方A2,用加密密钥碎片B2对待加密标书碎片C2进行加密处理,会得到第一标书碎片密文D2,第一标书碎片密文D2对应着联盟方A2。

下面对步骤S105进行详细描述。

在一些实施例的步骤S105中,预设的混淆参数是用于混淆或者增强安全性的预设参数,根据具体的混淆处理进行预先设置。第二标书碎片密文是对第一标书碎片密文使用预设的混淆参数进行混淆后得到的密文。混淆处理是添加随机噪声、数据变换、添加遮蔽、加盐处理、模糊化中的一种。通过对第一标书碎片密文进行混淆处理,能够达到即便获得了部分第二标书碎片密文和密钥碎片,也难以还原出完整的目标标书内容的效果,提高了目标标书处理的安全性。具体地,第二标书碎片密文也与联盟方一一对应,假设对第一标书碎片密文D1进行混淆处理,得到第二标书碎片密文E1,第二标书碎片密文E1对应着联盟方A1;对第一标书碎片密文D2进行混淆处理,得到第二标书碎片密文E2,第二标书碎片密文E2对应着联盟方A2。

下面对步骤S106进行详细描述。

在一些实施例的步骤S106中,针对每个联盟方,将联盟方对应的加密密钥碎片和第二标书碎片密文发送给联盟方,联盟方将第二标书碎片密文进行上链处理,同时将加密密钥碎片存储在联盟方本地。具体地,智能合约将加密密钥碎片B1、和第二标书碎片密文E1发送给联盟方A1;将加密密钥碎片B2、和第二标书碎片密文E2发送给联盟方A2。联盟方A1将第二标书碎片密文E1进行上链处理;联盟方A2将第二标书碎片密文E2进行上链处理。通过各个联盟方将其得到的密文部分上传至联盟链,确保密文的去中心化存储。

在一些实施例的步骤S106之后,基于区块链的标书处理方法还包括对目标标书、加密密钥碎片和第二标书碎片密文进行清除。具体地,当确定加密密钥碎片和第二标书碎片密文全部发送完毕,对目标标书、加密密钥碎片和第二标书碎片密文进行清除;或者,当确定第二标书碎片密文全部上链完毕,对目标标书、加密密钥碎片和第二标书碎片密文进行清除。其中,在确定上链完毕之后进行清除比在确定发送完毕之后进行清除更能提高数据的非易失性。同时,通过对数据的清除能够防止泄露信息,减少存储成本,从而提高标书处理的安全性。

请参阅图2,在一些实施例中,在对目标标书、加密密钥碎片和第二标书碎片密文进行清除之后,基于区块链的标书处理方法还可以包括但不限于包括步骤S201至步骤S203:

步骤S201,接收目标联盟方发出的解密请求,并确定接收到解密请求的时间戳;其中,解密请求包括目标联盟方的目标加密密钥碎片和联盟方签名;

步骤S202,若时间戳不早于预设时间阈值,则基于联盟方签名对解密请求进行第一验证;

步骤S203,如果确定第一验证通过,则基于智能合约中的预设存储空间的已存储加密密钥碎片、和目标加密密钥碎片,对从联盟链上获取到的多个标书碎片密文进行解密处理,以得到目标标书,并将目标标书发送给目标联盟方。

下面对步骤S201至步骤S203进行详细描述。

在一些实施例的步骤S201中,目标联盟方指的是发出解密请求的联盟方。解密请求是联盟方对目标标书的解密请求,解密请求包括目标联盟方的目标加密密钥碎片和联盟方签名。目标加密密钥碎片是目标联盟方存储在本地的加密密钥碎片。时间戳记录着接收解密请求的时间。在具体实施中,智能合约在接收目标联盟方发出的解密请求时,还会确定接收到解密请求时的时间戳。

在一些实施例的步骤S202之前,基于区块链的标书处理方法包括对预设时间阈值进行确定。预设时间阈值用于判断目标标书是否能解密。预设时间阈值通过以下方式进行确定:获取目标标书的公开时间;根据公开时间进行阈值设置,得到预设时间阈值。目标标书的公开时间可以从目标标书中获取,也可以人为设定。具体地,智能合约可以根据目标标书的公开时间得到预设时间阈值,基于预设时间阈值设置时间触发器,规定目标标书的解密时间。当只有在指定的解密时间到达后才能进行解密。

在一些实施例的步骤S202中,将时间戳与预设时间阈值进行比较,若时间戳早于预设时间阈值,则不再进行后续处理。若时间戳不早于预设时间阈值,则基于联盟方签名对解密请求进行第一验证。其中,第一验证是合法性验证,具体是对联盟方签名的验证,确保解密请求来自于合法的联盟方。

需要说明的是,当指定的解密时间到达时,时间触发器被触发。时间触发器用于触发智能合约主动对时间的检测,时间触发器触发后,智能合约会主动检查当前时间是否符合设定的解密条件,即当前时间在预设时间阈值之后则满足解密条件。如果解密条件满足,智能合约授权联盟方能够开始解密目标标书。但授权只是意味着联盟方可以开始进行目标标书的解密,但解密还需要联盟方向智能合约发送解密请求。

在一些实施例的步骤S203中,预设存储空间中的已存储加密密钥碎片是智能合约已经获取的加密密钥碎片。如果确定第一验证通过,则基于智能合约中的预设存储空间的已存储加密密钥碎片、和目标加密密钥碎片,对从联盟链上获取到的多个标书碎片密文进行解密处理,以得到目标标书,并将目标标书发送给目标联盟方。

通过步骤S201至步骤S203能够在接收解密请求后,对解密请求进行时间验证,确保解密请求满足标书的公开条件;在时间验证通过后进行合法性验证,确保解密请求是联盟方发出的,以此建立一个安全、高效的解密通道,确定了解密请求的合法性,提高了解密操作的可靠性。

请参阅图3,在一些实施例中,基于智能合约中的预设存储空间的已存储加密密钥碎片、和目标加密密钥碎片,对从联盟链上获取到的多个标书碎片密文进行解密处理的过程可以包括但不限于包括步骤S301至步骤S302:

步骤S301,基于已存储加密密钥碎片、和目标加密密钥碎片进行完整性验证;

步骤S302,如果确定完整性验证通过,则基于已存储加密密钥碎片、和目标加密密钥碎片对从联盟链上获取到的多个标书碎片密文进行解密处理。

下面对步骤S301至步骤S302进行详细描述。

需要说明的是,当智能合约接收到目标联盟方发出的解密请求、时间验证通过、合法性验证通过、且完整性验证未通过后,会将解密请求中的目标加密密钥碎片存储至预设存储空间,并拒绝目标联盟方的解密请求。

请参阅图4,在一些实施例中,步骤S301可以包括但不限于包括步骤S401至步骤S405:

步骤S401,获取目标标书的标书加密签名,标书加密签名是通过加密密钥对目标标书的签名进行加密生成的;

步骤S402,基于已存储加密密钥碎片、和目标加密密钥碎片进行密钥重组,生成解密密钥;

步骤S403,基于解密密钥对标书加密签名进行解密处理;

步骤S404,如果确定解密密钥对标书加密签名解密成功,则确定完整性验证通过;

步骤S405,如果确定解密密钥对标书加密签名解密失败,则确定完整性验证不通过。

下面对步骤S401至步骤S405进行详细描述。

在一些实施例的步骤S401中,目标标书的签名是智能合约对目标标书的唯一标识进行签名得到的。唯一标识是指能够唯一确定目标标书的信息或者数值,唯一标识可以是目标标书的编码,唯一标识也可以是对目标标书进行哈希运算得到的哈希值,在此不做限制。而标书加密签名是通过加密密钥对目标标书的签名进行加密得到的,此处的加密密钥是基于联盟方当前数量生成的完整的/未被分割的加密密钥。标书加密签名在生成之后存储在智能合约处的,因此,智能合约能够从存储空间中获取目标标书的标书加密签名。

在一些实施例的步骤S402中,密钥重组指的是将多个密钥碎片进行组合。具体地,将已存储加密密钥碎片、和目标加密密钥碎片输入重组函数进行计算,生成解密密钥。重组函数可以是欧几里德算法、离散对数算法、线性代数运算、离散傅立叶变换、深度学习算法中的一种,在此不做限制。

在一些实施例的步骤S403中,在得到解密密钥之后,用解密密钥对标书加密签名进行解密处理。

在一些实施例的步骤S404中,如果确定解密密钥对标书加密签名解密成功,确定完整性验证通过。即解密密钥能够对标书加密签名进行解密,得到解密结果之后,还可以将解密结果与预先存储在智能合约中的目标标书的签名的内容进行比对,实现双重验证,以提高完整性验证的准确性。

在一些实施例的步骤S405中,如果确定解密密钥对标书加密签名解密失败,确定完整性验证不通过。此时,智能合约将目标加密密钥碎片存储至预设存储空间。

通过步骤S401至步骤S405能够基于对目标标书的标书加密签名的解密实现对密钥碎片的完整性验证,从而验证是否所有的联盟方都发出了解密请求,提高智能合约的标书解密安全性。

在一些实施例的步骤S302中,在确定完整性验证通过之后,智能合约从联盟链上获取到多个标书碎片密文,即上链的第二标书碎片密文。接着基于存储于智能合约的预设的混淆参数对第二标书碎片密文进行还原,得到第二标书碎片密文对应的第一标书碎片密文。然后,基于已存储加密密钥碎片和目标加密密钥碎片对第一标书碎片密文进行解密处理。接着将目标加密密钥碎片存储至预设存储空间。

通过步骤S301至步骤S302能够验证所有的联盟方是否都参与到了解密过程,实现联盟方对目标标书的异步解密,使得不同的联盟方能够并行执行解密操作,提高了整体解密效率,适应了标书解密过程的复杂性和多样性,并且提高解密机制的公平性和公正性。

需要说明的是,对于每一个标书,智能合约存储目标标书的签名、目标标书的标书加密签名;目标标书的签名对应着混淆参数属性和联盟方身份属性,可以以三元数组的形式存储,一个三元数组的元素中存储目标标书的签名、混淆参数、混淆参数对应的联盟方信息。这一存储的好处在于有助于基于对应的混淆参数对第二标书碎片密文进行还原。

请参阅图5,在一些实施例的步骤S106之后,基于区块链的标书处理方法还可以包括但不限于包括步骤S501至步骤S505:

步骤S501,基于接收到的联盟方更新请求,对联盟链中的联盟方的当前数量进行更新,得到更新后当前数量,根据预设的密钥生成规则生成一更新后加密密钥,并根据所获取的更新后当前数量对所生成的更新后加密密钥进行分割,以为每个联盟方分配对应的更新后加密密钥碎片;

步骤S502,在目标标书中确定出每个更新后加密密钥碎片对应的待加密标书碎片;

步骤S503,针对每个联盟方,基于联盟方的更新后加密密钥碎片,对与更新后加密密钥碎片对应的待加密标书碎片进行加密处理,得到联盟方的更新后第一标书碎片密文;

步骤S504,针对每个联盟方,基于预设的混淆参数对联盟方的更新后第一标书碎片密文进行混淆处理,得到更新后第二标书碎片密文;

步骤S505,针对每个联盟方,将联盟方的更新后加密密钥碎片和更新后第二标书碎片密文发送给联盟方,以使联盟方对更新后第二标书碎片密文进行上链。

下面对步骤S501至步骤S505进行详细描述。

需要说明的是,“更新后当前数量”、“更新后加密密钥”、“更新后加密密钥碎片”、“与更新后加密密钥碎片对应的待加密标书碎片”、“更新后第一标书碎片密文”、“更新后第二标书碎片密文”的含义,与“当前数量”、“加密密钥”、“加密密钥碎片”、“与加密密钥碎片对应的待加密标书碎片”、“第一标书碎片密文”、“第二标书碎片密文”的含义是一一对应的。区别是更新前与更新后。

在一些实施例的步骤S501中,联盟方更新请求是联盟方发出的请求,请求包括联盟方的身份信息和联盟方的公钥。其中,身份信息用于识别联盟方,公钥用于对联盟方的签名进行验证。根据接收到的联盟方更新请求,对联盟链中的联盟方的当前数量进行更新。而后续进行密钥生成并根据更新后当前数量对生成的密钥进行分割步骤的具体实施过程与上述步骤S102的具体实施过程类似,在此不做赘述。在另一些实施例中,智能合约会对联盟方的数量进行检测,当联盟方的数量发生变化时,对联盟方的当前数量进行更新,并基于更新后当前数量进行密钥生成。

步骤S502的具体实施过程与上述步骤S103的具体实施过程类似,在此不做赘述。步骤S503的具体实施过程与上述步骤S104的具体实施过程类似,在此不做赘述。步骤S504的具体实施过程与上述步骤S105的具体实施过程类似,在此不做赘述。步骤S505的具体实施过程与上述步骤S106的具体实施过程类似,在此不做赘述。

需要说明的是,在一些实施例的步骤S505中,联盟方会将存储在本地的加密密钥碎片替换成更新后加密密钥碎片。在联盟方接收到更新后第二标书碎片密文后,若是联盟方已经将更新前的第二标书碎片密文上链成功,在这一情况下,若是当前区块链容许对链上的数据进行更改,则联盟方会在链上将数据替换成更新后第二标书碎片密文。若是当前区块链不容许对链上的数据进行更改,则将更新后第二标书碎片密文进行上链,并对已经上链的更新前第二标书碎片密文赋予失效标记,失效标记表示数据失效。在联盟方接收到更新后第二标书碎片密文后,若是联盟方还未将更新前的第二标书碎片密文进行上链,则联盟方会用删除更新前的第二标书碎片密文,并将更新后第二标书碎片密文进行上链。

通过上述步骤S501至步骤S505能够随着联盟方的加入或者联盟方的退出,调整目标标书的加密过程,提高加密过程的灵活性和安全性,确保每个联盟方都能参与到目标标书的安全加密中,从而确保标书处理系统的可扩展性和去中心化特性。

请参阅图6,本申请实施例还提供一种基于区块链的标书处理系统,可以实现上述基于区块链的标书处理方法,系统应用于联盟链,联盟链包括多个联盟方,该系统包括:

采集模块601,用于获取目标标书以及联盟链中联盟方的当前数量;

生成模块602,用于根据预设的密钥生成规则生成一加密密钥,并根据所获取的联盟方的当前数量对所生成的加密密钥进行分割,以为每个联盟方分配对应的加密密钥碎片;

确定模块603,用于在目标标书中确定出每个加密密钥碎片对应的待加密标书碎片;

第一处理模块604,用于针对每个联盟方,基于联盟方的加密密钥碎片,对与加密密钥碎片对应的待加密标书碎片进行加密处理,得到联盟方的第一标书碎片密文;

第二处理模块605,用于针对每个联盟方,基于预设的混淆参数对联盟方的第一标书碎片密文进行混淆处理,得到第二标书碎片密文;

分发模块606,用于针对每个联盟方,将联盟方的加密密钥碎片和第二标书碎片密文发送给联盟方,以使联盟方对第二标书碎片密文进行上链。

该基于区块链的标书处理系统的具体实施方式与上述基于区块链的标书处理方法的具体实施例基本相同,在此不再赘述。

本申请实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述基于区块链的标书处理方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。

请参阅图7,图7示意了另一实施例的电子设备的硬件结构,电子设备包括:

处理器701,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;

存储器702,可以采用只读存储器(ReadOnlyMemory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)等形式实现。存储器702可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器702中,并由处理器701来调用执行本申请实施例的基于区块链的标书处理方法;

输入/输出接口703,用于实现信息输入及输出;

通信接口704,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;

总线705,在设备的各个组件(例如处理器701、存储器702、输入/输出接口703和通信接口704)之间传输信息;

其中处理器701、存储器702、输入/输出接口703和通信接口704通过总线705实现彼此之间在设备内部的通信连接。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述基于区块链的标书处理方法。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

本申请实施例提供的基于区块链的标书处理方法、基于区块链的标书处理系统、电子设备及存储介质,其通过获取目标标书以及联盟链中联盟方的当前数量;根据预设的密钥生成规则生成一加密密钥,并根据所获取的联盟方的当前数量对所生成的加密密钥进行分割,以为每个联盟方分配对应的加密密钥碎片,通过将加密密钥分割成多个碎片,并将碎片分发给不同的联盟方,在一个联盟方被攻击的情况下也不会泄露完整的密钥,同时,恶意的联盟方也无法单独还原出完整的密钥,从而提高标书处理的安全性。进一步地,在目标标书中确定出每个加密密钥碎片对应的待加密标书碎片;针对每个联盟方,基于联盟方的加密密钥碎片,对与加密密钥碎片对应的待加密标书碎片进行加密处理,得到联盟方的第一标书碎片密文,能够对不同的标书部分采用不同的密钥碎片进行加密,提高标书处理的安全性。进一步地,针对每个联盟方,基于预设的混淆参数对联盟方的第一标书碎片密文进行混淆处理,得到第二标书碎片密文,能够避免通过部分密文和密钥碎片还原目标标书,从而提高标书处理的安全性。进一步地,针对每个联盟方,将联盟方的加密密钥碎片和第二标书碎片密文发送给联盟方,以使联盟方对第二标书碎片密文进行上链。这一方式实现了分布式密钥管理,提高了密钥的安全性和去中心化存储,降低了传统密钥管理方式中单点故障的风险;本申请实施例还实现了对密文的去中心化存储,提高了标书处理的安全性。同时,由于本申请实施例将目标标书以密文形式进行存储,提高了标书处理的安全性。另外,密钥分片方式实现了所有联盟方共同对标书进行加密和解密,提高了公平和公正性。分布式密钥管理和智能合约控制确保了标书的解密过程是安全可靠的,防范了潜在的恶意攻击,提高了标书处理的安全性。由于加解密是自动化的,无需人工介入,因此,本申请实施例还提高了标书处理的操作便捷性。

本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。

以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。

本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。

以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。

相关技术
  • 区块链数据共识处理方法、系统、存储介质和电子设备
  • 并行区块链共识方法、系统、电子设备和计算机可读存储介质
  • 基于区块链的交易验证方法、装置、存储介质及电子设备
  • 基于区块链的贷款审批方法、装置、存储介质及电子设备
  • 基于区块链的城市实景管理方法、电子设备及存储介质
  • 基于区块链的需求处理方法、系统、存储介质及电子设备
  • 基于双区块链的信息处理方法、系统、电子设备及存储介质
技术分类

06120116585976