发明名称 一种可信赖的可重构器件及其使用方法
摘要 本发明属于信息安全领域,尤其涉及一种可信赖的可重构器件及其使用方法。由于可重构器件的可重构特点在工程开发中的应用日益广泛,在网络等复杂的应用环境中,恶意的攻击者同样也可以利用可重构器件的可重构特点,通过篡改等非法手段,达到破坏或者窃取可重构器件中重要信息和工程设计的目的。本发明提出通过在可重构器件中设置控制器和密码算法引擎等单元,使用随机数、密码算法和双方相互认证等手段,建立可重构器件与主控设备之间的可信通道的方法,用于配置信息和重要数据的传递。并在调试接口模块和可重构器件的配置模块中实现完整性检查功能,通过可信通道和完整性检查单元,为用户提供一个值得信赖可重构器件和使用方法。
申请公布号 CN101894233B 申请公布日期 2012.10.31
申请号 CN201010237818.7 申请日期 2010.07.23
申请人 北京工业大学 发明人 沈昌祥;毛军捷;李健;刘毅
分类号 G06F21/00(2006.01)I 主分类号 G06F21/00(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 刘萍
主权项 一种可信赖的可重构器件的使用方法,所述可信赖的可重构器件,包括用于可重复的搭建用户设计的电路的硬件单元,还包括:用于可信交互的密码算法引擎、用于控制用户区域中用户构建电路的控制接口、用于对用户区进行硬件电路配置数据和固件代码加载的配置接口、用于检查用户区域中用户构建电路工作状态的检查接口、用于存取硬件电路配置数据与固件代码的存取接口和一个用于存储密钥的非易失性存储单元;在可信赖的可重构器件中,远程访问接口与非易失性存储单元、密码算法引擎和控制器之间通过信号线彼此相连接;控制器又通过信号线分别连接到存取接口、控制接口、配置接口和检查接口;远程访问接口与可信赖的可重构器件外部的电路相连接,用于接收访问信号;存取接口与可信赖的可重构器件外部的存储单元相连接,用于与外部存储单元之间进行数据的存储和读取;控制接口连接在可信赖的可重构器件中预留的电路输入输出接口上,与用户区域中用户搭建的电路接口进行连接;配置接口连接在可信赖的可重构器件中预留的电路输入输出接口上,与用户区域中用户搭建的电路接口进行连接;检查接口连接在可信赖的可重构器件中预留的电路输入输出接口上,与用户区域中用户搭建的电路接口进行连接;其特征在于:使用流程包括四个部分:远程可信服务器对可信赖的可重构器件的会话密钥配置过程;远程可信服务器对可信赖的可重构器件的配置过程;使用外部存储单元对可信赖的可重构器件进行配置的过程;远程可信服务器对可信赖的可重构器件的管理;如果可信赖的可重构器件的非易失性存储单元中没有会话密钥时,必须首先执行远程可信服务器对可信赖的可重构器件的会话密钥配置过程;如果会话密钥定时更换时,也必须首先执行远程可信服务器对可信赖的可重构器件的会话密钥配置过程;每次执行完远程可信服务器对可信赖的可重构器件的会话密钥配置过程之后,才可以执行远程可信服务器对可信赖的可重构器件的配置过程;如果可信赖的可重构器件外部存储单元中没有用户设计的硬件电路的配置数据和固件代码,需要首先执行远程可信服务器对可信赖的可重构器件的 配置过程,否则直接执行使用外部存储单元对可信赖的可重构器件进行配置的过程;远程可信服务器根据设定的间隔时间,定时地对可信赖的可重构器件进行管理;远程可信服务器对可信赖的可重构器件的会话密钥配置过程: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)如果远程可信服务器对用户区域中用户设计的电路的工作状态检查和外部存储单元中配置数据与固件代码的完整性检查仍然没有通过,则从远程可信服务器向可信赖的可重构器件,重新发送用户设计的硬件电路的配置数据与固件代码。
地址 100124 北京市朝阳区平乐园100号