CN116260662B - 溯源存储方法、溯源方法、溯源存储系统及溯源系统 - Google Patents

溯源存储方法、溯源方法、溯源存储系统及溯源系统 Download PDF

Info

Publication number
CN116260662B
CN116260662B CN202310541451.5A CN202310541451A CN116260662B CN 116260662 B CN116260662 B CN 116260662B CN 202310541451 A CN202310541451 A CN 202310541451A CN 116260662 B CN116260662 B CN 116260662B
Authority
CN
China
Prior art keywords
ciphertext
data
private
owner
public
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
CN202310541451.5A
Other languages
English (en)
Other versions
CN116260662A (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.)
Chengdu University of Information Technology
Original Assignee
Chengdu University of Information Technology
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 Chengdu University of Information Technology filed Critical Chengdu University of Information Technology
Priority to CN202310541451.5A priority Critical patent/CN116260662B/zh
Publication of CN116260662A publication Critical patent/CN116260662A/zh
Application granted granted Critical
Publication of CN116260662B publication Critical patent/CN116260662B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L63/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/32Cryptographic 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/32Cryptographic 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/3247Cryptographic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了溯源存储方法、溯源方法、溯源存储系统及溯源系统,属于溯源存储技术领域,溯源存储方法包括:获取数据拥有者私钥、数据使用者私钥、数据拥有者公钥和数据使用者公钥;对公开信息进行加密得到公开信息密文,对隐私信息进行加密得到隐私信息密文;对摘要签名得到签名Signowner和签名Signuser;对公开信息密文、隐私信息密文和签名Signuser加密得到第一密文数据;对公开信息密文、隐私信息密文和签名Signowner加密得到第二密文数据;将公开信息密文和隐私信息密文的哈希值记录在链上,将第一密文数据和第二密文数据存储在链外。本发明保证了区块链的完整性和安全性,提高了存储容量和查询效率。

Description

