(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-15
(45)【発行日】2022-08-23
(54)【発明の名称】データ転送制御装置、データ転送制御システム及びデータ転送制御方法
(51)【国際特許分類】
H04L 9/08 20060101AFI20220816BHJP
G06F 21/60 20130101ALI20220816BHJP
G06F 11/07 20060101ALI20220816BHJP
【FI】
H04L9/08 C
H04L9/08 E
G06F21/60 320
G06F21/60 360
G06F11/07 140M
G06F11/07 175
(21)【出願番号】P 2019173569
(22)【出願日】2019-09-24
【審査請求日】2021-09-22
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】317011920
【氏名又は名称】東芝デバイス&ストレージ株式会社
(74)【代理人】
【識別番号】110002907
【氏名又は名称】特許業務法人イトーシン国際特許事務所
(72)【発明者】
【氏名】荒牧 康人
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2016-48530(JP,A)
【文献】特開2008-83847(JP,A)
【文献】国際公開第2014/050027(WO,A1)
【文献】米国特許第10049227(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
G06F 21/60
G06F 11/07
(57)【特許請求の範囲】
【請求項1】
データ転送要求に応じて記憶装置に記憶されているデータの転送を制御するデータ転送制御装置であって、
タグ生成要求を受信するとタグ情報を生成し、前記タグ情報を暗号化した暗号化タグ情報を、前記タグ生成要求を送信した装置へ送信するタグ情報送信部と、
前記データ転送要求に関わる前記データが格納されているアドレスが所定のアドレスを含むときは、前記データ転送要求に関わる前記データから、前記所定のアドレスに格納されたデータを加工して、送信用データを生成する送信用データ生成部と、
前記送信用データを、前記タグ情報を用いてスクランブルあるいは暗号化して、前記装置へ送信するデータ送信部と、
を有する、データ転送制御装置。
【請求項2】
前記タグ情報送信部は、非対称鍵暗号処理により前記暗号化タグ情報を生成する、請求項1に記載のデータ転送制御装置。
【請求項3】
揮発性メモリを有し、
前記タグ情報は、前記揮発性メモリに格納される、請求項1に記載のデータ転送制御装置。
【請求項4】
前記データ送信部は、前記タグ情報をハッシュ関数でハッシュ化して生成したマスクパターンを用いて前記送信用データをスクランブルする、請求項1に記載のデータ転送制御装置。
【請求項5】
データを記憶する記憶装置を有する第1装置と、前記第1装置と通信可能な第2装置と、を含むデータ転送制御システムであって、
前記第1装置は、
前記第2装置からタグ生成要求を受信するとタグ情報を生成し、前記タグ情報を暗号化した暗号化タグ情報を、前記第2装置へ送信するタグ情報送信部と、
前記第2装置からのデータ転送要求に関わる前記データが格納されているアドレスが所定のアドレスを含むときは、前記データ転送要求に関わる前記データから、前記所定のアドレスに格納されたデータを加工して、送信用データを生成する送信用データ生成部と、
前記送信用データを、前記タグ情報を用いてスクランブルあるいは暗号化して、前記第2装置へ送信するデータ送信部と、
を有し、
前記第2装置は、
前記タグ生成要求を前記第1装置へ送信した後に、前記データ転送要求を前記第1装置へ送信するデータ転送要求送信部と、
前記第1装置から送信された前記タグ情報を用いて、受信した前記送信用データを逆スクランブルあるいは復号化して、前記データを生成するデータ生成部と、
を有する、
データ転送制御システム。
【請求項6】
データを記憶する記憶装置を有する第1装置から、前記第1装置と通信可能な第2装置へ前記データを転送する、データ転送制御方法であって、
前記第2装置からタグ生成要求を受信するとタグ情報を生成し、前記タグ情報を暗号化した暗号化タグ情報を、前記第2装置へ送信し、
前記第2装置からのデータ転送要求に関わる前記データが格納されているアドレスが所定のアドレスを含むときは、前記データ転送要求に関わる前記データから、前記所定のアドレスに格納されたデータを加工して、送信用データを生成し、
前記送信用データを、前記タグ情報を用いてスクランブルあるいは暗号化して、前記第2装置へ送信し、
前記第2装置から、前記タグ生成要求を前記第1装置へ送信した後に、前記データ転送要求を前記第1装置へ送信し、
前記第1装置から送信された前記タグ情報を用いて、受信した前記送信用データを逆スクランブルあるいは復号化して、前記データを生成する、
データ転送制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、データ転送制御装置、データ転送制御システム及びデータ転送制御方法に関する。
【背景技術】
【0002】
ストレージ装置は、コンピュータに接続されて、各種データの記憶のために用いられる。ストレージ装置は、故障すると、ストレージ装置のメーカにより修理される。一般に、ストレージ装置のメーカにおいては、故障したストレージ装置のログデータなどを解析して、故障原因を調査する。
【0003】
例えば、故障原因を調査するためのログデータなどの調査情報はネットワークを経由して顧客のサーバからメーカのサーバへ送信される。調査情報は、ストレージ装置に関わる秘密情報などを含む場合もあるため、サーバ間での認証が行われた後、調査情報は暗号化されて送信される。
【0004】
しかし、情報セキュリティの観点から、顧客がメーカへの送信を望まない場合がある。そのような場合、メーカのサービスエンジニアが顧客のところへ出向いて調査情報の取得及び解析を行わなければならず、さらに、サービスエンジニアは、秘密情報へのアクセスに注意しながら、調査情報を取得しなければならないため、迅速な故障原因の調査をすることができない。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
そこで、実施形態は、記憶装置に記憶されたデータの中から取得する調査情報の範囲を限定してかつセキュアに転送することができるデータ転送制御装置、データ転送制御システム及びその方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
実施形態のデータ転送制御装置は、データ転送要求に応じて記憶装置に記憶されているデータの転送を制御するデータ転送制御装置であって、タグ生成要求を受信するとタグ情報を生成し、前記タグ情報を暗号化した暗号化タグ情報を、前記タグ生成要求を送信した装置へ送信するタグ情報送信部と、前記データ転送要求に関わる前記データが格納されているアドレスが所定のアドレスを含むときは、前記データ転送要求に関わる前記データから、前記所定のアドレスに格納されたデータを加工して、送信用データを生成する送信用データ生成部と、前記送信用データを、前記タグ情報を用いてスクランブルあるいは暗号化して、前記装置へ送信するデータ送信部と、を有する。
【図面の簡単な説明】
【0008】
【
図1】実施形態に係わるデータ転送制御システムの構成図である。
【
図2】実施形態に係わるストレージ装置の構成を示すブロック図である。
【
図3】実施形態に係わる、メーカのサーバのプロセッサの有する機能を示すブロック図である。
【
図4】実施形態に係わる、ストレージ装置のコントローラの有する機能を示すブロック図である。
【
図5】実施形態に係わる、タグ情報の要求から送信までの流れを示すシーケンス図である。
【
図6】実施形態に係わる、調査情報転送要求から調査情報送信までの流れを示すシーケンス図である。
【
図7】実施形態に係わる調査アドレス情報の構成例を示す図である。
【
図8】実施形態に係わる、平文データをスクランブルしてスクランブルデータを生成する処理例を説明するための図である。
【
図9】実施形態に係わる、スクランブルデータを逆スクランブルして平文データを生成する処理例を説明するための図である。
【
図10】実施形態に係わるマスク領域情報の構成例を示す図である。
【
図11】実施形態に係わる、ストレージ装置内のデータの関連及び流れを説明するための図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して実施形態を説明する。
(構成)
図1は、本実施形態に係わるデータ転送制御システムの構成図である。データ転送制御システム1は、サーバ装置(以下、サーバという)11と、サーバ12とを含む。サーバ11は、メーカAによって管理されている。
【0010】
サーバ12は、例えばデータセンタを有する顧客Bにより管理されている。サーバ12には、複数のストレージ装置14が接続されている。顧客Bの管理するデータセンタは、サーバ12と、複数のストレージ装置14を含んで構成されている。
【0011】
サーバ11と12は、インターネットなどのネットワーク13により通信可能に接続されている。
図1では、サーバ11は、1つのサーバ12と通信可能に接続されているが、他の1以上の顧客のサーバ(図示せず)とも通信可能に接続されている。
【0012】
サーバ11は、プロセッサ11aとメモリ11bを有している。メモリ11bには、各ストレージ装置14の動作ログデータなどの調査情報を取得するための取得プログラム、取得した調査情報を解析する解析プログラム、等が記憶されている。
【0013】
ストレージ装置14は、コントローラ14aと、記憶装置14bを含む。記憶装置14bは、NAND型フラッシュメモリ、ハードディスクドライブなどである。コントローラ14aは、データ転送要求に応じて記憶装置14bに記憶されているデータの転送を制御するデータ転送制御装置である。
【0014】
また、メーカAのサービスエンジニアの所有するパーソナルコンピュータ(以下、PCという)15も、ネットワーク13を介して、サーバ11と12と通信可能となっている。例えば、ストレージ装置14が故障すると、その故障発生は顧客BからメーカAへ連絡される。メーカAは、故障したストレージ装置14への故障原因を調査するための動作ログデータなどの調査情報の転送要求などは、メーカAのサービスエンジニアへ電子メールなどにより行う。
【0015】
動作ログデータは、記憶装置14bの動作履歴などであり、記憶装置14bの所定の記憶領域に自動的に格納され、所定期間の最新の動作ログデータが格納される。すなわち、記憶装置14bは、ストレージ装置14が動作するためのシステムデータ及び動作ログデータなどを格納する領域と、データを格納する領域を有する。
【0016】
なお、メーカAから顧客Bのストレージ装置14への調査情報の送信要求、ストレージ装置14からメーカAへの調査情報の送信などは、
図1の点線で示すように、サーバ11とサーバ12間で直接行ってもよい。従って、データ転送制御システム1は、記憶装置14bを有するストレージ装置14と、ストレージ装置14と通信可能なサーバ11又はPC15と、を含む。
【0017】
図2は、ストレージ装置14の構成を示すブロック図である。ストレージ装置14は、中央処理装置(Central Processing Unit:以下、CPUという)21と、AES(Advanced Encryption Standard)回路(以下、AESと略す)22と、RSA(Rivest-Shamir-Adelman cryptosystem)回路(以下、RSAと略す)23と、SHA(Secure Hash Algorithm)回路(以下、SHAと略す)24と、インターフェース(以下、I/Fと略す)25~28と、SRAM(Static Random Access Memory)29と、UART(Universal Asynchronous Reciever/Transmitter)回路(以下、UARTと略す)30、DRAM(Dynamic Random Access Memory)31と、記憶装置14bを有する。CPU21、AES22、RSA23、SHA24及びI/F25~28は、内部バス32を介して互いに接続されている。
【0018】
例えば、CPU21、AES22、RSA23、SHA24及びI/F25~28、SRAM29及び内部バス32が、SoC(System-on-a-chip)として形成される。
【0019】
ストレージ装置14には、平文データを、暗号化するタイプの暗号装置と、暗号化しないタイプの非暗号装置がある。AES22は、共通鍵を用いて平文データを暗号化する、AES方式に準拠したAES暗号装置である。ストレージ装置14は、暗号装置である場合、AES22を有する。AES22は、記憶装置14bに記憶されるデータの暗号化のために用いられる。ストレージ装置14は、非暗号装置である場合、AES22を有さない。
【0020】
ストレージ装置14が暗号装置である場合、ストレージ装置14内には、暗号化のためのパラメータデータとしての暗号鍵が含まれる。このパラメータデータは、秘密情報である。
【0021】
RSA23は、非対称鍵暗号処理の公開鍵を用いて、平文データのタグ情報TAGを暗号化するRSA暗号装置である。SHA24は、与えられたデータに対してハッシュ値を算出する演算装置である。例えば、SHA24は、SHA-256のハッシュ関数を用いている。なお、RSA23及びSHA24は、コントローラ14aのファームウエア(FW)の更新時の認証にも用いられる。
【0022】
I/F25は、記憶装置14b用のインターフェースである。I/F26は、UART30用のインターフェースである。I/F27は、DRAM31用のインターフェースである。I/F28は、ホストであるサーバ12用のSASあるいはSATA規格のインターフェースである。
【0023】
SRAM29は、揮発性メモリであり、CPU21の主メモリとして、ストレージ装置14の動作に必要な制御プログラム及び各種情報が格納される。ストレージ装置14が起動されると、記憶装置14bに格納されている制御プログラム等は、I/F25を介してSRAM29に格納される。なお、SRAM29には、ストレージ装置14のファームウエア情報(FW)も格納され、サーバ11から更新可能になっている。
【0024】
UART30は、内部バス32に接続するための外部端子(図示せず)に接続されている。UART30は、PC15がCPU21と直接通信するための回路である。UART30は、例えばI/F28等の不調によりストレージ装置14がPC15と通信できないときに、外部端子にRS232CケーブルなどによりPC15を接続して使用する。すなわち、UART30は、PC15とストレージ装置14とを直接接続するための回路である。
【0025】
DRAM31は、バッファメモリとして使用される。CPU21は、PC15から、調査情報の転送を要求する調査情報要求コマンドLRCを受信すると、要求された調査情報を記憶装置14b及びSRAM29からから読み出してDRAM31に一旦格納する。CPU21は、調査情報から送信用データを生成して、DRAM31に格納する。
【0026】
調査情報要求コマンドLRCは、転送要求対象の調査情報のアドレス情報を含む。アドレス情報は、記憶装置14b及びSRAM29の少なくとも一方のアドレスを含む。アドレス情報は、例えば、ストレージ装置14において実行されたコマンドのログデータが格納される記憶領域の範囲を示す複数のアドレス、SRAM29で実行されたプログラム中の特定の状態あるいは値が格納された記憶領域の1以上のアドレスを含んでもよい。
【0027】
SRAM29には、ストレージ装置14の起動時に記憶装置14bから読み出されたマスク領域情報MAIが記憶されている。マスク領域情報MAIは、例えば、データを暗号化するときの暗号鍵、PIN情報などが格納される記憶領域のアドレス情報である。CPU21は、要求された調査情報中に、マスク領域情報MAIで特定される記憶領域のデータを含まないように、調査情報ISを生成する。
【0028】
CPU21は、調査情報ISをスクランブル化した調査情報(以下、スクランブル化調査情報という)ISsを送信データとしてI/F28へ出力する。スクランブル化調査情報ISsは、PC15へ送信される。なお、調査情報要求コマンドLRCが、UART30を介して受信されたときは、CPU21は、スクランブル化調査情報ISsをUART30へ出力する。
【0029】
サーバ11は、ストレージ装置14からのスクランブル化調査情報ISsを逆スクランブル化して、調査情報ISを得ることができる。サーバ11は、得られた調査情報ISを解析して故障原因を調査するための各種機能を有している。ストレージ装置14も、サーバ11へ調査情報を送信するための各種機能を有している。
【0030】
図3は、プロセッサ11aの有する機能を示すブロック図である。プロセッサ11aは、タグ情報を要求し取得するタグ情報要求/取得部41と、調査情報を要求し取得するための調査情報要求/取得部42と、データに対してスクランブル/逆スクランブルを行うためのスクランブル/逆スクランブル部43を有する。
【0031】
プロセッサ11aは、CPU、ROM、RAMなどを含む。プロセッサ11aのCPUがメモリ11b及びROMから必要なプログラムを読み出してRAMに展開して実行することにより、タグ情報要求/取得部41、調査情報要求/取得部42及びスクランブル/逆スクランブル部43の各部の機能が実現される。
【0032】
タグ情報要求/取得部41は、PC15へのタグ情報要求依頼の電子メールなどの送信と、PC15からのタグ情報に関するデータを取得する電子メールなどの処理を行う。その場合、PC15は、タグ情報要求コマンドTRCをサーバ12へ送信し、サーバ12からタグ情報に関するデータを取得する。
【0033】
なお、サーバ11がタグ情報要求コマンドTRCをサーバ12へ直接送信する場合は、タグ情報要求/取得部41は、タグ情報要求コマンドTRCをサーバ12へ送信し、サーバ12からタグ情報に関するデータを取得する処理も含む。
【0034】
さらに、調査情報要求/取得部42は、PC15への調査情報要求依頼の電子メールなどの送信と、PC15からの調査情報に関するデータを取得する電子メールなどの処理を行う。その場合、PC15が、調査情報要求コマンドLRCをサーバ12へ送信し、サーバ12から調査情報に関するデータを取得する。
【0035】
なお、サーバ11が調査情報要求コマンドLRCをサーバ12へ直接送信する場合は、調査情報要求/取得部42は、調査情報要求コマンドLRCをサーバ12へ送信し、サーバ12から調査情報に関するデータを取得する処理も含む。
【0036】
なお、タグ情報要求/取得部41、調査情報要求/取得部42及びスクランブル/逆スクランブル部43の各機能は、プロセッサ11aのCPUによるソフトウエアにより実現されているが、プロセッサ11aは、各機能の全部又は一部をFPGA(Field Programmable Gate Array)などの電子回路により実現するようにしてもよい。
【0037】
図4は、コントローラ14aの有する機能を示すブロック図である。コントローラ14aは、タグ情報TAGを生成し送信するためのタグ情報生成/送信部51と、調査情報ISを生成し送信するための調査情報生成/送信部52と、スクランブル/逆スクランブルを行うためのスクランブル/逆スクランブル部53と、送信データを加工するためのデータ加工部54を有する。CPU21が記憶装置14bから必要なプログラムを読み出してSRAM29に展開して実行することにより、タグ情報生成/送信部51、調査情報生成/送信部52、スクランブル/逆スクランブル部53及びデータ加工部54の各機能が実現される。
【0038】
なお、タグ情報生成/送信部51、調査情報生成/送信部52、スクランブル/逆スクランブル部53及びデータ加工部54の機能の一部は、CPU21によるソフトウエアにより実現されているが、コントローラ14aは、各機能の全部又は一部を、FPGAなどの電子回路により実現するようにしてもよい。
【0039】
(作用)
次に、複数のストレージ装置14のうちの1つが故障したときに、データ転送制御システム1における調査情報の送信処理について説明する。ストレージ装置14の故障には、ストレージ装置14が起動しない、データが読めない、等々の種々の故障がある。
【0040】
[タグデータの送受信]
図5は、タグ情報TAGの要求から送信までの流れを示すシーケンス図である。
図5の処理は、サーバ11のタグ情報要求/取得部41とスクランブル/逆スクランブル部43、及びストレージ装置14のタグ情報生成/送信部51とスクランブル/逆スクランブル部53により実行される。複数のストレージ装置14のうちの1つ、例えば
図1のストレージ装置14x、が故障すると、顧客Bは、メーカAに対して修理の依頼をする。
【0041】
メーカAは、タグ情報TAGを要求するタグ要求依頼を、サービスエンジニアへ伝える。タグ要求依頼は、例えばメーカAからサービスエンジニアに、電子メール等により通知される。
図5において、一点鎖線は、電子メール、サーバメールなどによるデータの送受信を示し、二点鎖線は、I/F28あるいはUART30によるコマンド等の送受信を示す。
【0042】
サービスエンジニアは、タグ要求依頼に基づいてタグ要求コマンドTRCを、サーバ12を経由してPC15から、故障したストレージ装置14xに送信する。なお、タグ要求コマンドTRCは、PC15からストレージ装置14xのコントローラ14aに送信されているが、サーバ11から直接送信してもよい。
【0043】
ストレージ装置14xのCPU21は、タグ要求コマンドTRCを受信すると、タグ情報生成/送信部51のプログラムを実行し、タグ情報TAGを生成する。タグ情報TAGは、SRAM29に格納される。タグ情報生成/送信部51は、乱数生成プログラムにより生成した乱数値をタグ情報TAGとする。
【0044】
ここで、タグ情報TAGを、SRAM29に格納するのは、ストレージ装置14xが盗難された場合に、タグ情報TAGが消去されるようにするためである。ストレージ装置14の電源がオフになると、SRAM29からタグ情報TAGが消えるため、第三者は、暗号化された調査情報などを復号することが出来ない。さらに、サービスエンジニアが所定のコマンドを用いて遠隔でストレージ装置14の電源をオフしたり、リセットしたりすることで、サービスエンジニアは意図的にタグ情報TAGを消去することもできる。また、顧客Bも、ストレージ装置14の電源をオフしたり、リセットしたりすることで、意図的にかつ素早くタグ情報TAGを消去することができる。
【0045】
ストレージ装置14の電源オフ後あるいはリセット後、メーカAが調査情報などの取得を再度行うときは、新しい値のタグ情報TAGが生成される。サーバ11は、新しいタグ情報TAGを用いて、調査情報ISを取得することができる。
【0046】
また、コントローラ14aは、RSA23の非対称暗号の公開鍵PKを予め有している。CPU21は、生成したタグ情報TAGを公開鍵PKにより秘匿化したタグデータCPK(TAG)をPC15へ送信する。すなわち、非対称鍵暗号処理により、タグ情報TAGを暗号化して、暗号化タグ情報であるタグデータCPK(TAG)が生成される。乱数値であるタグ情報TAGは、公開鍵により秘匿化することによって、暗号化される。
【0047】
タグ情報TAGの生成、及びタグデータCPK(TAG)の送信は、タグ情報生成/送信部51により行われる。よって、タグ情報生成/送信部51は、タグ生成要求を受信すると、タグ情報TAGを生成し、そのタグ情報TAGを暗号化した暗号化タグ情報(タグデータCPK(TAG))を、タグ生成要求を送信した装置(ここではPC15)へ送信するタグ情報送信部を構成する。
【0048】
タグデータCPK(TAG)をPC15へ送信した後、ストレージ装置14では、そのタグ情報TAGは有効となる。タグ情報TAGを公開鍵PKによりタグデータCPK(TAG)を生成する暗号化処理は、RSA23を利用して行われる。
【0049】
サービスエンジニアは、受信したタグデータCPK(TAG)をサーバ11へ送信する。メーカAは、公開鍵PKに対応する非対称暗号の秘密鍵SKを予め有している。よって、サーバ11では、受信したタグデータCPK(TAG)を、秘密鍵SKにより復号して平文のタグ情報TAGを得ることができる。タグ情報要求/取得部41は、秘密鍵SKにより復号化して平文のタグ情報TAGを取得する処理を行う。
【0050】
よって、タグデータCPK(TAG)が第三者に取得されても、非対称暗号の公開鍵PKによって暗号化されているので、その第三者は、秘密鍵SKを有していなければ、タグ情報TAGを取得することはできない。その結果、他の顧客のデータも含めて、ストレージ装置14のデータの危殆化を防ぐことができる。取得されたタグ情報TAGは、スクランブル処理において用いられる。
【0051】
[調査情報の送受信]
次に、メーカAが調査情報ISを要求して取得する処理シーケンスについて説明する。
図6は、調査情報の転送要求から送信までの流れを示すシーケンス図である。
図6の処理は、サーバ11の調査情報要求/取得部42とスクランブル/逆スクランブル部43、及びストレージ装置14の調査情報生成/送信部52とスクランブル/逆スクランブル部53とデータ加工部54により実行される。
【0052】
メーカAは、タグ情報TAGを取得すると、調査情報を要求する調査情報要求依頼を、サービスエンジニアへ伝える。調査情報要求依頼は、例えばメーカAからサービスエンジニアに、電子メール等により通知される。
図6において、一点鎖線は、電子メール、サーバメールなどによる送受信を示し、二点鎖線は、I/F28あるいはUART30による送受信を示す。
【0053】
さらに、メーカAは、故障したストレージ装置14xの故障原因を調査するために有効な情報が格納されている調査アドレス情報SAIも、サービスエンジニアに伝える。調査アドレス情報SAIは、記憶装置14b及びSRAM29の少なくとも1つのアドレス情報を含む。調査アドレス情報SAIは、故障原因を調査するために有効なデータが格納されているメモリ領域のアドレスの情報であり、特定のアドレス、特定の範囲を示すアドレス、等である。
例えば、調査アドレス情報SAIは、故障直前の所定数のあるいは所定期間内の動作ログデータが格納されている記憶装置14b中のアドレスの範囲情報、実行されているプログラム中に含まれる値が格納されているSRAM29中のアドレス、等々である。
【0054】
図7は、調査アドレス情報SAIの構成例を示す図である。
図7の調査アドレス情報SAIは、記憶装置14b中の調査情報が格納された記憶領域の先頭アドレスと、その先頭アドレスからの連続するデータバイト数とを一対のデータとする、リストデータである。調査アドレス情報SAIは、リスト数、1又は2以上の先頭アドレス、1又は2以上のデータバイト数のデータを含む。なお、調査アドレス情報SAIは、
図7以外の構成でもよい。
【0055】
サービスエンジニアは、調査情報要求コマンドLRCを、ストレージ装置14xにPC15から送信する。なお、調査情報要求コマンドLRCは、サービスエンジニアのPC15からストレージ装置14xのコントローラ14aに送信されているが、サーバ11からストレージ装置14xに直接送信してもよい。
【0056】
以上のように、PC15(あるいはサーバ11)は、タグ生成要求をストレージ装置14へ送信した後に、データ転送要求をストレージ装置14へ送信する。サーバ11の場合、データ転送要求は、データ転送要求送信部42により実行される。
【0057】
[サーバ11における調査アドレス情報のスクランブル化]
調査アドレス情報SAIは、ある意味において秘密情報でもあるため、スクランブルされてストレージ装置14へ送信される。調査アドレス情報SAIは、サーバ11で、タグ情報TAGを用いてスクランブル/逆スクランブル部43によりクランブル化(暗号化)される。スクランブル化された調査アドレス情報(以下、スクランブル化調査アドレス情報という)SAIsは、サーバ11からPC15へ送信される。
【0058】
これらの処理は、調査情報要求/取得部42とスクランブル/逆スクランブル部43により実行される。よって、調査情報要求/取得部42とスクランブル/逆スクランブル部43は、復号化したタグ情報TAGを用いてスクランブル化したアドレスを暗号化アドレス情報としてPC15へ送信する暗号化アドレス情報送信部を構成する。
【0059】
サービスエンジニアは、調査情報要求コマンドLRCと、スクランブル化調査アドレス情報SAIsとを、PC15からストレージ装置14xへ送信する。このとき、調査アドレス情報SAIは、スクランブル化されているので、サービスエンジニア及び顧客Bは、調査アドレス情報SAIを知ることはできない。
【0060】
図8は、平文データをスクランブルしてスクランブルデータを生成する処理例を説明するための図である。スクランブル化されるデータは、データ部、CRC部及びPad部を含む平文である。データ部には、調査アドレス情報SAIが格納される。CRC部には、データ部について生成された巡回冗長検査(Cyclic Redundancy Check)用のCRC値が格納される。Pad部は、データ長の調整用データが格納される。なお、CRC値に代えて、ハッシュ値を誤り検査用に用いてもよい。
【0061】
スクランブル化される平文は、複数の平文データP(0)、P(1)、P(2)、・・・、P(n)に分割される。例えば32バイト長で分割すると、nは((L/32)-1)である。Lは、スクランブルをかけるデータの総データ長である。
【0062】
図8に示すように、各平文データと、32バイトのマスクパターンMとの排他的論理和を取ることにより、複数のスクランブルされたデータが生成される。具体的には、マスクパターンMの初期値を「0」として、マスクパターンMとタグ情報TAGとの排他的論理和のデータをハッシュ化して生成された新たなマスクパターンMを用いて、各平文データのスクランブル化されたデータが生成される。すなわち、送信用データは、タグ情報TAGをハッシュ関数でハッシュ化して生成したマスクパターンMを用いてスクランブルされる。マスクパターンMは、SHA24と同じハッシュ関数により生成される。
【0063】
例えば、次の式(プログラム)を用いて、各スクランブルデータが算出される。
M=0
for i=0 to n
M=Hash(M xor TAG)
S(i)=P(i) xor M
iは、カウンタであり、0からnまで変化する。S(i)は、各平文データP(i)に対応したスクランブルデータである。
【0064】
[ストレージ装置14における調査アドレス情報の逆スクランブル化]
ストレージ装置14は、PC15からスクランブル化調査アドレス情報SAIsを受信すると、コントローラ14aにおいてタグ情報TAGを用いて逆スクランブルを行って調査アドレス情報SAIを生成する。タグ情報TAGを用いた逆スクランブルは、スクランブル/逆スクランブル部53により実行される。
【0065】
図9は、スクランブルデータを逆スクランブルして平文データを生成する処理例を説明するための図である。分割されたスクランブルデータ毎に、マスクパターンMとの排他的論理和を取ることにより、逆スクランブル化された平文が生成される。具体的には、マスクパターンMの初期値を「0」として、マスクパターンMとタグ情報TAGとの排他的論理和のデータをハッシュ化して生成された新たなマスクパターンMを用いて、スクランブルデータの平文データを生成する。分割されたスクランブルデータ毎に新たに生成されたマスクパターンを用いることにより、スクランブルデータの各平文データが生成される。マスクパターンMは、SHA24によりハッシュ化される。
【0066】
例えば、次の式(プログラム)を用いて、各平文データが算出される。
M=0
for i=0 to n
M=Hash(M xor TAG)
P(i)=S(i) xor M
スクランブル化調査アドレス情報SAIsは、SHA24を用いて逆スクランブルされるので、ストレージ装置14は、平文の調査アドレス情報SAIを取得することができる。コントローラ14aは、調査アドレス情報SAIをSRAM29に格納する。
【0067】
ストレージ装置14の調査情報生成/送信部52とスクランブル/逆スクランブル部53が、タグ情報TAGを用いてスクランブル化調査アドレス情報SAIsを復号化することにより、調査アドレス情報SAIを取得するアドレス取得部を構成する。
【0068】
調査アドレス情報SAIは、CRCによって誤り検出が行われる。誤りが検出されると、コントローラ14aは、逆スクランブルに失敗したこと示す報告データを、PC15へ通知する。その結果、サーバ11あるいはPC15は、スクランブル化調査アドレス情報SAIsを再送することができる。
【0069】
[ストレージ装置14における調査情報の生成]
以上のように、コントローラ14aは、調査アドレス情報SAIで指定されたアドレスのデータを取得する。そして、CPU21は、その調査アドレス情報SAIに基づいて、記憶装置14b及びSRAM29から調査情報ISを読み出して、DRAM31に一時的に格納する。
【0070】
このとき、CPU21は、SRAM29に格納されているマスク領域情報MAIを参照して、マスク領域情報MAIで指定された記憶領域のデータを調査情報ISに含めない加工処理を実行する。
【0071】
図10は、マスク領域情報MAIの構成例を示す図である。マスク領域情報MAIは、記憶装置14b中の、ユーザデータ用の暗号鍵、PIN情報などの情報が格納された記憶領域の先頭アドレスと、その先頭アドレスからの連続するデータバイト数とを一対のデータとする、リストデータである。
図10のマスク領域情報MAIは、1又は2以上の先頭アドレス、1又は2以上のデータバイト数のデータを含む。なお、マスク領域情報MAIの構成は、
図10に示す構成以外の構成でもよい。
【0072】
CPU21は、調査アドレス情報SAI中にマスク領域情報MAIのアドレスが含まれるときは、記憶装置14b及びSRAM29から調査情報を読み出す。CPU21は、その読み出した調査情報からマスク領域情報MAIのデータを削除して、DRAM31に格納する。あるいは、CPU21は、マスク領域情報MAIのデータを除いた調査情報を読み出し、DRAM31に格納する。調査情報ISは、ストレージ装置14の動作ログデータなどを含む。
【0073】
すなわち、CPU21は、調査アドレス情報SAIにより指定された記憶領域のデータであるとき、調査情報ISにマスク領域情報MAIで指定された記憶領域のデータが含まれないように加工して調査情報ISを生成する。言い換えれば、マスク領域情報MAIにより指定されたデータは、調査アドレス情報SAIで指定されても、ストレージ装置14からPC15へ送信されない。よって、ユーザデータ用の暗号鍵、PIN情報などのデータが、調査情報ISに含まれて出力されることが抑止される。マスク領域情報MAIで指定された記憶領域のデータの削除は、データ加工部54により実行される。
【0074】
なお、CPU21は、マスク領域情報MAIで指定された記憶領域のデータが調査情報ISに含まれないようにしているが、ユーザのデータを暗号化するための暗号鍵、PIN情報などのデータの出力の抑止は、他の方法を用いてもよい。
【0075】
例えば、第1の変形例として、調査アドレス情報SAIがマスク領域情報MAIのアドレスを含むときは、そのマスク領域情報MAIのアドレスのデータを特定の値、例えば「0x0000」、「0xFFFF」に変更するようにしてもよい。
【0076】
あるいは、第2の変形例として、調査アドレス情報SAIがマスク領域情報MAIのアドレスを含むときは、調査情報要求コマンドLRCを無効として、コマンドのステータスをエラーにして、PC15へエラーコードで返信するようにしてもよい。
【0077】
また、第3の変形例として、調査アドレス情報SAIがマスク領域情報MAIのアドレスを含むときは、ユーザデータ用の暗号鍵、PIN情報などのデータの出力の抑止を行うと共に、ユーザデータ用の暗号鍵、PIN情報などのデータを消去し、その後変更するようにしてもよい。
【0078】
[ストレージ装置14における調査情報のスクランブル化と送信]
DRAM31に格納された調査情報ISは、タグ情報TAGを用いてスクランブル処理されて、送信用のスクランブル化調査情報ISsとしてDRAM31に格納される。調査情報ISのスクランブル化は、スクランブル/逆スクランブル部53により、
図8に示す方法と同じ方法で行われる。
【0079】
ストレージ装置14は、調査情報をスクランブル化してPC15へ送信する。調査情報生成/送信部52及びデータ加工部54が、調査情報要求コマンドLRCに関わるデータが格納されているアドレスが所定のアドレスを含むときは、調査情報要求コマンドLRCに関わるデータから、所定のアドレスに格納されたデータを加工(変更あるいは削除)して、送信用データを生成する送信用データ生成部を構成する。そして、調査情報生成/送信部52及びスクランブル/逆スクランブル部53が、送信用データを、タグ情報TAGを用いてスクランブル化して、PC15へ送信するデータ送信部を構成する。スクランブル/逆スクランブル部53は、送信用データをスクランブルするとき、タグ情報TAGをハッシュ関数でハッシュ化して生成したマスクパターンMを用いて送信用データをスクランブルする。
【0080】
スクランブル化調査情報ISsは、PC15に送信され、PC15からサーバ11へ送信される。スクランブル化調査情報ISsは、ユーザデータ用の暗号鍵、PIN情報などのデータを含まない。
【0081】
[サーバ11における調査情報の逆スクランブル化]
サーバ11は、スクランブル化調査情報ISsを受信すると、タグ情報TAGを用いて逆スクランブルを行って平文の調査情報ISを生成する。スクランブル化調査情報ISsの逆スクランブル化は、
図9に示す方法と同じ方法で行われる。
【0082】
これらの処理は、調査情報要求/取得部42とスクランブル/逆スクランブル部43により行われる。調査情報要求/取得部42とスクランブル/逆スクランブル部43は、受信したタグ情報TAGを用いて、受信したデータを逆スクランブルあるいは復号化して、平文の調査情報ISを生成するデータ生成部を構成する。平文の調査情報ISは、ストレージ装置14の故障原因を調査するための解析に用いられる。
【0083】
なお、PC15は、ストレージ装置14に対してリセットあるいは電源オフの制御信号を送ることができるようになっている。コントローラ14aは、リセット指示あるいは電源オフ指示のコマンドを受信すると、ストレージ装置14のリセットあるいは電源オフを行う。タグ情報TAGは、SRAM29に格納されているので、サービスエンジニアは、調査情報ISの取得後、ストレージ装置14のリセットあるいは電源オフを行うことにより、タグ情報TAGを消去することができる。その後、生成されたタグ情報TAGは、そのストレージ装置14では有効ではなくなる。
【0084】
図11は、ストレージ装置14内のデータの関連及び流れを説明するための図である。
図11において、太い実線は、スクランブル化情報の流れを示す。細い実線は、コマンドの流れを示す。点線は、タグデータの流れを示す。太い一点鎖線は、記憶装置14bからの平文の調査情報の流れを示す。細い一点鎖線は、SRAM29からの平文の調査情報の流れを示す。二点鎖線は、マスクパターンの流れを示す。
【0085】
以上のように、本実施形態によれば、故障したストレージ装置14をメーカAに送付して修理したり、あるいはサービスエンジニアが顧客Bの所へ出向いたりしなくても、セキュアに調査情報をメーカAへ送信して解析を迅速に行うことができる。
【0086】
また、デジタル署名機能に用いられる秘密鍵と公開鍵を利用して、タグ情報をストレージ装置14からサーバ11へセキュアに送信し、そのタグ情報を利用したマスクパターンで調査情報のアドレス情報を暗号化している。これにより、調査情報のアドレス情報もセキュアにサーバ11からストレージ装置14に送信することができる。調査情報の送受信の前に認証などの処理を行わないので、ストレージ装置14の調査情報を簡単にかつ迅速にメーカAへ送信して、故障原因の調査、故障対応を迅速にすることができる。
【0087】
また、タグ情報TAGは、秘密鍵を有するメーカAしか知らないので、秘密鍵を有するメーカA以外の者は、スクランブル化調査情報ISsを復号化することはできない。
【0088】
さらに、タグ情報TAGは、ストレージ装置14においてタグ生成要求の度に生成される。タグ情報TAGは、ストレージ装置14の揮発性メモリに格納されるので、ストレージ装置14の電源がオフあるいはストレージ装置14がリセットされると、完全に消去される。したがって、送信された調査情報は、セキュアな状態を保つことができる。
【0089】
また、ハッシュ関数を用いたスクランブル化データの送受信を利用している。そのため、ストレージ装置14が、AES等の暗号回路を有していない非暗号装置でも、調査情報ISを暗号化して送信することができる。
【0090】
調査情報ISは、ストレージ装置14が暗号装置である場合は、AES22を用いて暗号化してストレージ装置14からサーバ11へ送信するようにしてもよい。
【0091】
また、メーカAは不必要な情報を取得しないように、範囲を特定して調査情報ISを取得することができる。さらに、ストレージ装置14は、特定された範囲に送信すべきでない情報、例えば暗号装置の暗号化パラメータデータなどの情報が含まれているときは、その情報の送信を阻止することもできる。
【0092】
上述した実施形態は、顧客はデータセンタを運用する企業の例であるが、顧客は、個人顧客でもよい。
【0093】
以上のように、本実施形態によれば、記憶されたデータの中から取得する調査情報の範囲を限定してかつセキュアに転送することができるデータ転送制御装置、データ転送制御システム及びその方法を提供することができる。
【0094】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として例示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0095】
1 データ転送制御システム、11 サーバ、11a プロセッサ、11b メモリ、12 サーバ、13 ネットワーク、14 ストレージ装置、14a コントローラ、14b 記憶装置、14x ストレージ装置、32 内部バス、41 タグ情報要求/取得部、42 調査情報要求/取得部、43 スクランブル/逆スクランブル部、51 タグ情報生成/送信部、52 調査情報生成/送信部、53 スクランブル/逆スクランブル部、54 データ加工部。