郑州大学信息安全专业,辛辛苦苦做的不想浪费,发出来留作日后复习,也可以方便后来者。

总体来说还算全面,但是因为我校期末考试没有代码部分,请自行补充。

可信计算:在可信计算中,可信被定义为:如果一个实体的行为总是以预期的方式朝着预期的目标执行,那么它就是可信的。可信计算的理念是以硬件安全芯片为基础,建立可信的计算环境,确保系统实体按照预期的行为执行。

机密计算:数据安全和隐私泄露的风险是制约组织间数据流通的一大障碍,机密计算专注于方法标准化,以确保在TEE数据处理过程中加密内存数据,而不会导致敏感代码和数据的泄露。机密计算希望解决的问题是数据使用中的安全性。

隐私计算:隐私计算是涵盖了众多学科的交叉融合技术,包含了安全多方计算、同态加密、差分隐私、零知识证明、联邦学习以及可信执行环境等主流技术。隐私计算在保证数据本身不对外泄露的前提下,实现“数据可用不可见”的目的,以及数据价值的转化和释放

计算的概念:基础设施即服务IAAS  平台即服务PAAS   软件即服务SAAS

计算的技术特点:

  1. 面向服务
  2. 弹性伸缩与自动调配
  3. 虚拟化技术:虚拟化技术大量应用在云计算中心,是实现云计算的核心技术。包括指令级虚拟化、硬件抽象层虚拟化、操作系统级虚拟化、编程语言级虚拟化、程序库级虚拟化以及桌面级虚拟化。

网络空间安全的概念:网络空间是信息时代人类赖以生存的信息环境,是所有信息系统的集合,它以计算机和网络系统实现的信息化为特征。网络空间安全是人和信息对网络空间的基本要求,信息安全是网络空间安全的核心内涵。

可信计算的概念:可信计算是一种旨在增强计算机系统可信性的综合性信息安全技术。

其基本思想是:在计算机系统中,建立一个信任根,从信任根开始到硬件平台、操作系统、应用。一级度量认证一级,一级信任一级,努力把这种信任扩展到整个计算机系统,并采取防护措施,确保计算资源的数据完整性和行为的预期性,从而提高计算机系统的可信性。

可信 约等于 可靠+安全,稳定可靠和安全保密是用户最关心的问题。

       

(问答)可信计算思想的应用:

1增强微机系统的安全从微机的芯片、主板、硬件结构、BIOS和操作系统等软硬件底层安全做起,在网络、数据库、应用等方面综合采用密码技术、网络安全技术,有效增强微机系统的安全性。

2可信计算的总目标是提高计算机系统的安全,现阶段可以确保信息系统数据完整性、数据安全存储和平台远程证明等安全功能。

3、从长远看,一切使用CPU的信息系统都应当采用可信计算技术来增强系统的安全性。当前已经成为热点的云计算、物联网和工业控制系统,更应当也更适合采用可信计算技术来增强安全性。

1985年,美国国防部制定了世界上第一个《可信计算机系统评价准则》,第一次提出了可信计算机(Trusted Computer)和可信计算基(Trusted Computing Base,TCB)的概念。这一阶段可以看作是可信计算目标的提出阶段。

1999年提出TCPA,2003年TCPA改组为可信计算组织TCG,TCG是一个非营利组织,旨在研究制定可信计算的工业标准:

  1. 可信PC规范
  2. 可信平台模块TPM规范
  3. 可信软件栈TSS规范
  4. 可信服务器规范
  5. 可信网络连接规范
  6. 可信手机模块规范

TPM规范是TCG最主要的技术规范之一,TPM芯片是目前应用最广泛的可信计算产品。

2006年,我国制定出第一个可信计算技术规范---《可信计算平台密码方案》,将可信平台模块TPM称为可信密码模块TCM,并规定了应使用的中国密码算法。

信任根是可信计算机的可信基点,也是实施安全控制的基点。它在功能上包含三个信任根,可信度量根(Root of Trust for Measurement, RTM)

RTM是对平台进行可信度量的基点。它是平台启动时首先被执行的一段软件,用以对计算机进行可信度量。它又被称为可信度量根核(Core Root of Trust for Measurement, CRTM),在可信PC机中,它是BIOS中最开始的部分代码,开机时对PC进行可信度量

