[go: up one dir, main page]

JP6571168B2 - セキュア相互作用の方法およびデバイス - Google Patents

セキュア相互作用の方法およびデバイス Download PDF

Info

Publication number
JP6571168B2
JP6571168B2 JP2017510332A JP2017510332A JP6571168B2 JP 6571168 B2 JP6571168 B2 JP 6571168B2 JP 2017510332 A JP2017510332 A JP 2017510332A JP 2017510332 A JP2017510332 A JP 2017510332A JP 6571168 B2 JP6571168 B2 JP 6571168B2
Authority
JP
Japan
Prior art keywords
processor
secure
operating
mode
secure mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017510332A
Other languages
English (en)
Other versions
JP2017530450A (ja
Inventor
文浩 利
文浩 利
▲ユ▼斌 夏
▲ユ▼斌 夏
▲海▼波 ▲陳▼
▲海▼波 ▲陳▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2017530450A publication Critical patent/JP2017530450A/ja
Application granted granted Critical
Publication of JP6571168B2 publication Critical patent/JP6571168B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Description

本発明の実施形態は、通信の分野に関し、具体的には、セキュア相互作用(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 セキュリティ表示デバイス

Claims (20)

  1. プロセッサによって、アプリケーションプログラムによって送られたセキュア処理要求を受け取るステップであって、前記アプリケーションプログラムは、ノーマルモードにおいて動作し、前記アプリケーションプログラムは、セキュアモードにおいて動作せず、前記プロセッサは、前記セキュア処理要求を受け取る時に前記ノーマルモードにおいて動作する、ステップと、
    前記プロセッサによって、前記セキュア処理要求に従って前記ノーマルモードからセキュアモードに切り替えるステップと、
    前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作するメモリ内にデータ情報を書き込むステップであって、前記データ情報は、前記セキュアモードにおいて動作する前記プロセッサが前記セキュア処理要求を解析した後に生成するデータである、ステップと、
    前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリ内に記憶された前記データ情報に従って動作するように、アクセスされるデバイスを制御するステップであって、前記アクセスされるデバイスは、前記ノーマルモードにおいて動作し、前記アクセスされるデバイスは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされ、前記アクセスされるデバイスは、前記アプリケーションプログラムによって呼び出された後に動作する必要があるデバイスである、ステップと
    を含むセキュア相互作用方法。
  2. 前記プロセッサによって、前記セキュア処理要求に従って前記ノーマルモードからセキュアモードに切り替える前記ステップの後に、前記方法は、
    前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリからセキュリティインジケータを読み取るステップと、
    前記セキュアモードにおいて動作する前記プロセッサによって前記読み取られたセキュリティインジケータに従って、現在の環境がセキュア状態にあることをユーザに通知するステップと
    をさらに含む、請求項1に記載の方法。
  3. 前記セキュアモードにおいて動作する前記プロセッサによって前記読み取られたセキュリティインジケータに従って、現在の環境がセキュア状態にあることをユーザに通知する前記ステップは、
    前記セキュアモードにおいて動作する前記プロセッサによって前記読み取られたセキュリティインジケータに従って、動作するようにセキュリティ表示デバイスを制御するステップであって、前記セキュリティ表示デバイスは、前記セキュアモードにおいて動作し、前記セキュリティ表示デバイスは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる、ステップ
    を含む、請求項2に記載の方法。
  4. 前記セキュアモードにおいて動作する前記プロセッサによって前記読み取られたセキュリティインジケータに従って、現在の環境がセキュア状態にあることをユーザに通知する前記ステップは、
    前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリから読み取られた前記セキュリティインジケータを表示するようにDisplay Unitを制御するステップであって、前記Display Unitは、前記ノーマルモードにおいて動作し、前記Display Unitは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる、ステップ
    を含む、請求項2または3に記載の方法。
  5. 前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作するメモリにデータ情報を書き込む前記ステップは、
    前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリ内にFrame Buffer情報を書き込むステップであって、前記Frame Buffer情報は、前記セキュアモードにおいて動作する前記プロセッサによって、Frame Bufferデバイスによって提供されるインターフェースから入手され、前記Frame Bufferデバイスは、前記ノーマルモードにおいて動作する、ステップ
    を含む、請求項1から4のいずれか一項に記載の方法。
  6. 前記アクセスされるデバイスは、Display Unitであり、前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリ内に記憶された前記データ情報に従って動作するように、アクセスされるデバイスを制御する前記ステップは、
    前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリから読み取られたFrame Buffer情報を表示するように前記Display Unitを制御するステップであって、前記Display Unitは、前記ノーマルモードにおいて動作し、前記Display Unitは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる、ステップ
    を含む、請求項4または5に記載の方法。
  7. 前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリから読み取られた前記Frame Buffer情報を表示するように前記Display Unitを制御する前記ステップは、
    前記セキュアモードにおいて動作する前記プロセッサによって、フォアグラウンドレイヤおよびバックグラウンドレイヤを表示するように前記Display Unitを制御するステップであって、前記Frame Buffer情報は、前記フォアグラウンドレイヤにおいて表示され、バックグラウンドは、前記バックグラウンドレイヤにおいて表示され、前記フォアグラウンドレイヤおよび前記バックグラウンドレイヤは、異なるカラーにおいて表示される、ステップ
    を含む、請求項6に記載の方法。
  8. 前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作するメモリ内にデータ情報を書き込む前記ステップは、
    前記セキュアモードにおいて動作する前記プロセッサによって、ユーザによって入力デバイス内に入力されるユーザデータを入手するステップであって、前記入力デバイスは、前記ノーマルモードにおいて動作する、ステップと、
    前記セキュアモードにおいて動作する前記プロセッサによって、結果データを入手するために前記入手されたユーザデータに対して検証処理を実行するステップと、
    前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリ内に前記結果データを書き込むステップと
    を含む、請求項1から4のいずれか一項に記載の方法。
  9. 前記アクセスされるデバイスは、Display Unitであり、前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリ内に記憶された前記データ情報に従って動作するようにアクセスされるデバイスを制御する前記ステップは、
    前記セキュアモードにおいて動作する前記プロセッサによって、前記セキュアモードにおいて動作する前記メモリから読み取られた前記結果データを表示するように前記Display Unitを制御するステップであって、前記Display Unitは、前記ノーマルモードにおいて動作し、前記Display Unitは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる、ステップ
    を含む、請求項8に記載の方法。
  10. プロセッサによって、アプリケーションプログラムによって送られたセキュア処理要求を受け取る前記ステップの前に、前記方法は、
    前記プロセッサによって、前記アクセスされるデバイスを前記セキュアモードにおいて動作する前記プロセッサによってアクセス可能にセットするステップと、
    前記プロセッサによって、ドライバコードが前記ノーマルモードにおいて動作する前記アプリケーションプログラムを開始し、実行するようにするために、前記ノーマルモードにおいて動作する前記メモリにオペレーティングシステムをロードするステップと
    をさらに含む、請求項1から9のいずれか一項に記載の方法。
  11. プロセッサと、メモリと、アクセスされるデバイスとを含むセキュア相互作用デバイスであって、
    前記プロセッサは、アプリケーションプログラムによって送られたセキュア処理要求を受け取るように構成され、前記アプリケーションプログラムは、ノーマルモードにおいて動作し、前記アプリケーションプログラムは、セキュアモードにおいて動作せず、前記プロセッサは、前記セキュア処理要求を受け取る時に前記ノーマルモードにおいて動作し、 前記プロセッサは、前記セキュア処理要求に従って前記ノーマルモードからセキュアモードに切り替えるように構成され、
    前記セキュアモードにおいて動作する前記プロセッサは、前記セキュアモードにおいて動作する前記メモリ内にデータ情報を書き込むように構成され、前記データ情報は、前記セキュアモードにおいて動作する前記プロセッサが前記セキュア処理要求を解析した後に生成するデータであり、
    前記セキュアモードにおいて動作する前記プロセッサは、前記セキュアモードにおいて動作する前記メモリ内に記憶された前記データ情報に従って動作するように、前記アクセスされるデバイスを制御するように構成され、前記アクセスされるデバイスは、前記ノーマルモードにおいて動作し、前記アクセスされるデバイスは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされ、前記アクセスされるデバイスは、前記アプリケーションプログラムによって呼び出された後に動作する必要があるデバイスである
    セキュア相互作用デバイス。
  12. 前記セキュアモードにおいて動作する前記プロセッサは、前記プロセッサが前記セキュア処理要求に従って前記ノーマルモードから前記セキュアモードに切り替えた後に、前記セキュアモードにおいて動作する前記メモリからセキュリティインジケータを読み取るようにさらに構成され、
    前記セキュアモードにおいて動作する前記プロセッサは、前記読み取られたセキュリティインジケータに従って、現在の環境がセキュア状態にあることをユーザに通知するようにさらに構成される
    請求項11に記載のセキュア相互作用デバイス。
  13. 前記セキュア相互作用デバイスは、セキュリティ表示デバイスをさらに含み、
    前記セキュアモードにおいて動作する前記プロセッサは、前記読み取られたセキュリティインジケータに従って、動作するように前記セキュリティ表示デバイスを制御するように具体的に構成され、前記セキュリティ表示デバイスは、前記セキュアモードにおいて動作し、前記セキュリティ表示デバイスは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる
    請求項12に記載のセキュア相互作用デバイス。
  14. 前記セキュアモードにおいて動作する前記プロセッサは、前記セキュアモードにおいて動作する前記メモリから読み取られた前記セキュリティインジケータを表示するようにDisplay Unitを制御するように具体的に構成され、前記Display Unitは、前記ノーマルモードにおいて動作し、前記Display Unitは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる、請求項12または13に記載のセキュア相互作用デバイス。
  15. 前記セキュアモードにおいて動作する前記プロセッサは、前記セキュアモードにおいて動作する前記メモリ内にFrame Buffer情報を書き込むように具体的に構成され、前記Frame Buffer情報は、前記セキュアモードにおいて動作する前記プロセッサによって、Frame Bufferデバイスによって提供されるインターフェースから入手され、前記Frame Bufferデバイスは、前記ノーマルモードにおいて動作する、請求項11から14のいずれか一項に記載のセキュア相互作用デバイス。
  16. 前記アクセスされるデバイスは、Display Unitであり、前記セキュアモードにおいて動作する前記プロセッサは、前記セキュアモードにおいて動作する前記メモリから読み取られた前記Frame Buffer情報を表示するように前記Display Unitを制御するように具体的に構成され、前記Display Unitは、前記ノーマルモードにおいて動作し、前記Display Unitは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる、請求項15に記載のセキュア相互作用デバイス。
  17. 前記セキュアモードにおいて動作する前記プロセッサは、フォアグラウンドレイヤおよびバックグラウンドレイヤを表示するように前記Display Unitを制御するように具体的に構成され、前記Frame Buffer情報は、前記フォアグラウンドレイヤにおいて表示され、バックグラウンドは、前記バックグラウンドレイヤにおいて表示され、前記フォアグラウンドレイヤおよび前記バックグラウンドレイヤは、異なるカラーにおいて表示される、請求項16に記載のセキュア相互作用デバイス。
  18. 前記セキュアモードにおいて動作する前記プロセッサは、前記ノーマルモードにおいて動作する入力デバイス内にユーザによって入力されるユーザデータを入手し、結果データを入手するために前記入手されたユーザデータに対して検証処理を実行し、前記セキュアモードにおいて動作する前記メモリ内に前記結果データを書き込むようにさらに構成される、請求項11から14のいずれか一項に記載のセキュア相互作用デバイス。
  19. 前記アクセスされるデバイスは、Display Unitであり、前記セキュアモードにおいて動作する前記プロセッサは、前記セキュアモードにおいて動作する前記メモリから読み取られた前記結果データを表示するように前記Display Unitを制御するように具体的に構成され、前記Display Unitは、前記ノーマルモードにおいて動作し、前記Display Unitは、前記プロセッサに制御されることによって、前記プロセッサが前記セキュアモードにおいて動作する時に限って前記プロセッサに応答することが、セットされる、請求項18に記載のセキュア相互作用デバイス。
  20. 前記プロセッサは、前記アクセスされるデバイスを前記セキュアモードにおいて動作する前記プロセッサによってアクセス可能にセットするようにさらに構成され、
    前記プロセッサは、ドライバコードが前記ノーマルモードにおいて動作する前記アプリケーションプログラムを開始し、実行するようにするために、前記ノーマルモードにおいて動作する前記メモリにオペレーティングシステムをロードするようにさらに構成される
    請求項11から19のいずれか一項に記載のセキュア相互作用デバイス。
JP2017510332A 2014-08-21 2014-08-21 セキュア相互作用の方法およびデバイス Active JP6571168B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/084893 WO2016026113A1 (zh) 2014-08-21 2014-08-21 一种安全交互方法和设备

Publications (2)

Publication Number Publication Date
JP2017530450A JP2017530450A (ja) 2017-10-12
JP6571168B2 true JP6571168B2 (ja) 2019-09-04

Family

ID=55350105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017510332A Active JP6571168B2 (ja) 2014-08-21 2014-08-21 セキュア相互作用の方法およびデバイス

Country Status (6)

Country Link
US (1) US10499248B2 (ja)
EP (1) EP3173967B1 (ja)
JP (1) JP6571168B2 (ja)
KR (1) KR101952226B1 (ja)
CN (1) CN105683981B (ja)
WO (1) WO2016026113A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933751B (zh) * 2015-12-29 2019-12-24 澜起科技股份有限公司 用于保护动态随机访问存储器的方法和设备
RU2634179C1 (ru) * 2016-12-12 2017-10-24 Акционерное общество "Лаборатория Касперского" Способ и система для доверенного доведения информации до пользователя
US10496853B2 (en) * 2017-06-30 2019-12-03 Phoenix Technologies Ltd. Securing a host machine against direct memory access (DMA) attacks via expansion card slots
KR102325169B1 (ko) * 2017-08-28 2021-11-11 텐디론 코포레이션 보안 표시 방법, 장치 및 보안 단말
EP3506143B1 (en) * 2017-12-27 2024-02-14 Siemens Aktiengesellschaft Interface for a hardware security module
GB201806465D0 (en) 2018-04-20 2018-06-06 Nordic Semiconductor Asa Memory-access controll
GB201810659D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure-Aware Bus System
GB201810662D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Peripheral Access On A Secure-Aware Bus System
GB201810653D0 (en) * 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure peripheral interconnect
WO2020034098A1 (zh) * 2018-08-14 2020-02-20 华为技术有限公司 人工智能ai处理方法和ai处理装置
DE102018220284A1 (de) * 2018-11-26 2020-05-28 Infineon Technologies Ag Gesicherte recheneinrichtung
CN114041133A (zh) * 2019-06-21 2022-02-11 华为技术有限公司 一种集成芯片及数据处理方法
CN112711452B (zh) 2019-10-24 2023-11-03 华为技术有限公司 一种图像显示方法与电子设备
EP3822836A1 (en) * 2019-11-12 2021-05-19 Koninklijke Philips N.V. Device and method for secure communication
CN111625815B (zh) * 2020-05-26 2023-09-26 牛津(海南)区块链研究院有限公司 一种基于可信执行环境的数据交易方法及装置
US20230144210A1 (en) * 2021-11-10 2023-05-11 Schweitzer Engineering Laboratories, Inc. Basic input/output system (bios) boot check
US11983418B2 (en) * 2022-06-27 2024-05-14 Western Digital Technologies, Inc. Security indicator on a data storage device
US12189726B2 (en) * 2022-06-30 2025-01-07 Intel Corporation On-demand paging support for confidential computing
CN115422554B (zh) * 2022-10-25 2023-03-24 支付宝(杭州)信息技术有限公司 请求处理方法、编译方法和可信计算系统
US12248610B1 (en) * 2023-10-24 2025-03-11 Citibank, N.A. Secure mobile banking session

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1329787B1 (en) * 2002-01-16 2019-08-28 Texas Instruments Incorporated Secure mode indicator for smart phone or PDA
US8621242B2 (en) * 2004-06-11 2013-12-31 Arm Limited Display of a verification image to confirm security
US7832004B2 (en) * 2006-08-10 2010-11-09 Microsoft Corporation Secure privilege elevation by way of secure desktop on computing device
GB2445373B (en) * 2007-01-03 2010-12-29 Advanced Risc Mach Ltd A data processing apparatus and method for managing access to a display buffer
US8001592B2 (en) * 2007-05-09 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for accessing resources using a multiprocessor in a trusted mode
US8793786B2 (en) * 2008-02-08 2014-07-29 Microsoft Corporation User indicator signifying a secure mode
CN101997956A (zh) 2009-08-17 2011-03-30 联想(北京)有限公司 一种移动终端切换工作模式的方法及移动终端
WO2011051757A1 (en) * 2009-10-26 2011-05-05 Gmx Sas Transactor for use in connection with transactions involving secure and non-secure information
WO2013081406A1 (en) * 2011-12-02 2013-06-06 Samsung Electronics Co., Ltd. Method and apparatus for securing touch input
KR101925806B1 (ko) * 2011-12-02 2018-12-07 삼성전자 주식회사 보안 방법 및 장치
US9344275B2 (en) * 2012-05-08 2016-05-17 Arm Technologies Israel Ltd. System, device, and method of secure entry and handling of passwords
KR20140023606A (ko) 2012-08-16 2014-02-27 삼성전자주식회사 트러스트 존에 의한 실행 환경에서 결제 요청을 처리하는 디바이스 및 방법
CN103532938B (zh) * 2013-09-29 2016-09-21 东莞宇龙通信科技有限公司 应用数据保护的方法和系统

Also Published As

Publication number Publication date
EP3173967A4 (en) 2017-05-31
US20170164201A1 (en) 2017-06-08
EP3173967A1 (en) 2017-05-31
KR101952226B1 (ko) 2019-02-26
EP3173967B1 (en) 2019-06-26
JP2017530450A (ja) 2017-10-12
CN105683981B (zh) 2018-10-30
US10499248B2 (en) 2019-12-03
WO2016026113A1 (zh) 2016-02-25
CN105683981A (zh) 2016-06-15
KR20170044685A (ko) 2017-04-25

Similar Documents

Publication Publication Date Title
JP6571168B2 (ja) セキュア相互作用の方法およびデバイス
Zhou et al. Building verifiable trusted path on commodity x86 computers
US9563457B2 (en) Enabling a secure environment through operating system switching
Li et al. Building trusted path on untrusted device drivers for mobile devices
JP6378758B2 (ja) 仮想マシンにおけるマルウェア検出のためのプロセス評価
CA2922490C (en) Virtual machine manager facilitated selective code integrity enforcement
EP2880587B1 (en) Methods, systems, and computer readable medium for active monitoring, memory protection and integrity verification of target devices
ES2857102T3 (es) Detección de comportamiento de malware utilizando una máquina virtual de interpretación
RU2635224C2 (ru) Способ и аппарат для безопасного сенсорного ввода
JP2018520446A (ja) 非同期イントロスペクション例外を使用するコンピュータセキュリティシステムおよび方法
EP3005216B1 (en) Protecting anti-malware processes
KR20150059564A (ko) 전자 장치의 무결성 검증을 위한 방법, 저장 매체 및 전자 장치
US10824572B2 (en) Memory space protection
US20220180009A1 (en) Peripheral component interconnect express protection controller
CN112417470B (zh) 实现gpu数据安全访问的方法、装置、电子设备及存储介质
CN112602082B (zh) 安全感知总线系统
CN106462508A (zh) 访问控制与代码调度
US20220108004A1 (en) Trusted execution environment (tee) detection of systemic malware in a computing system that hosts the tee
CN113452666A (zh) Ip独立的安全固件加载
CN108647534A (zh) 一种基于双隔离的安全显示系统及方法
EP3123388B1 (en) Virtualization based intra-block workload isolation
US10754967B1 (en) Secure interrupt handling between security zones
US9411980B2 (en) Preventing modifications to code or data based on the states of a master latch and one or more hardware latches in a hosting architecture
EP4231159A1 (en) Method for switching execution environment and related device
CA2989064A1 (en) Intermediate module for controlling communication between a data processing device and a peripheral device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170331

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180815

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190515

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190523

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190708

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190807

R150 Certificate of patent or registration of utility model

Ref document number: 6571168

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250