[go: up one dir, main page]

JP2009032038A - リムーバブルな暗号化/復号化モジュールが接続されるストレージシステム - Google Patents

リムーバブルな暗号化/復号化モジュールが接続されるストレージシステム Download PDF

Info

Publication number
JP2009032038A
JP2009032038A JP2007195463A JP2007195463A JP2009032038A JP 2009032038 A JP2009032038 A JP 2009032038A JP 2007195463 A JP2007195463 A JP 2007195463A JP 2007195463 A JP2007195463 A JP 2007195463A JP 2009032038 A JP2009032038 A JP 2009032038A
Authority
JP
Japan
Prior art keywords
encryption
decryption
module
data
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007195463A
Other languages
English (en)
Inventor
Akitatsu Harada
明達 原田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007195463A priority Critical patent/JP2009032038A/ja
Priority to US11/969,394 priority patent/US8533494B2/en
Publication of JP2009032038A publication Critical patent/JP2009032038A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0464Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】暗号化済みデータのままマイグレーションされてもそれをマイグレーション先で復号化できるようにする。非暗号化データをストレージシステムの外に出すことなくデータの暗号化方式を変更する。
【解決手段】ストレージシステム(300)に、リムーバブルなモジュール(400)が接続されるコネクタ(814)が備えられる。そのリムーバブルなモジュールが、データの暗号化や復号化に関わる暗号化/復号化情報を記憶する記憶部、及び/又は、所定の暗号化/復号化方式でデータを暗号化/復号化する暗号化/復号化エンジンを備える。ストレージシステムの制御部及び/又はモジュールが、その暗号化/復号化情報を使用してデータを暗号化したり、暗号化済みデータを、その暗号化/復号化情報を使用して復号化したりする。或いは、暗号化/復号化エンジンが、データを暗号化したり、暗号化済みデータを復号化したりする。
【選択図】図1

Description

