ソフトウェア

eSIMはどんな仕組みで成立しているのかについてモバイル通信を熟知したエンジニアが解説


スマートフォンで通信する際に必要となる回線の契約者情報を保存するためのカードがSIMカードです。従来より物理的なカードがSIMカードとして用いられてきましたが、2016年に仮想SIMカードとして「eSIM」が登場し、オンラインで契約するだけですぐに回線を利用できるようになりました。そんなeSIMの仕組みについて、ハッカーの国際会議である「Chaos Communication Camp」にてハラルト・ヴェルテさんが解説講演を行いました。

media.ccc.de - Demystifying eSIM Technology
https://media.ccc.de/v/camp2023-57190-demystifying_esim_technology


ハラルト・ヴェルテさんはOsmocomというさまざまなモバイル通信規格を実装するオープンソースソフトウェアプロジェクトを立ち上げるなど、モバイル通信に深く関わってきた人物です。


最初のSIMカードは1991年、2G通信規格の一つであるGSMと共に登場しました。当時のSIMはGSMという単一の規格専用で設計されており、当初からスマートカードでした。スマートカードとは、単なるメモリではなく、プロセッサーやOSを備えているICカードのことです。


2000年ごろ、3G通信規格のUMTSとともにその規格用の新たなアプリ「USIM」が登場しました。同時に、単一のSIMカード上に従来のSIMアプリとUSIMを同時に搭載できるよう、「UICC」という複数アプリの搭載に対応した新たなカードも登場。4G通信規格のVoLTEへの移行時にはUICCの上に「ISIM」という追加のアプリが搭載されました。


USIMには契約内容や認証鍵などのデータで構成されるSIMプロファイルを1つしか搭載できませんでしたが、仮想版のUSIMであるeSIMでは、物理チップからSIMプロファイルが分離されており、複数のSIMプロファイルを保持できるようになっています。eSIMが搭載可能なチップのことをeUICCと呼ぶとのこと。


eUICCの中身はこんな感じ。最下部に「eUICC Operating System」というOSが存在しており、その上に「MNO Enabled profile」という有効なプロファイルと、「MNO Disabled profile」という無効化されたプロファイルが搭載されています。このeUICCには2つのプロファイルが保存されており、そのうちの一つが有効化されているという状況です。eUICCでは多数のプロファイルを保存しておくことが可能ですが、同時に有効化することはできず、どれかを有効化するとそれ以外のプロファイルは無効状態になるとのこと。


eUICCは「カード」という実物に頼らずに契約内容や認証鍵を更新・保存する必要があるため、従来のSIMやUICCカードに比べるとはるかに高いセキュリティが必要になります。


eSIMには「M2M eSIM」「Consumer eSIM」「IoT eSIM」という3つの種類が存在しています。ヴェルテさんによると、これらの3種類が「eSIM」という名前を共有しているのは単にマーケティング上の都合で、中身はかなり異なっているとのこと。


M2Mはマシンtoマシンの意味で、マシンの所有者がリモートで新しいプロファイルを設定できるようなサーバー主導の仕組みになっています。図には「eUICC」のほかに、「EUM(eUICC製造者)」「CI(認証インフラ)」「SM-SR(セキュアルーター)」「SM-DP(データ準備)」「MNO(移動体通信事業者)」が登場しています。


SM-DPはSIMプロファイルを構成するのに必要なデータを集め、認証を行って保護するのが仕事です。


SM-SRはeUICCのプロファイルの状態を管理するアプリケーションで、それぞれのeUICCに1つずつSM-SRが存在しています。


M2Mのプロファイルの作成は下図のように進みます。まず左上のMNOがSM-DPに対してプロファイルの構成に必要なデータを送信し、「Profile Creation」で個々の情報を含まないプロファイルを作成します。その後個々の情報と合わせてそれぞれのeUICC用のプロファイルを作成し、SM-SRがそのプロファイルのダウンロードおよびインストールを行うというわけ。


