CN108155984A - 一种基于能量分析的密码算法簇逆向工程分析方法 - Google Patents

一种基于能量分析的密码算法簇逆向工程分析方法 Download PDF

Info

Publication number
CN108155984A
CN108155984A CN201711474722.0A CN201711474722A CN108155984A CN 108155984 A CN108155984 A CN 108155984A CN 201711474722 A CN201711474722 A CN 201711474722A CN 108155984 A CN108155984 A CN 108155984A
Authority
CN
China
Prior art keywords
energy
cryptographic algorithm
reverse engineering
analysis method
encryption device
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
Application number
CN201711474722.0A
Other languages
English (en)
Other versions
CN108155984B (zh
Inventor
王安
张宇
邵立伟
李正华
祝烈煌
张冰
陈慈
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.)
RESEARCH INSTITUTE OF BIT IN ZHONGSHAN
Beijing Institute of Technology BIT
Original Assignee
RESEARCH INSTITUTE OF BIT IN ZHONGSHAN
Beijing Institute of Technology BIT
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 RESEARCH INSTITUTE OF BIT IN ZHONGSHAN, Beijing Institute of Technology BIT filed Critical RESEARCH INSTITUTE OF BIT IN ZHONGSHAN
Priority to CN201711474722.0A priority Critical patent/CN108155984B/zh
Publication of CN108155984A publication Critical patent/CN108155984A/zh
Application granted granted Critical
Publication of CN108155984B publication Critical patent/CN108155984B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

本发明一种基于能量分析的密码算法簇逆向工程分析方法,属于密码学领域和嵌入式安全领域。通过能量分析手段对加密设备中轻量级密码算法簇中的分组长度、轮运算参数、移位参数以及非线性代换操作进行逆向分析。步骤如下:首先,通过数据预处理,采用简单能量分析方法,得出轮运算参数;第二,通过泄露分析,计算出分组长度;第三,对于移位操作位置采用明密文相关性分析,得到移位参数;最后,采用穷举攻击和相关能量分析相结合方法,确定非线性运算操作。本方法可有效地回复加密设备中的密码算法操作参数,对于检测密码设备安全性提出了很好的评估手段。尤其是在信息安全和电子对抗领域,对于密码设备安全性评估和外部秘密信息获取都很有价值。

Description

