JP5564453B2 - Information processing system and information processing method - Google Patents

Information processing system and information processing method Download PDF

Info

Publication number
JP5564453B2
JP5564453B2 JP2011040022A JP2011040022A JP5564453B2 JP 5564453 B2 JP5564453 B2 JP 5564453B2 JP 2011040022 A JP2011040022 A JP 2011040022A JP 2011040022 A JP2011040022 A JP 2011040022A JP 5564453 B2 JP5564453 B2 JP 5564453B2
Authority
JP
Japan
Prior art keywords
encryption
guest
key
data
host
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
JP2011040022A
Other languages
Japanese (ja)
Other versions
JP2012178010A (en
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.)
NTT Data Corp
Original Assignee
NTT Data Corp
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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2011040022A priority Critical patent/JP5564453B2/en
Publication of JP2012178010A publication Critical patent/JP2012178010A/en
Application granted granted Critical
Publication of JP5564453B2 publication Critical patent/JP5564453B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、仮想化システム環境下で暗復号処理に用いる情報処理システム、及び情報処理方法に関する。   The present invention relates to an information processing system and an information processing method used for encryption / decryption processing in a virtual system environment.

近年、クラウドコンピューティングが注目を集め、PaaS(Platform as a Service)やIaaS(Infrastructure as a Service)と呼ばれる、仮想マシンをネットワーク経由で利用者に提供するサービスの普及が進んでいる。PaaSでは、仮想化されたアプリケーションサーバやデータベース等、利用者にネットワーク経由のアプリケーション実行用のプラットフォームが提供される。IaaSでは、仮想化サーバや共有ディスク等、利用者がOS(Operating System)等を含めてシステムを導入できる。このような仮想マシンは、ホストOS下でゲストOSを起動させることで実現される。   In recent years, cloud computing has attracted attention, and services such as PaaS (Platform as a Service) and IaaS (Infrastructure as a Service) that provide users with virtual machines via a network have been spreading. In PaaS, a platform for executing an application via a network, such as a virtualized application server and database, is provided to the user. In IaaS, a user can introduce a system including an OS (Operating System) such as a virtualization server and a shared disk. Such a virtual machine is realized by starting the guest OS under the host OS.

このような仮想化環境において、暗号化処理を伴うアプリケーションをゲストOSで実行する際に、暗号鍵の不正取得や、暗号鍵の不正利用を目的としたゲストOSに対する攻撃から暗号鍵を保護する必要がある。暗号鍵の不正取得を目的とした攻撃には、例えば、メモリダンプがある。メモリダンプは、メモリ上の値をダンプすることにより、メモリ上に残された暗号鍵を不正に取得するものである。また、暗号鍵の不正取得及び不正使用を目的としたゲストOSに対する攻撃として、例えば、リバースエンジニアリングがある。リバースエンジニアリングは、プログラムを逆コンパイルすることにより、プログラムに埋め込まれている暗号鍵や、クレデンシャル(ID、パスワード)を抽出するものである。   In such a virtual environment, when an application involving encryption processing is executed on the guest OS, it is necessary to protect the encryption key from attacks on the guest OS for the purpose of unauthorized acquisition of the encryption key or unauthorized use of the encryption key. There is. For example, there is a memory dump as an attack aimed at illegal acquisition of the encryption key. The memory dump illegally obtains the encryption key left on the memory by dumping the value on the memory. As an attack on the guest OS for the purpose of illegally obtaining and using the encryption key, for example, there is reverse engineering. In reverse engineering, an encryption key and credentials (ID, password) embedded in a program are extracted by decompiling the program.

このような攻撃を防ぐための手段として、ハードウェア暗号化装置(HSM;Hardware Security Module)がある。また、例えば、特許文献1には、仮想化環境において、サーバをVPN(Virtual Private Network)で接続し、サーバ間を伝送するデータをホストOSが暗号化する技術が記載されている。   As a means for preventing such an attack, there is a hardware encryption device (HSM). For example, Patent Document 1 describes a technology in which servers are connected by a VPN (Virtual Private Network) in a virtual environment, and the host OS encrypts data transmitted between the servers.

特開2010−62738号公報JP 2010-62738 A

しかしながら、ハードウェア暗号化装置では、専用のデバイスが必要になり、また、コストが高くなる。また、ハードウェア暗号化装置を用いた場合、提供可能なOSの種類が制限されるため、利用者の要求に応じたサービスを提供することが困難になる。   However, the hardware encryption device requires a dedicated device and increases the cost. Further, when a hardware encryption device is used, the types of OS that can be provided are limited, and it becomes difficult to provide a service according to a user's request.

また、特許文献1に記載されているものは、仮想化環境下のサーバ間でVPNチャネル構築時に、暗号化情報をホストOS側で暗号化情報を自動的に判断し、セットするものである。この特許文献1に記載されているものでは、仮想化環境下のサーバ間の通信での暗号化に関する技術であり、ゲストOSにおいて扱うデータを暗号化及び復号化するものではない。また、特許文献1に記載されているものでは、ゲストOS側のアプリケーションの要求によりデータを暗復号したり、ゲストOS側で蓄積されるデータの暗復号したりすることはできず、データベース等を作成する際に記憶装置や、記憶媒体に記憶させたデータのセキュリティに対する考慮がされていないという問題がある。   Also, what is described in Patent Document 1 is to automatically determine and set encryption information on the host OS side when a VPN channel is established between servers in a virtual environment. The technique described in Patent Document 1 is a technique related to encryption in communication between servers in a virtual environment, and does not encrypt and decrypt data handled in the guest OS. In addition, in the one described in Patent Document 1, data cannot be encrypted or decrypted according to a request from an application on the guest OS side, or data stored on the guest OS side cannot be encrypted. There is a problem that the security of the data stored in the storage device or the storage medium is not taken into consideration at the time of creation.

上述の課題を鑑み、仮想化環境において、ゲストOSにおいて扱うデータの暗号化及び復号化に用いる暗号鍵に対するセキュリティを確保するともに向上させることができる情報処理システム、及び情報処理方法を提供することを目的とする。   In view of the above-described problems, to provide an information processing system and an information processing method capable of ensuring and improving the security for an encryption key used for encryption and decryption of data handled in a guest OS in a virtual environment. Objective.

上述の課題を解決するために、本発明は、ホストOSにおいて稼動する仮想マシンを用いて少なくとも1つのゲストOSを動作させる情報処理システムであって、前記ホストOSは、前記ゲストOSからデータと該データに対する暗号化又は復号化の要求とを示す要求情報を受信すると、ゲストOSを利用する利用者ごとに対応付けられた暗号鍵が記憶されている鍵データベースから、前記要求情報を送信したゲストOSを利用する利用者に対応する暗号鍵を読み出し、読み出した暗号鍵を用いて前記要求情報に含まれるデータに対して暗号化及び復号化を行う鍵管理部を備え、前記ゲストOSは、該ゲストOSにおいて実行されているアプリケーションからデータの暗号化又は復号化の要求が入力されると、該データと該データに対する暗号化又は復号化の要求を示す要求情報を前記ホストOSに送信し、該要求情報に対する応答として前記ホストOSから暗号化されたデータ又は復号化されたデータを受信する拡張暗号化提供部を備え、前記ホストOSは、前記拡張暗号化提供部を稼動させる際に、前記ゲストOSを利用する利用者が入力した暗号鍵の識別情報とクレデンシャルとに基づいて、該ゲストOSが前記鍵管理部を用いたデータの暗号化及び復号化を行うことを許可するか否かを認証する認証部を更に備えることを特徴とする情報処理システムである。 In order to solve the above-described problem, the present invention provides an information processing system that operates at least one guest OS using a virtual machine running on a host OS, and the host OS receives data from the guest OS and the data Upon receiving request information indicating a request for encryption or decryption of data, the guest OS that has transmitted the request information from a key database that stores an encryption key associated with each user using the guest OS A key management unit that reads out an encryption key corresponding to a user who uses the data and encrypts and decrypts data included in the request information using the read encryption key, and the guest OS includes the guest OS When a data encryption or decryption request is input from an application running on the OS, the data and the encryption for the data are encrypted. Request information indicating a request for or decoding transmitted to the host OS, with enhanced encryption providing unit for receiving the encrypted data or decrypted data from the host OS as a response to the request information, When the host OS operates the extended encryption providing unit, the guest OS uses the key management unit based on the identification information and credentials of the encryption key input by the user using the guest OS. An information processing system further comprising an authentication unit that authenticates whether or not to permit encryption and decryption of the received data .

また、本発明は、上記に記載の発明において、前記認証部は、前記鍵管理部に対してデータの暗号化及び復号化することを許可された前記ゲストOSに対して、該ゲストOSとの間で送受信されるデータを暗号化する際に用いるセッション鍵を生成し、生成したセッション鍵を該ゲストOSに対応する暗号鍵に対応付けて前記鍵データベースに記憶させ、前記セッション鍵による暗号化は、前記ホストOSにて復号化されたデータを該セッション鍵に対応する前記ゲストOSに送信する際に行われ、前記ホストOSにて暗号化されたデータを前記ゲストOSに送信する際には行われないことを特徴とする。 Further, according to the present invention, in the above-described invention, the authentication unit communicates with the guest OS with respect to the guest OS that is permitted to encrypt and decrypt data with respect to the key management unit. the data to be transmitted and generate a session key used when encrypting between the generated session key in association with the encryption key corresponding to the guest OS is stored in the key database, encrypted by the session key This process is performed when data decrypted by the host OS is transmitted to the guest OS corresponding to the session key, and is performed when data encrypted by the host OS is transmitted to the guest OS. It is characterized by not being broken .

