(57)【要約】  携帯端末で実行されるか又は実行することができると共に、非安全なランタイム環境を発生し、維持すべく設計された通常のオペレーティング・システムと、保証されたランタイム環境を発生し、維持すべく設計された安全保障のオペレーティング・システムと、通常のオペレーティング・システム及び安全保障のオペレーティング・システムの間のオペレーティング・システム・インターフェースであって、非安全なランタイム環境及び保証されたランタイム環境の間の通信をオペレーティング・システム・レベルで制御すべく設計されてなる前記オペレーティング・システム・インターフェースと、非安全なランタイム環境及び保証されたランタイム環境の間の通信をオペレーティング・システム・レベルとは異なるレベルで安全に制御すべく設計された少なくとも１つのフィルター・インターフェースと、を具備するマイクロプロセッサ・システム。
2014533395.tif 000002
【特許請求の範囲】
【請求項１】
１．携帯端末で実行可能な又は実行されると共に、
非安全なランタイム環境（１００）を発生し、維持するために設計された通常のオペレーション・システム（HLOS）と、
安全なランタイム環境（２００）を発生し、維持するために設計された安全保障のオペレーティング・システム（MobiCore）と、
前記通常のオペレーティング・システム（HLOS）及び前記安全保障のオペレーション・システム（MobiCore）の間のオペレーティング・システム・インターフェース（MobiCore ドライバ）であって、前記非安全なランタイム環境（１００）及び前記安全なランタイム環境（２００）の間の通信をオペレーティング・システム・レベルで安全に制御すべく設計された前記オペレーティング・システム・インターフェースと、を具備し、
前記非安全なランタイム環境（１００）及び前記安全なランタイム環境（２００）の間の通信を前記オペレーティング・システム・レベルと異なるレベルで安全に制御すべく設計された少なくとも１つのフィルター・インターフェース（仮想I2Cドライバ; TLC）によって特徴付けられてなるマイクロプロセッサ・システム。
２．請求項１に記載のマイクロプロセッサ・システムにおいて、前記設けられたフィルター・インターフェースは、前記非安全なランタイム環境（１００）及び前記安全なランタイム環境（２００）の間の通信をハードウェア・レベルで安全に制御すべく設計されたハードウェア・フィルター・インターフェース（仮想I2Cドライバ）である前記マイクロプロセッサ・システム。
３．請求項２に記載のマイクロプロセッサ・システムにおいて、前記ハードウェア・レベルの前記制御は、バス・システム（I2C）を介した制御として行われる前記マイクロプロセッサ・システム。
４．請求項２又は３に記載のマイクロプロセッサ・システムにおいて、
前記携帯端末の周辺構造体用の少なくとも１つのドライバ（PER）であって、前記通常のオペレーション・システム（HLOS）によって駆動可能であると共に、前記非安全なランタイム環境（１００）にて実行可能である前記少なくとも１つのドライバを更に具備し、
前記周辺構造体用の好ましくは軽減したドライバ（PER-S）であって、前記安全保障のオペレーション・システム（MobiCore）によって駆動可能であり、前記安全なランタイム環境（２００）にて実行可能で、前記非安全なランタイム環境（１００）にて実行可能な前記ドライバ（PER）の機能性のサブセットのみを好ましくは有してなる前記ドライバによって特徴付けられると共に、
前記ハードウェア・フィルター・インターフェース（仮想I2Cドライバ）が、前記非安全なランタイム環境（１００）にて実行可能な周辺構造体用の前記ドライバ（PER）と、前記安全なランタイム環境（２００）にて実行可能な前記周辺構造体用の前記好ましくは軽減したドライバ（PER-S）との間の通信を前記ハードウェア・レベルで安全に制御すべく設計されてなることを特徴とする前記マイクロプロセッサ・システム。
５．請求項４に記載のマイクロプロセッサ・システムにおいて、安全保障との関連性に関して周辺構造体用の前記ドライバ（PER、PER-S）に向けられたアクセスを検査し、前記アクセスが安全保障と関連性があるものとして同定される場合、前記安全なランタイム環境（２００）での前記好ましくは軽減したドライバ（PER-S）に前記アクセスを運び、かつ、前記アクセスが安全保障と関連性がないものとして同定される場合、前記非安全なランタイム環境（１００）での前記ドライバ（PER）に前記アクセスを運ぶべく、前記ハードウェア・フィルター・インターフェース（仮想I2Cドライバ）が設計されている前記マイクロプロセッサ・システム。
６．請求項１から５の何れかに記載のマイクロプロセッサ・システムにおいて、前記設けられたフィルター・インターフェースは、前記非安全なランタイム環境（１００）及び前記安全なランタイム環境（２００）の間の通信をアプリケーション・レベルで安全に制御すべく設計されたアプリケーション・フィルター・インターフェース（TLC）である前記マイクロプロセッサ・システム。
７．請求項６に記載のマイクロプロセッサ・システムにおいて、
少なくとも１つのアプリケーション（APP）を更に具備し、
該アプリケーション（APP）は前記通常のオペレーション・システム（HLOS）によって少なくとも部分的に（APP-N）駆動可能であると共に、前記非安全なランタイム環境（１００）にて実行可能であり、かつ、前記安全保障のオペレーション・システム（MobiCore）によって少なくとも部分的に（APP-S）駆動可能であると共に、前記安全なランタイム環境（２００）にて実行可能であることを特徴とすると共に、
前記非安全なランタイム環境（１００）で実行可能な前記少なくとも部分的なアプリケーション（APP-N）と、前記安全なランタイム環境（２００）で実行可能な前記少なくとも部分的なアプリケーション（APP-S）との間の通信を前記アプリケーション・レベルで安全に制御すべく、前記アプリケーション・フィルター・インターフェース（TLC）が設計されていることを特徴とする前記マイクロプロセッサ・システム。
８．請求項７に記載のマイクロプロセッサ・システムにおいて、安全保障との関連性に関して前記アプリケーション（APP）に向けられたアクセスを検査し、前記アクセスが安全保障と関連性があるものとして同定される場合、前記安全なランタイム環境（２００）での前記少なくとも部分的なアプリケーション（APP-S）に前記アクセスを運び、かつ、前記アクセスが安全保障と関連性がないものとして同定される場合、前記非安全なランタイム環境（１００）での前記少なくとも部分的なアプリケーション（APP-N）に前記アクセスを運ぶべく、前記アプリケーション・フィルター・インターフェース（TLC）が設計されている前記マイクロプロセッサ・システム。
９．請求項１から８の何れかに記載のマイクロプロセッサ・システムにおいて、前記非安全なランタイム環境（１００）から前記安全なランタイム環境（２００）への又は/及び前記安全なランタイム環境（２００）から非安全なランタイム環境（１００）への前記フィルター・インターフェース（仮想I2Cドライバ; TLC）を介して行われるどんなアクセスのときでも、前記マイクロプロセッサのユーザに知覚可能なユーザ・メッセージがユーザ出力装置によって出力されるようにして、前記フィルター・インターフェース（仮想I2Cドライバ; TLC）が前記ユーザ出力装置に結合されている前記マイクロプロセッサ・システム。
１０．請求項９に記載のマイクロプロセッサ・システムにおいて、一方で、前記非安全なランタイム環境（１００）から前記安全なランタイム環境（２００）への、及び他方で、前記安全なランタイム環境（２００）から非安全なランタイム環境（１００）へのアクセスに対して、前記ユーザに区別可能な異なるユーザ出力が出力されるようにして、前記フィルター・インターフェース（仮想I2Cドライバ; TLC）が前記ユーザ出力装置に結合されている前記マイクロプロセッサ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は安全なランタイム環境を有する携帯端末で実行可能な又は実行されるマイクロプロセッサ・システムに関する。
【背景技術】
【０００２】
マイクロプロセッサ・システムは機能的観点からマイクロプロセッサ、及び１つ以上の揮発性及び不揮発性メモリ、特に、オペレーティング・システムを記憶した少なくとも１つのオペレーティング・システム・メモリと、オペレーティング・システムの制御の下でマイクロプロセッサにより実行可能な各アプリケーションを記憶した１つ以上のアプリケーション・メモリと、マイクロプロセッサによって処理すべきデータを記憶することができる主メモリと、を具備している。オペレーティング・システムはその動作の際に、マイクロプロセッサ・システム上で各アプリケーションを実行可能なランタイム環境を発生し、維持する。マイクロプロセッサ・システムは一般に、１つのチップ、例えば、半導体チップ、場合により、複数の接続されたチップ上で実行される。
【０００３】
携帯端末は、携帯電話、スマートフォン、携帯情報端末（PDA: personal digital assistant）又は類似の端末を意味していると理解される。
【０００４】
アーム・トラストゾーン（ARM Trustzone）アーキテクチャの意味は、マイクロプロセッサ向けのARM会社からの既知の二分のランタイム・アーキテクチャを表わしており、このアーキテクチャは２つのランタイム（runtime）環境を備えている。「ノーマル・ゾーン（Normal Zone）」又は「ノーマル・ワールド（Normal World）」と呼ばれる第１の非安全なランタイム環境は、通常のオペレーティング・システムによって制御される。「Trustzone」又は「信頼ワールド（Trusted World）」或いは「安全なワールド（Secure World）」と呼ばれる第２の安全又は信頼できるランタイム環境は、安全保障のオペレーティング・システムによって制御される。
【０００５】
通常のオペレーティング・システムは、例えば、アンドロイド（Android）、ウインドーズ（Windows（登録商標））電話機、又はシンビアン（Symbian）等の従来のオペレーティング・システムであり得る。
【０００６】
本発明の出願の出願人は、取引指定MOBICOREの下で、携帯端末で実行すべきチップ向けの安全保障のオペレーティング・システムを製造し、販売している。特に、安全保障に不可欠なアプリケーション及び幾つかの周辺機能（例えば、キーボード・ドライバ）は、安全保障のオペレーティング・システムMOBICOREによって安全に制御される。安全保障のオペレーティング・システム下でのアプリケーションは、用語「Trust」及び「Applet」との類似によって「Trustlets」としても表わされる。更なるアプリケーション及び他の周辺機能（例えば、表示装置ドライバ、エヌエフシー（NFC）インターフェース・ドライバ、無線インターフェース・レイヤー・アールアイエル（RIL）は（Rich OS 又はHLOSとも呼ばれる）通常のオペレーティング・システムによって制御される。安全保障のオペレーティング・システムは、暗号化キー、認証カウス（Kauth）を備えており、これらによって安全保障のオペレーティング・システムは背景システムに関して自身を同定することができる。随意的に、認証キーKauthは、チップ又は携帯端末及び背景システムの間の安全な通信チャンネルを動作させるために付加的に設けられている。背景システムは、例えば、移動無線網のそれ自体既知の背景システムである。
【０００７】
例えば、安全なランタイム環境（Trustlet）でのアプリケーションを呼び出すための、又はデータを交換するための非安全なランタイム環境から安全なランタイム環境への通常のオペレーティング・システムの一部分上のアクセスは、安全保障のドライバ、例えば、Mobicoreドライバを排他的に用いることによって標準として実行される。この場合、安全保障のドライバは、非安全なランタイム環境で実行されるが、安全保障のオペレーティング・システムによって制御され、かつ、オペレーティング・システム・レベルで機能する。安全保障のドライバは、例えば、通常のオペレーティング・システムのタスクを安全保障のオペレーティング・システムに伝達することができると共に、タスクに関しての結果を転送することができる。この場合、前記結果は安全保障のオペレーティング・システムによって通常のオペレーティング・システムに提供される。安全保障のドライバは通常のオペレーティング・システム及び安全保障のオペレーティング・システムの間の安全な通信チャンネルを仲介する。この場合、前記チャンネルは比較的小さいボリュームのデータを交換するのに全く十分である。
【０００８】
安全なランタイム環境で実行されるアプリケーション（Trustlet）又は周辺機能は、安全保障のオペレーティング・システムによってのみアクセスすることができる。対照的に、Trustletは通常のオペレーティング・システムから直接アクセスすることはできない。
【０００９】
事実上、（例えば、キーボードを除いた）携帯端末の全ての周辺構造体、即ち、中央マイクロプロセッサを凌ぐ携帯端末の構造は通常のオペレーティング・システムの下で実行され、それぞれの周辺ドライバは非安全なランタイム環境「通常ゾーン（Normal Zone）」において実行されるためにこうして最大程度にまで安全ではない。
【００１０】
オペレーティング・システムを用いた又はオペレーティング・システムを介した周辺構造体の通信の工程の中には、安全保障で重要なものがある。例えば、機密番号ピーアイエヌ（PIN）等の機密データが処理される工程、又は安全保障関連指令、例えば、支払取引を確認するか又は開始する指令を処理する工程がある。こういった安全保障で重要な通信工程に対して、各指令のデータ又は操作の内密の観察を防止するためには、周辺構造体の安全なリンクが望ましいこととなろう。
【００１１】
周辺構造体の動作をより安全にする最も直接的な可能性は、通常のオペレーティング・システム下での代わりに安全保障のオペレーティング・システム下でそれぞれの周辺ドライバを実行することである。（安全保障のオペレーティング・システムとしてのMoBiCoreを有する携帯端末における比較的小さくコンパクトなキーボード・ドライバは、例えば、標準としての安全保障のオペレーティング・システムの下で既に実行されている場合が多い。）しかしながら、このことは、周辺構造体に対する全てのアクセスは安全保障のオペレーティング・システムによって必ず達成されなければならないという結論を招く、安全保障のオペレーティング・システムの下で、認証及び暗号化等の複雑な安全保障の方策は全てのアクセスに対して要求されるため、各ドライバを通常のオペレーティング・システムから安全保障のオペレーティング・システムに移動させることは、携帯端末の動作のペースをかなり相当にスローダウンさせる。しかしながら、周辺構造体に対するアクセスのかなりの割合は安全保障上重要でなく、安全ではないが、より速い通常のオペレーティング・システム下でかえって好都合に進展できることとなろう。
【００１２】
幅広い種類の使用のためのアプリケーション、例えば、輸送（発券業務）又はボーナス・ポイント及び割引制度（ローヤリティー）手段に対する支払取引（銀行取引、支払い）又は切符販売は、安全な実行環境において実行可能な方法で安全保障のオペレーティング・システムの制御下で少なくとも部分的に広く実行されている。この場合、アプリケーションの少なくとも各部分、特に、携帯端末のユーザ又はユーザ・インターフェースとの相互作用に向けられたアプリケーションの各部分は、非安全な実行環境において実行可能な方法で、付加的に又は通常のオペレーティング・システムの制御の下で実行される。仮に安全な及び非安全なランタイム環境におけるアプリケーションの部分間に通信が必要とされるとすれば、このことは安全保障のドライバを用いることによってオペレーティング・システム・レベルで行われ、通信を遅くする。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
この発明は安全なランタイム環境を有する携帯端末で実行可能な又は実行されるマイクロプロセッサ・システムを提供する目的に基づいており、このマイクロプロセッサ・システムは安全を可能にすると同時に、非安全なランタイム環境及び安全なランタイム環境の間の効率的な通信を可能にする。
【００１４】
この目的は請求項１に権利主張されているようなマイクロプロセッサ・システムを用いることによって達成される。この発明の有利な各実施例は、各従属項において詳細に述べられる。
【課題を解決するための手段】
【００１５】
独立請求項１に権利主張されているようなこの発明によるマイクロプロセッサ・システムは携帯端末で実行可能か又は実行されると共に、-非安全なランタイム環境を発生し、維持するために設計された通常のオペレーティング・システムと、-安全なランタイム環境を発生し、維持するために設計された安全保障のオペレーティング・システムと、-通常のオペレーティング・システム及び安全保障のオペレーティング・システムの間のオペレーティング・システム・インターフェースであって、非安全なランタイム環境及び安全なランタイム環境の間の通信をオペレーティング・システム・レベルで安全に制御してなる前記オペレーティング・システム・インターフェースと、を具備している。
【００１６】
マイクロプロセッサ・システムは、非安全なランタイム環境及び安全なランタイム環境の間の通信をオペレーティング・システム・レベルとは異なるレベルで安全に制御すべく設計された少なくとも１つのフィルター・インターフェースによって特徴付けられる。
【００１７】
フィルター・インターフェースは、オペレーティング・システム・レベルでの通信チャンネルを外れて、オペレーティング・システムの迂回を介した通信に比してより直接的な通信のために使用することができる更に安全な通信を提供することから、加速されると同時に安全な通信を可能にする。
【００１８】
従って、請求項１は非安全なランタイム環境及び安全なランタイム環境の間の安全であると同時に効率的な通信を可能にするマイクロプロセッサ・システムを提供する。
【００１９】
フィルター・インターフェースは、非安全なランタイム環境で動作すべく設計された第１の非安全な部分的フィルター・インターフェースと、安全なランタイム環境で動作すべく設計された第２の安全な部分的フィルター・インターフェースとを有している。この結果、フィルター・インターフェースは安全な及び非安全なランタイム環境の間を仲介することができる。
【００２０】
一つの代替案によれば、設けられたフィルター・インターフェースは、非安全なランタイム環境及び安全なランタイム環境の間の通信をハードウェア・レベルで安全に制御すべく設計されたハードウェア・フィルター・インターフェースである。こうして、安全な及び非安全なランタイム環境の間の安全な通信はハードウェア・レベルで、従って、加速方法で、直ちに、かつ、直接に行うことができる。
【００２１】
ハードウェア・レベルでの制御は、例えば、表示装置、シム（SIM）カード等の周辺構造体等のハードウェア部品の直接的駆動による制御として随意に（以下を参照）、又はバス・システムを介した、例えば、I2Cバスを介した制御として随意に実行される。
【００２２】
設けられたフィルター・インターフェースがハードウェア・フィルター・インターフェースである代替案によれば、マイクロプロセッサ・システムは、携帯端末の周辺構造物用の少なくとも１つのドライバであって、通常のオペレーティング・システムによって駆動可能であると共に、非安全なランタイム環境で実行可能である前記少なくとも１つのドライバと、周辺構造物用の-好ましくは軽減したドライバであって、安全保障のオペレーティング・システムによって駆動可能であると共に、安全なランタイム環境で実行可能であり、好ましくは、非安全なランタイム環境で実行可能なドライバの諸機能性のサブセットのみを有してなる前記ドライバと、を随意に更に具備している。この場合、ハードウェア・フィルター・インターフェースは、非安全なランタイム環境で実行可能である周辺構造体用のドライバと、安全なランタイム環境で実行可能である周辺構造体用の好ましくは軽減したドライバとの間の通信をハードウェア・レベルで安全に制御すべく設計されている。
【００２３】
従って、ハードウェア・フィルター・インターフェースは、通常のオペレーティング・システム下で実行される各ドライバ部分と、安全保障のオペレーティング・システム下で実行される各ドライバ部分との間の直接的な通信をハードウェア・フィルター・インターフェースを介して可能にする。
【００２４】
端末の周辺構造体としては、例えば、NFCインターフェース、移動無線網に各接続部をセットアップする際に含まれる無線インターフェース・レイヤーRIL、認証及び暗号化用に使用される安全保障要素SE（例えば、SIMカード又はUSIMカード又は安全マイクロSDカード（Secure MicroSD card）或いは恒久的に実施される組込み式安全要素（Embedded Secure Element）、表示装置、特にタッチ・スクリーン表示装置、キーボード、例えば、インターネット（IP）又は仮想私設網（VPN: virtual private network）等の移動無線網とは異なるネットワークに電話で接続するダイヤルイン・ルーチンを介して入力される機密番号PIN（個人識別番号: personal identification number）を検証するのに使用することができるPIN検査ルーチン、バッファ・メモリ（例えば、フレーム・バッファ）が提供される。
【００２５】
随意に、仮に各ドライバがマイクロプロセッサ・システムにおける複数の周辺構造体に対して実行されるのであれば、共通のハードウェア・インターフェースが全ての周辺構造体に対して設けられ、該ハードウェア・インターフェースは同一の周辺構造体と関連するドライバ間で排他的にハードウェア・レベルの非安全なランタイム環境及び安全なランタイム環境の間のアクセスを可能にすると共に、ハードウェア・レベルでの異なる周辺構造体と関連するドライバ間のアクセスを防止する。直接的ハードウェア・レベルのアクセスを、同一の周辺構造体に関して相互に対応するドライバに対してのみ用意しておくという事実のおかげで、マルウェア（malware）、例えば、トロイ（Trojan）等によるドライバへの不正アクセスが防止される。
【００２６】
これらの行き過ぎた行為が安全保障のドライバによる検査に従って許容されると仮定すれば、異なる周辺構造体に関連するドライバ間のアクセスは、せいぜいオペレーティング・システム・レベルで安全保障のドライバによって行うことができよう。安全保障のドライバは、例えば、malwareを同定すると共に、回避することとなろう。
【００２７】
随意的に、ハードウェア・フィルター・インターフェースは、安全保障との関連については周辺構造体に対するドライバに向けられた各アクセスを（例えば、非安全なランタイム環境で）検査することを受けられ、アクセスが安全保障に関連するものと同定された場合に、アクセスを安全なランタイム環境での軽減したドライバに伝達し、アクセスが安全保障に関連しないものと同定された場合に、アクセスを非安全なランタイム環境での軽減したドライバに伝達するように設計されるものである。
【００２８】
随意的に、安全なランタイム環境で実行可能な周辺構造体用のドライバは、安全保障関連アクセスを処理することを要求される諸機能性を備えるに過ぎないという旨まで軽減される。対照的に、非安全なランタイム環境で実行可能な周辺構造体用のドライバは、好ましくは、ドライバの全ての機能性を備えている。
【００２９】
更なる代替案によれば、設けられたフィルター・インターフェースは、非安全なランタイム環境及び安全なランタイム環境の間の通信をアプリケーション・レベルで安全に制御すべく設計されたアプリケーション・フィルター・インターフェースである。アプリケーション・フィルター・インターフェースはアプリケーション・レベルでの直接的に安全な通信チャンネルを提供し、この通信チャンネルは、オペレーティング・システム・レベルを介した迂回路及びオペレーティング・システム・レベルで動作する安全保障のドライバを介するよりも速い通信を可能にする。
【００３０】
マイクロプロセッサ・システムは、通常のオペレーティング・システムによって少なくとも部分的に駆動可能であると共に、非安全なランタイム環境で実行可能であり、かつ、安全保障のオペレーティング・システムによって少なくとも部分的に駆動可能であると共に、安全なランタイム環境で実行可能である少なくとも１つのアプリケーションを更に随意に備えている。この場合、アプリケーション・フィルター・インターフェースは、非安全なランタイム環境で実行可能な少なくとも部分なアプリケーションと、安全なランタイム環境で実行可能な少なくとも部分なアプリケーションとの間の通信をアプリケーション・レベルで安全に制御すべく設計されている。
【００３１】
アプリケーションは、例えば、支払取引用の銀行業務又は支払いアプリケーション、或いは多種多様な目的、例えば、輸送の手段のための切符の購買及び管理用の発券業務アプリケーションであり得る。アプリケーションの少なくとも安全保障-関連の諸機能性は、安全保障のオペレーティング・システム下で随意に実行される。付記すると、非安全保障-関連の諸機能性は、通常のオペレーティング・システム下で付加的に又は排他的に随意に実行される。
【００３２】
殆どの場合、通常のオペレーティング・システム下で駆動が圧倒的に実行されることとなる各ドライバとは対照的に、銀行業務アプリケーション等のアプリケーションの場合、例えば、圧倒的多数が通常、安全保障のオペレーティング・システム下で実行されることとなる。
【００３３】
随意的に、仮に複数のアプリケーションがマイクロプロセッサで実行されるとすれば、全てのアプリケーションに対して共通のアプリケーション・フィルター・インターフェースが設けられる。この場合、該アプリケーション・フィルター・インターフェースは非安全な及び安全なランタイム環境での同一のアプリケーションに関連する部分間の排他的にアプリケーション・レベルで非安全な及び安全なランタイム環境の間のアクセスを可能にすると共に、アプリケーション・レベルで異なるアプリケーションに関連する部分の間のアクセスを防止する。直接的アプリケーション・レベルのアクセスは、同一のアプリケーションの相互に対応する部分に対してのみ用意しておくという事実のおかげで、malware、例えば、トロイ等によるアプリケーションへの不正アクセスが防止される。
【００３４】
安全な及び非安全なランタイム環境の間の境界を横切る異なるアプリケーション間のアプリケーション・アクセスは、安全保障のドライバを用いてせいぜいオペレーティング・システム・レベルでのみ行うことができる。
【００３５】
随意的に、アプリケーション・フィルター・インターフェースは、安全保障との関連についてはアプリケーションに向けられた各アクセスを（例えば、非安全なランタイム環境で）検査すべく設計され、アクセスが安全保障に関連するものと同定された場合に、アクセスを安全なランタイム環境での少なくとも部分的なアプリケーションに伝達し、アクセスが安全保障に関連しないものと同定された場合に、アクセスを非安全なランタイム環境での少なくとも部分的なアプリケーションに伝達するものである。
【００３６】
アプリケーション・フィルター・インターフェースは代替手段として又はハードウェア・フィルター・インターフェースの他に設けることができる。随意的に、アプリケーション・フィルター・インターフェース及びハードウェア・フィルター・インターフェースの双方は相互作用のために設けられ、設計されている。
【００３７】
この発明の一つの展開によれば、非安全なランタイム環境から安全なランタイム環境に又は/及び安全なランタイム環境から非安全なランタイム環境にフィルター・インターフェースを介して、即ち、安全な及び非安全なランタイム環境の境界を横切って行われるどんなアクセスのときにも、マイクロプロセッサのユーザに感じるユーザ・メッセージがユーザ出力装置によって出力されるようにして、フィルター・インターフェースがユーザ出力装置、例えば、携帯端末（例えば、携帯電話機）の拡声器、又は振動による着信通知等に結合される。この結果、ユーザは安全な及び非安全なランタイム環境の境界を横切って行われるどんなアクセスも知らされることになり、例えば、安全保障上重要なデータが到達して、フィルター・インターフェースから安全なランタイム環境に転送されるか否か又は/及びデータが安全なランタイム環境から非安全なランタイム環境に出力されるか否かを認識することができる。ユーザ出力は例えば携帯端末によって出力されるメロディーとして構成することができる。
【００３８】
随意的に、安全な及び非安全なランタイム環境の境界を、一方で、非安全なランタイム環境から安全なランタイム環境に横切って、他方で安全なランタイム環境から非安全なランタイム環境に横切る各アクセスに対して、ユーザにとって区別可能な異なるユーザ出力が出力される。例として、非安全なランタイム環境から安全なランタイム環境へ又は安全なランタイム環境から非安全なランタイム環境へとアクセス方向に応じて異なるメロディーが出力される。
【００３９】
一つの変形によれば、ユーザ・メッセージは安全なランタイム環境内のマイクロプロセッサの動作の際に常に動作される。従って、この変形例において、非安全なランタイム環境から安全なランタイム環境へのアクセスのときのユーザ・メッセージ出力は、動作が今、実際に安全なランタイム環境で行われていることを、ユーザに通知するために、アクセスの直後に一時的に出力される。安全なランタイム環境から非安全なランタイム環境へのアクセスのときに、この変形例では、安全なランタイム環境が直ちに残されることとなることをユーザに警告するために、アクセスの直前にユーザ・メッセージが一時的に出力される。代替的に又は付加的に、安全なランタイム環境がプログラムの実行によって実際に残された後に、ユーザ・メッセージを出力することができる。同様にして、代替的に又は付加的に、安全なランタイム環境がプログラムの実行によって入ってくる前にユーザ・メッセージを出力することができる。
【図面の簡単な説明】
【００４０】
この発明は、例示的実施例に基づいて、かつ、図面を参照して以下において更に詳細に説明される。
【図１】この発明の一実施例による、アプリケーション・フィルター・インターフェースを備えたマイクロプロセッサ・システムを示す。
【図２】この発明の一実施例による、ハードウェア・フィルター・インターフェースを備えたマイクロプロセッサ・システムを示す。
【図３】この発明の一実施例による、アプリケーション・フィルター・インターフェース及びハードウェア・フィルター・インターフェースを備えたマイクロプロセッサ・システムを示している。
【発明を実施するための形態】
【００４１】
図１はこの発明の一実施例による、非安全なランタイム環境１００及び安全なランタイム環境２００を有すると共に、非安全なランタイム環境１００において及び安全なランタイム環境２００において部分的に各ケースで実行されるアプリケーション・フィルター・インターフェースTrustletコネクタ（TLC: Translet Connector）を有するARMアーキテクチャを有するマイクロプロセッサ・システムを示している。非安全なランタイム環境１００は通常のオペレーティング・システムHLOSによって制御される。安全なランタイム環境２００は安全保障のオペレーティング・システムMobiCoreによって制御される。オペレーティング・システム・レベルでの非安全なランタイム環境１００及び安全なランタイム環境２００間のアクセスは、安全保障のドライバMobiCoreドライバを用いることによって行われる。例えば、支払取引アプリケーションのアプリケーションAPPの大部分のAPP-Sは、安全なランタイム環境２００で実行可能な方法で安全保障のオペレーティング・システムMobiCore下で実行される。例えば、支払取引アプリケーションのアプリケーションAPPの残部のAPP-Nは、非安全なランタイム環境１００で実行可能な方法で通常のオペレーティング・システムHLOS下で実行される。この発明によるアプリケーション・フィルター・インターフェースTLC（Translet Connector）は、安全なランタイム環境２００で実行可能な方法で安全保障のオペレーティング・システムMobiCore下で実行されるアプリケーションAPPの部分APP-Sと、非安全なランタイム環境１００で実行可能な方法で通常のオペレーティング・システムHLOS下で実行されるアプリケーションAPPの部分APP-Nとを、直接にアプリケーション・レベルで可能にする。周辺構造体PER、例えば、タッチ・スクリーン表示装置用のドライバは図１に従って通常のオペレーティング・システムHLOS下で従来の方法で実行されると共に、せいぜい安全保障のドライバMobiCoreドライバを介して安全なランタイム環境２００と通信することができる。安全保障のオペレーティング・システムMobiCoreの下で実行される新規な軽減したドライバPER-Sには、せいぜい安全保障のドライバMobiCoreドライバを介して非安全なランタイム環境１００から達することができる。非安全なランタイム環境１００では、周辺ドライバPERはリナックス（登録商標）（Linux） I２Cドライバで制御される方法でI2Cバス・システムを介して通常のオペレーティング・システムHLOSと通信する。安全なランタイム環境２００では、軽減した周辺ドライバPER-SはI2Cドライバによって制御される方法で安全なランタイム環境２００で実行されるI２Cバス・システムを介して安全保障のオペレーティング・システムMobiCoreと通信する。周辺ドライバPER及びPER-Sの間の通信は、MobiCoreドライバを用いることによってせいぜいオペレーティング・システム・レベルで行うことができる。
【００４２】
図２はこの発明の一実施例による、ハードウェア・フィルター・インターフェース、即ち、仮想I2Cドライバを備えたマイクロプロセッサ・システムを示している。ここで特に断らない限り、図１と同一の指定を有する部分は図１からの部分に対応する。周辺構造体PER、例えば、タッチ・スクリーン表示装置用のドライバは、通常のオペレーティング・システムHLOSの下で実行される。周辺構造体用の新規な軽減した周辺ドライバPER-Sは、安全保障のオペレーティング・システムMobiCoreの下で実行される。各ケースで非安全なランタイム環境１００及び安全なランタイム環境２００で部分的に実行される仮想I2Cドライバ（典型的なハードウェア・フィルター・インターフェース）は、通常のオペレーティング・システムHLOSの下で実行される周辺ドライバPERと、安全保障のオペレーティング・システムの下で実行される軽減した周辺ドライバPER-S MobiCoreとの間の通信をハードウェア・レベルで、より正確にはI2Cバスのレベルで可能にする。非安全なランタイム環境１００では、周辺ドライバPERはLinux（登録商標） I2Cドライバを介して通常のオペレーティング・システムHLOSと通信する。安全なランタイム環境２００では、軽減した周辺ドライバPER-SはI2Cドライバを介して安全保障のオペレーティング・システムMobiCoreと通信する。ハードウェア・フィルター・インターフェース、即ち、仮想I2Cドライバは、HLOS下でのバス・システムのLinux（登録商標） I2Cドライバと、MobiCore下でのバス・システムのI2Cドライバとの間にハードウェア・レベルで安全な通信チャンネルを提供する。この場合、ハードウェア・レベルはオペレーティング・システム・レベルに比して周辺ドライバのレベルにより近い。図２からの例示的実施例において、アプリケーションAPPの部分APP-N、APP-Sは、主としてMobiCoreドライバを用いることによってせいぜいオペレーティング・システム・レベルでのみ相互に通信することができる。
【００４３】
図３はこの発明の一実施例による、アプリケーション・フィルタ・インターフェースTLC及びハードウェア・フィルター・インターフェース、即ち、仮想のI2Cドライバを備えたマイクロプロセッサ・システムを示している。こうして、図３は図１及び図２からの実施例の組合せを図示している。更にまた、アプリケーション・フィルタ・インターフェースTLC及びハードウェア・フィルター・インターフェース、即ち、仮想のI2Cドライバは協働する。非安全なランタイム環境１００の側では、ハードウェア・フィルター・インターフェース（仮想のI2Cドライバ）は、バス・システムLinux（登録商標） I2Cドライバを介して周辺ドライバPERと通信する。安全なランタイム環境２００について、ハードウェア・フィルター・インターフェース（仮想のI2Cドライバ）はアプリケーション・フィルタ・インターフェースTLCと通信し、こうしてハードウェア・レベルからアプリケーション・レベルに変化する。最後に、アプリケーション・フィルタ・インターフェースTLCは、軽減した周辺ドライバPER-Sを用いてアプリケーション・レベルで安全なランタイム環境２００中に連通している。
【図１】
2014533395.tif 000003
【図２】
2014533395.tif 000004
【図３】
2014533395.tif 000005
【国際調査報告】
2014533395.tif 000006
2014533395.tif 000007
2014533395.tif 000008
2014533395.tif 000009
2014533395.tif 000010
2014533395.tif 000011