説明

SIM装置用コンピュータシステムの中で信頼できるチャネルを与えるための装置及び方法

SIM装置(180)及び信用できるプラットフォーム(110,120,140)で実行されるアプリケーション間でデータがやり取りされ、やり取りされるデータは不正アクセスから保護される。一実施例では、データのやり取りは、信用のある経路でコンピュータシステム(100)内で暗号キーをやり取りすること、及び暗号キーで暗号化されたデータを、信用のない経路でコンピュータシステム内でやり取りすることを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般に信頼できるコンピュータプラットフォームの技術分野に関し、特にSIM装置用コンピュータシステムの中で信頼できるチャネルを与えるための装置及び方法に関する。
【背景技術】
【0002】
信頼できるオペレーティングシステム(OS)及びプラットフォームは比較的新しい概念である。第1世代のプラットフォームでは、アプリケーションが安心して動作可能であり且つ自由に改変できる信頼できる環境が形成された。他のアプリケーションから見ることができず(メモリ領域が保護され)且つ改変できない(コード実行フローは変更できない)環境を形成するために、プロセッサ、チップセット及びハードウエアでの変更によってセキュリティがもたらされた。その結果、コンピュータシステムは誰からも不正にアクセスされず或いはウイルスによっても汚染されない。
【0003】
今日のコンピュータ世代では、しばしばスマートカードと呼ばれる加入者識別モジュール(SIM)が普及しつつある。SIMはクレジットカードサイズのカードであり、典型的には汎移動通信電話(GSM)システムで電話アカウント情報を格納するため及び認証認可課金管理(AAA: Authentication Authorization and Accounting)を行うために使用される。SIMカードはGMS電話機があたかも自身のものであるかのようにユーザがGMS電話機を借りる又は借用できるようにする。SIMカードは電話機の読み出し部でカスタムメニューを表示するようプログラムできる。場合によってはSIMカードは組み込まれたマイクロプロセッサ及びメモリを含み、それらは身元確認又は財務処理に使用される場合があるかもしれない。(SIMカードが)リーダに挿入されると、SIMにデータを転送するために又はSIMからデータを転送するためにSIMにアクセス可能になる。
【発明の開示】
【発明が解決しようとする課題】
【0004】
コンピュータシステムでSIMカードを利用する場合には、認可されていないソフトウエアアプリケーションによるSIMへのアクセスを防ぐために、SIMカード中の情報に安全にアクセスする必要がある。そのような不正アクセスはSIMの機密事項を学習し或いはGSM認証機構を突破し、提供されるサービスを盗むように意図されているかもしれない。
【課題を解決するための手段】
【0005】
上記の問題の少なくとも一部は、特許請求の範囲に記載の方法及び/又は方法により解決される。
【発明を実施するための最良の形態】
【0006】
添付図面を参照しながら非限定的な1以上の実施例が以下に説明される。
【実施例1】
【0007】
SIM装置用コンピュータシステム内で信用できるチャネルを用意する方法及びシステムが説明される。一実施例では、信用できるプラットフォームで実行されるアプリケーションとSIM装置との間でデータがやりとりされ、通信されるデータは不正アクセスから保護される。一実施例では信用できるチャネルを通じて暗号鍵がコンピュータシステム内で交換される。暗号鍵で暗号化されたデータはコンピュータシステム内で信用のないチャネルを通じて通信される。
【0008】
以下、様々な具体例が詳細に説明される。しかしながら、これらの具体的詳細によらずに本発明が実現されてよいことは理解されるであろう。実施例では、説明を混乱させないようにするため、周知の回路、構造及び技術は示されていない。
【0009】
本明細書を通じて「一実施例」や「実施例」に関するものは、その実施例に関して説明される特質、構造又は特徴が少なくとも1つの実施例に含まれることを示す。従って本明細書中の様々な場所で「一実施例では」や「実施例では」等で登場する語句は、全て同じ実施例を指すとは限らない。更に特定の特徴、構造又は特質は1以上の実施例で適切な如何なる方法で結合されてもよい。更にここで記述されるように、信用できるプラットフォーム、要素、ユニット又はそのサブユニット等は、保護される又は保全されるものとして可換に言及される。
【0010】
[信用できるプラットフォーム]
図1は選択されたアプリケーション及びデータを不正アクセスから保護するように信頼できるプラットフォームを提供する本発明の一実施例によるコンピュータシステムを示す。図示の実施例のシステム100はプロセッサ110と、プロセッサ110にプロセッサバス130で接続されたチップセット120と、メモリ140と、SIMカード182上でデータにアクセスするSIM装置180とを含む。代替実施例では追加的なプロセッサ及びユニットが含まれてもよい。
【0011】
プロセッサ110は様々な要素を有し、限定ではないが、内蔵キー116、ページテーブル(PT)レジスタ114及びキャッシュメモリ(キャッシュ)112を含んでよい。キャッシュ112の全部又は一部は、プライベートメモリ(PM)160を含んでもよいし、プライベートメモリに転換可能でもよい。プライベートメモリは、プライベートメモリとして起動されると、どの不正装置からでも(例えば、関連するプロセッサ110以外の如何なる装置でも)そこへのアクセスを防ぐのに充分なプロテクション機能を備えたメモリである。
【0012】
キー116は暗号化のため、データ/コードの様々なブロックの確認のため、解読のため及び/又は暗号化のために使用されてよい。或いはキー116はシステム100内の代替的な別装置に用意されてもよい。PTレジスタ114は、どのメモリページが信用されるコードによってのみアクセス可能であるか及びどのメモリページがそのように保護されていないかを確認するためのレジスタ形式のテーブルである。
【0013】
一実施例ではメモリ140はシステム100のシステムメモリを含んでよく、一実施例ではランダムアクセスメモリ(RAM)のように一般に言及される揮発性メモリとして実現されてよい。一実施例ではメモリ140は保護されたメモリテーブル142を含んでよく、そのメモリテーブルは、メモリ140中のどのメモリブロックが、ダイレクトメモリアクセス(DMA)転送にアクセスできないかを定める(メモリブロックは連続的にアドレス指定可能なメモリロケーションの或る範囲である)。
【0014】
メモリ140への全てのアクセスはチップセット120を通じて行われるので、チップセット120は如何なるDMA転送でもそれが許可される前に、保護されるメモリテーブル142を検査してよい。特定の動作例では、保護されたメモリテーブル142によりDMA転送から保護されるメモリブロックは、プロセッサ110の中でPTレジスタ144による保護された処理に制限される同一メモリブロックでもよい。保護されたメモリテーブル142は代替的にシステム100内の別ユニットのメモリ装置内に格納されてもよい。
【0015】
一実施例ではメモリ140は信用できるソフトウエア(S/W)モニタ144をも含み、信用される動作環境が構築されるとその信用される動作環境全体を監視及び制御する。一実施例では、信用できるS/Wモニタ144はメモリブロック中に用意され、保護されたメモリテーブル142によりDMA転送から保護される。
【0016】
チップセット120は、プロセッサ110、メモリ140、SIM装置180及び不図示の他の装置の間でのインターフェースをもたらす論理回路でもよい。一実施例ではチップセット120は1以上の個々の集積回路として実現されてよいが、別の実施例では、チップセット120はより大規模な集積回路の一部として実現されてもよい。チップセット120はメモリ140へのアクセスを制御するメモリコントローラ122を含んでよい。更に、一実施例では、チップセット120はそのチップセット120に結合されるSIM装置のSIMリーダを備えてもよい。
【0017】
一実施例では、保護レジスタ126は、プロセッサ110中の信用のあるマイクロコードによってのみ開始される命令によってのみ書き込み可能になる。信用のあるマイクロコードは或るマイクロコードであり、そのマイクロコードの実行は、認証された命令によってのみ及び/又は不正装置によっては制御できないハードウエアによってのみ開始されてよい。一実施例では、信用のあるレジスタ126は、信用できるメモリテーブル142及び信用できるS/Wモニタ144の場所を識別し、及び/又はそれらへのアクセスを制御するデータを保持する。一実施例では、信用できるレジスタ126は信用のあるメモリテーブル142の利用をイネーブルに又はディセーブルにするレジスタを含み、DMAプロテクション機能が、信用できる動作環境に入る前に活性化され及び信用できる動作環境を出た後に非活性化されるようにする。
【0018】
[SIMカードでの信用チャネル]
図2はSIM装置用コンピュータシステム内で信用できるチャネルを用意する本発明の一実施例によるプロセスを記述するフローチャートである。ここで説明されるように、SIM装置に関するものはスマートカード以外のタイプに関連するものも含む。図2のフローチャートで説明されるプロセッサは、上述の図1のシステムに関連して説明されたものである。
【0019】
一実施例ではプロセス202で、システム100の信用できる環境で実行されるアプリケーション150は、そのシステム100のSIM装置180中のどの情報がアクセスされるべきかを確認する。信用される環境で実行されるアプリケーション150は、キャッシュ112の保護されたメモリ160やメモリ140の保護された部分のような保護されたメモリ中に用意されてもよい。一実施例では、SIM装置180は、アクセスが、信用される環境のアプリケーションから到来しているものであることを確認する手段を含み、その環境はSIM装置が物理的に取り付けられているのと同じプラットフォームで動作し且つ遠隔的に動作する何らかのアプリケーションからのものではない。
【0020】
プロセス204では、アプリケーション及びSIM装置は、そのSIM装置が、そこからアプリケーションがデータを受信する正当なSIM装置であることや、そのアプリケーションが、SIM装置がデータを送信する適切なアプリケーションであることを確認するように相互認証を実行する。相互認証は当該技術分野で周知の様々なプロセスで行われてよい。
【0021】
プロセス206では、相互認証の完了後に、一実施例ではアプリケーション150は、メモリ装置に備わる信用されるチャネルを通じてメモリ140の保護された部分に及びCPUに保持される関連するPTエントリに暗号キーを送信する。一実施例では暗号キーを格納するメモリの保護部分は、保護されたメモリテーブル142により識別可能である。
【0022】
メモリ140の保護された部分に対する(アプリケーション150により与えられる)暗号キーは、アプリケーション150により生成され、(データ暗号スタンダード(DAS)又はアドバンスト暗号化スタンダード(AES)のような)いくつもの利用可能な暗号プロセスの1つに利用可能である。一実施例では暗号キーはプロセッサ110のキー116により生成される。
【0023】
プロセス208では、SIM装置180はメモリ140の保護部分中の暗号キーにアクセスする。一実施例ではSIM装置はチップセット120の信用できるポート112を通じて暗号キーにアクセスし、そのポートはメモリ140の保護された部分に対応付けられる。一実施例ではその信用できるポートはUSBを含むいくつものプラットフォームバスプロトコルの1つをサポートしてもよい。代替実施例では暗号キーはSIM装置によって提供され、そのアプリケーションはチップセットの信用できるポートを通じてSIM装置から暗号キーにアクセスする。
【0024】
プロセス210ではSIM装置180は暗号キーを利用して、アプリケーション150に送付されるデータを暗号化する。プロセス212では、暗号化されたパケットが、チップセットのホストコントローラ128によって(例えば、USBホストコントローラによって)SIM装置180からメモリの普通の領域(即ち、メモリ140の非保護領域)に転送される。例えば、USBデータパケットのようなデータパケットを格納するのに使用されるメモリの領域である。
【0025】
一実施例では、チップセットの普通のポート120(即ち、保護されていないポート)を通じて、暗号化されたパケットがホストコントローラによってメモリに伝送され、そのポートはメモリ148の保護されていない領域に対応付けられる。一実施例では、SIM装置からの暗号化されたパケットは、或る程度のプロテクションの完全性をもたらすためにメッセージ認証コード(MAC: Message Authentication Code)を含む。
【0026】
プロセス214では、ドライバ(例えば、保護されていないUSBドライバ)は、メモリ148の非保護部分から暗号化パケットにアクセスし、信用できる環境で実行されるアプリケーション150に暗号化されたパケットを与える。プロセス216では、アプリケーション150はSIMカード中のデータにアクセスするために暗号化されたパケットを解読(暗号解除)し、その暗号化されたパケットは、システム100内の信用のない経路でそのアプリケーションに安全に伝送されてきたものである。
【0027】
一実施例では新たな暗号キーは所定のイベントに基づいてやりとりされてよい。例えば、(実現時の選択肢に基づいて規定されるような)新たなトランザクション(処理)の各々、所定期間の経過、又は所定量のデータ伝送の何れかに又はそれらの組み合わせに従って、新たな暗号キーがやり取りされてもよい。
【0028】
代替実施例では、SIM装置180及びアプリケーション150間で暗号化されたデータをやり取りするための複数の暗号キーが、アプリケーション150及びSIM装置180の間でやり取りされる。例えばSIM装置は複数のデータパイプ(例えば、バルクイン(bulk−in)、バルクアウト(bulk−out)及びデフォルト制御パイプ)を含んでもよい。SIM装置のデータパイプの各々に関し、別個の暗号キーがデータのやり取りを保護するために使用されてよい。或いは別個のデータパイプ全てが同じ暗号キーを利用してもよい。
【0029】
代替実施例では、データパケットは暗号化せずにSIM装置からアプリケーションに伝送されてもよい。例えばホストコントローラ128は、チップセット120の信用のあるポート112を通じてSIM装置からメモリ140の保護された部分へデータを送信する。信用できるドライバは、メモリ140の保護された部分のデータにアクセスし、及びSIMデータを暗号化せずに信用できるパスを通じてデータをアプリケーション150に提供する。
【0030】
上述のプロセスは、実行される命令群としてコンピュータシステムのメモリに格納可能である。更に、上述のプロセスを実行する命令は、代替的に、磁気ディスク及び光ディスクを含むマシン読み取り可能な媒体中に他の形式で格納されてもよい。例えば、上述のプロセスは、磁気ディスク又は光ディスクのようなマシン読み取り可能な媒体に格納されてよく、ディスクドライバ(又はコンピュータ読み取り可能な媒体ドライバ)によりアクセスされる。更に命令はコンパイルされリンクされた形式でデータネットワークを介してコンピュータ装置にダウンロード可能である。
【0031】
或いは、上述したようなプロセスを実行する論理装置(ロジック)は、追加的なコンピュータ及び/又はマシン読み取り可能な媒体で実現されてよく、そのコンピュータ等は例えば大規模集積回路(LSI)のような個別的なハードウエア素子、特定用途向け集積回路(ASIC)、電気的に消去可能でプログラム可能なリードオンリメモリ(EEPROM);並びに電気的に、光学的に、音響的に及び他の形式で伝搬する信号(例えば、搬送波、赤外線信号、ディジタル信号等)等でもよい。
【0032】
上記の説明では、本発明がその具体的な実施例を参照しながら説明されてきた。しかしながら添付の特許請求の範囲に記載された本発明の広い精神及び範囲から逸脱せずに様々な修正及び変更がなされてよいことは明白であろう。特にここで説明されるようにSIM装置は、USBチップ/スマートカードインターフェースデバイス(CCID)を含むスマートカード装置を含む。更に、ここで説明されたシステムアーキテクチャは、使用されるどの特定のキー交換プロトコルにも依存しない。従って明細書及び図面は限定的な意味ではなく例示として解釈されるべきである。
【図面の簡単な説明】
【0033】
【図1】選択されたアプリケーション及びデータを不正アクセスから保護するように信頼できるプラットフォームを提供する本発明の一実施例によるコンピュータシステムを示す図である。
【図2】SIM装置用コンピュータシステム内で信用できるチャネルを用意する本発明の一実施例によるプロセスを記述するフローチャートである。