一种基于能量分析的密码算法簇逆向工程分析方法
技术领域
本发明涉及一种基于能量分析的密码算法簇逆向工程分析方法,属于密码学领域、嵌入式安全领域。
背景技术
随着微电子技术的飞速发展,射频识别技术(Radio Frequency Identification,RFID)的应用也越来越广泛,例如生产自动化、门禁、身份识别、货物跟踪等。而我国自2009年提出建立“感知中国”中心这一举措后,大大激发了RFID技术的应用和发展。但是,RFID设备嵌入式处理器比传统台式机来说,计算能力相对较弱,性能较差,而且存储空间和能量消耗都要限制在一个范围之内。因此,密码工作者们研究出了轻量级分组密码算法。研究加密设备中的轻量级分组密码簇的逆向工程对现实生活重大意义。
通常对于密码设备的分析实验都假设对于该设备的密码算法及流程已知,进而通过侧信道信息进行密钥恢复。但是,在真实的实验场景中,对于一个智能设备的加密算法往往不能够做到如此。设计者在实现加密算法过程中,为了确保安全性,很可能通过改变个别参数,对密码算法进行防护。因此,分析者在分析过程中主要考虑以下三个问题:一是确定该智能设备中运用了什么样的加密算法;二是确定该加密算法具体参数规格如何;三是各个参数的具体数值情况。加密设备中实现加密操作的通常是一块加密芯片,该芯片在执行操作室不可避免地会有功耗泄露、电磁辐射泄露、声音泄露、延时泄露等,这些泄露信息与该设备进行加密操作过程密切相关。自从1996年,美国科学家Kocher提出侧信道分析方法后,该技术以其简单、直观、成本低、效率高等特点,迅速受到广泛关注。随着该领域技术研究的推进,大量加密设备中的加密算法如AES、DES、RSA等先后被攻击,对加密设备的安全性提出了严峻挑战。其中,本专利涉及的方法主要是简单能量分析、相关能量分析、穷举攻击和明密文相关性测试。通常,加密设备在进行加密运算轮操作的过程中,会呈现出规律性的能量消耗,通过直观分析该能量消耗特征,从而得到加密设备的一些属性特征的方法叫做简单能量分析。相关能量分析是通过判断猜测加密设备中间值的特征模型和采集能量消耗之间的相关性,判断该猜测中间值与真实中间值的匹配情况,进而分析中间值信息。一般,我们将可能出现的所有情况进行遍历,进而推测出正确操作的方法叫做穷举攻击方法。明密文相关性测试,是指通过判断已知明文与密文输出的相关性,判断泄露信息。
2013年,Rivain等在International Conference on the Theory andApplication of Cryptology and Information Security.2013:526-544,SCARE ofSecret Ciphers with SPN Structures文章中提出了运用侧信道分析方法,对SPN结构的密码算法进行逆向工程分析。该方案用过假设已知密码设备中运行SPN结构密码算法为前提,同时假设明文和密钥以及中间值皆可以获得,运用了多种侧信道分析方法以及数学解析方法,最终对具有SPN结构的密码算法进行了逆向重构。该方案对于具有SPN结构的密码算法实现提出了严峻挑战。然而该方案针对性较强,仅局限于SPN结构的加密算法,对于其他结构的分析方法适用性不强。因此,继续一种更为系统,普适性更强的侧信道逆向工程分析方法。
上述已有的侧信道逆向工程分析技术虽然能够分析出密码设备的参数结构,然而对于非SPN结构,则局限性较强,无法进行有效分析。本发明的目的是致力于解决上述在非SPN结构下无法有效分析的缺陷,提出了一种基于能量分析的侧信道逆向工程分析方法。
发明内容
本发明目的在于解决非SPN结构的密码算逆向分析问题,提出了一种基于能量分析的密码算法簇逆向工程分析方法。
本发明一种基于能量分析的密码算法簇逆向工程分析方法,通过以下步骤实现:
步骤1、对采集能量迹进行简单能量分析,判断出该加密算法的轮数;
其中,简单能量分析是指加密设备在进行加密运算轮操作的过程中,会呈现出规律性的能量消耗,通过直观分析该能量消耗特征,从而得到加密设备的一些属性特征的方法;
其中,属性特征可以是移位的参数;
步骤2、对加密设备进行明密文相关性测试,可以准确判断出该密码算法的每次参与运算的比特数,即确定分组长度;
其中,明密文相关性测试是指通过判断已知明文与密文输出的相关性,判断泄露信息;
步骤3、对比加密算法参数列表,判断该加密加密算法属于何种类型;
其中,步骤1、步骤2及步骤3中的该加密算法是指需要判断加密算法类型的加密算法;
步骤4、对加密设备进行选择明文攻击,分析线性置换前后的明密文相关性,判断出置换的具体参数;
步骤5、对加密设备采用穷举攻击的方法与相关能量分析相结合的方法,确定代换操作具体参数;
其中,穷举攻击方法是将可能出现的所有情况进行遍历,进而推测出正确操作的方法;
相关能量分析是指通过判断猜测加密设备中间值的特征模型和采集能量消耗之间的相关性,判断该猜测中间值与真实中间值的匹配情况,进而分析中间值信息;
至此,从步骤1到步骤5,完成了一种基于能量分析的密码算法簇逆向工程分析方法。
有益效果
本发明所述一种基于能量分析的密码算法簇逆向工程分析方法,与现有逆向工程分析方法相比,具有如下有益效果:
1.它能有效地在没有获取到任何加密设备信息的前提下,有效推断加密算法类型,并恢复该密码算法计算轮数、分组长度、移位参数和非线性代换操作;
2.本发明所述方法实现相对简单,对于轻量级分组密码算法具有较好效果。
附图说明
图1是本发明一种基于能量分析的密码算法簇逆向工程分析方法及实施例中的流程图;
图2是本发明一种基于能量分析的密码算法簇逆向工程分析方法及实施例中分析密码算法问题位置结构图;
图3是本发明一种基于能量分析的密码算法簇逆向工程分析方法及实施例加密轮数评估示意图;
图4是本发明一种基于能量分析的密码算法簇逆向工程分析方法及实施例中CPU控制明文传输示意图;
图5是本发明一种基于能量分析的密码算法簇逆向工程分析方法及实施例中分组长度为32比特时明文相关性分析示意图;
图6是本发明一种基于能量分析的密码算法簇逆向工程分析方法及实施例中分组长度为64比特时明文相关性分析示意图;;
图7是本发明一种基于能量分析的密码算法簇逆向工程分析方法及实施例中Simon方案参数列表;
图8是本发明一种基于能量分析的密码算法簇逆向工程分析方法及实施例中数据循环移位操作流程图;
图9是本发明一种基于能量分析的密码算法簇逆向工程分析方法及实施例中循环左移1比特时,输入输出相关性示意图;
图10是本发明一种基于能量分析的密码算法簇逆向工程分析方法及实施例中循环左移2比特时,输入输出相关性示意图;
图11是本发明一种基于能量分析的密码算法簇逆向工程分析方法及实施例中循环左移4比特时,输入输出相关性示意图;
图12是本发明一种基于能量分析的密码算法簇逆向工程分析方法及实施例中循环左移8比特时,输入输出相关性示意图;
图13是本发明一种基于能量分析的密码算法簇逆向工程分析方法及实施例中黑盒输入输出情况出示意图;
图14是本发明一种基于能量分析的密码算法簇逆向工程分析方法及实施例中猜测黑盒输情况出相关性示意图。
具体实施方式
下面结合附图及实施例对本发明一种基于能量分析的密码算法簇逆向工程分析方法进行详细阐述。
实施例
结合附图,我们以Simon32/64算法为例,所待解决问题如图2所示。其中,问题一:该密码算法属于哪一类密码算法;问题二:该密码算法执行了多少轮,如图2位置1;问题三:分组长度是多少比特,如图2位置2;问题四:线性置换参数(即循环移位情况),如图2位置3;问题五:非线性代换参数(即S盒、与运算等),如图2位置4。
通过软件模拟的方式进行实验。具体流程如下:
加密轮数评估:
在评估加密轮数的时候,我们采用简单能量攻击(SPA)方法。首先,按照上述参数,模拟获取每轮运算输出的能量迹。如图3,反应了加密设备在进行加密运算之后的功耗情况。可以明显看出,每一个尖峰都表示功耗出现了明显变化,表明执行了一次操作。因为在执行加密运算时,轮操作具有很强的周期性,因此可以判定该运算共进行了32轮,而且根据操作数据的不同,每轮运算结果在功率消耗方面(尖峰的高低)也体现出明显不同。
分组长度参数评估:
评估智能设备分组长度参数时,我们采用明文相关性分析方法。对于8比特CPU来讲,在总线上每传输一次数据为1字节,如图4所示。当设备接收到足够比特的数据后,才进行加密运算。
为了确定该算法分组长度,我们选择在同一组明文的情况下,采用泄露分析方法。以分组长度分别是32比特和64比特为例,攻击位置为当明文通过总线存入寄存器时,采集寄存器功耗变化的能量迹。选取1000条明文,每条明文为400比特,由于选取的8比特CPU,因此每条明文可以得到50组汉明重量值。在汉明重量模型下,计算1000组数据的汉明重量值与采集的真实能量迹之间的相关性,通过观察时间段上的数据相关性,可直接判断该算法参与运算时的数据长度,从而可以得到该算法的分组长度。如图5所示,每个不同颜色的尖峰都表示加密设备接收到了1字节数据,当加密设备每接收4个字节后,才进行下一步运算,然后再接收4字节数据,依次循环进行操作,由此可以判断,该设备分组长度为32比特。如图6所示,当设备接收8字节数据后,才进行下一步运算,因此该设备分组长度为64比特。同时,由于分组长度64比特数据的传输过程相对32比特数据传输过程时间较长,因此可以很清楚地区分分组长度。
算法类型推断:
通过对比各类算法类型参数,如图7,可以猜测此算法方案为Simon32/64。
循环移位参数评估:
评估循环移位参数时,我们采用明密文相关性分析方法。由于我们研究对象是超轻量级分组密码簇,因此,在实际应用过程中,安全生产厂商可能会对密码算法中的参数进行修改,防止攻击者进行有效攻击。在实现数据循环移位的过程中,一般实现过程如图8所示,以循环左移2比特和循环左移8比特为例。不难看出,在实现循环移位过程中,由于操作的不同,在时间和功耗上都会有明显差异,因此我们采用明密文相关性分析的方法进行分析,即通过对加密设备发送明文,并采集与之对应的能量迹,计算明文与能量迹之间的相关性,从而判断该加密设备的移位参数。图9、图10、图11及图12分别是进行穷举分析后,通过明密文相关性进行相关能量分析得到的明密文相关性示意图。通过对比可知,寄存器在执行循环移位过程中,有如图8所示的步骤,由于CPU每次操作以8比特为单位进行运算,因此可以看到当循环操作是8比特的倍数的时候,一步就可完成操作。从图中通过简单能量分析方法可以推断出移位的参数。
非线性操作评估:
在前面侧信道分析结果的基础之上,我们已经能够推断出加密设备的轮函数操作数量,分组长度,从而推断出了该设备中使用的加密算法为Simon32/64,而后通过明密文相关性可以得到每一位操作数循环移位的数量。目前只需要判断图1中位置4中的非线性操作即可完成该设备密码算法的逆向工程分析。由于之前对于线性循环移位的参数已经确定,因此,我们对于非线性操作的输入值是已知的。对于非线性操作,一般仅有与、或、模2加、未知表格等方法,我们只需要对其进行穷举攻击,即可判断其操作方法。对于嵌入式设备,一般操作都是按位操作。因此,该设备中加密算法分组长度为任意值时,我们都可以将其看作是个2进1出的黑盒代换,如图13所示,理论上共有16中可能情况。我们对以上16种情况进行相关能量分析,可得到图14。由图14可知,当代换操作如情况h时,相关性最高。因此,可断定该代换操作为情况h。
以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。

