(57)【要約】【課題】複数のユーザからなる共有グループで共有鍵を共有する場合に、共有グループから外れたユーザが以降は共有鍵を利用できないシステムを実現する。【解決手段】共有鍵利用装置３００は、共有鍵登録装置１００が共有鍵管理装置２００に登録した共有鍵を共有鍵登録装置１００より受信し、保有している場合であっても、当該共有鍵を利用する前に、自己に利用が許可されている共有鍵を示す共有鍵識別名リストを共有鍵管理装置２００から改めて受信し、自己が保有している共有鍵が共有鍵識別名リストに示されているか否かを判定し、自己が保有している共有鍵が共有鍵識別名リストに示されている場合のみ当該共有鍵の利用が可能になり、これにより、共有グループから外れたユーザが共有鍵を利用できないようにする。【選択図】図１
2008004992.tif 000002
【特許請求の範囲】
【請求項１】
鍵の管理を行う鍵管理装置と通信を行う鍵利用装置であって、
他の装置により生成された鍵を格納する鍵格納部と、
前記鍵管理装置から、鍵利用装置による利用が許可されている許可鍵を示す許可鍵情報を受信する通信部と、
前記鍵格納部に格納されている格納鍵が前記許可鍵情報に許可鍵として示されているか否かを判定する鍵処理部と、
前記鍵処理部により前記格納鍵が前記許可鍵情報に許可鍵として示されていると判定された場合のみ前記格納鍵を利用する鍵利用部とを有することを特徴とする鍵利用装置。
【請求項２】
前記通信部は、
許可鍵情報の送信を要求する許可鍵情報送信要求を前記鍵管理装置に送信するとともに、前記鍵管理装置による前記許可鍵情報送信要求の受信時点での許可鍵を示す許可鍵情報を前記鍵管理装置から受信することを特徴とする請求項１に記載の鍵利用装置。
【請求項３】
前記通信部は、
いずれかの装置により生成された鍵であって鍵利用装置による共有が許可されている共有鍵を許可鍵として示す許可鍵情報を受信することを特徴とする請求項１に記載の鍵利用装置。
【請求項４】
前記通信部は、
許可鍵情報の送信を要求する許可鍵情報送信要求を前記鍵管理装置に送信するとともに、
前記鍵管理装置による前記許可鍵情報送信要求の受信時点で共有鍵を生成した装置によって鍵利用装置による共有が許可されている共有鍵を許可鍵として示す許可鍵情報を受信することを特徴とする請求項３に記載の鍵利用装置。
【請求項５】
前記鍵利用装置は、更に、
前記鍵利用部からの要求に基づき、前記許可鍵情報の送信を要求する許可鍵情報送信要求を生成する許可鍵情報処理部を有し、
前記通信部は、
前記許可鍵情報処理部により生成された前記許可鍵情報送信要求を前記鍵管理装置に対して送信して、前記鍵管理装置から前記許可鍵情報を受信することを特徴とする請求項１に記載の鍵利用装置。
【請求項６】
前記鍵処理部は、
前記通信部により受信された前記許可鍵情報に示されている許可鍵のうち、前記鍵管理装置から取得すべき鍵を選択し、選択した鍵の送信を要求する鍵送信要求を生成し、
前記通信部は、
前記鍵送信要求部により生成された鍵送信要求を前記鍵管理装置に送信するとともに、鍵送信要求において要求されている鍵を前記鍵管理装置から受信し、
前記鍵格納部は、
前記通信部により受信された鍵を格納することを特徴とする請求項１に記載の鍵利用装置。
【請求項７】
前記鍵処理部は、
前記許可鍵情報に許可鍵として示されていないと判定した格納鍵を前記鍵格納部から削除することを特徴とする請求項１に記載の鍵利用装置。
【請求項８】
前記鍵処理部は、
前記許可鍵情報に示されている許可鍵の少なくとも一部が前記鍵格納部に格納されていないと判定した場合に、前記鍵格納部に格納されていないと判定した許可鍵の送信を要求する鍵送信要求を生成し、
前記通信部は、
前記鍵処理部により生成された鍵送信要求を前記鍵管理装置に送信するとともに、鍵送信要求において要求されている鍵を前記鍵管理装置から受信し、
前記鍵格納部は、
前記通信部により受信された鍵を格納することを特徴とする請求項１に記載の鍵利用装置。
【請求項９】
前記鍵格納部は、
前記鍵処理部のみが鍵を取得できるように処理されており、
前記鍵利用部には、
暗号処理対象データを含む暗号化指示を出す暗号化プログラムと、前記暗号化プログラムからの暗号化指示を前記鍵処理部に出力する鍵利用ライブラリとが含まれ、
前記鍵処理部は、
前記鍵利用ライブラリから、前記暗号化プログラムからの暗号化指示を入力し、入力した暗号化指示に従って前記鍵格納部から対応する鍵を取得し、取得した鍵を用いて暗号処理対象データの暗号化を行い、暗号化後のデータを前記鍵利用ライブラリに出力し、
前記鍵利用ライブラリは、
前記鍵処理部から前記暗号化後のデータを入力し、入力した前記暗号化後のデータを前記暗号化プログラムに返却することを特徴とする請求項１に記載の鍵利用装置。
【請求項１０】
前記鍵利用装置は、
前記鍵格納部及び前記鍵処理部が、前記鍵利用ライブラリのみがアクセス可能なハードウェアデバイスに配置されていることを特徴とする請求項９に記載の鍵利用装置。
【請求項１１】
鍵の管理を行う鍵管理装置と通信を行って鍵を利用する鍵利用方法であって、
前記鍵管理装置から、利用が許可されている許可鍵が示される許可鍵情報を受信する通信ステップと、
前記許可鍵情報に許可鍵として示されているか鍵が所定の格納エリアに存在するか否かを判定する鍵判定ステップと、
前記鍵判定ステップにより前記許可鍵情報に許可鍵として示されている鍵が前記格納エリアに存在すると判定された場合のみ前記格納エリアの当該鍵を利用する鍵利用ステップとを有することを特徴とする鍵利用方法。
【請求項１２】
鍵の管理を行う鍵管理装置と通信を行って鍵を利用するコンピュータに、
前記鍵管理装置から、利用が許可されている許可鍵が示される許可鍵情報を受信する通信処理と、
前記許可鍵情報に許可鍵として示されているか鍵が所定の格納エリアに存在するか否かを判定する鍵判定処理と、
前記鍵判定処理により前記許可鍵情報に許可鍵として示されている鍵が前記格納エリアに存在すると判定された場合のみ前記格納エリアの当該鍵を利用する鍵利用処理とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化プログラムの利用者の鍵管理に関するものである。特に、複数の利用者からなる共有グループにより共有鍵を共有する鍵管理技術に関する。
【背景技術】
【０００２】
従来、複数の利用者からなるグループによる共有鍵の管理方法においては、ある共有鍵の利用ユーザが共有グループから外れたとき、グループから外れたユーザから直接共有鍵を返却させることとしていた。
また、特開２００１−９２７２７号公報では、まず共有鍵の利用ユーザが提供ユーザに鍵の共有を要求、提供ユーザは鍵の提供の是非を利用管理サーバに問い合わせた結果、提供ユーザから利用ユーザに直接共有鍵を配付する装置及び記録媒体について開示されている。
【特許文献１】特開２００１−９２７２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の鍵の共有方法では、共有グループから外れたユーザに鍵を返却させても、ユーザが既に鍵の複製を作成していれば、グループから外れた後も共有鍵を利用できてしまう課題があった。
また、特開２００１−９２７２７に開示の方法では、共有鍵はユーザ間で直接配付されるため、提供ユーザは鍵の要求のたびに共有鍵を配付しなければならない課題があった。
本発明は、以上のような課題を解決することを主な目的としており、複数のユーザからなる共有グループで共有鍵を共有する場合に、共有グループから外れたユーザが以降は共有鍵を利用できないシステムを実現することを主な目的とする。
【課題を解決するための手段】
【０００４】
本発明に係る鍵利用装置は、
鍵の管理を行う鍵管理装置と通信を行う鍵利用装置であって、
他の装置により生成された鍵を格納する鍵格納部と、
前記鍵管理装置から、鍵利用装置による利用が許可されている許可鍵を示す許可鍵情報を受信する通信部と、
前記鍵格納部に格納されている格納鍵が前記許可鍵情報に許可鍵として示されているか否かを判定する鍵処理部と、
前記鍵処理部により前記格納鍵が前記許可鍵情報に許可鍵として示されていると判定された場合のみ前記格納鍵を利用する鍵利用部とを有することを特徴とする。
【発明の効果】
【０００５】
本発明によれば、利用が許可されている許可鍵を示す許可鍵情報と格納されている格納鍵とを照合し、格納鍵が許可鍵情報に許可鍵として示されているか否かを判定し、格納鍵が許可鍵情報に許可鍵として示されている場合のみ格納鍵を利用するため、利用が許可されていない共有鍵の利用を排除することができ、共有グループ間通信におけるセキュリティを強化することができる。
【発明を実施するための最良の形態】
【０００６】
実施の形態１．
本実施の形態では、共有鍵利用装置が、共有鍵を利用するユーザが属する共有グループの最新の共有グループ情報を共有鍵管理装置から取得し、共有鍵利用装置の共有鍵利用ユーザに対し、つねに最新の条件で鍵の利用を制御する方式について述べる。
【０００７】
図１は、実施の形態１にかかる共有鍵管理システムの全体構成を示すブロック図である。
図１において、共有鍵登録装置１００は、共有鍵を生成し、共有鍵管理装置２００に共有鍵を登録する。共有鍵登録装置１００は、共有鍵管理装置２００に対するクライアントとして位置づけられる。また、共有鍵登録装置１００は、図２に示すように、共有鍵登録ユーザ１０１により操作される。
共有鍵管理装置２００は、共有鍵登録装置１００及び共有鍵利用装置３００に対するサーバとして位置づけられる。共有鍵管理装置２００は、共有鍵登録装置１００が生成した共有鍵を登録するとともに、共有鍵利用装置３００の共有鍵の利用を許可・制限するための処理を行う。共有鍵管理装置２００は、鍵管理装置の例である。
共有鍵利用装置３００は、共有鍵管理装置２００に登録されている共有鍵を取得し、取得した共有鍵を利用する。共有鍵利用装置３００は、共有鍵管理装置２００に対するクライアントとして位置づけられる。また、共有鍵利用装置３００は、図４に示すように、共有鍵利用ユーザ３０１により操作される。共有鍵利用装置３００は、鍵利用装置の例である。
データ通信路４００は、共有鍵登録装置１００及び共有鍵管理装置２００、共有鍵利用装置３００を接続し、データの送受信を行う。
【０００８】
図２は、共有鍵登録装置１００の構成を示す図である。
通信部１１１は、共有鍵登録ユーザ１０１の共有鍵登録ユーザ識別名１０２及び共有鍵登録ユーザ認証情報１１２を使用して、共有鍵管理装置２００に対しユーザ認証を要求し、認証結果としてＯＫまたはＮＧを受け取る。
また、共有鍵登録ユーザ認証後、通信部１１１は、共有鍵登録ユーザ１０１が所有する共有鍵登録ユーザ所有鍵１０３（以降、共有鍵１０３ともいう）を、共有鍵管理装置２００に対し登録を要求し、登録結果として共有鍵１０３の識別名である共有鍵識別名１０４を受け取る。
また、通信部１１１は、共有鍵１０３の登録時、共有鍵１０３の登録とともに、共有ユーザ識別名リスト１０９の登録を、共有鍵管理装置２００に対し要求する。この共有ユーザ識別名リスト１０９とは、共有鍵１０３を共有する共有グループに属するユーザの識別情報が表示されたリストである。なお、共有ユーザ識別名リスト１０９は共有グループ１０９とも表記する。
また、通信部１１１は、共有グループの要求登録後に共有グループ１０９を変更したときに、変更後の共有グループ１０９を共有鍵管理装置２００に対して送信して、共有グループ１０９の更新を要求し、更新結果として成功又は失敗を受け取る。
また、共有鍵処理部１０５は、共有鍵登録ユーザ１０１から入力された共有鍵１０３を共有鍵格納データベース１０８に格納する。
また、共有鍵識別名処理部１０７は、共有鍵識別名１０４を共有鍵格納データベース１０８に格納する。
【０００９】
図３は、共有鍵管理装置２００の構成例を示す。
ユーザ認証部２０１は、共有鍵登録ユーザ識別名１０２及び共有鍵登録ユーザ認証情報１１２を用いて共有鍵登録ユーザ１０１のユーザ認証を行い、共有鍵利用ユーザ識別名３０２及び共有鍵利用ユーザ認証情報３１１（図４）を用いて共有鍵利用ユーザ３０１のユーザ認証を行う。
また、通信部２１０は、共有鍵登録ユーザ１０１の共有鍵１０３の登録要求を共有鍵登録装置１００より受け付ける。
また、通信部２１０は、共有鍵登録ユーザ１０１の共有鍵１０３の共有ユーザ識別名リスト１０９の登録要求を共有鍵登録装置１００より受け付ける。
更には、通信部２１０は、共有鍵登録装置１００から変更後の共有ユーザ識別名リスト１０９の更新要求を受け付ける。
また、通信部２１０は、共有鍵利用ユーザ３０１が利用する共有鍵利用装置３００から共有鍵の取得要求を受け付け、共有鍵２０６を配付する。なお、共有鍵登録装置１００から送信された共有鍵１０３が共有鍵管理装置２００に受信された後は共有鍵２０６と表記する。
また、通信部２１０は、共有鍵利用装置３００から、共有鍵利用ユーザ３０１が利用可能な共有鍵識別名リストの取得要求を受け付け、共有鍵識別名リスト２０９を配付する。
共有鍵処理部２０４は、共有鍵登録装置１００から取得した共有鍵１０３を共有鍵２０６として共有鍵格納データベース２０５に格納する。
更に、共有鍵処理部２０４は、共有鍵２０６の識別名である共有鍵識別名２１１を生成し、また、共有鍵２０６の共有鍵識別名２１１を共有鍵格納データベース２０５に格納する。
共有グループ処理部２０７は、共有鍵登録装置１００から取得した共有ユーザ識別名リスト１０９を共有ユーザ識別名リスト２１２として共有グループ格納データベース２０８に格納する。なお、共有ユーザ識別名リスト２１２は共有グループ２１２とも表記する。
また、共有グループ処理部２０７は、共有鍵利用装置３００からの要求に基づき、共有グループ格納データベース２０８から共有鍵識別名リスト２０９を検索する。
【００１０】
図４は、共有鍵利用装置３００の構成例を示す。
通信部３０８は、共有鍵利用ユーザ識別名３０２及び共有鍵利用ユーザ認証情報３１１を使用して、共有鍵管理装置２００に対してユーザ認証を要求し、認証結果としてＯＫまたはＮＧを受け取る。
また、通信部３０８は、共有鍵利用ユーザ３０１の認証後、共有鍵管理装置２００に対して、共有鍵利用ユーザ３０１が共有可能な共有鍵の取得を要求し、共有鍵３０３を受け取る。なお、共有鍵管理装置２００から送信された共有鍵２０６が共有鍵利用装置３００に受信された後は共有鍵３０３と表記する。
また、通信部３０８は、ユーザ認証後、共有鍵管理装置２００に対して、共有鍵利用ユーザ３０１が共有可能な共有鍵識別名リストの取得を要求して、共有鍵識別名リスト３０４を受け取る。なお、共有鍵管理装置２００から送信された共有鍵識別名リスト２０９が共有鍵利用装置３００に受信された後は共有鍵識別名リスト３０４と表記する。
つまり、通信部３０８は、共有鍵利用装置３００による利用が許可されている共有鍵（許可鍵）を示す共有鍵識別名リスト（許可鍵情報）の送信を要求する共有鍵識別名リスト送信要求（許可鍵情報送信要求）を共有鍵管理装置２００に送信するとともに、共有鍵識別名リストを共有鍵管理装置２００から受信する。この共有鍵識別名リストは、共有鍵管理装置２００による共有鍵識別名リスト送信要求の受信時点で共有鍵利用装置３００に利用が許可されている共有鍵が示される。
共有鍵識別名リスト処理部３０７は、例えば、共有鍵利用部３１２から要求があった場合に、共有鍵識別名リスト送信要求を生成する。また、通信部３０８により受信された共有鍵識別名リストを共有鍵格納データベース３０６に格納する。共有鍵識別名リスト処理部３０７は、許可鍵情報処理部の例である。
共有鍵処理部３０５は、通信部３０８により受信された共有鍵識別名リストに示されている共有鍵（許可鍵）のうち、共有鍵管理装置２００から取得すべき共有鍵を選択し、選択した共有鍵の送信を要求する共有鍵送信要求（鍵送信要求）を生成する。この共有鍵送信要求は通信部３０８により共有鍵管理装置２００に送信され、共有鍵送信要求において要求されている共有鍵が共有鍵管理装置２００から送信され、通信部３０８が当該共有鍵を受信する。
そして、共有鍵処理部３０５は、共有鍵格納データベース３０６（鍵格納部）に、通信部３０８により受信された共有鍵を格納する。
また、共有鍵処理部３０５は、例えば、共有鍵利用部３１２による共有鍵の利用の際に、共有鍵格納データベース３０６に格納されている格納鍵が新たに受信された共有鍵識別名リストに共有鍵（許可鍵）として示されているか否かを判定する。共有鍵処理部３０５は、鍵処理部の例である。
共有鍵利用部３１２は、共有鍵処理部３０５により格納鍵が共有鍵識別名リストに共有鍵（許可鍵）として示されていると判定された場合のみ格納鍵を利用する。共有鍵利用部３１２は、鍵利用部の例である。
【００１１】
次に全体の動作を図１の各装置で説明する。図１６、図１７は全体の動作を示すシーケンス図である。
図１６はある鍵を新規に共有鍵として登録して利用するまで、図１７は登録後の共有鍵の共有ユーザの変更と利用時に変更結果を反映するまで、をそれぞれ示す。
なお、図１６は、共有鍵管理装置２００と共有鍵登録装置１００との間で、共有鍵登録ユーザの認証が終わった後の処理を示している。
また、図１６は、共有鍵管理装置２００と共有鍵利用装置３００との間で、共有鍵利用ユーザの認証が終わった後の処理を示している。
【００１２】
図１６において、ＳＴ６００では、共有鍵登録装置１００から共有鍵管理装置２００へ、共有鍵登録ユーザ所有鍵１０３と共有ユーザ識別名リスト１０９の登録を要求し、共有鍵管理装置２００が共有鍵登録ユーザ所有鍵１０３と共有ユーザ識別名リスト１０９を共有鍵格納ＤＢ２０５、共有グループ格納ＤＢ２０８に登録する。
ＳＴ６０１では、共有鍵利用装置３００が、共有鍵管理装置２００から共有鍵２０６と共有鍵識別名リスト２０９を取得し、共有鍵利用装置３００に共有鍵識別名リスト３０４として一時保管する。
ＳＴ６０２では、共有鍵利用装置３００が、共有鍵識別名リスト３０４に挙がっている共有鍵３０３を利用する。
【００１３】
図１７において、ＳＴ７００では、共有鍵登録装置１００から共有鍵管理装置２００へ、変更後の共有ユーザ識別名リスト１０９の更新を要求し、共有鍵管理装置２００は、変更後の共有ユーザ識別名リスト１０９に従って共有グループ格納ＤＢ２０８を更新する。
ＳＴ７０１では、共有鍵利用装置３００が、共有鍵管理装置２００から共有鍵識別名リスト２０９を取得し、共有鍵利用装置３００に共有鍵識別名リスト３０４として一時保管する。共有鍵識別名リスト３０４は、次の共有鍵利用装置３００利用開始時（共有鍵利用装置３００の起動時または共有鍵利用部３１２による共有鍵利用要求があったとき）に、共有鍵管理装置２００から取得し更新する。
ＳＴ７０２では、共有鍵利用装置３００が、共有鍵識別名リスト３０４に挙がっている共有鍵３０３を利用する。
図１７において、ＳＴ７０１はＳＴ７００に関係なく、共有鍵利用装置３００利用開始時（共有鍵利用装置３００の起動時または共有鍵利用部３１２による共有鍵利用要求があったとき）に動作する。
以上のように、共有鍵利用装置３００は、共有鍵識別名リスト３０４を一時的に保管し、共有鍵利用装置３００利用の度に、共有鍵管理装置２００から共有鍵識別名リスト３０４を取得し直すため、共有鍵利用装置３００の共有鍵利用ユーザ３０１に対し、つねに最新の条件で鍵の利用を制御することができる。
【００１４】
共有鍵利用装置３００は、共有鍵登録装置１００が共有鍵管理装置２００に登録した共有鍵を示す共有鍵識別名リスト３０４を共有鍵管理装置２００から受信し、共有鍵識別名リスト３０４に示されている共有鍵を共有鍵管理装置２００から受信し、受信した共有鍵を格納する。共有鍵利用装置３００は、受信した共有鍵を利用することができる。
また、共有鍵利用装置３００が以前に共有鍵管理装置２００から共有鍵を受信しており共有鍵を既に格納している状態で、当該共有鍵を利用しようとする場合、当該共有鍵を利用する前に、改めて、共有鍵識別名リスト３０４を共有鍵管理装置２００から受信し、自己が保有している共有鍵が共有鍵識別名リスト３０４に示されているか否かを判定し、自己が保有している共有鍵が共有鍵識別名リスト３０４に示されている場合のみ当該共有鍵の利用が可能になる（上記のＳＴ６０２又はＳＴ７０２）。
このようにして、共有鍵利用装置３００が最新の共有鍵識別名リスト３０４を参照し、最新の共有鍵識別名リスト３０４において自己の保有する共有鍵の利用が許可されていない場合（つまり、共有鍵利用ユーザ３０１が共有グループから外れている場合）は、当該共有鍵を利用できないようにし、これにより、共有グループから外れたユーザが共有鍵を利用できないようにしている。
【００１５】
次に、共有鍵登録及び共有ユーザ登録の動作について説明する。
図５は共有鍵登録ユーザの認証、共有鍵登録及び共有ユーザ登録を示すシーケンス図である。
【００１６】
図５において、ＳＴ１００では、共有鍵登録装置１００が、共有鍵登録ユーザ識別名１０２及び認証情報１１２を共有鍵登録ユーザ１０１から入力する。
次に、ＳＴ１０１では、共有鍵登録装置１００の通信部１１１が、ＳＴ１００で入力された共有鍵登録ユーザ識別名１０２及び認証情報１１２を送信し、共有鍵管理装置２００にユーザ認証を要求する。
次に、ＳＴ１０２では、共有鍵管理装置２００のユーザ認証部２０１が、ＳＴ１０１で受信したユーザ識別名１０２及びユーザ認証情報１１２を、ユーザ認証情報格納ＤＢ２０２に格納されているユーザ認証情報２０３と照合する。ユーザ認証情報格納ＤＢ２０２のデータ形式は、例えば、図１１に示す通りである。
次に、ＳＴ１０３では、共有鍵管理装置２００の通信部２１０が、認証成功または認証失敗の認証結果を、共有鍵登録装置１００に応答する。認証失敗時は以降のステップに進まない。
次に、ＳＴ１０４では、共有鍵登録装置１００が、共有鍵管理装置２００に登録する、共有鍵登録ユーザ所有鍵１０３を共有鍵登録ユーザ１０１から入力する。
次に、ＳＴ１０５では、共有鍵登録装置１００が、共有鍵管理装置２００に登録する、共有鍵の共有グループ１０９を入力する。共有グループ１０９のデータ形式は、例えば、図１８の通りである。
次に、ＳＴ１０６では、共有鍵登録装置１００の通信部１１１が、ＳＴ１０４で入力された共有鍵登録ユーザ所有鍵１０３と、ＳＴ１０５で入力された共有グループ１０９と、ＳＴ１００で入力されたユーザ識別名１０２を送信し、共有鍵管理装置２００に共有鍵登録を要求する。
次に、ＳＴ１０７では、共有鍵管理装置２００の共有鍵処理部２０４が、ＳＴ１０６で受信した共有鍵登録ユーザ所有鍵１０３を共有鍵２０６として、共有鍵２０６の共有鍵識別名２１１を生成する。
次に、ＳＴ１０８では、共有鍵管理装置２００の共有鍵処理部２０４が、ＳＴ１０６で受信した登録ユーザ識別名１０２と共有鍵２０６、ＳＴ１０７で生成した共有鍵識別名２１１を共有鍵格納ＤＢ２０５に格納する。共有鍵格納ＤＢ２０５のデータ形式は、例えば、図１２の通りである。
次に、ＳＴ１０９では、共有鍵管理装置２００の共有グループ処理部２０７が、ＳＴ１０６で受信した共有グループ１０９、ＳＴ１０７で生成した共有鍵識別名２１１を共有グループ格納ＤＢ２０８に格納する。共有グループ格納ＤＢ２０８のデータ形式は、例えば、図１３の通りである。
次に、ＳＴ１１０では、共有鍵管理装置２００の通信部２１０が、処理成功時はＳＴ１０７で生成した共有鍵識別名２１１を、または処理失敗の処理結果通知を、共有鍵登録装置１００に応答するステップである。処理失敗時は以降のステップに進まない。
次に、ＳＴ１１１では、共有鍵登録装置１００の共有鍵処理部１０５が、ＳＴ１１０で受信した共有鍵識別名２１１を共有鍵識別名１０４として、また、ＳＴ１０４で入力した共有鍵登録ユーザ所有鍵１０３を、共有鍵格納ＤＢ１０８に格納する。共有鍵格納ＤＢ１０８のデータ形式は、例えば、図９の通りである。
次に、ＳＴ１１２では、共有鍵登録装置１００の共有鍵識別名処理部１０７が、ＳＴ１１０で受信した共有鍵識別名２１１を共有鍵識別名１０４として、また、ＳＴ１０５で入力した共有グループ１０９を、共有グループ格納ＤＢ１１０に格納する。共有グループ格納ＤＢ１１０のデータ形式は、例えば、図１０の通りである。
【００１７】
次に、共有ユーザ変更の動作について説明する。
図６は共有鍵登録ユーザの認証、共有ユーザ変更を示すシーケンス図である。
図６において、ＳＴ２００では、ＳＴ１００〜ＳＴ１０３同様の処理を行う。
次に、ＳＴ２０４では、共有鍵登録装置１００の共有鍵識別名処理部１０７が、共有グループ格納ＤＢ１１０から共有鍵識別名１０４と共有グループ１０９を取得する。
次に、ＳＴ２０５では、共有鍵登録装置１００にて、ＳＴ２０４で取得した共有鍵識別名１０４の中から、共有ユーザを変更する共有鍵識別名１０４を選択する。
次に、ＳＴ２０６では、共有鍵登録装置１００にて、ＳＴ２０５で選択した共有鍵識別名１０４に対応する共有グループ１０９を変更する。
次に、ＳＴ２０７では、共有鍵登録装置１００の通信部１１１が、ＳＴ２０５で選択した共有鍵識別名１０４、ＳＴ２０６で変更した共有グループ１０９、ＳＴ２００で入力したユーザ識別名１０２を送信し、共有鍵管理装置２００に共有グループの更新を要求する。
次に、ＳＴ２０８では、共有鍵管理装置２００の共有グループ処理部２０７が、ＳＴ２０７で受信した共有グループ２１２を用いて、共有グループ格納ＤＢ２０８を更新する。
次に、ＳＴ２０９では、共有鍵管理装置２００の通信部２１０が、ＳＴ２０８の処理成功または処理失敗の処理結果通知を、共有鍵登録装置１００に応答する。処理失敗時は以降のステップに進まない。
次に、ＳＴ２１０では、共有鍵登録装置１００の共有鍵識別名処理部１０７が、ＳＴ２０６で変更した共有グループ１０９を用いて、共有グループ格納ＤＢ１１０を更新する。
【００１８】
次に、共有鍵取得の動作について説明する。
図７は共有鍵利用ユーザの認証、共有鍵取得を示すシーケンス図である。
図７に示すフローは、共有鍵利用装置３００の共有鍵利用部３１２により共有鍵の取得要求があった場合や、共有鍵利用装置３００の起動時に開始される。また、一定周期ごとに、図７のフローを開始してもよい。
【００１９】
図７において、ＳＴ３００は、ＳＴ１００〜ＳＴ１０３と同様の処理を行う。
次に、ＳＴ３０４では、共有鍵識別名リスト処理部３０７が、ＳＴ３００で入力されたユーザ識別名３０２を含む共有鍵識別名リスト送信要求を生成し、共有鍵利用装置３００の通信部３０８が、生成された共有鍵識別名リスト送信要求を送信して、共有鍵管理装置２００に共有鍵識別名リスト２０９を要求する。共有鍵識別名リスト２０９のデータ形式は、例えば、図１４の通りである。共有鍵識別名リスト２０９は、前述したように、共有鍵利用装置３００の利用が許可されている共有鍵を示すリストである。なお、図１４の例では、共有鍵のＩＤのみが示されているが、利便性を高めるため、各共有鍵がいずれの共有鍵登録装置１００により生成されたのか（いずれの共有鍵登録装置１００と暗号通信が可能か）を示すようにしてもよい。
次に、ＳＴ３０５では、共有鍵管理装置２００の共有グループ処理部２０７が、ＳＴ３０４で受信した共有鍵識別名リスト送信要求に含まれているユーザ識別名３０２をキーに、共有グループ格納ＤＢ２０８から共有鍵識別名リスト２０９を検索する。
次に、ＳＴ３０６では、共有鍵管理装置２００の通信部２１０が、処理成功時はＳＴ３０５で検索した共有鍵識別名リスト２０９を、または処理失敗の処理結果通知を、共有鍵利用装置３００に応答する。処理失敗時は以降のステップに進まない。
次に、ＳＴ３０７では、共有鍵利用装置３００の通信部３０８が、共有鍵識別名リストを受信し、共有鍵利用装置３００の共有鍵識別名リスト処理部３０７が、通信部３０８が受信した共有鍵識別名リスト３０４を保持する。なお、共有鍵利用装置３００の起動時に図７のフローが自動的に開始された場合や、一定周期ごとに図７のフローが自動的に開始された場合は、本ステップにて処理を終了してもよい。
次に、ＳＴ３０８では、共有鍵利用装置３００の共有鍵処理部３０５が、共有鍵利用ユーザ３０１からの指定を受けて、ＳＴ３０７で保持した共有鍵識別名リスト３０４から、配付を要求する共有鍵を選択する。そして、共有鍵処理部３０５は、選択した共有鍵の送信を要求する共有鍵送信要求を生成する。共有鍵送信要求には、共有鍵識別名リスト３０４に示された共有鍵名のうち選択された共有鍵識別名とＳＴ３００で入力されたユーザ識別名３０２が示される。
次に、ＳＴ３０９では、共有鍵利用装置３００の通信部３０８が、ＳＴ３０８で生成された共有鍵送信要求（共有鍵識別名及びユーザ識別名が含まれる）を送信し、共有鍵管理装置２００に共有鍵の取得を要求する。
次に、ＳＴ３１０では、共有鍵管理装置２００の共有鍵処理部２０４が、ＳＴ３０９で受信した共有鍵送信要求に含まれる共有鍵識別名２１１をキーに、共有鍵格納ＤＢ２０５から共有鍵２０６を検索する。
次に、ＳＴ３１１では、共有鍵管理装置２００の通信部２１０が、処理成功時はＳＴ３１０で検索した共有鍵２０６を、または処理失敗の処理結果通知を、共有鍵利用装置３００に応答する。処理失敗時は以降のステップに進まない。
次に、ＳＴ３１２では、共有鍵利用装置３００の共有鍵処理部３０５が、ＳＴ３１１で受信した共有鍵３０３、ＳＴ３０８で選択された共有鍵識別名を、共有鍵格納ＤＢ３０６に格納する。共有鍵格納ＤＢ３０６のデータ形式は、例えば、図９の通りである。
共有鍵利用部３１２からの要求により、図７の処理が開始した場合には、以降、共有鍵利用部３１２が、共有鍵格納ＤＢ３０６に格納されている共有鍵を利用して、共有鍵登録装置１００との間で暗号通信や暗号データの共有を行う。
【００２０】
次に、共有鍵識別名リスト取得の動作（鍵利用方法）について説明する。
図８は、共有鍵利用ユーザの認証、共有鍵識別名リスト取得を示すシーケンス図である。
図８の動作は、既に、共有鍵利用装置３００の共有鍵格納ＤＢ３０６に格納済の共有鍵を共有鍵利用部３１２が利用する場合に行われる。つまり、前述したように、格納済の共有鍵を利用する前に、共有鍵利用装置３００が、改めて、共有鍵識別名リスト３０４を共有鍵管理装置２００から受信し、自己が保有している共有鍵が共有鍵識別名リスト３０４に示されているか否かを判定し、自己が保有している共有鍵が共有鍵識別名リスト３０４に示されている場合のみ当該共有鍵を利用する。
【００２１】
図８において、ＳＴ４００〜ＳＴ４０６は、図７のＳＴ３００〜ＳＴ３０６と同様である。
つまり、ＳＴ４００において、共有鍵利用装置３００と共有鍵管理装置２００の間でユーザ認証処理を行った後、ＳＴ４０４において、共有鍵識別名リスト処理部３０７が、ユーザ識別名３０２を含む共有鍵識別名リスト送信要求を生成し、共有鍵利用装置３００の通信部３０８が、生成された共有鍵識別名リスト送信要求を送信して、共有鍵管理装置２００に共有鍵識別名リスト２０９の送信を要求する。また、ＳＴ４０５において、共有鍵管理装置２００の共有グループ処理部２０７が、ＳＴ４０４で受信した共有鍵識別名リスト送信要求に含まれているユーザ識別名３０２をキーに、共有グループ格納ＤＢ２０８から共有鍵識別名リスト２０９を検索する。更に、ＳＴ４０６において、共有鍵管理装置２００の通信部２１０が、処理成功時はＳＴ３０５で検索した共有鍵識別名リスト２０９を、または処理失敗の処理結果通知を、共有鍵利用装置３００に応答する。処理失敗時は以降のステップに進まない。
【００２２】
次に、ＳＴ４０７では、共有鍵利用装置３００の通信部３０８が、共有鍵識別名リストを受信し（通信ステップ）、共有鍵利用装置３００の共有鍵識別名リスト処理部３０７が、通信部３０８が受信した共有鍵識別名リスト３０４を保持する。
次に、ＳＴ４０８では、共有鍵利用装置３００の共有鍵処理部３０５が、ＳＴ４０７で受信され、共有鍵識別名リスト処理部３０７で保持されている共有鍵識別名リスト３０４と共有鍵格納ＤＢ３０６に格納されている共有鍵とを照合し、利用の対象となる共有鍵の識別名が、共有鍵識別名リストに示されているか否かを判定する（鍵判定ステップ）。
ＳＴ４０８において、共有鍵処理部３０５により、利用の対象となる共有鍵の識別名が共有鍵識別名リスト３０４に示されていると判定された場合に、ＳＴ４０９で、共有鍵利用部３１２が当該共有鍵を共有鍵格納ＤＢ３０６から取得し、当該共有鍵を利用して共有鍵登録装置１００との間で暗号通信や暗号データの共有を行う。他方、共有鍵処理部３０５により、利用の対象となる共有鍵の識別名が共有鍵識別名リスト３０４に示されていないと判定された場合に、共有鍵利用部３１２は当該共有鍵を利用することができない。
【００２３】
このように、本実施の形態に係る共有鍵利用装置において、共有鍵格納ＤＢ（鍵格納部）は、他の装置、具体的には、共有鍵登録装置により生成された共有鍵を格納し、通信部は、共有鍵管理装置から、共有鍵利用装置による利用が許可されている共有鍵（許可鍵）を示す共有鍵識別名リスト（許可鍵情報）を受信する。
そして、共有鍵処理部（鍵処理部）は、共有鍵格納ＤＢに格納されている鍵（格納鍵）が共有鍵識別名リストに共有鍵（許可鍵）として示されているか否かを判定し、共有鍵利用部（鍵利用部）は、格納されている鍵が共有鍵処理部により共有鍵識別名リストに共有鍵（許可鍵）として示されていると判定された場合のみ格納されている鍵を利用する。
【００２４】
このように、本実施の形態では、共有鍵利用装置が、自己が保有する共有鍵を利用する前に、必ず、共有鍵登録装置が共有グループとして指定するユーザを示す共有鍵識別名リストの最新リストを参照し、最新の共有鍵識別名リストにおいて自己の保有する共有鍵の利用が許可されていない場合（つまり、共有鍵利用ユーザが共有グループから外れている場合）は、当該共有鍵を利用できないようにしているため、共有グループから外れたユーザは共有鍵が利用できない。つまり、共有鍵利用装置の共有鍵利用ユーザに対し、つねに最新の条件で鍵の利用を制御することができる。
これにより、共有グループに属さない者による共有鍵の利用を排除することができ、共有グループ間通信や暗号データの共有におけるセキュリティを強化することができる。
【００２５】
以上、本実施の形態では、クライアント・サーバ構成の鍵共有システムであって、任意のクライアント装置から共有鍵をサーバ装置に登録し、他のクライアント装置からサーバ装置にある共有鍵を取得するシステムにおいて、以下の特徴を持つ利用者鍵管理方式について説明した。
（１）共有鍵の利用ユーザが操作するクライアント装置は、任意の時間に利用ユーザが共有可能な鍵の識別名リストをサーバ装置から取得し、共有鍵の利用ユーザが操作するクライアント装置の動作中一時的に共有可能な鍵の識別名リストを保持する共有鍵識別名リスト処理手段を持つ。
（２）共有鍵及び共有鍵毎の共有グループを管理するサーバ装置は、共有鍵の登録ユーザが操作するクライアント装置から、任意の時間に共有グループの変更を受け取る共有グループ処理手段を持つ。
【００２６】
そして、本実施の形態に係る共有鍵利用装置は、共有鍵管理装置と通信して、共有鍵利用装置の利用ユーザが共有可能な鍵の情報である共有鍵識別名リストを取得し、共有鍵利用装置内でつねに最新の共有鍵識別名リストに基づき鍵の利用を制御する。
また共有鍵登録装置は、共有鍵管理装置と通信して、共有鍵を登録した共有鍵登録装置の利用ユーザが、既に登録した共有鍵の共有グループを、いつでも変更できる。
【００２７】
実施の形態２．
本実施の形態では、共有鍵処理部３０５が、共有鍵識別名リスト３０４を取得するＳＴ３０７（図７）やＳＴ４０７（図８）の後に、共有鍵識別名リスト３０４と共有鍵格納ＤＢ３０６を照合し、共有鍵識別名リスト３０４に載っていない共有鍵識別名で、共有鍵格納ＤＢ３０６内に存在する鍵データを削除する。
【００２８】
このように、本実施の形態では、共有鍵処理部は、共有鍵識別名リストに示されていない鍵、すなわち、共有鍵利用装置による利用が許可されていない鍵を共有鍵格納ＤＢから削除するため、利用が許可されていない鍵を共有鍵利用装置が利用する可能性を排除することができる。
【００２９】
以上、本実施の形態では、以下の装置を持つ利用者鍵管理方式について説明した。
（１）共有鍵の利用ユーザが操作するクライアント装置は、利用ユーザが共有可能な鍵の識別名リストをサーバ装置から取得したときに、利用ユーザが共有可能な鍵の識別名リストと共有鍵格納データベースを照合し、利用ユーザが共有可能な鍵の識別名リストに載っていなく、共有鍵格納データベース内に存在する共有鍵を、共有鍵格納データベースから削除する共有鍵識別名リスト処理手段及び共有鍵処理手段を持つ。
【００３０】
実施の形態３．
本実施の形態では、共有鍵処理部３０５が、共有鍵識別名リスト３０４を取得するＳＴ３０７（図７）やＳＴ４０７（図８）の後に、共有鍵識別名リスト３０４と共有鍵格納ＤＢ３０６を照合し、共有鍵識別名リスト３０４に載っている共有鍵識別名で、共有鍵格納ＤＢ３０６内に存在しない鍵データを共有鍵管理装置２００から取得する。
【００３１】
すなわち、本実施の形態では、共有鍵処理部３０５は、共有鍵識別名リスト３０４に示されている共有鍵の少なくとも一部が共有鍵格納ＤＢ３０６に格納されていないと判定した場合に、共有鍵格納ＤＢ３０６に格納されていないと判定した共有鍵の送信を要求する共有鍵送信要求（鍵送信要求）を生成する。そして、通信部３０８は、共有鍵処理部３０５により生成された共有鍵送信要求を共有鍵管理装置２００に送信するとともに、共有鍵送信要求において要求されている共有鍵を共有鍵管理装置２００から受信する。
その後、共有鍵格納ＤＢ３０６は、通信部３０８により受信された共有鍵を格納する。
【００３２】
このように、本実施の形態では、共有鍵利用装置において、共有鍵識別名リストに示されているが共有鍵格納ＤＢに格納されていない共有鍵を共有鍵利用ユーザに取得要否を問い合わせることなく取得するため、利便性を高め、共有鍵の円滑な取得を実現することができる。
【００３３】
以上、本実施の形態では、以下の装置を持つ利用者鍵管理方式について説明した。
（１）共有鍵の利用ユーザが操作するクライアント装置は、利用ユーザが共有可能な鍵の識別名リストをサーバ装置から取得したときに、利用ユーザが共有可能な鍵の識別名リストと共有鍵格納データベースを照合し、利用ユーザが共有可能な鍵の識別名リストに載っていて、共有鍵格納データベース内に存在しない共有鍵を、サーバ装置から取得する共有鍵識別名リスト処理手段及び共有鍵処理手段を持つ。
【００３４】
実施の形態４．
図１９は、本実施の形態に係る共有鍵利用装置３００の構成例を示す。
図１９では、図４に示した共有鍵利用部３１２の例として、鍵利用ライブラリ３０９と暗号化プログラム３１０が備わっている。なお、暗号化プログラムは、鍵利用プログラムとも表記する。
本実施の形態では、共有鍵格納ＤＢ３０６は、共有鍵処理部３０５のみが共有鍵を取得できるように処理されている。
また、暗号化プログラム３１０は、暗号処理の対象となる暗号処理対象データを含む暗号化指示を鍵利用ライブラリ３０９に出す。
鍵利用ライブラリ３０９は、暗号化プログラム３１０からの暗号化指示を共有鍵処理部３０５に出力する。
また、共有鍵処理部３０５は、鍵利用ライブラリ３０９から、暗号化プログラム３１０からの暗号化指示を入力し、入力した暗号化指示に従って共有鍵格納ＤＢ３０６から対応する共有鍵を取得し、取得した共有鍵を用いて暗号処理対象データの暗号化を行い、暗号化後のデータを鍵利用ライブラリ３０９に出力し、鍵利用ライブラリ３０９が、共有鍵処理部３０５から暗号化後のデータを入力し、入力した暗号化後のデータを暗号化プログラム３１０に返却する。
つまり、本実施の形態では、共有鍵処理部３０５は、データの暗号化や復号を行う暗号化プログラムとは独立して鍵処理を行い、鍵利用ライブラリが暗号化プログラムから鍵の利用要求や暗号化対象データを受け取り、暗号化対象データに対する鍵処理結果を暗号化プログラムに返す。
【００３５】
以下にて、本実施の形態における方式の詳細を述べる。
【００３６】
図１５はこの実施の形態４におけるシーケンス図である。
共有鍵利用装置３００において鍵利用ライブラリによるデータ暗号化の動作について説明する。
図１５において、ＳＴ５００では、暗号化プログラム３１０から鍵利用ライブラリ３０９へ、鍵利用開始を要求する。
次に、ＳＴ５０１において、鍵利用ライブラリ３０９から共有鍵識別名リスト処理部３０７へ、共有鍵識別名リスト３０４を要求する。
次に、ＳＴ５０２において、共有鍵利用装置３００から共有鍵管理装置２００へ、共有鍵識別名リスト３０４を要求する。この処理は、図７のＳＴ３０４又は図８のＳＴ４０４と同様の処理である。
次に、ＳＴ５０３において、共有鍵管理装置２００から共有鍵利用装置３００へ、共有鍵識別名リスト３０４を応答する。この処理は、図７のＳＴ３０５又は図８のＳＴ４０５と同様の処理である。
次に、ＳＴ５０４において、共有鍵識別名リスト処理部３０７から鍵利用ライブラリ３０９へ、共有鍵識別名リスト３０４を応答する。
次に、ＳＴ５０５において、鍵利用ライブラリ３０９が暗号化プログラム３１０へ、共有鍵識別名リスト３０４を応答する。
次に、ＳＴ５０６において、暗号化プログラム３１０から鍵利用ライブラリ３０９へ、暗号処理を行う鍵の共有鍵識別名、暗号処理対象データ、暗号処理パラメータを含む暗号化指示を出し、暗号処理を要求する。
次に、ＳＴ５０７において、鍵利用ライブラリ３０９から共有鍵処理部３０５へ、暗号化指示を出力し、暗号処理対象データの暗号処理を要求する。
次に、ＳＴ５０８において、共有鍵処理部３０５から鍵利用ライブラリ３０９へ、暗号処理対象データの暗号処理結果を応答する。つまり、共有鍵処理部３０５から鍵利用ライブラリ３０９へ、暗号化後のデータを出力する。
次に、ＳＴ５０９において、鍵利用ライブラリ３０９が暗号化プログラム３１０へ、暗号処理対象データの暗号処理結果、つまり、暗号化後のデータを応答する。
以上により、暗号化プログラムは暗号化後のデータを取得することができる。
【００３７】
前述したように、共有鍵格納ＤＢ３０６に格納されている鍵データは共有鍵処理部３０５だけが処理できるよう暗号化されている。共有鍵処理部３０５は、鍵利用ライブラリ３０９だけが利用でき、暗号化共有鍵処理部３０５と鍵利用ライブラリ３０９との間の秘密を共有する。
【００３８】
このように、本実施の形態では、共有鍵利用装置の中でデータを暗号化・復号を行う鍵処理のみを行い、同じ共有鍵利用装置内の暗号化プログラムと独立して動作し、様々な暗号化プログラムから利用することが可能である。
つまり、本実施の形態では、鍵利用ライブラリのみが共有鍵処理部を操作することが可能であり、複数の暗号化プログラムが存在する場合に、複数の暗号化プログラムはそれぞれが鍵利用ライブラリに暗号化の要求を行うことで、複数の暗号化プログラムは相互に独立して動作することが可能である。
【００３９】
実施の形態５．
実施の形態４の図１５に示された処理を安全に実現するため、共有鍵識別名リスト３０４や共有鍵３０３を処理する共有鍵処理部３０５や共有鍵識別名リスト処理部３０７に対し、鍵利用ライブラリ３０９以外から処理できないよう保護する。
保護方法として、鍵利用ライブラリ３０９のみアクセス可能なハードウェアデバイスを利用する。共有鍵識別名リスト３０４を一時的に保管する共有鍵識別名リスト処理部３０７や、共有鍵３０３を格納する共有鍵格納ＤＢ３０６、共有鍵３０３を処理する共有鍵処理部３０５を、鍵利用ライブラリ３０９のみアクセス可能なハードウェアデバイスに配置する。
このように、本実施の形態に係る共有鍵利用装置では、共有鍵格納ＤＢ、共有鍵処理部等が、鍵利用ライブラリのみがアクセス可能なハードウェアデバイスに配置されている。
【００４０】
以上、本実施の形態では、以下の装置を持つ利用者鍵管理方式について説明した。
（１）共有鍵の利用ユーザが操作するクライアント装置は、共有鍵の利用ユーザが操作するクライアント装置内にある暗号化プログラムが共有鍵を利用可能にする、共有鍵処理手段を保護するハードウェアデバイス上にあり、ハードウェアデバイスと唯一利用できる鍵利用ライブラリを持つ。
【００４１】
なお、最後に、実施の形態１〜５に示した共有鍵登録装置１００、共有鍵管理装置２００、共有鍵利用装置３００のハードウェア構成例について説明する。
図２０は、実施の形態１〜５に示した共有鍵登録装置１００、共有鍵管理装置２００、共有鍵利用装置３００のハードウェア資源の一例を示す図である。
図２０において、共有鍵登録装置１００、共有鍵管理装置２００、共有鍵利用装置３００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００４２】
通信ボード９１５は、図１に示すように、ネットワークに接続されている。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００４３】
上記プログラム群９２３には、実施の形態１〜５の説明において「〜部」、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以上の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」、「〜の評価結果」等として説明している情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、以上の説明で用いたフローチャート、シーケンス図の矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００４４】
また、実施の形態１〜５の説明において「〜部」、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１〜５で説明した「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、実施の形態１〜５の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００４５】
このように、実施の形態１〜５に示す共有鍵登録装置１００、共有鍵管理装置２００、共有鍵利用装置３００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【００４６】
【図１】実施の形態１〜５に係る共有鍵管理システムの構成例を示す図。
【図２】実施の形態１〜５に係る共有鍵登録装置の構成例を示す図。
【図３】実施の形態１〜５に係る共有鍵管理装置の構成例を示す図。
【図４】実施の形態１〜３に係る共有鍵利用装置の構成例を示す図。
【図５】実施の形態１に係る共有鍵登録装置と共有鍵管理装置との間における共有鍵登録及び共有ユーザ登録の動作例を示す図。
【図６】実施の形態１に係る共有鍵登録装置と共有鍵管理装置との間における共有ユーザ変更の動作例を示す図。
【図７】実施の形態１に係る共有鍵管理装置と共有鍵利用装置との間における共有鍵取得の動作例を示す図。
【図８】実施の形態１に係る共有鍵管理装置と共有鍵利用装置との間における共有鍵識別名リスト取得の動作例を示す図。
【図９】実施の形態１に係る共有鍵格納ＤＢのデータ形式の例を示す図。
【図１０】実施の形態１に係る共有グループ格納ＤＢのデータ形式の例を示す図。
【図１１】実施の形態１に係るユーザ認証情報格納ＤＢのデータ形式の例を示す図。
【図１２】実施の形態１に係る共有鍵格納ＤＢのデータ形式の例を示す図。
【図１３】実施の形態１に係る共有グループ格納ＤＢのデータ形式の例を示す図。
【図１４】実施の形態１に係る共有鍵識別名リストのデータ形式の例を示す図。
【図１５】実施の形態４に係るデータ暗号化の動作例を示す図。
【図１６】実施の形態１に係る共有鍵の登録から共有鍵の利用までの動作例を示す図。
【図１７】実施の形態１に係る共有ユーザの変更から利用時の変更結果の反映までの動作例を示す図。
【図１８】実施の形態１に係る共有グループのデータ形式の例を示す図。
【図１９】実施の形態４に係る共有鍵利用装置の構成例を示す図。
【図２０】実施の形態１〜５に係る共有鍵登録装置、共有鍵管理装置、共有鍵利用装置のハードウェア構成例を示す図。
【符号の説明】
【００４７】
１００  共有鍵登録装置、１０１  共有鍵登録ユーザ、１０２  共有鍵登録ユーザ識別名、１０３  共有鍵登録ユーザ所有鍵、１０４  共有鍵識別名、１０５  共有鍵処理部、１０７  共有鍵識別名処理部、１０８  共有鍵格納データベース、１０９  共有ユーザ識別名リスト、１１０  共有グループ格納データベース、１１１  通信部、１１２  共有鍵登録ユーザ認証情報、２００  共有鍵管理装置、２０１  ユーザ認証部、２０２  ユーザ認証情報格納データベース、２０３  ユーザ認証情報、２０４  共有鍵処理部、２０５  共有鍵格納データベース、２０７  共有グループ処理部、２０８  共有グループ格納データベース、２０９  共有鍵識別名リスト、２１０  通信部、２１１  共有鍵識別名、２１２  共有ユーザ識別名リスト、３００  共有鍵利用装置、３０１  共有鍵利用ユーザ、３０２  共有鍵利用ユーザ識別名、３０３  共有鍵、３０４  共有鍵識別名リスト、３０５  共有鍵処理部、３０６  共有鍵格納データベース、３０７  共有鍵識別名リスト処理部、３０８  通信部、３０９  鍵利用ライブラリ、３１０  暗号化プログラム、３１１  共有鍵利用ユーザ認証情報、３１２  共有鍵利用部。
【図１】
2008004992.tif 000003
【図２】
2008004992.tif 000004
【図３】
2008004992.tif 000005
【図４】
2008004992.tif 000006
【図５】
2008004992.tif 000007
【図６】
2008004992.tif 000008
【図７】
2008004992.tif 000009
【図８】
2008004992.tif 000010
【図９】
2008004992.tif 000011
【図１０】
2008004992.tif 000012
【図１１】
2008004992.tif 000013
【図１２】
2008004992.tif 000014
【図１３】
2008004992.tif 000015
【図１４】
2008004992.tif 000016
【図１５】
2008004992.tif 000017
【図１６】
2008004992.tif 000018
【図１７】
2008004992.tif 000019
【図１８】
2008004992.tif 000020
【図１９】
2008004992.tif 000021
【図２０】
2008004992.tif 000022