一种FPGA鉴权认证的配置电路、方法和电子设备与流程

文档序号:36235952发布日期:2023-12-01 16:56阅读:32来源:国知局
一种的制作方法

本发明属于集成电路设计和鉴权加密认证领域,尤其涉及一种fpga鉴权认证的配置电路、方法和电子设备。


背景技术:

1、现场可编辑逻辑门阵列(fpga,field programmable gate array)芯片独特的可编程特性具有更高的灵活性,并且包含丰富的ip资源。因此,在数据处理中心、医疗设备、ai加速、通信设备等多个领域都广泛使用fpga芯片进行开发。由于大部分应用场景对设备安全性的考量和需求进一步增加,fpga的安全性研究在近年逐渐称为业界关注的热点。

2、fpga芯片的工作流程主要分成两部分。第一部分属于软件层面,用户通过eda软件将设计好的数字电路经过综合、布局布线后映射成fpga中可编程资源,最后生成用于配置芯片的码流文件;第二部分属于硬件层面,用户通过下载设备将码流文件下载到fpga芯片中,芯片内部接收到码流数据后就开始配置fpga芯片,配置结束后芯片就开始工作运行。通过码流文件配置后使得fpga芯片能够正常工作是使用该芯片的唯一方法,因此,码流文件的安全性是fpga安全保障中最关键的地方。

3、目前fpga中对码流文件的保护方式一般有两种,一种是对码流文件进行加密,第二种是将设备私有化,对码流文件进行鉴权。对码流文件加密,顾名思义,就是用加密算法将码流文件处理成密文,在解密之前无法获知真正的码流内容。对码流文件鉴权,指的是对码流文件进行身份验证,比较该码流文件是否满足特定私有化后设备的认证。如果鉴权失败则fpga芯片不会进行工作,从而杜绝被攻击的可能。目前业内使用的鉴权加密方法主要分为两种,一种以赛灵思7系列为代表,在对配置码流文件解密的同时进行鉴权,但是存在鉴权的过程晚于解密的过程这个缺陷,导致有被攻击的漏洞,并且这个漏洞已被官方承认;另一种以赛灵思ultra scale系列为代表,先将配置码流文件进行缓存,并且进行鉴权,鉴权通过后再进行配置,但是存在配置时间过长的缺陷,而配置时间恰恰是大多数fpga设备的性能指标之一。


技术实现思路

1、本发明是为解决上述现有技术的全部或部分问题,提供了一种fpga鉴权认证的配置电路、方法和电子设备,以利用鉴权电路优先判决设备私有化和码流对应关系的方式,缩短了配置时间,提高了效率;通过先鉴权判决再解密的方式,防止设备或者配置码流被攻击的可能性;此外,设置多重判决,大大提高了攻击的难度,从而提高了鉴权电路的安全性;鉴权电路实现简单,不需要增加额外的算法,降低了程序的复杂性。

2、为达到上述目的,本发明的技术方案是这样实现的:

3、本发明实施例第一方面提供一种fpga鉴权认证的配置电路,包括:

4、码流解析模块,数据解密模块,寄存器模块,存储器模块,第一鉴权判决模块,鉴权计算模块,第二鉴权判决模块;

5、码流解析模块:用于获取第一码流数据,并通过解析所述第一码流数据得到第一控制信号;其中,所述第一控制信号至少包括鉴权信号或解密信号;数据控制模块:用于根据所述第一控制信号将所述第一码流数据发送到鉴权计算模块;数据解密模块:用于根据所述第一控制信号对所述第一码流数据进行解密处理,得到第二码流数据;寄存器模块:用于读取所述第一码流数据中的配置信息并判断所述配置信息的属性得到第二控制信号;存储器模块:用于读取第一数据;其中,所述第一数据是指包含设备私有化的信号;根据所述第一数据得到第三控制信号;第一鉴权判决模块:用于根据所述第一控制信号,所述第二控制信号,所述第三控制信号判断第二码流数据和fpga的匹配性,得到第一判决信号;鉴权计算模块:用于根据所述第一判决信号和第一码流数据得到第一鉴权数据;第二鉴权判决模块:用于判断所述第二码流数据和第一鉴权数据是否匹配,得到鉴权结果。通过优先判决设备的私有化和码流文件对应关系的方式,提高了效率,减少了不必要的时间损耗。

