(57)【要約】      （修正有）【課題】ユーザがパスワードを忘却した場合でも、暗号化されたデータが復号できる暗号鍵管理方法を提供する。【解決手段】ユーザ端末がパスワードのリセットを要求し管理者端末が承認すると、暗号鍵管理装置は、管理者のパスワードを一方向関数で管理者のパスワード鍵２１１に変換して暗号化済みユーザパスワード鍵２２２を復号し、ユーザのパスワード鍵２０１を取得する。次に、暗号鍵管理装置は、ユーザのパスワード鍵２０１を用いて暗号化済みユーザ鍵２００を復号し、ユーザ鍵２０２を取得する。そして、暗号鍵管理装置は、新しいユーザのパスワードを一方向関数で新しいユーザのパスワード鍵２０１に変換してユーザ鍵２０２を暗号化し、暗号化済みユーザ鍵２００を生成し直すとともに、管理者のパスワード鍵２１１を用いて新しいユーザのパスワード鍵２０１を暗号化して暗号化済みユーザパスワード鍵２２２を生成し直す。【選択図】図２
2016005031.tif 000002
【特許請求の範囲】
【請求項１】
第１のユーザのパスワードから変換された第１のユーザのパスワード鍵を用いて前記第１のユーザのデータの暗号化および暗号化されたデータの復号に用いられるユーザ鍵が暗号化された暗号化済みユーザ鍵と、第２のユーザのパスワードから変換された第２のユーザのパスワード鍵を用いて前記第１のユーザのパスワード鍵が暗号化された暗号化済みユーザパスワード鍵とを格納する鍵管理データベースと、
第１の端末から、新しい前記第１のユーザのパスワードを含むパスワードリセット要求情報を受信するパスワードリセット要求受信手段と、
前記パスワードリセット要求受信手段がパスワードリセット要求情報を受信すると、当該パスワードリセット要求情報を送信した前記第１のユーザを特定するユーザ特定情報を含むパスワードリセット承認要求情報を第２の端末に送信するパスワードリセット承認要求情報送信手段と、
前記第２の端末から、第２のユーザのパスワードを含むパスワードリセット承認通知情報を受信すると、当該パスワードリセット承認通知情報に含まれる第２のユーザのパスワードを変換し、前記第２のユーザのパスワード鍵を生成する第２のユーザのパスワード鍵生成手段と、
前記鍵管理データベースから前記暗号化済みユーザパスワード鍵を読み出し、前記第２のユーザのパスワード鍵生成手段によって生成された第２のユーザのパスワード鍵を用いて、読み出した前記暗号化済みユーザパスワード鍵を復号し、前記第１のユーザのパスワード鍵を取得する第１のユーザのパスワード鍵取得手段と、
前記鍵管理データベースから前記暗号化済みユーザ鍵を読み出し、前記第１のユーザのパスワード鍵取得手段によって取得された第１のユーザのパスワード鍵を用いて、読み出した前記暗号化済みユーザ鍵を復号し、前記ユーザ鍵を取得するユーザ鍵取得手段と、
前記パスワードリセット要求受信手段によって受信されたパスワードリセット要求情報に含まれる第１のユーザのパスワードを変換し、新しい第１のユーザのパスワード鍵を生成する第１のユーザのパスワード鍵生成手段と、
前記第１のユーザのパスワード鍵生成手段によって生成された第１のユーザのパスワード鍵を用いて、前記ユーザ鍵取得手段によって取得されたユーザ鍵を暗号化して新しい暗号化済みユーザ鍵を生成し、前記鍵管理データベースに格納されている暗号化済みユーザ鍵を当該新しい暗号化済みユーザ鍵で更新する暗号化済みユーザ鍵更新手段と、
前記第２のユーザのパスワード鍵生成手段によって生成された第２のユーザのパスワード鍵を用いて、前記第１のユーザのパスワード鍵生成手段によって生成された第１のユーザのパスワード鍵を暗号化して新しい暗号化済みユーザパスワード鍵を生成し、前記鍵管理データベースに格納されている暗号化済みユーザパスワード鍵を当該新しい暗号化済みユーザパスワード鍵で更新する暗号化済みユーザパスワード鍵更新手段と、
を備えることを特徴とする暗号鍵管理装置。
【請求項２】
前記鍵管理データベースが、前記第２のユーザのパスワード鍵を用いて管理鍵が暗号化された暗号化済み管理鍵を格納しており、
前記鍵管理データベースに格納されている暗号化済みユーザパスワード鍵が、前記管理鍵を用いて暗号化されており、
前記第１のユーザのパスワード鍵取得手段が、前記鍵管理データベースから前記暗号化済み管理鍵を読み出し、前記第２のユーザのパスワード鍵生成手段によって生成された第２のユーザのパスワード鍵を用いて、読み出した前記暗号化済み管理鍵を復号して管理鍵を取得し、前記鍵管理データベースから前記暗号化済みユーザパスワード鍵を読み出し、前記取得した管理鍵を用いて読み出した前記暗号化済みユーザパスワード鍵を復号して前記第１のユーザのパスワード鍵を取得し、
前記暗号化済みユーザパスワード鍵更新手段が、前記第１のユーザのパスワード鍵取得手段によって第２のユーザのパスワード鍵を用いて取得された管理鍵を用いて、前記第１のユーザのパスワード鍵生成手段によって生成された第１のユーザのパスワード鍵を暗号化して新しい暗号化済みユーザパスワード鍵を生成する、
ことを特徴とする請求項１に記載の暗号鍵管理装置。
【請求項３】
第１のユーザのパスワードから変換された第１のユーザのパスワード鍵を用いて前記第１のユーザのデータの暗号化および暗号化されたデータの復号に用いられるユーザ鍵が暗号化された暗号化済みユーザ鍵と、第２のユーザのパスワードから変換された第２のユーザのパスワード鍵を用いて前記第１のユーザのパスワード鍵が暗号化された暗号化済みユーザパスワード鍵とを格納する鍵管理データベースを有する暗号鍵管理装置における暗号鍵管理方法であって、
第１の端末から、新しい前記第１のユーザのパスワードを含むパスワードリセット要求情報を受信するパスワードリセット要求受信ステップと、
前記パスワードリセット要求情報を受信すると、当該パスワードリセット要求情報を送信した前記第１のユーザを特定するユーザ特定情報を含むパスワードリセット承認要求情報を第２の端末に送信するパスワードリセット承認要求情報送信ステップと、
前記第２の端末から、第２のユーザのパスワードを含むパスワードリセット承認通知情報を受信すると、当該パスワードリセット承認通知情報に含まれる第２のユーザのパスワードを変換し、前記第２のユーザのパスワード鍵を生成する第２のユーザのパスワード鍵生成ステップと、
前記鍵管理データベースから前記暗号化済みユーザパスワード鍵を読み出し、前記第２のユーザのパスワード鍵生成ステップにおいて生成された第２のユーザのパスワード鍵を用いて、読み出した前記暗号化済みユーザパスワード鍵を復号し、前記第１のユーザのパスワード鍵を取得する第１のユーザのパスワード鍵取得ステップと、
前記鍵管理データベースから前記暗号化済みユーザ鍵を読み出し、前記第１のユーザのパスワード鍵取得ステップにおいて取得された第１のユーザのパスワード鍵を用いて、読み出した前記暗号化済みユーザ鍵を復号し、前記ユーザ鍵を取得するユーザ鍵取得ステップと、
前記パスワードリセット要求受信ステップにおいて受信されたパスワードリセット要求情報に含まれる第１のユーザのパスワードを変換し、新しい第１のユーザのパスワード鍵を生成する第１のユーザのパスワード鍵生成ステップと、
前記第１のユーザのパスワード鍵生成ステップにおいて生成された第１のユーザのパスワード鍵を用いて、前記ユーザ鍵取得ステップにおいて取得されたユーザ鍵を暗号化して新しい暗号化済みユーザ鍵を生成し、前記鍵管理データベースに格納されている暗号化済みユーザ鍵を当該新しい暗号化済みユーザ鍵で更新する暗号化済みユーザ鍵更新ステップと、
前記第２のユーザのパスワード鍵生成ステップにおいて生成された第２のユーザのパスワード鍵を用いて、前記第１のユーザのパスワード鍵生成ステップにおいて生成された第１のユーザのパスワード鍵を暗号化して新しい暗号化済みユーザパスワード鍵を生成し、前記鍵管理データベースに格納されている暗号化済みユーザパスワード鍵を当該新しい暗号化済みユーザパスワード鍵で更新する暗号化済みユーザパスワード鍵更新ステップと、
を備えることを特徴とする暗号鍵管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの暗号化および暗号データ（暗号化されたデータ）の復号のために用いられる暗号鍵を管理する暗号鍵管理装置および暗号鍵管理方法に関する。
【背景技術】
【０００２】
従来、データの暗号化および暗号データの復号（以下、データの暗号化・復号という。）のために用いられる暗号鍵としてパスワードから一方向関数で変換したものを利用することで、利用者が記憶しているパスワードが分からなければ暗号鍵を生成できないようにし、暗号データを第三者から守る技術が一般的に利用されている。ただし、パスワードを変更した場合、変更前のパスワードを元に生成された暗号鍵で暗号化された暗号データは変更後のパスワードを用いて復号することができなくなる。
【０００３】
そこで、特許文献１は、パスワードを一方向関数等で変換してパスワード鍵を生成し、それとは別にデータの暗号化・復号のための暗号鍵として乱数を元にデータ用暗号鍵を生成し、そのデータ用暗号鍵をパスワード鍵で暗号化したものを保存する技術を開示する。この技術によれば、パスワードが分からなければデータ用暗号鍵を取り出すことができないため、暗号データを復号することができない。そして、パスワードを変更する場合、変更前のパスワードを用いてデータ用暗号鍵を取り出し、変更後のパスワードを用いてそれを再度暗号化して保存し直せば、変更前のパスワードを用いて暗号化された暗号データでも変更後のパスワードを用いて復号することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２０１０３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術では、暗号データを入手しうる第三者が暗号データを入手し、暗号鍵（またはデータ用暗号鍵）の生成ロジックを知っていたとしても、第三者は正当なユーザのみが知りうるパスワードを知らないため、暗号データを復号することができない。
ただし、第三者によって不正に取得されることを防ぐため、通常パスワードは保存されない。このため、正当なユーザでもパスワードを忘却した場合、パスワードを知る手段がないため、暗号データを復号することができなくなり、利便性が悪い。
なお、ここで言う第三者とはたとえば、メールシステムであればメールサーバの管理者権限をもつユーザ、あるいはWebシステムであればWebサーバの管理者権限をもつユーザなどである。
【０００６】
また、パスワードの忘却の危険を回避するためパスワードに変わりうる方法としてＩＣカードのようなデバイスに暗号鍵生成のための情報を保持、あるいは指紋や静脈といった生体情報をデジタル化したものから暗号鍵を生成する技術も存在する。しかしながらＩＣカードリーダや生体認証用デバイスの利用が必須であり、ユーザが記憶しているパスワードほど手軽に利用できるものはない。
【０００７】
本発明の目的は、正当なユーザがパスワードを忘却した場合でも、特段のデバイスを利用せず、高いセキュリティレベルを保った状態で、暗号データを復号することができる暗号鍵管理装置および暗号鍵管理方法を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の暗号鍵管理装置は、
第１のユーザのパスワードから変換された第１のユーザのパスワード鍵を用いて前記第１のユーザのデータの暗号化および暗号化されたデータの復号に用いられるユーザ鍵が暗号化された暗号化済みユーザ鍵と、第２のユーザのパスワードから変換された第２のユーザのパスワード鍵を用いて前記第１のユーザのパスワード鍵が暗号化された暗号化済みユーザパスワード鍵とを格納する鍵管理データベースと、
第１の端末から、新しい前記第１のユーザのパスワードを含むパスワードリセット要求情報を受信するパスワードリセット要求受信手段と、
前記パスワードリセット要求受信手段がパスワードリセット要求情報を受信すると、当該パスワードリセット要求情報を送信した前記第１のユーザを特定するユーザ特定情報を含むパスワードリセット承認要求情報を第２の端末に送信するパスワードリセット承認要求情報送信手段と、
前記第２の端末から、第２のユーザのパスワードを含むパスワードリセット承認通知情報を受信すると、当該パスワードリセット承認通知情報に含まれる第２のユーザのパスワードを変換し、前記第２のユーザのパスワード鍵を生成する第２のユーザのパスワード鍵生成手段と、
前記鍵管理データベースから前記暗号化済みユーザパスワード鍵を読み出し、前記第２のユーザのパスワード鍵生成手段によって生成された第２のユーザのパスワード鍵を用いて、読み出した前記暗号化済みユーザパスワード鍵を復号し、前記第１のユーザのパスワード鍵を取得する第１のユーザのパスワード鍵取得手段と、
前記鍵管理データベースから前記暗号化済みユーザ鍵を読み出し、前記第１のユーザのパスワード鍵取得手段によって取得された第１のユーザのパスワード鍵を用いて、読み出した前記暗号化済みユーザ鍵を復号し、前記ユーザ鍵を取得するユーザ鍵取得手段と、
前記パスワードリセット要求受信手段によって受信されたパスワードリセット要求情報に含まれる第１のユーザのパスワードを変換し、新しい第１のユーザのパスワード鍵を生成する第１のユーザのパスワード鍵生成手段と、
前記第１のユーザのパスワード鍵生成手段によって生成された第１のユーザのパスワード鍵を用いて、前記ユーザ鍵取得手段によって取得されたユーザ鍵を暗号化して新しい暗号化済みユーザ鍵を生成し、前記鍵管理データベースに格納されている暗号化済みユーザ鍵を当該新しい暗号化済みユーザ鍵で更新する暗号化済みユーザ鍵更新手段と、
前記第２のユーザのパスワード鍵生成手段によって生成された第２のユーザのパスワード鍵を用いて、前記第１のユーザのパスワード鍵生成手段によって生成された第１のユーザのパスワード鍵を暗号化して新しい暗号化済みユーザパスワード鍵を生成し、前記鍵管理データベースに格納されている暗号化済みユーザパスワード鍵を当該新しい暗号化済みユーザパスワード鍵で更新する暗号化済みユーザパスワード鍵更新手段と、
を備えることを特徴とする。
【０００９】
好ましくは、本発明の暗号鍵管理装置は、
前記鍵管理データベースが、前記第２のユーザのパスワード鍵を用いて管理鍵が暗号化された暗号化済み管理鍵を格納しており、
前記鍵管理データベースに格納されている暗号化済みユーザパスワード鍵が、前記管理鍵を用いて暗号化されており、
前記第１のユーザのパスワード鍵取得手段が、前記鍵管理データベースから前記暗号化済み管理鍵を読み出し、前記第２のユーザのパスワード鍵生成手段によって生成された第２のユーザのパスワード鍵を用いて、読み出した前記暗号化済み管理鍵を復号して管理鍵を取得し、前記鍵管理データベースから前記暗号化済みユーザパスワード鍵を読み出し、前記取得した管理鍵を用いて読み出した前記暗号化済みユーザパスワード鍵を復号して前記第１のユーザのパスワード鍵を取得し、
前記暗号化済みユーザパスワード鍵更新手段が、前記第１のユーザのパスワード鍵取得手段によって第２のユーザのパスワード鍵を用いて取得された管理鍵を用いて、前記第１のユーザのパスワード鍵生成手段によって生成された第１のユーザのパスワード鍵を暗号化して新しい暗号化済みユーザパスワード鍵を生成する、
ことを特徴とする。
【００１０】
また、本発明の暗号鍵管理方法は、
第１のユーザのパスワードから変換された第１のユーザのパスワード鍵を用いて前記第１のユーザのデータの暗号化および暗号化されたデータの復号に用いられるユーザ鍵が暗号化された暗号化済みユーザ鍵と、第２のユーザのパスワードから変換された第２のユーザのパスワード鍵を用いて前記第１のユーザのパスワード鍵が暗号化された暗号化済みユーザパスワード鍵とを格納する鍵管理データベースを有する暗号鍵管理装置における暗号鍵管理方法であって、
第１の端末から、新しい前記第１のユーザのパスワードを含むパスワードリセット要求情報を受信するパスワードリセット要求受信ステップと、
前記パスワードリセット要求情報を受信すると、当該パスワードリセット要求情報を送信した前記第１のユーザを特定するユーザ特定情報を含むパスワードリセット承認要求情報を第２の端末に送信するパスワードリセット承認要求情報送信ステップと、
前記第２の端末から、第２のユーザのパスワードを含むパスワードリセット承認通知情報を受信すると、当該パスワードリセット承認通知情報に含まれる第２のユーザのパスワードを変換し、前記第２のユーザのパスワード鍵を生成する第２のユーザのパスワード鍵生成ステップと、
前記鍵管理データベースから前記暗号化済みユーザパスワード鍵を読み出し、前記第２のユーザのパスワード鍵生成ステップにおいて生成された第２のユーザのパスワード鍵を用いて、読み出した前記暗号化済みユーザパスワード鍵を復号し、前記第１のユーザのパスワード鍵を取得する第１のユーザのパスワード鍵取得ステップと、
前記鍵管理データベースから前記暗号化済みユーザ鍵を読み出し、前記第１のユーザのパスワード鍵取得ステップにおいて取得された第１のユーザのパスワード鍵を用いて、読み出した前記暗号化済みユーザ鍵を復号し、前記ユーザ鍵を取得するユーザ鍵取得ステップと、
前記パスワードリセット要求受信ステップにおいて受信されたパスワードリセット要求情報に含まれる第１のユーザのパスワードを変換し、新しい第１のユーザのパスワード鍵を生成する第１のユーザのパスワード鍵生成ステップと、
前記第１のユーザのパスワード鍵生成ステップにおいて生成された第１のユーザのパスワード鍵を用いて、前記ユーザ鍵取得ステップにおいて取得されたユーザ鍵を暗号化して新しい暗号化済みユーザ鍵を生成し、前記鍵管理データベースに格納されている暗号化済みユーザ鍵を当該新しい暗号化済みユーザ鍵で更新する暗号化済みユーザ鍵更新ステップと、
前記第２のユーザのパスワード鍵生成ステップにおいて生成された第２のユーザのパスワード鍵を用いて、前記第１のユーザのパスワード鍵生成ステップにおいて生成された第１のユーザのパスワード鍵を暗号化して新しい暗号化済みユーザパスワード鍵を生成し、前記鍵管理データベースに格納されている暗号化済みユーザパスワード鍵を当該新しい暗号化済みユーザパスワード鍵で更新する暗号化済みユーザパスワード鍵更新ステップと、
を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、正当なユーザがパスワードを忘却した場合でも、特段のデバイスを利用せず、暗号データを復号することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る暗号鍵管理装置を含む暗号システムの構成の一例を示す図である。
【図２】暗号鍵管理装置によって管理される複数の暗号鍵の一例を示す図である。
【図３】鍵暗号部による暗号鍵の生成フローの一例を示す図である。
【図４】暗号鍵管理装置におけるパスワードリセット処理の流れの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態に係る暗号鍵管理装置および暗号鍵管理方法について図面を参照しながら説明する。なお、実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。
【００１４】
図１は、本発明の実施形態に係る暗号鍵管理装置を含む暗号システムの構成の一例を示す。
暗号システムは、ユーザ端末１００と、管理者端末１１０と、暗号鍵管理装置１２０とを有する。ユーザ端末１００と管理者端末１１０と暗号鍵管理装置１２０とは、ネットワーク１３０に接続されており、相互に通信することができる。
ユーザ端末１００は、暗号データの所有者であるユーザによって使用される。ユーザ端末１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される主メモリと、ハードディスク等で構成される記憶装置と、デイスプレイやスピーカ等で構成される出力装置と、キーボードやマウス等で構成される入力装置とを有する。
ユーザ端末１００の記憶装置には端末プログラムが格納されている。ユーザ端末１００のＣＰＵが記憶装置から端末プログラムを主メモリに読み出して実行することで、個人識別情報受付部１０１と、鍵復号部１０２と、暗号部１０３と、復号部１０４と、パスワードリセット要求部１０５との各部の機能が実現される。
個人識別情報受付部１０１は、ユーザによって入力される認証ＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）とパスワードを受け付け、それらを暗号鍵管理装置１２０に送信する。暗号鍵管理装置１２０は、認証に成功すると、暗号化済みユーザ鍵を返す。
鍵復号部１０２は、暗号鍵管理装置１２０から送信される暗号化済みユーザ鍵を復号し、ユーザ鍵を取得する。
暗号部１０３は、ユーザ鍵を用いて当該ユーザのデータを暗号化する。
復号部１０４は、ユーザ鍵を用いて暗号化された当該ユーザのデータを復号する。
パスワードリセット要求部１０５は、ユーザがパスワードを忘却した時やパスワードを更新する時に新しいパスワードを受け付け、そのパスワードを含むパスワードリセット要求情報を暗号鍵管理装置１２０に送信する。パスワードリセット要求部１０５の行う処理については後で図４を参照しながら説明する。
なお、ユーザ端末１００は本発明の第１の端末の一例であり、ユーザ端末１００を使用するユーザは本発明の第１のユーザの一例である。
【００１５】
管理者端末１１０は、ユーザ側管理者によって使用される。ユーザ側管理者は、ユーザとは別のユーザであり、暗号鍵管理装置１２０の管理者（システム管理者）とは異なる。管理者端末１１０は、ユーザ端末１００と同様に、ＣＰＵと、主メモリと、記憶装置と、出力装置と、入力装置とを有する。
なお、本暗号システムのユーザを複数のグループにグループ分けし、グループごとに異なるユーザ側管理者及び管理者端末１１０を置いてもよい。
管理者端末１１０の記憶装置には管理者端末プログラムが格納されている。管理者端末１１０のＣＰＵが記憶装置から管理者端末プログラムを主メモリに読み出して実行することで、個人識別情報受付部１０１と、鍵復号部１０２と、暗号部１０３と、復号部１０４と、パスワードリセット承認部１１５との各部の機能が実現される。個人識別情報受付部１０１と鍵復号部１０２と暗号部１０３と復号部１０４はユーザ端末１００のものと同一である。
パスワードリセット承認部１１５は、ユーザ側管理者がパスワードリセットを承認して自分のパスワードを入力すると、そのパスワードを含むパスワードリセット承認通知情報を暗号鍵管理装置１２０に送信する。パスワードリセット承認部１１５の行う処理については後で図４を参照しながら説明する。
なお、管理者端末１１０は本発明の第２の端末の一例であり、管理者端末１１０を使用するユーザ側管理者は本発明の第２のユーザの一例である。
【００１６】
暗号鍵管理装置１２０は、ＣＰＵと、ＲＡＭ等で構成される主メモリと、ハードディスク等で構成される記憶装置とを有する。
暗号鍵管理装置１２０の記憶装置には暗号鍵管理プログラムと、ユーザ情報・鍵管理ＤＢ（データベース）１２５とが格納されている。暗号鍵管理装置１２０のＣＰＵが記憶装置から暗号鍵管理プログラムを主メモリに読み出して実行することで、認証部１２１と、鍵暗号部１２２と、鍵送信部１２３と、パスワードリセット部１２４との各部の機能が実現される。
ユーザ情報・鍵管理ＤＢ（データベース）１２５は、図２に示すように、認証データ１４０と、暗号化済みユーザ鍵２００と、暗号化済み管理ユーザ鍵２１０と、暗号化済み管理鍵２２０と、暗号化済みユーザパスワード鍵２２２とを格納する。
認証データ１４０は、パスワードを一方向関数等によって変換したものである。認証部１２１は、ユーザ端末１００または管理者端末１１０から認証ＩＤとパスワードを受信すると、受信したパスワードを認証データと同一の方法で変換し、変換されたパスワードが認証データと一致するか否かにより、正当なユーザか否かを判別する。
鍵暗号部１２２は、暗号化済みユーザ鍵２００と、暗号化済み管理ユーザ鍵２１０と、暗号化済み管理鍵２２０と、暗号化済みユーザパスワード鍵２２２とを生成する。鍵暗号部１２２による暗号鍵の生成フローについては、後で詳細に説明する。
鍵送信部１２３は、認証部１２１によって正当なユーザであると認証されると、そのユーザの暗号化済みユーザ鍵２００をユーザ情報・鍵管理ＤＢ１２５から読み出し、それをユーザ端末１００に送信する。
パスワードリセット部１２４は、ユーザ端末１００からパスワードリセット要求情報を受信すると、古いパスワードをリセットし、新しいパスワードを有効にする。パスワードリセット部１２４の行う処理については、後で図４を参照しながら説明する。
なお、ユーザ情報・鍵管理ＤＢ（データベース）１２５は本発明の鍵管理データベースの一例である。
【００１７】
次に、図２に示す暗号化済みユーザ鍵２００と、暗号化済み管理ユーザ鍵２１０と、暗号化済み管理鍵２２０と、暗号化済みユーザパスワード鍵２２２とについて詳細に説明する。
ユーザのパスワード鍵２０１は、ユーザのパスワードを一方向関数等で変換したものである。ユーザの認証データとユーザのパスワード鍵２０１は、異なる方法で変換されており、異なるものである。ユーザ鍵２０２は、ユーザのデータを暗号化・復号するための暗号鍵である。ユーザ鍵２０２は、乱数を利用して生成される。暗号化済みユーザ鍵２００は、ユーザのパスワード鍵２０１を用いてユーザ鍵２０２を暗号化したものである。
管理者のパスワード鍵２１１は、ユーザ側管理者のパスワードを一方向関数等で変換したものである。ユーザ側管理者の認証データと管理者のパスワード鍵２１１も異なる方法で変換されており、異なるものである。管理者ユーザ鍵２１２は、ユーザ側管理者のデータを暗号化・復号するための暗号鍵である。管理者ユーザ鍵２１２は、乱数を利用して生成される。暗号化済み管理ユーザ鍵２１０は、管理者のパスワード鍵２１１を用いて管理者ユーザ鍵２１２を暗号化したものである。
管理鍵２２１は、乱数を利用して生成される。暗号化済み管理鍵２２０は、管理者のパスワード鍵２１１を用いて管理鍵２２１を暗号したものである。
暗号化済みユーザパスワード鍵２２２は、管理鍵２２１を用いてユーザのパスワード鍵２０１を暗号化したものである。
なお、暗号化されないままの状態の生のユーザのパスワード鍵２０１、ユーザ鍵２０２、管理者のパスワード鍵２１１、管理者ユーザ鍵２１２、管理鍵２２１は、いずれもユーザ情報・鍵管理ＤＢ１２５に保持されない。これによって、システム管理者の恣意、不正等によるパスワードや鍵の使用、操作を防止することができる。
また、ユーザ側管理者はユーザ情報・鍵管理ＤＢ１２５にアクセスできないため、管理者のパスワード鍵２１１を使用して、管理鍵２２１、ユーザのパスワード鍵２０１、ユーザ鍵２０２等を取り出すことはできない。
これによって、ユーザ、ユーザ側管理者、システム管理者は相互に独立性を保つことができ、システム全体として高いセキュリティレベルを保持することができる。
【００１８】
図３は、鍵暗号部１２２による暗号鍵の生成フローの一例を示す図である。
（１）暗号化済みユーザ鍵２００の生成
鍵暗号部１２２は、ユーザのパスワード３０１を一方向関数により変換し、ユーザのパスワード鍵２０１を生成する。また、鍵暗号部１２２は、乱数からユーザ鍵２０２を生成する。そして、鍵暗号部１２２は、ユーザのパスワード鍵２０１を用いてユーザ鍵２０２を暗号化することで暗号化済みユーザ鍵２００を生成する。
鍵暗号部１２２は、生成された暗号化済みユーザ鍵２００をユーザ情報・鍵管理ＤＢ１２５に登録する。
【００１９】
（２）暗号化済み管理ユーザ鍵２１０と暗号化済み管理鍵２２０の生成
鍵暗号部１２２は、管理者のパスワード３０２を一方向関数により変換し、管理者のパスワード鍵２１１を生成する。また、鍵暗号部１２２は、乱数から管理者ユーザ鍵２１２を生成する。そして、管理者のパスワード鍵２１１で管理者ユーザ鍵２１２を暗号化することで暗号化済み管理ユーザ鍵２１０を生成する。
このとき、同時に、鍵暗号部１２２は、乱数から管理鍵２２１を生成する。そして、鍵暗号部１２２は、管理者のパスワード鍵２１１で管理鍵２２１を暗号化することで、暗号化済み管理鍵２２０を生成する。
鍵暗号部１２２は、生成された暗号化済み管理ユーザ鍵２１０と暗号化済み管理鍵２２０をユーザ情報・鍵管理ＤＢ１２５に登録する。
【００２０】
（３）暗号化済みユーザパスワード鍵２２２の生成
鍵暗号部１２２は、管理鍵２２１を用いて、ユーザのパスワード鍵２０１を暗号化することで、暗号化済みユーザパスワード鍵２２２を生成する。
鍵暗号部１２２は、生成された暗号化済みユーザパスワード鍵２２２をユーザ情報・鍵管理ＤＢ１２５に登録する。
【００２１】
次に、データ暗号化・復号処理について説明する。
データを暗号化または暗号データを復号するとき、ユーザは最初にユーザ端末１００の入力部から認証ＩＤとパスワードを入力する。ユーザ端末１００の個人識別情報受付部１０１は、認証ＩＤとパスワードを受け付けると、それらを暗号鍵管理装置１２０に送信する。
暗号鍵管理装置１２０の認証部１２１は、認証ＩＤとパスワードを受信すると、受信したパスワードを認証データ１４０と同一の方法で変換し、変換されたパスワードが認証データ１４０と一致するか否かにより、正当なユーザか否かを判別する。
鍵送信部１２３は、認証部１２１が正当なユーザと判別した場合、ユーザ情報・鍵管理ＤＢ１２５に保存されている暗号化済みユーザ鍵２００を取り出し、それをユーザ端末１００に送信する。
ユーザ端末１００の鍵復号部１０２は、暗号化済みユーザ鍵２００を受信すると、パスワードから一方向関数でユーザのパスワード鍵２０１を生成し、暗号化済みユーザ鍵２００をユーザのパスワード鍵２０１を用いて復号し、ユーザ鍵２０２を得る。
データの暗号化の場合、暗号部１０３は、ユーザ鍵２０２を用いて平文データを暗号化し、暗号データを得る。
一方、暗号データの復号の場合、復号部１０４は、ユーザ鍵２０２を用いて暗号データを復号し、平文データを得る。
【００２２】
図４は、暗号鍵管理装置１２０におけるパスワードリセット処理の流れの一例を示す。
パスワード更新時およびパスワード忘却時に、ユーザはユーザ端末１００の入力装置を用いて新しいパスワードを入力する。ユーザ端末１００のパスワードリセット要求部１０５は、新しいパスワードを受け付けると、そのパスワードを含むパスワードリセット要求情報を暗号鍵管理装置１２０に送信する。
暗号鍵管理装置１２０のパスワードリセット部１２４は、ユーザ端末１００からパスワードリセット要求情報を受信する（Ｓ１０１）と、管理者端末１１０に、認証ＩＤ等のユーザを特定するユーザ特定情報を含むパスワードリセット承認要求情報を送信する（Ｓ１０２）。
管理者端末１１０のパスワードリセット承認部１１５は、暗号鍵管理装置１２０から送信されたパスワードリセット承認要求情報を受信すると、ユーザ特定情報で特定されるユーザのパスワードリセットを承認するか否かを問い合わせる問合せ情報を出力装置に表示等する。ユーザ側管理者がパスワードリセットを承認して管理者のパスワード３０２を入力すると、パスワードリセット承認部１１５は、管理者のパスワード３０２を含むパスワードリセット承認通知情報を暗号鍵管理装置１２０に送信する。
暗号鍵管理装置１２０のパスワードリセット部１２４は、管理者端末１１０からパスワードリセット承認通知情報を受信する（Ｓ１０３）と、鍵暗号部１２２に管理者のパスワード３０２を渡して、暗号化済みユーザ鍵２００と暗号化済みユーザパスワード鍵２２２を生成し直すことを要求する（Ｓ１０４）。
【００２３】
パスワードリセット部１２４から要求を受けると、鍵暗号部１２２は、パスワードリセット承認通知情報に含まれる管理者のパスワード３０２を一方向関数により変換し、管理者のパスワード鍵２１１を生成する（Ｓ１０５）。次に、鍵暗号部１２２は、暗号化済み管理鍵２２０をユーザ情報・鍵管理ＤＢ１２５から読み出し、管理者のパスワード鍵２１１を用いてそれを復号し、管理鍵２２１を取得する（Ｓ１０６）。そして、鍵暗号部１２２は、暗号化済みユーザパスワード鍵２２２をユーザ情報・鍵管理ＤＢ１２５から読み出し、管理鍵２２１を用いてそれを復号し、ユーザのパスワード鍵２０１を取得する（Ｓ１０７）。なお、パスワード更新の場合、鍵暗号部１２２は、認証部１２１が認証に使用したユーザのパスワード３０１を一方向関数により変換し、ユーザのパスワード鍵２０１を生成してもよい。
そして、鍵暗号部１２２は、暗号化済みユーザ鍵２００をユーザ情報・鍵管理ＤＢ１２５から読み出し、ユーザのパスワード鍵２０１を用いてそれを復号し、ユーザ鍵２０２を取得する（Ｓ１０８）。
【００２４】
次に、鍵暗号部１２２は、パスワードリセット要求情報に含まれる新しいユーザのパスワード３０１を一方向関数により変換し、新しいユーザのパスワード鍵２０１を生成する（Ｓ１０９）。そして、鍵暗号部１２２は、新しいユーザのパスワード鍵２０１を用いてステップＳ１０８で取得したユーザ鍵２０２を暗号化して新しい暗号化済みユーザ鍵２００を生成し、ユーザ情報・鍵管理ＤＢ１２５の暗号化済みユーザ鍵２００を新しい暗号化済みユーザ鍵２００で更新する（Ｓ１１０）。
同時に、鍵暗号部１２２は、ステップＳ１０６で取得した管理鍵２０１を用いて、ステップＳ１０９で生成した新しいユーザのパスワード鍵２０１を暗号化して新しい暗号化済みユーザパスワード鍵２２２を生成し、ユーザ情報・鍵管理ＤＢ１２５の暗号化済みユーザパスワード鍵２２２を新しい暗号化済みユーザパスワード鍵２２２で更新する（Ｓ１１１）。
【００２５】
なお、ステップＳ１０１は本発明のパスワードリセット要求受信手段によって実現されるパスワードリセット要求受信ステップの一例であり、ステップＳ１０２は本発明のパスワードリセット承認要求情報送信手段によって実現されるパスワードリセット承認要求情報送信ステップの一例であり、ステップＳ１０３とＳ１０５は本発明の第２のユーザのパスワード鍵生成手段によって実現される第２のユーザのパスワード鍵生成ステップの一例であり、ステップＳ１０６とＳ１０７は本発明の第１のユーザのパスワード鍵取得手段によって実現される第１のユーザのパスワード鍵取得ステップの一例であり、ステップＳ１０８は本発明のユーザ鍵取得手段によって実現されるユーザ鍵取得ステップの一例であり、ステップＳ１０９は本発明の第１のユーザのパスワード鍵生成手段によって実現される第１のユーザのパスワード鍵生成ステップの一例であり、ステップＳ１１０は本発明の暗号化済みユーザ鍵更新手段によって実現される暗号化済みユーザ鍵更新ステップの一例であり、ステップＳ１１１は本発明の暗号化済みユーザパスワード鍵更新手段によって実現される暗号化済みユーザパスワード鍵更新ステップの一例である。
【００２６】
また、ユーザ側管理者もユーザの一人である。管理者端末１１０にパスワードリセット要求部１０５を付加し、ユーザ側管理者（以下、第１のユーザ側管理者という。）とは別のユーザ側管理者である第２のユーザ側管理者を設ける。そして、第１のユーザ側管理者と第２のユーザ側管理者をそれぞれユーザとユーザ側管理者みなして、上述したパスワードリセット処理を行うことにより、第１のユーザ側管理者のパスワード（管理者のパスワード３０２）をリセットすることも可能である。
ただし、この場合、元々のユーザのパスワード鍵２０１を取得するために必要な管理鍵２２１（以下、ユーザ管理鍵という。）も、第１のユーザ側管理者が忘却等により失った管理者のパスワード３０２から変換された管理者のパスワード鍵２１１によって暗号化済み管理鍵２２０（以下、第１のユーザ側管理者の暗号化済み管理鍵２２０という。）として暗号化されている。このため、第１のユーザ側管理者の暗号化済み管理鍵２２０も生成し直す必要がある。
【００２７】
このために、例えば、ユーザ情報・鍵管理ＤＢ１２５に、第２のユーザ側管理者の使用する管理者のパスワード鍵２１１（以下、第２のユーザ側管理者のパスワード鍵２１１という。）を用いてユーザ管理鍵が暗号化された暗号化済み管理鍵（以下、第２のユーザ側管理者の暗号化済みユーザ管理鍵という。）も事前に保持しておく。すなわち、ユーザ情報・鍵管理ＤＢ１２５に、ユーザ管理鍵が暗号化されたものとして、第１のユーザ側管理者の暗号化済み管理鍵２２０と第２のユーザ側管理者の暗号化済みユーザ管理鍵を２重に保存する。
そして、鍵暗号部１２２は、上述したステップＳ１０５で生成した第２のユーザ側管理者のパスワード鍵２１１を用いて第２のユーザ側管理者の暗号化済みユーザ管理鍵を復号してユーザ管理鍵を取得する。次に、鍵暗号部１２２は、新しい管理者（この場合、第１のユーザ側管理者）のパスワード鍵２１１を用いてユーザ管理鍵を暗号化し直して新しい第１のユーザ側管理者の暗号化済み管理鍵２２０を生成し直す。そして、鍵暗号部１２２は、ユーザ情報・鍵管理ＤＢ１２５に登録されている第１のユーザ側管理者の暗号化済み管理鍵２２０を、生成された第１のユーザ側管理者の暗号化済み管理鍵２２０で更新する。
【００２８】
また、上記とは別の方法で第１のユーザ側管理者の暗号化済み管理鍵２２０を生成し直すことができる。すなわち、鍵暗号部１２２は、第１のユーザ側管理者と第２のユーザ側管理者をそれぞれユーザとユーザ側管理者とみなしてパスワードリセット処理を行うことにより、ステップＳ１０７でユーザのパスワード鍵２０１を取得する。このユーザのパスワード鍵２０１は、第１のユーザ側管理者の使用する管理者のパスワード鍵２１１（以下、第１のユーザ側管理者のパスワード鍵２１１という。）である。従って、鍵暗号部１２２は、これを用いて第１のユーザ側管理者の暗号化済み管理鍵２２０を復号し、ユーザ管理鍵を取得することができる。以下、上記と同様にして、鍵暗号部１２２は、新しい第１のユーザ側管理者の暗号化済み管理鍵２２０を生成し直し、ユーザ情報・鍵管理ＤＢ１２５に登録されている第１のユーザ側管理者の暗号化済み管理鍵２２０を更新する。
【００２９】
なお、ユーザ側管理者が自らのパスワードを忘却した場合でなくても、長期間継続して同じパスワードを用いているとパスワード漏えいのリスクが高まるため、定期的に（例えば数ヶ月に１回）管理者パスワードを更新する、という運用形態を採ることもありうる。
ただしこの場合は、管理者は変更前のパスワードを覚えているため、第２の管理者を設定しなくても、例えば管理者端末１１０から新旧の管理者パスワードを暗号鍵管理装置１２０に送信すれば、変更前の管理者のパスワード鍵２１１を用いて管理鍵２２１を復号できる。
なお、管理鍵２２１を全く使用せずに、ユーザのパスワード鍵２０１を管理者のパスワード鍵２１１を用いて直接暗号化したものをユーザ情報・鍵管理ＤＢ１２５に保存する、という構成としてもよい。
ただし、上記のように、管理者のパスワード鍵２１１の変更が定期的に発生しうる運用形態の場合、全ユーザの暗号化済みユーザパスワード鍵２２２を変更前の管理者のパスワード鍵２１１で復号し、変更後の管理者のパスワード鍵２１１で再暗号化する、というオーバヘッドがその都度発生する。この点、管理鍵２２１を変更することは、通常の運用では予定されていないので、管理鍵２２１を用いてユーザのパスワード鍵２０１を暗号化しておけば、全ユーザの暗号化済みユーザパスワード鍵２２２に対して一斉に復号、再暗号化を行う、というような余分なオーバヘッドは発生しない。
【００３０】
また、上述した実施形態では、鍵暗号部１２２はユーザのパスワード３０１を一方向関数により変換し、ユーザのパスワード鍵２０１を生成するとしたが、鍵暗号部１２２はユーザのパスワード３０１を暗号化により変換してユーザのパスワード鍵２０１を生成してもよい。同様に、鍵暗号部１２２は、管理者のパスワード３０２を暗号化により変換して管理者のパスワード鍵２１１を生成してもよい。
【００３１】
以上説明したように、本発明によれば、正当なユーザは、パスワードを忘却しても、特段のデバイスを利用せずに、そのパスワードをリセットし、新しいパスワードを用いてユーザ鍵を取り出し、暗号データの復号、平文データの暗号化を行うことが可能になる。
また、パスワードの更新に際しては必ずユーザ側管理者の承認を必要とすることにより、不正なユーザからのパスワード更新要求、及びシステム管理者の恣意等によるパスワード更新を排除できる。
更に、ユーザ側管理者はユーザ情報・鍵管理ＤＢ１２５にアクセスできないようにしたため、ユーザ側管理者自身もユーザ鍵等を使用することができない。
従って、本発明によれば、第三者からの不正アクセス等防止のみならず、内部者であるユーザ、ユーザ側管理者、システム管理者相互間の関係においても独立性を保つことができ、結果として、高いセキュリティレベルを保持した状態で、ユーザパスワードの更新が実現できる。
【符号の説明】
【００３２】
１００…ユーザ端末、１０１…個人識別情報受付部、１０２…鍵復号部、１０３…暗号部、１０４…復号部、１０５…パスワードリセット要求部、１１０…管理者端末、１１５…パスワードリセット承認部、１２０…暗号鍵管理装置、１２１…認証部、１２２…鍵暗号部、１２３…鍵送信部、１２４…パスワードリセット部、１２５…ユーザ情報・鍵管理ＤＢ（データベース）、１３０…ネットワーク、１４０…認証データ、２００…暗号化済みユーザ鍵、２０１…ユーザのパスワード鍵、２０２…ユーザ鍵、２１０…暗号化済み管理ユーザ鍵、２１１…管理者のパスワード鍵、２１２…管理者ユーザ鍵、２２０…暗号化済み管理鍵、２２１…管理鍵、２２２…暗号化済みユーザパスワード鍵
【図１】
2016005031.tif 000003
【図２】
2016005031.tif 000004
【図３】
2016005031.tif 000005
【図４】
2016005031.tif 000006