JP5981984B2 - 仮想計算機システム、秘匿情報保護方法及び秘匿情報保護プログラム - Google Patents
仮想計算機システム、秘匿情報保護方法及び秘匿情報保護プログラム Download PDFInfo
- Publication number
- JP5981984B2 JP5981984B2 JP2014500592A JP2014500592A JP5981984B2 JP 5981984 B2 JP5981984 B2 JP 5981984B2 JP 2014500592 A JP2014500592 A JP 2014500592A JP 2014500592 A JP2014500592 A JP 2014500592A JP 5981984 B2 JP5981984 B2 JP 5981984B2
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- virtual
- information
- virtual machine
- hypervisor
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 62
- 230000006870 function Effects 0.000 claims description 70
- 238000012545 processing Methods 0.000 claims description 47
- 230000008569 process Effects 0.000 claims description 41
- 239000000126 substance Substances 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 description 82
- 238000013507 mapping Methods 0.000 description 19
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Description
本発明は、秘匿情報を扱う仮想計算機システムに関し、特に、秘匿情報について使用制限を行う技術に関する。
近年、タブレット端末などの秘匿情報を扱う情報端末を、仮想計算機システム(特許文献1参照)を用いて構成する例が増えている。秘匿情報とは一定の条件下において使用が認められる情報をいい、一例としてユーザの画像、メールなどが該当する。
仮想計算機システムでは、一の仮想計算機において画像ビューア、メーラなどの秘匿情報を扱うユーザアプリケーションを動作させることで画像表示、メール送受信等の機能を実現する。一の仮想計算機では、ユーザアプリケーションがユーザ認証を行い、そのユーザ認証に成功した場合にのみ秘匿情報を使用することで、秘匿情報の使用をユーザ本人に制限している。
ところで、上述の技術では、ユーザ認証を行いその成否に応じて秘匿情報の使用可否を切り替える機構が一の仮想計算機内に設けられている。よって、その秘匿情報の使用可否を切り替える機構に改ざんや不具合などがある場合に、認証が成功していないにもかかわらず、一の仮想計算機内に保持されている秘匿情報が一の仮想計算機において使用されてしまうということが起こり得る。
本発明は、係る問題に鑑みてなされたものであり、仮想計算機における秘匿情報の使用を、認証が成功した場合に制限することができる仮想計算機システムを提供することを目的とする。
上記課題を解決するために本発明に係る仮想計算機システムは、コンピュータを含み、プログラムを実行することにより前記コンピュータが、第1の仮想計算機と、第2の仮想計算機と、前記第1の仮想計算機及び前記第2の仮想計算機を実行制御するハイパーバイザとして機能する仮想計算機システムであって、前記第1の仮想計算機は、秘匿情報を保持する保持手段と、認証処理を行い、認証結果を前記ハイパーバイザに通知する認証手段とを備え、前記第2の仮想計算機は、仮想化された記憶装置である仮想デバイスを利用し、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化する。
この構成により、本発明に係る仮想計算機システムでは、第2の仮想計算機は、認証の機構を有しておらず、認証の成否を偽って秘匿情報へアクセス可能とするような不正を行うことはできない。そして、第2の仮想計算機は、認証について何ら認識せずに、単に仮想デバイスを利用するのみであり、秘匿情報の使用可否については、第1の仮想計算機の認証手段による認証の成否に従うことになる。よって、本発明に係る仮想計算機システムは、第2の仮想計算機による秘匿情報の使用を認証が成功した場合に制限することができる。
<1.実施の形態1>
以下、本発明の一実施の形態に係る仮想計算機システム100について説明する。
<1.1.概要>
仮想計算機システム100は、一例として、ユーザ情報などの秘匿情報を取り扱う情報端末である。本実施の形態では、秘匿情報の一例として特権情報を用いる。特権情報は、第1の仮想計算機では使用可能であり、第2の仮想計算機では原則使用できないが、一定の条件として、認証コードによるユーザ認証に成功したという特権がある場合にのみ使用が認められる情報である。
以下、本発明の一実施の形態に係る仮想計算機システム100について説明する。
<1.1.概要>
仮想計算機システム100は、一例として、ユーザ情報などの秘匿情報を取り扱う情報端末である。本実施の形態では、秘匿情報の一例として特権情報を用いる。特権情報は、第1の仮想計算機では使用可能であり、第2の仮想計算機では原則使用できないが、一定の条件として、認証コードによるユーザ認証に成功したという特権がある場合にのみ使用が認められる情報である。
仮想計算機システム100は、セキュアOS(オペレーティングシステム)等が動作する第1の仮想計算機と、一般的なOS等が動作する第2の仮想計算機と、第1の仮想計算機及び第2の仮想計算機の実行制御を行うハイパーバイザとを含む。特権情報の使用を要求するアプリケーションプログラムは第2の仮想計算機で動作するが、特権情報は、第1の仮想計算機により保持されている。そして、仮想計算機システム100では、特権情報の使用可否は、実際に特権情報を使用する第2の仮想計算機により制御されるのではなく、第1の仮想計算機で行われる認証の結果に基づきハイパーバイザによって制御される。
これにより、特権情報を使用する第2の仮想計算機が特権情報の使用可否を制御するための認証機構を備えている場合に生じ得る問題、すなわち認証機構が改ざん等され、認証が成功していないにもかかわらず第2の仮想計算機において秘匿情報が使用され得るという問題が生じるのを防いでいる。
<1.2.構成>
<1.2.1.ハードウェア構成>
図1は、本発明の一実施の形態に係る仮想計算機システム100の主要なハードウェア構成を示すブロック図である。
<1.2.構成>
<1.2.1.ハードウェア構成>
図1は、本発明の一実施の形態に係る仮想計算機システム100の主要なハードウェア構成を示すブロック図である。
図1に示すように、仮想計算機システム100は、ハードウェアとしてはコンピュータ装置であり、集積回路101、入力装置102、表示装置103及び記憶装置104を含んで構成される。そして、集積回路101は、プロセッサ120、キャッシュ記憶装置121、メモリ122、外部I/F(インターフェース)123及びバス124を含んで構成される。
メモリ122は、RAM(Random Access Memory)で構成され、バス124に接続され、プロセッサ120の動作を規定するプログラム、プロセッサ120が利用するデータなどを記憶する。
キャッシュ記憶装置121は、メモリ122よりも高速に動作するメモリで構成されるキャッシュメモリであり、プロセッサ120とバス124とに接続される。キャッシュ記憶装置121は、メモリ122に記憶されるデータのうち使用頻度の高いデータを一時的に蓄積するキャッシュ機能を有する。
バス124は、プロセッサ120とキャッシュ記憶装置121とメモリ122と外部I/F123とに接続され、接続される回路間の信号を伝達する機能を有する。
外部I/F123は、バス124と入力装置102と表示装置103と記憶装置104とに接続される。外部I/F123は、接続される回路間の信号のやり取りを仲介する機能を有する。
入力装置102は、キーボード、マウス等から構成され、外部I/F123に接続されている。入力装置102は、プログラムを実行するプロセッサ120によって制御され、仮想計算機システム100を利用するユーザがキーボード、マウス等を操作することにより入力される入力情報を受け付ける機能を有する。
表示装置103は、ディスプレイ等から構成され、外部I/F123に接続されている。表示装置103は、プログラムを実行するプロセッサ120によって制御され、プロセッサ120から送られる信号に基づいて、画像、文字列等を表示する機能を有する。
記憶装置104は、フラッシュメモリなどの不揮発性の記憶媒体で構成され、外部I/F123に接続されている。記憶装置104は、プロセッサ120によって制御され、データを記憶する機能を有する。
プロセッサ120は、キャッシュ記憶装置121とバス124とに接続される。プロセッサ120は、メモリ122に記憶されるプログラムを、キャッシュ記憶装置121を介して読み出して実行することで、後述する第1仮想計算機201、第2仮想計算機202、並びに、第1及び第2仮想計算機の実行制御を行うハイパーバイザ203として機能する。また、プロセッサ120は、バス124を用いて外部I/F123との間で各種の制御信号を送受信することにより入力装置102、表示装置103及び記憶装置104を制御する。
<1.2.2.機能構成>
次に、図1を用いて説明したハードウェア構成を備える仮想計算機システム100の機能面から見た構成について、図面を参照しながら説明する。
<1.2.2.機能構成>
次に、図1を用いて説明したハードウェア構成を備える仮想計算機システム100の機能面から見た構成について、図面を参照しながら説明する。
図2は、仮想計算機システム100の機能構成を模式的に示す図である。
仮想計算機システム100は、図2に示すように、第1仮想計算機201、第2仮想計算機202、ハイパーバイザ203、入力部204、記憶部205、及び表示部206を含んで構成される。
<入力部204、記憶部205及び表示部206>
入力部204は、入力装置102で構成され、ユーザが入力装置102を操作して入力する入力情報を、第1仮想計算機201及び第2仮想計算機202のいずれかに適切に振り分けて通知する機能を有する。
<入力部204、記憶部205及び表示部206>
入力部204は、入力装置102で構成され、ユーザが入力装置102を操作して入力する入力情報を、第1仮想計算機201及び第2仮想計算機202のいずれかに適切に振り分けて通知する機能を有する。
記憶部205は、記憶装置104で構成され、データを記憶する機能を有する。本実施の形態では、記憶部205は、認証情報DB231、特権情報232、及び通常情報233を記憶する。ここで、特権情報232は、認証コードによるユーザ認証に成功した場合に使用を認める特権情報であり、一例として10枚の画像を含む画像データである。また、通常情報233は、使用に特段の条件が課されていない情報であり、一例として5枚の画像を含む画像データである。
表示部206は、表示装置103で構成され、第1仮想計算機201及び第2仮想計算機202から表示要求される画像、文字列等を表示する機能を有する。
なお、入力部204、記憶部205及び表示部206と、第1仮想計算機201及び第2仮想計算機202との間のデータの受け渡しは、ハイパーバイザ203が介在して行われる。以下では、特に説明を要する場合を除きハイパーバイザ203が介在している旨の記載は省略する。
<第1仮想計算機201>
第1仮想計算機201は、第1OS211と、第1OS211により実行制御されるタスク群とによる情報処理を、ハイパーバイザ203により割り当てられるハードウェア資源を用いて具体的に実現する仮想的な計算機である。
(1)第1OS211
第1OS211は、セキュアOSであり、外部からの侵入の検出と防御、ファイルの保護といったセキュリティ機能が一般的なOSに比べて強化されている。第1OS211は、認証サービス212、特権情報管理サービス213、及び通常情報管理サービス214などのタスクについて実行制御を行う機能を有する。以下、第1OS211により実行制御されるタスクを総称して「管理タスク」という。
<第1仮想計算機201>
第1仮想計算機201は、第1OS211と、第1OS211により実行制御されるタスク群とによる情報処理を、ハイパーバイザ203により割り当てられるハードウェア資源を用いて具体的に実現する仮想的な計算機である。
(1)第1OS211
第1OS211は、セキュアOSであり、外部からの侵入の検出と防御、ファイルの保護といったセキュリティ機能が一般的なOSに比べて強化されている。第1OS211は、認証サービス212、特権情報管理サービス213、及び通常情報管理サービス214などのタスクについて実行制御を行う機能を有する。以下、第1OS211により実行制御されるタスクを総称して「管理タスク」という。
なお、各管理タスクとハイパーバイザ203との間の信号及びデータの受け渡しは、実際には第1OS211が介在して行われる。以下では、特に説明を要する場合を除き第1OS211が介在している旨の記載は省略する。
(2)認証サービス212
認証サービス212は、仮想計算機システム100のユーザについて認証を行う認証機能(図4参照)を有する。認証サービス212は、認証に用いる認証情報DB(データベース)231を記憶部205から読み出して使用する。ここで、認証情報DB231は、認証コードを記録しているデータベースである。認証コードは、一例としてパスワードとする。
(2)認証サービス212
認証サービス212は、仮想計算機システム100のユーザについて認証を行う認証機能(図4参照)を有する。認証サービス212は、認証に用いる認証情報DB(データベース)231を記憶部205から読み出して使用する。ここで、認証情報DB231は、認証コードを記録しているデータベースである。認証コードは、一例としてパスワードとする。
認証サービス212は、認証機能を以下のように実現する。まず、認証サービス212は、入力部204からユーザにより入力される認証コードが通知されるのを待つ。認証コードが通知されると、認証サービス212は、認証コードが認証情報DB231に記録されているか否か検証し、記録されている場合には認証成功と判断し、記録されていない場合には認証失敗と判断する。
認証サービス212は、認証成功と判断した場合には、認証成功を示す信号を情報選択信号としてハイパーバイザ203に送信する。また、認証サービス212は、認証失敗と判断した場合には、認証失敗を示す信号を情報選択信号としてハイパーバイザ203に送信する。
また、認証サービス212は、入力部204からの、ユーザにより入力される認証解除指示を受け付ける。認証サービス212は、認証解除指示を受け取った場合には、認証失敗を示す信号を情報選択信号としてハイパーバイザ203に送信する。
なお、記憶部205からの認証情報DB231の読み出し、記憶部205への認証情報DB231の書き込みは、認証サービス212のみが行えるよう第1OS211及びハイパーバイザ203により制御されるものとする。
(3)特権情報管理サービス213、通常情報管理サービス214
特権情報管理サービス213は、特権情報232の管理を行う機能を有する。特権情報232の管理として、特権情報管理サービス213は、記憶部205から特権情報232を読み出して保持する。そして、特権情報管理サービス213は、特権情報232を保持している記憶領域の論理アドレス(第1OS211により管理されている論理アドレス空間におけるアドレスである。以下、「特権情報論理アドレス」という。)をハイパーバイザ203に通知する。なお、以下、特権情報232を記憶している記憶領域の物理アドレスを「特権情報物理アドレス」という。
(3)特権情報管理サービス213、通常情報管理サービス214
特権情報管理サービス213は、特権情報232の管理を行う機能を有する。特権情報232の管理として、特権情報管理サービス213は、記憶部205から特権情報232を読み出して保持する。そして、特権情報管理サービス213は、特権情報232を保持している記憶領域の論理アドレス(第1OS211により管理されている論理アドレス空間におけるアドレスである。以下、「特権情報論理アドレス」という。)をハイパーバイザ203に通知する。なお、以下、特権情報232を記憶している記憶領域の物理アドレスを「特権情報物理アドレス」という。
また、記憶部205からの特権情報232の読み出し、記憶部205への特権情報232の書き込みは、特権情報管理サービス213のみが行えるよう第1OS211及びハイパーバイザ203により制御されるものとする。
通常情報管理サービス214は、通常情報233の管理を行う機能を有する。通常情報233の管理として、通常情報管理サービス214は、記憶部205から通常情報233を読み出して保持する。そして、通常情報管理サービス214は、通常情報233を保持している記憶領域の論理アドレス(第1OS211により管理されている論理アドレス空間におけるアドレスである。以下、「通常情報論理アドレス」という。)をハイパーバイザ203に通知する。なお、以下、通常情報233を記憶している記憶領域の物理アドレスを「通常情報物理アドレス」という。
また、記憶部205からの通常情報233の読み出し、記憶部205への通常情報233の書き込みは、通常情報管理サービス214のみが行えるよう第1OS211及びハイパーバイザ203により制御されるものとする。
<第2仮想計算機202>
第2仮想計算機202は、第2OS251と、第2OS251により実行制御されるタスク群とによる情報処理を、ハイパーバイザ203により割り当てられるハードウェア資源を用いて具体的に実現する仮想的な計算機である。第2OS251により実行制御されるタスク群には、タスク1(252)、タスク2(253)、・・・タスクN(Nは任意の自然数)(254)が含まれる。以下、第2OS251により実行制御されるタスクを総称して「一般タスク」という。
(1)第2OS251
第2OS251は、セキュアOSではない一般的なOSであり、タスク1(252)〜タスクN(254)の実行制御を行う機能を有する。
<第2仮想計算機202>
第2仮想計算機202は、第2OS251と、第2OS251により実行制御されるタスク群とによる情報処理を、ハイパーバイザ203により割り当てられるハードウェア資源を用いて具体的に実現する仮想的な計算機である。第2OS251により実行制御されるタスク群には、タスク1(252)、タスク2(253)、・・・タスクN(Nは任意の自然数)(254)が含まれる。以下、第2OS251により実行制御されるタスクを総称して「一般タスク」という。
(1)第2OS251
第2OS251は、セキュアOSではない一般的なOSであり、タスク1(252)〜タスクN(254)の実行制御を行う機能を有する。
また、第2OS251は、一般タスクが仮想デバイス261に対するアクセスを要求するためのインターフェース(以下、「仮想デバイスI/F」という。)を有する。仮想デバイス261は、データ列、ファイル(群)、フォルダ(群)などの情報を記憶しているデバイスとして取り扱われる仮想的なデバイスであり、ハイパーバイザ203の仮想デバイス提供機能により実現される。
(2)タスク1(252)、タスク2(253)、・・・タスクN(254)
タスク1(252)〜タスクN(254)は、処理の実行単位であり、ユーザやアプリケーションベンダにより作成されるプログラムとして実装されている。
(2)タスク1(252)、タスク2(253)、・・・タスクN(254)
タスク1(252)〜タスクN(254)は、処理の実行単位であり、ユーザやアプリケーションベンダにより作成されるプログラムとして実装されている。
本実施の形態では、一例として、タスク1(252)は、画像表示を行うアプリケーションプログラムであるとする。また、タスク1(252)は、予め、表示対象とする画像データが仮想デバイス261に記録されていることを認識しているが、どのような画像データが記憶されているかまでは認識していないものとする。そして、タスク1(252)は、画像を表示する場合に、仮想デバイスI/Fを用いて仮想デバイス261からの画像データの読み出しを要求する。そして、タスク1(252)は、仮想デバイス261から画像データを読み出せた場合に、読み出した画像データを表示部206に表示させる。
なお、本実施の形態では、仮想デバイス261から読み出される画像データについては、画像データの先頭部分など特定の位置(以下、「ヘッダ」という。)に、この画像データに含まれる画像の枚数、各画像の画像データ内における記録位置など、画像データから各画像を抽出するための各種の情報(以下、「ヘッダ情報」という。)が含まれているものとする。タスク1(252)は、ヘッダ情報を参照して、画像データから各画像を抽出する。
<ハイパーバイザ203>
ハイパーバイザ203は、ハードウェアをソフトウェアで仮想化した複数の仮想計算機環境を含み、各仮想計算機環境を用いてOS等を含む仮想計算機を動作させる制御プログラムである。ハイパーバイザ203は、主要な機能として、スケジューリング機能、マッピング機能及び仮想デバイス提供機能を有する。ハイパーバイザ203は、主に仮想デバイス提供機能を実現する選択サービス271を含む。
(1)スケジューリング機能
スケジューリング機能は、仮想計算機システム100のハードウェア資源を、第1仮想計算機201及び第2仮想計算機202に割り当てる機能である。ハイパーバイザ203は、各仮想計算機に対し、割り当てるハードウェア資源に応じて予め定めているスケジューリング手法(時分割、固定割り当てなど)に基づき、各ハードウェア資源を割り当てる。
(2)マッピング機能
マッピング機能は、メモリ122の記憶領域である物理メモリ領域を第1仮想計算機201及び第2仮想計算機202に割り当てて、論理アドレスと物理アドレスとの対応付けを管理する機能である(図5参照)。第1仮想計算機201及び第2仮想計算機202は、割り当てられた物理メモリ領域を論理メモリ領域として管理する。すなわち、第1仮想計算機201及び第2仮想計算機202は、割り当てられたメモリ領域における各記憶領域を、論理アドレスを用いて特定する。
<ハイパーバイザ203>
ハイパーバイザ203は、ハードウェアをソフトウェアで仮想化した複数の仮想計算機環境を含み、各仮想計算機環境を用いてOS等を含む仮想計算機を動作させる制御プログラムである。ハイパーバイザ203は、主要な機能として、スケジューリング機能、マッピング機能及び仮想デバイス提供機能を有する。ハイパーバイザ203は、主に仮想デバイス提供機能を実現する選択サービス271を含む。
(1)スケジューリング機能
スケジューリング機能は、仮想計算機システム100のハードウェア資源を、第1仮想計算機201及び第2仮想計算機202に割り当てる機能である。ハイパーバイザ203は、各仮想計算機に対し、割り当てるハードウェア資源に応じて予め定めているスケジューリング手法(時分割、固定割り当てなど)に基づき、各ハードウェア資源を割り当てる。
(2)マッピング機能
マッピング機能は、メモリ122の記憶領域である物理メモリ領域を第1仮想計算機201及び第2仮想計算機202に割り当てて、論理アドレスと物理アドレスとの対応付けを管理する機能である(図5参照)。第1仮想計算機201及び第2仮想計算機202は、割り当てられた物理メモリ領域を論理メモリ領域として管理する。すなわち、第1仮想計算機201及び第2仮想計算機202は、割り当てられたメモリ領域における各記憶領域を、論理アドレスを用いて特定する。
図3は、物理メモリ領域と論理メモリ領域との対応付け(以下、単に「マッピング」という。)について模式的に示す図である。
図3の物理メモリ領域301は、メモリ122の記憶領域全体を模式的に示したものである。物理メモリ領域301には、物理アドレスとして0番地からC番地までが付されているものとする。ここで、本実施の形態では、物理アドレス及び論理アドレスは、一例として32ビット長で表されるものとする。
ハイパーバイザ203は、物理メモリ領域301のうち、物理アドレスA番地からB番地までの第1物理メモリ領域302を第1仮想計算機201に割り当てる。第1仮想計算機201は、第1物理メモリ領域302を第1論理メモリ領域311として認識する。第1論理メモリ領域311は、第1物理メモリ領域302の物理アドレスを論理アドレスに変換したものである。すなわち、第1論理メモリ領域311の実体と第1物理メモリ領域302の実体は同じである。
また、ハイパーバイザ203は、物理メモリ領域301のうち、物理アドレスB番地からC番地までの第2物理メモリ領域303を第2仮想計算機202に割り当てる。第2仮想計算機202は、第2物理メモリ領域303を第2論理メモリ領域312として認識する。第2論理メモリ領域312は、第2物理メモリ領域303の物理アドレスを論理アドレスに変換したものである。すなわち、第2論理メモリ領域312の実体と第2物理メモリ領域303の実体は同じである。
論理アドレスと物理アドレスとの変換は、ハイパーバイザ203が行う。ハイパーバイザ203は、第1仮想計算機201が用いる論理アドレスと、物理アドレスとを相互に変換するための表(以下、本実施の形態において「第1変換表」という。)を生成し、保持している。第1変換表には、具体的には、第1論理メモリ領域311の論理アドレスと、第1物理メモリ領域302の物理アドレスとが対応付けて記載されている。そして、ハイパーバイザ203は、第1仮想計算機201から論理アドレスを指定したアクセス要求を受け付けると、指定された論理アドレスを、第1変換表を用いて物理アドレスに変換し、この物理アドレスで示される記憶領域にアクセスする。
また、ハイパーバイザ203は、第2仮想計算機202が用いる論理アドレスと、物理アドレスとを相互に変換するための表(以下、本実施の形態において「第2変換表」という。)を生成し、保持している。第2変換表には、具体的には、第2論理メモリ領域312の論理アドレスと、第2物理メモリ領域303の物理アドレスとが対応付けて記載されている。そして、ハイパーバイザ203は、第2仮想計算機202から論理アドレスを指定したアクセス要求を受け付けると、指定された論理アドレスを、第2変換表を用いて物理アドレスに変換し、この物理アドレスで示される記憶領域にアクセスする。
ここで、論理アドレスを指定して行われる記憶領域の読み出し、論理アドレスを指定して行われる記憶領域へのデータの書き込みについて、具体例をあげて説明する。
一例として、第1変換表において、第1論理メモリ領域311のE番地が、第1物理メモリ領域302のF番地に対応付けられているものとする。このとき、ハイパーバイザ203は、第1仮想計算機201から、論理アドレス(例えば、図3の第1論理メモリ領域311のE番地)を指定したデータの読み出し要求を受け付けると、指定された論理アドレスを第1変換表を用いて物理アドレス(例えば、図3の第1物理メモリ領域302のF番地)に変換し、この物理アドレスで示される記憶領域(321)からデータを読み出して、第1仮想計算機201に受け渡す。
また、第1変換表において、第1論理メモリ領域311のG番地が、第1物理メモリ領域302のH番地に対応付けられているものとする。このとき、ハイパーバイザ203は、第1仮想計算機201から、論理アドレス(例えば、図3の第1論理メモリ領域311のG番地)を指定したデータの書き込み要求を受け付けると、指定された論理アドレスを第1変換表を用いて物理アドレス(例えば、図3の第1物理メモリ領域302のH番地)に変換し、この物理アドレスで示される記憶領域(322)にデータを記憶する。
(3)仮想デバイス提供機能
仮想デバイス提供機能は、第1仮想計算機201の認証サービス212における認証が成功した場合に限り、第2仮想計算機202における一般タスクから、仮想デバイス261を用いて第1仮想計算機201に保持されている特権情報232にアクセスできるよう制御する機能である(図6及び図7参照)。仮想計算機システム100では、仮想デバイスI/Fとして、仮想デバイス261における仮想的な記憶領域を特定する論理アドレス(以下、「仮想デバイスアドレス」という。)が定められているものとする。
(3)仮想デバイス提供機能
仮想デバイス提供機能は、第1仮想計算機201の認証サービス212における認証が成功した場合に限り、第2仮想計算機202における一般タスクから、仮想デバイス261を用いて第1仮想計算機201に保持されている特権情報232にアクセスできるよう制御する機能である(図6及び図7参照)。仮想計算機システム100では、仮想デバイスI/Fとして、仮想デバイス261における仮想的な記憶領域を特定する論理アドレス(以下、「仮想デバイスアドレス」という。)が定められているものとする。
仮想デバイス提供機能は、以下のように実現される。すなわち、ハイパーバイザ203の選択サービス271は、第2変換表に、仮想デバイスアドレス(一例として図3のD番地)と、物理アドレスとを対応付けて記載する。選択サービス271は、認証サービス212から情報選択信号を受信すると、受信した情報選択信号の内容に応じて仮想デバイスアドレスに対応付ける物理アドレスを変更する。
本実施の形態では、選択サービス271は、受信した情報選択信号が認証成功を示す場合には、第2変換表における仮想デバイスアドレスに特権情報232が記憶されている記憶領域の物理アドレスを対応付ける。また、受信した情報選択信号が認証失敗を示す場合には、選択サービス271は、第2変換表における仮想デバイスアドレスに、通常情報233が記憶されている記憶領域の物理アドレスを対応付ける。なお、選択サービス271は、第2変換表が生成されたときに、仮想デバイスアドレスに対応付ける物理アドレスとして、初期値として、仮想計算機システム100において予め無効なアドレスを示す値として規定されている無効値(例えば、0xFFFFFFFFなど)を対応付ける。
ハイパーバイザ203は、第2仮想計算機202から仮想デバイスアドレスを指定した読み出し要求がなされた場合には、第2変換表を参照し、仮想デバイスアドレスを、対応付けられている物理アドレスに変換する。そして、この物理アドレスで示される記憶領域からデータを読み出して第2仮想計算機202に受け渡す。また、ハイパーバイザ203は、第2仮想計算機202から仮想デバイスアドレスを指定したデータの書き込み要求がなされた場合には、第2変換表を参照し、仮想デバイスアドレスを、対応付けられている物理アドレスに変換する。そして、この物理アドレスで示される記憶領域にデータを書き込む。
なお、ハイパーバイザ203は、第2仮想計算機202から仮想デバイスアドレスを指定した読み出し要求、データの書き込み要求がなされた場合に、第2変換表を参照し、仮想デバイスアドレスが無効値に対応付けられていたときには、第2仮想計算機202に対し、アクセスエラーを通知するものとする。
(具体例)
ここで、仮想デバイス提供機能について、図3を参照しながら具体例を用いて説明する。前提として、物理アドレスがF番地である記憶領域321に特権情報232が記憶されているものとする。すなわち、特権情報物理アドレスはF番地である。また、特権情報論理アドレスはE番地であるとする。選択サービス271は、特権情報管理サービス213から特権情報論理アドレスの通知を受け取っているものとする。
ここで、仮想デバイス提供機能について、図3を参照しながら具体例を用いて説明する。前提として、物理アドレスがF番地である記憶領域321に特権情報232が記憶されているものとする。すなわち、特権情報物理アドレスはF番地である。また、特権情報論理アドレスはE番地であるとする。選択サービス271は、特権情報管理サービス213から特権情報論理アドレスの通知を受け取っているものとする。
また、物理アドレスがH番地である記憶領域322に通常情報233が記憶されているものとする。すなわち、通常情報物理アドレスはH番地である。また、通常情報論理アドレスはG番地であるとする。選択サービス271は、通常情報管理サービス214から通常情報論理アドレスの通知を受け取っているものとする。
以上の前提の下、まず、選択サービス271は、第1仮想計算機201における認証サービス212から情報選択信号を受信する。選択サービス271は、情報選択信号が認証成功を示しているときには、第2変換表において仮想デバイスアドレスに対応付けられている物理アドレスの値を、特権情報物理アドレスの値に変更する。
選択サービス271は、第2仮想計算機202のタスク1(252)から、仮想デバイスアドレスを指定した仮想デバイス261の読み出しの要求を受け取ると、仮想デバイスアドレスを、第2変換表において対応付けられている物理アドレスである特権情報物理アドレスに変換する。そして、仮想デバイス261は、特権情報物理アドレスで示される記憶領域(321)から特権情報232を読み出し、タスク1(252)に受け渡す。
また、タスク1(252)から、仮想デバイスアドレスを指定した仮想デバイス261へのデータの書き込みの要求を受け取ると、選択サービス271は、仮想デバイスアドレスを、第2変換表において対応付けられている物理アドレスである特権情報物理アドレスに変換する。そして、仮想デバイス261は、特権情報物理アドレスで示される記憶領域(321)にデータを書き込む。
一方、選択サービス271は、受信した情報選択信号が認証失敗を示している場合には、第2変換表において仮想デバイスアドレスに対応付けられている物理アドレスの値を、通常情報物理アドレスの値に変更する。
選択サービス271は、タスク1(252)から、仮想デバイスアドレスを指定した仮想デバイス261の読み出しの要求を受け取ると、仮想デバイスアドレスを、第2変換表において対応付けられている物理アドレスである通常情報物理アドレスに変換する。そして、仮想デバイス261は、通常情報物理アドレスで示される記憶領域(322)から通常情報233を読み出し、タスク1(252)に受け渡す。
また、選択サービス271は、タスク1(252)から、仮想デバイスアドレスを指定した仮想デバイス261へのデータの書き込みの要求を受け取ると、仮想デバイスアドレスを、第2変換表において対応付けられている物理アドレスである通常情報物理アドレスに変換する。そして、仮想デバイス261は、通常情報物理アドレスで示される記憶領域(322)にデータを書き込む。
以上のように、仮想デバイス提供機能において、ハイパーバイザ203は、第2仮想計算機202から仮想デバイス261に対するアクセス要求があった場合に、第1仮想計算機201における認証が成功している場合にのみ、特権情報にアクセスさせることができる。
<1.3.動作>
<1.3.1.認証サービス処理の動作>
以下、認証サービス212による認証サービス処理について説明する。
<1.3.動作>
<1.3.1.認証サービス処理の動作>
以下、認証サービス212による認証サービス処理について説明する。
図4は、認証サービス処理の手順を示すフローチャートである。まず、認証サービス212は、認証コードが入力されるのを待つ(ステップS401でno)。認証コードが入力された場合(ステップS401でyes)、認証サービス212は、入力された認証コードと同じ認証コードが認証情報DB231に記録されているか否か検証する(ステップS402)。記録されていると判断した場合(ステップS402でyes)、ユーザが正しい認証コードを入力していることになるので、情報選択信号として認証成功を示す信号をハイパーバイザ203の選択サービス271に通知する(ステップS403)。
そして、認証サービス212は、ユーザにより認証解除指示が入力されるのを待つ(ステップS404でno)。認証解除指示が入力された場合(ステップS404でyes)、情報選択信号として認証失敗を示す信号をハイパーバイザ203の選択サービス271に通知し(ステップS405)、ステップS401に移行する。また、ステップS402において、入力された認証コードと同じ認証コードが認証情報DB231に記録されていないと判断した場合(ステップS402でno)、ステップS405に移行する。
<1.3.2.選択サービス271によるマッピング処理>
以下、ハイパーバイザ203の選択サービス271によるマッピング処理について説明する。
<1.3.2.選択サービス271によるマッピング処理>
以下、ハイパーバイザ203の選択サービス271によるマッピング処理について説明する。
図5は、マッピング処理の手順を示すフローチャートである。まず、選択サービス271は、第1変換表及び第2変換表を生成する(ステップS501)。このとき、選択サービス271は、第2変換表における仮想デバイスアドレスに、初期値として通常情報物理アドレスを対応付ける(ステップS502)。
そして、選択サービス271は、認証サービス212から情報選択信号を取得するのを待つ(ステップS503でno)。選択サービス271は、認証サービス212から情報選択信号を取得した場合(ステップS503でyes)、情報選択信号が認証成功を示すか否かを検証する(ステップS504)。
情報選択信号が認証成功を示している場合には(ステップS504でyes)、第2変換表における仮想デバイスアドレスに特権情報物理アドレスを対応付ける(ステップS505)。一方、情報選択信号が認証失敗を示している場合には(ステップS504でno)、第2変換表における仮想デバイスアドレスに通常情報物理アドレスを対応付ける(ステップS506)。
<1.3.3.仮想デバイス261の読み出し処理>
以下、仮想デバイス261の読み出し処理の一例として、第2仮想計算機202の一般タスクであるタスク1(252)による読み出し処理について説明する。
<1.3.3.仮想デバイス261の読み出し処理>
以下、仮想デバイス261の読み出し処理の一例として、第2仮想計算機202の一般タスクであるタスク1(252)による読み出し処理について説明する。
図6は、仮想デバイス261の読み出し処理の手順を示すフローチャートである。まず、タスク1(252)は、第2OS251のデバイスドライバI/Fを使用して、仮想デバイス261の読み出し要求を行う(ステップS601)。
第2OS251は、仮想デバイス261に対して、仮想デバイスアドレスを指定して読み出し要求を行う。
ハイパーバイザ203の選択サービス271は、仮想デバイス261の読み出し要求を受け取ると、第2変換表を参照し、第2変換表において仮想デバイスアドレスが特権情報物理アドレスに対応付けられている場合には(ステップS602でyes)、仮想デバイスアドレスを特権情報物理アドレスに変換する(ステップS603)。一方、第2変換表を参照し、第2変換表において仮想デバイスアドレスが特権情報物理アドレスに対応付けられていない場合、すなわち通常情報物理アドレスに対応付けられている場合には(ステップS602でno)、選択サービス271は、仮想デバイスアドレスを通常情報物理アドレスに変換する(ステップS604)。
そして、仮想デバイス261は、ステップS603又はステップS604における変換後の物理アドレスにより示される記憶領域からデータを読み出す(ステップS605)。なお、ステップS605で読み出されるデータは、ステップS603で論理アドレスから物理アドレスへの変換がされている場合には、特権情報となる。また、ステップS604で論理アドレスから物理アドレスへの変換がされている場合には、ステップS605で読み出されるデータは、通常情報となる。
そして、仮想デバイス261は、読み出したデータをタスク1(252)に通知する。
<1.3.4.仮想デバイス261へのデータの書き込み処理>
以下、仮想デバイス261へのデータの書き込み処理の一例として、第2仮想計算機202の一般タスクであるタスク1(252)による、仮想デバイス261へのデータの書き込み処理について説明する。
<1.3.4.仮想デバイス261へのデータの書き込み処理>
以下、仮想デバイス261へのデータの書き込み処理の一例として、第2仮想計算機202の一般タスクであるタスク1(252)による、仮想デバイス261へのデータの書き込み処理について説明する。
図7は、仮想デバイス261へのデータの書き込み処理の手順を示すフローチャートである。
まず、タスク1(252)は、第2OS251のデバイスドライバI/Fを使用して、仮想デバイス261へのデータの書き込み要求を行う(ステップS701)。
第2OS251は、仮想デバイス261に対して、仮想デバイスアドレスを指定してデータの書き込み要求を行う。
ハイパーバイザ203の選択サービス271は、仮想デバイス261へのデータの書き込み要求を受け取ると、第2変換表を参照し、第2変換表において仮想デバイスアドレスが特権情報物理アドレスに対応付けられている場合には(ステップS702でyes)、仮想デバイスアドレスを特権情報物理アドレスに変換する(ステップS703)。一方、第2変換表を参照し、第2変換表において仮想デバイスアドレスが特権情報物理アドレスに対応付けられていない場合、すなわち通常情報物理アドレスに対応付けられている場合には(ステップS702でno)、選択サービス271は、仮想デバイスアドレスを通常情報物理アドレスに変換する(ステップS704)。
そして、仮想デバイス261は、ステップS703又はステップS704における変換後の物理アドレスにより示される記憶領域に、書き込み要求されたデータを書き込む(ステップS705)。
<1.3.5.画面表示例>
図8に、タスク1(252)が特権情報232及び通常情報233を用いて行う処理の一例である、画像表示処理における画像表示例を示す。画面800は、認証サービス212における認証が失敗している場合の、表示部206におけるディスプレイの表示画面を表している。また、画面802は、認証サービス212における認証が成功している場合の、表示部206におけるディスプレイの表示画面を表している。
<1.3.5.画面表示例>
図8に、タスク1(252)が特権情報232及び通常情報233を用いて行う処理の一例である、画像表示処理における画像表示例を示す。画面800は、認証サービス212における認証が失敗している場合の、表示部206におけるディスプレイの表示画面を表している。また、画面802は、認証サービス212における認証が成功している場合の、表示部206におけるディスプレイの表示画面を表している。
ここで、前提として、タスク1(252)は、画像ビューアであり、起動すると表示部206にサムネイル画像を表示するものとする。
タスク1(252)は、認証サービス212における認証が失敗している場合には、仮想デバイス261から特権情報232を読み出すことはできず、通常情報233を読み出すことになる。この場合、タスク1(252)は、画面800の画像表示領域801として示すように、通常情報233に含まれる5枚の画像それぞれのサムネイル画像であるサムネイル1(811)〜サムネイル5(815)を表示する。
一方、タスク1(252)は、認証サービス212における認証が成功している場合には、仮想デバイス261から特権情報232を読み出す。この場合、タスク1(252)は、画面802の画像表示領域803として示すように、特権情報232に含まれる10枚の画像それぞれのサムネイル画像であるサムネイル11(821)〜サムネイル20(830)を表示する。なお、本実施の形態では、認証成功時には、ユーザに対して認証が成功していることを示すこととしている。具体的には、解錠を意味するアイコンやピクトなど、認証が成功していることを示す画像804を画面802に表示する。
以上のように、仮想計算機システム100においては、認証の成否に応じて、タスク1(252)による表示画像が異なるものとなる。
<2.実施の形態2>
<2.1.概要>
実施の形態1では、第2仮想計算機202が仮想デバイス261にアクセスした場合に、第1仮想計算機201における認証結果に応じて、第1仮想計算機201が保持している特権情報か通常情報のいずれかにアクセスできるようハイパーバイザ203が制御する例について説明した。
<2.実施の形態2>
<2.1.概要>
実施の形態1では、第2仮想計算機202が仮想デバイス261にアクセスした場合に、第1仮想計算機201における認証結果に応じて、第1仮想計算機201が保持している特権情報か通常情報のいずれかにアクセスできるようハイパーバイザ203が制御する例について説明した。
本実施の形態では、仮想デバイスとして仮想的なメールフォルダである仮想メールフォルダを用いる。ここで、メールフォルダは、メールに係る一アカウントについてのメール本文、アドレス帳などメールに関する情報が記憶されるフォルダである。そして、第2仮想計算機(902)が仮想メールフォルダにアクセスした場合に、第1仮想計算機(901)におけるユーザ認証に成功したユーザが第1のユーザ、第2のユーザのいずれであるかに応じて、第1仮想計算機(901)が保持している第1のユーザに係る第1メールフォルダ、第2のユーザに係る第2メールフォルダのいずれにアクセスできるかをハイパーバイザ(903)が制御する。以下、本実施の形態について、実施の形態1との相違点を中心に説明する。
<2.2.構成>
本実施の形態に係る仮想計算機システムのハードウェア構成は、実施の形態1において図1を用いて説明したものと同様である。
<2.2.構成>
本実施の形態に係る仮想計算機システムのハードウェア構成は、実施の形態1において図1を用いて説明したものと同様である。
以下、本実施の形態に係る仮想計算機システム900の機能面から見た構成について図面を参照しながら説明する。なお、本実施の形態において、実施の形態1と同様の構成要素には同じ符号を付すものとし、特に必要な場合を除き説明は省略する。
図9は、仮想計算機システム900の機能構成を模式的に示す図である。仮想計算機システム900は、図9に示すように、第1仮想計算機901、第2仮想計算機902、ハイパーバイザ903、入力部204、記憶部205、及び表示部206を含んで構成される。
<第1仮想計算機901>
第1仮想計算機901は、管理タスクとして、認証サービス911及びメール管理サービス912が動作している点が、第1の実施の形態に係る第1仮想計算機201と異なる。
(1)認証サービス911
認証サービス911は、認証コードに加え、ユーザ名を用いて認証処理を行う点が実施の形態1と異なる。認証サービス911は、データベースとして、各ユーザのユーザ名と各ユーザ固有の認証コードとを対応付けて記録している認証情報DB931を使用する。認証サービス911は、入力部204から、ユーザにより入力されるユーザ名と認証コードとを取得する。そして、取得したユーザ名と認証コードとが対応付けて認証情報DB931に記録されているか否か検証し、記録されている場合には情報選択信号として、認証成功を示す認証成否情報と認証に成功したユーザのユーザ名とを表す信号をハイパーバイザ903に通知する。また、認証サービス911は、取得したユーザ名と認証コードとが対応付けて認証情報DB931に記録されていない場合には、情報選択信号として、認証失敗を示す認証成否情報を表す信号をハイパーバイザ903に通知する。
(2)メール管理サービス912
メール管理サービス912は、メールの本文及びアドレス帳などメールに係るデータが記録されたメールフォルダの管理を行う機能を有する。メールフォルダの管理として、メール管理サービス912は、以下の処理を行う。まず、メール管理サービス912は、記憶部205から第1メールフォルダ981及び第2メールフォルダ991を読み出して保持する。
<第1仮想計算機901>
第1仮想計算機901は、管理タスクとして、認証サービス911及びメール管理サービス912が動作している点が、第1の実施の形態に係る第1仮想計算機201と異なる。
(1)認証サービス911
認証サービス911は、認証コードに加え、ユーザ名を用いて認証処理を行う点が実施の形態1と異なる。認証サービス911は、データベースとして、各ユーザのユーザ名と各ユーザ固有の認証コードとを対応付けて記録している認証情報DB931を使用する。認証サービス911は、入力部204から、ユーザにより入力されるユーザ名と認証コードとを取得する。そして、取得したユーザ名と認証コードとが対応付けて認証情報DB931に記録されているか否か検証し、記録されている場合には情報選択信号として、認証成功を示す認証成否情報と認証に成功したユーザのユーザ名とを表す信号をハイパーバイザ903に通知する。また、認証サービス911は、取得したユーザ名と認証コードとが対応付けて認証情報DB931に記録されていない場合には、情報選択信号として、認証失敗を示す認証成否情報を表す信号をハイパーバイザ903に通知する。
(2)メール管理サービス912
メール管理サービス912は、メールの本文及びアドレス帳などメールに係るデータが記録されたメールフォルダの管理を行う機能を有する。メールフォルダの管理として、メール管理サービス912は、以下の処理を行う。まず、メール管理サービス912は、記憶部205から第1メールフォルダ981及び第2メールフォルダ991を読み出して保持する。
ここで、第1メールフォルダ981は、第1ユーザのメールに関するデータが記録されたフォルダである。第1メールフォルダ981には、メール本文を表すデータである第1メール982、第1ユーザが用いる1以上のメールアドレスが記載された第1アドレス帳983などが含まれる。第1メール982は、一例として8通のメールを含むものとする。
第2メールフォルダ991は、第2ユーザのメールに関するデータが記録されたフォルダである。第2メールフォルダ991には、メール本文を表すデータである第2メール992、第2ユーザが用いる1以上のメールアドレスが記載された第2アドレス帳993などが含まれる。第2メール982は、一例として8通のメールを含むものとする。
そして、メール管理サービス912は、第1メールフォルダ981を保持している記憶領域の論理アドレス(第1OS211により管理されている論理アドレス空間におけるアドレスである。以下、「第1メールフォルダ論理アドレス」という。)、及び、第2メールフォルダ991を保持している記憶領域の論理アドレス(第1OS211により管理されている論理アドレス空間におけるアドレスである。以下、「第2メールフォルダ論理アドレス」という。)をハイパーバイザ903に通知する。
なお、以下、第1メールフォルダ981を記憶している記憶領域の物理アドレスを「第1メールフォルダ物理アドレス」という。また、第2メールフォルダ991を記憶している記憶領域の物理アドレスを「第2メールフォルダ物理アドレス」という。
なお、記憶部205からの第1メールフォルダ981及び第2メールフォルダ991の読み出し、記憶部205への第1メールフォルダ981及び第2メールフォルダ991の書き込みは、メール管理サービス912のみが行えるよう第1OS211及びハイパーバイザ903により制御されているものとする。
<第2仮想計算機902>
第2仮想計算機902は、一般タスクとしてタスク1(252)に代えてメーラ951が動作する点が実施の形態1の第2仮想計算機202と異なる。また、本実施の形態では、仮想デバイスI/Fとして、仮想メールフォルダにアクセスするための特定の論理アドレスである仮想メールフォルダアドレスが用いられる。
<第2仮想計算機902>
第2仮想計算機902は、一般タスクとしてタスク1(252)に代えてメーラ951が動作する点が実施の形態1の第2仮想計算機202と異なる。また、本実施の形態では、仮想デバイスI/Fとして、仮想メールフォルダにアクセスするための特定の論理アドレスである仮想メールフォルダアドレスが用いられる。
メーラ951は、メールの作成、表示及び送受信などメールに関する処理(以下、「メール処理」という。)を実行するアプリケーションプログラムである。メーラ951は、メール処理を行うため、メール本文を含むメールデータ、及び、ユーザが用いるメールアドレスが記載されたアドレス帳などが記録されたメールフォルダにアクセスする。
ここで、メーラ951は、メールフォルダにアクセスするには、仮想メールフォルダにアクセスすればよいことを予め認識しており、メール処理を行う場合に、仮想メールフォルダにアクセスする。そして、メーラ951は、仮想メールフォルダを用いて、メールデータ及びアドレス帳などにアクセスし、メールデータに含まれるメール本文、アドレス帳の内容を表示部206に表示するなどのメール処理を行う。
なお、本実施の形態では、メールフォルダは、特定のフォーマットに従ったデータ構造を有するものとする。そして、このデータ構造における特定の位置のデータ(以下、「フォルダ管理情報」という。)を参照することで、メールフォルダに含まれるメールデータ、アドレス帳などのデータサイズ、個数などを知ることができるものとする。また、メールフォルダに含まれるメールデータについても、特定のフォーマットに従ったデータ構造を有しており、そのデータ構造の特定の位置に、メールデータに含まれるメールの個数、各メールのメールデータ内における記録位置など、メールデータから各メールを抽出するための情報(以下、「メール管理情報」という。)が含まれるものとする。
<ハイパーバイザ903>
ハイパーバイザ903は、実施の形態1のハイパーバイザ203とは、仮想デバイス提供機能に代えて仮想メールフォルダ提供機能を有する点が異なる。また、ハイパーバイザ903は、仮想メールフォルダ提供機能を実現する選択サービス971を含む。
(仮想メールフォルダ提供機能)
仮想メールフォルダ提供機能は、第1仮想計算機901の認証サービス911における認証が成功した場合に限り、第2仮想計算機902における一般タスクであるメーラ951から、仮想メールフォルダを用いて、第1仮想計算機901に保持されている第1メールフォルダ981又は第2メールフォルダ991にアクセスできるよう制御する機能である(図13及び図14参照)。
<ハイパーバイザ903>
ハイパーバイザ903は、実施の形態1のハイパーバイザ203とは、仮想デバイス提供機能に代えて仮想メールフォルダ提供機能を有する点が異なる。また、ハイパーバイザ903は、仮想メールフォルダ提供機能を実現する選択サービス971を含む。
(仮想メールフォルダ提供機能)
仮想メールフォルダ提供機能は、第1仮想計算機901の認証サービス911における認証が成功した場合に限り、第2仮想計算機902における一般タスクであるメーラ951から、仮想メールフォルダを用いて、第1仮想計算機901に保持されている第1メールフォルダ981又は第2メールフォルダ991にアクセスできるよう制御する機能である(図13及び図14参照)。
仮想メールフォルダ提供機能は、以下のように実現される。すなわち、選択サービス971は、第2変換表に、仮想メールフォルダアドレスと、物理アドレスとを対応付けて記載する。選択サービス971は、認証サービス911から情報選択信号を受信すると、受信した情報選択信号の内容に応じ、第2変換表において仮想メールフォルダアドレスに対応付ける物理アドレスを変更する。
選択サービス971は、情報選択信号に含まれる認証成否情報が認証成功を示す場合において、情報選択信号に含まれるユーザ名が第1ユーザのユーザ名を示すときには、第2変換表における仮想メールフォルダアドレスアドレスに第1メールフォルダ物理アドレスを対応付ける。また、情報選択信号に含まれるユーザ名が第2ユーザのユーザ名を示すときには、第2変換表における仮想メールフォルダアドレスアドレスに第2メールフォルダ物理アドレスを対応付ける。
選択サービス971は、情報選択信号に含まれる認証成否情報が認証失敗を示す場合には、第2変換表における仮想メールフォルダアドレスに、仮想計算機システム900において予め無効なアドレスを示す値として規定されている無効値(例えば、0xFFFFFFFFなど)を対応付ける。なお、選択サービス971は、第2変換表の生成時には、仮想メールフォルダアドレスに、初期値として無効値を対応付けて記載するものとする。
ハイパーバイザ903は、メーラ951から仮想メールフォルダアドレスを指定した仮想メールフォルダの読み出し要求があった場合には、指定された仮想メールフォルダアドレスを、第2変換表において対応付けられている物理アドレスに変換する。そして、ハイパーバイザ903は、変換後の物理アドレスで示される記憶領域からデータを読み出して、メーラ951に受け渡す。
また、ハイパーバイザ903は、メーラ951から仮想メールフォルダアドレスを指定した仮想メールフォルダに対するデータの書き込み要求があった場合には、指定された仮想メールフォルダアドレスを、第2変換表において対応付けられている物理アドレスに変換する。そして、ハイパーバイザ903は、変換後の物理アドレスで示される記憶領域にデータを書き込む。
なお、メーラ951から仮想メールフォルダアドレスを指定した仮想メールフォルダに対するアクセス要求があった場合に、第2変換表において仮想メールフォルダアドレスに無効値が対応付けられているときには、ハイパーバイザ903は、メーラ951にアクセスエラーを通知する。
(マッピング)
ここで、本実施の形態におけるマッピングについて図10を用いて説明する。本実施の形態では、一例として、物理アドレスがF番地である記憶領域321に第1メールフォルダ981が記憶され、物理アドレスがH番地である記憶領域322に第2メールフォルダ991が記憶されるものとする。よって、第1メールフォルダ物理アドレスはF番地であり、第1メールフォルダ論理アドレスはE番地である。また、第2メールフォルダ物理アドレスはH番地であり、第2メールフォルダ論理アドレスはG番地である。
(マッピング)
ここで、本実施の形態におけるマッピングについて図10を用いて説明する。本実施の形態では、一例として、物理アドレスがF番地である記憶領域321に第1メールフォルダ981が記憶され、物理アドレスがH番地である記憶領域322に第2メールフォルダ991が記憶されるものとする。よって、第1メールフォルダ物理アドレスはF番地であり、第1メールフォルダ論理アドレスはE番地である。また、第2メールフォルダ物理アドレスはH番地であり、第2メールフォルダ論理アドレスはG番地である。
また、仮想メールフォルダアドレスはD番地である。そして、選択サービス971が情報選択信号を受け取った場合に、情報選択信号に含まれる認証成否情報が認証成功を示しており、ユーザ名が第1ユーザのユーザ名を示しているときには、選択サービス971は、第2変換表において、仮想メールフォルダアドレスを第1メールフォルダ物理アドレスであるF番地に対応付ける。また、情報選択信号に含まれる認証成否情報が認証成功を示しており、ユーザ名が第2ユーザのユーザ名を示しているときには、選択サービス971は、第2変換表において、仮想メールフォルダアドレスを、第2メールフォルダ物理アドレスであるH番地に対応付ける。
<2.3.動作>
<2.3.1.認証サービス処理の動作>
以下、認証サービス911による認証サービス処理について説明する。
<2.3.動作>
<2.3.1.認証サービス処理の動作>
以下、認証サービス911による認証サービス処理について説明する。
図11は、認証サービス処理の手順を示すフローチャートである。まず、認証サービス911は、ユーザ名及び認証コードが入力されるのを待つ(ステップS1101でno)。ユーザ名及び認証コードが入力された場合(ステップS1101でyes)、入力されたユーザ名と認証コードとが対応付けて認証情報DB931に記録されているか否か検証する(ステップS1102)。記録されていると判断した場合(ステップS1102でyes)、ユーザが正しいユーザ名及び認証コードを入力していることになるので、認証成功を示す認証成否情報及びユーザ名を表す情報選択信号をハイパーバイザ903の選択サービス971に通知する(ステップS1103)。
そして、認証サービス911は、ユーザにより認証解除指示が入力されるのを待つ(ステップS1104でno)。認証解除指示が入力された場合(ステップS1104でyes)、認証失敗を示す認証成否情報を表す情報選択信号を選択サービス971に通知し(ステップS1105)、ステップS1101に移行する。また、ステップS1102において、入力されたユーザ名と認証コードとの組が認証情報DB931に記録されていないと判断した場合(ステップS1102でno)、ステップS1105に移行する。
<2.3.2.選択サービス971によるマッピング処理>
以下、ハイパーバイザ903の選択サービス971によるマッピング処理について説明する。
<2.3.2.選択サービス971によるマッピング処理>
以下、ハイパーバイザ903の選択サービス971によるマッピング処理について説明する。
図12は、マッピング処理の手順を示すフローチャートである。まず、選択サービス971は、第1変換表及び第2変換表を生成する(ステップS1201)。このとき、選択サービス971は、第2変換表における仮想メールフォルダアドレスに、初期値として無効値を対応付ける(ステップS1202)。
そして、選択サービス971は、認証サービス911から情報選択信号を取得するのを待つ(ステップS1203でno)。選択サービス971は、認証サービス911から情報選択信号を取得した場合(ステップS1203でyes)、情報選択信号に含まれる認証成否情報が認証成功を示すか否かを検証する(ステップS1204)。
認証成否情報が認証成功を示していると判断した場合には(ステップS1204でyes)、情報選択信号に含まれるユーザ名が第1ユーザのユーザ名を示すか否かを検証する(ステップS1205)。ユーザ名が第1ユーザのユーザ名を示す場合(ステップS1205でyes)、選択サービス971は、第2変換表において、仮想メールフォルダアドレスに第1メールフォルダ物理アドレスを対応付ける記載をし(ステップS1206)、ステップS1203に移行する。一方、情報選択信号に含まれるユーザ名が第2ユーザのユーザ名を示す場合(ステップS1205でno)、選択サービス971は、第2変換表において、仮想メールフォルダアドレスに第2メールフォルダ物理アドレスを対応付ける記載をし(ステップS1207)、ステップS1203に移行する。
また、ステップS1204において、情報選択信号に含まれる認証成否情報が認証失敗を示していると判断した場合には(ステップS1204でno)、選択サービス971は、第2変換表における仮想メールフォルダアドレスに無効値を対応付ける記載をし(ステップS1208)、ステップS1203に移行する。
<2.3.3.仮想メールフォルダの読み出し処理>
以下、仮想メールフォルダの読み出し処理の一例として、第2仮想計算機902の一般タスクであるメーラ951による読み出し処理について説明する。
<2.3.3.仮想メールフォルダの読み出し処理>
以下、仮想メールフォルダの読み出し処理の一例として、第2仮想計算機902の一般タスクであるメーラ951による読み出し処理について説明する。
図13は、仮想メールフォルダの読み出し処理の手順を示すフローチャートである。まず、メーラ951は、第2OS251のファイルシステムI/Fを使用して、仮想メールフォルダの読み出し要求を行う(ステップS1301)。
第2OS251は、仮想メールフォルダ961に対して、仮想メールフォルダアドレスを指定して読み出し要求を行う。
ハイパーバイザ903の選択サービス971は、仮想メールフォルダの読み出し要求を受け取り、第2変換表において仮想メールフォルダアドレスに、無効値でない値が対応付けられているか否か検証する(ステップS1302)。
第2変換表において仮想メールフォルダアドレスに無効値でない値が対応付けられていると判断した場合において(ステップS1302でyes)、第2変換表において仮想メールフォルダアドレスに第1メールフォルダ物理アドレスが対応付けられているときには(ステップS1303でyes)、ハイパーバイザ903は、指定された仮想メールフォルダアドレスを第1メールフォルダ物理アドレスに変換し(ステップS1304)、ステップS1306に移行する。一方、第2変換表において仮想メールフォルダアドレスに第1メールフォルダ物理アドレスが対応付けられていない、すなわち仮想メールフォルダアドレスに第2メールフォルダ物理アドレスが対応付けられているときには(ステップS1303でno)、ハイパーバイザ903は、指定された仮想メールフォルダアドレスを第2メールフォルダ物理アドレスに変換し(ステップS1305)、ステップS1306に移行する。
ステップS1306において、仮想メールフォルダ961は、ステップS1304又はステップS1305における変換後の物理アドレスにより示される記憶領域からデータを読み出す(ステップS1306)。そして、読み出したデータをメーラ951に通知する(ステップS1307)。なお、ステップS1306で読み出されるデータは、S1304でアドレスの変換がされている場合には、第1メールフォルダ981の内容を表すデータとなる。また、S1305でアドレスの変換がされている場合には、ステップS1306で読み出されるデータは、第2メールフォルダ991の内容を表すデータとなる。
また、ステップS1302において、第2変換表で仮想メールフォルダアドレスに無効値が対応付けられていると判断した場合(ステップS1302でno)、読み出しエラーをメーラ951に通知する(ステップS1311)。
<2.3.4.仮想メールフォルダへのデータの書き込み処理>
以下、仮想メールフォルダへのデータの書き込み処理の一例として、第2仮想計算機902の一般タスクであるメーラ951による、仮想メールフォルダへのデータの書き込み処理について説明する。
<2.3.4.仮想メールフォルダへのデータの書き込み処理>
以下、仮想メールフォルダへのデータの書き込み処理の一例として、第2仮想計算機902の一般タスクであるメーラ951による、仮想メールフォルダへのデータの書き込み処理について説明する。
図14は、仮想メールフォルダへのデータの書き込み処理の手順を示すフローチャートである。
まず、メーラ951は、第2OS251のファイルシステムI/Fを使用して、仮想メールフォルダへのデータの書き込み要求を行う(ステップS1401)。第2OS251は、仮想メールフォルダ961に対して、仮想メールフォルダアドレスを指定してデータの書き込み要求を行う。ハイパーバイザ903の選択サービス971は、仮想メールフォルダへのデータの書き込み要求を受け取ると、第2変換表において、仮想メールフォルダアドレスに無効値ではない値が対応付けられているか否か検証する(ステップS1402)。
第2変換表において仮想メールフォルダアドレスに無効値ではない値が対応付けられていると判断した場合において(ステップS1402でyes)、仮想メールフォルダアドレスに第1メールフォルダ物理アドレスが対応付けられているときには(ステップS1403でyes)、ハイパーバイザ903は、指定された仮想メールフォルダアドレスを、第1メールフォルダ物理アドレスに変換し(ステップS1404)、ステップS1406に移行する。一方、第2変換表において、仮想メールフォルダアドレスに第1メールフォルダ物理アドレスが対応付けられていないと判断したとき、すなわち仮想メールフォルダアドレスに第2メールフォルダ物理アドレスが対応付けられているときには(ステップS1403でno)、ハイパーバイザ903は、メーラ951により指定された仮想メールフォルダアドレスを第2メールフォルダ物理アドレスに変換し(ステップS1405)、ステップS1406に移行する。
ステップS1406において、仮想メールフォルダ961は、ステップS1404及びステップS1405における変換後の物理アドレスにより示される記憶領域に、メーラ951により指定されたデータを書き込む(ステップS1406)。
なお、ステップS1406でデータが書き込まれる記憶領域は、ステップS1404でアドレスの変換がされている場合には、第1メールフォルダ981が記憶されている記憶領域である。よって、ステップS1406において、第1メールフォルダ981の内容が変更等されることになる。
また、S1405でアドレスの変換がされている場合には、ステップS1406でデータが書き込まれる記憶領域は、第2メールフォルダ991が記憶されている記憶領域である。よって、ステップS1406において、第2メールフォルダ991の内容が変更等されることになる。
また、ステップS1402で、第2変換表において仮想メールフォルダアドレスに無効値が対応付けられていると判断した場合(ステップS1402でno)には、書き込みエラーをメーラ951に通知する(ステップS1411)。
以上説明したように、仮想計算機システム900を用いることにより、第1仮想計算機901における認証の成否、及び、認証成功したユーザの別に応じて、第2仮想計算機902のメーラ951が認識することなく、メーラ951が用いるメールフォルダを差し替えたり、見えなくしたりすることができる。
<2.3.5.画面表示例>
図15に、第1メールフォルダ及び第2メールフォルダを用いてメーラ951が行う処理の一例である、メール表示処理における画面表示例を示す。画面1500は、認証サービス911における認証が失敗している場合の、表示部206におけるディスプレイの表示画面を表している。また、画面1502は、認証サービス911における認証が成功している場合の、表示部206におけるディスプレイの表示画面を表している。
<2.3.5.画面表示例>
図15に、第1メールフォルダ及び第2メールフォルダを用いてメーラ951が行う処理の一例である、メール表示処理における画面表示例を示す。画面1500は、認証サービス911における認証が失敗している場合の、表示部206におけるディスプレイの表示画面を表している。また、画面1502は、認証サービス911における認証が成功している場合の、表示部206におけるディスプレイの表示画面を表している。
ここで、前提として、メーラ951は、起動すると、第1メールフォルダ981又は第2メールフォルダ991内の第1メール982又は第2メール992に含まれるメールのメールヘッダを解析し、件名の一覧を表示するものとする。
上記の前提のもと、メーラ951は、認証サービス911における認証が成功しており、かつユーザが第2ユーザである場合には、仮想メールフォルダにアクセスすることにより、第1メールフォルダ981の内容を読み出すことはできず、第2メールフォルダ991の内容を読み出すことになる。この場合、メーラ951は、画面1500のメール表示領域1501として示すように、第2メール992に含まれる8個のメールそれぞれの件名1(1511)〜件名8(1518)を表示する。
また、メーラ951は、認証サービス911における認証が成功しており、かつユーザが第1ユーザである場合には、仮想メールフォルダ961にアクセスすることにより第1メールフォルダ981の内容を読み出すことになる。この場合、メーラ951は、画面1502のメール表示領域1503として示すように、第1メール982に含まれる8個のメールそれぞれの件名11(1521)〜件名18(1528)を表示する。
なお、本実施の形態では、認証成功時には、ユーザに対して認証が成功していることを示すこととしている。具体的には、解錠を意味するアイコンやピクトなど、認証が成功していることを示す画像1504などを画面1502に表示する。
<3.変形例>
以上、本発明に係る仮想計算機システムの実施の形態を説明したが、例示した仮想計算機システムを以下のように変形することも可能であり、本発明が上述の実施の形態で示した通りの仮想計算機システムに限られないことは勿論である。
<3.変形例>
以上、本発明に係る仮想計算機システムの実施の形態を説明したが、例示した仮想計算機システムを以下のように変形することも可能であり、本発明が上述の実施の形態で示した通りの仮想計算機システムに限られないことは勿論である。
(1)実施の形態1では、認証サービス212における認証が成功した場合には、仮想デバイス261に特権情報232が記憶されている記憶領域の物理アドレスをマッピングしていた。また、認証が失敗した場合には、仮想デバイス261に通常情報233が記憶されている記憶領域の物理アドレスをマッピングしていた。
しかしながら、必ずしも認証の成否に応じて2つの情報のうちの1つに択一的にアクセスできるようマッピングする必要はなく、認証の成否に応じ、秘匿したい情報(例えば、特権情報232)へのアクセス可否が制御できれば足りる。
例えば、選択サービス271は、マッピング機能として、情報選択信号が認証成功を示す場合に、第2変換表における仮想デバイスアドレスに特権情報物理アドレスを対応付け、認証失敗を示す場合には仮想デバイスアドレスに上述の無効値を対応付けることとしてもよい。このようにすることで、第2仮想計算機202から、認証成功時には特権情報232に対するアクセスが可能となり、認証失敗時には特権情報232に対するアクセスが不能となる。
また、通常情報233については、第1仮想計算機201側で管理をせず、第2仮想計算機202側で管理をし、第2仮想計算機202において動作するタスク1(252)などから常に参照可能とすることとしてもよい。
(2)実施の形態2では、第1ユーザ及び第2ユーザについての2個のアカウントを用いる例を示したが、3個以上のアカウントを用いてもよい。
また、1個のアカウント(一例として第1ユーザに関するアカウント)のみを用いてもよい。この場合、選択サービス971は、認証サービス911における認証が成功した場合には、第2変換表における仮想メールフォルダアドレスに、第1メールフォルダ物理アドレスを対応付ける。また、認証サービス911における認証が失敗した場合には、第2変換表における仮想メールフォルダアドレスに無効値を対応付ける。
その後、メーラ951が仮想メールフォルダへのアクセスを要求した場合に、認証が成功しているときには、ハイパーバイザ903は、第2変換表を参照して仮想メールフォルダアドレスを第1メールフォルダ物理アドレスに変換する。そして、ハイパーバイザ903は、第1メールフォルダ物理アドレスにより示される記憶領域へのアクセスを行う。
一方、認証が失敗している場合には、ハイパーバイザ903は、第2変換表を参照して仮想メールフォルダアドレスに対応付けられている物理アドレスが無効値であると認識する。この場合、ハイパーバイザ903は、第1メールフォルダ物理アドレスにより示される記憶領域へのアクセスはできず、メーラ951に対し、アクセスエラーを通知することになる。
(3)実施の形態2では、認証サービス911において認証が失敗したときには、第2変換表において仮想メールフォルダアドレスに無効値を対応付けることにより、メーラ951から、仮想メールフォルダを介して、第1メールフォルダ981及び第2メールフォルダ991のいずれにもアクセスできないよう制御をしていた。
しかしながら、認証サービス911において認証が失敗したときに、仮想メールフォルダを介して、どのメールフォルダにもアクセスできないように制御する必要はない。例えば、デフォルトユーザのメールフォルダ(以下、「第3メールフォルダ」という。)を用意しておき、認証サービス911において認証が失敗したときに、仮想メールフォルダを介して第3メールフォルダにアクセスできることとしてもよい。この場合、選択サービス971は、認証サービス911から認証失敗を示す認証成否情報を取得すると、第2変換表において、仮想メールフォルダアドレスに第3メールフォルダが記憶されている論理アドレスを対応付けて記載する。
(4)実施の形態1及び2では、認証コード(パスワードなど)、又は、ユーザ名及び認証コードを用いた認証をしたが、ユーザを認証できれば足りる。例えば、周知の技術であるID(IDentiy)カード、生体情報(指紋、声紋等)を用いた認証などを行うこととしてもよい。
(5)実施の形態1と実施の形態2とを組み合わせ、認証サービスにおける認証成功/認証失敗に応じて特権情報232及び通常情報233のいずれにアクセス可能とするかを切り替えるとともに、認証成功した場合にはユーザ名に応じて、第1メールフォルダ981及び第2メールフォルダ991のいずれにアクセス可能とするかも切り替えるよう制御してもよい。
(6)実施の形態1及び2では、認証サービス212及び認証サービス911が有する機能の全てを第1仮想計算機201及び第1仮想計算機901側に配しているが、セキュリティの高低に影響を及ぼさない一部機能を、第2仮想計算機202及び第2仮想計算機902側に配してもよい。
例えば、認証機能のうち、認証コードとしてのパスワード、IDカード、指紋、声紋などをユーザが入力するための入力用ユーザインターフェースを第2仮想計算機202及び第2仮想計算機902に配し、ユーザにより入力されたデータを第1仮想計算機201及び第1仮想計算機901に通知することとしてもよい。この場合に、第2仮想計算機202及び第2仮想計算機902について、ユーザ、プログラムベンダによるプログラム変更を許すこととすれば、ユーザ、プログラムベンダなどがユーザインターフェースを所望のものに変更できることとなり、結果的にユーザの利便性向上を図ることができる。
(7)実施の形態1及び2では、第1OS211と第2OS251とは、異なる種類のOSであるとしたが、同種のOSであってもよい。また、実施の形態1及び2で示した仮想計算機の数、OSの数及びタスクの数などは、一例であり、これらに限るものではない。
(8)実施の形態1及び2では、仮想デバイスをソフトウェアによってエミュレーションしていたが、これらをMMU(Memory Management Unit)などのハードウェアを用いて実現することとしてもよい。
(9)実施の形態1及び2では、認証サービス212及び認証サービス911における認証解除指示はユーザが入力することとしているが、認証が成功している状態を適時に解除できれば足りる。例えば、実施の形態1の場合であれば、タスク1(252)の実行が終了するときに認証解除することが考えられる。具体的には、認証サービス212が、タスク1(252)の実行が終了することを検知して認証解除指示を選択サービス271に送信すればよい。また、実施の形態2の場合も同様に、認証サービス911が、メーラ951の実行が終了することを検知して認証解除指示を選択サービス271に送信すればよい。
(10)実施の形態1では、認証サービス212が選択サービス271に対し通知する情報選択信号は、認証成功又は認証失敗の2状態のいずれであるかを通知していたが、3個以上の状態を通知するよう拡張してもよい。
例えば、情報選択信号は、実施の形態1における認証成功又は認証失敗の2状態に省電力状態を加えた3状態を通知することとしてもよい。この場合、選択サービス271は、情報選択信号が認証成功、認証失敗、及び省電力状態のいずれを示しているか判断する。そして、情報選択情報がいずれを示しているかに応じて、第2変換表において、仮想デバイスアドレスに、特権情報232が記録されている記憶領域の物理アドレス、通常情報233が記録されている記憶領域の物理アドレス、又は省電力状態において使用すべき情報が記録されている記憶領域の物理アドレスのいずれかを対応付けることになる。
(11)実施の形態1では、ハイパーバイザ203が選択サービス271を有し、仮想デバイス提供機能を提供していたが、一部又は全ての機能を第1仮想計算機201に実現させてもよい。例えば、一部機能として、第2変換表の作成を第1仮想計算機202が行ってもよい。また、ハイパーバイザ203と第1仮想計算機201とを統合し1つのプログラムで実装してもよい。
(12)実施の形態1及び2では、ハイパーバイザ(203、903)は、第1仮想計算機(201、901)、第2仮想計算機(202、902)へメモリを割り当てる場合に、物理メモリ領域における特定サイズの固定的な領域を割り当てていた。しかしながら、ハイパーバイザは、周知の仮想記憶方式によるメモリ割り当てを行うこととしてもよい。
(13)実施の形態1及び2では、仮想デバイス提供機能及び仮想メールフォルダ提供機能において、第2仮想計算機(202、902)から仮想デバイス(仮想メールフォルダ)へのアクセス要求があった場合に、ハイパーバイザ(203、903)は、特権情報232、通常情報233、第1メールフォルダ981、第2メールフォルダ991など特定バイトのデータ列やフォルダを単位として、第2仮想計算機(202、902)によるアクセスを可能化していたが、どのような単位でアクセスを可能化してもよい。例えば、特定バイト数のデータ列を単位としてもよいし、ファイル、パーティションなどを単位としてもよい。
例えば、実施の形態1では、仮想デバイス提供機能において、第2仮想計算機202(タスク1(252))から仮想デバイスへのアクセス要求があった場合、ハイパーバイザ203は、第2仮想計算機202に、実際には、第1仮想計算機201が管理している特権情報232にアクセスさせている。すなわち、第2仮想計算機202は、特権情報232という決まったデータ長のデータ列を単位としてアクセスしている。
ハイパーバイザ203(選択サービス271)は、仮想デバイスアドレスを特権情報232に対応付ける場合、実施の形態1において図3を用いて説明したように、仮想デバイスアドレスであるD番地を、特権情報物理アドレスであるF番地に対応付けている。このとき、一例として、ハイパーバイザ203は、特権情報232が記憶されている記憶領域に付された物理アドレスの全てについて、仮想デバイスアドレスを用いてアクセスできるように第2変換表に記載してよい。
例えば、論理アドレスである(D+1)番地を、物理アドレスである(F+1)番地に対応付け、(D+10)番地を(F+10)番地に対応付ける。この場合に、タスク1(252)が、仮想デバイスへのアクセスとして(D+10)番地を読み出すよう要求すると、ハイパーバイザ203は、第2変換表を用いて(D+10)番地を(F+10)番地に変換する。そして、メモリ122における物理アドレス(F+10)番地に記憶されているデータを読み出し、タスク1(252)に受け渡す。タスク1(252)に仮想デバイスへのアクセスとしてデータの書き込みを行う場合にも、読み出しの場合と同様の、ハイパーバイザ203による論理アドレスから物理アドレスへの変換が行われる。
(14)上述の実施の形態1では、不正に読み出されると認証コードが暴露されてしまう認証情報DB231、秘匿情報の一例である特権情報232の暗号化については何ら言及しなかったが、これらを保護するために暗号化技術を組み合わせてもよい。
図16は、本変形例に係る仮想計算機システム1601の機能構成を示す図である。仮想計算機システム1601は、図2に示した仮想計算機システム100に対し暗号処理部1610を追加したものである。暗号処理部1610は、ハードウェア構成としては、暗号及び復号処理用のLSIなどで構成される。第1仮想計算機1602では、認証情報DB231及び特権情報232が記憶部205に記憶されるときには、暗号処理部1610により暗号化がされた上で記憶される。また、第1仮想計算機1602では、認証情報DB231及び特権情報232は、記憶部205から読み出されたときに暗号処理部1610により復号された上で、認証サービス212及び特権情報管理サービス213により管理される。
この構成により、認証情報DB231及び特権情報232は、記憶部205に記憶されているときには暗号化された状態になっている。よって、記憶装置104が仮想計算機システム100から物理的に取り出され、内容が読み出された場合にも、認証情報DB231及び特権情報232の内容が理解される可能性を低減することができる。
また、暗号化処理は、認証情報DB231、特権情報232といった個別の情報ごとに行うのではなく、第1仮想計算機201全体について行ってもよい。
図17に示す仮想計算機システム1701は、図2に示した仮想計算機システム100に対し暗号処理部1710を追加したものである。
仮想計算機システム1701は、第1仮想計算機201を構成する第1OS211、認証サービス212、特権情報管理サービス213、通常情報管理サービス214、及び、第1OS211が利用するファイルなどを記憶装置104に記憶する際に、暗号処理部1710により暗号化処理を行った上で記憶する。また、仮想計算機システム1701においては、第1仮想計算機201を構成する第1OS211などのプログラムを記憶部205から読み出し、メモリ122に展開する際に、暗号処理部1710により復号した上で展開する。
なお、暗号処理部1710と暗号処理部1610とを組み合わせて、第1仮想計算機全体を暗号処理部1710で暗号化することにより保護し、さらに、認証情報DB231及び特権情報232を暗号処理部1610で暗号化することにより保護してもよい。また、認証情報DB231及び特権情報232については暗号処理部1610を用いて暗号化することにより保護し、認証情報DB231及び特権情報232以外について暗号処理部1710を用いて暗号化することにより保護してもよい。
また、暗号処理部1610及び暗号処理部1710のセキュリティ強度を異なるものとしてもよい。一般的に、セキュリティ強度を高めるほど暗号化に要する処理負荷は高くなる。よって、例えば、認証情報DB231及び特権情報232についてより高い秘匿性が要求される場合に、暗号処理部1610のセキュリティ強度を、暗号処理部1710のセキュリティ強度よりも高くしてもよい。このようにすることで、暗号化処理に係る処理負荷の増加を必要程度に抑えつつ、暗号処理部1710のみを用いる場合よりもセキュリティ強度を向上させることができる。
(15)実施の形態1では、第2仮想計算機202から仮想デバイスへのアクセス要求がされた場合に、ハイパーバイザ203が、第2変換表を参照して仮想デバイスアドレスを特権情報232が記憶されている物理アドレスに変換していた。そして、ハイパーバイザ203は、第2仮想計算機202に、その変換後の物理アドレスで示される記憶領域へのアクセスを可能化していた。しかしながら、第2仮想計算機202側から、第1仮想計算機201側で管理している記憶領域にアクセスできれば足り、必ずしも第2変換表などのような変換表を用いなくてもよい。
例えば、第2仮想計算機202側から、第1仮想計算機201側で管理している記憶領域にアクセスさせる機構を、データベースを用いて実現することとしてもよい。データベースの一例としては、周知のキー・バリュー型の関係データベースを用いる。
図18は、本変形例に係る仮想計算機システム1800の機能構成を示す図である。
仮想計算機システム1800は、図2に示した仮想計算機システム100と比べ、特権情報管理サービス213及び通常情報管理サービス214に代えて、関係データベース(DB)1810を有する点が主に異なる。
関係DB1810は、第1仮想計算機1801が有するものとする。関係DB1810においては、第1キー1811を用いて検索することで第1バリュー1812が得られ、第2キー1813を用いて検索することで第2バリュー1814が得られるものとする。
また、ハイパーバイザ1803の選択サービス1871は、情報選択信号が認証成功を示す場合に対応するキー(本変形例では、第1キー1811とする)と、認証失敗を示す場合に対応するキー(本変形例では、第2キー1813とする。)とを予め保持している。
そして、選択サービス1871は、認証サービス212から情報選択信号を受け付ける。
この後に、第2仮想計算機202(タスク1(252))が仮想デバイスへのアクセス要求(例えば読み出し要求)を行った場合、ハイパーバイザ1803の選択サービス1871は、情報選択信号が認証成功を示すときには第1キー1811を選出し、情報選択信号が認証失敗を示すときには第2キー1813を選出する。そして、選択サービス1871は、選出したキーを用いて関係DB1810にアクセスし、選出したキーを用いて検索することにより得られたバリューを読み出す。そして、選択サービス1871は、得られたバリューを第2仮想計算機202に受け渡す。
また、第2仮想計算機202が仮想デバイスへのアクセス要求としてデータの書き込み要求を行った場合、選択サービス1871は、情報選択信号が認証成功を示すときには第1キーを選出し、情報選択信号が認証失敗を示すときには第2キーを選出する。そして、選択サービス1871は、選出したキーを用いてデータベースにアクセスし、キーに対応するバリューの記憶領域に、指定されたデータを書き込む。
(16)上述の実施の形態で示した認証サービス処理、マッピング処理及び仮想デバイス提供処理などの各種処理を仮想計算機システムのプロセッサ、及びそのプロセッサに接続された各種回路に実行させるための機械語或いは高級言語のプログラムコードからなる制御プログラムを、記録媒体に記録すること、又は各種通信路等を介して流通させ頒布することもできる。このような記録媒体には、ICカード、ハードディスク、光ディスク、フレキシブルディスク、ROM、フラッシュメモリ等がある。流通、頒布された制御プログラムはプロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより各実施形態で示したような各機能が実現されるようになる。なお、プロセッサは、制御プログラムを直接実行する他、コンパイルして実行或いはインタプリタにより実行してもよい。
(17)上述の実施の形態では、秘匿情報の一例として特権情報を用いたが、これに限るものではなく、一定の条件下で使用される情報であれば足りる。
(18)上述の実施の形態で示した各機能構成要素(第1OS211、認証サービス(212、911)、特権情報管理サービス213、通常情報管理サービス214、第2OS251、タスク1(252)〜タスクN(254)、ハイパーバイザ(203、903)、選択サービス(271、971)入力部204、記憶部205、表示部206、メーラ951、メール管理サービス912、暗号処理部(1610、1710)など)は、その機能を実行する回路として実現されてもよいし、1又は複数のプロセッサによりプログラムを実行することで実現されてもよい。
なお、上述の各機能構成要素は典型的には集積回路であるLSIとして実現される。これらは個別に1チップされてもよいし、一部又は全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。更には、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(19)上述の各実施の形態及び各変形例を、部分的に組み合せてもよい。
<4.補足>
以下、更に本発明の一実施の形態としての仮想計算機システムの構成及びその変形例と効果について説明する。
<4.補足>
以下、更に本発明の一実施の形態としての仮想計算機システムの構成及びその変形例と効果について説明する。
(1)本発明の一実施形態に係る仮想計算機システムは、コンピュータを含み、プログラムを実行することにより前記コンピュータが、第1の仮想計算機と、第2の仮想計算機と、前記第1の仮想計算機及び前記第2の仮想計算機を実行制御するハイパーバイザとして機能する仮想計算機システムであって、前記第1の仮想計算機は、秘匿情報を保持する保持手段と、認証処理を行い、認証結果を前記ハイパーバイザに通知する認証手段とを備え、前記第2の仮想計算機は、仮想化された記憶装置である仮想デバイスを利用し、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化する。
保持手段は、一例として、上述の実施の形態における特権情報管理サービス213、メール管理サービス912、又は関係DB1810である。
この構成により、本発明に係る仮想計算機システムでは、第2の仮想計算機は、認証の機構を有しておらず、認証の成否を偽って秘匿情報へアクセス可能とするような不正を行うことはできない。そして、第2の仮想計算機は、認証について何ら認識せずに、単に仮想デバイスを利用するのみであり、秘匿情報の使用可否については、第1の仮想計算機の認証手段による認証の成否に従うことになる。よって、本発明に係る仮想計算機システムは、第2の仮想計算機による秘匿情報の使用を認証が成功した場合に制限することができる。
(2)また、前記仮想計算機システムは、前記秘匿情報とは異なる情報である通常情報を、前記秘匿情報とは異なる記憶領域に保持しており、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記通常情報が記憶されている記憶領域へのアクセスを可能化することとしてもよい。
この構成により、第2の仮想計算機において秘匿情報と通常情報のいずれが利用できるかを、第1の仮想計算機が備える認証手段による認証の成否に基づき切り替えることができる。
(3)また、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているか否かにかかわらず、前記仮想デバイスの実体として、前記通常情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られているときには、前記仮想デバイスの実体として、前記通常情報が記憶されている記憶領域に加え、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化することとしてもよい。
(3)また、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているか否かにかかわらず、前記仮想デバイスの実体として、前記通常情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られているときには、前記仮想デバイスの実体として、前記通常情報が記憶されている記憶領域に加え、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化することとしてもよい。
この構成により、第2の仮想計算機における通常情報の利用が常に可能化されると共に、第1の仮想計算機が備える認証手段による認証の成否に基づき、秘匿情報へのアクセス可否を制御することができる。
(4)また、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られたときには、前記仮想デバイスと前記秘匿情報が記憶されている記憶領域との対応付けを行い、前記対応付けを行った後においては、前記第2の仮想計算機による前記仮想デバイスに対応付けた前記記憶領域へのアクセスを可能化することとしてもよい。
(4)また、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られたときには、前記仮想デバイスと前記秘匿情報が記憶されている記憶領域との対応付けを行い、前記対応付けを行った後においては、前記第2の仮想計算機による前記仮想デバイスに対応付けた前記記憶領域へのアクセスを可能化することとしてもよい。
この構成により、ハイパーバイザが一旦対応付けを行った後は、この対応付けに従い、仮想デバイスへのアクセスを、前記秘匿情報が記憶されている記憶領域へのアクセスに置き換えることができる。
(5)また、前記認証手段は、前記認証処理としてユーザ認証を行い、前記ユーザ認証に成功した場合には、前記認証結果に加えて、前記ユーザ認証に成功したユーザを識別するユーザ識別情報を通知し、前記保持手段は、前記秘匿情報として、第1のユーザ識別情報に対応する第1のユーザ情報と、第2のユーザ識別情報に対応する第2のユーザ情報とを保持し、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られ、かつ通知されたユーザ識別情報が第1のユーザ識別情報である場合には、前記仮想デバイスの実体として、前記第1のユーザ情報が記憶されている記憶領域へのアクセスを可能化し、通知されたユーザ識別情報が前記第2のユーザ識別情報である場合には、前記仮想デバイスの実体として、前記第2のユーザ情報が記憶されている記憶領域へのアクセスを可能化することとしてもよい。
(5)また、前記認証手段は、前記認証処理としてユーザ認証を行い、前記ユーザ認証に成功した場合には、前記認証結果に加えて、前記ユーザ認証に成功したユーザを識別するユーザ識別情報を通知し、前記保持手段は、前記秘匿情報として、第1のユーザ識別情報に対応する第1のユーザ情報と、第2のユーザ識別情報に対応する第2のユーザ情報とを保持し、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られ、かつ通知されたユーザ識別情報が第1のユーザ識別情報である場合には、前記仮想デバイスの実体として、前記第1のユーザ情報が記憶されている記憶領域へのアクセスを可能化し、通知されたユーザ識別情報が前記第2のユーザ識別情報である場合には、前記仮想デバイスの実体として、前記第2のユーザ情報が記憶されている記憶領域へのアクセスを可能化することとしてもよい。
この構成により、第2の仮想計算機は、第1のユーザ及び第2のユーザに関する認証について意識することなく、単に仮想デバイスにアクセスすることで、認証に成功したユーザに対応するユーザ情報を利用することができる。
(6)前記秘匿情報は、ファイルであり、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報であるファイルへのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報であるファイルへのアクセスを不能化することとしてもよい。
(6)前記秘匿情報は、ファイルであり、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報であるファイルへのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報であるファイルへのアクセスを不能化することとしてもよい。
この構成により、ファイルが記憶されている記憶領域を、仮想デバイスを用いたアクセスの対象にすることができる。
(7)また、前記秘匿情報は、データベースにおけるデータの一部である部分データであり、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報である部分データへのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報である部分データへのアクセスを不能化することとしてもよい。
(7)また、前記秘匿情報は、データベースにおけるデータの一部である部分データであり、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報である部分データへのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報である部分データへのアクセスを不能化することとしてもよい。
この構成により、データベースにおけるデータの一部が記憶されている記憶領域を、仮想デバイスを用いたアクセスの対象にすることができる。
(8)また、前記秘匿情報は、一アカウントに対応するメールに係るデータであり、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報であるメールに係るデータへのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報であるメールに係るデータへのアクセスを不能化することとしてもよい。
(8)また、前記秘匿情報は、一アカウントに対応するメールに係るデータであり、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報であるメールに係るデータへのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報であるメールに係るデータへのアクセスを不能化することとしてもよい。
この構成により、メールに係るデータを、仮想デバイスを用いたアクセスの対象にすることができる。
(9)本発明の一実施形態に係る秘匿情報保護方法は、コンピュータを含み、プログラムを実行することにより前記コンピュータが、第1の仮想計算機と、第2の仮想計算機と、前記第1の仮想計算機及び前記第2の仮想計算機を実行制御するハイパーバイザとして機能する仮想計算機システムが実行する秘匿情報保護方法であって、前記第1の仮想計算機における保持手段が、秘匿情報を保持する保持ステップと、前記第1の仮想計算機における認証手段が、認証処理を行い、認証結果を前記ハイパーバイザに通知する認証ステップと、前記第2の仮想計算機が、仮想化された記憶装置である仮想デバイスを利用する利用ステップと、前記ハイパーバイザが、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化する制御ステップとを含む。
(9)本発明の一実施形態に係る秘匿情報保護方法は、コンピュータを含み、プログラムを実行することにより前記コンピュータが、第1の仮想計算機と、第2の仮想計算機と、前記第1の仮想計算機及び前記第2の仮想計算機を実行制御するハイパーバイザとして機能する仮想計算機システムが実行する秘匿情報保護方法であって、前記第1の仮想計算機における保持手段が、秘匿情報を保持する保持ステップと、前記第1の仮想計算機における認証手段が、認証処理を行い、認証結果を前記ハイパーバイザに通知する認証ステップと、前記第2の仮想計算機が、仮想化された記憶装置である仮想デバイスを利用する利用ステップと、前記ハイパーバイザが、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化する制御ステップとを含む。
この構成により、本発明に係る秘匿情報保護方法では、第2の仮想計算機は、認証の機構を有しておらず、認証の成否を偽って秘匿情報へアクセス可能とするような不正を行うことはできない。そして、第2の仮想計算機は、認証について何ら認識せずに、単に仮想デバイスを利用するのみであり、秘匿情報の使用可否については、第1の仮想計算機の認証手段による認証の成否に従うことになる。よって、本発明に係る秘匿情報保護方法は、第2の仮想計算機による秘匿情報の使用を認証が成功した場合に制限することができる。
(10)本発明の一実施形態に係る秘匿情報保護プログラムは、コンピュータを、一の仮想計算機と、前記一の仮想計算機及び仮想デバイスを利用する他の仮想計算機を実行制御するハイパーバイザを含む仮想計算機システムとして機能させるための秘匿情報保護プログラムであって、前記コンピュータを、秘匿情報を保持する保持手段と、認証処理を行い、認証結果を前記ハイパーバイザに通知する認証手段とを備える前記一の仮想計算機と、前記認証手段から認証成功を示す認証結果が得られているときには、前記他の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記他の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化するハイパーバイザとして機能させる。
(10)本発明の一実施形態に係る秘匿情報保護プログラムは、コンピュータを、一の仮想計算機と、前記一の仮想計算機及び仮想デバイスを利用する他の仮想計算機を実行制御するハイパーバイザを含む仮想計算機システムとして機能させるための秘匿情報保護プログラムであって、前記コンピュータを、秘匿情報を保持する保持手段と、認証処理を行い、認証結果を前記ハイパーバイザに通知する認証手段とを備える前記一の仮想計算機と、前記認証手段から認証成功を示す認証結果が得られているときには、前記他の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記他の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化するハイパーバイザとして機能させる。
この構成により、本発明に係る秘匿情報保護プログラムでは、他の仮想計算機は、認証の機構を有しておらず、認証の成否を偽って秘匿情報へアクセス可能とするような不正を行うことはできない。そして、他の仮想計算機は、認証について何ら認識せずに、単に仮想デバイスを利用するのみであり、秘匿情報の使用可否については、一の仮想計算機の認証手段による認証の成否に従うことになる。よって、本発明に係る秘匿情報保護プログラムは、他の仮想計算機による秘匿情報の使用を認証が成功した場合に制限することができる。
本発明の一実施形態に係る仮想計算機システムは、秘匿情報の使用を認証が成功した場合に制限することができるものであり、写真、メール、アドレスなどの多くの秘匿情報が記憶される情報端末などに有用である。
100、900、1601、1701、1800 仮想計算機システム
201、901、1602、1801 第1仮想計算機
202、902 第2仮想計算機
203、903、1803 ハイパーバイザ
204 入力部
205 記憶部
206 表示部
211 第1OS
212、911 認証サービス
213 特権情報管理サービス
214 通常情報管理サービス
231、931 識別情報DB
232 特権情報
233 通常情報
251 第2OS
261 仮想デバイス
271、971、1871 選択サービス
912 メール管理サービス
951 メーラ
981 第1メールフォルダ
991 第2メールフォルダ
201、901、1602、1801 第1仮想計算機
202、902 第2仮想計算機
203、903、1803 ハイパーバイザ
204 入力部
205 記憶部
206 表示部
211 第1OS
212、911 認証サービス
213 特権情報管理サービス
214 通常情報管理サービス
231、931 識別情報DB
232 特権情報
233 通常情報
251 第2OS
261 仮想デバイス
271、971、1871 選択サービス
912 メール管理サービス
951 メーラ
981 第1メールフォルダ
991 第2メールフォルダ
Claims (10)
- コンピュータを含み、プログラムを実行することにより前記コンピュータが、第1の仮想計算機と、第2の仮想計算機と、前記第1の仮想計算機及び前記第2の仮想計算機を実行制御するハイパーバイザとして機能する仮想計算機システムであって、
前記第1の仮想計算機は、
秘匿情報を保持する保持手段と、
認証処理を行い、認証結果を前記ハイパーバイザに通知する認証手段とを備え、
前記第2の仮想計算機は、仮想化された記憶装置である仮想デバイスを利用し、
前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化する
ことを特徴とする仮想計算機システム。 - 前記仮想計算機システムは、前記秘匿情報とは異なる情報である通常情報を、前記秘匿情報とは異なる記憶領域に保持しており、
前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記通常情報が記憶されている記憶領域へのアクセスを可能化する
ことを特徴とする請求項1記載の仮想計算機システム。 - 前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているか否かにかかわらず、前記仮想デバイスの実体として、前記通常情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られているときには、前記仮想デバイスの実体として、前記通常情報が記憶されている記憶領域に加え、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化する
ことを特徴とする請求項1記載の仮想計算機システム。 - 前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られたときには、前記仮想デバイスと前記秘匿情報が記憶されている記憶領域との対応付けを行い、前記対応付けを行った後においては、前記第2の仮想計算機による前記仮想デバイスに対応付けた前記記憶領域へのアクセスを可能化する
ことを特徴とする請求項1記載の仮想計算機システム。 - 前記認証手段は、前記認証処理としてユーザ認証を行い、前記ユーザ認証に成功した場合には、前記認証結果に加えて、前記ユーザ認証に成功したユーザを識別するユーザ識別情報を通知し、
前記保持手段は、前記秘匿情報として、第1のユーザ識別情報に対応する第1のユーザ情報と、第2のユーザ識別情報に対応する第2のユーザ情報とを保持し、
前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られ、かつ通知されたユーザ識別情報が第1のユーザ識別情報である場合には、前記仮想デバイスの実体として、前記第1のユーザ情報が記憶されている記憶領域へのアクセスを可能化し、通知されたユーザ識別情報が前記第2のユーザ識別情報である場合には、前記仮想デバイスの実体として、前記第2のユーザ情報が記憶されている記憶領域へのアクセスを可能化する
ことを特徴とする請求項1記載の仮想計算機システム。 - 前記秘匿情報は、ファイルであり、
前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報であるファイルへのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報であるファイルへのアクセスを不能化する
ことを特徴とする請求項1記載の仮想計算機システム。 - 前記秘匿情報は、データベースにおけるデータの一部である部分データであり、
前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報である部分データへのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報である部分データへのアクセスを不能化する
ことを特徴とする請求項1記載の仮想計算機システム。 - 前記秘匿情報は、一アカウントに対応するメールに係るデータであり、
前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報であるメールに係るデータへのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報であるメールに係るデータへのアクセスを不能化する
ことを特徴とする請求項1記載の仮想計算機システム。 - コンピュータを含み、プログラムを実行することにより前記コンピュータが、第1の仮想計算機と、第2の仮想計算機と、前記第1の仮想計算機及び前記第2の仮想計算機を実行制御するハイパーバイザとして機能する仮想計算機システムが実行する秘匿情報保護方法であって、
前記第1の仮想計算機における保持手段が、秘匿情報を保持する保持ステップと、
前記第1の仮想計算機における認証手段が、認証処理を行い、認証結果を前記ハイパーバイザに通知する認証ステップと、
前記第2の仮想計算機が、仮想化された記憶装置である仮想デバイスを利用する利用ステップと、
前記ハイパーバイザが、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化する制御ステップと
を含むことを特徴とする秘匿情報保護方法。 - コンピュータを、一の仮想計算機と、前記一の仮想計算機及び仮想デバイスを利用する他の仮想計算機を実行制御するハイパーバイザを含む仮想計算機システムとして機能させるための秘匿情報保護プログラムであって、
前記コンピュータを、
秘匿情報を保持する保持手段と、
認証処理を行い、認証結果を前記ハイパーバイザに通知する認証手段とを備える前記一の仮想計算機と、
前記認証手段から認証成功を示す認証結果が得られているときには、前記他の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記他の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化するハイパーバイザとして機能させる
ことを特徴とする秘匿情報保護プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012036010 | 2012-02-22 | ||
JP2012036010 | 2012-02-22 | ||
PCT/JP2013/000962 WO2013125222A1 (ja) | 2012-02-22 | 2013-02-20 | 仮想計算機システム、秘匿情報保護方法及び秘匿情報保護プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013125222A1 JPWO2013125222A1 (ja) | 2015-07-30 |
JP5981984B2 true JP5981984B2 (ja) | 2016-08-31 |
Family
ID=49005417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014500592A Expired - Fee Related JP5981984B2 (ja) | 2012-02-22 | 2013-02-20 | 仮想計算機システム、秘匿情報保護方法及び秘匿情報保護プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9460276B2 (ja) |
JP (1) | JP5981984B2 (ja) |
CN (1) | CN103502993A (ja) |
WO (1) | WO2013125222A1 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2947592B1 (en) | 2007-09-24 | 2021-10-27 | Apple Inc. | Embedded authentication systems in an electronic device |
US8600120B2 (en) | 2008-01-03 | 2013-12-03 | Apple Inc. | Personal computing device control using face detection and recognition |
US9002322B2 (en) | 2011-09-29 | 2015-04-07 | Apple Inc. | Authentication with secondary approver |
US9129124B2 (en) * | 2012-04-12 | 2015-09-08 | Hewlett-Packard Development Company, L.P. | Dynamic provisioning of virtual systems |
US9898642B2 (en) | 2013-09-09 | 2018-02-20 | Apple Inc. | Device, method, and graphical user interface for manipulating user interfaces based on fingerprint sensor inputs |
US10043185B2 (en) | 2014-05-29 | 2018-08-07 | Apple Inc. | User interface for payments |
US9959203B2 (en) * | 2014-06-23 | 2018-05-01 | Google Llc | Managing storage devices |
KR20160091663A (ko) * | 2015-01-26 | 2016-08-03 | 삼성전자주식회사 | 멀티 플랫폼 기반의 어플리케이션 실행 방법 및 장치 |
KR102484606B1 (ko) * | 2016-03-11 | 2023-01-05 | 삼성전자주식회사 | 전자장치 및 그 제어방법 |
JP6696352B2 (ja) * | 2016-08-18 | 2020-05-20 | 富士通株式会社 | プログラマブルロジック装置、情報処理装置、処理方法、及び処理プログラム |
DK179471B1 (en) | 2016-09-23 | 2018-11-26 | Apple Inc. | IMAGE DATA FOR ENHANCED USER INTERACTIONS |
EP4156129A1 (en) | 2017-09-09 | 2023-03-29 | Apple Inc. | Implementation of biometric enrollment |
KR102185854B1 (ko) | 2017-09-09 | 2020-12-02 | 애플 인크. | 생체측정 인증의 구현 |
US10841291B2 (en) * | 2018-05-31 | 2020-11-17 | Vmware, Inc. | Method for block authentication using embedded virtual machines |
US11170085B2 (en) | 2018-06-03 | 2021-11-09 | Apple Inc. | Implementation of biometric authentication |
WO2020000145A1 (en) * | 2018-06-25 | 2020-01-02 | Intel Corporation | World-switch as a way to schedule multiple isolated tasks within a VM |
US10904330B2 (en) * | 2018-07-10 | 2021-01-26 | Vmware, Inc. | Systems, methods and apparatus to manage services in distributed systems |
US10860096B2 (en) | 2018-09-28 | 2020-12-08 | Apple Inc. | Device control using gaze information |
US11100349B2 (en) | 2018-09-28 | 2021-08-24 | Apple Inc. | Audio assisted enrollment |
US11475413B2 (en) * | 2019-04-25 | 2022-10-18 | Red Hat, Inc. | Concurrent meeting and compute instance scheduling |
US11620149B2 (en) * | 2020-06-25 | 2023-04-04 | Red Hat, Inc. | Safe entropy source for encrypted virtual machines |
EP4264460A1 (en) | 2021-01-25 | 2023-10-25 | Apple Inc. | Implementation of biometric authentication |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1013315B (it) | 1973-05-31 | 1977-03-30 | Honeywell Inf Systems | Perfezionamento nei virtualizzatori per elaboratori elettronici di dati |
US6249866B1 (en) | 1997-09-16 | 2001-06-19 | Microsoft Corporation | Encrypting file system and method |
JP2002323986A (ja) | 2001-04-25 | 2002-11-08 | Hitachi Ltd | コンピュータリソース流通システム及び方法 |
US7886126B2 (en) | 2005-01-14 | 2011-02-08 | Intel Corporation | Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system |
CN100517276C (zh) * | 2006-07-04 | 2009-07-22 | 联想(北京)有限公司 | 一种数据安全存储的方法及装置 |
WO2008046101A2 (en) * | 2006-10-13 | 2008-04-17 | Ariel Silverstone | Client authentication and data management system |
JP5260081B2 (ja) | 2008-02-25 | 2013-08-14 | パナソニック株式会社 | 情報処理装置及びその制御方法 |
JP5166169B2 (ja) * | 2008-08-27 | 2013-03-21 | 株式会社日立製作所 | ハイパバイザを有する計算機システム |
JP4787341B2 (ja) * | 2009-02-18 | 2011-10-05 | 株式会社エヌ・ティ・ティ・ドコモ | データ処理装置、データ処理方法、データ処理プログラム |
JP5626839B2 (ja) * | 2010-03-19 | 2014-11-19 | 富士通株式会社 | 仮想計算機システム、仮想計算機制御装置および仮想計算機システムの実行方法 |
WO2012117465A1 (ja) * | 2011-03-02 | 2012-09-07 | パナソニック株式会社 | 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、及び半導体集積回路 |
US9069587B2 (en) * | 2011-10-31 | 2015-06-30 | Stec, Inc. | System and method to cache hypervisor data |
-
2013
- 2013-02-20 JP JP2014500592A patent/JP5981984B2/ja not_active Expired - Fee Related
- 2013-02-20 WO PCT/JP2013/000962 patent/WO2013125222A1/ja active Application Filing
- 2013-02-20 US US14/008,785 patent/US9460276B2/en not_active Expired - Fee Related
- 2013-02-20 CN CN201380001097.1A patent/CN103502993A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US9460276B2 (en) | 2016-10-04 |
WO2013125222A1 (ja) | 2013-08-29 |
US20140020086A1 (en) | 2014-01-16 |
CN103502993A (zh) | 2014-01-08 |
JPWO2013125222A1 (ja) | 2015-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5981984B2 (ja) | 仮想計算機システム、秘匿情報保護方法及び秘匿情報保護プログラム | |
CN103353931B (zh) | 安全增强型计算机系统和方法 | |
US8856521B2 (en) | Methods and systems for performing secure operations on an encrypted file | |
RU2667713C2 (ru) | Селективное обеспечение соблюдения целостности кода, обеспечиваемое менеджером виртуальной машины | |
CN100449560C (zh) | 一种计算机数据安全防护方法 | |
JP5983940B2 (ja) | 情報処理装置、情報処理方法、プログラム、集積回路 | |
JP5611598B2 (ja) | Usbトークン上の暗号化キーコンテナ | |
CN107038369A (zh) | 一种资源访问控制的方法及终端 | |
US8996883B2 (en) | Securing inputs from malware | |
JP4850830B2 (ja) | コンピュータシステム及びプログラム生成装置 | |
US20170288874A1 (en) | Cryptographic protection for trusted operating systems | |
Amiri Sani | Schrodintext: Strong protection of sensitive textual content of mobile applications | |
KR101323858B1 (ko) | 가상화 시스템에서 메모리 접근을 제어하는 장치 및 방법 | |
JP6511161B2 (ja) | データファイルの保護 | |
KR102166430B1 (ko) | 데이터 보호 기능을 갖는 ssd 기반의 저장미디어 | |
Chen et al. | A cross-layer plausibly deniable encryption system for mobile devices | |
US20220326863A1 (en) | Data storage apparatus with variable computer file system | |
KR20220056705A (ko) | 데이터 보안 장치 및 데이터 보안 방법 | |
US11783095B2 (en) | System and method for managing secure files in memory | |
TWI263432B (en) | Data security method for storage apparatus and storage media and electronic device | |
CN117556454A (zh) | 一种数据管理方法和电子设备 | |
WO2016196030A1 (en) | Protecting data files | |
JP2013191043A (ja) | ディスク装置、ファイル共有システム、ファイル共有方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150727 |
|
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: 20160705 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160729 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5981984 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |