




已阅读5页,还剩111页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TrustedComputingTPMTrustedBoot,1,Outline,可信平台的基本特性可信计算平台的基本体系可信平台模块(TPM)部件软件接口和服务TCG编程接口TrustedBoot,2,TrustedComputing,Anobjectistrustedifandonlyifitoperatesasexpected.Anobjectistrustworthyifandonlyifitisproventooperateasexpected.,3,TCGArchitecture,4,Agenda,可信平台的基本特性可信计算平台的基本体系可信平台模块(TPM)部件软件接口和服务TCG编程接口TrustedBoot,5,FundamentalTrustedPlatformFeatures,ProtectedCapabilitiesAttestationIntegrityMeasurement,StorageandReporting,6,保护能力(ProtectedCapability),保护区域:可信平台模块中存放敏感信息的存储区,如平台配置寄存器(PCR)。保护能力:可信平台模块提供的可以对保护区域进行访问的功能,以命令的形式提供,即TPM命令。,7,对外证明(Attestation)(Cont.),TPM的身份标识真实身份:唯一地标识一个确定的TPM的一对密钥真实身份密钥(EK),EK公钥+EK私钥工作身份:与某个TPM的EK关联的一对密钥工作身份密钥(AIK),AIK公钥+AIK私钥,8,对外证明(Attestation),对平台进行的证明可信的第三方告诉外部实体:“该平台与一个确定的TPM相关联,你可以相信它提供的完整性度量报告”。由平台进行的证明平台告诉外部实体:“某某完整性度量结果是我提供的”。用平台上的TPM的AIK对PCR寄存器的值进行签名。,9,完整性度量,完整性度量:获取影响平台完整性(可信性)的平台特性的度量值,并把该度量值的摘要存放到PCR中。被度量的值:程序代码或内嵌数据的表示度量产生的摘要:被度量的值的哈希值,10,完整性存储和报告,PCR寄存器保存度量产生的摘要的方法PCRnSHA1(PCRn+M_data)对外证明记录在PCR中的度量结果。,11,Agenda,可信平台的基本特性可信计算平台的基本体系可信平台模块(TPM)部件软件接口和服务TCG编程接口TrustedBoot,12,可信计算平台的信任根,13,RTM,RTM是一个可靠地进行完整性度量的计算引擎,以CRTM(corerootoftrustformeasurement)为度量根。CRTM是系统启动后执行的第一段代码,它初始化系统启动后的执行顺序,执行最初的可信度量,然后引导TPM开始工作。CRTM是平台执行RTM时的执行代码,一般存储在BIOS中。,14,RTS,RTS是一个准确的记录完整度量的摘要值和顺序计算引擎,它将完整性度量保存在日志中,将它们的散列值保存在PCR中。PCR/RTMactasRTS,15,RTR,RTR是一个可信的实体来精确和正确的报告信息。使用PCR和RSA以不可伪造的方式向外界报告平台状态。EK/TPMactasRTR,16,TrustedBuildingBlocks(TBB),可信构件块(TBB):平台中必须纳入到信任根之中的部件,处于保护区域和保护能力的范围之外。TheCRTM,ConnectionoftheCRTMstoragetoamotherboard,TheconnectionoftheTPMtoamotherboardmechanismsfordeterminingPhysicalPresence,17,ExampleofaTBB,18,信任边界(TheTrustBoundary),TBB和根信任的组合形成了一个可信边界在该范围内,可以完成对平台的最小配置的完整性的度量、存储和报告信任边界的扩充把通过度量的组件纳入到信任范围之中,19,信任链(TransitiveTrust),20,建立过程,可信计算平台将BIOS引导块作为完整性度量可信根,TPM作为完整性报告可信根。从平台加电开始,BIOS的引导模块度量BIOS的完整性值并将该值存储在TPM上,同时在自己可写的那块内存中记录日志;接着BIOS度量硬件和ROMS,将度量得到的完整性值存在TPM中,在内存中记日志;接着OSLoader度量OS,OS度量应用和新的OS组件。当操作系统启动后,由用户决定是否继续信任这个平台系统。这样一个信任链的建立过程保证了系统平台的可信性。,21,完整性测量(IntegrityMeasurement),measurementeventsmeasuredvalues-arepresentationofembeddeddataorprogramcodemeasurementdigests-ahashofmeasuredvaluesstorageThemeasurementdigestisstoredintheTPMusingRTRandRTSfunctionality.measuredvaluesmaybestoredinStoredMeasurementLog,22,StoredMeasurementLog(SML),SML记录了摘要值的序列,TPM将这些摘要值保存在相应的PCR。updatestoaPCRPCRnSHA-1(PCRn+measureddata)SMLdoesnotresideintheTPM.,23,procedure,24,MeasurementonLinux,AnexamplefromaLinuxbasedimplementationoftrustedcomputing,25,LinuxApplicationMeasurements,26,IntegrityReportingProtocol,27,协议说明,请求方发出获取一个或多个PCR寄存器值的请求;平台上的度量机制采集SML记录信息;度量机制从TPM中获取PCR寄存器的值;TPM用AIK对PCR寄存器的值进行签名;平台的度量机制采集与TPM关联的凭证,并把SML记录信息、凭证和经过签名的PCR寄存器的值提供给请求方;请求方验证请求的响应结果:它计算度量产生的摘要,将其与PCR寄存器的值进行对比,并评估平台的凭证,检查签名信息。,28,信息交换保护功能(1),绑定(Binding)发送方用接收方的公钥对信息进行加密设实体ES拟把信息M发送给实体ER,ER的公钥和私钥分别是KPUB-ER和KPRI-ER,用KPUB-ER对M进行加密得到KPUB-ERM,就相当于把M和ER绑定在一起,因为只有用KPRI-ER才能对KPUB-ERM进行解密,而只有ER才拥有PPRI-ER。如果实体ER是一个TPM,则以上绑定就是把信息M绑定到特定的TPM上,29,信息交换保护功能(2),签名(Signing)计算被签名的数据的哈希值,并用私钥对该哈希值进行加密设实体ES的公钥和私钥分别为KPUB-ES和KPRI-ES,ES对信息M进行签名的方法是:首先计算M的哈希值H(M),然后用KPRI-ES对该哈希值进行加密,得到的结果H(M)KPRI-ES就称为ES对M的签名如果实体ES是一个TPM,则以上签名就是特定的TPM对信息M的签名。,30,信息交换保护功能(3),封装(Sealing)选择一组PCR寄存器的值,用一个公钥对该组PCR寄存器的值和一个对称密钥进行加密,然后用该对称密钥对待封装的信息进行加密,31,ProcedureforSealing/Unsealing,32,信息交换保护功能(4),封装的签名(Sealed-Signing)先把一组特定的PCR寄存器的值组合到待签名的信息之中,再进行签名,33,密钥和数据的存储保护方法,34,Comments(Cont.),TPM中的RTS负责保护存储在TPM中的信息的安全,特别是保护TPM生成的密钥的安全。TPM中的存储空间非常有限,存放不下多少密钥,大量的密钥只能存放在TPM外的存储介质中。TPM中存放密钥的存储区称为密钥槽,TPM外的存储介质中存放密钥的存储区称为密钥槽的缓存,简称密钥缓存。,35,Comments,TPM外称为KCM的软件负责密钥缓存的管理,管理密钥在TPM与缓存之间的传送存储保护服务除了保护密钥以外,也可以保护数据。如果实体E无法识别数据D,则对于实体E而言,D属于不透明数据。受保护的信息(包括密钥和数据)从TPM内传送到TPM外之前,需要进行加密,SRK是用于进行这样的加密的根密钥。在为TPM建立属主的过程中,可以创建SRK。如果为TPM创建新的SRK,那么由原来的SRK加密的信息就难以再解密了。,36,密钥属性,可迁移在一个TPM中生成的密钥可以传送到另一个TPM中使用。不可迁移在一个TPM中生成的密钥只限在该TPM中使用。,37,密钥类型(1),SigningkeysSigningkeysareasymmetricgeneralpurposekeysusedtosignapplicationdataandmessages.Signingkeyscanbemigratableornon-migratable.StoragekeysStoragekeysareasymmetricgeneralpurposekeysusedtoencryptdataorotherkeys.Storagekeysareusedforwrappingkeysanddatamanagedexternally,38,密钥类型(2),IdentityKeysIdentityKeys(a.k.a.AIKkeys)arenon-migratablesigningkeysthatareexclusivelyusedtosigndataoriginatedbytheTPMEndorsementKeyEndorsementKey(EK)isanon-migratabledecryptionkeyfortheplatform.ItisusedtodecryptownerauthorizationdataatthetimeaplatformownerisestablishedandtodecryptmessagesassociatedwithAIKcreation.,39,密钥类型(3),BindkeysBindkeysmaybeusedtoencryptsmallamountsofdata(suchasasymmetrickey)ononeplatformanddecryptitonanotherLegacyKeysLegacyKeysarekeyscreatedoutsidetheTPM.TheyareimportedtotheTPMafterwhichmaybeusedforsigningandencryptionoperations.Theyarebydefinitionmigratable.AuthenticationKeysAuthenticationKeysaresymmetrickeysusedtoprotecttransportsessionsinvolvingtheTPM.,40,LoadingTPMKeys(1),41,LoadingTPMKeys(2),42,LoadingTPMKeys(3),43,LoadingTPMKeys(4),44,Agenda,可信平台的基本特性可信计算平台的基本体系可信平台模块(TPM)部件软件接口和服务TCG编程接口TrustedBoot,45,TPM组件体系结构,46,Comments,输入/输出组件:对通信总线上的信息流进行管理非易失性存储器:存放真实身份密钥(EK)、存储根密钥(SRK)、属主的授权数据和永久的标记。PCR寄存器:供操作系统和应用软件使用工作身份密钥(AIK):永久型密钥,存放在TPM之外程序代码:对平台设备进行完整性度量的固件,是度量的核心信任根(CRTM)随机数生成器:生成密钥、创建即时随机量SHA-1消息摘要引擎:计算签名、创建密钥块RSA密钥生成引擎:创建签名密钥和存储密钥RSA引擎:使用签名密钥进行签名、使用存储密钥进行加密和解密、使用EK进行解密功能开关组件:禁用或启用TPM模块执行引擎:执行TPM初始化操作和完整性度量操作,47,PCRPlatformConfigurationRegister,1.1版本设置8个PCR,1.2版最少设置16个;PCR放置在ShieldLocation;PCR的使用方式由平台的体系结构(PC/服务器/PDA等)来确定;PCR为160bits值;PCR主要用来存储在信任链建立过程中各模块完整性度量数值;PCR存储数值方式:PCRiNew=Hash(PCRiOldvalue|valuetoadd)PCRmustbeintheRTS(RootofTrustedStorage),48,PCRUsage,49,EndorsementKey(EK),一个RSA(2048bits)公私钥对(PUBEK,PRIVEK);EK是TCM的唯一性密码学身份标识;EK创建:内部创建使用TCM_CreateEndosreKey命令;外部创建:需要保证同样的安全性;EK一般由厂商生成,同时由生成EK的实体负责创建EK的Credential;EK一旦生成,不允许再产生。AccesstoPRIVEK内部严格受限,它影响整个系统的安全性;AccesstoPUBEK外部严格受限,不为安全性而因私有性;EK只参与两个操作:TakingTPMownershipCreationofAttestationIdentityKeys,50,证明身份密钥-AIK(AttestationIdentityKeys),是RSA(2048bits)公私钥对,是EK的别称;AIK由TCM的Owner来创建和激活,数量不限制;由AIK(公钥部分)制作的Credential可以包含特定应用信息;AIK替代EK来完成签名功能,主要用来对TCM内部产生的数据进行签名,这些数据包括PCR值、其它密钥、TCM状态信息;AIK创建涉及三个命令:TCM_MakeIdentity:创建AIK密钥对,并向AIKCredential创建服务商透露AIK与EK的绑定关系TCM_ActivateIdentity:对被加密的AIKCredential进行解密TCM_RecoverIdentity:,51,TPMStartup,52,TPMStates,53,Enabled/Disabled,54,Active/Deactive,55,PhysicalPresence,56,Agenda,可信平台的基本特性可信计算平台的基本体系可信平台模块(TPM)部件软件接口和服务TCG编程接口TrustedBoot,57,可信计算平台软件层次结构,58,Layers,TCGServiceProvider(TSP)TSPInterface(TSPI)TSPContextManager(TSPCM)TSPCryptographicFunctions(TSPCF)TCGCoreServices(TCS)TCSInterface(Tcsi)TCSContextManager(TCSCM)TCSKey&CredentialManager(TCSKCM)TCSEventManager(TCSEM)TCSTPMParameterBlockGenerator(TcsipBG)TCGDeviceDriverLibrary(TDDL)TPMDeviceDriver(TDD),59,TDDL接口,处于用户模式TDDL提供了系统从用户模式到核心模式的转换优点:确保以不同方式实现的TSS能够与任何TPM通信。为TPM应用程序提供一个与操作系统无关的软件接口。允许TPM厂商提供一个TPM软件模拟器作为其用户模式的组件。单线程访问由于TPM不支持多线程并行操作,因此每个平台将只能通过唯一的入口TDDL来实现对TPM的单线程访问。,60,TCS接口,核心服务上下文管理实现对TPM的单线程访问。证书和密钥管理存储与平台有关的证书和密钥。测量事件管理管理事件日志和对相关PCR寄存器的访问。参数模块生成负责接收上层的同步请求,并排队、处理TPM命令。作为一个系统进程运行,61,TSP接口,提供一个基于面向对象体系结构的C语言编程接口驻留在与用户应用程序相同的进程地址空间。用户可以通过编程直接访问TSP,62,会话:用于验证执行TPM命令的授权,63,Amessageinanauthorizedsession,MessageContaineridentifiesmessagetype,sizeandformattingTPMCommandcommandnameinput/outputparametersandreturncodeSessionStatesessionID,controlflagsanddigestvalueofsessionmessages,64,Agenda,可信平台的基本特性可信计算平台的基本体系可信平台模块(TPM)部件软件接口和服务TCG编程接口TrustedBoot,65,NamingConventions,CommanddiscretefunctionalityoftheTPMexposedexternallyandrecognizablebyTPMscommandprocessor.Functiondiscretefunctionalityofnon-TPMmoduleshavingprogrammaticinterfaces.OperationInterfaceThesetofcommandorfunctionentrypoints,includingparametersandreturncodes,toaparticularmodule.Whenusedinsingularcontext,Interfacemayrefertoasingleentrypoint.,66,消息格式,request-responsemodelRequest/ResponseMessage,67,CommandOrdinals,CommandCall:CommandReply:,68,包长与字节次序,TPM处理的包的最大长度:4096字节。包中值的字节次序:与值在网络中传输时的字节次序相同。,69,发送命令包和接收响应包,70,向TPM发TPM_Reset()命令,71,向TPM发TPM_GetCapability()命令,72,TPMopensourcesoftware,AvailableOpenSourceSoftware:TrustedGRUBTrouSerSTSSTPM-ToolsOpenSSLTPM-EngineTPM-ManagerTPMEmulator,73,OpenSourceSoftwarehigh-levelhierarchy,74,TPM-Manager,75,TPM-Manager,76,TPM-Manager,77,TPM-Manager,78,TPM-Manager,79,TPM-Manager,80,TPMcommands,ThecurrentTCGspecification1.2rev.116has100TPMcommandsTPMcommandsareclassifiedinto5categoriesMandatoryOptionalDeprecatedDeletedVendor-specificTheTCGspec.part3definesallinputandoutputparametersfortheavailablecommandsTheTCGspec.part2definestheactualvaluesfortheparameters,structures,commandsetc.,81,SomeTPM_Commands,82,TPM_PCRRead,IncomingOperandsandSizes,83,TPM_PCRRead,OutgoingOperandsandSizes,84,Agenda,可信平台的基本特性可信计算平台的基本体系可信平台模块(TPM)部件软件接口和服务TCG编程接口TrustedBoot,85,TrustedBoot,86,TCGBIOSInterface,87,Stage1.s,88,TrustedGRUB,89,TrustedGRUB,90,TrustedGRUB,91,Agenda,可信平台的基本特性可信计算平台的基本体系可信平台模块(TPM)部件软件接口和服务TCG编程接口TrustedBootTrustedExecutionTechnology,92,tboot,TrustedBoot(tboot)isanopensource,pre-kernel/VMMmodulethatusesIntelTrustedExecutionTechnology(IntelTXT)toperformameasuredandverifiedlaunchofanOSkernel/VMM.,93,94,staticchainoftrust,platformpowerson/platformisresetresetallPCRstotheirdefaultvaluefirstmeasurementhardware(i.e.,theprocessor)tomeasureadigitallysignedmodule(ACM)AuthenticatedCodeModule(ACM)providedbythechipsetmanufacturerTheprocessorvalidatesthesignatureandintegrityofthesignedmodulebeforeexecutingit,95,staticchainoftrust,secondmeasurementACMthenmeasuresthefirstBIOScodemoduleThemeasurementsoftheACMandBIOScodemodulesareextendedtoPCR0thestaticcorerootoftrustmeasurement(CRTM)ThirdmeasurementBIOS(otherfirmwarecode)makesadditionalmeasurements,96,shortcomingsofSRTM,ScalabilityandInclusivitypatchingandupdatingthevarietyofconfigurationdifferentordersTimeofmeasurementonlygivesload-timeguaranteenotrun-timeguarantee(Launchtimeprotectionvs.runtimeprotection),97,dynamicchainoftrust,OSinvokesaspecialsecurityinstructionresetdynamicPCRs(PCR17-22)totheirdefaultvaluefirstdynamicmeasurementhardware(i.e.,theprocessor)tomeasureanotherdigitallysignedmodule(referredtoastheSINITACM)alsoprovidedbythechipsetmanufacturertheDynamicRootofTrustMeasurement(DRTM)PCR17DRTMandlaunchcontrolpolicy,98,dynamicchainoftrust,seconddynamicmeasurementSINITACMthenmeasuresthefirstoperatingsystemcodemodulereferredtoasthemeasuredlaunchenvironmentMLEPCR18TrustedOSstart-upcode(MLE)thirddynamicmeasurementMLEexecutes,99,dynamicPCRs,PCR17DRTMandlaunchcontrolpolicyPCR18TrustedOSstart-upcode(MLE)PCR19TrustedOS(forexampleOSconfiguration)PCR20TrustedOS(forexampleOSKernelandothercode)PCR21asdefinedbytheTrustedOSPCR22asdefinedbytheTrustedOS,100,HowTXTworks,101,TXTcomponents,102,TXTintegritychecking,thetboottrustedboothypervisorAuthenticatedCodeModule(ACM)oftenreferredtoastheSINITAC“abinary-onlyobjectsignedbyIntel,103,LaunchSequence,MLE(tboot)authenticatedcode(AC)moduledigitalsignatureintheheaderloadintointernalRAM(referredtoasauthenticatedcodeexecutionarea)-isolationGETSECSENTERBroadcastcleanupwaitexecutestheACmoduleTestchipsetandconfigurationsmeasuresandlaunchestheMLEILPstoresMLEmeasurementinTPMMLEcompletessystemconfigurationchangesincludingredirectingINITs,SMIs,interrupts,etc.wakesupRLPsbringthemintothemeasuredenvironment,104,MLEArchitectureOverview,InitializationsetuptheMLEontheILPandjoincodetoinitializetheRLPsdispatchroutineliketheunmeasuredversionwouldhaveshutdown.againsynchronizingtheprocessors,clearinganystateandexecutingtheGETSECSEXI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 林业完善合同(2篇)
- 《婴幼儿常见疾病的识别与预防》课件-婴幼儿的照护特点
- 2025监理师《合同管理》招标方式与合同风险控制要点
- 2025年人教版美术五年级下册教学进度安排表
- 高层力挺新质生产力
- 2025年工厂租赁合同范本
- 2025武汉市存量房屋买卖合同
- 2025年土地使用权抵押合同
- 指甲里有黑线的临床护理
- 2025华茶网技术服务合同
- 瓷砖空鼓装修合同协议
- 河南省普通高中2024-2025学年高三下学期学业水平选择性模拟考试(四)历史试题(原卷版+解析版)
- 一例盆腔脏器脱垂全盆底重建术患者的护理
- 旅游消费者决策
- 企业员工环保培训
- 2025年河北省唐山市玉田县第三中学中考一模地理试卷(含答案)
- 2025届金丽衢十二校高三语文第二次联考考场高分作文点评:“效率至上”与“深度求索”
- 完形填空 20篇 集训-2025年译林版七年级英语下册寒假预习(含答案)
- 各岗位应知应会“明白卡”(含矿长等)
- T-CNSAIA 005-2024 纯钛真空杯标准
- 抖音来客本地生活服务餐饮商家代运营策划方案
评论
0/150
提交评论