基于全同态加密算法的硬件木马防御方法及装置与流程

文档序号:12278122阅读:336来源:国知局
基于全同态加密算法的硬件木马防御方法及装置与流程

本发明涉及计算机安全领域,尤其涉及一种集成电路硬件木马的防御方法,具体来说就是一种基于全同态加密算法的硬件木马防御方法及装置。



背景技术:

随着信息技术的高速发展,各种智能产品及设备对集成电路也越加依赖。然而,随着集成电路功能和工艺复杂度的不断提高,集成电路从设计到出厂的整个流程需要多方共同合作完成,但是这种多方参与的集成电路开发模式使攻击者有机会接触到原设计并进行一些恶意的修改,这种对原硬件设计的恶意修改称为硬件木马。目前,已经出现了各种硬件木马攻击芯片的例子,这些芯片包括:处理器、可编程逻辑器件(FPGA)、密码芯片等。

美国国家安全局和澳大利亚国家安全局分别在2005年和2011年发布了关于集成电路安全的白皮书,都明确指出硬件木马对国家安全的巨大威胁。然而,我国的集成电路芯片设计和制造水平与世界发达国家相比还有一定差距,所以许多芯片尤其是高端芯片需要从国外进口。例如,我国每年都会从国外购买大量军工类的芯片或产品(如飞机等),敌对国家完全有可能在芯片或产品中植入硬件木马,窃取国家重要机密或在特定时候破坏产品的操作系统。因此,硬件安全问题对我国信息产业的重要性尤为突出。此外,对于企业而言,敌对公司可能通过在竞争对手企业采购的芯片中植入硬件木马,来破坏产品的质量或者窃取产品设计的方案,使之在商业竞争中处于有利位置。因此,预防和检测硬件木马对于企业保护知识产权和企业声誉同样至关重要。

然而,目前针对硬件木马的防范措施主要是事后检测和被动防御,需要花费大量时间和人工成本,而且无法从源头上阻止硬件木马的植入。为此,人们研发出一种针对硬件木马防御的可重构架构。采用可重构逻辑器件的一个主要好处就是将硬件制造和设计分开。对于常规芯片,硬件设计先于硬件制造,制造完全是设计的实现。而一旦在芯片添加了可重构器件,可重构器件需先制造再设计实现,芯片的其它部分仍然是先设计后制造,从而实现了硬件制造和设计的分离。图1为现有可重构架构芯片的结构示意图,如图1所示,将完整的芯片分成3个模块,其中,2个模块是不可重构模块,而且这2个不可重构模块须用1个可重构模块连接起来,才能正常使用。不可重构模块因为功能确定且由不信任方制造,所以攻击者可以在芯片设计制造阶段植入木马;但对于可重构模块的实现而言,发生在芯片制造完成以后,而且重构代码掌握在原始设计者手里,因此攻击者无法在可重构模块植入木马,进行硬件攻击。这就意味着攻击者无法知道芯片的完整信息,仅对不可重构模块进行攻击是没有意义的。也就是说,攻击者是无法发起对可重构模块的攻击。虽然这样设计的芯片在一定程度上能够防范硬件木马攻击。但是,如何使不可重构模块和可重构模块协同工作是一个很大的挑战。另外,硬件木马完全可以对不可重构模块发起攻击(如拒绝服务、泄露机密信息),只是这些攻击不涉及可重构模块,无法从根本上消除硬件木马产生的消极影响。

因此,本领域技术人员亟需研发一种从源头上阻止硬件木马植入的方法,并且该方法应用到整个集成电路,从而阻止硬件木马植入芯片的任何部分。



技术实现要素:

有鉴于此,本发明要解决的技术问题在于提供一种基于全同态加密算法的硬件木马防御方法及装置,解决了现有技术无法在整个集成电路上阻止木马植入的问题。

为了解决上述技术问题,本发明的具体实施方式提供一种基于全同态加密算法的硬件木马防御方法,包括:利用全同态加密算法生成的公钥加密明文数据产生初始密文数据;利用全同态加密算法生成的密文计算公钥计算所述初始密文数据从而得到最终密文数据;利用全同态加密算法生成的私钥解密所述最终密文数据从而得到最终明文数据。

本发明的具体实施方式还提供一种基于全同态加密算法的硬件木马防御装置,包括:加密单元,用于利用全同态加密算法生成的公钥加密明文数据产生初始密文数据;运算单元,用于利用全同态加密算法生成的密文计算公钥计算所述初始密文数据从而得到最终密文数据;解密单元,用于利用全同态加密算法生成的私钥解密所述最终密文数据从而得到最终明文数据。