可信存储根(Root of Trust for Storage, RTS)

RTS是对可信度量值进行安全存储的基点,由TPM芯片中的一组被称为平台配置寄存器(Platform Configuration Register, PCR)和存储根密钥(Storage Root Key)共同组成

可信报告根(Root of Trust for Report, RTR)

RTR是平台向访问客体提供平台可信性状态报告的基点,它由TPM芯片中的平台配置寄存器和背书密钥(Endorsement Key,EK)的派生密钥(Attestation Identity Key)共同组成

可信计算界推出了虚拟可信平台模块(virtual TPM, vTPM)技术,并以物理TPM芯片和vTPM共同作为云计算虚拟机的信任根,结合密码技术以支持虚拟机的安全可信和可信迁移,进而实现可信云计算。    

PCR配置寄存器是一种物理硬件。硬件安全是信息安全的根基。设计可信平台模块的目的就是给漂浮在软件海洋中的船只(客户终端)提供一只锚。

(核心内容)可信软件栈TSS : TSS是可信计算平台上TPM的支撑软件,它的主要作用是为操作系统和应用软件提供使用TPM的接口,在结构上主要由底层的TPM设备驱动库TDDL、TSS核心服务TCS和TSS服务提供者三部分组成。

 

远程证明主要利用密码技术和可信计算技术

(掌握)密码技术:

密码技术是信息安全的关键技术,也是可信计算的关键技术,可信计算的主要特征技术---度量存储报告机制,就是建立在密码技术基础之上的。可信平台模块(TPM,TCM,TPCM)是一个以密码功能为主的芯片。

TPM2.0密码技术的变化 :1. 密码配置更加合理  2. 混合使用公钥密码算法和对称密码算法,提高了整体效率  3. 密钥管理更加合理  4. 支持虚拟化。 5. 提高了密钥使用的安全

TPM2.0的密码技术仍存在以下问题:实际应用尚少,安全性、兼容性和易用性还需要经过大量实际应用的检验。

可信计算发展中存在的不足:可信计算产品的实际应用尚不广泛。

(1)可信平台模块芯片的应用是广泛的。(2)可信计算平台的应用不够广泛。

中国可信计算标准------TCM模块

 

 

 

TPM安全芯片,是指符合TPM标准的安全芯片,它能有效地保护PC,防止非法用户访问。TPM标准由可信赖计算组织(Trusted Computing Group,TCG)制定

TCG提出了TPM标准,目前最新版本为2.0

可信密码模块(Trusted Cryptography Module,TCM),以密码算法为突破口,依据嵌入芯片技术,替换了TPM1.2的核心算法(密码算法),完全采用我国自主研发的密码算法和引擎,来构建一个安全芯片

(掌握)

 

  • TPM1.2密码算法:RSA加密、RSA签名、RSA-DAA、SHA1、HMAC,并没有要求支持对称算法。
  • TPM2.0密码算法:RSA加密和签名、ECC加密和签名、ECC-DAA、ECDH、SHA1、SHA256、HMAC、AES,而且厂商可以随意使用TCG IDs来增加新的算法

 

 

 

可信计算的工作原理

 

专业术语的国内定义:

  • 可信密码模块/可信平台模块
  • 可信密码模块(TCM)/可信平台模块(TPM)应提供密码算法支撑,具有完整性度量、可信存储及可信报告等功能。
  • 可信平台控制模块
  • 可信平台控制模块(TPCM)在TCM/TPM 的支撑下应具备主动度量和控制功能。TPCM 应是一个逻辑独立或者物理独立的实体,可采用独立的模块或物理封装、通过IP核或固件方式与TCM/TPM集成、虚拟化实现实体等形式。
  • 可信平台主板
  • 可信平台主板是集成了TPCM 的计算机主板,将 TPCM 作为信任根建立信任链,并提供 TPCM与其他硬件的连接。
  • 可信软件基
  • 可信软件基(TSB)实现对运行于宿主基础软件中应用程序的监控和度量。TSB组成结构及功能接口应符合GB/T37935-2019。
  • 可信连接
  • 可信连接实现可信计算节点接入网络时的身份鉴别和平台鉴别,包括用户身份鉴别、平台身份鉴别和平台完整性评估,确保只有可信计算节点才能访问网络。可信连接具体构成及功能接口应符合GB/T29828-2013。

