説明

記憶装置及び利用者認証方法

【課題】 複数の立場で利用認証する場合であっても、利便性と高度なセキュリティとを確保できる記憶装置の提供。
【解決手段】
USBフラッシュメモリ10のCPU120は、初期設定としてユーザ用公開鍵B0、管理者用公開鍵D0,管理者用秘密鍵E0を生成し、ユーザ用パスワードPW0を基に鍵A0を生成し、これを鍵B0で暗号化した鍵A0B0と鍵D0で暗号化した鍵A0D0とを生成し、鍵B0,D0,A0B0,A0D0をフラッシュメモリ170に、鍵E0をコンピュータPCmに保存する。ユーザ認証時は、受け付けたパスワードPW0を基に鍵A0を生成し、これを鍵B0で暗号化して鍵A0B0を生成し、記憶された鍵A0B0と照合する。管理者認証時は、受け付けた鍵E0で鍵A0D0を復号化して鍵A0を生成し、これを鍵B0で暗号化して鍵A0B0を生成し、記憶された鍵A0B0と照合する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号化手段を用いた利用者の認証技術に関する。
【背景技術】
【0002】
近年、IT技術の発展に伴い、フラッシュメモリ、ハードディスク、MO、DVDなど、種々の記憶媒体が普及している。こうした記憶媒体に職務上の機密情報等の第3者に知られたくない情報を記憶させる場合に備え、パスワードによる利用者認証を行う装置やデータを暗号化して記憶させる装置が開発されている。例えば、下記特許文献1は、ユーザが入力するパスワードにより利用認証を行う携帯可能な記憶装置を開示している。
【0003】
【特許文献1】特表2003−524842号公報
【0004】
一方、こうした記憶装置においては、管理者とユーザなど、複数の立場で使い分けたいケースが存在する。例えば、管理者が使用する際には、記憶装置に接続された記憶媒体へのアクセスと、当該記憶媒体に係る各種設定とを行うことができ、管理者権限を持たないユーザが使用する際には、記憶装置に接続された記憶媒体へのアクセスのみ行うことができるというような運用を行いたいケースである。
【0005】
しかし、このようなケースにおいて特許文献1に記載の技術を用いると、管理者とユーザが同一のパスワードを管理しなくてはならず、さらに、両者のうち一方がパスワードを変更した場合には、その都度、他方にそのことを確実に伝える必要があり、運用が面倒であった。あるいは、このような状況を回避するために、パスワードを管理者用とユーザ用の2種類設定する必要があり、セキュリティ強度が低下することが問題となっていた。
【発明の開示】
【発明が解決しようとする課題】
【0006】
上述の問題を考慮し、本発明が解決しようとする課題は、複数の立場で利用認証する場合であっても、利便性と高度なセキュリティとを確保できる記憶装置の提供である。
【課題を解決するための手段】
【0007】
上記課題を解決する本発明の記憶装置は、
暗号化手段を用いて、利用者の認証を行える記憶装置であって、
所定の公開鍵と秘密鍵とを生成し、該公開鍵により暗号化を行い、該秘密鍵により復号化を行う公開鍵暗号化手段と、
前記記憶装置の利用者が入力する、前記記憶装置のユーザ用の識別情報を受け付けるユーザ用識別情報受付手段と、
前記利用者の認証を行うための初期設定として、前記公開鍵暗号化手段を用いて、前記ユーザ用の公開鍵と、前記記憶媒体の管理者用の公開鍵と秘密鍵とを生成するとともに、前記管理者の入力に応じて前記ユーザ用識別情報受付手段により受け付けられたユーザ用の識別情報をもとに第1の鍵を生成し、該第1の鍵を前記ユーザ用の公開鍵で暗号化した第2の鍵と、前記管理者用の公開鍵で暗号化した第3の鍵とを生成し、前記ユーザ用の公開鍵と前記管理者用の公開鍵と前記第2の鍵と前記第3の鍵とを、前記記憶装置が備え、または前記記憶装置に接続され、所望のデータを記憶させるための第1の記憶媒体に記憶させる初期設定手段と、
前記ユーザの入力に応じて前記ユーザ用識別情報受付手段により受け付けられたユーザ用の識別情報をもとに第4の鍵を生成し、前記公開鍵暗号化手段を用いて、該第4の鍵を前記記憶されたユーザ用の公開鍵で暗号化して、第5の鍵を生成し、該第5の鍵と前記記憶された第2の鍵とを照合して、ユーザが少なくとも前記第1の記憶媒体にアクセス可能とするためのユーザの認証を行うユーザ認証手段と、
前記管理者の操作に応じて、前記管理者用の秘密鍵を受け付ける管理者用秘密鍵受付手段と、
前記公開鍵暗号化手段を用いて、前記管理者用秘密鍵受付手段により受け付けられた管理者用の秘密鍵で前記記憶された第3の鍵を復号化して第6の鍵を生成し、該第6の鍵を前記記憶されたユーザ用公開鍵で暗号化して第7の鍵を生成し、該第7の鍵と前記記憶された第2の鍵とを照合して、前記管理者が、前記第1の記憶媒体にアクセス可能とするとともに、前記第1の記憶媒体に係る各種設定を設定可能とするための管理者認証を行う管理者認証手段と
を備えたことを要旨とする。
【0008】
かかる構成の記憶装置は、ユーザ用識別情報をもとにしてユーザ認証を行い、公開鍵暗号化手段が生成した管理者用の秘密鍵をもとにして管理者認証を行う。すなわち、ユーザ及び管理者の認証にそれぞれ異なる方法を用いるため、セキュリティ強度を低下させずに複数の利用者の認証を行える。
【0009】
なお、本願において、記憶装置とは、記憶媒体と記憶媒体へのデータの書き込み等を行う記憶媒体制御装置とを一体的に備えた装置、例えば、USBフラッシュメモリ、外付けハードディスクドライブ、コンピュータ等の種々の装置と、記憶媒体と脱着可能に接続でき、当該記憶媒体へのデータ書き込み等を行う制御装置、例えば、CDドライブ、DVDドライブ、MOドライブ、ブルーレイドライブ、メモリカードリーダ等の種々の装置とを併せた総称である。
【0010】
また、こうした記憶装置において、第1の記憶媒体は、所定のプログラムでしかアクセスできない隠し領域を備え、初期設定手段は、ユーザ用の公開鍵と前記管理者用の公開鍵と第2の鍵と第3の鍵とを隠し領域に記憶させることとしてもよい。
【0011】
かかる構成の記憶装置は、管理者及びユーザの認証に関係する情報を記憶装置に接続された記憶媒体の隠し領域に記憶させるため、万が一、記憶装置が第3者の手に渡った場合であっても、これらの情報に簡単にアクセスすることができない。したがって、記憶装置に接続された記憶媒体のセキュリティを高めることができる。
【0012】
また、こうした記憶装置において、初期設定手段は、更に、管理者用の秘密鍵を記憶装置と接続された第2の記憶媒体に記憶させ、管理者用秘密鍵受付手段は、管理者の、管理者用の秘密鍵が記憶された場所を指定する操作に応じて、管理者用の秘密鍵を受け付けることとしてもよい。
【0013】
かかる構成の記憶装置は、管理者認証の認証鍵として用いる管理者用の秘密鍵を、所望のデータを記憶させる第1の記憶媒体とは別の第2の記憶媒体に記憶させるため、所望のデータを記憶させた第1の記憶媒体を紛失するなどして、第3者に渡った場合であっても、第1の記憶媒体に利用者認証に必要な認証鍵の情報が記憶されておらず、第3者は容易に利用者認証されることがない。また、管理者は、認証鍵を暗記しておく必要も、紙等に記録して保管しておく必要もない。したがって、セキュリティを確保できると共に、秘密鍵の情報を簡便かつ確実に管理できる。
【0014】
また、こうした記憶装置において、更に、ユーザ認証が行われた後に、ユーザ用の識別情報を変更するために、ユーザの入力に応じて、新たなユーザ用の識別情報を受け付ける新ユーザ用識別情報受付手段と、新ユーザ用識別情報受付手段が新たなユーザ用の識別情報を受け付けた時には、初期設定手段を用いて、新たなユーザ用の識別情報をもとに、少なくとも前記第1ないし第3の鍵を生成し直し、該生成し直した新たな第2の鍵及び新たな第3の鍵を第1の記憶媒体に記憶させて、初期設定を変更する初期設定変更手段とを備えたものとしてもよい。
【0015】
かかる構成の記憶装置は、ユーザがユーザ用の識別情報を変更した際に、記憶媒体に記憶された、管理者認証に必要な情報を併せて変更するため、管理者は、ユーザがユーザ用の識別情報を変更した場合であっても、変更前と同様の方法の管理者認証が行える。
【0016】
また、こうした記憶装置において、初期設定変更手段は、新ユーザ用識別情報受付手段が新たなユーザ用の識別情報を受け付けた時には、初期設定手段を用いて、新たなユーザ用の識別情報をもとに、第1ないし第3の鍵と、ユーザ用の公開鍵とを生成し直し、該生成し直した新たな第2の鍵と新たな第3の鍵と新たなユーザ用の公開鍵とを第1の記憶媒体に記憶させて、初期設定を変更するものとしてもよい。
【0017】
かかる構成の記憶装置は、ユーザがユーザ用の識別情報を変更した際に、ユーザ用の公開鍵を併せて変更するため、セキュリティを高めることができる。
【0018】
また、こうした記憶装置において、更に、所定の共通鍵を生成し、該共通鍵により暗号化または復号化を行う共通鍵暗号化手段と、所望のデータを、第1の鍵を共通鍵暗号化手段の共通鍵として利用して暗号化して、第1の記憶媒体に入力するデータ入力手段と、データ入力手段により暗号化して入力された所望のデータを、第1の鍵を共通鍵暗号化手段の共通鍵として利用して復号化して、第1の記憶媒体から出力するデータ出力手段とを備えた装置としてもよい。
【0019】
かかる構成の記憶装置は、第1の記憶媒体に記憶する所望のデータを、処理速度の速い共通鍵暗号化方式により暗号化するための共通鍵を、セキュリティの高い公開鍵暗号方式で暗号化して、暗号化された共通鍵を記憶媒体に記憶させるので、記憶媒体への書き込み速度と記憶媒体のセキュリティを両立させることができる。また、2種類の暗号化方式を用いているために、1種類の暗号化方式を用いる場合と比べて、セキュリティが向上する。
【0020】
なお、本発明は、上述した記憶装置としての構成のほか、利用者認証方法としても構成することができる。
【発明を実施するための最良の形態】
【0021】
本発明の実施例について、以下の順序で説明する。
(1)USBフラッシュメモリの概略構成:
(2)利用者認証の初期設定方法:
(3)ユーザ認証方法:
(4)ユーザパスワード変更方法:
(5)管理者認証方法:
(6)データの暗号化保存方法:
【0022】
(1)USBフラッシュメモリの概略構成:
図1は、本願の実施例としてのUSBフラッシュメモリ10の概略構成を示す説明図である。USBフラッシュメモリ10は、汎用入出力ポート110、CPU120、ROM130、SRAM140、暗号用回路150、内部インターフェース160、フラッシュメモリ170、USBコネクタ190、電圧制御部200を備えており、それぞれが内部バスで接続されている。
【0023】
汎用入出力ポート110は、USBフラッシュメモリ10に図示しない指紋認証装置等の付加デバイスを接続する場合に利用するパラレルインターフェースである。
【0024】
CPU120は、フラッシュメモリ170やROM130に記憶されたUSBフラッシュメモリ10の制御に関するプログラムをSRAM140に展開し、実行することで、利用者の認証や、フラッシュメモリ170へのデータ書き込み等の機能部として動作する。
【0025】
ROM130は、不揮発性メモリであり、USBフラッシュメモリ10をコンピュータPCに接続した際に、USBフラッシュメモリ10を起動させるためのファームウェアが保存されている。
【0026】
SRAM140は、CPU120が各種処理を行う際に利用するバッファである。本実施例では、単純化のために単一のバッファとして示しているが、各処理の高速化のために、例えば、フラッシュメモリ170のためのバッファと暗号用回路150のためのバッファからなる構成としてもよい。
【0027】
暗号用回路150は、フラッシュメモリ170に入出力するデータや、USBフラッシュメモリ10を利用可能とするための利用者認証を行うためのパスワード等を暗号化/復号化するための回路であり、公開鍵暗号と共通鍵暗号の両方式の回路を備えている。本実施例においては、公開鍵暗号はRSA方式、共通鍵方式はAES方式を採用した。なお、本実施例においては、暗号化手段として暗号用回路150を用いたが、暗号化ソフトウェアなど、別の方法を用いてもよい。
【0028】
内部インターフェース160は、フラッシュメモリ170とデータをやり取りするためのインターフェースから成る。
【0029】
フラッシュメモリ170は、ブロック単位でデータの消去を行う不揮発性メモリであり、本実施例では、大容量化に適したNAND型のフラッシュメモリとした。
【0030】
USBコネクタ190は、バスパワード電源の利用が可能なシリアルインターフェースであり、USBポートを備えたホストコンピュータPCに接続される。
【0031】
電圧制御部200は、USBコネクタ190を介して接続されたホストコンピュータPCから供給される5Vのバスパワード電源を、例えば、3.3Vに調整し、各部へ供給する。
【0032】
図2は、図1に示したフラッシュメモリ170の内部領域を示す説明図である。フラッシュメモリ170は、隠し領域171、フリー領域172、セキュア領域174を備えている。また、フリー領域172及びセキュア領域174は、それぞれ、フリー領域用、またはセキュア領域用のマスターブートレコード領域、パーティション情報領域、ファイルシステム情報領域、データ情報領域(図中の181〜184,186〜189)を備えている。
【0033】
隠し領域171は、CPU120が使用するプログラムや、後述する利用者認証やフラッシュメモリ170に保存するデータの暗号化に関する情報を記憶する領域である。フリー領域172は、利用者認証を行わずに、アクセスできる領域である。セキュア領域174は、利用者認証に成功した場合のみアクセス可能となる領域である。
【0034】
マスターブートレコード領域181,186は、USBフラッシュメモリ10の起動時に最初に読み出される領域であり、USBフラッシュメモリ10のドライバを起動させるための情報等を記憶する領域である。パーティション情報領域182,187は、上述の内部領域の位置や大きさなどを記録したパーティションテーブルを記憶する領域である。ファイルシステム情報領域183,188は、ファイルやディレクトリを管理する情報を記憶する領域である。データ情報領域184,189は、フラッシュメモリ170に保存すべきデータを記憶する領域である。
【0035】
上述の隠し領域171は、専用のプログラムを用いてしか見ることができない領域である。したがって、USBフラッシュメモリ10を接続したホストコンピュータPCのOS上では、通常、見ることができない。一方、フリー領域172は、USBフラッシュメモリ10をホストコンピュータPCに接続しただけで、ホストコンピュータPCのOS上で見ることができる領域である。また、セキュア領域174は、利用者認証が成功した後に見ることができる領域である。
【0036】
このUSBフラッシュメモリ10は、他人に知られたくない情報をフラッシュメモリ170のセキュア領域用データ情報領域189に記憶させる場合のセキュリティ機能として、暗号化機能と利用者認証機能を備えている。暗号化機能は、上述の暗号用回路150を用いて、USBフラッシュメモリ10と接続されたホストコンピュータPCが記憶するデータを暗号化してセキュア領域用データ情報領域189に記憶させ、また、セキュア領域用データ情報領域189に記憶した暗号化されたデータを復号化して、ホストコンピュータPCに出力させる機能である。利用者認証機能は、利用者がUSBフラッシュメモリ10を利用する際に、利用者にパスワード等の情報を入力させて、予め利用を許された利用者であるか否かを確認し、予め利用を許された利用者であることが確認できた場合にのみUSBフラッシュメモリ10のセキュア領域174の使用が許可される機能である。
【0037】
また、このUSBフラッシュメモリ10は、ユーザモード、管理者モードと呼ばれる2つの利用モードを備えている。ユーザモードでは、USBフラッシュメモリ10をホストコンピュータPCに接続して、ホストコンピュータPCが記憶するデータをフリー領域用データ情報領域184や、セキュア領域用データ情報領域189に記憶させたり、フリー領域用データ情報領域184や、セキュア領域用データ情報領域189に記憶したデータをホストコンピュータPCに出力したりすることができる。管理者モードでは、上述のユーザモードでの動作に加えて、USBフラッシュメモリ10の各種設定、例えば、ユーザパスワードを間違えて入力した場合の許容入力回数を制限する設定やフリー領域172を変更できないようにする設定などを行うことができる。したがって、上述の利用者認証機能は、ユーザモードへの認証と管理者モードへの認証とが用意されている。
【0038】
(2)利用者認証の初期設定方法:
図3は、USBフラッシュメモリ10の利用者認証を行うための初期設定の手順を示すフローチャートである。この初期設定は、上述の管理者のみが実施権限を持っている。図示する一連の処理は、管理者が、USBフラッシュメモリ10を管理者用のコンピュータPCmに接続し、コンピュータPCmのモニタに表示される選択画面の中から「初期設定」を選択することで開始される。この処理が開始されると、CPU120は、初期設定を行う管理者からユーザ用仮パスワードPW0を受け付ける(ステップS100)。このユーザ用仮パスワードPW0は、デフォルトパスワードとして、出荷時に決められているものであり、ユーザがUSBフラッシュメモリ10を使用する際には、ユーザ用パスワードPW1に変更することが可能である(詳細は後述)。
【0039】
次に、CPU120は、受け付けたユーザ用仮パスワードPW0から鍵A0を生成する(ステップS110)。なお、本実施例においては、鍵A0は、受け付けたユーザ用仮パスワードPW0の文字列をUNICODEにより数値変換するものとしたが、これに限られるものではなく、入力されたパスワードから一意に求められる鍵を生成できる方法であればよい。例えば、疑似乱数生成器を用いてソルトを生成し、このソルトとユーザ用仮パスワードPW0から一方向ハッシュ関数を用いて、鍵A0を生成するなど、別の方法を用いてもよい。
【0040】
鍵A0を生成すると、CPU120は、暗号用回路150を用いて、RSA暗号の鍵ペアであるユーザ用公開鍵B0とユーザ用秘密鍵C0を生成する(ステップS120)。
【0041】
そして、CPU120は、上記ステップS120で生成したユーザ用公開鍵B0で、上記ステップS110で生成した鍵A0を暗号化し、鍵A0B0を生成し(ステップS130)、この鍵A0B0とユーザ用公開鍵B0とをフラッシュメモリ170の隠し領域171に保存する(ステップS140,S150)とともに、鍵A0を、USBフラッシュメモリ1に接続されたコンピュータPCmのRAMに保存する(ステップS160)。なお、鍵A0B0、ユーザ用公開鍵B0は、後述する利用者認証に用いる情報であり、このような情報を上述のように隠し領域171に保存すれば、万一、USBフラッシュメモリ10が紛失等により第3者に渡った場合であっても、容易に利用者認証を行うことができず、USBメモリ10に保存したデータの機密性を確保することができる。
【0042】
次に、CPU120は、暗号用回路150を用いて、RSA暗号の鍵ペアである管理者用公開鍵D0と管理者用秘密鍵E0を生成する(ステップS170)。
【0043】
そして、CPU120は、上記ステップS170で生成した管理者用公開鍵D0で、上記ステップS160でコンピュータPCmのRAMに保存した鍵A0を読み出して暗号化し、鍵A0D0を生成し(ステップS180)、この鍵A0D0と管理者用公開鍵D0とをフラッシュメモリ170の隠し領域171に保存する(ステップS190,S200)。
【0044】
そして、CPU120は、コンピュータPCmのモニタに、管理者用秘密鍵E0の保存場所の入力指示画面を表示して、管理者の入力を受け付け、管理者用秘密鍵E0を、管理者用のコンピュータPCmのハードディスクの指定された場所に保存する(ステップS210)。
【0045】
以上の処理により、管理者による利用者認証のための初期設定は完了する。これにより、USBフラッシュメモリ10は、接続していたコンピュータPCmから取り外され、ユーザの利用に供される。なお、上述の鍵A0、鍵A0B0、鍵A0B0は、それぞれ、請求項の第1の鍵、第2の鍵、第3の鍵の例である。
【0046】
(3)ユーザ認証方法:
図4は、ユーザが、ユーザモードでUSBフラッシュメモリ10のセキュア領域174の利用を行う際の利用者認証の手順を示すフローチャートである。図示する一連の処理は、ユーザが、上述の初期設定が完了したUSBフラッシュメモリ10をユーザ用のコンピュータPCuに接続し、コンピュータPCuのモニタに表示される選択画面の中から「ユーザモード認証」を選択することで開始される。ユーザは、このUSBフラッシュメモリ10のセキュア領域174を利用するためには、以下に説明するユーザ認証を経なければならない。この処理が開始されると、USBフラッシュメモリ10のCPU120は、ユーザからユーザ用仮パスワードPW0を受け付ける(ステップS300)。なお、ステップS300においてユーザ用仮パスワードPW0を受け付けるのは、後述するユーザ用パスワードの変更がなされる前の段階であり、ユーザが、ユーザ用仮パスワードPW0を所望のユーザ用パスワードPW1に変更した場合には、ユーザ用パスワードPW1を受け付けることとなる。
【0047】
次に、CPU120は、受け付けたユーザ用仮パスワードPW0から鍵A0を生成する(ステップS300)。この処理は、上記ステップS110と同一の処理である。
【0048】
鍵A0を生成すると、CPU120は、フラッシュメモリ170の隠し領域171から、上記ステップS150で保存されたユーザ用公開鍵B0を読み出し、このユーザ用公開鍵B0で、上記ステップS300で生成された鍵A0を暗号化し、鍵A0B0を生成する(ステップS320)。
【0049】
鍵A0B0を生成すると、CPU120は、このステップS320で生成された鍵A0B0と、上記ステップS140でフラッシュメモリ170の隠し領域171に保存された鍵A0B0とを照合する(ステップ330)。
【0050】
その結果、両鍵が一致しなければ(ステップS330:NO)、ステップS300で入力されたユーザ用仮パスワードが正しくないということであり、CPU120は、USBフラッシュメモリ10が接続されたコンピュータPCuの画面にエラー表示をさせ(ステップS340)、ステップS300に戻る。
【0051】
一方、両鍵が一致すれば(ステップS330:YES)、ステップS300で入力されたユーザ用仮パスワードが正しいということであり、CPU120は、鍵A0をコンピュータPCuのRAMに保存して(ステップS350)、ユーザ操作モードへ移行し(ステップS360)、ユーザモードでの利用者認証を完了する。このユーザ操作モードでは、フリー領域用データ情報領域184及びセキュア領域用データ情報領域189へのデータの入出力の他、フリー領域172とセキュア領域174との割合変更や、後述するユーザ用パスワードの変更が可能である。なお、上記ステップS350で鍵A0をコンピュータPCuのRAMに保存するのは、USBフラッシュメモリ10をコンピュータPCuから取り外した場合に、セキュリティの観点から、鍵A0をUSBフラッシュメモリ10内に残さないようにするためであり、USBフラッシュメモリ10のSRAM140に保存することでもよい。また、本実施例においては、この鍵A0は、セキュア領域用データ情報領域189にデータを暗号化して保存する場合の暗号鍵として使用される(詳細は後述)。
【0052】
なお、上記ステップS310で生成された鍵A0は、請求項の第4の鍵の例であり、上記ステップS320で生成された鍵A0B0は、請求項の第5の鍵の例である。
【0053】
(4)ユーザパスワード変更方法:
図5は、ユーザが、ユーザモードでUSBフラッシュメモリ10のユーザ用パスワードの変更を行う際の手順を示すフローチャートである。ユーザは、上述のユーザ認証に成功すると、フラッシュメモリ170内のセキュア領域174へのアクセスの他に、ユーザ用パスワードを変更する権限を持っている。図示する一連の処理は、ユーザが、USBフラッシュメモリ10をユーザ用のコンピュータPCuに接続し、上述のユーザモード認証を行ってユーザ操作モードに移行させた後、コンピュータPCuのモニタに表示される選択画面の中から「ユーザ用パスワード変更」を選択することで開始される。この処理が開始されると、USBフラッシュメモリ10のCPU120は、ユーザからユーザ用新パスワードPW1を受け付ける(ステップS400)。
【0054】
次に、CPU120は、受け付けたユーザ用新パスワードPW1から鍵A1を生成する(ステップS110)。なお、鍵A1の生成方法は、上記ステップS110と同一である。
【0055】
鍵A1を生成すると、CPU120は、暗号用回路150を用いて、RSA暗号の新たな鍵ペアであるユーザ用公開鍵B1とユーザ用秘密鍵C1を生成する(ステップS420)。
【0056】
次に、CPU120は、上記ステップS420で生成したユーザ用公開鍵B1が、上記ステップS120で生成されたユーザ用公開鍵B0と同一でなく、かつ、上記ステップS170で生成された管理者用公開鍵D0と同一でないかを判断する(ステップS430)。その結果、ユーザ用公開鍵B1が、ユーザ用公開鍵B0または管理者用公開鍵D0と同一であると判断された場合には(ステップS430:NO)、CPU120は、処理をステップS420に戻し、再度、ユーザ用公開鍵とユーザ用秘密鍵を生成し直す。
【0057】
一方、ユーザ用公開鍵B1が、ユーザ用公開鍵B0と同一でなく、かつ管理者用公開鍵D0と同一でない判断された場合には(ステップS430:YES)、CPU120は、上記ステップS420で生成したユーザ用公開鍵B1で、上記ステップS410で生成した鍵A1を暗号化し、鍵A1B1を生成し(ステップS440)、この鍵A1B1とユーザ用公開鍵B1とをフラッシュメモリ170の隠し領域171に保存する(ステップS450,S460)。
【0058】
次に、CPU120は、上記ステップS170で生成した管理者用公開鍵D0で、上記ステップS410で生成した鍵A1を暗号化し、鍵A1D0を生成し(ステップS470)、この鍵A1D0をフラッシュメモリ170の隠し領域171に保存する(ステップS480)。
【0059】
以上により、ユーザによるユーザ用パスワードの設定が完了し、この後、ユーザは自らが所望する新たなパスワードを使用してユーザ認証を行うことができる。
【0060】
なお、本実施例においては、上記ステップS420において、ユーザ用公開鍵B1、ユーザ用秘密鍵C1を新たに生成したが、これは同一の鍵ペアを使用し続けるよりも、ユーザ用パスワードの変更という契機を利用して、新たな鍵ペアに変更した方がセキュリティを向上させることができると考えられるためであり、必ずしも行う必要があるわけではない。新たに生成したユーザ用公開鍵B1に代えて、図3に示した初期設定のステップS120において生成したユーザ用公開鍵B0をそのまま用いてもよい。その場合には、上記ステップS420,S430は不要となり、上記ステップ440で鍵A1B1に代えて鍵A1B0を生成することとなる。また、上記ステップS440〜S490は図3に示した初期設定の変更にあたり、上述の鍵A1B1、鍵A1D0は、請求項の新たな第2及び第3の鍵の例である。
【0061】
(5)管理者認証方法:
図6は、管理者が、管理者モードでUSBフラッシュメモリ10のセキュア領域174の利用または各種設定を行う際の管理者認証の手順を示すフローチャートである。図示する一連の処理は、管理者がUSBフラッシュメモリ10を管理者用のコンピュータPCmに接続し、コンピュータPCmのモニタに表示される選択画面の中から「管理者モード認証」を選択することで開始される。管理者は、このUSBフラッシュメモリ10のセキュア領域174を利用するためには、以下に説明する管理者認証を経なければならない。なお、図示する例は、この処理に先駆けて、上述のユーザ用パスワードの変更がなされた場合である。この処理が開始されると、USBフラッシュメモリ10のCPU120は、管理者から管理者用の認証鍵である管理者用秘密鍵E0を受け付ける(ステップS600)。
【0062】
この処理は、本実施例では、CPU120がコンピュータPCmのモニタに表示させる指示画面に従い、管理者が、管理者用秘密鍵E0の保存場所(本実施例においては、図3の初期設定のステップS210において指定した、コンピュータPCmのハードディスクの所定の場所)を指定し、CPU120が、その指定された場所に保存された管理者用秘密鍵E0を読み込んで受け付けることとしたが、これに限るものではない。例えば、管理者がコンピュータPCmのハードディスクの所定の場所に保存された管理者用秘密鍵E0の内容をコピーして、CPU120がコンピュータPCmの画面に表示させる指示画面にペーストする操作に応じて、CPU120が管理者用秘密鍵E0を受け付ける方法や、管理者が予め紙面に記録した管理者用秘密鍵E0の内容を入力することで、CPU120が管理者用秘密鍵E0を受け付ける方法など、種々の方法が考えられる。
【0063】
管理者用秘密鍵E0を受け付けると、CPU120は、フラッシュメモリ170の隠し領域171から、上記ステップS480で保存された鍵A1D0を読み出し、この鍵A1D0を、上記ステップS600で受け付けた管理者用秘密鍵E0で復号化し、第6の鍵である鍵A1を生成する(ステップS610)。
【0064】
鍵A1を生成すると、CPU120は、フラッシュメモリ170の隠し領域171から、上記ステップS460で保存されたユーザ用公開鍵B1を読み出し、このユーザ用公開鍵B1で、上記ステップS610で生成された鍵A1を暗号化し、第7の鍵である鍵A1B1を生成する(ステップS620)。
【0065】
鍵A1B1を生成すると、CPU120は、このステップS620で生成された鍵A0B0と、上記ステップS450でフラッシュメモリ170の隠し領域171に保存された鍵A1B1とを照合する(ステップS630)。
【0066】
その結果、両鍵が一致しなければ(ステップS630:NO)、上記ステップS600で受け付けた管理者用秘密鍵E0(管理者用認証鍵)が正しくないということであり、CPU120は、USBフラッシュメモリ10が接続されたコンピュータPCmの画面にエラー表示をさせ(ステップS640)、ステップS600に戻る。
【0067】
一方、両鍵が一致すれば(ステップS630:YES)、上記ステップS600で受け付けた管理者用秘密鍵E0が正しいということであり、CPU120は、鍵A1をコンピュータPCmのRAMに保存して(ステップS650)、管理者操作モードへ移行し(ステップS660)、管理者モードでの利用者認証を完了する。この管理者操作モードでは、ユーザ操作モードで可能な操作に加えて、USBフラッシュメモリ10に係る各種設定が可能である。なお、鍵A1をコンピュータPCmのRAMに保存するのは、USBフラッシュメモリ10をコンピュータPCmから取り外した場合に、鍵A1をUSBフラッシュメモリ10内に残さないようにするためであり、USBフラッシュメモリ10のSRAM140に保存することでもよい。また、この鍵A1は、フラッシュメモリ170でデータを暗号化して保存する場合の暗号鍵として使用してもよい(詳細は後述)。
【0068】
なお、上記の例では、管理者認証を行う前に、図5によるユーザ用パスワードの変更を行って、ユーザ用パスワードPW1を設定しているものとして、上記ステップS610においては、上記ステップS480でフラッシュメモリ170に保存された鍵A1D0を読み出し、これを復号化して鍵A1を生成し、これを暗号化してA1B1を生成し、これと上記ステップS450でフラッシュメモリ170に保存された鍵A1B1とを照合して、管理者認証を行ったが、ユーザが図5によるユーザパスワード変更を行わず、デフォルトのユーザ用仮パスワードPW0のまま、USBフラッシュメモリ10を利用していた場合には、上記ステップS190でフラッシュメモリ170に保存された鍵A0D0を読み出し、これを復号化して鍵A0を生成し、これを暗号化してA0B0を生成し、これと上記ステップS140でフラッシュメモリ170に保存された鍵A0B0とを照合して、管理者認証を行うことは勿論である。
【0069】
なお、上記ステップS610で生成された鍵A1は、請求項の第6の鍵の例であり、上記ステップS620で生成された鍵A1B1は、請求項の第7の鍵の例である。
【0070】
かかる構成のUSBフラッシュメモリ10は、ユーザ及び管理者の認証にそれぞれ異なる方法を用いるため、セキュリティ強度を低下させずに複数の利用者の認証を行える。また、管理者が初期設定を行った後に、ユーザの利用に供し、ユーザが自ら所望する新たなパスワードを設定しても、管理者は、自らのコンピュータPCmに保存している管理者用秘密鍵E0を用いて、管理者認証を行うことができる。したがって、USBフラッシュメモリ10の運用が容易となる。
【0071】
(6)データの暗号化保存方法:
図7は、ユーザが、ユーザ用コンピュータPCuに保存された所定のデータDを暗号化して、USBフラッシュメモリ10が備えるフラッシュメモリ170のセキュア領域用データ情報領域189に保存する手順を示すフローチャートである。図示する一連の処理は、ユーザが、図4のユーザモードでの認証に成功し、ユーザ操作モードへ移行した後、所定の指示、例えば、コンピュータPCuのモニタ上に表示された暗号化領域を示すウィンドウに、フラッシュメモリ170に保存したいファイルをドラッグすることで開始される。この処理が開始されると、USBフラッシュメモリ10のCPU120は、ユーザ用コンピュータPCuのRAMから、図4のステップS350において保存した鍵A0を読み込む(ステップS700)。
【0072】
鍵A0を読み込むと、CPU120は、ユーザ用コンピュータPCuから、USBコネクタ180を介して、フラッシュメモリ170に保存したいファイルのデータDを受け付け、SRAM140に保存する(ステップS710)。
【0073】
保存したいデータを受け付けると、CPU120は、上記ステップS700で読み込んだ鍵A0を共通鍵暗号化方式の共通鍵として、SRAM140、暗号用回路150を用いて、データを暗号化する(ステップS720)。なお、本実施例では、ユーザ用パスワードPW0から生成された鍵A0を上述の共通鍵として用いたが、これに限られるものではなく、ユーザ用パスワードPW0や鍵A0と関連しない鍵を用いてもよい。
【0074】
そして、CPU120は、上記ステップS720で暗号化されたデータDをフラッシュメモリ170のセキュア領域用データ情報領域189に保存する(ステップS730)。
【0075】
以上の処理により、ユーザ用コンピュータPCuに保存された所定のデータが、USBフラッシュメモリ10が備えるフラッシュメモリ170のセキュア領域用データ情報領域189に暗号化されて保存される。なお、上記の例では、図5に示したユーザ用パスワードの変更が行われていない状態で行われたものとして、共通鍵に鍵A0を用いたが、パスワード変更後であれば、当然、鍵A1が用いられることとなる。また、管理者が、管理者モードでの認証に成功し、管理者操作モードへ移行した後に行う場合についても同様である。さらに、図7の手順により暗号化して保存されたデータDを復号化して、ユーザ用コンピュータPCuに保存する場合についても、同様の流れで、共通鍵A0の読み込み、暗号化データの読み込み、復号化、コンピュータPCuの所定の場所への保存が行われる。
【0076】
かかる構成のUSBフラッシュメモリ10は、利用者認証と保存データの暗号化に、公開鍵方式と共通鍵方式の2種類の暗号化方式を用いているために、1種類の暗号化方式を用いる場合と比べて、セキュリティが向上する。また、処理速度の速い共通鍵暗号化方式をデータの暗号化に用い、セキュリティの高い公開鍵暗号化方式を利用者認証用いることで、処理速度と記憶媒体のセキュリティを両立させることができる。
【0077】
以上、本発明の実施例について説明したが、本発明はこうした実施例に限られるものではなく、本発明の要旨を脱しない範囲において、種々なる態様で実施できることは勿論である。例えば、本発明の記憶装置は、実施例に示したUSBフラッシュメモリに限らず、外付けハードディスクドライブ、CDドライブ、DVDドライブ、MOドライブ、ブルーレイドライブ、メモリカードリーダ等、種々の記憶装置に適用することができる。また、利用者認証方法としての形態でも実現が可能であり、例えば、ノート型コンピュータの利用者認証に適用して、管理者用秘密鍵E0をUSBフラッシュメモリに保存する態様や、携帯電話の利用者認証に適用して、管理者用秘密鍵E0をSDカードやminiSDに保存する態様など、種々の態様が考えられる。
【図面の簡単な説明】
【0078】
【図1】実施例としてのUSBフラッシュメモリ10の概略構成を示す説明図である。
【図2】フラッシュメモリ170の内部領域を示す説明図である。
【図3】USBフラッシュメモリ10の利用者認証を行うための初期設定の手順を示すフローチャートである。
【図4】ユーザがユーザモードでUSBフラッシュメモリ10のセキュア領域174の利用を行う際の利用者認証の手順を示すフローチャートである。
【図5】ユーザがユーザモードでUSBフラッシュメモリ10のユーザ用パスワードの変更を行う際の手順を示すフローチャートである。
【図6】管理者が管理者モードでUSBフラッシュメモリ10のセキュア領域174の利用または各種設定を行う際の管理者認証の手順を示すフローチャートである。
【図7】ユーザがユーザ用コンピュータPCuに保存された所定のデータDを暗号化してUSBフラッシュメモリ10のセキュア領域用データ情報領域189に保存する手順を示すフローチャートである。
【符号の説明】
【0079】
10…USBフラッシュメモリ
110…汎用入出力ポート
120…CPU
130…ROM
140…SRAM
150…暗号用回路
160…内部インターフェース
170…フラッシュメモリ
171…隠し領域
172…フリー領域
174…セキュア領域
181…フリー領域用マスターブートレコード領域
182…フリー領域用パーティション情報領域
183…フリー領域用ファイルシステム情報領域
184…フリー領域用データ情報領域
186…セキュア領域用マスターブートレコード領域
187…セキュア領域用パーティション情報領域
188…セキュア領域用ファイルシステム情報領域
189…セキュア領域用データ情報領域
190…USBコネクタ
200…電圧制御部

