以下に、本発明の実施の形態について、添付の図面を参照して説明する。
<システム構成>
図1は、一実施形態に係る情報処理システムのシステム構成の例を示す図である。図1に示すように、情報処理システム1は、例えば、情報処理装置10と、情報処理装置10と近距離無線通信30で通信可能な端末装置20とを含む。
情報処理装置10は、コンピュータの構成を有する電子機器、又は情報端末である。情報処理装置10には、例えば、画像形成装置、電子ホワイトボード、テレビ会議装置等の様々な電子機器が含まれ得る。また、情報処理装置10には、例えば、スマートフォン、タブレット端末、PC(Personal Computer)等の汎用の情報端末が含まれ得る。
本実施形態に係る情報処理装置10は、例えば、NFC(Near Field Communication)リーダ/ライタ110を有しており、端末装置20とNFC通信による近距離無線通信30により、データを送受信することができる。
NFC通信は、近距離無線通信の規格の1つであり、対応する通信機器を所定の距離内(例えば、10cm以内)に近接させることにより、データの送受信を行う。例えば、情報処理装置10を管理する管理者等は、NFC通信に対応した端末装置20を、情報処理装置10のNFCリーダ/ライタ110に近接させることにより、NFC通信を開始させることができる。なお、NFC通信は、近距離無線通信30の一例である。
また、本実施形態に係る情報処理装置10は、例えば、NVRAM(Non-Volatile RAM)120、HDD(Hard Disk Drive)130等の複数の記憶装置を有している。一例として、情報処理装置10がMFP(Multifunction Peripheral/Printer/Product)等の画像形成装置である場合、NVRAM120には設定情報等が記憶され、HDD130には、処理対象となる画像データや、プログラム等が記憶される。
さらに、本実施形態に係る情報処理装置10は、各記憶装置に記憶するデータを暗号化する機能を有している。例えば、情報処理装置10は、NVRAM120に記憶するデータを第1の暗号鍵で暗号化すると共に、HDD130に記憶するデータを第2の暗号鍵で暗号化することができる。なお、NVRAM120は、第1の記憶部の一例である。また、HDD130は、第1の記憶部とは異なる第2の記憶部の一例である。
端末装置20は、NFC通信による近距離無線通信30で情報処理装置10と通信可能なスマートデバイスである。端末装置20は、例えば、情報処理システム1に対応するアプリケーションプログラム(以下、アプリと呼ぶ)を実行するスマートフォンやタブレット端末等の汎用の情報端末であっても良いし、情報処理システム1に対応する専用の端末であっても良い。
上記の構成において、情報処理装置10は、前述した第1の暗号鍵、又は第2の暗号鍵が使用できなくなったとき等に、暗号化されたデータを復旧することができるように、端末装置20に暗号鍵を復元するためのバックアップ情報を記憶することができる。
例えば、情報処理装置10は、第1の暗号鍵、及び第2の暗号鍵を復元するためのバックアップ情報を作成し、作成したバックアップ情報、及び情報処理装置10を識別する識別情報を、NFC通信等の近距離無線通信30で端末装置20に送信する。
一方、端末装置20は、NFC通信等の近距離無線通信30で、情報処理装置10から送信されるバックアップ情報、及び情報処理装置10の識別情報を受信し、受信したバックアップ情報を、情報処理装置10の識別情報と対応付けて記憶部に記憶する。
これにより、管理者等は、端末装置20を情報処理装置10のNFCリーダ/ライタ110に近づけることにより、情報処理装置10の第1の暗号鍵、及び第2の暗号鍵を復元するためのバックアップ情報を、容易に端末装置20に記憶させることができる。
また、例えば、情報処理装置10が記憶している第1の暗号鍵、又は第2の暗号鍵が使えなくなってしまった場合、情報処理装置10は、近距離無線通信30で、端末装置20に記憶した情報処理装置10のバックアップ情報を取得することができる。
例えば、管理者等は、情報処理装置10が記憶している第1の暗号鍵、又は第2の暗号鍵が使えなくなってしまった状態で、端末装置20を情報処理装置10のNFCリーダ/ライタ110に近接させる。これに応じて、端末装置20は、情報処理装置10の識別情報を受信し、受信した識別情報に対応するバックアップ情報を記憶部から読み出して、近距離無線通信30で情報処理装置10に通知する。
これにより、管理者等は、端末装置20を情報処理装置10のNFCリーダ/ライタ110に近接させることにより、第1の暗号鍵、及び第2の暗号鍵を復元するためのバックアップ情報を、容易に端末装置20から取得することができる。
好ましくは、端末装置20は、複数の情報処理装置10のバックアップ情報を、各情報処理装置の識別情報と対応付けて、記憶部に記憶する。これにより、複数の情報処理装置10の暗号鍵をユーザが意識せずに一元管理(バックアップ)し、暗号鍵の復元が必要なときには、適切な情報処理装置10に暗号鍵をリストアすることができるようになる。
以上、本実施形態によれば、記憶部に記憶するデータを暗号化する情報処理装置において、暗号鍵を復元するためのバックアップ情報の管理が容易になる。
<ハードウェア構成>
次に、情報処理装置10、及び端末装置20のハードウェア構成について説明する。
(情報処理装置のハードウェア構成)
図2は、一実施形態に係る情報処理装置のハードウェア構成の例を示す図である。情報処理装置10は、例えば、コントローラ100、NFCリーダ/ライタ110、NVRAM120、HDD130、入力装置140、及び出力装置150等を有する。
コントローラ100は、コンピュータの構成を有しており、例えば、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、ROM(Read Only Memory)103、フラッシュメモリ104等を含む。RAM102は、CPU101のワークエリア等として用いられる揮発性のメモリである。ROM103は、電源を切ってもプログラムやデータを保持する不揮発性のメモリである。
フラッシュメモリ104は、NVRAM120に記憶するデータを暗号化する第1の暗号鍵、及びHDD130に記憶するデータを暗号化する第2の暗号鍵等を記憶する書き換え可能な不揮発メモリであり、例えば、USBフラッシュ等によって実現される。
好ましくは、フラッシュメモリ104は、コントローラ100に着脱可能な構成を有している。
NFCリーダ/ライタ110は、図1で説明したように、NFC通信に対応する端末装置20等を所定の距離内(例えば、10cm以内)に近接させることにより、端末装置20等と近距離無線通信30によるデータの送受信を行う。
NVRAM120は、例えば、情報処理装置10の設定情報等を記憶する書き込み可能な不揮発性の記憶装置である。HDD130は、各種のプログラムやデータを記憶するストレージ装置である。なお、HDD130は、SSD(Solid State Drive)等によって実現されるものであっても良い。
入力装置140は、例えば、キーボード、タッチパネル、ポインティングデバイス等のユーザによる入力操作を受け付ける入力デバイスである。出力装置150は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、プリンタ、スピーカ等)である。
(端末装置のハードウェア構成)
図3は、一実施形態に係る端末装置のハードウェア構成の例を示す図である。端末装置20は、一般的なコンピュータの構成を有しており、例えば、CPU301、RAM302、ROM303、ストレージ装置304、ネットワークI/F(Interface)305、入力装置306、表示装置307、NFC通信装置308、及びバス309等を有する。
CPU301は、ROM303やストレージ装置304等に格納されたプログラムやデータをRAM302上に読み出し、処理を実行することで、端末装置20の各機能を実現する演算装置である。RAM302は、CPU301のワークエリア等として用いられる揮発性のメモリである。ROM303は、電源を切ってもプログラムやデータを保持する不揮発性のメモリである。
ストレージ装置304は、例えば、HDDや、SSD等の大容量の記憶デバイスであり、OS、アプリ、各種のデータ等を記憶する。ネットワークI/F305は、端末装置20をネットワークに接続するための通信インタフェースである。
入力装置306は、例えば、マウス等のポインティングデバイスや、キーボード等の入力デバイスであり、端末装置20に各操作信号を入力するために用いられる。表示装置307はディスプレイ等の表示デバイスであり、端末装置20による処理結果等を表示する。なお、入力装置306と表示装置307は、例えば、タッチパネルディスプレイ等のように一体化された構成であっても良い。
NFC通信装置308は、情報処理装置10のNFCリーダ/ライタ110と近接させることにより、NFC通信によるデータの送受信を行う無線通信デバイスである。バス309は、上記の各構成要素に接続され、アドレス信号、データ信号、及び各種制御信号等を伝送する。
<ソフトウェア構成>
図4は、一実施形態に係る情報処理装置のソフトウェア構成の一例を示す図である。情報処理装置10のソフトウェア構成には、例えば、OS401、全体制御部402、NFCアプリ403、鍵作成アプリ404、及び鍵変換アプリ405等が含まれる。また、所定の記憶領域410に、バックアップ用暗号鍵情報411が記憶されている。
OS401は、情報処理装置10で各プログラムの実行を制御する基本ソフトウェアである。全体制御部402は、情報処理装置10の全体を制御するソフトウェアであり、情報処理装置10の各種の機能を利用するためのAPI(Application Programming Interface)を、アプリに提供する。
NFCアプリ403は、NFCリーダ/ライタ110を制御して、端末装置20とNFC通信を行うアプリである。鍵作成アプリ404は、新しい暗号鍵が必要なときに、暗号鍵を作成するアプリである。鍵変換アプリ405は、暗号鍵を文字列に変換して、暗号鍵を復元するためのバックアップ情報を作成するアプリである。バックアップ用暗号鍵情報411は、鍵変換アプリ405によって作成された暗号鍵を復元するためのバックアップ情報である。
なお、図4に示す情報処理装置10のソフトウェア構成は一例である。例えば、NFCアプリ403、鍵作成アプリ404、及び鍵変換アプリ405によって実現される機能のうち、少なくとも一部は、全体制御部402に含まれていても良いし、鍵作成アプリ404と鍵変換アプリ405は、1つの鍵管理アプリ等であっても良い。
<機能構成>
続いて、本実施形態に係る情報処理システムの機能構成について説明する。
図5は、一実施形態に係る情報処理システムの機能構成の例を示す図である。
(情報処理装置の機能構成)
情報処理装置10は、例えば、近距離無線通信部501、制御部502、第1の暗号化部503、第2の暗号化部504、第1の復号部505、第2の復号部506、第1の記憶部507、第2の記憶部508、バックアップ情報記憶部509、暗号鍵生成部510、暗号鍵記憶部511、作成部512、送信部513、取得部514、及び復元部515等を有する。
情報処理装置10は、例えば、図2のCPU101で所定のプログラムを実行することにより、上記の各機能構成を実現している。また、上記の各機能構成のうち少なくとも一部は、ハードウェアによって実現されるものであっても良い。
近距離無線通信部501は、例えば、CPU101で実行されるプログラム(NFCアプリ403等)、及びNFCリーダ/ライタ110等によって実現され、端末装置20とNFC通信による近距離無線通信30を行う。
制御部502は、例えば、CPU101で実行されるプログラム(全体制御部402等)によって実現され、情報処理装置10の全体を制御する。
第1の暗号化部503は、例えば、CPU101で実行されるプログラム(全体制御部402等)によって実現され、第1の記憶部507に記憶するデータを、暗号鍵記憶部511に記憶された第1の暗号鍵で暗号化する。
第2の暗号化部504は、例えば、CPU101で実行されるプログラム(全体制御部402等)によって実現され、第2の記憶部508に記憶するデータを、暗号鍵記憶部511に記憶された第2の暗号鍵で暗号化する。
第1の復号部505は、例えば、CPU101で実行されるプログラム(全体制御部402等)によって実現され、第1の記憶部に記憶した暗号化されたデータを読み出すとき等に、第1の記憶部に記憶したデータを第1の暗号鍵を用いて復号する。
第2の復号部506は、例えば、CPU101で実行されるプログラム(全体制御部402等)によって実現され、第2の記憶部に記憶した暗号化されたデータを読み出すとき等に、第2の記憶部に記憶したデータを第2の暗号鍵を用いて復号する。
第1の記憶部507は、例えば、CPU101で実行されるプログラム(全体制御部402等)、及びNVRAM120等によって実現され、情報処理装置10の設定情報等を記憶する。
第2の記憶部508は、例えば、CPU101で実行されるプログラム(全体制御部402等)、及びHDD130等によって実現され、情報処理装置10の処理対象となるデータ(例えば、画像データ、印刷データ等)を記憶する。
バックアップ情報記憶部509は、CPU101で実行されるプログラム(鍵変換アプリ405等)、及びRAM102、フラッシュメモリ104、HDD130等によって実現される。バックアップ情報記憶部509は、第1の暗号鍵、及び第2の暗号鍵を復元するためのバックアップ用暗号鍵情報411(以下、バックアップ情報と呼ぶ)を記憶する所定の記憶領域410の一例である。
暗号鍵生成部510は、例えば、CPU101で実行されるプログラム(鍵作成アプリ404等)によって実現され、第1の暗号鍵、及び第2の暗号鍵を生成する。
暗号鍵記憶部511は、例えば、CPU101で実行されるプログラム(鍵作成アプリ404等)、及びフラッシュメモリ104等によって実現され、暗号鍵生成部510が生成した第1の暗号鍵、及び第2の暗号鍵を記憶する。
作成部512は、例えば、CPU101で実行されるプログラム(鍵変換アプリ405等)によって実現され、第1の暗号鍵、及び第2の暗号鍵を復元するためのバックアップ情報(例えば、文字列)を作成する。
一例として、作成部512は、暗号鍵データと乱数データとをXOR演算(排他的論理和演算)して、暗号鍵を復元するためのバックアップ情報を作成する。この場合、バックアップ情報と、バックアップ情報の作成に用いた乱数データとをXOR演算することにより、暗号鍵を復元することができる。ただし、これに限られず、第1の暗号鍵、及び第2の暗号鍵を復元するためのバックアップ情報は、任意の方法により作成されるものであって良い。
送信部513は、例えば、CPU101で実行されるプログラム(NFCアプリ403等)によって実現される。送信部513は、作成部512が作成した、第1の暗号鍵、及び第2の暗号鍵を復元するためのバックアップ情報、及び情報処理装置10の識別情報を、近距離無線通信部501による近距離無線通信30で端末装置20に送信する。
図6は、一実施形態に係る送信部が送信する情報の一例のイメージを示す図である。図6に示すように、送信部513が送信する情報600には、情報処理装置の識別情報601、第1の暗号鍵のバックアップ情報602、及び第2の暗号鍵のバックアップ情報603等が含まれる。
情報処理装置の識別情報601は、情報処理装置10を識別するための情報である。情報処理装置の識別情報601は、情報処理装置10を一意に特定可能な情報であれば任意の情報であって良い。例えば、情報処理装置の識別情報601は、画像形成装置等の情報処理装置10に製造時等に付与された装置IDであっても良いし、管理者によって付与された機器名等であっても良いし、IPアドレスやMACアドレス等であっても良い。
第1の暗号鍵のバックアップ情報602は、作成部512によって作成された、第1の暗号鍵を復元するためのバックアップ情報である。第2の暗号鍵のバックアップ情報603は、作成部512によって作成された、第2の暗号鍵を復元するためのバックアップ情報である。
ここで、図5に戻り、情報処理装置10の機能構成の説明を続ける。
取得部514は、例えば、CPU101で実行されるプログラム(NFCアプリ403等)によって実現され、近距離無線通信部501による近距離無線通信30で、端末装置20に記憶されている情報処理装置10に対応するバックアップ情報を取得する。例えば、取得部514は、制御部502による制御に従って、情報処理装置10の識別情報を用いて、近距離無線通信30で端末装置20から、情報処理装置10の識別情報と対応付けて記憶されているバックアップ情報を取得する。
復元部515は、例えば、CPU101で実行されるプログラム(鍵変換アプリ405等)によって実現され、制御部502による制御に従って、取得部514が取得したバックアップ情報から、第1の暗号鍵、又は第2の暗号鍵を復元する。一例として、復元部515は、バックアップ情報と、作成部512がバックアップ情報の作成に用いた乱数データとをXOR演算することにより、暗号鍵を復元する。
(端末装置の機能構成)
端末装置20は、例えば、近距離無線通信部521、情報記憶部522、及び情報通知部523等を有する。
端末装置20は、例えば、図3のCPU301で所定のプログラムを実行することにより、上記の各機能構成を実現している。なお、上記の各機能構成のうち少なくとも一部は、ハードウェアによって実現されるものであっても良い。
近距離無線通信部521は、例えば、CPU301で実行されるプログラム、及びNFC通信装置308等によって実現され、情報処理装置10とNFC通信による近距離無線通信30を行う。
情報記憶部522は、例えば、CPU301で実行されるプログラム、及びストレージ装置304等によって実現され、近距離無線通信30で情報処理装置10から送信されるバックアップ情報を、情報処理装置10の識別情報と対応付けて記憶する。
例えば、近距離無線通信部521が、図6に示すような、情報処理装置10の送信部513が送信する情報600を受信したとき、情報記憶部522は、近距離無線通信部521が受信した、図6に示すような情報600をストレージ装置304等に記憶する。
情報通知部523は、例えば、CPU301で実行されるプログラムによって実現され、情報処理装置10からの要求に応じて、情報処理装置10の識別情報に対応するバックアップ情報を、近距離無線通信30で情報処理装置10に通知する。
<NFC通信による近距離無線通信について>
ここで、情報処理装置10と端末装置20との間で行われるNFC通信による近距離無線通信30のイメージについて説明する。
図7は、一実施形態に係る近距離無線通信のイメージについて説明するための図である。情報処理装置10の近距離無線通信部501は、例えば、端末装置20の近距離無線通信部521と近距離無線通信30を行う通信制御部711、及び端末装置20のNFC通信装置308が備える記憶領域からデータを取得するデータ取得部712とを有する。
また、端末装置20の近距離無線通信部521は、情報処理装置10の近距離無線通信部501と近距離無線通信30を行う通信制御部721、及び情報処理装置10のNFCリーダ/ライタ110からデータを取得するデータ取得部722とを有する。
情報処理装置10に端末装置20が近接したときに、情報処理装置10の通信制御部711と、端末装置20の通信制御部721との間で、NFC通信による近距離無線通信が確立され、一時的にデータの送受信を行うことができる通信状態となる。
この通信状態の間に、端末装置20のデータ取得部722が、情報処理装置10の送信部513が送信する情報600を取得した場合、データ取得部722は、受信した、例えば、図6に示すような情報600を情報記憶部522に通知する。情報記憶部522は、データ取得部722から通知された情報600を記憶する。
一方、この通信状態の間に、端末装置20のデータ取得部722が、情報処理装置10の識別情報を含むバックアップ情報の取得要求を取得した場合、データ取得部722は、受信した取得要求を情報通知部523に通知する。
これに応じて、端末装置20の情報通知部523は、情報記憶部522から、情報処理装置10の識別情報に対応するバックアップ情報を読み出し、NFC通信装置308が備える記憶領域に記憶する。また、情報処理装置10のデータ取得部712は、端末装置20が備える記憶領域に記憶されたバックアップ情報を取得し、取得したバックアップ情報を取得部514に通知する。
このように、情報処理装置10の取得部514は、近距離無線通信部501を介して、情報処理装置10の識別情報を含むバックアップ情報の取得要求を、端末装置20に送信することにより、端末装置20に記憶されたバックアップ情報を取得することができる。
<処理の流れ>
続いて、本実施形態に係る情報処理方法の処理の流れについて説明する。
(暗号鍵のバックアップ処理)
図8は、第1の実施形態に係る暗号鍵のバックアップ処理の例を示すシーケンス図である。この処理は、例えば、情報処理装置10で新たな暗号鍵が作成されたとき等に、情報処理装置10と端末装置20との間で実行される暗号鍵のバックアップ処理の一例を示している。なお、図8では、第1の暗号化部503、及び第2の暗号化部504を、まとめて暗号化部503、504と表記している。また、図8において、破線の矢印は、実線の矢印で表される要求に対する応答を示すものとする。
ステップS801において、情報処理装置10の制御部502が、暗号鍵の作成要求を受け付けると、ステップS802以降の処理が実行される。
ステップS802において、情報処理装置10の制御部502は、暗号鍵生成部510を用いて、第1の暗号鍵、及び第2の暗号鍵を作成する。
例えば、制御部502は、暗号鍵生成部510に第1の暗号鍵、及び第2の暗号鍵の作成を要求する。これに応じて、暗号鍵生成部510は、第1の暗号鍵、及び第2の暗号鍵を作成し、作成した第1の暗号鍵、及び第2の暗号鍵を制御部502に通知する。
ステップS803において、情報処理装置10の制御部502は、作成した第1の暗号鍵、及び第2の暗号鍵を暗号鍵記憶部511に記憶する。これにより、新たな第1の暗号鍵、及び第2の暗号鍵が、情報処理装置10に設定される。
ステップS804において、情報処理装置10の制御部502は、暗号化部503、504(第1の暗号化部503、及び第2の暗号化部504)を用いて、第1の記憶部507、及び第2の記憶部508を暗号化する。
例えば、制御部502は、第1の暗号化部503に第1の記憶部507の暗号化を要求する。これに応じて、第1の暗号化部503は、暗号鍵記憶部511に記憶された第1の暗号鍵を用いて、第1の記憶部507を暗号化する。同様に、制御部502は、第2の暗号化部504に第2の記憶部508の暗号化を要求する。これに応じて、第2の暗号化部504は、暗号鍵記憶部511に記憶された第2の暗号鍵を用いて、第2の記憶部508を暗号化する。
ステップS805において、情報処理装置10の制御部502は、作成部512を用いて、第1の暗号鍵、及び第2の暗号鍵を復元するためのバックアップ情報を作成する。
例えば、制御部502は、作成部512に、第1の暗号鍵、及び第2の暗号鍵を復元するためのバックアップ情報の作成を要求する。これに応じて、作成部512は、暗号鍵記憶部511から、第1の暗号鍵、及び第2の暗号鍵を読出し、第1の暗号鍵、及び第2の暗号鍵を復元するためのバックアップ情報を作成する。
一例として、前述したように、作成部512は、第1の暗号鍵と乱数データとを用いて、第1の暗号鍵を復元するための文字列であるバックアップ情報を作成する。また、作成部512は、第2の暗号鍵と乱数データとを用いて、第2の暗号鍵を復元するための文字列であるバックアップ情報を作成する。
ステップS806において、情報処理装置10の制御部502は、作成部512を用いて作成した第1の暗号鍵、及び第2の暗号鍵を復元するためのバックアップ情報を、バックアップ情報記憶部509に記憶する。また、ステップS807において、制御部502は、近距離無線通信部501に、バックアップ情報の送信を要求する。
ステップS808において、情報処理装置10の近距離無線通信部501は、制御部502によるバックアップ情報の送信要求に応じて、バックアップ情報記憶部509に記憶されたバックアップ情報を読み出し、バックアップ情報を送信する準備を行う。
この状態で、例えば、図7で説明したように、情報処理装置10と端末装置20とが近接して通信状態になると、ステップS809の処理が実行される。
ステップS809において、情報処理装置10の近距離無線通信部501は、NFC通信による近距離無線通信30で、第1の暗号鍵、及び第2の暗号鍵を復号するためのバックアップ情報、及び情報処理装置10の識別情報を、端末装置20に送信する。
ステップS810において、端末装置20の情報記憶部522は、情報処理装置10から送信されたバックアップ情報を、情報処理装置10の識別情報と対応付けて記憶する。
上記の処理により、情報処理装置10を管理する管理者等は、端末装置20を、情報処理装置10のNFCリーダ/ライタ110に近接させることにより、第1の暗号鍵及び第2の暗号鍵を復号するためのバックアップ情報を、端末装置20に記憶することができる。
(暗号鍵のリストア処理)
図9は、第1の実施形態に係る暗号鍵のリストア処理の例を示すシーケンス図である。情報処理装置10は、起動時等に、第1の復号部505、及び第2の復号部を用いて、第1の記憶部507、及び第2の記憶部508に記憶したデータを正しく復号できるか(読込みできるか)の確認を行う。図9に示す処理は、情報処理装置10が、起動時に、第1の記憶部507、及び第2の記憶部508に記憶したデータを正しく復号できない場合に実行される処理の例を示している。
なお、図9では、第1の復号部505、及び第2の復号部506を、まとめて復号部505、506と表記している。また、図9において、破線の矢印は、実線の矢印で表される要求に対する応答を示すものとする。さらに、図9の開始時点において、暗号鍵記憶部511に記憶した暗号鍵が壊れている、或いは、暗号鍵記憶部511の暗号鍵が記憶されていない等の理由により、第1の記憶部507、及び第2の記憶部508に記憶したデータを正しく復号できないものとする。
ステップS901において、情報処理装置10の制御部502が起動する。
ステップS902において、情報処理装置10の制御部502は、第1の復号部505、及び第2の復号部506を用いて、第1の記憶部507、及び第2の記憶部508に記憶したデータを正しく復号できるか(読込みできるか)を確認する。
ここで、第1の記憶部507、及び第2の記憶部508に記憶したデータの復号に失敗した場合、ステップS903以降の処理が実行される。なお、第1の記憶部507、及び第2の記憶部508に記憶したデータの復号に成功した場合、ステップS903以降の処理は、例えば、省略される。
ステップS903において、情報処理装置10の制御部502は、データの復号に失敗したことを示すエラーメッセージを、出力装置150を用いて出力する(例えば、表示する)。
ステップS904において、情報処理装置10の制御部502は、近距離無線通信部501に情報処理装置10の識別情報を通知する。また、ステップS905において、制御部502は、近距離無線通信部501にバックアップ情報の取得を要求する。
この状態で、例えば、図7で説明したように、情報処理装置10と端末装置20とが近接して通信状態になると、ステップS906の処理が実行される。
ステップS906において、情報処理装置10の近距離無線通信部501は、NFC通信による近距離無線通信30で、情報処理装置10の識別情報を含むバックアップ情報の取得要求を、端末装置20に送信する。
ステップS907において、端末装置20の情報通知部523は、情報処理装置10からの取得要求に応じて、取得要求に含まれる情報処理装置10の識別情報に対応するバックアップ情報を、情報記憶部522から読み出す。
ここで、情報通知部523が、情報記憶部522から情報処理装置10の識別情報に対応するバックアップ情報を読み出すことができた場合、ステップS908以降の処理が実行される。一方、ここで、情報通知部523が、情報記憶部522から情報処理装置10の識別情報に対応するバックアップ情報を読み出すことができない場合、情報通知部523は、バックアップ情報が記憶されていないことを示すエラー情報を情報処理装置10に通知する。ここでは、情報通知部523が、情報記憶部522から情報処理装置10の識別情報に対応するバックアップ情報を読み出すことができたものとして、以下の説明を行う。
ステップS908において、端末装置20の情報通知部523は、情報処理装置10の識別情報に対応するバックアップ情報を、近距離無線通信部521を用いて、近距離無線通信30で情報処理装置10に通知する。
ステップS908において、情報処理装置10の近距離無線通信部501は、端末装置20から通知されたバックアップ情報を、制御部502に通知する。
ステップS910において、情報処理装置10の制御部502は、復元部515にバックアップ情報を通知して、第1の暗号鍵、及び第2の暗号鍵の復元を要求する。なお、このとき、制御部502は、第1の暗号鍵、及び第2の暗号鍵のうち、データの復号に失敗した一方の暗号鍵の復号を要求するものであっても良い。
ステップS911において、情報処理装置10の復元部515は、制御部502からの要求に応じて、例えば、第1の暗号鍵、及び第2の暗号鍵を復元する。
一例として、復元部515は、前述したように、第1の暗号鍵を復元するためのバックアップ情報と、当該バックアップ情報を作成するときに用いた乱数データとを用いて、第1の暗号鍵を復元する。また、復元部515は、第2の暗号鍵を復元するためのバックアップ情報と、当該バックアップ情報を作成するときに用いた乱数データとを用いて、第2の暗号鍵を復元する。
ステップS912において、情報処理装置10の復元部515は、復元した第1の暗号鍵、第2の暗号鍵を、制御部502に通知する。
ステップS913において、情報処理装置10の制御部502は、第1の復号部505、及び第2の復号部506を用いて、復元された第1の暗号鍵、及び第2の暗号鍵で、データを正しく復元することができるかを確認する。
ここで、第1の復号部505、及び第2の復号部506が、第1の記憶部507、及び第2の記憶部508に記憶したデータの復号に成功した場合、ステップS914の処理が実行される。
ステップS914において、情報処理装置10の制御部502は、データの復号に成功した第1の暗号鍵、及び第2の暗号鍵を、暗号鍵記憶部511に記憶(設定)する。
上記の処理により、情報処理装置10を管理する管理者等は、端末装置20を、情報処理装置10のNFCリーダ/ライタ110に近接させることにより、使用できなくなった第1の暗号鍵、及び第2の暗号鍵を容易に復元することができる。
以上、本実施形態の各処理によれば、記憶部に記憶するデータを暗号化する情報処理装置において、暗号鍵を復元するためのバックアップ情報の管理が容易になる。
[第2の実施形態]
第2の実施形態では、情報処理システム1が複数の情報処理装置を含む場合の処理の例について説明する。
<システム構成>
図10は、第2の実施形態に係る情報処理システムのシステム構成の例を示す図である。図10に示すように、第2の実施形態に係る情報処理システム1は、複数の情報処理装置10a、10b、10c、・・・と、情報処理装置10と近距離無線通信30で通信可能な端末装置20とを含む。
ここで、複数の情報処理装置10a、10b、10c、・・・は、例えば、図5に示す一実施形態に係る情報処理装置10と同様の機能構成を有しているものとする。また、端末装置20も、例えば、図5に示す一実施形態に係る端末装置20と同様の機能構成を有しているものとする。
また、以下の説明の中で、複数の情報処理装置10a、10b、10c、・・・のうち、任意の情報処理装置を示す場合、「情報処理装置10」を用いる。図10に示す情報処理装置10の数は一例であり、他の数であっても良い。
図10に示す情報処理システム1において、管理者等は、第1の実施形態と同様に、端末装置20を情報処理装置10のNFCリーダ/ライタ110に近接させることにより、暗号鍵を復元するためのバックアップ情報を端末装置20に記憶することができる。
例えば、管理者等は、情報処理装置10aにおいて新たな暗号鍵を作成した後に、端末装置20を情報処理装置10aのNFCリーダ/ライタ110に近接させることにより、情報処理装置10aのバックアップ情報を端末装置20に記憶させることができる。
また、管理者等は、情報処理装置10bにおいて新たな暗号鍵を作成した後に、端末装置20を情報処理装置10bのNFCリーダ/ライタ110に近接させることにより、情報処理装置10bのバックアップ情報を端末装置20に記憶させることができる。
同様に、管理者等は、情報処理装置10cにおいて新たな暗号鍵を作成した後に、端末装置20を情報処理装置10cのNFCリーダ/ライタ110に近接させることにより、情報処理装置10cのバックアップ情報を端末装置20に記憶させることができる。
このとき、端末装置20の情報記憶部522には、例えば、図11に示すように、複数の情報処理装置10a、10b、10c、・・・のバックアップ情報が記憶される。
図11は、第2の実施形態に係る端末装置が管理するバックアップ情報の一例のイメージを示す図である。図11の例では、端末装置20が、情報記憶部522に記憶して管理するバックアップ情報1100には、項目として、「No.」、「情報処理装置の識別情報」、「第1の暗号鍵のバックアップ情報」、及び「第2の暗号鍵のバックアップ情報」等が含まれる。
「No.」は、各バックアップ情報に対して順次に付加される管理番号等である。「情報処理装置の識別情報」は、情報処理装置10から送信される、例えば、図6に示すような情報600に含まれる情報処理装置の識別情報601である。「第1の暗号鍵のバックアップ情報」は、情報処理装置10から送信される、例えば、図6に示すような情報600に含まれる第1の暗号鍵のバックアップ情報602である。「第2の暗号鍵のバックアップ情報」は、情報処理装置10から送信される、例えば、図6に示すような情報600に含まれる第2の暗号鍵のバックアップ情報603である。
例えば、図11に示すバックアップ情報1100のNo.「1」の行には、情報処理装置10aから送信された情報処理装置の識別情報601、第1の暗号鍵のバックアップ情報602、及び第2の暗号鍵のバックアップ情報603が記憶される。また、図11に示すバックアップ情報1100のNo.「2」の行には、情報処理装置10bから送信された情報処理装置の識別情報601、第1の暗号鍵のバックアップ情報602、及び第2の暗号鍵のバックアップ情報603が記憶される。さらに、図11に示すバックアップ情報1100のNo.「3」の行には、情報処理装置10cから送信された情報処理装置の識別情報601、第1の暗号鍵のバックアップ情報602、及び第2の暗号鍵のバックアップ情報603が記憶される。
このように、端末装置20の情報記憶部522は、複数の情報処理装置10から受信したバックアップ情報(第1の暗号鍵のバックアップ情報602、及び第2の暗号鍵のバックアップ情報603)を、情報処理装置10毎に記憶する。
これにより、複数の情報処理装置10を管理する管理者等は、1つの端末装置20に、複数の情報処理装置10a、10b、10c、・・・のバックアップ情報を記憶させることができる。
また、管理者等は、例えば、情報処理装置10aの暗号鍵が使用できなくなった場合には、端末装置20を、情報処理装置10aのNFCリーダ/ライタ110に近接させることにより、情報処理装置10aの暗号鍵を復元することができる。他の情報処理装置10b、10cについても同様である。
<処理の流れ>
図12は、第2の実施形態に係るバックアップ情報の通知処理の例を示すフローチャートである。この処理は、図9のステップS907、S908において、第2の実施形態に係る端末装置20が実行する処理の一例を示している。
なお、図9の暗号鍵のリストア処理に示す処理のうち、ステップS901〜S906、及びステップS909〜S914の処理は、第2の実施形態に、そのまま適用することができるので、ここでは説明を省略する。
ステップS1201において、端末装置20は、例えば、図8のステップS906において、情報処理装置10から送信される情報処理装置10の識別情報を含むバックアップ情報を受信する。
ステップS1202において、端末装置20の情報通知部523は、情報記憶部522に記憶された、例えば、図11に示すようなバックアップ情報1100から、1つのバックアップ情報を読み出す。一例として、情報通知部523は、例えば、図11に示すようなバックアップ情報1100において、未照合のバックアップ情報のうち、「No.」の値が最も小さい1行を読み出す。
ステップS1203において、情報通知部523は、ステップS1202で読み出した1つのバックアップ情報に含まれる識別情報と、受信した情報処理装置10の識別情報とが一致するか照合する。
2つの識別情報が一致した場合、情報通知部523は、処理をステップS1205に移行させる。一方、2つの識別情報が一致しない場合、情報通知部523は、処理をステップS1206に移行させる。
ステップS1205に移行すると、情報通知部523は、識別情報が一致した、第1の暗号鍵のバックアップ情報、及び第2の暗号鍵のバックアップ情報を、近距離無線通信部521を介して、近距離無線通信30で情報処理装置10に通知する。
一方、ステップS1204からステップS1206に移行すると、情報通知部523は、例えば、図11に示すようなバックアップ情報1100のうち、ステップS1204で照合を行っていない未照合のバックアップ情報があるか否かを判断する。
未照合のバックアップ情報がある場合、情報通知部523は、処理をステップS1202に戻して、同様の処理を繰り返し実行する。一方、未照合のバックアップ情報がない場合、情報通知部523は、処理をステップS1207に移行させる。
ステップS1207に移行すると、情報通知部523は、端末装置20に、情報処理装置10に対応するバックアップ情報が記憶されていないことを示す情報を、近距離無線通信部521を介して、近距離無線通信30で情報処理装置10に通知する。
上記の処理により、端末装置20は、例えば、情報処理装置10aからバックアップ情報の取得要求を受け付けた場合、情報記憶部522に記憶した複数のバックアップ情報の中から、情報処理装置10aに対応するバックアップ情報を選択的に通知する。これは、端末装置20が、他の情報処理装置10b、10cからバックアップ情報を受信したときも同様である。
このように、本実施形態によれば、複数の情報処理装置10を管理する管理者等は、1つの端末装置20を用いて、複数の情報処理装置10のバックアップ情報を、容易に管理することができるようになる。
以上、本発明の各実施形態によれば、記憶部に記憶するデータを暗号化する情報処理装置において、暗号鍵を復元するためのバックアップ情報の管理が容易になる。
なお、上記の各実施形態に示すシステム構成、ハードウェア構成、及び機能構成は一例であり、様々な変形や応用が可能である。例えば、上記の各実施形態では、暗号化の対象となる記憶部の数が2つであるものとして説明を行ったが、暗号化の対象となる記憶部の数は、1つであっても良いし、3つ以上であっても良い。
例えば、暗号化の対象となる記憶部の数が3つである場合には、図6に示すような送信部が送信する情報600に、第3の記憶部を暗号化する第3の暗号鍵のバックアップ情報をさらに含めて、端末装置20に送信すれば良い。また、端末装置20は、情報処理装置10が送信する情報600に含まれる1つ以上の暗号鍵のバックアップ情報を、そのまま情報記憶部522に記憶すれば良い。
また、NFC通信は、近距離無線通信30の一例である。本実施形態に係る近距離無線通信30は、端末装置20を情報処理装置10の所定の位置から、所定の距離以内に近接させることにより、選択的にデータの送受信が可能な他の近距離無線通信(例えば、赤外線通信等)であっても良い。