説明

記憶装置及び方法、並びに、情報処理装置及び方法

【課題】情報の漏洩を防止する。
【解決手段】USBストレージメディア2においては、スペシャルエリア81は、データの暗号化に用いられる暗号鍵と、認証に用いられる認証情報とを記憶し、セキュアエリア82は、PC1によって暗号鍵を用いて暗号化されたデータを記憶する。CPU72は、ユーザによる入力に基づいてPC1によって生成されたパスワードハッシュと、スペシャルエリア81に記憶されているパスワードハッシュとに基づいてユーザの認証を行い、認証によりユーザの正当性が確認されたとき、スペシャルエリア81に記憶されている暗号鍵をPC1に送信する。フラッシュメモリコントローラ75は、PC1が暗号鍵を用いて暗号化した暗号化データの、セキュアエリア82に対する読み書きを制御する。本発明は、例えば、USBストレージメディア等の記憶装置に適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶装置及び方法、並びに、情報処理装置及び方法に関し、特に、例えば、USB(Universal Serial Bus)ストレージメディア等の記憶装置に記憶される情報の漏洩を防止することができるようにする記憶装置及び方法、並びに、情報処理装置及び方法に関する。
【背景技術】
【0002】
USBインターフェースを持ったリムーバブルメモリであるUSBストレージメディアは、安価で使い勝手が良いため、急激に普及してきている。
【0003】
ところで、管理データを格納可能でユーザが書換え不能な管理領域と、ユーザによる記録及び再生が可能なデータ領域と、セキュリティデータを格納可能なセキュリティ領域とを有し、セキュリティデータは、リムーバブルメモリへのアクセスを制御するためにリムーバブルメモリのリムーバブルメモリドライブのファームウェアにより設定及び管理されるリムーバブルメモリがある(例えば、特許文献1参照)。
【0004】
【特許文献1】特開2001−35092号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
従来のUSBストレージメディアにおいては、セキュリティに対する配慮が十分でないために、USBストレージメディアに記憶される情報が漏洩する可能性が高かった。
【0006】
例えば、上述の特許文献1に記載されている方法をUSBストレージメディアに採用した場合、USBストレージメディアに記憶される情報は暗号化されないので、USBストレージメディアに記憶される情報が漏洩する可能性があった。
【0007】
本発明は、このような状況に鑑みてなされたものであり、USBストレージメディア等の記憶装置に記憶される情報の漏洩を防止することができるようにするものである。
【課題を解決するための手段】
【0008】
本発明の第1の側面の記憶装置は、情報処理装置に対して着脱可能な記憶装置において、情報の暗号化に用いられる暗号鍵と、認証に用いられる認証情報とを記憶する第1の領域と、前記情報処理装置によって前記暗号鍵を用いて暗号化された情報を記憶する第2の領域とを有する記憶手段と、ユーザによる入力に基づいて前記情報処理装置によって生成された認証情報と、前記第1の領域に記憶されている認証情報とに基づいて前記ユーザの認証を行う認証手段と、前記認証手段による認証により前記ユーザの正当性が確認されたとき、前記第1の領域に記憶されている前記暗号鍵を前記情報処理装置に送信する送信手段と、前記情報処理装置が前記暗号鍵を用いて暗号化した情報の、前記第2の領域に対する読み書きを制御する制御手段とを備える。
【0009】
本発明の第1の側面の記憶方法は、情報処理装置に対して着脱可能な記憶装置の記憶方法であって、情報の暗号化に用いられる暗号鍵と、認証に用いられる認証情報とを記憶する第1の領域と、前記情報処理装置によって前記暗号鍵を用いて暗号化された情報を記憶する第2の領域とを有する記憶手段が設けられた記憶装置の記憶方法において、ユーザによる入力に基づいて前記情報処理装置によって生成された認証情報と、前記第1の領域に記憶されている認証情報とに基づいて前記ユーザの認証を行い、前記ユーザの認証において、前記ユーザの正当性が確認されたとき、前記第1の領域に記憶されている前記暗号鍵を前記情報処理装置に送信し、前記情報処理装置が前記暗号鍵を用いて暗号化した情報の、前記第2の領域に対する読み書きを制御するステップを含む。
【0010】
本発明の第2の側面の情報処理装置は、着脱可能な記憶装置が装着される情報処理装置において、ユーザによる入力に基づいて、認識に用いられる認証情報を生成する認証情報生成手段と、前記ユーザによる入力に基づいて生成された認証情報と、前記記憶装置に記憶されている認証情報とに基づいて、前記記憶装置によって行われる前記ユーザの認証において、前記ユーザの正当性が確認されたときに、前記記憶装置から送信されてくる、情報の暗号化に用いられる暗号鍵を用いて、前記記憶装置に記憶される情報の暗号化、または前記記憶装置からの暗号化された情報の復号を行う暗号処理手段とを備える。
【0011】
本発明の第2の側面の情報処理方法は、着脱可能な記憶装置が装着される情報処理装置の情報処理方法において、ユーザによる入力に基づいて、認識に用いられる認証情報を生成し、前記ユーザによる入力に基づいて生成された認証情報と、前記記憶装置に記憶されている認証情報とに基づいて、前記記憶装置によって行われる前記ユーザの認証において、前記ユーザの正当性が確認されたときに、前記記憶装置から送信されてくる、情報の暗号化に用いられる暗号鍵を用いて、前記記憶装置に記憶される情報の暗号化、または前記記憶装置からの暗号化された情報の復号を行うステップを含む。
【0012】
本発明の第1の側面においては、記憶手段が、情報の暗号化に用いられる暗号鍵と、認証に用いられる認証情報とを記憶する第1の領域と、前記情報処理装置によって前記暗号鍵を用いて暗号化された情報を記憶する第2の領域とを有している。そして、ユーザによる入力に基づいて前記情報処理装置によって生成された認証情報と、前記第1の領域に記憶されている認証情報とに基づいて前記ユーザの認証が行われ、前記ユーザの認証において、前記ユーザの正当性が確認されたとき、前記第1の領域に記憶されている前記暗号鍵が前記情報処理装置に送信され、前記情報処理装置が前記暗号鍵を用いて暗号化した情報の、前記第2の領域に対する読み書きが制御される。
【0013】
本発明の第2の側面においては、ユーザによる入力に基づいて、認識に用いられる認証情報が生成され、前記ユーザによる入力に基づいて生成された認証情報と、前記記憶装置に記憶されている認証情報とに基づいて、前記記憶装置によって行われる前記ユーザの認証において、前記ユーザの正当性が確認されたときに、前記記憶装置から送信されてくる、情報の暗号化に用いられる暗号鍵を用いて、前記記憶装置に記憶される情報の暗号化、または前記記憶装置からの暗号化された情報の復号が行われる。
【発明の効果】
【0014】
本発明の第1及び第2の側面によれば、情報の漏洩を防止することができる。
【発明を実施するための最良の形態】
【0015】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。したがって、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【0016】
本発明の第1の側面の記憶装置は、
情報処理装置(例えば、図1のPC1)に対して着脱可能な記憶装置(例えば、図1のUSBストレージメディア2)において、
情報の暗号化に用いられる暗号鍵と、認証に用いられる認証情報とを記憶する第1の領域(例えば、図4のスペシャルエリア81)と、前記情報処理装置によって前記暗号鍵を用いて暗号化された情報を記憶する第2の領域(例えば、図4のセキュアエリア82)とを有する記憶手段(例えば、図4のフラッシュメモリ62)と、
ユーザによる入力に基づいて前記情報処理装置によって生成された認証情報と、前記第1の領域に記憶されている認証情報とに基づいて前記ユーザの認証を行う認証手段(例えば、図11のステップS102や図12のステップS132の処理を行う図4のCPU72)と、
前記認証手段による認証により前記ユーザの正当性が確認されたとき、前記第1の領域に記憶されている前記暗号鍵を前記情報処理装置に送信する送信手段(例えば、図11のステップS104や図12のステップS134の処理を行う図4のCPU72)と、
前記情報処理装置が前記暗号鍵を用いて暗号化した情報の、前記第2の領域に対する読み書きを制御する制御手段(例えば、図4のフラッシュメモリコントローラ75)と
を備える。
【0017】
本発明の第1の側面の記憶方法は、
情報処理装置に対して着脱可能な記憶装置の記憶方法であって、
情報の暗号化に用いられる暗号鍵と、認証に用いられる認証情報とを記憶する第1の領域と、前記情報処理装置によって前記暗号鍵を用いて暗号化された情報を記憶する第2の領域とを有する記憶手段が設けられた記憶装置の記憶方法において、
ユーザによる入力に基づいて前記情報処理装置によって生成された認証情報と、前記第1の領域に記憶されている認証情報とに基づいて前記ユーザの認証を行い(例えば、図11のステップS102または図12のステップS132)、
前記ユーザの認証において、前記ユーザの正当性が確認されたとき、前記第1の領域に記憶されている前記暗号鍵を前記情報処理装置に送信し(例えば、図11のステップS104または図12のステップS134)、
前記情報処理装置が前記暗号鍵を用いて暗号化した情報の、前記第2の領域に対する読み書きを制御する(例えば、図11のステップS106または図12のステップS135)
ステップを含む。
【0018】
本発明の第2の側面の情報処理装置は、
着脱可能な記憶装置が装着される情報処理装置において、
ユーザによる入力に基づいて、認識に用いられる認証情報を生成する認証情報生成手段と(例えば、図3のハッシュ値演算部42)、
前記ユーザによる入力に基づいて生成された認証情報と、前記記憶装置に記憶されている認証情報とに基づいて、前記記憶装置によって行われる前記ユーザの認証において、前記ユーザの正当性が確認されたときに、前記記憶装置から送信されてくる、情報の暗号化に用いられる暗号鍵を用いて、前記記憶装置に記憶される情報の暗号化、または前記記憶装置からの暗号化された情報の復号を行う暗号処理手段(例えば、図3の暗号処理部44)と
を備える。
【0019】
本発明の第2の側面の情報処理方法は、
着脱可能な記憶装置が装着される情報処理装置の情報処理方法において、
ユーザによる入力に基づいて、認識に用いられる認証情報を生成し(例えば、図11のステップS92または図12のステップS122)、
前記ユーザによる入力に基づいて生成された認証情報と、前記記憶装置に記憶されている認証情報とに基づいて、前記記憶装置によって行われる前記ユーザの認証において、前記ユーザの正当性が確認されたときに、前記記憶装置から送信されてくる、情報の暗号化に用いられる暗号鍵を用いて、前記記憶装置に記憶される情報の暗号化、または前記記憶装置からの暗号化された情報の復号を行う(例えば、図11のステップS95または図12のステップS126)
ステップを含む。
【0020】
以下、図面を参照して本発明を適用した実施の形態について説明する。
【0021】
図1は、本発明を適用したPC(Personal Computer)及びUSBストレージメディアの一実施の形態の概要を示している。
【0022】
図1において、PC1にはUSBストレージメディア2が着脱可能となっている。
【0023】
すなわち、PC1は、USBコネクタ1Aを有しており、USBストレージメディア2は、USBコネクタ2Aを有している。USBコネクタ2Aを、USBコネクタ1Aに挿入することで、PC1には、USBストレージメディア2が装着される。
【0024】
USBストレージメディア2が装着されたPC1は、ユーザにパスワードの入力を促し、ユーザによるパスワードの入力があると、ユーザによって入力されたパスワードを受付ける。さらに、PC1は、ユーザによって入力されたパスワードのハッシュ値(以下、適宜、パスワードハッシュという)を生成し、USBストレージメディア2に送信する。
【0025】
USBストレージメディア2は、内部に、あらかじめ登録されたパスワードハッシュを記憶しており、PC1から送信されてくるパスワードハッシュと、内部のパスワードハッシュである内部パスワードハッシュとに基づいて、ユーザの認証を行う。そして、USBストレージメディア2は、認証によって、ユーザの正当性が確認されると、内部にあらかじめ記憶している暗号鍵をPC1に送信する。
【0026】
PC1は、USBストレージメディア2から送信されてくる暗号鍵を受信し、その暗号鍵を用いて、データを暗号化する。そして、PC1は、暗号化後のデータである暗号化データを、USBストレージメディア2に送信して記憶させる。また、PC1は、USBストレージメディア2から暗号化データを読み出し、USBストレージメディア2からの暗号鍵を用いて、復号する。
【0027】
図2は、PC1の内部構成例を示すブロック図である。
【0028】
図2において、PC1は、USBコネクタ1A,CPU(Central Processor Unit)11,ROM(Read Only Memory)12,RAM(Random Access Memory)13、バス14、入出力インターフェース15、入力部16、出力部17、記憶部18、通信部19、ドライブ20、リムーバブルメモリ21、及びUSB-I/F(Interface)22から構成されている。
【0029】
CPU11は、ROM12、または記憶部18に記憶されているプログラムにしたがって各種の処理を実行する。また、CPU11は、入力部16から入力される指令に対応して各種の処理を実行し、その処理の結果を出力部17等に出力する。
【0030】
RAM13は、CPU11が実行するプログラムや必要なデータなどを適宜記憶する。
【0031】
バス14は、CPU11,ROM12,RAM13、及び入出力インターフェース15を相互に接続している。
【0032】
入出力インターフェース15は、入力部16、出力部17、記憶部18、通信部19、ドライブ20、及びUSB-I/F22を、バス14と接続するインターフェースとして機能する。
【0033】
入力部16は、キーボード、マウス、マイクロホンなどで構成される。
【0034】
出力部17は、ディスプレイ、スピーカ等で構成される。
【0035】
記憶部18は、例えばハードディスクからなり、CPU11が実行するプログラムや各種のデータを記憶する。
【0036】
ここで、図2において、記憶部18には、少なくとも、例えば、Windows(登録商標)等のOS(Operationg System)と、そのOS上で動作し、USBストレージメディア2に対して専用のコマンドを出力する専用のアプリケーションプログラムとがインストールされている。なお、専用のアプリケーションプログラムは、例えば、OSの起動時に実行され、常駐する。
【0037】
通信部19は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【0038】
ドライブ20は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメモリ21が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する(読み出す)。ドライブ20は、リムーバブルメモリ21から取得したプログラムやデータを、必要に応じて記憶部18に転送し、記憶させる。
【0039】
USB I/F22は、USBコネクタ1Aに装着されるUSBストレージメディア2等との間で、データやコマンド等をやりとりするUSB通信のI/Fとして機能する。
【0040】
なお、PC1に実行させるプログラムは、PC1に内蔵されている記憶媒体としてのROM12や、記憶部18にあらかじめ記録しておくことができる。
【0041】
また、プログラムは、USBストレージメディア2、あるいは、USBストレージメディア2以外の、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク、DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブルメディア21に、一時的あるいは永続的に記録し、PC1にインストールすることができる。
【0042】
PC1に実行させるプログラムは、USBストレージメディア2や、その他のリムーバブルメディア21からPC1にインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、PC1に無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、PC1に有線で転送し、PC1では、そのようにして転送されてくるプログラムを、通信部19で受信し、内蔵する記憶部18にインストールすることができる。
【0043】
図3は、図1のPC1の機能的構成例を示すブロック図である。
【0044】
図3において、PC1には、暗号鍵生成部41、ハッシュ値演算部42、通信制御部43、及び暗号処理部44が設けられている。なお、図2のCPU11が、OSを実行し、さらに、そのOS上で専用のアプリケーションプログラムを実行することにより、暗号鍵生成部41、ハッシュ値演算部42、通信制御部43、及び暗号処理部44として機能する。
【0045】
暗号鍵生成部41は、乱数を発生し、その乱数に基づいて暗号鍵を生成して、通信制御部43に供給する。
【0046】
ハッシュ値演算部42には、ユーザが入力部16を操作することによって入力したパスワードが供給される。
【0047】
ハッシュ値演算部42は、ユーザによって入力されたパスワードのハッシュ値であるパスワードハッシュを求め、通信制御部43に供給する。
【0048】
通信制御部43は、例えば、暗号鍵生成部41から供給される暗号鍵や、ハッシュ値演算部42から供給されるパスワードハッシュ、暗号処理部44から供給される暗号化データ等をUSBストレージメディア2に送信する。また、通信制御部43は、例えば、USBストレージメディア2から送信されてくる暗号化データや、暗号鍵等を受信し、暗号処理部44に供給する。
【0049】
暗号処理部44は、暗号化部44A及び復号部44Bから構成され、データの暗号化と復号とを行う。
【0050】
すなわち、暗号化部44Aは、通信制御部43から供給される暗号鍵を用いて、RAM13や記憶部18に記憶されたデータ等の暗号化を行い、その結果得られる暗号化データを、通信制御部43に供給する。
【0051】
復号部44Bは、通信制御部43から供給される暗号鍵を用いて、同じく、通信制御部43から供給される暗号化データの復号を行う。
【0052】
図4は、図1のUSBストレージメディア2の内部構成例を示すブロック図である。
【0053】
図4において、USBストレージメディア2は、USBストレージコントローラ61、フラッシュメモリ62、及びLED(Light Emitting Diode)63から構成される。
【0054】
USBストレージコントローラ61は、PC1の制御に基づいて、フラッシュメモリ62へのデータの読み書きを制御する。即ち、USBストレージコントローラ61は、PC1の制御に基づいて、PC1から送信されてくるデータをフラッシュメモリ62の所定のエリアに書き込み、また、フラッシュメモリ62の所定のエリアに記憶されたデータを読み出し、PC1に送信する。
【0055】
即ち、USBストレージコントローラ61は、USB-I/F71,CPU72,ROM73,RAM74、フラッシュメモリコントローラ75、及びLEDコントローラ76がバスに接続されて構成されている。
【0056】
USBストレージコントローラ61において、USB-I/F71は、図2のUSB-I/F22と同様に、USB通信のI/Fとして機能する。すなわち、USB-I/F71は、USBストレージメディア2がPC1に装着されたときに、PC1に接続され、PC1から送信されてくるデータを受信して、USBストレージコントローラ61内のバス上に出力し、また、USBストレージコントローラ61内のバス上のデータをPC1に送信する。
【0057】
CPU72は、ROM73またはフラッシュメモリ62に記憶されたプログラムを実行することにより、USBストレージコントローラ61の各部を制御する。
【0058】
また、CPU72は、PC1から、USB-I/F71を介して送信されてくるパスワードハッシュに基づいて、ユーザの認証を行う。
【0059】
さらに、CPU72は、ユーザの認証が成功し、ユーザの正当性が確認された場合、フラッシュメモリ62の、後述するスペシャルエリア81に記憶されている暗号鍵をフラッシュメモリコントローラ75を介して取得し、USB-I/F71を介してPC1に送信する等の処理を行う。
【0060】
ROM73は、CPU72が実行する各種のプログラムを記憶している。
【0061】
RAM74は、CPU72のワーキング用のメモリであり、CPU72の処理の途中で出力されるデータを一時的に記憶し、また、一時記憶しているデータをCPU72に供給する。
【0062】
フラッシュメモリコントローラ75は、CPU72の制御に基づいて、フラッシュメモリ62に対するデータの読み書きを制御する。
【0063】
すなわち、フラッシュメモリコントローラ75は、バス上のデータを、フラッシュメモリ62に供給して記憶させる。また、フラッシュメモリコントローラ75は、フラッシュメモリ62に記憶されているデータを読み出し、バス上に出力する。
【0064】
LEDコントローラ76は、PC1等がUSBストレージメディア2にアクセスすると、例えば、LED63が点滅するように、LED63を制御する。
【0065】
フラッシュメモリ62は、不揮発性のメモリで、USBストレージコントローラ61のフラッシュメモリコントローラ75の制御に基づいて、フラッシュメモリコントローラ75から供給されるデータの読み書きを行う。
【0066】
ここで、フラッシュメモリ62は、スペシャルエリア81、セキュアエリア82、及びオープンエリア83の3つに区分されている。
【0067】
スペシャルエリア81は、データの暗号化に用いられる暗号鍵と、認証に用いられる認証情報としてのパスワードハッシュ(内部パスワードハッシュ)とを記憶する。
【0068】
セキュアエリア82は、PC1がスペシャルエリア81に記憶されている暗号鍵を用いて暗号化した暗号化データを記憶する。
【0069】
オープンエリア83は、スペシャルエリア81に記憶される暗号鍵及び内部パスワードハッシュ、並びに、スペシャルエリア81に記憶されている暗号鍵を用いて暗号化された暗号化データ以外のデータを記憶する。
【0070】
LED63は、そのカソードがUSBストレージコントローラ61のLEDコントローラ76に接続され、そのアノードが電源(の+端子)に接続されており、LEDコントローラ76の制御に基づいて点滅等する。
【0071】
次に、図5を参照して、図4のフラッシュメモリ62のスペシャルエリア81、セキュアエリア82、及びオープンエリア83についてさらに詳しく説明する。
【0072】
図5は、フラッシュメモリ62の記憶領域のスペシャルエリア81、セキュアエリア82、及びオープンエリア83を示す図である。
【0073】
スペシャルエリア81は、PC1のOS上で動作する専用のアプリケーションプログラムが発する専用のコマンドによってのみアクセス(データの読み書き)が可能な記憶領域であり、上述したように、暗号鍵及び内部パスワードハッシュを記憶する。
【0074】
ここで、専用のコマンドとしては、例えば、SCSI(Small Computer System Interface)プロトコルのVender Unique Commandを採用することができる。
【0075】
セキュアエリア82は、スペシャルエリア81に記憶されている暗号鍵を用いてPC1によって暗号化された暗号化データを、PC1のOSからのアクセスが可能となるように、例えば、MS-DOS(R)フォーマットで記憶する。
【0076】
ここで、セキュアエリア82には、スペシャルエリア81と異なり、OSからアクセスすることができる(OSのコマンドによってデータの読み書きを行うことができる)。ただし、専用のアプリケーションプログラムが実行されているPC1は、スペシャルエリア81から暗号鍵を読み出し、その暗号鍵を用いて、セキュアエリア82から読み出した暗号化データを復号することができるが、専用のアプリケーションプログラムが実行されていないPCは、スペシャルエリア81へのアクセスが不可能であるため、暗号鍵を読み出すことができず、暗号化データを復号することができない。したがって、セキュアエリア82には、専用のアプリケーションプログラムが実行されているPC以外のPCからのアクセスが実質的に不可能となるように、暗号化データが記憶されることになる。
【0077】
オープンエリア83には、スペシャルエリア81に記憶された暗号鍵で暗号化されていないデータが、OSからのアクセスが可能となるように、例えば、MS-DOS(R)フォーマットで記憶される。
【0078】
ここで、オープンエリア83には、セキュアエリア82と同様に、OSからアクセスすることができる。また、オープンエリア83には、スペシャルエリア81に記憶された暗号鍵で暗号化されていないデータが記憶されるので、セッキュアエリア82とは異なり、専用のアプリケーションプログラムなしで、自由にアクセスすることができる。
【0079】
図6は、スペシャルエリア81に記憶される内部パスワードハッシュと暗号鍵の例を示している。
【0080】
スペシャルエリア81には、内部パスワードハッシュとして、例えば、4バイトのデータが記憶され、暗号鍵として、例えば、16バイトのデータが記憶される。
【0081】
図7は、PC1の専用のアプリケーションプログラムからUSBストレージメディア2に送信される制御データのフォーマットを示している。
【0082】
制御データは、その先頭から、4バイトの現パスワードハッシュ部、4バイトの新パスワードハッシュ部、及び16バイトの登録暗号鍵部が配置されて構成される。
【0083】
現パスワードハッシュ部及び新パスワードハッシュ部には、ハッシュ値演算部42(図3)が生成したパスワードハッシュが配置される。登録暗号鍵部には、暗号鍵生成部41が生成した暗号鍵が配置される。
【0084】
次に、図8乃至図12のフローチャートを参照して、PC1(図3)とUSBストレージメディア2(図4)の処理について説明する。
【0085】
例えば、ユーザが入力部16(図2)を操作することにより、専用のアプリケーションプログラムに対して、スペシャルエリア81に、内部パスワードハッシュと暗号鍵を最初に登録する(初期化する)処理である初期化処理を行うことを指令すると、PC1とUSBストレージメディア2は、初期化処理を行う。
【0086】
すなわち、図8は、PC1とUSBストレージメディア2による初期化処理を説明するフローチャートである。
【0087】
図8左は、PC1による初期化処理を説明するフローチャートであり、図8右は、USBストレージメディア2による初期化処理を説明するフローチャートである。
【0088】
まず、図8左を参照して、PC1による初期化処理について説明する。
【0089】
USBストレージメディア2がPC1に装着された状態で、ユーザが、初期化処理を行うように、入力部16を操作すると、専用のアプリケーションプログラムは、ユーザに、パスワードの入力を促すメッセージを、出力部17(図2)に表示させる。
【0090】
なお、USBストレージメディア2には、まだ内部パスワードハッシュが登録されていないものとする。
【0091】
ユーザがメッセージに従い、入力部16を操作することにより、パスワードを入力すると、専用のアプリケーションプログラムは、ステップS1において、ユーザが入力部16を操作することにより入力したパスワードを受付け、ステップS2に進む。
【0092】
なお、ユーザがパスワードとして入力する情報としては、数字、文字、記号の他、図3のハッシュ値演算部42でハッシュ値を求めることができる情報、すなわち、例えば、指紋読み取り装置で読み取った指紋のデータや、ユーザが指定するファイルに格納されたデータ等を採用することが可能である。
【0093】
ステップS2において、ハッシュ値演算部42は、ステップS1で受付けられたパスワードのハッシュ値であるパスワードハッシュを求め、通信制御部43に供給して、ステップS3に進む。
【0094】
ステップS3において、暗号鍵生成部41は、乱数を発生し、その乱数に基づいて暗号鍵を生成する。そして、暗号鍵生成部41は、その暗号鍵を、通信制御部43に供給して、ステップS4に進む。
【0095】
ステップS4において、通信制御部43は、図7に示した制御データの新パスワードハッシュ部に、ハッシュ値演算部42から供給されたパスワードハッシュを配置するとともに、登録暗号鍵部に、暗号鍵生成部41から供給された暗号鍵を配置することにより、制御データを構成し、USBストレージメディア2に送信して、PC1の初期化処理を終了する。なお、ステップS4において、制御データの現パスワードハッシュ部には、ダミーのデータが配置される。
【0096】
次に、図8右を参照して、USBストレージメディア2による初期化処理について説明する。
【0097】
USBストレージメディア2のCPU72(図4)は、PC1から制御データが送信されてくると、ステップS11において、PC1からの制御データを、USB-I/F71を介して受信する。
【0098】
ここで、いまの場合、上述したように、フラッシュメモリ62のスペシャルエリア81には、内部パスワードハッシュが記憶されていない。このように、フラッシュメモリ62のスペシャルエリア81に、内部パスワードハッシュが記憶されていない場合、CPU72は、PC1からの制御データのうちの、現パスワードハッシュ部を無視し、新パスワードハッシュ部のパスワードハッシュと登録暗号鍵部の暗号鍵をフラッシュメモリコントローラ75に供給して、ステップS12に進む。
【0099】
ステップS12において、フラッシュメモリコントローラ75は、フラッシュメモリ62のスペシャルエリア81に対して、CPU72から供給されたパスワードハッシュを内部パスワードハッシュとして記憶させるとともに、CPU72から供給された暗号鍵を記憶させ、USBストレージメディア2の初期化処理を終了する。
【0100】
以上のように、スペシャルエリア81に、内部パスワードハッシュと暗号鍵が記憶された後に、ユーザが、内部パスワードハッシュを変更するように、入力部16を操作すると、PC1とUSBストレージメディア2は、スペシャルエリア81に登録された内部パスワードハッシュを変更する処理であるパスワード変更処理を行う。
【0101】
そこで、図9のフローチャートを参照して、PC1とUSBストレージメディア2によるパスワード変更処理について説明する。
【0102】
図9左は、PC1によるパスワード変更処理を説明するフローチャートであり、図9右は、USBストレージメディア2によるパスワード変更処理を説明するフローチャートである。
【0103】
まず、図9左を参照して、PC1によるパスワード変更処理について説明する。
【0104】
USBストレージメディア2がPC1に装着された状態で、ユーザが、パスワード変更処理を行うように、入力部16を操作すると、専用のアプリケーションプログラムは、ユーザに、現在のパスワード(変更前のパスワード)である現パスワードと新しいパスワード(変更後のパスワード)である新パスワードの入力を促すメッセージを、出力部17(図2)に表示させる。
【0105】
ユーザがメッセージに従い、入力部16を操作することにより、パスワードを入力すると、専用のアプリケーションプログラムは、ステップS31において、ユーザが入力部16を操作することにより入力した現パスワードと新パスワードを受付け、ステップS32に進む。
【0106】
ステップS32において、ハッシュ値演算部42(図3)は、ステップS31で受付けられた現パスワードのハッシュ値である現パスワードハッシュと、新パスワードのハッシュ値である新パスワードハッシュをそれぞれ求め、通信制御部43に供給して、ステップS33に進む。
【0107】
ステップS33において、通信制御部43は、図7に示した制御データの現パスワードハッシュ部に、ハッシュ値演算部42から供給された現パスワードハッシュを配置するとともに、新パスワードハッシュ部に、ハッシュ値演算部42から供給された新パスワードハッシュを配置することにより、制御データを構成し、USBストレージメディア2に送信して、PC1のパスワード変更処理を終了する。なお、ステップS33において、制御データの登録暗号鍵部には、ダミーのデータが配置される。
【0108】
次に、図9右を参照して、USBストレージメディア2によるパスワード変更処理について説明する。
【0109】
USBストレージメディア2のCPU72(図4)は、PC1から制御データが送信されてくると、ステップS41において、PC1からの制御データを、USB-I/F71を介して受信し、ステップS42に進む。
【0110】
ステップS42において、CPU72は、フラッシュメモリ62のスペシャルエリア81に記憶されている内部パスワードハッシュをフラッシュメモリコントローラ75を介して取得する(読み出す)。そして、CPU72は、スペシャルエリア81から読み出した内部パスワードハッシュと、ステップS41で受信された制御データの現パスワードハッシュ部のパスワードハッシュとを照合し、ステップS43に進む。
【0111】
ステップS43において、CPU72は、内部パスワードハッシュと現パスワードハッシュ部のパスワードハッシュとが一致するかどうかを判定する。ステップS43において、内部パスワードハッシュと現パスワードハッシュ部のパスワードハッシュとが一致しないと判定された場合、つまり、ユーザの正当性が確認されなかった場合、USBストレージメディア2のパスワード変更処理を終了する。
【0112】
この場合、CPU72は、例えば、エラーメッセージを、PC1に送信し、PC1では、CPU72からのエラーメッセージが、出力部17(図2)に表示される。
【0113】
一方、ステップS43において、内部パスワードハッシュと現パスワードハッシュ部のパスワードハッシュとが一致すると判定された場合、つまり、ユーザの正当性が確認された場合、CPU72は、制御データの新パスワードハッシュ部に配置されている情報が、後述する変更指示情報及び鍵要求情報のうちのいずれでもない、新パスワードのパスワードハッシュであることを確認して、制御データの新パスワードハッシュ部のパスワードハッシュをフラッシュメモリコントローラ75に供給し、ステップS44に進む。
【0114】
すなわち、専用のアプリケーションは、USBストレージメディア2のスペシャルエリア81に記憶された暗号鍵を変更する場合は、新パスワードハッシュ部に、後述する変更指示情報を配置した制御データを構成し、USBストレージメディア2に対する暗号データの読み書きを行う場合には、新パスワードハッシュ部に、後述する鍵要求情報を配置した制御データを構成する。
【0115】
CPU72は、制御データの新パスワードハッシュ部に、変更指示情報でもなく、鍵要求情報でもない情報が配置されている場合、その情報が、新パスワードのパスワードハッシュであると認識し、その新パスワードのパスワードハッシュを、フラッシュメモリコントローラ75に供給する。
【0116】
ステップS44において、フラッシュメモリコントローラ75は、CPU72から供給された新パスワードハッシュ部のパスワードハッシュを、スペシャルエリア81に記憶された内部パスワードハッシュに上書し、USBストレージメディア2のパスワード変更処理を終了する。
【0117】
これにより、USBストレージメディア2に記憶されている内部パスワードハッシュが変更される。
【0118】
次に、USBストレージメディア2のスペシャルエリア81に記憶された暗号鍵は、ユーザの指示にしたがって変更することができる。
【0119】
そこで、図10のフローチャートを参照して、PC1とUSBストレージメディア2による、暗号鍵を変更する暗号鍵変更処理について説明する。
【0120】
図10左は、PC1による暗号鍵変更処理を説明するフローチャートであり、図10右は、USBストレージメディア2による暗号鍵変更処理を説明するフローチャートである。
【0121】
まず、図10左を参照して、PC1による暗号鍵変更処理について説明する。
【0122】
USBストレージメディア2がPC1に装着された状態で、ユーザが、暗号鍵を変更するように、入力部16を操作すると、専用のアプリケーションプログラムは、ユーザに、現在のパスワードである現パスワードの入力を促すメッセージを、出力部17に表示させる。
【0123】
ユーザがメッセージに従い、入力部16を操作することにより、現在のパスワードである現パスワードを入力すると、専用のアプリケーションプログラムは、ステップS61において、ユーザによって入力された現パスワードを受付け、ステップS62に進む。
【0124】
ステップS62において、ハッシュ値演算部42は、ステップS61で受付けられた現パスワードのハッシュ値である現パスワードハッシュを求め、通信制御部43に供給して、ステップS63に進む。
【0125】
ステップS63において、暗号鍵生成部41は、乱数を発生し、その乱数に基づいて、新たな暗号鍵を生成する。そして、暗号鍵生成部41は、その新たな暗号鍵を、通信制御部43に供給して、ステップS64に進む。
【0126】
ステップS64において、通信制御部43は、図7に示した制御データの現パスワードハッシュ部に、ハッシュ値演算部42から供給された現パスワードハッシュを配置するとともに、登録暗号鍵部に、暗号鍵生成部41から供給された新たな暗号鍵を配置することにより、制御データを構成し、USBストレージメディア2に送信して、PC1の暗号鍵変更処理を終了する。なお、ステップS64において、制御データの新パスワードハッシュ部には、暗号鍵変更処理を指示する変更指示情報としての、例えば、16進数の00(16)、またはFF(16)のいずれかが配置される。
【0127】
次に、図10右を参照して、USBストレージメディア2による暗号鍵変更処理について説明する。
【0128】
USBストレージメディア2のCPU72(図4)は、PC1から制御データが送信されてくると、ステップS71において、PC1からの制御データを、USB-I/F71を介して受信し、ステップS72に進む。
【0129】
ステップS72において、CPU72は、フラッシュメモリ62のスペシャルエリア81に記憶されている内部パスワードハッシュをフラッシュメモリコントローラを介して取得する(読み出す)。そして、CPU72は、スペシャルエリア81から読み出した内部パスワードハッシュと、ステップS71で受信された制御データの現パスワードハッシュ部のパスワードハッシュとを照合し、ステップS73に進む。
【0130】
ステップS73において、CPU72は、内部パスワードハッシュと現パスワードハッシュ部のパスワードハッシュとが一致するかどうかを判定する。ステップS73において、内部パスワードハッシュと現パスワードハッシュ部のパスワードハッシュとが一致しないと判定された場合、つまり、ユーザの正当性が確認されなかった場合、USBストレージメディア2の暗号鍵変更処理を終了する。
【0131】
この場合、CPU72は、例えば、エラーメッセージを、PC1に送信し、PC1では、CPU72からのエラーメッセージが、出力部17(図2)に表示される。
【0132】
一方、ステップS73において、内部パスワードハッシュと現パスワードハッシュ部のパスワードハッシュとが一致すると判定された場合、つまり、ユーザの正当性が確認された場合、CPU72は、制御データの登録暗号鍵部の新しい暗号鍵を、フラッシュメモリコントローラ75に供給し、ステップS74に進む。
【0133】
すなわち、いまの場合、PC1からの制御データの新パスワードハッシュ部には、変更指示情報としての00(16)、またはFF(16)が配置されている。CPU72は、制御データの新パスワードハッシュ部に、変更指示情報が配置されている場合、スペシャルエリア81に記憶されている暗号鍵を変更するために、制御データの登録暗号鍵部の新しい暗号鍵を、フラッシュメモリコントローラ75に供給する。
【0134】
ステップS74において、フラッシュメモリコントローラ75は、CPU72から供給された登録暗号鍵部の新しい暗号鍵を、スペシャルエリア81に記憶された暗号鍵に上書し、USBストレージメディア2の暗号鍵変更処理を終了する。
【0135】
これにより、USBストレージメディア2に記憶されている暗号鍵が変更される。
【0136】
次に、図11のフローチャートを参照して、PC1とUSBストレージメディア2がセキュアエリア82に暗号化データを書き込む処理であるデータ書き込み処理について説明する。
【0137】
図11左は、PC1によるデータ書き込み処理を説明するフローチャートであり、図11右は、USBストレージメディア2によるデータ書き込み処理を説明するフローチャートである。
【0138】
まず、図11左を参照して、PC1によるデータ書き込み処理について説明する。
【0139】
データ書き込み処理は、例えば、USBストレージメディア2がPC1に装着された状態で、ユーザが、入力部16を操作することによって、セキュアエリア82に対するデータの書き込みを指示すると開始される。
【0140】
すなわち、専用のアプリケーションプログラムは、ユーザが、入力部16を操作することによって、セキュアエリア82に対するデータの書き込みを指示すると、パスワードの入力を促すメッセージを出力部17に表示させる。
【0141】
ユーザがメッセージに従い、入力部16を操作することにより、現在のパスワードである現パスワードを入力すると、専用のアプリケーションプログラムは、ステップS91において、ユーザによって入力された現パスワードを受付け、ステップS92に進む。
【0142】
ステップS92において、ハッシュ値演算部42は、ステップS91で受付けられた現パスワードのハッシュ値である現パスワードハッシュを求め、通信制御部43に供給して、ステップS93に進む。
【0143】
ステップS93において、通信制御部43は、図7に示した制御データの現パスワードハッシュ部に、ハッシュ値演算部42から供給された現パスワードハッシュを配置するとともに、新パスワードハッシュ部に、例えば、現パスワードハッシュと同一のパスワードハッシュを配置することにより、制御データを構成し、USBストレージメディア2に送信する。そして、通信制御部43は、後述するようにして、USBストレージメディア2から暗号鍵が送信されてくるのを待って、ステップS94に進む。
【0144】
ステップS94において、PC1の通信制御部43は、USBストレージメディア2から送信されてくる暗号鍵を受信し、その暗号鍵を、暗号処理部44に供給して、ステップS95に進む。
【0145】
ステップS95において、暗号処理部44の暗号化部44Aは、ステップS94で通信制御部43から供給された暗号鍵を用いて、ユーザによって書き込みが指定されたデータを暗号化し、その暗号化後の暗号化データを、通信制御部43に供給して、ステップS96に進む。
【0146】
ステップS96において、通信制御部43は、ステップS95で暗号化された暗号化データを、USBストレージメディア2に送信して、PC1のデータ書き込み処理を終了する。
【0147】
次に、図11右を参照して、USBストレージメディア2によるデータ書き込み処理について説明する。
【0148】
USBストレージメディア2のCPU72(図4)は、PC1から制御データが送信されてくると、ステップS101において、PC1からの制御データを、USB-I/F71を介して受信し、ステップS102に進む。
【0149】
ステップS102において、CPU72は、フラッシュメモリ62のスペシャルエリア81に記憶されている内部パスワードハッシュをフラッシュメモリコントローラ75を介して取得する(読み出す)。そして、CPU72は、スペシャルエリア81から読み出した内部パスワードハッシュとステップS101で受信された制御データの現パスワードハッシュ部のパスワードハッシュとを照合し、ステップS103に進む。
【0150】
ステップS103において、CPU72は、内部パスワードハッシュと現パスワードハッシュ部のパスワードハッシュとが一致するかどうかを判定する。ステップS103において、内部パスワードハッシュと現パスワードハッシュ部のパスワードハッシュとが一致しないと判定された場合、つまり、ユーザの正当性が確認されなかった場合、USBストレージメディア2のデータ書き込み処理を終了する。
【0151】
この場合、CPU72は、例えば、エラーメッセージを、PC1に送信し、PC1では、CPU72からのエラーメッセージが、出力部17(図2)に表示される。
【0152】
一方、ステップS103において、内部パスワードハッシュと現パスワードハッシュ部のパスワードハッシュとが一致すると判定された場合、つまり、ユーザの正当性が確認された場合、ステップS104に進み、CPU72は、ステップS101で受信された制御データの新パスワードハッシュ部の情報が、現パスワードハッシュ部のパスワードハッシュと同一であると、フラッシュメモリ62のスペシャルエリア81に記憶されている暗号鍵を、フラッシュメモリコントローラ75を介して取得する(読み出す)。
【0153】
すなわち、PC1の専用のアプリケーションプログラムは、USBストレージメディア2に対して暗号鍵を要求する場合、図11左のフローチャートで説明したように、新パスワード部に、現パスワード部のパスワードハッシュと同一の情報を配置した制御データを構成する。専用のアプリケーションプログラムが、暗号鍵を要求する場合に、制御データの新パスワードハッシュ部に配置される、現パスワードハッシュ部のパスワードハッシュと同一の情報を、鍵要求情報ということとすると、CPU72は、制御データの新パスワード部に、現パスワード部のパスワードハッシュと同一の情報である鍵要求情報が配置されている場合、フラッシュメモリ62のスペシャルエリア81から暗号鍵を読み出す。
【0154】
さらに、CPU72は、スペシャルエリア81から読み出した暗号鍵を、USB-I/F71を介して、PC1に送信し、その暗号鍵を用いてPC1によって暗号化された暗号化データがPC1から送信されてくるのを待って、ステップS105に進む。
【0155】
ステップS105において、CPU72は、PC1から送信されてくる暗号化データを受信し、ステップS106に進む。
【0156】
ステップS106において、CPU72は、PC1からの暗号化データを、フラッシュメモリコントローラ75を介して、フラッシュメモリ62のセキュアエリア82に書き込み、USBストレージメディア2のデータ書き込み処理を終了する。
【0157】
これにより、USBストレージメディア2のセキュアエリア82には、スペシャルエリア81に記憶されている暗号鍵を用いてPC1によって暗号化された暗号化データが記憶される。
【0158】
次に、図12のフローチャートを参照して、PC1及びUSBストレージメディア2がセキュアエリア82から暗号化データを読み出す処理であるデータ読み出し処理について説明する。
【0159】
図12左は、PC1によるデータ読み出し処理を説明するフローチャートであり、図12右は、USBストレージメディア2によるデータ読み出し処理を説明するフローチャートである。
【0160】
まず、図12左を参照して、PC1によるデータ読み出し処理について説明する。
【0161】
データ読み出し処理は、例えば、USBストレージメディア2がPC1に装着された状態で、ユーザが、入力部16を操作することによって、セキュアエリア82に対するデータの読み出しを指示すると開始される。
【0162】
すなわち、専用のアプリケーションプログラムは、ユーザが、入力部16を操作することによって、セキュアエリア82に対するデータの読み出しを指示すると、パスワードの入力を促すメッセージを出力部17に表示させる。
【0163】
ユーザがメッセージに従い、入力部16を操作することにより、現在のパスワードである現パスワードを入力すると、専用のアプリケーションプログラムは、ステップS121において、ユーザによって入力された現パスワードを受付け、ステップS122に進む。
【0164】
ステップS122において、ハッシュ値演算部42は、ステップS121で受付けられた現パスワードのハッシュ値である現パスワードハッシュを求め、通信制御部43に供給して、ステップS123に進む。
【0165】
ステップS123において、通信制御部43は、図7に示した制御データの現パスワードハッシュ部に、ハッシュ値演算部42から供給された現パスワードハッシュを配置するとともに、新パスワードハッシュ部に、例えば、現パスワードハッシュと同一のパスワードハッシュ、つまり、鍵要求情報を配置することにより、制御データを構成し、USBストレージメディア2に送信する。そして、通信制御部43は、後述するようにして、USBストレージメディア2から暗号鍵が送信されてくるのを待って、ステップS124に進む。
【0166】
ステップS124において、PC1の通信制御部43は、USBストレージメディア2から送信されてくる暗号鍵を受信し、その暗号鍵を、暗号処理部44に供給する。そして、通信制御部43は、ユーザによって読み出しが指定された暗号化データがUSBストレージメディア2から送信されてくるのを待って、ステップS125に進む。
【0167】
ステップS125において、通信制御部43は、USBストレージメディア2から送信されてくる暗号化データを受信し、その暗号化データを、暗号処理部44に供給し、ステップS126に進む。
【0168】
ステップS126において、暗号処理部44の復号部44Bは、ステップS124で通信制御部43から供給された暗号鍵を用いて、ステップS125で通信制御部43から供給された暗号化データを復号して、PC1のデータ読み出し処理を終了する。
【0169】
これにより、USBストレージメディア2のセキュアエリア82から、暗号化データが読み出され、その暗号化データは、スペシャルエリア81に記憶されている暗号鍵を用いて復号される。
【0170】
次に、図12右を参照して、USBストレージメディア2によるデータ読み出し処理について説明する。
【0171】
USBストレージメディア2のCPU72(図4)は、PC1から制御データが送信されてくると、ステップS131において、PC1からの制御データを、USB-I/F71を介して受信し、ステップS132に進む。
【0172】
ステップS132において、CPU72は、フラッシュメモリ62のスペシャルエリア81に記憶されている内部パスワードハッシュをフラッシュメモリコントローラ75を介して取得する(読み出す)。そして、CPU72は、スペシャルエリア81から読み出した内部パスワードハッシュとステップS131で受信した制御データの現パスワードハッシュ部のパスワードハッシュとを照合し、ステップS133に進む。
【0173】
ステップS133において、CPU72は、内部パスワードハッシュと現パスワードハッシュ部のパスワードハッシュとが一致するかどうかを判定する。ステップS133において、内部パスワードハッシュと現パスワードハッシュのパスワードハッシュとが一致しないと判定された場合、つまり、ユーザの正当性が確認されなかった場合、USBストレージメディア2のデータ読み出し処理を終了する。
【0174】
この場合、CPU72は、例えば、エラーメッセージを、PC1に送信し、PC1では、CPU72からのエラーメッセージが、出力部17(図2)に表示される。
【0175】
一方、ステップS133において、内部パスワードハッシュと現パスワードハッシュ部のパスワードハッシュとが一致すると判定された場合、つまり、ユーザの正当性が確認された場合、ステップS134に進み、CPU72は、ステップS131で受信された制御データの新パスワードハッシュ部の情報が、現パスワードハッシュ部のパスワードハッシュと同一であること、つまり、鍵要求情報であることを確認し、フラッシュメモリ62のスペシャルエリア81に記憶されている暗号鍵を、フラッシュメモリコントローラ75を介して取得する(読み出す)。
【0176】
さらに、CPU72は、スペシャルエリア81から読み出した暗号鍵を、USB-I/F71を介して、PC1に送信し、ステップS135に進む。
【0177】
ステップS135において、CPU72は、ユーザによって読み出しが指定された暗号化データを、フラッシュメモリ55を介して、フラッシュメモリ62のセキュアエリア82から読み出し、ステップS136に進む。
【0178】
ステップS136において、CPU72は、ステップS135でセキュアエリア82から読み出した暗号化データを、USB-I/F71を介して、PC1に送信し、USBストレージメディア2のデータ読み出し処理を終了する。
【0179】
以上のように、USBストレージメディア2に、PC1によって生成された暗号鍵とパスワードハッシュ(内部パスワードハッシュ)を記憶するスペシャルエリア81と、PC1によって暗号鍵を用いて暗号化された暗号化データを記憶するセキュアエリア82とを、少なくとも有するフラッシュメモリ62を設け、ユーザによる入力に基づいてPC1によって生成されたパスワードハッシュと、スペシャルエリア81に記憶されているパスワードハッシュ(内部パスワードハッシュ)とに基づいてユーザの認証を行い、認証によりユーザの正当性が確認されたときに、スペシャルエリア81に記憶されている暗号鍵を、USBストレージメディア2からPC1に送信するようにしたので、ユーザの正当性が確認されない限りセキュアエリア82に記憶された暗号化データを復号することができないため、セキュアエリア82に記憶された情報の漏洩を防止することができる。
【0180】
また、USBストレージメディア2では、暗号化及び復号という高コストな演算を行わないため、USBストレージメディア2は、セキュリティが考慮されていない通常のUSBストレージメディアと同程度の価格とすることができる。
【0181】
さらに、USBストレージメディア2は、セキュリティを確保するためのパスワードに対応するパスワードハッシュを内部に記憶する、いわゆるセルフコンテインドなデバイスとなっているので、専用のアプリケーションプログラムが稼動するPCであれば、そのPCに、USBストレージメディア2を装着することによって、上述した初期化処理、パスワード変更処理、暗号鍵変更処理、データ書き込み処理、及びデータ読み出し処理を行うことができる。
【0182】
次に、GUI(Graphical User Interface)を用いて、ドライブ(記憶装置)としてPC1に認識されたUSBストレージメディア2に対して、ファイルを読み書きする場合のPC1とUSBストレージメディア2による処理について説明する。
【0183】
PC1においては、USBストレージメディア2をドライブとして認識し、HDD(Hard Disk Drive)等の一般のドライブと同様に、ファイルの読み書きを行うことができる。
【0184】
すなわち、図13は、PC1においてドライブとして認識されたUSBストレージメディア2のセキュアエリア82の記憶内容を表すGUIとしてのドライブウィンドウ103を示している。
【0185】
ユーザは、ドライブウィンドウ103外にあるファイル(を表すアイコン)101をドラッグし、ドライブウィンドウ103内に移動して、ドラッグを解除する(ドロップする)ことにより、ファイル101を、ドライブウィンドウ103外からドライブウィンドウ103内に移動することができる。
【0186】
また、ユーザは、ドライブウィンドウ103内のファイル102をドラッグし、ドライブウィンドウ103外に移動して、ドラッグを解除することにより、ファイル102を、ドライブウィンドウ103内からドライブウィンドウ103外に移動することができる。
【0187】
即ち、ファイル101がドライブウィンドウ103外からドライブウィンドウ103内に移動されると、PC1のOSによって、ファイル101がドライブウィンドウ103内に移動されたことが検知され、専用のアプリケーションプログラムに通知される。専用のアプリケーションプログラムは、ファイル101がドライブウィンドウ103内に移動されたことの通知を、USBストレージメディア2へのデータの書き込みの指示として認識し、上述したPC1とUSBストレージメディア2によるデータ書き込み処理にしたがって、ファイル101を暗号鍵を用いて暗号化する。さらに、PC1のOSは、暗号化後のファイル101をセキュアエリア82に書き込む。そして、専用のアプリケーションプログラムは、暗号化後のファイル101の書き込みが終了すると、OSを経由して、暗号化前のファイル101を消去する。
【0188】
一方、ファイル102がドライブアイコン103内からドライブアイコン103外に移動されると、PC1のOSによって、ファイル102がドライブウィンドウ103外に移動されたことが検知され、専用のアプリケーションプログラムに通知される。さらに、PC1のOSは、暗号化後のファイル102をセキュアエリア82から読み出す。また、専用のアプリケーションプログラムは、ファイル102がドライブウィンドウ103外に移動されたことのOSからの通知を、USBストレージメディア2からのデータの読み出しの指示として認識し、上述したPC1とUSBストレージメディア2によるデータ読み出し処理にしたがって、暗号鍵を用いて、OSによって読み出された暗号化後のファイル102を復号する。そして、専用のアプリケーションプログラムは、復号が終了すると、OSを経由して、USBストレージメディア2のセキュアエリア82に記憶されている暗号化後のファイル102、及びUSBストレージメディア2からPC1に読み出された暗号化後のファイル102を消去させる。
【0189】
ここで、図11のデータ書き込み処理、及び図12のデータ読み出し処理によれば、USBストレージメディア2に対する読み書きをするたびに、ユーザがパスワードを入力する必要があるが、データ書き込み処理またはデータ読み出し処理におけるユーザの認証により、一旦、ユーザの正当性が確認された後は、ユーザの正当性が確認されているとみなせる間は、ユーザによるパスワードの入力を不要とすることができる。その場合、ユーザは、PC1による暗号化または復号の処理を意識することなく、表面的には、暗号化や復号を行わない通常のファイルの読み書きと変わりないかのように、GUIを用いて、ドライブとしてPC1に認識されたUSBストレージメディア2に対して、ファイルを読み書きを行うことができる。
【0190】
なお、ユーザの正当性が確認されているとみなせる間、ユーザによるパスワードの入力を不要とする場合、図11のデータ書き込み処理、または図12のデータ読み出し処理が最初に行われた後、データ書き込み処理としては、図11のステップS95及びステップS96、並びに、ステップS105及びステップS106の処理が行われ、データ読み出し処理としては、図12のステップS125及びステップS126、並びに、ステップS135及びステップS136の処理が行われる。
【0191】
また、例えば、USBストレージメディア2がPC1から取り外された場合等、ユーザの正当性が確認されているとみなせなくなった場合には、PC1の専用のアプリケーションプログラムは、USBストレージメディア2から送信された暗号鍵を、内部から消去する。
【0192】
ここでは、暗号化方法の詳細については特に述べないが、PC1とUSBストレージメディア2の間の通信を暗号通信とした方が、セキュリティがより高まる事は言うまでも無いことである。
【0193】
本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0194】
本発明は、USBストレージメディアの他、例えば、磁気ディスク、磁気テープ、DVD等の記憶媒体を用いた記憶装置(ドライブ)に適用することができる。
【0195】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0196】
【図1】本発明を適用したPC及びUSBストレージメディアの一実施の形態の概要を示す図である。
【図2】PC1の内部構成例を示すブロック図である。
【図3】PC1の機能的構成例を示すブロック図である。
【図4】USBストレージメディア2の内部構成例を示すブロック図である。
【図5】フラッシュメモリ62の記憶領域のスペシャルエリア81、セキュアエリア82、及びオープンエリア83を示す図である。
【図6】スペシャルエリア81に記憶される内部パスワードハッシュと暗号鍵の例を示す図である。
【図7】PC1からUSBストレージメディア2に送信される制御データのフォーマットを示す図である。
【図8】PC1とUSBストレージメディア2による初期化処理を示すフローチャートである。
【図9】PC1とUSBストレージメディア2によるパスワード変更処理を示すフローチャートである。
【図10】PC1とUSBストレージメディア2による暗号鍵変更処理を示すフローチャートである。
【図11】PC1及びUSBストレージメディア2によるデータ書き込み処理を示すフローチャートである。
【図12】PC1及びUSBストレージメディア2によるデータ読み出し処理を示すフローチャートである。
【図13】USBストレージメディア2のセキュアエリア82の記憶内容を表すドライブウィンドウ103を示す図である。
【符号の説明】
【0197】
1 PC, 1A USBコネクタ, 2 USBストレージメディア, 2A USBコネクタ, 11 CPU, 12 ROM, 13 RAM, 14 バス, 15 入出力インターフェース, 16 入力部, 17 出力部, 18 記憶部, 19 通信部, 20 ドライブ, 21 リムーバブルメディア, 22 USB-I/F, 41 暗号鍵生成部 , 42 ハッシュ値演算部, 43 通信制御部, 44 暗号処理部, 44A 暗号化部, 44B 復号部, 61 USBストレージコントローラ, 62 フラッシュメモリ, 63 LED, 71 USB-IF, 72 CPU, 73 ROM, 74 RAM, 75 フラッシュメモリコントローラ, 76 LEDコントローラ, 81 スペシャルエリア, 82 セキュアエリア, 83 オープンエリア, 101,102 ファイル, 103 ドライブウィンドウ

