密码学(三)

文章目录

  • 前言
  • 一、Software Attestation Overview
  • 二、Authenticated Key Agreement
  • 三、The Role of Software Measurement

前言

本文来自 Intel SGX Explained

请参考:
密码学(一)
密码学(二)

一、Software Attestation Overview

依赖于可信处理器的系统的安全性取决于软件认证。由可信硬件建立的隔离容器中运行的软件可以请求硬件对一小段认证数据进行签名,生成认证签名。除了认证数据之外,签名的消息还包括一个唯一标识容器内软件的测量值。因此,认证签名可以用来说服验证者,认证数据是由特定的软件生成的,该软件托管在由可信硬件从外部干扰隔离的容器内。

在本节中讨论的每个硬件平台都使用略有不同的软件认证方案。平台的差异在于在隔离容器内执行的软件数量、提供给容器内软件的隔离保证以及获取容器测量的过程。每个可信硬件平台的威胁模型和安全属性直接源于上述设计选择,因此,对认证的良好理解是讨论现有平台之间差异的先决条件。

二、Authenticated Key Agreement

软件认证可以与密钥协商协议结合使用,因为软件认证提供了密钥协商协议所需的身份验证。由此产生的协议可以向验证者保证它已与托管在由可信硬件创建的隔离容器内的特定软件建立了共享密钥。下一段概述了增强的协议,以Diffie-Hellman密钥交换(DKE)作为密钥交换协议的示例。

验证者开始执行密钥交换协议,并将第一个消息gA发送给安全容器内的软件。容器内的软件生成第二个密钥交换消息g
B,并要求可信硬件认证两个密钥交换消息的密码哈希值h(gA||gB)。验证者接收第二个密钥交换消息和认证签名,并通过检查下图所示的信任链中的所有签名来对安全容器内的软件进行身份验证。
在这里插入图片描述
上图表明了软件认证中的信任链由制造商密钥作为根开始,该密钥为安全处理器的认证密钥生成背书证书。处理器使用认证密钥生成认证签名,该签名包含容器的密码哈希和容器内部软件生成的消息。

在软件认证中使用的信任链以硬件制造商拥有的签名密钥为根,验证者必须对其进行信任。制造商充当证书颁发机构(CA),为其生产的每个安全处理器提供一个唯一的认证密钥,用于生成认证签名。制造商还为每个安全处理器的认证密钥颁发背书证书。该证书表示该密钥用于软件认证。认证策略通常规定,至少认证密钥的私钥应存储在防篡改硬件中,并且仅用于生成认证签名。

安全处理器通过存储容器内加载的代码和数据的密码哈希来标识每个隔离容器。当处理器被要求对一段认证数据进行签名时,它使用与容器相关联的密码哈希作为认证签名中的测量值。验证者在使用认证密钥的背书证书验证处理器的认证密钥之后,确保签名有效,并验证签名中的测量值属于其期望与之通信的软件。

通过检查认证链中的所有链接,验证者对密钥交换中的另一方进行了身份验证,并确保它现在与期望的运行在受信任硬件上的隔离容器中的软件共享一个密钥。

三、The Role of Software Measurement

用于标识安全容器内部软件的测量值始终使用安全散列算法计算。可信硬件设计在其安全散列函数选择和提供给散列函数的数据方面存在差异。然而,所有设计都共享一个原则,即构建安全容器的每一步都会向其测量散列中添加数据。

软件认证背后的理念是计算机的所有者可以在安全容器中加载任何她希望的软件。然而,假定计算机所有者有动机参与一个分布式系统,其中通过软件认证对她构建的安全容器进行身份验证。如果不需要进行软件认证,计算机所有者可以构建任何没有约束的容器,这将使得无法对容器内部软件的安全属性进行推理。

根据上述论证,基于软件认证的可信硬件设计必须假设每个容器都参与软件认证,并且远程方将拒绝与其报告的测量值与分布式系统作者设置的预期值不匹配的容器进行交互。

