CN102932147A - 基于隐马尔科夫模型的椭圆曲线密码计时攻击方法 - Google Patents

基于隐马尔科夫模型的椭圆曲线密码计时攻击方法 Download PDF

Info

Publication number
CN102932147A
CN102932147A CN2012103786407A CN201210378640A CN102932147A CN 102932147 A CN102932147 A CN 102932147A CN 2012103786407 A CN2012103786407 A CN 2012103786407A CN 201210378640 A CN201210378640 A CN 201210378640A CN 102932147 A CN102932147 A CN 102932147A
Authority
CN
China
Prior art keywords
key
hmm
expression
calculate
curve
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
CN2012103786407A
Other languages
English (en)
Other versions
CN102932147B (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.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and Technology
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 University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN201210378640.7A priority Critical patent/CN102932147B/zh
Publication of CN102932147A publication Critical patent/CN102932147A/zh
Application granted granted Critical
Publication of CN102932147B publication Critical patent/CN102932147B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明涉及一种基于隐马尔科夫模型(HMM)的ECC计时攻击方法。对美国NIST公布的二进制域上的5条Koblitz安全曲线进行了攻击仿真实验,成功地攻击了除K-571以外的其它4条Koblitz安全曲线,对于每一条安全曲线仅采集一次时间数据、耗时几十分钟就能恢复出几乎全部密钥比特,实验结果表明,该方法实施简单,成功率高,是对当前安全曲线有较大威胁的一种侧信道攻击手段。

Description

基于隐马尔科夫模型的椭圆曲线密码计时攻击方法
技术领域
本发明基于隐马尔科夫模型(HMM)思想,提出了一种基于隐马尔科夫模型的椭圆曲线密码计时攻击方法,属于密码分析领域。
背景技术
安全是计算机和通信系统长期以来所一直关注的问题,大量的研究工作一直都致力于解决这个问题。密码算法构成了可以作为构建模块来构造针对特定目标的安全机制的原始材料,这些算法包括对称密码、公钥密码以及哈希函数等。ECC正在成为21世纪最主要的公钥密码体制,其安全性是建立在椭圆曲线离散对数计算困难性的基础之上,具有安全性高、占用带宽小、密钥长度短、计算速度快等优点,已被广泛应用于无线通信、密码芯片、电子商务等领域,也是卫星网络、物联网等新型网络的首选,因此对其安全性的研究显得尤为重要。
1999年9月28日,加拿大的Certicom公司宣布利用法国、澳大利亚、加拿大、美国、芬兰、奥地利等国家的760台计算机成功解决了97bit的ECDLP问题。在解决过程中一共尽心了130000亿次椭圆曲线“点加”运算。2002年11月6日,Chris Monico博士带领NotreDame大学数学研究中心的数学家利用10000台计算机每天工作24小时,历时549天才成功的解决了Certicom公司的109bit P曲线的挑战,109bit也是目前传统攻击的最高的挑战bit数。对于NIST公布的ECC安全曲线中最小的163bit密钥长度来说,以目前计算机的计算速度进行穷举攻击大约需要1012年,这证明ECC算法确实具有极高的安全性。
但事实上,密码算法不是决定整个密码安全性的唯一因素,密码算法的实现需要依附一个软件或者硬件设备平台,在这些设备运行过程中会与周围环境发生交互并受周围环境的影响。攻击者可以通过监测这些物理交互作用来找出可以用来密码分析的有效信息,这种信息就被称为侧信道信息,而攻击利用侧信道消息进行攻击的方法就称为侧信道攻击(Side Channel Attack, SCA)。所谓侧信道攻击是指攻击者采集密码设备实现过程中内部状态无意泄露的物理效应并进行分析,典型的侧信道攻击包括计时攻击、功耗攻击、电磁分析攻击、Cache攻击、故障攻击、扫描式攻击等。
计时攻击是指利用密码算法在执行过程中泄露出来的时间信息来进行攻击的,由于要考虑性能优化问题,密码算法往往会使用一些分支语句、条件语句等来加快执行速度,但也同时给加解密时间带来了差异,这些差异可能会泄露出一些重要信息来,计时攻击就是利用这种差异来推测密钥信息的。计时攻击不需要额外的硬件设备,既可在本地实现,也可以在远程网络中实现,并且由于计时攻击所需要的时间差异信息来源于密码算法本身,因此攻击威胁力比较大,是目前侧信道研究的热点之一。
ECC的核心运算是椭圆曲线上的点乘运算:                                                
Figure 705842DEST_PATH_IMAGE001
,这种令椭圆曲线上的一个非零点P重复相加k次的操作称为标量乘法,他决定着椭圆曲线密码体制的运算速度。为了提高ECC的加解密速度,密码学家们提出了许多计算点乘运算的算法,基于二进制的倍点-点加(double-and-add)算法就是被广泛应用的一种点乘算法。在double-and-add算法中,由于if语句的存在使得密钥bit位为0或1时执行的操作步骤不同,bit位为1时比bit位为0时要多一步“点加”运算,最终表现出来的是bit位为0或1时的执行的运算时间不同,这就为实施计时攻击提供了可能性。
发明内容
本发明专利的目的在于针对已有技术存在的缺陷,提供一种基于隐马尔科夫模型的椭圆曲线密码计时攻击方法,该方法实施简单,成功率高,是对当前安全曲线有较大威胁的一种侧信道攻击手段;同时,该方法可以为建立更全面更安全的密码体系提供一种参考方案。
为了达到上述目的,本发明专利采用的技术方案如下:
1、选取一条NIST推荐的二进制域上的Koblitz安全曲线,确定要签名的参数组
Figure 729424DEST_PATH_IMAGE002
,其中
Figure 458346DEST_PATH_IMAGE003
表示二进制域的扩展次数,表示次数
Figure 35138DEST_PATH_IMAGE003
的约减多项式,为椭圆曲线
Figure 695106DEST_PATH_IMAGE006
的系数,
Figure 577611DEST_PATH_IMAGE007
为基点,
Figure 930095DEST_PATH_IMAGE008
基点的阶,
Figure 497529DEST_PATH_IMAGE009
为余因子,以及私钥d,消息m;
2、预计算,计算所选曲线进行“点加”和“倍点”运算所需要的时间,确定阈值;
3、随机选择
Figure 918146DEST_PATH_IMAGE010
,k称为临时密钥;
4、利用Double-and-Add算法计算
Figure 390716DEST_PATH_IMAGE011
并将
Figure 441848DEST_PATH_IMAGE012
转换为整数
Figure 367079DEST_PATH_IMAGE013
,其中
Figure 591387DEST_PATH_IMAGE014
为基点P的横坐标,
Figure 355948DEST_PATH_IMAGE015
表示基点P的纵坐标,
Figure 640298DEST_PATH_IMAGE016
表示将取整后的值,kP的计算过程如图1建立隐马尔科夫模型,输入临时密钥k为一个二进制bit序列,
Figure 80824DEST_PATH_IMAGE017
表示位置的两种状态,取值为0或1,
Figure 200090DEST_PATH_IMAGE018
表示获取的时间数据,最后由采集到的时间序列来猜测未知密钥比特序列,将采集到的计时数据与之前确定的阈值进行比较,猜测临时密钥k’;
5、计算,r表示
Figure 289586DEST_PATH_IMAGE016
取模后的值;
6、计算e=H(m),e表示消息m的哈希值,H表示一个哈希函数,本发明采用的是SHA1算法;
7、计算
Figure 42647DEST_PATH_IMAGE020
,s表示输出签名中的一个关键参数;
8、输出签名
Figure 344315DEST_PATH_IMAGE021
9、私钥d的求解公式为
Figure 704889DEST_PATH_IMAGE022
,由于H(m)、签名(r,s)已知,根据计时数据猜测的临时密钥k’,就可以就得猜测密钥d’;
10、与原始密钥d进行比对,如果d=d’,说明攻击成功,否则用Grover搜索算法搜索临时密钥中错误密钥,直到找出所有的错误密钥。
本发明基于HMM思想提出的针对ECC的计时攻击是根据点乘算法中算法不同带来的时间差异信息进行的仿真攻击,对使用double-and-add算法的ECC加密体系仅耗时几十分钟就可以恢复出全部的密钥,可以看出计时攻击对密码安全性的强大威胁。
附图说明
图1 Double-and-add标量乘法的HMM。
图2 对临时密钥k的计时攻击仿真图。
具体实施方式
1.       选择NIST推荐的K-283安全曲线,曲线参数如表1所示:
Figure 92008DEST_PATH_IMAGE023
其中Gx、Gy为基点的横纵坐标。
2.       预计算,运用统计学方法计算得到“倍点+点加”运算平均耗时为0.205537s,“倍点”运算平均耗时为0.101148s,取阈值r=(0.205537+0.101148)/2=0.153323s。
3.       随机选取临时密钥k为
k= 0xF74AC3B11234567855AC435962FE9AE2ED07577265DFF7F94451E061E163C613。
4.       利用Double-and-Add算法(算法1)计算
Figure 399493DEST_PATH_IMAGE024
并将转换为整数
Figure 87143DEST_PATH_IMAGE013
,将kP的计算过程如图1建立HMM模型,输入临时密钥k为一个二进制bit序列,未知状态
Figure 695979DEST_PATH_IMAGE025
取值为0或1,观察值
Figure 568568DEST_PATH_IMAGE027
Figure 536524DEST_PATH_IMAGE028
为所得到的时间数据,最后由采集到的时间序列来猜测未知密钥比特序列。由算法1可以看出,当
Figure 570340DEST_PATH_IMAGE029
为0或1时执行的运算量不同,又由于倍点-点加(DA)运算要比倍点(D)运算消耗的时间要多,因此可以通过对观察到的时间数据的分析来确定算法体中执行的是DA运算还是D运算,进而推测
Figure 281944DEST_PATH_IMAGE025
的值。采集点乘运算过程的计时数据,将采集到的计时数据与之前确定的阈值进行比较,然后从次高位开始逐一判断(最高位为1无需判断),如果bit位对应的计时时间大于r=0.153323,此bit就确定为1,反之,如果bit位对应的计时时间小于r=0.153323就确定为0,最终猜测到的临时密钥为: k’=1111011101001010110000111011000100010010001101000101011001111000010101011010110001000011010110010110001011111110100110101110001011101101000001110101011101110010011001011101111111110111111110010100010001010001111000000110000111100001011000111100011000010011。
对临时密钥k的攻击仿真图如图2所示。      
Figure 472939DEST_PATH_IMAGE030
5.       计算
Figure 56367DEST_PATH_IMAGE031
。 
6.       计算e=H(m) 。
7.       计算
Figure 306083DEST_PATH_IMAGE032
8.       输出签名
9.   私钥的求解公式为
Figure 538798DEST_PATH_IMAGE034
,由于H(m)、签名(r,s)已知,根据计时数据猜测的临时密钥k’,就可以就得猜测密钥d’。
10.   与原始密钥d进行比对,如果d=d’,说明攻击成功,否则用Grover搜索算法(算法2)搜索临时密钥中错误密钥,直到找出所有的错误密钥bit为止。
Figure 609523DEST_PATH_IMAGE035

Claims (1)

1.一种基于隐马尔科夫模型的针对椭圆曲线密码计时攻击方法,具体操作步骤如下:
(1)选取一条NIST推荐的二进制域上的Koblitz安全曲线,确定要签名的参数组                                                
Figure DEST_PATH_IMAGE001
,其中
Figure 483204DEST_PATH_IMAGE002
表示二进制域的扩展次数,
Figure DEST_PATH_IMAGE003
表示次数
Figure 865906DEST_PATH_IMAGE002
的约减多项式,
Figure 517467DEST_PATH_IMAGE004
为椭圆曲线的系数,为基点,
Figure 82627DEST_PATH_IMAGE008
基点的阶,
Figure DEST_PATH_IMAGE009
为余因子,以及私钥d,消息m;
(2)预计算,计算所选曲线进行“点加”和“倍点”运算所需要的时间,确定阈值;
(3)随机选择
Figure 657144DEST_PATH_IMAGE010
,k称为临时密钥;
(4)利用Double-and-Add算法计算
Figure DEST_PATH_IMAGE011
并将
Figure 627242DEST_PATH_IMAGE012
转换为整数
Figure DEST_PATH_IMAGE013
,其中为基点P的横坐标,
Figure DEST_PATH_IMAGE015
表示基点P的纵坐标,
Figure 167124DEST_PATH_IMAGE016
表示将取整后的值,kP的计算过程如图1建立隐马尔科夫模型,输入临时密钥k为一个二进制bit序列,
Figure DEST_PATH_IMAGE017
表示位置的两种状态,取值为0或1,
Figure 367348DEST_PATH_IMAGE018
表示获取的时间数据,最后由采集到的时间序列来猜测未知密钥比特序列,将采集到的计时数据与之前确定的阈值进行比较,猜测临时密钥k’;
(5)计算
Figure DEST_PATH_IMAGE019
,r表示
Figure 42042DEST_PATH_IMAGE016
取模后的值;
(6)计算e=H(m),e表示消息m的哈希值,H表示一个哈希函数,本发明采用的是SHA1算法;
(7)计算
Figure 565428DEST_PATH_IMAGE020
,s表示输出签名中的一个关键参数;
(8)输出签名
Figure DEST_PATH_IMAGE021
(9)私钥d的求解公式为
Figure 995272DEST_PATH_IMAGE022
,由于H(m)、签名(r,s)已知,根据计时数据猜测的临时密钥k’,就可以就得猜测密钥d’;
(10)与原始密钥d进行比对,如果d=d’,说明攻击成功,否则用Grover搜索算法搜索临时密钥中错误密钥,直到找出所有的错误密钥。
CN201210378640.7A 2012-10-09 2012-10-09 基于隐马尔科夫模型的椭圆曲线密码计时攻击方法 Expired - Fee Related CN102932147B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210378640.7A CN102932147B (zh) 2012-10-09 2012-10-09 基于隐马尔科夫模型的椭圆曲线密码计时攻击方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210378640.7A CN102932147B (zh) 2012-10-09 2012-10-09 基于隐马尔科夫模型的椭圆曲线密码计时攻击方法

Publications (2)

Publication Number Publication Date
CN102932147A true CN102932147A (zh) 2013-02-13
CN102932147B CN102932147B (zh) 2015-08-12

Family

ID=47646854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210378640.7A Expired - Fee Related CN102932147B (zh) 2012-10-09 2012-10-09 基于隐马尔科夫模型的椭圆曲线密码计时攻击方法

Country Status (1)

Country Link
CN (1) CN102932147B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104579651A (zh) * 2013-10-28 2015-04-29 上海复旦微电子集团股份有限公司 椭圆曲线密码点乘运算的方法和装置
CN112968761A (zh) * 2021-03-15 2021-06-15 北京理工大学 一种针对密码算法的人工智能侧信道分析方法
CN113282759A (zh) * 2021-04-23 2021-08-20 国网辽宁省电力有限公司电力科学研究院 一种基于威胁情报的网络安全知识图谱生成方法
CN115174130A (zh) * 2022-03-10 2022-10-11 中国科学院沈阳自动化研究所 基于hmm的agv语义攻击检测方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007052491A1 (ja) * 2005-10-31 2007-05-10 Matsushita Electric Industrial Co., Ltd. セキュア処理装置、セキュア処理方法、難読化秘密情報埋め込み方法、プログラム、記憶媒体および集積回路
CN101018125A (zh) * 2007-03-02 2007-08-15 中兴通讯股份有限公司 一种基于椭圆曲线公钥密码的无线终端安全锁网锁卡方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007052491A1 (ja) * 2005-10-31 2007-05-10 Matsushita Electric Industrial Co., Ltd. セキュア処理装置、セキュア処理方法、難読化秘密情報埋め込み方法、プログラム、記憶媒体および集積回路
CN101018125A (zh) * 2007-03-02 2007-08-15 中兴通讯股份有限公司 一种基于椭圆曲线公钥密码的无线终端安全锁网锁卡方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104579651A (zh) * 2013-10-28 2015-04-29 上海复旦微电子集团股份有限公司 椭圆曲线密码点乘运算的方法和装置
CN112968761A (zh) * 2021-03-15 2021-06-15 北京理工大学 一种针对密码算法的人工智能侧信道分析方法
CN112968761B (zh) * 2021-03-15 2022-04-19 北京理工大学 一种针对密码算法的人工智能侧信道分析方法
CN113282759A (zh) * 2021-04-23 2021-08-20 国网辽宁省电力有限公司电力科学研究院 一种基于威胁情报的网络安全知识图谱生成方法
CN113282759B (zh) * 2021-04-23 2024-02-20 国网辽宁省电力有限公司电力科学研究院 一种基于威胁情报的网络安全知识图谱生成方法
CN115174130A (zh) * 2022-03-10 2022-10-11 中国科学院沈阳自动化研究所 基于hmm的agv语义攻击检测方法
CN115174130B (zh) * 2022-03-10 2023-06-20 中国科学院沈阳自动化研究所 基于hmm的agv语义攻击检测方法

Also Published As

Publication number Publication date
CN102932147B (zh) 2015-08-12

Similar Documents

Publication Publication Date Title
KR101194837B1 (ko) 멱지수를 숨기는 dpa 대책의 고속 계산을 위한 암호화장치 및 방법
US10999056B2 (en) Apparatus and method for performing operation being secure against side channel attack
EP2622458A1 (en) Protecting modular exponentiation in cryptographic operations
CN103916236A (zh) 面向aes算法的抗功耗攻击方法及电路实现
Chen et al. An efficient non-profiled side-channel attack on the CRYSTALS-Dilithium post-quantum signature
CN102932147B (zh) 基于隐马尔科夫模型的椭圆曲线密码计时攻击方法
Liu et al. A highly secure image encryption algorithm based on conservative hyperchaotic system and dynamic biogenetic gene algorithms
JP7155173B2 (ja) 外部監視攻撃からモジュラーインバージョン演算を保護すること
Roy et al. Point generation and base point selection in ECC: An overview
Coron et al. Improved Gadgets for the High-Order Masking of Dilithium
Smaoui et al. Cryptography with chaos and shadowing
US10659224B2 (en) Apparatus and method for performing operation being secure against side channel attack
Ming et al. Revealing the weakness of addition chain based masked SBox implementations
Yin et al. A novel spa on ecc with modular subtraction
KR101989943B1 (ko) 부채널 공격에 안전한 연산 장치 및 방법
KR20120015590A (ko) Rsa 서명 방법 및 장치
Wei et al. A small first-order DPA resistant AES implementation with no fresh randomness
Mondal et al. A practical key-recovery attack on LWE-based key-encapsulation mechanism schemes using Rowhammer
Dubal et al. On pseudo-random number generation using elliptic curve cryptography
US10903975B2 (en) Apparatus and method for performing operation being secure against side channel attack
KR102510077B1 (ko) 부채널 공격에 안전한 연산 장치 및 방법
Ma et al. Applications and developments of the lattice attack in side channel attacks
Wang et al. A new ECC scalar multiplication algorithm with randomized power consumption
Shukla et al. A Comparative analysis of the attacks on public key RSA cryptosystem
Maistri et al. An evaluation of an AES implementation protected against EM analysis

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150812

Termination date: 20181009