CN117574447B - 一种基于区块链技术的数据存证和溯源系统 - Google Patents

一种基于区块链技术的数据存证和溯源系统 Download PDF

Info

Publication number
CN117574447B
CN117574447B CN202410058839.4A CN202410058839A CN117574447B CN 117574447 B CN117574447 B CN 117574447B CN 202410058839 A CN202410058839 A CN 202410058839A CN 117574447 B CN117574447 B CN 117574447B
Authority
CN
China
Prior art keywords
data
user
storage
block
layer
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
CN202410058839.4A
Other languages
English (en)
Other versions
CN117574447A (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.)
China National Institute of Standardization
Original Assignee
China National Institute of Standardization
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 China National Institute of Standardization filed Critical China National Institute of Standardization
Priority to CN202410058839.4A priority Critical patent/CN117574447B/zh
Publication of CN117574447A publication Critical patent/CN117574447A/zh
Application granted granted Critical
Publication of CN117574447B publication Critical patent/CN117574447B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于区块链技术的数据存证和溯源系统,所述系统自上而下包括:应用层、逻辑层、连接层和存储层;所述应用层用于接收判断用户的存证和溯源访问请求,所述逻辑层响应与用户的访问请求对数据片段进行加密和存储节点分配;连接层用于将逻辑层的计算结果与存储层的存储区进行锚定,实现数据文件的上链和查询,所述存储层根据存储节点分配的情况完成数据存储。本发明在确保电子数据的真实性、完整性和唯一性的同时,提高了数据溯源的效率,能够给司法鉴定工作提供参考。

Description

