Loading [MathJax]/jax/output/SVG/jax.js
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

基于区块链和可信执行环境的属性签名身份认证方案

冉津豪, 蔡栋梁

冉津豪, 蔡栋梁. 基于区块链和可信执行环境的属性签名身份认证方案[J]. 计算机研究与发展, 2023, 60(11): 2555-2566. DOI: 10.7544/issn1000-1239.202330268
引用本文: 冉津豪, 蔡栋梁. 基于区块链和可信执行环境的属性签名身份认证方案[J]. 计算机研究与发展, 2023, 60(11): 2555-2566. DOI: 10.7544/issn1000-1239.202330268
Ran Jinhao, Cai Dongliang. Attribute Signature Identity Authentication Scheme Based on Blockchain and Trusted Execution Environment[J]. Journal of Computer Research and Development, 2023, 60(11): 2555-2566. DOI: 10.7544/issn1000-1239.202330268
Citation: Ran Jinhao, Cai Dongliang. Attribute Signature Identity Authentication Scheme Based on Blockchain and Trusted Execution Environment[J]. Journal of Computer Research and Development, 2023, 60(11): 2555-2566. DOI: 10.7544/issn1000-1239.202330268
冉津豪, 蔡栋梁. 基于区块链和可信执行环境的属性签名身份认证方案[J]. 计算机研究与发展, 2023, 60(11): 2555-2566. CSTR: 32373.14.issn1000-1239.202330268
引用本文: 冉津豪, 蔡栋梁. 基于区块链和可信执行环境的属性签名身份认证方案[J]. 计算机研究与发展, 2023, 60(11): 2555-2566. CSTR: 32373.14.issn1000-1239.202330268
Ran Jinhao, Cai Dongliang. Attribute Signature Identity Authentication Scheme Based on Blockchain and Trusted Execution Environment[J]. Journal of Computer Research and Development, 2023, 60(11): 2555-2566. CSTR: 32373.14.issn1000-1239.202330268
Citation: Ran Jinhao, Cai Dongliang. Attribute Signature Identity Authentication Scheme Based on Blockchain and Trusted Execution Environment[J]. Journal of Computer Research and Development, 2023, 60(11): 2555-2566. CSTR: 32373.14.issn1000-1239.202330268

基于区块链和可信执行环境的属性签名身份认证方案

