当前位置: 首页 > news >正文

「史上最全的 TCG 规范解读」TCG 规范架构概述(下)

 可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强不同计算机平台上计算环境的安全性。TCG 于 2003 年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alliance, TCPA)所开发的规范。现在的规范都不是最终稿,都还在不断的更新中,比如:TPM的规范就从原来的 v1.0 更新到 v1.2,现在还在不断的修订。

416f22625bff0de3a009fac07323686d.jpeg

修订


本规范在 TCG 文档路线图中位置


9348aebc1291441f86eed6d6f64a728c.png

4.2.4 完整性度量

度量内核会生成一系列的度量事件,一个度量事件包含两类数据:

  • 被度量数值:用来表示程序代码或数据
  • 度量摘要值,被度量数值的哈希值

度量内核会依次扫描这些数据并生成消息摘要值,这些摘要值是机器操作状态的快照。被测量数据和度量摘要会独立存放。度量摘要值会存储到 TPM 里,这涉及到了 RTR 和 RTS 的使用。被度量数据由度量内核决定放在哪里,实际上这些数据没必要存储,需要时重新生成即可。

度量值描述了被度量组件的属性、特性,至于度量域的词法、语法以及详细程度、度量输出值的格式由度量内核决定,只要能够满足度量事件消费者的需求即可。度量内核可以决定度量数据的格式划分,平台相关的规范包含额外的平台配置要求、表示形式以及其消费者是谁。

存储度量日志 SML 包含了一系列相关的度量值,每个序列共享通用的度量摘要值(所有度量事件生成一个摘要值),即新的测量数据和之前的事件摘要值扩展,重新生成新的摘要值。扩展哈希保证了所有度量值及其顺序都能够很好的由哈希值保护。 TPM 中的一组平台控制寄存器 PCR 用来记录这些摘要值,这些值在 TPM 重启后会被重置。

度量事件的验证方需要重建这个度量值,并和 PCR 值比较即可。 TCG 没有规定 SML 内容的格式,只是建议采用类似 XML 这样的标记语言,最终还是由平台相关的规范来定义(比如 PC向的平台规范)。

SML 有可能会变得很大,所有 SML 不要求 TPM 对其进行保护,不过 SML 在收到 DOS 攻击时,实现者应该能够重新复制或者生成这些日志。

4.2.5 完整性报告

软件报告根 RTR 有两个功能:

  • 提供保护区域存储完整性度量值
  • 基于可信平台的各种身份来证明存储数据的真实性

PCR 可以在易失、非易失存储中实现,不过必须能够抵抗软件攻击,也应该实施一定措施来防止物理篡改,完整性报告由 身份证明密钥 AIK 签名来验证 PCR 中数值的真实性。

TPM 负责生成并管理 AIK,TPM 可以由多个 AIK,当平台拥有者担心系统存串通问题事使用不同的 AIK 来保护隐私。

TPM 出厂时嵌入了一把密钥:背书/签注密钥(EK),EK 用来签发 AIK 来以建立平台所有者的过程。平台所有者可以创建存储根密钥,存储根密钥用来包装其他 TPM 密钥。

TCG 凭证

TCG 定义了 5 种类型的凭证,每种类型用来提供执行特定操作所必须的信息,凭证采用 ASN.1 表示,这个借用了公钥基础设施中的元素,凭证类型包括:

  • 背书或 EK 凭证
  • 符合性凭证
  • 平台凭证
  • 验证凭证
  • 身份或 AIK 凭证

1. 背书凭证

背书凭证由生成背书密钥 EK 方颁发,EK 是在制作过程中生成的,即 TPM 制造商会生成 EK。不过,EK 可以在发给终端用户前的任意点生成,只要 TPM 制造商声明 EK 已经正常创建并嵌入到可用的 TPM 中。

EK密钥对在客户拿到平台后生成的话,密钥生成的条件可能会影响背书的提供。

背书凭证包含的信息有:

  • TPM 制造商名称
  • TPM 零件号
  • TPM 版本或阶段
  • EK 公钥

虽然 EK 公钥是公开的,但因为其和 TPM 一一绑定并会对平台进行扩展,所以属于敏感隐私。TCG 预期每个 TPM 需要有一个 EK 凭证。

