[发明专利]一种数据存储方法、装置及设备在审
申请号: | 201910473001.0 | 申请日: | 2019-05-31 |
公开(公告)号: | CN110245518A | 公开(公告)日: | 2019-09-17 |
发明(设计)人: | 李亿泽;杨新颖;张渊;俞本权;闫文远 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 陈冲 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 装置及设备 数据存储 可信执行环境 数据记录存储 数据记录 应用服务 用户数据 中心化 块链 账本 篡改 | ||
公开了一种数据存储方法、装置及设备。应用服务端将用户数据在可信执行环境中进行数字签名,生成包含用户数字签名的第二数据记录,将第二数据记录存储在中心化的块链式账本中,实现了对于包含用户数字签名的数据的不可篡改。
技术领域
本说明书实施例涉及信息技术领域,尤其涉及一种数据存储方法、装置及设备。
背景技术
在以中心化的块链式账本存储数据时,通常而言,数据库服务端并不直接面向用户。用户的数据是基于应用服务端所产生,进而是应用服务端将用户数据转发至数据库服务端进行存储。在这种情形下,用户并不知晓自己的数据是否在存储过程中发生了错误或者改动。
基于此,需要一种可以保障用户存储数据安全性的方法,提高用户体验。
发明内容
本申请实施例的目的是提供一种可以保障用户存储数据安全性的方法。
为解决上述技术问题,本申请实施例是这样实现的:
一种数据存储方法,应用于包括应用服务端和数据库服务端的系统中,所述方法包括:
应用服务端,获取携带用户标识的第一数据记录;
应用服务端,根据用户标识获取对应的用户私钥,在可信执行环境中执行预设的签名代码,生成包含用户数字签名的第二数据记录,其中,所述签名代码用于根据用户私钥对所述第一数据记录进行数字签名;
应用服务端,发送所述第二数据记录至数据库服务端;
数据库服务端,接收所述第二数据记录,确定所述第二数据记录的哈希值;
数据库服务端,当达到预设的成块条件时,确定待写入数据块中的各第二数据记录,生成包含数据块的哈希值和各第二数据记录的第N个数据块,具体包括:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;
当N>1时,根据待写入数据块中的第二数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各第二数据记录的第N个数据块,其中,数据块的块高基于成块时间的先后顺序单调递增。
对应的,本说明书实施例还提供一种数据存储系统,包括应用服务端和数据库服务端,在所述系统中,
应用服务端,获取携带用户标识的第一数据记录;根据用户标识获取对应的用户私钥,在可信执行环境中执行预设的签名代码,生成包含用户数字签名的第二数据记录,其中,所述签名代码用于根据用户私钥对所述第一数据记录进行数字签名;发送所述第二数据记录至数据库服务端;
数据库服务端,接收所述第二数据记录,确定所述第二数据记录的哈希值;当达到预设的成块条件时,确定待写入数据块中的各第二数据记录,生成包含数据块的哈希值和各第二数据记录的第N个数据块,具体包括:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;
当N>1时,根据待写入数据块中的第二数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各第二数据记录的第N个数据块,其中,数据块的块高基于成块时间的先后顺序单调递增。
另一方面,本说明书实施例还提供一种数据存储方法,应用于应用服务端中,所述方法包括:
获取携带用户标识的第一数据记录;
根据用户标识获取对应的用户私钥,在可信执行环境中执行预设的签名代码,生成包含用户数字签名的第二数据记录,其中,所述签名代码用于根据用户私钥对所述第一数据记录进行数字签名;
发送所述第二数据记录至数据库服务端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910473001.0/2.html,转载请声明来源钻瓜专利网。