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

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

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

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

SORACOM
PRO

April 06, 2023
Tweet

More Decks by SORACOM

Other Decks in Technology

Transcript

  1. SIMってなんだ?
    factory
    2023/4/6
    ~セルラー通信がつながる仕組み、解説します~
    SORACOM UG Online #16

    View Slide

  2. 株式会社ソラコムでソリューションアーキテクトをやっていま
    す。
    むかし、イマイファクトリーという名前でグラフィックデザインとかやって
    いました。
    今井 雄太(factory)

    View Slide

  3. 今日はシムの日なので
    SIMの勉強をしましょう。

    View Slide

  4. SIMとは
    認証
    ローミング ユーザデータ
    USIM=Universal Subscriber Identity Module
    USIMとは、欧州の2G(GSM)の移動機に採用されていたSIM
    カードを拡張したもの。
    CPUを内蔵したICチップ(UICC)で、3G/LTE移動機において不
    可欠なデバイスの1つ。

    View Slide

  5. SIMとは
    セキュリティが提供されており、このなかにはキャリアとの接続
    時の認証に利用される鍵が入っている。
    かなりざっくり言えば、SIMとはキャリアとの接続認証をうけるた
    めの鍵、と言える。
    他にもキャリアの優先度や許可/拒否リスト、電話帳など様々な
    情報が記録されています。

    View Slide

  6. SORACOMのSIMたち
    SORACOMではさまざまな「サブスクリプション(回線プラン)」を
    提供しています。
    この回線契約を識別するために利用されるのがSIMです。

    View Slide

  7. はい、わかりましたね?

    View Slide

  8. SORACOMプラットフォームのおさらい

    View Slide

  9. インターネット
    端末 基地局 データセンター
    ISP
    パケット交換
    帯域制御
    顧客管理
    課金・・・
    通信キャリア
    専用線接

    MVNO事業

    View Slide

  10. インターネット
    基地局 データセンター
    ISP
    パケット交換
    帯域制御
    顧客管理
    課金・・・
    携帯通信事業者の基地局と
    AWSクラウドで
    バーチャルキャリアを実現
    端末

    View Slide

  11. ソラコムを使うとデバイスとクラウドをセキュリティに接続できる!
    普段はセルラー接続部分のセキュリティは所与のものとし
    て、クラウドとの接続やアプリケーションレベルのセキュリ
    ティの話をすることがおおいですが・・・・

    View Slide

  12. インターネット
    端末 基地局 データセンター
    ISP
    パケット交換
    帯域制御
    顧客管理
    課金・・・
    通信キャリア
    専用線接

    今日はこちらの仕組
    みとセキュリティの話
    です。

    View Slide

  13. SIMが挿さったデバイスが
    モバイルキャリアに接続されるまで

    View Slide

  14. 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)

    View Slide

  15. SIMとキャリアは共通鍵を使って
    チャレンジ&レスポンス認証をしている

    View Slide

  16. SIMとキャリアは共通鍵を使って
    チャレンジ&レスポンス認証をしている
    ネットワーク越しに鍵交換はしていない
    つまり鍵を盗まれないように
    防御すべき場所はSIM(とHSS)

    View Slide

  17. あらためてSIMについて見てみよう

    View Slide

  18. 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)

    View Slide

  19. 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、ストレージが
    あるのに注目

    View Slide

  20. そうなんです。
    SIMは独立したコンピュータであり、
    単なるストレージデバイスではありません。
    なので鍵を外部から直接は読めないようになっ
    ている

    View Slide

  21. 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

    View Slide

  22. スマートカードリーダー
    モデム

    View Slide

  23. 実際にはこんな感じ
    カードリーダ
    モデム
    アンテナ
    APDUの世界
    ※詳細はのちほど

    View Slide

  24. 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 ディレクトリ ファイル

    View Slide

  25. あれ?
    APDUコマンドで任意の領域のファイルを読み
    取れる?
    それはちょっとまずいんじゃ・・?

    View Slide

  26. 秘密はAPDUコマンドに
    まず大前提として、SIMカードはストレージへの直接アクセスを提供してい
    ない。アプリケーションはAPDUコマンドというAPIを介してアクセスする必要
    がある。
    ● APDUコマンドには認証機構があり、コマンド実行時にPUKやユーザー
    認証、生体認証を求めることができる。
    ● WRITE ONCEの領域の設定もできる。
    詳細はISO7816-4、 ISO7816-11あたりを読んでみよう。
    もちろんですがAPDUの認証情報が漏洩すると大変なことになりま
    す!!!!

    View Slide

  27. APDUで提供されるコマンド(API)の例
    1. SELECT
    a. スマートカードからアプリケーションを選択するために使用されるコマンド。
    2. READ BINARY
    a. スマートカードからデータを読み取るために使用されるコマンド。
    3. UPDATE BINARY
    a. スマートカードにデータを書き込むために使用されるコマンド。
    4. VERIFY
    a. スマートカードの認証のために使用されるコマンド。
    5. INTERNAL AUTHENTICATE
    a. スマートカード内部で生成された認証データを使用して、通信相手とスマートカード間の相互認証
    を行うために使用されるコマンド。キャリア認証で利用されるのはこれ。
    6. EXTERNAL AUTHENTICATE
    a. スマートカード外部から提供された認証データを使用して、スマートカードへのアクセスを許可す
    るために使用されるコマンド。

    View Slide

  28. でも、ストレージに物理的にアクセスされたら?

    View Slide

  29. SIMカードの物理的セキュリティ(耐タンパー性)
    多くのSIMカードは、物理的な攻撃を検知した際にSIMカード内のデータ
    を自己消去するようにプログラムされている。例えば・・・
    1. 温度センサーによる手法
    a. カードの温度が急上昇した際にデータ消去
    2. 振動センサーによる手法
    a. カードが振動や衝撃を受けた場合に反応してデータ消去
    3. 光センサーによる手法
    a. カードの筐体が開けられば場合に反応してデータ消去

    View Slide

  30. SIMカードの物理的セキュリティ(耐タンパー性)
    物理的な攻撃に対する対策はISO7816に定めはなく、スマートカード
    メーカーが独自に定めている。
    メーカーやカードごとの具体的な防御策については、詳細な情報は非公
    開となっている場合が多く、一般的な情報を得ることは困難。

    View Slide

  31. まとめ

    View Slide

  32. SIMの(おもな)役割
    カードリーダ
    モデム
    アンテナ
    キャリア
    SIMはキャリアとの間に共通鍵を持っていてそれを使ってモ
    デムがキャリアと接続する際の認証をサポートしている。
    SIM自身のセキュリティは「とてもつよい」。
    共通鍵 共通鍵

    View Slide

  33. つぎのおはなし
    このトークでは「キャリア接続の鍵としてのSIM」というお話でした。次
    は、SIMによるキャリア選択やその高速化の工夫などについてのお話で
    す。

    View Slide

  34. おまけ

    View Slide

  35. View Slide

  36. 宣伝:
    SORACOM Discoveryでこういう「なかの話」もするので
    興味ある人はぜひ見に来てね!

    View Slide

  37. 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

    View Slide

  38. 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)

    View Slide