根据本发明的上述具体实施方式可知,基于全同态加密算法的硬件木马防御方法及装置至少具有以下有益效果:利用全同态加密算法(Fully Homomorphic Encryption,FHE),让不可信芯片只能处理密文,在没有解密密钥的情况下,可能被植入硬件木马的不可信芯片无法获知明文,因此硬件木马无法对芯片发起攻击,或者说硬件木马对芯片的攻击都是没有意义的,同时,利用全同态加密算法加密数据后,不可信芯片可以在不知道密钥的情况下,对密文进行任意运算,运算结果解密后,与对明文做同样运算的运算结果是一样的,从而主动防御硬件木马的攻击,从源头上阻止硬件木马的植入,能够节省后续检测所需的时间和费用。

应了解的是,上述一般描述及以下具体实施方式仅为示例性及阐释性的,其并不能限制本发明所欲主张的范围。

附图说明

下面的所附附图是本发明的说明书的一部分,其绘示了本发明的示例实施例,所附附图与说明书的描述一起用来说明本发明的原理。

图1为现有技术中可重构架构芯片的结构示意图;

图2为本发明具体实施方式提供的一种基于全同态加密算法的硬件木马防御方法的实施例一的流程图;

图3为本发明具体实施方式提供的一种基于全同态加密算法的硬件木马防御方法的实施例二的流程图;

图4为本发明具体实施方式提供的一种基于全同态加密算法的硬件木马防御装置的实施例一的示意框图;

图5为本发明具体实施方式提供的一种基于全同态加密算法的硬件木马防御装置的实施例二的示意框图;

图6为本发明具体实施方式提供的一种基于全同态加密算法的硬件木马防御方案的逻辑示意图;

图7为本发明具体实施方式提供的一种基于全同态加密算法的硬件木马防御方法的具体实施示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面将以附图及详细叙述清楚说明本发明所揭示内容的精神,任何所属技术领域技术人员在了解本发明内容的实施例后,当可由本发明内容所教示的技术,加以改变及修饰,其并不脱离本发明内容的精神与范围。

本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。

关于本文中所使用的“第一”、“第二”、…等,并非特别指称次序或顺位的意思,也非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。

关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本创作。

关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。

关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。

关于本文中所使用的用语“大致”、“约”等,用以修饰任何可以微变化的数量或误差,但这些微变化或误差并不会改变其本质。一般而言,此类用语所修饰的微变化或误差的范围在部分实施例中可为20%,在部分实施例中可为10%,在部分实施例中可为5%或是其他数值。本领域技术人员应当了解,前述提及的数值可依实际需求而调整,并不以此为限。

某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本申请的描述上额外的引导。

图2为本发明具体实施方式提供的一种基于全同态加密算法的硬件木马防御方法的实施例一的流程图,如图2所示,先利用公钥加密明文数据,再利用密文计算公钥计算初始密文数据,最后利用私钥解密最终密文数据。

该附图所示的具体实施方式包括:

步骤101:利用全同态加密算法生成的公钥加密明文数据产生初始密文数据。本发明的具体实施例中,全同态加密算法具体包括:密钥生成算法、加密算法、密文计算算法和解密算法。密钥生成算法生成公钥、密文计算公钥和私钥。

步骤102:利用全同态加密算法生成的密文计算公钥计算所述初始密文数据从而得到最终密文数据。初始密文数据还称为新鲜密文数据,即该密文数据还没有与其它密文数据计算过。最终密文数据是指计算后的密文数据。

步骤103:利用全同态加密算法生成的私钥解密所述最终密文数据从而得到最终明文数据。该私钥可以同时对最终密文数据和初始密文数据进行解密。全同态加密算法采用对称加解密方式。

参见图2,处理芯片只能接触到加密过的数据,处理芯片没有解密密钥的情况下,处理芯片和可能植入的硬件木马都无法获取数据的真实意义,硬件木马无法对数据发起攻击,从而从源头上阻止硬件木马的植入,能够节省后续木马检测所需的时间和费用,而且无论木马植入集成电路的任何部分,都不会给数据造成威胁,集成电路的安全性大大提高。

图3为本发明具体实施方式提供的一种基于全同态加密算法的硬件木马防御方法的实施例二的流程图,如图3所示,全同态加密算法具体包括密钥生成算法,密钥生成算法生成公钥、密文计算公钥和私钥。

该附图所示的具体实施方式中,步骤101之前,该方法还包括:

步骤100:利用全同态加密算法生成所述公钥、所述密文计算公钥和所述私钥。