一种基于区块链技术的数据存证和溯源系统
技术领域
本发明涉及数据存证和溯源技术领域,特别是涉及一种基于区块链技术的数据存证和溯源系统。
背景技术
当前的电子数据存证和溯源系统中,电子数据的加密和签名通常与数据固定保存是在不同的平台中实现。而在这一系列数据加工和传输的过程中,电子证据也容易被人为篡改和伪造,同时在传输的过程中存在差错和故障的可能性,对司法取证和查验带来不确定性。
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式证据;在公开专利中,CN116166894A公开了一种存证溯源方法,根据溯源请求携带的存证唯一标识,从所述区块链网络中查找出所述存证唯一标识所对应的存证摘要,所述溯源请求携带所述存证唯一标识;所述存证摘要中可信时空戳中的项目标识码和地理坐标,在所述区块链网络中查询出在所述地理坐标对应操作站点上传的所述项目标识码对应的所有存证摘要,提取时空戳通过溯源算法生成项目溯源时间链并反馈至用户侧;然而上述方法并未公开数据存证的具体流程以及基于区块链进行数据存证和溯源的机制。
发明内容
有鉴于此,本发明提供一种基于区块链技术的数据存证和溯源系统,实现数据存证和溯源。
本发明的具体技术方案如下:
一种基于区块链技术的数据存证和溯源系统,该系统自上而下包括:应用层、逻辑层、连接层和存储层。
所述应用层包括:存证访问模块和溯源访问模块;所述应用层用于接收判断用户的存证访问请求,并将请求信息和存证文件发送至逻辑层进行数据运算;所述应用层还用于接收用户的溯源访问请求,并将溯源结果反馈给用户。
所述逻辑层包括:加解密模块、哈希值校验模块和存储节点分配模块;所述逻辑层响应与所述用户的存证访问请求和所述存证文件,生成带有时间维度和用户IP信息的存证数据,并将所述存证数据随机拆分为至少两个数据片段,分别对所述数据片段进行加密和存储节点分配。
进一步的,所述加解密模块用于对用户的存证文件进行加密和解密,当所述应用层接收到用户的存证访问请求时,所述逻辑层首先基于存证访问的用户信息和存证文件生成带有时间维度和用户IP信息的存证数据;加解密模块将存证数据进行拆分后分别进行加密操作;
每一个数据片段对应生成一个哈希值并将所述哈希值保存在哈希值校验模块中,基于用户私钥对每一个数据片段生成公钥并进行数据签名。
进一步的,采用椭圆曲线法基于用户私钥生成公钥:随机选定一条椭圆曲线Ep(a,b),并随机取椭圆曲线上一点作为基点G;用户的私钥为k,则公钥K=kG。
所述连接层用于将逻辑层的计算结果与存储层的存储区进行锚定,实现数据文件的上链和查询。
所述存储层采用区块链数据技术,包括:网络模块和数据存储模块;所述网络模块用于验证数据存储信息并生成新区块,所述数据存储模块用于根据存储节点分配的情况完成数据存储。
进一步的,当所述数据存储模块收到所述连接层的数据存储请求时,假定区块链系统之中存在N个节点,其中宕机节点有n个,N≥2n+1,根据整个数据存储系统中节点识别出其中的主节点和副节点;
当链接层向节点发送上链或查询请求Request,如果该节点是主节点,则将请求封装成Pre-Prepare消息并广播消息,如果是副节点,则不做共识处理;
当主节点接受到Pre-Prepare消息,先验证是否是其他主节点发送的消息,如果不是其他主节点发送的Pre-Prepare消息,则抛弃消息,如果是,则向自身和其他节点发送Prepare消息;
当某一主节点接受到2n+1个Prepare消息,该主节点将请求同步到区块链上并向连接层发送Reply消息,完成数据存储。
所述存储层中的区块链数据结构采用区块头加区块体的结构,所述区块头中包含有区块头由当前版本号Version、前一区块hash值Prev-Hash、时间戳Timestamp、难度值Nonce以及Merkle根Merkle-root;在生成新区块时,若后一节点未获得前一区块的hash值,则不产生新区块,所述区块头的字节数为128。
进一步的,所述哈希值校验模块用于对用户查询的文件进行完整性校验,当所述应用层接收到用户的溯源访问请求时,所述逻辑层基于用户的溯源文件获得文件拆分后的各个数据片段;对各个数据片段分别进行哈希值计算,将计算结果与所述哈希值校验模块中存储的哈希值进行一一比较,若全部都相同,则证明溯源文件未被其他因素所破坏或篡改数据。
进一步的,所述区块体中存储的数据作为Merkle树的叶节点,通过自底向上的哈希计算得到Merkle-root值;
当区块数据被篡改或破坏时,区块Merkle-root值发生改变,则后一区块中区块头的Pre-Hash值将发生改变。
本发明的有益效果是:
本发明的数据存证和溯源系统自上而下分为四层,采用区块链技术,将存证数据进行数据随机拆分并分别加密,采用数据拆分方法保证存证的安全性,采用哈希算法保证存证的完整性,采用共识算法保障节点间数据一致性,根据用户私钥对每一个数据片段生成公钥并进行数据签名,当某一数据区块被篡改时,可以利用Merkle树快速找出篡改部分,在确保电子数据的真实性、完整性和唯一性的同时,提高了数据溯源的效率,能够给司法鉴定工作提供参考。
附图说明
图1为本发明的一种基于区块链技术的数据存证和溯源系统组成示意图。
图2为本发明的区块链数据结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
一种基于区块链技术的数据存证和溯源系统,该系统自上而下包括:应用层、逻辑层、连接层和存储层。
应用层包括:存证访问模块和溯源访问模块;应用层用于接收判断用户的存证访问请求,并将请求信息和存证文件发送至逻辑层进行数据运算;应用层还用于接收用户的溯源访问请求,并将溯源结果反馈给用户。
逻辑层包括:加解密模块、哈希值校验模块和存储节点分配模块;逻辑层响应与用户的存证访问请求和存证文件,生成带有时间维度和用户IP信息的存证数据,并将存证数据随机拆分为至少两个数据片段,分别对数据片段进行加密和存储节点分配。
需要说明的是,加解密模块用于对用户的存证文件进行加密和解密,当应用层接收到用户的存证访问请求时,逻辑层首先基于存证访问的用户信息和存证文件生成带有时间维度和用户IP信息的存证数据;加解密模块将存证数据进行拆分后分别进行加密操作;
每一个数据片段对应生成一个哈希值并将哈希值保存在哈希值校验模块中,基于用户私钥对每一个数据片段生成公钥并进行数据签名,系统通过个人用户的一对公私钥对用户进行识别管理,每当用户登录系统时对用户的身份信息进行识别,并在区块链上存储当前用户的登录信息,而私钥则由用户个人进行保管,可以避免发生窜用导致的数据泄露。
采用椭圆曲线法基于用户私钥生成公钥:随机选定一条椭圆曲线Ep(a,b),并随机取椭圆曲线上一点作为基点G;用户的私钥为k,则公钥K=kG。
用户私钥的生成算法可以基于JAVA,其程序算法如下,在此只提供一种参考方法。
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.PublicKey;
public class GenerateKeys { public static void main(String[] args)throws No Such Algorithm Exception { KeyPairGenerator keyPairGenerator =KeyPairGenerator.getInstance("RSA");// 使用RSA算法生成密钥对
keyPairGenerator.initialize(2048); // 指定密钥长度
KeyPair keyPair = keyPairGenerator.generateKeyPair();
PublicKey publicKey = keyPair.getPublic();
PrivateKey privateKey = keyPair.getPrivate(); // 获取私钥
System.out.println("Public Key: " + publicKey); System.out.println("Private Key: " + privateKey); } }。
连接层用于将逻辑层的计算结果与存储层的存储区进行锚定,实现数据文件的上链和查询。
存储层采用区块链数据技术,包括:网络模块和数据存储模块;网络模块用于验证数据存储信息并生成新区块,数据存储模块用于根据存储节点分配的情况完成数据存储。
当数据存储模块收到连接层的数据存储请求时,假定区块链系统之中存在N个节点,其中宕机节点有n个,N≥2n+1,根据整个数据存储系统中节点识别出其中的主节点和副节点;
当链接层向节点发送上链或查询请求Request,如果该节点是主节点,则将请求封装成Pre-Prepare消息并广播消息,如果是副节点,则不做共识处理;
当主节点接受到Pre-Prepare消息,先验证是否是其他主节点发送的消息,如果不是其他主节点发送的Pre-Prepare消息,则抛弃消息,如果是,则向自身和其他节点发送Prepare消息;
当某一主节点接受到2n+1个Prepare消息,该主节点将请求同步到区块链上并向连接层发送Reply消息,完成数据存储。
如图2所示,存储层中的区块链数据结构采用区块头加区块体的结构,区块头中包含有区块头由当前版本号Version、前一区块hash值Prev-Hash、时间戳Timestamp、难度值Nonce以及Merkle根Merkle-root;在生成新区块时,若后一节点未获得前一区块的hash值,则不产生新区块,区块头的字节数为128;区块体中记录经过共识算法后写入区块的所有数据,t 时刻生成的区块Bt数据结构可以描述为:,其中,txn表示当前区块第n个交易数据。
哈希值校验模块用于对用户查询的文件进行完整性校验,当应用层接收到用户的溯源访问请求时,逻辑层基于用户的溯源文件获得文件拆分后的各个数据片段;对各个数据片段分别进行哈希值计算,将计算结果与哈希值校验模块中存储的哈希值进行一一比较,若全部都相同,则证明溯源文件未被其他因素所破坏或篡改数据。
区块体中存储的数据作为Merkle树的叶节点,通过自底向上的哈希计算得到Merkle-root值;当区块数据被篡改或破坏时,区块Merkle-root值发生改变,则后一区块中区块头的Pre-Hash值将发生改变。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种基于区块链技术的数据存证和溯源系统,其特征在于,所述系统自上而下包括:应用层、逻辑层、连接层和存储层;
所述应用层包括:存证访问模块和溯源访问模块;所述应用层用于接收判断用户的存证访问请求,并将请求信息和存证文件发送至逻辑层进行数据运算;所述应用层还用于接收用户的溯源访问请求,并将溯源结果反馈给用户;
所述逻辑层包括:加解密模块、哈希值校验模块和存储节点分配模块;所述逻辑层响应于所述用户的存证访问请求和所述存证文件,生成带有时间维度和用户IP信息的存证数据,并将所述存证数据随机拆分为至少两个数据片段,分别对所述数据片段进行加密和存储节点分配;每当用户登录系统时对用户的身份信息进行识别,并在区块链上存储当前用户的登录信息,而私钥则由用户个人进行保管;
所述加解密模块用于对用户的存证文件进行加密和解密,当所述应用层接收到用户的存证访问请求时,所述逻辑层首先基于存证访问的用户信息和存证文件生成带有时间维度和用户IP信息的存证数据;加解密模块将存证数据进行拆分后分别进行加密操作;每一个数据片段对应生成一个哈希值并将所述哈希值保存在哈希值校验模块中,基于用户私钥对每一个数据片段生成公钥并进行数据签名;采用椭圆曲线法基于用户私钥生成公钥:随机选定一条椭圆曲线Ep(a,b),并随机取椭圆曲线上一点作为基点G;用户的私钥为k,则公钥K=kG;
所述哈希值校验模块用于对用户查询的文件进行完整性校验,当所述应用层接收到用户的溯源访问请求时,所述逻辑层基于用户的溯源文件获得文件拆分后的各个数据片段;对各个数据片段分别进行哈希值计算,将计算结果与所述哈希值校验模块中存储的哈希值进行一一比较,若全部都相同,则证明溯源文件未被其他因素所破坏或篡改数据;
所述连接层用于将逻辑层的计算结果与存储层的存储区进行锚定,实现数据文件的上链和查询;
所述存储层采用区块链数据技术,包括:网络模块和数据存储模块;所述网络模块用于验证数据存储信息并生成新区块,所述数据存储模块用于根据存储节点分配的情况完成数据存储;所述存储层中的区块链数据结构采用区块头加区块体的结构,所述区块头中包含有区块头由当前版本号Version、前一区块hash值Prev-Hash、时间戳Timestamp、难度值Nonce以及Merkle根Merkle-root;在生成新区块时,若后一节点未获得前一区块的hash值,则不产生新区块;在生成新区块时,若后一节点未获得前一区块的hash值,则不产生新区块,区块体中记录经过共识算法后写入区块的所有数据,t时刻生成的区块Bt数据结构描述为:,其中,txn表示当前区块第n个交易数据;
所述数据存储模块用于根据数据存储节点分配的情况完成数据存储,包括:当所述数据存储模块收到所述连接层的数据存储请求时,假定区块链系统之中存在N个节点,其中宕机节点有n个,N≥2n+1,根据整个数据存储系统中节点识别出其中的主节点和副节点;
当链接层向节点发送上链或查询请求Request,如果该节点是主节点,则将请求封装成Pre-Prepare消息并广播消息,如果是副节点,则不做共识处理;
当主节点接受到Pre-Prepare消息,先验证是否是其他主节点发送的消息,如果不是其他主节点发送的Pre-Prepare消息,则抛弃消息,如果是,则向自身和其他节点发送Prepare消息;
当某一主节点接受到2n+1个Prepare消息,该主节点将请求同步到区块链上并向连接层发送Reply消息,完成数据存储。
2.根据权利要求1所述的基于区块链技术的数据存证和溯源系统,其特征在于,所述区块体中存储的数据作为Merkle树的叶节点,通过自底向上的哈希计算得到Merkle-root值;
当区块数据被篡改或破坏时,区块Merkle-root值发生改变,则后一区块中区块头的Pre-Hash值将发生改变。
3.根据权利要求2所述的基于区块链技术的数据存证和溯源系统,其特征在于,所述区块头的字节数为128。
CN202410058839.4A 2024-01-16 2024-01-16 一种基于区块链技术的数据存证和溯源系统 Active CN117574447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410058839.4A CN117574447B (zh) 2024-01-16 2024-01-16 一种基于区块链技术的数据存证和溯源系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410058839.4A CN117574447B (zh) 2024-01-16 2024-01-16 一种基于区块链技术的数据存证和溯源系统

