CN114021164B - 基于区块链的征信系统隐私保护方法 - Google Patents
基于区块链的征信系统隐私保护方法 Download PDFInfo
- Publication number
- CN114021164B CN114021164B CN202111270399.1A CN202111270399A CN114021164B CN 114021164 B CN114021164 B CN 114021164B CN 202111270399 A CN202111270399 A CN 202111270399A CN 114021164 B CN114021164 B CN 114021164B
- Authority
- CN
- China
- Prior art keywords
- credit
- ciphertext
- key
- credit investigation
- user
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000011835 investigation Methods 0.000 claims abstract description 143
- 238000012795 verification Methods 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000008520 organization Effects 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 9
- 238000004458 analytical method Methods 0.000 description 9
- 238000002474 experimental method Methods 0.000 description 5
- 238000010200 validation analysis Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供一种基于区块链的征信系统隐私保护方法。该方法实现了征信用户、征信机构和云服务提供商等多个实体间的征信数据安全共享,保障了征信数据的机密性、可用性、防篡改性和密文可检索性,以及征信数据查询中的公平性和身份认证匿名性。基于区块链和智能合约解决了征信数据的孤岛化问题;基于零知识证明,在不泄露征信用户隐私的情况下,实现匿名的身份认证;基于可搜索对称加密技术实现征信数据的密文可检索。
Description
技术领域
本发明涉及征信数据安全技术领域,尤其涉及一种基于区块链的征信系统隐私保护方法。
背景技术
传统征信系统以少量的征信机构为主,所存储的征信信息严重不能满足用户的需要。征信系统之间呈现孤岛化现象,其征信信息的格式也各不相同,这些状况导致征信信息无法共享。此外,传统的征信系统依赖中心化的服务器,一旦遭受黑客攻击,整个系统便无法运作。征信信息属于敏感的个人隐私信息,因此征信系统需要安全保障和隐私保护。
传统征信系统的身份认证也会导致一定的身份信息泄露的风险。例如,征信系统中通过输入账号和密码进行身份认证登录的方式,会导致用户身份信息被敌手拦截,从而危及征信系统的安全性。通过面部和指纹等生物特征进行身份认证的方式具有不会被遗忘,丢失和易随时随地使用的优点。但是由于生物特征多年不变并伴随着每个个体一生,会在出现漏洞或系统数据库遭到攻击时无法保证其安全性。因此,目前的征信系统在身份认证方面的安全问题亟需解决。
征信系统中的征信数据都是敏感的,所以恶意的云服务提供商会窥探和篡改用户的数据。为保护数据隐私,需要在上传到云服务提供商之前对征信数据进行加密。密文虽然能保证征信数据安全,但是对密文进行检索操作时会耗费大量的带宽资源。因此迫切需要对密文进行检索并将搜索结果返回给用户的同时,还要最大限度地保证数据的隐私和安全。
发明内容
针对征信系统之间呈现孤岛化现象,以及征信系统的身份认证方式存在身份信息泄露的问题,本发明提供一种基于区块链的征信系统隐私保护方法,实现了征信用户、征信机构和云服务提供商等多个实体间的征信数据安全共享,同时保证了征信数据的机密性和可用性。
本发明提供的一种基于区块链的征信系统隐私保护方法,包括征信用户、金融机构、征信机构、区块链和云服务提供商5个实体,所述方法包括:
征信机构根据自身选取的安全参数k,使用概率密钥生成算法生成密钥K;并根据所述密钥K使用加密算法对自身拥有的明文征信数据集进行加密生成密文征信数据集和索引;将所述密文征信数据集和所述索引上传至云服务提供商,将所述密文征信数据集的哈希密文摘要和所述密钥K的密文上传到区块链;
征信用户向征信机构进行注册,注册成功后向金融机构发送委托服务请求和与所述委托服务请求相关的关键词;
征信机构通过征信用户的注册之后,预先生成对应的符合零知识身份认证的电路;根据获取的安全参数λ和所述电路,使用零知识证明的密钥生成算法生成证明密钥和验证密钥;将证明密钥发送至征信用户,并创建验证合约,然后将验证密钥发送至所述验证合约;所述验证合约是指公开在以太坊网络上用于认证征信用户的身份是否合法的合约;
征信用户根据证明密钥、身份信息、身份信息签名和时间戳,使用零知识证明的证明算法生成零知识证明,并将所述零知识证明提交到所述验证合约进行匿名身份认证;
若征信用户的身份认证正确,验证合约向征信用户和金融机构发送所述密钥K的密文;
征信用户接收到所述密钥K的密文后,使用自身的私钥对所述密钥K的密文进行解密得到所述密钥K,然后通过安全通道向金融机构发送所述密钥K的密文和解密得到的所述密钥K;
金融机构比较验证合约发送的所述密钥K的密文和征信用户发送的所述密钥K的密文,若一致,则根据征信用户发送的所述密钥K和对应的关键词生成陷门;将所述陷门和征信信息查询费用提交至所述云服务提供商;
云服务提供商在检测到支付操作完成后,根据收到的所述陷门,使用密文检索算法按照所述索引检索到对应的密文征信数据,将所述密文征信数据返回至金融机构;
金融机构使用所述密钥K对所述密文征信数据进行解密得到明文征信数据,通过安全通道将所述明文征信数据发送至征信用户。
进一步地,对明文征信数据集进行加密的加密算法为AES对称加密算法。
进一步地,所述索引由数组A和查询表T组成;所述密钥K包括4个子密钥,即K=(K1,i,K2,i,K3,i,K4,i);其中:
数组A的创建过程包括:创建征信用户ui的链表Li,所述链表Li由若干个节点Ni,j组成,对每个所述节点Ni,j进行加密,将所有节点Ni,j按照随机顺序存储在数组A中;其中,对每个所述节点Ni,j进行加密,具体包括:当1≤j≤|D(wi)|-1时,对应的密文为/>当j=|D(wi)|时,Ni,j=<id(Di,j)||0k||NULL>,对应的密文为/>其中,id(Di,j)表示D(wi)的第j个标识符,D(wi)表示征信用户ui的关键词wi所对应的字典序列表,/>表示用于加密节点Ni,j的密钥,ctr表示全局计数器,/>表示伪随机置换,/>表示当输入为ctr+1和密钥K1,i时所输出的伪随机置换数;
查询表T的创建过程包括:将关键词wi∈δ(D)生成二元组形式的查询表其中,/>π表示伪随机置换,/>表示当输入为关键词wi和密钥K3,i时所生成的伪随机置换数;f表示伪随机函数,表示当输入为关键词wi和密钥K2,i时所生成的伪随机数;
进一步地,所述方法还包括:检测云服务提供商返回的密文征信数据的完整性和可用性,具体包括:
对所述密文征信数据进行哈希处理得到所述密文征信数据的哈希摘要,将所述密文征信数据的哈希摘要和区块链上的密文征信数据的哈希密钥进行比较,若一致,则表示云服务提供商返回的密文征信数据是完整的和可用的。
进一步地,所述符合零知识身份认证的电路C1和电路C2组成;所述电路C1由计算电路组成,所述电路C2由计算电路和Sha256电路组成;
将征信用户身份信息集、其身份信息签名集和时间戳输入到电路C1中的计算电路中进行计算,然后输出计算值c;
将征信用户的身份信息集和对应的身份信息签名集输入至电路C2中的计算电路中,然后将所述计算电路的输出和时间戳输入至所述Sha256电路,采用所述Sha256电路输出的哈希值h来验证征信用户的身份信息集、对应的身份信息签名集和时间戳的真实性和可用性。
本发明的有益效果:
(1)本发明基于区块链技术,利用区块链去中心化和不可篡改的特性解决征信数据的孤岛化问题,并保护征信数据不被恶意云服务提供商篡改;
(2)本发明采用基于零知识证明的身份认证技术,通过向智能合约提交一个证明以实现匿名的身份认证,确保不泄露征信用户的身份隐私,使得征信用户可在不泄漏任何隐私的身份信息的情况下证明自己是合法用户;
(3)本发明采用可搜索对称加密技术实现征信数据的密文可检索,确保实现征信数据的安全存储和高效率检索;
(4)通过进行相关实验,对本发明方案的安全性分析表明,本发明方案保障了征信数据的机密性、可用性、防篡改性和密文可检索性,以及征信数据查询中的公平性和身份认证匿名性;对本发明方案的效率分析表明,与同类身份认证方案相比,本发明方案的证明密钥更小,验证所消耗的时间更短;与同类密文检索方案相比,本发明方案生成索引的时间与生成陷门和返回搜索结果的时间明显更短。
附图说明
图1为本发明实施例提供的基于区块链的征信系统隐私保护方法的流程示意图;
图2为本发明实施例提供的符合零知识身份认证的电路C1的结构示意图;
图3为本发明实施例提供的符合零知识身份认证的电路C2的结构示意图;
图4为本发明实施例提供的电路C1和电路C2中计算电路的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本发明实施例提供一种基于区块链的征信系统隐私保护方法,包括征信用户、金融机构、征信机构、区块链和云服务提供商5个实体;
征信机构:本发明假设征信机构是可信的。征信机构CI拥有众多的用户征信报告,能够安全地拥有、控制和有条件地提供征信用户的个人征信信息,并在此过程中获取相关费用。
征信用户:征信用户是典型的数据消费者。他们需要通过身份认证,并委托金融机构查询相关的征信信息。
区块链:区块链BC中的智能合约可以验证征信用户的身份,区块链网络连接其它实体节点。区块链存储征信用户信息密文的哈希摘要,确保数据的可追溯和不可篡改。
云服务提供商:本发明假设云服务提供商CSP是不诚实的,其存储用户征信信息的密文,根据用户的陷门信息返回符合要求的密文。此外,它接收征信信息但可能不诚实地执行系统中分配的任务。
金融机构:金融机构包括商业银行等,本发明假设金融机构FI是可信的。在本发明方案中,金融机构提供给征信用户征信信息查询和信贷服务,无法授权给其他征信用户查询服务。
所述方法具体包括如下步骤:
征信机构根据自身选取的安全参数k,使用概率密钥生成算法生成密钥K;并根据所述密钥K使用加密算法对自身拥有的明文征信数据集进行加密生成密文征信数据集和索引;将所述密文征信数据集和所述索引上传至云服务提供商,将所述密文征信数据集的哈希密文摘要和所述密钥K的密文上传到区块链;
征信用户向征信机构进行注册,注册成功后向金融机构发送委托服务请求和与所述委托服务请求相关的关键词;
征信机构通过征信用户的注册之后,预先生成对应的符合零知识身份认证的电路;根据获取的安全参数λ(该安全参数λ可以通过随机数生成器生成)和所述电路,使用零知识证明的密钥生成算法生成证明密钥和验证密钥;将证明密钥发送至征信用户,并创建验证合约,然后将验证密钥发送至所述验证合约;所述验证合约是指公开在以太坊网络上用于认证征信用户的身份是否合法的合约;
征信用户根据证明密钥、身份信息、身份信息签名和时间戳,使用零知识证明的证明算法生成零知识证明,并将所述零知识证明提交到所述验证合约进行匿名身份认证;
若征信用户的身份认证正确,验证合约向征信用户和金融机构发送所述密钥K的密文;
征信用户接收到所述密钥K的密文后,使用自身的私钥对所述密钥K的密文进行解密得到所述密钥K,然后通过安全通道向金融机构发送所述密钥K的密文和解密得到的所述密钥K;
金融机构比较验证合约发送的所述密钥K的密文和征信用户发送的所述密钥K的密文,若一致,则根据征信用户发送的所述密钥K和对应的关键词生成陷门;将所述陷门和征信信息查询费用提交至所述云服务提供商;
云服务提供商在检测到支付操作完成后,根据收到的所述陷门,使用密文检索算法按照所述索引检索到对应的密文征信数据,将所述密文征信数据返回至金融机构;
金融机构使用所述密钥K对所述密文征信数据进行解密得到明文征信数据,通过安全通道将所述明文征信数据发送至征信用户。
本发明实施例基于区块链技术,利用区块链去中心化和不可篡改的特性解决征信数据的孤岛化问题,并保护征信数据不被恶意云服务提供商篡改;并且采用基于零知识证明的身份认证技术,通过向智能合约提交一个证明以实现匿名的身份认证,确保不泄露征信用户的身份隐私,使得征信用户可在不泄漏任何隐私的身份信息的情况下证明自己是合法用户。
实施例2
下面以征信用户ui为例,具体阐述本发明的基于区块链的征信系统隐私保护方法,本方案基于区块链、智能合约、可搜索对称加密技术和零知识证明zkSNARKs等技术,实现征信系统中征信用户的身份认证和征信数据的安全共享。该方法包括如下步骤:
步骤1系统初始化
步骤1.1:初始化生成p、Gp;其中,p是大素数,Gp是的唯一子群;
步骤1.2:选择生成元g∈Gp,随机数安全参数λ和hash函数/>
步骤1.3:设定征信用户ui的公钥为PKi,私钥为SKi;
步骤1.4:征信机构CI选取安全参数k,并使用概率密钥生成算法(KeyGen(1k)→K)随机生成征信用户ui的密钥K=(K1,i,K2,i,K3,i,K4,i);
步骤1.5:参与区块链的多个实体(包括征信用户、金融机构和征信机构),需要加入以太坊网络。以太坊网络给实体分配区块链地址,各个实体一起构建联盟区块链。维护区块链网络的节点只有通过实用的拜占庭容错(PBFT)共识机制才能将数据上传到区块链。
步骤2数据加密
步骤2.1:使用概率密钥生成算法表示用于加密节点Ni,j的密钥;
步骤2.2:选择伪随机函数f和两个伪随机置换和π;设定全局计数器ctr,初始化全局计数器ctr=1;
步骤2.3:扫描征信数据集D={D1,...,Dn},并生成该征信数据集的关键词集δ(D);其中,将征信用户ui的征信数据记为Di,将征信用户ui的关键词记为wi,1≤i≤n;
步骤2.4:对于关键词wi∈δ(Di),生成对应的字典序列表D(wi);
步骤2.5:通过加密算法(Enc(K,Di)→(I,cw),本实施例中,即Enc(K4,i,Di))算法生成密文和索引I;本实施例中,Enc算法采用AES对称加密算法。
步骤2.6:征信机构CI将密文和索引I上传到云服务提供商CSP,并将密文/>的密文摘要/>和采用可搜索对称加密算法加密密钥K4,i所得到的密文K′i上传到区块链上。
作为一种可实施方式,索引I由数组A和查询表T组成。
数组A的创建过程包括:创建征信用户ui的链表Li,所述链表Li由若干个节点Ni,j组成,对每个所述节点Ni,j进行加密,将所有节点Ni,j按照随机顺序存储在数组A中;其中,对每个所述节点Ni,j进行加密,具体包括:当1≤j≤|D(wi)|-1时,对应的密文为/>当j=|D(wi)|时,Ni,j=<id(Di,j)||0k||NULL>,对应的密文为/>其中,id(Di,j)表示D(wi)的第j个标识符,D(wi)表示征信用户ui的关键词wi所对应的字典序列表,/>表示用于加密节点Ni,j的密钥,ctr表示全局计数器,/>表示伪随机置换,/>表示当输入为ctr+1和密钥K1,i时所输出的伪随机置换数;
查询表T的创建过程包括:将关键词wi∈δ(D)生成二元组形式的查询表其中,/>π表示伪随机置换,/>表示当输入为关键词wi和密钥K3,i时所生成的伪随机置换数;f表示伪随机函数,表示当输入为关键词wi和密钥K2,i时所生成的伪随机数。可以理解为:value保存数组A的位置addrA(Ni,1)和Li中节点的解密密钥Ki,1,address保存T的地址/>
步骤3注册
征信用户需要提前向征信机构CI进行注册。通常情况下,注册过程中,需要出示有效的凭证或身份证明。一旦征信用户ui通过身份认证,接下来他作为一个合法的用户,在调度或解密阶段不会重复提交自己具体的身份信息,并保持匿名。注册之后,征信用户ui向金融机构发送委托服务请求并发送相关的关键词wi。
步骤4零知识密钥生成
当征信用户向征信机构CI完成注册后,CI需要预先设计和开发符合零知识身份认证的特定领域语言(Domain Specific Language,DSL)程序来生成电路C1和电路C2。其中电路C1由计算电路组成,而电路C2由计算电路和Sha256电路组成。
在电路C1中,将征信用户ui的身份信息集<id1,...,idn>、其身份信息签名集<sign(id1),...,sign(idn)>和时间戳输入到计算电路中进行计算,然后输出计算值c。该计算值是用来验证征信用户输入的身份信息集、对应身份信息签名集和时间戳的真实性和可用性。电路C1的结构如图2所示。
在电路C2中,将征信用户ui的身份信息集<id1,...,idn>和其身份信息签名集<sign(id1),...,sign(idn)>输入到计算电路,再将从计算电路得到的结果与时间戳共同输入到Sha256电路中,最终输出哈希值h。该哈希值是用来验证征信用户输入身份信息集、对应身份信息签名集和时间戳的真实性和可用性。电路C2的结构如图3所示。
将获取的安全参数λ和电路C1或电路C2作为输入,使用零知识证明的密钥生成算法输出证明密钥EKi和验证密钥VKi。征信机构CI将EKi发送给征信用户ui,然后创建验证合约,并将VKi发送给验证合约。此验证合约在以太坊网络上是公开的,用来认证征信用户ui的身份是否合法。
作为一种可实施方式,电路C1和电路C2中的计算电路的内部结构如图4所示。图4中,X1,X2表示输入的征信用户的身份信息集的一部分的id和sign(id)或时间戳;“+”表示加法运算;“×”表示乘法运算。
步骤5生成零知识证明
生成零知识证明所需要用到的输入包含两种类型,即公共输入和私有输入。将征信用户ui个人的身份信息idi和身份信息签名sign(idi)称为私有输入,同时将时间戳Timestamp称为公共输入,以防潜在的重放攻击和中间人攻击。
征信用户ui必须输入正确的idi、sign(idi)、Timestamp和EKi,才会生成正确的计算值c和哈希值h,然后采用zkSNARKs的密钥生成算法(Prove(EKi,idi,sign(idi),Timestamp))生成可信的零知识证明π。该过程在链外执行,不会写入区块链中。
步骤6身份认证
征信用户ui将零知识证明π提交到以太坊网络上的验证合约进行匿名的身份认证,智能合约在不需要第三方参与的情况下,采用零知识证明的验证算法(Authenticate(VKi,π)→(true/false))验证零知识证明π和验证密钥VKi。如果征信用户身份认证正确,智能合约向征信用户ui和金融机构发送征信用户ui的密钥密文Ki',并认定征信用户ui的身份是合法的,否则会记录该征信用户ui是非法的,不能进行下一步的操作。智能合约执行全部身份认证的记录存储在区块链上,但该过程仅仅会透露征信用户ui的地址信息,不会泄露任何关于征信用户ui的身份信息。
步骤7获取陷门
征信用户使用自己私钥SKi解密得到K4,i,然后通过安全通道向金融机构发送Ki'和K4,i。征信用户ui发送的Ki'具有时效性,确保他是刚才通过身份认证的征信用户。金融机构验证成功,并根据密钥K4,i和对应的关键词wi生成陷门ti。最后,金融机构向云服务提供商提交ti和征信信息查询费。
步骤8获取密文
支付完查询费用之后,云服务提供商收到金融机构GI发送的陷门ti,并通过密文检索算法检索对应的密文/>最后将密文/>返还给金融机构GI。
需要说明的是,为验证云服务提供商CSP没有篡改征信密文数据和密文数据在传输过程中的完整性和可用性,需要对密文进行哈希处理得到/>将/>得到的结果与区块链中密文摘要/>进行比较,当/>时,则证明云服务提供商CSP没有篡改密文数据,云服务提供商返回的密文征信数据是完整的和可用的。
步骤9解密密文
金融机构通过密钥K4,i采用解密算法解密得到征信数据Di,并通过安全通道将其发送给征信用户。此外,金融机构根据征信用户ui的征信报告给该用户提供相关的信贷服务。
为了进一步阐述本发明方案的优势,下述内容将从两个方面对本发明方案进行性能分析。
第一方面:由于本发明方案所设定的云服务提供商是恶意不诚实的,它们会分析推测,甚至篡改征信用户的数据。区块链中的恶意节点会窃取和冒充其他用户。针对以上情况,分析本发明方案是否符合基于区块链征信系统的安全和隐私保护要求。
第二方面:将本发明方案与现有方案1(Zhang J,Tan R,Su C,et al.Design andapplication of a personal credit information sharing platform based onconsortium blockchain[J].Journal of Information Security and Applications,2020,55:102659)和现有方案2(Zhu X.Blockchain-based identity authentication andintelligent Credit reporting[C]//Journal of Physics:Conference Series.IOPPublishing,2020,1437(1):012086)的系统特性进行比较,并对本发明方案的身份认证阶段进行效率分析:首先分析在16个输入、32个输入和48个输入的编译时间、密钥生成时间、生成证明时间、认证时间和约束数量,然后分析它们的证明密钥、验证密钥和证明所占空间的大小。
将本发明方案与现有方案3:(Wan Z,Guan Z,Zhou Y,et al.zk-AuthFeed:How toFeed Authenticated Data into Smart Contract with Zero Knowledge[C]//2019IEEEInternational Conference on Blockchain(Blockchain).IEEE,2019.)进行对比。
将本发明方案与现有方案4:(Li,H.,Tian,H.,Zhang,F.,&He,J.(2019).Blockchain-based searchable symmetric encryption scheme.Comput.Electr.Eng.,73,32-45.)进行对比,对本发明方案的可搜索加密阶段进行效率分析。
(一)安全性分析
(1)本发明方案可以实现征信数据的机密性。理由如下:
征信数据都是经过可搜索对称加密的,只有身份认证成功的征信用户ui可以获取密钥K4,i,其他用户无法获取密钥,即使拥有关键词wi和陷门生成算法,也无法生成陷门ti。而且ti是经过加密处理过的,在没有密钥的情况下,恶意的云服务提供商不能通过索引解密或推断出征信密文。
(2)本发明方案可以实现征信数据的可用性。理由如下:
在本发明方案中,只有认证成功的实体可以获取到征信信息。具体来说,征信用户ui可以根据自己的身份信息等生成完全可信的零知识证明π,并将其提交给区块链的验证合约。如果验证合约验证ui的身份是合法的,那么ui可以获取密钥。最后,ui委托金融机构向云服务提供商发送陷门来获取和解密密文因此,本发明方案保证征信数据的可用性。
(3)本发明方案可以实现征信数据的防篡改性和可追溯性。理由如下:
区块链的Merkle树确保征信密文的不可篡改性,当恶意的云服务提供商CSP要篡改征信密文,那么该密文不能与存储在区块链中的密文摘要一一对应。征信数据一旦被区块链所记录,这些信息是可以被查询和追溯。
(4)本发明方案可以实现密文可检索性。理由如下:
在本发明方案中,金融机构需要得到通过身份认证的征信用户的授权,然后获取相关密钥并生成相关的陷门。云服务提供商中通过检索到征信密文。
(5)本发明方案可以实现征信用户和云服务提供商之间的公平性。理由如下:
在传统的可搜索加密方案中,人们假设云服务器会诚实地执行检索任务并返回相应的结果。但是云服务器可能是恶意的,它在收到用户递交的检索任务后没有返回检索结果或返回错误的检索结果,导致用户不能得到相应的服务。
在本发明方案中,征信用户只有交付征信费用成功才能从云服务提供商CSP获取密文。CSP在执行检索任务向金融机构返回检索结果,若返回结果不正确或返回相应的结果为空,那么某个CSP恶意返回错误结果或空白的行为会记录在区块链上。因此,CSP会返回正确的检索结果。
(6)本发明方案可以实现身份匿名性和可认证性。理由如下:
征信用户ui通过零知识证明技术进行匿名的身份认证,而且其他无关节点只知道该用户的身份是合法的。本发明方案将时间戳Timestamp和idi签名作为输入可防止潜在的重放攻击。
(二)效率分析
本发明方案与现有方案的性能对比结果,如表1所示。与现有方案1相比,本发明方案可以实现密文可检索性、公平性、身份匿名性和可认证性以及密文可检索性。与现有方案2相比,本发明方案能够实现密文可检索性、公平性和身份匿名性。
表1系统特性对比
本实验使用Intel Core i7-8750H CPU@2.2GHz 16GB内存的计算机进行效率分析。Zokrates是一个将zkSNARKs应用到区块链的一体化工具。本实验使用Zokrates和以太坊测试网络Rinkeby上的智能合约进行身份认证实验。
本实验对电路C1上的8个输入和16个输入,以及电路C2上的16个输入进行了效率分析。其中,主要分析了零知识证明阶段中约束的数量,以及编译、密钥生成、生成证明和认证所消耗的时间,如表2所示。此外,还对证明密钥、验证密钥以及证明的大小进行了分析,如表3所示。对每个操作重复50次,取平均数。
由表2可知,验证所消耗的时间为0.006秒。即使约束数不断增加,验证所消耗的时间也不会增加,这大大提高方案的可扩展性。而其他阶段所消耗的时间随约束数量的增加而增加。而且约束数量与zkSNARKs生成的电路相关,电路C2比电路C1更复杂,约束数量越多,身份认证的安全性越高。此外,将身份信息idi以及其签名作为私有输入,再将时间戳Timestamp作为公有输入,防止潜在的重放攻击。
由表3可知,证明密钥大小、验证密钥大小和证明大小会随着输入的数量增加。具体来说,验证密钥最大是4.0KB,验证密钥最大是6.4MB,而证明所占用的空间最大不超过1.9KB,这些都是可以接受的范围。
本发明方案与现有方案3进行比较,如表4所示。由于两种证明方案都是基于Sha256电路的,我们考虑电路C2。本方案生成验证密钥所占用的空间与方案3几乎相等,而生成证明所消耗的时间与方案3差距不大。尽管,本发明方案在密钥生成阶段所消耗的时间大约是方案3的两倍,但在验证阶段方案3所消耗的时间是本发明方案的6倍。而且方案3所产生密钥大小是本方案的8倍。
表2三种输入的编译、零知识密钥生成、证明和认证的所消耗的时间和约束
表3三种输入的证明密钥、验证密钥和证明大小
表4本发明方案和现有方案3的对比
本实验还使用python3.8实现了可搜索对称加密过程,与基于区块链的可搜索对称的现有方案4进行了对比。对每个操作重复50次,取平均时间。表5显示了两种方案生成索引的时间,关键词的范围从10000个到50000个。随着关键词个数的增加,两种方案所生成索引的时间也不断增加。且本发明方案的时间普遍是方案4的30%。
对生成陷门和返回搜索结果过程进行效率分析,关键词的范围从10000个到50000个。如表6所示,本发明方案所消耗的时间基本在1毫秒左右,生成索引时间减少约66.7%。因为现有方案4需要通过智能合约生成搜索事务,所以本发明方案生成陷门和返回搜索结果所消耗的时间减少约98.7%。
表5生成索引的时间
表6生成陷门和返回搜索结果的时间
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.基于区块链的征信系统隐私保护方法,其特征在于,包括征信用户、金融机构、征信机构、区块链和云服务提供商5个实体,所述方法包括:
征信机构根据自身选取的安全参数k,使用概率密钥生成算法生成密钥K;并根据所述密钥K使用加密算法对自身拥有的明文征信数据集进行加密生成密文征信数据集和索引;将所述密文征信数据集和所述索引上传至云服务提供商,将所述密文征信数据集的哈希密文摘要和所述密钥K的密文上传到区块链;
征信用户向征信机构进行注册,注册成功后向金融机构发送委托服务请求和与所述委托服务请求相关的关键词;
征信机构通过征信用户的注册之后,预先生成对应的符合零知识身份认证的电路;根据获取的安全参数λ和所述电路,使用零知识证明的密钥生成算法生成证明密钥和验证密钥;将证明密钥发送至征信用户,并创建验证合约,然后将验证密钥发送至所述验证合约;所述验证合约是指公开在以太坊网络上用于认证征信用户的身份是否合法的合约;
征信用户根据证明密钥、身份信息、身份信息签名和时间戳,使用零知识证明的证明算法生成零知识证明,并将所述零知识证明提交到所述验证合约进行匿名身份认证;
若征信用户的身份认证正确,验证合约向征信用户和金融机构发送所述密钥K的密文;
征信用户接收到所述密钥K的密文后,使用自身的私钥对所述密钥K的密文进行解密得到所述密钥K,然后通过安全通道向金融机构发送所述密钥K的密文和解密得到的所述密钥K;
金融机构比较验证合约发送的所述密钥K的密文和征信用户发送的所述密钥K的密文,若一致,则根据征信用户发送的所述密钥K和对应的关键词生成陷门;将所述陷门和征信信息查询费用提交至所述云服务提供商;
云服务提供商在检测到支付操作完成后,根据收到的所述陷门,使用密文检索算法按照所述索引检索到对应的密文征信数据,将所述密文征信数据返回至金融机构;
金融机构使用所述密钥K对所述密文征信数据进行解密得到明文征信数据,通过安全通道将所述明文征信数据发送至征信用户。
2.根据权利要求1所述的基于区块链的征信系统隐私保护方法,其特征在于,对明文征信数据集进行加密的加密算法为AES对称加密算法。
3.根据权利要求1所述的基于区块链的征信系统隐私保护方法,其特征在于,所述索引由数组A和查询表T组成;所述密钥K包括4个子密钥,即K=(K1,i,K2,i,K3,i,K4,i);其中:
数组A的创建过程包括:创建征信用户ui的链表Li,所述链表Li由若干个节点Ni,j组成,对每个所述节点Ni,j进行加密,将所有节点Ni,j按照随机顺序存储在数组A中;其中,对每个所述节点Ni,j进行加密,具体包括:当1≤j≤|D(wi)|-1时,对应的密文为/>当j=|D(wi)|时,Ni,j=<id(Di,j)||0k||NULL>,对应的密文为/>其中,id(Di,j)表示D(wi)的第j个标识符,D(wi)表示征信用户ui的关键词wi所对应的字典序列表,/>表示用于加密节点Ni,j的密钥,ctr表示全局计数器,/>表示伪随机置换,/>表示当输入为ctr+1和密钥K1,i时所输出的伪随机置换数;
查询表T的创建过程包括:将关键词wi∈δ(D)生成二元组形式的查询表其中,/>π表示伪随机置换,/>表示当输入为关键词wi和密钥K3,i时所生成的伪随机置换数;f表示伪随机函数,表示当输入为关键词wi和密钥K2,i时所生成的伪随机数。
4.根据权利要求1所述的基于区块链的征信系统隐私保护方法,其特征在于,还包括:检测云服务提供商返回的密文征信数据的完整性和可用性,具体包括:
对所述密文征信数据进行哈希处理得到所述密文征信数据的哈希摘要,将所述密文征信数据的哈希摘要和区块链上的密文征信数据的哈希密钥进行比较,若一致,则表示云服务提供商返回的密文征信数据是完整的和可用的。
5.根据权利要求1所述的基于区块链的征信系统隐私保护方法,其特征在于,所述符合零知识身份认证的电路由电路C1和电路C2组成;所述电路C1由计算电路组成,所述电路C2由计算电路和Sha256电路组成;
将征信用户身份信息集、其身份信息签名集和时间戳输入到电路C1中的计算电路中进行计算,然后输出计算值c;
将征信用户的身份信息集和对应的身份信息签名集输入至电路C2中的计算电路中,然后将所述计算电路的输出和时间戳输入至所述Sha256电路,采用所述Sha256电路输出的哈希值h来验证征信用户的身份信息集、对应的身份信息签名集和时间戳的真实性和可用性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111270399.1A CN114021164B (zh) | 2021-10-29 | 2021-10-29 | 基于区块链的征信系统隐私保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111270399.1A CN114021164B (zh) | 2021-10-29 | 2021-10-29 | 基于区块链的征信系统隐私保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114021164A CN114021164A (zh) | 2022-02-08 |
CN114021164B true CN114021164B (zh) | 2024-02-13 |
Family
ID=80058644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111270399.1A Active CN114021164B (zh) | 2021-10-29 | 2021-10-29 | 基于区块链的征信系统隐私保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114021164B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114938280A (zh) * | 2022-05-24 | 2022-08-23 | 中国科学技术大学 | 一种基于非交互零知识证明与智能合约的认证方法及系统 |
CN115941201A (zh) * | 2022-11-15 | 2023-04-07 | 上海钛动网络科技有限公司 | 基于零知识证明算法的区块链隐私保护系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112861172A (zh) * | 2021-01-26 | 2021-05-28 | 石家庄铁道大学 | 基于pbft共识机制的对称可搜索加密方法 |
CN113139204A (zh) * | 2021-01-27 | 2021-07-20 | 东南数字经济发展研究院 | 一种利用零知识证明和洗牌算法的医疗数据隐私保护方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018049523A1 (en) * | 2016-09-14 | 2018-03-22 | Royal Bank Of Canada | Credit score platform |
US11683189B2 (en) * | 2020-03-19 | 2023-06-20 | Jinan University | Method and system for maintaining privacy and traceability of blockchain-based system |
-
2021
- 2021-10-29 CN CN202111270399.1A patent/CN114021164B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112861172A (zh) * | 2021-01-26 | 2021-05-28 | 石家庄铁道大学 | 基于pbft共识机制的对称可搜索加密方法 |
CN113139204A (zh) * | 2021-01-27 | 2021-07-20 | 东南数字经济发展研究院 | 一种利用零知识证明和洗牌算法的医疗数据隐私保护方法 |
Non-Patent Citations (1)
Title |
---|
陈丽燕 ; 芮廷先 ; 吕光金 ; .基于区块链智能合约的个人征信隐私保护方案.计算机工程.2020,(第07期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN114021164A (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Miao et al. | Multi-authority attribute-based keyword search over encrypted cloud data | |
Zhu et al. | TBAC: Transaction-based access control on blockchain for resource sharing with cryptographically decentralized authorization | |
Li et al. | A searchable symmetric encryption scheme using blockchain | |
Cui et al. | SVkNN: Efficient secure and verifiable k-nearest neighbor query on the cloud platform | |
US8171306B2 (en) | Universal secure token for obfuscation and tamper resistance | |
CN110392038B (zh) | 一种多用户场景下可验证的多密钥可搜索加密方法 | |
CN114021164B (zh) | 基于区块链的征信系统隐私保护方法 | |
Miao et al. | VKSE-MO: Verifiable keyword search over encrypted data in multi-owner settings | |
Selvamani et al. | A review on cloud data security and its mitigation techniques | |
Miao et al. | Threshold multi-keyword search for cloud-based group data sharing | |
Tong et al. | Verifiable fuzzy multi-keyword search over encrypted data with adaptive security | |
Ali et al. | Authorized attribute-based encryption multi-keywords search with policy updating | |
Chen et al. | Bpvse: Publicly verifiable searchable encryption for cloud-assisted electronic health records | |
Gajmal et al. | Blockchain-based access control and data sharing mechanism in cloud decentralized storage system | |
Nie et al. | Time-enabled and verifiable secure search for blockchain-empowered electronic health record sharing in IoT | |
Poorvadevi et al. | Enhancing distributed data integrity verification scheme in cloud environment using machine learning approach | |
Cui et al. | Towards Multi-User, Secure, and Verifiable $ k $ NN Query in Cloud Database | |
CN113868450B (zh) | 一种基于区块链的遥感影像安全检索方法 | |
Ahmad et al. | Study of Cryptographic Techniques Adopted in Blockchain | |
Joseph et al. | Design a hybrid optimization and homomorphic encryption for securing data in a cloud environment | |
Li et al. | Protecting access privacy for Bitcoin lightweight client using trusted hardware | |
Chen et al. | Privacy-Preserving Anomaly Detection of Encrypted Smart Contract for Blockchain-Based Data Trading | |
Neela et al. | A Hybrid Cryptography Technique with Blockchain for Data Integrity and Confidentiality in Cloud Computing | |
Zhang et al. | Attribute Based Conjunctive Keywords Search with Verifiability and Fair Payment Using Blockchain | |
Song et al. | Enabling Transparent Deduplication and Auditing for Encrypted Data in Cloud |
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 |