一种基于DS2432芯片的FPGA设备加密认证系统和方法技术方案

技术编号:21548395 阅读:41 留言:0更新日期:2019-07-06 21:44
本发明专利技术公开了一种基于DS2432芯片的FPGA设备加密认证系统和方法,属于加密认证和安全技术领域,旨在为以FPGA作为核心处理器件的设备提供一种使用方便、安全可靠、低成本和低功耗的加密认证系统和方法。本发明专利技术充分利用了设备现有资源,具有结构简单、成本低、通用性强、使用方便等优点;对认证信息使用了三层加密保护,确保了加密认证系统的安全性;在设备的整个运行过程中认证操作会持续进行,保证任何时候系统的合法性;设计上采用了分层设计思想、模块化设计方法和标准化的控制和数据接口技术,有效降低设计难度、提高设计可重用性。

An Encryption and Authentication System for FPGA Devices Based on DS2432 Chip

【技术实现步骤摘要】
一种基于DS2432芯片的FPGA设备加密认证系统和方法
本专利技术属于加密认证和安全
,更具体的说,涉及一种基于DS2432芯片的FPGA设备加密认证系统和方法。
技术介绍
FPGA全称现场可编程门阵列(FieldProgrammableGateArray),最初作为专用集成电路领域中的一种半定制电路而出现的,具有灵活的可编程性,可同时进行数据并行和任务并行计算,在处理特定应用时有更加明显的效率,在通信、数字信号处理、工业等领域已经得到了大规模应用。随着FPGA性能和密度的提高、功耗和成本的降低,其应用领域已经扩展到人工智能、数据中心、消费电子、汽车电子、工业控制、测试测量等广泛的领域,并且有加速渗透的趋势。以FPGA作为核心处理器件的设备,其主要的知识产权和技术壁垒为运行在FPGA上的算法逻辑程序。而FPGA程序为二进制格式的文件,采用FLASH等非易失性存储器来存放,掉电时仍能够保存。将FLASH中的数据读出然后烧写入克隆的硬件板存储器中就可以完整的复制整个产品,对原产品生产商造成巨大的经济损失,严重侵害原产品生产商利益和知识产权。所以一个真正安全的加密认证系统是保证设备不被非法克隆复制的必要保障。目前,通过FPGA与外置安全EEPROM(电可擦除可编程只读存储器)配合,使用IFF(IdentificationFriendsorFor,身份识别)技术保护FPGA设计安全已成为一种广泛使用的加密认证解决方案。标准的IFF认证流程如下:1)FPGA通过随机数产生器(RNG)产生一个随机数Q,并将其送往安全EEPROM中;2)安全EEPROM利用其内部存储的密钥使用HASH函数进行安全散列算法对Q进行加密,产生一个信息A;3)FPGA使用相同的密钥产生期望信息E,与来自安全EEPROM的实际信息A进行比较;4)如果期望信息E和实际信息A相同,则认证通过,否则认证失败;5)如果认证失败,FPGA停止运行。DS2432是由MAXIM公司生产的实现低成本FPGA安全认证功能的加密芯片,符合ISO/IEC110118-3安全散列算法(SHA-1)的质询-响应安全认证机制。单个芯片内集成了1024位EEPROM(分为4页,每页256位)、64位密钥和64位由工厂刻入、唯一识别和绝对可溯的光刻ROM序列号和一个SHA-1引擎。功能上,DS2432的SHA-1引擎根据64位密钥、用户指定的EEPROM某一页的256位数据、64位光刻ROM序列号和接收的24位质询码来产生160位的MAC(MessageAuthenticationCodes,消息认证码);物理连接上,DS2432通过1-wire总线与FPGA通信,仅需一根数据线和一根返回地线,故DS2432非常适合FPGA设备的加密认证系统。而FPGA又具有如下两个特点:1)FPGA程序是用RTL(寄存器传输级硬件描述语言)描述的算法逻辑代码通过FPGA工具综合实现得到的,对于大规模的FPGA设计,其综合实现的时间会长达数小时或数十小时,故不同设备的FPGA程序必须相同,换句话说用于期望MAC计算的认证信息不能作为固定值写入到FPGA程序中;2)FPGA本身具有可编程性,所以整个质询-响应过程中对DS2432的激励产生、访问控制、结果比对等都可以在FPGA中完成,不需要额外的控制和辅助芯片。因此,基于DS2432的针对以FPGA作为核心处理器件的设备的加密认证系统和方法如何与FPGA上述的两个特点相匹配,并且做到使用方便、安全可靠、低成本和低功耗是本领域技术人员需要解决的问题。中国专利201610721183.5“一种基于DS2432的嵌入式加密认证方法及系统”描述了基于DS2432的嵌入式加密认证方法及系统,该方法使用了一个DS2432加密芯片、一个DS2460协处理器芯片外加一个型号为STC12C5406的微控制器芯片,整体结构复杂,最为关键的是通过截取微控制器芯片和其他应用系统之间的数据交互,通过发送虚假的认证通过的消息就可以完全破解该系统。中国专利201610515361.9“基于硬件加密的防刷机系统及方法”中描述的加密防刷机系统,其最主要的是自定义和实现了一个加密芯片,首先是成本高,另外其整个系统没有唯一识别、绝对可溯的序列号,存在明显的安全漏洞。文献“基于DS2432的FPGA安全认证系统实现[J].电子器件,2012,35(4):470~473”和文献“基于DS2432和FPGA的IFF加密方法[J].微计算机信息(嵌入式与SOC),2007,23(6-2):201~202”中描述了基于DS2432的FPGA系统加密认证方法,但是都只简单介绍了IFF认证过程和对DS2432的访问流程,没有提到FPGA对DS2432配置和操作的具体实现方式,也没有说明用于期望MAC计算的信息是如何存储的,故没有实际应用价值。
技术实现思路
本专利技术的目的是提供一种基于DS2432芯片的FPGA设备加密认证系统和方法,旨在为以FPGA作为核心处理器件的设备提供一种使用方便、安全可靠、低成本和低功耗的加密认证系统和方法。本专利技术的目的是通过以下技术方案实现的。本专利技术的一种基于DS2432芯片的FPGA设备加密认证系统和方法其硬件平台由FPGA芯片100、DS2432芯片101、FLASH芯片102和PC上位机103构成。其中FPGA芯片100为核心处理器件,除了实现设备本身算法逻辑功能之外,还实现了加密认证过程中的激励产生、访问控制、结果比对等功能;DS2432芯片101为MAXIM公司生产的实现低成本FPGA安全认证功能的加密芯片,与FPGA配合基于IFF技术通过质询-响应的方式实现了FPGA设备的加密认证;FLASH芯片102为与FPGA芯片100配套的非易失性存储器,其内部存放FPGA程序和加密信息文件;PC上位机103为X86或ARM架构的个人计算机,可运行Windows或Linux程序。其连接方式为:FPGA芯片100通过1-wire总线与DS2432芯片101相连,通过SPI总线与FLASH芯片102相连,通过以太网或串口与PC上位机103相连。本专利技术的一种基于DS2432芯片的FPGA设备加密认证系统和方法其功能模块包括初始化配置程序200、上位机加密配置软件201、加密认证模块202。初始化配置程序200为完整的FPGA程序,可独立运行于FPGA芯片100上,与PC上位机103上运行的上位机加密配置软件201配合完成对DS2432芯片101和FLASH芯片102的初始化。加密认证模块202与设备本身算法逻辑功能集成在一起成为设备的主FPGA程序,加密认证模块202在设备启动时从FLASH芯片102中读出加密信息文件,在整个运行过程中与DS2432芯片101交互完成认证操作。本专利技术的一种基于DS2432芯片的FPGA设备加密认证系统和方法,其中所述的初始化配置程序200由DS2432初始化模块1、加密信息解析模块2、FLASH控制器3构成,其中所述的加密认证模块202由加密信息解析模块2、FLASH控制器3和DS2432认证模块4构成。本专利技术的一种基于DS2432芯片的FPGA设备加密认证系统和方法,其中所述的DS2432初始化模块1和DS2432认证本文档来自技高网
...