参见图3,全同态加密算法能够在不知道密钥的情况下对密文进行任意运算,运算结果解密后,与对明文做同样运算的结果一样,即对于任意有效的函数f、加密函数Enc及明文m,有性质f(Enc(m))=Enc(f(m))。利用全同态加密算法生成公钥、密文计算公钥和私钥,再分别利用公钥、密文计算公钥和私钥处理数据,从而从源头上阻止硬件木马的植入。

本发明的具体实施例中,全同态加密算法具体包括密钥生成算法、加密算法、密文计算算法和解密算法,其中,密钥生成算法用于生成所述公钥、所述密文计算公钥和所述私钥;加密算法用于利用所述公钥加密所述明文数据;密文计算算法用于利用所述密文计算公钥计算所述初始密文数据;解密算法用于利用所述私钥解密所述最终密文数据。其中,密钥生成算法与所述加密算法、所述密文计算算法和所述解密算法分离。

图4为本发明具体实施方式提供的一种基于全同态加密算法的硬件木马防御装置的实施例一的示意框图,如图4所示的硬件木马防御装置可以应用到图2、图3所示的方法中,先利用公钥加密明文数据,再利用密文计算公钥计算初始密文数据,最后利用私钥解密最终密文数据。

该附图所示的具体实施方式中,硬件木马防御装置包括加密单元1、运算单元2和解密单元3,其中,加密单元1用于利用全同态加密算法生成的公钥加密明文数据产生初始密文数据;运算单元2用于利用全同态加密算法生成的密文计算公钥计算所述初始密文数据从而得到最终密文数据;解密单元3用于利用全同态加密算法生成的私钥解密所述最终密文数据从而得到最终明文数据。本发明的具体实施例中,加密单元1和解密单元3可以为可编程逻辑器件(FPGA);运算单元2可以为全加器。

参见图4,处理芯片只能接触到加密过的数据,处理芯片没有解密密钥的情况下,处理芯片和可能植入的硬件木马都无法获取数据的真实意义,硬件木马无法对数据发起攻击,从而从源头上阻止硬件木马的植入,能够节省后续木马检测所需的时间和费用,而且无论木马植入集成电路的任何部分,都不会给数据造成威胁,集成电路的安全性大大提高。

图5为本发明具体实施方式提供的一种基于全同态加密算法的硬件木马防御装置的实施例二的示意框图,如图5所示,全同态加密算法具体包括密钥生成算法,密钥生成算法生成公钥、密文计算公钥和私钥。

该附图所示的具体实施方式中,硬件木马防御装置还包括生成单元4,其中,生成单元4用于利用全同态加密算法生成所述公钥、所述密文计算公钥和所述私钥。

参见图5,利用全同态加密算法生成公钥、密文计算公钥和私钥,再分别利用公钥、密文计算公钥和私钥处理数据,从而从源头上阻止硬件木马的植入。

本发明的具体实施例中,全同态加密算法具体包括密钥生成算法、加密算法、密文计算算法和解密算法,其中,密钥生成算法用于生成所述公钥、所述密文计算公钥和所述私钥;加密算法用于利用所述公钥加密所述明文数据;密文计算算法用于利用所述密文计算公钥计算所述初始密文数据;解密算法用于利用所述私钥解密所述最终密文数据。其中,密钥生成算法与所述加密算法、所述密文计算算法和所述解密算法分离。

图6为本发明具体实施方式提供的一种基于全同态加密算法的硬件木马防御方案的逻辑示意图,如图6所示,全同态加密算法能够在不知道密钥的情况下对密文进行任意运算,运算结果解密后,与对明文做同样运算的结果一样,即对于任意有效的函数f、加密函数Enc及明文m,有性质f(Enc(m))=Enc(f(m))。全同态加密算法总共包含了4个算法:密钥生成算法(KeyGen)、加密算法(Enc)、解密算法(Dec)以及密文计算算法(Evaluate)。其中,密钥生成算法用于生成公钥(pk)、私钥(sk)和密文计算公钥(ek);加密算法跟常规的加密算法一样,用于加密明文数据并生成初始密文数据,该初始密文数据也称为新鲜密文数据,即该密文数据还没有和其他密文数据计算过;解密算法也和常规的解密算法一样,只不过这里的解密算法同时能够对初始密文数据和计算后的密文数据进行解密;密文计算算法是整个全同态加密算法的核心,它负责对密文数据进行计算。

