Amazon Direct Connect 中的 MAC 安全
MAC 安全(MACsec)是一项 IEEE 标准,可提供数据机密性、数据完整性和数据来源真实性。MACsec 通过交叉连接向 Amazon 提供第 2 层点对点加密,在两个第 3 层路由器之间运行。虽然 MACsec 可以保护您的路由器与第 2 层的 Direct Connect 位置之间的连接,但 Amazon 通过在物理层数据流经 Amazon Direct Connect 地点和 Amazon 区域之间网络时对所有这些数据进行加密,从而提供额外的安全性。这创建了一种分层安全方法,在这种方法中,您的流量在初始进入 Amazon 期间和通过 Amazon 网络传输期间都受到保护。
在下图中,Amazon Direct Connect 交叉连接必须连接到客户边缘设备上支持 MACsec 的接口。MACsec over Direct Connect 为 Direct Connect 边缘设备和客户边缘设备之间的点对点流量提供第 2 层加密。这种加密是在交叉连接两端的接口之间交换和验证安全密钥之后进行的。
注意
MACsec 在以太网链路上提供点对点安全;因此,它不提供跨多个连续以太网或其他网段的端到端加密。
MACsec 概念
以下是 MACsec 的主要概念:
-
MAC 安全(MACsec):一项 IEEE 802.1 第 2 层标准,可提供数据机密性、数据完整性和数据来源真实性。有关该协议的更多信息,请参阅 802.1AE:MAC 安全(MACsec)
。 -
安全关联密钥 (SAK):一种会话密钥,用于在客户本地路由器和 Direct Connect 位置的连接端口之间建立 MACsec 连接。SAK 不是预共享的,而是通过加密密钥生成过程从 CKN/CAK 对中自动派生的。在您提供和预置 CKN/CAK 对之后,在连接的两端发生这种派生。出于安全考虑,会定期重新生成 SAK,而且每当建立 MACsec 会话时,也会重新生成 SAK。
-
连接关联密钥名称 (CKN) 和连接关联密钥 (CAK):这对密钥中的值用于生成 MACsec 密钥。您可以生成对值,将它们与 Amazon Direct Connect 连接关联,然后在 Amazon Direct Connect 连接末端的边缘设备上进行预置。Direct Connect 仅支持静态 CAK 模式,但不支持动态 CAK 模式。由于仅支持静态 CAK 模式,因此建议您在密钥生成、分发和轮换时遵循自己的密钥管理策略。
-
密钥格式:密钥格式应使用十六进制字符,长度恰好为 64 个字符。Direct Connect 仅支持用于专用连接的高级加密标准 (AES) 256 位密钥,该密钥对应于 64 个字符的十六进制字符串。
-
加密模式:Direct Connect 支持两种 MACsec 加密模式:
-
must_encrypt:在此模式下,连接需要对所有流量进行 MACsec 加密。如果 MACsec 协商失败或无法建立加密,则连接将不会传输任何流量。此模式提供了最高的安全保障,但如果存在任何与 MACsec 相关的问题,则可能会影响可用性。
-
should_encrypt:在此模式下,连接尝试建立 MACsec 加密,但如果 MACsec 协商失败,连接将回退到未加密的通信。此模式提供了更大的灵活性和更高的可用性,但在某些失败情况下,可能会允许未加密的流量。
加密模式可以在连接配置期间设置,也可以在以后进行修改。默认情况下,支持 MACsec 的新连接设置为“should_encrypt”模式,以防止在初始设置期间出现潜在的连接问题。
-
MACsec 密钥轮换
-
CNN/CAK 轮换(手动)
Direct Connect MACsec 支持 MACsec 密钥链,最多可存储三对 CKN/CAK。这样,您就可以在不中断连接的情况下手动轮换这些长期密钥。使用
associate-mac-sec-key命令关联新的 CKN/CAK 对时,必须在设备上配置相同的 CKN/CAK 对。Direct Connect 设备尝试使用最近添加的密钥。如果该密钥与您设备的密钥不匹配,它将回退到之前的工作密钥,从而确保轮换期间的连接稳定性。有关使用
associate-mac-sec-key的信息,请参阅 associate-mac-sec-key。 -
安全关联密钥 (SAK) 轮换(自动)
源自活动的 CKN/CAK 对的 SAK 会根据以下条件进行自动轮换:
-
时间间隔
-
加密流量的总量
-
MACsec 会话建立
这种轮换由协议自动处理,在不中断连接的情况下以透明方式进行,并且不需要手动干预。SAK 从不永久存储,而是通过符合 IEEE 802.1X 标准的安全密钥派生过程重新生成。
-
支持的连接
MACsec 可在专用 Direct Connect 连接和链路聚合组上使用:
注意
使用受支持设备的合作伙伴可以使用 MACsec 对其边缘网络设备和 Direct Connect 设备之间的第 2 层连接进行加密。启用该功能的合作伙伴可以对通过安全链路的所有流量进行加密。MACsec 加密在第 2 层的两个特定设备之间运行,在托管连接上不支持。
有关如何订购支持 MACsec 的连接的信息,请参阅 Amazon Direct Connect
专用连接
以下内容可帮助您熟悉 Amazon Direct Connect 专用连接上的 MACsec。使用 MACsec 无需支付额外费用。可以在 开始在专用连接上使用 MACsec 中查看在专用连接上配置 MACsec 的步骤。
合作伙伴互连操作遵循与专用连接相同的程序。当您为合作伙伴互连运行 CLI 或 SDK 命令时,响应将包括与 MACsec 相关的信息(如果适用)。
MACsec 专用连接的先决条件
请注意以下对专用连接上的 MACsec 的要求:
-
选定入网点的 10 Gbps、100 Gbps 和 400 Gbps 专用 Direct Connect 连接支持 MACsec。对于上述连接,支持以下 MACSec 密码套件:
-
对于 10 Gbps 连接,请使用 GCM-AES-256 和 GCM-AES-XPN-256。
-
对于 100 Gbps 和 400 Gbps 的连接,请使用 GCM-AES-XPN-256。
-
-
仅支持 256 位 MACSec 密钥。
-
100 Gbps 和 400 Gbps 连接需要扩展数据包编号(XPN)。对于 10 Gbps 连接,Direct Connect 同时支持 GCM-AES-256 和 GCM-AES-XPN-256。高速连接(例如 100 Gbps 和 400 Gbps 的专用连接)可能会很快耗尽 MACSec 最初的 32 位数据包编号空间,因此您可能需要每隔几分钟轮换一次加密密钥,以建立新的连接关联。为了避免这种情况,IEEE Std 802.1AEbw-2013 修订版添加了扩展数据包编号,将编号空间增加到 64 位,从而放宽了密钥轮换的及时性要求。
-
安全通道标识符(SCI)是必填项,必须处于打开状态。此设置无法调整。
-
不支持 IEEE 802.1Q(Dot1q/VLAN)标签偏移/dot1q-in-clear 将 VLAN 标签移出加密有效载荷。
此外,在专用连接上配置 MACsec 之前,您应完成以下任务。
-
为 MACsec 密钥创建一个 CKN/CAK 对。
您可以使用开放标准工具创建该对。该对必须满足 步骤 4:配置本地路由器 中指定的要求。
-
确保连接端具有支持 MACsec 的设备。
-
必须开启安全通道标识符(SCI)。
-
仅支持 256 位 MACsec 密钥,提供最新的高级数据保护。
LAG
以下要求可帮助您熟悉 Direct Connect 链路聚合组 (LAG) 的 MACsec:
-
LAG 必须由支持 MACsec 的专用连接组成,支持 MACsec 加密
-
LAG 内的所有连接都必须具有相同的带宽并支持 MACsec
-
MACsec 配置统一应用于 LAG 中的所有连接
-
启用 LAG 创建和 MACsec 可以同时完成
-
任何时候在所有 LAG 链路上只能使用一个 MacSec 密钥。支持多个 MACsec 密钥的功能仅用于密钥轮换目的。
合作伙伴互连
拥有互连的合作伙伴账户可以在该物理连接或 LAG 上使用 MACsec。这些操作与专用连接的操作相同,但是它们是使用特定于合作伙伴的 API/SDK 调用执行的。
服务相关角色
Amazon Direct Connect 使用 Amazon Identity and Access Management(IAM)服务相关角色。服务相关角色是一种独特类型的 IAM 角色,它与 Amazon Direct Connect 直接相关。服务相关角色是由 Amazon Direct Connect 预定义的,并包含该服务代表您调用其他 Amazon 服务所需的所有权限。服务相关角色使 Amazon Direct Connect 的设置更轻松,因为您不必手动添加必要的权限。Amazon Direct Connect 定义其服务相关角色的权限,除非另行定义,否则仅 Amazon Direct Connect 可以担任其角色。定义的权限包括信任策略和权限策略,以及不能附加到任何其他 IAM 实体的权限策略。有关更多信息,请参阅 Direct Connect 的服务相关角色。
MACsec 预共享 CKN/CAK 密钥注意事项
Amazon Direct Connect 使用 Amazon 托管 CMK 作为与连接或 LAG 关联的预共享密钥。Secrets Manager 将您预共享的 CKN 和 CAK 对,存储为 Secrets Manager 根密钥加密的密钥。有关更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的 Amazon 托管 CMK。
存储的密钥设计为只读,但您可以使用 Amazon Secrets Manager 控制台或 API 计划七到三十天的删除时间。当您计划删除时,无法读取 CKN,这可能会影响网络连接。发生这种情况时,我们会采用以下规则:
-
如果连接处于待处理状态,我们会解除 CKN 与连接的关联。
-
如果连接处于可用状态,我们会通过电子邮件通知连接所有者。如果您在 30 天内未采取任何行动,我们会解除 CKN 与连接的关联。
当我们解除最后一个 CKN 与连接的关联,并且连接加密模式设置为“必须加密”时,我们会将模式设置为“should_encrypt”,以防止突然丢包。