2. 符合性凭证

这些证书由具有足够可信度的任何人发布,以评估TPM或包含TPM的平台。这些评估可以由平台制造商、供应商或独立实体来进行。这个符合性凭证表明评估方根据评估指南同意可信构建元素TBB 的设计和实现。通过签发凭证,评估者可以证明评估结果,这些会被用于后期的检查。TCG 通过定义有意义的评估标准和准则来促进评估。

评估方可以像一个平台签发多个符合性凭证,一个是给 TPM 的,其他是签给各个可信构成元素 TBB 组件的。

符合性凭证可能包含以下信息:

  • 评估方名称
  • 平台制造商名称
  • 平台型号
  • 平台版本(如果有的话)
  • TPM 制造商名称
  • TPM 型号
  • TPM 版本号或阶段

符合性凭证不包含任何唯一识别任何平台特定的信息。

TCG设想每个平台模型可能存在多个一致性证书,但同一品牌和型号的多个平台只需要一组证书。

3. 平台凭证

平台凭证由平台制造商、供应商或者任何具有足够信用的相关方颁发,平台凭证能够唯一识别平台的制造商并描述平台属性。平台凭证会引用 TPM 背书凭证以及相关的符合性凭证。这些引用由引用凭证的消息签名构成。平台凭证可以被看做是隐私敏感信息,这个凭证和特定平台相关,而不是和一类平台相关。

平台凭证包含如下信息:

  • 平台制造商名称
  • 平台型号
  • 平台版本(如果适用)
  • 背书凭证
  • 符合性凭证

平台凭证根据背书凭证证明平台包含一个 TPM。TCG 建议每个平台实例只有一个平台凭证。

4. 验证(资格)凭证

TCG 建议可测量组件(软硬件)能够在功能测试后能够生成其度量值,形成对应的凭证。当然,这只是对那些能够对安全造成威胁的组件。这些度量值需要在安全环境下生成,并形成签名文档,即验证凭证,在运行时进行度量值比较。

以下一些组件通常需要验证证书:

  • 视频适配器
  • 磁盘存储适配器
  • 通信控制器/网络适配器
  • 处理器
  • 键盘和鼠标
  • 软件

验证凭证由验证实体颁发,任何愿意并有能力度量、证明这些度量值的实体都可以视作验证实体。通常,组件制作商产生这些值的最佳选择。组件描述中的任何一部分可能成为信任决策的原料。然而,验证凭证的候选组件可能会造成安全威胁。

组件描述至少包含如下元素:

  • 验证实体名称
  • 组件制造商名称
  • 组件型号
  • 组件版本或阶段
  • 度量值
  • 组件能力(比如不可改,这个是可选的)

一个型号中的一组组件可以颁布一份凭证,也可以颁发多个凭证。

组件更新、升级流程由供应商自定义,比如如何使原来的验证凭证无效等。

5. 身份证明凭证

证明身份凭证(身份证)是用来证明 AIK 私钥的凭证,由 AIK 公钥和其他签发者认为有用的信息组成,证明凭证是由可信服务方颁发并能验证各种凭证同时保证客户端的隐私条款。

通过签发证明身份凭证,签发者能够证明 TPM 的真实性,证明 TPM 的一些事实。证明的目的是 TPM 拥有 AIK 并且这个 AIK 绑定了有效的背书凭证、符合性凭证、平台凭证。受信方进一步保证了其遵守的隐私保护满足用户期望,这些隐私包括在注册过程中暴漏的个人隐私数据。

证明身份凭证参考其他凭证如下:

证明身份凭证包含了一个TPM 制造商和型号的引用,如下图中 C,没有引用隐私敏感的 EK
证明身份凭证同时包含了平台制造商和型号如图 D,值得注意的是这个引用并不是引用平台凭证本身,而是引用平台凭证中信息不敏感的信息
最后,证明身份凭证包含一个指向 TPM 和平台符合性的条目,如图 E
挑战者可以使用该信息以及证书中的其他信息,通过认证协议信任平台。

TPM 通信端点

