本发明专利技术公开了一种基于FPGA实现多算法可重配置的密码卡设计方法,包括:根据FPGA内部各模块功能分别划分为静态逻辑控制区域和动态逻辑控制区域;通过编程工具在所述动态逻辑控制区域添加多种密码算法;将所述静态逻辑控制区域编译到单个静态配置文件中,将所述密码卡所需的多种密码算法编译成相对应的多个动态配置文件中。为保护密码卡本身的安全性,可在出厂时将密码卡所支持的密码算法设置为固定的模拟算法或者根据客户要求设置固定算法,在真正使用密码卡进行加解密运算时,可根据不同的需求与应用场景,将事先生产的不同密码算法对应的动态配置文件写入密码卡,达到保护密码算法的目的,增加密码卡加解密功能的保障性。性。性。
【技术实现步骤摘要】
一种基于FPGA实现多算法可重配置的密码卡设计方法
[0001]本专利技术涉及信息安全
,涉及密码卡的算法保护与在线更新,更具体的说是涉及一种基于FPGA实现多算法可重配置的密码卡设计方法。
技术介绍
[0002]目前,市面上存在很多版本类型的密码卡,基本上绝大多数密码卡在出厂时就已经将密码卡本身所支持的密码算法类型固定,但是由于密码算法种类较多,且占用资源较大,在有限的硬件资源上很难支持所有的密码算法,这样就导致市面上的密码卡根据密码算法的不同而区分出多种版本类型。
[0003]另外由于密码卡所支持的密码算法已经固定,在一些比较重要的场合中,如果意外出现密码算法泄露的情况时,密码卡已经不能为保密数据提供安全保护,此时需要重启机器并更换其它版本类型的密码卡,才能继续保护数据安全,这样操作相当繁琐且危险,在这种背景下目前市面上的密码卡都存在着一定的安全缺陷,对于密码卡的灵活性与适应性重视程度较低。
技术实现思路
[0004]有鉴于此,本专利技术提供了一种基于FPGA实现多算法可重配置的密码卡设计方法,旨在解决因密码算法种类较多而导致密码卡区分出过多版本类型的问题,同时也可以在密码算法意外泄露时重新配置密码算法,为密码卡密码算法提供在线保护。
[0005]为了实现上述目的,本专利技术采用如下技术方案:
[0006]本专利技术提供一种基于FPGA实现多算法可重配置的密码卡设计方法,包括以下步骤:
[0007]S1、根据FPGA内部各模块功能分别划分为静态逻辑控制区域和动态逻辑控制区域;
[0008]S2、通过编程工具在所述动态逻辑控制区域添加多种密码算法;
[0009]S3、将所述静态逻辑控制区域编译到单个静态配置文件中,将所述密码卡所需的多种密码算法编译成相对应的多个动态配置文件中。
[0010]在一个实施例中,所述静态逻辑控制区域包括:
[0011]数据通信模块、算法控制模块、协议解析模块以及算法在线更新控制模块。
[0012]在一个实施例中,所述动态逻辑控制区域包括:密码卡自身支持的多种密码算法逻辑。
[0013]在一个实施例中,还包括:
[0014]S4、在出厂时将所述静态逻辑控制区域对应的静态配置文件固化到所述密码卡中。
[0015]在一个实施例中,还包括:
[0016]S5、当所述密码卡正常工作时,判断所述密码卡中所支持的密码算法是否支持当
前数据加解密运算;若不支持,则向所述密码卡发送算法重配置指令,选择对应密码算法的动态配置文件写入密码卡,利用所述算法在线更新控制模块完成对密码算法的局部动态重配置。
[0017]经由上述的技术方案可知,与现有技术相比,本专利技术公开提供了一种基于FPGA实现多算法可重配置的密码卡设计方法,为保护密码卡本身的安全性,可在出厂时将密码卡所支持的密码算法设置为固定的模拟算法或者根据客户要求设置固定算法,在真正使用密码卡进行加解密运算时,可根据不同的需求与应用场景,将事先生产的不同密码算法对应的动态配置文件写入密码卡,达到保护密码算法的目的,增加密码卡加解密功能的保障性。
附图说明
[0018]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0019]图1为本专利技术所使用的外部硬件结构示意图。
[0020]图2为本专利技术的动态重配置功能组成示意图。
[0021]图3为本专利技术的方法应用过程可重配的流程示意图。
具体实施方式
[0022]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0023]本专利技术实施例公开了一种基于FPGA实现多算法可重配置的密码卡设计方法,如图1所示,为该密码卡正常工作需要的整体硬件结构示意图,展示了该密码卡应用的场景和硬件环境,该密码卡主要外界数据通信接口为PCIe接口,板卡硬件组成主要包括:FPGA模块、SOC主控模块、存储模块以及电源管理模块。
[0024]板卡硬件各模块功能如下所述:
[0025](1)FPGA模块:此模块主要功能为密码算法的实现,并保障板卡通过PCIe接口与主机设备实现高速数据交互;
[0026](2)SOC模块:此模块主要功能为在数据加解密过程中的管理功能,如密钥管理、算法调度等;
[0027](3)存储模块:此模块主要功能为板卡FPGA与SOC的固件存储;
[0028](4)电源管理模块:此模块主要功能为板卡各个模块提供电源,以保障各个模块的正常工作。
[0029]本专利技术公开的方法为算法可重配的密码卡设计方法,该方法主要是由图1中的FPGA模块来具体实现,具体包括:
[0030]S1、根据FPGA内部各模块功能分别划分为静态逻辑控制区域和动态逻辑控制区域;
[0031]S2、通过编程工具在所述动态逻辑控制区域添加多种密码算法;
[0032]S3、将所述静态逻辑控制区域编译到单个静态配置文件中,将所述密码卡所需的多种密码算法编译成相对应的多个动态配置文件中。
[0033]S4、在出厂时将所述静态逻辑控制区域对应的静态配置文件固化到所述密码卡中。
[0034]S5、当所述密码卡正常工作时,判断所述密码卡中所支持的密码算法是否支持当前数据加解密运算;若不支持,则向所述密码卡发送算法重配置指令,选择对应密码算法的动态配置文件写入密码卡,利用所述算法在线更新控制模块完成对密码算法的局部动态重配置。
[0035]其中,FPGA模块内部可根据功能分别划分为静态逻辑控制区域与动态逻辑控制区域,具体划分如下说明:
[0036]1.静态逻辑控制区域:此模块主要功能包括数据通信模块、算法控制模块、协议解析模块以及算法在线更新控制模块;
[0037]静态逻辑控制区域中各模块功能如下所述:
[0038](1)数据通信模块:此模块主要功能为实现FPGA模块与外部模块的数据交互,并且与协议解析模块交互运算数据;
[0039](2)算法控制模块:在进行数据算法加解密时,此模块主要与算法进行数据交互,实现对算法的控制,并处理后的数据返回;
[0040](3)协议解析模块:在进行数据处理时,此模块会根据事先制定好的通信协议进行帧头解析,获取此次数据处理需要进行的具体信息;
[0041](4)算法在线更新模块:当FPGA进行动态逻辑配置时,此模块将接收到的动态配置文件传入动态逻辑控制区域,对动态逻辑控制区域内的算法进行更新。
[0042]2.动态逻辑控制区本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于FPGA实现多算法可重配置的密码卡设计方法,其特征在于,包括以下步骤:S1、根据FPGA内部各模块功能分别划分为静态逻辑控制区域和动态逻辑控制区域;S2、通过编程工具在所述动态逻辑控制区域添加多种密码算法;S3、将所述静态逻辑控制区域编译到单个静态配置文件中,将所述密码卡所需的多种密码算法编译成相对应的多个动态配置文件中。2.根据权利要求1所述的一种基于FPGA实现多算法可重配置的密码卡设计方法,其特征在于,所述静态逻辑控制区域包括:数据通信模块、算法控制模块、协议解析模块以及算法在线更新控制模块。3.根据权利要求1所述的一种基于FPGA实现多算法可重配置的密码卡设计方法...
【专利技术属性】
技术研发人员:朱彤,李振,刘守昌,
申请(专利权)人:三未信安科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。