溯源存储方法、溯源方法、溯源存储系统及溯源系统
技术领域
本发明涉及区块链多链技术领域、溯源存储技术领域,尤其是涉及溯源存储方法、溯源方法、溯源存储系统及溯源系统。
背景技术
区块链是一种公开且分布式的账本,采用去中心化的记录方式,区块链与溯源结合,可以利用区块链来构建新的信任体系,所有上传区块链的数据,不会被第三方或者任何一方随意修改。在现有的点对点(peer to peer,简称P2P)区块链网络模型中,所有网络节点都参与数据存储,生成的区块需要在全网节点之间进行验证。这种方法存在系统事务吞吐量和数据存储冗余低的问题。因此,设计一个合理的存储机制来提高存储容量是溯源研究领域的一个重要问题。
现有区块链溯源存储方案首先是采用链上链下协作存储来提高存储容量,增加系统的灵活性。常见的有基于云的链下存储和基于Inter Planetary File System(IPFS)的链下存储。其次,现有方案中溯源数据存储常使用单链,受限于网络中单节点的性能极限,无法满足应用的性能、容量、隐私、扩展、用户体验及其他要求。因此需要多链的溯源存储方案,提供溯源系统的可扩展性、高性能、互操作等特性。
另外,在区块链中所有记录到区块链节点上的数据,可根据时间戳来追溯历史记录,保证了目录数据在区块链的可控环境下进行数据交换。在数据交换的同时,并不是所有数据都是公开的,涉及大量隐私数据,共享数据很容易导致个人隐私泄露。因此多链存储模型下的用户的隐私性和数据的安全性问题必须考虑。
发明内容
本发明提供了溯源存储方法、溯源方法、溯源存储系统及溯源系统,利用区块链技术去中心化、不可篡改的特点,解决可信第三方带来的信任问题,保证了区块链的完整性和安全性;采用多链进行数据存储,提高存储容量和查询效率。
本发明实施例的第一方面公开了溯源存储方法,包括如下步骤:
S1.生成数据拥有者私钥SKowner和数据使用者私钥SKuser,并由各自私钥计算出数据拥有者公钥PKowner和数据使用者公钥PKuser
S2.在上传数据时,将交易信息分为公开信息和隐私信息,使用私钥SKowner对所述公开信息进行对称加密得到公开信息密文,对所述隐私信息进行属性加密得到隐私信息密文;
S3.使用私钥SKowner对所述公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signowner
使用私钥SKuser对所述公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signuser
S4.使用公钥PKowner对所述公开信息密文、隐私信息密文和签名Signuser进行加密,得到第一密文数据;
使用公钥PKuser对所述公开信息密文、隐私信息密文和签名Signowner进行加密,得到第二密文数据;
S5.将所述公开信息密文和隐私信息密文的哈希值记录在链上,将所述第一密文数据和第二密文数据存储在链外。
在一些实施例中,S1中包括:
生成主密钥MK和公钥PK,并定义用户属性集Y;
使用密文策略属性基加密方法在访问结构下加密隐私信息M,得到密文C;
通过所述主密钥MK的方式创建与所述用户属性集Y相关联的解密密钥DK。
本发明实施例的第二方面公开了溯源方法,包括如下步骤:
执行上述的溯源存储方法;
获取私钥SKowner,对所述第一密文数据进行解密,得到所述公开信息密文、隐私信息密文和签名Signuser
获取公钥PKuser,对所述公开信息密文、隐私信息密文和签名Signuser,进行解密和解签名,得到所述公开信息、隐私信息和摘要;
和/或,
获取私钥SKuser,对所述第二密文数据进行解密,得到所述公开信息密文、隐私信息密文和签名Signowner
获取公钥PKowner,对所述公开信息密文、隐私信息密文和签名Signowner,进行解密和解签名,得到所述公开信息、隐私信息和摘要。
在一些实施例中,将加密前的所述摘要与解密后得到的所述摘要进行比较,若一致,则数据没有被篡改。
本发明实施例的第三方面公开了溯源存储系统,包括:
密钥生成模块,用于生成数据拥有者私钥SKowner和数据使用者私钥SKuser,并由各自私钥计算出数据拥有者公钥PKowner和数据使用者公钥PKuser
第一加密模块,用于在上传数据时,将交易信息分为公开信息和隐私信息,使用私钥SKowner对所述公开信息进行对称加密得到公开信息密文,对所述隐私信息进行属性加密得到隐私信息密文;
签名模块,用于使用私钥SKowner对所述公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signowner
使用私钥SKuser对所述公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signuser
第二加密模块,用于使用公钥PKowner对所述公开信息密文、隐私信息密文和签名Signuser进行加密,得到第一密文数据;
使用公钥PKuser对所述公开信息密文、隐私信息密文和签名Signowner进行加密,得到第二密文数据;
存储模块,同于将所述公开信息密文和隐私信息密文的哈希值记录在链上,将所述第一密文数据和第二密文数据存储在链外。
在一些实施例中,溯源存储系统还包括:
第一处理器,与所述密钥生成模块、第一加密模块、签名模块、第二加密模块和存储模块连接;
第一存储器,与所述第一处理器连接,并存储有可在所述第一处理器上运行的第一计算机程序;其中,当所述第一处理器执行所述第一计算机程序时,所述第一处理器控制所述密钥生成模块、第一加密模块、签名模块、第二加密模块和存储模块工作,以实现上述的溯源存储方法。
本发明实施例的第四方面公开了溯源系统,包括:
第一解密模块,用于获取私钥SKowner,对所述第一密文数据进行解密,得到所述公开信息密文、隐私信息密文和签名Signuser
第二解密模块,用于获取公钥PKuser,对所述公开信息密文、隐私信息密文和签名Signuser,进行解密和解签名,得到所述公开信息、隐私信息和摘要;
和/或,
第三解密模块,用于获取私钥SKuser,对所述第二密文数据进行解密,得到所述公开信息密文、隐私信息密文和签名Signowner
第四解密模块,用于获取公钥PKowner,对所述公开信息密文、隐私信息密文和签名Signowner,进行解密和解签名,得到所述公开信息、隐私信息和摘要。
在一些实施例中,溯源系统还包括:
第二处理器,与所述第一解密模块、第二解密模块、第三解密模块和第四解密模块连接;
第二存储器,与所述第二处理器连接,并存储有可在所述第二处理器上运行的第二计算机程序;其中,当所述第二处理器执行所述第二计算机程序时,所述第二处理器控制所述第一解密模块、第二解密模块、第三解密模块和第四解密模块工作,以实现上述的溯源方法。
本发明实施例的第五方面公开了计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取所述计算机指令时,所述计算机执行如上述的溯源存储方法,和/或,如上述的溯源方法。
综上所述,本发明至少具有以下有益效果:
本发明在多链模型中提高溯源存储的可扩展性,利用区块链技术去中心化、不可篡改的特点,解决可信第三方带来的信任问题,保证了区块链的完整性和安全性;利用多链技术,解决了所有数据存在一条链上的存储容量问题,提高存储可扩展性的同时提高了查询效率;利用基于属性加密,加密隐私信息,解决了隐私信息的泄露,只有符合特定访问结构的用户才能获取隐私信息。
采用多链溯源模型,当数据拥有者上传数据时,用一条链记录交易密文的哈希值;数据处理者收到数据拥有者上传的数据后,记录其信息;数据使用者收到数据后,交易密文的哈希值单独存储在另一条链上。不同的身份所产生的交易密文的哈希值记录在各自的链上,原始信息加密存储在链外,实现存储容量的扩展。通过溯源让数据流向有迹可循,让数据拥有者知道自己的数据流向以及数据使用者知道使用数据的来源。当数据存储在多条链时,采用中继链实现链与链之间数据的交互。
针对多链存储模型下的用户的隐私性和数据的安全性问题,将密文策略属性基加密(CP-ABE)与多链溯源存储模型结合,将不同身份的用户构造属于自己的属性集,当有数据使用者需要访问数据拥有者的隐私数据时,只有满足特定访问结构的数据使用者才能读取隐私数据,保证数据隐私,并实现特定用户数据共享。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中所涉及的溯源存储方法的示意图。
图2为本发明中所涉及的溯源方法的示意图。
图3为本发明中所涉及的溯源存储系统的模块示意图。
图4为本发明中所涉及的溯源系统的模块示意图。
图5为本发明中所涉及的多链溯源框架的示意图。
图6为本发明中所涉及的CP-ABE加密方案流程的示意图。
图7为本发明中所涉及的慈善应用场景下溯源存储流程的示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明实施例的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
下文的公开提供了许多不同的实施方式或例子用来实现本发明实施例的不同结构。为了简化本发明实施例的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明实施例。此外,本发明实施例可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。
下面结合附图对本发明的实施例进行详细说明。
如图1所示,本发明实施例的第一方面公开了溯源存储方法,包括如下步骤:
S1.生成数据拥有者私钥SKowner和数据使用者私钥SKuser,并由各自私钥计算出数据拥有者公钥PKowner和数据使用者公钥PKuser
S2.在上传数据时,将交易信息分为公开信息和隐私信息,使用私钥SKowner对公开信息进行对称加密得到公开信息密文,对隐私信息进行属性加密得到隐私信息密文;
S3.使用私钥SKowner对公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signowner
使用私钥SKuser对公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signuser
S4.使用公钥PKowner对公开信息密文、隐私信息密文和签名Signuser进行加密,得到第一密文数据;
使用公钥PKuser对公开信息密文、隐私信息密文和签名Signowner进行加密,得到第二密文数据;
S5.将公开信息密文和隐私信息密文的哈希值记录在链上,将第一密文数据和第二密文数据存储在链外。
在一些实施例中,S1中包括:
生成主密钥MK和公钥PK,并定义用户属性集Y;
使用密文策略属性基加密方法在访问结构下加密隐私信息M,得到密文C;
通过主密钥MK的方式创建与用户属性集Y相关联的解密密钥DK。
如图2所示,本发明实施例的第二方面公开了溯源方法,包括如下步骤:
执行上述的溯源存储方法;
获取私钥SKowner,对第一密文数据进行解密,得到公开信息密文、隐私信息密文和签名Signuser
获取公钥PKuser,对公开信息密文、隐私信息密文和签名Signuser,进行解密和解签名,得到公开信息、隐私信息和摘要;
和/或,
获取私钥SKuser,对第二密文数据进行解密,得到公开信息密文、隐私信息密文和签名Signowner
获取公钥PKowner,对公开信息密文、隐私信息密文和签名Signowner,进行解密和解签名,得到公开信息、隐私信息和摘要。
在一些实施例中,将加密前的摘要与解密后得到的摘要进行比较,若一致,则数据没有被篡改。
如图3所示,本发明实施例的第三方面公开了溯源存储系统,包括:
密钥生成模块,用于生成数据拥有者私钥SKowner和数据使用者私钥SKuser,并由各自私钥计算出数据拥有者公钥PKowner和数据使用者公钥PKuser
第一加密模块,用于在上传数据时,将交易信息分为公开信息和隐私信息,使用私钥SKowner对公开信息进行对称加密得到公开信息密文,对隐私信息进行属性加密得到隐私信息密文;
签名模块,用于使用私钥SKowner对公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signowner
使用私钥SKuser对公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signuser
第二加密模块,用于使用公钥PKowner对公开信息密文、隐私信息密文和签名Signuser进行加密,得到第一密文数据;
使用公钥PKuser对公开信息密文、隐私信息密文和签名Signowner进行加密,得到第二密文数据;
存储模块,同于将公开信息密文和隐私信息密文的哈希值记录在链上,将第一密文数据和第二密文数据存储在链外。
在一些实施例中,溯源存储系统还包括:
第一处理器,与密钥生成模块、第一加密模块、签名模块、第二加密模块和存储模块连接;
第一存储器,与第一处理器连接,并存储有可在第一处理器上运行的第一计算机程序;其中,当第一处理器执行第一计算机程序时,第一处理器控制密钥生成模块、第一加密模块、签名模块、第二加密模块和存储模块工作,以实现上述的溯源存储方法。
如图4所示,本发明实施例的第四方面公开了溯源系统,包括:
第一解密模块,用于获取私钥SKowner,对第一密文数据进行解密,得到公开信息密文、隐私信息密文和签名Signuser
第二解密模块,用于获取公钥PKuser,对公开信息密文、隐私信息密文和签名Signuser,进行解密和解签名,得到公开信息、隐私信息和摘要;
和/或,
第三解密模块,用于获取私钥SKuser,对第二密文数据进行解密,得到公开信息密文、隐私信息密文和签名Signowner
第四解密模块,用于获取公钥PKowner,对公开信息密文、隐私信息密文和签名Signowner,进行解密和解签名,得到公开信息、隐私信息和摘要。
在一些实施例中,溯源系统还包括:
第二处理器,与第一解密模块、第二解密模块、第三解密模块和第四解密模块连接;
第二存储器,与第二处理器连接,并存储有可在第二处理器上运行的第二计算机程序;其中,当第二处理器执行第二计算机程序时,第二处理器控制第一解密模块、第二解密模块、第三解密模块和第四解密模块工作,以实现上述的溯源方法。
本发明实施例的第五方面公开了计算机可读存储介质,存储介质存储计算机指令,当计算机读取计算机指令时,计算机执行如上述的溯源存储方法,和/或,如上述的溯源方法。
本发明的技术构思如下:
本发明的多链溯源框架如图5所示,本发明中定义了五个参与者:可信中心机构(数据处理者)、数据拥有者、数据使用者、具有智能合约功能的区块链和云服务器,应用系统不同的阶段信息存储在不同的链上,实现扩展存储容量和提高查询效率。具体为当数据拥有者将上传数据时的交易信息分为公开信息和隐私信息,隐私信息包括数据拥有者的背景信息,上传次数和内容等,公开信息包括数据拥有者姓名,上传数据内容,时间,地点等。公开信息经过对称加密,隐私信息经过属性加密后的密文信息传递给数据共享平台中的数据处理者;数据处理者收到数据拥有者上传的交易信息密文后,记录其信息,用一条链记录交易公开信息密文和隐私信息密文的哈希值,公开信息,隐私信息的原始密文信息记录在链外,即云服务器;数据使用者收到数据后,交易密文的哈希值单独存储在各自链上。不同的身份所产生的交易密文的哈希值记录在各自的链上,原始信息加密存储在链外,实现存储容量的扩展。在该方案中,采用区块链技术,解决可信第三方带来的信任问题;采用多链技术在提高存储可扩展性的同时提高了查询效率;采用基于属性加密加密隐私信息,只有符合特定访问结构的用户才能获取隐私信息。
1.系统初始化
数据拥有者和数据使用者首先需要向可信中心机构提交注册申请,可信中心机构对提交的信息进行审核,审核通过后在区块链网络中完成注册,并产生与之对应的各自用户ID。数据拥有者ID记为owneri(1≤i≤n),其中n表示系统数据拥有者数量;数据使用者ID记为userj(1≤j≤m),其中m表示系统数据使用者数量。系统随机生成数据拥有者私钥SKowner,数据使用者私钥SKuser,由各自私钥计算出数据拥有者公钥PKowner和数据使用者公钥PKuser
2.数据来源及去向信息记录
数据拥有者向可信中心机构上传数据时,数据拥有者将交易信息分为公开信息和隐私信息,公开信息利用数据拥有者私钥SKowner经过对称加密,隐私信息经过属性加密。将每一次交易的密文(公开信息密文和隐私信息密文)和数据拥有者利用私钥SKowner对公开信息密文与隐私信息密文产生的摘要进行的签名,即Signowner,传递给数据处理者,数据处理者将交易密文的哈希值记录在链上,其中原始公开信息密文、隐私信息密文和数据拥有者对消息摘要产生的签名Signowner存储在链外。
可信中心机构将数据传输给数据使用者后,将其交易密文哈希值上传到另一条区块链上,将其数据使用者的原始公开信息密文、隐私信息密文和数据使用者对消息摘要产生的签名Signuser存储在链外,其中Signuser是数据使用者利用私钥SKuser对公开信息密文和隐私信息密文产生的摘要进行签名。数据拥有者与数据使用者之间存在一一对应关系。
3.溯源信息隐私保护
31.系统初始化
可信中心机构生成主密钥MK和公钥PK,并定义用户属性集,记为Y。
32.加密数据
使用选定的密文策略属性基加密(CP-ABE加密方案流程如图6所示)在访问结构下加密隐私信息M,返回密文C,其中嵌入了访问策略。只有拥有特定属性的用户才能解密。
33.密钥生成
通过主密钥MK的方式创建与用户属性集Y相关联的新解密密钥。对于每个用户,生成一个对应的解密密钥DK,其中包含了该用户的所有属性。
34.解密数据
当用户需要访问加密信息时,可以使用其对应的解密密钥DK解密。只有当访问策略嵌入在解密密钥DK中的属性集Y上的值为true时,才返回原始的隐私信息M,否则返回空。密文是主体,只有特定的密钥才能与之匹配,从而解密。
4.溯源信息查询
41.数据使用者查询数据流向
数据拥有者向数据处理者发起数据流向溯源查询请求,数据处理者利用数据拥有者的公钥PKowner对溯源信息密文(公开信息密文和隐私信息密文)和数据使用者的签名Signuser加密,将加密后的密文与数据使用者的公钥PKuser打包一起转发给数据拥有者。
数据拥有者收到加密数据之后,如果数据拥有者能用自己的私钥SKowner解密成功,则成功获得溯源信息密文和数据使用者的签名Signuser,并成功认证了自己的身份。
42.数据使用者查询数据来源
数据使用者向数据处理者发起数据来源溯源查询请求,数据处理者利用数据使用者的公钥PKuser对溯源信息密文和数据拥有者的签名Signowner加密,将加密后的密文与数据拥有者的公钥PKowner打包一起转发给数据使用者。
数据使用者收到加密数据之后,如果数据使用者能用自己的私钥SKuser解密成功,则成功获得溯源信息密文和数据拥有者的签名Signowner,并成功认证了自己的身份。
5.溯源信息完整性验证
51.数据流向信息完整性验证
数据拥有者利用数据使用者的公钥PKuser解签名和解密溯源信息密文,如果数据拥有者解签名和解密溯源信息密文成功,则成功认证数据使用者的身份。计算数据明文的摘要,与数据使用者的公钥PKuser解密后的摘要比较,如果一致则说明数据没有被篡改。
52.数据来源信息完整性验证
数据使用者利用数据拥有者的公钥PKowner解签名和解密溯源信息密文,如果数据使用者解签名和解密溯源信息密文成功,则成功认证数据拥有者的身份。计算数据明文的摘要,与数据拥有者的公钥解密PKowner后的摘要比较,如果一致则说明数据没有被篡改。
在一具体实施例中,将本发明应用在慈善应用场景,即慈善捐赠信息溯源场景。其中,数据处理者对应慈善机构,当捐赠者发起溯源查询请求时,受助者对应数据拥有者,捐赠者对应数据使用者;当受助者发起溯源查询请求时,捐赠者对应数据拥有者,受助者对应数据使用者。
1.系统初始化
捐赠者和受助者在进入区块链网络时需要提交注册申请,慈善机构对其信息进行审核,确认无误后在区块链上完成注册。为每一个用户生成一个对应的ID,避免在以后的过程中出现不诚实的行为,便于智能合约对其进行追溯。捐赠者ID记为Donori(1≤i≤n),受助者ID记为Diffj(1≤j≤m)。系统随机生成捐赠者私钥SKDonor,受助者私钥SKDiff,由各自私钥计算出捐赠者公钥PKDonor和受助者公钥PKDiff
2.捐赠物来源及去向记录
捐赠物来源及去向存储流程如图7所示,捐赠者选择捐赠方式,如现金、捐赠物资、银行拨款、捐赠箱等,交易信息分为公开信息和隐私信息,公开信息利用捐赠者私钥SKDonor经过对称加密,隐私信息经过属性加密。将每一次交易的密文和利用捐赠者私钥SKDonor对公开信息密文与隐私信息密文产生的摘要进行的签名,即SignDonor,传递给慈善机构,慈善机构收到捐赠物后,进行清点确认无误后建立捐赠档案,将捐赠人每一次捐赠的交易记录密文哈希值记录在链上,原始公开信息密文,隐私信息密文和捐赠者对消息摘要产生的签名SignDonor存储在链外。慈善机构向捐赠者颁发证书。
受助者向慈善机构请求帮助,慈善机构对受助者提交的申请进行信息审核,情况属实后,对受助者发放捐赠物品,并立卷存档,交易信息分为公开信息和隐私信息,公开信息利用受助者私钥SKDiff经过对称加密,隐私信息经过属性加密。慈善机构将交易密文哈希上传到另一条区块链上,将受助者的原始公开信息密文,隐私信息密文和受助者对消息摘要产生的签名SignDiff存储在链外,其中SignDiff是受助者利用私钥对公开信息密文和隐私信息密文产生的摘要进行签名。受助人收到捐赠的物品上记录受助日期,受助者信息等。捐赠者与受助者之间有一一对应关系。
3.敏感数据隐私保护
31.系统初始化
可信中心机构生成主密钥MK和公钥PK,并定义用户的属性集Y。
选择具有生成元g的素数阶p的循环群G1(属性群),GT(明文群)和个数为r的有限域Zr。e为双线性映射。接下来选择两个随机指数α、βϵZr,公钥如下:PK=<e(g,g)α,gβ>。主密钥MK为gα。其中用户属性集Y中每个属性i(iϵY)对应一个G1的群元素。
32.加密数据
数据拥有者使用选定的密文策略属性基加密(CP-ABE),通过公钥PK在访问结构T下加密隐私信息M,C=Encrypt(M,T,PK),返回密文C,其中嵌入了访问策略。只有拥有特定属性的用户才能解密。将密文C传送到云服务器。
选取随机数s,sϵZr,并对每一个属性选取随机数ri,针对明文MϵGT,计算C=Me(g,g)αs,将随机数s绑定在密文C中,计算C0=gs,将s作为秘密,沿着访问树进行拆分,得到叶子节点属性集leafNodes,使得每个叶子节点属性i(iϵleafNodes)对应的秘密分片为λi。对于每个叶子节点的属性,计算Ci 1=gβλiH(i)-ri,Ci 2=gri。最终密文CT=<C,C0,{Ci 1,Ci 2}iϵleafNodes>。
33.密钥生成
可信中心机构生成数据使用者的解密密钥,通过主密钥MK的方式创建与属性集Y相关联的新解密密钥。对于每个用户,生成一个对应的解密密钥DK,DK=KeyGen(Y,MK),其中包含了该用户的所有属性。
对用户属性集Y选取一个随机数t计算D=gαgβt,D0=gt。再对用户属性集Y中的每一个属性i(iϵY),计算Di=H(i)t。用户私钥DK=<D,D0,{Di}iϵY>。
34.解密数据
当数据使用者需要访问加密数据时,可以使用其对应的解密密钥DK对从云服务器获取的隐私信息密文解密数据。只有当访问策略在嵌入在解密密钥DK中的属性集Y上的值为true时,才返回原始的隐私信息M,否则返回空。密文是主体,只有特定的密钥才能与之匹配,从而解密。
对于密钥属性集和密文访问T的叶子节点属性集中重合的属性i,计算Pi,Pi=e(Ci 1,D0)e(Ci 2,Di)=e(g,g)βtλi。从根节点开始做递归运算,最终能够以e(g,g)βts的形式恢复根节点的秘密值。根据
e(C0,D)=e(g,g)αse(g,g)βts,进一步求得e(g,g)αs。通过C/e(g,g)αs恢复隐私信息M。
4.溯源信息查询
41.捐赠者查询捐赠物去向
捐赠者向慈善机构发起捐赠物去向溯源查询请求,慈善机构利用捐赠者的公钥PKDonor对溯源信息密文和受助者的签名SignDiff加密,将加密后的密文与受助者的公钥PKDiff打包一起转发给捐赠者。。
捐赠者收到加密数据之后,如果捐赠者能用自己的私钥SKDonor解密成功,则成功获得溯源信息密文和和受助者的签名SignDiff,并成功认证了自己的身份。
42.受助者查询捐赠物品来源
受助者向慈善机构发起捐赠物来源溯源查询请求,慈善机构利用受助者的公钥PKDiff对溯源信息的密文和捐赠者的签名SignDonor加密,将加密后的密文与捐赠者的公钥PKDonor打包一起转发给受助者。
受助者收到加密数据之后,如果受助者能用自己的私钥SKDiff解密成功,则成功获得溯源信息密文和捐赠者的签名SignDonor,并成功认证了自己的身份。
5.溯源信息完整性验证
51.捐赠物去向信息完整性验证
捐赠者利用受助者的公钥PKDiff解签名和解密溯源信息密文,如果捐赠者解签名和解密溯源信息密文成功,则成功认证受助者的身份。计算数据明文的摘要,与受助者的公钥PKDiff解密后的摘要比较,如果一致则说明数据没有被篡改。
52.捐赠物来源信息完整性验证
受助者利用捐赠者的公钥PKDonor解签名和解密溯源信息密文,如果受助者解签名和解密溯源信息密文成功,则成功认证捐赠者的身份。计算数据明文的摘要,与捐赠者的公钥解密PKDonor后的摘要比较,如果一致则说明数据没有被篡改。
以上所述实施例是用以说明本发明,并非用以限制本发明,所以举例数值的变更或等效元件的置换仍应隶属本发明的范畴。
由以上详细说明,可使本领域普通技术人员明了本发明的确可达成前述目的,实已符合专利法的规定。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,应当指出的是,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
应当注意的是,上述有关流程的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例有关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。因此,本申请的各个方面可以完全由硬件实施、可以完全由软件(包括固件、常驻软件、微代码等)实施、也可以由硬件和软件组合实施。以上硬件或软件均可被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
本申请各部分操作所需的计算机程序代码可以用任意一种或以上程序设计语言编写,包括如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等的面向对象程序设计语言、如C程序设计语言、VisualBasic、Fortran2103、Perl、COBOL2102、PHP、ABAP的常规程序化程序设计语言、如Python、Ruby和Groovy的动态程序设计语言或其它程序设计语言等。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,尽管上述各种组件的实现可以体现在硬件设备中,但是它也可以实现为纯软件解决方案,例如,在现有服务器或移动设备上的安装。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请的实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为反映所申明的客体需要比每个权利要求中明确记载的更多特征的意图。相反,发明的主体应具备比上述单一实施例更少的特征。