本発明は、ストレージシステムに記憶されるデータの暗号化に関する。
暗号化機能を有したストレージシステムが知られている。その種のストレージシステムは、例えば、特許文献1及び2に開示されている。特許文献1及び2に開示の技術によれば、ストレージシステムの暗号化機能により、ストレージシステムがホストから受信したデータが暗号化され、暗号化されたデータが記憶装置に格納される。
特開2007−028502号公報 特開2006−227839号公報
第一のストレージシステムから第二のストレージシステムにデータがマイグレーションされるケースがある。データのマイグレーションは、例えば、古いストレージシステムを新しいストレージシステムにリプレースする場合に行われる。
このケースにおいて、マイグレーション対象のデータが、第一のストレージシステムの第一の暗号化機能による暗号化済みデータであることがある。その場合、第二のストレージシステムの第二の暗号化機能によって、第二のストレージシステムに記憶される暗号化済みデータを復号化できるようにするために、以下の方法でマイグレーションする必要がある。すなわち、第一のストレージシステムが、暗号化済みデータを第一の暗号化機能によって復号化し、その復号化されたデータを第二のストレージシステムに送信し、第二のストレージシステムが、第二の暗号化機能によって、その復号化されたデータを再び暗号化してから記憶する必要がある。このため、暗号化されていないデータ(以下、非暗号化データ)が、データのマイグレーションの際にストレージシステムの外に出てしまうことになる。また、マイグレーション対象の全ての暗号化済みデータについて、復号化と再暗号化が伴うため、データのマイグレーションに要する時間が長くなってしまう。これらの問題を解消するための方法としては、暗号化済みデータそれ自体を第一のストレージシステムが第二のストレージシステムに送信する方法が考えられるが、そうすると、第二のストレージシステムに記憶される暗号化済みデータは、第二の暗号化機能によって暗号化されたデータではないため、第二のストレージシステムにおいてその暗号化済みデータを復号化することができない。
また、例えば、記憶されるデータの暗号化方式の変更が望まれることがある。その望みに応える方法としては、上記のマイグレーションを行う方法がある。これにより、記憶されるデータの暗号化方式を、第一のストレージシステムの第一の暗号化機能による第一の暗号化方式から、第二のストレージシステムの第二の暗号化機能による第二の暗号化方式に変更することができる。しかし、この方法では、暗号化方式の変更のために非暗号化データがストレージシステムの外に出てしまうという問題が生じる。
従って、本発明の第一の目的は、第一のストレージシステムによる暗号化済みデータが第二のストレージシステムにマイグレーションされてもその暗号化済みデータを第二のストレージシステムで復号化できるようにすることにある。
本発明の第二の目的は、非暗号化データをストレージシステムの外に出すことなく、データの暗号化方式を変更できるようにすることにある。
本発明の他の目的は、後の説明から明らかになるであろう。
ストレージシステムに、リムーバブルなモジュールが接続されるコネクタが備えられる。そのリムーバブルなモジュールが、データの暗号化や復号化に関わる暗号化/復号化情報を記憶する記憶部、及び/又は、所定の暗号化/復号化方式でデータを暗号化/復号化する暗号化/復号化エンジンを備える。ストレージシステムの制御部又は暗号化/復号化モジュールの少なくとも一つが、その暗号化/復号化情報を使用してデータを暗号化したり、暗号化済みデータを、その暗号化/復号化情報を使用して復号化したりする。或いは、暗号化/復号化エンジンが、データを暗号化したり、暗号化済みデータを復号化したりする。
データのマイグレーションの場合には、例えば、第一のストレージシステムに接続されていて暗号化や復号化に使用されていたモジュールが、第一のストレージシステムから取り外して第二のストレージシステムに接続され、そのモジュールを使用して暗号化されたデータ(暗号化済みデータ)が、第一のストレージシステムから復号化されることなく第二のストレージシステムにマイグレーションされる。第二のストレージシステムにマイグレーションされた暗号化済みデータは、第二のストレージシステムに接続されたモジュールにより、復号化が可能である。
暗号化/復号化方式の変更の場合には、例えば、ストレージシステムに接続されていて暗号化や復号化に使用されていたモジュールを用いて、そのストレージシステム内のデータが第一の暗号化/復号化方式で復号化され、そのストレージシステムに接続された別のモジュールを用いて、復号化されたデータが第二の暗号化/復号化方式で暗号化される。
一つの実施形態では、ストレージシステムが、記憶装置と、リムーバブルな暗号化/復号化モジュールが接続されるコネクタと、記憶装置へのデータの書込みや記憶装置からのデータの読出しを制御し上記コネクタを有する制御部とを備える。暗号化/復号化モジュールが、データの暗号化や復号化に関わる暗号化/復号化情報を記憶する記憶部、及び/又は、所定の暗号化/復号化方式でデータを暗号化/復号化する暗号化/復号化エンジンを備える。制御部又は暗号化/復号化モジュールの少なくとも一つが、その暗号化/復号化情報を使用してデータを暗号化したり、暗号化済みデータを、その暗号化/復号化情報を使用して復号化したりする。或いは、暗号化/復号化エンジンが、データを暗号化したり、暗号化済みデータを復号化したりする。
暗号化/復号化モジュールは、暗号化専用のモジュールと復号化専用のモジュールとで構成されても良い。この場合には、暗号化専用のモジュールが、データを暗号化する、及び/又は、暗号化に関わる情報を記憶し、復号化専用のモジュールが、暗号化済みデータを復号化する、及び/又は、復号化に関わる情報を記憶する。
一つの実施形態では、ストレージシステムに、コネクタが複数個存在し、その複数のコネクタに、第一のコネクタと第二のコネクタとが含まれる。第一のコネクタに、第一の暗号化/復号化モジュールが接続され、第二のコネクタに、第二の暗号化/復号化モジュールが接続される。記憶装置が、第一の暗号化/復号化方式による暗号化済みデータを記憶している。制御部が、記憶装置から暗号化済みデータを読出し、制御部と第一の暗号化/復号化モジュールの少なくとも一つが、第一の暗号化/復号化方式情報を使用して、或いは、第一の暗号化/復号化モジュール内の第一の暗号化/復号化エンジンが、読み出された暗号化済みデータを、第一の暗号化/復号化方式で復号化する。また、制御部と第二の暗号化/復号化モジュールの少なくとも一つが、第二の暗号化/復号化方式情報を使用して、或いは、第二の暗号化/復号化モジュール内の第二の暗号化/復号化エンジンが、復号化されたデータを、第二の暗号化/復号化方式で暗号化し、制御部が、暗号化済みデータを、記憶装置又はそれとは別の記憶装置に書込む。
一つの実施形態では、第一の暗号化/復号化モジュールが有する第一の暗号化/復号化情報に、第一の鍵情報が含まれる。第二の暗号化/復号化モジュールが有する第二の暗号化/復号化情報に、第二の鍵情報が含まれる。記憶装置に記憶されている暗号化済みデータは、第一の暗号化/復号化方式で第一の鍵情報を使用して暗号化されたデータである。制御部と第一の暗号化/復号化モジュールの少なくとも一つが、読み出された暗号化済みデータを、前記第一の鍵情報を使用して前記第一の暗号化/復号化方式で復号化する。制御部と第二の暗号化/復号化モジュールの少なくとも一つが、復号化されたデータを、第二の鍵情報を使用して第二の暗号化/復号化方式で暗号化する。
一つの実施形態では、記憶装置が複数個有る。第一の暗号化/復号化情報に、更に、鍵管理情報が含まれる。鍵管理情報は、第一の鍵情報を識別するための情報である第一の鍵IDと、記憶装置又は記憶装置が対応付けられている要素を表す暗号化対象要素情報との対応を表す。制御部、第一の暗号化/復号化モジュール及び第二の暗号化/復号化モジュールの少なくとも一つが、第一の暗号化/復号化モジュールの記憶部から第二の暗号化/復号化モジュールの記憶部に前記第一の鍵管理情報をコピーする。制御部と第二の暗号化/復号化モジュールの少なくとも一つが、コピーされた鍵管理情報における第一の鍵IDを、第二の鍵情報を識別するための情報である第二の鍵IDに更新する。
一つの実施形態では、制御部、前記第一の暗号化/復号化モジュール及び第二の暗号化/復号化モジュールの少なくとも一つが、第一の暗号化/復号化方式と第二の暗号化/復号化方式との互換性の有無を判断し、互換性が有るとの判断になれば、制御部と第一の暗号化/復号化モジュールとの少なくとも一方が、第一の暗号化/復号化方式での復号化を行うが、互換性が無いとの判断になれば、その復号化を行わない。
一つの実施形態では、互換性の有無とは、或るデータサイズのデータを第一の暗号化/復号化方式で暗号化した場合と第二の暗号化/復号化方式で暗号化した場合とで暗号化済みデータのデータサイズに差が有るか否かである。
一つの実施形態では、制御部が、変更後の暗号化/復号化方式である第二の暗号化/復号化方式が、変更前の暗号化/復号化方式である第一の暗号化/復号化方式よりも旧式か否かを判断し、旧式との判断になった場合に、警告を出す。
一つの実施形態では、コネクタが複数個存在し、その複数のコネクタに、第一のコネクタと第二のコネクタとが含まれる。第一のコネクタに、第一の暗号化/復号化モジュールが接続される。第二のコネクタに、第二の暗号化/復号化モジュールが接続される。記憶装置が、暗号化/復号化情報を使用して暗号化されたデータである暗号化済みデータを記憶している。制御部、第一の暗号化/復号化モジュール及び第二の暗号化/復号化モジュールの少なくとも一つが、暗号化/復号化情報の全部又は一部を第一の暗号化/復号化モジュールから第二の暗号化/復号化モジュールにコピーする。制御部が、記憶装置から暗号化済みデータを読出し、その暗号化済みデータを、復号化することなく、マイグレーション先のストレージシステムに送信する。
一つの実施形態では、記憶装置が複数個有る。暗号化/復号化情報には、鍵情報と、鍵管理情報が含まれている。鍵管理情報は、鍵情報を識別するための情報である鍵IDと、記憶装置又は記憶装置が対応付けられている要素を表す暗号化対象要素情報との対応を表す。コピーされる暗号化/復号化情報の一部とは、上述の鍵管理情報である。
一つの実施形態では、暗号化/復号化モジュールが、認証情報を記憶する認証情報記憶部を更に有する。制御部と暗号化/復号化モジュールとの少なくとも一つが、認証情報を用いてその暗号化/復号化モジュールの使用の許否を判断する。第一の暗号化/復号化モジュールは、許否の判断において、ストレージシステムでの使用を許可すると判断されたモジュールである。第二の暗号化/復号化モジュールは、許否の判断において、暗号化/復号化情報をコピーするために前記ストレージシステムでの使用を一時的に許可すると判断されたモジュールである。
一つの実施形態では、制御部が、コネクタから暗号化/復号化モジュールが取外されたことを検出した場合、記憶装置へのアクセスを禁止する。
一つの実施形態では、コネクタは、リムーバブルな記憶装置も接続可能に構成されている。
一つの実施形態では、コネクタ及び前記記憶装置がそれぞれ複数個存在する。ストレージシステムが、暗号化/復号化管理情報を記憶する管理記憶部を更に備える。暗号化/復号化管理情報は、暗号化/復号化モジュールを識別するための情報であるモジュールIDと、記憶装置又は記憶装置が対応付けられている要素を表す暗号化対象要素情報との対応を表す。制御部が、アクセス先の記憶装置に関わる暗号化対象情報要素に対応したモジュールIDを暗号化/復号化管理情報から特定し、特定されたモジュールIDから識別される暗号化/復号化モジュールが、アクセス先の記憶装置に書き込まれるデータを暗号化する、或いは、アクセス先の記憶装置から読み出された暗号化済みデータを復号化する。
上述した複数の実施形態のうちの二以上の実施形態を組み合わせることができる。また、上述した各部は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
以下、図面を参照して本発明の一実施形態を詳細に説明する。なお、その実施形態では、リムーバブルの暗号化/復号化モジュールは、暗号化専用のモジュールと復号化専用のモジュールとに分離しておらず、一つのモジュールが暗号化にも復号化にも使用されることとする。また、その暗号化/復号化モジュールに、所定の暗号化/復号化方式で暗号化や復号化を実行する暗号化/復号化エンジンが搭載されているものとする。
図1は、本発明の一実施形態に係る計算機システムの構成を示す。
第一の通信ネットワーク、例えばSAN200に、一又は複数のホスト計算機100と、ストレージシステム300が接続されている。
ホスト計算機100は、例えば、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成される。
ストレージシステム300は、例えば、アレイ状に配列された多数の物理的な記憶装置321を備えるRAIDシステムとすることができる。ストレージシステム300は、ストレージ制御部310と、ストレージ部320とに大別することができる。
ストレージ制御部310は、例えば、複数(又は一つ)のホストI/F311と、複数(又は一つ)のストレージI/F315と、キャッシュメモリ(図では「CM」と略記)316と、共有メモリ(図では「SM」と略記)312と、システム内スイッチ(図では「システム内SW」と略記)313と、サービスプロセッサ(以下、「SVP」と略記)317とを備えている。また、ストレージ制御部310は、一つ以上のスロット部、例えば二つのスロット部314、314を有する。以下、二つのスロット部314を格別区別しない場合には、単に「スロット部314」と言い、それらを区別して説明する場合には、「第一のスロット部314」、「第二のスロット部314」と言うことにする。
スロット部314は、スロットを形成しており、そのスロットに、暗号化及び復号化に関する情報やエンジンがモジュール化された装置(以下、暗号化/復号化モジュール)400が挿される。スロットに挿し込まれた暗号化/復号化モジュール400がより奥へと進むことで、その暗号化/復号化モジュール400にある後述の接続I/Fと、ストレージ制御部310にあるコネクタ814とが接続される。そのコネクタ814は、ストレージ内スイッチ313に接続されている。これにより、コネクタ814に物理的に接続された暗号化/復号化モジュール400は、後述の接続I/Fを介してストレージシステム300に接続され、SVP317からの指示に応答した処理や、その後述の接続I/Fを介して入力されるデータの暗号化や復号化を行うことができる。スロット部314に対する暗号化/復号化モジュール400の接続や取り外しは、手動で行われても良いし、自動で行われても良い。また、暗号化/復号化モジュール400とコネクタ814との接続は、非接触でも接触でも良い。
ホストI/F311は、ホスト計算機100或いは他のストレージシステムとの間のデータ通信を行うインタフェース装置である。ホストI/F311は、例えば、プロセッサ3112、メモリ3123、ポート3111等を備えたマイクロコンピュータシステム(例えば回路基盤)として構成することができる。具体的には、例えば、複数のポート31111や、複数のプロセッサ3112や、それらやメモリ3123が接続されておりそれらの接続を切替えるスイッチなどが備えられている。各ポート3111は、ホスト計算機100から書込み要求や読出し要求を受信するポートである。ポート3111には、それを識別するための情報として、例えば、WWN(World Wide Name)が付与されている。
ストレージI/F315は、物理的な記憶装置321との間のデータ通信を行うインタフェース装置である。ストレージI/F315も、プロセッサ、メモリ、複数のポート等を備えたマイクロコンピュータシステム(例えば回路基盤)として構成することができる。複数のポートは、物理的な記憶装置321と通信可能に接続されるポートである。
キャッシュメモリ316は、例えば、揮発性又は不揮発性のメモリであり、ホスト計算機10から受信したデータや、物理的な記憶装置321から読出されたデータを、一時的に記憶する。
共有メモリ312は、例えば、揮発性又は不揮発性のメモリであり、ストレージシステム300の制御のためにホストI/F311或いはストレージI/F315に参照される管理情報が格納される。管理情報としては、例えば、ポート−LUマッピングテーブル3121と、LU−ストレージマッピングテーブル3122と、復号化制御テーブル3123とがある。各テーブル3121、3122及び3123については後に詳述する。
ストレージ内スイッチ313は、ホストI/F311、ストレージI/F315、キャッシュメモリ316、共有メモリ312、SVP317及び暗号化/復号化モジュール400を相互に接続させる。ストレージ内スイッチ313としては、例えば、高速スイッチング動作によってデータ伝送を行う超高速クロスバスイッチを採用することができる。ストレージ内スイッチ313に代えて、バスなどの他種の接続部が採用されてもよい。
SVP317は、ストレージシステム300を保守及び/又は管理するための装置(例えば回路基板)である。SVP317は、第二の通信ネットワーク、例えばLAN500に接続されており、LAN500を介して、管理端末(例えばパーソナルコンピュータ等の計算機)600と通信することができる。SVP317を制御コンソールとし、管理端末600をそれの入出力コンソールとすることができる。
ストレージ部320には、複数の物理的な記憶装置321が含まれている。物理的な記憶装置321としては、例えば、ハードディスクドライブ、フレキシブルディスクドライブ、磁気テープドライブ、半導体メモリ(例えばフラッシュメモリ)ドライブ、光ディスクドライブ等のようなデバイスを用いることができる。二以上の物理的な記憶装置321により、所定のRAIDレベルのRAIDグループを構成することができる。RAIDグループを構成する二以上の物理的な記憶装置321の記憶空間を用いて、一又は複数の論理的な記憶装置(以下、論理ユニット或いはそれを略してLUと言う)321を形成することができる。
以上が、本実施形態に係る計算機システムの構成である。なお、この構成は、一例であり、他の構成が採用されてもよい。例えば、共有メモリ312とキャッシュメモリ316は、別々のメモリでなく、一つのメモリに共有メモリ領域とキャッシュメモリ領域とが設けられても良い。また、例えば、ストレージ制御部310は、CPU、メモリ及び複数の通信ポートを備えた回路基盤(すなわち、図1のストレージ制御部よりもシンプルな構成)であっても良い。この場合、そのCPUが、複数のホストI/F311やストレージI/F315によって行われる処理を実行することができる。
図2は、暗号化/復号化モジュール400の構成例を示す。
暗号化/復号化モジュール400は、接続I/F410と、モジュール制御部420と、認証情報記憶部430と、処理定義記憶部440と、暗号化/復号化エンジン470と、入出力バッファ490と、鍵記憶部460と、モジュール内スイッチ(図では「モジュール内SW」)450とを備える。複数の記憶部430、440及び460は、それぞれ、例えば不揮発性のメモリである。複数の記憶部430、440及び460のうちの二以上の記憶部が、一つのメモリに設けられていても良い。
接続I/F410は、ストレージ制御部310にあるコネクタ814に接続されるインタフェース装置である。接続I/F410は、モジュール内SW450を介して、モジュール制御部420、認証情報記憶部430、処理定義記憶部440、暗号化/復号化エンジン470及び鍵記憶部460に接続される。
モジュール制御部420は、例えば、コンピュータプログラムを読み込んで実行するプロセッサ(例えばCPU)である。モジュール制御部420は、例えば、暗号化/復号化モジュール400のストレージシステム300に対する認証(具体的には、後述の接続認証及び一時認証)を行ったり、鍵462の生成、更新或いは破棄の指示を行ったり、鍵マッピングテーブル461の設定或いは更新を行ったり、所定の処理の定義に関する情報である処理定義情報を暗号化定義記憶部440に記憶させたりする。
認証情報記憶部430は、認証情報を記憶する。認証情報としては、例えば、汎用的な認証情報及び専用的な認証情報がある。汎用的な認証情報としては、例えば“guest”などの所定の文字列を採用することができる。初期的には、専用的な認証情報が記憶されておらず、汎用的な認証情報を用いた後述の接続許否判定処理で、論理的な接続が許可された場合に、専用的な認証情報が認証情報記憶部430に追記され、以後は、その専用的な認証情報を使用して接続許否判定処理が行われる。専用的な認証情報としては、この暗号化/復号化モジュール400の論理的な接続が許可されたストレージシステム300の識別子(以下、ストレージシステムID)を採用することができる。
処理定義記憶部440には、処理定義情報が記憶される。処理定義情報としては、例えば、マイグレーションID(マイグレーションの識別子)や、モジュールステータス情報(モジュールステータスを表す情報)がある。モジュールステータス情報としては、例えば、接続ステータス情報(入力されたデータを暗号化したり復号化したりすることが許可されていることのステータスを表す情報)や、一時ステータス情報(データの暗号化や復号化したりすることは許可されていないが、鍵マッピングテーブル461のコピー先としての使用など一時的な使用は許可されていることのステータスを表す情報)などがある。
入出力バッファ490は、例えば、メモリに設けられた記憶領域である。入出力バッファ490は、接続I/F410を介して入力された暗号化済みデータ或いは非暗号化データや、暗号化/復号化エンジン470による暗号化済みデータ或いは非暗号化データが一時記憶される。
暗号化/復号化エンジン470は、入力されたデータを所定の暗号化/復号化方式で暗号化したり復号化したりするエンジンである。このエンジンは、ハードウェア回路、暗号化/復号化プログラムを実行するマイクロプロセッサ、或いはそれらの組合せで構成することができる。暗号化/復号化エンジン470は、暗号化や復号化の他に、例えば、モジュール制御部420からの指示に応答して、鍵462を生成することもできる。また、暗号化/復号化エンジン470が実行可能な暗号化/復号化方式の数は二以上であっても良く、その場合には、暗号化/復号化エンジン470は、二以上の暗号化/復号化方式の中から選択された暗号化/復号化方式で暗号化や復号化を行うことができる。
鍵記憶部460には、一以上の鍵462と、鍵マッピングテーブル461とが記憶される。鍵462は、暗号化と復号化の両方に使用される鍵を表す情報である。鍵マッピングテーブル461は、どの暗号化対象に所属する論理ユニット322に記憶されるデータをどの鍵462を使用して暗号化するかを表すテーブルである。具体的には、例えば、図3に示すように、鍵マッピングテーブル461に登録されるレコードは、暗号化/復号化モジュール400の識別子であるモジュールID4611、暗号化/復号化方式の名称である暗号化/復号化方式名4612、鍵462の名称である鍵名4613、暗号化対象4614で構成される。暗号化対象4614は、どの論理ユニット322に記憶されるデータを暗号化するかを表す情報である。暗号化対象4614としては、例えば、All Storage46141、ポートID46143、ホストグループID46144及びLUN(Logical Unit Number)46145がある。All Storage46141が“Yes”であれば、ストレージシステム300に存在する全ての論理ユニット332に記憶されるデータが暗号化対象のデータである。All Storage46141が“No”であれば、ストレージシステム300に存在する一部の論理ユニット332に記憶されるデータが暗号化対象のデータである。All Storage46141が“No”の場合には、ポートID46143、ホストグループID46144及びLUN46145のうちの一以上の情報要素で、論理ユニット332が指定される。例えば、ストレージシステム300の共有メモリ312には、図示しないが、ストレージシステム300に存在する論理ユニット332のLUNや、その論理ユニット332がどのポート3111或いはどのホストグループに対応するかを表す情報が記憶されている。
なお、ホストグループとは、ポート3111にマッピングされた複数の論理ユニット332の全部又は一部であり、ホスト計算機100に対応付けられるグループである。具体的には、例えば、或るホストグループに所属する論理ユニット332は、その或るホストグループに対応したホスト計算機332には提供されるが、他のホスト計算機332には提供されない。
また、論理ユニット322を指定する単位としては、ポートやホストグループに限らず、それらに代えて又は加えて、他種の単位を採用することができる。その単位としては、例えば、SLPR或いはホストWWNを採用することができる。SLPRとは、Storage Logical PaRtitioningの略であり、ストレージシステム300の論理的な一部分である。ホストWWNとは、ホスト計算機332が有する図示しないポートに割当てられているWWNである。
暗号化/復号化モジュール400やSVP317は、共有メモリ312に記憶されているテーブル3121、3122及び3123の参照、設定および更新を行うことができる。
図4は、LU−ストレージマッピングテーブル3122の構成例を示す。
LU−ストレージマッピングテーブル3122は、論理ユニット322と物理的な記憶装置321との対応関係と、どの論理ユニット322に記憶されるデータがどの暗号化/復号化モジュール400で暗号化及び復号化されるかとを表すテーブルである。具体的には、例えば、LU−ストレージマッピングテーブル3122には、一つの論理ユニット322につき、その論理ユニット322のLUN31221と、その論理ユニット322を提供する記憶装置321の識別子であるストレージID31222と、その記憶装置321におけるアドレスを表す情報であるアドレス31223と、その論理ユニット322に対応した暗号化/復号化モジュール400の識別子であるモジュールID31224とが記録される。
図5は、ポート−LUマッピングテーブル3121の構成例を示す。
ポート−LUマッピングテーブル3121は、ポート3111と論理ユニット322との対応関係と、どの論理ユニット322に記憶されるデータがどの暗号化/復号化モジュール400で暗号化及び復号化されるかとを表すテーブルである。具体的には、例えば、ポート−LUマッピングテーブル3121には、一つの論理ユニット322につき、その論理ユニット322が対応付けられたポート3111の識別子であるポートID31211と、その論理ユニット322を含んだホストグループの識別子であるホストグループID31212と、その論理ユニット322のLUN31213と、その論理ユニット322に対応した暗号化/復号化モジュール400の識別子であるモジュールID31214とが記録される。
図5によれば、二つの暗号化/復号化モジュールが共存可能である。具体的には、例えば、モジュールID“モジュールA”に対応する第一の暗号化/復号化モジュール400によって、LUN“LU#1”のLU322に記憶されるデータが暗号化/復号化され、モジュールID“モジュールB”に対応する第二の暗号化/復号化モジュール400によって、LUN“LU#3”のLU322に記憶されるデータが暗号化/復号化されることがわかる。
図6は、復号化制御テーブル3123の構成例を示す。
復号化制御テーブル3123は、どのポート3111から出力されるデータを復号化するかを表すテーブルである。具体的には、例えば、復号化制御テーブル3123には、一つのポート3111につき、そのポート31111の識別子であるポートID31231と、復号化するか否かを表す情報である復号化有無31232とが記録される。復号化有無31232が“Yes”であれば、その復号化有無31232に対応するポート3111を経由するデータの復号化が行われ、復号化有無31232が“No”であれば、その復号化有無31232に対応するポート3111を経由するデータの復号化は行われない。なお、初期的には、復号化有無31232は“Yes”となり、適宜に、それが“No”に変更されたり、“Yes”に戻されたりする。
以下、本実施形態で行われる種々の処理を説明する。
図7は、暗号化/復号化モジュール400がストレージシステム300に物理的に接続された場合に行われる処理の流れの一例を示す。図では、ステップを「S」と略記している。なお、この図7の説明では、今回物理的に接続された暗号化/復号化モジュール400を「対象モジュール400」と呼ぶ。
SVP317が、対象モジュール400が物理的に接続されたことを検知し、接続認証と一時認証のどちらを行うかを判断する(ステップ1401)。接続認証を行うと判断した場合、ステップ1402に進み、一時認証を行うと判断した場合、ステップ1408に進む。例えば、SVP317は、物理的な接続を検知した場合、管理端末600のユーザにどちらの認証を行うかを問合せ、その問合せに応答して管理端末600のユーザから受けた回答を基に、接続認証と一時認証のどちらを行うかを判断しても良い。或いは、例えば、第一の暗号化/復号化モジュール400又は第一のスロット部314に、接続認証と一時認証のどちらを行うかを指定するための入力部(例えば機械的なスイッチ)が設けられており、その入力部を介して受けた指定を基に、SVP317が接続認証と一時認証のどちらを行うかを判断しても良い。ちなみに、接続認証とは、物理的に接続された対象モジュール400をデータの暗号化/復号化に使用するという認証であり、一時認証とは、対象モジュール400を、データの暗号化/復号化には使用しないが、鍵マッピングテーブルのコピー先としての使用などの一時的な使用を行うという認証である。
ステップ1402では、SVP317は、対象モジュール400について、初めての接続認証か否かを判断する。具体的には、例えば、SVP317は、モジュール制御部420に専用的な認証情報の有無を問い合わせ、その問合せに対する回答を基に、初めての接続認証か否かを判断しても良い。この場合、専用的な認証情報が有る旨の回答を受けたならば、初めての接続認証ではないと判断し、一方、専用的な認証情報が無い旨の回答を受けたならば、初めての接続認証であると判断することができる。初めての接続認証と判断された場合、ステップ1403に進み、初めての接続認証ではないと判断された場合、ステップ1406に進む。
ステップ1403では、SVP317は、対象モジュール400から汎用的な認証情報を取得し、その汎用的な認証情報を用いて、接続認証するか否かの接続許否判定を行う。例えば、SVP317は、管理端末600から、文字列(例えばパスワード及び/又は他種の文字列)を受け付け、受けた文字列が、汎用的な認証情報が表す文字列と一致するか否かを判定する。この場合、一致すれば、接続認証するとの判定になり、ステップ1404に進み、不一致であれば、接続認証しないとの判定になり、ステップ1405に進む。
ステップ1404では、SVP317は、接続ステータス情報を、対象モジュール400の処理定義記憶部440に記憶させる。また、SVP317は、ストレージシステム300のストレージシステムIDを専用的な認証情報として対象モジュール400の認証情報記憶部430に記憶させる。
ステップ1405では、SVP317は、対象モジュール400の使用を拒否する。例えば、SVP317は、対象モジュール400の使用を拒否することを意味するメッセージを管理端末600に送信し、管理端末600が、そのメッセージを表示しても良い。或いは、例えば、SVP317は、例えば、対象モジュール400が挿されているスロット部314に排出命令を送ることで対象モジュール400をそのスロット部314から排出させても良い。
ステップ1406では、SVP317は、対象モジュール400から専用的な認証情報を取得し、その専用的な認証情報を用いて、接続認証するか否かの接続許否判定を行う。例えば、SVP317は、共有メモリ312或いは他の記憶領域から、ストレージシステム300のストレージシステムIDを読出し、そのストレージシステムIDが、専用的な認証情報が表すストレージシステムIDと一致するか否かを判定する。この場合、一致すれば、接続認証するとの判定になり、ステップ1407に進み、不一致であれば、接続認証しないとの判定になり、ステップ1405に進む。
ステップ1407では、SVP317は、接続ステータス情報を、対象モジュール400の処理定義記憶部440に記憶させる。
ステップ1408では、SVP317は、一時認証するか否かの一時許否判定を行う。例えば、SVP317は、対象モジュール400から汎用的な認証情報を取得し、管理端末600から、文字列(例えば、パスワード及び/又は他種の文字列)を受け付け、その受けた文字列が、汎用的な認証情報が表す文字列と一致するか否かを判定する。この場合、一致すれば、一時認証するとの判定になり、ステップ1409に進み、不一致であれば、一時認証しないとの判定になり、ステップ1405に進む。
ステップ1409では、SVP317は、一時ステータス情報を、対象モジュール400の処理定義記憶部440に記憶させる。
以上が、対象モジュール400がストレージシステム300に物理的に接続された場合に行われる処理の流れの一例である。なお、この例では、各ステップの主体、SVP317であるが、SVP317に代えて又は加えて、対象モジュール400内のモジュール制御部420であっても良い。例えば、モジュール制御部420が、或いはモジュール制御部420とSVP317が協働して、対象モジュール400を接続認証するか一時認証するかを決定しても良い。
また、例えば、対象モジュール400とストレージシステム300とが1対1に対応し、対象モジュール400が、他のストレージシステム300で接続認証されないようになっていても良い。具体的には、例えば、対象モジュール400の認証情報記憶部430に記憶されるストレージシステムIDの数は、一つである。
図8は、鍵設定処理の流れの一例を示す。この図8の説明において、鍵設定処理の対象となる暗号化/復号化モジュール400を「対象モジュール400」と呼ぶ。
ステップ701で、接続認証或いは一時認証された対象モジュール400内のモジュール制御部420が、暗号化対象4614が指定されている鍵生成命令を受信し、その鍵生成命令に応答して、暗号化/復号化エンジン470に鍵生成指示を送信する。
ステップ702で、暗号化/復号化エンジン470が、モジュール制御部420から鍵生成指示を受信し、その鍵生成指示に応答して、鍵462を生成する。鍵462は、例えば、暗号化/復号化エンジン470又は他の場所に設定されている暗号化強度に基づいて生成される。暗号化/復号化エンジン470或いはモジュール制御部420が、生成された鍵462を、鍵記憶部460に格納する。
ステップ703で、モジュール制御部420は、ステップ701で受信した鍵生成命令で指定されている暗号化対象4614と、ステップ702で格納した鍵462の名称である鍵名4613と、暗号化/復号化エンジン470による暗号化/復号化方式の名称(暗号化/復号化方式名)4612と、自分を有する暗号化/復号化モジュール400の識別子(モジュールID)4611とで構成されるレコードを、鍵マッピングテーブル461に記録する。
ステップ704で、モジュール制御部420或いはSVP317は、ステップ703で記録したレコードを基に、ポート−LUマッピングテーブル3121及びLU−ストレージマッピングテーブル3122を更新する。例えば、記録されたレコードにおける暗号化対象4614に、LUN46145として“LU#1”があれば、ポート−LUマッピングテーブル3121に、LUN31213として“LU#1”が記録され、そのLUN“LU#1”に対応するポートID31211、ホストグループID31212も記録され、更に、ステップ703で記録したレコードにおけるモジュールID4611が、モジュールID31214として記録される。また、LU−ストレージマッピングテーブル3122において、LUN31221“LU#1”に対応したモジュールID31224として、ステップ703で記録したレコードにおけるモジュールID4611が記録される。
以上が、鍵設定処理についての説明である。この鍵設定処理により、スロット部314に挿された対象モジュール400を用いてどの論理ユニット322に記憶されるデータを暗号化するかが定義される。
図9は、ホスト計算機から受信した書込み要求に応答して行われる書込み処理の流れの一例を示す。書込み要求では、LUNやアドレス(例えば論理ブロックアドレス)が指定されている。また、この図9の説明では、書込み要求に応答して書き込まれるべきデータを「ライトデータ」と呼ぶ。
ステップ801で、ホストI/F311が、書込み要求で指定されているLUNをキーに、ポート−LUマッピングテーブル3121や、LU−ストレージマッピングテーブル3122を参照し、指定されているLUNに対応したモジュールID、ディスクID及びアドレスを特定する。そして、ホストI/F311が、受信した書込み要求に伴うライトデータ(非暗号化データ)を、キャッシュメモリ316に書込み、且つ、特定されたディスクID及びアドレスに基づく制御情報(例えば、ライトデータをどこに書込むかを表す情報)を、共有メモリ312に書込む。
ステップ802で、ホストI/F311が、ステップ801で特定されたモジュールIDの値が“なし”かそれ以外であるかを判断する。モジュールIDの値が“なし”であれば、ステップ807に進み、モジュールIDの値が“なし”ではなく有効な値となっていれば、ステップ803に進む。
ステップ803で、ホストI/F311が、ステップ801で特定されたモジュールIDから識別される暗号化/復号化モジュール400(以下、この図9の説明において「対象モジュール400」と言う)がいずれかのスロット部314に接続されているか否かを判断する。具体的には、例えば、ホストI/F311が、物理的に接続されている暗号化/復号化モジュール400内のモジュール制御部420にモジュールID及びモジュールステータス情報を問合せ、その問合せに応答してモジュール制御部420からモジュールID及びモジュールステータス情報を受ける。そのモジュールIDがステップ801で特定されたモジュールIDと一致し、且つ、そのモジュールステータス情報が接続ステータス情報であれば、ホストI/F311は、対象モジュール400が接続されていると判断する。接続されているとの判断になれば、ステップ804に進み、接続されていないとの判断になれば、ステップ808に進む。
ステップ804で、ホストI/F311が、暗号化命令と、ステップ801でキャッシュメモリ316に書き込んだライトデータ(非暗号化データ)と、暗号化対象情報(例えば、LUN、ポートID或いはホストグループID)とを、対象モジュール400のモジュール制御部420に送信する。モジュール制御部420は、暗号化命令に応答して、受けたライトデータ(非暗号化データ)を入出力バッファ490に書込む。また、モジュール制御部420は、受けた暗号化対象情報に対応する暗号化/復号化方式名4612及び鍵名4613を鍵マッピングテーブル461から特定する。そして、モジュール制御部420は、特定された暗号化/復号化方式名4612に対応した暗号化/復号化方式と、特定された鍵名4613に対応する鍵462と、受けたライトデータ(非暗号化データ)とを、暗号化/復号化エンジン470に指定する。
ステップ805で、暗号化/復号化エンジン470が、指定されたライトデータ(非暗号化データ)を入出力バッファ490から読出し、そのライトデータ(非暗号化データ)を、指定された暗号化/復号化方式で、指定された鍵462を使用して暗号化する。例えば、暗号化/復号化エンジン470が、CPUであり、CPUが、指定された暗号化/復号化方式でデータを暗号化するための暗号化プログラムを実行することで、入力された鍵462を使用してライトデータ(非暗号化データ)を暗号化することができる。暗号化/復号化エンジン470は、ライトデータ(暗号化済みデータ)を、入出力バッファ490に書込む。モジュール制御部420が、入出力バッファ490に書込まれたライトデータ(暗号化済みデータ)を、キャッシュメモリ420に書込む。
ステップ806で、ディスクI/F315が、共有メモリ312に書込まれた制御情報を基に、キャッシュメモリ420に書込まれたライトデータ(暗号化済みデータ)を、書込み要求で指定されているLUNに対応した論理ユニット322(具体的には、その論理ユニット322を提供する、記憶装置321における物理的な記憶領域)に書込む。
ステップ807で、ディスクI/F315が、共有メモリ312に書込まれた制御情報を基に、キャッシュメモリ420に書込まれたライトデータ(非暗号化データ)を、書込み要求で指定されているLUNに対応した論理ユニット322に書込む。
ステップ808で、ホストI/F311が、エラー処理を実行する。例えば、ホストI/F311は、書込み要求の送信元のホスト計算機100に、エラーを応答する。
図10は、ホスト計算機から受信した読出し要求に応答して行われる読出し処理の流れの一例を示す。読出し要求では、LUNやアドレス(例えば論理ブロックアドレス)が指定されている。また、この図10の説明では、その読出し要求に応答して読み出されるべきデータを「リードデータ」と呼ぶ。
ステップ901で、ホストI/F311が、読出し要求で指定されているLUNをキーに、ポート−LUマッピングテーブル3121や、LU−ストレージマッピングテーブル3122を参照し、指定されているLUNに対応したモジュールID、ディスクID及びアドレスを特定する。そして、ホストI/F311が、特定されたディスクID及びアドレスに基づく制御情報(例えば、データをどこから読み出すかを表す情報)を、共有メモリ312に書込む。
ステップ902で、ホストI/F311が、ステップ901で特定されたモジュールIDの値が“なし”かそれ以外であるかを判断する。モジュールIDの値が“なし”であれば、ステップ907に進み、モジュールIDの値が“なし”ではなく有効な値となっていれば、ステップ903に進む。
ステップ903で、ホストI/F311は、読出し要求で指定されているLUNに対応するポートを特定し、そのポートに対応した復号化有無31232の値が“Yes”と“No”のどちらであるかを判断する。“Yes”であれば、ステップ904に進み、“No”であれば、ステップ907に進む。
ステップ904で、ホストI/F311が、ステップ901で特定されたモジュールIDから識別される暗号化/復号化モジュール400(以下、図10の説明において「対象モジュール400」と言う)がいずれかのスロット部314に接続されているか否かを判断する。対象モジュール400が接続されているとの判断になれば、ステップ905に進み、対象モジュール400が接続されていないとの判断になれば、ステップ909に進む。
ステップ905で、ディスクI/F315が、共有メモリ312に書込まれた制御情報を基に、論理ユニット322からリードデータ(暗号化済みデータ)を読出し、読み出したリードデータ(暗号化済みデータ)をキャッシュメモリ316に書込む。ホストI/F311が、復号化命令と、キャッシュメモリ316に書き込まれたリードデータ(暗号化済みデータ)と、暗号化対象情報(例えば、LUN、ポートID或いはホストグループID)とを、対象モジュール400のモジュール制御部420に送信する。
ステップ906で、モジュール制御部420は、復号化指示に応答して、受けたリードデータ(暗号化済みデータ)を入出力バッファ490に書込む。また、モジュール制御部420は、受けた暗号化対象情報に対応する暗号化/復号化方式名4612及び鍵名4613を鍵マッピングテーブル461から特定する。そして、モジュール制御部420は、特定された暗号化/復号化方式名4612に対応した暗号化/復号化方式と、特定された鍵名4613に対応する鍵462と、受けたリードデータ(暗号化済みデータ)とを、暗号化/復号化エンジン470に指定する。暗号化/復号化エンジン470が、指定されたリードデータ(暗号化済みデータ)を入出力バッファ490から読出し、そのリードデータ(暗号化済みデータ)を、指定された暗号化/復号化方式で、指定された鍵462を使用して復号化する。暗号化/復号化エンジン470は、復号化されたリードデータ(非暗号化データ)を、入出力バッファ490に書込む。モジュール制御部420が、入出力バッファ490に書込まれたリードデータ(非暗号化データ)を、キャッシュメモリ420に書込む。
ステップ907で、ディスクI/F315が、共有メモリ312に書込まれた制御情報を基に、論理ユニット322からリードデータ(暗号化済みデータ又は非暗号化データ)を読出し、読み出したリードデータ(暗号化済みデータ又は非暗号化データ)をキャッシュメモリ316に書込む。
ステップ908で、ホストI/F311が、キャッシュメモリ316に書込まれたリードデータ(暗号化済みデータ又は非暗号化データ)を、読出し要求の送信元のホスト計算機100に送信する。
ステップ909で、ホストI/F311が、エラー処理を実行する。例えば、ホストI/F311は、読出し要求の送信元のホスト計算機100に、エラーを応答する。
図11は、論理ユニットに格納済みの非暗号化データを暗号化する処理である格納データ暗号化処理の流れの一例を示す。この格納データ暗号化処理は、例えば、SVP317が管理端末600から格納データ暗号化処理指示を受けた場合に開始される。格納データ暗号化処理指示では、例えば、モジュールID4611、暗号化/復号化方式名4612、鍵名4613及び暗号化対象4614とが指定されている。そのモジュールID4614から識別される暗号化/復号化モジュール400を、この図11の説明で「対象モジュール400」と呼ぶ。
ステップ1001で、SVP317は、指定された暗号化対象4614から、暗号化が必要となるデータを記憶しているLU322を特定する。例えば、暗号化対象4614がLUN46145であれば、そのLUN46145からLU322が特定され、暗号化対象4614がポートID46143であれば、そのポートID46143に対応したLUNが図示しない構成情報(例えば共有メモリ312に記憶されている)から特定され、そのLUNからLU322が特定される。
ステップ1002で、SVP317は、特定されたLU322からデータ(非暗号化データ)を読み出すことをディスクI/F311に指示し、ディスクI/F311が、その指示に応答して、そのLU322からデータ(非暗号化データ)を読出し、キャッシュメモリ316に書込む。SVP317が、暗号化指示と、キャッシュメモリ316上のデータ(非暗号化データ)を、対象モジュール400に送信する。また、SVP317は、指定されているモジュールID4611、暗号化/復号化方式名4612、鍵名4613及び暗号化対象4614を、対象モジュール400に送信する。
ステップ1003で、対象モジュール400内のモジュール制御部420は、暗号化指示に応答して、SVP317からのデータ(非暗号化データ)を入出力バッファ490に書込み、SVP317からのモジュールID4611、暗号化/復号化方式名4612、鍵名4613及び暗号化対象4614で構成されるレコードを鍵マッピングテーブル461に追記する。そして、モジュール制御部420は追記したレコードを基に、入出力バッファ490に書込まれたデータ(非暗号化データ)を暗号化/復号化エンジン470に暗号化させる。暗号化/復号化エンジン470による暗号化済みデータは、入出力バッファ490に一時記憶された後、キャッシュメモリ316に転送され記憶される。キャッシュメモリ316に記憶された暗号化済みデータは、それの暗号化前のデータの読出し元のLU322に書き込まれる。なお、暗号化済みデータは、別のLU322に書き込まれても良い。その場合には、例えば、ストレージシステム300において、読出し元のLU322のLUNと、その別のLU322のLUNとが交換されても良い。
ステップ1002及び1003は、ステップ1001で特定された各LU322について行われる。
以上が、格納データ暗号化処理の説明である。なお、格納データ暗号化処理において、SVP317が行う処理の一部又は全部を、暗号化/復号化モジュール400が、単独で、或いは、SVP317と協働して行っても良い。
図12は、暗号化/復号化方式の変更処理の概要を示す。図13は、暗号化/復号化方式の変更処理の流れの一例を示す。以下、図12及び図13を参照して、暗号化/復号化方式の変更処理を説明する。
ステップ1101で、第一の暗号化/復号化モジュール400Aの他に、第二の暗号化/復号化モジュール400Bが新たに接続される。以下の説明では、第一の暗号化/復号化モジュール400Aには、第一の暗号化/復号化方式でデータを暗号化/復号化する第一の暗号化/復号化エンジン470Aと、第一の鍵462Aと、鍵マッピングテーブル461とが記憶されているとし、第二の暗号化/復号化モジュール400Bには、第二の暗号化/復号化方式でデータを暗号化/復号化する第二の暗号化/復号化エンジン470Bと、第二の鍵462Bと、鍵マッピングテーブル461とが記憶されているとする。また、第一の暗号化/復号化方式よりも第二の暗号化/復号化方式の方が新しいタイプの暗号化/復号化方式であるとする。また、第一の暗号化/復号化方式で暗号化されているデータを「第一の暗号化済みデータ」と呼び、第二の暗号化/復号化方式で暗号化されているデータを「第二の暗号化済みデータ」と呼ぶ。
ステップ1102で、SVP317が、管理端末600から、第一の暗号化/復号化方式による暗号化済みデータを第二の暗号化/復号化方式による暗号化済みデータとすることの方式変更指示を受ける。
ステップ1103で、SVP317が、第一の暗号化/復号化方式と第二の暗号化/復号化方式との互換性の有無を判断する。例えば、同サイズのデータを第一の暗号化/復号化方式で暗号化した場合と第二の暗号化/復号化方式で暗号化した場合とで暗号化済みデータのサイズが異なる場合には、互換性が無いと判断し、一致する場合には、互換性が有ると判断することができる。互換性が無いとの判断になれば、暗号化/復号化方式の変更処理は終了となり、互換性が有るとの判断になれば、ステップ1104に進む。
ステップ1104で、SVP317が、第一の暗号化済みデータが記憶されている論理ユニット322を特定する。具体的には、例えば、SVP317が、第一の暗号化/復号化モジュール400A内の鍵マッピングテーブル461を参照し、第一の暗号化/復号化方式の名称に対応した暗号化対象4614を特定し、その暗号化対象4614を基に、第一の暗号化済みデータが記憶されている論理ユニット322を特定する。
ステップ1105で、SVP317が、ディスクI/F315に、ステップ1104で特定された論理ユニット322からの読み出しを指示する。ディスクI/F315が、その指示に応答して、その特定された論理ユニット322から第一の暗号化済みデータを読出し、それを、キャッシュメモリ316に書込む。SVP317が、復号化指示と、キャッシュメモリ316上の第一の暗号化済みデータとを、第一の暗号化/復号化モジュール400Aに送信する。第一の暗号化/復号化モジュール400Aにおいて、第一の暗号化/復号化エンジン470Aが、第一の暗号化済みデータを、第一の鍵462を用いて第一の暗号化/復号化方式で復号化する。それにより、第一の暗号化済みデータが非暗号化データとされる。非暗号化データは、第一の暗号化/復号化モジュール400Aから出力され、キャッシュメモリ316に書き込まれる。SVP317が、暗号化指示と、キャッシュメモリ316上の非暗号化データとを、第二の暗号化/復号化モジュール400Bに送信する。第二の暗号化/復号化モジュール400Bにおいて、第二の暗号化/復号化エンジン470Bが、その非暗号化データを、第二の鍵462を用いて第二の暗号化/復号化方式で暗号化する。それにより、その非暗号化データが第二の暗号化済みデータとされる。第二の暗号化済みデータは、第二の暗号化/復号化モジュール400Bから出力され、キャッシュメモリ316に書き込まれる。ディスクI/F315が、キャッシュメモリ316上の第二の暗号化済みデータを、ステップ1104で特定された論理ユニット322に書込む。なお、第二の暗号化済みデータの書込み先は、第一の暗号化済みデータが記憶されている論理ユニット322とは別の論理ユニットであっても良い。その場合には、例えば、ストレージシステム300において、第一の暗号化済みデータが記憶されているLU322のLUNと、第二の暗号化済みデータが記憶されるLU322のLUNとが交換されても良い。
ステップ1106で、SVP317が、第一の暗号化/復号化モジュール400A内の鍵マッピングテーブル461に記録されている情報を、第二の暗号化/復号化モジュール400B内の鍵マッピングテーブル461にコピーする(第一の暗号化/復号化モジュール400A内の鍵マッピングテーブル461それ自体が、第二の暗号化/復号化モジュール400Bにコピーされてもよい)。
ステップ1107で、SVP317が、第二の暗号化/復号化モジュール400B内のモジュール制御部420に、暗号化/復号化方式名と鍵名の変更指示を送信する。その変更指示に応答して、第二の暗号化/復号化モジュール400B内のモジュール制御部420が、鍵マッピングテーブル461における、第一の暗号化/復号化方式の名称を第二の暗号化/復号化方式の名称に変更し、第一の鍵462の名称を、第二の鍵462の名称に変更する。
ステップ1108で、SVP317が、ポート−LUマッピングテーブル3121及びLU−ストレージマッピングテーブル3122の各々における、第一の暗号化/復号化モジュール400Aに対応したモジュールID(例えば“モジュールA”)を、第二の暗号化/復号化モジュール400Bに対応したモジュールID(例えば“モジュールB”)に変更する。なお、このステップ1108において、SVP317が、暗号化/暗号化方式を変更することで、暗号化/復号化方式が退行するか否かをチェックし、退行するとの判断になれば(例えば、変更後の暗号化/復号化方式の方が変更前の暗号化/復号化方式よりも旧式であるとの判断になれば)、管理端末600に警告メッセージを送っても良い。
以上が、暗号化/復号化方式の変更処理の説明である。この暗号化/復号化方式の変更処理によれば、論理ユニット322に記憶されている暗号化済みデータ及び今後記憶されるデータの暗号化/復号化方式を、その論理ユニット322を有する一つのストレージシステム300内で、第一の暗号化/暗号化方式から第二の暗号化/復号化方式に変更することができる。そして、その変更を、非暗号化データをストレージシステム300の外に出すことなく行うことができる。
なお、暗号化/復号化方式の変更処理において、SVP317が行う処理の一部又は全部を、第一の暗号化/復号化モジュール400Aが、単独で、或いは、SVP317又は第二の暗号化/復号化モジュール400Bと協働して行っても良いし、第二の暗号化/復号化モジュール400Bが、単独で、或いは、SVP317又は第一の暗号化/復号化モジュール400Bと協働して行っても良い。
図14は、データマイグレーション処理の概要を示す。図15は、データマイグレーション処理の流れの一例を示す。以下、図14及び図15を参照して、暗号化/復号化方式の変更処理を説明する。
第一のストレージシステム(マイグレーション元のストレージシステム)300AにおけるホストI/F311Aのポート3111Aと、第二のストレージシステム(マイグレーション先のストレージシステム)300BにおけるホストI/F311Bのポート3111Bとが、ケーブルで接続される。なお、以下、第一のストレージシステム300Aに存在するSVP317を「第一のSVP317」と呼び、第二のストレージシステム300Bに存在するSVP317を「第二のSVP317」と呼ぶ。
第一のストレージシステム300Aに、第一の暗号化/復号化モジュール400Aが接続されている。第一の暗号化/復号化モジュール400Aには、第一の暗号化/復号化方式での暗号化や復号化を行う第一の暗号化/復号化エンジン470Aと、第一の鍵462Aと、鍵マッピングテーブル461とがある。第一のストレージシステム300Aに存在する全てのLUには、第一の鍵462Aを用いて第一の暗号化/復号化方式を使用して暗号化されたデータである第一の暗号化済みデータが記憶されている。図14には、第一のLU322Aを代表的に示している。
第一のストレージシステム300Aに、第二の暗号化/復号化モジュール400Bが接続される。第二の暗号化/復号化モジュール400Bには、第一の暗号化/復号化方式での暗号化や復号化を行う第一の暗号化/復号化エンジン470Aと、第一の鍵462Aと、鍵マッピングテーブル461とがある。
ステップ1301で、第一のSVP317が、管理端末600から、第一のストレージシステム300Aから第二のストレージシステム300Bへのマイグレーション指示を受ける。
ステップ1302で、第一のSVP317が、そのマイグレーション指示に応答して、第一の暗号化/復号化モジュール400A内の鍵マッピングテーブル461に記録されている情報を、第二の暗号化/復号化モジュール400B内の鍵マッピングテーブル461にコピーする(第一の暗号化/復号化モジュール400A内の鍵マッピングテーブル461それ自体が、第二の暗号化/復号化モジュール400Bにコピーされてもよい)。
ステップ1303で、第一のSVP317が、共有メモリ312に記憶されているポート−LUマッピングテーブル3121及びLU−ストレージマッピングテーブル3122を、第二の暗号化/復号化モジュール400Bにコピーする。
ステップ1304で、第一のSVP317が、第二の暗号化/復号化モジュール400Bに、今回のマイグレーションを識別するための情報であるマイグレーションIDを送信する。第二の暗号化/復号化モジュール400Aにおけるモジュール制御部420が、そのマイグレーションIDを、処理定義記憶部440に書込む。なお、マイグレーションIDは、例えば、認証用の情報として使用することができる(例えば、マイグレーションIDは、認証用のIDとパスワードで構成することができる)。
ステップ1305で、第一のSVP317が、第二のストレージシステム300Bと接続されているポート3111Aに対応した復号化有無31232(復号化制御テーブル3123に記録されている、ポート3111AのポートID31231に対応した復号化有無31232)を、“Yes”から“No”に変更する。
ステップ1306で、第一のストレージシステム300A内の各LUに存在するデータが、第二のストレージシステム300B内の各LUにマイグレーションされる。具体的には、例えば、第一のストレージシステム300A内の各LUと第二のストレージシステム300B内の各LUとの間で各LUペアが形成され、LUペアを構成するLU間で、データがマイグレーションされる。例えば、第一のLU322Aと第二のLU322Bとの間でLUペアが構成されており、第一のLU322Aから第二のLU322Bにデータがマイグレーションされる。
このマイグレーションは、例えば、第一のSVP317が、ポート3111Aに対応した復号化有無31232を“No”に設定した場合に、ホストI/F311Aにマイグレーションを指示することで、開始される。ホストI/F311Aは、その指示に応答して、共有メモリ312に記憶されている図示しないマイグレーション構成情報(例えば、どのLUとどのLUでLUペアが構成されているかを表す情報)を参照し、そのマイグレーション構成情報を基に、マイグレーションを行う。なお、そのマイグレーションでは、データが、ポート3111Aから出力されることになるが、ポート3111Aに対応した復号化有無31232は“No”であるため、ホストI/F311Aは、LU322から読み出された暗号化済みデータを復号化することなく(つまり、第一の暗号化/復号化モジュール400Aに復号化を指示することなく)、第二のストレージシステム300Bに転送する。第二のストレージシステム300Bでは、ホストI/F311Bが、暗号化済みデータを受信する。その暗号化済みデータは、第二のストレージシステム300BおけるLUに記憶される。
ステップ1307で、第一のストレージシステム300Aから第二の暗号化/復号化モジュール400Bが取り外され、第二のストレージシステム300Bに、その第二の暗号化/復号化モジュール400Bが接続される。
ステップ1308で、第二のSVP317が、第二の暗号化/復号化モジュール400Bについて接続認証を行う。なお、接続認証が行われるまでの流れは、図7を参照して説明した通りである。その際、第二のSVP317は、第二の暗号化/復号化モジュール400BにマイグレーションIDが記憶されているか否かを判定し、記憶されている場合には、そのマイグレーションIDに適合する情報(例えば認証用のIDとパスワード)がユーザから入力された場合に、接続認証とすることができる。
ステップ1309で、第二のSVP317が、第二の暗号化/復号化モジュール400Bに記憶されている鍵マッピングテーブル461を基に(例えばそのテーブル461における暗号化対象4614を基に)、第一のストレージシステム300Aにおける第一のLU構成と第二のストレージシステム300Bにおける第二のLU構成との整合性の有無を判定する。整合性が無いとの判定になれば、例えば、第二のSVP317が、第二のSVP317と通信可能な管理端末600に、マイグレーション元とマイグレーション先とでLU構成の整合性が無いことを通知する。整合性が有るとの判定になれば、ステップ1310にすすむ。なお、ステップ1309では、例えば、第一のストレージシステム(移行元のストレージシステム)400Aにおける第一のLU構成に対して、マイグレーション対象のLUのそれぞれについて、第二のストレージシステム(移行先のストレージシステム)400B内に対応するLUが定義されている場合に、整合性が有るとの判定になる。
ステップ1310で、第二のSVP317が、第二の暗号化/復号化モジュール400Bに記憶されているポート−LUマッピングテーブル3121及びLU−ストレージマッピングテーブル3122を、第二のストレージシステム300Bにおける共有メモリ312にロードする。
ステップ1311で、第二のSVP317が、共有メモリ312にロードされたLU−ストレージマッピングテーブル3122におけるディスクID31222及びアドレス31223を、第二のストレージシステム300Bにおける各LU322と各記憶装置321との関係に基づいて変更する。
ステップ1312で、第二のSVP317が、第二の暗号化/復号化モジュール400Bに記憶されているマイグレーションIDを削除する。
以上が、データマイグレーション処理についての説明である。このデータマイグレーション処理によれば、暗号化済みデータの復号化と再暗号化は不要である。また、非暗号化データを第一のストレージシステム300Aの外に出す必要も無い。
なお、上記のデータマイグレーション処理において、第一又は第二のSVP317が行う処理の一部又は全部を、第一又は第二の暗号化/復号化モジュール400A又は400Bが、単独で、或いは、第一又は第二のSVP317或いは第一又は第二の暗号化/復号化モジュール400A又は400Bと協働して行っても良い。
また、上述した、データマイグレーション処理の説明では、説明を分かり易くするために、第一のストレージシステム300Aに存在する全てのLU内のデータが、第一の暗号化/復号化モジュール400Aで暗号化されているデータであるとしている。しかし、第一のストレージシステム300Aに存在する複数のLUには、第一の暗号化/復号化モジュール400Aとは別の暗号化/復号化モジュールを用いて暗号化されたデータを記憶するLUが混在しても良い。この場合には、例えば、第一の暗号化/復号化モジュール400Aと別の暗号化/復号化モジュールのそれぞれについて、鍵マッピングテーブル461のコピーなどが行われる。
また、上述したデータマイグレーション処理において、鍵マッピングテーブル461に加えて、第一の鍵462Aそれ自体も、第一の暗号化/復号化モジュール400Aから第二の暗号化/復号化モジュール400Bにコピーされても良い。また、第一の暗号化/復号化方式を行う第一の暗号化/復号化プログラムが第一の暗号化/復号化モジュール400Aに記憶されているならば、その第一の暗号化/復号化プログラムが、第一の暗号化/復号化モジュール400Aから第二の暗号化/復号化モジュール400Bにコピーされても良い。
また、例えば、暗号化/復号化方式の変更処理と、データマイグレーション処理とが組み合わされても良い。具体的には、例えば、図16Aに示すように、第一のストレージシステム300Aにおいて、暗号化/復号化方式の変更処理が行われた後に(第一の暗号化/復号化モジュール400Aによる第一の暗号化/復号化方式から、第二の暗号化/復号化モジュール400Bによる第二の暗号化/復号化方式に変更された後に)、データマイグレーション処理が行われても良い(例えば、第二の暗号化/復号化モジュール400B内の鍵マッピングテーブル461が第三の暗号化/復号化モジュール400Cにコピーされ、その第三の暗号化/復号化モジュール400が、第一のストレージシステム300Aから取り外されて第二のストレージシステム300Bに接続されても良い)。或いは、例えば、図16Bに示すように、図14及び図15を参照して説明したデータマイグレーション処理が行われた後に、第二のストレージシステム300Bにおいて、暗号化/復号化の変更処理が行われても良い(すなわち、第二の暗号化/復号化モジュール400Bによる第一の暗号化/復号化方式から、第三の暗号化/復号化モジュール400Cによる第二の暗号化/復号化方式に変更されてもよい)。
以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、コネクタ814には、暗号化/復号化モジュール400に限らず、他種の装置、例えば、リムーバブルの記憶装置321が接続されても良い。そのリムーバブルの記憶装置321は、例えば、リペア用、バックアップ用など、種々の用途に使用されても良い。
また、例えば、SVP317が行う処理は、ホストI/F311及び/又はストレージI/F315にあるプロセッサが行っても良い。
また、ストレージシステム300に限らず、他の場所、例えば、ホスト計算機100で暗号化や復号化が行われても良い。すなわち、ホスト計算機との間で入出力されるデータが暗号化済みであって、ストレージシステム300に接続された暗号化/復号化モジュール400で更に暗号化されてもよい。
また、例えば、暗号化/復号化モジュール400が暗号化/復号化エンジン470を備えることに代えて、所定の暗号化/復号化方式で暗号化や復号化を行う暗号化/復号化プログラムが記憶されても良い。この場合、例えば、ストレージ制御部310に存在するプロセッサが、その暗号化/復号化プログラムを実行することで、暗号化/復号化を行っても良い。
また、例えば、SVP317は、暗号化/復号化モジュール400が取り外されたことを検出した場合、図17に例示するように、取り外された暗号化/復号化モジュール400に対応するLU322をテーブル3121及び3122から特定し(ステップ1701)、特定されたLU322に対するアクセスを禁止する(ステップ1702)。そのLU322に書き込まれるデータを暗号化することや、記憶済みの暗号化済みデータを復号化することができなくなってしまうためである。アクセスを禁止する方法としては、例えば、SVP317が、ホストI/F311のメモリ3123に、その特定されたLU322のLUNを記録し、そのホストI/F311が、そのLUNを指定した書込み要求或いは読出し要求をホスト計算機200から受けた場合には、エラーをホスト計算機200に返す方法を採用することができる。
図1は、本発明の一実施形態に係る計算機システムの構成を示す。 図2は、暗号化/復号化モジュールの構成例を示す。 図3は、鍵マッピングテーブルの構成例を示す。 図4は、LU−ストレージマッピングテーブルの構成例を示す。 図5は、ポート−LUマッピングテーブルの構成例を示す。 図6は、復号化制御テーブルの構成例を示す。 図7は、暗号化/復号化モジュールがストレージシステムに物理的に接続された場合に行われる処理の流れの一例を示す。 図8は、鍵設定処理の流れの一例を示す。 図9は、ホスト計算機から受信した書込み要求に応答して行われる書込み処理の流れの一例を示す。 図10は、ホスト計算機から受信した読出し要求に応答して行われる読出し処理の流れの一例を示す。 図11は、格納データ暗号化処理の流れの一例を示す。 図12は、暗号化/復号化方式の変更処理の概要を示す。 図13は、暗号化/復号化方式の変更処理の流れの一例を示す。 図14は、データマイグレーション処理の概要を示す。 図15は、データマイグレーション処理の流れの一例を示す。 図16Aは、暗号化/復号化方式の変更とデータのマイグレーションとの両方が行われる第一の例を示す。図16Bは、暗号化/復号化方式の変更とデータのマイグレーションとの両方が行われる第二の例を示す。 図17は、アクセス制御処理の流れの一例を示す。
符号の説明
100…ホスト計算機 300…ストレージシステム 310…ストレージ制御部 400…暗号化/復号化モジュール

