IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 東芝メモリ株式会社の特許一覧

<>
  • 特開-情報処理システム 図1
  • 特開-情報処理システム 図2
  • 特開-情報処理システム 図3
  • 特開-情報処理システム 図4
  • 特開-情報処理システム 図5
  • 特開-情報処理システム 図6
  • 特開-情報処理システム 図7
  • 特開-情報処理システム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024155131
(43)【公開日】2024-10-31
(54)【発明の名称】情報処理システム
(51)【国際特許分類】
   H04L 9/32 20060101AFI20241024BHJP
   G06F 21/60 20130101ALI20241024BHJP
【FI】
H04L9/32 200A
H04L9/32 200F
G06F21/60 320
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023069573
(22)【出願日】2023-04-20
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【弁理士】
【氏名又は名称】赤岡 明
(72)【発明者】
【氏名】南本 健之
(57)【要約】
【課題】メモリシステムの暗号機能を外部から試験可能な情報処理システムの提供。
【解決手段】情報処理システムのメモリシステムは、乱数をホストへ送信し、認証キーを用いて乱数を暗号化することにより第1参照データを生成し、第1暗号データが第1参照データと一致する場合に認証処理の結果をホストに送信し、ホストから動作モードの要求を受信し、検証キーを用いて検証データを暗号化または復号することにより、処理データを生成し、処理データをホストに送信する。ホストは、乱数を認証キーを用いて暗号化することにより、第1暗号データを生成し、第1暗号データをメモリシステムへ送信し、認証処理の結果を受信した場合に、第1モードの動作の要求をメモリシステムに送信し、第2メモリから読み出した検証キーおよび検証データをメモリシステムへ送信し、処理データが第2参照データと一致する場合に、暗号器が正常であることを示す正常通知を生成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
メモリシステムと前記メモリシステムに通信可能に接続されたホストとを備え、
前記メモリシステムは、
データを暗号化または復号する暗号器と、
乱数を生成する乱数生成器と、
認証キーを記憶する第1メモリとを備え、
前記ホストは、前記認証キー、暗号キーである検証キー、平文または暗文の検証データ、および、前記検証データを前記検証キーで暗号化または復号した第2参照データを記憶する第2メモリを備え、
前記メモリシステムは、
前記乱数を前記ホストへ送信し、
前記認証キーを用いて前記乱数を暗号化することにより、第1参照データを生成し、
受信した第1暗号データが前記第1参照データと一致する場合に、認証処理の結果を前記ホストに送信し、
前記ホストから動作モードの要求を受信し、
受信した検証キーを用いて受信した検証データを暗号化または復号することにより、処理データを生成し、
生成した前記処理データを前記ホストに送信し、
前記ホストは、
受信した前記乱数を前記認証キーを用いて暗号化することにより、前記第1暗号データを生成し、
生成した前記第1暗号データを前記メモリシステムへ送信し、
前記認証処理の結果を受信した場合に、第1モードの動作の要求を前記メモリシステムに送信し、
前記第2メモリから読み出した前記検証キーおよび前記検証データを前記メモリシステムへ送信し、
受信した前記処理データが前記第2参照データと一致する場合に、前記暗号器が正常であることを示す正常通知を生成する、
情報処理システム。
【請求項2】
前記メモリシステムは、前記第1暗号データと前記第1参照データとが一致する場合に、前記ホストの認証処理の結果を認証し、
前記第1暗号データと前記第1参照データとが一致しない場合に、前記ホストの認証処理の結果を認証しない、
請求項1に記載の情報処理システム。
【請求項3】
前記ホストは、
受信した前記処理データと前記第2参照データとが一致しない場合に、前記暗号器の暗号化機能が正常でないことを示す異常通知を生成する、
請求項1または請求項2に記載の情報処理システム。
【請求項4】
メモリシステムと前記メモリシステムに通信可能に接続されたホストとを備え、
前記メモリシステムは、
データを暗号化または復号する暗号器と、
乱数を生成する乱数生成器と、
暗号キーである第1検証キーを記憶する第1メモリとを備え、
前記ホストは、前記認証キー、および、平文または暗文の検証データを記憶する第2メモリを備え、
前記メモリシステムは、
前記乱数を前記ホストへ送信し、
前記認証キーを用いて前記乱数を暗号化することにより、第1参照データを生成し、
受信した第1暗号データが前記第1参照データと一致する場合に、認証処理の結果を前記ホストに送信し、
前記ホストから動作モードの要求を受信し、
前記第1検証キーを前記暗号器および前記ホストへ送信し、
受信した前記検証データを前記第1検証キーで暗号化または復号することにより、第1処理データを生成し、
生成した前記第1処理データを前記ホストへ送信し、
前記ホストは、
受信した前記乱数を前記認証キーを用いて暗号化することにより、前記第1暗号データを生成し、
生成した前記第1暗号データを前記メモリシステムへ送信し、
前記認証処理の結果を受信した場合に、第2モードの動作の要求を前記メモリシステムに送信し、
受信した前記第1検証キーで前記検証データを暗号化または復号することにより、第2参照データを生成し、
受信した前記第1処理データが前記第2参照データと一致する場合に、前記暗号器が正常であることを示す正常通知を生成する、
情報処理システム。
【請求項5】
前記メモリシステムは、前記第1暗号データと前記第1参照データとが一致する場合に、前記ホストの認証処理の結果を認証し、
前記第1暗号データと前記第1参照データとが一致しない場合に、前記ホストの認証処理の結果を認証しない、
請求項4に記載の情報処理システム。
【請求項6】
前記ホストは、
受信した前記処理データと前記第2参照データとが一致しない場合に、前記暗号器の暗号化機能が正常でないことを示す異常通知を生成する、
請求項4または請求項5に記載の情報処理システム。
【請求項7】
前記メモリシステムは、
暗号キーである第2検証キーを生成し、
前記第2検証キーを前記第1メモリおよび前記暗号器へ送信し、
受信した第2検証データを前記第2検証キーを用いて暗号化または復号することにより、第2処理データを生成し、
前記第2処理データを前記ホストへ送信し、
前記ホストは、
第2検証データを前記メモリシステムへ送信し、
受信した前記第2処理データが前記第2参照データと異なる場合に、前記第1検証キーが前記第2検証キーに更新されたことを示す更新通知を生成する、
請求項4に記載の情報処理システム。
【請求項8】
前記ホストは、
受信した前記第2処理データが前記第2参照データと一致する場合に、前記第1検証キーが前記第2検証キーに更新されていないことを示す非更新通知を生成する、
請求項4に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、情報処理システムに関する。
【背景技術】
【0002】
従来、メモリシステムの暗号機能を外部から試験することができなかった。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第5266713号
【特許文献2】特開2011-091315号
【特許文献3】米国特許公開第2020/01501775号
【特許文献4】特開2016-035637号
【発明の概要】
【発明が解決しようとする課題】
【0004】
メモリシステムの暗号機能を外部から試験することができる情報処理システムを提供すること。
【課題を解決するための手段】
【0005】
本実施形態に係る情報処理システムは、メモリシステムとメモリシステムに通信可能に接続されたホストとを備える。メモリシステムは、データを暗号化または復号する暗号器と、乱数を生成する乱数生成器と、認証キーを記憶する第1メモリとを備える。ホストは、認証キー、暗号キーである検証キー、平文または暗文の検証データ、および、検証データを検証キーで暗号化または復号した第2参照データを記憶する第2メモリを備える。メモリシステムは、乱数をホストへ送信し、認証キーを用いて乱数を暗号化することにより、第1参照データを生成し、受信した第1暗号データが第1参照データと一致する場合に、認証処理の結果をホストに送信し、ホストから動作モードの要求を受信し、受信した検証キーを用いて受信した検証データを暗号化または復号することにより、処理データを生成し、生成した処理データをホストに送信する。ホストは、受信した乱数を認証キーを用いて暗号化することにより、第1暗号データを生成し、生成した第1暗号データをメモリシステムへ送信し、認証処理の結果を受信した場合に、第1モードの動作の要求をメモリシステムに送信し、第2メモリから読み出した検証キーおよび検証データをメモリシステムへ送信し、受信した処理データが第2参照データと一致する場合に、暗号器が正常であることを示す正常通知を生成する。
【図面の簡単な説明】
【0006】
図1】第1実施形態に係る情報処理システムの構成例を示すブロック図。
図2】第1実施形態に係るホストの認証、暗号器の検証の一例を示すフロー図。
図3】第1実施形態に係る認証処理の一例を示すシーケンス図。
図4】第1実施形態に係る第1モードにおける暗号器の暗号化機能の検証処理例を示すシーケンス図。
図5】第1実施形態に係る第2モードにおける暗号器の暗号化機能の検証処理例を示すシーケンス図。
図6】第1実施形態に係る検証キーの更新処理の一例を示すシーケンス図。
図7】第1実施形態に係る第1モードにおける暗号器の復号機能の検証処理例を示すシーケンス図。
図8】第1実施形態に係る第2モードにおける暗号器の復号機能の検証処理例を示すシーケンス図。
【発明を実施するための形態】
【0007】
以下、図面を参照して本発明に係る実施形態を説明する。明細書と図面において、同一の要素には同一の符号を付す。
【0008】
図1は、第1実施形態に係る情報処理システム1の構成例を示すブロック図である。
【0009】
情報処理システム1は、メモリシステム2と、ホスト3とを備えている。メモリシステム2とホスト3は、インタフェース20およびインタフェース30を介して通信可能に接続されている。
【0010】
メモリシステム2は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)である。メモリシステム2は、インタフェース20を介して、外部からデータを受信する。また、メモリシステム2は、インタフェース20を介して、外部へデータを送信する。
【0011】
ホスト3は、メモリシステム2の外部の情報処理装置である。ホスト3は、例えば、サーバまたはPC(パーソナルコンピュータ)である。ホスト3は、メモリシステム2に接続されている。ホスト3は、インタフェース30を介して、データをメモリシステム2へ送信する。また、ホスト3は、インタフェース30を介して、メモリシステム2からデータを受信する。ホスト3は、メモリシステム2から認証処理の結果を受信した場合に、動作モードの要求を前記メモリシステムに送信する。動作モードの要求とは、例えば、第1モードの動作の要求または第2モードの動作の要求である。認証処理、第1モード、第2モードについては後ほど説明する。
【0012】
メモリシステム2は、インタフェース20、暗号器21、バッファ22、メインストレージ23、暗号器24、乱数生成器25、CPU(Central Processing Unit)26、CPU27、バス28およびメモリ29を備えている。メモリシステム2は、単一の半導体チップで構成され得る。あるいは、メモリシステム2は、複数の半導体チップを組み合わせたモジュールで構成され得る。
【0013】
インタフェース20は、外部からデータを受信する。また、インタフェース20は、データを外部へ送信する。
【0014】
暗号器21は、例えば、AES(Advanced Encryption Standard)に準拠した暗号器である。暗号器21は、例えば、ロジック回路である。暗号器21は、暗号化または復号を行う。
【0015】
バッファ22は、書き換え可能なメモリである。バッファ22は、例えば、RAM(Random Access Memory)である。バッファ22は、暗号器21または暗号器24で暗号化された暗号データを一時的に保持する。
【0016】
メインストレージ23は、不揮発性のメモリである。メインストレージ23は、例えば、NAND型フラッシュメモリである。メインストレージ23は、バッファ22に一時的に保持された暗号データを記憶する。
【0017】
暗号器24は、例えば、RSA方式に準拠した暗号器である。暗号器24は、例えば、ロジック回路である。暗号器24は、暗号化または復号を行う。
【0018】
乱数生成器25は、例えば、乱数を発生する装置である。乱数生成器25は、乱数を生成する。
【0019】
CPU26は、演算処理装置である。CPU26は、インタフェース20、暗号器21、暗号器24、バッファ22および乱数生成器25を制御する。ホスト3の認証は、ホスト3がメモリシステム2の暗号器21または暗号器24の検証を行うことをメモリシステム2において承認する処理である。暗号器21の検証および暗号器24の検証は、暗号器21および暗号器24が正常にデータを暗号化することができるかどうかをホスト3において検証する処理である。
【0020】
CPU27は、演算処理装置である。CPU27は、ホスト3の認証、暗号器21の検証、および、暗号器24の検証以外の処理に用いられる。例えば、CPU27は、データをメインストレージ23へ書き込むとき、インタフェース20、暗号器21、バッファ22、メインストレージ23、暗号器24および乱数生成器25を制御する。また、CPU27は、データをメインストレージ23から読み出すときに、インタフェース20、暗号器21、バッファ22、メインストレージ23、暗号器24および乱数生成器25を制御する。
【0021】
バス28は、インタフェース20、暗号器21、バッファ22、メインストレージ23、暗号器24、乱数生成器25、CPU26およびCPU27を互いに通信可能に接続する配線である。
【0022】
メモリ29は、書き換え可能なメモリである。メモリ29は、例えば、RAMである。メモリ29は、認証キーおよび検証キーを記憶する。認証キーとは、データを暗号化する暗号キーである。検証キーとは、暗号器21の検証または暗号器24の検証に用いられるデータを暗号化または復号する暗号キーである。
【0023】
ホスト3は、インタフェース30、CPU31およびモニタ32を備える。ホスト3は、単一または複数のCPU等のプロセッサで構成され得る。
【0024】
インタフェース30は、外部へデータを送信する。また、インタフェース30は、外部からデータを受信する。
【0025】
CPU31は、演算処理装置である。
【0026】
モニタ32は、認証結果、あるいは、検証結果を表示する。
【0027】
メモリ33は、書き換え可能なメモリである。メモリ33は、例えば、RAMである。メモリ33は、認証キー、検証キー、検証データ、および、第2参照データを記憶する。検証データとは、暗号器21の検証または暗号器24の検証に用いられる平文または暗文である。第2参照データとは、検証データが平文である場合には検証データを検証キーで予め暗号化した暗文、あるいは、検証データが暗文である場合には検証データを検証キーで予め復号した平文である。
【0028】
図2は、第1実施形態に係る暗号器21の検証および暗号器24の検証の一例を示すフロー図である。
【0029】
ホスト3とメモリシステム2が接続されている状態でホスト3から認証の要求を受けると(START)、CPU26は、ホスト3の認証処理を行う(S10)。
【0030】
認証処理が終わると、CPU26は、ホスト3の認証処理の結果が認証であるか否か判断する(S15)
【0031】
認証処理の結果が、認証しない、である場合(S15のNO)、CPU26は、図2の一連の処理を終了する(END)。
【0032】
認証処理の結果が、認証する、である場合(S15のYES)、CPU26は、ホスト3から動作モードの要求を受信する(S17)。
【0033】
CPU26は、受信した動作モードの要求がいずれであったかを判断する(S20)。
【0034】
受信した動作モードの要求が、第1モードの動作の要求であった場合(S20の第1モード)、CPU26は、第1モードの検証処理を行う(S30)。第1モードの検証処理については後述する。
【0035】
第1モードの検証処理が終了したら、CPU26は、図2の一連の処理を終了する(END)。
【0036】
受信した動作モードの要求が、第2モードの動作の要求であった場合(S20の第2モード)、CPU26は、第2モードの検証処理を行う(S40)。第2モードの検証処理については後述する。
【0037】
第2モードの検証処理が終了したら、CPU26は、検証キーを更新する(S50)。その後、CPU26は、図2の一連の処理を終了する(END)。第2モードにおいて、暗号器21または暗号器24を検証した後、メモリシステム2は、CPU26に保持された暗号キーを変更する(S40)。CPU26に保持された暗号キーは、暗号器21または暗号器24の検証のためにホスト3に送信される。即ち、暗号器21または暗号器24の検証後、暗号キーは、ホスト3に知られており、秘密の状態ではなくなる。従って、メモリシステム2は、CPU26に保持された暗号キーを変更する。暗号キーを更新することによって、ホスト3に送信された暗号キーは無効となる。変更された暗号キーは、次回、第2モードを実行する際に有効に用いられ得る。あるいは、変更された暗号キーは、メインストレージ23に記憶するデータを暗号化するために有効に用いられ得る。
【0038】
図3は、第1実施形態に係る認証処理の一例を示すシーケンス図である。
【0039】
ホスト3の認証処理では、メモリシステム2の乱数生成器25が乱数を生成する(S100)。
【0040】
乱数生成器25は、生成した乱数をCPU26へ送信する(S102)。
【0041】
CPU26は、受信した乱数をホスト3のCPU31へ送信する(S104)。また、CPU26は、メモリ29から認証キーを読み出す(S106)。CPU26は、読み出した認証キーを用いて、受信した乱数を暗号化することにより、第1参照データを生成する(S108)。CPU26は、第1参照データを、メモリ29に記憶させる(S110)。または、CPU26は、第1参照データを、CPU26が別途備えるメモリやキャッシュに記憶させる。
【0042】
ホスト3のCPU31は、乱数を受信すると、メモリ33から認証キーを読み出す(S112)。CPU31は、受信した乱数を、読み出した認証キーを用いて暗号化することにより、第1暗号データを生成する(S114)。CPU31は、生成した第1暗号データをメモリシステム2へ送信する(S116)。
【0043】
メモリシステム2のCPU26は、第1暗号データを受信すると、メモリ29から第1参照データを読み出す(S118)。CPU26は、受信した第1暗号データと第1参照データとを比較する(S120)。または、CPU26は、第1参照データを、CPU26が別途備えるメモリやキャッシュから読み出す。
【0044】
第1暗号データが第1参照データと一致する場合(S120[一致])、CPU26は、認証処理の結果を「認証する」としてホスト3のCPU31に送信し(S124)、図3の一連の処理を終了する。
【0045】
第1暗号データが第1参照データと一致しない場合(S120[不一致])、CPU26は、認証処理の結果を「認証しない」としてホスト3のCPU31に送信し(S128)、図3の一連の処理を終了する。
【0046】
(暗号化機能の検証)
図4は、第1実施形態に係る第1モードにおける暗号器の暗号化機能の検証処理例を示すシーケンス図である。
【0047】
第1モードを選択した場合、ホスト3のCPU31は、メモリ33から検証キーを読み出す(S200)。CPU31は、読み出した検証キーをメモリシステム2へ送信する(S202)。
【0048】
メモリシステム2のCPU26は、受信した検証キーを暗号器21へ送信する(S204)。
【0049】
また、ホスト3のCPU31は、メモリ33から平文の検証データを読み出す(S206)。CPU31は、読み出した検証データをメモリシステム2の暗号器21へ送信する(S208)。
【0050】
暗号器21は、受信した検証キーを用いて、受信した検証データを暗号化することにより、第2暗号データ(処理データ)を生成する(S210)。暗号器21は、生成した第2暗号データをバッファ22へ送信する(S212)。
【0051】
バッファ22は、受信した第2暗号データをホスト3へ送信する(S214)。
【0052】
ホスト3のCPU31は、第2暗号データを受信すると、メモリ33から暗文である第2参照データを読み出す(S216)。CPU31は、受信した第2暗号データと読み出した第2参照データとを比較する(S218)。
【0053】
第2暗号データが第2参照データと一致する場合(S218[一致])、CPU31は、正常通知をモニタ32へ送信し(S220)、図4の一連の処理を終了する。モニタ32は、正常通知を受け取ると、メモリシステム2の暗号器21の暗号化機能が正常であるとことを表示する(S222)。
【0054】
第2暗号データが第2参照データと一致しない場合(S218[不一致])、CPU31は、異常通知をモニタ32へ送信し(S224)、図4の一連の処理を終了する。モニタ32は、異常通知を受け取ると、メモリシステム2の暗号器21の暗号化機能が正常でないことを表示する(S226)。
【0055】
尚、暗号器24の第1モードの検証処理も、暗号器21の第1モードの検証処理と同様に実行され得る。
【0056】
図5は、第1実施形態に係る第2モードの暗号化機能の検証処理例を示すシーケンス図である。
【0057】
第2モードを選択した場合、メモリシステム2のCPU26は、メモリ29から検証キーを読み出す(S300)。CPU26は、読み出した検証キーをホスト3へ送信する(S302)。また、CPU26は、読み出した検証キーを暗号器21へ送信する(S304)。
【0058】
ホスト3のCPU31は、CPU26から検証キーを受信すると、メモリ33から平文である検証データを読み出す(S306)。CPU31は、読み出した検証データをメモリシステム2の暗号器21へ送信する(S308)。
【0059】
暗号器21は、受信した検証キーを用いて、受信した検証データを暗号化することにより、第2暗号データ(第1処理データ)を生成する(S310)。暗号器21は、第2暗号データをバッファ22へ送信する(S312)。
【0060】
ホスト3のCPU31は、受信した検証キーを用いて、検証データを暗号化することにより、暗文である第2参照データを生成する(S314)。CPU31は、生成した第2参照データをメモリ33に送信する(S316)。
【0061】
メモリ33は、受信した第2参照データを記憶する。
【0062】
バッファ22は、受信した第2暗号データをホスト3へ送信する(S318)。
【0063】
ホスト3のCPU31は、第2暗号データを受信すると、メモリ33から第2参照データを読み出す(S320)。CPU31は、受信した第2暗号データと読み出した第2参照データとを比較する(S322)。
【0064】
第2暗号データが第2参照データと一致する場合(S322[一致])、CPU31は、正常通知をモニタ32へ送信し(S324)、図5の一連の処理を終了する。モニタ32は、正常通知を受け取ると、メモリシステム2の暗号器21の暗号化機能が正常であるとことを表示する(S326)。
【0065】
第2暗号データが第2参照データと一致しない場合(S322[不一致])、CPU31は、異常通知をモニタ32へ送信し(S328)、図5の一連の処理を終了する。モニタ32は、異常通知を受け取ると、メモリシステム2の暗号器21の暗号化機能が正常でないことを表示する(S330)。
【0066】
尚、暗号器24の第2モードの検証処理も、暗号器21の第2モードの検証処理と同様に実行され得る。
【0067】
図6は、第1実施形態に係る検証キーの更新処理の一例を示すシーケンス図である。
【0068】
第2モードにおける暗号器21および暗号器24の検証後、メモリシステム2のCPU26は、検証キーを更新する。CPU26は、既存の検証キーとは異なる第2検証キーを生成する(S400)。CPU26は、第2検証キーを暗号器21およびメモリ29へ送信する(S402)。メモリ29に記憶された検証キーは、第2検証キーで更新される。
【0069】
ホスト3のCPU31は、暗号器21および暗号器24の検証後、平文の検証データをメモリ33から読み出す(S404)。CPU31は、読み出した検証データをメモリシステム2へ送信する(S406)。
【0070】
メモリシステム2のCPU26は、受信した検証データを暗号器21へ送信する(S408)。
【0071】
暗号器21は、受信した第2検証キーで、受信した検証データを暗号化して第3暗号データ(第2処理データ)を生成する(S410)。暗号器21は、第3暗号データをバッファ22へ送信する(S412)。
【0072】
バッファ22は、受信した第3暗号データをホスト3へ送信する(S414)。
【0073】
ホスト3のCPU31は、第3暗号データを受信すると、メモリ33から暗文の第2参照データを読み出す(S416)。CPU31は、受信した第3暗号データと第2参照データとを比較する(S418)。
【0074】
第3暗号データが第2参照データと一致しない場合(S418[不一致])、CPU31は、暗号キーの更新通知をモニタ32へ送信し(S420)、図6の一連の処理を終了する。モニタ32は、更新通知を受け取ると、検証キーが更新されたことを表示する(S422)。
【0075】
第3暗号データが第2参照データと一致する場合(S418[一致])、CPU31は、非更新通知をモニタ32へ送信し(S424)、図6の一連の処理を終了する。モニタ32は、非更新通知を受け取ると、検証キーが更新されていないことを表示する(S426)。
【0076】
メモリシステム2のメモリ29に記憶された検証キーは、一旦、メモリシステム2の外部へ送信されると、秘密の状態ではなくなる。この場合、メモリシステム2内のデータの安全性を維持することができない。従って、第2モードにおける暗号器21および暗号器24の検証後、CPU26は、メモリ29に記憶された検証キーを他の第2検証キーへ更新する。検証キーを更新することによって、ホスト3に送信された検証キーは無効となる。これにより、メモリシステム2内のデータの安全性を維持することができる。第2検証キーは、次回、第2モードを実行する際に有効に用いられ得る。あるいは、第2検証キーは、メインストレージ23に記憶されるデータを暗号化するために有効に用いられ得る。
【0077】
(復号機能の検証)
図7は、第1実施形態に係る第1モードにおける暗号器の復号機能の検証処理例を示すシーケンス図である。
【0078】
第1モードを選択した場合、ホスト3のCPU31は、メモリ33から検証キーを読み出す(S500)。CPU31は、読み出した検証キーをメモリシステム2へ送信する(S502)。
【0079】
メモリシステム2のCPU26は、受信した検証キーを暗号器21へ送信する(S504)。
【0080】
また、ホスト3のCPU31は、メモリ33から暗文の検証データを読み出す(S506)。CPU31は、読み出した検証データをメモリシステム2の暗号器21へ送信する(S508)。
【0081】
暗号器21は、受信した検証キーを用いて、受信した検証データを復号することにより、復号データ(処理データ)を生成する(S510)。暗号器21は、生成した復号データをバッファ22へ送信する(S512)。
【0082】
バッファ22は、受信した復号データをホスト3へ送信する(S514)。
【0083】
ホスト3のCPU31は、復号データを受信すると、メモリ33から平文である第2参照データを読み出す(S516)。CPU31は、受信した復号データと読み出した第2参照データとを比較する(S518)。
【0084】
復号データが第2参照データと一致する場合(S518[一致])、CPU31は、正常通知をモニタ32へ送信し(S520)、図7の一連の処理を終了する。モニタ32は、正常通知を受け取ると、メモリシステム2の暗号器21の復号機能が正常であるとことを表示する(S522)。
【0085】
復号データが第2参照データと一致しない場合(S518[不一致])、CPU31は、異常通知をモニタ32へ送信し(S524)、図7の一連の処理を終了する。モニタ32は、異常通知を受け取ると、メモリシステム2の暗号器21の復号機能が正常でないことを表示する(S526)。
【0086】
尚、メモリシステム2の暗号器24の検証は、暗号器21の検証と同様に実行され得る。
【0087】
図8は、第1実施形態に係る第2モードにおける暗号器の復号機能の検証処理例を示すシーケンス図である。
【0088】
第2モードを選択した場合、メモリシステム2のCPU26は、メモリ29から検証キーを読み出す(S600)。CPU26は、読み出した検証キーをホスト3へ送信する(S602)。また、CPU26は、読み出した検証キーを暗号器21へ送信する(S604)。
【0089】
ホスト3のCPU31は、CPU26から検証キーを受信すると、メモリ33から平文である検証データを読み出す(S606)。CPU31は、読み出した検証データをメモリシステム2の暗号器21へ送信する(S608)。
【0090】
暗号器21は、受信した検証キーを用いて、受信した検証データを復号することによって、復号データ(第1処理データ)を生成する(S610)。暗号器21は、復号データをバッファ22へ送信する(S612)。
【0091】
ホスト3のCPU31は、受信した検証キーを用いて、検証データを復号することにより、平文である第2参照データを生成する(S614)。CPU31は、生成した第2参照データをメモリ33に送信する(S616)。
【0092】
メモリ33は、第2参照データを記憶する。
【0093】
バッファ22は、受信した復号データをホスト3へ送信する(S618)。
【0094】
ホスト3のCPU31は、復号データを受信すると、メモリ33から第2参照データを読み出す(S620)。CPU31は、受信した復号データと読み出した第2参照データとを比較する(S622)。
【0095】
復号データが第2参照データと一致する場合(S622[一致])、CPU31は、正常通知をモニタ32へ送信し(S624)、図8の一連の処理を終了する。モニタ32は、正常通知を受け取ると、メモリシステム2の暗号器21の復号機能が正常であるとことを表示する(S626)。
【0096】
復号データが第2参照データと一致しない場合(S622[不一致])、CPU31は、異常通知をモニタ32へ送信し(S628)、図8の一連の処理を終了する。モニタ32は、異常通知を受け取ると、メモリシステム2の暗号器21の復号機能が正常でないことを表示する(S630)。
【0097】
尚、第2モードの検証処理の後の検証キーの更新処理は、図6を参照して説明した検証キーの更新処理と同じである。
【0098】
第1実施形態によれば、情報処理システム1は、ホスト3のメモリ33に保持された検証キーを用いて、メモリシステム2の暗号器21の暗号化機能の検証を実行することができる。即ち、ホスト3は、メモリシステム2の外からメモリシステム2の内部にある暗号器21の暗号機能を試験することができる。
【0099】
また、第1実施形態によれば、ユーザは、ホスト3のモニタを参照して、暗号器21の暗号化機能が正常であるとことまたは正常でないことを知ることができる。
【0100】
また、第1実施形態によれば、ホスト3は、メモリ33に記憶された検証キーを用いて、メモリシステム2の外からメモリシステム2の内部にある暗号器21および暗号器24の両方の暗号化機能を試験することができる。
【0101】
また、第1実施形態によれば、情報処理システム1のホスト3は、メモリシステム2から受信した検証キーを用いて、メモリシステム2の暗号器21の暗号化機能の検証を実行することができる。即ち、第2モードでも、ホスト3は、メモリシステム2の外からメモリシステム2の内部にある暗号器21の暗号化機能を試験することができる。
【0102】
また、第1実施形態によれば、ホスト3は、メモリシステム2から受信した検証キーを用いて、メモリシステム2の外からメモリシステム2の内部にある暗号器21および暗号器24の両方の暗号化機能を試験することができる。
【0103】
また、第1実施形態によれば、ユーザは、ホスト3のモニタを参照して、検証キーが更新されたことまたは更新されていないことを知ることができる。
【0104】
また、第1実施形態によれば、情報処理システム1は、ホスト3のメモリ33に保持された検証キーを用いて、メモリシステム2の暗号器21の復号機能の検証を実行することができる。即ち、ホスト3は、メモリシステム2の外からメモリシステム2の内部にある暗号器21の復号機能を試験することができる。
【0105】
また、第1実施形態によれば、ユーザは、ホスト3のモニタを参照して、暗号器21の復号機能が正常であることまたは正常でないことを知ることができる。
【0106】
また、第1実施形態によれば、情報処理システム1のホスト3は、メモリシステム2から受信した検証キーを用いて、メモリシステム2の暗号器21の復号機能の検証を実行することができる。即ち、第2モードでも、ホスト3は、メモリシステム2の外からメモリシステム2の内部にある暗号器21の復号機能を試験することができる。
【0107】
また、第1実施形態によれば、ユーザは、ホスト3のモニタを参照して、暗号器21の復号機能が正常であることまたは異常であることを知ることができる。
【0108】
また、第1実施形態によれば、メモリシステム2の暗号器24の検証は、暗号器21の検証と同様に実行され得る。これにより、ホスト3は、メモリシステム2から受信した検証キーを用いて、メモリシステム2の外からメモリシステム2の内部にある暗号器21および暗号器24の両方の復号機能を試験することができる。
【0109】
また、第1実施形態に係る情報処理システム1は、暗号器21、24の暗号化機能の検証だけでなく、復号機能の検証もすることができる。
【0110】
実施形態は例示であり、発明の範囲はそれらに限定されない。
【符号の説明】
【0111】
1 情報処理システム
2 メモリシステム
3 ホスト
20 インタフェース
21,24 暗号器
22 バッファ
23 メインストレージ
25 乱数生成器
26,27 CPU
28 バス
29 メモリ
30 インタフェース
31 CPU
32 モニタ
33 メモリ
図1
図2
図3
図4
図5
図6
図7
図8