SUPI コンシールメントを有効にする
サブスクリプション永続識別子 (SUPI) は、デバイスの一意の永続識別子です。 この識別子がプレーンテキストで送信されないようにするために、それを暗号化で隠すことができます。 この暗号化された値は、サブスクリプション隠ぺい識別子 (SUCI) と呼ばれます。 暗号化 (SUPI コンシールメント) は、登録時に UE によって実行され、ユーザーが追跡されないようにするために、毎回新しい SUCI が生成されます。 暗号化解除 (SUCI デコンシールメント) は、パケット コア内の統合データ管理 (UDM) ネットワーク機能によって実行されます。
SUPI コンシールメントには、ホーム ネットワーク公開キー (HNPK) とそれに対応する秘密キーが必要です。 この公開キーは SIM に格納されます。 秘密キーは Azure Key Vault に格納され、パケット コア上に構成された URL によって参照されます。 このハウツー ガイドでは、SUCI デコンシールメントのための秘密キーを使用してパケット コアを構成する方法について説明します。
SUPI コンシールメントと SUCI デコンシールメントは、5G システムのセキュリティ アーキテクチャと手順である 3GPP TS 33.501 で定義されています。
重要
SUPI コンシールメントは、一部のユーザー機器が機能するために必要になる場合があります。 詳細については、機器ベンダーのドキュメントを参照してください。
前提条件
「プライベート モバイル ネットワークをデプロイするために必要なタスクを完了する」で識別したアクティブ サブスクリプションへのアクセス権があるアカウントを使用して Azure portal にサインインできることを確認してください。 このアカウントには、サブスクリプション スコープでの組み込み共同作成者ロールが必要です。
プライベート モバイル ネットワークに対応するモバイル ネットワーク リソースの名前を識別してください。
どちらの SUPI 保護スキーム (プロファイル A またはプロファイル B) を使用するかを識別します。
SIM ベンダーに連絡して、公開キーを使用した SIM のプログラミングについて話し合ってください。 どちらの SUPI 保護スキーム (プロファイル A またはプロファイル B) を使用するか、およびどのキー識別子を使用するかについて同意する必要があります。
ホーム ネットワーク秘密キーを生成する
Bash の OpenSSL ツールを使用して、プロファイル A またはプロファイル B のどちらかの公開キーと秘密キーのペアを生成できます。
プロファイル A
SUPI 保護スキームのプロファイル A を使用している場合、キーは X25519 秘密キーである必要があります。
Azure Cloud Shell を使用して Azure CLI にサインインし、ドロップダウン メニューから [Bash] を選択します。
キー ペアを生成し、秘密キーを
hnpk_profile_a.pem
という名前のファイルに保存します。openssl genpkey -algorithm x25519 -outform pem -out hnpk_profile_a.pem
対応する公開キーを取得し、それを
hnpk_profile_a.pub
という名前のファイルに保存します。openssl pkey -in hnpk_profile_a.pem -pubout -out hnpk_profile_a.pub
プロファイル B
SUPI 保護スキームのプロファイル B を使用している場合、キーは、曲線 prime256v1 を使用した楕円曲線の秘密キーである必要があります。
Azure Cloud Shell を使用して Azure CLI にサインインし、ドロップダウン メニューから [Bash] を選択します。
キー ペアを生成し、秘密キーを
hnpk_profile_b.pem
という名前のファイルに保存します。openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:prime256v1 -outform pem -out hnpk_profile_b.pem
対応する公開キーを取得し、それを
hnpk_profile_b.pub
という名前のファイルに保存します。openssl pkey -in hnpk_profile_b.pem -pubout -out hnpk_profile_b.pub
ホーム ネットワーク秘密キーを Azure Key Vault に追加する
ホーム ネットワーク秘密キーは Azure Key Vault に格納されます。
重要
ポータルでは複数行のエントリがサポートされていないため、キーをアップロードするには Azure コマンド ラインを使用する必要があります。
Azure Key Vault を作成するか、または秘密キーをホストする既存の Key Vault を選択します。 Key Vault で認可にロールベースのアクセス制御 (RBAC) が使用されることを確認してください。 ユーザーには Key Vault Secrets Officer ロールが必要です。
識別するための名前を指定して、秘密キーをシークレットとして Key Vault にアップロードします。
az keyvault secret set --vault-name "<Key Vault name>" --name "<secret name, e.g. hnpk-a-123>" --file <Key file name>
シークレット識別子の URL を書き留めておきます。 これはコマンド出力に含まれています。または、ポータルで Key Vault に移動してシークレットを選択することもできます。 この URL を使用してパケット コアを構成する必要があります。
追加の秘密キーがある場合は、繰り返します。
ユーザー割り当てマネージド ID を作成する
「ユーザー割り当てマネージド ID を作成する」の手順を使用して、ユーザー割り当てマネージド ID を作成します。 その UAMI リソース ID を書き留めておきます。
マネージド ID に Key Vault への Key Vault シークレット ユーザーのアクセス権を割り当てます。
ポータルで [モバイル ネットワーク] リソースに移動し、左側の [設定] メニューから [ID] を選択します。 [追加] を選択して、ユーザー割り当てマネージド ID をモバイル ネットワークに追加します。
パケット コア上にホーム ネットワーク秘密キーを構成する
Azure portal にサインインします。
プロビジョニングする SIM の対象となるプライベート モバイル ネットワークを表すモバイル ネットワーク リソースを検索して選択します。
[モバイル ネットワークの変更] を選択します。
[ホーム ネットワーク公開キーの構成] で、プロファイル A またはプロファイル B のどちらかの [追加] を選択します。
キーの詳細を追加します。
- 1 から 255 までの ID を選択し、それを [ID] フィールドに入力します。 この ID は、SIM ベンダーと同意した、SIM にプロビジョニングされているキー識別子と一致している必要があります。
- 秘密キー シークレットの URL を [URL] フィールドに入力するか、または [シークレットの選択] を選択してドロップダウン メニューから URL を選択します。
[追加] を選択します。
追加の秘密キーがある場合は、繰り返します。
[モバイル ネットワーク] リソースに戻ります。 これで、[ホーム ネットワーク公開キー: 成功] が表示されます。
[パケット コア コントロール プレーン] リソースに移動します。 これで、[ホーム ネットワーク秘密キーのプロビジョニング: 成功] が表示されます。
SUPI コンシールメントの無効化
SUPI コンシールメントを無効にする必要がある場合は、その構成を [モバイル ネットワーク] リソースから削除します。
キーのローテーション
公開キーは永続的に SIM に格納されるため、それを変更するには、新しい SIM を発行する必要があります。 そのため、新しい ID を持つ新しいキー ペアを作成し、新しい SIM を発行することをお勧めします。 古い SIM がすべてサービスを停止したら、古いキーのパケット コア構成を削除できます。
次のステップ
ネットワーク内で SUPI コンシールメントが実行されていることを確認するには、分散トレースを使用できます。