JP2008269173A - 計算機システム、ストレージシステムおよびデータ管理方法 - Google Patents

計算機システム、ストレージシステムおよびデータ管理方法 Download PDF

Info

Publication number
JP2008269173A
JP2008269173A JP2007109651A JP2007109651A JP2008269173A JP 2008269173 A JP2008269173 A JP 2008269173A JP 2007109651 A JP2007109651 A JP 2007109651A JP 2007109651 A JP2007109651 A JP 2007109651A JP 2008269173 A JP2008269173 A JP 2008269173A
Authority
JP
Japan
Prior art keywords
data
volume
key
unit
read
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
JP2007109651A
Other languages
English (en)
Inventor
Nobuyuki Osaki
伸之 大崎
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 JP2007109651A priority Critical patent/JP2008269173A/ja
Priority to US12/010,049 priority patent/US8140864B2/en
Priority to EP08250358A priority patent/EP1983462A3/en
Publication of JP2008269173A publication Critical patent/JP2008269173A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F21/80Protecting 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 in storage media based on magnetic or optical technology, e.g. disks with sectors
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】本発明は、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合におけるホスト計算機側の処理負荷を軽減させる。
【解決手段】計算機システム10は、ホスト計算機20側に設けられたホスト側暗号コントローラ214と、ストレージシステム30側に設けられたボリューム管理コントローラ314とを備え、アクセスデータを暗復号化する鍵データを更新する鍵変更をホスト側暗号コントローラ214で実施した場合、ボリューム390に保存されたボリュームデータの再暗号化をボリューム管理コントローラ314で実施する。
【選択図】図1

Description

