Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SIMってなんだ? ~セルラー通信がつながる仕組み、解説します~
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
SORACOM(ソラコム)
PRO
April 06, 2023
Technology
11k
9
Share
SIMってなんだ? ~セルラー通信がつながる仕組み、解説します~
2023年4月6日開催「
SORACOM UG Online #16 ~SIMの日イベント~
」で、ソラコム今井(factory)が発表した資料です。
SORACOM(ソラコム)
PRO
April 06, 2023
More Decks by SORACOM(ソラコム)
See All by SORACOM(ソラコム)
益田のみんなにも知ってもらいたい!IoT と SORACOM【SORACOM UG 広島 #11 × IWAMI TECH COMMONS】
soracom
PRO
0
45
Business Overview for Investors [May 2026 Edition]
soracom
PRO
0
36
投資家様向けビジネス概要<2026年5月版>
soracom
PRO
0
79
IoT活用の今を知る!現場の最新事例20選を紹介
soracom
PRO
0
350
15分でわかる「フィジカルAI」今知っておきたい基礎と今後の活用のカギとは
soracom
PRO
0
400
モノ売りとコト売りを両立!成功事例に学ぶ、顧客接点を生むビジネス変革とIoTの関係
soracom
PRO
0
260
事例で知る位置情報活用の今とAI×IoTがひらく社会の変化 | 人流データ活用普及イベント~人流データから始まる、まちづくりの新しい一歩~
soracom
PRO
0
30
投資家様向けビジネス概要<2026年2月版>
soracom
PRO
0
470
Business Overview for Investors [February 2026 Edition]
soracom
PRO
0
130
Other Decks in Technology
See All in Technology
TypeScriptとAngular Signal で実現する保守性の高いアプリケーション設計 - 3層アーキテクチャによる責務分離の実践(たつかわ) https://2026.tskaigi.org/talks/10
nealle
0
120
[4] Power BI Deep Dive [2026-05]
ohata_bi
0
110
20260516_SecJAWS_Days
takuyay0ne
2
540
10サービス以上のメール到達率改善を地道に継続的に進めている話 / Continue to improve email delivery rates across multiple services
yamaguchitk333
6
2.3k
AIコーディングエージェントの活用で、コードは静かに肥大化した
yosukeshinoda
0
120
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
2
240
JaSSTに関わることで変わった人生観 #jasstnano
makky_tyuyan
0
160
エムスリーテクノロジーズ株式会社 エンジニア向け紹介資料 / M3 Technologies Company Deck
m3_engineering
0
200
自作エディターをOSSにして分かった、一人に刺さる開発が世界を動かす理由
shinyasaita
0
130
GCASアップデート(202603-202605)
techniczna
0
240
Loadbalancing exporter internals
ymotongpoo
1
120
Purview 勉強会報告 Microsoft Purview 入門しようとしてみた
masakichixo
1
470
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.1k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
700
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Designing for Performance
lara
611
70k
New Earth Scene 8
popppiees
3
2.2k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
280
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
530
The Invisible Side of Design
smashingmag
302
52k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
エンジニアに許された特別な時間の終わり
watany
106
240k
Transcript
SIMってなんだ? factory 2023/4/6 ~セルラー通信がつながる仕組み、解説します~ SORACOM UG Online #16
株式会社ソラコムでソリューションアーキテクトをやっていま す。 むかし、イマイファクトリーという名前でグラフィックデザインとかやって いました。 今井 雄太(factory)
今日はシムの日なので SIMの勉強をしましょう。
SIMとは 認証 ローミング ユーザデータ USIM=Universal Subscriber Identity Module USIMとは、欧州の2G(GSM)の移動機に採用されていたSIM カードを拡張したもの。
CPUを内蔵したICチップ(UICC)で、3G/LTE移動機において不 可欠なデバイスの1つ。
SIMとは セキュリティが提供されており、このなかにはキャリアとの接続 時の認証に利用される鍵が入っている。 かなりざっくり言えば、SIMとはキャリアとの接続認証をうけるた めの鍵、と言える。 他にもキャリアの優先度や許可/拒否リスト、電話帳など様々な 情報が記録されています。
SORACOMのSIMたち SORACOMではさまざまな「サブスクリプション(回線プラン)」を 提供しています。 この回線契約を識別するために利用されるのがSIMです。
はい、わかりましたね?
SORACOMプラットフォームのおさらい
インターネット 端末 基地局 データセンター ISP パケット交換 帯域制御 顧客管理 課金・・・ 通信キャリア
専用線接 続 MVNO事業
インターネット 基地局 データセンター ISP パケット交換 帯域制御 顧客管理 課金・・・ 携帯通信事業者の基地局と AWSクラウドで
バーチャルキャリアを実現 端末
ソラコムを使うとデバイスとクラウドをセキュリティに接続できる! 普段はセルラー接続部分のセキュリティは所与のものとし て、クラウドとの接続やアプリケーションレベルのセキュリ ティの話をすることがおおいですが・・・・
インターネット 端末 基地局 データセンター ISP パケット交換 帯域制御 顧客管理 課金・・・ 通信キャリア
専用線接 続 今日はこちらの仕組 みとセキュリティの話 です。
SIMが挿さったデバイスが モバイルキャリアに接続されるまで
3G/LTE のSIM認証 VPC 加入者情報DB 2.認証情報レスポンス Auth Token(AUTN), Random(RAND) 4.ネットワークの 認証&鍵生成
5.認証レスポンス RES 6.SIMの認証 Secret Key Sequence Number N Secret Key Sequence Number N 7.鍵の派生 7.鍵の派生 端末-基地局間では 鍵を交換しない SIM SIM 端末 接続要求 1.認証情報リクエスト 基地局・制御局 3. 認証リクエスト ATUN, RAND, XRES, Security Key (CK + IK) CK + IK RES, (RES==XRES) RES, Security Key (CK + IK)
SIMとキャリアは共通鍵を使って チャレンジ&レスポンス認証をしている
SIMとキャリアは共通鍵を使って チャレンジ&レスポンス認証をしている ネットワーク越しに鍵交換はしていない つまり鍵を盗まれないように 防御すべき場所はSIM(とHSS)
あらためてSIMについて見てみよう
FLASH / EEPROM ROM RAM CPU • CPU : 32bit
• メモリー: FLASH • 標準規格: ISO / 3GPP / ETSI / GP • 電気特性: 1.8 / 3 / 5 v • クロック: 1~5MHz • 形状 : 2FF(plug-in)/3FF(micro) • 4FF(nano)/embedded • 機能 • Java Card (ver. 3.0.1) or later • OTA(RFM/RAM) • SAT/USAT • Secure Element • PKI • Crypt ベースのSecure ICは Infineon/Samsung/ST Microsystemsな どの半導体ベンダが供給 UICC (Universal Integrated Circuit Card)
FLASH / EEPROM ROM RAM CPU • CPU : 32bit
• メモリー: FLASH • 標準規格: ISO / 3GPP / ETSI / GP • 電気特性: 1.8 / 3 / 5 v • クロック: 1~5MHz • 形状 : 2FF(plug-in)/3FF(micro) • 4FF(nano)/embedded • 機能 • Java Card (ver. 3.0.1) or later • OTA(RFM/RAM) • SAT/USAT • Secure Element • PKI • Crypt ベースのSecure ICは Infineon/Samsung/ST Microsystemsな どの半導体ベンダが供給 UICC (Universal Integrated Circuit Card) CPUやRAM、ストレージが あるのに注目
そうなんです。 SIMは独立したコンピュータであり、 単なるストレージデバイスではありません。 なので鍵を外部から直接は読めないようになっ ている
UICCの論理構造 Core O.S UICC Card Manager and Security domains Remote
Applet Management Core Applications (USIM) File System servers Toolkit and Java Card runtime environment UICC API and USIM API Java Card Toolkit Applet Java Card packages Java Card Applet
スマートカードリーダー モデム
実際にはこんな感じ カードリーダ モデム アンテナ APDUの世界 ※詳細はのちほど
APDU 例:IMSIの読み取り 00 B0 00 00 3F 00 7F 20
6F 07 (Application Protocol Data Unit) • 端末とJava Cardアプレットがやり取りするためのバイト列 CLA INS P1 P2 P3 SW1 SW2 Command APDU Response APDU Data Read Binary ディレクトリ ファイル
あれ? APDUコマンドで任意の領域のファイルを読み 取れる? それはちょっとまずいんじゃ・・?
秘密はAPDUコマンドに まず大前提として、SIMカードはストレージへの直接アクセスを提供してい ない。アプリケーションはAPDUコマンドというAPIを介してアクセスする必要 がある。 • APDUコマンドには認証機構があり、コマンド実行時にPUKやユーザー 認証、生体認証を求めることができる。 • WRITE ONCEの領域の設定もできる。
詳細はISO7816-4、 ISO7816-11あたりを読んでみよう。 もちろんですがAPDUの認証情報が漏洩すると大変なことになりま す!!!!
APDUで提供されるコマンド(API)の例 1. SELECT a. スマートカードからアプリケーションを選択するために使用されるコマンド。 2. READ BINARY a. スマートカードからデータを読み取るために使用されるコマンド。
3. UPDATE BINARY a. スマートカードにデータを書き込むために使用されるコマンド。 4. VERIFY a. スマートカードの認証のために使用されるコマンド。 5. INTERNAL AUTHENTICATE a. スマートカード内部で生成された認証データを使用して、通信相手とスマートカード間の相互認証 を行うために使用されるコマンド。キャリア認証で利用されるのはこれ。 6. EXTERNAL AUTHENTICATE a. スマートカード外部から提供された認証データを使用して、スマートカードへのアクセスを許可す るために使用されるコマンド。
でも、ストレージに物理的にアクセスされたら?
SIMカードの物理的セキュリティ(耐タンパー性) 多くのSIMカードは、物理的な攻撃を検知した際にSIMカード内のデータ を自己消去するようにプログラムされている。例えば・・・ 1. 温度センサーによる手法 a. カードの温度が急上昇した際にデータ消去 2. 振動センサーによる手法 a.
カードが振動や衝撃を受けた場合に反応してデータ消去 3. 光センサーによる手法 a. カードの筐体が開けられば場合に反応してデータ消去
SIMカードの物理的セキュリティ(耐タンパー性) 物理的な攻撃に対する対策はISO7816に定めはなく、スマートカード メーカーが独自に定めている。 メーカーやカードごとの具体的な防御策については、詳細な情報は非公 開となっている場合が多く、一般的な情報を得ることは困難。
まとめ
SIMの(おもな)役割 カードリーダ モデム アンテナ キャリア SIMはキャリアとの間に共通鍵を持っていてそれを使ってモ デムがキャリアと接続する際の認証をサポートしている。 SIM自身のセキュリティは「とてもつよい」。 共通鍵 共通鍵
つぎのおはなし このトークでは「キャリア接続の鍵としてのSIM」というお話でした。次 は、SIMによるキャリア選択やその高速化の工夫などについてのお話で す。
おまけ
None
宣伝: SORACOM Discoveryでこういう「なかの話」もするので 興味ある人はぜひ見に来てね!
Documentation and specifications • ISO 7816-4 http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=54550 • Java Card
3.0.x Specification https://docs.oracle.com/javacard/3.0.5/ • UICC API for Java card (ETSI TS 102 241) http://www.etsi.org/deliver/etsi_ts/102200_102299/102241/07.00.00_60/ • USIM API for Java card (3GPP TS 31.130) http://www.3gpp.org/ftp/specs/archive/31_series/31.130/31130-700.zip • SIM Alliance Stepping Stones R7 http://simalliance.org/wp-content/uploads/2015/06/SteppingStones_R7_v100.pdf
eUICC & Subscription Management ©2016 SORACOM, INC 38 Standardization •
GSMA • Remote Provisioning Architecture for Embedded UICC . Technical Specification (GSMA SGP.02, M2M) • Remote SIM Provisioning Technical Specification (GSMA SGP.22, Consumer Devices) • SIMalliance • eUICC Profile Package - Interoperable Format Technical Specification • ETSI • Smart Cards; Embedded UICC; Physical, Logical, and Electrical Characteristics (ETSI TS 103 384, eUICC standard) • GlobalPlatform, GSMA • Secure Channels SCP81, SCP03, SCP03t and key establishment ECKA (GlobalPlatform, GSMA)