CN111181917A - 一种fpga安全防护方法 - Google Patents

一种fpga安全防护方法 Download PDF

Info

Publication number
CN111181917A
CN111181917A CN201911139496.XA CN201911139496A CN111181917A CN 111181917 A CN111181917 A CN 111181917A CN 201911139496 A CN201911139496 A CN 201911139496A CN 111181917 A CN111181917 A CN 111181917A
Authority
CN
China
Prior art keywords
fpga
registration
authorization
authentication
information
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.)
Pending
Application number
CN201911139496.XA
Other languages
English (en)
Inventor
苏永海
李璞
丁锐
贺孟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 30 Research Institute
Original Assignee
CETC 30 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 30 Research Institute filed Critical CETC 30 Research Institute
Priority to CN201911139496.XA priority Critical patent/CN111181917A/zh
Publication of CN111181917A publication Critical patent/CN111181917A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种FPGA安全防护方法,包括:注册授权服务器连接CPU进行开机注册和授权,将开机注册和授权后生成的注册ID信息和授权时间信息发送至CPLD进行存储;CPLD利用存储的注册ID信息和授权时间信息进行开机认证;CPLD连接FPGA并通过随机数加密的方式实现加密认证。本发明的FPGA安全防护方法,通过注册授权服务器、CPU、CPLD和FPGA实现注册和定时授权,并通过开机ID认证和实时随机数加密认证,防止FPGA被恶意的拷贝和移植,并能够广泛的应用在各厂家、各种规格的FPGA中,该方法可以灵活设置授权时间,且有较强防破解能力。

Description

