説明

アプリケーションの認証方法

【課題】 本発明の目的は、アプリケーションのダウンロード時及びアプリケーションの実行時における携帯装置内の単数又は複数のアプリケーションの認証方法を提供することである。この目的は、ネットワーク(NET)により制御サーバー(CSE)に接続された装置(CB)内で動作する少なくとも1つのアプリケーション(APP)の認証方法において、前記装置(CB)が1つのセキュリティモジュール(SIM)にローカルに接続され、前記アプリケーション(APP)が、装置(CB)のアプリケーションの実行環境(AEE)を用いてロード及び/又は実行され、セキュリティモジュール(SIM)内に格納されているリソース(RES)を利用する方法であって、制御サーバー(CSE)が、少なくとも装置(CB)の識別子(IMEISV)及びセキュリティモジュール(SIM)の識別子(IMSI)を含むデータをネットワーク(NET)を経由して受信する予備工程と、制御サーバー(CSE)が前記データを分析及び確認する予備工程と、アプリケーション(APP)のダイジェスト(FIN1)、装置(CB)及びセキュリティモジュール(SIM)を識別するデータ、及び前記モジュール宛の指示(INS_RES)を含む暗号文(CRY)を生成する予備工程と、ネットワーク(NET)及び装置(CB)を経由して前記暗号文(CRY)をセキュリティモジュール(SIM)に送信する予備工程と、受信した暗号文(CRY)から抽出したダイジェスト(FIN1)をセキュリティモジュール(SIM)によって決められたダイジェスト(FIN2)と比較することによりアプリケーション(APP)を確認する予備工程とを含み、セキュリティモジュール(SIM)が、アプリケーション(APP)の初期化及び/又は有効化の際、暗号文(CRY)から抽出された指示(INS_RES)を実行し、予め行われたこのアプリケーション(APP)に固有な確認の結果に応じて、前記セキュリティモジュール(SIM)のいくつかのリソース(RES)へのアクセスをそれぞれ許可又は阻止することを特徴とする方法により達成される。


