CN112134729A - 一种基于分治的程序高阶功耗侧信道安全性的证明方法 - Google Patents

一种基于分治的程序高阶功耗侧信道安全性的证明方法 Download PDF

Info

Publication number
CN112134729A
CN112134729A CN202010908485.XA CN202010908485A CN112134729A CN 112134729 A CN112134729 A CN 112134729A CN 202010908485 A CN202010908485 A CN 202010908485A CN 112134729 A CN112134729 A CN 112134729A
Authority
CN
China
Prior art keywords
variables
power consumption
side channel
consumption side
order power
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
CN202010908485.XA
Other languages
English (en)
Other versions
CN112134729B (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.)
ShanghaiTech University
Original Assignee
ShanghaiTech University
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 ShanghaiTech University filed Critical ShanghaiTech University
Priority to CN202010908485.XA priority Critical patent/CN112134729B/zh
Publication of CN112134729A publication Critical patent/CN112134729A/zh
Application granted granted Critical
Publication of CN112134729B publication Critical patent/CN112134729B/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

本发明涉及一种基于分治的程序高阶功耗侧信道安全性的证明方法,其特征在于,包括以下步骤:对于一个含有n个可观察变量的程序,为证明程序是d阶功耗侧信道安全性,即所有大小为d的可观察变量集合的联合统计分布都独立于密钥,本发明的方法通过证明少量可观察变量集合的联合统计分布独立于密钥来证明d阶功耗侧信道安全性。采用本发明的方法可以有效避免组合爆炸问题,从而可以高效地证明程序高阶功耗侧信道安全性。

Description