当考虑系统之间的信息交换时,必须识别通信的端点。端点的组成和组成和通信协议对系统的整体安全性同等重要。TCG设计者主张端点至少由保护协议数据的非对称密钥、密钥存储和处理组成。

传统基于非对称密码的消息交换只能使用公钥对其进行加密。此外,还可以过使用私钥签名防止消息篡改。密钥才是通信的终点,不正确的管理密钥会导致安全性的降低。此外,不正确配置的端点也可能导致失去安全性。TPM通过提供了密钥管理和配置管理功能(例如受保护的存储、测量和报告)。

这些功能可以结合起来“密封”密钥和平台配置,从而定义端点变得更强。

TCG定义了四类受保护的消息交换;绑定 Binding、签名 Signing、密封绑定(Sealed-Binding)和密封签名 Sealed-Signing。

1. 绑定 Binding

装订就是传统意义上的公钥加密,也就是说发送者使用公钥对发送的消息加密,消息只能由接收者的私钥解密来还原出来。当私钥是由 TPM 管理的不可迁移密钥时,即只有这个 TPM 能够使用这个密钥,也就是说这个消息是由这把不可迁移密钥的公钥加密的,从而将其“绑定”到了一个特定的 TPM 上。

对于那些可以在 TPM 之间迁移的密钥来讲,绑定就失去其意义了。

2. 签名

签名也是一个老生常谈,使用一个密钥对消息生成签名,和这个消息联系起来。 TPM 会对其管理的一些密钥标识成只签名密钥,即这些密钥只能用于计算数据的哈希并对其加密。因此,他们不能被认为是加密密钥。

3. 密封

密封相对绑定更进一步,密封的消息会被发送者绑定到一系列平台度量值,平台度量值指明了允许解密时的平台配置状态。密封动作将加密消息和一系列的 PCR 寄存器数值以及不可迁移非对称密钥联系起来。

密封消息创建时会选取一些 PCR 寄存器数值并由非对称密钥加密,用于消息解密的对称密钥也一同被加密,只有拥有非对称解密密钥的 TPM 才能尝试解密对称密钥,只有相应的 PCR 寄存器值和指定值匹配时才能解密消息。
密封是 TPM 一个强大的特性。它保证了只有平台处在特定配置中时才能对消息进行恢复。

4. 密封签名

上面是把消息解密和 PCR 数值联系起来,密封签名就是把消息签名和 PCR 寄存器值联系起来。

TCG 安全评估模型


TCG 意识到实现可信计算不仅仅需要这些技术标准,还需要一个能够确保这些标准被正确应用的过程支持。本章节就 TCG 为促进标准的正确应用而采取的方法展开了讨论,采取了一个 3 要素概念框架,即:评估时向审查人员揭示了开发和制造的过程和产物,审查人员提供评估报告说明产品满足客户既定的目标,这个评估能够很好的说明产品符合了 TCG 标准,而鉴定允许客户将经认证的产品纳入其计算环境,并实现认证需要要求的策略。

评估上下文

For evaluation to be meaningful, the right features must be evaluated. Figure 5:a shows the general context of security which motivates the class of features chosen by TCG for definition and standardization. The model captures the objectives of two classes of activity, Owners and Threat Agents. It is evident that the interests’ of each are contradictory.

图4 ISO 15408 安全评估上下文

认证评估支持业主利益,帮助改进应对措施并识别到漏洞。TCG 通过几种方式实现这一点:

  • 通过建立计算资产的所有者,即平台。
  • 通过启用所有者对平台的控制。
  • 通过提供最小化和规避威胁的测量、存储和报告对策。
  • 通过要求可用于识别漏洞的评估。
  • 通过启用产品认证,从而将风险降至最低。

评估目标

图5 ISO 15408 评估环境保障

评估的目标是提高对可信赖的对策的保证,以降低受保护资产的风险。评估结果是一种对反措施进行保证评级的声明,保证是反措施的性质,对其正确操作有信心。

评估过程

TCG利用 ISO-15408(A.K.A.通用标准)标准评估计算系统,这些标准可作为评估人员的指南,它提供了通用术语、分类和评级使得评估结果可以被广泛的受众解释和理解。TCG 期望许多组织参与 TCG 产品的评估和认证,ISO-15408 在全球范围内被IT、IS 和政府采购机构广泛接受。