また、本発明は、ホストOSにおいて稼動する仮想マシンを用いて少なくとも1つのゲストOSを動作させる情報処理システムにおける情報処理方法であって、前記ホストOSが、前記ゲストOSを利用する利用者が入力した暗号鍵の識別情報とクレデンシャルとに基づいて、該ゲストOSから要求されるデータの暗号化及び復号化を行うことを許可するか否かを認証するステップと、認証された前記ゲストOSが、該ゲストOSにおいて実行されているアプリケーションからデータの暗号化又は復号化の要求が入力されると、該データと該データに対する暗号化又は復号化の要求を示す要求情報を前記ホストOSに送信するステップと、前記ホストOSが、前記ゲストOSからデータと該データに対する暗号化又は復号化の要求とを示す要求情報を受信すると、ゲストOSを利用する利用者ごとに対応付けられた暗号鍵が記憶されている鍵データベースから、前記要求情報を送信したゲストOSを利用する利用者に対応する暗号鍵を読み出し、読み出した暗号鍵を用いて前記要求情報に含まれるデータに対して暗号化及び復号化を行うステップと、前記ゲストOSが、前記要求情報に対する応答として前記ホストOSから暗号化されたデータ又は復号化されたデータを受信するステップとを有することを特徴とする情報処理方法である。 The present invention is also an information processing method in an information processing system for operating at least one guest OS using a virtual machine running on a host OS , wherein the host OS is input by a user using the guest OS. Based on the identification information and the credential of the encrypted key, authenticating whether or not the data requested from the guest OS is to be encrypted and decrypted; and When a request for data encryption or decryption is input from an application executed in the guest OS, a step of transmitting request data indicating the data and a request for encryption or decryption to the data to the host OS And the host OS indicates data from the guest OS and a request for encryption or decryption of the data. When the information is received, an encryption key corresponding to the user using the guest OS that transmitted the request information is read from a key database storing an encryption key associated with each user using the guest OS, Encrypting and decrypting the data included in the request information using the read encryption key, and the guest OS encrypting or decrypting the data encrypted from the host OS as a response to the request information Receiving the processed data. An information processing method comprising:

本発明によれば、ゲストOSにおいて実行されているアプリケーションで扱われているデータを暗号化又は復号化に用いる暗号鍵を、ホストOSが備える鍵管理部が記憶するとともに、ゲストOSにおいてデータの暗号化及び復号化の必要が生じると、ホストOSに当該データ暗号化及び復号化を要求するようにした。
これにより、ゲストOSには暗号鍵を記憶させておく必要がなく、ゲストOSにおけるセキュリティを確保することができる。また、複数のゲストOSそれぞれで用いられる全ての暗号鍵は、ホストOSが備える鍵管理部に記憶されるので、外部よりの攻撃を防ぐ領域(複数のゲストOS及びホストOS)を鍵管理部に限定することができるのでセキュリティを向上させることができる。
According to the present invention, the key management unit included in the host OS stores the encryption key used for encryption or decryption of data handled by the application executed in the guest OS, and the data encryption in the guest OS is performed. When the necessity of encryption and decryption occurs, the host OS is requested to perform the data encryption and decryption.
Thereby, it is not necessary to store the encryption key in the guest OS, and security in the guest OS can be ensured. In addition, since all the encryption keys used in each of the plurality of guest OSs are stored in the key management unit included in the host OS, an area (multiple guest OSs and host OSs) that prevents external attacks is used as the key management unit. Since it can be limited, security can be improved.

本発明が適用できるコンピュータシステムの概要を示すブロック図である。It is a block diagram which shows the outline | summary of the computer system which can apply this invention. 第1実施形態における暗復号処理の概要を示す機能ブロック図である。It is a functional block diagram which shows the outline | summary of the encryption / decryption process in 1st Embodiment. 第1実施形態における登録サーバの構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the registration server in 1st Embodiment. 第1実施形態におけるサービス利用事前登録の処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the process of service use pre-registration in 1st Embodiment. 第1実施形態における鍵データベースの一例を示す図である。It is a figure which shows an example of the key database in 1st Embodiment. 第1実施形態における認証データベースの一例を示す図である。It is a figure which shows an example of the authentication database in 1st Embodiment. 第1実施形態におけるサービス認証処理での各部の処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of a process of each part in the service authentication process in 1st Embodiment. 第1実施形態における利用者がゲストOS60上で運用する暗号利用アプリケーション62から暗号化要求があった場合の処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of a process in case the user in the 1st Embodiment receives the encryption request | requirement from the encryption utilization application 62 which operate | moves on guest OS60. 第1実施形態における利用者がゲストOS60上で運用する暗号利用アプリケーション62から復号化要求があった場合の処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of a process when the user in 1st Embodiment has received the decoding request | requirement from the encryption utilization application 62 which operate | moves on the guest OS60.

(第1実施形態)
以下、本発明の実施の形態について図面を参照しながら説明する。図1は、本発明が適用できるコンピュータシステム(情報処理システム)の概要を示すものである。
(First embodiment)
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 shows an outline of a computer system (information processing system) to which the present invention can be applied.

図1において、PaaSやIaaSなどを提供するデータセンター1には、管理マシン2と、仮想マシン(Virtual Machine;VM)3が設けられる。ここで、管理マシン2に搭載されるOSをホストOSと呼ぶ。仮想マシン3は、実体としては所定のデータで表されるが、管理マシン2に読み込まれ、ホストOS上で実行されることにより、仮想の機器として動作するものである。仮想マシン3に搭載されるOSをゲストOSと呼ぶ。なお、データセンター1は、少なくとも1つのコンピュータにより構成されるものである。複数のコンピュータにより構成される場合、各コンピュータをネットワークで接続した分散システムとして構成するようにしてもよい。仮想マシン3は、ホストOS上で複数稼動させることができ、複数の仮想マシン3が稼動する場合、各仮想マシン3は、独立した機器として扱うことができる。   In FIG. 1, a data center 1 that provides PaaS, IaaS, and the like is provided with a management machine 2 and a virtual machine (VM) 3. Here, the OS installed in the management machine 2 is called a host OS. The virtual machine 3 is represented by predetermined data as an entity, but operates as a virtual device by being read into the management machine 2 and executed on the host OS. The OS installed in the virtual machine 3 is called a guest OS. The data center 1 is constituted by at least one computer. When configured by a plurality of computers, each computer may be configured as a distributed system connected by a network. A plurality of virtual machines 3 can be operated on the host OS. When a plurality of virtual machines 3 are operated, each virtual machine 3 can be handled as an independent device.

データセンター1の運営会社により、利用者に対して仮想マシン3の管理権限が付与され、仮想マシン3の機器資源が提供される。利用者は、利用者端末5により、ネットワーク網6を介して、データセンター1上の仮想マシン3をアクセスし、この仮想マシン3を仮想化されたアプリケーションサーバやデータベースとして利用できる。   A management authority of the virtual machine 3 is given to the user by the operating company of the data center 1, and equipment resources of the virtual machine 3 are provided. The user can access the virtual machine 3 on the data center 1 by the user terminal 5 via the network 6 and use the virtual machine 3 as a virtualized application server or database.

第1実施形態では、このような仮想化された環境下で、セキュアな暗復号化処理を行うことで、データの保護を図り、信頼性を向上させるものである。このような第1実施形態に係る暗号化処理について、以下に説明する。   In the first embodiment, secure encryption / decryption processing is performed in such a virtual environment, thereby protecting data and improving reliability. Such encryption processing according to the first embodiment will be described below.

図2は、第1実施形態に係る暗復号処理を行う情報処理システムの構成を示す概略ブロック図である。図2において、ホストOS50には、暗復号制御部51と、認証部52と、鍵管理部53とが備えられている。また、ゲストOS60には、拡張暗号化提供部61が備えられている。   FIG. 2 is a schematic block diagram illustrating a configuration of an information processing system that performs encryption / decryption processing according to the first embodiment. In FIG. 2, the host OS 50 includes an encryption / decryption control unit 51, an authentication unit 52, and a key management unit 53. The guest OS 60 is provided with an extended encryption providing unit 61.

ホストOS50において、暗復号制御部51は、暗復号化処理の制御を行うとともに、ゲストOS60と、ホストOS50に備えられている認証部52及び鍵管理部53との間の処理制御を行う。認証部52は、鍵IDとクレデンシャルとが対応付けて記憶されている認証データベースを有しており、ゲストOS60から受信した情報を鍵管理部53に出力することを許可するか否かの認証を行う。   In the host OS 50, the encryption / decryption control unit 51 controls encryption / decryption processing and also performs process control between the guest OS 60 and the authentication unit 52 and key management unit 53 provided in the host OS 50. The authentication unit 52 has an authentication database in which a key ID and a credential are stored in association with each other, and authenticates whether or not to permit output of information received from the guest OS 60 to the key management unit 53. Do.