6、所述码流解析模块用于获取第一码流数据,并通过解析所述码流数据得到第一控制信号;其中,所述第一控制信号至少包括鉴权信号或解密信号,还包括:

7、所述第一码流数据至少包括标志位;

8、对所述标志位进行解析,得到标志信息;

9、对所述标志信息进行判断;

10、若所述标志信息包含鉴权信息,则生成所述鉴权信号;

11、若所述标志信息包含加密信息,则生成所述解密信号;

12、若所述标志信息不包含鉴权信息和加密信息,则直接发送第一码流数据到fpga;

13、根据所述鉴权信号和/或解密信号得到所述第一控制信号;

14、将所述第一控制信号发送至数据控制模块。

15、所述数据控制模块用于根据所述第一控制信号将所述第一码流数据发送到鉴权计算模块,还包括:

16、若所述第一控制信号只包含解密信号,则将所述第一控制信号发送到所述解密模块;

17、若所述第一控制信号只包含鉴权信号,则将所述第一控制信号和所述第一码流数据发送到所述第一鉴权判决模块;

18、若所述第一控制信号包含解密信号和鉴权信号,则将所述第一码流数据发送到所述解密模块和鉴权计算模块。

19、所述数据解密模块用于根据所述第一控制信号对所述第一码流数据进行解密处理,得到第二码流数据,还包括:

20、若所述第一控制信号包含所述解密信号和所述鉴权信号,则将所述第一码流数据进行解密处理,得到第二码流数据;

21、将所述第二码流数据发送到第二鉴权判决模块。

22、所述第一鉴权判决模块用于根据所述第一控制信号,所述第二控制信号,所述第三控制信号判断第二码流数据和fpga的匹配性,得到第一判决信号,还包括:

23、若所述第一控制信号、所述第二控制信号和所述第三控制信号同时相同或不相同,则所述第二码流数据和fpga匹配成功并生成匹配标识;

24、若所述第一控制信号、所述第二控制信号和所述第三控制信号中至少有一个信号不相同但又不全部不相同,则所述第二码流数据和fpga匹配失败并生成不匹配标识;

25、根据匹配结果,得到第一判决信号;其中,所述第一判决信号包括匹配标识或不匹配标识。

26、所述鉴权计算模块用于根据所述第一判决信号和第一码流数据得到第一鉴权数据,还包括:

27、若所述第一判决信号包括所述匹配标识,则对所述第一码流数据进行鉴权计算,得到第一鉴权数据;

28、若所述第一判决信号包括所述不匹配标识,则不对所述第一码流数据进行鉴权计算。通过这种方式对码流数据进行先判决后解密的方式,使得配置过程中无数据攻击漏洞的。

29、所述第二鉴权判决模块用于判断所述第二码流数据和第一鉴权数据是否匹配,得到鉴权结果,还包括:

30、若所述第二码流数据和第一鉴权数据一致,则正常配置fpga;

31、若所述第二码流数据和第一鉴权数据不一致,则无法配置fpga。

32、通过所述第一鉴权判决模块和所述第二鉴权判决模块的方式,采用设置多重鉴权判决的方式,使得电路具有多重防攻击手段的特点,并且电路实现简单,不需要复杂的算法。

33、本公开实施例第二方面提供一种鉴权认证的配置电方法,所述方法包括:

34、获取第一码流数据,并通过解析所述第一码流数据得到第一控制信号;其中,所述第一控制信号至少包括鉴权信号或解密信号;

35、根据所述第一控制信号将所述第一码流数据判断所述码流数据是否需要进行鉴权计算;

36、根据所述第一控制信号对所述第一码流数据进行解密处理,得到第二码流数据;

37、读取所述第一码流数据中的配置信息并判断所述配置信息的属性得到第二控制信号;

38、读取第一数据;其中,所述第一数据是指包含设备私有化的信号;根据所述第一数据得到第三控制信号;

