説明

USB接続による暗号化装置

【課題】本発明は、PC側のOSやアプリケーションに依存することなく、既存のUSBメモリに読み書きする情報について暗号化することのできる装置を提供することを目的とする。
【解決手段】本発明の暗号化装置は、PCおよびUSBメモリの双方に対するインターフェイスを備えるUSBメモリに着脱自在な装置であって、暗号化・復号化機能を独立したモジュール構造として備える。したがって、本発明の暗号化装置は、PC側の動作環境に依存することなく、また、ユーザに対してPCのインターフェイスを使用した煩雑な操作を要求することなく、入力キーを複数回押すだけという極めて単純且つ直感的な操作によって、既存のUSBメモリの使用上におけるセキュリティリスクを好適に低減することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号化装置に関し、より詳細には、USBインターフェイスを持つ記憶デバイス全般に適用可能な暗号化装置に関する。
【背景技術】
【0002】
近年、電子的文書やデータなどの持ち運びなどに用いる外部記憶デバイスとして、Universal Serial Bus を用いてデータの読み書きを行なう、いわゆる「USBメモリ」が多く用いられている。USBメモリは、従来の外部記憶デバイスに比較して格段に小さいため携帯性に優れ、また、内蔵されるフラッシュメモリチップの記憶容量は増大の一途を辿っており、さらに、最近のパーソナル・コンピュータ(PC)のオペレーティング・システム(OS)において、USB Mass Storage Class 仕様がデファクト・スタンダードになっていることも手伝って、その普及は急速に拡大している。
【0003】
一方、USBメモリのこの携帯性の高さは、同時に、情報漏洩のリスクを増大させており、近年、USBメモリの紛失による個人情報や営業秘密の漏洩事件が後を絶たない。そこで、情報セキュリティの向上の観点から、USBメモリに読み書きする情報を暗号化するための実装手段が種々検討されている。
【0004】
この点につき、特開2007−150780号公報(特許文献1)、および、特開2006−527433号公報(特許文献2)は、USBメモリをPCに差込み、USBメモリ内のデータを、PC側から入力された認証情報に基づいて、PC上の暗号化ソフトウェアによって暗号化する構成を開示する。また、特開2007−172248号公報(特許文献3)は、USBメモリ側が備える暗号化ソフトウェアが、USBコントローラによってPC側にインストールされ、USBメモリ側から入力された認証情報に基づいて、PC側で該暗号化ソフトウェアによって暗号化する構成を開示する。特許文献1〜3が開示する構成は、USBメモリを使用する上でのセキュリティリスクを暗号化によって低減することを企図したものであるが、いずれの構成もPC側のOSやアプリケーションに依存するものであり、汎用性の点で問題があった。この点につき、最近、暗号化ブロックと認証ブロックの両方を独自に内在するUSBメモリが開発されている。このようなUSBメモリは、PC側がUSB Mass Storage Class 規格に準拠さえしていれば、PC側のOSやアプリケーションに一切依存することなく暗号化処理を行なうことができる点で優れている。
【0005】
しかしながら、ユーザは、現時点で自身が所有する既存のUSBメモリについて暗号化によるセキュリティ対策を講じることを望んでおり、そのための新規な実装手段の創出が待望されていた。
【特許文献1】特開2007−150780号公報
【特許文献2】特開2006−527433号公報
【特許文献3】特開2007−172248号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、上記従来技術における課題に鑑みてなされたものであり、本発明は、PC側のOSやアプリケーションに依存することなく、既存のUSBメモリに読み書きする情報について暗号化することのできる装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明者は、既存のUSBメモリについて暗号化によるセキュリティ対策を講じるための新規な実装手段につき鋭意検討した結果、PCおよびUSBメモリの双方に対するインターフェイスを備えるUSBメモリに着脱自在な装置であって、暗号化・復号化機能を独立したモジュール構造として備える新規な装置に着想し、本発明に至ったのである。
【0008】
すなわち、本発明によれば、USBインターフェイスを有するホストPCに接続するためのUSBコネクタと、USBインターフェイスを有する記憶デバイスに接続するためのUSBコネクタと、認証情報を入力するための認証情報入力部とを備える暗号化装置であって、前記暗号化装置は、前記認証情報入力部から入力された認証情報に基づいて暗号鍵を生成する暗号鍵生成手段と、前記記憶デバイスに対する書き込み/読み出しを制御するための暗号化/復号化手段とを含み、前記暗号化/復号化手段は、前記ホストPCおよび前記記憶デバイスの双方とUSB接続を確立する手段と、前記ホストPCから受信したデータパケットのうち、書き込みコマンドが指定する実データについてのみ前記暗号鍵を使用して暗号化を行なった後、前記記憶デバイスに転送する手段と、前記記憶デバイスから受信したデータパケットのうち、読み出しコマンドが指定する実データについてのみ前記暗号鍵を使用して復号化を行なった後、前記ホストPCに転送する手段とを含む、暗号化装置が提供される。本発明においては、前記書き込みコマンドが指定する実データについてのみ前記暗号鍵を使用して暗号化を行なった後、前記記憶デバイスに転送する手段は、前記ホストPCから受信したデータパケットが、書き込みコマンドであるか否かを判断して、書き込みコマンドでない場合には、前記データパケットを前記記憶デバイスに転送し、書き込みコマンドである場合には、前記書き込みコマンドが指定する実データの暗号化を行なった後、前記書き込みコマンドとともに前記記憶デバイスに転送する手段を含み、読み出しコマンドが指定する実データについてのみ前記暗号鍵を使用して復号化を行なった後、前記ホストPCに転送する手段は、前記記憶デバイスから受信したデータパケットが、読み出しコマンドに対応するものであるか否かを判断して、読み出しコマンドに対応するものでない場合には、前記データパケットを前記ホストPCに転送し、読み出しコマンドに対応するものである場合には、前記読み出しコマンドが指定する実データの復号化を行なった後、前記ホストPCに転送する手段を含むことができる。また、本発明においては、前記ホストPCおよび前記記憶デバイスの双方とUSB接続を確立する手段は、前記記憶デバイスからディスクリプタを取得するとともに、該ディスクリプタを前記ホストPCに転送することができる。さらに、本発明においては、前記記憶デバイスを、USBメモリとすることができ、電源のオン・オフ状態および前記暗号鍵の設定状態を表示するための状態表示部を備えることができる。
【発明の効果】
【0009】
上述したように、本発明によれば、PCの動作環境に依存することなく、既存のUSBメモリに読み書きする情報を暗号化することのできる装置が提供される。本発明によれば、ユーザに煩雑な手順を要求することなく、極めて簡便な方法によって、USBメモリの使用上におけるセキュリティリスクを好適に低減することができる。
【発明を実施するための最良の形態】
【0010】
以下、本発明を図面に示した実施の形態をもって説明するが、本発明は、図面に示した実施の形態に限定されるものではない。
【0011】
図1は、本実施形態の暗号化装置10を示す図である。図1に示されるように、本実施形態の暗号化装置10には、暗号鍵を生成するための情報を入力する認証情報入力部14と、電源のオン・オフ状態および暗号鍵の設定状態を表示するための状態表示部16を備えており、認証情報入力部14は、複数の入力キー15を備えている。さらに、暗号化装置10は、USB仕様の雄コネクタ18および雌コネクタ20を備えており、ユーザは、暗号化装置10の使用に際して、雄コネクタ18をUSB Mass Storage Class 規格に準拠したUSBインターフェイスを有するパーソナル・コンピュータ22(PC22)が備えるUSB仕様の雌コネクタ23に差し込むとともに、雌コネクタ20にUSBインターフェイスを有するUSBメモリ24が備えるUSB仕様の雄コネクタ28を差し込むことによって、PC22とUSBメモリ24とは、暗号化装置10が中継する形で物理的かつ論理的に接続される。
【0012】
このように、PC22とUSBメモリ24との接続が確立された状態において、ユーザは、暗号化処理のために、PC22上での別途の操作を要求されることなく、単に、認証情報入力部14の入力キー15を押すという簡単な作業を行なうだけで、PC22からUSBメモリに書き込むデータについて暗号化することができ、また、USBメモリに記憶された暗号化データを復号化してPC22に読み込むことができる。
【0013】
図2は、本実施形態の暗号化装置10を介した、PC22およびUSBメモリ24相互間のデータの流れを概念的に示す図である。ここでは、まず、PC22に記憶されたデータ36をUSBメモリ24へ書き込む場合を例にとって、暗号化装置10の機能を説明する。
【0014】
ユーザは、最初に、USBメモリ24に暗号化装置10を接続した上で、USBメモリ24が接続された暗号化装置10をPC22に接続する。このとき、PC22によって、暗号化装置10が「USBメモリ24」として認識され、ユーザは、PC22上の所定のアプリケーションの操作を通じて、データ36を「USBメモリ24」へ書き込むよう命令する。これを受けて、PC22は、データ36を「USBメモリ24」として認識した暗号化装置10に送信する。
【0015】
このとき、ユーザによって、図1に示した認証情報入力部14の入力キー15が押されると、暗号鍵生成手段32が暗号鍵34を生成する。PC22から送信されるデータ36は、生成された暗号鍵34に基づいて、暗号化/復号化手段38によって暗号化され、暗号化データ39としてUSBメモリ24に送信され、記憶される。
【0016】
一方、USBメモリ24に記憶された暗号化データ39をPC22が読み込む場合においては、ユーザは、PC22の操作を通じて、暗号化データ39を「USBメモリ24」から読み込むように命令をする。これを受けたPC22は、「USBメモリ24」として認識された暗号化装置10に対してこの命令を送る。この命令を受けた暗号化装置10は、これをUSBメモリ24に転送し、USBメモリ24はこれを受けて、自身がホストデバイスとして認識する暗号化装置10に対し暗号化データ39を送信する。
【0017】
このとき、ユーザによって、上述した書き込みのときと同じ態様で認証情報入力部14の入力キー15が押され、暗号鍵生成手段32が暗号鍵34を再び生成すると、USBメモリ24から送信される暗号化データ39は、生成された暗号鍵34に基づいて、暗号化/復号化手段38によってデータ36に復号化された後、PC22に送信される。
【0018】
図3は、本実施形態の暗号化装置10の認証情報入力部14を示す。本実施形態においては、認証情報入力部14は、入力キー15を含んで構成されており、入力キー15は、3つの入力キー(A、B、C)およびセットキー(Set)から構成されている。本実施形態においては、3つの入力キー(A、B、C)を複数回押すことによって信号を入力し、該入力の組合せによって暗号鍵が生成される。入力キーは、同じキーを任意の順番で複数回押すことができ、また、入力回数に上限を設定しないこともできる。ユーザが所望の入力キーを所望の順番で押した後、最後にセットキーを押した時点で、入力キーからの入力信号の時系列的な組合せが決定され、この時系列的な組み合わせに基づいて暗号鍵が生成される。例えば、「A→B→C→B→A→C」というような順番で入力キーを押し、最後にセットキー(Set)を押すことによって、「ABCBAC」という組み合わせが決定され、この組み合わせが認証情報として暗号鍵生成手段32に入力される。暗号鍵生成手段32は、入力された認証情報に基づいて暗号鍵を生成する。ユーザは、自身が押したこの入力キーの時系列的な組合せを認証情報として記憶しておき、これを復号化の際に用いる。
【0019】
なお、本発明は、認証情報入力部を上述した構成に限定するものではなく、暗号鍵として用いるビット列を生成することができる構成であればよく、例えば、指紋などの生体情報を入力する既存の生体認証の構成を適用することもできる。
【0020】
また、本発明においては、暗号化方式として、認証情報入力部14からの入力に基づいて生成される暗号鍵を利用して、DESと呼ばれる暗号化方式を簡略化したものを用いることができる。たとえば、32ビットのデータを二つに分け片方のデータに生成された暗号鍵との排他的論理和(XOR)をとり、さらにもう片方のデータとXORをとる、という作業を数回繰り返す暗号化アルゴリズムを使用することができる。なお、本発明は、暗号化アルゴリズムについて特に限定するものではなく、強度および処理コストを比較した上で、所定の秘密鍵方式のアルゴリズムを適宜設計することができる。
【0021】
以上、説明したように、本実施形態の暗号化装置10は、PC22とUSBメモリ24との間でデータの中継をする過程で、当該データの暗号化・復号化処理を行なう。暗号化装置10による上述した暗号化・復号化処理は、PC22側のOSやアプリケーションに全く依存することなく独立して行なわれる。すなわち、本実施形態によれば、ユーザに対してPC22のインターフェイスを使用した煩雑な操作を要求することなく、入力キー15を複数回押すだけという極めて単純且つ直感的な操作によって、USBメモリの使用上におけるセキュリティリスクを好適に低減することができる。上述した機能を実現するためのハードウェア構成について、以下、図4〜図6を参照して説明する。
【0022】
図4は、本実施形態の暗号化装置10のハードウェア構成の概略を示す。図4に示されるように、暗号化装置10は、主制御ブロック40ならびにUSBコントローラ42およびUSBコントローラ44を含んで構成されている。USBコントローラ42は、既存のUSBメモリに搭載されているものと同様のターゲットコントローラの機能を有するものであり、PC22との間で、暗号化装置10をターゲットとした、USB Mass Storage Class 規格に準拠した物理的・論理的な接続(以下、「USB接続」として参照する)を確立する。一方、USBコントローラ44は、USBコントローラ42とは異なり、ホストコントローラの機能を有するものであり、USBメモリ24との間で、暗号化装置10をホストとしたUSB接続を確立する機能を備える。
【0023】
また、主制御ブロック40は、認証情報入力部14からの入力信号を受けてビット列を生成し、これを暗号鍵としてデータの暗号化・復号化を行なうとともに、状態表示部16に対して、暗号化装置10の電源のオン・オフおよび暗号鍵の設定の有無の状態を示す表示の制御を行なう。
【0024】
図5は、本実施形態の暗号化装置10のハードウェア構成をさらに詳細に記載したブロック図である。主制御ブロック40は、CPU46、RAM48、ROM49およびアドレス/データバス50を含んで構成されており、USBコントローラ42およびUSBコントローラ44は、アドレス/データバス50を介して主制御ブロック40に接続され、信号の入出力を行なっている。また、認証情報入力部14および状態表示部16も、アドレス/データバス50を介して主制御ブロック40に接続され、信号の入出力を行なっている。ROM49には、USBコントローラ42およびUSBコントローラ44との間のデータの送受信を制御するためのプログラムに加え、図2について上述した暗号鍵生成手段32および暗号化/復号化手段38を実現するためのプログラムなどが記憶されている。
【0025】
以上、本実施形態の暗号化装置10のハードウェア構成を説明してきたが、続いて、本実施形態の暗号化装置10がPC22とUSBメモリ24との間で、暗号化・復号化処理を介在させたデータ伝送を実現する機構について、図5を適宜参照しながら以下詳細に説明する。なお、以下の説明において、USB Mass Storage Class 規格に準拠した既存の通信プロトコル(以下、「USB通信プロトコル」として参照する)に基づくデータ通信については、その旨を記載して、適宜、その説明を省略する。
【0026】
まず、本実施形態の暗号化装置10がUSBメモリ24に接続された状態で、暗号化装置10がPC22に接続されると、PC22から暗号化装置10に電源が供給され、暗号化装置10が起動する。暗号化装置10が起動すると、USBメモリ24は、暗号化装置10から電源を供給されると起動し、同時にその接続を検出される。本実施形態においては、暗号化装置10およびUSBメモリ24は、いずれも、USBバスパワー仕様であり、それぞれが自身のホストデバイスから電源の供給を受けて作動するように構成されている。なお、USBメモリ24はセルフパワー仕様であってもよく、その場合は、暗号化装置10がUSBメモリ24の電源ONを検知することによって、USBメモリ24の接続を検出する。
【0027】
一方、PC22から電源の供給を受けて暗号化装置10が起動すると、暗号化装置10は、PC22からのリセット信号を受けてシステムの初期化を行なう。この初期化処理において、暗号化装置10は、USBメモリ24に対しUSB通信プロトコルに基づいたコンフィギュレーションを行ない、USBメモリ24に関するディスクリプタを取得し、これをPC22に転送する。以下、この点について図6を参照して説明する。
【0028】
図6は、暗号化装置10のコンフィギュレーション時の動作フローチャートを示す。暗号化装置10は、ステップ100において、USBメモリ24の接続の検出を監視し、USBメモリ24の接続が検出されると、ステップ102において、USBメモリ24に対し、デバイスリクエストを送る。USBメモリ24は、これに対し自身のディスクリプタを暗号化装置10に返す。なお、ここで、ディスクリプタとは、デバイスの特性や属性などの情報が表現されたデータをいう。上述したデバイスリクエストの送信ならびにディスクリプタの取得は、暗号化装置10をホストとしたUSB通信プロトコルに基づいて、USBコントローラ44を介して行なわれる。主制御ブロック40のCPU46は、ステップ104においてディスクリプタを取得すると、それをRAM48に保存するとともに、当該ディスクリプタの記述に基づいて、暗号化装置10とUSBメモリ24との間の転送モードなどを決定し、両者間のUSB接続を確立する。
【0029】
この間、PC22からも、同様に、暗号化装置10に対して、USB通信プロトコルに基づくデバイスリクエストが送信されているが、主制御ブロック40がUSBメモリ24のディスクリプタを取得するまでの間は、主制御ブロック40のCPU46がUSBコントローラ42のエンドポイントを占有し、ビジー状態にしているため、PC22からのデバイスリクエストに対して、USBコントローラ42がNAKパケットを返し続ける。
【0030】
ステップ104において、主制御ブロック40がUSBメモリ24のディスクリプタの取得を完了すると、ステップ106において、主制御ブロック40は、USBコントローラ42のエンドポイントをレディー状態にして、PC22からのデバイスリクエストを受信し、これに対して、RAM48に保存されたUSBメモリ24のディスクリプタを読み出してPC22に転送する。上述したPC22からのデバイスリクエストの受信ならびにディスクリプタの転送は、PC22をホストとしたUSB通信プロトコルに基づいて、USBコントローラ42を介して行なわれる。
【0031】
PC22は、暗号化装置10から転送されたUSBメモリ24のディスクリプタの記述に基づいて、暗号化装置10とPC22との間の転送モードなどを決定し、両者間のUSB接続を確立する。したがって、暗号化装置10とUSBメモリ24との間、ならびに、暗号化装置10とPC22との間は、共通のディスクリプタの記述に基づいてUSB接続が確立されることになる。このとき、PC22は、暗号化装置10を「USBメモリ24」として認識している。
【0032】
次に、PC22からUSBメモリ24へデータを書き込む場合について、図7および図8を参照して説明する。ここで、図7は、暗号化装置10がPC22からデータパケットを受信してUSBメモリ24に転送する際(バルクアウト転送)の動作フローチャートを示し、図8は、暗号化装置10がUSBメモリ24からデータパケットを受信してPC22に転送する際(バルクイン転送)の動作フローチャートを示す。す。上述した手順によって、暗号化装置10が、PC22およびUSBメモリ24の双方とUSB接続を確立した状態において、ユーザが、PC22上のアプリケーションの操作を通じて、USBメモリ24へのデータの書き込みを命令すると、PC22は、暗号化装置10に対し、USB通信プロトコルに基づいて、書き込みコマンドを内容とするデータパケットを送信する。具体的には、Command Block Wrapper (CBW)として定義されるコマンドパケットを暗号化装置10に送る。
【0033】
図7に示すステップ200において、暗号化装置10の主制御ブロック40は、PC22をホストとしたUSB通信プロトコルに基づいて、USBコントローラ42を介して、PC22からCBWを受信すると、ステップ202において、実行されるコマンドブロックが格納されるフィールド(CBWCB)の記述を確認し、それがWRITEコマンドであるか否かを判断する。主制御ブロック40は、受信したコマンドパケットが、WRITEコマンドでないと判断した場合(すなわち、「READ」、「INQUIRY」、「READ CAPACITY」等のコマンドであった場合)、そのコマンドパケットを、そのまま、アドレス/データバス50を通してUSBコントローラ44に送り、その後、当該コマンドパケットは、USB通信プロトコルに基づいて、USBメモリ24に転送される(ステップ210)。
【0034】
一方、ステップ202において、PC22から受信したコマンドパケットがWRITEコマンドであると判断した場合には、主制御ブロック40は、受信したCBWを一時的にRAM48に保管するとともに、CPU46がUSBコントローラ42のエンドポイントを占有し、ビジー状態にしたうえで、ステップ204において、認証情報入力部14からの入力の監視を開始する。本実施形態においては、図3について上述した「Setキー」の入力(すなわち、認証情報の入力)を監視する。
【0035】
「Setキー」の入力が無い間は、USBコントローラ42のエンドポイントのビジー状態が維持されるため、コマンドトランスポート(CBW)に続くデータトランスポートによって、バルクアウト転送を用いてPC22から送られてくる実データのデータパケットに対して、USBコントローラ42が「NAKパケット」を返し続ける。
【0036】
「Setキー」の入力が確認されると、ステップ206において、主制御ブロック40は、USBコントローラ42のエンドポイントをレディー状態にして、PC22からデータトランスポートによって送られてくる実データのデータパケットを受信し、一時的にRAM48に保存する。次に、ステップ208において、主制御ブロック40は、認証情報入力部14からの入力に基づいて暗号鍵を生成してRAM48に記憶するとともに、当該暗号鍵を使用して受信した実データのデータパケットの暗号化を行なった後、ステップ210において、先にRAM48に保管しておいたCBW(WRITEコマンド)と暗号化処理後のデータパケットをUSBメモリ24に転送する。このUSBメモリ24へのCBWの転送は、暗号化装置10をホストとしたUSB通信プロトコルに基づいて、USBコントローラ44を介して行なわれる。
【0037】
なお、図3について上述した認証情報入力部14の入力キーA〜Cが押されずに「Setキー」のみが押された場合には、予め記憶させた初期値を用いて暗号鍵を生成するように構成することもできる。また、暗号化の際に使用する暗号鍵は、RAM48に一時的に記憶されるにすぎないので、暗号化装置10をPC22から取り外し、電源供給が断たれた時点で、暗号鍵は、暗号化装置10内から自動的に消失する。
【0038】
WRITEコマンド(CBW)および暗号化されたデータパケットを受け取ったUSBメモリ24は、その暗号化されたデータの書き込みを実行し、その実行結果を、暗号化装置10に送る。具体的には、バルクイン転送を用いて、Command Status Wrapper (CSW)として定義されるステータスパケットを暗号化装置10に送る。
【0039】
図8に示すステップ300において、暗号化装置10の主制御ブロック40は、USBメモリ24からデータパケットを受信すると、ステップ302において、その中に含まれるCSWについて、そのコマンドブロックタグが格納されるフィールド(dCSWTag)の記述を確認し、そのCSWがREADコマンドに対応するものであるか否かを判断する。主制御ブロック40は、CSWがREADコマンドに対応するものでないと判断した場合(この場合、CSWは、WRITEコマンドに対応するものである)、ステップ308において、USBメモリ24から受信したデータパケット(この場合、CSWのみ)を、そのまま、PC22に転送する。このPC22へのCSWの転送は、PC22をホストとしたUSB通信プロトコルに基づいて、USBコントローラ42を介して行なわれる。PC22は、暗号化装置10からCSWを受信することによりUSBメモリ24に対する書き込みの実行結果を確認する。
【0040】
次に、USBメモリ24からPC22へデータを読み出す場合について、同じく図7および図8を参照して説明する。暗号化装置10とPC22とのUSB接続が確立された状態において、ユーザが、PC22上のアプリケーションの操作を通じて、USBメモリ24からデータの読み出しを命令すると、PC22は、USB通信プロトコルに基づいて、(バルクアウト転送を用いて)読み出しコマンドを内容とするデータパケット(CBW)暗号化装置10に送信する。
【0041】
図7に示すステップ200において、暗号化装置10の主制御ブロック40は、PC22をホストとしたUSB通信プロトコルに基づいて、USBコントローラ42を介して、PC22からCBWを受信すると、ステップ202において、実行されるコマンドブロックが格納されるフィールド(CBWCB)の記述を確認し、それがWRITEコマンドであるか否かを判断する。主制御ブロック40は、受信したコマンドパケットが、WRITEコマンドでないと判断した場合(この場合は、「READ」コマンドである)、ステップ210において、そのコマンドパケットを、そのまま、アドレス/データバス50を通してUSBコントローラ44に送り、その後、当該コマンドパケットは、USB通信プロトコルに基づいて、USBメモリ24に転送される。
【0042】
暗号化装置10からREADコマンドを受け取ったUSBメモリ24は、USB通信プロトコルに基づいて、READコマンドが指定する暗号化されたデータを読み出し、その実行結果(CSW)とともに、暗号化装置10に送る。
【0043】
図8に示すステップ300において、暗号化装置10の主制御ブロック40は、USBメモリ24からデータパケットを受信すると、その中に含まれるCSWのコマンドブロックタグが格納されるフィールド(dCSWTag)の記述を確認し、そのCSWがREADコマンドに対応するものであるか否かを判断する。主制御ブロック40は、CSWがREADコマンドに対応するものでないと判断した場合(すなわち、「WRITE」、「INQUIRY」、「READ CAPACITY」等のコマンドに対応するものであった場合)、ステップ308において、USBメモリ24から受信したデータパケットを、そのまま、PC22に転送する。
【0044】
一方、ステップ302において、主制御ブロック40は、受信したCSWがREADコマンドに対応するものであると判断した場合には、ステップ304において、受信したCSWを含む一連のデータパケットを一時的にRAM48に保管し、認証情報入力部14からの入力の監視(「Setキー」の入力)を開始する。
【0045】
「Setキー」の入力が確認されると、ステップ306において、主制御ブロック40は、認証情報入力部14からの入力に基づいて暗号鍵を生成してRAM48に記憶するとともに、先にRAM48に保管しておいたデータパケットの中から暗号化された実データのデータパケットを取り出し、これを上述した暗号鍵を使用して復号化した後、ステップ308において、同じくRAM48に保管しておいたREADコマンドに対応するCSWとともに、PC22に転送する。このPC22への復号化データおよびCSWの転送は、PC22をホストとしたUSB通信プロトコルに基づいて、USBコントローラ42を介して行なわれる。なお、復号化の際に使用する暗号鍵が、暗号化装置10をPC22から取り外された時点で、自動的に消失するのは、既に上述した通りである。PC22は、暗号化装置10から送信されたCSWを受信することによりUSBメモリ24からの読み出しの実行結果を確認する。
【0046】
ここで、USBメモリ24からデータを読み出す際にユーザが入力した認証情報と、書き込みの際に入力した認証情報とが異なる場合、すなわち、暗号鍵生成手段によって生成された暗号鍵が、暗号化処理と復号化処理とで異なる場合であっても、PC22は、USBメモリ24からデータの読み出し自体を行なうことはできる。しかし、このような場合、データ自体は正しく復号されないので、ユーザは、その復号された内容から復号の際に入力した認証情報(暗号鍵)が間違っていたことを認識することができる。
【0047】
以上、説明したように、本発明の暗号化装置は、暗号化・復号化機能を有する独立したモジュール構造として構成されているため、USB Mass Storage Class 仕様に準拠したPCであれば、PC側のOSやアプリケーションの条件にかかわらず、適用することができ、また、本発明の暗号化装置は、USBメモリに限らず、その他の各種半導体メモリやHDD搭載ホータブルストレージデバイスなどUSB Mass Storage Class 仕様に準拠した記憶デバイス全般に適用することができる。ユーザは、本発明の暗号化装置を一つ用意するだけで、複数のデバイスに対し、暗号化によるセキュリティ対策を講じることが可能となり、また、仮に、本発明の暗号化装置が故障した場合であっても、ユーザが暗号化の際に使用した認証情報さえ記憶してさえいれば、本発明の別の暗号化装置を用意することによって、記憶デバイスに記録された暗号化された情報を読み出すことができる。
【産業上の利用可能性】
【0048】
以上、説明したように、本発明によれば、PC側のOSやアプリケーションの条件に依存することなく、既存のUSBメモリに読み書きする情報に暗号化によるセキュリティ対策を講じることができる装置が提供される。本発明の暗号化装置の普及によって、USBインターフェイスを持つ既存の記憶デバイス全般に対して早急なセキュリティ対策が講じることができる。
【図面の簡単な説明】
【0049】
【図1】本実施形態の暗号化装置を示す図。
【図2】本実施形態の暗号化装置を介した、PCおよびUSBメモリ相互間のデータの流れを概念的に示す図。
【図3】本実施形態の暗号化装置の認証情報入力部を示す図。
【図4】本実施形態の暗号化装置のハードウェア構成の概略図。
【図5】本実施形態の暗号化装置のハードウェア構成のブロック図。
【図6】本実施形態の暗号化装置のコンフィギュレーション時の動作フローチャート。
【図7】本実施形態の暗号化装置のバルクアウト転送時の動作フローチャート。
【図8】本実施形態の暗号化装置のバルクイン転送時の動作フローチャート。
【符号の説明】
【0050】
10…暗号化装置、14…認証情報入力部、15…入力キー、16…状態表示部、18…雄コネクタ、20…雌コネクタ、22…PC、23…雌コネクタ、24…USBメモリ、28…雄コネクタ、32…暗号鍵生成手段、34…暗号鍵、36…データ、38…暗号化/復号化手段、39…暗号化データ、40…主制御ブロック、42…USBコントローラ、44…USBコントローラ、46…CPU、48…RAM、49…ROM、50…アドレス/データバス

