CN108540459B - 数据储存方法、装置、系统、电子设备及计算机可读介质 - Google Patents

数据储存方法、装置、系统、电子设备及计算机可读介质 Download PDF

Info

Publication number
CN108540459B
CN108540459B CN201810242231.1A CN201810242231A CN108540459B CN 108540459 B CN108540459 B CN 108540459B CN 201810242231 A CN201810242231 A CN 201810242231A CN 108540459 B CN108540459 B CN 108540459B
Authority
CN
China
Prior art keywords
data
information
check
hash value
token
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
CN201810242231.1A
Other languages
English (en)
Other versions
CN108540459A (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201810242231.1A priority Critical patent/CN108540459B/zh
Publication of CN108540459A publication Critical patent/CN108540459A/zh
Application granted granted Critical
Publication of CN108540459B publication Critical patent/CN108540459B/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/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • 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/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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/3297Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种数据储存方法、装置、系统、电子设备及计算机可读介质。该方法包括:获取第一数据,所述第一数据包括用户名、第一校验信息、令牌、以及待上传文件;通过所述令牌获取第二校验信息;通过所述第二校验信息与所述第一校验信息对所述第一数据进行一致性校验;以及在一致性校验通过后,将所述第一数据与时间戳通过区块链进行储存,并生成交易信息。本公开涉及的数据储存方法、装置、系统、电子设备及计算机可读介质,能够在用户将数据储存至网络端时,保证用户数据的安全。

Description

数据储存方法、装置、系统、电子设备及计算机可读介质
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种数据储存方法、装置、系统、电子设备及计算机可读介质。
背景技术
随着互联网技术的发展,大部分人已经逐渐把数据存储至网络中。现在给个人用户存储数据的主要方案是进行云端数据储存,通过网络云端虚拟的储存盘对用户数据进行储存。云盘大多数采用大数据技术,部分云盘给用户提供了权限控制能力,以明文的形式将原始数据存储在集群中。当用户需要查看时,可通过用户ID对数据进行检索。
在用户将数据储存在网络时,用户的数据安全问题显得尤为突出。现有技术中的云端储存方案,存在如下问题:
1、在云端保存的用户数据无法保证数据不被其他恶意用户篡改;
2、在云端保存的用户数据通过明文进行存储,而且对该数据的权限控制存在缺失,使得用户数据在未经用户与云端控制方允许的情况下可以被很多第三方机构探测到;
3、用户在将自身的数据上传到网络云端的传输过程中未使用https 方式传输,在传输前和传输过程中均未对数据进行加密,无法保证数据传输中的安全。
因此,需要一种新的数据储存方法、装置、系统、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种数据储存方法、装置、系统、电子设备及计算机可读介质,能够在用户将数据储存至网络端时,保证用户数据的安全。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种数据存储方法,该方法包括:获取第一数据,所述第一数据包括用户名、第一校验信息、令牌、以及待上传文件;通过所述令牌获取第二校验信息;通过所述第二校验信息与所述第一校验信息对所述第一数据进行一致性校验;以及在一致性校验通过后,将所述第一数据与时间戳通过区块链进行储存,并生成交易信息。
在本公开的一种示例性实施例中,还包括:获取数据查看请求,所述数据查看请求中包括所述交易信息、所述第一校验信息、所述令牌;通过所述令牌获取所述第二校验信息;通过所述第二校验信息与所述第一校验信息对所述数据查看请求进行一致性校验;在一致性校验通过后,通过所述交易信息在所述区块链中确定所述数据查看请求对应的储存数据,并将所述储存数据返回请求方。
在本公开的一种示例性实施例中,将所述储存数据返回请求方包括:将所述储存数据进行数据加密以将其返回请求方。
在本公开的一种示例性实施例中,还包括:接收来自用户的注册请求,所述注册请求中包括用户名;通过所述用户名与时间戳生成令牌;以及通过所述令牌与所述用户名对所述用户在区块链系统中进行入链处理。
在本公开的一种示例性实施例中,还包括:接收来自用户的公钥和所述令牌;通过所述公钥和所述令牌生成客户证书;以及将所述公钥、所述令牌与所述客户证书的哈希值储存到区块链中。
在本公开的一种示例性实施例中,第一校验信息包括:待上传文件哈希值、签名、以及证书。
在本公开的一种示例性实施例中,第二校验信息包括:公钥、证书哈希值。
在本公开的一种示例性实施例中,通过所述第二校验信息与所述第一校验信息对所述第一数据进行一致性校验包括:实时计算所述待上传文件的第一哈希值;将所述第一哈希值与所述第一校验信息中的待上传文件哈希值进行一致性校验。
在本公开的一种示例性实施例中,通过所述第二校验信息与所述第一校验信息对所述第一数据进行一致性校验包括:实时计算所述证书的第二哈希值;将所述第二哈希值与所述第二校验信息中的证书哈希值进行一致性校验。
在本公开的一种示例性实施例中,通过所述第二校验信息与所述第一校验信息对所述第一数据进行一致性校验包括:通过所述公钥对待上传文件哈希值与签名进行一致性校验。
根据本公开的一方面,提出一种数据存储方法,该方法包括:获取待上传文件的第一校验信息,所述第一校验信息包括令牌、签名、以及证书;以及将用户名、第一校验信息、令牌、以及待上传文件作为第一数据发送至服务端。
在本公开的一种示例性实施例中,还包括:发送数据查看请求,所述数据查看请求中包括交易信息、第一校验信息、令牌;以及接收返回的储存数据。
在本公开的一种示例性实施例中,还包括:发送注册请求,所述注册请求中包括用户名;接收所述注册请求的返回信息,所述返回信息中包括令牌;通过所述用户名、所述令牌、时间戳和本机信息生成公钥与私钥;将所述私钥储存在本地;以及将所述公钥发送至服务端。
根据本公开的一方面,提出一种数据存储装置,该装置包括:第一数据模块,用于获取数据,所述数据包括用户名、第一校验信息、令牌、以及待上传文件;信息模块,用于通过所述令牌获取第二校验信息;校验模块,用于通过所述第二校验信息与所述第一校验信息对所述数据进行一致性校验;以及储存模块,用于在一致性校验通过后,将所述第一数据与时间戳通过区块链进行储存,并生成交易信息。
根据本公开的一方面,提出一种数据存储装置,该装置包括:第二数据模块,用于获取待上传文件的第一校验信息,所述第一校验信息包括令牌、签名、以及证书;发送模块,用于将用户名、第一校验信息、令牌、以及待上传文件发送至服务端。
根据本公开的一方面,提出一种数据存储系统,该系统包括:客户端,用于获取待上传文件的第一校验信息,所述第一校验信息包括令牌、签名、以及证书;以及将用户名、第一校验信息、令牌、以及待上传文件作为第一数据发送至服务端;以及服务端,用于获取第一数据,所述第一数据包括用户名、第一校验信息、令牌、以及待上传文件;通过所述令牌获取第二校验信息;通过所述第二校验信息与所述第一校验信息对所述第一数据进行一致性校验;以及在一致性校验通过后,将所述第一数据与时间戳通过区块链进行储存,并生成交易信息。
根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本公开的数据储存方法、装置、系统、电子设备及计算机可读介质,能够在用户将数据储存至网络端时,保证用户数据的安全。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种数据储存方法及装置的系统框图。
图2是根据一示例性实施例示出的一种数据储存方法的流程图。
图3是根据另一示例性实施例示出的一种数据储存方法的流程图。
图4是根据一示例性实施例示出的一种数据储存方法中用户注册的流程图。
图5是根据一示例性实施例示出的一种数据储存方法中用户注册流程中的示意图。
图6是根据一示例性实施例示出的一种数据储存方法中用户注册流程中的示意图。
图7是根据一示例性实施例示出的一种数据储存方法中用户注册流程中的示意图。
图8是根据一示例性实施例示出的一种数据储存方法中数据储存的流程图。
图9是根据一示例性实施例示出的一种数据储存方法中数据储存流程中的示意图。
图10是根据一示例性实施例示出的一种数据储存方法中数据储存流程中的示意图。
图11是根据一示例性实施例示出的一种数据储存方法中数据储存流程中的示意图。
图12是根据一示例性实施例示出的一种数据储存方法中数据查看的流程图。
图13是根据一示例性实施例示出的一种数据储存方法中数据查看流程中的示意图。
图14是根据一示例性实施例示出的一种数据储存装置的框图。
图15是根据另一示例性实施例示出的一种数据储存方装置的框图。
图16是根据一示例性实施例示出的一种电子设备的框图。
图17是根据一示例性实施例示出一种计算机可读存储介质示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
图1是根据一示例性实施例示出的一种数据储存方法及装置的系统框图。
如图1所示,系统架构100可以包括终端设备101、102、103,网络 104和服务器105。网络104用以在终端设备101、102、103和服务器105 之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105 交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所提交的数据储存请求提供支持的后台管理服务器。后台管理服务器可以对接收到的数据储存请求进行分析等处理,并将处理结果反馈给终端设备。
服务器105可例如获取第一数据,所述第一数据包括用户名、第一校验信息、令牌、以及待上传文件;服务器105可例如通过所述令牌获取第二校验信息;服务器105可例如通过所述第二校验信息与所述第一校验信息对所述第一数据进行一致性校验;服务器105可例如在一致性校验通过后,将所述第一数据与时间戳通过区块链进行储存,并生成交易信息。
服务器105在本申请中可以作为服务端,用于获取第一数据,所述第一数据包括用户名、第一校验信息、令牌、以及待上传文件;通过所述令牌获取第二校验信息;通过所述第二校验信息与所述第一校验信息对所述第一数据进行一致性校验;以及在一致性校验通过后,将所述第一数据与时间戳通过区块链进行储存,并生成交易信息。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
终端设备101、102、103可例如获取待上传文件的第一校验信息,所述第一校验信息包括令牌、签名、以及证书,终端设备101、102、103 还可例如将用户名、第一校验信息、令牌、以及待上传文件作为第一数据发送至服务端。
终端设备101、102、103在本申请中可以为客户端,用于获取待上传文件的第一校验信息,所述第一校验信息包括令牌、签名、以及证书;以及将用户名、第一校验信息、令牌、以及待上传文件作为第一数据发送至服务端;以及
需要说明的是,本公开实施例所提供的数据储存方法可以由服务器 105和终端设备101、102、103中共同执行,相应地,数据储存装置可以设置于服务器105,以及终端设备101、102、103中。
图2是根据一示例性实施例示出的一种数据储存方法的流程图。数据储存方法20可以为服务端进行数据储存方法的步骤,至少包括步骤 S202至S208,具体描述如下:
如图2所示,在S202中,获取第一数据,所述第一数据包括用户名、第一校验信息、令牌、以及待上传文件。第一校验信息包括:待上传文件哈希值、签名、以及证书。待上传文件可例如为用户待进行网络储存的文件,可例如为视频文件,可编辑文档,压缩文件等,本申请不以此为限。
在S204中,通过所述令牌获取第二校验信息;第二校验信息包括:公钥、证书哈希值。根据令牌,确定该用户对应的第二校验信息。
在S206中,通过所述第二校验信息与所述第一校验信息对所述第一数据进行一致性校验。
在一个实施例中,实时计算所述待上传文件的第一哈希值;将所述第一哈希值与所述第一校验信息中的待上传文件哈希值进行一致性校验。
在一个实施例中,实时计算所述证书的第二哈希值;将所述第二哈希值与所述第二校验信息中的证书哈希值进行一致性校验。
在一个实施例中,通过所述公钥对待上传文件哈希值与签名进行一致性校验。
在S208中,在一致性校验通过后,将所述第一数据与时间戳通过区块链进行储存,并生成交易信息。可例如,在一致性校验通过后,将用户名、原始数据、数据Hash和时间戳信息写入区块链,生成区块链交易信息,交易信息可例如包括:交易序号、交易时间、交易块高度、是否有效等信息。
根据本公开的数据储存方法,在用户上传数据的过程中通过额外的校验方式对用户以及数据进行校验,在校验通过后再利用区块链保存用户上传数据的方式,能够在用户将数据储存至网络端时,保证用户数据的安全。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
图3是根据一示例性实施例示出的一种数据储存方法的流程图。数据储存方法30可以为用户端进行数据储存的方法的流程。
如图3所示,在S302中,获取待上传文件的第一校验信息,所述第一校验信息包括令牌、签名、以及证书。用户端可例如使用SHA256算法对需要保存的数据生成Hash值,然后使用客户端私钥对Hash进行签名。
在S304中,将用户名、第一校验信息、令牌、以及待上传文件作为第一数据发送至服务端。
根据本公开的数据储存方法,在上传数据时,通过预先设定的密钥对数据进行加密,再上传至远端的方式,能够在用户将数据储存至网络端时,保证用户数据的安全。
以下将结合客户端与服务端对本申请的内容进行详细说明。不失一般性,客户端可例如接收用户的操作,服务端为后台服务器,处理用户的数据上传请求。在本申请中,服务端可例如包括区块链储存接口与区块链系统两个部分。
图4是根据一示例性实施例示出的一种数据储存方法中用户注册的流程图。如图4所示的数据储存方法40描述了用户注册的流程,具体可包括步骤S401至步骤S410。
在S401中,用户将待申请的用户名发送至服务端的区块链接口。
在S402中,接口通过区块链查询是否已经存储过此用户。
在S403中,若没有存储过则可例如将此用户名+时间戳+随机数采用 MD5算法生成令牌,具体生成方式可例如图5所示。
在S404中,进行用户入链处理,可例如以令牌为key、用户名为value 组成Map结构,存储至区块链中。
在S405中,将令牌返回至客户端。
在S406中,客户端可例如根据用户名、令牌、时间戳和本机Mac 地址数据,使用ECC算法(椭圆曲线加密算法),生成一对公私钥。私钥由客户端储存,具体生成方式可例如图6所示。
在S407中,客户端将公钥和令牌信息发送至接口。
在S408中,根据公钥和令牌进行数据处理生成客户端证书,可例如通过网关公钥对证书进行RSA算法加密,生成加密字符串,然后使用 SHA256算法生成加密后Hash值,具体生成方式可例如图7所示。
在S409中,将令牌、客户端公钥和证书Hash值写入区块链存储。
在S410中,将证书加密后的字符串返回至客户端。
在本申请中,哈希值算法的意义在于提供了一种快速存取数据的方法,它用一种算法建立键值与真实值之间的对应关系,这样可以快速在数组等条件中里面存取数据。目前流行的Hash算法包括MD5、SHA-1和 SHA-2。为了提高安全性,还存在SHA-224、SHA-256、SHA-384,和 SHA-512等哈希算法。本申请中获得哈希值的处理方式有很多中,包括并不限于以上的哈希算法。
图8是根据一示例性实施例示出的一种数据储存方法中数据储存的流程图。如图8所示的数据储存方法80描述了数据储存的流程,具体可包括步骤S801至步骤S811。
在S801中客户端可例如使用SHA256算法对需要保存的数据生成 Hash值,然后使用客户端私钥对Hash进行签名,具体方式可例如如图9 与图10所示。
在S802中,将原始数据(待上传文件)、数据Hash、签名、证书以及令牌发送至接口。
在S803中,服务端取出令牌,然后从区块链中查询此令牌是否存在,
在S804中,若此令牌存在,则返回令牌对应的客户端公钥、证书 Hash值和用户名。
在S805中,将原始数据使用SHA256算法进行Hash,将此Hash和客户端发送的数据包中的Hash进行比较,若一致则表示传输过程中的原始数据未被修改
在S806中,将客户端发送数据包中的证书使用SHA256算法进行 Hash,将此Hash值和区块链中返回的证书Hash值进行比较,若一致,则基本保证证书未被修改。为确保证书未被修改(因为存在非常非常小的Hash碰撞概率),使用接口的私钥对证书解密,获取证书明文,然后取出证书明文中的客户端公钥与区块链返回的客户端公钥进行比较,若一致,则可保证证书未被修改。
在S807中,使用客户端公钥对数据包中数据Hash和签名进行验证 (验签,例如使用ECC椭圆算法),验证通过则表示确实是客户端发送的数据,传输过程中未被修改。
在S808中,将用户名、原始数据、数据Hash和时间戳信息写入区块链。
在S809中,区块链返回交易信息,交易信息可例如包括:交易序号、交易时间、交易块高度、是否有效等信息,具体格式如图11所示。
在S810中,接口将交易信息返回至客户端,客户端对数据进行顺序编号,保存数据的Hash值和交易信息至本地磁盘。
图12是根据一示例性实施例示出的一种数据储存方法中数据查看的流程图。如图12所示的数据储存方法1200 描述了数据查看的流程,具体可包括步骤S1201至步骤S1212。
在S1201中,用户通过客户端选择需要查看的已上传的文件或数据。
在S1202中,在确定数据后,客户端将该文件对应的数据Hash、交易信息、数据Hash经过SHA256算法生成的Hash值,以及证书和令牌发送至服务端的接口,具体哈希值的生成方式请参见图13。
在S1203中,接口收到数据后,取出令牌,然后从区块链中查询此令牌是否存在。
在S1204中,若此令牌存在,则返回令牌对应的客户端公钥、证书 Hash值和用户名。
在S1205中,将原始数据使用SHA256算法进行Hash,将此Hash 和客户端发送的数据包中的Hash进行比较,若一致则表示传输过程中的原始数据未被修改。
在S1206中,将客户端发送数据包中的证书使用SHA256算法进行 Hash,将此Hash值和区块链中返回的证书Hash值进行比较,若一致,则基本保证证书未被修改。为确保证书未被修改,使用接口的私钥对证书解密,获取证书明文,然后取出证书明文中的客户端公钥与区块链返回的客户端公钥进行比较,若一致,则可保证证书未被修改
在S1207中,使用客户端公钥对数据包中数据Hash和签名进行验证 (验签,可例如使用ECC椭圆算法),验证通过则表示确实是客户端发送的数据,传输过程中未被修改。
在S1208中,获取交易信息中的交易编号,并将交易编号上传至区块链。
在S1209中,通过交易编号查询入链的数据,包括:原始数据、用户名和入链时间等信息。
在S1210中,通过用户传入的公钥信息对数据进行加密。
在S1211中,将加密后的信息返回至客户端。
在S1212中,客户端使用用户私钥将加密数据还原为明文,以供用户查看。
根据本公开的数据储存方法,将密码学技术和区块链技术相结合,定义了完整的针对不同用户的区块链存储流程,能够用于保存用户的敏感信息,保证用户信息的安全性。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图14是根据一示例性实施例示出的一种数据储存装置的框图。数据储存装置1400包括:第一数据模块1402,信息模块1404,校验模块1406,储存模块1408。
第一数据模块1402用于获取数据,所述数据包括用户名、第一校验信息、令牌、以及待上传文件;
信息模块1404用于通过所述令牌获取第二校验信息;
校验模块1406用于通过所述第二校验信息与所述第一校验信息对所述数据进行一致性校验;以及
储存模块1408用于在一致性校验通过后,将所述第一数据与时间戳通过区块链进行储存,并生成交易信息。
根据本公开的数据储存装置,在用户上传数据的过程中通过额外的校验方式对用户以及数据进行校验,在校验通过后再利用区块链保存用户上传数据的方式,能够在用户将数据储存至网络端时,保证用户数据的安全。
图15是根据另一示例性实施例示出的一种数据储存方装置的框图。数据储存方装置1500 包括:第二数据模块1502,发送模块1504。
第二数据模块1502用于获取待上传文件的第一校验信息,所述第一校验信息包括令牌、签名、以及证书;
发送模块1504用于将用户名、第一校验信息、令牌、以及待上传文件发送至服务端。
根据本公开的数据储存装置,在上传数据时,通过预先设定的密钥对数据进行加密,再上传至远端的方式,能够在用户将数据储存至网络端时,保证用户数据的安全。
图16是根据一示例性实施例示出的一种电子设备的框图。
下面参照图16来描述根据本公开的这种实施方式的电子设备200。图16显示的电子设备200仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图16所示,电子设备200以通用计算设备的形式表现。电子设备 200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线 230、显示单元240等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述电子处方流转处理方法部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图2,图3,图4,图8,图12中所示的步骤。
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(ROM)2203。
所述存储单元220还可以包括具有一组(至少一个)程序模块2205 的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备 200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,电子设备200 还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID 系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
图17示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
参考图17所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品400,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取第一数据,所述第一数据包括用户名、第一校验信息、令牌、以及待上传文件;通过所述令牌获取第二校验信息;通过所述第二校验信息与所述第一校验信息对所述第一数据进行一致性校验;以及在一致性校验通过后,将所述第一数据与时间戳通过区块链进行储存,并生成交易信息。或者获取待上传文件的第一校验信息,所述第一校验信息包括令牌、签名、以及证书;以及将用户名、第一校验信息、令牌、以及待上传文件作为第一数据发送至服务端。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是 CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等) 执行根据本公开实施例的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
此外,本说明书说明书附图所示出的结构、比例、大小等,均仅用以配合说明书所公开的内容,以供本领域技术人员了解与阅读,并非用以限定本公开可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本公开所能产生的技术效果及所能实现的目的下,均应仍落在本公开所公开的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“第一”、“第二”及“一”等的用语,也仅为便于叙述的明了,而非用以限定本公开可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当也视为本公开可实施的范畴。