鍵管理部53は、鍵IDと、ゲストOS60とホストOS50との間で送受信されるデータを暗号化する共通鍵(セッション鍵)と、暗号鍵の鍵値とが対応付けられて記憶されている鍵データベースを有している。また、この鍵データベースには、ゲストOS60に対する認証に用いる一対の公開鍵(HOST_PUBLIC_KEY)及び秘密鍵(HOST_PRIVATE_KEY)が暗号化等された形式で保護された上で予め記憶されている。また、鍵管理部53は、鍵データベースに記憶されている暗号鍵を用いてデータの暗号化及び復号化を行う。また、鍵管理部53は、鍵データベースに記憶されている暗号化された暗号鍵(公開鍵、秘密鍵、後述するゲストOS60で扱うデータに対して用いる鍵値)を用いる際には、暗号化された暗号鍵に対して所定の復号処理を行う。   The key management unit 53 stores a key ID, a common key (session key) that encrypts data transmitted and received between the guest OS 60 and the host OS 50, and a key value of the encryption key in association with each other. Has a key database. Further, in this key database, a pair of public keys (HOST_PUBLIC_KEY) and a secret key (HOST_PRIVATE_KEY) used for authentication with respect to the guest OS 60 are protected and stored in advance in an encrypted format. The key management unit 53 encrypts and decrypts data using the encryption key stored in the key database. The key management unit 53 encrypts the encrypted encryption key (public key, secret key, key value used for data handled by the guest OS 60 described later) stored in the key database. A predetermined decryption process is performed on the encrypted key.

ゲストOS60において、拡張暗号化提供部61は、例えば、ゲストOS60にインストールされるプログラムであり、ゲストOS60上で実行される暗号化及び復号化を利用する暗号利用アプリケーション62からのデータの暗号化、又はデータの復号化の要求を受けて、ゲストOS60とホストOS50との間で、セキュアな通信チャネルを形成する。
なお、拡張暗号化提供部61のソフトウェアは、例えば、データセンター1の運営会社のサイトからダウンロードできるようにしてもよいし、CD−ROM等の記録媒体により、拡張暗号化提供部61のプログラムを配布するようにしてもよい。
In the guest OS 60, the extended encryption providing unit 61 is, for example, a program installed in the guest OS 60 and encrypts data from the encryption application 62 that uses encryption and decryption executed on the guest OS 60. Alternatively, upon receiving a request for data decryption, a secure communication channel is formed between the guest OS 60 and the host OS 50.
Note that the software of the extended encryption providing unit 61 may be downloaded from, for example, the site of the operating company of the data center 1, or the program of the extended encryption providing unit 61 may be stored on a recording medium such as a CD-ROM. You may make it distribute.

第1実施形態に係る暗復号処理では、図2において、ゲストOS60起動時に、当該ゲストOS60に対する認証が行われる。利用者は、事前に、データセンター1の運営会社に対して、ホストOS50における暗号化及び復号化の処理を要求することを許可するか否かの認証に用いるクレデンシャルと、利用者を識別する鍵IDの登録を行い、データセンター1の運営会社から鍵IDとクレデンシャルとを受領しており、当該鍵ID及び当該クレデンシャルを用いて認証が行われる。すなわち、鍵ID及びクレデンシャルは、利用者ごとに対応付けられている情報である。
ゲストOS60に備えられている拡張暗号化提供部61は、鍵IDと、クレデンシャルをホストOS50に備えられている認証部52に送信し、認証部52が当該ゲストOS60の認証を行う。認証が成立すると、鍵IDとセッション鍵とが認証部52が有する認証データベースに記憶される。
In the encryption / decryption processing according to the first embodiment, in FIG. 2, when the guest OS 60 is activated, the guest OS 60 is authenticated. The user uses in advance a credential used to authenticate whether or not to allow the operating company of the data center 1 to request encryption and decryption processing in the host OS 50 and a key for identifying the user. The ID is registered, the key ID and the credential are received from the operating company of the data center 1, and authentication is performed using the key ID and the credential. That is, the key ID and the credential are information associated with each user.
The extended encryption providing unit 61 provided in the guest OS 60 transmits the key ID and the credential to the authentication unit 52 provided in the host OS 50, and the authentication unit 52 authenticates the guest OS 60. When the authentication is established, the key ID and the session key are stored in the authentication database that the authentication unit 52 has.

暗復号処理では、ゲストOS60の暗号利用アプリケーション62が暗復号API(Application Program Interface)を呼び出すと、データ、及び該データに対する暗号化又は復号化を示す要求情報が、暗復号APIを通じて、暗号利用アプリケーション62から拡張暗号化提供部61に出力される。拡張暗号化提供部61は、要求情報が入力されると、ゲストOS60とホストOS50との間に、セキュアな通信チャネルを構築し、暗復号処理をホストOS50に委託する。ホストOS50の暗復号制御部51は、鍵管理部53に予め記憶されている暗号鍵を読み出し、読み出した暗号鍵を用いて、ゲストOS60が要求する暗復号処理に対応する暗復号処理を実施する。そして、暗復号制御部51は、処理結果をゲストOS60の拡張暗号化提供部61に送り、拡張暗号化提供部61は、この処理結果を暗号利用アプリケーション62に送信する。   In the encryption / decryption process, when the encryption application 62 of the guest OS 60 calls an encryption / decryption API (Application Program Interface), the data and request information indicating encryption or decryption of the data are transmitted through the encryption / decryption API. 62 to the extended encryption provider 61. When the request information is input, the extended encryption providing unit 61 establishes a secure communication channel between the guest OS 60 and the host OS 50 and entrusts the encryption / decryption processing to the host OS 50. The encryption / decryption control unit 51 of the host OS 50 reads the encryption key stored in the key management unit 53 in advance, and performs the encryption / decryption process corresponding to the encryption / decryption process requested by the guest OS 60 using the read encryption key. . Then, the encryption / decryption control unit 51 sends the processing result to the extended encryption providing unit 61 of the guest OS 60, and the extended encryption providing unit 61 sends this processing result to the encryption using application 62.

このように、第1実施形態における暗復号処理では、ゲストOS60の暗号利用アプリケーション62が暗復号APIを呼び出した際、ゲストOS60はホストOS50に対してセキュアな通信チャネルを構築し、暗復号処理をホストOS50に委託する。そして、ホストOS50は、ゲストOS60を利用する利用者に対応する対応する暗号鍵を用いて暗復号処理を行い、暗復号処理の結果を上記の通信チャネルを介してゲストOS60に送信する。これにより、仮想化環境において、セキュアな暗復号化処理を行い、ゲストOS60で扱うデータの保護を図りつつ、セキュリティの向上を図っている。   Thus, in the encryption / decryption process in the first embodiment, when the encryption application 62 of the guest OS 60 calls the encryption / decryption API, the guest OS 60 establishes a secure communication channel for the host OS 50 and performs the encryption / decryption process. Entrust host OS 50. Then, the host OS 50 performs encryption / decryption processing using a corresponding encryption key corresponding to the user who uses the guest OS 60, and transmits the result of the encryption / decryption processing to the guest OS 60 via the communication channel. As a result, secure encryption / decryption processing is performed in a virtual environment, and data handled by the guest OS 60 is protected and security is improved.

つまり、ホストOS50は、ゲストOS60から隔離されており、ゲストOS60に比べ信頼性が高い。そこで、暗号化処理をゲストOS60から隔離されたホストOS50上で行うことで、ゲストOS60への攻撃によって、メモリ上の鍵を抽出するメモリダンプや、プログラムに内蔵されている暗号鍵のリバースエンジニアリングにより暗号鍵の不正取得、プログラムへ内蔵されているクレデンシャルのリバースエンジニアリングによる暗号鍵の不正利用を防ぐことができる。また、第1実施形態に示した構成は、ソフトウェア技術のみで安価に実現可能であり、追加ハードウェアを必要としないという利点がある。   That is, the host OS 50 is isolated from the guest OS 60 and has higher reliability than the guest OS 60. Therefore, by performing encryption processing on the host OS 50 isolated from the guest OS 60, it is possible to perform a memory dump that extracts a key on the memory by an attack on the guest OS 60, or by reverse engineering of the encryption key built in the program. It is possible to prevent unauthorized use of encryption keys due to unauthorized acquisition of encryption keys and reverse engineering of credentials built into the program. Further, the configuration shown in the first embodiment can be realized at low cost only by software technology, and there is an advantage that no additional hardware is required.

次に、第1実施形態における暗復号処理について説明する。まず、ゲストOS60を利用する前に行うサービス利用事前登録の処理について説明する。   Next, the encryption / decryption process in the first embodiment will be described. First, a service use pre-registration process performed before using the guest OS 60 will be described.

第1実施形態に係る暗復号処理を行うためには、事前登録処理が必要になる。
図3は、事前登録処理を行う登録サーバ70の構成を示す概略ブロック図である。同図に示すように、登録サーバ70は、鍵ID生成部71と、鍵生成部72と、クレデンシャル生成部73とを備えている。
鍵ID生成部71は、所定のルールに従って、利用者の鍵IDを生成する。鍵生成部72は、鍵ID生成部71が生成した鍵IDに対応する暗号鍵としての鍵値を生成する。クレデンシャル生成部73は、乱数生成器などを用いて、利用者のクレデンシャル(例えばパスワード)を生成する。
In order to perform the encryption / decryption processing according to the first embodiment, pre-registration processing is required.
FIG. 3 is a schematic block diagram showing the configuration of the registration server 70 that performs the pre-registration process. As shown in the figure, the registration server 70 includes a key ID generation unit 71, a key generation unit 72, and a credential generation unit 73.
The key ID generation unit 71 generates a user key ID according to a predetermined rule. The key generation unit 72 generates a key value as an encryption key corresponding to the key ID generated by the key ID generation unit 71. The credential generation unit 73 generates a user credential (for example, a password) using a random number generator or the like.

