JP2020127129A - 暗号システムおよび暗号装置 - Google Patents

暗号システムおよび暗号装置 Download PDF

Info

Publication number
JP2020127129A
JP2020127129A JP2019018416A JP2019018416A JP2020127129A JP 2020127129 A JP2020127129 A JP 2020127129A JP 2019018416 A JP2019018416 A JP 2019018416A JP 2019018416 A JP2019018416 A JP 2019018416A JP 2020127129 A JP2020127129 A JP 2020127129A
Authority
JP
Japan
Prior art keywords
encryption
unit
ciphertext data
data
external storage
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
JP2019018416A
Other languages
English (en)
Inventor
聡仁 金澤
Akihito Kanazawa
聡仁 金澤
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.)
Green Computer LLC
Original Assignee
Green Computer LLC
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 Green Computer LLC filed Critical Green Computer LLC
Priority to JP2019018416A priority Critical patent/JP2020127129A/ja
Publication of JP2020127129A publication Critical patent/JP2020127129A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】処理速度が速くかつ安全性の高い暗号システム等を提供する。【解決手段】外付け記憶装置6の外付け制御部14は、暗号化部15と復号化部21とを備えている。暗号化部15の元データ読み出し部16は、外付け記憶装置6に接続された第1のホスト装置4の第1のホスト記憶部11に記憶された元データを読み出す。第1の暗号化対象部分決定部17は、元データの一部をソフトウェアによる第1の暗号化の対象となる第1の暗号化対象部分として決定する。第1の暗号化実行部18は、第1の暗号化対象部分を第1の暗号化により暗号化して第1の暗号文データを得る。第2の暗号化実行部19は、第1の暗号文データと、第1の暗号化対象部分以外の第1の暗号化対象外部分とをまとめてハードウェアによる第2の暗号化により暗号化して第2の暗号文データを得る。第2の暗号文データ書き込み部20は、第2の暗号文データを、外付け記憶装置6の外付け記憶部13に書き込む。【選択図】 図2

Description