本発明は、計算機システムで保存されるデータを管理するストレージ技術に関し、特に、データの暗号化および復号化に用いられる鍵データ(Key)を変更する鍵変更(Rekey)技術に関する。
従来、ホスト計算機とストレージシステムとをネットワーク経由で接続した計算機システムにおいて、データを暗号化および復号化する暗復号化処理の方式としては、ホスト計算機側で暗復号化処理を行う方式と、ストレージシステム側で暗復号化処理を行う方式とがあった。ホスト計算機側での暗復号化処理は、ネットワーク上からストレージシステム内に至るまでデータが暗号化されるため、情報漏洩に対するセキュリティ上、ストレージシステム側での暗復号化処理より有利である。
また、情報漏洩に対するセキュリティを向上させるために、暗復号化処理に用いられる鍵データを変更する鍵変更が行われる場合がある。下記特許文献1には、鍵変更に関する技術として、ボリュームに記憶されている古い鍵データで暗号化されたデータを、新しい鍵データで暗号化し直す暗号変換処理を実行しながら、そのボリュームに対するデータアクセスを処理する技術が開示されている。
特開2005−303981号公報
情報漏洩に対するセキュリティ上、暗復号化処理をストレージシステム側よりもホスト計算機側で行う方が有利であるが、鍵変更を実行する場合、暗復号化処理および暗号変換処理をホスト計算機側で実行するため、ホスト計算機側の処理負荷が過大になってしまうという問題があった。
本発明は、上記した課題を踏まえ、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合におけるホスト計算機側の処理負荷を軽減させることができるストレージ技術を提供することを目的とする。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
[適用例1] データを処理するホスト計算機と、前記ホスト計算機からネットワーク経由で一連のブロックアドレスを指定してアクセス可能なボリュームを有するストレージシステムとを備える計算機システムであって、更に、前記ホスト計算機から前記ネットワーク経由で前記ボリュームに至るアクセス経路における前記ネットワークよりも前記ホスト計算機側に設けられ、該アクセス経路を通過するデータの暗号化および復号化を制御するホスト側暗号コントローラと、前記ストレージシステムに設けられ、前記ボリュームに記憶されたデータを管理するボリューム管理コントローラと、を備え、前記ホスト側暗号コントローラは、データの暗号化および復号化に用いられる鍵データを記憶するホスト側鍵データ記憶部と、前記ホスト計算機から前記ストレージシステムに対するライトコマンドによって前記ボリュームに書き込み要求されるデータが、前記ホスト計算機から前記ネットワーク経由で前記ボリュームに転送される場合、該データが前記ネットワーク上で転送される前に、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて暗号化するホスト側暗号化部と、前記ホスト計算機から前記ストレージシステムに対するリードコマンドによって前記ボリュームから読み出し要求されるデータが、前記ボリュームから前記ネットワーク経由で前記ホスト計算機に転送される場合、該データが前記ネットワーク上で転送された後で、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて復号化するホスト側復号化部と、前記鍵データ記憶部に記憶された鍵データを、第1の鍵データから第2の鍵データに変更する鍵変更部と、前記鍵変更部によって前記第1の鍵データが前記第2の鍵データに変更される場合、前記第1および2の鍵データを含み該鍵データの変更を示す鍵変更コマンドを、前記ボリューム管理コントローラに送信する鍵変更コマンド送信部とを含み、前記ボリューム管理コントローラは、前記鍵変更コマンド送信部によって送信された鍵変更コマンドを受信する鍵変更コマンド受信部と、前記鍵変更コマンド受信部によって受信された鍵変更コマンドに含まれる第1および2の鍵データを記憶するボリューム側鍵データ記憶部と、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記ボリュームに記憶されたデータのうち前記第1の鍵データで暗号化されたデータを読み出す変換リード部と、前記変換リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて復号化する変換復号化部と、前記変換復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて暗号化する変換暗号化部と、前記変換暗号化部によって第2の鍵データで暗号化されたデータを、前記変換リード部によって元のデータが読み出された元のブロックアドレスに書き込む変換ライト部とを含む計算機システム。
適用例1記載の計算機システムによれば、ホスト計算機とボリュームとの間でやり取りされるアクセスデータの暗復号化をホスト計算機側で実行し、そのアクセスデータの暗復号化に用いられる鍵データを変更する場合、ボリュームに保存されたボリュームデータの再暗号化をストレージシステム側で実行することができる。その結果、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合におけるホスト計算機側の処理負荷を軽減させることができる。
本発明の形態は、計算機システムの形態に限るものではなく、例えば、ホスト計算機やストレージシステムなどの計算機システムを構成する各装置の他、これら各装置の機能の少なくとも一部をコンピュータに実現させるためのプログラム、これらのプログラムの少なくとも一部をコンピュータ読み取り可能に記録した記録媒体、データ管理方法などの種々の形態に適用することも可能である。また、本発明は、前述の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
以上説明した本発明の構成および作用を一層明らかにするために、以下本発明を適用した計算機システムについて次の順序で説明する。
A.第1の実施例
A1.計算機システムの構成
A2.計算機システムの動作
A3.効果
B.第2の実施例
C.第3の実施例
D.第4の実施例
E.第5の実施例
F.第6の実施例
G.その他の実施形態
A.第1の実施例:
A1.計算機システムの構成:
図1は、計算機システム10の概略構成を機能的に示す説明図である。計算機システム10は、データを処理するホスト計算機20と、ホスト計算機20からアクセス可能なボリューム390を構成するストレージシステム30とを備える。図1では、図面の簡略化を目的として、ホスト計算機20を一台のみ示すが、計算機システム10は、複数のホスト計算機20を備えても良い。
図1に示すように、計算機システム10は、更に、ホスト計算機20とストレージシステム30との間を相互に通信可能に接続するストレージネットワーク92および管理ネットワーク94を備える。本実施例では、ストレージネットワーク92は、ボリューム390に対してアクセスするためのデータ通信に用いられ、管理ネットワーク94は、計算機システム10を管理するための権限が与えられたデータ通信に用いられる。本実施例では、ストレージネットワーク92および管理ネットワーク94は、それぞれ別のネットワークとして構成されているが、他の実施形態として、ストレージネットワーク92および管理ネットワーク94は、単一のネットワークとして構成されても良い。本実施例では、ストレージネットワーク92および管理ネットワーク94で、TCP/IP(Transmission Control Protocol / Internet Protocol)に準拠したデータ通信が行われる。本実施例では、ストレージネットワーク92で、TCP/IPを利用して、iSCSI(Internet Small Computer System Interface)に準拠したデータ通信が行われるが、他の実施形態として、ファイバチャネル(Fibre Channel, FC)に準拠したデータ通信が行われても良い。
図1に示すように、計算機システム10のホスト計算機20は、データ処理部212と、ホスト側暗号コントローラ214とを備える。ホスト計算機20のデータ処理部212は、ストレージシステム30のボリューム390にアクセスしてデータを処理する。ホスト計算機20のホスト側暗号コントローラ214は、データの暗号化および複号化に用いられる鍵データを保持し、データ処理部212からボリューム390に書き込まれるデータを暗号化すると共に、ボリューム390からデータ処理部212に読み出されるデータを復号化する。これによって、データ処理部212からストレージネットワーク92経由でボリューム390に至るアクセス経路において、ホスト側暗号コントローラ214よりもデータ処理部212側では、暗号化されていない平文データがやり取りされ、ホスト側暗号コントローラ214よりもボリューム390側では、暗号化された暗号データがやり取りされる。ホスト側暗号コントローラ214によってデータの暗号化および複号化に用いられる鍵データが、旧鍵データ901から新鍵データ902に鍵変更される場合、ホスト側暗号コントローラ214は、ホスト側暗号コントローラ214における鍵データが変更されたことを示す鍵変更コマンド910を、管理ネットワーク94を介してストレージシステム30に送信する。これによって、ホスト計算機20側で鍵データが変更されたことが、ストレージシステム30側に通知される。本実施例では、鍵変更コマンド910は、旧鍵データ901および新鍵データ902を含む。ホスト側暗号コントローラ214の動作についての詳細は後述する。
図2は、計算機システム10におけるホスト計算機20の詳細構成を主に示す説明図である。ホスト計算機20は、ホスト計算機20の各部を制御するセントラルプロセッシングユニット(Central Processing Unit、以下、CPUという)210と、CPU210によって取り扱われるデータを記憶するメモリ220と、ストレージネットワーク92を介してストレージシステム30とのデータのやり取りを行うストレージインタフェース232と、管理ネットワーク94を介してストレージシステム30とのデータのやり取りを行う管理インタフェース234と、ユーザからデータ入力を受け付けるユーザインタフェース236とを備える。
ホスト計算機20のメモリ220には、CPU210を動作させるプログラムとして、オペレーティングシステム(Operating System、OS)282の他、アプリケーションプログラム(Application Program)284が記憶される。本実施例では、ホスト計算機20のデータ処理部212は、CPU210がメモリ220を用いてアプリケーションプログラム284に従って動作することによって実現される。本実施例では、ホスト計算機20のホスト側暗号コントローラ214は、CPU210がメモリ220を用いてOS282に従って動作することによって実現されるが、他の実施形態として、アプリケーションプログラム284に従って動作することによって実現されても良い。
図1の説明に戻り、計算機システム10のストレージシステム30は、ボリューム390に加え、ボリューム管理コントローラ314を備える。ストレージシステム30のボリューム管理コントローラ314は、ストレージネットワーク92を介したホスト計算機20からボリューム390に対するデータアクセスに従って、ボリューム390に対してデータの読み書きを実行する。ストレージシステム30がホスト計算機20から鍵変更コマンド910を受信した場合、ボリューム管理コントローラ314は、鍵変更コマンド910に含まれる旧鍵データ901および新鍵データ902を用いて、ボリューム390に保存されている暗号データを、旧鍵データ901で暗号化されたデータから、新鍵データ902で暗号化されたデータに変換する。ボリューム管理コントローラ314は、新鍵データ902で暗号化済みのデータが格納されたアドレスを特定するための変換ポインタ920を用いて、ボリューム390におけるデータの暗号化の変換を管理する。ボリューム管理コントローラ314の動作についての詳細は後述する。
図3は、計算機システム10におけるストレージシステム30の詳細構成を主に示す説明図である。ストレージシステム30は、ストレージシステム30の各部を制御するCPU310と、CPU310によって取り扱われるデータを記憶するメモリ320と、ストレージネットワーク92を介してホスト計算機20とのデータのやり取りを行うストレージインタフェース332と、管理ネットワーク94を介してホスト計算機20とのデータのやり取りを行う管理インタフェース334と、複数のハーディスクドライブ(HDD(Hard Disk Drive))350と、複数のHDD350とのデータのやり取りを行うディスクインタフェース342と、ストレージインタフェース332とディスクインタフェース342との間でやり取りされるデータを一時的に記憶するキャッシュメモリ344とを備える。ストレージシステム30は、CPUおよびメモリ等で構成されたコントローラデバイスと、HDDで構成された記憶デバイス群とを備えるシステムを含む。
ストレージシステム30のメモリ320には、CPU310を動作させるプログラムとして、ストレージ構成プログラム382と、アクセス管理プログラム384と、暗号変換プログラム386とが記憶されている。本実施例では、ストレージシステム30のボリューム管理コントローラ314は、CPU310がメモリ320を用いてアクセス管理プログラム384および暗号変換プログラム386に従って動作することによって実現される。本実施例では、ストレージシステム30のボリューム390は、CPU310がメモリ320を用いてストレージ構成プログラム382に従って複数のHDD350をRAID(Redundant Arrays of Independent (Inexpensive) Disks、レイド)技術で管理することによって論理的に構成される。なお、ボリューム390を構成する記憶デバイスは、HDDに限るものではなく、半導体メモリであっても良く、また、HDDおよび半導体メモリの組み合わせであっても良い。
A2.計算機システムの動作:
図4は、計算機システム10におけるホスト側暗号コントローラ214が実行するライトコマンド処理(ステップS2100)を示すフローチャートである。本実施例では、図4のライトコマンド処理(ステップS2100)は、ホスト計算機20のCPU210によるソフトウェアに基づく動作によって実現される。本実施例では、ボリューム390にデータの書き込みを要求するライト要求がデータ処理部212から送信された場合、ホスト側暗号コントローラ214は、図4のライトコマンド処理(ステップS2100)を開始する。
ホスト側暗号コントローラ214は、図4のライトコマンド処理(ステップS2100)を開始すると、データ処理部212からライト要求を受け付ける(ステップS2110)。本実施例では、データ処理部212から送信されるライト要求は、ボリューム390に書き込むべき暗号化されていない平文データと、そのデータを書き込むべきボリューム390のブロックアドレスを示す書込アドレスとを含む。
ホスト側暗号コントローラ214は、ライト要求を受け付けると(ステップS2110)、ホスト側暗号コントローラ214に保持された鍵データを用いて、ライト要求に含まれる平文データを暗号化する(ステップS2120)。その後、ホスト側暗号コントローラ214は、ライトコマンドを生成する(ステップS2130)。ホスト側暗号コントローラ214によって生成されたライトコマンドは、ライト要求に含まれる平文データを暗号化した暗号データと、ライト要求に含まれる書込アドレスとを含む。ライトコマンドが生成された後(ステップS2130)、ホスト側暗号コントローラ214は、ストレージネットワーク92を介してボリューム管理コントローラ314にライトコマンドを送信する(ステップS2140)。
その後、ホスト側暗号コントローラ214は、ライトコマンドに従ってデータがボリューム390に書込まれたことを示すライト応答を、ボリューム管理コントローラ314から受信する(ステップS2150)。その後、ホスト側暗号コントローラ214は、ボリューム390に対するデータの書き込みが完了したことを示すライト完了応答を、データ処理部212に引き渡す(ステップS2160)。
図5は、計算機システム10におけるホスト側暗号コントローラ214が実行するリードコマンド処理(ステップS2200)を示すフローチャートである。本実施例では、図5のリードコマンド処理(ステップS2200)は、ホスト計算機20のCPU210によるソフトウェアに基づく動作によって実現される。本実施例では、ボリューム390にデータの読み出しを要求するリード要求がデータ処理部212から送信された場合、ホスト側暗号コントローラ214は、図5のリードコマンド処理(ステップS2200)を開始する。
ホスト側暗号コントローラ214は、図5のリードコマンド処理(ステップS2200)を開始すると、データ処理部212からリード要求を受け付ける(ステップS2210)。本実施例では、データ処理部212から送信されるリード要求には、データを読み出すべきボリューム390のブロックアドレスを示す読出アドレスが含まれる。
ホスト側暗号コントローラ214は、リード要求を受け付けると(ステップS2210)、リード要求に含まれる読出アドレスを含むリードコマンドを生成する(ステップS2220)。その後、ホスト側暗号コントローラ214は、ストレージネットワーク92を介してボリューム管理コントローラ314にリードコマンドを送信する(ステップS2230)。
その後、ホスト側暗号コントローラ214は、リードコマンドに従ってボリューム390から読み出された暗号データを含むリード応答を、ボリューム管理コントローラ314から受信する(ステップS2240)。その後、ホスト側暗号コントローラ214は、ホスト側暗号コントローラ214に保持された鍵データを用いて、リード応答に含まれる暗号データを復号化する(ステップS2250)。その後、ホスト側暗号コントローラ214は、リード応答に含まれる暗号データを復号化した平文データを含むリード完了応答を、データ処理部212に引き渡す(ステップS2260)。
図6は、計算機システム10におけるホスト側暗号コントローラ214が実行する鍵更新処理(ステップS2300)を示すフローチャートである。本実施例では、図6の鍵更新処理(ステップS2300)は、ホスト計算機20のCPU210によるソフトウェアに基づく動作によって実現される。本実施例では、鍵データの更新を指示する鍵更新要求がユーザインタフェース236または管理インタフェース234に受信された場合、ホスト側暗号コントローラ214は、図6の鍵更新処理(ステップS2300)を開始する。
ホスト側暗号コントローラ214は、図6の鍵更新処理(ステップS2300)を開始すると、ユーザインタフェース236または管理インタフェース234から鍵更新要求を受け付ける(ステップS2310)。その後、ホスト側暗号コントローラ214は、ライトコマンド処理(ステップS2100)およびリードコマンド処理(ステップS2200)の開始を禁止することによって、データ処理部212からボリューム390に対するアクセスを保留する(ステップS2320)。その後、ホスト側暗号コントローラ214は、鍵更新要求に基づいて新鍵データ902を生成する(ステップS2330)。その後、ホスト側暗号コントローラ214は、旧鍵データ901および新鍵データ902を含む鍵変更コマンド910を生成する(ステップS2340)。その後、ホスト側暗号コントローラ214は、管理ネットワーク94を介してボリューム管理コントローラ314に鍵変更コマンド910を送信する(ステップS2350)。
その後、ホスト側暗号コントローラ214は、ボリューム管理コントローラ314において鍵データの変更に対する準備が整ったことを示すコマンド応答を、ボリューム管理コントローラ314から受信する(ステップS2360)。その後、ボリューム管理コントローラ314は、暗号化および復号化に用いる鍵データを、旧鍵データ901から新鍵データ902へとメモリ220上に設定する(ステップS2370)。その後、ボリューム管理コントローラ314は、ライトコマンド処理(ステップS2100)およびリードコマンド処理(ステップS2200)の開始を許可することによって、データ処理部212からボリューム390に対するアクセスを再開する(ステップS2380)。
図7は、計算機システム10におけるボリューム管理コントローラ314が実行する更新受付処理(ステップS3300)を示すフローチャートである。本実施例では、図7の更新受付処理(ステップS3300)は、ストレージシステム30のCPU310によるソフトウェアに基づく動作によって実現される。本実施例では、鍵変更コマンド910がホスト側暗号コントローラ214から送信された場合(ステップS2350)、ボリューム管理コントローラ314は、図7の更新受付処理(ステップS3300)を開始する。
ボリューム管理コントローラ314は、図7の更新受付処理(ステップS3300)を開始すると、管理インタフェース334から鍵変更コマンド910を受け付ける(ステップS3310)。その後、ボリューム管理コントローラ314は、鍵変更コマンド910に含まれる旧鍵データ901および新鍵データ902を、メモリ320上に設定する(ステップS3320)。その後、ボリューム管理コントローラ314は、ボリューム390に割り当てられた一連のブロックアドレスのうちの先頭アドレスを変換ポインタ920に格納することによって、変換ポインタ920を初期設定する(ステップS3330)。その後、ボリューム管理コントローラ314は、後述する暗号変換処理(ステップS3400)を開始する(ステップS3340)。その後、ボリューム管理コントローラ314は、鍵データの変更に対する準備が整ったことを示すコマンド応答を、ホスト側暗号コントローラ214に送信する(ステップS3350)。
図8は、計算機システム10におけるボリューム管理コントローラ314が実行する暗号変換処理(ステップS3400)を示すフローチャートである。本実施例では、図8の暗号変換処理(ステップS3400)は、ストレージシステム30のCPU310によるソフトウェアに基づく動作によって実現される。本実施例では、ボリューム管理コントローラ314は、前述の更新受付処理(ステップS3340)を契機に、図8の暗号変換処理(ステップS3400)を開始する。
ボリューム管理コントローラ314は、図8の暗号変換処理(ステップS3400)を開始すると、ボリューム390に割り当てられた一連のブロックアドレスのうち変換ポインタ920が示すブロックアドレスから、旧鍵データ901で暗号化された旧暗号データを読み出す(ステップS3410)。その後、ボリューム管理コントローラ314は、ボリューム390から読み出した旧暗号データを、ボリューム管理コントローラ314に保持された旧鍵データ901を用いて復号化する(ステップS3420)。その後、ボリューム管理コントローラ314は、旧鍵データ901で復号化した平文データを、ボリューム管理コントローラ314に保持された新鍵データ902を用いて暗号化する(ステップS3430)。その後、ボリューム管理コントローラ314は、新鍵データ902で暗号化した新暗号データを、旧暗号データを読み出した元のブロックアドレスに書込む(ステップS3440)。
その後、ボリューム管理コントローラ314は、変換ポインタ920の値をボリューム390の最終アドレスになるまでインクリメントしながら(ステップS3460)、旧暗号データの読み出しから新暗号データの書き込みまでの処理(ステップS3410〜S3440)を繰り返し実行する(ステップS3450)。ボリューム管理コントローラ314は、ボリューム390に保存された全てのデータを旧暗号データから新暗号データに変換すると(ステップS3450)、旧鍵データ901および新鍵データ902をメモリ320上から削除する(ステップS3480)。
図9は、計算機システム10におけるボリューム管理コントローラ314が実行するライト実行処理(ステップS3100)を示すフローチャートである。本実施例では、図9のライト実行処理(ステップS3100)は、ストレージシステム30のCPU310によるソフトウェアに基づく動作によって実現される。本実施例では、ライトコマンドがホスト側暗号コントローラ214から送信された場合(図4のステップS2140)、ボリューム管理コントローラ314は、図9のライト実行処理(ステップS3100)を開始する。ボリューム管理コントローラ314は、図9のライト実行処理(ステップS3100)を開始すると、ストレージインタフェース332からライトコマンドを受け付ける(ステップS3110)。
前述した暗号変換処理(図8,ステップS3400)がライトコマンドの受付時に実行中でない場合、ボリューム管理コントローラ314は、ライトコマンドに含まれる暗号データを、ボリューム390に割り当てられた一連のブロックアドレスのうちライトコマンドで指定された書込アドレスに書き込む(ステップS3130)。
前述した暗号変換処理(図8,ステップS3400)がライトコマンドの受付時に実行中である場合であって、ライトコマンドで指定された書込アドレスが変換ポインタ920の値よりも先行するアドレスである場合、すなわち、書込アドレスに保存された暗号データが旧暗号データから新暗号データに変換済みである場合(ステップS3140)、ボリューム管理コントローラ314は、ライトコマンドに含まれる暗号データを、ボリューム390に割り当てられた一連のブロックアドレスのうちライトコマンドで指定された書込アドレスに書き込む(ステップS3130)。
前述した暗号変換処理(図8,ステップS3400)がライトコマンドの受付時に実行中である場合であって、ライトコマンドで指定された書込アドレスが変換ポインタ920の値に後続するアドレスである場合、すなわち、書込アドレスに保存された暗号データが旧暗号データから新暗号データに変換されていない場合(ステップS3140)、ボリューム管理コントローラ314は、ライトコマンドに含まれる暗号データを、ボリューム管理コントローラ314に保持された新鍵データ902を用いて復号化する(ステップS3150)。その後、ボリューム管理コントローラ314は、新鍵データ902で復号化した平文データを、ボリューム管理コントローラ314に保持された旧鍵データ901を用いて暗号化する(ステップS3160)。その後、ボリューム管理コントローラ314は、旧鍵データ901で暗号化した暗号データを、ボリューム390に割り当てられた一連のブロックアドレスのうちライトコマンドで指定された書込アドレスに書き込む(ステップS3170)。
ボリューム管理コントローラ314は、ライトコマンドに基づいてボリューム390にデータを書き込むと(ステップS3130,S3170)、ライトコマンドに従ってデータがボリューム390に書き込まれたことを示すライト応答を、ホスト側暗号コントローラ214に送信する(ステップS3180)。
図10は、計算機システム10におけるボリューム管理コントローラ314が実行するリード実行処理(ステップS3200)を示すフローチャートである。本実施例では、図10のリード実行処理(ステップS3200)は、ストレージシステム30のCPU310によるソフトウェアに基づく動作によって実現される。本実施例では、リードコマンドがホスト側暗号コントローラ214から送信された場合(図5のステップS2230)、ボリューム管理コントローラ314は、図10のリード実行処理(ステップS3200)を開始する。ボリューム管理コントローラ314は、図10のリード実行処理(ステップS3200)を開始すると、ストレージインタフェース332からリードコマンドを受け付ける(ステップS3210)。
前述した暗号変換処理(図8,ステップS3400)がリードコマンドの受付時に実行中でない場合、ボリューム管理コントローラ314は、ボリューム390に割り当てられた一連のブロックアドレスのうちリードコマンドで指定された読出アドレスから、暗号データを読み出す(ステップS3230)。その後、ボリューム管理コントローラ314は、リードコマンドに基づいてボリューム390から読み出した暗号データを、リードコマンドに応答するための応答データとしてキャッシュメモリ344に準備する(ステップS3235)。
前述した暗号変換処理(図8,ステップS3400)がリードコマンドの受付時に実行中である場合であって、リードコマンドで指定された読出アドレスが変換ポインタ920の値よりも先行するアドレスである場合、すなわち、読出アドレスに保存された暗号データが旧暗号データから新暗号データに変換済みである場合(ステップS3240)、ボリューム管理コントローラ314は、ボリューム390に割り当てられた一連のブロックアドレスのうちリードコマンドで指定された読出アドレスから、暗号データを読み出す(ステップS3230)。その後、ボリューム管理コントローラ314は、リードコマンドに基づいてボリューム390から読み出した暗号データを、リードコマンドに応答するための応答データとしてキャッシュメモリ344に準備する(ステップS3235)。
前述した暗号変換処理(図8,ステップS3400)がリードコマンドの受付時に実行中である場合であって、リードコマンドで指定された読出アドレスが変換ポインタ920の値に後続するアドレスである場合、すなわち、読出アドレスに保存された暗号データが旧暗号データから新暗号データに変換されていない場合(ステップS3240)、ボリューム管理コントローラ314は、ボリューム390に割り当てられた一連のブロックアドレスのうちリードコマンドで指定された読出アドレスから、暗号データを読み出す(ステップS3250)。その後、ボリューム管理コントローラ314は、リードコマンドに基づいてボリューム390から読み出した暗号データを、ボリューム管理コントローラ314に保持された旧鍵データ901を用いて復号化する(ステップS3260)。その後、ボリューム管理コントローラ314は、旧鍵データ901で復号化した平文データを、ボリューム管理コントローラ314に保持された新鍵データ902を用いて暗号化する(ステップS3270)。その後、ボリューム管理コントローラ314は、新鍵データ902で暗号化した暗号データを、リードコマンドに応答するための応答データとしてキャッシュメモリ344に準備する(ステップS3275)。
ボリューム管理コントローラ314は、リードコマンドに基づいてボリューム390からデータを読み出すと(ステップS3235,S3275)、キャッシュメモリ344に準備された応答データを含むリード応答を、ホスト側暗号コントローラ214に送信する(ステップS3280)。
A3.効果:
以上説明した計算機システム10によれば、ホスト計算機20とボリューム390との間でやり取りされるアクセスデータの暗復号化をホスト計算機20側で実行し、そのアクセスデータの暗復号化に用いられる鍵データを変更する場合、ボリューム390に保存されたボリュームデータの再暗号化をストレージシステム30側で実行することができる。その結果、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合におけるホスト計算機20側の処理負荷を軽減させることができる。
また、図9のライト実行処理(ステップS3100)によって、ボリューム390に記憶されているボリュームデータが、暗号変換処理(図8,ステップS3400)を受ける前にライトコマンドによって新しい鍵データで暗号化されたデータに書き換えられてしまうことが回避されるため、暗号変換処理(図8,ステップS3400)中に、どのボリュームデータが再暗号化されているか否かを容易に管理することができる。また、暗号変換処理(図8,ステップS3400)において、ボリュームデータの再暗号化が一連のブロックアドレスの順序で行われるため(図8,ステップS3460)、暗号変換処理(図8,ステップS3400)中に、どのボリュームデータが再暗号化されているか否かを容易に管理することができる。
また、図10のリード実行処理(ステップS3200)によって、まだ再暗号化されていないボリュームデータが読み出し要求された場合であっても、新鍵データ902で再暗号化したデータをホスト計算機20に応答することができるため、ホスト計算機20からリードアクセスを受け付けながら、ストレージシステム30側で暗号変換処理(図8,ステップS3400)を実行することができる。
また、暗号変換処理(図8,ステップS3400)が完了した場合、ストレージシステム30側から旧鍵データ901および新鍵データ902が削除されるため(図8,ステップS3480)、ストレージシステム20からの情報漏洩に対するセキュリティを向上させることができる。
B.第2の実施例:
図11は、第2の実施例における計算機システム12の概略構成を機能的に示す説明図である。第2の実施例における計算機システム12は、ホスト計算機20に代えてホスト計算機22および仮想ストレージシステム40を備える点と、ストレージシステム30に代えてストレージシステム32を備える点とを除き、第1の実施例における計算機システム10と同様である。計算機システム12のホスト計算機22は、ホスト側暗号コントローラ214の機能を有しない点を除き、第1の実施例におけるホスト計算機20と同様である。計算機システム12のストレージシステム32は、ホスト計算機22から仮想ストレージシステム40を通じて間接的にアクセス可能にボリューム390を構成する点を除き、第1の実施例におけるストレージシステム30と同様である。
計算機システム12の仮想ストレージシステム40は、ホスト計算機がボリュームに対して間接的にアクセス可能に仮想的なボリュームを構成する仮想化装置の一例としてストレージシステムを用いたものであり、他の実施形態として、仮想ストレージシステム40に代えてスイッチを仮想化装置として用いても良い。仮想ストレージシステム40は、仮想ボリューム490およびホスト側暗号コントローラ414を備える。仮想ストレージシステム40の仮想ボリューム490は、ストレージシステム32のボリューム390に対する関連付けによって仮想的に構成されたボリュームであり、ホスト計算機20のデータ処理部212からアクセス可能である。仮想ストレージシステム40のホスト側暗号コントローラ414は、第1の実施例におけるホスト側暗号コントローラ214と同様であり、データの暗号化および複号化に用いられる鍵データを保持し、データ処理部212から仮想ボリューム490を通じてボリューム390に書き込まれるデータを暗号化すると共に、ボリューム390から仮想ボリューム490を通じてデータ処理部212に読み出されるデータを復号化する。これによって、データ処理部212から仮想ボリューム490を通じてストレージネットワーク92経由でボリューム390に至るアクセス経路において、ホスト側暗号コントローラ414よりもデータ処理部212側では、暗号化されていない平文データがやり取りされ、ホスト側暗号コントローラ414よりもボリューム390側では、暗号化された暗号データがやり取りされる。
仮想ストレージシステム40は、CPUおよびメモリを有するコンピュータと、ストレージネットワーク92を介してストレージシステム30とのデータのやり取りを行うストレージインタフェース432と、管理ネットワーク94を介してストレージシステム30とのデータのやり取りを行う管理インタフェース434とを備える。仮想ストレージシステム40の仮想ボリューム490およびホスト側暗号コントローラ414は、仮想ストレージシステム40のCPUがメモリを用いてソフトウェアに従って動作することによって実現される。
以上説明した第2の実施例における計算機システム12によれば、ホスト計算機22に仮想ボリューム490を提供する仮想ストレージシステム40にホスト側暗号コントローラ414を設けたシステム構成において、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合における仮想ストレージシステム40の処理負荷を軽減させることができる。
C.第3の実施例;
図12は、第3の実施例におけるストレージシステム34を機能的に示す説明図である。第3の実施例における計算機システムは、ストレージシステム30に代えてストレージシステム34を備える点を除き、第1の実施例における計算機システム10と同様である。
第3の実施例におけるストレージシステム34は、第1の実施例におけるストレージシステム30の構成に加え、更に、継続的データ保護方式(Continuous Data Protection, CDP)を実行するために、予め設定された設定時点においてボリューム390に保存されているデータのコピーを保存する基底ボリューム392と、基底ボリューム392に保存された設定時点以降にボリューム390に書き込まれたデータのコピーを記憶するジャーナルボリューム391とを備える。ストレージシステム34のジャーナルボリューム391は、設定時点以降にボリューム390にデータが書き込まれた日時を特定可能なジャーナルデータ931を保持する。
第3の実施例におけるストレージシステム34のボリューム管理コントローラ314は、第1の実施例と同様の処理を実行すると共に、設定時点以降の所望時点におけるボリューム390を再現(すなわち、復元,リストア(restore))する再現ボリューム393の構成を指示する再現コマンドを、管理インタフェース334から受け取ると、ジャーナルボリューム391および基底ボリューム392に保存されたデータから再現ボリューム393を構成する。第3の実施例におけるボリューム管理コントローラ314は、ジャーナルボリューム391および基底ボリューム392から再現ボリューム393として再現したデータが格納されたアドレスを特定するための再現ポインタ934と、再現コマンドで指定された所望時点を示す所望ポインタ936とを用いて、再現ボリューム393の構成を管理する。本実施例では、ジャーナルボリューム391,基底ボリューム392,再現ボリューム393は、CPU310がメモリ320を用いてストレージ構成プログラム382に従って複数のHDD350をRAID技術で管理することによって論理的に構成される。
図13は、第3の実施例におけるボリューム管理コントローラ314が実行するボリューム再現処理(ステップS3500)を示すフローチャートである。本実施例では、図13のボリューム再現処理(ステップS3500)は、ストレージシステム34のCPU310によるソフトウェアに基づく動作によって実現される。本実施例では、再現コマンドがホスト側暗号コントローラ214から送信された場合、ボリューム管理コントローラ314は、図13のボリューム再現処理(ステップS3500)を開始する。
ボリューム管理コントローラ314は、図13のボリューム再現処理(ステップS3500)を開始すると、管理インタフェース334から再現コマンドを受け付ける(ステップS3510)。その後、ボリューム管理コントローラ314は、再現ポインタ934をメモリ320上に初期設定すると共に、再現コマンドで指定された所望時点を示す所望ポインタ936とをメモリ320上に設定する(ステップS3512)。
ボリューム管理コントローラ314は、基底ボリューム392およびジャーナルボリューム391における再現ポインタ934に対応するブロックアドレスに新暗号データが保存されている場合(ステップS3520)、そのブロックアドレスから新暗号データを読み出して(ステップS3530)、読み出した新暗号データを再現ボリューム393に編入する(ステップS3560)。
一方、ボリューム管理コントローラ314は、基底ボリューム392およびジャーナルボリューム391における再現ポインタ934に対応するブロックアドレスに旧暗号データが保存されている場合(ステップS3520)、そのブロックアドレスから旧暗号データを読み出す(ステップS3540)。その後、ボリューム管理コントローラ314は、読み出した旧暗号データを、ボリューム管理コントローラ314に保持された旧鍵データ901を用いて複号化する(ステップS3542)。その後、ボリューム管理コントローラ314は、旧鍵データ901で復号化した平文データを、ボリューム管理コントローラ314に保持された新鍵データ902を用いて暗号化して(ステップS3544)、新鍵データ902で暗号化された暗号データを再現ボリューム393に編入する(ステップS3560)。
再現ポインタ934に対応するブロックアドレスのデータが再現ボリューム393に編入された後(ステップS3560)、ボリューム管理コントローラ314は、再現ポインタ934の値を所望ポインタ936の値になるまでインクリメントしながら(ステップS3572)、再現ポインタ934に対応するデータの読み出しから再現ボリューム393への編入までの処理(ステップS3520〜S3560)を繰り返し実行する(ステップS3570)。ボリューム管理コントローラ314は、所望ポインタ936に対応するブロックアドレスまでのデータを再現ボリューム393に編入すると(ステップS3570)、ホスト側暗号コントローラ214に再現ボリューム393を提供する(ステップS3580)。
なお、図12に示す例では、基底ボリューム392には、データd1〜d6が旧暗号データとして格納され、ジャーナルボリューム391には、データd7が旧暗号データとして格納されると共に、データd8,d9が新暗号データとして格納されている。この状態から、データd1〜d8を格納した再現ボリューム393を構成する場合、基底ボリューム392のデータd1〜d6およびジャーナルボリューム391のデータd7は、旧暗号データから新暗号データに変換された後で再現ボリューム393に編入される(図13のステップS3540〜S3560)。残りのジャーナルボリューム391のデータd8は、そのまま再現ボリューム393に編入される(図13のステップS3530,S3560)。
以上説明した第3の実施例における計算機システムによれば、継続的データ保護方式(Continuous Data Protection, CDP)をストレージシステムに適用しつつ、ストレージシステム34で暗号変換処理(図8,ステップS3400)を実行することができる。
D.第4の実施例:
図14は、第4の実施例におけるストレージシステム36を機能的に示す説明図である。第4の実施例における計算機システムは、ストレージシステム30に代えてストレージシステム36を備える点を除き、第1の実施例における計算機システム10と同様である。
第4の実施例におけるストレージシステム36は、第1の実施例におけるストレージシステム30の構成に加え、更に、ボリューム390と共通する一連のブロックアドレスが割り当てられた新暗号化ボリューム394を備え、鍵変更コマンド910がホスト側暗号コントローラ214から送信された場合、ボリューム390に保存されたデータを引き継いで新鍵データ902で暗号化されたデータを新暗号化ボリューム394で保存する。
図15は、第4の実施例におけるボリューム管理コントローラ314が実行する暗号変換処理(ステップS5400)を示すフローチャートである。第4の実施例におけるボリューム管理コントローラ314は、図8の暗号変換処理(ステップS3400)に代えて、図15の暗号変換処理(ステップS5400)を実行する。本実施例では、図15の暗号変換処理(ステップS5400)は、ストレージシステム30のCPU310によるソフトウェアに基づく動作によって実現される。本実施例では、ボリューム管理コントローラ314は、前述の更新受付処理(ステップS3340)を契機に、図15の暗号変換処理(ステップS5400)を開始する。
ボリューム管理コントローラ314は、図15の暗号変換処理(ステップS5400)を開始すると、変換ポインタ920が示すボリューム390のブロックアドレスから、旧鍵データ901で暗号化された旧暗号データを読み出す(ステップS5410)。その後、ボリューム管理コントローラ314は、ボリューム390から読み出した旧暗号データを、ボリューム管理コントローラ314に保持された旧鍵データ901を用いて復号化する(ステップS5420)。その後、ボリューム管理コントローラ314は、旧鍵データ901で復号化した平文データを、ボリューム管理コントローラ314に保持された新鍵データ902を用いて暗号化する(ステップS5430)。その後、ボリューム管理コントローラ314は、新鍵データ902で暗号化した新暗号データを、旧暗号データを読み出したボリューム390のブロックアドレスに対応する新暗号化ボリューム394のブロックアドレスに書込む(ステップS5440)。
その後、ボリューム管理コントローラ314は、変換ポインタ920の値をボリューム390の最終アドレスになるまでインクリメントしながら(ステップS5460)、旧暗号データの読み出しから新暗号データの書き込みまでの処理(ステップS5410〜S5440)を繰り返し実行する(ステップS5450)。ボリューム管理コントローラ314は、ボリューム390に保存された全てのデータを、旧暗号データから新暗号データに変換して新暗号化ボリューム394に移行すると(ステップS5450)、旧鍵データ901および新鍵データ902をメモリ320上から削除する(ステップS3580)。その後、ボリューム管理コントローラ314は、ホスト側暗号コントローラ214に対してパス設定された接続先ボリュームを、ボリューム390から新暗号化ボリューム394に変更する(ステップS3590)。
図16は、第4の実施例におけるボリューム管理コントローラ314が実行するライト実行処理(ステップS5100)を示すフローチャートである。第4の実施例におけるボリューム管理コントローラ314は、図9のライト実行処理(ステップS3100)に代えて、図16のライト実行処理(ステップS5100)を実行する。本実施例では、図16のライト実行処理(ステップS5100)は、ストレージシステム30のCPU310によるソフトウェアに基づく動作によって実現される。本実施例では、ライトコマンドがホスト側暗号コントローラ214から送信された場合(図4のステップS2140)、ボリューム管理コントローラ314は、図16のライト実行処理(ステップS5100)を開始する。ボリューム管理コントローラ314は、図16のライト実行処理(ステップS5100)を開始すると、ストレージインタフェース332からライトコマンドを受け付ける(ステップS5110)。
前述した暗号変換処理(図15,ステップS5400)がライトコマンドの受付時に実行中でない場合、ボリューム管理コントローラ314は、ライトコマンドに含まれる暗号データを、ホスト側暗号コントローラ214に対してパス設定された接続先ボリュームにおけるブロックアドレスのうちライトコマンドで指定された書込アドレスに書き込む(ステップS5130)。
前述した暗号変換処理(図15,ステップS5400)がライトコマンドの受付時に実行中である場合であって、ライトコマンドで指定された書込アドレスが変換ポインタ920の値よりも先行するアドレスである場合、すなわち、書込アドレスに保存された暗号データがボリューム390から新暗号化ボリューム394に引き継がれている場合(ステップS5140)、ボリューム管理コントローラ314は、ライトコマンドに含まれる暗号データを、新暗号化ボリューム394におけるブロックアドレスのうちライトコマンドで指定された書込アドレスに書き込む(ステップS5145)。
前述した暗号変換処理(図15,ステップS5400)がライトコマンドの受付時に実行中である場合であって、ライトコマンドで指定された書込アドレスが変換ポインタ920の値に後続するアドレスである場合、すなわち、書込アドレスに保存された暗号データがボリューム390から新暗号化ボリューム394に引き継がれていない場合(ステップS5140)、ボリューム管理コントローラ314は、ライトコマンドに含まれる暗号データを、ボリューム管理コントローラ314に保持された新鍵データ902を用いて復号化する(ステップS5150)。その後、ボリューム管理コントローラ314は、新鍵データ902で復号化した平文データを、ボリューム管理コントローラ314に保持された旧鍵データ901を用いて暗号化する(ステップS5160)。その後、ボリューム管理コントローラ314は、旧鍵データ901で暗号化した暗号データを、ボリューム390におけるブロックアドレスのうちライトコマンドで指定された書込アドレスに書き込む(ステップS5170)。
ボリューム管理コントローラ314は、ライトコマンドに基づいてボリューム390または新暗号化ボリューム394にデータを書き込むと(ステップS5130,S5145,S5170)、ライトコマンドに従ってデータが書き込まれたことを示すライト応答を、ホスト側暗号コントローラ214に送信する(ステップS5180)。
図17は、第4の実施例におけるボリューム管理コントローラ314が実行するリード実行処理(ステップS5200)を示すフローチャートである。第4の実施例におけるボリューム管理コントローラ314は、図10のリード実行処理(ステップS3200)に代えて、図17のリード実行処理(ステップS5200)を実行する。本実施例では、図17のリード実行処理(ステップS5200)は、ストレージシステム30のCPU310によるソフトウェアに基づく動作によって実現される。本実施例では、リードコマンドがホスト側暗号コントローラ214から送信された場合(図5のステップS2230)、ボリューム管理コントローラ314は、図17のリード実行処理(ステップS5200)を開始する。ボリューム管理コントローラ314は、図17のリード実行処理(ステップS5200)を開始すると、ストレージインタフェース332からリードコマンドを受け付ける(ステップS5210)。
前述した暗号変換処理(図15,ステップS5400)がリードコマンドの受付時に実行中でない場合、ボリューム管理コントローラ314は、ホスト側暗号コントローラ214に対してパス設定された接続先ボリュームにおけるブロックアドレスのうちリードコマンドで指定された読出アドレスから、暗号データを読み出し、その暗号データを、リードコマンドに応答するための応答データとしてキャッシュメモリ344に準備する(ステップS5230)。
前述した暗号変換処理(図15,ステップS5400)がリードコマンドの受付時に実行中である場合であって、リードコマンドで指定された読出アドレスが変換ポインタ920の値よりも先行するアドレスである場合、すなわち、読出アドレスに保存された暗号データがボリューム390から新暗号化ボリューム394に引き継がれている場合(ステップS5240)、ボリューム管理コントローラ314は、新暗号化ボリューム394におけるブロックアドレスのうちリードコマンドで指定された読出アドレスから、暗号データを読み出し、その暗号データを、リードコマンドに応答するための応答データとしてキャッシュメモリ344に準備する(ステップS5245)。
前述した暗号変換処理(図15,ステップS5400)がリードコマンドの受付時に実行中である場合であって、リードコマンドで指定された読出アドレスが変換ポインタ920の値に後続するアドレスである場合、すなわち、読出アドレスに保存された暗号データがボリューム390から新暗号化ボリューム394に引き継がれていない場合(ステップS5240)、ボリューム管理コントローラ314は、ボリューム390におけるブロックアドレスのうちリードコマンドで指定された読出アドレスから、暗号データを読み出す(ステップS5250)。その後、ボリューム管理コントローラ314は、リードコマンドに基づいてボリューム390から読み出した暗号データを、ボリューム管理コントローラ314に保持された旧鍵データ901を用いて復号化する(ステップS5260)。その後、ボリューム管理コントローラ314は、旧鍵データ901で復号化した平文データを、ボリューム管理コントローラ314に保持された新鍵データ902を用いて暗号化し、その暗号データを、リードコマンドに応答するための応答データとしてキャッシュメモリ344に準備する(ステップS5270)。
ボリューム管理コントローラ314は、リードコマンドに基づいてボリューム390または新暗号化ボリューム394からデータを読み出すと(ステップS5230,S5245,S5270)、キャッシュメモリ344に準備された応答データを含むリード応答を、ホスト側暗号コントローラ214に送信する(ステップS5280)。
以上説明した第4実施例における計算システムによれば、ボリューム390および新暗号化ボリューム394にデータが二重化されるため、暗号変換処理中(図15,ステップS5400)におけるデータの損失を防止することができる。また、図16のライト実行処理(ステップS5100)によって、ボリューム390から新暗号化ボリューム394にデータがまだ引き継がれていないプロックアドレスに書き込み要求された場合であっても、書込み要求されたデータを、旧鍵データ901で暗号化してボリューム390に書き込むことによって、ホスト計算機20からライトアクセスを受けながら、ボリューム390から新暗号化ボリューム394にデータを引継ぐことができる。また、図17のリード実行処理(ステップS5200)によって、新暗号化ボリューム394にまだ引継がれていないボリュームデータが読み出し要求された場合であっても、新鍵データ902で再暗号化されたデータをホスト計算機20に応答することができるため、ホスト計算機20からリードアクセスを受け付けながら、ストレージシステム36で暗号変換処理中(図15,ステップS5400)を実行することができる。
E.第5の実施例:
図18は、第5の実施例におけるボリューム管理コントローラ314が実行するライト実行処理(ステップS6100)を示すフローチャートである。第5の実施例における計算機システムは、図16のライト実行処理(ステップS5100)に代えて、図18のライト実行処理(ステップS6100)を実行する点を除き、第4の実施例における計算機システムと同様である。図18のライト実行処理(ステップS6100)は、書込アドレスに保存された暗号データがボリューム390から新暗号化ボリューム394に引き継がれている場合(ステップS5140)、ライトコマンドに含まれる暗号データを新暗号化ボリューム394に書き込んだ後(ステップS5145)、更に、ライトコマンドに含まれる暗号データを旧鍵データ901で暗号化してボリューム390に書き込む(ステップS5150,S5160,S5170)点を除き、図16のライト実行処理(ステップS5100)と同様である。
以上説明した第5の実施例によれば、ボリューム390から新暗号化ボリューム394にデータがまだ引き継がれていないプロックアドレスに書き込み要求された場合であっても、書込み要求されたデータを、旧鍵データ901で暗号化してボリューム390に書き込むことによって、ホスト計算機20からライトアクセスを受けながら、ボリューム390から新暗号化ボリューム394にデータを引継ぐことができる。
F.第6の実施例:
図19は、第6の実施例におけるストレージシステム38およびセカンダリ・ストレージシステム39を機能的に示す説明図である。第6の実施例における計算機システムは、ストレージシステム30に代えてストレージシステム38およびセカンダリ・ストレージシステム39を備える点を除き、第1の実施例における計算機システム10と同様である。本実施例では、セカンダリ・ストレージシステム39は、ストレージシステム38とは異なる場所に設置され、ストレージシステム38に保存されるデータをセカンダリ・ストレージシステム39に非同期に複写するリモートコピー(Remote Copy)が実施される。セカンダリ・ストレージシステム39は、ストレージシステム38に対応付けられた一連のブロックアドレスが割り当てられたセカンダリボリューム396を備える。
第6の実施例におけるストレージシステム38は、第1の実施例におけるストレージシステム30の構成に加え、更に、ボリューム390に書き込まれるデータのコピー(レコード)を記憶するジャーナルボリューム397を備える。ストレージシステム38のジャーナルボリューム397は、ボリューム390にデータが書き込まれた処理順序を特定可能なジャーナルデータ937を保持する。
第6の実施例におけるストレージシステム38のボリューム管理コントローラ314は、第1の実施例と同様の処理を実行すると共に、ボリューム390にデータが書き込まれると、そのデータのコピーをレコードとしてジャーナルボリューム397に一時的に格納し、ジャーナルデータ937で特定される処理順序に従って、ジャーナルボリューム397のレコードをセカンダリボリューム396に転送する。本実施例では、セカンダリボリューム396に転送されたレコードは、ジャーナルボリューム397から削除される。本実施例では、第6の実施例におけるボリューム管理コントローラ314は、鍵変更コマンド910がホスト側暗号コントローラ214から送信された場合、その後に最初にボリューム390に書き込まれたデータのレコードを示す切換レコード938をメモリ320に設定する。本実施例では、ジャーナルボリューム397のレコードを、ホスト側暗号コントローラ214で暗号化された暗号データのまま蓄積するが、他の実施形態として、ジャーナルボリューム397のレコードを平文データとして蓄積しても良いし、他の暗号データで暗号化したデータを蓄積しても良い。
図20は、第6の実施例におけるボリューム管理コントローラ314が実行するリモートコピー処理(ステップS7100)を示すフローチャートである。本実施例では、図20のリモートコピー処理(ステップS7100)は、ストレージシステム34のCPU310によるソフトウェアに基づく動作によって実現される。本実施例では、ボリューム管理コントローラ314は、図20のリモートコピー処理(ステップS7100)を定期的に実行する。
ボリューム管理コントローラ314は、図20のリモートコピー処理(ステップS7100)を開始すると、ジャーナルデータ937を確認することによって、ジャーナルボリューム397にレコードが蓄積されているか否かを判断する(ステップS7110)。ジャーナルボリューム397にレコードが蓄積されている場合(ステップS7110)、ボリューム管理コントローラ314は、ジャーナルボリューム397に蓄積されているレコードのうち、処理順序がより先行する先頭レコードを、ジャーナルボリューム397から読み出す(ステップS7120)。
ジャーナルボリューム397から読み出したレコードが、切換レコード938に示されたレコードよりも先行する場合、すなわち、ジャーナルボリューム397から読み出したレコードが旧暗号データである場合(ステップS7130)、ボリューム管理コントローラ314は、ジャーナルボリューム397から読み出したレコードに含まれる旧暗号データを、ボリューム管理コントローラ314に保持された旧鍵データ901を用いて復号化する(ステップS7140)。一方、ジャーナルボリューム397から読み出したレコードが、切換レコード938に示されたレコードに後続する場合、すなわち、ジャーナルボリューム397から読み出したレコードが新暗号データである場合(ステップS7130)、ボリューム管理コントローラ314は、ジャーナルボリューム397から読み出したレコードに含まれる新暗号データを、ボリューム管理コントローラ314に保持された新鍵データ902を用いて復号化する(ステップS7150)。
ボリューム管理コントローラ314は、ジャーナルボリューム397から読み出したレコードを平文データに復号化すると(ステップS7140,S7150)、その平文データをセカンダリボリューム396に転送する(ステップS7160)。本実施例では、セカンダリボリューム396に転送される平文データは、圧縮化されて転送される。ボリューム管理コントローラ314は、セカンダリボリューム396にデータを転送すると(ステップS7160)、そのデータに対応するレコードをジャーナルボリューム397から削除する(ステップS7170)。
以上説明した第6の実施例におけるストレージシステムによれば、ボリューム390の複製をセカンダリボリューム396に構成しつつ、ストレージシステム38で暗号変換処理(図8,ステップS3400)を実行することができる。
G.その他の実施形態:
以上、本発明の実施の形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。例えば、本発明は、以下の形態または適用例として実現することも可能である。
[適用例2] 前述の適用例1記載の計算機システムであって、前記ボリューム管理コントローラは、更に、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第1の鍵データで暗号化されたデータである場合、該ライトコマンドで書き込み要求されるデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて復号化するライト復号化部と、前記ライト復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて暗号化するライト暗号化部と、前記ライト暗号化部によって第1の鍵データで暗号化されたデータを、前記ライトコマンドで指定されたブロックアドレスに書き込む未変換ライト部とを含む計算機システム。
適用例2記載の計算機システムによれば、ボリュームに記憶されているボリュームデータが、暗号変換処理を受ける前にライトコマンドによって新しい鍵データで暗号化されたデータに書き換えられてしまうことが回避されるため、暗号変換処理中に、どのボリュームデータが再暗号化されているか否かを容易に管理することができる。
[適用例3] 適用例1または2記載の計算機システムであって、前記ボリューム管理コントローラは、更に、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたリードコマンドで指定されたブロックアドレスのデータが、前記第1の鍵データで暗号化されたデータである場合、該リードコマンドで指定されたブロックアドレスに記憶されているデータを読み出す未変換リード部と、前記未変換リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて復号化するリード復号化部と、前記リード復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて暗号化するリード暗号化部と、前記リード暗号化部によって第2の鍵データで暗号化されたデータを、前記リードコマンドに対する応答として、前記ネットワーク経由で前記ホスト計算機に送信するリード応答部とを含む計算機システム。
適用例3記載の計算機システムによれば、まだ再暗号化されていないボリュームデータが読み出し要求された場合であっても、新しい鍵データで再暗号化したデータをホスト計算機に応答することができるため、ホスト計算機からリードアクセスを受け付けながら、ストレージシステム側で暗号変換処理を実行することができる。
[適用例4] 前記ボリューム管理コントローラは、更に、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後、前記ボリュームに記憶されているデータの全てが、前記第2の鍵データで暗号化されたデータになった場合、前記ボリューム側鍵データ記憶部に記憶された第1および2の鍵データを削除する鍵データ削除部を含む適用例1ないし3のいずれか記載の計算機システム。
適用例4記載の計算機システムによれば、暗号変換処理が完了した場合、ストレージシステム側から鍵データが削除されるため、ストレージシステムからの情報漏洩に対するセキュリティを向上させることができる。
[適用例5] 前記ボリューム管理コントローラの前記変換リード部は、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記第1の鍵データで暗号化されたデータを、前記ボリュームに割り当てられた一連のブロックアドレスの順序で、前記ボリュームから読み出す適用例1ないし4のいずれか記載の計算機システム。
適用例5記載の計算機システムによれば、ボリュームデータの再暗号化が一連のブロックアドレスの順序で行われるため、暗号変換処理中に、どのボリュームデータが再暗号化されているか否かを容易に管理することができる。
[適用例6] 前記ホスト側暗号コントローラは、前記ホスト計算機に設けられた適用例1ないし5のいずれか記載の計算機システム。
[適用例7] 適用例1ないし5のいずれか記載の計算機システムであって、前記ストレージシステムは、前記ネットワークとは異なる他のネットワーク経由で前記ホスト計算機に接続され、前記ホスト計算機が前記他のネットワーク経由で前記ボリュームに対して間接的にアクセス可能に前記ボリュームに対応付けられた仮想ボリュームを仮想的に構成する仮想化装置と、前記ネットワーク経由で前記仮想化装置に接続され、該仮想化装置から前記ネットワーク経由でアクセス可能に前記ボリュームを構成する第1のストレージシステムとを含み、前記ホスト側暗号コントローラは、前記仮想化装置に設けられ、前記ボリューム管理コントローラは、前記第1のストレージシステムに設けられた計算機システム。
適用例6または7記載の計算機システムによれば、各システム構成の計算機システムにおいて、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合におけるホスト計算機側の処理負荷を軽減させることができる。
[適用例8] 適用例1ないし7のいずれか記載の計算機システムであって、前記ストレージシステムは、更に、設定時点において前記ボリュームに記憶されるデータのコピーを記憶する基底ボリュームと、前記設定時点以降に前記ボリュームに書き込まれるデータのコピーを、該データの書き込み履歴に対応付けて蓄積する第1のジャーナルボリュームと、前記設定時点以降の所望時点における前記ボリュームを再現する再現ボリュームを、前記基底ボリュームおよび前記第1のジャーナルボリュームに記憶されているデータを用いて構成するボリューム再現部とを含み、前記ボリューム再現部は、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後、前記基底ボリュームおよび前記第1のジャーナルボリュームのデータのうち前記再現ボリュームを構成するために用いられる前記第1の鍵データで暗号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて復号化する再現復号化部と、前記再現復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて暗号化する再現暗号化部と、前記再現暗号化部によって暗号化されたデータを、前記再現ボリュームに編入する再現編入部とを含む計算機システム。
適用例8記載の計算機システムによれば、継続的データ保護方式(Continuous Data Protection, CDP)をストレージシステムに適用しつつ、ストレージシステム側で暗号変換処理を実行することができる。ここで、継続的データ保護方式とは、ボリュームに書き込まれたデータを書込み履歴と共に保存することによって過去の任意時点におけるボリュームのデータ構成を再現する方式である。
[適用例9] 適用例1ないし8のいずれか記載の計算機システムであって、前記ストレージシステムの前記ボリュームは、前記第1の鍵データで暗号化されたデータを保存する第1のボリュームと、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後、前記第1のボリュームに共通する一連のブロックアドレスが割り当てられ、前記第1のボリュームに保存されたデータを引き継いで、前記第2の鍵データで暗号化されたデータを保存する第2のボリュームとを含み、前記ボリューム管理コントローラの前記変換リード部は、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記第1の鍵データで暗号化されたデータを前記第1のボリュームから読み出し、前記ボリューム管理コントローラの前記変換ライト部は、前記変換暗号化部によって第2の鍵データで暗号化されたデータを、前記変換リード部によって元のデータが読み出された前記第1のボリュームのブロックアドレスに対応する前記第2のボリュームのブロックアドレスに書き込む計算機システム。
適用例9記載の計算機システムによれば、第1および第2のボリュームにデータが二重化されるため、暗号変換処理中におけるデータの損失を防止することができる。
[適用例10] 適用例9記載の計算機システムであって、前記ボリューム管理コントローラは、更に、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第1のボリュームから前記第2のボリュームに引き継がれていない場合、該ライトコマンドで書き込み要求されるデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて復号化する第1のライト復号化部と、前記第1のライト復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて暗号化する第1のライト暗号化部と、前記第1のライト暗号化部によって第1の鍵データで暗号化されたデータを、前記第1のボリュームにおける前記ライトコマンドで指定されたブロックアドレスに書き込む第1の引継ライト部と、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第1のボリュームから前記第2のボリュームに引き継がれている場合、該ライトコマンドで書き込み要求されるデータを、前記第2のボリュームにおける前記ライトコマンドで指定されたブロックアドレスに書き込む第2の引継ライト部とを含む計算機システム。
適用例10記載の計算機システムによれば、第1のボリュームから第2のボリュームにデータがまだ引き継がれていないプロックアドレスに書き込み要求された場合であっても、書込み要求されたデータを、第1の鍵データで暗号化して第1のボリュームに書き込むことによって、ホスト計算機からライトアクセスを受けながら、第1のボリュームから第2のボリュームにデータを引継ぐことができる。
[適用例11] 適用例10記載の計算機システムであって、前記ボリューム管理コントローラは、更に、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第1のボリュームから前記第2のボリュームに引き継がれている場合、該ライトコマンドで書き込み要求されるデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて復号化する第2のライト復号化部と、前記第2のライト復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて暗号化する第2のライト暗号化部と、前記第2のライト暗号化部によって第1の鍵データで暗号化されたデータを、前記第1のボリュームにおける前記ライトコマンドで指定されたブロックアドレスに書き込む第3の引継ライト部とを含む計算機システム。
適用例11記載の計算機システムによれば、鍵変更処理を中断した場合であっても、鍵変更処理中に書込み要求されたデータを含めて第1の鍵データで暗号化されたデータが第1のボリュームに残るため、データの損失を防止することができる。
[適用例12] 適用例9ないし11のいずれか記載の計算機システムであって、前記ボリューム管理コントローラは、更に、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたリードコマンドで指定されたブロックアドレスのデータが、前記第1のボリュームから前記第2のボリュームに引き継がれていない場合、前記第1のボリュームにおける前記リードコマンドで指定されたブロックアドレスに記憶されているデータを読み出す第1の引継リード部と、前記未引継リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて復号化するリード復号化部と、前記リード復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて暗号化するリード暗号化部と、前記リード暗号化部によって第2の鍵データで暗号化されたデータを、前記リードコマンドに対する応答として、前記ネットワーク経由で前記ホスト計算機に送信する第1の引継リード応答部と、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたリードコマンドで指定されたブロックアドレスのデータが、前記第1のボリュームから前記第2のボリュームに引き継がれている場合、前記第2のボリュームにおける前記リードコマンドで指定されたブロックアドレスに記憶されているデータを読み出す第2の引継リード部と、前記引継済リード部によって読み出された第2の鍵データで暗号化されたデータを、前記リードコマンドに対する応答として、前記ネットワーク経由で前記ホスト計算機に送信する第2の引継リード応答部とを含む計算機システム。
適用例12記載の計算機システムによれば、第2のボリュームにまだ引継がれていないボリュームデータが読み出し要求された場合であっても、新しい鍵データで再暗号化されたデータをホスト計算機に応答することができるため、ホスト計算機からリードアクセスを受け付けながら、ストレージシステム側で暗号変換処理を実行することができる。
[適用例13] 適用例1ないし12のいずれか記載の計算機システムであって、前記ストレージシステムは、更に、前記ボリュームに対応付けられた一連のブロックアドレスが割り当てられ該ボリュームに記憶されるデータのコピーを記憶するセカンダリボリュームと、前記ライトコマンドによって前記ボリュームに書き込まれるデータのコピーを、該データの書き込み履歴に対応付けて一時的に蓄積する第2のジャーナルボリュームと、前記第2のジャーナルボリュームに蓄積されたデータが前記第1の鍵データで暗号化されている場合、該データを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて復号化する第1のジャーナル復号化部と、前記第1のジャーナル複合化部によって復号化されたデータを、前記セカンダリボリュームに転送する第1のジャーナル転送部と、前記第2のジャーナルボリュームに蓄積されたデータが前記第2の鍵データで暗号化されている場合、該データを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて復号化する第2のジャーナル復号化部と、前記第2のジャーナル複合化部によって復号化されたデータを、前記セカンダリボリュームに転送する第2のジャーナル転送部とを含む計算機システム。
適用例13記載の計算機システムによれば、ボリュームの複製をセカンダリボリュームに構成しつつ、ストレージシステム側で暗号変換処理を実行することができる。
[適用例14] データを処理するホスト計算機とネットワーク経由で接続され、該ホスト計算機から該ネットワーク経由で一連のブロックアドレスを指定してアクセス可能なボリュームを備えるストレージシステムであって、前記ホスト計算機は、データの暗号化および復号化に用いられる鍵データを記憶するホスト側鍵データ記憶部と、前記ホスト計算機から前記ストレージシステムに対するライトコマンドによって前記ボリュームに書き込み要求されるデータが、前記ホスト計算機から前記ネットワーク経由で前記ボリュームに転送される場合、該データが前記ネットワーク上で転送される前に、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて暗号化するホスト側暗号化部と、前記ホスト計算機から前記ストレージシステムに対するリードコマンドによって前記ボリュームから読み出し要求されるデータが、前記ボリュームから前記ネットワーク経由で前記ホスト計算機に転送される場合、該データが前記ネットワーク上で転送された後で、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて復号化するホスト側復号化部と、前記鍵データ記憶部に記憶されている鍵データを、第1の鍵データから第2の鍵データに変更する鍵変更部と、前記鍵変更部によって前記第1の鍵データが前記第2の鍵データに変更される場合、前記第1および2の鍵データを含み該鍵データの変更を示す鍵変更コマンドを、前記ストレージシステムに送信する鍵変更コマンド送信部とを含み、前記ストレージシステムは、更に、前記鍵変更コマンド送信部によって送信された鍵変更コマンドを受信する鍵変更コマンド受信部と、前記鍵変更コマンド受信部によって受信された鍵変更コマンドに含まれる第1および2の鍵データを記憶するボリューム側鍵データ記憶部と、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記ボリュームに記憶されているデータのうち前記第1の鍵データで暗号化されたデータを読み出す変換リード部と、前記変換リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて復号化する変換復号化部と、前記変換復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて暗号化する変換暗号化部と、前記変換暗号化部によって第2の鍵データで暗号化されたデータを、前記変換リード部によって元のデータが読み出された元のブロックアドレスに書き込む変換ライト部とを備える。
適用例14記載のストレージシステムによれば、ホスト計算機でアクセスデータの暗復号化に用いられる鍵データが変更される場合、ボリュームに保存されたボリュームデータの再暗号化をストレージシステムで実行することができる。その結果、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合におけるホスト計算機の処理負荷を軽減させることができる。
[適用例15] データを処理するホスト計算機と、前記ホスト計算機からネットワーク経由で一連のブロックアドレスを指定してアクセス可能なボリュームを有するストレージシステムとを備える計算機システムにおいて、該計算機システムで取り扱われるデータを管理するデータ管理方法であって、前記ホスト計算機のコンピュータが、データの暗号化および復号化に用いられる鍵データを、該ホスト計算機のメモリに記憶する工程と、前記ホスト計算機から前記ストレージシステムに対するライトコマンドによって前記ボリュームに書き込み要求されるデータが、前記ホスト計算機から前記ネットワーク経由で前記ボリュームに転送される場合、該データが前記ネットワーク上で転送される前に、前記ホスト計算機のコンピュータが、該ホスト計算機のメモリに記憶された鍵データを用いて、該データを暗号化する工程と、前記ホスト計算機から前記ストレージシステムに対するリードコマンドによって前記ボリュームから読み出し要求されるデータが、前記ボリュームから前記ネットワーク経由で前記ホスト計算機に転送される場合、該データが前記ネットワーク上で転送された後で、前記ホスト計算機のコンピュータが、該ホスト計算機のメモリに記憶された鍵データを用いて、該データを復号化する工程と、前記ホスト計算機のコンピュータが、該ホスト計算機のメモリに記憶されている鍵データを、第1の鍵データから第2の鍵データに変更する工程と、前記第1の鍵データが前記第2の鍵データに変更される場合、前記ホスト計算機のコンピュータが、前記第1および2の鍵データを含み該鍵データの変更を示す鍵変更コマンドを、前記ストレージシステムに送信する工程と、前記ストレージシステムのコンピュータが、前記ホスト計算機によって送信された鍵変更コマンドを受信する工程と、前記ストレージシステムのコンピュータが、前記受信された鍵変更コマンドに含まれる第1および2の鍵データを、該ストレージシステムのメモリに記憶する工程と、前記鍵変更コマンドが前記ホスト計算機から前記ストレージシステムに受信された場合、前記ストレージシステムのコンピュータが、前記ボリュームに記憶されているデータのうち前記第1の鍵データで暗号化されたデータを読み出す変換リード工程と、前記ストレージシステムのコンピュータが、前記変換リード工程によって読み出されたデータを、該ストレージシステムのメモリに記憶された第1の鍵データを用いて復号化する変換復号化工程と、前記ストレージシステムのコンピュータが、前記変換復号化工程によって復号化されたデータを、該ストレージシステムのメモリに記憶された第2の鍵データを用いて暗号化する変換暗号化工程と、前記ストレージシステムのコンピュータが、前記変換暗号化工程によって第2の鍵データで暗号化されたデータを、前記変換リード工程によって元のデータが読み出された元のブロックアドレスに書き込む変換ライト工程とを備える。
適用例15記載のデータ管理方法によれば、ホスト計算機とボリュームとの間でやり取りされるアクセスデータの暗復号化をホスト計算機で実行し、そのアクセスデータの暗復号化に用いられる鍵データを変更する場合、ボリュームに保存されたボリュームデータの再暗号化をストレージシステムで実行することができる。その結果、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合におけるホスト計算機の処理負荷を軽減させることができる。
計算機システム10の概略構成を機能的に示す説明図である。 計算機システム10におけるホスト計算機20の詳細構成を主に示す説明図である。 計算機システム10におけるストレージシステム30の詳細構成を主に示す説明図である。 計算機システム10におけるホスト側暗号コントローラ214が実行するライトコマンド処理(ステップS2100)を示すフローチャートである。 計算機システム10におけるホスト側暗号コントローラ214が実行するリードコマンド処理(ステップS2200)を示すフローチャートである。 計算機システム10におけるホスト側暗号コントローラ214が実行する鍵更新処理(ステップS2300)を示すフローチャートである。 計算機システム10におけるボリューム管理コントローラ314が実行する更新受付処理(ステップS3300)を示すフローチャートである。 計算機システム10におけるボリューム管理コントローラ314が実行する暗号変換処理(ステップS3400)を示すフローチャートである。 計算機システム10におけるボリューム管理コントローラ314が実行するライト実行処理(ステップS3100)を示すフローチャートである。 計算機システム10におけるボリューム管理コントローラ314が実行するリード実行処理(ステップS3200)を示すフローチャートである。 第2の実施例における計算機システム12の概略構成を機能的に示す説明図である。 第3の実施例におけるストレージシステム34を機能的に示す説明図である。 第3の実施例におけるボリューム管理コントローラ314が実行するボリューム再現処理(ステップS3500)を示すフローチャートである。 第4の実施例におけるストレージシステム36を機能的に示す説明図である。 第4の実施例におけるボリューム管理コントローラ314が実行する暗号変換処理(ステップS5400)を示すフローチャートである。 第4の実施例におけるボリューム管理コントローラ314が実行するライト実行処理(ステップS5100)を示すフローチャートである。 第4の実施例におけるボリューム管理コントローラ314が実行するリード実行処理(ステップS5200)を示すフローチャートである。 第5の実施例におけるボリューム管理コントローラ314が実行するライト実行処理(ステップS6100)を示すフローチャートである。 第6の実施例におけるストレージシステム38およびセカンダリ・ストレージシステム39を機能的に示す説明図である。 第6の実施例におけるボリューム管理コントローラ314が実行するリモートコピー処理(ステップS7100)を示すフローチャートである。
符号の説明
10,12…計算機システム
20,22…ホスト計算機
30,34,36,38,39…ストレージシステム
32…ストレージシステム
40…仮想ストレージシステム
92…ストレージネットワーク
94…管理ネットワーク
210…CPU
212…データ処理部
214…ホスト側暗号コントローラ
220…メモリ
232…ストレージインタフェース
234…管理インタフェース
236…ユーザインタフェース
282…OS
284…アプリケーションプログラム
310…CPU
314…ボリューム管理コントローラ
320…メモリ
332…ストレージインタフェース
334…管理インタフェース
342…ディスクインタフェース
344…キャッシュメモリ
382…ストレージ構成プログラム
384…アクセス管理プログラム
386…暗号変換プログラム
390…ボリューム
391…ジャーナルボリューム
392…基底ボリューム
393…再現ボリューム
394…新暗号化ボリューム
396…セカンダリボリューム
397…ジャーナルボリューム
414…ホスト側暗号コントローラ
432…ストレージインタフェース
434…管理インタフェース
490…仮想ボリューム
901…旧鍵データ
902…新鍵データ
910…鍵変更コマンド
920…変換ポインタ
931…ジャーナルデータ
934…再現ポインタ
936…所望ポインタ
937…ジャーナルデータ
938…切換レコード