一种FPGA安全防护方法
技术领域
本发明属于信息安全技术领域,尤其涉及一种FPGA安全防护方法。
背景技术
目前,FPGA(Field Programmable Gate Array)现场可编程门阵列由于其高速数据处理、数字信号处理和并行处理等方面的优势,在通信、计算、汽车电子等领域得到广泛的应用。随着越来越多的系统采用FPGA实现核心设计,使得FPGA中逻辑设计的安全防护变得更加重要。
FPGA的安全防护方法主要有以下几种类型:
第一类:选用自带配置文件加密功能的FPGA,例如Xilinx公司的7系列FPGA,采用的是256位AES高级加密算法,上海安路的ELF2系列FPGA采用的是128位的AES高级加密算法。原理是:在生成FPGA的配置文件时通过加入密钥,将FPGA的配置文件加密,加密后的配置文件存储到FLASH时,第三方从FLASH拷贝的数据是加密数据,无法使用。在从FLASH加载FPGA配置文件时,配置文件在FPGA内部通过存储在FPGA内部的密钥进行解密并完成配置。这种方法使用简单,但不是所有FPGA都具备这种加密方法,不具有普遍适用性。
第二类:FPGA外接专用加密芯片。通过加密芯片对密钥、全球唯一识别码等数据进行哈希运算,生成消息验证码,在FPGA内进行同样的哈希运算,对两个计算的消息验证码进行比较,比较结果一致则FPGA正常工作,比较结果不一致则FPGA进入非正常工作状态。这种方法采用的是通用的算法,使用简单,但是这种方法专用加密芯片不能够灵活的设置授权时间,不适合一些需要灵活设置授权参数的场合使用。
发明内容
本发明的目的在于:针对目前FPGA的安全防护方法不具有普遍适用性,不能够灵活设置授权时间的技术问题,本发明提供一种FPGA的安全防护方法,该方法通过注册和授权服务器进行注册授权,CPLD和FPGA实现定时的随机数加密认证,保证用户在未注册授权或加密认证失败时不可使用FPGA逻辑,防止FPGA的被恶意拷贝和移植。
本发明解决其技术问题所采用的技术方案是:
一种FPGA安全防护方法,包括:
注册授权服务器连接CPU进行开机注册和授权,将开机注册和授权后生成的注册ID信息和授权时间信息发送至CPLD进行存储;
CPLD利用存储的注册ID信息和授权时间信息进行开机认证;
CPLD连接FPGA并通过随机数加密的方式实现加密认证。
进一步,所述CPU包括相连接的时间模块和注册接口;所述时间模块用于提供系统唯一的时间信息;所述注册接口用于连接注册授权服务器和CPLD。
进一步,所述注册授权服务器连接CPU进行开机注册和授权的方法为:注册授权服务器连接注册接口,在提取FPGA的ID信息后进行开机注册和授权时间设置,生成注册ID信息和授权时间信息。
进一步,所述CPLD包括相连接的注册管理模块和Flash;所述注册管理模块用于开机认证;所述Flash用于存储注册ID信息和授权时间信息。
进一步,所述CPLD利用存储的注册ID信息和授权时间信息进行开机认证包括开机授权时间认证和开机ID信息认证两个阶段。
进一步,所述开机授权时间认证包括:注册管理模块从Flash中获取授权时间信息,从时间模块获取实时的时间信息,通过对比计算所述授权时间信息和获取的实时的时间信息来确定授权时间是否有效,若授权时间无效则开机认证失败,授权时间有效则进行开机ID信息认证。
进一步,所述开机ID信息认证包括:注册管理模块从Flash中获取注册ID信息,从FPGA的ID管理模块获取当前FPGA的ID信息,对比从Flash中获取注册ID信息与从FPGA获取的当前FPGA的ID信息是否一致,若不一致则开机认证失败,退出认证;若一致则开机认证成功,进行加密认证。
进一步,所述CPLD包括加密模块;所述FPGA包括系统控制模块、解密模块和随机数生成模块。
进一步,所述CPLD连接FPGA并通过随机数加密的方式实现加密认证的方法包括:
FPGA的随机数生成模块定时产生随机序列,将随机序列发送给CPLD的加密模块;
若开机认证成功,加密模块对接收到的随机序列进行加密,然后将加密后的随机序列返回到FPGA的解密模块;若开机认证失败,则加密模块直接将原随机序列返回到FPGA的解密模块,并通过系统控制模块将FPGA的逻辑进行全局复位、清空FPGA逻辑参数;
FPGA的解密模块对加密后的随机序列进行解密,并将解密后的随机序列与原随机序列进行对比,若对比一致则等待继续进行下一次对比,若对比不一致则通过系统控制模块将FPGA的逻辑进行全局复位、清空FPGA逻辑参数。
进一步,所述注册授权服务器通过RS232串口与CPU相连,所述的FPGA通过I2C总线和CPLD相连,所述的CPU通过I2C总线与CPLD相连。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明提供一种FPGA安全防护方法,该方法通过注册授权服务器、CPU、CPLD和FPGA实现注册和定时授权,并通过ID认证和实时随机数加密认证,防止FPGA被恶意的拷贝和移植,并能够广泛的应用在各厂家、各种规格的FPGA中,该方法可以灵活的设置授权时间,且有较强防破解能力。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是本发明的FPGA安全防护方法的硬件模块的结构示意图。
图2是本发明的FPGA安全防护方法的注册授权的流程框图。
图3是本发明的FPGA安全防护方法的开机认证的流程框图。
图4是本发明的FPGA安全防护方法的加密认证的流程框图。
具体实施方式
本发明的一种FPGA安全防护方法基于的硬件模块包括:依次连接的注册授权服务器、CPU、CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)和FPGA(FieldProgrammable Gate Array);在本实施例中,所述注册授权服务器通过RS232串口与CPU相连,所述的FPGA通过I2C总线和CPLD相连,所述的CPU通过I2C总线与CPLD相连。
进一步将注册授权服务器、CPU、CPLD和FPGA进行更详细地模块划分,以更详细地对本发明进行描述,如图1所示,所述CPU包括相连接的时间模块和注册接口;所述CPLD包括相连接的加密模块、注册管理模块和Flash;所述FPGA包括ID管理模块,以及依次连接的系统控制模块、随机数生成模块和解密模块;其中,所述注册接口提供RS232串口和I2C总线接口,分别通过RS232串口连接注册授权服务器。通过I2C总线接口连接注册管理模块;同时,注册管理模块通过I2C总线连接ID管理模块,加密模块通过I2C总线连接解密模块。
在本实施例中,所述CPLD可以选用Lattice公司的LFXP2-5E-5FTN256;另外,为了保证安全性,所述注册授权服务器采用专人管理和注册授权严格管控。所述注册授权服务器用于提取FPGA的ID(Identity document)信息,并控制实现注册和授权过程。所述CPU的时间模块用于提供系统唯一的时间信息;注册接口用于提供注册和授权的串口。所述CPLD的注册管理模块完成授权注册控制和授权时间控制;所述Flash用于注册授权参数(注册ID信息和授权时间信息)的存储;所述加密模块用于对随机数进行私有算法加密。所述FPGA的ID管理模块用于提取FPGA器件的全球唯一识别码生成ID信息;所述解密模块用于对加密的随机数的私有算法解密;所述随机数生成模块用于按时产生加密验证所需的随机数;所述系统控制模块用于解密后的随机数对比,并按照对比结果对FPGA进行控制。
基于上述的硬件模块,本发明的一种FPGA安全防护方法,包括注册授权、开机认证和加密认证3个部分:
(1)注册授权:注册授权服务器连接CPU进行开机注册和授权,将开机注册和授权后生成的注册ID信息和授权时间信息发送至CPLD进行存储;
其中,CPU的所述时间模块用于提供系统唯一的时间信息;所述注册接口用于连接注册授权服务器和CPLD,即所述注册授权服务器经注册接口、CPLD的注册管理模块连接至FPGA的ID管理模块;由此,所述注册授权服务器连接CPU进行开机注册和授权的方法为:注册授权服务器连接注册接口,在提取FPGA的ID信息(从FPGA的ID管理模块中提取)后进行开机注册和授权时间设置,生成注册ID信息和授权时间信息。
另一方面,所述注册授权服务器经注册接口、CPLD的注册管理模块连接至CPLD的Flash;所述Flash用于存储注册ID信息和授权时间信息,可以供开机认证时提取。
(2)开机认证:CPLD利用存储的注册ID信息和授权时间信息进行开机认证;
其中,所述CPLD利用存储的注册ID信息和授权时间信息进行开机认证包括开机授权时间认证和开机ID信息认证两个阶段;CPLD通过所述注册管理模块进行开机认证:
a、开机授权时间认证
注册管理模块从Flash中获取授权时间信息,从时间模块获取实时的时间信息,通过授权时间信息中的注册授权时间和授权期限,计算出授权结束时间,与实时时间信息对比,授权结束时间晚于实时时间则授权时间有效,反之则无效。若授权时间无效则开机认证失败,授权时间有效则进行开机ID信息认证。
b、开机ID信息认证
注册管理模块从Flash中获取注册ID信息,从FPGA的ID管理模块获取当前FPGA的ID信息,对比从Flash中获取注册ID信息与从FPGA获取的当前FPGA的ID信息是否一致,若不一致则开机认证失败,退出认证;若一致则开机认证成功,进行加密认证。
(3)加密认证:CPLD连接FPGA并通过随机数加密的方式实现加密认证
FPGA的随机数生成模块定时产生随机序列(随机数),将随机序列发送给CPLD的加密模块;其中,FPGA的随机数生成模块定时产生随机序列的定时时间一般设置为30s;
若开机认证成功,加密模块对接收到的随机序列进行加密,然后将加密后的随机序列返回到FPGA的解密模块;若开机认证失败,则加密模块直接将原随机序列返回到FPGA的解密模块,并通过系统控制模块将FPGA的逻辑进行全局复位、清空FPGA逻辑参数;
FPGA的解密模块对加密后的随机序列进行解密,并将解密后的随机序列与原随机序列进行对比,若对比一致则等待继续进行下一次对比,若对比不一致则通过系统控制模块将FPGA的逻辑进行全局复位、清空FPGA逻辑参数。
由上述可知,本发明具有的有益效果如下:
本发明提供一种FPGA安全防护方法,该方法通过注册授权服务器、CPU、CPLD和FPGA实现注册和定时授权,并通过ID认证和实时随机数加密认证,防止FPGA被恶意的拷贝和移植,并能够广泛的应用在各厂家、各种规格的FPGA中,该方法可以灵活的设置授权时间,且有较强防破解能力。

