一种基于FPGA和密码芯片的TPCM板卡的制作方法

文档序号:14863841发布日期:2018-07-04 09:36阅读:1259来源:国知局
一种基于FPGA和密码芯片的TPCM板卡的制作方法

本发明涉及服务器板卡技术领域,具体的说是一种基于fpga和密码芯片的tpcm板卡。



背景技术:

可信平台控制模块tpcm是可信计算研究领域的一个分支,由沈昌祥院士提出,目前tpcm在我国处于起步阶段,还没有大规模的应用。tpcm是可信计算平台的核心控制模块,它从物理上为可信应用提供了三个信任根:可信度量根rtm、可信存储根rts和可信报告根rtr。以此为基础,扩展出可信计算平台的可信度量功能、可信存储功能和可信报告功能。

tpcm思想以密码算法为基础,对系统的程序和关键数据进行机密性性保护、对接入系统的用户进行身份认证,并基于可信计算的思想建立系统平台的信任链,从而建立对系统平台的安全性保护机制。现阶段对tpcm的研究主要停留在理论层面,还没有大规模的应用,相关产品比较少,因此有必要提供一种tpcm的服务器领域具体板卡实现技术。

现有技术如图1所示,该tpcm板卡以fpga为控制核心,pcie作为物理接口,与fpga交互的只有flash芯片,usb芯片和led灯组,板卡外围配有电源转换电路。现有技术以fpga为控制核心,只实现了数据的存储、usb硬件接口和pcie接口,另外通过led指示板卡的工作状态,整个板卡并未采用密码技术或密码芯片,无法对数据提供加解密功能。缺少可信度量根、可信报告根的板卡功能。



技术实现要素:

为了解决上述问题,本发明提供了一种基于fpga和密码芯片的tpcm板卡,包括:

fpga芯片,分别与密码芯片、fpga配置芯片、随机数发生器、电源芯片、peie总线物理插槽、晶体振荡器相连接,用于作为tpcm板卡的控制单元;

密码芯片,用以加载密码算法,进行高性能公钥密码加密及高性能分组密码加密;

fpga配置芯片,用于存储tpcm板卡程序;

随机数发生器,用于会话密钥、装置密钥的生成以及安全协议中的随机数、各种初始向量的设置;

电源芯片,用于为fpga芯片、密码芯片、fpga配置芯片、随机数发生器提供电能及转换电能;

peie总线物理插槽,与fpga芯片连接,用于实现数据交互;

晶体振荡器,用于为fpga芯片提供工作的主频。

进一步的,所述fpga芯片包括:rom、ram、状态机、pcieip硬核及硬件逻辑单元,所述rom用于签名值、加密数据、摘要值相关可信存储根数据的存储;所述ram用于作为数据的缓存,并向系统提供平台完整性、数据可信度相关可信报告根的数据;所述状态机与密码芯片相连接,用以对密码芯片进行控制;所述pcieip硬核用于与fpga芯片外部pcie总线物理插槽相连接;所述硬件逻辑单元用于拓展芯片接口。

进一步的,所述密码芯片包含有密码芯片1和密码芯片2,所述密码芯片1为高性能公钥密码算法芯片,用以运行国家标准sm2、sm3密码算法,所述密码芯片2为高性能分组密码算法芯片,用以运行国家标准sm4对称密码算法。

进一步的,所述密码芯片2工作模式包括电子密本模式、分组连接模式、输出反馈模式、单总线和双总线。

进一步的,所述电源芯片设置有电源芯片1、电源芯片2和电源芯片3,所述电源芯片1将pcie总线的12v电压转换为5v电压输出,用以作为板卡的主电源输入,并供随机数发生器使用;所述电源芯片2将板卡上5v电压转换为两路3.3v和2.5v电压,分别供给fpga芯片的i/o引脚和锁相环引脚,并供给加密芯片1、加密芯片2和fpga配置芯片使用;所述电源芯片3将板卡上5v电压转换为一路1.2v电压,用于供给fpga芯片内核电路使用。

