对电力分析攻击具安全性的加密装置及其操作方法

文档序号:7977685阅读:240来源:国知局
对电力分析攻击具安全性的加密装置及其操作方法
【专利摘要】提供一种加密装置及其操作方法。该加密装置包括用于执行加密演算法的加密模块。在对应于该加密演算法被执行前的时间区域第1状态下,该加密装置包含的第1电荷传送单元从外部电源接收电源,并存储在该加密装置中的电荷存储单元。此外,在对应于该加密演算法被执行的时间区域的第2状态下,该加密装置中包含的第2电荷传送单元将该电荷存储单元中存储的电荷传送给该加密模块。此外,在对应于该加密演算法被执行后的时间区域的第3状态下,该电荷存储单元将包含在其内部的用于存储电荷的电荷存储元件放电。其中,在第2状态下,第1电荷传送单元使该加密模块的接地终端与该外部电源的接地终端不连接来切断连接。
【专利说明】对电力分析攻击具安全性的加密装置及其操作方法
【技术领域】
[0001]本发明涉及数字安全领域,特别是,涉及一种电力分析攻击中具安全性的加密装 置及其操作方法。
技术背景
[0002]过去,在加密系统的安全性中,利用密钥(Secret key)的加密演算法十分重要。因 此,有关加密系统的安全的研究集中在防御有关密钥和加密演算法的直接攻击。
[0003]但是,实际上,除了有关密钥和加密演算法的直接攻击以外,加密系统对于类似多 个输入/输出信号(比如说,电压或电流的大小等)及多个泄漏信息(leakage information) (比如说,电磁波放射、电力变化等)的物理性值检测的直接攻击具有易受攻击的一面。
[0004]不损耗芯片(without depacking a chip)且通过检测上述的物理性值来使加密 系统易受攻击的行为称为非侵入性攻击(Non-1nvasive attack)。此外,在非侵入性攻击 中,利用输入值、输入值及其他附加地(物理性)信息从而使加密系统易受攻击的行为被称 为旁路攻击(Side-channel attack)。
[0005]有关加密系统的攻击,也可通过有关所述系统内的各模块演算的分析被理解,所 述旁路攻击中,根据分析方法具有以下几种类型。定时攻击(Timing attack)是根据演算利 用演算时间的差异来掌握密码内容,且电力消耗分析攻击(Power consumption analysis attack)是检测加密/解码时消耗的电力来掌握密码内容,且微分电磁攻击(Differential electromagnetic attack)是检测演算时的电磁波泄漏来掌握密码的内容。
[0006]在上述的旁路攻击方法中,电力消耗分析攻击也可简称为电力分析攻击(Power analysis attack),其可分为:检测演算时的电源的电流值来进行简单分析的SPA (Simple power analysis);统计性地分析电流的 DPA (Differential power analysis);和将多个 DPA 组合来多兀分析的 H0-DPA (High-order differential power analysis)
[0007]在对应于上述的旁路攻击的防御技术中,包括:隐藏(Hiding)技术,使电力消耗 相同或随机来清除电力消耗和数据(主要为密钥)的关联性,;掩蔽(Masking)技术,将演算 中间过程的数据随机来除去电力消耗和数据(主要为密钥)的相关性。
[0008]其中,在隐藏技术中,包括软件方式(Software approach)和硬件方式(Hardware approach),由于在使用硬件方式时,可隐藏演算的种类和电源电流值之间的关联性并去除 根据值模式的电流值的差异性,因此,对其的关注正在不断提高。
[0009]此外,在用于实现防止电力分析攻击的隐藏技术的方法中,包括预充逻辑电路 (Precharge Logic),使输入至加密模块或从加密模块中输出的电压和/或电流的值相同。
[0010]但是,上述预充逻辑电路(Precharge Logic)的情况下,虽然在理论上,输入至加 密模块或从加密模块中输出的电压和/或电流的值相同,但实际上加密模块不能完全保证 相同性。

