CN107547191A - 免受侧信道分析的保护方法和设备 - Google Patents

免受侧信道分析的保护方法和设备 Download PDF

Info

Publication number
CN107547191A
CN107547191A CN201710499971.9A CN201710499971A CN107547191A CN 107547191 A CN107547191 A CN 107547191A CN 201710499971 A CN201710499971 A CN 201710499971A CN 107547191 A CN107547191 A CN 107547191A
Authority
CN
China
Prior art keywords
circuit
signal
input data
moment
power consumption
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.)
Pending
Application number
CN201710499971.9A
Other languages
English (en)
Inventor
G·加戈纳罗特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Echal Co
EshardSAS
Original Assignee
Echal Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Echal Co filed Critical Echal Co
Publication of CN107547191A publication Critical patent/CN107547191A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Power Sources (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本发明涉及一种免受侧信道分析的保护方法和设备。本发明涉及一种用于通过电路执行操作的方法,所述方法包括:执行处理输入数据的第一操作,所述电路在所述第一操作的执行期间生成第一信号;以及执行第二操作,所述第二操作接收所述输入数据并被配置为在所述第一操作的执行期间的第一和第二时刻之间将连续的第二信号加到所述第一信号上,所述第一和第二信号的组合形成合成信号,在该合成信号中,不能从所述电路外部借助所述第一信号清晰地测量所述第二信号,所述第二信号和所述合成信号根据所述输入数据而变化。

Description

免受侧信道分析的保护方法和设备
技术领域
本发明涉及一种用于保护电路或程序免受旨在发现由电路或程序处理的机密数据,特别是由加密或解密算法用于变换消息的密钥的值的侧信道分析的方法和设备。
本发明特别涉及实现诸如AES(高级加密标准)之类的密码算法的智能卡集成电路或集成到计算机和其它电子和IT设备(USB驱动器、电视解码器、游戏控制台等)的母板上的硬件加密组件。本发明还涉及实现这种算法的程序,该程序用于在安全或不安全的环境中执行。
背景技术
诸如实现密码算法的电路可以包括中央处理单元(CPU),并且可能包括专用于密码计算的电路,例如密码协处理器。这些电路可以包括根据所执行的操作以不同的方式切换的数千个逻辑门。这些切换操作在电流消耗上产生短暂变化(例如几纳秒),并且这些变化可以被测量。具体而言,CMOS型集成电路包括在切换时(即,当逻辑节点将其状态变为1或0时)才消耗电流的逻辑门。因此,电流消耗取决于中央处理单元处理的数据及其各种外围设备(存储器)上的数据、在数据或地址总线上流动的数据、密码协处理器等。
此外,使用加密或模糊技术(例如白盒密码术技术)的某些软件程序可以以非常难以通过逆向工程确定的方式来集成机密数据。某些软件程序还可以通过安全通信信道从外部接收机密数据。
当观察到这些电路的电流消耗、或它们的磁或电磁辐射时,这些电路可能会受到所谓的侧信道分析攻击。此类攻击旨在发现机密数据,特别是加密密钥。当前侧信道攻击实施诸如SPA(“单功耗分析”)、DPA(“差分功耗分析”)、CPA(“相关功耗分析”)或EMA(“电磁分析”)之类的统计分析方法。SPA分析(参考文献[1])通常只需要获取单个电流消耗踪迹。其目的是通过观察对应于密码计算的消耗踪迹的一部分来获得关于集成电路的活动的信息,因为当前踪迹根据所执行的操作和所处理的数据而变化。
软件在被电路执行时也可能经历这种侧信道攻击。
DPA(参考文献[2])和CPA分析使得能够通过获取大量电路消耗踪迹并通过对这些踪迹进行统计分析以查找目标信息来找到加密算法的密钥。它们基于这样的前提:即,当寄存器中或总线上的位从0变为1时,CMOS型集成电路的消耗发生变化,以及当位保持等于0、保持等于1或从1变为0(MOS晶体管的寄生电容的放电)时,其不发生变化。或者,可以认为当位从0变为1或从1变为0时,CMOS型集成电路的消耗发生变化,并且当位保持等于0或保持等于1时,CMOS型集成电路的消耗不变。该第二假设使得能够使用常规的“汉明距离”或“汉明权重”函数以便开发不需要知道集成电路的结构可应用的消耗模型。DPA分析涉及通过对大量消耗踪迹的统计处理来放大该消耗差异,目的在于突出根据公式假设区分的两个消耗踪迹族之间的测量差异。
CPA分析(参考文献[3])基于线性电流消耗模型,并且涉及计算首先所测量的形成捕获的消耗踪迹的消耗点与其次根据线性消耗模型和有关由微电路处理的待发现的数据以及有关加密密钥的值的假设而计算的推定消耗值之间的相关系数。
电磁分析(EMA)基于如下原理:即,集成电路可以以近场或远场电磁辐射的形式发送信息。假设晶体管和连接它们的线在晶体管状态改变时发射电磁信号,则可以通过诸如SPA、DPA和CPA分析中的一种或其它分析,像电流消耗变化信号那样处理这些信号。此分析的一个应用实例由Jean-Jacques Quisquater(参考文献[4])在2001年做出。
存在其它侧信道分析,例如“模板分析”(参考文献[5])和“交互信息分析”(MIA)(参考文献[6])。所有上述分析都基于所有被分析的踪迹的时间对准。换言之,在给定时间(例如从命令的执行被电路激活的时间)执行的所有测量必须对应于由算法处理的相同数据。
由申请人于2016年2月22日提交的专利申请N°FR16 51443公开了一种用于在电路连续地对不同的输入数据执行操作时分析代表电路活动的踪迹的方法。此方法包括提取每个踪迹的一部分,并且通过对出现在这些踪迹的每个提取部分中的每个可能值的出现次数进行计数,根据每个提取的踪迹部分生成直方图。然后通过对每个输入数据和操作中涉及的密钥的一部分的每个可能值应用操作来计算操作的部分结果。然后,此方法针对密钥的每个可能的部分值,识别提供相同部分结果的所有输入数据。对于密钥的每个可能的部分值,然后将对应于识别的输入数据和密钥的部分值的直方图中的出现次数进行相加。密钥的一部分可以通过对相加的出现次数进行统计分析来确定。统计分析假设如果与密钥相关的值已经在所提取的踪迹部分中泄露,则可以通过相加的出现次数突出它。
可能需要保护集成电路免受这些侧信道分析中的一种或多种。具体地说,可能需要保护此类电路免受利用功耗踪迹或电磁踪迹的分析。
发明内容
描述一种用于通过电路执行操作的方法。所述方法可以包括:执行处理输入数据的第一操作,所述电路在所述第一操作的执行期间生成第一信号;以及执行第二操作,所述第二操作接收所述输入数据并被配置为在所述第一操作的执行期间的第一和第二时刻之间将连续的第二信号加到所述第一信号上,所述第一和第二信号的组合形成合成信号(resultant signal),在该合成信号中,不能从所述电路外部借助所述第一信号清晰地测量所述第二信号,所述第二信号和所述合成信号根据所述输入数据而变化。
根据一个实施例,所述第二信号具有取决于所述输入数据在所述第一和第二时刻之间的值的恒定值。
根据一个实施例,所述第二信号根据取决于所述输入数据的所述值的分布而在所述第一和第二时刻之间变化。
根据一个实施例,所述第一和第二信号是所述电路的功耗或是所述电路的电磁辐射。
根据一个实施例,所述第二操作包括在所述第一和第二时刻之间使用所述输入数据来控制可变电阻器,以生成形式为所述电路的额外功耗的所述第二信号,所述第一信号是所述电路的功耗。
根据一个实施例,所述第二操作包括:使用所述输入数据作为种子生成随机数序列;以及在所述第一和第二时刻之间以一时钟率使用所述随机数序列的随机数来控制所述可变电阻器。
根据一个实施例,所述第二操作包括:将所述输入数据分成字;以及控制多个可变电阻器,所述字中的每一者被用于在所述第一和第二时刻之间控制所述可变电阻器中的相应一者,以生成形式为所述电路的额外功耗的所述第二信号,所述第一信号是所述电路的功耗。
根据一个实施例,所述第二操作包括:针对所述输入数据的每个字,仅根据该字生成一个随机数序列;以及在所述第一和第二时刻之间以一时钟率使用所述随机数序列中的相应一者的随机数来控制所述可变电阻器中的每一者。
根据一个实施例,所述第二操作包括:处理循环,其在所述第一和第二时刻之间处理所述输入数据,或者第三操作,其变换所述输入数据,以及第四操作,其与所述第一操作相同或相似并且在所述第一和第二时刻之间处理从所述第三操作接收的变换后的数据。
根据一个实施例,所述第二操作包括在所述第一和第二时刻之间使用所述输入数据来控制可变电容器,以生成形式为所述电路的额外电磁辐射的所述第二信号,所述第一信号是所述电路的电磁辐射。
各实施例还可以涉及一种电路,其包括实现第一操作的第一电路部和实现第二操作的第二电路部,所述电路被配置为实现上面定义的方法。
根据一个实施例,所述第一和第二电路部彼此交错或嵌套。
根据一个实施例,所述电路包括:协处理器,所述协处理器包括所述第一和第二电路部,或者处理器,所述处理器包括所述第一和第二电路部。
各实施例还可以涉及一种设备,其包括被设置在介质上的如上面定义的电路。
各实施例还可以涉及一种计算机程序产品,其可加载到计算机的内部存储器中并包括代码部分,当由计算机执行时,所述代码部分配置所述计算机以执行上面定义的方法的步骤。
附图说明
通过参考下面的附图和说明书,可以更好地理解上述方法和/或设备。非限制且非穷举的说明书借助以下附图进行描述。在附图中,相同的参考标号可以指不同附图当中的相同部分,除非另有所指,这些附图是:
图1示意性地表示安全电路的常规架构;
图2表示根据一个实施例保护的电路;
图3表示根据一个实施例修正的功耗踪迹;
图4到7表示根据多种实施例的受保护电路;
图8表示根据另一实施例修正的功耗踪迹;
图9和10表示根据其它实施例保护的电路。
具体实施方式
作为一个实例,图1表示安全集成电路CT,该集成电路例如布置在诸如塑料卡或任何其它介质的便携式介质HD上,或者布置在诸如移动终端的终端中。所述集成电路包括微处理器PRC、输入/输出电路IOC,通过数据和地址总线耦合到微处理器的存储器M1、M2、M3以及可选地包括加密计算协处理器CP1或算术加速器,以及随机数发生器RGN。存储器可以包括易失性存储器M1,例如包含易失性应用数据的RAM型(“随机存取存储器”)存储器;非易失性存储器M2,例如包含非易失性数据和应用程序的EEPROM或闪存;以及可能只读存储器(或ROM存储器),其包含微处理器的操作系统。操作系统还可以存储在非易失性存储器中。
通信接口电路IOC可以是例如根据ISO/IEC 7816标准的接触型电路,例如根据ISO/IEC 14443A/B或ISO/IEC 13693标准的具有感应耦合的非接触型电路,借助电耦合的非接触型电路(UHF接口电路),或同时为接触型和非接触型电路。接口电路IOC还可以通过特定接口耦合到诸如NFC控制器的另一电路,或者诸如移动终端或连接对象的终端的主电路。
在某些实施例中,集成电路CT可以被配置为借助加密功能执行对发送给它的消息执行诸如加密、解密或签名的操作。该加密功能可以由电路CT的处理器PRC执行,或者部分地或完全地由处理器PRC的协处理器CP1执行。
本文提出基于电路发射的主信号(例如电路的功耗或信号发射的电磁辐射),例如在诸如电路CT的电路中实现的密码算法中保护操作免受侧信道分析。通过在操作的执行期间生成根据要保护的操作的输入数据变化的附加信号(额外功耗或电磁辐射)来达到此目的。附加信号可以与输入数据的值相关或无关。每当向电路输入相同的输入数据时,生成与输入数据关联的附加信号。因此,当不存在附加信号时,可从电路外部测量的信号对应于主信号,当存在附加信号时,可测信号对应于由主信号和附加信号的组合形成的合成信号。此外,附加信号被生成为使得在可从电路外部测量的信号中,不能借助主信号清晰地测量该附加信号。合成信号也根据输入数据而变化。
与根据公知保护方法添加的随机噪声信号相比,根据本保护方法生成和添加的附加信号具有确定性。因此,当电路多次执行被应用于相同或不同的输入数据的同一操作时,不能通过对电路发出的信号的统计分析来去除所述附加信号。由于相同的原因,不能通过上述方法(此方法通过计算和分析经由所提取的踪迹部分生成的直方图来分析从电路测量的踪迹)将附加信号作为噪声去除。事实上,取决于输入数据的附加信号移动根据输入数据所获得的直方图,从而消除使用某些统计功能区分正确值的能力。
图2表示诸如电路CT的电路CT1,其包括实现要保护的操作OPR的电路部分CTP,操作OPR接收输入数据IND。根据一个实施例,电路CT1包括应用输入数据IND的电路部分PTC1,并且当电路CT1执行操作OPR时,电路部分PTC1生成一个呈现为被添加到电路CT1生成的可测量信号上的恒定附加信号。附加信号与输入数据IND的值相关联,但在物理上与其独立,以使得输入数据的值不能从该附加信号被导出。附加信号可被设定为由电路发射,并且可从电路外部测量的主信号的最大振幅的1%至33%之间的值。根据一个实施例,附加信号被设定为由电路发射,并且可从电路外部测量的信号的最大幅度的1%和10%之间的值。
在图2的实例中,电路部分PTC1包括具有由从输入数据IND生成的控制信号控制的电阻值的受控电阻器VR。电阻器VR可以连接在电路CT1的电压源和地之间。因此,电路部分PTC1根据输入数据IND的值生成恒定的额外功耗,该额外功耗被加到电路CT1的功耗上。
图3表示在没有电路部分PTC1的情况下或者当电路部分PTC1保持不活动时,当操作OPR分别处理第一和第二不同的输入数据时,在时刻t1和t2之间获取的功耗踪迹PT1、PT2的实例。当电路CT1处理输入数据IND1时获取功耗踪迹PT1,并且当电路CT1处理输入数据IND2时,获取功耗踪迹PT2。从为了处理数据IND1或IND2而激活操作OPR起确定时刻t1和t2。当操作OPR处理输入数据IND1时,电路部分PTC1在电路CT1的功耗中引入恒定的额外功耗DP1。因此,电路CT1产生对应于功耗踪迹PT1的从功耗踪迹PT1偏移的功耗踪迹PM1,偏移值对应于额外功耗DP1。当通过操作OPR处理输入数据IND2时,电路部分PTC1在电路CT1的功耗中引入与额外功耗DP1不同的额外的恒定功耗DP2。因此,电路CT1生成对应于功耗踪迹PT2但从功耗踪迹PT2偏移的功耗踪迹PM2,偏移值对应于额外功耗DP2。
被应用于电阻器VR的控制信号可以直接地是输入数据IND或通过变换输入数据IND的值而产生的值。根据一个实例,如果输入数据IND在一个字节上编码,则被应用于电阻器VR的命令可以是IND/0xFF(=IND/255)。如果输入数据IND在两个字节上编码,则被应用于电阻器VR的控制信号可以是IND/0xFFFF。由电阻器VR引入的额外功耗可以被设定为1%和最大值之间的值,该值可被设定在电路的功耗的10%至33%之间。
由于电阻器VR施加的功率偏移与输入数据之间的关联,以及由于电阻器VR和操作OPR的执行在电路功耗中的相应贡献不可区分或不可单独测量,因此通过不同的输入数据获得的功耗踪迹的统计分析不能消除功率偏移。此保护方法可以被证明能够有效地防御大多数上述侧信道分析。操作OPR可以由硬件实现,例如,诸如协处理器CP1之类的特定电路,电路部分PTC1是该特定电路的一部分。操作OPR也可以由处理器PRC或协处理器CP1执行的软件来实现。在这种情况下,电路部分PTC1可以是处理器PRC或协处理器的一部分。应当注意,可以使用具有取决于控制信号的值的功耗的任何其它受控部件作为可变电阻器VR的替代。
图4表示包括实现要保护的操作OPR的电路部分CTP和保护电路部分PTC2的电路CT2。根据一个实施例,电路部分PTC2包括数个可变电阻器VR,它们相同或不同,并且如图4所示并联连接,或者串联连接。电路部分PTC2的每个可变电阻器VR使用被应用于操作OPR的输入数据IND的一部分来控制。例如,输入数据IND在多个字节上编码,数据IND的每个字节被用于控制相应的可变电阻器VR。以这种方式,可以适应可被应用于电路CT2的功耗踪迹的偏移值DP1、DP2,特别是获得较宽范围的功率偏移值。
包括执行操作OPR的电路部分CTP的电路CT3的另一实例在图5中示出。电路CT3包括被配置为根据输入数据IND的值发射电磁辐射的电路部分PTC3。电路部分PTC3包括借助输入数据IND控制的可变电阻器VR和诸如电感CL(例如线圈)的组件,该组件与电阻器VR和主动屏蔽AS形成RL电路。RL电路(VR-CL-AS)可以连接在电路的电源和地之间。主动屏蔽AS覆盖包括电路部分CTP的电路CT3的至少一部分。地可以是也覆盖电路CT3的至少一部分的接地平面。电路部分PTC3被控制为只要电路部分CTP处理输入数据IND就产生电磁辐射。电阻器VR根据输入数据IND的值在电路CT3中产生恒定的额外功耗。
图6表示包括实现要保护的操作OPR的电路部分CTP和保护电路部分PTC4的电路CT4。根据一个实施例,电路部分PTC4包括借助输入数据IND控制,并且连接在电路CT4的源电压与包含奇数个反相器I1、I2、I3(这些反相器互联以形成环形振荡器)的电路之间的可变电容器VC。电路部分PTC4进一步包括连接在反相器I2和I3之间的结节点与电路CT4的地之间的电容器C1。电路PTC4的环形振荡器生成具有狄拉克谱的信号,其辐射具有取决于受控电容器VC的值的振幅的电磁白噪声。
图7表示包括实现要保护的操作OPR的电路部分CTP和保护电路部分PTC5的电路CT5。根据一个实施例,电路部分PTC5包括由接收操作OPR的输入数据IND作为种子的伪随机数生成器电路PRNG的输出控制的可变电阻器VR。电路PRNG被配置为生成仅依赖被应用于其输入的数据的值的随机数。电路PRNG通过时钟信号CK计时,并且将其输出反馈到其输入端,以使用在上一时钟周期生成的随机数作为种子,在每个时钟周期生成一个新的随机数。因此,电路PRNG以时钟信号CK的速率生成一个随机数序列,该随机数序列对于给定的输入数据IND始终是相同的。以这种方式,可变电阻器VR在电路CT5的功耗踪迹中产生在时钟信号CK的每个周期变化的功率偏移,但是如此产生的功率偏移的分布仅取决于输入数据的值IND。在此,再次地,在被应用于可变电阻器VR的命令输入端之前,由电路PRNG生成的序列的随机数可以经历变换(诸如RND/0xFF,RND是序列的随机数)。
图8表示当输入数据IND1和IND2被操作OPR分别处理时,在时刻t1和t2之间获得的功耗踪迹PT1、PT2。图8还表示在分别接收输入数据IND1和IND2的电路PRNG的控制下,由电阻器VR生成的两个功率偏移分布PP1、PP2的实例。功率偏移分布PP1、PP2表明电阻器VR产生在时钟信号CK的时钟周期TCK期间保持恒定,并且可以在每个时钟周期改变的功耗。每个功率偏移分布PP1、PP2的形状仅取决于同时被应用于操作OPR以及电路PRNG的输入端的输入数据IND1,IND2。当另一输入数据被应用于操作OPR时,该输入数据同时被应用于生成特定于该输入数据的随机数序列的电路PRNG的输入端,该序列的每个随机数被用于控制可变电阻VR。
由于通过操作OPR处理输入数据IND期间的功率偏移的变化,功率偏移具有仅与通过操作当前处理的输入数据IND相关联的分布,此保护方法可以被证明能够有效地防止所有上述侧信道分析。时钟信号CK不一定与对操作OPR执行的处理进行计时的时钟信号相同或同步。
图4和7的实施例可以被组合,电路CT5针对输入数据IND中的每个字包括一个电路部分PTC5。因此,输入数据IND的每个字被用作被引入伪随机数生成器的种子,该伪随机数生成器生成控制相应可变电阻器的随机数序列。
图9表示包括实现要保护的操作OPR的电路部分CTP的电路CT6。根据另一实施例,电路CT6包括执行另一操作FCT1的另一电路部分PTC6,其也在与操作OPR相同的时间上接收相同的输入数据IND。电路部分PTC6被配置为连续生成附加信号,例如根据仅取决于输入数据IND的分布在时刻t1和t2期间变化的额外功耗和/额外电磁辐射,该附加信号被加到执行操作OPR的电路CT6的信号(即功耗和/或电磁辐射)上。根据一个实例,电路部分PTC6包括执行操作FCT1的处理循环,该操作FCT1首先被应用于输入数据IND,然后被应用于由操作FCT1提供的输出数据,该处理循环在时刻t1和t2期间被激活。
图10示出包括实现操作OPR的电路部分CTP的电路CT7的另一实例。电路CT7包括电路部分PTC7,该电路部分实现变换输入数据IND的第一操作TCF和被应用于由第一操作TCF提供的变换后的数据IND'的操作OPR1。操作OPR1可以与由电路部分CTP实现的操作OPR相同或类似,以使得当电路部分PTC7对相同的输入数据IND'执行操作OPR时,在电路部分PTC7中实现的操作OPR1可以生成与电路CT7相同的信号(功耗和/或电磁辐射)。以这种方式,当电路部分CTP执行操作OPR时,电路部分PTC7生成取决于输入数据IDN的额外功耗和额外电磁辐射两者,这些额外功耗和外电磁辐射的振幅与电路部分CTP具有相同的量级。
操作OPR和OPR1可以分别由电路CT的处理器PRC和协处理器CP1实现,或由协处理器CP1的两个部分实现,或由两个核实现,处理器PRC在一个实施例中是多核处理器。因此,可以严格地同时执行在电路部分CTP和PTC7中实现的两个操作OPR、OPR1。电路部分PTC7和CTP可以彼此物理地缠结或彼此嵌套,以使得不可能单独测量它们的电磁辐射。
本文公开的方法还可以通过可由计算机系统执行的软件程序来实现。此外,实施方式可以包括分布式处理和/或并行处理,特别是用于并行地处理接收相同输入数据以生成不可清晰地测量的信号(诸如功耗变化信号或电磁辐射信号)的两个操作。
本文描述的例示旨在提供各种实施例的结构的一般理解。这些例示并非旨在用作利用其中描述的结构或方法的装置、处理器和系统的所有元件和特征的完整描述。通过组合所公开的实施例,在仔细研究本公开时,许多其它实施例或它们的组合对于所属技术领域的普通技术人员来说可以显而易见。可以从本公开中利用和导出其它实施例,以使得可以在不偏离本公开的范围的情况下进行结构和逻辑上的替换和改变。
此外,本公开和例示被视为示例性的而不是限制性的,并且所附权利要求书旨在覆盖落入说明书的真实精神和范围内的所有此类修改、增强和其它实施例。因此,以下权利要求的范围由权利要求及其等效物的最广泛的允许解释来确定,并且不受以上描述的限定或限制。
引用的参考文献
[1]作者P.C.Kocher,“Timing attacks on implementations of Diffie-Hellman,RSA,DSS,and other systems”,Neal Koblitz编辑,Advances in Cryptology-CRYPTO'96,计算机科学讲义第1109卷,第104-113页,Springer,1996年。
[2]作者P.C.Kocher、J.Jaffe和B.Jun,“Differential Power Analysis”,M.J.Wiener编辑,Advances in Cryptology-CRYPTO'99,计算机科学讲义第1666卷,第388-397页,Springer,1999年。
[3]作者E.Brier、C.Clavier和F.Olivier,“Correlation Power Analysis witha Leakage Model”,M.Joye和J-J.Quisquater编辑,Cryptographic Hardware andEmbedded Systems-CHES 2004,计算机科学讲义第3156卷,第16-29页,Springer,2004年。
[4]作者J.-J.Quisquater,“ElectroMagnetic Analysis(EMA):Measures andCounter-measures for Smart Cards”,Smart Card Programming and Security,Springer Berlin/Heidelberg,第2140、2001卷,第200-210页
[5]作者S.Chari、J.R.Rao和P.Rohatgi,“Template Attacks”,Kaliski Jr.、B.S.、C.K.、Paar、C(编辑),CHES 2002.LNCS,第2523卷,第172-186页,Springer,Heidelberg(2003年)
[6]作者B.Gierlichs、L.Batina、P.Tuyls和B.Preneel,“Mutual InformationAnalysis”,CHES 2008,LNCS的第5154卷,第426-442页,Springer,2008年

Claims (15)

1.一种用于通过电路执行操作的方法,所述方法包括:
执行处理输入数据的第一操作,所述电路在所述第一操作的执行期间生成第一信号;以及
执行第二操作,所述第二操作接收所述输入数据并被配置为在所述第一操作的执行期间的第一和第二时刻之间将连续的第二信号加到所述第一信号上,所述第一和第二信号的组合形成合成信号,在该合成信号中,不能从所述电路外部借助所述第一信号清晰地测量所述第二信号,所述第二信号和所述合成信号根据所述输入数据而变化。
2.根据权利要求1所述的方法,其中所述第二信号具有取决于所述输入数据在所述第一和第二时刻之间的值的恒定值。
3.根据权利要求1所述的方法,其中所述第二信号根据取决于所述输入数据的所述值的分布而在所述第一和第二时刻之间变化。
4.根据权利要求1至3中的一项所述的方法,其中所述第一和第二信号是所述电路的功耗或是所述电路的电磁辐射。
5.根据权利要求1至4中的一项所述的方法,其中所述第二操作包括在所述第一和第二时刻之间使用所述输入数据来控制可变电阻器,以生成形式为所述电路的额外功耗的所述第二信号,所述第一信号是所述电路的功耗。
6.根据权利要求5所述的方法,其中所述第二操作包括:
使用所述输入数据作为种子生成随机数序列;以及
在所述第一和第二时刻之间以一时钟率使用所述随机数序列的随机数来控制所述可变电阻器。
7.根据权利要求1至4中的一项所述的方法,其中所述第二操作包括:
将所述输入数据分成字;以及
控制多个可变电阻器,所述字中的每一者被用于在所述第一和第二时刻之间控制所述可变电阻器中的相应一者,以生成形式为所述电路的额外功耗的所述第二信号,所述第一信号是所述电路的功耗。
8.根据权利要求7所述的方法,其中所述第二操作包括:
针对所述输入数据的每个字,仅根据该字生成一个随机数序列;以及
在所述第一和第二时刻之间以一时钟率使用所述随机数序列中的相应一者的随机数来控制所述可变电阻器中的每一者。
9.根据权利要求1至4中的一项所述的方法,其中所述第二操作包括:
处理循环,其在所述第一和第二时刻之间处理所述输入数据,或者
第三操作,其变换所述输入数据,以及第四操作,其与所述第一操作相同或相似并且在所述第一和第二时刻之间处理从所述第三操作接收的变换后的数据。
10.根据权利要求1至4中的一项所述的方法,其中所述第二操作包括在所述第一和第二时刻之间使用所述输入数据来控制可变电容器,以生成形式为所述电路的额外电磁辐射的所述第二信号,所述第一信号是所述电路的电磁辐射。
11.一种电路,其包括实现第一操作的第一电路部和实现第二操作的第二电路部,所述电路被配置为实现根据权利要求1至10中的一项所述的方法。
12.根据权利要求11所述的电路,其中所述第一和第二电路部彼此交错或嵌套。
13.根据权利要求11或12所述的电路,包括:
协处理器,所述协处理器包括所述第一和第二电路部,或者
处理器,所述处理器包括所述第一和第二电路部。
14.一种设备,其包括被设置在介质上的根据权利要求11至13中一项所述的电路。
15.一种计算机程序产品,其可加载到计算机的内部存储器中并包括代码部分,当由计算机执行时,所述代码部分配置所述计算机以执行根据权利要求1至10中的一项所述的方法的步骤。
CN201710499971.9A 2016-06-28 2017-06-27 免受侧信道分析的保护方法和设备 Pending CN107547191A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP16176714.0A EP3264311B1 (en) 2016-06-28 2016-06-28 A protection method and device against a side-channel analysis
EP16176714.0 2016-06-28

Publications (1)

Publication Number Publication Date
CN107547191A true CN107547191A (zh) 2018-01-05

Family

ID=56289380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710499971.9A Pending CN107547191A (zh) 2016-06-28 2017-06-27 免受侧信道分析的保护方法和设备

Country Status (4)

Country Link
US (1) US11070359B2 (zh)
EP (1) EP3264311B1 (zh)
KR (1) KR20180002072A (zh)
CN (1) CN107547191A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3026206B1 (fr) * 2014-09-23 2017-12-01 Inside Secure Procede de contremesure contre une attaque par analyse de consommation electrique pour dispositif cryptographique
US11188682B2 (en) * 2016-06-17 2021-11-30 Arm Limited Apparatus and method for masking power consumption of a processor

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070076890A1 (en) * 2005-08-24 2007-04-05 The University Of Guelph Current flattening and current sensing methods and devices
US20090146528A1 (en) * 2004-10-27 2009-06-11 Georg Bachmaier Hybrid control circuit
CN101729241A (zh) * 2008-10-23 2010-06-09 国民技术股份有限公司 抵御差分能量攻击的aes加密方法
EP2365659A1 (fr) * 2010-03-01 2011-09-14 Inside Secure Procédé de test de la résistance d'un circuit intégré à une analyse par canal auxiliaire
US20110260749A1 (en) * 2010-04-26 2011-10-27 Alexander Roger Deas Synchronous logic system secured against side-channel attack
CN104283673A (zh) * 2014-10-09 2015-01-14 东南大学 密码电路系统的随机动态电压调节抗攻击方法及电路系统

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5103459B1 (en) * 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
US5212435A (en) * 1992-05-22 1993-05-18 Morrill Motors Inc. Variable speed asynchronous induction motor
JP2002519722A (ja) 1998-06-03 2002-07-02 クリプターグラフィー リサーチ インコーポレイテッド スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス
US6295606B1 (en) 1999-07-26 2001-09-25 Motorola, Inc. Method and apparatus for preventing information leakage attacks on a microelectronic assembly
JP4596686B2 (ja) 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
CN100565445C (zh) 2004-01-27 2009-12-02 Nxp股份有限公司 对功率分析攻击的防护
ATE345620T1 (de) 2004-05-24 2006-12-15 Research In Motion Ltd Tabellenmaskierung zur beständigkeit gegen angriffe durch analyse der leistungsaufnahme.
US7848514B2 (en) 2004-05-24 2010-12-07 Research In Motion Limited Table masking for resistance to power analysis attacks
FR2873523B1 (fr) 2004-07-22 2007-08-10 Sagem Procede et dispositif d'execution d'un calcul cryptographique
FR2875318A1 (fr) 2004-09-15 2006-03-17 St Microelectronics Sa Protection d'un algorithme des
GB2443355B (en) 2005-01-27 2008-08-06 Samsung Electronics Co Ltd Cryptographic logic circuits and method of performing logic operations
FR2893796B1 (fr) 2005-11-21 2008-01-04 Atmel Corp Procede de protection par chiffrement
US7504897B2 (en) * 2006-10-30 2009-03-17 Agere Systems Inc. Switched-current oscillator for clock-frequency spreading
DE102007007699A1 (de) 2007-02-09 2008-08-14 IHP GmbH - Innovations for High Performance Microelectronics/Institut für innovative Mikroelektronik Reduktion von Seiten-Kanal-Informationen durch interagierende Krypto-Blocks
US8217699B2 (en) * 2007-02-22 2012-07-10 Agency For Science, Technology And Research Apparatus for generating a plurality of signals
JP2008252299A (ja) 2007-03-29 2008-10-16 Hitachi Ltd 暗号処理システム及び暗号処理方法
FR2941342B1 (fr) 2009-01-20 2011-05-20 Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst Circuit de cryptographie protege contre les attaques en observation, notamment d'ordre eleve.
US8847638B2 (en) * 2009-07-02 2014-09-30 Qualcomm Incorporated High speed divide-by-two circuit
TWI452810B (zh) * 2011-11-08 2014-09-11 Richtek Technology Corp 電源轉換器的混合式補償電路及方法
FR2985624B1 (fr) 2012-01-11 2014-11-21 Inside Secure Procede de chiffrement protege contre des attaques par canaux auxiliaires
US9569616B2 (en) 2013-12-12 2017-02-14 Cryptography Research, Inc. Gate-level masking
US9735953B2 (en) * 2015-03-06 2017-08-15 Qualcomm Incorporated Side channel analysis resistant architecture
US20160269175A1 (en) 2015-03-09 2016-09-15 Qualcomm Incorporated Cryptographic cipher with finite subfield lookup tables for use in masked operations
JP6587188B2 (ja) * 2015-06-18 2019-10-09 パナソニックIpマネジメント株式会社 乱数処理装置、集積回路カード、および乱数処理方法
JP2017054455A (ja) * 2015-09-11 2017-03-16 株式会社東芝 クロック生成回路及び無線受信機
US9794062B2 (en) 2015-10-08 2017-10-17 The Boeing Company Scrambled tweak mode of blockciphers for differential power analysis resistant encryption
EP3208789B1 (en) 2016-02-22 2020-08-05 Eshard Method of protecting a circuit against a side-channel analysis
CN107547189A (zh) 2016-06-28 2018-01-05 埃沙尔公司 免受侧信道分析的保护方法和设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090146528A1 (en) * 2004-10-27 2009-06-11 Georg Bachmaier Hybrid control circuit
US20070076890A1 (en) * 2005-08-24 2007-04-05 The University Of Guelph Current flattening and current sensing methods and devices
CN101729241A (zh) * 2008-10-23 2010-06-09 国民技术股份有限公司 抵御差分能量攻击的aes加密方法
EP2365659A1 (fr) * 2010-03-01 2011-09-14 Inside Secure Procédé de test de la résistance d'un circuit intégré à une analyse par canal auxiliaire
US20110260749A1 (en) * 2010-04-26 2011-10-27 Alexander Roger Deas Synchronous logic system secured against side-channel attack
CN104283673A (zh) * 2014-10-09 2015-01-14 东南大学 密码电路系统的随机动态电压调节抗攻击方法及电路系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS – CHES 2008: "Mutual Information Analysis", 《CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS–CHES 2008》 *
JUDE ANGELO AMBROSE等: ""RIJID: Random Code Injection to Mask Power Analysis based Side Channel Attacks"", 《HTTPS://DL.ACM.ORG/DOI/PDF/10.1145/1278480.1278606》 *
TSUNATO NAKAI, MEGUMI SHIBATANI等: "Side-Channel Attack Resistnt AES Cryptographic Circuits with ROM reducing Address-Dependent EM Leaks", 《IEEE》 *
尹慧琳,杨筱菡: "差分侧信道密码分析中泄露模型的线性回归分析", 《同济大学学报(自然科学版)》 *

Also Published As

Publication number Publication date
KR20180002072A (ko) 2018-01-05
US20170373837A1 (en) 2017-12-28
EP3264311B1 (en) 2021-01-13
EP3264311A1 (en) 2018-01-03
US11070359B2 (en) 2021-07-20

Similar Documents

Publication Publication Date Title
EP3217307B1 (en) Method of testing the resistance of a circuit to a side channel analysis of second order or more
CN107547193A (zh) 使替换运算免受侧信道分析的方法
EP3143720B1 (en) Differential power analysis countermeasures
Hori et al. SASEBO-GIII: A hardware security evaluation board equipped with a 28-nm FPGA
EP3447509B1 (en) Method of testing the resistance of a circuit to a side channel analysis
Masoumi et al. Novel approach to protect advanced encryption standard algorithm implementation against differential electromagnetic and power analysis
KR20110099185A (ko) 수평 사이드 채널 분석에 대항하여 보호된 집적 회로
CN107547191A (zh) 免受侧信道分析的保护方法和设备
Martinasek et al. Simple electromagnetic analysis in cryptography

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180105