【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セルラーネットワークとも呼ばれる携帯電話ネットワークの分野に関する。より詳細には、本発明は、携帯電話の携帯装置に結合されたセキュリティモジュールにより実行されるアプリケーションのセキュリティの管理に関する。
【背景技術】
【0002】
移動電話或いは携帯電話のセキュリティモジュールは、これらの電話のセキュリティの中心要素を構成する「SIMカード」(Subscriber Identity Module)という名称で知られている。電話通信業者は、携帯電話ネットワークへの接続を所望する各加入者を確実かつユニークに識別するのに用いられるIMSI(International Mobile Subscriber Identification)と呼ばれる番号を、製造時及び/又はカスタマイズ段階の際、入力する。以下で携帯装置と呼ばれる各携帯電話は、携帯装置の不揮発性メモリー内に保存された番号により物理的に識別される。この番号はIMEI(International Mobile Equipment Identifier)と呼ばれ、携帯装置のタイプの識別と、GSM(Global System for Mobile Communication)型、GPRS(General Packet Radio System)型、又はUMTS(Universal Mobile Telecommunications System)型ネットワーク上の所与の携帯装置をユニークに識別するのに用いられるシリアル番号とを含む。更に携帯装置は、携帯装置上にインストールされた基本ソフトウェアの更新状態を示すソフトウェアバージョンSVN(Software Version Number)を特徴とする。タイプの識別及び携帯装置のシリアル暗号をソフトウェアバージョン(SVN)と組み合わせることにより、IMEISV(International Mobile Equipment Identifier and Software Version Number)と呼ばれる新しい識別が与えられる。同じ識別の概念は、WLAN(無線LAN)又は双方向TVケーブルにも適用される。物理的識別子は、IP(Internet Protocol)ネット上のユーザーの機材の構成を識別するユニークアドレスに相当するMAC(Media Access Control)とすることができ、ソフトウェアバージョンはIPに基づく上位レイヤープロトコルにより送信することができる。
【0003】
ETSI規格(「European Telecommunications Standards Institute」)は、携帯装置(ME、Mobile Equipment)及び加入者モジュール(SIM、Subscriber Identity Module)で構成される移動局(MS、Mobile Station)を定義する。通常、この加入者モジュールは取外し可能、即ち、引き抜いたり、ある携帯装置から別の携帯装置に移動したりすることができる。
【0004】
携帯装置の始動時、より詳細には携帯装置を通信業者のネットワークに接続する際、携帯装置と、携帯装置の使用を許可する又はしない通信業者管理センターとの間で、識別データを含む情報がやりとりされる。現在、携帯装置は、携帯電話ネットワークへのアクセスを介して電話によって会話を確立するという通常の機能の他、種々の情報についての問い合せ、遠隔銀行取引、Eコマース、マルチメディアコンテンツへのアクセス等、多くの付加価値サービスの利用をユーザーに提供している。これらの先進的サービスは、携帯装置上に現れることがあるセキュリティの不具合を利用しようとする第三者により万一の場合に引き起こされる不正からユーザーを守るために、より高いセキュリティレベルを必要とする。
【0005】
従って、少なくとも2つのレベル、即ち携帯装置そのもののレベルと、通信業者又は第三者から提案される各種サービスの稼動を可能にするソフトウェアアプリケーションのレベルでの確認が必要になる。通常、これらのアプリケーションはアプリケーションのプロバイダのサーバーからダウンロードされるが、それは即ちこのダウンロードを確認する必要があるということである。従って、加入者モジュールが、一旦それが挿入された携帯装置とともに作動することができると制御サーバーに認められた後は、このモジュールは許可されたアプリケーションにしか情報を供給しないことを保証することが必要となる。
【0006】
加入者モジュールは、銀行口座番号又はパスワード等の機密情報を含むことができる。携帯装置上で作動する1つのアプリケーションが、期待されるサービスを提供するためにこれらの個人データの利用を担当する。しかしながらアプリケーションはこれらの個人データを当該アプリケーションのプロバイダとの対話以外の使用目的に転用するおそれがある。その結果、加入者モジュールの所有者にとって大きな損害が生じることがある。
【0007】
携帯装置内で実行されるこれらのアプリケーションは加入者モジュール内で利用可能なリソースを使用する。リソースとは、アプリケーションの良好な作動に必要な種々の機能及びデータを意味する。これらのデータのうちには、特にセキュリティに関する機能等、複数のアプリケーションに共通である場合がある。こうして加入者モジュールは、通信業者及び/又はアプリケーションプロバイダによって設定されたセキュリティ条件が当該携帯装置内で守られていないか、又は携帯装置のユーザーの権利が不十分であるようないくつかのアプリケーションの動作をロック又は変更することができる。
【0008】
FR2831362(特許文献1)は、SIMカードを具備する携帯電話とアプリケーションサーバーとの間のセキュア化されたトランザクション方法について記述している。この方法の目的は、SIMカードを用いてサーバーからダウンロードされるアプリケーションの使用に関する権利を保護することである。
【0009】
この方法によれば、まず公開鍵のセキュア化された交換により、サーバーとSIMカードとの間に信頼性のリンクが確立され、次に、携帯装置により要求ファイルがサーバーに送信されることにより、アプリケーションの購入が行われる。サーバーはアプリケーションを部分的又は全面的に暗号化し、暗号化鍵とコマンドとで形成される暗号文を携帯装置に送信するが、この全体はSIMカードによって既知の公開鍵で暗号化されている。携帯装置による受信時、この暗号文は復号化され、鍵はSIMカードに格納される。コマンドを実行することにより、サーバーによって部分的又は全面的に暗号化されたアプリケーションが携帯装置内にダウンロードされる。アプリケーションは一旦ダウンロードされると、SIMカードに格納されている鍵により復号化される携帯装置にインストールされる。
【0010】
この方法によれば、トランザクションの前に携帯装置とサーバーの間に最初に確立された信頼リンクにより、携帯装置内でアプリケーションを使用する権利が保護される。ここでは、サーバーが果たす役割はどちらかというと携帯装置内におけるアプリケーションユーザーの権利の管理、即ちDRM(Digital Rights Management)の管理内に集中される。以下に説明する解決方法は、どちらかというと、あるアプリケーションに関連する通信業者、アプリケーションプロバイダ又はユーザーが考慮するリスクの管理(Risk Management)を志向するものである。
【特許文献1】FR2831362
【発明の開示】
【発明が解決しようとする課題】
【0011】
従って本発明の目的は、アプリケーションのダウンロード時及びアプリケーションの実行時における携帯装置内の単数又は複数のアプリケーションの認証方法を提供することである。これは、いくつかのセキュリティ基準を満たしていないアプリケーション、或いは予め決められたいくつかのセキュリティ基準を満たしていない携帯装置により加入者モジュールが不適切に使用されることに由来するリスクを制限することである。
【0012】
別の目的は、許可されていないアプリケーションを使用することの結果として生じる不正使用から携帯装置のユーザー並びに関連するアプリケーションプロバイダを保護することである。
【課題を解決するための手段】
【0013】
これらの目的は、ネットワークにより制御サーバーに接続された装置内で動作する少なくとも1つのアプリケーションの認証方法において、前記装置が1つのセキュリティモジュールにローカルに接続され、前記アプリケーションが、装置のアプリケーションの実行環境を用いてロード及び/又は実行され、セキュリティモジュール内に格納されているリソースを利用する方法であって、
・ 制御サーバーが、少なくとも装置の識別子及びセキュリティモジュールの識別子を含むデータをネットワークを経由して受信する予備工程と、
・ 制御サーバーが前記データを分析及び確認する予備工程と、
・ アプリケーションのダイジェスト、装置及びセキュリティモジュールを識別するデータ、及び前記モジュール宛の指示を含む暗号文を生成する予備工程と、
・ ネットワーク及び装置を経由して前記暗号文をセキュリティモジュールに送信する予備工程と、
・ 受信した暗号文から抽出したダイジェストをセキュリティモジュールによって決められたダイジェストと比較することによりアプリケーションを確認する予備工程と
を含み、セキュリティモジュールが、アプリケーションの初期化及び/又は有効化の際、暗号文から抽出された指示を実行し、予め行われたこのアプリケーションに固有な確認の結果に応じて、前記セキュリティモジュールのいくつかのリソースへのアクセスを許可又はロックすることを特徴とする方法により達成される。
【0014】
セキュリティモジュールのリソースは集中的にロック又は開放されるが、これはいくつかのアプリケーションを使用可能又は使用不可にすることを目的とする。携帯装置のアプリケーションを直接ロック又は開放するのではなく、間接的にアプリケーションに働きかける。即ち、携帯装置がこれらのアプリケーションの実行を試みる時のみロック又は開放の効果が現れる。
【0015】
この方法は好ましくは携帯電話ネットワークに適用される。その結果、装置は、例えば携帯電話装置であり、セキュリティモジュールは加入者モジュール又はSIMカードである。このユニットは、通信業者の制御サーバーによって管理されるGSM(Global System for Mobile Communication)型、GPRS(General Packet Radio System)型、又はUMTS(Universal Mobile Telecommunications System)型といった携帯電話ネットワークに接続される。ソフトウェアアプリケーションは携帯装置内にインストールされ、加入者モジュール内に存在するリソース(データ又は機能)を利用するよう構成される。従ってリソースは、通信業者及び/又はアプリケーションプロバイダによりあらかじめ設定された基準に従ってセキュリティ条件が満たされた場合しかその全体を利用することができない。この基準の確認は制御サーバーが担当する。アプリケーションは、制御サーバーから送信される指示を受けた後は、最終的にセキュリティモジュールの担当となり、セキュリティモジュールは、携帯装置内にインストールされたアプリケーションが良好に作動するのに必要なリソースへのアクセスを自由なままにするかロックする。
【0016】
これらのリソースのデータは、口座番号、プログラム(携帯装置内にインストールすることができるコードの形態の)プログラム、暗号化/復号化鍵、コンテンツへのアクセス権等の情報を含むことができる。
【0017】
これらのリソースの機能は、暗号化アルゴリズム、確認プロセス、デジタル署名生成プロセス、暗号化プロセス、認証プロセス、データバリデーションプロセス、アクセスチェックプロセス、データ保存プロセス、支払いプロセス等を含むことができる。
【0018】
本発明による方法は、ネットワークに接続された携帯装置上のアプリケーションの使用を条件付ける暗号文をアプリケーションに関連付けることに基づく。
【0019】
フランス特許FR2831362号に記述されている方法とは異なり、携帯装置へのダウンロードの前にアプリケーションの一部又は全体を暗号化する必要はない。実際、本発明の方法によれば、サーバーとセキュリティモジュール(又は加入者モジュール)の間の結合は、そのリソースを最良な方法で管理し、携帯装置内で実行されるアプリケーションに対しリソースを使用するか否かを決定するのに用いられる。引用文献の方法では、サーバーから受信したコマンドにより携帯装置内にインストールされたアプリケーションの使用を制御することができるが、本方法では、コマンドによりセキュリティモジュールのリソースを有効又は無効にすることができる。
【0020】
例えばリソースが無効になると、アプリケーションは、ユーザーに提供される可能性が少なくなる「最小」モードで作動することになる。一実施例では、サービスの購入について許可される最高金額がこの減少の対象となるほか、ある所定の場所(ショッピングセンター、スタジアム、駅、空港等)でしかこれらのサービスが得られないことがある。
【0021】
第一の実施例では、アプリケーションのロード中に暗号文が加入者モジュールに送信される。第二の実施例では、アプリケーションの初回の使用時に制御サーバーに暗号を探しに行くのはアプリケーションである。
【0022】
本発明による認証方法は携帯装置によるアプリケーションの実行にも適用され、それにより、加入者モジュールを併用して、このアプリケーションの前記モジュール内に含まれているいくつかのリソース(データ又は機能)へのアクセスが許可されていることを確認することが可能である。特に、加入者モジュールは、アプリケーションに付加された暗号文を、前記アプリケーションの実行中、定期的に確認することができる。
【0023】
例えば、あるユーザーの加入者モジュールを別の携帯装置内に挿入すると、従来の電話通信の確立を妨げることなく、いくつかのアプリケーションの動作が影響を受ける。このバリアはある意味、許可されていない携帯装置、更には通信業者又はパートナーアプリケーションプロバイダによって認証されていないソースからのアプリケーションを排除するフィルターのように働く。
【0024】
第三者によるアプリケーションの変更もまた加入者モジュールにより検出され、加入者モジュールは、アプリケーションの実行の阻止又は制限につながるいくつかの受信したコマンドの実行を拒否する。
【0025】
従って制御サーバーは、携帯装置/加入者モジュールユニットに関する信頼性又はセキュリティ要素を管理することにより重要な役割を果たしている。制御サーバーは、加入者モジュール内に保存されているリソース(データ又は機能)によりアプリケーションの使用を制御又は制限するために、携帯装置から制御サーバーに送信されるデータを解釈する。
【0026】
携帯装置及びその加入者モジュールの識別情報を受信し、識別子IMEISV及びIMSIを含むサーバーは、携帯装置内で実行されるアプリケーションにより利用できる加入者モジュールのリソースを定義する新しい保護プロフィールを再度定義するために新しい指示を加入者モジュールに送るべきかどうかをいくつかの基準により決定する。その基準は、例えば携帯装置にインストールされたソフトウェアのバージョンの更新、携帯装置への新しいアプリケーションのダウンロード、保護プロフィールの更新期間、ネットワークへの接続数、ネットワークへのアクセスに使用される技術、使用するアクセスネットワークの識別を参照することができる。その基準は、通信業者及び/又はアプリケーションのプロバイダ及び/又は携帯装置のユーザーが考慮しようとする使用ハードウェア又はソフトウェアに付随する様々なリスクにも関する。
【0027】
暗号文の確認は、初回の起動時又はアプリケーションの初回の使用時、或いはアプリケーションの毎回の起動時に行うことができる。
【0028】
変形形態によれば、この確認は制御サーバーからの指示によって与えられるタイミングで周期的に実行することができる。
【0029】
アプリケーションを携帯装置にロードする際、アプリケーションに添付される関連する暗号文は通常、アプリケーションそのもののダイジェスト、即ち一方向性ハッシュ数学関数を用いてアプリケーションのコードから計算されたデータブロックを含む。
【0030】
加入者モジュールは、暗号文の有効性を確認する時、間接的に携帯装置の識別も行い、データが実際に制御サーバーから送られてきているものであることも確認する。言い換えれば、制御サーバーは、この暗号文により、携帯装置のソフトウェアの種類及びバージョンが考慮されたこと、アプリケーションのロードが制御されたこと、及びアプリケーションが本物であるとの保証を加入者モジュールに暗に知らせる。加入者モジュールは、あらかじめ受信した指示に従い、アプリケーションから来た要求又はコマンドを許可するか拒否するかを決定する。
【0031】
携帯装置はこの確認段階においては、加入者モジュールと制御サーバーとの間にほぼ直接的な対話を確立することによりリレーの役割を果たす。従って、携帯装置のアプリケーションの実行環境を通じて、制御サーバーと加入者モジュールとの間で、やりとりされるメッセージのセキュリティが端末相互間で確保される。従って携帯装置が加入者モジュールに対しデータを「ごまかす」又は変更することはあり得ない。
【0032】
本発明は、ネットワークに接続された携帯装置内にインストールされた少なくとも1つのアプリケーションによりローカルにアクセスされるようになっているリソースを含むセキュリティモジュールにおいて、前記装置が、少なくとも装置の識別子及びセキュリティモジュールの識別子を含むデータ読取り及び送信手段を備えるセキュリティモジュールであって、他のデータのうち特に前記アプリケーションのダイジェスト及び指示を含む暗号文の受信、保存及び分析手段と、前記アプリケーションの確認手段と、アプリケーションの確認の結果に従いいくつかのリソースを開放又はロックする暗号内に含まれる指示の抽出及び実行手段とを備えることを特徴とするセキュリティモジュールにも関する。
【0033】
このセキュリティモジュールは、携帯装置に接続された例えば加入者モジュール又はSIMカードとして使用される。
【発明を実施するための最良の形態】
【0034】
本発明は、専ら非限定的例として示した添付の図面を参照して行う以下の詳細な説明により、よりよく理解されよう。
【0035】
図1a、図1b、図1c、図2a、図2b、図2c、図3a、図3b、図3cのブロック線図は、通信業者に管理されている制御サーバー(CSE)に携帯ネットワーク(NET)を経由して接続されたリソース(RES)を含む携帯装置(CB)加入者モジュール(SIM)ユニットを示している。このサーバー(CSE)は単数又は複数のアプリケーションプロバイダ(FA)に接続されている。
【0036】
携帯装置(CB)は、実行環境(AEE)下で動作する単数又は複数のソフトウェアアプリケーション(APP)を含む。これらのアプリケーション(APP)は、通信業者の制御サーバー(CSE)に関連するアプリケーションプロバイダ(FA)に由来するものか、もともと携帯装置(CB)の製造者によりプログラムされる可能性のあるものである。後者の場合、更新をダウンロードする必要がある場合があり、これは同じく加入者モジュール(SIM)により確認される。
【0037】
図1a、図1b、図1cに示す第一の実施形態によれば、アプリケーション(APP)の暗号は(CRY)は、アプリケーション(APP)のインストールプロセスの際、アプリケーション実行環境(AEE)を通して加入者モジュール(SIM)に送られる。
【0038】
図1aは、携帯装置(CB)がまず、制御サーバー(CSE)が確認する加入者モジュール(SIM)の識別(ID)に用いるデータを送信するインストールプロセスを示す図である。この識別(ID)は加入者モジュール(SIM)の識別子(IMSI)及び携帯装置(CB)のユニーク識別子(IMEISV)から行われる。次にサーバー(CSE)からアプリケーション(APP)が暗号文(CRY)を伴ってダウンロードされ、この暗号は、図1bに図示するような確認を行うために、実行環境(AEE)を経由して加入者モジュール(SIM)に送信される。
【0039】
プロバイダ(FA)は、信頼するのにふさわしい、即ちアプリケーション(APP)が認証され、ユーザー及び/又は通信業者にとって有害なことを引き起こさずに作動する、とみなしていることに留意すべきである。
【0040】
本発明による方法は、様々な種類の実行環境(AEE)で実行される様々な種類の形態のアプリケーション(APP)に適用される。例えば、プロセッサー及び環境の役割を果たすJava(登録商標)仮想マシン(VM)により実行されるJava(登録商標)アプリケーションから生まれた機能を有する携帯電話は多い。 以下の記述はJava(登録商標)アプリケーションの例に基づく。アプリケーションの媒体として、もちろん、Symbian OS、Windows(登録商標)、Palm OS、Linux等、他の環境又はオペレーティングシステムも使用することができる。
【0041】
図1cを参照すると、Java(登録商標)アプリケーションはその実行時、加入者モジュール(SIM)を要求し、実行環境(AEE)に要求又はコマンド(CMD)を送ることにより、要求していることを知らせる。実行環境(AEE)はアプリケーション(APP)のダイジェスト(FIN2)を計算し、ダイジェストを加入者モジュール(SIM)に送る。制御サーバー(CSE)により生成され、次にアプリケーション(APP)とともに(或いは別々に)携帯装置(CB)内にロードされた暗号文(CRY)は、加入者モジュール(SIM)内に保存される。加入者モジュールは、アプリケーション(APP)の要求又はコマンド(CMD)に応答しなければならないかどうかを決定することが可能になるのに必要なデータを持っているかどうかをまず確認する。これらのデータはアプリケーション(APP)のロード時に制御サーバー(CSE)からロードされる権利の代用となるものであり、これらのデータによりアプリケーション(APP)の動作を確認することができる。これらの権利がない場合、アプリケーション(APP)は、加入者モジュール(SIM)のリソース(RES)(データ又は機能)を利用することができない。
【0042】
これらの権利が存在する場合、加入者モジュール(SIM)は、保存された暗号文(CRY)を由来とするダイジェスト(FIN1)を、アプリケーション(APP)に関連付けられ実行環境(AEE)によって提供されたダイジェスト(FIN2)と比較することにより、前者のダイジェストを確認する。この暗号文(CRY)はRSA(Rivest、Shamir、Adelman)型のプライベート鍵により暗号化されたブロックの形態をとることができる。図4に示すこのブロックは、他のデータのうち特に、加入者モジュール(SIM)の識別子IMSI(ID_SIM)、携帯装置(CB)の識別子IMEISV(ID_CB)、アプリケーションの識別子(ID_APP)、アプリケーション(APP)のダイジェスト(FIN1)、リソース(RES)の識別子SIM(RES_ID)、及びリソースSIMのロック/開放指示(INS_RES)を含む。このプライベート鍵は制御サーバー(CSE)にしか認識されないが、その公開部分は加入者モジュール(SIM)から認識される。非対称鍵を使用することの利点は、署名を生成するのに用いられる鍵が制御サーバー(CSE)の外部にないことにある。
【0043】
もちろん、RSAに代わるものとして、例えばDSA(Digital Signature Algorithm)及びECC(Elliptic Curve Cryptography)等、その他の非対称鍵アルゴリズムを使用することができる。
【0044】
確認の簡便性及び速さ、製造コスト及び使用コストの低さの理由から、対称鍵アルゴリズムの使用が好ましいことがある。この場合、鍵はサーバー(CSE)及び加入者モジュール(SIM)から認識されることになり、ブロック(IMSI、IMEISV、アプリケーションの識別子、アプリケーションのダイジェスト、リソースSIMの識別子、リソースSIMのロック/開放指示)に署名するのに、例えばIDEA(International Data Encryption Algorithm)アルゴリズムを使用することができよう。IDEAアルゴリズムに代るものとしては、例えばTDES(Triple Data Encryption Standard)及びAES(Advanced Encryption Standard)も使用することができる。
【0045】
非対称鍵及び対称鍵方式のこれら2つの変形形態においては、加入者モジュール(SIM)は、暗号文(CRY)に現れる様々なフィールドの一致を確認し、特に、加入者モジュールのリソース(RES)(データ又は機能)を使用することを許可された又はされていないアプリケーションの識別子(ID_APP)及びアプリケーションのダイジェスト(FIN1)を調べる。
【0046】
一変形形態では、暗号文(CRY)は、加入者モジュール(SIM)に宛てられた同一暗号文の二重使用を防止するのに用いるカウンタを含むことができる(リプレイアタック)。つまり同じ種類の2つのアプリケーションが同じ識別子を有し、同じダイジェスト(FIN1)をもつことができる。この場合、加入者モジュール(SIM)は、モジュールに格納され定期的に更新される基準カウンタの値との比較によりこのカウンタの値も確認する。
【0047】
カウンタに対する変形形態は、加入者モジュール(SIM)によって生成される確率変数(乱数)を使用することである。この確率変数は制御サーバー(CSE)に送られるデータとともに送信される。制御サーバーはこの確率変数を応答暗号文に返し、加入者モジュール(SIM)はこれが新しいメッセージであることを確認することができる。
【0048】
より一般的には、古い暗号文(CRY)が使用されるリスクを防止するために、古い暗号文は、加入者モジュール(SIM)によって予知が可能な変数、即ちカウンタ又は確率変数を含む。
【0049】
別の変形形態においては、RSA又はIDEA型の鍵を使用して生成した暗号文(CRY)を、(IMSI、IMEISV、アプリケーションの識別子、アプリケーションのダイジェスト、リソースSIMの識別子、リソースSIMのロック/開放指示)という集合を基にして共有鍵HMAC(Keyed−Hashing for Message Authentication)を使用して生成したブロックに置き換えることができる。HMACとは、MD5(Message Digest)又はSHA−1(Secure Hash Algorithm)等の暗号化ハッシュ関数を使用することによるメッセージの認証機構であり、共有鍵と組み合わせて使用する。
【0050】
制御サーバー(CSE)及び加入者モジュール(SIM)内にあるこの鍵は、加入者モジュール(SIM)のカスタム化時、或いは加入者モジュール(SIM)内にいくつかのリソース(RES)をインストールする際にロードすることができる。任意選択として、加入者モジュール(SIM)の各リソース(RES)又は各リソースグループは、異なる鍵に関連付けられ、また鍵はリソース(RES)全体に対しグローバルであって、ある所与の加入者モジュール(SIM)に対しユニークであるようにすることもできる。
【0051】
従って暗号文(CRY)により加入者モジュール(SIM)は、対応する携帯装置(CB)に関して加入者モジュール(SIM)内で開放又はロックすることができる単数又は複数のリソース(RES)を知ることができる。
【0052】
使用される2つのダイジェスト(それぞれFIN1、FIN2)は、携帯装置(CB)及び加入者モジュール(SIM)によるアプリケーション(APP)の暗号確認手段を構成するため、決定的な要素である。そのような確認は、第三者のアプリケーションが、ある所与の暗号文(CRY)で認証されることを防ぐために必要である。実際、例えば暗号文Aが携帯装置A内の加入者モジュールAからアプリケーションAを認証する場合、別のアプリケーションBが携帯装置A内の加入者モジュールAから同じ暗号文Aで不正に認証されることを避けなければならない。
【0053】
変形形態によれば、暗号文(CRY)に含まれるアプリケーションのダイジェスト(FIN1)は、制御サーバー(CSE)と加入者モジュール(SIM)の間で端末相互間で機密状態のままである。これを行うために、ダイジェスト(FIN1)は制御サーバー(CSE)により暗号化され、加入者モジュール(SIM)により復号化される。更に、暗号文(CRY)に含まれるダイジェスト(FIN1)及び実行環境(AEE)により計算されるアプリケーション(APP)のダイジェスト(FIN2)が同一であるが、携帯装置(CB)の識別に依存するよう、ある所与のロードについてアプリケーション(APP)をカスタム化することができる。この種の方法は、第三者のアプリケーションが、加入者モジュール(SIM)とのインタフェースが損なわれるような別のアプリケーションの実行環境(AEE)の所与のダイジェストで認証されるのを防止したければ、必要である。実際、例えばダイジェストAが携帯装置A内の加入者モジュールAでアプリケーションAを認証する場合、別のアプリケーションBが携帯装置B内の加入者モジュールBからこの同じダイジェストAであると認証されることを避けなければならない。
【0054】
別の変形形態によれば、(Java(登録商標)タイプの)各アプリケーションには2つの暗号文が添付される:1つは仮想マシン(VM)向けのJava(登録商標)暗号文であり、もう1つは加入者モジュール(SIM)向けの暗号文(CRY)である。これら2つの暗号文は特に、Java(登録商標)アプリケーションのコードのダイジェストである同じアプリケーションダイジェスト(ここではFIN2と呼ばれる)を含む。従って加入者モジュール(SIM)があるアプリケーションの暗号文(CRY)を確認しなければならない時、同モジュールは、対象となっているアプリケーション(APP)に関連付けられたダイジェスト(FIN2)を仮想マシン(VM)から待つが、ダイジェストは仮想マシンが必ず予め計算しておく。アプリケーションのダイジェストは携帯装置(CB)により加入者モジュール(SIM)に送信される。このダイジェストは制御サーバーから出されるものではなく、アプリケーション(APP)のダウンロード後、携帯装置(CB)のアプリケーション実行環境(AEE)により計算される。反対に携帯装置(CB)は、アプリケーションの他に予めロードされる暗号文(CRY)を制御サーバーから加入者モジュールに送信する。従って加入者もジュールは、受信したダイジェストを比較により確認することができる。携帯装置(CB)は、加入者モジュール(SIM)が待ち受けるダイジェストを知らない限り、ごまかすことはできない。場合によっては、そのために、通常はハッシュ関数であるダイジェストの計算機能を反転可能にするか、同じ暗号文(CRY)をもたらす別のダイジェストを見つける必要が生じるが、これはほぼ不可能である。
【0055】
図1bは暗号文(CRY)の確認プロセスを示すが、これは例えば当該アプリケーション(APP)を要求する度毎に定期的に行うか、或いはアプリケーションのインストールの前又は初回使用の前に行うことができるのが好ましい。暗号文(CRY)が有効である場合、加入者モジュール(SIM)は承諾メッセージ(OK)を実行環境(AEE)に送信する。するとアプリケーション(APP)は実行環境(AEE)を経由してその要求又はコマンド(CMD)を加入者モジュール(SIM)に送り、加入者モジュール(SIM)のリソース(RES)を使用することができる。図1cのように、加入者モジュールは実行環境(AEE)を経由して適切な応答(RSP)をアプリケーション(APP)に送信することによりコマンド(CMD)を承認する。
【0056】
暗号文(CRY)が有効でない場合、加入者モジュール(SIM)は拒否メッセージ(NOK)を実行環境(AEE)に送信する。そのような場合には、実行環境(AEE)がアプリケーション(APP)のインストールプロセスをキャンセルすることができるというのが1つのケースであり、アプリケーション(APP)がインストールされ、実行環境(AEE)を経由して加入者モジュール(SIM)に送信された要求又はコマンド(CMD)が応答(RSP)がないままの状態になり、加入者モジュール(SIM)のリソース(RES)が使用できないというのがもう一方のケースである。
【0057】
承諾及び拒否(OK及びNOK)という両者の場合とも、アプリケーション実行環境(AEE)は制御サーバー(CSE)への応答を中継することができる。従って加入者モジュールは、暗号文(CRY)の受信確認(CF)を間接的に制御サーバー(CSE)に送り、図1bに示すように、操作の端末相互間の制御を行うことができる。確認(CF)は、操作の成否についての少なくとも1つのコード、並びにリプレイアタックに対する保護に使用するカウンタを含む。このメッセージにより制御サーバー(CSE)は、加入者モジュール(SIM)に関連付けられたカウンタを更新することもできる。
【0058】
図2a、図2b、図2cに示す第二の実施形態によれば、図2aに示すように、携帯装置(CB)の識別(ID)後、暗号文(CRY)なしにアプリケーション(APP)だけがダウンロードされる。
【0059】
図2bに示す確認プロセスの際、アプリケーション(APP)は、ユーザーにより起動される時、前記アプリケーションについてのリソース(RES)の使用権を含む暗号(CRY)を要求する。この暗号文(CRY)はアプリケーション(APP)により制御サーバー(CSE)から直接ダウンロードされ、アプリケーションは実行環境(AEE)を経由して暗号文を加入者モジュール(SIM)に送信する。加入者モジュール(SIM)は、第一実施形態の場合のように実行環境(AEE)を経由してではなく、アプリケーション(APP)を介して、暗号文(CRY)の受信確認(CF)をサーバー(CSE)に送信する。このモードでは、実行環境(AEE)はアプリケーション(APP)と加入者モジュール(SIM)の間の中継の役割しか果たさない。
【0060】
図2cに示すような暗号文(CRY)の確認後のアプリケーション(APP)の実行プロセスは、上述した図1cに示した第一形態と同じようにして行われる。
【0061】
図3a、図3b、図3cは、携帯装置(CB)の識別(ID)後、制御サーバー(CSE)から、或いは図3aのようなアプリケーション(APP)の中間ダウンロードサーバーからアプリケーション(APP)だけがダウンロードされる第三の変形形態を示す。確認プロセス(図3b)の際、アプリケーションはサーバー(CSE)から、或いはアプリケーション(APP)の中間ダウンロードサーバーから暗号文(CRY)及びダイジェスト(FIN2)を直接ロードする。この場合、先の2つの変形形態とは異なり、実行環境(AEE)はもはやダイジェスト(FIN2)を計算することはせず、ダイジェストは、制御サーバーCSE又はアプリケーション(APP)の中間ダウンロードサーバー等、外部ユニットにより計算される。
【0062】
図3cに示すような暗号文(CRY)の確認後のアプリケーション(APP)の実行プロセスは、図1c及び図2cに示した先の2つの形態と同じようにして行われる。
【0063】
携帯電話にインストールされたJava(登録商標)アプリケーションについて現在定義されているような実行環境(AEE)の変更を全く要求しないこと、即ち既存の規格の変更が必要ではないことがこの第三の実施形態の長所であるため、第三の実施形態が好ましいことがある。
【0064】
更に、暗号文(CRY)の確認プロセスとアプリケーションのインストールプロセスは完全に独立しているとすると、2つの暗号文が同じダイジェストを使うことを求める第一の変形形態の制約はなくなる。
【0065】
アプリケーション上で計算されるダイジェストをカスタム化するための1つの可能性は、アプリケーションのコードを携帯装置にロードする前に、各携帯装置毎に異なるデータをこのアプリケーションのコードに付加することである。こうすることにより、携帯装置の実行環境によりダイジェストが計算された時、このダイジェストはユニークになり、別の携帯装置に対し用いることはできない。もちろん、暗号文はアプリケーションの元のデータ及びこのユニークなデータを基にして制御サーバーによって計算される。
【0066】
本発明の一変形形態では、携帯装置を有料テレビデコーダ又はコンピュータ等の非携帯装置に置き換えることができる。アプリケーションはサーバーから通信ネットワークを経由して装置内にダウンロードすることができる。アプリケーションに関連付けられた暗号文はセキュリティモジュール内に保存され、実行開始時、或いはアプリケーションの毎回の起動時に確認される。この確認の結果によりセキュリティモジュール内のリソースが開放又はロックされ、アプリケーションの動作が条件付けられる。
【図面の簡単な説明】
【0067】
【図1a】図1aは、アプリケーションの実行環境を経由して暗号文が送信される第一の実施形態によるアプリケーションのインストールプロセスを示すブロック線図である。
【図1b】図1bは、図1aの実施形態での暗号文の確認プロセスを示す図である。
【図1c】図1cは、図1aの実施形態での加入者モジュールのリソースを使用するアプリケーションの実行のプロセスを示す図である。
【図2a】図2aは、アプリケーションだけがダウンロードされる第二の実施形態でのアプリケーションのインストールプロセスを示すブロック図である。
【図2b】図2bは、図2aの実施形態での制御サーバーに対しアプリケーションが暗号文を要求する確認プロセスを示す図である。
【図2c】図2cは、図2aの実施形態での加入者モジュールのリソースを使用するアプリケーションの実行のプロセスを示す図である。
【図3a】図3aは、アプリケーションだけがダウンロードされる第三の実施形態でのアプリケーションのインストールプロセスを示すブロック図である。
【図3b】図3bは、図3aの実施形態での制御サーバーに対しアプリケーションが暗号文及びアプリケーションのダイジェストを要求する確認プロセスを示す図である。
【図3c】図3cは、図3aの実施形態での加入者モジュールのリソースを使用するアプリケーションの実行のプロセスを示す図である。
【図4】図4は暗号文の例の構造を示す図である。
【符号の説明】
【0068】
AEE 実行環境
APP アプリケーション
CB 携帯装置
CF 確認
CMD コマンド
CRY 暗号文
CSE 制御サーバー
FA アプリケーションプロバイダ
FIN1、FIN2 ダイジェスト
ID 識別
NET ネットワーク
RES リソース
RSP 応答
SIM 加入者モジュール