【发明内容】
[0011]技术课题
[0012]提供一种加密装置及其操作方法,在对电力分析攻击具安全性的预充逻辑电路中,使输入至加密模块或从加密模块中输出的电压和/或电流的值比现有技术具有更高水平的相同性。
[0013]技术方案
[0014]根据本发明的一个侧面,提供一种加密装置,包括:加密模块,执行加密演算法;和控制模块,从外部电源接收电荷,将电荷传送至所述加密模块后,切断所述加密模块和所述电源的模块之间的电流路径(current path),从而将电荷传送至所述加密模块。
[0015]在这种情况下,所述控制模块在所述加密演算法被执行期间,可将所述外部电源与所述加密模块之间电切断。
[0016]根据本发明的一个实施例,所述控制模块,包括:电荷存储单元,将电荷存储一段时间后,提供给所述加密模块。
[0017]此外,所述加密模块,其可与不同于所述外部电源的接地节点的其他接地节点连接。
[0018]此外,所述电荷存储单元可包括:用于存储电荷的电容器。在这种情况下,所述控制模块可进一步包括:第I电荷传送单元,在对应于所述加密演算法被执行之前的时间区域的第I状态下,从所述外部电源接收电源,并传送给所述电荷存储单元,从而将所述电容器充电。
[0019]在这种情况下,所述第I电荷传送单元,可包括:第I开关,使所述外部电源的正极节点VDD节点与所述电容器的第 I终端之间短路或开路;和第2开关,与所述第I开关同时被触发,使所述外部电源的接地节点GND节点与所述电容器的第2终端之间短路或开路。
[0020]同时,根据本发明的一个实施例,所述控制模块,进一步包括:第2电荷传送单元,在对应于所述加密演算法被执行的时间区域的第2状态下,从所述电荷存储单元接收电荷,并传送给所述加密模块。
[0021]此外,所述第2电荷传送单元,可包括:第3开关,使所述电容器的第I终端与所述加密模块的第I终端之间短路或开路;和第4开关,与所述第3开关同时被触发,使所述电容器的第2终端与所述加密模块的第2终端之间短路或开路。
[0022]根据本发明的一个实施例,所述电荷存储单元,可进一步包括--第5开关,在对应于所述加密演算法被执行后的时间区域的第3状态下关闭,将所述电荷存储单元中包括的所述电容器放电。
[0023]根据本发明的另一个侧面,提供一种加密装置,包括:加密模块,执行加密演算法;第I电荷传送单元,在对应于所述加密演算法被执行之前的时间区域的第I状态下,从外部电源接收电源;电荷存储单元,将所述第I状态中所述第I电荷传送单元所接收并传送的电荷进行存储;和第2电荷传送单元,在对应于所述加密演算法被执行的时间区域的第2状态下,从所述电荷存储单元接收电荷,并传送给所述加密模块,且其中,在所述第2状态下,所述第I电荷传送单元使所述加密模块的接地终端与所述外部电源的接地终端不连接,来切断连接。
[0024]根据本发明的又另一个侧面,提供一种加密装置的操作方法,所述加密装置包括用于执行加密演算法的加密模块,所述加密装置的操作方法包括以下步骤:在对应于所述加密演算法被执行之前的时间区域的第I状态下,所述加密装置中所包含的第I电荷传送 单元从外部电源接收电源,并存储在所述加密装置中所包含的电荷存储单元中;在对应于 所述加密演算法被执行的时间区域的第2状态下,所述加密装置中所包含的第2电荷传送 单元将所述电荷存储单元中存储的电荷传送给所述加密模块,且所述加密模块执行所述加 密演算法;以及在对应于所述加密演算法被执行后的时间区域的第3状态下,所述电荷存 储单元将包含在所述电荷存储单元内部的用于存储电荷的电荷存储元件放电。
[0025]技术效果
[0026]由于从外部电源提供至加密模块的电流与加密模块的演算法执行完全无关,因 此,可保障输入至加密模块或从加密模块中输出的电压和/或电流的值比现有技术具有更 高水平的相同性,从而防止有关所述加密模块的电力分析攻击。
【专利附图】

