JP2013242644A - 仮想計算機システム、制御方法、およびプログラム - Google Patents

仮想計算機システム、制御方法、およびプログラム Download PDF

Info

Publication number
JP2013242644A
JP2013242644A JP2012114367A JP2012114367A JP2013242644A JP 2013242644 A JP2013242644 A JP 2013242644A JP 2012114367 A JP2012114367 A JP 2012114367A JP 2012114367 A JP2012114367 A JP 2012114367A JP 2013242644 A JP2013242644 A JP 2013242644A
Authority
JP
Japan
Prior art keywords
virtual machine
authentication
area
secure
program
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.)
Pending
Application number
JP2012114367A
Other languages
English (en)
Inventor
Terumasa Kamiyama
輝壮 神山
Masahiko Saito
雅彦 齊藤
Tadao Tanigawa
忠雄 谷川
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.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2012114367A priority Critical patent/JP2013242644A/ja
Publication of JP2013242644A publication Critical patent/JP2013242644A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】複数の仮想計算機を備える仮想計算機システムにおいて、安全性の確保とセキュリティ処理のオーバーヘッドの低減とを実現すること。
【解決手段】ハイパーバイザと、ハイパーバイザ上で動作する第一の仮想計算機および第二の仮想計算機からなる仮想計算機システムであって、ハイパーバイザは、第二の仮想計算機への切り替えを行うことなく第一の仮想計算機からアクセスすることが可能な領域であって、第一の仮想計算機上でデータ処理を行う際に用いる第一のプログラムが格納される第一の領域を生成する共有メモリアクセス管理部を備え、第二の仮想計算機は、第一の仮想計算機からの認証要求に対する結果に基づき第一の領域を制御することにより、第一の仮想計算機による第一のプログラムの実行可否を制御する第二のプログラムを備える。
【選択図】図1

Description