基金项目: 国家重点研发计划(2019YFB2101703);国家自然科学基金项目(62272107,U19A2066);上海市科技创新行动计划(21511102200);广东省重点领域研发计划(2020B0101090001)
详细信息
    作者简介:

    冉津豪: 1999年生. 硕士研究生. 主要研究方向为区块链、属性基密码、可信执行环境

    蔡栋梁: 2000年生. 博士研究生. 主要研究方向为区块链、属性基密码、零知识证明

    通讯作者:

    蔡栋梁(22110240060@m.fudan.edu.cn

  • 中图分类号: TP399

Attribute Signature Identity Authentication Scheme Based on Blockchain and Trusted Execution Environment

Funds: This work was supported by the National Key Research & Development Program of China (2019YFB2101703),the National Natural Science Foundation of China (62272107,U19A2066) ,the Innovation Action Plan of Shanghai Science and Technology (21511102200),the Key-Area Research and Development Program of Guangdong Province (2020B0101090001).
More Information
    Author Bio:

    Ran Jinhao: born in 1998. Master candidate. His main research interests include blockchain, attribute based encryption, and trusted execution environment

    Cai Dongliang: born in 2000. PhD candidate. His main research interests include blockchain, attribute based encryption, and zero-knowledge proof

  • 摘要:

    身份认证是当前数字化世界中广泛应用的一项技术,对于流量至上的时代,安全而便捷的身份验证方案对于应用服务吸引用户是至关重要的. 去中心化身份通过使用完全去中心化的技术如区块链,让用户完全控制自己的身份. 为了进一步提高身份认证的安全性与便捷性,提出一种基于区块链和可信执行环境(TEE)的属性签名身份认证方案. 现有的身份验证方法存在用户身份凭证管理繁重、安全性不足等问题. 用户利用属性签名生成指向应用服务的持久性凭据,并且凭据是可扩充的. 而用户反复扩充凭据的过程相比单次生成凭据保存更有被攻击者植入木马的风险,可信执行环境则可以在签名过程中提供硬件级别的保护,避免中间参数的泄露. 同时还用较小的额外验证代价实现了对用户身份泄露、冒用的审计,进一步提高了方案的安全性.

    Abstract:

    Identity authentication is a technology widely used in the current digital world. In the era of traffic supremacy, a secure and convenient identity authentication solution is crucial for attracting users to application services. Decentralized identity gives users complete control over their identity by using a fully decentralized technology such as blockchain. In order to further improve the security and convenience of identity authentication, an attribute signature authentication scheme based on blockchain and trusted execution environment is proposed. Existing identity verification methods have problems such as heavy management of user identity certificates and insufficient security. Attribute signatures are used by users to generate persistent credentials pointing to application services, and credentials are extensible. In the process of repeatedly expanding credentials, the user is more likely to be implanted with a Trojan horse than a single generation of credentials. The trusted execution environment can provide hardware-level protection during the signing process to avoid the leakage of intermediate parameters. At the same time, the audit of user identity leakage and fraudulent use is realized with a small additional verification cost, which further improves the security of the scheme.

  • 2022年,中央网络安全和信息化委员会办公室等十六部门联合通知,公布了15个综合性和164个特色领域国家区块链创新应用试点名单[1],区块链应用正在逐步进入常人的生活.

    区块链是新一代信息技术的重要组成部分,在过去十余年里,部分学者称区块链技术为分布式系统领域革命性的技术[2]. 中本聪[3]的一种点对点的现金系统首次展现了区块链的应用形式,他通过将Haber和Stornetta提出的无信任时间戳的概念[4]应用到去中心化的环境中,并结合工作量证明[5-6],建立了比特币共识协议. 工作量证明协议将计算资源总和超过50%的节点共识得到的结果作为正确的结果记录下来,实现最终的一致性[7]. 同时,区块链中的区块将通过哈希成链,保证了链上内容不可篡改的特性[6].

    区块链的共识机制让许多问题有了新的解决思路,其中一个重要的区块链应用就是身份认证. 由于互联网应用及基础设施的发展,越来越多的人接入互联网生活[8]. 随着对数字身份的需求不断增长,人们生活的很大一部分将在网络中与服务进行交互,因此身份认证管理也成为研究的热点. 简单来说,数字身份是人们通过电子方式向应用服务证明自己身份的一种手段.

    分布式的身份认证方案通常可以表述为去中心化身份(decentralized identity, DID),或者是自我主权身份(self-sovereign identity, SSI)[9],本文不对这两者区分,下文统一称为SSI. 从本质上讲,SSI是一个允许用户个人完全拥有和管理他们自我数字身份的系统,主张用户应独立于应用服务存在,用户的个人数字身份和个人信息完全由个人所拥有和控制,用户可以自行构建属于自己的可验证凭据(verifiable credentials, VC),而不需要通过中心化的第三方,如应用服务、中心机构等.

    可信执行环境(trusted execution environment, TEE)是指在计算设备中与操作系统隔离的一块独立、安全、可信的软件执行环境,从硬件级别保障隐私、敏感数据计算的机密性、完整性. 此方案中,用户需要在本地环境中计算VC及零知识凭据,而个人用户很难具备较好的安全防护意识,其专业知识和习惯常常不具有为该计算提供安全防护的能力,让敌手有机可乘. 因此,为客户端程序引入TEE技术是必要的.

    本文的主要贡献包括3个方面:

    1)提出了一种去中心属性签名[10]结合零知识证明的SSI方案. 区块链公开透明以及不可篡改的特点将约束管制应用机构的行为. 用户可通过身份标识,注册特定应用服务的认证权限,自主生成VC. 同时,为应对应用服务数量增加的场景,本文方案优化了用户重复生成VC过程中的额外开销,用户的VC可扩充生成,提高了方案的效率.

    2)为用户生成VC结合TEE的方法. 考虑到普通用户的环境安全性不足的问题,将用户的VC生成过程置于TEE中,降低VC生成及多次VC扩充过程中硬件级别风险,提高用户私钥的安全性.

    3)设计了一种用户VC冒用审计机制. 身份被窃取并冒用的过程是难以察觉的,这一机制将使得冒用过程有迹可循. 主要依赖将验证过程中对包含验证次数的计数哈希的内容记录到区块链,用较小的验证代价完成VC的冒用审计.

    本文的研究对象是基于区块链和TEE的属性签名身份认证方案,本节将介绍身份认证方案及TEE的相关研究现状.

    中心化身份、联邦身份和自我主权身份是系统身份认证发展的3个阶段[911]. 中心化身份由应用服务直接控制身份,用户直接使用用户名及密码登录. 这种方法模式简单、使用方便,且大量的用户数据由应用服务直接掌控,可以被应用服务分析优化服务内容,在今天仍然是大部分应用服务的身份认证手段. 然而,身份数据的集中保存是一把双刃剑,首先是用户隐私难以保证,用户数据泄露问题时有发生[12],且随着应用服务数量的增多,用户的密码管理负担也会更重. 用户习惯对不同应用设置相同密码,当相同的密码泄露时,大量应用的身份安全将受到威胁. 联邦身份主要由少量的身份提供者为用户提供数字身份,登录到其他应用. 文献[13]提出了一种联邦身份架构,允许用户跨安全域动态分发身份信息,从而提高数字身份的可移植性. 文献[14]利用安全断言标记语言进行联邦身份管理,降低用户管理成本,还进行了完整的安全性证明. OAuth2.0协议[15]帮助第三方应用向存有用户身份信息的服务提供商按需获取用户的授权,整个过程是安全且用户可控的. 国内应用常见的有通过微信、支付宝登录的登录方式,国外应用也有通过谷歌、微软登录的登录方式. 智能手机设备的普及为联邦身份提供了条件,但身份提供者能跟踪用户登录行为,可以拒绝为用户提供身份,甚至冒用用户身份登录到第三方应用服务,用户身份仍然不能自主控制.

    自我主权身份方案中,用户将利用密码学的手段,通过管理与个人身份认证有关的私钥信息,实现对自我身份的掌控. 文献[]的uPort协议使用以太坊智能合约地址作为用户身份标识符,文献[17]的Blockstack通过使用virtualchains以去中心化的方式解决了信任引导的问题,即网络上的新节点可以独立地验证所有数据绑定. Candid[18]用智能合约存储具有隐私保护的身份数据,用户可自主控制身份属性披露与否,同时还通过连接外部存储来扩大属性容量. 文献[19]虽然与分布式公钥基础设施相关,但本质上也具有身份认证功能. 虽然文献[16-19]所述的方案都满足了用户身份的分布式特点,但都忽略了用户自主保存私钥过程中的风险. 一旦窃取到用户私钥,其他用户都可以伪造该用户身份登录到应用服务,且这个过程是用户不可察觉的. 文献[20]的方案在登录时,如果用户身份被冒用则进行过身份验证,用户可以收到反馈,但该方案缺少对于应用的扩展支持,并且需要在用户环境下执行隐私风险较高的秘钥计算过程.

    中心化身份、联邦身份和自我主权身份对比内容如表1所示. 其中,考虑到联邦身份方案中,管理用户数字身份的机构通常为互联网巨头公司,具有良好的安全防护能力,且公司的形象驱使它们尽力做好安全防护,所以安全风险较低. 而中心化身份方案中有许多体量较小的公司,没有能力或没有侧重于安全防护,并且由于用户可能倾向于多个应用设置相同密码,所以安全风险较高.

    表  1  中心化身份、联邦身份和自我主权身份对比
    Table  1.  Comparison of Centralized Identity,Federated Identity and Self-Sovereign Identity
    特征中心化身份联邦身份自我主权身份
    用户管理登录凭证数量较少唯一
    密钥管理主动权归属应用服务身份提供者用户
    数字身份保存集中程度分散集中分散
    安全风险
    下载: 导出CSV 
    | 显示表格

    Intel软件防护扩展(software guard extensions, SGX)[21]技术、AMD内存加密(memory encryption)技术和ARM的TrustZone技术是各大平台具有代表性的TEE技术. 在本文方案中,我们选择普及率更高的Intel SGX技术.

    Intel SGX是x86架构的扩展,允许用户级代码创建名为飞地(enclaves)[21-22]的TEE. SGX 通过ECalls和OCalls进行飞地的调入和调出,Ecalls是从飞地外部调用飞地内部的可信函数,而OCalls则相反. 飞地的调入和调出将会跨越安全边界,并对安全参数进行检查,因此会产生额外的性能开销. 文献[23]测量了飞地的调入和调出取决于缓存命中或错过需要8600~14000个周期.

    TEE常常被应用于分布式节点计算场景中. TC[24]使用SGX完成MapReduce分布式计算,同时保持相应的代码和数据的隐私性、正确性和完整性. T-Counter[25]基于SGX设计了CPU资源耗费计数框架,保证云服务中的计算资源耗费准确,防止恶意云服务提供商虚报资源消耗. 在身份认证方向上,Town crier[26]是在2015年便提出的用链下TEE为智能合约提供数据的方法. 文献[27]用SGX及区块链构建了身份认证方案,但方案中仍存在集中了大量用户身份信息的身份提供者,本质上仍是联邦身份方案. 文献[28]则用了ARM的Trustzone保障用户数据的完整性和机密性.

    G是一个阶为素数p的乘法循环群,g是群G的生成元,对于一任意群内的元素yG,一定存在一个唯一的xZq,使得等式gx=y成立. ElGamal加密将分成3个步骤:

    1) 生成密钥. 选择一个随机数xZp,计算gx=y,则ElGama加密的公钥为(ygp),私钥为x.

    2) 加密. 对于消息m,随机选择rZp,计算c1=grc2=m×yr,用c1c2构建密文对c1,c2.

    3) 解密. 对于密文对c1,c2,利用私钥x,计算m=c2/cx1.

    RX×Y 是一个基于NP困难问题的关系,那么一对(P,V) 构建在上的一个Sigma 协议为:

    1) P是证明者算法,输入为一对(x,y)RV是验证者算法,输入为yY

    2) P计算一个承诺C,将其发送给V

    3) V在接收到P发送的承诺C后,随机生成一个挑战值c,并发送给P

    4) 在接收到来自V发送的挑战值c后,P根据c计算一个响应值z返回给V

    5) V通过验证输入y、承诺C和交互中的挑战值c、响应值z后,输出接受或拒绝.

    Sigma协议具有3个性质:

    1) 正确性. 在公共输入y上,如果诚实的证明者P得到的输入x使得(x,y)R,那么验证者V总是接受.

    2) 可靠性. 给定一个公共输入y,以及V关于y输出接受的2个会话(C,c,z),(C,c,z),其中cc,那么任何人都可以计算出x的值,使得(x,y)R.

    3) 零知识性. 存在一个高效的概率性算法Sim(称作模拟器),对于所有的输入(y,c)R,其中S为挑战值空间,Sim能够输出一个可接受的会话(y,C,c,z),并且该会话与诚实的PV之间的会话分布相同.

    Schnorr协议是Sigma协议中的一种. G是一个阶为素数q的循环群,其生成元为gG,假设一个证明者想要证明它知道某个群元素h=gxG的离散对数x. 这里R={(x,h)Zq×G:gx=h}. 如图1所示,Schnorr协议的交互过程为:

    图  1  Schnorr协议交互流程[31]
    Figure  1.  The interactive flow of Schnorr protocol[31]

    1) P的输入为x,h=gxV的输入为h

    2) P选择rRZq,计算承诺C=gr发送给V

    3) V选择挑战cRZq发送给P

    4) P根据挑战c,计算响应值z=r+cx返回给V

    5) V通过验证gz=Chc是否成立输出结果,若成立则输出接受,否则输出拒绝.

    使用Fiat-Shamir转换[32],证明者P能够通过H(h,C)计算挑战值c,其中H是哈希算法,hV的输入,CP的承诺,因此Schnorr协议可以变为非交互式的,只需要一个通信轮次. 证明者可以通过承诺值C、挑战值c以及响应值z直接构造proof=(h,C=gr,c=H(h,C),z=r+cx),将proof发送给VV可以通过验证proof直接输出接受或拒绝.

    DLEQ(g,G,t,T)用于证明离散对数loggG=logtT,当等式成立时验证者输出接受.

    证明者P的输入为sZq,计算G=gs,T=ts,向验证者证明loggG=logtT. 验证者的输入为(g,G,t,T). 协议交互流程为:

    1) P选择随机数rZp,计算承诺值C1=gr,C2=tr并发送给验证者V

    2) V收到(C1,C2)后,选择挑战值cZp发送给P

    3) P根据挑战c计算响应值z=r+cs返回给V

    4) V通过验证gz=C1Gctz=C2Tc是否成立输出结果,如果成立输出接受,否则输出拒绝.

    对DLEQ协议使用Fiat-Shamir转换[32]得到NIDLEQ协议,证明者P能够通过H(C1,C2)计算挑战值c,其中H是哈希算法,C1C2P的承诺. 证明者可以通过证明内容、承诺值C、挑战值c以及响应值z直接构造proof=(C1=gr,C2=tr,c=H(C1,C2),z=r+cs),将proof发送给VV通过验证c=H(C1,C2),gz=C1Gctz=C2Tc是否成立输出结果,如果都成立输出接受,否则输出拒绝.\$

    本文方案由三类通信单位及以太坊区块链组成,通信单位分别为全局控制中心、用户、应用服务. 通信单位间的通信关系如图2所示.

    图  2  本方案系统模型
    Figure  2.  The system model of our scheme

    1) 全局控制中心. 用于全局循环群的素数阶及生成元的生成,并上传到区块链供其他通信单位查询使用. 与已有的身份认证方案的密钥生成中心(key generation center, KGC)不同,常规的密钥生成中心或者权威授权机构可能会承担为用户生成密钥的职责[33-35]. 本文方案的全局控制中心仅用于初始参数生成,参数将全部公开,不存在泄密风险,其工作可以被某一应用服务代替. 本文方案为了更好地展示去中心化的特点,使得各应用程序角色均衡,将该部分内容单独置于全局控制中心.

    2) 用户. 应用服务使用者,期望获得自主控制的去中心化身份,能快捷稳定地登录到应用服务中,通常为个人用户. 这类节点单位的特点是操作人员专业性不足、程序执行环境安全性低,因此,面向用户的VC生成及验证过程应在保证安全的前提下尽量简洁,用户内部设有TEE从硬件级别保护程序执行. 其安全模型将在3.2节中详细定义.

    3) 应用服务. 应用服务提供者,通过应用初始化加入到身份认证系统中,为用户提供注册凭据申请和应用验证服务.

    4) 区块链. 根据区块链去中心化、不可篡改的特点,全局控制中心生成的初始参数、各应用服务公钥、用户登录次数计数哈希都将上传到区块链中供查询和审计,并且在一定程度上可以避免全局控制中心被攻击进而初始参数被修改导致全局故障.

    节点行为如图2所示. 首先全局控制中心将进行全局初始化生成初始参数. 各应用根据全局参数生成公私钥对,并将初始参数和公钥上传到区块链. 用户首先需要完成初始信息的拟定,根据全局参数生成公私钥对,公钥即为用户标识. 随后,用户向对于需要使用的应用服务提交注册申请,由应用服务提供注册凭证. 用户根据注册凭证即可在TEE里生成签名内容,形成VC. 在用户请求使用某个应用服务,应用服务期望验证用户的身份时,用户需要向应用服务主动出示VC、非交互零知识证明凭据及登录次数计数哈希CNT. 验证过程中应用服务将确认以下信息:①确认VC有效性;②通过零知识证明凭据确定VC使用者与VC所有者对应;③验证用户登录次数计数连续性,即用户在上次登录与本次登录的登录次数计数是连续的,并在验证通过后将用户登录记录哈希更新上传到区块链,供用户审计. 对于新增的应用服务,用户可以继续申请注册凭证,并在TEE中重新生成签名内容,形成新的可验证凭据.

    根据攻击者的执行权限,攻击者可分为第三方用户攻击者A1及作恶应用服务攻击者A2. 攻击者A1可以通过执行5方面内容获取信息:

    1) A1可以查询所有链上公共可访问信息,包括全局参数、其他应用公钥、验证过程中生成的登录次数计数哈希.

    2) A1可以根据区块链上的全局参数素数p、循环群G及生成元g,选取一个随机的用户私钥,并计算其公钥.

    3) A1可以提交其全局标识 GIDA1,向应用服务申请注册凭据. 应用服务为其生成对应应用服务信息的用户属性基密钥及其中间参数,并传输给A1.

    4) A1可以向应用服务发起验证服务请求,但该过程能收到的信息是有限的,应用服务仅返回验证通过,或VC可能被冒用.

    5) A1可以获取到已完成应用验证过程的VC,本文不讨论该信息的获取过程,但这是证明重放攻击的前提.

    比起攻击者A1,攻击者A2作为应用服务可以获取更多的信息,如可以获得所有曾在该应用服务中进行过应用验证服务的用户VC.

    在我们的属性签名身份认证方案中,会考虑3种类型的攻击:

    1) 证明伪造攻击. 指攻击者试图伪造VC,被请求应用服务误以为攻击者的身份是有效的,从而通过用户身份验证请求.

    2) 证明重放攻击. 指攻击者获取到了来自用户的一个或多个VC,试图重用这些证明以与被请求应用服务进行新的身份验证交互.

    3) 信息盗窃攻击. 假设一个应用服务被攻击或者应用服务主动作恶,试图从接收到的VC和区块链上的公共可访问信息中获取经过身份验证的用户身份信息,进行新的身份验证交互.

    表  2  符号及其描述
    Table  2.  Symbols and Their Description
    符号描述 符号描述
    GP系统全局参数 m签名明文信息
    Ω应用服务信息属性合集\$σ属性签名
    AppInfo应用服务信息属性CNT登录次数计数明文
    SK,x应用服务私钥proofZK零知识证明凭据
    PK,y应用服务公钥proofCNT身份冒用审计凭据
    ASK,k属性私钥ri,ti,ci,di,Ri,Ti签名中间参数
    APK,r属性公钥C1i,C2i零知识证明承诺
    USK,sp用户私钥zkc零知识证明挑战值
    GID,pkp用户全局标识、
    用户公钥
    z零知识证明响应值
    AK,e用户属性基密钥wlast上轮验证中的ElGamal加密随机参数
    Param,param属性基密钥中间参数wElGamal加密随机参数
    H1,H2,H3,H4哈希函数hUserp登录次数计数哈希
    下载: 导出CSV 
    | 显示表格

    本节主要提出完整的属性签名身份认证方案. 该方案分为 6 个阶段:全局初始化、应用初始化、用户注册、VC生成、VC扩充及应用验证流程. 该方案的首次生成时流程及扩充生成时流程如图3所示. 用户首次生成VC时将进行VC生成流程,否则用户将进行VC扩充流程. 用户首次执行VC生成流程时,将保留属性签名的中间参数,在此情况下,用户可以在执行VC扩充流程时提高效率.

    图  3  本方案流程图
    Figure  3.  Flowchart of our scheme

    GlobalSetup(λ)GP:全局控制中心根据安全参数λ,生成全局参数. 采用素数阶双线性映射,选择一个阶数为素数p的循环群G及其生成元g. 记应用服务对应的应用服务信息属性合集为Ω={AppInfo1,AppInfo2,,AppInfon}. 选择4个哈希函数H1:{0,1}×G3Zp,H2:{0,1}×Gn+1Zp,H3:G×GZp, H4:G3Zp. 将安全参数λ、素数p的循环群G及其生成元g、应用服务信息Ω和相关哈希函数上传到区块链,供所有应用及用户使用.

    AppSetup(GP)SKi,PKi,ASKi,APKi:每个应用服务Appi选取自己的私钥SKixiRZp ,公钥PKiyi=gxi. 对于属于自己管理的应用服务信息AppInfoi,选择属性私钥ASKikiRZp和属性公钥APKiri=gki. 由Appi保存私钥SKi和属性私钥ASKi,并将公钥PKi和属性公钥APKi上传到区块链公开.

    {SKixiRZpPKiyi=gxiASKikiRZpAPKiri=gki.

    UserSetup(GP)USKp,GIDp:用户Userp选取用户私钥USKpspRZp,计算用户全局标识 GIDppkp=gsp.

    {USKpspRZpGIDppkp=gsp.

    KenGen(APKi,PKi,GIDi,AppInfoi,SKi,ASKi)AKi,GIDp,Parami,GIDp 用户Userp提交其全局标识 GIDpAppi生成其对应应用服务信息AppInfoi的用户属性密钥及其中间参数AKi,GIDp,Parami,GIDp,并传输给用户,该秘钥即为用户的注册凭据.

    {AKi,GIDpei=H1(AppInfoi,APKi,GIDp,PKi)Parami,GIDpparami,GIDp=ki+eixi.

    假设用户Userp已注册的应用服务信息集合为Ωp={AppInfo1,AppInfo2,,AppInfot},在这一步骤中将进行VC生成,该步骤将在Intel SGX环境中进行:

    1) 对于i=1,2,,t,随机选取 tiZp ,计算Rigti

    2) 对于i=t+1,t+2,,n,随机选取ci,diZp, 计算

    {ei=H1(AppInfoi,ri,GIDp,yi)Yi=riyeiiRi=gdiYcii.

    3) 对于i=1,2,,n,计算Ti=Rspi,根据结果计算 c=H2(m,T1,T2,,Tn,GIDp)

    4) 用nt+1个点(0,c),(t+1,ct+1),,(n,cn)构造nt次拉格朗日插值多项式Pnt(x)

    5) 计算

    {ci=Pnt(i)di=ticiparami,GIDpi=1,2,t

    6) 选择随机数biZp,计算承诺值C1i=gbi,C2i=Rbii, 挑战值zkci=H3(C1i,C2i), 响应值zi=bi+wispi=1,2,n

    7) 输出签名σ=(ci,di,Ti,ri,GIDp)(i=1,2,,n)、多项式Pnt(x)proofZK=(C1i,C2i,zkci,zi),并初始化登录次数计数哈希CNT=1 ,选择随机数wlastZp,用于完成用户私钥泄露、冒用的审计.

    用户Userp期望向应用服务APPv进行身份验证,具体为3个步骤.

    1) 用户利用ElGamal加密算法选择随机数vZp,计算密文参数w及密文CNTm,并组合构建proofCNT,该步骤由用户在Intel SGX环境中进行,即

    {w=gvCNTm=CNT×yvAPPvproofCNT=(w,CNTm,wlast).

    2) 使用签名及零知识证明凭据proofZK构建可验证凭据

    VC=(σ,Pnt(x),proofZK,proofCNT).

    用户发送VC到应用服务并更新CNT=CNT+1wlast=w.

    3) 应用服务APPv 将进行6步验证:

    Pnt(x)nt次多项式;

    ② 验证Pnt(i)=ci,i=1,2,,n,在此步骤不通过的验证请求,将被返回Pnt(i)=ci等式不成立对应的序号i

    ③ 验证Pnt(0)=H2(m,T1,T2,,Tn,GIDp)

    ④ 验证logRiTi=loggGIDp,i=1,2,,n,即根据NIDLEQ协议对签名人Userp提供的proofZK进行验证;

    ⑤ 验证proofCNT,首先验证wwlast,解密获得CNT明文

    CNT=CNTm/wxv.

    获取区块链数据中Userp对应的登录次数计数哈希hUserp,如果CNT=1,且区块链中数据hUserp不存在则直接通过该项验证,否则验证hUserp=H(GIDp,CNT1,wlast),在此步骤验证失败将告知用户VC可能被冒用;

    ⑥ 以上①~⑤全通过,则签名为有效签名,更新Userp对应的登录次数计数哈希hUserp=H(GIDp,CNT,w),保存Userp对应的链上信息为(APPv, hUserp).

    当用户在已有VC的情况下获取到新的注册凭据后,可以进行VC扩充. 假设签名人Userp已注册的应用服务信息集合为Ωp={AppInfo1,AppInfo2,,AppInfot},用户通过KeyGen步骤申请到Appt+1的凭据AKt+1,GIDp,Paramt+1,GIDp,用户的VC将通过以下5个步骤更新.

    1) 随机选取 dZp ,计算Rt+1gd

    2) 计算Tt+1=Rspt+1,并更新哈希结果c=H2(T1,T2,,Tn,GIDp)

    3) 用nt个点(0,c),(t+2,ct+2),,(n,cn)构造nt1次拉格朗日插值多项式Pnt1(x)

    4) 根据新的拉格朗日插值多项式计算

    {ci=Pnt1(i)di=ticisii=1,2,,t+1;

    5) 更新签名σ=(ci,di,Ti,ri,GIDp)(i=1,2,,n)和多项式Pnt1(x).

    VC扩充只需要更新签名及多项式即可,此过程不影响零知识证明凭据及链上登录次数计数哈希hUserp的验证.

    本节将讨论本文方案在正常执行过程中的正确性及在3.2节定义的安全模型下的安全性. 同时实现VC生成、VC扩充及应用验证流程的算法,并评估其效率.

    定理1. 签名σ的验证是正确的.

    证明. 根据方案的执行流程,正常运行下Pnt(x)nt+1个点(0,c),(t+1,ct+1),,(n,cn)构成,所以Pnt(x)nt次多项式,且Pnt(i)=ci,i=t+1,t+2,,n. 同时,在i=1,2,,t时,cici=Pnt(i)计算得到,且Pnt(0)=H2(m,T1,T2,,Tn,GIDp)是显然成立的.

    基础的签名验证协议采用Schnorr协议,根据di=ticisisi=ki+eixi,可以推出gdiYcii=gticisi(riyeii)ci=gtici(ki+eixi)(gkigxiei)ci=gti=Ri(i=1,2,,t).

    Ri={gti,i=1,2,,tgdiYcii,i=t+1,t+2,,n=gdiYcii,i=1,2,,n.

    由Sigma协议的正确性性质,验证者总是接受. 因此签名σ的验证是正确的.证毕.

    定理2. 零知识证明凭据的验证是正确的.

    证明. 对于验证是否logRiTi=loggGIDp,其中Ri=gdiYcii,i=1,2,,n. 若方案正常运行,Ti=Rspi=(gdiYcii)sp,GIDp=gsp,由NIDLEQ协议的正确性性质,验证者总是接受,因此零知识证明凭据的验证是正确的.证毕.

    定理3. 身份冒用审计凭据的验证是正确的.

    证明. 在不存在身份冒用、用户正常逐次进行身份验证的情况下,登录次数计数CNT=CNTlast+1总是成立,对于hUserp=H(GIDp,CNTlast,wlast)总是有以下等式成立:

    H(GIDp,CNTlast,wlast)=H(GIDp,CNT1,wlast).

    因此身份冒用审计凭据的验证是正确的.证毕.

    分析1. 证明伪造攻击分析.

    假设第三方用户攻击者A1试图伪造用户VC,向应用服务发起应用验证请求. 伪造VC需要伪造4个部分的内容,分别为签名σ、多项式Pnt(x)、零知识证明凭据proofZK、登录次数计数证明proofCNT. 攻击者A1可以主动申请私钥及注册凭据构建签名及多项式,但签名内容GIDp是应用服务区分用户身份的关键.A1无法在不知道用户私钥USKp的前提下通过NIDLEQ零知识证明协议构建proofZK,因此A1进行伪造攻击的难度不小于求解loggGIDp,即离散对数问题的难度.

    分析2. 证明重放攻击分析.

    假设第三方用户攻击者A1获取到来自用户的已完成应用验证过程的VC,试图重用这些证明以与被请求应用服务进行新的身份验证交互. 在用户未进行新的VC扩充之前,VC除了proofCNT以外不会发生改变.

    在应用验证的过程中,每一次验证都会对CNT进行自增的更新操作.proofCNT使用了ElGamal加密算法,保证了CNT不被攻击者A1得知. 虽然ElGamal加密算法具有同态加密的特性,但验证过程中将拒绝加密参数相同的proofCNT,即wwlast. 因此A1无法在不知道应用服务私钥SK的前提下解密明文CNT及构建proofCNT,所以证明重放攻击在本方案中是无效的.

    分析3. 信息盗窃攻击分析.

    应用服务攻击者A2作恶,试图从接收到的VC和区块链上的公共可访问信息中获取经过身份验证的用户身份信息,进行新的身份验证交互. 该攻击明显强于证明重放攻击,因为A2应用服务直接掌握了应用服务私钥SK,可以直接解密用户proofCNT访问到CNT,通过构建proofCNT+1,但该过程是有前提的.

    proofCNT包含了3个元素,即w,CNTm,wlast. 其中wlast既可以用于应用服务与用户审计验证hUserp=H(GIDp,CNT1,wlast),同时也保证了A2构建proofCNT+1需要满足用户在应用服务的A2处进行应用验证过程后,未与其他应用服务进行新的身份验证交互的条件. 因此,A2有能力在一定时间区间内构建proofCNT+1,进一步构建VC,与其他应用服务进行交互,但该过程会使A2有3点风险:

    1) 当A2与其他应用服务验证完成后,区块链将进行信息更新链上信息,用户进行登录次数计数哈希审计可得知身份信息被冒用;

    2) 用户进行常规应用验证流程,由于wlastCNT发生改变,应用验证将返回,可得知身份信息被冒用;

    3) 应用验证流程需要更新链上信息,由于区块链去中心化、公开透明、可追溯、不可篡改的特点,当用户得知身份信息被冒用后,用户可以直接追溯到用户最后一次正常验证的应用服务的A2.

    综上,本文方案存在应用服务在较短时间区间内信息盗窃攻击的可能性,但该过程是用户可审计、易察觉的,加之区块链可追溯、不可篡改的特性,该攻击的责任人将是明确的.

    本文方案是用户在TEE下计算、管理秘钥的自主主权身份方案,不存在可能泄露秘钥信息的中心信息机构,且无法被重放攻击威胁. 本节将与其他方案对比身份验证方案特性. 文献[19]使用了开源框架ZoKrates生成零知识证明凭据以认定可验证凭据的归属权. 但该零知识证明凭据将被传输到链上,且在验证时该凭据会发送给验证者,因此恶意用户及恶意应用服务可以直接获取相应的用户证书及零知识证明凭据,登录到其它应用服务,实现证明重放攻击. 文献[20]使得用户在身份存在冒用记录时收到反馈,形成对重放攻击的抵御,但该方案缺少对于应用服务的扩展支持,并且需要用户执行隐私风险较高的秘钥计算过程. 文献[27]的身份认证方案在秘钥计算流程上用SGX技术保证用户环境下的秘钥计算安全,但方案存在集中了大量用户身份信息的身份提供者及信息认证依赖方,本质上不是自我主权身份. 文献[19, 20, 27]所述方案的特性比较如表3所示.

    表  3  身份认证方案特性对比
    Table  3.  Feature Comparison of Identity Authentication Schemes
    方案抗重放攻击安全秘钥计算自我主权身份
    文献[19]
    文献[20]
    文献[27]
    本文方案
    注:“√”表示相关方案具有相应的特性.
    下载: 导出CSV 
    | 显示表格

    本文方案的实验环境由本地物理机连接到服务器,并在服务器环境下开发完成. 物理机硬件配置为:物理机型号联想小新Pro14,芯片Intel i9-12900H,内存16 GB,操作系统windows11. 服务器配置如表4所示.

    表  4  服务器实验环境配置说明
    Table  4.  Server Experimental Environment Configuration Instructions
    硬件/软件型号/版本
    CPUIntel® Xeon®Gold 6142 CPU @ 2.60 GHz
    内核数4
    内存8 GB
    操作系统Ubuntu22.04
    Linux 5.15.0-43-generic
    Go1.20.2 Linux/AMD64
    EGov1.2.0
    Solidityv0.6.12+commit.27d51765
    Trufflev5.7.4
    Ganachev7.7.3
    Node.jsv19.6.0
    Web3.jsv1.8.2
    下载: 导出CSV 
    | 显示表格

    EGo[36]是一个通过Go语言构建TEE应用程序的框架. 通过EGo可以模拟应用程序运行在加密和可验证的Intel SGX飞地中.

    在公共参数的选择上,使用了阶数p为1 024位的素数群. 为了更符合实际场景,我们设定用户注册的应用数量大致占总应用服务数量的2/3,如在图4中,VC生成时间数据点(30, 0.00147)表示VC生成算法执行时应用服务总数为30个,用户拥有的注册凭据数量为20,算法执行时间为0.001 47 s.

    图  4  普通环境中的VC生成时间及验证算法时间
    Figure  4.  VC generation time and verification algorithm time in common environment

    首先考虑算法在常规环境中的效率. 图4是普通环境中的VC生成及验证算法时间. 由图4可见,随着用户数量的增多,算法执行时间将持续上升,但可喜的是,应用程序总数为120时,VC生成时间不超过0.04 s,VC验证时间将不超过0.2 s,这在实际应用场景中是可以接受的.

    用户应用注册需要向应用服务申请新的注册凭据,该流程是简洁且基本固定的,在此不做讨论. 但用户申请新的注册凭据,随后扩充VC的过程是会频繁发生的. 图5是VC生成时间及VC扩充时间的比较,两者同是根据注册凭据信息计算VC,但VC扩充算法将省去部分重复计算过程,提高运算效率. 实验数据表明,在应用服务总数小于100个时,效率的提升在50%以上,在120个应用服务时效率提升大约为35%.

    图  5  VC生成时间及VC扩充时间
    Figure  5.  VC generation time and expansion time

    探究用户算法在可信执行环境中的执行情况将更有意义. 正如我们在1.2节提到的,在SGX的应用中,飞地的调入和调出将会跨越安全边界,并对安全参数进行检查,因此会产生额外的性能开销,因此我们在实验中不仅计算VC算法的时间,而且还要计算调用VC算法的环境初始化时间. 图6是环境初始化及VC生成算法在普通环境及SGX环境中的VC生成流程时间比较,可见在应用服务总数相同的情况下,SGX环境中额外需要的时间大致为1.75 s,且在应用服务总数增长的过程中,该时间不存在明显增长. 如果该计算过程在应用服务中执行,则从0.25 s的时间开销提升到2 s的时间开销将导致服务器的吞吐量降低87.5%,但这个计算过程是在用户环境下执行的,用户在本方案仅需要关注自身的VC生成,因此该时间差是完全可以接受的.

    图  6  不同环境中VC生成流程时间
    Figure  6.  VC generation process time in different environments

    为了使用户身份泄露可审计,同时也防止针对VC的重放攻击,方案引入了proofCNT. proofCNT的组成决定了其大小是固定的,这在实验中得到了验证.图7是不同应用服务数量下各验证凭据占用存储空间大小及proofCNT的生成时间. 可以发现,相比签名主体及零知识证明凭据,proofCNT的额外通信开销可以忽略不计且与应用服务总数没有关联的. 加之从时间上分析,proofCNT的生成时间总维持在0.001 4 s左右,说明了本方案的proofCNT设计是低负载且高效的.

    图  7  各验证凭据占用存储空间大小及proofCNT生成时间
    Figure  7.  The storage space occupied by each authentication credential and the generation time of proofCNT

    基于区块链和TEE技术,本文提出并实现了一种去中心化的属性签名身份认证方案.

    本文方案旨在从用户在身份认证流程中的需求出发,解决可验证凭据管理繁重、安全性不足的问题,结合Schnorr协议与非交互式离散对数相等零知识证明协议,让用户自主构建身份信息. 当用户需要更新身份时,可通过扩充可验证凭据的方式重新构建身份信息.

    为了让用户完全控制自身的身份信息,将可验证凭据的生成与扩充流程置于用户本地的TEE中,TEE的引入保证了用户生成、扩充可验证凭据时的安全性,这对于通常来说安全防护意识不足、防护能力较差的用户环境而言是重要的. 登录次数计数哈希的记录使得用户自身的身份信息以任何可能的方式泄露而被冒用的行为可察觉、可审计,使得用户可及时应对. 通过实验验证分析,本文方案在实际应用中是高效可行的.

    本文方案流程仅针对身份验证及身份冒用审计. 在未来,对身份信息泄露后的身份信息归属判断及恢复行为会是我们研究的重点.

    作者贡献声明:冉津豪提出了思路并做了源代码实现,撰写论文;蔡栋梁提出了优化思路并协助撰写论文.

  • 图  1   Schnorr协议交互流程[31]

    Figure  1.   The interactive flow of Schnorr protocol[31]

    图  2   本方案系统模型

    Figure  2.   The system model of our scheme

    图  3   本方案流程图

    Figure  3.   Flowchart of our scheme

    图  4   普通环境中的VC生成时间及验证算法时间

    Figure  4.   VC generation time and verification algorithm time in common environment

    图  5   VC生成时间及VC扩充时间

    Figure  5.   VC generation time and expansion time

    图  6   不同环境中VC生成流程时间

    Figure  6.   VC generation process time in different environments

    图  7   各验证凭据占用存储空间大小及proofCNT生成时间

    Figure  7.   The storage space occupied by each authentication credential and the generation time of proofCNT

    表  1   中心化身份、联邦身份和自我主权身份对比

    Table  1   Comparison of Centralized Identity,Federated Identity and Self-Sovereign Identity

    特征中心化身份联邦身份自我主权身份
    用户管理登录凭证数量较少唯一
    密钥管理主动权归属应用服务身份提供者用户
    数字身份保存集中程度分散集中分散
    安全风险
    下载: 导出CSV

    表  2   符号及其描述

    Table  2   Symbols and Their Description

    符号描述 符号描述
    GP系统全局参数 m签名明文信息
    Ω应用服务信息属性合集\$σ属性签名
    AppInfo应用服务信息属性CNT登录次数计数明文
    SK,x应用服务私钥proofZK零知识证明凭据
    PK,y应用服务公钥proofCNT身份冒用审计凭据
    ASK,k属性私钥ri,ti,ci,di,Ri,Ti签名中间参数
    APK,r属性公钥C1i,C2i零知识证明承诺
    USK,sp用户私钥zkc零知识证明挑战值
    GID,pkp用户全局标识、
    用户公钥
    z零知识证明响应值
    AK,e用户属性基密钥wlast上轮验证中的ElGamal加密随机参数
    Param,param属性基密钥中间参数wElGamal加密随机参数
    H1,H2,H3,H4哈希函数hUserp登录次数计数哈希
    下载: 导出CSV

    表  3   身份认证方案特性对比

    Table  3   Feature Comparison of Identity Authentication Schemes

    方案抗重放攻击安全秘钥计算自我主权身份
    文献[19]
    文献[20]
    文献[27]
    本文方案
    注:“√”表示相关方案具有相应的特性.
    下载: 导出CSV

    表  4   服务器实验环境配置说明

    Table  4   Server Experimental Environment Configuration Instructions

    硬件/软件型号/版本
    CPUIntel® Xeon®Gold 6142 CPU @ 2.60 GHz
    内核数4
    内存8 GB
    操作系统Ubuntu22.04
    Linux 5.15.0-43-generic
    Go1.20.2 Linux/AMD64
    EGov1.2.0
    Solidityv0.6.12+commit.27d51765
    Trufflev5.7.4
    Ganachev7.7.3
    Node.jsv19.6.0
    Web3.jsv1.8.2
    下载: 导出CSV
  • [1] 国家互联网信息办公室. 中央网信办等十六部门联合公布国家区块链创新应用试点名[EB/OL]. 2022[2023-02-28]. http://www.cac.gov.cn/2022−01/29/c_1645059212139691.htm

    Ciberspace Administration of China. Sixteen departments including the central network information office jointly announced the name of the national blockchain innovative application pilot[EB/OL]. 2022[2023-02-28]. http://www.cac.gov.cn/2022−01/29/c_1645059212139691.htm(in Chinese)

    [2]

    Gayvoronskaya T, Meinel C. Blockchain: Hype or Innovation[M]. Cham, Switzerland: Springer, 2020

    [3]

    Nakamoto S. Bitcoin: A peer-to-peer electronic cash system[EB/OL]. 2008[2023-02-28]. https://bitcoin.org/bitcoin.pdf

    [4]

    Haber S, Stornetta W S. How to Time-stamp a Digital Document[M]. Berlin: Springer, 1991

    [5]

    Dwork C, Naor M. Pricing via processing or combatting junk mail[C] //Proc of the 12th Annual Int Cryptology Conf on Advances in Cryptology. Berlin: Springer, 1993: 139−147

    [6]

    Back A. Hashcash−a denial of service counter-measure[EB/OL]. 2002[2023-05-23]. http://www.hashcash.org/papers/hashcash.pdf

    [7]

    Vukolic M. Eventually returning to strong consistency[J]. IEEE Data Engineering Bulletin, 2016, 39(1): 39−44

    [8] 国家统计局. 中华人民共和国2022年国民经济和社会发展统计公报[EB/OL]. 2023[2023-02-28]. http://www.stats.gov.cn/xxgk/sjfb/zxfb2020/202302/t20230228_1919001.html

    National Bureau of Statistics. Statistical Bulletin of the People’s Republic of China on National Economic and Social Development in 2022[EB/OL]. 2023[2023-02-28]. http://www.stats.gov.cn/xxgk/sjfb/zxfb2020/202302/t20230228_1919001.html (in Chinese)

    [9]

    Avellaneda O, Bachmann A, Barbir A, et al. Decentralized identity: Where did it come from and where is it going?[J]. IEEE Communications Standards Magazine, 2019, 3(4): 10−13 doi: 10.1109/MCOMSTD.2019.9031542

    [10] 魏亮,黄振杰,陈群山. 去中心基于属性不可否认签名[J]. 计算机工程与科学,2020,42(6):1003−1011

    Wei Liang, Huang Zhenjie, Chen Qunshan. Decentralized attribute-based non-repudiation signature[J]. Computer Engineering and Science, 2020, 42(6): 1003−1011 (in Chinese)

    [11]

    Dib O, Toumi K. Decentralized identity systems: Architecture, challenges, solutions and future directions[J]. Annals of Emerging Technologies in Computing, 2020, 4(5): 19−40 doi: 10.33166/AETiC.2020.05.002

    [12]

    Dell’Amico M, Michiardi P, Roudier Y. Password strength: An empirical analysis[C] //Proc of IEEE INFOCOM 2010. Piscataway, NJ: IEEE, 2010: 1−9

    [13]

    Maler E, Reed D. The venn of identity: Options and issues in federated identity management[J]. IEEE Security & Privacy, 2008, 6(2): 16−23

    [14]

    Groß T. Security analysis of the SAML single sign-on browser/artifact profile[C] //Proc of 19th Annual Computer Security Applications Conf. Piscataway, NJ: IEEE, 2003: 298−307

    [15]

    Hardt D. The OAuth 2.0 authorization framework[EB/OL]. 2012[2023-05-30]. https://www.rfc-editor.org/rfc/rfc6749

    [16]

    Naik N, Jenkins P. uPort open-source identity management system: An assessment of self-sovereign identity and user-centric data platform built on blockchain[C] //Proc of 2020 IEEE Int Symp on Systems Engineering (ISSE). Piscataway, NJ: IEEE, 2020: 1−7

    [17]

    Ali M, Nelson J, Shea R, et al. Blockstack: A global naming and storage system secured by blockchains[C] //Proc of the 2016 USENIX Annual Technical Conf. Berkeley, CA: USENIX Association, 2016: 181−194

    [18]

    Maram D, Malvai H, Zhang Fan, et al. Candid: Can-do decentralized identity with legacy compatibility, sybil-resistance, and accountability[C] //Proc of 2021 IEEE Symp on Security and Privacy (SP). Piscataway, NJ: IEEE, 2021: 1348−1366

    [19] 袁和昕,刘百祥,阚海斌,等. 基于区块链和去中心不可否认属性签名的分布式公钥基础设施方案[J]. 中国科学:信息科学,2022,52(6):1135−1148

    Yuan Hexin, Liu Baixiang, Kan Haibin, et al. Distributed public key infrastructure scheme based on blockchain and decentralized non-repudiation attribute signature[J]. SCIENTIA SINICA Informationis, 2022, 52(6): 1135−1148 (in Chinese)

    [20]

    Alangot B, Szalachowski P, Dinh T T A, et al. Decentralized identity authentication with auditability and privacy[J]. Algorithms, 2022, 16(1): 4−25 doi: 10.3390/a16010004

    [21]

    Mckeen F , Alexandrovich I , Berenzon A , et al. Innovative instructions and software model for isolated execution[C/OL] //Proc of the 2nd Int Workshop on Hardware and Architectural Support for Security and Privacy. New York: ACM, 2013.[2023-05-30]. https://doi.org/10.1145/2487726.2488368

    [22]

    Hoekstra M , Lal R , Pappachan P , et al. Using innovative instructions to create trustworthy software solutions[C/OL] //Proc of the 2nd Int Workshop on Hardware and Architectural Support for Security and Privacy. New York: ACM, 2013[2023-05-30]. https://doi.org/10.1145/2487726.2488370

    [23]

    Weisse O, Bertacco V, Austin T. Regaining lost cycles with HotCalls: A fast interface for SGX secure enclaves[J]. ACM SIGARCH Computer Architecture News, 2017, 45(2): 81−93 doi: 10.1145/3140659.3080208

    [24]

    Zhang F, Cecchetti E, Croman K, et al. Town crier: An authenticated data feed for smart contracts[C] //Proc of the 2016 ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2016: 270−282

    [25]

    Dong Chuntao, Shen Qingni, Ding Xuhua, et al. T-Counter: Trustworthy and efficient CPU resource measurement using SGX in the cloud[J]. IEEE Transactions on Dependable and Secure Computing, 2023, 20(1): 867−885 doi: 10.1109/TDSC.2022.3145814

    [26]

    Schuster F, Costa M, Fournet C, et al. VC3: Trustworthy data analytics in the cloud using SGX[C] //Proc of 2015 IEEE Symp on Security and Privacy. Piscataway, NJ: IEEE, 2015: 38−54

    [27]

    Song Tianlin, Wang Wei, Lang Fan, et al. P2A: Privacy preserving anonymous authentication based on blockchain and SGX[C] //Proc of the 16th Int Conf on Information Security and Cryptology. Berlin: Springer, 2021: 257−276

    [28]

    Zhao Bo, Xiao Yu, Huang Yuqing, et al. A private user data protection mechanism in TrustZone architecture based on identity authentication[J]. Tsinghua Science and Technology, 2017, 22(2): 218−225 doi: 10.23919/TST.2017.7889643

    [29]

    ElGamal T. A public key cryptosystem and a signature scheme based on discrete logarithms[J]. IEEE Transactions on Information Theory, 1985, 31(4): 469−472 doi: 10.1109/TIT.1985.1057074

    [30]

    Damgård I. On Σ-protocols[EB/OL]. 2002[2023-05-30]. https://www.cs.au.dk/~ivan/Sigma.pdf

    [31]

    Schnorr C P. Efficient signature generation by smart cards[J]. Journal of Cryptology, 1991, 4: 161−174 doi: 10.1007/BF00196725

    [32]

    Fiat A, Shamir A. How to prove yourself: Practical solutions to identification and signature problems[C]//Proc on Advances in Cryptology (CRYPTO’86). Berlin: Springer, 1987: 186−194

    [33]

    Zhang Qiong, Wang Yuke, Jue J P. A key management scheme for hierarchical access control in group communication[J]. International Journal of Network Security, 2008, 7(3): 323−334

    [34]

    Garg N, Wazid M, Das A K, et al. BAKMP-IoMT: Design of blockchain enabled authenticated key management protocol for Internet of medical things deployment[J]. IEEE Access, 2020, 8: 95956−95977 doi: 10.1109/ACCESS.2020.2995917

    [35]

    Ahmad S, Mehfuz S, Beg J. Cloud security framework and key management services collectively for implementing DLP and IRM[J]. Materials Today:Proceedings, 2022, 62(7): 4828−4836

    [36]

    Edgeless Systems. EGo [EB/OL]. [2023-02-28]. https://github.com/edgelesssys/ego

  • 期刊类型引用(6)

    1. 张晶辉,张起嘉,刘海,田有亮,李凤华. 面向数据出域安全的鲁棒认证密钥协商协议. 通信学报. 2025(02): 29-43 . 百度学术
    2. 孔燕燕,江明明,闫一然,葛徽. 格上高效的支持多属性机构属性签名方案. 淮北师范大学学报(自然科学版). 2025(01): 56-61 . 百度学术
    3. 徐鑫,高金,张千舸,于迎梅,杨景超. 基于AES加密的区块链节点授信与身份共识研究. 新乡学院学报. 2024(06): 34-39 . 百度学术
    4. 王波,徐昊. 多租户虚拟专用网跨域单点登录认证方法仿真. 计算机仿真. 2024(09): 407-411 . 百度学术
    5. 杨光. 融合支持向量内积与模糊搜索算法的区块链安全管理方法研究. 伊犁师范大学学报(自然科学版). 2024(03): 65-70 . 百度学术
    6. Jing He,Xiaofeng Ma,Dawei Zhang,Feng Peng. Supervised and revocable decentralized identity privacy protection scheme. Security and Safety. 2024(04): 113-135 . 必应学术

    其他类型引用(8)

图(7)  /  表(4)
计量
  • 文章访问数:  342
  • HTML全文浏览量:  52
  • PDF下载量:  158
  • 被引次数: 14
出版历程
  • 收稿日期:  2023-04-02
  • 修回日期:  2023-06-05
  • 网络出版日期:  2023-06-25
  • 刊出日期:  2023-11-14

目录

/

返回文章
返回