Claims (8)

1.溯源存储方法,其特征在于,包括如下步骤:
S1.生成数据拥有者私钥SKowner和数据使用者私钥SKuser,并由各自私钥计算出数据拥有者公钥PKowner和数据使用者公钥PKuser
S2.在上传数据时,将交易信息分为公开信息和隐私信息,使用私钥SKowner对所述公开信息进行对称加密得到公开信息密文,对所述隐私信息进行属性加密得到隐私信息密文;
S3.使用私钥SKowner对所述公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signowner
使用私钥SKuser对所述公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signuser
S4.使用公钥PKowner对所述公开信息密文、隐私信息密文和签名Signuser进行加密,得到第一密文数据;
使用公钥PKuser对所述公开信息密文、隐私信息密文和签名Signowner进行加密,得到第二密文数据;
S5.将所述公开信息密文和隐私信息密文的哈希值记录在链上,将所述第一密文数据和第二密文数据存储在链外。
2.根据权利要求1所述的溯源存储方法,其特征在于,S1中包括:
生成主密钥MK和公钥PK,并定义用户属性集Y;
使用密文策略属性基加密方法在访问结构下加密隐私信息M,得到密文C;
通过所述主密钥MK的方式创建与所述用户属性集Y相关联的解密密钥DK。
3.溯源方法,其特征在于,包括如下步骤:
执行权利要求1或2所述的溯源存储方法;
获取私钥SKowner,对所述第一密文数据进行解密,得到所述公开信息密文、隐私信息密文和签名Signuser
获取公钥PKuser,对所述公开信息密文、隐私信息密文和签名Signuser,进行解密和解签名,得到所述公开信息、隐私信息和摘要;
和/或,
获取私钥SKuser,对所述第二密文数据进行解密,得到所述公开信息密文、隐私信息密文和签名Signowner
获取公钥PKowner,对所述公开信息密文、隐私信息密文和签名Signowner,进行解密和解签名,得到所述公开信息、隐私信息和摘要。
4.根据权利要求3所述的溯源方法,其特征在于,将加密前的所述摘要与解密后得到的所述摘要进行比较,若一致,则数据没有被篡改。
5.溯源存储系统,其特征在于,包括:
密钥生成模块,用于生成数据拥有者私钥SKowner和数据使用者私钥SKuser,并由各自私钥计算出数据拥有者公钥PKowner和数据使用者公钥PKuser
第一加密模块,用于在上传数据时,将交易信息分为公开信息和隐私信息,使用私钥SKowner对所述公开信息进行对称加密得到公开信息密文,对所述隐私信息进行属性加密得到隐私信息密文;
签名模块,用于使用私钥SKowner对所述公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signowner
使用私钥SKuser对所述公开信息密文和隐私信息密文产生的摘要进行签名,得到签名Signuser
第二加密模块,用于使用公钥PKowner对所述公开信息密文、隐私信息密文和签名Signuser进行加密,得到第一密文数据;
使用公钥PKuser对所述公开信息密文、隐私信息密文和签名Signowner进行加密,得到第二密文数据;
存储模块,同于将所述公开信息密文和隐私信息密文的哈希值记录在链上,将所述第一密文数据和第二密文数据存储在链外。
6.根据权利要求5所述的溯源存储系统,其特征在于,还包括:
第一处理器,与所述密钥生成模块、第一加密模块、签名模块、第二加密模块和存储模块连接;
第一存储器,与所述第一处理器连接,并存储有可在所述第一处理器上运行的第一计算机程序;其中,当所述第一处理器执行所述第一计算机程序时,所述第一处理器控制所述密钥生成模块、第一加密模块、签名模块、第二加密模块和存储模块工作,以实现权利要求1或2所述的溯源存储方法。
7.溯源系统,其特征在于,包括:
执行权利要求3所述的溯源方法;
第一解密模块,用于获取私钥SKowner,对所述第一密文数据进行解密,得到所述公开信息密文、隐私信息密文和签名Signuser
第二解密模块,用于获取公钥PKuser,对所述公开信息密文、隐私信息密文和签名Signuser,进行解密和解签名,得到所述公开信息、隐私信息和摘要;
和/或,
第三解密模块,用于获取私钥SKuser,对所述第二密文数据进行解密,得到所述公开信息密文、隐私信息密文和签名Signowner
第四解密模块,用于获取公钥PKowner,对所述公开信息密文、隐私信息密文和签名Signowner,进行解密和解签名,得到所述公开信息、隐私信息和摘要。
8.根据权利要求7所述的溯源系统,其特征在于,还包括:
第二处理器,与所述第一解密模块、第二解密模块、第三解密模块和第四解密模块连接;
第二存储器,与所述第二处理器连接,并存储有可在所述第二处理器上运行的第二计算机程序;其中,当所述第二处理器执行所述第二计算机程序时,所述第二处理器控制所述第一解密模块、第二解密模块、第三解密模块和第四解密模块工作,以实现权利要求3或4所述的溯源方法。
CN202310541451.5A 2023-05-15 2023-05-15 溯源存储方法、溯源方法、溯源存储系统及溯源系统 Active CN116260662B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310541451.5A CN116260662B (zh) 2023-05-15 2023-05-15 溯源存储方法、溯源方法、溯源存储系统及溯源系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310541451.5A CN116260662B (zh) 2023-05-15 2023-05-15 溯源存储方法、溯源方法、溯源存储系统及溯源系统

