26-可信计算配置
本章节下载: 26-可信计算配置 (345.70 KB)
可信计算(Trusted Computing)是一种基于安全芯片提高设备安全性的解决方案。
设备“可信”是指设备的软件按照最初的设计运行,未被入侵与篡改。通过可信计算功能,可以带来如下安全价值:
· 可信启动:提供设备启动时的软件完整性度量。度量结果保存在可信度量日志中。
· 可信状态查询:提供对当前运行系统可信状态的查询。支持设备本地进行可信自检,或通过管理端对设备进行可信认证。
· 可信状态预警:当系统的可信状态出现异常时,通过告警提示用户。
有关可信度量日志、可信自检和可信认证的介绍,请参见“安全配置指导”中的“平台可信服务”。
本文中的“平台”指设备上的单板。
可信计算芯片是平台上的安全芯片,包括TPM(Trusted Platform Module,可信平台模块)芯片和TCM(Trusted Cryptography Module,可信密码模块)芯片。
设备仅支持TPM芯片。
TCSM(Trusted Computing Services Management,可信计算服务管理)是可信计算解决方案的基础功能模块,用于管理可信计算芯片生成的密钥和为这些密钥签发的数字证书。
TCSM密钥指可信计算芯片生成的密钥,包括如下类型:
· EK(Endorsement Key,背书密钥):可信计算芯片出厂时自带的解密密钥,是该芯片的唯一标识。EK密钥不用于数据加密或签名,不直接用于身份认证。
· AK(Attestation Key,认证密钥):为保护EK密钥私密性而生成的替代品。AK是受限的签名密钥,只能为可信计算芯片生成的数据签名,用于在可信报告中证明平台身份。
· DevID(Device ID,设备ID)密钥:一种签名密钥,符合IEEE 802.1AR标准,配合DevID证书作为设备的身份标识,可用于安全协议IPsec(IP Security,IP安全)、SSL(Secure Sockets Layer,安全套接字层)。
· 普通密钥:除上述类型的其他TCSM密钥。
TCSM证书即TCSM密钥的数字证书,包括如下类型:
· EK证书:可信计算芯片中预置的EK密钥的证书。当管理端为平台签发AK证书/DevID证书时,平台通过EK证书向管理端证明自己的身份。
· AK证书:管理端为AK密钥签发的证书。平台在可信报告中使用AK证书来证明自己的身份。
· DevID证书:管理端为DevID密钥签发的证书。
数字证书是经CA签名的、包含公钥及相关的用户身份信息的文件,它建立了用户身份信息与用户公钥的关联。CA对数字证书的签名保证了证书是可信任的。有关数字证书的详细介绍请参见“安全配置指导”中的“PKI”。
如图1-1所示,可信计算系统由管理端和设备端组成,两端通过NETCONF over SSH网络进行通信。
· 管理端(Manager):指H3C可信计算管理系统,是管理设备可信状态的软件,包括设备资源管理、CA(Certificate Authority,证书颁发机构)等功能。管理端可以存在多个。
关于H3C可信计算管理系统的详细操作,请参见该软件的联机帮助。
· 设备端(Device):指集成了可信计算芯片的网络设备。管理端可以从设备端获取度量参考值和可信报告,对设备端进行可信认证。
下面是平台为AK密钥/DevID密钥申请和维护本地证书的典型工作过程:
(1) 平台生成AK密钥/DevID密钥(为包括公钥和私钥的非对称密钥对),并将AK密钥/DevID密钥加载到可信计算芯片中。
(2) 平台将系统预置的EK密钥加载到可信计算芯片中。
(3) 平台配置一个证书主题,以提供自己的身份信息。
(4) 管理端可以查看平台生成的AK密钥/DevID密钥,并为该密钥签发AK证书/DevID证书。
¡ 在该证书的签发过程中,管理端通过平台的EK密钥和EK证书验证平台的身份。
¡ 该证书建立了平台身份信息与平台公钥的关联。
(5) 当平台的私钥泄漏或证书即将到期时,可删除本地证书再重新申请新的证书。
如图1-2所示,TCSM密钥使用树形结构进行管理,含有如下角色:
· 主密钥:存储在可信计算芯片内部的根密钥,受芯片保护。
· 存储密钥:有加密功能、可以产生子密钥的密钥。
图1-2中的密钥A、B、C、D均为存储密钥,其中密钥A为主密钥。
· 子密钥:存储密钥产生的下一级密钥,被加密保存在芯片外部的存储区中,需要时再加载到芯片中使用。
受到加密保护的子密钥和对应父密钥的加密功能在图1-2中具有相同颜色。
图1-2 TCSM密钥系统示意图
主密钥的参数存储在可信计算芯片内部。加载主密钥到芯片时,实际上是芯片内部使用主密钥参数重新创建主密钥。
设备支持配置以下2种域的TCSM密钥。每个域都有自己的密钥体系并可以配置数量不限的主密钥。
· 背书域(Endorsement Hierarchy):用于隐私敏感数据的相关操作,例如平台身份认证。
· 存储域(Storage Hierarchy):用于用户数据的加密存储。
与可信计算相关的协议规范有:
· Trusted Platform Module Library Family “2.0” Level 00 Revision 01.16
· TCG EK Credential Profile For TPM Family 2.0; Level 0 Specification Version 2.0 Revision 14
· TCG Attestation PTS Protocol: Binding to TNC IF-M Specification Version 1.0 Revision 28
· TCG Infrastructure Working Group Core Integrity Schema Specification Version 2.0 Revision 5
· TCG PC Client Platform TPM Profile (PTP) Specification Family “2.0” Level 00 Revision 00.43
· TSS TAB and Resource Manager Specification Family "2.0" Level 00, Revision 00.91
· TSS System Level API and TPM Command Transmission Interface Specification Family "2.0" Level 00, Revision 01.00
· TCG Software Stack Feature API Family “2.0” Level 00 Revision .12
· 信息安全技术 可信计算密码支撑平台功能与接口规范 GB/T 29829-2013
仅以下单板支持可信计算功能:
· SH系列接口板
· 如下主控板:
¡ LSUM1MPUS06XEC3
¡ LSUM1MPUS10XE3
· 交换网板LSUM1FAB10XEA3
可信计算特性仅在缺省MDC上支持。
本文仅介绍设备端配置。
配置TCSM密钥时,需要注意:
· 建议将AK密钥配置在背书域下。
· 设备只有加载系统预置的EK密钥(例如default_rsa_ek),管理端才能为设备生成的AK密钥或DevID密钥签发证书。
可信计算配置任务如下:
(1) 管理TCSM密钥
a. 创建TCSM密钥
b. 加载TCSM密钥
c. (可选)卸载TCSM密钥
d. (可选)删除TCSM密钥
(2) 管理TCSM证书
a. 配置TCSM证书主题
b. 签发TCSM证书
c. (可选)删除TCSM证书
设备端需要开启NETCONF over SSH服务器功能,使管理端能通过NETCONF over SSH方式向设备下发配置。关于NETCONF over SSH的配置,请见“网络管理和监控配置指导”中的“NETCONF”。
TCSM密钥模板规定了创建TCSM密钥时的基本参数,包括密钥类型、密钥属性和相关算法等。
TCSM密钥模板可通过以下2种方式获得:
· 使用系统预置的密钥模板。
可在设备上通过display tcsm key-template命令显示的System-defined key template files字段查看系统预置的密钥模板。
· 通过管理端给设备下发密钥模板。
已有的密钥模板不能满足需求时,可通过管理端给设备下发全局密钥模板。具体操作请参见H3C可信计算管理系统的联机帮助。
可在设备上通过display tcsm key-template命令显示的User-defined key template files字段查看管理端下发的全局密钥模板。
一个主密钥下最多可以创建4个层级的子密钥。
创建子密钥时,请确保其父密钥已通过key load命令加载到可信计算芯片。
表1-1 创建TCSM密钥
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入TCSM视图 |
tcsm |
- |
创建TCSM密钥 |
(独立运行模式) key create name key-name [ authorization authorization-string ] { endorsement | storage | parent-key parent-name [ parent-authorization parent-authorization ] } { preset-template | user-template } template-name [ ak | devid ] slot slot-number (IRF模式) key create name key-name [ authorization authorization-string ] { endorsement | storage | parent-key parent-name [ parent-authorization parent-authorization ] } { preset-template | user-template } template-name [ ak | devid ] chassis chassis-number slot slot-number |
不指定ak和devid参数时,表示创建的是普通密钥 |
TCSM密钥创建后,必须加载到可信计算芯片才能使用。
加载子密钥前,需要先加载其父密钥。
表1-2 加载TCSM密钥
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入TCSM视图 |
tcsm |
- |
将创建的TCSM密钥加载到可信计算芯片 |
(独立运行模式) key load name key-name [ parent-authorization { cipher | simple } parent-authorization ] slot slot-number (IRF模式) key load name key-name [ parent-authorization { cipher | simple } parent-authorization ] chassis chassis-number slot slot-number |
- |
加载密钥会耗费系统资源,建议卸载不使用的密钥,以降低系统负载。
卸载TCSM密钥时,如果该密钥有子密钥,需要先卸载其所有的子密钥。
表1-3 卸载TCSM密钥
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入TCSM视图 |
tcsm |
- |
将TCSM密钥从可信计算芯片中卸载 |
(独立运行模式) undo key load name key-name slot slot-number (IRF模式) undo key load name key-name chassis chassis-number slot slot-number |
- |
当平台的私钥被泄漏或证书到达有效期时,建议删除对应的本地密钥,并配置新的密钥。
要成功删除TCSM密钥,需要满足如下条件:
· 当前用户是管理员或创建该密钥的用户。
· 该密钥未加载到可信计算芯片,否则需要通过undo key load命令卸载该密钥。
· 该密钥没有子密钥;否则需要先删除其子密钥。
可以通过display tcsm key list命令来查看子密钥。
表1-4 删除TCSM密钥
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入TCSM视图 |
tcsm |
- |
删除TCSM密钥 |
(独立运行模式) key destroy name key-name slot slot-number (IRF模式) key destroy name key-name chassis chassis-number slot slot-number |
- |
TCSM证书主题的参数是平台的身份信息,CA根据平台提供的身份信息来唯一标识证书申请者。
一个有效的TCSM证书主题必须至少包括通用名。
目前仅支持配置一个TCSM证书主题。如果要修改TCSM证书主题名称,请先删除已配置的TCSM证书主题。
表1-5 配置TCSM证书主题
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入TCSM视图 |
tcsm |
- |
创建TCSM证书主题,并进入TCSM证书主题视图 |
certificate subject subject-name |
- |
配置TCSM证书主题的通用名 |
common-name string |
缺省情况下,未配置TCSM证书主题的通用名 |
(可选)配置TCSM证书主题所属的国家代码 |
country string |
缺省情况下,未配置TCSM证书主题所属的国家代码 |
(可选)配置TCSM证书主题所属的州或省的名称 |
state string |
缺省情况下,未配置TCSM证书主题所属的州或省的名称 |
(可选)配置TCSM证书主题所属的组织名称 |
organization string |
缺省情况下,未配置TCSM证书主题所属的组织名称 |
(可选)配置TCSM证书主题所属的组织部门名称 |
organization-unit string |
缺省情况下,未配置TCSM证书主题所属的组织部门名称 |
(可选)配置DevID证书主题的附加信息 |
devid-additional-information string |
缺省情况下,未配置DevID证书主题的附加信息 |
通过可信计算系统的管理端为设备的指定密钥签发证书。具体操作请参见H3C可信计算管理系统的联机帮助。
由CA颁发的证书都会设置有效期,证书生命周期的长短由签发证书的CA来确定。当平台的私钥被泄漏或证书的有效期快到时,应该重新申请新的证书,此时可以删除本地证书。
TCSM证书只能被管理员和创建该证书的用户删除。系统预置的TCSM证书不能被删除。
表1-6 删除TCSM证书
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入TCSM视图 |
tcsm |
- |
删除TCSM证书 |
(独立运行模式) certificate destroy name certificate-name slot slot-number (IRF模式) certificate destroy name certificate-name chassis chassis-number slot slot-number |
- |
在任意视图下执行display命令可以显示可信计算的运行情况。
表1-7 可信计算显示和维护
操作 |
命令 |
显示TCSM证书列表 |
(独立运行模式) display tcsm certificate list [ slot slot-number ] (IRF模式) display tcsm certificate list [ chassis chassis-number slot slot-number ] |
显示TCSM证书的详细信息 |
(独立运行模式) display tcsm certificate name certificate-name slot slot-number (IRF模式) display tcsm certificate name certificate-name chassis chassis-number slot slot-number |
显示TCSM密钥列表 |
(独立运行模式) display tcsm key list [ endorsement | storage ] [ loaded ] [ ak | devid ] [ slot slot-number ] (IRF模式) display tcsm key list [ endorsement | storage ] [ loaded ] [ ak | devid ] [ chassis chassis-number slot slot-number ] |
显示TCSM密钥的详细信息 |
(独立运行模式) display tcsm key name key-name slot slot-number (IRF模式) display tcsm key name key-name chassis chassis-number slot slot-number |
显示TCSM密钥模板信息 |
display tcsm key-template [ { preset | user } template-name ] |
显示可信计算芯片的PCR值 |
(独立运行模式) display tcsm pcr [ algorithm algorithm ] [ index index ] [ slot slot-number ] (IRF模式) display tcsm pcr [ algorithm algorithm ] [ index index ] [ chassis chassis-number slot slot-number ] |
显示可信计算芯片信息 |
(独立运行模式) display tcsm trusted-computing-chip [ slot slot-number ] (IRF模式) display tcsm trusted-computing-chip [ chassis chassis-number slot slot-number ] |
如图1-3所示,集成了可信计算芯片的设备与管理端相连。设备开启NETCONF over SSH服务器功能,管理端通过给设备下发NETCONF指令来访问设备。
由于管理端需要对设备进行可信认证,要求设备生成AK密钥并获得管理端签发的AK证书。
(1) 配置设备与管理端的IP地址,确保它们之间路由可达。
(2) 配置设备作为NETCONF over SSH服务器。
# 创建本地用户abc,设置密码,配置用户角色为network-admin,服务类型为SSH。
<Device> system-view
[Device]local-user abc
[Device-luser-manage-abc] password simple 123456TESTplat&!
[Device-luser-manage-abc] authorization-attribute user-role network-admin
[Device-luser-manage-abc] service-type ssh
[Device-luser-manage-abc] quit
# 开启NETCONF over SSH服务器功能。
[Device] netconf ssh server enable
(3) 显示所有TCSM密钥模板的概要信息。
[Device] display tcsm key-template
System-defined key template files:
default-rsa-sk: rsa storage key
default-rsa-devid: rsa signature key
default-rsa-ak: rsa attestation key
...
本例中,系统预置密钥模板default-rsa-ak将用于创建RSA算法的AK密钥。
(1) 在设备上创建和加载密钥,并配置证书主题。
# 进入TCSM视图。
[Device] tcsm
# 使用系统预置密钥模版default-rsa-ak创建背书域的AK主密钥pk1,授权数据为pk1。
[Device-TCSM] key create name pk1 authorization pk1 endorsement preset-template default-rsa-ak ak slot 1
# 将AK密钥pk1加载到可信计算芯片。
[Device-TCSM] key load name pk1 slot 1
# 将系统预置的EK密钥default_rsa_ek加载到可信计算芯片,使管理端可以为AK密钥签发证书。
[Device-TCSM] key load name default_rsa_ek slot 1
# 配置证书主题名称为abc,证书主题的通用名为device。
[Device-tcsm] certificate subject abc
[Device-tcsm-cert-subject-abc] common-name device
[Device-tcsm-cert-subject-abc] quit
(2) 在管理端为AK密钥签发证书。
在管理端使用EK密钥default_rsa_ek为AK密钥pk1签发证书,证书名称为pk1cert。具体操作请参见H3C可信计算管理系统的联机帮助。
# 在设备上查看证书pk1cert的详细内容。
[Device-TCSM] display tcsm certificate name pk1cert
Status: Enabled
Key Name: pk1
User name:
Usage: AK
...
以上信息表明,设备已成功申请到AK证书。
PTS(Platform Trust Services,平台可信服务)是可信计算解决方案的一个功能模块,用于验证设备的可执行程序文件是否被篡改。管理端连接设备后,可以通过设备的PTS模块获取度量参考值和可信报告,对设备进行可信认证。
有关可信计算的介绍,请参见“安全配置指导”中的“可信计算基础”。
本文中的“平台”指设备上的单板。
可信度量也称为完整性度量(Integrity Measurement),方法为:使用Hash算法(例如SHA256)计算程序文件的Hash值,再与度量参考值对比,根据对比结果判断程序文件是否被篡改。
PCR(Platform Configuration Registers,平台配置寄存器)在可信计算芯片内部保存对平台程序文件的度量值。PCR的值以扩展的方式更改。将一个Hash值“扩展”到PCR中时,PCR会提供旧PCR值与该Hash值串联,再使用Hash算法计算出新的PCR值进行保存。
PCR值的扩展操作定义为PCRnew = Halg (PCRold || digest),各参数的意义如下:
· PCRnew:新PCR值
· PCRold:旧PCR值
· Halg:采用某种算法的HASH计算
· ||:字符的串联(concatenation)运算,例如A || B的结果为AB
· digest:要扩展到PCR的Hash值
可信报告是设备发给管理端的认证信息,包括PCR值、可信度量日志、AK证书、PCR签名。其中,PCR签名指使用AK密钥对PCR值的数字签名。有关PCR、AK密钥、AK证书的介绍,请参见“安全配置指导”中的“可信计算基础”。
可信度量日志即IML(Integrity Measurement Log,完整性度量日志),用于保存平台对自身程序文件计算的相关Hash值。
如图2-1所示,平台上电后,对以下种类的软件依次进行可信度量:
· BootWare基本段:自我度量。
· BootWare扩展段:由BootWare基本段进行度量。
· Comware软件包:由BootWare扩展段进行度量。
· Runtime(设备启动后运行的程序):由IMA(Integrity Measurement Architecture,完整性度量架构)进行度量。
对每类软件进行可信度量时,平台根据其中的程序文件计算出文件Hash值,并通过文件Hash值、度量时间、Hash算法等参数计算出模板Hash值,再把这两种Hash值写到可信度量日志中。平台的可信计算芯片还会将该类软件的模板Hash值扩展到PCR中。
可信自检是平台对自身程序文件的可信度量,通过该功能可以本地检查平台的可信状态。自检内容包括:
· 程序文件是否被篡改:每条可信度量日志中的程序文件的Hash值是否匹配度量参考值。
· 可信度量日志内容是否被篡改:通过文件Hash值、度量时间、Hash算法等参数计算出的模板Hash值是否匹配可信度量日志中的模板Hash值。
· 可信度量日志数量是否有变动:根据某类软件(例如BootWare基本段)的模板Hash值模拟计算出来的PCR值是否匹配可信计算芯片中该类软件对应的PCR值。
如图2-2所示,管理端通过度量参考值和可信报告对平台进行可信认证。可信认证流程与平台的可信自检相比,有以下额外认证:
· 管理端需要验证平台的AK证书,来确认平台的身份。
· 管理端需要通过AK证书验证PCR签名,来确认平台PCR值的真实性。
平台可信服务仅在缺省MDC上支持。
仅含有可信计算芯片的设备支持本特性。
表2-1 手动执行可信自检
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入PTS视图 |
pts |
- |
执行一次可信自检 |
(独立运行模式) integrity selfverify [ slot slot-number ] (IRF模式) integrity selfverify [ chassis chassis-number slot slot-number ] |
- |
开启周期可信自检功能后,系统会立即执行一次可信自检,然后按自检周期自动执行可信自检。
表2-2 配置周期可信自检
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入PTS视图 |
pts |
- |
开启周期可信自检功能 |
integrity periodic-selfverify enable |
缺省情况下,周期可信自检功能处于关闭状态 |
(可选)配置可信自检周期 |
integrity periodic-selfverify interval interval |
缺省情况下,可信自检周期为7天 自检周期从执行integrity periodic-selfverify enable命令时开始计时。如果配置的自检周期小于等于已计时的天数,则立即执行一次可信自检 |
平台使用AK密钥对可信报告进行签名。
本功能使用的密钥授权数据需要和key create命令中的密钥授权数据一致。
配置可信报告使用的AK密钥时,需要满足如下条件:
· 该密钥已创建,且密钥用途为AK(相关配置命令为key create)
· 该密钥已加载到可信计算芯片(相关配置命令为key load)
· 该密钥有对应的证书(相关显示命令为display tcsm key name)
上述各命令的详细介绍,请参见“安全命令参考”中的“可信计算基础”。
表2-3 配置可信报告使用的AK密钥
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入PTS视图 |
pts |
- |
配置可信报告使用的AK密钥 |
(独立运行模式) integrity report attestation-key key-name [ authorization { cipher | simple } authorization-string ] slot slot-number (IRF模式) integrity report attestation-key key-name [ authorization { cipher | simple } authorization-string ] chassis chassis-number slot slot-number |
- |
在任意视图下执行display命令可以显示平台可信服务的运行情况。
表2-4 平台可信服务显示和维护
操作 |
命令 |
显示可信度量日志 |
(独立运行模式) display pts integrity measurement-log [ bootware | runtime | package ] [ slot slot-number ] (IRF模式) display pts integrity measurement-log [ bootware | runtime | package ] [ chassis chassis-number slot slot-number ] |
显示可信自检信息 |
(独立运行模式) display pts integrity selfverify [ slot slot-number ] (IRF模式) display pts integrity selfverify [ chassis chassis-number slot slot-number ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!