一种基于分治的程序高阶功耗侧信道安全性的证明方法
技术领域
本发明涉及一种基于分治的程序高阶功耗侧信道安全性的证明方法,可应用于随机掩码高阶功耗侧信道安全的验证。
背景技术
现代密码学是当今计算机信息系统安全的基石。然而,在实践中,攻击者可以利用系统运行时的物理信息破解密钥,比如采用密码算法程序运行时的时间、功耗、电磁辐射等信息,这种攻击被称为侧信道攻击。
为阻止基于功耗的侧信道攻击,主要采用基于随机数掩码来避免物理信息与加密密钥之间统计依赖关系。采用n阶掩码的程序理论上可以抵御n阶功耗侧信道攻击。然而,采用安全的n阶掩码模式无法直接保证程序必然能抵御n阶功耗侧信道攻击,因此需要自动化的验证方法来证明程序高阶功耗侧信道安全性。
基于类型推导的证明方法和基于模型计数求解的证明和检查方法相继提出,并应用于证明d阶功耗侧信道安全性。对于一个含有n个可观察变量的程序,为证明程序是d阶功耗侧信道安全性,即所有大小为d的可观察变量集合的联合统计分布都独立于密钥,需要验证
Figure BDA0002662386350000011
个变量集合。当可观察变量数和阶数变大时,出现组合爆炸问题,无法快速证明和检测实际密码程序的高阶功耗侧信道安全性。
发明内容
本发明要解决的技术问题是:当可观察变量数和阶数变大时,出现组合爆炸问题,现有的证明程序高阶功耗侧信道安全性的方法无法快速证明和检测实际密码程序的高阶功耗侧信道安全性。
为了解决上述技术问题,本发明的技术方案是提供了一种基于分治的程序高阶功耗侧信道安全性的证明方法,其特征在于,通过分治策略,把证明程序d阶功耗侧信道安全性问题转化到证明一系列大集合变量的d阶功耗侧信道安全性问题,而证明一系列大集合变量的d阶功耗侧信道安全性问题又是递归的进行分治验证,具体包括以下步骤:
步骤1、构造集合{(V,d)},进入步骤2,其中,V表示可观察变量集合,d为大于0的整数表示需要验证的阶数;
步骤2、对于给定集合{(V1,d1),...,(Vn,dn)},V1,...,Vn为可观察变量集合;d1,...,dn为大于0且小于或等于d的整数,且保证d1+…+dn=d,包括以下步骤:
步骤2.1、对于任意i,i=1,…,n,从可观察变量集合Vi中选取di个变量组成集合Di,通过类型推导或基于SMT求解器的方法检查变量集合
Figure BDA0002662386350000021
的联合统计分布是否独立于密钥变量;
步骤2.2、如果变量集合
Figure BDA0002662386350000022
的联合统计分布独立于密钥变量,则进入步骤2.3;如果变量集合
Figure BDA0002662386350000023
的联合统计分布不独立于密钥变量,则保存该变量集合
Figure BDA0002662386350000024
并进入步骤2.4;
步骤2.3、对于任何i,i=1,…,n,对于任意集合Vi\Di中的变量x,验证变量集合
Figure BDA0002662386350000025
的联合统计分布是否独立于密钥变量,如果是,则将x加入集合Di,其中,Vi\Di表示集合Vi减去Di中的元素得到的集合;
重复步骤2.3直到没有变量可以加入集合Di,在所有能加入Di的变量x加入后,进行分治;
步骤2.4、对于任意满足式(1)和式(2)的所有整数组合i1,...,in,进入步骤2递归证明集合{(D1,d1-i1),(V1\D1,i1),...,(Dn,dn-in),(Vn\Dn,in)}:
0≤i1≤min(d1,|V1\D1|),…,0≤in≤min(dn,|Vn\Dn|) (1)
i1+i2+…+in!=0 (2)
式(1)及式(2)中,min(dn,|Vn\Dn|)表示从dn和|Vn\Dn|两者中选取较小的值;
在递归证明集合{(D1,d1-i1),(V1\D1,i1),...,(Dn,dn-in),(Vn\Dn,in)}时,也保证了((d1-i1)+i1)+…+((dn-in)+in)=d1+…+dn=d。
对于一个含有n个可观察变量的程序,假设变量集合为V。为证明程序是d阶功耗侧信道安全性,即所有大小为d的可观察变量集合的联合统计分布都独立于密钥,本发明通过证明少量可观察变量集合V1,…,Vm的联合统计分布独立于密钥来证明d阶功耗侧信道安全性,且对于任意一个大小为d的可观察变量集合V’,都存在一个集合Vi使得
Figure BDA0002662386350000026
附图说明
图1为本发明的技术方案的具体步骤;
图2为待验证的程序
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
根据本发明的技术方案,实施重点是对攻击者可观测变量进行分治,减少需要验证的可观测变量集合数量,同时保证不遗漏需要验证的可观测变量集合,避免假阴性。对本发明作进一步的详细说明,具体实施技术方案如图1所示,包括以下步骤:
步骤1、命名函数HOMV(P,Xp,Xk,Xr,Xo,d),其中,P表示待验证程序,Xp表示程序P中公开变量集合,Xk表示程序P中密钥变量集合,Xr表示程序P中随机变量集合,Xo表示程序P中攻击者可观察变量集合,d为大于0的整数;
构造集合{(V,d)},进入步骤2,其中,V表示可观察变量集合;
步骤2、对于给定集合{(V1,d1),...,(Vn,dn)},V1,...,Vn为可观察变量集合;d1,...,dn为大于0且小于或等于d的整数,且保证d1+…+dn=d,包括以下步骤:
步骤2.1、对于任意i,i=1,…,n,从可观察变量集合Vi中选取di个变量组成集合Di,通过类型推导或基于SMT求解器的方法检查变量集合
Figure BDA0002662386350000031
的联合统计分布是否独立于密钥变量(参考附图1第12行至第14行,其中,T表示变量集合
Figure BDA0002662386350000032
的联合统计分布独立于密钥变量,⊥表示变量集合
Figure BDA0002662386350000033
的联合统计分布不独立于密钥变量);
步骤2.2、如果变量集合
Figure BDA0002662386350000034
的联合统计分布独立于密钥变量,则进入步骤2.3;如果变量集合
Figure BDA0002662386350000035
的联合统计分布不独立于密钥变量,则保存该变量变量集合
Figure BDA0002662386350000036
(参考附图1第8行)并进入步骤2.4;
步骤2.3、对于任何i,i=1,…,n,对于任意集合Vi\Di中的变量x,验证变量集合
Figure BDA0002662386350000037
的联合统计分布是否独立于密钥变量,如果是,则将x加入集合Di(参考附图1第15行至第18行);重复步骤2.3直到没有变量可以加入集合Di,在所有能加入Di的变量x加入后,进行分治;
步骤2.4、对于任意满足式(1)和式(2)的所有整数组合i1,...,in,进入步骤2递归证明集合{(D1,d1-i1),(V1\D1,i1),...,(Dn,dn-in),(Vn\Dn,in)}:
0≤i1≤min(d1,|V1\D1|),…,0≤in≤min(dn,|Vn\Dn|) (1)
i1+i2+…+in!=0 (2)
式(1)及式(2)中,min(dn,|Vn\Dn|)表示从dn和|Vn\Dn|两者中选取较小的值;
在递归证明集合{(D1,d1-i1),(V1\D1,i1),...,(Dn,dn-in),(Vn\Dn,in)}时,也保证了((d1-i1)+i1)+…+((dn-in)+in)=d1+…+dn=d。
以图2所示程序为例,验证该程序是2阶侧信道安全的,包括以下步骤:
首先,调用图1函数HOMV。在函数HOMV中调用Explore({({a0,a1,a2_1,b0,b1,b2_3,r0_01,r0_02,r0_12,p0_01_4,r0_10_5,p0_10_6,r0_10_7,p0_02_8,r0_20_9,p0_20_10,r0_20_11,p0_12_12},2)})函数,验证所有大小为2的可观察变量集合的联合概率分布独立于密钥变量a和b的取值。假设V={a0,a1,a2_1,b0,b1,b2_3,r0_01,r0_02,r0_12,p0_01_4,r0_10_5,p0_10_6,r0_10_7,p0_02_8,r0_20_9,p0_20_10,r0_20_11,p0_12_12}。
在函数Explore({(V,2)})调用过程中:
在Explore函数第一次调用时,从集合V中选取2个变量。假设取了a0和a1,通过调用check({a0,a1})函数检查发现a0和a1联合概率分布独立于密钥变量a和b的取值,然后调用Extend函数。在Extend函数中,依次选择集合{a2_1,b0,b1,b2_3,r0_01,r0_02,r0_12,p0_01_4,r0_10_5,p0_10_6,r0_10_7,p0_02_8,r0_20_9,p0_20_10,r0_20_11,p0_12_12}中的变量,检查将变量加入集合{a0,a1}后,其联合概率分布是否独立于密钥变量a和b的取值;如是,则将该变量加入集合{a0,a1}。通过该Extend调用后,可以证明集合{a0,a1,b0,b1,p0_01_4,p0_10_6,r0_01,r0_02,r0_10_5,r0_10_7,r0_12}的联合概率分布独立于密钥变量a和b的取值。此时完成将集合V分成两个更小的集合V1和V2,其中:
V1={a0,a1,b0,b1,p0_01_4,p0_10_6,r0_01,r0_02,r0_10_5,r0_10_7,r0_12}
V2={a2_1,b2_3,p0_02_8,r0_20_9,p0_20_10,r0_20_11,p0_12_12}。
此时已经保证了V1中两个大小为2的集合的联合概率分布独立于密钥变量a和b的取值。只需要考虑V1中取0或1变量,跟V2中取2或1个变量组成的集合的联合概率分布是否独立于密钥变量a和b的取值;达到了分治的目的。
为验证V1中取0或1变量,跟V2中取2或1个变量组成的集合的联合概率分布是否独立于密钥变量a和b的取值,递归采用分治方法进行验证;分别递归调用函数Explore({(V1,0),(V2,2)})和Explore({(V1,1),(V2,1)})。
在函数Explore({(V1,0),(V2,2)})调用过程中:
图1第5行选择分别选择集合{a2_1}和{b2_3};通过Extend证明集合{a2_1,b2_3,p0_02_8,p0_20_10,r0_20_11,r0_20_9}联合概率分布独立于密钥变量a和b的取值;将集合V2分治为两个子集V21和V22,其中:
V21={a2_1,b2_3,p0_02_8,p0_20_10,r0_20_11,r0_20_9}
V22={p0_12_12}。
此时V22集合只有一个变量,因此只需要递归调用函数Explore({(V1,0),(V21,1),(V22,1)})。
在函数Explore({(V1,0),(V21,1),(V22,1)})调用过程中:
图1第5行选择分别选择集合{p0_12_12}和{a2_1};通过Extend证明集合{a2_1,b2_3,p0_20_10,p0_12_12}联合概率分布独立于密钥变量a和b的取值;将集合V21分治为两个子集V211和V212,其中:
V211={a2_1,b2_3,p0_20_10}
V212={p0_02_8,r0_20_11,r0_20_9}。
随后递归调用函数Explore({(V1,0),(V211,0),(V212,1),(V22,1)})。
在函数Explore({(V1,0),(V211,0),(V212,1),(V22,1)})调用过程中:
图1第5行选择分别选择集合{p0_12_12}和{p0_02_8};通过Extend证明集合{p0_12_12,p0_02_8,r0_20_9}联合概率分布独立于密钥变量a和b的取值;将集合V212分治为两个子集V2121和V2122,其中:
V2121={p0_02_8,r0_20_9}
V2122={r0_20_11}。
随后递归调用函数Explore({(V1,0),(V211,0),(V2121,0),(V2122,1)(V22,1)})。
在函数Explore({(V1,0),(V211,0),(V2121,0),(V2122,1)(V22,1)})调用过程中:
图1第5行选择分别选择集合{p0_12_12}和{r0_20_11};通过Extend证明集合{p0_12_12,r0_20_11}联合概率分布独立于密钥变量a和b的取值;此时不在进行递归调用。
此后继续执行函数调用Explore({(V1,1),(V2,1)}),该过程类似上述递归调用过程,最后证明图2所示例子为2阶安全的。