本発明は、セキュアな仮想計算機(VM)と非セキュアな仮想計算機を動作させた環境で、暗復号処理を安全かつオーバーヘッドを抑えて行うための仮想計算機間の通信装置及び方法に関するものである。
近年の情報処理装置の中には、個人情報や金銭を伴うサービスの情報など重要データを保持するものがある。このようなデータは悪意のあるプログラムによって盗まれる危険性がある。このプログラムはインターネットなどのオープンなネットワークから情報処理装置に不正にダウンロードされるものであり、ユーザの意図に反して動作するものである。上記プログラムは、上記重要データを読み込んで特定のユーザに送信することでデータを盗むことができる。そこでこのようなプログラムの攻撃から重要データを保護しなければならない。
重要データを保護するための技術として、安全なソフトウェア実行環境と通常のソフトウェア実行環境とを切り替えて、コンピュータプログラムを実行する技術が存在する。さらに、安全なソフトウェア実行環境と通常のソフトウェア実行環境とを切り替えて、コンピュータプログラムを実行する際に、暗号化や復号などの情報セキュリティ処理に直接関連しない処理によるオーバーヘッドを抑えることを可能とする技術が存在する(例えば、特許文献1参照)。
特開2010−182296号公報
ところで、スマートフォンなどの携帯端末においては、重要データの安全性の確保とセキュリティ処理のオーバーヘッドの低減について、さらなる改善を図る必要がある。
そこで、本発明は、セキュア仮想計算機と非セキュア仮想計算機を動作させた仮想化環境において、安全性の確保とセキュリティ処理のオーバーヘッドの低減とを実現する仮想計算機システムを提供することを目的とする。
前記従来の課題を解決するために、本発明の仮想計算機システムは、ハイパーバイザと、前記ハイパーバイザ上で動作する第一の仮想計算機および第二の仮想計算機からなる仮想計算機システムであって、前記ハイパーバイザは、前記第二の仮想計算機への切り替えを行うことなく前記第一の仮想計算機からアクセスすることが可能な領域であって、前記第一の仮想計算機上でデータ処理を行う際に用いる第一のプログラムが格納される第一の領域を生成する共有メモリアクセス管理部を備え、前記第二の仮想計算機は、前記第一の仮想計算機からの認証要求に対する結果に基づき前記第一の領域を制御することにより、前記第一の仮想計算機による前記第一のプログラムの実行可否を制御する第二のプログラムを備える。
本発明の仮想計算機システムによれば、複数の仮想計算機を備える仮想計算機システムにおいて、安全性の確保とセキュリティ処理のオーバーヘッドの低減とを実現することが可能となる。
実施の形態1における仮想計算機システムの機能ブロック図 実施の形態1におけるセキュアアプリケーションおよびセキュアデーモンの詳細構成のブロック図 ユーザ認証入力が入力された時のセキュアアプリケーションの動作の一例を示すフローチャート 実施の形態1における認証開始時のセキュアデーモンの動作の一例を示すフローチャート の実施の形態1における認証終了時のセキュアデーモンの動作一例を示すフローチャート 認証設定時におけるセキュアデーモンの動作一例を示すフローチャート データアクセスアプリケーションの詳細構成のブロック図 実施の形態1における暗号化メモリ領域のデータ読み込み時の動作一例を示すフローチャート 実施の形態1における暗号化メモリ領域のデータ書き込み時の動作一例を示すフローチャート 実施の形態2における仮想計算機システムの機能ブロック図 実施の形態2におけるセキュアアプリケーションおよびセキュアデーモンの詳細構成のブロック図 実施の形態2の認証開始時のセキュアデーモンの動作一例を示すフローチャート 実施の形態2の認証終了時のセキュアデーモンの動作一例を示すフローチャート 実施の形態3における仮想計算機システムの機能ブロック図 実施の形態3におけるセキュアアプリケーションおよびセキュアデーモンの詳細構成のブロック図 実施の形態3の認証開始時のセキュアデーモンの動作一例を示すフロー チャート 実施の形態3の認証終了時のセキュアデーモンの動作一例を示すフローチャート
(本発明に係る一形態を得るに至った経緯)
重要データを保護するための手段の一つとして、複数の仮想計算機を管理・実行する仮想計算機システムの導入が考えられる。仮想計算機を用いた環境では、一つの物理的な計算機で複数の仮想的な計算機を動作できる。よって、秘匿性を必要とするプログラムを、一般的な処理をさせる仮想計算機(以下、「非セキュア仮想計算機」と称する)とは別の仮想計算機(以下、「セキュア仮想計算機」と称する)に処理させることにより、仮想計算機レベルで悪意のあるプログラムが他のプログラム処理の解析することを防止できる。また、非セキュア仮想計算機のシステム管理者権限が悪意のあるプログラムによって奪われてしまっても、セキュア仮想計算機のデータやプログラムを改ざんすることや読み取ることはできない。すなわち、セキュア仮想計算機に、暗号化アルゴリズムやキーなどのセキュアなデータを扱うためのプログラムを保持させて、セキュア仮想計算機内で実行させることで、システム管理者権限を奪取するプログラムからの攻撃に対しても、秘匿性を守ることができる。
ここで、複数の仮想計算機からなる仮想計算機システムでは、ある仮想計算機から別の仮想計算機への切り替え(以下、「VMスイッチ」と称する)にあたっては、仮想計算機間の通信及びデータの退避処理が必要となり、多大なオーバーヘッドが発生する。前述のように、非セキュア仮想計算機とセキュア仮想計算機からなる仮想計算機の場合、セキュアなデータを扱う処理を行うたびに、非セキュア仮想計算機からセキュア仮想計算機への切り替えと、セキュア仮想計算機から非セキュア仮想計算機への切り戻しを行う必要がある。一般的な暗号化アルゴリズムではブロック単位で暗号化されるため、ブロックごとに暗号化処理を行うたびにVMスイッチが発生することになる。
特許文献1の技術は、仮想計算機を用いない情報処理において、通常モードと保護モードとの切り替えに伴うオーバーヘッドの削減を目的とするものである。特許文献1の技術は、この目的を実現するために、通常処理を行う実行環境と秘匿性を必要とする処理を行うセキュアな実行環境それぞれに暗復号処理部を設け、プログラムの改ざんを監視し、改ざんがないことが確認できたら、通常処理を行う実行環境の暗復号処理を実行させるというものである。
しかし、特許文献1の技術では、通常処理の実行環境に悪意のあるプログラムが混入し、システム管理者権限を奪われてしまうと、通常処理の実行環境が保持する暗号アルゴリズムやキーが解析できてしまうというセキュリティ面の課題がある。本発明者は、非セキュア仮想計算機においてセキュアなデータを扱うプログラムを、非セキュア仮想計算機からセキュア仮想計算機へのVMスイッチを行うことなくアクセス可能な領域に格納し、非セキュア仮想計算機内には保持しないようにすることにより、この課題を解決できることを見出し、本発明に至った。
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、実施の形態1における仮想計算機システム100の機能ブロック図である。
仮想計算機システム100は、非セキュア仮想計算機1、セキュア仮想計算機2、ハイパーバイザ3を備える。図1では非セキュア仮想計算機1は1つのみ記載したが、処理に応じて複数の非セキュア仮想計算機1が動作してもよい。
非セキュア仮想計算機1は、一般的な処理を実行するプログラムを動作させる実行環境である。非セキュア仮想計算機1は、例えばダウンロードアプリケーションなどの安全性が保証されていないアプリケーションが混在する実行環境である。本実施の形態においては、非セキュア仮想計算機1は、秘匿性のあるデータと秘匿性のないデータの両方を扱うが、秘匿性のあるデータについては、セキュア仮想計算機2から許可された場合に扱うことが可能な実行環境であるものとする。非セキュア仮想計算機1は、セキュアアプリケーション11と、データアクセスアプリケーション12と、非セキュアOS13を備える。
セキュアアプリケーション11は、セキュア仮想計算機2のセキュアデーモン21と通信することで、非セキュア仮想計算機1の実行環境から暗復号処理前の認証を要求するアプリケーションである。セキュアアプリケーション11の詳細な構成は後述する。
データアクセスアプリケーション12は、暗号化メモリ領域33のデータを読み書きするアプリケーションである。データアクセスアプリケーション12の例として、ダウンロードアプリケーションやファイル管理アプリケーションが挙げられる。データアクセスアプリケーション12の詳細な構成は後述する。
非セキュアOS13は、一般的な処理を実行するプログラムを制御し管理するプログラムである。一般的な処理を行うプログラムには、前述のように、安全性が保障されていないアプリケーションが含まれる。非セキュアOS13は、暗号化領域読込部131と、暗号化領域書込部132と、非セキュアOSメモリ生成部133と、非セキュアOSローカルメモリ134と、一時バッファ135と、暗復号領域認識部136を備える。
暗号化領域読込部131は、暗号化メモリ領域33から対象データを読み出して復号化し、復号化した対象データを、非セキュアOSローカルメモリ134に格納する。暗号化領域読込部131は、後述する、データアクセスアプリケーション12が備える読込受付部121から呼ばれると、非セキュアOSメモリ生成部133を呼びだし、一時バッファ135を生成する。そして、暗号化領域読込部131は、暗号化メモリ領域33から対象データを一時バッファ135に移動させる。その後、暗号化領域読込部131は、暗復号処理格納メモリ34内に格納された暗復号処理バイナリ24を呼ぶ。そして、暗号化領域読込部131は、呼びだした暗復号処理バイナリ24により一時バッファ135のデータを復号化し、復号化したデータを非セキュアOSローカルメモリ134に格納する。
暗号化領域書込部132は、非セキュアOSローカルメモリ134内の対象データを暗号化して、暗号化メモリ領域33に格納する。暗号化領域書込部132は、後述する、データアクセスアプリケーション12が備える書込受付部122から呼ばれると、非セキュアOSメモリ生成部133を呼びだし、一時バッファ135を生成する。そして暗号化領域書込部132は、非セキュアOSローカルメモリ134から対象データを一時バッファ135に移動させる。その後、暗号化領域書込部132は、暗復号処理格納メモリ34内にある暗復号処理バイナリ24を呼ぶ。そして、暗号化領域書込部132は、呼びだした暗復号処理バイナリ24により一時バッファ135のデータを暗号化し、暗号化メモリ領域33に格納する。
非セキュアOSメモリ生成部133は、非セキュア仮想計算機1内のプログラムがアクセス可能なローカルなメモリ領域を生成する。ローカルなメモリ領域には、非セキュアOSローカルメモリ134や一時バッファ135が含まれる。また、非セキュアOSメモリ生成部133は、非セキュア仮想計算機1の起動時に、あらかじめ非セキュアOSローカルメモリ134を生成しておくようにしてもよい。
非セキュアOSローカルメモリ134は、非セキュア仮想計算機1内のアプリケーションのみアクセスできる領域である。
一時バッファ135は、データの暗号化または復号化の際に利用される領域である。本実施の形態では、一時バッファ135は、通常は、非セキュア仮想計算機1からは「読み込み」、「書込み」、「実行」が可能で、セキュア仮想計算機2からは「書込み」が可能となるようにアクセス権が設定されるものとする。このとき、セキュア仮想計算機2からの「読み込み」、「実行」のアクセス権限に関しては、可能であっても不可能であってもよい。なお、セキュア仮想計算機2から書き込み可能としておき、後述する認証用照合キー23が「未認証」状態になった時点で、後述するセキュアデーモン21が備える終了要求受付部213が一時バッファ135の内容を消去するようにして安全性を高めてもよい。
暗復号領域認識部136は、暗号化メモリ領域33をマウント処理などで非セキュアOS13に認識させて利用可能にする処理を行う。この処理は、データアクセスアプリケーション12が暗号化メモリ領域33に格納されたデータを利用する前、もしくは暗号化メモリ領域33に任意のデータを格納する前の任意の時点で行われればよい。実施の形態1では、非セキュアOS13の起動時に、非セキュアOS13により暗復号領域認識部136が呼ばれ、暗号化メモリ領域33の認識処理が行われるものとする。
また、暗復号領域認識部136は、暗号化メモリ領域33をアンマウント処理などで非セキュアOS13に認識させない状態にし、利用不可能にする処理も行う。この処理は、データアクセスアプリケーション12が暗号化メモリ領域33に格納されたデータを利用した後、もしくは暗号化メモリ領域33に任意のデータを格納した後の任意の時点で行われればよい。実施の形態1では、非セキュアOS13のシャットダウン時に、非セキュアOS13により暗復号領域認識部136が呼ばれ、暗号化メモリ領域33の認識解除処理が行われる。
セキュア仮想計算機2は、秘匿性を必要とするプログラムを動作させる実行環境である。ここで、秘匿性を必要とするとは、例えば、秘匿性を有するデータを扱うことを意味する。セキュア仮想計算機2は、ダウンロードアプリケーションなどの安全性が保証されないアプリを混在させない実行環境である。本実施の形態においては、セキュア仮想計算機2は、非セキュア仮想計算機1において秘匿性のあるデータ扱うことができるか否かを制御するプログラムを実行するための実行環境であるものとする。セキュア仮想計算機2は、セキュアデーモン21と、セキュアOS22と、認証用照合キー23と、暗復号処理バイナリ24と、認証状態フラグ25とを備える。
セキュアデーモン21は、セキュアOS22上で認証を処理し、暗復号処理バイナリ24を非セキュア仮想計算機1からアクセス可能にするかどうかを管理するプログラムである。なお、セキュアデーモン21は、セキュアOS22上で常駐して動作することが好ましいが、この例に限らず、必要に応じて起動し、終了するプログラムであってもよい。セキュアデーモン21の詳細な構成は後述する。
セキュアOS22は、秘匿性を必要とする処理を実行するプログラムを制御し管理するプログラムである。ここで、秘匿性を必要とする処理を実行するとは、例えば、秘匿性を有するデータを扱うプログラムを実行することを意味する。
認証用照合キー23は、認証照合に用いられるキーである。認証用照合キー23は、少なくともパスワードを含む情報である。このとき、パスワードは、ユーザID、仮想計算機のIDなどと対応付けられたものであればよい。このとき、認証用照合キー23は、一例として、IDとパスワードとが対応付けられたテーブル形式で管理される。
暗復号処理バイナリ24は、暗号アルゴリズムを保持し暗復号処理を実行する。暗復号処理バイナリ24は、非セキュアOS13上で実行可能な実行形式のバイナリファイルである。バイナリファイルの実行形式は、OSにより異なる場合が多い。非セキュアOS13とセキュアOS22が同じOSの場合、セキュア仮想計算機2でも暗復号処理バイナリ24を実行することができる。しかしながら、暗復号処理バイナリ24は、少なくとも、非セキュアOS13上で実行可能であればよく、非セキュアOS13以外のOS上で実行可能である必要はない。
認証状態フラグ25は、認証状態を保持するフラグである。認証状態フラグ25により管理される認証状態には、例えば、「認証中」、「未認証」といった状態が挙げられる。
ハイパーバイザ3は、仮想計算機間の共有メモリの管理や通信の管理を行う。ハイパーバイザ3は、VM間通信機能部31と、共有メモリアクセス管理部32と、暗号化メモリ領域33と、暗復号処理格納メモリ34とを備える。
VM間通信機能部31は、仮想計算機間の通信を行うための通信パスを生成し管理することで、仮想計算機間の通信手段を確保する。通信の形式は通信する仮想計算機間がアクセスできる共有メモリを用いた手法や、ソケットを用いた手法でもよい。
共有メモリアクセス管理部32は、仮想計算機間で共有するメモリのアクセス権限を設定し管理する。共有メモリアクセス管理部32は、上記VM間通信機能部31にて通信のために生成された共有メモリや暗号化メモリ領域33を生成し、これらの領域に対する各仮想計算機からのアクセス権限の設定を行う。また、共有メモリアクセス管理部32は、暗復号処理格納メモリ34を生成し、セキュア仮想計算機2からは読み込み、書き込み、実行ができるように設定する。一方、共有メモリアクセス管理部32は、暗復号処理格納メモリ34を、非セキュア仮想計算機1からは読み込みと実行のみできるようアクセス権限を設定する。このようなアクセス権限の設定は、例えば、特開2010−123148号公報に記載されている技術と特開2009−176297号公報に記載されている技術を用いて設定可能である。このようなアクセス権限の設定は、非セキュア仮想計算機1またはセキュア仮想計算機2のいずれかにより暗復号処理格納メモリ34が利用される前の任意の時点で行われればよい。実施の形態1では、共有メモリアクセス管理部32は、仮想計算機システム100の起動時に、暗復号処理格納メモリ34を前述したアクセス権限に設定するものとする。
暗号化メモリ領域33は、データアクセスアプリケーション12によって読み書きされるデータを格納するための領域である。データアクセスアプリケーション12によって利用されるデータとしては、個人情報や金銭を伴うサービスの情報などが挙げられる。本実施の形態では、データアクセスアプリケーション12によって利用されるデータは、暗号化して暗号化メモリ領域33に格納されるものとする。暗号化メモリ領域33は、非セキュア仮想計算機1、セキュア仮想計算機2のいずれからも、VMスイッチを行うことなくアクセス可能な領域である。本実施の形態では、暗号化メモリ領域33は、非セキュア仮想計算機1とセキュア仮想計算機2の両方とも読み込み、書き込み、実行が可能であるようにアクセス権限が設定されるものとする。
暗復号処理格納メモリ34は、暗復号処理バイナリ24を格納するための領域である。暗復号処理格納メモリ34は、非セキュア仮想計算機1、セキュア仮想計算機2のいずれからも、VMスイッチを行うことなくアクセス可能な領域である。暗復号処理格納メモリ34は、共有メモリアクセス管理部32により、非セキュア仮想計算機1、セキュア仮想計算機2それぞれからのアクセスに対して異なるアクセス権限が設定される。本実施の形態では、暗復号処理格納メモリ34は、前述のように、セキュア仮想計算機2からは読み込み、書き込み、実行が可能であり、非セキュア仮想計算機1からは読み込みと実行のみ可能であるようにアクセス権限が設定されるものとする。
次に、セキュアアプリケーション11、セキュアデーモン21の詳細構成について説明する。
図2は、実施の形態1におけるセキュアアプリケーション11およびセキュアデーモン21の詳細構成のブロック図である。図2では、仮想計算機システム100のうち、認証処理に関係する構成をあわせて示している。図2において、セキュアアプリケーション11およびセキュアデーモン21の詳細構成以外の部分については、図1と同様であるため説明を省略する。
セキュアアプリケーション11は、前述のように、セキュア仮想計算機2のセキュアデーモン21と通信することで、非セキュア仮想計算機1の実行環境から暗復号処理前の認証を要求するアプリケーションである。セキュアアプリケーション11は、認証入力受付部111と認証要求部112と認証終了要求部113、認証設定要求部114を備える。
認証入力受付部111は、仮想計算機システム100の外部からのユーザ認証入力として認証キーと認証要求を受け取る。外部からのユーザ認証入力は、GUIによる入力の他に、端末のロック機能発生時に発生してもよい。認証キーは、例えば、アルファベットや数字の羅列や図形を使ったパスパターン、IDカード、指紋、声紋でもよい。認証要求は、認証開始要求、認証終了要求、または認証設定要求の3つがあり、例えば0や1といったフラグで表される。また、認証キーおよび認証要求は、ユーザが直接入力するか、セキュアアプリケーション11とは別のアプリケーションが入力してもよい。
認証入力受付部111は、認証要求を受け取った後、認証要求が認証開始要求の場合は認証要求部112を呼び、認証キーを渡す。認証入力受付部111は、認証要求が認証終了要求の場合は認証終了要求部113を呼ぶ。認証入力受付部111は、認証要求が認証設定要求の場合は認証設定要求部114を呼び、認証キーを渡す。認証要求に対する結果は、認証要求部112、認証終了要求部113、認証設定要求部114を介して、成功コードまたはエラーコードとして認証入力受付部111に返ってくる。また、認証開始か認証終了かどうかの判断は、セキュア仮想計算機2の認証状態フラグ25を確認してもよい。この場合、認証キーを受け取った後、VM間通信機能部31を通じて、セキュアデーモン21から認証状態フラグ25を確認することになる。ただし、この場合、(1)認証状態フラグ25の確認のために非セキュア仮想計算機1からセキュア仮想計算機2にスイッチする、(2)以後の処理を継続するためにセキュア仮想計算機2から非セキュア仮想計算機1にスイッチする、といったように、VMスイッチが2回発生することになる。VMスイッチの回数を抑えたい場合、認証状態フラグ25を非セキュア仮想計算機1にも保持すればよい。しかし、この場合、非セキュア仮想計算機1が管理する認証状態とセキュアデーモン21の認証状態がずれてしまう可能性もあるため、定期的にセキュアデーモン21に問い合わせ、非セキュア仮想計算機1に保持する認証状態フラグ25を更新する必要がある。
認証要求部112は、VM間通信機能部31を呼び仮想計算機間通信手段を確保した後、認証入力受付部111から渡された認証キーを、後述する、セキュアデーモン21の認証要求受付部211に送る。
認証終了要求部113は、認証入力受付部111から呼ばれ、VM間通信機能部31を呼び仮想計算機間の通信手段を確保した後、後述する、セキュアデーモン21の終了要求受付部213を呼ぶ。なお、認証終了時にも認証キーを用いて認証をさせる場合は、認証キーも終了要求受付部213に渡してもよい。
認証設定要求部114は、認証入力受付部111から認証キーを渡された後、VM間通信機能部31を呼び仮想計算機間通信手段を確保し、渡された認証キーを、後述する、セキュアデーモン21の認証設定受付部214に送る。ここで、セキュアアプリケーション11は、初回起動時にユーザに初回認証キー設定をユーザに促す。ユーザの入力に基づく設定内容は、認証入力受付部111を介して認証設定要求部114が受け取り、認証用照合キー23の初回設定を行う。
セキュアデーモン21は、前述のように、セキュアOS22上で認証を処理し、暗復号処理バイナリ24を非セキュア仮想計算機1からアクセス可能にするかどうかを管理する。セキュアデーモン21は、認証要求受付部211と、暗復号処理展開部212と、終了要求受付部213と、認証設定受付部214を備える。
認証要求受付部211は、VM間通信機能部31を介して認証要求部112から送られてきた認証キーを受け取り、認証キーと認証用照合キー23が合致するかを確認する。確認する前に、認証要求受付部211は認証状態フラグ25が「未認証」であることを確認する。認証キーと認証用照合キー23が合致したら、認証要求受付部211は認証状態フラグ25を「認証中」に変え、暗復号処理展開部212を呼ぶ。合致しなかった場合や認証状態フラグ25が「未認証」でない場合、認証状態フラグ25が存在しない場合は、VM間通信機能部31を介して認証入力受付部111にエラーコードを返す。以上の処理が問題なく実行された場合、認証要求受付部211はVM間通信機能部31を介して認証入力受付部111に成功コードを送る。
暗復号処理展開部212は、暗復号処理バイナリ24を非セキュア仮想計算機1から実行できる状態に変更する。認証要求受付部211から呼ばれると、セキュア仮想計算機2内に保持していた暗復号処理バイナリ24を暗復号処理格納メモリ34に格納する。格納するときは、セキュアOS22のメモリコピー部221に暗復号処理格納メモリ34のアドレスと暗復号処理バイナリ24のアドレスを渡して実行させる。メモリコピー部221は渡された移動元のアドレスのデータを移動先のアドレスへコピーする。
終了要求受付部213は、VM間通信機能部31を介して認証終了要求部113から呼ばれる。終了要求受付部213では、まず認証状態フラグ25が「認証中」であることを確認する。認証状態フラグ25が「認証中」であれば、暗復号処理格納メモリ34に格納された暗復号処理バイナリ24を消去し、認証状態フラグ25を「未認証」に変える。暗復号処理バイナリ24を消去する時、終了要求受付部213はセキュアOS22のメモリ消去部222に暗復号処理格納メモリ34のアドレスを渡し実行する。またメモリ消去部222は渡されたアドレスに格納されているデータを消去する。終了要求受付部213にて、暗復号処理バイナリ24を消去できない場合などエラーが発生した場合は、認証終了要求部113にエラーコードを返す。以上の処理が問題なく実行された場合、終了要求受付部213は、VM間通信機能部31を介して認証入力受付部111に成功コードを送る。
認証設定要求部214は、VM間通信機能部31を介して認証設定要求部114から送られてきた認証キーを受け取り、認証キーを認証用照合キー23に設定する。認証用照合キー23の再設定は認証状態フラグ25が「認証中」のときのみ行う。認証状態フラグ25が「認証中」以外だった場合は、VM間通信機能部31を介してエラーコードを認証入力受付部111に送る。例外として、セキュアアプリケーション11の初回起動時に認証設定要求部214が呼ばれる場合は、認証状態フラグ25が「認証中」でなくても設定を行う。その際は認証用照合キー23がない状態なので、認証用照合キー23の有無を確認することで、上記ケースを判断する。以上の処理が問題なく実行された場合、認証設定要求部214は、VM間通信機能部31を介して認証入力受付部111に成功コードを送る。
セキュア仮想計算機2の説明は以上である。以降は、認証開始から認証終了までの流れ、および認証設定の流れを説明する。
図3は、ユーザ認証入力が入力された時のセキュアアプリケーション11の動作の一例を示すフローチャートである。
まず、ユーザ認証入力として認証キーと認証要求を認証入力受付部111が受け付ける(S1001)。ここで、ユーザ認証入力には、認証要求が認証開始要求であるか、認証終了要求であるか、認証設定要求であるかを識別するための情報が含まれているものとする。
次に、認証入力受付部111は、認証要求が認証開始要求であるか否かを判断する(S1002)。
認証要求が認証開始要求である場合(S1002がY)、認証キーを渡して認証要求部112を呼ぶ。認証要求部112は、VM間通信機能部31を実行し、仮想計算機間の通信手段を確立したあと、渡された認証キーを認証要求受付部211に送る(S1003)。
認証要求が認証開始要求でない場合(S1002がN)、認証入力受付部111は、認証要求が認証終了要求であるか否かを判断する(S1004)。
認証要求が認証終了要求である場合(S1004がY)、認証入力受付部111は、認証終了要求部113を呼ぶ。認証終了要求部113は、VM間通信機能部31を実行し、仮想計算機間の通信手段を確立した後、終了要求受付部213を呼ぶ(S1005)。
認証要求が認証終了要求でない場合(S1004がN)、認証入力受付部111は、認証要求が認証設定要求であると判断し、認証キーを渡して認証設定要求部114を呼ぶ。認証設定要求部114は、VM間通信機能部31を実行し、仮想計算機間の通信手段を確立したあと、渡された認証キーを認証設定受付部214に送る(S1006)。
以上が、ユーザ認証入力が入力された時のセキュアアプリケーション11の動作である。
次に、実施の形態1の認証開始時のセキュアデーモン21の動きを説明する。
図4は、実施の形態1の認証開始時のセキュアデーモン21の動作の一例を示すフローチャートである。
まず、認証要求受付部211は、認証キーを受け付ける(S2001)。ここで、認証要求受付部211が受け付ける認証キーは、前述した図3のS1003の処理において、認証入力受付部111から送られたものである。また、例えば、認証用照合キー23が、前述したIDとパスワードとが対応付けられたテーブル形式の場合、認証要求受付部211が受け付ける認証キーは、IDとパスワードのセットであるものとする。IDがユーザIDの場合、ユーザIDはユーザから入力されたものであり、IDが仮想計算機IDの場合、認証要求部112または認証設定要求部114がハイパーバイザに仮想計算機IDを問い合わせることで入手するものとする。
次に、認証要求受付部211は、認証用照合キー23が存在し、かつ、認証状態フラグ25が「未認証」であるか否かを確認する(S2002)。ここで、このステップにおける認証用照合キー23が存在するか否かの確認は、セキュアアプリ初回起動時の認証用照合キー23の初回設定をするかどうかの確認のためのものである。例えば、認証用照合キー23が、前述したIDとパスワードとが対応付けられたテーブル形式の場合、テーブル内のIDとパスワードがNULLの場合、初回起動時であると判断する。
認証用照合キー23が存在しない、および/または認証状態フラグ25が「未認証」でない場合(S2002がN)、認証要求受付部211は、VM間通信機能部31を介して認証入力受付部111に、認証開始処理が失敗した旨のエラーコードを返す(S2004)。
一方、認証用照合キー23が存在し、かつ認証状態フラグ25が「未認証」である場合(S2002がY)、認証要求受付部211は、渡された認証キーが認証用照合キー23と合致するか否かを確認する(S2003)。なお、認証用照合キー23が、前述したIDとパスワードとが対応付けられたテーブル形式の場合、認証要求受付部211は、IDとパスワードのセットと認証用照合キー23内のIDとパスワードのセットが一致するかどうかを確認する。
認証キーと認証用照合キー23が合致しない場合(S2003がN)、認証要求受付部211は、VM間通信機能部31を介して認証入力受付部111に、認証開始処理が失敗したことを示すエラーコードを返す(S2004)。
認証キーと認証用照合キー23が合致した場合(S2003がY)、認証要求受付部211は、暗復号処理展開部212を呼ぶ(S2005)。
暗復号処理展開部212は、暗復号処理バイナリ24のアドレスと暗復号処理格納メモリ34のアドレスを渡し、メモリコピー部221を呼ぶ。続いて、メモリコピー部221は、渡された暗復号処理格納メモリ34のアドレスへ暗復号処理バイナリ24をコピーする(S2006)。
その後、認証要求受付部211は、認証状態フラグ25を「認証中」に変えて、認証入力受付部111に、認証開始処理が成功したことを示す成功コードを返す(S2007)。
以上が実施の形態1の認証開始時のセキュアデーモン21の動きに関する説明である。
次に、実施の形態1の認証終了時のセキュアデーモン21の動きを説明する。
図5は、実施の形態1の認証終了時のセキュアデーモン21の動作を示すフローチャートである。
まず、終了要求受付部213は、認証終了要求を受け付ける(S3001)。ここで、終了要求受付部213が受け付ける認証終了要求は、前述した図3のS1005の処理において、認証入力受付部111から送られたものである。
次に、認証状態フラグ25が「認証中」であるか否かを確認する(S3002)。
認証状態フラグ25が「認証中」でない場合(S3002がN)、終了要求受付部213は、VM間通信機能部31を介して、認証入力受付部111に、認証終了処理が失敗したことを示すエラーコードを返す(S3004)。
一方、認証状態フラグ25が「認証中」である場合(S3002がY)、終了要求受付部213は、暗復号処理格納メモリ34のアドレスを渡し、メモリ消去部222を呼ぶ。続いて、メモリ消去部222は、渡されたアドレスから、暗復号処理格納メモリ34の中にある暗復号処理バイナリ24のデータを消去する(S3003)。
その後、終了要求受付部213は、認証状態フラグ25を「未認証」に変え、VM間通信機能部31を介して、認証入力受付部111に、認証終了処理が成功したことを示す成功コードを返す(S3005)。
以上が、実施の形態1の認証終了時のセキュアデーモン21の動きに関する説明である。
次に、認証設定時のセキュアデーモン21の動きを説明する。
図6は、認証設定時のセキュアデーモン21の動作を示すフローチャートである。
まず、認証設定受付部214は、認証キーを受け付ける(S3001)。ここで、認証設定受付部214が受け付ける認証キーは、前述した図3のS1006の処理において、認証入力受付部111から送られたものである。
次に、認証設定受付部214は、認証用照合キー23が存在するか否かを確認する(S4002)。
認証用照合キー23が存在しない場合(S4002がN)、認証設定受付部214は、受け付けた認証設定要求が認証用照合キーの初回設定であると判断し、渡された認証キーを認証用照合キー23として設定する。その後、認証設定受付部214はVM間通信機能部31を介して、認証入力受付部111に、認証設定処理が成功したことを示す成功コードを返す(S4004)。
認証用照合キー23が存在する場合(S4002がY)、認証設定受付部214は、認証状態フラグ25が「認証中」であるか否かを確認する(S4003)。
認証状態フラグ25が「認証中」であった場合(S4003がY)、渡された認証キーを認証用照合キー23として再設定する。その後、VM間通信機能部31を介して、認証入力受付部111に、認証設定処理が成功したことを示す成功コードを返す(S4004)。
認証状態フラグ25が「認証中」でなかった場合(S4003がN)、認証設定受付部214は、VM間通信機能部31を介して、認証入力受付部111に、認証設定処理が失敗したことを示すエラーコードを返す(S4005)。
以上が認証設定時のセキュアデーモン21の動きに関する説明である。以降は非セキュア仮想計算機1の説明に戻り、認証中状態時の暗復号処理の動作を説明する。
図7は、データアクセスアプリケーション12の詳細構成のブロック図である。図7では、実施の形態1の仮想計算機システムにおける、データアクセスアプリケーション12以外の構成についても記載しているが、これらについては図1と同様であるため説明を省略する。
データアクセスアプリケーション12は、前述のように、暗号化メモリ領域33のデータを読み書きするアプリケーションである。ここで、一例として、データアクセスアプリケーション12がファイル管理アプリケーションであり、このファイル管理アプリケーションが、非セキュア仮想計算機1内のアプリケーションのみアクセスできる非セキュアOSローカルメモリ134と暗号化メモリ領域33の間でファイル移動させることを想定する。非セキュアOSローカルメモリ134から暗号化メモリ領域33にファイルを移す場合、対象ファイルを暗号化して暗号化メモリ領域33にファイルを書き込む。反対に暗号化メモリ領域33から非セキュアOSローカルメモリ134にファイルを移す場合、対象ファイルを暗号化メモリ領域33から読み込み、復号化して非セキュアOSローカルメモリ134に移す。
データアクセスアプリケーション12は、読込受付部121と、書込受付部122を備える。
読込受付部121は、暗号化メモリ領域33からのデータ読み込み命令を受け付ける。読込受付部121は、データ読み込み命令を受け付けた後、暗号化メモリ領域33に格納されている対象データアドレスを暗号化領域読込部131に渡す。暗号化メモリ領域33からのデータ読み込み命令は、ユーザからのGUI入力から発生してもいいし、別のアプリケーションから送られてもよい。
書込受付部122は、暗号化メモリ領域33へのデータ書き込み命令を受け付ける。読込受付部121は、データ書き込み命令を受け付けた後は、非セキュアOSローカルメモリ134に格納されているデータアドレスを暗号化領域書込部132に渡す。暗号化メモリ領域33からのデータ書き込み命令は、ユーザからのGUI入力から発生してもいいし、別のアプリケーションから送られてもよい。
図8は、実施の形態1における、暗号化メモリ領域33のデータの読み込み時のデータアクセスアプリケーション12と非セキュアOS13の動作の一例を示すフローチャートである。
まず、読込受付部121が、暗号化メモリ領域33の読み込み要求を受け付ける(S5001)。読み込み要求には、暗号化メモリ領域33内の読み込み対象データのアドレスかそのアドレスが分かる情報が含まれる。
その後、読込受付部121は、読み込み対象データのアドレスを渡し、暗号化領域読込部131を呼ぶ(S5002)。
その後、暗号化領域読込部131が、非セキュアOSメモリ生成部133を呼ぶ。続いて、非セキュアOSメモリ生成部133は対象データの復号化を行うために利用する一時バッファ135を生成する(S5003)。
その後、暗号化領域読込部131は、渡された暗号化メモリ領域33内の対象データアドレスから、暗号化された状態の対象データを一時バッファ135にコピーする(S5004)。
その後、暗号化領域読込部131は、暗復号処理格納メモリ34内の暗復号処理バイナリ24を実行し、一時バッファ135内の対象データを復号化し、復号化したデータを一時バッファ135内の別のメモリ領域に格納する(S5005)。
対象データの復号化が全て完了した後、暗号化領域読込部131は、一時バッファ135内の復号化されたデータを非セキュアOSローカルメモリ134に書き込む(S5006)。
以上の手順を行うことで、VMスイッチを行わずに暗号化メモリ領域33内の読み込み対象のデータを復号化し、非セキュアOSローカルメモリ134に配置することができる。
図9は、実施の形態1における暗号化メモリ領域33のデータの書き込み時のデータアクセスアプリケーション12と非セキュアOS13の動作の一例を示すフローチャートである。
まず、書込受付部122が、暗号化メモリ領域33への書き込み要求を受け付ける(S6001)。書き込み要求には、非セキュアOSローカルメモリ134内の読み込み対象データのアドレスかそのアドレスが分かる情報が含まれる。
その後、書込受付部122は、書き込み対象データのアドレスを渡し、暗号化領域書込部132を呼ぶ(S6002)。
その後、暗号化領域書込部132は、非セキュアOSメモリ生成部133を呼ぶ。続いて、非セキュアOSメモリ生成部133は、対象データの暗号化を行うために利用する一時バッファ135を生成する(S6003)。
その後、暗号化領域書込部132は、渡された非セキュアOSローカルメモリ134内の対象データアドレスから、対象データを一時バッファ135にコピーする(S6004)。
その後、暗号化領域書込部132は、暗復号処理格納メモリ34内の暗復号処理バイナリ24を実行し、一時バッファ135内の対象データを暗号化し、暗号化したデータを一時バッファ135内の別のメモリ領域に格納する(S6005)。
対象データの暗号化が全て完了した後、暗号化領域書込部132は、一時バッファ135内の暗号化されたデータを暗号化メモリ領域33に書き込む(S6006)。
以上の手順を行うことで、VMスイッチを行わずに非セキュアOSローカルメモリ134内の書き込み対象のデータを暗号化し、暗号化メモリ領域33に配置することができる。
以上の構成により、非セキュア仮想計算機1から認証要求を発行され、セキュア仮想計算機2において認証処理が成功しない限り、暗復号処理バイナリ24はセキュア仮想計算機2に保持された状態を維持できる。よって、非セキュア仮想計算機1のシステム管理者権限が奪われたとしても、暗復号処理バイナリ24にはアクセスできない。また、認証の正当性が認められた時間だけ、VMスイッチを行うことなく非セキュア仮想計算機1からアクセス可能な領域に暗復号処理バイナリ24が格納されるため、VMスイッチによるオーバーヘッドを抑えることができる。
(実施の形態2)
実施の形態1では、非セキュア仮想計算機からVMスイッチを行うことなくアクセス可能に設定された領域を設け、所定の場合に、通常はこの領域に格納されていない暗復号処理バイナリをこの領域にコピーし、処理が終了するとこの領域から暗復号処理バイナリを削除することにより、暗復号処理を安全かつオーバーヘッドを抑えて行うことを可能とする仮想計算機システムの例について説明した。
実施の形態2では、非セキュア仮想計算機からはVMスイッチを行うことなくアクセス可能であるが、通常はアクセスを許可しないように設定された領域に暗復号処理バイナリを予め格納しておき、所定の場合に、この領域のアクセスを許可して暗復号処理バイナリを実行できるようにすることにより、暗復号処理を安全かつオーバーヘッドを抑えて行うことを可能とする仮想計算機システムの例について説明する。
図10に、実施の形態2における仮想計算機システム600の構成を示す。実施の形態2における仮想計算機システム600では、セキュアデーモン621の詳細構成および詳細動作と、共有メモリアクセス管理部632の詳細動作が、それぞれ、実施の形態1に係る仮想計算機システム100のセキュアデーモン21および共有メモリアクセス管理部32と異なる。また、暗復号処理バイナリ24を、ハイパーバイザが備える暗復号処理格納メモリ634に格納する点で実施の形態1と異なる。それ以外については実施の形態1と同様であり、詳細説明は省略する。
セキュアデーモン621は、セキュアOS22上で認証を処理し、暗復号処理バイナリ24を非セキュア仮想計算機1からアクセス可能にするかどうかを管理するプログラムである。なお、セキュアデーモン621は、セキュアOS22上で常駐して動作することが好ましいが、この例に限らず、必要に応じて起動し、終了するプログラムであってもよい。セキュアデーモン621の詳細構成および詳細動作は後述する。
共有メモリアクセス管理部632は、仮想計算機間で共有するメモリのアクセス権限を設定し管理する。共有メモリアクセス管理部632は、VM間通信機能部31にて通信のために生成された共有メモリや暗号化メモリ領域33に対する各仮想計算機からのアクセス権限の設定を行う。また、共有メモリアクセス管理部632は、暗復号処理格納メモリ634を、非セキュア仮想計算機1からはアクセスできない権限に設定する。権限を設定した後、ハイパーバイザ3は暗復号処理格納メモリ634に暗復号処理バイナリ24を格納する。このようなアクセス権限の設定は、非セキュア仮想計算機1により暗復号処理格納メモリ634が利用される前の任意の時点で行われればよい。実施の形態2では、仮想計算機システム600起動時に、暗復号処理格納メモリ634を前述したアクセス権限に設定するものとする。
図11は、実施の形態2のセキュアアプリケーション11およびセキュアデーモン621の詳細構成のブロック図である。図11では、仮想計算機システム600のうち、認証処理に関係する構成をあわせて示している。図11において、セキュアアプリケーション11およびセキュアデーモン621の詳細構成以外の部分については、図10と同様であるため説明を省略する。また、セキュアアプリケーション11の詳細構成については、図2と同様であるため説明を省略する。
セキュアデーモン621は、認証要求受付部211と、暗復号処理展開部612と、終了要求受付部613と、認証設定受付部214を備える。
認証要求受付部211と認証設定受付部214については、図2と同様のため説明を省略する。
暗復号処理展開部612は、共有メモリアクセス管理部632を呼び、暗復号処理格納メモリ34のアクセス権限を非セキュア仮想計算機1から実行と読み込みのみ可能な権限に設定する。
終了要求受付部613は、VM間通信機能部31を介して認証終了要求部113から認証終了要求が渡されると実行される。終了要求受付部613では、まず認証状態フラグ25が「認証中」であることを確認する。認証状態フラグ25が「認証中」であれば、共有メモリアクセス管理部632を呼び、暗復号処理格納メモリ34を非セキュア仮想計算機1からはアクセスできない権限に設定する。その後、認証状態フラグ25を「未認証」に変える。
ここで、実施の形態2の認証開始時のセキュアデーモン621の動きを説明する。
図12は、実施の形態2の認証開始時のセキュアデーモン621の動作の一例を示すフローチャートである。
まず、認証要求受付部211は、認証キーを受け付ける(S7001)。ここで、認証要求受付部211が受け付ける認証キーは、前述した図3のS1003の処理において、認証入力受付部111から送られたものである。
次に、認証要求受付部211は、認証用照合キー23が存在し、かつ、認証状態フラグ25が「未認証」であるか否かを確認する(S7002)。
認証用照合キー23が存在しない、および/または認証状態フラグ25が「未認証」でない場合(S7002がN)、認証要求受付部211は、VM間通信機能部31を介して認証入力受付部111に、認証開始処理が失敗した旨のエラーコードを返す(S7004)。
一方、認証用照合キー23が存在し、かつ認証状態フラグ25が「未認証」である場合(S7002がY)、認証要求受付部211は、渡された認証キーが認証用照合キー23と合致するか否かを確認する(S7003)。
認証キーと認証用照合キー23が合致しない場合(S7003がN)、認証要求受付部211は、VM間通信機能部31を介して認証入力受付部111に、認証開始処理が失敗した旨のエラーコードを返す(S7004)。
認証キーと認証用照合キー23が合致した場合(S7003がY)、認証要求受付部211は暗復号処理展開部612を呼ぶ(S7005)。
暗復号処理展開部612は、共有メモリアクセス管理部632を呼び、暗復号処理格納メモリ34のアクセス権限を非セキュア仮想計算機1から実行と読み込みのみ可能な権限に設定する(S7006)。
その後、認証要求受付部211は、認証状態フラグ25を「認証中」に変えて、認証入力受付部111に、認証開始処理が成功したことを示す成功コードを返す(S7007)。
以上が実施の形態2の認証開始時のセキュアデーモン621の動きに関する説明である。次に、本発明の実施の形態2の認証終了時のセキュアデーモン621の動きを説明する。
図13は、実施の形態2の認証終了時のセキュアデーモン621の動作の一例を示すフローチャートである。
まず、終了要求受付部213は、認証終了要求を受け付ける(S8001)。ここで、終了要求受付部213が受け付ける認証終了要求は、前述した図3のS1005の処理において、認証入力受付部111から送られたものである。
次に、終了要求受付部213は、認証状態フラグ25が「認証中」であるか否かを確認する(S8002)。
認証状態フラグ25が「認証中」でない場合(S8002がN)、終了要求受付部613は、VM間通信機能部31を介して、認証入力受付部111に、認証終了処理が失敗したことを示すエラーコードを返す(S8004)。
一方、認証状態フラグ25が「認証中」である場合(S8002がY)、終了要求受付部613は、共有メモリアクセス管理部632を呼び、暗復号処理格納メモリ34を非セキュア仮想計算機1からはアクセスできない権限に設定する(S8003)。
その後、終了要求受付部613は、認証状態フラグ25を「未認証」に変え、VM間通信機能部31を介して、認証入力受付部111に、認証終了処理が成功したことを示す成功コードを返す(S8005)。
以上が、実施の形態2の認証終了時のセキュアデーモン621の動きに関する説明である。
以上の構成により、非セキュア仮想計算機1からはVMスイッチを行うことなくアクセス可能な領域である暗復号処理格納メモリ34が、通常はアクセスを許可しないように設定されているので、暗復号処理バイナリ24を、暗復号処理格納メモリ34に格納しておいても、非セキュア仮想計算機1から暗復号処理バイナリ24を解析できない。また、暗復号処理展開部612実行時に、逐次、暗復号処理バイナリ24のコピー処理を行わずに、非セキュア仮想計算機1から暗復号処理を行うことができる。その結果、暗復号処理を安全かつVMスイッチのオーバーヘッドを抑えて行うことが可能となる。
(実施の形態3)
実施の形態1では、非セキュア仮想計算機からVMスイッチを行うことなくアクセス可能に設定された領域を設け、所定の場合に、通常はこの領域に格納されていない暗復号処理バイナリをこの領域にコピーし、処理が終了するとこの領域から暗復号処理バイナリを削除することにより、暗復号処理を安全かつオーバーヘッドを抑えて行うことを可能とする仮想計算機システムの例について説明した。このとき、データアクセスアプリケーションが利用するデータを格納する領域については、非セキュア仮想計算機の起動からシャットダウンまでの間は認識させることとしていた。つまり、データアクセスアプリケーションがデータを利用しない間も、このようなデータを格納した領域は非セキュア仮想計算機に認識される状態としていた。
実施の形態3は、データアクセスアプリケーションが利用するデータを格納する領域を非セキュア仮想計算機に認識させる期間を制限することで、暗号化データのセキュリティを更に高めることを可能とする仮想計算機システムの例について説明する。
図14に、実施の形態3における仮想計算機システム700の構成を示す。実施の形態3における仮想計算機システム700では、図14のように、非セキュアOS73が備える暗復号領域認識部736の詳細動作と、セキュアデーモン721の詳細構成および動作とが、それぞれ、実施の形態1に係る仮想計算機システム100の暗復号領域認識部136およびセキュアデーモン21と異なる。それ以外については実施の形態1と同様であり、詳細説明は省略する。
非セキュアOS73は、一般的な処理を実行するプログラムを制御し管理するプログラムである。非セキュアOS73は、実施の形態1と異なり、非セキュアOS73の起動時に暗復号領域認識部736を呼ばない。また、非セキュアOS73のシャットダウン時も、暗復号領域認識部736を呼ばない。
暗復号領域認識部736は、暗号化メモリ領域33をマウント処理などで非セキュアOS73に認識させて利用可能にする処理を行う。この処理は、データアクセスアプリケーション12が暗号化メモリ領域33に格納されたデータを利用する前の任意の時点で行われればよい。実施の形態3では、暗復号処理展開部712から暗復号領域認識部736が呼ばれることにより、暗号化メモリ領域33の認識処理が行われるものとする。
また、暗復号領域認識部736は、暗号化メモリ領域33をアンマウント処理などで非セキュアOS73に認識させない状態にし、利用不可能にする処理も行う。この処理は、データアクセスアプリケーション12が暗号化メモリ領域33に格納されたデータを利用した後の任意の時点で行われればよい。実実施の形態3では、暗復号処理展開部712から暗復号領域認識部736が呼ばれ、暗号化メモリ領域33の認識解除処理が行われる。
セキュアデーモン721は、セキュアOS22上で認証を処理し、暗復号処理バイナリ24を非セキュア仮想計算機1からアクセス可能にするかどうかを管理するプログラムである。なお、セキュアデーモン721は、セキュアOS22上で常駐して動作することが好ましいが、この例に限らず、必要に応じて起動し、終了するプログラムであってもよい。セキュアデーモン721の詳細構成および詳細動作は後述する。
図15は、実施の形態3のセキュアアプリケーション11およびセキュアデーモン721の詳細構成のブロック図である。図15では、仮想計算機システム700のうち、認証処理に関係する構成をあわせて示している。図15において、セキュアアプリケーション11およびセキュアデーモン721の詳細構成以外の部分については、図14と同様であるため説明を省略する。また、セキュアアプリケーション11の詳細については、図2と同様であるため説明を省略する。
セキュアデーモン721は、認証要求受付部211と、暗復号処理展開部712と、終了要求受付部713と、認証設定受付部214を備える。
認証要求受付部211と認証設定受付部214については、図2と同様のため説明を省略する。
暗復号処理展開部712は、暗復号処理バイナリ24を非セキュア仮想計算機1から実行できる状態に変更する。暗復号処理展開部712は、認証要求受付部211から呼ばれると、セキュア仮想計算機2内に保持していた暗復号処理バイナリ24を暗復号処理格納メモリ34に格納する。この格納処理は、セキュアOS22のメモリコピー部221に暗復号処理格納メモリ34のアドレスと暗復号処理バイナリ24のアドレスを渡すことにより実行させる。メモリコピー部221は、渡された移動元のアドレスのデータを移動先のアドレスへコピーする。その後、暗復号処理展開部712は、VM間通信機能部31を介して暗復号領域認識部736を呼び、暗号化メモリ領域33を非セキュアOS73に認識させる処理をさせる。
終了要求受付部713は、VM間通信機能部31を介して認証終了要求部113から認証終了要求が渡されると実行される。終了要求受付部713は、まず、認証状態フラグ25が「認証中」であることを確認する。認証状態フラグ25が「認証中」であれば、暗復号処理格納メモリ34に格納された暗復号処理バイナリ24を消去し、認証状態フラグ25を「未認証」に変える。終了要求受付部713は、暗復号処理バイナリ24を消去する時、セキュアOS22のメモリ消去部222に暗復号処理格納メモリ34のアドレスを渡し実行する。また、メモリ消去部222は、渡されたアドレスに格納されているデータを消去する。また、終了要求受付部713にて、暗復号処理バイナリ24を消去できないなどエラーが発生した場合は、認証入力受付部111にエラーコードを返す。終了要求受付部713は、データを消去した後、VM間通信機能部31を介して暗復号領域認識部736を呼び、暗号化メモリ領域33を非セキュアOS73に認識させない状態にする。
ここで、実施の形態3の認証開始時のセキュアデーモン721の動きを説明する。
図16は、実施の形態3の認証開始時のセキュアデーモン721の動作の一例を示すフローチャートである。
まず、認証要求受付部211は、認証キーを受け付ける(S9001)。ここで、認証要求受付部211が受け付ける認証キーは、前述した図3のS1003の処理において、認証入力受付部111から送られたものである。
次に、認証要求受付部211は、認証用照合キー23が存在し、かつ、認証状態フラグ25が「未認証」であるか否かを確認する(S9002)。
認証用照合キー23が存在しない、および/または認証状態フラグ25が「未認証」でない場合(S9002がN)、認証要求受付部211は、VM間通信機能部31を介して認証入力受付部111に、認証開始処理が失敗した旨のエラーコードを返す(S9004)。
一方、認証用照合キー23が存在し、かつ認証状態フラグ25が「未認証」である場合(S9002がY)、認証要求受付部211は、渡された認証キーが認証用照合キー23と合致するか否かを確認する(S9003)。
認証キーと認証用照合キー23が合致しない場合(S9003がN)、認証要求受付部211は、VM間通信機能部31を介して認証入力受付部111に、認証開始処理が失敗した旨のエラーコードを返す(S9004)。
認証キーと認証用照合キー23が合致した場合(S9003がY)、認証要求受付部211は、暗復号処理展開部712を呼ぶ(S9005)。
暗復号処理展開部712は、暗復号処理バイナリ24のアドレスと暗復号処理格納メモリ34のアドレスを渡し、メモリコピー部221を呼ぶ。メモリコピー部221は、渡された暗復号処理格納メモリ34のアドレスへ暗復号処理バイナリ24をコピーする(S9006)。
その後、暗復号処理展開部712は、VM間通信機能部31を介して、暗復号領域認識部736を呼ぶ(S9007)。
暗復号領域認識部736は、暗号化メモリ領域33を非セキュアOS73に認識させる(S9008)。
認識された後、認証要求受付部211は、認証状態フラグ25を「認証中」に変えて、認証入力受付部111に、認証開始処理が成功したことを示す成功コードを返す(S9009)。
以上が、実施の形態3の認証開始時のセキュアデーモン721の動きに関する説明である。
次に、実施の形態3の認証終了時のセキュアデーモン721の動きを説明する。
図17は、実施の形態3の認証終了時のセキュアデーモン721の動作の一例を示すフローチャートである。
まず、終了要求受付部713は、認証終了要求を受け付ける(S10001)。ここで、終了要求受付部213が受け付ける認証終了要求は、前述した図3のS1005の処理において、認証入力受付部111から送られたものである。
次に、終了要求受付部713は、認証状態フラグ25が「認証中」であるか否かを確認する(S10002)。
認証状態フラグ25が「認証中」でない場合(S10002がN)、終了要求受付部713は、VM間通信機能部31を介して、認証入力受付部111に、認証終了処理が失敗したことを示すエラーコードを返す(S10004)。
一方、認証状態フラグ25が「認証中」状態である場合(S10002がY)、終了要求受付部713は、暗復号処理格納メモリ34のアドレスを渡し、メモリ消去部222を呼ぶ。メモリ消去部222は、渡されたアドレスから、暗復号処理格納メモリ34の中にある暗復号処理バイナリ24のデータを消去する(S10003)。
その後、終了要求受付部713は、VM間通信機能部31を介して暗復号領域認識部736を呼ぶ(S10005)。
暗復号領域認識部736は、暗号化メモリ領域33を非セキュアOS73に認識させないよう処理する(S10006)。
その後、終了要求受付部713は、認証状態フラグ25を「未認証」に変え、VM間通信機能部31を介して、認証入力受付部111に、認証終了処理が成功したことを示す成功コードを返す(S10007)。
以上が、実施の形態3の認証終了時のセキュアデーモン721の動きに関する説明である。
以上の構成により、非セキュア仮想計算機1から認証要求を発行され、セキュア仮想計算機2において認証処理が成功しない限り、暗復号処理バイナリ24はセキュア仮想計算機2に保持された状態を維持できる。よって、非セキュア仮想計算機1のシステム管理者権限が奪われたとしても、暗復号処理バイナリ24にはアクセスできない。また、認証の正当性が認められた時間だけ、VMスイッチを行うことなく非セキュア仮想計算機1からアクセス可能な領域に暗復号処理バイナリ24が保持されるため、VMスイッチによるオーバーヘッドを抑えることができる。
また、以上の構成により、仮想計算機システム700は、認証処理が成功しない限り、非セキュア仮想計算機1から暗号化メモリ領域33を認識できないので、暗号化データのセキュリティを更に高めることができる。
以上、本発明の一態様に係る仮想計算機システムについて、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、あるいは異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
例えば、各実施の形態においては、仮想計算機システムを構成する仮想計算機の数は2以上であってもよい。
また、各実施の形態において、ハイパーバイザ上で動作する仮想計算機は、セキュア仮想計算機、非セキュア仮想計算機と区別される必要はない。また、仮想計算機上で動作するOSは、セキュアOS、非セキュアOSと区別される必要はない。
また、各実施の形態において、暗復号化処理バイナリを例として説明したが、暗復号化処理バイナリに限らず、セキュアなデータを扱う処理を実行するためのプログラムに対して各実施の形態に係る手法を適用してもよい。これにより、VMスイッチによるオーバーヘッドを抑えながら、安全にセキュアなデータを扱うことが可能となる。
また、実施の形態3では、実施の形態1に係る仮想計算機システムにおいて、暗復号処理展開部から暗復号領域認識部を呼び出すこととしたが、実施の形態2に係る仮想計算機システムにおいて、暗復号処理展開部から暗復号領域認識部を呼び出すこととしてもよい。これにより、実施の形態2に係る仮想計算機システムにおいて、さらに、暗号化データのセキュリティを高めることが可能となる。
なお、各実施の形態における仮想計算機システムが備える各機能ブロックは、典型的にはプロセッサと外部メモリとの協同で処理されるプログラムとして実現されるが、集積回路であるLSIで実現してもよい。これらの各機能ブロックは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI又はウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。
また、本発明は、プロセッサとメモリとを備えた計算処理装置であれば、あらゆる計算機、電子機器、情報機器、AV機器、通信機器及び家電機器にも適用可能であり、例えば、PC(パーソナルコンピュータ)、携帯情報端末(携帯電話、スマートフォン及びPDAなど)、テレビ、ハーディスクレコーダー、DVD及びブルーレイディスクなどを用いた各種ディスクレコーダー、DVD及びブルーレイディスクなどを用いた各種ディスクプレイヤー、及びカーナビゲーションシステムなどにも応用できる。
(補足)
以下、本発明の実施形態に係る仮想計算機システムの構成及びその変形例と各効果について説明する。
本発明の一態様に係る仮想計算機システムは、ハイパーバイザと、前記ハイパーバイザ上で動作する第一の仮想計算機および第二の仮想計算機からなる仮想計算機システムであって、前記ハイパーバイザは、前記第二の仮想計算機への切り替えを行うことなく前記第一の仮想計算機からアクセスすることが可能な領域であって、前記第一の仮想計算機上でデータ処理を行う際に用いる第一のプログラムが格納される第一の領域を生成する共有メモリアクセス管理部を備え、前記第二の仮想計算機は、前記第一の仮想計算機からの認証要求に対する結果に基づき前記第一の領域を制御することにより、前記第一の仮想計算機による前記第一のプログラムの実行可否を制御する第二のプログラムを備える。
これにより、第一の仮想計算機の認証結果に応じて、(1)第一の仮想計算機上でデータ処理を行う際に用いる第一のプログラムを第一の領域に格納する、(2)第一の仮想計算機上でデータ処理を行う際に用いる第一のプログラムを格納した第一の領域へのアクセスを許可する、といったように、第一の領域を制御することにより第一のプログラムの実行可否を制御することが可能となる。その結果、複数の仮想計算機を備える仮想計算機システムにおいて、安全性の確保とセキュリティ処理のオーバーヘッドの低減とを実現することが可能となる。
また、前記第二の仮想計算機は、前記第一のプログラムを格納し、前記第二のプログラムは、前記第一の仮想計算機からの認証要求が成功した場合に、前記第一のプログラムを前記第一の領域に格納することにより前記第一の領域を制御することとしてもよい。
これにより、第一の仮想計算機の認証が成功した場合に、第一の仮想計算機上でデータ処理を行う際に用いる第一のプログラムを第一の領域に格納することにより第一のプログラムの実行可否を制御することが可能となる。その結果、複数の仮想計算機を備える仮想計算機システムにおいて、安全性の確保とセキュリティ処理のオーバーヘッドの低減とを実現することが可能となる。
また、前記第二のプログラムは、前記第一の仮想計算機から前記第二の仮想計算機への認証状態が終了した場合に、前記第一の領域から前記第一のプログラムを消去することにより前記第一の領域を制御することとしてもよい。
これにより、第一の仮想計算機の認証状態が終了すると、第一の領域において第一のプログラムが格納されなくなるので、安全性が確保される。
また、前記ハイパーバイザは、前記第一の領域のアクセス権限を設定する共有メモリアクセス管理部を備え、前記第一の領域は、前記第一のプログラムが予め格納され、かつ、前記第一の仮想計算機からはアクセスを許可しないようにアクセス権限が設定されており、前記第二のプログラムは、前記第一の仮想計算機からの認証要求が成功した場合に、前記共有メモリアクセス管理部に、前記第一の仮想計算機から前記第一の領域へのアクセスを許可するように設定する指示を行うことにより前記第一の領域を制御することとしてもよい。
これにより、例えば、第一の仮想計算機の認証が成功した場合に、第一の仮想計算機上でデータ処理を行う際に用いる第一のプログラムを格納した第一の領域へのアクセスを許可することにより第一のプログラムの実行可否を制御することが可能となる。その結果、複数の仮想計算機を備える仮想計算機システムにおいて、安全性の確保とセキュリティ処理のオーバーヘッドの低減とを実現することが可能となる。
また、前記第一の領域は、前記第一の仮想計算機の起動時に、前記第一の仮想計算機からはアクセスを許可しないようにアクセス権限が設定されることとしてもよい。
これにより、第一の仮想計算機の起動時に、第一のプログラムを利用できない状態とすることが可能となる。その結果、安全性が確保される。
また、前記第二のプログラムは、前記第一の仮想計算機から前記第二の仮想計算機への認証状態が終了した場合に、前記共有メモリアクセス管理部に、前記第一の仮想計算機から前記第一の領域へのアクセスを許可しないように設定する指示を行うことにより前記第一の領域を制御することとしてもよい。
これにより、第一の仮想計算機の認証状態が終了すると、第一のプログラムを利用できない状態となるので、安全性が確保される。
また、前記第一のプログラムは、前記第一の仮想計算機でデータの暗号化または復号化を行うためのプログラムであることとしてもよい。
これにより、第一の仮想計算機の認証結果に応じて、(1)第一の仮想計算機でデータの暗号化または復号化を行うためのプログラムを第一の領域に格納する、(2)第一の仮想計算機でデータの暗号化または復号化を行うためのプログラムを格納した第一の領域へのアクセスを許可する、といったように、第一の領域を制御することにより、第一の仮想計算機でデータの暗号化または復号化を行うためのプログラムの実行可否を制御することが可能となる。その結果、複数の仮想計算機を備える仮想計算機システムにおいて、安全性の確保とセキュリティ処理のオーバーヘッドの低減とを実現することが可能となる。
また、前記ハイパーバイザは、前記第一の仮想計算機で扱うデータを格納する第二の領域を備えることとしてもよい。
これにより、第一の仮想計算機上でデータ処理を行う際に用いる第一のプログラムが扱うデータを、第一の仮想計算機の外部に格納することができるので、安全性が確保される。
また、前記第二の領域は、前記第一の仮想計算機の起動から前記第一の仮想計算機のシャットダウンまでの間、前記第一の仮想計算機が利用可能であるように認識されることとしてもよい。
これにより、前記第一の仮想計算機の起動から前記第一の仮想計算機のシャットダウンまでの間、第一の仮想計算機上でデータ処理を行う際に用いる第一のプログラムが扱うデータが格納された領域を利用することが可能となる。
また、前記第二の領域は、前記第一の仮想計算機の認証開始から認証終了までの間、前記第一の仮想計算機が利用可能であるように認識されることとしてもよい。
これにより、前記第一の仮想計算機の認証開始から前記第一の仮想計算機の認証終了までの間、第一の仮想計算機上でデータ処理を行う際に用いる第一のプログラムが扱うデータが格納された領域を利用することが可能となる。
本発明にかかる仮想計算機システムは、情報処理装置を用いるものであれば幅広い分野において有効である。例えば、大型計算機やパーソナルコンピュータのような形態のみならず、デジタルテレビや蓄積再生装置などの各種の家電機器、携帯電話などの通信機器、産業機器、制御機器、車載機器などでも利用可能である。
1 非セキュア仮想計算機
2 セキュア仮想計算機
3 ハイパーバイザ
11 セキュアアプリケーション
12 データアクセスアプリケーション
13,73 非セキュアOS
21,621,721 セキュアデーモン
22 セキュアOS
23 認証用照合キー
24 暗復号処理バイナリ
25 認証状態フラグ
31 VM間通信機能部
32,632 共有メモリアクセス管理部
33 暗号化メモリ領域
34,634 暗復号処理格納メモリ
100,600,700 仮想計算機システム
111 認証入力受付部
112 認証要求部
113 認証終了要求部
121 読込受付部
122 書込受付部
131 暗号化領域読込部
132 暗号化領域書込部
133 非セキュアOSメモリ生成部
134 非セキュアOSローカルメモリ
135 一時バッファ
136,736 暗復号領域認識部
211 認証要求受付部
212,612,712 暗復号処理展開部
213,613,713 終了要求受付部
221 メモリコピー部
222 メモリ消去部

Claims (12)

  1. ハイパーバイザと、前記ハイパーバイザ上で動作する第一の仮想計算機および第二の仮想計算機からなる仮想計算機システムであって、
    前記ハイパーバイザは、前記第二の仮想計算機への切り替えを行うことなく前記第一の仮想計算機からアクセスすることが可能な領域であって、前記第一の仮想計算機上でデータ処理を行う際に用いる第一のプログラムが格納される第一の領域を生成する共有メモリアクセス管理部を備え、
    前記第二の仮想計算機は、前記第一の仮想計算機からの認証要求に対する結果に基づき前記第一の領域を制御することにより、前記第一の仮想計算機による前記第一のプログラムの実行可否を制御する第二のプログラムを備える仮想計算機システム。
  2. 前記第二の仮想計算機は、前記第一のプログラムを格納し、
    前記第二のプログラムは、前記第一の仮想計算機からの認証要求が成功した場合に、前記第一のプログラムを前記第一の領域に格納することにより前記第一の領域を制御する、請求項1記載の仮想計算機システム。
  3. 前記第二のプログラムは、前記第一の仮想計算機から前記第二の仮想計算機への認証状態が終了した場合に、前記第一の領域から前記第一のプログラムを消去することにより前記第一の領域を制御する、請求項2記載の仮想計算機システム。
  4. 前記ハイパーバイザは、前記第一の領域のアクセス権限を設定する共有メモリアクセス管理部を備え、
    前記第一の領域は、前記第一のプログラムが予め格納され、かつ、前記第一の仮想計算機からはアクセスを許可しないようにアクセス権限が設定されており、
    前記第二のプログラムは、前記第一の仮想計算機からの認証要求が成功した場合に、前記共有メモリアクセス管理部に、前記第一の仮想計算機から前記第一の領域へのアクセスを許可するように設定する指示を行うことにより前記第一の領域を制御する、請求項1記載の仮想計算機システム。
  5. 前記第一の領域は、前記第一の仮想計算機の起動時に、前記第一の仮想計算機からはアクセスを許可しないようにアクセス権限が設定される、請求項4記載の仮想計算機システム。
  6. 前記第二のプログラムは、前記第一の仮想計算機から前記第二の仮想計算機への認証状態が終了した場合に、前記共有メモリアクセス管理部に、前記第一の仮想計算機から前記第一の領域へのアクセスを許可しないように設定する指示を行うことにより前記第一の領域を制御する、請求項5記載の仮想計算機システム。
  7. 前記第一のプログラムは、前記第一の仮想計算機でデータの暗号化または復号化を行うためのプログラムである、請求項1記載の仮想計算機システム。
  8. 前記ハイパーバイザは、前記第一の仮想計算機で扱うデータを格納する第二の領域を備える、請求項1記載の仮想計算機システム。
  9. 前記第二の領域は、前記第一の仮想計算機の起動から前記第一の仮想計算機のシャットダウンまでの間、前記第一の仮想計算機が利用可能であるように認識される、請求項8記載の仮想計算機システム。
  10. 前記第二の領域は、前記第一の仮想計算機の認証開始から認証終了までの間、前記第一の仮想計算機が利用可能であるように認識される、請求項8記載の仮想計算機システム。
  11. ハイパーバイザと、前記ハイパーバイザ上で動作する第一の仮想計算機および第二の仮想計算機からなる仮想計算機システムが行う制御方法であって、
    前記ハイパーバイザが、前記第二の仮想計算機への切り替えを行うことなく前記第一の仮想計算機からアクセスすることが可能な領域であって、前記第一の仮想計算機上でデータ処理を行う際に用いる第一のプログラムが格納される第一の領域を生成する生成ステップと、
    前記第二の仮想計算機が、前記第一の仮想計算機からの認証要求に対する結果に基づき前記第一の領域を制御することにより、前記第一の仮想計算機による前記第一のプログラムの実行可否を制御する制御ステップとを実行する制御方法。
  12. コンピュータを、ハイパーバイザと、前記ハイパーバイザ上で動作する第一の仮想計算機および第二の仮想計算機からなる仮想計算機システムとして機能させるプログラムであって、
    前記コンピュータに、
    前記第二の仮想計算機への切り替えを行うことなく前記第一の仮想計算機からアクセスすることが可能な領域であって、前記第一の仮想計算機上でデータ処理を行う際に用いる第一のプログラムが格納される第一の領域を生成する生成ステップと、
    前記第一の仮想計算機からの認証要求に対する結果に基づき前記第一の領域を制御することにより、前記第一の仮想計算機による前記第一のプログラムの実行可否を制御する制御ステップとを実行させるプログラム。
