CN110995447B - 一种数据存证方法、装置、设备以及介质 - Google Patents

一种数据存证方法、装置、设备以及介质 Download PDF

Info

Publication number
CN110995447B
CN110995447B CN201911307371.3A CN201911307371A CN110995447B CN 110995447 B CN110995447 B CN 110995447B CN 201911307371 A CN201911307371 A CN 201911307371A CN 110995447 B CN110995447 B CN 110995447B
Authority
CN
China
Prior art keywords
data
user
encrypted data
signature
encrypted
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
CN201911307371.3A
Other languages
English (en)
Other versions
CN110995447A (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.)
Hangzhou Yuncui Liutu Network Technology Co ltd
Original Assignee
Hangzhou Yuncui Liutu Network Technology Co ltd
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 Hangzhou Yuncui Liutu Network Technology Co ltd filed Critical Hangzhou Yuncui Liutu Network Technology Co ltd
Priority to CN201911307371.3A priority Critical patent/CN110995447B/zh
Publication of CN110995447A publication Critical patent/CN110995447A/zh
Application granted granted Critical
Publication of CN110995447B publication Critical patent/CN110995447B/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
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/321Cryptographic 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
    • H04L9/3213Cryptographic 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 using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

本发明公开了一种数据存证方法,该方法包括:将存证数据上传至区块链,存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名;第一加密数据为使用第一加密密钥对数据加密后的加密数据,第一用户可通过第一加密密钥查看第一加密文件;第一签名为使用第一用户的私钥对第一标签数据计算后的签名结果,第一标签数据包括数据摘要、第一随机数以及第一加密数据;数据摘要是将数据哈希计算得到的哈希值;第二加密数据为使用第二加密密钥对数据加密后的加密数据,第二用户可通过所述第二加密密钥查看所述第二加密文件;第二签名为使用第二用户的私钥对第二标签数据计算后的签名结果。

Description

