0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ローカル5G】 free5GCとリアルgNBでiPhone接続を試す。④

Last updated at Posted at 2024-09-12

※本記事は2024年9月9日時点の内容です。
この記事は私がfree5GCとリアルgNB(ローカル5G用小型基地局= Small Cell)を使ってiPhone接続を試す機会があり、その過程をまとめたものです。
free5GCのインストールについては基本的には全てfree5GCプロジェクトのWEBサイトを参考に進めました。

インストールしたバージョンは以下の通りです。
OS :  Ubuntu 20.04.6 LTS
Linux Kernerl : 5.4.0-193-generic
free5GC : v3.4.2


過去記事はこちら
① Ubuntuインストール編
② free5GCインストール編
③ free5GC設定変更編


iPhoneをローカル5Gで使うために… (SUCI SIM)

1. SUCI SIMについて

iPhone, iPad は IOS17からプライベートネットワークに対応しました。

ローカル5Gは5G SAですが、Appleの5G SA セキュリティとプライバシーの要件には以下の記載があります。

プライバシーの秘匿: SUCI(Subscription Concealed Identifier)では非Null保護スキームを使用する必要があります。これは、TCA 2.3.1および3.1仕様で説明されているように、SIM上のSUCI計算またはME SUCI計算のいずれかによって実現できます。詳しくは、3GPP技術仕様33.501を参照してください。

ユーザデータの機密性: ユーザデータを不正なアクセスから保護するため、Null暗号化には対応していません。

[Apple webサイトより]

SUCI暗号化の保護スキームには現状以下3種があるのそうですが、

  • Null Scheme (ID = 0x0)
  • Profile A (ID = 0x1)
  • Profile B (ID = 0x2)
    ※他、0x3 ~ 0xFは予約されている。

プライバシー要件として、上記保護スキームのうち「Null Scheme」には対応しておらず「Profile A」か「Profile B」の保護スキームを使う必要があるようです。
※SUCI保護スキームの詳細については3GPP TS33.501を参照ください。

という事で、iPhoneをローカル5Gネットワークで使用しようとする場合にはSUCI保護スキーム「Profile A」か「Profile B」に設定されたSIMを準備します。

2. SUCI保護スキーム用プライベートキーとパブリックキーの生成

SUCI SIM作成にあたり、SIMと5G Coreに設定する暗号鍵を生成する必要があります。これはOpenSSLで生成しました。
今回はProfile Aで進めました。3GPPによると、Profile Aの暗号化アルゴリズムはCurve25519です。

以下のコマンドでプライベートキーを生成。

openssl genpkey -algorithm X25519 -out <Path & filename>.key

<Path & filename>部分はkeyファイルをexportする場所とファイル名を指定します。

(例)openssl genpkey -algorithm X25519 -out /root/ProfileA_private.key


次に生成したプライベートキーファイルからプライベートキーとパブリックキーを確認します。

openssl pkey -text -in <上で生成したプライベートキーのフルパス>

プライベートキーとパブリックキーが16進数64桁でそれぞれ表示されますのでメモします。
SUCI SIM作成にはこのパブリックキーが必要で、一方free5GCにはプライベートキーとパブリックキー両方を設定します。
※SIM調達方法については別途記事にするつもりです。

3. free5GCへキー設定

メモしたプライベートキーとパブリックキーをfree5GCに設定します。
SSH接続後、udmcfg.yamlを編集します。

cd /root/free5gc/config
vi udmcfg.yaml

SUCI profileのProfile Aの部分にプライベートキーとパブリックキーを入れて保存します。
入力の際にはデフォルトでキーが記載されていますのでそれにならって同じように16進数64桁をコロンなしで入力します。
SUCI profile.png


以上で設定完了です。

次記事ではgNB接続の過程についてまとめる予定です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?