JP7306964B2 - 仮想化システムおよび動作管理方法 - Google Patents

仮想化システムおよび動作管理方法 Download PDF

Info

Publication number
JP7306964B2
JP7306964B2 JP2019200651A JP2019200651A JP7306964B2 JP 7306964 B2 JP7306964 B2 JP 7306964B2 JP 2019200651 A JP2019200651 A JP 2019200651A JP 2019200651 A JP2019200651 A JP 2019200651A JP 7306964 B2 JP7306964 B2 JP 7306964B2
Authority
JP
Japan
Prior art keywords
guest
allocation information
osid
virtualization system
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019200651A
Other languages
English (en)
Other versions
JP2021076908A (ja
Inventor
哲也 柴山
ヴァン ニャット ウィン
勝重 松原
誠二 望月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2019200651A priority Critical patent/JP7306964B2/ja
Priority to US17/064,341 priority patent/US11687357B2/en
Publication of JP2021076908A publication Critical patent/JP2021076908A/ja
Application granted granted Critical
Publication of JP7306964B2 publication Critical patent/JP7306964B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、高い堅牢性を必要とするネットワーク対応車載システム、自動運転、及びADAS(Advanced Driver Assistance System:先進運転支援システム)等の車載システムに適用される仮想化システムに関する。
仮想化技術とは、コンピュータシステムを構成する様々なリソース(CPU、メモリ、ストレージ、OS等)を物理的な構成とは独立に論理的な単位に編成する技術であって、複数のリソースを統合して一つに見せたり、一つのリソースを分割して複数に見せかけたりすることが可能になる。このような仮想化技術を用いたシステム環境下では、ハードウェア上にソフトウェアで構築された仮想マシンが起動し、その中でゲストOSが動作する。仮想マシンを構築する方式として、コンピュータ上でハイパーバイザと呼ばれる専用のソフトウェアを起動し、ハイパーバイザにより構築された仮想マシン上でOSを起動する方式がある。ハイパーバイザはコンピュータのハードウェア・リソース(以下、リソース)の割り当てを示す割当情報を管理し、仮想的な物理環境を創出する。仮想化システムはSoC(System on Chip)上で実現される。
仮想環境下で動作するゲストOSに対してリソースを割り当て管理するために、各ゲストOSには識別のためのOSIDが付与される。OSIDを固定せずに柔軟にソフトウェアで設定可能とした場合、ソフトウェアが攻撃を受けてOSIDが勝手に書き換えられる可能性があり、このような攻撃からOSIDを防ぐ方法としてハードウェアでOSIDを隠蔽する方法がある。
図8は、仮想化システムにおけるソフトウェア攻撃からOSIDを隠蔽するためのシステム構成を示した図である。セキュアCPUで稼働するハイパーバイザ(8c)、非セキュアCPUで稼働するゲストOS1(8a)とゲストOS2(8d)、ゲストOS1(8a)のOSIDが格納されるレジスタ(8b)、ゲストOS2(8d)のOSIDが格納されるレジスタ(8e)、ゲートウェイ(8f)、リソースにアクセスするIP0(Intellectual Property)(8i)、IP1(8j)、IP0(8i)及びIP1(8j)を使用するゲストOSのOSIDを管理するレジスタ(8g、8h)、IP0(8i)及びIP1(8j)が管理するリソース(メモリ等)(不図示)で構成されている。
図9を用いて、ソフトウェア攻撃からOSIDを隠蔽するための動作フローを説明する。ゲストOS1(8a)に割り当てられるOSID(=A)は、仮想化システムを実現するSoCの起動直後にハイパーバイザ8cがリソースマップ等を基にして生成して、スーパー特権を持つゲートウェイ(8f)に保持させる(S901)。次に、ゲストOS1(8a)を稼働させるCPU0のレジスタ(8b)(他のゲストOSが直接参照できないレジスタとする)に、該当OSIDをスーパー特権で書き込みを行う。ゲストOS1(8a)は非セキュアCPUで稼働する(S902)。ゲストOS1(8a)が割り当てられたOSIDを使用してゲートウェイ(8f)を介して、リソースへアクセスする(S903)。ゲートウェイ(8f)はリソースにアクセス許可されているOSIDを格納しているレジスタ(8g、8h)により、アクセス要求のあったOSIDとレジスタに格納されたOSIDを比較して、一致している場合はアクセスを許可する。不一致の場合はアクセスを許可しない(S904)。もしゲストOS1(8a)がリソースを使用しなくなった場合やアクセスするリソースを変更したい場合はハイパーバイザ(8c)へ申請して、リソースの開放や再割り当てをしてもらうようにする(S905)。
以上のような動作により、OSIDはスーパー特権を有するゲートウェイ(8f)のレジスタ(8g、8h)と、他のゲストOSより参照ができないゲストOS側のレジスタ(8b、8e)に保持することにより、ハードウェアとしてOSIDを隠蔽し、仮想化システムにおいて高いセキュリティ環境を実現している。
しかしながら、従来技術には以下のような問題点があった。一旦OSIDが割り当てられると、生成されたOSIDは変更されることなくシステムの稼働中使用し続けられる。このような場合、例えば悪意のあるゲストOSが割り当てられていないリソースにアクセスしようとして、OSIDを順次変更しながら総当たり的にアクセスすることでアクセスに成功する可能性がある。この課題を解決するためには、定期的にOSIDを変更することが考えられるが、OSIDの変更はシステム停止中に行う必要があるため、一度停止して、再設定した後再開するという手順を踏むことになる。しかしながらこの方法では、短時間で頻繁にOSIDを変更するようなことは実質的には不可能である。さらに、変更期間を長く確保するようにしたとしても、ソフトウェアの介在が必要となり、性能の低下につながってしまうことが懸念される。
本発明の課題は、仮想化システムにおいて、非セキュアCPUにおいて稼働するゲストOSからリソースへのアクセスを制限する機能について、ソフトウェア処理の負荷を軽減しながら、高いセキュリティを実現できるようにすることである。
複数のOSとリソースとの紐づけを行うOSID管理を行うハイパーバイザと、ハイパーバイザから初期値を受け取り、紐づけを行うOSIDを設定するOSIDマネージャをゲストOS及びリソースの各々に有する仮想化システムにおいて、初期値の設定後一定時間経過した後にOSIDマネージャにより作成された新しいOSIDをゲストOSとリソースに更新するように要求する。これにより、ゲストOSとリソースのOSIDを同時に更新することが可能になる。
一実施の形態に係る仮想化システムでは、OSIDマネージャが定期的にOSIDを作成し、ゲストOSとリソースとに作成したOSIDを再設定することにより、従来固定値で運用していたOSIDをシステムが動作中に更新することが可能になる。また、OSIDマネージャ内の更新制御部7によって同時に更新することで、更新のずれにより発生するミスマッチを防止しながら確実にOSIDを更新することが可能となる。これにより,悪意あるOSによる総当たり的な攻撃を受けた場合に仮にOSIDが盗まれた場合であっても、OSIDはすぐに更新されるため、盗まれたOSIDは無効となり、堅牢性の高いシステムを実現できる。
図1は、第一の実施の形態に係る仮想化システムの構成図である。 図2は、第一の実施の形態に係る仮想化システムにおけるOSIDの更新フローである。 図3は、第二の実施の形態に係る仮想化システムの構成図である。 図4は、第二の実施の形態に係る仮想化システムにおけるOSIDの更新フローである。 図5は、第三の実施の形態に係る仮想化システムの構成図である。 図6は、第三の実施の形態に係る仮想化システムにおけるOSIDの更新フローである。 図7は、変形例2に係るOSIDの構成図である。 図8は、従来の仮想化システム構成図である。 図9は、従来の仮想化システムにおけるOSIDの管理フローである。
(第一の実施形態)
以下、第一の実施形態に係る仮想化システムについて、図面を参照して詳細に説明する。なお、明細書及び図面において、同一の構成要件または対応する構成要件には、同一の符号を付し、重複する説明は省略する。また、図面では、説明の便宜上、構成を省略または簡略化している場合もある。また、実施の形態と各変形例との少なくとも一部は、互いに任意に組み合わされてもよい。
(仮想化システムの全体構成)
図1は、第一の実施形態に係る仮想化システムの全体構成を示すブロックである。仮想化システムは複数のゲストOSを仮想環境上で動作させる。仮想化システムは、セキュアCPU(中央処理装置)で稼働するハイパーバイザ(1c)、非セキュアCPUで稼働するゲストOS1(1a)とゲストOS2(1d)、ゲストOS1(1a)のOSIDを格納したレジスタ(1b)、ゲストOS2(1d)のOSIDを格納したレジスタ(1e)、OSIDマネージャ(1f)、IP0(Intellectual Property)(1i)、IP1(1j)、IP0(1i)が使用するレジスタ(1k)、IP1(1j)が使用するレジスタ(1l)、IP0が管理するリソース(メモリ等)(不図示)で構成されている。ハイパーバイザ(1c)はゲストOS1およびゲストOS2の仮想環境上の動作を制御し、ゲストOS1およびゲストOS2に対する仮想化システムのリソースの割り当てを示す割当情報であるOSIDを管理する。IP0(1i)およびIP1(1j)は割当情報に基づいてリソースへのアクセスを管理する。
第一の実施形態において、図8の従来技術におけるゲートウェイ(8f)に相当する制御部としてのOSIDマネージャ(1f)が存在し、OSIDマネージャ(1f)はOSIDを生成する更新制御部(1g)とOSID生成部(1h)とを有している。OSID生成部(1h)はゲストOS1(1a)及びゲストOS2(1d)に割り当てられるOSIDを生成する。更新制御部(1g)はゲストOS1(1a)、ゲストOS2(1d)、IP0(1i)、IP1(1j)に対して、更新用OSIDを新たなOSIDとして使用するように指示を行う。
(OSIDの更新フロー)
具体的に図2を用いて、本実施の形態におけるOSIDの更新フローについて説明する。非セキュアCPU0で稼働するゲストOS1(1a)からハイパーバイザ(1c)に対してリソースを管理するIP0(1i)へのアクセス申請を行う(S201)。ハイパーバイザ(1c)は各IPにアクセスするゲストOSのOSIDを生成し、生成したOSIDを初期値として設定する(S202)。一例として、ハイパーバイザ(1c)はゲストOS1(1a)に対してOSID=Aを割り当てる。OSIDマネージャ(1f)はハイパーバイザ(1c)が設定したOSID初期値(OSID=A)をIP0(1i)に設定すると共に、OSID生成部(1h)が新たなOSID(OSID=A’)を生成する(S203)。OSIDマネージャ(1f)はIP0(1i)に設定したOSIDをCPU0に設定し、CPU0が稼働可能な状態にする(S204)。
ゲストOS1(1a)はCPU0に設定されたOSID(OSID=A)を使用して、IP0(1i)の管理するリソースに対してアクセス要求を行う(S205)。IP0(1i)はゲストOS1(1a)からのリソースへのアクセス要求に対して、OSIDマネージャ(1f)により設定されたOSIDと一致している場合は、リソースへのアクセスを許可する(S206)。OSIDが一致しない場合はリソースへのアクセスを拒否する。本例では、ゲストOS1(1a)のOSID=Aに対し、IP0(1i)のレジスタにはOSID=Aが設定されているため、アクセスを受け付ける。一方、OSIDマネージャ(1f)は、あらかじめ設定された更新タイミング(所定のタイミング)がきたら、生成しておいたOSID=A’をIP0(1i)及びCPU0に送信する。また、送信したOSIDに切り替える指示をIP0(1i)及びCPU0に対して行なう(S207)。
(効果)
OSIDをシステム動作中であっても頻繁に変更することが可能となり、悪意あるゲストOSがOSIDを偽造して許可されていないリソースにアクセス可能となったとしても、OSIDは定期的に更新されるため、アクセスに成功したOSIDはすぐに無効になってしまう。つまり,仮想化システムでのゲストOSの稼働にあたり、重要な要素の一つである高い堅牢性を実現することが可能となる。また、OSIDを頻繁に更新した場合であってもソフトウェアで実現されるハイパーバイザはOSIDの初期設定に関与するだけであり、OSIDの更新管理はOSIDマネージャが実施するため、システムの性能劣化が発生しない。
(第二の実施形態)
図3は、第二の実施形態に係る仮想化システムの全体構成を示すブロックである。セキュアCPUで稼働するハイパーバイザ(3c)、非セキュアCPUで稼働するゲストOS1(3a)、ゲストOS2(3d)、OSIDマネージャ(3f)、更新制御部(3g)、ゲストOS1(3a)及びゲストOS2(3d)の内部にそれぞれ設けられたOSID生成部(3b)、OSID生成部(3e)、IP0(Intellectual Property)(3h)、IP1(3i)、IP0(3h)及びIP1(3i)の内部にそれぞれ設けられたOSID生成部(3j)、OSID生成部(3k)が管理するリソース(メモリ等)(不図示)で構成されている。第一の実施形態とは、OSID生成部が配置される場所が異なる構成となっている。
第二の実施形態においては、第一の実施形態と比較して、OSID生成部がゲストOS及びIPの内部に配置されている。また、OSID生成部はOSIDから受け取るシード(変数)や算出関数等のパラメータを基にOSIDを生成して使用するため、OSID自体を内部に保持しない。
(OSIDの更新フロー)
具体的に図4を用いて、本実施の形態におけるOSIDの更新フローについて説明する。非セキュアCPU0で稼働するゲストOS1(3a)は、新たにリソースが必要になった場合やOSIDの数を使い切った場合に、セキュアCPUで稼働するハイパーバイザ(3c)に対して、シード更新を申請する(S401)。シードはOSID生成に使用される変数である。ハイパーバイザ(3c)は、OSIDマネージャ(3f)に対して、OSID生成パラメータ(シード、算出関数、生成個数等)をゲストOS1(3a)が稼働するCPU0に対して送信するように指示する(S402)。OSIDマネージャ(3f)は、OSID生成パラメータをCPU0及びIP0(3h)に対して送信する(S403)。ゲストOS1(3a)とIP0(3h)は、内部に配置されたOSID生成部(3b)とOSID生成部(3j)によりOSID生成パラメータと前のOSIDから新たにOSIDを生成する(S404)。言い換えると、ゲストOS1(3a)及びIP0(3h)は、OSIDマネージャ(3f)からの指示に基づいて、パラメータ(例えばOSID生成パラメータのシード)と直前に使用していたOSIDに基づいて、新たに使用するOSIDを所定の関数(例えばOSID生成パラメータの算出関数)により算出する。OSIDマネージャ(3f)はCPU0が稼働可能な状態にする(S405)。
ゲストOS1(3a)は生成したOSIDを使用して、IP0(3h)に対してリソースへのアクセス要求を行う(S406)。IP0(3h)は、生成したOSIDを使用してリソースへのアクセス管理を行う(S407)。アクセス要求のOSIDと、生成したOSIDとを比較して、一致している場合はアクセス要求を受け付ける。更新制御部(3g)はゲストOS1(3a)及びIP0(3h)に対して定期的に(所定のタイミングで)OSIDの更新を指示する。配置されたOSID生成部(3b)、OSID生成部(3j)では、OSIDを定期的に生成して、更新制御部(3g)からの指示により使用するOSIDを生成しておいたOSIDに更新する。更新した場合は古くなったOSIDを消去し無効にする(S408)。なお、CPU0が何らかの処理によりロックされている期間はOSIDを更新しないようにする。ゲストOS1(3a)はIP0(3h)へのリソース要求が完了した時に、ハイパーバイザ(3c)に完了を通知する(S409)。
(効果)
第二の実施の形態では、ゲストOS及びIP(リソース)共に、保持するOSIDはその都度OSID生成部により生成されるため、OSID自体を保持する必要がなくなり、OSIDを完全に隠蔽可能になる。また、ゲストOS及びIP(リソース)が保持するデータはあくまでOSID生成用のパラメータであるため、仮にパラメータを盗まれた場合であっても、OSIDの生成アルゴリズムが解明されない限り、OSIDを生成することが不可能であり、高い堅牢性を実現できる。
(第三の実施形態)
図5は、第三の実施形態に係る仮想化システムの全体構成を示すブロックである。セキュアCPUで稼働するハイパーバイザ(5c)、非セキュアCPUで稼働するゲストOS1(5a)、ゲストOS2(5d)、ゲストOS1(5a)及びゲストOS2(5d)の内部に設けられたOSID生成部(5b)、OSID生成部(5e)、OSIDマネージャ(5f)、IP0(Intellectual Property)(5g)、IP1(5i)、IP0(5g)及びIP1(5i)の内部にそれぞれ設けられたOSID生成部(5h)、OSID生成部(5j)、IP0(5g)が管理するリソース(メモリ等)(不図示)で構成されている。第一の実施形態とは、OSID生成部が配置される場所が異なる構成となっている。また、第二の実施形態とは、更新制御部がない点が異なっている。
第三の実施形態においては、OSIDマネージャによる更新指示が不要となる構成である。第二の実施形態と同様に、OSID生成部はゲストOS及びリソース内部に配置され、OSIDマネージャからのパラメータに従ってOSIDを生成する。ゲストOSは、例えば1回のアクセス毎や10回のアクセス毎等の予め決められた間隔(所定のタイミング)でOSIDを更新してリソースにアクセスする。リソースも同様にアクセス回数をカウントしてあらかじめ決められた更新タイミングになったら同様にOSIDを更新する。更新間隔はOSIDマネージャがあらかじめ設定しておく。
(OSIDの更新フロー)
具体的に図6を用いて、本実施に形態におけるOSIDの更新フローについて説明する。非セキュアCPU0で稼働するゲストOS1(5a)は、新たにリソースが必要になった場合やOSIDの数を使い切った場合に、セキュアなCPUで稼働するハイパーバイザ(5c)に対して、シード更新を申請する(S601)。シードはOSID生成に使用される変数である。ハイパーバイザ(5c)は、OSIDマネージャ(5f)に対して、OSID生成パラメータ(シード、算出関数、生成個数等)をゲストOS1(5a)が稼働するCPU0に対して送信するように指示する(S602)。OSIDマネージャ(5f)は、OSID生成パラメータをCPU0及びIP0(5g)に対して送信する(S603)。ゲストOS1(5a)とIP0(5g)は、内部に配置されたOSID生成部(5f)とOSID生成部(5h)によりOSIDパラメータと前のOSIDから新たにOSIDを生成する(S604)。言い換えると、ゲストOS1(5a)及びIP0(5g)は、パラメータ(例えばOSID生成パラメータのシード)と直前に使用していたOSIDに基づいて、新たに使用するOSIDを所定の関数(例えばOSID生成パラメータの算出関数)により算出する。OSID生成パラメータをCPU0が稼働可能な状態にする(S605)。
ゲストOS1(5a)は生成したOSIDを使用してリソースへのアクセス管理を行う(S606)。IP0(5g)は、生成したOSIDを使用してリソースへのアクセス管理を行う(S607)。アクセス要求のOSIDと、生成したOSIDとを比較して、一致している場合はアクセス要求を受け付ける。ゲストOS1(5a)及びIP0(5g)の内部にそれぞれ配置されたOSID生成部(5b)、OSID生成部(5h)では、OSIDを所定のタイミングで生成するともに、古くなったOSIDを消去し無効にする(S608)。所定のタイミングとしては、ゲストOS1(5a)がIP0(5g)へのアクセス要求をした回数が所定の値となった時、一方IP0(5g)はゲストOS1(5a)からのアクセス要求の回数が所定の回数となった時に、OISDを更新するようにしてもよい。なお、CPUがロックされている期間はOSIDを更新しないようにする。ゲストOS1(5a)はIP0(5g)へのリソース要求が完了した時に、ハイパーバイザ(5c)に完了を通知する(S609)。
(効果)
第三の実施の形態では、ゲストOSからIP(リソース)へのアクセスは順序保証されたアクセスになり、このアクセスを元に更新タイミングを決めることによってOSIDマネージャからの更新指示がなくても矛盾したOSIDになることなくアクセス可能となる。また、OSIDマネージャは各ゲストOS、IP(リソース)に対して更新制御を行う必要がないため、制御対象が増えた場合であっても複雑な制御をすることなくOSIDの頻繁な定期更新が可能となる。
(変形例1)
例えば、OSID生成部の機能を簡素化する方法もある。第二及び第三の実施形態においては、ゲストOS及びIP内部のOSID生成部がOSIDを生成していたが、OSID生成部を設ける代わりに、OSID格納テーブルを保持することも可能である。OSID格納テーブルにOSIDマネージャがOSIDを格納し、あらかじめ定められた更新のタイミングでテーブル内のOSIDを順次更新していく。例えば、ゲストOS1(3a,5a)及びIP0(3h,5g)は、OSIDマネージャ(3f,5f)からの指示に基づいて、パラメータと直前に使用していたOSIDに基づいて、割当情報テーブルとしてのOSID格納テーブルより生成する。OSIDがテーブルの最後に到達した場合は、次の更新タイミングで最初に戻るようにする。この方法では、OSID生成部を有する場合よりも、より簡素な構成で堅牢性の高い仮想化システムの構築が可能になる。
(変形例2)
各実施形態におけるOSID生成部が個別にOSIDを生成する場合、生成したOSIDが重複してしまう可能性がある。この問題を解決するために、図7に示すように、OSIDをOS識別部(7a)とOSID部(7b)により構成するようにする。OS識別部(7a)はゲストOS毎にあらかじめ決められた番号を格納する。図7の構成例では最大4個までのOSをサポートすることが可能となっている。OSIDは16ビットの場合、OS識別部(7a)は、ビット0がゲストOS0、ビット1がゲストOS1といったように、OS識別部(7a)のビット位置と各OSに割り振られたOSのOSIDが対応している。OS識別部(7a)のビット0=1とすることで、ゲストOS0用のOSIDとして識別される。また、複数のOSからアクセスを許可する場合は、同様に対応したビット位置が“1”となる。例えば、OS0とOS3のみ許可される場合は、OS識別部(7a)は“1001”となる。
1a、3a、5a、8a ゲストOS1(GUEST OS1)
1d、3d、5d、8d ゲストOS2(GUEST OS2)
1b、1e、8b、8e レジスタ
1c、3c、5c ハイパーバイザ(HYPERVISOR)
1f、3f、5f OSIDマネージャ(OSID MANAGER)
3b、3e、3j、3k OSID生成部(OSID GENERATER)
5b、5e、5h、5j OSID生成部(OSID GENERATER)
1g、3g 更新制御部(UPDATE CONTROLLER)
1i、3h、5g、8i IP0
1j、3i、5i、8j IP1
1k、1l レジスタ
8f ゲートウェイ(GATEWAY)
8g、8h レジスタ

Claims (11)

  1. 複数のゲストOSを仮想環境上で動作させる仮想化システムであって、
    前記複数のゲストOSの仮想環境上の動作を制御し、前記ゲストOSに対する前記仮想化システムのハードウェア・リソースの割り当てを示す割当情報を管理するハイパーバイザと、
    前記割当情報に基づいて前記ハードウェア・リソースへのアクセスを管理するIPと、前記割当情報を更新し、前記ゲストOS及び前記IPに更新した前記割当情報を送信する制御部と、
    を動作させるコンピュータを備え、
    前記ゲストOSは自身に割り当てられた前記割当情報に基づいて前記IPに前記ハードウェア・リソースへのアクセスを要求し、
    前記IPは自身に割り当てられた前記割当情報に基づいて、前記ゲストOSからのアクセスの要求を許可するかどうかを判断することを特徴とする仮想化システム。
  2. 前記制御部は所定のタイミングで前記割当情報を更新し、前記ゲストOS及び前記IPへ送信し、更新した割当情報への切り替えを指示することを特徴とする、請求項1記載の仮想化システム。
  3. 複数のゲストOSを仮想環境上で動作させる仮想化システムであって、
    前記複数のゲストOSの仮想環境上の動作を制御し、前記ゲストOSに対する前記仮想化システムのハードウェア・リソースの割り当てを示す割当情報を生成するためのパラメータを管理するハイパーバイザと、
    前記割当情報に基づいて前記ハードウェア・リソースへのアクセスを管理するIPと、
    前記割当情報の更新指示を前記ゲストOS及び前記IPに送信する制御部と、
    を動作させるコンピュータを備え、
    前記ハイパーバイザは前記パラメータを前記ゲストOS及び前記IPに送信し、
    前記ゲストOSは前記パラメータにより前記割当情報を生成し、生成した割当情報に基づいて前記IPに前記ハードウェア・リソースへのアクセスを要求し、
    前記IPは前記パラメータにより前記割当情報を生成し、生成した割当情報に基づいて、前記ゲストOSからのアクセスの要求を許可するかどうかを判断することを特徴とする仮想化システム。
  4. 前記制御部は所定のタイミングで前記割当情報の更新指示を前記ゲストOS及び前記IPへ送信することを特徴とする、請求項3記載の仮想化システム。
  5. 前記ゲストOS及び前記IPは、前記制御部からの指示に基づいて、前記パラメータと直前に使用していた前記割当情報に基づいて、新たに使用する割当情報を所定の関数により算出することを特徴とする、請求項4記載の仮想化システム。
  6. 前記ゲストOS及び前記IPは、前記制御部からの指示に基づいて、前記パラメータと直前に使用していた前記割当情報に基づいて、割当情報テーブルより生成することを特徴とする、請求項4記載の仮想化システム。
  7. 複数のゲストOSを仮想環境上で動作させる仮想化システムであって、
    前記複数のゲストOSの仮想環境上の動作を制御し、前記ゲストOSに対する前記仮想化システムのハードウェア・リソースの割り当てを示す割当情報を生成するためのパラメータを管理するハイパーバイザと、
    前記割当情報に基づいて前記ハードウェア・リソースへのアクセスを管理するIPと、
    を動作させるコンピュータを備え、
    前記ハイパーバイザは前記パラメータを前記ゲストOS及び前記IPに送信し、
    前記ゲストOSは所定のタイミングで前記パラメータにより前記割当情報を生成し、生成した割当情報に基づいて前記IPに前記ハードウェア・リソースへのアクセスを要求し、
    前記IPは所定のタイミングで前記パラメータにより前記割当情報を生成し、生成した割当情報に基づいて、前記ゲストOSからのアクセスの要求を許可するかどうかを判断することを特徴とする仮想化システム。
  8. 前記ゲストOS及び前記IPは、制御部からの指示に基づいて、前記パラメータと直前に使用していた前記割当情報に基づいて、新たに使用する割当情報を所定の関数により算出することを特徴とする、請求項7記載の仮想化システム。
  9. 前記ゲストOS及び前記IPは、制御部からの指示に基づいて、前記パラメータと直前に使用していた前記割当情報に基づいて、割当情報テーブルより生成することを特徴とする、請求項7記載の仮想化システム。
  10. 前記所定のタイミングは、前記ゲストOSが前記IPへのハードウェア・リソースの要求回数が所定の回数となったタイミングであることを特徴とする請求項7記載の仮想化システム。
  11. 複数のゲストOSを仮想環境上で動作させる仮想化システムにおける動作管理方法であって、
    ハイパーバイザが前記複数のゲストOSの仮想環境上の動作を制御し、前記ゲストOSに対する前記仮想化システムのハードウェア・リソースの割り当てを示す割当情報を管理するステップと、
    IPが前記割当情報に基づいて前記ハードウェア・リソースへのアクセスを管理するステップと、
    制御部が前記割当情報を更新し、前記ゲストOS及び前記IPに更新した前記割当情報を送信するステップと、
    前記ゲストOSが自身に割り当てられた前記割当情報に基づいて前記IPに前記ハードウェア・リソースへのアクセスを要求するステップと、
    前記IPが自身に割り当てられた前記割当情報に基づいて、前記ゲストOSからのアクセスの要求を許可するかどうかを判断するステップと、
    コンピュータが実行することを特徴とする動作管理方法。
JP2019200651A 2019-11-05 2019-11-05 仮想化システムおよび動作管理方法 Active JP7306964B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019200651A JP7306964B2 (ja) 2019-11-05 2019-11-05 仮想化システムおよび動作管理方法
US17/064,341 US11687357B2 (en) 2019-11-05 2020-10-06 Virtualization system and operation management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019200651A JP7306964B2 (ja) 2019-11-05 2019-11-05 仮想化システムおよび動作管理方法

Publications (2)

Publication Number Publication Date
JP2021076908A JP2021076908A (ja) 2021-05-20
JP7306964B2 true JP7306964B2 (ja) 2023-07-11

Family

ID=75687382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019200651A Active JP7306964B2 (ja) 2019-11-05 2019-11-05 仮想化システムおよび動作管理方法

Country Status (2)

Country Link
US (1) US11687357B2 (ja)
JP (1) JP7306964B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7306964B2 (ja) * 2019-11-05 2023-07-11 ルネサスエレクトロニクス株式会社 仮想化システムおよび動作管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011145776A (ja) 2010-01-12 2011-07-28 Fujitsu Ltd 仮想計算機、遠隔起動プログラム、遠隔起動方法及び仮想計算機システム
US20140006804A1 (en) 2012-07-02 2014-01-02 Thomas E. Tkacik Virtualized trusted descriptors
JP2019160133A (ja) 2018-03-16 2019-09-19 株式会社リコー 情報処理装置、情報処理システムおよび方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI116166B (fi) * 2002-06-20 2005-09-30 Nokia Corp Menetelmä ja järjestelmä sovellusistuntojen suorittamiseksi elektroniikkalaitteessa, ja elektroniikkalaite
KR100657273B1 (ko) * 2004-08-05 2006-12-14 삼성전자주식회사 비밀 그룹에서 구성원 가입에 따른 그룹키 갱신 방법 및이를 이용한 비밀 그룹 통신 시스템
US8166475B1 (en) * 2005-12-30 2012-04-24 Vmware, Inc. Storage area network access for virtual machines
US10615967B2 (en) * 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
US9703951B2 (en) * 2014-09-30 2017-07-11 Amazon Technologies, Inc. Allocation of shared system resources
US9329907B1 (en) * 2014-12-18 2016-05-03 International Business Machines Corporation Automated exploitation of virtual machine resource modifications
US10359938B2 (en) * 2015-01-27 2019-07-23 Hitachi, Ltd. Management computer and computer system management method
US9626221B2 (en) * 2015-02-24 2017-04-18 Red Hat Israel, Ltd. Dynamic guest virtual machine identifier allocation
CN107783913B (zh) * 2016-08-31 2021-12-03 华为技术有限公司 一种应用于计算机的资源访问方法和计算机
US10885162B2 (en) * 2018-06-29 2021-01-05 Rsa Security Llc Automated determination of device identifiers for risk-based access control in a computer network
US11429733B2 (en) * 2018-11-15 2022-08-30 International Business Machines Corporation Sharing secret data between multiple containers
US11188370B2 (en) * 2019-01-24 2021-11-30 Vmware, Inc. Memory scheduler using guest-originated statistics
US11048544B2 (en) * 2019-04-08 2021-06-29 Sap Se Cloud resource credential provisioning for services running in virtual machines and containers
US11288404B2 (en) * 2019-06-14 2022-03-29 Infineon Technologies Ag Resource protection
JP7306964B2 (ja) * 2019-11-05 2023-07-11 ルネサスエレクトロニクス株式会社 仮想化システムおよび動作管理方法
US12020051B2 (en) * 2020-01-17 2024-06-25 Microsoft Technology Licensing Llc Sharable link for remote computing resource access

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011145776A (ja) 2010-01-12 2011-07-28 Fujitsu Ltd 仮想計算機、遠隔起動プログラム、遠隔起動方法及び仮想計算機システム
US20140006804A1 (en) 2012-07-02 2014-01-02 Thomas E. Tkacik Virtualized trusted descriptors
JP2019160133A (ja) 2018-03-16 2019-09-19 株式会社リコー 情報処理装置、情報処理システムおよび方法

Also Published As

Publication number Publication date
US11687357B2 (en) 2023-06-27
JP2021076908A (ja) 2021-05-20
US20210132978A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
JP6893479B2 (ja) 所有権テーブルを用いたデータ処理装置及び方法
US11651085B2 (en) Cryptographic memory ownership table for secure public cloud
JP6913636B2 (ja) 共有ページ
CN107690621B (zh) 受保护的异常处置
CN107690629B (zh) 地址转换
US9785801B2 (en) Management of authenticated variables
JP2018522340A (ja) 安全な初期化
CN109739613B (zh) 嵌套页表的维护方法、访问控制方法及相关装置
TWI780546B (zh) 執行安全操作的系統以及系統執行安全操作的方法
KR20110133004A (ko) Tpm 액세스들을 가상화하기 위한 시스템들, 방법들 및 장치들
US9898327B2 (en) Compute node supporting virtual machines and services
JP4833220B2 (ja) ローカル権限によるクライアントリソース分割のための方法、システム、およびプログラム
JP2018507486A (ja) ハードウェアブロックのための適応型アクセス制御
US10965616B2 (en) Nonstop computing fabric arrangements
JP4724640B2 (ja) ストレージ仮想化スイッチ
JP7306964B2 (ja) 仮想化システムおよび動作管理方法
JP2022043279A (ja) 仮想化環境内の人工知能アクセラレータ・ステータス確認を用いる仮想マシン移行のための方法
US10331474B2 (en) Machine system, physical machine, and memory control method
CN116680096A (zh) 共享内存的管理方法、虚拟机监控器和计算设备
CN116701251A (zh) 在计算设备中管理tlb的方法和对应计算设备
CN116108454B (zh) 内存页面管理方法及装置
KR102201221B1 (ko) 네트워크 보안 장치 및 그의 라이선스 관리 방법
US20220300314A1 (en) Hypervisor-assisted secured memory sharing among host and guest operating system
US20220300315A1 (en) Supporting execution of a computer program by using a memory page of another computer program
CN116561824A (zh) 在机密计算架构中管理内存的方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230602

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230629

R150 Certificate of patent or registration of utility model

Ref document number: 7306964

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150