JP2012114367A 2012-05-18 2012-05-18 仮想計算機システム、制御方法、およびプログラム Pending JP2013242644A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012114367A JP2013242644A (ja) 2012-05-18 2012-05-18 仮想計算機システム、制御方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012114367A JP2013242644A (ja) 2012-05-18 2012-05-18 仮想計算機システム、制御方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2013242644A true JP2013242644A (ja) 2013-12-05

Family

ID=49843488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012114367A Pending JP2013242644A (ja) 2012-05-18 2012-05-18 仮想計算機システム、制御方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP2013242644A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015136897A1 (ja) * 2014-03-10 2015-09-17 パナソニックIpマネジメント株式会社 情報処理装置及び情報処理方法
JP2015197874A (ja) * 2014-04-03 2015-11-09 日本電信電話株式会社 仮想通信路構築システム、仮想通信路構築方法、及び仮想通信路構築プログラム
JP2016042354A (ja) * 2014-08-15 2016-03-31 インテル コーポレイション セキュアなバーチャルマシン間の共有メモリ通信のためのコンピューティング装置、方法及び機械可読記憶媒体
JP2016072963A (ja) * 2014-09-24 2016-05-09 インテル コーポレイション バーチャルマシンの間でサービスチェーンフローパケットを経路指定するための技術
JP2017076254A (ja) * 2015-10-15 2017-04-20 株式会社ミクシィ 携帯端末上の特定アプリとインターネット上の特定サーバーとが通信するクラウドサービスにおいて携帯端末の利用者が指定場所でした手続きの正当性を認証するコンピューティング
JP2018041224A (ja) * 2016-09-06 2018-03-15 大日本印刷株式会社 ソフトウェア更新システム
JP2019125147A (ja) * 2018-01-16 2019-07-25 大日本印刷株式会社 制御装置、データ書き込み方法及びプログラム
JP2021501388A (ja) * 2018-06-20 2021-01-14 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ユーザインタフェース表示方法及び端末デバイス
US20210103669A1 (en) * 2019-10-04 2021-04-08 Vmware, Inc. Secured interprocess communication
WO2021111692A1 (ja) * 2019-12-05 2021-06-10 パナソニックIpマネジメント株式会社 情報処理装置、異常検知方法およびコンピュータプログラム
JP2022010365A (ja) * 2018-01-16 2022-01-14 大日本印刷株式会社 データ書き込み方法
WO2023069060A1 (en) * 2021-10-18 2023-04-27 Hewlett-Packard Development Company, L.P. Input encryption
WO2023119750A1 (ja) * 2021-12-20 2023-06-29 株式会社日立産機システム データ共有装置、通信システム、通信方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015136897A1 (ja) * 2014-03-10 2015-09-17 パナソニックIpマネジメント株式会社 情報処理装置及び情報処理方法
JP2015197874A (ja) * 2014-04-03 2015-11-09 日本電信電話株式会社 仮想通信路構築システム、仮想通信路構築方法、及び仮想通信路構築プログラム
JP2016042354A (ja) * 2014-08-15 2016-03-31 インテル コーポレイション セキュアなバーチャルマシン間の共有メモリ通信のためのコンピューティング装置、方法及び機械可読記憶媒体
JP2016072963A (ja) * 2014-09-24 2016-05-09 インテル コーポレイション バーチャルマシンの間でサービスチェーンフローパケットを経路指定するための技術
JP2017076254A (ja) * 2015-10-15 2017-04-20 株式会社ミクシィ 携帯端末上の特定アプリとインターネット上の特定サーバーとが通信するクラウドサービスにおいて携帯端末の利用者が指定場所でした手続きの正当性を認証するコンピューティング
JP2018041224A (ja) * 2016-09-06 2018-03-15 大日本印刷株式会社 ソフトウェア更新システム
JP7211472B2 (ja) 2018-01-16 2023-01-24 大日本印刷株式会社 データ書き込み方法
JP2022010365A (ja) * 2018-01-16 2022-01-14 大日本印刷株式会社 データ書き込み方法
JP7073733B2 (ja) 2018-01-16 2022-05-24 大日本印刷株式会社 制御装置、データ書き込み方法及びプログラム
JP2019125147A (ja) * 2018-01-16 2019-07-25 大日本印刷株式会社 制御装置、データ書き込み方法及びプログラム
JP2021501388A (ja) * 2018-06-20 2021-01-14 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ユーザインタフェース表示方法及び端末デバイス
US20210103669A1 (en) * 2019-10-04 2021-04-08 Vmware, Inc. Secured interprocess communication
US11645400B2 (en) * 2019-10-04 2023-05-09 Vmware, Inc. Secured interprocess communication
WO2021111692A1 (ja) * 2019-12-05 2021-06-10 パナソニックIpマネジメント株式会社 情報処理装置、異常検知方法およびコンピュータプログラム
JP7411895B2 (ja) 2019-12-05 2024-01-12 パナソニックIpマネジメント株式会社 情報処理装置、異常検知方法およびコンピュータプログラム
WO2023069060A1 (en) * 2021-10-18 2023-04-27 Hewlett-Packard Development Company, L.P. Input encryption
WO2023119750A1 (ja) * 2021-12-20 2023-06-29 株式会社日立産機システム データ共有装置、通信システム、通信方法

