一种可信赖的可重构器件及其使用方法

文档序号:6606625阅读:140来源:国知局
专利名称:一种可信赖的可重构器件及其使用方法
技术领域
本发明属于计算机可信领域。
背景技术
目前,发生信息安全事故的技术原因主要是现有的计算机软、硬件结构简化,从而 导致资源非法使用。为了解决信息安全隐患,可信计算需要从提高终端自身防护能力着手, 从源头解决信息安全问题。例如硬件设备(特别是SOC芯片),是整个计算系统的基础。 表面上很平常的一件硬件设备,很有可能就包含着逻辑炸弹、嗅探器,不知道它在收集什么 信息也不知道它什么时候会爆发。在笔者参与的网络税控器项目中,网络税控器主要用于对收银终端进行监控,记 录收银终端与打印机的通讯记录,并将交易记录如实的反馈给远程的可信服务器,由可信 服务器分析交易记录、统计交易额和计算缴税额度。本项目选用了 FPGA芯片作为产品的核 心器件,在FPGA内部实现微处理器和专用功能,增加了产品灵活性的同时也降低了产品升 级的费用,但FPGA芯片的可重构的也给产品带来了安全隐患。以FPGA芯片为核心器件的 设备,需要在FPGA芯片外部单独提供一片存储单元,用于供FPGA硬件配置数据以及固件代 码的存储。但遇到了如何在不影响产品性能的前提下,降低FPGA硬件配置信息和微处理器 运行带被篡改的风险,以及如何在发现数据被篡改的情况下,迅速的将FPGA器件恢复到正 常工作状态的问题。目前,Xi 1 inx和Altera两大FPGA供应商分别发布了各自针对FPGA硬 件配置数据和IP核进行知识产权保护的方案,但还没有提供如何防止硬件配额数据和固 件代码被篡改的设计方案。

