欢迎访问ic37.com |
会员登录 免费注册
发布采购

可信赖平台模块拒黑客于网外

日期:2008-1-27标签: (来源:互联网)
病毒通过互联网侵袭计算机的报导时有所闻,令人们对网上商贸活动更具戒心,何况电子商务往往涉及巨额交易。虽然个人计算机及网络都采用灵活的设计,并对外开放,但这个灵活开放的优点也正是它的弱点。根据美国的市场调查公司 IDC 的调查资料显示,系统保安问题一直窒碍网上活动的发展,使电子商务以及其它网上应用程序无法进一步普及。

一般计算机用户都知道他们每日收到的电子邮件之中,有很多都附加了暗藏小应用程序的附件,这些小应用程序利用探听文件,趁着计算机重新启动时收集用户密码及信用卡号码等资料。

计算机密码专家 Adi Shamir 及 Nicko van Someren 曾指出黑客可以利用代数破译法,破解长位数据串内的 RSA 密钥,也可利用统计破译法找出隐藏在大型程序内的任意密钥。这两位捷克密码专家也发现最广泛使用的电子邮件加密程序 PGP 也存有漏洞。由于这个程序有漏洞,因此黑客可以盗窃已加密的电子邮件,然后破解发件人的私人密钥。

可信赖运算平台联盟 (TCPA) -- 硬件保安系统的诞生

由于软件较容易受黑客侵袭,因此受影响的公司不得不另想办法,转而利用硬件加强保安。康柏 (Compaq)、惠普 (HP)、IBM、英特尔 (Intel) 及微软 (Microsoft) 等多家大公司于是在一九九九年组成 "可信赖运算平台联盟 "(Trusted Computing Platform Alliance, TCPA)。这个联盟的成立宗旨是要致力为硬件保安系统制定一个业界标准。

目前该联盟拥有 160 多个成员,其中包括美国国家半导体。该公司现正推出符合 TCPA 1.1 规格的 SafekeeperTM可信赖平台模块 (Trusted Platform Module, TPM)。

由于个人计算机具有安全套接层 (SSL) 等可信赖的保安功能,因此大、中、小企业都可利用个人计算机接入公共及专用网络进行电子交易。但目前大部分可信赖的保安功能都利用软件加密。TCPA 成立的宗旨是要致力利用硬件加强系统的保安,来弥补软件在保安方面的不足。这些硬件装置可进一步加强软件方面的保安功能,受惠的软件技术标准包括可确认数字证书的 X.509、互联网协议保安协议 (IPSEC)、互联网关键交易 (IKE)、虚拟专用网络 (VPN)、公共密钥基础结构 (PKI)、专为智能卡而设的 PC/SC 规格、生物统计、安全多功能互联网邮件扩展 (S/MIME)、安全套接层 (SSL)、以及安全电子交易 (SET) 等。

可信赖平台模块 (TPM)

可信赖平台的定义是指本机用户及远程交易方都信赖的个人计算机,有关的交易方包括用户、软件、网站及所有第三方。为了赢得交易双方的信任,可信赖平台必须获得某一公认的权威如计算机协会 (CA) 公开承认其可靠性,以证明该平台有能力在高度保密的环境下执行指定工作。

硬件保安装置须符合 TCPA 子系统的有关规定。TCPA 子系统在设计上力求可为保安系统的测量数据及记录提供一个可靠的运行机制。这个子系统设有两个模块,可信赖平台模块 (TPM) 是 TCPA 规格指定采用的硬件;另一模块则利用软件执行与 TPM 一并测量的保安系统功能。

获该子系统保护的硬件包括 BIOS 及系统硬件,而获该子系统保护的软件则包括操作系统及系统软件。

