(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-17
(54)【発明の名称】アップデートエージェントにソフトウェアアップデートを提供するための暗号化スキーム
(51)【国際特許分類】
G06F 21/57 20130101AFI20240709BHJP
H04L 9/32 20060101ALI20240709BHJP
G06F 21/60 20130101ALI20240709BHJP
G06F 8/654 20180101ALI20240709BHJP
G09C 1/00 20060101ALI20240709BHJP
【FI】
G06F21/57
H04L9/32 200A
H04L9/32 200E
G06F21/60 320
G06F21/60 360
G06F8/654
G09C1/00 610A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023575673
(86)(22)【出願日】2022-06-29
(85)【翻訳文提出日】2024-01-19
(86)【国際出願番号】 EP2022025295
(87)【国際公開番号】W WO2023274579
(87)【国際公開日】2023-01-05
(32)【優先日】2021-06-30
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】523479709
【氏名又は名称】ギーゼッケプラスデフリエント モバイル セキュリティ ジャーマニー ゲーエムベーハー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ジフレ,クララ
(72)【発明者】
【氏名】パティーノ,デイビッド
(72)【発明者】
【氏名】ルアウ,フェデリコ
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AB25
5B376AB32
5B376AB45
5B376GA04
(57)【要約】
【課題】セキュアエレメント上で更新されるソフトウェアイメージの暗号化を管理するための効率的及び安全なソリューションを提供する。
【解決手段】本発明は、セキュアエレメントにソフトウェアイメージを提供するための暗号化スキームを実装するための方法、機器、及びシステムに関する。ソフトウェアイメージを暗号化ブロックのシーケンスに変換し、保護されたブロックのシーケンスを得るためにそれを認証タグで保護し、次いでセキュアエレメント上のアップデートエージェントに伝送する。ソフトウェアイメージを暗号化ブロックのシーケンスに変換するステップ及び暗号化ブロックのシーケンスを認証タグで保護するステップは同じブロック暗号を使用する認証付き暗号化関数によって実装される。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ソフトウェアイメージをセキュアエレメントに提供するための方法であって、
-前記ソフトウェアイメージを暗号化ブロックのシーケンスに変換すること(S1)、
-前記暗号化ブロックのシーケンスを認証タグで保護して、保護されたブロックのシーケンスを得ること(S2)、
-前記保護されたブロックのシーケンスを前記セキュアエレメント(100)上のアップデートエージェント(110)に伝送すること(S3)
を含み、
変換すること及び保護することの前記ステップは同じブロック暗号を使用する認証付き暗号化関数によって実装される、
方法。
【請求項2】
前記ソフトウェアイメージを入力ブロックのシーケンスにセグメント化すること(S11)を更に含み、前記認証付き暗号化関数は前記ブロック暗号を使用して各入力ブロックを暗号化し、それにより前記暗号化ブロックのシーケンスを得る、請求項1に記載の方法。
【請求項3】
前記認証付き暗号化関数は、
-前記ブロック暗号の順方向暗号関数を各入力ブロックに適用して出力ブロックのシーケンスを得ること(S12)、及び
-入力ブロック及び対応する出力ブロックの各対に対して排他的論理和演算を実行して前記暗号化ブロックのシーケンスを得ること(S13)
によって各入力ブロックを暗号化する、請求項2に記載の方法。
【請求項4】
前記暗号化ブロックのシーケンスを追加認証データと連結すること(S24)を更に含む、請求項2又は3に記載の方法。
【請求項5】
前記認証付き暗号化関数は、ハッシュタグを得るために前記暗号化ブロックのシーケンスにハッシュ関数を適用し(S21)、前記ハッシュ関数は前記ブロック暗号を使用して生成される、請求項2乃至4の何れか一項に記載の方法。
【請求項6】
前記ハッシュ関数が有限ガロア体における演算に基づくGHASH関数である、請求項5に記載の方法。
【請求項7】
前記認証タグを得るためにノンスを使用して前記ハッシュタグを暗号化すること(S22)を更に含む、請求項5又は6に記載の方法。
【請求項8】
前記保護されたブロックのシーケンスを得るために、前記暗号化ブロックの連結シーケンスに前記認証タグを付加すること(S23)を更に含む、請求項7に記載の方法。
【請求項9】
前記保護されたブロックのシーケンスを前記セキュアエレメント内の前記アップデートエージェントに伝送すること(S3)は、前記保護されたブロックのシーケンスをセグメント化すること(S31)であって、先頭から最後以外のセグメントは前記暗号化されたソフトウェアイメージの一部を搬送し、前記最後のセグメントは前記認証タグを搬送する、セグメント化すること(S31)、及び前記セグメントを前記アップデートエージェント(110)に伝送すること(S32)を含む、請求項1乃至8の何れか一項に記載の方法。
【請求項10】
保護されたソフトウェアアップデートをバウンドインストレーションパッケージ(500)によってセキュアエレメント(100)に提供するように構成されるサーバ(300)、具体的にはサブスクリプションマネージャデータ準備サーバであって、ソフトウェアイメージ(501)を暗号化するためにブロック暗号を使用する認証付き暗号化関数を実装することによって前記ソフトウェアイメージ(501)から前記バウンドインストレーションパッケージ(500)を生成し、前記暗号化したソフトウェアイメージに対する認証タグ(522)を計算するように構成されている、サーバ(300)。
【請求項11】
請求項2乃至9の何れか一項に記載の方法を実行するように更に構成される、請求項10に記載のサーバ(300)。
【請求項12】
モバイル装置(200)にサービスを提供するためのモバイルネットワークシステム(1)であって、前記モバイル装置(200)はセキュアエレメント(100)を含み、前記システム(1)は、保護されたソフトウェアアップデートをバウンドインストレーションパッケージ(500)によって前記セキュアエレメント(100)に提供するように構成されるサーバ(300)、具体的にはサブスクリプションマネージャデータ準備サーバを含み、前記サーバ(300)は、
-ブロック暗号を使用してソフトウェアイメージ(501)を暗号化するために、及び同じブロック暗号を使用して前記暗号化したソフトウェアイメージに対する認証タグ(522)を計算するために、前記ブロック暗号を使用する認証付き暗号化関数を実装すること、並びに
-保護されたブロックのシーケンスを前記セキュアエレメント(100)上のアップデートエージェント(110)に伝送すること
を実行することによって前記保護されたソフトウェアアップデートを含む前記ソフトウェアイメージ(501)に由来する前記バウンドインストレーションパッケージ(500)を生成するように構成される、モバイルネットワークシステム(1)。
【請求項13】
セキュアエレメント(100)上にソフトウェアアップデートをインストールするために前記セキュアエレメント(100)内で使用するためのアップデートエージェント(110)であって、
-前記ソフトウェアアップデートを実行するためのソフトウェアイメージ(501)を含む保護されたセグメント(523)のシーケンスを受信することであって、前記保護されたセグメント(523)のシーケンスは請求項1乃至9の何れか一項に記載の方法によって生成されており、暗号化ブロック(521)及び認証タグ(522)のシーケンスを含む、受信すること、及び
-前記暗号化ブロックのシーケンス(521)から前記ソフトウェアイメージ(501)を抽出するために、及び前記認証タグ(522)を確認することによって前記ソフトウェアイメージ(501)を認証するために認証付き復号化関数を実装すること
を行うように構成される、アップデートエージェント(110)。
【請求項14】
前記アップデートエージェント(110)は、前記認証タグ(522)が確認される場合は前記ソフトウェアイメージ(501)を使用してソフトウェアアップデートを実行し、さもなければ失敗メッセージを返すように構成される、請求項13に記載のアップデートエージェント(110)。
【請求項15】
保護されたソフトウェアイメージをセキュアエレメント(100)に提供するための非一時的コンピュータ可読媒体であって、プロセッサ上で実行されるとき次のステップ、つまり
-ブロック暗号を使用してソフトウェアイメージ(501)を暗号化し、前記暗号化したソフトウェアイメージに対する認証タグ(522)を計算するための認証付き暗号化関数を実装することにより、前記ソフトウェアイメージ(501)からバウンドインストレーションパッケージ(500)を生成すること、及び
-前記バウンドインストレーションパッケージを前記セキュアエレメント(100)上のアップデートエージェント(110)に伝送すること
を実行する記憶済み命令を含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セキュアエレメント上のオペレーティングシステム等のソフトウェアを更新することに関し、より詳細には、セキュアエレメントにソフトウェアイメージを提供するための暗号化スキームを実装するための方法、アップデートエージェント、及びシステムに関する。
【背景技術】
【0002】
発明の背景
近年、モバイルネットワーク上で通信するための電子加入者プロファイルを採用するように構成されたモバイル装置が出現している。かかるモバイル装置は、幾つか例を挙げると電子/組込み型汎用集積回路カード(eUICC)、smart SD、又はsmart microSD等の電子/組込み型セキュアエレメント(SE)を含むスマートカードを典型的には備える。
【0003】
セキュアエレメントとは、アプリケーションコード及びアプリケーションデータを安全に記憶し管理することができる、スマートカード/装置内の安全なメモリ及び実行環境を提供する耐タンパエレメント、TREのことである。セキュアエレメントは、カード上に記憶されたデータへのアクセスが承認時にのみ提供されることを確実にする。
【0004】
モバイル装置等の電気通信製品で使用されるように設計されたセキュアエレメントは、モバイル装置が1つ又は複数のモバイルネットワークに接続することを可能にし得る、1つ又は複数の電子加入者プロファイル、特に電子加入者識別モジュール(eSIM)プロファイルを記憶するように構成される。加入者プロファイル(例えばeSIMプロファイル)は、モバイルネットワークオペレータ(MNO)によって生成される場合があり、モバイルネットワーク装置にダウンロードされ得る。その後、加入者プロファイルはモバイル装置のセキュアエレメント上にインストールされ、モバイル装置による対応するモバイルネットワークを介した通信に使用され得る。
【0005】
歴史的に、セキュアエレメントのソフトウェアは製造段階を越えると変化しない。つまり、セキュアエレメント内のソフトウェアに関係する何らかの問題(新たな攻撃又は脆弱性、セクタの仕様に関する新たな更新、セキュアエレメントを使用する装置の予想ライフサイクル)が発見された場合、可能な唯一のアクションはセキュアエレメント全体を変更することである。セキュアエレメント全体を変更しなければならないことは、特に工場内の認証された環境内で製造を行われなければならない場合、(製造後のソフトウェアアップデートが不可能なので)製造の面で市場の需要に遅れずにいることをとりわけ困難にする。
【0006】
GSMAリモートプロビジョニングアーキテクチャは、セキュアエレメント(SE)又は耐タンパエレメント(TRE)上にソフトウェアをロードする手続きを実装するためのプラットフォームを提供する。GSMAプラットフォームは、プロファイルのアップデートを含むバウンドインストレーションパッケージをセキュアエレメントに提供することにより、セキュアエレメント内に記憶されているプロファイルの変更を実装することを可能にする。
【0007】
バウンドインストレーションパッケージの完全性を保証するために、GSMAリモートプロビジョニングアーキテクチャはSCP03tアルゴリズムに基づく暗号化スキームを実装する。SCP03tアルゴリズムは高度暗号化標準(AES)の中で定義された2つの異なる暗号化アルゴリズム、即ち機密性を確保するための第1のアルゴリズムAES CBCと、認証及び完全性を付与するための第2のアルゴリズムAES CMACとを含む。つまりSCP03tは、Encrypt-the-MACの様式に従い、暗号化及び完全性/真正性のための別々のアルゴリズムを有する。
【0008】
GSMAプラットフォーム内で実装されるこの暗号化スキームは、ロードに使用されるプロファイルを含むバウンドプロファイルパッケージを準備できるまでにTREとサーバとの間の数回のやり取りを必要とし、新しいソフトウェアのブロードキャスト展開には最適ではない可能性がある。
【0009】
加えて、複雑なSPC03tベースのセキュリティスキームが原因で、セキュアエレメントに提供されるバウンドプロファイルパッケージは複雑な構造を有する。セキュアエレメント内のアップデートエージェントは、バウンドプロファイルパッケージを受信すると、バウンドプロファイルパッケージから必要なデータを抽出できるように時間のかかる復号化アルゴリズムを実行する必要がある。
【0010】
更に、提供されるセキュリティスキームは新しいオペレーティングシステム等の重要なデータを展開するのに必要であり得る追加の保護レイヤを欠くので、GSMAプラットフォームは例えばオペレーティングシステムの変更等、SE/TRE内に存在する基本ソフトウェアの変更を実装することを認めない。
【0011】
最近、SE/TREの製造段階が終了した後、SE/ITR上にインストールされたオペレーティングシステムの更新を容易にするオペレーティングシステムの更新スキームが導入されている。
【0012】
ダウンロード/アップデートセキュリティスキームの用途の一部は、幾つかの理由から可能な限り高速であることを必要とする場合がある。一部の例は、製造ライン上の幾つかのターゲットにこのスキームを適用する必要があること、又はセキュアエレメントが装置のアップデートの一環として更新され、装置の製造者が制限を設定していること等、このプロセスが別のプロセス内で割り当てられていることによりかかる制約を有することであり得る。従って、セキュアエレメント上へのセキュアソフトウェアダウンロードを容易にするためのSCP03tベースのセキュリティスキームを実装する場合、ソフトウェアアップデート中の遅延を最小限に抑えるという顧客の要求を満たすことは困難である。
【0013】
従って、上述の欠点に対処する、より効率的なやり方でソフトウェアイメージの暗号化を管理するためのソリューションを提供することが望ましい。
【発明の概要】
【課題を解決するための手段】
【0014】
発明の概要
本発明は、独立請求項の適用範囲に含まれる内容によって上記の目的に対処する。本発明の好ましい実施形態は従属請求項の中で定義されている。
【0015】
本発明の第1の態様によれば、ソフトウェアイメージをセキュアエレメントに提供するための方法が提供され、この方法は、ソフトウェアイメージを暗号化ブロックのシーケンスに変換すること、暗号化ブロックのシーケンスを認証タグで保護して、保護されたブロックのシーケンスを得ること、及び保護されたブロックのシーケンスをセキュアエレメント上のアップデートエージェントに伝送することを含む。ソフトウェアイメージを暗号化ブロックのシーケンスに変換するステップ及び暗号化ブロックのシーケンスを認証タグで保護するステップは、同じブロック暗号を使用する認証付き暗号化関数によって実装される。
【0016】
提案する方法は、セキュアエレメントの製造が完了した後、セキュアエレメント上にロードするためのソフトウェアを暗号化するための効率的及び安全なソリューションを提供する。暗号化及び認証の両方に同じブロック暗号を使用する認証付き暗号化関数を採用することは、効率的で安全なソリューションをもたらすだけでなく、低コスト及び低遅延でありながら速い速度を実現可能なハードウェア実装を容易にする。高いデータスループットを必要とするアプリケーションは、これらの高速実装の恩恵を受けることができる。
【0017】
本発明の一部の実施形態では、本方法は、ソフトウェアイメージを入力ブロックのシーケンスにセグメント化することを更に含み、認証付き暗号化関数はブロック暗号を使用して各入力ブロックを暗号化し、それにより暗号化ブロックのシーケンスを得る。
【0018】
本発明の一部の実施形態では、認証付き暗号化関数は、ブロック暗号の順方向暗号関数を各入力ブロックに適用して出力ブロックのシーケンスを取得し、入力ブロック及び対応する出力ブロックの各対に対して排他的論理和(XOR)演算を実行して暗号化ブロックのシーケンスを得ることによって各入力ブロックを暗号化する。
【0019】
この実装形態の1つの利点は、ブロック暗号の順(暗号化)方向を暗号化及び復号化の両方に使用できることである。低減されたフットプリント(例えばより少ないメモリ)を有するハードウェアによって手続きを実装することができるので、このことはセキュリティスキームの実装を単純化する。更に、AES(高度暗号化標準)等のブロック暗号では、内部係数がこの方向について最適化されているので、復号化よりも効率的な暗号化を実装する方が容易な場合が多くあり得る。
【0020】
本発明の一部の実施形態では、本方法は、暗号化ブロックのシーケンスを追加認証データと更に連結することを含む。好ましくは、追加認証データは、例えば基礎となる交換プロトコル、具体的にはプロトコルのバージョン番号、メッセージ固有のナンス、受信者のアドレス等の暗号化テキスト自体の外側にある特定の構成可能なパラメータを含む。
【0021】
追加認証データは認証タグの確認によって暗号化テキストと共に検証できるので、追加認証データを使用することはこれらのパラメータを検証できるようにする。攻撃者は、例えば以前の安全性が低いプロトコル番号に切り替えることによりこれらのパラメータを単純に変更することはできない。
【0022】
本発明の一部の実施形態では、認証付き暗号化関数は、ハッシュタグを得るために暗号化ブロックのシーケンスにハッシュ関数を更に適用することを含み、ハッシュ関数はブロック暗号を使用して生成される。
【0023】
好ましくは、ハッシュ関数は、有限ガロア体における演算、特に乗算に基づくGHASH関数である。GHASH関数は、AES(高度暗号化標準)内で実装されているGCM(ガロア/カウンタモード)アルゴリズムによってメッセージ認証コードを生成するために使用され、GHASHを使用して認証されるが平文として伝送される追加認証データ(AAD)もサポートする。
【0024】
ガロア体乗算と共にデータブロックごとに1つのAES計算だけを使用し、各ブロックに追加する更なるMACを使用することなく、セキュアエレメントに伝送される保護されたブロックの機密性及び真正性の両方が保証される。従って、より多くのデータをブロック内に詰め込むことができ、伝送されるバウンドインストレーションパッケージの長さを短縮することができる。
【0025】
好ましくは、ハッシュタグは、認証タグを得るためにノンスを使用して暗号化される。これにより機密性及び完全性が更に向上する。
【0026】
本発明の一部の実施形態では、保護されたブロックのシーケンスを得るために、暗号化ブロックの連結シーケンスに認証タグが付加される。
【0027】
認証タグは、暗号化データの真正性を保証するために、つまりデータの偶発的なエラー又は意図的な変更を明らかにするためにタグベースの認証メカニズムをサポートする。
【0028】
好ましくは、認証タグは暗号化ブロック内の暗号化データに対する暗号チェックサムを含む。
【0029】
本発明の一部の実施形態では、保護されたブロックのシーケンスをセキュアエレメント上のアップデートエージェントに伝送することは、保護されたブロックのシーケンスをセグメント化することであって、先頭から最後以外のセグメントは暗号化されたソフトウェアイメージの一部を搬送し、最後のセグメントは認証タグを搬送する、セグメント化すること、及びセグメントをアップデートエージェントに伝送することを含む。
【0030】
このようにして、伝送されるデータ(即ちソフトウェアイメージ、アップデート、プロファイル)のコンパクトな表現が実現され、この場合各セグメントはより多くのデータを含む。データを多く含むことは完全な配信パッケージのサイズを小さくする。
【0031】
本発明の第2の態様によれば、保護されたソフトウェアアップデートをバウンドインストレーションパッケージによってセキュアエレメントに提供するように構成されるサーバ、具体的にはサブスクリプションマネージャデータ準備サーバが提供され、このサーバは、ソフトウェアイメージを暗号化するためにブロック暗号を使用する認証付き暗号化関数を実装することによってソフトウェアイメージからバウンドインストレーションパッケージを生成し、暗号化したソフトウェアイメージに対する認証タグを計算するように構成されている。
【0032】
第2の態様による本発明の一部の実施形態では、サーバが第1の態様による方法を実行するように構成される。
【0033】
本発明の第3の態様によれば、モバイル装置にサービスを提供するためのモバイルネットワークシステムが提供され、モバイル装置はセキュアエレメントを含み、このシステムは、保護されたソフトウェアアップデートをバウンドインストレーションパッケージによってセキュアエレメントに提供するように構成されるサーバ、具体的にはサブスクリプションマネージャデータ準備サーバを含み、このサーバは、ブロック暗号を使用してソフトウェアイメージを暗号化するために、及び同じブロック暗号を使用して暗号化したソフトウェアイメージに対する認証タグを計算するために、ブロック暗号を使用する認証付き暗号化関数を実装すること、並びに保護されたブロックのシーケンスをセキュアエレメント上のアップデートエージェントに伝送することを実行することによってソフトウェアイメージからバウンドインストレーションパッケージを生成するように構成される。
【0034】
本発明の第4の態様によれば、セキュアエレメント上にソフトウェアアップデートをインストールするためにセキュアエレメント内で使用するためのアップデートエージェントが提供され、アップデートエージェントは:ソフトウェアアップデートを実行するためのソフトウェアイメージを含む保護されたセグメントのシーケンスを受信することであって、シーケンスは第1の態様の方法によって生成されており、暗号化ブロック及び認証タグのシーケンスを含む、受信すること、暗号化ブロックのシーケンスからソフトウェアイメージを抽出し、認証タグを確認することによってソフトウェアイメージを認証するために認証付き復号化関数を実装することを行うように構成されている。
【0035】
好ましくは、アップデートエージェントは、認証タグが確認される場合はソフトウェアイメージを使用してソフトウェアアップデートを実行し、さもなければ失敗メッセージを返すように構成される。
【0036】
本発明の第5の態様によれば、プロセッサによって実行されるとき次のステップ、つまりブロック暗号を使用してソフトウェアイメージを暗号化し、暗号化したソフトウェアイメージに対する認証タグを計算するための認証付き暗号化関数を実装することにより、セキュアエレメントに提供されるソフトウェアイメージからバウンドインストレーションパッケージを生成すること、及び保護されたブロックのシーケンスをセキュアエレメント上のアップデートエージェントに伝送することを実行する記憶済み命令を含む、保護されたソフトウェアイメージをセキュアエレメントに提供するための非一時的コンピュータ可読媒体が提供される。
【0037】
本明細書に記載する態様及び実施形態は、セキュアエレメント上で更新されるソフトウェアイメージの暗号化を管理するための効率的及び安全なソリューションを提供する。
【0038】
本願に記載する全ての装置、要素、ユニット、及び手段は、ソフトウェア若しくはハードウェア要素又はそれらの組み合わせによって実装され得ることに留意しなければならない。本願に記載する様々なエンティティによって実行される全てのステップ並びに記載する機能は、それぞれのエンティティがそれぞれのステップ及び機能を実行するように適応され又は構成されていることを意味することを意図する。
【0039】
本発明の好ましい実施形態及び改変形態に関する以下の詳細な説明を添付図面と併せて検討すれば、本発明の更なる態様、特徴、及び利点が当業者に明らかになる。
【0040】
図面の簡単な説明
次に添付図面を参照する。
【図面の簡単な説明】
【0041】
【
図1】一実施形態による、リモートeSIMプロビジョニングシステムの簡略表現を示す。
【
図2】
図1のeSIMプロビジョニングシステム上でソフトウェア/OSアップデートを実行するためのセキュリティスキームを示す。
【
図3】本発明の一実施形態による、ソフトウェア/OSアップデートを実行するための修正されたセキュリティスキームを示す。
【
図4】一実施形態による、セキュアエレメントにソフトウェアイメージを提供するための方法の流れ図を示す。
【
図5】好ましい実施形態による
図4の方法のステップの実装を示す。
【
図6】好ましい実施形態による
図4の方法のステップの実装を示す。
【
図7】好ましい実施形態による
図4の方法のステップの実装を示す。
【発明を実施するための形態】
【0042】
詳細な説明
以下、本発明の具体的な実施形態の例を示す添付図面を参照しながら本発明の詳細な説明を行う。これらの実施形態は、当業者が本発明を実施できるようにするために十分詳細に説明されている。本発明の様々な実施形態は、異なるが必ずしも相互に排他的ではないことを理解すべきである。例えば或る実施形態に関連して本明細書に記載する特定の特徴、構造、又は特性は、本発明の範囲から逸脱することなく他の実施形態の中で実装され得る。加えて、開示する各実施形態の中の個々の要素の位置又は配置は、本発明の範囲から逸脱することなく修正され得ることを理解すべきである。従って以下の詳細な説明は限定的な意味で解釈すべきではなく、本発明の範囲は、特許請求の範囲が権利を与える等価物の全範囲と共に適切に解釈される添付の特許請求の範囲によってのみ定義される。図中、同様の数字は幾つかの図面を通して同一の又は同様の機能を指す。
【0043】
図1は、本発明の特定の実施形態によるSM-DP+ベースのシステム1の例示的アーキテクチャを示す。このアーキテクチャは、GSM協会によって発行されたSGP.22 RSP Technical Specification, Version 2.0(以下、GSMA RSP22と呼ぶ)に記載されているGSMAアーキテクチャの適応である。eSIMプロビジョニングシステム1は、SM-DP+(サブスクリプションマネージャ-データ準備及びセキュアルーティング300)、SM-DS(サブスクリプションマネージャ-ディスカバリサーバ310)、LPA(ローカルプロファイルアシスタンス250)、及びeUICC100という幾つかの要素を中心に組織化されており、後者はエンドユーザ330のモバイル装置200の一部である。
【0044】
SM-DP+300は、MNO320が提供する加入者プロファイルの作成、ダウンロード、リモート管理(有効化、無効化、アップデート、削除)、及び保護を担う。特にSM-DP+300は、バウンドプロファイルパッケージ又はバウンドインストレーションパッケージ内でプロファイルを提供し、バウンドプロファイル/インストレーションパッケージを安全に伝送することを可能にするように構成することができる。
【0045】
LPA(ローカルプロファイルアシスタント250)は、eUICC/TRE/SE100に(暗号化された)プロファイルをダウンロードする機能を与えることを担う装置200内の機能集合である。LPA250は、エンドユーザ330がeUICC/TRE/SE100上のプロファイルのステータスを管理できるように、エンドユーザ330にローカル管理エンドユーザインターフェイスも提示する。
【0046】
SM-DS310は、SM-DP+300がeUICC/TRE/SE100と通信するための手段を提供する。
【0047】
外部装置200は、SE100を制御する及びSE100と通信するエンティティを表すことができる。外部装置200は、携帯端末又はSEが搭載されている装置であれば何でもよい。
【0048】
アップデートエージェント110は、インストレーションパッケージの受信及びソフトウェアアップデートの実行を担当するセキュアエレメント100内の(OS130から分離された)エンティティである。アップデートエージェントは、セキュアエレメント100の工場製造中に(初期の)オペレーティングシステム(
図1のOS130)と共にセキュアエレメント又はTRE上にロードされる。最初はOS130が制御を行っていると想定され、OS130はTRE100が起動したときに実行されるOSであることを意味する。
【0049】
図2は、バウンドインストレーションパッケージ(略してインストレーションパッケージ)によってソフトウェアイメージ(例えばオペレーティングシステム、OS、イメージ)を
図1のセキュアエレメント100に提供するためのソフトウェアアップデートセキュリティスキームを示す。アップデートのためのソフトウェアイメージを提供するためのスキームは、GSMA RSP22から知られている全般的なスキームを
図1のアーキテクチャに適応させる。
【0050】
図2の図面は、プロファイルパッケージ(即ちバウンドインストレーションプロファイル)が生成されてからセキュアエレメント上にダウンロードされるまでにプロファイルパッケージが取る様々な形式を示す。具体的には、バウンドインストレーションプロファイルは、付加及びセグメント化等の幾つかの操作を実行することにより、ソフトウェアイメージから始まる幾つかのステージIからVにおいて作成される。
【0051】
最初のステージIでは、イメージ発行者によって提供されるイメージ501に、マニフェスト502及びマニフェスト署名501が付加される。マニフェスト502は、アップロードされる新しいソフトウェアイメージに関する情報を含み、イメージが受け入れ可能であること及び発行者が信頼できることを保証する。結果として生じるブロックは、まだ暗号化されていない可読データを含む。
【0052】
ステージIIで、SM-DP+300は、プロファイルエレメントのTLV(タグ長値)TLV1,...,TLVn510のシーケンスを含む保護されていないイメージパッケージをステージIで得たパッケージから生成することができる。好ましくは、TLVはSIMalliance eUICC Profile Package: Interoperable Format Technical Specification V2.0によるものである。
【0053】
ステージIIIで、SM-DP+300は、TLV暗号化及びMACingを適用することにより、保護されていないパッケージプロファイルから保護されたパッケージプロファイルを生成することができる。これらの操作は、好ましくはGSMA “Remote Provisioning of Embedded UICC Technical specification” V3.1に記載されているスキームをたどることができる。好ましくは、TLV暗号化はSM-DP+300によって生成されたプライベートプロファイル保護鍵PK-ENCを適用することによって行われる。結果として生じるデータブロックは、セグメント1からX521に分割される。
【0054】
ステージIVで、SM-DP+300は、ステージIIIで得た保護されたイメージパッケージを特定のeSIM/eUICCにリンク又はバインドすることにより、バウンドインストレーションプロファイルパッケージ500を生成することができる。これはeSIMとSM-DP+との間の鍵合意によって行われる。
【0055】
最後にステージVで、ヘッダ部分530及びデータ搬送部分520を有するバウンドインストレーションプロファイルパッケージ500をブロックにセグメント化し、eSIM又はセキュアエレメント100上のアップデートエージェント110に配信する。好ましくは、セグメントはデータ記憶(STORE DATA)コマンドによって送信される。
【0056】
図2のスキームは、ステージIIIにおける暗号化及び認証を実装するための(例えばSGP.02 = v4.2 section 4.1.3.3に記載されている)SCP03tアルゴリズムに基づく。具体的には、SCP03tアルゴリズムは、高度暗号化標準(AES)で定義された2つの異なる暗号化アルゴリズム、即ち機密性を保証するための第1のアルゴリズムであるAES CBCと、認証及び完全性を付与するための第2のアルゴリズムであるAES CMACとを含む。つまりSCP03tはEncrypt-the-MACの様式に従い、暗号化及び完全性/真正性のための別々のアルゴリズムを有する。
【0057】
図1の適応されたGSMAリモートプロビジョニングアーキテクチャ上に実装され得る上述のソフトウェアアップデートセキュリティスキームは、ロードに使用されるバウンドプロファイルパッケージを準備できるまでにセキュアエレメント(又はTRE)100とSM-DP+サーバ300との間の数回のやり取りを必要とし、新しいソフトウェアのブロードキャスト展開には最適ではない可能性がある。このスキームは、新しいOS等の重要なデータを展開するのに必要であり得る追加の保護レイヤも欠いている。
【0058】
加えて、セキュアエレメント内のアップデートエージェントは、受信したインストレーションパッケージからソフトウェアアップデートを抽出できるように時間のかかる復号化アルゴリズムを実行する必要がある。
【0059】
従って上述のセキュリティスキームを実装する場合、ソフトウェアアップデート中の遅延を最小限に抑えるという顧客の要求を満たすことができない。
【0060】
この問題に対処するために、本発明はイメージセグメントの暗号化をより効率的なやり方で管理するための方法、機器、及びシステムを提案する。具体的には、
図2のセキュリティスキームのステージIIIにおいてSM-DP+サーバ300が実装するためのより高速な暗号化スキームを提案する。
【0061】
提案する暗号化スキームはAES GCM(ガロア/カウンタモード)に基づく。AES GCMは、MACを追加する必要なく、ガロア体乗算と共にデータブロックごとに1つのAES計算だけを使用して機密性及び真正性の両方を付与する。
【0062】
図3は、本発明の一実施形態による、ソフトウェア/OSアップデートを実行するために使用される保護されたソフトウェアパッケージを生成するための修正されたセキュリティスキームを示す。この修正されたセキュリティスキームは、
図4から
図7に関して以下で更に説明する、ステージIIIで実装される新規のパッケージ保護スキームに基づく。
【0063】
n個のセグメント523のそれぞれは、暗号化されたソフトウェアイメージを含むブロック又はセグメントである暗号化ブロック521を搬送する。最後のセグメント524は、認証タグ522を搬送する。認証タグは、暗号化ブロック内の暗号化データに対する暗号チェックサムであり得る。認証タグは暗号化データの真正性を保証するように、つまりデータの偶発的なエラー又は意図的な修正を明らかにするように設計され得る。
【0064】
この新しいスキームは、2つの異なるアルゴリズムを使用する従来の実装と比較してAES CGMの全体的性能がより優れていることを利用する。それぞれの保護されたイメージセグメント内でMACを送信する必要がもうなくなるため、各セグメント内により多くのデータを詰め込むことができ、結果としてセキュアエレメントに配信されるインストレーションパッケージ全体のサイズが小さくなる。
【0065】
図3のセキュリティスキームを実装する、セキュアエレメントにソフトウェアイメージを提供するための方法を
図4から
図7に示す。
図4は主なステップの流れ図を示し、
図5から
図7は
図4からの主なステップの好ましい実装形態を示す。本方法は、
図1のSM-DP+サーバ300等のサーバによって実装され得る。
【0066】
図4を参照し、最初のステップS1で、ブロック暗号を使用する認証付き暗号化関数を適用することにより、セキュアエレメントに提供されるソフトウェアイメージ501を暗号化ブロックのシーケンスに変換する。その後ステップS2で、同じブロック暗号を使用する認証付き暗号化関数を適用することにより、暗号化ブロックのシーケンスを認証タグで保護し、保護されたブロックのシーケンスを得る。ステップS3で、保護されたブロックの得られたシーケンスをアップデートエージェント110に伝送することができる。
【0067】
同じブロック暗号を使用し、認証付き暗号化関数を暗号化及び認証の両方に適用する。ブロック暗号は、固定長のビット列に対するパラメータ化された転置群であり得る。やはり所与の長さのビット列である鍵が、転置を決定するために使用される。
【0068】
本明細書で採用する認証付き暗号化関数の一例は、認証付き暗号化のためのガロア/カウンタモード(GCM)アルゴリズムである。GCMは、高度暗号化標準(AES)アルゴリズム等、128ビットのブロックサイズを有する承認された対称鍵ブロック暗号から構築される。
【0069】
次に、上記のステップS1の好ましい実装形態を
図5に関して例示する。
【0070】
図5のステップS11で、受信したソフトウェアイメージ501を複数の入力ブロックBI
1,...,BI
Nにまずセグメント化する。
【0071】
次に、とりわけステップS12で各入力ブロックに順方向暗号関数Fを適用し、ステップS13で、その結果生じるブロックと入力ブロックとの間でブロック単位のXOR演算を実行することにより、認証付き暗号化関数を入力ブロックの各々に適用して暗号化ブロックを得る。
つまり:
-入力ブロック:BI1,...,BIN
-出力ブロック:BO1,...,BON、但しBOi=F(BIi),i=1,...,N
-暗号化ブロック:X1,...,XN、但しXi=BOi XOR BIi,i=1,...,N
である。
【0072】
順方向暗号関数Fは、例えば対称鍵Kを有する順方向暗号関数CIPHKのような固定長のビット列に対する転置であり得る。鍵Kは一様に及びランダムに生成することができ、秘密であり、選択されたブロック暗号と共にGCMのためだけに使用されるべきである。
【0073】
図4のステップS1及び対応する
図5のサブステップS11からS13は、機密性メカニズムを実装する。
図4のステップS2及び
図6の対応するサブステップS21からS23は、ステップS1で得た暗号化ブロックに対する認証メカニズムを実装する。
【0074】
図6を参照し、暗号化ブロックX
1,...,X
Nはハッシュ関数を用いた認証操作にかけられる。
【0075】
任意で、ハッシュ関数を適用する前に、ステップS24で、暗号化ブロックに追加認証データ(AAD)を付加することができる。AADは、ネットワークアドレス、ポート、プロトコルバージョン番号、及び平文、つまりソフトウェアイメージをどのように扱うべきかを示す他のフィールドを含むことができる。AADデータは可読であり、つまり暗号化されていない。
【0076】
ステップS21で、暗号化ブロックのシーケンスにハッシュ関数を適用することができる。ハッシュ関数は、機密性保護に使用されたのと同じブロック暗号を使用して生成される。かかるハッシュ関数の例は、NIST Special Publication 800-38D: Recommendation for Block Cipher Modes of Operation GCM, Nov. 2007の中で定義されている有限ガロア体の演算に基づくGHASH関数を含む。
GHASH(X1,...,XN)=Ym
但しX1,...,XNは暗号化ブロックのシーケンスを示し、Ymはハッシュ関数を適用することによって得られるハッシュタグを示す。
【0077】
更なるステップS22で、認証タグAuthTag522(
図3参照)を得るために、ハッシュタグY
mを暗号化する。好ましくは、暗号化は厳密な一意性の要件を有する初期化ベクトル等のノンスを使用して実行される。
【0078】
得られた認証タグは[X
1||...||X
N||AuthTag]という暗号化ブロックのシーケンスに最終的に付加され、それにより
図3に示す保護されたイメージパッケージ520が得られる。
【0079】
図4の流れ図のステップS3で、保護されたイメージパッケージ520をアップデートエージェント110に伝送する。
【0080】
ステップS3の好ましい実装形態を
図7に示す。
図3に示すように、ステップS31で保護されたイメージパッケージ520を保護されたブロック523、524のシーケンスにセグメント化し、ステップS32でそれらをアップデートエージェントに伝送する。好ましくは、先頭から最後以外のセグメント523が暗号化されたソフトウェアイメージの一部を搬送し、最後のセグメント524は認証タグを搬送する。
【0081】
本発明の更なる態様では、上述の方法を実装するように構成されるサーバが提供される。このサーバは、
図1のSM-DP+サーバ300とすることができる。サーバ300は、
図3のセキュリティスキームに従ってバウンドインストレーションパッケージ500を生成するように、及びバウンドインストレーションパッケージ500をセキュアエレメント100に提供するように構成され得る。
【0082】
具体的には、サーバ300は、ソフトウェアイメージ501を暗号化するために及び暗号化したソフトウェアイメージに対する認証タグ522を計算するために、ブロック暗号を使用する認証付き暗号化関数を実装することにより、ソフトウェアイメージ501からバウンドインストレーションパッケージ500を生成するように構成され得る。更にサーバは、
図4から
図7に示す実施形態による方法の全てのステップ及びサブステップを実行するように構成され得る。
【0083】
図1のモバイルネットワークシステム1は、本発明の一定の実施形態による、
図4から
図7の方法によって
図3の暗号化スキームをSM-DP+サーバ300内に実装する例示的なシステムである。
【0084】
本発明の更なる態様では、セキュアエレメント100上にソフトウェアアップデートをインストールするためにセキュアエレメント100内で使用するためのアップデートエージェント110が提供される。アップデートエージェントは、
図1に示すアップデートエージェント100であり得る。アップデートエージェントは、
図3に示すセキュリティスキーム等のセキュリティスキームを実装するように構成される。
【0085】
具体的には、アップデートエージェント110は、ソフトウェアアップデートを実行するためのソフトウェアイメージ501を含む保護されたセグメント523のシーケンスを受信することができる。このシーケンスは、
図4から
図7に関して上述したように、本発明の実施形態による方法によって生成されている可能性がある。保護されたセグメントのシーケンスを受信すると、アップデートエージェント110は、ソフトウェアイメージ501を抽出するために認証付き復号化関数を実装することができる。
【0086】
好ましくは、アップデートエージェントは、SM-DP+サーバ300によって実装される認証付き暗号化関数の逆であるGCM認証付き復号化関数を実装する。この関数を使用し、保護されたセグメントのシーケンスである暗号文が平文に復号化され、暗号文の真正性が確認される。アップデートエージェント110は、復号化された平文からソフトウェアイメージを抽出することができ、認証タグを確認することができ、認証タグが確認された場合はソフトウェアイメージを使用してソフトウェアアップデートを実行することができる。認証タグの確認が失敗した場合、アップデートエージェントはセキュアエレメント及び/又は装置に失敗メッセージを返すことができる。
【0087】
本明細書に記載した態様及び実施形態は、セキュアエレメント上で更新されるソフトウェアイメージの暗号化を管理するための効率的及び安全なソリューションを提供する。
【0088】
提案したバウンドパッケージ暗号化は、従来のSCP03tベースの実装と比較してAES CGMの全体的性能がより優れていることを利用する。アップデートエージェントに送信されるそれぞれの保護されたセグメントは、概して8バイト長のメッセージ認証コード(MAC)を含む必要なしにペイロードデータだけを搬送する。このため、アップデートエージェントに伝送するデータをより少数のセグメント内に詰め込むことができ、結果として完全な配信パッケージのサイズが小さくなる。このことは、ひいてはセキュアエレメント内のアップデートエージェントコンポーネントがより小さいフットプリントを占めることを可能にし、利用可能なメモリが少ないセキュアエレメントをターゲットにすることを可能にする。
【0089】
提案したスキームで耐タンパエレメントTRE又はセキュアエレメントSE内のソフトウェアを更新する可能性は、TREのライフサイクルの任意の時点でパッチ及びセキュリティ及びバグ修正を提供するだけでなく、市場の進化に遅れずにいるためにTRE内のオペレーティングシステムを更新するためにも有用であることが分かる。
【0090】
上記の明細書では、本発明をその特定の実施形態に関して説明してきた。しかし、本発明のより広範な範囲から逸脱することなく様々な修正及び変更を加えることができることが明らかになる。例えば上記のプロセスフローは、プロセスのアクションの特定の順序に関して記載した。しかし、本発明の範囲又は操作に影響を与えることなく、記載したプロセスのアクションの多くの順序を変更することができる。従って、本明細書及び図面は限定的な意味ではなく例示的な意味で考慮すべきである。
【国際調査報告】