39、根据所述第一控制信号,所述第二控制信号,所述第三控制信号判断第二码流数据和fpga的匹配性,得到第一判决信号;

40、根据所述第一判决信号和第一码流数据得到第一鉴权数据;

41、判断所述第二码流数据和第一鉴权数据是否匹配,得到鉴权结果。通过优先判决设备的私有化和码流文件对应关系的方式,提高了效率,减少了不必要的时间损耗。

42、获取第一码流数据,并通过解析所述码流数据得到第一控制信号;其中,所述第一控制信号至少包括鉴权信号或解密信号,还包括:

43、所述第一码流数据至少包括标志位;

44、对所述标志位进行解析,得到标志信息;

45、对所述标志信息进行判断;

46、若所述标志信息包含鉴权信息,则生成所述鉴权信号;

47、若所述标志信息包含加密信息,则生成所述解密信号;

48、若所述标志信息不包含鉴权信息和加密信息,则直接发送第一码流数据到fpga;

49、根据所述鉴权信号和/或解密信号得到所述第一控制信号。

50、所述第一控制信号将所述第一码流数据判断所述码流数据是否需要进行鉴权计算,还包括:

51、若所述第一控制信号只包含解密信号,则对所述第一控制信号进行解密处理;

52、若所述第一控制信号只包含鉴权信号,则将所述第一控制信号和所述第一码流数据进行鉴权判决处理;

53、若所述第一控制信号包含解密信号和鉴权信号,则将所述第一码流数据进行解密处理和鉴权判决处理。

54、所述第一控制信号对所述第一码流数据进行解密处理,得到第二码流数据,还包括:

55、若所述第一控制信号包含所述解密信号和所述鉴权信号,则将所述第一码流数据进行解密处理,得到第二码流数据;

56、对所述第二码流数据进行鉴权判决处理。

57、所述第一控制信号,所述第二控制信号,所述第三控制信号判断第二码流数据和fpga的匹配性,得到第一判决信号,还包括:

58、若所述第一控制信号、所述第二控制信号和所述第三控制信号同时相同或不相同,则所述第二码流数据和fpga匹配成功并生成匹配标识;

59、若所述第一控制信号、所述第二控制信号和所述第三控制信号中至少有一个信号不相同但又不全部不相同,则所述第二码流数据和fpga匹配失败并生成不匹配标识;

60、根据匹配结果,得到第一判决信号;其中,所述第一判决信号包括匹配标识或不匹配标识。

61、所述第一判决信号和第一码流数据得到第一鉴权数据,还包括:

62、若所述第一判决信号包括所述匹配标识,则对所述第一码流数据进行鉴权计算,得到第一鉴权数据;

63、若所述第一判决信号包括所述不匹配标识,则不对所述第一码流数据进行鉴权计算。

64、判断所述第二码流数据和第一鉴权数据是否匹配,得到鉴权结果,还包括:

65、若所述第二码流数据和第一鉴权数据一致,则正常配置fpga;

66、若所述第二码流数据和第一鉴权数据不一致,则无法配置fpga。

67、采用设置多重鉴权判决的方式,使得电路具有多重防攻击手段的特点,并且电路实现简单,不需要复杂的算法。

68、本公开实施例第三方面提供一种电子设备,包括:存储器;处理器,与所述存储器连接,用于通过执行存储在所述存储器上的计算机可执行指令,并能够实现前述任意第一方面或第二方面任意技术方案提供的fpga鉴权认证的配置方法。

69、本公开实施例第四方面提供一种计算机存储介质,包括:所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被执行后,能够实现前述任意第一方面或第二方面任意技术方案提供的fpga鉴权认证的配置方法。

70、与现有技术相比,本发明的主要有益效果:提供的电路无法在鉴权通过之前从外部获取内部解密后的配置数据,并且只有在鉴权通过后,fpga芯片才能够正常工作,否则会直接配置失败,具有优先判决设备私有化和码流文件对应关系的特点;通过先鉴权判决后解密的方式并且通过多重鉴权判决,使得配置过程中没有数据攻击漏洞的特点;本电路实现简单,没有复杂的算法,并且无需缓存配置数据,配置速度快,节省了不必要的时间损失。

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