Claims (10)

1.一种FPGA安全防护方法,其特征在于,包括:
注册授权服务器连接CPU进行开机注册和授权,将开机注册和授权后生成的注册ID信息和授权时间信息发送至CPLD进行存储;
CPLD利用存储的注册ID信息和授权时间信息进行开机认证;
CPLD连接FPGA并通过随机数加密的方式实现加密认证。
2.根据权利要求1所述的FPGA安全防护方法,其特征在于,所述CPU包括相连接的时间模块和注册接口;所述时间模块用于提供系统唯一的时间信息;所述注册接口用于连接注册授权服务器和CPLD。
3.根据权利要求2所述的FPGA安全防护方法,其特征在于,所述注册授权服务器连接CPU进行开机注册和授权的方法为:注册授权服务器连接注册接口,在提取FPGA的ID信息后进行开机注册和授权时间设置,生成注册ID信息和授权时间信息。
4.根据权利要求2所述的FPGA安全防护方法,其特征在于,所述CPLD包括相连接的注册管理模块和Flash;所述注册管理模块用于开机认证;所述Flash用于存储注册ID信息和授权时间信息。
5.根据权利要求4所述的FPGA安全防护方法,其特征在于,所述CPLD利用存储的注册ID信息和授权时间信息进行开机认证包括开机授权时间认证和开机ID信息认证两个阶段。
6.根据权利要求5所述的FPGA安全防护方法,其特征在于,所述开机授权时间认证包括:注册管理模块从Flash中获取授权时间信息,从时间模块获取实时的时间信息,通过对比计算所述授权时间信息和获取的实时的时间信息来确定授权时间是否有效,若授权时间无效则开机认证失败,授权时间有效则进行开机ID信息认证。
7.根据权利要求5所述的FPGA安全防护方法,其特征在于,所述开机ID信息认证包括:注册管理模块从Flash中获取注册ID信息,从FPGA的ID管理模块获取当前FPGA的ID信息,对比从Flash中获取注册ID信息与从FPGA获取的当前FPGA的ID信息是否一致,若不一致则开机认证失败,退出认证;若一致则开机认证成功,进行加密认证。
8.根据权利要求5所述的FPGA安全防护方法,其特征在于,所述CPLD包括加密模块;所述FPGA包括系统控制模块、解密模块和随机数生成模块。
9.根据权利要求8所述的FPGA安全防护方法,其特征在于,所述CPLD连接FPGA并通过随机数加密的方式实现加密认证的方法包括:
FPGA的随机数生成模块定时产生随机序列,将随机序列发送给CPLD的加密模块;
若开机认证成功,加密模块对接收到的随机序列进行加密,然后将加密后的随机序列返回到FPGA的解密模块;若开机认证失败,则加密模块直接将原随机序列返回到FPGA的解密模块,并通过系统控制模块将FPGA的逻辑进行全局复位、清空FPGA逻辑参数;
FPGA的解密模块对加密后的随机序列进行解密,并将解密后的随机序列与原随机序列进行对比,若对比一致则等待继续进行下一次对比,若对比不一致则通过系统控制模块将FPGA的逻辑进行全局复位、清空FPGA逻辑参数。
10.根据权利要求1-9任一项所述的FPGA安全防护方法,其特征在于,所述注册授权服务器通过RS232串口与CPU相连,所述的FPGA通过I2C总线和CPLD相连,所述的CPU通过I2C总线与CPLD相连。
CN201911139496.XA 2019-11-20 2019-11-20 一种fpga安全防护方法 Pending CN111181917A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911139496.XA CN111181917A (zh) 2019-11-20 2019-11-20 一种fpga安全防护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911139496.XA CN111181917A (zh) 2019-11-20 2019-11-20 一种fpga安全防护方法

