Loading [MathJax]/jax/output/SVG/jax.js

完整内部安全的混合签密方案设计与分析

廖钰城, 王立斌, 黄杰彬

廖钰城, 王立斌, 黄杰彬. 完整内部安全的混合签密方案设计与分析[J]. 华南师范大学学报(自然科学版), 2022, 54(6): 119-127. DOI: 10.6054/j.jscnun.2022093
引用本文: 廖钰城, 王立斌, 黄杰彬. 完整内部安全的混合签密方案设计与分析[J]. 华南师范大学学报(自然科学版), 2022, 54(6): 119-127. DOI: 10.6054/j.jscnun.2022093
LIAO Yucheng, WANG Libin, HUANG Jiebin. Design and Analysis of Hybrid Signcryption Scheme with Full Insider Security[J]. Journal of South China Normal University (Natural Science Edition), 2022, 54(6): 119-127. DOI: 10.6054/j.jscnun.2022093
Citation: LIAO Yucheng, WANG Libin, HUANG Jiebin. Design and Analysis of Hybrid Signcryption Scheme with Full Insider Security[J]. Journal of South China Normal University (Natural Science Edition), 2022, 54(6): 119-127. DOI: 10.6054/j.jscnun.2022093

完整内部安全的混合签密方案设计与分析

基金项目: 

国家自然科学基金项目 62072207

详细信息
    通讯作者:

    王立斌,Email: lbwang@scnu.edu.cn

  • 中图分类号: TP309

