APP下载

基于FPGA可重构计算平台的可信方案

2015-08-08刘欢关济民

电脑知识与技术 2015年15期

刘欢 关济民

摘要:文章主要介绍了FPGA背景下的可重构计算的FRCP系统架构和可信模式、可信平台控制模块、可信FPGA平台的信任链等内容,随后对可重构信任平台系统的状态图和可信计算平台的信任链进行了较为详实的分析和说明,最后对可信平台控制模块和其他系统程序的性能及安全性进行了对比分析,并对可信平台控制模块的优势进行了说明。

关键词:FPGA;可重构计算;可信方案

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)15-0163-03

1 引言

目前,高性能计算多用于科学研究,其原始资料、计算结果等都属于安全敏感数据。在局域网或互联网等网络中,这些敏感数据在传输过程中极易被窃取、篡改和伪造,因此高性能计算的安全问题,尤其是数据传输的安全问题需要给予高度重视。

可信计算(Trusted Computing,TC),是由可信计算联盟 TCPA( Trusted Computing Platform Alliance)在1999年提出来的。根据可信计算组织(Trusted Computing Group,TCG)制定的TPM(Trusted Platform Moudle)标准,同时针对当前实现计算目标的两种方式即ASIC方法和通用微处理器方法的弊端,我国可信计算联盟提出了可信平台控制模块( Trusted Platform Control Module,TPCM )方案,这种方案能够有效的克服上述两种方法的缺陷,提升系统的整体系能和可编程性。可重构计算平台可以根据不同的计算应用来调整自己的硬件资源,并将可信度量根(Root of Trust for Measurement,RTM)设计在芯片内部,这样以来就从根本上解决了可信度量根的保护问题和核心度量根(Core Root of Trust for Measurement,CRTM)的起始度量点问题。另外,可信计算被广泛的应用于数字版权管理、身份盗用保护、防止在线游戏作弊、保护系统不受病毒和间谍软件危害和保护生物识别身份验证数据等方面,以此来提高系统运行过程中整体安全性和可靠性。

本文主要介绍的是基于FPGA基础之上的可重构计算平台(FPGA-based Reconfiguration Computing Platform,FRCP),本平台使用的是“主处理器+协处理器”的混合计算结构。在这种混合计算结构中,协处理器FPGA具有动态可重构的特点,它的这种特点能提高系统的整体计算效能。为保证数据传输的完整性,本文为FPGA提供具有主动度量功能的TPCM,并构建FPGA的可信传递结构,保证底层协处理器FPGA的可信,从而保证FRCP系统的整体可信。

2 相关技术

1)FRCP系统架构

FRCP系统架构如图1所示。本系统架构由认知决策管理、以太网和多个可重构组件构成,每个可重构组件由一个控制单元和多个FPGA组成。其中,认知决策管理运行在认知决策服务器中,它发出的可重构执行指令,通过系统千兆以太网发送到各个可重构组件上的控制单元,控制单元完成本可重构组件中的可重构操作。可重构组件内的控制单元主要负责收集运行信息,探测处理器件内各部分的运行状态,并将收集到的信息整理,上报认知决策管理系统,为认知决策管理提供必要的依据。以太网用以连接认知决策管理和各个可重构组件,并为两者的交互提供高速通道。可重构组件底层的FPGA具有动态可重构功能,是整个系统的计算和提高功耗的基础。

此外,认知决策管理是系统的主处理器,系统底层的FPGA是协处理器,主处理器管理协处理器的工作分配。

2)可信平台控制模块

TPCM 芯片内部实现包括CPU 、非易失性存储单元、易失性存储单元、随机数发生器、密码算法引擎、密钥生成器、定时器,由输入输出桥接单元统一将这些功能单位映射到片内微处理器的访问地址空间。TPCM的系统结构如图2所示。

TPCM 基本功能由固件完成, 其固件包含以下4个部分:1)初始化模块,负责TPCM 模块初始化、模块自检等;2)输入输出驱动模块,模块内I/ O 驱动函数库;3)主动度量模块,度量起始函数,负责Boot ROM 的度量,并记录到PCR;4)指令处理模块, 负责对外部实体发送的指令进行解析和执行。

TPCM 方案中最大的特点是将可信度量根RTM集成到芯片内,并具备主动的度量功能。其中,TPCM 的主动度量是指在TPCM构成的可信微系统和普通计算系统之间,TPCM作为度量操作的发起方,对普通计算系统进行完整性度量。之所以TPCM 可以作为主设备先于CPU 启动,是因为设计了独立于CPU的供电子系统。

3 FRCP的可信模型

结合上面提到的TPCM,构建一个FRCP的可信模型,如图3所示:

FRCP的可信模型主要由控制单元和可信FPGA平台构成。之所以称为可信FPGA平台,是因为在FPGA开机时,其初始bitstream需要先通过TPCM的验证,只有验证通过才能启动FPGA进行底层计算。

控制单元:由一块ATOM处理板(含处理器、桥片、网络、内存、SSD及多路USB,即图3中的左边虚线框内部分)和几个转换芯片组成(转换芯片个数由板内FPGA数目决定)。控制单元通过USB总线和转换芯片相连,通过转换芯片转换成SPI信号再与TPCM相连。同时还要提供一路以太网与以太网交换芯片相连。其中,DDR2中的安全配置器用来存放从上层下载的FPGA的初始bitstream,并发送给相应FPGA的TPCM。