図4は、第1実施形態におけるサービス利用事前登録の処理の一例を示すシーケンス図である。なお、事前登録は、セキュリティの向上を考慮すると、書類や対面での交付等、電文以外のセキュリティが確保された方法により行うことが望ましい。ここでは、書類や対面での利用事前登録について説明する。   FIG. 4 is a sequence diagram illustrating an example of a service use pre-registration process according to the first embodiment. In addition, it is desirable that pre-registration is performed by a method that ensures security other than electronic messages, such as documents and face-to-face delivery, considering security improvements. Here, pre-registration of documents and face-to-face usage will be described.

図4において、利用者80がデータセンター1の運営会社に対して利用申請を行うと(ステップS100)、登録サーバ70の鍵ID生成部71は、所定のルールに従って、利用者に対応する鍵IDを生成する(ステップS101)。
次に、登録サーバ70の鍵生成部72は、鍵ID生成部71が生成した鍵IDに対応する暗号鍵としての鍵値を生成する(ステップS102)。次に、登録サーバ70のクレデンシャル生成部73は、乱数生成器を用いて、利用者に対応するクレデンシャルを生成する(ステップS103)。
In FIG. 4, when the user 80 makes a use application to the operating company of the data center 1 (step S100), the key ID generation unit 71 of the registration server 70 follows the predetermined rule and the key ID corresponding to the user. Is generated (step S101).
Next, the key generation unit 72 of the registration server 70 generates a key value as an encryption key corresponding to the key ID generated by the key ID generation unit 71 (step S102). Next, the credential generation unit 73 of the registration server 70 generates a credential corresponding to the user using a random number generator (step S103).

ステップS101で利用者の鍵IDが生成され、ステップS102で鍵値が生成されると、登録サーバ70は、この鍵IDと鍵値とを対応付けて、ホストOS50の鍵管理部53の鍵データベースに記憶させる(ステップS104)。
また、ステップS103でクレデンシャルが生成されると、登録サーバ70は、鍵IDとクレデンシャルとを対応付けて、ホストOS50に備えられている認証部52の認証データベースに記憶させる(ステップS105)。また、利用者80は、データセンター1の運営会社から鍵IDとクレデンシャルとを受け取る(ステップS106)。
When a user key ID is generated in step S101 and a key value is generated in step S102, the registration server 70 associates the key ID with the key value and associates the key database with the key management unit 53 of the host OS 50. (Step S104).
When the credential is generated in step S103, the registration server 70 associates the key ID with the credential and stores them in the authentication database of the authentication unit 52 provided in the host OS 50 (step S105). Further, the user 80 receives a key ID and credentials from the operating company of the data center 1 (step S106).

このように、サービス利用事前登録が終了すると、利用者80に対して、鍵IDとクレデンシャルとが知らされる。また、サービス利用事前登録が終了すると、ホストOS50の鍵管理部53の鍵データベースと、ホストOS50の認証部52の認証データベースとが更新される。   As described above, when the service use pre-registration is completed, the key ID and the credential are notified to the user 80. When the service use pre-registration is completed, the key database of the key management unit 53 of the host OS 50 and the authentication database of the authentication unit 52 of the host OS 50 are updated.

図5は、第1実施形態における鍵データベースの一例を示す図である。図6は、第1実施形態における認証データベースの一例を示す図である。
ホストOS50の鍵管理部53には、図5に示すように、公開鍵(HOST_PUBLIC_KEY)及び秘密鍵(HOST_PRIVATE_KEY)に加えて、利用者80に対する鍵ID(KEY_ID_001)に対応付けられた暗号鍵としての鍵値(471cd0…)が鍵データベースに記憶される。この際、鍵データベースに記憶される鍵値は、別途暗号化などの方法で適切に保護されるものとする。
また、ホストOS50に備えられている認証部52の認証データベースには、図6に示すように、利用者80に対する鍵ID(KEY_ID_001)と、クレデンシャル(PASSWORD_001)とが対応付けられて記憶される。
FIG. 5 is a diagram illustrating an example of a key database according to the first embodiment. FIG. 6 is a diagram illustrating an example of an authentication database according to the first embodiment.
As shown in FIG. 5, in addition to the public key (HOST_PUBLIC_KEY) and the secret key (HOST_PRIVATE_KEY), the key management unit 53 of the host OS 50 has an encryption key associated with the key ID (KEY_ID_001) for the user 80. The key value (471cd0 ...) is stored in the key database. At this time, the key value stored in the key database is appropriately protected by a method such as encryption separately.
Further, as shown in FIG. 6, the key ID (KEY_ID_001) and the credential (PASSWORD_001) for the user 80 are stored in the authentication database of the authentication unit 52 provided in the host OS 50 in association with each other.

次に、サービス認証処理について説明する。
図7は、第1実施形態におけるサービス認証処理での各部の処理の例を示すシーケンス図である。ここでは、図4に示したサービス利用事前登録の処理が既に行われている場合におけるサービス認証処理を説明する。
Next, service authentication processing will be described.
FIG. 7 is a sequence diagram illustrating an example of processing of each unit in the service authentication processing according to the first embodiment. Here, the service authentication process when the service use pre-registration process shown in FIG. 4 has already been performed will be described.

ゲストOS60が起動した後に、利用者端末5は、利用者の操作に応じて、ゲストOS60に、拡張暗号化提供部61のソフトウェアをインストールする(ステップS107)。このとき、ゲストOS60にインストールされる拡張暗号化提供部61のソフトウェアには、データの暗号化及び復号化を委託するホストOS50を識別する情報が予め含まれている。   After the guest OS 60 is activated, the user terminal 5 installs the software of the extended encryption providing unit 61 in the guest OS 60 according to the user's operation (step S107). At this time, the software of the extended encryption providing unit 61 installed in the guest OS 60 includes in advance information for identifying the host OS 50 that entrusts data encryption and decryption.

拡張暗号化提供部61のソフトウェアインストールが完了すると、拡張暗号化提供部61はダイアログ画面を生成し、利用者端末5に対して、鍵IDとクレデンシャルとの入力を要求する(ステップS108)。   When the software installation of the extended encryption providing unit 61 is completed, the extended encryption providing unit 61 generates a dialog screen and requests the user terminal 5 to input a key ID and credentials (step S108).

利用者端末5は、利用者80の操作に応じて、ステップS106における鍵IDとクレデンシャルとを、拡張暗号化提供部61に送信する(ステップS109)。
ゲストOS60の拡張暗号化提供部61は、鍵IDとクレデンシャルとを受信すると、自己に予め設定されているホストOS50の情報(例:ホスト名、IPアドレス、MACアドレスなど)を用いて、受信した鍵ID及びクレデンシャルを含む認証要求をホストOS50に送信する(ステップS110)。
The user terminal 5 transmits the key ID and the credential in step S106 to the extended encryption providing unit 61 according to the operation of the user 80 (step S109).
Upon receiving the key ID and the credential, the extended encryption provider 61 of the guest OS 60 has received the information using the host OS 50 information (eg, host name, IP address, MAC address, etc.) set in advance. An authentication request including the key ID and credentials is transmitted to the host OS 50 (step S110).

暗復号制御部51は、ゲストOS60から受信した認証要求を、認証部52へ送信する(ステップS111)。
ホストOS50の認証部52は、認証要求を受信すると、乱数を生成する(ステップS112)。また、鍵管理部53が有する鍵データベースには、公開鍵(HOST_PUBLIC_KEY)及び秘密鍵(HOST_PRIVATE_KEY)のペアが予め記憶されている。ホストOS50の認証部52は、ステップS112で乱数を生成すると、鍵管理部53の鍵データベースから自己の公開鍵(HOST_PUBLIC_KEY)を読み出す(ステップS113)。
The encryption / decryption control unit 51 transmits the authentication request received from the guest OS 60 to the authentication unit 52 (step S111).
Upon receiving the authentication request, the authentication unit 52 of the host OS 50 generates a random number (Step S112). In addition, a pair of a public key (HOST_PUBLIC_KEY) and a secret key (HOST_PRIVATE_KEY) is stored in advance in the key database that the key management unit 53 has. After generating the random number in step S112, the authentication unit 52 of the host OS 50 reads out its own public key (HOST_PUBLIC_KEY) from the key database of the key management unit 53 (step S113).

続いて、認証部52は、生成した乱数と、読み出した公開鍵(HOST_PUBLIC_KEY)とを含む情報を、暗復号制御部51へ送信する(ステップS114)。
暗復号制御部51は、乱数と公開鍵(HOST_PUBLIC_KEY)とを含む情報を受信すると、受信した情報をゲストOS60の拡張暗号化提供部61に送信する(ステップS115)。
Subsequently, the authentication unit 52 transmits information including the generated random number and the read public key (HOST_PUBLIC_KEY) to the encryption / decryption control unit 51 (step S114).
When receiving the information including the random number and the public key (HOST_PUBLIC_KEY), the encryption / decryption control unit 51 transmits the received information to the extended encryption providing unit 61 of the guest OS 60 (Step S115).