この発明は、暗号システムおよび暗号装置に関し、とくに処理速度が速くかつ安全性の高い暗号技術に関する。
ハードディスクやUSBメモリのような記憶装置に記憶されたデータを、第三者の不正な読み出し行為から保護する等の目的から、データを暗号化して記憶する方法が、種々提案されている(たとえば、特許文献1参照)。
この方法では、システムの終了時に、ハードディスク内部のデータを暗号化すると共に、暗号化したデータを復号化するための復号化キーをフロッピーディスクに記憶する。この方法によれば、暗号化のアルゴリズムとして、たとえば、データ暗号化規格(DES)を用いて、ハードディスクの記憶データを暗号化しているため、復号化キーを持たない第三者が内容を読み出そうとしても、容易には読み出すことができない(特許文献1の[0011]、[0014]および[0015]ならびに図2等参照)。
そして、暗号化のアルゴリズムとして、より暗号化強度の高いもの、たとえば、AES(Advanced Encryption Standard)128、192、256等を用いることで、データをより安全に保護することが期待できる。
しかしながら、一般に、暗号化強度を高めるために暗号鍵の鍵長を長くすれば(たとえばAES256は、鍵長が256ビットでAESでは最長)、それに伴って、処理時間も長くなる。とりわけ、大容量のデータを暗号化する場合、その処理時間の長さが問題となる。
このような問題を解決するための技術として、ハードウェアによる暗号化(ハードウェアロジックにより構成された暗号化回路を用いて行う暗号化処理)が知られている。ハードウェアによる暗号化を実行することで、非常に高速に暗号化処理を実行することができる(特許文献2の[0013]参照)。
しかし、ハードウェアによる暗号化を行う場合、何らかの方法により暗号鍵のデータが把握されると、記憶しているデータが第三者に読み出されてしまう危険性は否定できない(特許文献2の[0004]参照)。
特開平11−015738号公報 特許第4463320号公報
この発明は、このような従来の問題を解決し、処理速度が速くかつ安全性の高い暗号システム等を提供することを目的とする。
この発明による暗号システムは、第1のホスト記憶部を備えた第1のホスト装置と、第2のホスト記憶部を備えた第2のホスト装置と、外付け記憶部と外付け制御部とを備えた外付け記憶装置と、を備えた暗号システムであって、外付け制御部は、暗号化部と復号化部とを備え、暗号化部は、外付け記憶装置に接続された第1のホスト装置の第1のホスト記憶部に記憶された元データを読み出すよう制御する元データ読み出し部と、元データの一部をソフトウェアによる第1の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定部と、決定された第1の暗号化対象部分を第1の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行部と、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第2の暗号化により暗号化して第2の暗号文データを得るよう制御する第2の暗号化実行部と、得られた第2の暗号文データを、前記外付け記憶部に書き込むよう制御する第2の暗号文データ書き込み部と、を備え、復号化部は、第1のホスト装置に替えて第2のホスト装置に接続された外付け記憶装置の外付け記憶部に記憶された第2の暗号文データを読み出すよう制御する第2の暗号文データ読み出し部と、第2の暗号文データをハードウェアによる第1の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第1の復号化実行部と、得られた第1の暗号文データをソフトウェアによる第2の復号化により復号化して第1の暗号化対象部分を得るよう制御する第2の復号化実行部と、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元部と、得られた元データを、第2のホスト装置の第2のホスト記憶部に書き込むよう制御する元データ書き込み部と、外付け記憶部に記憶された第2の暗号文データを部分的に消去するよう制御する第2の暗号文データ消去部と、を備えたこと、を特徴とする。
本発明の特徴は、上記のように広く示すことができるが、その構成や内容は、目的および特徴とともに、図面を考慮に入れた上で、以下の開示によりさらに明らかになるであろう。
本願の第1発明による暗号システムは、第1のホスト記憶部を備えた第1のホスト装置と、第2のホスト記憶部を備えた第2のホスト装置と、外付け記憶部と外付け制御部とを備えた外付け記憶装置と、を備えた暗号システムであって、外付け制御部は、暗号化部と復号化部とを備え、暗号化部は、外付け記憶装置に接続された第1のホスト装置の第1のホスト記憶部に記憶された元データを読み出すよう制御する元データ読み出し部と、元データの一部をソフトウェアによる第1の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定部と、決定された第1の暗号化対象部分を第1の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行部と、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第2の暗号化により暗号化して第2の暗号文データを得るよう制御する第2の暗号化実行部と、得られた第2の暗号文データを、前記外付け記憶部に書き込むよう制御する第2の暗号文データ書き込み部と、を備え、復号化部は、第1のホスト装置に替えて第2のホスト装置に接続された外付け記憶装置の外付け記憶部に記憶された第2の暗号文データを読み出すよう制御する第2の暗号文データ読み出し部と、第2の暗号文データをハードウェアによる第1の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第1の復号化実行部と、得られた第1の暗号文データをソフトウェアによる第2の復号化により復号化して第1の暗号化対象部分を得るよう制御する第2の復号化実行部と、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元部と、得られた元データを、第2のホスト装置の第2のホスト記憶部に書き込むよう制御する元データ書き込み部と、外付け記憶部に記憶された第2の暗号文データを部分的に消去するよう制御する第2の暗号文データ消去部と、を備えたこと、を特徴とする。
つまり、この暗号システムにおける外付け記憶装置は、暗号化に際し、第1のホスト装置に記憶された元データに対して、ソフトウェアによる第1の暗号化に続いてハードウェアによる第2の暗号化を行う2重の暗号化を行い、これにより得られた第2の暗号文データを外付け記憶装置に書き込むよう構成され、復号化に際し、外付け記憶装置に記憶された第2の暗号文データに対して、暗号化と逆の手順で2重の復号化を行い、これにより得られた元データを第2のホスト装置に書き込み、その後、外付け記憶装置に記憶された第2の暗号文データを部分的に消去するよう構成されている。
このように、暗号化に際し2重の暗号化を行ない、復号化に際し2重の復号化を行なうよう構成することで、データ保護に対する安全性の高い暗号システムを実現することができる。そして、高速で実行されるハードウェアによる暗号化については元データ全体を対象としつつ、低速度で実行されるソフトウェアによる暗号化の対象を元データの一部に留めることで、安全性を確保しつつ、処理時間の短縮を図っている。復号化に際しても、暗号化の場合と同様に、処理時間の短縮を図ることができる。
さらに、復号化後に、外付け記憶装置に残された第2の暗号文データを消去する際、部分的に消去することで、消去のための処理時間を短縮することができる。暗号化されたデータは、一般的に、部分的に消去された場合でも全体の復元が困難であるから、意図せぬ第三者によって元データが復元される危険性は、極めて低い。
たとえば、外付け記憶装置を用いて、第1のホスト装置から第2のホスト装置に元データを移送する場合、データ保護の安全性を確保しつつ、暗号化から、復号化、復号化後の暗号文データの消去に至る一連の処理に要する時間の短縮を図ることができる。
すなわち、処理速度が速くかつ安全性の高い暗号システムを実現することができる。
本願の第2発明による外付け記憶装置は、本願の第1発明による暗号システムに用いられることを特徴とする
したがって、この外付け記憶装置を暗号システムに用いることで、上記第1発明と同様の効果を奏する。
本願の第3発明によるプログラムは、コンピュータに、本願の第2発明による外付け記憶装置の機能を実行させるためのプログラムである。
したがって、当該プログラムをコンピュータに実行させることで、上記第2発明と同様の効果を奏する。
本願の第4発明による記録媒体は、本願の第3発明によるプログラムを記憶した記録媒体である。
したがって、この記録媒体に記憶されたプログラムをコンピュータに実行させることで、上記第3発明と同様の効果を奏する。
本願の第5発明による暗号装置は、暗号化部と復号化部とを備えた制御部と、記憶部と、を備えた暗号装置であって、暗号化部は、元データの一部をソフトウェアによる第1の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定部と、決定された第1の暗号化対象部分を第1の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行部と、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第2の暗号化により暗号化して第2の暗号文データを得るよう制御する第2の暗号化実行部と、を備え、復号化部は、第2の暗号文データをハードウェアによる第1の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第1の復号化実行部と、得られた第1の暗号文データをソフトウェアによる第2の復号化により復号化して第1の暗号化対象部分を得るよう制御する第2の復号化実行部と、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元部と、を備えたこと、を特徴とする。
このように、この暗号装置においては、本願の第1発明と同様に、暗号化に際し2重の暗号化を行ない、復号化に際し2重の復号化を行なうよう構成することで、データ保護に対する安全性の高い暗号装置を実現することができる。そして、高速で実行されるハードウェアによる暗号化については元データ全体を対象としつつ、低速度で実行されるソフトウェアによる暗号化の対象を元データの一部に留めることで、安全性を確保しつつ、処理時間の短縮を図っている。復号化に際しても、暗号化の場合と同様に、処理時間の短縮を図ることができる。
すなわち、処理速度が速くかつ安全性の高い暗号装置を実現することができる。
本願の第6発明によるプログラムは、コンピュータに、本願の第5発明による暗号装置の機能を実行させるためのプログラムである。
したがって、当該プログラムをコンピュータに実行させることで、上記第5発明と同様の効果を奏する。
本願の第7発明による記録媒体は、本願の第6発明によるプログラムを記憶した記録媒体である。
したがって、この記録媒体に記憶されたプログラムをコンピュータに実行させることで、上記第6発明と同様の効果を奏する。
また、本願の第8発明による暗号方法は、第1のホスト記憶部を備えた第1のホスト装置と、第2のホスト記憶部を備えた第2のホスト装置と、外付け記憶部と外付け制御部とを備えた外付け記憶装置と、を用いて行う暗号方法であって、外付け記憶装置が、外付け記憶装置に接続された第1のホスト装置の第1のホスト記憶部に記憶された元データを読み出すよう制御する元データ読み出しステップと、外付け記憶装置が、元データの一部をソフトウェアによる第1の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定ステップと、外付け記憶装置が、決定された第1の暗号化対象部分を第1の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行ステップと、外付け記憶装置が、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第2の暗号化により暗号化して第2の暗号文データを得るよう制御する第2の暗号化実行ステップと、外付け記憶装置が、得られた第2の暗号文データを、外付け記憶部に書き込むよう制御する第2の暗号文データ書き込みステップと、外付け記憶装置が、第1のホスト装置に替えて第2のホスト装置に接続された外付け記憶装置の外付け記憶部に記憶された第2の暗号文データを読み出すよう制御する第2の暗号文データ読み出しステップと、外付け記憶装置が、第2の暗号文データをハードウェアによる第1の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第1の復号化実行ステップと、外付け記憶装置が、得られた第1の暗号文データをソフトウェアによる第2の復号化により復号化して第1の暗号化対象部分を得るよう制御する第2の復号化実行ステップと、外付け記憶装置が、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元ステップと、外付け記憶装置が、得られた元データを、第2のホスト装置の第2のホスト記憶部に書き込むよう制御する元データ書き込みステップと、外付け記憶装置が、外付け記憶部に記憶された第2の暗号文データを部分的に消去するよう制御する第2の暗号文データ消去ステップと、を備えたこと、を特徴とする。
したがって、第1のホスト装置と、第2のホスト装置と、外付け記憶装置とを用いて当該方法を使用することで、上記第1発明と同様の効果を奏する。
本願の第9発明による暗号方法は、暗号装置を用いて行う暗号方法であって、暗号装置が、元データの一部をソフトウェアによる第1の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定ステップと、暗号装置が、決定された第1の暗号化対象部分を第1の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行ステップと、暗号装置が、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第2の暗号化により暗号化して第2の暗号文データを得るよう制御する第2の暗号化実行ステップと、暗号装置が、第2の暗号文データをハードウェアによる第1の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第1の復号化実行ステップと、暗号装置が、得られた第1の暗号文データをソフトウェアによる第2の復号化により復号化して第1の暗号化対象部分を得るよう制御する第2の復号化実行ステップと、暗号装置が、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元ステップと、を備えたこと、を特徴とする。
したがって、暗号装置を用いて当該方法を使用することで、上記第5発明と同様の効果を奏する。
図1は、この発明の一実施形態による暗号システム2の全体構成を示すブロック図である。 図2は、暗号システム2の構成要素である第1のホスト装置4、第2のホスト装置5、外付け記憶装置6の構成を例示するブロック図である。 図3は、図2に示す第1のホスト装置4および第2のホスト装置5、ならびに、外付け記憶装置6のハードウェア構成の一例を示すブロック図であって、第1のホスト装置4、第2のホスト装置5として、それぞれ送出側コンピュータ4、受領側コンピュータ5を用いるとともに、外付け記憶装置6として、外付けハードディスク6を用いた場合の例である。 図4は、送出側コンピュータ4と外付けハードディスク6との間において、被伝達データの送出時に実施される暗号化処理の流れの一例を示すフローチャートである。 図5は、受領側コンピュータ5と外付けハードディスク6との間において、被伝達データの受領時に実施される復号化処理の流れの一例を示すフローチャートである。 図6Aないし図6Dは、暗号化処理(復号化処理)の主要なステップにおける被伝達データであるファイル30の状況を説明するためのデータ構造の模式図である。 図7は、この発明の他の実施形態における暗号装置8の構成を示すブロック図である。 図8は、図7に示す暗号装置8のハードウェア構成の一例を示すブロック図であって、暗号装置8として、コンピュータ8を用いた場合の例である。 図9は、暗号装置8を用いた暗号化処理の流れの一例を示すフローチャートである。 図10は、暗号装置8を用いた復号化処理の流れの一例を示すフローチャートである。
図1は、この発明の一実施形態による暗号システム2の全体構成を示すブロック図である。
暗号システム2は、外付け記憶装置6と、第1のホスト装置4と、第2のホスト装置5とを備えている。外付け記憶装置6は、第1のホスト装置4および第2のホスト装置5のいずれに対しても、接続・離脱(接続解除)自在に構成されている。ただし、外付け記憶装置6は、2つのホスト装置4、5に対して同時に接続することはできないものとする。
図1は、外付け記憶装置6が、第1のホスト装置4に接続され、第1のホスト装置4と通信可能となっている状態を示す。この状態においては、外付け記憶装置6は、第2のホスト装置5に接続されていない。以下、とくに断らない限り、「接続され」は「通信可能な状態で接続され」を意味するものとする。
図2は、暗号システム2の構成要素である第1のホスト装置4、第2のホスト装置5、外付け記憶装置6の構成を例示するブロック図である。
図2に示すように、第1のホスト装置4は、第1のホスト制御部9と、第1のホスト記憶部11と、を備えている。第1のホスト記憶部11には、暗号システム2による暗号化の対象となる元データが記憶されているものとする。
第2のホスト装置5は、第2のホスト制御部10と、第2のホスト記憶部12と、を備えている。
外付け記憶装置6は、外付け記憶部13と、外付け制御部14とを備えている。
外付け記憶装置6の外付け制御部14は、暗号化部15と復号化部21とを備えている。
暗号化部15は、元データ読み出し部16と、第1の暗号化対象部分決定部17と、第1の暗号化実行部18と、第2の暗号化実行部19と、第2の暗号文データ書き込み部20と、を備えている。
元データ読み出し部16は、外付け記憶装置6に接続された第1のホスト装置4の第1のホスト記憶部11に記憶された元データを読み出すよう、第1のホスト制御部9を制御する。
第1の暗号化対象部分決定部17は、元データの一部をソフトウェアによる第1の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう、第1のホスト制御部9を制御する。
第1の暗号化実行部18は、決定された第1の暗号化対象部分を第1の暗号化により暗号化して第1の暗号文データを得るよう、第1のホスト制御部9を制御する。
第2の暗号化実行部19は、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第2の暗号化により暗号化して第2の暗号文データを得るよう、第1のホスト制御部9を制御する。
第2の暗号文データ書き込み部20は、得られた第2の暗号文データを、外付け記憶装置6の外付け記憶部13に書き込むよう、第1のホスト制御部9を制御する。
復号化部21は、第2の暗号文データ読み出し部22と、第1の復号化実行部23と、第2の復号化実行部24と、元データ復元部25と、元データ書き込み部26と、第2の暗号文データ消去部27と、を備えている。
第2の暗号文データ読み出し部22は、第1のホスト装置4に替えて第2のホスト装置5に接続された外付け記憶装置6の外付け記憶部13に記憶された第2の暗号文データを読み出すよう、第2のホスト制御部10を制御する。
第1の復号化実行部23は、第2の暗号文データをハードウェアによる第1の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう、第2のホスト制御部10を制御する。
第2の復号化実行部24は、得られた第1の暗号文データをソフトウェアによる第2の復号化により復号化して第1の暗号化対象部分を得るよう、第2のホスト制御部10を制御する。
元データ復元部25は、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう、第2のホスト制御部10を制御する。
元データ書き込み部26は、得られた元データを、第2のホスト装置5の第2のホスト記憶部12に書き込むよう、第2のホスト制御部10を制御する。
第2の暗号文データ消去部27は、外付け記憶装置6の外付け記憶部13に記憶された第2の暗号文データを部分的に消去するよう、第2のホスト制御部10を制御する。
図3は、図2に示す第1のホスト装置4および第2のホスト装置5、ならびに、外付け記憶装置6のハードウェア構成の一例を示すブロック図であって、第1のホスト装置4、第2のホスト装置5として、それぞれ送出側コンピュータ4、受領側コンピュータ5を用いるとともに、外付け記憶装置6として、外付けハードディスク6を用いた場合の例である。
送出側コンピュータ4は、とくに限定されるものではないが、この例では、一般的なパーソナルコンピュータと同様の構成である。
送出側コンピュータ4は、ハードディスクを備えたHDD(ハードディスクドライブ)またはフラッシュメモリを搭載したSSD(ソリッドステートドライブ)等により構成され第1のホスト記憶部11として機能する補助記憶装置55、外付けハードディスク6にインストールされている暗号システム2に用いられるプログラム(以下、「暗号システムアプリ」ということがある。)等を、外付けハードディスク6の制御にしたがって実行する第1のホスト制御部9として機能するCPU51、CPU51のワーク領域として機能する主記憶装置54、LCD(液晶表示装置)等の表示装置52,キーボード、マウス、トラックパッド等の入力装置53、および、送出側コンピュータ4に接続された外付けハードディスク6等との通信に用いられるインタフェース部56を備えている。
受領側コンピュータ5は、とくに限定されるものではないが、この例では、一般的なパーソナルコンピュータと同様の構成を備えており、その基本的なハードウェア構成は、送出側コンピュータ4のそれと同様であるので、説明を省略する。
外付けハードディスク6は、とくに限定されるものではないが、この例では、暗号化/復号化回路63を備えている点を除き、一般的な外付けハードディスクと同様の構成を備えており、外付けハードディスク6の制御等に用いられるプログラム(ファームウェア)や、暗号システムアプリ等を記憶した記録媒体として機能するROM(Read Only Memory)領域65、第2の暗号文データその他任意のデータを記憶するユーザデータ領域62、ROM領域65に記憶されたファームウェアを実行したり、ROM領域65に記憶された暗号システムアプリを送出側コンピュータ4または受領側コンピュータ5のCPU51(第1のホスト制御部9または第2のホスト制御部10に対応)に実行させるよう制御したりする外付け制御部14として機能するMCU(Micro Controller Unit)61、MCU61のワークエリアとして機能するRAM(Random access memory)領域64、AES(Advanced Encryption Standard)256アルゴリズム等による暗号化および復号化をハードウェアを用いて実行する暗号化/復号化回路63、外付けハードディスク6に接続された送出側コンピュータ4または受領側コンピュータ5等との通信に用いられるインタフェース部66を備えている。
つぎに、暗号システム2の動作について説明する。ここでは、外付けハードディスク6を用いて、送出側コンピュータ4から受領側コンピュータ5へ被伝達データを移送する場合を例に、説明する。
図4は、送出側コンピュータ4と外付けハードディスク6との間において、被伝達データの送出時に実施される暗号化処理の流れの一例を示すフローチャートである。
図5は、受領側コンピュータ5と外付けハードディスク6との間において、被伝達データの受領時に実施される復号化処理の流れの一例を示すフローチャートである。
図6Aないし図6Dは、暗号化処理(復号化処理)の主要なステップにおける被伝達データであるファイル30の状況を説明するためのデータ構造の模式図である。
まず、図4、および図6Aないし図6Dを参照しつつ、暗号化処理について説明する。この暗号化処理は、送出側コンピュータ4に記憶されている被伝達データを、暗号化して、外付けハードディスク6にコピーする処理である。
暗号化処理に先立ち、送出側コンピュータ4の第1のホスト記憶部11に対応する補助記憶装置55には、元データ(図4に示す暗号化処理が実行される前の被伝達データ)が記憶されているものとする。
また、送出側コンピュータ4に、外付けハードディスク6が接続され、外付けハードディスク6にインストールされている暗号システムアプリが起動しているものとする。
また、送出側コンピュータ4と外付けハードディスク6との間における所定の認証(たとえば、パスワード認証等)が要求されている場合(なお、この実施形態においては、当該所定の認証が要求されている。)には、両者間における認証処理が実行され、当該認証が成立しているものとする。
なお、図4に示す暗号化処理においては、原則として、外付けハードディスク6(のMCU61)が、送出側コンピュータ4(のCPU51)を制御して、送出側コンピュータ4(のCPU51)に各処理を実行させるよう構成しているが、説明の便宜上、各処理は、外付けハードディスク6(のMCU61)が実行するものとして説明する。
図4に示すように、暗号化処理において、外付けハードディスク6のMCU61(以下、単に「外付けハードディスク6」ということがある。)は、まず、外付けハードディスク6に接続された送出側コンピュータ4の補助記憶装置55に記憶された元データを、送出側コンピュータ4を介して読み出すよう制御する(ステップS1)。
図6Aないし図6Dに示すように、被伝達データであるファイル30は、ヘッダ部31とデータ本体32とを備えているものとする。ヘッダ部31は、当該ファイル30のファイルタイプ、ファイルサイズ、ファイル作成日時等、当該ファイル30の書誌的データが記載された部分である。データ本体32は、当該ファイル30の実体的データが記載された部分である。
図6Aは、ファイル30の元データにおける状態を説明するための図面である。なお、元データにはとくに制限はなく、平文のデータであっても、既に何らかの暗号化処理が施された後のデータであってもよいが、説明の便宜上、ここでは、元データが平文のデータである場合を例に説明する。
図6Aに示すように、この状態においては、ファイル30は、ヘッダ部31、データ本体32ともに、平文のデータのままである。なお、図6Aないし図6Dにおいて、実線で囲まれた空白(ハッチングが施されていない部分)は、平文のデータを表す。
続いて、図4に示すように、外付けハードディスク6は、ステップS1において読み出された元データとしてのファイル30の一部をソフトウェアによる第1の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する(ステップS2)。
第1の暗号化対象部分の決定方法は、とくに限定されるものではないが、第1の暗号化対象部分として、少なくともファイル30のヘッダ部31全体を含むよう構成することが好ましい。
ヘッダ部31には、もともとファイル30に関する重要な情報が記載されているのみならず、第1の暗号化の実行に先立ち、ヘッダ部31に、第1の暗号化の暗号鍵の一部が平文のまま、または暗号化されて追加記載される(後述)。このため、ヘッダ部31全体をソフトウェアによる第1の暗号化の対象とすることで、被伝達データを移送する際のセキュリティが向上する。
また、たとえば、ファイル30のヘッダ部31全体に加え、データ本体32の一部を第1の暗号化対象部分として決定することが、さらに好ましい。
この場合、ファイル30のファイルタイプによって、データ本体32のうち第1の暗号化の対象とする部分の割合Rを異ならせるよう構成することもできる。
すなわち、たとえばバイナリファイルのように、データ本体32に対するソフトウェアによる第1の暗号化をその一部に留めたとしても、第1の暗号化が実行された後におけるデータ本体32の復元が比較的困難となるようなファイルタイプの場合には、上記割合Rを比較的小さい値R1に設定しておくのである。
上記割合Rを小さい値R1に設定することで、当該暗号化に要する時間を短縮する効果が期待できるからである。その一方で、第1の暗号化が実行された後におけるデータ本体32の復元が比較的困難であることから、被伝達データを移送する際のセキュリティが損なわれる可能性が低いからである。
一方、たとえばテキストファイルのように、データ本体32に対するソフトウェアによる第1の暗号化をその一部に留めた場合、第1の暗号化が実行された後におけるデータ本体32の復元が、上述の場合(バイナリファイルのようなファイルタイプの場合)に比較して、容易となるようなファイルタイプの場合には、上記割合Rを比較的大きい値R2(>R1)に設定しておく。
上記割合Rを大きい値R2に設定することで、当該暗号化に要する時間を短縮する効果はさほど期待できないものの、第1の暗号化が実行化された後におけるデータ本体32の復元が比較的困難となることから、被伝達データを移送する際のセキュリティが損なわれる可能性が低くなる。
このように、ファイル30のファイルタイプによって、データ本体32のうち第1の暗号化の対象とする部分の割合Rを異ならせるよう構成することで、第1の暗号化に要する時間の短縮と、被伝達データを移送する際のセキュリティ確保とを、バランスよく両立させることが可能となる。
たとえば、ファイル30のファイルタイプがバイナリファイルの場合には、上記割合R(R1)を1/2程度以下(あるいは、1/5程度以下、1/10程度以下、1/20程度以下、1/50程度以下)の値に設定するとともに、ファイル30のファイルタイプがテキストファイルの場合には、上記割合R(R2)を1/2程度以上の値となるように設定することができる。
この実施形態においては、ファイル30のファイルタイプがバイナリファイルの場合には、上記割合R(R1)を1/5程度から1/50程度までの値とし、ファイル30のファイルタイプがテキストファイルの場合には、上記割合R(R2)を1とする(すなわち、データ本体32全体を第1の暗号化の対象とする)よう構成している。
したがって、この実施形態においては、ステップS2の処理として、まず、外付けハードディスク6は、ステップS1において読み出されたファイル30のファイルタイプを取得する。ファイルタイプを取得する方法は、とくに限定されるものではないが、たとえば、ファイル30のファイル名の拡張子を読み取ることにより取得することができる。
つづいて、外付けハードディスク6は、ファイル30のファイルタイプに基づいて、データ本体32のうち第1の暗号化の対象とする部分の割合Rを決定する。
具体的には、上述のように、ファイル30のファイルタイプがバイナリファイルの場合には、上記割合Rを1/5程度から1/50程度までの値(R1)とし、ファイル30のファイルタイプがテキストファイルの場合には、上記割合Rを1(R2)とするよう構成されている。
つぎに、外付けハードディスク6は、ファイル30のファイルタイプがバイナリファイルの場合、データ本体32のどの部分を第1の暗号化の対象とするか特定する。第1の暗号化の対象部分の特定方法は、とくに限定されるものではなく、第1の暗号化の対象部分を、データ本体32内にランダムに配置するようにすることもできるが、この実施形態においては、第1の暗号化の対象部分を、データ本体32内に規則的に(この例では、さらに均等に分散して)配置するよう構成している。
第1の暗号化の対象部分を、データ本体32内に規則的に配置することで、第2の復号化に際して、データ本体32のうち当該復号化の対象とすべき第1の暗号文の位置を特定する処理が容易となり、復号化処理に要する時間を短縮する効果が期待できるからである。
また、第1の暗号化の対象部分を、データ本体32内に均等に分散して配置することで、第1の暗号化実行後のデータ本体32が、仮に漏洩したとしても、漏洩したデータ本体32から、ある程度まとまりのある元データが復元される危険性を低減することができるからである。
データ本体32のうち、第1の暗号化の対象部分以外の部分が、第1の暗号化対象外部分である。
なお、第1の暗号化の対象部分を、データ本体32内に規則的に均等に分散させて配置する場合、上記割合R1が1/10と仮定すると、たとえば、データ本体32の先頭から1ブロック目、11ブロック目、21ブロック目、・・・・・を、第1の暗号化の対象部分としたり、データ本体32の先頭から1ないし2ブロック目、21ないし22ブロック目、41ないし42ブロック目、・・・・・を、第1の暗号化の対象部分としたりすることができる。
つぎに、図4に示すように、外付けハードディスク6は、決定された第1の暗号化対象部分をソフトウェアによる第1の暗号化により暗号化して第1の暗号文データを得るよう制御する(ステップS3)。
第1の暗号化の方式はとくに限定されるものではないが、たとえば共通鍵方式を用いることができる。また、共通鍵方式のアルゴリズムについてもとくに限定されるものではないが、この実施形態においては、暗号化強度が高いとされるAES(Advanced Encryption Standard)256を用いるよう構成している。
本ステップの詳細な手順は、とくに限定されるものではないが、この実施形態においては、上述のステップS2において決定されたファイル30の第1の暗号化対象部分を、ヘッダ部31に係る部分と、データ本体32に係る部分とに分け、それぞれの部分に対し異なる暗号鍵で暗号化するよう構成している。
すなわち、ヘッダ部31に係る部分に対してヘッダ部用鍵を用いて第1の暗号化を行うとともに、データ本体32に係る部分に対してデータ本体用鍵を用いて第1の暗号化を行うよう構成している。
さらに、ヘッダ部31に係る部分に対する第1の暗号化の実行に先立ち、ヘッダ部31に、データ本体用鍵を平文のまま、または暗号化したうえで、追加して記憶させておく。
したがって、本ステップによる第1の暗号化が実行されると、第1の暗号化対象部分のうちデータ本体32に係る部分は、ヘッダ部31に係る部分を復号化してデータ本体用鍵を取得しない限り、復号化できないことになる。なお、ヘッダ部用鍵の記憶場所はとくに限定されるものではないが、たとえば、外付けハードディスク6のROM領域65に、平文のまま、または暗号化して記憶させるよう構成することができる。この実施形態においては、ヘッダ部用鍵を、暗号システムアプリ内に記憶させるよう構成している。
図6Bは、第1の暗号化が実行された後におけるファイル30の状態を説明するための図面である。
図6Bに示すファイル30のうち、右上がりのハッチングの付された部分が、ソフトウェアによる第1の暗号化が実行された部分(第1の暗号文データ)である。実線で囲まれた空白(ハッチングが施されていない部分)は、第1の暗号化の対象とならなかった第1の暗号化対象外部分(平文のままの部分)である。
つぎに、外付けハードディスク6は、第1の暗号化実行処理(ステップS3)により得られた、第1の暗号文データと、第1の暗号化対象外部分と、をまとめてハードウェアによる第2の暗号化により暗号化して第2の暗号文データを得るとともに(ステップS4)、得られた第2の暗号文データを、外付け記憶装置6に書き込むよう制御する(ステップS5)。
すなわち、図6Bに示すファイル30全体を対象として、ハードウェアによる第2の暗号化が行われ、その結果が、たとえば、外付けハードディスク6の外付け記憶部13に対応するユーザデータ領域62(図3参照)の少なくとも一部に設定されているセキュリティ領域62a(図示せず)に書き込まれる。
ステップS5の実行が完了すると、図4に示す暗号化処理が完了する。
なお、セキュリティ領域62aは、上述の所定の認証が成立したことを条件として、ユーザからの認識が可能となるような領域として構成されている。
第2の暗号化の方法は、とくに限定されるものではないが、この実施形態においては、外付けハードディスク6に実装され、AES(Advanced Encryption Standard)256アルゴリズムを実行する暗号化/復号化回路63を用いて行うよう構成されている。
ハードウェアによる第2の暗号化の暗号鍵の記憶場所はとくに限定されるものではないが、たとえば、外付けハードディスク6のROM領域65や暗号化/復号化回路63に、平文のまま、または暗号化して記憶させるよう構成することができる。
図6Cは、第2の暗号化が実行された後におけるファイル30(第2の暗号文データ)の状態を説明するための図面である。
図6Cに示すファイル30のうち、網掛けの施された部分が、ソフトウェアによる第1の暗号化およびハードウェアによる第2の暗号化が実行された部分(2重暗号化部分)であり、左上がりのハッチングの付された部分が、ハードウェアによる第2の暗号化のみが実行された部分である。
このように、外付けハードディスク6に接続された送出側コンピュータ4の補助記憶装置55に記憶されたファイル30を、処理速度および安全性を損ねることなく暗号化して、外付けハードディスク6のセキュリティ領域62aにコピーすることができる。
つぎに、図5、および図6Aないし図6Dを参照しつつ、復号化処理について説明する。この復号化処理は、送出側コンピュータ4に替えて受領側コンピュータ5に接続された外付けハードディスク6のセキュリティ領域62aに暗号化して記憶されているファイル30を、復号化して、受領側コンピュータ5にコピーする処理である。
復号化処理に先立ち、外付けハードディスク6の外付け記憶部13に対応するセキュリティ領域62aには、図4の暗号化処理により得られた第2の暗号文データに相当する暗号化されたファイル30(図6C参照)が記憶されているものとする。
また、受領側コンピュータ5に、外付けハードディスク6が接続され、外付けハードディスク6にインストールされている暗号システムアプリが起動しているものとする。
また、受領側コンピュータ5と外付けハードディスク6との間における所定の認証(たとえば、パスワード認証等)が要求されている場合(なお、この実施形態においては、当該所定の認証が要求されている。)には、両者間における認証処理が実行され、当該認証が成立しているものとする。
なお、図5に示す復号化処理においては、上述の暗号化処理(図4参照)の場合と同様に、原則として、外付けハードディスク6(のMCU61)が、受領側コンピュータ5(のCPU51)を制御して、受領側コンピュータ5(のCPU51)に各処理を実行させるよう構成しているが、説明の便宜上、各処理は、外付けハードディスク6(のMCU61)が実行するものとして説明する。
図5に示すように、復号化処理において、外付けハードディスク6は、まず、外付けハードディスク6のセキュリティ領域62aに記憶された第2の暗号文データに相当する暗号化されたファイル30を読み出して(ステップS11)、これを、ハードウェアによる第1の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する(ステップS12)。
ハードウェアによる第1の復号化実行処理(ステップS12)は、上述のハードウェアによる第2の暗号化実行処理(ステップS4)と逆の処理である。すなわち、第1の復号化実行処理は、上述の、第2の暗号化実行処理に用いられるものと同一(共通)の暗号鍵を用いて、第2の暗号化実行処理における暗号化方式に対応する復号化方式にしたがって、暗号化/復号化回路63により実行される。
ハードウェアによる第1の復号化実行処理により得られた、第1の暗号文データと、第1の暗号化対象外部分からなるファイル30は、図6Bに示す状態となっている。
続いて、外付けハードディスク6は、ファイル30における第1の暗号文データ(図6Bに示す、右上がりのハッチングの付された部分)をソフトウェアによる第2の復号化により復号化して第1の暗号化対象部分を得るよう制御する(ステップS13)。
ソフトウェアによる第2の復号化実行処理(ステップS13)は、上述のソフトウェアによる第1の暗号化実行処理(ステップS3)と逆の処理である。すなわち、第2の復号化実行処理は、上述の、第1の暗号化実行処理に用いられるものと同一(共通)の暗号鍵を用いて、第1の暗号化実行処理における暗号化方式に対応する復号化方式にしたがって実行される。
ステップS13の詳細な手順を説明すると、外付けハードディスク6は、まず、暗号システムアプリ内に記憶されているヘッダ部用鍵を取得する。ヘッダ部用鍵は、上述のソフトウェアによる第1の暗号化実行処理(ステップS3参照)において、第1の暗号化対象部分のうちヘッダ部31に係る部分に対して行われた第1の暗号化に用いられたもの同一(共通)の暗号鍵である。
外付けハードディスク6は、取得したこのヘッダ部用鍵を用いて、第1の暗号文データのうちヘッダ部31に係る部分に対して第2の復号化を実行し、ヘッダ部31に係る第1の暗号化対象部分(すなわち、平文で表されたヘッダ部31)を取得する。
外付けハードディスク6は、平文で表されたヘッダ部31に記憶されているデータ本体用鍵を取得する。データ本体用鍵は、上述のソフトウェアによる第1の暗号化実行処理(ステップS3参照)において、第1の暗号化対象部分のうちデータ本体32に係る部分に対して行われた第1の暗号化に用いられたものと同一(共通)の暗号鍵である。
外付けハードディスク6は、取得したこのデータ本体用鍵を用いて、第1の暗号文データのうちデータ本体32に係る部分に対して第2の復号化を実行し、データ本体32に係る第1の暗号化対象部分(すなわち、平文で表されたデータ本体32)を取得する。
外付けハードディスク6は、このような手順で、ファイル30における第1の暗号文データを、第2の復号化により復号化して第1の暗号化対象部分を得るのである。
続いて、外付けハードディスク6は、このようにして得られた第1の暗号化対象部分と、第1の暗号化対象外部分とを組み合わせて、元データとしてのファイル30を復元し(ステップS14)、復元されたファイル30を、受領側コンピュータ5の第2のホスト記憶部12に対応する補助記憶装置55に書き込むよう制御する(ステップS15)。
元データに復元されたファイル30は、図6Aに示す状態となっている。
このように、外付けハードディスク6のセキュリティ領域62aに記憶されている暗号化されたファイル30を、処理速度および安全性を損ねることなく復号化して、外付けハードディスク6に接続された受領側コンピュータ5の補助記憶装置55にコピーすることができる。
続いて、外付けハードディスク6は、外付けハードディスク6の外付け記憶部13に対応するセキュリティ領域62aに記憶されている第2の暗号文データを部分的に消去するよう制御する(ステップS16)。このステップの実行が完了すると、図5に示す復号化処理が完了する。
なお、ステップS16において、第2の暗号文データのどの部分を、どの程度、消去するかは、とくに限定されるものではないが、たとえば、第2の暗号文データ(図6C参照)のうちヘッダ部31に係る部分(ヘッダ部31に係る部分全体を表す。以下同様。)のみを消去するよう構成することができる。
上述のように、第2の暗号文データのうちヘッダ部31に係る部分には、データ本体32に係る部分を復号化するためのデータ本体用鍵が記憶されていることから、ヘッダ部31に係る部分を消去することで、第2の暗号文データから平文のデータ本体32を復号化することが、極めて困難になるためである。
また、上記ステップにおいて、第2の暗号文データのうちヘッダ部31に係る部分に加えて、データ本体32に係る部分の一部を消去するよう構成することができる。
この場合、消去対象となるデータ本体32に係る部分の一部として、たとえば、データ本体32に係る部分の先頭領域(とくに限定されるものではないが、たとえば、データ本体32に係る部分の先頭から1Kバイト〜32K程度の領域)のみを例示することができる。データ本体32の先頭領域には、重要な情報が記載されている可能性が高いからである。
さらに、消去対象となるデータ本体32に係る部分の一部として、たとえば、データ本体32に係る部分の先頭領域(上述)および末尾領域(とくに限定されるものではないが、たとえば、データ本体32に係る部分の末尾から1Kバイト〜32K程度の領域)を例示することができる。データ本体32の末尾領域にも、重要な情報が記載されている可能性が高いからである。
さらに、消去対象となるデータ本体32に係る部分の一部として、たとえば、データ本体32に係る部分の先頭領域および末尾領域(上述)に加え、1または2以上の中間領域(データ本体32に係る部分の先頭領域と末尾領域との間に位置する領域であって、とくに限定されるものではないが、たとえば、1Kバイト〜32K程度の領域)を例示することができる。1または2以上の中間領域を消去することで、データ本体32に記載されている情報の前後のつながりを把握することが困難となるからである。
第2の暗号文データのうちヘッダ部31に係る部分に加えて、データ本体32に係る部分の一部を消去するよう構成することで、万が一、データ本体32が部分的に復元されることがあったとしても、重要な情報の漏洩を防止することが可能となる。
図6Dは、第2の暗号文データを部分的に消去する処理が実行された後におけるファイル30の状態を説明するための図面である。図6Dにおいて、破線で示された部分が当該消去処理によって消去された部分を表し、実線で囲まれた部分が、当該消去処理によって消去されなかった部分を表す。
このように、外付けハードディスク6のセキュリティ領域62aに残された暗号化されたファイル30(第2の暗号文データ)を部分的に消去するよう構成することで、第2の暗号文データ全体を消去する場合に比較して消去時間を短縮することができるとともに、重要な情報の漏洩を防止することが可能となる。
つまり、外付けハードディスク6のセキュリティ領域62aに記憶されている暗号化されたファイル30を、処理速度および安全性を損ねることなく消去することができる。
このような手順で、図4に示す暗号化処理および図5に示す復号化処理(第2の暗号文データの消去処理を含む)を実行するよう構成することで、処理速度および安全性を損ねることなく、外付けハードディスク6を用いて、送出側コンピュータ4から受領側コンピュータ5へ被伝達データを移送することが可能となる。
図4に示すステップS1ないしステップS5を構成する各ステップが、図2の外付け記憶装置6の暗号化部15における元データ読み出し部16、第1の暗号化対象部分決定部17、第1の暗号化実行部18、第2の暗号化実行部19、第2の暗号文データ書き込み部20に、それぞれ対応する。
図5に示すステップS11ないしステップS16を構成する各ステップが、図2の外付け記憶装置6の復号化部21における第2の暗号文データ読み出し部22、第1の復号化実行部23、第2の復号化実行部24、元データ復元部25、元データ書き込み部26、第2の暗号文データ消去部27に、それぞれ対応する。
なお、上述の実施形態に示す暗号化処理および復号化処理においては、外付けハードディスク6(のMCU61)が、送出側コンピュータ4(のCPU51)、受領側コンピュータ5(のCPU51)を、それぞれ制御して、送出側コンピュータ4(のCPU51)、受領側コンピュータ5(のCPU51)に、各処理を実行させるよう構成しているが、この発明はこれに限定されるものではない。
たとえば、上記各処理の一部または全部を、送出側コンピュータ4(のCPU51)、受領側コンピュータ5(のCPU51)に実行させるのではなく、外付けハードディスク6(のMCU61)自体が単独(スタンドアローン)で実行するよう構成することもできる。
また、上述の実施形態においては、外付け記憶部と外付け制御部とを備えた外付け記憶装置として、外付けハードディスクを用いた場合を例示したが、この発明はこれに限定されるものではない。外付け記憶部と外付け制御部とを備えた外付け記憶装置として、USBメモリその他の外付け用の記憶装置を用いることができる。
また、上述の実施形態においては、暗号システム2を構成するプログラムである暗号システムアプリ(以下、単に「プログラム」ということがある。)を記憶した記録媒体として、外付けハードディスクのROM領域(たとえばハードディスク)、USBメモリのROM領域(たとえばマスクROM、フラッシュメモリ)を例示することができるが、プログラムを記憶した記録媒体はこれらに限定されるものではなく、プログラムを記憶した記録媒体として、たとえば、外部メモリカード、CD−ROM、DVD−ROM、フレキシブルディスク、磁気テープを用いることもできる。さらに、外付けハードディスクまたはUSBメモリのRAM領域やユーザデータ領域も、プログラムを記憶した記録媒体として用いることができる。
また、上述の暗号システム2を構成する外付け記憶装置6の外付け制御部14に示す各機能(図2参照)を、プログラム(ソフトウェア)を用いて実現する場合を例に説明したが、この発明はこれに限定されるものではない。たとえば、上記外付け制御部14に示す機能の一部または全部を、ハードウェアロジックを用いて構成するようにしてもよい。
つぎに、図7に、この発明の他の実施形態における暗号装置8の構成を示すブロック図を示す。
暗号装置8は、記憶部113と、制御部114とを備えている。
暗号装置8の制御部114は、暗号化部115と復号化部121とを備えている。
暗号化部115は、第1の暗号化対象部分決定部117と、第1の暗号化実行部118と、第2の暗号化実行部119と、を備えている。
第1の暗号化対象部分決定部117は、元データの一部をソフトウェアによる第1の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する。
第1の暗号化実行部118は、決定された第1の暗号化対象部分を第1の暗号化により暗号化して第1の暗号文データを得るよう制御する。
第2の暗号化実行部119は、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第2の暗号化により暗号化して第2の暗号文データを得るよう制御する。
復号化部121は、第1の復号化実行部123と、第2の復号化実行部124と、元データ復元部125と、第2の暗号文データ消去部127と、を備えている。
第1の復号化実行部123は、第2の暗号文データをハードウェアによる第1の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する。
第2の復号化実行部124は、得られた第1の暗号文データをソフトウェアによる第2の復号化により復号化して第1の暗号化対象部分を得るよう制御する。
元データ復元部125は、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する。
第2の暗号文データ消去部127は、元データ復元部125による元データの復元後、第2の暗号文データを部分的に消去するよう制御する。
図8は、図7に示す暗号装置8のハードウェア構成の一例を示すブロック図であって、暗号装置8として、コンピュータ8を用いた場合の例である。
コンピュータ8は、とくに限定されるものではないが、この例では、暗号化/復号化回路57を備えている点を除き、一般的なパーソナルコンピュータと同様の構成である。
コンピュータ8は、ハードディスクを備えたHDD(ハードディスクドライブ)またはフラッシュメモリを搭載したSSD(ソリッドステートドライブ)等により構成され暗号装置2に用いられるプログラム(以下、「暗号アプリ」ということがある。)等を記憶する記憶部113として機能する補助記憶装置55、補助記憶装置55に記憶されているプログラムを実行する制御部114として機能するCPU51,CPU51のワーク領域として機能する主記憶装置54、LCD(液晶表示装置)等の表示装置52,キーボード、マウス、トラックパッド等の入力装置53、および、有線または無線により他のコンピュータや外付け記憶装置等の外部装置との通信に用いられるインタフェース部56、AES(Advanced Encryption Standard)256アルゴリズム等による暗号化および復号化をハードウェアを用いて実行する暗号化/復号化回路57、を備えている。
つぎに、暗号装置8であるコンピュータ8の動作について説明する。ここでは、コンピュータ8が、被伝達データを記憶した送出側コンピュータ81(図示せず。以下、単に「コンピュータ81」ということがある。)である場合において、コンピュータ81を用いて当該被伝達データを暗号化したうえで、外付けハードディスクやUSBメモリ等の外付け記憶装置90(図示せず)に記憶させる動作(暗号化処理)と、コンピュータ8が、コンピュータ81と異なる受領側コンピュータ82(図示せず。以下、単に「コンピュータ82」ということがある。)である場合において、外付け記憶装置90に記憶されている暗号化された被伝達データを、コンピュータ82を用いて復号化したうえで、コンピュータ82に記憶させる動作(復号化処理)とを例に、説明する。
なお、この実施形態においては、外付け記憶装置90は、一般的な外付け記憶装置であって、図3に示すような暗号化/復号化回路63を備えている必要はない。
図9は、暗号装置8を用いた暗号化処理の流れの一例を示すフローチャートである。図10は、暗号装置8を用いた復号化処理の流れの一例を示すフローチャートである。
まず、図9を参照しつつ、暗号化処理について説明する。この暗号化処理は、コンピュータ81に記憶されている被伝達データを、暗号化して、外付け記憶装置90にコピーする処理である。
暗号化処理に先立ち、コンピュータ81の記憶部113に対応する補助記憶装置55には、元データ(図9に示す暗号化処理が実行される前の被伝達データ)が記憶されているものとする。
また、コンピュータ81に、外付け記憶装置90が通信可能に接続されている。さらに、コンピュータ81と外付け記憶装置90との間における所定の認証(たとえば、パスワード認証等)が要求されている場合(なお、この実施形態においては、当該所定の認証が要求されている。)には、両者間における認証処理が実行され、当該認証が成立しているものとする。
図9に示すように、暗号化処理において、コンピュータ81のCPU51(以下、単に「コンピュータ81」ということがある。)は、まず、コンピュータ81の補助記憶装置55に記憶された元データを読出す(ステップS21)。
コンピュータ81の補助記憶装置55に元データとして記憶されている被伝達データのデータ構成は、上述の暗号システム2におけるそれと同様であると仮定し、当該被伝達データをファイル30と表現することとする。
すなわち、この実施形態におけるファイル30のファイル構成は、上述の暗号システム2において、図6Aないし図6Dを用いて説明されたファイル30のファイル構成と同様である。
続いて、図9に示すように、コンピュータ81は、ステップS21において読み出された元データとしてのファイル30の一部をソフトウェアによる第1の暗号化の対象となる部分である第1の暗号化対象部分として決定し(ステップS22)、決定された第1の暗号化対象部分をソフトウェアによる第1の暗号化により暗号化して第1の暗号文データを得(ステップS23)、得られた第1の暗号文データと、第1の暗号化対象外部分と、をまとめてハードウェアによる第2の暗号化により暗号化して第2の暗号文データを得る(ステップS24)。
ステップS22ないしステップS24に示す処理は、処理の主体がコンピュータ81である点を除き、上述の暗号システム2における、ステップS2ないしステップS4に示す処理と、それぞれ同様であるため、説明を省略する。
つづいて、コンピュータ81は、ステップS24の実行により得られた第2の暗号文データを、コンピュータ81に接続された外付け記憶装置90の所定の記憶領域(図示せず。)に書き込む(ステップS25)。
ステップS25の実行が完了すると、図9に示す暗号化処理が完了する。このようにして、コンピュータ81の補助記憶装置55に記憶されたファイル30を、処理速度および安全性を損ねることなく暗号化して、外付け記憶装置90にコピーすることができる。
つぎに、図10を参照しつつ、復号化処理について説明する。この復号化処理は、送出側コンピュータ81に替えて受領側コンピュータ82に接続された外付け記憶装置90に暗号化して記憶されているファイル30を、復号化して、コンピュータ82にコピーする処理である。
復号化処理に先立ち、外付け記憶装置90には、図9の暗号化処理により得られた第2の暗号文データに相当する暗号化されたファイル30(図6C参照)が記憶されているものとする。
また、コンピュータ82に、外付け記憶装置90が接続されており、コンピュータ82と外付け記憶装置90との間における所定の認証(たとえば、パスワード認証等)が要求されている場合(なお、この実施形態においては、当該所定の認証が要求されている。)には、両者間における認証処理が実行され、当該認証が成立しているものとする。
図10に示すように、復号化処理において、コンピュータ82は、まず、外付け記憶装置90に記憶された第2の暗号文データに相当する暗号化されたファイル30を読み出す(ステップS31)。
コンピュータ82は、つぎに、読み出されたファイル30(第2の暗号文データ)を、ハードウェアによる第1の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得(ステップS32)、得られた、第1の暗号文データと、第1の暗号化対象外部分からなるファイル30における第1の暗号文データをソフトウェアによる第2の復号化により復号化して第1の暗号化対象部分を得(ステップS33)、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて、元データとしてのファイル30を復元する(ステップS34)。
ステップS32ないしステップS34に示す処理は、処理の主体がコンピュータ82である点を除き、上述の暗号システム2における、ステップS12ないしステップS14に示す処理と、それぞれ同様であるため、説明を省略する。
つづいて、コンピュータ82は、ステップS34の実行により得られた、復元されたファイル30を、コンピュータ82の記憶部113に対応する補助記憶装置55に書き込む(ステップS35)。元データに復元されたファイル30は、図6Aに示す状態となっている。
このようにして、外付け記憶装置90に記憶されている暗号化されたファイル30を、処理速度および安全性を損ねることなく復号化して、外付け記憶装置90に接続されたコンピュータ82の補助記憶装置55にコピーすることができる。
続いて、コンピュータ82は、外付け記憶装置90に記憶されている第2の暗号文データを部分的に消去する(ステップS36)。このステップの実行が完了すると、図10に示す復号化処理が完了する。
ステップS36に示す処理は、処理の主体がコンピュータ82である点を除き、上述の暗号システム2における、ステップS16に示す処理と同様であるため、説明を省略する。
このように、外付け記憶装置90に記憶されている暗号化されたファイル30(第2の暗号文データ)を部分的に消去するよう構成することで、第2の暗号文データ全体を消去する場合に比較して消去時間を短縮することができるとともに、重要な情報の漏洩を防止することが可能となる。
つまり、外付け記憶装置90に残されている暗号化されたファイル30を、処理速度および安全性を損ねることなく消去することができる。
このように、図9に示す暗号化処理および図10に示す復号化処理(第2の暗号文データの消去処理を含む)を実行するよう構成することで、処理速度および安全性を損ねることなく、一般的な構成の外付け記憶装置90を用いて、送出側コンピュータ81から受領側コンピュータ82へ被伝達データを移送することが可能となる。
図9に示すステップS22ないしステップS24を構成する各ステップが、図7の暗号装置8の暗号化部115における第1の暗号化対象部分決定部117、第1の暗号化実行部118、第2の暗号化実行部119に、それぞれ対応する。
図10に示すステップS32ないしステップS34およびステップS36を構成する各ステップが、図7の暗号装置8の復号化部121における第1の復号化実行部123、第2の復号化実行部124、元データ復元部125および第2の暗号文データ消去部127に、それぞれ対応する。
なお、この実施形態においては、被伝達データが記憶されている送出側コンピュータ81自体が暗号化処理を行い、復号化後の被伝達データが記憶される受領側コンピュータ82自体が復号化処理を行う場合を例に、説明したが、この発明はこれに限定されるものではない。
たとえば、被伝達データが記憶されている送出側コンピュータに接続された別の暗号用コンピュータ(暗号装置に該当)を用いて当該被伝達データを暗号化したうえで、外付けハードディスクやUSBメモリ等の外付け記憶装置に記憶させ、当該外付け記憶装置に記憶されている暗号化された被伝達データを、送出側コンピュータに替えて受領側コンピュータに接続された暗号用コンピュータを用いて復号化したうえで、受領側コンピュータに記憶させるよう、構成することもできる。
なお、上述の実施形態においては、暗号化処理および復号化処理を行うコンピュータが、1台のコンピュータを用いて構成されている場合を例に説明したが、この発明はこれに限定されるものではない。暗号化処理および復号化処理を行うコンピュータを、2台以上のコンピュータにより構成することもできる。この場合、当該2台以上のコンピュータを、有線または無線による情報通信手段を介して接続することもできる。
この場合、たとえば、ウェブブラウザを備えたコンピュータに、上記暗号化処理および復号化処理を行う機能が、ウェブサーバ(図示せず)から、ASP(Application Service Provider)方式で提供されるよう構成することもできる。
また、この実施形態においては、暗号装置に用いられるプログラムである暗号アプリ(以下、単に「プログラム」ということがある。)を記憶した記録媒体として、HDDに装着されたハードディスクまたはSSDに装着されたフラッシュメモリを例示しているが、プログラムを記憶した記録媒体はこれらに限定されるものではなく、プログラムを記憶した記録媒体として、たとえば、外部メモリカード、CD−ROM、DVD−ROM、フレキシブルディスク、磁気テープを用いることもできる。さらに、主記憶装置もプログラムを記憶した記録媒体として用いることができる。
なお、上述の各実施形態におけるプログラムの配布態様は特に限定されるものではなく、記録媒体にプログラムを記憶した状態で配布するほか、有線や無線の情報通信手段を介して当該プログラムを配布するようにしてもよい。
また、プログラムの記録態様は特に限定されるものではない。直接実行できる形で記録媒体に記憶したり配布したりする他、たとえば、解凍して使用するように圧縮された形で記録媒体に記憶したり配布したりすることもできる。
また、上述の暗号装置8の制御部114に示す各機能(図7参照)を、コンピュータを用いて実現する場合を例に説明したが、これらの機能の一部または全部を、ハードウェアロジックを用いて構成するようにしてもよい。
なお、上述のブロック図、ハードウェア構成、フローチャート、各種データの構成等は、例として挙げたものであり、本願発明は、これらに限定されるものではない。
上記においては、本発明を好ましい実施形態として説明したが、各用語は、限定のために用いたのではなく、説明のために用いたものであって、本発明の範囲および精神を逸脱することなく、添付のクレームの範囲において、変更することができるものである。また、上記においては、本発明のいくつかの典型的な実施形態についてのみ詳細に記述したが、当業者であれば、本発明の新規な教示および利点を逸脱することなしに上記典型的な実施形態において多くの変更が可能であることを、容易に認識するであろう。したがって、そのような変更はすべて、本発明の範囲に含まれるものである。
4:第1のホスト装置
6:外付け記憶装置
11:第1のホスト記憶部
13:外付け記憶部
14:外付け制御部
15:暗号化部
16:元データ読み出し部
17:第1の暗号化対象部分決定部
18:第1の暗号化実行部
19:第2の暗号化実行部
20:第2の暗号文データ書き込み部
21:復号化部