Claims (15)

  1. 記憶装置と、
    リムーバブルな暗号化/復号化モジュールが接続されるコネクタと、
    前記記憶装置へのデータの書込みや記憶装置からのデータの読出しを制御し前記コネクタを有する制御部と
    を備え、
    前記暗号化/復号化モジュールが、データの暗号化や復号化に関わる暗号化/復号化情報を記憶する記憶部を有しており、
    前記制御部と前記暗号化/復号化モジュールの少なくとも一つが、前記暗号化/復号化情報を使用してデータを暗号化し、前記制御部が、その暗号化済みデータを、前記記憶装置に書込み、
    前記制御部が前記記憶装置から暗号化済みデータを読出し、前記制御部と前記暗号化/復号化モジュールの少なくとも一つが、前記読み出された暗号化済みデータを、前記暗号化/復号化情報を使用して復号化する、
    ストレージシステム。
  2. 前記コネクタが複数個存在し、その複数のコネクタに、第一のコネクタと第二のコネクタとが含まれ、
    前記第一のコネクタに、第一の暗号化/復号化モジュールが接続され、
    前記第二のコネクタに、第二の暗号化/復号化モジュールが接続され、
    前記記憶装置が、第一の暗号化/復号化方式による暗号化済みデータを記憶しており、
    前記制御部が、前記記憶装置から暗号化済みデータを読出し、前記制御部と前記第一の暗号化/復号化モジュールの少なくとも一つが、前記読み出された暗号化済みデータを、前記第一の暗号化/復号化方式で復号化し、前記制御部と前記第二の暗号化/復号化モジュールの少なくとも一つが、復号化されたデータを、第二の暗号化/復号化方式で暗号化し、前記制御部が、暗号化済みデータを、前記記憶装置又はそれとは別の記憶装置に書込む、
    請求項1記載のストレージシステム。
  3. 前記第一の暗号化/復号化モジュールが有する第一の暗号化/復号化情報に、第一の鍵情報が含まれ、
    前記第二の暗号化/復号化モジュールが有する第二の暗号化/復号化情報に、第二の鍵情報が含まれ、
    前記記憶装置に記憶されている前記暗号化済みデータは、前記第一の暗号化/復号化方式で前記第一の鍵情報を使用して暗号化されたデータであり、
    前記制御部と前記第一の暗号化/復号化モジュールの少なくとも一つが、前記読み出された暗号化済みデータを、前記第一の鍵情報を使用して前記第一の暗号化/復号化方式で復号化し、前記制御部と前記第二の暗号化/復号化モジュールの少なくとも一つが、復号化されたデータを、前記第二の鍵情報を使用して前記第二の暗号化/復号化方式で暗号化する、
    請求項2記載のストレージシステム。
  4. 記憶装置が複数個有り、
    前記第一の暗号化/復号化情報に、更に、鍵管理情報が含まれ、前記鍵管理情報は、前記第一の鍵情報を識別するための情報である第一の鍵IDと、記憶装置又は記憶装置が対応付けられている要素を表す暗号化対象要素情報との対応を表し、
    前記制御部、前記第一の暗号化/復号化モジュール及び第二の暗号化/復号化モジュールの少なくとも一つが、前記第一の暗号化/復号化モジュールの記憶部から前記第二の暗号化/復号化モジュールの記憶部に前記第一の鍵管理情報をコピーし、
    前記制御部と前記第二の暗号化/復号化モジュールの少なくとも一つが、コピーされた前記鍵管理情報における前記第一の鍵IDを、前記第二の鍵情報を識別するための情報である第二の鍵IDに更新する、
    請求項3記載のストレージシステム。
  5. 前記制御部、前記第一の暗号化/復号化モジュール及び第二の暗号化/復号化モジュールの少なくとも一つが、前記第一の暗号化/復号化方式と前記第二の暗号化/復号化方式との互換性の有無を判断し、互換性が有るとの判断になれば、前記制御部と前記第一の暗号化/復号化モジュールとの少なくとも一方が、前記第一の暗号化/復号化方式での復号化を行うが、互換性が無いとの判断になれば、その復号化を行わない、
    請求項2記載のストレージシステム。
  6. 前記互換性の有無とは、或るデータサイズのデータを前記第一の暗号化/復号化方式で暗号化した場合と前記第二の暗号化/復号化方式で暗号化した場合とで暗号化済みデータのデータサイズに差が有るか否かである、
    請求項5記載のストレージシステム。
  7. 前記制御部が、変更後の暗号化/復号化方式である前記第二の暗号化/復号化方式が、変更前の暗号化/復号化方式である前記第一の暗号化/復号化方式よりも旧式か否かを判断し、旧式との判断になった場合に、警告を出す、
    請求項2記載のストレージシステム。
  8. 前記コネクタが複数個存在し、その複数のコネクタに、第一のコネクタと第二のコネクタとが含まれ、
    前記第一のコネクタに、第一の暗号化/復号化モジュールが接続され、
    前記第二のコネクタに、第二の暗号化/復号化モジュールが接続され、
    前記記憶装置が、前記暗号化/復号化情報を使用して暗号化されたデータである暗号化済みデータを記憶しており、
    前記制御部、前記第一の暗号化/復号化モジュール及び第二の暗号化/復号化モジュールの少なくとも一つが、前記暗号化/復号化情報の全部又は一部を前記第一の暗号化/復号化モジュールから前記第二の暗号化/復号化モジュールにコピーし、
    前記制御部が、前記記憶装置から暗号化済みデータを読出し、その暗号化済みデータを、復号化することなく、マイグレーション先のストレージシステムに送信する、
    請求項1記載のストレージシステム。
  9. 記憶装置が複数個有り、
    前記暗号化/復号化情報には、鍵情報と、鍵管理情報が含まれており、前記鍵管理情報は、前記鍵情報を識別するための情報である鍵IDと、記憶装置又は記憶装置が対応付けられている要素を表す暗号化対象要素情報との対応を表し、
    コピーされる前記暗号化/復号化情報の一部とは、前記鍵管理情報である、
    請求項8記載のストレージシステム。
  10. 前記暗号化/復号化モジュールが、認証情報を記憶する認証情報記憶部を更に有し、
    前記制御部と前記暗号化/復号化モジュールとの少なくとも一つが、前記認証情報を用いてその暗号化/復号化モジュールの使用の許否を判断し、
    前記第一の暗号化/復号化モジュールは、前記許否の判断において、前記ストレージシステムでの使用を許可すると判断されたモジュールであり、
    前記第二の暗号化/復号化モジュールは、前記許否の判断において、前記暗号化/復号化情報をコピーするために前記前記ストレージシステムでの使用を一時的に許可すると判断されたモジュールである、
    請求項8記載のストレージシステム。
  11. 前記制御部が、前記コネクタから前記暗号化/復号化モジュールが取外されたことを検出した場合、前記記憶装置へのアクセスを禁止する、
    請求項1記載のストレージシステム。
  12. 前記コネクタは、リムーバブルな記憶装置も接続可能に構成されている、
    請求項1記載のストレージシステム。
  13. 前記暗号化/復号化モジュールが、暗号化及び復号化を行う暗号化/復号化エンジンを更に備える、
    請求項1記載のストレージシステム。
  14. 前記コネクタ及び前記記憶装置がそれぞれ複数個存在し、
    暗号化/復号化管理情報を記憶する管理記憶部を更に備え、前記暗号化/復号化管理情報は、暗号化/復号化モジュールを識別するための情報であるモジュールIDと、記憶装置又は記憶装置が対応付けられている要素を表す暗号化対象要素情報との対応を表し、
    前記制御部が、アクセス先の記憶装置に関わる暗号化対象情報要素に対応したモジュールIDを前記暗号化/復号化管理情報から特定し、特定されたモジュールIDから識別される暗号化/復号化モジュールが、前記アクセス先の記憶装置に書き込まれるデータを暗号化する、或いは、前記アクセス先の記憶装置から読み出された暗号化済みデータを復号化する、
    請求項1記載のストレージシステム。
  15. 記憶装置と、
    リムーバブルな暗号化/復号化モジュールが接続されるコネクタと、
    前記記憶装置へのデータの書込みや記憶装置からのデータの読出しを制御し前記コネクタを有する制御部と
    を備え、
    前記暗号化/復号化モジュールが、所定の暗号化/復号化方式で暗号化や復号化を行う暗号化/復号化エンジンを有し、
    前記暗号化/復号化エンジンが、データを暗号化し、前記制御部が、その暗号化済みデータを、前記記憶装置に書込み、
    前記制御部が前記記憶装置から暗号化済みデータを読出し、前記暗号化/復号化エンジンが、前記読み出された暗号化済みデータを、前記暗号化/復号化情報を使用して復号化する、
    ストレージシステム。
