(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210520607.7
(22)申请日 2022.05.13
(71)申请人 支付宝 (杭州) 信息技 术有限公司
地址 310000 浙江省杭州市西湖区西溪路
556号8层B段801-1 1
(72)发明人 田洪亮 刘维杰 李卿 顾宗敏
闫守孟
(74)专利代理 机构 北京亿腾知识产权代理事务
所(普通合伙) 11309
专利代理师 陈霁 周良玉
(51)Int.Cl.
G06F 21/62(2013.01)
G06F 21/60(2013.01)
G06F 21/78(2013.01)
(54)发明名称
日志结构的安全数据存 储方法及装置
(57)摘要
本说明书实施例提供一种日志结构的安全
数据存储方法及装置, 用于经由可信执行环境
TEE向硬盘安全存储数据。 该数据操作基于以下
三种逻辑数据结构 进行: 可进行写/读/检索等操
作的数据块; 安全索引; 安全日志。 其中, 数据块
以密文形式通过追加写 方式写入硬盘; 安全索引
是针对为各个密文数据块生成的各个索引 条目
以日志合并树结构建立的索引; 安全日志用于以
追加写方式记录向硬盘写入数据块或索引 条目
的操作信息。 这种数据存储架构可以在数据保密
的基础上减少TE E向硬盘存储数据的写放大。
权利要求书2页 说明书16页 附图5页
CN 114817994 A
2022.07.29
CN 114817994 A
1.一种日志结构的安全数据存储方法, 用于保护可信执行环境中用户对不可信 硬盘的
块I/O操作; 所述方法包括:
将用户提交 的若干数据块分别进行加密得到相应的各个密文数据块, 并将各个密文数
据块以追加写方式持久化于所述硬 盘;
为各个密文数据块分别生成相应的各个索引条目, 其中, 单个索引条目用于定位和保
护一个密文数据块;
将各个索引条目分别插入基于日志结构合并树的安全索引, 所述安全索引持久化在所
述硬盘;
为所述密文数据块生成若干日志条目, 所述日志条目用于在发生系统崩溃的情况下定
位和保护对应的密文数据块, 单个日志条目对应一个或多个密文数据块;
将所述若干日志条目追加写入所述硬盘的安全日志中, 所述安全日志持久化在所述硬
盘。
2.如权利要求1所述的方法, 其中, 所述若干数据块包括第一数据块, 针对所述第一数
据块由第 一密钥key1进行认证加密得到第 一密文数据块及认证码MAC1, 所述第一密文数据
块由第一索引条目定位和保护, 所述第一索引条目包括所述第一数据块的逻辑地址LBA1以
及在硬盘中存储的物理地址 HBA1、 所述第一密钥key1和所述认证码MAC1。
3.如权利要求1所述的方法, 其中, 所述若干数据块是按用户提交顺序以追加写方式记
录在内存中的当前数据段的多个数据块, 所述将用户提交的若干数据块分别进行加密得到
相应的各个密文数据块。
4.如权利要求3所述的方法, 其中, 在满足将数据段写入硬盘的第一条件的情况下, 将
各个密文数据块以追加写方式持久化于所述硬盘, 所述第一条件包括以下中的至少一项:
当前数据段被写满、 接收到刷新请求、 记录时长 达到预定时长 。
5.如权利要求1所述的方法, 其中, 所述日志结构合并树对应有第一内存表、 第二内存
表, 以及硬盘中的多个层, 所述第二内存表用于向所述多个层进 行持久化, 各个层的块索引
表可依次向后面的层中合并, 直至最后一层; 所述将所述若干索引条目插入基于日志结构
合并树的安全索引包括:
将所述若干索引条目插 入当前的第一内存表;
在满足索引持久化的第二条件的情况下, 将所述第一内存表转化为第二内存表, 从而
将第二内存表中的索引条目写入所述多个层中的第一层。
6.如权利要求5所述的方法, 其中, 所述多个层中的单个层以块索引表BIT为单位记录
索引条目, 单个BIT的叶节点对应一个或多个索引条目, 单个非叶节点保存其子节点中各个
索引条目对应数据块的LBA范围及分别针对各个子节点进行认证加密保护的各个MAC认证
码。
7.如权利要求5所述的方法, 其中, 所述将第 二内存表中的索引条目写入所述多个层中
的第一层包括:
遍历所述第二内存表中的LBA, 生成各个BIT, 其中, 单个BIT对应所述第二内存表中连
续的多个索引条目, 且在 BIT中所述多个索引条目按升序排列;
按照各个BIT的完成顺序将其以追加写方式写入所述第一层。
8.如权利要求7 所述的方法, 其中, 单个BIT通过以下 方式生成:权 利 要 求 书 1/2 页
2
CN 114817994 A
2根据单个叶节点对应的单个LBA范围, 获取满足所述单个LBA范围的索引条目记录在所
述单个叶节点;
针对单个非叶节点, 在其对应的叶节点记录完毕后, 根据相应叶节点的LBA范围以及针
对相应LBA范围内的索引条目进行认证加密保护的认证码MAC记录在该非叶节点。
9.如权利要求1所述的方法, 其中, 所述安全日志中的各个日志条目以日志块的形式存
储, 各个日志块分别由相应的各个认证码MAC进行认证加密保护, 且单个日志块的MAC被后
一个日志块嵌入。
10.如权利要求1所述的方法, 其中, 所述硬盘中还记载有HBA到LBA的映射的反向索引
表, 在将所述若干索引条目插入基于日志结构合并树的安全索引的情况下, 所述方法还包
括:
基于所述若干索引条目更新所述反向索引表。
11.如权利要求3所述的方法, 其中, 所述磁盘还记录有通过位图描述各个数据段是否
有效的第一段有效性表SVT, 以及描述数据段中各个数据块是否有效的数据段表DST, 所述
方法还包括:
在将各个密文数据块以追加写方式持久化于所述硬盘的情况下, 更新所述第 一段有效
性表和所述数据段表D ST。
12.如权利要求6所述的方法, 其中, 在所述磁盘中还存储有通过位图描述各个块索引
表BIT是否有效的第二段有效性表SVT, 所述方法还 包括:
在各个层的块索引表可依次向后面的层中合并或者将第二内存表中的索引条目写入
所述多个层中的第一层的情况 下, 更新所述第二段有效性表。
13.一种日志结构的安全数据存储装置, 用于保护可信执行环境中用户对不可信硬盘
的块I/O操作; 所述装置设于可信执 行环境, 包括:
数据存储单元, 配置为将用户提交的若干数据块分别进行加密得到相应的各个密文数
据块, 并将各个密文数据块以追加写方式持久化于所述硬 盘;
索引生成单元, 配置为为各个密文数据块分别生成相应的各个索引条目, 其中, 单个索
引条目用于 定位和保护一个密文数据块;
索引存储单元, 配置为将各个索引条目分别插入基于日志结构合并树的安全索引, 所
述安全索引持久化在所述硬 盘;
日志生成单元, 配置为为所述密文数据块生成若干日志条目, 所述日志条目用于在发
生系统崩溃的情况下定位和保护对应的密文 数据块, 单个日志条目对应一个或多个密文 数
据块;
日志存储单元, 配置为将所述若干日志条目追加写入所述硬盘的安全日志中, 所述安
全日志持久化在所述硬 盘。
14.一种计算机可读存储介质, 其上存储有计算机程序, 当所述计算机程序在计算机中
执行时, 令计算机执 行权利要求1 ‑12所述的方法。
15.一种计算设备, 包括存储器和 处理器, 其特征在于, 所述存储器中存储有可执行代
码, 所述处 理器执行所述可执行代码时, 实现权利要求1 ‑12所述的方法。权 利 要 求 书 2/2 页
3
CN 114817994 A
3
专利 日志结构的安全数据存储方法及装置
文档预览
中文文档
24 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共24页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:39:13上传分享