(57)【特許請求の範囲】
【請求項１】
ユーザに対応した記憶媒体と、前記記憶媒体に複数のレコードから成る所定データを記憶させるための記憶手段と、前記記憶媒体に記憶された前記所定データをアクセスするためのアクセス手段とを備えたデータ検索システムにおいて、
前記記憶手段は、前記所定データを前記記憶媒体にコピー記憶させる際に、前記所定データを所定キーで暗号化するとともに、当該所定キーを前記ユーザに対応したユーザキーで暗号化して、前記ユーザキーと共に前記記憶媒体に記憶させ、
前記アクセス手段は、前記記憶媒体から前記所定データをアクセスする際に、入力されたパスワードを該パスワードで暗号化し、その暗号化されたパスワードと前記記憶媒体に記憶された前記ユーザキーとが一致するか否かを判別して、一致する場合には、前記ユーザキーによる前記所定キーの復号化を行うとともに、復号化の対象となるレコードを指定する際に、入力されたレコードキーデータを前記復号化された前記所定キーにより暗号化し、その暗号化されたレコードキーデータと、前記記憶媒体に記憶された前記各レコードのデータの内の、暗号化されたレコードキーデータとを比較することにより、一致するレコードを抽出し、その抽出されたレコードを復号化の対象として、そのレコード内の各データを前記所定キーによって復号化し、前記記憶媒体に記憶された前記所定データの読み出しを行うことを特徴とするデータ検索システム。
【請求項２】
複数のユーザそれぞれのユーザキーをユーザ毎に記憶するユーザキー記憶手段を更に備え、
前記記憶手段は、前記ユーザキー記憶手段に記憶された各ユーザそれぞれに対応する前記記憶媒体に対して、当該各ユーザのユーザキーに基づいて、前記所定キーの暗号化を行うことを特徴とする請求項１記載のデータ検索システム。
【請求項３】
所定キーで暗号化された複数のレコードから成るデータベースと、ユーザに対応するユーザキーと、前記ユーザキーで暗号化された前記所定キーとを記憶した記憶媒体が着脱自在に装着される携帯端末装置であって、
前記記憶媒体が装着されている状態で、
前記記憶媒体から前記データベースをアクセスする際に、入力されたパスワードをそのパスワードで暗号化し、その暗号化されたパスワードと前記記憶媒体に記憶された前記ユーザキーとが一致するか否かを判別し、一致する場合には、そのユーザキーによる前記所定キーの復号化を行うとともに、復号化の対象となるレコードを指定する際に、入力されたレコードキーデータを前記復号化された前記所定キーにより暗号化し、その暗号化されたレコードキーデータと、前記記憶媒体に記憶された前記各レコードのデータの内の、暗号化されたレコードキーデータとを比較することにより、一致するレコードを抽出し、その抽出されたレコードを復号化の対象として、そのレコード内の各データを前記所定キーによって復号化し、前記記憶媒体に記憶された前記データベース内のデータの読み出しを行う、データベースアクセス手段を備えたことを特徴とする携帯端末装置。
【請求項４】
ユーザに対応した記憶媒体に複数のレコードから成る所定データを記憶させ、また、前記記憶媒体に記憶された前記所定データをアクセスさせるためのコンピュータが実行可能なプログラムを記録した記録媒体であって、前記コンピュータを、
前記所定データを前記記憶媒体にコピー記憶させる際に、前記所定データを所定キーで暗号化させるとともに、当該所定キーを前記ユーザに対応したユーザキーで暗号化させて、前記ユーザキーと共に前記記憶媒体に記憶させる手段、前記記憶媒体から前記所定データをアクセスさせる際に、入力されたパスワードを該パスワードで暗号化させ、その暗号化されたパスワードと前記記憶媒体に記憶された前記ユーザキーとが一致するか否かを判別させて、一致する場合には、前記ユーザキーによる前記所定キーの復号化を行わせるとともに、復号化の対象となるレコードを指定させる際に、入力されたレコードキーデータを前記復号化された前記所定キーにより暗号化させ、その暗号化されたレコードキーデータと、前記記憶媒体に記憶された前記各レコードのデータの内の、暗号化されたレコードキーデータとを比較させることにより、一致するレコードを抽出させ、その抽出されたレコードを復号化の対象として、そのレコード内の各データを前記所定キーによって復号化させ、前記記憶媒体に記憶された前記所定データの読み出しを行わせる手段、
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項５】
所定キーで暗号化された複数のレコードから成るデータベースと、ユーザに対応するユーザキーと、前記ユーザキーで暗号化された前記所定キーとを記憶した記憶媒体が着脱自在に装着される装置におけるコンピュータが実行可能なプログラムを記録した記録媒体であって、
前記記憶媒体が装着されている状態で、前記コンピュータを、
前記記憶媒体から前記データベースをアクセスさせる際に、入力されたパスワードをそのパスワードで暗号化させ、その暗号化されたパスワードと前記記憶媒体に記憶された前記ユーザキーとが一致するか否かを判別させ、一致する場合には、そのユーザキーによる前記所定キーの復号化を行わせるとともに、復号化の対象となるレコードを指定させる際に、入力されたレコードキーデータを前記復号化された前記所定キーにより暗号化させ、その暗号化されたレコードキーデータと、前記記憶媒体に記憶された前記各レコードのデータの内の、暗号化されたレコードキーデータとを比較させることにより、一致するレコードを抽出させ、その抽出されたレコードを復号化の対象として、そのレコード内の各データを前記所定キーによって復号化させ、前記記憶媒体に記憶された前記データベース内のデータの読み出しを行わせる手段、
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータの管理方法に係り、詳細には、データの暗号化および暗号化されたデータの検索機能を備えたデータ検索システム等に関する。
【０００２】
【従来の技術】
従来のデータベースシステムの一形態として、パーソナルコンピュータ（以下、ＰＣと呼ぶ。）と、複数台の携帯情報端末（以下、携帯端末と呼ぶ。）とを用いた顧客データベースシステムについて簡単に説明する。この顧客データベースシステムにおいて、ＰＣには、全ての顧客情報や、商品情報等が顧客データベースとして構築されている。また、営業マン１人１人には個別の携帯端末が支給されており、各営業マンは、ＰＣ内の顧客データベースから、担当する顧客の顧客情報や商品情報等を自分の携帯端末に書き込み、営業活動を開始する。そして、顧客の注文等に応じて、商品情報の検索や、新たなデータの入力を自分の携帯端末に対して行い、業務終了時に、自分の端末とＰＣとを接続させて、顧客データベースシステム内のデータ更新、或いは自分の携帯端末内のデータ更新を行う。
【０００３】
【発明が解決しようとする課題】
しかしながら、こういったデータベースシステムにおいて、携帯端末にはデータベースの一部が記憶されているため、携帯端末を紛失するといった事態にあっては、機密事項である顧客データが流出することになる。また、携帯端末とＰＣ間のデータの授受を、通信回線を介して行う場合や、記憶媒体を介して行う場合において、その接続手段が盗用されたり、記憶媒体を紛失するといった事態にあっては、携帯端末の紛失と同様の危険性、即ち、顧客データの流出を招くことになる。
【０００４】
このように、従来のデータベースシステムにおけるデータの取り扱い、即ちデータの管理方法には、安全性に問題があった。また、携帯端末や記憶媒体の紛失が、データの流出に直結していたため、携帯端末や記憶媒体の取り扱いには十分な注意が必要であった。
【０００５】
本発明の課題は、授受するデータ、及び携帯端末側に記憶されるデータ全てを暗号化することによって、安全性の優れたデータ検索システム等を提供することである。
【０００６】
【課題を解決するための手段】
請求項１記載の発明は、ユーザに対応した記憶媒体（例えば、図１のＣＦカード３００）と、前記記憶媒体に複数のレコードから成る所定データ（例えば、図１のＤＢ８１）を記憶させるための記憶手段（例えば、図１のＰＣ１００における図２のＣＰＵ２）と、前記記憶媒体に記憶された前記所定データをアクセスするためのアクセス手段（例えば、図１の携帯端末２００における図６のＣＰＵ２０２）とを備えたデータ検索システムにおいて、前記記憶手段（例えば、図２のＣＰＵ２；図７の配布処理）は、前記所定データを前記記憶媒体にコピー記憶させる際に、前記所定データを所定キー（例えば、図４（ａ）のＤＢキー）で暗号化するとともに、当該所定キーを前記ユーザに対応したユーザキー（例えば、図４（ｂ）の暗号化パスワード）で暗号化して、前記ユーザキーと共に前記記憶媒体に記憶させ、前記アクセス手段（例えば、図６のＣＰＵ２０２；図９〜１０のＤＢアプリケーション指定処理）は、前記記憶媒体から前記所定データをアクセスする際に、入力されたパスワードを該パスワードで暗号化し、その暗号化されたパスワードと前記記憶媒体に記憶された前記ユーザキーとが一致するか否かを判別して、一致する場合には、前記ユーザキーによる前記所定キーの復号化を行うとともに、復号化の対象となるレコードを指定する際に、入力されたレコードキーデータを前記復号化された前記所定キーにより暗号化し、その暗号化されたレコードキーデータと、前記記憶媒体に記憶された前記各レコードのデータの内の、暗号化されたレコードキーデータとを比較することにより、一致するレコードを抽出し、その抽出されたレコードを復号化の対象として、そのレコード内の各データを前記所定キーによって復号化し、前記記憶媒体に記憶された前記所定データの読み出しを行うことを特徴としている。
【０００７】
この請求項１記載の発明によれば、ユーザに対応した記憶媒体と、前記記憶媒体に複数のレコードから成る所定データを記憶させるための記憶手段と、前記記憶媒体に記憶された前記所定データをアクセスするためのアクセス手段とを備えたデータ検索システムにおいて、前記記憶手段は、前記所定データを前記記憶媒体にコピー記憶させる際に、前記所定データを所定キーで暗号化するとともに、当該所定キーを前記ユーザに対応したユーザキーで暗号化して、前記ユーザキーと共に前記記憶媒体に記憶させ、前記アクセス手段は、前記記憶媒体から前記所定データをアクセスする際に、入力されたパスワードを該パスワードで暗号化し、その暗号化されたパスワードと前記記憶媒体に記憶された前記ユーザキーとが一致するか否かを判別して、一致する場合には、前記ユーザキーによる前記所定キーの復号化を行うとともに、復号化の対象となるレコードを指定する際に、入力されたレコードキーデータを前記復号化された前記所定キーにより暗号化し、その暗号化されたレコードキーデータと、前記記憶媒体に記憶された前記各レコードのデータの内の、暗号化されたレコードキーデータとを比較することにより、一致するレコードを抽出し、その抽出されたレコードを復号化の対象として、そのレコード内の各データを前記所定キーによって復号化し、前記記憶媒体に記憶された前記所定データの読み出しを行う。
【０００８】
したがって、この請求項１記載の発明によって、記憶手段により、記憶媒体に記憶されるデータは全て暗号化される。また、暗号化されたデータであっても、アクセス手段によって容易に復号化することが可能である。このため、例えば、データが記憶されている記憶媒体等を紛失するといった事態に対して、データの安全性を高めることができる。また、記憶媒体を介して授受するデータの取り扱い、及び記憶媒体等の取り扱いに、厳重な注意を要しないといった効果が得られる。
また、所定データは複数のレコードによるデータであり、各レコード毎にデータの復号化が行われる。さらにレコードキーデータが一致するレコードのみが復号化される。このため、所定データとして、例えば、顧客毎に１つのレコードを割当て、１つの顧客に対する様々なデータを１つのレコード内に記憶させることができる。また、復号化する際には、該当する顧客のレコードのみを復号化することができる。したがって、データ検索システムが扱うデータの適用範囲を広げることができるとともに、ユーザに対する利便性を向上させることができる。
【０００９】
請求項３記載の発明は、所定キー（例えば、図４（ａ）のＤＢキー）で暗号化された複数のレコードから成るデータベース（例えば、図１の４（ａ）のＤＢ８１）と、ユーザに対応するユーザキー（例えば、図４（ｂ）の暗号化パスワード）と、前記ユーザキーで暗号化された前記所定キーとを記憶した記憶媒体（例えば、図１のＣＦカード３００）が着脱自在に装着される携帯端末装置（例えば、図１の携帯端末２００）であって、前記記憶媒体が装着されている状態で、前記記憶媒体から前記データベースをアクセスする際に、入力されたパスワードをそのパスワードで暗号化し、その暗号化されたパスワードと前記記憶媒体に記憶された前記ユーザキーとが一致するか否かを判別し、一致する場合には、そのユーザキーによる前記所定キーの復号化を行うとともに、復号化の対象となるレコードを指定する際に、入力されたレコードキーデータを前記復号化された前記所定キーにより暗号化し、その暗号化されたレコードキーデータと、前記記憶媒体に記憶された前記各レコードのデータの内の、暗号化されたレコードキーデータとを比較することにより、一致するレコードを抽出し、その抽出されたレコードを復号化の対象として、そのレコード内の各データを前記所定キーによって復号化し、前記記憶媒体に記憶された前記データベース内のデータの読み出しを行う、データベースアクセス手段（例えば、図６のＣＰＵ２０２；図９〜１０のＤＢアプリケーション指定処理）を備えたことを特徴としている。
【００１０】
この請求項３記載の発明によれば、所定キーで暗号化された複数のレコードから成るデータベースと、ユーザに対応するユーザキーと、前記ユーザキーで暗号化された前記所定キーとを記憶した記憶媒体が着脱自在に装着される携帯端末装置であって、前記記憶媒体が装着されている状態で、データベースアクセス手段は、前記記憶媒体から前記データベースをアクセスする際に、入力されたパスワードをそのパスワードで暗号化し、その暗号化されたパスワードと前記記憶媒体に記憶された前記ユーザキーとが一致するか否かを判別し、一致する場合には、そのユーザキーによる前記所定キーの復号化を行うとともに、復号化の対象となるレコードを指定する際に、入力されたレコードキーデータを前記復号化された前記所定キーにより暗号化し、その暗号化されたレコードキーデータと、前記記憶媒体に記憶された前記各レコードのデータの内の、暗号化されたレコードキーデータとを比較することにより、一致するレコードを抽出し、その抽出されたレコードを復号化の対象として、そのレコード内の各データを前記所定キーによって復号化し、前記記憶媒体に記憶された前記データベース内のデータの読み出しを行う。
【００１１】
したがって、この請求項３記載の発明によって、記憶媒体に記憶された暗号化されたデータに基づいて、ユーザの認証等を行うとともに、正当なユーザに対してはデータの復号化を行う携帯端末装置を提供することができる。即ち、記憶媒体に記憶されたデータは全て暗号化されたものであり、携帯端末装置は、正当なユーザに対してのみデータの復号化を行うため、データに対するセキュリティレベルを向上させることができる。
また、データベースは複数のレコードから成るデータであり、各レコード毎にデータの復号化が行われる。さらにレコードキーデータが一致するレコードのみが復号化される。このため、所定データとして、例えば、顧客毎に１つのレコードを割当て、１つの顧客に対する様々なデータを１つのレコード内に記憶させることができる。また、復号化する際には、該当する顧客のレコードのみを復号化することができる。したがって、データ検索システムが扱うデータの適用範囲を広げることができるとともに、ユーザに対する利便性を向上させることができる。
【００１２】
【発明の実施の形態】
以下、図１〜図１１を参照して本発明を適用したデータ検索システム１の、実施の形態を詳細に説明する。
【００１３】
まず構成を説明する。
図１（ａ）は、データ検索システム１におけるパーソナルコンピュータ（以下、ＰＣと呼ぶ。）１００とコンパクトフラッシュカード（以下、ＣＦカードと呼ぶ。）３００間のデータ授受の様子を示す図であり、同図（ｂ）は、携帯情報端末（以下、携帯端末と呼ぶ。）２００とＣＦカード３００間のデータ授受の様子を示す図である。
【００１４】
図１に示す通り、データ検索システム１は、各ユーザの所有する携帯端末２００と、１台のＰＣ１００とのデータ授受を、ＣＦカード３００を介して行うものである。また、ＣＦカード３００を介して、ＰＣ１００から携帯端末２００へ授受されるデータは、全て、ＰＣ１００によって暗号化されたデータである。このため、携帯端末２００に記憶されるデータも全て暗号化されたデータとなる。従って、データは何を鍵として暗号化されているのか、携帯端末２００において暗号化されたデータをどのように検索するのか、暗号化されたデータをどうやって表示するのか、といった点が、本実施の形態におけるデータ検索システム１の重要説明事項であり、この点を中心に、詳細に説明する。尚、本実施の形態において、暗号化および復号化とは、暗号化または復号化に同一の鍵を用いる慣用暗号方式を指し、その方法等については従来技術として実用化されているため、説明を省略する。
【００１５】
また、図及び以下説明において、ＣＦカード３０１〜３０３は、各ユーザが所有あるいは各ユーザに配布されるＣＦカード３００であり、その構成等は、ＣＦカード３００と同一のものである。このため、包括的にＣＦカード３００として説明する。また同様に、携帯端末２０１〜２０３は、携帯端末２００と同一のものであり、包括的に携帯端末２００として説明する。
【００１６】
図２は、ＰＣ１００の要部構成を示すブロック図である。図１（ａ）において、ＰＣ１００は概略構成のみが示されているが、図２に示す通り、ＰＣ１００は、ＣＰＵ２と、入力装置３と、ＲＡＭ４と、ＣＦカードリーダ／ライタ５と、表示装置６と、記憶装置７と、記憶媒体８とから構成されており、記憶媒体８を除く各部はバス９に接続されている。また、記憶媒体８内には、データベース（以下、ＤＢと呼ぶ。）８１とユーザテーブル８２が記憶されている。
【００１７】
ＣＰＵ（Central Processing Unit ）２は、記憶媒体８内に格納されているシステムプログラム及び当該システムに対応する各種アプリケーションプログラムの中から指定されたアプリケーションプログラムをＲＡＭ４内の図示しないプログラム格納領域に展開し、入力装置３から入力される各種指示あるいはデータをＲＡＭ４内に一時的に格納し、この入力指示及び入力データに応じてＲＡＭ４内に展開したアプリケーションプログラムに従って各種処理を実行し、その処理結果をＲＡＭ４内に格納するとともに、表示装置６に表示する。そして、ＲＡＭ４に格納した処理結果を入力装置３から入力指示される記憶媒体８内の保存先に保存する。
【００１８】
また、ＣＰＵ２は、各ユーザ固有のパスワードを暗号化して（この暗号化されたパスワードを暗号化パスワードと呼ぶ。）、記憶媒体８内に格納されるユーザテーブル８２（図３参照）に記憶し、ユーザの認証を行う際には、入力装置３から入力されるパスワードに基づいて、暗号化パスワードを復号化することによって、ユーザの認証を行う。
【００１９】
また、ＣＰＵ２は、入力装置３から入力される指示信号に応じて、記憶媒体８に格納されている配布処理（図７参照）または収集処理（図８参照）に係るプログラムを読み出して実行する。配布処理および収集処理については詳細に後述するが、概略をここで説明する。
【００２０】
配布処理を実行することによって、ＣＰＵ２は、まず、特定されたＤＢ８１に対するＤＢキーを設定する。このＤＢキーはランダムな文字列として生成されるものであり、ＤＢ８１を暗号化する鍵として用いられる。また、ＣＰＵ２は、ＤＢ８１と、ユーザ名と、ＤＢキーとを暗号化し（暗号化されたものをそれぞれ、暗号化ＤＢ、暗号化ユーザ名、暗号化ＤＢキーと呼ぶ。）、暗号化パスワードと併せて、ＣＦカードリーダ／ライタ５に装着されたＣＦカード３００内へ、書き込ませる。ここで、暗号化パスワードの鍵は自らのパスワードであり、暗号化ＤＢの鍵はＤＢキーであり、暗号化ユーザ名の鍵は暗号化パスワードであり、暗号化ＤＢキーの鍵は暗号化パスワードである。
【００２１】
また、収集処理を実行することによって、ＣＰＵ２は、ＣＦカード３００内に記憶された暗号化ＤＢ等を読み出し、これを復号化することによって、ＤＢ８１内のデータと照合し、データの更新を行う。また、ＣＦカード３００内に記憶された暗号化パスワードが変更されている場合には、ＣＰＵ２は、ユーザテーブル８２内の暗号化パスワードを更新する。
【００２２】
入力装置３は、カーソルキー、数字入力キー及び各種機能キー等を備えたキーボード及びマウス等のポインティングデバイスを含み、キーボードにおいて押下されたキーの押下信号やマウスの位置信号をＣＰＵ２に出力する。
【００２３】
ＲＡＭ（Random Access Memory）４は、ＣＰＵ２が上記配布処理や収集処理等の各種アプリケーションプログラムを実行する際に各種プログラムを展開するプログラム格納領域を形成するとともに、ＣＰＵ２が上記各種処理を実行する際に処理されるデータ等を展開するメモリ領域を形成する。
【００２４】
ＣＦカードリーダ／ライタ５は、ＣＦカード３００を着脱可能に装着するものであり、ＣＦカード３００内にデータを書き込んだり、ＣＦカード３００内からデータを読み出す装置である。また、ＣＦカード３００とは、米SanDisk社によって提唱・開発された小型メモリカードであり、ＣＦカードリーダ／ライタ５は、ＰＣＭＣＩＡ（Personal Computer Memory Card International Association）ＴＹＰＥ２のＰＣカードや、フロッピーディスクアダプタ、ＵＳＢ（Universal Serial Bus）接続用のアダプタ等として、一般に市販されているものであるため、説明を省略する。
【００２５】
表示装置６は、ＣＲＴ（Cathode Ray Tube）等により構成され、ＣＰＵ２によって実行される配布処理において、ＣＦカード３００へ書き込むＤＢ８１の指定画面を表示したり、ＣＰＵ２によって実行される収集処理において、ＣＦカード３００内のデータ読出に係る画面を表示したり、入力装置３から入力される各種データや、実行プログラムの進行状況画面等の他、エラーメッセージや実行完了メッセージ等のメッセージを表示する。
【００２６】
記憶装置７は、プログラムやデータ等が予め記憶されている記憶媒体８を有しており、この記憶媒体８は磁気的、光学的記録媒体、若しくは半導体メモリで構成されている。この記憶媒体８は記憶装置７に固定的に設けたもの、若しくは着脱自在に装着するものであり、この記憶媒体８は各種アプリケーションプログラムや、配布処理プログラム、収集処理プログラムの他、ＤＢ８１や、ユーザテーブル８２を記憶している。
【００２７】
また、記憶媒体８に記憶するプログラム、データ等は、通信回線等を介して接続された他の機器から受信して記憶する構成にしてもよく、更に、通信回線等を介して接続された他の機器側に上記記憶媒体を備えた記憶装置を設け、この記憶媒体８に記憶されているプログラム、データを通信回線を介して使用する構成にしてもよい。
【００２８】
ここで、ＤＢ８１とユーザテーブル８２のデータ構成、及びＣＦカード３００内に記憶されるデータについて、図３〜図５を参照して説明し、併せて、ＣＰＵ２により実行される配布処理および収集処理によって変更されるデータについて説明する。尚、図面および以下説明において使用される略号、名称及び意味は、以下の通りである。
【００２９】
P      ：パスワードを鍵として暗号化する意。
K      ：ＤＢキーを鍵として暗号化する意。
<P>    ：暗号化パスワードを鍵として暗号化する意。
（パス）P       ：暗号化パスワード。自らのパスワードを鍵として暗号化されたパスワード。
（ＤＢキー）<P>：暗号化ＤＢキー。暗号化パスワードを鍵として暗号化されたＤＢキー。
（ユーザ名）<P>：暗号化ユーザ名。暗号化パスワードを鍵として暗号化されたユーザ名。
（ＤＢキー）<P>：暗号化ＤＢキー。暗号化パスワードを鍵として暗号化されたＤＢキー。
（ＤＢ）K      ：暗号化ＤＢ。ＤＢキーを鍵として暗号化されたＤＢ。
（レコードキー）K：暗号化レコードキー。ＤＢキーを鍵として暗号化されたレコードキー。
【００３０】
図３は、記憶媒体８に記憶されるユーザテーブル８２のデータ構成を示す図である。図３において、ユーザテーブル８２には、データ検索システム１を利用するユーザのユーザ名と、暗号化パスワード（パス）Pとが対応づけて記憶されている。
【００３１】
図４（ａ）は、ＤＢ８１内のデータ構成と、ＣＰＵ２により実行される配布処理において暗号化されたＤＢ８１内のデータ構成とを示す図である。図４（ａ）において、ＤＢ８１は、複数のレコードを有するデータベースであって、各レコードには、レコードを一意に識別するためのレコードキーと、各種データとが対応付けられて記憶されている。例えば、ＤＢ８１は、顧客毎に１つのレコードが割当てられ、１つの顧客に対する様々なデータがレコード内に記憶されたデータベースがその一例である。そして、レコードキーを指定することによって、特定の顧客に係るデータが記憶されたレコードを特定することができる。
【００３２】
また、ＣＰＵ２により実行される配布処理によって、ＤＢ８１は、ＤＢキーを鍵として暗号化される。即ち、ＤＢ８１を構成する各レコードの、レコードキー及び各種データが、ＤＢキーを鍵として暗号化される。
【００３３】
図４（ｂ）は、ＤＢキーと暗号化ＤＢキー（ＤＢキー）<P>との関係を示す図である。図４（ｂ）において、ＤＢキーは、配布処理においてＣＰＵ２が生成・設定するランダムな文字列であり、ＤＢ８１を暗号化する鍵である。また、ＤＢキーは、ＣＰＵ２によって、暗号化パスワード（パス）Pを鍵として暗号化される。
【００３４】
図５は、ＣＦカード３００内に記憶されるデータを示す図である。図５において、ＣＦカード３００内には、暗号化ＤＢ（ＤＢ）Kと、暗号化ユーザ名（ユーザ名）<P>と、暗号化ＤＢキー（キー）<P>と、暗号化パスワード（パス）Pとが、配布処理におけるＣＰＵ２よって格納される。
【００３５】
次に、携帯端末２００の構成について説明する。
図６は、携帯端末２００の要部構成を示すブロック図である。図６において、携帯端末２００は、ＣＰＵ２０２と、入力装置２０３と、ＲＡＭ２０４と、ＣＦカードリーダ／ライタ２０５と、表示装置２０６と、記憶装置２０７と、記憶媒体２０８とから構成されており、記憶媒体２０８を除く各部はバス２０９に接続されている。各部は、該当するＰＣ１００の各部と同様の機能を有しているため、説明を省略し、ＰＣ１００と異なる点を中心に説明する。
【００３６】
ＣＰＵ２０２は、記憶媒体２０８内に記憶されたＤＢアプリケーション指定処理（図９〜図１０参照）に係るプログラムを読み出して実行する。この処理については詳細に後述するが、概略をここで説明する。
【００３７】
ＤＢアプリケーション指定処理を実行することによって、ＣＰＵ２０２は、まず、入力されたユーザ名とパスワードとから、暗号化パスワードと暗号化ユーザ名を作成し、ＣＦカード３００内に記憶されている暗号化パスワード及び暗号化ユーザ名と同一か否かを判定する。同一であった場合には、正当なユーザであると判定し、暗号化パスワードを鍵としてＤＢキーを復号化するとともに、検索対象のレコードとして入力されたレコードキーを、ＤＢキーを鍵として暗号化する。そして、この暗号化レコードキーに基づいて、ＣＦカード３００内に記憶された暗号化ＤＢ内のレコードを検索し、該当レコードがあった場合には、ＤＢキーを鍵として、当該レコードを復号化して表示する。
【００３８】
また、ＣＰＵ２０２は、ＤＢアプリケーション指定処理において、正当なユーザであると判定した後、ユーザの指示入力に応じて、パスワードを変更するパスワード変更処理（図１１参照）を実行する。このパスワード変更処理は、入力された新規パスワードから、暗号化パスワードを作成して、ＣＦカード３００内に上書き記憶させるものであり、詳細動作については後述する。
【００３９】
携帯端末２００の入力装置２０３はタッチパネルとして構成され、表示装置２０６はＬＣＤ（Liquid Crystal Display）として構成されている。そして、入力装置２０３と表示装置２０６とが一体化されているものが望ましい。また、ＣＦカードリーダ／ライタ２０５は、ＰＣＭＣＩＡ  ＴＹＰＥ２のＰＣカードにより構成される。これら入力装置２０３、表示装置２０６、及びＣＦカードリーダ／ライタ２０５は、携帯端末２００がポータブルなサイズ、重量となるように構成される必要から、上記構成が望まれる。
【００４０】
次に動作を説明する。
まず、ＰＣ１００のＣＰＵ２によって実行される配布処理について説明する。図７は、ＣＰＵ２によって実行される配布処理の動作を示すフローチャートである。
【００４１】
図７において、ＣＰＵ２は、入力装置３からＤＢ５１が指定入力されると（ステップＳ１）、ランダムな文字列を生成し、ＤＢ５１に対応するＤＢキーとして設定する（ステップＳ２）。次いで、ＣＰＵ２は、設定したＤＢキーを鍵として、ＤＢ５１内の各レコードのデータ、即ち、レコードキーと各種データとを暗号化する（ステップＳ３）。そして、ユーザテーブル８２に格納されたユーザ名の中から、ＤＢ５１を配布する対象ユーザが指定入力されると（ステップＳ４）、ＣＰＵ２は、指定ユーザに対応するユーザ名と暗号化パスワードを取得する（ステップＳ５）。
【００４２】
次いで、ＣＰＵ２は、ユーザ名とＤＢキーを暗号化パスワードを鍵として暗号化し（ステップＳ６）、暗号化ＤＢと、暗号化ユーザ名と、暗号化ＤＢキーと、暗号化パスワードとを、ＣＦカードリーダ／ライタ５に装着されたＣＦカード３００内に書き込む（ステップＳ７）。
【００４３】
そして、入力装置３から、他のユーザへの配布が有る旨の入力がなされた場合には、ステップＳ４へ移行し（ステップＳ８）、配布するユーザがなくなるまで、ステップＳ４〜Ｓ８の処理を繰り返し実行する。また、配布するユーザがなくなった場合には、ＣＰＵ２は、配布処理を終了する。
【００４４】
次に、ＣＰＵ２によって実行される収集処理について説明する。図８は、ＣＰＵ２によって実行される収集処理の動作を示すフローチャートである。
【００４５】
図８において、ＣＦカード３００からデータを読み出す旨の指定入力がなされると（ステップＳ１１）、ＣＰＵ２は、ＣＦカード３００内から、暗号化ユーザ名と、暗号化パスワードとを読み出す（ステップＳ１２）。次いで、ＣＰＵ２は、暗号化パスワードを鍵として、暗号化ユーザ名を復号化し、ユーザ名を取得する（ステップＳ１３）。そして、取得したユーザ名に該当するユーザを、ユーザテーブル８２内から検索し（ステップＳ１４）、該当ユーザの暗号化パスワードと、ＣＦカード３００内に記憶された暗号化パスワードとを比較する（ステップＳ１５）。
【００４６】
ステップＳ１５において、比較した結果、一致しなかった場合には、ＣＰＵ２は、ＣＦカード３００内に記憶された暗号化パスワードを、ユーザテーブル８２内の該当ユーザの暗号化パスワードに上書きすることによって、ユーザテーブル８２の内容を変更する（ステップＳ１６）。ステップＳ１５において、比較した結果、一致した場合、又はステップＳ１６の処理の後、ＣＰＵ２は、ＣＦカード３００内に記憶された暗号化ＤＢキーを、暗号化パスワードを鍵として復号化し、さらに、ＣＦカード３００内に記憶された暗号化ＤＢを、ＤＢキーを鍵として復号化する。そして、ＣＦカード３００内に記憶されていたＤＢと、記憶媒体８に記憶されたＤＢ８１とを比較照合し、ＤＢ８１のデータの更新を行う収集処理を実行する（ステップＳ１８）。
【００４７】
次いで、他のＣＦカード３００についても収集処理を行う旨の入力がなされた場合には、ＣＰＵ２は、ステップＳ１１へ移行し（ステップＳ１９）、収集処理を終了する旨の入力がなされるまで、ステップＳ１１〜Ｓ１９までの処理を繰り返し実行する。
【００４８】
次に、携帯端末２００のＣＰＵ２０２によって実行されるＤＢアプリケーション指定処理について説明する。図９および図１０は、ＣＰＵ２０２によって実行されるＤＢアプリケーション指定処理の動作を示すフローチャートである。
【００４９】
図９において、まず、ＣＰＵ２０２は、ＣＦカードリーダ／ライタ２０５にＣＦカード３００が装着されたか否かを判定し（ステップＡ１）、装着されていない場合には、エラーメッセージを表示装置２０６に表示して終了する。また、ＣＦカード３００が装着されていた場合には、ＣＰＵ２０２は、ログイン画面を表示装置２０６に表示し（ステップＡ２）、ユーザ名及びパスワードが入力されると（ステップＡ３）、入力されたパスワードを鍵としてパスワードを暗号化し、暗号化パスワードを作成する（ステップＡ４）。
【００５０】
次いで、ＣＦカード３００内の暗号化パスワードを読み出して（ステップＡ５）、作成した暗号化パスワードと比較する（ステップＡ６）。一致しなかった場合には、不当なユーザによるログインと判定して、ＣＰＵ２０２は、エラーメッセージを表示装置２０６に表示してＤＢアプリケーション指定処理を終了する。
【００５１】
また、ステップＡ６において、暗号化パスワードが一致したと判定した場合には、ＣＰＵ２０２は、ステップＡ３において入力されたユーザ名を、暗号化パスワードを鍵として暗号化して、暗号化ユーザ名を作成する（ステップＡ７）。次いで、ＣＦカード３００内の暗号化ユーザ名を読み出して（ステップＡ８）、作成した暗号化ユーザ名と比較する（ステップＡ９）。一致しなかった場合には、不当なユーザによるログインと判定して、ＣＰＵ２０２は、エラーメッセージを表示装置２０６に表示してＤＢアプリケーション指定処理を終了する。
【００５２】
また、ステップＡ９において、暗号化ユーザ名が一致したと判定した場合には、ＣＰＵ２０２は、ＣＦカード３００内から暗号化ＤＢキーを読み出して（ステップＡ１０）、暗号化パスワードを鍵として復号化することによって、ＤＢキーを取得する（ステップＡ１１）。
【００５３】
次いで、ＣＰＵ２０２は、ＤＢ内のレコード検索を行うか、或いはパスワードの変更を行うかのメニュー表示を表示装置２０６に表示させ（ステップＡ１２）、レコード検索が指定入力されたか否かを判定することによって、何れの処理を行うかを決定する（ステップＡ１３）。レコード検索が指定入力されなかったと判定した場合には、ＣＰＵ２０２は、後述するパスワード変更処理を実行して（ステップＡ１４）、ステップＡ１２へ移行する。
【００５４】
また、ステップＳ１３において、レコード検索が指定入力されたと判定した場合には、ＣＰＵ２０２は、レコードキーの入力を促す入力画面を表示装置２０６に表示させ、レコードキーが入力されると（ステップＡ１５）、入力されたレコードキーを、ＤＢキーを鍵として暗号化し、暗号化レコードキーを作成する（ステップＡ１６）。
【００５５】
そして、ＣＦカード３００内に記憶されている暗号化ＤＢから、各レコードの暗号化レコードキーを読み出し（ステップＡ１７）、作成した暗号化レコードキーと比較する（ステップＡ１８）。一致しなかった場合には、ＣＰＵ２０２は、暗号化ＤＢ内の全てのレコードの暗号化レコードキーと、作成した暗号化レコードキーとを比較するまで、ステップＡ１７〜Ａ１９までの処理を繰り返し実行し（ステップＡ１９）、全ての暗号化レコードキーとの比較をした場合には、該当レコードが無かった旨のメッセージを表示装置２０６に表示する（ステップＡ２０）。
【００５６】
また、ステップＡ１８において、暗号化レコードキーが一致したと判定した場合には、ＣＰＵ２０２は、該当レコードの各データをＤＢキーを鍵として復号化し（ステップＡ２１）、レコードの内容を表示装置２０６に表示する（ステップＡ２２）。
【００５７】
ステップＡ２０又はステップＡ２２の処理の後、ＣＰＵ２０２は、ＤＢアプリケーション指定処理を終了するか否かの入力画面を表示装置２０６に表示し、終了する旨の入力がなされた場合には（ステップＡ２３）、ＤＢアプリケーション指定処理を終了し、終了しない旨の入力がなされた場合には、ステップＡ１２へ移行して、ステップＡ１２〜Ａ２３までの処理を繰り返し実行する。
【００５８】
次に、ＣＰＵ２０２によって実行されるＤＢアプリケーション指定処理において、サブルーチンとして実行されるパスワード変更処理について説明する。図１１は、ＣＰＵ２０２によって実行されるパスワード変更処理の動作を示すフローチャートである。
【００５９】
図１１において、まず、新規パスワードの入力がなされると（ステップＢ１）、ＣＰＵ２０２は、入力されたパスワードを、そのパスワードを鍵として暗号化することにより、暗号化パスワードを作成する（ステップＢ２）。そして、ＣＰＵ２０２は、ＣＦカード３００内に記憶されている暗号化パスワードに代えて、作成した新規の暗号化パスワードを書き込み（ステップＢ３）、パスワード変更処理を終了する。
【００６０】
以上のように、本発明を適用したデータ検索システム１は、ＣＦカード３００内に記憶されるデータは全て暗号化され、また、このＣＦカード３００を介してＰＣ１００から授受されるデータを記憶する携帯端末２００は、暗号化されたデータのみを記憶している。従って、ＣＦカード３００又は携帯端末２００の紛失等においても、ＣＦカード３００又は携帯端末２００に記憶されたデータに対する安全性を高めることができる。
【００６１】
なお、本発明は、上記実施の形態の内容に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であり、例えば、ＰＣ１００は１台のみとして説明したが、複数台のＰＣと、ＤＢ８１及びユーザテーブル８２を管理するサーバーとがネットワークに接続されたシステムであってもよい。即ち、携帯端末２００を有するユーザは、このネットワークに接続された何れの端末からもＣＦカード３００を介してデータを授受することができるようになっていてもよい。その場合には、ネットワークに接続された各ＰＣにおいて、配布処理および収集処理を実行可能とする必要があるが、何れにＰＣを用いても良いという、利便性を得ることができる。
【００６２】
また、データの授受はＣＦカード３００を介して行うこととして説明したが、ＣＦカード３００を用いずに、通信回線を介して携帯端末２００とＰＣ１００とを接続して、データの授受を行うこととしても良い。即ち、ＰＣ１００から携帯端末２００へ送信されるデータを、上記実施例におけるＣＦカード３００内に記憶されるデータと同様に暗号化することによって、通信回線を介して接続する場合であっても、同様の効果を得ることが出来る。
【００６３】
【発明の効果】
請求項１および請求項４記載の発明によれば、記憶媒体に記憶されるデータは全て暗号化される。また、暗号化されたデータであっても、容易に復号化することが可能である。このため、例えば、データが記憶されている記憶媒体等を紛失するといった事態に対して、データの安全性を高めることができる。また、記憶媒体を介して授受するデータの取り扱い、及び記憶媒体等の取り扱いに、厳重な注意を要しないといった効果が得られる。
また、所定データは複数のレコードによるデータであり、各レコード毎にデータの復号化が行われる。さらにレコードキーデータが一致するレコードのみが復号化される。このため、所定データとして、例えば、顧客毎に１つのレコードを割当て、１つの顧客に対する様々なデータを１つのレコード内に記憶させることができる。また、復号化する際には、該当する顧客のレコードのみを復号化することができる。したがって、データ検索システムが扱うデータの適用範囲を広げることができるとともに、ユーザに対する利便性を向上させることができる。
【００６４】
請求項２記載の発明によれば、請求項１記載の発明の効果に加えて、データ検索システムを複数ユーザに対応することが可能であるため、データ検索システムの適用範囲を広げることができる。
【００６６】
請求項３および請求項５記載の発明によれば、記憶媒体に記憶された暗号化されたデータに基づいて、ユーザの認証等を行うとともに、正当なユーザに対してはデータの復号化を行う携帯端末装置等を提供することができる。即ち、記憶媒体に記憶されたデータは全て暗号化されたものであり、正当なユーザに対してのみデータの復号化を行うため、データに対するセキュリティレベルを向上させることができる。
また、データベースは複数のレコードから成るデータであり、各レコード毎にデータの復号化が行われる。さらにレコードキーデータが一致するレコードのみが復号化される。このため、所定データとして、例えば、顧客毎に１つのレコードを割当て、１つの顧客に対する様々なデータを１つのレコード内に記憶させることができる。また、復号化する際には、該当する顧客のレコードのみを復号化することができる。したがって、データ検索システムが扱うデータの適用範囲を広げることができるとともに、ユーザに対する利便性を向上させることができる。
【図面の簡単な説明】
【図１】（ａ）は、データ検索システム１におけるＰＣ１００とＣＦカード３００間のデータ授受の様子を示す図。（ｂ）は、携帯端末２００とＣＦカード３００間のデータ授受の様子を示す図。
【図２】ＰＣ１００の要部構成を示すブロック図。
【図３】記憶媒体８に記憶されるユーザテーブル８２のデータ構成を示す図。
【図４】（ａ）は、ＤＢ８１内のデータ構成と、ＣＰＵ２により実行される配布処理において暗号化されたＤＢ８１内のデータ構成とを示す図。（ｂ）は、ＤＢキーと暗号化ＤＢキーとの関係を示す図。
【図５】ＣＦカード３００内に記憶されるデータを示す図。
【図６】携帯端末２００の要部構成を示すブロック図。
【図７】ＰＣ１００のＣＰＵ２によって実行される配布処理の動作を示すフローチャート。
【図８】ＰＣ１００のＣＰＵ２によって実行される収集処理の動作を示すフローチャート。
【図９】携帯端末２００のＣＰＵ２０２によって実行されるＤＢアプリケーション指定処理の動作を示すフローチャート（図１０へ続く）。
【図１０】携帯端末２００のＣＰＵ２０２によって実行されるＤＢアプリケーション指定処理の動作を示すフローチャート（図９からの続き）。
【図１１】携帯端末２００のＣＰＵ２０２によって実行されるパスワード変更処理の動作を示すフローチャート。
【符号の説明】
１    データ検索システム
１００    ＰＣ
２    ＣＰＵ
５    ＣＦカードリーダ／ライタ
８    記憶媒体
８１    ＤＢ
８２    ユーザテーブル
２００    携帯端末
２０２    ＣＰＵ
２０５    ＣＦカードリーダ／ライタ
３００    ＣＦカード
【図１】
0003945088.tif 000002
【図２】
0003945088.tif 000003
【図３】
0003945088.tif 000004
【図４】
0003945088.tif 000005
【図５】
0003945088.tif 000006
【図６】
0003945088.tif 000007
【図７】
0003945088.tif 000008
【図８】
0003945088.tif 000009
【図９】
0003945088.tif 000010
【図１０】
0003945088.tif 000011
【図１１】
0003945088.tif 000012