可信FPGA平台:由TPCM、外部存储器Flash和FPGA组成。其中,Flash中存放着FPGA的引导程序BootLoader和系统内核OS Kernel。只有当TPCM自检完毕,并对FPGA的初始bitstream的度量后,FPGA才能烧写比特流启动。FPGA包括静态区域和可重构区域,软核MicroBlaze对FPGA进行管理,它通过与ICAP的交互动态配置FPGA的可重构区域,通过其内部的TPCM控制器与TPCM通信,通过Bitstream检查模块对静态区域配置的Bitstream进行检查,同时还通过网络控制器与以太网交换芯片相连。TPCM中的比特流配置寄存器(Bitstream Configuration Registers,BCRS)和平台配置寄存器(Platform Configuration Registers,PCRS)是一样的,BCRs用来以哈希值形式存放对加载的比特流的完整性度量。

1)可信FPGA平台的信任链

我国学者提出了一种带数据恢复功能的星型信任结构并在嵌入式系统中进行了研究和应用,相比TCG的链式结构,星型信任结构没有多级信任传递,信任损失小,而数据恢复功能也使其安全性和可靠性更高。但由于所有的完整性度量工作都由内置在TPM中的CRTM来完成,使得TPM的负担会比较重。

本文方案采用星型信任结构,提出了一种带数据恢复功能的混合星式信任结构,其信任关系传递关系如图4所示。在这种信任链结构中,首先可信平台TPCM加电进行自检,而后TPCM对其非易失存储器中的FPGA初始bitstream进行度量,即CRTM。由CRTM分别对Flash中的引导程序BootLoader和系统内核OS Kernel进行完整性度量,并将结果保存在PCR中;随后嵌入式软核MicroBlaze通过TPM控制器从TPCM中获取引导程序和系统内核的度量结果,根据度量结果判断是否加载和运行;静态区域和可重构区域的初始比特流配置信息以及应用程序的完整性验证则由测量代理进行。在各个组件(包括系统程序和应用程序)的启动过程中,当发现完整性度量值与保存的基准值不一致时可以利用备份数据进行修复。

2)系统状态图

当设备加电时,初始化比特流从TPCM中的非易失存储器导出并加载至FPGA模块,TPCM的内部寄存器在这一期间,被正确的进行设置,准备在接下来的阶段对可信度量值进行存储。静态区域的硬件配置和可重构区域被分别度量,通过TPCM控制模块被散列之后,都存储在BCR寄存器中。这与TCG规范中描述的度量软件可信度,并存储是类似的。如果在非法的FPGA区域进行重构,在重构生效前,TPCM就会被禁用。进而确保在所有非法的重构操作前,都已进行了TPM度量操作。类似的也可以通过外部信号使配置模式改变,进而禁用TPM。当为了重新恢复平台的可信度量功能,可以强制性的禁用整个设备,然后从TPCM内部重新启动设备。这样就能启用TPCM重新初始化系统,具体的流程图以及详细的介绍如5所示。

首先系统的起始状态是处在非可信度量态下的关机状态。在启动之后,系统会从TPCM中读取比特流,并配置相应的寄存器,接下来系统通过加载比特流进行初始化,系统此时处于初始化状态,此时可信度量态已经开始正常运行。在对静态区域和可重构区域度量并进行相应的存储之后,系统进入正式的运行状态。在运行状态下,对于可重构区域,会不断的进行度量、存储的循环。而对于静态区域,系统有可能会从外部读入比特流对其进行配置,读入的比特流首先会通过Bitstream检查模块进行检测,如果通过检测,则根据比特流信息对静态区域进行配置,并将新的度量值存入BCRS,如果没有通过检测系统将禁用TPCM,并进入非可信度量态下的TPM禁用状态,也可以在运行状态下,手动的启用非监视配置接口,从而进入TPM禁用状态。进入TPM禁用状态之后,系统将丧失可信度量功能,在这种情况下,只有先使系统断电进入关机状态,然后再重新加电从TPCM启动系统,才能使系统恢复到正常的运行状态。

4 安全分析

1)信任链分析

本文的混合信任链机构可以表示为图6所示,节点A为可信度量根核CRTM,节点D为测量代理。由图中的信任衰减和信任聚合可知,从节点A 到节点N的信任值 T(A,G)不大于T(A,D)和 T(D,G),即信任衰减略大于星型信任链结构,但远小于链式信任结构;且在最坏的情况下,本混合信任链的信任强度仍然不小于链式信任链,节点越多,优势越大。

2)性能比较

本文采用可信平台控制模块TPCM,它与TCG 、TPM和我国的TCM相比,性能和安全性有明显的提高如表1所示。在性能方面,TPCM采用主动度量功能,在平台启动时掌握平台的控制权,增加了身份认证功能和对称算法;在安全方面,TPCM可以主动地检查度量操作的请求行为是否可信,即使攻击者采取缓冲区溢出、伪造信任链组件和待度量数据、复位PCR的方法攻击可信计算平台,TPCM仍可抵御。

5 总结

通过对上述相关问题的阐述和说明,我们可以清晰的发现:伴随着信息技术的发展和科技浪潮的推进,可重构计算平台的信息处理的规模逐渐增大,系统也变得愈发的复杂,另外,平台对系统设计的时间要求越来越短暂,这就要求我们加大开发和使用与此相关的重构技术的高端设计方法和设计程序工具,从而来推动现有FPGA能力的提升。

参考文献:

[1] 鄢斌.一种可信计算平台的安全实现机制的FPGA实现[J].计算机与教学工程,2011(6).

[2] 吴冬冬. 一种基于FPGA的可重构计算系统设计[J].计算机工程与应用,2006(21).

[3] 陈晓畋,韩爱芳. 基于FPGA的可重构计算技术研究[J].计算机与应用技术,2010(4).