一种数据存证方法、装置、设备以及介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据存证方法、装置、设备以及介质。
背景技术
区块链技术是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用技术集合。从数据角度来看,区块链按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,所述数据结构通过密码学方式保证其不可篡改和不可伪造。从技术角度来看,区块链技术整合了多种不同的技术,通过构建区块链网络,使得网络内的每个节点都允许获得一份完整的数据块拷贝,并基于共识机制以及竞争计算来维持基于区块链的数据块的更新。由此,通过多节点沟通构成的端到端网络实现数据存储和管理的去中心化和去信任。
现有技术中,在区块链进行共识存证时安全性较低,使得用户在区块链进行共识存证时体验不佳。
发明内容
本发明的目的在于针对现有技术的不足之处,提供了一种数据存证方法、装置、设备以及介质,以解决现有技术中存在的问题。
为解决上述技术问题,本说明书是这样实现的:
第一方面,本说明书提供的一种数据存证方法,该方法包括:
将存证数据上传至区块链,其中,所述存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名;
所述第一加密数据为使用第一加密密钥对数据加密后的加密数据,其中,所述第一用户可通过所述第一加密密钥查看所述第一加密文件;
所述第一签名为使用第一用户的私钥对第一标签数据计算后的签名结果,其中,第一标签数据包括数据摘要以及第一加密数据;
所述数据摘要是将所述数据哈希计算得到的哈希值;
所述第二加密数据为使用第二加密密钥对数据加密后的加密数据,其中,所述第二用户可通过所述第二加密密钥查看所述第二加密文件;
所述第二签名为使用第二用户的私钥对第二标签数据计算后的签名结果,其中,第二标签数据至少包括第二加密数据。
进一步的,所述存证数据还包括属于第一用户的第一随机数以及属于第二用户的第二随机数;
所述第一加密密钥为使用第一随机数据与第一用户的私钥经过哈希计算生成的加密密钥;
所述第二加密密钥为使用第二随机数据与第二用户的私钥经过哈希计算生成的加密密钥;
所述第一标签数据还包括第一随机数;
所述第二标签数据还包括第二随机数。
进一步的,所述将存证数据上传至区块链前,所述方法还包括:
接收所述第一用户的第一加密数据、第一签名、数据摘要以及第三加密数据,其中,所述第三加密数据是第一用户通过第二用户的公钥得出的加密数据;
在判断出所述第三加密数据正确时,执行所述将存证数据上传至区块链的步骤。
进一步的,所述判断出所述第三加密数据正确,具体包括:
根据所述第二用户的私钥对所述第三加密数据解密,得到待验证的数据;
将所述待验证的数据进行哈希计算,得到计算结果;
当判断出所述计算结果与所述数据摘要相同时,则判断出所述第三加密数据正确。
第二方面,本说明书提供的一种数据存证装置,所述装置还包括:
上传单元,用于将存证数据上传至区块链,其中,所述存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名;
所述第一加密数据为使用第一加密密钥对数据加密后的加密数据,其中,所述第一用户可通过所述第一加密密钥查看所述第一加密文件;
所述第一签名为使用第一用户的私钥对第一标签数据计算后的签名结果,其中,第一标签数据包括数据摘要以及第一加密数据;
所述数据摘要是将所述数据哈希计算得到的哈希值;
所述第二加密数据为使用第二加密密钥对数据加密后的加密数据,其中,所述第二用户可通过所述第二加密密钥查看所述第二加密文件;
所述第二签名为使用第二用户的私钥对第二标签数据计算后的签名结果,其中,第二标签数据至少包括第二加密数据。
进一步的,所述存证数据还包括属于第一用户的第一随机数以及属于第二用户的第二随机数;
所述第一加密密钥为使用第一随机数据与第一用户的私钥经过哈希计算生成的加密密钥;
所述第二加密密钥为使用第二随机数据与第二用户的私钥经过哈希计算生成的加密密钥;
所述第一标签数据还包括第一随机数;
所述第二标签数据还包括第二随机数。
所述装置还包括:
接收单元,用于接收所述第一用户的第一加密数据、第一签名、数据摘要以及第三加密数据,其中,所述第三加密数据是第一用户通过第二用户的公钥得出的加密数据;
判断单元,用于在判断出所述第三加密数据正确时,执行所述上传单元。
进一步的,所述判断单元具体用于:
根据所述第二用户的私钥对所述第三加密数据解密,得到待验证的数据;
将所述待验证的数据进行哈希计算,得到计算结果;
当判断出所述计算结果与所述数据摘要相同时,则判断出所述第三加密数据正确。
第三方面,本说明书提供了一种数据存证设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行下述装置:
上传单元,用于将存证数据上传至区块链,其中,所述存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名;
所述第一加密数据为使用第一加密密钥对数据加密后的加密数据,其中,所述第一用户可通过所述第一加密密钥查看所述第一加密文件;
所述第一签名为使用第一用户的私钥对第一标签数据计算后的签名结果,其中,第一标签数据包括数据摘要以及第一加密数据;
所述数据摘要是将所述数据哈希计算得到的哈希值;
所述第二加密数据为使用第二加密密钥对数据加密后的加密数据,其中,所述第二用户可通过所述第二加密密钥查看所述第二加密文件;
所述第二签名为使用第二用户的私钥对第二标签数据计算后的签名结果,其中,第二标签数据至少包括第二加密数据。
第四方面,本说明书提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行下述方法:
将存证数据上传至区块链,其中,所述存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名;
所述第一加密数据为使用第一加密密钥对数据加密后的加密数据,其中,所述第一用户可通过所述第一加密密钥查看所述第一加密文件;
所述第一签名为使用第一用户的私钥对第一标签数据计算后的签名结果,其中,第一标签数据包括数据摘要以及第一加密数据;
所述数据摘要是将所述数据哈希计算得到的哈希值;
所述第二加密数据为使用第二加密密钥对数据加密后的加密数据,其中,所述第二用户可通过所述第二加密密钥查看所述第二加密文件;
所述第二签名为使用第二用户的私钥对第二标签数据计算后的签名结果,其中,第二标签数据至少包括第二加密数据。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
本发明通过将存证数据上传至区块链,存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名,由于第一用户的第一加密数据与第二用户的第二加密数据是经过加密处理得出的数据,增加了共识存证时安全性较低,使得用户在区块链进行共识存证时体验更好。此外,在存证数据中包括属于第一用户的第一签名与属于第二用户的第二签名,使得其他用户可以得知第一加密数据属于第一用户,使得其他用户可以得知第二加密数据属于第二用户。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图得出其他的附图。
图1为本说明书实施例一提供的数据存证方法的流程示意图;
图2为本说明书实施例一提供的信息验证的流程示意图;
图3为本说明书实施例二提供的数据存证方法的结构示意图。
具体实施方式
针对上述技术问题,提出本申请的技术方案,为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所得出的所有其他实施例,都应当属于本申请保护的范围。
图1为本说明书实施例一提供的一种数据存证方法的流程示意图,本实施例的执行主体可以为第二用户的客户端,该流程示意图包括:
步骤S101,第二用户的客户端接收第一用户的第一加密数据、第一签名、数据摘要以及第三加密数据,其中,所述第三加密数据是第一用户通过第二用户的公钥得出的加密数据。
步骤S102,判断第三加密数据是否正确,若是,则执行步骤S103;若否,则终止流程。
判断第三加密数据的步骤可以为:
根据第二用户的私钥对第三加密数据解密,得到待验证的数据;
将所述待验证的数据进行哈希计算,得到计算结果;
判断计算结果与数据摘要是否相同;
若判断出计算结果与数据摘要相同时,则判断出第三加密数据正确,可以执行步骤S103。
步骤S103,第二用户的客户端将存证数据上传至区块链,其中,存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名。
在本说明书实施例的步骤S103中,第一加密数据为使用第一加密密钥对数据加密后的加密数据,在第二用户的客户端将第一加密上传至区块链后,若是第一用户想要查看未加密的第一加密数据,第一用户可通过第一加密密钥查看第一加密文件。
第一签名可以为使用第一用户的私钥对第一标签数据计算后的签名结果,其中,第一标签数据包括数据摘要以及第一加密数据。第一签名可以表明第一标签数据属于第一用户,其他用户可以通过第一用户的公钥进行验证,第一用户的公钥可以通过区块链进行查询,比如,用户A使用第一用户的公钥对第一签名计算后得出待验证的标签数据,若是待验证的标签数据经过对比后与第一标签数据相同,则说明第一签名属于第一用户,第一标签所包含的第一加密数据与数据摘要属于第一用户。
数据摘要是将所述数据哈希计算得到的哈希值。
第二加密数据为使用第二加密密钥对数据加密后的加密数据,其中,第二用户可通过所述第二加密密钥查看所述第二加密文件,在第二用户的客户端将第二加密上传至区块链后,若是第二用户想要查看未加密的原始数据,第二用户可通过第二加密密钥查看第二加密文件。
第二签名可以为使用第二用户的私钥对第二标签数据计算后的签名结果,其中,第二标签数据至少包括第二加密数据。第二签名可以表明第二标签数据属于第一用户,其他用户可以通过第一用户的公钥进行验证,第一用户的公钥可以通过区块链进行查询,比如,用户A使用第二用户的公钥对第二签名计算后得出待验证的标签数据,若是待验证的标签数据经过对比后与第二标签数据相同,则说明第二签名属于第二用户,第二标签所包含的第二加密数据与数据摘要属于第二用户。
可选的,存证数据还包括属于第一用户的第一随机数以及属于第二用户的第二随机数,即,第二用户的客户端接收第一用户的第一加密数据、第一签名、数据摘要以及第三加密数据时,第二用户的客户端还接收第一随机数,第一标签数据还包括第一随机数,第二标签数据还包括第二随机数。
第一签名还可以为使用第一用户的私钥对第一标签数据及第一随机数计算后的签名结果,第一签名=hash(第一加密数据,第一随机数,数据摘要),其中,第一标签数据包括数据摘要以及第一加密数据。
第二签名还可以为使用第二用户的私钥对第二标签数据及第二随机数计算后的签名结果,第二签名=hash(第二加密数据,第二随机数,数据摘要)其中,第二标签数据至少包括数据摘要以及第二加密数据。
第一加密密钥为使用第一随机数据与第一用户的私钥经过哈希计算生成的加密密钥。
第二加密密钥为使用第二随机数据与第二用户的私钥经过哈希计算生成的加密密钥。
针对上述方案,本实施例还提供了一种双方数据存证的流程,本流程中的用户A的客户端与用户B的客户端可以应用在微信、QQ等社交APP中,用户A进入用户A的客户端,并向用户A的客户端上传需要共识的数据,之后选择需要共识的对象用户B,再查找用户B的公钥,之后从区块链获取用户B的公钥,接着利用用户A的私钥与第一随机数生成第一加密密钥Ai,再利用用户A的Ai和B的公钥分别加密数据,得到第一加密数据与第三加密数据,利用用户B的私钥与第二随机数生成第二加密密钥Bj,接着利用用户B的Bj加密数据得到第二加密数据。并用用户A的私钥对包括第一加密数据和数据摘要的第一标签数据计算后签名,得到第一签名,用用户B的私钥对包括第二加密数据、数据摘要以及第二随机数签名,得到第二签名。之后向用户B的客户端发送第一随机数、第一加密数据、第二加密数据、数据摘要以及第一签名,客户B的客户端接获取用户A的第一随机数、第一加密数据、第二加密数据、数据摘要以及第一签名,向第二加密数据中输入用户B的私钥解出数据,再对数据进行哈希计算,得出待验证数据,接着对比待验证数据与数据摘要是否相同,若否,则结束流程;若是,将数据上传至区块链。
针对上述方案,本实施例还提供了一种信息验证的流程,参见图2,此时的场景为用户A需要查看自己的第一加密数据,用户A先进入用户A的客户端,之后在用户A的客户端查看第一加密数据,再判断本地是否存在第一加密数据,若是,则根据信息辅助记词选择第一加密信息,其中,信息辅助词相当于给信息添加一个备注信息,之后输入用户A的第一加密密钥进行解密,接着输入用户A的第一加密密钥进行解密,得到解密信息,最后查看解密信息;若否,则在区块链中根据信息辅助记词选择第一加密信息,之后输入用户A的第一加密密钥进行解密,接着输入用户A的第一加密密钥进行解密,得到解密信息,最后查看解密信息。
上述的技术特征可以应用任何APP,进而保护APP用户的数据,保护用户对自己私钥的保管性。本发明也可以应用到多方数据存证中,例如可以有N个用户对同一个数据进行存证。
本发明通过将存证数据上传至区块链,存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名,由于第一用户的第一加密数据与第二用户的第二加密数据是经过加密处理得出的数据,增加了共识存证时安全性较低,使得用户在区块链进行共识存证时体验更好。此外,在存证数据中包括属于第一用户的第一签名与属于第二用户的第二签名,使得其他用户可以得知第一加密数据属于第一用户,使得其他用户可以得知第二加密数据数据属于第二用户。
与上述实施例二对应的,本发明实施例二还提供了一种数据存证装置,参见图3示出的数据存证装置的结构示意图,该结构示意图包括:上传单元1、接收单元2以及判断单元3。
上传单元1用于将存证数据上传至区块链,其中,所述存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名;
所述第一加密数据为使用第一加密密钥对数据加密后的加密数据,其中,所述第一用户可通过所述第一加密密钥查看所述第一加密文件;
所述第一签名为使用第一用户的私钥对第一标签数据计算后的签名结果,其中,第一标签数据包括数据摘要以及第一加密数据;
所述数据摘要是将所述数据哈希计算得到的哈希值;
所述第二加密数据为使用第二加密密钥对数据加密后的加密数据,其中,所述第二用户可通过所述第二加密密钥查看所述第二加密文件;
所述第二签名为使用第二用户的私钥对第二标签数据计算后的签名结果,其中,第二标签数据至少包括以及第二加密数据。
进一步的,所述存证数据还包括属于第一用户的第一随机数以及属于第二用户的第二随机数;
所述第一加密密钥为使用第一随机数据与第一用户的私钥经过哈希计算生成的加密密钥;
所述第二加密密钥为使用第二随机数据与第二用户的私钥经过哈希计算生成的加密密钥;
所述第一标签数据还包括第一随机数;
所述第二标签数据还包括第二随机数。
接收单元2用于接收所述第一用户的第一加密数据、第一签名、数据摘要以及第三加密数据,其中,所述第三加密数据是第一用户通过第二用户的公钥得出的加密数据;
判断单元3用于在判断出所述第三加密数据正确时,执行上传单元。
进一步的,所述判断单元具体用于:
根据所述第二用户的私钥对所述第三加密数据解密,得到待验证的数据;
将所述待验证的数据进行哈希计算,得到计算结果;
当判断出所述计算结果与所述数据摘要相同时,则判断出所述第三加密数据正确。
本发明通过将存证数据上传至区块链,存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名,由于第一用户的第一加密数据与第二用户的第二加密数据是经过加密处理得出的数据,增加了共识存证时安全性较低,使得用户在区块链进行共识存证时体验更好。此外,在存证数据中包括属于第一用户的第一签名与属于第二用户的第二签名,使得其他用户可以得知第一加密数据属于第一用户,使得其他用户可以得知第二加密数据数据属于第二用户。
本说明书提供了一种数据存证设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行下述装置:
上传单元,用于将存证数据上传至区块链,其中,所述存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名;
所述第一加密数据为使用第一加密密钥对数据加密后的加密数据,其中,所述第一用户可通过所述第一加密密钥查看所述第一加密文件;
所述第一签名为使用第一用户的私钥对第一标签数据计算后的签名结果,其中,第一标签数据包括数据摘要以及第一加密数据;
所述数据摘要是将所述数据哈希计算得到的哈希值;
所述第二加密数据为使用第二加密密钥对数据加密后的加密数据,其中,所述第二用户可通过所述第二加密密钥查看所述第二加密文件;
所述第二签名为使用第二用户的私钥对第二标签数据计算后的签名结果,其中,第二标签数据至少包括以及第二加密数据。
本发明通过将存证数据上传至区块链,存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名,由于第一用户的第一加密数据与第二用户的第二加密数据是经过加密处理得出的数据,增加了共识存证时安全性较低,使得用户在区块链进行共识存证时体验更好。此外,在存证数据中包括属于第一用户的第一签名与属于第二用户的第二签名,使得其他用户可以得知第一加密数据属于第一用户,使得其他用户可以得知第二加密数据数据属于第二用户。
本说明书提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行下述方法:
将存证数据上传至区块链,其中,所述存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名;
所述第一加密数据为使用第一加密密钥对数据加密后的加密数据,其中,所述第一用户可通过所述第一加密密钥查看所述第一加密文件;
所述第一签名为使用第一用户的私钥对第一标签数据计算后的签名结果,其中,第一标签数据包括数据摘要以及第一加密数据;
所述数据摘要是将所述数据哈希计算得到的哈希值;
所述第二加密数据为使用第二加密密钥对数据加密后的加密数据,其中,所述第二用户可通过所述第二加密密钥查看所述第二加密文件;
所述第二签名为使用第二用户的私钥对第二标签数据计算后的签名结果,其中,第二标签数据至少包括以及第二加密数据。
本发明通过将存证数据上传至区块链,存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名,由于第一用户的第一加密数据与第二用户的第二加密数据是经过加密处理得出的数据,增加了共识存证时安全性较低,使得用户在区块链进行共识存证时体验更好。此外,在存证数据中包括属于第一用户的第一签名与属于第二用户的第二签名,使得其他用户可以得知第一加密数据属于第一用户,使得其他用户可以得知第二加密数据数据属于第二用户。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University ProgrammingLanguage)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardwareDescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-Speed lntegratedCircuit Hardware Descri ption Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific lntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (6)

