CN101894233B - 一种可信赖的可重构器件及其使用方法 - Google Patents
一种可信赖的可重构器件及其使用方法 Download PDFInfo
- Publication number
- CN101894233B CN101894233B CN2010102378187A CN201010237818A CN101894233B CN 101894233 B CN101894233 B CN 101894233B CN 2010102378187 A CN2010102378187 A CN 2010102378187A CN 201010237818 A CN201010237818 A CN 201010237818A CN 101894233 B CN101894233 B CN 101894233B
- Authority
- CN
- China
- Prior art keywords
- reliable
- reconfigurable device
- trusted server
- remote trusted
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明属于信息安全领域,尤其涉及一种可信赖的可重构器件及其使用方法。由于可重构器件的可重构特点在工程开发中的应用日益广泛,在网络等复杂的应用环境中,恶意的攻击者同样也可以利用可重构器件的可重构特点,通过篡改等非法手段,达到破坏或者窃取可重构器件中重要信息和工程设计的目的。本发明提出通过在可重构器件中设置控制器和密码算法引擎等单元,使用随机数、密码算法和双方相互认证等手段,建立可重构器件与主控设备之间的可信通道的方法,用于配置信息和重要数据的传递。并在调试接口模块和可重构器件的配置模块中实现完整性检查功能,通过可信通道和完整性检查单元,为用户提供一个值得信赖可重构器件和使用方法。
Description
技术领域
本发明属于计算机可信领域。
背景技术
目前,发生信息安全事故的技术原因主要是现有的计算机软、硬件结构简化,从而导致资源非法使用。为了解决信息安全隐患,可信计算需要从提高终端自身防护能力着手,从源头解决信息安全问题。例如:硬件设备(特别是SOC芯片),是整个计算系统的基础。表面上很平常的一件硬件设备,很有可能就包含着逻辑炸弹、嗅探器,不知道它在收集什么信息也不知道它什么时候会爆发。
在笔者参与的网络税控器项目中,网络税控器主要用于对收银终端进行监控,记录收银终端与打印机的通讯记录,并将交易记录如实的反馈给远程的可信服务器,由可信服务器分析交易记录、统计交易额和计算缴税额度。本项目选用了FPGA芯片作为产品的核心器件,在FPGA内部实现微处理器和专用功能,增加了产品灵活性的同时也降低了产品升级的费用,但FPGA芯片的可重构的也给产品带来了安全隐患。以FPGA芯片为核心器件的设备,需要在FPGA芯片外部单独提供一片存储单元,用于供FPGA硬件配置数据以及固件代码的存储。但遇到了如何在不影响产品性能的前提下,降低FPGA硬件配置信息和微处理器运行带被篡改的风险,以及如何在发现数据被篡改的情况下,迅速的将FPGA器件恢复到正常工作状态的问题。目前,Xilinx和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 GateArray,FPGA)作为可重构器件进行举例说明。因为FPGA器件是一块完整的芯片,由于无法实现在芯片内部的改造,因此采用下面近似的实现方法进行举例说明。
如图3所示:
密码算法引擎选择SHA1算法、ECC算法和RSA算法。
控制器选用一个8位的内部带Flash的单片机。内部Flash用于存储根密钥和会话密钥。根密钥和会话密钥均选用2048位的密钥。
控制接口、配置接口和检查接口分别选择原有FPGA芯片上的8位宽的输入输出管脚。(共24位)单片机的24位输入输出接口直接连接到控制接口、配置接口和检查接口上。
配置接口:单片机的输入输出接口直接连接到原有FPGA的配置接口。
存储单元:选择16MBit的Flash芯片。
单片机的一组输入输出接口直接连接网络芯片,构成远程访问接口。
远程服务器:选用一台瑞达的可信服务器。
远程访问接口:选用RJ45网络接口和DM9000网卡芯片。
网络:选用内部局域网。
用户设计的硬件电路:一个片上系统(System on Chip,SOC),包含有一个32位处理器,SOC电路的配置数据为Data1,固件代码位Data2。
远程可信服务器对可信赖的FPGA器件的会话密钥配置命令的十六进制编号为0xF1。
远程可信服务器对可信赖的FPGA器件的配置命令的十六进制编号为0xF2。
具体操作流程:
使用流程包括:
整个具体操作流程中,如果出现远程可信服务器与可信赖的可重构器件之间的数据通讯中断或者无法进行数据通讯,则需要由使用者根据预先设定的响应时间检查远程可信服务器或者可信赖的可重构器件是否工作正常、通讯线路是否畅通,如果远程可信服务器、可信赖的可重构器件或者通讯线路任意一个存在问题,则需要由使用者及时对其进行更换;如果可信赖的可重构器件和远程可信服务器出现故障,则更换操作之后,需要重新执行远程可信服务器对可信赖的可重构器件的配置过程;使用外部存储单元对可信赖的可重构器件进行配置的过程;远程可信服务器对可信赖的可重构器件的管理;
远程可信服务器对可信赖的FPGA器件的会话密钥配置过程:
1)远程可信服务器通过网线连接到可信赖的FPGA器件的RJ45接口,通过RJ45问接口与可信赖的FPGA件进行通信;
2)可信赖的FPGA器件上电启动,等待远程可信服务器发送与2048bit的会话密钥;
3)在安全的环境中,远程可信服务器生成一个2048bit的会话密钥(代号为A),并使用可信赖的FPGA器件的根密钥的2048bit的公钥(代号为E),对密钥A进行加密,然后将加密后的密钥A以命令(编号:0xF1)的形式,发送给可信赖的FPGA器件;
4)可信赖的FPGA器件根据接收到的命令,利用根密钥的私钥e将收到的密钥A解密后,存储在外部的FLASH中,作为远程可信服务器与可信赖的FPGA器件之间的会话密钥;
5)可信赖的FPGA器件向远程可信服务器发送命令执行完毕的确认信号;
6)远程可信服务器接到确认信号后,操作结束;
远程可信服务器对可信赖的FPGA器件的配置过程:
7)远程可信服务器使用会话密钥A对用户设计的SOC电路的配置数据Data1与固件代码Data2进行加密和数字签名;
8)远程可信服务器将加密和数字签名后的数据(Data1和Data2),通过RJ45网络接口,以命令(编号:0xF2)的方式,发送给可信赖的FPGA器件的8位单片机;
9)可信赖的FPGA器件的控制器利用密码算法引擎(Sha1、ECC)和会话密钥A,对收到的数据进行解密和数字签名的验证;
10)可信赖的FPGA器件的单片机对收到的数据的数字签名验证通过后,将解密出来的SOC电路的配置数据(Data1)与固件代码(Data2),通过配置接口依次地加载到用户区域中,然后立即启动用户区域中用户设计的SOC电路;
11)可信赖的FPGA器件使用根密钥(E和e),对解密出来的用户设计的SOC电路的配置数据(Data1)与固件代码(Data2),进行加密和数字签名,并通过存取接口依次地将加密后的配置数据和数字签名数据存储到外部的FLASH中;
12)可信赖的FPGA器件向远程可信服务器发送命令执行完毕的确认信号后,操作结束;
使用外部存储单元对可信赖的FPGA器件进行配置:
13)可信赖的FPGA器件再次上电后,如果没有收到远程可信服务器发送的命令(0xF1或者0xF2),则单片机通过存取接口从外部的FLASH中读取经过加密和数字签名的数据;
14)单片机使用密码算法引擎(Sha1和ECC)和根密钥(E和e),对加密数据进行解码,并验证数字签名的正确性,如果数字签名信息正确,则单片机通过配置接口依次地将用户设计的SOC电路的配置数据(Data1)与固件代码(Data2)加载到用户区域中;
15)单片机对用户设计的SOC电路的配置数据(Data1)与固件代码(Data2)的加载操作结束后,立即向远程的可信服务器发送可信赖的FPGA器件正常启动的信号;
16)操作结束;
远程可信服务器对可信赖的FPGA器件的管理:
17)远程可信服务器收到可信赖的FPGA器件的正常启动信号后,根据设定的时间间隔(10分钟执行一次),定时地通过可信赖的FPGA器件的RJ45接口,访问可信赖的FPGA器件;定时地通过检查接口检查用户设计的SOC电路工作状态;定时地通过单片机和存取接口对外部FLASH中的配置数据(Data1)和固件代码(Data2)进行完整性检查;
18)控制器将用户设计的SOC电路工作状态检查结果和外部存储单元中配置数据(Data1)和固件代码(Data2)的完整性检查结果发送给远程可信服务器;
19)远程可信服务器根据可信赖的FPGA器件发送的检查结果,进行工作状态和数据完整性判断,发现工作异常,通过控制接口对用户区域中用户设计的SOC电路进行降低工作频率控制,再次检查结果仍然不正确,向单片机发送重新加载用户设计的电路和固件代码的命令(0xF2);
20)单片机执行用户设计的SOC电路的配置数据(Data1)和固件代码(Data2)的加载命令(0xF2)后,向远程可信服务器发送确认信号(0x0011),等待远程可信服务器再次检查;
21)此时远程可信服务器对用户区域中用户设计的SOC电路的工作状态检查和外部存储单元中配置数据(加密后的Data1)与固件代码(加密后的Data2)的完整性检查仍然没有通过,则从远程可信服务器向可信赖的FPGA器件,重新发送用户设计的SOC硬件电路的配置数据(Data1)与固件代码(Data2)。
Claims (1)
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)如果远程可信服务器对用户区域中用户设计的电路的工作状态检查和外部存储单元中配置数据与固件代码的完整性检查仍然没有通过,则从远程可信服务器向可信赖的可重构器件,重新发送用户设计的硬件电路的配置数据与固件代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102378187A CN101894233B (zh) | 2010-07-23 | 2010-07-23 | 一种可信赖的可重构器件及其使用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102378187A CN101894233B (zh) | 2010-07-23 | 2010-07-23 | 一种可信赖的可重构器件及其使用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101894233A CN101894233A (zh) | 2010-11-24 |
CN101894233B true CN101894233B (zh) | 2012-10-31 |
Family
ID=43103423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102378187A Active CN101894233B (zh) | 2010-07-23 | 2010-07-23 | 一种可信赖的可重构器件及其使用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101894233B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10374885B2 (en) | 2016-12-13 | 2019-08-06 | Amazon Technologies, Inc. | Reconfigurable server including a reconfigurable adapter device |
US10691803B2 (en) | 2016-12-13 | 2020-06-23 | Amazon Technologies, Inc. | Secure execution environment on a server |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1606854A (zh) * | 2001-12-19 | 2005-04-13 | 英特尔公司 | 使用递增认证的模块来构建实用无线电固件的方法和设备 |
CN101682506A (zh) * | 2007-05-18 | 2010-03-24 | 美国唯美安视国际有限公司 | 用于确定在保护数据时应用的可编程处理步骤的系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8452985B2 (en) * | 2005-04-07 | 2013-05-28 | Panasonic Corporation | Circuit building device |
-
2010
- 2010-07-23 CN CN2010102378187A patent/CN101894233B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1606854A (zh) * | 2001-12-19 | 2005-04-13 | 英特尔公司 | 使用递增认证的模块来构建实用无线电固件的方法和设备 |
CN101682506A (zh) * | 2007-05-18 | 2010-03-24 | 美国唯美安视国际有限公司 | 用于确定在保护数据时应用的可编程处理步骤的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101894233A (zh) | 2010-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102624699B (zh) | 一种保护数据的方法和系统 | |
US20190050598A1 (en) | Secure data storage | |
CN101778099B (zh) | 可容忍非信任组件的可信网络接入架构及其接入方法 | |
KR100783446B1 (ko) | 유에스비 디바이스를 이용한 데이터 보안 시스템, 장치 및방법 | |
US8566934B2 (en) | Apparatus and method for enhancing security of data on a host computing device and a peripheral device | |
CN104769606A (zh) | 提供安全的计算机环境的系统和方法 | |
CN101908112B (zh) | 安全芯片的测试方法与系统 | |
CN107563213B (zh) | 一种防存储设备数据提取的安全保密控制装置 | |
US10250387B1 (en) | Quantum computer resistant algorithm cryptographic key generation, storage, and transfer device | |
CN103679062A (zh) | 智能电表主控芯片和安全加密方法 | |
CN102215221A (zh) | 从移动设备对计算机的安全远程唤醒、引导及登录的方法和系统 | |
CN104299300B (zh) | 基于nfc的安全智能锁系统的开锁和关锁方法 | |
CN108629206B (zh) | 一种安全加密方法、加密机及终端设备 | |
US20200134180A1 (en) | Enhanced protections against adversarial machine learning threats utilizing cryptography and hardware assisted monitoring in accelerators | |
CN107332671A (zh) | 一种基于安全芯片的安全移动终端系统及安全交易方法 | |
CN101593254A (zh) | 一种笔记本电脑安全输入方法及系统 | |
CN101833620A (zh) | 一种基于自定义安全jdbc驱动的数据库防护方法 | |
CN103413100A (zh) | 文档安全防范系统 | |
CN100334519C (zh) | 建立可信输入输出通道的方法 | |
CN115664659A (zh) | 一种区块链交易数据的监管方法、装置、设备和介质 | |
CN101645124B (zh) | 一种解锁pin码的方法和智能密钥设备 | |
Farzaliyev et al. | Developing a personal voting machine for the Estonian internet voting system | |
CN102831335A (zh) | 一种Windows操作系统的安全保护方法和系统 | |
CN101894233B (zh) | 一种可信赖的可重构器件及其使用方法 | |
CN105933117A (zh) | 一种基于tpm秘钥安全存储的数据加解密装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |