(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-17
(54)【発明の名称】更新エージェントのダウンロードスキーム
(51)【国際特許分類】
G06F 21/57 20130101AFI20240709BHJP
【FI】
G06F21/57
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023579106
(86)(22)【出願日】2022-06-29
(85)【翻訳文提出日】2024-02-16
(86)【国際出願番号】 EP2022025294
(87)【国際公開番号】W WO2023274578
(87)【国際公開日】2023-01-05
(32)【優先日】2021-06-30
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】523479709
【氏名又は名称】ギーゼッケプラスデフリエント モバイル セキュリティ ジャーマニー ゲーエムベーハー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ジフレ,クララ
(72)【発明者】
【氏名】パティーノ,デイビッド
(72)【発明者】
【氏名】ルアウ,フェデリコ
(57)【要約】
【課題】セキュアエレメントを市場の進化に合わせて最新の状態に保ち、並びにセキュアエレメントのライフサイクルの任意の時点で、パッチ、セキュリティ、並びにバグ修正を提供するための効率的及び安全な解決策を提供する。
【解決手段】本発明は、セキュアエレメントにオペレーティングシステムイメージをダウンロードするスキームを実施するための方法、データ構造、及び更新エージェントに関する。更新エージェントは、セキュアエレメントにオペレーティングシステムをインストールするためのインストールパッケージを外部デバイスから受信する。更新エージェントは、セキュアエレメントの制御を要求し、インストールパッケージと共に受信したオペレーティングシステムをセキュアエレメントにロードし、その後、セキュアエレメントの制御がオペレーティングシステムに移行される。
【選択図】
図8
【特許請求の範囲】
【請求項1】
セキュアエレメントにオペレーティングシステムをダウンロードする方法であって、前記セキュアエレメント(100)が更新エージェント(110)を含み、前記方法が、前記更新エージェントによって実行されるステップ:
前記セキュアエレメント(100)にオペレーティングシステムをインストールするためのインストールパッケージ(500)を外部デバイス(200;300)から受信すること(S1)と、
前記セキュアエレメント(100)の制御を要求すること(S2)と、
前記インストールパッケージと共に受信された前記オペレーティングシステムを前記セキュアエレメント(100)にロードすること(S3)と、
前記セキュアエレメント(100)の制御を前記オペレーティングシステムに移行すること(S4)と、
を含む、方法。
【請求項2】
前記インストールパッケージがヘッダ部分(530)及びデータ搬送部分(520)を含み、前記ヘッダ部分(530)がセキュアチャネル初期化署名(532)を含み、前記データ搬送部分(520)が複数のイメージセグメント(521)を含み、連続するイメージセグメントのシーケンスが、マニフェスト(502)と、マニフェスト署名(503)と、前記セキュアエレメント(100)にロードされる前記オペレーティングシステムのイメージ(501)と、を含む、請求項1に記載の方法。
【請求項3】
前記インストールパッケージ(500)を受信すること(S1)が、前記ヘッダ部分(530)と前記複数のイメージセグメントの第1のシーケンスとを含む、前記インストールパッケージの第1の部分を受信すること(S11)を含み、前記第1のシーケンスが、前記マニフェスト署名(501)と前記マニフェスト(502)とを含み、前記方法が、前記更新エージェントに格納された第1の鍵、特に楕円曲線デジタル署名(ECDSA)鍵を使用して、前記セキュアチャネル初期化署名(532)及び前記マニフェスト署名(503)を検証することによって前記インストールパッケージを検証すること(S12)をさらに含む、請求項2に記載の方法。
【請求項4】
前記セキュアエレメント(100)の制御を要求すること(S2)が、システムリセットを実行する要求を前記外部デバイス(200;300)に送信すること(S21)を含む、請求項1~3の何れか一項に記載の方法。
【請求項5】
前記セキュアエレメント(100)の制御を引き受けること(S22)と、前記システムリセット後に前記セキュアエレメント(100)内に含まれる初期オペレーティングシステムを削除すること(S23)と、をさらに含む、請求項4に記載の方法。
【請求項6】
前記オペレーティングシステムをロードすること(S3)が、
前記システムリセット後に、前記外部デバイス(200;300)から完全なインストールパッケージ(500)を受信すること(S31)であって、前記完全なインストールパッケージが、前記複数のイメージセグメント(521)を含み、前記複数のイメージセグメントが、前記マニフェスト(502)、前記マニフェスト署名(503)、及び前記オペレーティングシステムの前記イメージ(501)を搬送し、各イメージセグメントがイメージ保護鍵(533)のペアを用いて保護される、受信すること(S31)と、
前記インストールパッケージの完全性を検証すること(S32)と、
前記対応するイメージセグメントから前記オペレーティングシステムを抽出すること(S32)と、
前記オペレーティングシステムを前記セキュアエレメントのメモリに格納すること(S33)と、
を含む、請求項2~5の何れか一項に記載の方法。
【請求項7】
前記イメージ保護鍵(533)が、前記インストールパッケージ(500)の完全性を保証するために、前記外部デバイス(200;300)と前記セキュアエレメント(100)との間で鍵共有プロセスを通じて確立され、SCP03tアルゴリズムに基づく保護スキームを実施するために使用される、請求項6に記載の方法。
【請求項8】
前記インストールパッケージ(500)の前記ヘッダ部分(530)が、パッケージバインディング署名(531)をさらに含み、前記方法が、前記更新エージェント(110)に格納された第2の鍵、特に楕円曲線デジタル署名(ECDSA)鍵を用いて前記パッケージバインディング署名(531)を検証することによって前記インストールパッケージを認証することをさらに含む、請求項6又は7に記載の方法。
【請求項9】
ソフトウェアインストールパッケージ(500)、特にオペレーティングシステムインストールパッケージをセキュアエレメント(100)上の更新エージェント(110)に提供するためのコンピュータ実装データ構造であって、前記データ構造が、
実施される前記インストール操作に関する情報と前記セキュアエレメント(100)において鍵導出を実行するための情報とを搬送するセキュアチャネル初期化フィールド(532)を含むヘッダ部分(530)と、
複数のイメージセグメント(521)を含むデータ搬送部分(520)であって、連続するイメージセグメントのシーケンスが、マニフェスト(502)、マニフェスト署名(503)、及び前記セキュアエレメントにロードされる前記ソフトウェアのイメージ(501)を含む、データ搬送部分(520)と、
を含む、コンピュータ実装データ構造。
【請求項10】
前記ヘッダ部分(530)が、前記ソフトウェアイメージを暗号化するための、イメージ保護鍵を搬送する保護された鍵フィールド(533)をさらに含む、請求項9に記載のコンピュータ実装データ構造。
【請求項11】
前記ヘッダ部分(530)が、前記ソフトウェアインストールパッケージを認証するための、前記セキュアチャネル初期化フィールド及び/又は前記保護された鍵フィールドの署名を含むパッケージバインディング署名(531)をさらに含む、請求項9又は10に記載のコンピュータ実装データ構造。
【請求項12】
前記マニフェストが、アップロードされる前記ソフトウェアイメージに関する情報、特に前記ソフトウェアイメージを認証するための情報、及び/又は前記イメージの発行者を認証するための情報を含む、請求項9~11の何れか一項に記載のコンピュータ実装データ構造。
【請求項13】
ソフトウェア、特にオペレーティングシステムをセキュアエレメント(100)にダウンロードするための更新エージェント(110)であって、
オペレーティングシステムをインストールするためのインストールパッケージ(500)を請求項9~12の何れか一項に記載のデータ構造によって受信することと、
前記インストールパッケージ(500)を検証し、前記セキュアエレメント(100)の制御を要求することと、
前記インストールパッケージ(500)と共に受信した前記オペレーティングシステムを前記セキュアエレメント(100)にロードすることと、
前記セキュアエレメント(100)の制御を前記オペレーティングシステムに移行することと、
を実行するように構成された、更新エージェント。
【請求項14】
少なくとも、
前記インストールパッケージ内の前記マニフェスト署名及び前記セキュアチャネル初期化署名を検証するための第1の鍵、特に楕円曲線デジタル署名(ECDSA)鍵と、
前記インストールパッケージのイメージセグメントを処理するための鍵ペア、特に楕円曲線鍵共有(ECKA)鍵ペアと、
前記パッケージバインディング署名を検証するための第2の鍵、特に楕円曲線デジタル署名(ECDSA)鍵と、
を含むセットから選択された複数の暗号鍵でパーソナライズされる、請求項13に記載の更新エージェント。
【請求項15】
請求項2~8の何れか一項に記載の方法を実行するように構成された、請求項14に記載の更新エージェント(110)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セキュアエレメント上でオペレーティングシステムなどのソフトウェアを更新することに関し、より詳細には、セキュアエレメントにオペレーティングシステムイメージをダウンロードするスキームを実施するための方法、データ構造、及び更新エージェントに関する。
【背景技術】
【0002】
発明の背景
近年、モバイルネットワーク上で通信するための電子加入者プロファイルを採用するように構成されたモバイルデバイスが出現している。このようなモバイルデバイスは、一般的に、少し例を挙げれば、電子/埋め込み汎用集積回路カード(eUICC(electronic/embedded universal integrated circuit card))、smartSD、又はsmart microSDなどの電子/埋め込みセキュアエレメント(SE)を含むスマートカードを備えている。
【0003】
セキュアエレメントとは、アプリケーションコード及びアプリケーションデータを安全に格納及び管理できるスマートカード/デバイス内に、安全なメモリ及び実行環境を提供する耐タンパー性エレメントTRE(tamper resistant element)のことである。セキュアエレメントは、カードに格納されたデータへのアクセスが、許可された場合にのみ提供されることを保証する。
【0004】
モバイルデバイスなどの電気通信製品において使用されるように設計されたセキュアエレメントは、モバイルデバイスが1つ又は複数のモバイルネットワークに接続することを可能にし得る1つ又は複数の電子加入者プロファイル、特に電子/埋め込み加入者識別モジュール(eSIM(electronic/embedded subscriber identification module))プロファイルを格納するように構成される。加入者プロファイル(例えば、eSIMプロファイル)は、モバイルネットワークオペレータ(MNO)によって生成することができ、モバイルネットワークデバイスにダウンロードすることができる。その後、加入者プロファイルは、モバイルデバイスのセキュアエレメントにインストールすることができ、モバイルデバイスによる対応するモバイルネットワークを介した通信に使用することができる。
【0005】
図1は、GSM協会(GSM Association)が発行したSGP.22 RSP Technical Specification Version 2.0(以下、GSMA RSP22と呼ぶ)に記載されるようなリモートeSIMプロビジョニングシステムのアーキテクチャの簡略図を示す。eSIMプロビジョニングシステム1は、SM-DP+(サブスクリプションマネージャ-データ準備及びセキュアルーティング11)、SM-DS(サブスクリプションマネージャ-ディスカバリサーバ14)、LPA(ローカルプロファイルアシスタンス25)、及びeUICC10という幾つかの要素を中心に編成されており、後者はエンドユーザ13のモバイルデバイス20の一部である。
【0006】
SM-DP+11は、MNO12によって提供される加入者プロファイルの作成、ダウンロード、リモート管理(有効化、無効化、更新、削除)、及び保護を担う。特に、SM-DP+11は、バウンドプロファイルパッケージ(Bound Profile Package)でプロファイルを提供し、及びバウンドプロファイルパッケージが安全に送信されることを可能にするように構成され得る。
【0007】
LPA(ローカルプロファイルアシスタント25)は、eUICC/TRE/SE10に(暗号化された)プロファイルをダウンロードする能力を提供することを担うデバイス20の機能セットである。それはまた、エンドユーザ13がeUICC/TRE/SE10上のプロファイルのステータスを管理できるように、ローカル管理エンドユーザインタフェースをエンドユーザ13に提示する。SM-DS14は、SM-DP+11がeUICC/TRE/SE10と通信するための手段を提供する。
【0008】
従来、TREのネイティブ実装又はオペレーティングシステムは、一旦TREが現場でデプロイされれば更新することはできず、したがって、一旦TREが生産段階を超えれば変化しなかった。これは、それの内部のソフトウェアに関連する問題(新たな攻撃又は脆弱性、セクタ仕様の新たな更新、それを使用したデバイスの予想されるライフサイクル)が見つかった場合に、唯一の可能なアクションは、TRE全体を変えることである。これにより、特に生産が工場内の認証された環境内で実行されなければならない場合に、(生産後のソフトウェア更新が不可能であるため)生産の観点から市場のニーズに遅れないようにすることが特に難しくなる。
【0009】
図1に示すGSMAリモートプロビジョニングアーキテクチャは、セキュアエレメント(SE)又は耐タンパー性エレメント(TRE)にプロファイルをロードするためのプロシージャを実施するためのプラットフォームを提供するが、これは、SE/TREに格納されたデータの変更を実施することを可能にするだけで、SE/TREに存在する基本ソフトウェアの変更を可能にするものではない。このプロシージャは、それがロードに使用されるバウンドプロファイルパッケージを準備できる前に、TREとサーバとの間で幾つかのやり取りを必要とし、これは、新しいソフトウェアのブロードキャストデプロイにとって最適ではないことがある。また、このスキームは、新しいオペレーティングシステムなどの重要なデータのデプロイメントに必要なことがある追加の保護層を欠いている。
【0010】
したがって、上述の欠点に対処する、セキュアエレメント上でオペレーティングシステムを更新するための解決策を提供することが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【0011】
発明の概要
本発明は、独立請求項によってカバーされる主題によって上記目的に対処する。本発明の好ましい実施形態は、従属請求項に定義される。
【課題を解決するための手段】
【0012】
本発明の第1の態様によれば、セキュアエレメントにオペレーティングシステムをダウンロードする方法であって、セキュアエレメントが、以下のようなステップを実行するように構成された更新エージェントを含む、方法が提供される。更新エージェントは、セキュアエレメントにオペレーティングシステムをインストールするためのインストールパッケージを外部デバイスから受信する。更新エージェントはセキュアエレメントの制御を要求し、インストールパッケージと共に受信されたオペレーティングシステムをセキュアエレメントにロードし、その後、セキュアエレメントの制御をオペレーティングシステムに移行する。
【0013】
提案される方法は、一旦セキュアエレメントの製造が完了すると、信頼されたソフトウェア、特にオペレーティングシステムをセキュアエレメントにロードするための効率的且つ安全な解決策を提供する。更新エージェントにセキュアエレメントを制御する能力を持たせることによって、更新エージェントは、しばらくの間、独自のファイルシステムを持たないセキュアエレメントを任される。これにより、セキュアエレメント内のソフトウェアの効率的且つ安全なロード、更新、及び置き換えが可能となる。
【0014】
本発明の幾つかの実施形態において、インストールパッケージは、ヘッダ部分及びデータ搬送部分を含み、ヘッダ部分はセキュアチャネル初期化署名(initialize secure channel signature)を含み、データ搬送部分は複数のイメージセグメントを含み、連続するイメージセグメントのシーケンスは、マニフェストと、マニフェスト署名と、セキュアエレメントにロードされるオペレーティングシステムのイメージと、を含む。
【0015】
本発明の幾つかの実施形態において、インストールパッケージを受信することは、ヘッダと複数のイメージセグメントの第1のシーケンスとを含む、インストールパッケージの第1の部分を受信することを含み、第1のシーケンスは、マニフェスト署名とマニフェストとを搬送する。更新エージェントは、インストールパッケージの第1の部分を受信した後に、更新エージェントに格納された第1の鍵、特に楕円曲線デジタル署名(ECDSA(Elliptical Curve Digital Signature))鍵を使用して、ヘッダに含まれるセキュアチャネル初期化署名及びマニフェスト署名を検証するようにさらに構成される。
【0016】
これにより、インストールパッケージの信頼性及び伝送チャネルの信頼性の両方を保証する制御機構を備えた更新エージェントが提供される。
【0017】
本発明の幾つかの実施形態では、セキュアエレメントの制御を要求することは、システムリセットを実行する要求を更新エージェントによって外部デバイスに送信することを含む。
【0018】
好ましくは、システムリセット後に、セキュアエレメント内に含まれる初期オペレーティングシステムが削除され、セキュアエレメントの制御が更新エージェントによって引き受けられる。
【0019】
本発明の幾つかの実施形態では、オペレーティングシステムをロードすることは、システムリセット後に、外部デバイスから完全なインストールパッケージを受信することであって、完全なインストールパッケージが、複数のイメージセグメントを含み、複数のイメージセグメントが、マニフェスト、マニフェスト署名、及びオペレーティングシステムのイメージを搬送し、各イメージセグメントがイメージ保護鍵のペアを用いて保護される、受信することを含む。インストールパッケージを受信した後に、更新エージェントはインストールパッケージの完全性を検証し、対応するイメージセグメントからオペレーティングシステムを抽出し、オペレーティングシステムをセキュアエレメントのメモリに格納する。
【0020】
好ましくは、インストールパッケージの完全性を保証するために、イメージ保護鍵が、外部デバイスとセキュアエレメントとの間で鍵共有プロセスを通じて確立され、SCP03tアルゴリズムに基づく保護スキームを実施するために使用される。
【0021】
このようにして、外部デバイスと更新エージェントとの間に秘密通信機構を設定することができる。
【0022】
好ましくは、ヘッダはさらに、イメージ保護鍵を搬送する保護された鍵フィールドを含む。
【0023】
本発明の幾つかの実施形態では、インストールパッケージのヘッダは、ソフトウェアインストールパッケージを認証するためのパッケージバインディング署名をさらに含む。好ましくは、パッケージバインディング署名は、セキュアチャネル初期化フィールド(initialize secure channel field)及び/又は保護された鍵フィールドの署名を含む。更新エージェントは、更新エージェントに格納された第2の鍵、特に楕円曲線デジタル署名(ECDSA)鍵を用いてパッケージバインディング署名を検証することによってソフトウェアインストールパッケージの認証を実行するように構成される。
【0024】
本発明の第2の態様によれば、ソフトウェアインストールパッケージ、特にオペレーティングシステムインストールパッケージをセキュアエレメント上の更新エージェントに提供するためのコンピュータ実装データ構造が提供される。データ構造は、ヘッダ部分及びデータ搬送部分を含む。ヘッダ部分は、実施されるインストール操作に関する情報とセキュアエレメントにおいて鍵導出を実行するための情報とを搬送するセキュアチャネル初期化フィールドを含む。データ搬送部分は、複数のイメージセグメントを含み、連続するイメージセグメントのシーケンスは、マニフェスト、マニフェスト署名、及びセキュアエレメントにロードされるソフトウェアのイメージを含む。
【0025】
好ましくは、ヘッダ部分は、ソフトウェアイメージを暗号化するための、イメージ保護鍵を搬送する保護された鍵フィールドを含む。
【0026】
好ましくは、ヘッダ部分は、ソフトウェアインストールパッケージを認証するための、セキュアチャネル初期化フィールド及び/又は保護された鍵フィールドの署名を含むパッケージバインディング署名を含む。
【0027】
本発明の幾つかの実施形態では、マニフェストは、アップロードされるソフトウェアイメージに関する情報、特にソフトウェアイメージを認証するための情報、及び/又はイメージの発行者を認証するための情報を含む。「ソフトウェアイメージ」は、更新エージェントによって使用されるソフトウェアバージョン及び暗号データをカプセル化した汎用データフォーマットを指す。ソフトウェアイメージは、オペレーティングシステムのイメージであり得るが、セキュアエレメントにインストールされるアプレット又は他のアプリケーションのイメージである場合もある。
【0028】
本発明の第3の態様によれば、ソフトウェア、特にオペレーティングシステムをセキュアエレメントにダウンロードするための更新エージェントが提供される。更新エージェントは、オペレーティングシステムをインストールするためのインストールパッケージを第2の態様によるデータ構造によって受信し、第1の態様による方法を実行するように構成される。具体的には、更新エージェントは、インストールパッケージを検証し、セキュアエレメントの制御を要求することと、インストールパッケージと共に受信したオペレーティングシステムをセキュアエレメントにロードすることと、セキュアエレメントの制御をオペレーティングシステムに移行することと、を実行するように構成される。
【0029】
本発明の幾つかの実施形態では、更新エージェントは、少なくとも、マニフェスト署名及びインストールパッケージと共に受信したセキュアチャネル初期化署名を検証するための第1の鍵と、インストールパッケージのイメージセグメントを処理するための鍵の共有のための鍵ペアと、パッケージバインディング署名を検証するための第2の鍵と、を含むセットから選択された複数の暗号鍵でパーソナライズされる。好ましくは、第1の鍵は、楕円曲線デジタル署名(ECDSA)鍵である。好ましくは、第2の鍵は、楕円曲線デジタル署名(ECDSA)鍵である。好ましくは、鍵の共有のための鍵ペアは、楕円曲線鍵共有(ECKA(Elliptical Curve Key Agreement))鍵ペアである。
【0030】
本明細書に記載される態様及び実施形態は、セキュアエレメント内のソフトウェア、特にオペレーティングシステムを更新し、その結果、セキュアエレメントを市場の進化に合わせて最新の状態に保ち、並びにセキュアエレメントのライフサイクルの任意の時点で、パッチ、セキュリティ、並びにバグ修正を提供するための効率的及び安全な解決策を提供する。
【0031】
本出願に記載されたすべてのデバイス、要素、ユニット、及び手段は、ソフトウェア要素又はハードウェア要素又はそれらの組み合わせで実装され得ることに留意されたい。本出願に記載された様々なエンティティによって実行されるすべてのステップ、及び記載された機能性は、それぞれのエンティティがそれぞれのステップ及び機能性を実行するように適合されているか、又は構成されていることを意味することを意図している。
【0032】
本発明のさらなる態様、特徴、及び利点は、本発明の好ましい実施形態及び変形例の以下の詳細な説明を添付の図と併せて検討することにより、当業者には明らかになるであろう。
【図面の簡単な説明】
【0033】
図面の簡単な説明
【
図1】GSMAリモートプロビジョニングシステムのアーキテクチャの簡略図を示す。
【
図2】本発明のある実施形態による、リモートeSIMプロビジョニングシステムのアーキテクチャを示す。
【
図3】ある実施形態による、セキュアエレメントにオペレーティングシステムをダウンロードする方法のフローチャートを示す。
【
図4】好ましい実施形態による、
図3の方法のさらなるステップを示す。
【
図5】好ましい実施形態による、
図3の方法のさらなるステップを示す。
【
図6】好ましい実施形態による、
図3の方法のさらなるステップを示す。
【
図7】好ましい実施形態による、
図3の方法のさらなるステップを示す。
【
図8】ある実施形態による、
図2のシステムアーキテクチャ上にオペレーティングシステムをダウンロードする方法を実施するためのシーケンス図を示す。
【
図9】ある実施形態による、ソフトウェア/OS更新を実行するためのセキュリティスキームを示す。
【発明を実施するための形態】
【0034】
詳細な説明
以下に、本発明の具体的な実施形態例を示す添付の図面を参照して、本発明の詳細な説明を行う。これらの実施形態は、当業者が本発明を実施することを可能にするように十分に詳細に説明される。本発明の様々な実施形態は、異なるが、必ずしも相互に排他的ではないことを理解されたい。例えば、1つの実施形態に関連して本明細書に記載される特定の特徴、構造、又は特性は、本発明の範囲から逸脱することなく他の実施形態内で実施され得る。加えて、開示された各実施形態内の個々の要素の位置又は配置は、本発明の範囲から逸脱することなく変更され得ることを理解されたい。したがって、以下の詳細な説明は、限定的な意味で捉えられるべきものではなく、本発明の範囲は、特許請求の範囲が権利を有する均等物の全範囲と共に、適切に解釈される添付の特許請求の範囲によってのみ定義される。図面において、同様の数字は、幾つかの図を通して同一又は類似の機能を指す。
【0035】
図9は、ある実施形態による、更新のためのソフトウェアイメージ(例えば、OSイメージ)を提供するためのソフトウェア更新セキュリティスキームを示す。更新のためのソフトウェアイメージを提供するためのスキームは、GSMA RSP22により知られる一般的なスキームを
図2のアーキテクチャに適応させたものである。
【0036】
図9の図は、プロファイルパッケージ(すなわち、バウンドインストールプロファイル(Bound Installation Profile))が生成されてから更新エージェントを介してセキュアエレメントにダウンロードされるまでに取る、様々なフォーマットを示している。特に、バウンドインストールプロファイルは、プリペンド及びセグメンテーションなどの幾つかの操作を実行することによって、ソフトウェアイメージから始まる幾つかの段階I~Vにおいて作成される。
【0037】
第1段階Iでは、イメージ発行者から提供されたイメージ501に、マニフェスト502及びマニフェスト署名501がプリペンドされる。マニフェスト502は、アップロードされる新しいソフトウェアイメージに関連する情報を含み、イメージが受け入れ可能であり、発行者が信頼できることを保証する。結果として生じたブロックには、まだ暗号化されていない平文データが含まれる。
【0038】
段階IIにおいて、SM-DP+11は、段階Iで得られたパッケージから、プロファイル要素TLV(タグ長値(Tag Length Value))のシーケンスTLV1、…、TLVn(510)を含む保護されていないイメージパッケージを生成し得る。好ましくは、TLVの構造は、SIMalliance eUICC Profile Package(Interoperable Format Technical Specification V2.0)に従う。
【0039】
段階IIIでは、SM-DP+11は、TLV暗号化及びMACingを適用することによって、保護されていないパッケージプロファイルから保護されたパッケージプロファイルを生成することができる。これらの操作は、好ましくは、GSMAの「Remote Provisioning of Embedded UICC Technical specification」V3.1に記載されているスキームに従い得る。好ましくは、TLV暗号化は、SM-DP+11によって生成されたプライベートプロファイル保護鍵PK-ENCを適用することによって行われる。その結果得られるデータブロックは、セグメント1~X(521)に分割される。
【0040】
段階IVでは、SM-DP+11は、段階IIIで得られた保護されたイメージパッケージを特定のeSIM/eUICCにリンクさせること又はバインドすることによって、バウンドインストールプロファイルパッケージ500を生成することができる。これは、eSIMとSM-DP+との間の鍵の共有によって行われる。
【0041】
最後に、段階Vでは、ヘッダ部分530及びデータ搬送部分520を有するバウンドインストールプロファイルパッケージ500は、ブロックにセグメント化され、eSIM又はセキュアエレメント100上の更新エージェント110に送られる。好ましくは、セグメントは、STORE DATAコマンドを介して送信される。
【0042】
上記のプロセスは、一組のターゲット(ブロードキャスト)又はある特定のターゲット(ユニキャスト)を対象とすることができ、唯一の違いは、プロセスに使用される鍵、及び鍵の導出に使用されるリモートオペレーションIDである。
【0043】
表1は、上記の
図9のスキームによって得られたバウンドインストールパッケージの構造を示す。この表は、タグ(T)、長さ(L)、及び値フィールド(値の説明)を含むTLVエントリを含む。
【0044】
【0045】
表のエントリは、以下を含む:
a)バウンドパッケージ署名(
図9、パッケージバインディング署名531)
タグ又はデータグループ識別子DGI(Data Group Identifier)「BF51」を有するこの部分は、任意選択のものである。これは、セキュアチャネル初期化及び保護鍵(存在する場合)TLVの署名から成る。更新エージェントの秘密鍵SK.ISSUER.ECDSAを使用して署名され、そのペアである公開鍵PKによって検証される。パッケージの認証部分の保護を可能にする。
b)セキュアチャネル初期化(
図9、532)
タグ又はデータグループ識別子DGI「BF23」を有するこの部分は、ターゲットeSIMと新しいリモートSIMプロビジョニングセッションを開くためにSM-DP+によって使用されるプロシージャを定義し、セッション鍵セットの導出のための情報を含む。これらの鍵は、保護された鍵、又は保護された鍵が存在しない場合はイメージセグメント541のシーケンスを保護するために使用され得る。
【0046】
このプロシージャは、顕著な相違点を有する、[GSMA_RSP] section 5.5.1内の同名の操作の応用である
(i)鍵導出のためのSharedInfo([GSMA_RSP] Annex Gに定義されている)は、EIDの代わりにリモートオペレーションID(ブロードキャスト又はユニキャスト)を使用する;
(ii)このスキームでは、鍵の共有(SK.EUICC.ECKA)に使用される鍵が固定されていると仮定して、トランザクションIDは保存され、リプレイ攻撃を回避するために使用される;
(iii)トランザクションIDは、SK.EUICC.ECKAが更新されるときにリセットされる;
(iv)タグ5F37の署名は、更新エージェントの秘密鍵SK.ISSUER.ECKAを用いて実行され、それのペアで検証されるものとする。
【0047】
セキュアチャネル初期化プロシージャは表2の構造によって定義される。
【0048】
【0049】
c)保護された鍵(
図9、533)
タグ「AT」には、ソフトウェア又はOSイメージを暗号化するために使用される鍵であるイメージ保護鍵が含まれる。存在しない場合は、イメージ保護鍵は、セキュアチャネル初期化において設定された、導出セッション鍵と等しい。存在する場合は、セッション鍵テンプレートは、表3に示される構造を有した、SCP03t保証(セキュアチャネル初期化における鍵の共有から導出された暗号化用のセッション鍵を使用する)タグ87TLVである。
【0050】
【0051】
d)イメージセグメントのシーケンス(
図9、521)
タグ「A3」には、マニフェスト署名503、マニフェスト502、及び幾つかのセグメントに分割されてロードされるイメージ501が含まれる。各セグメント521は、タグ86を有するTLVを含み、GSMA RSP22において定義されるようなSCP03tを使用して、鍵の共有で導出されたセッション鍵、又はバウンドパッケージ内に存在する場合はイメージ保護鍵の何れかを使用して保護される。あるセグメントにおいて保護されるコンテンツは、表4に示すエントリを含む、保護されていないパッケージである。
【0052】
【0053】
コンテンツの長さが提供されたサイズと一致しない場合、このレコードは、パターンレコードであり、指定されたサイズが満たされるまで、必要な回数だけコンテンツが書き込まれなければならない。最初の1つ又は複数のセグメントは、マニフェスト502を含むものとする。マニフェスト502は、イメージが受け入れ可能であり、発行者が信頼できることを保証する。
【0054】
更新エージェント110は、上記の構造を有するインストールパッケージを受信し、データ搬送部分からオペレーティングシステムを抽出し、オペレーティングシステムをセキュアエレメントにダウンロードすることができる。
【0055】
上記の構造を有するインストールパッケージを処理できるためには、更新エージェントは、複数の暗号鍵を用いてパーソナライズされ得る。このような鍵の例としては、以下を挙げることができる:
- インストールパッケージと共に受信したマニフェスト署名及びセキュアチャネル初期化署名を検証するための第1の鍵。この第1の鍵は、楕円曲線デジタル署名(ECDSA)鍵PK.KEY.EC-DSAであってもよい。
- インストールパッケージのイメージセグメントを処理するための鍵の共有のための鍵ペア、好ましくはマルチキャスト鍵ペア。この鍵ペアは、楕円曲線鍵共有(ECKA)鍵ペアSK_MC.EUICC.ECKAであってもよい。
- パッケージバインディング署名を検証するための第2の鍵。好ましくは、第2の鍵は、楕円曲線デジタル署名(ECDSA)鍵PK.OWN.ECDSAである。
【0056】
インストールパッケージを提供する外部エンティティ200は、それぞれの対応する以下の鍵を廃棄することができる。
- otSK.ISSUER.ECKA及びotPK.ISSUER.ECKA:これは、セッション鍵を計算するために使用されるワンタイム鍵ペアである。
- SK.ISSUER.ECDSA:これは、マニフェストに署名する(すなわち、マニフェスト署名を生成する)ため、セキュアチャネル初期化に署名する(すなわち、セキュアチャネル初期化署名を生成する)ため、及びイメージに署名する(すなわち、イメージ署名を生成する)ために使用される鍵である。
【0057】
図3~
図8を参照して、ある実施形態による、セキュアエレメントにオペレーティングシステムをダウンロードする方法を以下に説明する。
【0058】
図3は、本方法の一般的なフローチャートを示す。
図4~
図7は、好ましい実施形態による、
図3の方法のさらなるステップを示す。
【0059】
図8は、ある実施形態による、
図2のシステムアーキテクチャ上で本方法を実施するためのシーケンス図を示す。
【0060】
図3を参照すると、セキュアエレメント100にオペレーティングシステムをインストールするためのインストールパッケージ500が、第1のステップS1において更新エージェント110で受信される。インストールパッケージは、イメージサーバ300又は外部デバイス200などの、セキュアエレメントの外部のエンティティから送信される。外部デバイス200は、SE100を制御し、SE100と通信するエンティティを表し得る。それは、モバイル端末であってもよいし、又はSEが搭載されるデバイスであれば何であってもよい。
【0061】
更新エージェント110は、インストールパッケージの受信、及びソフトウェア更新の実行を担う、(OSから分離された)セキュアエレメント100内のエンティティである。更新エージェントは、セキュアエレメント100の工場生産時に、(初期)オペレーティングシステム(OS、
図2の130)と共にセキュアエレメント又はTREにロードされる。最初は、OS130が制御されているものと仮定され、これは、TRE100が起動するときに実行されるOSであることを意味する。
【0062】
したがって、更新エージェントは、新しいオペレーティングシステムを含むインストールパッケージを受信すると、ステップS2において、セキュアエレメントの制御を、初期オペレーティングシステムから更新エージェント110に移行するよう要求する。ファイルシステムを全く持たないセキュアエレメントを制御することにより、更新エージェントは、ステップS3において、新しいオペレーティングシステムをセキュアエレメントにロードすることができる。新しいオペレーティングシステムがセキュアエレメントにロードされた後、更新エージェントは、ステップS4において、新しいオペレーティングシステムに制御を移行する。
【0063】
上記の方法は、
図8に示されるように、更新エージェント110によって2つのフェーズで実施され得る。
【0064】
フェーズIでは、更新エージェント110は、ステップS11(これは、ステップS1のサブステップである、
図4を参照)において、マニフェスト502を含むセグメントまでの(マニフェスト502を含むセグメントを含む)インストールパッケージの最初の部分を受信する。すなわち、更新エージェントは、ヘッダ部分530を受信し、マニフェスト502を含むセグメントまでの、データ搬送部分520のセグメントにイニシャルで署名する。
【0065】
ステップS1のサブステップS13(
図4を参照)において、更新エージェントは、イメージが受け入れ可能であり、発行者が信頼できることを保証するために、マニフェストの署名503を検証する。好ましくは、更新エージェントは、マニフェストを検証するために更新エージェントに格納された第1の鍵を使用する。第1の鍵は、更新エージェントに格納された楕円曲線デジタル署名(ECDSA)鍵であってもよい。
【0066】
更新エージェントはさらに、第1の鍵を使用することによって、セキュアチャネル初期化署名532を検証することができる(
図4のステップS14)。
【0067】
任意選択的に、更新エージェントは、インストールパッケージの最初の部分を受信した後に実行されるステップS12において、更新エージェント110に格納された第2の鍵、特に楕円曲線デジタル署名(ECDSA)鍵を使用してパッケージバインディング署名を検証することによって、インストールパッケージを認証することができる。
【0068】
署名が検証された後、更新エージェントは、セキュアエレメントの制御を要求する(
図3のステップS2)。これは、
図5のステップS21~S23によって実施され得る。
【0069】
図5を参照すると、更新エージェントは、初期オペレーティングシステムから更新エージェントに制御を切り替えるためにリセットが必要であることを外部デバイスに示す(ステップS21)。リセットは、ステップS22で実行され、これを通じて更新エージェント110は、セキュアエレメント100の制御を引き受ける。セキュアエレメントの制御を引き受けると、更新エージェント100は、初期オペレーティングシステム130を削除することができる。
【0070】
上記のサブステップS11、S12、S13、S21、S22、S23により、
図8のフェーズIが完了する。
【0071】
図8のフェーズIIは、再起動が実行された後に開始され、
図6及び
図7のステップによって示されるように実施され得る。
【0072】
特に、更新エージェントは、外部デバイスからインストールパッケージを再び受信することができる(
図6のS31)。ただし今回は、複数のイメージセグメント521を含む完全なインストールパッケージ500が受信され、複数のイメージセグメントは、マニフェスト502、マニフェスト署名503、及びオペレーティングシステムの(新しい)イメージ501を搬送する。各イメージセグメントは、イメージ保護鍵533のペアを用いて保護され得る。
【0073】
ステップS32では、更新エージェント110は、インストールパッケージの完全性を検証する。鍵のセットは、インストールパッケージの完全性を確立するために使用されてもよい。好ましくは、インストールパッケージ500の完全性を保証するために、鍵のセット(例えば、マルチキャスト鍵ペア)が、鍵共有プロセスを通じて外部デバイス200とセキュアエレメント100との間で確立され、SCP03tアルゴリズムに基づく保護スキームを実施するために使用され得る。インストールパッケージを処理できるためには、後述するように、更新エージェントは、この鍵ペアでパーソナライズされる。
【0074】
インストールパッケージの完全性を検証した後、更新エージェント110は、ステップS33において、対応するイメージセグメント501からオペレーティングシステムを抽出し、ステップS34において、(新しい又は更新された)オペレーティングシステムをセキュアエレメントのメモリに格納する。
【0075】
オペレーティングシステムのダウンロードが正常に完了すると、更新エージェント110は、セキュアエレメント100の制御をオペレーティングシステムに移行する(
図3のステップS4)。制御の移行は、
図7に示されるステップS41~S43によって実施され得る。
【0076】
図7を参照すると、更新エージェント110は、ダウンロードが完了したことを外部デバイスに示す(ステップ41)。新たにインストールされたオペレーティングシステムにセキュアエレメントの制御を移行するためには、リセットが必要な場合がある(ステップS42)。これにより、
図8のフェーズIIが完了する。
【0077】
図3のオペレーティングシステムをダウンロードする方法を実施するための
図4~
図7の上記の例示的実施形態では、更新エージェントは、インストールパッケージをセグメントごとに外部デバイスから受信し、
図8のフェーズIでは、マニフェストまでの(マニフェストを含む)、インストールパッケージの最初のセグメントが受信される。更新エージェントが進行し、マニフェストを受け入れた後、システムが再起動され、フェーズII中に、更新エージェントは、完全なインストールパッケージを受信し、その中に含まれるオペレーティングシステムを抽出する。
【0078】
図3の方法の代替実装形態では、更新エージェントは、フェーズI中に完全なインストールパッケージを受信し、それをローカルメモリに格納し、マニフェストを含むセグメントまでの(マニフェストを含むセグメントを含む)インストールパッケージをセグメントごとに処理し得る。この場合、
図4のステップS11は、僅かに異なってもよく、マニフェストセグメントに達するまでインストールパッケージを処理するよう更新エージェントに要求し得る。残りのステップS12~S14は、変更されないままであってもよい。システムリセット(この間に、更新エージェントがセキュアエレメントの制御を引き受ける)後に、外部デバイスは、インストールパッケージ全体を、更新エージェントが既にそれを受信済みであるため、もはや送信する必要はない。
図6のステップS31は、時代遅れになり得る。第1の実装形態に関連して図示した残りのすべてのステップ及びサブステップは、代替実装形態内で同様に実行することができる。
【0079】
本明細書に記載される態様及び実施形態は、セキュアエレメントの製造後の任意の時点で、セキュアエレメント上のソフトウェア、特にオペレーティングシステムを更新し、その結果、セキュアエレメントを市場の進化に合わせて最新の状態に保ち、並びにセキュアエレメントのライフサイクルの任意の時点で、パッチ、セキュリティ、及びバグ修正を提供するための効率的且つ安全な解決策を提供する。
【0080】
前述の明細書では、本発明の特定の実施形態に関連して本発明を説明している。しかしながら、本発明のより広い範囲から逸脱することなく、様々な修正及び変更がそれらに行われ得ることは明らかであろう。例えば、上記のプロセスフローは、プロセスアクションの特定の順序に関連して説明されている。しかしながら、記載したプロセスアクションの多くの順序は、本発明の範囲又は動作に影響を与えることなく変更され得る。したがって、本明細書及び図面は、制限的な意味ではなく例示的な意味で解釈されるものとする。
【国際調査報告】