An Assessment Framework for Application-Level Cryptographic Agility
本文引入了一种基于组件的评估框架,该框架通过七个正交维度对应用层密码敏捷性进行表征,并揭示了当前主流 API 缺乏基于意图的密钥创建、策略驱动的算法选择以及一等公民级的算法转换等关键能力,从而阻碍了向后量子时代的过渡。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你是某家大型全球货运公司的经理。几十年来,你一直使用一种特定类型的运输集装箱(我们称之为“RSA 箱”)来运送你的珍贵货物。你的卡车、仓库和送货司机都完美地适配这些特定的箱子。
现在,一项新规定说:“从明年开始,你必须停止使用 RSA 箱。你必须切换到一种完全不同类型的容器,叫做‘后量子箱’。”
问题在于:新箱子体积巨大,形状不同,且需要一种不同的锁定方式。更糟糕的是,你目前的软件系统不仅仅是说“给我一个箱子”,它还会说:“给我一个具有这些特定尺寸的 RSA 箱。”
因为你的系统被硬编码为请求“RSA 箱”,所以你不能直接更换箱子类型。你必须进入每一个仓库,重写每一个卡车司机的指令,重新培训员工,并重建装卸码头。这正是世界上的软件工程师们在试图切换到新的量子防御密码学时所面临的噩梦。
这篇论文介绍了一种衡量软件系统在更换这些加密“箱子”时具有多大“敏捷性”(灵活性)的新方法。
问题所在:“硬编码”陷阱
作者认为,目前大多数软件系统就像一个僵化的工厂。它们围绕着现有的工具构建得如此紧密,以至于更换这些工具就需要重建整个工厂。
他们发现,虽然有些系统在隐藏使用工具的具体细节方面(例如,使用通用的“锁定”按钮而不是“RSA 锁定”)做得稍好了一些,但在最关键的部分仍然失败了:即决定首先使用哪种工具。
新框架:七项评分报告
为了解决这个问题,作者创建了一个包含七个不同等级的“评分报告”。该系统并没有给出一个总分(如“85% 敏捷”),而是从七个独立的维度进行评分。这就像评价一辆汽车不仅看速度,还要分别看燃油效率、安全性、舒适度和操控性。一辆车可能速度很快,但安全性很差。
以下是这七个维度的简单解释:
- 操作耦合(使用工具的“如何做”): 软件每次锁定东西时,是否需要知道特定算法的具体名称(例如“RSA”)?
- 差: “请使用 RSA-2048 锁。”
- 好: “请锁定这条消息。”(系统会自动确定使用哪种锁)。
- 创建耦合(制作工具的“如何做”): 当你创建一个新密钥时,是否必须指定确切的算法?
- 差: “给我做一个 RSA 密钥。”
- 好: “给我做一个可以验证此用户的密钥。”(系统会选择最适合该任务的算法)。
- 提供者耦合(工具“在哪里”): 软件是否绑定在特定公司的硬件或软件上?
- 差: “使用 IBM 锁。”
- 好: “使用安全锁”,系统可以自动在 IBM、Google 或本地硬件芯片之间切换。
- 解耦机制(“控制面板”): 你可以在不重写代码的情况下更改这些设置吗?
- 差: 你必须编辑源代码并重新编译软件。
- 好: 你可以通过配置文件或策略仪表板来更改设置。
- 治理权限(“老板”): 谁来做决定?
- 差: 只有编写代码的程序员才能更改算法。
- 好: 安全经理可以说:“所有生产系统必须使用经 FIPS 批准的算法”,而无需触碰代码。
- 算法迁移(“切换”): 你能把一个旧类型的密钥变成另一种类型的密钥吗?
- 差: 你必须扔掉旧密钥并创建一个全新的密钥,然后重新锁定所有旧数据。
- 好: 你可以神奇地将一个旧的 RSA 密钥转化为一个新的后量子密钥,同时保持相同的 ID。
- 提供者迁移(“移动”): 你能轻松地将密钥从一家公司转移到另一家公司吗?
- 差: 你必须手动下载密钥、移动并重新上传。
- 好: 系统会根据策略自动为你移动密钥。
大揭秘:三个差距
作者根据这份评分报告测试了六个主要系统(如 OpenSSL、AWS KMS、Google Tink 等)。他们发现所有这些系统中都存在三个巨大的漏洞:
- 缺乏“基于意图”的创建: 没有一个系统允许你说“我需要一个用于签署文档的密钥”。它们都强迫你说“我需要一个 ECDSA 密钥”。你仍然必须知道具体的工具名称。
- 缺乏“加密治理”: 虽然有些系统可以让你控制谁可以访问密钥(比如一个保安),但没有一个系统能让管理者控制使用哪种算法。你无法通过系统的策略引擎说:“任何人都不允许使用旧的 SHA-1 算法。”
- 缺乏“转换”魔法: 没有一个系统拥有“将此 RSA 密钥转换为后量子密钥”的按钮。如果你想切换,你必须扔掉旧密钥并重新开始,这对旧数据来说是一场噩梦。
结论
论文得出结论,向后量子密码学的过渡不仅仅是一个数学问题,它是一个软件工程问题。
由于目前的系统存在这三个差距,切换到新算法将需要几乎全世界每家公司进行大规模、昂贵且高风险的软件更新。作者认为,为了解决这个问题,我们需要重新设计我们的软件 API,使其真正实现“敏捷”——允许我们表达我们想要做什么(意图),并让系统自行搞定如何去做,从而让我们在更换底层技术时不会破坏整个世界。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。