Publications (2)

Publication Number Publication Date
CN116260662A CN116260662A (zh) 2023-06-13
CN116260662B true CN116260662B (zh) 2023-07-18

Family

ID=86681092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310541451.5A Active CN116260662B (zh) 2023-05-15 2023-05-15 溯源存储方法、溯源方法、溯源存储系统及溯源系统

Country Status (1)

Country Link
CN (1) CN116260662B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116188030A (zh) * 2022-11-23 2023-05-30 深圳华稷科技有限公司 一种秘方著作溯源方法及系统
CN117035740B (zh) * 2023-08-21 2024-04-19 广西科学院 桥梁结构检测监测与维修数据溯源系统的构建方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106503994A (zh) * 2016-11-02 2017-03-15 西安电子科技大学 基于属性加密的区块链隐私数据访问控制方法
CN108737374A (zh) * 2018-04-12 2018-11-02 三维通信股份有限公司 一种区块链中数据存储的隐私保护方法
CN111859446A (zh) * 2020-06-16 2020-10-30 北京农业信息技术研究中心 一种农产品溯源信息共享-隐私保护的方法及系统
CN112801664A (zh) * 2021-03-17 2021-05-14 广州弘晟计算机系统有限公司 基于区块链的智能合约供应链可信服务方法
CN114172667A (zh) * 2021-06-15 2022-03-11 支付宝(杭州)信息技术有限公司 基于合约的隐私存证方法及装置
CN114637808A (zh) * 2022-03-18 2022-06-17 中央财经大学 基于区块链技术的档案隐私保护和加密存证方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10541818B2 (en) * 2017-04-19 2020-01-21 International Business Machines Corporation Decentralized biometric signing of digital contracts
US11870747B2 (en) * 2020-11-09 2024-01-09 Mitel Networks Corporation Blockchain-driven certification of iterative electronic communications
CN113489733B (zh) * 2021-07-13 2022-07-29 郑州轻工业大学 基于区块链的内容中心网络隐私保护方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106503994A (zh) * 2016-11-02 2017-03-15 西安电子科技大学 基于属性加密的区块链隐私数据访问控制方法
CN108737374A (zh) * 2018-04-12 2018-11-02 三维通信股份有限公司 一种区块链中数据存储的隐私保护方法
CN111859446A (zh) * 2020-06-16 2020-10-30 北京农业信息技术研究中心 一种农产品溯源信息共享-隐私保护的方法及系统
CN112801664A (zh) * 2021-03-17 2021-05-14 广州弘晟计算机系统有限公司 基于区块链的智能合约供应链可信服务方法
CN114172667A (zh) * 2021-06-15 2022-03-11 支付宝(杭州)信息技术有限公司 基于合约的隐私存证方法及装置
CN114637808A (zh) * 2022-03-18 2022-06-17 中央财经大学 基于区块链技术的档案隐私保护和加密存证方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于区块链的数据管理方案;周艺华;李洪明;;信息安全研究(01);全文 *
基于区块链的水稻供应链溯源信息保护模型研究;于合龙;陈邦越;徐大明;杨信廷;孙传恒;;农业机械学报(08);全文 *
基于属性加密的云存储隐私保护机制研究;冯涛;殷潇雨;;网络与信息安全学报(07);全文 *

