(57)【特許請求の範囲】
【請求項１】
プロセッサによって、アプリケーションプログラムによって送られたセキュア処理要求を受け取るステップであって、前記アプリケーションプログラムは、ノーマルモードにおいて動作し、前記アプリケーションプログラムは、セキュアモードにおいて動作せず、前記プロセッサは、前記セキュア処理要求を受け取る時に前記ノーマルモードにおいて動作する、ステップと、
前記プロセッサによって、前記セキュア処理要求に従って前記ノーマルモードからセキュアモードに切り替えるステップと、
前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作するメモリ内にデータ情報を書き込むステップであって、前記データ情報は、前記セキュアモードにおいて動作する前記プロセッサが前記セキュア処理要求を解析した後に生成するデータである、ステップと、
前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリ内に記憶された前記データ情報に従って動作するように、アクセスされるデバイスを制御するステップであって、前記アクセスされるデバイスは、前記ノーマルモードにおいて動作し、前記アクセスされるデバイスは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされ、前記アクセスされるデバイスは、前記アプリケーションプログラムによって呼び出された後に動作する必要があるデバイスである、ステップと
を含むセキュア相互作用方法。
【請求項２】
前記プロセッサによって、前記セキュア処理要求に従って前記ノーマルモードからセキュアモードに切り替える前記ステップの後に、前記方法は、
前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリからセキュリティインジケータを読み取るステップと、
前記セキュアモードにおいて動作する前記プロセッサによって前記読み取られたセキュリティインジケータに従って、現在の環境がセキュア状態にあることをユーザに通知するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記セキュアモードにおいて動作する前記プロセッサによって前記読み取られたセキュリティインジケータに従って、現在の環境がセキュア状態にあることをユーザに通知する前記ステップは、
前記セキュアモードにおいて動作する前記プロセッサによって前記読み取られたセキュリティインジケータに従って、動作するようにセキュリティ表示デバイスを制御するステップであって、前記セキュリティ表示デバイスは、前記セキュアモードにおいて動作し、前記セキュリティ表示デバイスは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる、ステップ
を含む、請求項2に記載の方法。
【請求項４】
前記セキュアモードにおいて動作する前記プロセッサによって前記読み取られたセキュリティインジケータに従って、現在の環境がセキュア状態にあることをユーザに通知する前記ステップは、
前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリから読み取られた前記セキュリティインジケータを表示するようにDisplay Unitを制御するステップであって、前記Display Unitは、前記ノーマルモードにおいて動作し、前記Display Unitは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる、ステップ
を含む、請求項2または3に記載の方法。
【請求項５】
前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作するメモリにデータ情報を書き込む前記ステップは、
前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリ内にFrame Buffer情報を書き込むステップであって、前記Frame Buffer情報は、前記セキュアモードにおいて動作する前記プロセッサによって、Frame Bufferデバイスによって提供されるインターフェースから入手され、前記Frame Bufferデバイスは、前記ノーマルモードにおいて動作する、ステップ
を含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記アクセスされるデバイスは、Display Unitであり、前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリ内に記憶された前記データ情報に従って動作するように、アクセスされるデバイスを制御する前記ステップは、
前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリから読み取られたFrame Buffer情報を表示するように前記Display Unitを制御するステップであって、前記Display Unitは、前記ノーマルモードにおいて動作し、前記Display Unitは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる、ステップ
を含む、請求項4または5に記載の方法。
【請求項７】
前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリから読み取られた前記Frame Buffer情報を表示するように前記Display Unitを制御する前記ステップは、
前記セキュアモードにおいて動作する前記プロセッサによって、フォアグラウンドレイヤおよびバックグラウンドレイヤを表示するように前記Display Unitを制御するステップであって、前記Frame Buffer情報は、前記フォアグラウンドレイヤにおいて表示され、バックグラウンドは、前記バックグラウンドレイヤにおいて表示され、前記フォアグラウンドレイヤおよび前記バックグラウンドレイヤは、異なるカラーにおいて表示される、ステップ
を含む、請求項6に記載の方法。
【請求項８】
前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作するメモリ内にデータ情報を書き込む前記ステップは、
前記セキュアモードにおいて動作する前記プロセッサによって、ユーザによって入力デバイス内に入力されるユーザデータを入手するステップであって、前記入力デバイスは、前記ノーマルモードにおいて動作する、ステップと、
前記セキュアモードにおいて動作する前記プロセッサによって、結果データを入手するために前記入手されたユーザデータに対して検証処理を実行するステップと、
前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリ内に前記結果データを書き込むステップと
を含む、請求項1から4のいずれか一項に記載の方法。
【請求項９】
前記アクセスされるデバイスは、Display Unitであり、前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリ内に記憶された前記データ情報に従って動作するようにアクセスされるデバイスを制御する前記ステップは、
前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリから読み取られた前記結果データを表示するように前記Display Unitを制御するステップであって、前記Display Unitは、前記ノーマルモードにおいて動作し、前記Display Unitは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる、ステップ
を含む、請求項8に記載の方法。
【請求項１０】
プロセッサによって、アプリケーションプログラムによって送られたセキュア処理要求を受け取る前記ステップの前に、前記方法は、
前記プロセッサによって、前記アクセスされるデバイスを前記セキュアモードにおいて動作する前記プロセッサによってアクセス可能にセットするステップと、
前記プロセッサによって、ドライバコードが前記ノーマルモードにおいて動作する前記アプリケーションプログラムを開始し、実行するようにするために、前記ノーマルモードにおいて動作する前記メモリにオペレーティングシステムをロードするステップと
をさらに含む、請求項1から9のいずれか一項に記載の方法。
【請求項１１】
プロセッサと、メモリと、アクセスされるデバイスとを含むセキュア相互作用デバイスであって、
前記プロセッサは、アプリケーションプログラムによって送られたセキュア処理要求を受け取るように構成され、前記アプリケーションプログラムは、ノーマルモードにおいて動作し、前記アプリケーションプログラムは、セキュアモードにおいて動作せず、前記プロセッサは、前記セキュア処理要求を受け取る時に前記ノーマルモードにおいて動作し、  前記プロセッサは、前記セキュア処理要求に従って前記ノーマルモードからセキュアモードに切り替えるように構成され、
前記セキュアモードにおいて動作する前記プロセッサは、前記セキュアモードにおいて動作する前記メモリ内にデータ情報を書き込むように構成され、前記データ情報は、前記セキュアモードにおいて動作する前記プロセッサが前記セキュア処理要求を解析した後に生成するデータであり、
前記セキュアモードにおいて動作する前記プロセッサは、前記セキュアモードにおいて動作する前記メモリ内に記憶された前記データ情報に従って動作するように、前記アクセスされるデバイスを制御するように構成され、前記アクセスされるデバイスは、前記ノーマルモードにおいて動作し、前記アクセスされるデバイスは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされ、前記アクセスされるデバイスは、前記アプリケーションプログラムによって呼び出された後に動作する必要があるデバイスである
セキュア相互作用デバイス。
【請求項１２】
前記セキュアモードにおいて動作する前記プロセッサは、前記プロセッサが前記セキュア処理要求に従って前記ノーマルモードから前記セキュアモードに切り替えた後に、前記セキュアモードにおいて動作する前記メモリからセキュリティインジケータを読み取るようにさらに構成され、
前記セキュアモードにおいて動作する前記プロセッサは、前記読み取られたセキュリティインジケータに従って、現在の環境がセキュア状態にあることをユーザに通知するようにさらに構成される
請求項11に記載のセキュア相互作用デバイス。
【請求項１３】
前記セキュア相互作用デバイスは、セキュリティ表示デバイスをさらに含み、
前記セキュアモードにおいて動作する前記プロセッサは、前記読み取られたセキュリティインジケータに従って、動作するように前記セキュリティ表示デバイスを制御するように具体的に構成され、前記セキュリティ表示デバイスは、前記セキュアモードにおいて動作し、前記セキュリティ表示デバイスは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる
請求項12に記載のセキュア相互作用デバイス。
【請求項１４】
前記セキュアモードにおいて動作する前記プロセッサは、前記セキュアモードにおいて動作する前記メモリから読み取られた前記セキュリティインジケータを表示するようにDisplay Unitを制御するように具体的に構成され、前記Display Unitは、前記ノーマルモードにおいて動作し、前記Display Unitは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる、請求項12または13に記載のセキュア相互作用デバイス。
【請求項１５】
前記セキュアモードにおいて動作する前記プロセッサは、前記セキュアモードにおいて動作する前記メモリ内にFrame Buffer情報を書き込むように具体的に構成され、前記Frame Buffer情報は、前記セキュアモードにおいて動作する前記プロセッサによって、Frame Bufferデバイスによって提供されるインターフェースから入手され、前記Frame Bufferデバイスは、前記ノーマルモードにおいて動作する、請求項11から14のいずれか一項に記載のセキュア相互作用デバイス。
【請求項１６】
前記アクセスされるデバイスは、Display Unitであり、前記セキュアモードにおいて動作する前記プロセッサは、前記セキュアモードにおいて動作する前記メモリから読み取られた前記Frame Buffer情報を表示するように前記Display Unitを制御するように具体的に構成され、前記Display Unitは、前記ノーマルモードにおいて動作し、前記Display Unitは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる、請求項15に記載のセキュア相互作用デバイス。
【請求項１７】
前記セキュアモードにおいて動作する前記プロセッサは、フォアグラウンドレイヤおよびバックグラウンドレイヤを表示するように前記Display Unitを制御するように具体的に構成され、前記Frame Buffer情報は、前記フォアグラウンドレイヤにおいて表示され、バックグラウンドは、前記バックグラウンドレイヤにおいて表示され、前記フォアグラウンドレイヤおよび前記バックグラウンドレイヤは、異なるカラーにおいて表示される、請求項16に記載のセキュア相互作用デバイス。
【請求項１８】
前記セキュアモードにおいて動作する前記プロセッサは、前記ノーマルモードにおいて動作する入力デバイス内にユーザによって入力されるユーザデータを入手し、結果データを入手するために前記入手されたユーザデータに対して検証処理を実行し、前記セキュアモードにおいて動作する前記メモリ内に前記結果データを書き込むようにさらに構成される、請求項11から14のいずれか一項に記載のセキュア相互作用デバイス。
【請求項１９】
前記アクセスされるデバイスは、Display Unitであり、前記セキュアモードにおいて動作する前記プロセッサは、前記セキュアモードにおいて動作する前記メモリから読み取られた前記結果データを表示するように前記Display Unitを制御するように具体的に構成され、前記Display Unitは、前記ノーマルモードにおいて動作し、前記Display Unitは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる、請求項18に記載のセキュア相互作用デバイス。
【請求項２０】
前記プロセッサは、前記アクセスされるデバイスを前記セキュアモードにおいて動作する前記プロセッサによってアクセス可能にセットするようにさらに構成され、
前記プロセッサは、ドライバコードが前記ノーマルモードにおいて動作する前記アプリケーションプログラムを開始し、実行するようにするために、前記ノーマルモードにおいて動作する前記メモリにオペレーティングシステムをロードするようにさらに構成される
請求項11から19のいずれか一項に記載のセキュア相互作用デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信の分野に関し、具体的には、セキュア相互作用(secure interaction)の方法およびデバイスに関する。
【背景技術】
【０００２】
トラステッドコンピューティングベース(英語のフルネームはTrusted Computing Base略語はTCB)は、コンピュータシステム内の保護装置に関する包括的な用語を指す。トラステッドコンピューティングベースは、コンピュータシステムのセキュア保護環境を確立する。スマートフォンシステムは、豊富な機能を有するが、スマートフォンシステムは、大量の最下層コードのサポートを必要とする。たとえば、Android(英語のフルネームはAndroid)システムにおいて、Androidシステム全体が、トラステッドコンピューティングベースのソフトウェアスタックの1000万行を超えるソースコードを有する。マルウェアが、既存のソフトウェアスタックのセキュリティ脆弱性を使用することによってシステムに進入した後には、ユーザ入力動作および入力ディスプレイのセキュリティを保証することはできない。
【０００３】
実生活において、電子デバイスを使用することによる買物が、人々の日常生活の一部になった。しかし、支払いに関するセキュリティは、さらに、保証される必要がある。銀行支払いアプリケーションの例において、入力に関して、マルウェアが入力データを秘密のうちに傍受する場合に、ユーザによって入力されたパスワードが漏らされる可能性があり、ディスプレイに関して、マルウェアが、ディスプレイバッファを操作することによってディスプレイデータを秘密のうちに変更する場合に、ユーザのアカウントが、ユーザの知識なしに盗まれる可能性がある。
【０００４】
現在、オペレーティングシステムのセキュリティを改善するために、例えば、TrustZone技術などのTrusted Execution Environmentを使用することができる。TrustZoneにおいては、モニタモード、セキュアモード、およびノーマルモードがセットされる。モニタモードは、最高のセキュリティレベルを有し、セキュアモードとノーマルモードとの間の切り替えは、モニタモードを使用することによって実施され得る。ノーマルモードは、オペレーティングシステムが通常走行するモードと同一である。セキュアモードは、ノーマルモードから完全に分離されるが、ノーマルモードにおけるすべての物理メモリなどのデバイスは、セキュアモードにおいてアクセスされ得る。たとえば、携帯電話機の電源が入れられる時に、携帯電話機は、まずセキュアモードに入り、セキュアモードにおけるプログラムが、携帯電話機のシステムを開始するためにノーマルモードに切り替える責任を負う。既存システムに関して、既存システムは、ノーマルモードにおいて走行することができ、相対的に高いセキュリティレベルを有するプログラムは、セキュアモードにおいて走行する。
【０００５】
システムセキュリティがTrustZone機構を使用することによって改善されるアプリケーションシナリオにおいて、既存システムは、ノーマルモードにおいて走行し、セキュア処理機能は、既存システムからのセキュアな分離を実施するために、セキュアモードにおいて提供される。ノーマルモードにおけるプログラムは、信頼されないので、プログラムのドライバデバイスのコードが直接に再利用される場合には、セキュアモード内のデータが漏らされまたは改竄される可能性がある。セキュアモードにおいてアプリケーションプログラムの要求を処理するために、既存の方法は、セキュアモードにおいて、アクセスされるデバイスのドライバコードをもう一度実施することである。しかし、既存システム内の多数のドライバは、すべてがサードパーティによって提供されるので、ソースドライバコードを入手することはできず、限られた量のデバイスドライバが、セキュアモードにおいてサポートされる。もう1つの方法は、既存システム内のすべてのドライバモジュールをセキュアモードに移植することである。この方法を使用することによって、十分な量のデバイスドライバが、セキュアモードにおいてサポートされ得る。しかし、結果として、セキュアモード内のコードの量が急激に増加し、トラステッドコンピューティングベースが、過度に大きくなる。アプリケーションプログラムの要求に対する処理中にセキュリティを保証するよりよい解決策が、まだ提案されないままであることがわかる。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の実施形態は、ノーマルモードにおいて動作するドライバモジュールのコードをセキュアモードにおいてセキュアに呼び出し、トラステッドコンピューティングベースを縮小する、セキュア相互作用の方法およびデバイスを提供する。
【０００７】
第1の態様によれば、本発明の実施形態は、セキュア相互作用方法を提供し、この方法は、
プロセッサによって、アプリケーションプログラムによって送られたセキュア処理要求を受け取るステップであって、アプリケーションプログラムは、ノーマルモードにおいて動作し、プロセッサは、セキュア処理要求を受け取る時にノーマルモードにおいて動作する、ステップと、
プロセッサによって、セキュア処理要求に従ってノーマルモードからセキュアモードに切り替えるステップと、
セキュアモードにおいて動作するプロセッサによって、セキュアモードにおいて動作するメモリ内にデータ情報を読み取るステップであって、データ情報は、セキュアモードにおいて動作するプロセッサがセキュア処理要求を解析した後に生成するデータである、ステップと、
セキュアモードにおいて動作するプロセッサによって、セキュアモードにおいて動作するメモリ内に記憶されたデータ情報に従って動作するように、アクセスされるデバイスを制御するステップであって、アクセスされるデバイスは、ノーマルモードにおいて動作し、アクセスされるデバイスは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答し、アクセスされるデバイスは、アプリケーションプログラムによって呼び出された後に動作する必要があるデバイスである、ステップと
を含む。
【０００８】
第1の態様に関連して、第1の態様の第1の可能な実施の形において、プロセッサによって、セキュア処理要求に従ってノーマルモードからセキュアモードに切り替えるステップの後に、方法は、
セキュアモードにおいて動作するプロセッサによって、セキュアモードにおいて動作するメモリからセキュリティインジケータを読み取るステップと、
セキュアモードにおいて動作するプロセッサによって読み取られたセキュリティインジケータに従って、現在の環境がセキュア状態にあることをユーザに通知するステップと
をさらに含む。
【０００９】
第1の態様の第1の可能な実施の形に関連して、第1の態様の第2の可能な実施の形において、セキュアモードにおいて動作するプロセッサによって読み取られたセキュリティインジケータに従って、現在の環境がセキュア状態にあることをユーザに通知するステップは、
セキュアモードにおいて動作するプロセッサによって読み取られたセキュリティインジケータに従って、動作するようにセキュリティ表示デバイスを制御するステップであって、セキュリティ表示デバイスは、セキュアモードにおいて動作し、セキュリティ表示デバイスは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する、ステップ
を含む。
【００１０】
第1の態様の第1の可能な実施の形に関連して、第1の態様の第3の可能な実施の形において、セキュアモードにおいて動作するプロセッサによって読み取られたセキュリティインジケータに従って、現在の環境がセキュア状態にあることをユーザに通知するステップは、
セキュアモードにおいて動作するプロセッサによって、セキュアモードにおいて動作するメモリから読み取られたセキュリティインジケータを表示するようにDisplay Unitを制御するステップであって、Display Unitは、ノーマルモードにおいて動作し、Display Unitは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する、ステップ
を含む。
【００１１】
第1の態様または第1の態様の第1、第2、もしくは第3の可能な実施の形に関連して、第1の態様の第4の可能な実施の形において、セキュアモードにおいて動作するプロセッサによって、セキュアモードにおいて動作するメモリにデータ情報を読み取るステップは、
セキュアモードにおいて動作するプロセッサによって、セキュアモードにおいて動作するメモリ内にFrame Buffer情報を読み取るステップであって、Frame Buffer情報は、セキュアモードにおいて動作するプロセッサによって、Frame Bufferデバイスによって提供されるインターフェースから入手され、Frame Bufferデバイスは、ノーマルモードにおいて動作する、ステップ
を含む。
【００１２】
第1の態様の第4の可能な実施の形に関連して、第1の態様の第5の可能な実施の形において、アクセスされるデバイスは、Display Unitであり、セキュアモードにおいて動作するプロセッサによって、セキュアモードにおいて動作するメモリ内に記憶されたデータ情報に従って動作するように、アクセスされるデバイスを制御するステップは、
セキュアモードにおいて動作するプロセッサによって、セキュアモードにおいて動作するメモリから読み取られたFrame Buffer情報を表示するようにDisplay Unitを制御するステップであって、Display Unitは、ノーマルモードにおいて動作し、Display Unitは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する、ステップ
を含む。
【００１３】
第1の態様の第5の可能な実施の形に関連して、第1の態様の第6の可能な実施の形において、セキュアモードにおいて動作するプロセッサによって、セキュアモードにおいて動作するメモリから読み取られたFrame Buffer情報を表示するようにDisplay Unitを制御するステップは、
セキュアモードにおいて動作するプロセッサによって、フォアグラウンドレイヤおよびバックグラウンドレイヤを表示するようにDisplay Unitを制御するステップであって、Frame Buffer情報は、フォアグラウンドレイヤにおいて表示され、バックグラウンドは、バックグラウンドレイヤにおいて表示され、フォアグラウンドレイヤおよびバックグラウンドレイヤは、異なるカラーにおいて表示される、ステップ
を含む。
【００１４】
第1の態様または第1の態様の第1、第2、もしくは第3の可能な実施の形に関連して、第1の態様の第7の可能な実施の形において、セキュアモードにおいて動作するプロセッサによって、セキュアモードにおいて動作するメモリ内にデータ情報を読み取るステップは、
セキュアモードにおいて動作するプロセッサによって、ユーザによって入力デバイス内に入力されるユーザデータを入手するステップであって、入力デバイスは、ノーマルモードにおいて動作する、ステップと、
セキュアモードにおいて動作するプロセッサによって、結果データを入手するために入手されたユーザデータに対して検証処理を実行するステップと、
セキュアモードにおいて動作するプロセッサによって、セキュアモードにおいて動作するメモリ内に結果データを読み取るステップと
を含む。
【００１５】
第1の態様の第7の可能な実施の形に関連して、第1の態様の第8の可能な実施の形において、アクセスされるデバイスは、Display Unitであり、セキュアモードにおいて動作するプロセッサによって、セキュアモードにおいて動作するメモリ内に記憶されたデータ情報に従って動作するようにアクセスされるデバイスを制御するステップは、
セキュアモードにおいて動作するプロセッサによって、セキュアモードにおいて動作するメモリから読み取られた結果データを表示するようにDisplay Unitを制御するステップであって、Display Unitは、ノーマルモードにおいて動作し、Display Unitは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する、ステップ
を含む。
【００１６】
第1の態様に関連して、第1の態様の第9の可能な実施の形において、プロセッサによって、アプリケーションプログラムによって送られたセキュア処理要求を受け取るステップの前に、方法は、
プロセッサによって、アクセスされるデバイスをセキュアモードにおいて動作するプロセッサによってアクセス可能にセットするステップと、
プロセッサによって、ドライバコードがノーマルモードにおいて動作するアプリケーションプログラムを開始し、実行するようにするために、ノーマルモードにおいて動作するメモリにオペレーティングシステムをロードするステップと
をさらに含む。
【００１７】
第2の態様によれば、本発明の実施形態は、プロセッサと、メモリと、アクセスされるデバイスとを含むセキュア相互作用デバイスをさらに提供し、
プロセッサは、アプリケーションプログラムによって送られたセキュア処理要求を受け取るように構成され、アプリケーションプログラムは、ノーマルモードにおいて動作し、プロセッサは、セキュア処理要求を受け取る時にノーマルモードにおいて動作し、
プロセッサは、セキュア処理要求に従ってノーマルモードからセキュアモードに切り替えるように構成され、
セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリ内にデータ情報を読み取るように構成され、データ情報は、セキュアモードにおいて動作するプロセッサがセキュア処理要求を解析した後に生成するデータであり、
セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリ内に記憶されたデータ情報に従って動作するように、アクセスされるデバイスを制御するように構成され、アクセスされるデバイスは、ノーマルモードにおいて動作し、アクセスされるデバイスは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答し、アクセスされるデバイスは、アプリケーションプログラムによって呼び出された後に動作する必要があるデバイスである。
【００１８】
第2の態様に関連して、第2の態様の第1の可能な実施の形において、セキュアモードにおいて動作するプロセッサは、プロセッサがセキュア処理要求に従ってノーマルモードからセキュアモードに切り替えた後に、セキュアモードにおいて動作するメモリからセキュリティインジケータを読み取るようにさらに構成され、
セキュアモードにおいて動作するプロセッサは、読み取られたセキュリティインジケータに従って、現在の環境がセキュア状態にあることをユーザに通知するようにさらに構成される。
【００１９】
第2の態様の第1の可能な実施の形に関連して、第2の態様の第2の可能な実施の形において、セキュア相互作用デバイスは、セキュリティ表示デバイスをさらに含み、
セキュアモードにおいて動作するプロセッサは、読み取られたセキュリティインジケータに従って、動作するようにセキュリティ表示デバイスを制御するように具体的に構成され、セキュリティ表示デバイスは、セキュアモードにおいて動作し、セキュリティ表示デバイスは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する。
【００２０】
第2の態様の第1の可能な実施の形に関連して、第2の態様の第3の可能な実施の形において、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリから読み取られたセキュリティインジケータを表示するようにDisplay Unitを制御するように具体的に構成され、Display Unitは、ノーマルモードにおいて動作し、Display Unitは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する。
【００２１】
第2の態様または第2の態様の第1、第2、もしくは第3の可能な実施の形に関連して、第2の態様の第4の可能な実施の形において、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリ内にFrame Buffer情報を読み取るように具体的に構成され、Frame Buffer情報は、セキュアモードにおいて動作するプロセッサによって、Frame Bufferデバイスによって提供されるインターフェースから入手され、Frame Bufferデバイスは、ノーマルモードにおいて動作する。
【００２２】
第2の態様の第4の可能な実施の形に関連して、第2の態様の第5の可能な実施の形において、アクセスされるデバイスは、Display Unitであり、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリから読み取られたFrame Buffer情報を表示するようにDisplay Unitを制御するように具体的に構成され、Display Unitは、ノーマルモードにおいて動作し、Display Unitは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する。
【００２３】
第2の態様の第5の可能な実施の形に関連して、第2の態様の第6の可能な実施の形において、セキュアモードにおいて動作するプロセッサは、フォアグラウンドレイヤおよびバックグラウンドレイヤを表示するようにDisplay Unitを制御するように具体的に構成され、Frame Buffer情報は、フォアグラウンドレイヤにおいて表示され、バックグラウンドは、バックグラウンドレイヤにおいて表示され、フォアグラウンドレイヤおよびバックグラウンドレイヤは、異なるカラーにおいて表示される。
【００２４】
第2の態様または第2の態様の第1、第2、もしくは第3の可能な実施の形に関連して、第2の態様の第7の可能な実施の形において、セキュアモードにおいて動作するプロセッサは、ノーマルモードにおいて動作する入力デバイス内にユーザによって入力されるユーザデータを入手し、結果データを入手するために入手されたユーザデータに対して検証処理を実行し、セキュアモードにおいて動作するメモリ内に結果データを読み取るようにさらに構成される。
【００２５】
第2の態様の第7の可能な実施の形に関連して、第2の態様の第8の可能な実施の形において、アクセスされるデバイスは、Display Unitであり、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリから読み取られた結果データを表示するようにDisplay Unitを制御するように具体的に構成され、Display Unitは、ノーマルモードにおいて動作し、Display Unitは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する。
【００２６】
第2の態様に関連して、第2の態様の第9の可能な実施の形において、プロセッサは、アクセスされるデバイスをセキュアモードにおいて動作するプロセッサによってアクセス可能にセットするようにさらに構成され、
プロセッサは、ドライバコードがノーマルモードにおいて動作するアプリケーションプログラムを開始し、実行するようにするために、ノーマルモードにおいて動作するメモリにオペレーティングシステムをロードするようにさらに構成される。
【００２７】
前述の技術的解決策から、本発明の実施形態が、以下の利点を有することがわかる。
【００２８】
本発明の実施形態において、ノーマルモードにおいて動作するアプリケーションプログラムは、プロセッサにセキュア処理要求を送り、プロセッサは、セキュア処理要求を受け取る時にノーマルモードにおいて動作し、次に、プロセッサは、セキュア処理要求に従ってノーマルモードからセキュアモードに切り替え、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリにデータ情報を読み取り、最後に、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリ内に記憶されたデータ情報に従って動作するように、アクセスされるデバイスを制御し、アクセスされるデバイスは、ノーマルモードにおいて動作し、アクセスされるデバイスは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する。本発明の実施形態において、アプリケーションプログラムの元の動作モードおよびアクセスされるデバイスの元の動作モードは、変更されず、アプリケーションプログラムおよびアクセスされるデバイスは、まだノーマルモードにおいて動作する。しかし、プロセッサは、アプリケーションプログラムによって送られたセキュア処理要求に従ってノーマルモードからセキュアモードに切り替える。セキュアモードにおいて動作するプロセッサは、セキュア処理要求を解析した後にデータ情報を生成し、そのデータ情報を、セキュアモードにおいて動作するメモリ内に読み取る。したがって、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリにアクセスすることができる。アクセスされるデバイスは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答するので、セキュアモードにおいて動作する時に限って、プロセッサは、動作するようにアクセスされるデバイスを制御することができる。したがって、相互作用プロセスにおけるセキュリティが、本発明の実施形態において保証され得る。アプリケーションプログラムとアクセスされるデバイスとの両方が、ノーマルモードにおいて動作するので、アプリケーションプログラムを駆動するためのドライバコードおよびアクセスされるデバイスを駆動するためのドライバコードは、まだノーマルモードにおいて動作し、ドライバコードをセキュアモードにおいてもう一度実施する必要はない。したがって、サードパーティによって提供される元のドライバコードに頼る必要も、アプリケーションプログラムとアクセスされるデバイスとの両方をセキュアモードに移植する必要もない。したがって、本発明の実施形態において、すべてのアクセスされるデバイスが、サポートされ得、トラステッドコンピューティングベースは、従来技術と比較して縮小され得る。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態によるセキュア相互作用方法を示す概略ブロック流れ図である。
【図２】本発明の実施形態によるセキュア相互作用デバイスのハードウェアアーキテクチャを示すブロック図である。
【図３−ａ】本発明の実施形態によるセキュア相互作用方法のアプリケーションシナリオを示す概略図である。
【図３−ｂ】本発明の実施形態によるセキュア相互作用方法の別のアプリケーションシナリオを示す概略図である。
【図３−ｃ】本発明の実施形態によるモニタモードのアプリケーションシナリオを示す概略図である。
【図４】本発明の実施形態によるセキュア相互作用方法の別のアプリケーションシナリオを示す概略図である。
【図５−ａ】本発明の実施形態によるセキュア相互作用デバイスを示す概略構造構成図である。
【図５−ｂ】本発明の実施形態による別のセキュア相互作用デバイスを示す概略構造構成図である。
【発明を実施するための形態】
【００３０】
本発明の実施形態は、ノーマルモードにおいて動作するドライバモジュールのコードをセキュアモードにおいてセキュアに呼び出し、トラステッドコンピューティングベースを縮小する、セキュア相互作用の方法およびデバイスを提供する。
【００３１】
本発明の目的、特徴、および本発明の利点をより明瞭でよりわかりやすくするために、以下では、本発明の実施形態において添付図面に関連して本発明の実施形態における技術的解決策を明瞭に説明する。明らかに、以下において説明される実施形態は、本発明の実施形態のすべてではなく一部にすぎない。本発明の実施形態に基づいて当業者によって入手される他のすべての実施形態は、本発明の保護範囲内に含まれなければならない。
【００３２】
本明細書、特許請求の範囲、および本発明の前述の添付図面において、「第1」および「第2」などの用語は、同様の物体の間で区別するのに使用され、必ずしも特定のシーケンスまたは順序を記述するのに使用されない。そのような形で使用される用語が、正しい状況において交換可能であることを理解されたい。これは、同一の属性を有する物体が本発明の実施形態において記述される時に使用される区別の形にすぎない。さらに、「含む」および任意の他の変形などの用語は、非排他的な包含を包含することが意図され、その結果、一連のユニットを含むプロセス、方法、システム、製品、またはデバイスは、必ずしもこれらのユニットに限定されるのではなく、明示的にリストされないかプロセス、方法、システム、製品、またはデバイスに固有ではない他のユニットを含むことができる。
【００３３】
詳細は、以下において別々に説明される。
【００３４】
図1内に示されているように、本発明の実施形態において提供されるセキュア相互作用方法は、具体的に以下のステップを含むことができる。
【００３５】
101  プロセッサが、アプリケーションプログラムによって送られたセキュア処理要求を受け取る。
【００３６】
アプリケーションプログラムは、ノーマルモードにおいて動作し、プロセッサは、セキュア処理要求を受け取る時にノーマルモードにおいて動作する。
【００３７】
本発明のこの実施形態において、プロセッサは、2つの動作モードすなわちノーマルモードおよびセキュアモードを有する。セキュアモードおよびノーマルモードは、2つの相互に分離された走行環境である。ノーマルモードは、オペレーティングシステムが通常走行するモードと同一である。ノーマルモードは、非セキュアモードと呼ばれる場合もある。ノーマルモードにおいて動作する時に、プロセッサは、信頼されず、悪意のあるものである場合がある。セキュアモードは、ノーマルモードから完全に分離される。しかし、セキュアモードにおいて動作するプロセッサは、ノーマルモードにおいて動作するすべてのメモリなどのデバイスにアクセスすることができるが、ノーマルモードにおいて動作するプロセッサは、セキュアモードにおいて動作するデバイスにアクセスすることができない。同様に、本発明のこの実施形態において、メモリも、2つの動作モードすなわちノーマルモードおよびセキュアモードを有する。具体的には、物理メモリは、2つの部分に分割され得、一方の部分は、ノーマルモードにおいて動作し、他方の部分は、セキュアモードにおいて動作する。
【００３８】
本発明のこの実施形態において、アプリケーションプログラムの動作モードを変更する必要はなく、アプリケーションプログラムは、セキュアモードにおいて走行する必要がない。その代わり、アプリケーションプログラムは、ノーマルモードで動作する。プロセッサは、セキュア処理要求を受け取る時にノーマルモードにおいて動作する、すなわち、ノーマルモードにおいて動作するプロセッサが、ノーマルモードにおいて動作するアプリケーションプログラムと相互作用することができる。各アプリケーションプログラムが、実行されることを必要とする時に、プロセッサは、セキュア処理要求を開始するように各アプリケーションプログラムに要求し、プロセッサは、セキュア処理要求を受け取る。アプリケーションプログラムによってプロセッサに送られたセキュア処理要求は、悪意のあるプログラムの悪意のある挙動を回避するために、プロセッサがアプリケーションプログラムのために応答処理を実行する時にセキュリティを保証できるようにするために、プロセッサによってセキュアモードを使用可能にするのに使用される。本発明のこの実施形態において、アプリケーションプログラムは、ノーマルモードにおいて動作する。理論的に、脅威モデルにおいて、すべてのアプリケーションプログラムおよびノーマルモードにおいて走行するオペレーティングシステムは、信頼されず、悪意のあるものである場合がある。本発明のこの実施形態において、アプリケーションプログラムが成功裡に走行できることを保証するために、アプリケーションプログラムは、セキュア処理要求を開始することを要求される。アプリケーションプログラムが、悪意のあるプログラムである場合であっても、アプリケーションプログラムは、セキュア処理要求を開始する必要がある。悪意のあるプログラムが、プロセッサに対してセキュア処理要求を開始しない場合には、プロセッサは、セキュアモードに入らず、ユーザは、プログラムが悪意のあるプログラムであると簡単に判定する。したがって、悪意のあるプログラムによって実行され得る悪意のある挙動が、回避され得る。悪意のあるプログラムが、プロセッサに対してセキュア処理要求を開始せず、セキュア処理要求が、ユーザとの対話を要求する場合には、フィッシング攻撃、たとえば、セキュア環境が、パスワードを入力するようにユーザに要求するように捏造されること、が発生する場合がある。この場合に、ユーザは、環境がセキュアであるかどうかを判定するために、セキュリティインジケータを観察することができる。セキュリティインジケータの説明に関しては、後続の実施形態における説明を参照されたい。ユーザとの対話が要求されない場合には、プロセッサが、セキュアモードに入る時に限ってセキュア動作を実行できるので、悪意のあるプログラムの悪意のある挙動は、攻撃の起動に失敗する。
【００３９】
本発明のいくつかの実施形態において、プロセッサが、ステップ101においてアプリケーションプログラムによって送られたセキュア処理要求を受け取る前に、本発明のこの実施形態において提供されるセキュア相互作用方法が、以下のステップをさらに含むことができることに留意されたい。
【００４０】
ステップA1  プロセッサが、アクセスされるデバイスをセキュアモードにおいて動作するプロセッサによってアクセス可能にセットする。
【００４１】
ステップA2  プロセッサが、ドライバコードがノーマルモードにおいて動作するアプリケーションプログラムを開始し、実行するようにするために、ノーマルモードにおいて動作するメモリにオペレーティングシステムをロードする。
【００４２】
本発明のこの実施形態において、オペレーティングシステムが開始する時に、プロセッサは、まずセキュアモードにおいて動作するメモリにオペレーティングシステムをロードし、その後、プロセッサは、セキュアモードにおいて初期化セッティングを実行し、プロセッサがアクセスされるデバイスをセキュアモードにおいて動作するプロセッサによってアクセス可能にセットするステップA1を実行する。前述の説明から、プロセッサが2つの動作モードすなわちノーマルモードおよびセキュアモードを有することがわかる。したがって、ステップA1は、プロセッサがノーマルモードにおいて動作する場合に、アクセスされるデバイスが、プロセッサによるアクセスを拒絶することができることを意味する。たとえば、アクセスされるデバイスが、プロセッサがノーマルモードにおいて動作すると判定する場合に、アクセスされるデバイスは、プロセッサの命令に応答しない場合がある。この形で、アクセスされるデバイスがノーマルモードにおいて動作する場合であっても、アクセスされるデバイスが、セキュアモードにおいて動作するプロセッサによってのみ制御されることが保証され得、アクセスされるデバイスが悪意のある攻撃に出会う時に、ノーマルモードにおいて動作するアクセスされるデバイスが、悪意のある命令を実行することが回避され得る。前述の説明から、メモリが2つの動作モードすなわちノーマルモードおよびセキュアモードを有することがわかる。オペレーティングシステムが初めて開始する時に、プロセッサは、オペレーティングシステムをセキュアモードにロードする。アクセスされるデバイスのセキュリティセッティングを完了した後に、プロセッサは、プロセッサがノーマルモードにおいて動作するメモリにオペレーティングシステムをロードするステップA2を実行する。この場合に、プロセッサもノーマルモードにおいて動作し、ノーマルモードにおいて動作するプロセッサは、ノーマルモードにおいて動作するメモリと相互作用することができる。この場合に、現在の環境は、ノーマルモードにあり、ドライバコードは、元のオペレーティングシステム内でアプリケーションプログラムを開始し、実行することができる。本発明のこの実施形態において、アプリケーションプログラムは、ノーマルモードのままになり、その結果、アプリケーションプログラムのドライバコードは、アプリケーションプログラムを普通に開始することができるようになる。したがって、アプリケーションプログラムがセキュアモードにおいてもう一度実施される時に元のドライバコードが入手される必要があるという問題およびアプリケーションプログラムがセキュアモードに移植されるのでトラステッドコンピューティングベースがより大きくなるという問題も、回避され得る。
【００４３】
102  プロセッサが、セキュア処理要求に従ってノーマルモードからセキュアモードに切り替える。
【００４４】
本発明のこの実施形態において、ノーマルモードにおいて動作するプロセッサが、ノーマルモードにおけるアプリケーションプログラムによって送られたセキュア処理要求を受け取った後に、プロセッサは、セキュア処理要求に従って動作モードをノーマルモードからセキュアモードに切り替える必要がある。プロセッサに関して、ノーマルモードにおける動作とセキュアモードにおける動作との間の相違は、ノーマルモードにおいて動作する時に、セキュリティを保証するために、プロセッサが、セキュアモードにおいて動作するメモリおよびセキュアモードにおいて動作する周辺機器にアクセスできないが、セキュアモードにおいて動作する時に、プロセッサが、ノーマルモードにおいて動作するアプリケーションプログラム、ノーマルモードにおいて動作するアクセスされるデバイス、およびセキュアモードにおいて動作するメモリにアクセスできることである。セキュアモードにおいて動作するメモリは、セキュアモードにおいて動作するプロセッサによってのみアクセスされ得るので、セキュアモードにおいて動作するメモリが、ノーマルモードのプロセッサによってアクセスされないことが保証される。
【００４５】
前述の説明から、セキュアモードおよびノーマルモードが、2つの相互に分離された走行環境であり、プロセッサの動作モードが、アプリケーションプログラムによって送られたセキュア処理要求に従って切り替えられることがわかる。プロセッサが、アプリケーションプログラムによって送られたセキュア処理要求を受け取らない場合には、プロセッサは、まだノーマルモードにおいて動作する。プロセッサが、アプリケーションプログラムによって送られたセキュア処理要求を受け取る時に、プロセッサは、アプリケーションプログラムのために応答処理を実行する必要がある。応答処理がアプリケーションプログラムのために実行される時に、セキュリティを保証するために、本発明のこの実施形態において、2つの動作モードすなわちノーマルモードおよびセキュアモードが、プロセッサに関してセットされる。たとえば、Trusted Execution Environment(英語のフルネームはTrustZone)技術において、合計3つの動作モードすなわち、モニタモード、ノーマルモード、およびセキュアモードがある。プロセッサは、モニタモードにおいて動作するTrustZoneモニタリングデバイス(英語のフルネームはMonitor)を使用することによって、ノーマルモードからセキュアモードに切り替えることができる。さらに、プロセッサは、セキュア処理要求に従い、ノーマルモードを走行させるコードを、セキュアモードを走行させるコードに置換することによって、ノーマルモードからセキュアモードに切り替えることもできる。プロセッサの動作状況は、アプリケーションプログラムによる動的トリガに基づいて切り替えられる。プロセッサがセキュアモードに切り替えることは、応答処理がアプリケーションプログラムのために実行される時にセキュア環境が作成され得ることを保証し、その結果、ユーザが、機密データの漏洩とデバイスに対する不正な攻撃とを回避するために、セキュア環境内でマン-マシン相互作用を実行できるようにするためである。
【００４６】
本発明のいくつかの実施形態において、プロセッサが、ステップ102においてセキュア処理要求に従ってノーマルモードからセキュアモードに切り替えた後に、本発明のこの実施形態において提供されるセキュア相互作用方法は、以下のステップをさらに含むことができる。
【００４７】
ステップB1  セキュアモードにおいて動作するプロセッサが、セキュアモードにおいて動作するメモリからセキュリティインジケータを読み取る。
【００４８】
ステップB2  セキュアモードにおいて動作するプロセッサが、読み取られたセキュリティインジケータに従って、現在の環境がセキュア状態にあることをユーザに通知する。
【００４９】
プロセッサの動作状況がセキュアモードに切り替えられた後に、プロセッサがセキュア環境内でアプリケーションプログラムのために応答処理を実行することをユーザが知覚することを可能にするために、本発明のこの実施形態において、セキュリティインジケータが、さらにセットされ得、セキュリティインジケータは、セキュアモードにおいて動作するメモリ内に記憶される。プロセッサがノーマルモードにおいて動作する場合に、プロセッサは、セキュリティインジケータを入手することができない。プロセッサは、セキュアモードにおいて動作するプロセッサがセキュアモードにおいて動作するメモリと相互作用する時に限ってセキュリティインジケータを読み取ることができる。セキュアモードにおいて動作するメモリからセキュリティインジケータを読み取った後に、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するプロセッサが、読み取られたセキュリティインジケータに従って、現在の環境がセキュア状態にあることをユーザに通知するステップB2を実行する。セキュアモードにおいて動作するプロセッサだけが、セキュリティインジケータを入手することができるので、プロセッサが、読み取られたセキュリティインジケータに従って現在の環境についてユーザに通知する時に、ユーザは、プロセッサの通知に従って、現在の環境がセキュア状態にあると判定することができる。
【００５０】
さらに、本発明のいくつかの他の実施形態において、セキュアモードにおいて動作するプロセッサが、ステップB2において、読み取られたセキュリティインジケータに従って現在の環境がセキュア状態にあることをユーザに通知することは、具体的には以下のステップを含むことができる。
【００５１】
ステップB21  セキュアモードにおいて動作するプロセッサが、読み取られたセキュリティインジケータに従って、動作するようにセキュリティ表示デバイスを制御し、セキュリティ表示デバイスは、セキュアモードにおいて動作し、セキュリティ表示デバイスは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する。
【００５２】
すなわち、本発明のこの実施形態において、プロセッサによって制御されるセキュリティ表示デバイスは、現在の環境がセキュア状態にあることをユーザに通知することができる。セキュリティ表示デバイスが、セキュアモードにおいて動作するプロセッサの制御の下で動作する時に、ユーザは、セキュリティ表示デバイスの通常動作に従って、現在の環境がセキュア状態にあると判定することができる。たとえば、セキュリティ表示デバイスは、発光ダイオード(英語のフルネームはLight Emitting Diode、英語の略語はLED)表示デバイスとすることができる。プロセッサがセキュアモードにおいて動作する時に、プロセッサは、現在の環境についてユーザに通知するために、LED表示デバイスを光らせることができ、ユーザは、点滅するLED表示デバイスに従って、現在の環境がセキュア状態にあると判定することができる。別の例として、セキュリティ表示デバイスは、Universal Serial Bus(英語のフルネームはUniversal Serial Bus、英語の略語はUSB)表示デバイスとすることができる。プロセッサがセキュアモードにおいて動作する時に、プロセッサは、現在の環境についてユーザに通知するために、USB表示デバイスの挿入または除去を制御することができ、ユーザは、USB表示デバイスの動作に従って、現在の環境がセキュア状態にあると判定することができる。
【００５３】
本発明のいくつかの他の実施形態において、セキュアモードにおいて動作するプロセッサが、ステップB2において、読み取られたセキュリティインジケータに従って現在の環境がセキュア状態にあることをユーザに通知することは、具体的には以下のステップを含むことができる。
【００５４】
ステップB22  セキュアモードにおいて動作するプロセッサが、セキュアモードにおいて動作するメモリから読み取られたセキュリティインジケータを表示するようにDisplay Unitを制御し、Display Unitは、ノーマルモードにおいて動作し、Display Unitは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する。
【００５５】
すなわち、本発明のこの実施形態において、ユーザは、プロセッサによって制御されるセキュリティ表示デバイスを使用することによるだけではなく、元のDisplay Unit(英語のフルネームはDisplay Unit)のディスプレイ機能を使用することによって直接にも、現在の環境がセキュアモードにあることを通知される。たとえば、セキュアモードにおいて動作するメモリ内に記憶されたセキュリティインジケータが、使用される。セキュリティインジケータは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサによって読み取られ得、ユーザだけが、セキュリティインジケータの内容を知る。プロセッサがセキュアモードに切り替える時に、プロセッサは、Display Unitを使用することによってセキュリティインジケータを表示する。ユーザが、Display Unitを使用することによってセキュリティインジケータを見る時に、ユーザは、現在の環境がセキュア状態にあると判定することができる。たとえば、セキュリティインジケータは、プライベートイメージ、メモ、指定された情報、または類似物とすることができ、本明細書において限定されない。
【００５６】
103  セキュアモードにおいて動作するプロセッサが、セキュアモードにおいて動作するメモリ内にデータ情報を読み取る。
【００５７】
データ情報は、セキュアモードにおいて動作するプロセッサがセキュア処理要求を解析した後に生成するデータである。
【００５８】
本発明のこの実施形態において、プロセッサが、ノーマルモードからセキュアモードに切り替えた後に、アプリケーションプログラムの要求に応答するために、セキュアモードにおいて動作するプロセッサは、セキュア処理要求を解析した後にデータ情報を生成し、その後、セキュアモードにおいて動作するメモリ内にデータ情報を読み取る。データ情報は、セキュアモードにおいて動作するプロセッサによって入手されたデータであり、データ情報は、アクセスされるデバイスによって動作中に要求されるデータである。本発明のこの実施形態において、プロセッサは、異なるアプリケーションプログラムのために異なる処理動作を実行する必要があり、プロセッサは、特定のアプリケーションプログラムに従って、入手されなければならないデータ情報を判定する必要もある。
【００５９】
本発明のこの実施形態において、セキュアモードにおいて動作するプロセッサだけが、セキュアモードにおいて動作するメモリにアクセスすることができ、ノーマルモードにおいて動作するプロセッサが、セキュアモードにおいて動作するメモリへのアクセスを開始する時に拒絶されることに留意されたい。セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリ内にデータ情報を読み取る。プロセッサは、プロセッサとメモリとの両方がセキュアモードにおいて動作する時に限ってメモリ内にデータ情報を読み取ることができる。この場合に、プロセッサは、現在の環境がセキュア状態にある時にメモリ内にデータ情報を読み取る。
【００６０】
本発明のいくつかの実施形態において、セキュアモードにおいて動作するプロセッサが、ステップ103においてセキュアモードにおいて動作するメモリ内にデータ情報を読み取ることは、具体的には以下のステップを含むことができる。
【００６１】
ステップC1  セキュアモードにおいて動作するプロセッサが、セキュアモードにおいて動作するメモリ内にFrame Buffer(英語のフルネームはFrame Buffer)情報を読み取り、Frame Buffer情報は、セキュアモードにおいて動作するプロセッサによって、Frame Bufferデバイスによって提供されるインターフェースから入手され、Frame Bufferデバイスは、ノーマルモードにおいて動作する。
【００６２】
すなわち、アプリケーションプログラムのためにプロセッサによって実行される応答処理が、ユーザへの表示を実行するシナリオに適用される時に、データ情報は、具体的にはFrame Buffer情報を指す。セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリ内にFrame Buffer情報を読み取る。Frame Buffer情報は、Frame Bufferデバイスによって提供されるインターフェースからプロセッサによって入手される。本発明のこの実施形態において、Frame Bufferデバイスの動作モードは、変更されない。Frame Bufferデバイスは、まだノーマルモードにおいて動作し、Frame Bufferデバイスのドライバコードも、ノーマルモードにおいて実行される。
【００６３】
本発明のいくつかの実施形態において、セキュアモードにおいて動作するプロセッサがステップ103においてセキュアモードにおいて動作するメモリ内にデータ情報を読み取ることは、具体的には以下のステップを含むことができる。
【００６４】
ステップC2  セキュアモードにおいて動作するプロセッサが、入力デバイス内にユーザによって入力されるユーザデータを入手し、入力デバイスは、ノーマルモードにおいて動作する。
【００６５】
ステップC3  セキュアモードにおいて動作するプロセッサが、結果データを入手するために入手されたユーザデータに対して検証処理を実行する。
【００６６】
ステップC4  セキュアモードにおいて動作するプロセッサが、セキュアモードにおいて動作するメモリ内に結果データを読み取る。
【００６７】
すなわち、アプリケーションプログラムのためにプロセッサによって実行される応答処理が、ユーザ入力が要求されるシナリオに適用される時に、データ情報は、具体的には、プロセッサがユーザによって入力されたユーザデータに対して検証処理を実行した後にプロセッサによって入手される結果データである。セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリ内に結果データを読み取る。結果データは、プロセッサが入力デバイスから入手されたユーザデータに対して検証処理を実行した後にプロセッサによって入手される。本発明のこの実施形態において、入力デバイスの動作モードは、変更されない。入力デバイスは、まだノーマルモードにおいて動作し、入力デバイスのドライバコードも、ノーマルモードにおいて実行される。
【００６８】
104  セキュアモードにおいて動作するプロセッサが、セキュアモードにおいて動作するメモリ内に記憶されたデータ情報に従って動作するように、アクセスされるデバイスを制御する。
【００６９】
アクセスされるデバイスは、ノーマルモードにおいて動作し、アクセスされるデバイスは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答し、アクセスされるデバイスは、アプリケーションプログラムによって呼び出された後に動作する必要があるデバイスである。
【００７０】
本発明のこの実施形態において、セキュアモードにおいて動作するプロセッサが、セキュアモードにおいて動作するメモリ内にデータ情報を読み取った後に、プロセッサは、セキュアモードにおいて動作するメモリ内に読み取られたデータ情報を使用することによって、アプリケーションプログラムのために応答処理を実行する。すなわち、セキュアモードにおいて動作するプロセッサは、データ情報に従って動作するように、アクセスされるデバイスを制御する。アクセスされるデバイスは、セキュア処理要求を送るアプリケーションプログラムによって呼び出された後に動作する必要があるデバイスである。異なるアプリケーションプログラムがある時に、プロセッサは、異なる処理機能を実行する必要がある。たとえば、いくつかのアプリケーションシナリオにおいて、アプリケーションプログラムが、ユーザへの表示を実行する処理機能を実行するようにプロセッサに要求する場合に、アクセスされるデバイスは、Display Unitまたはディスプレイを指す。いくつかのアプリケーションシナリオにおいて、アプリケーションプログラムが、ユーザ入力の処理機能を実行するようにプロセッサに要求する場合に、アクセスされるデバイスは、入力デバイスを指すことができる。プロセッサによって呼び出されるアクセスされるデバイスが、セキュアモードにおいて動作するプロセッサが異なる処理機能を実行する時に変化することを理解されたい。本発明のこの実施形態において、アクセスされるデバイスは、ノーマルモードにおいて動作し、アクセスされるデバイスのドライバコードも、ノーマルモードにおいて実行される。本発明のこの実施形態において、アクセスされるデバイスをセキュアモードにおいてもう一度実施する必要も、アクセスされるデバイスをセキュアモードに移植する必要もない。その代わり、相互作用セキュリティは、アクセスされるデバイスがノーマルモードにおいて動作する時に実施される。以下では、説明のために例を使用する。
【００７１】
本発明のいくつかの実施形態において、アクセスされるデバイスがDisplay Unitである時に、ステップC1の実施シナリオにおいて、セキュアモードにおいて動作するプロセッサが、ステップ104においてセキュアモードにおいて動作するメモリ内に記憶されたデータ情報に従って動作するようにアクセスされるデバイスを制御することは、具体的には以下のステップを含むことができる。
【００７２】
ステップD1  セキュアモードにおいて動作するプロセッサが、セキュアモードにおいて動作するメモリから読み取られたFrame Buffer情報を表示するようにDisplay Unitを制御し、Display Unitは、ノーマルモードにおいて動作し、Display Unitは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する。
【００７３】
すなわち、アプリケーションプログラムのためにプロセッサによって実行される応答処理が、ユーザへの表示を実行するシナリオに適用される時に、データ情報は、具体的にはFrame Buffer情報を指す。プロセッサは、アプリケーションプログラムに従って、呼び出される必要があるアクセスされるデバイスがDisplay Unitであると判定し、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリから読み取られたFrame Buffer情報を表示するようにDisplay Unitを制御する。Display Unitがノーマルモードにおいて動作するので、Display Unitのドライバコードも、ノーマルモードにおいて実行される。本発明のこの実施形態において、Display Unitをセキュアモードにおいてもう一度実施する必要も、Display Unitをセキュアモードに移植する必要もない。その代わり、Display Unitが、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答することが、セットされる。プロセッサがノーマルモードにおいて動作する場合には、Display Unitは、プロセッサの制御を拒絶する。
【００７４】
さらに、本発明のいくつかの実施形態において、セキュアモードにおいて動作するプロセッサが、ステップD1においてセキュアモードにおいて動作するメモリから読み取られたFrame Buffer情報を表示するようにDisplay Unitを制御することは、具体的には以下のステップを含むことができる。
【００７５】
ステップD11  セキュアモードにおいて動作するプロセッサが、フォアグラウンドレイヤおよびバックグラウンドレイヤを表示するようにDisplay Unitを制御し、Frame Buffer情報は、フォアグラウンドレイヤにおいて表示され、バックグラウンドは、バックグラウンドレイヤにおいて表示され、フォアグラウンドレイヤおよびバックグラウンドレイヤは、異なるカラーにおいて表示される。
【００７６】
すなわち、プロセッサが、Frame Buffer情報を表示するようにDisplay Unitを制御する時に、セキュアモードにおいて動作するプロセッサは、具体的には、2つのレイヤすなわちフォアグラウンドレイヤおよびバックグラウンドレイヤを表示するようにDisplay Unitを制御することができる。Frame Buffer情報は、フォアグラウンドレイヤにおいて表示され、バックグラウンドは、バックグラウンドレイヤにおいて表示され、フォアグラウンドレイヤおよびバックグラウドレイヤのカラーは、異なる。悪意のある攻撃者が、セキュアモードにおいて動作するメモリから読み取られたFrame Buffer情報を上書きするためにディスプレイデータを捏造する場合に、悪意のある攻撃者は、悪意のある攻撃者がフォアグラウンドレイヤにおけるFrame Buffer情報を上書きする形において、プロセッサがフォアグラウンドレイヤおよびバックグラウンドレイヤを表示するようにDisplay Unitを制御する情報を入手することができないので、上書きの後のフォアグラウンドレイヤおよびバックグラウンドレイヤのカラーは、上書きの前の元のカラーとは異なる。ユーザは、フォアグラウンドレイヤおよびバックグラウンドレイヤに従って、Frame Buffer情報が上書きされたと判定することができる。
【００７７】
本発明のいくつかの実施形態において、アクセスされるデバイスがDisplay Unitである時に、ステップC2からステップC4の実施シナリオにおいて、セキュアモードにおいて動作するプロセッサが、ステップ104においてセキュアモードにおいて動作するメモリ内に記憶されたデータ情報に従って動作するようにアクセスされるデバイスを制御することは、具体的には以下のステップを含むことができる。
【００７８】
D2  セキュアモードにおいて動作するプロセッサが、セキュアモードにおいて動作するメモリから読み取られた結果データを表示するようにDisplay Unitを制御し、Display Unitは、ノーマルモードにおいて動作し、Display Unitは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する。
【００７９】
すなわち、アプリケーションプログラムのためにプロセッサによって実行される応答処理が、ユーザ入力が要求されるシナリオに適用される時に、データ情報は、具体的には検証処理を実行した後にプロセッサによって入手される結果データを指す。プロセッサは、アプリケーションプログラムに従って、呼び出される必要があるアクセスされるデバイスがDisplay Unitであると判定し、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリから読み取られた結果データを表示するようにDisplay Unitを制御する。Display Unitがノーマルモードで動作するので、Display Unitのドライバコードも、ノーマルモードにおいて実行される。本発明のこの実施形態において、Display Unitをセキュアモードにおいてもう一度実施する必要も、Display Unitをセキュアモードに移植する必要もない。実際に、Display Unitが、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答することが、セットされる。プロセッサがノーマルモードにおいて動作する場合には、Display Unitは、プロセッサの制御を拒絶する。
【００８０】
本発明のこの実施形態の前述の説明から、ノーマルモードにおいて動作するアプリケーションプログラムが、プロセッサにセキュア処理要求を送り、プロセッサは、セキュア処理要求を受け取る時にノーマルモードにおいて動作し、次に、プロセッサは、セキュア処理要求に従ってノーマルモードからセキュアモードに切り替え、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリ内にデータ情報を読み取り、最後に、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリ内に記憶されたデータ情報に従って動作するようにアクセスされるデバイスを制御し、アクセスされるデバイスは、ノーマルモードにおいて動作し、アクセスされるデバイスは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答することがわかる。本発明のこの実施形態において、アプリケーションプログラムの元の動作モードおよびアクセスされるデバイスの元の動作モードは、変更されず、アプリケーションプログラムおよびアクセスされるデバイスは、まだノーマルモードにおいて動作する。しかし、プロセッサは、アプリケーションプログラムによって送られたセキュア処理要求に従って、ノーマルモードからセキュアモードに切り替える。セキュアモードにおいて動作するプロセッサは、セキュア処理要求を解析した後にデータ情報を生成し、セキュアモードにおいて動作するメモリ内にデータ情報を読み取る。したがって、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリにアクセスすることができる。アクセスされるデバイスが、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答するので、セキュアモードにおいて動作する時に限って、プロセッサは、動作するようにアクセスされるデバイスを制御することができる。したがって、相互作用プロセスにおけるセキュリティが、本発明のこの実施形態において保証され得る。アプリケーションプログラムとアクセスされるデバイスとの両方がノーマルモードにおいて動作するので、アプリケーションプログラムを駆動するドライバコードおよびアクセスされるデバイスを駆動するドライバコードは、まだノーマルモードにおいて動作し、ドライバコードをセキュアモードにおいてもう一度実施する必要はない。したがって、サードパーティによって提供される元のドライバコードに頼る必要も、アプリケーションプログラムとアクセスされるデバイスとの両方をセキュアモードに移植する必要もない。したがって、本発明のこの実施形態において、すべてのアクセスされるデバイスが、サポートされ得、トラステッドコンピューティングベースが、従来技術と比較して縮小され得る。
【００８１】
本発明の実施形態における前述の解決策をよりよく理解し、実施するために、以下では、詳細な説明の例として、対応するアプリケーションシナリオを使用する。
【００８２】
以下では、本発明の実施形態において提供されるセキュア相互作用方法が、説明のための例としてTrustZone技術シナリオに適用されるシナリオを使用する。図2を参照すると、図2は、本発明の実施形態によるセキュア相互作用デバイスのハードウェアアーキテクチャのブロック図である。ハードウェアアーキテクチャ図の技術は、TrustZone技術仕様を満足する。図2内に示されているように、セキュアモードとノーマルモードとの間の分離が、提供される。セキュアモードにおいて、ノーマルモードにおける悪意のあるプログラムは、セキュアモードにおいて保護された構成要素、たとえばセキュアメモリまたはディスプレイ(Display Unit)にアクセスすることができない。図2は、システムオンチップ(英語のフルネームはSystem On Chip、英語の略語はSoC)と、TrustZone技術においてSoCに接続された周辺機器とを示す。SoCは、コアプロセッサ(英語のフルネームはCore)、直接メモリアクセス(英語のフルネームはDirect Memory Access、英語の略語はDMA)、セキュアランダムアクセスメモリ(英語の略語はSecure RAM)、ブートに使用されるセキュア読取専用メモリ(英語の略語はSecure Boot ROM)、ノーマルモードおよびセキュアモードにおいて動作することができ、TrustZoneのサポートと一体化された割込みコントローラ(英語のフルネームはGeneric Interrupt Controller、英語の略語はGIC)、TrustZoneアドレス空間コントローラ(英語のフルネームはTrustZone Address Space Controller、英語の略語はTZPC)、TrustZone保護コントローラ(英語のフルネームはTrustZone Protection Controller、英語の略語はTZPC)、メモリコントローラ(英語のフルネームはDynamic Memory Controller、英語の略語はDMC)、ダイナミックランダムアクセスメモリ(英語の略語はDRAM)、および類似物を含む。
【００８３】
図2内に示されたコアプロセッサは、本発明の前述の実施形態において説明されたプロセッサである。以下では、コアプロセッサは、まだプロセッサと呼ばれる。SoC内の構成要素は、Advanced eXtensible Interfaceバス(英語のフルネームはAdvanced eXtensible Interface Bus、英語の略語はAXI Bus)を使用することによってお互いに接続される。SoCは、High-Speed eXtensible Interface to High-Speed Peripheral Bus Bridge(英語のフルネームはAdvanced eXtensible Interface To Advanced Peripheral Bus Bridge、英語の略語はAXI2APB Bridge)を使用することによって周辺機器と通信する。AXI2APB bridgeは、周辺機器に現在アクセスするトランザクションのセキュリティ属性を知覚することができる。ノーマルモードにおけるトランザクションが、その属性にセキュアがセットされた周辺機器にアクセスする時に、AXI2APB Bridgeは、そのアクセスを拒絶する。セキュアRAMは、ソフトウェアおよびハードウェア機構を使用することによってセキュアROMから分離され、セキュアオペレーティングシステムを記憶するのに使用される。コアプロセッサは、2つのモードすなわち、セキュアモードおよびノーマルモードにおいて動作する。TZPCは、周辺機器のセキュリティ属性をセットするのに使用される。具体的には、TZPCは、Display Unitの属性およびセキュリティインジケータデバイスの属性にセキュアをセットすることができ、その結果、ノーマルモードにおけるソフトウェアが、これらのデバイスにアクセスできなくなる。TZASCは、DRAMのセキュリティ属性分割を制御する責任を負う。TZASCは、DRAの一部をセキュアにセットし、DRAMの残りの部分を非セキュアにセットすることができる。非セキュアモードにおけるプロセッサが、セキュアメモリへのアクセス要求を開始する場合に、その要求は拒絶される。ノーマルモードにおけるDMAによるセキュアメモリへのアクセスは、拒絶される。この形において、セキュアメモリが、ノーマルモードにおけるソフトウェ
アまたはハードウェアによってアクセスされないことが保証される。割込みコントローラは、すべての割込み情報を制御する責任を負う。割込みコントローラは、いくつかの割込みをセキュアにセットし、いくつかの割込みをノーマルにセットし、具体的には、LED表示デバイスの割込みをセキュアにセットすることができる。この形において、セキュアモードにおけるソフトウェアだけが、LED表示デバイスの割込み情報を受け取り、処理することができる。したがって、ノーマルモードにおけるマルウェアは、LED表示デバイスに関する情報を入手することができない。
【００８４】
図2内に示されたハードウェア構造に関して、セキュア相互作用方法は、具体的には以下のステップを含むことができる。
【００８５】
ステップS01  プロセッサがシステムを安全に起動し、環境設定を実行する。
【００８６】
プロセッサは、まずオペレーティングシステムを開始し、その後、セキュアモードに入る。セキュアモードにおいて、プロセッサは、モニタモードおよびセキュアモードにおけるコードおよび環境に対する初期化セッティングを実行し、TZPCを使用することによって、LED表示デバイスを、セキュアモードにおいて動作するプロセッサによってのみアクセス可能にセットする。この場合において、すべてのメモリは、セキュアモードにある。次に、ノーマルモードにおいて走行するシステムイメージが、メモリの指定された空間をイメージシステムに割り振り、メモリのこの部分をノーマルモードにセットし、その後、メモリのこの部分をノーマルモードにおいて走行するシステムイメージに転送するために、メモリにロードされる。
【００８７】
ステップS02  先を見越してセキュアモードに切り替えるためにノーマルモードにおいてセキュア動作を実行するプロセスに関して、図3-aを参照されたい。図3-aは、本発明の実施形態によるセキュア相互作用方法のアプリケーションシナリオの概略図である。<1>、<2>、<3>、<4>、および<5>の実施内容は、次の通りである。<1>ノーマルモードにおいて動作するアプリケーションプログラムが、セキュア処理要求をTrustZoneドライバデバイス(英語のフルネームはDriver)に送る。<2>TrustZoneドライバが、要求パラメータと現在のFrame Buffer情報とを入手し、プロセッサが、セキュアモードに切り替える。<3>、<4>、および<5>に関して、アクセスされるデバイスがLED表示デバイスである例において、セキュアモードにおいて動作するプロセッサは、現在の環境がセキュア状態にあることをユーザが知覚することを可能にするためにLED表示デバイスを光らせ、その後、プロセッサに転送されるFrame Buffer情報に対応するメモリをセキュアメモリとしてセットし、Display Unitをセキュアモードにおいて動作するプロセッサによってのみ動作可能にセットする。この場合において、ユーザは、セキュア相互作用動作を実行することができる。
【００８８】
ステップS03  インターフェースディスプレイが、セキュアモードにおいて要求される時に、セキュアモードにおいて動作するプロセッサは、2つのレイヤすなわちフォアグラウンドレイヤおよびバックグラウンドレイヤを描画する。フォアグラウンドレイヤは、テキストまたはキーなどのFrame Buffer情報を表示するのに使用され、バックグラウンドレイヤは、セキュアディスプレイバックグラウンドによって覆われる。2つのレイヤは、ユーザが2つのレイヤを区別するのを助けるために、異なる色調において表示される。バックグラウンドカラーが、Xとして表示され、フォアグラウンドカラーが、Yとして表示されると仮定する。この場合において、LED表示デバイスは、XカラーおよびYカラーにおいて循環して点滅する。LED表示デバイスがフォアグラウンドカラーおよびバックグラウンドカラーと同一のカラーにおいて点滅するのを見る時に、ユーザは、ディスプレイがセキュアであり、正しいと判定することができる。たとえば、攻撃者は、ユーザをだますためにディスプレイレイヤを覆うことができる。ディスプレイレイヤが覆われる場合に、攻撃者は、フォアグラウンドレイヤおよびバックグラウンドレイヤのカラーを知る必要がある。覆われた後のカラーが、覆われる前のフォアグラウンドカラーおよびバックグラウンドカラーと異なる場合に、ユーザは、ディスプレイレイヤが覆われていることをたやすく知る。
【００８９】
ステップS04  ユーザが、セキュアモードにおける入力動作を実行する必要がある時には、図3-bを参照されたい。図3-bは、本発明の実施形態によるセキュア相互作用方法の別のアプリケーションシナリオの概略図である。<1>および<2>の実施内容は、次の通りである。<1>ユーザによって入力された情報は、タッチ入力モジュール(Touch Input)などの入力モジュールによって入手され、ノーマルモードにおいて入力ドライバによって処理され、その後、ノーマルモードにおいてTrustZoneドライバによって読み取られる。<2>TrustZoneドライバは、読み取られたユーザデータをセキュアモードにおいて動作するプロセッサに転送し、セキュアモードにおいて動作するプロセッサは、対応する論理処理を実行する。
【００９０】
前述の説明されたアプリケーションシナリオは、主に2つの態様すなわち、セキュア状態の識別および検証と、信頼されないドライバが使用される時のデータセキュリティ保証とに関する。
【００９１】
セキュア状態の識別および検証は、LED表示デバイスおよびセキュアモードにおいて動作するプロセッサによって共同で完了される。一態様によれば、LED表示デバイスが光らせられる場合に、これは、現在の環境がセキュア状態にあることを示し、あるいは、LED表示デバイスが光らせられない場合に、これは、現在の環境がノーマル状態にあることを示す。LED表示デバイスがノーマルモードにおいてアクセスされまたは動作され得ないので、LED表示デバイスのセキュリティおよび正しさが保証される。第2の態様によれば、インターフェースがセキュアモードにおいて表示される時に、ディスプレイレイヤは、フォアグラウンドレイヤおよびバックグラウンドレイヤを含む。2つのレイヤは、LED表示デバイスによって循環的に表示されるカラーと同一であるランダムカラーにおいて表示される。
【００９２】
本発明のこの実施形態において提供されるセキュア相互作用方法において、2タイプの悪意のある攻撃挙動が、成功裡に防御され得、以下において例を使用することによって別々に説明される。第1に、ディスプレイコントローラが、Frame Buffer情報の複数の要素に対応する場合に、セキュアモードにおいて動作するメモリ内に記憶されるFrame Bufferは、複数のFrame Bufferのうちの1つにすぎない可能性がある。ディスプレイドライバコードは、ノーマルモードにおいて走行し、セキュアFrame Bufferは、上書きされる可能性が高いので、攻撃者は、ユーザをだますためにディスプレイデータを捏造することができ、たとえば、攻撃者は、注意深い構築によって機密データを上書きする。第2に、ノーマルモードにおいて動作する悪意のあるアプリケーションプログラムによってセキュアモードにおいて動作するプロセッサに転送されるFrame Bufferは、無効なパラメータである可能性がある。第1のタイプの攻撃に関して、ノーマルモードにおけるアプリケーションプログラムが、セキュアモードにおける現在のディスプレイデータおよびLED表示デバイスの現在の状態を知ることができないので、セキュアモードにおけるディスプレイデータが上書きされた後に、ユーザによって見られるスクリーンディスプレイカラー(フォアグラウンドカラーおよびバックグラウンドカラー)は、LED表示デバイスが点滅するカラーとは異なる可能性がある。この場合において、ユーザは、セキュアFrame Bufferが上書きされていると判定することができる。攻撃を成功裡に起動することのむずかしさをさらに高めるために、フォアグラウンドカラーおよびバックグラウンドカラーは、時間期間のインターバルにおいてランダムに変更され得る。第2のタイプの攻撃に関して、サービス拒絶効果だけが生成され、ユーザデータは、漏らされない。LED表示デバイスは、セキュリティインジケータとして使用され、1つのインジケータを有する周辺機器とすることができ、このインジケータが、フォアグラウンドカラーおよびバックグラウンドカラーを表示するために循環して点滅することができ、あるいは、LED表示デバイスは、少なくとも2つのインジケータを有する周辺機器とすることができ、その結果、一方のインジケータが、現在のバックグラウンドカラーを表示でき、別のインジケータが現在のフォアグラウンドカラーを表示するようになる。
【００９３】
データセキュリティは、信頼されないドライバが使用される時に保証される。タッチイベントに関して、ユーザがタップする位置が、ノーマルモードにおいて入手され得る。しかし、現在のディスプレイ内容は、ノーマルモードにおいて知られ得ず、表示されるキーボードは、通常は置換される。この形において、タップする位置が知られる場合であっても、有用な情報は、入手され得ず、データは、まだセキュアである。本発明のこの実施形態において、データを表示する時に、Display Unitは、DMAを使用することによってFrame Bufferにアクセスする。TrustZoneベースの環境において、セキュアメモリは、ノーマルモードにおいてDMAによってもアクセスされ得ない。したがって、この場合において、Display Unitは、さらに、セキュアモードにおいて動作するプロセッサによってのみアクセス可能にセットされる必要がある。DMAが、ノーマルモードにおいて動作する周辺機器によって開始される場合には、ノーマルモードにおいて動作するメモリだけが、アクセスされ得る。反対に、DMAが、セキュアモードにおいて動作する周辺機器によって開始される場合には、すべてのメモリが、アクセスされ得る。Display Unitは、Frame Bufferメモリ情報をディスプレイメモリにコピーするためにDMA動作を実行することによって表示を実施する必要がある。Frame Bufferがその中に読み取られるメモリは、セキュアモードにおいて動作する。Display Unitは、DMAを使用することによってセキュアモードにおいて動作するメモリにアクセスした後に、正しいデータを読み取り、データを表示することができる。しかし、ディスプレイドライバコードがノーマルモードにおいて走行するので、走行中に、コードが、Display Unitのなんらかの状態を変更する必要がある可能性がある。そのようなアクセスに関して、例外が、セキュリティパミッションに起因してプロセッサ内で発生し、プロセッサは、モニタモードにおいてトラップされる。図3-c内に示されているように、図3-cは、<2>および<3>が<1>の代わりに実行される必要がある、本発明の実施形態によるモニタモードのアプリケーションシナリオの概略図である。ハンドラ(英語のフルネームはhandler)モジュールが、Display Unit上で対応する動作を完了するために、モニタモードにおいて呼び出され、その後、プロセッサは、ディスプレイドライバコードを実行し続けるためにノーマルモードに戻る。
【００９４】
以下では、個人識別番号(英語のフルネームはPersonal Identification Number、英語の略語はPIN)が支払いのために携帯電話機内に入力される例を使用する。図4を参照すると、図4は、本発明の実施形態によるセキュア相互作用方法の別のアプリケーションシナリオの概略図である。
【００９５】
1  ユーザが、ノーマルモードにおいて共通のアプリケーションプログラムを使用することによって購入挙動を実行し、支払いの準備をする。この場合において、支払い情報は、生成され、PINを入力することによってユーザによって確認される必要がある。この場合において、ノーマルモードにおいて動作するアプリケーションプログラムは、セキュア処理要求を開始し、プロセッサは、ノーマルモードからセキュアモードに切り替える。
【００９６】
2  セキュアモードに入った後に、プロセッサは、なんらかのセキュリティセッティングを実行する。この場合において、LED表示デバイスが、現在の環境がセキュア状態にあることをユーザに通知するために光らされる。LED表示デバイスが光らされていないことに気付く時に、ユーザは、現在の環境がセキュアモードではないと判定することができ、ユーザは、動作を取り消すことができる。
【００９７】
3  セキュアモードにおいて現れるディスプレイ情報は、支払い情報が表示され、PINがその中で入力される必要があるインターフェースがポップアップすることである。プロセッサは、2つのレイヤすなわちフォアグラウンドレイヤおよびバックグラウンドレイヤを描画する。2つのレイヤは、カラーAおよびBにおいて表示される。この場合において、LED表示デバイスは(LED表示デバイスは1つのインジケータだけを有すると仮定される)、2つのカラーAおよびBを循環して表示する。フォアグラウンドレイヤおよびバックグラウンドレイヤが、LED表示デバイスによって表示されるカラーと同一のカラーであることを見る時に、ユーザは、現在のディスプレイ情報が信頼されると判定することができる。ユーザが、スクリーン上に表示される部分的な内容のカラーが2つのレイヤのカラーとは異なることに気付く場合に、ユーザは、ディスプレイ情報が改竄されていると判定することができ、ユーザは、さらなる動作を取り消すことができる。
【００９８】
4  ユーザが、現在の情報が信頼される状態にあると判定した後に、ユーザは、PINを入力する動作を開始することができる。PIN入力情報は、ノーマルモードにおいて動作する入力モジュールによって入手され、TrustZoneドライバによってセキュアモードにおいて動作するプロセッサに送られる。セキュアモードにおいて動作するプロセッサは、データを処理し、処理されたデータを表示することができる。
【００９９】
5  ユーザが入力を完了した後に、セキュアモードにおいて動作するプロセッサは、ユーザによって入力されたユーザデータに対して検証処理を実行し、LED表示デバイスの電源を切り、ノーマルモードにおけるアプリケーションプログラムに結果データを返すためにノーマルモードに切り替え、セキュア動作トランザクションが終了する。
【０１００】
前述の例から、本発明のこの実施形態において提供されるセキュア相互作用方法において、できる限り小さいトラステッドコンピューティングベースを使用することによって分離された環境内でデータセキュリティを保証するために、ユーザ動作が、分離によって実行されることがわかる。前述のプロセスにおいて、ノーマルモードにおけるドライバデバイスの既存コードが再利用され、データセキュリティが保証される。さらに、セキュリティインジケータおよびDisplay Unitのディスプレイは、現在の環境における現在のセキュア状態を判定するために組み合わされ得る。
【０１０１】
説明を短くするために、前述の方法実施形態が、一連のアクションとして表されたことに留意されたい。しかし、当業者は、本発明によれば、いくつかのステップが他のシーケンス内で実行されまたは同時に実行され得るので、本発明が説明されたアクションシーケンスに限定されないことを了解する。さらに、当業者は、本明細書内で説明されるすべての実施形態が、実施形態の例であり、関連するアクションおよびモジュールが、必ずしも本発明にとって必須ではないことをも了解する。
【０１０２】
本発明の実施形態の前述の解決策をよりよく実施するために、以下では、前述の解決策を実施するのに使用される関連する装置をさらに提供する。
【０１０３】
図5-a内に示されているように、本発明のこの実施形態において提供されるセキュア相互作用デバイス500は、プロセッサ501、メモリ502、およびアクセスされるデバイス503を含むことができる。
【０１０４】
プロセッサ501は、アプリケーションプログラムによって送られたセキュア処理要求を受け取るように構成され、アプリケーションプログラムは、ノーマルモードにおいて動作し、プロセッサは、セキュア処理要求を受け取る時にノーマルモードにおいて動作する。
【０１０５】
プロセッサ501は、セキュア処理要求に従ってノーマルモードからセキュアモードに切り替えるように構成される。
【０１０６】
セキュアモードにおいて動作するプロセッサ501は、セキュアモードにおいて動作するメモリ502内にデータ情報を読み取るように構成され、データ情報は、セキュアモードにおいて動作するプロセッサがセキュア処理要求を解析した後に生成するデータである。
【０１０７】
セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリ内に記憶されたデータ情報に従って動作するように、アクセスされるデバイス503を制御するように構成され、アクセスされるデバイスは、ノーマルモードにおいて動作し、アクセスされるデバイスは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答し、アクセスされるデバイスは、アプリケーションプログラムによって呼び出された後に動作する必要があるデバイスである。
【０１０８】
本発明のいくつかの実施形態において、セキュアモードにおいて動作するプロセッサ501は、プロセッサ501がセキュア処理要求に従ってノーマルモードからセキュアモードに切り替えた後に、セキュアモードにおいて動作するメモリからセキュリティインジケータを読み取るようにさらに構成される。
【０１０９】
セキュアモードにおいて動作するプロセッサ501は、読み取られたセキュリティインジケータに従って、現在の環境がセキュア状態にあることをユーザに通知するようにさらに構成される。
【０１１０】
本発明のいくつかの実施形態において、図5-b内に示されているように、セキュア相互作用デバイス500は、セキュリティ表示デバイス504をさらに含む。
【０１１１】
セキュアモードにおいて動作するプロセッサ501は、読み取られたセキュリティインジケータに従って、動作するようにセキュリティ表示デバイス504を制御するように具体的に構成され、セキュリティ表示デバイス504は、セキュアモードにおいて動作し、セキュリティ表示デバイスは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する。
【０１１２】
本発明のいくつかの実施形態において、セキュアモードにおいて動作するプロセッサ501は、セキュアモードにおいて動作するメモリ502から読み取られたセキュリティインジケータを表示するようにDisplay Unitを制御するように具体的に構成され、Display Unitは、ノーマルモードにおいて動作し、Display Unitは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する。
【０１１３】
本発明のいくつかの実施形態において、セキュアモードにおいて動作するプロセッサ501は、セキュアモードにおいて動作するメモリ502内にFrame Buffer情報を読み取るように具体的に構成され、Frame Buffer情報は、セキュアモードにおいて動作するプロセッサによって、Frame Bufferデバイスによって提供されるインターフェースから入手され、Frame Bufferデバイスは、ノーマルモードにおいて動作する。
【０１１４】
本発明のいくつかの実施形態において、アクセスされるデバイス503は、Display Unitであり、セキュアモードにおいて動作するプロセッサ501は、セキュアモードにおいて動作するメモリから読み取られたFrame Buffer情報を表示するようにDisplay Unitを制御するように具体的に構成され、Display Unitは、ノーマルモードにおいて動作し、Display Unitは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する。
【０１１５】
本発明のいくつかの実施形態において、セキュアモードにおいて動作するプロセッサ501は、フォアグラウンドレイヤおよびバックグラウンドレイヤを表示するようにDisplay Unitを制御するように具体的に構成され、Frame Buffer情報は、フォアグラウンドレイヤにおいて表示され、バックグラウンドは、バックグラウンドレイヤにおいて表示され、フォアグラウンドレイヤおよびバックグラウンドレイヤは、異なるカラーにおいて表示される。
【０１１６】
本発明のいくつかの実施形態において、セキュアモードにおいて動作するプロセッサ501は、ノーマルモードにおいて動作する入力デバイス内にユーザによって入力されるユーザデータを入手し、結果データを入手するために入手されたユーザデータに対して検証処理を実行し、セキュアモードにおいて動作するメモリ内に結果データを読み取るようにさらに構成される。
【０１１７】
本発明のいくつかの実施形態において、アクセスされるデバイス503は、Display Unitであり、セキュアモードにおいて動作するプロセッサ501は、セキュアモードにおいて動作するメモリから読み取られた結果データを表示するようにDisplay Unitを制御するように具体的に構成され、Display Unitは、ノーマルモードにおいて動作し、Display Unitは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答する。
【０１１８】
本発明のいくつかの実施形態において、プロセッサ501は、アクセスされるデバイス503をセキュアモードにおいて動作するプロセッサによってアクセス可能にセットするようにさらに構成される。
【０１１９】
プロセッサ501は、ドライバコードがノーマルモードにおいて動作するアプリケーションプログラムを開始し、実行するようにするために、ノーマルモードにおいて動作するメモリ502にオペレーティングシステムをロードするようにさらに構成される。
【０１２０】
本発明のこの実施形態の前述の説明から、ノーマルモードにおいて動作するアプリケーションプログラムが、プロセッサにセキュア処理要求を送り、プロセッサは、セキュア処理要求を受け取る時にノーマルモードにおいて動作し、次に、プロセッサは、セキュア処理要求に従ってノーマルモードからセキュアモードに切り替え、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリ内にデータ情報を読み取り、最後に、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリ内に記憶されたデータ情報に従って動作するようにアクセスされるデバイスを制御し、アクセスされるデバイスは、ノーマルモードにおいて動作し、アクセスされるデバイスは、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答することがわかる。本発明のこの実施形態において、アプリケーションプログラムの元の動作モードおよびアクセスされるデバイスの元の動作モードは、変更されず、アプリケーションプログラムおよびアクセスされるデバイスは、まだノーマルモードにおいて動作する。しかし、プロセッサは、アプリケーションプログラムによって送られたセキュア処理要求に従って、ノーマルモードからセキュアモードに切り替える。セキュアモードにおいて動作するプロセッサは、セキュア処理要求を解析した後にデータ情報を生成し、セキュアモードにおいて動作するメモリ内にデータ情報を読み取る。したがって、セキュアモードにおいて動作するプロセッサは、セキュアモードにおいて動作するメモリにアクセスすることができる。アクセスされるデバイスが、プロセッサがセキュアモードにおいて動作する時に限ってプロセッサの制御に応答するので、セキュアモードにおいて動作する時に限って、プロセッサは、動作するようにアクセスされるデバイスを制御することができる。したがって、相互作用プロセスにおけるセキュリティが、本発明のこの実施形態において保証され得る。アプリケーションプログラムとアクセスされるデバイスとの両方がノーマルモードにおいて動作するので、アプリケーションプログラムを駆動するドライバコードおよびアクセスされるデバイスを駆動するドライバコードは、まだノーマルモードにおいて動作し、ドライバコードをセキュアモードにおいてもう一度実施する必要はない。したがって、サードパーティによって提供される元のドライバコードに頼る必要も、アプリケーションプログラムとアクセスされるデバイスとの両方をセキュアモードに移植する必要もない。したがって、本発明のこの実施形態において、すべてのアクセスされるデバイスが、サポートされ得、トラステッドコンピューティングベースが、従来技術と比較して縮小され得る。
【０１２１】
さらに、説明された装置実施形態が、例にすぎないことに留意されたい。別々の部分として説明されたユニットが、物理的に別々であってもなくてもよく、ユニットとして表示された部分が、物理ユニットであってもなくてもよく、1つの位置に配置されても、複数のネットワークユニット上に分散されてもよい。モジュールの一部またはすべてが、実施形態の解決策の目的を達成するための実際の必要に従って選択され得る。さらに、本発明によって提供される装置実施形態の添付図面内で、モジュールの間の接続関係は、モジュールがお互いとの通信接続を有することを示し、通信接続は、1つまたは複数の通信バスまたは信号ケーブルとして具体的に実施され得る。当業者は、創作的労力を伴わずに本発明の実施形態を理解し、実施することができる。
【０１２２】
前述の実施の形の説明に基づいて、当業者は、本発明が、必要な普遍的なハードウェアに加えてソフトウェアによって、または専用集積回路、専用CPU、専用メモリ、専用構成要素、および類似物を含む専用ハードウェアによって実施され得ることを明瞭に理解することができる。一般に、コンピュータプログラムによって実行され得るすべての機能は、対応するハードウェアを使用することによって簡単に実施され得る。さらに、同一の機能を達成するのに使用される特定のハードウェア構造は、様々な形態を有し、たとえば、アナログ回路、デジタル回路、専用回路、または類似物の形であるものとすることができる。しかし、本発明に関して、ソフトウェアプログラム実施態様が、ほとんどの場合においてよりよい実施の形である。そのような理解に基づいて、本質的に本発明の技術的解決策または従来技術に寄与する部分は、ソフトウェア製品の形において実施され得る。ソフトウェア製品は、コンピュータの、フロッピーディスク、USBフラッシュドライブ、リムーバブルハードディスク、読取専用メモリ(ROM、Read-Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、磁気ディスク、または光ディスクなどの可読記憶媒体内に記憶され、本発明の実施形態において説明された方法を実行するようにコンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワークデバイス、および類似物とすることができる)に命令するための複数の命令を含む。
【０１２３】
前述の実施形態は、本発明の技術的解決策を説明することだけを意図され、本発明を限定することは意図されていない。本発明が、前述の実施形態に関連して詳細に説明されたが、当業者は、彼らが、本発明の実施形態の技術的解決策の範囲から逸脱せずに、前述の実施形態において説明された技術的解決策に対してそれでも変更を行うことができ、あるいは、そのいくつかの技術的特徴に対する同等の置換を行うことができることを理解する。
【符号の説明】
【０１２４】
500  セキュア相互作用デバイス
501  プロセッサ
502  メモリ
503  アクセスされるデバイス
504  セキュリティ表示デバイス
【図１】
0006571168.tif 000002
【図２】
0006571168.tif 000003
【図３−ａ】
0006571168.tif 000004
【図３−ｂ】
0006571168.tif 000005
【図３−ｃ】
0006571168.tif 000006
【図４】
0006571168.tif 000007
【図５−ａ】
0006571168.tif 000008
【図５−ｂ】
0006571168.tif 000009