CN112968761B - 一种针对密码算法的人工智能侧信道分析方法 - Google Patents

一种针对密码算法的人工智能侧信道分析方法 Download PDF

Info

Publication number
CN112968761B
CN112968761B CN202110273571.2A CN202110273571A CN112968761B CN 112968761 B CN112968761 B CN 112968761B CN 202110273571 A CN202110273571 A CN 202110273571A CN 112968761 B CN112968761 B CN 112968761B
Authority
CN
China
Prior art keywords
energy
energy trace
segments
cryptographic algorithm
trace
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.)
Active
Application number
CN202110273571.2A
Other languages
English (en)
Other versions
CN112968761A (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.)
Beijing Institute of Technology BIT
Original Assignee
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202110273571.2A priority Critical patent/CN112968761B/zh
Publication of CN112968761A publication Critical patent/CN112968761A/zh
Application granted granted Critical
Publication of CN112968761B publication Critical patent/CN112968761B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/0875Generation of secret information including derivation or calculation of cryptographic keys or passwords based on channel impulse response [CIR]
    • 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)

Abstract

本发明涉及一种针对密码算法的人工智能侧信道分析方法,属于网络安全侧信道分析技术领域。本方法首先对采集的密码算法运行过程中的能量迹进行能量分析,判断出能量迹中该加密算法实现的位置。然后分析加密位置的能量迹及其特征,将加密位置的能量迹划分为规律性的能量迹片段。结合密码算法实现特征,对能量迹片段的特征及其对应的操作进行分析。通过使用DBSCAN聚类算法,将相同操作对应的能量迹片段归为一类,之后分析能量迹片段的类别和顺序,得到能量迹片段对应操作的顺序,从而得到完整的操作参数。相比于简单能量分析法,本方法能够快速高效、自动化地分析能量迹信息而得到所求密码算法的操作参数,且易于实现,对于公钥密码算法具有较高成功率。

Description