【特許請求の範囲】
【請求項1】
情報処理装置に対して着脱可能な記憶装置において、
情報の暗号化に用いられる暗号鍵と、認証に用いられる認証情報とを記憶する第1の領域と、前記情報処理装置によって前記暗号鍵を用いて暗号化された情報を記憶する第2の領域とを有する記憶手段と、
ユーザによる入力に基づいて前記情報処理装置によって生成された認証情報と、前記第1の領域に記憶されている認証情報とに基づいて前記ユーザの認証を行う認証手段と、
前記認証手段による認証により前記ユーザの正当性が確認されたとき、前記第1の領域に記憶されている前記暗号鍵を前記情報処理装置に送信する送信手段と、
前記情報処理装置が前記暗号鍵を用いて暗号化した情報の、前記第2の領域に対する読み書きを制御する制御手段と
を備える記憶装置。
【請求項2】
前記認証情報は、ユーザによる入力に基づいて前記情報処理装置によって生成されたハッシュ値である
請求項1に記載の記憶装置。
【請求項3】
前記記憶手段は、前記暗号鍵を用いた暗号化がされていない情報を記憶する第3の領域をさらに有する
請求項1に記載の記憶装置。
【請求項4】
前記第1の領域は、前記情報処理装置に搭載されるOS(Operating System)上で動作する所定のアプリケーションによってのみ情報の読み書きが可能な領域であり、
前記第2の領域は、前記情報処理装置に搭載されるOSからのコマンドによって情報の読み書きが可能な領域である
請求項1に記載の記憶装置。
【請求項5】
情報処理装置に対して着脱可能な記憶装置の記憶方法であって、
情報の暗号化に用いられる暗号鍵と、認証に用いられる認証情報とを記憶する第1の領域と、前記情報処理装置によって前記暗号鍵を用いて暗号化された情報を記憶する第2の領域とを有する記憶手段が設けられた記憶装置の記憶方法において、
ユーザによる入力に基づいて前記情報処理装置によって生成された認証情報と、前記第1の領域に記憶されている認証情報とに基づいて前記ユーザの認証を行い、
前記ユーザの認証において、前記ユーザの正当性が確認されたとき、前記第1の領域に記憶されている前記暗号鍵を前記情報処理装置に送信し、
前記情報処理装置が前記暗号鍵を用いて暗号化した情報の、前記第2の領域に対する読み書きを制御する
ステップを含む記憶方法。
【請求項6】
着脱可能な記憶装置が装着される情報処理装置において、
ユーザによる入力に基づいて、認識に用いられる認証情報を生成する認証情報生成手段と、
前記ユーザによる入力に基づいて生成された認証情報と、前記記憶装置に記憶されている認証情報とに基づいて、前記記憶装置によって行われる前記ユーザの認証において、前記ユーザの正当性が確認されたときに、前記記憶装置から送信されてくる、情報の暗号化に用いられる暗号鍵を用いて、前記記憶装置に記憶される情報の暗号化、または前記記憶装置からの暗号化された情報の復号を行う暗号処理手段と
を備える情報処理装置。
【請求項7】
前記記憶装置は、情報の暗号化に用いられる暗号鍵と、認証に用いられる認証情報とを記憶する第1の領域と、前記暗号鍵を用いて暗号化された情報を記憶する第2の領域とを有する記憶手段を備える
請求項6に記載の情報処理装置。
【請求項8】
OS上で動作する所定のアプリケーションによって、前記記憶装置が備える記憶手段の第1の領域に対する情報の読み書きを行い、
前記OSからのコマンドによって、前記記憶装置が備える記憶手段の第2の領域に対する情報の読み書きを行う
請求項7に記載の情報処理装置。
【請求項9】
着脱可能な記憶装置が装着される情報処理装置の情報処理方法において、
ユーザによる入力に基づいて、認識に用いられる認証情報を生成し、
前記ユーザによる入力に基づいて生成された認証情報と、前記記憶装置に記憶されている認証情報とに基づいて、前記記憶装置によって行われる前記ユーザの認証において、前記ユーザの正当性が確認されたときに、前記記憶装置から送信されてくる、情報の暗号化に用いられる暗号鍵を用いて、前記記憶装置に記憶される情報の暗号化、または前記記憶装置からの暗号化された情報の復号を行う
ステップを含む情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2008−40597(P2008−40597A)
【公開日】平成20年2月21日(2008.2.21)
【国際特許分類】
【出願番号】特願2006−210977(P2006−210977)
【出願日】平成18年8月2日(2006.8.2)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】