发明内容
发明针对网络税控器的应用环境,提供一种可重构器件的可信改造方案和一种基 于现有可重构器件的可信应用的具体实施方案,配合可信计算平台的可信平台控制模块共 同使用,以达到可信计算平台对可重构器件的实时检查、可信控制和防止被篡改的目的。可信赖的可重构器件,由改造之前的用于可重复的搭建用户设计的电路的硬件单 元构成,其特征在于可信赖的可重构器件的硬件组成单元进一步包括用于可信交互的密 码算法引擎、用于控制用户区域中用户构建电路的控制接口、用于对用户区进行硬件电路 配置数据和固件代码加载的配置接口、用于检查用户区域中用户构建电路工作状态的检查 接口、用于存取硬件电路配置数据与固件代码的存取接口和一个用于存储密钥的非易失性 存储单元;在可信赖的可重构器件中,远程访问接口与非易失性存储单元、密码算法引擎和 控制器之间通过信号线彼此相连接;控制器又通过信号线分别连接到存取接口、控制接口、配置接口和检查接口 ;远程访问接口与可信赖的可重构器件外部的电路相连接,用于接收访问信号;存取接口与可信赖的可重构器件外部的存储单元相连接,用于与外部存储单元之间进行数据的存储和读取;控制接口连接在可信赖的可重构器件中预留的电路输入输出接口上,与用户区域 中用户搭建的电路接口进行连接;配置接口连接在可信赖的可重构器件中预留的电路输入输出接口上,与用户区域 中用户搭建的电路接口进行连接;检查接口连接在可信赖的可重构器件中预留的电路输入输出接口上,与用户区域 中用户搭建的电路接口进行连接;所述的可信赖的可重构器件的使用方法如下非易失性存储单元可信赖的可重构器件中设置一个可以掉电不丢失的存储单 元,用于存储可信赖的可重构器件的唯一的根密钥和会话密钥;会话密钥用于加密和数字 签名;远程可信服务器利用会话密钥,建立与可信赖的可重构器件之间的基于加密和数字 签名的可信赖的数据传输通道。密码算法引擎用于建立与远程可信服务器之间的可信赖的数据传输通道,同时 还可以用于硬件配置数据和固件代码的保密存储。控制接口 用于对用户区域中用户设计的电路的控制操作;当有可信应用需求 是,用户将自己设计的电路的输入输出接口或者控制开关挂接在可信赖的可重构器件的控 制接口 ;远程可信服务器通过远程访问接口和控制接口,对可信赖的可重构器件中用户搭 建的电路进行控制操作。配置接口 用于可信服务器对可信赖的可重构器件直接进行硬件电路配置数据和 固件代码的加载,还用于可信赖的可重构器件的控制器从外部存储单元,向用户区域中加 载硬件电路配置数据和固件代码;检查接口 用于对用户区域中用户搭建的电路的工作状态进行实时检查;当有可 信应用需求时,用户将用户设计的电路的输入输出接口挂接在检查接口。远程可信服务器 通过可信赖的可重构器件的检查接口,对可信赖的可重构器件的用户区域中用户搭建的电 路进行实时的监控;使用流程包括四个部分远程可信服务器对可信赖的可重构器件的会话密钥配置过程;远程可信服务器对 可信赖的可重构器件的配置过程;使用外部存储单元对可信赖的可重构器件进行配置的过 程;远程可信服务器对可信赖的可重构器件的管理;如果可信赖的可重构器件的非易失性存储单元中没有会话密钥时,必须首先执行 远程可信服务器对可信赖的可重构器件的会话密钥配置过程;当会话密钥定时更换时,也 必须首先执行远程可信服务器对可信赖的可重构器件的会话密钥配置过程;每次执行完远程可信服务器对可信赖的可重构器件的会话密钥配置过程之后,才 可以执行远程可信服务器对可信赖的可重构器件的配置过程;如果可信赖的可重构器件外部存储单元中没有用户设计的硬件电路的配置数据 和固件代码时,需要首先执行远程可信服务器对可信赖的可重构器件的配置过程,否则直 接执行使用外部存储单元对可信赖的可重构器件进行配置的过程;远程可信服务器根据设定的间隔时间,定时地对可信赖的可重构器件进行管理; 间隔时间的设置是由可信服务器的操作人员进行设置;
在远程可信服务器和可重构器件之间的通信线路正常情况下,远程可信服务器与 可信赖的可重构器件之间传输数据时,不会出现数据接收不到的情况。针对数据接收不到 的情况的处理办法有多种,其中包括由线路维护人员检查远程可信服务器与可信赖的可 重构器件之间的线路连接;或者,当在规定的响应时间内,远程可信服务器或者可信赖的可 重构器件没有接收到对方的响应信号,则重复发送数据或者信号请求,直到接收到对方的 响应信号或者数据;或者,由管理员对出现故障的远程可信服务器或者可信赖的可重构器 件进行更换;远程可信服务器对可信赖的可重构器件的会话密钥配置过程1)远程可信服务器通过信号线连接到可信赖的可重构器件的远程访问接口,通过 远程访问接口与可信赖的可重构器件进行通信;2)在安全的环境中,远程可信服务器生成一个密钥,并使用可信赖的可重构器件 的根密钥的公钥,对该密钥进行加密,然后将加密后的密钥以命令的形式发送给可信赖的 可重构器件;安全的环境是指在可信赖的可重构器件首次使用时,可信服务器在不会被黑 客或者恶意代码攻击的工作环境;3)可信赖的可重构器件根据接收到的命令,利用根密钥的私钥将收到的密钥解密 后,存储在非易失性存储单元中,作为远程可信服务器与可信赖的可重构器件之间的会话 密钥;4)可信赖的可重构器件向远程可信服务器发送命令执行完毕的确认信号;5)远程可信服务器接到确认信号后,操作结束;号后,会话密钥的配置过程结束; 如果远程可信服务器没有接收到可信赖的可重构器件发送的确认信号,则重新向可信赖的 可重构器件发送第2)步骤中产生的会话密钥和命令;如果仍然没有收到可信赖的可重构 器件发送的确认信号,则远程可信服务器认定对可信赖的可重构器件的会话密钥配置过程 失败;如果会话密钥配置过程失败,则远程可信服务器对可信赖的可重构器件的使用流程 结束;如果远程服务器对可信赖的可重构器件的会话密钥配置失败,则只有当当操作人 员对可信赖的可重构器件的检查操作结束后,远程服务器才会再次对该可信赖的可重构器 件进行会话密钥的配置操作;远程可信服务器对可信赖的可重构器件的配置过程6)远程可信服务器使用会话密钥对用户设计的硬件电路的配置数据与固件代码 进行加密和数字签名;7)远程可信服务器将加密和数字签名后的数据,通过远程访问接口,以命令的方 式,发送给可信赖的可重构器件的控制器;8)可信赖的可重构器件的控制器利用密码算法引擎和会话密钥,对收到的数据进 行解密和数字签名的验证;可信赖的可重构器件的控制器对收到的数据的数字签名验证通 过后,将解密出来的用户设计的硬件电路的配置数据与固件代码,通过配置接口依次地加 载到用户区域中,然后立即启动用户区域中用户设计的硬件电路;可信赖的可重构器件的 控制器对收到的数据的数字签名验证没有通过,则可信赖的可重构器件向远程可信服务器 发送重新发送数据的请求,远程可信服务器收到重新发送数据的请求后,将执行第6)和第 7)步骤;
9)可信赖的可重构器件使用根密钥,对解密出来的用户设计的硬件电路的配置数 据与固件代码,进行加密和数字签名,并通过存取接口依次地将加密后的配置数据和数字 签名数据存储到外部的存储单元;10)可信赖的可重构器件向远程可信服务器发送命令执行完毕的确认信号后,远 程可信服务器对可信赖的可重构器件的配置操作结束;如果远程可信服务器没有收到可信 赖的可重构器件发送的执行完毕的确认信号,则远程可信服务器将重新执行第6),并由可 信赖的可重构器件顺序执行7)、8)、9)步骤;使用外部存储单元对可信赖的可重构器件进行配置11)可信赖的可重构器件再次上电后,如果没有收到远程可信服务器发送的命令, 则控制器通过存取接口从外部的存储单元中读取经过加密和数字签名的数据;12)控制器使用密码算法引擎和根密钥,对加密数据进行解码,并验证数字签名的 正确性,如果数字签名信息正确,则控制器通过配置接口依次地将用户设计的硬件电路的 配置数据与固件代码加载到用户区域中;如果数字签名信息不正确,则控制器停止当前的 配置操作,并通过远程访问接口向远程可信服务器,发送请求远程可信服务器对可信赖的 可重构器件的配置重新进行配置的请求信号,然后远程可信服务器开始重新执行远程可信 服务器对可信赖的可重构器件的配置操作;13)可信赖的可重构器件的控制器对用户设计的硬件电路的配置数据与固件代码 的加载操作结束后,立即向远程的可信服务器发送可信赖的可重构器件正常启动的信号; 当远程可信服务器收到可信赖的可重构器件的正常启动信号后,使用外部存储单元对可信 赖的可重构器件进行配置操作结束;当使用者启动可信赖的可重构器件,并且可信赖的可 重构器件执行了第11)和第12)步骤后,远程可信服务器没有收到可信赖的可重构器件的 正常启动信号,则远程服务器应通知使用者,对可信赖的可重构器件进行检查或者更换;检 查内容主要是当前可信赖的可重构器件的工作状态是否正常,以及远程可信服务器与可信 赖的可重构器件之间的通讯是否正常。如果使用者对可信赖的可重构器件进行更换,则新 的可信赖的可重构器件需要首先执行远程可信服务器对可信赖的可重构器件的配置过程, 然后再执行使用外部存储单元对可信赖的可重构器件进行配置的过程。远程可信服务器对可信赖的可重构器件的管理14)远程可信服务器收到可信赖的可重构器件的正常启动信号后,根据设定的时 间间隔,定时地通过可信赖的可重构器件的远程访问接口,访问可信赖的可重构器件;定时 地通过检查接口检查用户设计的电路工作状态;定时地通过控制器和存取接口对外部存储 单元中的配置数据和固件代码进行完整性检查;时间间隔的设定是动态地进行的,而且是 由使用者在远程可信服务器上进行设定。时间间隔的选取,需要由使用者根据远程可信服 务器与可信赖的可重构器件之间的通讯线路质量、通讯线路的载荷、通讯环境的安全性,以 及可信赖的可重构器件与远程可信服务器之间的距离进行设定;15)控制器将用户设计的电路工作状态检查结果和外部存储单元中配置数据和固 件代码的完整性检查结果发送给远程可信服务器;16)远程可信服务器根据可信赖的可重构器件发送的检查结果,进行工作状态和 数据完整性判断,如果出现工作异常或者数据被篡改,则通过控制接口对用户区域中用户 设计的电路进行控制,并对可信赖的可重构器件再次进行状态检查命令;如果再次检查结果仍然不正确,则向控制器发送重新加载用户设计的电路和固件代码的命令;然后由控制 器执行用户设计的电路的配置数据和固件代码的加载命令,并向远程可信服务器发送确认 信号,等待远程可信服务器再次检查;控制器通过控制接口对用户区域中用户设计的电路 的控制包括断开用户设计电路的输入输出接口或者禁用用户设计电路。17)如果远程可信服务器对用户区域中用户设计的电路的工作状态检查和外部存 储单元中配置数据与固件代码的完整性检查仍然没有通过,则从远程可信服务器向可信赖 的可重构器件,重新发送用户设计的硬件电路的配置数据与固件代码;发明效果1、本发明保证可信赖的可重构器件的硬件配置数据与固件代码不被篡改和非法 复制;保证远程可信服务器对可信赖的可重构器件配置过程,硬件配置数据与固件代码的 完整性和可信性;保证远程可信服务器能够实时检查可信赖的可重构器件的用户区域中所 构建的电路的工作情况;保证远程可信服务器能够对可信赖的可重构器件的用户区域中所 构建的电路进行控制;保证远程可信服务器与可信赖的可重构器件之间传送的数据具有机 密性和完整性。2、针对本发明提出的设计方案,即使远程可信服务器对可信赖的可重构器件的配 置数据被截获,或者可信赖的可重构器件外部存储单元中的硬件配置数据和固件代码被篡 改,再或者可信赖的可重构器件外部存储单元被更换,攻击者都无法对硬件配置数据和固 件代码进行拷贝。同样,也无法通过篡改可信赖的可重构器件的硬件配置数据和固件代码, 达到对运算数据进行伪造或者篡改的目的。


