量子密钥分发(QKD)是一种利用量子物理定律,在远距离通信双方之间安全共享秘密信息的技术。通过QKD,量子力学特性确保如果有人试图篡改秘密共享过程,通信双方将会知晓。通过QKD建立的密钥随后可用于传统的对称加密或其他密码技术,以保障通信安全。
量子通信的重要性在2022年得到印证,三位该领域的先驱被授予诺贝尔物理学奖。然而,关于QKD角色的误解依然存在。其中之一便是认为QKD缺乏实用价值,因为它“无法解决身份验证问题”。这种观点可能掩盖了QKD在适当集成到现有系统后,为安全通信带来的广泛益处。
QKD应被视为现有网络安全框架的补充,而非替代品。从功能上讲,QKD解决的是与其他密钥建立协议(如著名的Diffie-Hellman方法,以及FIPS最新标准的模块格密钥封装机制)相同的问题,但其实现方式根本不同。与这些方法一样,QKD也依赖于强大的身份验证来防御中间人攻击等威胁。
简而言之,密钥交换协议和身份验证机制是解决不同问题的不同安全原语,必须集成在一个安全的通信系统中。
因此,挑战不在于为QKD提供身份验证机制,而在于理解它如何与其他已建立的机制集成,以增强整体安全基础设施。随着量子技术的不断发展,将对话从对身份验证的怀疑,转向如何深思熟虑且切实地实施QKD以满足当前及未来的网络安全需求(如防范“现在记录,日后解密”攻击)至关重要。
理解身份验证在QKD中的作用
在讨论QKD背景下的身份验证时,我们关注的是双方用于交换其在量子通道上活动信息的经典数字通道。这里讨论的不是用户身份验证方法(如使用密码或生物识别登录),而是对通信实体和所交换数据的认证。实体认证确保双方身份属实;数据认证保证接收到的信息与声称的发送方发送的信息一致。QKD协议包含一个经典通信组件,该组件同时使用这两种认证方法来确保整个交互的安全性。
实体认证
实体认证是一方(“证明方”)声明其身份,另一方(“验证方”)验证该声明的过程。这通常包括一个注册步骤,在该步骤中,验证方获得关于证明方的可靠身份信息,作为任何进一步身份验证活动的前提。此步骤的目的是建立“信任根”或“信任锚”,确保验证方为未来的认证拥有可信的基线。
几种常用的实体认证方法,每种都基于不同类型的信任锚:
数据认证
数据认证,也称为消息认证,确保传输数据的完整性和真实性。这意味着验证方接收到的数据与发送方发送的数据完全一致,并且来自可信源。与实体认证一样,数据认证的基础是通信双方共享的秘密信息的安全管理。
最常见的数据认证方法是使用对称密码学,即双方共享一个密钥。使用密钥的消息认证码(如HMAC或GMAC)为传输数据计算一个唯一的标签。该标签使接收方能够验证数据在传输过程中是否被篡改。此方法的安全性取决于所选MAC算法的抗碰撞性(即找到能产生相同标签的两个或多个明文在计算上不可行)以及共享密钥的机密性。认证标签确保数据完整性,而密钥则保证数据来源的真实性。
另一种方法是使用带数字签名的非对称密码学。在这种方法中,发送方使用私钥和数据本身生成签名。接收方(或任何其他人)可以使用发送方的公钥验证签名的真实性。此方法通过签名算法提供数据完整性,并且只要只有发送方持有私钥,就能保证数据来源的真实性。
在对称和非对称方法中,成功的数据认证都依赖于有效的实体认证。如果不知道且不信任发送方的身份,数据真实性的验证就会受到影响。因此,数据认证的强度与底层实体认证过程的完整性密切相关。
QKD中的身份验证
第一个量子密码学协议BB84由Bennett和Brassard于1984年提出。它至今仍是许多现代QKD技术的基础。
QKD协议的独特之处在于它们依赖于量子物理的基本原理,这提供了“信息理论安全性”。这不同于基于计算复杂性的安全性。在量子模型中,任何窃听密钥交换的企图都会被检测到,这提供了经典密码学无法提供的一层安全性。
QKD依赖一个经过身份验证的经典通信通道来确保双方交换数据的完整性,但它不依赖于该经典通道的机密性。身份验证仅保证建立密钥的实体是合法的,从而防止中间人攻击。
目前,已有多种商用QKD产品,其中许多实现了原始的BB84协议及其变体。这些解决方案在现实应用中提供安全的密钥分发,并且它们都配合强大的身份验证过程,以确保通信从头到尾的安全。通过集成这两种技术,组织可以构建能够抵御经典和量子威胁的通信基础设施。
QKD启动引导中的身份验证:一个可管理的问题
在QKD系统的初始启动引导阶段,使用基于PKI或PSK的传统身份验证方法来建立经过身份验证的经典通道。如前所述,所有这些方法最终都依赖于信任锚的建立。
虽然机密性可能需要长期维持(有时长达数十年),但身份验证是一个实时过程。它即时验证身份声明并检查数据完整性。在未来某个时间点破坏身份验证机制不会影响过去的验证。一旦身份验证过程成功完成,攻击者篡改它的机会就已经过去。也就是说,即使未来某项新技术攻破了QKD中使用的特定身份验证机制,在此之前生成的QKD密钥仍然可以安全使用,因为没有攻击者能回到过去破坏以往的QKD密钥生成。
这意味着对传统、非QKD身份验证方法的依赖仅在启动引导阶段(通常仅持续几分钟)提供了攻击机会。鉴于这一阶段与QKD部署的整个生命周期相比如此短暂,使用这些身份验证机制带来的潜在风险相对较小。
QKD启动引导后的身份验证:并非新问题
一旦启动引导阶段完成,QKD设备将安全地建立共享密钥。这些密钥随后可用于未来通信中基于PSK的身份验证。本质上,QKD系统可以通过利用其生成的一小部分密钥来维护经过身份验证的经典通信通道,确保初始设置阶段之后的持续安全通信。
需要注意的是,如果某个QKD设备因故在本地被攻破,整个系统的安全性可能面临风险。然而,这并不是QKD引入的独特漏洞。当端点的完整性受损时,任何密码系统都面临类似的挑战。在这方面,QKD并不比其他任何密码系统更容易受到影响。
克服QKD在网络安全中应用的关键挑战
到目前为止,我们专注于澄清有关QKD身份验证需求的误解。接下来,我们将讨论在实践中使用QKD的其他几个挑战。
弥合QKD理论与实现之间的差距
虽然QKD协议在理论上是安全的,但理论与现实世界的实现之间仍存在显著差距。与传统密码学方法(依赖经过充分审查和认证的、易于理解的算法)不同,QKD系统依赖于专门的硬件。这带来了复杂性,因为审查和认证QKD硬件的过程尚不成熟。
在传统密码学中,侧信道攻击等风险(利用运行时线索,如内存访问模式或数据检索时间,来推断秘密)已得到充分理解,并通过认证过程得以缓解。QKD系统正沿着类似的道路发展。欧洲电信标准协会(ETSI)通过引入QKD通用准则保护框架迈出了重要一步,这是为这些系统创建标准化认证框架的首次国际努力。ISO/IEC也发布了关于QKD安全要求、测试和评估方法的标准。这些是为建立与传统密码学同等水平的信任所迈出的关键步骤。
一旦认证过程完全建立,对QKD硬件实现的信心将持续增长,使网络安全界能够将QKD作为可靠、尖端的安全通信解决方案。在此之前,重点仍然是推进审查和认证过程,以确保这些系统满足最高的安全标准。
QKD部署考量
在实际部署QKD时,一个关键挑战是如何将QKD设备生成的密钥安全地传输给其预期用户。虽然QKD被认为是将密钥分发给QKD设备本身的强大机制,但它不包括将密钥从QKD设备安全地传送到最终用户(或密钥消费者)。
无论QKD系统部署在大型内部网还是小型局域网内,都会出现此问题。在这两种情况下,密钥都必须通过非QKD系统进行传输。标准的部署要求是,从QKD系统到密钥消费者的密钥交付发生在“同一安全站点内”,而“安全站点”的定义由系统操作者决定。
最佳实践是尽可能缩小安全站点的边界。一个极端的选择是完全消除通过经典网络传输密钥的需求,将QKD设备和密钥用户的计算硬件置于同一个物理单元中。这消除了通过传统网络协议进行密钥传输的必要性,并在没有外部依赖的情况下实现了QKD的全面安全优势。在极端选项不可行或不实际的情况下,安全站点应仅覆盖本地QKD系统和预期的密钥消费者。
结论
即使量子计算机出现,QKD生成的密钥也将保持安全,使用这些密钥的通信不易受到RNDL攻击。然而,为了让QKD充分发挥其潜力,社区必须与更广泛的网络安全生态系统密切合作,特别是在密码学和治理、风险与合规(GRC)等领域。通过整合这些领域建立的见解和框架,QKD可以克服目前在信任和实施方面面临的挑战。
这项集体努力对于确保QKD成为安全通信系统中可靠且不可或缺的一部分至关重要。随着这些合作的深入,QKD将能够很好地增强现有安全框架,为其在各行各业的应用铺平道路。FINISHED
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。