Claims (9)

  1. 第1のホスト記憶部を備えた第1のホスト装置と、第2のホスト記憶部を備えた第2のホスト装置と、外付け記憶部と外付け制御部とを備えた外付け記憶装置と、を備えた暗号システムであって、
    前記外付け制御部は、暗号化部と復号化部とを備え、
    前記暗号化部は、
    前記外付け記憶装置に接続された前記第1のホスト装置の第1のホスト記憶部に記憶された元データを読み出すよう制御する元データ読み出し部と、
    元データの一部をソフトウェアによる第1の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定部と、
    決定された第1の暗号化対象部分を第1の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行部と、
    得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第2の暗号化により暗号化して第2の暗号文データを得るよう制御する第2の暗号化実行部と、
    得られた第2の暗号文データを、前記外付け記憶部に書き込むよう制御する第2の暗号文データ書き込み部と、
    を備え、
    前記復号化部は、
    前記第1のホスト装置に替えて前記第2のホスト装置に接続された前記外付け記憶装置の外付け記憶部に記憶された第2の暗号文データを読み出すよう制御する第2の暗号文データ読み出し部と、
    第2の暗号文データをハードウェアによる第1の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第1の復号化実行部と、
    得られた第1の暗号文データをソフトウェアによる第2の復号化により復号化して第1の暗号化対象部分を得るよう制御する第2の復号化実行部と、
    得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元部と、
    得られた元データを、前記第2のホスト装置の第2のホスト記憶部に書き込むよう制御する元データ書き込み部と、
    前記外付け記憶部に記憶された第2の暗号文データを部分的に消去するよう制御する第2の暗号文データ消去部と、
    を備えたこと、
    を特徴とする暗号システム。
  2. 請求項1の暗号システムに用いられることを特徴とする前記外付け記憶装置。
  3. コンピュータに、請求項2の外付け記憶装置の機能を実行させるためのプログラム。
  4. 請求項3のプログラムを記憶した記録媒体。
  5. 暗号化部と復号化部とを備えた制御部と、記憶部と、を備えた暗号装置であって、
    前記暗号化部は、
    元データの一部をソフトウェアによる第1の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定部と、
    決定された第1の暗号化対象部分を第1の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行部と、
    得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第2の暗号化により暗号化して第2の暗号文データを得るよう制御する第2の暗号化実行部と、
    を備え、
    前記復号化部は、
    第2の暗号文データをハードウェアによる第1の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第1の復号化実行部と、
    得られた第1の暗号文データをソフトウェアによる第2の復号化により復号化して第1の暗号化対象部分を得るよう制御する第2の復号化実行部と、
    得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元部と、
    を備えたこと、
    を特徴とする暗号装置。
  6. コンピュータに、請求項5の暗号装置の機能を実行させるためのプログラム。
  7. 請求項6のプログラムを記憶した記録媒体。
  8. 第1のホスト記憶部を備えた第1のホスト装置と、第2のホスト記憶部を備えた第2のホスト装置と、外付け記憶部と外付け制御部とを備えた外付け記憶装置と、を用いて行う暗号方法であって、
    前記外付け記憶装置が、前記外付け記憶装置に接続された前記第1のホスト装置の第1のホスト記憶部に記憶された元データを読み出すよう制御する元データ読み出しステップと、
    前記外付け記憶装置が、元データの一部をソフトウェアによる第1の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定ステップと、
    前記外付け記憶装置が、決定された第1の暗号化対象部分を第1の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行ステップと、
    前記外付け記憶装置が、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第2の暗号化により暗号化して第2の暗号文データを得るよう制御する第2の暗号化実行ステップと、
    前記外付け記憶装置が、得られた第2の暗号文データを、前記外付け記憶部に書き込むよう制御する第2の暗号文データ書き込みステップと、
    前記外付け記憶装置が、前記第1のホスト装置に替えて前記第2のホスト装置に接続された前記外付け記憶装置の外付け記憶部に記憶された第2の暗号文データを読み出すよう制御する第2の暗号文データ読み出しステップと、
    前記外付け記憶装置が、第2の暗号文データをハードウェアによる第1の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第1の復号化実行ステップと、
    前記外付け記憶装置が、得られた第1の暗号文データをソフトウェアによる第2の復号化により復号化して第1の暗号化対象部分を得るよう制御する第2の復号化実行ステップと、
    前記外付け記憶装置が、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元ステップと、
    前記外付け記憶装置が、得られた元データを、前記第2のホスト装置の第2のホスト記憶部に書き込むよう制御する元データ書き込みステップと、
    前記外付け記憶装置が、前記外付け記憶部に記憶された第2の暗号文データを部分的に消去するよう制御する第2の暗号文データ消去ステップと、
    を備えたこと、
    を特徴とする暗号方法。
  9. 暗号装置を用いて行う暗号方法であって、
    前記暗号装置が、元データの一部をソフトウェアによる第1の暗号化の対象となる部分である第1の暗号化対象部分として決定するよう制御する第1の暗号化対象部分決定ステップと、
    前記暗号装置が、決定された第1の暗号化対象部分を第1の暗号化により暗号化して第1の暗号文データを得るよう制御する第1の暗号化実行ステップと、
    前記暗号装置が、得られた第1の暗号文データと、元データのうち第1の暗号化対象部分以外の部分である第1の暗号化対象外部分と、をまとめてハードウェアによる第2の暗号化により暗号化して第2の暗号文データを得るよう制御する第2の暗号化実行ステップと、
    前記暗号装置が、第2の暗号文データをハードウェアによる第1の復号化により復号化して、第1の暗号文データと、第1の暗号化対象外部分とを得るよう制御する第1の復号化実行ステップと、
    前記暗号装置が、得られた第1の暗号文データをソフトウェアによる第2の復号化により復号化して第1の暗号化対象部分を得るよう制御する第2の復号化実行ステップと、
    前記暗号装置が、得られた第1の暗号化対象部分と第1の暗号化対象外部分とを組み合わせて元データを得るよう制御する元データ復元ステップと、
    を備えたこと、
    を特徴とする暗号方法。