图6 ISO 15408 评估上下文流程图

认证

认证过程是对评估结果的独立检查,从而产生最终证书或批准,该证书通常是公开的。为了让认证

更有意义,必须由称职的评估人员进行评估,认证确定最终评级并提供评估证明。值得注意的是,认证过程是在应用安全标准时获得更大一致性的一种手段。

评审

评审是客户在确定哪种技术最能支持客户安全和安全目标时参与的过程。

获取安全或安保目标的安全政策、实践、指南和程序是特定于客户的,并影响产品采购决策。为了使认证成为有意义,TPM和TBB评估必须由可信的认证机构进行。安全策略应定义受信任的人和责任。

TCG 规范合规

虽然ISO-15408评估过程将执行许多TCG定义的标准,但它不能替代符合性标准。TCG 参与了TCG 标准的符合标准,这些规范将在功能上进行合规性和完整性测试。

TPM 制造和支持实现


本节强调了与TPM设备的制造、部署和维护相关的关键含义。这些可以通过仔细阅读本文件和其他 TCG 文件来收集,但为了方便起见,这里包含了一些描述。

  • 防篡改封装
  • 现场升级
  • 国际密码算法进出口
  • 密钥管理基础设施

附录


//take ownership of tpm
TSS_RESULT rc=Tspi_TPM_TakeOwnership(a_hTpm, a_hSrk, NULL_HKEY);if(rc!=TSS_SUCCESS){fprintf(stderr,"Tspi_TPM_TakeOwnership:%s ", Trspi_Error_String(rc));goto out_close;}printf("result is %d ",result);return result;//create key
SS_RESULT result = Tspi_Key_CreateKey(hKey,hSrk,NULL_HOBJECT);if(result!=TSS_SUCCESS){fprintf(stderr,"Tspi_Key_CreateKey: %s ", Trspi_Error_String(rc));goto out_close;}printf("create key success! ");//data encryption
TSS_RESULT rc=Tspi_Data_Bind(hEncdata,hKey, strlen(testCipher),(unsigned char*)testCipher);if(result !=TSS_SUCCESS){fprintf(stderr,"Tspi_Data_Bind: %s ",Trspi_Error_String(rc));goto out_close;}//data decryption
TSS_RESULT rc=Tspi_Data_Unbind(hEncdata,hKey, &unsealedDataLength, &unsealedData)if(rc!=TSS_SUCCESS){fprintf(stderr,"Tspi_Data_Unbind: %s ",Trspi_Error_String(rc));goto out_close;}

参考


TCG标准规范下载

术语


TCG,可信计算组织;

TPM,可信平台模块;

可信度量,主体通过密码学方法对客体进行度量的方法;

皮格马利翁效应心理学指出,赞美、赞同能够产生奇迹,越具体,效果越好~
“收藏夹吃灰”是学“器”练“术”非常聪明的方法,帮助我们避免日常低效的勤奋~

下一篇 「TCG 规范解读」TCG 主规范-设计原则

相关文章:

「史上最全的 TCG 规范解读」TCG 规范架构概述(下)

可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强不同计算机平台上计算环境的安全性。TCG 于 2003 年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Allia…...

GDScript 导出变量 (4.0)

概述 导出变量的功能在3.x版本中也是有的,但是4.0版本对其进行了语法上的改进。 导出变量在日常的游戏制作中提供节点的自定义参数化调节功能时非常有用,除此之外还用于自定义资源。 本文是(Bilibili巽星石)在4.0官方文档《GDScr…...

JAVA知识点全面总结6:泛型反射和注解

六.JAVA知识点全面总结6泛型反射和注解 1.什么是泛型?可以用在哪里? 2.泛型擦除机制是什么?为什么擦除? 3.通配符是什么?作用是什么? 未更新 1.注解是什么?有什么用? 2.注解的自定义和实…...

死代码删除(DCE,Dead Code Elimination)和激进的死代码删除(ADCE,Aggressive DCE)

死代码删除(DCE,Dead Code Elimination)和激进的死代码删除(ADCE,Aggressive DCE)死代码删除(DCE,Dead Code Elimination)DCE简介DCE基本算法激进的死代码删除&#xff0…...