拡張暗号化提供部61は、乱数と公開鍵(HOST_PUBLIC_KEY)とを含む情報を暗復号制御部51から受信すると、受信した情報に含まれる乱数と、利用者80に対応するクレデンシャルとを連結してハッシュ値を生成する(ステップS116)。
続いて、拡張暗号化提供部61は、共通鍵(セッション鍵)を生成し、ステップS115で受信した公開鍵(HOST_PUBLIC_KEY)を用いて、に生成した共通鍵と鍵IDとを暗号化する(ステップS117)。
拡張暗号化提供部61は、ステップS116で生成したハッシュ値と、ステップS117で暗号化した共通鍵及び鍵IDとを含む情報を、ホストOS50の暗復号制御部51に送信する(ステップS118)。
When receiving the information including the random number and the public key (HOST_PUBLIC_KEY) from the encryption / decryption control unit 51, the extended encryption providing unit 61 concatenates the random number included in the received information and the credential corresponding to the user 80. A hash value is generated (step S116).
Subsequently, the extended encryption providing unit 61 generates a common key (session key) and encrypts the generated common key and key ID using the public key (HOST_PUBLIC_KEY) received in step S115 (step S115). S117).
The extended encryption providing unit 61 transmits information including the hash value generated in step S116 and the common key and key ID encrypted in step S117 to the encryption / decryption control unit 51 of the host OS 50 (step S118).

暗復号制御部51は、暗号化された共通鍵及び鍵IDと、ハッシュ値とを含む情報を受信すると、受信した情報を認証部52に送信する(ステップS119)。
認証部52は、暗復号制御部51から情報を受信すると、ステップS112で生成された乱数と、認証部52が有する認証データベースに記憶されているクレデンシャルとを連結してハッシュ値を生成する(ステップS120)。そして、認証部52は、ステップS120で生成されたハッシュ値と、ステップS119で受信したハッシュ値とを比較し、ハッシュ値が一致するか否かを判定する(ステップS121)。
When receiving the information including the encrypted common key and key ID, and the hash value, the encryption / decryption control unit 51 transmits the received information to the authentication unit 52 (step S119).
When receiving the information from the encryption / decryption control unit 51, the authenticating unit 52 concatenates the random number generated in step S112 and the credentials stored in the authentication database of the authenticating unit 52 to generate a hash value (step). S120). Then, the authentication unit 52 compares the hash value generated in step S120 with the hash value received in step S119, and determines whether or not the hash values match (step S121).

ステップS121において、ハッシュ値が一致すると判定すると認証部52は、鍵管理部53が有する鍵データベースから、公開鍵(HOST_PUBLIC_KEY)とペアとなる秘密鍵(HOST_PRIVATE_KEY)を読み出す(ステップS122)。
ホストOS50の認証部52は、読み出した秘密鍵(HOST_PRIVATE_KEY)を用いて、ステップS119において受信した情報に含まれる共通鍵及び鍵IDを復号する(ステップS123)。
If it is determined in step S121 that the hash values match, the authentication unit 52 reads out a private key (HOST_PRIVATE_KEY) paired with the public key (HOST_PUBLIC_KEY) from the key database of the key management unit 53 (step S122).
The authentication unit 52 of the host OS 50 uses the read secret key (HOST_PRIVATE_KEY) to decrypt the common key and key ID included in the information received in step S119 (step S123).

ホストOS50の鍵管理部53は、共通鍵及び鍵IDを復号すると、ステップS123で復号した共通鍵を、ホストOS50とゲストOS60との間の通信に用いるセッション鍵として、鍵ID及びセッション鍵と対応させて、鍵データベースに記憶させる(ステップS124)。
そして、ホストOS50の認証部52は、ゲストOS60に対して、ホストOS50が備える鍵管理部53を用いたデータの暗号化及び復号化の処理を許可することを示す認証応答情報を、ホストOS50の暗復号制御部51に送信する(ステップS125)。
ホストOS50の暗復号制御部51は、ステップS125で受信した認証応答情報を、ゲストOS60に送信する(ステップS126)。
When the key management unit 53 of the host OS 50 decrypts the common key and key ID, the common key decrypted in step S123 corresponds to the key ID and the session key as a session key used for communication between the host OS 50 and the guest OS 60. And stored in the key database (step S124).
Then, the authentication unit 52 of the host OS 50 sends authentication response information indicating that the guest OS 60 is permitted to perform data encryption and decryption processing using the key management unit 53 included in the host OS 50 to the host OS 50. It transmits to the encryption / decryption control part 51 (step S125).
The encryption / decryption control unit 51 of the host OS 50 transmits the authentication response information received in step S125 to the guest OS 60 (step S126).

ゲストOS60の拡張暗号化提供部61は、認証応答情報を受信すると、共通鍵をセッション鍵として鍵IDと対応付けて、メモリ上に記憶させる(ステップS127)。そして、ゲストOS60の拡張暗号化提供部61は、ステップS125で受信した認証応答情報が処理の許可を示す情報(認証OK)であれば認証成功画面を出力し、認証が不成立の場合、拡張暗号化提供部61は認証エラー画面を出力し(ステップS128)、ステップS108へ戻る。   Upon receiving the authentication response information, the extended encryption provider 61 of the guest OS 60 stores the common key in the memory in association with the key ID as a session key (step S127). The extended encryption providing unit 61 of the guest OS 60 outputs an authentication success screen if the authentication response information received in step S125 indicates information indicating that the processing is permitted (authentication OK). The providing unit 61 outputs an authentication error screen (step S128) and returns to step S108.

このように、ホストOS50の認証部52は、拡張暗号化提供部61を稼動させる際に、サービス認証処理において、クレデンシャルを用いて、ゲストOS60に対する認証を行う。認証が成立すると、ゲストOS60には、鍵IDとセッション鍵とが対応付けて記憶される。また、ホストOS50の鍵管理部53の鍵データベースには、鍵IDとセッション鍵とが対応付けて記憶される。   As described above, the authentication unit 52 of the host OS 50 authenticates the guest OS 60 using the credentials in the service authentication process when operating the extended encryption providing unit 61. When authentication is established, the guest OS 60 stores a key ID and a session key in association with each other. The key database of the key management unit 53 of the host OS 50 stores a key ID and a session key in association with each other.

次に、暗復号処理について説明する。
図8は、第1実施形態において、利用者がゲストOS60上で運用する暗号利用アプリケーション62から暗号化要求があった場合の処理の例を示すシーケンス図である。ここでは、図7に示したサービス認証処理が既に行われ、ホストOS50に備えられている鍵管理部53を用いたデータの暗号化及び復号化の処理を行うことを許可する認証が、ゲストOS60に対して行われている場合について説明する。
Next, the encryption / decryption process will be described.
FIG. 8 is a sequence diagram illustrating an example of processing in a case where the user makes an encryption request from the encryption use application 62 operated on the guest OS 60 in the first embodiment. Here, the service authentication process shown in FIG. 7 has already been performed, and the authentication that permits the data encryption and decryption processes using the key management unit 53 provided in the host OS 50 is performed by the guest OS 60. The case where it is performed for will be described.

図8において、ゲストOS60の暗号利用アプリケーション62は、暗号化対象データを含む処理要求をゲストOS60の拡張暗号化提供部61に送信する(ステップS129)。
ゲストOS60の拡張暗号化提供部61は、暗号化対象データを含む処理要求を受信すると、処理要求に含まれる暗号化対象データと鍵IDとを、サービス認証処理において記憶したセッション鍵を用いて暗号化する(ステップS130)。
拡張暗号化提供部61は、ステップS130で暗号化したデータを含む暗号化要求情報を、ホストOS50の暗復号制御部51へ送信する(ステップS131)。
In FIG. 8, the encryption using application 62 of the guest OS 60 transmits a processing request including the data to be encrypted to the extended encryption providing unit 61 of the guest OS 60 (step S129).
When the extended encryption provider 61 of the guest OS 60 receives the processing request including the data to be encrypted, it encrypts the data to be encrypted and the key ID included in the processing request using the session key stored in the service authentication process. (Step S130).
The extended encryption providing unit 61 transmits the encryption request information including the data encrypted in step S130 to the encryption / decryption control unit 51 of the host OS 50 (step S131).

ホストOS50の暗復号制御部51は、ステップS131で受信した暗号化要求情報を、鍵管理部53に送信する(ステップS132)。
鍵管理部53は、暗復号制御部51から暗号化要求情報を受信すると、鍵管理部53の鍵データベースからのセッション鍵を用いて、受信した暗号化要求情報に含まれる暗号化対象データと鍵IDとを復号する(ステップS133)。
The encryption / decryption control unit 51 of the host OS 50 transmits the encryption request information received in step S131 to the key management unit 53 (step S132).
When the key management unit 53 receives the encryption request information from the encryption / decryption control unit 51, the key management unit 53 uses the session key from the key database of the key management unit 53 and the data to be encrypted and the key included in the received encryption request information. The ID is decrypted (step S133).

