没有合适的资源?快使用搜索试试~ 我知道了~
97yawning@oasislabs.comOasis Labs美国,旧金山后量子噪声本杰明·道林Benjamin Dowling电子邮箱:sheffield.ac.uk英国谢菲尔德大学Andreas Hülsing埃因霍温大学andreas@huelsing.net荷兰,埃因霍温摘要Peter Schwabe电子邮件:peter@cryptojedi.orgwww.example.com德国,波鸿弗洛里安·韦伯(FlorianWeber)f.j.webertue.nlmail@florianjw.de荷兰,埃因霍温2022年11月7日至11日,美国加利福尼亚州洛杉矶。美国纽约州纽约市ACM我们引入PQNoise,Noise框架的后量子变体。我们证明,它是可能的,以取代Diffie-Hellman密钥交换噪声与KEM在一个安全的方式。一个挑战是不能组合KEM的密钥对,这可以通过我们引入形式抽象的某些形式的随机性硬化来重新解决。我们提供了一个通用的配方,将经典的噪音模式转换为PQNoise模式。我们证明,由此产生的PQNoise模式实现的fACCE模型中的机密性和真实性此外,我们表明,对于那些经典的噪声模式,已被证明或被证明是安全的fACCE模型中,我们的匹配PQNoise模式最终达到相同的安全性。我们的安全证明是通用的,适用于任何有效的PQNoise模式。这是通过另一个抽象,称为散列对象,它隐藏了如何在一个抽象的有状态对象中处理密钥材料的确切工作,该对象在不同的损坏模式下输出伪随机密钥我们还证明了在Noise中使用的哈希链是一个安全的哈希对象.最后,我们证明了PQNoise交付基准几个基本模式的实用性。CCS概念• 安全和隐私→密码学;安全协议。关键词协议;后量子密码;噪声; PQ噪声;可证明安全性ACM参考格式:打哈欠的天使,本杰明道林,安德烈亚斯Hülsing,彼得Schwabe,和弗洛里安韦伯。2022.后量子噪声在2022年ACM SIGSAC计算机和通信安全会议(CCS '22)的会议记录中,按字母顺序排列的作者列表,参见:https://www.ams.org/profession/leaders/culture/CultureStatement04.pdf†第二封邮件是强烈推荐的,第一封只列出了机构支付的提交费。允许制作部分或全部本作品的数字或硬拷贝供个人或课堂使用,无需付费,前提是复制品不以营利或商业利益为目的制作或分发,并且复制品在第一页上带有此通知和完整的引用。必须尊重本作品第三方组件的版权对于所有其他用途,请联系所有者/作者。CCS© 2022版权归所有者/作者所有ACM ISBN978-1-4503-9450-5/22/11。https://doi.org/10.1145/3548606.356057713页。https://doi.org/10.1145/3548606.35605771引言2014年,Perrin开始通过噪声协议框架简化设计,描述,分析和安全实现安全信道原型的过程[32]。这一努力的成功体现在一长串用户中,包括What-sApp、WireGuard、Slack、I2 P和Lightning Network [29]。Noise的核心是使用Diffie-Hellman(DH)密钥交换[17]作为唯一的非对称原语的想法-通过具有临时密钥的DH实现前向保密,通过静态DH密钥实现各方的认证。 Perrin非正式地描述了Noise使用的无签名的认证密钥协议的概念,即“ 将 所 有 这 些 DH 散 列 在 一 起 以 获 得 最 终 密钥”[33]。执行什么DH操作以及“散列在一起”的确切作为一个示例,考虑“KN“模式(“\\”表示换行符):“-> s \\. e, s)(-> s在... ). 在在线阶段,发起方首先生成临时DH密钥对,并将临时公钥发送给响应方(-> e)。然后,响应方还生成临时密钥对(e),并将公钥发送给发起方(<-e)。然后,双方将其各自的临时秘密密钥与对等体的临时公钥组合,以获得共享的临时-临时DH密钥(ee),并且使用发起方侧的发起方的静态秘密密钥和响应方的临时公钥以及响应方侧的发起方的静态公钥和响应方的临时秘密密钥来另外计算静态-临时DH。 有关模式如何转换为密码操作和协议消息的更详细描述,特别是公钥和共享密钥如何被吸收到协议状态中,请参见Noise Protocol Framework规范[32];有关实现KN模式的密码协议,请参见图1。KN模式是Noise中命名模式的一个示例;这些命名模式的集合就是所谓的基本模式。98CCS存在12种交互式和3种非交互式基本模式。这些模式存在于每一方的每一种组合中,每一方具有1)N0个静态公钥,2)其对等体已知的静态公钥K,或3)在交互期间必须传输的静态公钥(X对于发起者,还存在以下可能性:4)他具有他愿意与初始消息一起发送的静态公钥,即使这可能降低匿名性。对于所得到的12种情况中的每一种,噪声定义了一个固定的模式,由两个字母组合命名,该组合是从连接指示发起者密钥和响应者密钥的情况的字母导出的例如,在一个示例中,NN处理双方都没有静态公钥的情况,而IK适用于发起者的密钥最初不为响应者所知,但响应者的密钥预先为发起者所知并且发起者愿意将其公钥与第一消息一起发送的情况Noise中安全信道协议的一个有趣的特性是,它们不将密钥协商或握手阶段与数据传输阶段分开:事实上,Noise允许将早期有效载荷消息与每个握手消息一起这些早期有效载荷消息在已经建立的任何共享密钥材料下被加密,但是它们通常不享有在握手结束时建立的完全安全属性。这意味着我们不能分析噪声握手作为独立的,单片认证密钥协议协议的安全性,例如CK [13],eCK[28]或CK+[26]模型。Dowling、Rösler和Schwenk通过引入fACCE模型[19]解决了这个问题,fACCE模型是用于TLS分析的ACCE模型的多阶段变体[24]。依赖Diffie-Hellman作为Noise中唯一的非对称原语的设计决策导致了提供广泛安全性和隐私属性的优雅协议;在Noise中使用X25519 [7]实例化DH也导致了这些协议在多种编程语言中的有效实现。然而,对DH的强烈依赖也带来了缺点:噪声没有任何直接迁移到后量子密码学的路径。事实上,DH提供了非交互式密钥交换(NIKE)的功能[20],并且目前还不知道该功能的有效后量子最有可能的候选者是CSIDH [14],但不幸的是,即使在最前沿的安全级别和所有最先进的优化下,它也比X25519慢三个数量级[6]。此外,针对量子攻击者的具体安全性仍然是激烈辩论的主题[9,11,31]。我们的贡献。最接近DH的具有有效的后量子实例化的原语是密钥封装机制(KEM)。对于特定的基于DH的认证密钥交换协议,之前已经使用KEM来代替DH,例如,在PQWire-Guard [23]中;在本文中,我们推广了这种方法,并研究了一个纯粹基于KEM的后量子噪声框架。虽然在某些情况下用KEM替换DH很简单,但在其他情况下却并非如此,原因有很多:首先,使用KEM的身份验证只能以交互式质询-响应方式进行,而可以查看任何DH公共密钥作为一个已经存在的挑战,允许非交互式身份验证。其次,可以组合任意DH密钥共享,但KEM的情况并非如此,因为公钥不能组合。 这会在“噪波”组合两个静态份额的情况下导致问题。第三,Noise非常灵活,提供了大量可能的模式。 到目前为止,计算安全性证明是针对个体模式给出的,这导致了大量的个体安全性证明,并且许多模式根本没有安全性的计算证明,尽管存在许多噪声的符号分析[22,25]。我们解决所有这些问题。我们提供了一种将Noise模式转换为PQNoise模式的方法,该方法以额外的往返为代价,实现了与原始模式相同的机密性和真实性。在某些情况下,我们可以做得比应用我们的通用翻译更好。我们为所有12种交互式基本模式和非交互式N模式提供了优化的PQNoise替代方案 我们的配方解决了第二个问题,注意到像NAXOS技巧这样的方法提供了一种将静态秘密混合到随机性中的方法,只要随机性或静态秘密未被破坏,就可以有效地保证结果是秘密的。 我们引入静态短暂熵组合(SEEC)作为这些方法的抽象,这是适合于PQNoise的安全性分析,是满足许多现有的建设,并允许实现者选择一个合适的实例化为各自的目标系统。我们给出了解决问题三的计算模型的安全性的一般证明。这是通过引入另一种称为“散列对象”的抽象来实现的,这是“将所有这些DH散列在一起以获得最终密钥”思想的形式化。哈希对象是一个有状态的对象,可以向其中输入值,并从中提取键当使用它来分析PQNoise时,我们要求该对象的输出是伪随机的,只要至少有一个随机输入被吸收到对象中,对手就不知道。我们提供了一个正式的定义,这个原语,并证明了噪音的方式散列密钥共享到一个散列链实例化它。这种抽象允许从安全性证明中去除大量特定于模式的复杂性,这反过来又允许我们以通用的方式编写它们 我们推测,这种方法是完全适用于所有版本的经典噪声,允许一个更全面的计算分析比目前存在的,虽然我们离开,为未来的工作。 我们在这里注意到,我们的证明实际上不仅适用于我们指定的特定PQNoise模式,而且适用于每个PQNoise协议,包括例如混合协议(我们在这里没有指定)。我们的安全分析是在fACCE模型[19]中进行的,该模型已经用于噪声分析,尽管我们在一些地方修改了模型首先,有一些修饰性的变化,我们相信这些变化使模型和结果语句更容易访问,比如重命名令人困惑的命名操作。其次,我们提供了一个简单的表,映射未损坏的秘密,以实现安全目标,在给定的阶段,而不是提供一个列表的命名的安全目标,也不一定是独立的安全声明这允许显著简化新鲜度条件后量子噪声CCS99最后,我们提出了一个PQNoise在Go中的概念验证实现,并报告了基准测试结果。 结果清楚地证明了后量子密钥交换在各种环境中的实用性。我们在这里注意到,提供噪声的后量子版本本质上为需要在运行时既不需要向后兼容性也不需要加密灵活性的密钥交换的所有应用提供了解决方案;自然,前者不是可以一般解决的问题,后者是一个属性,其可取性越来越受到质疑,因为越来越多的新协议不提供与社区调查相匹配的协议[37]。该软件可从www.example.com获得https://gitlab.com/yawning/nyquist/-/tree/experimental/pqnoise。2PQNOISE在本节中,我们将介绍我们的PQNoise设计我们从PQNoise的描述开始然后,我们介绍了SEEC(静态-短暂熵组合),我们的抽象的方法,混合一个静态密钥到随机性源,以保证在一个坏的随机性设置的安全性。有了这个,我们然后提出我们的食谱,将噪音模式转换为PQNoise模式。我们的结论与PQ噪声的优化基本模式的讨论。2.1PQ噪声PQNoise的目标是成为Noise的后量子对应物,并分享其许多特性。其中之一是提供大量可能的模式,其描述类似于噪声模式的通用方法。然而,考虑到PQNoise使用KEM进行密钥交换,一些令牌是不同的。单字母标记(s和e)代表发送公钥,就像以前一样。丢弃表示DH密钥份额的组合的四个令牌(ee、se、es和ss)PQNoise在其位置上引入了ekem和skem,这表示发送被封装到接收方的临时/静态公钥的密文,以及将封装的secret混合到散列对象(我们对Noise中使用的散列链的抽象)中,类似于旧的两个字母的令牌。在较低的抽象级别上,PQNoise有意地基本上完全像经典Noise一样工作,除了我们替换非对称原语并将SEEC用于所有概率算法的熵,除了静态密钥的生成。一旦共享密钥可用,Noise就开始将其混合到其散列链中,从中提取会话密钥,并开始使用AEAD方案加密除临时密钥共享之外的所有其他消息我们坚持这一方针。Noise和PQNoise有效地维护了两个散列链(其中个我们稍后将建模为散列对象):第一个h初始化为模式标签的散列每当需要向它添加值x时,所讨论的一方计算H(h,x)并用它替换h首先添加到h的是未指定的关联数据,这些数据可以由应用程序自由选择在此之后,所有公钥在传输后立即添加(如果它们是K已知的,则在一开始就添加此外,所有AEAD密文在它们被发送/成功解密之后被添加反过来,每当创建AEAD密文时,h被直接用作关联数据(无需进一步哈希),并且旨在在握手阶段完成之后可用作唯一的握手散列第二散列链ck是协议从中导出其验证密钥的散列链。密钥链ck也由模式标签的散列初始化此后,无论何时,节点建立共享秘密ki(在经典Noise中是Diffie-Hellman共享秘密,在PQNoise中是封装在KEM密文中的密钥)。Noise将临时值(我们将其称为tmp)计算为HMAC-HASH(ck,ki),并通过计算HMAC-HASH(tmp,ctr)导出ck的新值和它所需要的任何密钥,其中对于ck的新值ctr被设置为0,对于导出的密钥ctr被设置为1在最后一次添加共享秘密的情况下,存在一个例外,其中两个产生的值不被用作ck和会话密钥的新值,而是用作剩余会话的发起者出于分析的目的,我们将其建模为散列对象,并参考4.1节了解更多细节。PQNoise中的实际加密是通过AEAD方案完成的,其中密钥是从ck导出的会话密钥,h用作关联数据,并且随机数是简单的计数器,其初始设置为零,每次使用增加1,并且一旦建立新的会话密钥就重置为零为了发送临时密钥(e),发送方使用密钥生成算法以SEEC的输出作为熵来���������������������������与当前的有效载荷相比,要发送静态密钥,发送方将其静态公钥添加到当前有效载荷和密钥中。KEM密文(ekem,skem)的发送是Noise和PQNoise之间的最大差异之处:首先,我们区分了短暂(EKEM)、发起者(IKEM)和响应者(RKEM)的这允许以与PQWireguard[23]类似的方式在同一协议中使用不同的KEM,这可以允许更有效的协议并实现“穷人的混合加密”,其中即使一个方案的灾难性破坏也会破坏机密性,如果没有额外的如算法1所示,在发送期间,发送方封装密钥������使用���������硬化的随机性(参见第2.2节)。如果所讨论的KEM不是短暂的(为了与噪声兼容)并且已经存在共享密钥������(根据噪声的要求,其必须至少部分地从EKEM导出),则在使用当前随机数和当前握手散列作为关联数据的情况下,利用AEAD方案对所得到的密文���������(连同不会进一步影响KEM操作的可能的另外的有效载荷pl���������,参见完整版本[ 3])进行加密,并且将所得到的密文添加到发送缓冲器。否则,发送缓冲区将被直接添加到发送缓冲区。在任何一种情况下,通过使用添加到send-buffer中 的 - ever 对 先 前的 值 进 行 散列 来 更 新 ,并 且 通 过 调用keychain将keychain添加到keychain中。������在(k)中,产生下一个密钥k���+1。���最后,发送方将随机数设置为0。接收方在接收过程中的动作与发送方的动作相对应:在解密或接收到随机数后,他将接收到的内容添加到随机数中,用他的秘密密钥将其解封装,并将生成的密钥输入到密钥链中,生成随机数+1,并将随机数重置为0。���������我们不提供其他操作的详细伪代码,因为它们基本上与经典的Noise和CCS《打哈欠的天使》,Benjamin Dowling,Andreas Hülsing,Peter Schwabe,FlorianWeber100ck,←H(KN_label)←H(KN_label),← 0←H(KN_ label)������中文(简体)中文(简体)���������中文(简ck,KDF(ck,KDF,2),KDF← 0���������0← enc(���������������2000年,���������←������������������←������������0∶= dec(���������中文(简体)���������������KDF(KDF1,KDF2),KDF← 0���有效载荷数据响应者引发剂ck,←H(KN_label)←H(),← 0 ←H(pk)���������������GenRand(简·兰德)pk,sk←KEM.������KGen(1个;100个)←H(���������������GenRand(GenRand)���������������������你好,谢谢←KEM。封装(pk;pk1)���中文(简体)������ck,KDF(ck,KDF,2)���������GenRand(简·兰德)你好,谢谢←KEM。Encap(pk;pk2)���0← enc���(������������ck,KDF(ck,KDF,2),KDF←0������1← enc(������������������,���0,���1������KEM. 开盖(sk,开盖)���������ℐ← dec(���0,���, ℎ,���0)���KEM. 开盖(sk,开盖)���10← dec(11,12,13,14)���中文(简体)���������������KDF(KDF1,KDF 2),KDF← 0���有效载荷数据响应者引发剂算法1:KEM密文的传输1功能发送:二3←。������������GenRand(GenRand)������������4���������,中国���别这样包封物������,)5如果出现������������������������以下情况:6.(���,pl)���������������������������7小时(10,20)8其他:9小时(10������,20分钟)10块���+1块������在()中,= 0���十一12功能接收:十三14如果出现以下情况:������������������十五...||���������.���������������������(������,���������,16小时(10,20)17其他:18小时(10������,20小时)19��������� 别这样十碳酸酯,十碳酸酯���������20磅���+1磅。在()中,= 0���21请参阅完整版本[3]。然而,我们注意到,我们实现了一个编译器,它可以将任何PQNoise模式转换为这样详细的伪代码,同时还可以对输入进行一些基本的可靠性检查(例如,没有使用尚未知道的键),并对生成的代码进行完整的类型检查(尽管类型 不 显 示 为 LaTeX输出的一 部 分 ) 。 我 们 在 完 整 版 [3] 和https://florianjw.de/diverses/pqnoise-codegen.tar.bz2 上 的编 译器中提供了从十三个基本PQ噪声模式(见下文)得到的伪代码。为了说明PQNoise和Noise的区别,我们参考图1,图1显示了经典Noise及其PQNoise对应物的KN模式。主要区别可以在KEM的使用上看到:由于KEM密钥不能组合,PQNoise需要发送额外的密文(加密和解密)。������而不仅仅是密码),这些密码也必须被加密(密码0)并添加到到了。除此之外(以及SEEC的使用),这些协议非常相似。总的来说,这些相似性和差异性对其他模式具有代表性。2.2SEEC坏的随机数生成器是一个现实世界的问题。 因此,不管它们是被邪恶的政府[10]故意破坏的,还是被善意的个人[16]偶然破坏的,都无关紧要。因此,这在现代协议安全性的定义中被涵盖,引入了临时秘密的破坏作为有效攻击。噪声框架本身认为这是一个应该在系统级别而不是每个协议上解决的问题,并且不包括针对这种情况的任何对策尽管如此,KK模式和IK模式在其他来源中从图1:经典噪声(左)和PQ噪声(右)的KN模式。由于空间的原因,我们在这里使用以下约定:一旦双方收到执行所讨论的计算所需的所有值,就执行突出显示的操作如果任何解密或解封装算法返回“0”,则有问题的一方中止协议。一场静态的迪菲-赫尔曼交换这背后的意图纯粹是为了比其他方式更早地实现发起者真实性。然而,后来的学术分析[19]开始依赖于它来实现所谓的最大暴露(或MEX-)的保护)攻击[26],其中对手可以学习各方的随机性因此,从PQNoise中删除这种保护会削弱模式的安全性,而不是发布的分析对经典模式的安全性承诺,即使这些属性从未被这些模式的设计者正如我们上面所概述的,在使用KEM时,静态-静态交换没有直接的替代品。然而,当将静态秘密与封装算法中使用的随机硬币组合时,可以实现类似的安全属性。第一次提出这样的东西是作为NAXOS协议的一部分[28]。后来Fujioka,Suzuki,Xagawa和Yoneyama [21]使用“扭曲的PRF”来实现类似的结果。后来,Akhmetzyanova、Cremers、Garratt、Smyshlyaev和Sullivan [1]提出使用随机消息的散列签名,认为签名方案的密钥通常驻留在特殊保护的硬件中,使其成为实际的匹配。然后IETF将其标准化为RFC 8937 [15]。由于这样一个系统的确切选择应该是透明的所有同行,我们认为这是一个实现细节,并避免指定任何具体的技术。相反,我们引入静态-短暂熵组合(SEEC)的概念作为所有这些和类似方法的抽象,并基于这个抽象的概念进行分析这使我们能够一般地分析后量子噪声CCS101PQNoise,而不强制实现者使用任何特定的系统。事实上,SEEC还涵盖了在系统级进行混合的情况,与Noise的理念很好地匹配,同时正式描述了在MEX攻击下实现安全性的要求直观地说,SEEC方案由一对算法GenKey和GenRand组成。GenKey是一种概率算法,它返回一个长期密钥sk。然后,GenRand获取sk和一些随机硬币,并返回一个伪随机值r,其中,如果sk未被破坏且随机硬币是新的(但可能被对手知道),或者如果随机硬币未被破坏,则r与真随机值无法区分此外,我们允许但不要求GenRand修改sk。原因在于,这对于允许SEEC方案实现妥协前和妥协后的安全性是必要的。这是一个比人们所能争取的更弱的概念,但是大多数现有的方案不会实例化一个更强的概念,这将因此破坏我们允许实现者自由选择使用哪一个的目标 我们提供了一个更正式的定义和“PRP-SEEC”作为完整版本中的简单示例性实例[3]。2.3翻译模式鉴于PQNoise 的一般 描述,我 们如何从Noise 模式移 动到PQNoise模式,一般来说,还有待虽然大多数步骤的翻译都很简单,但有两种情况必须小心处理第一种是静态-暂时或暂时-静态交换的任何实例,其中发送方是静态密钥的所有者在DH的情况下,他们立即证明发送者的身份(假设静态密钥未损坏),立即建立这对KEM不起作用,因为静态公钥的所有者不能将他们的秘密密钥与对等方的临时公钥结合起来让他们的对等方创建并发送密文(如发送方是临时密钥的所有者的情况)的明显解决方案是不等价的,因为它还没有确认静态密钥所有者的真实性。相反,所有者必须发送附加的密钥确认消息(即,如果这是最后一条消息,则需要来自静态密钥所有者的使用从该加密值导出的密钥的另一AEAD密文实际上,这加起来就是一个往返。第二个是取代静态-静态交换,因为它没有直接等价物然而,使用和扩展上一段中的技术,我们可以创建一个实现类似安全性的解决方案在噪声中,静态-静态交换为双方建立了真实性和机密性(假设未损坏的静态密钥)。发送两个静态KEM的加密将几乎建立相同的属性,只要我们使用SEEC使用静态秘密来安全封装方使用的硬币。只要静态密钥未被泄露,所得到的共享秘密对于广告商是未知的。之后,初始发送者需要进行密钥确认。考虑到这增加了一个完整的往返,并且ss通常用于在往返之前获得早期共享秘密,有时可能更合理的是完全放弃这种组合,使用se和es进行认证。其他一切通常都可以保持原样,除了响应者的临时公钥的传输(这是在发起者在响应者之前发送临时公钥的假设下;否则,发起者临时公钥被丢弃。由于它会延迟前向保密的到来,我们认为没有理由脱离该约定,也不知道有任何使用这种模式的建议这为我们提供了以下方法来以我们推测的方式转换模式以保持安全性(临时-临时交换(ee)可以通过发送临时KEM(ekem)的密文由发起方发送的短暂-静态交换和由响应方发送的静态-短暂交换可以通过发送用于接收方KEM(skem)的密文来直接替换。由响应者发送的短暂-静态交换(es)和由发起者发送的静态-短暂交换(se)更复杂:当发起者在噪声中发送se时,我们通过发起者完成他的当前回合来替换它,随后响应者发送skem,发起者用密钥确认来回复,该密钥确认还可以包含原始模式行中给出的剩余操作同样的方法用于响应者发送的es,但角色相反。静态-静态交换(ss),其中发起者是原始发送者,被替换如下。发起者发送skem,使用具有静态秘密的SEEC计算她的硬币,并结束她的回合。响应者用skem响应,也是使用SEEC获得的带有静态秘密的硬币,并结束他的任期。最后,发起者必须发送另一条消息以进行密钥确认。如果响应者是原始发送者,则角色颠倒。在删除重复的动作(通常是多次使用skem)后,我们推测得到的模式可以实现与原始模式相同的置信度,真实性,完整性,匿名性和可否认性;虽然我们然而,我们的通用分析确实表明,PQNoise匹配(或超过)那些原始噪声模式的已证实/已证明的安全性[19],这些原始噪声模式已在fACCE模型中进行了分析由于额外的往返,这可能会带来仅在交互中的稍后点实现该安全性的缺点这种预防方法不能保留的一个属性是,一方的短暂密钥共享与两个共享一起使用由于这个原因,对等体可以确定导出的密钥属于使用DH的相同临时密钥这不再是KEM的情况,因为通常没有办法从密文导出关于所使用的短暂熵的有用信息,并且重用熵甚至可能引入不确定性。在我们的形式分析中,这不会引起一致性和真实性的问题。然而,协议设计者谁依赖于双重使用的短暂的密钥在噪声为其他目的,需要意识到这一点。CCS《打哈欠的天使》,Benjamin Dowling,Andreas Hülsing,Peter Schwabe,FlorianWeber1022.4基本模式使用上面的方法,我们可以将任何Noise模式转换为PQNoise-pattern。然而,就往返而言,这种转换的结果并不总是最佳的。 出于这个原因,我们手工挑选了一个PQ噪声模式来匹配十二个基本经典噪声模式(���{���,������}×{���,���,���})中的每一个。这些PQNoise模式的设计不仅要实现至少相同的机密性和真实性,还要尽可能高效地做到这一点。(The等价的安全性来自于使用相同的KEM,对此,我们的证明表明,每个KEM将引入某种程度的安全性,而与它们的使用顺序无关,但可能在不同的协议阶段。当超越其自身的基本模式时,所有这些模式最终都在经典噪声中具有直接等价物,这些模式是通用翻译的一部分:IK和KK模式等价于IKnoss和KKnoss [34]。所有涉及(非早期)传输密钥的模式都等同于延迟模式,其中传输的密钥被延迟使用(每个“X”变成“X1”),例如IX等同于IX1,XX等同于X1X1。所有其他模式都与它们的同名模式等价虽然其中一些模式比经典模式需要更多的往返在稍晚的时候达到一定程度的安全性,但它们最终都达到了与经典模式相同的安全性Noise还提供了三种非交互模式({,,})。经过身份验证的验证模式和验证模式不能转换为PQNoise的非交互式版本,因为发起者不能仅使用KEM以非交互式方式证明其身份然而,未经认证���的模式可以被简单地转换,并且本质上导致标准KEM/DEM构造。我们注意到,我们的分析也适用于���-模式,因此将其包括在13个基本PQ噪声模式的列表中。我们在图2中描述了其中的交互式,并提供了更详细的描述以及与其噪声的比较在完整版本中的对应[3]。3灵活接入框架概述我们在灵活的认证和保密信道建立(fACCE)框架[19]中分析了PQNoise的安全性,该框架是为分析Noise而开发的在这里,我们给出了加密原语fACCE的高级概述,并定义了fACCE安全性,强调了我们为后量子信道建立协议的特定设置而修改的区域。原始fACCE模型和我们的版本之间的主要分歧是我们如何构造和表示新鲜度条件。这些允许协议分析器确定在哪些设置中攻击是有效的,即,在哪组妥协或对手行动之后,对手被认为赢得游戏。这在很大程度上取决于协议何时应该实现某个安全目标的定义。在最初的fACCE模型中,这被表示为一系列新鲜度计数器,其捕获确认信息。在某些类型的攻击下,欧吉定义具有角色“身份验证”的一方何时对自己进行身份验证,pqNN:-> epqNK:<- -pqNX:-> e<- 埃肯...-> skem,e<- 埃肯<- Ekem,s-> skempqKN:pqKK:pqKX:-> s-> s-> s...<- -...-> e...-> e<- ekem,skem-> skem,e<- ekem,skem<- ekem,skem,s-> skempqXN:pqXK:pqXX:-> e<- --> e<- 埃肯...<- Ekem,s-> s-> skem,e-> skem,s<- skem<- 埃肯-> s<- skem<- skempqIN:pqIK:pqIX:-> e,s<- --> e,s<- ekem,skem...-> skem,e,s<- ekem,skem<- ekem,skem,s-> skem图2:交互式基本PQ噪声模式。当被认为是非平凡攻击时,对手可以注入或修改来自���第三方的消息。这导致了(在他们的完整模型中)十个计数器,每个计数器捕获特定类型的攻击和妥协范例。相反,我们将每个会话的所有秘密组合(长期和短暂)表示为安全表(ST)中的行,其中包含认证和机密性列。对于每种秘密组合,我们指出,在哪个阶段(S)的认证和保密性举行,如果对手没有破坏这些秘密。这导致一个更简单,更直观的表示,因为它专注于自然的问题:在任何给定的妥协策略下,协议何时实现(如果有的话)机密性和真实性?代替要求读取器(或协议设计者)理解和解释密码历史(例如,ECK计数器描述了可以损害任一会话的短暂随机性的对手 我们还使用ST的副本(我们将其表示为新鲜度表或FT)作为我们的形式主义中的工具,用于简化我们的新鲜度条件:每个会话以完整的FT开始,并且每当对手妥协特定类型的秘密时,具有该秘密的行将从FT中删除。试图破坏与某些秘密组合无关的阶段的安全性的对手被认为是无效的,因为攻击是微不足道的除此之外,我们还做了一些主要是美学上的改变:• 我们将Enc和Dec重命名为Send和Recv。我们注意到,这更好地匹配了它们的语义,因为Send和Recv也传输信道建立材料,并且可能后量子噪声CCS103������完全不执行加密和解密,这取决于协议。• 我们要求每个发送操作递增通道的阶段计数器原始fACCE模型仅在达到新的(和增加的)安全性属性时才增加阶段计数器。这种变化将渠道的阶段因此,我们修改了fACCE协议的定义,在发送或接收消息时不再输出阶段计数器,因为它足以计数通信方之间的消息现在我们将从高层次上描述fACCE原语和安全框架,并对到发起者等等。因此,单个流中的多个消息是单个消息的扩展每个消息单调地增加协议的阶段,即,从发起者发送到响应者的第一消息是阶段一,从响应者发送到发起者的第一消息是阶段二,等等。这与原始的fACCE不同,fACCE仅在实现新的安全属性时增加阶段我们在完整版本[3]中定义了fACCE协议的正确性。 如果从已建立的通道发送的消息被其参与者平等地接受,则直觉上fACCE协议是正确的。执行环境。在这里,我们描述(在高层次上)我们的fACCE安全实验的执行环境。我们新鲜度条件的变化完整的模型可以在完整版本中找到[3]。考虑一组������术语密钥对每个人都有一个(潜在的)长期的,fACCE原语描述。 在高层次上,fACCE是一个密码-{(sk1,pk1),������,峰��� )},(sk×���������一种拓扑协议,它既建立安全信道,又提供双方之间经过验证的保密通信。避开模块化方法,信道建立和有效载荷传输由相同的算法处理- 这些功能还可以更新会话的内部状态。定义3.1(灵活接入)。灵活的ACCE协议fACCE是与长期秘密密钥空间R1������、长期公共密钥空间R2、临时������秘密密钥空间R3、临时������公共密钥空间R4������和状态空间相关联的四个算法KGen、Init、Send、Recv的元组������。fACCE算法的定义如下:KGen→$ ( sk , pk ) 生 成 长 期 密 钥 , 其 中 sk∈{\displaystyle{\sqrt},pk∈ {\sqrt}。请注意,这既捕获了长期非对称密钥对,也捕获了潜在的长期对称秘密(我们将其视为sk的一部分)。Init(sk,ppk,ppk,ad)→$st表示会话开始通信,其中sk(可选)是发起者������发起者或响应者),ad是与此相关联的数据没关系������每一方都可以参加最多六个阶段的会议,每个阶段都可能持续六个阶段。������每个会话的样本每个会话的随机性和整个协议执行过程中使用. 我们表示会话特定的变量集���参与方的标识符以及此会话的标识符(作为会话标识符)。关于会话状态的更多细节可以在完整版本[3]中找到。诚实的伙伴关系是在两次会议之间发送的成绩单上定义的直观地说,如果诚实伙伴接收的所有密文都是由会话发送的(没有修改),则会话具有诚实伙伴,反之亦然,并且至少有一方至少接收了一次密文诚实的partner的完整定义可以在完整版本中找到[3]。fACCE模型可以捕获各种妥协范例下的身份验证和机密性,类似于原始fACCE的各种计数器编码的身份验证和机密性我们还强调,这种方法与fACCE协议证明的典型结构一致- 这种证明结构在认证密钥交换协议的分析中很常见,特别是在扩展的Canetti-Krawczyk(eCK)模型[28]中,例如WireGuard [18]和PQWireGuard [23]的证明。为了促进安全游戏,挑战者为每个会话密钥维护一个集合密钥,该集合密钥包含每个会话密钥���������session,和sk∈ {},ppk∈ {},ad∈������������������{0,1},st∈。Send(sk,st,n)→$(st′,n)在会话中继续协议执行,并获取消息n以输出新状态st′,会话(及其诚实的伙伴)维护长期秘密值sk_k,sk_k(非对称和对称),在协议执行的加密阶段期间������������1′citionesk1,esk1���������������������消息k,其中sk∈ k {k},st,st������∈,,∈������������在每个阶段st1、st1...、st 2、st 3执行方案������������因此{0,1}。请注意,发送可能会生成额外的临时������������密钥对(epk,esk)∈ {\displaystyle {\frac {epk,esk} ×{\displaystyle {\frac {{epk,esk}2.������������=(sk,sk,esk1,esk1,������������������������.,esk ,esk ,st 1, st 1. ,st , st )。������������������������������������Recv(sk,st,n)→$(st′,n)处理由n触发的会话中的协议执行,并输出新状态st′和消息n,其中sk∈n {n},st∈n,st′∈n{0},{0},{0},{0}。������如果输出st′=n,则这表示拒绝该密文。我们假设以fA
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- StarModAPI: StarMade 模组开发的Java API工具包
- PHP疫情上报管理系统开发与数据库实现详解
- 中秋节特献:明月祝福Flash动画素材
- Java GUI界面RPi-kee_Pilot:RPi-kee专用控制工具
- 电脑端APK信息提取工具APK Messenger功能介绍
- 探索矩阵连乘算法在C++中的应用
- Airflow教程:入门到工作流程创建
- MIP在Matlab中实现黑白图像处理的开源解决方案
- 图像切割感知分组框架:Matlab中的PG-framework实现
- 计算机科学中的经典算法与应用场景解析
- MiniZinc 编译器:高效解决离散优化问题
- MATLAB工具用于测量静态接触角的开源代码解析
- Python网络服务器项目合作指南
- 使用Matlab实现基础水族馆鱼类跟踪的代码解析
- vagga:基于Rust的用户空间容器化开发工具
- PPAP: 多语言支持的PHP邮政地址解析器项目
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功