Claims (15)

  1. データを処理するホスト計算機と、前記ホスト計算機からネットワーク経由で一連のブロックアドレスを指定してアクセス可能なボリュームを有するストレージシステムとを備える計算機システムであって、更に、
    前記ホスト計算機から前記ネットワーク経由で前記ボリュームに至るアクセス経路における前記ネットワークよりも前記ホスト計算機側に設けられ、該アクセス経路を通過するデータの暗号化および復号化を制御するホスト側暗号コントローラと、
    前記ストレージシステムに設けられ、前記ボリュームに記憶されたデータを管理するボリューム管理コントローラと、
    を備え、
    前記ホスト側暗号コントローラは、
    データの暗号化および復号化に用いられる鍵データを記憶するホスト側鍵データ記憶部と、
    前記ホスト計算機から前記ストレージシステムに対するライトコマンドによって前記ボリュームに書き込み要求されるデータが、前記ホスト計算機から前記ネットワーク経由で前記ボリュームに転送される場合、該データが前記ネットワーク上で転送される前に、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて暗号化するホスト側暗号化部と、
    前記ホスト計算機から前記ストレージシステムに対するリードコマンドによって前記ボリュームから読み出し要求されるデータが、前記ボリュームから前記ネットワーク経由で前記ホスト計算機に転送される場合、該データが前記ネットワーク上で転送された後で、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて復号化するホスト側復号化部と、
    前記鍵データ記憶部に記憶された鍵データを、第1の鍵データから第2の鍵データに変更する鍵変更部と、
    前記鍵変更部によって前記第1の鍵データが前記第2の鍵データに変更される場合、前記第1および2の鍵データを含み該鍵データの変更を示す鍵変更コマンドを、前記ボリューム管理コントローラに送信する鍵変更コマンド送信部と
    を含み、
    前記ボリューム管理コントローラは、
    前記鍵変更コマンド送信部によって送信された鍵変更コマンドを受信する鍵変更コマンド受信部と、
    前記鍵変更コマンド受信部によって受信された鍵変更コマンドに含まれる第1および2の鍵データを記憶するボリューム側鍵データ記憶部と、
    前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記ボリュームに記憶されたデータのうち前記第1の鍵データで暗号化されたデータを読み出す変換リード部と、
    前記変換リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて復号化する変換復号化部と、
    前記変換復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて暗号化する変換暗号化部と、
    前記変換暗号化部によって第2の鍵データで暗号化されたデータを、前記変換リード部によって元のデータが読み出された元のブロックアドレスに書き込む変換ライト部と
    を含む計算機システム。
  2. 請求項1記載の計算機システムであって、
    前記ボリューム管理コントローラは、更に、
    前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第1の鍵データで暗号化されたデータである場合、該ライトコマンドで書き込み要求されるデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて復号化するライト復号化部と、
    前記ライト復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて暗号化するライト暗号化部と、
    前記ライト暗号化部によって第1の鍵データで暗号化されたデータを、前記ライトコマンドで指定されたブロックアドレスに書き込む未変換ライト部と
    を含む計算機システム。
  3. 請求項1または2記載の計算機システムであって、
    前記ボリューム管理コントローラは、更に、
    前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたリードコマンドで指定されたブロックアドレスのデータが、前記第1の鍵データで暗号化されたデータである場合、該リードコマンドで指定されたブロックアドレスに記憶されているデータを読み出す未変換リード部と、
    前記未変換リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて復号化するリード復号化部と、
    前記リード復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて暗号化するリード暗号化部と、
    前記リード暗号化部によって第2の鍵データで暗号化されたデータを、前記リードコマンドに対する応答として、前記ネットワーク経由で前記ホスト計算機に送信するリード応答部と
    を含む計算機システム。
  4. 前記ボリューム管理コントローラは、更に、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後、前記ボリュームに記憶されているデータの全てが、前記第2の鍵データで暗号化されたデータになった場合、前記ボリューム側鍵データ記憶部に記憶された第1および2の鍵データを削除する鍵データ削除部を含む請求項1ないし3のいずれか記載の計算機システム。
  5. 前記ボリューム管理コントローラの前記変換リード部は、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記第1の鍵データで暗号化されたデータを、前記ボリュームに割り当てられた一連のブロックアドレスの順序で、前記ボリュームから読み出す請求項1ないし4のいずれか記載の計算機システム。
  6. 前記ホスト側暗号コントローラは、前記ホスト計算機に設けられた請求項1ないし5のいずれか記載の計算機システム。
  7. 請求項1ないし5のいずれか記載の計算機システムであって、
    前記ストレージシステムは、
    前記ネットワークとは異なる他のネットワーク経由で前記ホスト計算機に接続され、前記ホスト計算機が前記他のネットワーク経由で前記ボリュームに対して間接的にアクセス可能に前記ボリュームに対応付けられた仮想ボリュームを仮想的に構成する仮想化装置と、
    前記ネットワーク経由で前記仮想化装置に接続され、該仮想化装置から前記ネットワーク経由でアクセス可能に前記ボリュームを構成する第1のストレージシステムと
    を含み、
    前記ホスト側暗号コントローラは、前記仮想化装置に設けられ、
    前記ボリューム管理コントローラは、前記第1のストレージシステムに設けられた計算機システム。
  8. 請求項1ないし7のいずれか記載の計算機システムであって、
    前記ストレージシステムは、更に、
    設定時点において前記ボリュームに記憶されるデータのコピーを記憶する基底ボリュームと、
    前記設定時点以降に前記ボリュームに書き込まれるデータのコピーを、該データの書き込み履歴に対応付けて蓄積する第1のジャーナルボリュームと、
    前記設定時点以降の所望時点における前記ボリュームを再現する再現ボリュームを、前記基底ボリュームおよび前記第1のジャーナルボリュームに記憶されているデータを用いて構成するボリューム再現部と
    を含み、
    前記ボリューム再現部は、
    前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後、前記基底ボリュームおよび前記第1のジャーナルボリュームのデータのうち前記再現ボリュームを構成するために用いられる前記第1の鍵データで暗号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて復号化する再現復号化部と、
    前記再現復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて暗号化する再現暗号化部と、
    前記再現暗号化部によって暗号化されたデータを、前記再現ボリュームに編入する再現編入部と
    を含む計算機システム。
  9. 請求項1ないし8のいずれか記載の計算機システムであって、
    前記ストレージシステムの前記ボリュームは、
    前記第1の鍵データで暗号化されたデータを保存する第1のボリュームと、
    前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後、前記第1のボリュームに共通する一連のブロックアドレスが割り当てられ、前記第1のボリュームに保存されたデータを引き継いで、前記第2の鍵データで暗号化されたデータを保存する第2のボリュームと
    を含み、
    前記ボリューム管理コントローラの前記変換リード部は、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記第1の鍵データで暗号化されたデータを前記第1のボリュームから読み出し、
    前記ボリューム管理コントローラの前記変換ライト部は、前記変換暗号化部によって第2の鍵データで暗号化されたデータを、前記変換リード部によって元のデータが読み出された前記第1のボリュームのブロックアドレスに対応する前記第2のボリュームのブロックアドレスに書き込む計算機システム。
  10. 請求項9記載の計算機システムであって、
    前記ボリューム管理コントローラは、更に、
    前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第1のボリュームから前記第2のボリュームに引き継がれていない場合、該ライトコマンドで書き込み要求されるデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて復号化する第1のライト復号化部と、
    前記第1のライト復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて暗号化する第1のライト暗号化部と、
    前記第1のライト暗号化部によって第1の鍵データで暗号化されたデータを、前記第1のボリュームにおける前記ライトコマンドで指定されたブロックアドレスに書き込む第1の引継ライト部と、
    前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第1のボリュームから前記第2のボリュームに引き継がれている場合、該ライトコマンドで書き込み要求されるデータを、前記第2のボリュームにおける前記ライトコマンドで指定されたブロックアドレスに書き込む第2の引継ライト部と
    を含む計算機システム。
  11. 請求項10記載の計算機システムであって、
    前記ボリューム管理コントローラは、更に、
    前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第1のボリュームから前記第2のボリュームに引き継がれている場合、該ライトコマンドで書き込み要求されるデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて復号化する第2のライト復号化部と、
    前記第2のライト復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて暗号化する第2のライト暗号化部と、
    前記第2のライト暗号化部によって第1の鍵データで暗号化されたデータを、前記第1のボリュームにおける前記ライトコマンドで指定されたブロックアドレスに書き込む第3の引継ライト部と
    を含む計算機システム。
  12. 請求項9ないし11のいずれか記載の計算機システムであって、
    前記ボリューム管理コントローラは、更に、
    前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたリードコマンドで指定されたブロックアドレスのデータが、前記第1のボリュームから前記第2のボリュームに引き継がれていない場合、前記第1のボリュームにおける前記リードコマンドで指定されたブロックアドレスに記憶されているデータを読み出す第1の引継リード部と、
    前記未引継リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて復号化するリード復号化部と、
    前記リード復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて暗号化するリード暗号化部と、
    前記リード暗号化部によって第2の鍵データで暗号化されたデータを、前記リードコマンドに対する応答として、前記ネットワーク経由で前記ホスト計算機に送信する第1の引継リード応答部と、
    前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたリードコマンドで指定されたブロックアドレスのデータが、前記第1のボリュームから前記第2のボリュームに引き継がれている場合、前記第2のボリュームにおける前記リードコマンドで指定されたブロックアドレスに記憶されているデータを読み出す第2の引継リード部と、
    前記引継済リード部によって読み出された第2の鍵データで暗号化されたデータを、前記リードコマンドに対する応答として、前記ネットワーク経由で前記ホスト計算機に送信する第2の引継リード応答部と
    を含む計算機システム。
  13. 請求項1ないし12のいずれか記載の計算機システムであって、
    前記ストレージシステムは、更に、
    前記ボリュームに対応付けられた一連のブロックアドレスが割り当てられ該ボリュームに記憶されるデータのコピーを記憶するセカンダリボリュームと、
    前記ライトコマンドによって前記ボリュームに書き込まれるデータのコピーを、該データの書き込み履歴に対応付けて一時的に蓄積する第2のジャーナルボリュームと、
    前記第2のジャーナルボリュームに蓄積されたデータが前記第1の鍵データで暗号化されている場合、該データを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて復号化する第1のジャーナル復号化部と、
    前記第1のジャーナル複合化部によって復号化されたデータを、前記セカンダリボリュームに転送する第1のジャーナル転送部と、
    前記第2のジャーナルボリュームに蓄積されたデータが前記第2の鍵データで暗号化されている場合、該データを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて復号化する第2のジャーナル復号化部と、
    前記第2のジャーナル複合化部によって復号化されたデータを、前記セカンダリボリュームに転送する第2のジャーナル転送部と
    を含む計算機システム。
  14. データを処理するホスト計算機とネットワーク経由で接続され、該ホスト計算機から該ネットワーク経由で一連のブロックアドレスを指定してアクセス可能なボリュームを備えるストレージシステムであって、
    前記ホスト計算機は、
    データの暗号化および復号化に用いられる鍵データを記憶するホスト側鍵データ記憶部と、
    前記ホスト計算機から前記ストレージシステムに対するライトコマンドによって前記ボリュームに書き込み要求されるデータが、前記ホスト計算機から前記ネットワーク経由で前記ボリュームに転送される場合、該データが前記ネットワーク上で転送される前に、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて暗号化するホスト側暗号化部と、
    前記ホスト計算機から前記ストレージシステムに対するリードコマンドによって前記ボリュームから読み出し要求されるデータが、前記ボリュームから前記ネットワーク経由で前記ホスト計算機に転送される場合、該データが前記ネットワーク上で転送された後で、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて復号化するホスト側復号化部と、
    前記鍵データ記憶部に記憶されている鍵データを、第1の鍵データから第2の鍵データに変更する鍵変更部と、
    前記鍵変更部によって前記第1の鍵データが前記第2の鍵データに変更される場合、前記第1および2の鍵データを含み該鍵データの変更を示す鍵変更コマンドを、前記ストレージシステムに送信する鍵変更コマンド送信部と
    を含み、
    前記ストレージシステムは、更に、
    前記鍵変更コマンド送信部によって送信された鍵変更コマンドを受信する鍵変更コマンド受信部と、
    前記鍵変更コマンド受信部によって受信された鍵変更コマンドに含まれる第1および2の鍵データを記憶するボリューム側鍵データ記憶部と、
    前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記ボリュームに記憶されているデータのうち前記第1の鍵データで暗号化されたデータを読み出す変換リード部と、
    前記変換リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第1の鍵データを用いて復号化する変換復号化部と、
    前記変換復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第2の鍵データを用いて暗号化する変換暗号化部と、
    前記変換暗号化部によって第2の鍵データで暗号化されたデータを、前記変換リード部によって元のデータが読み出された元のブロックアドレスに書き込む変換ライト部と
    を備えるストレージシステム。
  15. データを処理するホスト計算機と、前記ホスト計算機からネットワーク経由で一連のブロックアドレスを指定してアクセス可能なボリュームを有するストレージシステムとを備える計算機システムにおいて、該計算機システムで取り扱われるデータを管理するデータ管理方法であって、
    前記ホスト計算機のコンピュータが、データの暗号化および復号化に用いられる鍵データを、該ホスト計算機のメモリに記憶する工程と、
    前記ホスト計算機から前記ストレージシステムに対するライトコマンドによって前記ボリュームに書き込み要求されるデータが、前記ホスト計算機から前記ネットワーク経由で前記ボリュームに転送される場合、該データが前記ネットワーク上で転送される前に、前記ホスト計算機のコンピュータが、該ホスト計算機のメモリに記憶された鍵データを用いて、該データを暗号化する工程と、
    前記ホスト計算機から前記ストレージシステムに対するリードコマンドによって前記ボリュームから読み出し要求されるデータが、前記ボリュームから前記ネットワーク経由で前記ホスト計算機に転送される場合、該データが前記ネットワーク上で転送された後で、前記ホスト計算機のコンピュータが、該ホスト計算機のメモリに記憶された鍵データを用いて、該データを復号化する工程と、
    前記ホスト計算機のコンピュータが、該ホスト計算機のメモリに記憶されている鍵データを、第1の鍵データから第2の鍵データに変更する工程と、
    前記第1の鍵データが前記第2の鍵データに変更される場合、前記ホスト計算機のコンピュータが、前記第1および2の鍵データを含み該鍵データの変更を示す鍵変更コマンドを、前記ストレージシステムに送信する工程と、
    前記ストレージシステムのコンピュータが、前記ホスト計算機によって送信された鍵変更コマンドを受信する工程と、
    前記ストレージシステムのコンピュータが、前記受信された鍵変更コマンドに含まれる第1および2の鍵データを、該ストレージシステムのメモリに記憶する工程と、
    前記鍵変更コマンドが前記ホスト計算機から前記ストレージシステムに受信された場合、前記ストレージシステムのコンピュータが、前記ボリュームに記憶されているデータのうち前記第1の鍵データで暗号化されたデータを読み出す変換リード工程と、
    前記ストレージシステムのコンピュータが、前記変換リード工程によって読み出されたデータを、該ストレージシステムのメモリに記憶された第1の鍵データを用いて復号化する変換復号化工程と、
    前記ストレージシステムのコンピュータが、前記変換復号化工程によって復号化されたデータを、該ストレージシステムのメモリに記憶された第2の鍵データを用いて暗号化する変換暗号化工程と、
    前記ストレージシステムのコンピュータが、前記変換暗号化工程によって第2の鍵データで暗号化されたデータを、前記変換リード工程によって元のデータが読み出された元のブロックアドレスに書き込む変換ライト工程と
    を備えるデータ管理方法。
