CN111723387A - 一种基于区块链的数据解密的方法及装置 - Google Patents
一种基于区块链的数据解密的方法及装置 Download PDFInfo
- Publication number
- CN111723387A CN111723387A CN202010572170.2A CN202010572170A CN111723387A CN 111723387 A CN111723387 A CN 111723387A CN 202010572170 A CN202010572170 A CN 202010572170A CN 111723387 A CN111723387 A CN 111723387A
- Authority
- CN
- China
- Prior art keywords
- data
- private key
- key
- block chain
- fragments
- 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.)
- Pending
Links
Images
Classifications
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种基于区块链的数据解密的方法及装置,该方法包括区块链在解密时间到达时获取多个数据公证方发送私钥分片,在对私钥分片验证通过后,对多个私钥分片进行合并,得到解密私钥,将解密私钥进行上链操作,以使数据使用方在区块链上获取解密私钥和各数据产生方的加密密文后,使用解密私钥对加密密文进行解密得到关键数据、关键数据对应的数据产生方的签名公钥和数字签名。由于在解密时间到达时通过获取多个数据公证方的私钥分片来得到解密加密密文的解密私钥,保证了任何一个数据公证方的私钥分片被泄露都无法实现对加密密文的解密,从而保证在解密时间到达之前加密密文的安全性,在解密结果不被篡改的前提下,保障了定时触发的有效性。
Description
技术领域
本发明涉及金融科技(Fintech)领域,尤其涉及一种基于区块链(Block Chain)的数据解密的方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。在金融领域的定时触发机制中,数据加密是一个重要的问题。
目前的方案是将数据解密的相关私钥托付给平台服务,所以需要依赖一定治理手段,来追究内部人员违规使用私钥。在约定的时间前,如果提前解密关键数据,会破坏定时触发机制的公正性。而由于平台服务权限很高,一旦内部人员违规,只能事后追究,缺乏进行事前预防的技术手段。如果定时触发机制相关的标的价值很高(如招投标中的对手出价,摇号抽奖中的中奖号码),很容易催生违规的不法行为,事后追责也需要平台服务配合,对相关服务的公正性带来了很大的挑战。
综上,目前亟需一种基于区块链的数据解密的方法,用以解决现有技术中存在定时触发机制由于托管私钥的平台的内部人员违规提前使用私钥,造成重大损失的问题。
发明内容
本发明提供了一种基于区块链的数据解密的方法及装置,可以提高数据解密私钥的安全性,避免出现因托管私钥的平台内部人员违规提前使用私钥的情况。
第一方面,本发明提供了一种基于区块链的数据解密的方法,包括:
区块链在解密时间到达时获取多个数据公证方发送私钥分片;所述私钥分片是所述数据公证方在接收到数据使用方邀请公证时随机产生的;
所述区块链在对所述私钥分片验证通过后,对多个所述私钥分片进行合并,得到解密私钥;
所述区块链将所述解密私钥进行上链操作,以使所述数据使用方在所述区块链上获取所述解密私钥和各数据产生方的加密密文后,使用所述解密私钥对所述加密密文进行解密得到关键数据、所述关键数据对应的数据产生方的签名公钥和数字签名。
上述技术方案中,由于在解密时间到达时通过获取多个数据公证方的私钥分片来得到解密加密密文的解密私钥,保证了任何一个数据公证方的私钥分片被泄露都无法实现对加密密文的解密,从而保证了在解密时间到达之前加密密文的安全性,在解密结果不被篡改的前提下,保障了定时触发的有效性。此外所有与加密密文相关的数据都是通过区块链存证,难以被篡改,可以公开验证,保障了整个定时触发过程的公证性。
可选的,所述区块链在获取多个数据公证方发送私钥分片之前,还包括:
所述区块链获取所述多个数据公证方发送的公钥分片;所述公钥分片是所述数据公证方在接收到所述数据使用方邀请公证时根据所述私钥分片和预设的生成元确定的;
所述区块链对多个所述公钥分片进行合并,得到加密公钥,并将所述加密公钥进行上链操作,以使所述数据产生方在获取所述区块链上的加密公钥后使用所述加密公钥对所述关键数据进行加密得到所述加密密文。
上述技术方案中,通过将多个公钥分片进行合并得到加密公钥,可以使得数据产生方可以从区块链上得到该加密公钥进行使用。由于加密公钥是通过多个公钥分片得到的,公钥分片是根据私钥分片得到的,可以防止私钥分片同时被一方得到,从而保证了加密密文的安全性。
可选的,所述区块链对所述私钥分片验证,包括:
所述区块链使用所述私钥分片对应的公钥分片对所述私钥分片进行验证。
通过公钥分片对私钥分片进行验证,可以保证私钥分片的有效性,验证不通过的避免上链操作。
可选的,所述区块链将所述加密公钥进行上链操作之后,还包括:
所述区块链获取所述数据产生方发送的加密密文;所述加密密文是所述数据产生方从所述区块链上获取所述加密公钥和所述数据使用方发布的数据使用信息之后,根据所述数据使用信息生成所述关键数据,使用所述数据产生方的签名私钥对所述关键数据进行签名得到数字签名,使用对称密钥对所述关键数据和数字签名、签名公钥进行加密得到数据密文,使用所述加密公钥对所述对称密钥和所述数据密文进行加密后得到的;
所述区块链将所述加密密文进行上链操作,以使所述数据使用方从所述区块链获取所述加密密文并进行解密。
上述技术方案中,数据产生方通过区块链上的加密公钥对关键数据、数字签名和签名公钥进行加密,可以保证关键数据、数字签名和签名公钥的安全性,防止被篡改。
可选的,所述区块链在获取多个数据公证方发送私钥分片之前,还包括:
所述区块链获取所述数据使用方发送的数据使用信息;
所述区块链将所述数据使用信息进行上链操作,以使所述数据产生方从所述区块链获取所述数据使用信息并根据所述数据使用信息生成所述关键数据。
第二方面,本发明实施例提供一种基于区块链的数据解密的装置,包括:
获取单元,用于在解密时间到达时获取多个数据公证方发送私钥分片;所述私钥分片是所述数据公证方在接收到数据使用方邀请公证时随机产生的;
处理单元,用于在对所述私钥分片验证通过后,对多个所述私钥分片进行合并,得到解密私钥;将所述解密私钥进行上链操作,以使所述数据使用方在区块链上获取所述解密私钥和各数据产生方的加密密文后,使用所述解密私钥对所述加密密文进行解密得到关键数据、所述关键数据对应的数据产生方的签名公钥和数字签名。
可选的,所述处理单元还用于:
在获取多个数据公证方发送私钥分片之前,控制所述获取单元获取所述多个数据公证方发送的公钥分片;所述公钥分片是所述数据公证方在接收到所述数据使用方邀请公证时根据所述私钥分片和预设的生成元确定的;
对多个所述公钥分片进行合并,得到加密公钥,并将所述加密公钥进行上链操作,以使所述数据产生方在获取所述区块链上的加密公钥后使用所述加密公钥对所述关键数据进行加密得到所述加密密文。
可选的,所述处理单元具体用于:
使用所述私钥分片对应的公钥分片对所述私钥分片进行验证。
可选的,所述处理单元还用于:
将所述加密公钥进行上链操作之后,控制所述获取单元获取所述数据产生方发送的加密密文;所述加密密文是所述数据产生方从所述区块链上获取所述加密公钥和所述数据使用方发布的数据使用信息之后,根据所述数据使用信息生成所述关键数据,使用所述数据产生方的签名私钥对所述关键数据进行签名得到数字签名,使用对称密钥对所述关键数据和数字签名、签名公钥进行加密得到数据密文,使用所述加密公钥对所述对称密钥和所述数据密文进行加密后得到的;
将所述加密密文进行上链操作,以使所述数据使用方从所述区块链获取所述加密密文并进行解密。
可选的,所述处理单元还用于:
在获取多个数据公证方发送私钥分片之前,控制所述获取单元获取所述数据使用方发送的数据使用信息;
将所述数据使用信息进行上链操作,以使所述数据产生方从所述区块链获取所述数据使用信息并根据所述数据使用信息生成所述关键数据。
第三方面,本发明提供一种计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行上述第一方面所述的方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行上述第一方面所述的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构的示意图;
图2为本发明实施例提供的一种基于区块链的数据解密的方法的流程示意图;
图3为本发明实施例提供的一种基于区块链的数据解密的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种系统架构。如图1所示,该系统架构可以包括区块链100、数据使用方200、多个数据产生方300和多个数据公证方400;
其中,数据使用方200是发布数据使用信息的机构,例如在招投标的过程中,该数据使用方300为招标方,招标方可以通过招标系统发布招标信息,该招标信息即为数据使用信息。
数据使用方300为根据数据使用信息产生关键数据的一方,例如该数据使用方可以为投标方,投标方可以根据招标信息生成用于投标的标书,该标书即为关键数据。
数据公证方400为用于产生对关键数据进行加解密的加密公钥和解密私钥的一方,每个数据公证方400可以随机产生一个私钥分片,然后再根据私钥分片生成对应的公钥分片,其中多个数据公证方400的私钥分片可以组成解密私钥,多个公钥分片可以组成加密公钥。数据公证方400的数量由数据使用方300来决定,该数量为一个经验值,一般是选大于3的数值。
区块链100是由一系列区块组成的一条链,每个块上除了记录本块的数据还会记录上一块的Hash值,通过这种方式组成一条链。区块链100的核心理念有两个,一个是密码学技术,另一个是去中心化思想,基于这两个理念做到区块链100上的历史信息无法被篡改。一个区块由块头和块体组成,其中块头定义包括该区块高度h,上一个区块的Hash指prevHash等重要字段,而块体主要存储交易数据。本发明实施例主要使用区块链100的防篡改的特性,来验证关键数据的一致性和完整性。
其中,区块链100上部署有数据存证智能合约,主要用于网络中接收数据,将收到的数据写入到防篡改的区块数据中。以及对写入的区块数据进行读取和验证。本发明实施例中的数据存证智能合约来实现链上数据与链下的数据交互,但方案本身不限于使用智能合约,也将其可以替换成其他任意区块链组件,只要该组件能够提供以上数据存证功能即可。
本发明实施例可以应用于定时触发机制中,该定时触发机制是指在一个约定的时间点上,产生关键数据触发系统的下一步操作。这里的关键数据为下一步操作的关键输入,如果无法提供其明文,对应的系统无法开始下一步的操作;如果关键数据解密错误,下一步操作的结果也会产生错误。
而基于数据解密的定时触发是指在一个约定的时间点上,系统完成对下一步操作中所需的关键数据的解密,触发下一步操作。定时数据解密的有效性将由技术手段保障,并产生一系列公开可验证的证据,确保解密过程没有提前发生。这种技术可以应用在招投标中的开标、摇号抽奖中的开奖等。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图2示例性的示出了本发明实施例提供的一种基于区块链的数据解密的方法的流程,该流程可以由一种基于区块链的数据解密的装置执行。
如图2所示,该流程具体步骤包括:
步骤201,区块链在解密时间到达时获取多个数据公证方发送私钥分片。
在本发明实施例中,该业务请求报文可以包括业务数据和业务标识。该私钥分片是数据公证方在接收到数据使用方邀请公证时随机产生的。
当数据使用方在确定需要进行定时触发事件时,需要发布数据使用信息,此时区块链可以获取该数据使用信息,并将该数据使用信息进行上链操作,从而使得其它数据产生方可以从区块链上来获取该数据使用信息。于此同时,数据使用方还会邀请多个数据公证方来共同制定数据产生方用于加密关键数据的加密公钥和解密私钥。数据公证方的数量由数据使用方来确定。该
每一家数据公证方在接收到数据使用方的邀请之后,可以随机产生一个私钥分片,然后根据私钥分片和一个预设的生成元生成该私钥分片对应的公钥分片,然后数据公证方可以将该公钥分片发送给区块链进行上链操作。具体的,区块链可以获取多个数据公证方发送的公钥分片,然后对多个公钥分片进行合并,得到加密公钥,并将加密公钥进行上链操作,从而使得数据产生方在获取区块链上的加密公钥后使用加密公钥对关键数据进行加密得到加密密文。该预设的生成元是标准加密算法中的有限循环群中的生成元。
当生成加密公钥之后,数据产生方即可以在区块链上获取上述数据使用方发布的数据使用信息和该加密公钥。然后数据产生方根据数据使用信息生成对应的关键数据,并随机生成一个对称密钥。
数据产生方首先可以使用自身的签名私钥对该关键数据进行签名得到数字签名。然后使用对称密钥对关键数据和数字签名、自身的签名公钥进行加密得到数据密文。最后使用加密公钥对该对称密钥和该数据密文进行加密,得到最终的加密密文。由于使用加密公钥、对称密钥和签名公钥等多重加密,可以防止关键数据被篡改。
需要说明的是,上述数据产生方的签名私钥和签名公钥是数据产生方在进行信息注册时,数据产生方使用标注数字证书算法生成的一对签名公私钥对,并基于该签名公私钥对申请自己的数字证书后确定的数字证书中的签名公私钥,主要是用于验证该数据产生方的身份。
当数据产生方产生加密密文之后就将加密密文发送到区块链,区块链接收到该加密密文后进行上链操作,从而可以使得数据使用方可以随时从区块链上获取该加密密文,并在得到解密私钥之后对该加密密文进行解密。
步骤202,所述区块链在对所述私钥分片验证通过后,对多个所述私钥分片进行合并,得到解密私钥。
当区块链接收到各数据公证方发生的私钥分片之后,需要对该私钥分片进行验证,防止非法的私钥分片上链。主要是使用该私钥分片对应的公钥分片进行验证,一般是确定私钥分片与生成元的乘积是否与该私钥分片对应的公钥分片相同,若是,则确定验证通过,否则确定验证不通过,并向发送该私钥分片的数据公证方发出告警通知,并拒绝错误的私钥分片上链。
当区块链对私钥分片验证通过后,可以对多个私钥分片进行加和合并处理,得到解密私钥。
步骤203,所述区块链将所述解密私钥进行上链操作,以使所述数据使用方在所述区块链上获取所述解密私钥和各数据产生方的加密密文后,使用所述解密私钥对所述加密密文进行解密得到关键数据、所述关键数据对应的数据产生方的签名公钥和数字签名。
当区块链得到解密私钥之后,就可以将解密私钥进行上链,从而使得数据使用方可以获取该解密私钥。
数据使用方从区块链获取该解密私钥之后,就可以使用解密私钥对每一份加密密文进行解密,得到关键数据、以及关键数据对应的数据产生方的签名公钥和数字签名。通过数字签名和签名公钥可以识别出数据产生方的身份。
通过上述方式,即便是任一数据公证方违规泄露了自己的私钥分片,也无法正确的还原出正确的解密私钥,使得加密密文无法在解密时间之前提前解密,保证了加密密文的安全性。
为了更好的解释上述实施例,下面将在具体的实施场景(招投标流程)下分阶段来描述上述数据加密的过程。
招投标流程中的定时触发:
开标操作中,需要同时解密所有投标人的密文标书,这些密文标书就是本发明中的关键数据,如果提前解密或解密结果被篡改,无疑会影响开标操作的公正性和正确性。
在本发明实施例中,数据使用方为招标方、数据产生方为投标人、数据公证方为招标方邀请的公证单位。
其中,在本实施例中使用的符号定义:
bid_i:第i个投标人的标书明文;
PK_sig_s:角色s公开验证的签名公钥;
SK_sig_s:角色s用以签名的签名私钥,对应PK_sig_s;
PK_data_s:角色s公开用于数据加密的加密公钥;
SK_data_s:角色s私有的用以数据解密的解密私钥,对应PK_data_s;
E_k(m):使用密钥k加密消息m;
D_k(m):使用密钥k解密消息m;
Sig_k(m):使用密钥k对消息m进行数字签名;
Hash(m):消息m的哈希值;
A||B:在A字符串之后附加B字符串,例如“ab”||“c”=“abc”;
Contract_Seal:区块链上的一个具有数据存证功能的智能合约。
第一阶段:系统初始化:
1、产生关键数据的用户登记。
在招投标系统中,投标人即为产生关键数据的用户。
(1)、投标人i使用标准数字证书算法生成一对签名公私钥对PK_sig_i,SK_sig_i。
(2)、投标人i向监管仲裁方发送签名公钥PK_sig_i和相关证明材料,登记申请自己的数字证书。
(3)、监管仲裁方核实i的身份,并用CA的根证书为i颁发对应的数字证书。
(4)、监管仲裁方保存以上颁发的数字证书和i真实身份的对应关系,事后可以通过验证证书中的签名公私钥来确定i的身份。
2、系统参数公开。
监管仲裁方通过可信的信道公开以下系统参数:
(1)、ElGamal标准加密算法中,有限循环群F的大小,大素数p,默认情况下所有相关的运算都要加上mod p,但为了简化描述都已省去。
(2)、有限循环群上的一个生成元G。
(3)、安全单向哈希算法Hash。
3、系统启动。
(1)、启动区块链节点。
(2)、部署区块链处理存证的智能合约。
(3)、启动其他上层系统。
第二阶段:定时触发规则设置:
在招投标系统中,定时触发规则设置具体指,在公布招标项目时,指定约定的开标时间。
(1)招标方通过招投标系统公开招标项目的细节,约定开标时间。
(2)、招投标系统将本次公开招标的信息明文,发送到区块链Contract_Seal合约,完成存证。
(3)、招投标系统邀请N家公证单位的信息系统,来共同创建本次招标的加密公钥,N至少为3。
(4)、每一个公证单位的信息系统收到邀请后,做以下操作:
a)选取一个独立的随机数标量,公证单位j选取的随机数记为x_j,作为私钥分片。
b)计算公钥分片PK_data_j=x_j*G,G为公开系统参数中有限循环群上的一个生成元。由于离散对数难题的特性,知道x_j*G和G,难以反推出x_j。
c)将PK_data_j发送到区块链Contract_Seal合约,完成存证。
(5)、区块链收集完所有的PK_data_j,将其加和合并获得本次招标的加密公钥PK_data。以3家公证单位为例,PK_data=PK_data_1+PK_data_2+PK_data_3,并进行存证。
(6)、招投标系统向所有投标人公布区块链上本次公开招标的信息和加密公钥PK_data。
第三阶段:定时触发关键数据设置:
在招投标系统中,定时触发关键数据设置具体指投标人竞标,投出密文标书。
(1)、投标人i从区块链上下载本次公开招标的信息和加密公钥PK_data。
(2)、投标人i生成一个自己的标书明文bid_i和加密该明文的对称密钥k_i。
(3)、投标人i对标书明文bid_i,使用自己数字证书中的签名私钥SK_sig_i进行签名,获得数字签名Sig_i。
(4)、投标人i用对称密钥k_i加密bid_i和相关签名(签名公钥),获得数据密文C0_i=E_k_i(bid_i||Sig_i||PK_sig_i)。
(5)、投标人i用加密公钥PK_data,以ElGamal标准加密算法,加密对称密钥k_i,获得密文(C1_i,C2_i),计算过程如下:
a)C1_i=Encode(k_i)*r*PK_data;
b)C2_i=r*G;
c)Encode是将k_i表达成有限循环群F中元素,最直接的方法,就是把k_i表达成一个大整数,该整数需要小于F的阶q。
(6)、投标人i将加密密文标书(C0_i,C1_i,C2_i)发送到区块链Contract_Seal合约,完成的出标和存证。
第四阶段:定时触发关键数据解密:
在招投标系统中,定时触发关键数据解密具体指,开标时对所有的加密密文标书进行解密,并保证未对解密结果进行篡改。
(1)、招投标系统在开标时间到了之后,向之前的N家公证单位的信息系统请求私钥分片。
(2)、每一个公证单位的信息系统收到请求后,做以下操作:
a)公证单位j将以前使用的私钥分片x_j,发送到区块链Contract_Seal合约。
(3)、区块链验证x_j*G=PK_data_j是否成立,出错则通知公证单位j,拒绝错误的私钥分片上链。
(4)、区块链收集完所有的x_j,将其加和合并获得本次招标的解密私钥SK_data。以3家公证单位为例,SK_data=x_1+x_2+x_3。
(5)、招投标系统读取区块链上的SK_data,对每一份加密密文标书(C0_i,C1_i,C2_i)解密:
a)以ElGamal标准解密算法,解密C1_i,C2_i,获得k_i=C1_i/(C2_i*SK_data)。
b)使用k_i解密C0_i,获得标书明文和相关签名,得到bid_i||Sig_i||PK_sig_i=D_k_i(C0_i)。
c)通过Sig_i,PK_sig_i,识别出投标人的身份。
(6)、招投标系统根据上一步中的信息决定最终的中标人,完成开标。
需要说明的是,在第四阶段的步骤(2)中,只要任意一家公证单位遵守规则没有提前向其他人透露自己的私钥分片x_j,就无法正确还原出正确的解密私钥SK_data,密文标书就无法提前解密。在步骤(5)中,密文标书解密之前,Sig_i,PK_sig_i隐藏在密文C0_i中,所以投标人的身份在开标时间前也不会提前泄露。
第五阶段:定时触发争议调解:
在招投标系统中,定时触发争议调解具体指,一旦有人质疑解密过程的公正性和正确性,需要进行技术取证仲裁的过程。
每一份密文标书(C0_i,C1_i,C2_i)都在区块链上存证,且通过数字签名Sig_i,PK_sig_i绑定投标人的身份,难以抵赖,可供监管随时审查核实,调解争议。
需要说明的是,上述加密密文中的数字签名,对于某些不需要身份绑定的匿名类事件,可以去除该加密密文中的数字签名,即在产生加密密文时,可以不对该数字签名进行加密,这种情况下并不影响定时触发机制的效果。
本发明实施例表明,区块链在解密时间到达时获取多个数据公证方发送私钥分片,私钥分片是数据公证方在接收到数据使用方邀请公证时随机产生的,在对私钥分片验证通过后,对多个私钥分片进行合并,得到解密私钥,将解密私钥进行上链操作,以使数据使用方在区块链上获取解密私钥和各数据产生方的加密密文后,使用解密私钥对加密密文进行解密得到关键数据、关键数据对应的数据产生方的签名公钥和数字签名。由于在解密时间到达时通过获取多个数据公证方的私钥分片来得到解密加密密文的解密私钥,保证了任何一个数据公证方的私钥分片被泄露都无法实现对加密密文的解密,从而保证了在解密时间到达之前加密密文的安全性,在解密结果不被篡改的前提下,保障了定时触发的有效性。
基于相同的技术构思,图3示例性的示出了本发明实施例提供的一种基于区块链的数据解密的装置的结构示意图,该装置可以执行基于区块链的数据解密的流程。
如图3所示,该装置具体包括:
获取单元301,用于在解密时间到达时获取多个数据公证方发送私钥分片;所述私钥分片是所述数据公证方在接收到数据使用方邀请公证时随机产生的;
处理单元302,用于在对所述私钥分片验证通过后,对多个所述私钥分片进行合并,得到解密私钥;将所述解密私钥进行上链操作,以使所述数据使用方在区块链上获取所述解密私钥和各数据产生方的加密密文后,使用所述解密私钥对所述加密密文进行解密得到关键数据、所述关键数据对应的数据产生方的签名公钥和数字签名。
可选的,所述处理单元302还用于:
在获取多个数据公证方发送私钥分片之前,控制所述获取单元301获取所述多个数据公证方发送的公钥分片;所述公钥分片是所述数据公证方在接收到所述数据使用方邀请公证时根据所述私钥分片和预设的生成元确定的;
对多个所述公钥分片进行合并,得到加密公钥,并将所述加密公钥进行上链操作,以使所述数据产生方在获取所述区块链上的加密公钥后使用所述加密公钥对所述关键数据进行加密得到所述加密密文。
可选的,所述处理单元302具体用于:
使用所述私钥分片对应的公钥分片对所述私钥分片进行验证。
可选的,所述处理单元302还用于:
将所述加密公钥进行上链操作之后,控制所述获取单元301获取所述数据产生方发送的加密密文;所述加密密文是所述数据产生方从所述区块链上获取所述加密公钥和所述数据使用方发布的数据使用信息之后,根据所述数据使用信息生成所述关键数据,使用所述数据产生方的签名私钥对所述关键数据进行签名得到数字签名,使用对称密钥对所述关键数据和数字签名、签名公钥进行加密得到数据密文,使用所述加密公钥对所述对称密钥和所述数据密文进行加密后得到的;
将所述加密密文进行上链操作,以使所述数据使用方从所述区块链获取所述加密密文并进行解密。
可选的,所述处理单元302还用于:
在获取多个数据公证方发送私钥分片之前,控制所述获取单元301获取所述数据使用方发送的数据使用信息;
将所述数据使用信息进行上链操作,以使所述数据产生方从所述区块链获取所述数据使用信息并根据所述数据使用信息生成所述关键数据。
基于相同的技术构思,本发明实施例提供一种计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行上述基于区块链的数据解密的方法。
基于相同的技术构思,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行上述基于区块链的数据解密的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于区块链的数据解密的方法,其特征在于,包括:
区块链在解密时间到达时获取多个数据公证方发送私钥分片;所述私钥分片是所述数据公证方在接收到数据使用方邀请公证时随机产生的;
所述区块链在对所述私钥分片验证通过后,对多个所述私钥分片进行合并,得到解密私钥;
所述区块链将所述解密私钥进行上链操作,以使所述数据使用方在所述区块链上获取所述解密私钥和各数据产生方的加密密文后,使用所述解密私钥对所述加密密文进行解密得到关键数据、所述关键数据对应的数据产生方的签名公钥和数字签名。
2.如权利要求1所述的方法,其特征在于,所述区块链在获取多个数据公证方发送私钥分片之前,还包括:
所述区块链获取所述多个数据公证方发送的公钥分片;所述公钥分片是所述数据公证方在接收到所述数据使用方邀请公证时根据所述私钥分片和预设的生成元确定的;
所述区块链对多个所述公钥分片进行合并,得到加密公钥,并将所述加密公钥进行上链操作,以使所述数据产生方在获取所述区块链上的加密公钥后使用所述加密公钥对所述关键数据进行加密得到所述加密密文。
3.如权利要求2所述的方法,其特征在于,所述区块链对所述私钥分片验证,包括:
所述区块链使用所述私钥分片对应的公钥分片对所述私钥分片进行验证。
4.如权利要求2所述的方法,其特征在于,所述区块链将所述加密公钥进行上链操作之后,还包括:
所述区块链获取所述数据产生方发送的加密密文;所述加密密文是所述数据产生方从所述区块链上获取所述加密公钥和所述数据使用方发布的数据使用信息之后,根据所述数据使用信息生成所述关键数据,使用所述数据产生方的签名私钥对所述关键数据进行签名得到数字签名,使用对称密钥对所述关键数据和数字签名、签名公钥进行加密得到数据密文,使用所述加密公钥对所述对称密钥和所述数据密文进行加密后得到的;
所述区块链将所述加密密文进行上链操作,以使所述数据使用方从所述区块链获取所述加密密文并进行解密。
5.如权利要求1至4任一项所述的方法,其特征在于,所述区块链在获取多个数据公证方发送私钥分片之前,还包括:
所述区块链获取所述数据使用方发送的数据使用信息;
所述区块链将所述数据使用信息进行上链操作,以使所述数据产生方从所述区块链获取所述数据使用信息并根据所述数据使用信息生成所述关键数据。
6.一种基于区块链的数据解密的装置,其特征在于,包括:
获取单元,用于在解密时间到达时获取多个数据公证方发送私钥分片;所述私钥分片是所述数据公证方在接收到数据使用方邀请公证时随机产生的;
处理单元,用于在对所述私钥分片验证通过后,对多个所述私钥分片进行合并,得到解密私钥;将所述解密私钥进行上链操作,以使所述数据使用方在区块链上获取所述解密私钥和各数据产生方的加密密文后,使用所述解密私钥对所述加密密文进行解密得到关键数据、所述关键数据对应的数据产生方的签名公钥和数字签名。
7.如权利要求6所述的装置,其特征在于,所述处理单元还用于:
在获取多个数据公证方发送私钥分片之前,控制所述获取单元获取所述多个数据公证方发送的公钥分片;所述公钥分片是所述数据公证方在接收到所述数据使用方邀请公证时根据所述私钥分片和预设的生成元确定的;
对多个所述公钥分片进行合并,得到加密公钥,并将所述加密公钥进行上链操作,以使所述数据产生方在获取所述区块链上的加密公钥后使用所述加密公钥对所述关键数据进行加密得到所述加密密文。
8.如权利要求7所述的装置,其特征在于,所述处理单元具体用于:
使用所述私钥分片对应的公钥分片对所述私钥分片进行验证。
9.一种计算设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行权利要求1至5任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010572170.2A CN111723387A (zh) | 2020-06-22 | 2020-06-22 | 一种基于区块链的数据解密的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010572170.2A CN111723387A (zh) | 2020-06-22 | 2020-06-22 | 一种基于区块链的数据解密的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111723387A true CN111723387A (zh) | 2020-09-29 |
Family
ID=72569823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010572170.2A Pending CN111723387A (zh) | 2020-06-22 | 2020-06-22 | 一种基于区块链的数据解密的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111723387A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326525A (zh) * | 2021-06-22 | 2021-08-31 | 深圳前海微众银行股份有限公司 | 一种基于智能合约的数据处理方法及装置 |
CN113783689A (zh) * | 2021-09-10 | 2021-12-10 | 陕西华春网络科技股份有限公司 | 招标信息处理方法和装置 |
CN114024776A (zh) * | 2022-01-05 | 2022-02-08 | 北京理工大学 | 支持定时解密的加密传输方法及系统 |
CN114169888A (zh) * | 2021-12-07 | 2022-03-11 | 北京众信星空网络技术有限公司 | 一种通用型支持多重签名的加密货币保管方法 |
CN114448610A (zh) * | 2020-10-30 | 2022-05-06 | 华为技术有限公司 | 数据保护方法、终端及系统 |
CN115051849A (zh) * | 2022-06-08 | 2022-09-13 | 联通(四川)产业互联网有限公司 | 一种数字化司法存证方法、存证装置及可读存储介质 |
CN115296843A (zh) * | 2022-06-29 | 2022-11-04 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中的交易执行方法、第一节点和第二节点 |
CN115499249A (zh) * | 2022-11-17 | 2022-12-20 | 南京可信区块链与算法经济研究院有限公司 | 一种基于区块链分布式加密的文件存储方法及系统 |
CN116996331A (zh) * | 2023-09-27 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备以及介质 |
-
2020
- 2020-06-22 CN CN202010572170.2A patent/CN111723387A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114448610A (zh) * | 2020-10-30 | 2022-05-06 | 华为技术有限公司 | 数据保护方法、终端及系统 |
WO2022267314A1 (zh) * | 2021-06-22 | 2022-12-29 | 深圳前海微众银行股份有限公司 | 一种基于智能合约的数据处理方法及装置 |
CN113326525B (zh) * | 2021-06-22 | 2024-01-16 | 深圳前海微众银行股份有限公司 | 一种基于智能合约的数据处理方法及装置 |
CN113326525A (zh) * | 2021-06-22 | 2021-08-31 | 深圳前海微众银行股份有限公司 | 一种基于智能合约的数据处理方法及装置 |
CN113783689A (zh) * | 2021-09-10 | 2021-12-10 | 陕西华春网络科技股份有限公司 | 招标信息处理方法和装置 |
CN113783689B (zh) * | 2021-09-10 | 2023-12-01 | 陕西华春网络科技股份有限公司 | 招标信息处理方法和装置 |
CN114169888A (zh) * | 2021-12-07 | 2022-03-11 | 北京众信星空网络技术有限公司 | 一种通用型支持多重签名的加密货币保管方法 |
CN114169888B (zh) * | 2021-12-07 | 2022-06-28 | 北京众信星空网络技术有限公司 | 一种通用型支持多重签名的加密货币保管方法 |
CN114024776A (zh) * | 2022-01-05 | 2022-02-08 | 北京理工大学 | 支持定时解密的加密传输方法及系统 |
CN115051849A (zh) * | 2022-06-08 | 2022-09-13 | 联通(四川)产业互联网有限公司 | 一种数字化司法存证方法、存证装置及可读存储介质 |
CN115296843A (zh) * | 2022-06-29 | 2022-11-04 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中的交易执行方法、第一节点和第二节点 |
CN115296843B (zh) * | 2022-06-29 | 2024-04-16 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中的交易执行方法、第一节点和第二节点 |
CN115499249A (zh) * | 2022-11-17 | 2022-12-20 | 南京可信区块链与算法经济研究院有限公司 | 一种基于区块链分布式加密的文件存储方法及系统 |
CN116996331A (zh) * | 2023-09-27 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备以及介质 |
CN116996331B (zh) * | 2023-09-27 | 2023-12-15 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备以及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111723387A (zh) | 一种基于区块链的数据解密的方法及装置 | |
CN110309634B (zh) | 一种基于区块链的可信广告数据管理系统 | |
Campanelli et al. | Zero-knowledge contingent payments revisited: Attacks and payments for services | |
CN109889504B (zh) | 去中心化数据访问权交易方法及系统 | |
EP0881559B1 (en) | Computer system for protecting software and a method for protecting software | |
CN111861473B (zh) | 电子招投标系统及方法 | |
CN106713336B (zh) | 基于双重非对称加密技术的电子数据保管系统及方法 | |
CN106790253A (zh) | 基于区块链的认证方法和装置 | |
US10846372B1 (en) | Systems and methods for trustless proof of possession and transmission of secured data | |
CN109767218B (zh) | 区块链证书处理方法及系统 | |
CA2071771A1 (en) | Cryptographic facility environment backup/restore and replication in a public key cryptosystem | |
CN110569666A (zh) | 一种基于区块链的数据统计的方法及装置 | |
CN110830242A (zh) | 一种密钥生成、管理方法和服务器 | |
CN113411188B (zh) | 电子合同签署方法、装置、存储介质及计算机设备 | |
CN114692218A (zh) | 一种面向个人用户的电子签章方法、设备和系统 | |
CN111488134B (zh) | 基于区块链的公开随机数生成方法及设备 | |
CN112532656B (zh) | 基于区块链的数据加解密方法、装置及相关设备 | |
CN111767582B (zh) | 基于区块链的电子投标方法、装置、设备及存储介质 | |
CN110912705A (zh) | 一种基于区块链的分布式电子投票方法及系统 | |
CN115345618B (zh) | 基于混合后量子数字签名的区块链交易验证方法及系统 | |
CN113326525A (zh) | 一种基于智能合约的数据处理方法及装置 | |
CN108496194A (zh) | 一种验证终端合法性的方法、服务端及系统 | |
CN114726536A (zh) | 一种时间戳生成方法、装置、电子设备及存储介质 | |
CN110377225A (zh) | 一种支持外包数据安全转移与可验证删除的方法 | |
CN106027254A (zh) | 一种身份证认证系统中身份证读卡终端使用密钥的方法 |
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 |