假设Alice和Bob只能通过网络连接。Alice想让Bob帮忙将她发给他的一串二进制数按位一一取反。例如,Alice发给Bob一串二进制数00000000000,Bob要做的就是将这串数按位一一取反,再将结果11111111111发回给Alice。但是,因为网络存在安全隐患,所以Alice在将数据发给Bob之前,会先将数据加密。Bob收到加密数据后对其进行解密,接着将解密后的数据按位一一取反,然后将运算结果加密后发给Alice。Alice收到加密结果后对其进行解密,最终得到正确的结果。

虽然Alice的数据在网络中是以密文的形式传播的、是安全的(假设除了Alice和Bob之外无人能够破解),但是因为Bob有解密密钥,他能够知道Alice的真实数据。这也就是说,即使Alice的数据是比较隐私或者机密的,Bob都能够一览无余。所以Alice为了保护自己的隐私数据,确保只有她本人才知道这些数据,她可以利用全同态加密方案,选择让Bob只能处理她加密过后的数据。Bob收到这些加密过的数据后,对它们进行计算,然后把计算过后的加密数据发回给Alice。Alice最后再解密这些数据就能够得到正确的结果。

集成芯片共由3个部分组成,即由可信的加密模块、可信的解密模块和不可信的芯片模块组成。加解密模块的功能相对芯片来说是固定和简单的,所以加解密模块可以由设计人员自己实现,例如可以在可编程逻辑器件FPGA(Field Programmable Gate Array)上实现,从而确保安全性;而对于芯片而言,设计人员一般不会自己制造,需要把原设计提供给芯片制造商,待芯片制造商制造完毕再交接封装完好的芯片,但这个过程会留给他人嵌入硬件木马的时间和空间,所以芯片是不可信的。本发明要做的就是确保即使芯片是不可信的,在其之上进行数据通信和计算的安全性。可信的加密模块、可信的解密模块和不可信的芯片模块与全同态加密方案的3个主要算法一一对应,加密模块对应全同态加密的加密算法Enc,解密模块对应解密算法Dec,芯片功能对应密文计算算法Evaluate。

图7为本发明具体实施方式提供的一种基于全同态加密算法的硬件木马防御方法的具体实施示意图,如图7所示,具体给出了针对8位全加器的实施方案。

首先,将硬件木马植入该全加器,该硬件木马被设计为当检测到数据输入进位Cin为高电平时就将其拉低,从而篡改全加器输出结果。

在没有任何防御措施下,在硬件木马的作用下,全加器并没有按预期的工作,如当A=0b01111111、B=0b1000 0000和Cin=0b1时,全加器的输出是S=0b11111111和Cout=0b0,而正确的结果应该是S=0b0和Cout=0b1。

为了对该全加器进行保护,对其应用硬件木马防御方案。为了更便于理解,将8位全加器在硬件木马攻击和在硬件木马防御方案保护下的仿真结果如表1所示,实验结果证明了本发明所提出的硬件木马防御方案的可行性。其中加粗斜体数字表示两者输出不一样的地方。

表1

本发明具体实施例提供一种基于全同态加密算法的硬件木马防御方法及装置,利用全同态加密算法(Fully Homomorphic Encryption,FHE),让不可信芯片只能处理密文,在没有解密密钥的情况下,可能被植入硬件木马的不可信芯片无法获知明文,因此硬件木马无法对芯片发起攻击,或者说硬件木马对芯片的攻击都是没有意义的,同时,利用全同态加密算法加密数据后,不可信芯片可以在不知道密钥的情况下,对密文进行任意运算,运算结果解密后,与对明文做同样运算的运算结果是一样的,从而主动防御硬件木马的攻击,从源头上阻止硬件木马的植入,能够节省后续检测所需的时间和费用。

上述的本发明实施例可在各种硬件、软件编码或两者组合中进行实施。例如,本发明的实施例也可为在数据信号处理器(Digital Signal Processor,DSP)中执行上述方法的程序代码。本发明也可涉及计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(Field Programmable Gate Array,FPGA)执行的多种功能。可根据本发明配置上述处理器执行特定任务,其通过执行定义了本发明揭示的特定方法的机器可读软件代码或固件代码来完成。可将软件代码或固件代码发展为不同的程序语言与不同的格式或形式。也可为不同的目标平台编译软件代码。然而,根据本发明执行任务的软件代码与其他类型配置代码的不同代码样式、类型与语言不脱离本发明的精神与范围。

以上所述仅为本发明示意性的具体实施方式,在不脱离本发明的构思和原则的前提下,任何本领域的技术人员所做出的等同变化与修改,均应属于本发明保护的范围。

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