JP2019018416A 2019-02-05 2019-02-05 暗号システムおよび暗号装置 Pending JP2020127129A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019018416A JP2020127129A (ja) 2019-02-05 2019-02-05 暗号システムおよび暗号装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019018416A JP2020127129A (ja) 2019-02-05 2019-02-05 暗号システムおよび暗号装置

Publications (1)

Publication Number Publication Date
JP2020127129A true JP2020127129A (ja) 2020-08-20

Family

ID=72084307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019018416A Pending JP2020127129A (ja) 2019-02-05 2019-02-05 暗号システムおよび暗号装置

Country Status (1)

Country Link
JP (1) JP2020127129A (ja)

Similar Documents

Publication Publication Date Title
US8495365B2 (en) Content processing apparatus and encryption processing method
JP2007215028A (ja) データ暗号化装置、データ暗号化方法、データ暗号化プログラム、および記録媒体
US8438112B2 (en) Host device, portable storage device, and method for updating meta information regarding right objects stored in portable storage device
US20090296937A1 (en) Data protection system, data protection method, and memory card
US20070153580A1 (en) Memory arrangement, memory device, method for shifting data from a first memory device to a second memory device, and computer program element
JP5118494B2 (ja) イン−ストリームデータ暗号化/復号の機能を有するメモリシステム
JP4619361B2 (ja) 暗号化指示情報を有する記録媒体
US20070055895A1 (en) Image processing device, recording medium, and program
CN110650191A (zh) 一种分布式存储系统的数据读写方法
JP2007108833A (ja) 複数パスワード記憶装置及びパスワード管理方法
KR100895570B1 (ko) 암호 변환 장치, 암호 변환 방법 및 기록매체
JP6111427B2 (ja) 携帯型記録媒体、携帯型記録媒体を含むシステム、携帯型記録媒体のデータ復旧方法
CN103532712B (zh) 数字媒体文件保护方法、系统及客户端
JP2020127129A (ja) 暗号システムおよび暗号装置
JP4738546B2 (ja) データ漏洩防止システムおよびデータ漏洩防止方法
JPH10275115A (ja) データ暗号化保存方法及びシステム装置
TWI509457B (zh) 資料儲存裝置以及其資料保護方法
JP4867935B2 (ja) 暗号化データ記憶装置、暗号化データ管理方法、データ暗号化装置、及び暗号化データ管理制御プログラム
JP2004334392A (ja) 記録媒体読取装置、画像形成装置、記録媒体及びプログラム
JP5539024B2 (ja) データ暗号化装置およびその制御方法
JP2010146635A (ja) コンテンツ記録再生装置並びにコンテンツの書き込み及び読み出し方法
JP2010114593A (ja) データ転送システム、データ転送方法、データ送信装置およびデータ受信装置
JP2007074701A (ja) 情報安全の暗号方法、情報安全の復号方法及びパソコンにより読取可能な記録メディア
JP2020126440A (ja) 認証システム
JP2022119465A (ja) 情報処理装置及び情報処理方法