进一步的,基于fpga和密码芯片的tpcm板卡上还设置有程序下载接口k1,所述程序下载接口k1用于通过usb口和下载线将程序下载至fpga配置芯片。

进一步的,基于fpga和密码芯片的tpcm板卡上还设置有程序调试接口k2,所述程序调试接口k2为jtag口,通过fpga自带的嵌入式逻辑分析仪signaltap,在显示器上清楚的显示各信号的时序波形,用于进行程序的修改和调试。

进一步的,基于fpga和密码芯片的tpcm板卡上还设置有iic接口,所述iic接口与服务器上的bmc相连接,通过fpga芯片调用密码算法对bmc固件进行度量。

进一步的,基于fpga和密码芯片的tpcm板卡上还设置有spi接口,所述spi接口与服务器上的bios连接,通过fpga芯片调用密码算法对bios进行度量。

本发明的有益效果是:

1、本发明提供一种基于fpga和密码芯片的tpcm卡,在设计过程中,采用了先进的fpga芯片和高安全性的密码芯片,利用fpga的嵌入式ip技术实现了pcie总线接口,利用fpga的硬件逻辑资源实现对密码芯片的调度,从而实现了tpcm功能是我国tpcm标准的具体实现。

2、本发明提供了加解密、数字签名、可信计算等功能,对服务器的固件和关键数据进行保护,利用该板卡可以防止恶意人员对固件和关键数据的恶意刷写和蓄意破坏,从而提高了安全性。

附图说明

图1是现有技术结构装置图;

图2是本发明结构装置图。

具体实施方式

以下结合附图详细说明本发明的具体实施方式,下文的公开提供了具体实施方式用来实现本发明的装置及方法,使本领域的技术人员更清楚地理解如何实现本发明。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。应当理解,尽管本发明描述了其优选的具体实施方案,然而这些只是对实施方案的阐述,而不是限制本发明的范围。

本发明提供了一种基于fpga和密码芯片的tpcm板卡,用于信息安全领域,实现可信计算技术、数据加密操作和数字签名操作等。该板卡通过的pcie接口内置于服务器的主板中,板卡上的fpga芯片作为控制单元,控制密码芯片实现国密sm2、sm3、sm4密码算法,为数据处理提供安全性的保障。另外,板卡提供iic和spi接口,分别控制服务器上的bmc与bios,从而实现服务器的可信启动控制。

如图2所示,本发明提供一种基于fpga和密码芯片的tpcm板卡,包括:fpga芯片、密码芯片1、密码芯片2、fpga配置芯片、随机数发生器、电源芯片1、电源芯片2、电源芯片3、pei-e总线物理插槽、100mhz晶体振荡器、程序下载口k1、程序调试口k2、iic接口和spi接口。

fpga芯片是板卡的控制核心,在其内部通过嵌入式pcieip硬核的方式实现pcie接口,与物理的pcie总线插槽连接。

作为一种可实施的方式,本发明中fpga芯片可以选用美国altera公司cycloneiv系列的ep4cgx30cf23c6,该芯片总引脚数为484,bga封装,可利用的i/o管脚为307个,内含29440个le,135kb的片内ram,80个18×18的乘法器,4个高速串行收发器和1个pci-e硬核ip。fpga是整个板卡的核心,在其内部利用嵌入式pcieip硬核实现与pcie总线的连接;同时设置双端口ram和rom实现数据的存储,并利用状态机实现对密码芯片的控制,利用硬件逻辑实现iic、spi接口功能。

密码芯片1可选用北京宏思电子技术有限公司的hsm2a型号的安全芯片,该芯片为高性能公钥密码算法芯片,实现了国家标准sm2和sm3密码算法。支持sm2密钥对生成、数字签名、数字签名验证运算,实现sm2密钥对生成速度达2.2万次/秒,数字签名速度达2.0万次/秒,签名验证速度达1.0万次/秒。另外,实现sm3杂凑算法速度达1.0gbps。该芯片引脚数为176,具备高安全性,能有效保证用户进行交易时数据的安全性。

