(57)【要約】【課題】外部から侵入する第三者はもとより、電子データを保管、管理する管理者等の内部の人間に対しても、データの漏洩を的確に防止できるデータベースアクセスシステムを提供することを目的とする。【解決手段】ユーザ端末と、電子データを格納するデータサーバと、ユーザのアクセス権限に応じて生成される公開鍵を管理する鍵管理サーバとを有するデータベースアクセスシステムであって、前記ユーザ端末が前記公開鍵を用いて秘密鍵を生成する秘密鍵生成手段と、該秘密鍵を格納する格納手段と、前記公開鍵に基づいて電子データを暗号化する暗号化手段と、前記秘密鍵を用いて暗号化された電子データを復号化する復号化手段とにより、データの漏洩を的確に防止できるデータベースアクセスシステムを提供する。【選択図】      図１
2004234344.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末と、電子データを格納するデータサーバと、ユーザのアクセス権限に応じて生成される公開鍵を管理する鍵管理サーバとを有するデータベースアクセスシステムであって、前記ユーザ端末が前記公開鍵を用いて秘密鍵を生成する秘密鍵生成手段と、該秘密鍵を格納する格納手段と、前記公開鍵に基づいて電子データを暗号化する暗号化手段と、前記秘密鍵を用いて暗号化された電子データを復号化する復号化手段とを有するデータベースアクセスシステム。
【請求項２】
前記ユーザ端末が、複数のユーザによるグループにおいて利用するグループ用秘密鍵を生成するグループ用秘密鍵生成手段と、前記複数のユーザすべての公開鍵に基づいて該グループ用秘密鍵を暗号化する手段と、該グループ用秘密鍵と前記格納手段に格納された前記秘密鍵に基づいて、前記グループ用秘密鍵を復号化するグループ用秘密鍵復号化手段と、該復号化されたグループ用秘密鍵に基づいて、前記データサーバに格納された電子データを暗号化及び復号化する電子データ処理手段とを有する請求項１に記載されたデータベースアクセスシステム。
【請求項３】
前記ユーザ端末が、複数のグループ秘密鍵から新たに１つの秘密鍵を生成するグループ用秘密鍵再生成手段を有する請求項１または請求項２に記載されたデータベースアクセスシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、暗号化されたデータベースについてのデータベースアクセスシステムに関する。
【０００２】
【従来の技術】
近年、様々なデータを電子データに変換し、オンラインにて保管及び管理することによって、作業を効率化する試みが多くの企業においてなされている。それに伴い「データセンター」事業と呼ばれるデータベースに必要な資材及び環境等を提供するようなサービスも出現している。しかし、このようなサービスにおいては、オンラインにて保管及び管理する電子データが第三者に漏洩する危険性も高く、これに対する十分な防御策を講じる必要がある。こうした要求に応えるために、従来は、外部からの侵入者にデータの内容を容易に理解あるいは盗用されないように、データサーバが暗号化用の鍵を管理するようなシステムが提案されている（例えば、特許文献１参照。）。
【０００３】
【特許文献１】
特開２００１−３５６９５２号公報（第２−５頁、第２図）
【０００４】
【発明が解決しようとする課題】
しかし、従来提案されているシステムは、外部からの侵入者に対しては、一定の効果を有するものの、データベース環境を管理する管理者と、実際にデータベースを利用する利用者とが異なる、いわゆる「データセンター」事業と呼ばれるサービスにおいては、内部の人間、例えば、データベースの管理者等によって、利用者の機密情報が盗用される危険性を回避できない。また、データサーバが、暗号化用の鍵を管理する方式であるために、データサーバに負荷が集中するといった問題もあった。
【０００５】
そこで、本発明は、上述した問題点に鑑みてなされたものであって、外部から侵入する第三者はもとより、電子データを保管、管理する管理者等の内部の人間に対しても、データの漏洩を的確に防止できるデータベースアクセスシステムを提供することを目的とする。
【０００６】
【課題を解決するための手段】
前記課題を解決するため、本発明は、以下の手段を提案している。
請求項１に係る発明は、ユーザ端末と、電子データを格納するデータサーバと、ユーザのアクセス権限に応じて生成される公開鍵を管理する鍵管理サーバとを有するデータベースアクセスシステムであって、前記ユーザ端末が前記公開鍵を用いて秘密鍵を生成する秘密鍵生成手段と、該秘密鍵を格納する格納手段と、前記公開鍵に基づいて電子データを暗号化する暗号化手段と、前記秘密鍵を用いて暗号化された電子データを復号化する復号化手段とを有するデータベースアクセスシステムを提案している。
【０００７】
この発明によれば、ユーザ端末が暗号化手段と格納手段と復号化手段とにより、秘密鍵の格納および電子データの暗号化および復号化を行うことから、外部の第三者はもとより、データの管理者に対しても、十分なセキュリティ機能を発揮できる。また、ユーザ端末側で電子データの暗号化および復号化を行うことから、データサーバ等の負荷を軽減することができる。
【０００８】
請求項２に係る発明は、請求項１に記載されたデータベースアクセスシステムについて、前記ユーザ端末が、複数のユーザによるグループにおいて利用するグループ用秘密鍵を生成するグループ用秘密鍵生成手段と、前記複数のユーザすべての公開鍵に基づいて該グループ用秘密鍵を暗号化する手段と、該グループ用秘密鍵と前記格納手段に格納された前記秘密鍵に基づいて、前記グループ用秘密鍵を復号化するグループ用秘密鍵復号化手段と、該復号化されたグループ用秘密鍵に基づいて、前記データサーバに格納された電子データを暗号化及び復号化する電子データ処理手段とを有するデータベースアクセスシステムを提案している。
【０００９】
この発明によれば、複数のユーザによる新たなグループを生成する場合には、グループ用秘密鍵生成手段により生成されたグループ用秘密鍵とグループ内の複数のユーザすべての公開鍵とを利用して暗号化されたグループ用秘密鍵が生成される。ユーザが暗号化データベースを検索し、閲覧し、新たなデータを登録する際には、まず鍵管理サーバから暗号化されたグループ用秘密鍵を取得し、各ユーザ端末が格納手段に格納する秘密鍵を利用して、グループ鍵を復元する。そして、復元したグループ鍵を使用し、データを暗号化および復号化処理を行うことによって、暗号化されたデータベースの検索し、閲覧し、新たなデータを登録することができる。
【００１０】
請求項３に係る発明は、請求項１または請求項２に記載されたデータベースアクセスシステムにおいて、前記ユーザ端末が、複数のグループ秘密鍵から新たに１つの秘密鍵を生成するグループ用秘密鍵再生成手段を有するデータベースアクセスシステムを提案している。
【００１１】
この発明によれば、複数の権限が必要な場合は、それぞれの権限に基づいたグループ用秘密鍵を取得した後、複数のグループ用秘密鍵から１つの新しい鍵を生成し使用することができる。したがって、複数の権限を有するユーザであっても、複数のグループ鍵を管理する必要がない。
【００１２】
【発明の実施の形態】
以下、本発明の実施形態に係るデータベースアクセスシステムについて図１から図３を参照して詳細に説明する。
図１は、本発明の実施形態に係るデータベースアクセスシステムの構成を示す図である。
本発明の実施形態に係るデータベースアクセスシステムは、図１に示すように、利用者端末１００と、鍵管理サーバ２００と、データセンター３００とから構成されている。
【００１３】
利用者端末１００は、管理モジュール１０１と、通信モジュール１０２と、暗号化モジュール１０３と、復号化モジュール１０４と、利用者Ｉ／Ｆ１０５と、鍵格納領域１０６とから構成されている。なお、利用者端末１００には、パーソナルコンピュータあるいはＰＤＡ（ＰＤＡ：Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔｓ）、携帯電話機等の携帯端末も含まれる。
【００１４】
管理モジュール１０１は、利用者端末１００全体の機能を制御する機能モジュールであり、図示しない記憶装置に格納された制御プログラムに基づいて端末の制御を行う。また、記憶装置には、データの暗号化および復号化等に用いられるデータベースソフトウェアもインストールされており、データの暗号化および復号化等に関しては、このソフトウェアに基づいて、管理モジュール１０１が利用者端末１００の制御を行う。
【００１５】
通信モジュール１０２は、ネットワーク等を介して他の装置等と通信手段によりデータのやり取りを行う機能モジュールであり、本実施形態においては、インターネットを介してデータセンター３００と接続し、暗号化されたデータや鍵のやりとりを行う。暗号化モジュール１０３は、データセンター３００に登録されるデータを暗号化するほか、新たにグループを作成する場合に、生成したグループ用秘密鍵をグループに加わるユーザすべての公開鍵を利用して暗号化するなどの処理を行う。
【００１６】
復号化モジュール１０４は、データセンター３００から取り出したデータを復号化するほか、暗号化されたグループ鍵を自己の所有する秘密鍵で復号化するなどの処理を行う。利用者Ｉ／Ｆ１０５は、利用者のキー入力等による指示等を各モジュールに送信するためのインターフェースである。鍵格納領域１０６は、ユーザが作成した秘密鍵を格納するための記憶領域である。なお、図示していないが、この他に、情報を表示する表示装置や音声情報の出力装置あるいは、情報の入力を行うキーボード等の入力装置等も備えている。
【００１７】
鍵管理サーバ２００は、ユーザの権限ごとに生成される鍵を管理するための装置であり、図２に示すように、利用者公開鍵管理領域２０１と、グループ鍵管理領域２０２と、管理機能モジュール２０３と、要求処理モジュール２０４と、要求受付インターフェース２０５とから構成されている。利用者公開鍵管理領域２０１は、利用者が作成した公開鍵を管理、保存する記憶領域である。グループ鍵管理領域２０２は、あるグループ内で利用されるグループ鍵を管理、保存する記憶領域である。
【００１８】
管理機能モジュール２０３は、鍵管理サーバ２００全体の機能を制御する機能モジュールであり、例えば、利用者公開鍵やグループ管理鍵の保存あるいは、これらをユーザ端末へ送信等する処理を行う。要求処理モジュール２０４は、利用者端末１００からの要求を処理し、その要求に応じて、管理機能モジュール２０３に対して、制御信号を出力する。また、要求受付インターフェース２０５は、利用者端末１００との間で、鍵のやりとりを行うためのインターフェースである。なお、鍵管理サーバは、図１に示すように、利用者端末１００側にあってもよいし、単独に存在しても、データセンター３００側にあってもよい。
【００１９】
データセンター３００は、データベース３０１と、ＤＢ（データベース）検索登録モジュール３０２とから構成されている。データベース３０１には、利用者端末１００側で、暗号化されたデータが格納されている。データベース検索登録モジュール３０２は、利用者端末１００とインターネットを介して接続されており、利用者端末１００の要求に基づいて、所望のデータを検索し、出力するとともに、利用者端末１００から送信されてきた暗号化されたデータを所定の記憶領域に格納する。
【００２０】
次に、図３を用いて、本実施形態に係るデータベースアクセスシステムにおける処理の手順について説明する。
本実施形態に係るデータベースアクセスシステムにおいて、所定のデータをデータベースに格納し、あるいは、データベースから所望のデータを検索して取り出すためには、まず、ユーザが公開鍵暗号方式を利用した公開鍵と秘密鍵とを作成する（ステップ１０１）。
【００２１】
ユーザは、作成した公開鍵を鍵管理サーバ２００に登録する（ステップ１０２）とともに、同時に作成した秘密鍵を利用者端末１００内の鍵格納領域１０６に格納する。また、鍵管理サーバ２００は、利用者端末１００から送信された公開鍵を要求受付インターフェース２０５を介して受信し、要求処理モジュール２０４において、公開鍵の登録要求であることを判断して、受信した公開鍵を利用者公開鍵管理領域２０１内の所定の領域に格納する。
【００２２】
次に、あるユーザ（以下、マネージャという。）が新たにグループを作成しようとするときは、まず、グループを構成する他のユーザが鍵管理サーバ２００に登録している公開鍵の取得を鍵管理サーバ２００に対して要求する。マネージャの利用者端末１００からの要求を受信した鍵管理サーバ内の要求受付インターフェース２０５は、これを要求処理モジュール２０４に出力する。要求処理モジュール２０４は、要求内容を判断して、要求のあった公開鍵を利用者公開鍵管理領域２０１から検索して、これを要求受付インターフェース２０５を介して、マネージャの利用者端末１００に送信する（ステップ１０３）。
【００２３】
グループを構成する他のユーザの公開鍵を取得したマネージャは、次に、共通鍵暗号化方式を用いて、グループ鍵を新たに生成する（ステップ１０４）。マネージャは、生成したグループ鍵を先程取得した他の利用者の公開鍵を用いて、マネージャの利用者端末１００内の暗号化モジュール１０３において暗号化し、これを、鍵管理サーバ２００に送信する。暗号化されたグループ鍵を受信した鍵管理サーバ２００は、要求処理モジュール２０４により、この暗号化されたグループ鍵をグループ鍵管理領域２０２の所定の領域に格納して登録する（ステップ１０５）。
【００２４】
次に、あるグループに所属するユーザが、その権限を利用して暗号化されたデータベースを検索し、閲覧し、データベースに新たなデータを登録する場合には、まず、ユーザの公開鍵で暗号化されたグループ鍵を鍵管理サーバ２００から取得するために、鍵管理サーバ２００に対して、グループ鍵の取得要求を送信する。利用者端末１００からのグループ鍵の取得要求を受信した鍵管理サーバ２００は、要求処理モジュール２０４を介して、ユーザが要求するグループ鍵をグループ鍵管理領域２０２から検索し、これを要求受付インターフェース２０５を介して、利用者端末１００に送信する（ステップ１０６）。
【００２５】
鍵管理サーバ２００からグループ鍵を取得したユーザは、この暗号化されたグループ鍵と鍵格納領域１０６に格納されている自己の秘密鍵とを復号化モジュール１０４に出力して、復号化されたグループ鍵を取得する（ステップ１０７）。ユーザは、復号化されたグループ鍵を用いて、データベース内に格納されている暗号化されたデータを復号化して、これを検索し、閲覧し、あるいは新たなデータを登録することができる（ステップ１０８）。
【００２６】
なお、グループ鍵の生成方法としては、以下のような方式が考えられる。
まず、第１の方式としては、閾値暗号法を利用した方式がある。この方式は、グループユーザの公開鍵によってグループ公開鍵ｙＧを以下のように作成する。なお、［数１］において、Ｐは大きな素数、ｑはｐ−１を割り切る素数、ｎはグループのユーザ数、Ｇはグループユーザの集合を表す。
【数１】
2004234344.tif 000003
【００２７】
次にｎ−１個の仮想点の集合Ｖ＝｛ｖ１，ｖ２，…．．ｖｎ｝をグループＧと重ならないように選び、公開情報ｙｖｘを以下の［数２］から計算して公開する。
【数２】
2004234344.tif 000004
マネージャは、乱数を生成し、その中から任意のビット列を選択することで乱数からグループ鍵を生成する。そして、生成したグループ鍵をグループ公開鍵で暗号化し、サーバに登録する。ユーザは、公開情報Ｖ及び自身の秘密鍵を元にグループ鍵を得るという方式である。
【００２８】
第２の方式としては、公開鍵暗号方式が考えられる。この方式は、グループを作成するマネージャが、乱数を生成し、その中から任意のビット列を選択することで乱数からグループ鍵を生成する。次に取得したグループ所属ユーザの公開鍵でそのグループ鍵を個々に暗号化し、暗号化された人数分のグループ鍵を公開情報としてサーバに登録するというものである。
【００２９】
次に、データベース３０１内のデータを検索し、閲覧し、新たなデータを登録するのに複数の権限が必要な場合には、鍵管理サーバ２００から取得した複数のグループ鍵の排他的論理和を取ることにより、新たな鍵を生成し、この鍵を用いて、データの検索、閲覧、登録を行うことができる。
【００３０】
例えば、ユーザは、ユーザ自身の個人鍵Ｋ１の他に、役職鍵Ｋ２、部署鍵Ｋ３、プロジェクト鍵Ｋ４などのいくつかの権限に基づいたグループ鍵を取得可能である。ここで、自分以外に閲覧されたくない情報については、Ｋ１を使用してデータを暗号化し、データサーバ３０１に登録する。また、プロジェクト全体で閲覧可能な情報はＫ４を使用してデータを暗号化し、データサーバ３０１に登録する。このようにしておけば、閲覧権限のない者にデータの内容が漏洩することがない。
【００３１】
また、特定の部署で、かつ特定の役職である者が閲覧可能な情報については、Ｋ２とＫ３との排他的論理和を取ることにより新たな鍵Ｋ２３を生成し、その鍵を用いてデータを暗号化する。検索についても、同様にして、自分個人のみが閲覧可能な情報内を検索するためには、Ｋ１を使用して検索キーワードを暗号化してサーバに送付する。このようにして、複数の鍵を用いることにより検索・閲覧する人間の権限や属性によって制限を設けることが可能となる。
【００３２】
また、ある会社が社内の重要文書に関するデータベースの管理をデータセンターサービスに委託する場合を想定する。この場合、各利用者の端末の管理モジュール１０１にはデータベースソフトウェアがインストールされている。このデータベースソフトウェアは通信モジュール１０２を介して、データセンター３００とインターネットなどの公衆回線で接続されている。
【００３３】
利用者が、データをデータセンター３００内のデータベース３０１に保存したい場合には、そのデータを利用者端末１００内の暗号化モジュール１０３において暗号化し、データセンター３００内にあるデータベース３０１上に登録する。一方、検索を行う場合には、利用者は、検索したいキーワードを利用者端末１００内の暗号化モジュール１０３において暗号化して送付し、データセンター３００に送信する。
【００３４】
データセンター３００は、送られてきたキーワードとデータベース３０１内データとのマッチング処理を行い、一致したデータを抽出し返信する。利用者は、返信されてきたデータを利用者端末１００内の復号化モジュール１０４において復号化する。これによって、利用者は暗号化されたデータの中から必要とするデータを抽出することができ、外部の者はもとより、データセンターサービスに委託する業者にも、情報の漏洩の危険性がないシステムを構築することができる。
【００３５】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成はこれらの実施の形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、本実施形態においては、グループ鍵の生成方法として、閾値暗号法を利用した方式および公開鍵暗号方式を例示したが、これに限らず、グループユーザの公開鍵によってグループ公開鍵を生成できる他の方法を用いてもよい。また、本実施形態においては、ユーザが複数の権限を有する場合に、取得した複数のグループ鍵の排他的論理和をとることにより新たな鍵を生成することを例示したが、これに限らず、他の方法によって、新たな鍵を生成してもよい。
【００３６】
【発明の効果】
以上のように、この発明によれば、ユーザ側の端末により、データベースに保存するデータの暗号化、復号化を行うため、外部からの侵入はもとより、システムを利用する内部の者およびデータセンターの委託業者等に対しても、データの漏洩を効果的に防止することができるという効果がある。また、データベースがデータの暗号化および復号化を行うのに比べて、データベースの負荷を軽減できるという効果がある。
【００３７】
また、この発明によれば、ユーザが複数の権限を有する場合でも、取得した複数のグループ鍵から新たな鍵を生成することができることから、このような場合であっても、ユーザが管理する鍵は１つでよく、鍵の管理が煩雑でないばかりか、高いセキュリティ機能を奏するという効果がある。
【００３８】
また、この発明によれば、新規のグループを動的に生成することが可能であり、かつ、グループの生成に、グループに加わる他のユーザの助けを必要としないという効果がある。
【図面の簡単な説明】
【図１】本発明の実施形態に係るデータベースアクセスシステムの構成を示した図である。
【図２】本発明の実施形態に係る鍵管理サーバの構成を示した図である。
【図３】本発明の実施形態に係るデータベースアクセスシステムにおけるデータサーバに対するデータの登録および取得の手順を示したフローチャートである。
【符号の説明】
１００・・・利用者端末、１０１・・・管理モジュール、１０２・・・通信モジュール、１０３・・・暗号化モジュール、１０４・・・復号化モジュール、１０５・・・利用者Ｉ／Ｆ、１０６・・・鍵格納領域、２００・・・鍵管理サーバ、２０１・・・利用者公開鍵管理領域、２０２・・・グループ鍵管理領域、２０３・・・管理機能モジュール、２０４・・・要求処理モジュール、２０５・・・要求受付インターフェース、３００・・・データセンター、３０１・・・データベース、３０２・・・ＤＢ検索モジュール、
【図１】
2004234344.tif 000005
【図２】
2004234344.tif 000006
【図３】
2004234344.tif 000007