JP2007195463A 2007-07-27 2007-07-27 リムーバブルな暗号化/復号化モジュールが接続されるストレージシステム Pending JP2009032038A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007195463A JP2009032038A (ja) 2007-07-27 2007-07-27 リムーバブルな暗号化/復号化モジュールが接続されるストレージシステム
US11/969,394 US8533494B2 (en) 2007-07-27 2008-01-04 Storage system to which removable encryption/decryption module is connected

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007195463A JP2009032038A (ja) 2007-07-27 2007-07-27 リムーバブルな暗号化/復号化モジュールが接続されるストレージシステム

Publications (1)

Publication Number Publication Date
JP2009032038A true JP2009032038A (ja) 2009-02-12

Family

ID=40402472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007195463A Pending JP2009032038A (ja) 2007-07-27 2007-07-27 リムーバブルな暗号化/復号化モジュールが接続されるストレージシステム

Country Status (2)

Country Link
US (1) US8533494B2 (ja)
JP (1) JP2009032038A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257045A (ja) * 2009-04-22 2010-11-11 Hitachi Ltd 暗号化/復号化機能を有するストレージシステムを制御する計算機
CN107169381A (zh) * 2016-03-08 2017-09-15 佳能株式会社 信息处理装置及对装置中安装加密单元进行辨别的方法
KR102337810B1 (ko) * 2021-08-03 2021-12-09 (주)위버시스템즈 클라우드 인프라 프로바이더 및 서비스 템플릿 관리 시스템
CN114329650A (zh) * 2021-12-29 2022-04-12 北京安天网络安全技术有限公司 一种移动存储设备
JP2023081676A (ja) * 2021-12-01 2023-06-13 株式会社日立製作所 ストレージシステム及びデータ処理方法

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8261068B1 (en) * 2008-09-30 2012-09-04 Emc Corporation Systems and methods for selective encryption of operating system metadata for host-based encryption of data at rest on a logical unit
US20090282194A1 (en) * 2008-05-07 2009-11-12 Masashi Nagashima Removable storage accelerator device
US8782433B2 (en) * 2008-09-10 2014-07-15 Inside Secure Data security
FR2940566B1 (fr) * 2008-12-18 2011-03-18 Electricite De France Procede et dispositif de transfert securise de donnees numeriques
US9734356B2 (en) * 2009-06-29 2017-08-15 Clevx, Llc Encrypting portable media system and method of operation thereof
US8977865B2 (en) 2010-05-25 2015-03-10 Microsoft Technology Licensing, Llc Data encryption conversion for independent agents
US8812860B1 (en) * 2010-12-03 2014-08-19 Symantec Corporation Systems and methods for protecting data stored on removable storage devices by requiring external user authentication
US20120221767A1 (en) 2011-02-28 2012-08-30 Apple Inc. Efficient buffering for a system having non-volatile memory
US20120303533A1 (en) 2011-05-26 2012-11-29 Michael Collins Pinkus System and method for securing, distributing and enforcing for-hire vehicle operating parameters
JP5909503B2 (ja) * 2011-06-30 2016-04-26 株式会社日立製作所 計算機システム、アクセス制限方法及びストレージ装置
JP2013045378A (ja) * 2011-08-26 2013-03-04 Fujitsu Ltd ストレージ制御方法、情報処理装置およびプログラム
JP2013045379A (ja) * 2011-08-26 2013-03-04 Fujitsu Ltd ストレージ制御方法、情報処理装置およびプログラム
US20130060721A1 (en) 2011-09-02 2013-03-07 Frias Transportation Infrastructure, Llc Systems and methods for pairing of for-hire vehicle meters and medallions
US20130253999A1 (en) 2012-03-22 2013-09-26 Frias Transportation Infrastructure Llc Transaction and communication system and method for vendors and promoters
US9369274B2 (en) * 2012-07-06 2016-06-14 International Business Machines Corporation Cipher text translation
US9684593B1 (en) * 2012-11-30 2017-06-20 EMC IP Holding Company LLC Techniques using an encryption tier property with application hinting and I/O tagging
US9355279B1 (en) * 2013-03-29 2016-05-31 Secturion Systems, Inc. Multi-tenancy architecture
US9317718B1 (en) 2013-03-29 2016-04-19 Secturion Systems, Inc. Security device with programmable systolic-matrix cryptographic module and programmable input/output interface
US9720848B2 (en) * 2013-07-08 2017-08-01 Hitachi, Ltd. Storage device and control method for storage device
EP3074907B1 (en) * 2013-11-27 2020-07-15 British Telecommunications public limited company Controlled storage device access
US10380385B1 (en) 2014-02-04 2019-08-13 Seagate Technology Llc Visual security device
US10061611B2 (en) * 2015-08-28 2018-08-28 Vmware, Inc. Virtual machine migration within a hybrid cloud system
US11283774B2 (en) 2015-09-17 2022-03-22 Secturion Systems, Inc. Cloud storage using encryption gateway with certificate authority identification
WO2019043717A1 (en) 2017-09-04 2019-03-07 Kaminario Technologies Ltd. SECURE ACCESS CONTROL IN A STORAGE SYSTEM
US10963295B2 (en) * 2017-09-08 2021-03-30 Oracle International Corporation Hardware accelerated data processing operations for storage data
US12450372B2 (en) * 2020-10-12 2025-10-21 T-Mobile Usa, Inc. Host-based hardware encryption system
CN114722115B (zh) * 2022-02-15 2025-01-24 阿里巴巴(中国)有限公司 数据库操作方法和全加密数据库

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
JP4669708B2 (ja) 2005-02-16 2011-04-13 株式会社日立製作所 ストレージシステム、データ移動方法及び管理計算機
JP2006333095A (ja) * 2005-05-26 2006-12-07 Hiromi Fukaya 暗号通信方法、暗号通信システム、暗号通信装置及び暗号通信プログラム
JP4728060B2 (ja) 2005-07-21 2011-07-20 株式会社日立製作所 ストレージ装置
US20090046858A1 (en) * 2007-03-21 2009-02-19 Technology Properties Limited System and Method of Data Encryption and Data Access of a Set of Storage Devices via a Hardware Key

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257045A (ja) * 2009-04-22 2010-11-11 Hitachi Ltd 暗号化/復号化機能を有するストレージシステムを制御する計算機
CN107169381A (zh) * 2016-03-08 2017-09-15 佳能株式会社 信息处理装置及对装置中安装加密单元进行辨别的方法
US10515221B2 (en) 2016-03-08 2019-12-24 Canon Kabushiki Kaisha Information processing apparatus, method of distinguishing mounting of encryption unit in information processing apparatus, and storage medium
KR102337810B1 (ko) * 2021-08-03 2021-12-09 (주)위버시스템즈 클라우드 인프라 프로바이더 및 서비스 템플릿 관리 시스템
JP2023081676A (ja) * 2021-12-01 2023-06-13 株式会社日立製作所 ストレージシステム及びデータ処理方法
JP7431791B2 (ja) 2021-12-01 2024-02-15 株式会社日立製作所 ストレージシステム及びデータ処理方法
CN114329650A (zh) * 2021-12-29 2022-04-12 北京安天网络安全技术有限公司 一种移动存储设备