Publications (1)

Publication Number Publication Date
CN111181917A true CN111181917A (zh) 2020-05-19

Family

ID=70621540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911139496.XA Pending CN111181917A (zh) 2019-11-20 2019-11-20 一种fpga安全防护方法

Country Status (1)

Country Link
CN (1) CN111181917A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112784259A (zh) * 2021-01-22 2021-05-11 苏州浪潮智能科技有限公司 一种通过cpld扩充服务器的安全机制认证方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140013396A1 (en) * 2012-07-09 2014-01-09 Ping Identity Corporation Methods and apparatus for delegated authentication token retrieval
CN104298936A (zh) * 2014-10-31 2015-01-21 成都朗锐芯科技发展有限公司 一种基于cpld芯片的fpga加密及参数配置系统
CN104346584A (zh) * 2014-10-31 2015-02-11 成都朗锐芯科技发展有限公司 一种fpga系统加密及参数配置方法
CN109902452A (zh) * 2018-11-01 2019-06-18 北京旷视科技有限公司 Fpga授权验证方法、装置及处理设备
CN110209399A (zh) * 2018-09-29 2019-09-06 腾讯科技(深圳)有限公司 Fpga服务系统、数据处理方法及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140013396A1 (en) * 2012-07-09 2014-01-09 Ping Identity Corporation Methods and apparatus for delegated authentication token retrieval
CN104298936A (zh) * 2014-10-31 2015-01-21 成都朗锐芯科技发展有限公司 一种基于cpld芯片的fpga加密及参数配置系统
CN104346584A (zh) * 2014-10-31 2015-02-11 成都朗锐芯科技发展有限公司 一种fpga系统加密及参数配置方法
CN110209399A (zh) * 2018-09-29 2019-09-06 腾讯科技(深圳)有限公司 Fpga服务系统、数据处理方法及存储介质
CN109902452A (zh) * 2018-11-01 2019-06-18 北京旷视科技有限公司 Fpga授权验证方法、装置及处理设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王沁等: "《FPGA设计安全性综述》", 《小型微型计算机系统》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112784259A (zh) * 2021-01-22 2021-05-11 苏州浪潮智能科技有限公司 一种通过cpld扩充服务器的安全机制认证方法

