【TEE】内存完整性保护

Hash Functions&Merkle Tree

对读操作进行完整性检查,通过在加载的块上重新计算一个哈希,然后根据片外地址将得到的哈希与片上哈希比较。
缺点:不可承受的片上存储开销,并假设128位哈希和512位cache line,其开销为保护内存空间的25 %。
在这里插入图片描述
片上存储需求是无法承受的,有必要将这些参考值"安全"地存储在片外。递归地应用认证原语,形成了一个完整性树结构,只需要将树的根存储在处理器芯片上。
Merkle tree认证过程是完全可并行的,因为这个过程所需的所有输入都可以在这个过程开始之前得到;然而更新过程不可并行。

在这里插入图片描述

MAC Functions&PAT (Parallelizable Authentication Tree)

写操作为每个数据块计算一个MAC,MAC计算使用的密钥被安全地存储在可信芯片上,只有片上验证引擎本身能够计算出有效的MAC,因此MAC可以存储在不可信的外部存储中。MAC计算还用nonce防止重放攻击。读操作,用nonce和data重新计算MAC,并和外部取得的MAC进行比较。
每512b cache line计算一个MAC,并且使用64比特的nonces,那么相应的片上存储开销为12.5 %
在这里插入图片描述
PAT使用MAC克服了不可并行更新的问题。除了最后一级,每一步的Nonce和MAC value都被送到外部。根MAC发送到外部存储器,而nonce N存储在片上;这种方式使树根具有防篡改性,因为敌手不能在没有存储在芯片上的密钥K的情况下生成新的MAC,也不能重放旧的MAC,因为它不会由当前的根节点产生。
树更新过程也是可并行化的,因为每个分支树节点都是由独立生成的输入nonces计算得到的。
在这里插入图片描述

Block-Level AREA&TEC-Tree(Tamper-Evident Counter Tree)

为分组加密算法增加了完整性校验功能。plaintext block P (where P=D||N),把冗余数据N存在片上。
根据所实现的分组加密算法,相应的开销在25 % ~ 50 %之间。
在这里插入图片描述
将生成的加密块存储在外部存储器中,并将创建的最后一个块(即TEC - Tree的根)加密时使用的nonce保存在片上,使得根不可篡改。没有密钥的敌手不能创建树节点,而没有片上根节点,他就不能重放树根。树更新过程包括:i )加载D的分支解密节点,ii )更新nonces,iii )重加密节点。
在这里插入图片描述

比较

TEC - Tree还提供数据的机密性。与merkel tree相比,TEC - Tree和PAT也具有较高的片外存储开销,特别是由于它们需要存储额外的元数据nonces。
在这里插入图片描述

优化技术

  • 缓存技术:【Caches and Merkle Trees for Efficient Memory Integrity Verification】将Merkle树的性能开销降低到25 %以下。通过改变哈希函数- -从SHA - 1到GCM,甚至声称性能开销保持在5 %以下。
  • Bonsai Merkle Tree:【Using Address Independent Seed Encryption and Bonsai Merkle Trees to Make Secure Processors OS and PerformanceFriendly】平均而言,4KB内存页和64B缓存块需要一个8位的计数器。因此,与直接应用于内存块的常规Merkle树相比,使用Bonsai Merkle树进行身份验证的内存量减少了1:64。该方法将完整性树的执行时间开销从12.1 %降低到1.8 %,将节点存储的外部内存开销从33.5 %降低到21.5 %。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/512979.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL技巧笔记(一):连续3人的连号问题—— LeetCode601.体育馆的人流量

SQL 技巧笔记 前言:我发现大数据招聘岗位上的应聘流程都是需要先进行笔试,其中占比很大的部分是SQL题目,经过一段时间的学习之后,今天开了一个力扣年会员,我觉得我很有必要去多练习笔试题目,这些题目是有技…

光伏发电预测

XGB、LGB在datacamp(学习网站) data fountain与国家电投系列赛,光伏发电预测 题目:给一组特征,预测瞬时发电量,训练集9000个点,测试集8000个点,特征包含光伏板的属性和外部环境等。 数据字段:ID、光伏电池板背侧温度、光伏电站现场温度、计算得到的平均转换效率、数…

记录前端面试的一些笔试题(持续更新......)

文章目录 js相关数组去重数组对象去重 实现数组unshift数组扁平化tree型数据扁平化list数据转tree型数据 对象深拷贝防抖/节流函数柯里化函数管道 随便记录一些,面试或者工作中都会用到,实现的方法很多,这里只是一小部分,有更好的…

C语言经典算法-1

C语言经典算法讲解练习 文章目录 C语言经典算法讲解练习1.汉若塔2.费式数列3. 巴斯卡三角形4.三色棋5.老鼠走迷官(一)6.老鼠走迷官(二)7.骑士走棋盘8.八皇后9.八枚银币10.生命游戏 1.汉若塔 说明:河内之塔(Towers of …

【Redis】Redis入门

文章目录 一、Redis简介二、Redis的特性三、Redis的使用场景四、Redis可以做什么五、Redis不可以做什么六、CentOS7安装Redis5七、Redis通用命令 一、Redis简介 Redis 是⼀种基于 键值对(key-value) 的NoSQL数据库,与很多键值对数据库不同的…

低代码平台开发实践:基于React的高效构建与创新【文末送书-29】

文章目录 背景低代码平台简介基于React的优势低代码平台的实际应用 低代码平台开发实践:基于React【文末送书-29】 背景 随着技术的不断进步和业务需求的日益复杂,低代码平台成为现代软件开发领域中备受关注的工具之一。在这个快节奏的时代,…

C++ 之LeetCode刷题记录(三十八)

😄😊😆😃😄😊😆😃 开始cpp刷题之旅。 目标:执行用时击败90%以上使用 C 的用户。 18. 四数之和 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target…

Crossover24新版发布!搭载Wine9提升Mac游戏体验!

2024年2月28日,著名的软件Crossover正式推出了2024年的首个全新版本Crossover24。Crossover 24版本的更新带来了许多功能优化和游戏优化,使用户能够更好地在Mac系统上运行各种软件和游戏,并且支持32位旧版软件的兼容运行。 Crossover24最新版…

MySQL分布式事务多数据源分库分表常见点罗列

前言 这个面试题是校招时候问的,整体来说面试感受是校招的面试题目更加考验基础,考验原理。社招的话技术广度会更大,会考验框架的使用程度。问题可能没有记录全,大致考的是数据库方面以及hashmap深入的问了一下还有就是线程这块。…

【论文精读】基于知识图谱关系路径的多跳智能问答模型研究

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

100%开源大模型OLMo:代码/权重/数据集/训练全过程公开,重定义AI共享

前言 近日,艾伦人工智能研究所联合多个顶尖学术机构发布了史上首个100%开源的大模型“OLMo”,这一举措被认为是AI开源社区的一大里程碑。OLMo不仅公开了模型权重,还包括了完整的训练代码、数据集和训练过程,为后续的开源工作设立…

c++ primer学习笔记(一)

目录 第一章、c快速入门 重点:类的简介 第二章 1、基本内置类型 2、字面值常量 1、整型字面值规则 2、浮点字面值规则 3、布尔字面值 4、字符字面值 5、非打印字符的转义序列 ​编辑 6、字符串字面值 3、变量 1、变量标识符 2、定义和初始化对象 3、…