Claims (5)

1.一种基于能量分析的密码算法簇逆向工程分析方法,其特征在于:通过以下步骤实现:
步骤1、对采集能量迹进行简单能量分析,判断出该加密算法的轮数;
步骤2、对加密设备进行明密文相关性测试,可以准确判断出该密码算法的每次参与运算的比特数,即确定分组长度;
步骤3、对比加密算法参数列表,判断该算法属于何种类型;
步骤4、对加密设备进行选择明文攻击,分析线性置换前后的明密文相关性,判断出置换操作的具体值;
步骤5、对加密设备采用穷举攻击的方法与相关能量分析相结合的方法,确定代换操作的具体方法(S盒代换、与运算等);
至此,从步骤1到步骤5,完成了一种基于能量分析的密码算法簇逆向工程分析方法。
2.根据权利要求1所述的一种基于能量分析的密码算法簇逆向工程分析方法,其特征在于:步骤1中,简单能量分析是指加密设备在进行加密运算轮操作的过程中,会呈现出规律性的能量消耗,通过直观分析该能量消耗特征,从而得到加密设备的一些属性特征的方法。
3.根据权利要求2所述的一种基于能量分析的密码算法簇逆向工程分析方法,其特征在于:属性特征可以是移位的参数。
4.根据权利要求1所述的一种基于能量分析的密码算法簇逆向工程分析方法,其特征在于:步骤2中的明密文相关性测试,是通过判断已知明文与密文输出的相关性,判断泄露信息。
5.根据权利要求1所述的一种基于能量分析的密码算法簇逆向工程分析方法,其特征在于:步骤5中,穷举攻击方法是将可能出现的所有情况进行遍历,进而推测出正确操作的方法;相关能量分析是指通过判断猜测加密设备中间值的特征模型和采集能量消耗之间的相关性,判断该猜测中间值与真实中间值的匹配情况,进而分析中间值信息。
CN201711474722.0A 2017-12-29 2017-12-29 一种基于能量分析的密码算法簇逆向工程分析方法 Expired - Fee Related CN108155984B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711474722.0A CN108155984B (zh) 2017-12-29 2017-12-29 一种基于能量分析的密码算法簇逆向工程分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711474722.0A CN108155984B (zh) 2017-12-29 2017-12-29 一种基于能量分析的密码算法簇逆向工程分析方法