例如,云基础设施提供商应该能够使用由可信硬件提供的安全容器在其计算机上运行任何所需的软件。然而,该提供商通过向客户租用其基础设施来赚钱。如果安全意识强的客户只愿意租用由可信硬件提供的容器,并使用软件认证对其使用的容器进行身份验证,那么云提供商将有强烈的经济激励按照客户的规格构建容器,以便容器通过软件认证。

容器的测量值是使用安全散列算法计算的,因此构建与预期测量相匹配的容器的唯一方法是按照分布式系统作者指定的确切步骤序列进行操作。安全散列函数的加密属性保证,如果计算机所有者在任何方面偏离指定的步骤序列,所创建的容器的测量值将与分布式系统作者预期的值不匹配,因此容器将被软件认证过程拒绝。

因此,宣称可信硬件设计的测量方案可以保证安全容器中的某个属性具有特定的值是有意义的。这个短语的确切含义是属性的值决定用于计算容器测量值的数据,因此预期的测量散列实际上为属性指定了预期值。在正确使用软件认证的分布式系统中,所有容器都将具有给定属性的所需值。

例如,为云基础设施设计的可信硬件使用的测量方案应该保证容器的内存是使用客户内容进行初始化的,通常称为映像(image)。

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

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

相关文章

重新认识Elasticsearch-一体化矢量搜索引擎

前言 2023 哪个网络词最热?我投“生成式人工智能”一票。过去一年大家都在拥抱大模型,所有的行业都在做自己的大模型。就像冬日里不来件美拉德色系的服饰就会跟不上时代一样。这不前段时间接入JES,用上好久为碰的RestHighLevelClient包。心血…

浏览器缓存引发的odoo前端报错

前两天,跑了一个odoo16项目,莫名其妙的前端报错, moment.js 报的错, 这是一个时间库,不是我自己写的代码,我也没做过任何修改,搞不清楚为什么报错。以为是odoo的bug,所以从gitee下载…

xxl-job 分布式任务调度平台使用,图文版

一,前言 今天公司要升级job平台,需要把以前的调度任务全部平移到新的job平台中, 所以学习了解一下job平台的使用,方便以后回顾。 二,操作 1,拉取代码,启动任务调度平台 gitee地址&#xff…

Win10子系统Ubuntu实战(二)

在 Windows 10 中安装 Ubuntu 子系统(Windows Subsystem for Linux,简称 WSL)有几个主要的用途和好处:Linux 环境的支持、跨平台开发、命令行工具、测试和验证、教育用途。总体而言,WSL 提供了一种将 Windows 和 Linux…

阿赵UE学习笔记——8、贴图导入设置

阿赵UE学习笔记目录 大家好,我是阿赵。   继续学习虚幻引擎的用法,这次来说一下贴图的导入设置。   在内容浏览器里面可以看到纹理类型的资源,就是贴图了,鼠标悬浮在上面可以看到这个纹理贴图的信息: 双击纹理贴图…

CAN-FD总线协议深度解析-简单易懂协议详解

关注菲益科公众号—>对话窗口发送 “CANoe ”或“INCA”,即可获得canoe入门到精通电子书和INCA软件安装包(不带授权码)下载地址。 1.CAN-FD协议特性 CAN 总线通信也渐渐显现出来一些不足,主要有以下几方面: &…

2024年我国网络安全发展形势展望

2023年,我国网络安全政策法规陆续出台,网络安全与数据安全产业发展势头强劲,网络安全形势整体向好。展望2024年,世界各国在网络空间中的竞争将变得愈发激烈,我国网络安全领域的法律法规将不断完善,数据安全…

wpf的资源路径

1、手动命名空间 xmlns:share"clr-namespace:***;assembly**" 2、资源文件 Pack URI 编译到本地程序集内的资源文件的 pack URI 使用以下授权和路径: 授权:application:///。 路径:资源文件的名称,包括其相对于本地…

