Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SIMってなんだ? ~セルラー通信がつながる仕組み、解説します~

SIMってなんだ? ~セルラー通信がつながる仕組み、解説します~

2023年4月6日開催「SORACOM UG Online #16 ~SIMの日イベント~」で、ソラコム今井(factory)が発表した資料です。

SORACOM

April 06, 2023
Tweet

More Decks by SORACOM

Other Decks in Technology

Transcript

  1. 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)
  2. 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)
  3. 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、ストレージが あるのに注目
  4. 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
  5. 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 ディレクトリ ファイル
  6. APDUで提供されるコマンド(API)の例 1. SELECT a. スマートカードからアプリケーションを選択するために使用されるコマンド。 2. READ BINARY a. スマートカードからデータを読み取るために使用されるコマンド。

    3. UPDATE BINARY a. スマートカードにデータを書き込むために使用されるコマンド。 4. VERIFY a. スマートカードの認証のために使用されるコマンド。 5. INTERNAL AUTHENTICATE a. スマートカード内部で生成された認証データを使用して、通信相手とスマートカード間の相互認証 を行うために使用されるコマンド。キャリア認証で利用されるのはこれ。 6. EXTERNAL AUTHENTICATE a. スマートカード外部から提供された認証データを使用して、スマートカードへのアクセスを許可す るために使用されるコマンド。
  7. 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
  8. 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)