一种针对密码算法的人工智能侧信道分析方法
技术领域
本发明涉及一种人工智能侧信道分析方法,具体涉及一种针对密码算法的人工智能侧信道分析方法,属于网络安全侧信道分析技术领域。
背景技术
自1976年公钥密码体制概念被提出以来,公钥密码算法以其特有的优势,成为了密码算法极为重要的一部分。相较于对称加密算法,公钥密码算法利用公钥加密、私钥解密的方式将公钥和私钥分离,从而加强了密码算法的安全性。公钥和私钥互不相同,且即使已知加密过程也无法根据公钥推出私钥,因此,公钥可以公开。公钥密码算法目前已被普遍使用。
近年来,传统的密码分析技术,即,通过正常信道的明密文信息来分析恢复密钥的技术被广泛研究。然而,随着密钥长度的增长和密码算法复杂性的提升,传统密码分析技术已很难高效地分析密码算法。但是,在真实场景中,密码设备不可避免地会发生功耗泄露、电磁辐射泄露、声音泄露、延时泄露等,这些泄露信息与该设备进行加密操作过程密切相关。因此,与传统的密码分析技术相比,通过1996年Kocher所提出的侧信道分析技术,即,利用这些泄露中有效信息的技术有两个优势:一是可以获取密码算法运行过程中的中间值信息,二是密钥较长并不影响密钥的恢复。
侧信道分析技术有着极高的实用性和破坏性。目前,大量加密设备中的加密算法(如AES、DES、RSA等)先后被攻击,这对加密设备的安全性提出了严峻挑战。通常,加密设备在进行公钥密码算法的过程中,会呈现出规律性的能量消耗,通过直观分析该能量消耗特征,从而得到加密设备的一些属性特征的方法叫做简单能量分析。
2013年,Heyszl等在International Conference on Smart Card Research andAdvanced Applications 2013:79-93,Clustering algorithms for non-profiledsingle-execution attacks on exponentiations文章中,提出了运用K-means聚类算法,对ECC密码算法进行侧信道分析。聚类算法是指在没有具体划分说明的情况下划分数据对象的集合的算法,将类似的对象组成簇并使不同的簇中的对象彼此差异尽可能大。Heyszl等提出的方案运用K-means聚类算法,对划分后的公钥密码算法的能量迹片段进行聚类,得到密码算法关键步骤中操作的顺序,从而得到所求操作参数。但是,该方案虽然能够分析出密码设备的操作参数,其结果较为不稳定,成功率低。
发明内容
本发明目的是针对现有技术存在的缺陷,为了有效解决公钥密码算法分析的技术问题,达到提升侧信道分析的效率及成功率的技术效果,创造性地提出一种针对密码算法的人工智能侧信道分析方法。
本发明采用以下技术方案实现。
一种针对密码算法的人工智能侧信道分析方法,包括以下步骤:
步骤1:对采集的密码算法运行过程中的能量迹进行能量分析,判断出能量迹中该加密算法实现的位置。
步骤2:分析加密位置的能量迹及其特征,将加密位置的能量迹划分为规律性的能量迹片段。
步骤3:结合密码算法实现特征,对能量迹片段的特征及其对应的操作进行分析;
步骤4:使用DBSCAN聚类算法,将相同操作对应的能量迹片段归为一类,之后,分析能量迹片段的类别和顺序,得到能量迹片段对应操作的顺序,从而得到完整的操作参数。
有益效果
本发明方法,与现有的侧信道分析方法相比,具有如下优点:
1.相比于简单能量分析,本方法能够快速高效、自动化地分析能量迹信息而得到所求密码算法的操作参数;
2.本发明易于实现,对于公钥密码算法具有较高成功率。
附图说明
图1是本发明方法的流程图;
图2是本发明方法实施例中智能卡SM2密码算法完整加密能量迹图;
图3是本发明方法实施例中两段特征不同的能量迹L1和L2图;
图4是本发明方法实施例中能量迹L1放大图;
图5是本发明方法实施例中能量迹L2放大图;
图6是本发明方法实施例中L1放大后部分波形的负尖峰位置示意图;
图7是本发明方法实施例中标量乘算法;
图8是本发明方法实施例中能量迹片段示意图;
图9是本发明方法实施例中滤波后能量迹片段特征示意图;
图10是本发明方法实施例中滤波后能量迹片段与操作对照示意图;
图11是本发明方法实施例中DBSCAN聚类结果示意图;
图12是本发明方法实施例中滤波后加密过程末尾能量迹片段对应操作及比特位示意图。
具体实施方式
下面结合附图及实施例对本发明方法做进一步详细说明。
实施例
以SM2密码算法为例,分析智能卡实现该密码算法的能量波形,得到所求操作参数。
如图1所示,一种针对密码算法的人工智能侧信道分析方法,包括以下步骤:
步骤1:对采集的密码算法运行过程中的能量迹进行能量分析,判断确定出能量迹中该加密算法实现的位置。
在判断加密算法实现的位置时,采用简单能量攻击方法(SPA)实现。具体地,包括以下步骤:
步骤1.1:采集加密过程完整能量迹。准备智能卡并搭建软件和硬件平台,通过软件和硬件平台采集智能卡加密过程的完整能量迹。如图2所示。
步骤1.2:利用加密过程中操作的数量特征,找到能量迹中加密算法实现的位置。
由图2的完整能量迹可以明显看出,中间的能量迹具有较高功耗,因此,加密位置就在中间高功耗能量迹中。然而,中间部分有两段特征不同的能量迹,如图3所示,将其命名为L1和L2,需要判断哪段能量迹对应加密算法实现过程。当执行SM2密码算法时,关键步骤具有很高的周期性,经放大能够看出,能量迹L1和能量迹L2是由多个周期性能量迹片段组成,分别如图4、图5所示。SM2密码算法操作参数为256比特位,根据该算法的每个比特位对应1或2个操作可知,操作数量应在384。因此,加密过程能量迹的周期性能量迹片段数量也应在384左右。通过简单能量分析法,能够得知能量迹L1为加密过程能量迹。
步骤2:分析加密位置的能量迹及其特征,将加密位置的能量迹划分为规律性能量迹片段。
具体地,观察加密过程能量迹L1,发现L1由1个以上的能量迹片段组成,而能量迹片段由明显的负尖峰划分。图6展示了L1放大后部分波形的负尖峰位置。通过寻找加密过程能量迹中所有负尖峰的位置,获得每个能量迹片段的数据,实现能量迹划分。
步骤3:结合密码算法实现特征,对能量迹片段特征及其对应的操作进行分析识别。如果能量迹片段特征不清楚,则对能量迹进行滤波等数字信号处理,然后重新进行分析识别。
具体地,包括以下步骤:
步骤3.1:分析密码算法实现过程,寻找关键操作执行规律。
在SM2密码算法中,关键一步是进行标量乘计算R=kP,其中P、R为椭圆曲线上的点,操作参数k为整数。侧信道分析针对该过程并求出操作参数k。
标量乘实现如图7所示。在该过程中包括两种不同的操作,一种是点加操作,一种是倍点操作。
由标量乘算法可知,对于操作参数k,若某个二进制位为0,则只进行一次倍点操作,若该位的值为1,则进行一次倍点操作和一次点加操作。由此,无论计算到哪个比特位,倍点操作均要进行。但是,点加操作并非每次都进行,且点加操作只能跟在倍点操作之后。
步骤3.2:观察能量迹片段特征是否清楚明显,若不明显,则对能量迹使用数字信号处理,从而明确特征。
通过观察得到的能量迹片段,如图8所示,发现能量迹片段的特征并不明显。此时要对能量迹进行数字信号处理,使能量迹片段特征清晰可见,此处对能量迹使用低通滤波,图9即为图8低通滤波后的结果。
步骤3.3:分析能量迹片段及其特征,找到不同特征能量迹片段对应的操作。
观察图9中的能量迹片段可以发现,这些片段有两种不同的特征:如果将负尖峰峰值小于-150mV视为明显负尖峰,则部分能量迹片段仅有1个明显负尖峰,其余能量迹有1个以上(即多个)明显负尖峰。图9标注了能量迹片段对应的明显负尖峰数量。其中,仅1个明显负尖峰的能量迹片段只能在有多个明显负尖峰的能量迹片段之后出现,而有多个明显负尖峰的能量迹片段既能够和有多个明显负尖峰的能量迹片段相邻,也能够与仅1个明显负尖峰的能量迹片段相邻。
结合标量乘中点加操作只能跟在倍点操作后的特征,将仅1个明显负尖峰的能量迹片段对应点加操作,将有多个明显负尖峰的能量迹片段对应倍点操作。图10展示了图9中能量迹片段对应的操作。
步骤4:使用DBSCAN聚类算法,将相同操作对应的能量迹片段归为一类,之后,分析能量迹片段的类别和顺序,得到能量迹片段对应操作的顺序,从而得到完整的操作参数。
具体地,包括以下步骤:
步骤4.1:使用DBSCAN聚类算法,将相同操作对应的能量迹片段归为一类,得到能量迹片段对应的操作及操作的顺序。
具体地,通过使用聚类算法,能够快速地将特征相似的能量迹片段分为一类。由于能量迹片段点数较多,直接使用聚类算法进行聚类的计算量较大,使用主成成分分析(PCA)方式进行降维处理,使每个能量迹片段降至二维。此时,使用DBSCAN聚类算法将降维后的能量迹片段分为两类。如图11所示,其中,每个点代表一个能量迹片段,每个点的横坐标值和纵坐标值即为能量迹片段降维后的二维数据,使用不同颜色标注DBSCAN的分类结果。可以观察到,深色点的数量多于浅色点的数量。而根据标量乘中所有比特位都要进行倍点操作,部分比特位进行点加操作可知,倍点操作数量较多。因此,具有相对多数能量迹片段的类对应所有倍点操作,即该类内的能量迹片段应对应倍点操作,而另一类内的能量迹片段应对应点加操作。同理,在图11中,深色点对应的能量迹片段应对应倍点操作,浅色点对应的能量迹片段应对应点加操作。由此可以快速得到加密过程所有能量迹片段对应的操作以及操作的顺序。
步骤4.2:由能量迹片段对应操作的顺序推出操作参数的值。
由标量乘实现中k的比特位0对应一次倍点操作,比特位1对应一次倍点操作和一次点加操作可知,已知操作顺序的情况下能够推出所用操作参数k。
图12展示了滤波后加密过程能量迹L1的末尾,以及其中能量迹片段对应的操作。根据图12中操作的顺序推出对应的操作参数k最后四个比特位为0011,这些比特位已标注在图12中。同理,根据步骤4.1得到的加密过程的操作顺序,可以推出加密算法中所用操作参数k。

