物理现场 Physical Presence
概念
Physical presence implies a level of control an authorization to perform basic administrative task and to bootstrap management and access control mechanisms.
个人理解:物理现场是当需要执行控制TPM状态等对系统有影响的指令时,不仅需要软件数据授权验证,还需要物理上或电气上的硬件验证(比如判断管教电平,波形什么的),同时验证通过后才能执行某些指令,用来保证平台所有者的身份证明或者非远程软件操作TPM。
硬件物理现场
通过硬件信号判断的物理现场状态,这里不清楚如何实现,文档中的物理现场状态变量physicalPresence不能用于指示硬件物理现场。
软件物理现场
通过软件指令设置判断物理现场状态,通过变量physicalPresence标识。
相关变量和指令
permanent.flag.physicalPresenceHWEnable
- TRUE : 允许 硬件信号指示物理现场状态
-
permanent.flag.physicalPresenceCMDEnable
TRUE : 允许 通过软件指令设置物理现场状态
FALSE : 禁止 通过软件指令设置物理现场状态(默认值)
permanent.flag.physicalPresenceLifetimeLock
TRUE : physicalPresenceHWEnable 和 physicalPresenceCMDEnable的值在TPM声明周期内不能被修改
- FALSE : physicalPresenceHWEnable 和 physicalPresenceCMDEnable 的值可用被修改
个变量出厂后只能由 FALSE 设置为 TRUE,只有在生产环境才能设置 FALSE
stclear.flag.physicalPresence
标识是否处于物理现场状态,默认 FALSE
只能通过 TSC_PhysicalPresence 指令设置,不能通过硬件信号改变 (这里我理解的是不能用于指示硬件物理现场状态 ?)
stclear.flag.physicalPresenceLock
标识是否禁止修改 physicalPresence 值,默认 FALSE
可通过 TSC_PhysicalPresence 指令设置,设置为 TRUE 后, physicalPresence 为 FALSE
TCS_PhysicalPresence()
设置 physicalPresenceLifetimeLock 为 FALSE
- 设置 physicalPresenceHWEnable 为 TRUE
- 设置 physicalPresenceHWEnable 为 FALSE
- 设置 physicalPresenceCMDEnable 为 TRUE
- 设置 physicalPresenceCMDEnable 为 FALSE
- 设置 physicalPresence 为 TRUE
- 设置 physicalPresence 为 FALSE
- 设置 physicalPresenceLock 为 TRUE
不清楚的地方
- 物理现场授权是需要硬件物理现场还是硬件/软件物理现场都可以 ?
- TPM 内部如何判断硬件物理现场状态 ?
- 硬件物理现场如何实现 ?