CN117692227A - 一种基于区块链的隐私数据安全共享方法 - Google Patents
一种基于区块链的隐私数据安全共享方法 Download PDFInfo
- Publication number
- CN117692227A CN117692227A CN202311742386.9A CN202311742386A CN117692227A CN 117692227 A CN117692227 A CN 117692227A CN 202311742386 A CN202311742386 A CN 202311742386A CN 117692227 A CN117692227 A CN 117692227A
- Authority
- CN
- China
- Prior art keywords
- user
- data
- ciphertext
- blockchain
- cloud server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012795 verification Methods 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 6
- 238000013475 authorization Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000013500 data storage Methods 0.000 abstract description 6
- 238000013459 approach Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
- H04L63/0421—Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
-
- 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/604—Tools and structures for managing or administering access control systems
-
- 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
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/045—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0464—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/18—Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3252—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/72—Signcrypting, i.e. digital signing and encrypting simultaneously
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/76—Proxy, i.e. using intermediary entity to perform cryptographic operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/062—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/121—Timestamp
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于区块链的隐私数据安全共享方法。首先,为了保护数据所有者的真实身份信息,我们基于Groth签名构建了一种匿名凭证,可以在不泄露用户真实身份的同时又能证明用户的合法性;其次,为了实现安全和隐私保护访问控制,本发明使用E l Gama l承诺和一对多证明来证明授权访问者处于访问控制列表中,但不会向任何未经授权的实体透露他们的身份;基于代理重加密思想,对数据拥有者的对称加密密钥进行转化,使得数据访问者可以使用各自的私钥解密,而无需知道数据拥有者的加密密钥,降低密钥泄露的风险。最后,使用区块链平台记录数据存储、访问控制列表和存储地址,消除对可信第三方的依赖,保证数据共享的安全性和完整性。
Description
技术领域
本发明涉及隐私数据共享技术领域,更具体地说,它涉及一种基于区块链的隐私数据安全共享方法。
背景技术
随着金融业务的日益复杂和技术的迅速发展,我们面临着海量客户数据的处理和保护挑战。这些数据不仅具有巨大的商业价值,而且在大数据时代,国家和个人对隐私的保护日益重视,相关的数据法规也在不断完善,强调个人数据与隐私保护的安全共享成为当下的重要任务。
传统的数据共享方法通常涉及用户将加密数据存储到远程云端。在这种方法中,如果另一个用户想要访问这些数据,他们需要从云端下载密文并从数据所有者那里获取相应的密钥进行解密。然而,在这种传统方法中存在诸多安全和隐私隐患。首先,可能未考虑数据所有者和数据访问者的身份隐私;其次,未经授权的用户可能会获得密文并尝试解密,从而引发未授权的数据访问问题。此外,数据在传输和存储过程中也可能受到篡改的威胁,数据的完整性难以得到有效保障。这种方案依赖于一个完全可信的云框架,但在实际应用中往往显得力不从心,难以应对日益复杂的安全挑战。
由于不可伪造、去中心化和可审计性等特征,区块链平台为安全和隐私保护数据共享提供了很好的选择。所有数据存储和访问更新请求都记录在区块链上,而不依赖于可信的第三方。因此,为了解决上述问题,本发明提出了一种基于区块链的隐私数据安全共享方法。首先考虑使用匿名凭证,实现匿名认证,保护数据所有者的身份隐私;其次,使用承诺向量作为访问控制列表和一对多证明,不仅对数据访问者进行了权限验证,确保只有已授权的用户才能下载密文,还保证了数据访问者的身份隐私;此外,将数据存储记录、访问控制列表和存储地址保存到区块链中,消除对可信第三方的依赖,保证数据共享的安全性和完整性。
发明内容
本发明的目的是提供一种基于区块链的隐私数据安全共享方法。更具体地说,利用区块链保存数据存储记录、访问控制列表和存储地址,防止云服务器或者用户作恶,保护数据的完整性;基于Groth签名生成匿名凭证,实现匿名认证,保护数据拥有者的身份隐私;使用ElGamal承诺和一对多证明进行访问控制,实现隐私数据的安全共享。
为实现上述目的,本发明提供了如下技术方案:
一种基于区块链的隐私数据安全共享方法,包括以下步骤:
S1、可信中心TA初始化数据共享系统,并公布数据共享系统公共参数params,过程如下:
S11、选取两个阶都为q的乘法循环群G1和G2,生成一个双线性映射e:G1×G2→GT,表示将两个来自乘法循环群G1和G2的群元素通过双线性配对运算映射到一个来自群GT的群元素;选取g1,h1,h2,h3作为群G1的生成元,g2作为群G2的生成元;
S12、选取一些密码学中安全的哈希函数:H1:{0,1}*→Zq,H2:G1→Zq,H3:{0,1}*→{0,1}l,其中H1表示将由0或1组成的任意长度字符串映射为整数群Zq中的元素,H2表示将群G1中的元素映射为整数群Zq中的元素,H3表示将由0或1组成的任意长度字符串映射为固定长度为l的字符串;
S13、选择一个随机数作为可信中心TA的主密钥,计算对应的公钥pk=g2 x;
S14、可信中心TA发布公共参数如下:params:(G1,G2,GT,g1,h1,h2,h3,g2,e,H1,H2,H3,pk);
S2、用户Ui向可信中心TA注册,得到公私钥对(pki,ski)以及与公钥绑定的匿名凭证Credi;
S21、用户Ui随机选择作为自己的私钥ski,并计算公钥pki=g1 y;然后将公钥pki和真实身份IDi=(xi1,xi2)通过安全通道发给TA;
S22、TA检查公钥pki是否已经被注册过,如果没有被注册,则进一步检查用户Ui的真实身份IDi=(xi1,xi2),其中xi1,xi2都是Ui的属性值;如果合法,则按照如下过程为用户Ui生成Gorth签名σi=(r,s,t1,t2,t3):选择一个随机数计算第一参数r=g2 1/z,第二参数s=(h1g1 x)z,第三参数t1=(h1 xpki)z,第四参数第五参数然后将Gorth签名σi=(r,s,t1,t2,t3)发给用户Ui;
S23、用户Ui收到Gorth签名后,对其进行验证,若等式
全部都成立,则验证通过,将Credi=(pki,IDi,σi)保存为匿名凭证;否则,算法终止;
S24、最后,用户Ui使用匿名凭证Credi注册一个区块链账户;
S3、数据拥有者Ui将密文上传到云服务器CS中,然后生成一条交易记录,并写入区块链中;
S4、数据拥有者Ui向数据访问者Uj进行授权,并将访问控制列表写入区块链中;
S5、数据访问者Uj向云服务器CS请求下载密文。
进一步的,所述步骤S3过程如下:
S31、用户Ui使用对称密钥ki和对称加密算法(例如AES)对自己的数据Data加密,得到密文C1;随机选取计算 并将Data的密文C1和对称密钥ki的密文C=(C2,C3,C4)上传到云服务器CS;
S32、用户Ui计算密文的哈希值chi=H1(C1||C),以便之后数据访问者验证从云服务器CS上下载的密文的正确性,其中符号“||”表示将由0或1组成的字符串拼接起来;生成一个交易Transi=(pki,Timestamp,chi,Action=store data in Addrc),其中Timestamp表示当前时间戳,Addrc是密文在云服务器上的存储地址,然后用自己的私钥ski对这条交易Transi进行签名(例如ECDSA签名)得到δi,将交易Transi、签名δi和匿名凭证Credi'=(pki,σi)发给区块链节点;
S33、区块链节点通过用户Ui的公钥pki验证签名δi和σi,若验证成功,则将这个交易Transi写入区块链中。
进一步的,所述步骤S4过程如下:
S41、假设用户Uj向用户Ui请求访问数据的权限,那么Uj随机选择作为临时私钥,计算临时公钥采用公钥加密算法(例如RSA)用Ui的公钥pki对自己的匿名凭证Credj=(pkj,IDj,σj)和临时公钥ηj加密,并将密文发给用户Ui;
S42、用户Ui用私钥ski解密可得到用户Uj的匿名凭证Credj=(pkj,IDj,σj)和临时公钥ηj,然后对该匿名凭证进行验证,检查等式
是否全部成立;若全部成立且允许用户Uj访问自己的数据,则可对用户Uj授权;
S43、用户Ui随机选择计算承诺
S44、当有一定数量的用户向Ui请求数据时,Ui将这些承诺Comj组合成ElGamal承诺向量可被视为一个访问权限列表,然后生成一个交易 其中Timestamp是当前时间戳,AddrC是密文在云服务器CS上的存储地址;并对交易Ti进行签名(例如ECDSA签名),将交易Ti和签名发给区块链;
S45、区块链节点校验签名,若验证通过,则将交易Ti写入区块链中。
进一步的,所述步骤S5过程如下:
S51、当用户Uj想访问用户Ui的数据时,用户Uj将ηj发给云服务器CS,并请求下载密文;
S52、云服务器CS读取区块链上的交易Ti中的对于中的每一个Comj=(cj1,cj2),j∈[n],分别计算Com′j=(c′j1,c′j2)=(cj1/ηj,cj2),然后将新的承诺向量和ηj发给用户Ui;
S53、用户Ui检查是否存在i∈[n],满足若存在,则说明用户Uj拥有访问权限;用户Ui生成一个代理重加密密钥 并将rki→j发给云服务器CS,通知云服务器CS允许用户Uj访问数据;否则拒绝用户Uj的请求;
S54、云服务器CS更新密文然后将所有密文(C1,C'=(C2,C'3,C4))发给用户Uj;
S55、用户Uj收到密文后,先验证密文的正确性,从区块链中读取chi,若chi=H1(C1||C')成立,则计算 即可得到对称密钥ki,然后用ki对密文C1解密即可得到原始数据Data。
与现有技术相比,本发明具备以下有益效果:
1、基于区块链设计了一种隐私数据安全共享的方法。在本发明中,可信中心基于Groth签名为每个合法用户生成一个匿名凭证,当数据拥有者需要存储数据时,可通过匿名凭证和区块链完成匿名认证,从而保护数据拥有者的身份隐私;
2、使用ElGamal承诺和一对多证明进行访问控制。把承诺向量作为访问控制列表,只有处在访问控制列表中的用户才可以下载密文;数据拥有者可验证数据访问者是否在访问控制列表中,但无法知道数据访问者的身份;此外,基于代理重加密思想,对数据拥有者的对称加密密钥进行转化,使得数据访问者可以使用各自的私钥解密,而无需知道数据拥有者的加密密钥,进一步提高数据共享的安全性;
3、将数据存储记录、访问控制列表和存储地址写入区块链中,可阻止云服务器或用户的任意恶意尝试,保证了数据的完整性和可控性。
附图说明
图1为本发明的流程框图;
图2为本发明的应用系统设计图。
具体实施方式
如图1所示,本发明提出的一种基于区块链的隐私数据安全共享方法,其特征在于,解决数据共享和隐私保护问题;主要涉及三类实体:可信中心、云服务器、用户、每个实体执行以下操作:
可信中心(TA):是完全可信的,负责系统初始化和为机构颁发匿名凭证;
云服务器(CS):是诚实且好奇的,负责存储机构的密文以及协助机构计算一些参数;
用户(Ui):是诚实且好奇的,需要先向TA注册得到匿名凭证;既可以是数据所有者,也可以是数据访问者;也就是说既可以将自己的数据上传到云服务器CS上,也可以授权其他机构访问自己的数据。
下面结合图2对本实施例公开的一种基于区块链的隐私数据安全共享方法的具体过程进行详细说明。包括如下步骤:
S1、通过可信中心TA初始化数据共享系统,并公布数据共享系统公共参数params。
具体应用中,所述的通过可信中心TA初始化数据共享系统主要进行下面几个步骤:
(1)、选取两个阶都为q的乘法循环群G1和G2,生成一个双线性映射e:G1×G2→GT,表示将两个来自乘法循环群G1和G2的群元素通过双线性配对运算映射到一个来自群GT的群元素;选取g1,h1,h2,h3作为群G1的生成元,g2作为群G2的生成元;
(2)、选取一些密码学中安全的哈希函数:H1:{0,1}*→Zq,H2:G1→Zq,H3:{0,1}*→{0,1}l,其中H1表示将由0或1组成的任意长度字符串映射为整数群Zq中的元素,H2表示将群G1中的元素映射为整数群Zq中的元素,H3表示将由0或1组成的任意长度字符串映射为固定长度为l的字符串;
(3)、选择一个随机数作为可信中心TA的主密钥,计算对应的公钥pk=g2 x;
(4)、可信中心TA发布公共参数如下:params:(G1,G2,GT,g1,h1,h2,h3,g2,e,H1,H2,H3,pk)。
S2、用户Ui向可信中心TA注册,得到公私钥对(pki,ski)以及与公钥绑定的匿名凭证Credi;
具体应用中,用户注册包括以下步骤:
(1)、用户Ui随机选择作为自己的私钥ski,并计算公钥pki=g1 y;然后将公钥pki和真实身份IDi=(xi1,xi2)通过安全通道发给TA。
(2)、TA检查公钥pki是否已经被注册过,如果没有被注册,则进一步检查用户Ui的真实身份IDi=(xi1,xi2),其中xi1,xi2都是Ui的属性值;如果合法,则按照如下过程为用户Ui生成Gorth签名σi=(r,s,t1,t2,t3):选择一个随机数计算第一参数r=g2 1/z,第二参数s=(h1g1 x)z,第三参数t1=(h1 xpki)z,第四参数第五参数然后将Gorth签名σi=(r,s,t1,t2,t3)发给用户Ui;
(3)、用户Ui收到Gorth签名后,对其进行验证,若等式 全部都成立,则验证通过,将Credi=(pki,IDi,σi)保存为匿名凭证;否则,算法终止。
(4)、最后,用户Ui使用匿名凭证Credi注册一个区块链账户。
S3、数据拥有者Ui对自己的数据Data加密,并将密文上传到云服务器CS中,然后生成一条交易记录并写入区块链中;
具体应用中,数据拥有者Ui存储数据包括以下步骤:
(1)、用户Ui使用对称密钥ki和对称加密算法(例如AES)对自己的数据Data加密,得到密文C1;随机选取计算 并将Data的密文C1和对称密钥ki的密文C=(C2,C3,C4)上传到云服务器CS;
(2)、用户Ui计算密文的哈希值chi=H1(C1||C),以便之后数据访问者验证从云服务器CS上下载的密文的正确性,其中符号“||”表示将由0或1组成的字符串拼接起来;生成一个交易Transi=(pki,Timestamp,chi,Action=store data in Addrc),其中Timestamp表示当前时间戳,Addrc是密文在云服务器上的存储地址。然后用自己的私钥ski对这条交易Transi进行签名(例如ECDSA签名)得到δi,将交易Transi、签名δi和匿名凭证Credi'=(pki,σi)发给区块链节点;
(3)、区块链节点通过用户Ui的公钥pki验证签名δi和σi,若验证成功,则将这个交易Transi写入区块链中。
S4、数据拥有者Ui向数据访问者Uj进行授权,并将权限访问列表写入区块链中;
具体应用中,数据拥有者Ui向数据访问者Uj授权的步骤如下:
(1)、假设用户Uj向用户Ui请求访问数据的权限,那么Uj随机选择作为临时私钥,计算临时公钥采用公钥加密算法(例如RSA)用Ui的公钥pki对自己的匿名凭证Credj=(pkj,IDj,σj)和临时公钥ηj加密,并将密文发给用户Ui;
(2)、用户Ui用私钥ski解密可得到用户Uj的匿名凭证Credj=(pkj,IDj,σj)和临时公钥ηj,然后对该匿名凭证进行验证,检查等式 是否全部成立;若全部成立且允许用户Uj访问自己的数据,则可对用户Uj授权;
(3)、用户Ui随机选择计算承诺
(4)、当有一定数量的用户向Ui请求数据时,Ui将这些承诺Comj组合成ElGamal承诺向量可被视为一个访问权限列表。然后生成一个交易 其中Timestamp是当前时间戳,AddrC是密文在云服务器CS上的存储地址;并对交易Ti进行签名(例如ECDSA签名),将交易Ti和签名发给区块链;
(5)、区块链节点校验签名,若验证通过,则将交易Ti写入区块链中。
S5、数据访问者Uj向云服务器CS请求下载密文,云服务器CS读取区块链中的信息,验证Uj的权限,若有权限,则可以从云服务器上下载密文解密。
具体应用中,数据访问者下载密文的步骤如下:
(1)、当用户Uj想访问用户Ui的数据时,用户Uj将ηj发给云服务器CS,并请求下载密文;
(2)、云服务器CS读取区块链上的交易Ti中的对于中的每一个Comj=(cj1,cj2),j∈[n],分别计算Com′j=(c′j1,c′j2)=(cj1/ηj,cj2),然后将新的承诺向量和ηj发给用户Ui;
(3)、用户Ui检查是否存在i∈[n],满足若存在,则说明用户Uj拥有访问权限;用户Ui生成一个代理重加密密钥 并将rki→j发给云服务器CS,通知云服务器CS允许用户Uj访问数据;否则拒绝用户Uj的请求。
(4)、云服务器CS更新密文然后将所有密文(C1,C'=(C2,C'3,C4))发给用户Uj;
(5)、用户Uj收到密文后,先验证密文的正确性。从区块链中读取chi,若chi=H1(C1||C')成立,则计算 即可得到对称密钥ki,然后用ki对密文C1解密即可得到原始数据Data。
综上所述,本发明为了解决数据共享与隐私保护问题,设计了一种基于区块链的隐私数据安全共享方法。在本发明中,用户先向可信中心TA注册拿到匿名凭证,该匿名凭证可以让用户不泄露真实身份的同时又能证明自己;当有需要存储的数据时,可以将密文存在云服务器上,同时将密文的哈希值、数据存储记录以及存储地址写入区块链中,防止数据被篡改;其次,利用ElGamal承诺和一对多证明进行访问控制,把承诺向量作为访问控制列表,并写入区块链中,通过一对多证明可以验证数据访问者是否在访问控制列表中,但不知道数据访问者的身份,从而保护数据访问者的身份隐私;如果验证成功,则为数据访问者转化密钥,使其可以使用自己的私钥解密,解密后可与区块链中的哈希值对比,判断下载的密文是否正确;如果验证失败,则无法下载密文,进一步提高数据共享的安全性。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本模板的保护范围。
以上对本发明的一个实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。
Claims (4)
1.一种基于区块链的隐私数据安全共享方法,其特征在于,包括以下步骤:
S1、可信中心TA初始化数据共享系统,并公布数据共享系统公共参数params,过程如下:
S11、选取两个阶都为q的乘法循环群G1和G2,生成一个双线性映射e:G1×G2→GT,表示将两个来自乘法循环群G1和G2的群元素通过双线性配对运算映射到一个来自群GT的群元素;选取g1,h1,h2,h3作为群G1的生成元,g2作为群G2的生成元;
S12、选取一些密码学中安全的哈希函数:H1:{0,1}*→Zq,H2:G1→Zq,H3:{0,1}*→{0,1}l,其中H1表示将由0或1组成的任意长度字符串映射为整数群Zq中的元素,H2表示将群G1中的元素映射为整数群Zq中的元素,H3表示将由0或1组成的任意长度字符串映射为固定长度为l的字符串;
S13、选择一个随机数作为可信中心TA的主密钥,计算对应的公钥pk=g2 x;
S14、可信中心TA发布公共参数如下:params:(G1,G2,GT,g1,h1,h2,h3,g2,e,H1,H2,H3,pk);
S2、用户Ui向可信中心TA注册,得到公私钥对(pki,ski)以及与公钥绑定的匿名凭证Credi;
S21、用户Ui随机选择作为自己的私钥ski,并计算公钥pki=g1 y;然后将公钥pki和真实身份IDi=(xi1,xi2)通过安全通道发给TA;
S22、TA检查公钥pki是否已经被注册过,如果没有被注册,则进一步检查用户Ui的真实身份IDi=(xi1,xi2),其中xi1,xi2都是Ui的属性值;如果合法,则按照如下过程为用户Ui生成Gorth签名σi=(r,s,t1,t2,t3):选择一个随机数计算第一参数r=g2 1/z,第二参数s=(h1g1 x)z,第三参数t1=(h1 xpki)z,第四参数第五参数然后将Gorth签名σi=(r,s,t1,t2,t3)发给用户Ui;
S23、用户Ui收到Gorth签名后,对其进行验证,若等式e(s,r)=e(h1,g2)e(g1,pk),e(t1,r)=e(h1,pk)e(pki,g2), 全部都成立,则验证通过,将Credi=(pki,IDi,σi)保存为匿名凭证;否则,算法终止;
S24、最后,用户Ui使用匿名凭证Credi注册一个区块链账户;
S3、数据拥有者Ui将密文上传到云服务器CS中,然后生成一条交易记录,并写入区块链中;
S4、数据拥有者Ui向数据访问者Uj进行授权,并将访问控制列表写入区块链中;
S5、数据访问者Uj向云服务器CS请求下载密文。
2.根据权利要求1所述的一种基于区块链的隐私数据安全共享方法,其特征在于,所述步骤S3过程如下:
S31、用户Ui使用对称密钥ki和对称加密算法(例如AES)对自己的数据Data加密,得到密文C1;随机选取计算C4=H3(ki||C2||C3),并将Data的密文C1和对称密钥ki的密文C=(C2,C3,C4)上传到云服务器CS;
S32、用户Ui计算密文的哈希值chi=H1(C1||C),以便之后数据访问者验证从云服务器CS上下载的密文的正确性,其中符号“||”表示将由0或1组成的字符串拼接起来;生成一个交易Transi=(pki,Timestamp,chi,Action=store datain Addrc),其中Timestamp表示当前时间戳,Addrc是密文在云服务器上的存储地址,然后用自己的私钥ski对这条交易Transi进行签名(例如ECDSA签名)得到δi,将交易Transi、签名δi和匿名凭证Credi′=(pki,σi)发给区块链节点;
S33、区块链节点通过用户Ui的公钥pki验证签名δi和σi,若验证成功,则将这个交易Transi写入区块链中。
3.根据权利要求1所述的一种基于区块链的隐私数据安全共享方法,其特征在于,所述步骤S4过程如下:
S41、假设用户Uj向用户Ui请求访问数据的权限,那么Uj随机选择作为临时私钥,计算临时公钥采用公钥加密算法(例如RSA)用Ui的公钥pki对自己的匿名凭证Credj=(pkj,IDj,σj)和临时公钥ηj加密,并将密文发给用户Ui;
S42、用户Ui用私钥ski解密可得到用户Uj的匿名凭证Credj=(pkj,IDj,σj)和临时公钥ηj,然后对该匿名凭证进行验证,检查等式e(s,r)=e(h1,g2)e(g1,pk),e(t1,r)=e(h1,pk)e(pkj,g2), 是否全部成立;若全部成立且允许用户Uj访问自己的数据,则可对用户Uj授权;
S43、用户Ui随机选择计算承诺Comj=(cj1,cj2)=(ηjpki θ,g1 θ);
S44、当有一定数量的用户向Ui请求数据时,Ui将这些承诺Comj组合成EIGamal承诺向量可被视为一个访问权限列表,然后生成一个交易 其中Timestamp是当前时间戳,AddrC是密文在云服务器CS上的存储地址;并对交易Ti进行签名(例如ECDSA签名),将交易Ti和签名发给区块链;
S45、区块链节点校验签名,若验证通过,则将交易Ti写入区块链中。
4.根据权利要求1所述的一种基于区块链的隐私数据安全共享方法,其特征在于,所述步骤S5过程如下:
S51、当用户Uj想访问用户Ui的数据时,用户Uj将ηj发给云服务器CS,并请求下载密文;
S52、云服务器CS读取区块链上的交易Ti中的对于中的每一个Comj=(cj1,cj2),j∈[n],分别计算Com′j=(c′j1,c′j2)=(cj1/ηj,cj2),然后将新的承诺向量和ηj发给用户Ui;
S53、用户Ui检查是否存在i∈[n],满足若存在,则说明用户Uj拥有访问权限;用户Ui生成一个代理重加密密钥 并将rki→j发给云服务器CS,通知云服务器CS允许用户Uj访问数据;否则拒绝用户Uj的请求;
S54、云服务器CS更新密文然后将所有密文(C1,C′=(C2,C′3,C4))发给用户Uj;
S55、用户Uj收到密文后,先验证密文的正确性,从区块链中读取chi,若chi=H1(C1||C′)成立,则计算 即可得到对称密钥ki,然后用ki对密文C1解密即可得到原始数据Data。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311742386.9A CN117692227A (zh) | 2023-12-18 | 2023-12-18 | 一种基于区块链的隐私数据安全共享方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311742386.9A CN117692227A (zh) | 2023-12-18 | 2023-12-18 | 一种基于区块链的隐私数据安全共享方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117692227A true CN117692227A (zh) | 2024-03-12 |
Family
ID=90133390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311742386.9A Pending CN117692227A (zh) | 2023-12-18 | 2023-12-18 | 一种基于区块链的隐私数据安全共享方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117692227A (zh) |
-
2023
- 2023-12-18 CN CN202311742386.9A patent/CN117692227A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10673632B2 (en) | Method for managing a trusted identity | |
CN108418680B (zh) | 一种基于安全多方计算技术的区块链密钥恢复方法、介质 | |
CN108292402B (zh) | 用于信息的安全交换的公共秘密的确定和层级确定性密钥 | |
JP4463979B2 (ja) | 暗号方式でカムフラージュされた暗号方式キーをストアし証明し使用する装置および方法 | |
CA2573101C (en) | System and method for implementing digital signature using one time private keys | |
CN109963282B (zh) | 在ip支持的无线传感网络中的隐私保护访问控制方法 | |
JP2000357156A (ja) | 認証シード配布のためのシステムおよび方法 | |
CN108551435B (zh) | 一种具有匿名性的可验证加密群签名方法 | |
CN114036539A (zh) | 基于区块链的安全可审计物联网数据共享系统及方法 | |
Hussein et al. | A survey of cryptography cloud storage techniques | |
WO2008020991A2 (en) | Notarized federated identity management | |
CN114389810B (zh) | 证明生成方法及装置、电子设备、存储介质 | |
CN118213031A (zh) | 一种医疗数据共享隐私保护系统、方法、设备及介质 | |
JPH10336172A (ja) | 電子認証用公開鍵の管理方法 | |
CN116318696A (zh) | 一种双方无初始信任情况下代理重加密数字资产授权方法 | |
CN112671729B (zh) | 面向车联网的匿名的抗密钥泄露的认证方法、系统及介质 | |
CN111585756B (zh) | 一种适用于多副本-多云情形下的无证书云审计方法 | |
Patel et al. | The study of digital signature authentication process | |
CN117692227A (zh) | 一种基于区块链的隐私数据安全共享方法 | |
Neela et al. | A Hybrid Cryptography Technique with Blockchain for Data Integrity and Confidentiality in Cloud Computing | |
Goodrich et al. | Notarized federated ID management and authentication | |
CN116471081B (zh) | 一种基于物联网技术的室内安防匿名认证方法 | |
CN114598479B (zh) | 一种基于零知识证明的人脸识别隐私保护身份认证方法 | |
CN114005190B (zh) | 用于课堂考勤系统的人脸识别方法 | |
Lee et al. | Blockchain-Based Self-Sovereign Identity System with Attribute-Based Issuance |
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 |