理解Intel® AMT用到的证书(1) -- PKI配置篇

        在管理控制台和Intel® AMT设备交互中,有用到不少的证书,所以不少开发人员和使用者都对此范迷糊,不是很搞得清楚使用过程中要用到的证书具体目的是什么,相互之间的关系又是怎样。因此,笔者想通过这篇文章来抛砖引玉一番,以帮助需要的人理解Intel® AMT用到的各种证书。

     在Intel® AMT的配置和使用过程中,有下面这些过程和特性中有涉及证书:
            1) PKI配置方式过程中;
             2) AMT的TLS通信;
             3) Fast Call for Help特性;
             4) Access Monitor特性;
             5) 802.1x特性

PKI配置方式

        AMT的PKI配置方式最早被称为Zero Touch Configuration(零接触配置),为了保证配置过程的安全性,因此引入了证书验证机制,并且是通信双方都需要相互验证证书的验证机制,和AMT TLS通信中的 Mutual Authentication方式差不多。这里面涉及到三个证书,AMT自己生成的自签名证书,配置服务器使用的证书,以及配置服务器使用证书的根证书。

        AMT自己生成的自签名证书是作为PKI配置过程中TLS通信的服务器端证书,(PKI配置过程中是配置服务器主动连接AMT,所以AMT是TLS通信服务器端)其公钥证书会在TLS握手过程中传给配置服务器。为了能认证这个公钥证书的有效性和合法性,因此配置服务器需要配置成可以接受这种自签名证书用于TLS通信。

        配置服务器使用的证书是作为PKI配置过程中TLS通信的客户端证书,其公钥证书也是会在TLS握手过程中传给AMT端,AMT需要通过此公钥对应的根证书的哈希值来验证此公钥证书的有效性和合法性,另外AMT还会根据MEBX中PKI配置的相关配置参数来检查此公钥证书中的CN名称是否合法。因此,此证书需要安装到配置服务器运行的系统中,或者放到指定位置,以方便配置服务器程序使用。这个AMT PKI配置过程中配置服务器端使用的证书还有另外的要求,必需满足下面两个条件中的一个:
           1) 证书的OID包含 2.16.840.1.113741.1.2.3;
           2) 证书的的Subject域中的OU值为“Intel® Client Setup Certificate”。

下图是AMT SDK配置程序自动生成的为PKI配置用的证书截图,红色框部分显示的OID被命名为Intel AMT Provisioning;


Subject中的OU也被赋予了“Intel® Client Setup Certificate”.


        配置服务器使用的证书的根证书是验证配置服务器使用的证书的必要手段,此证书主要是被AMT端使用。在PKI配置方式中,AMT端并不需要此证书的完整证书内容,而只是需要此根证书的公钥即可,因为有了公钥就可以验证配置服务器使用的证书了。在AMT中PKI配置中提到的根证书Hash列表就是存储了多个这种根证书的公钥(Hash)值,每个公钥都对应一个根证书。AMT出厂时就内置了多个业界有名的商业证书颁发机构的商业根证书的公钥值。

        理解了上面说到的三个证书的用途和目的后,可以看到在设置配置服务器过程中,一般来说只需要设置配置服务器使用的证书。这个证书通常是向AMT内置的根证书列表中Hash值对应商业证书颁发机构申请,申请者需要提供一些必要的信息:比如企业名称,其IT环境中使用的域名等等。另外也可以使用企业自己CA的根证书,只是需要实现将根证书公钥对应的Hash值通过MEBX设置到AMT中。因此,在配置服务器端,关键是要配置好用于PKI配置所使用的证书。

        下面图也是上面提到的SDK中例子自动生成的用于PKI配置的配置服务器端证书的根证书截图,红色框部分就是此根证书的公钥Hash值,按MEBX的格式要求输入到MEBX中即可。



下一篇:理解Intel® AMT用到的证书(2) -- TLS通信篇
For more complete information about compiler optimizations, see our Optimization Notice.