【特許請求の範囲】
【請求項1】
USBインターフェイスを有するホストPCに接続するためのUSBコネクタと、USBインターフェイスを有する記憶デバイスに接続するためのUSBコネクタと、認証情報を入力するための認証情報入力部とを備える暗号化装置であって、
前記暗号化装置は、
前記認証情報入力部から入力された認証情報に基づいて暗号鍵を生成する暗号鍵生成手段と、
前記記憶デバイスに対する書き込み/読み出しを制御するための暗号化/復号化手段とを含み、
前記暗号化/復号化手段は、
前記ホストPCおよび前記記憶デバイスの双方とUSB接続を確立する手段と、
前記ホストPCから受信したデータパケットのうち、書き込みコマンドが指定する実データについてのみ前記暗号鍵を使用して暗号化を行なった後、前記記憶デバイスに転送する手段と、
前記記憶デバイスから受信したデータパケットのうち、読み出しコマンドが指定する実データについてのみ前記暗号鍵を使用して復号化を行なった後、前記ホストPCに転送する手段と、
を含む、暗号化装置。
【請求項2】
前記書き込みコマンドが指定する実データについてのみ前記暗号鍵を使用して暗号化を行なった後、前記記憶デバイスに転送する手段は、
前記ホストPCから受信したデータパケットが、書き込みコマンドであるか否かを判断して、書き込みコマンドでない場合には、前記データパケットを前記記憶デバイスに転送し、書き込みコマンドである場合には、前記書き込みコマンドが指定する実データの暗号化を行なった後、前記書き込みコマンドとともに前記記憶デバイスに転送する手段を含み、
前記読み出しコマンドが指定する実データについてのみ前記暗号鍵を使用して復号化を行なった後、前記ホストPCに転送する手段は、
前記記憶デバイスから受信したデータパケットが、読み出しコマンドに対応するものであるか否かを判断して、読み出しコマンドに対応するものでない場合には、前記データパケットを前記ホストPCに転送し、読み出しコマンドに対応するものである場合には、前記読み出しコマンドが指定する実データの復号化を行なった後、前記ホストPCに転送する手段を含む、請求項1に記載の暗号化装置。
【請求項3】
前記ホストPCおよび前記記憶デバイスの双方とUSB接続を確立する手段は、前記記憶デバイスからディスクリプタを取得するとともに、該ディスクリプタを前記ホストPCに転送する、請求項1または2に記載の暗号化装置。
【請求項4】
前記記憶デバイスは、USBメモリである、請求項1〜3のいずれか1項に記載の暗号化装置。
【請求項5】
さらに、電源のオン・オフ状態および前記暗号鍵の設定状態を表示するための状態表示部を備える、請求項1〜4のいずれか1項に記載の暗号化装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2009−245020(P2009−245020A)
【公開日】平成21年10月22日(2009.10.22)
【国際特許分類】
【出願番号】特願2008−88670(P2008−88670)
【出願日】平成20年3月28日(2008.3.28)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成20年3月5日、社団法人電子情報通信学会発行の、電子情報通信学会2008年総合大会講演論文集にて発表、該当ページ A−20−7
【出願人】(505165251)学校法人幾徳学園神奈川工科大学 (14)
【出願人】(800000080)タマティーエルオー株式会社 (255)
【Fターム(参考)】