Design and Analysis of Hybrid Signcryption Scheme with Full Insider Security

  • 摘要: 设计达到完整内部安全的混合签密方案(HSC)是目前亟待解决的重要问题,而如何实现高效安全的签密密钥封装机制(SC-KEM)则是解决该问题的关键。为此,先设计一种带标签的签密密钥封装机制(SC-tag-KEM)的通用构造方案(SCtKstd),该方案通过签名绑定标签与密钥封装报文,将得到的签名和临时密钥使用消息认证码进行绑定。在标准模型下进行的安全性分析表明SCtKstd方案可达到DM-IND-iCCA安全和DM-SUF-iCMA安全,进而为达成完整内部安全奠定基础。然后,将SCtKstd方案与被动安全对称加密机制结合,构造了一种可达完整内部安全的混合签密的通用构造方案(HSCstd)。在标准模型下进行的安全性分析表明HSCstd方案同时具备IND-CCA2安全与SUF-CMA安全,进而达到完整内部安全。
    Abstract: Currently, it is of significant importance to design a hybrid signcryption scheme (HSC) with full insider security, and one of the crucial methods is to implement an efficient and secure signcryption key encapsulation mechanism (SC-KEM). To this goal, a new generic construction scheme (HSCstd) of secure signcryption tag key encapsulation mechanism (SC-tag-KEM) is proposed, which signing a tag together with the encapsulation of key, and using message authentication code binding of the signature and the ephemeral key to achieve DM-IND-iCCA security and DM-SUF-iCMA security under the standard model, thus the foundation for full insider security is established. Furthermore, combined with the passive-secure symmetric encryption scheme, a new generic construction (HSCstd) of hybrid signcryption scheme achieving the full insider security is presented. It is analysed to achieve DM-CCA2 security and SUF-CMA security under the standard model, thus achieving the full insider security.
  • 签密方案(Signcryption Scheme, SC)[1]是一个逻辑步骤内同时实现数字签名和公钥加密功能的非对称密码协议,其在有效提高签名和加密效率的同时,还能够提供保密性、认证性和完整性等安全性保障,是公钥密码体制下确保网络环境中多方通信安全的重要密码技术。

    混合签密方案(Hybrid Signcryption Scheme, HSC)是在传统签密方案的基础上,通过引入对称加密体制的协议构件来进一步提升了协议的计算效率,从而解决了传统签密方案在长明文通信时效率不佳的问题[2]。得益于此优势,近年所提出的签密方案[3-8]实质均为混合签密方案。为了方便实例化混合签密方案,BJØRSTAD和DENT[9]提出了带标签的签密密钥封装机制(Signcrytion tag Key Encapsulation Mechanism, SC-tag-KEM),可通过“带标签的签密密钥封装机制+被动安全对称加密机制”(SC-tag-KEM+DEM)的构造来实例化混合签密方案。

    混合签密方案的完整内部安全[10]是指在多方内部安全模型下,混合签密方案同时达到适应性选择密文不可区分性(IND-CCA2)安全和选择报文攻击强存在性不可伪造(SUF-CMA)安全。当前,许多研究致力于实现完整内部安全的混合签密方案[3-4, 11]。2013年,LI等[11]基于签名后加密提出了一种签密方案,并声称其达到了完整内部安全,但实质上由于其未完整重用随机数,可通过解密后选取新鲜随机数重新加密的方式攻击其SUF-CMA安全,因此该方案并不具备完整内部安全。2014年,LU等[12]基于文献[11]实现了混合签密方案,但认证性上仅达到了存在性不可伪造(EUF-CMA)安全,未达到完整内部安全。2018年,GÉRARD和MERCKX[8]提出了基于格密码的后量子安全混合签密方案(SETLA),但在加密算法设计上,误差分布的定义参数及误差参数均远超出既定限制范围,因此该协议不具备正确性。为解决上述正确性问题,刘镇等[13]放弃了随机数重用方式,提出了一种签名后加密的签密方案,但该方案仅能达到EUF-CMA安全,同样不具备完整内部安全。2019年,YANG等[14]提出了标准模型下的高效混合签密方案,但该方案的安全性仅达到了多方内部的IND-CCA2和EUF-CMA安全,无法达到完整内部安全。

    为解决上述问题,本文主要基于SC-tag-KEM的通用构造,展开对完整内部安全的混合签密方案的相关研究。首先,提出了一种带标签的签密密钥封装机制(SC-tag-KEM)的通用构造方案(SCtKstd),该方案通过数字签名构件绑定标签与密钥封装报文,进一步将得到的签名和临时密钥通过消息认证码进行外部信息绑定,从而在标准模型下可证明达到完整内部安全。然后,将SCtKstd方案应用在“SC-tag-KEM+DEM”的通用构造中,提出了可达完整内部安全的混合签密的通用构造方案(HSCstd),并对其进行了安全性分析。

    下面对本文的符号进行说明,并列举方案构造以及分析中使用到的密码学原语。

    对于函数negl(n),如果对于任意的正多项式p(·),皆存在正整数N,使得对于任意的λ>N, 皆有negl(n) < 1/p(λ), 则称negl(n)是可忽略函数。

    对任意概率性多项式时间算法AaA(b)表示概率性多项式时间算法A以元素b为输入,输出元素a。若A为确定性多项式时间算法,则记为a=A(b)。

    对任意的集合SsS表示元素s随机抽取自集合S的均匀分布;若D是在集合S上的概率性分布,sD则表示根据分布D,从集合S中抽样一个元素s

    密钥封装机制(Key Encapsulation Mechanism, KEM)由以下4个算法构成:

    (1) KEMSetup(1λ)→prm:该算法以安全参数λ为输入,输出公共参数prm。

    (2) KEMKeyGen(prm)→(pk, sk):该算法以公共参数prm为输入,输出用户的公私密钥(pk, sk)。

    (3) KEMEncap(prm, pk)→(K, C):该算法输入公共参数prm和用户公钥pk,输出临时随机密钥K和对应该密钥的密钥封装报文C

    (4) KEMDecap(prm, sk, C)→K or ⊥:该算法输入公共参数prm、用户私钥sk和密钥封装报文C,输出密钥K或错误信息⊥。

    称密钥封装机制KEM有正确性,当且仅当对prm←KEMSetup(1λ)和任意(pk, sk)←KEMKeyGen(prm)、(K, C)←KEMEncap(prm, pk),K=KEMDecap(prm, sk, C)以(1-negl(λ))的概率成立。

    KEM的IND-CCA2安全则考虑由挑战者C与攻击者A按以下步骤进行安全游戏:

    (1) 设置阶段:挑战者C生成prm←KEMSetup(1λ),(pk, sk)←KEMKeyGen (pk, sk),(K0, C*)←KEMEn-cap(prm, pk),并且令K1KKEM,其中KKEM为临时密钥空间。随后,挑战者C随机抛币b←{0, 1},并返回(prm, pk, Kb, C*)给攻击者A,保留私钥sk。

    (2) 查询阶段:攻击者A向挑战者C发起适应性选择密文查询CC*;挑战者C接收到查询密文CC*后,调用KEMDecap (prm, sk, C)→K′ or ⊥,并将结果返回给攻击者A

    (3) 猜测阶段:攻击者A输出b′∈{0, 1}。若b′=b,则称攻击者A获得游戏胜利。

    定义1[15]   (KEM的IND-CCA2安全)称密钥封装机制KEM具备IND-CCA2安全,当且仅当对任意的概率性多项式时间攻击者A,在KEM的协议环境下执行KEM的IND-CCA2安全游戏,获得游戏胜利的优势概率为:

    AdvINDCCA2KEM,A=|Pr[b=b]1/2|negl(λ),

    且该优势概率关于安全参数λ可忽略。

    数字签名方案(SignatureScheme, SIG)由以下4个算法构成:

    (1) SIGSetup(1λ)→prm:该算法以安全参数λ为输入,输出公共参数prm。

    (2) SIGKeyGen (prm) → (pk, sk):该算法以公共参数prm为输入,输出用户的公私密钥(pk, sk)。

    (3) SIGSign (prm, sk, m)→σ:该算法输入公共参数prm、用户私钥sk和明文信息m,输出对应的数字签名信息σ

    (4) SIGVer (prm, pk, m, σ)→ or ⊥:该算法输入公共参数prm、用户公钥pk、明文m和数字签名信息σ,输出接受信息或错误信息⊥。

    称数字签名方案SIG具有正确性,当且仅当对prm←SIGSetup(1λ)和任意的(pk, sk)←SIGKeyGen(prm) 及明文m,SIGVer(prm, pk, m, SIGSign(prm, sk, m))=成立的概率为(1-negl(λ))。

    SIG的SUF-CMA安全游戏则考虑挑战者C与攻击者A按以下步骤进行安全游戏:

    (1) 设置阶段:挑战者C生成prm←SIGSetup(1λ),(pk, sk)←SIGKeyGen(prm)。挑战者C生成列表LSIG,记录游戏中生成的签名和对应明文信息。随后,挑战者C将(prm, pk)发送给攻击者A,并保留私钥sk。

    (2) 查询阶段:攻击者A向挑战者C发起适应性信息查询m。挑战者C接收到查询明文m后,首先检查列表LSIG中是否存在m的签名信息σ。若有, 则返回σ给攻击者A;否则, 调用SIGSign(prm, sk, m)→σ,并将(m, σ)记录到列表LSIG,将σ返回给攻击者A

    (3) 输出阶段:攻击者A输出(m*, σ*),若SIGVer(prm, pk, m*, σ*)→,并且(m*, σ*) ∉ L,则称攻击者A获得游戏胜利。

    定义2   [16] (SIG的SUF-CMA安全):称数字签名方案SIG具备SUF-CMA安全,当且仅当对任意的概率性多项式时间攻击者A,在SIG的协议环境下执行数字签名的SUF-CMA安全游戏,获得游戏胜利的优势概率为:

    AdvSICCMASIG,A=Pr[SIGVer(prm,pk,m,σ)(m,σ)L]negl(λ),

    且该优势概率关于安全参数λ可忽略。

    对称加密的消息认证码(Message Authentication Code, MAC)主要包含MACSign算法和MACVer算法。使用KM表示消息认证码的对称密钥空间,该空间通常取决于安全参数λ。对任意的对称密钥mk∈KM,明文消息τ∈{0, 1}*,有MACVer(mk, σ=MACSign(mk, τ), τ)=以(1-negl(λ))的概率成立,称σ为明文消息τ关于对称密钥mk的消息认证码。

    消息认证码的一次选择信息攻击安全:称攻击者A对消息认证码MAC成功发起一次选择信息攻击,当且仅当其适应性选取消息τ并获得关于对称密钥mk的消息认证码σ=MACSign(mk, τ)后,成功构造出(σ*, τ*),满足MACVer(mk, σ*, τ*)=。若任意多项式时间攻击者A对消息认证码MAC成功发起一次选择信息攻击的优势概率关于安全参数λ可忽略,则称MAC是一次选择信息攻击安全。

    消息认证码的One-to-One属性:称消息认证码MAC是One-to-One的,当且仅当对任意的mk∈KM,任意的明文消息τ∈{0, 1}*,有且仅有唯一的消息认证码σ=MACSign (mk, τ),满足MACVer(mk, σ, τ)=

    使用KD表示对称加密算法的密钥空间。对称加密算法(Symmetric Mechanism, SYM)由以下2个算法构成:

    (1) SYMENC(dk, m)→C:算法以对称密钥dk ∈KD和明文m为输入,输出密文C

    (2) SYMDEC(dk, C)→m:该算法以对称密钥dk ∈KD和密文C为输入, 输出明文m

    称对称加密方案SYM具有正确性,当且仅当对任意的密钥dk ∈KD、明文m, m=SYMDEC(dk, SYMENC(dk, m))以(1-negl(λ))的概率成立。

    对称加密算法的IND-PA安全游戏如下:挑战者C向攻击者A发送安全参数λ,并随机生成对称密钥dk←KD;攻击者A接收到安全参数λ后,选取明文m0m1返回给挑战者C;挑战者C接收到(m0, m1)后,随机抛币b←{0, 1},并返回C* =SYMENC (dk, mb)给攻击者A;攻击者A接收到C*后,输出b′∈{0, 1}。若满足b′=b,则称攻击者A获得游戏胜利。

    定义3   [17] (对称加密算法的IND-PA安全)称对称加密方案SYM具备IND-PA安全,当且仅当对任意的概率性多项式时间攻击者A,在SYM的协议环境下执行SYM的IND-PA安全游戏,获得游戏胜利的优势概率为:

    AdvINDASYM,A=|Pr[b=b]1/2|negl(λ),

    且该优势概率关于安全参数λ可忽略。

    使用KK表示密钥封装机制的密钥空间。密钥推导函数KDF2: KKKD×KM是确定性函数,其将输入的密钥KKK映射到密钥空间KD×KM作为输出,并且满足输出分布与KD×KM的均匀分布统计不可区分。称密钥推导函数KDF2安全,当且仅当其对任意多项式时间攻击者A,均有:

    D0={(dk,mk)(dk,mk)KD×KM},D1={(dk,mk)KKK,(dk,mk)KDF2(K)},Pr[b{0,1},(dk,mk)Db,bA(KDF2,(dk,mk)),b]1/2∣⩽negl(λ)

    成立。

    本节将提出一种带标签的签密密钥封装机制的通用构造方案(SCtKstd),并进行安全性分析。

    带标签的签密密钥封装机制的协议概念[4]和安全模型[17]的具体表述如下。

    定义4[4]   带标签的签密密钥封装机制(SCtK)由以下6个算法构成:

    (1) SCtKSetup(1λ)→prm:该算法以安全参数λ为输入,输出公共参数prm。

    (2) SCtKKeyGenS (prm) → (pkS, skS):该算法以公共参数prm为输入,输出用户的发送方公私密钥(pkS, skS)。

    (3) SCtKKeyGenR (prm)→ (pkR, skR):该算法以公共参数prm为输入,输出用户的接收方公私密钥(pkR, skR)。

    (4) SCtKSym (prm, skS, pkR) → (K, ω):该算法输入公共参数prm、发送方私钥skS和接收方公钥pkR,输出临时随机密钥K和中间状态信息ω

    (5) SCtKEncap (prm, skS, pkR, ω, τ) →C:算法输入公共参数prm、发送方私钥skS、接收方公钥pkR、中间状态信息ω和标签信息τ,输出带标签的签密密钥封装报文C

    (6) SCtKDecap (prm, skR, pkS, C, τ) →K or⊥:该算法输入公共参数prm、接收方私钥skR、发送方公钥pkS、签密密钥封装报文C和标签信息τ,输出密钥K或错误信息⊥。

    称带标签的签密密钥封装机制SCtK具有正确性,当且仅当对任意的prm←SCtKSetup(1λ)、(pkS, skS)←SCtKKeyGenS(prm)、(pkR, skR)←SCtKKey-GenR(prm)、(K, ω)←SCtKSym(prm, skS, pkR)及C←SCtKEncap(prm, skS, pkR, ω, τ),SCtKDecap(prm, skR, pkS, C, τ)=K以(1-negl(λ))的概率成立。

    定义5[17]   (带标签的签密密钥封装机制的DM-IND-iCCA安全游戏)挑战者C与攻击者A按以下步骤进行安全游戏:

    (1) 设置阶段:挑战者C调用SCtKSetup(1λ)→prm,SCtKKeyGenR(prm)→(pkR, skR), 将(prm, pkR)发送给攻击者A,并保留私钥skR

    阶段1:攻击者A任意调用SCtKKeyGenS(prm)→(pkS, skS) 和任意发起适应性选择密文查询(pkS, C, τ);挑战者C接收到(pkS, C, τ)后,调用SCtKDecap(prm, skR, pkS, C, τ)→K or⊥,并将结果返回给攻击者A

    (2) 挑战阶段:攻击者A适应性选取合法的发送方公私密钥(pkS*, skS*),将其发送给挑战者C。挑战者C接收到(pkS*, skS*)后,调用SCtKSym(prm, skS*, pkR)→(K0, ω*),并且令K1KSC-tag-KEM,其中KSC-tag-KEM为临时密钥空间。挑战者C随后进行抛币b←{0, 1},将Kb返回给攻击者A。攻击者A接收到Kb后,将适应性选取标签信息τ*发送给挑战者C。挑战者C接收到标签信息τ*后,进一步调用SCtKEncap prm, skS*, pkR, ω*, τ*C*,返回C*给攻击者A

    阶段2:攻击者A与阶段1一致,可向挑战者C发起任意的适应性选择密文查询pkS, C, τ,要求pkS, C, τ ≠(pkS*, C*, τ*)。

    (3) 猜测阶段:攻击者A输出b′∈ 0, 1。若b′=b,则称攻击者A获得游戏胜利。

    定义6   [17] (带标签的签密密钥封装机制的DM-IND-iCCA安全)称签密密钥封装机制SCtK具备DM-IND-iCCA安全,当且仅当对任意概率性多项式时间攻击者A,在SCtK的协议环境下执行SC-tag-KEM的DM-IND-iCCA安全游戏,获得游戏胜利的优势概率为:

    AdvDMINDiCCASCtK,A=|Pr[b=b]1/2|negl(λ),

    且该优势概率关于安全参数λ可忽略。

    定义7[17]   (带标签的签密密钥封装机制的DM-SUF-iCMA安全游戏)挑战者C与攻击者A按以下步骤进行安全游戏:

    设置阶段:挑战者C调用SCtKSetup(1λ)→prm,SCtKKeyGenS prm →(pkS, skS),保留私钥skS,将prm, pkS发送给攻击者A。挑战者C生成列表L, 以记录游戏中生成的签密密文和对应的封装密钥及中间状态信息。

    查询阶段:攻击者A可以任意调用SCtKKey-GenR prm → pkR, skR,并适应性选取pkR发送给挑战者C;挑战者C接收到pkR后,调用SCtKSym(prm, skS, pkR)→ (K, ω),将K发送给攻击者A,并等待其进一步返回适应性选取的标签信息τ;挑战者C首先检查列表L中是否有(pkR, K, ω, τ)的匹配项(pkR, K, ω, τ, C′):若有,则返回C′;否则,调用SCtKEncap(prm, skS, pkR, ω, τ)→C,并将C返回给攻击者A且记录(pkR, K, ω, τ, C)到列表L当中。

    输出阶段:攻击者A输出(pkR*, skR*, C*, τ*),满足(pkR*, skR*)为合法的接收方公私密钥。若SCTKDecap(prm, skR*, pkS, C*, τ*)=K*≠⊥,并且(pkR*, K*, τ*, C*) ∉ L,则称攻击者A获得游戏胜利。

    定义8[17]   (带标签的签密密钥封装机制的DM-SUF-iCMA安全)称带标签的签密密钥封装机制SCtK具备DM-SUF-iCMA安全,当且仅当对任意的概率性多项式时间攻击者A,在SCtK的协议环境下执行DM-SUF-iCMA安全游戏,获得游戏胜利的优势概率为:

    AdvDM-SUF-iCMA SCtK,A=Pr[SCtKDecap(prm,skR,pkS,C,τ)=K≠⊥(pkR,K,τ,C)L]negl(λ)

    且该优势概率关于安全参数λ可忽略。

    定义密钥封装机制KEM=(KEMSetup, KEMKeyGen, KEMEncap, KEMDecap),数字签名方案SIG=(SIGSetup, SIGSign, SIGVer),信息认证码MAC=(MACSign, MACVer),密钥推导函数KDF2: KKKD×KM,其中,KKKDKM分别为KEM、DEM、MAC密钥空间。标准模型下,带标签的签密密钥封装机制的通用构造方案(SCtKstd)如图 1所示。

    图  1  带标签的签密密钥封装机制的通用构造方案(SCtKstd)
    Figure  1.  The generic construction scheme (SCtKstd) of signcryption tag key encapsulation mechanism

    定理1   密钥封装机制KEM具备IND-CCA2安全,数字签名方案SIG具备SUF-CMA安全,密钥推导函数KDF2安全,信息认证码MAC满足一次选择信息攻击安全并具备One-to-One属性,则SCtKstd方案在标准模型下达到完整内部安全。

    证明   完整内部安全包含DM-IND-iCCA安全和DM-SUF-iCMA安全,以下从这2个方面给出SCtKstd方案的具体安全性证明,其中省略了协议内部的公共环境参数prm。

    (1) SCtKstd方案的DM-IND-iCCA安全证明。假设存在攻击者A以不可忽略的优势概率成功攻击SCtKstd方案的DM-IND-iCCA安全,考虑以下的一系列安全游戏:

    Game 0:该游戏为原始游戏,挑战者C按SCtKstd方案本身与攻击者A诚实地进行SC-tag-KEM的DM-IND-iCCA安全游戏,从而有:

    AdvDM-IND-iCCA SCtKstd ,A=AdvGame0 A

    Game 1:在本次游戏中,挑战者C在游戏最开始阶段选取KKK。进入挑战阶段后, 挑战者C生成(*, C*)←KEMEncap pkR,(dk0, mk) ∶ =KDF2(K),dk1KD,随后抛币b∈{0, 1},返回Kb给攻击者A,等待其返回标签信息τ*;在攻击者A返回标签信息τ*后,挑战者C执行σ1*←SIGSign(skS, (C*τ*‖pkR)),并进一步依据mk计算σ2*=MACSign(mk, (σ1*, pkS)),返回((C*, σ1*, σ2*), τ*)给攻击者A。对攻击者A发起适应性查询(pkS, (C′, σ1, σ2), τ′),若C′=C*,则挑战者C将使用K为其执行解密预言机。

    K的选取方式不同外,Game 0和Game 1完全一致。此时若存在攻击者A,其在Game 0和Game 1中进行SC-tag-KEM的DM-IND-iCCA安全游戏的获胜优势分别为ε0ε1,且获胜优势的差距是不可忽略的: |ε0-ε1|>negl(A),则以攻击者A为子算法, 可构造区分器D用于攻击KEM的IND-CCA2安全。

    区分器D的构造过程:令攻击者A为获得游戏胜利的优势概率不可忽略的多项式时间攻击者,并在SCtKstd协议环境下进行DM-IND-iCCA安全游戏。以攻击者A为子算法,按如下步骤可构造多项式时间攻击者AKEM,以攻击KEM的IND-CCA2安全:

    ① 攻击者AKEM在KEM的协议环境下进行IND-CCA2安全游戏,在游戏的设置阶段接收到挑战者CKEM发送的挑战报文(pk, Kb, C*)。

    ② 攻击者AKEM开始模拟DM-IND-iCCA安全游戏,将接收到的公钥pk作为设置阶段的pkR发送给攻击者A

    ③ 进入DM-IND-iCCA安全游戏的阶段1。此时,攻击者A将发起适应性查询(pkS, (C, σ1, σ2), τ),要求返回SCtKDecap (skR, pkS, C, σ1, σ2, τ)。

    ④ 攻击者AKEM将首先调用SIGVer(pkS, (C‖τ‖pkR), σ1)来验证签名的合法性,若输出为⊥,则返回⊥。否则,继续验证C=C*是否成立: 若成立,则输出abort事件,结束本次游戏;否则,向挑战者CKEM发起适应性查询C。若返回结果为K而不为空,则攻击者AKEM将计算(dk, mk)=KDF2(K),并验证MACVer(mk, (σ1 pkS)):若输出为,则返回dk;否则,返回⊥。此处abort事件的发生意味着攻击者在正式获得挑战密文前已访问到挑战密文,该事件发生的概率是可忽略的。

    ⑤ 进入DM-IND-iCCA安全游戏的挑战阶段。此时,攻击者A发送(pkS*, skS*)给攻击者AKEM。攻击者AKEM根据其本身的挑战报文(pk, Kb, C*),计算(dk0, mk*) =KDF2(Kb),dk1KD,并随机抛币c∈{0, 1},将dkc返回给攻击者A。在攻击者A返回标签信息τ*后,攻击者AKEM调用SCtKEncap(skS*, pkR, (mk*, c*), τ*)→((C*, σ1*, σ2*), τ*),返回((C*, σ1*, σ2*), τ*)给攻击者A

    ⑥ 进入DM-IND-iCCA安全游戏的阶段2。对攻击者A发起的适应性查询(pk″S, (C″, σ1, σ2), τ″)≠(pkS*, (C*, σ1*, σ2*), τ*),攻击者AKEM首先验证签名σ1的合法性,若验证失败则返回⊥。对C″≠C*,攻击者AKEM向挑战者CKEM发起适应性查询c″,若返回结果为K″而不为空,则计算(dk″, mk″)= KDF2(K″),并验证MACVer(mk″, (σ1, pks))=σ2是否成立。若成立,则返回dk″,否则返回⊥。而在C″=C*的情况下,攻击者AKEM令(dk″, mk″)=KDF2 (Kb),若验证MACVer (mk″, (σ1, pks))=σ2通过,则返回dk″,否则返回⊥。

    ⑦ 进入DM-IND-iCCA安全游戏的猜测阶段。攻击者A输出c′∈{0, 1}。若c=c′,则攻击者AKEM输出b=0;否则,输出b=1。

    分析上述区分器D。在abort事件不发生的情况下:当攻击者AKEM获取到的Kb为对应C*的真实密钥K0时,攻击者A的实际游戏环境实质为Game 0;反之,当Kb为随机密钥K1时,攻击者A的游戏环境实质为Game 1。因此, Game 0和Game 1之间,在攻击者A获得游戏胜利的优势概率差距不可忽略的情况下,若攻击者A猜测正确,则可认为攻击者AKEM当前获取到的Kb是真实密钥K0,否则可认为是随机密钥K1。从而,攻击者AKEM可通过不可忽略的优势概率成功攻击KEM的IND-CCA2安全。此外,上述区分器D的abort事件取决于密文C*的取值空间MC以及攻击者A在DM-IND-iCCA安全游戏阶段1的可查询次数q1,从而

    |AdvGame 1AAdvGame0A|2εINDCCA2KEM+q1MC

    Game 2 : 该游戏与Game 1基本一致, 除挑战者C在游戏最开始阶段不随机选取KKK, 而是选取dk0×mkKD×KM。进人挑战阶段, 挑战者C生成(,C) KEMEncap (pkR),dk1K, 随机抛币b {0,1}后, 返回dkb给攻击者A。等待攻击者A返回适应性选取的标签信息τ后, 挑战者C根据攻击者A适应性选取的发送方公私密钥(pkS,skS), 生成σ1SIGSign(skS,(CτpkR))σ2:=MACSign(σ1, pks), 返回((C,σ1,σ2),τ)给攻击者A对攻击A发起的适应性查询(pkS,(C,σ1,σ2),τ), 若C=C, 则挑战者C根据dk0×mk为其执行解密预言机。

    因此,若密钥推导函数安全,则攻击者视角的Game 1和Game 2完全一致;否则, 可构造区分器来区分该密钥推导函数的输出分布,从而得到:

    |AdvGame 2AAdvGame 1A|2εKDF

    Game 3 : 该游戏与Game 2基本一致, 除攻击者A在阶段2向挑战者C发起适应性查询(pkS,(C,σ1, σ2),τ) 时, 若C=C, 则挑战者C直接返回。此时在Game 3中, 攻击者无法再获取任何有关挑战报文中C的有利信息, 即使其构造了有关挑战报文C的新鲜签密报文, 均只能获得信息, 从而

    AdvGame 3 A=12

    接下来, 对Game 2和Game 3之间攻击者A的优势概率进行绑定。注意到在Game 2中, 密钥dk× mkKD×KM已达到真随机。假设Game 2和Game 3之间的优势概率丢失不可忽略, 则攻击者A必然对根据挑战报文((C,σ1,σ2),τ)构造的新鲜的签密报文((C,σ1,σ2),τ)成功发起了预言机查询, 对该过程进行分析:

    Game 2中的攻击者A本身具备签名私钥, 因此必然可构造出对应(C,τ)的签名σ1。然而, 对于消息认证码σ2, 对应的MAC密钥mk是随机选取的并且与C完全独立, 攻击者A无法从(C,σ1)中获取任意构造σ2的有利信息。此时, 攻击者A在仅有消息τ=(σ1pkS)σ2=MAC Sign(mk,(σ1pkS))的情况下构造了新消息τ= (σ1pks)以及关于mk的合法MAC标签σ2, 等于成功发起了对MAC的一次选择信息攻击。

    从而,将攻击者A在Game 2和Game 3之间的概率优势丢失绑定到MAC的一次选择信息攻击安全上,即:

    |AdvGame 3AAdvGame 2 A|εMAC 

    最终可得到:

    AdvDMINDiCCASCtKstd ,A=AdvGame 0A12+εMAC+2εKDF+2εINDCCA2KEM+q1MC

    (2) SCtKstd方案的DM-SUF-iCMA安全证明。SCtKstd 方案本质仍为加密后签名的结构, 对于接收方内部敌手A获取到的任意的签密报文((C,σ1, σ2),τ), 可通过对C解签密来获取对应σ2的MAC密钥mk。但在MAC的One-to-One属性情况下, 若其成功构造出新鲜的合法签密报文来攻击DM-SUFiCMA安全, 则必然生成了新鲜的合法签名σ1, 以此可攻击数字签名方案SIG的SUF-CMA安全。从而以攻击者A为子算法, 可构造对签名方案SIG的多项式时间攻击者ASIG

    构造过程:以攻击者A为子算法,构造概率性多项式时间攻击者ASIG,对签名方案SIG的SUF-CMA安全发起攻击:

    (1) 攻击者ASIG在SIG的协议环境下进行SUF-CMA安全游戏,在该游戏的设置阶段接收到挑战者CSIG发送的公钥pk。

    (2) 攻击者ASIG开始模拟DM-SUF-iCMA安全游戏且与攻击者A进行交互,并将公钥pk作为该游戏设置阶段的pkS发送给攻击者A

    (3) 进人DM-SUF-iCMA安全游戏的查询阶段。对攻击者A适应性选取的接收方公钥pkR, 攻击者ASIG 调用KMEncap(pkR)(K,C), 生成(dk,mk)= KDF2(K), 设置中间状态信息ω=(mk,C), 返回dk给攻击者A, 并等待其后续查询。在接收到攻击者A适应性选择的标签信息τ后, 攻击者ASIG 根据标签信息τ、中间信息ω=(mk,C)和接收方公钥pkR, 向息σ2=MACSign(mk,(σ1,pkS)), 返回(C,σ1,σ2)给攻击者A。 

    (4) 进人DM-SUF-iCMA安全游戏的输出阶段。此时, 攻击者A输出针对SCtKstd方案的DM-SUF-iCMA安全的伪装报文(pkR,skR,(C,σ1,σ2),τ), 攻击者ASIG直接令m=(CτpkR), 将(m,σ1)返回给挑战者CSIG 。 

    对上述构造过程进行分析可以看到, 攻击者ASIG完美模拟了SCtKstd方案的DM-SUF-iCMA安全游戏并与攻击者A进行交互。假设攻击者A成功攻击了SCtKstd 方案的DM-SUF-iCMA安全, 则对其最终返回的伪造报文(pkR,skR,(C,σ1,σ2),τ)进行分析: 若此前末向挑战者CSIG查询过信息m= (CτpkR)的签名信息, 则攻击者ASIG可成功攻击SIGSUFCMA安全; 若此前向挑战者CSIG查询过信息m的签名信息, 则根据密钥封装机制的正确性、密钥推导函数的确定性和MAC的One-to-One属性, 攻击者A必然构造了信息m=(CτpkR)的新鲜签名, 则攻击者ASIG同样可成功攻击SIG的SUF-CMA安全。

    因此,在数字签名方案SIG本身具备SUF-CMA安全的情况下,SCtKstd方案是具备DM-SUF-iCMA安全的。

    综上,SCtKstd方案在标准模型下可证明满足DM-IND-iCCA安全和DM-SUF-iCMA安全,进而达到完整内部安全。证毕。

    本节将SCtKstd方案应用在“SC-tag-KEM+DEM”的通用构造当中,提出了一种可达完整内部安全的混合签密的通用构造方案(HSCstd),并进行安全性分析。

    定义9[9]   (签密方案,SC)完整的SC方案由以下5个算法构成:

    (1) SCSetup(1λ)→prm:该算法以安全参数λ为输入,输出公共参数prm。

    (2) SCKeyGenS (prm) → (pkS, skS):该算法以公共参数prm为输入,输出用户的发送方公私密钥(pkS, skS)。

    (3) SCKeyGenR (prm) → (pkR, skR):该算法以公共参数prm为输入,输出用户的接收方公私密钥(pkR, skR)。

    (4) SCSC(prm, skS,pkR,m)C : 该算法实现签密功能, 输人公共参数prm、发送方私钥skS、接收方公钥pkR和明文m, 输出签密密文C。 

    (5) SCUSC (prm, skR, pkS, c) →m or⊥:该算法实现解签密功能,输入公共参数prm、接收方私钥skR、发送方公钥pkS和签密密文c,输出明文m或错误信息⊥。

    称签密方案SC具有正确性,当且仅当对prm←SCSetup (1λ)和任意的(pkS, skS)←SCKeyGenS(prm),(pkR, skR)←SCKeyGenR(prm),明文m和签密密文c←SCSC(prm, skS, pkR, m),SCUSC(skR, pkS, prm, c)=m以(1-negl(λ))的概率成立。

    定义密钥封装机制KEM=(KEMSetup, KEMKey-Gen, KEMEncap, KEMDecap),数字签名方案SIG=(SIGSetup, SIGKeyGen, SIGSign, SIGVer),信息认证码MAC=(MACSign, MACVer),对称加密算法SYM=(SYMENC, SYMDEC),密钥推导函数KDF2: KKKD×KM,其中,KD为临时密钥空间,KM为MAC密钥空间。标准模型下,可达完整内部安全的混合签密的通用构造方案HSCstd图 2所示。

    图  2  可达完整内部安全的混合签密的通用构造方案(HSCstd)
    Figure  2.  The generic construction scheme (HSCstd) of hybrid signatures with full insider security

    HSCstd方案是基于文献[14]提出的混合签密通用构造方案,该方案的安全性基于定理1和以下引理。

    引理1[9]   若混合签密方案SC基于带标签的签密密钥封装机制SC-tag-KEM和数据封装机制DEM进行构造,并且SC-tag-KEM达到IND-CCA2安全,DEM达到IND-PA安全,则混合签密方案SC达到IND-CCA2安全。

    引理2[9]   若混合签密方案SC基于带标签的签密密钥封装机制SC-tag-KEM和数据封装机制DEM进行构造,且SC-tag-KEM达到SUF-CMA安全, 则混合签密方案SC达到SUF-CMA安全。

    因此,只需选取达到IND-CCA2安全和SUF-CMA安全的SC-tag-KEM以及满足IND-PA安全的DEM作为混合签密方案HSCstd的底层协议构件,根据定理1、引理1和引理2,即可证明HSCstd方案达到了完整内部安全。

    本文在不重用随机数的情况下提出了一种带标签的签密密钥封装机制的通用构造方案(SCtKstd),该方案通过使用SIG构件绑定了标签和密钥的外部信息,在标准模型下达到完整内部安全。然后,结合SCtKstd方案与“SC-tag-KEM+ DEM”通用构造[9],提出了可达完整内部安全的混合签密通用构造方案(HSCstd),并进行了安全性分析。结果表明:HSCstd方案具备了多方内部安全模型下的IND-CCA2安全和SUF-CMA安全,进而达到了完整内部安全。同时,由于模块化构造时所使用的构件具有多种成熟的实现方案,使得HSCstd方案具备较好的通用性和实用性。

    然而,相对于经典计算攻击者,量子攻击者不仅具有更强的计算能力,还具有更强的问询能力。SCtKstd方案在安全性证明时所使用的安全模型为Chiba[17]的动态多方内部安全模型,该模型并未考虑量子攻击者的量子叠加态问询能力,因此,SCtKstd方案也未被证明能有效抵抗量子攻击。所以,在后量子安全模型下来分析混合签密方案的安全性是下一步研究工作的重点。

  • 图  1   带标签的签密密钥封装机制的通用构造方案(SCtKstd)

    Figure  1.   The generic construction scheme (SCtKstd) of signcryption tag key encapsulation mechanism

    图  2   可达完整内部安全的混合签密的通用构造方案(HSCstd)

    Figure  2.   The generic construction scheme (HSCstd) of hybrid signatures with full insider security

  • [1]

    ZHENG Y. Digital signcryption or how to achieve cost(signature & encryption) ≪ cost(signature) + cost(encryption)[C]//Advances in Cryptology — CRYPTO'97. Berlin: Springer, 1997: 165-179.

    [2]

    DENTA W. Hybrid signcryption schemes with insider security[C]//Proceedings of the 10th Australasian Conferen-ce on Information Security and Privacy. Berlin: Springer, 2005: 253-266.

    [3]

    YAN J, WANG L, WANG L, et al. Efficient lattice-based signcryption in standard model[J]. Mathematical Pro-blems in Engineering, 2013, 2013: 1-18.

    [4]

    SATO S, SHIKATA J. Lattice-based signcryption without random oracle[C]//Post-Quantum Cryptography. Cham: Springer, 2018: 331-351.

    [5]

    WANG C H, WANG F H. Post-quantum secure hybrid ring signcryption scheme from lattice assumption[C]//Proceedings of the 2015 4th International Conference on Computer, Mechatronics, Control and Electronic Enginee-ring. Hangzhou: Atlantis, 2015: 960-963.

    [6]

    MICCIANCIO D, PEIKERT C. Trapdoors for lattices: simpler, tighter, faster, smaller[C]//Advances in Cryptology-EUROCRYPT 2012. Berlin: Springer, 2012: 700-718.

    [7] 路秀华, 温巧燕, 王励成, 等. 无陷门格基签密方案[J]. 电子与信息学报, 2016, 38(9): 2287-2293. https://www.cnki.com.cn/Article/CJFDTOTAL-DZYX201609024.htm

    LU X H, WEN Q Y, WANG L C, et al. A lattice-based signcryption scheme without trapdoors[J]. Journal of Electronics Technology, 2016, 38(9): 2287-2293. https://www.cnki.com.cn/Article/CJFDTOTAL-DZYX201609024.htm

    [8]

    GÉRARD F, MERCKX K. Setla: signature and encryption from lattices[C]//Cryptology and Network Security. Cham: Springer, 2018: 299-320.

    [9]

    BJØRSTAD T E, DENT A W. Building better signcryption schemes with Tag-KEMs[C]//Proceedings of the 9th International Conference on Theory and Practice of Public-Key Cryptography. Berlin: Springer, 2006: 491-507.

    [10]

    AN J H, DODIS Y, RABIN T. On the security of joint signature and encryption[C]//Advances in Cryptology—EUROCRYPT 2002. Berlin: Springer, 2002: 83-107.

    [11]

    LI F, MUHAYA F B, KHAN M, et al. Lattice-based signcryption[J]. Concurrency and Computation: Pratice and Experience, 2013, 25(14): 2112-2122. doi: 10.1002/cpe.2826

    [12]

    LU X, WEN Q, JIN Z, et al. A lattice-based signcryption scheme without random oracles[J]. Frontiers of Computer Science, 2014, 8(4): 667-675. doi: 10.1007/s11704-014-3163-1

    [13] 刘镇, 韩益亮, 杨晓元, 等. 基于RLWE的可证明安全无陷门签密方案[J]. 通信学报, 2020, 41(6): 14-25. https://www.cnki.com.cn/Article/CJFDTOTAL-TXXB202006002.htm

    LIU Z, HAN Y L, YANG X Y, et al. Provable security signcryption scheme based on RLWE without trapdoor[J]. Journal on Communications, 2020, 41(6): 14-25. https://www.cnki.com.cn/Article/CJFDTOTAL-TXXB202006002.htm

    [14]

    YANG X, CAO H, LI W, et al. Improved lattice-based signcryption in the standard model[J]. IEEE Access, 2019, 7(1): 155552-155562.

    [15]

    CHOU T. An IND-CCA2 attack against the 1st- and 2nd-round versions of NTS-KEM[C]// Innovative Security Solutions for Information Technology and Communications: 13th International Conference. Cham: Springer, 2020: 165-184.

    [16]

    BRENDEL J, CREMERS C, JACKSON D, et al. The provable security of ed25519: theory and practice[C]//Secu-rity and Privacy. San Francisco: IEEE, 2021: 1659-1676.

    [17]

    CHIBA D, MATSUDA T, SCHULDT J C N, et al. Efficient generic constructions of signcryption with insider security in the multiuser setting[C]//Proceedings of the 9th International Conference on Applied Cryptography and Network Security. Berlin: Springer, 2011: 220-237.

图(2)
计量
  • 文章访问数:  454
  • HTML全文浏览量:  67
  • PDF下载量:  30
  • 被引次数: 0
出版历程
  • 收稿日期:  2021-11-23
  • 网络出版日期:  2023-02-13
  • 刊出日期:  2022-12-24

目录

/

返回文章
返回