JP2007109651A 2007-04-18 2007-04-18 計算機システム、ストレージシステムおよびデータ管理方法 Pending JP2008269173A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007109651A JP2008269173A (ja) 2007-04-18 2007-04-18 計算機システム、ストレージシステムおよびデータ管理方法
US12/010,049 US8140864B2 (en) 2007-04-18 2008-01-18 Computer system, storage system, and data management method for updating encryption key
EP08250358A EP1983462A3 (en) 2007-04-18 2008-01-30 Storage apparatus and data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007109651A JP2008269173A (ja) 2007-04-18 2007-04-18 計算機システム、ストレージシステムおよびデータ管理方法

Publications (1)

Publication Number Publication Date
JP2008269173A true JP2008269173A (ja) 2008-11-06

Family

ID=39872205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007109651A Pending JP2008269173A (ja) 2007-04-18 2007-04-18 計算機システム、ストレージシステムおよびデータ管理方法

Country Status (2)

Country Link
US (1) US8140864B2 (ja)
JP (1) JP2008269173A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012519320A (ja) * 2009-05-25 2012-08-23 株式会社日立製作所 ストレージ装置及びその制御方法
JP2013201762A (ja) * 2013-04-26 2013-10-03 Hitachi Ltd ストレージ装置及びその制御方法
WO2014109059A1 (ja) * 2013-01-11 2014-07-17 株式会社日立製作所 データの暗号化記憶システム及び方法

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8712035B2 (en) * 2008-01-31 2014-04-29 Hewlett-Packard Development Company, L.P. Online data conversion technique using a sliding window
WO2010085211A1 (en) * 2009-01-23 2010-07-29 Agency For Science, Technology And Research Method of accessing a data storage device
JP5564194B2 (ja) * 2009-04-14 2014-07-30 株式会社メガチップス メモリコントローラ、メモリ制御装置およびメモリ装置
US8826042B2 (en) * 2009-04-14 2014-09-02 Megachips Corporation Memory controller, memory control apparatus, memory device, memory information protection system, control method for memory control apparatus, and control method for memory device
JP5302083B2 (ja) * 2009-04-23 2013-10-02 株式会社メガチップス メモリ装置およびメモリ装置の制御方法
US8281157B2 (en) * 2009-04-22 2012-10-02 Hitachi, Ltd. Storage system, control method therefor, and program
US8479040B2 (en) 2009-09-02 2013-07-02 Hitachi, Ltd. Storage system and control method
US9032218B2 (en) * 2010-01-29 2015-05-12 Hewlett-Packard Development Company, L.P. Key rotation for encrypted storage media using a mirrored volume revive operation
US8489893B2 (en) 2010-01-29 2013-07-16 Hewlett-Packard Development Company, L.P. Encryption key rotation messages written and observed by storage controllers via storage media
US8943328B2 (en) * 2010-01-29 2015-01-27 Hewlett-Packard Development Company, L.P. Key rotation for encrypted storage media
US8433901B2 (en) * 2010-04-07 2013-04-30 Apple Inc. System and method for wiping encrypted data on a device having file-level content protection
US8788842B2 (en) 2010-04-07 2014-07-22 Apple Inc. System and method for content protection based on a combination of a user PIN and a device specific identifier
US8510552B2 (en) 2010-04-07 2013-08-13 Apple Inc. System and method for file-level data protection
US8977865B2 (en) * 2010-05-25 2015-03-10 Microsoft Technology Licensing, Llc Data encryption conversion for independent agents
US9015345B2 (en) * 2010-12-15 2015-04-21 Microsoft Corporation API supporting server and key based networking
KR101802521B1 (ko) 2011-05-30 2017-11-30 삼성전자주식회사 휴대단말기에서 데이터의 암호화 및 복호화 수행 장치 및 방법
US9128876B2 (en) * 2011-12-06 2015-09-08 Honeywell International Inc. Memory location specific data encryption key
US8880989B2 (en) 2012-01-30 2014-11-04 Microsoft Corporation Educating users and enforcing data dissemination policies
US9087039B2 (en) 2012-02-07 2015-07-21 Microsoft Technology Licensing, Llc Language independent probabilistic content matching
US9930066B2 (en) 2013-02-12 2018-03-27 Nicira, Inc. Infrastructure level LAN security
US9323943B2 (en) * 2013-04-30 2016-04-26 Hewlett Packard Enterprise Development Lp Decrypt and encrypt data of storage device
EP3025271B1 (en) * 2013-07-24 2020-04-01 Marvell World Trade Ltd. Key rotation for a memory controller
US20150379280A1 (en) 2014-06-30 2015-12-31 Nicira, Inc. Method and Apparatus for Dynamically Creating Encryption Rules
US10013363B2 (en) 2015-02-09 2018-07-03 Honeywell International Inc. Encryption using entropy-based key derivation
CN105243344B (zh) * 2015-11-02 2020-09-01 上海兆芯集成电路有限公司 具有硬盘加密功能的芯片组以及主机控制器
US10798073B2 (en) 2016-08-26 2020-10-06 Nicira, Inc. Secure key management protocol for distributed network encryption
US10146961B1 (en) * 2016-09-23 2018-12-04 EMC IP Holding Company LLC Encrypting replication journals in a storage system
US10708073B2 (en) 2016-11-08 2020-07-07 Honeywell International Inc. Configuration based cryptographic key generation
US10754970B2 (en) * 2017-01-27 2020-08-25 International Business Machines Corporation Data masking
CN109558347B (zh) * 2017-09-27 2023-04-28 成都忆芯科技有限公司 PCIe控制器与使用PCIe控制器的密钥更新
US10733306B2 (en) 2018-03-07 2020-08-04 International Business Machines Corporation Write-only limited-read filesystem
JP7048411B2 (ja) * 2018-05-22 2022-04-05 キオクシア株式会社 メモリシステムおよび制御方法
JP7109992B2 (ja) * 2018-05-22 2022-08-01 キオクシア株式会社 メモリシステムおよび制御方法
US11113409B2 (en) * 2018-10-26 2021-09-07 Pure Storage, Inc. Efficient rekey in a transparent decrypting storage array
US11537725B2 (en) * 2019-09-23 2022-12-27 Amazon Technologies, Inc. Encrypted cross-zone replication for cross-zone replicated block storage devices
US11494108B2 (en) * 2019-09-23 2022-11-08 Amazon Technologies, Inc. Cross-zone replicated block storage devices
US11641276B2 (en) * 2020-06-02 2023-05-02 Western Digital Technologies, Inc. Effective key management for data encryption and decryption
US20220085983A1 (en) * 2020-09-14 2022-03-17 Hewlett Packard Enterprise Development Lp Encryption keys from storage systems

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480096B1 (en) * 1998-07-08 2002-11-12 Motorola, Inc. Method and apparatus for theft deterrence and secure data retrieval in a communication device
US20040143733A1 (en) * 2003-01-16 2004-07-22 Cloverleaf Communication Co. Secure network data storage mediator
US7240219B2 (en) * 2003-05-25 2007-07-03 Sandisk Il Ltd. Method and system for maintaining backup of portable storage devices
US7162647B2 (en) 2004-03-11 2007-01-09 Hitachi, Ltd. Method and apparatus for cryptographic conversion in a data storage system
US7330997B1 (en) * 2004-06-03 2008-02-12 Gary Odom Selective reciprocal backup

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012519320A (ja) * 2009-05-25 2012-08-23 株式会社日立製作所 ストレージ装置及びその制御方法
WO2014109059A1 (ja) * 2013-01-11 2014-07-17 株式会社日立製作所 データの暗号化記憶システム及び方法
JP2013201762A (ja) * 2013-04-26 2013-10-03 Hitachi Ltd ストレージ装置及びその制御方法