询问new bing关于android开发的15个问题(前景、未来、发展方向)

前言:new bing是基于chat-gpt的新搜索工具,可以采用对话方式进行问题搜索,经过排队等候终于可以使用new bing,询问了目前我最关心的关于android开发几个问题 文章目录1.如何学好android开发?2.android开发能做什么?3.…...

【C++】初识类和对象

🏖️作者:malloc不出对象 ⛺专栏:C的学习之路 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 目录前言一、面向过程和面向对象初步认识二…...

EPICS S7nodave手册

第一章:介绍 本手册分为6章(不算次介绍部分)。第一章介绍s7nodave用于EPICS的设备支持的概念和特新。第二章描述启动一个使用s7nodave的IOC项目所需要的几步。第三章描述s7nodave支持的IOC shell命令。之后,第四章解释s7nodave支持的各种记录类型。最后…...

2023最新版本RabbitMQ的持久化和简单使用

上节讲了 RabbitMQ下载安装教程 , 本节主要介绍RabbitMQ的持久化和简单使用。 一、RabbitMQ消息持久化 当处理一个比较耗时得任务的时候,也许想知道消费者(consumers)是否运行到一半就挂掉。在当前的代码中,当RabbitM…...

函数式编程

函数式编程(一) 文章目录函数式编程(一)1. 前言1.1 概念2. Lambda 表达式2.1 概述2.2 基本的格式2.3 触发条件2.4 Lambda表达式2.4.1 无参无返回值2.4.2 有参无返回值2.4.3 无参数有返回值2.4.4 有参有返回值【重点】2.4.4.1 比较…...

【Java 类】001-访问修饰符、命名规范

【Java 类】001-访问修饰符、命名规范 文章目录【Java 类】001-访问修饰符、命名规范一、访问修饰符概述1、是什么2、作用作用问题3、访问修饰符有哪些4、作用对象二、访问修饰符使用演示1、类访问修饰符演示第一步:创建 Dog 类:public第二步&#xff1a…...

【C++】命名空间

🏖️作者:malloc不出对象 ⛺专栏:C的学习之路 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 目录前言一、命名空间产生的背景二、命名空…...

【AutoSAR】【MCAL】Dio

一、结构 二、功能介绍 DIO(数字输入输出)驱动模块主要是对端口(Port),通道(Channel)和通道组(ChannelGroup)进行读写操作。 通道(Channel)&…...

瑞吉外卖——day2

目录 一、新增员工 二、查询分页数据 三、启用、禁用员工账户、编辑员工信息 一、新增员工 点击左上角新增员工 页面如下: 我们随便填数据 ,点击保存,请求的地址如下 返回前端可以看到请求方式为Post 在employeeController中编写对应的代…...

了解java

#常见编程语言介绍 C语言 C语言 java语言 javaScript语言 PHP语言 python语言Object-C和Swift语言 C# (c sharp)语言 Kotlin语言 Go语言 Basic语言 #JAVA的发展 起源于1991年SUN公司GREEN项目,1996年JDK1.0正式发布 后被Oracle公司收购&…...

【编程实践】代码之中有创意:“我一直认为工程师世界上最具创造性的工作之一”

代码之中有创意 “我一直认为工程师世界上最具创造性的工作之一”。 文章目录 代码之中有创意一、代码可以赋予创造力1.1 代码的创造力1.2 如何发挥代码的创造力二、有创意的代码可以提高工作效率2.1 代码创意可以提高工作效率2.2 如何利用代码创意来提高工作效率三、代码创意可…...

【MySQL】表连接

一、为什么要学习 因为不合理的使用连接会导致慢查询 二、什么是连接 参与连接的表叫做 连接表, 连接就是把 各个连接表 进行的组合 (笛卡儿积)加入结果集并返回 三、连接查询 如何只是对表进行大量的连接,笛卡儿积作用得到的…...

2023湖南省“楚怡杯”职业技能大赛“网络安全” 项目比赛任务书

2023湖南省“楚怡杯”职业技能大赛“网络安全” 项目比赛任务书2023安徽省“中银杯”职业技能大赛“网络安全” 项目比赛任务书A模块基础设施设置/安全加固(200分)A-1:登录安全加固(Windows, Linux)A-2:Ngi…...