Also Published As

Publication number Publication date
US8533494B2 (en) 2013-09-10
US20100031056A1 (en) 2010-02-04

Similar Documents

Publication Publication Date Title
JP2009032038A (ja) リムーバブルな暗号化/復号化モジュールが接続されるストレージシステム
US8423796B2 (en) Storage device and data processing method of storage device
US8422677B2 (en) Storage virtualization apparatus comprising encryption functions
US8041959B2 (en) Computer system, storage system and management computer for backing up and restore encryption key for storage system incorporating therein a stored data encryption function
US8301909B2 (en) System and method for managing external storage devices
US8200965B2 (en) Storage system for data encryption
US9575685B1 (en) Data migration with source device reuse
US8392682B2 (en) Storage security using cryptographic splitting
US7240197B1 (en) Method and apparatus for encryption and decryption in remote data storage systems
US8170213B1 (en) Methodology for coordinating centralized key management and encryption keys cached through proxied elements
US10007807B2 (en) Simultaneous state-based cryptographic splitting in a secure storage appliance
US20100153703A1 (en) Storage security using cryptographic splitting
US20140129844A1 (en) Storage security using cryptographic splitting
US8750519B2 (en) Data protection system, data protection method, and memory card
US20080101605A1 (en) Storage system provided with an encryption function
US20140108797A1 (en) Storage communities of interest using cryptographic splitting
JP2011517205A (ja) ディスクドライブデータの暗号化
US20090177895A1 (en) Controller for controlling logical volume-related settings
US20100161981A1 (en) Storage communities of interest using cryptographic splitting
AU2018236853A1 (en) Storage security using cryptographic splitting
US20100169662A1 (en) Simultaneous state-based cryptographic splitting in a secure storage appliance
JP2009187237A (ja) スナップショットを管理する記憶制御装置及び方法
US20100161964A1 (en) Storage communities of interest using cryptographic splitting
US7568051B1 (en) Flexible UCB
US20100275264A1 (en) Computer for controlling storage system provided with encryption/decryption function