Publications (2)

Publication Number Publication Date
CN108155984A true CN108155984A (zh) 2018-06-12
CN108155984B CN108155984B (zh) 2020-10-02

Family

ID=62463621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711474722.0A Expired - Fee Related CN108155984B (zh) 2017-12-29 2017-12-29 一种基于能量分析的密码算法簇逆向工程分析方法

Country Status (1)

Country Link
CN (1) CN108155984B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109347636A (zh) * 2018-12-05 2019-02-15 中国信息通信研究院 一种密钥恢复方法、系统、计算机设备及可读介质
CN109831290A (zh) * 2019-01-24 2019-05-31 上海交通大学 针对基于cave算法认证协议的侧信道分析方法
CN115664641A (zh) * 2022-12-26 2023-01-31 飞腾信息技术有限公司 对加密算法中轮密钥的校验方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103138917A (zh) * 2013-01-25 2013-06-05 国家密码管理局商用密码检测中心 以s盒输入为基础的汉明距离模型在sm4密码算法侧信道能量分析的应用
CN103516513A (zh) * 2013-10-22 2014-01-15 桂林电子科技大学 基于随机函数的抗已知明文密文对攻击的分组加密方法
CN104202145A (zh) * 2014-09-04 2014-12-10 成都信息工程学院 针对sm4密码算法轮函数输出的选择明文或密文侧信道能量分析攻击的方法
CN106656459A (zh) * 2016-11-17 2017-05-10 大唐微电子技术有限公司 一种针对sm3‑hmac的侧信道能量分析方法和装置
CN107133517A (zh) * 2017-05-08 2017-09-05 成都德涵信息技术有限公司 一种基于内存中数据加密和计算的数据还原方法
US20170373829A1 (en) * 2016-06-28 2017-12-28 Eshard Protection method and device against a side-channel analysis

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103138917A (zh) * 2013-01-25 2013-06-05 国家密码管理局商用密码检测中心 以s盒输入为基础的汉明距离模型在sm4密码算法侧信道能量分析的应用
CN103516513A (zh) * 2013-10-22 2014-01-15 桂林电子科技大学 基于随机函数的抗已知明文密文对攻击的分组加密方法
CN104202145A (zh) * 2014-09-04 2014-12-10 成都信息工程学院 针对sm4密码算法轮函数输出的选择明文或密文侧信道能量分析攻击的方法
US20170373829A1 (en) * 2016-06-28 2017-12-28 Eshard Protection method and device against a side-channel analysis
CN106656459A (zh) * 2016-11-17 2017-05-10 大唐微电子技术有限公司 一种针对sm3‑hmac的侧信道能量分析方法和装置
CN107133517A (zh) * 2017-05-08 2017-09-05 成都德涵信息技术有限公司 一种基于内存中数据加密和计算的数据还原方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHENXU WANG: "A more practical CPA attack against present hardware implementation", 《2012 IEEE 2ND INTERNATIONAL CONFERENCE ON CLOUD COMPUTING AND INTELLIGENCE SYSTEMS》 *
SEPTAFIANSYAH DWI PUTRA: "Power analysis attack on implementation of DES", 《2016 INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY SYSTEMS AND INNOVATION (ICITSI)》 *
杨静: "超轻量级密码PRESENT的差分功耗攻击及其防护", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109347636A (zh) * 2018-12-05 2019-02-15 中国信息通信研究院 一种密钥恢复方法、系统、计算机设备及可读介质
CN109347636B (zh) * 2018-12-05 2021-09-24 中国信息通信研究院 一种密钥恢复方法、系统、计算机设备及可读介质
CN109831290A (zh) * 2019-01-24 2019-05-31 上海交通大学 针对基于cave算法认证协议的侧信道分析方法
CN109831290B (zh) * 2019-01-24 2021-06-11 上海交通大学 针对基于cave算法认证协议的侧信道分析方法
CN115664641A (zh) * 2022-12-26 2023-01-31 飞腾信息技术有限公司 对加密算法中轮密钥的校验方法及装置