鍵管理部53は、復号した鍵IDに対応する鍵値(暗号鍵)を鍵データベースから読み出す(ステップS134)。
鍵管理部53は、読み出した鍵値を用いて、暗号化対象データを暗号化し(ステップS135)、暗号化したデータを、暗復号制御部51へ送信する(ステップS136)。
暗復号制御部51は、鍵管理部53から受信した暗号化されたデータを、ゲストOS60の拡張暗号化提供部61へ送信する(ステップS137)。
The key management unit 53 reads a key value (encryption key) corresponding to the decrypted key ID from the key database (step S134).
The key management unit 53 encrypts the data to be encrypted using the read key value (step S135), and transmits the encrypted data to the encryption / decryption control unit 51 (step S136).
The encryption / decryption control unit 51 transmits the encrypted data received from the key management unit 53 to the extended encryption providing unit 61 of the guest OS 60 (step S137).

ゲストOS60の拡張暗号化提供部61は、ホストOS50の暗復号制御部51から暗号化されたデータを受信し、暗号利用アプリケーション62に送信する(ステップS138)。
これにより、暗号利用アプリケーション62は、ステップS129でゲストOS60に対して要求した暗号化対象データに対する暗号化データを得ることができる。
The extended encryption provider 61 of the guest OS 60 receives the encrypted data from the encryption / decryption controller 51 of the host OS 50 and transmits it to the encryption application 62 (step S138).
Thereby, the encryption using application 62 can obtain the encrypted data for the data to be encrypted requested to the guest OS 60 in step S129.

このように、暗号化処理では、ゲストOS60の暗号利用アプリケーション62が暗復号APIを呼び出してゲストOS60にデータの暗号化を要求すると、ゲストOS60の拡張暗号化提供部61は、ホストOS50に対してセキュアな通信チャネルを構築し、暗号処理をホストOS50に委託する。ステップS131で、ゲストOS60からホストOS50に送信するデータは、セッション鍵を用いて暗号化することで、盗聴の危険性を回避し、データの保護が図られている。ステップS137で、ホストOS50からゲストOS60に送信するデータは、既に暗号化されているので、セッション鍵での暗号化は行われない。セッション鍵での暗号化を行わないことで、処理の負担が減少し、性能劣化を防ぐことができる。   As described above, in the encryption process, when the encryption application 62 of the guest OS 60 calls the encryption / decryption API and requests the guest OS 60 to encrypt the data, the extended encryption providing unit 61 of the guest OS 60 A secure communication channel is constructed, and cryptographic processing is outsourced to the host OS 50. In step S131, the data transmitted from the guest OS 60 to the host OS 50 is encrypted using a session key, thereby avoiding the risk of eavesdropping and protecting the data. In step S137, the data to be transmitted from the host OS 50 to the guest OS 60 has already been encrypted, so that encryption with the session key is not performed. By not performing encryption with the session key, the processing burden is reduced and performance degradation can be prevented.

図9は、第1実施形態における利用者がゲストOS60上で運用する暗号利用アプリケーション62から復号化要求があった場合の処理の例を示すシーケンス図である。ここでは、上述の暗号化要求があった場合と同様に、図7に示したサービス認証処理が既に行われ、ホストOS50に備えられている鍵管理部53を用いたデータの暗号化及び復号化の処理を行うことを許可する認証が、ゲストOS60に対して行われている場合について説明する。   FIG. 9 is a sequence diagram illustrating an example of processing when the user makes a decryption request from the encryption utilization application 62 operated on the guest OS 60 in the first embodiment. Here, as in the case of the above-described encryption request, the service authentication process shown in FIG. 7 has already been performed, and data encryption and decryption using the key management unit 53 provided in the host OS 50 is performed. A case will be described in which authentication for permitting the processing is performed on the guest OS 60.

図9において、暗号利用アプリケーション62は、復号化対象データを含む処理要求を、ゲストOS60の拡張暗号化提供部61に送信する(ステップS139)。
拡張暗号化提供部61は、復号化対象データを含む処理要求を受信すると、鍵IDを該鍵IDに対応するセッション鍵を用いて暗号化する(ステップS140)。そして、拡張暗号化提供部61は、復号化対象データと、暗号化された鍵IDとを含む復号要求情報を、ホストOS50の暗復号制御部51へ送信する(ステップS141)。
In FIG. 9, the encryption using application 62 transmits a processing request including the decryption target data to the extended encryption providing unit 61 of the guest OS 60 (step S139).
When receiving the processing request including the data to be decrypted, the extended encryption providing unit 61 encrypts the key ID using the session key corresponding to the key ID (step S140). Then, the extended encryption providing unit 61 transmits the decryption request information including the decryption target data and the encrypted key ID to the encryption / decryption control unit 51 of the host OS 50 (step S141).

ホストOS50の暗復号制御部51は、ステップS141でデータを受信すると、受信した復号要求情報を、鍵管理部53に送信する(ステップS142)。
鍵管理部53は、鍵データベースに記憶されているセッション鍵を用いて、暗復号制御部51から受信した復号要求情報に含まれる暗号化された鍵IDを復号し(ステップS143)、復号した鍵IDに対応する鍵値(暗号鍵)を鍵データベースから読み出す(検索する)(ステップS144)。
When receiving the data in step S141, the encryption / decryption control unit 51 of the host OS 50 transmits the received decryption request information to the key management unit 53 (step S142).
The key management unit 53 decrypts the encrypted key ID included in the decryption request information received from the encryption / decryption control unit 51 using the session key stored in the key database (step S143), and decrypts the decrypted key. A key value (encryption key) corresponding to the ID is read (searched) from the key database (step S144).

そして、鍵管理部53は、読み出した鍵値を用いて、復号化対象データを復号する(ステップS145)。鍵管理部53は、復号したデータを、セッション鍵で暗号化し(ステップS146)、暗号化したデータを、ホストOS50の暗復号制御部51へ送信する(ステップS147)。   Then, the key management unit 53 decrypts the data to be decrypted using the read key value (step S145). The key management unit 53 encrypts the decrypted data with the session key (step S146), and transmits the encrypted data to the encryption / decryption control unit 51 of the host OS 50 (step S147).

ホストOS50の暗復号制御部51は、セッション鍵で暗号化されたデータを鍵管理部53から受信すると、受信した当該データをゲストOS60の拡張暗号化提供部61に送信する(ステップS148)。   When receiving the data encrypted with the session key from the key management unit 53, the encryption / decryption control unit 51 of the host OS 50 transmits the received data to the extended encryption providing unit 61 of the guest OS 60 (step S148).

ゲストOS60の拡張暗号化提供部61は、ホストOS50の暗復号制御部51から受信したデータを、セッション鍵で復号する(ステップS149)。そして、拡張暗号化提供部61は、復号したデータを、暗号利用アプリケーション62に送信する(ステップS150)。これにより、暗号利用アプリケーション62は、ステップS139で要求した復号化対象データに対する復号データを得ることができる。   The extended encryption providing unit 61 of the guest OS 60 decrypts the data received from the encryption / decryption control unit 51 of the host OS 50 with the session key (step S149). Then, the extended encryption providing unit 61 transmits the decrypted data to the encryption using application 62 (Step S150). Thereby, the encryption using application 62 can obtain the decrypted data for the decryption target data requested in step S139.

このように、復号化処理では、ゲストOS60の暗号利用アプリケーション62が暗復号APIを呼び出してゲストOS60にデータの復号化を要求すると、ゲストOS60の拡張暗号化提供部61は、ホストOS50に対してセキュアな通信チャネルを構築し、復号処理をホストOS50に委託する。ステップS141で、ゲストOS60からホストOS50に送信するデータは、暗号化されているため、セッション鍵での暗号化は不要である。ただし、鍵IDについては、盗聴の危険あるため、セッション鍵で暗号化している。ステップS148で、ホストOS50からゲストOS60に送信するデータは、セッション鍵を用いて暗号化して、盗聴の危険性を回避している。   Thus, in the decryption process, when the encryption application 62 of the guest OS 60 calls the encryption / decryption API and requests the guest OS 60 to decrypt the data, the extended encryption providing unit 61 of the guest OS 60 A secure communication channel is constructed, and decryption processing is outsourced to the host OS 50. In step S141, the data transmitted from the guest OS 60 to the host OS 50 is encrypted, so that encryption with a session key is not necessary. However, the key ID is encrypted with the session key because there is a risk of eavesdropping. In step S148, the data transmitted from the host OS 50 to the guest OS 60 is encrypted using a session key to avoid the risk of eavesdropping.

