你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

启用 SUPI 隐藏

订阅永久标识符 (SUPI)是设备的唯一永久标识符。 为了避免以纯文本形式传输此标识符,可以通过加密隐藏该标识符。 加密值称为订阅隐藏标识符 (SUCI)。 加密(SUPI 隐藏)由 UE 在注册时执行,每次生成新的 SUCI 以阻止跟踪用户。 解密(SUCI 取消隐藏)由数据包核心中的统一数据管理 (UDM) 网络功能执行。

SUPI 隐藏需要家庭网络公钥 (HNPK) 和相应的私钥。 公钥存储在 SIM 上。 私钥存储在 Azure Key Vault 中,并由数据包核心上配置的 URL 引用。 在本操作指南中,你将了解如何使用 SUCI 取消隐藏的私钥配置数据包核心。

SUPI 隐藏和 SUCI 取消隐藏在 3GPP TS 33.501 中定义:5G 系统的安全体系结构和过程。

重要

一些用户设备可能需要 SUPI 隐藏才能正常工作。 有关详细信息,请参阅设备供应商文档。

先决条件

  • 确保你可以使用一个对在完成部署专用移动网络的先决条件任务中标识的活动订阅具有访问权限的帐户登录 Azure 门户。 此帐户必须具有订阅范围内的内置参与者角色。

  • 标识与专用移动网络相对应的移动网络资源的名称。

  • 确定要使用的 SUPI 保护方案(配置文件 A 或配置文件 B)。

  • 请联系 SIM 供应商,讨论使用公钥对 SIM 进行编程。 需要同意 SUPI 保护方案要使用的标识(配置文件 A 或配置文件 B)以及要使用的密钥标识符。

生成家庭网络私钥

可以使用 Bash 中的 OpenSSL 工具为配置文件 A 或配置文件 B 生成公钥和私钥对。

配置文件 A

使用 SUPI 保护方案配置文件 A 时,密钥必须是 X25519 私钥。

  1. 使用 Azure Cloud Shell 登录到 Azure CLI,并从下拉菜单中选择“Bash”。

  2. 生成密钥对并将私钥保存到名为hnpk_profile_a.pem的文件:

    openssl genpkey -algorithm x25519 -outform pem -out hnpk_profile_a.pem 
    
  3. 获取相应的公钥并将其保存到名为hnpk_profile_a.pub的文件中:

    openssl pkey -in hnpk_profile_a.pem -pubout -out hnpk_profile_a.pub 
    

配置文件 B

使用 SUPI 保护方案配置文件 B 时,密钥必须是使用曲线 prime256v1 的椭圆曲线私钥。

  1. 使用 Azure Cloud Shell 登录到 Azure CLI,并从下拉菜单中选择“Bash”。

  2. 生成密钥对并将私钥保存到名为hnpk_profile_b.pem的文件:

    openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:prime256v1 -outform pem -out hnpk_profile_b.pem 
    
  3. 获取相应的公钥并将其保存到名为hnpk_profile_b.pub的文件:

    openssl pkey -in hnpk_profile_b.pem -pubout -out hnpk_profile_b.pub 
    

将家庭网络私钥添加到 Azure Key Vault

家庭网络私钥存储在 Azure Key Vault 中。

重要

必须使用 Azure 命令行上传密钥,因为门户不支持多行条目。

  1. 创建 Azure Key Vault,或选择现有密钥以托管私钥。 确保 Key Vault 使用基于角色的访问控制 (RBAC) 进行授权。 用户将需要 Key Vault 机密管理人员角色。

  2. 将私钥作为机密上传到 Key Vault,并指定用于标识它的名称:

    az keyvault secret set --vault-name "<Key Vault name>" --name "<secret name, e.g. hnpk-a-123>" --file <Key file name> 
    
  3. 记下机密标识符 URL。 这位于命令输出中,也可以导航到门户中的 Key Vault 并选择机密。 需要使用此 URL 配置数据包核心。

  4. 对任何其他私钥重复此操作。

创建用户分配的托管标识

  1. 创建用户分配的托管标识。 记下其 UAMI 资源 ID。

  2. 向 Key Vault 机密用户分配对托管标识的 Key Vault 的访问权限。

  3. 转到门户中的移动网络资源,然后从左侧的“设置”菜单中选择“标识”。 选择“添加”,将用户分配的托管标识添加到移动网络。

在数据包核心上配置家庭网络私钥

  1. 登录 Azure 门户

  2. 搜索并选择代表要为其预配 SIM 的专用移动网络的“移动网络”资源。

    Azure 门户的屏幕截图,其中显示对移动网络资源的搜索结果。

  3. 选择“修改移动网络”。

  4. 在“家庭网络公钥配置”下,为配置文件 A 或配置文件 B 选择“添加”。

    Azure 门户的屏幕截图。它显示了移动网络配置窗格。

  5. 添加密钥详细信息。

    • 选择 1 到 255 之间的 ID,并将其输入到ID字段中。 ID 必须与 SIMM 上预配的密钥标识符匹配(与 SIM 供应商达成一致)。
    • url字段中输入私钥机密的 URL,或选择“选择机密”以从下拉菜单中选择它。

    Azure 门户的屏幕截图。它显示了配置文件 A 键弹出窗口。

  6. 选择 添加

  7. 对任何其他私钥重复此操作。

  8. 返回到移动网络资源。 它现在应该显示家庭网络公钥:已成功

  9. 导航到数据包核心控制平面资源。 它现在应显示家庭网络私钥预配:已成功

禁用 SUPI 隐藏

如果需要禁用 SUPI 隐藏,请从移动网络资源中删除配置。

轮换密钥

公钥永久存储在 SIM 上,因此要对其进行更改,需要发出新的 SIM。 因此,建议使用新的 ID 新建密钥对,并发出新的 SIM。 一旦所有旧的 SIM 都无法使用,可以删除旧密钥的数据包核心配置。

后续步骤

可以使用分布式跟踪确认在网络中正在执行 SUPI 隐藏。