第四十八个知识点:TPM的目的和使用方法
第四十八个知识点:TPM的目的和使用方法
在检查TPM目的之前,值得去尝试理解TPM设计出来的目的是为了克服什么样的问题。真正的问题是信任。信任什么?首先内存和软件运行在电脑上。这些东西能直接的通过操作系统进行获取,因此能在操作系统层级的攻击者可以访问秘密信息(例如安全密钥)。:如果这些密钥直接存储在内存中,并被软件访问,那么攻击者很容易从存储密钥的内存位置读取密钥,从而危害安全性。
围绕这一问题的一个方案是确保密钥不会直接存储在可以被软件访问的计算机内存中。考虑到密钥对于安全应用程序是必需的,它们必须在某个时候以软件可以使用的状态出现,那么这怎么可能呢?一种方式是使用一个软件无法访问的密钥来封装内存中的密钥。例如有一个单独的硬件,其中有一个密钥可以进行这样的加解密操作。因此,软件可以利用这个硬件上存储的密钥来做各种事情,比如将密钥存储在内存中,但永远不能直接访问这个密钥。
这其实就是TPM所做的。一个TPM有一个RSA密钥对被叫做SRK(Storage Root Key,存储根密钥)。它的私钥部分对所有人所有事情都保密。使用这个私有密钥,可以使用SRK包装(通常称为“绑定”)其他密钥(软件使用的密钥),从而保护它们不被公开。除了简单地包装密钥之外,TPM还可以包装它们并将它们绑定到特定的平台度量上。只有当这些平台度量具有与创建密钥时相同的值时,才能打开此类密钥。这个过程叫做“密封”。TPMs还可以用于加密密钥生成和执行其他加密任务,其中一个任务称为远程认证,它创建硬件和软件配置的散列密钥摘要,允许第三方验证软件没有被更改。
真正需要理解的是它通过将安全性下推到硬件级别,并确保将安全性交给单独的硬件,有它自己的固件和电路,不能从外部改变,系统不会暴露给软件漏洞,因此更值得信赖。
因此TPM的目的是什么?克服信任软件完全可靠的问题。
TPM如何使用?我们提到了其中一些,首先就是绑定,可以通过SRK封装软件密钥。第二个就是“密封”,将特定的密钥绑定到度量平台上。第三,我们研究了远程认证,并注意到TPMs也可以用于其他加密功能,如密钥生成。
第四十八个知识点:TPM的目的和使用方法的更多相关文章
- 第二十八个知识点:什么是公钥密码学的IND-CCA安全定义?
第二十八个知识点:什么是公钥密码学的IND-CCA安全定义? 我们将在这篇博客中讨论公钥加密的IND-CCA安全. IND-CCA安全代表选择明文的不可伪造性.这样的安全方案的思想就是给定一个密文,攻 ...
- NeHe OpenGL教程 第四十八课:轨迹球
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- SQL注入之Sqli-labs系列第四十七关,第四十八关,第四十九关(ORDER BY注入)
0x1 源码区别点 将id变为字符型:$sql = "SELECT * FROM users ORDER BY '$id'"; 0x2实例测试 (1)and rand相结合的方式 ...
- 《手把手教你》系列技巧篇(四十八)-java+ selenium自动化测试-判断元素是否可操作(详解教程)
1.简介 webdriver有三种判断元素状态的方法,分别是isEnabled,isSelected 和 isDisplayed,其中isSelected在前面的内容中已经简单的介绍了,isSelec ...
- 第四十二个知识点:看看你的C代码为蒙哥马利乘法,你能确定它可能在哪里泄漏侧信道路吗?
第四十二个知识点:看看你的C代码为蒙哥马利乘法,你能确定它可能在哪里泄漏侧信道路吗? 几个月前(回到3月份),您可能还记得我在这个系列的52件东西中发布了第23件(可以在这里找到).这篇文章的标题是& ...
- 第四十九个知识点:描述在IPsec和TLS后的基本想法
第四十九个知识点:描述在IPsec和TLS后的基本想法 网络安全协议(Internet Protocol Security,IPsec)和安全传输层协议(Transport Layer Securit ...
- 第四十六个知识点 在Sigma协议中,正确性,公正性和零知识性意味着什么
第四十六个知识点 在Sigma协议中,正确性,公正性和零知识性意味着什么 Sigma协议 Sigma协议是Alice想要向Bob证明一些东西的协议(Alice知道一些秘密).他们有下面的一般范式:Al ...
- 第十八个知识点:画一个描述ECB,CBC,CTR模式的操作
第十八个知识点:画一个描述ECB,CBC,CTR模式的操作 第8周是画三个图的任务,但是维基百科上已经有人画的很好了 https://en.wikipedia.org/wiki/File:ECB_en ...
- 第四十五个知识点:描述一些对抗RSA侧信道攻击的基础防御方法
第四十五个知识点:描述一些对抗RSA侧信道攻击的基础防御方法 原文地址:http://bristolcrypto.blogspot.com/2015/08/52-things-number-45-de ...
随机推荐
- keybd_event模拟键盘按键,mouse_event怎么用
从 模仿UP主,用Python实现一个弹幕控制的直播间! - 蛮三刀酱 - 博客园 (cnblogs.com) 知道了 PyAutoGUI: * Moving the mouse and clicki ...
- eclipse上点击open Perspective找不到java EE的解决办法
原因:没有安装java ee等插件 Help--->Install New software---->work with中选择All Available Sites----> ...
- 【Java 8】方法引用
一.概述 在学习lambda表达式之后,我们通常使用lambda表达式来创建匿名方法.然而,有时候我们仅仅是调用了一个已存在的方法.如下: Arrays.sort(stringsArray,(s1,s ...
- JS 的三种定义变量 var let const
Let 只在 let 命令所在的代码块内有效,在外就会报错 Let 是块级作用域,函数内部使用let定义后,对函数外部无影响 Let/const 不存在变量提升,使用前一定要声明后,在使用,否则会报错 ...
- Java 设计模式--策略模式,枚举+工厂方法实现
如果项目中的一个页面跳转功能存在10个以上的if else判断,想要做一下整改 一.什么是策略模式 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理,最终可以实现解决 ...
- C# 获取当前目录的父级目录
Directory.GetParent(System.Environment.CurrentDirectory).FullName
- Python multiprocessing 基础使用和小trick
最近进行数据预处理时(噪声插入),单进程严重影响实验周期,故学习了multiprocessing并发执行不同数据集的处理,加快执行效率.现于此进行一些简单记录以供日后参考. 1. 基础: From m ...
- jQuery选择器整理+知识总结
jQuery选择器 没有不会遗忘的知识,还是做个总结吧! 一.基本分类 jQuery选择器大致可以分为两类,基本选择器和过滤选择器,总体结构体系如下: 二.基本选择器 基本选择器又可以分为三种,分 ...
- 代码仓库gogs的基本配置使用
目录 一.基本功能介绍 主板说明 页面说明 用户设置 二.仓库 新建仓库 迁移仓库 仓库介绍 三.组织和团队 创建新组织 创建团队 一.基本功能介绍 主板说明 图中1表示自己个人账户下的仓库(所有权属 ...
- greeting-150
拿到程序例行检查,可以看出程序是32位的程序 将程序放入ida中进入主函数查看 但是我们将程序运行一次后发现程序还运行了nao的程序 说明程序在中间还引用了nao函数,通过代码审计我们可以很直接的看到 ...