(57)【特許請求の範囲】
【請求項１】
ネットワークを介して相互に接続される鍵管理サーバとクライアントから構成される暗号システムの制御方法であり，
上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えており，
上記クライアントは，上記ＩＤと，上記ＩＤに対応する自己固有鍵と，上記ＩＤに対応する他者固有鍵を上記自己固有鍵で暗号化して生成された暗号化他者固有鍵とを記憶する固有データ記憶手段を備えており，
上記鍵管理サーバは，
上記クライアントから送信されるＩＤに対応する他者固有鍵が，上記管理データベースにおいて変更されているかどうかを判定し，
他者固有鍵が変更されていることが判定された場合に，上記変更された他者固有鍵を，上記自己固有鍵で暗号化して新暗号化他者固有鍵を生成し，生成した新暗号化他者固有鍵を上記クライアントに配信し，
新暗号化他者固有鍵を受信したクライアントにおいて，
上記固有データ記憶手段に記憶されている暗号化他者固有鍵を，受信した上記新暗号化他者固有鍵と置換する，
暗号システムの制御方法。
【請求項２】
ネットワークを介して相互に接続される鍵管理サーバとクライアントから構成される暗号システムであり，
上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えており，
上記クライアントは，上記ＩＤと，上記ＩＤに対応する自己固有鍵と，上記ＩＤに対応する他者固有鍵を上記自己固有鍵で暗号化して生成された暗号化他者固有鍵とを記憶する固有データ記憶手段を備えており，
上記鍵管理サーバは，
上記クライアントから送信されるＩＤに対応する他者固有鍵が，上記管理データベースにおいて変更されているかどうかを判定する判定手段，および
上記判定手段によって他者固有鍵が変更されていることが判定された場合に，上記変更された他者固有鍵を，上記管理データベースに記憶された上記ＩＤに対応する自己固有鍵で暗号化して新暗号化他者固有鍵を生成し，生成した新暗号化他者固有鍵を上記クライアントに配信する配信手段を備え，
上記クライアントは，
上記固有データ記憶手段に記憶されている暗号化他者固有鍵を，受信した上記新暗号化他者固有鍵と置換する置換手段を備えている，
暗号システム。
【請求項３】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記ＩＤに対応する自己固有鍵と，上記ＩＤに対応する他者固有鍵を上記自己固有鍵で暗号化して生成された暗号化他者固有鍵とを記憶する固有データ記憶手段を備えたクライアントがネットワークを介して相互に接続されて構成される暗号システムにおける上記鍵管理サーバであり，
上記クライアントから送信されるＩＤに対応する他者固有鍵が，上記管理データベースにおいて変更されているかどうかを判定する判定手段，ならびに
上記判定手段によって他者固有鍵が変更されていることが判定された場合に，上記変更された他者固有鍵を，上記管理データベースに記憶された上記ＩＤに対応する自己固有鍵で暗号化して新暗号化他者固有鍵を生成し，生成した新暗号化他者固有鍵を上記クライアントに配信する配信手段，
を備えた鍵管理サーバ。
【請求項４】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記ＩＤに対応する自己固有鍵と，上記ＩＤに対応する他者固有鍵を上記自己固有鍵で暗号化して生成された暗号化他者固有鍵とを記憶する固有データ記憶手段を備えたクライアントがネットワークを介して相互に接続されて構成される暗号システムにおける上記鍵管理サーバの制御方法であり，
上記クライアントから送信されるＩＤに対応する他者固有鍵が，上記管理データベースにおいて変更されているかどうかを判定し，
他者固有鍵が変更されていることが判定された場合に，上記変更された他者固有鍵を，上記管理データベースに記憶された上記ＩＤに対応する自己固有鍵で暗号化して新暗号化他者固有鍵を生成し，生成した新暗号化他者固有鍵を上記クライアントに配信する，
鍵管理サーバの制御方法。
【請求項５】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記ＩＤに対応する自己固有鍵と，上記ＩＤに対応する他者固有鍵を上記自己固有鍵で暗号化して生成された暗号化他者固有鍵とを記憶する固有データ記憶手段を備えたクライアントがネットワークを介して相互に接続されて構成される暗号システムにおける上記クライアントであり，
上記固有データ記憶手段に記憶されたＩＤを上記鍵管理サーバに送信するＩＤ送信手段，
上記管理データベースにおいて上記ＩＤに対応する他者固有鍵が変更されている場合に上記鍵管理サーバおいて生成される，変更された他者固有鍵を上記自己固有鍵で暗号化した新暗号化他者固有鍵を，上記鍵管理サーバから受信する受信手段，および
上記受信手段によって受信された新暗号化他者固有鍵を，上記固有データ記憶手段に記憶されている暗号化他者固有鍵と置換する置換手段，
を備えたクライアント。
【請求項６】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記ＩＤに対応する自己固有鍵と，上記ＩＤに対応する他者固有鍵を上記自己固有鍵で暗号化して生成された暗号化他者固有鍵とを記憶する固有データ記憶手段を備えたクライアントがネットワークを介して相互に接続されて構成される暗号システムにおける上記クライアントの制御方法であり，
上記固有データ記憶手段に記憶されたＩＤを上記鍵管理サーバに送信し，
上記管理データベースにおいて上記ＩＤに対応する他者固有鍵が変更されている場合に上記鍵管理サーバにおいて生成される，変更された上記他者固有鍵を上記自己固有鍵で暗号化した新暗号化他者固有鍵を，上記鍵管理サーバから受信し，
受信した新暗号化他者固有鍵を，上記固有データ記憶手段に記憶されている暗号化他者固有鍵と置換する，
クライアントの制御方法。
【請求項７】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記ＩＤに対応する自己固有鍵と，上記ＩＤに対応する他者固有鍵を上記自己固有鍵で暗号化して生成された暗号化他者固有鍵を記憶する固有データ記憶手段を備えたクライアントがネットワークを介して相互に接続されて構成される暗号システムにおける上記鍵管理サーバを制御するプログラムであって，
上記クライアントから送信されるＩＤに対応する他者固有鍵が，上記管理データベースにおいて変更されているかどうかを判定し，
他者固有鍵が変更されていることが判定された場合に，上記変更された他者固有鍵を，上記管理データベースに記憶された上記ＩＤに対応する自己固有鍵で暗号化して新暗号化他者固有鍵を生成し，生成した新暗号化他者固有鍵を上記クライアントに配信するように鍵管理サーバを制御する，
プログラム。
【請求項８】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記ＩＤに対応する自己固有鍵と，上記ＩＤに対応する他者固有鍵を上記自己固有鍵で暗号化して生成された暗号化他者固有鍵とを記憶する固有データ記憶手段を備えたクライアントがネットワークを介して相互に接続されて構成される暗号システムにおける上記クライアントの制御プログラムであり，
上記固有データ記憶手段に記憶されたＩＤを上記鍵管理サーバに送信し，
上記管理データベースにおいて上記ＩＤに対応する他者固有鍵が変更されている場合に上記鍵管理サーバにおいて生成される，変更された上記他者固有鍵を上記自己固有鍵で暗号化した新暗号化他者固有鍵を，上記鍵管理サーバから受信し，
受信した新暗号化他者固有鍵を，上記固有データ記憶手段に記憶されている暗号化他者固有鍵と置換するようにクライアントを制御する，
プログラム。
【請求項９】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記ＩＤに対応する自己固有鍵と，上記ＩＤに対応する他者固有鍵を上記自己固有鍵で暗号化して生成された暗号化他者固有鍵とを記憶する固有データ記憶手段を備えたクライアントがネットワークを介して相互に接続されて構成される暗号システムにおける上記クライアントを制御するプログラムであって，
上記鍵管理サーバから送信される，鍵更新のないことを表すデータ，新暗号化他者固有鍵，暗号化更新自己固有鍵，または自己固有鍵の失効を表すデータのいずれかを受信し，
上記鍵更新のないことを表すデータを受信した場合には，上記固有データ記憶手段に記憶された自己固有鍵を用いた暗号化処理または復号処理と，上記固有データ記憶手段に記憶された暗号化他者固有鍵を上記自己固有鍵で復号することによって得られる他者固有鍵を用いた復号処理を許可し，
上記新暗号化他者固有鍵を受信した場合には，受信した新暗号化他者固有鍵を上記固有データ記憶手段に記憶されている暗号化他者固有鍵と置換した上で，上記固有データ記憶手段に記憶された自己固有鍵を用いた暗号化処理または復号処理と，上記固有データ記憶手段に記憶された新暗号化他者固有鍵を上記自己固有鍵で復号することによって得られる他者固有鍵を用いた復号処理を許可し，
暗号化更新自己固有鍵を受信した場合には，受信した暗号化更新自己固有鍵を上記固有データ記憶手段に記憶されている自己固有鍵で復号することによって得られる更新自己固有鍵を，上記固有データ記憶手段に記憶されている自己固有鍵と置換した上で，上記固有データ記憶手段に記憶された自己固有鍵を用いた暗号化処理または復号処理と，上記固有データ記憶手段に記憶された暗号化他者固有鍵を置換された上記自己固有鍵で復号することによって得られる他者固有鍵を用いた復号処理を許可し，
自己固有鍵の失効を表すデータを受信した場合には，上記固有データ記憶手段に記憶されている自己固有鍵と暗号化他者固有鍵とを消去し，平文の暗号化処理および暗号文の復号処理を許可しないようにクライアントを制御する，
プログラム。
【請求項１０】
ネットワークを介して相互に接続される鍵管理サーバとクライアントとから構成される暗号システムの制御方法であり，
上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えており，
上記クライアントは，上記ＩＤと，上記ＩＤに対応する自己固有鍵とを記憶する固有データ記憶手段を備えており，
上記鍵管理サーバは，
上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，新たな自己固有鍵である更新自己固有鍵が記憶されているかどうかを判定し，
上記更新自己固有鍵が記憶されていないことを判定した場合には，上記管理データベースに記憶されている自己固有鍵で上記他者固有鍵を暗号化して暗号化他者固有鍵を生成し，生成した暗号化他者固有鍵を上記クライアントに配信し，
上記更新自己固有鍵が記憶されていることを判定した場合には，上記更新自己固有鍵で上記他者固有鍵を暗号化して暗号化他者固有鍵を生成し，上記自己固有鍵で上記更新自己固有鍵を暗号化して暗号化更新自己固有鍵を生成し，生成した暗号化他者固有鍵と暗号化更新自己固有鍵とを上記クライアントに配信し，
上記クライアントは鍵一時記憶手段を備えており，
上記鍵管理サーバから上記暗号化他者固有鍵が配信された場合には，配信された暗号化他者固有鍵を上記固有データ記憶手段に記憶されている自己固有鍵で復号し，復号によって得られた他者固有鍵を上記鍵一時記憶手段に記憶し，
上記暗号化他者固有鍵と暗号化更新自己固有鍵とが配信された場合には，配信された暗号化更新自己固有鍵を上記固有データ記憶手段に記憶されている自己固有鍵で復号し，復号によって得られた更新自己固有鍵を上記自己固有鍵と置換し，配信された暗号化他者固有鍵を置換された自己固有鍵で復号し，復号によって得られた他者固有鍵を上記鍵一時記憶手段に記憶する，
暗号システムの制御方法。
【請求項１１】
ネットワークを介して相互に接続される鍵管理サーバとクライアントとから構成される暗号システムであって，
上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えており，
上記クライアントは，上記ＩＤと，上記ＩＤに対応する自己固有鍵とを記憶する固有データ記憶手段を備えており，
上記鍵管理サーバはさらに，
上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，新たな自己固有鍵である更新自己固有鍵が記憶されているかどうかを判定する判定手段，
上記判定手段によって上記更新自己固有鍵が記憶されていないことが判定された場合に，上記管理データベースに記憶されている自己固有鍵で上記他者固有鍵を暗号化して暗号化他者固有鍵を生成し，生成された暗号化他者固有鍵を上記クライアントに配信する第１の配信手段，ならびに
上記判定手段によって上記更新自己固有鍵が記憶されていることが判定された場合に，上記更新自己固有鍵で上記他者固有鍵を暗号化して暗号化他者固有鍵を生成し，上記自己固有鍵で上記更新自己固有鍵を暗号化して暗号化更新自己固有鍵を生成し，生成された暗号化他者固有鍵と暗号化更新自己固有鍵とを上記クライアントに配信する第２の配信手段を備えており，
上記クライアントはさらに，
上記鍵管理サーバから上記第１の配信手段によって上記暗号化他者固有鍵が配信された場合に，配信された暗号化他者固有鍵を上記固有データ記憶手段に記憶されている自己固有鍵で復号し，復号によって得られた他者固有鍵を一時的に記憶する第１の記憶手段，ならびに
上記鍵管理サーバから上記第２の配信手段によって上記暗号化他者固有鍵と暗号化更新自己固有鍵とが配信された場合に，配信された暗号化更新自己固有鍵を上記固有データ記憶手段に記憶されている自己固有鍵で復号し，復号によって得られた更新自己固有鍵を上記自己固有鍵と置換し，配信された暗号化他者固有鍵を置換された自己固有鍵で復号し，復号によって得られた他者固有鍵を一時的に記憶する第２の記憶手段を備えている，
暗号システム。
【請求項１２】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記ＩＤに対応する自己固有鍵とを記憶する固有データ記憶手段を備えたクライアントがネットワークを介して相互に接続されて構成される暗号システムにおける上記鍵管理サーバであり，
上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，新たな自己固有鍵である更新自己固有鍵が記憶されているかどうかを判定する判定手段，
上記判定手段によって上記更新自己固有鍵が記憶されていないことが判定された場合に，上記管理データベースに記憶されている自己固有鍵で上記他者固有鍵を暗号化して暗号化他者固有鍵を生成し，生成した暗号化他者固有鍵を上記クライアントに配信する第１の配信手段，および
上記判定手段によって上記更新自己固有鍵が記憶されていることが判定された場合に，上記更新自己固有鍵で上記他者固有鍵を暗号化して暗号化他者固有鍵を生成し，上記自己固有鍵で上記更新自己固有鍵を暗号化して暗号化更新自己固有鍵を生成し，生成した暗号化他者固有鍵と暗号化更新自己固有鍵とを上記クライアントに配信する第２の配信手段を備えた，
鍵管理サーバ。
【請求項１３】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記ＩＤに対応する自己固有鍵とを記憶する固有データ記憶手段を備えたクライアントがネットワークを介して相互に接続されて構成される暗号システムにおける上記鍵管理サーバの制御方法であり，
上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，新たな自己固有鍵である更新自己固有鍵が記憶されているかどうかを判定し，
上記更新自己固有鍵が記憶されていないことが判定された場合，上記管理データベースに記憶されている自己固有鍵で上記他者固有鍵を暗号化して暗号化他者固有鍵を生成し，生成した暗号化他者固有鍵を上記クライアントに配信し，
上記更新自己固有鍵が記憶されていることが判定された場合には，上記更新自己固有鍵で上記他者固有鍵を暗号化して暗号化他者固有鍵を生成し，上記自己固有鍵で上記更新自己固有鍵を暗号化して暗号化更新自己固有鍵を生成し，生成した暗号化他者固有鍵と暗号化更新自己固有鍵とを上記クライアントに配信する，
鍵管理サーバの制御方法。
【請求項１４】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記ＩＤに対応する自己固有鍵とを記憶する固有データ記憶手段を備えたクライアントがネットワークを介して相互に接続されて構成される暗号システムにおける上記クライアントであり，
上記固有データ記憶手段に記憶されたＩＤを上記鍵管理サーバに送信するＩＤ送信手段，
上記管理データベースにおいて上記ＩＤに対応して更新自己固有鍵が記憶されていないことが判定された場合に上記鍵管理サーバから配信される，上記管理データベースに記憶されている上記ＩＤに対応する自己固有鍵で上記他者固有鍵を暗号化した暗号化他者固有鍵を，受信する第１の受信手段，
上記管理データベースにおいて上記ＩＤに対応して更新自己固有鍵が記憶されていることが判定された場合に上記鍵管理サーバから配信される，上記更新自己固有鍵で上記他者固有鍵を暗号化した暗号化他者固有鍵と，上記自己固有鍵で上記更新自己固有鍵を暗号化した暗号化更新自己固有鍵とを，受信する第２の受信手段，
上記第１の受信手段によって上記暗号化他者固有鍵を受信した場合に，受信した暗号化他者固有鍵を上記固有データ記憶手段に記憶されている自己固有鍵で復号し，復号によって得られた他者固有鍵を一時的に記憶する第１の記憶手段，および
上記第２の受信手段によって上記暗号化他者固有鍵と暗号化更新自己固有鍵とを受信した場合に，受信した暗号化更新自己固有鍵を上記固有データ記憶手段に記憶されている自己固有鍵で復号し，復号によって得られた更新自己固有鍵を上記自己固有鍵と置換し，配信された暗号化他者固有鍵を置換された自己固有鍵で復号し，復号によって得られた他者固有鍵を一時的に記憶する第２の記憶手段，
を備えたクライアント。
【請求項１５】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記ＩＤに対応する自己固有鍵とを記憶する固有データ記憶手段を備えたクライアントがネットワークを介して相互に接続されて構成される暗号システムにおける上記クライアントの制御方法であり，
上記固有データ記憶手段に記憶されたＩＤを上記鍵管理サーバに送信し，
上記管理データベースにおいて上記ＩＤに対応して更新自己固有鍵が記憶されていないことが判定された場合に上記鍵管理サーバから配信される，上記管理データベースに記憶されている上記ＩＤに対応する自己固有鍵で上記他者固有鍵を暗号化した暗号化他者固有鍵を，受信し，
上記管理データベースにおいて上記ＩＤに対応して更新自己固有鍵が記憶されていることが判定された場合に上記鍵管理サーバから配信される，上記更新自己固有鍵で上記他者固有鍵を暗号化した暗号化他者固有鍵と，上記自己固有鍵で上記更新自己固有鍵を暗号化した暗号化更新自己固有鍵とを，受信し，
上記暗号化他者固有鍵を受信した場合に，受信した暗号化他者固有鍵を上記固有データ記憶手段に記憶されている自己固有鍵で復号し，復号によって得られた他者固有鍵を一時的に記憶し，
上記暗号化他者固有鍵と暗号化更新自己固有鍵とを受信した場合に，受信した暗号化更新自己固有鍵を上記固有データ記憶手段に記憶されている自己固有鍵で復号し，復号によって得られた更新自己固有鍵を上記自己固有鍵と置換し，配信された暗号化他者固有鍵を置換された自己固有鍵で復号し，復号によって得られた他者固有鍵を一時的に記憶する，
クライアントの制御方法。
【請求項１６】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記ＩＤに対応する自己固有鍵とを記憶する固有データ記憶手段を備えたクライアントがネットワークを介して相互に接続されて構成される暗号システムにおける上記鍵管理サーバの制御プログラムであって，
上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，新たな自己固有鍵である更新自己固有鍵が記憶されているかどうかを判定し，
上記更新自己固有鍵が記憶されていないことを判定した場合，上記管理データベースに記憶されている自己固有鍵で上記他者固有鍵を暗号化して暗号化他者固有鍵を生成し，生成した暗号化他者固有鍵を上記クライアントに配信し，
上記更新自己固有鍵が記憶されていることを判定した場合には，上記更新自己固有鍵で上記他者固有鍵を暗号化して暗号化他者固有鍵を生成し，上記自己固有鍵で上記更新自己固有鍵を暗号化して暗号化更新自己固有鍵を生成し，生成した暗号化他者固有鍵と暗号化更新自己固有鍵とを上記クライアントに配信するように鍵管理サーバを制御する，
プログラム。
【請求項１７】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記ＩＤに対応する自己固有鍵とを記憶する固有データ記憶手段を備えたクライアントがネットワークを介して相互に接続されて構成される暗号システムにおける上記クライアントの制御プログラムであり，
上記固有データ記憶手段に記憶されたＩＤを上記鍵管理サーバに送信し，
上記管理データベースにおいて上記ＩＤに対応して更新自己固有鍵が記憶されていないことが判定された場合に上記鍵管理サーバから配信される，上記管理データベースに記憶されている上記ＩＤに対応する自己固有鍵で上記他者固有鍵を暗号化した暗号化他者固有鍵を，受信し，
上記管理データベースにおいて上記ＩＤに対応して更新自己固有鍵が記憶されていることが判定された場合に上記鍵管理サーバから配信される，上記更新自己固有鍵で上記他者固有鍵を暗号化した暗号化他者固有鍵と，上記自己固有鍵で上記更新自己固有鍵を暗号化した暗号化更新自己固有鍵とを，受信し，
上記暗号化他者固有鍵を受信した場合に，受信した暗号化他者固有鍵を上記固有データ記憶手段に記憶されている自己固有鍵で復号し，復号によって得られた他者固有鍵を一時的に記憶し，
上記暗号化他者固有鍵と暗号化更新自己固有鍵とを受信した場合に，受信した暗号化更新自己固有鍵を上記固有データ記憶手段に記憶されている自己固有鍵で復号し，復号によって得られた更新自己固有鍵を上記自己固有鍵と置換し，配信された暗号化他者固有鍵を置換された自己固有鍵で復号し，復号によって得られた他者固有鍵を一時的に記憶するようにクライアントを制御する，
プログラム。
【請求項１８】
ネットワークを介して相互に接続される鍵管理サーバとクライアントから構成される暗号システムの制御方法であり，
上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵を生成するための公開鍵／秘密鍵生成手段によって生成された公開鍵を記憶した管理データベースを備えており，
上記クライアントは上記ＩＤを記憶した固有データ記憶手段ならびに公開鍵暗号方法における公開鍵および秘密鍵を生成するための公開鍵／秘密鍵生成手段を備えており，
上記クライアントは，公開鍵／秘密鍵生成手段によって公開鍵および秘密鍵を生成し，生成された公開鍵と上記固有データ記憶手段に記憶されているＩＤとをあらかじめ上記鍵管理サーバに送信し，
上記固有データ記憶手段に記憶されているＩＤを上記鍵管理サーバに送信し，
ＩＤを受信した上記鍵管理サーバは，
受信したＩＤに対応して，上記管理データベースにおいて自己固有鍵の失効を表すデータが記憶されているかどうかを判定し，
上記失効を表すデータが記憶されていないことを判定した場合には，受信した上記公開鍵で自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成した暗号化自己固有鍵と暗号化他者固有鍵とを上記クライアントに配信し，
上記失効を表すデータが記憶されていることを判定した場合には，失効を表すデータを上記クライアントに送信し，
上記クライアントは，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵を受信した場合には，受信した暗号化自己固有鍵および暗号化他者固有鍵を，上記公開鍵／秘密鍵生成手段によって生成された上記秘密鍵で復号し，復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶し，
上記鍵管理サーバから失効を表すデータを受信した場合には，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する，
暗号システムの制御方法。
【請求項１９】
ネットワークを介して相互に接続される鍵管理サーバとクライアントから構成される暗号システムであり，
上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵を生成するための公開鍵／秘密鍵生成手段によってクライアントにおいて生成される公開鍵を記憶した管理データベースを備えており，
上記クライアントは，
公開鍵／秘密鍵生成手段，
上記ＩＤおよび上記公開鍵／秘密鍵生成手段によって生成された秘密鍵を記憶した固有データ記憶手段，
上記公開鍵／秘密鍵生成手段によって生成された公開鍵と上記固有データ記憶手段に記憶されているＩＤとを上記鍵管理サーバに送信する第１の送信手段，ならびに
上記固有データ記憶手段に記憶されているＩＤを上記鍵管理サーバに送信する第２の送信手段を備え，
上記鍵管理サーバは，
第２の送信手段によって送信されたＩＤを受信する受信手段，
上記管理データベースにおいて，受信した上記ＩＤに対応する自己固有鍵の失効を表すデータが記憶されているかどうかを判定する判定手段，
上記判定手段によって上記失効を表すデータが記憶されていないことが判定された場合に，上記管理データベースに記憶されている上記公開鍵で，自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成した暗号化自己固有鍵と暗号化他者固有鍵とを上記クライアントに配信する配信手段，ならびに
上記判定手段によって上記失効を表すデータが記憶されていることが判定された場合に，失効を表すデータを上記クライアントに送信する送信手段を備え，
上記クライアントはさらに，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵を受信した場合に，受信した暗号化自己固有鍵および暗号化他者固有鍵を上記秘密鍵で復号し，復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶する記憶手段，ならびに
上記鍵管理サーバから失効を表すデータを受信した場合に，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する処理終了手段を備えている，
暗号システム。
【請求項２０】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵を生成するための公開鍵／秘密鍵生成手段によってクライアントにおいて生成される公開鍵を記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤを記憶した固有データ記憶手段ならびに公開鍵／秘密鍵生成手段を備えたクライアントとがネットワークを介して相互に接続されて構成される暗号システムにおける上記鍵管理サーバであり，
上記クライアントから送信されるＩＤを受信する受信手段，
受信した上記ＩＤに対応して，上記管理データベースにおいて自己固有鍵の失効を表すデータが記憶されているかどうかを判定する判定手段，
上記判定手段によって上記失効を表すデータが記憶されていないことが判定された場合に，上記管理データベースに記憶されている上記公開鍵で，自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成した暗号化自己固有鍵と暗号化他者固有鍵とを上記クライアントに配信する配信手段，ならびに
上記判定手段によって上記失効を表すデータが記憶されていることが判定された場合に，失効を表すデータを上記クライアントに送信する送信手段，
を備えた鍵管理サーバ。
【請求項２１】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵を生成するための公開鍵／秘密鍵生成手段によってクライアントにおいて生成される公開鍵を記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤを記憶した固有データ記憶手段ならびに公開鍵／秘密鍵生成手段を備えたクライアントとがネットワークを介して相互に接続されて構成される暗号システムにおける上記鍵管理サーバの制御方法であり，
上記クライアントから送信されるＩＤを受信し，
受信した上記ＩＤに対応して，上記管理データベースにおいて自己固有鍵の失効を表すデータが記憶されているかどうかを判定し，
上記失効を表すデータが記憶されていないことを判定した場合には，上記管理データベースに記憶されている上記公開鍵で，自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，
生成した暗号化自己固有鍵と暗号化他者固有鍵とを上記クライアントに配信し，
上記判定手段によって上記失効を表すデータが記憶されていることが判定された場合に，失効を表すデータを上記クライアントに送信する，
鍵管理サーバの制御方法。
【請求項２２】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵を生成するための公開鍵／秘密鍵生成手段によってクライアントにおいて生成される公開鍵を記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤを記憶した固有データ記憶手段および公開鍵／秘密鍵生成手段を備えたクライアントとがネットワークを介して相互に接続されて構成される暗号システムにおける上記クライアントであり，
上記公開鍵／秘密鍵生成手段によって生成された公開鍵と上記固有データ記憶手段に記憶されているＩＤとを上記鍵管理サーバに送信する第１の送信手段，
上記固有データ記憶手段に記憶されているＩＤを上記管理サーバに送信する第２の送信手段，
上記管理データベースに上記ＩＤに対応して失効を表すデータが記憶されていないことが判定された場合に上記鍵管理サーバから配信される，上記管理データベースに記憶されている上記公開鍵で自己固有鍵と他者固有鍵とを暗号化した暗号化自己固有鍵および暗号化他者固有鍵を，受信する第１の受信手段，
上記管理データベースに上記ＩＤに対応して失効を表すデータが記憶されていることが判定された場合に上記鍵管理サーバから送信される失効を表すデータを受信する第２の受信手段，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵が配信された場合に，配信された暗号化自己固有鍵および暗号化他者固有鍵を上記秘密鍵で復号する復号手段，
上記復号手段によって得られた自己固有鍵および他者固有鍵を一時的に記憶する記憶手段，ならびに
上記鍵管理サーバから失効を表すデータを受信した場合に，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する処理終了手段を備えている，
クライアント。
【請求項２３】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵を生成するための公開鍵／秘密鍵生成手段によってクライアントにおいて生成される公開鍵を記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤを記憶した固有データ記憶手段および公開鍵／秘密鍵生成手段を備えたクライアントとがネットワークを介して相互に接続されて構成される暗号システムにおける上記クライアントの制御方法であり，
上記公開鍵／秘密鍵生成手段によって公開鍵および秘密鍵を生成し，
生成した公開鍵と上記固有データ記憶手段に記憶されているＩＤとをあらかじめ上記鍵管理サーバに送信し，
上記固有データ記憶手段に記憶されているＩＤを上記鍵管理サーバに送信し，
上記管理データベースに上記ＩＤに対応して失効を表すデータが記憶されていないことが判定された場合に上記鍵管理サーバから配信される，上記管理データベースに記憶されている上記公開鍵で自己固有鍵と他者固有鍵とを暗号化した暗号化自己固有鍵および暗号化他者固有鍵を，受信し，
上記管理データベースに上記ＩＤに対応して失効を表すデータが記憶されていることが判定された場合に上記鍵管理サーバから送信される失効を表すデータを受信し，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵を受信した場合に，受信した暗号化自己固有鍵および暗号化他者固有鍵を上記秘密鍵で復号し，
復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶し，
上記鍵管理サーバから失効を表すデータを受信した場合に，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する，
クライアントの制御方法。
【請求項２４】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵を生成するための公開鍵／秘密鍵生成手段によってクライアントにおいて生成される公開鍵を記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤを記憶した固有データ記憶手段および公開鍵／秘密鍵生成手段を備えたクライアントとがネットワークを介して相互に接続されて構成される暗号システムにおける上記鍵管理サーバの制御プログラムであり，
上記クライアントからあらかじめ送信される公開鍵とＩＤとを受信し，
上記クライアントから送信されるＩＤを受信し，
受信した上記ＩＤに対応して，上記管理データベースにおいて自己固有鍵の失効を表すデータが記憶されているかどうかを判定し，
上記失効を表すデータが記憶されていないことを判定した場合には，上記管理データベースに記憶されている上記公開鍵で，自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，
生成した暗号化自己固有鍵と暗号化他者固有鍵とを上記クライアントに配信し，
上記判定手段によって上記失効を表すデータが記憶されていることが判定された場合に，失効を表すデータを上記クライアントに送信するように鍵管理サーバを制御する，プログラム。
【請求項２５】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵を生成するための公開鍵／秘密鍵生成手段によってクライアントにおいて生成される公開鍵を記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤを記憶した固有データ記憶手段および公開鍵／秘密鍵生成手段を備えたクライアントとがネットワークを介して相互に接続されて構成される暗号システムにおける上記クライアントの制御プログラムであり，
上記公開鍵／秘密鍵生成手段によって公開鍵および秘密鍵を生成し，
生成した公開鍵と上記固有データ記憶手段に記憶されているＩＤとを上記鍵管理サーバに送信し，
上記固有データ記憶手段に記憶されているＩＤを上記鍵管理サーバに送信し，
上記管理データベースに上記ＩＤに対応して失効を表すデータが記憶されていないことが判定された場合に上記鍵管理サーバから配信される，上記管理データベースに記憶されている上記公開鍵で自己固有鍵と他者固有鍵とを暗号化した暗号化自己固有鍵および暗号化他者固有鍵を，受信し，
上記管理データベースに上記ＩＤに対応して失効を表すデータが記憶されていることが判定された場合に上記鍵管理サーバから送信される失効を表すデータを受信し，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵が配信された場合には，配信された暗号化自己固有鍵および暗号化他者固有鍵を上記秘密鍵で復号し，
復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶し，
上記鍵管理サーバから失効を表すデータを受信した場合に，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了するようにクライアントを制御する，プログラム。
【請求項２６】
ネットワークを介して相互に接続される鍵管理サーバとクライアントから構成される暗号システムの制御方法であり，
上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えており，
上記クライアントは，上記ＩＤと，公開鍵暗号方法における公開鍵および秘密鍵の対とを記憶した固有データ記憶手段を備えており，
上記クライアントは，上記固有データ記憶手段に記憶されたＩＤと公開鍵とを上記管理サーバに送信し，
ＩＤを受信した鍵管理サーバは，
上記管理データベースにおいて，受信した上記ＩＤに対応して自己固有鍵の失効を表すデータが記憶されているかどうかを判定し，
上記失効を表すデータが記憶されていないことを判定した場合には，受信した上記公開鍵で，上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成した暗号化自己固有鍵と暗号化他者固有鍵とを上記クライアントに配信し，
上記失効を表すデータが記憶されていることを判定した場合には，失効を表すデータを上記クライアントに送信し，
上記クライアントは，自己固有鍵および他者固有鍵を一時的に記憶するための鍵一時記憶手段を備えており，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵が配信された場合には，配信された暗号化自己固有鍵および暗号化他者固有鍵を上記固有データ記憶手段に記憶されている秘密鍵で復号し，復号によって得られた自己固有鍵および他者固有鍵を上記鍵一時記憶手段に記憶し，
上記鍵管理サーバから失効を表すデータを受信した場合には，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する，
暗号システムの制御方法。
【請求項２７】
ネットワークを介して相互に接続される鍵管理サーバとクライアントから構成される暗号システムの制御方法であり，
上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵の対とを記憶した管理データベースを備えており，
上記クライアントは，上記ＩＤと，上記秘密鍵とを記憶した固有データ記憶手段を備えており，
上記鍵管理サーバは，
上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，自己固有鍵の失効を表すデータが記憶されているかどうかを判定し，
上記失効を表すデータが記憶されていないことを判定した場合には，上記管理データベースに記憶されている上記公開鍵で，上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成した暗号化自己固有鍵と暗号化他者固有鍵とを上記クライアントに配信し，
上記失効を表すデータが記憶されていることを判定した場合には，失効を表すデータを上記クライアントに送信し，
上記クライアントは，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵を受信した場合には，受信した暗号化自己固有鍵および暗号化他者固有鍵を上記固有データ記憶手段に記憶された上記秘密鍵で復号し，復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶し，
上記鍵管理サーバから失効を表すデータを受信した場合には，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する，
暗号システムの制御方法。
【請求項２８】
ネットワークを介して相互に接続される鍵管理サーバとクライアントから構成される暗号システムであり，
上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵の対とを記憶した管理データベースを備えており，
上記クライアントは，上記ＩＤと，上記秘密鍵とを記憶した固有データ記憶手段を備えており，
上記鍵管理サーバは，
上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，自己固有鍵の失効を表すデータが記憶されているかどうかを判定する判定手段，
上記判定手段によって上記失効を表すデータが記憶されていないことが判定された場合に，上記管理データベースに記憶されている上記公開鍵で，上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成した暗号化自己固有鍵および暗号化他者固有鍵を上記クライアントに配信する配信手段，ならびに
上記判定手段によって上記失効を表すデータが記憶されていることが判定された場合に，失効を表すデータを上記クライアントに送信する送信手段を備え，
上記クライアントは，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵を受信した場合に，受信した暗号化自己固有鍵および暗号化他者固有鍵を上記固有データ記憶手段に記憶された上記秘密鍵で復号する復号手段，
復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶する記憶手段，ならびに
上記鍵管理サーバから失効を表すデータを受信した場合に，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する処理終了手段を備えた，
暗号システム。
【請求項２９】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵の対とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記秘密鍵とを記憶した固有データ記憶手段を備えたクライアントとが，ネットワークを介して相互に接続されて構成される暗号システムにおける鍵管理サーバであり，
上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，自己固有鍵の失効を表すデータが記憶されているかどうかを判定する判定手段，
上記判定手段によって上記失効を表すデータが記憶されていないことが判定された場合に，上記管理データベースに記憶されている上記公開鍵で，上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成された暗号化自己固有鍵と暗号化他者固有鍵とを上記クライアントに配信する配信手段，ならびに
上記判定手段によって上記失効を表すデータが記憶されていることが判定された場合に，失効を表すデータを上記クライアントに送信する送信手段を備えている，
鍵管理サーバ。
【請求項３０】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザの他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵の対とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記秘密鍵とを記憶した固有データ記憶手段を備えたクライアントとが，ネットワークを介して相互に接続されて構成される暗号システムにおける鍵管理サーバの制御方法であり，
上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，自己固有鍵の失効を表すデータが記憶されているかどうかを判定し，
上記失効を表すデータが記憶されていないことが判定された場合に，上記管理データベースに記憶されている上記公開鍵で，上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成された暗号化自己固有鍵と暗号化他者固有鍵とを上記クライアントに配信し，
上記失効を表すデータが記憶されていることが判定された場合に，失効を表すデータを上記クライアントに送信する，
鍵管理サーバの制御方法。
【請求項３１】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵の対とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記秘密鍵とを記憶した固有データ記憶手段を備えたクライアントとが，ネットワークを介して相互に接続されて構成される暗号システムにおけるクライアントであり，
上記ＩＤを上記鍵管理サーバに送信する送信手段，
上記管理データベースに上記ＩＤに対応して自己固有鍵の失効を表すデータが記憶されていないことが判定された場合に上記鍵管理サーバから配信される，上記管理データベースに記憶されている上記公開鍵で上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化した暗号化自己固有鍵および暗号化他者固有鍵を，受信する第１の受信手段，
上記管理データベースに上記ＩＤに対応して失効を表すデータが記憶されていることが判定された場合に上記鍵管理サーバから送信される失効を表すデータを受信する第２の受信手段，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵を受信した場合に，受信した暗号化自己固有鍵および暗号化他者固有鍵を上記固有データ記憶手段に記憶された上記秘密鍵で復号する復号手段，
復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶する記憶手段，ならびに
上記鍵管理サーバから失効を表すデータを受信した場合に，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する処理終了手段を備えた，
クライアント。
【請求項３２】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵の対とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記秘密鍵とを記憶した固有データ記憶手段を備えたクライアントとが，ネットワークを介して相互に接続されて構成される暗号システムにおけるクライアントの制御方法であり，
上記ＩＤを上記鍵管理サーバに送信し，
上記管理データベースに上記ＩＤに対応して自己固有鍵の失効を表すデータが記憶されていないことが判定された場合に上記鍵管理サーバから配信される，上記管理データベースに記憶されている上記公開鍵で上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化した暗号化自己固有鍵および暗号化他者固有鍵を，上記鍵管理サーバから受信し，
上記管理データベースに上記ＩＤに対応して失効を表すデータが記憶されていることが判定された場合に上記鍵管理サーバから送信される失効を表すデータを受信し，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵を受信した場合に，受信した暗号化自己固有鍵および暗号化他者固有鍵を上記固有データ記憶手段に記憶された上記秘密鍵で復号し，
復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶し，
上記鍵管理サーバから失効を表すデータを受信した場合に，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する，
クライアントの制御方法。
【請求項３３】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵の対とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記秘密鍵とを記憶した固有データ記憶手段を備えたクライアントとが，ネットワークを介して相互に接続されて構成される暗号システムにおける鍵管理サーバの制御プログラムであり，
上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，自己固有鍵の失効を表すデータが記憶されているかどうかを判定し，
上記失効を表すデータが記憶されていないことが判定された場合に，上記管理データベースに記憶されている上記公開鍵で，上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，
生成された暗号化自己固有鍵と暗号化他者固有鍵とを上記クライアントに配信し，
上記失効を表すデータが記憶されていることが判定された場合に，失効を表すデータを上記クライアントに送信する鍵管理サーバを制御する，
プログラム。
【請求項３４】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵の対とを記憶した管理データベースを備えた鍵管理サーバと，上記ＩＤと，上記秘密鍵とを記憶した固有データ記憶手段を備えたクライアントとが，ネットワークを介して相互に接続されて構成される暗号システムにおけるクライアントの制御プログラムであり，
上記ＩＤを上記鍵管理サーバに送信し，
上記管理データベースに上記ＩＤに対応して自己固有鍵の失効を表すデータが記憶されていないことが判定された場合に上記鍵管理サーバから配信される，上記管理データベースに記憶されている上記公開鍵で上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化して生成される暗号化自己固有鍵および暗号化他者固有鍵を，受信し，
上記管理データベースに上記ＩＤに対応して失効を表すデータが記憶されていることが判定された場合に上記鍵管理サーバから送信される失効を表すデータを受信し，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵が配信された場合に，配信された暗号化自己固有鍵および暗号化他者固有鍵を上記固有データ記憶手段に記憶された上記秘密鍵で復号し，
復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶し，
上記鍵管理サーバから失効を表すデータを受信した場合に，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了するようにクライアントを制御する，
プログラム。
【請求項３５】
ネットワークを介して相互に接続される鍵管理サーバとクライアントから構成される暗号システムの制御方法であり，
上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵とそのユーザ以外の他者の自己固有鍵である他者固有鍵と秘密データとを記憶した管理データベースと，公開鍵暗号方法における第１の公開鍵および第１の秘密鍵の対を生成する第１の公開鍵／秘密鍵生成手段を備えており，
上記クライアントは，上記ＩＤと上記秘密データとを記憶した固有データ記憶手段と，公開鍵暗号方法における第２の公開鍵および第２の秘密鍵の対を生成する第２の公開鍵／秘密鍵生成手段を備えており，
上記クライアントは，第２の公開鍵／秘密鍵生成手段によって第２の公開鍵および第２の秘密鍵を生成し，生成された第２の公開鍵と上記固有データ記憶手段に記憶されているＩＤとを上記鍵管理サーバに送信し，
第２の公開鍵とＩＤとを受信した上記鍵管理サーバは，
受信したＩＤに対応して，上記管理データベースにおいて，自己固有鍵の失効を表すデータが記憶されているかどうかを判定し，
上記失効を表すデータが記憶されていないことが判定された場合には，上記第１の公開鍵／秘密鍵生成手段によって第１の公開鍵および第１の秘密鍵を生成し，受信した第２の公開鍵で生成した第１の公開鍵を暗号化して暗号化第１の公開鍵を生成し，生成した暗号化第１の公開鍵を上記クライアントに配信し，
暗号化第１の公開鍵を受信したクライアントは，
上記第２の秘密鍵で受信した暗号化第１の公開鍵を復号して第１の公開鍵を生成し，生成した第１の公開鍵で上記固有データ記憶手段に記憶されている上記秘密データを暗号化して暗号化秘密データを生成し，生成した暗号化秘密データを上記鍵管理サーバに送信し，
暗号化秘密データを受信した上記鍵管理サーバは，
受信した暗号化秘密データを上記第１の秘密鍵で復号して秘密データを得，得られた秘密データが上記管理データベースに記憶されている秘密データと同じであることを条件に，受信した第２の公開鍵で上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成した暗号化自己固有鍵および暗号化他者固有鍵を上記クライアントに配信し，
上記失効を表すデータが記憶されていることが判定された場合には，失効を表すデータを上記クライアントに送信し，
上記クライアントは，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵が配信された場合には，配信された暗号化自己固有鍵および暗号化他者固有鍵を上記固有データ記憶手段に記憶された上記秘密鍵で復号し，復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶し，
上記鍵管理サーバから失効を表すデータを受信した場合には，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する，
暗号システムの制御方法。
【請求項３６】
ネットワークを介して相互に接続される鍵管理サーバとクライアントから構成される暗号システムであり，
上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵とそのユーザ以外の他者の自己固有鍵である他者固有鍵と秘密データとを記憶した管理データベースと，公開鍵暗号方法における第１の公開鍵および第１の秘密鍵の対を生成する第１の公開鍵／秘密鍵生成手段を備えており，
上記クライアントは，上記ＩＤと上記秘密データとを記憶した固有データ記憶手段と，公開鍵暗号方法における第２の公開鍵および第２の秘密鍵の対を生成する第２の公開鍵／秘密鍵生成手段を備えており，
上記クライアントはさらに，
第２の公開鍵／秘密鍵生成手段によって第２の公開鍵および第２の秘密鍵を生成し，生成された第２の公開鍵と上記固有データ記憶手段に記憶されているＩＤとを上記鍵管理サーバに送信する送信手段を備え，
上記鍵管理サーバはさらに，
第２の公開鍵とＩＤとを受信する第１の受信手段，
受信したＩＤに対応して，上記管理データベースにおいて自己固有鍵の失効を表すデータが記憶されているかどうかを判定する判定手段，および
上記判定手段によって上記失効を表すデータが記憶されていないことが判定された場合に，上記第１の公開鍵／秘密鍵生成手段によって第１の公開鍵および第１の秘密鍵を生成し，受信した第２の公開鍵で生成した第１の公開鍵を暗号化して暗号化第１の公開鍵を生成し，生成した暗号化第１の公開鍵を上記クライアントに配信する第１の配信手段を備え，
上記クライアントはさらに，
暗号化第１の公開鍵を受信する受信手段，
受信手段によって受信された暗号化第１の公開鍵を上記第２の秘密鍵で復号して第１の公開鍵を生成し，生成した第１の公開鍵で上記固有データ記憶手段に記憶されている上記秘密データを暗号化して暗号化秘密データを生成し，生成した暗号化秘密データを上記鍵管理サーバに送信する送信手段を備え，
上記鍵管理サーバはさらに，
暗号化秘密データを受信する第２の受信手段，
第２の受信手段によって受信された暗号化秘密データを上記第１の秘密鍵で復号して秘密データを得，得られた秘密データが上記管理データベースに記憶されている秘密データと同じであることを条件に，上記第１の受信手段によって受信された第２の公開鍵で上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成した暗号化自己固有鍵および暗号化他者固有鍵を上記クライアントに配信する第２の配信手段，ならびに
上記判定手段によって上記失効を表すデータが記憶されていることが判定された場合に，失効を表すデータを上記クライアントに送信する送信手段を備え，
上記クライアントはさらに，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵が配信された場合に，配信された暗号化自己固有鍵および暗号化他者固有鍵を上記固有データ記憶手段に記憶された上記秘密鍵で復号する復号手段，
復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶する記憶手段，ならびに
上記鍵管理サーバから失効を表すデータを受信した場合に，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する処理終了手段を備えている，
暗号システム。
【請求項３７】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵とそのユーザ以外の他者の自己固有鍵である他者固有鍵と秘密データとを記憶した管理データベースと，公開鍵暗号方法における第１の公開鍵および第１の秘密鍵の対を生成する第１の公開鍵／秘密鍵生成手段とを備えた鍵管理サーバと，上記ＩＤと上記秘密データとを記憶した固有データ記憶手段と，公開鍵暗号方法における第２の公開鍵および第２の秘密鍵の対を生成する第２の公開鍵／秘密鍵生成手段とを備えたクライアントとが，ネットワークを介して相互に接続されて構成される暗号システムにおけるサーバであり，
上記クライアントにおいて第２の公開鍵／秘密鍵生成手段によって生成される第２の公開鍵および第２の秘密鍵のうちの第２の公開鍵と，上記固有データ記憶手段に記憶されているＩＤとを受信する第１の受信手段，
受信したＩＤに対応して，上記管理データベースにおいて自己固有鍵の失効を表すデータが記憶されているかどうかを判定する判定手段，
上記判定手段によって上記失効を表すデータが記憶されていないことが判定された場合に，上記第１の公開鍵／秘密鍵生成手段によって第１の公開鍵および第１の秘密鍵を生成し，受信した第２の公開鍵で生成した第１の公開鍵を暗号化して暗号化第１の公開鍵を生成し，生成した暗号化第１の公開鍵を上記クライアントに配信する第１の配信手段，
上記クライアントにおいて受信された暗号化第１の公開鍵が上記第２の秘密鍵で復号され，復号された第１の公開鍵で上記固有データ記憶手段に記憶されている上記秘密データが暗号化されて生成される暗号化秘密データを，上記クライアントから受信する第２の受信手段，
第２の受信手段によって受信された暗号化秘密データを上記第１の秘密鍵で復号して秘密データを得，得られた秘密データが上記管理データベースに記憶されている秘密データと同じであることを条件に，上記第１の受信手段によって受信された第２の公開鍵で上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成した暗号化自己固有鍵および暗号化他者固有鍵を上記クライアントに配信する第２の配信手段，ならびに
上記判定手段によって上記失効を表すデータが記憶されていることが判定された場合に，失効を表すデータを上記クライアントに送信する送信手段を備えている，
鍵管理サーバ。
【請求項３８】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵とそのユーザ以外の他者の自己固有鍵である他者固有鍵と秘密データとを記憶した管理データベースと，公開鍵暗号方法における第１の公開鍵および第１の秘密鍵の対を生成する第１の公開鍵／秘密鍵生成手段とを備えた鍵管理サーバと，上記ＩＤと上記秘密データとを記憶した固有データ記憶手段と，公開鍵暗号方法における第２の公開鍵および第２の秘密鍵の対を生成する第２の公開鍵／秘密鍵生成手段とを備えたクライアントとが，ネットワークを介して相互に接続されて構成される暗号システムにおける上記鍵管理サーバの制御方法であり，
上記クライアントにおいて第２の公開鍵／秘密鍵生成手段によって生成される第２の公開鍵および第２の秘密鍵のうちの第２の公開鍵と，上記固有データ記憶手段に記憶されているＩＤとを受信し，
受信したＩＤに対応して，上記管理データベースにおいて自己固有鍵の失効を表すデータが記憶されているかどうかを判定し，
上記失効を表すデータが記憶されていないことを判定した場合に，上記第１の公開鍵／秘密鍵生成手段によって第１の公開鍵および第１の秘密鍵を生成し，受信した第２の公開鍵で生成した第１の公開鍵を暗号化して暗号化第１の公開鍵を生成し，生成した暗号化第１の公開鍵を上記クライアントに配信し，
上記クライアントにおいて受信された暗号化第１の公開鍵が上記第２の秘密鍵で復号され，復号された第１の公開鍵で上記固有データ記憶手段に記憶されている上記秘密データが暗号化されて生成される暗号化秘密データを，上記クライアントから受信し，
受信した暗号化秘密データを上記第１の秘密鍵で復号して秘密データを得，得られた秘密データが上記管理データベースに記憶されている秘密データと同じであることを条件に，受信した第２の公開鍵で上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成した暗号化自己固有鍵および暗号化他者固有鍵を上記クライアントに配信し，
上記失効を表すデータが記憶されていることを判定した場合に，失効を表すデータを上記クライアントに送信する，
鍵管理サーバの制御方法。
【請求項３９】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵とそのユーザ以外の他者の自己固有鍵である他者固有鍵と秘密データとを記憶した管理データベースと，公開鍵暗号方法における第１の公開鍵および第１の秘密鍵の対を生成する第１の公開鍵／秘密鍵生成手段とを備えた鍵管理サーバと，上記ＩＤと上記秘密データとを記憶した固有データ記憶手段と，公開鍵暗号方法における第２の公開鍵および第２の秘密鍵の対を生成する第２の公開鍵／秘密鍵生成手段とを備えたクライアントとが，ネットワークを介して相互に接続されて構成される暗号システムにおける上記クライアントであり，
第２の公開鍵／秘密鍵生成手段によって第２の公開鍵および第２の秘密鍵を生成し，生成された第２の公開鍵と上記固有データ記憶手段に記憶されているＩＤとを上記鍵管理サーバに送信する第１の送信手段，
上記管理データベースにおいて自己固有鍵の失効を表すデータが記憶されていないことが判定された場合に，上記第１の公開鍵／秘密鍵生成手段によって生成される第１の公開鍵および第１の秘密鍵のうちの第１の公開鍵を受信した第２の公開鍵で暗号化して生成される暗号化第１の公開鍵を，上記鍵管理サーバから受信する第１の受信手段，
第１の受信手段によって受信された暗号化第１の公開鍵を上記第２の秘密鍵で復号して第１の公開鍵を生成し，生成した第１の公開鍵で上記固有データ記憶手段に記憶されている上記秘密データを暗号化して暗号化秘密データを生成し，生成した暗号化秘密データを上記鍵管理サーバに送信する第２の送信手段，
上記鍵管理サーバにおいて受信される暗号化秘密データが上記第１の秘密鍵で復号され，得られた秘密データが上記管理データベースに記憶されている秘密データと同じであることを条件に生成されて配信される，上記第２の公開鍵で上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化した暗号化自己固有鍵および暗号化他者固有鍵を，上記鍵管理サーバから受信する第２の受信手段，
上記管理データベースにおいて上記失効を表すデータが記憶されていることが判定された場合に上記鍵管理サーバから送信される失効を表すデータを受信する第３の受信手段，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵が配信された場合に，配信された暗号化自己固有鍵および暗号化他者固有鍵を上記固有データ記憶手段に記憶された上記秘密鍵で復号する復号手段，
復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶する記憶手段，ならびに
上記鍵管理サーバから失効を表すデータを受信した場合に，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する処理終了手段を備えている，
クライアント。
【請求項４０】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵とそのユーザ以外の他者の自己固有鍵である他者固有鍵と秘密データとを記憶した管理データベースと，公開鍵暗号方法における第１の公開鍵および第１の秘密鍵の対を生成する第１の公開鍵／秘密鍵生成手段とを備えた鍵管理サーバと，上記ＩＤと上記秘密データとを記憶した固有データ記憶手段と，公開鍵暗号方法における第２の公開鍵および第２の秘密鍵の対を生成する第２の公開鍵／秘密鍵生成手段とを備えたクライアントとが，ネットワークを介して相互に接続されて構成される暗号システムにおける上記クライアントの制御方法であり，
第２の公開鍵／秘密鍵生成手段によって第２の公開鍵および第２の秘密鍵を生成し，生成された第２の公開鍵と上記固有データ記憶手段に記憶されているＩＤとを上記鍵管理サーバに送信し，
上記管理データベースにおいて自己固有鍵の失効を表すデータが記憶されていないことが判定された場合に，上記第１の公開鍵／秘密鍵生成手段によって生成される第１の公開鍵および第１の秘密鍵のうちの第１の公開鍵を受信した第２の公開鍵で暗号化して生成される暗号化第１の公開鍵を，上記鍵管理サーバから受信し，
受信した暗号化第１の公開鍵を上記第２の秘密鍵で復号して第１の公開鍵を生成し，生成した第１の公開鍵で上記固有データ記憶手段に記憶されている上記秘密データを暗号化して暗号化秘密データを生成し，生成した暗号化秘密データを上記鍵管理サーバに送信し，
上記鍵管理サーバにおいて受信される暗号化秘密データが上記第１の秘密鍵で復号され，得られた秘密データが上記管理データベースに記憶されている秘密データと同じであることを条件に生成されて配信される，上記第２の公開鍵で上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化した暗号化自己固有鍵および暗号化他者固有鍵を，上記鍵管理サーバから受信し，
上記管理データベースにおいて上記失効を表すデータが記憶されていることが判定された場合に上記鍵管理サーバから送信される失効を表すデータを受信し，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵が配信された場合に，配信された暗号化自己固有鍵および暗号化他者固有鍵を上記固有データ記憶手段に記憶された上記秘密鍵で復号し，
復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶し，
上記鍵管理サーバから失効を表すデータを受信した場合に，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する，
クライアントの制御方法。
【請求項４１】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵とそのユーザ以外の他者の自己固有鍵である他者固有鍵と秘密データとを記憶した管理データベースと，公開鍵暗号方法における第１の公開鍵および第１の秘密鍵の対を生成する第１の公開鍵／秘密鍵生成手段とを備えた鍵管理サーバと，上記ＩＤと上記秘密データとを記憶した固有データ記憶手段と，公開鍵暗号方法における第２の公開鍵および第２の秘密鍵の対を生成する第２の公開鍵／秘密鍵生成手段とを備えたクライアントとが，ネットワークを介して相互に接続されて構成される暗号システムにおける上記鍵管理サーバの制御プログラムであり，
上記クライアントにおいて第２の公開鍵／秘密鍵生成手段によって生成される第２の公開鍵および第２の秘密鍵のうちの第２の公開鍵と，上記固有データ記憶手段に記憶されているＩＤとを受信し，
受信したＩＤに対応して，上記管理データベースにおいて自己固有鍵の失効を表すデータが記憶されているかどうかを判定し，
上記失効を表すデータが記憶されていないことを判定した場合に，上記第１の公開鍵／秘密鍵生成手段によって第１の公開鍵および第１の秘密鍵を生成し，受信した第２の公開鍵で生成した第１の公開鍵を暗号化して暗号化第１の公開鍵を生成し，生成した暗号化第１の公開鍵を上記クライアントに配信し，
上記クライアントにおいて受信された暗号化第１の公開鍵が上記第２の秘密鍵で復号され，復号された第１の公開鍵で上記固有データ記憶手段に記憶されている上記秘密データが暗号化されて生成される暗号化秘密データを，上記クライアントから受信し，
受信した暗号化秘密データを上記第１の秘密鍵で復号して秘密データを得，得られた秘密データが上記管理データベースに記憶されている秘密データと同じであることを条件に，受信した第２の公開鍵で上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成した暗号化自己固有鍵および暗号化他者固有鍵を上記クライアントに配信し，
上記失効を表すデータが記憶されていることを判定した場合に，失効を表すデータを上記クライアントに送信するように鍵管理サーバを制御する，
プログラム。
【請求項４２】
ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵とそのユーザ以外の他者の自己固有鍵である他者固有鍵と秘密データとを記憶した管理データベースと，公開鍵暗号方法における第１の公開鍵および第１の秘密鍵の対を生成する第１の公開鍵／秘密鍵生成手段とを備えた鍵管理サーバと，上記ＩＤと上記秘密データとを記憶した固有データ記憶手段と，公開鍵暗号方法における第２の公開鍵および第２の秘密鍵の対を生成する第２の公開鍵／秘密鍵生成手段とを備えたクライアントとが，ネットワークを介して相互に接続されて構成される暗号システムにおける上記クライアントの制御プログラムであり，
第２の公開鍵／秘密鍵生成手段によって第２の公開鍵および第２の秘密鍵を生成し，生成された第２の公開鍵と上記固有データ記憶手段に記憶されているＩＤとを上記鍵管理サーバに送信し，
上記管理データベースにおいて自己固有鍵の失効を表すデータが記憶されていないことが判定された場合に，上記第１の公開鍵／秘密鍵生成手段によって生成される第１の公開鍵および第１の秘密鍵のうちの第１の公開鍵を受信した第２の公開鍵で暗号化して生成される暗号化第１の公開鍵を，上記鍵管理サーバから受信し，
受信した暗号化第１の公開鍵を上記第２の秘密鍵で復号して第１の公開鍵を生成し，生成した第１の公開鍵で上記固有データ記憶手段に記憶されている上記秘密データを暗号化して暗号化秘密データを生成し，生成した暗号化秘密データを上記鍵管理サーバに送信し，
上記鍵管理サーバにおいて受信される暗号化秘密データが上記第１の秘密鍵で復号され，得られた秘密データが上記管理データベースに記憶されている秘密データと同じであることを条件に生成されて配信される，上記第２の公開鍵で上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化した暗号化自己固有鍵および暗号化他者固有鍵を，上記鍵管理サーバから受信し，
上記管理データベースにおいて上記失効を表すデータが記憶されていることが判定された場合に上記鍵管理サーバから送信される失効を表すデータを受信し，
上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵が配信された場合に，配信された暗号化自己固有鍵および暗号化他者固有鍵を上記固有データ記憶手段に記憶された上記秘密鍵で復号し，
復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶し，
上記鍵管理サーバから失効を表すデータを受信した場合に，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了するようにクライアントを制御する，
プログラム。
【請求項４３】
請求項７，８，９，16，17，24，25，33，34，41および42のいずれか一項に記載のプログラムを記録した，コンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【技術分野】
この発明は，暗号システムおよびその制御方法，この暗号システムにおいて用いられる鍵管理サーバおよびクライアント，ならびにこれらの制御方法に関する。
【０００２】
【発明の背景】
企業等内において，部下が暗号文を作成しその上司が暗号文を管理することが行われることがある。このような管理体制では，社員の配置換えや昇進，社員の辞職等が行われると，その都度，暗号文の復号に用いられる鍵の配布先を変更する必要がある。社員の配置換え等のたびに変更後の鍵を社員のそれぞれに配布すると，配布のための手続きは非常に煩雑になってしまう。
【０００３】
【発明の開示】
この発明は，企業等の管理体制下における暗号文の復号および平文の暗号化に用いられる鍵を，集中して管理できるようにすることを目的とする。
【０００４】
さらにこの発明は，企業等における社員の昇進や辞職，鍵の紛失等に柔軟に対処できるようにすることができる暗号システムおよびその制御方法の提供を目的とする。
【０００５】
さらにこの発明は，第三者が暗号システムの利用者になりすまして暗号システムを利用する行為を未然に防止することを目的とする。
【０００６】
第１の発明による暗号システムの制御方法は，ネットワークを介して相互に接続される鍵管理サーバとクライアントから構成される暗号システムの制御方法である。
【０００７】
上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えている。
【０００８】
一方，上記クライアントは，上記ＩＤと，上記ＩＤに対応する自己固有鍵と，上記ＩＤに対応する他者固有鍵を上記自己固有鍵で暗号化して生成された暗号化他者固有鍵とを記憶する固有データ記憶手段を備えている。
【０００９】
上記鍵管理サーバは，上記クライアントから送信されるＩＤに対応する他者固有鍵が，上記管理データベースにおいて変更されているかどうかを判定し，他者固有鍵が変更されていることが判定された場合に，上記変更された他者固有鍵を，上記自己固有鍵で暗号化して新暗号化他者固有鍵を生成し，生成した新暗号化他者固有鍵を上記クライアントに配信する。
【００１０】
新暗号化他者固有鍵を受信したクライアントでは，上記固有データ記憶手段に記憶されている暗号化他者固有鍵を，受信した上記新暗号化他者固有鍵と置換する。
【００１１】
第１の発明による暗号システムは，ネットワークを介して相互に接続される鍵管理サーバとクライアントから構成される暗号システムである。上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えている。上記クライアントは，上記ＩＤと，上記ＩＤに対応する自己固有鍵と，上記ＩＤに対応する他者固有鍵を上記自己固有鍵で暗号化して生成された暗号化他者固有鍵とを記憶する固有データ記憶手段を備えている。上記鍵管理サーバはさらに，上記クライアントから送信されるＩＤに対応する他者固有鍵が，上記管理データベースにおいて変更されているかどうかを判定する第１の判定手段，および上記第１の判定手段によって他者固有鍵が変更されていることが判定された場合に，上記変更された他者固有鍵を，上記管理データベースに記憶された上記ＩＤに対応する自己固有鍵で暗号化して新暗号化他者固有鍵を生成し，生成した新暗号化他者固有鍵を上記クライアントに配信する第１の配信手段を備えている。上記クライアントはさらに，上記固有データ記憶手段に記憶されている暗号化他者固有鍵を，受信した上記新暗号化他者固有鍵と置換する第１の置換手段を備えている。
【００１２】
鍵管理サーバの管理データベースには，ユーザごとに固有のＩＤと，自己固有鍵と，他者固有鍵とが記憶されている。クライアントは，管理データベースにおいて管理されているＩＤと自己固有鍵とを備え，さらに他者固有鍵を自己固有鍵で暗号化して生成された暗号化他者固有鍵が備えられる。もちろん，ＩＤごとに自己固有鍵は異なるものとされる。ＩＤによって特定されるユーザ（たとえば企業等の社員）ごとに自己固有鍵が割り当てられる。
【００１３】
他者固有鍵は，たとえば，部下である者の自己固有鍵である。上司（上司が操作するクライアント）は，暗号化された部下の自己固有鍵（部下固有鍵）を持つことになる。他者固有鍵は，上司である者の自己固有鍵であってもよい。この場合には，部下（部下が操作するクライアント）は暗号化された上司の自己固有鍵（上司固有鍵）を持つことになる。いずれにしても，企業等における管理体制に合わせて，管理データベースにおいて他者固有鍵が管理される。以下の説明では，分かりやすくするために，他者固有鍵は部下の自己固有鍵（部下固有鍵）であるとする。
【００１４】
暗号化他者固有鍵（暗号化部下固有鍵）は，自己固有鍵で暗号化されたものであるので，クライアントに備えられた自己固有鍵で復号することによって暗号化他者固有鍵（暗号化部下固有鍵）から他者固有鍵（部下固有鍵）を得ることができる。すなわち，上司は部下の自己固有鍵を得ることができる。部下が自己固有鍵で作成した暗号文を，上司は復号することができる。
【００１５】
第１の発明によると，ユーザごとに固有のＩＤが，クライアントから鍵管理サーバに送信され，鍵管理サーバは送信されたＩＤに対応して管理データベースに格納されている他者固有鍵（部下固有鍵）の変更の有無が判定される。部下固有鍵が変更されていれば，その変更されている部下固有鍵が上記ＩＤに対応する自己固有鍵で暗号化されてクライアントに配信される。クライアントでは受信された暗号化部下固有鍵が，既にクライアントに備えられている暗号化部下固有鍵と置換される。
【００１６】
管理データベースにおいて，ＩＤに対応する部下固有鍵が変更されていると，その変更後の部下固有鍵がクライアントに反映される。たとえば，部下であった者が昇進して部下でなくなったような場合に上司である者の操作するクライアントの固有データ記憶手段の内容が新たな管理体制における内容となる（部下でなくなった者の自己固有鍵を暗号化したものが固有データ記憶手段から消去される）。上司となった者についてのクライアントでは，新たに部下となった者の自己固有鍵を暗号化したものが，固有データ記憶手段に新たに記憶される。
【００１７】
このようにこの発明によると，企業等における管理体制の変化（社員の昇進，降格，新人の加入等）に応じて管理データベースの内容が変更されると，その変更がクライアントに反映される。鍵管理サーバ（管理データベース）を管理することによってクライアントを含めた暗号システムの全体の鍵管理を行うことができる。
【００１８】
第１の発明の第２の形態では，上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵とを記憶した管理データベースを備え，上記クライアントは，上記ＩＤと，上記ＩＤに対応する自己固有鍵とを記憶する固有データ記憶手段を備えている。
【００１９】
上記鍵管理サーバは，上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，新たな自己固有鍵である更新自己固有鍵が記憶されているかどうかを判定する。上記更新自己固有鍵が記憶されていることが判定された場合に，上記更新自己固有鍵を，上記自己固有鍵で暗号化して暗号化更新固有鍵を生成し，生成した暗号化更新固有鍵を上記クライアントに配信する。暗号化更新固有鍵を受信したクライアントは，上記暗号化更新固有鍵を，固有データ記憶手段に記憶されている自己固有鍵で復号し，復号によって得られた更新自己固有鍵を上記自己固有鍵と置換する。
【００２０】
第１の発明の第２の形態によると，管理データベースにおいて新たな自己固有鍵（更新自己固有鍵）が記憶されていると，その更新自己固有鍵が自己固有鍵で暗号化された状態で，鍵管理サーバからクライアントに配信される。暗号化された更新自己固有鍵を受信したクライアントは，暗号化に用いられた自己固有鍵を備えているので，暗号化更新自己固有鍵を復号することによって更新自己固有鍵を得ることができる。
【００２１】
たとえば，クライアントの所有者（ユーザ）が自己固有鍵を紛失，消去等した場合に，管理データベースに更新自己固有鍵が作成される。クライアントには暗号化された更新自己固有鍵が配信され，それがクライアントにおいて復号される。更新固有鍵（新たな自己固有鍵）が用いられて，その後，平文の暗号化，暗号文の復号が行われる。紛失等によって漏洩する虞のある鍵（自己固有鍵）の変更を，鍵管理サーバの管理データベースの管理によって簡易に行うことができる。
【００２２】
好ましくは，上述の第１の発明または第１の発明の第２態様において，上記鍵管理サーバは，上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，自己固有鍵の失効を表すデータが記憶されているかどうかを判定し，上記失効を表すデータが記憶されていることが判定された場合には，上記クライアントから送信されるＩＤに対応する他者固有鍵が上記管理データベースにおいて変更されているかどうかを判定することなく，かつ上記管理データベースにおいて新たな自己固有鍵である更新自己固有鍵が記憶されているかどうかを判定することなく，上記失効を表すデータを上記クライアントに送信する。そして，上記失効を表すデータを受信したクライアントは，上記固有データ記憶手段に記憶されている自己固有鍵と暗号化他者固有鍵とを，上記固有データ記憶手段から消去する。辞職，退職等によって組織を離れたユーザのクライアントから，自己固有鍵（更新自己固有鍵）および暗号化他者固有鍵（暗号化部下固有鍵）を消去することによって，組織を離れたユーザによる暗号化処理／復号処理を行うことができなくすることができる。このような不正利用の防止も，鍵管理サーバの管理データベースを管理すればよく，個々のクライアントにおいて自己固有鍵等を消去するといった作業は必要とされない。
【００２３】
第２の発明による暗号システムの制御方法は，ネットワークを介して相互に接続される鍵管理サーバとクライアントとから構成される暗号システムの制御方法である。上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵とを記憶した管理データベースを備えている。上記クライアントは，上記ＩＤと，上記ＩＤに対応する自己固有鍵とを記憶する固有データ記憶手段を備えている。上記鍵管理サーバは，上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，新たな自己固有鍵である更新自己固有鍵が記憶されているかどうかを判定する。上記更新自己固有鍵が記憶されていないことを判定した場合には，上記管理データベースに記憶されている自己固有鍵で上記他者固有鍵を暗号化して暗号化他者固有鍵を生成し，生成した暗号化他者固有鍵を上記クライアントに配信する。上記更新自己固有鍵が記憶されていることを判定した場合には，上記更新自己固有鍵で上記他者固有鍵を暗号化して暗号化他者固有鍵を生成し，上記自己固有鍵で上記更新自己固有鍵を暗号化して暗号化更新自己固有鍵を生成し，生成した暗号化他者固有鍵と暗号化更新自己固有鍵とを上記クライアントに配信する。
【００２４】
上記クライアントは鍵一時記憶手段を備えている。上記鍵管理サーバから上記暗号化他者固有鍵が配信された場合には，配信された暗号化他者固有鍵を上記固有データ記憶手段に記憶されている自己固有鍵で復号し，復号によって得られた他者固有鍵を上記鍵一時記憶手段に記憶する。他方，上記暗号化他者固有鍵と暗号化更新自己固有鍵とが配信された場合には，配信された暗号化更新自己固有鍵を上記固有データ記憶手段に記憶されている自己固有鍵で復号し，復号によって得られた更新自己固有鍵を上記自己固有鍵と置換し，配信された暗号化他者固有鍵を置換された自己固有鍵で復号し，復号によって得られた他者固有鍵を上記鍵一時記憶手段に記憶する。
【００２５】
第２の発明によると，上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，新たな自己固有鍵である更新自己固有鍵が記憶されているかどうかが判定される。
【００２６】
上記更新自己固有鍵が記憶されていないことが判定されると，上記管理データベースに記憶されている自己固有鍵で上記他者固有鍵が暗号化されて暗号化他者固有鍵が生成され，生成された暗号化他者固有鍵が上記クライアントに配信される。クライアントに備えられた自己固有鍵で暗号化他者固有鍵を復号して他者固有鍵（部下固有鍵）を得ることができる。部下が作成した暗号文を復号することができる。
【００２７】
上記更新自己固有鍵が記憶されていることが判定されると，上記更新自己固有鍵で上記他者固有鍵が暗号化されて暗号化他者固有鍵が生成され，上記自己固有鍵で上記更新自己固有鍵が暗号化されて暗号化更新自己固有鍵が生成される。暗号化他者固有鍵と暗号化更新自己固有鍵とが上記クライアントに配信される。配信された暗号化更新自己固有鍵が上記固有データ記憶手段に記憶されている自己固有鍵で復号され，復号によって得られた更新自己固有鍵が上記自己固有鍵と置換される。さらに，配信された暗号化他者固有鍵が置換された自己固有鍵（更新自己固有鍵）で復号される。このようにして，更新自己固有鍵は暗号化されて安全にクライアントに配信される。他者固有鍵も更新自己固有鍵で暗号化されて安全にクライアントに配信される。暗号化他者固有鍵（暗号化部下固有鍵）を復号によって得られる他者固有鍵（部下固有鍵）で，部下の作成した暗号文を復号することできる。
【００２８】
この発明によると，ユーザ（ユーザの操作するクライアント）には部下の作成した暗号文の復号に用いられる他者固有鍵はあらかじめクライアントに備えられるのではなく，必要な場合に鍵管理サーバから配信される。他者固有鍵の安全性が高められる。他者固有鍵は暗号化されて鍵管理サーバからクライアントに配信されるので，ネットワーク配信中に盗まれて不正利用されてしまう可能性も低い。
【００２９】
クライアントが得る他者固有鍵は，鍵一時記憶手段に記憶される。好ましくは，平文の暗号化処理または暗号文の復号処理を終えた後に，上記鍵一時記憶手段に記憶されている他者固有鍵を消去するとよい。他者固有鍵の漏洩の防止効果が高められる。
【００３０】
第２の発明においても，上記鍵管理サーバにおいて，上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，自己固有鍵の失効を表すデータが記憶されているかどうかを判定させ，上記失効を表すデータが記憶されていることが判定された場合には，上記管理データベースにおいて更新自己固有鍵が記憶されているかどうかを判定することなく，上記失効を表すデータを上記クライアントに送信してもよい。上記失効を表すデータを受信したクライアントでは，上記固有データ記憶手段に記憶されている自己固有鍵が，上記固有データ記憶手段から消去される。辞職，退職したようなユーザによる暗号システムの不正利用を未然に防止することができる。
【００３１】
第３の発明による暗号システムの制御方法は，ネットワークを介して相互に接続される鍵管理サーバとクライアントから構成される暗号システムの制御方法である。上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵を生成するための公開鍵／秘密鍵生成手段によってクライアントにおいて生成される公開鍵を記憶した管理データベースを備えている。上記クライアントは上記ＩＤを記憶した固有データ記憶手段および公開鍵／秘密鍵生成手段を備えている。
【００３２】
上記クライアントは，あらかじめ公開鍵／秘密鍵生成手段によって公開鍵および秘密鍵を生成し，生成された公開鍵と上記固有データ記憶手段に記憶されているＩＤとを上記鍵管理サーバに送信する。
【００３３】
鍵管理サーバへの公開鍵の送信は，初期状態（クライアントの立上げ時等）において１回のみ行うのが好ましい。鍵管理サーバの管理データベースにはクライアントにおいて生成された公開鍵が記憶される。その後においては，クライアントから鍵管理サーバにはＩＤのみが送信される。
【００３４】
ＩＤを受信した上記鍵管理サーバは，受信したＩＤに対応して，上記管理データベースにおいて自己固有鍵の失効を表すデータが記憶されているかどうかを判定する。上記失効を表すデータが記憶されていないことを判定した場合には，上記公開鍵で自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成した暗号化自己固有鍵と暗号化他者固有鍵とを上記クライアントに配信する。
【００３５】
上記失効を表すデータが記憶されていることを判定した場合には，失効を表すデータを上記クライアントに送信する。
【００３６】
上記クライアントは，上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵を受信した場合には，受信した暗号化自己固有鍵および暗号化他者固有鍵を，上記公開鍵／秘密鍵生成手段によって生成された上記秘密鍵で復号し，復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶する。上記鍵管理サーバから失効を表すデータを受信した場合には，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する。
【００３７】
第３の発明によると，クライアントには自己固有鍵および他者固有鍵（暗号化他者固有鍵）のいずれも備えられない。暗号システムの安全性はさらに高いものになる。平文の暗号化および暗号文の復号に用いられる自己固有鍵と，部下の作成した暗号文の復号に用いられる他者固有鍵（部下固有鍵）は公開鍵によって暗号化されて鍵管理サーバから送信されるので，公開鍵と対の秘密鍵を持つユーザ以外の者が暗号化自己固有鍵または暗号化他者固有鍵を入手したとしても，それが復号されて利用されてしまう可能性は低い。
【００３８】
第３の発明において，ユーザが辞職等したような場合には鍵管理サーバの管理データベースには失効を表すデータが記憶される。失効を表すデータがクライアントに送信される場合には，暗号化自己固有鍵も，暗号化他者固有鍵もクライアントには配信されない。そのようなクライアントでは，平文の暗号化および暗号文の復号を行うことはできない。
【００３９】
第３の発明においても，上記クライアントにおいて平文の暗号化処理または暗号文の復号処理を終えた後に，一時的に記憶されている自己固有鍵および他者固有鍵を消去するとよい。クライアントにおいて復号されて生成される自己固有鍵および他者固有鍵の不正利用を防止することができる。また，第３の発明のように，あらかじめクライアントにおいて公開鍵と秘密鍵の対を生成し，公開鍵を鍵管理サーバの管理データベースに保持させ，かつ秘密鍵をクライアントに保持させておけば，第三者が他人のＩＤを用いてそのユーザになりすましたとしても，秘密鍵を持たない第三者では暗号化処理および復号処理を行うことができない。第三者によるなりすましも防止することができる。
【００４０】
クライアントにおいて暗号化処理または復号処理を行う度に，クライアントにおいて公開鍵／秘密鍵を生成してもよい。この場合には，クライアントから鍵管理サーバには，暗号化または復号が行われる度に公開鍵とＩＤとの対が送信される。もちろん，クライアントにおいて公開鍵と秘密鍵の対をあらかじめ生成しておき，あらかじめ生成された公開鍵を暗号化または復号が行われる度に鍵管理サーバに送信するようにすることも可能である。
【００４１】
第４の発明による暗号システムの制御方法は，ネットワークを介して相互に接続される鍵管理サーバとクライアントから構成される暗号システムの制御方法である。上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵と，そのユーザ以外の他者の自己固有鍵である他者固有鍵と，公開鍵暗号方法における公開鍵および秘密鍵の対とを記憶した管理データベースを備えている。上記クライアントは，上記ＩＤと，上記秘密鍵とを記憶した固有データ記憶手段を備えている。上記鍵管理サーバは，上記クライアントから送信されるＩＤに対応して，上記管理データベースにおいて，自己固有鍵の失効を表すデータが記憶されているかどうかを判定する。上記失効を表すデータが記憶されていないことを判定した場合には，上記管理データベースに記憶されている上記公開鍵で，上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成した暗号化自己固有鍵と暗号化他者固有鍵とを上記クライアントに配信する。上記失効を表すデータが記憶されていることを判定した場合には，失効を表すデータを上記クライアントに送信する。上記クライアントは，上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵を受信した場合には，受信した暗号化自己固有鍵および暗号化他者固有鍵を上記固有データ記憶手段に記憶された上記秘密鍵で復号し，復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶する。上記鍵管理サーバから失効を表すデータを受信した場合には，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する。
【００４２】
第４の発明では，鍵管理サーバの管理データベースに，ユーザごとの公開鍵と秘密鍵の対が用意される。クライアントにはＩＤと秘密鍵とが用意される。クライアントからＩＤが送信されると，鍵管理サーバはＩＤに対応する公開鍵で自己固有鍵と他者固有鍵とを暗号化してクライアントに送信する。自己固有鍵および他者固有鍵の暗号化に用いられる公開鍵に対応する秘密鍵を持つユーザのみが，暗号化処理および復号処理を行うことができる。
【００４３】
第５の発明による暗号システムの制御方法は，ネットワークを介して相互に接続される鍵管理サーバとクライアントから構成される暗号システムの制御方法である。上記鍵管理サーバは，ユーザごとに，そのユーザに固有のＩＤと，そのユーザによる平文の暗号化処理および暗号文の復号処理に用いられる自己固有鍵とそのユーザ以外の他者の自己固有鍵である他者固有鍵と秘密データとを記憶した管理データベースと，公開鍵暗号方法における第１の公開鍵および第１の秘密鍵の対を生成する第１の公開鍵／秘密鍵生成手段を備えている。上記クライアントは，上記ＩＤと上記秘密データとを記憶した固有データ記憶手段と，公開鍵暗号方法における第２の公開鍵および第２の秘密鍵の対を生成する第２の公開鍵／秘密鍵生成手段を備えている。
【００４４】
上記クライアントは，第２の公開鍵／秘密鍵生成手段によって第２の公開鍵および第２の秘密鍵を生成し，生成された第２の公開鍵と上記固有データ記憶手段に記憶されているＩＤとを上記鍵管理サーバに送信する。第２の公開鍵とＩＤとを受信した上記鍵管理サーバは，受信したＩＤに対応して，上記管理データベースにおいて，自己固有鍵の失効を表すデータが記憶されているかどうかを判定する。
【００４５】
上記失効を表すデータが記憶されていないことが判定された場合には，上記第１の公開鍵／秘密鍵生成手段によって第１の公開鍵および第１の秘密鍵を生成し，受信した第２の公開鍵で生成した第１の公開鍵を暗号化して暗号化第１の公開鍵を生成し，生成した暗号化第１の公開鍵を上記クライアントに配信する。
【００４６】
暗号化第１の公開鍵を受信したクライアントは，上記第２の秘密鍵で受信した暗号化第１の公開鍵を復号して第１の公開鍵を生成し，生成した第１の公開鍵で上記固有データ記憶手段に記憶されている上記秘密データを暗号化して暗号化秘密データを生成し，生成した暗号化秘密データを上記鍵管理サーバに送信する。暗号化秘密データを受信した上記鍵管理サーバは，受信した暗号化秘密データを上記第１の秘密鍵で復号して秘密データを得，得られた秘密データが上記管理データベースに記憶されている秘密データと同じであることを条件に，受信した第２の公開鍵で上記管理データベースに記憶されている自己固有鍵と他者固有鍵とを暗号化して暗号化自己固有鍵および暗号化他者固有鍵を生成し，生成した暗号化自己固有鍵および暗号化他者固有鍵を上記クライアントに配信する。
【００４７】
他方，上記失効を表すデータが記憶されていることが判定された場合には，失効を表すデータが上記クライアントに送信される。
【００４８】
上記クライアントは，上記鍵管理サーバから暗号化自己固有鍵および暗号化他者固有鍵が配信された場合には，配信された暗号化自己固有鍵および暗号化他者固有鍵を上記固有データ記憶手段に記憶された上記秘密鍵で復号し，復号によって得られた自己固有鍵および他者固有鍵を一時的に記憶する。上記鍵管理サーバから失効を表すデータを受信した場合には，平文の暗号化処理および暗号文の復号処理を許可することなく処理を終了する。
【００４９】
第５の発明では，鍵管理サーバとクライアントのそれぞれに，公開鍵／秘密鍵生成手段が設けられる。第３の発明および第４の発明と同様に，第三者が他人のＩＤを入手してなりすましを図る行為を未然に防止することができる。また，管理データベースにあらかじめ記憶される秘密データと，クライアントから鍵管理サーバに送信される秘密データ（送信時には暗号化される）の一致を条件に暗号化自己固有鍵および暗号化他者固有鍵がクライアントに配信されるので，鍵管理サーバにアクセスした者が，暗号システムの正当なユーザであるかどうかの確認を強力に行うことができる。
【００５０】
この発明はさらに，第１〜第５の発明において用いられる鍵管理サーバ，クライアント，これらの制御方法，制御プログラムおよび制御プログラムを記録した媒体も提供している。プログラム記録媒体には，磁気ディスク，光ディスク，光磁気ディスク，半導体メモリ等が含まれる。
【００５１】
【実施例】
第１実施例
(1) 暗号システムの基本態様
図１は第１実施例の暗号システムの全体的構成を示すブロック図である。この暗号システムは，鍵管理サーバ・コンピュータ（以下，鍵管理サーバという）10と，複数のクライアント・コンピュータ（ユーザ端末）（以下，クライアントという）（図１に示す暗号システムでは，４台のクライアント20，30，40および50が示されている）と，鍵管理サーバ10と複数のクライアントとを接続するネットワーク１（専用回線および公衆回線のいずれをも含む）とから構成されている。
【００５２】
暗号システムでは，企業等における管理体制に適した鍵管理が行われる。企業等における一般的な管理体制を図２に示す。企業等では，社長をトップに，その下に部長，課長，係長といった階層的な管理体制がとられている。暗号システムでは，社長，部長，課長，係長等の役職を問わず，企業等に属する社員のそれぞれが，１台のクライアントを持つことを前提とする。以下の説明では，暗号システムの内容を分かりやすくするために，１台の鍵管理サーバ10と，４台のクライアント20〜50によって暗号システムが構成されているものとする。そして，クライアント20が部長である社員Ａ（部長Ａ）が利用するコンピュータ，クライアント30が課長である社員Ｂ（課長Ｂ）が利用するコンピュータ，クライアント40が課長である社員Ｃ（課長Ｃ）が利用するコンピュータ，クライアント50が係長である社員Ｄ（係長Ｄ）が利用するコンピュータであるとする。
【００５３】
暗号システムでは，後述するように，企業等の社員のそれぞれに固有鍵が配布される。社員は，クライアントを用いて，自己の固有鍵で平文ファイルを暗号化して暗号文ファイルを作成することができる。また，作成された暗号文ファイルを自己の固有鍵で平文ファイルに復号することができる（この意味で，固有鍵は暗号化／復号鍵と言える）。さらに，暗号システムでは，後述するように，上司が部下（社長に対する部長，課長，係長等，部長に対する課長，係長等，課長に対する係長等）の作成した暗号文ファイルを復号することができるように，上司が部下の固有鍵を自己の固有鍵で暗号化した鍵（暗号化復号鍵と呼ぶ）を持つことを特徴とする。
【００５４】
図３は，図１に示す暗号システムの全体的構成をより詳細に示すブロック図である。図３に示す暗号システムでは，複数台のクライアントのうち２台のクライアント（クライアント20およびクライアント30）のみが示されている。
【００５５】
鍵管理サーバ10は，制御装置11，第１記憶装置12，第２記憶装置13およびフロッピィディスク・ドライブ（以下，ＦＤＤという）14を含む。制御装置11は，ＣＰＵ，メモリ（ＲＡＭ），通信装置（モデム，ターミナル・アダプタ，ルータ等），入力装置（キーボード，マウス等），表示装置（ＣＲＴディスプレイ，ＬＣＤ等）を備えたコンピュータ・システムである。第１記憶装置12および第２記憶装置13には，一般的にはハードディスク（ドライブ）が用いられる。第１記憶装置12および第２記憶装置13はそれぞれ異なるハードディスクであってもよいし，１つのハードディスク中に２つの異なる領域を設け，２つの領域のそれぞれを第１記憶装置12および第２記憶装置13と位置づけてもよい。
【００５６】
鍵管理サーバ10の第１記憶装置12には管理データベース15が設けられている。管理データベース15は，企業等の社員のそれぞれについて，ＩＤ，固有鍵，復号鍵等を記憶したデータベースである（詳細は後述する）。第２記憶装置13には，管理データ作成プログラム，固有データ作成プログラムおよび鍵配信プログラムが記憶されている。これらのプログラムの処理（これらのプログラムによって制御される鍵管理サーバ10の動作）についても後述する。
【００５７】
クライアント20（社員Ａ（部長Ａ）のコンピュータ）は，ＣＰＵ，メモリ（ＲＡＭ），通信装置，入力装置，表示装置等を含む制御装置21，記憶装置22およびＦＤＤ23を備えている。クライアント30（社員Ｂ（課長Ｂ）のコンピュータ）も，クライアント20の同様のハードウエア構成（制御装置31，記憶装置32およびＦＤＤ33）を持つ。クライアント20の記憶装置22およびクライアント30の記憶装置32には，いずれも暗号化プログラム，復号プログラムおよび鍵更新プログラムが記憶されている。暗号化プログラムによって平文ファイルから暗号文ファイルが作成され，復号プログラムによって暗号文ファイルが平文ファイルに復号される。暗号化プログラムおよび復号プログラムのサブ・プログラムとして，鍵更新プログラムが用いられる。暗号化プログラム，復号プログラムおよび鍵更新プログラムの処理の詳細については後述する。
【００５８】
部長Ａには固有データ25が記録されたＦＤ24が，課長Ｂには固有データ35が記録されたＦＤ34が，鍵管理サーバ10の管理者からそれぞれあらかじめ配布されている。課長Ｃおよび係長Ｄにも，固有データが記録されたＦＤ（図示略）がそれぞれあらかじめ配布されている。ＦＤ24，34等への固有データの記録は，後述するように，鍵管理サーバ10において行われる。
【００５９】
図４(A) は部長Ａが所持するＦＤ24に記録された固有データ25の一例を，図４(B) は課長Ｂが所持するＦＤ34に記録された固有データ35の一例をそれぞれ示している。図４(C) は課長Ｃが所持するＦＤに記録された固有データ45の一例を，図４(D) は係長Ｄが所持するＦＤに記録された固有データ55の一例を，それぞれ示している。
【００６０】
各社員に配布されるＦＤには，ＩＤおよび固有鍵が記録されている。
【００６１】
「ＩＤ」は，暗号システムにおいて社員のそれぞれを特定するためのユニークな識別符号（番号）である。ＩＤ「１」が社員Ａ（部長Ａ）を，ＩＤ「２」が社員Ｂ（課長Ｂ）を，ＩＤ「３」が社員Ｃ（課長Ｃ）を，ＩＤ「４」が社員Ｄ（係長Ｄ）を，それぞれ表している。
【００６２】
「固有鍵」は，上述のように，社員のそれぞれに与えられる暗号化／復号鍵（乱数データ）である。固有鍵は，平文ファイルから暗号文ファイルを作成するため，および暗号文ファイルを平文ファイルに復号するために用いられる。たとえば，社員Ａ（部長Ａ）の所持するＦＤ24に記録されている固有データ25（以下，社員Ａの固有データ25という；他の固有データについても同じ）は，固有鍵ＳＫ１を含む。社員Ａ（部長Ａ）が平文ファイルを暗号化して暗号文ファイルを作成するとき，およびその暗号文ファイルを復号するときに固有鍵ＳＫ１が用いられる。
【００６３】
部下を持つ社員（上司）のＦＤにはさらに，部下の数と同じ数の暗号化復号鍵が記録されている。暗号化復号鍵は，部下の固有鍵を自己の固有鍵を用いて暗号化したものである。たとえば，部長Ａは，課長Ｂ，課長Ｃおよび係長Ｄの３人を部下に持つ。課長Ｂ，課長Ｃおよび係長Ｄの固有鍵は，それぞれＳＫ２，ＳＫ３，ＳＫ４である。部長Ａの固有データ25は，固有鍵ＳＫ２，ＳＫ３およびＳＫ４を，部長Ａの固有鍵ＳＫ１を用いて暗号化することによって生成された３つの暗号化復号鍵ＳＫ２＜ＳＫ１＞，ＳＫ３＜ＳＫ１＞およびＳＫ４＜ＳＫ１＞を含んでいる。同じように，課長Ｂの固有データ35は，部下である係長Ｄの固有鍵ＳＫ４を部長Ｂの固有鍵ＳＫ２で暗号化して生成された暗号化復号鍵ＳＫ４＜ＳＫ２＞を含んでいる。課長Ｃの固有データ45は，部下である係長Ｄの固有鍵ＳＫ４を課長Ｃの固有鍵ＳＫ３で暗号化して生成された暗号化復号鍵ＳＫ４＜ＳＫ３＞を含んでいる。係長Ｄは部下を持たないので，係長Ｄの固有データ55には暗号化復号鍵は含まれていない。
【００６４】
上述したように，暗号システムでは，上司が部下（社長に対する部長，課長，係長等，部長に対する課長，係長等，課長に対する係長等）の作成した暗号文ファイルを復号することができる。すなわち，暗号システムの利用ユーザ（社員）のうち，部下を有する上司は，暗号化復号鍵を自己の固有鍵を用いて復号することによって部下の固有鍵（これを，特に復号鍵と呼ぶ）を得ることができる。このため，上司は部下が作成した暗号文ファイルを復号鍵を用いて復号することができる。
【００６５】
暗号システムにおいて，企業等の社員のそれぞれが持つ固有データは，鍵管理サーバ10の第１記憶装置12に設けられる管理データベース15を利用して作成される。図５は管理データベース15の一例を示すものである。
【００６６】
管理データベース15には，複数の社員についての管理データが記憶されている。管理データには，「ＩＤ」，「更新フラグ」，「失効フラグ」，「固有鍵」，「更新固有鍵」，「復号鍵１」，「復号鍵２」，「復号鍵３」等が含まれている。
【００６７】
「ＩＤ」は，上述したように，暗号システムを利用する企業等の社員を識別するものであり，社員に１対１に対応付けられる識別符号（数字）である。
【００６８】
「更新フラグ」には，フラグ「Ｆ」またはフラグ「ＦＳ」のいずれかが格納される。たとえば，係長が課長に昇格した場合，課長が部長に昇格した場合，課長が係長に降格した場合等，社員の役職が変動した場合には，後述するように，管理データ中の復号鍵の内容が変更される。このような場合に，更新フラグ「Ｆ」が格納される。また，社員が自己の固有鍵を紛失したような場合には，その社員に対して新たな固有鍵が割当てられる。この場合には更新フラグ「ＦＳ」が格納される。
【００６９】
「失効フラグ」には，社員が会社を退職または辞職したような場合に，その社員の固有鍵が失効したことを示すフラグ（失効フラグ「ＦＦ」）が格納される。
【００７０】
「固有鍵」は，上述のように，社員のそれぞれに与えられる暗号化／復号鍵である。
【００７１】
「更新固有鍵」には，社員が固有鍵を紛失（失念）した場合にその社員に対して新たに割当てられる固有鍵（これを更新固有鍵と呼ぶ）が格納される。
【００７２】
「復号鍵」には，部下（部長に対する課長および係長，課長に対する係長等）の固有鍵（または更新固有鍵）が格納される。複数の部下を有する上司の管理データには，基本的には部下の数と同じ数の復号鍵（復号鍵１，復号鍵２，復号鍵３‥‥）が格納される。
【００７３】
図６は，鍵管理サーバ10の第２記憶装置13に記憶された管理データ作成プログラムの処理の流れを示すフローチャートである。管理データ作成プログラムにしたがって，上述の管理データベース15に管理データが記憶される。
【００７４】
鍵管理サーバ10の管理者が入力装置から管理データ作成プログラムの起動命令を入力すると，鍵管理サーバ10の第２記憶装置13から管理データ作成プログラムが読出されてＣＰＵに読込まれる。管理データ作成プログラムが実行される。
【００７５】
はじめに，鍵管理サーバ10の管理者によって，鍵管理サーバ10の入力装置から暗号システムの利用ユーザ（社員）の氏名等のユーザ（社員）情報が入力される（ステップ101 ）。社員情報の入力が終了すると，そのユーザについてＩＤが採番される。第１記憶装置12に設けられた管理データベース15のＩＤ欄に，採番されたＩＤが登録される（ステップ102 ）。
【００７６】
乱数が生成される。生成された乱数が，登録されたＩＤに対応する固有鍵として固有鍵欄に登録される（ステップ103 ）。
【００７７】
管理データの一覧表（管理データベース15の全体）が表示装置の表示画面に表示される（ステップ104 ）。部下についての管理データが既に管理データベース15に登録されている場合には，表示画面にはその部下の固有鍵がアイコン等によって表示される。鍵管理サーバ10の管理者は，上司についての管理データの復号鍵欄に，部下の固有鍵を登録する（ステップ105 ）。
【００７８】
他の社員についての管理データを登録する場合には，上述の操作が繰返される（ステップ106 でNO，ステップ101 ）。すべての社員についてのデータ入力が終了すると，管理データベース15が完成する（図５参照）。鍵管理サーバ10の管理者は管理データ作成プログラムの処理を終了する（ステップ106 でYES ）。
【００７９】
図７は，固有データ作成プログラムの処理の流れを示すフローチャートである。各社員に配布されるＦＤに記録される固有データが，鍵管理サーバ10において実行される固有データ作成プログラムによって作成される。
【００８０】
鍵管理サーバ10の管理者が固有データ作成プログラムの起動命令を鍵管理サーバ10の入力装置に入力すると，第２記憶装置13から固有データ作成プログラムが読出されてＣＰＵに読込まれる。固有データ作成プログラムが実行される。
【００８１】
はじめに管理データ（管理データベース15の全体；図５参照）が，表示装置の表示画面に一覧に表示される（ステップ111 ）。
【００８２】
一覧表示されている管理データの中から，管理者によっていずれかのＩＤが選択される（ステップ112 ）。選択されたＩＤ（ＩＤによって特定される社員）についての固有データの作成処理が開始される。
【００８３】
選択されたＩＤと，そのＩＤに対応する固有鍵とが，ＦＤＤに装着されているＦＤに記録（コピー）される（ステップ113 ）。
【００８４】
選択されたＩＤに対応する管理データ中の復号鍵（部下の固有鍵）が，選択されたＩＤに対応する固有鍵を用いて暗号化される。暗号化復号鍵が生成される（ステップ114 ）。
【００８５】
生成された暗号化復号鍵がＦＤに記録される（ステップ115 ）。これで固有データ作成プログラムの１回のルーチンが終了する（ステップ116 ）。他のＩＤ（社員）についての固有データを作成する場合には，鍵管理サーバ10の管理者は上述の処理を繰返す（ステップ116 でNO）。新たなＦＤがＦＤＤに装着されて，そのＦＤに新たな固有データが記録される。
【００８６】
たとえば，固有データの作成対象のＩＤとして図５に示す管理データベース15におけるＩＤ「１」（部長Ａを表すＩＤ）が選択されたとする。ＦＤには，ＩＤ「１」と，固有鍵ＳＫ１と，復号鍵ＳＫ２，ＳＫ３およびＳＫ４を固有鍵ＳＫ１でそれぞれ暗号化することによって作成される暗号化復号鍵ＳＫ２＜ＳＫ１＞，ＳＫ３＜ＳＫ１＞およびＳＫ４＜ＳＫ１＞とが記録される（図４(A) ）。ＩＤ「４」（係長Ｄを表すＩＤ）が選択された場合には，ＦＤには，ＩＤ「４」と固有鍵ＳＫ４とが記録される（図４(D) ）。係長Ｄの固有データには復号鍵が含まれていないので，ステップ114 ，115 はスキップされる。
【００８７】
固有データ（ＩＤ，固有鍵（および暗号化復号鍵））が記録されたＦＤが，そのＦＤに記録されたＩＤによって特定される社員に配布される。
【００８８】
たとえば，クライアント30の利用者である課長ＢがＦＤ34（図４(B) の固有データ35が記録されている）を受取る。暗号文ファイルを作成する場合には，暗号化プログラムにしたがって，ＦＤ34に記録されている固有鍵ＳＫ２が用いられて暗号文ファイルが作成される。クライアント30において作成された暗号文ファイルは，復号プログラムにしたがって，固有鍵ＳＫ２を用いて復号することができる。さらに，課長Ｂの上司である部長Ａは，課長Ｂの固有鍵ＳＫ２を，部長Ａ（自己）の固有鍵ＳＫ１で暗号化した暗号化復号鍵ＳＫ２＜ＳＫ１＞が記録されたＦＤ24を所持している。固有データ作成プログラムにおいて暗号化復号鍵を作成するための暗号化処理（図７のステップ114 ）のアルゴリズムと，部長Ａのクライアント20の記憶装置22に記憶された復号プログラムの復号処理のアルゴリズムとを同じアルゴリズムとしておくことによって，部長Ａは，クライアント20を用いて固有鍵ＳＫ１で暗号化復号鍵ＳＫ２＜ＳＫ１＞を復号して復号鍵ＳＫ２（＝固有鍵ＳＫ２＝課長Ｂの固有鍵）を得ることができる。部長Ａは，課長Ｂがクライアント30を用いて作成した暗号文ファイルを復号することができる。
【００８９】
他方，部長Ａの部下である課長Ｂは，部長Ａの固有鍵ＳＫ１を暗号化することによって作成される暗号化復号鍵を持たない。部下である課長Ｂは，上司である部長Ａが作成した暗号文ファイルを復号することができない。
【００９０】
(2) ネットワークを利用した鍵更新処理
上述のように，鍵管理サーバ10とクライアント20〜50とは，ネットワーク１を介して相互にデータ通信可能に接続されている。そして鍵管理サーバ10の管理データベース15には，暗号システムの利用ユーザ（社員）のそれぞれに配布する鍵（固有鍵，復号鍵（配布するときには暗号化される））が記憶されている。クライアント20〜50を用いて暗号化処理または復号処理を実行するときに，クライアント20〜50からネットワーク１を利用して鍵管理サーバ10に管理データの更新情報を問合わせることによって，クライアント20〜50では常に最新の鍵情報を得ることができる。
【００９１】
管理データベース15（管理データ）の更新の態様は，次の３つに分類することができる。
【００９２】
▲１▼更新例その１（復号鍵の更新）
図８は管理データベース15の更新例を示している。図５に示す管理データベース15とは，ＩＤ「１」（社員Ａ）の管理データの内容と，ＩＤ「２」（社員Ｂ）の管理データの内容とが異なっている。
【００９３】
上述のように，暗号システムでは，上司が部下の作成した暗号文ファイルを復号することができるように，管理データベース15（管理データ）において復号鍵（＝部下の固有鍵）が管理され，かつ社員に固有データが配布される。このため，社員の役職に変動が生じると，管理データベース15（管理データ）の内容を変更し，かつ社員の有する固有データの内容を変更する必要がある。
【００９４】
社員Ｂが課長職であったとき（課長Ｂ）には，課長Ｂは部長Ａの部下であったので，部長Ａの管理データには課長Ｂの固有鍵ＳＫ２が復号鍵として含まれている（図５参照）。課長Ｂが部長に昇進すると（部長Ｂ），部長Ｂは部長Ａの部下ではなくなるので，部長Ａの固有データから復号鍵ＳＫ２が削除される（図８）。このように，復号鍵の内容が変更（更新）された場合に，その社員の管理データ中に更新フラグ「Ｆ」が格納される。
【００９５】
昇進した部長Ｂは，課長Ｃと係長Ｄの上司となる。課長Ｃの固有鍵ＳＫ３が，部長Ｂの復号鍵として復号鍵欄に新たに登録される。部長Ｂの管理データ中にも更新フラグ「Ｆ」が格納される。
【００９６】
このような管理データベース15（管理データ）の更新作業は，鍵管理サーバ10の管理者によって行われる。上述した管理データ作成プログラム（図６）の機能の一部を用いて，鍵管理サーバ10の管理者は管理データの更新作業を行うことができる。このことは，以下に説明する管理データベース15の他の更新態様例においても同じである。
【００９７】
▲２▼更新例その２（固有鍵の更新）
図９は管理データベース15の他の更新例を示している。図８に示す管理データベース15とは，ＩＤ「１」の社員（部長Ａ）の管理データの内容と，ＩＤ「２」の社員（部長Ｂ）の管理データの内容と，ＩＤ「３」の社員（課長Ｃ）の管理データの内容とがそれぞれ異なっている。
【００９８】
ＩＤ「３」の社員（課長Ｃ）が，固有鍵ＳＫ３を紛失したような場合，または盗難されたような場合（配布されたＦＤの紛失，盗難等）に，その旨が鍵管理サーバ10の管理者に通知されると，鍵管理サーバ10の管理者は課長Ｃについて新たな固有鍵（更新固有鍵：乱数データ）を作成し，課長Ｃの管理データ中の更新固有鍵欄に格納する。課長Ｃの管理データに更新固有鍵ＳＫ31（新たな固有鍵）が登録される。課長Ｃの管理データ中に更新固有鍵が格納された旨を表す更新フラグ「ＦＳ」が格納される。
【００９９】
課長Ｃの上司である部長Ａ（ＩＤ「１」）および部長Ｂ（ＩＤ「２」）の管理データにおいて，部下である課長Ｃについて新たに作成された更新固有鍵ＳＫ31が，復号鍵として新たに登録される（ＳＫ３／ＳＫ31）。部長Ａの管理データの更新フラグ欄および部長Ｂの管理データの更新フラグ欄には，それぞれ更新フラグ「Ｆ」が格納される。
【０１００】
▲３▼更新例その３（固有鍵（更新固有鍵）の失効）
図10は，管理データベース15のさらに他の更新例を示すものである。図９に示す管理データベース15とは，ＩＤ「４」の社員（係長Ｄ）の管理データの内容が異なっている。
【０１０１】
たとえば，ＩＤ「４」の社員（係長Ｄ）が退職したような場合，係長Ｄが退職した旨が鍵管理サーバ10の管理者に通知される。鍵管理サーバ10の管理者は係長Ｄ（ＩＤ「４」）についての管理データの失効フラグ欄に失効フラグ「ＦＦ」を格納する。
【０１０２】
(3) 暗号化処理／復号処理
図11はクライアントの記憶装置に記憶されている暗号化プログラムの処理の流れを示すフローチャートである。図12は鍵管理サーバ10において実行される鍵配信プログラムの処理の流れを示すフローチャートである。図13は暗号化プログラムのサブ・プログラムとして実行される鍵更新プログラムの処理の流れを示すフローチャートである。
【０１０３】
クライアントにおいて暗号化プログラムが実行された場合の処理を，図11，図12および図13を参照して説明する。
【０１０４】
クライアントの入力装置から暗号化プログラムの起動命令が入力されると，暗号化プログラムがクライアントの記憶装置から読出されてＣＰＵに読込まれる。暗号化プログラムが実行される。
【０１０５】
暗号化プログラムが実行されると，クライアントのＦＤＤに装着されているＦＤに記録されている固有データ中のＩＤが鍵管理サーバ10に送信される（ステップ121 ）。クライアントでは鍵更新プログラムの処理に進む（ステップ122 ，図13）。鍵更新プログラムは，鍵管理サーバ10から送信されるデータ（後述する）の受信を待機する（図13；ステップ161 ）。
【０１０６】
鍵管理サーバ10の鍵配信プログラム（図12）は，クライアントから送信されるＩＤの受信を待機している（ステップ142 ）。鍵管理サーバ10がクライアントからのＩＤを受信すると，鍵配信プログラムの処理が進行する（ステップ142 でYES ）。
【０１０７】
受信したＩＤを含む管理データが，第１記憶装置12に設けられている管理データベース15から読出される（ステップ143 ）。読出された管理データが制御装置11のメモリに一時的に記憶される。
【０１０８】
メモリに一時記憶されている管理データにおいて，失効フラグ「ＦＦ」または更新フラグ「Ｆ」もしくは「ＦＳ」が格納されているかどうかが判断される（ステップ144 ，ステップ145 ，ステップ146 ）。
【０１０９】
メモリに一時的に記憶されている管理データに失効フラグおよび更新フラグのいずれもが格納されていない場合（すなわち，管理データが更新されていない場合）（ステップ144 でNO，ステップ145 でNO，ステップ146 でNO）には，鍵管理サーバ10からクライアントにブランク・データが送信される（ステップ147 ）。鍵配信プログラムは再びＩＤの受信を待機する（ステップ142 ）。
【０１１０】
上述したように，クライアントにおいて暗号化プログラムによって呼び出されて起動する鍵更新プログラム（図13）は，鍵管理サーバ10から送信されるデータを待機している（ステップ161 ）。鍵管理サーバ10からブランク・データを受信すると，クライアントにおいて鍵更新プログラムの処理が進行する（ステップ161 でYES ）。失効フラグ「ＦＦ」または更新フラグ「Ｆ」もしくは「ＦＳ」のいずれもを受信していないので（ステップ162 でNO，ステップ163 でNO，ステップ164 でNO），鍵更新プログラムはそのまま処理を終了する（暗号化プログラム（図11）の処理に戻る）。
【０１１１】
失効フラグ「ＦＦ」が受信されたかどうかが再度判断される（ステップ123 ）。失効フラグ「ＦＦ」が受信されていない場合には（ステップ123 でNO），平文ファイルの入力が許可される。クライアントのユーザは，暗号化すべき平文ファイルをクライアントに入力する（ステップ124 ）。
【０１１２】
入力された平文ファイルが，ＦＤに記録されている固有鍵で暗号化されて暗号文ファイルが生成される（ステップ125 ）。所定の終了処理（保存処理等）の後，暗号化プログラムの処理が終了する。
【０１１３】
たとえば，図５に示す管理データベース15が鍵管理サーバ10の第１記憶装置12に設けられている状態で，部長Ａ（ＩＤ「１」）がクライアント20を用いて暗号化プログラムを実行した場合には，部長Ａの管理データには失効フラグおよび更新フラグのいずれもが格納されていないので，鍵管理サーバ10からクライアント20にブランク・データが送信される（図12；ステップ147 ）。クライアント20において鍵更新プログラム（図13）は特段の処理を行わない（図13；ステップ162 でNO，ステップ163 でNO，ステップ164 でNO）。部長Ａが平文ファイルをクライアント20に入力すると，入力された平文ファイルが固有鍵ＳＫ１で暗号化される。暗号文ファイルが作成される（図11；ステップ125 ）。
【０１１４】
鍵管理サーバ10のメモリに読込まれた管理データ中に更新フラグ「Ｆ」が格納されている場合には（図12；ステップ144 でNO，ステップ145 でNO，ステップ146 でYES ），鍵管理サーバ10において実行されている鍵配信プログラムは，メモリに記憶されている管理データ中の固有鍵と復号鍵とを，メモリの別の領域（ワーク・エリア）に移す。ワーク・エリアに記憶されている固有鍵で復号鍵が暗号化される（ステップ148 ）。暗号化復号鍵が作成される。更新フラグ「Ｆ」と作成された暗号化復号鍵とが，鍵管理サーバ10からクライアントに配信される（ステップ149 ）。
【０１１５】
更新フラグ「Ｆ」と暗号化復号鍵とを受信したクライアントでは，ＦＤに記憶されている暗号化復号鍵を，鍵管理サーバ10から配信された新たな暗号化復号鍵に置換する処理が行われる（図13；ステップ162 でNO，ステップ163 でNO，ステップ164 でYES ，ステップ165 ）。
【０１１６】
上述したように，管理データベース15の管理データの復号鍵の内容が変更されると，変更があった管理データ中に更新フラグ「Ｆ」が立てられる。たとえば，図５に示す管理データベース15が図８に示す管理データベース15に更新された状態において，部長Ａ（ＩＤ「１」）がクライアント20を用いて暗号化プログラムを実行すると，部長Ａの管理データには更新フラグ「Ｆ」が格納されているので，鍵管理サーバ10において部長Ａの固有鍵ＳＫ１で復号鍵ＳＫ３とＳＫ４とが暗号化される（図12；ステップ146 でYES ，ステップ148 ）。鍵管理サーバ10からクライアント20には，更新フラグ「Ｆ」と暗号化復号鍵ＳＫ３＜ＳＫ１＞およびＳＫ４＜ＳＫ２＞とが送信される（ステップ149 ）。図15(A) に示すように，クライアント20では，ＦＤ24に記録されている暗号化復号鍵（ＳＫ２＜ＳＫ１＞，ＳＫ３＜ＳＫ１＞およびＳＫ４＜ＳＫ１＞）が，受信した暗号化復号鍵（ＳＫ３＜ＳＫ１＞およびＳＫ４＜ＳＫ１＞）と置換される（図13；ステップ164 でYES ，ステップ165 ）。課長から部長に昇進した部長Ｂ（ＩＤ「２」）がクライアント30を用いて暗号化プログラムを実行すると，図15(B) に示すように，クライアント30ではＦＤ34に記録されている暗号化復号鍵（ＳＫ４＜ＳＫ２＞）が，受信した暗号化復号鍵（ＳＫ３＜ＳＫ２＞およびＳＫ４＜ＳＫ２＞）と置換される（ステップ164 でYES ，ステップ165 ）。
【０１１７】
このように，暗号システムでは，各社員に配布されている固有データの内容を，役職の変動に応じてネットワーク１を通じて変更することができるので，企業等における管理体制の変動に迅速に対応することができる。暗号化プログラムを実行することによって固有データが変更されるので，社員は固有データの変更のための処理を意識する必要はない。
【０１１８】
鍵管理サーバ10のメモリに読込まれた管理データ中に更新フラグ「ＦＳ」が格納されている場合には（図12，ステップ145 でYES ），鍵管理プログラムは，管理データ中の固有鍵と更新固有鍵と復号鍵とをメモリのワーク・エリアに移す。更新固有鍵で復号鍵が暗号化され（ステップ150 ），さらに固有鍵で更新固有鍵が暗号化される（ステップ152 ）。更新フラグ「ＦＳ」と，暗号化更新固有鍵と，暗号化復号鍵とが鍵管理サーバ10からクライアントに配信される（ステップ153 ）。
【０１１９】
更新フラグ「ＦＳ」を受信したクライアントでは（図13，ステップ163 でYES ），鍵更新プログラムによって，受信した暗号化更新固有鍵がＦＤに記録されている固有鍵で復号される（ステップ166 ）。得られた更新固有鍵がＦＤに既に記録されている固有鍵と置換される（更新固有鍵が，固有鍵としてＦＤに記録される）（ステップ167 ）。さらに，ＦＤに記録されている暗号化復号鍵が，受信された暗号化復号鍵と置換される（ステップ165 ）。
【０１２０】
上述したように，管理データベース15の管理データ中に更新固有鍵が格納されると，その管理データ中には更新フラグ「ＦＳ」が格納される。たとえば，図８に示す管理データベース15が図９に示す管理データベース15に更新された状態において，課長Ｃ（ＩＤ「３」）がクライアント40を用いて暗号化プログラムを実行すると，課長Ｃの管理データには更新フラグ「ＦＳ」が格納されているので，鍵管理サーバ10において，課長Ｃの更新固有鍵ＳＫ31で，管理データ中の復号鍵ＳＫ４が暗号化される（ステップ150 ）。暗号化復号鍵ＳＫ４＜SK31＞が生成される（図12；ステップ145 でYES ，ステップ150 ）。さらに，固有鍵ＳＫ３で更新固有鍵ＳＫ31が暗号化され，暗号化更新固有鍵ＳＫ31＜ＳＫ３＞が生成される（ステップ152 ）。鍵管理サーバ10からクライアント40には，更新フラグ「ＦＳ」と暗号化更新固有鍵ＳＫ31＜ＳＫ３＞と，暗号化復号鍵ＳＫ４＜ＳＫ31＞とが配信される（ステップ153 ）。
【０１２１】
クライアント40では，受信した暗号化更新固有鍵ＳＫ31＜ＳＫ３＞が，ＦＤに記録されている固有鍵ＳＫ３で復号される。更新固有鍵ＳＫ31が得られる（図13；ステップ163 でYES ，ステップ166 ）。図16(A) に示すように，クライアント40ではＦＤに記録されている固有鍵ＳＫ３が，更新固有鍵ＳＫ31と置換される（ステップ167 ）。さらに，ＦＤに記録されている暗号化復号鍵ＳＫ４＜ＳＫ３＞が，配信された新たな暗号化復号鍵ＳＫ４＜ＳＫ31＞と置換される（ステップ165 ）。これ以降，クライアント40では暗号化処理および復号処理においてＳＫ31が固有鍵として用いられることになる。
【０１２２】
課長Ｃについての管理データに更新固有鍵が登録されることに伴って，課長Ｃの上司である部長Ａ（ＩＤ「１」）および部長Ｂ（ＩＤ「２」）の管理データの内容も変更される（図９；更新固有鍵ＳＫ31が新たに復号鍵として登録され，更新フラグ「Ｆ」が格納される）。部長Ａ（ＩＤ「１」）のＦＤ24に記録されている暗号化復号鍵（ＳＫ３＜ＳＫ１＞，ＳＫ４＜ＳＫ１＞）が，新たな暗号化復号鍵（ＳＫ３＜ＳＫ１＞／ＳＫ３１＜ＳＫ１＞，ＳＫ４＜ＳＫ１＞）に置換される（図16(B) ）。部長Ｂ（ＩＤ「２」）のＦＤ34に記録されている暗号化復号鍵も同様の置換が行われる（図16(C) ）。
【０１２３】
このように，社員のいずれかが固有鍵を紛失したような場合にでも，その社員には新たな固有鍵（更新固有鍵）をネットワーク１を通じて配信することができる。迅速な固有鍵の更新が達成される。さらに，新たな固有鍵（更新固有鍵）の登録に伴って，上司である社員の暗号化復号鍵も，固有鍵を紛失した社員の暗号化復号鍵も，新たな固有鍵に対応するものとなる。特に，上司については，固有鍵を紛失した社員について，紛失前に利用していた固有鍵で暗号化された暗号文ファイルおよび新たな固有鍵（更新固有鍵）で作成される暗号文ファイルのいずれをも復号できるように，固有データ（暗号化復号鍵）が更新される。
【０１２４】
受信したＩＤを含む管理データ中に失効フラグ「ＦＦ」が格納されている場合には（図12；ステップ144 でYES ），鍵配信プログラムは，失効フラグ「ＦＦ」をクライアントに送信する（ステップ154 ）。
【０１２５】
失効フラグ「ＦＦ」を受信したクライアントでは，ＦＤに記録されている固有鍵とすべての暗号化復号鍵とをＦＤから消去する処理が行われ（図13；ステップ162 でYES ，ステップ168 ），暗号化プログラムの処理が終了する（図11；ステップ123 でYES ）。
【０１２６】
上述したように，暗号システムの利用ユーザ（社員）が退職，辞職したような場合に，その社員の管理データ中に失効フラグ「ＦＦ」が格納される。たとえば，図９に示す管理データベース15が図10に示す管理データベース15に更新された状態において，係長Ｄ（ＩＤ「４」）に配布されたＦＤが用いられて，暗号化プログラムが実行されたとする。係長Ｄの管理データには失効フラグ「ＦＦ」が格納されているので，鍵管理サーバ10からクライアント50に失効フラグ「ＦＦ」が送信される（図12；ステップ154 ）。図17に示すように，クライアント50ではＦＤに記録されている係長Ｄの固有鍵ＳＫ４が消去される（図13；ステップ168 ）。暗号化プログラムは平文ファイルの暗号化を行うことなく，処理を終了する（図11；ステップ123 でYES ）。
【０１２７】
このように，管理データ中に失効フラグを格納することによって，失効フラグが格納された社員の暗号化処理を禁止することができる。暗号システムの利用を認められていない（認められなくなった）者による暗号化処理を未然に防止することができる。
【０１２８】
次に，復号プログラムが実行された場合の処理を，図14ならびに上述の図12および図13を参照して説明する。復号プログラムの処理（図14）は，上述の暗号化プログラム（図11）の処理と同じ処理を含むので，同じ処理には同一の符号を付し，重複した詳細な説明を避ける。
【０１２９】
クライアントの入力装置から復号プログラムの起動命令が入力されると，クライアントの記憶装置から復号プログラムが読出されてＣＰＵに読込まれる。復号プログラムが実行される。
【０１３０】
復号プログラムの処理においても，クライアントではＩＤの送信処理（ステップ121 ），鍵更新プログラムの処理（ステップ122 ，図13）が行われ，鍵管理サーバ10では鍵配信プログラムの処理（図12）が行われる。クライアントから鍵管理サーバ10に送信されたＩＤを含む管理データに，失効フラグ「ＦＦ」または更新フラグ「Ｆ」もしくは「ＦＳ」が格納されている場合に，ＦＤに記録されている固有データの内容が変更される（図13；ステップ165 ，ステップ167 ，ステップ168 ）。
【０１３１】
失効フラグ「ＦＦ」がクライアントに送信されると，クライアントにおいてＦＤから固有鍵が消去される（ステップ168 ）。復号プログラムは処理を終了する（ステップ123 でYES ）。企業等を退職したユーザ等による不正な暗号文ファイルの復号が防止される。
【０１３２】
失効フラグが送信されていない場合には（ステップ123 でNO），暗号文の入力が許可される。クライアントのユーザ（社員）は暗号文ファイルをクライアントに入力する（ステップ132 ）。
【０１３３】
入力された暗号文ファイルが解析される（ステップ133 ）。暗号システムにおいて作成される暗号文ファイルは，復号プログラムを実行しているクライアントのユーザ（社員）自身が作成した暗号文ファイルであるか，その部下が作成した暗号文ファイルであるか，その上司（ここでは，同格の者（たとえば，部長同士，課長同士等）を含む）が作成した暗号文ファイルであるかのいずれかである。暗号文ファイルの解析処理（ステップ133 ）では，入力された暗号文ファイルが，自己の作成した暗号文ファイルであるか，部下が作成した暗号文ファイルであるか，または上司が作成した暗号文ファイルであるかを，たとえば暗号文ファイルのヘッダ情報にもとづいて解析する。
【０１３４】
入力された暗号文ファイルが自己の作成したものである場合には（ステップ134 で「自己」），その暗号文ファイルの作成にＦＤに記録されている固有鍵が用いられている。ＦＤに記録されている固有鍵で入力された暗号文ファイルが復号される。平文ファイルが得られる（ステップ135 ）。
【０１３５】
入力された暗号文ファイルが部下の作成したものである場合には（ステップ134 で部下），ＦＤには，部下による暗号文ファイルの作成に用いられた固有鍵を暗号化したもの（暗号化復号鍵）が記録されているので，クライアントのユーザはその部下についての暗号化復号鍵を選択し，ＦＤに記録されている自己の固有鍵で暗号化復号鍵を復号する。復号鍵（＝部下の固有鍵）が得られる。暗号文ファイルが復号鍵（＝部下の固有鍵）によって復号されて平文ファイルが得られる（ステップ136 ）。
【０１３６】
入力された暗号文ファイルが上司（または同格の者）の作成したものである場合には，復号プログラムはそのまま処理を終了する（ステップ134 で「上司」）。
【０１３７】
たとえば，図５に示す管理データベース15が鍵管理サーバ10の第１記憶装置12に設けられている状態で，課長Ｂ（ＩＤ「２」）が復号プログラムを実行したとする（課長ＢのＦＤ34には図４(B) に示す固有データ35が記録されている）。課長Ｂは，自己の固有鍵ＳＫ２で作成した暗号文ファイルを復号することができる（ステップ135 ）。また，部下である係長Ｄ（ＩＤ「４」）が作成した暗号文ファイルも，暗号化復号鍵ＳＫ４＜ＳＫ２＞を固有鍵ＳＫ２で復号することによって復号鍵ＳＫ４（＝係長Ｄ（ＩＤ「４」）の固有鍵）を得ることができるので，復号することができる（ステップ136 ）。部長Ａ（ＩＤ「１」）が作成した暗号文ファイルおよび課長Ｃ（ＩＤ「３」）が作成した暗号文ファイルについては，課長Ｂは復号することができない。
【０１３８】
復号プログラムの処理において，暗号文ファイルの解析処理（ステップ133 ）は必ずしも行う必要はない。ＦＤに記録されている固有鍵および暗号化復号鍵を固有鍵で復号した復号鍵のそれぞれを用いて，総当たり的に，入力された暗号文ファイルに復号処理を実行するようにしてもよい。意味のある平文ファイルが生成された場合には，その暗号文ファイルは自己または部下が作成した暗号文ファイルであることが分かる。意味のある平文ファイルを生成できなかった場合には，その暗号文ファイルは上司が作成した暗号文ファイルであることが分かる。
【０１３９】
管理データベース15に格納される各種フラグ（更新フラグ「Ｆ」，「ＦＳ」，失効フラグ「ＦＦ」）は，そのフラグが格納されている管理データのユーザからのアクセス（上述のように，暗号化プログラムの実行または復号プログラムの実行によってクライアントから鍵管理サーバ10に対してアクセスが行われる）があった後に，管理データベース15から消去するようにすればよい。
【０１４０】
このように暗号システムでは，鍵管理サーバ10に設けられる管理データベース15において，ユーザ（社員）の役職（管理体制）に適合した固有鍵および復号鍵の管理が行われるので，企業等の組織構造に対応する鍵管理が実現される。ユーザのそれぞれに配布される固有鍵および復号鍵（暗号化復号鍵）が管理データベース15において集中管理されており，かつ各社員に配布されるＦＤに記録される固有鍵および暗号化復号鍵（固有データ）の内容は管理データベース15の更新に応じてオンラインで簡易に変更することができるので，組織の組換え，人事異動，社員の変動にも柔軟に対処することができる。
【０１４１】
上述した実施例では，固有データ（ＩＤ，固有鍵および暗号化復号鍵）は，鍵管理サーバ10においてＦＤに記録されて各社員に配布されているが，もちろん，ＭＯ，ＣＤ−ＲＷ等の他の書換え可能な記録媒体に記録して配布するようにしてもよい。電子メール等により，ネットワーク１を通じて固有データを各社員に配布し，クライアントのハードディスクに固有データを記録してもよい。
【０１４２】
さらに上述した実施例では，上司が部下の固有鍵（＝復号鍵）を暗号化したもの（暗号化復号鍵）を所持しているが，もちろん部下が上司の固有鍵を暗号化したものを所持するようにしてもよい。いずれにしても，部下または上司が作成した暗号文ファイルを復号することができるかどうかは管理データベース15の管理データにもとづいて決定される。
【０１４３】
第２実施例
図18は第２実施例における暗号システムの全体的構成を示すブロック図である。図３に示す第１実施例の暗号システムとは，鍵管理サーバ10については，第１記憶装置12に設けられる管理データベースの内容と，第２記憶装置12に記憶されているプログラムの処理の内容がそれぞれ異なっている。また，クライアント20，30‥‥の記憶装置22，32‥‥に記憶されているプログラムの内容（プログラム処理の内容）および鍵管理サーバ10の管理者から配布されるＦＤに記録される固有データの内容も，第１実施例と異なる。その他の構成は第１実施例（図３）と同じである。
【０１４４】
第２実施例の暗号システムでは，暗号システムのユーザ（社員）が暗号化処理または復号処理を行う度に，鍵管理サーバ10において暗号化復号鍵が作成されてクライアントに配信される。鍵管理サーバ10から配信される暗号化復号鍵は，クライアントの制御装置のメモリ（ＲＡＭ）に格納される。メモリに記憶された暗号化復号鍵を復号することによって，部下が作成した暗号文ファイルの復号に用いられる復号鍵を得ることができる。クライアントの記憶装置には，平文ファイルの暗号化および暗号文ファイルの復号に用いられる暗号化／復号プログラムが記憶されている。
【０１４５】
鍵管理サーバ10の第１記憶装置12に設けられる管理データベース15Ａは，図５に示す管理データベース15と同じ項目欄（「ＩＤ」，「更新フラグ」，「失効フラグ」，「固有鍵」，「更新固有鍵」，「復号鍵１」，「復号鍵２」‥‥）を持つ。管理データベース15とは，更新フラグ欄に更新フラグ「ＦＳ」のみが格納される点が異なる。更新フラグ欄に更新フラグ「Ｆ」は格納されない。管理データベース15Ａに格納される管理データの作成は，管理データ作成プログラムに基づいて第１実施例（図６）と同じように行われる。
【０１４６】
図19(A) は部長Ａが所持するＦＤ24に記録された固有データ25Ａの一例を，図19(B) は課長Ｂが所持するＦＤ34に記録された固有データ35Ａの一例をそれぞれ示している。図19(C) は課長Ｃが所持するＦＤに記録された固有データ45Ａの一例を，図19(D) は係長Ｄが所持するＦＤに記録された固有データ55Ａの一例を，それぞれ示している。図20は鍵管理サーバ10において実行される固有データ作成プログラムの処理の流れを示すフローチャートである。図７に示すフローチャート（第１実施例における固有データ作成プログラムの処理）と同じ処理には同一の符号を付し，重複した詳細な説明を避ける。
【０１４７】
第２実施例の暗号システムでは，ユーザ（社員）のそれぞれに配布されるＦＤに，ＩＤと固有鍵とが記録される（ステップ113 ）。暗号化復号鍵は記録されない。固有データ作成プログラムによってＩＤと固有鍵とが記録されたＦＤが，各社員に配布される（図19(A)〜(D)）。
【０１４８】
図21はクライアントの記憶装置に記憶されている暗号化／復号プログラムの処理の流れを示すフローチャートである。図22は鍵管理サーバ10において実行される鍵配信プログラムの処理の流れを示すフローチャートである。図23は暗号化／復号プログラムのサブ・プログラムとして実行される鍵更新プログラムの処理の流れを示すフローチャートである。暗号化／復号プログラム（図21）は第１実施例の暗号化プログラム（図11）および復号プログラム（図14）と同じ処理を，鍵配信プログラム（図22）は第１実施例の鍵配信プログラム（図12）と同じ処理を，鍵更新プログラム（図23）は第１実施例の鍵更新プログラム（図13）と同じ処理をそれぞれ含むので，同一の処理には同一の符号を付し重複した詳細な説明を避ける。複数のクライアント20〜50は基本的に同じ処理を行うことができるので，以下の説明ではクライアントの代表として，クライアント20（ＩＤ「１」の社員Ａのコンピュータ）の動作を説明する。管理データベース15Ａは，基本的には，図５に示す状態とする。
【０１４９】
クライアント20において暗号化／復号プログラムが起動されると，ＦＤＤに装着されたＦＤに記録されているＩＤ「１」が鍵管理サーバ10に送信される（図21；ステップ121 ）。ＩＤ「１」を受信した鍵管理サーバ10では，受信したＩＤ「１」を含む管理データが管理データベース15Ａから読出される（図22；ステップ142 でYES ，ステップ143 ）。
【０１５０】
読出された管理データに失効フラグ「ＦＦ」または更新フラグ「ＦＳ」のいずれもが格納されていない場合には（ステップ144 でNO，ステップ145 でNO），管理データ中の固有鍵ＳＫ１が用いられて，管理データ中の復号鍵ＳＫ２，ＳＫ３，ＳＫ４が暗号化される（ステップ148 ）。暗号化復号鍵ＳＫ２＜ＳＫ１＞，ＳＫ３＜ＳＫ１＞，ＳＫ４＜ＳＫ１＞が生成される。生成された暗号化復号鍵が，ＩＤを送信したクライアントに配信される（ステップ149Ａ ）。もちろん，部下を有しない社員の場合にはその社員の管理データに復号鍵は含まれないので，ステップ148，149Ａの処理はスキップされる。
【０１５１】
鍵管理サーバ10から配信された暗号化復号鍵をクライアント20が受信すると，鍵更新プログラムの処理が進行が開始する（図21；ステップ122Ａ ，図23；ステップ161 でYES ）。
【０１５２】
失効フラグ「ＦＦ」および更新フラグ「ＦＳ」のいずれもが受信されていない場合には（ステップ162 でNO，ステップ163 でNO），ＦＤに記録されている固有鍵ＳＫ１で，受信した暗号化復号鍵ＳＫ２＜ＳＫ１＞，ＳＫ３＜ＳＫ１＞，ＳＫ４＜ＳＫ１＞が復号される（ステップ173 ）。復号鍵（＝部下の固有鍵）ＳＫ２，ＳＫ３，ＳＫ４が生成される。生成された復号鍵がクライアントの制御装置のメモリ（ＲＡＭ）に一時的に記憶される（ステップ174 ）。暗号化／復号プログラムの処理に戻る（図21）。
【０１５３】
クライアント20に入力されたファイルが平文ファイルの場合には（ステップ175 で暗号化，ステップ124 ），クライアント20に装着されているＦＤ24に記録されている固有鍵ＳＫ１で平文ファイルが暗号化されて，暗号文ファイルが生成される（ステップ125 ）。
【０１５４】
クライアント20に入力されたファイルが暗号文ファイルの場合には（ステップ175 で復号，ステップ132 ），暗号文ファイルの解析処理が行われる（ステップ133 ）。暗号文ファイルが自己の作成したものである場合には，ＦＤ24に記録されている固有鍵ＳＫ１が用いられて暗号文ファイルが復号される（ステップ134 で「自己」，ステップ135 ）。部下が作成した暗号文ファイルである場合には（ステップ134 で「部下」），メモリに一時的に記憶されている復号鍵（部下の固有鍵）（ＳＫ２，ＳＫ３，ＳＫ４のいずれか）で暗号文ファイルが復号される（ステップ136 ）。暗号文ファイルが上司（または同格の者）が作成したものである場合には（ステップ134 で「上司」），暗号化／復号プログラムはそのまま処理を終了する。
【０１５５】
暗号化すべき平文ファイルまたは復号すべき暗号文ファイルが他にある場合には，クライアントのユーザは，新たな平文ファイルまたは暗号文ファイルをクライアントに入力する（ステップ176 でNO，ステップ175 ）。クライアントのユーザが，プログラム終了のコマンドをクライアントに入力すると（たとえば，表示画面に表示される終了ボタンをマウスを用いてクリックする），暗号化／復号プログラムの処理が終了する（ステップ176 でYES ）。
【０１５６】
管理データに更新フラグ「ＦＳ」が格納されている場合には（図22；ステップ145 でYES ），管理データ中の更新固有鍵（ＳＫ１１とする）で復号鍵ＳＫ２，ＳＫ３，ＳＫ４が暗号化され（ステップ150 ），さらに固有鍵ＳＫ１で更新固有鍵ＳＫ１１が暗号化される（ステップ152 ）。更新フラグ「ＦＳ」と暗号化更新固有鍵ＳＫ１１＜ＳＫ１＞と，暗号化復号鍵ＳＫ２＜ＳＫ１１＞，ＳＫ３＜ＳＫ１１＞，ＳＫ４＜ＳＫ１１＞とがクライアント20に配信される（ステップ153Ａ ）。
【０１５７】
クライアント20では，更新フラグ「ＦＳ」を受信すると（図23；ステップ163 でYES ），受信した暗号化更新固有鍵ＳＫ１１＜ＳＫ１＞を，ＦＤ24に記録されている固有鍵ＳＫ１で復号する（ステップ166 ）。更新固有鍵ＳＫ１１が得られる。得られた更新固有鍵ＳＫ１１が固有鍵としてＦＤ24に登録される（ステップ167 ）。
【０１５８】
新たな固有鍵（更新固有鍵）ＳＫ１１で，受信した暗号化復号鍵ＳＫ２＜ＳＫ１１＞，ＳＫ３＜ＳＫ１１＞，ＳＫ４＜ＳＫ１１＞がそれぞれ復号される（ステップ171 ）。復号鍵ＳＫ２，ＳＫ３，ＳＫ４が得られる。得られた復号鍵が制御装置21のメモリに格納される（ステップ172 ）。
【０１５９】
読出された管理データに失効フラグ「ＦＦ」が格納されている場合（ステップ144 でYES ）には，鍵管理サーバ10からクライアント20に失効フラグ「ＦＦ」が送信される（ステップ154 ）。この場合，クライアント20において鍵更新プログラムはＦＤ24に記録されている固有鍵ＳＫ１を消去する（図23；ステップ168Ａ ）。暗号化／復号プログラムは処理を終了する（図21；ステップ123 でYES ）。
【０１６０】
このように，第２実施例の暗号システムでは，ユーザ（社員）の保持するＦＤにはＩＤと固有鍵のみが記録されるので，第１実施例（ＦＤにはさらに暗号化復号鍵も記録される）に比べて，システムの安全性が高められる。また，クライアントにおいて部下の暗号文ファイルを復号するために用いられる復号鍵は，メモリ（ＲＡＭ）に記憶されるので（図23；ステップ172，174），暗号化／復号プログラムの処理の終了に応じて，復号鍵をメモリから消去することができる。復号鍵の漏洩が防止される。また，復号鍵は鍵管理サーバ10からクライアントに暗号化された状態で配信されるので，たとえ何者かがネットワーク１を通じて暗号化復号鍵を入手したとしても復号鍵を生成することができる可能性は低く，暗号システムの安全性は高い。
【０１６１】
暗号化／復号プログラムの終了処理（図21；ステップ176 ）に応じて，クライアントが有する復号鍵を消去する処理（消去プログラム）を実行するようにしてもよい。消去処理が実行される暗号化／復号プログラムの処理の流れを図24に示す。クライアントのユーザ（社員）によって暗号化／復号プログラムの終了指令がクライアントに入力されると（ステップ176 でYES ），クライアントが保持している復号鍵が消去される（ステップ177 ）。この場合には，復号鍵は必ずしもメモリ（ＲＡＭ）に記憶させる必要はなく，ハードディスク等の他の記録媒体に記憶させてもよい。クライアントのハードディスク等に記憶されている復号鍵が消去された後に，暗号化／復号プログラムのすべての処理が終了する。このことは，後述する他の実施例においても同じである。
【０１６２】
第３実施例
図25は第３実施例における暗号システムの全体的構成を示すブロック図である。図18に示す第２実施例の暗号システムとは，鍵管理サーバ10については，第１記憶装置12に設けられる管理データベースの内容と，第２記憶装置13に記憶されているプログラムの内容と処理とが異なっている。また，クライアント20，30‥‥の記憶装置22，32‥‥に記憶されているプログラムの内容と処理および鍵管理サーバ10の管理者から配布されるＦＤに記録されるデータの内容も，第２実施例と異なる。その他の構成は第２実施例（図18）と同じである。
【０１６３】
第３実施例の暗号システムでは，クライアント20，30‥‥の記憶装置22，32‥‥に，暗号化／復号プログラムおよび鍵更新プログラムとともに，公開鍵／秘密鍵生成プログラムが記憶されている。後述するように，公開鍵／秘密鍵生成プログラムは，ＩＤが記録されたＦＤが鍵管理サーバ10の管理者から配布された後，クライアントのユーザによって実行される。１対の公開鍵と秘密鍵（公開鍵暗号方法に基づく公開鍵と秘密鍵）とが作成される。作成された秘密鍵は固有データとしてクライアントのユーザに保持される。他方，秘密鍵と対の公開鍵は，クライアントから鍵管理サーバ10に送信されて管理データベース15Ｂに登録され，鍵管理サーバ10からクライアントに配信される暗号化復号鍵の作成（復号鍵の暗号化）に用いられる。
【０１６４】
図26は，鍵管理サーバ10の第１記憶装置12に設けられる管理データベース15Ｂの内容を示している。「公開鍵」の項目欄が新たに設けられている点ならびに「更新フラグ」および「更新固有鍵」の項目欄が存在していない点で，第１実施例の鍵管理データベース15（図５）とは異なる。管理データベース15Ｂに格納される管理データの作成は，基本的には，第２記憶装置13に記憶された管理データ作成プログラムに基づいて，第１実施例（図６）と同じように行われる。
【０１６５】
図27(A) は，第３実施例において部長Ａが所持するＦＤ24に記録された固有データ25Ｂの一例を，図27(B) は課長Ｂが所持するＦＤ34に記録された固有データ35Ｂの一例をそれぞれ示している。図27(C) は課長Ｃが所持するＦＤに記録された固有データ45Ｂの一例を，図27(D) は係長Ｄが所持するＦＤに記録された固有データ55Ｂの一例を，それぞれ示している。図28は鍵管理サーバ10において実行される固有データ作成プログラムの処理の流れを示すフローチャートである。図７に示すフローチャート（第１実施例における固有データ作成プログラムの処理）と同じ処理には同一の符号を付し，重複した詳細な説明を避ける。
【０１６６】
第３実施例の暗号システムでは，固有データ作成プログラムによってユーザ（社員）のそれぞれに配布されるＦＤにＩＤが記録される（ステップ113Ａ ）。固有鍵および復号鍵（暗号化復号鍵）は記録されない。ＩＤが記録されたＦＤが各社員に配布される。
【０１６７】
ＩＤが記録されたＦＤを受け取った社員は，クライアントの入力装置から公開鍵／秘密鍵生成プログラムを実行する。他方，鍵管理サーバ10では，公開鍵受信プログラムによって，クライアントにおいて生成される公開鍵の受信が準備される。図29はクライアントにおいて実行される公開鍵／秘密鍵生成プログラムの処理を表すフローチャートと，鍵管理サーバ10において実行される公開鍵受信プログラムの処理を表すフローチャートとを並べて示すものである。
【０１６８】
クライアントにおいて公開鍵／秘密鍵生成プログラムが実行されると，公開鍵と秘密鍵の対が生成される（ステップ126 ）。公開鍵／秘密鍵プログラムは，ＦＤからＩＤを読出し，読出したＩＤと生成した公開鍵とを鍵管理サーバ10に送信する。また，生成した秘密鍵をＦＤに記録する（ステップ127 ）。ＦＤにはＩＤと秘密鍵とが記録されることになる（図27(A)〜(D)）。
【０１６９】
鍵管理サーバ10は，公開鍵受信プログラムによって，クライアントから送信されるＩＤと公開鍵の受信を待機している（ステップ128 でNO）。クライアントからのＩＤと公開鍵を受信すると（ステップ128 でYES ），受信したＩＤに対応して，管理データ中に受信した公開鍵が登録される（ステップ129 ）。管理データベース15Ｂに，各クライアントから送信された公開鍵が登録される（図26）。
【０１７０】
図30はクライアントの記憶装置に記憶されている暗号化／復号プログラムの処理の流れを示すフローチャートである。図31は鍵管理サーバ10において実行される鍵配信プログラムの処理の流れを示すフローチャートである。図32は暗号化／復号プログラムのサブ・プログラムとして実行される鍵更新プログラムの処理の流れを示すフローチャートである。第２実施例の暗号化／復号プログラム（図21），鍵配信プログラム（図22）および鍵更新プログラム（図23）と同じ処理には同一の符号を付し，重複した説明を避ける。クライアント20の動作を取り上げる。
【０１７１】
クライアント20において暗号化／復号プログラムが起動されると，ＦＤＤに装着されたＦＤ24に記録されているＩＤ「１」が，鍵管理サーバ10に送信される（図30；ステップ121 ）。ＩＤ「１」を受信した鍵管理サーバ10では，受信したＩＤ「１」を含む管理データを読出す（図31；ステップ142 でYES ，ステップ143 ）。
【０１７２】
管理データ中に失効フラグが格納されていない場合には（ステップ144 でNO），鍵管理サーバ10は，あらかじめクライアント20から受信して管理データに登録されている公開鍵ＯＰ１を用いて管理データ中の固有鍵ＳＫ１と復号鍵ＳＫ２，ＳＫ３，ＳＫ４とをそれぞれ暗号化する（ステップ181 ）。暗号化固有鍵ＳＫ１＜ＯＰ１＞と暗号化復号鍵ＳＫ２＜ＯＰ１＞，ＳＫ３＜ＯＰ１＞，ＳＫ４＜ＯＰ１＞とが生成される。生成された暗号化固有鍵と暗号化復号鍵とが鍵管理サーバ10からクライアント20に配信される（ステップ182 ）。
【０１７３】
公開鍵ＯＰ１で暗号化されたものは，その公開鍵ＯＰ１と対の秘密鍵Ｓ１で復号することができる。クライアント20において暗号化固有鍵ＳＫ１＜ＯＰ１＞と暗号化復号鍵ＳＫ２＜ＯＰ１＞，ＳＫ３＜ＯＰ１＞，ＳＫ４＜ＯＰ１＞とが受信されると（図31；ステップ161 でYES ，ステップ162 でNO），ＦＤに記録されている秘密鍵Ｓ１が用いられて，受信された暗号化固有鍵および暗号化復号鍵がそれぞれ復号される（ステップ183 ）。固有鍵ＳＫ１および復号鍵ＳＫ２，ＳＫ３，ＳＫ４が生成される。生成された固有鍵および復号鍵が，制御装置のメモリ（ＲＡＭ）に一時的に記憶される（ステップ184 ）。平文ファイルを暗号化する場合および自己の生成した暗号文ファイルを復号する場合には，メモリに記憶されている固有鍵ＳＫ１が用いられて暗号化処理または復号処理が行われる（図30；ステップ125，ステップ135）。部下の作成した暗号文ファイルを復号する場合には，メモリに記憶されている復号鍵ＳＫ２，ＳＫ３またはＳＫ４が用いられて暗号文ファイルが平文ファイルに復号される（ステップ136 Ａ）。クライアントの制御装置のメモリに一時的に記憶されている固有鍵および復号鍵は，暗号化／復号プログラムの処理終了（ステップ176でYES）とともにメモリ（ＲＡＭ）から消去される。
【０１７４】
このように，第３実施例の暗号システムでは，平文ファイルの暗号化処理および暗号文ファイルの復号処理に用いられる固有鍵をユーザが所持しておく必要がない。暗号システムの安全性がさらに高められる。クライアントにおいて利用される固有鍵および復号鍵は，鍵管理サーバ10において公開鍵で暗号化されてクライアントに送信されるので，暗号化に用いられる公開鍵と対の秘密鍵を持つユーザのみがその固有鍵および復号鍵を利用することができる。第三者が暗号化固有鍵および暗号化復号鍵を窃取したとしても，その第三者は暗号化固有鍵および暗号化復号鍵を復号することができないので暗号システムの安全性を保つことができる。
【０１７５】
もちろん，第３実施例において，鍵管理サーバ10の管理者から配布されたＦＤに，公開鍵／秘密鍵生成プログラムによって生成される公開鍵と秘密鍵の両方をあらかじめ記録しておいてもよい。この場合，第３実施例と同様に，公開鍵／秘密鍵生成プログラムは一度だけ実行すればよく，暗号化／復号処理のたびに公開鍵／秘密鍵を生成する必要はない。
【０１７６】
変形例
第３実施例において，暗号化／復号プログラムがクライアントにおいて実行される度に，公開鍵／秘密鍵を作成するようにしてもよい。第３実施例の変形例における暗号化／復号プログラムの処理の流れを示すフローチャートを，図33に示す。図30に示す第３実施例の暗号化／復号プログラムのフローチャートとは，ＩＤと公開鍵とが送信される点（ステップ121Ａ ）およびＩＤと公開鍵の送信の前に，公開鍵／秘密鍵生成プログラムが実行される点（ステップ191 ），ならびに生成された公開鍵および秘密鍵がＦＤに記録されない点が異なる。
【０１７７】
暗号化／復号プログラムがクライアント20において起動されると，公開鍵／秘密鍵プログラムの処理が開始される（ステップ191 ）。公開鍵ＯＰ１と秘密鍵Ｓ１の対が生成される。生成された１対の公開鍵ＯＰ１と秘密鍵Ｓ１の対のうち，秘密鍵Ｓ１はクライアント20の制御装置21のメモリ（ＲＡＭ）に一時的に記憶される。公開鍵ＯＰ１はＩＤとともに鍵管理サーバ10に送信される（ステップ 121Ａ）。鍵管理サーバ10は，クライアント20において暗号化／復号プログラムが実行される度に，ＩＤと公開鍵とを受信する（ステップ142 は，「ＩＤと公開鍵の受信」となる）。クライアント20の制御装置21のメモリに一時的に記憶された秘密鍵Ｓ１は，暗号化／復号プログラムの処理終了とともにメモリから消去される。
【０１７８】
第４実施例
図34は第４実施例における暗号システムの全体的構成を示すブロック図である。図18に示す第２実施例の暗号システムとは，鍵管理サーバ10については，第１記憶装置12に設けられる管理データベースの内容と，第２記憶装置13に記憶されているプログラムの内容（プログラム処理の内容）が異なっている。クライアント20，30‥‥については，鍵管理サーバ10の管理者から配布されるＦＤ24，34‥‥に記録される管理データの内容が，第２実施例と異なっている。
【０１７９】
第４実施例の暗号システムでは，公開鍵／秘密鍵生成プログラムが鍵管理サーバ10の第２記憶装置13に記憶されている。公開鍵／秘密鍵生成プログラムは，鍵管理サーバ10において管理データ作成プログラムの処理の中で実行される。
【０１８０】
図35は鍵管理サーバ10の第１記憶装置12に設けられる管理データベース15Ｃの一例を示している。図36は管理データ作成プログラム処理の流れを示すフローチャートである。図６に示す管理データ作成プログラム（第１実施例）とは，公開鍵／秘密鍵生成処理（ステップ201 ）が加えられている点が異なる。
【０１８１】
管理データベース15Ｃには，「ＩＤ」，「失効フラグ」，「固有鍵」および「復号鍵１」，「復号鍵２」，「復号鍵３」‥‥の項目欄に加えて，「公開鍵／秘密鍵」の項目欄が設けられている。鍵管理サーバ10の管理者がユーザ情報を入力すると（ステップ101 ），新たなＩＤが採番されてＩＤ欄に登録される（ステップ102 ）。その後，管理データ作成プログラムは，第２記憶装置13に記憶されている公開鍵／秘密鍵生成プログラムを呼び出す。公開鍵／秘密鍵生成プログラムによって公開鍵と秘密鍵の対が生成される。生成された公開鍵と秘密鍵の対が，管理データベース15Ｃの公開鍵／秘密鍵欄に登録される（ステップ201 ）。
【０１８２】
図37(A) は第４実施例において，部長Ａが所持するＦＤ24に記録された固有データ25Ｃの一例を，図37(B) は課長Ｂが所持するＦＤ34に記録された固有データ35Ｃの一例をそれぞれ示している。図37(C) は課長Ｃが所持するＦＤに記録された固有データ45Ｃの一例を，図37(D) は係長Ｄが所持するＦＤに記録された固有データ55Ｃの一例を，それぞれ示している。図38は鍵管理サーバ10において実行される固有データ作成プログラムの処理の流れを示すフローチャートである。図７に示す固有データ作成プログラムの処理（第１実施例）と同じ処理には同一の符号を付し，重複した詳細な説明を避ける。
【０１８３】
第４実施例の暗号システムでは，固有データ作成プログラムによって，ユーザ（社員）のそれぞれに配布されるＦＤにＩＤと秘密鍵とが記録される（ステップ113Ｂ ）。ＩＤと秘密鍵とが記録されたＦＤが各社員に配布される。
【０１８４】
第４実施例において，クライアントで実行される暗号化／復号プログラムの処理は図30（第３実施例）と，鍵更新プログラムの処理は図32（第３実施例）と同じである。鍵管理サーバ10で実行される鍵配信プログラムの処理は，第３実施例の鍵配信プログラム（図31）の処理と同じである。クライアント20の動作を説明する。
【０１８５】
クライアント20からＩＤ「１」が送信され，そのＩＤ「１」を鍵管理サーバ10が受信すると（ステップ142 でYES ），鍵配信プログラムの処理が進行する。受信ＩＤを含む管理データに失効フラグ「ＦＦ」が格納されていない場合には（ステップ144 でNO），管理データ中の公開鍵ＯＰ１が用いられて，同じく管理データ中の固有鍵ＳＫ１および復号鍵ＳＫ２，ＳＫ３，ＳＫ４が暗号化される（ステップ181 ）。暗号化固有鍵ＳＫ１＜ＯＰ１＞と暗号化復号鍵ＳＫ２＜ＯＰ１＞，ＳＫ３＜ＯＰ１＞，ＳＫ４＜ＯＰ１＞とが鍵管理サーバ10からクライアント20に送信される（ステップ182 ）。クライアント20では，ＦＤ24には秘密鍵Ｓ１が記録されているので（図37），受信した暗号化固有鍵ＳＫ１＜ＯＰ１＞および暗号化復号鍵ＳＫ２＜ＯＰ１＞，ＳＫ３＜ＯＰ１＞，ＳＫ４＜ＯＰ１＞が，ＦＤ24に記録されている秘密鍵Ｓ１で復号される（図32；ステップ183 ）。固有鍵ＳＫ１および復号鍵ＳＫ２，ＳＫ３，ＳＫ４がクライアント20のメモリ（ＲＡＭ）に保持される（ステップ184 ）。平文ファイルを暗号化する場合および自己の生成した暗号文ファイルを復号する場合には，メモリに記憶されている固有鍵ＳＫ１が用いられて暗号処理または復号処理が行われる（図30；ステップ125，ステップ135）。部下の作成した暗号文ファイルを復号する場合には，メモリに記憶されている復号鍵ＳＫ２，ＳＫ３，ＳＫ４が用いられて暗号文ファイルが平文ファイルに復号される（ステップ136Ａ ）。
【０１８６】
このように，クライアントのユーザには，あらかじめ秘密鍵が記録されたＦＤが配布されているので，他人の利用しているＩＤを第三者が入手し，鍵管理サーバ10に送信して暗号化固有鍵と暗号化復号鍵を入手したとしても，暗号化固有鍵および暗号化復号鍵の復号に用いられる秘密鍵を持たない第三者は，固有鍵および復号鍵のいずれもを得ることができない。第三者が他人のＩＤを入手して暗号システムを利用しようする行為を防止することができる。
【０１８７】
第５実施例
図39は第５実施例における暗号システムの全体的構成を示すブロック図である。図34に示す第４実施例の暗号システムとは，鍵管理サーバ10については，第１記憶装置12に設けられている管理データベースの内容と，第２記憶装置13に記憶されているプログラムの処理の内容が異なっている。クライアント20，30‥‥については，鍵管理サーバ10の管理者から配布されるＦＤ24，34‥‥に記録される管理データの内容と，記憶装置22，33‥‥に記憶されているプログラムの内容（プログラム処理の内容）が，第４実施例とは異なっている。
【０１８８】
第５実施例の暗号システムでは，鍵管理サーバ10とクライアント20，30‥‥の両方に，公開鍵／秘密鍵生成プログラムが備えられている。以下，鍵管理サーバ10において生成される公開鍵／秘密鍵を，第１の公開鍵／第１の秘密鍵と呼ぶ。クライアントにおいて生成される公開鍵／秘密鍵を，第２の公開鍵／第２の秘密鍵と呼ぶ。
【０１８９】
図40は鍵管理サーバ10の第１記憶装置12に設けられている管理データベース15Ｄの一例を示している。図41は管理データ作成プログラムの処理の流れを示すフローチャートである。図６に示す管理データ作成プログラムの処理（第１実施例）とは，乱数生成処理が２回行われる点（ステップ202 ，ステップ103 ）が異なる。
【０１９０】
管理データベース15Ｄには，「ＩＤ」，「失効フラグ」，「秘密データ」，「固有鍵」および「復号鍵１」，「復号鍵２」，「復号鍵３」‥‥の項目欄が設けられている。鍵管理サーバ10の管理者が鍵管理サーバ10にユーザ情報を入力すると（ステップ101 ），ＩＤが採番されてＩＤ欄に登録される（ステップ102 ）。
【０１９１】
第１回目の乱数生成処理が行われる（ステップ202 ）。生成された乱数が，秘密データとして秘密データ欄に登録される。
【０１９２】
第２回目の乱数生成処理が行われる（ステップ103 ）。生成された乱数が固有鍵として用いられる。
【０１９３】
図42(A) は，第５実施例において部長Ａが所持するＦＤ24に記録された固有データ25Ｄの一例を，図42(B) は課長Ｂが所持するＦＤ34に記録された固有データ35Ｄの一例をそれぞれ示している。図42(C) は課長Ｃが所持するＦＤに記録された固有データ45Ｄの一例を，図42(D) は係長Ｄが所持するＦＤに記録された固有データ55Ｄの一例を，それぞれ示している。図43は鍵管理サーバ10において実行される固有データ作成プログラムの処理の流れを示すフローチャートである。図７に示す固有データ作成プログラムの処理（第１実施例）と同じ処理には同一の符号を付し重複した詳細な説明を避ける。
【０１９４】
第５実施例では，社員のそれぞれに配布されるＦＤには，ＩＤと，上述の管理データ作成プログラムの処理によって作成された秘密データ（図41；ステップ202 ）とが記録される（ステップ113Ｃ ）。ＩＤと秘密データとが記録されたＦＤが各社員に配布される。
【０１９５】
図44はクライアントの記憶装置に記憶されている暗号化／復号プログラムの処理の流れを示すフローチャートである。図45および図46は鍵管理サーバ10において実行される鍵配信プログラムの処理の流れを示すフローチャートである。図47は暗号化／復号プログラムのサブ・プログラムとして実行される鍵更新プログラムの処理のフローチャートである。図48は鍵管理サーバ10およびクライアントにおける鍵および秘密データの暗号化処理および復号処理を，鍵の働きを中心に示すものである。クライアント20の動作を取り上げる。
【０１９６】
クライアント20のユーザ（社員）が暗号化／復号プログラムを起動させると，クライアント20の記憶装置22に記憶されている公開鍵／秘密鍵生成プログラムが実行される。第２の公開鍵と第２の秘密鍵の対（ＯＰ２／Ｓ２とする）が生成される（ステップ211 ）。第２の秘密鍵Ｓ２がクライアント20の記憶装置22のメモリに保持される。
【０１９７】
メモリに保持された第２の秘密鍵Ｓ２と対の第２の公開鍵ＯＰ２は，ＦＤ24に記録されているＩＤ「１」とともに鍵管理サーバ10に向けて送信される（ステップ121Ｃ）。クライアント20では鍵更新プログラムが実行される（ステップ122Ｃ）。鍵更新プログラムは鍵管理サーバ10から送信されるデータの受信を待機する（図47；ステップ161 ）。
【０１９８】
クライアント10から送信されたＩＤ「１」と第２の公開鍵ＯＰ２とを鍵管理サーバ10が受信すると，鍵管理サーバ10では鍵配信プログラムの処理が進行する（ステップ142Ｂ でYES ）。
【０１９９】
受信ＩＤを含む管理データが管理データベース15Ｄから鍵管理サーバ10のメモリに読込まれる（ステップ143 ）。メモリに読込まれた管理データに失効フラグ「ＦＦ」が格納されている場合には（ステップ144 でYES ），鍵管理サーバ10からクライアント20に失効フラグ「ＦＦ」が送信される（ステップ152 ）。この場合，クライアント20において，鍵更新プログラムはＦＤ24に記録されている秘密データＳＤ１を消去する（図47；ステップ162 でYES ，ステップ237 ）。秘密データＳＤ１がＦＤ24から消去されると，クライアント10には，後述するように，鍵管理サーバ10から固有鍵（暗号化固有鍵）が配信されない。暗号化／復号プログラム（図43）は，そのまま処理を終了する（図44；ステップ123 でNO）。
【０２００】
メモリに読込まれた管理データに失効フラグ「ＦＦ」が格納されていない場合には（図45；ステップ144 でNO），鍵配信プログラムは，第２記憶装置13に記憶されている公開鍵／復号鍵生成プログラムを呼び出して実行する。第１の公開鍵と第１の秘密鍵の対が生成される（ＯＰ１／Ｓ１とする）。メモリに読込まれている管理データに含まれるＩＤ「１」と，生成された第１の秘密鍵Ｓ１とがメモリのワーク・エリアに格納される（ステップ213 ）。第１の秘密鍵Ｓ１と対の第１の公開鍵ＯＰ１は，クライアント10から受信した第２の公開鍵ＯＰ２で暗号化される（ステップ214 ）。暗号化第１の公開鍵ＯＰ１＜ＯＰ２＞が生成される。
【０２０１】
生成された暗号化第１の公開鍵ＯＰ１＜ＯＰ２＞が鍵管理サーバ10からクライアント20に配信される（ステップ215 ）。鍵配信プログラムは，クライアント20から送信されるべきＩＤ「１」と暗号化秘密データの受信を待機する（図46；ステップ216 でNO）。
【０２０２】
暗号化第１の公開鍵ＯＰ１＜ＯＰ２＞を受信したクライアント20のメモリには，上述のように，第２の秘密鍵Ｓ２が保持されている（図44；ステップ211 ）。クライアント20に暗号化第１の公開鍵ＯＰ１＜ＯＰ２＞が受信されると（図47；ステップ161 でYES ，ステップ162 でNO），鍵更新プログラムは，受信した暗号化第１の公開鍵ＯＰ１＜ＯＰ２＞を，クライアント20のメモリに保持されている第２の秘密鍵Ｓ２で復号する。暗号化第１の公開鍵ＯＰ１＜ＯＰ２＞は，鍵管理サーバ10において第２の公開鍵ＯＰ２で暗号化されたものであるので（図45；ステップ214 ），暗号化第１の公開鍵ＯＰ１＜ＯＰ２＞が復号される。第１の公開鍵ＯＰ１が生成される（ステップ231 ）。
【０２０３】
次に，生成された第１の公開鍵ＯＰ１で，クライアント20に装着されているＦＤ24に記録されている秘密データＳＤ１（図42(A) 参照）が暗号化されて，暗号化秘密データＳＤ１＜ＯＰ１＞が生成される（ステップ232 ）。鍵更新プログラムは，ＦＤ24に記録されているＩＤ「１」と生成された暗号化秘密データＳＤ１＜ＯＰ１＞とを鍵管理サーバ10に送信する（ステップ233 ）。鍵更新プログラムは，鍵管理サーバ10から送信される暗号化固有鍵と暗号化復号鍵の受信を待機する（ステップ234 でNO）。
【０２０４】
鍵管理サーバ10がＩＤ「１」と暗号化秘密データＳＤ１＜ＯＰ１＞とを受信すると（図46；ステップ216 でYES ），鍵配信プログラムは受信したＩＤ「１」と，メモリに保持されている管理データ中のＩＤとが一致しているかどうかを判断する（ステップ217 ）。
【０２０５】
２つのＩＤが一致している場合には（ステップ217 でYES ），鍵管理サーバ10のメモリに保持されている第１の秘密鍵Ｓ１でクライアント20から送信された暗号化秘密データＳＤ１＜ＯＰ１＞が復号される（ステップ218 ）。暗号化秘密データＳＤ１＜ＯＰ１＞は，クライアント20において第１の公開鍵ＯＰ１で暗号化されたものであるので（図47；ステップ232 ），第１の秘密鍵Ｓ１を用いた復号処理によって，暗号化秘密データＳＤ１＜ＯＰ１＞から秘密データＳＤ１が生成される。
【０２０６】
得られた秘密データＳＤ１が，管理データ中の秘密データと一致しているかどうかが判断される（ステップ219 ）。
【０２０７】
２つの秘密データが一致している場合には（ステップ219 でYES ），クライアント20から受信した第２の公開鍵ＯＰ２（図45；ステップ142 Ｂ）で，メモリに読込まれている管理データ中の固有鍵ＳＫ１と復号鍵ＳＫ２，ＳＫ３，ＳＫ４とがそれぞれ暗号化される（ステップ220 ）。暗号化固有鍵ＳＫ１＜ＯＰ２＞と暗号化復号鍵ＳＫ２＜ＯＰ２＞，ＳＫ３＜ＯＰ２＞，ＳＫ４＜ＯＰ２＞とが生成される。暗号化固有鍵と暗号化復号鍵とがクライアント20に送信される（ステップ221 ）。
【０２０８】
クライアント20が鍵管理サーバ10から暗号化固有鍵と暗号化復号鍵とを受信すると，鍵更新プログラムの処理の進行が再開される（図47；ステップ234 でYES ）。鍵更新プログラムは，クライアント20のメモリに保持されている第２の秘密鍵Ｓ２で，鍵管理サーバ10から受信した暗号化固有鍵ＳＫ１＜ＯＰ２＞と暗号化復号鍵ＳＫ２＜ＯＰ２＞，ＳＫ３＜ＯＰ２＞，ＳＫ４＜ＯＰ２＞とを復号する（ステップ235 ）。上述したように，暗号化固有鍵と暗号化復号鍵とは鍵管理サーバ10において第２の公開鍵ＯＰ２によって暗号化されたものであるので（図46；ステップ220 ），暗号化固有鍵ＳＫ１＜ＯＰ２＞から固有鍵ＳＫ１が，暗号化復号鍵ＳＫ２＜ＯＰ２＞，ＳＫ３＜ＯＰ２＞，ＳＫ４＜ＯＰ２＞から復号鍵ＳＫ２，ＳＫ３，ＳＫ４が，それぞれ生成される。生成された固有鍵と復号鍵とがクライアント20の制御装置のメモリに保持される（ステップ236 ）。
【０２０９】
鍵管理サーバ10において，暗号化秘密データとともに受信したＩＤと，メモリに格納されている管理データ中のＩＤとが一致していない場合には（図46；ステップ217 でNO），鍵配信プログラムはそのまま処理を終了する。クライアントに固有鍵（暗号化固有鍵）が配信されない（ステップ221 が処理されない）ので，そのクライアントのユーザ（社員）は，平文の暗号化処理および暗号文の復号処理のいずれもを行うことができない（図44；ステップ123 でNO）。クライアントから送信された暗号化秘密データを復号することによって得られる秘密データと，鍵管理サーバ10の管理データベース15Ｄの管理データ中にあらかじめ記憶されている秘密データとが一致しない場合にも，クライアントに暗号化固有鍵が配信されないので，暗号化処理および復号処理は許可されない（図46；ステップ219 でNO，図44；ステップ123 でNO）。
【０２１０】
暗号システムのユーザ（社員）は秘密データを持つ。第三者が暗号システムのユーザになりすましてＩＤと第２の公開鍵とを鍵管理サーバ10に送信したとしても，秘密データを持たない場合には暗号化秘密データが鍵管理サーバ10に送信されないので，その第三者は固有鍵および復号鍵を入手することができない。暗号システムの不正な利用が防止される。また，秘密データは，クライアントから鍵管理サーバ10に暗号化されて送信されるので，セキュリティを確保することができる。
【０２１１】
上述の第１実施例〜第５実施例において処理を実行するプログラムは，ネットワーク１を介してインストールすることによって，またはＣＤ−ＲＯＭ等に記録されたものをインストールすることによって，鍵管理サーバ10またはクライアント20，30・・・の記憶装置に記憶させることができる。
【図面の簡単な説明】
【図１】暗号システムの全体的構成を示すブロック図である。
【図２】企業等の管理体制の一例を示す。
【図３】第１実施例における暗号システムの全体的構成を示す。
【図４】  (A)，(B)，(C)，(D)は，それぞれＩＤ１の社員，ＩＤ２の社員，ＩＤ３の社員，ＩＤ４の社員が持つ管理データの内容を示す。
【図５】管理データベースの内容を示す。
【図６】管理データ作成プログラムの処理の流れを示すフローチャートである。
【図７】固有データ作成プログラムの処理の流れを示すフローチャートである。
【図８】管理データベースの内容の他の例を示す。
【図９】管理データベースの内容のさらに他の例を示す。
【図１０】管理データベースの内容のさらに他の例を示す。
【図１１】暗号化プログラムの処理の流れを示すフローチャートである。
【図１２】鍵配信プログラムの処理の流れを示すフローチャートである。
【図１３】鍵更新プログラムの処理の流れを示すフローチャートである。
【図１４】復号プログラムの処理の流れを示すフローチャートである。
【図１５】  (A) はＩＤ１の社員の管理データが更新される様子を，(B) はＩＤ２の社員の管理データが更新される様子を，それぞれ示している。
【図１６】  (A) はＩＤ３の社員の管理データが更新される様子を，(B) はＩＤ１の社員の管理データが更新される様子を，(C) はＩＤ２の社員の管理データが更新される様子を，それぞれ示している。
【図１７】ＩＤ４の社員の管理データが更新される様子を示している。
【図１８】第２実施例における暗号システムの全体的構成を示す。
【図１９】  (A)，(B)，(C)，(D)は，それぞれ第２実施例においてＩＤ１の社員，ＩＤ２の社員，ＩＤ３の社員，ＩＤ４の社員が持つ管理データの内容を示す。
【図２０】第２実施例における固有データ作成プログラムの処理の流れを示すフローチャートである。
【図２１】暗号化／復号プログラムの処理の流れを示すフローチャートである。
【図２２】第２実施例における鍵配信プログラムの処理の流れを示すフローチャートである。
【図２３】第２実施例における鍵更新プログラムの処理の流れを示すフローチャートである。
【図２４】暗号化／復号プログラムの他の処理の流れを示すフローチャートである。
【図２５】第３実施例における暗号システムの全体的構成を示す。
【図２６】管理データベースの内容の他の例を示す。
【図２７】  (A)，(B)，(C)，(D)は，それぞれ第３実施例においてＩＤ１の社員，ＩＤ２の社員，ＩＤ３の社員，ＩＤ４の社員が持つ管理データの内容を示す。
【図２８】第３実施例における固有データ作成プログラムの処理の流れを示すフローチャートである。
【図２９】公開鍵／秘密鍵生成プログラムの処理と，公開鍵受信プログラムの処理とを表すフローチャートである。
【図３０】第３実施例における暗号化／復号プログラムの処理の流れを示すフローチャートである。
【図３１】第３実施例における鍵配信プログラムの処理の流れを示すフローチャートである。
【図３２】第３実施例における鍵更新プログラムの処理の流れを示すフローチャートである。
【図３３】第３実施例の変形例における暗号化／復号プログラムの処理の流れを示すフローチャートである。
【図３４】第４実施例における暗号システムの全体的構成を示す。
【図３５】管理データベースの内容の他の例を示す。
【図３６】第４実施例における管理データ作成プログラムの処理の流れを示すフローチャートである。
【図３７】  (A)，(B)，(C)，(D)は，それぞれ第４実施例においてＩＤ１の社員，ＩＤ２の社員，ＩＤ３の社員，ＩＤ４の社員が持つ管理データの内容を示す。
【図３８】第４実施例における固有データ作成プログラムの処理の流れを示すフローチャートである。
【図３９】第５実施例における暗号システムの全体的構成を示す。
【図４０】管理データベースの内容の他の例を示す。
【図４１】第５実施例における管理データ作成プログラムの処理の流れを示すフローチャートである。
【図４２】  (A)，(B)，(C)，(D)は，それぞれ第５実施例においてＩＤ１の社員，ＩＤ２の社員，ＩＤ３の社員，ＩＤ４の社員が持つ管理データの内容を示す。
【図４３】第５実施例における固有データ作成プログラムの処理の流れを示すフローチャートである。
【図４４】第５実施例における暗号化／復号プログラムの処理の流れを示すフローチャートである。
【図４５】第５実施例における鍵配信プログラムの処理の流れを示すフローチャートである。
【図４６】第５実施例における鍵配信プログラムの処理の流れを示すフローチャートである。
【図４７】第５実施例における鍵更新プログラムの処理の流れを示すフローチャートである。
【図４８】第５実施例における鍵および秘密データの暗号化処理および復号処理の概要を示す。
【符号の説明】
１  ネットワーク
10  鍵管理サーバ
11，21，31  制御装置
12  第１記憶装置
13  第２記憶装置
20，30，40，50  クライアント
14，23，33  ＦＤＤ
15，15Ａ，15Ｂ，15Ｃ，15Ｄ  管理データベース
25，25Ａ，25Ｂ，25Ｃ，35，35Ａ，35Ｂ，35Ｃ，45，45Ａ，45Ｂ，45Ｃ，55，  55Ａ，55Ｂ，55Ｃ，55Ｄ  管理データ
【図１】
0003993989.tif 000002
【図２】
0003993989.tif 000003
【図３】
0003993989.tif 000004
【図４】
0003993989.tif 000005
【図５】
0003993989.tif 000006
【図６】
0003993989.tif 000007
【図７】
0003993989.tif 000008
【図８】
0003993989.tif 000009
【図９】
0003993989.tif 000010
【図１０】
0003993989.tif 000011
【図１１】
0003993989.tif 000012
【図１２】
0003993989.tif 000013
【図１３】
0003993989.tif 000014
【図１４】
0003993989.tif 000015
【図１５】
0003993989.tif 000016
【図１６】
0003993989.tif 000017
【図１７】
0003993989.tif 000018
【図１８】
0003993989.tif 000019
【図１９】
0003993989.tif 000020
【図２０】
0003993989.tif 000021
【図２１】
0003993989.tif 000022
【図２２】
0003993989.tif 000023
【図２３】
0003993989.tif 000024
【図２４】
0003993989.tif 000025
【図２５】
0003993989.tif 000026
【図２６】
0003993989.tif 000027
【図２７】
0003993989.tif 000028
【図２８】
0003993989.tif 000029
【図２９】
0003993989.tif 000030
【図３０】
0003993989.tif 000031
【図３１】
0003993989.tif 000032
【図３２】
0003993989.tif 000033
【図３３】
0003993989.tif 000034
【図３４】
0003993989.tif 000035
【図３５】
0003993989.tif 000036
【図３６】
0003993989.tif 000037
【図３７】
0003993989.tif 000038
【図３８】
0003993989.tif 000039
【図３９】
0003993989.tif 000040
【図４０】
0003993989.tif 000041
【図４１】
0003993989.tif 000042
【図４２】
0003993989.tif 000043
【図４３】
0003993989.tif 000044
【図４４】
0003993989.tif 000045
【図４５】
0003993989.tif 000046
【図４６】
0003993989.tif 000047
【図４７】
0003993989.tif 000048
【図４８】
0003993989.tif 000049