Also Published As

Publication number Publication date
CN116260662A (zh) 2023-06-13

Similar Documents

Publication Publication Date Title
US11620387B2 (en) Host attestation
US11171789B2 (en) System and method for implementing a resolver service for decentralized identifiers
US10824701B2 (en) System and method for mapping decentralized identifiers to real-world entities
CN116260662B (zh) 溯源存储方法、溯源方法、溯源存储系统及溯源系统
Li et al. FADB: A fine-grained access control scheme for VANET data based on blockchain
CN112019591B (zh) 一种基于区块链的云数据共享方法
US11483298B2 (en) Information masking using certificate authority
US10129034B2 (en) Signature delegation
US10243939B2 (en) Key distribution in a distributed computing environment
US10230525B2 (en) Public key rollup for merkle tree signature scheme
Kolhar et al. Cloud data auditing techniques with a focus on privacy and security
KR20190012969A (ko) 블록체인을 기반으로 한 데이터 접근 관리 시스템 및 데이터 접근 관리 방법
CN110430161B (zh) 一种基于区块链的可监管数据匿名分享方法及系统
US10880100B2 (en) Apparatus and method for certificate enrollment
WO2021174927A1 (zh) 基于区块链的身份校验方法、装置、设备及存储介质
US10237249B2 (en) Key revocation
Zhou et al. EverSSDI: blockchain-based framework for verification, authorisation and recovery of self-sovereign identity using smart contracts
CN110599163A (zh) 一种面向区块链交易监管的交易记录外包方法
Lai et al. Secure medical data sharing scheme based on traceable ring signature and blockchain
CN111368318B (zh) 一种面向多模态区块链交易的客体追踪方法
CN115001730A (zh) 分布式场景下基于角色属性的访问控制系统及方法
CN114866244A (zh) 基于密文分组链接加密的可控匿名认证方法、系统及装置
CN116248283A (zh) 区块链平台的多重签名方法、多重签名验证方法以及装置
CN117834151A (zh) 基于区块链的数据隐私保护方法、装置及电子设备
Sontakke et al. A Secure Multi-owner Multi-copy Facility with Privacy Preserving on Public Storage Cloud Dynamic Data

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