1.一种数据存证方法,其特征在于,所述方法包括:将存证数据上传至区块链;其中,所述存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名;所述第一加密数据为使用第一加密密钥对数据加密后的加密数据,其中,所述第一用户通过所述第一加密密钥查看所述第一加密数据;所述第一签名为使用第一用户的私钥对第一标签数据计算后的签名结果,其中,第一标签数据包括数据摘要以及第一加密数据;所述数据摘要是将所述数据哈希计算得到的哈希值;所述第二加密数据为使用第二加密密钥对数据加密后的加密数据,其中,所述第二用户通过所述第二加密密钥查看所述第二加密数据;所述第二签名为使用第二用户的私钥对第二标签数据计算后的签名结果,其中,第二标签数据至少包括第二加密数据;
所述将存证数据上传至区块链前,所述方法还包括:接收所述第一用户的所述第一加密数据、所述第一签名、所述数据摘要以及第三加密数据,其中,所述第三加密数据是所述第一用户通过所述第二用户的公钥对数据进行加密得出的加密数据;在判断出所述第三加密数据正确时,执行将所述存证数据上传至区块链的步骤;
所述判断出所述第三加密数据正确,具体包括:根据所述第二用户的私钥对所述第三加密数据解密,得到待验证的数据;将所述待验证的数据进行哈希计算,得到计算结果;当判断出所述计算结果与所述数据摘要相同时,则判断出所述第三加密数据正确。
2.根据权利要求1所述数据存证方法,其特征在于,所述存证数据还包括属于第一用户的第一随机数以及属于第二用户的第二随机数;所述第一加密密钥为使用第一随机数与第一用户的私钥经过哈希计算生成的加密密钥;所述第二加密密钥为使用第二随机数与第二用户的私钥经过哈希计算生成的加密密钥;所述第一标签数据还包括第一随机数;所述第二标签数据还包括第二随机数。
3.一种数据存证装置,其特征在于,所述装置包括:上传单元,用于将存证数据上传至区块链;其中,所述存证数据包括属于第一用户的第一加密数据、第一签名、数据摘要以及属于第二用户的第二加密数据、第二签名;所述第一加密数据为使用第一加密密钥对数据加密后的加密数据,其中,所述第一用户通过所述第一加密密钥查看所述第一加密数据;所述第一签名为使用第一用户的私钥对第一标签数据计算后的签名结果,其中,第一标签数据包括数据摘要以及第一加密数据;所述数据摘要是将所述数据哈希计算得到的哈希值;所述第二加密数据为使用第二加密密钥对数据加密后的加密数据,其中,所述第二用户通过所述第二加密密钥查看所述第二加密数据;所述第二签名为使用第二用户的私钥对第二标签数据计算后的签名结果,其中,第二标签数据至少包括第二加密数据;
所述装置还包括:接收单元,用于接收所述第一用户的所述第一加密数据、所述第一签名、所述数据摘要以及第三加密数据,其中,所述第三加密数据是所述第一用户通过所述第二用户的公钥对数据进行加密得出的加密数据;判断单元,用于在判断出所述第三加密数据正确时,执行上传单元;
所述判断出所述第三加密数据正确,具体包括:根据所述第二用户的私钥对所述第三加密数据解密,得到待验证的数据;将所述待验证的数据进行哈希计算,得到计算结果;当判断出所述计算结果与所述数据摘要相同时,则判断出所述第三加密数据正确。
4.根据权利要求3所述数据存证装置,其特征在于,所述存证数据还包括属于第一用户的第一随机数以及属于第二用户的第二随机数;所述第一加密密钥为使用第一随机数与第一用户的私钥经过哈希计算生成的加密密钥;所述第二加密密钥为使用第二随机数与第二用户的私钥经过哈希计算生成的加密密钥;所述第一标签数据还包括第一随机数;所述第二标签数据还包括第二随机数。
5.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行权利要求1-2任一项所述的方法。
6.一种数据存证设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行权利要求3-4任一项所述的装置。
CN201911307371.3A 2019-12-18 2019-12-18 一种数据存证方法、装置、设备以及介质 Active CN110995447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911307371.3A CN110995447B (zh) 2019-12-18 2019-12-18 一种数据存证方法、装置、设备以及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911307371.3A CN110995447B (zh) 2019-12-18 2019-12-18 一种数据存证方法、装置、设备以及介质