Claims (2)

1.一种针对密码算法的人工智能侧信道分析方法,其特征在于,包括以下步骤:
步骤1:对采集的密码算法运行过程中的能量迹进行能量分析,判断出能量迹中该密码算法实现的位置;
步骤2:分析加密位置的能量迹及其特征,将加密位置的能量迹划分为规律性的能量迹片段;
其中,能量迹由1个以上的能量迹片段组成,能量迹片段由明显的负尖峰划分,通过寻找加密过程能量迹中所有负尖峰的位置,获得每个能量迹片段的数据,实现能量迹划分;
步骤3:结合密码算法实现特征,对能量迹片段的特征及其对应的操作进行分析,如果能量迹片段特征不清楚,则对能量迹进行数字信号处理,然后重新进行分析识别;
包括以下步骤:
步骤3.1:分析密码算法实现过程,寻找关键操作执行规律;
在SM2密码算法中,关键一步是进行标量乘计算R=kP,其中P、R为椭圆曲线上的点,操作参数k为整数;侧信道分析针对该过程并求出操作参数k;
标量乘包括两种不同的操作,一种是点加操作,一种是倍点操作;对于操作参数k,若某个二进制位为0,则只进行一次倍点操作,若该位的值为1,则进行一次倍点操作和一次点加操作;无论计算到哪个比特位,倍点操作均要进行,但是,点加操作并非每次都进行,且点加操作只能跟在倍点操作之后;
步骤3.2:观察能量迹片段特征是否清楚明显,若不明显,则对能量迹使用数字信号处理,从而明确特征;
步骤3.3:分析能量迹片段及其特征,找到不同特征能量迹片段对应的操作;
步骤4:使用DBSCAN聚类算法,将相同操作对应的能量迹片段归为一类,之后,分析能量迹片段的类别和顺序,得到能量迹片段对应操作的顺序,从而得到完整的操作参数;
其中,在对能量迹片段归类时,使用主成分分析方式进行降维处理,使每个能量迹片段降至二维,此时,使用DBSCAN聚类算法将降维后的能量迹片段分为两类,一类是具有相对多数能量迹片段的类,对应所有倍点操作,即该类内的能量迹片段对应倍点操作,而另一类相对少数的能量迹片段对应点加操作;
其中,由能量迹片段对应操作的顺序得到完整的操作参数的方法为:由能量迹片段对应操作的顺序推出操作参数的值,即,由标量乘实现中k的比特位0对应一次倍点操作,比特位1对应一次倍点操作和一次点加操作可知,已知操作顺序的情况下能够推出所用操作参数k。
2.如权利要求1所述的一种针对密码算法的人工智能侧信道分析方法,其特征在于,在判断密码算法实现的位置时,采用简单能量攻击方法实现,包括以下步骤:
步骤1.1:采集加密过程完整能量迹,准备智能卡并搭建软件和硬件平台,通过软件和硬件平台采集智能卡加密过程的完整能量迹;
步骤1.2:利用加密过程中操作的数量特征,找到能量迹中密码算法实现的位置。
CN202110273571.2A 2021-03-15 2021-03-15 一种针对密码算法的人工智能侧信道分析方法 Active CN112968761B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110273571.2A CN112968761B (zh) 2021-03-15 2021-03-15 一种针对密码算法的人工智能侧信道分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110273571.2A CN112968761B (zh) 2021-03-15 2021-03-15 一种针对密码算法的人工智能侧信道分析方法