Claims (9)

1.一种数据存储方法,其特征在于,包括:
获取第一数据,所述第一数据包括用户名、第一校验信息、令牌、以及待上传文件,所述第一校验信息包括待上传文件哈希值、签名、以及证书;通过所述令牌获取第二校验信息,所述第二校验信息包括公钥、证书哈希值;
通过所述第二校验信息与所述第一校验信息对所述第一数据进行一致性校验;以及
在一致性校验通过后,将所述第一数据与时间戳通过区块链进行储存,并生成交易信息;
通过所述第二校验信息与所述第一校验信息对所述第一数据进行一致性校验包括:
实时计算所述待上传文件的第一哈希值;将所述第一哈希值与所述第一校验信息中的待上传文件哈希值进行一致性校验;
实时计算所述证书的第二哈希值;将所述第二哈希值与所述第二校验信息中的证书哈希值进行一致性校验;
通过所述公钥对待上传文件哈希值与签名进行一致性校验。
2.如权利要求1所述的方法,其特征在于,还包括:
获取数据查看请求,所述数据查看请求中包括所述交易信息、所述第一校验信息、所述令牌;
通过所述令牌获取所述第二校验信息;
通过所述第二校验信息与所述第一校验信息对所述数据查看请求进行一致性校验;
在一致性校验通过后,通过所述交易信息在所述区块链中确定所述数据查看请求对应的储存数据,并将所述储存数据返回请求方。
3.如权利要求2所述的方法,其特征在于,将所述储存数据返回请求方包括:
将所述储存数据进行数据加密以将其返回请求方。
4.如权利要求1所述的方法,其特征在于,还包括:
接收来自用户的注册请求,所述注册请求中包括用户名;
通过所述用户名与时间戳生成令牌;以及
通过所述令牌与所述用户名对所述用户在区块链系统中进行入链处理。
5.如权利要求4所述的方法,其特征在于,还包括:
接收来自用户的公钥和所述令牌;
通过所述公钥和所述令牌生成客户证书;以及
将所述公钥、所述令牌与所述客户证书的哈希值储存到区块链中。
6.一种数据存储装置,其特征在于,包括:
第一数据模块,用于获取数据,所述数据包括用户名、第一校验信息、令牌、以及待上传文件,所述第一校验信息包括待上传文件哈希值、签名、以及证书;
信息模块,用于通过所述令牌获取第二校验信息,所述第二校验信息包括公钥、证书哈希值;
校验模块,用于通过所述第二校验信息与所述第一校验信息对所述数据进行一致性校验;以及
储存模块,用于在一致性校验通过后,将所述第一数据与时间戳通过区块链进行储存,并生成交易信息;
通过所述第二校验信息与所述第一校验信息对所述第一数据进行一致性校验包括:
实时计算所述待上传文件的第一哈希值;将所述第一哈希值与所述第一校验信息中的待上传文件哈希值进行一致性校验;
实时计算所述证书的第二哈希值;将所述第二哈希值与所述第二校验信息中的证书哈希值进行一致性校验;
通过所述公钥对待上传文件哈希值与签名进行一致性校验。
7.一种数据存储系统,其特征在于,包括:
客户端,用于获取待上传文件的第一校验信息,所述第一校验信息包括令牌、签名、以及证书;以及将用户名、第一校验信息、令牌、以及待上传文件作为第一数据发送至服务端;以及
服务端,用于获取第一数据,所述第一数据包括用户名、第一校验信息、令牌、以及待上传文件;通过所述令牌获取第二校验信息;通过所述第二校验信息与所述第一校验信息对所述第一数据进行一致性校验;以及在一致性校验通过后,将所述第一数据与时间戳通过区块链进行储存,并生成交易信息;
所述通过所述第二校验信息与所述第一校验信息对所述第一数据进行一致性校验包括:
实时计算所述待上传文件的第一哈希值;将所述第一哈希值与所述第一校验信息中的待上传文件哈希值进行一致性校验;
实时计算所述证书的第二哈希值;将所述第二哈希值与所述第二校验信息中的证书哈希值进行一致性校验;
通过所述第二校验信息中的公钥对待上传文件哈希值与签名进行一致性校验。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
CN201810242231.1A 2018-03-22 2018-03-22 数据储存方法、装置、系统、电子设备及计算机可读介质 Active CN108540459B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810242231.1A CN108540459B (zh) 2018-03-22 2018-03-22 数据储存方法、装置、系统、电子设备及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810242231.1A CN108540459B (zh) 2018-03-22 2018-03-22 数据储存方法、装置、系统、电子设备及计算机可读介质