Similar Documents

Publication Publication Date Title
JP2013242644A (ja) 仮想計算機システム、制御方法、およびプログラム
US9075957B2 (en) Backing up digital content that is stored in a secured storage device
US8214630B2 (en) Method and apparatus for controlling enablement of JTAG interface
US7874009B2 (en) Data processing device
US8966580B2 (en) System and method for copying protected data from one secured storage device to another via a third party
US20090276474A1 (en) Method for copying protected data from one secured storage device to another via a third party
JP2008527532A (ja) 非セキュリティ領域にセキュリティ領域を割り当てる方法及び携帯用保存装置
KR20130085536A (ko) 보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법
US9660986B2 (en) Secure access method and secure access device for an application program
KR20060108710A (ko) 신뢰성 있는 이동 플랫폼 구조
US20120137372A1 (en) Apparatus and method for protecting confidential information of mobile terminal
CN111310213A (zh) 一种业务数据保护方法、装置、设备及可读存储介质
CN110324358B (zh) 视频数据管控认证方法、模块、设备和平台
CN105612715A (zh) 具有可配置访问控制的安全处理单元
KR20180019494A (ko) 주 디바이스, 보조 디바이스, 및 주 디바이스와 보조 디바이스의 동작 처리 방법
CN111566989B (zh) 一种密钥处理方法及装置
CN111538995B (zh) 一种数据存储方法、装置及电子设备
US20110154436A1 (en) Provider Management Methods and Systems for a Portable Device Running Android Platform
US10771249B2 (en) Apparatus and method for providing secure execution environment for mobile cloud
KR101206735B1 (ko) 모바일 단말기의 보안 관련 정보 보호 장치 및 그 방법
CN109995774B (zh) 基于部分解密的密钥认证方法、系统、设备及存储介质
CN110851881B (zh) 终端设备的安全检测方法及装置、电子设备及存储介质
KR101745390B1 (ko) 데이터 유출 방지장치 및 그 방법
KR101532763B1 (ko) 어플리케이션 불법복제 방지 시스템 및 방법
KR20130005950A (ko) 이동단말의 보안을 강화하는 시스템 및 방법

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20140606