【附图说明】
[0027]图1是示出根据本发明的一个实施例的加密装置的示图;
[0028]图2是更详细地示出根据本发明的一个实施例的加密装置的示图;
[0029]图3是示出根据本发明的一个实施例的加密装置通过接收电荷,将电容器C22充 电的第I状态SI的示图;
[0030]图4是示出根据本发明的一个实施例的加密装置利用电容器C22中充电的电荷来 执行加密演算法的第2状态S2的示图;
[0031]图5是示出根据本发明的一个实施例的加密装置在执行加密演算法后将电容器 C22放电至一定水平的第3状态S3的示图。
【具体实施方式】
[0032]以下,参照附图对本发明的实施例进行详细地说明。但是,本发明并不受实施例限 制或局限,各附图中所示出的相同符号表示相同的部件。
[0033]图1是示出根据本发明的一个实施例的加密装置100的示图。
[0034]加密装置100包括加密模块110和控制模块200。加密模块(Encryption module) 110从控制模块(Control module) 220接收电荷来执行加密演算法。控制模块200 与VDD节点和GND节点连接,从外部电源单元接收电荷,并通过后述的操作方法提供给加密 模块110。
[0035]应理解,根据本发明的实施例加密模块110并不局限于特定的加密电路结构或演 算法。因此,加密模块110可包括多种结构,利用加密密钥(Encryption Key)来执行加密
演算法。
[0036]如图所示出的,根据本发明的一个实施例,电流iVDD从提供电流的VDD节点被输入 至加密装置100,其与加密模块中被演算的加密密钥无关,任何时候具有相同的值,且电流 iGND从加密装置被输出至GND(Ground)节点,同样与加密模块中被演算的加密密钥无关,任 何时候具有相同的值,因此,可有效地防止非侵入方式的电力分析攻击。
[0037]根据现有的技术,不管预先设计与否,加密装置100除了可以与VDD节点和GND节 点连接以外,也可与其他外部系统(external system)进行物理性连接。
[0038]特别是,GND节点,其不仅是加密装置100的一部分,也可以是外部的其他电路之间的共同节点(may be a common node)。因此,当加密装置100和VDD节点之间被开路 (opend), iVDD=0时,iGND也可能不是完整的O。
[0039]因此,根据现有的技术,不能完全排除经精密的ieND检测或GND节点的电压探测 (probing)产生电压分析攻击的可能性。
[0040]但是,根据本发明的实施例,由于加密装置100和VDD节点之间被开路(opend) 时,加密装置100和GND节点之间也被开路(opend),因此,在执行加密演算法时,可切断经 GND节点中的电压探测而可能产生的电力分析攻击。
[0041]以下,参照图2,对根据本发明的实施例的加密装置100的结构及操作方法进行详细地说明。
[0042]图2是更详细地示出根据本发明的一个实施例的加密装置100的示图。
[0043]根据本发明的一个实施例,控制模块200包括第I电荷传送单元210、电荷存储单元220、和第2电荷传送单元230。
[0044]根据本发明的一个实施例,第I电荷传送单元210可包括:开关S11,用来决定是否与VDD节点短路(short) /开路(open);和开关S12,用来决定是否与GND节点短路/开路。
[0045]在此,开关SI I和开关S12被同时被触发(triggered simultaneously),使加密装置100与VDD节点之间为开路时,加密装置100与GND节点也完全开路。
[0046]此外,电荷存储单元220包括:电容器C22,将从第I电荷传送单元接收的电荷充电;和分路开关S21,根据需要将电容器C22放电。
[0047]此外,第2电荷传送单元230可包括开关S31、S32,将加密模块110操作时所需的电流从电荷存储单元220传送至加密模块110。
[0048]根据本发明的一个实施例,所述开关S31、S32被同时触发,当开关S31、S32被打开时,加密装置100内的加密模块110与第2传送单元230之间的节点被完全开路。
[0049]此外,以电路形式被图示的各结构可通过多种电路模块或元件来体现。例如,根据本发明的一个实施例的开关,可通过互补金属氧化物半导体CMOS (Complementary metal -oxide - semiconductor)开关等已知的多种元件来体现。
[0050]此外,根据本发明的实施例,加密装置100通过VDD节点及GND节点从外部电源接收电荷,并利用接收的电荷,按顺序地来执行加密演算法的一系列操作步骤,并根据需要分为重复的三个状态(State)。
[0051]上述状态可包括:第I电荷传送单元210将从电源接收的电荷传送至电荷存储单元220,从而将电容器C22充电的第I状态SI ;第2电荷传送单元230将存储在电容器C22 中的电荷传送给加密模块110,从而来执行加密演算法的第2状态S2 ;以及将电容器C22放电的第3状态S3。
[0052]此外,上述状态SI至S3构成用于执行加密演算法的一个周期(Cycle),根据需要, 可对应于该周期来重复状态SI至S3。例如,可以是S1-S2-S3-S1-…的顺序。
[0053]以下,参照图3至图5,对状态SI至S3中第I电荷传送单元210、电荷存储单元 220、第2电荷传送单元220的操作进行详细地说明。
[0054]图3是示出根据本发明的一个实施例的加密装置通过接收电荷,将电容器C22充电的第I状态SI的示图。[0055]在第I状态SI中,第I电荷传送单元210将外部电源提供的电荷传送至电荷存储单元220的电容器C22,来将电容器C22充电。
[0056]在第I状态SI中,虽然开关Sll和开关S12被关闭(closed),来将C22充电,但是,由于开关S31和开关S32被打开,因此,加密装置100外部和加密模块110的连接完全被切断(disconnected)。S卩,在状态SI中,第2电荷传送单元230将电荷存储单元220和加密模块110之间的连接切断。
[0057]在这种情况下,由于电容器随时为完全放电的状态,因此,电源提供的电流iVDD只根据电容器的大小被决定。也就是说,电源所提供的电流iVDD与之前状态下所执行的加密模块的加密密钥值完全无关。
[0058]图4是示出根据本发明的一个实施例的加密装置利用电容器C22中充电的电荷来执行加密演算法的第2状态S2的示图。
[0059]在第2状态S2中,第I电荷传送单元210将电荷存储单元220和外部的连接完全切断。如图所示出的,开关Sll和开关S12同时被打开,加密装置100内的电荷存储单元220从外部电源的两侧节点VDD节点和GND节点中被完全分离。
[0060]在第2状态S2中,电荷存储单元220通过第2电荷传送单元230将电荷传送至加密模块110,且加密模块110利用接收到的电荷来执行加密演算法。
[0061]在该加密过程中,加密模块中所消耗的电荷量,S卩,电流,虽然依赖于加密密钥值,但加密装置100的外部,如图2的VDD节点和GND中,由于不能与加密模块110进行任何连接,因此,不可能电力分析攻击。
[0062]由于加密模块110使用后剩余的(residual)电荷仍存在于电容器C22中,且该残余电荷为加密模块中消耗剩余的量,所以依赖于加密密钥值。在这种情况下,将该残余电荷照原样放电至GND节点时,通过检测流至GND节点的电流iVDD,便可电力分析攻击。因此,在本发明中,使电容器两端短路来代替将剩余的电压放电至GND节点,由此,通过散热(thermal dissipation)及福射(radiation)使残余电荷放电后,重新执行用于充电的第I状态SI。因此,可确切地防止电力分析攻击。
[0063]图5是示出根据本发明的一个实施例的加密装置在执行加密演算法后将电容器C22放电至一定水平的第3状态S3的示图。
[0064]在第3状态S3中,如上所述,在执行加密演算法之后,将电容器C22中剩余的电荷放电至一定的水平。
[0065]在第3状态S3中,分路开关S21被关闭,来将电容器C22放电。虽然该放电是通过开关S21和电容器C22之间的电阻成分(未示图)与电容器C22的电容(capacitance)被决定的,但由于放电在短时间内产生,因此,在下一个周期的第I状态SI开始之前放电结束,不可能电力分析。上述的一定的水平可理解为不可能进行电力分析攻击的水平。
[0066]在上述的第3状态中,第I电荷传送单元210将外部电源与电荷存储单元220的连接完全切断,此外,第2电荷传送单元230将电荷存储单元220与加密模块110之间的连接完全切断。
[0067]此外,根据实施例,在第I状态SI至第3状态S3之间,各状态的状态转换(state-transition)时,可进一步包括所有开关被开路的步骤,从而使各状态不重复。上述多种实施例,也可被扩展至为防止电力分析攻击的其他任何的操作中。[0068]如上所述,根据本发明的实施例,电流iVDD从提供电流的VDD节点被输入至加密装 置100,其与加密模块中被演算的加密密钥无关,任何时候具有相同的值,且电流从加 密装置100被输出至GND (Ground)节点,同样与加密模块中被演算的加密密钥无关,任何时 候具有相同的值。
[0069]因此,在加密演算法被执行期间和/或加密存储单元220从外部电源接收电荷等 多种状态下,可有效地防止电力分析攻击。
[0070]根据本发明的实施例的方法,其可通过多种计算机手段被记录在执行各种操作的 程序指令的计算机可读媒体。该媒体计算机可读媒体可包括独立的或结合的程序指令、 数据文件、数据结构等。媒体和程序指令可专门为本发明的目的设计和创建,或为计算机 软件技术人员熟知而应用。计算机可读媒体的例子包括:磁媒体(magnetic media),如硬 盘、软盘和磁带;光学媒体(optical media),如⑶ROM、DVD ;磁光媒体(magneto-optical media),如光盘(floptical disk);和专门配置为存储和执行程序指令的硬件设备,如只读 存储器(ROM)、随机存取存储器(RAM)等。程序指令的例子,既包括机器代码,如由编译器产 生的,也包括含有可由计算机使用解释程序执行的更高级代码的文件。所述硬件设备可配 置为作为一个以上软件模块运行以执行上面所述的本发明的示例性实施例的操作,反之亦 然。
[0071]如上所示,本发明虽然已参照有限的实施例和附图进行了说明,但是本发明并不 局限于所述实施例,在本发明所属领域中具备通常知识的人均可以从此记载中进行各种修 改和变形。
[0072]因此,本发明的范围不受说明的实施例的局限或定义,而是由后附的权利要求范 围以及与权利要求范围等同的内容来定义。
【权利要求】
1.一种加密装置,包括:加密模块,执行加密演算法;和控制模块,从外部电源接收电荷,将电荷传送至所述加密模块后,切断所述加密模块和所述电源的模块之间的电流路径,从而将电荷传送至所述加密模块。
2.如权利要求1所述的加密装置,其中,所述控制模块,在所述加密演算法被执行期间,将所述外部电源与所述加密模块之间电切断。
3.如权利要求1所述的加密装置,其中,所述控制模块,包括:电荷存储单元,将电荷存储一段时间后,提供给所述加密模块。
4.如权利要求1所述的加密装置,其中,所述加密模块,其与不同于所述外部电源的接地节点的其他接地节点连接。
5.如权利要求3所述的加密装置,其中,所述电荷存储单元,包括:电容器,用于存储电荷。
6.如权利要求5所述的加密装置,其中,所述控制模块,进一步包括:第I电荷传送单元,在对应于所述加密演算法被执行之前的时间区域的第I状态下,从所述外部电源接收电源,并传送给所述电荷存储单元,从而将所述电容器充电。
7.如权利要求6所述的加密装置,其中,所述第I电荷传送单元,包括:第I开关,使所述外部电源的正极节点VDD节点与所述电容器的第I终端之间短路或开路;和第2开关,与所述第I开关同 时被触发,使所述外部电源的接地节点GND节点与所述电容器的第2终端之间短路或开路。
8.如权利要求5所述的加密装置,其中,所述控制模块,进一步包括:第2电荷传送单元,在对应于所述加密演算法被执行的时间区域的第2状态下,从所述电荷存储单元接收电荷,并传送给所述加密模块。
9.如权利要求8所述的加密装置,其中,所述第2电荷传送单元,包括:第3开关,使所述电容器的第I终端与所述加密模块的第I终端之间短路或开路;和第4开关,与所述第3开关同时被触发,使所述电容器的第2终端与所述加密模块的第 2终端之间短路或开路。
10.如权利要求5所述的加密装置,其中,所述电荷存储单元,进一步包括:第5开关,在对应于所述加密演算法被执行后的时间区域的第3状态下关闭,将所述电荷存储单元中包括的所述电容器放电。
11.一种加密装置,包括:加密模块,执行加密演算法;第I电荷传送单元,在对应于所述加密演算法被执行之前的时间区域的第I状态下,从外部电源接收电源;电荷存储单元,将所述第I状态中所述第I电荷传送单元所接收并传送的电荷进行存储;和第2电荷传送单元,在对应于所述加密演算法被执行的时间区域的第2状态下,从所述电荷存储单元接收电荷,并传送给所述加密模块,且其中,在所述第2状态下,所述第I电荷传送单元使所述加密模块的接地终端与所述外部电源的接地终端不连接,来切断连接。
12.如权利要求11所述的加密装置,其中,所述电荷存储单元,包括: 电容器,存储所述第I电荷传送单元所传送的电荷;和 开关,对应于所述加密演算法被执行后的时间区域,并在对应于所述加密演算法被执行后其他加密演算法被执行之前的时间区域的第3状态下,使所述电容器的正极短路,来将所述电容器放电。
13.—种加密装置的操作方法,所述加密装置包括用于执行加密演算法的加密模块,所述加密装置的操作方法包括以下步骤: 在对应于所述加密演算法被执行之前的时间区域的第I状态下,所述加密装置中所包含的第I电荷传送单元从外部电源接收电源,并存储在所述加密装置中所包含的电荷存储单元中; 在对应于所述加密演算法被执行的时间区域的第2状态下,所述加密装置中所包含的第2电荷传送单元将所述电荷存储单元中存储的电荷传送给所述加密模块,且所述加密模块执行所述加密演算法;以及 在对应于所述加密演算法被执行后的时间区域的第3状态下,所述电荷存储单元将包含在所述电荷存储单元内部 的用于存储电荷的电荷存储元件放电。
【文档编号】H04L9/06GK103460638SQ201180069458
【公开日】2013年12月18日 申请日期:2011年3月31日 优先权日:2011年3月31日
【发明者】金东奎, 崔秉德, 金兑郁 申请人:汉阳大学校产学协力团
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1