上述のように、ホストOS50において、鍵管理部53が、ゲストOS60からデータと該データに対する暗号化又は復号化の要求とを示す要求情報を受信すると、ゲストOS60を利用する利用者ごとに対応付けられた暗号鍵が記憶されている認証データベースから、要求情報を送信したゲストOSを利用する利用者に対応する暗号鍵を読み出し、読み出した暗号鍵を用いて要求情報に含まれるデータに対して暗号化及び復号化を行う。また、ゲストOS60において、拡張暗号化提供部61が、当該ゲストOS60において実行されている暗号利用アプリケーションからデータの暗号化又は復号化の要求が入力されると、該データと該データに対する暗号化又は復号化の要求を示す要求情報をホストOS50に送信し、該要求情報に対する応答としてホストOS50から暗号化されたデータ又は復号化されたデータを受信する。
これにより、ゲストOS60は、暗復号処理をホストOS50に委託し、ホストOS50がゲストOS60から要求された暗復号処理に対応する暗号鍵を用いて暗復号処理を実施し、処理結果をゲストOS60に送信することで、仮想化された環境下で、セキュアな暗復号化処理を行い、データの保護を図るとともに、信頼性を向上させることができる。
As described above, in the host OS 50, when the key management unit 53 receives the request information indicating the data and the encryption or decryption request for the data from the guest OS 60, the key management unit 53 associates each user who uses the guest OS 60 with each other. The encryption key corresponding to the user who uses the guest OS that transmitted the request information is read from the authentication database in which the stored encryption key is stored, and the read encryption key is used to encrypt the data included in the request information. And decryption. Further, in the guest OS 60, when a request for encryption or decryption of data is input from the encryption application running in the guest OS 60, the extended encryption providing unit 61 encrypts or decrypts the data and the data. Request information indicating a request for decryption is transmitted to the host OS 50, and encrypted data or decrypted data is received from the host OS 50 as a response to the request information.
Thereby, the guest OS 60 entrusts the encryption / decryption processing to the host OS 50, the host OS 50 performs the encryption / decryption processing using the encryption key corresponding to the encryption / decryption processing requested from the guest OS 60, and the processing result is sent to the guest OS 60. By transmitting, secure encryption / decryption processing is performed in a virtualized environment, data can be protected, and reliability can be improved.

また、ホストOS50において、認証部52は、ゲストOS60において拡張暗号化提供部61を稼動させる際に、該ゲストOS60が鍵管理部53を用いたデータの暗号化及び復号化を行うことを許可するか否かを認証する。すなわち、ゲストOS60から受信した鍵ID及びクレデンシャルと、利用者に予め割り当てられている鍵ID及びクレデンシャルとが一致するか否かを判定し、一致する場合に、当該ゲストOS60から要求されるデータの暗号化及び復号化を行うことを許可するようにした。
これにより、鍵管理部53を利用したデータの暗号化及び復号化を許可するゲストOS60を限定することにより、暗号鍵を利用したデータの暗号化及び復号化に対するセキュリティを向上させることができる。
In the host OS 50, the authentication unit 52 permits the guest OS 60 to perform encryption and decryption of data using the key management unit 53 when operating the extended encryption providing unit 61 in the guest OS 60. Authenticate whether or not. That is, it is determined whether or not the key ID and credential received from the guest OS 60 match the key ID and credential assigned in advance to the user. Allowed to perform encryption and decryption.
As a result, by limiting the guest OS 60 that permits the encryption and decryption of data using the key management unit 53, it is possible to improve the security for the encryption and decryption of data using the encryption key.

また、認証部52は、鍵管理部53に対してデータの暗号化及び復号化することを許可されたゲストOS60に対して、当該ゲストOS60との間で送受信されるデータを暗号化する際に用いるセッション鍵を生成し、生成したセッション鍵を該ゲストOSに対応する暗号鍵に対応付けて前記鍵データベースに記憶させるようにした。
これにより、ホストOS50とゲストOS60との間で送受信されるデータは、セッション鍵を用いて暗号化されるので、秘匿性を高めることができ、セキュリティを向上させることができる。
In addition, when the authentication unit 52 encrypts data transmitted / received to / from the guest OS 60 with respect to the guest OS 60 permitted to encrypt and decrypt the data by the key management unit 53. A session key to be used is generated, and the generated session key is stored in the key database in association with an encryption key corresponding to the guest OS.
Thereby, since the data transmitted / received between the host OS 50 and the guest OS 60 are encrypted using the session key, the secrecy can be increased and the security can be improved.

なお、例えば、暗復号鍵として利用者が要求した鍵を用いたいような場合がある。このような場合には、ステップS104における鍵値の登録は行わず、鍵データベースの鍵値は空白にしておき、利用者には鍵IDとクレデンシャルだけを知らせておき、図7のステップS125でサービス認証処理が終了した後、利用者に鍵の入力を要求して鍵を取得し、この鍵をセッション鍵で暗号化して、ゲストOS60からホストOS50に送信し、ホストOS50の鍵管理部53の鍵データベースに記憶させるようにしてもよい。   For example, there are cases where it is desired to use the key requested by the user as the encryption / decryption key. In such a case, the key value is not registered in step S104, the key value in the key database is left blank, the user is informed of only the key ID and credentials, and the service is provided in step S125 of FIG. After the authentication process is completed, the user is requested to input a key, the key is acquired, the key is encrypted with a session key, transmitted from the guest OS 60 to the host OS 50, and the key of the key management unit 53 of the host OS 50 You may make it memorize | store in a database.

また、ホストOS50に対して、複数のゲストOS60がデータの暗号化及び復号化の要求を行う場合、ホストOS50は、各ゲストOS60を一意に識別するために割り当てるゲストOS−IDや、IPアドレス、MACアドレスなどと対応付けてセッション鍵を記憶して、各ゲストOS60に対応するセッション鍵を管理するようにしてもよい。
また、ステップS126において、ゲストOS60に対して送信する応答認証情報に、ゲストOS60を一意に識別するための情報を含めて送信するとともに、当該ゲストOS60に対するセッション鍵と当該情報とを対応付けて記憶するようにしてもよい。更に、ゲストOS60は、当該情報をホストOS50に対して送信する情報を含めるようにして、ホストOS50がいずれのゲストOS60から送信された情報であるか識別できるようにしてもよい。
Further, when a plurality of guest OSs 60 request the host OS 50 to encrypt and decrypt data, the host OS 50 assigns guest OS-IDs, IP addresses, The session key may be stored in association with the MAC address or the like, and the session key corresponding to each guest OS 60 may be managed.
In step S126, the response authentication information transmitted to the guest OS 60 is transmitted including information for uniquely identifying the guest OS 60, and the session key for the guest OS 60 and the information are stored in association with each other. You may make it do. Further, the guest OS 60 may include information for transmitting the information to the host OS 50 so that the host OS 50 can identify the information transmitted from which guest OS 60.

また、本実施形態においては、利用者と暗号鍵が1対1に対応付けられた構成について説明したが、利用者に対して複数の暗号鍵を対応付けるようにしてもよい。この場合、利用者が試用する暗号利用アプリケーションと、鍵ID及び暗号鍵(鍵値)との組合せを鍵データベースに記憶させるようにしてもよい。また、利用者が利用する複数の鍵ID及び暗号鍵(鍵値)と、利用者とを対応付ける設定ファイルをゲストOSごとに用意し、ゲストOSが起動するときに当該設定ファイルを読み出して、サービス認証処理(図7)において複数の鍵ID及び暗号鍵に対応するクレデンシャルの認証を一括で行うようにしてもよい。これにより、利用者は、暗号利用アプリケーションごとに異なる暗号鍵を用いてデータを扱うことができ、ゲストOSにおけるセキュリティを更に向上させることができる。   In the present embodiment, the configuration in which the user and the encryption key are associated one-to-one has been described. However, a plurality of encryption keys may be associated with the user. In this case, a combination of the encryption application to be used by the user and the key ID and encryption key (key value) may be stored in the key database. In addition, a setting file for associating a plurality of key IDs and encryption keys (key values) used by a user with a user is prepared for each guest OS, and when the guest OS starts, the setting file is read to In the authentication process (FIG. 7), authentication of credentials corresponding to a plurality of key IDs and encryption keys may be performed collectively. Thereby, the user can handle data using different encryption keys for each encryption application, and the security in the guest OS can be further improved.

本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。   The present invention is not limited to the above-described embodiments, and various modifications and applications can be made without departing from the gist of the present invention.

1…データセンター
2…管理マシン
3…仮想マシン
5…利用者端末
6…ネットワーク網
50…ホストOS
51…暗復号制御部
52…認証部
53…鍵管理部
60…ゲストOS
61…拡張暗号化提供部
62…暗号利用アプリケーション
70…登録サーバ
DESCRIPTION OF SYMBOLS 1 ... Data center 2 ... Management machine 3 ... Virtual machine 5 ... User terminal 6 ... Network network 50 ... Host OS
51 ... Encryption / Decryption Control Unit 52 ... Authentication Unit 53 ... Key Management Unit 60 ... Guest OS
61 ... Extended encryption provider 62 ... Encryption application 70 ... Registration server

Claims (3)