Publications (2)

Publication Number Publication Date
CN112968761A CN112968761A (zh) 2021-06-15
CN112968761B true CN112968761B (zh) 2022-04-19

Family

ID=76278963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110273571.2A Active CN112968761B (zh) 2021-03-15 2021-03-15 一种针对密码算法的人工智能侧信道分析方法

Country Status (1)

Country Link
CN (1) CN112968761B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115051784B (zh) * 2022-05-26 2023-08-11 北京理工大学 一种基于Deep Q-Learning的公钥密码算法的侧信道分析方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932147A (zh) * 2012-10-09 2013-02-13 上海大学 基于隐马尔科夫模型的椭圆曲线密码计时攻击方法
CN103441846A (zh) * 2013-08-12 2013-12-11 国家密码管理局商用密码检测中心 一种对p域的ecc算法选择明文侧信道能量分析方法
CN103560877A (zh) * 2013-11-01 2014-02-05 中国电子科技集团公司第十五研究所 攻击密钥的方法及装置
CN106841987A (zh) * 2017-01-25 2017-06-13 天津大学 基于电磁和电流的硬件木马侧信道检测方法
CN108123790A (zh) * 2016-11-30 2018-06-05 深圳先进技术研究院 一种侧信道攻击方法及装置
CN109784096A (zh) * 2019-01-18 2019-05-21 电子科技大学 基于聚类算法的硬件木马检测和剔除方法
CN111211886A (zh) * 2020-04-20 2020-05-29 成都信息工程大学 针对sm2解密算法的能量分析检测方法
CN111817842A (zh) * 2020-07-02 2020-10-23 中金金融认证中心有限公司 一种针对rsa-crt运算的能量分析攻击测试装置和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9565017B2 (en) * 2014-11-10 2017-02-07 Umm Al-Qura University Method for efficiently protecting elliptic curve cryptography against simple power analysis attacks
FR3033965B1 (fr) * 2015-03-18 2018-12-07 Maxim Integrated Products, Inc. Systèmes et procédés de commande de dispositifs de cryptage sur courbe elliptique sécurisés

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932147A (zh) * 2012-10-09 2013-02-13 上海大学 基于隐马尔科夫模型的椭圆曲线密码计时攻击方法
CN103441846A (zh) * 2013-08-12 2013-12-11 国家密码管理局商用密码检测中心 一种对p域的ecc算法选择明文侧信道能量分析方法
CN103560877A (zh) * 2013-11-01 2014-02-05 中国电子科技集团公司第十五研究所 攻击密钥的方法及装置
CN108123790A (zh) * 2016-11-30 2018-06-05 深圳先进技术研究院 一种侧信道攻击方法及装置
CN106841987A (zh) * 2017-01-25 2017-06-13 天津大学 基于电磁和电流的硬件木马侧信道检测方法
CN109784096A (zh) * 2019-01-18 2019-05-21 电子科技大学 基于聚类算法的硬件木马检测和剔除方法
CN111211886A (zh) * 2020-04-20 2020-05-29 成都信息工程大学 针对sm2解密算法的能量分析检测方法
CN111817842A (zh) * 2020-07-02 2020-10-23 中金金融认证中心有限公司 一种针对rsa-crt运算的能量分析攻击测试装置和方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Feature Selection Methods for Non-Profiled Side-Channel Attacks on ECC;Prasanna Ravi 等;《2018 IEEE 23rd International Conference on Digital Signal Processing (DSP)》;20190204;第1-5页 *
Power Attack and Evaluation on Elliptic Curve Cryptosystem in a Commercial Smart Card;Annv Liu 等;《2019 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery (CyberC)》;20200102;第354-359页 *
Simple Power Analysis Attacks Using Chosen Message against ECC Hardware Implementations;Huiyun Li 等;《2011 World Congress on Internet Security (WorldCIS-2011)》;20110415;第68-72页 *
椭圆曲线密码的选择明文侧信道攻击方法;熊莉英 等;《中山大学学报(自然科学版)》;20140831;第32卷(第4期);第459-462页 *