报告度量模式

在硬件及固件层,BIOS中的CRTM 构成可信计算节点的信任根,并通过TSM/TSS等向上层提供使用TCM/TPM 等基础资源的支撑。在信任链建立过程中,各计算部件代码应调用 TCM/TPM 等的完整性度量接口对信任链建立的下一环节进行完整性度量,并报告度量结果,由应用程序或其使用者进行裁决。

在宿主软件及中间件层,由应用层的应用程序调用TSM/TSS等相关接口进行完整性度量,并给出完整性报告,由应用程序使用者进行裁决。对于支持可信连接的网络部署,可信连接调用TSM/TSS等提供的接口进行完整性度量,并根据度量结果进行相应操作

可信平台控制模块(重点:信任链建立,可信启动)

TPCM模块是一个逻辑概念,由功能组件、基础软件和硬件组成。

 

加载程序的内存地址空间

 

(重点)计算机启动流程

 

(重点)信任链传递

  • a) TPCM 先于Boot ROM 被执行前启动, 由 TPCM 中的 RTM 度量Boot ROM 中的初始引导模块(Boot Block) , 生成度量结果和日志, 并存储于 TPCM 中;
  • b) 如果度量通过,TPCM 发送控制信号, 使 CPU、 控制器和动态存储器等复位; 平台加载并执行 Boot ROM 中的 Boot Block 代码;
  • c) Boot Block 中的 EMM1 获得系统执行控制权, 信任从 RTM 传递到 EMM1;
  • d) EMM1 度量 Boot ROM 版本信息和 主引导模块(Main Block)中的 EMM2 代码;EMM1 存储度量结果到TPCM 中的 PCR 并存储度量日志;
  • e) 如果度量通过,平台加载并执行 Main Block 中 EMM2 的代码;
  • f) Main Block 中的 EMM2 获得系统执行控制权, 信任从 EMM1 传递到 EMM2;
  • h) 平台加载并执行 OS Loader 的代码;
  • i) OS Loader 中的 EMM3 获得系统执行控制权, 信任从 EMM2 传递到 EMM3;
  • j) EMM3 度量操作系统内核, 生成度量结果和日志, 度量结果存储到 TPCM 的 PCR 中, 度量事件日志保存到 LSA 中;
  • k) 平台加载并执行 OS Kernel 的代码;
  • l) OS Kernel 中的 EMM4 获得系统执行控制权, 信任从 EMM3 传递到 EMM4。

 

(Boot Rom包含处理器在上电或复位时执行的第一个代码。它可以决定从哪里加载要执行的下一部分代码以及如何或是否验证其正确性或有效性。由初始引导模块(Boot Block)和主引导模块(Main Block)组成。常见的BIOS可以看作是一种简化固定的Boot Rom)

信任链建立要求:   a)信任链的建立过程必须以可信度量根 RTM 为起点;

b) 当需要装载并运行一个部件前, 应由 RTM 或者 EMM 对该部件进行完整性度量, 然后再将其加载和运行;

c) TPCM 中 PCR 存储的杂凑值应与系统引导过程中的度量事件和度量顺序相对应;

d) TPCM 中 PCR 存储的杂凑值应与系统引导过程中生成的度量日志相对应;

e) 在每次开机时应重新生成 LSA 中的度量日志和 TPCM 中 PCR 存储的杂凑值。

可信计算密码支撑平台

国家可信计算标准涉及的密码算法包括 :

SM2 椭圆曲线密码算法、SM4 对称密码算法、SM3 密码杂凑算法、HMAC 消息认证码算法、随机数发生器

可信软件栈结构

TSS是TCG的软件标准,TSS相当于一个微型的操作系统,管理着TPM,为上层应用提供可信服务。TSS包含几个可以移植的软件层,允许应用软件根据需要使用其不同的软件层。

