(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-19
(45)【発行日】2022-07-27
(54)【発明の名称】鍵共有方法、鍵共有システム、エージェント端末
(51)【国際特許分類】
H04L 9/08 20060101AFI20220720BHJP
H04L 9/32 20060101ALI20220720BHJP
G06F 21/64 20130101ALI20220720BHJP
G06F 21/62 20130101ALI20220720BHJP
【FI】
H04L9/08 C
H04L9/32 200A
H04L9/08 E
G06F21/64
G06F21/62 318
(21)【出願番号】P 2019022223
(22)【出願日】2019-02-12
【審査請求日】2021-09-15
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110001900
【氏名又は名称】弁理士法人 ナカジマ知的財産綜合事務所
(72)【発明者】
【氏名】下唐湊 理
【審査官】中里 裕正
(56)【参考文献】
【文献】特開2011-176435(JP,A)
【文献】特表2017-536729(JP,A)
【文献】特開2010-4379(JP,A)
【文献】特許第6134841(JP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
H04L 9/32
G06F 21/64
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
サーバーが備えるデータベースにアクセスするためのアクセス鍵を、複数のエージェントで共有する鍵共有方法であって、
前記アクセス鍵を有する信頼済みエージェントが、前記アクセス鍵の共有時に一時的に用いられる一時公開鍵で前記アクセス鍵を暗号化し、前記一時公開鍵及び暗号化された前記アクセス鍵を前記サーバーに送信し、前記一時公開鍵に対応する一時秘密鍵をエクスポートし、
前記サーバーが、前記信頼済みエージェントから受信した前記一時公開鍵を第1の記憶部に記憶し、前記信頼済みエージェントから受信した前記暗号化されたアクセス鍵を第2の記憶部に記憶し、
前記アクセス鍵を有さない新規エージェントが、前記信頼済みエージェントがエクスポートした前記一時秘密鍵をインポートし、インポートした前記一時秘密鍵を用いて署名を生成し、生成した署名を前記サーバーに送信し、
前記サーバーは、前記新規エージェントから受信した署名を前記第1の記憶部に記憶されている前記一時公開鍵を用いて検証し、署名の検証に成功した場合に、前記第2の記憶部に記憶されている前記暗号化されたアクセス鍵を前記新規エージェントに送信し、
前記新規エージェントは、前記サーバーから受信した前記暗号化されたアクセス鍵を、インポートした前記一時秘密鍵で復号する
ことを特徴とする鍵共有方法。
【請求項2】
前記新規エージェントは、前記アクセス鍵を取得後、前記サーバーとのセキュア通信に用いられるエージェント公開鍵を前記サーバーに送信し、
前記サーバーは、前記第1の記憶部に記憶されている前記一時公開鍵を前記エージェント公開鍵に置き換える
ことを特徴とする請求項1に記載の鍵共有方法。
【請求項3】
前記サーバーは、前記第2の記憶部に記憶されている前記暗号化されたアクセス鍵を前記新規エージェントに送信後、前記第2の記憶部から前記暗号化されたアクセス鍵を削除する
ことを特徴とする請求項1又は2のいずれかに記載の鍵共有方法。
【請求項4】
前記信頼済みエージェントは、前記一時公開鍵、前記暗号化されたアクセス鍵及び前記新規エージェントのID情報を前記サーバーに送信し、
前記サーバーは、前記第1の記憶部に、前記一時公開鍵と前記ID情報とを関連付けて記憶し、前記ID情報を用いて前記署名の検証を実行する
ことを特徴とする請求項1乃至3のいずれかに記載の鍵共有方法。
【請求項5】
サーバーが備えるデータベースにアクセスするためのアクセス鍵を、複数のエージェントで共有する鍵共有システムであって、
前記アクセス鍵を有する信頼済みエージェントは、前記アクセス鍵の共有時に一時的に用いられる一時公開鍵で前記アクセス鍵を暗号化する暗号化部と、前記一時公開鍵及び暗号化された前記アクセス鍵を前記サーバーに送信する送信部と、前記一時公開鍵に対応する一時秘密鍵をエクスポートするエクスポート部と、を備え、
前記サーバーは、前記信頼済みエージェントから受信した前記一時公開鍵を記憶する第1の記憶部と、前記信頼済みエージェントから受信した前記暗号化されたアクセス鍵を記憶する第2の記憶部と、を備え、
前記アクセス鍵を有さない新規エージェントは、前記信頼済みエージェントがエクスポートした前記一時秘密鍵をインポートするインポート部と、インポートした前記一時秘密鍵を用いて署名を生成し、生成した署名を前記サーバーに送信する署名送信部と、を備え、
前記サーバーは、さらに、前記新規エージェントから受信した署名を前記第1の記憶部に記憶されている前記一時公開鍵を用いて検証する署名検証部と、署名の検証に成功した場合に、前記第2の記憶部に記憶されている前記暗号化されたアクセス鍵を前記新規エージェントに送信する送信部と、を備え、
前記新規エージェントは、さらに、前記サーバーから受信した前記暗号化されたアクセス鍵を、インポートした前記一時秘密鍵で復号する復号部を備える
ことを特徴とする鍵共有システム。
【請求項6】
サーバーが備えるデータベースにアクセスするためのアクセス鍵を、複数のエージェントで共有する鍵共有システムにおけるエージェント端末であって、
前記アクセス鍵を有する信頼済みエージェントとして機能する際は、前記アクセス鍵の共有時に一時的に用いられる一時公開鍵で前記アクセス鍵を暗号化する暗号化部と、前記一時公開鍵及び暗号化された前記アクセス鍵を前記サーバーに送信する送信部と、前記一時公開鍵に対応する一時秘密鍵をエクスポートするエクスポート部と、を備え、
前記アクセス鍵を有さない新規エージェントとして機能する際は、前記信頼済みエージェントがエクスポートした前記一時秘密鍵をインポートするインポート部と、インポートした前記一時秘密鍵を用いて署名を生成し、生成した署名を前記サーバーに送信する署名送信部と、前記サーバーが前記署名の検証に成功した場合に送信される前記暗号化されたアクセス鍵を受信し、受信した前記暗号化されたアクセス鍵を、インポートした前記一時秘密鍵で復号する復号部を備える
ことを特徴とするエージェント端末。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバーが備える単一のアクセス鍵によりアクセス可能なデータベースにアクセスするためのアクセス鍵を、複数のエージェントで共有する鍵共有方法、鍵共有システム及びエージェント端末に関する。
【背景技術】
【0002】
インターネットなどのネットワークに接続されたサーバーが提供するサービス(クラウドサービス)が、近年利用されている。クラウドサービスでは、自社の組織とは別のクラウドサービス事業者がインフラ管理を行う。そのため、クラウド上のサーバーに構築されたデータベースが暗号化されていなければ、クラウドサービス事業者が、その中身を見ることができてしまう可能性がある。
【0003】
そこで、クラウド上のサーバーに構築されたデータベースを運用することを考える。なお、データベースにアクセスする端末またはその端末上で動作するアプリケーションをエージェントと呼ぶ。
【0004】
サーバー上のデータベースには暗号化を施され、データベースにアクセスするためのアクセス鍵は、クラウド上のサーバーでは保持されず、信頼済エージェントのみで保持される。信頼済エージェントがデータベースにアクセスする際は、自らが保持するアクセス鍵を自らの秘密鍵(又はサーバーの公開鍵)を用いて暗号化してサーバーに送信する。サーバーは、信頼済エージェントの公開鍵(又は自らの秘密鍵)を用いて暗号化されたアクセス鍵を復号し、復号したアクセス鍵を用いてデータベースにアクセスし、取得したデータを信頼済エージェントに送信するとともにアクセス鍵を削除する。この暗号化されたアクセス鍵の復号から削除までを、サーバーにインストールされたアプリケーションプログラムによって、クラウドサービス事業者から隠蔽して行うことで、情報漏洩を防ぐ。
【0005】
なお、サーバーには信頼済みのエージェントの公開鍵が保存されており、サーバーは対応する秘密鍵で作成された署名のある通信のみを受け付けるものとする。そして、特に明記しておらずとも、サーバーと信頼済エージェントとの間の通信では、信頼済エージェントが秘密鍵で作成した署名の検証が行われているものとする。サーバーとエージェント(クライアント)間で署名検証を行ってセキュアな通信を行う方法は、例えば特許文献1に開示されている。
【0006】
このようなシステムにおいて、データベースにアクセスするためのアクセス鍵を複数のエージェントで共有することを考える。特に、既にアクセス鍵を所持している信頼済エージェントとアクセス鍵を所持していない新規参入エージェントとの間でアクセス鍵を共有することを考える。
【0007】
従来であれば、例えば、新規参入エージェントは、自身の公開鍵を信頼済エージェントへ送信する共に、信頼済エージェントへ自身(新規参入エージェント)の公開鍵のサーバーへの登録と、信頼済エージェントが保持するアクセス鍵を自身(新規参入エージェント)に送信するように依頼する。信頼済エージェントは、新規参入エージェントからの依頼に従って、サーバーに新規参入エージェントの公開鍵を登録する。また、信頼済エージェントは、保持するアクセス鍵を新規参入エージェントの公開鍵を用いて暗号化し、新規参入エージェントに送信する。新規参入エージェントは、受信した暗号化アクセス鍵を自身の秘密鍵を用いて復号する。この手続きによって、新規参入エージェントの公開鍵がサーバーに登録されて新規参入エージェントとサーバーとが通信可能になると共に、新規参入エージェントによるアクセス鍵を用いたデータベースへのアクセスが可能になる。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
クラウドサービスの利点の一つとして、インターネットに接続されていればどこからでもアクセス可能という点がある。この利点により、上記システムにおいて、信頼済エージェントの置かれている環境と新規参入エージェントの置かれている環境が異なる構成、すなわち、異なる事業所等、物理的に離れている構成を実現可能である。そして、業務効率化やセキュリティ確保のため、専用の担当者がアクセス鍵の共有作業を行うことが考えられる。仮に一人で上述のアクセス鍵の共有作業を行うとすると、作業者は、信頼済みエージェントのおかれている環境と新規参入エージェントのおかれている環境とを複数回行き来する必要がある。具体的に、まず、新規参入エージェントを操作して、公開鍵を信頼済エージェントに送信する。次に、信頼済エージェントを操作して、新規参入エージェントの公開鍵をサーバーに登録すると共に、アクセス鍵の暗号化を行い、暗号化アクセス鍵を新規参入エージェントに送信する。その後、新規参入エージェントを操作して、暗号化アクセス鍵を復号する。このように、新規参入エージェントで作業した後に、作業環境を移動して信頼済エージェントで作業し、再度作業環境を移動して新規参入エージェントで作業する必要がある。この複数回の行き来が、作業者にとって負担になるという問題がある。
【0010】
本発明の目的は、作業者が異なる環境間で複数回の行き来をすることにより生じる負荷という点で、作業者にとって負担の少ない鍵共有方法、鍵共有システム及びそのエージェント端末を提供することである。
【課題を解決するための手段】
【0011】
本発明の一態様の鍵共有方法は、サーバーが備えるデータベースにアクセスするためのアクセス鍵を、複数のエージェントで共有する鍵共有方法であって、前記アクセス鍵を有する信頼済みエージェントが、前記アクセス鍵の共有時に一時的に用いられる一時公開鍵で前記アクセス鍵を暗号化し、前記一時公開鍵及び暗号化された前記アクセス鍵を前記サーバーに送信し、前記一時公開鍵に対応する一時秘密鍵をエクスポートし、前記サーバーが、前記信頼済みエージェントから受信した前記一時公開鍵を第1の記憶部に記憶し、前記信頼済みエージェントから受信した前記暗号化されたアクセス鍵を第2の記憶部に記憶し、前記アクセス鍵を有さない新規エージェントが、前記信頼済みエージェントがエクスポートした前記一時秘密鍵をインポートし、インポートした前記一時秘密鍵を用いて署名を生成し、生成した署名を前記サーバーに送信し、前記サーバーは、前記新規エージェントから受信した署名を前記第1の記憶部に記憶されている前記一時公開鍵を用いて検証し、署名の検証に成功した場合に、前記第2の記憶部に記憶されている前記暗号化されたアクセス鍵を前記新規エージェントに送信し、前記新規エージェントは、前記サーバーから受信した前記暗号化されたアクセス鍵を、インポートした前記一時秘密鍵で復号することを特徴とする。
【0012】
前記新規エージェントは、前記アクセス鍵を取得後、前記サーバーとのセキュア通信に用いられるエージェント公開鍵を前記サーバーに送信し、前記サーバーは、前記第1の記憶部に記憶されている前記一時公開鍵を前記エージェント公開鍵に置き換えてもよい。
【0013】
前記サーバーは、前記第2の記憶部に記憶されている前記暗号化されたアクセス鍵を前記新規エージェントに送信後、前記第2の記憶部から前記暗号化されたアクセス鍵を削除してもよい。
【0014】
前記信頼済みエージェントは、前記一時公開鍵、前記暗号化されたアクセス鍵及び前記新規エージェントのID情報を前記サーバーに送信し、前記サーバーは、前記第1の記憶部に、前記一時公開鍵と前記ID情報とを関連付けて記憶し、前記ID情報を用いて前記署名の検証を実行してもよい。
【0015】
本発明の一態様の鍵共有システムは、サーバーが備えるデータベースにアクセスするためのアクセス鍵を、複数のエージェントで共有する鍵共有システムであって、前記アクセス鍵を有する信頼済みエージェントは、前記アクセス鍵の共有時に一時的に用いられる一時公開鍵で暗号化する暗号化部と、前記一時公開鍵及び暗号化された前記アクセス鍵を前記サーバーに送信する送信部と、前記一時公開鍵に対応する一時秘密鍵をエクスポートするエクスポート部と、を備え、前記サーバーは、前記信頼済みエージェントから受信した前記一時公開鍵を記憶する第1の記憶部と、前記信頼済みエージェントから受信した前記暗号化されたアクセス鍵を記憶する第2の記憶部と、を備え、前記アクセス鍵を有さない新規エージェントは、前記信頼済みエージェントがエクスポートした前記一時秘密鍵をインポートするインポート部と、インポートした前記一時秘密鍵を用いて署名を生成し、生成した署名を前記サーバーに送信する署名送信部と、を備え、前記サーバーは、さらに、前記新規エージェントから受信した署名を前記第1の記憶部に記憶されている前記一時公開鍵を用いて検証する署名検証部と、署名の検証に成功した場合に、前記第2の記憶部に記憶されている前記暗号化されたアクセス鍵を前記新規エージェントに送信する送信部と、を備え、前記新規エージェントは、さらに、前記サーバーから受信した前記暗号化されたアクセス鍵を、インポートした前記一時秘密鍵で復号する復号部を備えることを特徴とする。
【0016】
本発明の一態様のエージェント端末は、サーバーが備えるデータベースにアクセスするためのアクセス鍵を、複数のエージェントで共有する鍵共有システムにおけるエージェント端末であって、前記アクセス鍵を有する信頼済みエージェントとして機能する際は、前記アクセス鍵の共有時に用いられる一時公開鍵で前記アクセス鍵を暗号化する暗号化部と、前記一時公開鍵及び暗号化された前記アクセス鍵を前記サーバーに送信する送信部と、前記一時公開鍵に対応する一時秘密鍵をエクスポートするエクスポート部と、を備え、前記アクセス鍵を有さない新規エージェントとして機能する際は、前記信頼済みエージェントがエクスポートした前記一時秘密鍵をインポートするインポート部と、インポートした前記一時秘密鍵を用いて署名を生成し、生成した署名を前記サーバーに送信する署名送信部と、前記サーバーが前記署名の検証に成功した場合に送信される前記暗号化されたアクセス鍵を受信し、受信した前記暗号化されたアクセス鍵を、インポートした前記一時秘密鍵で復号する復号部を備えることを特徴とする。
【発明の効果】
【0017】
本発明によれば、作業者は異なる環境間で複数回の行き来をする必要がなく、鍵共有処理における作業負荷を軽減することができる。
【図面の簡単な説明】
【0018】
【
図1】データベース管理システムの機能構成の一例を示すブロック図である。
【
図2】データベース管理システムの信頼済エージェントと新規参入エージェントとサーバーとの関係を説明するブロック図
【
図3】データベース管理システムにエージェントが参入する処理における機能構成の一例を示すブロック図である。
【
図4】データベース管理システムにエージェントが参入する処理の動作の一例を示すシーケンス図である。
【発明を実施するための形態】
【0019】
1.実施の形態1
以下、図面を参照しながら、本発明の実施形態を説明する。
【0020】
図1は、本発明のクライアントサーバー型のデータベース管理システムにおいて、クライアントであるエージェントがサーバーのデータベースにアクセスする処理の機能構成の一例を示すブロック図である。
【0021】
データベース管理システムは、エージェント110とサーバー120からなる。
【0022】
エージェント110は、秘密鍵保存領域111、アクセス鍵保存領域112、アクセス鍵暗号化部113、データベース(DB)アクセス要求生成部114、DBアクセス要求送信部115、及びデータ受信部116を備える。
【0023】
秘密鍵保存領域111には、エージェント110の秘密鍵が保存されている。アクセス鍵保存領域112には、サーバー120上に構築されているDB125にアクセスするためのアクセス鍵が保存されている。アクセス鍵暗号化部113は、アクセス鍵保存領域112に保存されているアクセス鍵を、秘密鍵保存領域111に保存されている秘密鍵を用いて暗号化し、暗号化アクセス鍵を生成する。DBアクセス要求生成部114は、アクセス鍵暗号化部113で生成された暗号化アクセス鍵及びDB125の問い合わせ言語で記述された命令文を含むDBアクセス要求を生成する。DBアクセス要求送信部115は、DBアクセス要求生成部114で生成されたDBアクセス要求をサーバー120に送信する。そして、データ受信部116は、DBアクセス要求に対する応答としてサーバー120から送信されたデータを受信する。
【0024】
サーバー120は、公開鍵保存領域121、DBアクセス要求受信部122、暗号化アクセス鍵復号部123、DBアクセス部124、DB125、データ送信部126を備える。
【0025】
公開鍵保存領域121は、エージェント110の公開鍵が保存されている。DBアクセス要求受信部122は、エージェント110から送信されたDBアクセス要求を受信する。暗号化アクセス鍵復号部123は、受信したDBアクセス要求に含まれる暗号化アクセス鍵を、公開鍵に保存されているエージェント110の公開鍵を用いてDB125のアクセス鍵に復号する。DBアクセス部124は、復号されたアクセス鍵を用いてDB125にアクセスを行い、受信したDBアクセス要求に含まれるDB125の問い合わせ言語で記述された命令文に従ってDB125からデータを取得またはDB125の更新を行い、アクセス鍵の破棄を行う。データ送信部126は、DBから取得したデータをエージェント110に送信する。
【0026】
このデータベース管理システムにおいて、エージェント110が、サーバー120のDB125にアクセスするためには、サーバー120にエージェントの公開鍵が登録され、エージェントにアクセス鍵が保存されている必要がある。既にサーバー120に公開鍵が登録され、DB125のアクセス鍵を有しているエージェントを、信頼済エージェントと呼ぶ。また、サーバー120に公開鍵が登録されておらず、DB125のアクセス鍵を有していないエージェントを新規参入エージェントと呼ぶ。新規参入エージェントの公開鍵をサーバー120に登録し、新規参入エージェントと新規参入エージェントとでDB125のアクセス鍵を共有する方法について説明する。
【0027】
図2は、データベース管理システムの信頼済エージェント200と新規参入エージェント300とサーバー400との関係を説明する図である。
【0028】
サーバー400は、クラウドサービス事業者が提供するハードウェア上で動作するソフトウェアである。信頼済エージェント200とサーバー400とはインターネット500を介して接続される。同様に、新規参入エージェント300とサーバー400とはインターネット500を介して接続される。信頼済エージェント200と新規参入エージェント300とは、インターネット500に接続できる環境であれば、任意の場所に設置することができる。
【0029】
1.2 新規参入エージェントが参入する処理の機能構成
図3は、データベース管理システムにおいて、新規参入エージェント300が参入する処理における信頼済エージェント200と新規参入エージェント300とサーバー400の機能構成の一例を示す機能ブロック図である。
【0030】
信頼済エージェント200は、アクセス鍵保存領域201とID発行部202と鍵生成部203と暗号化部204と鍵エクスポート部205と鍵送信部206を備える。
【0031】
アクセス鍵保存領域201は、サーバー400の備える図示していないDBへアクセスするためのアクセス鍵を保存する。なお、アクセス鍵保存領域201は、
図1におけるアクセス鍵保存領域112と同一の構成である。
【0032】
ID発行部202は、新規参入エージェント300のIDを発行する。IDは、エージェントを識別するためのエージェントごとに固有の番号である。
【0033】
鍵生成部203は、新規参入エージェント300が一時的に用いる一時公開鍵及び一時秘密鍵の組を生成する。
【0034】
暗号化部204は、アクセス鍵保存領域201に保存されているアクセス鍵を、鍵生成部203が生成した一時公開鍵を用いて暗号化して暗号化アクセス鍵を生成する。
【0035】
鍵エクスポート部205は、ID発行部202が発行した新規参入エージェントのID、並びに、鍵生成部203が生成した一時公開鍵及び一時秘密鍵をエクスポートする。鍵エクスポート部205は、例えば、ID、一時公開鍵及び一時秘密鍵をリムーバブルメディア600に保存する。
【0036】
鍵送信部206は、ID発行部202が発行した新規参入エージェントのID、鍵生成部203が生成した一時公開鍵、暗号化部204によって生成された暗号化アクセス鍵を、サーバー400に送信する。
【0037】
新規参入エージェント300は、鍵インポート部301と、公開鍵・秘密鍵保存領域302と、署名生成部303と、アクセス鍵取得要求生成部304と、アクセス鍵取得要求送信部305と、暗号化アクセス鍵受信部306と、暗号化アクセス鍵復号部307と、アクセス鍵保存領域308と、鍵生成部309と、鍵更新要求生成部310と、鍵更新要求送信部311を備える。
【0038】
鍵インポート部301は、信頼済エージェント200が生成し、エクスポートしたID、一時公開鍵及び一時秘密鍵をインポートする。例えば、リムーバブルメディア600に保存されたID、一時公開鍵及び一時秘密鍵を取得し、公開鍵・秘密鍵保存領域302に保存する。
【0039】
署名生成部303は、公開鍵・秘密鍵保存領域302に保存された一時秘密鍵を用いて署名の生成を行う。
【0040】
アクセス鍵取得要求生成部304は、署名生成部303が生成した署名及び公開鍵・秘密鍵保存領域302に保存されたIDを含むアクセス鍵取得要求を生成する。
【0041】
アクセス鍵取得要求送信部305は、アクセス鍵取得要求生成部304が生成したアクセス鍵取得要求をサーバー400に送信する。
【0042】
暗号化アクセス鍵受信部306は、アクセス鍵取得要求に含まれる署名の検証に成功したサーバー400が、アクセス鍵取得要求に対する応答として送信する暗号化アクセス鍵を受信する。
【0043】
暗号化アクセス鍵復号部307は、公開鍵・秘密鍵保存領域302に保存された一時秘密鍵を用いて暗号化アクセス鍵を復号し、アクセス鍵保存領域308に保存する。
【0044】
鍵生成部309は、正規の公開鍵及び正規の秘密鍵を生成する。また、鍵生成部309は、サーバー400に登録されている当該新規参入エージェントの一時公開鍵が、正規の公開鍵に更新された後、公開鍵・秘密鍵保存領域302に保存されている一時公開鍵及び一時秘密鍵を正規の公開鍵及び正規の秘密鍵に更新する。
【0045】
鍵更新要求生成部310は、鍵生成部309で生成された正規の公開鍵、公開鍵・秘密鍵保存領域302に保存されたID、公開鍵・秘密鍵保存領域302に保存された一時秘密鍵を用いて生成された署名を含む鍵更新要求を生成する。
【0046】
鍵更新要求送信部311は、鍵更新要求生成部310が生成した鍵更新要求をサーバー400に送信する。
【0047】
サーバー400は、鍵受信部401と、公開鍵保存領域402と、暗号化アクセス鍵一時保存領域403と、アクセス鍵取得要求受信部404と、署名検証部405と、暗号化アクセス鍵送信部406と、鍵更新要求受信部407と、鍵更新部408を備える。
【0048】
鍵受信部401は、信頼済エージェント200からID、一時公開鍵、暗号化アクセス鍵を受信し、IDと一時公開鍵を関連付けて公開鍵保存領域402に保存し、IDと暗号化アクセス鍵とを関連付けて暗号化アクセス鍵一時保存領域403に保存する。
【0049】
アクセス鍵取得要求受信部404は、新規参入エージェント300からアクセス鍵取得要求を受信する。
【0050】
署名検証部405は、受信したアクセス鍵取得要求に含まれるIDに関連付けられた一時公開鍵を公開鍵保存領域402から取得し、取得した一時公開鍵を用いて受信したアクセス鍵取得要求に含まれる署名の検証を行う。
【0051】
暗号化アクセス鍵送信部406は、署名検証部405が署名の検証に成功した場合に、暗号化アクセス鍵一時保存領域403に保存されている暗号化アクセス鍵を新規参入エージェント300に送信する。送信後、暗号化アクセス鍵一時保存領域403に保存されている暗号化アクセス鍵は削除される。
【0052】
鍵更新要求受信部407は、新規参入エージェント300から鍵更新要求を受信する。
【0053】
鍵更新部408は、受信したアクセス鍵取得要求に含まれるIDに関連付けられた一時公開鍵を公開鍵保存領域402から取得し、取得した一時公開鍵を用いて受信したアクセス鍵取得要求に含まれる署名の検証を行う。鍵更新部408は、署名の検証に成功すると、鍵更新要求に含まれる正規の公開鍵で公開鍵保存領域402に保存されている一時公開鍵を更新する。
【0054】
1.3 新規参入エージェントが参入する処理の動作
図4を用いて、データベース管理システムにおいて、新規参入エージェント300が参入する処理における信頼済エージェント200と新規参入エージェント300とサーバー400の動作を説明する。
【0055】
まず、信頼済エージェント200のID発行部202は、新規参入エージェント300のIDを発行する(ステップS101)。
【0056】
信頼済エージェント200の鍵生成部203は、新規参入エージェント300が一時的に用いる一時公開鍵及び一時秘密鍵の組を生成する(ステップS102)。
【0057】
信頼済エージェント200の暗号化部204は、アクセス鍵保存領域201に保存されているアクセス鍵を、鍵生成部203が生成した一時公開鍵を用いて暗号化して暗号化アクセス鍵を生成する(ステップS103)。
【0058】
信頼済エージェント200の鍵送信部206は、ID発行部202が発行した新規参入エージェントのID、鍵生成部203が生成した一時公開鍵、暗号化部204によって生成された暗号化アクセス鍵を、サーバー400に送信する(ステップS104)。
【0059】
サーバー400の鍵受信部401は、信頼済エージェント200からID、一時公開鍵、暗号化アクセス鍵を受信し、IDと一時公開鍵を関連付けて公開鍵保存領域402に保存し(ステップS301)、IDと暗号化アクセス鍵とを関連付けて暗号化アクセス鍵一時保存領域403に保存する(ステップS302)。
【0060】
信頼済エージェント200の鍵エクスポート部205は、ID発行部202が発行した新規参入エージェントのID、並びに、鍵生成部203が生成した一時公開鍵及び一時秘密鍵をエクスポートする(ステップS105)。
【0061】
信頼済エージェント200が生成し、エクスポートしたID、一時公開鍵及び一時秘密鍵は、新規参入エージェント300の鍵インポート部301でインポートされ、公開鍵・秘密鍵保存領域302に保存される。
【0062】
新規参入エージェント300の署名生成部303は、公開鍵・秘密鍵保存領域302に保存された一時秘密鍵を用いて署名の生成を行う(ステップS201)。
【0063】
新規参入エージェント300のアクセス鍵取得要求生成部304は、署名生成部303が生成した署名及び公開鍵・秘密鍵保存領域302に保存されたIDを含むアクセス鍵取得要求を生成し、アクセス鍵取得要求送信部305は、アクセス鍵取得要求生成部304が生成したアクセス鍵取得要求をサーバー400に送信する(ステップS202)。
【0064】
アクセス鍵取得要求は、サーバー400のアクセス鍵取得要求受信部404で受信される。
【0065】
サーバー400の署名検証部405は、受信したアクセス鍵取得要求に含まれるIDに関連付けられた一時公開鍵を公開鍵保存領域402から取得し、取得した一時公開鍵を用いて受信したアクセス鍵取得要求に含まれる署名の検証を行う(ステップS303)。
【0066】
サーバー400の暗号化アクセス鍵送信部406は、署名検証部405が署名の検証に成功した場合に、暗号化アクセス鍵一時保存領域403に保存されている暗号化アクセス鍵を新規参入エージェント300に送信する(ステップS304)。
【0067】
暗号化アクセス鍵の送信後、暗号化アクセス鍵一時保存領域403に保存されている暗号化アクセス鍵は削除される(ステップS305)。
【0068】
暗号化アクセス鍵は、新規参入エージェント300の暗号化アクセス鍵受信部306で受信される。
【0069】
新規参入エージェント300の暗号化アクセス鍵復号部307は、公開鍵・秘密鍵保存領域302に保存された一時秘密鍵を用いて暗号化アクセス鍵を復号し、アクセス鍵保存領域308に保存する(ステップS203)。
【0070】
新規参入エージェント300の鍵生成部309は、正規の公開鍵及び正規の秘密鍵を生成する(ステップS204)。
【0071】
新規参入エージェント300の鍵更新要求生成部310は、鍵生成部309で生成された正規の公開鍵、公開鍵・秘密鍵保存領域302に保存されたID、公開鍵・秘密鍵保存領域302に保存された一時秘密鍵を用いて生成された署名を含む鍵更新要求を生成する。そして、新規参入エージェント300の鍵更新要求送信部311は、鍵更新要求生成部310が生成した鍵更新要求をサーバー400に送信する(ステップS205)。
【0072】
鍵更新要求は、サーバー400の鍵更新要求受信部407で受信される。
【0073】
サーバー400の鍵更新部408は、受信したアクセス鍵取得要求に含まれるIDに関連付けられた一時公開鍵を公開鍵保存領域402から取得し、取得した一時公開鍵を用いて受信したアクセス鍵取得要求に含まれる署名の検証を行う。鍵更新部408は、署名の検証に成功すると、鍵更新要求に含まれる正規の公開鍵で公開鍵保存領域402に保存されている一時公開鍵を置き換える(ステップS306)。
【0074】
サーバー400の鍵更新部408は、アクセス鍵取得要求の応答として、公開鍵保存領域402に保存されている一時公開鍵が正規の公開鍵に正常に更新された旨を示す情報を新規参入エージェント300に送信する(ステップS307)。
【0075】
新規参入エージェント300の鍵生成部309は、公開鍵が正常に更新された旨を示す情報の受信後、公開鍵・秘密鍵保存領域302に保存されている一時公開鍵及び一時秘密鍵を正規の公開鍵及び正規の秘密鍵に更新する(ステップS206)。
【0076】
データベース管理システムは、このように動作することで、新規参入エージェント300が参入する処理を実現する。
【0077】
1.4 効果
本発明のデータベース管理システムによれば、作業差が一人で新規エージェントの参入を行う場合でも、信頼済エージェントの置かれている環境と新規参入エージェントが置かれている環境との行き来を1回で済ませることができる。これにより、作業者の作業負荷を軽減することができる。
【0078】
また、本実施の形態では、サーバー400は、新規参入エージェント300に暗号化アクセス鍵を送信した後、サーバー400上に保存してある暗号化アクセス鍵を削除する構成である。これにより、仮に、新規参入エージェントのID、一時公開鍵及び一時秘密鍵が盗まれた場合でも、正規な新規参入エージェントがサーバー400から暗号化アクセス鍵を取得した後であれば、不正な端末が暗号化アクセス鍵を取得することを防ぐことができる。また、不正な端末が盗んだID、一時公開鍵及び一時秘密鍵を用いて正規な新規参入エージェント300よりも前にサーバー400から暗号化アクセス鍵を取得した場合でも、新規参入エージェント300が暗号化アクセス鍵を取得できないことから、不正な端末に暗号化アクセス鍵が渡ってしまったことを早期に認識することができる。
2.補足
以上、本発明を実施の形態に基づいて説明してきたが本発明は上述の実施の形態に限定されないのは勿論であり以下の変形例が考えられる。
【0079】
(1)上述の実施の形態において、信頼済エージェント200は、ID、一時公開鍵及び一時秘密鍵をリムーバブルメディア600に保存するとしたが、ID、一時公開鍵及び一時秘密鍵のエクスポート方法はこの限りではない。例えば、メールに添付して新規参入エージェントに送信してもよいし、FTP等の通信プロトコルを利用して新規参入エージェントに送信してもよい。また、信頼済エージェント200と新規参入エージェント300との間で専用線通信が利用可能な場合には、それを利用してもよい。
【0080】
(2)サーバー400は、新規参入エージェント300に暗号化アクセス鍵を送信した後、サーバー400上から暗号化アクセス鍵を削除する構成としている。これは、新規参入エージェント300の一時秘密鍵が盗まれた場合でもその被害を最小限にするために、暗号化アクセス鍵を複数のエージェントに渡さないことを目的としているからである。この目的が達成できるならば、サーバー400の構成はこれに限られない。例えば、サーバー400は、新規参入エージェント300に暗号化アクセス鍵を送信した後、暗号化アクセス鍵一時保存領域403へのアクセスを禁止し、以後暗号化アクセス鍵取得要求を受け付けない構成としてもよい。
【0081】
(3)エージェント110(信頼済エージェント200、新規参入エージェント300)からサーバー120(サーバー400)に送信されるデータには、エージェントの秘密鍵を用いて生成された署名が付与されており、サーバーは、署名の検証に成功しない通信はすべて破棄するとしてもよい。
【0082】
また、エージェント110(信頼済エージェント200、新規参入エージェント300)とサーバー120(サーバー400)との通信は、暗号化されていてもよい。公開鍵暗号方式を用いて暗号化されてもよく、通信の開始時に公開鍵暗号方式で暗号化したセッション鍵(共通鍵)を共有し、データの暗号化にはセッション鍵を用いてもよい。
【0083】
暗号化アルゴリズム、署名生成アルゴリズム、署名検証アルゴリズムは、RSA暗号、DSA、ECDSA、Elgamal署名等の既知のアルゴリズムを用いることができる。
【0084】
(4)信頼済エージェント200が一時公開鍵及び一時秘密鍵を生成するとしたが、一時公開鍵及び一時秘密鍵は鍵管理者が発行したものを用いてもよい。また、新規参入エージェント300が正規の公開鍵及び正規の秘密鍵を生成するとしたが、正規の公開鍵及び正規の秘密鍵は鍵管理者が発行したものを用いてもよい。
【0085】
(5)エージェント110(信頼済エージェント200、新規参入エージェント300)は、例えば、汎用コンピューターのプロセッサーがメモリーに記憶されたコンピュータープログラムを実行することにより実現される。また、各機能部(秘密鍵保存領域111、アクセス鍵保存領域112、アクセス鍵暗号化部113、DBアクセス要求生成部114、DBアクセス要求送信部115、データ受信部116、アクセス鍵保存領域201、ID発行部202、鍵生成部203、暗号化部204、鍵エクスポート部205、鍵送信部206、鍵インポート部301、公開鍵・秘密鍵保存領域302、署名生成部303、アクセス鍵取得要求生成部304、アクセス鍵取得要求送信部305、暗号化アクセス鍵受信部306、暗号化アクセス鍵復号部307、アクセス鍵保存領域308、鍵生成部309、鍵更新要求生成部310、鍵更新要求送信部311)と同等の機能を有する集積回路で構成された端末によってエージェントを構成してもよい。
【0086】
サーバー120(サーバー400)は、例えば、汎用コンピューターのプロセッサーがメモリーに記憶されたコンピュータープログラムを実行することにより実現される。
【0087】
ここで、コンピュータープログラムは、所定の機能を達成するために、コンピューターに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0088】
また、コンピュータープログラムは、コンピューター読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、光ディスク、半導体メモリーなどに記録されているとしてもよい。
【0089】
また、コンピュータープログラムを、無線又は有線の電気通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するとしてもよい。
【0090】
(6)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【0091】
本発明は、サーバーが単一のアクセス鍵によりアクセス可能なデータベースを備え、アクセス鍵をサーバーが保持せず、エージェントのみが保持するデータベース管理システムにおいて、有用である。
【符号の説明】
【0092】
200 信頼済エージェント
201 アクセス鍵保存領域
202 ID発行部
203 鍵生成部
204 暗号化部
205 鍵エクスポート部
206 鍵送信部
300 新規参入エージェント
301 鍵インポート部
302 秘密鍵保存領域
303 署名生成部
304 アクセス鍵取得要求生成部
305 アクセス鍵取得要求送信部
306 暗号化アクセス鍵受信部
307 暗号化アクセス鍵復号部
308 アクセス鍵保存領域
309 鍵生成部
310 鍵更新要求生成部
311 鍵更新要求送信部
400 サーバー
401 鍵受信部
402 公開鍵保存領域
403 暗号化アクセス鍵一時保存領域
404 アクセス鍵取得要求受信部
405 署名検証部
406 暗号化アクセス鍵送信部
407 鍵更新要求受信部
408 鍵更新部