Claims (1)

1.一种基于分治的程序高阶功耗侧信道安全性的证明方法,其特征在于,通过分治策略,把证明程序d阶功耗侧信道安全性问题转化到证明一系列大集合变量的d阶功耗侧信道安全性问题,而证明一系列大集合变量的d阶功耗侧信道安全性问题又是递归的进行分治验证,具体包括以下步骤:
步骤1、构造集合{(V,d)},进入步骤2,其中,V表示可观察变量集合,d为大于0的整数;
步骤2、对于给定集合{(V1,d1),...,(Vn,dn)},V1,...,Vn为可观察变量集合;d1,...,dn为大于0且小于或等于d的整数,且保证d1+…+dn=d,包括以下步骤:
步骤2.1、对于任意i,i=1,…,n,从可观察变量集合Vi中选取di个变量组成集合Di,通过类型推导或基于SMT求解器的方法检查变量集合
Figure FDA0002662386340000011
的联合统计分布是否独立于密钥变量;
步骤2.2、如果变量集合
Figure FDA0002662386340000012
的联合统计分布独立于密钥变量,则进入步骤2.3;如果变量集合
Figure FDA0002662386340000013
的联合统计分布不独立于密钥变量,则保存该变量集合
Figure FDA0002662386340000014
并进入步骤2.4;
步骤2.3、对于任何i,i=1,…,n,对于任意集合Vi\Di中的变量x,验证变量集合
Figure FDA0002662386340000015
的联合统计分布是否独立于密钥变量,如果是,则将x加入集合Di,其中,Vi\Di表示集合Vi减去Di中的元素得到的集合;重复步骤2.3直到没有变量可以加入集合Di,在所有能加入Di的变量x加入后,进行分治;
步骤2.4、对于任意满足式(1)和式(2)的所有整数组合i1,...,in,进入步骤2递归证明集合{(D1,d1-i1),(V1\D1,i1),...,(Dn,dn-in),(Vn\Dn,in)}:
0≤i1≤min(d1,|V1\D1|),…,0≤in≤min(dn,|Vn\Dn|) (1)
i1+i2+…+in!=0 (2)
式(1)及式(2)中,min(dn,|Vn\Dn|)表示从dn和|Vn\Dn|两者中选取较小的值;
在递归证明集合{(D1,d1-i1),(V1\D1,i1),...,(Dn,dn-in),(Vn\Dn,in)}时,也保证了((d1-i1)+i1)+…+((dn-in)+in)=d1+…+dn=d。
CN202010908485.XA 2020-09-02 2020-09-02 一种基于分治的程序高阶功耗侧信道安全性的证明方法 Active CN112134729B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010908485.XA CN112134729B (zh) 2020-09-02 2020-09-02 一种基于分治的程序高阶功耗侧信道安全性的证明方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010908485.XA CN112134729B (zh) 2020-09-02 2020-09-02 一种基于分治的程序高阶功耗侧信道安全性的证明方法

