(57)【要約】  本発明は、多数のセキュアなアプリケーション（ＴＬ）を実行できるセキュアランタイム環境（ＳＷｄ）と、特に、携帯端末などの、アプリケーションデータ（ＡＤ）と制御データ（ＭＣＰ,ＮＱ）が異なるバッファを介して送信されるマイクロプロセッサ装置（ＭＰ）の非セキュア環境（ＮＷｄ）との間でデータを交換する方法に関する。
2014506704.tif 000002
【特許請求の範囲】
【請求項１】
多数のセキュアアプリケーション（ＴＬ）を実行可能なセキュアランタイム環境（ＳＷｄ）と、特に、アプリケーションデータ（ＡＤ）及び制御データ（ＭＣＰ  ＮＱ）が異なるバッファを経由して送信される携帯端末などの、マイクロプロセッサ装置（ＭＰ）の非セキュア環境の間でデータを交換するための方法。
【請求項２】
制御データ（ＭＣＰ  ＮＱ）の異なるタイプが、異なるバッファを経由して送信されることを特徴とする請求項１の方法。
【請求項３】
前記セキュアランタイム環境（ＳＷｄ）と前記非セキュア環境（ＮＷｄ）の間の切り替えに関係したモニタリングデータ（ＦＣ）が、別々のセキュアなバッファを介して送信されることを特徴とする請求項１又は２の方法。
【請求項４】
前記アプリケーションデータ（ＡＤ）及び前記制御データ（ＭＣＰ,ＮＱ）及び、随意的に、モニタリングデータ（ＦＣ）の送信が、前記セキュアランタイム環境（ＳＷｄ）及び前記非ランタイム環境（ＮＷｄ）に対するインターフェースを有するモニタ装置（Ｍ）で実施されたＡＲＭモニタコードに基づいていることを特徴とする先行する請求項の１つの方法。
【請求項５】
前記アプリケーションデータ（ＡＤ）及び前記制御データ（ＭＣＰ、ＮＱ）は、前記セキュアランタイム環境（ＳＷｄ）と前記非ランタイム環境（ＮＷｄ）のドラバとの間を送信されることを特徴とする先行する請求項の１つの方法。
【請求項６】
前記非セキュア環境（ＮＷｄ）、特に、前記制御データ（ＮＣＰ）のためのドラバ（ＭＣＤ）のインターフェースで実施されたスケジューラは、どの前記セキュアなアプリケーション（ＴＬ）を、前記セキュアランタイム環境で実行するか規定することを特徴とする請求項５の方法。
【請求項７】
前記データは、メモリ（ＷＳＭ）のメモリエリアを使って交換され、前記メモリエリアは、前記セキュアランタイム環境（ＳＷｄ）及び前記非セキュア環境によって読みだされる、及び／又は書き込まれることが可能であることを特徴とする先行する請求項の１つの方法。
【請求項８】
制御データは、前記環境のために意図されている前記メモリエリアの中のデータの前記セキュアランタイム環境に知らせるために使われることを特徴とする請求項７の方法。
【請求項９】
前記制御メッセージは、前記セキュアランタイム環境（ＳＷｄ）で実行される前記アプリケーション（ＴＬ）の１つに対して、前記制御メッセージを割当てるために、前記セキュアランタイム環境（ＳＷｄ）によって使うことができる固有なセッション識別子を与えられることを特徴とする請求項８の方法。
【請求項１０】
超えることができない規定された計算時間が、前記ランタイム環境（ＳＷｄ）で稼働している各々のプロセスに割当てられることを特徴とする先行する請求項の１つの方法。
【請求項１１】
各々のプロセスは、次のスレッド構造、つまり、スレッド識別子（ＩＤ）、前記スレッドの現在の状態、前記スレッドのためのローカル例外ハンドラ、前記スレッドの優先度を有することを特徴とする請求項１０の方法。
【請求項１２】
各々のプロセスは、次のタスク構造、つまり、前記タスクの現在の状態、前記ジェネレータタスクのタスク識別子、前記タスクのための外部例外ハンドラ、前記タスクのための計算時間割当、前記タスクによって起動され又は提供され得るスレッドの数、タスクの優先度及び権利、を有することを特徴とする請求項１０の方法。
【請求項１３】
セキュアランタイム環境（ＳＷｄ）及び非セキュア環境（ＮＷｄ）を有するマイクロプロセッサ装置であって、前記装置は、アプリケーションデータ（ＡＤ）と制御データ（ＭＣＰ、ＮＱ，ＦＣ）は、前記セキュアランタイム環境（ＳＷｄ）と前記非セキュア環境（ＮＷｄ）の間でデータを交換するために、異なるバッファを経由して送信されるように形成されていることを特徴とする。
【請求項１４】
前記装置は、請求項２乃至１２のうちの１つによる方法を実行するために、前記装置は使用できるように形成されていることを特徴とする請求項１３のマイクロプロセッサ装置。
【請求項１５】
請求項１３又は１４のマイクロプロセッサ装置を有することを特徴とする携帯端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多数のセキュアなアプリケーションを実行できるセキュアランタイム環境と、特に、携帯端末などのマイクロプロセッサ装置の非セキュア環境との間でデータを交換する方法に関する。
【背景技術】
【０００２】
セキュアランタイム環境は、従来技術から公知で、攻撃に対して保護された方法で、マイクロプロセッサ装置を使用してプログラムを実行することができる。この場合、マイクロプロセッサ装置は、プログラムを実行するためのハードウエアであり、特に、実際のマイクロプロセッサ装置や、プログラムを実行する時にデータを記憶するために使用するそれに対応する揮発性メモリ及び非揮発性メモリなどすべてのハードウエアを意味すると理解して欲しい。
【０００３】
セキュリティ上の要件を充足するために、セキュアランタイム環境を有するマイクロプロセッサ装置の記憶制限と通信メカニズムについては、マルチタスク特性を最適にする必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、マイクロプロセッサ装置のセキュアランタイム環境と非セキュア実行環境の間でデータを交換する方法であって、マルチタスク特性の改良を可能にする方法に関する。本発明の別の目的は、改良されたマルチタスク特性を有するマイクロプロセッサ装置を規定することである。
【課題を解決するための手段】
【０００５】
これらの目的は、特許請求項１の特徴による方法と、特許請求項１３の特徴によるマイクロプロセッサ装置によって達成される。本発明の好ましい改良点は、独立請求項によって規定される。
【０００６】
多数のセキュアなアプリケーションを実行可能なセキュアランタイム環境と、特に、携帯端末などの、アプリケーションデータと制御データが異なるバッファを介して送信されるマイクロプロセッサ装置の非セキュア環境との間でデータを交換するための本発明による方法が提供される。
【発明の効果】
【０００７】
これによって、バイナリコードを安全にダウンロードできる厳密なプロセス分離が可能になる。さらに、非セキュアな環境のアプリケーションとセキュアランタイム環境におけるプロセスの間でもっと早くデータの交換をすることができる。
【０００８】
異なるタイプの制御データが異なるバッファを介して送信されることは好ましい。同様に、セキュアランタイム環境と非セキュア環境の間の切替えに関するモニタリングデータが別のセキュアなバッファを介して送信されることも好ましい。モニタリングデータを使用して、セキュアランタイム環境と非セキュア環境を切り替えることができる。これは、特に、早いコンテキスト切り替え時間を達成し、その結果、プロセス間のタスク切替えの場合に良好なパフォーマンスを達成する。
【０００９】
別の好都合な改良点は、アプリケーションデータ及び制御データ、また随意的に、モニタリングデータの送信は、セキュアランタイム環境と非セキュア環境に対する複数のインターフェースを有するモニタ装置で実施されるＡＲＭモニタコードに基づく。
【００１０】
また、アプリケーションデータと制御データが、セキュアランタイム環境と、非セキュア環境のドラバの間で送信されることも好ましい。非セキュア環境、特に、制御データのためのドライバのインターフェースに於いて実施されるスケジューラは、好都合に、セキュアランタイム環境に於いてどのセキュアなアプリケーションが実行されるか規定する。
【００１１】
データが、メモリのメモリエリアを使って交換され、メモリエリアは、セキュアランタイム環境及び非セキュア環境によって読み出され、及び／又は書き込まれることが可能であることも好都合である。メモリエリアは、好適に、モニタリングメッセージによってイニシャライズされる。この場合、特に、ランタイム環境のために意図されたメモリエリアの中のデータが通知される対象の制御メッセージを使って、ランタイム環境を確保する措置が行われる。この場合は、セキュアランタイム環境で実行されるアプリケーションの１つに対して制御メッセージを割当てるために、制御データは、好適には、セキュアランタイム環境で実行されるアプリケーションの１つに対して制御メッセージを割当てるために、セキュアランタイム環境で使うことができる固有なセッション識別子（セッションＩＤ）を与えられる。
【００１２】
別の好都合な改良点は、超えることができない規定された計算時間が、ランタイム環境で稼働している各々のプロセスに割当てられる。この計算時間は、セキュリティ上の理由から超えてはならない。これによって、厳密なプロセス分離を達成することができる。
【００１３】
別の好都合な改良によると、セキュアランタイム環境で稼働しているプロセスは、以下のスレッド構造、つまり、スレッド識別子（ＩＤ）、スレッドの現在の状態、スレッドのためのローカル例外ハンドラ、スレッドの優先度を有する。好適には、各々のプロセスは、次のタスク構造、つまり、タスクの現在の状態、ジェネレータタスクのタスク識別子、タスクのための外部例外ハンドラ、タスクのための計算時間割当、タスクによって起動され又は提供され得るスレッドの数、タスクの優先度及び権利を有する。上記のスレッド及び／又はタスク構造の結果、コンテキストの切替があった場合、大量のデータのコピーをする必要がない。これによって、素早いコンテキスト切替え時間の達成が可能になる。
【００１４】
本発明はまた、セキュアランタイム環境及び非セキュア環境を有するマイクロプロセッサ装置を提供するが、マイクロプロセッサ装置は、アプリケーションデータと制御データは、セキュアランタイム環境と非セキュア環境の間でデータを交換するために、異なるバッファを経由して送信されるように形成されている。この場合、「マイクロプロセッサ」という用語は、再び、広義に理解されるべきで、データを交換するために必要なすべてのハードウエア構成要素を含み、例えば、ポータブルデータ記憶媒体、特に、チップカードなどがある。
【００１５】
本発明はまた、携帯端末、特に、それに対応するマイクロプロセッサ装置を備える携帯電話に関する。
【図面の簡単な説明】
【００１６】
本発明は、以下の図面で示した例示的実施形態を使用して詳細に説明する。
【図１】本発明の方法の略図である。
【図２】本発明による方法を実施するために必要なマイクロプロセッサ装置の構成要素の略図である。
【図３】本発明による方法の操作方法を説明するための略図である。
【図４】本発明による方法の例示的応用の略図である。
【発明を実施するための形態】
【００１７】
図１は、所謂、ＡＲＭトラストゾーンの形式のマイクロプロセッサ装置のセキュアランタイム環境ＳＷｄと、非セキュアランタイム環境ＮＷｄの間でのデータ交換に関して説明するために使われる。ＡＲＭトラストゾーンは、マイクロプロセッサ装置の中に、トラストレットと呼ばれるアプリケーションを実行するためのセキュアランタイム環境ＳＷｄとして使われる保護された領域を生成するために使用される公知の技術である。セキュアランタイム環境は、「セキュアワールド」と呼ばれ、非セキュア環境は、「ノーマルワールド」と呼ばれる。ここに記述される実施形態において、例えば、携帯電話などの携帯端末の、所謂、トラストゾーンハードウエアなどのハードウエアプラットフォーム上で実行される。この場合、ランタイム環境は、アプリケーションレイヤとマイクロプロセッサ装置のオペレーティングシステムレイヤの間のソフトウエアレイヤである。
【００１８】
図１は、所謂モビコア通信モデュールという形式の通信ユニットＭＣＣＭを有するセキュアランタイム環境ＳＷｄを有するマイクロプロセッサ装置の概略を示す。この場合は、通信ユニットＭＣＣＭは、セキュアランタイム環境ＳＷｄのオペレーティングシステムＭＣ（モビコア）を使用する。所謂モビコアドライバの形式のドライバＭＣＤを有する非セキュア環境ＮＷｄも図示されている。リッチオOS（ＯＳ）が、オペレーティングシステムとして使われている。セキュアランタイム環境ＳＷｄと、非セキュア環境ＮＷｄは、所謂トラストゾーンハードウエアＴＳＨで実行される。
【００１９】
モニタ装置Ｍが、セキュアランタイム環境ＳＷｄと非セキュア環境ＮＷｄの間でデータを交換する目的で設置される。アプリケーションデータＡＤ、制御データＭＣＰ（モビコア制御プロトコルデータ）、制御データＮＱ（通知キュー）及びモニタリングデータＦＣ（所謂、ファーストコール）が、各々の異なるバッファを介して送信される。アプリケーションデータＡＤ、制御データＭＣＰ及びＮＱ、及びモニタリングデータＦＣの送信は、セキュアランタイム環境ＳＷｄと非セキュア環境ＮＷｄに対するインターフェースを有するモニタ装置Ｍの中で実行されるＡＲＭモニタコードに基づく。
【００２０】
図２は、本発明による方法を実行するために必要なマイクロプロセッサＭＰの構成要素を示す。該マイクロプロセッサ装置は、セキュアランタイム環境ＳＷｄ（記述済み）と非セキュア環境ＮＷｄを有している。セキュア環境はトラストゾーンＴＺと呼ばれる。後者は、トラストレットＴＬと呼ばれる少なくとも１つのアプリケーションを含む。該アプリケーションは、アプリケーション特異的インターフェース（ＭＣトラストレットＡＰＩ）を介して、例えば、モビコア（ブロックＢ１）などのセキュアランタイム環境ＭＣのオペレーティングシステムと交信をする。セキュアランタイム環境ＳＷｄも、ドライバＤＲＶを含んでいる（ブロックＢ２）
【００２１】
アプリケーション特異的インターフェース（アプリケーション特異的ＡＰＩ）を介してブロックＡ１のアプリケーションコネンクタＴＬＣ(所謂トラストレットコネクタ)とデータを交換することの可能な少なくとも１つのアプリケーションＡＰＰが、オペレーティングシステムとして、例えば、リッチオーエスを使用する非セキュア環境に設置される。アプリケーションコネクタは、インターフェースＴＣＩを介してセキュアランタイム環境に於けるアプリケーションＴＬと交信することができる。非セキュア環境ＮＷｄも、ブロックＡ２に、例えば、モビコアドライバなどのドライバＭＣＤを含んでおり、該ドライバには、アプリケーション特異的インターフェース（ＭＣドライバＡＰＩ）が割り当てられている。非セキュア環境もまたブロックＡ３にバーチャルドライバＶＤＲＶを含んでいる。モビコアドライバＭＣＤは、インターフェース（ＭＣＩ）を介して、セキュアランタイム環境のオペレーティングシステムＭＣと交信が可能である。バーチャルドライバＶＤＲＶとセキュアランタイム環境のドライバＤＲＶとの交信は、インターフェースＤＣＩを介して可能である。
【００２２】
マイクロプロセッサ装置の独創的特質は、モビコアドライバＭＣＤの中の非セキュア環境のアウトソース的プロセスのスケジューラである。例えば、モビコアなどのセキュアランタイム環境のオペレーティングシステムは、例えば、いかなるプロセス間通信も含んでいない最適化されたマイクロカーネルを含んでいる。時間割当によるプリエンプティブマルチタスクが、ＭＣで実行される。ＭＣはまた最適化タスクコンテキストを備えている。最後に、マイクロプロセッサ装置は、Ｂ１でマルチタスクが可能な環境と非同期的通信のために最適化されたブロックＡ１、Ａ２、Ａ３にマルチレイヤドライバコンセプトを備えている。
【００２３】
マルチレイヤドライバコンセプトについては、図３を使用して以下でより詳細に述べる。モビコアドライバＭＣＤ（ブロックＡ２）は、図３に図示され、制御データＭＣＰ及びＮＱと、及びモニタリングデータＦＣを非セキュア環境と、セキュアランタイム環境ＳＷｄの間で送信するための３つのインターフェースを備えている。ランタイム管理ユニットＭＣＲＴと、モニタリングデータハンドラＦＣＨが、モビコアオペレーティングシステム（ブロックＢ１）に設置されている。セキュアランタイム環境ＳＷｄと非セキュア環境ＮＷｄの間のデータ交換をコーディネイトするモニタユニットＭ（既に始めに説明した）も図示されている。
【００２４】
制御データＭＣＰの送信に割り当てられたインターフェースは、主として、モビコアオペレーティングシステムＭＣの制御に責任がある。ここに、オペレーティングシステムのどのタスクをスタートさせ、ストップさせるのかに関して決定を行う。モビコアのオペレーティングシステムによって提供されるデータは、正しいフォーマットであるかチェックされる。通信のために、特別バッファがメモリに保存されており、モニタリングメッセージＦＣを経由してイニシャライズされる。
【００２５】
メモリは、ワールド共有メモリと呼ばれる。該メモリは、非セキュア環境ＮＷｄとセキュアランタイム環境によってアクセスされる。
【００２６】
制御データＮＱの送信に割り当てられたインターフェースは、データはメモリに収集される準備状態にあることをランタイムマネージメントユニットに知らせるためのメッセージを使用する責任がある。これらのデータはモビコアドライバＭＣＤから発生しても良く、つまり、非セキュア環境ＮＷｄのアプリケーションとセキュアランタイム環境ＳＷｄの特定のアプリケーション（トラストレットＴＬ）との間のデータ通信に属している。モビコアドラバＭＣＤのレイヤ上の通信の場合、メッセージは、識別子、つまり、所謂セッションＩＤが付与されるが、セッションＩＤは、そのメッセージを、一意的に、セキュアランタイム環境ＳＷｄの特定のアプリケーションに割り当てるために、モビコアオペレーティングシステムＭＣが使うことができる。
【００２７】
制御データＭＣＰのレイヤからの制御データは、同様に、制御データＮＱのバッファに存在しても良い。どちらの場合も、ＮＱに割り当てられたインターフェースは、ランタイムマネージメントユニットＭＣＲＰに特別割り込み（好ましくは、特別トラストゾーン割り込みＳＩＱ）のトリガを知らせる。
【００２８】
非セキュア環境ＮＷｄとセキュアランタイム環境ＳＷｄの間の実際の切り替えが、モニタリングデータＦＣに割り当てられたインターフェースを介して起こる。この点に関して、モニタユニットＭと相互交流するには３つの方法が可能である：所謂ファーストコールを介するか、Ｎ−ＳＩＱメッセージ又はＮＱ−ＩＲＱメッセージを介する方法である。後者は、通知ＩＲＱと呼ばれる。最初の２つは、非セキュア環境からセキュアランタイム環境にだけ切り替わる。ＮＱ−ＩＲＱの場合には、反対方向に切り替えることができる。
【００２９】
制御データＭＣＰに割り当てたインターフェースは、非セキュア環境のモビコアドライバＭＣＤの中のスケジューラのタスクを引き受ける。ドライバはどのモビコアのタスクを実行するか決定する。
【００３０】
上記のコンセプトは、マイクロカーネルによるアプローチにおける最適化を可能にする。従来のマイクロカーネルのアプローチと比較すると、モビコアのオペレーティングシステムＭＣで、プロセス間通信ＩＰＣは行われない。しかし、モビコアプロセスは、通常使用するメモリ（ワールド共有メモリ）を介してデータを交換する。モビコアプロセスには、セキュリティ上の理由から超過することができない特別な計算時間が割り当てられている。
【００３１】
モビコアプロセスは簡単なスレッドとタスク構造を有している。その結果、コンテキスト切り替えがあっても、大量のデータをコピーする必要がない。これによって、高速のコンテキスト切り替え時間となる。
【００３２】
スレッド構造は、次のようになる：スレッドＩＤ，スレッドの現在の状態、スレッドのためのローカルな例外ハンドラ―、スレッドの優先度。タスク構造は次のようになる：タスクの現在の状態、ジェネレータタスクのタスクＩＤ，タスクのための外部例外ハンドラ、タスクのための計算時間割当、タスクによって活性化又は提供されることができるスレッドの数、タスクの優先度と権利。
【００３３】
異なるバッファを介したアプリケーションデータ、制御データ及びモニタリングデータを送信は、図４に示したアプリケーションのために使用することができる。
【００３４】
携帯電話Ｈ１、Ｈ２、・・・Ｈｎのセキュア領域のアプリケーションは、中央バックグラウンドシステム（データベースＤ）と交信して、そのバックグラウンドシステムから、セキュリティモードの表示画面に表示する情報アイテムを受信する。表示される情報は、例えば、数列、画像、ロゴ等などが可能である。バックグラウンドシステムＤは、通常の時間間隔で、セキュリティモードで表示されるべき情報を変更する。表示されるべき情報は、広いユーザサークルに同時に公然と開示される。セキュアディスプレ装置を備える端末Ｈ１，Ｈ２、・・・Ｈｎのユーザは、第２通信チャンネルを介して現在有効な情報をチェックすることができる。第２通信チャンネルとは、例えば、毎日の新聞等の、セキュアワールドからのウェブリンクを含むインターネット可能なコンピュータや携帯電話のブラウザであって良い。
【００３５】
これによって、例えば、暗号キーなどのセキュリティが重要なデータの保護は、フォアグラウンドはない。その代わりに、ここでは、ユーザの、セキュアな表示やセキュアな入力手段に対する感じ方は重要である。その結果、携帯端末のエンドユーザ、例えば、モバイルバンキングのアプリケーションや支払いのアプリケーションに対する信頼を増大させることができる。
【００３６】
この目的のために、データベースシステムＤは、データベースの最新クライアントを介して端末で実施された最新サーバを使用して、端末Ｈ１，Ｈ２、・・・Ｈｎで交換された情報を記憶する。図４では、情報は、例えば、クリスマスツリーである。同じ情報が、公共チャンネルｖを介してデータベースシステムと一体化されたウェブサーバを使用して、公的に任意の認証システムＶＳでも利用可能である。情報を更新する順序は次の通りである。
【００３７】
１．更新サーバは、新しい情報アイテムを送るために、セキュアなチャンネルを介して、データベースＤにリスト化されているすべての携帯端末Ｈ１、Ｈ２、・・・Ｈｎにコンタクトする。これは、バックグラウンドシステムが、定期的な間隔で、携帯端末Ｈ１、Ｈ２、・・・Ｈｎのセキュリティモードで表示される情報を変更するということを意味する。
２．更新を首尾よく実行するために、更新クライアントは、その端末の更新サーバに認証されなければならない。これは、例えば、クライアントの認可を使って実行することができる。端末の更新サーバは、同様に、データベースの更新クライアントに、更新のために正しいサーバとコンタクトしたことを証明しなければならない。これは、サーバの認可を使用して実行することができる。
３．首尾よくいった相互の認証に続いて、新しい情報（ここでは、クリスマスツリー）が、携帯端末装置の更新サーバとデータベースの更新クライアントの間のセキュリティチャンネルｓを介して、セキュリティモードにのみアクセス可能なエリアの端末にロードされる。
４．情報は、随意的に、電子透かしで保護され、各々の端末のために個人用設定される。
５．個人用設定は、例えば、セキュアランタイム環境で検査することができる。もし、それが端末のために適切ではない場合には、セキュアランタイム環境のある種の機能性がブロックされる。これによって、例えば、モーバイルの支払い操作は不可能になる。
【００３８】
エンドユーザによる認証の順序は次の通りである。
１．エンドユーザが、携帯端末Ｈ１、Ｈ２，・・・・Ｈｎをセキュリティモードに切り替える行動を実行する。
２．関係する携帯端末は、現在、任意の情報アイテム、ここでは、クリスマスツリーを、セキュアなスクリーン上の特異な場所に表示する。
３．端末のユーザは、第２の平行なチャンネルを介して、自分の携帯端末上の情報が、その他の場所に公開されている情報に対応するかどうかを確認することができる。
【産業上の利用可能性】
【００３９】
これによって、携帯電話に於けるエンドユーザの信頼、特に、支払いやバンキングのアプリケーションのための信頼が増す。電子端末のセキュリティ状態を装う攻撃は、はるかに困難になる。ユーザは、携帯装置がセキュリティモードであるかどうかチェックすることが可能である。これによって、上記のアプリケーションに対するユーザのより高い信頼につながる。
【図１】
2014506704.tif 000003
【図２】
2014506704.tif 000004
【図３】
2014506704.tif 000005
【図４】
2014506704.tif 000006
【国際調査報告】
2014506704.tif 000007
2014506704.tif 000008
2014506704.tif 000009
2014506704.tif 000010