Publications (2)

Publication Number Publication Date
CN108540459A CN108540459A (zh) 2018-09-14
CN108540459B true CN108540459B (zh) 2021-03-30

Family

ID=63484966

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810242231.1A Active CN108540459B (zh) 2018-03-22 2018-03-22 数据储存方法、装置、系统、电子设备及计算机可读介质

Country Status (1)

Country Link
CN (1) CN108540459B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218029B (zh) * 2018-09-27 2023-04-21 深圳壹账通智能科技有限公司 基于区块链的网络证书可信查询方法、装置及存储介质
CN109614206A (zh) * 2018-10-25 2019-04-12 深圳壹账通智能科技有限公司 区块链事务处理的装置、方法及存储介质
CN110263579B (zh) * 2018-11-16 2021-05-11 腾讯科技(深圳)有限公司 一种数据处理方法、系统及相关设备
CN111198862A (zh) * 2018-11-19 2020-05-26 中移(杭州)信息技术有限公司 一种基于区块链的文件存储方法、装置、终端设备和介质
CN111325552A (zh) * 2018-12-14 2020-06-23 北京海益同展信息科技有限公司 数据处理方法及装置、电子设备、存储介质
CN109831479A (zh) * 2018-12-20 2019-05-31 深圳智乾区块链科技有限公司 区块链的数据处理方法和系统
CN109639711A (zh) * 2018-12-29 2019-04-16 成都康赛信息技术有限公司 一种基于私有链会话id的分布式cas认证方法
CN110069939A (zh) * 2019-03-12 2019-07-30 平安科技(深圳)有限公司 加密数据一致性校验方法、装置、计算机设备及存储介质
US10979233B2 (en) 2019-04-04 2021-04-13 Advanced New Technologies Co., Ltd. Monitoring time certificate generation requests
CN110190963B (zh) * 2019-04-04 2020-09-01 阿里巴巴集团控股有限公司 一种针对授时证书生成请求的监控方法、装置及设备
CN110233828B (zh) * 2019-05-14 2022-01-04 深圳市科迈爱康科技有限公司 基于区块链的移动办公方法和装置
CN110177124B (zh) * 2019-06-20 2022-02-25 深圳市迅雷网络技术有限公司 基于区块链的身份认证方法及相关设备
CN110490003B (zh) * 2019-08-09 2022-04-22 杭州安存网络科技有限公司 用户可信数据生成方法、获取方法、装置及系统
CN110611657A (zh) * 2019-08-16 2019-12-24 中国人民银行数字货币研究所 一种基于区块链的文件流处理的方法、装置及系统
US11151041B2 (en) * 2019-10-15 2021-10-19 Micron Technology, Inc. Tokens to indicate completion of data storage
CN111163156A (zh) * 2019-12-26 2020-05-15 山东爱城市网信息技术有限公司 基于区块链的数据处理方法、设备及存储介质
CN111367898B (zh) * 2020-02-20 2023-09-22 北京金山云网络技术有限公司 数据处理方法、装置、系统、电子设备及存储介质
CN112434064B (zh) * 2020-11-19 2023-09-29 脸萌有限公司 数据处理方法、装置、介质及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539432A (zh) * 2014-12-31 2015-04-22 北京奇虎科技有限公司 一种对文件进行签名的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101563880A (zh) * 2006-10-25 2009-10-21 约维申有限公司 全球唯一设备专用标识符的创建和验证
CN105975868A (zh) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 一种基于区块链的证据保全方法及装置
CN107800675B (zh) * 2016-09-07 2020-04-07 深圳市腾讯计算机系统有限公司 一种数据传输方法、终端以及服务器
CN106506146A (zh) * 2016-10-26 2017-03-15 北京瑞卓喜投科技发展有限公司 基于区块链技术的交易信息校验方法、装置及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539432A (zh) * 2014-12-31 2015-04-22 北京奇虎科技有限公司 一种对文件进行签名的方法和装置