激活过程会检查有关纪录,保证系统已装载了所有软件,以及核实正确的系统配置、身份及可靠性。TPM 设有一个可信赖的激活环境登录册,让操作系统可以为其补充数据。整个激活过程环环相连,形成一个按步骤执行的信任链,由 TPM 开始,然后顺序运行 BIOS、硬件配置、选项之一的只读光盘、激活程序操作系统、操作系统、应用程序及网络,而且必须按照这个先后次序运行。下一步是测量及记录预置规格。有关数据可以先行比较,然后才进行下一步骤的工作。系统需要最少 16 个平台配置寄存器 (PCR)。TPM 执行称为 EXTEND 的操作,以便将数据散列,并将之储存到 R0 至 R15 的 PCR 寄存器内。称为 SEAL 的操作则负责将专用目标按照一组预先设定的 PCR 数据加以锁定。按照这个步骤,有关数据可以在操作系统并未进入使用状态时设定在 BIOS 内,换而言之,验证审核会按照特定的操作系统配置加以锁定。操作系统运行时,TPM 可以先参考 VPN 参数才进行锁定,并可为加密文件系统储存密钥。

可信赖平台可以为使用者提供有关平台软件的数据,确保使用者可以大概推想平台软件的规格。有关数据经测量后,会一并提供给使用者。可信赖平台也提供一套如何设定密钥的程序,并指出需要为软件作出甚么新设定才可将密钥解密。这些功能由保安系统负责执行,而保安系统的数据则反映平台软件的保安程度。平台须具备两个信任基础 (root of trust) 才可测量及提交数据,一个信任基础用来测量保安系统,而另一信任基础则用来存储及提供保安系统的数据。

可信赖的测量基础可以测量部分平台特性,将测量数据记录在测量存储器内,以及将最后的数据存储在 TPM 内,但 TPM 必须拥有可存储及提供保安系统数据的信任基础。可信赖平台若收到有关平台保安的查询,平台的代理程序便会收集存储于 TPM 内的最后数据、存储器保存的测量数据记录、以及 TCPA 的确认数据,若平台正常运作,TCPA 的确认数据应与平台的测量数据吻合。代理程序将这些测量数据传送给询问者供其核对,以确定这些数据是否与最后的数据相一致,询问者可将有关数据与 TCPA 的确认数据加以比较。询问者可通过这样的核对与比较过程推断出可信赖平台的软件是否可靠,而询问者最后可以决定是否相信平台有能力执行有关工作。在确定平台是否值得信赖之前,询问者可以利用 TPM 将密钥以及保安系统的已记录数据储存起来,确保 TPM 不会泄漏那些密钥,但保安系统的最新测量数据若与保安系统的已记录数据吻合则不受此限。

整套子系统除了设有可用以测量保安系统的信任基础之外,还设有 TPM 与其它功能,例如不必取得我们的信任仍可继续执行正常功能的支持服务。

测量用的信任基础 (RTM) 可以作为一个比较标准,以便判断整个测量过程是否值得信赖。核心组件及运算引擎则负责确保系统的可信性。此外,内核、运算引擎及系统的其它部分都以线路连接一起。

保安系统及加密功能

整个执行保安过程的第二个重要环节是保安系统的储存系统。可信赖平台的测量数据存储器设有登录册,册内每一记录项目都记下所测量的对象以及 TPM 已记录的保安系统相关数据。登录册可以复制 TPM 保安系统每一过程的数据。若登录册及 TPM 所提供的数据相一致,而 TPM 又可信赖,即表示登录册也可信赖。若登录册的纪录与 TPM 所提供的数据不谋而合,我们便可假定登录册准确记录了建立目标平台软件系统所需的步骤。

TCPA 保安解决方案并不主张将个别的保安系统数据储存起来。其实可信赖平台已足以储存保安系统的运作过程。保安系统的数据必须附录在这个运作过程之后。激活时,TPM 运作过程的状态全部都按照已知数据设定。每一新的保安系统数据必须附录在运作过程之后,并且须修订有关运作过程的数据。按照 TCPA 的方法,我们其实必须将新规格的数据与运作过程现有的数据合在一起,计算出一个综合数据,但计算时只采用单向的散列功能,以避免重复使用旧数据或建立预定的数据。这个综合数据可以代表新的运作过程。 保安系统可以让任何使用者决定所测量的数据是否一致,以及比较平台的真正状态与预期状态。保安系统数据必须由一个可信赖的机制负责提交,TPM 设有可储存及提交保安系统数据的信任基础,可以提供上述的可信赖机制。TPM 可以利用其身份代码及传统的加密技术签署,以显示其可信程度。只有 TPM 才知道签署密钥的代码,因此签署密钥是一对密钥之中的私用密钥,而另一与之相对的密钥则称为公用密钥,后者是用以辨认身份的密钥,因为这是确认 TPM 身份的密钥。签署密钥 (私用) 与身份确认密钥 (公用) 是用以确认 TPM 使用者身份的部分依据。

