JP2014235753A - データを入力する方法と装置 - Google Patents

データを入力する方法と装置 Download PDF

Info

Publication number
JP2014235753A
JP2014235753A JP2014112596A JP2014112596A JP2014235753A JP 2014235753 A JP2014235753 A JP 2014235753A JP 2014112596 A JP2014112596 A JP 2014112596A JP 2014112596 A JP2014112596 A JP 2014112596A JP 2014235753 A JP2014235753 A JP 2014235753A
Authority
JP
Japan
Prior art keywords
virtual machine
machine manager
input data
data
security
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.)
Granted
Application number
JP2014112596A
Other languages
English (en)
Other versions
JP5827724B2 (ja
Inventor
▲暁▼▲シン▼ ▲呉▼
▲暁▼▲シン▼ ▲呉▼
Xiaoxin Wu
彬 ▲塗▼
彬 ▲塗▼
Bin Tu
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 JP2014235753A publication Critical patent/JP2014235753A/ja
Application granted granted Critical
Publication of JP5827724B2 publication Critical patent/JP5827724B2/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/60Protecting data
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/031Protect user input by software means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect

Landscapes

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

Abstract

【課題】通信技術の分野と関係し、データ入力においてユーザが入力した情報内容のセキュリティ保護レベルを改善する方法及び装置を実現する。【解決手段】バーチャル・マシン・マネージャーが入力データを獲得するステップ101、暗号化されたデータを得るために、バーチャル・マシン・マネージャーが、一のセキュリティ接続についての暗号化ルールに従って、入力データの上で暗号化処理を実行するステップ102、アプリケーション・インターフェースとサーバとの間において確立されたセキュリティ接続を通じて、バーチャル・マシン・マネージャーが、サーバーに対して暗号化されたデータを送信するステップ103、を具備する。【選択図】図1

Description

本発明は通信分野と関係し、特に、データを入力する方法と装置とに関係する。
仮想マシン・マネージャー(仮想コンピューターのモニタ/マネージャー、バーチャル・マシン・マネージャー)は、ハードウェア層の上で直接実行することが可能であり、かつハードウェア資源を共有する多くのオペレーティング・システムを管理することができるソフトウェア層である。サーバがバーチャル・マシン・マネージャーを起動し、実行する場合、当該仮想マシン・マネージャーは多くのバーチャル・マシンを作成し、適切な数量のハードウェア資源(各バーチャル・マシンへ割り当てられるべきメモリ、CPUおよびディスク等)を割り当てることができる。
バーチャル・マシン・マネージャーは多くのバーチャル・マシン、およびバーチャル・マシンの各々の上において実行される互いに独立したオペレーティング・システムおよび互いに独立したミドルウェアを管理する。これを前提として、様々なアプリケーションは必要に応じて異なるバーチャル・マシン上で実行され、他のアプリケーションから分離された形で実行されることが可能である。このようにして、セキュリティ上安全な入力操作が実施されている期間内においては、セキュリティ上安全な入力操作を要求するアプリケーション又はそのようなアプリケーションを起動するオペレーティング・システムのためにだけ、セキュリティ保護機能を実行することが可能である。
セキュリティ保護機能を実施する過程において、少なくとも以下の問題が先行技術において存在することが当業者に知られている。すなわち、対応するセキュリティ処理および暗号化処理は、セキュリティ保護機能の実行期間中に、オペレーティング・システムが実行するので、オペレーティング・システムが攻撃され、それによって、入力情報のセキュリティ保護レベルを縮小する場合、ユーザによって入力操作された平文の(暗号化されていない)テキスト入力内容が得られるかも知れない。
本発明に係る実施例は入力情報のセキュリティ保護を改善することを目的として、データを入力するための方法と装置を開示する。
上述した目的を達成するために、本発明に係る実施例は以下の技術的解決法を採用する:
本発明に係る第1の技術的側面によれば、本発明に係る実施例は、データを入力するための方法を提供し、当該方法は、以下の処理ステップを含む:バーチャル・マシン・マネージャーが入力データを獲得するステップ;暗号化されたデータを得るために、当該バーチャル・マシン・マネージャーが、一のセキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行するステップであって、当該セキュリティ接続は、アプリケーション・インターフェースとサーバとの間において確立され、データ伝送に使用される接続を指して言う、ステップ;および、当該バーチャル・マシン・マネージャーが、サーバに対して当該暗号化されたデータを送信するステップ。
上述した第1の技術的側面に係る第1の可能な実装態様においては、当該バーチャル・マシン・マネージャーが入力データを獲得する動作は、仮想入力装置を使用することによって、当該バーチャル・マシン・マネージャーが入力データを獲得する動作であって、仮想入力装置は物理的な入力装置と同じ機能を実装する、動作を含んでいる。
上述した第1の技術的側面に係る第1の可能な実装態様を参照した上で、第1の技術的側面に係る第2の可能な実装態様においては、本発明に係る方法は、オペレーティング・システムによって提供される仮想入力装置用のインターフェースを使用して、一つの仮想入力装置を生成するステップをさらに含んでいる。
上述した第1の技術的側面に係る第1の可能な実装態様と第2の可能な実装態様を参照した上で、第1の技術的側面に係る第3の可能な実装態様においては、仮想入力装置は第1の通常ゾーンおよび第1のセキュリティー・ゾーンを含んでおり、第1の通常ゾーンは暗号化処理を必要としない第2の入力データを獲得するために使用され、また、第1のセキュリティー・ゾーンはセキュリティ処理を必要とする第1の入力データを獲得するために使用され、仮想入力装置を使用することによって、当該バーチャル・マシン・マネージャーが入力データを獲得する動作は、当該バーチャル・マシン・マネージャーが、当該第1のセキュリティー・ゾーンを介して当該第1の入力データを獲得し、第1の通常ゾーンを介して第2の入力データを獲得する動作を含んでおり、暗号化されたデータを獲得するために、当該バーチャル・マシン・マネージャーが、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行する動作は、暗号化されたデータを獲得するために、当該バーチャル・マシン・マネージャーが、セキュリティ接続についての暗号化ルールに従って、第1の入力データ上で暗号化処理を実行する動作を含んでいる。
上述した第1の技術的側面に係る第1の可能な実装態様から第3の可能な実装態様の中のいずれか一つの実装態様を参照した上で、第1の技術的側面に係る第4の可能な実装態様においては、仮想入力装置は、仮想的なキーボードを含んでいる。
上述した第1の技術的側面に係る第1の可能な実装態様を参照した上で、第1の技術的側面に係る第5の可能な実装態様においては、当該バーチャル・マシン・マネージャーが入力データを獲得する動作は、バーチャル・マシン・マネージャーが物理的な入力装置を制御する動作と、当該バーチャル・マシン・マネージャーが、物理的な入力装置を使用して入力データを獲得する動作であって、入力データは、入力バッファ中においてバッファリングされる、動作とを含み、そして、当該バーチャル・マシン・マネージャーが、物理的な入力装置を使用して、入力データを上記のように獲得する動作を実行した後に、本発明に係る方法は、当該バーチャル・マシン・マネージャーが、入力バッファの内容をクリアする動作をさらに含んでいる。
上述した第1の技術的側面に係る第5の可能な実装態様を参照した上で、第1の技術的側面に係る第6の可能な実装態様においては、物理的な入力装置は、第2のセキュリティー・ゾーンおよび第2の通常ゾーンを含んでおり、第2の通常ゾーンはセキュリティ処理を必要としない第4の入力データを獲得するために使用され、第2のセキュリティー・ゾーンはセキュリティ処理を必要とする第3の入力データを獲得するために使用され、当該バーチャル・マシン・マネージャーが、物理的な入力装置を使用して入力データを獲得する動作は、当該バーチャル・マシン・マネージャーが、第2のセキュリティー・ゾーンを介して第3の入力データを獲得し、第2の通常ゾーンを介して第4の入力データを獲得する動作を含んでおり、暗号化されたデータを獲得するために、当該バーチャル・マシン・マネージャーが、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行する動作は、暗号化されたデータを獲得するために、当該バーチャル・マシン・マネージャーが、セキュリティ接続についての暗号化ルールに従って、第3の入力データ上で暗号化処理を実行する動作を含んでいる。
上述した第1の技術的側面に係る第5の可能な実装態様または第6の可能な実装態様を参照した上で、第1の技術的側面に係る第7の可能な実装態様においては、物理的な入力装置は、物理的なキーボードを含んでいる。
上述した第1の技術的側面または上述した第1の技術的側面に係る第1の可能な実装態様から第7の可能な実装態様の中のいずれか一つの実装態様を参照した上で、第1の技術的側面に係る第8の可能な実装態様においては、当該バーチャル・マシン・マネージャーが入力データを上記のように獲得する動作を実行した後に、本発明に係る方法は、当該バーチャル・マシン・マネージャーが、偽造された入力データを生成し、オペレーティング・システムに対して当該偽造された入力データを送信するステップをさらに含んでいる。
上述した第1の技術的側面または上述した第1の技術的側面に係る第1の可能な実装態様から第8の可能な実装態様の中のいずれか一つの実装態様を参照した上で、第1の技術的側面に係る第9の可能な実装態様においては、暗号化されたデータを獲得するために、当該バーチャル・マシン・マネージャーが、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行するのに先立って実行される動作として、本発明に係る方法は、当該バーチャル・マシン・マネージャーが、サブミッション命令を受信する動作であって、当該サブミッション命令はデータ入力を終えるようにユーザに命じるために使用される命令である、動作をさらに含んでおり、暗号化されたデータを獲得するために、当該バーチャル・マシン・マネージャーが、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行する動作は、当該サブミッション命令を受信した後において、暗号化されたデータを獲得するために、当該バーチャル・マシン・マネージャーが、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行する動作を含んでいる。
上述した第1の技術的側面または上述した第1の技術的側面に係る第1の可能な実装態様から第9の可能な実装態様の中のいずれか一つの実装態様を参照した上で、第1の技術的側面に係る第10の可能な実装態様においては、当該バーチャル・マシン・マネージャーが入力データを獲得するのに先立って実行される動作として、本発明に係る方法は、当該バーチャル・マシン・マネージャーが、トリガー命令を受信する動作であって、当該トリガー命令は、データ暗号化の処理を実行可能にするバーチャル・マシン・マネージャーを起動するために使用される命令である、動作をさらに含んでおり、暗号化されたデータを獲得するために、当該バーチャル・マシン・マネージャーが、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行する動作は、当該トリガー命令に応答する形で、暗号化されたデータを獲得するために、当該バーチャル・マシン・マネージャーが、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行する動作を含んでいる。
上述した第1の技術的側面または上述した第1の技術的側面に係る第1の可能な実装態様から第10の可能な実装態様の中のいずれか一つの実装態様を参照した上で、第1の技術的側面に係る第11の可能な実装態様においては、当該バーチャル・マシン・マネージャーが、当該サーバに対して暗号化されたデータを送信する動作は、当該バーチャル・マシン・マネージャーが、当該サーバに対して、アプリケーション・インターフェースを使用して、当該セキュリティ接続の上で、暗号化されたデータを送信する動作を含んでいる。
上述した第1の技術的側面または上述した第1の技術的側面に係る第1の可能な実装態様から第11の可能な実装態様の中のいずれか一つの実装態様を参照した上で、第1の技術的側面に係る第12の可能な実装態様においては、当該セキュリティー接続は、SSL(セキュアー・ソケット・レイヤー)接続を含んでおり、暗号化されたデータを獲得するために、当該バーチャル・マシン・マネージャーが、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行する動作は、暗号化されたデータを獲得するために、当該バーチャル・マシン・マネージャーが、上述したSSL接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行する動作を含んでいる。
本発明に係る第2の技術的側面によれば、本発明に係る実施例は、以下のものを含むバーチャル・マシン・マネージャーを提供する:入力データを獲得するように構成された獲得ユニット;暗号化されたデータを獲得することを目的として、当該バーチャル・マシン・マネージャーが、セキュリティ接続についての暗号化ルールに従って、当該獲得ユニットによって獲得された入力データの上で暗号化処理を実行するように構成された処理ユニットであって、当該セキュリティ接続は、アプリケーション・インターフェースとサーバとの間において確立され、データ伝送に使用される接続を指して言う、処理ユニット;および、当該サーバに対して暗号化されたデータを送信するように構成された送受信機ユニット。
上述した第2の技術的側面に係る第1の可能な実装態様においては、当該獲得ユニットを以下のように構成することをさらに含む。すなわち、当該獲得ユニットは仮想入力装置を使用することにより入力データを獲得するように特に構成され、このとき、仮想入力装置は物理的な入力装置と同じ機能を実装する。
上述した第2の技術的側面に係る第1の可能な実装態様を引用した上で、第2の技術的側面の第2の可能な実装態様においては、オペレーティング・システムによって提供される仮想入力装置用のインターフェースを使用することにより、仮想入力装置を生成するように構成された作成ユニットをさらに含んでいる。
上述した第2の技術的側面に係る第1の可能な実装態様または第2の可能な実装態様を引用した上で、第2の技術的側面の第3の可能な実装態様においては、仮想入力装置は第1の通常ゾーンおよび第1のセキュリティー・ゾーンを含んでおり、第1の通常ゾーンは暗号化処理を必要としない第2の入力データを獲得するために使用され、また、第1のセキュリティー・ゾーンはセキュリティ処理を必要とする第1の入力データを獲得するために使用され、当該獲得ユニットは、第1のセキュリティー・ゾーンを介して第1の入力データを獲得し、かつ第1の通常ゾーンを介して第2の入力データを獲得するように特に構成され、暗号化されたデータを獲得するために、当該処理ユニットは、セキュリティ接続についての暗号化ルールに従って、当該第1の入力データ上で暗号化処理を実行するように特に構成される。
上述した第2の技術的側面を引用した上で、第2の技術的側面の第4の可能な実装態様においては、当該獲得ユニットは、物理的な入力装置を制御し、物理的な入力装置を使用することにより、入力データを獲得するように特に構成され、このとき、入力データは、入力バッファ中においてバッファリングされており、また、処理ユニットは入力バッファの内容をクリアするようにさらに構成されている。
上述した第2の技術的側面に係る第4の可能な実装態様を引用した上で、第2の技術的側面の第5の可能な実装態様においては、物理的な入力装置は、第2のセキュリティー・ゾーンおよび第2の通常ゾーンを含んでおり、第2の通常ゾーンは、セキュリティ処理を必要としない第4の入力データを獲得するために使用され、第2のセキュリティー・ゾーンはセキュリティ処理を必要とする第3の入力データを獲得するために使用され、当該獲得ユニットは、第2のセキュリティー・ゾーンを介して第3の入力データを獲得し、かつ第2の通常ゾーンを介して第4の入力データを獲得するように特に構成され、当該処理ユニットは、暗号化されたデータを獲得するために、当該処理ユニットは、セキュリティ接続についての暗号化ルールに従って、当該第3の入力データ上で暗号化処理を実行するように特に構成されている。
上述した第2の技術的側面または上述した第2の技術的側面に係る第1の可能な実装態様から第5の可能な実装態様の中のいずれか一つを引用した上で、第2の技術的側面の第6の可能な実装態様においては、当該処理ユニットは、偽造された入力データを生成し、かつオペレーティング・システムに対して当該偽造された入力データを送信するようにさらに構成される。
上述した第2の技術的側面または上述した第2の技術的側面に係る第1の可能な実装態様から第6の可能な実装態様の中のいずれか一つを引用した上で、第2の技術的側面の第7の可能な実装態様においては、送受信機ユニットは、サブミッション命令を受信するようにさらに構成され、ここで、当該サブミッション命令は、データ入力を終えるようにユーザに指示するために使用される命令であり、当該処理ユニットは、送受信機ユニットが当該サブミッション命令を受信した後において、暗号化されたデータを獲得するために、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行するように特に構成される。
上述した第2の技術的側面または上述した第2の技術的側面に係る第1の可能な実装態様から第7の可能な実装態様の中のいずれか一つを引用した上で、第2の技術的側面の第8の可能な実装態様においては、送受信機ユニットはトリガー命令を受信するようにさらに構成され、ここで、当該トリガー命令は、データ暗号化の実行を可能にするバーチャル・マシン・マネージャーを起動するために使用される命令であり、当該処理ユニットは、送受信機ユニットによって受信されたトリガー命令に応答するように特に構成され、当該バーチャル・マシン・マネージャは、暗号化されたデータを獲得するために、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行する。
上述した第2の技術的側面または上述した第2の技術的側面に係る第1の可能な実装態様から第8の可能な実装態様の中のいずれか一つを引用した上で、第2の技術的側面の第9の可能な実装態様においては、送受信機ユニットは、アプリケーション・インターフェースを使用することにより、セキュリティ接続上において暗号化されたデータをサーバーに対して送信するように特に構成されている。
上述した第2の技術的側面または上述した第2の技術的側面に係る第1の可能な実装態様から第9の可能な実装態様の中のいずれか一つを引用した上で、第2の技術的側面の第10の可能な実装態様においては、セキュリティ接続はSSL(セキュアー・ソケット・レイヤー)接続を含んでおり、当該処理ユニットは、暗号化されたデータを獲得するために、上述したSSL接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行するように特に構成されている。
第3の技術的側面によれば、本発明の実施例は物理的なホストを提供し、ここで、当該物理的なホストは、ハードウェア層、ハードウェア層の上で実行されるバーチャル・マシン・マネージャー(VMM)、およびバーチャル・マシン・マネージャー(VMM)の上で実行される少なくとも1個のバーチャル・マシンを含んでおり、ここで、当該バーチャル・マシン・マネージャーは、上述した実装態様において述べられていたバーチャル・マシン・マネージャーに相当する。
本発明に係る実施例はデータを入力するための方法と装置を開示する。入力データを獲得した後に、暗号化されたデータを獲得するために、バーチャル・マシン・マネージャーは、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行し、当該暗号化されたデータをサーバに対して送信する。このようにして、暗号化されたデータを獲得するために、ユーザによって入力されたデータに対して、バーチャル・マシン・マネージャー上で暗号化処理を実行することができ、続いて、暗号化されたデータは、当該サーバへと送信される。以上より、オペレーティング・システムは、ユーザによるデータ入力内容を暗号化処理する過程に関与する必要が無いことが理解されよう。すなわち、データの暗号化処理はオペレーティング・システムから見て透明な形で実行される。このようにして、オペレーティング・システムが攻撃されても、ユーザによる正確なデータ入力内容をセキュリティ攻撃者が獲得することはできないので、入力情報のセキュリティ保護レベルおよび信頼性を向上させるすることが可能となる。
本発明に係る実施例において開示される技術的解決法あるいは先行技術についてより明確に説明するために、下記の「図面の簡単な説明」の欄においては、本発明に係る実施例または先行技術について説明するのに必要な添付図面を簡潔に紹介する。当業者にとって明らかなとおり、以下の記述において説明される添付図面は、本発明の幾つかの実施例を単に例示しているだけであり、当業者は、格別の創造的工夫を要することなく、これらの添付図面に基づいてさらに別の実施例を図示したさらに別の図面を導出することも可能である。
本発明に係る実施例に従い、データを入力する方法を示す概略図。 本発明に係る実施例に従い、SSL接続を確立する方法を示す概略図。 本発明に係る実施例に従い、SSL接続を確立するためのさらに別の方法を示す概略図。 本発明に係る実施例に従い、データを入力するためのさらに別の方法を示す概略図。 本発明に係る実施例に従って構成されるバーチャル・マシン・マネージャーの概略的なブロック図。 本発明に係る実施例に従って構成されるさらに別のバーチャル・マシン・マネージャーの概略的なブロック図。 本発明に係る実施例に従って構成されるバーチャル・マシン・マネージャーの概略的な内部構造図。 本発明に係る実施例に従って構成される物理的なホストの概略的な内部構造図。
以下の記述は、本発明に係る実施例において開示される技術的解決法について、本発明に係る実施例に対応する添付図面を参照しながら、明確かつ完全に説明する。当業者にとって明らかなとおり、本明細書中に記述される実施例は、本発明に係る実施例の全てを網羅するものではなく、むしろ可能な実施例の一部を開示しているに過ぎない。本明細書に記載された実施例に基づいて、当業者が、格別の創造的工夫を要すること無しに得ることが可能なその他のあらゆるの実施例は、本発明の権利保護範囲内にあるものとされる。
本発明に係る実施例は、データを入力するための図1に示されるような方法を開示し、以下のステップを含む:
<ステップ101>バーチャル・マシン・マネージャーが入力データを獲得するステップ。
バーチャル・マシン・マネージャーが入力データを獲得する方法は本発明に係る装置において使用する個々の入力装置に応じて変化する。
具体的には、本発明に係る装置において使用する入力装置が仮想入力装置である場合、バーチャル・マシン・マネージャーが入力データを獲得する方法は特に以下のとおりである。すなわち、バーチャル・マシン・マネージャーは、仮想入力装置を使用することによって入力データを獲得する。
仮想入力装置は、物理的な入力装置と同じ機能を実装している。すなわち、バーチャル・マシン・マネージャーは、仮想入力装置を使用することによって、ユーザによるデータ入力内容を獲得することが可能である。仮想入力装置は、ユーザによってタップ操作された場所に従って、ユーザからのデータ入力内容を判定するように構成される。
すなわち、バーチャル・マシン・マネージャーによって生成された仮想入力装置の機能は、オペレーティング・システム上における仮想入力装置の機能と同じである。仮想入力装置を使用することによって、ユーザによってタッチ操作がされたそれぞれ異なる位置によって表わされるデータを獲得することができ、その結果、入力データ内容を獲得することが出来る。
さらに、仮想入力装置の使用により入力データ内容を獲得するのに先立って、バーチャル・マシン・マネージャーは、オペレーティング・システムによって提供される仮想入力装置用のインターフェースを使用することにより、仮想入力装置を生成することが可能である。
具体的には、バーチャル・マシン・マネージャーは、オペレーティング・システムによって提供される仮想入力装置用のインターフェースを使用することにより、オペレーティング・システム上における仮想入力装置と同一である仮想入力装置を生成することが可能である。
さらに別の方法を使用することにより、バーチャル・マシン・マネージャーは、さらに追加の仮想入力装置を生成することが可能である点に留意されたい。例えば、オペレーティング・システムを使用せずに、オペレーティング・システム上における仮想入力装置と同一である仮想入力装置を、バーチャル・マシン・マネージャー自身が生成する場合もあり得る。本発明においては、バーチャル・マシン・マネージャーが仮想入力装置を生成する方法は、上述した具体例だけに制限されてはいない。
さらに、仮想入力装置は仮想キーボードを含んでいる。
例示的に説明するならば、本発明に係る装置がタッチスクリーンを具備する装置である場合、本発明に係る装置における入力装置は仮想入力装置である。バーチャル・マシン・マネージャーは、オペレーティング・システム上の仮想キーボードと同様に機能する仮想キーボードを生成することが可能である。ユーザが、タッチ・スクリーン装置上においてデータを入力したならば、バーチャル・マシン・マネージャーは、仮想キーボードを使用することによって、タッチスクリーン装置上においてユーザがタップ操作した位置に対応するデータを獲得し、その結果として、入力データを獲得するすることが可能である。
さらに、仮想入力装置は第1の通常ゾーンおよび第1のセキュリティー・ゾーンを含んでおり、第1の通常ゾーンが暗号化処理を必要としない第2の入力データを獲得するために使用され、第1のセキュリティー・ゾーンは、セキュリティ処理を必要とする第1の入力データを獲得するために使用される。
この場合、バーチャル・マシン・マネージャーは第1のセキュリティー・ゾーンを介して第1の入力データを獲得し、バーチャル・マシン・マネージャーは第1の通常ゾーンを介して第2の入力データを獲得する。
具体的には、ユーザが入力したデータ入力内容の一部について暗号化処理を行なう必要があるので、ユーザが入力した当該データ入力内容は差別化されることが可能である。仮想入力装置は第1の通常ゾーンと第1のセキュリティー・ゾーンとに分割されることが可能である。ユーザによってタップ操作された位置が第1の通常ゾーンに相当する場合、バーチャル・マシン・マネージャーは第2の入力データを獲得することが可能であり、データの暗号化処理を行なう必要はなく、従来技術に従って実行する場合と同様に、通常の処理を実行する。ユーザによってタップ操作された位置が第1のセキュリティー・ゾーンに相当する場合、バーチャル・マシン・マネージャーは第1の入力データを獲得してもよく、データを暗号化処理する必要がある。
さらに、ユーザによってタップ操作された位置が仮想入力装置の外側のゾーンにある場合、バーチャル・マシン・マネージャーは、従来技術における処理動作と同様の態様で、ユーザがタップ操作した位置に対応する通常の処理動作を実行する。本明細書の以下の記述においては、その詳細は繰り返し記述されない。
上述した具体例において述べられているように、仮想キーボードはコントロールキー・ゾーンすなわち第1の通常ゾーンを含んでおり、さらにデータ・キー・ゾーンすなわち第1のセキュリティー・ゾーンを含んでいる。ユーザによってタップ操作された位置がコントロールキー・ゾーン内にある場合、バーチャル・マシン・マネージャーは対応するコントロール・データを獲得し、従来技術における処理動作の同様の態様でコントロール・データのための処理を実行することが可能である。例えば、ユーザがコントロールキー・ゾーンにおける「Caps Lockキー」の位置をタップ操作すれば、バーチャル・マシン・マネージャーはコントロール・データ「Caps Lock」を獲得し、この場合、バーチャル・マシン・マネージャーはオペレーティング・システムを使用することにより、「Caps Lock」キーが押された場合の処理動作を実行する。ユーザによってタップ操作された位置がデータ・キー・ゾーン内にある場合、バーチャル・マシン・マネージャーは対応するデータ情報を獲得し、この場合、バーチャル・マシン・マネージャーは第1の入力データとしてデータ情報を使用することが可能である。例えば、ユーザがデータ・キー・ゾーン内にあるキー「A」の位置をタップ操作すれば、バーチャル・マシン・マネージャーはユーザによるデータ内容「A」の入力操作を捕捉し、それを第1の入力データとして使用してセキュリティ処理を実行する。
本発明に係るこの実施例において、入力データ上でセキュリティ処理を実行することは、入力データ上でステップ102における処理動作を実行すること、すなわち、入力データ上で暗号化処理を実行することを指す。
本発明に係る装置における入力装置が物理的な入力装置である場合、バーチャル・マシン・マネージャーが入力データを獲得するための方法は特に以下の動作ステップを具備する:バーチャル・マシン・マネージャーは物理的な入力装置を制御し、入力データが入力バッファ中においてバッファリングされている場合、バーチャル・マシン・マネージャーは物理的な入力装置を使用することにより入力データを獲得する。
さらに、物理的な入力装置は物理的なキーボードを含んでいる。
特に、本発明に係る装置における物理的な入力装置が物理的なキーボードである場合、バーチャル・マシン・マネージャーは物理的なキーボードを制御し、ユーザが物理的なキーボードを使用することにより入力操作を行なう際には、さらに入力データを獲得することが可能である。ユーザが物理的なキーボードを使用することにより入力操作を行なう際には、バーチャル・マシン・マネージャーが入力データを獲得するために、ユーザによるデータ入力内容は入力バッファ中においてバッファリングされる。
さらに、物理的な入力装置は第2のセキュリティー・ゾーンおよび第2の通常ゾーンを含んでいる。第2の通常ゾーンはセキュリティ処理を必要としない第4の入力データを獲得するために使用される。第2のセキュリティー・ゾーンはセキュリティ処理を必要とする第3の入力データを獲得するために使用される。
この場合、バーチャル・マシン・マネージャーは第2のセキュリティー・ゾーンを介して第3の入力データを獲得し、バーチャル・マシン・マネージャーは第2の通常ゾーンを介して第4の入力データを獲得する。
特に、ユーザがデータ入力内容の一部について暗号化処理を実行する必要があるので、ユーザによるデータ入力内容は差別化されることが可能である。物理的な入力装置は第2の通常ゾーンと第2のセキュリティー・ゾーンとに分割されることが可能である。ユーザが第2の通常ゾーンを介した入力操作を行ったならば、バーチャル・マシン・マネージャーは第4の入力データを獲得することが可能であり、暗号化処理を行なう必要なしに、従来技術において実行する場合と同様の態様で、通常の処理を実行することが可能である。ユーザが第2のセキュリティー・ゾーンを介した入力操作を行なったならば、バーチャル・マシン・マネージャーは第3の入力データを獲得することが可能であり、この場合はデータを暗号化処理する必要がある。
上述した具体例において述べられているように、物理的なキーボードはコントロールキー・ゾーンすなわち第2の通常ゾーンを含んでおり、データ・キー・ゾーンすなわち第2のセキュリティー・ゾーンを含んでいる。ユーザが物理的なキーボードのコントロール・ゾーンを介した入力操作を行なったならば、バーチャル・マシン・マネージャーは対応するコントロール・データを獲得し、従来技術において実行する場合と同様の態様で、コントロール・データについての処理を実行することが可能である。ユーザが物理的なキーボードのデータ・ゾーンを介した入力操作を行なったならば、バーチャル・マシン・マネージャーは対応するデータ情報を獲得し、この場合、バーチャル・マシン・マネージャーは第3の入力データとしてデータ情報を使用し、暗号化処理を実行することが可能である。
さらに、バーチャル・マシン・マネージャーが、物理的な入力装置を制御することにより入力データを獲得した後に、バーチャル・マシン・マネージャーは入力バッファの内容をクリアする。
特に、ユーザによって入力された入力データを獲得した後に、入力バッファを介して、バーチャル・マシン・マネージャーは入力バッファに保存された入力データをクリアする必要があり、その結果として、バーチャル・マシン・マネージャー以外の他のシステムが入力データを獲得することができず、それによって、入力データのセキュリティおよび信頼度が保証される。
<ステップ102>暗号化されたデータを得るために、バーチャル・マシン・マネージャーは、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行する。
当該セキュリティ接続は、アプリケーション・インターフェースとサーバとの間において確立され、データ伝送に使用される接続を指して言う。
アプリケーション・インターフェースとサーバとの間においてセキュリティ接続が確立されている期間内において、確立済みのセキュリティ接続の上で安全な送信を行うために暗号化ルールを交渉することが可能であり、その結果として、獲得した入力データ上で暗号化処理を実行する際に、バーチャル・マシン・マネージャーが既に決定済みの暗号化ルールに従って暗号化処理を実行することが可能となるので、暗号化されたデータがサーバに送信される際に、当該サーバが暗号化処理されたデータを正確にパージングすることができることが保証されることに留意されたい。
特に、暗号化処理中にアプリケーション・インターフェースとサーバとの間においてセキュリティ接続が確立されているので、暗号化処理されたデータを獲得するために、バーチャル・マシン・マネージャーは、セキュリティ接続についての暗号化ルールに従って、入力データを暗号化処理する必要があり、その結果として、サーバがデータを受け取った後に、サーバはデータを暗号化解除することができる。
さらに、ステップ101において、バーチャル・マシン・マネージャーによって獲得された入力データが、第1の入力データである場合には、暗号化処理されたデータを獲得するために、バーチャル・マシン・マネージャーは、セキュリティ接続についての暗号化ルールに従って、入力データに対する暗号化処理を実行する。ステップ101においてバーチャル・マシン・マネージャーによって獲得された入力データが、第3の入力データである場合には、暗号化処理されたデータを獲得するために、バーチャル・マシン・マネージャーは、セキュリティ接続についての暗号化ルールに従って、第3の入力データに対する暗号化処理を実行する。
任意付加的に、当該セキュリティ接続は、SSL(セキュアー・ソケット・レイヤー)接続を含んでいる。この場合、暗号化されたデータを獲得するために、セキュリティ接続についての暗号化ルールに従って入力データ上で実行可能な暗号化処理は、以下の暗号化処理を含んでいる:暗号化処理されたデータを獲得するために、SSL接続についての暗号化ルールに従って、入力データに対する暗号化処理を実行する。
すなわち、SSL接続がアプリケーション・インターフェースとサーバとの間において確立されたのに続いて、バーチャル・マシン・マネージャーは、ユーザによるデータ入力内容を獲得し、その後に、暗号化されたデータを獲得するためにアプリケーション・インターフェースとサーバとの間においてSSL接続のセッション・キーを使用することにより、入力データを暗号化処理する。
<ステップ103>バーチャル・マシン・マネージャーは、サーバに対して暗号化されたデータを送信する。
具体的には、入力データを暗号化処理した後に、バーチャル・マシン・マネージャーはサーバに対して暗号化されたデータを送信し、当該サーバが当該暗号化されたデータを受信した後に、当該サーバが、セキュリティ接続についての暗号化ルールに従って暗号化解除の処理を実行することによって、ユーザによって入力されたデータが獲得される。
さらに、バーチャル・マシン・マネージャーは、アプリケーション・インターフェースを使用することにより、暗号化処理されたデータを、セキュリティ接続上でサーバーへと送信することが可能である。
すなわち暗号化されたデータを得るために、ユーザによるデータ入力内容を暗号化した後に、バーチャル・マシン・マネージャーは、アプリケーション・インターフェースへと暗号化されたデータを送信し、続いて、当該アプリケーション・インターフェースは、セキュリティ接続を使用することにより、暗号化処理されたデータをサーバーに対して送信することが可能である。
さらに、当該アプリケーション・インターフェースとサーバーとの間においてSSL接続を確立している期間中において、SSL接続を確立する過程は、以下の2種類の方法、すなわち、証明書を使用するクライアント、および証明書を使用しないクライアントに従って実行することが可能であり、上述した2種類の方法は、接続を確立するためのハンドシェイク通信手順における一方向の認証および2方向の認証にそれぞれ相当する。したがって、当該アプリケーション・インターフェースとサーバーとの間におけるSSL接続の確立も、2種類の方法、すなわち一方向の認証および2方向の認証に従って実行することが可能である。
図2に示されるように、SSL接続が、一方向の認証方法に従って、アプリケーション・インターフェースとサーバーとの間において確立されるという場合には、本発明に係る特定の処理手順は以下のステップを含む。
<ステップ201a>当該アプリケーション・インターフェースは、SSL接続を確立するための要求をサーバーに送信する。
SSLプロトコル(一種の暗号化アルゴリズム)のバージョン番号に関する情報および当該アプリケーション・インターフェースとサーバーとの間における通信のために必要とされるその他の情報は、SSL接続の確立要求によって伝送される。
<ステップ202a>サーバーは、当該アプリケーション・インターフェースに対してサーバーの証明書を返信する。
当該サーバーの証明書は、サーバ証明書のシグネチャおよび公開鍵を含んでいる。
特に、当該アプリケーション・インターフェースによって送信されたSSL接続の確立要求を受け取った後に、サーバーは、SSL接続に関してSSLプロトコルのバージョン番号を表す情報を獲得し、当該SSL接続は、当該アプリケーション・インターフェース、暗号化アルゴリズムの種別およびアプリケーション・インターフェースとサーバとの間における通信に必要なその他の情報を要求することに応じて確立される。サーバーは、自身のシグネチャと公開鍵とを含む証明書をアプリケーション・インターフェースへと送信し、その結果、アプリケーション・インターフェースは証明書を認証することが可能となる。
<ステップ203a>当該アプリケーション・インターフェースは、サーバーの証明書が有効な証明書であるか否かを、当該サーバーから返信された証明書によって検証する。
特に、サーバーから返信された証明書を受信した後に、当該アプリケーション・インターフェースは、証明書が期限切れになっているか否か、証明書は信頼されたCAセンター(公的認証機関)によって発行されているか否か、 証明書の中に含まれている公開鍵は、サーバ証明書の「発行人のデジタル署名」を正確に暗号化解除することができるか否か、または証明書上のドメイン名は、サーバーの実際のドメイン名と一致するか否か、などを検証する必要がある。証明書が上述した条件を全て満たすことが検証された場合、証明書は有効な証明書とみなされ、本発明に係る実行手順は、ステップ204aに進む。証明書が上述した条件のうちのいずれか1つでも満たさないことが検証された場合、証明書は無効の証明書とみなされ、通信が中断される。
<ステップ204a>当該アプリケーション・インターフェースは、後続する通信において使用される対称な暗号化処理用のセッション・キーをランダムに生成し、サーバーの公開鍵を使用することにより、それを暗号化し、続いて、暗号化されたセッション・キーを当該サーバーへと送信する。
特に、サーバーによって送信された証明書が有効な証明書であることを検証した後に、当該アプリケーション・インターフェースは、対称な暗号化処理用のセッション・キーを生成し、証明書を使用することにより獲得したサーバーの公開鍵を使用して、当該セッション・キーを暗号化し、当該暗号化されたセッション・キーを当該サーバーへと送信し、その結果として、当該サーバーは当該セッション・キーを獲得することが可能となる。
<ステップ205a>サーバーはセッション・キーを受信し、自身の専用の秘密鍵を使用することにより、それを暗号化解除し、次に、当該サーバーは、現在のセッションに関するキーを取得する。
特に、暗号化されたセッション・キーを受信した後に、当該サーバーは、現在のセッションに関するキーを獲得するために、当該サーバーの秘密鍵を使用して、それを暗号化解除し、その後、引き続き送信される後続のデータを、当該キーを使用して暗号化する。このようにして、通信の両当事者は、セキュリティ的に安全である対称な接続を確立するための同一のセッション・キーを使用することができる。
図3に示すように、SSL接続が2方向の認証方法に従って、アプリケーション・インターフェースとサーバーとの間において確立される場合には、本発明に係る特定の実行手順は、以下のステップを具備する。
<ステップ201b>当該アプリケーション・インターフェースは、サーバへSSL接続を確立するための要求を送信する。
SSLプロトコルのバージョン番号を表す情報、暗号化アルゴリズムの種別およびアプリケーション・インターフェースとサーバーとの間における通信のために必要とされるその他の情報は、SSL接続を確立するための要求によって伝送される。
<ステップ202b>当該サーバーは、当該アプリケーション・インターフェースに対して当該サーバーの証明書を返信する。
当該サーバーの証明書はサーバ証明書のシグネチャおよび公開鍵を含んでいる。
<ステップ203b>当該アプリケーション・インターフェースは、サーバーの証明書が有効な証明書であるか否かを、当該サーバーから返信された証明書によって検証する。
特に、サーバーから返信された証明書を受信した後に、当該アプリケーション・インターフェースは、証明書が期限切れになっているか否か、証明書は信頼されたCAセンター(公的認証機関)によって発行されているか否か、 証明書の中に含まれている公開鍵は、サーバー証明書の「発行人のデジタル署名」を正確に暗号化解除することができるか否か、または証明書上のドメイン名は、サーバーの実際のドメイン名と一致するか否か、などを検証する必要がある。証明書が上述した条件を全て満たすことが検証された場合、証明書は有効な証明書とみなされ、本発明に係る実行手順は、ステップ204bに進む。 証明書が上述した条件のうちのいずれか1つでも満たさないことが検証された場合、証明書は無効の証明書とみなされ、通信が中断される。
<ステップ204b>当該アプリケーション・インターフェースは、後続する通信において使用される対称な暗号化処理用のセッション・キーをランダムに生成し、サーバーの公開鍵を使用することにより、それを暗号化し、続いて、暗号化されたセッション・キーと当該アプリケーション・インターフェースの証明書を当該サーバーに対して送信する。
当該アプリケーション・インターフェースの証明書は、アプリケーション・インターフェース証明書のシグネチャおよび公開鍵を含んでいる。
<ステップ205b>サーバはセッション・キーを受信し、自身の専用の秘密鍵を使用することにより、それを暗号化解除し、当該アプリケーション・インターフェースの証明書が有効な証明書であるか否かを検証する。
特に、アプリケーション・インターフェースの証明書は有効な証明書であるか否かをサーバーによって検証するために、サーバーの証明書が有効な証明書であるか否かについての検証の結果を、当該アプリケーション・インターフェースが参照することが可能であり、その詳細は、本明細書中の以下の記述において繰り返し説明されない。
<ステップ206b>当該サーバーは当該アプリケーション・インターフェースの公開鍵を使用することにより、暗号化解除されたセッション・キーを暗号化し、続いて、当該アプリケーション・インターフェースの公開鍵を使用して暗号化されたセッション・キーを、当該アプリケーション・インターフェースへと送信する。
特に、パージング処理によってセッション・キーを取得した後に、当該サーバーは当該アプリケーション・インターフェースの公開鍵を使用することにより得られたセッション・キーを暗号化処理し、このとき、当該公開鍵は、当該アプリケーション・インターフェースの証明書を使用することにより獲得され、当該アプリケーション・インターフェースの公開鍵を使用して暗号化されたセッション・キーを、当該アプリケーション・インターフェースへと送信し、当該アプリケーション・インターフェースは、当該セッション・キーが有効であるか否かをチェックすることが可能となる。
<ステップ207b>当該アプリケーション・インターフェースは、セッション・キーを受信し、自身の専用の秘密鍵を使用することにより、それを暗号化解除し、セッション・キーの有効性をチェックする。
特に、サーバーから送信された暗号化済みのセッション・キーを受け取った後に、アプリケーション・インターフェースは、暗号化解除されたセッション・キーを獲得するために、その秘密鍵を使用して、当該暗号化済みのセッション・キーを暗号化解除し、当該暗号化解除されたセッション・キーがサーバーに送信されたセッション・キーと一致しているか否かをチェックする。それら2つのキーが一致している場合、セッション・キーは有効であるとみなされ、この場合、通信の両当事者は認証され、この同一のセッション・キーを使用することにより、セキュリティ接続を確立することができる。それら2つのキーが一致しない場合、それはセッション・キーが修正されたことを意味し、サーバーとの接続が中断される。
TLS(トランスポート・レイヤー・セキュリティ)接続のようなさらに別の種類のセキュリティ接続が、アプリケーション・インターフェースとサーバーとの間において確立されることもまた可能であるが、本発明の実施態様はそれだけに限定はされないことに留意されたい。
アプリケーション・インターフェースとサーバーとの間におけるセキュリティ接続がさらに別の種類のセキュリティ接続である場合、その具体的な接続確立方法は上述した方法とは異なるものとなることに留意されたいが、本明細書中において、その具体的内容はやはり記述されない。
バーチャル・マシン・マネージャーが入力データを獲得し、入力データ上で暗号化処理を実行するプロセスは、エージェント等のようなバーチャル・マシン・マネージャーのモジュールによって実装されるても良く、さらに、バーチャル・マシン・マネージャーのその他の構成部分によって実装されても良いが、本発明の実施態様はそれだけに限定はされないことに留意されたい。
バーチャル・マシン・マネージャーがソフトウェア層であり、バーチャル・マシン・マネージャーだけでなくバーチャル・マシン・マネージャーを実行する全ての物理的なデバイスもまた本発明の権利保護範囲に含まれ得ることに留意されたい。すなわち、バーチャル・マシン・マネージャーを使用してデータを暗号化するために上述した方法を採用する全ての装置は、本発明の権利保護範囲の中に含まれるものとされる。
本発明に係る実施例はデータを入力するための方法と装置を開示する。 入力データを獲得した後に、暗号化されたデータを獲得するために、バーチャル・マシン・マネージャーは、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行し、当該暗号化されたデータをサーバに対して送信する。このようにして、暗号化されたデータを獲得するために、ユーザにより入力されたデータに対して、バーチャル・マシン・マネージャー上で暗号化処理を実行することができ、 続いて、暗号化されたデータは、当該サーバへと送信される。以上より、オペレーティング・システムは、ユーザによるデータ入力内容を暗号化処理する過程に関与する必要が無いことが理解されよう。すなわち、データの暗号化処理はオペレーティング・システムから見て透明な形で実行される。このようにして、オペレーティング・システムが攻撃されても、ユーザによる正確なデータ入力内容をセキュリティ攻撃者が獲得することはできないので、入力情報のセキュリティ保護レベルおよび信頼性を向上させるすることが可能となる。
本発明に係る実施例は、データを入力するための方法として、図4に示す方法を開示し、当該方法は以下のステップを含む:
<ステップ301>アプリケーション・インターフェースは、ユーザによって送信された制御命令を受信する。
特に、セキュリティー的に安全な入力操作を実行可能にするべきであるか否かを決定した後に、ユーザはアプリケーション・インターフェースに対して制御命令を送信することが可能である。アプリケーション・インターフェースは、上述した制御命令に従って対応する処理を実行することが可能となる。セキュリティ的に安全な入力操作の実行を無効すべき旨を上述した制御命令が指示している場合には、当該アプリケーション・インターフェースは、当該バーチャル・マシン・マネージャーに対して、セキュリティー的に安全な入力操作を実行する必要が無い旨を通知し、その結果として、バーチャル・マシン・マネージャーは、暗号化処理を実行する必要がなくなり、従来技術において実行される処理動作と同様にして、受信した入力データのための処理を実行することが可能となる。
当該アプリケーション・インターフェースは、ユーザがそのためにセキュリティー的に安全な入力操作を可能にする必要が生じたアプリケーションのためのプラグ・インとすることが可能であり、そのための一種のソフトウェア・インタフェースとなることに留意されたい。
<ステップ302>セキュリティ的に安全な入力操作の実行を有効化すべき旨を上述した制御命令が指示する場合には、当該アプリケーション・インターフェースは、トリガー命令をバーチャル・マシン・マネージャーに対して送信する。バーチャル・マシン・マネージャーは当該トリガー命令を受信する。
上述したトリガー命令は、データの暗号化処理を可能にするバーチャル・マシン・マネージャーを起動するために使用される命令である。
特に、セキュリティ的に安全な入力操作の実行を有効化すべき旨を上述した制御命令が指示する場合には、当該アプリケーション・インターフェースは、バーチャル・マシン・マネージャーに対して、セキュリティ的に安全な入力処理を実行する必要がある旨を通知し、その結果として、当該アプリケーション・インターフェースは、バーチャル・マシン・マネージャーに対して当該トリガー命令を送信することにより、安全な入力処理をバーチャル・マシン・マネージャーに実行させるための契機とすることが可能となる。当該トリガー命令を受けた後に、当該バーチャル・マシン・マネージャは、ユーザによって引き続いて入力された後続のデータであって、対応するセキュリティ処理を実行する必要があるデータを獲得する。
当該アプリケーション・インターフェースは、さらに別の方法に従ってセキュリティー的に安全な入力処理を実行するために、バーチャル・マシン・マネージャーを起動することもまた可能であるは、本発明の実施態様はそれだけに限定はされないことに留意されたい。
<ステップ303>当該アプリケーション・インターフェースは、サーバーとのセキュリティ接続を確立する。
特に、当該アプリケーション・インターフェースとサーバーの間におけるセキュリティ接続の確立のために、当該アプリケーション・インターフェースとサーバーの間におけるセキュリティ接続を確立するための具体的な方法として、ステップ103に関して上述した方法が参照され、その詳細内容は、本明細書中のここでの説明において再度記述されない。
<ステップ304>バーチャル・マシン・マネージャーは入力データを獲得する。
ステップ304における動作の詳細に関しては、ステップ101における動作が参照され、その詳細内容はここでは再度説明しない。
<ステップ305>バーチャル・マシン・マネージャーは偽造された入力データを生成し、当該偽造された入力データをオペレーティング・システムに対して送信する。
特に、ユーザによるデータ入力内容を捕捉した後に、アプリケーション・プログラムに関して正常な画面表示がされることを保証するために、バーチャル・マシン・マネージャーは偽造された入力データを生成し、当該偽造された入力データをオペレーティング・システムに対して送信し、その結果として、当該アプリケーション・プログラムを使用することにより、オペレーティング・システムは、当該偽造された入力データを画面表示することが可能となる。
例えば、ユーザにより入力されたデータを捕捉した後に、アプリケーション・プログラムに関して正常な画面表示がされることを保証するために、バーチャル・マシン・マネージャーは偽造された入力データ「*」を生成し、当該偽造された入力データ「*」をオペレーティング・システムに対して送信し、その結果として、当該アプリケーション・プログラムを使用することにより、オペレーティング・システムは、当該偽造された入力データ「*」を画面表示することが可能となる。
<ステップ306>当該アプリケーション・インターフェースは、ユーザから送信されたサブミッション命令を受信し、当該サブミッション命令をバーチャル・マシン・マネージャーへと送信する。バーチャル・マシン・マネージャーは当該サブミッション命令を受信する。
当該サブミッション命令はデータ入力を終えるようにユーザに指示するために使用される命令である。
特に、データを入力した後に、ユーザは、当該サブミッション命令を当該アプリケーション・インターフェースへと送信し、当該アプリケーション・インターフェースは、当該サブミッション命令を当該バーチャル・マシン・マネージャーへと送信する。当該サブミッション命令を受信した後に、当該バーチャル・マシン・マネージャーは、ユーザによって入力されたデータであって、セキュリティ処理を必要とするデータを獲得する。その結果、バーチャル・マシン・マネージャーは、入力データを獲得する動作を完了し、次の処理動作を実行することができる。
<ステップ307>暗号化されたデータを得るために、バーチャル・マシン・マネージャーは、セキュリティ接続についての暗号化ルールに従って、入力データの上で暗号化処理を実行する。
バーチャル・マシン・マネージャーがステップ302においてトリガー命令を受信した後に、このステップにおいて、トリガー命令に応じる形で、暗号化されたデータを得るために、バーチャル・マシン・マネージャーは、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行する必要がある。
特に、サブミッション命令を受信した後に、暗号化されたデータを得るために、バーチャル・マシン・マネージャーは、セキュリティ接続についての暗号化ルールに従って、入力データの上で暗号化処理を実行する。暗号化されたデータを得るために、セキュリティ接続についての暗号化ルールに従って、バーチャル・マシン・マネージャーが入力データの上で暗号化処理を実行するために、ステップ102に関して上述した処理動作を参照して実行することが可能であり、その詳細内容は、本明細書中のここでの説明においては再度記述されない。
<ステップ308>バーチャル・マシン・マネージャーは、暗号化されたデータをサーバーへと送信する。
具体的には、バーチャル・マシン・マネージャーは、暗号化されたデータをアプリケーション・インターフェースへと送信し、当該アプリケーション・インターフェースは暗号化されたデータをサーバーへと送信することが可能である。この動作の詳細については、ステップ103を参照することが可能であり、その詳細はここでは繰り返し説明しない。
本発明においては、ステップ303が実行される前に、、ステップ303が実行された後に、またはステップ303が実行されるのと同時に、ステップ304〜306を実行することが可能である。本発明に係るこの実施例においては、ステップ303およびステップ304〜306の実行順序は限定されていない。1つの例示的な状況だけが図において説明されている。
本発明に係るこの実施例は、データを入力する方法を開示する。入力データを獲得した後に、暗号化されたデータを獲得するために、バーチャル・マシン・マネージャーは、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行し、当該暗号化されたデータをサーバに対して送信する。このようにして、暗号化されたデータを獲得するために、バーチャル・マシン・マネージャー上でユーザにより入力されたデータのために暗号化処理を実行することができ、 続いて、暗号化されたデータは、当該サーバへと送信される。以上より、オペレーティング・システムは、ユーザによるデータ入力内容を暗号化処理する過程に関与する必要が無いことが理解されよう。すなわち、データの暗号化処理はオペレーティング・システムから見て透明な形で実行される。このようにして、オペレーティング・システムが攻撃されても、ユーザによる正確なデータ入力内容をセキュリティ攻撃者が獲得することはできないので、入力情報のセキュリティ保護レベルおよび信頼性を向上させるすることが可能となる。
図5は、本発明に係る実施例に従うバーチャル・マシン・マネージャーの概略的な機能ブロック図である。図5に示すように、バーチャル・マシン・マネージャーは獲得ユニット401、処理ユニット402および送受信機ユニット403を含んでいる。
獲得ユニット401は入力データを獲得するように構成される。
この場合、獲得ユニット401は仮想入力装置を使用することにより、入力データを獲得するように特に構成されている。
仮想入力装置は物理的な入力装置と同一の機能を実装する。当該仮想入力装置は、ユーザによってタップ操作された位置に従って、ユーザによって入力されたデータを決定するように構成されている。
さらに、仮想入力装置は第1の通常ゾーンおよび第1のセキュリティー・ゾーンを含んでおり、第1の通常ゾーンは暗号化処理を必要としない第2の入力データを獲得するために使用され、第1のセキュリティー・ゾーンはセキュリティ処理を必要とする第1の入力データを獲得するために使用される。
獲得ユニット401は、第1のセキュリティー・ゾーンを介して第1の入力データを獲得し、第1の通常ゾーンを介して第2の入力データを獲得するように特に構成されている。
任意付加的に、仮想入力装置は仮想キーボードを含んでいる。
あるいは、獲得ユニット401は、物理的な入力装置を制御し、かつ当該物理的な入力装置を使用することにより入力データを獲得するように特に構成されている。
入力データは入力バッファ中においてバッファリングされる。
さらに、物理的な入力装置は第2のセキュリティー・ゾーンおよび第2の通常ゾーンを含んでおり、第2の通常ゾーンはセキュリティ処理を必要としない第4の入力データを獲得するために使用され、第2のセキュリティー・ゾーンはセキュリティ処理を必要とする第3の入力データを獲得するために使用される。
獲得ユニット401は、第2のセキュリティー・ゾーンを介して第3の入力データを獲得し、第2の通常ゾーンを介して第4の入力データを獲得するように特に構成されている。
任意付加的に、物理的な入力装置は、物理的なキーボードを含んでいる。
暗号化されたデータを得るために、処理ユニット402は、獲得ユニット401により獲得した入力データの上で、セキュリティ接続についての暗号化ルールに従って、暗号化処理を実行するように構成されている。
当該セキュリティ接続は、アプリケーション・インターフェースとサーバとの間において確立され、データ伝送に使用される接続を指して言う。
任意付加的に、セキュリティ接続はSSL(セキュアー・ソケット・レイヤー)接続を含んでいる。
暗号化されたデータを得るために、処理ユニット402は、上述したSSL接続についての暗号化ルールに従って、入力データの上で暗号化処理を実行するように特に構成されている。
具体的には、獲得ユニット401が第1の入力データを獲得する場合には、暗号化されたデータを得るために、処理ユニット402は、セキュリティ接続についての暗号化ルールに従って、獲得ユニット401により獲得した第1の入力データの上で暗号化処理を実行するように特に構成されている。
あるいは、獲得ユニット401が第3の入力データを獲得する場合には、暗号化されたデータを得るために、処理ユニット402は、セキュリティ接続についての暗号化ルールに従って、獲得ユニット401により獲得した第3の入力データの上で暗号化処理を実行するように特に構成されている。
さらに、獲得ユニット401が、物理的な入力装置を制御し、かつ当該物理的な入力装置を使用することにより入力データを獲得するように特に構成されている場合には、処理ユニット402は、入力バッファの内容をクリアするようにさらに構成されます。
送受信機ユニット403は、暗号化されたデータをサーバーへと送信するように構成されている。
具体的には、送受信機ユニット403は、アプリケーション・インターフェースを使用することにより、セキュリティ接続の上で暗号化されたデータをサーバーへと送信するように特に構成されている。
さらに、図6に示されるように、獲得ユニット401が仮想入力装置を使用することにより入力データを獲得した場合には、バーチャル・マシン・マネージャーは生成ユニット404をさらに含んでいる。生成ユニット404は、オペレーティング・システムによって提供される仮想入力装置用のインターフェースを使用して、仮想入力装置を生成するように特に構成されている。
さらに、処理装置402は、偽造された入力データを生成し、かつ当該偽造された入力データをオペレーティング・システムに対して送信するようにさらに構成されている。
送受信機ユニット403はサブミッション命令を受信するように構成されている。
当該サブミッション命令は、データ入力を終えるようにユーザに指示するために使用される命令である。
送受信機ユニット403が当該サブミッション命令を受信した後に、暗号化されたデータを得るために、処理ユニット402は、セキュリティ接続についての暗号化ルールに従って、入力データの上で暗号化処理を実行するように特に構成されている。
さらに、送受信機ユニット403は、トリガー命令を受信するようにさらに構成されている。
当該トリガー命令は、データの暗号化処理を可能にするバーチャル・マシン・マネージャーを起動するために使用される命令である。
この場合、処理ユニット402は、送受信機ユニット403によって受信したトリガー命令に応答する形で、暗号化されたデータを得るために、セキュリティ接続についての暗号化ルールに従って、入力データの上で暗号化処理を実行するように特に構成されている。
本発明に係るこの実施例はバーチャル・マシン・マネージャーを開示する。入力データを獲得した後に、暗号化されたデータを獲得するために、バーチャル・マシン・マネージャーは、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行し、当該暗号化されたデータをサーバに対して送信する。このようにして、暗号化されたデータを獲得するために、バーチャル・マシン・マネージャー上でユーザにより入力されたデータのために暗号化処理を実行することができ、続いて、暗号化されたデータは、当該サーバへと送信される。以上より、オペレーティング・システムは、ユーザによるデータ入力内容を暗号化処理する過程に関与する必要が無いことが理解されよう。すなわち、データの暗号化処理はオペレーティング・システムから見て透明な形で実行される。このようにして、オペレーティング・システムが攻撃されても、ユーザによる正確なデータ入力内容をセキュリティ攻撃者が獲得することはできないので、入力情報のセキュリティ保護レベルおよび信頼性を向上させるすることが可能となる。
本発明に係る実施例に従うバーチャル・マシン・マネージャーの概略的な内部構造図を図7に示す。図7に示されるように、バーチャル・マシン・マネージャーは送信機601、メモリ602および受信機603に加え、送信機601、受信機603およびメモリ602に接続されたプロセッサー604を含んでいる。
メモリ602は、一群のプログラム・コードを格納し、プロセッサー604は、メモリ602中のプログラム・コードを起動するように構成されている。
具体的には、プロセッサー604は入力データを獲得するように構成されている。
具体的には、プロセッサー604は、仮想入力装置を使用することにより、入力データを獲得するように特に構成されている。
仮想入力装置は物理的な入力装置と同一の機能を実装する。
仮想入力装置は、ユーザによってタップ操作がされた位置に従って、ユーザにより入力されたデータを決定するように構成されている。
さらに、仮想入力装置は第1の通常ゾーンおよび第1のセキュリティー・ゾーンを含んでおり、第1の通常ゾーンが暗号化処理を必要としない第2の入力データを獲得するために使用され、第1のセキュリティー・ゾーンがセキュリティ処理を必要とする第1の入力データを獲得するために使用される。
プロセッサー604は、第1のセキュリティー・ゾーンを介して第1の入力データを獲得し、かつ第1の通常ゾーンを介して第2の入力データを獲得するように特に構成されている。
任意付加的に、仮想入力装置は仮想キーボードを含んでいる。
さらに、プロセッサー604は、オペレーティング・システムによって提供される仮想入力装置用のインターフェースを使用することにより、仮想入力装置を生成するようにさらに構成されている。
あるいは、プロセッサー604は、物理的な入力装置を制御し、かつ当該物理的な入力装置を使用することにより、入力データを獲得するように特に構成されている。
入力データは入力バッファ中においてバッファリングされる。
さらに、物理的な入力装置は、第2のセキュリティー・ゾーンおよび第2の通常ゾーンを含んでおり、第2の通常ゾーンはセキュリティ処理を必要としない第4の入力データを獲得するために使用され、また、第2のセキュリティー・ゾーンはセキュリティ処理を必要とする第3の入力データを獲得するために使用される。
プロセッサー604は、第2のセキュリティー・ゾーンを介して第3の入力データを獲得し、かつ第2の通常ゾーンを介して第4の入力データを獲得するように特に構成されている。
任意付加的に、物理的な入力装置は物理的なキーボードを含んでいる。
暗号化されたデータを得るために、プロセッサー604は、セキュリティ接続についての暗号化ルールに従って、入力データの上で暗号化処理を実行するようにさらに構成されている。
セキュリティ接続とは、アプリケーション・インターフェースとサーバとの間において確立され、データ伝送に使用される接続を指して言う。
任意付加的に、セキュリティ接続はSSL(セキュアー・ソケット・レイヤー)接続を含んでいる。
暗号化されたデータを得るために、プロセッサー604は、SSL接続についての暗号化ルールに従って、入力データの上で暗号化処理を実行するように特に構成されている。
具体的には、第1の入力データが獲得されたという場合には、暗号化されたデータを得るために、プロセッサー604は、セキュリティ接続についての暗号化ルールに従って、上記のとおりに獲得した第1の入力データの上で暗号化処理を実行するように特に構成されている。
あるいは、第3の入力データが獲得されたという場合には、暗号化されたデータを得るために、プロセッサー604は、セキュリティ接続についての暗号化ルールに従って、上記のとおりに獲得した第3の入力データの上で暗号化処理を実行するように特に構成されている。
さらに、プロセッサー604が物理的な入力装置を制御し、かつ当該物理的な入力装置を使用して入力データを獲得するように特に構成されている場合には、プロセッサー604は、入力バッファの内容をクリアするようにさらに構成されている。
送信機601は、暗号化されたデータをサーバーへと送信するように構成されている。
具体的には、送信機601は、アプリケーション・インターフェースを使用することにより、セキュリティ接続上で、暗号化されたデータをサーバへと送信するように特に構成されている。
さらに、プロセッサー604は、偽造された入力データを生成するようにさらに構成されている。
送信機601は、プロセッサー604によって生成された当該偽造された入力データを、オペレーティング・システムに対して送信するようにさらに構成されている。
受信機603は、サブミッション命令を受信するように構成されている。
当該サブミッション命令は、データ入力を終えるようにユーザに指示するために使用される命令である。
受信機603が当該サブミッション命令を受信した後に、暗号化されたデータを得るために、プロセッサー604は、セキュリティ接続についての暗号化ルールに従って、入力データの上で暗号化処理を実行するように特に構成されている。
さらに、受信機603は、トリガー命令を受信するようにさらに構成されている。
当該トリガー命令は、データの暗号化処理を可能にするバーチャル・マシン・マネージャーを起動するために使用される命令である。
プロセッサー604は、受信機603によって受信されたトリガー命令に応答する形で、セキュリティ接続についての暗号化ルールに従って、入力データの上で暗号化処理を実行するように特に構成されている。
本発明に係るこの実施例はバーチャル・マシン・マネージャーを開示する。入力データを獲得した後に、暗号化されたデータを獲得するために、バーチャル・マシン・マネージャーは、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行し、当該暗号化されたデータをサーバーに対して送信する。このようにして、暗号化されたデータを獲得するために、バーチャル・マシン・マネージャー上でユーザにより入力されたデータのために暗号化処理を実行することができ、続いて、暗号化されたデータは、当該サーバーへと送信される。以上より、オペレーティング・システムは、ユーザによるデータ入力内容を暗号化処理する過程に関与する必要が無いことが理解されよう。すなわち、データの暗号化処理はオペレーティング・システムから見て透明な形で実行される。このようにして、オペレーティング・システムが攻撃されても、ユーザによる正確なデータ入力内容をセキュリティ攻撃者が獲得することはできないので、入力情報のセキュリティ保護レベルおよび信頼性を向上させるすることが可能となる。
本発明に係る実施例は、図8に示す物理的なホストを開示し、当該物理的なホストは、ハードウェア層801、ハードウェア層801の上で実行されるVMM(仮想コンピューター・モニタ/マネージャー、バーチャル・マシン・マネージャー)802、およびVMM802の上で実行される少なくとも1個のバーチャル・マシン803を含んでいる。
VMM802は、本明細書中の上述した実施例において述べられていたバーチャル・マシン・マネージャーに相当する。
本発明に係る実施例は、データを入力するための方法と装置とを開示する。入力データを獲得した後に、暗号化されたデータを獲得するために、バーチャル・マシン・マネージャーは、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行し、当該暗号化されたデータをサーバーに対して送信する。このようにして、暗号化されたデータを獲得するために、バーチャル・マシン・マネージャー上でユーザにより入力されたデータのために暗号化処理を実行することができ、続いて、暗号化されたデータは、当該サーバーへと送信される。以上より、オペレーティング・システムは、ユーザによるデータ入力内容を暗号化処理する過程に関与する必要が無いことが理解されよう。すなわち、データの暗号化処理はオペレーティング・システムから見て透明な形で実行される。このようにして、オペレーティング・システムが攻撃されても、ユーザによる正確なデータ入力内容をセキュリティ攻撃者が獲得することはできないので、入力情報のセキュリティ保護レベルおよび信頼性を向上させるすることが可能となる。
本発明に係る実施例が開示する技術的解決法は、本質的に又は部分的に従来技術に対する貢献を明示するものであり、当該技術的解決法は、コンピュータ・ソフトウェア製品として具現化することが可能である。そのようなコンピューター・ソフトウェア製品は、記憶媒体中に格納され、(パソコン、サーバ、ネットワーク装置などとすることが可能である)コンピューター装置に指示を与えるための幾つかの命令コードを含んでおり、当該コンピュータ装置は、本発明を実施するために本明細書中で記述された実施例の各々において述べられていた方法を構成する処理ステップの全て又は一部を実行するプロセッサを含んでいる。当該記憶媒体は、USBフラッシュドライブ、着脱可能なハードディスク、読み出し専用メモリ(ROM)、ランダム・アクセス・メモリー(RAM)、磁気ディスクおよび光ディスクなどのように、プログラム・コードを格納することができる様々なメディアを含んでいる。
本明細書中の上記説明は本発明について単に特定の実施例を例示しているだけであり、本発明の権利保護範囲を制限するようには意図されていない。本発明が開示する技術範囲内において当業者が容易に案出することが出来る任意の変形実施例や置換実施例は、本発明の権利保護範囲内にあるものとされる。したがって、本発明の権利保護範囲は本明細書に添付された特許請求の範囲の記載に従って解釈されるべきである。

Claims (20)

  1. データを入力するための方法であって:
    バーチャル・マシン・マネージャーが入力データを獲得するステップ;
    暗号化されたデータを得るために、前記バーチャル・マシン・マネージャーが、一のセキュリティ接続についての暗号化ルールに従って、前記入力データの上で暗号化処理を実行するステップであって、前記セキュリティ接続は、アプリケーション・インターフェースとサーバとの間において確立され、データ伝送に使用される接続を指して言う、ステップ;および、
    前記バーチャル・マシン・マネージャーが、サーバーに対して前記暗号化されたデータを送信するステップ、
    を具備する方法。
  2. 前記バーチャル・マシン・マネージャーが入力データを獲得する動作は、仮想入力装置を使用することによって、当該バーチャル・マシン・マネージャーが入力データを獲得する動作であって、前記仮想入力装置は物理的な入力装置と同じ機能を実装する、動作
    を含んでいることを特徴とする請求項1記載の方法。
  3. 前記仮想入力装置は第1の通常ゾーンおよび第1のセキュリティー・ゾーンを含んでおり、前記第1の通常ゾーンは暗号化処理を必要としない第2の入力データを獲得するために使用され、前記第1のセキュリティー・ゾーンはセキュリティ処理を必要とする第1の入力データを獲得するために使用され、
    前記仮想入力装置を使用することによって、前記バーチャル・マシン・マネージャーが入力データを獲得する動作は:
    前記バーチャル・マシン・マネージャーが、前記第1のセキュリティー・ゾーンを介して前記第1の入力データを獲得し、第1の通常ゾーンを介して第2の入力データを獲得する動作を含んでおり、
    暗号化されたデータを獲得するために、前記バーチャル・マシン・マネージャーが、前記セキュリティ接続についての暗号化ルールに従って、前記入力データ上で前記暗号化処理を前記実行する動作は:
    暗号化されたデータを獲得するために、前記バーチャル・マシン・マネージャーが、前記セキュリティ接続についての暗号化ルールに従って、前記第1の入力データ上で暗号化処理を実行する動作を含んでいる、
    ことを特徴とする請求項2記載の方法。
  4. 前記バーチャル・マシン・マネージャーが入力データを前記獲得する動作は:
    前記バーチャル・マシン・マネージャーが物理的な入力装置を制御する動作;
    前記バーチャル・マシン・マネージャーが、物理的な入力装置を使用して入力データを獲得する動作であって、入力データは、入力バッファ中においてバッファリングされる、動作;
    を含み、
    前記バーチャル・マシン・マネージャーが、物理的な入力装置を使用して、入力データを前記獲得する動作を実行した後に、前記バーチャル・マシン・マネージャーが、入力バッファの内容をクリアする動作をさらに含んでいる、
    ことを特徴とする請求項1記載の方法。
  5. 前記物理的な入力装置は、第2のセキュリティー・ゾーンおよび第2の通常ゾーンを含んでおり、前記第2の通常ゾーンはセキュリティ処理を必要としない第4の入力データを獲得するために使用され、前記第2のセキュリティー・ゾーンはセキュリティ処理を必要とする第3の入力データを獲得するために使用され、
    前記バーチャル・マシン・マネージャーが、前記物理的な入力装置を使用して入力データを獲得する動作は:
    前記バーチャル・マシン・マネージャーが、第2のセキュリティー・ゾーンを介して第3の入力データを獲得し、第2の通常ゾーンを介して第4の入力データを獲得する動作を含んでおり、
    暗号化されたデータを獲得するために、前記バーチャル・マシン・マネージャーが、前記セキュリティ接続についての暗号化ルールに従って、入力データ上で前記暗号化処理を前記実行する動作は:
    暗号化されたデータを獲得するために、前記バーチャル・マシン・マネージャーが、前記セキュリティ接続についての暗号化ルールに従って、前記第3の入力データ上で暗号化処理を実行する動作を含んでいる、
    ことを特徴とする請求項4記載の方法。
  6. 前記バーチャル・マシン・マネージャーが入力データを前記獲得する動作を実行した後に、前記バーチャル・マシン・マネージャーが、偽造された入力データを生成し、オペレーティング・システムに対して前記偽造された入力データを送信するステップをさらに含んでいる、
    ことを特徴とする請求項1乃至請求項5の中のいずれか一項に記載された方法。
  7. 暗号化されたデータを獲得するために、当該バーチャル・マシン・マネージャーが、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行するのに先立って実行される動作は:
    前記バーチャル・マシン・マネージャーが、サブミッション命令を受信する動作であって、前記サブミッション命令はデータ入力を終えるようにユーザに命じるために使用される命令である、動作;をさらに含んでおり、
    暗号化されたデータを獲得するために、前記バーチャル・マシン・マネージャーが、前記セキュリティ接続についての暗号化ルールに従って、入力データ上で前記暗号化処理を前記実行する動作は:
    前記サブミッション命令を受信した後において、暗号化されたデータを獲得するために、前記バーチャル・マシン・マネージャーが、前記セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行する動作を含んでいる、
    ことを特徴とする請求項1乃至請求項6の中のいずれか一項に記載された方法。
  8. 前記バーチャル・マシン・マネージャーが入力データを前記獲得するのに先立って実行される動作として:
    前記バーチャル・マシン・マネージャーが、トリガー命令を受信する動作であって、前記トリガー命令は、データ暗号化の処理を実行可能にするバーチャル・マシン・マネージャーを起動するために使用される命令である、動作をさらに含んでおり、
    暗号化されたデータを獲得するために、前記バーチャル・マシン・マネージャーが、前記セキュリティ接続についての暗号化ルールに従って、入力データ上で前記暗号化処理を前記実行する動作は:
    前記トリガー命令に応答する形で、暗号化されたデータを獲得するために、前記バーチャル・マシン・マネージャーが、セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行する動作を含んでいる、
    ことを特徴とする請求項1乃至請求項7の中のいずれか一項に記載された方法。
  9. 前記バーチャル・マシン・マネージャーが、前記サーバーに対して暗号化されたデータを前記送信する動作は:
    前記バーチャル・マシン・マネージャーが、前記サーバに対して、アプリケーション・インターフェースを使用して、前記セキュリティ接続の上で、暗号化されたデータを送信する動作を含んでいる、
    ことを特徴とする請求項1乃至請求項8の中のいずれか一項に記載された方法。
  10. 前記セキュリティー接続は、SSL(セキュアー・ソケット・レイヤー)接続を含んでおり、暗号化されたデータを獲得するために、前記バーチャル・マシン・マネージャーが、前記セキュリティ接続についての暗号化ルールに従って、入力データ上で前記暗号化処理を前記実行する動作は:
    暗号化されたデータを獲得するために、前記バーチャル・マシン・マネージャーが、前記SSL接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行する動作を含んでいる、
    ことを特徴とする請求項1乃至請求項9の中のいずれか一項に記載された方法。
  11. 入力データを獲得するように構成された獲得ユニット;
    暗号化されたデータを獲得することを目的として、セキュリティ接続についての暗号化ルールに従って、前記獲得ユニットによって獲得された入力データの上で暗号化処理を実行するように構成された処理ユニットであって、前記セキュリティ接続は、アプリケーション・インターフェースとサーバとの間において確立され、データ伝送に使用される接続を指して言う、処理ユニット;および、
    前記サーバに対して暗号化されたデータを送信するように構成された送受信機ユニット;
    を具備するバーチャル・マシン・マネージャ。
  12. 前記獲得ユニットは仮想入力装置を使用することにより入力データを獲得するように構成され、このとき、仮想入力装置は物理的な入力装置と同じ機能を実装する、
    ことを特徴とする請求項11記載のバーチャル・マシン・マネージャ。
  13. 前記仮想入力装置は第1の通常ゾーンおよび第1のセキュリティー・ゾーンを含んでおり、前記第1の通常ゾーンは暗号化処理を必要としない第2の入力データを獲得するために使用され、前記第1のセキュリティー・ゾーンはセキュリティ処理を必要とする第1の入力データを獲得するために使用され、
    前記獲得ユニットは、前記第1のセキュリティー・ゾーンを介して前記第1の入力データを獲得し、かつ前記第1の通常ゾーンを介して前記第2の入力データを獲得するように構成され、
    暗号化されたデータを獲得するために、前記処理ユニットは、前記セキュリティ接続についての暗号化ルールに従って、前記第1の入力データ上で暗号化処理を実行するように構成される、
    ことを特徴とする、請求項12記載のバーチャル・マシン・マネージャ。
  14. 前記獲得ユニットは、物理的な入力装置を制御し、物理的な入力装置を使用することにより、入力データを獲得するように構成され、入力データは、入力バッファ中においてバッファリングされており、
    前記処理ユニットは入力バッファの内容をクリアするようにさらに構成されている、
    ことを特徴とする、請求項11記載のバーチャル・マシン・マネージャ。
  15. 前記物理的な入力装置は、第2のセキュリティー・ゾーンおよび第2の通常ゾーンを含んでおり、前記第2の通常ゾーンは、セキュリティ処理を必要としない第4の入力データを獲得するために使用され、前記第2のセキュリティー・ゾーンはセキュリティ処理を必要とする第3の入力データを獲得するために使用され、
    前記獲得ユニットは、前記第2のセキュリティー・ゾーンを介して前記第3の入力データを獲得し、前記第2の通常ゾーンを介して前記第4の入力データを獲得するように構成され、
    前記処理ユニットは、暗号化されたデータを獲得するために、当該処理ユニットは、セキュリティ接続についての暗号化ルールに従って、当該第3の入力データ上で暗号化処理を実行するように構成されている、
    ことを特徴とする、請求項14記載のバーチャル・マシン・マネージャ。
  16. 前記処理ユニットは、偽造された入力データを生成し、オペレーティング・システムに対して前記偽造された入力データを送信するようにさらに構成される、
    ことを特徴とする、請求項11乃至請求項15の中のいずれか一項に記載されたバーチャル・マシン・マネージャ。
  17. 前記送受信機ユニットは、サブミッション命令を受信するようにさらに構成され、前記サブミッション命令は、データ入力を終えるようにユーザに指示するために使用される命令であり、
    前記処理ユニットは、前記送受信機ユニットが前記サブミッション命令を受信した後において、暗号化されたデータを獲得するために、前記セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行するように構成される、
    ことを特徴とする、請求項11乃至請求項16の中のいずれか一項に記載されたバーチャル・マシン・マネージャ。
  18. 前記送受信機ユニットはトリガー命令を受信するようにさらに構成され、前記トリガー命令は、データ暗号化の実行を可能にするバーチャル・マシン・マネージャーを起動するために使用される命令であり、
    前記処理ユニットは、前記送受信機ユニットによって受信された前記トリガー命令に応答する形で、暗号化されたデータを獲得するために、前記セキュリティ接続についての暗号化ルールに従って、入力データ上で暗号化処理を実行するするように構成される、
    ことを特徴とする、請求項11乃至請求項17の中のいずれか一項に記載されたバーチャル・マシン・マネージャ。
  19. 前記送受信機ユニットは、アプリケーション・インターフェースを使用することにより、セキュリティ接続上において暗号化されたデータをサーバーに対して送信するように構成される、
    ことを特徴とする、請求項11乃至請求項18の中のいずれか一項に記載されたバーチャル・マシン・マネージャ。
  20. ハードウェア層、ハードウェア層の上で実行されるバーチャル・マシン・マネージャー、および前記バーチャル・マシン・マネージャーの上で実行される少なくとも1個のバーチャル・マシンを含んでおり、
    前記バーチャル・マシン・マネージャーは、請求項11乃至請求項19の中のいずれか一項に記載されたバーチャル・マシン・マネージャとして構成される、
    ことを特徴とする、物理的なホスト・コンピュータ。
JP2014112596A 2013-06-03 2014-05-30 データを入力する方法と装置 Active JP5827724B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310216048.1A CN104219208B (zh) 2013-06-03 2013-06-03 一种数据输入的方法、装置
CN201310216048.1 2013-06-03

Publications (2)

Publication Number Publication Date
JP2014235753A true JP2014235753A (ja) 2014-12-15
JP5827724B2 JP5827724B2 (ja) 2015-12-02

Family

ID=50735836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014112596A Active JP5827724B2 (ja) 2013-06-03 2014-05-30 データを入力する方法と装置

Country Status (5)

Country Link
US (2) US9058500B2 (ja)
EP (1) EP2811401B1 (ja)
JP (1) JP5827724B2 (ja)
KR (1) KR101617318B1 (ja)
CN (1) CN104219208B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445509B2 (en) * 2014-06-30 2019-10-15 Nicira, Inc. Encryption architecture
WO2016100506A1 (en) * 2014-12-16 2016-06-23 Kyndi, Inc. Method and apparatus for randomizing computer instruction sets, memory registers and pointers
US9560078B2 (en) * 2015-02-04 2017-01-31 Intel Corporation Technologies for scalable security architecture of virtualized networks
CN111316271A (zh) * 2017-04-18 2020-06-19 邦克沃特有限公司 虚拟机-计算机实现的安全方法和系统
CN113268775B (zh) * 2021-07-16 2021-10-15 深圳市永兴元科技股份有限公司 照片处理方法、装置、系统及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146639A1 (ja) * 2007-05-23 2008-12-04 Nec Corporation 情報共有システム、コンピュータ、プロジェクト管理サーバ及びそれらに用いる情報共有方法
US20110141124A1 (en) * 2009-12-14 2011-06-16 David Halls Methods and systems for securing sensitive information using a hypervisor-trusted client
CN102195940A (zh) * 2010-03-12 2011-09-21 北京路模思科技有限公司 一种基于虚拟机技术安全输入和提交数据的方法和系统
WO2013049571A1 (en) * 2011-09-29 2013-04-04 Amazon Technologies, Inc. Implementation of secure communications in a support system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010011667A (ko) 1999-07-29 2001-02-15 이종우 보안 기능을 갖는 키보드 및 이를 이용한 시스템
US8656160B2 (en) * 2006-06-21 2014-02-18 Ebay Inc. Computer system authentication using security indicator
US7917750B2 (en) * 2006-07-25 2011-03-29 Hewlett-Packard Development Company, L.P. Virtual user authentication system and method
CN100594503C (zh) * 2006-08-29 2010-03-17 联想(北京)有限公司 虚拟机系统及其安全输入方法
US20080109804A1 (en) * 2006-11-06 2008-05-08 Richard Welcher Bloomstein Additional uses of virtualization for disaster recovery and prevention
KR100996955B1 (ko) 2008-08-22 2010-11-26 (주)이스트소프트 가상키보드를 이용한 보안방법
US8726013B2 (en) * 2008-08-22 2014-05-13 Chi-Pei Wang Anti-keylogger computer network system
CN101414913A (zh) 2008-12-04 2009-04-22 北京世纪红山科技有限公司 基于虚拟化技术的计算机网络认证系统和方法
US20100146267A1 (en) * 2008-12-10 2010-06-10 David Konetski Systems and methods for providing secure platform services
US20120079282A1 (en) * 2010-06-28 2012-03-29 Lionstone Capital Corporation Seamless end-to-end data obfuscation and encryption
CN101976317B (zh) 2010-11-05 2012-12-05 北京世纪互联宽带数据中心有限公司 一种私有云计算应用中虚拟机镜像安全方法
CN102521531B (zh) 2011-11-24 2014-11-12 华中科技大学 基于硬件虚拟化的密码保护系统
EP2798860A1 (en) * 2011-12-29 2014-11-05 Telefonaktiebolaget LM Ericsson (Publ) Virtual machine management using a downloadable subscriber identity module
US9385918B2 (en) * 2012-04-30 2016-07-05 Cisco Technology, Inc. System and method for secure provisioning of virtualized images in a network environment
US8762876B2 (en) * 2012-06-21 2014-06-24 Google Inc. Secure data entry via a virtual keyboard
US8656482B1 (en) * 2012-08-20 2014-02-18 Bitdefender IPR Management Ltd. Secure communication using a trusted virtual machine

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146639A1 (ja) * 2007-05-23 2008-12-04 Nec Corporation 情報共有システム、コンピュータ、プロジェクト管理サーバ及びそれらに用いる情報共有方法
US20110141124A1 (en) * 2009-12-14 2011-06-16 David Halls Methods and systems for securing sensitive information using a hypervisor-trusted client
CN102195940A (zh) * 2010-03-12 2011-09-21 北京路模思科技有限公司 一种基于虚拟机技术安全输入和提交数据的方法和系统
WO2013049571A1 (en) * 2011-09-29 2013-04-04 Amazon Technologies, Inc. Implementation of secure communications in a support system

Also Published As

Publication number Publication date
EP2811401A1 (en) 2014-12-10
US9672367B2 (en) 2017-06-06
KR101617318B1 (ko) 2016-05-18
US20150254466A1 (en) 2015-09-10
JP5827724B2 (ja) 2015-12-02
EP2811401B1 (en) 2017-07-19
KR20140142144A (ko) 2014-12-11
CN104219208A (zh) 2014-12-17
US20140359273A1 (en) 2014-12-04
US9058500B2 (en) 2015-06-16
CN104219208B (zh) 2018-11-13

Similar Documents

Publication Publication Date Title
CN110636062B (zh) 设备的安全交互控制方法、装置、电子设备及存储介质
US9875368B1 (en) Remote authorization of usage of protected data in trusted execution environments
CN111737366B (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
CN107659406B (zh) 一种资源操作方法及装置
US9497185B2 (en) Systems, methods, and computer program products for providing application validation
JP6399382B2 (ja) 認証システム
WO2019020051A1 (zh) 一种安全认证的方法及装置
TW201929482A (zh) 身份認證方法、系統及計算設備
US9749130B2 (en) Distributing keys for decrypting client data
KR20060045440A (ko) 패스워드 보호 비밀 데이터의 노출 없이 통신 네트워크을통해 이 비밀 데이터를 복구하는 방법 및 시스템
JP5827724B2 (ja) データを入力する方法と装置
CN114584307B (zh) 一种可信密钥管理方法、装置、电子设备和存储介质
CN111130799B (zh) 一种基于tee进行https协议传输的方法及系统
CN111431840B (zh) 安全处理方法、装置、计算机设备及可读存储介质
WO2017071296A1 (zh) 一种基于vpn的安全访问数据的方法、设备和系统
CN110635901A (zh) 用于物联网设备的本地蓝牙动态认证方法和系统
CN106411520B (zh) 一种虚拟资源数据的处理方法、装置及系统
CN106992978B (zh) 网络安全管理方法及服务器
CN110838919B (zh) 通信方法、存储方法、运算方法及装置
TWI827906B (zh) 訊息傳輸系統以及應用其中之使用者裝置與資訊安全硬體模組
WO2014117648A1 (zh) 应用访问方法和设备
CN111585976B (zh) 通信方法、装置、存储介质和电子设备
CN116244750A (zh) 一种涉密信息维护方法、装置、设备及存储介质
CN114697113A (zh) 一种基于硬件加速卡的多方隐私计算方法、装置及系统
Chen et al. Applications of multi-channel safety authentication protocols in wireless networks

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150902

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: 20151006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151016

R150 Certificate of patent or registration of utility model

Ref document number: 5827724

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

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