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

SORACOM SIM Inside ― SORACOM SIMの中身のハナシ

SORACOM
April 06, 2022

SORACOM SIM Inside ― SORACOM SIMの中身のハナシ

2022年4月6日(水)開催のSORACOM UG Online #11 ~ SIMの日記念で、ソラコム ソリューションアーキテクト 松本悠輔 (ysk) が発表した資料「SORACOM SIM Inside ― SORACOM SIMの中身のハナシ」を公開

SORACOM

April 06, 2022
Tweet

More Decks by SORACOM

Other Decks in Technology

Transcript

  1. SORACOM SIM Inside
    株式会社ソラコム
    2022/4/6
    SORACOM SIMの中身のハナシ

    View full-size slide

  2. 自己紹介
    松本悠輔(Yusuke Matsumoto)
    ソリューションアーキテクト
    経歴:
    • インフラエンジニア
    • Webエンジニア
    • IoTエンジニア
    好きなサービス:SORACOM Junction
    SORACOM本の一部執筆を
    担当しています!

    View full-size slide

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

    View full-size slide

  4. 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 full-size slide

  5. 3G/LTE のSIM認証
    VPC
    加入者情報DB
    1.認証リクエスト
    2.認証レスポンス
    Auth Token(AUTN), Random(RAND)
    3.ネットワーク
    の認証
    4.ユーザー認証レスポンス
    RES
    5.SIMの認証
    Integrity Key
    Ciphering key
    Secret Key
    Sequence
    Number
    N
    Secret Key
    Sequence
    Number
    N
    6.鍵の生成
    6.鍵の生成
    Integrity Key
    Ciphering key
    鍵の交換が
    ない

    View full-size slide

  6. SORACOM SIMアプレット
    SORACOM
    SIM Applet
    1
    SORACOM
    SIM Applet
    2
    SIM基本機能
    (認証等)
    SIM OS
    Java Applet実行環境
    • SIM上で動作して様々な拡張機能を実行
    • SORACOMプラットフォームとセキュアな通信路を確立可

    View full-size slide

  7. 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 full-size slide

  8. Javaアプレット……

    View full-size slide

  9. http://www.oracle.com/technetwork/java/javacard/javacard1-139251.html
    Java Card
    • UICC上でセキュアにアプリケーションを動作さ
    せるための環境
    • 非常に限られたメモリと処理能力で動作
    • Java Card上のJava VMで動作するバイトコード
    は、通常のJava VMのサブセット
    • エンコーディングや最適化は異なる
    • アプレット内で生成したオブジェクトは、永続
    化メモリに保存される
    • RAMは非常に少ないので、一時的なデータも
    しくはセキュリティセンシティブなデータの
    みに利用
    • ガベージコレクションは基本的にない

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  12. Java Cardアプレットの実装サンプル
    package io.soracom.jc_hello_pkg;
    import javacard.framework.*;
    public class jc_hello extends javacard.framework.Applet{
    public static void install(byte[] bArray,
    short bOffset, byte bLength) {
    // call Applet.register()
    }
    public void process(APDU apdu) {
    //Insert your code here
    }
    }
    javacard.framework.Applet
    を継承して実装
    installメソッドを実装して、
    アプレットのインスタンスを登録する
    デバイスでアプレットを選択して、
    APDUコマンドを投げるとこのprocessメソッドが呼ばれる
    http://www.javaworld.com/article/2076450/client-side-java/how-to-write-a-java-card-applet--a-developer-s-guide.html

    View full-size slide

  13. 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 full-size slide

  14. 開発ツールなど
    • 開発とコンパイル
    • Eclipse or Netbeans IDE
    • コンバージョン
    • JCDK - Javacard Development Kit
    • アプレットのインストール
    • SIM Alliance CAT loader 2.0 とカードリーダー
    • 実機のテスト
    • APDUコマンドのキャプチャツールを利用

    View full-size slide

  15. Appletで実装されている機能の例

    View full-size slide

  16. IoT SIMに組み込み済みのアプレット
    • SIMアプレットによるLocal Infoの取得
    • Local Info = デバイス側の情報
    • Plan01s/Plan01sLDVのSIMにはSIMアプレットがインストール済み
    • カード型SIM/チップ型SIMいずれも対応
    SORACOM
    SIM Applet
    Local Info

    View full-size slide

  17. SIM Local Info 取得詳細
    1. Local infoレポートを要求
    2. Accepted
    5. Update local info
    (TLS接続)
    4. デバイスに情報問い合せ
    Local info:
    - MCC, MNC, Location Area Code
    - Cell Id
    - ネットワークの種類(GSM/3G/LTE)
    - IMEI
    - セルの電界情報
    - バッテリ残量
    3. Local infoレポートをSMSで
    要求
    6. Get subscriber
    7. Subscriber w/ Local Info
    デバイス側でしか取得できな
    い情報を取得可能に!

    View full-size slide

  18. 取得成功後

    View full-size slide

  19. Soracom eUICC with Soraseed Applet
    https://devices.amazonaws.com/detail/a3G0L00000AAOBeUAP/Soracom-eUICC-with-Soraseed-Applet
    AWS Greengrass
    (IoTデバイス用のデバイスクライアント)
    用の証明書ストアとして利用可能

    View full-size slide

  20. plan01s
    planX1
    planP1
    世界130の国と地域をカバー
    多くの地域で複数キャリア対応
    欧米で特に割安な通信料金
    KDDI回線に対応
    日本の通信料金 90% off (plans01s比)
    APAC主要キャリアでの割安な通信に対応
    APACの通信料金最大 99% off (plans01s比)
    サブスクリプション(通信契約)

    View full-size slide

  21. サブスクリプションコンテナ
    SORACOM
    ユーザーコンソール
    SIM OS
    サブスクリプション
    コンテナエンジン









    A









    B
    SORACOM IoT SIM
    OTAでサブスクリプションを追加可能









    C
    (無線経由) (契約回線)

    View full-size slide

  22. サブスクリプション追加のAPIを提供
    1. planP1の追加をリクエスト
    管理者
    2. ネットワーク接続
    3. OTA更新で
    planP1を追加
    plan01s
    +
    planP1

    View full-size slide

  23. •デバイスがいる国や地域に応じて自動的に切り替え
    サブスクリプション追加時の動作
    国境
    0. 普段は plan01s 2. 自動でplanP1が有効化
    plan01s
    planP1
    plan01s
    planP1
    1. 接続先キャリアの国
    コードがplanP1対応国

    複数のサブスクリプションのいいとこ取りが可能

    View full-size slide

  24. UICC
    OTA
    OTA key
    eUICC
    ISD-2
    DOCOMO
    ISD-3
    KDDI
    ISD-R ECASD
    OTA
    OTA key
    Subscription
    Manager
    ISD-R key
    サブスクリプション
    コンテナエンジン
    plan01s
    planX1
    サブスクリプション
    コンテナエンジン
    plan01s
    planX1
    サブスクリプションコンテナ

    View full-size slide

  25. • 答え : NO
    • アプレットをSIMに入れるには、OTA鍵が必要
    • DOCOMOのSIMのOTA鍵は、DOCOMOのみが保持
    • MVNOは利用不可
    • ソラコム発行のグローバルSIMは、加入者情報DBをソラコム
    が持っていて、OTA鍵を持っているため
    plan-DのSIMにアプレットを入れられる?
    SIM Applet 1
    OTA鍵

    View full-size slide

  26. •SIMは小さなコンピュータです
    •SORACOMではコアネットワークと
    SIMの両方を開発しています
    •SIMを開発しているので様々な付加価値を
    付けることが可能です
    まとめ
    ©2022 SORACOM, INC

    View full-size slide