Also Published As

Publication number Publication date
US20080260159A1 (en) 2008-10-23
US8140864B2 (en) 2012-03-20

Similar Documents

Publication Publication Date Title
JP2008269173A (ja) 計算機システム、ストレージシステムおよびデータ管理方法
JP4877962B2 (ja) 暗号化機能を備えたストレージサブシステム
US7240197B1 (en) Method and apparatus for encryption and decryption in remote data storage systems
US7689837B2 (en) Storage system, data migration method and management computer
US8422677B2 (en) Storage virtualization apparatus comprising encryption functions
JP4728060B2 (ja) ストレージ装置
JP4643427B2 (ja) 暗号化機能内蔵ストレージシステム
US8438403B2 (en) Storage apparatus
JP4687703B2 (ja) 記録システム、情報処理装置、記憶装置、記録方法及びプログラム
JP2009032038A (ja) リムーバブルな暗号化/復号化モジュールが接続されるストレージシステム
WO2011157242A2 (zh) 文件的保护方法及装置
JP2006302259A (ja) 外部ストレージ装置を管理するための方法
JP5007248B2 (ja) スナップショットを管理する記憶制御装置及び方法
CN101350819A (zh) 信息处理装置和方法、内容提供系统、以及计算机程序
US20090177895A1 (en) Controller for controlling logical volume-related settings
JP2009193125A (ja) 暗号鍵を管理するストレージシステム、計算機システム及び方法
JP4533644B2 (ja) 記録装置
JP2007018401A (ja) 記憶制御装置、記憶制御装置の上位インターフェース制御部及び記憶制御装置の情報保護方法
JP2006260491A (ja) ストレージアレイ装置、暗号化記録システム、暗号化記録読出し方法及びプログラム
JP2007094992A (ja) 記録再生装置
JP2006065503A (ja) 権利情報を格納した記録媒体、情報処理装置及び権利情報の管理方法
JP4555049B2 (ja) 計算機システム、管理計算機、及びデータ管理方法
JP2009157848A (ja) データ送信装置、データ受信装置及びデータ送受信システム
JPWO2009153994A1 (ja) 記録再生装置及び記録再生システム
JP4675644B2 (ja) コンテンツ送信装置、コンテンツ受信装置、及びコンテンツ処理方法