Also Published As

Publication number Publication date
CN112968761A (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
Oswald et al. Template attacks on masking—resistance is futile
CN107241182B (zh) 一种基于向量同态加密的隐私保护层次聚类方法
CN111143865B (zh) 一种密文数据上标签自动生成的用户行为分析系统及方法
CN108809628B (zh) 基于安全多方下的时间序列异常检测方法与系统
CN113422763B (zh) 基于攻击场景构建的报警关联分析方法
CN111817842B (zh) 一种针对rsa-crt运算的能量分析攻击测试装置和方法
CN108898029A (zh) 一种能源监控大数据管理系统及方法
CN112968761B (zh) 一种针对密码算法的人工智能侧信道分析方法
Hsu et al. Enhancing file entropy analysis to improve machine learning detection rate of ransomware
Ravi et al. Feature selection methods for non-profiled side-channel attacks on ecc
Soewu et al. Analysis of Data Mining-Based Approach for Intrusion Detection System
Abdulsattar Towards a high capacity coverless information hiding approach
Hendry et al. Intrusion signature creation via clustering anomalies
Bentafat et al. Towards real-time privacy-preserving video surveillance
CN108155984B (zh) 一种基于能量分析的密码算法簇逆向工程分析方法
CN114362988A (zh) 网络流量的识别方法及装置
Zhang et al. A highly effective DPA attack method based on genetic algorithm
Wang et al. Face detection for privacy protected images
CN117527295A (zh) 基于人工智能的自适应网络威胁检测系统
Jap et al. Overview of machine learning based side-channel analysis methods
CN114021112A (zh) 密码算法能量分析方法及装置、存储介质及电子设备
Quy et al. Convolutional neural network based sidechannel attacks
Lee et al. Single-trace attack using one-shot learning with Siamese network in non-profiled setting
Chen et al. An Improved Data Cache Timing Attack against RSA Based on Hidden Markov Model
CN110912906A (zh) 一种边缘计算恶意节点识别方法

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