Post Quantum Fuzzy Stealth Signatures and Applications

目录

Post Quantum Fuzzy Stealth Signatures and Applications
CCS 2023

笔记

后续的研究方向

摘要

自比特币问世以来,基于区块链的加密货币中的私人支付一直是学术和工业研究的主题。隐形地址支付被提议作为一种改善用户支付隐私的解决方案,事实上,它已被部署在当今的几种主要加密货币中。该机制允许用户接收付款,因此这些付款都不可链接到彼此或收款人。目前已知的隐形地址机制要么(1)在某些合理的对抗性模型中不安全,要么(2)在实践中效率低下,要么(3)与许多现有货币不兼容。

在这项工作中,我们将该机制的底层加密抽象形式化,即具有正式游戏定义的隐形签名。我们展示了我们的概念在Fast IDentity Online(FIDO)标准中定义的无密码身份验证中的惊人应用。然后,我们介绍了Spirit,这是第一个基于NIST标准化签名和密钥封装方案Dilithium和Kyber的高效后量子安全隐形签名构建。Spirit的基本形式仅在aweak安全模型中是安全的,但我们提供了一种保持效率的通用转换,它增强了Spirit安全性,以保证本文中定义的最强安全概念。与现有技术相比,签名大小提高了约800倍,同时使签名和验证的效率保持在0.2毫秒。

我们用模糊跟踪功能扩展了Spirit,收件人可以将传入交易的跟踪外包给跟踪服务器,满足与最近在[CCS 2021]中引入的模糊消息检测(FMD)类似的匿名概念。我们还在Spirit中引入了一个新的模糊跟踪框架,称为可伸缩模糊跟踪。这个新框架可以被认为是FMD的对偶,因为它将跟踪服务器的计算工作量减少到用户数量的次线性,而不是FMD的线性。实验结果表明,对于数百万用户来说,服务器只需要3.4毫秒过滤每个传入消息,这是对现有技术的显著改进。

引言

加密货币为不可信和可公开验证的支付提供支持。付款的发送者将交易发布到称为区块链的公共账本上。在最基本的形式中,交易指定了发送方和接收方各自的公钥(或地址),并且交易由发送方通过与其公钥对应的数字签名进行授权。电子商务[48]、捐赠平台[7,12,49]、游戏平台[18]等只是加密货币及其无信任支付所支持的一些流行用例。例如,捐赠平台接受加密货币支付形式的捐赠,为此,捐赠平台会公布其地址,用户可以在不需要任何当局许可的情况下向这些地址进行交易。

上述范式的一个关键弱点是,它在基本形式上缺乏可靠的匿名保证。用于执法目的的几种去匿名技术[33,35,41-43]已被证明可以将区块链上的地址与拥有它们的现实世界实体联系起来。然而,这也导致了对用户及其支付的审查形式存在问题[11]。

开发了一种称为隐形地址的机制[13,17,50,51]来解决这些匿名问题。例如,捐赠平台发布一个主地址,即所谓的隐藏地址,任何用户都可以通过使用称为一次性地址的隐藏地址的随机重新分配版本向平台发送捐赠。对于任何外部观察者来说,这样的一次性地址都与隐藏地址不可链接,因此,到这样一个隐藏地址的事务看起来就像是随机收件人(不一定是捐赠平台)。此外,通过访问其主秘密,捐赠平台可以将这样的一次性地址链接到其隐形地址,并进一步在本地动态生成相应的一次性秘密。使用这个一次性秘密,可以花费与一次性地址相关联的硬币。在这种情况下,收件人只需要发布其主地址,而不需要为每个潜在的发件人提供新的不可链接的地址。由于发件人的数量很可能有数百或数千人(如电子商务、捐赠等),这种机制带来了一个可扩展的解决方案。

事实上,[51]中提出的隐形地址方案已经部署在许多主要货币中,如比特币[17]、以太坊[20]和Monero[51]。该机制进一步直接应用于Blitz[4]等支付协议的隐私增强。由于[51]通过签名方案实现了隐藏地址,我们将把[51]中机制的加密抽象称为隐藏签名。因此,我们今后将互换使用地址和公钥这两个术语。

最近的学术工作[25,27]启动了对隐形签名的正式处理,并观察到[51]的构建不满足所谓密钥暴露下的安全性。粗略地说,这意味着,如果对手学习了他生成的一次性公钥的相应一次性密钥,那么他可以学习他为该特定主地址生成的所有一次性公钥的所有一次性密钥。

最近提出的隐形签名方案[25,27]旨在安全地抵御此类密钥暴露攻击,其缺点是其方案使用了诸如配对[8]或格基委托[1]等重型工具。这些加密货币目前与目前存在的任何主要加密货币都不兼容。此外,随着量子计算机的威胁迫在眉睫,包括[27,51]的量子前隐形签名机制在内的加密货币支付仍然很脆弱。虽然[25]中提出了一种基于晶格的(因此似乎是后量子的)隐形特征构造,但这种构造依赖于上述晶格基委托。因此,他们的方案很可能效率太低,无法实际使用【正如[25]的作者在第1.1节中指出的那样,他们的"公钥和签名大小太大,无法实际使用】。我们在表1中比较了我们的施工和相关工程。有关更多讨论,请参阅附录B。

这项工作的动机是以下两个问题:

我们能否拥有一种有效的隐形签名方案,该方案具有针对无限密钥暴露的安全性,与Schnorr、ECDSA和其他主要用于当今货币的基于组的签名方案兼容?

我们能有一个高效的隐形签名方案吗?该方案具有后量子安全的无界密钥暴露安全性?

隐形地址机制的一个警告是,接收者(在线或离线)必须解析大量(每天数十万)交易,以识别那些将硬币发送到与其主地址对应的一次性地址的人。[51]中提出了一种变通方法,其中接收方可以将传入付款的标识委托给称为跟踪服务器的半可信第三方服务器。为此,接收方可以根据其密钥生成所谓的跟踪密钥,并将其提供给跟踪服务器。跟踪密钥允许跟踪服务器使用跟踪密钥来识别或跟踪对接收者的所有传入付款,并在稍后将这些确切付款通知接收者。另一方面,这样的跟踪密钥不应该使跟踪服务器能够为相关的一次性地址生成一次性秘密。先前的工作[2,25,27]在隐形特征的形式化中省略了这一重要的跟踪功能。

上述跟踪方法的一个缺点是,我们完全放弃了跟踪服务器的匿名性/不可链接性,跟踪服务器准确地知道哪些付款是发给收件人的。虽然不可链接的匿名目标和可跟踪的功能目标之间存在着自然而明显的紧张关系,但Beck等人[6]最近的一项工作试图在这些概念之间取得平衡。他们引入了模糊消息检测(FMD)的概念,其中跟踪服务器可以在不确定性程度可调的情况下大致检测到收件人的消息。更具体地说,他们的检测概念是模糊的,因为发给接收者的消息总是被正确识别的,但存在接收者控制的假阳性率(烘焙到模糊跟踪密钥中),这导致发给其他用户的消息被错误地分类为发给接收者的。因此,跟踪服务器不能确定检测到的消息是否真的是针对接收方的。这种机制使得消息的发送者必须包括额外的模糊跟踪信息,并且跟踪服务器拥有模糊跟踪密钥。原则上,应用他们的技术来实现隐形签名中一次性地址的模糊跟踪是很简单的。然而,依赖他们的计划也有相当大的缺点。虽然他们的第一种方案(FMD2)是有效的,但它依赖于量子前DDH假设。他们的第二种方案(FMDfrac)依赖于诸如混乱电路之类的重型工具,这些工具会导致发送者的消息出现不可接受的放大。另一方面,有用于完全私有跟踪而不是模糊跟踪的信号检测或检索方案[26,31],但所有这些方案都需要在服务器端进行线性工作,而服务器端不能扩展到数千或数百万用户。我们在附录B中讨论了他们的方案和我们的方案,并在表2中进行了比较。这让我们不禁要问:

我们能有一个在后量子环境中具有高效模糊跟踪并可扩展到数十万(甚至数百万)用户的隐形签名方案吗?

贡献

模块化框架

我们介绍了Spirit(在第6.1节中),这是第一个在没有密钥泄露的情况下安全的实际有效的后量子隐形签名方案【[2]最近的一项工作提出了一种重新随机化签名的构建,该签名与隐形地址的概念相似。然而,需要注意的是,他们提出的功能不提供公共跟踪支持,也不安全,无法抵御密钥暴露攻击。】。为了实现这一目标,我们考虑了基于晶格的Dilithium[30]签名方案,它是NIST标准化竞赛的获胜者,也是最有可能被用于加密货币的候选者。在不以任何方式更改签名方案的情况下,我们用额外的算法增强Dilithium以获得Spirit,使其现在支持一次性密钥推导和跟踪。

接下来,我们展示了如何将(在第5节中)一个在没有密钥暴露的情况下安全的隐形签名方案一般地转换为一个在无限制密钥暴露的条件下安全的方案。因此,我们可以将Spirit升级为一个具有无限密钥暴露的实用高效和安全的Spirit。Spirit及其升级都与支持Dilithium签名验证的加密货币兼容,不需要额外的脚本。

此外,我们构造了一个隐形签名方案(在全文[39]中),该方案与Schnorr和ECDSA等目前大多数货币中使用的基于组的方案兼容。然而,它只保证有界密钥暴露的安全性:它容忍先验数量的一次性密钥泄漏。

模糊构造

然后,我们提出了两个模糊隐形签名方案(使用Spirit),这两个方案都是第一个有效的后量子候选者。

在第一个构造中(在第6.2节中),我们采用了与[6]中的FMD类似的方法。但我们从𝑂(𝜆)通过新颖地使用密文压缩技术,将每个信号的比特数提高到1比特[9]。此外,我们展示了如何在不需要像[6]中那样的混乱电路之类的重型工具的情况下允许更精细的假阳性率。

然后,我们提出了一个新的模糊跟踪可扩展框架(在第4.4节中),然后在随机预言机模型中进行有效构建(在第6.3节中)。该框架可以被视为[6]中FMD机制的"双重"版本。直观地说,这是效率和可用性之间的权衡:通过限制用户选择假阳性率的能力,我们能够将跟踪服务器的计算工作量减少到用户总数的次线性。这与以前相比非常有利工作,其中服务器需要对每个用户的跟踪密钥进行线性扫描[6,26,31]。

实施

我们使用匿名开源代码[38]实现了Spirit、后量子FMD和基于Dilithium、Kyber和Falcon的可扩展模糊跟踪。我们在普通笔记本电脑上用不同的参数集对它们进行了测试,如表3和表4(附录B)所示。实验结果表明,我们的安全性最强的隐形签名只产生4.09 KB的签名,而验证时间不到0.2毫秒。同样,我们的可扩展模糊跟踪机制只需要3.42毫秒就可以在数百万用户的环境中过滤每条传入消息。

适用于FIDO

作为我们的最后贡献,我们出人意料地将我们的隐形地址概念应用于FIDO2标准的无密码身份验证方案(在[5]中正式定义)。我们展示了制造商如何实现设备验证器,这些验证器不仅提供后量子安全性,而且需要有限的安全内存(一个主密钥),支持全局吊销(如[22]中所定义),多设备凭据[3],并可用于实现异步远程密钥生成([19])。

相关推荐
山登绝顶我为峰 3(^v^)321 小时前
如何录制带备注的演示文稿(LaTex Beamer + Pympress)
c++·线性代数·算法·计算机·密码学·音视频·latex
应长天3 天前
密码学(斯坦福)
密码学
Turbo正则3 天前
量子计算基础概念以及八大分支
密码学·量子计算
网安INF14 天前
公钥加密与签名算法计算详解(含计算题例子)
网络·算法·网络安全·密码学
电院工程师15 天前
基于机器学习的侧信道分析(MLSCA)Python实现(带测试)
人工智能·python·嵌入式硬件·安全·机器学习·密码学
电院工程师17 天前
SM3算法C语言实现(无第三方库,带测试)
c语言·算法·安全·密码学
小七mod18 天前
【BTC】密码学原理
web3·区块链·密码学·比特币·btc·肖臻·北大区块链
电院工程师23 天前
轻量级密码算法PRESENT的C语言实现(无第三方库)
c语言·算法·安全·密码学
电院工程师24 天前
轻量级密码算法CHAM的python实现
python·嵌入式硬件·算法·安全·密码学
电院工程师24 天前
SM3算法Python实现(无第三方库)
开发语言·python·算法·安全·密码学