图1可信的可重构器件结构图,描述的是可信的可重构器件的内部各个硬件单元 之间的组织结构。图2远程可信服务器与可信的可重构器件,表述的是远程可信服务器与可信的可 重构器件以及外部存储单元之间的连接关系。图3可信赖的可重构设备举例(FPGA器件),表述的是以现场可编程门阵列器件为 参考的一种近似的实现方法。
具体实施例方式本发明的实施例中,以及现场可编程门阵列(Field Programmable Gate Array, FPGA)作为可重构器件进行举例说明。因为FPGA器件是一块完整的芯片,由于无法实现在 芯片内部的改造,因此采用下面近似的实现方法进行举例说明。如图3所示密码算法引擎选择SHAl算法、ECC算法和RSA算法。控制器选用一个8位的内部带Flash的单片机。内部Flash用于存储根密钥和会 话密钥。根密钥和会话密钥均选用2048位的密钥。控制接口、配置接口和检查接口分别选择原有FPGA芯片上的8位宽的输入输出管 脚。(共24位)单片机的24位输入输出接口直接连接到控制接口、配置接口和检查接口 上。
配置接口 单片机的输入输出接口直接连接到原有FPGA的配置接口。存储单元选择16MBit的Flash芯片。单片机的一组输入输出接口直接连接网络芯片,构成远程访问接口。远程服务器选用一台瑞达的可信服务器。远程访问接口 选用RJ45网络接口和DM9000网卡芯片。网络选用内部局域网。用户设计的硬件电路一个片上系统(System on Chip,S0C),包含有一个32位处 理器,SOC电路的配置数据为Datal,固件代码位Data2。远程可信服务器对可信赖的FPGA器件的会话密钥配置命令的十六进制编号为 OxFl。远程可信服务器对可信赖的FPGA器件的配置命令的十六进制编号为0xF2。具体操作流程使用流程包括整个具体操作流程中,如果出现远程可信服务器与可信赖的可重构器件之间的数 据通讯中断或者无法进行数据通讯,则需要由使用者根据预先设定的响应时间检查远程可 信服务器或者可信赖的可重构器件是否工作正常、通讯线路是否畅通,如果远程可信服务 器、可信赖的可重构器件或者通讯线路任意一个存在问题,则需要由使用者及时对其进行 更换;如果可信赖的可重构器件和远程可信服务器出现故障,则更换操作之后,需要重新执 行远程可信服务器对可信赖的可重构器件的配置过程;使用外部存储单元对可信赖的可重 构器件进行配置的过程;远程可信服务器对可信赖的可重构器件的管理;远程可信服务器对可信赖的FPGA器件的会话密钥配置过程1)远程可信服务器通过网线连接到可信赖的FPGA器件的RJ45接口,通过RJ45问 接口与可信赖的FPGA件进行通信;2)可信赖的FPGA器件上电启动,等待远程可信服务器发送与2048bit的会话密 钥;3)在安全的环境中,远程可信服务器生成一个2048bit的会话密钥(代号为A), 并使用可信赖的FPGA器件的根密钥的2048bit的公钥(代号为E),对密钥A进行加密,然 后将加密后的密钥A以命令(编号0xFl)的形式,发送给可信赖的FPGA器件;4)可信赖的FPGA器件根据接收到的命令,利用根密钥的私钥e将收到的密钥A 解密后,存储在外部的FLASH中,作为远程可信服务器与可信赖的FPGA器件之间的会话密 钥;5)可信赖的FPGA器件向远程可信服务器发送命令执行完毕的确认信号;6)远程可信服务器接到确认信号后,操作结束;远程可信服务器对可信赖的FPGA器件的配置过程7)远程可信服务器使用会话密钥A对用户设计的SOC电路的配置数据Datal与固 件代码Data2进行加密和数字签名;8)远程可信服务器将加密和数字签名后的数据(Datal和Data2),通过RJ45网络 接口,以命令(编号0xF2)的方式,发送给可信赖的FPGA器件的8位单片机;9)可信赖的FPGA器件的控制器利用密码算法引擎(Shal、ECC)和会话密钥A,对收到的数据进行解密和数字签名的验证;10)可信赖的FPGA器件的单片机对收到的数据的数字签名验证通过后,将解密出 来的SOC电路的配置数据(Datal)与固件代码(Data2),通过配置接口依次地加载到用户区 域中,然后立即启动用户区域中用户设计的SOC电路;11)可信赖的FPGA器件使用根密钥(E和e),对解密出来的用户设计的SOC电路 的配置数据(Datal)与固件代码(Data2),进行加密和数字签名,并通过存取接口依次地将 加密后的配置数据和数字签名数据存储到外部的FLASH中;12)可信赖的FPGA器件向远程可信服务器发送命令执行完毕的确认信号后,操作 结束;使用外部存储单元对可信赖的FPGA器件进行配置13)可信赖的FPGA器件再次上电后,如果没有收到远程可信服务器发送的命令 (OxFl或者0xF2),则单片机通过存取接口从外部的FLASH中读取经过加密和数字签名的数 据;14)单片机使用密码算法引擎(Shal和ECC)和根密钥(E和e),对加密数据进行 解码,并验证数字签名的正确性,如果数字签名信息正确,则单片机通过配置接口依次地将 用户设计的SOC电路的配置数据(Datal)与固件代码(Data2)加载到用户区域中;15)单片机对用户设计的SOC电路的配置数据(Datal)与固件代码(Data2)的加 载操作结束后,立即向远程的可信服务器发送可信赖的FPGA器件正常启动的信号;16)操作结束;远程可信服务器对可信赖的FPGA器件的管理17)远程可信服务器收到可信赖的FPGA器件的正常启动信号后,根据设定的时间 间隔(10分钟执行一次),定时地通过可信赖的FPGA器件的RJ45接口,访问可信赖的FPGA 器件;定时地通过检查接口检查用户设计的SOC电路工作状态;定时地通过单片机和存取 接口对外部FLASH中的配置数据(Datal)和固件代码(Data2)进行完整性检查;18)控制器将用户设计的SOC电路工作状态检查结果和外部存储单元中配置数据 (Datal)和固件代码(Data2)的完整性检查结果发送给远程可信服务器;19)远程可信服务器根据可信赖的FPGA器件发送的检查结果,进行工作状态和数 据完整性判断,发现工作异常,通过控制接口对用户区域中用户设计的SOC电路进行降低 工作频率控制,再次检查结果仍然不正确,向单片机发送重新加载用户设计的电路和固件 代码的命令(0xF2);20)单片机执行用户设计的SOC电路的配置数据(Datal)和固件代码(Data2)的 加载命令(0xF2)后,向远程可信服务器发送确认信号(0x0011),等待远程可信服务器再次 检查;21)此时远程可信服务器对用户区域中用户设计的SOC电路的工作状态检查和外 部存储单元中配置数据(加密后的Datal)与固件代码(加密后的Data2)的完整性检查仍 然没有通过,则从远程可信服务器向可信赖的FPGA器件,重新发送用户设计的SOC硬件电 路的配置数据(Datal)与固件代码(Data2)。
1权利要求
可信赖的可重构器件,包括用于可重复的搭建用户设计的电路的硬件单元,其特征在于进一步包括用于可信交互的密码算法引擎、用于控制用户区域中用户构建电路的控制接口、用于对用户区进行硬件电路配置数据和固件代码加载的配置接口、用于检查用户区域中用户构建电路工作状态的检查接口、用于存取硬件电路配置数据与固件代码的存取接口和一个用于存储密钥的非易失性存储单元;在可信赖的可重构器件中,远程访问接口与非易失性存储单元、密码算法引擎和控制器之间通过信号线彼此相连接;控制器又通过信号线分别连接到存取接口、控制接口、配置接口和检查接口;远程访问接口与可信赖的可重构器件外部的电路相连接,用于接收访问信号;存取接口与可信赖的可重构器件外部的存储单元相连接,用于与外部存储单元之间进行数据的存储和读取;控制接口连接在可信赖的可重构器件中预留的电路输入输出接口上,与用户区域中用户搭建的电路接口进行连接;配置接口连接在可信赖的可重构器件中预留的电路输入输出接口上,与用户区域中用户搭建的电路接口进行连接;检查接口连接在可信赖的可重构器件中预留的电路输入输出接口上,与用户区域中用户搭建的电路接口进行连接。
2.如权利要求1所述的可信赖的可重构器件的使用方法,其特征在于 使用流程包括四个部分远程可信服务器对可信赖的可重构器件的会话密钥配置过程;远程可信服务器对可信 赖的可重构器件的配置过程;使用外部存储单元对可信赖的可重构器件进行配置的过程; 远程可信服务器对可信赖的可重构器件的管理;如果可信赖的可重构器件的非易失性存储单元中没有会话密钥时,必须首先执行远程 可信服务器对可信赖的可重构器件的会话密钥配置过程;如果会话密钥定时更换时,也必 须首先执行远程可信服务器对可信赖的可重构器件的会话密钥配置过程;每次执行完远程可信服务器对可信赖的可重构器件的会话密钥配置过程之后,才可以 执行远程可信服务器对可信赖的可重构器件的配置过程;如果可信赖的可重构器件外部存储单元中没有用户设计的硬件电路的配置数据和固 件代码,需要首先执行远程可信服务器对可信赖的可重构器件的配置过程,否则直接执行 使用外部存储单元对可信赖的可重构器件进行配置的过程;远程可信服务器根据设定的间隔时间,定时地对可信赖的可重构器件进行管理; 远程可信服务器对可信赖的可重构器件的会话密钥配置过程1)远程可信服务器通过信号线连接到可信赖的可重构器件的远程访问接口,通过远程 访问接口与可信赖的可重构器件进行通信;2)在安全的环境中,可信服务器生成一个密钥,并使用可信赖的可重构器件的根密钥 的公钥,对该密钥进行加密,然后将加密后的密钥以命令的形式发送给可信赖的可重构器 件;3)可信赖的可重构器件根据接收到的命令,将收到的密钥存储在非易失性存储单元 中,作为远程可信服务器与可信赖的可重构器件之间的会话密钥;如果没有收到会话密钥和命令,则不做任何操作;4)可信赖的可重构器件向远程可信服务器发送命令执行完毕的确认信号;5)远程可信服务器接到确认信号后,会话密钥的配置过程结束;如果远程可信服务器 没有接收到可信赖的可重构器件发送的确认信号,则重新向可信赖的可重构器件发送第2) 步骤中产生的会话密钥和命令;如果仍然没有收到可信赖的可重构器件发送的确认信号, 则远程可信服务器认定对可信赖的可重构器件的会话密钥配置过程失败;如果会话密钥配 置过程失败,则远程可信服务器对可信赖的可重构器件的使用流程结束;远程可信服务器对可信赖的可重构器件的配置过程6)远程可信服务器使用会话密钥对用户设计的硬件电路的配置数据与固件代码进行 加密和数字签名;7)远程可信服务器将加密和数字签名后的数据,通过远程访问接口,以命令的方式,发 送给可信赖的可重构器件的控制器;8)可信赖的可重构器件的控制器利用密码算法引擎和会话密钥,对收到的数据进行 解密和数字签名的验证;可信赖的可重构器件的控制器对收到的数据的数字签名验证通过 后,将解密出来的用户设计的硬件电路的配置数据与固件代码,通过配置接口依次地加载 到用户区域中,然后立即启动用户区域中用户设计的硬件电路;可信赖的可重构器件的控 制器对收到的数据的数字签名验证没有通过,则可信赖的可重构器件向远程可信服务器发 送重新发送数据的请求,远程可信服务器收到重新发送数据的请求后,将重新执行第6)和 第7)步骤;9)可信赖的可重构器件使用根密钥,对解密出来的用户设计的硬件电路的配置数据与 固件代码,进行加密和数字签名,并通过存取接口依次地将加密后的配置数据和数字签名 数据存储到外部的存储单元;10)可信赖的可重构器件向远程可信服务器发送命令执行完毕的确认信号;远程可信 服务器接收到可信赖的可重构器件发送执行完毕的确认信号后,远程可信服务器对可信赖 的可重构器件的配置操作结束;如果远程可信服务器没有收到可信赖的可重构器件发送的 执行完毕的确认信号,则远程可信服务器将重新执行第6),并由可信赖的可重构器件顺序 执行7)、8)、9)步骤;使用外部存储单元对可信赖的可重构器件进行配置11)可信赖的可重构器件再次上电后,如果没有收到远程可信服务器发送的命令,则控 制器通过存取接口从外部的存储单元中读取经过加密和数字签名的数据;12)控制器使用密码算法引擎和根密钥,对加密数据进行解码,并验证数字签名的正确 性,如果数字签名信息正确,则控制器通过配置接口依次地将用户设计的硬件电路的配置 数据与固件代码加载到用户区域中;如果数字签名信息不正确,则控制器停止当前的配置 操作,并通过远程访问接口向远程可信服务器,发送请求远程可信服务器对可信赖的可重 构器件的配置重新进行配置的请求信号,然后远程可信服务器开始重新执行远程可信服务 器对可信赖的可重构器件的配置操作;13)可信赖的可重构器件的控制器对用户设计的硬件电路的配置数据与固件代码的加 载操作结束后,立即向远程的可信服务器发送可信赖的可重构器件正常启动的信号;当远 程可信服务器收到可信赖的可重构器件的正常启动信号后,使用外部存储单元对可信赖的可重构器件进行配置操作结束;当可信赖的可重构器件上电启动,并执行了第11)和第12) 步骤后,远程可信服务器没有收到可信赖的可重构器件的正常启动信号,则远程服务器应 通知使用者,对可信赖的可重构器件进行检查或者更换;远程可信服务器对可信赖的可重构器件的管理14)远程可信服务器收到可信赖的可重构器件的正常启动信号后,根据设定的时间间 隔,定时地通过可信赖的可重构器件的远程访问接口,访问可信赖的可重构器件;定时地通 过检查接口检查用户设计的电路工作状态;定时地通过控制器和存取接口对外部存储单元 中的配置数据和固件代码进行完整性检查;15)控制器将用户设计的电路工作状态检查结果和外部存储单元中配置数据和固件代 码的完整性检查结果发送给远程可信服务器;16)远程可信服务器根据可信赖的可重构器件发送的检查结果,进行工作状态和数据 完整性判断,如果出现工作异常或者数据被篡改,则通过控制接口对用户区域中用户设计 的电路进行控制,并对可信赖的可重构器件再次进行状态检查命令;如果再次检查结果仍 然不正确,则向控制器发送重新加载用户设计的电路和固件代码的命令;然后由控制器执 行用户设计的电路的配置数据和固件代码的加载命令,并向远程可信服务器发送确认信 号,等待远程可信服务器再次检查;17)如果远程可信服务器对用户区域中用户设计的电路的工作状态检查和外部存储单 元中配置数据与固件代码的完整性检查仍然没有通过,则从远程可信服务器向可信赖的可 重构器件,重新发送用户设计的硬件电路的配置数据与固件代码。
全文摘要
本发明属于信息安全领域,尤其涉及一种可信赖的可重构器件及其使用方法。由于可重构器件的可重构特点在工程开发中的应用日益广泛,在网络等复杂的应用环境中,恶意的攻击者同样也可以利用可重构器件的可重构特点,通过篡改等非法手段,达到破坏或者窃取可重构器件中重要信息和工程设计的目的。本发明提出通过在可重构器件中设置控制器和密码算法引擎等单元,使用随机数、密码算法和双方相互认证等手段,建立可重构器件与主控设备之间的可信通道的方法,用于配置信息和重要数据的传递。并在调试接口模块和可重构器件的配置模块中实现完整性检查功能,通过可信通道和完整性检查单元,为用户提供一个值得信赖可重构器件和使用方法。
文档编号G06F21/00GK101894233SQ201010237818
公开日2010年11月24日 申请日期2010年7月23日 优先权日2010年7月23日
发明者刘毅, 李健, 毛军捷, 沈昌祥 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1