以机构而非个人为主的使用者必须先确认 TPM 的身份,才可为 TPM 作保证。使用者先检查 TPM 的结构身份码、 TPM 平台的设计身份码、以及 TPM 平台的结构身份码。当 TPM 提供所储存的保安系统运作过程的数据时,TPM 会利用 TPM 的身份确认密钥签署核实有关数据。当使用者收到由 TPM 提供并已签署核实的数据时,便可保证有关数据并未在传送过程中受到任何破坏。使用者也可检查有关数据是否由已确认身份的 TPM 签署核实,以及使用者认识的机构是否已确认 TPM 的身份。

TPM 设有一组必要的功能,以确立其可信程度。有关功能包括散列 (SHA-1)、产生随机数字 (RNG)、产生以 RSA 为基础的非对称密钥、以及基于 RSA 的非对称加密等多种加密功能。由于成本的关系,业界无法广泛采用对称加密功能。

TPM 必须获得可信赖散列功能的支持,才可确保使用者更易进入 RTM 及其它代理程序,而后者在系统激活时可以有限度进入平台的主处理器。

随机数字的产生是另一重要的输入,其状态机负责接收及混合无法预测的数据,并利用混合数据执行单向功能。状态机具有非易失性状态,并在交予客户之前以无法预测的数据激活。状态机更可随时再接收无法预测的数据。无法预测的数据一般来自硬件的热噪音或有回馈的不稳定电路。由于有新的数据混入状态机的现存状态,亦即消费者已取得该设备才输入新数据,因此有助提高状态机的不可预测性。 SafeKeeper -- 可信赖平台模块

美国国家半导体的 SafeKeeper PC21100 芯片是一个按照 TPM 规格开发的解决方案。这款芯片为系统提供 "信任的基础"。PC21100 芯片内置 RISC 内核、可以安全储存数据的闪存、可支持加密算法 (SHA-1 及 RSA) 的 SecureRun 性能加速器、以及真正利用硬件产生随机数字 (Hardware RNG) 的功能。

在 SecureRun 的支持下,PC21100 芯片无需主机干预便能迅速产生及储存 RSA 密钥,这样有助进一步加强平台的保安。接口架构也经过优化,可以执行激活过程所必要的散列功能,但又不会影响系统传输量。

SafeKeeper 芯片为台式电脑及笔记本电脑平台提供系统保安检查,并确保硬件或软件不会在未经许可下被更改。这款芯片可支持核实功能,并可确认数据提供者的法定身份,保证数据不会来历不明,也保证所收到的数据完整无缺。

PC21100 TPM 的最重要部分是其 CR16B 内核。这个内核其实是一个高性能的 16 位 CompactRISC RISC 处理器,其中内置一个闪存及另一 8KB 的随机存取存储器 (RAM)。

加密引擎

SecureRun 是加密引擎的最重要部分,可快速执行加密/解密功能,其 RSA 及 SHA-1 散列操作可高达 2048 位,而且所有运算都在高度保密的环境下执行。容量较大的内置式 RAM 可执行多个不同的算法,其中包括数字签署、证书核实及密钥产生等。

高度安全的通用输入输出 (GPIO) 可为其它系统功能及装置提供接口,以加强平台的保安。

PC21100 芯片可支持 PC01 及 ACPI 标准,因此可以采用 PnP 配置登记结构,确保可以灵活分配资源予所有逻辑器件,以及提供可以浮动的基本地址与 15 个 IRQ 路径选择。

低脚数系统总线

以典型的个人计算机来说,采用 PC21100 芯片的 28 脚系统线路图一般都设有主机接口,让芯片可以经由低脚数 (LPC) 总线取得低脚数地址数据,其中包括多路转换指令、地址双向数据及周期状况、PCI 提供的高达 33 MHz 的时钟输入。

PC21100 芯片内置由固件控制的先进电源管理电路。CR16B 可接收主机传来的指令,以便可以知悉系统电池的用电水平。PC21100 芯片的唤醒功能确保系统一旦发生任何事故,芯片可以实时处理。