Android应用启动优化笔记整理

应用启动相关流程与优化 应用启动主要涉及SystemServer进程 和 app进程。 SystemServer进程负责app进程创建和管理、窗口的创建和管理(StartingWindow 和 AppWindow)、应用的启动流程调度等。 App进程被创建后,进行一系列进程初始化、组件初…...

图像bytes字节串二进制转十六进制及bytes转为图像

目录前言正文二进制与十六进制的bytes互转读取bytes为图像法1:直接写入f.read的结果法2: 转换为PIL或Numpy前言 参考: 8. python基础之基础数据类型–bytes - CSDN python 16进制与图片互转 - CSDN 正文 二进制与十六进制的bytes互转 bytes保存的是原始的字节(二…...

信息安全与数学基础-笔记-②同余

知识目录同余完全剩余系剩余类完全剩余系❀简化剩余系❀欧拉函数逆元!欧拉定理 !同余 a,b 两个数字,都模m,当两个数字模m后余的数一样即为同余。 例子: a bq r (mod m),这里的a 和 r 就是同余 &#xff…...

网络安全法

目录正文第一章第二章第三章第四章第五章第六章 法律责任第七章 附则正文 学习网络安全应该知道网络安全法 第一章 总则 第一条: 为了保障网络安全,维护网络空间主权和国家安全、社会公共利益,保护公民、法人和其他组织的合法权益,促进经济…...

django框架开发部署项目

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…...

Unity记录1.3-入门-第一阶段总结

文章首发及后续更新:https://mwhls.top/4447.html,无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评,非常感谢! 汇总:Unity 记录 摘要:第一阶段的总…...

Linux入门篇-文件管理

简介 简单的文件管理。 ⽂件内容的查看 ⽂本⽂件内容的查看 cat ⽂本⽂件的path1 ⽂本⽂件的path2 head ⽂本⽂件的path ,显示⽂件的前10⾏内容 head -n 5 ⽂本⽂件的path , 显示⽂件的前5⾏内容 head -5 等于head -n 5tail ⽂本⽂件的path, 显示⽂件的后10⾏内容…...

如何从错误中成长?

在上一篇文章“技术人的犯错成本”里,我和你聊了技术人可能会犯的各式各样的错误,也举了很多例子,说明了技术人犯错的成本。在竞争激烈的互联网时代,试错当然是好事,但了解错误成本,避免不应该犯的错误&…...

谈谈一个程序员的职场心得(真有用)

谈谈一个程序员的职场心得 我会分为三个部分:软件开发,职场协作和认知成长,每个部分精简成 7 条心得。 软件开发 若无必要,勿增实体。 这是奥卡姆剃刀的定义,所谓剃刀就是法则,是奥卡姆这个英国学者提出来…...

Pytest:一个卓有成效的测试工具

大家都知道,目前最流行的Python单元测试框架有三种,分别是unittest, nose和pytest。其中unittest是Python自带的测试框架,但问题是比较老了,赶不上时代发展了(哈哈哈);nose2定位是带插件的unitt…...

Compose 动画 (三) : AnimatedVisibility 从入门到深入

1. AnimatedVisibility 是什么 AnimatedVisibility可以实现Compose组件的显示和隐藏,并且可以指定显示/隐藏时候的动画效果。(EnterTransition/ExitTransition) 和 animateXxxAsState、animateContentSize、Crossfade、AnimatedContent 这几个API一起,都…...

网络基础(二)

目录 应用层 再谈 "协议" 协议是一种 "约定". socket api的接口, 在读写数据时, 都是按 "字符串" 的方式来发送接收的. 如果我们要传输一些"结构化的数据" 怎么办呢? 为什么要转换呢? 如果我们将struct message里面…...

Java线程知识点总结

文章目录Java 线程基础线程简介什么是进程什么是线程进程和线程的区别创建线程ThreadRunnableCallable、Future、FutureTaskCallableFutureFutureTaskCallable Future FutureTask 示例线程基本用法线程休眠线程礼让终止线程守护线程线程通信wait/notify/notifyAlljoin管道线程…...