TSS包含以下由高到低的几层软件:FAPI,ESAPI,SAPI,TCTI(TPM Command Transmission Interface),TAB(TPM Access Broker),RM(Resource Manager),和设备驱动。

  • 大多数的用户层应用程序基于FAPI开发就可以了,因为FAPI实现了TPM百分之八十的常用应用场景。使用这一层开发应用就像是使用JAVA,C#等高级语言开发应用一样方便。
  • 下一层是ESAPI,它需要应用程序对TPM的内部构造有更深的了解,但是同时提供了会话管理以及加解密的辅助功能。这有点像使用C++开发应用程序。
  • ESAPI的下面一层是SAPI层,应用程序也可以直接基于SAPI这一层。它提供了TPM的所有功能,但是要想用好它你必须对TPM有很深的理解。
  • TCTI层用于向TPM发送命令并接收TPM对命令的响应。应用可以直接通过TCTI发送命令的数据流并解析接收到的响应数据流。
  • TAB这一层主要负责多线程环境下TPM资源的同步。允许多个线程同时访问TPM而不发生冲突。
  • TPM内部的存储资源非常有限,所以需要一个资源管理器RM,它的原理于虚拟内存管理类似,它可以将TPM对象和会话换进换出TPM。
  • 最后一层就是设备驱动,它主要是控制通信外设与TPM互相传输数据。如果你愿意的话,直接调用设备驱动接口来编写应用程序也是可以的,当然这就像是你用二进制数据编写程序一样。

(重点掌握)TPM访问代理(TPM Access Broker)

TAB用于多个进程共享一个TPM时的控制和同步操作。当一个进程在发送和接收数据时,其他的进程不能访问TPM。这是TAB主要的任务。TAB的另外一个任务是阻止进程访问不属于他的TPM会话,对象,以及哈希和事件的序列。在大多数的实现中,TAB和RM是集成到一起组成一个软件模块。这样做的主要原因是,对RM做一些简单修改就可以完成一个典型的TAB实现。

资源管理器RM:

一个TPM命令最多可以使用三个资源实体handle和三个会话handle。所有这些handle都需要在TPM内部的内存中,这样TPM命令才能够执行。RM的工作就是解析TPM命令数据流,决定哪些资源需要加载到TPM中,加载资源之前还要换出一些TPM资源为加载留出足够空间,然后加载所需的TPM资源。对于TPM对象和操作序列来说,因为它们在加载到TPM知道可能包含多个handle,RM需要将这些handle虚拟化之后再返回给调用者。

TPM密码资源管理

TSS为上层应用调用TPM密码资源提供了多层接口,开发者可以根据自己的需要,按照规范要求调用这些接口来构建可信应用。但是,TSS作为一个控制TPM密码资源的微型操作系统,它需要对各种密码资源进行命名、定位、控制和调度,经过多年的演化,形成了一系列可信计算中独特的概念:实体(Entity)、命名(Name)、组织架构(Hierarchy)、索引(Index)、授权(Authorization)、会话(Session)、上下文(Context)。这些概念本质上都是从安全和效率的角度出发,以密钥为基础构建的一个复杂安全系统。

TPM中的安全机制和业务会话都可被定义成实体。常见的资源实体类型包括

  • 永久实体:组织架构,字典攻击锁定机制,和PCR;

永久实体指其句柄由TPM规范直接定义,系统初始化后就一直存在,而且不能被创建,也不能被删除,相当于TPM嵌入式密码模块初始化后自带的重要部件。

在TPM1.2中,PCR(平台配置寄存器)及其所有者是唯一的永久实体;

TPM拥有大量的PCR,这些PCR可以通过索引来访问。PCR可能和一个或多种哈希算法相关。PCR也拥有授权值和策略,可以改写PCR中存储的值。

读取PCR的值不需要任何授权。PC客户端平台规定至少要有24个PCR。但是强制规定需要有一个PCR库(bank),PCR库指的是拥有相同哈希算法的一组PCR。

由于PCR是永久实体,所以不存在删除和创建PCR,用户只能改变PCR的值和属性。

存储密钥(SRK)有固定的handle,但是它不是永久实体。

在TPM2.0中,有更多的永久实体类型:

三个固定的组织架构(平台,存储,背书),

一个临时组织架构(NULL,它在TPM的每个加电周期里会被自动清除),

字典攻击锁定复位(它是一个不包含密钥和对象的组织架构,充当TPM存储组织架构的IT管理员。)

保留的句柄,

明文口令授权会话,

和平台组织架构的NV开关(平台的固件可以很方便地使用TPM作为存储启动参数中的NV空间。即使是在TPM平台组织架构关闭的情况下,这个空间也必须保持可读)等。

  • 非易失性实体:

NVRAM索引(NVRAM是TPM内的非易失性存储空间。NV索引是访问这些空间的地址。NVRAM索引同时具有授权值和授权策略。NV索引的拥有者可以改变授权值,但是不能改变授权策略,授权策略一旦被创建就不能再修改);

  • 对象:密钥和数据;

密钥可以被看作TPM中的一种实体,也可以看作是被专门定义的TPM对象。它通常作为组织架构中的核心组成部分出现。TPM可以生成密钥,也可以导入在外部生成的密钥,它支持对称和非对称密钥。TPM可以修改密钥的handle,但是不能改变密钥的名称

密钥生成函数(KDF)是固定的,相同的输入可以生成相同的输出。对于相同的种子,相同的密钥模板总是会产生相同的密钥

(一个TPM对象就是指密钥或者和加密相关的数据,所有的对象都隶属于一个组织架构,也都有相关的授权数据和授权策略。与NV索引相同的一点是,一个对象的访问策略一旦被创建后就不能再修改。跟NVRAM索引相似,所有的TPM对象都隶属于以下四中组织架构中的一种:平台,存储,背书,或者NULL。)

  • 易变的实体:会话。TPM中的会话指为完成一次对资源的授权访问所需要的全部中介的总称。

PCR: 平台配置寄存器是TPM必需的特性之一。最初的应用是用于提供一种密码学的方式记录(测量)软件的状态。TPM仅仅用PCR来记录测量值。至于是否安全,这要到应用程序真正使用PCR用于policy授权的时候,或者是远程请求者请求一个签名认证(quote,引用)然后判定可信性。

PCR的一个常用功能是授权。PCR还有一个功能是用于认证。

PCR有两个最基本的应用。通过一个签名的认证引用可以把PCR的值传递出去。据此可以判断平台的软件状态是否可信。PCR还可以用于策略,基于PCR的值来授权其他TPM对象的使用。

密钥复制属性:

* fixedTPM:如果密钥的这个属性被设置,这个密钥就不能被复制了。

* fixedParent:如果密钥的这个属性被设置,这个密钥就不能被复制到不同的父密钥下。这相当于密钥被锁定到一个父密钥下。

  • 这两个布尔属性一共有如下四种组合:
  • fixedTPM为真,fixedParent为假。TPM不允许这个配置组合存在。因为fixedTPM已经表明密钥不能以任何形式被复制,这样fixedParent为false又暗示密钥可以复制到不同的父密钥下,这就自相矛盾了。
  • fixedTPM和fixedParent都为真,表示这个密钥不能以显式或隐式的方式被复制。
  • fixedTPM为假,fixedParent为真,表示一个密钥不能显式地被复制。因为它被锁定到一个父密钥下。但是如果它的父密钥被复制了,这个密钥会被隐式地被复制。
  • fixedTPM和fixedParent都为假,表示一个密钥可以以复制组或者复制根的方式被复制。如果它是一个父密钥,那它的子密钥也将跟它一起被复制。

非持续的实体会在TPM一个上电周期内清除,与之相对应的是持续性实体,持续性实体会在TPM的上电周期之间保存。持续性实体与永久实体的不同之处是相关组织架构的拥有者可以清除持续性实体。因为TPM的持续性内存空间有限,所以我们应该节约使用持续性实体。

TPM1.2版本只支持非结构化数据(现在叫做普通数据)。TPM2.0增加了另外三种基本类型,所以一共有四种基本类型的索引:

  • 普通索引

用于存储任意长度的非结构化数据。与计数器,位字段以及扩展索引不同的是,普通NV索引对所写入的数据类型没有限制。

  • 计数器索引

是一个只能增加的64位数值。在对一个NV计数值执行增加命令之前,这个计数值会被初始化为这个TPM上曾经出现过的最大NV计数值。这个值既包括当前存在的计数值也包括过去曾经定义的但是现在已经删除的计数值。这样一个计数器的计数值就永远不会被回滚,即使是被删除后重新创建也不行。

  • 位字段索引

一个NV位字段包含64位,默认情况下全部初始化为0,但是也可以选择设置为1。位字段的某一位只能被写1而不能清0。

  • 扩展索引