【特許請求の範囲】
【請求項1】
ネットワーク(NET)により制御サーバー(CSE)に接続された装置(CB)内で動作する少なくとも1つのアプリケーション(APP)の認証方法において、前記装置(CB)が1つのセキュリティモジュール(SIM)にローカルに接続され、前記アプリケーション(APP)が、装置(CB)のアプリケーションの実行環境(AEE)を用いてロード及び/又は実行され、セキュリティモジュール(SIM)内に格納されているリソース(RES)を利用する方法であって、
・ 制御サーバー(CSE)が、少なくとも装置(CB)の識別子(IMEISV)及びセキュリティモジュール(SIM)の識別子(IMSI)を含むデータをネットワーク(NET)を経由して受信する予備工程と、
・ 制御サーバー(CSE)が前記データを分析及び確認する予備工程と、
・ アプリケーション(APP)のダイジェスト(FIN1)、装置(CB)及びセキュリティモジュール(SIM)を識別するデータ、及び前記モジュール宛の指示(INS_RES)を含む暗号文(CRY)を生成する予備工程と、
・ ネットワーク(NET)及び装置(CB)を経由して前記暗号文(CRY)をセキュリティモジュール(SIM)に送信する予備工程と、
・ 受信した暗号文(CRY)から抽出したダイジェスト(FIN1)をセキュリティモジュール(SIM)によって決められたダイジェスト(FIN2)と比較することによりアプリケーション(APP)を確認する予備工程と
を含み、セキュリティモジュール(SIM)が、アプリケーション(APP)の初期化及び/又は有効化の際、暗号文(CRY)から抽出された指示(INS_RES)を実行し、予め行われたこのアプリケーション(APP)に固有な確認の結果に応じて、前記セキュリティモジュール(SIM)のいくつかのリソース(RES)へのアクセスを許可又はロックすることを特徴とする方法。
【請求項2】
装置が携帯電話の携帯装置(CB)であることを特徴とする、請求項1記載の方法。
【請求項3】
ネットワーク(NET)がGSM、GPRS又はUMTSタイプの携帯電話ネットワークであることを特徴とする、請求項1記載の方法。
【請求項4】
セキュリティモジュール(SIM)がSIMカードタイプの携帯電話の携帯装置(CB)に挿入される加入者モジュールであることを特徴とする、請求項1又は2記載の方法。
【請求項5】
携帯装置(CB)/加入者モジュール(SIM)ユニットの識別(ID)が、携帯装置(CB)の識別子(IMEISV)、並びにネットワーク(NET)の加入者に固有な加入者モジュール(SIM)の識別番号(IMSI)を基にして行われることを特徴とする、請求項1又は4記載の方法。
【請求項6】
セキュリティモジュール(SIM)によって受信される暗号文(CRY)に含まれる指示が、通信業者及び/又はアプリケーションプロバイダ(FA)及び/又は装置のユーザーによって予め決められた基準に従い、アプリケーション(APP)の使用を条件付けることを特徴とする、請求項1記載の方法。
【請求項7】
基準が、通信業者が考慮を所望するアプリケーション(APP)のソフトウェア又は装置(CB)のハードウェアに関連するリスクに従い前記アプリケーション(APP)の使用限度を定義することを特徴とする、請求項6記載の方法。
【請求項8】
暗号文(CRY)に対するアプリケーション(APP)の確認が、前記アプリケーション(APP)最初の起動時又は最初の使用時に行われることを特徴とする、請求項1記載の方法。
【請求項9】
暗号文(CRY)に対するアプリケーション(APP)の確認が、制御サーバー(CSE)からの指示に従って与えられるタイミングで周期的に実施されることを特徴とする、請求項1記載の方法。
【請求項10】
暗号文(CRY)に対するアプリケーション(APP)の確認が、装置(CB)上での前記アプリケーション(APP)の毎回の起動時に行われることを特徴とする、請求項1記載の方法。
【請求項11】
他のデータのうち特に、装置(CB)の識別子(IMEISV)、セキュリティモジュール(SIM)の識別子(IMSI)、アプリケーション(APP)の識別子、一方向性ハッシュ関数を用いて計算されたアプリケーション(APP)のダイジェスト(FIN1)、セキュリティモジュール(SIM)のリソースの識別子(RES_ID)、及びセキュリティモジュール(SIM)のリソース(RES)のロック/開放指示(INS_RES)を含むデータセットを基にして、対称又は非対称暗号鍵を用いて暗号文(CRY)が生成されることを特徴とする、請求項1記載の方法。
【請求項12】
暗号文(CRY)が、同じ暗号文(CRY)の二重使用を防止するセキュリティモジュール(SIM)により予想可能な変数を含み、前記変数の値が、前記モジュールに格納され定期的に更新される基準値と比較することによって、セキュリティモジュール(SIM)により制御されることを特徴とする、請求項11記載の方法。
【請求項13】
セキュリティモジュール(SIM)がアプリケーション(APP)の暗号文(CRY)を受け入れた時又は拒否した時、前記セキュリティモジュール(SIM)が装置(CB)及びネットワーク(NET)を経由して確認メッセージ(CF)を制御サーバー(CSE)に送信することを特徴とする、請求項1記載の方法。
【請求項14】
アプリケーション実行環境(AEE)を経由してアプリケーション(APP)が装置(CB)内にロードされるのと同時に、暗号文(CRY)がセキュリティモジュール(SIM)に送信されることを特徴とする、請求項1記載の方法。
【請求項15】
いったんアプリケーション(APP)が制御サーバー(CSE)からネットワーク(NET)を経由して装置(CB)内にロードされると、その初期化時にサーバー(CSE)に対し暗号文(CRY)を要求し、前記暗号文(CRY)をセキュリティモジュール(SIM)に送信し、暗号文(CRY)の受入れ又は拒否の確認メッセージ(CF)がセキュリティモジュール(SIM)により、アプリケーション(APP)を経由してサーバーに送信されることを特徴とする、請求項1記載の方法。
【請求項16】
装置が、セキュリティモジュールが接続された有料テレビデコーダ又はコンピュータであることを特徴とする、請求項1記載の方法。
【請求項17】
ネットワーク(NET)に接続された携帯装置(CB)内にインストールされた少なくとも1つのアプリケーション(APP)によりローカルにアクセスされるようになっているリソース(RES)を含むセキュリティモジュールにおいて、前記装置(CB)が、少なくとも装置(CB)の識別子(IMEISV)及びセキュリティモジュール(SIM)の識別子(IMSI)を含むデータ読取り及び送信手段を備えるセキュリティモジュールであって、他のデータのうち特に前記アプリケーション(APP)のダイジェスト(FIN1)及び指示(INS_RES)を含む暗号文(CRY)の受信、保存及び分析手段と、前記アプリケーション(APP)の確認手段と、アプリケーション(APP)の確認の結果に従いいくつかのリソースを開放又はロックする暗号文(CRY)内に含まれる指示(INS_RES)の抽出及び実行手段とを備えることを特徴とするセキュリティモジュール。
【請求項18】
携帯装置に接続されるようになっている「加入者モジュール」又は「SIMカード」タイプであることを特徴とする、請求項17記載のセキュリティモジュール。

【図1a】
image rotate

【図1b】
image rotate

【図1c】
image rotate

【図2a】
image rotate

【図2b】
image rotate

【図2c】
image rotate

【図3a】
image rotate

【図3b】
image rotate

【図3c】
image rotate

【図4】
image rotate


【公表番号】特表2007−519308(P2007−519308A)
【公表日】平成19年7月12日(2007.7.12)
【国際特許分類】
【出願番号】特願2006−540462(P2006−540462)
【出願日】平成16年11月26日(2004.11.26)
【国際出願番号】PCT/EP2004/053116
【国際公開番号】WO2005/053263
【国際公開日】平成17年6月9日(2005.6.9)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
【出願人】(500477997)ナグラカード エス. アー. (16)
【Fターム(参考)】