Consumer eSIMは一般ユーザー向けのeSIMで、スマートフォンなどに組み込まれているのはこのConsumer eSIMです。M2M eSIMはサーバー主導の「プッシュ型モデル」でしたが、Consumerモデルは端末主導の「プル型モデル」となっています。そのため、Consumerモデルには端末のプロファイルを操作するSM-SRが存在せず、代わりに端末上でプロファイルを管理するLPAと、プロファイルを検索するSM-DSが追加されています。


LPAは「Local Profile Assistant」の略称で、プロファイルの管理に必要なUIを提供するアプリです。eUICC上に組み込まれているLPAを「LPAe」と呼び、端末上に搭載されているLPAのことを「LPAd」と呼びます。


Consumerモデルでの「SM-DP+」は、M2MモデルのSM-DPの機能に加えてSM-SRの機能の一部を担当しており、そのため名前の末尾に「+」が付いています。


SM-DP+の機能は下記の通り。プロファイルを生成するだけでなく、保存や配信、リモートプロファイルの管理についても行います。


ConsumerモデルではLPAの他にSM-DSが追加されています。SM-DSは、eUICCがどのネットワークに接続しているかに関係なくSM-DP+からの通知を届けるというスマートフォンの通知センターのような働きをします。


eUICCのセキュリティドメインは全体の認証基盤としての「ECASD」、SM-SR担当の「ISD-R」、SM-DP担当の「ISD-P」の3つに分けられます。


1つのeUICCにECASDとISD-Rは1つずつしか存在しませんが、ISD-Pは保存されているプロファイル数に応じて複数存在していることが分かります。


認証チェーンの図はこんな感じ。具体的に読み解くのは難しいですが、携帯通信事業者の業界団体であるGSMAがルート認証局としてそれぞれの要素についての証明書を発行しています。


Consumer eSIMを利用する際、まず最初に「Download initiation(ダウンロード初期化)」と呼ばれる手続きが必要になります。この手続きでは、eSIMを販売する業者であるオペレーターがSM-DP+に依頼してSIMカード固有の番号であるICCIDを発行したり、ダウンロードに必要なSM-DP+のアドレスやマッチングIDなどの情報を収集してユーザーと共有したりします。


そしてダウンロードとインストールを行います。この部分ではLPAdとeUICCのやりとりの比率が高まっています。


プロファイルをインストール後、使用前に有効化する必要があります。


eSIMの「IoTモデル」はアーキテクチャーおよび要件の仕様が2022年の4月に、技術仕様が2023年の5月に決まったばかり。主にM2Mモデルの問題点を克服するような仕様となっており、リモートで操作できるConsumerモデルのeSIMと捉えて良い模様です。


IoTモデルのアーキテクチャは下図の通り。SM-DP+やSM-DSが存在しており、確かにConsumerモデルのような構造になっています。


Consumerモデルの構造に「eSIM IoT remote Manager(eIM)」が追加されており、このインターフェースを通してリモートからeSIMプロファイルのダウンロードをトリガー可能とのこと。


ヴェルテさんはFOSS(フリー・オープンソースなソフトウェア)の理念を重視する人物で、解説の中でeSIMのオープンソースな実装を行える点についても指摘していました。

この記事のタイトルとURLをコピーする

・関連記事
CloudflareがゼロトラストのeSIM「Zero Trust SIM」を発表 - GIGAZINE

電話番号が奪われてしまうSIMハイジャックの脅威とは? - GIGAZINE

スマホのSIMカードのチップを分解すると実は中身が「コンピューター」だとよくわかる - GIGAZINE

南極でのSMS多要素認証に関する問題とは? - GIGAZINE

家に自力で光ファイバーを配線した人物がやったこととは? - GIGAZINE

in モバイル,   ソフトウェア,   動画, Posted by log1d_ts

You can read the machine translated English article An engineer with extensive experience in….