説明

セキュアなサブスクライバ識別モジュールサービス

【課題】セキュアなサブスクライバ識別モジュールサービスのための方法、装置、システム、およびコンピュータプログラムプロダクトを提供する。
【解決手段】モバイルネットワーク経由の通信は、システムの通信サービスの起動要求がシステムのセキュアなパーティションで受信されると、起動する。要求を受信すると、セキュアなパーティションだけがアクセス可能な格納装置から許可サービスに対して鍵が取得される。この鍵は、通信サービスの起動を要求する許可に含められ、許可が通信デバイスのサービスプロバイダに送られる。サービスプロバイダは、許可サービスと通信して、許可のデジタル署名を取得する。セキュアなパーティションは、サービスプロバイダから署名された許可を受信して、署名された許可が許可サービスによるデジタル署名を含むことを確認し、署名された許可がデジタル署名を含むことが確認されると、システムの通信サービスを起動する。

【発明の詳細な説明】
【技術分野】
【0001】
<著作権に関する注意書>
本書類には著作権保護対象物が含まれている。著作権保持者は、本特許の開示の特許商標庁におけるファイルまたは記録の複写には何人に対しても異議を唱えないが、それ以外の全ての著作権を保留する。
【0002】
本開示は概して無線ネットワークを介して通信するモバイルデバイスおよびコンピュータシステムのモジュール内のサブスクライバ識別モジュールに係る。
【背景技術】
【0003】
無線ネットワーク(モバイルネットワークとも称される)を介して通信を行うコンピュータおよびモバイル電話通信デバイスは、物理的なサブスクライバ識別モジュール(SIM)カードを含んでいる。SIMカードは、サービスの起動時に無線サービスプロバイダにより割り当てられるサービス−サブスクライバ鍵(IMSIとしても知られている)をセキュアに格納している。SIMカードはさらに、モバイルデバイスが該デバイスのホームモバイルネットワークにアクセスするときに利用する認証鍵も格納することができる。現在のところサービスプロバイダは、サービスの起動前にモバイルデバイスユーザに物理的なSIMカードを発行する必要がある。
【0004】
物理的なSIMカードは、発行を行うサービスプロバイダと、ホームネットワークとに結び付けられている。PLMN(public land mobile network)の各配置領域には、LAI(Location Area Identify)として知られている固有識別子が配置されている。LAIは、MCC(Mobile Country Code)、MNC(Mobile Network Code)、およびLAC(Location Area Code)を含む。モバイルネットワークの基地局はいずれも該領域のLAIをBCCH(Broadcast Control Channel)に送信する。
【0005】
あるモバイルデバイスが通信を行うモバイルネットワークは、該ホームネットワーク配置領域内のセルに関する情報を提供する様々なリスト(SIM(EHPLMN(Equivalent Home PLMN)のリスト等)に、または、ネットワーク選択の際に利用するユーザ制御またはオペレータ制御によるPLMNセレクタリストに格納されている。ネットワーク登録中に、モバイルデバイスは、現在の位置で利用可能なPLMNからモバイルネットワークを選択する。自動選択プロシージャによって、利用可能なPLMNのリストの検索が行われ、3GPP仕様TS23.122に準拠した適切なPLMNが探し出される(これに関してはURL www-3gpp-org/ftp/Specs/html-info/23122-htmから情報入手可能であり、このURLでは「.」を「−」で置き換えることで、本書類からのアクティブハイパーリンクを回避している)。ぴったり整合するものがない場合には、モバイルデバイスは、ホームネットワークとして選択されるPLMNに登録を行う。
【0006】
モバイルデバイスがモバイルネットワークにアクセスを試みるとき、物理的なSIMカードは、ホームネットワークに関連付けられている認証鍵を提供する。モバイルデバイスがホームネットワークエリア外にある場合には、パートナネットワークサービスプロバイダが、ホームネットワークサービスプロバイダに対して認証証明書を要求し、該モバイルデバイスの無線ネットワークへのアクセスについて認証を行う。パートナサービスプロバイダは、パートナモバイルネットワークへのアクセスに関して「ローミング料金」を課す。モバイルデバイスのユーザは自身が頻繁に行く領域の別の物理的なSIMカードを取得して、その領域に行く際には、物理的なSIMカードを交換することで、ローミング料金を回避することができる。
【図面の簡単な説明】
【0007】
【図1】本発明の一実施形態におけるセキュアなサブスクライバ識別モジュール(SIM)を提供するよう構成されるシステムのブロック図である。
【図2】セキュアなサブスクライバ識別モジュール(SIM)サービスを利用して通信を起動するときの、図1のシステムにおける各コンポーネントとユーザとの間の相互作用を示すフロー図である。
【図3】本発明の一実施形態における複数のセキュアなサブスクライバ識別モジュール(SIM)サービスを提供するよう構成されるシステムのブロック図である。
【図4】ホストデバイスの位置に基づき、複数の提供されたサブスクライバ識別モジュール(SIM)サービスからセキュアなSIMサービスを選択する方法のフローチャートである。
【図5】本発明の一実施形態における2つの提供されたSIMサービスの好適な組み合わせられたモバイルネットワークリストを示す。
【図6】本発明の一実施形態におけるセキュアなサブスクライバ識別モジュールを実装する仮想マシン環境を示す。
【発明を実施するための形態】
【0008】
本発明の実施形態は、セキュアなサブスクライバ識別モジュール(SIM)サービスを提供する方法、装置、システム、およびコンピュータプログラムプロダクトを提供することができる。一実施形態では、セキュアなサブスクライバ識別モジュールサービスは、物理的なSIMカードではなくて、プラットフォームチップセット内のファームウェアが実装する。モバルデバイスが物理的なSIMの取得を要求することに代わる代替方法を提供することにより、無線通信サービスの迅速な起動および提供が可能になる。加えて、2以上のセキュアなSIMサービスを提供することができるので、これらセキュアなSIMサービスのいずれかを、ある通信に対して該モバイルデバイスの位置に基づき選択することができるようになる。
【0009】
本発明における「一実施形態(one embodiment)(an embodiment)」といった言い回しは、該実施形態との関連で記載される特定の特徴、構造、または性質が、本発明の少なくとも1つの実施形態に含まれることを示している。従って本明細書では、「一実施形態では(in one embodiment)」「一実施形態においては(according to one embodiment)」等の言い回しが随所に利用されているが、これらは必ずしも同じ実施形態のことを言っている場合ばかりではない。
【0010】
また本明細書では特定の構成および詳細について述べることで、本発明の完全な理解を促している。しかし当業者であれば本発明が、個々に示されている特定の詳細なしに実行可能であることを理解する。さらに公知な特徴については述べない、または詳細に述べないことにより、本発明を曖昧にすることがないようにしている箇所もある。記載においては様々な例を示す。これらは本発明の特定の実施形態を説明しているにすぎない。本発明の範囲は、これらの例に限定されない。
【0011】
一実施形態では、セキュアなサブスクライバ識別モジュールサービスをセキュアなパーティション内に設けることで、隔離され、制御された環境をサービス起動に関して保証する。セキュアなパーティションは、システム上で起動されるサービスが、認証されたソースからのものであることを検証済みであることを保証することができる。セキュアなパーティションは、システムのホストオペレーティングシステムから隔離されることで、システム上で起動されるサービスの傍受を防いでいる。
【0012】
セキュアなプラットフォームサブスクライバ識別モジュールの、隔離されたセキュアな環境は、複数の異なる種類のパーティションを含むことができ、これには例えば、完全に別個のハードウェアパーティション(例えば、インテル(登録商標)コーポレーション社のME(Manageability Engine)、AMT(Active Management Technologies)、PRL(Platform Resource Layer)、および/または、他のこれら同等のまたは類似した技術)および/または仮想化されたパーティション(例えば、インテル(登録商標)コーポレーション社の仮想化技術(VT)スキーム)が含まれる。当業者には、仮想化されたホストを利用してME,AMT、およびPRL技術を実装することもできることが明らかである(これに関しては図6を参照して後述する)。ここではセキュアなパーティションを、ME技術を利用して実装するが、当業者であれば本発明がこれに限定されず、他の実装例も本発明の範囲内に含まれることを理解するであろう。
【0013】
図1は、本発明の一実施形態におけるセキュアなサブスクライバ識別モジュールを起動するよう構成されるシステムのブロック図である。ホストコンピュータシステムに相当するプラットフォーム100は、チップセット/セキュアなパーティション120に接続されたプロセッサ110を含む。プロセッサ110は、プラットフォーム100に処理力を与え、シングルコアプロセッサであってもマルチコアプロセッサであってもよく、2以上のプロセッサがプラットフォーム100に含まれてよい。プロセッサ110は、1以上のシステムバス、通信パスウェイまたは媒体(不図示)によりプラットフォーム100の他のコンポーネントに接続されてよい。プロセッサ110は、ホストオペレーティングシステム111の制御の下に動作する、ホストアプリケーション112等のアプリケーションを実行することができる。ホストアプリケーション112は、ネットワーク170上の他のシステム(例えばサービスプロバイダサーバ180または許可サーバ190)と、イーサネット(登録商標)NIC114等のネットワークコントローラを介して通信することができる。
【0014】
チップセット/セキュアなパーティション120はME130を含み、ME130はホストプロセッサ110とは独立して動作するエンベデッドマイクロプロセッサとして実装可能であり、プラットフォーム100の構成および動作を管理する。一実施形態では、プロセッサ110はホストオペレーティングシステム111の指揮下に動作するが、ME130は、ホストオペレーティングシステム111がアクセスすることのできないセキュアで隔離された環境を提供する。一実施形態では、ME130はユーザを認証し、周辺デバイスへのアクセスを制御し、プラットフォーム100の格納デバイスに格納されるデータを保護する暗号鍵を管理し、セキュアなサブスクライバ識別モジュール(SIM)サービスを起動するためのセキュアな環境を提供する。一実施形態のME130は、非対称RSA公開鍵暗号法により外部の実体(許可サーバ190等)との信用関係に基づいて動作するよう構成されるが、これに関しては後で詳述する。
【0015】
一実施形態では、プロセッサ110上で実行されるホストアプリケーション112と、ME130との間で交わされる通信は、HECI(host embedded controller interface)116を介して行われる。ME130と外部の実体(許可サーバ190等)との間の信用関係を利用するべく、ホストアプリケーション112は、外部の実体(許可サーバ190等)から、ホストアプリケーション112がME130に対して通信を希望するデータ用の署名を取得することができる。
【0016】
プラットフォーム100はフラッシュメモリ122を含み、他に、DRAM,SRAM等のメモリデバイス(不図示)を含んでもよく、且つ、格納コントローラ(不図示)を介してアクセス可能な外部の格納デバイスを含むこともできる。これらのメモリデバイスには、RAMおよびROMが含まれてよい。本開示においては「ROM」という用語は、EPROM、EEPROM(登録商標)、フラッシュROM、フラッシュメモリ等の不揮発性メモリ素子の意味で利用されてよい。格納デバイスは、さらに、IDE(integrated drive electronics)ハードドライブおよび/または他のデバイスまたは媒体(フロッピー(登録商標)ディスク、光学格納装置、テープ、フラッシュメモリ、メモリスティック、デジタルビデオディスク、生物学的格納装置等)を含んでよい。
【0017】
フラッシュメモリ122は、フラッシュインタフェース121を介してチップセット/セキュアなパーティション120からアクセス可能である。フラッシュメモリ122内のデータは暗号化されていてもよい。プラットフォーム100と他のシステム(許可サーバ190)との間でネットワーク170を介してセキュアな通信を行うための暗号/復号鍵は、チップセット/セキュアなパーティション120およびME130の製造段階でフラッシュメモリ122に格納することができる。チップセット/セキュアなパーティション120およびME130の製造段階で格納される暗号/復号鍵により、ME130と外部の実体(許可サーバ190等)との間の信用関係が構築される。ME130は、フラッシュメモリ122に格納されている公開鍵に関連付けられた秘密鍵により署名されたデータを信用することができる。
【0018】
フラッシュメモリ122はさらに、プラットフォーム100を初期化するのに利用されるファームウェア(不図示)を含むことができる。この初期化ファームウェアは、システムコンポーネントハードウェア(ビデオ表示カードおよびハードディスク)およびME130を含むその他のハードウェアデバイスを特定し初期化するBIOSファームウェアを含むことができる。BIOSファームウェアは、プラットフォーム100のシステムコンポーネントハードウェアを公知の低容量状態で動作させるべく準備して、様々な媒体に格納されているその他のソフトウェアプログラム(オペレーティングシステムを含む)をロード、実行させ、プラットフォーム100の制御下におくことができる。フラッシュメモリ122はさらに、チップセット/セキュアなパーティション120を構成するチップセットファームウェア(不図示)を含んでよい。
【0019】
プロセッサ110はさらに、追加コンポーネント(例えばビデオコントローラ、SCSI(small computer system interface)コントローラ、ネットワークコントローラ、USB(universal serial bus)コントローラ、キーボードおよびマウス等の入力デバイス等)に通信可能に連結されてよい。プラットフォーム100はさらに、1以上のブリッジまたはハブ(メモリコントローラハブ、入出力(I/O)コントローラハブ、PCIルートブリッジ等)を含むことで、様々なシステムコンポーネントを通信可能に連結してよい。ここで利用する「バス」という用語は、共有通信パスウェイのことであっても、ポイントツーポイントパスウェイのことであってもよい。
【0020】
一部のコンポーネント(例えばイーサネット(登録商標)NIC114)は、インタフェース(PCIコネクタ)を有するアダプタカードとして実装されることでバスと通信してもよい。一実施形態では、1以上のデバイスが、プログラム可能な、またはプログラム不可能ロジックデバイスまたはアレイ、ASIC(application-specific integrated circuit)、エンベデッドコンピュータ、スマートカード等のコンポーネントを利用して、エンベデッドコントローラとして実装されてよい。
【0021】
ここで利用する「処理システム」「データ処理システム」といった用語は、単一のマシン、または、協同するマシンまたはデバイス同士が通信可能に連結されたシステムを幅広く含むことを意図している。処理システムの例には(限定を意図せず)、配信コンピューティングシステム、スーパコンピュータ、高性能コンピューティングシステム、コンピューティングクラスタ、メインフレームコンピュータ、ミニコンピュータ、クライアント−サーバシステム、パーソナルコンピュータ、ワークステーション、サーバ、ポータブルコンピュータ、ラップトップコンピュータ、タブレット型コンピュータ、電話機、PDA(personal digital assistant)、ハンドヘルドデバイス、娯楽デバイス(オーディオおよび/またはビデオデバイス等)、および情報を処理または送信するその他のデバイスが含まれる。
【0022】
プラットフォーム100は、少なくとも部分的に、キーボード、マウス等の従来の入力デバイスからの入力により、および/または、別のマシン、生物測定学を利用するフィードバック、またはその他の入力ソースまたは信号から受信されたコマンドにより制御されてよい。プラットフォーム100は、1以上の遠隔データ処理システム(例えばサービスプロバイダサーバ180または許可サーバ190)に対する、イーサネット(登録商標)NIC(network interface controller)114、モデム、その他の通信ポートまたは連結等を介した1以上の接続を利用することができる。
【0023】
プラットフォーム100は、物理的および/または論理的ネットワーク170(例えばLAN、WAN、イントラネット、インターネット等)を介して他の処理システム(サービスプロバイダサーバ180または許可サーバ190等)に相互接続されてよい。ネットワーク170を利用する通信では、様々な有線および/または無線の短距離または長距離キャリアおよびプロトコル(無線周波数(RF)、衛星、マイクロウェーブ、IEEE802.11、ブルートゥース(登録商標)、光学、赤外線、ケーブル、レーザ等)が利用されてよい。プラットフォーム100は、イーサネット(登録商標)プロトコルを用いた通信用にイーサネット(登録商標)ネットワークインタフェースコントローラ114を含む。プラットフォーム100はさらに、3Gネットワーク172で3G無線プロトコルを介して通信するために3G NIC160を含む。
【0024】
SIMデバイス150等のセキュアなプラットフォームサブスクライバ識別モジュールサービスを起動することにより、プラットフォーム100は、3G NIC160および3Gネットワーク172を介して、3G無線ネットワークプロトコルを利用して無線通信を行うことができる。3G NIC160は、インターコネクト164(例えばUSB接続であってよい)を介してチップセット/セキュアなパーティション120と接続される。3G NIC160は、さらに、インターコネクト162(ME130を、3Gネットワーク172を介して通信させるための別個の物理的なバスであってよい)を介してME130に接続される。
【0025】
ME130は、ライセンスサービス140とSIMサービス150とを含む。一実施形態では、ライセンスサービス140は、許可サーバ190と連係して動作することで、SIMサービス150等のサービスをプラットフォーム100上で起動するファームウェアモジュールとして実装される。例えばライセンスサービス140および許可サーバ190は、プラットフォーム100のハードウェアが工場から出荷されたあとに起動可能なプロセッサ、チップセット、および/または、プラットフォームのフィーチャをイネーブルする目的で利用可能である。これらのプロセッサ、チップセット、および/または、プラットフォームのフィーチャは、OEM製造段階で、小売販売段階で、あるいはハードウェアが顧客側でインストールされた後で購入が可能である。ライセンスサービス140は、サービス起動前に、署名検証アルゴリズムにより、許可サーバ190に対してプラットフォーム100を認証することができる。
【0026】
SIMサービス150は、ライセンスサービス140および許可サーバ190を介して起動されうるサービスの一例である。SIMサービス150は、起動されるまではディセーブル状態にある。起動されると、SIMサービス150は、プラットフォーム100を、3G NIC160を利用して3Gネットワーク172を介して通信させる。SIMサービス150の起動については、図2を参照して後で詳述する。
【0027】
図2は、セキュアなサブスクライバ識別モジュール(SIM)サービスを利用して通信を起動するときの、図1のシステムにおける各コンポーネントとユーザとの間の相互作用を示すフロー図である。アクション2.1で、ユーザは通信サービスの起動を開始する。一実施形態では、ユーザは、プロセッサ110上で実行されるウェブブラウザ(不図示)を利用して、イーサネット(登録商標)NIC114とネットワーク170とを介して、サービスプロバイダサーバ180に接続する。ユーザは、サービスプロバイダサーバ180からアプリケーション(ホストアプリケーション等112)をダウンロードして実行することで、無線通信サービスの起動を開始する。アクション2.2で、ホストアプリケーション112は、HECI116経由で、ME130のライセンスサービス140に対して起動データを要求する。ホストアプリケーション112からの起動データ要求に応えて、ライセンスサービス140は、起動要求許可を生成することができる。起動要求許可にはノンスが含まれてよく、これは一度しか利用できない乱数であり、起動要求を一意に識別し、マルウェアによるレプレーアタックから保護することができる。アクション2.3で、ライセンスサービス140は、起動データ(ノンスを含む起動要求許可等)をホストアプリケーション112に戻す。
【0028】
アクション2.4で、ホストアプリケーション124は、SIM起動要求許可をサービスプロバイダサーバ180に転送する。アクション2.5で、サービスプロバイダサーバ180は通信サービスの起動を承認し、SIMデータを起動要求許可に追加する。例えば、サービスプロバイダサーバ180は、サービス起動の承認前に支払いが行われたことを確認してよい。サービスプロバイダサーバ180は、サーバ−サブスクライバ鍵(IMSIとしても知られている、モバイルユーザの国際的に一意である番号のこと)等の情報を追加して、起動要求許可を修正してもよい。サーバ−サブスクライバ鍵/IMSIの最初の3桁は、MCC(Mobile Country Code)を表し、次の2桁はMNC(Mobile Network Code)を表し、次の10桁が移動局の識別番号を表す。サービスプロバイダサーバ180はさらに、SIMが3Gネットワーク172上の認証において利用する認証鍵をサブスクライバ識別モジュールに割り当てることができる。サービスプロバイダサーバ180はさらに、認証鍵を追加することにより起動要求許可を修正してもよい。サービスプロバイダサーバ180は、自身のネットワーク上のデータベースにSIMの認証鍵を格納する。SIMデータを起動要求許可に追加するときに、サービスプロバイダサーバ180はさらに、自身の公開鍵を起動要求許可に追加して、SIMサービス150を管理するために将来プラットフォーム100のME130との間で行われる通信に備えさせることができる。起動要求許可は、ME130との間に信用関係のある許可サーバ190により署名される必要があるので、サービスプロバイダサーバ180の公開鍵に対する許可サーバ190のデジタル署名の取得により、将来ME130と通信する際に許可サーバ190からサービスプロバイダサーバ180への信用関係が生じる。
【0029】
アクション2.6で、サービスプロバイダサーバ180は、起動要求許可を許可サーバ190に転送する。起動要求許可を受信すると、許可サーバ190は、起動要求許可に含まれる情報を確認することができる。例えば、許可サーバ190は、プラットフォーム100の特定の機能を起動するライセンスが整ったことを確認することができる。許可サーバ190は、さらに、プラットフォーム100および/またはME130に関する情報を起動要求許可で調べて、フィーチャが起動されるべきプラットフォームに信用関係が構築されていることを確かめることができる。許可サーバ190がプラットフォーム100に対してセキュアなサブスクライバ識別モジュール(SIM)サービスの起動を承認する場合には、許可サーバ190は、起動要求許可に対してデジタル署名を加えることで、署名された起動要求許可を作成する。許可サーバ190が提供するデジタル署名は、許可サーバ190が起動要求許可を受信したことを保証し、ME130と許可サーバ190との間の信用関係を反映している。ME130は、許可サーバ190の公開鍵のコピーを利用して、デジタル署名が許可サーバ190からのものであることを確かめることができる。起動要求許可が、サービスプロバイダサーバ180の公開鍵を含んでいる場合には、公開鍵に対する許可サーバ190のデジタル署名が、将来ME130と通信する際に許可サーバ190からサービスプロバイダサーバ180への信用関係を表す。
【0030】
アクション2.7で、許可サーバ190は、署名された起動要求許可をサービスプロバイダサーバ180に転送する。アクション2.8で、サービスプロバイダサーバ180は、署名された起動要求許可をホストアプリケーション112に提供する。アクション2.9で、ホストアプリケーション112は、インストール要求を、署名された起動要求許可とともに、ME130のライセンスサービス140に送る。アクション2.10で、ライセンスサービス140は、署名された起動要求許可内のデジタル署名を、ME130のセキュアな格納装置(例えばフラッシュメモリ122)に格納されている許可サーバ190の公開鍵を利用して検証する。ライセンスサービス140は、デジタル署名が許可サーバ190からのものであると確かめられなかった場合には、それ以上該署名された起動要求許可に呼応して動作することをしない。ライセンスサービス140は、さらに、署名された起動要求許可のノンスと、この起動要求許可について元々生成されているノンスとが整合するかどうか検証する。
【0031】
アクション2.11で、ライセンスサービス140は、フラッシュメモリ122に格納されているSIMサービス150のファームウェアモジュールに含まれているコードを実行することで、SIMサービス150を起動する。例えば、3G NICと通信する際に必要なドライバをロードすることが含まれる。3G NICドライバがロードされると、SIMサービス150では、3G NICから受信するコマンドに対する応答準備が整う。一実施形態では、署名された起動要求許可は、フラッシュメモリ122等のME130のセキュアな格納装置に格納される。署名された起動要求許可が、サービスプロバイダサーバ180の公開鍵を含んでいる場合には、このサービスプロバイダサーバ180の公開鍵もフラッシュメモリ122に格納してよい。サービスプロバイダサーバ180の公開鍵に対する許可サーバ190のデジタル署名は、将来ME130と通信する際に許可サーバ190からサービスプロバイダサーバ180への信用関係を表す。アクション2.12で、ライセンスサービス140は、SIMサービス150がホストアプリケーション112を起動したことを確認する。
【0032】
起動されると、SIMサービス150は3G NIC160に対してSIM機能を提供する。3G NIC160は、3Gネットワーク172のノードとしてサービスプロバイダサーバ180に対して登録される。サービスプロバイダサーバ180の公開鍵が、署名された起動要求許可に追加されている場合には、サービスプロバイダサーバ180はSIMサービス150を遠隔管理することができる。例えばサービスプロバイダ180は、後に通信サービスを停止させて、PLMNリスト等のSIMデータに変更を加えることで、および/または、通信デバイスのパラメータを変更することで、SIMサービス150を遠隔管理することができる。サービスプロバイダサーバ180は、サービスプロバイダサーバ180の公開鍵に関する通信において、通信サービスのパラメータを修正するコマンドを送ることができる。例えば、通信に対して、サービスプロバイダサーバ180の秘密鍵を利用して署名することができる。その後、ME130は、許可サーバ190により署名されたサービスプロバイダサーバ180の公開鍵を利用して、通信がサービスプロバイダサーバ180からのものであることを確認することができる。
【0033】
SIMサービス150がプラットフォーム100に通信サービスを提供する動作は以下のようにして行われる。一実施形態では、3G NIC160が立ち上がると、3G NIC160は、IMSIをSIMサービス150から取得する。SIMサービス150は、ME130に関連付けられているセキュアな格納装置(フラッシュメモリ122等)から、IMSIおよび認証鍵を含む、署名された起動要求許可を取得することができる。3G NIC160は、IMSIをサービスプロバイダサーバ180に渡して、アクセスおよび認証を要求する。サービスプロバイダサーバ180は、入ってくるIMSIおよびそれに関連付けられた認証鍵がないか、自身のデータベースを探す。そしてサービスプロバイダサーバ180は、乱数(つまり、ノンスであるRAND)を生成して、それに対して、IMSIに関連付けられ(SIMサービス150で格納した)認証鍵で署名を行い、署名された応答1(SRES_1)として知られる別の番号を計算する。署名された応答1(SRES_1)は、サービスプロバイダサーバ180のネットワークへのアクセスが許可される前の認証に関するチャレンジである。サービスプロバイダサーバ180は、RANDを3G NIC160に送り、次いでRANDがSIMサービス150へ渡される。SIMサービス150は、RANDを認証鍵で署名して、第2の署名された応答SRES_2を生成する。SIMサービス150は、SRES_2を、暗号鍵Kcとともに3G NICに渡す。3G NIC160はSRES_2をサービスプロバイダサーバ180に渡す。サービスプロバイダサーバ180は、自身で計算されたSRES_1を、3G NIC160から戻ってきた、計算されたSRES_2と比較する。2つの値が整合すると、SIMサービス150はチャレンジを満たすので認証され、サービスプロバイダサーバ180が提供するネットワーク172に対する3G NIC160のアクセスが許可される。鍵Kcを利用して3G NIC160とサービスプロバイダサーバ180のネットワークとの間のさらなる通信全てが暗号化される。
【0034】
図1および図2を参照して説明したシステムでは、システム(モバイル電話デバイスであってもラップトップであってもよい)が、物理的なSIMカードを利用せずにモバイルネットワーク経由で通信サービスを起動することができる。モバイルネットワーク経由の通信は、システムの通信サービスの起動要求がシステムのセキュアなパーティションで受信されると、起動する。要求を受信すると、通信サービスの起動を要求する許可が作成され、この許可が通信サービスのサービスプロバイダに送られる。サービスプロバイダは、許可サービスと通信して、サービスを起動させる許可のデジタル署名を取得する。セキュアなパーティションは、サービスプロバイダから、署名された許可を受信して、許可サービスの鍵を、セキュアなパーティションだけがアクセス可能な格納装置から取得して、この鍵を利用して、署名された許可が、許可サービスによるデジタル署名を含むことを確認して、署名された許可が許可サービスによるデジタル署名を含むことを確認してから、システムの通信サービスを起動する。
【0035】
一実施形態では、セキュアなパーティションは、許可のノンスを生成して、システムの通信サービスを起動する前に、署名された許可がノンスを含むことを確認する。署名された許可は、セキュアなパーティションだけがアクセス可能な格納装置に格納されてよい。一実施形態では、許可サービスの鍵は、セキュアなパーティションのハードウェア製造時にセキュアなパーティションだけがアクセス可能な格納装置に埋め込まれる。
【0036】
署名された許可はさらに、サービスプロバイダの鍵を含むことができ、サービスプロバイダから後に通信を受信すると、セキュアなパーティションは、後の通信に対してアクションする前に、後の通信がサービスプロバイダの鍵に関連付けられていることを確認する。
【0037】
本発明の別の特徴には、要求を発するシステムから、通信サービスの起動を要求する許可を受信するサービスプロバイダサービスが含まれる。サービスプロバイダは、許可に鍵を追加して、許可サービスから、署名された許可を取得する。許可サービスは、許可にデジタル署名を加えて、署名された許可を作成する。サービスプロバイダは、要求を発するシステムに対して、署名された許可を送り、要求を発するシステムは、システムの通信サービスを起動する前に、署名された許可が、許可サービスによるデジタル署名を含むことを確認する。サービスプロバイダは、後の通信を、要求を発するシステムに送り、ここで、後の通知は、通信サービスのパラメータを補正するコマンドを含む。要求を発するシステムは、通信サービスの修正前に、後の通信が鍵に関連付けられていることを確かめる。
【0038】
通信サービスを停止するときにも、図2のステップ2.1から2.12に記載したものと同様のプロセスを、起動要求許可を停止要求許可に置き換え、署名された停止要求許可のSIMデータをヌルデータで置き換えて行うことができる。
【0039】
物理的なSIMカードを利用せずに通信カードを起動させることで、セキュアなサブスクライバ識別モジュールサービスは、無線通信サービスを即座に起動することができるようになる。無線通信サービスは、物理的なSIMカード用のスロットを含まないコンピュータでも起動することができる。セキュアなサブスクライバ識別モジュールサービスは、無線サービスプロバイダに、物理的なSIMカードを利用せずに、SIM特性を起動および/または更新させて、サービスを提供させることができる。セキュアなサブスクライバ識別モジュールサービスを、モバイルデバイスのホストオペレーティングシステムから隔離されたセキュアなパーティションに提供することで、無線通信サービスをIDを盗難しようとする攻撃から守り、サービス攻撃を拒絶することができるようになる。SIMサービスのファームウェアモジュールはチップセットハードウェアに常駐しているので、格納デバイスおよび/またはオペレーティングシステムが変更された場合、またはホストシステム上で危険に曝されている場合であっても、通信サービスの提供が可能である。
【0040】
セキュアなサブスクライバ識別モジュールサービスは物理的なSIMカードを必要としないので、2以上のサブスクライバ識別モジュールサービスを任意のモバイルデバイス/プラットフォームに提供することができるようになる。1つのプラットフォームに複数のSIMサービスを提供する機能は、複数のモバイルネットワークへ移動したり、アクセスしたりする必要のあるユーザにとって有用である。それぞれ異なるモバイルネットワークに接続することができる複数のSIMサービスを利用することで、モバイルデバイスの位置を利用して、モバイル通信における適切なSIMサービスの特定が可能になる。
【0041】
図3は、本発明の一実施形態における複数のセキュアなサブスクライバ識別モジュール(SIM)を提供するよう構成されるシステムのブロック図である。SIMサービス150は、プラットフォーム100、SIM1サービス352、およびSIM2サービス354に提供された2つの異なるSIMサービスを示す。例えばSIM1サービス352が米国のモバイルネットワークについて提供されたサービスであり、SIM2サービス354がカナダのモバイルネットワークについて提供されたサービスであってよい。SIMサービス150は、プラットフォーム100の位置に応じて、SIM1サービス352またはSIM2サービス354のいずれかのIDを採用(assume)することができる。プロセッサ110上で(ホストオペレーティングシステム111の制御の下に)実行される接続マネージャ310は、HECI116を介してME130内のSIM位置マネージャ320と通信する。プラットフォーム100のユーザは無線通信を開始して、接続マネージャ310はME130内のSIM位置マネージャ320に要求して、3G NIC160を介した無線通信について接続を構築させる。SIM位置マネージャ320は、3G NIC160を介して通信を行い、利用可能なモバイルネットワークを決定してから、SIMサービス150に、提供されたSIMサービスのうちの最も適切なSIMサービス(例えばSIM1サービス352またはSIM2サービス354のいずれか)のIDを採用させる。SIM位置マネージャ320が、提供されたSIMサービスのうちの最も適切なSIMサービスを特定する動作は、図4を参照して後で詳述する。
【0042】
図4は、ホストデバイスの位置に基づき、複数の提供されたサブスクライバ識別モジュール(SIM)サービスからSIMサービスを選択する方法のフローチャートである。SIM位置マネージャ320は、モバイルデバイスを、提供されたSIMサービスの好適なモバイルネットワークのリストから特定されたホームネットワークのうちのいずれかに対して登録させる。この構成によって、ホームネットワークのいずれもが利用不可能である場合以外は、ローミング料金の課金を確実に回避することができるようになる。複数のホームネットワークが利用可能である場合には、最高品質の信号を有するホームネットワークを選択する。
【0043】
「利用可能なモバイルネットワークおよび信号品質を取得する」ステップ410では、SIM位置マネージャ320は、3G NIC160に対して、利用可能なモバイルネットワーク(PLMN)および各ネットワークに関連付けられた信号品質のリストを要求する。利用可能なモバイルネットワークのリストを受信すると、SIM位置マネージャ320は、「最高品質のモバイルネットワークの国コードを選択する」ステップ420で、最高品質の信号を有する国コード(例えばMCC)を選択する。複数のモバイルネットワーク/国コードの信号品質が同じである場合(境界領域ではこういう場合もありうる)、他の基準を利用してもよいし、国コードをランダムに選択してもよい。
【0044】
「選択された国コードを有する、提供された全てのSIMサービスのモバイルネットワークリストを組み合わせる」ステップ430では、SIM位置マネージャ320は、選択された国コードを、提供されたSIMサービスの好適なリストのモバイルネットワークの国コードと整合させることにより、新たな好適なモバイルネットワークリストを作成する。一実施形態では、この新たな好適なモバイルネットワークリストは、エントリがSIMサービス全体において、および、1つのSIMサービス内において、元の優先順位を保つように整えられる。複数のSIMサービスが、同じ優先レベルで複数の整合するエントリを有する場合には、他の基準を利用してもよいし、モバイルネットワークにランダムに優先順位を割り当ててもよい。組み合わせられたモバイルネットワークリストについては、図5を参照して後に詳述する。
【0045】
モバイルネットワークリストが組み合わせられると、制御は「組み合わせられたモバイルネットワークリストは空か?」という決定ポイント432に進む。「組み合わせられたモバイルネットワークリストは空か?」」という決定ポイント432では、SIM位置マネージャ320は、組み合わせられたモバイルネットワークリストが空であるか否かをチェックする。リストが空ではない場合、制御は、「組み合わせられたモバイルネットワークリストからネットワークを選択する」ステップ440に進む。
【0046】
モバイルネットワークリストが組み合わせられると、SIM位置マネージャ320は、組み合わせられたモバイルネットワークリストを3G NIC160に提供する、および/または、3G NIC160に命じて、組み合わせられたモバイルネットワークリストに各ネットワークを1度に1つずつ登録する試みを行わせる。制御は、「組み合わせられたモバイルネットワークリストからネットワークを選択する」ステップ440に進む。SIM位置マネージャ320は、組み合わせられたモバイルネットワークリストにおける優先順位に基づいてネットワークを選択してよい。ネットワークが選択されると、制御は「モバイルデバイスの、選択したネットワークへの登録を、対応する提供されたSIMサービスの証明書を利用して試みさせる」ステップ442に進む。対応する提供されたSIMサービスは、ネットワークを選択することで特定されているので、対応する提供されたSIMサービスも、提供されたSIMサービスから選択されると考えてよい。SIM位置マネージャ320は、モバイルデバイスに、3G NIC160に対して、対応する提供されたSIMサービスの証明書を提供することで、選択されたネットワークへの登録を試みさせる。3G NIC160は、提供された証明書を利用して、選択されたネットワークに対する登録を試みる。
【0047】
そして制御は、「登録に成功?」という決定ポイント444に進む。選択されたネットワークへの登録が成功すると、制御は「SIMサービスに、成功した登録で利用された、提供されたSIMサービスのIDを採用させる」ステップ446に進む。SIM位置マネージャ320は、登録に成功した提供されたSIMサービスのIDをSIMサービス150に通知して、SIMサービス150は、選択されたネットワークへの成功した登録で利用された、提供されたSIMサービスのIDを採用する。登録に成功した提供されたSIMサービスのIDは、SIMサービス150が3Gネットワーク通信を試みる際に利用される。
【0048】
SIMサービス150が、選択されたネットワークへの成功した登録で利用された、提供されたSIMサービスのIDを採用すると、他の提供されたSIMサービスは起動されることがないようにしてよい。これら他の提供されたSIMサービスは、潜在的に対応するサービスプロバイダによる管理を受けるようにして、サービスプロバイダ180からの後の通信に関して上述したSIMデータへの変更および/またはサービスパラメータへの変更を受け付けるようにすることができる。
【0049】
「登録に成功した?」とう決定ポイント444では、選択されたネットワークへの登録に成功しなかった場合、制御は「組み合わせられたモバイルネットワークリストに他のエントリがあるか?」という決定ポイント446に進む。組み合わせられたモバイルネットワークリストにまだ他にエントリがある場合には、制御は「組み合わせられたモバイルネットワークリストからネットワークを選択する」ステップ440に戻り、SIM位置マネージャ320が、別のネットワークを選択して登録を試みる。
【0050】
「組み合わせられたモバイルネットワークリストに他にエントリがある?」という決定ポイント448では、組み合わせられたモバイルネットワークリストに他にエントリがない場合には、制御は「他のモバイルネットワークが利用可能?」ステップ450に進む。組み合わせられたモバイルネットワークリストに何もなくなった場合であっても、「利用可能なモバイルネットワークおよび信号品質を取得する」ステップ410で、異なる国コードを有する他のモバイルネットワークが特定されている場合もある。制御は「次に品質の高いモバイルネットワークの国コードを選択する」ステップ460に進む。そして制御は、「選択された国コードを有する、提供された全てのSIMサービスからモバイルネットワークリストを組み合わせる」ステップ430に戻り、そこで、選択された国コードを有する提供されたSIMサービスから、新たに好適なモバイルネットワークリストを組み合わせて、3G NIC160に提供する。
【0051】
「他のモバイルネットワークが利用可能?」ステップ450で、「利用可能なモバイルネットワークおよび信号品質を取得する」ステップ410で元々特定されていた利用可能なネットワークグループにネットワークがなくなると、モバイルデバイスとモバイルネットワークとの間の接続構築が成功しなかったということになる。すると制御は、「通信サービス起動要求を拒否する」ステップ470へ進む。SIM位置マネージャ320は、デバイスに対する通信サービス構築ができなかったので、このデバイスに対する通信サービス起動要求を拒否する。
【0052】
「組み合わせられたモバイルネットワークリストは空か?」という決定ポイント432では、SIM位置マネージャ320は、組み合わせられたモバイルネットワークリストが空であるか否かをチェックする。このような状況には、利用可能なネットワークのなかに、提供されたSIMサービスに対応するものがない場合、または、組み合わせられたモバイルネットワークリストに提供された唯一のSIMサービスとの間の登録が失敗した場合が含まれる。リストが空である場合、制御は「他のモバイルネットワークが利用可能?」という決定ポイント434に進む。他に利用可能なモバイルネットワークがない場合、制御は「通信サービス起動要求を拒否する」ステップ470に進み、通信サービス起動要求を拒否する。
【0053】
「他のモバイルネットワークが利用可能?」という決定ポイント434で、モバイルデバイスの位置に利用可能なモバイルネットワークが残っていない場合、制御は「提供されたSIMサービスを選択する」ステップ436に進む。利用可能なネットワークに既に提供されたSIMサービスがない場合であっても、提供されたSIMサービスのいずれかの証明書を利用して、利用可能なネットワークにローミングデバイスとして接続する試みを行うこともできる。提供されたSIMサービスの選択は、利用可能なネットワークのMCCを利用して、且つ、その国のIMSIを有するSIMサービスを利用して行うことができる。提供されたSIMサービスのうちいずれも、利用可能なモバイルネットワークのMCCに整合しない場合、提供されたSIMサービスのうちのいずれかをランダムに選択してもよいし、他の選択基準に基づいた選択を行うこともできる。制御は「モバイルデバイスに、選択されたSIMサービスの証明書を利用して、利用可能なネットワークへの登録を試みさせる」ステップ438に進む。SIM位置マネージャ320は、モバイルデバイスに命じて、対応する提供されたSIMサービスの証明書を3G NIC160に対して提供することで、選択されたネットワークへの登録を試みさせる。3G NIC160は、提供された証明書を利用して、選択されたネットワークに対する登録を試みる。
【0054】
そして制御は、「登録に成功?」という決定ポイント439に進む。登録が成功すると、制御は「SIMサービスに、成功した登録で利用された、提供されたSIMサービスのIDを採用させる」ステップ446に進み、上述の処理を行う。登録に成功しなかった場合、制御は「他のモバイルネットワークが利用可能?」ステップ434に戻り、上述の処理を行う。試行は、全ての提供されたSIMサービスおよび全ての利用可能なネットワークを利用して、登録に成功するまで、あるいは、全ての利用可能なネットワークがなくなるまで、行われる。
【0055】
SIM位置マネージャ320の動作を、SIM位置マネージャがME130内で実行される実施形態である図4を参照して説明してきた。別の実施形態では、SIM位置マネージャ320は、ホストオペレーティングシステム111の制御の下にプロセッサ110上で実行されてもよい。この実装例では、SIM位置マネージャ320は、他のホストオペレーション(例えばGPSアプリケーション)と相互作用して、ホストデバイスの位置に基づいてモバイルネットワークを選択することもできる。SIM位置マネージャ320は、さらに各SIMサービスの課金データにアクセスを有して、ユーザにとってコストが最小限に抑えられるようなモバイルネットワークを選択することもできる。一実施形態では、SIM位置マネージャ320は、ユーザに、提供されたSIMサービスおよびその配置領域に対する自身の好みを構成させることができる。
【0056】
図5は、発明の一実施形態における2つの提供されたSIMサービスの好適なモバイルリストの組み合わせを示す。好適な組み合わせられたモバイルネットワークリストは、図4の「選択された国コードを有する、提供された全てのSIMサービスのモバイルネットワークリストを組み合わせる」ステップ430を参照して既に記載された。図5を参照すると、SIM1サービス352のモバイルネットワークリスト510は、以下のような優先順位で好適なモバルネットワークをリストにする:モバイルネットワーク1(国コード01)、モバイルネットワーク2(国コード02)、モバイルネットワーク3(国コード03)、およびモバイルネットワーク4(国コード01)。SIM2サービス354のモバイルネットワークリスト520は、以下のような優先順位で好適なモバルネットワークをリストにする:モバイルネットワーク5(国コード03)、モバイルネットワーク6(MCC04)、モバイルネットワーク7(MCC01)。ここで選択されたMCCをMCC01と仮定する。すると組み合わされた好適なモバイルネットワークリスト530は、以下のような優先順位でモバイルネットワークを含む:モバイルネットワーク1、モバイルネットワーク7、およびモバイルネットワーク4。本例では、モバイルネットワークリストの組み合わせは、SIM1サービス352におけるモバイルネットワークの優先順位を維持するように行われ(つまり、先ずはモバイルネットワーク1、その次がモバイルネットワーク4というように)、そしてSIMサービス全体におけるモバイルネットワークの優先順位も維持されるように行われた(先ずはSIM1サービス352で優先順位が1番であるモバイルネットワーク1、そして、SIM2サービス354で優先順位が3番であるモバイルネットワーク7、そして、SIM1サービス352で優先順位が4番であるモバイルネットワーク4、というように)。
【0057】
一実施形態では、モバイルネットワークは、あるシステムのある位置で利用可能な少なくとも1つのモバイルネットワークから選択される。システムにおいて複数の提供されたSIMサービスが特定され、そのうち1つの提供されたSIMサービスが選択される。選択される提供されたSIMサービスの基準を利用して、選択されたモバイルネットワークとの通信が試みられる。
【0058】
一実施形態では、複数の提供されたSIMサービスの各々のモバイルネットワークリストが組み合わせられて、組み合わせられたモバイルネットワークリストが作成され、この組み合わせられたモバイルネットワークリストから、該1つのモバイルネットワークが選択される。一実施形態では、その位置で利用可能な少なくとも1つのモバイルネットワークから利用可能なサービスのうち、最高のサービス品質を提供する、最高品質のモバイルネットワークを特定する。最高品質のモバイルネットワークの国コードを特定して、この国コードを利用して、組み合わせられたモバイルネットワークリストに含めるべきモバイルネットワークを選択する。一実施形態では、システムのセキュアなパーティションのSIMサービスは、選択されたSIMサービスのIDを採用する。
【0059】
図6は、本発明の一実施形態におけるセキュアなサブスクライバ識別モジュールを実装する仮想マシン環境を示す。プラットフォーム600が仮想化されている場合には、プロセッサを1つしか含まなくても、ホスト上の仮想マシンモニタ(「VMM630」)が、ホストの複数の抽象化および/または複数のビューを提示することができ、ホストの基になるハードウェアが、1以上の独立動作する仮想マシン(「VM」)として見える。VMM630は、ソフトウェア(例えばスタンドアローンのプログラムおよび/またはホストオペレーティングシステムのコンポーネントとしての)、ハードウェア、ファームウェア、および/または、それらの任意の組み合わせとして実装することができる。VMM630は、ホストのリソース割り当てを管理して、ラウンドロビン方式その他の予め定められたスキームにより様々なVM間のサイクルに必要なコンテキストスイッチを行う。当業者であれば、ここにはプロセッサが1つしか示されていないが(「プロセッサ605」)、本発明の実施形態がこれに限定されず、仮想化環境内で複数のプロセッサを利用することができることを容易に理解する。
【0060】
また、ここには2つのVMパーティションしか示していないが(「VM610」および「VM620」であり、ここでは「VM」と総称することにする)、VMはあくまで例示であり、さらなる仮想マシンをホストに追加することもできる。VM610およびVM620は、それぞれが自立型のプラットフォームとして機能することができ、自身の「ゲストオペレーティングシステム」(「ゲストOS611」「ゲストOS621」として示され、「ゲストOS」と総称される、VMM630がホストするオペレーティングシステムのこと)およびその他のソフトウェア(「ゲストソフトウェア612」「ゲストソフトウェア622」として示され、「ゲストソフトウェア」として総称される)を実行する。
【0061】
各ゲストOSおよび/またはゲストソフトウェアは、仮想マシン上ではなくて、あたかも専用コンピュータ上で実行されているかのように動作する。つまり、各ゲストOSおよび/またはゲストソフトウェアは、様々なイベントを制御して、プラットフォーム600上のハードウェアリソースに対してアクセスを有することが想定されてよい。各VM内では、ゲストOSおよび/またはゲストソフトウェアは、あたかも実際にプラットフォーム600の物理的なハードウェア(ネットワークコントローラ660を含みうる「ホストハードウェア640」)上で実行されているかのように振舞うことができる。
【0062】
当業者であれば、図1のME130のような専用プロセッサを有する物理的なハードウェアパーティションが、仮想化されたパーティション(図6に示す)よりも高いレベルのセキュリティを提供しうることを理解するであろうが、本発明の実施形態は、いずれの環境で実行されても、および/またはこれら環境の組み合わせで実行されてもよく、これにより異なるレベルのセキュリティの提供が可能である。さらに当業者には明らかなように、ME、AMT,またはPRLプラットフォームは仮想化された環境内で実装することができる。例えばVM620をホスト上のMEパーティションとして専用化して、VM610をホスト上の通常のアプリケーションを実行するものとすることもできる。この場合には、ホストは複数のプロセッサを含んでも含まなくてもよい。例えばホストが2つのプロセッサを実際に含む場合には、VM620が他のプロセッサを割り当てられ、VM610が(およびホスト上の他のVMが)プロセッサ605のリソースを共有してもよい。他方、ホストがプロセッサを1つだけ含む場合には、該プロセッサをVM両方へのサービス提供に利用することができるが、VM620は、VMM630と協同することでホスト上の他のVMから隔離された状態であってよい。説明を容易にするべく、本発明の実施形態はMEの環境を例にとって記載されたが、本発明の実施形態はこの点に限定されない。そうではなくて、管理エンジン、ME、「パーティション」、「セキュアなパーティション」、「セキュリティパーティション」および/または「管理パーティション」等の全ての言及に、上述したような、任意の物理的な、および/または仮想のパーティションが含まれてよい。
【0063】
本明細書で開示したメカニズムの実施形態は、ハードウェア、ソフトウェア、ファームウェア、またはこれら実装方法の組み合わせによる実装が可能である。本発明の実施形態は、少なくとも1つのプロセッサ、データ格納システム(揮発性および不揮発性メモリ、および/または、格納エレメントを含む)、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを含むプログラム可能システム上で実装されるコンピュータプログラムとしての実装が可能である。
【0064】
プログラムコードを入力データに適用して、記載してきた機能を行い、出力情報を生成することができる。本発明の実施形態はさらに、本発明の動作を実行する命令を含む、あるいは、記載してきた構造、回路、装置、プロセッサ、および/またはシステムのフィーチャを定義する設計データ(HDL等)を含むマシンアクセス可能媒体を含む。このような実施形態はプログラムプロダクトと称されることもある。
【0065】
このようなマシンアクセス可能格納媒体は、限定を意図せず、マシンまたはデバイスが製造または形成する有形の粒子配列(ハードディスク等の格納媒体、フロッピー(登録商標)ディスク、光ディスク、CD−ROM、CD−RW、および光磁気ディスク等の任意の他の種類のディスク、ROM、DRAM、SRAM等のRAM、EPROM、FLASH(flash programmable memory)、EEPROM(登録商標)、磁気カードまたは光カード等の半導体素子、または電子命令を格納するのに適した任意の他の種類の媒体)を含む。
【0066】
出力情報は公知の方法で1以上の出力デバイスに適用することができる。この用途において処理システムには、DSP(digital signal processor)、マイクロコントローラ、ASIC(application specific integrated circuit)、またはマイクロプロセッサ等のプロセッサを有する任意のシステムが含まれる。
【0067】
プログラムは、処理システムと通信するべく、高レベルプロシージャまたはオブジェクト指向プログラミング言語で実装することができる。プログラムはさらに適宜、アセンブリまたは機械言語としても実装することができる。実際のところ、記載してきたメカニズムの範囲は、特定のプログラミング言語に限定されない。いずれの場合であっても言語は、コンパイルまたは解釈された言語であってよい。
【0068】
ここには、物理的なSIMカードを必要としないセキュアなプラットフォームベースのサブスクライバ識別モジュールサービスを提供する方法およびシステムの実施形態が提供されている。本発明の特定の実施形態を示し、記載してきたが、当業者であれば添付請求項の範囲を逸脱することなく、複数の変更、変形、および修正を加えることができる。従って当業者であれば、本発明の広義の範囲を逸脱せずに多くの変形例および変更例が想到可能であることを理解する。添付請求項の範囲には、本発明の真の範囲および精神に含まれる全てのこのような変更、変形、および修正が含まれることが意図されている。

【特許請求の範囲】
【請求項1】
システムのセキュアなパーティションで実行されるコンピュータ実装される方法であって、
前記システムの通信サービスを起動する要求を受信すると、前記通信サービスの起動を要求する許可を作成する段階と、
前記通信サービスのサービスプロバイダに前記許可を送り、前記サービスプロバイダが許可サービスと通信して前記通信サービスを起動するための前記許可のデジタル署名を取得する段階と、
前記サービスプロバイダから、署名された許可を受信する段階と、
前記セキュアなパーティションだけがアクセス可能な格納装置から前記許可サービスの鍵を取得する段階と、
前記署名された許可が前記許可サービスによる前記デジタル署名を含むことを、前記鍵を利用して確認する段階と、
前記署名された許可が前記許可サービスによる前記デジタル署名を含むことが確認されると、前記システムの前記通信サービスを起動する段階とを備える方法。
【請求項2】
前記許可に対してノンスを生成する段階と、
前記システムの前記通信サービスを起動する前に、前記署名された許可が前記ノンスを含むことを確認する段階とをさらに備える請求項1に記載の方法。
【請求項3】
前記セキュアなパーティションだけがアクセス可能な前記格納装置に前記署名された許可を格納する段階をさらに備える請求項1に記載の方法。
【請求項4】
前記鍵は、前記セキュアなパーティションのハードウェア製造時に前記セキュアなパーティションだけがアクセス可能な前記格納装置に埋め込まれる請求項1に記載の方法。
【請求項5】
前記署名された許可は、前記サービスプロバイダの第2の鍵を含み、
前記方法は、
前記サービスプロバイダから、後の通信を受信する段階と、
前記後の通信に対してアクションする前に、前記後の通信が前記サービスプロバイダの前記第2の鍵に関連付けられていることを確認する段階とをさらに備える請求項1に記載の方法。
【請求項6】
装置であって、
少なくとも1つのプロセッサと、
前記プロセッサのホストオペレーティングシステムから隔離されたセキュアなパーティションと、
前記セキュアなパーティションだけがアクセス可能な格納装置と、
前記セキュアなパーティションで実行される少なくとも1つのサービスについての命令を有するメモリとを備え、
前記命令は、
前記システムの通信サービスを起動する要求を受信すると、前記通信サービスの起動を要求する許可を作成する段階と、
前記通信サービスのサービスプロバイダに前記許可を送り、前記サービスプロバイダが許可サービスと通信して前記通信サービスを起動するための前記許可のデジタル署名を取得する段階と、
前記サービスプロバイダから、署名された許可を受信する段階と、
前記セキュアなパーティションだけがアクセス可能な前記格納装置から前記許可サービスの鍵を取得する段階と、
前記署名された許可が前記許可サービスによる前記デジタル署名を含むことを、前記鍵を利用して確認する段階と、
前記署名された許可が前記許可サービスによる前記デジタル署名を含むことが確認されると、前記システムの前記通信サービスを起動する段階とを実行させる装置。
【請求項7】
前記鍵は、前記セキュアなパーティションのハードウェア製造時に前記セキュアなパーティションだけがアクセス可能な前記格納装置に埋め込まれる請求項6に記載の装置。
【請求項8】
コンピュータプログラムプロダクトであって、
コンピュータ可読格納媒体と、
前記コンピュータ可読格納媒体内の命令とを備え、
前記命令は、処理システムのセキュアなパーティションで実行されると、前記セキュアなパーティションで実行されているサービスに、
前記システムの通信サービスを起動する要求を受信すると、前記通信サービスの起動を要求する許可を作成する段階と、
前記通信サービスのサービスプロバイダに前記許可を送り、前記サービスプロバイダが許可サービスと通信して前記通信サービスを起動するための前記許可のデジタル署名を取得する段階と、
前記サービスプロバイダから、署名された許可を受信する段階と、
前記セキュアなパーティションだけがアクセス可能な格納装置から前記許可サービスの鍵を取得する段階と、
前記署名された許可が前記許可サービスによる前記デジタル署名を含むことを、前記鍵を利用して確認する段階と、
前記署名された許可が前記許可サービスによる前記デジタル署名を含むことが確認されると、前記システムの前記通信サービスを起動する段階と
を実行させるコンピュータプログラムプロダクト。
【請求項9】
コンピュータ実装される方法であって、
要求を発行するシステムから、通信サービスの起動を要求する許可を受信する段階と、
前記許可に鍵を追加する段階と、
許可サービスから、署名された許可を取得して、前記許可サービスが前記許可にデジタル署名を加えて前記署名された許可を作成する段階と、
前記署名された許可を、前記要求を発行するシステムに送り、前記要求を発行するシステムは、前記システムの前記通信サービスを起動する前に、前記署名された許可が前記許可サービスによる前記デジタル署名を含むことを確認する段階と、
前記要求を発行するシステムに、後の通信を送り、前記後の通信は、前記通信サービスのパラメータを修正するコマンドを含み、前記要求を発行するシステムは、前記通信サービスを修正する前に、前記後の通信が前記鍵に関連付けられていることを確認する段階と
を備える方法。
【請求項10】
前記署名された許可を取得する前に、認証鍵およびIMSI(International Mobile Subscriber Identifier)を前記許可に加える段階をさらに備える請求項9に記載の方法。
【請求項11】
コンピュータ実装される方法であって、
システムのある位置で利用可能な少なくとも1つのモバイルネットワークからモバイルネットワークを選択する段階と、
前記システムの複数の提供されたSIMサービスを特定する段階と、
前記複数の提供されたSIMサービスから1つの提供されたSIMサービスを選択する段階と、
前記選択された1つの提供されたSIMサービスの証明書を利用して、前記選択されたモバイルネットワークとの通信を試みる段階と
を備える方法。
【請求項12】
前記複数の提供されたSIMサービスの各々のモバイルネットワークリストを組み合わせて、組み合わせられたモバイルネットワークリストを作成し、前記選択されたモバイルネットワークは、前記組み合わせられたモバイルネットワークリストから選択される段階をさらに備える請求項11に記載の方法。
【請求項13】
前記位置で利用可能な前記少なくとも1つのモバイルネットワークから利用可能なサービスのうち最高品質のサービスを提供する最高品質のモバイルネットワークを特定する段階と、
前記最高品質のモバイルネットワークの国コードを特定する段階と、
前記国コードを利用して、前記組み合わせられたモバイルネットワークリストに含めるモバイルネットワークを選択する段階とをさらに備える請求項12に記載の方法。
【請求項14】
前記システムのセキュアなパーティションのSIMサービスに、前記選択された1つの提供されたSIMサービスのIDを採用させ、前記セキュアなパーティションは前記システムのホストオペレーティングシステムから隔離されている段階をさらに備える請求項11に記載の方法。
【請求項15】
装置であって、
少なくとも1つのプロセッサと、
前記プロセッサのホストオペレーティングシステムから隔離されたセキュアなパーティションと、
前記セキュアなパーティションで実行される少なくとも1つのサービスについての命令を有するメモリとを備え、
前記命令は、
前記システムのある位置で利用可能な少なくとも1つのモバイルネットワークからモバイルネットワークを選択する段階と、
前記システムの複数の提供されたSIMサービスを特定する段階と、
前記複数の提供されたSIMサービスから1つの提供されたSIMサービスを選択する段階と、
前記選択された1つの提供されたSIMサービスの証明書を利用して、前記選択されたモバイルネットワークとの通信を試みる段階と
を実行させる装置。
【請求項16】
前記命令は、
前記複数の提供されたSIMサービスの各々のモバイルネットワークリストを組み合わせて、組み合わせられたモバイルネットワークリストを作成し、前記選択されたモバイルネットワークは、前記組み合わせられたモバイルネットワークリストから選択される段階をさらに実行させる請求項15に記載の装置。
【請求項17】
前記命令は、
前記位置で利用可能な前記少なくとも1つのモバイルネットワークから利用可能なサービスのうち最高品質のサービスを提供する最高品質のモバイルネットワークを特定する段階と、
前記最高品質のモバイルネットワークの国コードを特定する段階と、
前記国コードを利用して、前記組み合わせられたモバイルネットワークリストに含めるモバイルネットワークを選択する段階とをさらに実行させる請求項16に記載の装置。
【請求項18】
前記命令は、
前記システムのセキュアなパーティションのSIMサービスに、前記選択された1つの提供されたSIMサービスのIDを採用させる段階をさらに実行させる請求項15に記載の装置。
【請求項19】
コンピュータプログラムプロダクトであって、
コンピュータ可読格納媒体と、
前記コンピュータ可読格納媒体内の命令とを備え、
前記命令は、処理システムのセキュアなパーティションで実行されると、前記セキュアなパーティションで実行されているサービスに、
前記処理システムのある位置で利用可能な少なくとも1つのモバイルネットワークからモバイルネットワークを選択する段階と、
前記処理システムの複数の提供されたSIMサービスを特定する段階と、
前記複数の提供されたSIMサービスから1つの提供されたSIMサービスを選択する段階と、
前記選択された1つの提供されたSIMサービスの証明書を利用して、前記選択されたモバイルネットワークとの通信を試みる段階と
を実行させるコンピュータプログラムプロダクト。
【請求項20】
前記命令は、
前記複数の提供されたSIMサービスの各々のモバイルネットワークリストを組み合わせて、組み合わせられたモバイルネットワークリストを作成し、前記選択されたモバイルネットワークは、前記組み合わせられたモバイルネットワークリストから選択される段階をさらに実行させる請求項19に記載のコンピュータプログラムプロダクト。
【請求項21】
前記位置で利用可能な前記少なくとも1つのモバイルネットワークから利用可能なサービスのうち最高品質のサービスを提供する最高品質のモバイルネットワークを特定する段階と、
前記最高品質のモバイルネットワークの国コードを特定する段階と、
前記国コードを利用して、前記組み合わせられたモバイルネットワークリストに含めるモバイルネットワークを選択する段階とをさらに実行させる請求項20に記載のコンピュータプログラムプロダクト。
【請求項22】
前記命令は、
前記セキュアなパーティションのSIMサービスに、前記選択された1つの提供されたSIMサービスのIDを採用させる段階をさらに実行させる請求項19に記載のコンピュータプログラムプロダクト。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−257304(P2012−257304A)
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−176319(P2012−176319)
【出願日】平成24年8月8日(2012.8.8)
【分割の表示】特願2010−248262(P2010−248262)の分割
【原出願日】平成22年11月5日(2010.11.5)
【出願人】(591003943)インテル・コーポレーション (1,101)
【Fターム(参考)】