Publications (2)

Publication Number Publication Date
CN110995447A CN110995447A (zh) 2020-04-10
CN110995447B true CN110995447B (zh) 2022-12-13

Family

ID=70095252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911307371.3A Active CN110995447B (zh) 2019-12-18 2019-12-18 一种数据存证方法、装置、设备以及介质

Country Status (1)

Country Link
CN (1) CN110995447B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685786A (zh) * 2021-01-27 2021-04-20 永辉云金科技有限公司 一种金融数据加密、解密方法、系统、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019001923A1 (de) * 2017-06-30 2019-01-03 Siemens Aktiengesellschaft Verfahren zum blockchain basierten, asymmetrischen schlüsselmanagement und sicherheitsrelevante anlage
CN109559122A (zh) * 2018-12-07 2019-04-02 北京瑞卓喜投科技发展有限公司 区块链数据传输方法及区块链数据传输系统
CN109583219A (zh) * 2018-11-30 2019-04-05 国家电网有限公司 一种数据签名、加密及保存的方法、装置和设备
CN109600366A (zh) * 2018-12-06 2019-04-09 中链科技有限公司 基于区块链的保护用户数据隐私的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019001923A1 (de) * 2017-06-30 2019-01-03 Siemens Aktiengesellschaft Verfahren zum blockchain basierten, asymmetrischen schlüsselmanagement und sicherheitsrelevante anlage
CN109583219A (zh) * 2018-11-30 2019-04-05 国家电网有限公司 一种数据签名、加密及保存的方法、装置和设备
CN109600366A (zh) * 2018-12-06 2019-04-09 中链科技有限公司 基于区块链的保护用户数据隐私的方法及装置
CN109559122A (zh) * 2018-12-07 2019-04-02 北京瑞卓喜投科技发展有限公司 区块链数据传输方法及区块链数据传输系统

