Post Quantum Fuzzy Stealth Signatures and Applications

目录

  • 笔记
  • 后续的研究方向
  • 摘要
  • 引言
    • 贡献
      • 模块化框架
      • 模糊构造
      • 实施
      • 适用于FIDO

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])。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/207001.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cmd命令 常用的命令

网络工作为常年公司里的背锅侠,不得不集齐十八般武艺很难甩锅。像cmd命令这种好用又好上手的技术,就是网络工程师上班常备技能。 只要按下快捷键 winR,输入cmd回车,然后输入cmd命令。 像我自己,我就经常用cmd命令检测…

浪潮信息KeyarchOS——保卫数字未来的安全防御利器

浪潮信息KeyarchOS——保卫数字未来的安全防御利器 前言 众所周知,目前流行的操作系统有10余种,每一款操作系统都有自己的特点。作为使用者,我们该如何选择操作系统。如果你偏重操作系统的安全可信和稳定高效,我推荐你使用浪潮信…

openEuler JDK21 部署 Zookeeper 集群

zookeeper-jdk21 操作系统:openEuler JDK:21 主机名IP地址spark01192.168.171.101spark02192.168.171.102spark03192.168.171.103 安装 1. 升级内核和软件 yum -y update2. 安装常用软件 yum -y install gcc gcc-c autoconf automake cmake make \zl…

E: 无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 6253(apt-get)持有

问题 解决方案 sudo rm /var/lib/dpkg/lock-frontend接着,继续安装。

【复杂网络建模】——基于Graph Convolutional Networks (GCN)进行链接预测

目录 一、复杂网络建模 二、图嵌入方法(Graph Convolutional Networks (GCN) ) 1. 图表示: 2. 邻接矩阵(Adjacency Matrix): 3. 图卷积层(Graph Convolutional Layer)&#xff…

【C语言】7-32 刮刮彩票 分数 20

7-32 刮刮彩票 分数 20 全屏浏览题目 切换布局 作者 DAI, Longao 单位 杭州百腾教育科技有限公司 “刮刮彩票”是一款网络游戏里面的一个小游戏。如图所示: 每次游戏玩家会拿到一张彩票,上面会有 9 个数字,分别为数字 1 到数字 9&#xf…

排序-插入排序与希尔排序

文章目录 一、插入排序二、希尔排序 一、插入排序 思路: 当插入第i(i>1)个元素时,前面的array[0],array[1],…,array[i-1]已经排好序,此时用array[i]的排序码与array[i-1],array[i-2],…的排序码顺序进行比较,找到插入位置即将…

基于Springboot+mybatis+mysql+jsp招聘网站

基于Springbootmybatismysqljsp招聘网站 一、系统介绍二、功能展示四、其他系统实现五、获取源码 一、系统介绍 项目类型:Java EE项目 项目名称:基于SPringBoot的照片网站 项目架构:B/S架构 开发语言:Java语言 前端技术&…

Swagger Array 逐步解密:带你简化开发工作

Swagger 允许开发者定义 API 的路径、请求参数、响应和其他相关信息,以便生成可读性较高的文档和自动生成客户端代码。而 Array (数组)是一种常见的数据结构,用于存储和组织多个相同类型的数据元素。数组可以有不同的维度和大小&a…

轨道电流检测IC——FP355,助力蓄电池充电器、SPS(适配器)、电池管理系统、多口快充充电器的优雅升级

目录 一、FP355概述 二、FP355特点 三、FP355应用 随着移动设备的普及和人们对电力需求的不断增长,充电器的安全性和充电效率成为了重要的关注点。 作为一种能够精确检测电流的集成电路,轨道电流检测IC——FP355是个不错的选择。它不仅广泛应用于蓄电…

SpringBoot集成Spring Security+jwt+kaptcha验证(简单实现,可根据实际修改逻辑)

参考文章 【全网最细致】SpringBoot整合Spring Security JWT实现用户认证 需求 结合jwt实现登录功能,采用自带/login接口实现权限控制 熟悉下SpringSecurity SpringSecurity 采用的是责任链的设计模式,是一堆过滤器链的组合,它有一条很…

03_W5500TCP_Client

上一节我们完成了W5500网络的初始化过程,这节我们进行TCP通信,w5500作为TCP客户端与电脑端的TCP_Server进行通信。 目录 1.TCP通信流程图: tcp的三次握手: tcp四次挥手: 2.代码分析: 3.测试&#xff1a…

Python游戏测试工具自动化遍历游戏中所有关卡

场景 游戏里有很多关卡(可能有几百个了),理论上每次发布到外网前都要遍历各关卡看看会不会有异常,上次就有玩家在打某个关卡时卡住不动了,如果每个关卡要人工遍历这样做会非常的耗时,所以考虑用自动化的方…

AI专题报告:2022年中国人工智能产业研究报告

今天分享的AI系列深度研究报告:《AI专题报告:2022年中国人工智能产业研究报告》。 (报告出品方:艾瑞咨询) 报告共计:112页 人工智能参与社会建设的千行百业 价值性、通用性、效率化为产业发展战略方向 …

淘宝API接口系列丨商品详情数据接口丨关键词搜索商品列表接口丨商品评论,销量接口

要对接淘宝API接口,可以按照以下步骤进行操作: 注册成为淘宝开放平台开发者,并创建一个应用。在应用创建页面,需要填写应用的名称、描述等信息,并设置应用的API权限等级。获取App Key和App Secret。在应用创建后&…

jira创建用例,与任务关联

项目用的jira,但之前的用例放在禅道上,或者归档于svn,都不是很好用,所以研究了下jira的用法 1、下载插件: synapseRT - Test management and QA in JIRA 完成后在tab会多出一个test 2、常用的功能 1、建立用例&#…

Gitlab+GitlabRunner搭建CICD自动化流水线将应用部署上Kubernetes

文章目录 安装Gitlab服务器准备安装版本安装依赖和暴露端口安装Gitlab修改Gitlab配置文件访问Gitlab 安装Gitlab Runner服务器准备安装版本安装依赖安装Gitlab Runner安装打包工具安装docker安装java17安装maven 注册Gitlab Runner 搭建自动化部署准备SpringBoot项目添加一个Co…

验证码的多种生成策略

&#x1f60a; 作者&#xff1a; 瓶盖子io &#x1f496; 主页&#xff1a; 瓶盖子io-CSDN博客 第一种 a.导入依赖 <dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.10</ver…

zxjy003- Spring Cloud后端工程搭建

1、创建 sprigboot 工程 guli-parent groupId &#xff1a; com.atguigu artifactId &#xff1a; guli-parent 2.删除src目录 3.配置pom.xml 修改版本为 &#xff1a;2.2.1.RELEASE<artifactId> 节点后面添加 pom类型 全部依赖&#xff0c;复制下面的即可&#xff0c…

素材创作平台,解决企业素材供给问题

企业对于高质量素材的需求日益增长。无论是为了提升品牌形象&#xff0c;还是为了推动产品销售&#xff0c;都需要大量的专业设计素材。然而&#xff0c;素材的获取、设计和定制往往是一项耗时耗力的工作。这时&#xff0c;美摄科技素材创作平台应运而生&#xff0c;为企业提供…