Publications (2)

Publication Number Publication Date
CN117574447A CN117574447A (zh) 2024-02-20
CN117574447B true CN117574447B (zh) 2024-04-16

Family

ID=89886652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410058839.4A Active CN117574447B (zh) 2024-01-16 2024-01-16 一种基于区块链技术的数据存证和溯源系统

Country Status (1)

Country Link
CN (1) CN117574447B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111507709A (zh) * 2020-03-25 2020-08-07 农业农村部农药检定所(国际食品法典农药残留委员会秘书处) 一种数据溯源系统
CN113065961A (zh) * 2021-03-22 2021-07-02 江苏派智信息科技有限公司 一种电力区块链数据管理系统
CN113221159A (zh) * 2021-04-19 2021-08-06 湖北邮电规划设计有限公司 一种基于区块链的疫情上报系统
WO2023050555A1 (zh) * 2021-09-28 2023-04-06 中诚区块链研究院(南京)有限公司 一种高性能分布式存储区块数据、时间戳、跨链通信与数据协同方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111507709A (zh) * 2020-03-25 2020-08-07 农业农村部农药检定所(国际食品法典农药残留委员会秘书处) 一种数据溯源系统
CN113065961A (zh) * 2021-03-22 2021-07-02 江苏派智信息科技有限公司 一种电力区块链数据管理系统
CN113221159A (zh) * 2021-04-19 2021-08-06 湖北邮电规划设计有限公司 一种基于区块链的疫情上报系统
WO2023050555A1 (zh) * 2021-09-28 2023-04-06 中诚区块链研究院(南京)有限公司 一种高性能分布式存储区块数据、时间戳、跨链通信与数据协同方法