Also Published As

Publication number Publication date
CN108540459A (zh) 2018-09-14

Similar Documents

Publication Publication Date Title
CN108540459B (zh) 数据储存方法、装置、系统、电子设备及计算机可读介质
US11650955B2 (en) Systems and methods for distributed data storage and delivery using blockchain
US11520912B2 (en) Methods, media, apparatuses and computing devices of user data authorization based on blockchain
US10116645B1 (en) Controlling use of encryption keys
CN111080295B (zh) 一种基于区块链的电子合同处理方法以及设备
US11258611B2 (en) Trusted data verification
US10032037B1 (en) Establishing application trust levels using taint propagation as a service
US10862883B1 (en) Custom authorization of network connected devices using signed credentials
US10003467B1 (en) Controlling digital certificate use
CN107689869A (zh) 用户口令管理的方法和服务器
US10783277B2 (en) Blockchain-type data storage
CN114500093A (zh) 报文信息的安全交互方法及系统
CN112733180A (zh) 数据查询方法、装置和电子设备
CN113434882A (zh) 应用程序的通讯保护方法、装置、计算机设备及存储介质
CN108920971A (zh) 数据加密的方法、校验的方法、加密的装置和校验的装置
US20240089105A1 (en) Systems and methods for user control and exclusion of cryptographic tokenized data
JP2022504575A (ja) ブロックチェーンを用いたメッセージの伝送および取得のためのシステムおよび方法
CN114584378B (zh) 数据处理方法、装置、电子设备和介质
CN114117388A (zh) 设备注册方法、设备注册装置、电子设备以及存储介质
CN118690412B (zh) 一种数据访问方法、装置、电子设备及计算机可读介质
US11626985B1 (en) Data reencryption techniques
US20240086549A1 (en) Systems and methods for user characteristic determination through cryptographic tokenized data
US20230239137A1 (en) Linking a physical identifier to a digital identifier
CN117633889A (zh) 一种基于二维码的敏感信息查看方法和系统
CN118690412A (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