ホストOSにおいて稼動する仮想マシンを用いて少なくとも1つのゲストOSを動作させる情報処理システムであって、
前記ホストOSは、
前記ゲストOSからデータと該データに対する暗号化又は復号化の要求とを示す要求情報を受信すると、ゲストOSを利用する利用者ごとに対応付けられた暗号鍵が記憶されている鍵データベースから、前記要求情報を送信したゲストOSを利用する利用者に対応する暗号鍵を読み出し、読み出した暗号鍵を用いて前記要求情報に含まれるデータに対して暗号化及び復号化を行う鍵管理部を備え、
前記ゲストOSは、
該ゲストOSにおいて実行されているアプリケーションからデータの暗号化又は復号化の要求が入力されると、該データと該データに対する暗号化又は復号化の要求を示す要求情報を前記ホストOSに送信し、該要求情報に対する応答として前記ホストOSから暗号化されたデータ又は復号化されたデータを受信する拡張暗号化提供部を備え
前記ホストOSは、
前記拡張暗号化提供部を稼動させる際に、前記ゲストOSを利用する利用者が入力した暗号鍵の識別情報とクレデンシャルとに基づいて、該ゲストOSが前記鍵管理部を用いたデータの暗号化及び復号化を行うことを許可するか否かを認証する認証部を更に備える
ことを特徴とする情報処理システム。
An information processing system for operating at least one guest OS using a virtual machine operating in a host OS,
The host OS is
Upon receiving request information indicating data and a request for encryption or decryption for the data from the guest OS, the key database stores an encryption key associated with each user using the guest OS. A key management unit that reads an encryption key corresponding to a user who uses the guest OS that transmitted the request information, and encrypts and decrypts the data included in the request information using the read encryption key;
The guest OS is
When a data encryption or decryption request is input from an application executed in the guest OS, the request information indicating the data and the encryption or decryption request for the data is transmitted to the host OS. An extended encryption providing unit that receives encrypted data or decrypted data from the host OS as a response to the request information ;
The host OS is
When operating the extended encryption providing unit, the guest OS uses the key management unit to encrypt data based on the identification information and the credentials of the encryption key input by the user using the guest OS. And an information processing system further comprising an authentication unit for authenticating whether or not to permit the decryption .
前記認証部は、
前記鍵管理部に対してデータの暗号化及び復号化することを許可された前記ゲストOSに対して、該ゲストOSとの間で送受信されるデータを暗号化する際に用いるセッション鍵を生成し、生成したセッション鍵を該ゲストOSに対応する暗号鍵に対応付けて前記鍵データベースに記憶させ
前記セッション鍵による暗号化は、
前記ホストOSにて復号化されたデータを該セッション鍵に対応する前記ゲストOSに送信する際に行われ、前記ホストOSにて暗号化されたデータを前記ゲストOSに送信する際には行われない
ことを特徴とする請求項に記載の情報処理システム。
The authentication unit
Generates a session key to be used when encrypting data transmitted / received to / from the guest OS, with respect to the guest OS permitted to encrypt / decrypt data by the key management unit. And storing the generated session key in the key database in association with the encryption key corresponding to the guest OS ,
Encryption with the session key is as follows:
This is performed when data decrypted by the host OS is transmitted to the guest OS corresponding to the session key, and is performed when data encrypted by the host OS is transmitted to the guest OS. the information processing system according to claim 1, characterized in that there is no.
ホストOSにおいて稼動する仮想マシンを用いて少なくとも1つのゲストOSを動作させる情報処理システムにおける情報処理方法であって、
前記ホストOSが、前記ゲストOSを利用する利用者が入力した暗号鍵の識別情報とクレデンシャルとに基づいて、該ゲストOSから要求されるデータの暗号化及び復号化を行うことを許可するか否かを認証するステップと、
認証された前記ゲストOSが、該ゲストOSにおいて実行されているアプリケーションからデータの暗号化又は復号化の要求が入力されると、該データと該データに対する暗号化又は復号化の要求を示す要求情報を前記ホストOSに送信するステップと、
前記ホストOSが、前記ゲストOSからデータと該データに対する暗号化又は復号化の要求とを示す要求情報を受信すると、ゲストOSを利用する利用者ごとに対応付けられた暗号鍵が記憶されている鍵データベースから、前記要求情報を送信したゲストOSを利用する利用者に対応する暗号鍵を読み出し、読み出した暗号鍵を用いて前記要求情報に含まれるデータに対して暗号化及び復号化を行うステップと、
前記ゲストOSが、前記要求情報に対する応答として前記ホストOSから暗号化されたデータ又は復号化されたデータを受信するステップと
を有することを特徴とする情報処理方法。
An information processing method in an information processing system for operating at least one guest OS using a virtual machine operating in a host OS,
Whether to allow the host OS to encrypt and decrypt data requested by the guest OS based on the identification information and credentials of the encryption key input by the user using the guest OS Authenticating or
When the authenticated guest OS receives a data encryption or decryption request from an application running on the guest OS, the request information indicating the data and the data encryption or decryption request Sending to the host OS;
When the host OS receives request information indicating data and a request for encryption or decryption of the data from the guest OS, an encryption key associated with each user using the guest OS is stored. A step of reading an encryption key corresponding to a user who uses the guest OS that transmitted the request information from the key database, and performing encryption and decryption on the data included in the request information using the read encryption key When,
The guest OS includes a step of receiving encrypted data or decrypted data from the host OS as a response to the request information.
JP2011040022A 2011-02-25 2011-02-25 Information processing system and information processing method Active JP5564453B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011040022A JP5564453B2 (en) 2011-02-25 2011-02-25 Information processing system and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011040022A JP5564453B2 (en) 2011-02-25 2011-02-25 Information processing system and information processing method

Publications (2)

Publication Number Publication Date
JP2012178010A JP2012178010A (en) 2012-09-13
JP5564453B2 true JP5564453B2 (en) 2014-07-30

Family

ID=46979822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011040022A Active JP5564453B2 (en) 2011-02-25 2011-02-25 Information processing system and information processing method

Country Status (1)

Country Link
JP (1) JP5564453B2 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10084818B1 (en) 2012-06-07 2018-09-25 Amazon Technologies, Inc. Flexibly configurable data modification services
US9590959B2 (en) 2013-02-12 2017-03-07 Amazon Technologies, Inc. Data security service
US10075471B2 (en) 2012-06-07 2018-09-11 Amazon Technologies, Inc. Data loss prevention techniques
US9286491B2 (en) 2012-06-07 2016-03-15 Amazon Technologies, Inc. Virtual service provider zones
US10210341B2 (en) * 2013-02-12 2019-02-19 Amazon Technologies, Inc. Delayed data access
US9608813B1 (en) 2013-06-13 2017-03-28 Amazon Technologies, Inc. Key rotation techniques
US9367697B1 (en) 2013-02-12 2016-06-14 Amazon Technologies, Inc. Data security with a security module
US10467422B1 (en) 2013-02-12 2019-11-05 Amazon Technologies, Inc. Automatic key rotation
US9705674B2 (en) 2013-02-12 2017-07-11 Amazon Technologies, Inc. Federated key management
US20150026465A1 (en) * 2013-07-18 2015-01-22 Alcatel Lucent Methods And Devices For Protecting Private Data
US9397835B1 (en) 2014-05-21 2016-07-19 Amazon Technologies, Inc. Web of trust management in a distributed system
US9438421B1 (en) 2014-06-27 2016-09-06 Amazon Technologies, Inc. Supporting a fixed transaction rate with a variably-backed logical cryptographic key
US9866392B1 (en) 2014-09-15 2018-01-09 Amazon Technologies, Inc. Distributed system web of trust provisioning
US10645064B2 (en) * 2015-04-23 2020-05-05 Alcatel Lucent Virtualized application performance through disabling of unnecessary functions
US10447478B2 (en) * 2016-06-06 2019-10-15 Microsoft Technology Licensing, Llc Cryptographic applications for a blockchain system
JP6867718B1 (en) * 2020-02-20 2021-05-12 Eaglys株式会社 Information processing system, information processing device, information processing method, and information processing program
KR102392626B1 (en) * 2020-08-11 2022-04-29 숭실대학교 산학협력단 Secure communication control system and method used in virtualized operating system environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4782871B2 (en) * 2007-10-03 2011-09-28 富士通株式会社 Device access control program, device access control method, and information processing apparatus
JP2010039626A (en) * 2008-08-01 2010-02-18 Fujitsu Ltd Network setting program, network setting method, and network setting device
JP2010062738A (en) * 2008-09-02 2010-03-18 Fujitsu Ltd Program, method and device for setting network

Also Published As

Publication number Publication date
JP2012178010A (en) 2012-09-13

Similar Documents

Publication Publication Date Title
JP5564453B2 (en) Information processing system and information processing method
JP7364674B2 (en) Secure over-the-air firmware upgrades
EP3646173B1 (en) Theft and tamper resistant data protection
CN113545006B (en) Remote authorized access locked data storage device
US9917829B1 (en) Method and apparatus for providing a conditional single sign on
TWI489315B (en) System and method for temporary secure boot of an electronic device
CN107465689B (en) Key management system and method of virtual trusted platform module in cloud environment
US8462955B2 (en) Key protectors based on online keys
EP2328107B1 (en) Identity controlled data center
CN105915338B (en) Generate the method and system of key
CN109981255B (en) Method and system for updating key pool
EP3555786B1 (en) Secure provisioning of unique time-limited certificates to virtual application instances in dynamic and elastic systems
EP2954448A1 (en) Provisioning sensitive data into third party network-enabled devices
CN113557689B (en) Initializing a data storage device with a manager device
CN107920052B (en) Encryption method and intelligent device
GB2554082B (en) User sign-in and authentication without passwords
EP3292654B1 (en) A security approach for storing credentials for offline use and copy-protected vault content in devices
WO2014130479A1 (en) Protecting data in a mobile environment
CN112738064A (en) Method for improving security of SSH protocol based on SM2 and SM4 cryptographic algorithm
CN106992978B (en) Network security management method and server
KR101107056B1 (en) Method for protecting important information of virtual machine in cloud computing environment
KR102062851B1 (en) Single sign on service authentication method and system using token management demon
US11177958B2 (en) Protection of authentication tokens
JP5620805B2 (en) Database encryption apparatus, database encryption system, database encryption method and program
JP6779702B2 (en) How to protect your program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130328

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130515

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130816

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140616

R150 Certificate of patent or registration of utility model

Ref document number: 5564453

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250