Skip to content

eSIM Setup Guide

taihei edited this page Mar 2, 2026 · 2 revisions

eSIM Setup Guide

概要

このプロジェクトでは Simlessly RSPを使用してeSIMを取得・設定しています。 このガイドでは、eSIMの発行からOpen5GS WebUIへの登録、端末での接続までの手順を説明します。

Simlessly とは

Simlessly は、開発者向けにeSIMとIMSI/Ki/OPc認証情報を提供するサービスです。

特徴:

  • IMSI、Ki、OPcなどの認証パラメータを設定可能なeSIMプロバイダー

NOTE: このプロジェクトではSimlesslyをプライベート5GC(Open5GS)に接続するためのeSIMとして使用しています。実際のSimlesslyネットワークには接続しません。

必要なもの

  • Simlesslyアカウント
  • eSIM対応端末(例: Google Pixel 8a)
  • Open5GS環境(このプロジェクトのdocker-compose環境)

設定手順

IMPORTANT: Simlessly画面の具体的な操作手順は公式マニュアルを参照してください: https://docs.simlessly.com/rsp/user-manual/simlessly/simlessly.html

1. SimlesslyでのeSIMの登録

  1. Simlessly公式サイト にアクセスしてアカウントを作成
  2. eSIMのQRコードを取得

画面項目名や導線が異なる場合は、上記の公式マニュアルを優先してください。

2. 認証情報の取得

Simlesslyのダッシュボードから以下の情報を取得します:

IMSI / Ki / OPc の確認方法は Simlessly の仕様変更の影響を受けるため、公式マニュアルを参照: https://docs.simlessly.com/rsp/user-manual/simlessly/simlessly.html

パラメータ 説明
IMSI International Mobile Subscriber Identity (例: 001010123456789)
Ki Authentication Key(128ビット16進数、例: 465B5CE8B199B49FAA5F0A2EE238A6BC
OPc Operator Variant Algorithm Configuration Field(128ビット16進数)

IMPORTANT: Ki と OPc は秘密情報です。安全に保管し、公開リポジトリにコミットしないでください。

3. Open5GS WebUIへの加入者登録

3.1 WebUIにアクセス

docker-composeでOpen5GS環境を起動後、ブラウザから以下にアクセス:

http://localhost:9999

デフォルトログイン情報:

  • Username: admin
  • Password: 1423

3.2 加入者の追加

  1. WebUI左側メニューから 「SUBSCRIBERS」 を選択
  2. 右上の 「+ (Add Subscriber)」 ボタンをクリック
  3. 以下の情報を入力:
フィールド 設定値
IMSI Simlesslyから取得したIMSI
Subscriber Key (K) Simlesslyから取得したKi(16進数、32文字)
Operator Key (OPc) Simlesslyから取得したOPc(16進数、32文字)
APN internet
  1. 「SAVE」 をクリックして保存

3.3 設定の確認

登録後、加入者リストに新しいIMSIが表示されることを確認します。

4. auth_keys.yamlの設定

s1n2-converterがNAS Security Contextを計算するため、config/auth_keys.yaml にも認証情報を記載します:

cp config/auth_keys.example.yaml config/auth_keys.yaml

config/auth_keys.yaml を編集:

subscribers:
  - imsi: "001010123456789"  # SimlesslyのIMSI
    ki: "465B5CE8B199B49FAA5F0A2EE238A6BC"  # SimlesslyのKi
    opc: "E8ED289DEBA952E4283B54E88E6183CA"  # SimlesslyのOPc

5. 端末へのeSIMインストール

5.1 QRコードのスキャン

  1. 端末の 「設定」「ネットワークとインターネット」「SIM」 を開く
  2. 「SIMをダウンロード」 または 「eSIMを追加」 を選択
  3. SimlesslyダッシュボードからQRコードを表示し、カメラでスキャン
  4. eSIMのダウンロードとアクティベートが完了するまで待機

QR発行や再発行の手順は公式マニュアルを参照: https://docs.simlessly.com/rsp/user-manual/simlessly/simlessly.html

5.2 APN設定

インストールしたeSIMに対してAPN設定を行います:

  1. 「設定」「ネットワークとインターネット」「インターネット」 → インストールしたeSIMを選択
  2. 「アクセスポイント名」 を選択
  3. 右上の 「+」 で新しいAPNを追加:
フィールド 設定値
名前 internet
APN internet
APNタイプ default,supl
  1. 保存して選択

5.3 ネットワーク選択

  1. 「設定」「ネットワークとインターネット」「モバイルネットワーク」
  2. 「ネットワークを自動的に選択」オフ に設定
  3. 利用可能なネットワーク一覧から .env で設定したMCC/MNCに対応するネットワークを選択

NOTE: プライベートeNBの電波が届く範囲内でなければ、ネットワークが表示されません。

6. 接続確認

s1n2-converterとOpen5GS環境を起動後、端末が4G接続を確立できることを確認:

# s1n2ログ確認
docker compose logs s1n2 -f

# AMFログ確認
docker compose logs amf -f

正常に接続されると以下のようなログが出力されます:

[nas] Registration Request received
[ngap] Initial Context Setup Request sent
[nas] Registration Accept sent

端末のステータスバーに4Gアイコンが表示され、インターネット接続が可能になります。

トラブルシューティング

端末がネットワークを検出できない

  1. eNB電波の確認

    • eNBの電源が入っているか
    • eNBとs1n2が正常に接続されているか(eNB Setup Guide 参照)
  2. MCC/MNC/TACの一致確認

    • .env ファイルの設定
    • eNBの設定
    • Open5GS WebUIのSLICE設定(デフォルトで一致しているはず)

Registration Reject が発生

  1. 認証情報の確認

    • Open5GS WebUIのKi/OPcとSimlesslyの値が一致しているか
    • config/auth_keys.yaml にも同じ値が記載されているか
  2. APN設定の確認

    • 端末のAPN設定が internet になっているか
  3. ログの確認

    docker compose logs s1n2 amf smf upf

    エラーメッセージから原因を特定します。

PDU Session Establishment Failed

  1. SMF/UPF接続の確認

    docker compose logs smf upf
  2. ネットワーク設定の確認 ./start.sh が正常に実行され、ogstun インターフェースが作成されているか確認:

    ip addr show ogstun
  3. NAT設定の確認 ホストマシンのiptables設定で、UEトラフィックがNATされているか確認:

    sudo iptables -t nat -L POSTROUTING -v

セキュリティに関する注意事項

  • Ki と OPc は公開しない これらはSIMカードのマスター鍵です。漏洩すると第三者があなたのIMSIで認証できます。

  • テスト環境限定での使用 このプロジェクトはテスト・開発環境を想定しています。本番環境で使用する場合は、HSS/UDMのセキュリティ強化が必要です。

  • auth_keys.yamlの管理 .gitignore に含まれているため、Gitで追跡されませんが、バックアップ時などに誤ってコピーしないよう注意してください。

関連ドキュメント

Clone this wiki locally