【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 %。
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot+vue的实习管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

8个优秀的CSS实践,开发web应用

HTML面试题部分 1.H5的新特性有哪些 2.Label的作用是什么?是怎么用的? 3.HTML5的form如何关闭自动完成功能 4.dom如何实现浏览器内多个标签页之间的通信? 5.实现不使用 border 画出1px高的线,在不同浏览器的标准模式与怪异模式下都 能保持一…

Qt/自定义控件的封装

新建文件,选择Qt设计师界面类 创建空界面 这是自己控件封装的文件,双击跳转到设计界面进行设计 跳转到其他的ui界面,创建一个widget 右键,选择提升为 在提升的类名称输入刚刚创建的类名,添加后选择提升,勾选…

FairTune:优化参数高效微调以实现医学图像分析的公平性

paper:https://arxiv.org/abs/2310.05055 code: https://github.com/Raman1121/FairTune 摘要和介绍 人工智能在医疗健康应用中的应用正在迅速增长。然而,人工智能模型一再被证明对不同的人口统计学亚群体表现出不必要的偏见——AI模型在由…

【暗月安全】2021年渗透测试全套培训视频

参与培训需要遵守国家法律法规,相关知识只做技术研究,请勿用于违法用途,造成任何后果自负与本人无关。 中华人民共和国网络安全法(2017 年 6 月 1 日起施行) 第二十二条 任何个人和组织不得从事入侵他人网络、干扰他…

数据结构之七大排序

𝙉𝙞𝙘𝙚!!👏🏻‧✧̣̥̇‧✦👏🏻‧✧̣̥̇‧✦ 👏🏻‧✧̣̥̇:Solitary_walk ⸝⋆ ━━━┓ - 个性标签 - :来于“云”的“羽球人”。…

Kubernetes Service

一、Service:Kubernetes 中的服务返现与负载均衡 1、为什么需要服务发现 Pod 生命周期短暂,IP 地址随时变化。 Deployment 等的 Pod 组需要统一访问入口和做负载均衡。 应用间在不同环境部署时保持同样的部署拓扑和访问方式。 2、应用服务如何暴露到…

停止Tomcat服务的方式

运行脚本文件停止 运行Tomcat的bin目录中提供的停止服务的脚本文件 关闭命令 # sh方式 sh shutdown.sh# ./方式 ./shutdown.sh操作步骤 运行结束进程停止 查看Tomcat进程,获得进程id kill进程命令 # 执行命令结束进程 kill -9 65358 操作步骤 注意 kill命令是…

简单的排序算法

目录 1.直接插入排序 2.希尔排序 3.选择排序 4.冒泡排序 5.计数排序 6.排序总结 1.直接插入排序 (1)思想 所谓插入排序,就是将待排序数据插入到已经有序的数据中,为了使插入后数据依然有序,就要选中一个合理的…

android开发网络通信,带你彻底搞懂Android启动速度优化

实现方案 直接依赖 这种方式实现简单,但是耦合太严重,不方便维护与开发,当工程逐渐增大模块逐渐增多,依赖关系会非常复杂,不推荐这种方式。 事件或广播通信 EventBus: 我们非常熟悉的事件总线型的通信框…

JavaScript的`bind`方法:函数的“复制”与“定制”

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

jquery选择器有哪些

jQuery是一个功能强大的JavaScript库,它提供了丰富的选择器来帮助开发者更方便地选择和操作DOM元素。以下是jQuery的一些常用选择器及其示例代码: 1.基本选择器: // 通过ID选择元素 $("#myId").css("color", "red…

【论文阅读 VLDB22】On-Demand State Separation for Cloud Data Warehousing

On-Demand State Separation for Cloud Data Warehousing 问题背景 首先是问题背景,目前除了大规模PB级别的AP会使用云数据库,越来越多的百G大小的中小规模的负载也开始进行上云分析和处理,而这些ap任务不需要消耗整个集群的资源&#xff0…

DHCP自动获取IP地址实验(思科)

华为设备参考:DHCP自动获取IP地址实验(华为) 一,实验目的 路由器搭载DHCP,让PC通过DHCP自动获取IP地址 二,不划分vlan 实验拓扑 配置命令 Switch Switch>enable Switch#configure terminal Switch(c…

C#不可识别的数据库格式解决方法

1.检查数据库文件路径和文件名: 确保指定的路径和文件名拼写正确,而且文件确实存在于指定的位置。使用绝对路径或相对路径都是可行的,但要确保路径的正确性 string connectionString "ProviderMicrosoft.ACE.OLEDB.12.0;Data SourceE:…

go 程序被意外kill后出现僵尸进程解决方案

go 管理自身子进程(防止僵尸进程出现) 写这篇文章是因为最近有同事竟然会知道异步启动子进程,不会关闭,最后导致导致僵尸进程出现,而且由于子进程会随着业务的使用越开越多,主进程一旦被kill掉就会不得不手动一个一个kill。 大概…

【车辆安全管理】强制降速系统

在很久之前,我们就讨论过车辆强制降速系统的重要性,即使驾驶人故意撞人,也难以做到,因为强制降速系统会控制车辆的速度。强降速系统可以通过多种传感器进行智能分析,即使降速。 汽车的Robot化概念-CSDN博客 最近发生…

LiveGBS流媒体平台GB/T28181功能-集中录像存储前端设备录像回看解决方案设备录像|云端录像|实时录像说明

LiveGBS集中录像存储前端设备录像回看解决方案设备录像|云端录像|实时录像说明 1、平台概述2、视频录像2.1、设备录像2.1.1、存储位置2.1.1.1、下级硬件设备2.1.1.2、下级国标平台 2.1.2、页面操作2.1.2.1、国标设备2.1.2.1.1、查看通道2.1.2.1.1.1、设备录像 2.1.2.1.2、配置中…

城市平均高温、平均低温数据爬取与可视化

爬取历史天气网站数据 从天气网站爬取指定城市、指定时间范围内的天气数据,并将数据保存为CSV文件。具体而言,它使用了Selenium库来模拟浏览器行为,以便获取动态加载的页面内容。 主要步骤如下: 读取城市信息和代理IP信息&…

Nodejs 第四十九章(lua)

lua Lua是一种轻量级、高效、可嵌入的脚本语言,最初由巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)的一个小团队开发而成。它的名字"Lua"在葡萄牙语中意为"月亮",寓意着Lua…