Also Published As

Publication number Publication date
CN117574447A (zh) 2024-02-20

Similar Documents

Publication Publication Date Title
CN109409122B (zh) 文件存储方法及其电子设备、存储介质
CN112435024B (zh) 基于群签名和ca多方认证的联盟链跨链隐私保护方法
CN107846282B (zh) 一种基于区块链技术的电子数据分布式保管方法及系统
WO2022042301A1 (zh) 一种数据处理方法、装置、智能设备及存储介质
JP3858527B2 (ja) データ生成装置およびデータ検証装置ならびにその方法
CN107742212B (zh) 基于区块链的资产验证方法、装置及系统
CA2408437A1 (en) Method and apparatus for managing secure collaborative transactions
EP1714420A1 (en) One way authentication
CN114553416A (zh) 一种对应用程序接口做签名验签的数据加密处理方法
CN113312608B (zh) 一种基于时间戳的电力计量终端身份认证方法及系统
CN112732695B (zh) 一种基于区块链的云存储数据安全去重方法
CN114638625B (zh) 一种基于大数据的农业全产业链溯源方法、系统及云平台
CN112163191A (zh) 一种基于国密区块链的教育资源共享方法及系统
CN110941857A (zh) 一种区块链智能合约平台的隐私管理系统及其方法
CN109150861A (zh) 区块链网络通信系统
Zhang et al. Provably secure cloud storage for mobile networks with less computation and smaller overhead
CN111327419A (zh) 基于秘密共享的抗量子计算区块链的方法及系统
Ramkumar Executing large-scale processes in a blockchain
CN112954039A (zh) 一种区块链存证方法
CN114329621A (zh) 一种区块链跨链交互数据完整性验证方法
CN112926983A (zh) 一种基于区块链的存证交易加密系统及方法
CN114697038A (zh) 一种抗量子攻击的电子签章方法和系统
CN111737766B (zh) 一种在区块链中判断数字证书签名数据合法性的方法
CN117574447B (zh) 一种基于区块链技术的数据存证和溯源系统
CN113079015A (zh) 一种电力数据防伪造加密验证方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant