
密码学:从理论到现实
“一切都会出错”是任何规划都应该遵循的主要原则之一。
不稳定是事实
在解决密码问题时,会出现不可抗力的情况。多年来,许多科学家都在考虑每一个细节,但现实往往会让你感到惊讶。在很多方面,正是这种无休止的循环,由一系列开发新的密码解决方案、识别漏洞,然后才发现漏洞是怎样形成的,也才吸引人们去研究密码学。
例如,著名的TLS协议在他的历史发展进程中有一个很有趣的插曲:
在2001年,Hugo Krawczyk首次对TLS 1.1中使用的数据保护方案的安全性进行了数学证明,但不到一年后,出现了一种攻击,表明该协议在数据保护方面存在不稳定性。
不幸的事,这样的事件在密码学中并不罕见,上面提到的漏洞问题,在TLS协议中肯定也不是最后一次出现。
每年,在密码学会议和研讨会上,都会出现一些令人惊奇的攻击案例,这些攻击乍一看,与理论研究相矛盾,此刻,有个问题就被提出:密码学理论家的“失误”原因是什么?
在回答这个问题之前,让我们试着弄清楚密码学的支柱是什么,对手的模型是什么,以及关于“信息安全”这样一个复杂而多方面的概念的知识是如何在世界上形成和扩展的。
模型作为基础
解决信息安全问题的系统的开发是一个极其复杂和耗时的过程。事实证明,理论研究知识此类系统生命中众多阶段中的一个。同样重要的是系统的建模、实施和运行阶段,从普通用户的角度来说,运行阶段才是最重要的,理论永远是理论。
每一个阶段都是基于前一个阶段,并且是前一个阶段的逻辑延续:例如,理论研究阶段没有建模是不可能的,因为推理的严谨性需要对研究的属性和对象进行形式化。
密码学中的建模涉及到对正在开发的系统的所有属性、用户与之互动的所有可能方式的深入分析,有时甚至涉及到系统运行的物理条件。
建模的结果是系统的数学模型,其中特别包括所谓的对手模型,事实上,它决定了一个安全的稳定的系统意味着什么。
对手模型由三个部分组成:攻击类型、威胁模型和关于对手可用资源的假设。这三个部分加在一起,使我们有可能清楚地定义我们的系统所处的世界:敌人如何与之沟通,他可以从对手那里学到什么,他究竟想要实现什么以及他拥有哪些资源。
攻击类型决定了敌人在与分析系统交互方面的定性能力。因此,攻击的类型决定了对手可以接收什么样的系统信息,以及他可以如何干扰其运行过程。
一个例子是敌人可以拦截和修改通信渠道上的数据的攻击类型。在这里,敌人的能力应该考虑到所有已知的违反所研究系统安全的实践和理论方法,并尽可能接近在实践中使用该系统时出现的方法。
威胁模型定义了违反安全属性的任务,这是对手想要解决的。例子包括伪造信息签名或泄露机密信息。如果敌人解决了指定的任务,他们就说他“意识受到了威胁”。威胁模型反映了哪些情况违反了特定系统的安全性的想法。
关于敌人资源的假设也是模型中极其重要的部分,现在其决定了敌人的定量能力。通常它们是由一整套因素决定的:敌人的时间和计算资源、程序的大小以及他可以通过与系统交互而接收的信息量。
如果没有这些限制,谈论实践中使用的大多数系统的安全性是完全没有意义的,因为,对他们来说,总有一个对手,拥有无限的资源,可以通过简单的暴力手段找到所需的密钥,而不使用任何复杂的方法。
客观现实
一旦研究对象的数学模型出现,就有可能应用合适的数学方法,其结果是先验绝对准确的(如果作者没有在计算中出错并且最初的假设是正确的)。
使用这种方法可以揭示被研究对象的深层属性,并且在对时间延长的过程的研究中,实际上可以预测它们的未来。
在物理学中,我们预测扔出的石头会在多少秒内掉在地上,而在密码学中,我们预测未来几年密码系统是否会被黑客入侵。
因此,如果研究的数学部分是准确进行的,其结果不包含错误,那么理论和实践之间出现看似奇怪的矛盾的主要原因在于对手的模型和系统在实践中运行的真实条件之间的差异。在这种情况下,模型被认为还是不相关的。
同时,也不应该把责任归咎于负责建模的员工,在系统开发过程的任何阶段,从想法到运行,模型都可能变得不相关。然而,现实和模型之间的差异可能出现在构成模型的三个部门中的任何一个。
攻击类型不匹配
让我们看一下TLS1.1中使用的数据保护方案的安全性的数学证明示例,看看现实与Hugo Krawczyk在他的工作中使用的模型之间的差异发生在哪里,以及导致这种差异的错误发生在哪里。
2001年的相同工作证明了MAC-then-Encrypt认证加密方案的强度,其中首先将模拟插入附加到消息,然后在消息和插入的串联之后以CBC模式加密。CBC加密模式的特殊性在于它只能处理可以分成一定固定大小的块的字符串。
因此,为了能够处理任何长度的信息,通常采用填充法:在向信息中添加插入物后,根据一定的规则,将产生的字符串填充到所需的大小。在接收方处理信息时,首先进行解密和验证加法的正确性,然后才检查模拟的插入。
在Hugo Krawczyk的作品发表不到一年,就出现了针对CBC模式的填充预言机攻击,它利用对手在检查解密消息的补码时获取有关接收方是否遇到错误的信息。
攻击的结果是违反了传输数据的保密性。起初,人们认为TLS协议免受填充预言机攻击,因为其中的错误仅以加密形式返回,因此添加中的错误与模拟插入中的错误无法区分。
然而,密码分析者能够确定,对于大多数实现,在错误添加的情况下发布错误的时间与发布其他错误的时间不同,因为在错误添加的情况下,错误会立即发布,并且没有采取进一步行动。
这个时间差使得可以区分接收端返回的错误并将填充预言机攻击应用于TLS协议。
然而,在Krawczyk的模型中,没有考虑到对手可以在解密期间接收有关错误发生位置的信息。
这种遗漏导致攻击类型与敌人的实际能力不匹配,事实证明这比模型假设的要多。这种机会的出现是由于系统功能的特殊性(错误处理的顺序)出现在其实施阶段。
因此,起初给这位受人尊敬的科学家的工作蒙上阴影的整个情况远没有那么可怕:Krawczy的证明是绝对正确的,只是进行证明的模型变得无关紧要。
威胁模型不匹配
同样有趣的是威胁模型不匹配引起的漏洞。如果一些可能的情况没有被认为是负面的,它们就会出现。这种漏洞的一个例子是能够恢复加密的VoIP对话的近似转录,只知道加密数据包的长度。
最初,人们认为对手存在这种信息并不构成违反保密性的巨大威胁,最多只能揭示对话的语言或某些短语的存在。
但是北卡罗来纳大学的科学家们发现,通过结合某些编码语音信息的方法和保留消息长度的流密码,使用计算语言学和统计方法,可以准确地重新创建整个对话的转录。
因此,识别威胁的错误在建模阶段就悄悄出现了。由于该系统是专门为加密语音电话而创建的,这样的威胁本可以在加密协议开发的初始阶段就被注意到。
对敌方资源的假设不一致
反过来,Sweet32攻击基于对敌人资源的假设不匹配而产生的漏洞。Sweet32攻击破坏了机密性,并使用块长度较小的块密码(例如3DES或块长度为64位的Blowfish密码)来针对CBC加密模式。
这种攻击基于生日悖论,为了成功,需要保持与服务器的连接时间大约38小时,以发送大约785GB的流量。
其实,早在2000年,就有一篇发表的作品中已经给出了破解CBC模式的概率对加密数据量的依赖。在那个年代,即使使用64位分组密码,加密如此大量的数据,足以打破CBC模式,实际上是不切实际的。
因此,基于64位分组密码的CBC模式在实践中被认为是强大的。然而,随着时间的推移,实施Sweet32所需要的资源不再显得那么出色。
只是没有注意到,在操作阶段,模型与现实之间存在不匹配。因此,在实践中,敌人可用的资源比模型中假设的要多得多。
进化斗争
应该注意的是,系统通发现任何漏洞的常见做法是:当所考虑的示例中描述的每个漏洞的出版物发布后,立即采取措施解决这些漏洞。
然而,在无误的理论研究的前提下,发现的漏洞会触发另一个同样重要的过程:分析对手模型与实际情况的差异及其后续扩展,将作为新一轮理论研究的一部分,这个过程本质上是对手模型的演变。
因此,在现实中,一个系统的发展是一个封闭的循环,其中,在解决方案的整合之后,一个同样重要的运行过程发生了,它也进行了自身的调整。
在操作过程中,我们对敌人能力和安全属性的链接会显着扩大,有时是根据第三方或内部要求的结果对系统进行黑客攻击的结果,这样的“发现”开始了系统生命周期的新迭代。
不完美是不可避免的
但是不应该将此开发顺序流程视为不合理,应该将其周期性视为流程不完善的标志。密码学与其他科学没有什么不同,类似的情况随处可见。
有一个例子是:人们对地球形状的理解的发展,它是最有形和最广为人知的模型之一。该模型经历从平坦地球模型到球状地球模型、自转椭球模型和大帝水准面模型的演变。
在这种情况下,出现与理论预测不一致的情况类似于在实践中破坏理论上稳定的密码系统。
对手模型(并在开发真实系统时考虑其结果)增加了这样的可能性:在系统被破坏的情况下,发现的漏洞将加深我们对信息安全方面的总体理解。
还值得注意的是,理论研究允许在实际实施之前预测许多攻击。例如,1997年表明使用具有可预测初始化向量的CBC模型是不安全的。
然而,由于所提出的攻击似乎过于理论化,所以没有对使用这种加密方法的协议的实施进行修改。
到2011年,尽管有大量研究警告对TLS进行此类攻击的可能性,但该漏洞仍未得到修复,密码分析人员提出了该攻击的实际实现,称为BEAST。直到那时漏洞才被关闭。
总之,在毛球科技看来,系统开发的每个阶段都很重要,应该与前几个阶段相互作用,如此这样的过程确保了知识的精确进化,而不仅仅是“修补漏洞”。因此,不要忽视任何一个阶段,适当关注新模型的发展和理论研究是非常重要的。
量子威胁
大多数人认为,绝大多数支持分布式账本交易的加密协议都容易受到强大的量子计算机的攻击。
量子计算机主要是一种模拟计算系统,它利用量子力学所描述的物理现象来处理数据和传输信息。更具体点说,量子计算机使用量子叠加和量子纠缠来计算。
在数据不变性的层面上,区块链得到了很好的保护,甚至不受量子力量的影响。有关交易的信息存储在注册表中,该数据的重复记录可供区块链的所有主体使用,所有参与者相互独立。
在这方面,为了改变网络上的数据以修改向交易(窃取支付),必须影响所有区块,这在没有百万用户确认的情况下是不可能发生的。
只要用户的钱包才会出现问题和漏洞。这是由于在可预见的未来,量子计算机的力量可能足以成功攻击64位数的私钥,而这也是量子计算威胁的唯一假设真实机会。
基于理论假设,俄罗斯联邦政府金融大学副教授弗拉基米尔·吉辛表示,在拥有100量子比特量子计算机的世界中,比特币区块链可能被黑客入侵。
现在,上面的都是基于理论假设,还没有实际的量子计算机出现,就算谷歌制造的49位量子位设备的存在也尚未被证实。
比推快讯
更多 >>- 彭博分析师:莱特币、Solana 和 XRP ETF 获批的可能性为 100%
- 彭博社:Robinhood 探索在美国以外推出预测市场
- 美参议员 Lummis :参议院正在就加密税规则取得进展
- 美联储柯林斯:如果经济符合预期,将逐步降息
- OpenAI 推出社交媒体应用,向 TikTok、YouTube 等发起挑战
- 美联储古尔斯比:如果通胀更加持久,将面临艰难局面
- 美联储逆回购操作接纳 490.71 亿美元对手方
- OpenAI 发布社交 APP,用于分享 Sora 生成的 AI 视频
- Pendle:未遭遇攻击,所有资金安全
- Pendle 协议疑遭攻击,攻击者已提取超 100 万美元
- Pendle 疑似遭遇攻击,攻击者铸造免费 PT 与 YT 并抛售
- Farcaster:App 注册现已免费
- 美国国会预算办公室:政府关门期间每天可能有 75 万名员工被迫休假
- KGeN 完成 1350 万美元新一轮融资,Jump Crypto 等领投
- Yotta Labs 获得美国国家科学基金会资助,推进去中心化 AI
- 历史数据:比特币 10 月平均回报率为 21.89%,以太坊 10 月平均回报率为 4.77%
- Michael Saylor:Strategy 终极目标是累积价值 1 万亿美元 BTC
- 某鲸鱼移除 1100 万枚 WLFI 流动性,并卖出兑换为 521 枚 ETH
- Stripe 推出稳定币发行平台 Open Issuance
- 两个鲸鱼钱包于 13 小时前买入总计约 6.2249 亿枚 PUMP
- Coinbase CEO:将推动 Coinbase 链上借贷规模达到 1000 亿美元
- 金融科技公司 Brex 计划根据市场需求推出稳定币支付平台
- 数据,比特币 ETF 净流入 3,156 枚 BTC,以太坊 ETF 净流入 100,323 枚 ETH
- Legion:Yield Basis 预售结束,将在 24 小时内通过邮件告知 YB 分配结果
- 美国 8 月份职位空缺几乎无增长,劳动力需求趋稳
- 英伟达股价再创历史新高,最高触及 184.94 美元
- 美国 9 月谘商会消费者信心指数 94.2,预期 96
- 美国劳工部:若政府出现停摆,将如期发布每周失业救济金申请报告
- 美国 8 月 JOLTs 职位空缺 722.7 万人,预期 718.5 万人
- Fasanara Capital 从 CEX 提取 603.6 万枚 ASTER
- SharpLink:上周质押产生 457 枚 ETH 收益
- 美联储柯林斯:股市与就业市场脱节引发担忧
- 摩根大通:Circle 美元稳定币 USDC 或是 GENIUS 法案最大受益者
- 道琼斯、标普 500、纳斯达克指数开盘均下跌
- 柯林斯:强劲股市提振家庭财富,推动消费支出
- Wormhole 即将推出 W 代币战略储备“Wormhole Reserve”
- 美联储柯林斯:9 月联邦公开市场委员会会议上并未制定预设路径
- 美国证交会考虑允许股票像加密货币一样交易
- 柯林斯:经济展望 “相对温和”,通胀或逐步回归目标水平
- Reliance Global Group 完成 XRP 买入,扩充数字资产投资组合
- 美 SEC 正制定计划或将允许股票在区块链上进行交易
- 美联储柯林斯:支持近期美联储降息
- Benchmark 重申对 Bakkt 买入评级,目标价上调至 40 美元
- 何一:投资者应对个人资产负责,而非追随喧嚣受噪音干扰
- KULR 将 ATM 募资规模下调至 1.5 亿美元
- Coinbase 上币路线图新增 Syndicate (SYND)
- 美股上市公司 ZOOZ 斥资约 6000 万美元购入 525 枚比特币
- DogeHash Technologies 获 Thumzup Media Corporation 注资 250 万美元
- CoreWeave 与 Meta 签 142 亿美元算力协议
- BTC Development 拟募资 2.2 亿美元并寻求比特币生态企业进行合并交易