The impending post-quantum transition to new cryptography will require complete replacement of algorithms within all software. The cryptographic APIs used today make this transition challenging because they were not designed with agility as a concern. There is no method for systematically assessing cryptographic agility as an overall ability. In addition to this, the term itself refers to multiple independent capabilities. Specifically, it includes replacing algorithms, selecting by policy, and substituting implementations. This lack of structured decomposition limits both the evaluation of systems and the development of cryptographically agile APIs. We introduce a component-based assessment framework that characterizes application-level cryptographic agility along seven orthogonal dimensions: three coupling dimensions that measure what the application code knows about algorithms and providers, a cross-cutting decoupling mechanism, a governance authority dimension, and two agility enablers that measure actual migration capability. The framework is non-linear and captures non-hierarchical profiles: a system may achieve high operation decoupling yet low creation decoupling, or strong versioning without externalized configuration. We evaluate six representative APIs (PKCS#11, OpenSSL~3.0, JCA, Google Tink, AWS KMS, and HashiCorp Vault Transit) against the framework, revealing three pervasive and independent gaps: no system supports intent-based key creation, none provides policy-driven algorithm selection (as distinct from access control), and none offers dedicated/first-class operations for algorithm transformation of existing keys. These gaps are individually sufficient to prevent agile migration, explaining why the post-quantum transition remains a software engineering problem despite decades of API progress.
翻译:即将到来的后量子密码迁移要求全面替换所有软件中的算法。当前使用的密码API因在设计时未考虑敏捷性,使得这一迁移充满挑战。目前缺乏系统化评估密码敏捷性作为整体能力的方法。此外,该术语本身涉及多项独立能力:具体包括算法替换、策略选择与实现替代。这种结构化分解的缺失既限制了系统评估,也阻碍了密码敏捷API的开发。我们提出了一种基于组件的评估框架,从七个正交维度刻画应用级密码敏捷性:三个衡量应用代码与算法和提供者耦合程度的耦合维度、一个横切解耦机制、一个治理权维度,以及两个衡量实际迁移能力的敏捷使能维度。该框架是非线性的,可描述非层次化特性:系统可能实现高操作解耦却低创建解耦,或强版本控制但未外部化配置。我们基于该框架评估了六个代表性API(PKCS#11、OpenSSL~3.0、JCA、Google Tink、AWS KMS和HashiCorp Vault Transit),揭示了三个普遍存在的独立缺陷:无系统支持基于意图的密钥创建,无系统提供策略驱动的算法选择(区别于访问控制),且无系统为现有密钥的算法转换提供专用/一等操作。这些缺陷各自足以阻止敏捷迁移,解释了为何尽管API发展数十年,后量子密码迁移仍是软件工程难题。