Publications (2)

Publication Number Publication Date
CN112134729A true CN112134729A (zh) 2020-12-25
CN112134729B CN112134729B (zh) 2022-11-04

Family

ID=73848788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010908485.XA Active CN112134729B (zh) 2020-09-02 2020-09-02 一种基于分治的程序高阶功耗侧信道安全性的证明方法

Country Status (1)

Country Link
CN (1) CN112134729B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0289472A (ja) * 1988-09-27 1990-03-29 Fujitsu Ltd 画像符号化伝送装置
CN107070633A (zh) * 2017-03-20 2017-08-18 江苏大学 一种抗高阶功耗分析的aes掩码加密方法
CN108809622A (zh) * 2018-06-15 2018-11-13 上海科技大学 一种抗功耗侧信道攻击对策验证方法
CN109542936A (zh) * 2018-10-29 2019-03-29 复旦大学 一种基于因果分割的递归式因果推断方法
CN110098916A (zh) * 2019-04-08 2019-08-06 武汉大学 一种基于软件指令定位的高阶侧信道分析方法
DE102019202527A1 (de) * 2019-02-25 2020-08-27 Robert Bosch Gmbh Sicherheitssystem und Verfahren zum Betreiben eines Sicherheitssystems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0289472A (ja) * 1988-09-27 1990-03-29 Fujitsu Ltd 画像符号化伝送装置
CN107070633A (zh) * 2017-03-20 2017-08-18 江苏大学 一种抗高阶功耗分析的aes掩码加密方法
CN108809622A (zh) * 2018-06-15 2018-11-13 上海科技大学 一种抗功耗侧信道攻击对策验证方法
CN109542936A (zh) * 2018-10-29 2019-03-29 复旦大学 一种基于因果分割的递归式因果推断方法
DE102019202527A1 (de) * 2019-02-25 2020-08-27 Robert Bosch Gmbh Sicherheitssystem und Verfahren zum Betreiben eines Sicherheitssystems
CN110098916A (zh) * 2019-04-08 2019-08-06 武汉大学 一种基于软件指令定位的高阶侧信道分析方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
PENGFEI GAO等: "Formal Verification of Masking Countermeasures for Arithmetic Programs", 《IEEE》 *
PENGFEI GAO等: "Table Recomputation-Based Higher-Order Masking Against Horizontal Attacks", 《IEEE》 *
李延斌;唐明;李煜光;胡晓波;彭敏: "高阶掩码防护的设计实现安全性研究", 《计算机学报》 *