【特許請求の範囲】
【請求項1】
SIM装置及び信用できるプラットフォームで実行されるアプリケーション間でデータをやり取りするステップを有する方法であって、やり取りされるデータは不正アクセスから保護される
ことを特徴とする方法。
【請求項2】
前記データをやり取りするステップは:
信用のある経路でコンピュータシステム内で暗号キーをやり取りするステップと、
前記暗号キーで暗号化されたデータを、信用のない経路でコンピュータシステム内でやり取りするステップと、
を有することを特徴とする請求項1記載の方法。
【請求項3】
前記暗号キーをやり取りするステップは、前記コンピュータシステム内でメモリの保護された部分に前記暗号キーを前記アプリケーションが送信するステップと、
メモリの保護された部分で前記暗号キーにSIM装置がアクセスするステップと、
を有することを特徴とする請求項2記載の方法。
【請求項4】
前記暗号キーをやり取りするステップは、前記アプリケーションが前記SIM装置から前記暗号キーにアクセスするステップを含み、前記アプリケーションはチップセットの信用のあるポートで該暗号キーにアクセスする
ことを特徴とする請求項2記載の方法。
【請求項5】
前記暗号キーをやり取りするステップは、複数の暗号キーをやり取りするステップを含み、データをやり取りするステップは、個々のデータユニットをやり取りするステップを含み、データユニットの各々は、前記複数の暗号キーの中から選択された暗号キーで別々に暗号化される
ことを特徴とする請求項2記載の方法。
【請求項6】
前記データをやり取りするステップは、前記SIM装置からメモリの保護されていない部分にホストコントローラがデータを送信するステップを含む
ことを特徴とする請求項2記載の方法。
【請求項7】
前記データをやり取りするステップは、メモリの保護されていない部分から前記アプリケーションにドライバがデータを伝送するステップを含む
ことを特徴とする請求項6記載の方法。
【請求項8】
前記ホストコントローラがユニバーサルシリアルバス(USB)ホストコントローラであり、前記ドライバがUSBドライバである
ことを特徴とする請求項7記載の方法。
【請求項9】
前記暗号キーをやり取りするステップは、チップセットの信用のあるポートを通じてメモリの保護された部分からSIM装置が暗号キーを読み取るステップを含む
ことを特徴とする請求項6記載の方法。
【請求項10】
前記アプリケーションが、暗号化されたデータを前記暗号キーを用いて解読するステップを更に含む
ことを特徴とする請求項6記載の方法。
【請求項11】
前記暗号キーをやり取りする前に、前記アプリケーションが前記SIM装置を認証するステップを更に含む
ことを特徴とする請求項7記載の方法。
【請求項12】
新たなトランザクションの各々、所定期間の経過、及び所定のデータ量のやりとりを有する群から選択された所定のイベントに基づいて、新たな暗号キーをやり取りするステップを更に含む
ことを特徴とする請求項6記載の方法。
【請求項13】
プロセッサと、
保護された部分及び保護されていない部分を有するメモリと、
SIM装置と、
SIM装置及び信用できるプラットフォーム間でデータをやり取りするチップセットと、
を有し、やり取りされるデータは不正アクセスから保護される
ことを特徴とするシステム。
【請求項14】
前記データのやり取りは:
信用のある経路でコンピュータシステム内で暗号キーをやり取りすること、及び前記暗号キーで暗号化されたデータを、信用のない経路でコンピュータシステム内でやり取りすることを含む請求項13記載のシステム。
【請求項15】
前記暗号キーのやり取りは、メモリの保護された部分に前記暗号キーを前記アプリケーションが送信すること、及びメモリの保護された部分で前記暗号キーにSIM装置がアクセスすることを含む請求項14記載のシステム。
【請求項16】
前記暗号キーのやり取りは、前記アプリケーションが前記SIM装置から前記暗号キーにアクセスすることを含み、前記アプリケーションはチップセットの信用のあるポートで該暗号キーにアクセスする
ことを特徴とする請求項13記載のシステム。
【請求項17】
前記暗号キーのやり取りは、複数の暗号キーのやり取りを含み、データのやり取りは、個々のデータユニットのやり取りを含み、データユニットの各々は、前記複数の暗号キーの中から選択された暗号キーで別々に暗号化される
ことを特徴とする請求項13記載のシステム。
【請求項18】
前記SIM装置からメモリの保護されていない部分にデータを送信するホストコントローラを更に含む
ことを特徴とする請求項12記載のシステム。
【請求項19】
メモリの保護されていない部分から前記アプリケーションにデータを伝送するドライバを更に含む
ことを特徴とする請求項16記載のシステム。
【請求項20】
前記ホストコントローラがユニバーサルシリアルバス(USB)ホストコントローラであり、前記ドライバがUSBドライバである
ことを特徴とする請求項17記載のシステム。
【請求項21】
前記SIM装置は、チップセットの信用のあるポートを通じてメモリの保護された部分から暗号キーを読み取る
ことを特徴とする請求項14記載のシステム。
【請求項22】
前記アプリケーションが、暗号化されたデータを前記暗号キーを用いて解読する
ことを特徴とする請求項14記載のシステム。
【請求項23】
前記暗号キーをやり取りする前に、前記アプリケーションが前記SIM装置を認証する
ことを特徴とする請求項17記載のシステム。
【請求項24】
新たなトランザクションの各々、所定期間の経過、及び所定のデータ量のやりとりを有する群から選択された所定のイベントに基づいて、新たな暗号キーがやり取りされる
ことを特徴とする請求項14記載のシステム。

【図1】
image rotate

【図2】
image rotate


【公表番号】特表2007−515704(P2007−515704A)
【公表日】平成19年6月14日(2007.6.14)
【国際特許分類】
【出願番号】特願2006−539653(P2006−539653)
【出願日】平成16年11月5日(2004.11.5)
【国際出願番号】PCT/US2004/036832
【国際公開番号】WO2005/050423
【国際公開日】平成17年6月2日(2005.6.2)
【出願人】(593096712)インテル コーポレイション (931)
【Fターム(参考)】