密码芯片1(hsm2a)与fpga的io总线连接,实现数据的交互,在fpga内部通过状态机控制器实现对hsm2a的逻辑功能控制,从而实现国密sm2算法核sm3算法,通过fpga的内部ram实现对签名值、杂凑值等数据的存储。

密码芯片2可选用北京宏思电子技术有限公司的hsm4a型号的安全芯片,该芯片为高性能分组密码算法芯片,实现sm4对称密码算法。该分组密码算法的分组长度为128比特,密钥长度为128比特。该芯片具有电子密本模式(ecb)、分组连接模式(cbc)、输出反馈模式(ofb)以及单总线、双总线两种工作方式。在ecb双总线工作方式下加解密速率最高可达2.5gbps。该芯片引脚数为128,具备高安全性。

密码芯片2(hsm4a)与fpga的io总线连接,实现数据的交互,在fpga内部通过状态机控制器实现对hsm4a的逻辑功能控制,从而实现国密sm4算法,通过fpga的内部ram实现对加密、解密等数据的存储。

fpga配置芯片可以采用altera公司的epcs128芯片,其容量为16mb,flash结构。该芯片用来存储板卡的程序。密码卡每次上电后fpga首先从epcs128里读取程序。

epcs128芯片与fpga相连,每次上电后fpga需要读取epcs128里的程序进行板卡的配置与初始化。

随机数发生器可以采用北京宏思电子技术有限公司的wng4芯片,wng4为数字物理噪声源,用于产生真随机数序列,用于会话密钥、装置密钥的生成以及安全协议中的随机数、各种初始向量的设置等。

晶体振荡器采用100mhz的有源晶振,作为fpga芯片工作的主频。

电源芯片1采用美国linear公司的电源转换芯片ltm4602,其主要作用是将pci-e总线的12v电压转换为5v电压输出,作为板卡的主电源输入,另外也供随机数发生器使用。

电源芯片2采用美国ti公司的电源转换芯片tps767d301,其主要作用是将板卡上的5v电压转换为两路3.3v和2.5v电压,分别供给fpga的i/o引脚和锁相环引脚。另外3.3v电压也供给加密芯片1、加密芯片2和fpga配置芯片使用。

电源芯片3采用美国ti公司的电源转换芯片tps54612pwp,作用是将板卡上的5v电压转换为一路1.2v电压,供fpga的内核电路使用。

本发明中程序下载接口k用于连接altera的下载线usbbyteblasterii的一端,主机通过usb口和下载线可以将程序下载到配置芯片epcs128中。

本发明中程序调试接口k2为jtag口,也用于连接usbbyteblasterii,在板卡调试的过程中将程序下载至fpga中。通过fpga自带的嵌入式逻辑分析仪signaltap,可以在显示器上清楚的显示各信号的时序波形,从而方便了程序的修改和调试。

本发明中,iic接口是通过fpga内部的硬件逻辑实现的,iic接口的作用是与服务器上的bmc连接,便于fpga调用密码算法对bmc固件进行度量,从而实现可信计算的功能。spi接口是通过fpga内部的硬件逻辑实现的,spi接口的作用是与服务器上的bios连接,便于fpga调用密码算法对bios进行度量,从而实现可信计算的功能。

此外,本发明的应用范围不局限于说明书中描述的特定实施例的工艺、机构、制造、物质组成、手段、方法及步骤。从本发明的公开内容,作为本领域的普通技术人员将容易地理解,对于目前已存在或者以后即将开发出的工艺、机构、制造、物质组成、手段、方法或步骤,其中它们执行与本发明描述的对应实施方式大体相同的功能或者获得大体相同的结果,依照本发明可以对它们进行应用。因此,本发明所附权利要求旨在将这些工艺、机构、制造、物质组成、手段、方法或步骤包含在其保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1