Also Published As

Publication number Publication date
CN112134729B (zh) 2022-11-04

Similar Documents

Publication Publication Date Title
US10296248B2 (en) Turn-control rewritable blockchain
US11121880B2 (en) Method for reaching consensus on public distributed ledgers and system using the same
US6928549B2 (en) Dynamic intrusion detection for computer systems
DE69834431T2 (de) Leckresistentes kryptographisches verfahren und vorrichtung
CN108521325B (zh) 一种适用于系统数据全生命周期的防侧信道攻击方法
CN105610837B (zh) 用于scada系统主站与从站间身份认证的方法及系统
US9847879B2 (en) Protection against passive sniffing
CN116074123B (zh) 一种物联网数字信息安全传输的方法
CN111404693A (zh) 一种适用于数字签名的密码逆向防火墙方法
EP4395227A1 (en) Adaptive countermeasure for bit leakage in lattice-based cryptography
CN107220545A (zh) 一种硬件加密系统、方法及服务器
CN116684202B (zh) 一种物联网信息安全传输方法
CN112134729B (zh) 一种基于分治的程序高阶功耗侧信道安全性的证明方法
CN106656473A (zh) 一种安全的des算法的mac计算方法及系统
CN113553873B (zh) 疫情防控系统中基于云的rfid双向认证协议的设计方法
CN113193955B (zh) 一种密码算法的故障攻击防护方法
Shi et al. An obfuscatable designated verifier signature scheme
CN115473649A (zh) 攻击椭圆曲线签名算法的方法、装置、设备及存储介质
CN114024957A (zh) 一种零信任架构中对用户的行为做风险判定的方法
Chen et al. Research on Industrial Internet Data Security Technology based on Formal Verification of SM4
Bauer et al. Forging Dilithium and Falcon Signatures by Single Fault Injection
CN118332537B (zh) 一种云数据访问方法及系统
CN112131616B (zh) 一种sm2算法的掩码运算方法及装置
US20240195636A1 (en) Hardened Encoded Message Check for RSA Signature Verification
EP4432150A1 (en) Detection system, detection method, and detection program

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