CN113225302B - 一种基于代理重加密的数据共享系统及方法 - Google Patents

一种基于代理重加密的数据共享系统及方法 Download PDF

Info

Publication number
CN113225302B
CN113225302B CN202110112175.1A CN202110112175A CN113225302B CN 113225302 B CN113225302 B CN 113225302B CN 202110112175 A CN202110112175 A CN 202110112175A CN 113225302 B CN113225302 B CN 113225302B
Authority
CN
China
Prior art keywords
data
ciphertext
terminal
key
requester
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
Application number
CN202110112175.1A
Other languages
English (en)
Other versions
CN113225302A (zh
Inventor
翁健
王志宏
李勇标
李明
黎定成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan University
Original Assignee
Jinan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jinan University filed Critical Jinan University
Priority to CN202110112175.1A priority Critical patent/CN113225302B/zh
Publication of CN113225302A publication Critical patent/CN113225302A/zh
Application granted granted Critical
Publication of CN113225302B publication Critical patent/CN113225302B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Power Engineering (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于代理重加密的数据共享系统和方法,上述系统包括数据拥有者终端、数据代理终端和数据请求者终端;数据请求者终端发起数据传输请求,数据拥有者终端生成代理密钥,然后将代理密钥发送至数据代理终端中,由代理终端将第一密文重新加密,生成可以由数据请求者的密钥进行解密的第二密文,然后传输至数据请求者终端,由数据请求者终端进行解密即可得到明文且本发明的加密算法均基于国密算法构建。通过实施本发明实施例,数据拥有者终端不需要将已上传的待共享数据重新下载,然后重新加密后,再上传,极大的减少了数据传输过程中的通信代价,此外国密算法是基于ECC椭圆曲线的密码理论,具备更高的安全性及效率。

Description

一种基于代理重加密的数据共享系统及方法
技术领域
本发明涉及数据传输技术领域,尤其涉及一种基于代理重加密的数据共享系统及方法。
背景技术
随着信息技术的高速发展,不同区域间的信息交流逐步增加,以互联网为主要载体的网络空间和物理世界不断交叉融合,催生出海量“人-机-物”数据。数据作为新的生产要素,如何有效利用这些大数据来产生社会价值和经济价值是关键。为了发挥和利用大数据所带来的优势,首先需要打破“人人有数据,人人缺数据”的“数据孤岛”式困境,让数据流通起来。数据共享(Data Shar i ng)是作为实现数据流通和数据产业化发展的重要基础,不仅能够降低数据收集成本,而且可以实现同类数据社会效益的最大化。
在进行不同个体/区域间的数据共享时,通常会遇到隐私泄露的问题,例如,将个人病历资料开发成大数据,或者将个人的银行存款信息汇总开发成大数据,如果对这些数据资料还没有进行有效授权后进行共享,就可能侵害个人信息权利和隐私权。通常来说,为了保护数据的安全性,会通过加密的方式来将密文数据存储在云服务商,密钥由数据所有自己管理。当有用户请求数据时,数据拥有者需要将密文下载下来之后,然后用自己的私钥进行解密得到明文,再利用数据请求者的公钥对明文进行重新加密,然后再将重新加密后的密文上传。在这一过程中,数据拥有者需要将数据重新下载,重新加密,再重新上传,这样会造成极大的通信代价。
发明内容
本发明实施例提供一种基于代理重加密的数据共享系统及方法,能减少数据共享的通信代价。
本发明一实施例提供一种基于代理重加密的数据共享系统,包括:数据拥者终端、数据代理终端以及数据请求者终端;
所述数据拥有者终端,用于根据数据拥有者的公钥以及预设的第一加密算法对待共享数据进行加密,生成第一密文以及第一验证数据信息,继而将所述第一密文以及所述第一验证数据信息传输至数据代理终端;
所述数据请求终端,用于将数据请求者的公钥上传至区块链中,并在响应数据请求者的数据请求操作时,向所述数据拥有者终端发送数据传输请求;
所述数据拥有者终端,还用于在接收所述数据传输请求时,从所述区块链中获取数据请求者的公钥,并根据所述数据请求者的公钥、所述数据拥有者的私钥和预设的密钥生成算法,生成代理密钥以及第二验证数据信息,继而将所述代理密钥以及所述第二验证数据信息传输至所述数据代理终端;
所述数据代理终端,用于根据所述代理密钥以及预设的第二加密算法将所述第一密文进行重新加密生成第二密文,并将所述第二密文、所述第一验证数据信息以及所述第二验证数据信息,传输至所述数据请求者终端;
所述数据请求者终端,还用于根据数据请求者的私钥、所述数据请求者的公钥、所述第一验证数据以及所述第二验证数据,对所述第二密文进行解密及验证,获得所述待共享数据;
其中,所述第一加密算法、所述第二加密算法以及所述密钥生成算法均基于国密算法构建。
进一步地,所述根据数据拥有者的公钥以及预设的第一加密算法对待共享数据进行加密,生成第一密文以及第一验证数据信息,具体为:
随机选取参数k,通过以下公式计算所述第一密文以及所述第一验证数据信息:
C1=[k]G=(x1,y1);
[k]pkAlice=(x2,y2);t=KDF(x2||y2,klen);
Figure BDA0002919600280000031
C3=Hash(x2||M||y2);
其中,pkAlice为数据拥有者的公钥,且pkAlice=skAliceG;skAlice为数据拥有者的私钥;G为椭圆曲线的基点,且其阶为素数n;Hash()为基于SM3的密码杂凑函数;M为所述待共享数据;KDF()为密钥派生函数;klen为KDF()要获得的密钥数据的比特长度;k属于[1,n-1];C1以及C3为所述第一验证数据信息;C2为所述第一密文。
进一步地,所述根据所述数据请求者的公钥、所述数据拥有者的私钥和预设的密钥生成算法,生成代理密钥以及第二验证数据信息,具体为:
随机选取参数k′,通过以下公式生成所述代理密钥以及所述第二验证数据信息:
C4=[k′]G=(x3,y3);[k′]pkBob=(x4,y4);
Figure BDA0002919600280000032
C5=Hash(x4||C3||y4);
其中,k′属于[1,n-1];pkBob为数据请求者的公钥,且pkBob=skBobG;skBob为数据请求者的私钥;rk为所述代理密钥;C4以及C5为所述第二验证数据信息。
进一步地,所述根据所述代理密钥以及预设的第二加密算法将所述第一密文进行重新加密生成第二密文,具体为:
通过以下公式生成所述第二密文:
Figure BDA0002919600280000033
其中,Crk为所述第二密文。
进一步地,所述根据数据请求者的私钥、所述数据请求者的公钥、所述第一验证数据以及所述第二验证数据,对所述第二密文进行解密及验证,获得所述待共享数据,具体为:
通过以下公式计算解密后的数据明文M′:
[skBob]C4=[skBob][k′]G=[k]pkBob=(x′4,y′4);
t′rk=KDF(x′4||y′4,klen);
Figure BDA0002919600280000041
计算C‘5=Hash(x′4||C3||y′4);
判断所述C‘5是否等于C5,若是,则将所述解密后的数据明文作为所述待共享数据。
进一步地,所述数据拥有者终端,还用于在对所述待共享数据进行加密时,生成所述待共享数据的数据摘要,继而所述数据摘要上述至所述区块链,以使数据请求者根据所述数据摘要,判断所述待共享数据是否为自身需要的数据。
在上述系统项实施例的基础上,本发明对应提供了方法项实施例;
本发明一实施例提供了一种基于代理重加密的数据共享方法,所述方法包括:
数据代理终端根据预设的第二加密算法和由数据拥有者终端发送的代理密钥,对由数据拥有者终端发送的第一密文进行重新加密,生成第二密文,并将所述第二密文传输至数据请求者终端,以使所述请求者终端在接收所述第二密文后,根据数据请求者的私钥、所述数据请求者的公钥、所述第一验证数据以及所述第二验证数据,对所述第二密文进行解密及验证,获得所述待共享数据;
其中,所述第一密文及所述第一验证数据由所述数据拥有者终端根据数据拥有者的公钥以及第一加密算法对待共享数据进行加密后生成;
所述代理密钥以及所述第二验证数据信息由所述数据拥有者终端在接收数据传输请求时,根据所述数据请求者的公钥、所述数据拥有者的私钥和预设的密钥生成算法生成;
所述数据请求者的公钥由所述数据请求者终端上传至区块链中,并在所述数据拥有者终端接收数据传输请求时,由所述数据拥有者终端从区块链中获取;所述数据传输请求由所述数据请求者终端响应数据请求者的数据请求操作后生成。
通过实施本发明实施例,具有如下有益效果:
本发明实施例提供了一种基于代理重加密的数据共享系统和方法,在数据共享的过程中,数据请求者终端发起数据传输请求,数据拥有者终端无需重新下载已经上传的加密后的待共享数据(即上述第一密文),只需生成代理密钥,然后将代理密钥发送至数据代理终端中,由代理终端将第一密文重新加密,生成可以由数据请求者的密钥进行解密的第二密文,然后传输至数据请求者终端,由数据请求者终端进行解密即可得到明文,与现有技术相比,本发明通过引入数据代理服务终端就第一密文进行重新加密,这样数据拥有者终端在接收数据传输请求时,就不需要将已上传的待共享数据重新下载,然后重新加密后,再上传,极大的减少了数据共享过程中的通信代价,此外所述第一加密算法、所述第二加密算法以及所述密钥生成算法均基于国密算法构建,国密算法是基于ECC椭圆曲线的密码理论,具备更高的安全性及效率。
附图说明
图1是本发明一实施例提供的一种基于代理重加密的数据共享系统的系统架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先对本发明中所涉及的一些字母及公式的定义进行说明:
{skAlice,pkAlice}:数据拥有者的公私钥对,其中pkAlice=skAliceG;skAlice为数据拥有者的私钥,pkAlice为数据拥有者的公钥。
{skBob,pkBob}:数据请求者公私钥对,其中pkBob=skBobG;skBob为数据请求者的私钥,pkBob为数据请求者的公钥。
G:椭圆曲线的基点,其阶为素数n。
Hash():基于SM3的密码杂凑函数。
M:待共享数据。
M′:被数据请求者解密后得到的数据明文。
rk:代理密钥。
KDF():密钥派生函数。
klen:表示KDF()要获得的密钥数据的比特长度。
如图1,是本发明一实施例提供的一种基于代理重加密的数据共享系统,包括:数据拥者终端、数据代理终端以及数据请求者终端;
所述数据拥有者终端,用于根据数据拥有者的公钥以及预设的第一加密算法对待共享数据进行加密,生成第一密文以及第一验证数据信息,继而将所述第一密文以及所述第一验证数据信息传输至数据代理终端;
所述数据请求终端,用于将数据请求者的公钥上传至区块链中,并在响应数据请求者的数据请求操作时,向所述数据拥有者终端发送数据传输请求;
所述数据拥有者终端,还用于在接收所述数据传输请求时,从所述区块链中获取数据请求者的公钥,并根据所述数据请求者的公钥、所述数据拥有者的私钥和预设的密钥生成算法,生成代理密钥以及第二验证数据信息,继而将所述代理密钥以及所述第二验证数据信息传输至所述数据代理终端;
所述数据代理终端,用于根据所述代理密钥以及预设的第二加密算法将所述第一密文进行重新加密生成第二密文,并将所述第二密文、所述第一验证数据信息以及所述第二验证数据信息,传输至所述数据请求者终端;
所述数据请求者终端,还用于根据数据请求者的私钥、所述数据请求者的公钥、所述第一验证数据以及所述第二验证数据,对所述第二密文进行解密及验证,获得所述待共享数据。
在一个优选的实施例中:所述根据数据拥有者的公钥以及预设的第一加密算法对待共享数据进行加密,生成第一密文以及第一验证数据信息,具体为:
随机选取参数k,通过以下公式计算所述第一密文以及所述第一验证数据信息:
C1=[k]G=(x1,y1);
[k]pkAlice=(x2,y2);t=KDF(x2||y2,klen);
Figure BDA0002919600280000071
C3=Hash(x2||M||y2);
其中,pkAlice为数据拥有者的公钥,且pkAlice=skAliceG;skAlice为数据拥有者的私钥;G为椭圆曲线的基点,且其阶为素数n;Hash()为基于SM3的密码杂凑函数;M为所述待共享数据;KDF()为密钥派生函数;klen为KDF()要获得的密钥数据的比特长度;k属于[1,n-1];C1以及C3为所述第一验证数据信息;C2为所述第一密文。
在一个优选的实施例中,所述根据所述数据请求者的公钥、所述数据拥有者的私钥和预设的密钥生成算法,生成代理密钥以及第二验证数据信息,具体为:
随机选取参数k′,通过以下公式生成所述代理密钥以及所述第二验证数据信息:
C4=[k′]G=(x3,y3);[k′]pkBob=(x4,y4);
Figure BDA0002919600280000081
C5=Hash(x4||C3||y4);
其中,k′属于[1,n-1];pkBob为数据请求者的公钥,且pkBob=skBobG;skBob为数据请求者的私钥;rk为所述代理密钥;C4以及C5为所述第二验证数据信息。
在一个优选的实施例中,所述根据所述代理密钥以及预设的第二加密算法将所述第一密文进行重新加密生成第二密文,具体为:
通过以下公式生成所述第二密文:
Figure BDA0002919600280000082
其中,Crk为所述第二密文。
在一个优选的实施例中,所述根据数据请求者的私钥、所述数据请求者的公钥、所述第一验证数据以及所述第二验证数据,对所述第二密文进行解密及验证,获得所述待共享数据,具体为:
通过以下公式计算解密后的数据明文M′:
[skBob]C4=[skBob][k′]G=[k]pkBob=(x′4,y′4);
t′rk=KDF(x′4||y′4,klen);
Figure BDA0002919600280000083
计算C‘5=Hash(x′4||C3||y′4);
判断所述C‘5是否等于C5,若是,则将所述解密后的数据明文作为所述待共享数据。
在一个优选的实施例中通过公式验证解密后的数据明文是否正确:
Figure BDA0002919600280000084
若上述公式成立,则说明解密后的数据明文正确。数据明文的正确性验证可在数据拥有者终端执行。
在一个优选的实施例中,所述数据拥有者终端,还用于在对所述待共享数据进行加密时,生成所述待共享数据的数据摘要,继而所述数据摘要上述至所述区块链,以使数据请求者根据所述数据摘要,判断所述待共享数据是否为自身需要的数据。
在一个优选的实施例中,数据拥有者终端保留有对第一密文C2的解密能力,即数据拥有者终端还用于,通过以下公式对第一密文进行解密:
[skAlice]C1=[skAlice][k]G=[k]pkAlice=(x′2,y′2);
t0=KDF(x′2||y′2,klen);
Figure BDA0002919600280000091
C′3=Hash(x′2||M′||y′2);
判断上述C3是否等于C′3,如果是,则将M′作为所述待共享数据,完成解密。
以下对本发明所公开的技术方案进行进一步的说明:
首先由数据代理服务终端完成本系统的初始化,该初始化过程不涉及用户(数据拥有者和数据请求者)公私钥的生成及注册,只完成有关SM2算法(椭圆曲线公钥密码算法)中相关参数的设定。在该阶段中,每个用户可以生成自己的公私钥对,并将公钥以及相关的描述信息发布在区块链中,来表明用户的身份及所拥有的数据类别,在本发明中所涉及的加密算法均基于国密算法进行构建,国密算法是基于ECC椭圆曲线的密码理论,具备更高的安全性及效率。
紧接着是数据的加密和数据摘要的公布:
在数据加密过程中,数据拥有者终端基于第一加密算法完成对待共享数据M的加密,生成第一密文C2以及对应的第一验证数据信息(C1以及C3),然后将上述数据{C1,C2,C3}上传至数据代理终端进行存储。
与此同时,数据拥有者终端将待共享数据M的哈希Hash(M)、数据的描述des作为数据摘要通过交易形式公布在区块链中,即com0={Hash(M),des}。为了防止数据拥有者共享给数据请求者的数据不是数据请求者想要的数据,数据拥有者需要在智能合约中锁定一笔押金coin0,该押金在用户参与数据共享阶段内无法被用户自己取回,只能在指定时间期限之后,或者出现恶意行为时可以被取走。
紧接着是数据共享交换请求发起:
当数据请求者通过上述数据摘要在区块链中查询到想要的数据时,执行数据请求操作,数据请求者终端可以先向数据拥有者发起线下的共享交易请求。在拥有者同意的情况下,请求者将需要支付的金额作为押金通过数据请求者终端存储在智能合约中。数据拥有者通过数据拥有者终端获悉数据请求者完成押金支付后,通过数据拥有者终端,将自己的私钥skAlice和请求者的公钥skBob利用密钥生成算法来生成代理密钥rk,和对应的第二验证数据信息(C4以及C5),并由数据拥有者终端将上述数据即{rk,C4,C5}发送给数据代理终端。
紧接着是数据代理终端的数据重加密:
此阶段中,数据代理服务器会基于代理密钥rk通过第二加密算法完成对第一密文的重加密计算,计算完成后,会得到第二密文Crk,然后将第二密文Crk、第一验证数据中的C3以及第二验证数据发送至数据请求者终端。即数据请求者终端会读取{Crk,C3,C4,C5};
与此同时,数据代理服务器会通过签名交易来发送一个通知信息,告知区块链其已完成重加密计算且已经将第二密文发送给数据请求者终端,数据请求者需要通过数据请求者终端在合约中进行确认已经收到第二密文数据。如果数据请求者声称没有收到第二密文数据,则数据代理服务终端将第二密文数据公开在区块链中,各区块链的其余节点对第二密文数据进行下载,如果大多数节点验证该第二密文数据是正确计算过的,则数据代理服务终端认定请求者恶意声称未收到第二密文数据,直接将其存储的押金分发给数据拥有者以及其余区块链节点。
最后是数据的解密与交换支付:
在数据请求者终端获取到第二密文数据之后,进行解密后的数据明文,从而获得所述待共享数据。在解密获得数据明文后,可以将数据明文与数据拥有者终端在区块链中所公布的数据摘要com0进行比对,如果不一致,则,将解密后的数据明文以及数据请求者的数据摘要,上传区块链中进行不合规申述,可以基于Fairswap方案完成对非法数据的高效验证。如果不存在恶意行为,则过完指定时间之后,数据拥有者可以在智能合约中拿到请求者锁定的押金,从而完成交易的支付。
通过实施本发明具有如下有益效果:
1、本发明通过引入数据代理服务终端就第一密文进行重新加密,这样数据拥有者终端在接收数据传输请求时,就不需要将已上传的待共享数据重新下载,然后重新加密后,再上传,极大的减少了数据共享过程中的通信代价。
2、数据共享过程中涉及交易,现有的基于中心化云服务商的集中式管理,需要数据拥有者和数据请求者同时信任第三方,并对第三方的提供的服务支付费用。而当前集中式的服务提供商普遍存在支付交易的信任等问题,无法保证支付安全,而本申请区块链技术完成上述数据共享及交易,区块链是一种分布式的数据库,区块链网络的每一个参与者都通过分布式共识算法来维护链上存储数据的一致性,而不需要中心化的证书去认证,且链上的数据是不可篡改的。通过区块链技术完成数据共享的支付交易,能够保证交易的安全性。3、本发明基于国密算法构建加密算法,国密算法是基于ECC椭圆曲线的密码理论,具备更高的安全性及效率。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (6)

1.一种基于代理重加密的数据共享系统,其特征在于,包括:数据拥者终端、数据代理终端以及数据请求者终端;
所述数据拥有者终端,用于根据数据拥有者的公钥以及预设的第一加密算法对待共享数据进行加密,生成第一密文以及第一验证数据信息,继而将所述第一密文以及所述第一验证数据信息传输至数据代理终端;将所述共享数据的数据摘要上传至区块链中,以使所述数据请求者根据所述数据摘要确定是否执行数据请求操作;
所述数据请求者终端,用于将数据请求者的公钥上传至区块链中,并在响应数据请求者的数据请求操作时,向所述数据拥有者终端发送数据传输请求;
所述数据拥有者终端,还用于在接收所述数据传输请求时,从所述区块链中获取数据请求者的公钥,并根据所述数据请求者的公钥、所述数据拥有者的私钥和预设的密钥生成算法,生成代理密钥以及第二验证数据信息,继而将所述代理密钥以及所述第二验证数据信息传输至所述数据代理终端;
所述数据代理终端,用于根据所述代理密钥以及预设的第二加密算法将所述第一密文进行重新加密生成第二密文,并将所述第二密文、所述第一验证数据信息以及所述第二验证数据信息,传输至所述数据请求者终端;
所述数据请求者终端,还用于根据数据请求者的私钥、所述数据请求者的公钥、所述第一验证数据以及所述第二验证数据,对所述第二密文进行解密及验证,获得所述待共享数据;其中,所述第一加密算法、所述第二加密算法以及所述密钥生成算法均基于国密算法构建;
其中,所述根据数据拥有者的公钥以及预设的第一加密算法对待共享数据进行加密,生成第一密文以及第一验证数据信息,具体为:
随机选取参数k,通过以下公式计算所述第一密文以及所述第一验证数据信息:
Figure 338860DEST_PATH_IMAGE001
Figure 257662DEST_PATH_IMAGE002
Figure 274160DEST_PATH_IMAGE003
其中,
Figure 959088DEST_PATH_IMAGE004
为数据拥有者的公钥,且
Figure 730735DEST_PATH_IMAGE005
为数据拥有者的私钥;G为椭圆曲线的基点,且其阶为素数n;Hash()为基于SM3的密码杂凑函数;M为所述待共享数据;KDF( )为密钥派生函数;klen为KDF()要获得的密钥数据的比特长度;k属于[1,n-1];C1以及C3为所述第一验证数据信息;C2为所述第一密文。
2.如权利要求1所述的基于代理重加密的数据共享系统,其特征在于,所述根据所述数据请求者的公钥、所述数据拥有者的私钥和预设的密钥生成算法,生成代理密钥以及第二验证数据信息,具体为:
随机选取参数
Figure 619056DEST_PATH_IMAGE006
,通过以下公式生成所述代理密钥以及所述第二验证数据信息:
Figure 688512DEST_PATH_IMAGE007
Figure 978679DEST_PATH_IMAGE008
其中,
Figure 921228DEST_PATH_IMAGE006
属于[1,n-1];
Figure 546113DEST_PATH_IMAGE009
为数据请求者的公钥,且
Figure 904413DEST_PATH_IMAGE010
为数据请求者的私钥;rk为所述代理密钥;C4以及C5为所述第二验证数据信息。
3.如权利要求2所述的基于代理重加密的数据共享系统,其特征在于,所述根据所述代理密钥以及预设的第二加密算法将所述第一密文进行重新加密生成第二密文,具体为:
通过以下公式生成所述第二密文:
Figure 566863DEST_PATH_IMAGE011
其中,
Figure 617996DEST_PATH_IMAGE012
为所述第二密文。
4.如权利要求3所述的基于代理重加密的数据共享系统,其特征在于,所述根据数据请求者的私钥、所述数据请求者的公钥、所述第一验证数据以及所述第二验证数据,对所述第二密文进行解密及验证,获得所述待共享数据,具体为:
通过以下公式计算解密后的数据明文
Figure 543226DEST_PATH_IMAGE013
Figure 954485DEST_PATH_IMAGE014
Figure 953665DEST_PATH_IMAGE015
Figure 238016DEST_PATH_IMAGE016
计算
Figure 837493DEST_PATH_IMAGE017
判断所述
Figure 803175DEST_PATH_IMAGE018
是否等于
Figure 171709DEST_PATH_IMAGE019
,若是,则将所述解密后的数据明文作为所述待共享数据。
5.如权利要求1所述的基于代理重加密的数据共享系统,其特征在于,所述数据拥有者终端,还用于在对所述待共享数据进行加密时,生成所述待共享数据的数据摘要,继而所述数据摘要上传 至所述区块链,以使数据请求者根据所述数据摘要,判断所述待共享数据是否为自身需要的数据。
6.一种基于区块链与代理重加密的数据共享方法,其特征在于,包括:
数据代理终端根据预设的第二加密算法和由数据拥有者终端发送的代理密钥,对由数据拥有者终端发送的第一密文进行重新加密,生成第二密文,并将所述第二密文传输至数据请求者终端,以使所述请求者终端在接收所述第二密文后,根据数据请求者的私钥、数据请求者的公钥、第一验证数据以及第二验证数据,对所述第二密文进行解密及验证,获得待共享数据;
其中,所述第一密文及所述第一验证数据的生成,具体为:
随机选取参数k,通过以下公式计算所述第一密文以及所述第一验证数据信息:
Figure 361381DEST_PATH_IMAGE001
Figure 198887DEST_PATH_IMAGE002
Figure 954878DEST_PATH_IMAGE003
Figure 194230DEST_PATH_IMAGE004
为数据拥有者的公钥,且
Figure 554804DEST_PATH_IMAGE020
为数据拥有者的私钥;G为椭圆曲线的基点,且其阶为素数n;Hash()为基于SM3的密码杂凑函数;M为所述待共享数据;KDF( )为密钥派生函数;klen为KDF()要获得的密钥数据的比特长度;k属于[1,n-1];C1以及C3为所述第一验证数据信息;C2为所述第一密文;
所述代理密钥以及所述第二验证数据信息由所述数据拥有者终端在接收数据传输请求时,根据所述数据请求者的公钥、所述数据拥有者的私钥和预设的密钥生成算法生成;
所述数据请求者的公钥由所述数据请求者终端上传至区块链中,并在所述数据拥有者终端接收数据传输请求时,由所述数据拥有者终端从区块链中获取;所述数据传输请求由所述数据请求者终端响应数据请求者的数据请求操作后生成。
CN202110112175.1A 2021-01-27 2021-01-27 一种基于代理重加密的数据共享系统及方法 Active CN113225302B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110112175.1A CN113225302B (zh) 2021-01-27 2021-01-27 一种基于代理重加密的数据共享系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110112175.1A CN113225302B (zh) 2021-01-27 2021-01-27 一种基于代理重加密的数据共享系统及方法

Publications (2)

Publication Number Publication Date
CN113225302A CN113225302A (zh) 2021-08-06
CN113225302B true CN113225302B (zh) 2022-06-24

Family

ID=77084492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110112175.1A Active CN113225302B (zh) 2021-01-27 2021-01-27 一种基于代理重加密的数据共享系统及方法

Country Status (1)

Country Link
CN (1) CN113225302B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113556363B (zh) * 2021-09-18 2021-12-17 中国人民解放军国防科技大学 基于去中心化和分布式代理重加密的数据共享方法及系统
CN114116637A (zh) * 2021-11-22 2022-03-01 中国银联股份有限公司 一种数据共享方法、装置、设备及存储介质
CN114189392B (zh) * 2022-02-15 2022-05-20 中电云数智科技有限公司 一种基于可执行环境的数据隐私处理方法及装置
CN114844695A (zh) * 2022-04-28 2022-08-02 华能招标有限公司 基于区块链的业务数据流转方法、系统及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1264974A (zh) * 1999-12-01 2000-08-30 陈永川 运用椭圆曲线加密算法的数字签名方法
CN106936593A (zh) * 2017-05-12 2017-07-07 西安电子科技大学 基于椭圆曲线高效匿名的无证书多接收者签密方法
CN111222155A (zh) * 2020-01-08 2020-06-02 湖南智慧政务区块链科技有限公司 一种重加密与区块链结合的方法及系统
CN111740988A (zh) * 2020-06-19 2020-10-02 武汉大学 云存储数据加密方法、系统和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060149962A1 (en) * 2003-07-11 2006-07-06 Ingrian Networks, Inc. Network attached encryption
EP3407181A1 (de) * 2017-05-23 2018-11-28 Siemens Aktiengesellschaft Verfahren und vorrichtung zum rechnergestützten verarbeiten eines zufälligen bitmusters
CN109413084B (zh) * 2018-11-15 2021-08-31 北京信安世纪科技股份有限公司 一种口令更新方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1264974A (zh) * 1999-12-01 2000-08-30 陈永川 运用椭圆曲线加密算法的数字签名方法
CN106936593A (zh) * 2017-05-12 2017-07-07 西安电子科技大学 基于椭圆曲线高效匿名的无证书多接收者签密方法
CN111222155A (zh) * 2020-01-08 2020-06-02 湖南智慧政务区块链科技有限公司 一种重加密与区块链结合的方法及系统
CN111740988A (zh) * 2020-06-19 2020-10-02 武汉大学 云存储数据加密方法、系统和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Chain-based Covert Data Embedding Schemes in Blockchain》;Haotian Cao等;《IEEE Internet of Things Journal》;20201125;正文1-7 *
《用电信息采集系统中集中器脆弱性分析》;董重重等;《 电测与仪表 》;20200317;第57卷(第8期);正文1-10 *

Also Published As

Publication number Publication date
CN113225302A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN108418680B (zh) 一种基于安全多方计算技术的区块链密钥恢复方法、介质
JP6515246B2 (ja) 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定
CN113225302B (zh) 一种基于代理重加密的数据共享系统及方法
US9065637B2 (en) System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
US7688975B2 (en) Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure
CN113553574A (zh) 一种基于区块链技术的物联网可信数据管理方法
CN112532580B (zh) 一种基于区块链及代理重加密的数据传输方法及系统
CN109450843B (zh) 一种基于区块链的ssl证书管理方法及系统
CN112187798B (zh) 一种应用于云边数据共享的双向访问控制方法及系统
CN110380845B (zh) 基于群组对称密钥池的量子保密通信联盟链交易方法、系统、设备
CN114036539A (zh) 基于区块链的安全可审计物联网数据共享系统及方法
US20220014354A1 (en) Systems, methods and devices for provision of a secret
CN109547413B (zh) 具有数据源认证的可转换的数据云存储的访问控制方法
CN110999202A (zh) 用于对数据进行高度安全、高速加密和传输的计算机实现的系统和方法
EP1079565A2 (en) Method of securely establishing a secure communication link via an unsecured communication network
CN105721146B (zh) 一种面向云存储基于smc的大数据共享方法
CN111416712B (zh) 基于多个移动设备的量子保密通信身份认证系统及方法
CN114154181A (zh) 基于分布式存储的隐私计算方法
CN110086627B (zh) 基于非对称密钥池对和时间戳的量子通信服务站密钥协商方法和系统
KR101388452B1 (ko) 인증서 전송 서버를 이용하는 일회용 공개 정보 기반 이동 단말기로의 인증서 이동 방법 및 이를 이용한 장치
CN114448636A (zh) 基于数字证书的抗量子计算数字货币系统及匿名通信方法
CN111447060A (zh) 一种基于代理重加密的电子文档分发方法
Du et al. A CSK based SSL handshake protocol
Reddy et al. Data Storage on Cloud using Split-Merge and Hybrid Cryptographic Techniques
Hansika et al. Secure Data Transformation in Cloud Using Hybrid Cryptography

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