CN104035890A - 基于静态随机存储器的可编程门阵列芯片加密方法及*** - Google Patents
基于静态随机存储器的可编程门阵列芯片加密方法及*** Download PDFInfo
- Publication number
- CN104035890A CN104035890A CN201410258908.2A CN201410258908A CN104035890A CN 104035890 A CN104035890 A CN 104035890A CN 201410258908 A CN201410258908 A CN 201410258908A CN 104035890 A CN104035890 A CN 104035890A
- Authority
- CN
- China
- Prior art keywords
- circuit
- authorization
- business function
- function circuit
- microprocessor
- 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.)
- Granted
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于静态随机存储器的可编程门阵列芯片加密方法及***,在原有加密方式的基础上,对配置的业务功能电路设置对应的授权电路,在需要具体的业务功能电路进行工作时,根据该业务功能电路的功能,由其对应的授权电路向协处理器发出服务请求,协处理器生成密钥种子,微处理器和授权电路根据密钥种子完成临时加密数据通道连接,授权电路授权其对应的业务功能电路工作,并以微处理器要求的数据格式、长度、加密方式将业务功能电路的处理结果发送至微处理器,由此实现了在业务处理过程中的动态加密保护,增加了***的可靠性和被破解的难度。
Description
技术领域
本发明涉及基于静态随机存储器(SRAM)的可编程门阵列(FPGA)设计领域,特别涉及一种基于静态随机存储器的可编程门阵列芯片加密方法及***。
背景技术
现场可编程门阵列(Field-Programmable Gate Array,FPGA)以其自身速度快、密度高、价格低、和灵活的在线可升级优势正广泛被使用。将FPGA设计程序送入FPGA芯片的过程或操作一般称为对FPGA芯片的配置,经过配置的FPGA,即具有用户所需的功能。FPGA芯片在正常工作状态下,其配置数据存储在FPGA的编程元件SRAM(静态随机存储器)中,由于SRAM的易失性,掉电以后FPGA芯片中的配置信息将丢失,所以每次***上电时,均需要对FPGA芯片进行重配置,这就使得可以通过监视FPGA芯片的配置数据流,进行克隆设计。
通常采用的克隆手段是利用一定的电路对配置FPGA的数据引脚进行采样,利用记录下来的配置数据可以对另一块FPGA芯片进行配置,这就实现了对FPGA内部配置电路的克隆。
为了应对上述的克隆设计,现有技术中常采用以下两种方式:
一、内置加密芯片方式:在FPGA芯片内部设置解密模块,具有内部解密模块的FPGA芯片在上电时,接收加密的配置数据,由解密模块对加密的配置数据进行解密后,对FPGA芯片中的电路进行业务功能配置;在利用前述克隆技术时,虽然通过一定电路对配置数据流采样后,可以得到加密的配置数据流,但利用加密的配置数据流不能完成对其他FPGA芯片进行业务功能配置,从而对FPGA芯片起到了良好的保护作用。但是采用此种方式简单、实用,但加密成本高,使得大部分FPGA,特别是中、低档FPGA都不具备此类加密功能。
二、外部加密芯片方式:在FPGA芯片外部设置加密芯片,如图1所示,首先,上电后,FPGA芯片接收配置数据,并利用配置数据对电路进行配置形成业务功能电路,并使业务功能电路处于等待状态,并不工作;FPGA内部与外设加密芯片中均设置有密钥模块,且置入相同的加密算法,FPGA芯片中的随机数产生模块在FPGA芯片接收到配置数据流后生成随机数,并将随机数发送至加密芯片中的接收模块,FPGA芯片中的第一序列加密器根据密钥模块提供的密钥和随机数进行运算,生成第一校验码发送至FPGA芯片的比较器,同时加密芯片中与第一序列加密器相同的第二序列加密器根据加密芯片中的密钥模块提供的密钥和接收到的随机数进行运算,生成第二校验码,并通过加密芯片中的输出电路发送至FPGA芯片的比较器,由比较器比较第一、第二校验码,若二者一致,则启用FPGA芯片中被配置的电路,若不一致则不启用FPGA芯片中被配置的电路。采用此种方式,即便利用现有的克隆技术获得了配置数据,由于不能收到启动信号,克隆得到的FPGA芯片配置电路不能正常工作,如此使FPGA芯片得到保护。
虽然上述两种方式均能在一定程度上起到对FPGA芯片的保护作用,但是上述两种方式中,密钥只工作一次,容易被破解,因此还需进一步提高FPGA芯片的保护效果。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于静态随机存储器的可编程门阵列芯片加密方法及***,以提高FPGA芯片的加密可靠性。
为实现上述目的,本发明提供了一种基于静态随机存储器的可编程门阵列芯片加密方法,包括:
初始化配置步骤:
外置存储器向FPGA芯片发送配置数据,所述配置数据包括用于配置业务功能电路的第一配置信息和用于配置与业务功能电路对应的授权电路的第二配置信息;
所述FPGA芯片根据配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路处于等待状态,将所述授权电路置于工作状态;
业务处理步骤:
当需要业务功能电路进行工作时,与该业务功能电路对应的授权电路向协处理器发起服务请求;
所述协处理器根据所述服务请求生成密钥种子,并将密钥种子发送至所述微处理器和授权电路,将服务请求发送至所述微处理器;
所述微处理器根据所述服务请求生成授权信息,并利用密钥种子加密所述授权信息得到授权信息密文,将所述授权信息密文发送至所述授权电路;
所述授权电路利用密钥种子解密所述授权信息密文得到所述授权信息的明文后,授权其对应的业务功能电路进入工作状态。
进一步,所述第一配置信息包括其配置的业务功能电路的功能等级信息,所述第二配置信息包括不同级别的业务功能电路对应不同的授权电路,相同级别的业务功能电路对应相同的授权电路的对应信息。
进一步,业务处理步骤中,所述服务请求包括授权电路对应的业务功能电路的功能等级信息;
所述协处理器根据所述服务请求中的功能等级信息生成对应的唯一密钥种子。
进一步,所述微处理器根据所述服务信息生成授权信息,并利用密钥种子加密所述授权信息得到授权信息密文,将所述授权信息密文发送至所述授权电路包括:
微处理器验证密钥种子与上次接收的密钥种子是否重复,若重复,则不处理此次服务请求,若不重复,则根据服务信息生成授权信息,利用密钥种子对所述授权信息进行加密,将所述授权信息密文发送至所述授权电路;所述授权信息包括授权电路提供的处理结果的数据格式、长度、加密方式。
进一步,所述授权电路利用密钥种子解密所述授权信息密文得到所述授权信息的明文后,授权其对应的业务功能电路进入工作状态包括:
所述授权电路利用密钥种子解密所述授权信息密文得到所述授权信息的明文后,授权其对应的业务功能电路进入工作状态;
所述业务功能电路开始工作,并将业务功能电路的处理结果按照微处理器要求的数据格式、长度、加密方式发送至微处理器。
进一步,所述授权电路将处理结果按照所述微处理器要求的数据格式、长度、加密方式发送至微处理器后,发送业务完成信息至所述微处理器,所述微处理器收到业务完成信息后,清空缓存数据。
进一步,所述FPGA芯片根据配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路处于等待状态,将所述授权电路置于工作状态包括:
所述FPGA芯片根据配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路和授权电路处于等待状态;
所述FPGA芯片生成随机数,根据内置的第一密钥和所述随机数生成第一校验码,并将随机数发送至外设加密芯片;所述外设加密芯片接收所述随机数,根据内置的第二密钥和所述随机数生成第二校验码,并将第二校验码发送至所述FPGA芯片;
所述FPGA芯片比较第一校验码和第二校验码,当二者一致时,将所述授权电路置于工作状态。
进一步,所述FPGA芯片根据配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路处于等待状态,将所述授权电路置于工作状态包括:
所述配置数据为加密配置数据,所述FPGA芯片解密所述加密配置数据,并对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路处于等待状态,将所述授权电路置于工作状态。
本发明还提供了一种基于静态随机存储器的可编程门阵列芯片加密***,包括外置存储器、FPGA芯片、协处理器和微处理器;
所述外置存储器用于向FPGA芯片发送配置数据,所述配置数据包括用于配置业务功能电路的第一配置信息和用于配置与功能电路对应的授权电路的第二配置信息;
所述FPGA芯片包括配置模块,所述配置模块用于根据所述配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路处于等待状态,将所述授权电路置于工作状态;
当需要业务功能电路进行工作时,与该业务功能电路对应的授权电路用于向所述协处理器发起服务请求,以及接收密钥种子和授权信息密文,并在利用密钥种子解密授权信息获得授权信息明文后,授权其对应的业务功能电路进入工作状态;
所述协处理器用于根据服务请求生成密钥种子,并将密钥种子发送至微处理器和所述授权电路,将服务请求发送至所述微处理器;
所述微处理器用于根据服务请求生成授权信息,并利用密钥种子加密所述授权信息得到授权信息密文,将授权信息密文发送至授权电路。
进一步,所述第一配置信息包括其配置的业务功能电路的功能等级信息,所述第二配置信息包括不同级别的业务功能电路对应不同的授权电路,相同级别的业务功能电路对应相同的授权电路的对应信息。
进一步,所述服务请求包括授权电路对应的业务功能电路的功能等级信息;
所述协处理器用于根据所述服务请求中的功能等级信息生成对应的唯一密钥种子。
进一步,所述微处理器用于验证密钥种子与上次接收的密钥种子是否重复,若重复,则根据服务信息生成授权信息,利用密钥种子对所述授权信息进行加密,将所述授权信息密文发送至所述授权电路;所述授权信息包括授权电路提供的处理结果的数据格式、长度、加密方式。
进一步,所述授权电路在利用密钥种子解密授权信息获得授权信息明文,并授权其对应的业务功能电路开始工作后,还用于将业务功能电路的处理结果按照微处理器要求的数据格式、长度、加密方式发送至微处理器。
进一步,所述授权电路用于将处理结果按照所述微处理器要求的数据格式、长度、加密方式发送至微处理器后,发送业务完成信息至所述微处理器;
所述微处理器用于收到业务完成信息后,清空缓存数据。
进一步,所述基于静态随机存储器的可编程门阵列芯片加密***还包括外设加密芯片,所述外设加密芯片包括第二密钥单元和第二校验码生成单元;所述FPGA模块的配置模块包括:配置单元、随机数生成单元、第一密钥单元、第一校验码生成单元以及对比单元;
其中,所述配置单元用于根据所述配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,使所述业务功能电路和授权电路处于等待状态;
所述随机数生成单元用于生成随机数,并将随机数发送至外设加密芯片和第一校验码生成单元;
所述第一密钥单元内置有第一密钥,所述第一校验码生成单元用于根据内置的所述第一密钥和所述随机数生成第一校验码;
所述对比单元用于接受所述外设加密芯片发送的第二校验码,比较第一校验码和第二校验码,当二者一致时,将所述授权电路置于工作状态;
所述第二密钥单元内置有第二密钥,所述第二校验码生成单元用于根据内置的所述第二密钥和所述随机数生成第二校验码,并将第二校验码发送至所述对比单元。
进一步,所述FPGA模块的配置模块包括配置单元以及解密单元,所述配置数据为加密配置数据;所述解密单元用于对加密配置数据解密,所述配置单元用于对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路处于等待状态,将所述授权电路置于工作状态。
采用本发明提供的基于静态随机存储器的可编程门阵列芯片加密方法及***,在原有加密方式的基础上,对配置的业务功能电路设置对应的授权电路,在需要具体的业务功能电路进行工作时,根据该业务功能电路的功能,由其对应的授权电路向协处理器发出服务请求,协处理器生成密钥种子,微处理器和授权电路根据密钥种子完成临时加密数据通道连接,授权电路授权其对应的业务功能电路工作,并以微处理器要求的数据格式、长度、加密方式将业务功能电路的处理结果发送至微处理器,由此实现了在业务处理过程中的动态加密保护,增加了***的可靠性和被破解的难度。
附图说明
图1为现有技术中外部加密芯片加密方法示意图;
图2为本发明基于静态随机存储器的可编程门阵列芯片加密方法流程示意图;
图3a、3b为本发明基于静态随机存储器的可编程门阵列芯片加密方法一种实施例的流程示意图;
图4为3a、3b所示方法实施例对应的基于静态随机存储器的可编程门阵列芯片加密***结构示意图;
图5为本发明基于静态随机存储器的可编程门阵列芯片加密方法另一种实施例的流程示意图;
图6为对应图5所示实施例的基于静态随机存储器的可编程门阵列芯片加密***结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
本发明提供了一种基于静态随机存储器的可编程门阵列芯片加密方法,如图2所示,包括:
初始化配置步骤:
外置存储器向FPGA芯片发送配置数据,所述配置数据包括用于配置业务功能电路的第一配置信息和用于配置与业务功能电路对应的授权电路的第二配置信息;
所述FPGA芯片根据配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路处于等待状态,将所述授权电路置于工作状态;
业务处理步骤:
当需要业务功能电路进行工作时,与该业务功能电路对应的授权电路向协处理器发起服务请求;
所述协处理器根据所述服务请求生成密钥种子,并将密钥种子发送至所述微处理器和授权电路,将服务请求发送至微处理器;
所述微处理器根据所述服务请求生成授权信息,并利用密钥种子加密授权信息得到授权信息密文,将授权信息密文发送至授权电路;
授权电路利用密钥种子解密授权信息密文得到授权信息的明文后,授权其对应的业务功能电路进入工作状态。
以下分别结合内置加密芯片方式和外部加密芯片方式两种方式对本申请基于静态随机存储器的可编程门阵列芯片加密方法进行详细说明。
实施例一:
在本实施例中,以结合外部加密芯片方式为例,详细说明本申请的加密方法流程,具体如下:
在本实施例中,加密方法包括:
初始化配置步骤,如图3a所示:
外置存储器向FPGA芯片发送配置数据,配置数据包括用于配置业务功能电路的第一配置信息和用于配置与业务功能电路对应的授权电路的第二配置信息;其中,第一配置信息包括其配置的业务功能电路的功能等级信息,第二配置信息包括不同级别的业务功能电路对应不同的授权电路,相同级别的业务功能电路对应相同的授权电路的对应信息。例如,可预先根据业务功能电路实现的功能进行分级,将业务功能电路分为基础业务功能电路、底层业务功能电路、高层业务功能电路和核心业务功能电路,不同等级的业务功能电路对应不同的授权电路,相同级别的业务功能电路对应相同的授权电路;
FPGA芯片根据配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使业务功能电路和授权电路处于等待状态;
FPGA芯片生成随机数,根据内置的第一密钥和随机数生成第一校验码,并将随机数发送至外设加密芯片;外设加密芯片接收随机数,根据内置的第二密钥和随机数生成第二校验码,并将第二校验码发送至FPGA芯片;
FPGA芯片比较第一校验码和第二校验码,当二者一致时,将授权电路置于工作状态;
业务处理步骤,如图3b所示:
当需要业务功能电路进行工作时,与该业务功能电路对应的授权电路向协处理器发起服务请求;服务请求包括授权电路对应的业务功能电路的功能等级信息;
协处理器根据服务请求中的功能等级信息生成密钥种子,并将密钥种子发送至微处理器和授权电路,将服务请求发送至微处理器;对于密钥种子,可根据预先设定的方式产生,依据上述划分的功能等级,可针对底层业务功能电路的功能等级信息,协处理器生成AES加密标准中的128位密钥种子,针对高层业务功能电路的功能等级信息,协处理器生成AES加密标准中的192位密钥种子,针对核心业务功能电路的功能等级信息,协处理器生成AES加密标准中的256位密钥种子,上述密钥种子均为唯一不重复的密钥种子;
微处理器接收到密钥种子后,首先验证密钥种子与上次接收的密钥种子是否重复,若重复,则不处理此次服务请求,若不重复,则根据服务请求生成授权信息,利用密钥种子对授权信息进行加密,将授权信息密文发送至授权电路;在本实施例中,授权信息包括授权电路提供的处理结果的数据格式、长度、加密方式;
授权电路利用密钥种子解密授权信息密文得到授权信息的明文后,授权其对应的业务功能电路进入工作状态;业务功能电路开始工作,授权电路将业务功能电路的处理结果按照微处理器要求的数据格式、长度、加密方式发送至微处理器。
在本实施例中,优选的,在授权电路将处理结果按照微处理器要求的数据格式、长度、加密方式发送至微处理器后,发送业务完成信息至微处理器;微处理器收到业务完成信息后,清空缓存数据,以便实现更好的保护效果。
根据本实施例上述的方法流程,本实施例对应的构成了一个基于静态随机存储器的可编程门阵列芯片加密***,如图4所示,包括:外置存储器、FPGA芯片、外设加密芯片、协处理器和微处理器;
其中,外置存储器用于向FPGA芯片发送配置数据,配置数据包括用于配置业务功能电路的第一配置信息和用于配置与功能电路对应的授权电路的第二配置信息;
FPGA芯片包括配置模块,配置模块用于根据配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使业务功能电路处于等待状态,将所述授权电路置于工作状态;其中,配置模块包括配置单元、随机数生成单元、第一密钥单元、第一校验码生成单元以及对比单元;外设加密芯片包括第二密钥单元和第二校验码生成单元;配置单元用于根据配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,使业务功能电路和授权电路处于等待状态;随机数生成单元用于生成随机数,并将随机数发送至外设加密芯片和第一校验码生成单元;第一密钥单元内置有第一密钥,第一校验码生成单元用于根据内置的第一密钥和随机数生成第一校验码;对比单元用于接受外设加密芯片发送的第二校验码,比较第一校验码和第二校验码,当二者一致时,将授权电路置于工作状态;第二密钥单元内置有第二密钥,第二校验码生成单元用于根据内置的第二密钥和随机数生成第二校验码,并将第二校验码发送至对比单元;
当需要业务功能电路进行工作时,与该业务功能电路对应的授权电路用于向协处理器发起服务请求,以及接收密钥种子和授权信息密文,并在利用密钥种子解密授权信息获得授权信息明文后,授权其对应的业务功能电路进入工作状态;还用于将业务功能电路的处理结果按照微处理器要求的数据格式、长度、加密方式发送至微处理器,并发送业务完成信息至微处理器;
协处理器用于根据服务请求生成密钥种子,并将密钥种子发送至微处理器和授权电路,将服务请求发送至微处理器;
微处理器用于验证密钥种子与上次接收的密钥种子是否重复,若重复,则根据服务信息生成授权信息,利用密钥种子对授权信息进行加密,将授权信息密文发送至授权电路,授权信息包括授权电路提供的处理结果的数据格式、长度、加密方式;以及用于收到业务完成信息后,清空缓存数据。
与本实施例上述加密方法相同的,第一配置信息包括其配置的业务功能电路的功能等级信息,第二配置信息包括不同级别的业务功能电路对应不同的授权电路,相同级别的业务功能电路对应相同的授权电路的对应信息;服务请求包括授权电路对应的业务功能电路的功能等级信息;协处理器生成的密钥种子为根据服务请求中的功能等级信息生成对应的唯一密钥种子。
实施例二:
在本实施例中,以结合FPGA内置解密模块的加密方式,详细说明本申请的加密方法流程。
如图5所示,在本实施例中,加密方法包括:
初始化配置步骤:
外置存储器向FPGA芯片发送加密的配置数据,配置数据包括用于配置业务功能电路的第一配置信息和用于配置与业务功能电路对应的授权电路的第二配置信息;
FPGA芯片通过内置的解密模块解密加密的配置数据,根据配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路处于等待状态,将授权电路置于工作状态;
业务处理步骤:
当需要业务功能电路进行工作时,与该业务功能电路对应的授权电路向协处理器发起服务请求;与实施例一相同的,服务请求包括授权电路对应的业务功能电路的功能等级信息;
协处理器根据服务请求生成密钥种子,并将密钥种子发送至微处理器和授权电路,将服务请求发送至微处理器;在本实施例中,可与实施例一相同的,密钥种子根据服务请求中的功能等级信息生成,依据上述划分的功能等级,可针对底层业务功能电路的功能等级信息,协处理器生成AES加密标准中的128位密钥种子,针对高层业务功能电路的功能等级信息,协处理器生成AES加密标准中的192位密钥种子,针对核心业务功能电路的功能等级信息,协处理器生成AES加密标准中的256位密钥种子,上述密钥种子均为唯一不重复的密钥种子;
微处理器根据服务请求生成授权信息,并利用密钥种子加密授权信息得到授权信息密文,将授权信息密文发送至授权电路;在本实施例中,与实施例一相同的,微处理器需要先验证密钥种子的唯一性,验证通过时发送由密钥种子加密的授权信息密文,在此不再赘述;
授权电路利用密钥种子解密授权信息密文得到授权信息的明文后,授权其对应的业务功能电路进入工作状态。
需要说明的是,在本实施例中,除初始化步骤与实施例一存在区别外,业务处理步骤细节与实施例一一致,在此不再赘述。
针对本实施例的方法流程,对应的还提供了一种基于静态随机存储器的可编程门阵列芯片加密***,如图6所示,包括:外置存储器、FPGA芯片、协处理器和微处理器,其中FPGA芯片内置有解密模块;
其中,外置存储器用于向FPGA芯片发送加密的配置数据,配置数据包括用于配置业务功能电路的第一配置信息和用于配置与功能电路对应的授权电路的第二配置信息;
FPGA芯片包括配置模块,配置模块包括配置单元以及解密单元;解密单元用于对加密配置数据解密,配置单元用于对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使业务功能电路处于等待状态,将授权电路置于工作状态;
当需要业务功能电路进行工作时,与该业务功能电路对应的授权电路用于向协处理器发起服务请求,以及接收密钥种子和授权信息密文,并在利用密钥种子解密授权信息获得授权信息明文后,授权其对应的业务功能电路进入工作状态;还用于将业务功能电路的处理结果按照微处理器要求的数据格式、长度、加密方式发送至微处理器,并发送业务完成信息至微处理器;
协处理器用于根据服务请求生成密钥种子,并将密钥种子发送至微处理器和授权电路,将服务请求发送至微处理器;
微处理器用于验证密钥种子与上次接收的密钥种子是否重复,若重复,则根据服务信息生成授权信息,利用密钥种子对授权信息进行加密,将授权信息密文发送至授权电路,授权信息包括授权电路提供的处理结果的数据格式、长度、加密方式;以及用于收到业务完成信息后,清空缓存数据。
需要说明的是,本实施例加密方法中的业务处理步骤与实施例一相同,因此,本实施例提供的加密***中的协处理器、微处理器以及FPGA芯片中的授权电路和业务功能电路的在业务处理步骤中的功能限定可参照实施例一中的加密***,在此不再赘述。
采用本发明提供的加密方法和***,在原有加密方式的基础上,对配置的业务功能电路设置对应的授权电路,在需要具体的业务功能电路进行工作时,根据该业务功能电路的功能,由其对应的授权电路向协处理器发出服务请求,协处理器生成密钥种子,微处理器和授权电路根据密钥种子完成临时加密数据通道连接,授权电路授权其对应的业务功能电路工作,并以微处理器要求的数据格式、长度、加密方式将业务功能电路的处理结果发送至微处理器,由此实现了在业务处理过程中的动态加密保护,增加了***的可靠性和被破解的难度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1.一种基于静态随机存储器的可编程门阵列芯片加密方法,其特征在于,包括:
初始化配置步骤:
外置存储器向FPGA芯片发送配置数据,所述配置数据包括用于配置业务功能电路的第一配置信息和用于配置与业务功能电路对应的授权电路的第二配置信息;
所述FPGA芯片根据配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路处于等待状态,将所述授权电路置于工作状态;
业务处理步骤:
当需要业务功能电路进行工作时,与该业务功能电路对应的授权电路向协处理器发起服务请求;
所述协处理器根据所述服务请求生成密钥种子,并将密钥种子发送至所述微处理器和授权电路,将服务请求发送至所述微处理器;
所述微处理器根据所述服务请求生成授权信息,并利用密钥种子加密所述授权信息得到授权信息密文,将所述授权信息密文发送至所述授权电路;
所述授权电路利用密钥种子解密所述授权信息密文得到所述授权信息的明文后,授权其对应的业务功能电路进入工作状态。
2.根据权利要求1所述的方法,其特征在于,所述第一配置信息包括其配置的业务功能电路的功能等级信息,所述第二配置信息包括不同级别的业务功能电路对应不同的授权电路,相同级别的业务功能电路对应相同的授权电路的对应信息。
3.根据权利要求2所述的方法,其特征在于,业务处理步骤中,所述服务请求包括授权电路对应的业务功能电路的功能等级信息;
所述协处理器根据所述服务请求中的功能等级信息生成对应的唯一密钥种子。
4.根据权利要求3所述的方法,其特征在于,所述微处理器根据所述服务信息生成授权信息,并利用密钥种子加密所述授权信息得到授权信息密文,将所述授权信息密文发送至所述授权电路包括:
微处理器验证密钥种子与上次接收的密钥种子是否重复,若重复,则不处理此次服务请求,若不重复,则根据服务信息生成授权信息,利用密钥种子对所述授权信息进行加密,将所述授权信息密文发送至所述授权电路;所述授权信息包括授权电路提供的处理结果的数据格式、长度、加密方式。
5.根据权利要求4所述的方法,其特征在于,所述授权电路利用密钥种子解密所述授权信息密文得到所述授权信息的明文后,授权其对应的业务功能电路进入工作状态包括:
所述授权电路利用密钥种子解密所述授权信息密文得到所述授权信息的明文后,授权其对应的业务功能电路进入工作状态;
所述业务功能电路开始工作,并将业务功能电路的处理结果按照微处理器要求的数据格式、长度、加密方式发送至微处理器。
6.根据权利要求5所述的方法,其特征在于,所述授权电路将处理结果按照所述微处理器要求的数据格式、长度、加密方式发送至微处理器后,发送业务完成信息至所述微处理器,所述微处理器收到业务完成信息后,清空缓存数据。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述FPGA芯片根据配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路处于等待状态,将所述授权电路置于工作状态包括:
所述FPGA芯片根据配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路和授权电路处于等待状态;
所述FPGA芯片生成随机数,根据内置的第一密钥和所述随机数生成第一校验码,并将随机数发送至外设加密芯片;所述外设加密芯片接收所述随机数,根据内置的第二密钥和所述随机数生成第二校验码,并将第二校验码发送至所述FPGA芯片;
所述FPGA芯片比较第一校验码和第二校验码,当二者一致时,将所述授权电路置于工作状态。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述FPGA芯片根据配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路处于等待状态,将所述授权电路置于工作状态包括:
所述配置数据为加密配置数据,所述FPGA芯片解密所述加密配置数据,并对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路处于等待状态,将所述授权电路置于工作状态。
9.一种基于静态随机存储器的可编程门阵列芯片加密***,其特征在于,包括外置存储器、FPGA芯片、协处理器和微处理器;
所述外置存储器用于向FPGA芯片发送配置数据,所述配置数据包括用于配置业务功能电路的第一配置信息和用于配置与功能电路对应的授权电路的第二配置信息;
所述FPGA芯片包括配置模块,所述配置模块用于根据所述配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路处于等待状态,将所述授权电路置于工作状态;
当需要业务功能电路进行工作时,与该业务功能电路对应的授权电路用于向所述协处理器发起服务请求,以及接收密钥种子和授权信息密文,并在利用密钥种子解密授权信息获得授权信息明文后,授权其对应的业务功能电路进入工作状态;
所述协处理器用于根据服务请求生成密钥种子,并将密钥种子发送至微处理器和所述授权电路,将服务请求发送至所述微处理器;
所述微处理器用于根据服务请求生成授权信息,并利用密钥种子加密所述授权信息得到授权信息密文,将授权信息密文发送至授权电路。
10.根据权利要求9所述的***,其特征在于,所述第一配置信息包括其配置的业务功能电路的功能等级信息,所述第二配置信息包括不同级别的业务功能电路对应不同的授权电路,相同级别的业务功能电路对应相同的授权电路的对应信息。
11.根据权利要求10所述的***,其特征在于,所述服务请求包括授权电路对应的业务功能电路的功能等级信息;
所述协处理器用于根据所述服务请求中的功能等级信息生成对应的唯一密钥种子。
12.根据权利要求11所述的***,其特征在于,所述微处理器用于验证密钥种子与上次接收的密钥种子是否重复,若重复,则根据服务信息生成授权信息,利用密钥种子对所述授权信息进行加密,将所述授权信息密文发送至所述授权电路;所述授权信息包括授权电路提供的处理结果的数据格式、长度、加密方式。
13.根据权利要求12所述的***,其特征在于,所述授权电路在利用密钥种子解密授权信息获得授权信息明文,并授权其对应的业务功能电路开始工作后,还用于将业务功能电路的处理结果按照微处理器要求的数据格式、长度、加密方式发送至微处理器。
14.根据权利要求13所述的***,其特征在于,所述授权电路用于将处理结果按照所述微处理器要求的数据格式、长度、加密方式发送至微处理器后,发送业务完成信息至所述微处理器;
所述微处理器用于收到业务完成信息后,清空缓存数据。
15.根据权利要求9-14任一项所述的***,其特征在于,还包括外设加密芯片,所述外设加密芯片包括第二密钥单元和第二校验码生成单元;所述FPGA模块的配置模块包括:配置单元、随机数生成单元、第一密钥单元、第一校验码生成单元以及对比单元;
其中,所述配置单元用于根据所述配置数据对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,使所述业务功能电路和授权电路处于等待状态;
所述随机数生成单元用于生成随机数,并将随机数发送至外设加密芯片和第一校验码生成单元;
所述第一密钥单元内置有第一密钥,所述第一校验码生成单元用于根据内置的所述第一密钥和所述随机数生成第一校验码;
所述对比单元用于接受所述外设加密芯片发送的第二校验码,比较第一校验码和第二校验码,当二者一致时,将所述授权电路置于工作状态;
所述第二密钥单元内置有第二密钥,所述第二校验码生成单元用于根据内置的所述第二密钥和所述随机数生成第二校验码,并将第二校验码发送至所述对比单元。
16.根据权利要求9-14任一项所述的***,其特征在于,所述FPGA模块的配置模块包括配置单元以及解密单元,所述配置数据为加密配置数据;所述解密单元用于对加密配置数据解密,所述配置单元用于对电路进行配置,以形成业务功能电路和与业务功能电路对应的授权电路,并使所述业务功能电路处于等待状态,将所述授权电路置于工作状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410258908.2A CN104035890B (zh) | 2014-06-11 | 2014-06-11 | 基于静态随机存储器的可编程门阵列芯片加密方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410258908.2A CN104035890B (zh) | 2014-06-11 | 2014-06-11 | 基于静态随机存储器的可编程门阵列芯片加密方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104035890A true CN104035890A (zh) | 2014-09-10 |
CN104035890B CN104035890B (zh) | 2017-02-15 |
Family
ID=51466662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410258908.2A Active CN104035890B (zh) | 2014-06-11 | 2014-06-11 | 基于静态随机存储器的可编程门阵列芯片加密方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104035890B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897410A (zh) * | 2014-12-08 | 2016-08-24 | 深圳市创成微电子有限公司 | 音频芯片spi通信的加密方法 |
CN108063664A (zh) * | 2016-11-08 | 2018-05-22 | 霍尼韦尔国际公司 | 基于配置的密码密钥生成 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010117968A (ja) * | 2008-11-14 | 2010-05-27 | National Institute Of Advanced Industrial Science & Technology | 再構成可能論理デバイスの論理プログラムデータ保護システム及び保護方法 |
CN101854243A (zh) * | 2010-04-30 | 2010-10-06 | 株洲南车时代电气股份有限公司 | 一种电路***设计加密电路及其加密方法 |
US20130332745A1 (en) * | 2010-08-23 | 2013-12-12 | Raytheon Company | Secure field-programmable gate array (fpga) architecture |
US20130346758A1 (en) * | 2012-06-20 | 2013-12-26 | Microsoft Corporation | Managing use of a field programmable gate array with isolated components |
CN103593622A (zh) * | 2013-11-05 | 2014-02-19 | 浪潮集团有限公司 | 一种基于fpga的安全可信计算机的设计方法 |
-
2014
- 2014-06-11 CN CN201410258908.2A patent/CN104035890B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010117968A (ja) * | 2008-11-14 | 2010-05-27 | National Institute Of Advanced Industrial Science & Technology | 再構成可能論理デバイスの論理プログラムデータ保護システム及び保護方法 |
CN101854243A (zh) * | 2010-04-30 | 2010-10-06 | 株洲南车时代电气股份有限公司 | 一种电路***设计加密电路及其加密方法 |
US20130332745A1 (en) * | 2010-08-23 | 2013-12-12 | Raytheon Company | Secure field-programmable gate array (fpga) architecture |
US20130346758A1 (en) * | 2012-06-20 | 2013-12-26 | Microsoft Corporation | Managing use of a field programmable gate array with isolated components |
CN103593622A (zh) * | 2013-11-05 | 2014-02-19 | 浪潮集团有限公司 | 一种基于fpga的安全可信计算机的设计方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897410A (zh) * | 2014-12-08 | 2016-08-24 | 深圳市创成微电子有限公司 | 音频芯片spi通信的加密方法 |
CN108063664A (zh) * | 2016-11-08 | 2018-05-22 | 霍尼韦尔国际公司 | 基于配置的密码密钥生成 |
Also Published As
Publication number | Publication date |
---|---|
CN104035890B (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105447394B (zh) | 一种带本地数据加密功能的智能密码钥匙 | |
CN104902138B (zh) | 加密/解密***及其控制方法 | |
KR20060051957A (ko) | 암호화 데이터 배포 방법, 암호화 장치, 복호화 장치,암호화 프로그램 및 복호화 프로그램 | |
KR102383829B1 (ko) | 안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템 | |
CN102880836A (zh) | 安全装置 | |
CN106161444B (zh) | 数据安全存储方法及用户设备 | |
CN106101150B (zh) | 加密算法的实现方法和*** | |
CN104038340A (zh) | 生成加密密钥的设备和向接收器提供加密密钥的方法 | |
CN103455446A (zh) | 用于实施加密方法的设备及对此的运行方法 | |
KR101608815B1 (ko) | 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법 | |
CN110855616B (zh) | 一种数字钥匙生成*** | |
CN102598575B (zh) | 用于对密码保护的有效数据单元加速解密的方法和*** | |
TWI615731B (zh) | 使用改良式鍵熵匯流排保護之電子裝置以及改良式鍵熵匯流排保護方法 | |
CN112906070A (zh) | 用于安全设备的块密码侧信道攻击减轻 | |
CN104408356A (zh) | 一种指纹认证方法及***、指纹模板加密装置 | |
CN101539977B (zh) | 一种计算机软件保护方法 | |
CN105208028A (zh) | 一种数据传输方法和相关装置及设备 | |
CN105262586B (zh) | 汽车防盗设备的密钥分配方法及装置 | |
CN114793184B (zh) | 一种基于第三方密钥管理节点的安全芯片通信方法及装置 | |
CN110198320B (zh) | 一种加密信息传输方法和*** | |
US9537655B2 (en) | Random number generating device, cipher processing device, storage device, and information processing system | |
CN1808975B (zh) | 一种网络帐号防盗***及其方法 | |
CN106326754B (zh) | 一种基于pcie接口实现的数据传输加密装置 | |
CN104035890A (zh) | 基于静态随机存储器的可编程门阵列芯片加密方法及*** | |
CN106295372B (zh) | 一种基于EMMC接口实现的加密Hub装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A Programmable Gate Array Chip Encryption Method and System Based on Static Random Access Memory Effective date of registration: 20230417 Granted publication date: 20170215 Pledgee: Lishui branch of Bank of Hangzhou Co.,Ltd. Pledgor: LISHUI BOYUAN TECHNOLOGY Co.,Ltd. Registration number: Y2023980038020 |