(57)【要約】【課題】処理速度が速くかつ安全性の高い暗号システム等を提供する。【解決手段】外付け記憶装置６の外付け制御部１４は、暗号化部１５と復号化部２１とを備えている。暗号化部１５の元データ読み出し部１６は、外付け記憶装置６に接続された第1のホスト装置４の第1のホスト記憶部１１に記憶された元データを読み出す。第1の暗号化対象部分決定部１７は、元データの一部をソフトウェアによる第１の暗号化の対象となる第1の暗号化対象部分として決定する。第1の暗号化実行部１８は、第1の暗号化対象部分を第１の暗号化により暗号化して第1の暗号文データを得る。第２の暗号化実行部１９は、第1の暗号文データと、第1の暗号化対象部分以外の第1の暗号化対象外部分とをまとめてハードウェアによる第２の暗号化により暗号化して第２の暗号文データを得る。第２の暗号文データ書き込み部２０は、第２の暗号文データを、外付け記憶装置６の外付け記憶部１３に書き込む。【選択図】  図２
2020127129.tif 000002
【特許請求の範囲】
【請求項１】
第1のホスト記憶部を備えた第1のホスト装置と、第２のホスト記憶部を備えた第２のホスト装置と、外付け記憶部と外付け制御部とを備えた外付け記憶装置と、を備えた暗号システムであって、
前記外付け制御部は、暗号化部と復号化部とを備え、
前記暗号化部は、
前記外付け記憶装置に接続された前記第1のホスト装置の第1のホスト記憶部に記憶された元データを読み出すよう制御する元データ読み出し部と、
元データの一部をソフトウェアによる第１の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定部と、
決定された第1の暗号化対象部分を第１の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行部と、
得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第２の暗号化により暗号化して第２の暗号文データを得るよう制御する第２の暗号化実行部と、
得られた第２の暗号文データを、前記外付け記憶部に書き込むよう制御する第２の暗号文データ書き込み部と、
を備え、
前記復号化部は、
前記第1のホスト装置に替えて前記第２のホスト装置に接続された前記外付け記憶装置の外付け記憶部に記憶された第２の暗号文データを読み出すよう制御する第２の暗号文データ読み出し部と、
第２の暗号文データをハードウェアによる第１の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第１の復号化実行部と、
得られた第1の暗号文データをソフトウェアによる第２の復号化により復号化して第1の暗号化対象部分を得るよう制御する第２の復号化実行部と、
得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元部と、
得られた元データを、前記第２のホスト装置の第２のホスト記憶部に書き込むよう制御する元データ書き込み部と、
前記外付け記憶部に記憶された第２の暗号文データを部分的に消去するよう制御する第２の暗号文データ消去部と、
を備えたこと、
を特徴とする暗号システム。
【請求項２】
請求項１の暗号システムに用いられることを特徴とする前記外付け記憶装置。
【請求項３】
コンピュータに、請求項２の外付け記憶装置の機能を実行させるためのプログラム。
【請求項４】
請求項３のプログラムを記憶した記録媒体。
【請求項５】
暗号化部と復号化部とを備えた制御部と、記憶部と、を備えた暗号装置であって、
前記暗号化部は、
元データの一部をソフトウェアによる第１の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定部と、
決定された第1の暗号化対象部分を第１の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行部と、
得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第２の暗号化により暗号化して第２の暗号文データを得るよう制御する第２の暗号化実行部と、
を備え、
前記復号化部は、
第２の暗号文データをハードウェアによる第１の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第１の復号化実行部と、
得られた第1の暗号文データをソフトウェアによる第２の復号化により復号化して第1の暗号化対象部分を得るよう制御する第２の復号化実行部と、
得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元部と、
を備えたこと、
を特徴とする暗号装置。
【請求項６】
コンピュータに、請求項５の暗号装置の機能を実行させるためのプログラム。
【請求項７】
請求項６のプログラムを記憶した記録媒体。
【請求項８】
第1のホスト記憶部を備えた第1のホスト装置と、第２のホスト記憶部を備えた第２のホスト装置と、外付け記憶部と外付け制御部とを備えた外付け記憶装置と、を用いて行う暗号方法であって、
前記外付け記憶装置が、前記外付け記憶装置に接続された前記第1のホスト装置の第1のホスト記憶部に記憶された元データを読み出すよう制御する元データ読み出しステップと、
前記外付け記憶装置が、元データの一部をソフトウェアによる第１の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定ステップと、
前記外付け記憶装置が、決定された第1の暗号化対象部分を第１の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行ステップと、
前記外付け記憶装置が、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第２の暗号化により暗号化して第２の暗号文データを得るよう制御する第２の暗号化実行ステップと、
前記外付け記憶装置が、得られた第２の暗号文データを、前記外付け記憶部に書き込むよう制御する第２の暗号文データ書き込みステップと、
前記外付け記憶装置が、前記第1のホスト装置に替えて前記第２のホスト装置に接続された前記外付け記憶装置の外付け記憶部に記憶された第２の暗号文データを読み出すよう制御する第２の暗号文データ読み出しステップと、
前記外付け記憶装置が、第２の暗号文データをハードウェアによる第１の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第１の復号化実行ステップと、
前記外付け記憶装置が、得られた第1の暗号文データをソフトウェアによる第２の復号化により復号化して第1の暗号化対象部分を得るよう制御する第２の復号化実行ステップと、
前記外付け記憶装置が、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元ステップと、
前記外付け記憶装置が、得られた元データを、前記第２のホスト装置の第２のホスト記憶部に書き込むよう制御する元データ書き込みステップと、
前記外付け記憶装置が、前記外付け記憶部に記憶された第２の暗号文データを部分的に消去するよう制御する第２の暗号文データ消去ステップと、
を備えたこと、
を特徴とする暗号方法。
【請求項９】
暗号装置を用いて行う暗号方法であって、
前記暗号装置が、元データの一部をソフトウェアによる第１の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定ステップと、
前記暗号装置が、決定された第1の暗号化対象部分を第１の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行ステップと、
前記暗号装置が、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第２の暗号化により暗号化して第２の暗号文データを得るよう制御する第２の暗号化実行ステップと、
前記暗号装置が、第２の暗号文データをハードウェアによる第１の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第１の復号化実行ステップと、
前記暗号装置が、得られた第1の暗号文データをソフトウェアによる第２の復号化により復号化して第1の暗号化対象部分を得るよう制御する第２の復号化実行ステップと、
前記暗号装置が、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元ステップと、
を備えたこと、
を特徴とする暗号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、暗号システムおよび暗号装置に関し、とくに処理速度が速くかつ安全性の高い暗号技術に関する。
【背景技術】
【０００２】
ハードディスクやＵＳＢメモリのような記憶装置に記憶されたデータを、第三者の不正な読み出し行為から保護する等の目的から、データを暗号化して記憶する方法が、種々提案されている（たとえば、特許文献１参照）。
【０００３】
この方法では、システムの終了時に、ハードディスク内部のデータを暗号化すると共に、暗号化したデータを復号化するための復号化キーをフロッピーディスクに記憶する。この方法によれば、暗号化のアルゴリズムとして、たとえば、データ暗号化規格（ＤＥＳ）を用いて、ハードディスクの記憶データを暗号化しているため、復号化キーを持たない第三者が内容を読み出そうとしても、容易には読み出すことができない（特許文献１の［００１１］、［００１４］および［００１５］ならびに図２等参照）。
【０００４】
そして、暗号化のアルゴリズムとして、より暗号化強度の高いもの、たとえば、ＡＥＳ（Advanced Encryption Standard）１２８、１９２、２５６等を用いることで、データをより安全に保護することが期待できる。
【０００５】
しかしながら、一般に、暗号化強度を高めるために暗号鍵の鍵長を長くすれば（たとえばＡＥＳ２５６は、鍵長が２５６ビットでＡＥＳでは最長）、それに伴って、処理時間も長くなる。とりわけ、大容量のデータを暗号化する場合、その処理時間の長さが問題となる。
【０００６】
このような問題を解決するための技術として、ハードウェアによる暗号化（ハードウェアロジックにより構成された暗号化回路を用いて行う暗号化処理）が知られている。ハードウェアによる暗号化を実行することで、非常に高速に暗号化処理を実行することができる（特許文献２の［００１３］参照）。
【０００７】
しかし、ハードウェアによる暗号化を行う場合、何らかの方法により暗号鍵のデータが把握されると、記憶しているデータが第三者に読み出されてしまう危険性は否定できない（特許文献２の［０００４］参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１１−０１５７３８号公報
【特許文献２】特許第４４６３３２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
この発明は、このような従来の問題を解決し、処理速度が速くかつ安全性の高い暗号システム等を提供することを目的とする。
【課題を解決するための手段】
【００１０】
この発明による暗号システムは、第1のホスト記憶部を備えた第1のホスト装置と、第２のホスト記憶部を備えた第２のホスト装置と、外付け記憶部と外付け制御部とを備えた外付け記憶装置と、を備えた暗号システムであって、外付け制御部は、暗号化部と復号化部とを備え、暗号化部は、外付け記憶装置に接続された第1のホスト装置の第1のホスト記憶部に記憶された元データを読み出すよう制御する元データ読み出し部と、元データの一部をソフトウェアによる第１の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定部と、決定された第1の暗号化対象部分を第１の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行部と、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第２の暗号化により暗号化して第２の暗号文データを得るよう制御する第２の暗号化実行部と、得られた第２の暗号文データを、前記外付け記憶部に書き込むよう制御する第２の暗号文データ書き込み部と、を備え、復号化部は、第1のホスト装置に替えて第２のホスト装置に接続された外付け記憶装置の外付け記憶部に記憶された第２の暗号文データを読み出すよう制御する第２の暗号文データ読み出し部と、第２の暗号文データをハードウェアによる第１の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第１の復号化実行部と、得られた第1の暗号文データをソフトウェアによる第２の復号化により復号化して第1の暗号化対象部分を得るよう制御する第２の復号化実行部と、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元部と、得られた元データを、第２のホスト装置の第２のホスト記憶部に書き込むよう制御する元データ書き込み部と、外付け記憶部に記憶された第２の暗号文データを部分的に消去するよう制御する第２の暗号文データ消去部と、を備えたこと、を特徴とする。
【００１１】
本発明の特徴は、上記のように広く示すことができるが、その構成や内容は、目的および特徴とともに、図面を考慮に入れた上で、以下の開示によりさらに明らかになるであろう。
【発明の効果】
【００１２】
本願の第１発明による暗号システムは、第1のホスト記憶部を備えた第1のホスト装置と、第２のホスト記憶部を備えた第２のホスト装置と、外付け記憶部と外付け制御部とを備えた外付け記憶装置と、を備えた暗号システムであって、外付け制御部は、暗号化部と復号化部とを備え、暗号化部は、外付け記憶装置に接続された第1のホスト装置の第1のホスト記憶部に記憶された元データを読み出すよう制御する元データ読み出し部と、元データの一部をソフトウェアによる第１の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定部と、決定された第1の暗号化対象部分を第１の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行部と、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第２の暗号化により暗号化して第２の暗号文データを得るよう制御する第２の暗号化実行部と、得られた第２の暗号文データを、前記外付け記憶部に書き込むよう制御する第２の暗号文データ書き込み部と、を備え、復号化部は、第1のホスト装置に替えて第２のホスト装置に接続された外付け記憶装置の外付け記憶部に記憶された第２の暗号文データを読み出すよう制御する第２の暗号文データ読み出し部と、第２の暗号文データをハードウェアによる第１の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第１の復号化実行部と、得られた第1の暗号文データをソフトウェアによる第２の復号化により復号化して第1の暗号化対象部分を得るよう制御する第２の復号化実行部と、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元部と、得られた元データを、第２のホスト装置の第２のホスト記憶部に書き込むよう制御する元データ書き込み部と、外付け記憶部に記憶された第２の暗号文データを部分的に消去するよう制御する第２の暗号文データ消去部と、を備えたこと、を特徴とする。
【００１３】
つまり、この暗号システムにおける外付け記憶装置は、暗号化に際し、第1のホスト装置に記憶された元データに対して、ソフトウェアによる第１の暗号化に続いてハードウェアによる第２の暗号化を行う２重の暗号化を行い、これにより得られた第２の暗号文データを外付け記憶装置に書き込むよう構成され、復号化に際し、外付け記憶装置に記憶された第２の暗号文データに対して、暗号化と逆の手順で２重の復号化を行い、これにより得られた元データを第２のホスト装置に書き込み、その後、外付け記憶装置に記憶された第２の暗号文データを部分的に消去するよう構成されている。
【００１４】
このように、暗号化に際し２重の暗号化を行ない、復号化に際し２重の復号化を行なうよう構成することで、データ保護に対する安全性の高い暗号システムを実現することができる。そして、高速で実行されるハードウェアによる暗号化については元データ全体を対象としつつ、低速度で実行されるソフトウェアによる暗号化の対象を元データの一部に留めることで、安全性を確保しつつ、処理時間の短縮を図っている。復号化に際しても、暗号化の場合と同様に、処理時間の短縮を図ることができる。
【００１５】
さらに、復号化後に、外付け記憶装置に残された第２の暗号文データを消去する際、部分的に消去することで、消去のための処理時間を短縮することができる。暗号化されたデータは、一般的に、部分的に消去された場合でも全体の復元が困難であるから、意図せぬ第三者によって元データが復元される危険性は、極めて低い。
【００１６】
たとえば、外付け記憶装置を用いて、第１のホスト装置から第２のホスト装置に元データを移送する場合、データ保護の安全性を確保しつつ、暗号化から、復号化、復号化後の暗号文データの消去に至る一連の処理に要する時間の短縮を図ることができる。
【００１７】
すなわち、処理速度が速くかつ安全性の高い暗号システムを実現することができる。
【００１８】
本願の第２発明による外付け記憶装置は、本願の第１発明による暗号システムに用いられることを特徴とする
したがって、この外付け記憶装置を暗号システムに用いることで、上記第１発明と同様の効果を奏する。
【００１９】
本願の第３発明によるプログラムは、コンピュータに、本願の第２発明による外付け記憶装置の機能を実行させるためのプログラムである。
【００２０】
したがって、当該プログラムをコンピュータに実行させることで、上記第２発明と同様の効果を奏する。
【００２１】
本願の第４発明による記録媒体は、本願の第３発明によるプログラムを記憶した記録媒体である。
【００２２】
したがって、この記録媒体に記憶されたプログラムをコンピュータに実行させることで、上記第３発明と同様の効果を奏する。
【００２３】
本願の第５発明による暗号装置は、暗号化部と復号化部とを備えた制御部と、記憶部と、を備えた暗号装置であって、暗号化部は、元データの一部をソフトウェアによる第１の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定部と、決定された第1の暗号化対象部分を第１の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行部と、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第２の暗号化により暗号化して第２の暗号文データを得るよう制御する第２の暗号化実行部と、を備え、復号化部は、第２の暗号文データをハードウェアによる第１の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第１の復号化実行部と、得られた第1の暗号文データをソフトウェアによる第２の復号化により復号化して第1の暗号化対象部分を得るよう制御する第２の復号化実行部と、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元部と、を備えたこと、を特徴とする。
【００２４】
このように、この暗号装置においては、本願の第１発明と同様に、暗号化に際し２重の暗号化を行ない、復号化に際し２重の復号化を行なうよう構成することで、データ保護に対する安全性の高い暗号装置を実現することができる。そして、高速で実行されるハードウェアによる暗号化については元データ全体を対象としつつ、低速度で実行されるソフトウェアによる暗号化の対象を元データの一部に留めることで、安全性を確保しつつ、処理時間の短縮を図っている。復号化に際しても、暗号化の場合と同様に、処理時間の短縮を図ることができる。
【００２５】
すなわち、処理速度が速くかつ安全性の高い暗号装置を実現することができる。
【００２６】
本願の第６発明によるプログラムは、コンピュータに、本願の第５発明による暗号装置の機能を実行させるためのプログラムである。
【００２７】
したがって、当該プログラムをコンピュータに実行させることで、上記第５発明と同様の効果を奏する。
【００２８】
本願の第７発明による記録媒体は、本願の第６発明によるプログラムを記憶した記録媒体である。
【００２９】
したがって、この記録媒体に記憶されたプログラムをコンピュータに実行させることで、上記第６発明と同様の効果を奏する。
【００３０】
また、本願の第８発明による暗号方法は、第1のホスト記憶部を備えた第1のホスト装置と、第２のホスト記憶部を備えた第２のホスト装置と、外付け記憶部と外付け制御部とを備えた外付け記憶装置と、を用いて行う暗号方法であって、外付け記憶装置が、外付け記憶装置に接続された第1のホスト装置の第1のホスト記憶部に記憶された元データを読み出すよう制御する元データ読み出しステップと、外付け記憶装置が、元データの一部をソフトウェアによる第１の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定ステップと、外付け記憶装置が、決定された第1の暗号化対象部分を第１の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行ステップと、外付け記憶装置が、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第２の暗号化により暗号化して第２の暗号文データを得るよう制御する第２の暗号化実行ステップと、外付け記憶装置が、得られた第２の暗号文データを、外付け記憶部に書き込むよう制御する第２の暗号文データ書き込みステップと、外付け記憶装置が、第1のホスト装置に替えて第２のホスト装置に接続された外付け記憶装置の外付け記憶部に記憶された第２の暗号文データを読み出すよう制御する第２の暗号文データ読み出しステップと、外付け記憶装置が、第２の暗号文データをハードウェアによる第１の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第１の復号化実行ステップと、外付け記憶装置が、得られた第1の暗号文データをソフトウェアによる第２の復号化により復号化して第1の暗号化対象部分を得るよう制御する第２の復号化実行ステップと、外付け記憶装置が、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元ステップと、外付け記憶装置が、得られた元データを、第２のホスト装置の第２のホスト記憶部に書き込むよう制御する元データ書き込みステップと、外付け記憶装置が、外付け記憶部に記憶された第２の暗号文データを部分的に消去するよう制御する第２の暗号文データ消去ステップと、を備えたこと、を特徴とする。
【００３１】
したがって、第1のホスト装置と、第２のホスト装置と、外付け記憶装置とを用いて当該方法を使用することで、上記第１発明と同様の効果を奏する。
【００３２】
本願の第９発明による暗号方法は、暗号装置を用いて行う暗号方法であって、暗号装置が、元データの一部をソフトウェアによる第１の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定ステップと、暗号装置が、決定された第1の暗号化対象部分を第１の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行ステップと、暗号装置が、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第２の暗号化により暗号化して第２の暗号文データを得るよう制御する第２の暗号化実行ステップと、暗号装置が、第２の暗号文データをハードウェアによる第１の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第１の復号化実行ステップと、暗号装置が、得られた第1の暗号文データをソフトウェアによる第２の復号化により復号化して第1の暗号化対象部分を得るよう制御する第２の復号化実行ステップと、暗号装置が、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元ステップと、を備えたこと、を特徴とする。
【００３３】
したがって、暗号装置を用いて当該方法を使用することで、上記第５発明と同様の効果を奏する。
【図面の簡単な説明】
【００３４】
【図１】図１は、この発明の一実施形態による暗号システム２の全体構成を示すブロック図である。
【図２】図２は、暗号システム２の構成要素である第1のホスト装置４、第２のホスト装置５、外付け記憶装置６の構成を例示するブロック図である。
【図３】図３は、図２に示す第1のホスト装置４および第２のホスト装置５、ならびに、外付け記憶装置６のハードウェア構成の一例を示すブロック図であって、第1のホスト装置４、第２のホスト装置５として、それぞれ送出側コンピュータ４、受領側コンピュータ５を用いるとともに、外付け記憶装置６として、外付けハードディスク６を用いた場合の例である。
【図４】図４は、送出側コンピュータ４と外付けハードディスク６との間において、被伝達データの送出時に実施される暗号化処理の流れの一例を示すフローチャートである。
【図５】図５は、受領側コンピュータ５と外付けハードディスク６との間において、被伝達データの受領時に実施される復号化処理の流れの一例を示すフローチャートである。
【図６】図６Ａないし図６Ｄは、暗号化処理（復号化処理）の主要なステップにおける被伝達データであるファイル３０の状況を説明するためのデータ構造の模式図である。
【図７】図７は、この発明の他の実施形態における暗号装置８の構成を示すブロック図である。
【図８】図８は、図７に示す暗号装置８のハードウェア構成の一例を示すブロック図であって、暗号装置８として、コンピュータ８を用いた場合の例である。
【図９】図９は、暗号装置８を用いた暗号化処理の流れの一例を示すフローチャートである。
【図１０】図１０は、暗号装置８を用いた復号化処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００３５】
図１は、この発明の一実施形態による暗号システム２の全体構成を示すブロック図である。
【００３６】
暗号システム２は、外付け記憶装置６と、第1のホスト装置４と、第２のホスト装置５とを備えている。外付け記憶装置６は、第1のホスト装置４および第２のホスト装置５のいずれに対しても、接続・離脱（接続解除）自在に構成されている。ただし、外付け記憶装置６は、２つのホスト装置４、５に対して同時に接続することはできないものとする。
【００３７】
図１は、外付け記憶装置６が、第1のホスト装置４に接続され、第1のホスト装置４と通信可能となっている状態を示す。この状態においては、外付け記憶装置６は、第２のホスト装置５に接続されていない。以下、とくに断らない限り、「接続され」は「通信可能な状態で接続され」を意味するものとする。
【００３８】
図２は、暗号システム２の構成要素である第1のホスト装置４、第２のホスト装置５、外付け記憶装置６の構成を例示するブロック図である。
【００３９】
図２に示すように、第1のホスト装置４は、第１のホスト制御部９と、第１のホスト記憶部１１と、を備えている。第１のホスト記憶部１１には、暗号システム２による暗号化の対象となる元データが記憶されているものとする。
【００４０】
第２のホスト装置５は、第２のホスト制御部１０と、第２のホスト記憶部１２と、を備えている。
【００４１】
外付け記憶装置６は、外付け記憶部１３と、外付け制御部１４とを備えている。
【００４２】
外付け記憶装置６の外付け制御部１４は、暗号化部１５と復号化部２１とを備えている。
【００４３】
暗号化部１５は、元データ読み出し部１６と、第1の暗号化対象部分決定部１７と、第1の暗号化実行部１８と、第２の暗号化実行部１９と、第２の暗号文データ書き込み部２０と、を備えている。
【００４４】
元データ読み出し部１６は、外付け記憶装置６に接続された第1のホスト装置４の第1のホスト記憶部１１に記憶された元データを読み出すよう、第１のホスト制御部９を制御する。
【００４５】
第1の暗号化対象部分決定部１７は、元データの一部をソフトウェアによる第１の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう、第１のホスト制御部９を制御する。
【００４６】
第1の暗号化実行部１８は、決定された第1の暗号化対象部分を第１の暗号化により暗号化して第1の暗号文データを得るよう、第１のホスト制御部９を制御する。
【００４７】
第２の暗号化実行部１９は、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第２の暗号化により暗号化して第２の暗号文データを得るよう、第１のホスト制御部９を制御する。
【００４８】
第２の暗号文データ書き込み部２０は、得られた第２の暗号文データを、外付け記憶装置６の外付け記憶部１３に書き込むよう、第１のホスト制御部９を制御する。
【００４９】
復号化部２１は、第２の暗号文データ読み出し部２２と、第１の復号化実行部２３と、第２の復号化実行部２４と、元データ復元部２５と、元データ書き込み部２６と、第２の暗号文データ消去部２７と、を備えている。
【００５０】
第２の暗号文データ読み出し部２２は、第1のホスト装置４に替えて第２のホスト装置５に接続された外付け記憶装置６の外付け記憶部１３に記憶された第２の暗号文データを読み出すよう、第２のホスト制御部１０を制御する。
【００５１】
第１の復号化実行部２３は、第２の暗号文データをハードウェアによる第１の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう、第２のホスト制御部１０を制御する。
【００５２】
第２の復号化実行部２４は、得られた第1の暗号文データをソフトウェアによる第２の復号化により復号化して第1の暗号化対象部分を得るよう、第２のホスト制御部１０を制御する。
【００５３】
元データ復元部２５は、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう、第２のホスト制御部１０を制御する。
【００５４】
元データ書き込み部２６は、得られた元データを、第２のホスト装置５の第２のホスト記憶部１２に書き込むよう、第２のホスト制御部１０を制御する。
【００５５】
第２の暗号文データ消去部２７は、外付け記憶装置６の外付け記憶部１３に記憶された第２の暗号文データを部分的に消去するよう、第２のホスト制御部１０を制御する。
【００５６】
図３は、図２に示す第1のホスト装置４および第２のホスト装置５、ならびに、外付け記憶装置６のハードウェア構成の一例を示すブロック図であって、第1のホスト装置４、第２のホスト装置５として、それぞれ送出側コンピュータ４、受領側コンピュータ５を用いるとともに、外付け記憶装置６として、外付けハードディスク６を用いた場合の例である。
【００５７】
送出側コンピュータ４は、とくに限定されるものではないが、この例では、一般的なパーソナルコンピュータと同様の構成である。
【００５８】
送出側コンピュータ４は、ハードディスクを備えたＨＤＤ（ハードディスクドライブ）またはフラッシュメモリを搭載したＳＳＤ（ソリッドステートドライブ）等により構成され第１のホスト記憶部１１として機能する補助記憶装置５５、外付けハードディスク６にインストールされている暗号システム２に用いられるプログラム（以下、「暗号システムアプリ」ということがある。）等を、外付けハードディスク６の制御にしたがって実行する第1のホスト制御部９として機能するＣＰＵ５１、ＣＰＵ５１のワーク領域として機能する主記憶装置５４、ＬＣＤ（液晶表示装置）等の表示装置５２，キーボード、マウス、トラックパッド等の入力装置５３、および、送出側コンピュータ４に接続された外付けハードディスク６等との通信に用いられるインタフェース部５６を備えている。
【００５９】
受領側コンピュータ５は、とくに限定されるものではないが、この例では、一般的なパーソナルコンピュータと同様の構成を備えており、その基本的なハードウェア構成は、送出側コンピュータ４のそれと同様であるので、説明を省略する。
【００６０】
外付けハードディスク６は、とくに限定されるものではないが、この例では、暗号化／復号化回路６３を備えている点を除き、一般的な外付けハードディスクと同様の構成を備えており、外付けハードディスク６の制御等に用いられるプログラム（ファームウェア）や、暗号システムアプリ等を記憶した記録媒体として機能するＲＯＭ（Read Only Memory）領域６５、第２の暗号文データその他任意のデータを記憶するユーザデータ領域６２、ＲＯＭ領域６５に記憶されたファームウェアを実行したり、ＲＯＭ領域６５に記憶された暗号システムアプリを送出側コンピュータ４または受領側コンピュータ５のＣＰＵ５１（第1のホスト制御部９または第２のホスト制御部１０に対応）に実行させるよう制御したりする外付け制御部１４として機能するＭＣＵ（Micro Controller Unit）６１、ＭＣＵ６１のワークエリアとして機能するＲＡＭ（Random access memory）領域６４、ＡＥＳ（Advanced Encryption Standard）２５６アルゴリズム等による暗号化および復号化をハードウェアを用いて実行する暗号化／復号化回路６３、外付けハードディスク６に接続された送出側コンピュータ４または受領側コンピュータ５等との通信に用いられるインタフェース部６６を備えている。
【００６１】
つぎに、暗号システム２の動作について説明する。ここでは、外付けハードディスク６を用いて、送出側コンピュータ４から受領側コンピュータ５へ被伝達データを移送する場合を例に、説明する。
【００６２】
図４は、送出側コンピュータ４と外付けハードディスク６との間において、被伝達データの送出時に実施される暗号化処理の流れの一例を示すフローチャートである。
【００６３】
図５は、受領側コンピュータ５と外付けハードディスク６との間において、被伝達データの受領時に実施される復号化処理の流れの一例を示すフローチャートである。
【００６４】
図６Ａないし図６Ｄは、暗号化処理（復号化処理）の主要なステップにおける被伝達データであるファイル３０の状況を説明するためのデータ構造の模式図である。
【００６５】
まず、図４、および図６Ａないし図６Ｄを参照しつつ、暗号化処理について説明する。この暗号化処理は、送出側コンピュータ４に記憶されている被伝達データを、暗号化して、外付けハードディスク６にコピーする処理である。
【００６６】
暗号化処理に先立ち、送出側コンピュータ４の第１のホスト記憶部１１に対応する補助記憶装置５５には、元データ（図４に示す暗号化処理が実行される前の被伝達データ）が記憶されているものとする。
【００６７】
また、送出側コンピュータ４に、外付けハードディスク６が接続され、外付けハードディスク６にインストールされている暗号システムアプリが起動しているものとする。
【００６８】
また、送出側コンピュータ４と外付けハードディスク６との間における所定の認証（たとえば、パスワード認証等）が要求されている場合（なお、この実施形態においては、当該所定の認証が要求されている。）には、両者間における認証処理が実行され、当該認証が成立しているものとする。
【００６９】
なお、図４に示す暗号化処理においては、原則として、外付けハードディスク６（のＭＣＵ６１）が、送出側コンピュータ４（のＣＰＵ５１）を制御して、送出側コンピュータ４（のＣＰＵ５１）に各処理を実行させるよう構成しているが、説明の便宜上、各処理は、外付けハードディスク６（のＭＣＵ６１）が実行するものとして説明する。
【００７０】
図４に示すように、暗号化処理において、外付けハードディスク６のＭＣＵ６１（以下、単に「外付けハードディスク６」ということがある。）は、まず、外付けハードディスク６に接続された送出側コンピュータ４の補助記憶装置５５に記憶された元データを、送出側コンピュータ４を介して読み出すよう制御する（ステップＳ１）。
【００７１】
図６Ａないし図６Ｄに示すように、被伝達データであるファイル３０は、ヘッダ部３１とデータ本体３２とを備えているものとする。ヘッダ部３１は、当該ファイル３０のファイルタイプ、ファイルサイズ、ファイル作成日時等、当該ファイル３０の書誌的データが記載された部分である。データ本体３２は、当該ファイル３０の実体的データが記載された部分である。
【００７２】
図６Ａは、ファイル３０の元データにおける状態を説明するための図面である。なお、元データにはとくに制限はなく、平文のデータであっても、既に何らかの暗号化処理が施された後のデータであってもよいが、説明の便宜上、ここでは、元データが平文のデータである場合を例に説明する。
【００７３】
図６Ａに示すように、この状態においては、ファイル３０は、ヘッダ部３１、データ本体３２ともに、平文のデータのままである。なお、図６Ａないし図６Ｄにおいて、実線で囲まれた空白（ハッチングが施されていない部分）は、平文のデータを表す。
【００７４】
続いて、図４に示すように、外付けハードディスク６は、ステップＳ１において読み出された元データとしてのファイル３０の一部をソフトウェアによる第１の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する（ステップＳ２）。
【００７５】
第1の暗号化対象部分の決定方法は、とくに限定されるものではないが、第1の暗号化対象部分として、少なくともファイル３０のヘッダ部３１全体を含むよう構成することが好ましい。
【００７６】
ヘッダ部３１には、もともとファイル３０に関する重要な情報が記載されているのみならず、第1の暗号化の実行に先立ち、ヘッダ部３１に、第1の暗号化の暗号鍵の一部が平文のまま、または暗号化されて追加記載される（後述）。このため、ヘッダ部３１全体をソフトウェアによる第１の暗号化の対象とすることで、被伝達データを移送する際のセキュリティが向上する。
【００７７】
また、たとえば、ファイル３０のヘッダ部３１全体に加え、データ本体３２の一部を第1の暗号化対象部分として決定することが、さらに好ましい。
【００７８】
この場合、ファイル３０のファイルタイプによって、データ本体３２のうち第１の暗号化の対象とする部分の割合Ｒを異ならせるよう構成することもできる。
【００７９】
すなわち、たとえばバイナリファイルのように、データ本体３２に対するソフトウェアによる第１の暗号化をその一部に留めたとしても、第１の暗号化が実行された後におけるデータ本体３２の復元が比較的困難となるようなファイルタイプの場合には、上記割合Ｒを比較的小さい値Ｒ１に設定しておくのである。
【００８０】
上記割合Ｒを小さい値Ｒ１に設定することで、当該暗号化に要する時間を短縮する効果が期待できるからである。その一方で、第１の暗号化が実行された後におけるデータ本体３２の復元が比較的困難であることから、被伝達データを移送する際のセキュリティが損なわれる可能性が低いからである。
【００８１】
一方、たとえばテキストファイルのように、データ本体３２に対するソフトウェアによる第１の暗号化をその一部に留めた場合、第１の暗号化が実行された後におけるデータ本体３２の復元が、上述の場合（バイナリファイルのようなファイルタイプの場合）に比較して、容易となるようなファイルタイプの場合には、上記割合Ｒを比較的大きい値Ｒ２（＞Ｒ１）に設定しておく。
【００８２】
上記割合Ｒを大きい値Ｒ２に設定することで、当該暗号化に要する時間を短縮する効果はさほど期待できないものの、第１の暗号化が実行化された後におけるデータ本体３２の復元が比較的困難となることから、被伝達データを移送する際のセキュリティが損なわれる可能性が低くなる。
【００８３】
このように、ファイル３０のファイルタイプによって、データ本体３２のうち第１の暗号化の対象とする部分の割合Ｒを異ならせるよう構成することで、第１の暗号化に要する時間の短縮と、被伝達データを移送する際のセキュリティ確保とを、バランスよく両立させることが可能となる。
【００８４】
たとえば、ファイル３０のファイルタイプがバイナリファイルの場合には、上記割合Ｒ（Ｒ１）を１／２程度以下（あるいは、１／５程度以下、１／１０程度以下、１／２０程度以下、１／５０程度以下）の値に設定するとともに、ファイル３０のファイルタイプがテキストファイルの場合には、上記割合Ｒ（Ｒ２）を１／２程度以上の値となるように設定することができる。
【００８５】
この実施形態においては、ファイル３０のファイルタイプがバイナリファイルの場合には、上記割合Ｒ（Ｒ１）を１／５程度から１／５０程度までの値とし、ファイル３０のファイルタイプがテキストファイルの場合には、上記割合Ｒ（Ｒ２）を１とする（すなわち、データ本体３２全体を第１の暗号化の対象とする）よう構成している。
【００８６】
したがって、この実施形態においては、ステップＳ２の処理として、まず、外付けハードディスク６は、ステップＳ１において読み出されたファイル３０のファイルタイプを取得する。ファイルタイプを取得する方法は、とくに限定されるものではないが、たとえば、ファイル３０のファイル名の拡張子を読み取ることにより取得することができる。
【００８７】
つづいて、外付けハードディスク６は、ファイル３０のファイルタイプに基づいて、データ本体３２のうち第１の暗号化の対象とする部分の割合Ｒを決定する。
【００８８】
具体的には、上述のように、ファイル３０のファイルタイプがバイナリファイルの場合には、上記割合Ｒを１／５程度から１／５０程度までの値（Ｒ１）とし、ファイル３０のファイルタイプがテキストファイルの場合には、上記割合Ｒを１（Ｒ２）とするよう構成されている。
【００８９】
つぎに、外付けハードディスク６は、ファイル３０のファイルタイプがバイナリファイルの場合、データ本体３２のどの部分を第１の暗号化の対象とするか特定する。第１の暗号化の対象部分の特定方法は、とくに限定されるものではなく、第１の暗号化の対象部分を、データ本体３２内にランダムに配置するようにすることもできるが、この実施形態においては、第１の暗号化の対象部分を、データ本体３２内に規則的に（この例では、さらに均等に分散して）配置するよう構成している。
【００９０】
第１の暗号化の対象部分を、データ本体３２内に規則的に配置することで、第２の復号化に際して、データ本体３２のうち当該復号化の対象とすべき第１の暗号文の位置を特定する処理が容易となり、復号化処理に要する時間を短縮する効果が期待できるからである。
【００９１】
また、第１の暗号化の対象部分を、データ本体３２内に均等に分散して配置することで、第１の暗号化実行後のデータ本体３２が、仮に漏洩したとしても、漏洩したデータ本体３２から、ある程度まとまりのある元データが復元される危険性を低減することができるからである。
【００９２】
データ本体３２のうち、第１の暗号化の対象部分以外の部分が、第1の暗号化対象外部分である。
【００９３】
なお、第１の暗号化の対象部分を、データ本体３２内に規則的に均等に分散させて配置する場合、上記割合Ｒ１が１／１０と仮定すると、たとえば、データ本体３２の先頭から１ブロック目、１１ブロック目、２１ブロック目、・・・・・を、第１の暗号化の対象部分としたり、データ本体３２の先頭から１ないし２ブロック目、２１ないし２２ブロック目、４１ないし４２ブロック目、・・・・・を、第１の暗号化の対象部分としたりすることができる。
【００９４】
つぎに、図４に示すように、外付けハードディスク６は、決定された第1の暗号化対象部分をソフトウェアによる第１の暗号化により暗号化して第1の暗号文データを得るよう制御する（ステップＳ３）。
【００９５】
第1の暗号化の方式はとくに限定されるものではないが、たとえば共通鍵方式を用いることができる。また、共通鍵方式のアルゴリズムについてもとくに限定されるものではないが、この実施形態においては、暗号化強度が高いとされるＡＥＳ（Advanced Encryption Standard）２５６を用いるよう構成している。
【００９６】
本ステップの詳細な手順は、とくに限定されるものではないが、この実施形態においては、上述のステップＳ２において決定されたファイル３０の第1の暗号化対象部分を、ヘッダ部３１に係る部分と、データ本体３２に係る部分とに分け、それぞれの部分に対し異なる暗号鍵で暗号化するよう構成している。
【００９７】
すなわち、ヘッダ部３１に係る部分に対してヘッダ部用鍵を用いて第1の暗号化を行うとともに、データ本体３２に係る部分に対してデータ本体用鍵を用いて第1の暗号化を行うよう構成している。
【００９８】
さらに、ヘッダ部３１に係る部分に対する第1の暗号化の実行に先立ち、ヘッダ部３１に、データ本体用鍵を平文のまま、または暗号化したうえで、追加して記憶させておく。
【００９９】
したがって、本ステップによる第1の暗号化が実行されると、第1の暗号化対象部分のうちデータ本体３２に係る部分は、ヘッダ部３１に係る部分を復号化してデータ本体用鍵を取得しない限り、復号化できないことになる。なお、ヘッダ部用鍵の記憶場所はとくに限定されるものではないが、たとえば、外付けハードディスク６のＲＯＭ領域６５に、平文のまま、または暗号化して記憶させるよう構成することができる。この実施形態においては、ヘッダ部用鍵を、暗号システムアプリ内に記憶させるよう構成している。
【０１００】
図６Ｂは、第1の暗号化が実行された後におけるファイル３０の状態を説明するための図面である。
【０１０１】
図６Ｂに示すファイル３０のうち、右上がりのハッチングの付された部分が、ソフトウェアによる第1の暗号化が実行された部分（第1の暗号文データ）である。実線で囲まれた空白（ハッチングが施されていない部分）は、第1の暗号化の対象とならなかった第1の暗号化対象外部分（平文のままの部分）である。
【０１０２】
つぎに、外付けハードディスク６は、第1の暗号化実行処理（ステップＳ３）により得られた、第1の暗号文データと、第1の暗号化対象外部分と、をまとめてハードウェアによる第２の暗号化により暗号化して第２の暗号文データを得るとともに（ステップＳ４）、得られた第２の暗号文データを、外付け記憶装置６に書き込むよう制御する（ステップＳ５）。
【０１０３】
すなわち、図６Ｂに示すファイル３０全体を対象として、ハードウェアによる第２の暗号化が行われ、その結果が、たとえば、外付けハードディスク６の外付け記憶部１３に対応するユーザデータ領域６２（図３参照）の少なくとも一部に設定されているセキュリティ領域６２ａ（図示せず）に書き込まれる。
【０１０４】
ステップＳ５の実行が完了すると、図４に示す暗号化処理が完了する。
【０１０５】
なお、セキュリティ領域６２ａは、上述の所定の認証が成立したことを条件として、ユーザからの認識が可能となるような領域として構成されている。
【０１０６】
第２の暗号化の方法は、とくに限定されるものではないが、この実施形態においては、外付けハードディスク６に実装され、ＡＥＳ（Advanced Encryption Standard）２５６アルゴリズムを実行する暗号化／復号化回路６３を用いて行うよう構成されている。
【０１０７】
ハードウェアによる第２の暗号化の暗号鍵の記憶場所はとくに限定されるものではないが、たとえば、外付けハードディスク６のＲＯＭ領域６５や暗号化／復号化回路６３に、平文のまま、または暗号化して記憶させるよう構成することができる。
【０１０８】
図６Ｃは、第２の暗号化が実行された後におけるファイル３０（第２の暗号文データ）の状態を説明するための図面である。
【０１０９】
図６Ｃに示すファイル３０のうち、網掛けの施された部分が、ソフトウェアによる第1の暗号化およびハードウェアによる第２の暗号化が実行された部分（２重暗号化部分）であり、左上がりのハッチングの付された部分が、ハードウェアによる第２の暗号化のみが実行された部分である。
【０１１０】
このように、外付けハードディスク６に接続された送出側コンピュータ４の補助記憶装置５５に記憶されたファイル３０を、処理速度および安全性を損ねることなく暗号化して、外付けハードディスク６のセキュリティ領域６２ａにコピーすることができる。
【０１１１】
つぎに、図５、および図６Ａないし図６Ｄを参照しつつ、復号化処理について説明する。この復号化処理は、送出側コンピュータ４に替えて受領側コンピュータ５に接続された外付けハードディスク６のセキュリティ領域６２ａに暗号化して記憶されているファイル３０を、復号化して、受領側コンピュータ５にコピーする処理である。
【０１１２】
復号化処理に先立ち、外付けハードディスク６の外付け記憶部１３に対応するセキュリティ領域６２ａには、図４の暗号化処理により得られた第２の暗号文データに相当する暗号化されたファイル３０（図６Ｃ参照）が記憶されているものとする。
【０１１３】
また、受領側コンピュータ５に、外付けハードディスク６が接続され、外付けハードディスク６にインストールされている暗号システムアプリが起動しているものとする。
【０１１４】
また、受領側コンピュータ５と外付けハードディスク６との間における所定の認証（たとえば、パスワード認証等）が要求されている場合（なお、この実施形態においては、当該所定の認証が要求されている。）には、両者間における認証処理が実行され、当該認証が成立しているものとする。
【０１１５】
なお、図５に示す復号化処理においては、上述の暗号化処理（図４参照）の場合と同様に、原則として、外付けハードディスク６（のＭＣＵ６１）が、受領側コンピュータ５（のＣＰＵ５１）を制御して、受領側コンピュータ５（のＣＰＵ５１）に各処理を実行させるよう構成しているが、説明の便宜上、各処理は、外付けハードディスク６（のＭＣＵ６１）が実行するものとして説明する。
【０１１６】
図５に示すように、復号化処理において、外付けハードディスク６は、まず、外付けハードディスク６のセキュリティ領域６２ａに記憶された第２の暗号文データに相当する暗号化されたファイル３０を読み出して（ステップＳ１１）、これを、ハードウェアによる第１の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する（ステップＳ１２）。
【０１１７】
ハードウェアによる第１の復号化実行処理（ステップＳ１２）は、上述のハードウェアによる第２の暗号化実行処理（ステップＳ４）と逆の処理である。すなわち、第１の復号化実行処理は、上述の、第２の暗号化実行処理に用いられるものと同一（共通）の暗号鍵を用いて、第２の暗号化実行処理における暗号化方式に対応する復号化方式にしたがって、暗号化／復号化回路６３により実行される。
【０１１８】
ハードウェアによる第１の復号化実行処理により得られた、第1の暗号文データと、第1の暗号化対象外部分からなるファイル３０は、図６Ｂに示す状態となっている。
【０１１９】
続いて、外付けハードディスク６は、ファイル３０における第1の暗号文データ（図６Ｂに示す、右上がりのハッチングの付された部分）をソフトウェアによる第２の復号化により復号化して第1の暗号化対象部分を得るよう制御する（ステップＳ１３）。
【０１２０】
ソフトウェアによる第２の復号化実行処理（ステップＳ１３）は、上述のソフトウェアによる第１の暗号化実行処理（ステップＳ３）と逆の処理である。すなわち、第２の復号化実行処理は、上述の、第１の暗号化実行処理に用いられるものと同一（共通）の暗号鍵を用いて、第１の暗号化実行処理における暗号化方式に対応する復号化方式にしたがって実行される。
【０１２１】
ステップＳ１３の詳細な手順を説明すると、外付けハードディスク６は、まず、暗号システムアプリ内に記憶されているヘッダ部用鍵を取得する。ヘッダ部用鍵は、上述のソフトウェアによる第１の暗号化実行処理（ステップＳ３参照）において、第１の暗号化対象部分のうちヘッダ部３１に係る部分に対して行われた第１の暗号化に用いられたもの同一（共通）の暗号鍵である。
【０１２２】
外付けハードディスク６は、取得したこのヘッダ部用鍵を用いて、第1の暗号文データのうちヘッダ部３１に係る部分に対して第２の復号化を実行し、ヘッダ部３１に係る第1の暗号化対象部分（すなわち、平文で表されたヘッダ部３１）を取得する。
【０１２３】
外付けハードディスク６は、平文で表されたヘッダ部３１に記憶されているデータ本体用鍵を取得する。データ本体用鍵は、上述のソフトウェアによる第１の暗号化実行処理（ステップＳ３参照）において、第１の暗号化対象部分のうちデータ本体３２に係る部分に対して行われた第１の暗号化に用いられたものと同一（共通）の暗号鍵である。
【０１２４】
外付けハードディスク６は、取得したこのデータ本体用鍵を用いて、第1の暗号文データのうちデータ本体３２に係る部分に対して第２の復号化を実行し、データ本体３２に係る第1の暗号化対象部分（すなわち、平文で表されたデータ本体３２）を取得する。
【０１２５】
外付けハードディスク６は、このような手順で、ファイル３０における第1の暗号文データを、第２の復号化により復号化して第1の暗号化対象部分を得るのである。
【０１２６】
続いて、外付けハードディスク６は、このようにして得られた第1の暗号化対象部分と、第1の暗号化対象外部分とを組み合わせて、元データとしてのファイル３０を復元し（ステップＳ１４）、復元されたファイル３０を、受領側コンピュータ５の第２のホスト記憶部１２に対応する補助記憶装置５５に書き込むよう制御する（ステップＳ１５）。
【０１２７】
元データに復元されたファイル３０は、図６Ａに示す状態となっている。
【０１２８】
このように、外付けハードディスク６のセキュリティ領域６２ａに記憶されている暗号化されたファイル３０を、処理速度および安全性を損ねることなく復号化して、外付けハードディスク６に接続された受領側コンピュータ５の補助記憶装置５５にコピーすることができる。
【０１２９】
続いて、外付けハードディスク６は、外付けハードディスク６の外付け記憶部１３に対応するセキュリティ領域６２ａに記憶されている第２の暗号文データを部分的に消去するよう制御する（ステップＳ１６）。このステップの実行が完了すると、図５に示す復号化処理が完了する。
【０１３０】
なお、ステップＳ１６において、第２の暗号文データのどの部分を、どの程度、消去するかは、とくに限定されるものではないが、たとえば、第２の暗号文データ（図６Ｃ参照）のうちヘッダ部３１に係る部分（ヘッダ部３１に係る部分全体を表す。以下同様。）のみを消去するよう構成することができる。
【０１３１】
上述のように、第２の暗号文データのうちヘッダ部３１に係る部分には、データ本体３２に係る部分を復号化するためのデータ本体用鍵が記憶されていることから、ヘッダ部３１に係る部分を消去することで、第２の暗号文データから平文のデータ本体３２を復号化することが、極めて困難になるためである。
【０１３２】
また、上記ステップにおいて、第２の暗号文データのうちヘッダ部３１に係る部分に加えて、データ本体３２に係る部分の一部を消去するよう構成することができる。
【０１３３】
この場合、消去対象となるデータ本体３２に係る部分の一部として、たとえば、データ本体３２に係る部分の先頭領域（とくに限定されるものではないが、たとえば、データ本体３２に係る部分の先頭から１Ｋバイト〜３２Ｋ程度の領域）のみを例示することができる。データ本体３２の先頭領域には、重要な情報が記載されている可能性が高いからである。
【０１３４】
さらに、消去対象となるデータ本体３２に係る部分の一部として、たとえば、データ本体３２に係る部分の先頭領域（上述）および末尾領域（とくに限定されるものではないが、たとえば、データ本体３２に係る部分の末尾から１Ｋバイト〜３２Ｋ程度の領域）を例示することができる。データ本体３２の末尾領域にも、重要な情報が記載されている可能性が高いからである。
【０１３５】
さらに、消去対象となるデータ本体３２に係る部分の一部として、たとえば、データ本体３２に係る部分の先頭領域および末尾領域（上述）に加え、１または２以上の中間領域（データ本体３２に係る部分の先頭領域と末尾領域との間に位置する領域であって、とくに限定されるものではないが、たとえば、１Ｋバイト〜３２Ｋ程度の領域）を例示することができる。１または２以上の中間領域を消去することで、データ本体３２に記載されている情報の前後のつながりを把握することが困難となるからである。
【０１３６】
第２の暗号文データのうちヘッダ部３１に係る部分に加えて、データ本体３２に係る部分の一部を消去するよう構成することで、万が一、データ本体３２が部分的に復元されることがあったとしても、重要な情報の漏洩を防止することが可能となる。
【０１３７】
図６Ｄは、第２の暗号文データを部分的に消去する処理が実行された後におけるファイル３０の状態を説明するための図面である。図６Ｄにおいて、破線で示された部分が当該消去処理によって消去された部分を表し、実線で囲まれた部分が、当該消去処理によって消去されなかった部分を表す。
【０１３８】
このように、外付けハードディスク６のセキュリティ領域６２ａに残された暗号化されたファイル３０（第２の暗号文データ）を部分的に消去するよう構成することで、第２の暗号文データ全体を消去する場合に比較して消去時間を短縮することができるとともに、重要な情報の漏洩を防止することが可能となる。
【０１３９】
つまり、外付けハードディスク６のセキュリティ領域６２ａに記憶されている暗号化されたファイル３０を、処理速度および安全性を損ねることなく消去することができる。
【０１４０】
このような手順で、図４に示す暗号化処理および図５に示す復号化処理（第２の暗号文データの消去処理を含む）を実行するよう構成することで、処理速度および安全性を損ねることなく、外付けハードディスク６を用いて、送出側コンピュータ４から受領側コンピュータ５へ被伝達データを移送することが可能となる。
【０１４１】
図４に示すステップＳ１ないしステップＳ５を構成する各ステップが、図２の外付け記憶装置６の暗号化部１５における元データ読み出し部１６、第1の暗号化対象部分決定部１７、第1の暗号化実行部１８、第２の暗号化実行部１９、第２の暗号文データ書き込み部２０に、それぞれ対応する。
【０１４２】
図５に示すステップＳ１１ないしステップＳ１６を構成する各ステップが、図２の外付け記憶装置６の復号化部２１における第２の暗号文データ読み出し部２２、第１の復号化実行部２３、第２の復号化実行部２４、元データ復元部２５、元データ書き込み部２６、第２の暗号文データ消去部２７に、それぞれ対応する。
【０１４３】
なお、上述の実施形態に示す暗号化処理および復号化処理においては、外付けハードディスク６（のＭＣＵ６１）が、送出側コンピュータ４（のＣＰＵ５１）、受領側コンピュータ５（のＣＰＵ５１）を、それぞれ制御して、送出側コンピュータ４（のＣＰＵ５１）、受領側コンピュータ５（のＣＰＵ５１）に、各処理を実行させるよう構成しているが、この発明はこれに限定されるものではない。
【０１４４】
たとえば、上記各処理の一部または全部を、送出側コンピュータ４（のＣＰＵ５１）、受領側コンピュータ５（のＣＰＵ５１）に実行させるのではなく、外付けハードディスク６（のＭＣＵ６１）自体が単独（スタンドアローン）で実行するよう構成することもできる。
【０１４５】
また、上述の実施形態においては、外付け記憶部と外付け制御部とを備えた外付け記憶装置として、外付けハードディスクを用いた場合を例示したが、この発明はこれに限定されるものではない。外付け記憶部と外付け制御部とを備えた外付け記憶装置として、ＵＳＢメモリその他の外付け用の記憶装置を用いることができる。
【０１４６】
また、上述の実施形態においては、暗号システム２を構成するプログラムである暗号システムアプリ（以下、単に「プログラム」ということがある。）を記憶した記録媒体として、外付けハードディスクのＲＯＭ領域（たとえばハードディスク）、ＵＳＢメモリのＲＯＭ領域（たとえばマスクＲＯＭ、フラッシュメモリ）を例示することができるが、プログラムを記憶した記録媒体はこれらに限定されるものではなく、プログラムを記憶した記録媒体として、たとえば、外部メモリカード、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、フレキシブルディスク、磁気テープを用いることもできる。さらに、外付けハードディスクまたはＵＳＢメモリのＲＡＭ領域やユーザデータ領域も、プログラムを記憶した記録媒体として用いることができる。
【０１４７】
また、上述の暗号システム２を構成する外付け記憶装置６の外付け制御部１４に示す各機能（図２参照）を、プログラム（ソフトウェア）を用いて実現する場合を例に説明したが、この発明はこれに限定されるものではない。たとえば、上記外付け制御部１４に示す機能の一部または全部を、ハードウェアロジックを用いて構成するようにしてもよい。
【０１４８】
つぎに、図７に、この発明の他の実施形態における暗号装置８の構成を示すブロック図を示す。
【０１４９】
暗号装置８は、記憶部１１３と、制御部１１４とを備えている。
【０１５０】
暗号装置８の制御部１１４は、暗号化部１１５と復号化部１２１とを備えている。
【０１５１】
暗号化部１１５は、第1の暗号化対象部分決定部１１７と、第1の暗号化実行部１１８と、第２の暗号化実行部１１９と、を備えている。
【０１５２】
第1の暗号化対象部分決定部１１７は、元データの一部をソフトウェアによる第１の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する。
【０１５３】
第1の暗号化実行部１１８は、決定された第1の暗号化対象部分を第１の暗号化により暗号化して第1の暗号文データを得るよう制御する。
【０１５４】
第２の暗号化実行部１１９は、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第２の暗号化により暗号化して第２の暗号文データを得るよう制御する。
【０１５５】
復号化部１２１は、第１の復号化実行部１２３と、第２の復号化実行部１２４と、元データ復元部１２５と、第２の暗号文データ消去部１２７と、を備えている。
【０１５６】
第１の復号化実行部１２３は、第２の暗号文データをハードウェアによる第１の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する。
【０１５７】
第２の復号化実行部１２４は、得られた第1の暗号文データをソフトウェアによる第２の復号化により復号化して第1の暗号化対象部分を得るよう制御する。
【０１５８】
元データ復元部１２５は、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する。
【０１５９】
第２の暗号文データ消去部１２７は、元データ復元部１２５による元データの復元後、第２の暗号文データを部分的に消去するよう制御する。
【０１６０】
図８は、図７に示す暗号装置８のハードウェア構成の一例を示すブロック図であって、暗号装置８として、コンピュータ８を用いた場合の例である。
【０１６１】
コンピュータ８は、とくに限定されるものではないが、この例では、暗号化／復号化回路５７を備えている点を除き、一般的なパーソナルコンピュータと同様の構成である。
【０１６２】
コンピュータ８は、ハードディスクを備えたＨＤＤ（ハードディスクドライブ）またはフラッシュメモリを搭載したＳＳＤ（ソリッドステートドライブ）等により構成され暗号装置２に用いられるプログラム（以下、「暗号アプリ」ということがある。）等を記憶する記憶部１１３として機能する補助記憶装置５５、補助記憶装置５５に記憶されているプログラムを実行する制御部１１４として機能するＣＰＵ５１，ＣＰＵ５１のワーク領域として機能する主記憶装置５４、ＬＣＤ（液晶表示装置）等の表示装置５２，キーボード、マウス、トラックパッド等の入力装置５３、および、有線または無線により他のコンピュータや外付け記憶装置等の外部装置との通信に用いられるインタフェース部５６、ＡＥＳ（Advanced Encryption Standard）２５６アルゴリズム等による暗号化および復号化をハードウェアを用いて実行する暗号化／復号化回路５７、を備えている。
【０１６３】
つぎに、暗号装置８であるコンピュータ８の動作について説明する。ここでは、コンピュータ８が、被伝達データを記憶した送出側コンピュータ８１（図示せず。以下、単に「コンピュータ８１」ということがある。）である場合において、コンピュータ８１を用いて当該被伝達データを暗号化したうえで、外付けハードディスクやＵＳＢメモリ等の外付け記憶装置９０（図示せず）に記憶させる動作（暗号化処理）と、コンピュータ８が、コンピュータ８１と異なる受領側コンピュータ８２（図示せず。以下、単に「コンピュータ８２」ということがある。）である場合において、外付け記憶装置９０に記憶されている暗号化された被伝達データを、コンピュータ８２を用いて復号化したうえで、コンピュータ８２に記憶させる動作（復号化処理）とを例に、説明する。
【０１６４】
なお、この実施形態においては、外付け記憶装置９０は、一般的な外付け記憶装置であって、図３に示すような暗号化／復号化回路６３を備えている必要はない。
【０１６５】
図９は、暗号装置８を用いた暗号化処理の流れの一例を示すフローチャートである。図１０は、暗号装置８を用いた復号化処理の流れの一例を示すフローチャートである。
【０１６６】
まず、図９を参照しつつ、暗号化処理について説明する。この暗号化処理は、コンピュータ８１に記憶されている被伝達データを、暗号化して、外付け記憶装置９０にコピーする処理である。
【０１６７】
暗号化処理に先立ち、コンピュータ８１の記憶部１１３に対応する補助記憶装置５５には、元データ（図９に示す暗号化処理が実行される前の被伝達データ）が記憶されているものとする。
【０１６８】
また、コンピュータ８１に、外付け記憶装置９０が通信可能に接続されている。さらに、コンピュータ８１と外付け記憶装置９０との間における所定の認証（たとえば、パスワード認証等）が要求されている場合（なお、この実施形態においては、当該所定の認証が要求されている。）には、両者間における認証処理が実行され、当該認証が成立しているものとする。
【０１６９】
図９に示すように、暗号化処理において、コンピュータ８１のＣＰＵ５１（以下、単に「コンピュータ８１」ということがある。）は、まず、コンピュータ８１の補助記憶装置５５に記憶された元データを読出す（ステップＳ２１）。
【０１７０】
コンピュータ８１の補助記憶装置５５に元データとして記憶されている被伝達データのデータ構成は、上述の暗号システム２におけるそれと同様であると仮定し、当該被伝達データをファイル３０と表現することとする。
【０１７１】
すなわち、この実施形態におけるファイル３０のファイル構成は、上述の暗号システム２において、図６Ａないし図６Ｄを用いて説明されたファイル３０のファイル構成と同様である。
【０１７２】
続いて、図９に示すように、コンピュータ８１は、ステップＳ２１において読み出された元データとしてのファイル３０の一部をソフトウェアによる第１の暗号化の対象となる部分である第1の暗号化対象部分として決定し（ステップＳ２２）、決定された第1の暗号化対象部分をソフトウェアによる第１の暗号化により暗号化して第1の暗号文データを得（ステップＳ２３）、得られた第1の暗号文データと、第1の暗号化対象外部分と、をまとめてハードウェアによる第２の暗号化により暗号化して第２の暗号文データを得る（ステップＳ２４）。
【０１７３】
ステップＳ２２ないしステップＳ２４に示す処理は、処理の主体がコンピュータ８１である点を除き、上述の暗号システム２における、ステップＳ２ないしステップＳ４に示す処理と、それぞれ同様であるため、説明を省略する。
【０１７４】
つづいて、コンピュータ８１は、ステップＳ２４の実行により得られた第２の暗号文データを、コンピュータ８１に接続された外付け記憶装置９０の所定の記憶領域（図示せず。）に書き込む（ステップＳ２５）。
【０１７５】
ステップＳ２５の実行が完了すると、図９に示す暗号化処理が完了する。このようにして、コンピュータ８１の補助記憶装置５５に記憶されたファイル３０を、処理速度および安全性を損ねることなく暗号化して、外付け記憶装置９０にコピーすることができる。
【０１７６】
つぎに、図１０を参照しつつ、復号化処理について説明する。この復号化処理は、送出側コンピュータ８１に替えて受領側コンピュータ８２に接続された外付け記憶装置９０に暗号化して記憶されているファイル３０を、復号化して、コンピュータ８２にコピーする処理である。
【０１７７】
復号化処理に先立ち、外付け記憶装置９０には、図９の暗号化処理により得られた第２の暗号文データに相当する暗号化されたファイル３０（図６Ｃ参照）が記憶されているものとする。
【０１７８】
また、コンピュータ８２に、外付け記憶装置９０が接続されており、コンピュータ８２と外付け記憶装置９０との間における所定の認証（たとえば、パスワード認証等）が要求されている場合（なお、この実施形態においては、当該所定の認証が要求されている。）には、両者間における認証処理が実行され、当該認証が成立しているものとする。
【０１７９】
図１０に示すように、復号化処理において、コンピュータ８２は、まず、外付け記憶装置９０に記憶された第２の暗号文データに相当する暗号化されたファイル３０を読み出す（ステップＳ３１）。
【０１８０】
コンピュータ８２は、つぎに、読み出されたファイル３０（第２の暗号文データ）を、ハードウェアによる第１の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得（ステップＳ３２）、得られた、第1の暗号文データと、第1の暗号化対象外部分からなるファイル３０における第1の暗号文データをソフトウェアによる第２の復号化により復号化して第1の暗号化対象部分を得（ステップＳ３３）、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて、元データとしてのファイル３０を復元する（ステップＳ３４）。
【０１８１】
ステップＳ３２ないしステップＳ３４に示す処理は、処理の主体がコンピュータ８２である点を除き、上述の暗号システム２における、ステップＳ１２ないしステップＳ１４に示す処理と、それぞれ同様であるため、説明を省略する。
【０１８２】
つづいて、コンピュータ８２は、ステップＳ３４の実行により得られた、復元されたファイル３０を、コンピュータ８２の記憶部１１３に対応する補助記憶装置５５に書き込む（ステップＳ３５）。元データに復元されたファイル３０は、図６Ａに示す状態となっている。
【０１８３】
このようにして、外付け記憶装置９０に記憶されている暗号化されたファイル３０を、処理速度および安全性を損ねることなく復号化して、外付け記憶装置９０に接続されたコンピュータ８２の補助記憶装置５５にコピーすることができる。
【０１８４】
続いて、コンピュータ８２は、外付け記憶装置９０に記憶されている第２の暗号文データを部分的に消去する（ステップＳ３６）。このステップの実行が完了すると、図１０に示す復号化処理が完了する。
【０１８５】
ステップＳ３６に示す処理は、処理の主体がコンピュータ８２である点を除き、上述の暗号システム２における、ステップＳ１６に示す処理と同様であるため、説明を省略する。
【０１８６】
このように、外付け記憶装置９０に記憶されている暗号化されたファイル３０（第２の暗号文データ）を部分的に消去するよう構成することで、第２の暗号文データ全体を消去する場合に比較して消去時間を短縮することができるとともに、重要な情報の漏洩を防止することが可能となる。
【０１８７】
つまり、外付け記憶装置９０に残されている暗号化されたファイル３０を、処理速度および安全性を損ねることなく消去することができる。
【０１８８】
このように、図９に示す暗号化処理および図１０に示す復号化処理（第２の暗号文データの消去処理を含む）を実行するよう構成することで、処理速度および安全性を損ねることなく、一般的な構成の外付け記憶装置９０を用いて、送出側コンピュータ８１から受領側コンピュータ８２へ被伝達データを移送することが可能となる。
【０１８９】
図９に示すステップＳ２２ないしステップＳ２４を構成する各ステップが、図７の暗号装置８の暗号化部１１５における第1の暗号化対象部分決定部１１７、第1の暗号化実行部１１８、第２の暗号化実行部１１９に、それぞれ対応する。
【０１９０】
図１０に示すステップＳ３２ないしステップＳ３４およびステップＳ３６を構成する各ステップが、図７の暗号装置８の復号化部１２１における第１の復号化実行部１２３、第２の復号化実行部１２４、元データ復元部１２５および第２の暗号文データ消去部１２７に、それぞれ対応する。
【０１９１】
なお、この実施形態においては、被伝達データが記憶されている送出側コンピュータ８１自体が暗号化処理を行い、復号化後の被伝達データが記憶される受領側コンピュータ８２自体が復号化処理を行う場合を例に、説明したが、この発明はこれに限定されるものではない。
【０１９２】
たとえば、被伝達データが記憶されている送出側コンピュータに接続された別の暗号用コンピュータ（暗号装置に該当）を用いて当該被伝達データを暗号化したうえで、外付けハードディスクやＵＳＢメモリ等の外付け記憶装置に記憶させ、当該外付け記憶装置に記憶されている暗号化された被伝達データを、送出側コンピュータに替えて受領側コンピュータに接続された暗号用コンピュータを用いて復号化したうえで、受領側コンピュータに記憶させるよう、構成することもできる。
【０１９３】
なお、上述の実施形態においては、暗号化処理および復号化処理を行うコンピュータが、１台のコンピュータを用いて構成されている場合を例に説明したが、この発明はこれに限定されるものではない。暗号化処理および復号化処理を行うコンピュータを、２台以上のコンピュータにより構成することもできる。この場合、当該２台以上のコンピュータを、有線または無線による情報通信手段を介して接続することもできる。
【０１９４】
この場合、たとえば、ウェブブラウザを備えたコンピュータに、上記暗号化処理および復号化処理を行う機能が、ウェブサーバ（図示せず）から、ＡＳＰ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）方式で提供されるよう構成することもできる。
【０１９５】
また、この実施形態においては、暗号装置に用いられるプログラムである暗号アプリ（以下、単に「プログラム」ということがある。）を記憶した記録媒体として、ＨＤＤに装着されたハードディスクまたはＳＳＤに装着されたフラッシュメモリを例示しているが、プログラムを記憶した記録媒体はこれらに限定されるものではなく、プログラムを記憶した記録媒体として、たとえば、外部メモリカード、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、フレキシブルディスク、磁気テープを用いることもできる。さらに、主記憶装置もプログラムを記憶した記録媒体として用いることができる。
【０１９６】
なお、上述の各実施形態におけるプログラムの配布態様は特に限定されるものではなく、記録媒体にプログラムを記憶した状態で配布するほか、有線や無線の情報通信手段を介して当該プログラムを配布するようにしてもよい。
【０１９７】
また、プログラムの記録態様は特に限定されるものではない。直接実行できる形で記録媒体に記憶したり配布したりする他、たとえば、解凍して使用するように圧縮された形で記録媒体に記憶したり配布したりすることもできる。
【０１９８】
また、上述の暗号装置８の制御部１１４に示す各機能（図７参照）を、コンピュータを用いて実現する場合を例に説明したが、これらの機能の一部または全部を、ハードウェアロジックを用いて構成するようにしてもよい。
【０１９９】
なお、上述のブロック図、ハードウェア構成、フローチャート、各種データの構成等は、例として挙げたものであり、本願発明は、これらに限定されるものではない。
【０２００】
上記においては、本発明を好ましい実施形態として説明したが、各用語は、限定のために用いたのではなく、説明のために用いたものであって、本発明の範囲および精神を逸脱することなく、添付のクレームの範囲において、変更することができるものである。また、上記においては、本発明のいくつかの典型的な実施形態についてのみ詳細に記述したが、当業者であれば、本発明の新規な教示および利点を逸脱することなしに上記典型的な実施形態において多くの変更が可能であることを、容易に認識するであろう。したがって、そのような変更はすべて、本発明の範囲に含まれるものである。
【符号の説明】
【０２０１】
４：第1のホスト装置
６：外付け記憶装置
１１：第1のホスト記憶部
１３：外付け記憶部
１４：外付け制御部
１５：暗号化部
１６：元データ読み出し部
１７：第1の暗号化対象部分決定部
１８：第1の暗号化実行部
１９：第２の暗号化実行部
２０：第２の暗号文データ書き込み部
２１：復号化部
【図１】
2020127129.tif 000003
【図２】
2020127129.tif 000004
【図３】
2020127129.tif 000005
【図４】
2020127129.tif 000006
【図５】
2020127129.tif 000007
【図６】
2020127129.tif 000008
【図７】
2020127129.tif 000009
【図８】
2020127129.tif 000010
【図９】
2020127129.tif 000011
【図１０】
2020127129.tif 000012