(57)【要約】【課題】本発明は、ＰＣ側のＯＳやアプリケーションに依存することなく、既存のＵＳＢメモリに読み書きする情報について暗号化することのできる装置を提供することを目的とする。【解決手段】本発明の暗号化装置は、ＰＣおよびＵＳＢメモリの双方に対するインターフェイスを備えるＵＳＢメモリに着脱自在な装置であって、暗号化・復号化機能を独立したモジュール構造として備える。したがって、本発明の暗号化装置は、ＰＣ側の動作環境に依存することなく、また、ユーザに対してＰＣのインターフェイスを使用した煩雑な操作を要求することなく、入力キーを複数回押すだけという極めて単純且つ直感的な操作によって、既存のＵＳＢメモリの使用上におけるセキュリティリスクを好適に低減することができる。【選択図】図１
2009245020.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢインターフェイスを有するホストＰＣに接続するためのＵＳＢコネクタと、ＵＳＢインターフェイスを有する記憶デバイスに接続するためのＵＳＢコネクタと、認証情報を入力するための認証情報入力部とを備える暗号化装置であって、
前記暗号化装置は、
前記認証情報入力部から入力された認証情報に基づいて暗号鍵を生成する暗号鍵生成手段と、
前記記憶デバイスに対する書き込み／読み出しを制御するための暗号化／復号化手段とを含み、
前記暗号化／復号化手段は、
前記ホストＰＣおよび前記記憶デバイスの双方とＵＳＢ接続を確立する手段と、
前記ホストＰＣから受信したデータパケットのうち、書き込みコマンドが指定する実データについてのみ前記暗号鍵を使用して暗号化を行なった後、前記記憶デバイスに転送する手段と、
前記記憶デバイスから受信したデータパケットのうち、読み出しコマンドが指定する実データについてのみ前記暗号鍵を使用して復号化を行なった後、前記ホストＰＣに転送する手段と、
を含む、暗号化装置。
【請求項２】
前記書き込みコマンドが指定する実データについてのみ前記暗号鍵を使用して暗号化を行なった後、前記記憶デバイスに転送する手段は、
前記ホストＰＣから受信したデータパケットが、書き込みコマンドであるか否かを判断して、書き込みコマンドでない場合には、前記データパケットを前記記憶デバイスに転送し、書き込みコマンドである場合には、前記書き込みコマンドが指定する実データの暗号化を行なった後、前記書き込みコマンドとともに前記記憶デバイスに転送する手段を含み、
前記読み出しコマンドが指定する実データについてのみ前記暗号鍵を使用して復号化を行なった後、前記ホストＰＣに転送する手段は、
前記記憶デバイスから受信したデータパケットが、読み出しコマンドに対応するものであるか否かを判断して、読み出しコマンドに対応するものでない場合には、前記データパケットを前記ホストＰＣに転送し、読み出しコマンドに対応するものである場合には、前記読み出しコマンドが指定する実データの復号化を行なった後、前記ホストＰＣに転送する手段を含む、請求項１に記載の暗号化装置。
【請求項３】
前記ホストＰＣおよび前記記憶デバイスの双方とＵＳＢ接続を確立する手段は、前記記憶デバイスからディスクリプタを取得するとともに、該ディスクリプタを前記ホストＰＣに転送する、請求項１または２に記載の暗号化装置。
【請求項４】
前記記憶デバイスは、ＵＳＢメモリである、請求項１〜３のいずれか１項に記載の暗号化装置。
【請求項５】
さらに、電源のオン・オフ状態および前記暗号鍵の設定状態を表示するための状態表示部を備える、請求項１〜４のいずれか１項に記載の暗号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化装置に関し、より詳細には、ＵＳＢインターフェイスを持つ記憶デバイス全般に適用可能な暗号化装置に関する。
【背景技術】
【０００２】
近年、電子的文書やデータなどの持ち運びなどに用いる外部記憶デバイスとして、Universal Serial Bus を用いてデータの読み書きを行なう、いわゆる「ＵＳＢメモリ」が多く用いられている。ＵＳＢメモリは、従来の外部記憶デバイスに比較して格段に小さいため携帯性に優れ、また、内蔵されるフラッシュメモリチップの記憶容量は増大の一途を辿っており、さらに、最近のパーソナル・コンピュータ（ＰＣ）のオペレーティング・システム（ＯＳ）において、USB Mass Storage Class 仕様がデファクト・スタンダードになっていることも手伝って、その普及は急速に拡大している。
【０００３】
一方、ＵＳＢメモリのこの携帯性の高さは、同時に、情報漏洩のリスクを増大させており、近年、ＵＳＢメモリの紛失による個人情報や営業秘密の漏洩事件が後を絶たない。そこで、情報セキュリティの向上の観点から、ＵＳＢメモリに読み書きする情報を暗号化するための実装手段が種々検討されている。
【０００４】
この点につき、特開２００７−１５０７８０号公報（特許文献１）、および、特開２００６−５２７４３３号公報（特許文献２）は、ＵＳＢメモリをＰＣに差込み、ＵＳＢメモリ内のデータを、ＰＣ側から入力された認証情報に基づいて、ＰＣ上の暗号化ソフトウェアによって暗号化する構成を開示する。また、特開２００７−１７２２４８号公報（特許文献３）は、ＵＳＢメモリ側が備える暗号化ソフトウェアが、ＵＳＢコントローラによってＰＣ側にインストールされ、ＵＳＢメモリ側から入力された認証情報に基づいて、ＰＣ側で該暗号化ソフトウェアによって暗号化する構成を開示する。特許文献１〜３が開示する構成は、ＵＳＢメモリを使用する上でのセキュリティリスクを暗号化によって低減することを企図したものであるが、いずれの構成もＰＣ側のＯＳやアプリケーションに依存するものであり、汎用性の点で問題があった。この点につき、最近、暗号化ブロックと認証ブロックの両方を独自に内在するＵＳＢメモリが開発されている。このようなＵＳＢメモリは、ＰＣ側がUSB Mass Storage Class 規格に準拠さえしていれば、ＰＣ側のＯＳやアプリケーションに一切依存することなく暗号化処理を行なうことができる点で優れている。
【０００５】
しかしながら、ユーザは、現時点で自身が所有する既存のＵＳＢメモリについて暗号化によるセキュリティ対策を講じることを望んでおり、そのための新規な実装手段の創出が待望されていた。
【特許文献１】特開２００７−１５０７８０号公報
【特許文献２】特開２００６−５２７４３３号公報
【特許文献３】特開２００７−１７２２４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記従来技術における課題に鑑みてなされたものであり、本発明は、ＰＣ側のＯＳやアプリケーションに依存することなく、既存のＵＳＢメモリに読み書きする情報について暗号化することのできる装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明者は、既存のＵＳＢメモリについて暗号化によるセキュリティ対策を講じるための新規な実装手段につき鋭意検討した結果、ＰＣおよびＵＳＢメモリの双方に対するインターフェイスを備えるＵＳＢメモリに着脱自在な装置であって、暗号化・復号化機能を独立したモジュール構造として備える新規な装置に着想し、本発明に至ったのである。
【０００８】
すなわち、本発明によれば、ＵＳＢインターフェイスを有するホストＰＣに接続するためのＵＳＢコネクタと、ＵＳＢインターフェイスを有する記憶デバイスに接続するためのＵＳＢコネクタと、認証情報を入力するための認証情報入力部とを備える暗号化装置であって、前記暗号化装置は、前記認証情報入力部から入力された認証情報に基づいて暗号鍵を生成する暗号鍵生成手段と、前記記憶デバイスに対する書き込み／読み出しを制御するための暗号化／復号化手段とを含み、前記暗号化／復号化手段は、前記ホストＰＣおよび前記記憶デバイスの双方とＵＳＢ接続を確立する手段と、前記ホストＰＣから受信したデータパケットのうち、書き込みコマンドが指定する実データについてのみ前記暗号鍵を使用して暗号化を行なった後、前記記憶デバイスに転送する手段と、前記記憶デバイスから受信したデータパケットのうち、読み出しコマンドが指定する実データについてのみ前記暗号鍵を使用して復号化を行なった後、前記ホストＰＣに転送する手段とを含む、暗号化装置が提供される。本発明においては、前記書き込みコマンドが指定する実データについてのみ前記暗号鍵を使用して暗号化を行なった後、前記記憶デバイスに転送する手段は、前記ホストＰＣから受信したデータパケットが、書き込みコマンドであるか否かを判断して、書き込みコマンドでない場合には、前記データパケットを前記記憶デバイスに転送し、書き込みコマンドである場合には、前記書き込みコマンドが指定する実データの暗号化を行なった後、前記書き込みコマンドとともに前記記憶デバイスに転送する手段を含み、読み出しコマンドが指定する実データについてのみ前記暗号鍵を使用して復号化を行なった後、前記ホストＰＣに転送する手段は、前記記憶デバイスから受信したデータパケットが、読み出しコマンドに対応するものであるか否かを判断して、読み出しコマンドに対応するものでない場合には、前記データパケットを前記ホストＰＣに転送し、読み出しコマンドに対応するものである場合には、前記読み出しコマンドが指定する実データの復号化を行なった後、前記ホストＰＣに転送する手段を含むことができる。また、本発明においては、前記ホストＰＣおよび前記記憶デバイスの双方とＵＳＢ接続を確立する手段は、前記記憶デバイスからディスクリプタを取得するとともに、該ディスクリプタを前記ホストＰＣに転送することができる。さらに、本発明においては、前記記憶デバイスを、ＵＳＢメモリとすることができ、電源のオン・オフ状態および前記暗号鍵の設定状態を表示するための状態表示部を備えることができる。
【発明の効果】
【０００９】
上述したように、本発明によれば、ＰＣの動作環境に依存することなく、既存のＵＳＢメモリに読み書きする情報を暗号化することのできる装置が提供される。本発明によれば、ユーザに煩雑な手順を要求することなく、極めて簡便な方法によって、ＵＳＢメモリの使用上におけるセキュリティリスクを好適に低減することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を図面に示した実施の形態をもって説明するが、本発明は、図面に示した実施の形態に限定されるものではない。
【００１１】
図１は、本実施形態の暗号化装置１０を示す図である。図１に示されるように、本実施形態の暗号化装置１０には、暗号鍵を生成するための情報を入力する認証情報入力部１４と、電源のオン・オフ状態および暗号鍵の設定状態を表示するための状態表示部１６を備えており、認証情報入力部１４は、複数の入力キー１５を備えている。さらに、暗号化装置１０は、ＵＳＢ仕様の雄コネクタ１８および雌コネクタ２０を備えており、ユーザは、暗号化装置１０の使用に際して、雄コネクタ１８をUSB Mass Storage Class 規格に準拠したＵＳＢインターフェイスを有するパーソナル・コンピュータ２２（ＰＣ２２）が備えるＵＳＢ仕様の雌コネクタ２３に差し込むとともに、雌コネクタ２０にＵＳＢインターフェイスを有するＵＳＢメモリ２４が備えるＵＳＢ仕様の雄コネクタ２８を差し込むことによって、ＰＣ２２とＵＳＢメモリ２４とは、暗号化装置１０が中継する形で物理的かつ論理的に接続される。
【００１２】
このように、ＰＣ２２とＵＳＢメモリ２４との接続が確立された状態において、ユーザは、暗号化処理のために、ＰＣ２２上での別途の操作を要求されることなく、単に、認証情報入力部１４の入力キー１５を押すという簡単な作業を行なうだけで、ＰＣ２２からＵＳＢメモリに書き込むデータについて暗号化することができ、また、ＵＳＢメモリに記憶された暗号化データを復号化してＰＣ２２に読み込むことができる。
【００１３】
図２は、本実施形態の暗号化装置１０を介した、ＰＣ２２およびＵＳＢメモリ２４相互間のデータの流れを概念的に示す図である。ここでは、まず、ＰＣ２２に記憶されたデータ３６をＵＳＢメモリ２４へ書き込む場合を例にとって、暗号化装置１０の機能を説明する。
【００１４】
ユーザは、最初に、ＵＳＢメモリ２４に暗号化装置１０を接続した上で、ＵＳＢメモリ２４が接続された暗号化装置１０をＰＣ２２に接続する。このとき、ＰＣ２２によって、暗号化装置１０が「ＵＳＢメモリ２４」として認識され、ユーザは、ＰＣ２２上の所定のアプリケーションの操作を通じて、データ３６を「ＵＳＢメモリ２４」へ書き込むよう命令する。これを受けて、ＰＣ２２は、データ３６を「ＵＳＢメモリ２４」として認識した暗号化装置１０に送信する。
【００１５】
このとき、ユーザによって、図１に示した認証情報入力部１４の入力キー１５が押されると、暗号鍵生成手段３２が暗号鍵３４を生成する。ＰＣ２２から送信されるデータ３６は、生成された暗号鍵３４に基づいて、暗号化／復号化手段３８によって暗号化され、暗号化データ３９としてＵＳＢメモリ２４に送信され、記憶される。
【００１６】
一方、ＵＳＢメモリ２４に記憶された暗号化データ３９をＰＣ２２が読み込む場合においては、ユーザは、ＰＣ２２の操作を通じて、暗号化データ３９を「ＵＳＢメモリ２４」から読み込むように命令をする。これを受けたＰＣ２２は、「ＵＳＢメモリ２４」として認識された暗号化装置１０に対してこの命令を送る。この命令を受けた暗号化装置１０は、これをＵＳＢメモリ２４に転送し、ＵＳＢメモリ２４はこれを受けて、自身がホストデバイスとして認識する暗号化装置１０に対し暗号化データ３９を送信する。
【００１７】
このとき、ユーザによって、上述した書き込みのときと同じ態様で認証情報入力部１４の入力キー１５が押され、暗号鍵生成手段３２が暗号鍵３４を再び生成すると、ＵＳＢメモリ２４から送信される暗号化データ３９は、生成された暗号鍵３４に基づいて、暗号化／復号化手段３８によってデータ３６に復号化された後、ＰＣ２２に送信される。
【００１８】
図３は、本実施形態の暗号化装置１０の認証情報入力部１４を示す。本実施形態においては、認証情報入力部１４は、入力キー１５を含んで構成されており、入力キー１５は、３つの入力キー（Ａ、Ｂ、Ｃ)およびセットキー(Ｓｅｔ）から構成されている。本実施形態においては、３つの入力キー（Ａ、Ｂ、Ｃ)を複数回押すことによって信号を入力し、該入力の組合せによって暗号鍵が生成される。入力キーは、同じキーを任意の順番で複数回押すことができ、また、入力回数に上限を設定しないこともできる。ユーザが所望の入力キーを所望の順番で押した後、最後にセットキーを押した時点で、入力キーからの入力信号の時系列的な組合せが決定され、この時系列的な組み合わせに基づいて暗号鍵が生成される。例えば、「Ａ→Ｂ→Ｃ→Ｂ→Ａ→Ｃ」というような順番で入力キーを押し、最後にセットキー(Ｓｅｔ）を押すことによって、「ＡＢＣＢＡＣ」という組み合わせが決定され、この組み合わせが認証情報として暗号鍵生成手段３２に入力される。暗号鍵生成手段３２は、入力された認証情報に基づいて暗号鍵を生成する。ユーザは、自身が押したこの入力キーの時系列的な組合せを認証情報として記憶しておき、これを復号化の際に用いる。
【００１９】
なお、本発明は、認証情報入力部を上述した構成に限定するものではなく、暗号鍵として用いるビット列を生成することができる構成であればよく、例えば、指紋などの生体情報を入力する既存の生体認証の構成を適用することもできる。
【００２０】
また、本発明においては、暗号化方式として、認証情報入力部１４からの入力に基づいて生成される暗号鍵を利用して、ＤＥＳと呼ばれる暗号化方式を簡略化したものを用いることができる。たとえば、３２ビットのデータを二つに分け片方のデータに生成された暗号鍵との排他的論理和（ＸＯＲ）をとり、さらにもう片方のデータとＸＯＲをとる、という作業を数回繰り返す暗号化アルゴリズムを使用することができる。なお、本発明は、暗号化アルゴリズムについて特に限定するものではなく、強度および処理コストを比較した上で、所定の秘密鍵方式のアルゴリズムを適宜設計することができる。
【００２１】
以上、説明したように、本実施形態の暗号化装置１０は、ＰＣ２２とＵＳＢメモリ２４との間でデータの中継をする過程で、当該データの暗号化・復号化処理を行なう。暗号化装置１０による上述した暗号化・復号化処理は、ＰＣ２２側のＯＳやアプリケーションに全く依存することなく独立して行なわれる。すなわち、本実施形態によれば、ユーザに対してＰＣ２２のインターフェイスを使用した煩雑な操作を要求することなく、入力キー１５を複数回押すだけという極めて単純且つ直感的な操作によって、ＵＳＢメモリの使用上におけるセキュリティリスクを好適に低減することができる。上述した機能を実現するためのハードウェア構成について、以下、図４〜図６を参照して説明する。
【００２２】
図４は、本実施形態の暗号化装置１０のハードウェア構成の概略を示す。図４に示されるように、暗号化装置１０は、主制御ブロック４０ならびにＵＳＢコントローラ４２およびＵＳＢコントローラ４４を含んで構成されている。ＵＳＢコントローラ４２は、既存のＵＳＢメモリに搭載されているものと同様のターゲットコントローラの機能を有するものであり、ＰＣ２２との間で、暗号化装置１０をターゲットとした、USB Mass Storage Class 規格に準拠した物理的・論理的な接続（以下、「ＵＳＢ接続」として参照する）を確立する。一方、ＵＳＢコントローラ４４は、ＵＳＢコントローラ４２とは異なり、ホストコントローラの機能を有するものであり、ＵＳＢメモリ２４との間で、暗号化装置１０をホストとしたＵＳＢ接続を確立する機能を備える。
【００２３】
また、主制御ブロック４０は、認証情報入力部１４からの入力信号を受けてビット列を生成し、これを暗号鍵としてデータの暗号化・復号化を行なうとともに、状態表示部１６に対して、暗号化装置１０の電源のオン・オフおよび暗号鍵の設定の有無の状態を示す表示の制御を行なう。
【００２４】
図５は、本実施形態の暗号化装置１０のハードウェア構成をさらに詳細に記載したブロック図である。主制御ブロック４０は、ＣＰＵ４６、ＲＡＭ４８、ＲＯＭ４９およびアドレス／データバス５０を含んで構成されており、ＵＳＢコントローラ４２およびＵＳＢコントローラ４４は、アドレス／データバス５０を介して主制御ブロック４０に接続され、信号の入出力を行なっている。また、認証情報入力部１４および状態表示部１６も、アドレス／データバス５０を介して主制御ブロック４０に接続され、信号の入出力を行なっている。ＲＯＭ４９には、ＵＳＢコントローラ４２およびＵＳＢコントローラ４４との間のデータの送受信を制御するためのプログラムに加え、図２について上述した暗号鍵生成手段３２および暗号化／復号化手段３８を実現するためのプログラムなどが記憶されている。
【００２５】
以上、本実施形態の暗号化装置１０のハードウェア構成を説明してきたが、続いて、本実施形態の暗号化装置１０がＰＣ２２とＵＳＢメモリ２４との間で、暗号化・復号化処理を介在させたデータ伝送を実現する機構について、図５を適宜参照しながら以下詳細に説明する。なお、以下の説明において、USB Mass Storage Class 規格に準拠した既存の通信プロトコル（以下、「ＵＳＢ通信プロトコル」として参照する）に基づくデータ通信については、その旨を記載して、適宜、その説明を省略する。
【００２６】
まず、本実施形態の暗号化装置１０がＵＳＢメモリ２４に接続された状態で、暗号化装置１０がＰＣ２２に接続されると、ＰＣ２２から暗号化装置１０に電源が供給され、暗号化装置１０が起動する。暗号化装置１０が起動すると、ＵＳＢメモリ２４は、暗号化装置１０から電源を供給されると起動し、同時にその接続を検出される。本実施形態においては、暗号化装置１０およびＵＳＢメモリ２４は、いずれも、ＵＳＢバスパワー仕様であり、それぞれが自身のホストデバイスから電源の供給を受けて作動するように構成されている。なお、ＵＳＢメモリ２４はセルフパワー仕様であってもよく、その場合は、暗号化装置１０がＵＳＢメモリ２４の電源ＯＮを検知することによって、ＵＳＢメモリ２４の接続を検出する。
【００２７】
一方、ＰＣ２２から電源の供給を受けて暗号化装置１０が起動すると、暗号化装置１０は、ＰＣ２２からのリセット信号を受けてシステムの初期化を行なう。この初期化処理において、暗号化装置１０は、ＵＳＢメモリ２４に対しＵＳＢ通信プロトコルに基づいたコンフィギュレーションを行ない、ＵＳＢメモリ２４に関するディスクリプタを取得し、これをＰＣ２２に転送する。以下、この点について図６を参照して説明する。
【００２８】
図６は、暗号化装置１０のコンフィギュレーション時の動作フローチャートを示す。暗号化装置１０は、ステップ１００において、ＵＳＢメモリ２４の接続の検出を監視し、ＵＳＢメモリ２４の接続が検出されると、ステップ１０２において、ＵＳＢメモリ２４に対し、デバイスリクエストを送る。ＵＳＢメモリ２４は、これに対し自身のディスクリプタを暗号化装置１０に返す。なお、ここで、ディスクリプタとは、デバイスの特性や属性などの情報が表現されたデータをいう。上述したデバイスリクエストの送信ならびにディスクリプタの取得は、暗号化装置１０をホストとしたＵＳＢ通信プロトコルに基づいて、ＵＳＢコントローラ４４を介して行なわれる。主制御ブロック４０のＣＰＵ４６は、ステップ１０４においてディスクリプタを取得すると、それをＲＡＭ４８に保存するとともに、当該ディスクリプタの記述に基づいて、暗号化装置１０とＵＳＢメモリ２４との間の転送モードなどを決定し、両者間のＵＳＢ接続を確立する。
【００２９】
この間、ＰＣ２２からも、同様に、暗号化装置１０に対して、ＵＳＢ通信プロトコルに基づくデバイスリクエストが送信されているが、主制御ブロック４０がＵＳＢメモリ２４のディスクリプタを取得するまでの間は、主制御ブロック４０のＣＰＵ４６がＵＳＢコントローラ４２のエンドポイントを占有し、ビジー状態にしているため、ＰＣ２２からのデバイスリクエストに対して、ＵＳＢコントローラ４２がＮＡＫパケットを返し続ける。
【００３０】
ステップ１０４において、主制御ブロック４０がＵＳＢメモリ２４のディスクリプタの取得を完了すると、ステップ１０６において、主制御ブロック４０は、ＵＳＢコントローラ４２のエンドポイントをレディー状態にして、ＰＣ２２からのデバイスリクエストを受信し、これに対して、ＲＡＭ４８に保存されたＵＳＢメモリ２４のディスクリプタを読み出してＰＣ２２に転送する。上述したＰＣ２２からのデバイスリクエストの受信ならびにディスクリプタの転送は、ＰＣ２２をホストとしたＵＳＢ通信プロトコルに基づいて、ＵＳＢコントローラ４２を介して行なわれる。
【００３１】
ＰＣ２２は、暗号化装置１０から転送されたＵＳＢメモリ２４のディスクリプタの記述に基づいて、暗号化装置１０とＰＣ２２との間の転送モードなどを決定し、両者間のＵＳＢ接続を確立する。したがって、暗号化装置１０とＵＳＢメモリ２４との間、ならびに、暗号化装置１０とＰＣ２２との間は、共通のディスクリプタの記述に基づいてＵＳＢ接続が確立されることになる。このとき、ＰＣ２２は、暗号化装置１０を「ＵＳＢメモリ２４」として認識している。
【００３２】
次に、ＰＣ２２からＵＳＢメモリ２４へデータを書き込む場合について、図７および図８を参照して説明する。ここで、図７は、暗号化装置１０がＰＣ２２からデータパケットを受信してＵＳＢメモリ２４に転送する際（バルクアウト転送）の動作フローチャートを示し、図８は、暗号化装置１０がＵＳＢメモリ２４からデータパケットを受信してＰＣ２２に転送する際（バルクイン転送）の動作フローチャートを示す。す。上述した手順によって、暗号化装置１０が、ＰＣ２２およびＵＳＢメモリ２４の双方とＵＳＢ接続を確立した状態において、ユーザが、ＰＣ２２上のアプリケーションの操作を通じて、ＵＳＢメモリ２４へのデータの書き込みを命令すると、ＰＣ２２は、暗号化装置１０に対し、ＵＳＢ通信プロトコルに基づいて、書き込みコマンドを内容とするデータパケットを送信する。具体的には、Command Block Wrapper (ＣＢＷ）として定義されるコマンドパケットを暗号化装置１０に送る。
【００３３】
図７に示すステップ２００において、暗号化装置１０の主制御ブロック４０は、ＰＣ２２をホストとしたＵＳＢ通信プロトコルに基づいて、ＵＳＢコントローラ４２を介して、ＰＣ２２からＣＢＷを受信すると、ステップ２０２において、実行されるコマンドブロックが格納されるフィールド（ＣＢＷＣＢ）の記述を確認し、それがＷＲＩＴＥコマンドであるか否かを判断する。主制御ブロック４０は、受信したコマンドパケットが、ＷＲＩＴＥコマンドでないと判断した場合（すなわち、「ＲＥＡＤ」、「ＩＮＱＵＩＲＹ」、「ＲＥＡＤ ＣＡＰＡＣＩＴＹ」等のコマンドであった場合）、そのコマンドパケットを、そのまま、アドレス／データバス５０を通してＵＳＢコントローラ４４に送り、その後、当該コマンドパケットは、ＵＳＢ通信プロトコルに基づいて、ＵＳＢメモリ２４に転送される（ステップ２１０）。
【００３４】
一方、ステップ２０２において、ＰＣ２２から受信したコマンドパケットがＷＲＩＴＥコマンドであると判断した場合には、主制御ブロック４０は、受信したＣＢＷを一時的にＲＡＭ４８に保管するとともに、ＣＰＵ４６がＵＳＢコントローラ４２のエンドポイントを占有し、ビジー状態にしたうえで、ステップ２０４において、認証情報入力部１４からの入力の監視を開始する。本実施形態においては、図３について上述した「Ｓｅｔキー」の入力（すなわち、認証情報の入力）を監視する。
【００３５】
「Ｓｅｔキー」の入力が無い間は、ＵＳＢコントローラ４２のエンドポイントのビジー状態が維持されるため、コマンドトランスポート（ＣＢＷ）に続くデータトランスポートによって、バルクアウト転送を用いてＰＣ２２から送られてくる実データのデータパケットに対して、ＵＳＢコントローラ４２が「ＮＡＫパケット」を返し続ける。
【００３６】
「Ｓｅｔキー」の入力が確認されると、ステップ２０６において、主制御ブロック４０は、ＵＳＢコントローラ４２のエンドポイントをレディー状態にして、ＰＣ２２からデータトランスポートによって送られてくる実データのデータパケットを受信し、一時的にＲＡＭ４８に保存する。次に、ステップ２０８において、主制御ブロック４０は、認証情報入力部１４からの入力に基づいて暗号鍵を生成してＲＡＭ４８に記憶するとともに、当該暗号鍵を使用して受信した実データのデータパケットの暗号化を行なった後、ステップ２１０において、先にＲＡＭ４８に保管しておいたＣＢＷ（ＷＲＩＴＥコマンド）と暗号化処理後のデータパケットをＵＳＢメモリ２４に転送する。このＵＳＢメモリ２４へのＣＢＷの転送は、暗号化装置１０をホストとしたＵＳＢ通信プロトコルに基づいて、ＵＳＢコントローラ４４を介して行なわれる。
【００３７】
なお、図３について上述した認証情報入力部１４の入力キーＡ〜Ｃが押されずに「Ｓｅｔキー」のみが押された場合には、予め記憶させた初期値を用いて暗号鍵を生成するように構成することもできる。また、暗号化の際に使用する暗号鍵は、ＲＡＭ４８に一時的に記憶されるにすぎないので、暗号化装置１０をＰＣ２２から取り外し、電源供給が断たれた時点で、暗号鍵は、暗号化装置１０内から自動的に消失する。
【００３８】
ＷＲＩＴＥコマンド（ＣＢＷ）および暗号化されたデータパケットを受け取ったＵＳＢメモリ２４は、その暗号化されたデータの書き込みを実行し、その実行結果を、暗号化装置１０に送る。具体的には、バルクイン転送を用いて、Command Status Wrapper (ＣＳＷ）として定義されるステータスパケットを暗号化装置１０に送る。
【００３９】
図８に示すステップ３００において、暗号化装置１０の主制御ブロック４０は、ＵＳＢメモリ２４からデータパケットを受信すると、ステップ３０２において、その中に含まれるＣＳＷについて、そのコマンドブロックタグが格納されるフィールド（ｄＣＳＷＴａｇ）の記述を確認し、そのＣＳＷがＲＥＡＤコマンドに対応するものであるか否かを判断する。主制御ブロック４０は、ＣＳＷがＲＥＡＤコマンドに対応するものでないと判断した場合（この場合、ＣＳＷは、ＷＲＩＴＥコマンドに対応するものである）、ステップ３０８において、ＵＳＢメモリ２４から受信したデータパケット（この場合、ＣＳＷのみ）を、そのまま、ＰＣ２２に転送する。このＰＣ２２へのＣＳＷの転送は、ＰＣ２２をホストとしたＵＳＢ通信プロトコルに基づいて、ＵＳＢコントローラ４２を介して行なわれる。ＰＣ２２は、暗号化装置１０からＣＳＷを受信することによりＵＳＢメモリ２４に対する書き込みの実行結果を確認する。
【００４０】
次に、ＵＳＢメモリ２４からＰＣ２２へデータを読み出す場合について、同じく図７および図８を参照して説明する。暗号化装置１０とＰＣ２２とのＵＳＢ接続が確立された状態において、ユーザが、ＰＣ２２上のアプリケーションの操作を通じて、ＵＳＢメモリ２４からデータの読み出しを命令すると、ＰＣ２２は、ＵＳＢ通信プロトコルに基づいて、（バルクアウト転送を用いて）読み出しコマンドを内容とするデータパケット(ＣＢＷ）暗号化装置１０に送信する。
【００４１】
図７に示すステップ２００において、暗号化装置１０の主制御ブロック４０は、ＰＣ２２をホストとしたＵＳＢ通信プロトコルに基づいて、ＵＳＢコントローラ４２を介して、ＰＣ２２からＣＢＷを受信すると、ステップ２０２において、実行されるコマンドブロックが格納されるフィールド（ＣＢＷＣＢ）の記述を確認し、それがＷＲＩＴＥコマンドであるか否かを判断する。主制御ブロック４０は、受信したコマンドパケットが、ＷＲＩＴＥコマンドでないと判断した場合（この場合は、「ＲＥＡＤ」コマンドである）、ステップ２１０において、そのコマンドパケットを、そのまま、アドレス／データバス５０を通してＵＳＢコントローラ４４に送り、その後、当該コマンドパケットは、ＵＳＢ通信プロトコルに基づいて、ＵＳＢメモリ２４に転送される。
【００４２】
暗号化装置１０からＲＥＡＤコマンドを受け取ったＵＳＢメモリ２４は、ＵＳＢ通信プロトコルに基づいて、ＲＥＡＤコマンドが指定する暗号化されたデータを読み出し、その実行結果(ＣＳＷ）とともに、暗号化装置１０に送る。
【００４３】
図８に示すステップ３００において、暗号化装置１０の主制御ブロック４０は、ＵＳＢメモリ２４からデータパケットを受信すると、その中に含まれるＣＳＷのコマンドブロックタグが格納されるフィールド（ｄＣＳＷＴａｇ）の記述を確認し、そのＣＳＷがＲＥＡＤコマンドに対応するものであるか否かを判断する。主制御ブロック４０は、ＣＳＷがＲＥＡＤコマンドに対応するものでないと判断した場合（すなわち、「ＷＲＩＴＥ」、「ＩＮＱＵＩＲＹ」、「ＲＥＡＤ ＣＡＰＡＣＩＴＹ」等のコマンドに対応するものであった場合）、ステップ３０８において、ＵＳＢメモリ２４から受信したデータパケットを、そのまま、ＰＣ２２に転送する。
【００４４】
一方、ステップ３０２において、主制御ブロック４０は、受信したＣＳＷがＲＥＡＤコマンドに対応するものであると判断した場合には、ステップ３０４において、受信したＣＳＷを含む一連のデータパケットを一時的にＲＡＭ４８に保管し、認証情報入力部１４からの入力の監視（「Ｓｅｔキー」の入力）を開始する。
【００４５】
「Ｓｅｔキー」の入力が確認されると、ステップ３０６において、主制御ブロック４０は、認証情報入力部１４からの入力に基づいて暗号鍵を生成してＲＡＭ４８に記憶するとともに、先にＲＡＭ４８に保管しておいたデータパケットの中から暗号化された実データのデータパケットを取り出し、これを上述した暗号鍵を使用して復号化した後、ステップ３０８において、同じくＲＡＭ４８に保管しておいたＲＥＡＤコマンドに対応するＣＳＷとともに、ＰＣ２２に転送する。このＰＣ２２への復号化データおよびＣＳＷの転送は、ＰＣ２２をホストとしたＵＳＢ通信プロトコルに基づいて、ＵＳＢコントローラ４２を介して行なわれる。なお、復号化の際に使用する暗号鍵が、暗号化装置１０をＰＣ２２から取り外された時点で、自動的に消失するのは、既に上述した通りである。ＰＣ２２は、暗号化装置１０から送信されたＣＳＷを受信することによりＵＳＢメモリ２４からの読み出しの実行結果を確認する。
【００４６】
ここで、ＵＳＢメモリ２４からデータを読み出す際にユーザが入力した認証情報と、書き込みの際に入力した認証情報とが異なる場合、すなわち、暗号鍵生成手段によって生成された暗号鍵が、暗号化処理と復号化処理とで異なる場合であっても、ＰＣ２２は、ＵＳＢメモリ２４からデータの読み出し自体を行なうことはできる。しかし、このような場合、データ自体は正しく復号されないので、ユーザは、その復号された内容から復号の際に入力した認証情報（暗号鍵）が間違っていたことを認識することができる。
【００４７】
以上、説明したように、本発明の暗号化装置は、暗号化・復号化機能を有する独立したモジュール構造として構成されているため、USB Mass Storage Class 仕様に準拠したＰＣであれば、ＰＣ側のＯＳやアプリケーションの条件にかかわらず、適用することができ、また、本発明の暗号化装置は、ＵＳＢメモリに限らず、その他の各種半導体メモリやＨＤＤ搭載ホータブルストレージデバイスなどUSB Mass Storage Class 仕様に準拠した記憶デバイス全般に適用することができる。ユーザは、本発明の暗号化装置を一つ用意するだけで、複数のデバイスに対し、暗号化によるセキュリティ対策を講じることが可能となり、また、仮に、本発明の暗号化装置が故障した場合であっても、ユーザが暗号化の際に使用した認証情報さえ記憶してさえいれば、本発明の別の暗号化装置を用意することによって、記憶デバイスに記録された暗号化された情報を読み出すことができる。
【産業上の利用可能性】
【００４８】
以上、説明したように、本発明によれば、ＰＣ側のＯＳやアプリケーションの条件に依存することなく、既存のＵＳＢメモリに読み書きする情報に暗号化によるセキュリティ対策を講じることができる装置が提供される。本発明の暗号化装置の普及によって、ＵＳＢインターフェイスを持つ既存の記憶デバイス全般に対して早急なセキュリティ対策が講じることができる。
【図面の簡単な説明】
【００４９】
【図１】本実施形態の暗号化装置を示す図。
【図２】本実施形態の暗号化装置を介した、ＰＣおよびＵＳＢメモリ相互間のデータの流れを概念的に示す図。
【図３】本実施形態の暗号化装置の認証情報入力部を示す図。
【図４】本実施形態の暗号化装置のハードウェア構成の概略図。
【図５】本実施形態の暗号化装置のハードウェア構成のブロック図。
【図６】本実施形態の暗号化装置のコンフィギュレーション時の動作フローチャート。
【図７】本実施形態の暗号化装置のバルクアウト転送時の動作フローチャート。
【図８】本実施形態の暗号化装置のバルクイン転送時の動作フローチャート。
【符号の説明】
【００５０】
１０…暗号化装置、１４…認証情報入力部、１５…入力キー、１６…状態表示部、１８…雄コネクタ、２０…雌コネクタ、２２…ＰＣ、２３…雌コネクタ、２４…ＵＳＢメモリ、２８…雄コネクタ、３２…暗号鍵生成手段、３４…暗号鍵、３６…データ、３８…暗号化／復号化手段、３９…暗号化データ、４０…主制御ブロック、４２…ＵＳＢコントローラ、４４…ＵＳＢコントローラ、４６…ＣＰＵ、４８…ＲＡＭ、４９…ＲＯＭ、５０…アドレス／データバス
【図１】
2009245020.tif 000003
【図２】
2009245020.tif 000004
【図３】
2009245020.tif 000005
【図４】
2009245020.tif 000006
【図５】
2009245020.tif 000007
【図６】
2009245020.tif 000008
【図７】
2009245020.tif 000009
【図８】
2009245020.tif 000010