Also Published As

Publication number Publication date
CN108155984B (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
Standaert Introduction to side-channel attacks
Ghalaty et al. Differential fault intensity analysis
Kocher et al. Introduction to differential power analysis and related attacks
CN101834720B (zh) 加密处理设备
CN101206816B (zh) 运算处理装置和运算处理控制方法
CN103560877B (zh) 攻击密钥的方法及装置
CN108604981A (zh) 用于估计秘密值的方法和设备
CN106664204A (zh) 差分功率分析对策
CN108155984A (zh) 一种基于能量分析的密码算法簇逆向工程分析方法
CN101009554A (zh) 一种抗功耗攻击的字节替换电路
Longo et al. Simulatable leakage: Analysis, pitfalls, and new constructions
Hu et al. Multi-leak deep-learning side-channel analysis
Fan et al. On the security of hummingbird-2 against side channel cube attacks
Wang et al. A power analysis on SMS4 using the chosen plaintext method
CN106357378B (zh) 用于sm2签名的密钥检测方法及其系统
Zhu et al. Counteracting leakage power analysis attack using random ring oscillators
CN102158338B (zh) 一种针对Twofish加密芯片的DFA分析方法及系统
Lemke-Rust et al. Analyzing side channel leakage of masked implementations with stochastic methods
Hu et al. Adaptive chosen-plaintext correlation power analysis
JP4935229B2 (ja) 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム
AU2021104460A4 (en) an electromagnetic attack method of AES cryptographic chip based on neural network
Rebeiro et al. Formalizing the Effect of Feistel cipher structures on differential cache attacks
Jia et al. A unified method based on SPA and timing attacks on the improved RSA
Guo et al. Extending the classical side-channel analysis framework to access-driven cache attacks
Ding et al. Correlation electromagnetic analysis for cryptographic device

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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201002