【特許請求の範囲】
【請求項1】
暗号化手段を用いて、利用者の認証を行える記憶装置であって、
所定の公開鍵と秘密鍵とを生成し、該公開鍵により暗号化を行い、該秘密鍵により復号化を行う公開鍵暗号化手段と、
前記記憶装置の利用者が入力する、前記記憶装置のユーザ用の識別情報を受け付けるユーザ用識別情報受付手段と、
前記利用者の認証を行うための初期設定として、前記公開鍵暗号化手段を用いて、前記ユーザ用の公開鍵と、前記記憶媒体の管理者用の公開鍵と秘密鍵とを生成するとともに、前記管理者の入力に応じて前記ユーザ用識別情報受付手段により受け付けられたユーザ用の識別情報をもとに第1の鍵を生成し、該第1の鍵を前記ユーザ用の公開鍵で暗号化した第2の鍵と、前記管理者用の公開鍵で暗号化した第3の鍵とを生成し、前記ユーザ用の公開鍵と前記管理者用の公開鍵と前記第2の鍵と前記第3の鍵とを、前記記憶装置が備え、または前記記憶装置に接続され、所望のデータを記憶させるための第1の記憶媒体に記憶させる初期設定手段と、
前記ユーザの入力に応じて前記ユーザ用識別情報受付手段により受け付けられたユーザ用の識別情報をもとに第4の鍵を生成し、前記公開鍵暗号化手段を用いて、該第4の鍵を前記記憶されたユーザ用の公開鍵で暗号化して、第5の鍵を生成し、該第5の鍵と前記記憶された第2の鍵とを照合して、ユーザが少なくとも前記第1の記憶媒体にアクセス可能とするためのユーザの認証を行うユーザ認証手段と、
前記管理者の操作に応じて、前記管理者用の秘密鍵を受け付ける管理者用秘密鍵受付手段と、
前記公開鍵暗号化手段を用いて、前記管理者用秘密鍵受付手段により受け付けられた管理者用の秘密鍵で前記記憶された第3の鍵を復号化して第6の鍵を生成し、該第6の鍵を前記記憶されたユーザ用公開鍵で暗号化して第7の鍵を生成し、該第7の鍵と前記記憶された第2の鍵とを照合して、前記管理者が、前記第1の記憶媒体にアクセス可能とするとともに、前記第1の記憶媒体に係る各種設定を設定可能とするための管理者認証を行う管理者認証手段と
を備えた記憶装置。
【請求項2】
請求項1記載の記憶装置であって、
前記第1の記憶媒体は、所定のプログラムでしかアクセスできない隠し領域を備え、
前記初期設定手段は、前記ユーザ用の公開鍵と前記管理者用の公開鍵と前記第2の鍵と前記第3の鍵とを前記隠し領域に記憶させる
記憶装置。
【請求項3】
請求項1または請求項2記載の記憶装置であって、
前記初期設定手段は、更に、前記管理者用の秘密鍵を前記記憶装置と接続された第2の記憶媒体に記憶させ、
前記管理者用秘密鍵受付手段は、前記管理者の、前記管理者用の秘密鍵が記憶された場所を指定する操作に応じて、前記管理者用の秘密鍵を受け付ける
記憶装置。
【請求項4】
請求項1ないし請求項3のいずれか記載の記憶装置であって、
更に、前記ユーザ認証が行われた後に、前記ユーザ用の識別情報を変更するために、前記ユーザの入力に応じて、新たなユーザ用の識別情報を受け付ける新ユーザ用識別情報受付手段と、
前記新ユーザ用識別情報受付手段が前記新たなユーザ用の識別情報を受け付けた時には、前記初期設定手段を用いて、前記新たなユーザ用の識別情報をもとに、少なくとも前記第1ないし第3の鍵を生成し直し、該生成し直した新たな第2の鍵及び新たな第3の鍵を前記第1の記憶媒体に記憶させて、初期設定を変更する初期設定変更手段と
を備えた記憶装置。
【請求項5】
請求項4記載の記憶装置であって、
前記初期設定変更手段は、前記新ユーザ用識別情報受付手段が前記新たなユーザ用の識別情報を受け付けた時には、前記初期設定手段を用いて、前記新たなユーザ用の識別情報をもとに、前記第1ないし第3の鍵と、前記ユーザ用の公開鍵とを生成し直し、該生成し直した新たな第2の鍵と新たな第3の鍵と新たなユーザ用の公開鍵とを前記第1の記憶媒体に記憶させて、初期設定を変更する
記憶装置。
【請求項6】
請求項1ないし請求項5のいずれか記載の記憶装置であって、
更に、所定の共通鍵を生成し、該共通鍵により暗号化及び復号化を行う共通鍵暗号化手段と、
前記所望のデータを、前記第1の鍵を前記共通鍵暗号化手段の共通鍵として利用して暗号化して、前記第1の記憶媒体に入力するデータ入力手段と、
前記データ入力手段により暗号化して入力された所望のデータを、前記第1の鍵を前記共通鍵暗号化手段の共通鍵として利用して復号化して、前記第1の記憶媒体から出力するデータ出力手段と
を備えた記憶装置。
【請求項7】
請求項1ないし請求項6記載の記憶装置であって、
前記第1の記憶媒体は、前記ユーザ認証または前記管理者認証が行われる前において、アクセス可能な記憶領域を備えた
記憶装置。
【請求項8】
請求項1ないし請求項7記載の記憶装置であって、
前記第1の記憶媒体は、前記ユーザ認証または前記管理者認証が行われた後にのみ、アクセス可能な記憶領域を備えた
記憶装置。
【請求項9】
公開鍵暗号化手段を用いて、利用者が所定の装置を利用可能とするために利用者の認証を行う利用者認証方法であって、
前記利用者の認証を行うための初期設定として、前記装置が、該装置のユーザ用の公開鍵と、管理者用の公開鍵と秘密鍵とを生成すると共に、前記装置の管理者の入力に応じて前記ユーザ用の識別情報を受け付けて、該ユーザ用の識別情報をもとに第1の鍵を生成し、該第1の鍵を前記ユーザ用の公開鍵で暗号化した第2の鍵と、前記管理者用の公開鍵で暗号化した第3の鍵とを生成し、前記ユーザ用の公開鍵と前記管理者用の公開鍵と前記第2の鍵と前記第3の鍵とを、前記記憶装置が備えた、または前記記憶装置に接続された記憶媒体に記憶させ、
前記ユーザが前記装置の機能の少なくとも一部を利用可能とするためにユーザ認証を行う際には、前記ユーザの入力に応じて前記ユーザ用の識別情報を受け付けて、該ユーザ用の識別情報をもとに第4の鍵を生成し、該第4の鍵を前記記憶されたユーザ用の公開鍵で暗号化して、第5の鍵を生成し、該第5の鍵と前記記憶された第2の鍵とを照合して、認証を行い、
前記管理者が前記装置の機能を利用可能とするために管理者の認証を行う際には、前記管理者の操作に応じて管理者用の秘密鍵を受け付け、該管理者用の秘密鍵で前記記憶された第3の鍵を復号化して第6の鍵を生成し、該第6の鍵を前記記憶されたユーザ用公開鍵で暗号化して第7の鍵を生成し、該第7の鍵と前記記憶された第2の鍵とを照合して、認証を行う
利用者認証方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2008−148095(P2008−148095A)
【公開日】平成20年6月26日(2008.6.26)
【国際特許分類】
【出願番号】特願2006−334271(P2006−334271)
【出願日】平成18年12月12日(2006.12.12)
【出願人】(390040187)株式会社バッファロー (378)
【Fターム(参考)】