【技术保护点】
1.一种基于DS2432芯片的FPGA设备加密认证系统和方法,其特征在于:硬件平台由FPGA芯片100、DS2432芯片101、FLASH芯片102和PC上位机103构成,其连接方式为:FPGA芯片100通过1‑wire总线与DS2432芯片101相连,通过SPI总线与FLASH芯片102相连,通过以太网或串口与PC上位机103相连;功能模块包括初始化配置程序200、上位机加密配置软件201、加密认证模块202,其中初始化配置程序200由DS2432初始化模块1、加密信息解析模块2、FLASH控制器3构成,加密认证模块202由加密信息解析模块2、FLASH控制器3和DS2432认证模块4构成;所述的DS2432初始化模块1由四个物理层模块:比特写模块1a、比特读模块1b、复位脉冲发送模块1c、总线接口模块1d,两个链路层模块:多字节写模块2a、多字节读模块2b,七个命令层模块:读光刻ROM模块3a、写缓冲区模块3b、读缓冲区模块3c、读存储器模块3d、复制缓冲区模块3e、密钥加载模块3f、读认证页模块3g,以及两个应用层模块:DS2432初始化主控状态机4a、MAC验证模块4b构成;所述的DS2432认证模块4由四个物理层模块:比特写模块1a、比特读模块1b、复位脉冲发送模块1c、总线接口模块1d;两个链路层模块:多字节写模块2a、多字节读模块2b;三个命令层模块:写缓冲区模块3b、读缓冲区模块3c、读认证页模块3g;以及两个应用层模块:DS2432认证主控状态机4c、MAC验证模块4b构成;所述的一种基于DS2432芯片的FPGA设备加密认证系统和方法,其特征在于:初始化配置流程包括如下步骤:A.通过JTAG接口把初始化配置程序200烧写进FPGA芯片100,通过以太网或串口连接设备到上位机,保证初始化配置程序200与上位机加密配置软件201正常的通信;B.初始化配置程序200通过DS2432初始化模块1读出DS2432芯片101的64位光刻ROM,通过以太网或串口上传至上位机加密配置软件201;C.上位机加密配置软件201首先通过状态转移随机算法产生64位随机数据作为DS2432密钥、产生1024位随机数据作为DS2432存储器数据;其次把产生的64位密钥、1024位存储器数据和读出的64位光刻ROM使用上述的认证信息加密保护方法处理,最终得到认证信息加密文件;D.上位机加密配置软件201通过以太网或串口把生成的认证信息加密文件写入FPGA,初始化配置程序200会并行的完成如下两个操作并产生两个对应的状态指示:1)通过FLASH控制器3把认证信息加密文件写入到FLASH芯片102的指定位置,写入后会读出比较,整个文件写入比较正确之后会产生FLASH配置成功标志;2)通过加密信息解析模块2对认证信息加密文件解密,得到的原始64位密钥、1024位存储器数据通过DS2432初始化模块1对DS2432芯片101做初始化,初始化完成之后DS2432初始化模块1会执行一次完整的认证过程,如果认证成功产生DS2432初始化成功标志;E.FLASH配置标志和DS2432初始化标志会上传至上位机加密配置软件201,如果其中任意一个操作不成功,上位机加密配置软件201会重新启动完整的初始化配置流程;认证流程包括如下步骤:A.设备上电之后加密认证模块202通过FLASH控制器3从FLASH芯片102的指定位置读出认证信息加密文件;B.读出的认证信息加密文件送入加密信息解析模块2解密,得到FLASH芯片102中存放的认证信息(包括光刻ROM、密钥、存储器数据)送入DS2432认证模块4;C.DS2432认证模块4和DS2432芯片101配合完成认证操作,其操作过程如下:1)DS2432认证模块4产生24位随机质询码通过1‑wire接口发送给DS2432芯片101;2)DS2432芯片101根据该质询码和其内部存储的64位密钥、所选存储器页的数据以及光刻ROM使用SHA‑1算法算出实际MAC,并将实际MAC回送给DS2432认证模块4;3)DS2432认证模块4使用FLASH芯片102中存放的认证信息算出期望MAC;4)比较期望MAC和实际MAC,如果两者相同则本次认证过程通过;D.在设备的整个运行过程中第三步的认证操作会持续进行,两次认证的时间间隔也是随机的,如果认证没有通过会产生相应的信号复位整个系统,并且只要有一次没有通过,会一直复位整个系统直到下一次重新上电,保证任何时候系统的合法性。...

【技术特征摘要】
1.一种基于DS2432芯片的FPGA设备加密认证系统和方法,其特征在于:硬件平台由FPGA芯片100、DS2432芯片101、FLASH芯片102和PC上位机103构成,其连接方式为:FPGA芯片100通过1-wire总线与DS2432芯片101相连,通过SPI总线与FLASH芯片102相连,通过以太网或串口与PC上位机103相连;功能模块包括初始化配置程序200、上位机加密配置软件201、加密认证模块202,其中初始化配置程序200由DS2432初始化模块1、加密信息解析模块2、FLASH控制器3构成,加密认证模块202由加密信息解析模块2、FLASH控制器3和DS2432认证模块4构成;所述的DS2432初始化模块1由四个物理层模块:比特写模块1a、比特读模块1b、复位脉冲发送模块1c、总线接口模块1d,两个链路层模块:多字节写模块2a、多字节读模块2b,七个命令层模块:读光刻ROM模块3a、写缓冲区模块3b、读缓冲区模块3c、读存储器模块3d、复制缓冲区模块3e、密钥加载模块3f、读认证页模块3g,以及两个应用层模块:DS2432初始化主控状态机4a、MAC验证模块4b构成;所述的DS2432认证模块4由四个物理层模块:比特写模块1a、比特读模块1b、复位脉冲发送模块1c、总线接口模块1d;两个链路层模块:多字节写模块2a、多字节读模块2b;三个命令层模块:写缓冲区模块3b、读缓冲区模块3c、读认证页模块3g;以及两个应用层模块:DS2432认证主控状态机4c、MAC验证模块4b构成;所述的一种基于DS2432芯片的FPGA设备加密认证系统和方法,其特征在于:初始化配置流程包括如下步骤:A.通过JTAG接口把初始化配置程序200烧写进FPGA芯片100,通过以太网或串口连接设备到上位机,保证初始化配置程序200与上位机加密配置软件201正常的通信;B.初始化配置程序200通过DS2432初始化模块1读出DS2432芯片101的64位光刻ROM,通过以太网或串口上传至上位机加密配置软件201;C.上位机加密配置软件201首先通过状态转移随机算法产生64位随机数据作为DS2432密钥、产生1024位随机数据作为DS2432存储器数据;其次把产生的64位密钥、1024位存储器数据和读出的64位光刻ROM使用上述的认证信息加密保护方法处理,最终得到认证信息加密文件;D.上位机加密配置软件201通过以太网或串口把生成的认证信息加密文件写入FPGA,初始化配置程序200会并行的完成如下两个操作并产生两个对应的状态指示:1)通过FLASH控制器3把认证信息加密文件写入到FLASH芯片102的指定位置,写入后会读出比...

【专利技术属性】
技术研发人员:王磊
申请(专利权)人:成都靖尧通信技术有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1