Also Published As

Publication number Publication date
CN110995447A (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
CN109831298B (zh) 区块链中安全更新密钥的方法及节点、存储介质
KR102272117B1 (ko) 블록체인 기반 데이터 프로세싱 방법 및 디바이스
JP6804668B2 (ja) ブロックデータ検証方法および装置
CN108063756B (zh) 一种密钥管理方法、装置及设备
CN107395557B (zh) 一种业务请求的处理方法及装置
CN110264198B (zh) 结合代码标注与交易类型的有条件的收据存储方法和节点
CN110245503B (zh) 结合代码标注与判断条件的收据存储方法和节点
CN110008715B (zh) 区块链中实现隐私保护的方法及节点、存储介质
CN110263088B (zh) 结合代码标注与事件类型的有条件的收据存储方法和节点
US20150078550A1 (en) Security processing unit with configurable access control
CN111898156A (zh) 区块链中实现合约调用的方法及节点、存储介质
CN113079200A (zh) 一种数据处理的方法、装置及系统
CN112016120A (zh) 基于用户隐私保护的事件预测方法和装置
CN111342966B (zh) 一种数据的存储方法、数据的恢复方法、装置及设备
CN113076527B (zh) 一种基于区块链的数字资产处理方法及装置
CN110245943B (zh) 基于判断条件的收据存储方法和节点
CN111339565A (zh) 基于区块链的业务服务提供方法、装置、设备及系统
CN110995447B (zh) 一种数据存证方法、装置、设备以及介质
CN109560927B (zh) 一种设备指纹实现方法及装置
CN111737304A (zh) 一种区块链数据的处理方法、装置及设备
CN110866274A (zh) 一种数据融合方法、平台、系统以及数据处理平台
CN115758332A (zh) 一种交易分组方法和区块链节点
CN111641499A (zh) 一种基于区块链的私钥还原方法、装置、设备及介质
CN111934874A (zh) 一种基于区块链的数据加密与解密方法、设备及介质
CN113935019A (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