Java架构师设计模式事件驱动架构

目录 1 导语2 事件驱动架构模式:类别notification3 事件驱动架构模式:何谓EDA4 事件驱动架构模式EDA两种Topology介绍5 事件驱动架构模式EDA两种Topology:EventMe6 事件驱动架构模式EDA两种Topology:Mediato7 事件驱动架构模式EDA两种Topology:Broker8 事件驱动架构模式ED…

Linux安装MongoDB教程

下载MongoDB安装包 1、官网地址; 下载链接 选择版本 下载好了之后上传到服务器开始安装。 解压 解压 mongodb-linux-x86_64-rhel70-4.2.23.tgz 文件: 解压文件必须进入到压缩包所在的目录: cd /usr/local tar -zxvf mongodb-linux-x86_64-rhel70-4…

ARMv8-AArch64 的异常处理模型详解之异常等级、执行状态以及安全状态

ARMv8-AArch64 的异常处理模型详解 一,特权和异常等级1.1 异常等级 Exception levels 二,特权的类型2.1 内存特权2.2 访问寄存器的特权 三,执行状态和安全状态3.1 执行状态 Execution states3.2 执行状态切换 3.3 安全状态 Security states3.…

IDEA中在Java项目中添加Web模块 与配置tomcat服务器

现有项目添加直接走第二步 生成普通新项目 给项目添加框架支持 勾选 Web Application 选项, 点击OK 得到项目目录结构 , 出现web目录结构, 且web目录文件夹出现小蓝点 web或webapp 没有出现小蓝点 说明web配置没有出现或是手动构建的目录结构 , 在IDE关闭或者迁移项目时会出…

【普中开发板】基于51单片机的简易密码锁设计( proteus仿真+程序+设计报告+讲解视频)

基于51单片机的简易密码锁设计 1.主要功能:资料下载链接: 实物图:2.仿真3. 程序代码4. 设计报告5. 设计资料内容清单 【普中】基于51单片机的简易密码锁设计 ( proteus仿真程序设计报告讲解视频) 仿真图proteus8.16(有低版本) 程…

创建EasyCodeMybatisCodeHelperPro模板文件用于将数据库表生成前端json文件

在intellij idea中,通过插件EasyCodeMybatisCodeHelperPro,从现有的模板文件中选择一个复制粘贴,然后稍为修改,即可得到一个合适的模板文件。 现在的前端,越来越像后端。TypeScript替代了JavaScript,引入了…

如何在 Windows10 下运行 Tensorflow 的目标检测?

看过很多博主通过 Object Detection 实现了一些皮卡丘捕捉,二维码检测等诸多特定项的目标检测。而我跟着他们的案例来运行的时候,不是 Tensorflow 版本冲突,就是缺少什么包,还有是运行官方 object_detection_tutorial 不展示图片等…

基于Java开发的工作流审批系统,自定义工作流,表单绑定

前言 activiti工作流,企业erp、oa、hr、crm等审批系统轻松落地,请假审批demo从流程绘制到审批结束实例。 一、项目形式 springbootvueactiviti集成了activiti在线编辑器,快速开发平台,可插拔工作流服务。 二、项目介绍 本项目…

遗传算法总结(迭代版本2:附带MATLAB例题代码)

目录 基本概念: 具体例子 1.我们先对图像进行抽象化: 2.我们将得到的六串数字进行扁平化处理: 3.解释即后续操作​编辑 基本步骤: 总结 例题1: 例题2: 基本概念: 染色体(Ch…

WPF 基础入门(资源字典)

资源字典 每个Resources属性存储着一个资源字典集合。如果希望在多个项目之间共享资源的话,就可以创建一个资源字典。资源字段是一个简单的XAML文档,该文档就是用于存储资源的,可以通过右键项目->添加资源字典的方式来添加一个资源字典文件…

计算机组成原理之计算机硬件发展和计算机系统的组成

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

Linux chmod命令详解

Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令 Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users&#xff09…