由特定的哈希算法定义的,并且有固定的索引生命期。本质上是一种哈希链。索引对应NV区域的大小与哈希算法的输出相对应。NV区域会被初始化为全0。对这个NV区域的写操作是一个扩展操作,与PCR的操作类似。

  • TPM2.0还支持以上基本索引类型的混合,即混合索引。

混合索引数据是在易失性存储器中创建的。除了混合计数器,索引数据只有在关闭TPM时才会被写到NV区域中。四种索引类型(普通,计数器,位字段,或者扩展)都可以成为混合索引。混合索引主要强调索引数据存储在易失性存储中。

对于永久性的实体来说(如PCR和组织架构),因为他们的句柄永远不会变,所以句柄就可以作为它们的名称。但是对于其他的实体(如NV索引和加载的对象)来说,它们的名称实际上是他们各自的公开数据的哈希值。基于安全的考虑,在创建一个实体时就计算它的名称并合理存储是非常重要的。

实体的名称的作用:防止篡改数据的攻击方式,方便TPM密钥的安全管理。名称实际上是一个Hash值。名称是一个TPM实体唯一的身份标示

组织架构

  1. 由一组相关的实体构成,包括永久对象(组织架构的handle),树根节点密钥等。
  2. 一个组织架构的密码学根节点是一个密钥种子,这个密钥种子是在TPM内部生成的一个很大的随机数,并且不会暴露在TPM安全边界之外。
  3. 每一个组织架构都有一个相关的校验值(proof value),这个校验值可以被独立生成或者由种子派生。
  4. 一个组织架构可以是持续性(TPM上电周期之间保持)的或者易变的(重启后消失)

三种持续性组织架构(平台,存储,背书)有如下的共同特性:

  • 每一个组织架构都有一个授权值和policy。
  • 每一个组织架构都有一个开关标志。
  • 每一个组织架构都有一个用于派生密钥和数据对象的种子。

(相同的种子和密钥属性总是产生相同的密钥)

  • 每一个组织架构都有可以包含子密钥的主要密钥

平台组织架构被设计成由平台厂商控制,平台厂商的控制体现在平台上的系统启动早期运行的代码。平台组织架构在三个可持续性组织架构中的独有特性是,它在平台启动时就可以使用了,授权值被设置成空,让平台固件生成一个自己的授权值(policy可选)

存储组织架构被设计用于平台的所有者,企业IT组织或者个人终端用户。平台所有者可以关闭这个组织架构,并且不影响平台组织架构。存储组织架构主要用于非隐私相关的操作。

背书组织架构是一个隐私树,用户在处理与隐私相关的任务时应该使用它。TPM和平台厂商可以认证这个组织架构下的主密钥是否受控于一个真实平台上的真实TPM设备。一个终端用户可以关闭背书组织架构,同时不影响TPM应用使用存储组织架构,平台软件也可以继续使用TPM。

TPM授权与会话

授权是TPM2.0规范中的核心概念,TPM所有的规范都在保证对各类资源的访问必须得到授权。授权用于控制对TPM实体的访问,类似于操作系统中的访问控制机制,为TPM提供了安全保障。

会话(分为:口令会话,HMAC会话,策略会话)与授权紧密联系,有时在概念上会有一些重叠。会话是TPM完成授权的载体和工具。通过设置会话的各种属性和状态来完成各种授权。当然,会话也可以单独完成自己的任务,不用于授权。

 

 

会话变体:

加盐 vs. 不加盐

  • HMAC和Policy会话都可以是加盐或者不加盐。一个加盐的会话会给会话密钥的创建过程增加更多熵值。如果密码/口令的强度很弱,给一个会话加盐有助于防止线下的暴力破解。

绑定和非绑定

  • HMAC和Policy会话都可以是绑定或非绑定的。一个绑定会话就意味着会话被“绑定”到一个特定的TPM实体上,“bind”实体;一个绑定会话通常是用于针对“bind”实体授权多次动作。绑定实体的授权值用于计算会话密钥。绑定会话还可以用于针对其他实体。一个非绑定会话可以用于授权针对许多不同实体的动作

TPM扩展授权与密钥管理

扩展授权,也称作策略授权。如果一个用户想限制一个实体只能在某些特定情况下才能被使用,所有针对这个实体使用的限制的总和就叫做一个策略。

策略授权与口令授权:

一些由TPM系统自身创建的实体具有默认的访问口令和策略(如各种基本的组织架构、字典攻击重置句柄)。这样的实体拥有固定的名称,其自身并不依赖于附带的策略,同时这些策略是可以改变的。

很多实体(如NV索引和密钥)的名称是根据它们创建时分配的策略计算哈希得到的,所以访问这些实体的口令可以更改,但是其访问策略不能更改,修改后这个实体的真实性无法通过验证。

任何可以使用口令直接完成的事情也可以通过策略来完成,但是反之则不然,某些事情(如密钥复制)只能通过策略完成授权。

策略授权更加灵活,可以对策略进行精细的调整。既可以将策略设置为永远不能满足的NULL策略,也可以通过策略为单独的命令或适用于一个实体的不同用户提供不同的认证方式

策略授权的优点:

允许多个用户或者角色来满足一个策略。

允许将一个对象的特定角色的功能限制在特定操作或用户。

修正了PCR脆弱的问题。

多因素认证:

口令

HMAC

提供数字签名的智能卡

物理存在/接触(Physical presence)

机器的状态(PCR)

TPM的状态(计数器,时间)

外部设备的状态(指纹读卡器,GPS等等)

          用于认证的每种机制称作断言

TPM命令审计、会话加密与上下文管理

TPM软件库支持两种类型的审计:命令审计和会话审计

命令审计是针对一个命令的操作并且在PC客户端TPM规范中是可选的

(掌握)TAB和资源管理器

TAB和RM将应用、多进程访问TPM以及对象、会话、序列在必要时换入换出TPM的繁杂事务隔离开来。TAB和RM关系非常紧密,并且通常会被集成到相同的软件模块中。根据系统设计具体情况,它们可能是TPM设备驱动的最上面一层软件,或者被集成为一个独立守护进程,处于TSS SAPI之下以及TPM设备驱动之上。

TAB的职责非常简单:仲裁多进程同时访问TPM。最小的要求是,必须保证所有进程在命令数据流开始发送到TPM直到从TPM接收命令响应数据的时间段内,没有其他的进程与TPM通信

一个TAB可以用以下两种方式实现:

1、使用TPM锁

2、不使用TPM锁。

资源管理器RM负责处理对象、会话、和序列换入换出TPM的细节,这个处理对应用来说是透明的

机密计算的发展及应用(原理,基本概念)

利用可信执行环境(Trusted Execution Environments,简称TEE)技术,机密计算使得数据始终保持加密和强隔离状态,从而确保了用户数据的安全和隐私。

机密计算可以解决诸多应用场景中“信任”难题,比如多个不互信组织之间的数据融合与联合分析、区块链上的智能合约的机密性保护、公有云平台对外部或内部攻击的防御、高敏感信息(比如密码学材料、医疗档案等)的安全保护等等

机密计算的目标:

  • 机密计算旨在允许将云提供商从可信计算基础(TCB)中移除,以便只有硬件和受保护的应用程序本身在可信边界内。这样云客户就可以放心安全的把业务负载转移到公有云上去。
  • 机密计算为企业和最终用户不断提供新的工具以保护敏感数据和代码免受执行期间发生的威胁。
  • 在不同阶段,机密计算开发了不同的使用方法, 但最终目标都是希望帮助确保敏感数据,代码、工作负载的机密性和完整性

可信执行环境(Trust Execution Environment), 简称TEE。TEE被定义为提供一定级别的数据完整性、数据机密性和代码完整性保证的环境,具有运算和储存功能。

其基本思想是:在硬件中为敏感数据单独分配一块隔离的内存,确保敏感数据的计算在这块内存中进行,并且除了经过授权的接口访问之外,硬件中的其他部分并不能够访问这块内存中的数据,以此来实现敏感数据的隐私计算机密计算是通过在基于硬件的可信执行环境中执行计算来保护使用中的数据,对以下三个属性提供一定程度的保证:(三个功能)

  • 数据机密性:未经授权的实体无法查看在TEE内使用中的数据。
  • 数据完整性:未经授权的实体不能添加、删除或更改在TEE中使用中的数据。
  • 代码完整性:未经授权的实体不能添加、删除或更改TEE中执行的代码。

 

应用范围:密钥、秘密、凭证、令牌的管理。云计算关键信息资产的存储和处理

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