JP2022007746A - 情報処理システム及び情報処理方法 - Google Patents
情報処理システム及び情報処理方法 Download PDFInfo
- Publication number
- JP2022007746A JP2022007746A JP2020110860A JP2020110860A JP2022007746A JP 2022007746 A JP2022007746 A JP 2022007746A JP 2020110860 A JP2020110860 A JP 2020110860A JP 2020110860 A JP2020110860 A JP 2020110860A JP 2022007746 A JP2022007746 A JP 2022007746A
- Authority
- JP
- Japan
- Prior art keywords
- software
- storage
- token
- information
- unit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45545—Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
【課題】コンピュート部からのIO要求をストレージ自身が拒絶することにより、データの不正改竄や漏洩を効果的に防止する。【解決手段】ストレージ部は、コンピュート部から、ソフトウェアのIDと、ソフトウェアが入出力を行う記憶領域の情報と、トークンとを含むIO要求を受信して、IO制御部から受信したソフトウェアのIDと、記憶領域の情報と、トークンと照合してアクセス可否を判断し、アクセス可能と判断した場合にIO要求を処理する。【選択図】図1
Description
本発明は、情報処理システム及び情報処理方法に関する。
従来、様々な企業に設置されていた情報システム(コンピュートノードとストレージシステム)は、いずれも企業内のネットワークに配置されているのが主流で、外部のネットワーク(例えばインターネット等)に接続された機器から企業内ネットワークに接続されているストレージシステムにアクセスするような事例は、限定的なものであった。一方で、近年は、インターネット上に構築されたクラウドストレージサービスが急速に普及してきている。
その結果、企業においては、オンプレミス型だけでなく、アプリケーションについてはSaaS、ストレージについては企業内ネットワークに接続されたものとクラウドサービスとして提供されているものの双方で構成されるハイブリッド型や、複数のクラウドサービスを統合的に利用するマルチクラウドといった形で、情報処理システムを構成するような事例も増えてきつつある。
また、上記のようなストレージリソースに対しては、インターネット環境からアクセスするような事例も増えてきている。このような状況では、従来多くの企業で採られていた社内ネットワークと外部のネットワークの境界にゲートウェイ/ファイヤウォールを設けるだけでは、社内ネットワークにマルウェアが侵入したり、外部ネットワークから社内ネットワークに接続された情報システムに不正アクセスが行われたりすることを、十分に防ぐことが困難になってきている。
このため、ゼロトラストモデルに代表されるように、近年は企業内ネットワークに接続されたコンピュートノードやストレージノードの間でも、現在行われている以上に通信する相手を確認・検証することが好ましいと考えられるようになりつつある。
特許文献1には、複数のユーザが共有するリソース(共有リソース)から生成されるストレージのリソースを操作するような場合において、共有リソースが属するリソースグループに対するアクセスを制御できるように、共有リソースに対してロールを設定する方法が示されている。
しかし、特許文献1では、各リソースがIO要求を検証するため、検証に必要な情報の管理が容易ではない。
本発明の目的は、容易に管理できる構成にて、コンピュート部からのIO要求を検証し、データの不正改竄や漏洩を効果的に防止することにある。
本発明の一態様では、ソフトウェアが稼働するコンピュート部からIO要求を受けて、データを入出力する複数のストレージ部と、前記コンピュート部の、前記ストレージ部へのアクセスを制御するIO制御部と、を備えた情報処理システムにおいて、前記IO制御部は、前記コンピュート部から、前記ソフトウェアのIDと当該ソフトウェアが入出力を行う記憶領域の情報とを含む認証要求を受信し、前記認証した場合に、前記コンピュート部に前記ストレージ部にアクセスするためのトークンを送信するとともに、前記記憶領域の情報に対応するストレージ部に、前記ソフトウェアのIDと、当該ソフトウェアが入出力を行う記憶領域の情報と、前記トークンとを送信し、前記ストレージ部は、前記コンピュート部から、前記ソフトウェアのIDと、当該ソフトウェアが入出力を行う記憶領域の情報と、前記トークンとを含むIO要求を受信して、前記IO制御部から受信した前記ソフトウェアのIDと、前記記憶領域の情報と、前記トークンと照合してアクセス可否を判断し、アクセス可能と判断した場合に前記IO要求を処理する。
本発明の一態様によれば、容易な情報管理にて、データの不正改竄や漏洩を効果的に防止することができる。
以下、図面を参照して、本発明の一実施の形態を詳述する。以下の記載および図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。本発明が実施形態に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。本発明は、当業者であれば本発明の範囲内で様々な追加や変更等を行うことができる。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は複数でも単数でも構わない。
以下の説明では、「テーブル」、「表」、「リスト」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「XXテーブル」、「XXリスト」等を「XX情報」と呼ぶことがある。各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号または参照符号における共通番号を使用し、同種の要素を区別して説明する場合は、その要素の参照符号を使用または参照符号に代えてその要素に割り振られたIDを使用することがある。
また、以下の説明では、プログラムを実行して行う処理を説明する場合があるが、プログラムは、少なくとも1以上のプロセッサ(例えばCPU)によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)および/またはインタフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主体がプロセッサとされてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノード、ストレージシステム、ストレージ装置、サーバ、管理計算機、クライアント、またはホストであってもよい。プログラムを実行して行う処理の主体(例えばプロセッサ)は、処理の一部または全部を行うハードウェア回路を含んでもよい。例えば、プログラムを実行して行う処理の主体は、暗号化および復号化、または圧縮および伸張を実行するハードウェア回路を含んでもよい。プロセッサは、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。プロセッサを含む装置及びシステムは、これらの機能部を含む装置及びシステムである。
プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサ(例えばCPU)と記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムとを記憶してよい。そして、プログラム配布サーバのプロセッサが配布プログラムを実行することで、プログラム配布サーバのプロセッサは配布対象のプログラムを他の計算機に配布してよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2つ以上のプログラムとして実現されてもよい。
図1は、本実施の形態による情報処理システムの構成を示す図である。
当該情報処理システムは、複数のコンピュートノード100,101、複数のストレージノード120,121,122、1つのIOパスコントローラ130で構成される。以下では、特に差異について言及が不要な場合は、コンピュートノードについては100、ストレージノードについては120と記載する。このように記載した場合でも、全てのコンピュートノード、及びストレージノードについて、同じことがいえることを意味する。
当該情報処理システムは、複数のコンピュートノード100,101、複数のストレージノード120,121,122、1つのIOパスコントローラ130で構成される。以下では、特に差異について言及が不要な場合は、コンピュートノードについては100、ストレージノードについては120と記載する。このように記載した場合でも、全てのコンピュートノード、及びストレージノードについて、同じことがいえることを意味する。
各コンピュートノード100、各ストレージノード120、IOパスコントローラ130の間は、例えばファイバーチャネル(Fibre Channel)、イーサネット(登録商標)、InfiniBand又は無線LAN(Local Area Network)などから構成されるストレージサービスネットワーク110を介して接続される。各ストレージノードの間は、LAN,イーサネット(登録商標),InfiniBand又は無線LANなどから構成されるバックエンドネットワーク111を介して接続されている。ただし、ストレージサービスネットワーク110及びバックエンドネットワーク111が同一のネットワークにより構成されていてもよく、また各コンピュートノード100及び各ストレージノード120がストレージサービスネットワークやバックエンドネットワーク以外の管理用ネットワークに接続されていてもよい。
コンピュートノード100は、ストレージノード120に対してホスト(上位装置)として機能する汎用のコンピュータ装置である。なお、コンピュートノード100は、仮想マシンのような仮想的なコンピュータ装置であってもよい。コンピュートノード100は、ユーザ操作や実装されたアプリケーションプログラムからの要求に応じて、ストレージサービスネットワーク110を介してストレージノード120のデータを読み書きする。
コンピュートノード100は、図2に示すように、1つ以上のCPU(Central Processing Unit)200、1つ以上のメモリ201、1つ以上の記憶ドライブ210、ネットワーク通信部(NIC)202を備える。ネットワーク通信部202は、コンピュートノードがストレージサービスネットワーク110を介してストレージノードやIOパスコントローラと通信するためのインタフェースである。記憶ドライブ210には、自ノード上で動作するOSや当該OS上で動作するアプリケーションソフトウェア、または仮想環境を稼働させるためのハイパーバイザ、ハイパーバイザ上で稼働するゲストOS、またゲストOS上で稼働する様々なアプリケーションソフトウェア等が保存される。本構成は、IOパスコントローラ130も同様である。
ストレージノード120は、図3に示すように、1つ以上のCPU(Central Processing Unit)300、1つ以上のメモリ301、複数の記憶ドライブ310,311,312と、複数の第1及び第2のネットワーク通信部320,321とを備える。ネットワーク通信部320,321は、ストレージサービスネットワーク110やバックエンドネットワーク111を介して、コンピュートノード100や他のストレージノードと通信するためのインタフェースである。
ストレージノード120は、コンピュートノード100がデータを読み書きするための記憶領域を提供するサーバ装置である。これらのストレージノードも、コンピュートノード同様に、仮想マシンで構成されていても良い。またストレージノード120が、コンピュートノード100と同一の物理ノードに同居する構成であってもよい。
コンピュートノード100、ストレージノード120、IOパスコントローラ130のCPUは、ノード全体の動作制御を司るプロセッサである。各機に搭載されたメモリは、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)などの揮発性の半導体メモリや、不揮発性の半導体メモリから構成され、CPUのワークメモリとして各種プログラムや必要なデータを一時的に保持するために利用される。メモリに格納されたプログラムを、少なくとも1つ以上のCPUが実行することにより、後述する各種処理が実行される。
記憶ドライブ310,311,312は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、SCM(Storage Class Memory)などの大容量の不揮発性の記憶装置で構成される。これらは、NVMe(Non-Volatile Memory Express)やSAS(Serial Attached SCSI)、SATA(Serial ATA)などのインタフェースで接続され、コンピュートノード100からのリード要求やライト要求に応じてデータを読み書きするための記憶領域を提供する。
本処理に関連して、コンピュートノード100,ストレージノード120,IOパスコントローラ130の各メモリに格納され、利用されるプログラム及び情報について、図4から図6を用いて説明する。
図4は、コンピュートノード100のメモリ201に格納される情報である。当該メモリには、当該ノード上に仮想環境を稼働するための基本ソフトウェア(当該図ではハイパーバイザ400とゲストOS 402,403の組),基本ソフトウェア上で動作するアプリケーションソフトウェア401、IOパスコントローラ130との間で本発明によるIO可否制御に関連した情報を送受信また処理を実行するエージェント404、左記処理で送受信あるいは用いられる情報を格納するアクセス制御用情報テーブル405が格納される。以下では、当該テーブルをTBL1と簡略して表記する。
上述の通り、本例では基本ソフトウェアはハイパーバイザとゲストOSとしたが、当該形態に限定されるものではない。例えば、ホスト型(ホストOS上でハイパーバイザを稼働させる形態)や、ベアメタル上にOSを稼働させ、その上でコンテナ基盤を動作させるような形態でも良い。また、本例では1つのアプリケーション401、2つのゲストOS402,403がメモリ内に格納されているが,アプリケーションやゲストOSの数はこれに限定されるものではない。
図5は、IOパスコントローラ130のメモリ201に格納される情報である。当該メモリには、IO制御設定ソフトウェア500,対コンピュートノードアクセス制御用情報テーブル520,対ストレージノード用アクセス制御用情報テーブル521が格納される。IO制御設定ソフトウェア500は、対コンピュートノードアクセス制御設定部510,対ストレージノードアクセス制御設定部511,トークン生成部512を含む。対コンピュートノードアクセス制御設定部510は、コンピュートノード100上のゲストOSやアプリケーションを認証し、ストレージノード120がIOの可否を制御できるようにするためにコンピュートノード100が管理する必要がある情報をコンピュートノード100上で動作するエージェント404に対して送信する機能を持つ要素である。
同様に、対ストレージノードアクセス制御設定部511は、ストレージノード120に対して発せられたIO要求を実行するか否かをストレージノード120が判断するための情報を、ストレージノード120に対して送信する機能を持つ要素である。トークン生成部512は、トークンを生成し、対コンピュートノードアクセス制御設定部510と対ストレージノードアクセス制御設定部511に送信する要素である。コンピュートノードの認証、及びコンピュートノード100とストレージノード120に設定する情報が配置されるのが、対コンピュートノードアクセス制御用情報テーブル520及び対ストレージノードアクセス制御用情報テーブル521である。以下では、これらのテーブルをTBL2,TBL3と簡略して表記する。
図6は、ストレージノード120のメモリ301に格納される情報である。当該メモリには、ストレージ制御ソフトウェア600とアクセス制御用情報テーブル620が格納される。以下では、当該テーブルを、TBL4と簡略して表記する。ストレージ制御ソフトウェア600は、IO処理部610とアクセス制御設定部611を含む。アクセス制御設定部611は、IOパスコントローラ130のIO制御設定ソフトウェア500(対ストレージノードアクセス制御設定部511)との間で認証処理を行い、当該コントローラが送信したトークンを受信し、アクセス制御情報テーブル620に登録する機能を持つ要素である。
IO処理部610は、アクセス制御用情報テーブル620に保持されている情報に基づいて、コンピュートノードからのIO要求の実行可否を判断し、その結果に応じIO処理を実行する機能を持つ要素である。ストレージ制御ソフトウェア600(IO処理部610)がIO要求の実行可否を判断するための情報が格納されているのが、アクセス制御用情報テーブル620である。
尚、上記にてxxxソフトウェアと呼ばれたものは、いずれもxxxプログラムと呼ばれても良い。
尚、上記にてxxxソフトウェアと呼ばれたものは、いずれもxxxプログラムと呼ばれても良い。
次に、コンピュートノード100におけるTBL1 405,IOパスコントローラ130におけるTBL2 520,TBL3 521,ストレージノードにおけるTBL4 620の各々に登録される情報(項目)について、図9から12を用いて説明する。説明の順序は、図9,10,12,11とする。
図9は、TBL1の要素を示している。TBL1は、各コンピュートノードに1つずつ割り当てられる秘密情報SecrectCmp 900、各コンピュートノードで稼働しているハイパーバイザを識別する情報(ハイパーバイザID(HID) 901)、当該ハイパーバイザ上に構築されているゲストOSを識別する情報(ゲストOSID(GOSID)902)、当該ゲストOSがIOを行う記憶空間を識別する情報(ターゲットID (TID)903及びボリュームID(VID)904)、(GOSID,TID,VID)の各々の組に対して割り当てられるトークン905、GOSID,TID,VID,トークンを連結した値のハッシュ値906を要素として持つ。図9上段は、コンピュートノード100のTBL1を示し、SecretCmp=779df50ee4...が割り当てられ、当該コンピュートノードにはHID=dd98cc012...であるハイパーバイザが構築されていること、当該ハイパーバイザ上にはGOSID=8a85f9813...であるゲストOSが構築されており、当該ゲストOSはTID=iqn.aaa…,VID=0,1,2、及びTID=iqn.bbb...,VID=0,1である記憶空間に対してIOを実行できること等を示している。当該図下段は、別のコンピュートノード101のTBL1を示している。
図10は、TBL2の要素を示している。TBL2は、ハッシュ値906を除き、TBL1と同じである。すなわち、要素1000は要素900と、要素1001は要素901と、要素1002は要素902と、要素1003は要素903と、要素1004は要素904と、要素1005 は要素905と同じである。当該図に示されるように、TBL2には、全てのコンピュートノードのTBL1が含まれる。
図12は、TBL4の要素を示している。TBL4は、各ストレージノードに1つずつ割り当てられる秘密情報SecretStr 1200、各ストレージノードに構成されている記憶空間を識別する情報(ターゲットID (TID)1201及びボリュームID(VID)1203)、(GOSID,TID,VID)の各々の組に対して割り当てられるトークン1204、GOSID,TID,VID,トークンを連結した値のハッシュ値1205を要素として持つ。図12上段は、ストレージノード120のTBL4で、SecretStr=94af23de...が割り当てられ、当該ストレージノードにはTID=iqn.aaa...であるターゲット、当該ターゲット下にVID=0,1,2である記憶空間が構築されていること等を示している。当該図下段は、別のストレージノード121のTBL4を示している。
図11は、TBL3の要素を示している。TBL3の要素は、ハッシュ値1205を除き、TBL4と同じである。すなわち、要素1100は要素1200と、要素1101は要素1201と、要素1102は要素1202と、要素1103は要素1203と、要素1104は要素1204と同じである。当該図に示されるように、TBL3には、全てのストレージノードのTBL4が含まれる。
図7及び先述の図9,10を用いて、コンピュートノードのTBL1 405と、IOパスコントローラのTBL2 520に情報を登録する処理と、登録する情報について説明する。
コンピュートノード100を新たにシステムに増設する場合、管理者は、対象のコンピュートノード100を識別する情報(例えばIPアドレスやUUID(Universally Unique Identifier)や製品のシリアルナンバー等)と共に、IOパスコントローラ130にSecretCmpの生成を要求する(700)。SecretCmpの生成を終える(701)と、IOパスコントローラ130(IO制御設定ソフトウェア500)は、生成したSecretCmpを、管理者が与えた識別する情報と一致するコンピュートノード100に送信する(710,711)。IOパスコントローラ130及び当該コンピュートノード100は、当該SecretCmpを、各々TBL2,TBL1に登録する(712及び1000,713及び900)。尚、本登録は、管理者が手動で行っても良い。
続いて管理者は、対象とするコンピュートノード100上のハイパーバイザ,ハイパーバイザ上に構築されたゲストOSのID,及び各々のゲストOSがアクセスする記憶領域を特定する情報を、当該コンピュートノードのTBL1405及びIOパスコントローラ130のTBL2 520に登録する(処理:720から721,登録項目:901から904)。本実施例では、ゲストOSがアクセスする記憶領域は、ターゲットIDとそのターゲット下に構成されたボリュームのIDで特定できることを想定している。但し、記憶領域を特定する手段は、構成法によるため、上に記した方法に限定されるものではない。図9に記載の通り、当該テーブルには、ボリュームID毎にトークン905及びハッシュ値906が登録する項目として設けられているが、上記初期設定時には、当該項目には何も登録しなくて良い。ハッシュ値は、ゲストOS ID,ターゲットID,ボリュームID,トークンから計算するため、トークンを受領した際に計算し、当該テーブルに登録する。トークン及びハッシュ値を計算・登録するタイミングについては、図13についての説明の中で述べる。
続いて管理者は、対象とするコンピュートノード100におけるTBL1 405に登録した内容と同じ内容(トークンとハッシュ値を除く)を、IOパスコントローラ130のIO制御ソフトウェア500に対し、TBL2 520として登録するよう指示する(処理:730から732,登録項目:1001から1004)。尚、TBL2 520には、ハッシュ値の列は無い。コンピュートノード100の場合と同様、トークンは、生成された時に登録する。登録のタイミングについては、TBL1 405同様に、図13についての説明の中で述べる。尚、図7ではハイパーバイザID,ゲストOSID,ボリュームIDのTBL1への登録は管理者が行う形としているが、コンピュートノード100上のエージェント404とIOパスコントローラ130のIO制御設定ソフトウェア500とが適切に通信を行い、TBL1 405,TBL2 520に登録する形としても良い。
次に、図8、及び先述の図11,12を用いて、IOパスコントローラのTBL3 521と、ストレージノード120のTBL4 620に情報を登録する処理と、登録する情報について説明する。ストレージノード120を新たにステムに増設する場合、管理者は、対象のストレージノード120を識別する情報(例えばIPアドレスやUUID(Universally Unique Identifier)や製品のシリアルナンバー等)と共に、IOパスコントローラ130のIO制御設定ソフトウェア500に、SecretStrの生成を要求する(800)。
SecretStrの生成を終える(801)と、IO制御設定ソフトウェア500は、生成したSecretStrを、指定されたストレージノード120に送信する(810,811)。IO制御設定ソフトウェア500及び当該ストレージノードのストレージ制御ソフトウェア600は、当該SecretStrを、それぞれTBL3 521,TBL4 620に登録する(812,813)。尚、ストレージノードのTBL4 620へのSecretStrの登録は、管理者が手動で行っても良い。
続いて管理者は、IOパスコントローラ130のIO制御設定ソフトウェア500に対し、TBL2 520から、各記憶空間(ターゲットIDとボリュームIDで特定される)をアクセスするゲストOSの情報を、TBL3 521に登録することを要求する(820)。当該要求を受信すると、IO制御設定ソフトウェア500は、TBL2 520に登録されている情報からTBL3 521に登録する情報を構成し、登録する(821)。当該登録を完了すると、IO制御設定ソフトウェア500は、当該テーブルに登録した情報を、該当するストレージノード120に対して送信し、当該ストレージノード120に対し、TBL4 620に登録することを要求する(822)。当該情報及び要求を受信したストレージノード120のストレージ制御ソフトウェア600は、受信した情報をTBL4 620に登録する(831)。
次に、図13を用いて、コンピュートノード100,IOパスコントローラ130,ストレージノード120が起動(1300から1302)した後、コンピュートノード100がストレージノード120へのIOを実行する前に、当該3者間で行われるアクセス制御処理及び送受信される情報について説明する。以下は、3者が既に起動された状態であるところからの説明である。
コンピュートノード100のエージェント404は、当該ハイパーバイザ上に構築されているゲストOSのID(HVID及びGOSID),当該ゲストOSがアクセスする記憶空間のID(ターゲットID(TID)とボリュームID(VID))を、コンピュートノードのドライブあるいはゲストOSやハイパーバイザなどの各ソフトウェアのAPI(Application Programming Interface)を介して取得する(1310)。
複数のゲストOSが構築されていた場合は、ゲストOSごとに1311から1350までの処理を実施する。ここではある1つのゲストOSの処理を示す。次に、HVID,選択したゲストOSのID GOSID,TID,VIDを連結し、データD1を生成する(1311)。処理1311における記号 || は、データを連結することを表す。D1を生成すると、エージェント404は、TBL1 405に登録されているSecretCmpを用いて、D1に関する電子署名Sign1を計算する(1312)。
本実施例では、SecretCmp及びSecretStrは、コンピュートノード100とIOパスコントローラ130及びIOパスコントローラ130とストレージノード120の間で、それぞれ同じ値が登録されているものとしている。従って、SecretCmpを共通鍵暗号の鍵として利用して、GMACアルゴリズムに従って計算した値は、本電子署名を計算する方法の一例である。但し、左記方法に限定する必要はない。尚、処理1312におけるSgn(x)は、値xの電子署名を計算するアルゴリズムあるいは関数を表している。電子署名Sign1を算出すると、エージェント404は、Sign1をデータD1と連結し、IOパスコントローラ130に対して送信する(1313)。
IOパスコントローラ130のIO制御設定ソフトウェア500は、D1とSign1を受信すると、データD1及びTBL2 520に登録されているSecretCmpの値を用いて、Sgn(x)のアルゴリズムに従って、電子署名の値を計算する(1320)。計算した結果がSign1と一致していない場合は処理を中断する。両者が一致していた場合は、TBL2 520については処理1313において受領したHVID,GOSID,TID,VID値が設定されたエントリを、TBL3 521については受領したTID,VID,GOISD値が設定されたエントリを検索する(1321)。
そして、IO制御設定ソフトウェア500はトークンを生成する(1322)。続いて、処理1322において生成したトークンをGOSID,TID,VIDと連結してデータD2を、またHVIDにデータD2を連結してデータD3を生成する(1323,1324)。そして、データD2,D3を、それぞれ処理1321で検出されたTBL3 521及びTBL2 520のエントリに登録されているSecretStr,SecretCmpで暗号化し、E.D2及びE.D3を生成する(1325,1326)。処理1325,1326におけるE.Dxは、データDxが暗号化されたデータであることを、E(X,Y)はデータYを鍵データXを用いて暗号化することを表す。暗号化アルゴリズムは、十分な強度を備えていればどのようなものでも良い。AES256-GCM96は、現時点では上記のようなアルゴリズムの一例である。
E.D2及びE.D3を生成すると、IO制御設定ソフトウェア500は、E.D3をコンピュートノード100に、E.D2をストレージノード120にそれぞれ送信する(1327,1328)。
コンピュートノード100がE.D3を受信すると、エージェント404はSecretCmpを用いてE.D3を復号し、データD4を得る(1330)。続いて、取り出したデータD4が、自身が処理1311において生成したデータD1に含まれる各値と同一であるかを確認する(1331)。値が異なっていた場合は、処理を中断する。値が一致していた場合は、データD4からデータD2の要素(GOSID||TID||VID||トークン)を抽出してデータD5とし、そのハッシュ値H.D5を計算する(1332,1333)。
用いるハッシュアルゴリズムは、十分な強度を備えることが認められているものであれば、どのようなものでもよい。SHA-256は、上記のようなアルゴリズムの一例である。H.Dxは、規定のアルゴリズムに従って、Dxから計算したハッシュ値を表す。H.D5を計算すると、エージェント404は、TBL1 405の該当エントリに、トークンとH.D5を登録する(1334)。登録を完了すると、そのことをIOパスコントローラ130に通知する(1335)。
コンピュートノード100での処理1330から1334と並んで、ストレージノード120では処理1340から1344が実行される。ストレージノード120がE.D2を受信すると、ストレージ制御ソフトウェア600は、SecretStrを用いてE.D2を復号し、データD6を得る(1340)。続いて、データD6から、GOSID,TID,VID,トークンを抽出し、TBL4 620の中で当該値を含むエントリを検索する(1341)。該当するエントリを検出したら、データD6のハッシュ値H.D6を計算し、上記で検出されたTBL4 620のエントリに、トークンとハッシュ値H.D6を登録する(1342,1343)。登録を完了すると、そのことをIOパスコントローラ130に通知する(1344)。
コンピュートノード100とストレージノード120から通知1335と1344を受信すると、IOパスコントローラ130のIO制御設定ソフトウェア500は、データD3の要素HVID,GOSID,TID,VID,トークンを、処理1321で検出したTBL2 520とTBL3 521のエントリに登録する。
以上の処理により、各コンピュートノード100では、自身に構築されている各ゲストOSと、当該OSがIOを行う記憶空間に対して割り当てられたトークンが保持される。また各ストレージノード120では、自身に構成されている記憶空間について、コンピュートノード100に登録されているトークンと同じトークンが保持される。
次に、図14を用いて、コンピュートノード100のゲストOS上で稼働するアプリケーション401がストレージノード120に対してIO要求をする場合に、その実行可否をストレージノード120が判断する処理について説明する。
アプリケーション401がゲストOSに対してIO要求を発すると、ゲストOSはその要求をハイパーバイザに伝える(1410,1411)。当該情報を受信したハイパーバイザ400は、IO要求発信元であるゲストOSと、IO先記憶空間のID(GOSID,TID,VID)を把握する(1420)。続いて、把握したGOSID,TID,VIDが割り当てられているTBL1の中のエントリを検索し、当該エントリに含まれるトークンとハッシュ値を把握する(1421)。そして、TBL1 405から抽出したトークンとハッシュ値を連結してパラメータP1を作成し(1422)、IO要求に付帯させてストレージノード120に送信する(1423)。
ストレージノード120は、IO要求とP1を受信すると、TBL4 620の中で、P1中のハッシュ値を要素に持つエントリを検索する。該当するエントリが見つかった場合、エントリに含まれるTID,VID,トークンと、P1に含まれるトークン,及び受信したTID,VIDを比較する。比較の結果、全てが一致していた場合は、要求されたIO処理を実行する。一方で、一つでも一致しない要素があった場合や、該当するエントリが見つからなかった場合は、処理を中断する(1430)。
以上の処理により、ストレージノード120は、自身に構成されている記憶空間へのIOが許可されていないゲストOSからのIO要求は、実行しないようになる。
次に、図15を用いて、登録されたトークンを更新あるいは削除する処理について説明する。トークンの更新契機は、管理者が要求した場合、トークンに有効期間が設定されており有効期間終了後に自動的に更新あるいは削除したりする場合が代表的な例である。図15は、いずれかの方法により、更新するトークンをIOパスコントローラ130において選定した時点からの処理の流れである。
更新するトークンの選定が完了すると、IOパスコントローラ130のIO制御設定ソフトウェア500は、新しいトークン(以降新トークンと記す)を生成する(1511)。尚、トークンを削除する場合は、何も生成しない。続いて、処理(1511)において生成したトークンを、GOSID,TID,VID,従来使用していたトークン(以降旧トークンと記す)と連結してデータD7を、またHVIDにデータD7を連結してデータD8を生成する(1512,1513)。削除時は、新トークン部は何も置かない。そして、データD7,D8を、それぞれ処理1510で選定したTBL3 521及びTBL2 520のエントリに登録されているSecretStr,SecretCmpで暗号化し、E.D7及びE.D8を生成する(1514,1515)。
E.D7及びE.D8を生成すると、IO制御設定ソフトウェア500は、E.D8をコンピュートノード100に、E.D7をストレージノード120にそれぞれ送信する(1516,1517)。
コンピュートノード100がE.D3を受信すると、エージェント404はSecretCmpを用いてE.D8を復号し、データD9を得る(1520)。続いて、TBL1 405の中で、データD9に含まれるHID,GOSID,TID,VID,旧トークンを含むエントリを検索する(1521)。該当するエントリが存在しなかった場合は処理を中断する。該当するエントリが存在した場合、トークンを更新する場合は、データD9からデータD2分(GOSID||TID||VID||新トークン)を抽出してデータD10とし、そのハッシュ値H.D10を計算する(1522,1523)。
H.D10を計算すると、エージェント404は、TBL1 405の該当エントリに、新トークンとH.D10を上書き登録する(1524)。削除する場合は、該当エントリに登録されている旧トークンを削除する。GOSID,TID,VID,トークンを削除してもよい。以上の処理を完了すると、そのことをIOパスコントローラ130に通知する(1525)。
コンピュートノード100での処理1520から1525と並んで、ストレージノード120では処理1530から1535が実行される。ストレージノード120がE.D7を受信すると、ストレージ制御ソフトウェア600は、SecretStrを用いてE.D7を復号し、データD11を得る(1530)。続いて、TBL4 620の中で、データD11に含まれるGOSID,TID,VID,旧トークンを含むエントリを検索する(1531)。
該当するエントリが存在しなかった場合は、処理を中断する。該当するエントリが存在した場合、トークンを更新する場合は、データD11から旧トークンを除いたデータD12を作成し、そのハッシュ値H.D12を計算する(1532,1533)。そして、上記で検出されたTBL4のエントリに、新トークンとハッシュ値H.D12を上書き登録する(1534)。削除する場合は、該当エントリに登録されている旧トークンを削除する。GOSID,TID,VID,旧トークンを削除してもよい。以上の処理を完了すると、そのことをIOパスコントローラ130に通知する(1535)。
コンピュートノード100とストレージノード120から通知1525と1535を受信すると、IOパスコントローラ130のIO制御設定ソフトウェア500は、処理1510において選定したエントリの旧トークンを、処理1511で作成した新トークンで上書き登録する。削除の場合は、旧トークンを削除するか、GOSID,TID,VID,トークンを削除する。
なお、図1において、コンピュートノード、IOパスコントローラ、ストレージノードは、ハードウェアとして別々であり、ネットワークにて接続されているが、これに限らず、CPU、メモリ、ドライブといったリソースを仮想化して、同じノード内に配置することができる。例えば、図1の他に下記の形態がある。
(1)コンピュートノード、ストレージノードが同じノードに配置されている。
(2)コンピュートノード、ストレージノードのストレージ制御ソフトウェアが同じノードに配置され、ストレージノードのドライブが別のノードに配置される。
(3)コンピュートノード、ストレージノードのストレージ制御ソフトウェア、ストレージノードのドライブが、それぞれ別のノードに配置される。
(4)ストレージノードが、コントローラを有するコントローラノードと、ドライブを有するドライブノードと、に分かれている。コンピュートノードは、独立している場合と、コントローラノードと一体になっている場合と、がある。この形態を図16に示す。
(1)コンピュートノード、ストレージノードが同じノードに配置されている。
(2)コンピュートノード、ストレージノードのストレージ制御ソフトウェアが同じノードに配置され、ストレージノードのドライブが別のノードに配置される。
(3)コンピュートノード、ストレージノードのストレージ制御ソフトウェア、ストレージノードのドライブが、それぞれ別のノードに配置される。
(4)ストレージノードが、コントローラを有するコントローラノードと、ドライブを有するドライブノードと、に分かれている。コンピュートノードは、独立している場合と、コントローラノードと一体になっている場合と、がある。この形態を図16に示す。
IOパスコントローラは、独立したノードでも、いずれかのノードと一体のどちらでもよい。
(1)~(3)は、以上説明した通りで処理が可能である。(4)は、処理が少し異なるので、説明する。(4)は、ある記憶領域に対して、少なくとも一つのコントローラノードと、少なくとも一つのドライブノードとが、担当として設定されている。コンピュートノードは、コントローラノードとドライブノードとの両方に直接または間接的にアクセスすることで、データを入出力することができる。コンピュートノードは、コントローラノードとドライブノードとのそれぞれに直接アクセスしたり、一方へのアクセスが他方に転送されることで、間接的を含めて両方にアクセスする。
(4)の形態では、コントローラノードとドライブノードとの両方が、ストレージノードのアクセス制御機能を有している。IOパスコントローラは、ストレージノードに送付するトークン等を、コントローラノードとドライブノードとの両方に送付する。トークン等を受け取ったコントローラノード及びドライブノードは、それぞれ、コンピュートノードのアクセスを受け入れるための準備を行う。
コンピュートノードは、トークン等とともに、コントローラノードとドライブノードとの一方または両方にリード要求やライト要求を送信する。それを受信したコントローラノードとドライブノードはそれぞれアクセス可否を判断し、処理する。コントローラノードとドライブノードとの間でコンピュートノードからの要求が転送された場合も、同様である。
以上の処理により、コンピュートノード100、ストレージノード120、IOパスコントローラ130で管理されているTBL1,TBL4,TBL2,TBL3に登録されているトークン及びハッシュ値を更新、あるいは削除できる。
実施形態によれば、ストレージノードがIO要求を受信した場合に、当該要求が、登録済みのゲストOSが発したものであるか否かを、ストレージノードが判定し、IO要求の実行可否を決定できる情報システムを実現できる。
また、本発明は、複数のコンピュートノード及びストレージノードを備える種々の構成の情報処理システムに広く適用することができる。
100 コンピュートノード
101 コンピュートノード
120 ストレージノード
121 ストレージノード
122 ストレージノード
130 IOパスコントローラ
400 ハイパーバイザ
401 アプリケーションソフトウェア
402 ゲストOS A
403 ゲストOS B
404 エージェント
405 アクセス制御情報テーブル
500 IO制御設定ソフトウェア
510 対コンピュートノードアクセス制御設定部
511 対ストレージノードアクセス制御設定部
512 トークン生成部
520 対コンピュートノードアクセス制御用情報テーブル
521 対ストレージノード用アクセス制御用情報テーブル
600 ストレージ制御ソフトウェア
610 IO処理部
611 アクセス制御設定部
620 アクセス制御用情報テーブル
101 コンピュートノード
120 ストレージノード
121 ストレージノード
122 ストレージノード
130 IOパスコントローラ
400 ハイパーバイザ
401 アプリケーションソフトウェア
402 ゲストOS A
403 ゲストOS B
404 エージェント
405 アクセス制御情報テーブル
500 IO制御設定ソフトウェア
510 対コンピュートノードアクセス制御設定部
511 対ストレージノードアクセス制御設定部
512 トークン生成部
520 対コンピュートノードアクセス制御用情報テーブル
521 対ストレージノード用アクセス制御用情報テーブル
600 ストレージ制御ソフトウェア
610 IO処理部
611 アクセス制御設定部
620 アクセス制御用情報テーブル
Claims (9)
- ソフトウェアが稼働するコンピュート部からIO要求を受けて、データを入出力する複数のストレージ部と、
前記コンピュート部の、前記ストレージ部へのアクセスを制御するIO制御部と、
を備えた情報処理システムにおいて、
前記IO制御部は、
前記コンピュート部から、前記ソフトウェアのIDと当該ソフトウェアが入出力を行う記憶領域の情報とを含む認証要求を受信し、
前記認証した場合に、前記コンピュート部に前記ストレージ部にアクセスするためのトークンを送信するとともに、前記記憶領域の情報に対応するストレージ部に、前記ソフトウェアのIDと、当該ソフトウェアが入出力を行う記憶領域の情報と、前記トークンとを送信し、
前記ストレージ部は、
前記コンピュート部から、前記ソフトウェアのIDと、当該ソフトウェアが入出力を行う記憶領域の情報と、前記トークンとを含むIO要求を受信して、前記IO制御部から受信した前記ソフトウェアのIDと、前記記憶領域の情報と、前記トークンと照合してアクセス可否を判断し、
アクセス可能と判断した場合に前記IO要求を処理する情報処理システム。 - 前記コンピュート部から前記IO制御部への認証要求の送信と、前記IO制御部から前記コンピュート部へのトークンの送付は、復号可能な暗号化をして行い、
前記コンピュート部から前記ストレージ部へのIO要求に含まれる、前記ソフトウェアのIDと、前記記憶領域の情報とは、ハッシュ値化されて送信される請求項1に記載の情報処理システム。 - 前記ストレージ部は、
前記IO制御部から受信した前記ソフトウェアのIDと、前記記憶領域の情報とをハッシュ値化して、前記トークンに対応付けて保存し、
前記IO要求を受信した場合に、前記IO要求に含まれるハッシュ値に基づいて、前記保存したトークンを選択して照合を行う請求項2に記載の情報処理システム。 - 前記コンピュート部は、前記ソフトウェアと、エージェントと、を有し、
前記エージェントは、前記ソフトウェアの依頼により、前記認証要求の送信及び受信した前記トークンの保存を行い、
前記ソフトウェアは、前記保存されたトークンを用いて、前記ストレージ部へ前記IO要求を送信する請求項1に記載の情報処理システム。 - 前記コンピュート部は、
前記ソフトウェアとして、ハイパーバイザと、前記ハイパーバイザ上で稼働するゲストOSと、前記ゲストOS上で稼働するアプリケーションを有し、
前記アプリケーションが稼働している場合に、前記エージェントが前記認証要求を行って前記トークンを保存し、
前記アプリケーションの依頼により前記ハイパーバイザが前記IO要求を送信する請求項4に記載の情報処理システム。 - 前記コンピュート部は、
前記ソフトウェアとして、コンテナ基盤と、前記コンテナ基盤上で稼働するアプリケーションを有し、
前記アプリケーションが稼働している場合に、前記エージェントが前記認証要求を行って前記トークンを保存し、
前記アプリケーションの依頼により前記コンテナ基盤が前記IO要求を送信する請求項4に記載の情報処理システム。 - 前記ストレージ部は、
互いにネットワークで接続された、第1のストレージ部と、第2のストレージ部とを有して、前記第1のストレージ部と第2のストレージ部とが協働してデータ入出力を行い、
前記IO制御部は、
前記認証した場合に、前記記憶領域の情報に対応する前記第1ストレージ部及び前記第2のストレージ部に、前記ソフトウェアのIDと、当該ソフトウェアが入出力を行う記憶領域の情報と、前記トークンとを送信し、
前記第1ストレージ部及び第2のストレージ部は、それぞれ 前記コンピュート部から、前記ソフトウェアのIDと、当該ソフトウェアが入出力を行う記憶領域の情報と、前記トークンとを含む前記IO要求を直接または間接的に受信して、前記IO制御部から受信した前記ソフトウェアのIDと、前記記憶領域の情報と、前記トークンと照合してアクセス可否を判断し、
アクセス可能と判断した場合に前記IO要求を処理する請求項1に記載の情報処理システム。 - 前記IO制御部は、
所定の条件を満たした場合に、前記コンピュート部及び前記ストレージ部に、前記トークンの更新または削除の要求を送信し、
前記コンピュート部及び前記ストレージ部は、
前記トークンの更新または削除の要求を受信して、前記前記トークンの更新または削除を実行する請求項1に記載の情報処理システム。 - ソフトウェアが稼働するコンピュート部からIO要求を受けてデータを入出力する複数のストレージ部と、前記コンピュート部の前記ストレージ部へのアクセスを制御するIO制御部とを備えた情報処理システムを用いた情報処理方法おいて、
前記IO制御部は、
前記コンピュート部から、前記ソフトウェアのIDと当該ソフトウェアが入出力を行う記憶領域の情報とを含む認証要求を受信し、
前記認証した場合に、前記コンピュート部に前記ストレージ部にアクセスするためのトークンを送信するとともに、前記記憶領域の情報に対応するストレージ部に、前記ソフトウェアのIDと、当該ソフトウェアが入出力を行う記憶領域の情報と、前記トークンとを送信し、
前記ストレージ部は、
前記コンピュート部から、前記ソフトウェアのIDと、当該ソフトウェアが入出力を行う記憶領域の情報と、前記トークンとを含むIO要求を受信して、前記IO制御部から受信した前記ソフトウェアのIDと、前記記憶領域の情報と、前記トークンと照合してアクセス可否を判断し、
アクセス可能と判断した場合に前記IO要求を処理する情報処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020110860A JP2022007746A (ja) | 2020-06-26 | 2020-06-26 | 情報処理システム及び情報処理方法 |
US17/192,706 US11592999B2 (en) | 2020-06-26 | 2021-03-04 | Information processing system and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020110860A JP2022007746A (ja) | 2020-06-26 | 2020-06-26 | 情報処理システム及び情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022007746A true JP2022007746A (ja) | 2022-01-13 |
Family
ID=79031980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020110860A Pending JP2022007746A (ja) | 2020-06-26 | 2020-06-26 | 情報処理システム及び情報処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11592999B2 (ja) |
JP (1) | JP2022007746A (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9660987B2 (en) * | 2015-07-30 | 2017-05-23 | Oracle International Corporation | Storage isolation using I/O authentication |
US10866963B2 (en) * | 2017-12-28 | 2020-12-15 | Dropbox, Inc. | File system authentication |
US10944561B1 (en) * | 2018-05-14 | 2021-03-09 | Amazon Technologies Inc. | Policy implementation using security tokens |
JP6723289B2 (ja) | 2018-05-24 | 2020-07-15 | 株式会社日立製作所 | 計算機システム及びリソースアクセス制御方法 |
US10742414B1 (en) * | 2019-10-18 | 2020-08-11 | Capital One Services, Llc | Systems and methods for data access control of secure memory using a short-range transceiver |
-
2020
- 2020-06-26 JP JP2020110860A patent/JP2022007746A/ja active Pending
-
2021
- 2021-03-04 US US17/192,706 patent/US11592999B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11592999B2 (en) | 2023-02-28 |
US20210405890A1 (en) | 2021-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10389709B2 (en) | Securing client-specified credentials at cryptographically attested resources | |
US8943319B2 (en) | Managing security for computer services | |
CN108628658B (zh) | 一种容器的许可证管理方法及装置 | |
US11023423B2 (en) | System and method for information storage using blockchain databases combined with pointer databases | |
KR101966767B1 (ko) | 클라우드 서비스를 위한 암호화 키 관리 시스템 | |
US20180097809A1 (en) | Securing access to cloud components | |
US10091001B2 (en) | Autonomous private key recovery | |
US8954760B2 (en) | Authentication of solution topology | |
WO2019020034A1 (zh) | 虚拟机密码重置方法、装置和系统 | |
WO2014059860A1 (zh) | 一种提高云计算数据安全的方法及系统 | |
JP2022539969A (ja) | プロセスコンテナのコンテキストからセキュアメモリエンクレーブを使用すること | |
US11068606B2 (en) | Secured encrypted shared cloud storage | |
JP7000491B2 (ja) | バイパス不可能なゲートウェイを使用するtpmベースの安全なマルチパーティ・コンピュータシステム | |
US11909882B2 (en) | Systems and methods to cryptographically verify an identity of an information handling system | |
US20230403299A1 (en) | Providing Access to Data in a Secure Communication | |
US11418331B1 (en) | Importing cryptographic keys into key vaults | |
CN108881261B (zh) | 一种容器环境下基于区块链技术的服务认证方法及系统 | |
US20150113241A1 (en) | Establishing physical locality between secure execution environments | |
US11477183B1 (en) | Application-based management of security credential revocations | |
US20230106455A1 (en) | Efficient launching of trusted execution environments | |
US12067119B1 (en) | Providing cryptographic attestations of enclaves used to process user data in a cloud provider network | |
JP2022007746A (ja) | 情報処理システム及び情報処理方法 | |
CN116155528A (zh) | 用于系统管理的云密钥管理 | |
CN118235125A (zh) | 使用健康票据的安全包围区中的活性保证 | |
CN107704775B (zh) | 对导航数据信息进行aes加密存储的方法 |