Similar Documents

Publication Publication Date Title
US10482291B2 (en) Secure field-programmable gate array (FPGA) architecture
CN102725737B (zh) 可验证防泄漏的加密和解密
US10305870B2 (en) Cryptography and key management device verification
US8929544B2 (en) Scalable and secure key management for cryptographic data processing
US10680816B2 (en) Method and system for improving the data security during a communication process
Wang et al. NOTSA: Novel OBU with three-level security architecture for internet of vehicles
TWI517653B (zh) 電子裝置及密碼材料供應之方法
US8566952B1 (en) System and method for encrypting data and providing controlled access to encrypted data with limited additional access
CN110298186B (zh) 一种基于动态可重构密码芯片的无密钥数据加解密方法
US9485091B2 (en) Dual-party session key derivation
CN111970114B (zh) 文件加密方法、系统、服务器和存储介质
CN104660590A (zh) 一种文件加密安全云存储方案
US9571273B2 (en) Method and system for the accelerated decryption of cryptographically protected user data units
CN114091123A (zh) 安全集成电路芯片及其保护方法
KR102645542B1 (ko) 차량 내부 네트워크 장치 및 방법
CN102255727A (zh) 改进的基于用户自定义算法环境的防攻击智能卡认证方法
CN109194467A (zh) 一种加密数据的安全传输方法和系统
CN111181917A (zh) 一种fpga安全防护方法
CN111291398B (zh) 基于区块链的认证方法、装置、计算机设备及存储介质
CN116709312A (zh) 一种安全防护方法、装置及电子设备
US11861597B1 (en) Database encryption wallet
CN110740036A (zh) 基于云计算的防攻击数据保密方法
CN110298941A (zh) 一种智能门锁一次性临时密码生成方法
CN113672973A (zh) 基于可信执行环境的risc-v架构的嵌入式设备的数据库系统
CN112968774A (zh) 一种组态存档加密及解密方法、装置存储介质及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200519

RJ01 Rejection of invention patent application after publication