Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SORACOM UG 東京 #8 | eSIM オーバービュー

3,732 views

Published on

SORACOM UG 東京 #8
eSIM オーバービュー

株式会社ソラコム
プリンシパルソフトウェアエンジニア
片山暁雄

Published in: Technology
  • Follow the link, new dating source: ❤❤❤ http://bit.ly/2Qu6Caa ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: ❤❤❤ http://bit.ly/2Qu6Caa ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

SORACOM UG 東京 #8 | eSIM オーバービュー

  1. 1. eSIM オーバービュー
  2. 2. • 名前:片山 暁雄 • 所属:株式会社ソラコム – 執行役員 – プリンシパルソフトウェアエンジニア
  3. 3. チップ型SIMの提供を開始 チップ型(MFF2) より小さく 6mm×5mm より堅牢に 温度耐性 振動耐性 衝撃耐性 これまでの カード型SIM チップ型
  4. 4. •製品や機器にSIMを組み込む際に、在庫時の通信コ ストを削減したい •機器や工業製品の場合、カードSIMではなく、基板 に組み込むチップ型のSIMで耐振動性等を高めたい IoT/M2M用途でSIMを組込むお客様の課題
  5. 5. •“Embedded” SIM • SIMの形状の話 • 組み込み用途に使う • 大容量メモリ •書き換え可能なSIM • eUICC eSIM https://www.gsma.com/rsp/wp-content/uploads/2017/03/4.Qualcomm_iUICCDemo-for-MWC_Final_Feb02_2017.pdf 1FF 2FF 3FF MFF24FF
  6. 6. iUICC https://www.gsma.com/rsp/wp-content/uploads/2017/03/4.Qualcomm_iUICCDemo-for-MWC_Final_Feb02_2017.pdf
  7. 7. そもそもSIMとは 認証 ローミング ユーザデータ USIM=Universal Subscriber Identity Module USIMとは欧州の2G(GSM)の移動機に採用され ていたSIMカードを拡張したもの。 CPUを内臓したICチップ(UICC)で、3G/LTE移動 機において不可欠なデバイスの1つ。
  8. 8. 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)
  9. 9. UICCの論理構造 Core O.S UICC Card Manager and Security domains Remote Applet Management Core Applications (USIM) File System servers Toolkit and Javacard runtime environment Javacard packages Javacard Applet UICC API and USIM API Javacard Toolkit Applet
  10. 10. Javaアプレット……
  11. 11. http://www.oracle.com/technetwork/java/javacard/javacard1-139251.html Javacard • UICC上でセキュアにアプリケーションを動作させるた めの環境。非常に限られたメモリと処理能力で動作 • Java Card上のJava VMで動作するバイトコードは、通 常のJava VMのサブセット • エンコーディングや最適化は異なる • アプレット内で生成したオブジェクトは、永続化メモリ に保存される • RAMは非常に少ないので、一時的なデータもしく はセキュリティセンシティブなデータのみに利用 • ガベージコレクションは基本的にない
  12. 12. Javacard の歴史 https://en.wikipedia.org/wiki/Java_Card Version 2.1 (07.06.1999) Version 2.1.1 (18.05.2000) Version 2.2 (11.2002) Version 2.2.1 (10.2003) Version 2.2.2 (03.2006) Version 3.0.1 (15.06.2009) Version 3.0.4 (06.08.2011) Version 3.0.5 (03.06.2015) -RSA without padding. -AES cryptography key encapsulation -CRC algorithms, -ECC key encapsulation, -Diffie-Hellman key exchange - Improved Logical Channels support (20) - SHA-256, SHA-384, SHA-512 - ISO9796-2, - HMAC, - Korean SEED MAC NOPAD, - Korean SEED NOPAD -Classic and Connected editions -SHA-224, SHA-2 for all signature algorithms -DES MAC8 ISO9797. - Diffie-Hellman modular exponentiation - Domain Data Conservation for Diffie- Hellman - Elliptic Curve and DSA keys, - RSA-3072 - SHA3 - plain ECDSA - AES CMAC - AES CTR. •Added the isAppletActive method to the JCSystem class - Added the AppletEvent interface with the uninstall method. - Added the isAppletActive method to the JCSystem class
  13. 13. Javacardアプレットの動作 • JCRE(Java Card Runtime Environment)がアプレットのinstallを実施 • アプレットが登録処理を実施 • Select(ユーザーの画面選択や通信呼び出しなど)で起動 • processメソッドでAPDUコマンドを渡し、アプレットで処理
  14. 14. Javacard アプレットの実装サンプル 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を継承 して実装。 The class javacard.framework.Applet provides a framework for applet execution. installメソッドを実装して、 アプレットのインスタンスを登録する デバイスでアプレットを選択して、 APDUコマンドを投げるとこのprocessメソッドが呼ばれる http://www.javaworld.com/article/2076450/client-side-java/how-to-write-a-java-card-applet--a-developer-s-guide.html
  15. 15. APDU 例:IMSIの読み取り 00 B0 00 00 3F 00 7F 20 6F 07 (Application Protocol Data Unit) • 端末とJavacardアプレットがやり取りするためのバイト列 CLA INS P1 P2 P3 SW1 SW2 Command APDU Response APDU Data Read Binay ディレクトリ ファイル
  16. 16. MF:Master File →必須の最上位のファイル DF:Dedicated File →フォルダ機能のファイル EF:Elementary File →通常のファイル ADF:Application Dedicated File →Application (USIMなど)専用のDFファイル。 EEPROM部分にユーザデータやアプリケー ションに必要なパラメータが格納されてい る。 ファイル構造 APDUコマンドで、カードリーダー経由で読み取りが可能
  17. 17. 開発ツールなど • 開発とコンパイル • Eclipse or Netbeans IDE • コンバージョン • JCDK - Javacard Development Kit • アプレットのインストール • SIM Alliance CAT loader 2.0 とカードリーダー • 実機のテスト • APDUコマンドのキャプチャツールを利用
  18. 18. コンパイルとコンバージョン class .exp COMPILE .java CONVERT .cap .jca
  19. 19. • 答え : NO • アプレットをSIMに入れるには、OTA鍵が必要 • DOCOMOのSIMのOTA鍵は、DOCOMOのみが保持 • MVNOは利用不可 • ソラコム発行のグローバルSIMは、ソラコムが鍵を保持 DOCOMOのSIMにアプレットを入れられる?
  20. 20. SORACOM Air SIM職人が 1枚1枚 心を込めて 手焼きしています JavaFX DynamoDB 2015年度発表
  21. 21. SORACOM SIMアプレット SORACOM SIM Applet 1 SORACOM SIM Applet 2 SIM基本機能 (認証等) SIM OS Java applet実行環境 • SIM上で動作して様々な拡張機能を実行 • SORACOMプラットフォームとセキュアな通信路を確立可
  22. 22. SORACOM SIMアプレット第一弾: SIM Local Info レポート機能 (Public Beta) U-1. Local infoレポートを要求 U-2. Accepted S-4. Update local info S-2. デバイスに情報問い合せ S-3. Local info: - MCC, MNC, Location Area Code - Cell Id - ネットワークの種類(GSM/3G/LTE) - IMEI - セルの電界情報 - バッテリ残量 S-1. Local infoレポートを要求 U-3. Get subscriber U-4. Subscriber w/ Local Info デバイス側でしか取得できない 情報を取得可能に!
  23. 23. •“Embedded” SIM • SIMの形状の話 • 組み込み用途に使う • 大容量メモリ •書き換え可能なSIM • eUICC eSIM https://www.gsma.com/rsp/wp-content/uploads/2017/03/4.Qualcomm_iUICCDemo-for-MWC_Final_Feb02_2017.pdf 1FF 2FF 3FF MFF24FF
  24. 24. •GSMAで規定された、リモートからOTA(Over the Air)でSIMを書き換える規格 •通信キャリアのプロファイルを切り替えることで、 1つのSIMで複数の通信キャリアと接続が可能 •機器に組み込む場合(embedded)、この機能は必須 eUICC
  25. 25. OTA鍵があれば SIM書き換えられるってさっき言ってた
  26. 26. UICCとeUICCの違い UICC プロファイル 1つだけ OTA OTA key eUICC ECASD:eUICC Controlling Authority Security Domain ISD-P:Issuer Security Domain Profile ISD-1 ISD-2 DOCOMO ISD-3 KDDI ISD-R ECASD OTA OTA key SORACOM Subscription ManagerISD-R key 同時にアクティブになるの は1つだけ
  27. 27. 各種登場人物 https://www.gsma.com/iot/wp-content/uploads/2014/01/1.-GSMA-Embedded-SIM-Remote-Provisioning-Architecture-Version-1.1.pdf プロファイル作成 通信キャリア (SORACOMなど) SIM製造 ISD-R keyを作って SIMに入れる プロファイル管理ECASDに格納 する証明書を 発行する
  28. 28. eUICC & Subscription Management ©2016 SORACOM, INC 29 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)
  29. 29. eSIMオーバービューまとめ • eSIMは、形状の話と中身の書き換えの話がある • SIMの内部ではJavaCardアプレットが動作する • SIM自体がセキュアエレメントなので、暗号化や認証情報保存、決済などの用途 でも使える • OTA鍵でリモートからの書き換えも可能 • eSIMを利用すれば、組み込んだ製品を出荷したあとにプロファイルを入 れられる • 例 • 利用する国によって複数のプロファイルを切り替える(自動車など) • 製品出荷後に、好きな通信キャリアのプロファイルを入れる(スマートウォッチなど) • 組み込み用途で試してみたい方はご連絡を!
  30. 30. Documentation and specifications • ISO 7816-4 http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=54550 • Javacard 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

×