(57)【特許請求の範囲】
【請求項１】
各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，固有公開鍵，およびユーザが復号可能な暗号ファイルの作成者の固有ＩＤである復号対象者ＩＤを記憶する管理データベースを備えた鍵管理サーバと，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，ならびにセッション・キー生成手段を備えたクライアントとが，ネットワークを通じて相互に接続される暗号システムであり，
上記クライアントは，
平文データの入力を受付ける平文データ入力手段，
平文データが受付けられた場合に，固有データ記憶手段に記憶された固有ＩＤを鍵管理サーバに送信する第１の送信手段，
上記セッション・キー生成手段によってセッション・キーを生成し，生成したセッション・キーで受付けられた平文データを暗号化して暗号データを生成する暗号データ生成手段，
鍵管理サーバから送信される暗号化固有鍵を，固有データ記憶手段に記憶されている固有秘密鍵で復号して固有鍵を得，得られた固有鍵で上記セッション・キーを暗号化して第１暗号化セッション・キーを生成し，固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，作成者ＩＤおよび生成された第１暗号化セッション・キーを暗号データに付加することによって暗号ファイルを生成する暗号ファイル生成手段，
暗号ファイルの入力を受付ける暗号ファイル入力手段，
暗号ファイルが受付けられた場合に，固有データ記憶手段に記憶された固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，受付けられた暗号ファイル中の作成者ＩＤおよび第１暗号化セッション・キーを鍵管理サーバに送信する第２の送信手段，ならびに
上記鍵管理サーバから送信される第２暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る復号手段を備えており，
上記鍵管理サーバは，
クライアントから送信される固有ＩＤに対応して管理データベースに記憶されている固有公開鍵で，上記固有ＩＤに対応して管理データベースに記憶されている固有鍵を暗号化して暗号化固有鍵を生成し，生成した暗号化固有鍵をクライアントに送信する第１の送信手段，
クライアントから送信される復号実行者ＩＤに対応して，復号実行者ＩＤとともに上記クライアントから送信される作成者ＩＤが上記管理データベースに復号対象者ＩＤとして記憶されているかどうかを判断する判断手段，ならびに
上記判断手段によって，上記作成者ＩＤが管理データベースに復号対象者ＩＤとして記憶されていると判断された場合に，上記作成者ＩＤに対応して管理データベースに記憶されている固有鍵で，上記復号実行者ＩＤおよび作成者ＩＤとともにクライアントから送信される第１暗号化セッション・キーを復号してセッション・キーを得，得られたセッション・キーを，上記復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化して第２暗号化セッション・キーを生成し，生成された第２暗号化セッション・キーをクライアントに送信する第２の送信手段を備えている，暗号システム。
【請求項２】
各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，固有公開鍵，およびユーザが復号可能な暗号ファイルの作成者の固有ＩＤである復号対象者ＩＤを記憶する管理データベースを備えた鍵管理サーバと，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，ならびにセッション・キー生成手段を備えたクライアントとが，ネットワークを通じて相互に接続される暗号システムであり，
上記クライアントは，
平文データの入力を受付ける平文データ入力手段，
平文データが受付けられた場合に，上記セッション・キー生成手段でセッション・キーを生成し，生成したセッション・キーで入力された平文データを暗号化して暗号データを生成する暗号データ生成手段，
上記セッション・キーを，固有データ記憶手段に記憶された固有秘密鍵で暗号化して第１暗号化セッション・キーを生成し，上記固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，作成者ＩＤおよび生成された第１暗号化セッション・キーを鍵管理サーバに送信する第１の送信手段，
固有データ記憶手段に記憶された作成者ＩＤおよび鍵管理サーバから送信される第２暗号化セッション・キーを上記暗号データに付加することによって暗号ファイルを生成する暗号ファイル生成手段，
暗号ファイルの入力を受付ける暗号ファイル入力手段，
暗号ファイルが受付けられた場合に，固有データ記憶手段に記憶された固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，受付けられた暗号ファイル中の作成者ＩＤおよび第２暗号化セッション・キーを鍵管理サーバに送信する第２の送信手段，ならびに
鍵管理サーバから送信される第３暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る復号手段を備えており，
上記鍵管理サーバは，
クライアントから送信される第１暗号化セッション・キーを，上記第１暗号化セッション・キーとともにクライアントから送信される作成者ＩＤに対応して管理データベースに記憶されている固有公開鍵で復号してセッション・キーを得，得られたセッション・キーを，上記作成者ＩＤに対応して管理データベースに記憶されている固有鍵で暗号化して第２暗号化セッション・キーを生成し，生成した第２暗号化セッション・キーをクライアントに送信する第１の送信手段，
クライアントから送信される復号実行者ＩＤに対応して，上記復号実行者ＩＤとともにクライアントから送信される作成者ＩＤが上記管理データベースに復号対象者ＩＤとして記憶されているかどうかを判断する判断手段，ならびに
上記判断手段によって上記作成者ＩＤが管理データベースに復号対象者ＩＤとして記憶されていると判断された場合に，上記作成者ＩＤに対応して管理データベースに記憶されている固有鍵で，上記復号実行者ＩＤおよび上記作成者ＩＤとともにクライアントから送信される第２暗号化セッション・キーを復号してセッション・キーを得，得られたセッション・キーを，上記復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化して第３暗号化セッション・キーを生成し，生成された第３暗号化セッション・キーをクライアントに送信する第２の送信手段を備えている，暗号システム。
【請求項３】
各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，固有公開鍵，およびユーザが復号可能な暗号ファイルの作成者の固有ＩＤである復号対象者ＩＤを記憶する管理データベース，ならびに共通公開鍵および共通秘密鍵の対を記憶する共通鍵記憶手段を備えた鍵管理サーバと，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，上記共通公開鍵を記憶する共通公開鍵記憶手段，ならびにセッション・キー生成手段を備えたクライアントとが，ネットワークを通じて相互に接続される暗号システムであり，
上記クライアントは，
平文データの入力を受付ける平文データ入力手段，
平文データが受付けられた場合に，上記セッション・キー生成手段でセッション・キーを生成し，生成したセッション・キーで入力された平文データを暗号化して暗号データを生成する暗号データ生成手段，
上記セッション・キーを，共通公開鍵記憶手段に記憶された共通公開鍵で暗号化して第１暗号化セッション・キーを生成し，上記固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，作成者ＩＤおよび生成された第１暗号化セッション・キーを鍵管理サーバに送信する第１の送信手段，
固有データ記憶手段に記憶された作成者ＩＤおよび鍵管理サーバから送信される第２暗号化セッション・キーを上記暗号データに付加することによって暗号ファイルを生成する暗号ファイル生成手段，
暗号ファイルの入力を受付ける暗号ファイル入力手段，
暗号ファイルが受付けられた場合に，固有データ記憶手段に記憶された固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，受付けられた暗号ファイル中の作成者ＩＤおよび第２暗号化セッション・キーを鍵管理サーバに送信する第２の送信手段，ならびに
鍵管理サーバから送信される第３暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る復号手段を備えており，
上記鍵管理サーバは，
クライアントから送信される第１暗号化セッション・キーを，共通鍵記憶手段に記憶されている共通秘密鍵で復号してセッション・キーを得，得られたセッション・キーを，上記第１暗号化セッション・キーとともにクライアントから送信される作成者ＩＤに対応して管理データベースに記憶されている固有鍵で暗号化して第２暗号化セッション・キーを生成し，生成した第２暗号化セッション・キーをクライアントに送信する第１の送信手段，
クライアントから送信される復号実行者ＩＤに対応して，上記復号実行者ＩＤとともにクライアントから送信される作成者ＩＤが上記管理データベースに復号対象者ＩＤとして記憶されているかどうかを判断する判断手段，ならびに
上記判断手段によって上記作成者ＩＤが管理データベースに復号対象者ＩＤとして記憶されていると判断された場合に，上記作成者ＩＤに対応して管理データベースに記憶されている固有鍵で，上記復号実行者ＩＤおよび上記作成者ＩＤとともにクライアントから送信される第２暗号化セッション・キーを復号してセッション・キーを得，得られたセッション・キーを，上記復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化して第３暗号化セッション・キーを生成し，生成された第３暗号化セッション・キーをクライアントに送信する第２の送信手段を備えている，暗号システム。
【請求項４】
各ユーザについて，ユーザに固有の固有ＩＤ，固有公開鍵，およびユーザが属するグループのグループＩＤを記憶する第１管理データベース，ならびに各グループについてグループに固有のグループＩＤおよびグループ鍵を記憶する第２管理データベースを備えた鍵管理サーバと，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，ならびにセッション・キー生成手段を備えたクライアントとが，ネットワークを通じて相互に接続される暗号システムであり，
上記クライアントは，
平文データの入力を受付ける平文データ入力手段，
平文データが受付けられた場合に，上記セッション・キー生成手段でセッション・キーを生成し，生成したセッション・キーで入力された平文データを暗号化して暗号データを生成する暗号データ生成手段，
上記セッション・キーを，固有データ記憶手段に記憶された固有秘密鍵で暗号化して第１暗号化セッション・キーを生成し，上記固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，作成者ＩＤおよび生成された第１暗号化セッション・キーを鍵管理サーバに送信する第１の送信手段，
鍵管理サーバから送信されるグループＩＤおよびグループ暗号化セッション・キーを上記暗号データに付加することによって暗号ファイルを生成する暗号ファイル生成手段，
暗号ファイルの入力を受付ける暗号ファイル入力手段，
暗号ファイルが受付けられた場合に，固有データ記憶手段に記憶された固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，受付けられた暗号ファイル中のグループＩＤおよびグループ暗号化セッション・キーを鍵管理サーバに送信する第２の送信手段，ならびに
鍵管理サーバから送信される第２暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る復号手段を備えており，
上記鍵管理サーバは，
クライアントから送信される第１暗号化セッション・キーを，上記第１暗号化セッション・キーとともにクライアントから送信される作成者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で復号してセッション・キーを得，得られたセッション・キーを，上記作成者ＩＤに対応して第１管理データベースに記憶されているグループＩＤに対応して上記第２管理データベースに記憶されているグループ鍵で暗号化してグループ暗号化セッション・キーを生成し，上記グループＩＤおよび生成されたグループ暗号化セッション・キーをクライアントに送信する第１の送信手段，
クライアントから送信される復号実行者ＩＤに対応して，上記復号実行者ＩＤとともにクライアントから送信されるグループＩＤが第１管理データベースに登録されているかどうかを判断する判断手段，ならびに
上記判断手段によって上記グループＩＤが第１管理データベースに登録されていると判断された場合に，上記グループＩＤに対応して第２管理データベースに記憶されているグループ鍵で，上記復号実行者ＩＤおよび上記グループＩＤとともにクライアントから送信される暗号化グループセッション・キーを復号してセッション・キーを得，得られたセッション・キーを，上記復号実行者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で暗号化して第２暗号化セッション・キーを生成し，生成された第２暗号化セッション・キーをクライアントに送信する第２の送信手段を備えている，暗号システム。
【請求項５】
各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，および固有公開鍵を記憶する管理データベースを備えた鍵管理サーバと，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，ならびにセッション・キー生成手段を備えたクライアントとが，ネットワークを通じて相互に接続される暗号システムであり，
上記クライアントは，
平文データの入力を受付ける平文データ入力手段，
平文データが受付けられた場合に，上記セッション・キー生成手段でセッション・キーを生成し，生成したセッション・キーで入力された平文データを暗号化して暗号データを生成する暗号データ生成手段，
復号許可者の指定を受付ける復号許可者指定手段，
上記セッション・キーを，固有データ記憶手段に記憶された固有秘密鍵で暗号化して第１暗号化セッション・キーを生成し，指定された復号許可者の固有ＩＤを指定復号許可者ＩＤとし，かつ上記固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，指定復号許可者ＩＤ，作成者ＩＤおよび生成された第１暗号化セッション・キーを鍵管理サーバに送信する第１の送信手段，
指定復号許可者ＩＤおよび鍵管理サーバから送信された第２暗号化セッション・キーを暗号データに付加することによって暗号ファイルを生成する暗号ファイル作成手段，
暗号ファイルの入力を受付ける暗号ファイル入力手段，
暗号ファイルが受付けられた場合に，固有データ記憶手段に記憶された固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，受付けられた暗号ファイル中の指定復号許可者ＩＤおよび第２暗号化セッション・キーを鍵管理サーバに送信する第２の送信手段，ならびに
鍵管理サーバから送信される第３暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイルの暗号データを復号して平文データを得る復号手段を備えており，
上記鍵管理サーバは，
クライアントから送信される第１暗号化セッション・キーを，上記第１暗号化セッション・キーとともにクライアントから送信される作成者ＩＤに対応して管理データベースに記憶されている固有公開鍵で復号してセッション・キーを得，得られたセッション・キーを，上記第１暗号化セッション・キーおよび上記作成者ＩＤとともにクライアントから送信される指定復号許可者ＩＤに対応して管理データベースに記憶されている固有鍵で暗号化して第２暗号化セッション・キーを生成し，生成された第２暗号化セッション・キーをクライアントに送信する第１の送信手段，
クライアントから送信される復号実行者ＩＤが，上記復号実行者ＩＤとともにクライアントから送信される指定復号許可者ＩＤと同一であるかどうかを判断する判断手段，ならびに
上記判断手段によって上記復号実行者ＩＤが上記指定復号許可者ＩＤと同一であると判断された場合に，上記復号実行者ＩＤに対応して管理データベースに記憶されている固有鍵で，上記復号実行者ＩＤおよび上記指定復号許可者ＩＤとともにクライアントから送信される第２暗号化セッション・キーを復号してセッション・キーを得，得られたセッション・キーを，上記復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化して第３暗号化セッション・キーを生成し，生成された第３暗号化セッション・キーをクライアントに送信する第２の送信手段を備えている，暗号システム。
【請求項６】
各ユーザについて，ユーザに固有の固有ＩＤ，固有公開鍵，ユーザが属するグループのグループＩＤを記憶する第１管理データベース，ならびに各グループについて，グループに固有のグループＩＤおよびグループ鍵を記憶する第２管理データベースを備えた鍵管理サーバと，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，ならびにセッション・キー生成手段を備えたクライアントとが，ネットワークを通じて相互に接続される暗号システムであり，
上記クライアントは，
平文データの入力を受付ける平文データ入力手段，
平文データが受付けられた場合に，上記セッション・キー生成手段でセッション・キーを生成し，生成したセッション・キーで入力された平文データを暗号化して暗号データを生成する暗号データ生成手段，
復号許可グループの指定を受付ける復号許可グループ指定手段，
上記セッション・キーを，固有データ記憶手段に記憶された固有秘密鍵で暗号化して第１暗号化セッション・キーを生成し，指定された復号許可グループのグループＩＤを指定復号許可グループＩＤとし，かつ上記固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，指定復号許可グループＩＤ，作成者ＩＤおよび生成された第１暗号化セッション・キーを鍵管理サーバに送信する第１の送信手段，
指定復号許可グループＩＤおよび鍵管理サーバから送信されるグループ暗号化セッション・キーを上記暗号データに付加することによって暗号ファイルを生成する暗号ファイル生成手段，
暗号ファイルの入力を受付ける暗号ファイル入力手段，
暗号ファイルが受付けられた場合に，固有データ記憶手段に記憶された固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，受付けられた暗号ファイル中の指定復号許可グループＩＤおよびグループ暗号化セッション・キーを鍵管理サーバに送信する第２の送信手段，ならびに
鍵管理サーバから送信される第２暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る復号手段を備えており，
上記鍵管理サーバは，
クライアントから送信される第１暗号化セッション・キーを，上記第１暗号化セッション・キーとともにクライアントから送信される作成者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で復号してセッション・キーを得，得られたセッション・キーを，上記第１暗号化セッション・キーおよび上記作成者ＩＤとともにクライアントから送信される指定復号許可グループＩＤに対応して第２管理データベースに記憶されているグループ鍵で暗号化してグループ暗号化セッション・キーを生成し，生成されたグループ暗号化セッション・キーをクライアントに送信する第１の送信手段，
クライアントから送信される指定復号許可グループＩＤと同じグループＩＤが，上記指定復号許可グループＩＤとともにクライアントから送信される復号実行者ＩＤに対応して第１管理データベースに記憶されているかどうかを判断する判断手段，ならびに
上記判断手段によって上記指定復号許可グループＩＤと同じグループＩＤが第１管理データベースに記憶されていると判断された場合に，上記グループＩＤに対応して第２管理データベースに記憶されているグループ鍵で，上記復号実行者ＩＤおよび指定復号許可グループＩＤとともにクライアントから送信されるグループ暗号化セッション・キーを復号してセッション・キーを得，得られたセッション・キーを，上記復号実行者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で暗号化して第２暗号化セッション・キーを生成し，生成された第２暗号化セッション・キーをクライアントに送信する第２の送信手段を備えている，暗号システム。
【請求項７】
各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，固有公開鍵，およびユーザが復号可能な暗号ファイルの作成者の固有ＩＤである復号対象者ＩＤを記憶する管理データベースを備えた鍵管理サーバと，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，ならびにセッション・キー生成手段を備えたクライアントとが，ネットワークを通じて相互に接続される暗号システムの制御方法であり，
上記クライアントは平文データまたは暗号ファイルの入力を受付け，
平文データを受付けた場合にクライアントは，
固有データ記憶手段に記憶された固有ＩＤを鍵管理サーバに送信し，
固有ＩＤを受信した鍵管理サーバは，
受信した固有ＩＤに対応して管理データベースに記憶されている固有公開鍵で，固有ＩＤに対応して管理データベースに記憶されている固有鍵を暗号化して暗号化固有鍵を生成し，生成した暗号化固有鍵をクライアントに送信し，
暗号化固有鍵を受信したクライアントは，
受信した暗号化固有鍵を，固有データ記憶手段に記憶されている固有秘密鍵で復号して固有鍵を得，セッション・キー生成手段によってセッション・キーを生成し，生成したセッション・キーで受付けられた平文データを暗号化して暗号データを生成し，固有鍵で上記セッション・キーを暗号化して第１の暗号化セッション・キーを生成し，固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，作成者ＩＤおよび生成された第１の暗号化セッション・キーを暗号データに付加することによって暗号ファイルを生成し，
暗号ファイルを受付けた場合にクライアントは，
固有データ記憶手段に記憶された復号実行者の固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，ならびに受付けられた暗号ファイル中の作成者ＩＤおよび第１の暗号化セッション・キーを鍵管理サーバに送信し，
復号実行者ＩＤ，ならびに作成者ＩＤおよび第１の暗号化セッション・キーを受信した鍵管理サーバは，
受信した復号実行者ＩＤに対応して，受信した作成者ＩＤが上記管理データベースに復号対象者ＩＤとして記憶されているかどうかを判断し，
受信した作成者ＩＤが管理データベースに復号対象者ＩＤとして記憶されている場合には，上記作成者ＩＤに対応して管理データベースに記憶されている固有鍵で第１暗号化セッション・キーを復号してセッション・キーを得，得られたセッション・キーを，上記復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化して第２の暗号化セッション・キーを生成し，生成された第２の暗号化セッション・キーをクライアントに送信し，
第２の暗号化セッション・キーを受信したクライアントは，
受信した第２の暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，
得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る，暗号システムの制御方法。
【請求項８】
各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，固有公開鍵，およびユーザが復号可能な暗号ファイルの作成者の固有ＩＤである復号対象者ＩＤを記憶する管理データベースを備えた鍵管理サーバと，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，ならびにセッション・キー生成手段を備えたクライアントとが，ネットワークを通じて相互に接続される暗号システムの制御方法であり，
上記クライアントは平文データまたは暗号ファイルの入力を受付け，
平文データを受付けた場合にクライアントは，
上記セッション・キー生成手段でセッション・キーを生成し，生成したセッション・キーで入力された平文データを暗号化して暗号データを生成し，上記セッション・キーを，固有データ記憶手段に記憶された固有秘密鍵で暗号化して第１暗号化セッション・キーを生成し，上記固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，作成者ＩＤおよび生成された第１暗号化セッション・キーを鍵管理サーバに送信し，
作成者ＩＤおよび第１暗号化セッション・キーを受信した鍵管理サーバは，
受信した第１暗号化セッション・キーを，受信した作成者ＩＤに対応して管理データベースに記憶されている固有公開鍵で復号してセッション・キーを得，得られたセッション・キーを，受信した作成者ＩＤに対応して管理データベースに記憶されている固有鍵で暗号化して第２暗号化セッション・キーを生成し，生成した第２暗号化セッション・キーをクライアントに送信し，
第２暗号化セッション・キーを受信したクライアントは，
固有データ記憶手段に記憶された作成者ＩＤおよび受信した第２暗号化セッション・キーを上記暗号データに付加することによって暗号ファイルを生成し，
暗号ファイルを受付けた場合にクライアントは，
固有データ記憶手段に記憶された復号実行者の固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，ならびに受付けられた暗号ファイル中の作成者ＩＤおよび第２暗号化セッション・キーを鍵管理サーバに送信し，
復号実行者ＩＤ，ならびに作成者ＩＤおよび第２暗号化セッション・キーを受信した鍵管理サーバは，
受信した復号実行者ＩＤに対応して，受信した作成者ＩＤが上記管理データベースに復号対象者ＩＤとして記憶されているかどうかを判断し，受信した作成者ＩＤが管理データベースに復号対象者ＩＤとして記憶されている場合には，上記作成者ＩＤに対応して管理データベースに記憶されている固有鍵で第２暗号化セッション・キーを復号してセッション・キーを得，得られたセッション・キーを，受信した復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化して第３暗号化セッション・キーを生成し，生成された第３暗号化セッション・キーをクライアントに送信し，
第３暗号化セッション・キーを受信したクライアントは，
受信した第３暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，
得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る，暗号システムの制御方法。
【請求項９】
各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，固有公開鍵，およびユーザが復号可能な暗号ファイルの作成者の固有ＩＤである復号対象者ＩＤを記憶する管理データベース，ならびに共通公開鍵および共通秘密鍵の対を記憶する共通鍵記憶手段を備えた鍵管理サーバと，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，上記共通公開鍵を記憶する共通公開鍵記憶手段，ならびにセッション・キー生成手段を備えたクライアントとが，ネットワークを通じて相互に接続される暗号システムの制御方法であり，
上記クライアントは平文データまたは暗号ファイルの入力を受付け，
平文データを受付けた場合にクライアントは，
上記セッション・キー生成手段でセッション・キーを生成し，生成したセッション・キーで入力された平文データを暗号化して暗号データを生成し，上記セッション・キーを，共通公開鍵記憶手段に記憶された共通公開鍵で暗号化して第１暗号化セッション・キーを生成し，上記固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，作成者ＩＤおよび生成された第１暗号化セッション・キーを鍵管理サーバに送信し，
作成者ＩＤおよび第１暗号化セッション・キーを受信した鍵管理サーバは，
受信した第１暗号化セッション・キーを，共通鍵記憶手段に記憶されている共通秘密鍵で復号してセッション・キーを得，得られたセッション・キーを，受信した作成者ＩＤに対応して管理データベースに記憶されている固有鍵で暗号化して第２暗号化セッション・キーを生成し，生成した第２暗号化セッション・キーをクライアントに送信し，
第２暗号化セッション・キーを受信したクライアントは，
固有データ記憶手段に記憶された作成者ＩＤおよび受信した第２暗号化セッション・キーを上記暗号データに付加することによって暗号ファイルを生成し，
暗号ファイルを受付けた場合にクライアントは，
固有データ記憶手段に記憶された復号実行者の固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，ならびに受付けた暗号ファイル中の作成者ＩＤおよび第２暗号化セッション・キーを鍵管理サーバに送信し，
復号実行者ＩＤ，ならびに作成者ＩＤおよび第２暗号化セッション・キーを受信した鍵管理サーバは，
受信した復号実行者ＩＤに対応して，受信した作成者ＩＤが上記管理データベースに復号対象者ＩＤとして記憶されているかどうかを判断し，受信した作成者ＩＤが管理データベースに復号対象者ＩＤとして記憶されている場合には，上記作成者ＩＤに対応して管理データベースに記憶されている固有鍵で第２暗号化セッション・キーを復号してセッション・キーを得，得られたセッション・キーを，受信した復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化して第３暗号化セッション・キーを生成し，生成された第３暗号化セッション・キーをクライアントに送信し，
第３暗号化セッション・キーを受信したクライアントは，
受信した第３暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，
得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る，暗号システムの制御方法。
【請求項１０】
各ユーザについて，ユーザに固有の固有ＩＤ，固有公開鍵，およびユーザが属するグループのグループＩＤを記憶する第１管理データベース，ならびに各グループについてグループに固有のグループＩＤおよびグループ鍵を記憶する第２管理データベースを備えた鍵管理サーバと，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，ならびにセッション・キー生成手段を備えたクライアントとが，ネットワークを通じて相互に接続される暗号システムの制御方法であり，
上記クライアントは平文データまたは暗号ファイルの入力を受付け，
平文データを受付けた場合にクライアントは，
上記セッション・キー生成手段でセッション・キーを生成し，生成したセッション・キーで入力された平文データを暗号化して暗号データを生成し，上記セッション・キーを，固有データ記憶手段に記憶された固有秘密鍵で暗号化して第１暗号化セッション・キーを生成し，上記固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，作成者ＩＤおよび生成された第１暗号化セッション・キーと鍵管理サーバに送信し，
作成者ＩＤおよび第１暗号化セッション・キーを受信した鍵管理サーバは，
受信した第１暗号化セッション・キーを，受信した作成者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で復号してセッション・キーを得，得られたセッション・キーを，受信した作成者ＩＤに対応して第１管理データベースに記憶されているグループＩＤに対応して上記第２管理データベースに記憶されているグループ鍵で暗号化してグループ暗号化セッション・キーを生成し，上記グループＩＤおよび生成されたグループ暗号化セッション・キーをクライアントに送信し，
グループＩＤおよびグループ暗号化セッション・キーを受信したクライアントは，
受信したグループＩＤおよびグループ暗号化セッション・キーを上記暗号データに付加することによって暗号ファイルを作成し，
暗号ファイルを受付けた場合にクライアントは，
固有データ記憶手段に記憶された復号実行者の固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，ならびに受付けられた暗号ファイル中のグループＩＤおよびグループ暗号化セッション・キーを鍵管理サーバに送信し，
復号実行者ＩＤ，ならびにグループＩＤおよびグループ暗号化セッション・キーを受信した鍵管理サーバは，
受信した復号実行者ＩＤに対応して，受信したグループＩＤが第１管理データベースに登録されているかどうかを判断し，受信したグループＩＤが第１管理データベースに登録されている場合には，上記グループＩＤに対応して第２管理データベースに記憶されているグループ鍵で，暗号化グループセッション・キーを復号してセッション・キーを得，得られたセッション・キーを，復号実行者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で暗号化して第２暗号化セッション・キーを生成し，生成された第２暗号化セッション・キーをクライアントに送信し，
第２暗号化セッション・キーを受信したクライアントは，
受信した第２暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る，暗号システムの制御方法。
【請求項１１】
各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，および固有公開鍵を記憶する管理データベースを備えた鍵管理サーバと，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，ならびにセッション・キー生成手段を備えたクライアントとが，ネットワークを通じて相互に接続される暗号システムの制御方法であり，
上記クライアントは平文データまたは暗号ファイルの入力を受付け，
平文データを受付けた場合にクライアントは，
上記セッション・キー生成手段でセッション・キーを生成し，生成したセッション・キーで入力された平文データを暗号化して暗号データを生成し，上記セッション・キーを，固有データ記憶手段に記憶された固有秘密鍵で暗号化して第１暗号化セッション・キーを生成し，復号許可者の指定の入力を受付け，指定された復号許可者の固有ＩＤを指定復号許可者ＩＤとし，かつ上記固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，指定復号許可者ＩＤ，作成者ＩＤおよび生成された第１暗号化セッション・キーを鍵管理サーバに送信し，
指定復号許可者ＩＤ，作成者ＩＤおよび第１暗号化セッション・キーを受信した鍵管理サーバは，
受信した第１暗号化セッション・キーを，受信した作成者ＩＤに対応して管理データベースに記憶されている固有公開鍵で復号してセッション・キーを得，得られたセッション・キーを，受信した指定復号許可者ＩＤに対応して管理データベースに記憶されている固有鍵で暗号化して第２暗号化セッション・キーを生成し，生成された第２暗号化セッション・キーをクライアントに送信し，
第２暗号化セッション・キーを受信したクライアントは，
指定復号許可者ＩＤおよび第２暗号化セッション・キーを暗号データに付加することによって暗号ファイルを生成し，
暗号ファイルを受付けた場合にクライアントは，
固有データ記憶手段に記憶された固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，ならびに受付けた暗号ファイル中の指定復号許可者ＩＤおよび第２暗号化セッション・キーを鍵管理サーバに送信し，
復号実行者ＩＤ，ならびに指定復号許可者ＩＤおよび第２暗号化セッション・キーを受信した鍵管理サーバは，
復号実行者ＩＤが指定復号許可者ＩＤと同一であるかどうかを判断し，同一である場合には，受信した復号実行者ＩＤに対応して管理データベースに記憶されている固有鍵で第２暗号化セッション・キーを復号してセッション・キーを得，得られたセッション・キーを，復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化して第３暗号化セッション・キーを生成し，生成された第３暗号化セッション・キーをクライアントに送信し，
第３暗号化セッション・キーを受信したクライアントは，
受信した第３暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイルの暗号データを復号して平文データを得る，
暗号システムの制御方法。
【請求項１２】
各ユーザについて，ユーザに固有の固有ＩＤ，固有公開鍵，ユーザが属するグループのグループＩＤを記憶する第１管理データベース，ならびに各グループについて，グループに固有のグループＩＤおよびグループ鍵を記憶する第２管理データベースを備えた鍵管理サーバと，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，ならびにセッション・キー生成手段を備えたクライアントとが，ネットワークを通じて相互に接続される暗号システムの制御方法であり，
上記クライアントは平文データまたは暗号ファイルの入力を受付け，
平文データを受付けた場合にクライアントは，
上記セッション・キー生成手段でセッション・キーを生成し，生成したセッション・キーで入力された平文データを暗号化して暗号データを生成し，上記セッション・キーを，固有データ記憶手段に記憶された固有秘密鍵で暗号化して第１暗号化セッション・キーを生成し，復号許可グループの指定の入力を受付け，指定された復号許可グループのグループＩＤを指定復号許可グループＩＤとし，かつ上記固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，指定復号許可グループＩＤ，作成者ＩＤおよび生成された第１暗号化セッション・キーを鍵管理サーバに送信し，
指定復号許可グループＩＤ，作成者ＩＤおよび第１暗号化セッション・キーを受信した鍵管理サーバは，
受信した第１暗号化セッション・キーを，受信した作成者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で復号してセッション・キーを得，得られたセッション・キーを，受信した指定復号許可グループＩＤに対応して第２管理データベースに記憶されているグループ鍵で暗号化してグループ暗号化セッション・キーを生成し，生成されたグループ暗号化セッション・キーをクライアントに配信し，
グループ暗号化セッション・キーを受信したクライアントは，
指定復号許可グループＩＤおよび受信したグループ暗号化セッション・キーを上記暗号データに付加することによって暗号ファイルを生成し，
暗号ファイルを受付けた場合にクライアントは，
固有データ記憶手段に記憶された復号実行者の固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，ならびに受付けられた暗号ファイル中の指定復号許可グループＩＤおよびグループ暗号化セッション・キーを鍵管理サーバに送信し，
復号実行者ＩＤ，ならびに指定復号許可グループＩＤおよびグループ暗号化セッション・キーを受信した鍵管理サーバは，
受信した指定復号許可グループＩＤと同じグループＩＤが，受信した復号実行者ＩＤに対応して第１管理データベースに記憶されているかどうかを判断し，受信した指定復号許可グループＩＤと同じグループＩＤが，受信した復号実行者ＩＤに対応して第１管理データベースに記憶されている場合には，そのグループＩＤに対応して第２管理データベースに記憶されているグループ鍵で，グループ暗号化セッション・キーを復号してセッション・キーを得，得られたセッション・キーを，復号実行者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で暗号化して第２暗号化セッション・キーを生成し，生成された第２暗号化セッション・キーをクライアントに送信し，
第２暗号化セッション・キーを受信したクライアントは，
受信した第２暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る，暗号システムの制御方法。
【請求項１３】
各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，固有公開鍵，およびユーザが復号可能な暗号ファイルの作成者の固有ＩＤである復号対象者ＩＤを記憶する管理データベースを備えた鍵管理サーバとネットワークを通じて相互に接続される復号装置であり，
上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，
平文データの暗号化の度に生成されるセッション・キーで平文データを暗号化した暗号データに，上記暗号データの作成者の固有ＩＤである作成者ＩＤ，および上記暗号データの作成者の固有鍵で上記セッション・キーを暗号化した第１暗号化セッション・キーを付加した暗号ファイルの入力を受付ける暗号ファイル入力手段，
上記復号装置の固有データ記憶手段に記憶された固有ＩＤである復号実行者ＩＤ，ならびに受付けられた暗号ファイル中の作成者ＩＤおよび第１暗号化セッション・キーを鍵管理サーバに送信する送信手段，
復号実行者ＩＤならびに作成者ＩＤおよび第１暗号化セッション・キーを受信した鍵管理サーバから，上記作成者ＩＤに対応して管理データベースに記憶されている固有鍵で上記第１暗号化セッション・キーを復号して得られるセッション・キーを上記復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化した第２暗号化セッション・キーを受信する受信手段，ならびに  受信した第２暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る復号手段，を備えた復号装置。
【請求項１４】
各ユーザについて，ユーザに固有の固有ＩＤ，固有公開鍵，およびユーザが属するグループのグループＩＤを記憶する第１管理データベース，ならびに各グループについて，グループに固有のグループＩＤおよびグループ鍵を記憶する第２管理データベースを備えた鍵管理サーバとネットワークを通じて相互に接続される復号装置であり，
上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，
平文データの暗号化の度に生成されるセッション・キーで平文データを暗号化した暗号データに，上記暗号データの作成者の属するグループのグループＩＤ，および上記グループＩＤに対応するグループ鍵で上記セッション・キーを暗号化したグループ暗号化セッション・キーを付加した暗号ファイルの入力を受付ける暗号ファイル入力手段，
上記復号装置の固有データ記憶手段に記憶された固有ＩＤである復号実行者ＩＤ，ならびに受付けられた暗号ファイル中のグループＩＤおよびグループ暗号化セッション・キーを鍵管理サーバに送信する送信手段，
復号実行者ＩＤ，ならびにグループＩＤおよびグループ暗号化セッション・キーとを受信した鍵管理サーバから，上記グループＩＤに対応して第２管理データベースに記憶されているグループ鍵で暗号化グループセッション・キーを復号して得られるセッション・キーを上記復号実行者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で暗号化した暗号化セッション・キーを受信する受信手段，ならびに
受信した暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る復号手段，を備えた復号装置。
【請求項１５】
各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵および固有公開鍵を記憶する管理データベースを備えた鍵管理サーバとネットワークを通じて相互に接続される復号装置であり，
上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，
平文データの暗号化の度に生成されるセッション・キーで平文データを暗号化した暗号データに，上記暗号データの作成者によって指定された復号許可者の固有ＩＤである指定復号許可者ＩＤ，および上記指定復号許可者ＩＤに対応して管理データベースに記憶されている固有鍵で上記セッション・キーを暗号化した第１暗号化セッション・キーを付加した暗号ファイルの入力を受付ける暗号ファイル入力手段，
上記復号装置の固有データ記憶手段に記憶された固有ＩＤである復号実行者ＩＤ，ならびに受付けられた暗号ファイル中の指定復号許可者ＩＤおよび第１暗号化セッション・キーを鍵管理サーバに送信する送信手段，
復号実行者ＩＤ，ならびに指定復号許可者ＩＤおよび第２暗号化セッション・キーを受信した鍵管理サーバから，上記復号実行者ＩＤに対応して管理データベースに記憶されている固有鍵で上記第１暗号化セッション・キーを復号して得られるセッション・キーを上記復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化した第２暗号化セッション・キーを受信する受信手段，ならびに
受信した第２暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイルの暗号データを復号して平文データを得る復号手段，を備えた復号装置。
【請求項１６】
各ユーザについて，ユーザに固有の固有ＩＤ，固有公開鍵，おびユーザが属するグループのグループＩＤを記憶する第１管理データベース，ならびに各グループについて，グループに固有のグループＩＤおよびグループ鍵を記憶する第２管理データベースを備えた鍵管理サーバとネットワークを通じて相互に接続される復号装置であり，
上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，
平文データの暗号化の度に生成されるセッション・キーで平文データを暗号した暗号データに，上記暗号データの作成者によって指定された復号許可グループのグループＩＤである指定復号許可グループＩＤ，および上記指定復号許可グループＩＤに対応して第２管理データベースに記憶されているグループ鍵で上記セッション・キーを暗号化したグループ暗号化セッション・キーを付加した暗号ファイルの入力を受付ける暗号ファイル入力手段，
上記復号装置の固有データ記憶手段に記憶された固有ＩＤである復号実行者ＩＤ，ならびに受付けられた暗号ファイル中の指定復号許可グループＩＤおよびグループ暗号化セッション・キーを鍵管理サーバに送信する送信手段，
復号実行者ＩＤ，ならびに指定復号許可グループＩＤおよびグループ暗号化セッション・キーを受信した鍵管理サーバから，上記グループＩＤに対応して第２管理データベースに記憶されているグループ鍵でグループ暗号化セッション・キーを復号して得られるセッション・キーを上記復号実行者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で暗号化した第２暗号化セッション・キーを受信する受信手段，ならびに
受信した第２暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る復号手段，を備えた復号装置。
【請求項１７】
各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，固有公開鍵および復号可能な暗号ファイルの作成者の固有ＩＤである復号対象者ＩＤを記憶する管理データベースを備えた鍵管理サーバとネットワークを通じて相互に接続され，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段を備えた復号装置を制御するプログラムであり，
平文データの暗号化の度に生成されるセッション・キーで平文データを暗号化した暗号データに，その暗号データの作成者の固有ＩＤである作成者ＩＤ，および上記暗号データの作成者の固有鍵で上記セッション・キーを暗号化した第１暗号化セッション・キーを付加した暗号ファイルの入力を受付けさせ，
上記復号装置の固有データ記憶手段に記憶された固有ＩＤである復号実行者ＩＤ，ならびに受付けられた暗号ファイル中の作成者ＩＤおよび第１暗号化セッション・キーを鍵管理サーバに送信させ，
復号実行者ＩＤならびに作成者ＩＤおよび第１の暗号化セッション・キーを受信した鍵管理サーバから，上記作成者ＩＤに対応して管理データベースに記憶されている固有鍵で第１暗号化セッション・キーを復号して得られるセッション・キーを上記復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化した第２暗号化セッション・キーを受信したときに，
受信した第２暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得るように復号装置を制御する，プログラム。
【請求項１８】
各ユーザについて，ユーザに固有の固有ＩＤ，固有公開鍵，およびユーザが属するグループのグループＩＤを記憶する第１管理データベース，ならびに各グループについて，グループに固有のグループＩＤおよびグループ鍵を記憶する第２管理データベースを備えた鍵管理サーバとネットワークを通じて相互に接続され，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段を備えた復号装置の制御プログラムであり，
平文データの暗号化の度に生成されるセッション・キーで平文データを暗号化した暗号データに，その暗号データの作成者の属するグループのグループＩＤ，および上記グループＩＤに対応するグループ鍵で上記セッション・キーを暗号化したグループ暗号化セッション・キーを付加した暗号ファイルの入力を受付けさせ，
上記復号装置の固有データ記憶手段に記憶された固有ＩＤである復号実行者ＩＤならびに受付けられた暗号ファイル中のグループＩＤおよびグループ暗号化セッション・キーを鍵管理サーバに送信させ，
復号実行者ＩＤ，ならびにグループＩＤおよびグループ暗号化セッション・キーとを受信した鍵管理サーバから，上記グループＩＤに対応して第２管理データベースに記憶されているグループ鍵で暗号化グループセッション・キーを復号して得られるセッション・キーを上記復号実行者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で暗号化した暗号化セッション・キーを受信したときに，
受信した暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得るように復号装置を制御する，プログラム。
【請求項１９】
各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，および固有公開鍵を記憶する管理データベースを備えた鍵管理サーバとネットワークを通じて相互に接続され，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段を備えた復号装置の制御プログラムであり，
平文データの暗号化の度に生成されるセッション・キーで平文データを暗号化した暗号データに，その暗号データの作成者によって指定された復号許可者の固有ＩＤである指定復号許可者ＩＤ，および上記指定復号許可者ＩＤに対応して管理データベースに記憶されている固有鍵でセッション・キーを暗号化した第１暗号化セッション・キーを付加した暗号ファイルの入力を受付けさせ，
上記復号装置の固有データ記憶手段に記憶された固有ＩＤである復号実行者ＩＤ，ならびに受付けられた暗号ファイル中の指定復号許可者ＩＤおよび第１暗号化セッション・キーを鍵管理サーバに送信させ，
復号実行者ＩＤ，ならびに指定復号許可者ＩＤおよび第２暗号化セッション・キーを受信した鍵管理サーバから，上記復号実行者ＩＤに対応して管理データベースに記憶されている固有鍵で第１暗号化セッション・キーを復号して得られるセッション・キーを上記復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化した第２暗号化セッション・キーを受信したときに，
受信した第２暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイルの暗号データを復号して平文データを得るように復号装置を制御する，プログラム。
【請求項２０】
各ユーザについて，ユーザに固有の固有ＩＤ，固有公開鍵，およびそのユーザが属するグループのグループＩＤを記憶する第１管理データベース，ならびに各グループについて，グループに固有のグループＩＤおよびグループ鍵を記憶する第２管理データベースを備えた鍵管理サーバとネットワークを通じて相互に接続され，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段を備えた復号装置の制御プログラムであり，
平文データの暗号化の度に生成されるセッション・キーで平文データを暗号した暗号データに，その暗号データの作成者によって指定された復号許可グループのグループＩＤである指定復号許可グループＩＤ，および上記指定復号許可グループＩＤに対応して第２管理データベースに記憶されているグループ鍵で上記セッション・キーを暗号化したグループ暗号化セッション・キーを付加した暗号ファイルの入力を受付けさせ，
上記復号装置の固有データ記憶手段に記憶された固有ＩＤである復号実行者ＩＤ，ならびに受付けられた暗号ファイル中の指定復号許可グループＩＤおよびグループ暗号化セッション・キーを鍵管理サーバに送信させ，
復号実行者ＩＤならびに指定復号許可グループＩＤおよびグループ暗号化セッション・キーを受信した鍵管理サーバから，上記グループＩＤに対応して第２管理データベースに記憶されているグループ鍵でグループ暗号化セッション・キーを復号して得られるセッション・キーを上記復号実行者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で暗号化した第２暗号化セッション・キーを受信したときに，
受信した第２暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得るように復号装置を制御する，プログラム。
【請求項２１】
請求の範囲第１７項から第２０項のいずれか一項に記載のプログラムを記録した，記録媒体。
【発明の詳細な説明】
技術分野
この発明は，暗号システムおよびその制御方法に関する。
発明の背景
ユーザに対しコンピュータを用いた平文の暗号化処理および暗号文の復号処理を提供する暗号システムにおいて，特定のユーザに対して他のユーザが作成した暗号文の復号を許す権限（復号権限）を与えることがある。この場合，単に特定のユーザに対して他のユーザが暗号化／復号処理に用いる鍵を配布する態様では，権限内容の変更に迅速に対応することができない。また，ネットワークを利用した暗号システムでは，復号権限を持つユーザになりすまして不当に他のユーザが作成した暗号文を復号するような行為を防止するための対策も必要とされる。
発明の開示
この発明は，復号権限の変更が容易で，かつ復号権限を持たない者が容易に復号権限を持つ者になりすまして不当に暗号文を復号することができないようにする暗号システムおよびその制御方法を提供することを目的とする。
第１の発明による暗号システムは，ネットワークで結ばれた鍵管理サーバとクライアントとから構成される。鍵管理サーバは，各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，固有公開鍵，およびユーザが復号可能な暗号ファイルの作成者の固有ＩＤである復号対象者ＩＤを記憶する管理データベースを備えている。クライアントは，固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，ならびにセッション・キー生成手段を備えている。固有データ記憶手段は，クライアントに着脱可能な媒体（たとえば，フロッピィ・ディスク等）でもよいし，クライアントに固定された記憶装置（ハードディスク等）でもよい。
上記クライアントは，平文データの入力を受付ける。後述するように，第１の発明による暗号システムにおいて生成される暗号ファイルは，受付けられた平文データを暗号化した暗号データを含みかつ暗号システムにおける復号処理に適したデータ構造を持つ。暗号ファイルの作成は，次のようにして行われる。
上記クライアントは，平文データが受付けられた場合に，固有データ記憶手段に記憶された固有ＩＤを鍵管理サーバに送信する。この固有ＩＤはクライアントごと，すなわち暗号システムの利用ユーザごとに異なるＩＤである。
鍵管理サーバの管理データベースには，上述のように固有ＩＤに対応して固有公開鍵および固有鍵が記憶されている。鍵管理サーバはクライアントから送信された固有ＩＤを受信し，受信した固有ＩＤに対応して管理データベースに記憶されている固有公開鍵で，固有ＩＤに対応して管理データベースに記憶されている固有鍵を暗号化して暗号化固有鍵を生成する。生成した暗号化固有鍵がクライアントに送信される。
クライアントは暗号化固有鍵を受信する。暗号化固有鍵を受信したクライアントでは，セッション・キー生成手段によってセッション・キーを生成し，生成したセッション・キーで受付けられた平文データを暗号化して暗号データを生成する。そして，鍵管理サーバから送信された暗号化固有鍵を，固有データ記憶手段に記憶されている固有秘密鍵で復号して固有鍵を得る。この固有秘密鍵は，鍵管理サーバにおいて固有鍵の暗号化に用いられた固有公開鍵と対をなす固有秘密鍵であるので，固有公開鍵で暗号化された暗号化固有鍵が固有秘密鍵で復号される（固有鍵が得られる）。固有公開鍵および固有秘密鍵の対は，暗号システムの利用ユーザごとに異なる。
クライアントでは，得られた固有鍵で上記セッション・キーを暗号化して第１暗号化セッション・キーを生成する。固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，作成者ＩＤおよび生成された第１暗号化セッション・キーを暗号データに付加することによって暗号ファイルを生成する。このように，第１の暗号システムにおいて生成される暗号ファイルは，平文データを暗号化した暗号データに，作成者ＩＤおよび第１暗号化セッション・キー（暗号データの生成に用いられたセッション・キーを暗号ファイルの作成者の固有鍵で暗号化したもの）が付加されたものである。生成された暗号ファイルは，暗号ファイルの生成に用いられたクライアントの記憶装置（ハードディスク，フロッピー・ディスク等），または他のコンピュータの記憶装置に記憶される。
上述にようにして生成された暗号ファイルの復号処理は次のようにして行われる。
クライアントに暗号ファイルの入力が受付けられる。暗号ファイルが受付けられた場合には，クライアントは，固有データ記憶手段に記憶された固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，ならびに受付けられた暗号ファイル中の作成者ＩＤおよび第１暗号化セッション・キーを鍵管理サーバに送信する。
鍵管理サーバは，クライアントから送信された復号実行者ＩＤに対応して，受信した作成者ＩＤが上記管理データベースに復号対象者ＩＤとして記憶されているかどうかを判断する。
受信した作成者ＩＤが管理データベースに復号対象者ＩＤとして記憶されていると判断された場合に，上記作成者ＩＤに対応して管理データベースに記憶されている固有鍵で第１暗号化セッション・キーを復号してセッション・キーを得，得られたセッション・キーを，上記復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化して第２暗号化セッション・キーを生成する。
入力された暗号ファイルの作成者が，暗号ファイルを復号しようとしている復号者である場合（そのようなユーザのクライアントに暗号ファイルが入力された場合）（自分自身が作成した暗号ファイルを復号する場合である）には，暗号ファイルに付加されている作成者ＩＤは，復号実行者ＩＤと同じになる。入力された暗号ファイルの作成者が，暗号ファイルを復号しようとしている復号者と異なる場合（他のユーザが作成した暗号ファイルを復号する場合）には，作成者ＩＤと復号実行者ＩＤとは異なる。いずれにしても，復号実行者ＩＤに対応して，作成者ＩＤが管理データベースに復号対象者ＩＤとして記憶（登録）されているかどうかによって，暗号ファイルの復号が許可されるかどうかが判断される。
第１暗号化セッション・キーは，暗号ファイルの作成者の固有鍵でセッション・キーを暗号化したものであるので，その暗号ファイルの作成者の固有鍵で第１暗号化セッション・キーを復号すると，セッション・キーが得られる。さらに，得られたセッション・キーが，復号者（復号実行者）の固有公開鍵で暗号化される（これが，第２暗号化セッション・キーである）。第２暗号化セッション・キーがクライアントに送信される。
クライアントでは，鍵管理サーバから送信された第２暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る。
この発明によると，鍵管理サーバの管理データベースに，ユーザごとの固有ＩＤに対応させて復号対象者ＩＤが記憶されているので，いずれのユーザにいずれのユーザが作成した暗号ファイルの復号権限を与えるかどうかを，鍵管理サーバにおいて集中管理することができる。鍵管理サーバにおいて，管理データベースの復号対象者ＩＤを追加，変更または削除すれば，復号権限が容易に変更することができる。
さらにこの発明によると，鍵管理サーバは，暗号ファイルを復号しようとしているユーザが復号権限を持つかどうかを，暗号ファイルの復号処理がクライアントにおいて行われるごとに判断する。暗号ファイルが復号されようとする場合にその都度，復号しようとしているユーザが復号しようとしている暗号ファイルを復号できる者かどうか（復号権限を持つかどうか）の判断が行われるので，安全性，信頼性の高い暗号システムが構築される。
また，この発明によると，第２暗号化セッション・キーを復号できることが暗号ファイルの復号の必須の要件となっている。この第２暗号化セッション・キーの復号は，第２暗号化セッション・キーの生成に用いられる固有公開鍵と対の固有秘密鍵を持つユーザのみが復号することができる。不当な第三者（復号権限を持たない者）が暗号ファイルを入手し，他人の固有ＩＤを復号実行者ＩＤとして用いて第２暗号化セッション・キーを得たとしても，第２暗号化セッション・キーの生成に用いられた固有公開鍵と対をなす固有秘密鍵を持たない第三者は第２暗号化セッション・キーからセッション・キーを得ることができず，結局，暗号ファイル（暗号データ）を復号することができない。復号権限を持つユーザになりすまして不当に暗号ファイルを復号する行為を防止することができる。
好ましい実施態様では，鍵管理サーバは，受信した復号実行者ＩＤに対応して，受信した作成者ＩＤが管理データベースに復号対象者ＩＤとして記憶されていない場合に，復号不可能である旨を表すデータを上記クライアントに送信する。復号不可能である旨を表すデータを受信したクライアントは，暗号データの復号処理を行うことなく処理を終了する。すなわち，復号権限のないユーザは暗号ファイルを復号することできない。復号権限の有無の判断が，鍵管理サーバにおいて行われる。
さらに他の実施態様では，クライアントは第１公開鍵／秘密鍵生成手段を備え，第１公開鍵／秘密鍵生成手段によって固有公開鍵と固有秘密鍵の対を生成し，生成した固有秘密鍵を上記固有データ記憶手段に記憶し，生成した固有公開鍵と上記固有データ記憶手段に記憶された固有ＩＤとを上記鍵管理サーバに送信する。固有公開鍵と固有ＩＤとを受信した鍵管理サーバは，受信した固有ＩＤに対応させて，受信した固有公開鍵を上記管理データベースに記憶する。すなわち，クライアントにおいて第１公開鍵／秘密鍵生成手段によって生成される固有公開鍵と固有秘密鍵のうち，固有公開鍵が鍵管理サーバの管理データベースにおいて管理される。固有公開鍵は固有ＩＤとともに鍵管理サーバに送信されるので，多数のクライアント（暗号システムの利用ユーザ）が暗号システムに含まれていても，管理データベースでは固有ＩＤごと（利用ユーザごと）に固有公開鍵を管理することができる。固有秘密鍵はクライアントにおいて生成され，そのままクライアントの固有データ記憶手段に記憶されるので，固有秘密鍵が漏洩する可能性は低い。
さらに他の実施態様では，鍵管理サーバは第２公開鍵／秘密鍵生成手段を備え，第２公開鍵／秘密鍵生成手段によって共通公開鍵と共通秘密鍵の対を生成し，共通公開鍵をクライアントに送信（配信）する。クライアントは第１公開鍵／秘密鍵生成手段を備え，第１公開鍵／秘密鍵生成手段によって固有公開鍵と固有秘密鍵の対を生成し，生成した固有秘密鍵を上記固有データ記憶手段に記憶する。共通公開鍵を受信したクライアントは，上記固有公開鍵を受信した共通公開鍵で暗号化して暗号化固有公開鍵を生成し，生成した暗号化固有公開鍵と上記固有データ記憶手段に記憶された固有ＩＤとを鍵管理サーバに送信する。暗号化固有公開鍵と固有ＩＤとを受信した鍵管理サーバは，上記共通秘密鍵で暗号化固有公開鍵を復号して固有公開鍵を得，得られた固有公開鍵を，受信した固有ＩＤに対応させて上記管理データベースに記憶する。クライアントにおいて生成され，鍵管理サーバの管理データベースに記憶されるユーザごとの固有公開鍵が，暗号化された状態でクライアントから鍵管理サーバに送信されるので，固有公開鍵の漏洩を防止することができる。鍵管理サーバにおいて生成されてクライアントに送信される共通公開鍵および共通秘密鍵の対はすべてのクライアントについて同じものを用いてもよいし，クライアントごとに異なるものを用いてもよい。
第２の発明による暗号システムは，ネットワークで結ばれた鍵管理サーバとクライアントとから構成される。鍵管理サーバは，各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，固有公開鍵およびユーザが復号可能な暗号ファイルの作成者の固有ＩＤである復号対象者ＩＤを記憶する管理データベースを備えている。クライアントは，固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段ならびにセッション・キー生成手段を備えている。
上記クライアントは，平文データまたは暗号ファイルの入力を受付ける。
平文データが受付けられた場合に，上記セッション・キー生成手段でセッション・キーを生成し，生成したセッション・キーで入力された平文データを暗号化して暗号データを生成する。さらに，上記セッション・キーを，固有データ記憶手段に記憶された固有秘密鍵で暗号化して第１暗号化セッション・キーを生成する。上記固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，作成者ＩＤおよび生成された第１暗号化セッション・キーを鍵管理サーバに送信する。
上記鍵管理サーバでは，クライアントから送信された第１暗号化セッション・キーを，作成者ＩＤに対応して管理データベースに記憶されている固有公開鍵で復号してセッション・キーを得，得られたセッション・キーを，作成者ＩＤに対応して管理データベースに記憶されている固有鍵で暗号化して第２暗号化セッション・キーを生成する。生成した第２暗号化セッション・キーをクライアントに送信する。
上記クライアントでは，固有データ記憶手段に記憶された作成者ＩＤ，および鍵管理サーバから送信された第２暗号化セッション・キーを上記暗号データに付加することによって暗号ファイルを生成する。このように，第２の発明における暗号システムにおいて生成される暗号ファイルは，平文データを暗号化した暗号データに，作成者ＩＤおよび第２暗号化セッション・キー（暗号データの生成に用いられたセッション・キーを，暗号ファイルの作成者の固有鍵で暗号化したもの）が付加されたものである。
上述にようにして生成された暗号ファイルの復号処理は次のようにして行われる。
クライアントに暗号ファイルが受付けられると，クライアントは，固有データ記憶手段に記憶された固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，ならびに受付けられた暗号ファイル中の作成者ＩＤおよび第２暗号化セッション・キーを鍵管理サーバに送信する。
上記鍵管理サーバは，クライアントから送信された復号実行者ＩＤに対応して，受信した作成者ＩＤが上記管理データベースに復号対象者ＩＤとして記憶されているかどうかを判断する。作成者ＩＤが管理データベースに復号対象者ＩＤとして記憶されている場合に，上記作成者ＩＤに対応して管理データベースに記憶されている固有鍵で第２暗号化セッション・キーを復号してセッション・キーを得，得られたセッション・キーを，上記復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化して第３暗号化セッション・キーを生成する。生成された第３暗号化セッション・キーをクライアントに送信する。
上記クライアントでは，鍵管理サーバから送信された第３暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る。
第２の発明による暗号システムでは，暗号ファイルの作成処理および暗号ファイルの復号処理のいずれの処理においても，鍵管理サーバの管理データベースに記憶されているユーザごとの固有鍵，および固有鍵を暗号化した暗号化固有鍵が鍵管理サーバおよびクライアント間において送受信されない。このため，固有鍵の秘匿性は極めて高い。第２の発明においても，鍵管理サーバの管理データベースに，ユーザごとの固有ＩＤに対応させて復号対象者ＩＤが記憶されているので，いずれのユーザに対していずれのユーザが作成した暗号ファイルの復号権限を与えるかどうかを，鍵管理サーバにおいて集中管理することができる。また，第３暗号化セッション・キーを復号できることが暗号ファイルの復号の必須の要件となっており，第３暗号化セッション・キーの復号は第３暗号化セッション・キーの生成に用いられる固有公開鍵と対の固有秘密鍵を持つユーザのみが復号することができるので，復号権限を持つユーザになりすまして不当に暗号ファイルを復号する行為を防止することができる。
一実施態様では，鍵管理サーバは，暗号ファイルの作成処理の過程において，生成した第２暗号化セッション・キーを，作成者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化して暗号化第２暗号化セッション・キーを生成し，生成した暗号化第２暗号化セッション・キーをクライアントに送信する。暗号化第２暗号化セッション・キーを受信したクライアントは，受信した暗号化第２暗号化セッション・キーを，固有データ記憶手段に記憶されている固有秘密鍵で復号して第２暗号化セッション・キーを得る。鍵管理サーバからクライアントに送信される第２暗号化セッション・キーが，暗号化された状態で送信されるので，第２暗号化セッション・キーの安全性が高められる。
他の実施態様では，クライアントは，暗号ファイルの復号処理の過程において，暗号ファイル中の作成者ＩＤおよび第２暗号化セッション・キーを，固有データ記憶手段に記憶されている固有秘密鍵で暗号化して暗号化パラメータを生成し，復号実行者ＩＤと生成した暗号化パラメータを鍵管理サーバに送信する。復号実行者ＩＤと暗号化パラメータを受信した鍵管理サーバは，受信した暗号化パラメータを，受信した復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で復号して作成者ＩＤと第２暗号化セッション・キーを得る。クライアントから鍵管理サーバに送信される第２暗号化セッション・キーが暗号化された状態で送信されるので，第２暗号化セッション・キーの安全性が高められる。
第３の発明における暗号システムでは，鍵管理サーバは，各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，固有公開鍵，およびユーザが復号可能な暗号ファイルの作成者の固有ＩＤである復号対象者ＩＤを記憶する管理データベース，ならびに共通公開鍵および共通秘密鍵の対を記憶する共通鍵記憶手段を備えている。クライアントは，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，上記共通公開鍵を記憶する共通公開鍵記憶手段，ならびにセッション・キー生成手段を備えている。
上記クライアントは，平文データの入力を受付け，平文データが受付けられた場合には，上記セッション・キー生成手段でセッション・キーを生成し，生成したセッション・キーで入力された平文データを暗号化して暗号データを生成する。そして，上記セッション・キーを，共通公開鍵記憶手段に記憶された共通公開鍵で暗号化して第１暗号化セッション・キーを生成し，上記固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，作成者ＩＤおよび生成された第１暗号化セッション・キーを鍵管理サーバに送信する。
上記鍵管理サーバは，クライアントから送信された第１暗号化セッション・キーを，共通鍵記憶手段に記憶されている共通秘密鍵で復号してセッション・キーを得，得られたセッション・キーを，作成者ＩＤに対応して管理データベースに記憶されている固有鍵で暗号化して第２暗号化セッション・キーを生成し，生成した第２暗号化セッション・キーをクライアントに送信する。
上記クライアントは，固有データ記憶手段に記憶された作成者ＩＤおよび鍵管理サーバから送信された第２暗号化セッション・キーを上記暗号データに付加することによって暗号ファイルを生成する。
上述にようにして生成された暗号ファイルが受付けられた場合には，クライアントは，固有データ記憶手段に記憶された固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，ならびに受付けられた暗号ファイル中の作成者ＩＤおよび第２暗号化セッション・キーを鍵管理サーバに送信する。
上記鍵管理サーバは，クライアントから送信された復号実行者ＩＤに対応して，受信した作成者ＩＤが上記管理データベースに復号対象者ＩＤとして記憶されているかどうかを判断する。上記作成者ＩＤが管理データベースに復号対象者ＩＤとして記憶されている場合に，上記作成者ＩＤに対応して管理データベースに記憶されている固有鍵で第２暗号化セッション・キーを復号してセッション・キーを得，得られたセッション・キーを，上記復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化して第３暗号化セッション・キーを生成し，生成された第３暗号化セッション・キーをクライアントに送信する。
上記クライアントは，鍵管理サーバから送信された第３暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る。
第３の暗号システムでは，クライアントにおいてセッション・キーが共通公開鍵で暗号化されて第１暗号化セッション・キーが生成され，鍵管理サーバにおいて共通秘密鍵が用いられて第１暗号化セッション・キーが復号されてセッション・キーが得られる。第３の暗号システムにおいても，第２の暗号システムと同様に，固有鍵の秘匿性は高く，暗号ファイルの復号権限を鍵管理サーバにおいて集中管理することができる。また，復号権限を持たない者が，復号権限を持つユーザになりすまして不当に暗号ファイルを復号する行為を防止することができる。
第４の発明による暗号システムは，ネットワークで結ばれた鍵管理サーバとクライアントとから構成される。鍵管理サーバは，各ユーザについて，ユーザに固有の固有ＩＤ，固有公開鍵，およびユーザが属するグループのグループＩＤを記憶する第１管理データベース，ならびに各グループについて，グループに固有のグループＩＤおよびグループ鍵を記憶する第２管理データベースを備えている。クライアントは，固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，ならびにセッション・キー生成手段を備えている。もちろん，第１管理データベースおよび第２管理データベースは，一つの管理データベースとすることもできる。
上記クライアントは，平文データの入力を受付け，上記セッション・キー生成手段でセッション・キーを生成し，生成したセッション・キーで入力された平文データを暗号化して暗号データを生成する。そして，セッション・キーを，固有データ記憶手段に記憶された固有秘密鍵で暗号化して第１暗号化セッション・キーを生成し，上記固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，作成者ＩＤおよび生成された第１暗号化セッション・キーを鍵管理サーバに送信する。
上記鍵管理サーバは，クライアントから送信された第１暗号化セッション・キーを，作成者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で復号してセッション・キーを得，得られたセッション・キーを，作成者ＩＤに対応して第１管理データベースに記憶されているグループＩＤに対応して上記第２管理データベースに記憶されているグループ鍵で暗号化してグループ暗号化セッション・キーを生成する。上記グループＩＤおよび生成されたグループ暗号化セッション・キーをクライアントに送信する。
上記クライアントでは，鍵管理サーバから送信されたグループＩＤとグループ暗号化セッション・キーとを上記暗号データに付加することによって暗号ファイルを生成する。暗号ファイルは，平文データをセッション・キーで暗号化することによって生成される暗号データに，暗号ファイルの作成者の属するグループのグループＩＤと，グループ暗号化セッション・キー（セッション・キーを，そのグループＩＤに対応して第２管理データベースに記憶されているグループ鍵で暗号化したもの）が付加されたものである。暗号ファイルの作成者が複数のグループに属している場合には，それらのグループ（グループＩＤ）のそれぞれのグループ鍵が用いられて，複数のグループ暗号化セッション・キーが生成されて暗号データに付加される。
上記クライアントは，暗号ファイルの入力を受付けると，固有データ記憶手段に記憶された固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，ならびに受付けられた暗号ファイル中のグループＩＤおよびグループ暗号化セッション・キーを鍵管理サーバに送信する。
上記鍵管理サーバは，クライアントから送信された復号実行者ＩＤに対応して，受信したグループＩＤが第１管理データベースに登録されているかどうかを判断する。受信したグループＩＤが第１管理データベースに登録されている場合には，上記グループＩＤに対応して第２管理データベースに記憶されているグループ鍵で，暗号化グループセッション・キーを復号してセッション・キーを得，得られたセッション・キーを，復号実行者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で暗号化して第２暗号化セッション・キーを生成し，生成された第２暗号化セッション・キーをクライアントに送信する。
上記クライアントでは，鍵管理サーバから送信された第２暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る。
第４の発明では，暗号ファイルの作成者が属するグループと同じグループに属するユーザに，その暗号ファイルを復号する権限が与えられる。暗号システムのユーザが属するグループのグループＩＤは鍵管理サーバの第１管理データベースに記憶されているので，鍵管理サーバにおいてユーザが属するグループの管理を行うことによって，復号権限を集中管理することができる。
暗号ファイルの作成者が暗号ファイルを作成するときに，作成される暗号ファイルの復号を許すユーザを指定させ，指定されたユーザに暗号ファイルの復号権限が与えられるようにしてもよい。第５の暗号システムでは，鍵管理サーバは，各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，および固有公開鍵を記憶する管理データベースを備えている。クライアントは，固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，ならびにセッション・キー生成手段を備えている。
クライアントは，平文データの入力を受付けると，上記セッション・キー生成手段でセッション・キーを生成し，生成したセッション・キーで入力された平文データを暗号化して暗号データを生成し，さらに復号許可者の指定を受付ける。上記セッション・キーを，固有データ記憶手段に記憶された固有秘密鍵で暗号化して第１暗号化セッション・キーを生成する。そして，指定された復号許可者の固有ＩＤを指定復号許可者ＩＤとし，かつ上記固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，指定復号許可者ＩＤ，作成者ＩＤおよび生成された第１暗号化セッション・キーを鍵管理サーバに送信する。
上記鍵管理サーバは，クライアントから送信された第１暗号化セッション・キーを，作成者ＩＤに対応して管理データベースに記憶されている固有公開鍵で復号してセッション・キーを得，得られたセッション・キーを，指定復号許可者ＩＤに対応して管理データベースに記憶されている固有鍵で暗号化して第２暗号化セッション・キーを生成する。生成された第２暗号化セッション・キーをクライアントに送信する。
上記クライアントはさらに，指定復号許可者ＩＤおよび鍵管理サーバから送信された第２暗号化セッション・キーを暗号データに付加することによって暗号ファイルを生成する。
上記クライアントにおいて上述ようにして作成された暗号ファイルの入力が受付けられた場合には，クライアントは，固有データ記憶手段に記憶された固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，ならびに受付けられた暗号ファイル中の指定復号許可者ＩＤおよび第２暗号化セッション・キーを鍵管理サーバに送信する。
上記鍵管理サーバは，クライアントから送信された復号実行者ＩＤが指定復号許可者ＩＤと同一であるかどうかを判断し，上記復号実行者ＩＤが上記指定復号許可者ＩＤと同一である場合に，上記復号実行者ＩＤに対応して管理データベースに記憶されている固有鍵で第２暗号化セッション・キーを復号してセッション・キーを得，得られたセッション・キーを，復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化して第３暗号化セッション・キーを生成する。生成された第３暗号化セッション・キーをクライアントに送信する。
上記クライアントでは鍵管理サーバから送信された第３暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイルの暗号データを復号して平文データを得る。
暗号ファイルの作成者が暗号ファイルを作成するときに，作成される暗号ファイルの復号を許すグループを指定させ，指定されたグループに属するユーザに暗号ファイルの復号権限が与えられるようにしてもよい。第６の暗号システムは，各ユーザについて，ユーザに固有の固有ＩＤ，固有公開鍵，およびユーザが属するグループのグループＩＤを記憶する第１管理データベース，および各グループについて，グループに固有のグループＩＤおよびグループ鍵を記憶する第２管理データベースを備えた鍵管理サーバと，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，ならびにセッション・キー生成手段を備えたクライアントとから構成される。
平文データの入力が受付けられた場合には，クライアントは，上記セッション・キー生成手段でセッション・キーを生成し，生成したセッション・キーで入力された平文データを暗号化して暗号データを生成する。そして，復号許可グループの指定を受付ける。さらに上記セッション・キーを，固有データ記憶手段に記憶された固有秘密鍵で暗号化して第１暗号化セッション・キーを生成する。指定された復号許可グループのグループＩＤを指定復号許可グループＩＤとし，かつ上記固有データ記憶手段に記憶された固有ＩＤを作成者ＩＤとして，指定復号許可グループＩＤ，作成者ＩＤおよび生成された第１暗号化セッション・キーを鍵管理サーバに送信する。
上記鍵管理サーバは，クライアントから送信された第１暗号化セッション・キーを，作成者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で復号してセッション・キーを得，得られたセッション・キーを，指定復号許可グループＩＤに対応して第２管理データベースに記憶されているグループ鍵で暗号化してグループ暗号化セッション・キーを生成する。生成されたグループ暗号化セッション・キーをクライアントに送信する。
上記クライアントでは，指定復号許可グループＩＤおよび鍵管理サーバから送信されたグループ暗号化セッション・キーを上記暗号データに付加することによって暗号ファイルを生成する。
上述のようにして作成された暗号ファイルの入力を受付けると，クライアントは，固有データ記憶手段に記憶された固有ＩＤを復号実行者ＩＤとして，復号実行者ＩＤ，ならびに受付けられた暗号ファイル中の指定復号許可グループＩＤおよびグループ暗号化セッション・キーを鍵管理サーバに送信する。
上記鍵管理サーバは，クライアントから送信された指定復号許可グループＩＤと同じグループＩＤが，受信した復号実行者ＩＤに対応して第１管理データベースに記憶されているかどうかを判断する。上記指定復号許可グループＩＤと同じグループＩＤが，受信した復号実行者ＩＤに対応して第１管理データベースに記憶されている場合に，そのグループＩＤに対応して第２管理データベースに記憶されているグループ鍵で，グループ暗号化セッション・キーを復号してセッション・キーを得，得られたセッション・キーを，復号実行者ＩＤに対応して第１管理データベースに記憶されている固有公開鍵で暗号化して第２暗号化セッション・キーを生成する。生成された第２暗号化セッション・キーをクライアントに送信する。
上記クライアントでは鍵管理サーバから送信された第２暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る。
この発明は，上述の第１〜第６の暗号システムにおける利用に適した復号装置，その制御プログラム，制御プログラムを記録した記録媒体および暗号ファイルも提供している。
たとえば，第１〜第３の暗号システムの利用に適した復号装置は，各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，固有公開鍵，およびユーザが復号可能な暗号ファイルの作成者の固有ＩＤである復号対象者ＩＤを記憶する管理データベースを備えた鍵管理サーバとネットワークを通じて相互に接続されるものである。この復号装置は，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，平文データの暗号化の度に生成されるセッション・キーで平文データを暗号化した暗号データに，その暗号データの作成者の固有ＩＤである作成者ＩＤ，および暗号データの作成者の固有鍵で上記セッション・キーを暗号化した第１暗号化セッション・キーを付加した暗号ファイルの入力を受付ける暗号ファイル入力手段，上記復号装置の固有データ記憶手段に記憶された固有ＩＤである復号実行者ＩＤ，ならびに受付けられた暗号ファイル中の作成者ＩＤおよび第１暗号化セッション・キーを鍵管理サーバに送信する送信手段，復号実行者ＩＤならびに作成者ＩＤおよび第１の暗号化セッション・キーを受信した鍵管理サーバから，上記作成者ＩＤに対応して管理データベースに記憶されている固有鍵で第１暗号化セッション・キーを復号して得られるセッション・キーを上記復号実行者ＩＤに対応して管理データベースに記憶されている固有公開鍵で暗号化した第２暗号化セッション・キーを受信する受信手段，ならびに受信した第２暗号化セッション・キーを固有データ記憶手段に記憶されている固有秘密鍵で復号してセッション・キーを得，得られたセッション・キーで，受付けられた暗号ファイル中の暗号データを復号して平文データを得る復号手段を備えている。
復号装置の固有データ記憶手段に記憶されている固有ＩＤが復号実行者ＩＤとして取り扱われる。この復号実行者ＩＤが暗号ファイルの作成者の作成者ＩＤに対応して管理データベースに復号対象者ＩＤとして記憶されていると，鍵管理サーバにおいて第１暗号化セッション・キーが作成者ＩＤの固有鍵で復号されてセッション・キーが得られる。そしてこのセッション・キーを復号実行者の固有公開鍵で暗号化した第２暗号化セッション・キーが復号装置において受信される。復号装置の固有データ記憶手段に記憶されている固有秘密鍵は上述の固有公開鍵と対をなすので，復号装置によって第２暗号化セッション・キーが復号されてセッション・キーを得ることができる。セッション・キーで暗号データを復号することができる。
第１〜第３の暗号システムによって作成される暗号ファイルは，各ユーザについて，ユーザに固有の固有ＩＤ，固有鍵，固有公開鍵，およびユーザが復号可能な暗号ファイルの作成者の固有ＩＤである復号対象者ＩＤを記憶する管理データベースを備えた鍵管理サーバと，上記固有ＩＤおよび上記固有公開鍵と対をなす固有秘密鍵を記憶する固有データ記憶手段，ならびにセッション・キー生成手段を備えたクライアントとが，ネットワークを通じて相互に接続される暗号システムにおいて上記クライアントで生成される。
この暗号ファイルは，平文データの暗号化の度に上記クライアントにおいてセッション・キー生成手段によって生成されるセッション・キーで平文データを暗号化した暗号データに，上記クライアントの固有データ記憶手段に記憶された暗号ファイルの作成者の固有ＩＤである作成者ＩＤ，および上記セッション・キーを上記暗号ファイルの作成者についての固有鍵で暗号化した暗号化セッション・キーとが付加されたものである。平文データの暗号化には平文データの暗号化の度に生成されるセッション・キーが用いられるので，暗号ファイルの秘匿性は高い。
暗号化セッション・キーの生成に用いられる固有鍵は，上記クライアントの固有データ記憶手段に記憶された固有ＩＤをクライアントから鍵管理サーバに送信することに応答して上記鍵管理サーバからクライアントに送信される暗号化固有鍵を，上記クライアントの固有データ記憶手段に記憶された固有秘密鍵で復号したものである。暗号化固有鍵は上記固有ＩＤを受信した鍵管理サーバにおいて，上記固有ＩＤに対応して管理データベースに記憶されている固有公開鍵で，固有ＩＤに対応して管理データベースに記憶されている固有鍵を暗号化したものである。このため，他人のＩＤを用いて不正に暗号ファイルを作成しようとしても，暗号化固有鍵の復号に用いるべき固有秘密鍵を持たない不正なユーザは固有鍵を得ることができず（暗号化固有鍵を復号することができない），結局暗号ファイルを作成することができない。
この発明による他の特徴については，次に説明する実施例において明らかになるであろう。
発明を実施するための最良の態様
第１実施例
第１図は第１実施例の暗号システムの全体的構成を示すブロック図である。この暗号システムは，鍵管理サーバ・コンピュータ（以下，鍵管理サーバという）１０と，複数のクライアント・コンピュータ（ユーザ端末）（以下，クライアントという）（第１図に示す暗号システムでは，４台のクライアント２０，３０，４０および５０が示されている）と，鍵管理サーバ１０と複数のクライアント２０，３０‥‥とを接続するネットワーク１（専用回線および公衆回線のいずれをも含む）とから構成されている。
暗号システムでは，後述するように，利用メンバ（ユーザ）のそれぞれは，クライアントを用いてセッション・キーを生成し，生成されたセッション・キーで平文データを暗号化して暗号データを作成することができる。また，作成された暗号データをセッション・キーで平文データに復号することができる（この意味で，セッション・キーは暗号化／復号鍵と言える）。さらに，暗号システムでは，後述するように，特定のユーザが，暗号システムの他の利用メンバが作成した暗号データを復号することができるように，鍵管理サーバ１０およびクライアント２０，３０‥‥が制御されることを特徴とする。
第２図は，第１図に示す暗号システムの全体的構成をより詳細に示すブロック図である。第２図に示す暗号システムでは，２台のクライアント（クライアント２０およびクライアント３０）のみが示されている。
鍵管理サーバ１０は，制御装置１１，第１記憶装置１２，第２記憶装置１３およびフロッピィディスク・ドライブ（以下，ＦＤＤという）１４を含む。制御装置１１は，ＣＰＵ，メモリ（ＲＡＭ），通信装置（モデム，ターミナル・アダプタ，ルータ等；送信手段，受信手段または配信手段として用いられる），入力装置（キーボード，マウス等；入力手段として用いられる），表示装置（ＣＲＴディスプレイ，ＬＣＤ等）を備えたコンピュータ・システムである。制御装置１１に含まれるＣＰＵに後述する各種のプログラムが読込まれることによって，制御装置１１（ＣＰＵ）は，鍵生成手段，暗号化手段，復号手段，判断手段等として機能する。第１記憶装置１２および第２記憶装置１３には，一般的にはハードディスク（ドライブ）が用いられる。第１記憶装置１２および第２記憶装置１３はそれぞれ異なるハードディスクであってもよいし，１つのハードディスク中に２つの異なる領域を設け，２つの領域のそれぞれを第１記憶装置１２および第２記憶装置１３と位置づけてもよい。
鍵管理サーバ１０の第１記憶装置１２には管理データベース１５が設けられている。管理データベース１５は，暗号システムのユーザのそれぞれについて，ＩＤ，固有鍵等を記憶したデータベースである（詳細は後述する）。第２記憶装置１３には，公開鍵受信プログラム，管理データ作成プログラムおよび鍵配信プログラムが記憶されている。これらのプログラムの処理（これらのプログラムによって制御される鍵管理サーバ１０の動作）についても後述する。
クライアント２０（ユーザＡのコンピュータとする）は，ＣＰＵ，メモリ（ＲＡＭ），通信装置，入力装置，表示装置等を含む制御装置２１，記憶装置２２およびＦＤＤ２３を備えている。クライアント３０（ユーザＢのコンピュータとする）も，クライアント２０の同様のハードウエア構成（制御装置３１，記憶装置３２およびＦＤＤ３３）を持つ。クライアント２０の記憶装置２２およびクライアント３０の記憶装置３２には暗号化／復号プログラム，公開鍵／秘密鍵生成プログラムがそれぞれ記憶されている。これらのプログラムが制御装置２１，３１・・・のＣＰＵに読込まれることによって，制御装置２１，３１・・・（ＣＰＵ）が暗号化手段，復号手段，鍵生成手段等として機能する。暗号化／復号プログラムおよび公開鍵／秘密鍵生成プログラムの処理の詳細についても後述する。
ユーザＡは固有データ２５が記録されたＦＤ２４を，ユーザＢは固有データ３５が記録されたＦＤ３４を，それぞれ所有している。第３図（Ａ）はユーザＡが所持するＦＤ２４に記録された固有データ２５の一例を，第３図（Ｂ）はユーザＢが所持するＦＤ３４に記録された固有データ３５の一例をそれぞれ示している。
暗号システムの各ユーザが所持するＦＤには，固有データとしてＩＤと秘密鍵とが記録されている。
「ＩＤ」は，暗号システムの利用ユーザのそれぞれを特定するためのユニークな識別符号（番号）である。ＩＤ「００１」がユーザＡを，ＩＤ「００２」がユーザＢをそれぞれ表している。
「秘密鍵」は，クライアント２０，３０の記憶装置２２，３２に記憶された公開鍵／秘密鍵生成プログラムによって生成される公開鍵と秘密鍵の対のうちの秘密鍵である。後述するように，クライアント２０，３０‥‥では，暗号システムの立ち上げ時（またはクライアントが暗号システムに加えられたとき）に公開鍵／秘密鍵プログラムが実行される。固有データ２５には秘密鍵Ｓ１が，固有データ３５には秘密鍵Ｓ２がそれぞれ含まれている。
固有データ２５，３５のそれぞれに含まれるＩＤ「００１」，ＩＤ「００２」は，鍵管理サーバ１０においてフロッピィーディスク・ドライブ（ＦＤＤ）１４が用いられてＦＤ２４，３４に記録される。ＦＤ２４，３４へのＩＤの記録に，鍵管理サーバ１０の管理データベース１５が利用される。第４図は管理データベース１５の一例を示すものである。
管理データベース１５には，暗号システムの複数の利用ユーザのそれぞれについての管理データが記憶されている。管理データには，「ＩＤ」，「失効フラグ」，「公開鍵」，「固有鍵」，「復号対象ＩＤ１」，「復号対象ＩＤ２」，「復号対象ＩＤ３」等が含まれている  。
「ＩＤ」は，上述したように，暗号システムの利用ユーザを識別するものであり，ユーザに１対１に対応付けられる識別符号である。
「失効フラグ」には，暗号システムの利用ユーザであった者が，その後暗号システムの利用が認められなくなったような場合に，そのユーザの暗号システムの利用権限が失効したことを示すフラグ（失効フラグ「ＦＦ」）が格納される。失効フラグは，鍵管理サーバ１０の管理者によって管理データ中に格納される。
「公開鍵」は，クライアントにおいて公開鍵／秘密鍵生成プログラムが実行されることによって生成される公開鍵と秘密鍵の対のうちの公開鍵である。クライアント２０，３０‥‥のそれぞれから鍵管理サーバ１０にあらかじめ公開鍵が送信される（詳しくは後述する）。
「固有鍵」は，暗号システムの利用ユーザのそれぞれに固有の乱数データである。固有鍵は，後述するように，平文データの暗号化に用いられるセッション・キーの暗号化と，暗号化セッション・キーの復号とに用いられる。
「復号対象ＩＤ１」，「復号対象ＩＤ２」，「復号対象ＩＤ３」・・・には，復号可能な暗号ファイルの作成者のＩＤ（復号対象者のＩＤ）が格納される。暗号システムでは，暗号システムの利用ユーザとその利用ユーザが復号することができる暗号ファイルの作成者（この作成者も暗号システムの利用ユーザである）との関係があらかじめ定められる。
たとえば，ＩＤ「００１」についての管理データには，復号対象ＩＤとして，ＩＤ「００１」，ＩＤ「００２」，ＩＤ「００３」およびＩＤ「００４」の４つのＩＤが含まれている。ＩＤ「００１」のユーザ（ユーザＡ）は，ＩＤ「００１」，ＩＤ「００２」，ＩＤ「００３」およびＩＤ「００４」のユーザが作成した暗号ファイルを，それぞれ復号することができる権限を持つことを意味する。同様に，ＩＤ「００２」についての管理データには復号対象ＩＤとしてＩＤ「００２」およびＩＤ「００４」が含まれているので，ＩＤ「００２」のユーザ（ユーザＢ）は，ＩＤ「００２」およびＩＤ「００４」のユーザが作成した暗号ファイルを復号することができる権限を持つ。
第５図は，鍵管理サーバ１０の第２記憶装置１３に記憶された管理データ作成プログラムの処理の流れを示すフローチャートである。管理データ作成プログラムにしたがって，上述の管理データベース１５に管理データが記憶される。
鍵管理サーバ１０の管理者が入力装置から管理データ作成プログラムの起動命令を入力すると，鍵管理サーバ１０の第２記憶装置１３から管理データ作成プログラムが読出されてＣＰＵに読込まれる。管理データ作成プログラムが実行される。
はじめに，鍵管理サーバ１０の管理者によって，鍵管理サーバ１０の入力装置から暗号システムの利用ユーザの氏名等のユーザ情報が入力される（ステップ１０１）。ユーザ情報の入力が終了すると，そのユーザについてＩＤが採番される。第１記憶装置１２に設けられた管理データベース１５のＩＤ欄に，採番されたＩＤが登録される（ステップ１０２）。
乱数が生成される。生成された乱数が，登録されたＩＤに対応する固有鍵として固有鍵欄に登録される（ステップ１０３）。
管理データの一覧表（管理データベース１５の全体）が表示装置の表示画面に表示される（ステップ１０４）。他の利用ユーザについての管理データが既に管理データベース１５に登録されている場合には，表示画面にはそのユーザのＩＤ，固有鍵等がアイコン等によって表示される。鍵管理サーバ１０の管理者は，復号対象ＩＤ欄（復号対象ＩＤ１，復号対象ＩＤ２，復号対象ＩＤ３‥‥）に，復号対象者のＩＤを登録する（ステップ１０５）。
他のユーザについての管理データを登録する場合には，上述の操作が繰返される（ステップ１０６でＮＯ，ステップ１０１）。すべてのユーザについてのデータ入力が終了すると，公開鍵欄に格納されるべき公開鍵を除いて，管理データの入力が完成する（第４図参照）。鍵管理サーバ１０の管理者は管理データ作成プログラムの処理を終了する（ステップ１０６でＹＥＳ）。
管理データ作成プログラムによって管理データが作成されたユーザに対して，そのユーザを特定するＩＤが記録されたＦＤがそれぞれ配布される。
ＩＤが記録されたＦＤを受取ったユーザは，クライアントの入力装置から公開鍵／秘密鍵生成プログラムを実行する。他方，鍵管理サーバ１０では，公開鍵受信プログラムによって，クライアントにおいて生成される公開鍵の受信が準備される。第６図は，クライアントにおいて実行される公開鍵／秘密鍵生成プログラムの処理を表すフローチャートと，鍵管理サーバ１０において実行される公開鍵受信プログラムの処理を表すフローチャートとを並べて示すものである。第７図は，第６図に示す処理を鍵の送受信に着目して示すものである。クライアント２０，３０‥‥の代表として，クライアント２０（ユーザＡのコンピュータ）の動作を説明する。
クライアント２０において公開鍵／秘密鍵生成プログラムが実行されると，公開鍵と秘密鍵の対が生成される（ステップ１１１，公開鍵を「ＯＰ１」，秘密鍵を「Ｓ１」とする）。公開鍵／秘密鍵プログラムは，ＦＤ２４からＩＤ「００１」を読出し，読出したＩＤ「００１」と生成された公開鍵ＯＰ１とを鍵管理サーバ１０に送信する。また，生成された秘密鍵Ｓ１をＦＤ２４に記録する（ステップ１１２）。ＦＤ２４にはＩＤ「００１」および秘密鍵Ｓ１（固有データ２５）が記録されることになる（第３図（Ａ）参照）。
鍵管理サーバ１０は，公開鍵受信プログラムによって，クライアントから送信されるＩＤと公開鍵の受信を待機している（ステップ１１３でＮＯ）。クライアント２０からＩＤ「００１」と公開鍵ＯＰ１を受信すると（ステップ１１３でＹＥＳ），鍵管理サーバ１０は，受信したＩＤ「００１」に対応する管理データの公開鍵欄に，受信した公開鍵ＯＰ１を格納する（ステップ１１４）。他のクライアントで生成された公開鍵も同じようにして，鍵管理サーバ１０に送信されて管理データに登録される。管理データベース１５が完成する。
第８図は，クライアントの記憶装置に記憶されている暗号化／復号プログラムの処理の流れを示すフローチャートである。第９図は鍵管理サーバ１０において実行される鍵配信プログラムの処理の流れを示すフローチャートである。第１０図は第８図および第９図に示す処理のうち，暗号化処理（暗号ファイル作成処理）におけるクライアント２０および鍵管理サーバ１０の処理を示すブロック図である。第１１図は暗号化処理（暗号ファイル作成処理）を鍵の送受信に着目して示している。第１２図は第８図および第９図に示す処理のうち，暗号ファイルの復号処理におけるクライアント２０および鍵管理サーバ１０の処理を示すブロック図である。第１３図は暗号ファイルの復号処理を鍵の送受信に着目して示している。暗号システムの利用ユーザが平文データを暗号化する場合または暗号ファイルを復号する場合に，クライアントにおいて暗号化／復号プログラムが実行される。暗号ファイル作成処理および暗号ファイル復号処理は，次に説明するように，プログラム（ここでは暗号化／復号プログラムおよび鍵配信プログラム）をコンピュータ（クライアントおよび鍵管理サーバ１０）に実行させることによって実現することもできるし，その一部または全部の処理を担うハードウエア（暗号化回路，復号回路等）を用いて実現することもできる。
クライアントの入力装置から暗号化／復号プログラムの起動命令が入力されると，暗号化／復号プログラムがクライアントの記憶装置から読出されてＣＰＵに読込まれる。暗号化／復号プログラムが実行される。以下の説明では，クライアント２０（ユーザＡのコンピュータ）の動作を例にとる。
暗号化すべき平文データまたは復号すべき暗号ファイルが入力される（ステップ１２１）。平文データまたは暗号ファイルの入力は，ＦＤ，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＭＯ等の可搬の記録媒体を介してもよいし，クライアント２０の記憶装置２２に記憶されているものでもよいし，クライアント３０，４０等の他のクライアントの記憶装置に記憶されているものをネットワーク１を介して読出したものであってもよい。
平文データが入力された場合（ステップ１２１で暗号化），クライアント２０のＦＤＤ２３に装着されたＦＤ２４に記録されている固有データ２５中のＩＤ「００１」が鍵管理サーバ１０に送信される（ステップ１２２）。暗号化／復号プログラムは，鍵管理サーバ１０から送信されるデータ（後述する）の受信を待機する（ステップ１２３）。
鍵管理サーバ１０の鍵配信プログラム（第９図）は，クライアントから送信されるＩＤまたはＩＤおよびヘッダ情報の受信を待機している（ステップ１４１）。鍵管理サーバ１０がクライアント２０からＩＤ「００１」を受信すると，鍵配信プログラムの処理が進行する（ステップ１４１でＹＥＳ）。
受信したＩＤ「００１」を含む管理データが，第１記憶装置１２に設けられている管理データベース１５から読出される（ステップ１４２）。読出された管理データが制御装置１１のメモリに一時的に記憶される。
メモリに一時記憶されている管理データにおいて，失効フラグ「ＦＦ」が格納されているかどうかが判断される（ステップ１４３）。
管理データに失効フラグが格納されていない場合（ステップ１４３でＮＯ），ヘッダ情報が受信されたかどうかが判断される（ステップ１４４）。後述するように，ヘッダ情報は，暗号ファイルを復号する場合（第８図；ステップ１２１で「復号」の場合）にクライアントから鍵管理サーバ１０に送信される。平文データの暗号化処理の場合には鍵管理サーバ１０においてヘッダ情報は受信されない（ステップ１４４でＮＯ）。鍵管理サーバ１０は，メモリに一時的に記憶されている管理データ中の公開鍵ＯＰ１で，固有鍵ＳＫ１を暗号化する。暗号化固有鍵ＳＫ１＜ＯＰ１＞が得られる（ステップ１４５）。生成された暗号化固有鍵ＳＫ１＜ＯＰ１＞がクライアント２０に配信される（ステップ１４６）。鍵配信プログラムは再びＩＤまたはＩＤおよびヘッダ情報の受信を待機する（ステップ１４１）。
上述したように，クライアント２０において暗号化／復号プログラム（第８図）は，鍵管理サーバ１０から送信されるデータを待機している（ステップ１２３）。鍵管理サーバ１０から配信された暗号化固有鍵ＳＫ１＜ＯＰ１＞をクライアント２０が受信すると，クライアント２０において暗号化／復号プログラムの処理が進行する（ステップ１２３でＹＥＳ）。
失効フラグ「ＦＦ」を受信していない場合（暗号化固有鍵を受信した場合である）（ステップ１２４でＮＯ），受信された暗号化固有鍵ＳＫ１＜ＯＰ１＞が，ＦＤ２４に記録されている秘密鍵Ｓ１で復号される（ステップ１２５）。暗号化固有鍵ＳＫ１＜ＯＰ１＞が復号されて固有鍵ＳＫ１が得られる。
乱数が生成される（ステップ１２６）。生成された乱数は，セッション・キーとして用いられる。生成されたセッション・キーで，入力された平文データが暗号化される（ステップ１２７）。暗号データが生成される。
平文データの暗号化に用いられたセッション・キーが，鍵管理サーバ１０から受信した暗号化固有鍵ＳＫ１＜ＯＰ１＞を復号することよって得られた固有鍵ＳＫ１で暗号化される（ステップ１２８）。暗号化セッション・キーが得られる。セッション・キーを固有鍵で暗号化したものを，以下，「第１の暗号化セッション・キー」と呼ぶ。
生成された暗号データに，ＩＤ「００１」と第１の暗号化セッション・キーとがヘッダ情報として付加された暗号ファイルが生成される（ステップ１２９；第１４図に暗号ファイルを概念的に示す）。生成された暗号ファイルが，クライアント２０の記憶装置２２に保存される。暗号化／復号プログラムの処理が終了する。ヘッダ情報には，暗号データ（暗号ファイル）の作成者のＩＤ（作成者ＩＤ）が含まれることになる。
鍵管理サーバ１０のメモリに読込まれた管理データ中に失効フラグ「ＦＦ」が格納されている場合には（第９図；ステップ１４３でＹＥＳ），鍵配信プログラムは，失効フラグ「ＦＦ」をクライアント２０に送信する（ステップ１５２）。失効フラグ「ＦＦ」を受信したクライアント２０では，暗号化／復号プログラムの処理を終了する（第８図；ステップ１２４でＹＥＳ）。
上述したように，暗号システムの利用が認められなくなったようなユーザの管理データに，鍵管理サーバ１０の管理者によって失効フラグ「ＦＦ」が格納される。この場合，暗号化／復号プログラムによる平文データの暗号化は行われない。管理データ中に失効フラグを格納することによって，失効フラグが格納されたユーザの暗号化処理を禁止することができる。ユーザの管理を鍵管理サーバ１０において集中して行うことができる。また，暗号システムの利用が認められなくなった者による暗号化処理を防止することができる。
クライアント２０に暗号ファイル（第１４図参照）が入力された場合には（ステップ１２１で復号），クライアント２０から鍵管理サーバ１０にＩＤ「００１」（復号実行者ＩＤ）と，入力された暗号ファイルのヘッダ情報とが送信される（ステップ１３１）。暗号化／復号プログラムは，鍵管理サーバ１０から送信されるデータ（後述する）の受信を待機する（ステップ１３２）。
鍵管理サーバ１０のメモリに読込まれた管理データに失効フラグ「ＦＦ」が格納されている場合には（第９図；ステップ１４３でＹＥＳ），鍵管理サーバ１０からクライアント２０に失効フラグ「ＦＦ」が送信される（ステップ１５２）。クライアント２０では，暗号化／復号プログラムの処理が終了する（第８図；ステップ１３３でＹＥＳ）。暗号ファイルの復号が認められなくなったユーザによる不正な暗号ファイルの復号が防止される。
管理データに失効フラグが格納されていない場合（ステップ１４３でＮＯ），ヘッダ情報が受信されたかどうかが判断される（ステップ１４４）。上述したように，暗号ファイルを復号する場合（第８図；ステップ１２１で「復号」の場合）には，鍵管理サーバ１０は，復号すべき暗号ファイルのヘッダ情報を受信している（ステップ１４４でＹＥＳ）。鍵配信プログラムは，受信したヘッダ情報に含まれるＩＤが，復号対象ＩＤであるかどうかを判断する（ステップ１４７）。
上述のように，管理データ中の復号対象ＩＤ欄には，復号可能な暗号ファイルの作成者のＩＤが格納されている。他方，クライアントから鍵管理サーバ１０に送信されるヘッダ情報には暗号ファイルの作成者のＩＤが含まれている。受信したヘッダ情報に含まれているＩＤ（暗号ファイルの作成者のＩＤ）と同じＩＤが管理データ中の復号対象ＩＤ欄に格納されている場合は，復号処理を行おうとしているユーザは，復号しようとしている暗号ファイルを復号する権限を有するユーザであると判断される（ステップ１４７でＹＥＳ）。
クライアント２０から鍵管理サーバ１０に送信されたヘッダ情報には，暗号ファイル作成者のＩＤとともに第１の暗号化セッション・キーが含まれている。この第１の暗号化セッション・キーは，暗号ファイルの作成者の固有鍵でセッション・キーを暗号化したものである。鍵配信プログラムは，ヘッダ情報中の暗号ファイルの作成者ＩＤに基づいて暗号ファイルの作成者を特定し，そのユーザの管理データ中の固有鍵を用いて第１の暗号化セッション・キーを復号する（ステップ１４８）。第１の暗号化セッション・キーが復号されてセッション・キーが得られる。
得られたセッション・キーが，暗号ファイルを復号しようとしているユーザ（ここでは，ＩＤ「００１」のユーザＡ）の公開鍵ＯＰ１で暗号化される（ステップ１４９）。暗号化セッション・キーが生成される。セッション・キーを公開鍵で暗号化したものを，第１実施例において以下，「第２の暗号化セッション・キー」と呼ぶ。第２の暗号化セッション・キーが鍵管理サーバ１０からクライアント２０に配信される（ステップ１５０）。
失効フラグ「ＦＦ」を受信していず（ステップ１３３でＮＯ），かつ復号不可フラグ「ＦＦ」（後述する）も受信していない場合には（ステップ１３４でＮＯ）（第２の暗号化セッション・キーを受信した場合である），受信した第２の暗号化セッション・キーがＦＤ２４に記録されている秘密鍵Ｓ１で復号される（ステップ１３５）。セッション・キーが得られる。得られたセッション・キーによって暗号データが復号される（ステップ１３６）。平文データが得られる。
受信したヘッダ情報に含まれているＩＤ（暗号ファイルの作成者のＩＤ）と同じＩＤが管理データ中の復号対象ＩＤ欄に格納されていない場合は，鍵配信プログラムは，復号処理を行おうとしているユーザは，復号しようとしている暗号ファイルを復号する権限を持たないユーザであると判断する（ステップ１４４でＹＥＳ，ステップ１４７でＮＯ）。この場合に，鍵管理サーバ１０からクライアント２０に復号不可フラグ「ＦＤ」が送信される（ステップ１５１）。
復号不可フラグ「ＦＤ」を受信したクライアント２０では復号処理が終了する（ステップ１３４でＹＥＳ）。復号権限を持たない者による暗号データの復号が防止される。
たとえば，第４図に示す管理データベース１５が鍵管理サーバ１０の第１記憶装置１２に設けられている状態で，ユーザＢ（ＩＤ「００２」）がクライアント３０を用いて暗号化／復号プログラムを実行し，暗号ファイルを入力したとする。
入力された暗号ファイルがユーザＢ自身が作成した暗号ファイルである場合には，ユーザＢ（ＩＤ「００２」）の管理データには復号対象ＩＤとしてＩＤ「００２」が含まれているので，その暗号ファイルの復号が許可される（ステップ１３４でＮＯ，ステップ１３５，１３６）。ユーザＢ（ＩＤ「００２」）の管理データには復号対象ＩＤとしてＩＤ「００４」も含まれているので，ユーザＢはＩＤ「００４」のユーザが作成した暗号ファイルも復号することができる。他方，ユーザＢの管理データには復号対象ＩＤとしてＩＤ「００１」は含まれていないので，ユーザＢがＩＤ「００１」のユーザ（ユーザＡ）が作成した暗号ファイルを復号しようとすると，クライアント３０には復号不可フラグ「ＦＤ」が送信される（ステップ１３４）。ユーザＢはユーザＡが作成した暗号ファイルを復号することができない。
暗号システムは，たとえば，次のような状況で利用することができる。鍵管理サーバ１０に設けられる管理データベース１５に，企業等の社員のそれぞれについての管理データを作成する。上司である者の管理データの復号対象者ＩＤ欄に，その上司の部下の社員のＩＤを登録する。上司は部下の作成した暗号ファイルを復号することができ，部下は上司の作成した暗号ファイルを復号することができないように暗号システムが運用される。企業等における組織構造に対応した権限管理を行うことができる。
上述した実施例では，ＩＤは，鍵管理サーバ１０においてＦＤに記録されて各ユーザに配布されているが，もちろん，ＭＯ，ＣＤ−ＲＷ等の他の記録媒体に記録して配布するようにしてもよい。電子メール等により，ネットワーク１を通じてＩＤを各ユーザに配布し，クライアントのハードディスクにＩＤおよび秘密鍵（固有データ）を記録してもよい。
上述した実施例において処理を実行するプログラムは，ネットワーク１を介してインストールすることによって，またはＣＤ−ＲＯＭ等に記録されたものをインストールすることによって，鍵管理サーバ１０またはクライアント２０，３０・・・の記憶装置に記憶させることができる。
第２実施例
第１５図は，第２実施例における暗号システムの全体的構成を示すブロック図である。第２図に示す第１実施例の暗号システムの構成とは，ハードウエアの観点から言えば，鍵管理サーバ２の制御装置１１にＦＤＤ１４が接続されていない点，およびクライアント２０，３０において制御装置２１，３１にＦＤＤ２３，３３が接続されていず，第２記憶装置２６，３６が接続されている点が異なる。また，鍵管理サーバ１０の第１記憶装置１２および第２記憶装置１３に記憶されているデータおよびプログラムの内容も，第１実施例とは異なる。クライアント２０，３０・・・の第１記憶装置２２，３２・・・に記憶されるデータおよびプログラムの内容も第１実施例とは異なる。
鍵管理サーバ１０の第１記憶装置１２には，管理データベース１５Ａが設けられ，さらに第１公開鍵および第１秘密鍵の対が記憶されている。管理データベース１５Ａには，暗号システムのユーザのそれぞれについて，ＩＤ，第２公開鍵，固有鍵等が記憶されている（詳細は後述する）。鍵管理サーバ１０の第１記憶装置１２に記憶されている第１公開鍵および第１秘密鍵の対は，後述するように，鍵管理サーバ１０において生成されて第１記憶装置１２に記憶される。鍵管理サーバ１０の第２記憶装置１３には，管理データ作成プログラム，第１公開鍵／第１秘密鍵生成プログラム，ＩＤファイル作成／配信プログラム，第２公開鍵登録プログラム，暗号ファイル処理用プログラムおよび復号処理用プログラムが記憶されている。これらのプログラムの処理についても後述する。
クライアント２０の第１記憶装置２２，クライアント３０の第１記憶装置３２には，ＩＤセットアップ・プログラム，暗号ファイル作成プログラムおよび復号プログラムが記憶されている。第２記憶装置２６，３６には，固有データ２５Ａおよび第１公開鍵が記憶されている。これらのプログラムの処理およびデータの詳細についても後述する。
第１６図（Ａ）はクライアント２０の第２記憶装置２６に記録された固有データ２５Ａおよび第１公開鍵の一例を，第１６図（Ｂ）はクライアント３０の第２記憶装置３６に記憶された固有データ３５Ａおよび第１公開鍵の一例をそれぞれ示している。第３図に示す第１実施例における固有データ２５，３５とは，秘密鍵に代えて第２秘密鍵が記憶されている点が異なる。また，第２記憶装置２６，３６には固有データとは別に第１公開鍵ＯＰ１が記憶されている点も異なる。ＩＤおよび第２秘密鍵はクライアント２０，３０・・・ごとに異なる。第１公開鍵ＯＰ１は，すべてのクライアント２０，３０・・・について共通する。後述するように，第２秘密鍵はクライアント２０，３０・・・のそれぞれにおいて生成される。第１公開鍵ＯＰ１は鍵管理サーバ１０において生成される。
第１７図は，鍵管理サーバ１０の第１記憶装置１２の内容を示すものである。鍵管理サーバ１０の第１記憶装置１２には，管理データベース１５Ａと，第１公開鍵および第１秘密鍵の対が記憶されている。
第１実施例の管理データベース１５（第４図）と同様に，管理データベース１５Ａには，暗号システムの利用ユーザのそれぞれについての管理データが記憶されている。第１実施例の管理データベース１５（第４図）とは，公開鍵に代えて第２公開鍵が含まれている点が異なる。第２公開鍵は，クライアントにおいてＩＤセットアップ・プログラムが実行されることによって生成される公開鍵と秘密鍵の対のうちの公開鍵であり，クライアント２０，３０‥‥のそれぞれから鍵管理サーバ１０に，暗号化された状態で送信される（詳しくは後述する）。管理データベース１５Ａを構成する管理データは，第１実施例と同様に，第２公開鍵欄に登録される第２公開鍵を除き，管理データ作成プログラム（第５図参照）に基づいて作成されて管理データベース１５Ａに登録される。
第１８図は，鍵管理サーバ１０の第２記憶装置１３に記憶された第１公開鍵／第１秘密鍵生成プログラムの処理の流れを示すフローチャートである。
鍵管理サーバ１０の管理者が入力装置から第１公開鍵／第１秘密鍵生成プログラムの起動命令を入力すると，鍵管理サーバ１０の第２記憶装置１３から第１公開鍵／第１秘密鍵生成プログラムが読出されてＣＰＵに読込まれる。第１公開鍵／第１秘密鍵生成プログラムは，暗号システムの立ち上げ時（暗号システムの運用のスタート時，または管理データベース１５Ａの作成時）に実行される。
公開鍵と秘密鍵の対が生成される（ステップ２０１）。鍵管理サーバ１０において生成される公開鍵／秘密鍵を，第１公開鍵ＯＰ１／第１秘密鍵Ｓ１と呼ぶ。
生成された第１公開鍵ＯＰ１および第１秘密鍵Ｓ１が，鍵管理サーバ１０の第１記憶装置１２に記憶される（ステップ２０２）。第１公開鍵／第１秘密鍵生成プログラムの処理が終了する。
公開鍵／秘密鍵の対は，次に説明するように，クライアント２０，３０・・・においても生成される。クライアント２０，３０・・・のそれぞれにおいて生成される公開鍵／秘密鍵を，第２公開鍵／第２秘密鍵と呼ぶ。上述したように，各クライアント２０，３０・・・において生成される第２公開鍵と第２秘密鍵の対のうちの第２公開鍵が暗号化された状態で鍵管理サーバ１０に送信される。鍵管理サーバ１０において，暗号化された第２公開鍵が復号されて，ユーザごとに設けられた管理データの第２公開鍵欄に登録されることになる。
第１９図は，第２公開鍵が鍵管理サーバ１０の管理データベース１５Ａに記憶されるまでの鍵管理サーバ１０およびクライアントの処理の流れを示すフローチャートである。第２０図は，第１９図に示す処理を鍵の送受信に着目して示すものである。鍵管理サーバ１０では，ＩＤファイル作成／配信プログラムおよび第２公開鍵登録プログラムが，クライアントではＩＤセットアップ・プログラムがそれぞれ実行される。クライアント２０，３０・・・の代表としてクライアント２０（ユーザＡのコンピュータ）の動作を説明する。
鍵管理サーバ１０の管理者がＩＤファイル作成／配信プログラムの起動命令を入力すると，第２記憶装置１３からＩＤファイル作成／配信プログラムが実行される。表示装置の表示画面上に管理データの一覧表（管理データベース１５Ａの全体）が表示される（ステップ２１１）。
鍵管理サーバ１０の管理者は，後述するＩＤファイルを配信すべきユーザのＩＤを選択する（ステップ２１２）。ＩＤ「００１」（ユーザＡのＩＤ）が選択されたとすると，選択されたＩＤ「００１」と，第１記憶装置１２に記憶されている第１公開鍵ＯＰ１とを含むＩＤファイルが作成される（ステップ２１３）。作成されたＩＤファイルが，クライアント２０（ユーザＡのコンピュータ）に向けてネットワーク１を通じて配信される（ステップ２１４）。他のユーザに対してＩＤファイルを作成して送信する場合にも，上述の処理が繰り返される（ステップ２１５でＮＯ，ステップ２１２）。すべてのユーザについてＩＤファイルの配信が終了すると，ＩＤファイル作成／配信プログラムの処理が終了する（ステップ２１５でＹＥＳ）。
クライアント２０では，第１記憶装置２２に記憶されているＩＤセットアップ・プログラムを起動する。鍵管理サーバ１０から送信されたＩＤファイルがクライアント２０において受信される（ステップ２２１）。
上述のように，鍵管理サーバ１０からクライアント２０に配信されるＩＤファイルには，ＩＤ「００１」と，第１公開鍵ＯＰ１が含まれている。ＩＤセットアップ・プログラムは，ＩＤファイルに含まれているＩＤ「００１」および第１公開鍵ＯＰ１を，第２記憶装置２６に記憶する（ステップ２２２）。
ＩＤセットアップ・プログラムはさらに，公開鍵および秘密鍵の対を生成する（これが，第２公開鍵／第２秘密鍵である）（ステップ２２３）。生成された第２公開鍵ＯＰ２−１と第２秘密鍵Ｓ２−１の対のうち，第２秘密鍵Ｓ２−１を第２記憶装置２６に記憶する（ステップ２２４）。第１６図（Ａ）に示すように，クライアント２０の第２記憶装置２６には，ＩＤ「００１」および第２秘密鍵Ｓ２−１（固有データ２５Ａ）と，第１公開鍵ＯＰ１とが記憶される。
生成された第２公開鍵ＯＰ２−１が，鍵管理サーバ１０から配信された第１公開鍵ＯＰ１で暗号化される（ステップ２２５）。暗号化第２公開鍵ＯＰ２−１＜ＯＰ１＞が得られる。得られた暗号化第２公開鍵ＯＰ２−１＜ＯＰ１＞と，ＩＤ「００１」とがクライアント２０から鍵管理サーバ１０に送信される（ステップ２２６）。クライアント２０におけるＩＤセットアップ・プログラムの処理が終了する。
鍵管理サーバ１０では，第２公開鍵登録プログラムがクライアントから送信されるＩＤと暗号化第２公開鍵の受信を待機している（ステップ２３１でＮＯ）。クライアント２０からＩＤ「００１」および暗号化第２公開鍵ＯＰ２−１＜ＯＰ１＞を受信すると（ステップ２３１でＹＥＳ），鍵管理サーバ１０は第１記憶装置１２に記憶されている第１公開鍵ＯＰ１および第１秘密鍵Ｓ１の対のうちの第１秘密鍵Ｓ１を読出し，受信した暗号化第２公開鍵ＯＰ２−１＜ＯＰ１＞を復号する（ステップ２３２）。第２公開鍵ＯＰ２−１が得られる。得られた第２公開鍵が，受信したＩＤ「００１」についての管理データに登録（記憶）される（ステップ２３３）。このようにして，各ユーザについての第２公開鍵が管理データ中に記憶されることによって，管理データベース１５Ａ（第１７図）が完成する。
第２１図は，クライアントの第１記憶装置に記憶されている暗号ファイル作成プログラムの処理の流れを示すフローチャートである。第２２図は，クライアントにおいて暗号ファイル作成プログラムが実行されることに応答して，鍵管理サーバ１０において実行される暗号ファイル処理用プログラムの処理の流れを示すフローチャートである。第２３図は，第２１図および第２２図に示す暗号ファイルの作成処理におけるクライアント２０および鍵管理サーバ１０の処理をブロック図で示している。第２４図は，第２１図および第２２図に示す暗号ファイルの作成処理を鍵の流れに着目して示すものである。
クライアントの入力装置から暗号ファイル作成プログラムの起動命令が入力されると，暗号ファイル作成プログラムがクライアントの第１記憶装置から読み出されてＣＰＵに読み込まれる。暗号ファイル作成プログラムが実行される。以下の説明では，クライアント２０（ユーザＡのコンピュータ）の動作を例にとる。
暗号化すべき平文データが入力される（ステップ２４１）。
乱数が生成される（ステップ２４２）。生成された乱数は，セッション・キーとして用いられる。後述するように，入力された平文データは，このセッション・キーで暗号化される。
生成されたセッション・キーが，クライアント２０の第２記憶装置２６に記憶されている固有データ２５Ａ中の第２秘密鍵Ｓ２−１で暗号化される（ステップ２４３）。第２実施例では，セッション・キーを第２秘密鍵で暗号化したものを，「第１暗号化セッション・キー」と呼ぶ。セッション・キー自体も，クライアント２０のメモリに一時的に記憶されたままである。
管理データ２５Ａ中のＩＤ「００１」（暗号ファイルを作成しようとしているユーザのＩＤ：以下，「作成者ＩＤ」と呼ぶ）と，上述の第１暗号化セッション・キーとが，クライアント２０から鍵管理サーバ１０に送信される（ステップ２４４）。
鍵管理サーバ１０の暗号ファイル処理用プログラム（第２２図）は，作成者ＩＤと第１暗号化セッション・キーの受信を待機している（ステップ２５１でＮＯ）。鍵管理サーバ１０がクライアント２０から作成者ＩＤ「００１」と第１暗号化セッション・キーとを受信すると，暗号ファイル処理用プログラムの処理が進行する（ステップ２５１でＹＥＳ）。
受信した作成者ＩＤ「００１」を含む管理データが，鍵管理サーバ１０の第１記憶装置１２に設けられている管理データベース１５Ａから読出され，制御装置１１のメモリに一時的に記憶される。メモリに一時記憶されている管理データにおいて，失効フラグ「ＦＦ」が格納されていると，失効フラグ「ＦＦ」が鍵管理サーバ１０からクライアント２０に送信される（ステップ２５２でＹＥＳ，ステップ２５７）。クライアント２０が失効フラグ「ＦＦ」を受信すると（第２１図：ステップ２４５でＹＥＳ，ステップ２４６でＹＥＳ），クライアント２０において暗号ファイル作成プログラムの処理はそのまま終了する。暗号ファイルは作成されない。
管理データに失効フラグが格納されていない場合には（ステップ２５２でＮＯ），メモリに一時的に記憶されているＩＤ「００１」のユーザについての管理データ中の第２公開鍵ＯＰ２−１で，受信した第１暗号化セッション・キーが復号される（ステップ２５３）。第１暗号化セッション・キーはクライアント２０において第２秘密鍵Ｓ２−１によって暗号化されたものであるので，第１暗号化セッション・キーは第２公開鍵ＯＰ２−１で復号される。セッション・キーが得られる（ステップ２５３）。
管理データ中の固有鍵ＳＫ１が用いられて，得られたセッション・キーが暗号化される（ステップ２５４）。第２実施例において，セッション・キーを固有鍵で暗号化することによって得られる鍵を，以下，「第２暗号化セッション・キー」と呼ぶ。
さらに，生成された第２暗号化セッション・キーが，管理データ中の第２公開鍵ＯＰ２−１で暗号化される（ステップ２５５）。第２実施例において第２暗号化セッション・キーを第２公開鍵で暗号化することによって得られる鍵を，以下，「第３暗号化セッション・キー」と呼ぶ。第３暗号化セッション・キーが，鍵管理サーバ１０からクライアント２０に送信される（ステップ２５６）。鍵管理サーバ１０における暗号ファイル処理用プログラムの処理が終了する。
クライアント２０は，鍵管理サーバ１０から送信される第３暗号化セッション・キーの受信を待機している（第２１図：ステップ２４５でＮＯ）。第３暗号化セッション・キーを受信すると（ステップ２４５でＹＥＳ，ステップ２４６でＮＯ），クライアント２０は第２記憶装置２６に記憶されている固有データ２５Ａ中の第２秘密鍵Ｓ２−１を用いて，第３暗号化セッション・キーを復号する（ステップ２４７）。第２暗号化セッション・キーが得られる。
入力された平文データがセッション・キーで暗号化されて暗号データが生成される（ステッ２４８）。生成された暗号データのヘッダに，作成者ＩＤと上述の暗号化セッション・キー（これらをヘッダ情報と呼ぶ）が付加された暗号ファイルが作成される（ステップ２４９）。暗号ファイル作成プログラムの処理が終了する。
第２５図は，クライアントの第１記憶装置に記憶されている復号プログラムの処理の流れを示すフローチャートである。第２６図は鍵管理サーバ１０において実行される復号処理用プログラムの処理の流れを示すフローチャートである。第２７図は第２５図および第２６図に示す暗号ファイルの復号処理におけるクライアント３０と鍵管理サーバ１０の処理を示すブロック図である。第２８図は，第２５図および第２６図に示す暗号ファイルの復号処理を，鍵の流れに着目して示すものである。
クライアントにおいて復号プログラムの起動命令が入力されると，復号プログラムがクライアントの第１記憶装置から読出されてＣＰＵに読み込まれる。復号プログラムが実行される。クライアント３０（ユーザＢのコンピュータ）の動作を例にとる。
クライアント３０のユーザＢ（復号実行者）は，暗号ファイルをクライアント３０に入力する（ステップ２６１）。
第２実施例の暗号システムにおいて作成される暗号ファイルは，上述したように，暗号データのヘッダに，ヘッダ情報（作成者ＩＤおよび第２暗号化セッション・キー）が付加されたものである。復号プログラムは，入力された暗号ファイルに含まれているヘッダ情報（作成者ＩＤと第２暗号化セッション・キー）を，第２記憶装置３６に記憶されている固有データ３５Ａ中の第２秘密鍵Ｓ２−２で暗号化する（ステップ２６２）。ヘッダ情報が暗号化される。暗号ファイルのヘッダ情報を復号実行者の第２秘密鍵で暗号化したものを，以下，「暗号化パラメータ」と呼ぶ。
復号実行者（ユーザＢ）のＩＤ「００２」（第２記憶装置３６の固有データ３５Ａ中に含まれている）と，上述の暗号化パラメータが，クライアント３０から鍵管理サーバ１０に送信される（ステップ２６３）。
鍵管理サーバ１０では，復号処理用プログラムが復号実行者ＩＤと暗号化パラメータの受信を待機している（第２６図：ステップ２７１）。鍵管理サーバ１０がクライアント３０から送信された復号実行者ＩＤ「００２」および暗号化パラメータを受信すると，復号処理用プログラムによる処理が進行する（ステップ２７１でＹＥＳ）。受信した復号実行者ＩＤ「００２」を含む管理データが，第１記憶装置１２に設けられている管理データベース１５Ａから読み出されて，鍵管理サーバ１０のメモリに一時的に記憶される。
メモリに一時的に記憶されている管理データ中に失効フラグが格納されているかどうかが判断される（ステップ２７２）。失効フラグ「ＦＦ」が格納されている場合には（ステップ２７２でＹＥＳ），鍵管理サーバ１０は失効フラグ「ＦＦ」をクライアント３０に送信する（ステップ２７８）。この場合，暗号ファイル（暗号データ）の復号処理は行われない（第２５図：ステップ２６４でＹＥＳ，ステップ２６５でＹＥＳ）。
メモリに一時的に記憶されている管理データ中に失効フラグが格納されていない場合には（ステップ２７２でＮＯ），復号実行者についての管理データ中の第２公開鍵ＯＰ２−２で，受信した暗号化パラメータが復号される。暗号化パラメータは，固有データ中の第２秘密鍵Ｓ２−２でヘッダ情報を暗号化したものであるので（第２５図，ステップ２６２），暗号化パラメータが復号されるとヘッダ情報（作成者ＩＤおよび第２暗号化セッション・キー）が得られる（ステップ２７３）。
得られたヘッダ情報中の作成者ＩＤが，メモリに記憶されている復号実行者についての管理データ中に，復号対象ＩＤとして記憶されているかどうかが判断される（ステップ２７４）。
作成者ＩＤと同じＩＤが復号対象ＩＤとして管理データ中に含まれていない場合には，その復号実行者は，作成者ＩＤによって特定される作成者が作成した暗号ファイルを復号する権限を持たない者である（復号資格なし：ステップ２７４でＮＯ）。この場合には，鍵管理サーバ１０からクライアント３０に復号不可フラグ「ＦＤ」が送信される（ステップ２７９）。復号不可フラグ「ＦＤ」を受信したクライアント３０では，復号プログラムの処理が終了する（ステップ２６４でＹＥＳ，ステップ２６５でＹＥＳ）。
作成者ＩＤと同じＩＤが復号対象ＩＤとして管理データ中に含まれている場合には，その復号実行者は，作成者ＩＤによって特定される作成者が作成した暗号ファイルを復号する権限を持つ者である（復号資格あり：ステップ２７４でＹＥＳ）。この場合には，作成者ＩＤによって特定される作成者についての管理データが参照されて，その管理データ中の固有鍵で，第２暗号化セッション・キーが復号される（ステップ２７５）。セッション・キーが得られる。
復号実行者についての管理データ中の第２公開鍵（ＩＤ「００２」のユーザの場合は第２公開鍵ＯＰ２−２）が用いられて，得られたセッション・キーが再び暗号化される（ステップ２７６）。鍵管理サーバ１０において復号実行者の第２公開鍵でセッション・キーを暗号化したものを，以下，「第４暗号化セッション・キー」と呼ぶ。第４暗号化セッション・キーが鍵管理サーバ１０からクライアント３０に送信される（ステップ２７７）。
第４暗号化セッション・キーを受信したクライアント３０では（第２５図：ステップ２６４でＹＥＳ，ステップ２６５でＮＯ），固有データ３５Ａ中の第２秘密鍵Ｓ２−２が用いられて第４暗号化セッション・キーが復号される（ステップ２６６）。セッション・キーが得られる。
最後に，得られたセッション・キーが用いられて，暗号ファイル中の暗号データが復号される（ステップ２６７）。平文データが得られる。
第２実施例によると，クライアント２０，３０・・・のそれぞれにおいて公開鍵／秘密鍵（第２公開鍵／第２秘密鍵）が生成され，かつ鍵管理サーバ１０においても公開鍵／秘密鍵（第１公開鍵／第１秘密鍵）が生成される。クライアント２０，３０・・・において生成される第２公開鍵／第２秘密鍵のうちの第２公開鍵は，鍵管理サーバ１０から配布された第１公開鍵で暗号化されてクライアント２０，３０・・・から鍵管理サーバ１０に送信されて管理データ中に登録される。このため，第２公開鍵の秘匿性は高い。
さらに第２実施例では，管理データ中の固有鍵は，ネットワーク１を介して送受信されない。このため，固有鍵の秘匿性は極めて高い。
第２実施例においても，ヘッダ情報中の作成者ＩＤが，復号実行者についての管理データ中に復号対象ＩＤとして記憶されているかどうかによって，復号実行者が暗号データを復号する権限を有する者であるかどうかが判断されるので，企業等における組織構造に対応した権限管理を行うことができる。
変形例
暗号ファイルの作成処理において，クライアントにおいてセッション・キーの暗号化に用いる鍵を第２秘密鍵の代わりに第１公開鍵を用いてもよい（第２１図のステップ２４３の処理）。セッション・キーの暗号化（第１暗号化セッション・キーの作成）に第１公開鍵を用いた場合の鍵の送受信の流れを第２９図に示す。この場合には，鍵管理サーバ１０における第１暗号化セッション・キーの復号処理（第２２図：ステップ２５３）には，第２公開鍵ではなく，鍵管理サーバ１０の第１記憶装置１２に記憶されている第１秘密鍵が用いられることになる。
第３実施例
第３０図は，第３実施例における暗号システムの全体的構成を示すブロック図である。第１５図に示す第２実施例の暗号システムとは，鍵管理サーバ１０の第１記憶装置１２に記憶されているデータ（データベース）の内容，鍵管理サーバ１０の第２記憶装置１３に記憶されているプログラムの内容，クライアント２０，３０・・・の第１記憶装置２２に記憶されているプログラムの処理が異なる。
第３実施例の暗号システムでは，「グループ」という概念が採用されている。暗号システムのユーザは，一または複数のグループに所属することができる。もちろん，いずれのグループにも属さないユーザが存在することもある。第３実施例の暗号システムは，特定のユーザについて，暗号システムの他の利用メンバが作成した暗号データを復号することができるように鍵管理サーバ１０およびクライアント２０，３０‥‥が制御されるとともに，暗号データを作成したユーザが属するグループと同じグループに属する他のユーザが，その暗号データを復号することができるように，鍵管理サーバ１０およびクライアント２０，３０・・・が制御されることを特徴とする。
クライアント２０，３０・・・の第２記憶装置２６，３６・・・には，第２実施例と同様に，ＩＤおよび第２秘密鍵（固有データ）と，第１公開鍵とが記憶されている（第１６図参照）。ＩＤおよび第２秘密鍵は，クライアント２０，３０・・・ごとに異なる。第１公開鍵（第１公開鍵ＯＰ１）は，すべてのクライアント２０，３０・・・について共通する。
第３１図は鍵管理サーバ１０の第１記憶装置１２の内容を示すものである。鍵管理サーバ１０の第１記憶装置１２には，第１管理データベース１５Ｂと，第１公開鍵および第１秘密鍵の対と，第２管理データベース１６が記憶されている。第１管理データベース１５Ｂは，第２実施例の管理データベース１５Ａ（第１７図）とは，登録グループ１，登録グループ２，登録グループ３・・・が加えられている点が異なる。
「登録グループ１」，「登録グループ２」，「登録グループ３」・・・には，暗号システムのユーザが属するグループを識別するグループＩＤが格納される。たとえば，ＩＤ「００１」のユーザ（ユーザＡ）についての管理データには，「Ｇ１」，「Ｇ２」，「Ｇ３」の３つのグループＩＤが登録されている。ＩＤ「００１」のユーザ（ユーザＡ）は，Ｇ１，Ｇ２，Ｇ３というグループＩＤによって特定されるグループ（グループ「Ｇ１」，グループ「Ｇ２」，グループ「Ｇ３」）に属していることを意味する。同様に，ＩＤ「００２」のユーザ（ユーザＢ）についての管理データには，「Ｇ２」のグループＩＤが登録されている。ＩＤ「００２」のユーザ（ユーザＢ）はグループ「Ｇ２」に属していることが分かる。
第２管理データベース１６には，「グループＩＤ」および「グループ鍵」（第２管理データ）が含まれている。
「グループＩＤ」は，上述したようにグループを識別するものであり，グループに１対１に対応付けられる識別符号である。
「グループ鍵」は，各グループごとに与えられる乱数データである。グループ鍵は，後述するように，セッション・キーの暗号化と，暗号化セッション・キーの復号とに用いられる。
第３２図は，鍵管理サーバ１０の第２記憶装置１３に記憶された第１管理データ作成プログラムの処理の流れを示すフローチャートである。第１実施例の管理データ作成プログラム（第５図）と同じ処理（ステップ）には同一の符号を付し，重複した説明を省略する。
第１管理データ作成プログラムの処理では，復号対象者ＩＤの登録（ステップ１０５）（第１実施例と同じ）の他に，グループＩＤが登録される（ステップ１０７）。鍵管理サーバ１０の管理者は，管理データ中のグループＩＤ欄にユーザの属するグループを特定するグループＩＤを登録する。もちろん，いずれのグループにも属さないユーザであれば，ステップ１０７はスキップされる。
第３３図は，鍵管理サーバ１０の第２記憶装置１３に記憶された第２管理データ作成プログラムの処理の流れを示すフローチャートである。鍵管理サーバ１０の管理者が入力装置から第２管理データ作成プログラムの起動命令を入力すると，鍵管理サーバ１０の第２記憶装置１３から第２管理データ作成プログラムが読出されてＣＰＵに読込まれる。第２管理データ作成プログラムが実行される。
鍵管理サーバ１０の管理者によって，鍵管理サーバ１０の入力装置から暗号システムの利用ユーザが属する組織等に設けられているグループ（部，課，班等）の名称等（グループ情報）が入力される（ステップ２８１）。グループ情報の入力が終了すると，そのグループについてのＩＤが採番される。第２管理データベース１６のグループＩＤ欄に，採番されたグループＩＤが登録される（ステップ２８２）。
乱数が生成される。生成された乱数が，登録されたグループＩＤに対応するグループ鍵としてグループ鍵欄に登録される（ステップ２８３）。複数のグループについてのグループＩＤとグループ鍵を登録する場合には，上述の処理が繰り返される（ステップ２８４でＮＯ，ステップ２８１）。すべてのグループについてのデータ入力が終了すると，第２管理データベース１６が完成する（ステップ２８４でＹＥＳ）。
第３４図は，クライアントの第１記憶装置に記憶されている暗号ファイル作成プログラムの処理の流れを示すフローチャートである。第３５図は，クライアントにおいて暗号ファイル作成プログラムが実行されることに応答して，鍵管理サーバ１０において実行される暗号ファイル処理用プログラムの処理の流れを示すフローチャートである。第３６図はグループ鍵を用いた処理が行われた場合における第３４図および第３５図に示す暗号ファイルの作成処理におけるクライアント２０および鍵管理サーバ１０の処理をブロック図で示している。第３７図は，グループ鍵を用いた処理が行われた場合における第３４図および第３５図に示す暗号ファイルの作成処理を，鍵の流れに着目して示すものである。第３４図に示す暗号ファイル作成プログラムの処理は，第２実施例の第２１図に示すフローチャートと同一の処理を含むので，同一処理には同一の符号を付し，重複した詳細な説明を避ける。第３５図に示す暗号ファイル処理用プログラムの処理は，第２実施例の第２２図に示すフローチャートと同一の処理を含むので，同一処理には同一符号を付し重複した説明を避ける。クライアント２０（ユーザＡのコンピュータ）の動作を例にとる。
クライアント２０の固有データ２５Ａ中のＩＤ「００１」（暗号ファイルを作成しようとしているユーザのＩＤ：作成者ＩＤ）と，セッション・キーを第２秘密鍵Ｓ２−１で暗号化した第１暗号化セッション・キーとが，クライアント２０から鍵管理サーバ１０に送信される（第３４図：ステップ２４４）。鍵管理サーバ１０では，受信した作成者ＩＤに基づいて，作成者（ユーザＡ）の管理データ中の第２公開鍵ＯＰ２−１で第１暗号化セッション・キーを復号し（ステップ２５３），得られたセッション・キーを管理データ中の固有鍵ＳＫ１で暗号化する。第２暗号化セッション・キーが得られる（ステップ２５４）。
暗号ファイルを作成しようとしているユーザの管理データ中のグループＩＤ登録欄に，グループＩＤが登録されているかどうかが判断される（ステップ２９３）。
グループＩＤ登録欄にグループＩＤが登録されていない場合には（ステップ２９３でＮＯ，たとえば，ＩＤ「００４」のユーザ），第２実施例と同じ処理が行われる。すなわち，鍵管理サーバ１０からクライアント２０に，第２公開鍵で第２暗号化セッション・キーを暗号化した第３暗号化セッション・キーが送信される（ステップ２５５，２５６）。その後，クライアントでは，第２秘密鍵で第３暗号化セッション・キーが復号され，平文データがセッション・キーで暗号化され，暗号データのヘッダ情報として作成者ＩＤと第２暗号化セッション・キーとが付加された暗号ファイルが作成される（第３４図：ステップ２４５〜ステップ２４９）。
グループＩＤ登録欄にグループＩＤが登録されている場合には（ステップ２９３でＹＥＳ），第２管理データベース１６が参照されて，そのグループＩＤに対応するグループ鍵が用いられて，セッション・キーが暗号化される（ステップ２９４）。鍵管理サーバ１０においてグループ鍵でセッション・キーを暗号化することによって得られる鍵を，以下「グループ暗号化セッション・キー」と呼ぶ。鍵管理サーバ１０では，第２暗号化セッション・キーとグループ暗号化セッション・キーが生成されることになる。
グループＩＤ登録欄に複数のグループＩＤが登録されている場合には，そのそれぞれに対応するグループ鍵が用いられて，登録されているグループＩＤと同じ数のグループ暗号化セッション・キーが生成される（ステップ２９５でＮＯ，ステップ２９４）。
グループ暗号化セッション・キーの生成が終了すると（ステップ２９５でＹＥＳ），第２公開鍵ＯＰ２−１が用いられて，グループＩＤと，第２暗号化セッション・キーと，グループ暗号化セッション・キーとが暗号化される（第５暗号化セッション・キーと呼ぶ）（ステップ２９６）。生成された第５暗号化セッション・キーが鍵管理サーバ１０からクライアント２０に送信される（ステップ２９７）。
第５暗号化セッション・キーを受信したクライアント２０では，固有データ２５Ａ中の第２秘密鍵Ｓ２−１が用いられて，第５暗号化セッション・キーが復号される（ステップ２９１）。グループＩＤと，第２暗号化セッション・キーと，グループ暗号化セッション・キーとが得られる。
セッション・キーが用いられて平文データから暗号データが作成される（ステップ２４８）。作成された暗号データのヘッダ情報として，作成者ＩＤ，グループＩＤ，第２暗号化セッション・キーおよびグループ暗号化セッション・キーを含む暗号ファイルが生成される（ステップ２９２，第３７図参照）。
第３８図は，クライアントの第１記憶装置に記憶されている復号プログラムの処理の流れを示すフローチャートである。第３９図は，鍵管理サーバ１０において実行される復号処理用プログラムの処理の流れを示すフローチャートである。第４０図はグループ暗号化セッション・キーを含む暗号ファイルの復号処理におけるクライアント３０および鍵管理サーバ１０の処理をブロック図で示している。第４１図はグループ暗号化セッション・キーを含む暗号ファイルの復号処理おける鍵の送受信に着目して示すものである。第３８図に示す復号プログラムの処理は，第２実施例の第２５図に示すフローチャートと同じであるが，説明を分かりやすくするために再掲する。第３９図に示す復号処理用プログラムの処理は，第２実施例の第２６図に示すフローチャートと同一の処理を含むので，同一処理には同一符号を付し重複説明を避ける。また，復号しようとする暗号ファイルのヘッダ情報にグループＩＤおよびグループ暗号化セッション・キーが含まれていない場合は，第２実施例と同じ処理になるので，ここでは，ヘッダ情報にグループＩＤおよびグループ暗号化セッション・キーが含まれている暗号ファイルの復号処理について説明する。
上述したように，暗号ファイルの作成者についての管理データ中にグループＩＤが登録されていると，暗号ファイルのヘッダ情報は，作成者ＩＤおよび第２暗号化セッション・キーとともに，グループＩＤおよびグループ暗号化セッション・キーを含むものになる（第３４図：ステップ２９２）。復号実行者（ユーザＢとする）が復号すべき暗号ファイルを入力すると（ステップ２６１），クライアント３０において，復号プログラムは，入力された暗号ファイルのヘッダ情報を第２記憶装置３６に記憶されている固有データ３５Ｂ中の第２秘密鍵Ｓ２−２で暗号化する（暗号化パラメータの生成）（ステップ２６２）。生成された暗号化パラメータと，固有データ３５Ｂ中の復号実行者のＩＤ（ユーザＢのＩＤ「００２」）とが，クライアント３０から鍵管理サーバ１０に送信される（ステップ２６３）。
鍵管理サーバ１０では，受信した暗号化パラメータを，復号実行者についての管理データ中の第２公開鍵（ＩＤ「００２」のユーザＢの場合には第２公開鍵ＯＰ２−２）で復号する。作成者ＩＤ，第２暗号化セッション・キー，グループＩＤおよびグループ暗号化セッション・キーが得られる（ステップ２７３）。
得られた作成者ＩＤが，復号実行者についての管理データ中に復号対象ＩＤとして登録されているかどうかが判断される（ステップ２７４）。作成者ＩＤと同一のＩＤが，復号対象ＩＤとして管理データ中に登録されていれば，第２実施例と同じ処理によって，クライアント３０において暗号ファイルに含まれている暗号データが復号される（ステップ２７４でＹＥＳ，ステップ２７５〜２７７，第３８図：ステップ２６４〜２６７）。
得られた作成者ＩＤが復号実行者についての管理データ中に復号対象ＩＤとして登録されていない場合には（ステップ２７４でＮＯ），次に，得られたグループＩＤが復号実行者についての管理データ中に登録されているかどうかが判断される（ステップ３０１）。すなわち，復号しようとしている暗号ファイルの作成者が属するグループに，復号実行者が属しているかどうかが判断される。
復号実行者が暗号ファイルの作成者と同じグループに属している場合（得られたグループＩＤが，復号実行者についての管理データ中に登録されている場合）には，第２管理データベース１６が参照されて，そのグループＩＤに対応するグループ鍵が読み出される。読み出されたグループ鍵が用いられてグループ暗号化セッション・キーが復号される（ステップ３０２）。セッション・キーが得られる。
セッション・キーが得られた後の処理は，第２実施例と同じである。すなわち，得られたセッション・キーが，復号実行者の第２公開鍵ＯＰ２−２で暗号化され（第４暗号化セッション・キーの生成）（ステップ２７６），第４暗号化セッション・キーが鍵管理サーバ１０からクライアント３０に送信される（ステップ２７７）。第４暗号化セッション・キーを受信したクライアント３０では，第２秘密鍵Ｓ２−２で第４暗号化セッション・キーが復号され（ステップ２６６），得られたセッション・キーで暗号ファイルに含まれる暗号データが復号される（ステップ２６７）。
得られた作成者ＩＤが管理データ中に復号対象ＩＤとして登録されていず，かつ得られたグループＩＤも管理データ中に登録されていない場合には，復号不可フラグ（ＦＤ）が鍵管理サーバ１０からクライアントに送信される（ステップ２７９）。
このように第３実施例では，暗号ファイルを作成したユーザが属するグループと同じグループに属する他のユーザに，さらに暗号ファイルを復号する権限が与えられる。たとえば，企業等において，同じ課，同じ部等に属するユーザについて復号権限を与えるような場合に，このグループＩＤを用いた権限処理を活用することができる。
上述した実施例（第３実施例）では，管理データ中に復号対象ＩＤとグループＩＤとが登録可能であるが，グループＩＤのみを登録するようにしてもよいのはいうまでもない。この場合には，復号実行者が暗号ファイルの作成者と同一のグループに属する場合にのみ，復号実行者に暗号ファイルの復号が許されることになる。
第４実施例
暗号ファイルの復号権限を，復号対象者および暗号ファイルの作成者と同一のグループに属するユーザの他に，暗号ファイルの作成者が暗号ファイルの作成時において指定するユーザおよび／または指定するグループに与えるようにしてもよい。第４実施例の暗号システムは，暗号ファイルの作成者が指定するユーザ（指定復号者）および／または暗号ファイルの作成者が指定するグループ（指定復号グループ）にも，作成者が作成した暗号ファイルを復号する権限を与えるように，鍵管理サーバ１０およびクライアント２０，３０・・・が制御されることを特徴とする。
第４２図は，第４実施例における暗号システムの全体的構成を示すブロック図である。第３実施例の暗号システム（第３０図）とは，鍵管理サーバ１０の第１記憶装置１２および第２記憶装置１３に記憶されているデータおよびプログラムの処理の内容，ならびにクライアント２０，３０・・・の第１記憶装置２２，３２・・・に記憶されているプログラムの処理の内容が異なる。
各クライアント２０，３０・・・の第２記憶装置２６，３６・・・には，第２実施例と同様に，ＩＤおよび第２秘密鍵（固有データ）と，第１公開鍵とが記憶されている（第１６図参照）。ＩＤおよび第２秘密鍵は，クライアント２０，３０・・・ごとに異なる。第１公開鍵（第１公開鍵ＯＰ１）は，すべてのクライアント２０，３０・・・について共通する。
第４３図は鍵管理サーバ１０の第１記憶装置１２に設けられた第１管理データベース１５Ｃを示すものである。第４実施例においても，鍵管理サーバ１０の第１記憶装置１２には，第１管理データベース１５Ｃと第２管理データベース１６が設けられている。第３実施例とは，第１管理データベース１５Ｃの内容が異なる。第１管理データベース１５Ｃは，第３実施例の管理データベース１５Ｂとは，管理データのそれぞれに２つの固有鍵が設けられている点が異なる。２つの固有鍵を，以下，「第１固有鍵」，「第２固有鍵」と呼ぶ。
第１固有鍵および第２固有鍵は，いずれも鍵管理サーバ１０の第１記憶装置１２に記憶された第１管理データ作成プログラム（第３２図参照）に基づいて作成される乱数である。第１管理データ作成プログラムの処理において２つの乱数が作成されて，そのそれぞれが第１固有鍵，第２固有鍵として管理データ中に登録される。
第４４図は，第４実施例における暗号ファイル作成プログラムの処理の流れを示すフローチャートである。第３実施例の暗号ファイル作成プログラム（第３４図）と同じ処理には同一符号を付し，重複説明を避ける。第４５図は暗号ファイル処理用プログラムの処理の流れを示すフローチャートである。第３実施例の暗号ファイル処理用プログラム（第３５図）と同じ処理には同一符号を付し，重複説明を避ける。第４６図は，第４４図および第４５図に示す処理のうち，復号を許可する者を指定した場合の暗号ファイルの作成処理におけるクライアント２０および鍵管理サーバ１０の処理をブロック図で示している。第４７図は，第４４図および第４５図に示す処理のうち，復号を許可するグループを指定した場合の暗号ファイルの作成処理におけるクライアント２０および鍵管理サーバ１０の処理をブロック図で示している。以下の説明では，グループ鍵を用いた暗号ファイルの作成処理が行われることを前提として，クライアント２０の処理を例にとる。
クライアント２０において平文データが入力され，乱数（セッション・キー）が生成され，生成されたセッション・キーが固有データ２５Ａ中の第２秘密鍵Ｓ２−１で暗号化される（第１暗号化セッション・キーの生成）（ステップ２４１〜ステップ２４３）。
復号を許可するユーザ（指定復号者と呼ぶ）および／または復号を許可するグループ（指定復号グループと呼ぶ）を指定するかどうかを，暗号ファイルを作成すべきユーザ（ここでは，ユーザＡ）に問うための表示画面がクライアント２０の表示画面上に表示される。
復号を許可するユーザおよび復号を許可するグループのいずれをも指定しない場合には（ステップ３１１でＮＯ），第３実施例と同様の処理となる。すなわち，作成者ＩＤ（ユーザＡのＩＤ「００１」）と第１暗号化セッション・キーとがクライアント２０から鍵管理サーバ１０に送信される（ステップ２４４）。鍵管理サーバ１０では，第２公開鍵ＯＰ２−１で第１暗号化セッション・キーが復号され（ステップ２５３），得られたセッション・キーが作成者の第１固有鍵ＳＫ１−１で暗号化される（第２暗号化セッション・キーの生成：ステップ３２７）。さらに作成者の属するグループのグループ鍵が用いられてセッション・キーが暗号化される（グループ暗号化セッション・キーの生成：ステップ３２８）。第２公開鍵ＯＰ２−１で第２暗号化セッション・キー，グループＩＤ，グループ暗号化セッション・キーが暗号化される（第５暗号化セッション・キーの生成：ステップ２９６）。第５暗号化セッション・キーが鍵管理サーバ１０からクライアント２０に送信される（ステップ２９７）。第５暗号化セッション・キーを受信したクライアント２０では，第２秘密鍵Ｓ２−１で第５暗号化セッション・キーを復号し，平文データをセッション・キーで暗号化して得られた暗号データのヘッダ情報として，作成者ＩＤと，グループＩＤと，第２暗号化セッション・キーと，グループ暗号化セッション・キーとが付加された暗号ファイルが作成される（第４４図：ステップ２９１，２４８，２９２）。
復号を許可するユーザおよび復号を許可するグループの少なくともいずれか一方を指定する場合には（ステップ３１１でＹＥＳ），クライアント２０からＩＤ表の請求データが鍵管理サーバ１０に送信される（ステップ３１２）。鍵管理サーバ１０ではＩＤ表の請求データを受信すると，ユーザ名，ユーザＩＤ，ユーザが属するグループ名，グループＩＤ等が記載されたＩＤ表を表すデータをクライアント２０に送信する。ＩＤ表を表すデータを受信したクライアント２０の表示画面上に，ＩＤ表（ユーザ名，ユーザＩＤ，ユーザが属するグループ名，グループＩＤ等が記載された表）が表示される。
第４実施例の暗号システムでは，第３実施例と同じように，暗号ファイルの復号は，暗号ファイルの作成者についての管理データ中に登録されている復号対象ＩＤを持つユーザと，暗号ファイルの作成者についての管理データ中に登録されているグループＩＤによって特定されるグループに属するユーザに対して認められる。さらに，第４実施例の暗号システムでは，暗号ファイルの作成者が指定するユーザおよび／またはグループについても，暗号ファイルの復号が許される。表示画面に表示されたＩＤ表を参照して，暗号ファイルを作成するユーザ（ユーザＡ）は，暗号ファイルの復号を許可するユーザ（指定復号者）および／または復号を許可するグループを指定する（ステップ３１４）。もちろん，管理データ中に登録されている復号対象ＩＤを持つユーザおよび管理データ中に登録されているグループＩＤによって特定されるグループに属するユーザについては，もともと暗号ファイルの復号が認められているので，ここで指定されるユーザ（指定復号者）またはグループ（指定グループ）は，管理データ中に登録されていないユーザまたはグループになるであろう。
暗号ファイルを作成するユーザのＩＤ「００１」（作成者ＩＤ）と，第１暗号化セッション・キーと，指定復号者ＩＤ／指定グループＩＤが，クライアント２０から鍵管理サーバ１０に送信される（ステップ３１５）。
鍵管理サーバ１０では，クライアントから送信されたデータに指定復号者ＩＤおよび指定グループＩＤが含まれている場合には（ステップ３２２でＹＥＳ），次の処理に進む。
作成者ＩＤによって特定されるユーザの第２固有鍵（ユーザＡの場合は第２固有鍵ＳＫ２−１）で，セッション・キーが暗号化される（ステップ３２３）。第２セッション・キーが生成される。
作成者ＩＤによって特定されるユーザが属するグループのグループ鍵で，セッション・キーが暗号化される（ステップ３２４）。グループ暗号化セッション・キーが生成される。
さらに，指定復号者ＩＤによって特定されるユーザの第２固有鍵で，セッション・キーが暗号化される（第６暗号化セッション・キーと呼ぶ）（ステップ３２５）。
さらに，指定グループＩＤによって特定されるグループのグループ鍵で，セッション・キーが暗号化される（指定グループ暗号化セッション・キーと呼ぶ）（ステップ３２６）。
第２公開鍵ＯＰ２−１で，第２暗号化セッション・キー，グループ暗号化セッション・キー，第６暗号化セッション・キー，指定グループ暗号化セッション・キー，グループＩＤ，指定復号者ＩＤおよび指定グループＩＤが暗号化される（第７暗号化セッション・キーと呼ぶ）（ステップ３２９）。第７暗号化セッション・キーが鍵管理サーバ１０からクライアント２０に送信される（ステップ３３０）。
クライアント２０では，第２秘密鍵Ｓ２−１で第７暗号化セッション・キーが復号される（ステップ３１６）。平文データが暗号化されて得られた暗号データのヘッダ情報として，第２暗号化セッション・キー，グループ暗号化セッション・キー，第６暗号化セッション・キー，指定グループ暗号化セッション・キー，作成者ＩＤ，グループＩＤ，指定復号者ＩＤおよび指定グループＩＤが付加された暗号ファイルが作成される（ステップ３１７）。
第４８図は，クライアントの第１記憶装置に記憶されている復号プログラムの処理の流れを示すフローチャートである。第４９図は，鍵管理サーバ１０において実行される復号処理用プログラムの処理の流れを示すフローチャートである。第５０図は，指定復号者ＩＤを含む暗号ファイルの復号処理におけるクライアント３０および鍵管理サーバ１０の処理を示すブロック図である。第５１図は，指定グループＩＤを含む暗号ファイルの復号処理におけるクライアント３０および鍵管理サーバ１０の処理を示すブロック図である。第４８図に示す復号プログラムの処理は，第２実施例の第２５図に示すフローチャートと同じであるが，説明を分かりやすくするために再掲する。第４９図に示す処理は，第３実施例の第３９図に示すフローチャートと同一の処理を含むので，同一処理には同一符号を付し重複説明を避ける。
クライアントにおいて暗号ファイルが入力され（ステップ２６１），ヘッダ情報が第２秘密鍵で暗号化される（暗号化パラメータの生成：ステップ２６２）。復号実行者のＩＤと，暗号化パラメータとがクライアントから鍵管理サーバ１０に送信される（ステップ２６３）。
復号実行者ＩＤと暗号化パラメータとを受信した鍵管理データ１０では，復号実行者の第２公開鍵で暗号化パラメータが復号される。第２暗号化セッション・キー，グループ暗号化セッション・キー，第６暗号化セッション・キー，指定グループ暗号化セッション・キー，作成者ＩＤ，グループＩＤ，指定復号者ＩＤおよび指定グループＩＤが得られる（ステップ２７３）。
得られた作成者ＩＤと同じＩＤが，復号実行者の管理データ中の復号対象ＩＤ欄に登録されているかどうかが判断される（ステップ３３１）。
作成者ＩＤと同じＩＤが管理データ中に登録されている場合には（ステップ３３１でＹＥＳ），作成者ＩＤによって特定される暗号ファイルの作成者についての管理データが参照されて，暗号ファイルの作成者の第１固有鍵または第２固有鍵で第２暗号化セッション・キーが復号される（ステップ３３２）。復号実行者の第２公開鍵で得られたセッション・キーが暗号化され（第４暗号化セッション・キーの生成：ステップ２７６），第４暗号化セッション・キーが鍵管理サーバ１０からクライアントに送信される（ステップ２７７）。
作成者ＩＤが復号実行者の管理データ中の復号対象ＩＤ欄に登録されていない場合（ステップ３３１でＮＯ），得られたグループＩＤと同じＩＤが，復号実行者の管理データ中に登録されているかどうかが判断される（ステップ３３３）。
得られたグループＩＤと同じＩＤが，復号実行者の管理データ中に登録されている場合には（ステップ３３３でＹＥＳ），第２管理データベース１６が参照されて，グループＩＤに対応するグループ鍵が用いられて，グループ暗号化セッション・キーが復号される。セッション・キーが得られる（ステップ３３４）。得られたセッション・キーが復号実行者の第２公開鍵で暗号化され（第４暗号化セッション・キーの生成：ステップ２７６），第４暗号化セッション・キーが鍵管理サーバ１０からクライアントに送信される（ステップ２７７）。
得られたグループＩＤと同じＩＤが，復号実行者の管理データ中に登録されていない場合には（ステップ３３３でＹＥＳ），復号実行者ＩＤと同じＩＤが，ヘッダ情報中に指定復号者ＩＤとして含まれているかどうかが判断される（ステップ３３５）。
復号実行者ＩＤと同じＩＤがヘッダ情報中に指定復号者ＩＤとして含まれている場合には（ステップ３３５でＹＥＳ），その復号実行者は，暗号ファイルの作成者が暗号ファイルの作成処理において，暗号ファイルを復号することを許可した指定復号者である。この場合，復号実行者（指定復号者）の第２固有鍵で第６暗号化セッション・キーが復号される（第６暗号化セッション・キーは，指定復号者の第２固有鍵で暗号化されたものである（第４５図：ステップ３２５））。セッション・キーが得られる。第４暗号化セッション・キーが鍵管理サーバ１０からクライアントに送信される（ステップ２７６，２７７）。
復号実行者ＩＤと同じＩＤがヘッダ情報中に含まれていない場合には（ステップ３３５でＮＯ），復号実行者が属するグループのグループＩＤがヘッダ情報中に指定グループＩＤとして含まれているかどうかが判断される（ステップ３３７）。
復号実行者が属するグループのグループＩＤがヘッダ情報中に指定グループＩＤとして含まれている場合には（ステップ３３７でＹＥＳ），そのグループＩＤに対応するグループ鍵が第２管理データベース１６から読み出され，そのグループ鍵で指定グループ暗号化鍵が復号される（ステップ３３８）。セッション・キーが得られる。第４暗号化セッション・キーが鍵管理サーバ１０からクライアントに送信される（ステップ２７６，２７７）。
これまでの処理を経て，未だセッション・キーが得られない場合には（ステップ３３７でＮＯ），復号不可フラグ（ＦＤ）が鍵管理サーバ１０からクライアントに送信される（ステップ２７９）。
鍵管理サーバ１０から第４暗号化セッション・キーを受信したクライアントでは，固有データ中の第２秘密鍵で第４暗号化セッション・キーが復号される（第４８図：ステップ２６６）。セッション・キーが得られる。得られたセッション・キーで暗号データが復号される（ステップ２６７）。
第４実施例の暗号システムでは，暗号ファイルの作成ユーザが指定するユーザまたはグループについて，暗号ファイルを復号する権限が与えられる。
上述した実施例（第４実施例）では，第１管理データベース１５Ｃの管理データ中に復号対象ＩＤとグループＩＤが登録され，復号対象ＩＤを持つユーザおよび登録されているグループＩＤによって特定されるグループに属するユーザに復号権限が与えられているが，これらの登録（復号対象ＩＤおよびグループＩＤ）は必ずしも行わなくてもよいのは言うまでもない。この場合には，暗号ファイルの作成者によって指定されたユーザ（指定復号者）および／またはグループ（指定グループ）についてのみ，復号権限が与えられることになる。
さらに第４実施例では，指定復号者または指定グループを指定する場合は，第２暗号化セッション・キーの生成に第２固有鍵が用いられ，指定復号者または指定グループを指定しない場合は，第２暗号化セッション・キーの生成に第１固有鍵が用いられている（第４５図：ステップ３２３，ステップ３２７）。このため，鍵管理サーバ１０の復号処理プログラムの処理において，第１固有鍵または第２固有鍵のいずれが用いられて第２暗号化セッション・キーが生成されているかを判断することによって，指定復号者または指定グループがあるかどうかを判断することも可能である。
【図面の簡単な説明】
第１図は，第１実施例の暗号システムの全体的構成を示すブロック図である。
第２図は，第１実施例の暗号システムの全体的構成を詳細に示す。
第３図（Ａ）はＩＤ「００１」のユーザが持つ管理データの内容を，第３図（Ｂ）はＩＤ「００２」のユーザが持つ管理データの内容をそれぞれ示している。
第４図は，管理データベースの内容を示す。
第５図は，管理データ作成プログラムの処理の流れを示すフローチャートである。
第６図は，公開鍵／秘密鍵生成プログラムの処理の流れと，公開鍵受信プログラムの処理の流れを示すフローチャートである。
第７図は，公開鍵の登録処理を，鍵の送受信に着目して示す。
第８図は，暗号化／復号プログラムの処理の流れを示すフローチャートである。
第９図は，鍵配信プログラムの処理の流れを示すフローチャートである。
第１０図は，暗号ファイルの作成処理を，クライアントおよび鍵管理サーバのそれぞれの処理に着目して示すブロック図である。
第１１図は，暗号ファイルの作成処理を鍵の送受信に着目して示す。
第１２図は，暗号ファイルの復号処理を，クライアントおよび鍵管理サーバのそれぞれの処理に着目して示すブロック図である。
第１３図は，暗号ファイルの復号処理を，鍵の送受信に着目して示す。
第１４図は，暗号ファイルのデータ構造を概念的に示す。
第１５図は，第２実施例の暗号システムの全体的構成を示す。
第１６図（Ａ）はＩＤ「００１」のユーザが持つ管理データの内容を，第１６図（Ｂ）はＩＤ「００２」のユーザが持つ管理データの内容をそれぞれ示している。
第１７図は，管理データベースの内容を示す。
第１８図は，第１公開鍵／第１秘密鍵生成プログラムの処理の流れを示すフローチャートである。
第１９図は，ＩＤファイル作成／配信プログラムの処理の流れと，ＩＤセットアップ・プログラムと，第２公開鍵登録プログラムの処理の流れをそれぞれ示すフローチャートである。
第２０図は，第２公開鍵の登録処理を，鍵の送受信に着目して示す。
第２１図は，暗号ファイル作成プログラムの処理の流れを示すフローチャートである。
第２２図は，暗号ファイル処理用プログラムの処理の流れを示すフローチャートである。
第２３図は，暗号ファイルの作成処理を，クライアントおよび鍵管理サーバのそれぞれの処理に着目して示すブロック図である。
第２４図は，暗号ファイルの作成処理を，鍵の送受信に着目して示す。
第２５図は，復号プログラムの処理の流れを示すフローチャートである。
第２６図は，復号処理用プログラムの処理の流れを示すフローチャートである。
第２７図は，暗号ファイルの復号処理を，クライアントおよび鍵管理サーバのそれぞれの処理に着目して示すブロック図である。
第２８図は，暗号ファイルの復号処理を，鍵の送受信に着目して示す。
第２９図は，第２実施例の変形例における暗号ファイルの作成処理を，鍵の送受信に着目して示す。
第３０図は，第３実施例の暗号システムの全体的構成を示す。
第３１図は，第１管理データベースおよび第２管理データベースの内容を示す。
第３２図は，第１管理データ作成プログラムの処理の流れを示すフローチャートである。
第３３図は，第２管理データ作成プログラムの処理の流れを示すフローチャートである。
第３４図は，暗号ファイル作成プログラムの処理の流れを示すフローチャートである。
第３５図は，暗号ファイル処理用プログラムの処理の流れを示すフローチャートである。
第３６図は，暗号ファイルの作成処理を，クライアントおよび鍵管理サーバのそれぞれの処理に着目して示すブロック図である。
第３７図は，暗号ファイルの作成処理を，鍵の送受信に着目して示す。
第３８図は，復号プログラムの処理の流れを示すフローチャートである。
第３９図は，復号処理用プログラムの処理の流れを示すフローチャートである。
第４０図は，暗号ファイルの復号処理を，クライアントおよび鍵管理サーバのそれぞれの処理に着目して示すブロック図である。
第４１図は，暗号ファイルの復号処理を，鍵の送受信に着目して示す。
第４２図は，第４実施例における暗号システムの全体的構成を示す。
第４３図は，第１管理データベースの内容を示す。
第４４図は，暗号ファイル作成プログラムの処理の流れを示すフローチャートである。
第４５図は，暗号ファイル処理用プログラムの処理の流れを示すフローチャートである。
第４６図は，暗号ファイルの作成処理を，クライアントおよび鍵管理サーバのそれぞれの処理に着目して示すブロック図である。
第４７図は，暗号ファイルの作成処理を，クライアントおよび鍵管理サーバのそれぞれの処理に着目して示すブロック図である。
第４８図は，復号プログラムの処理の流れを示すフローチャートである。
第４９図は，復号処理プログラムの処理の流れを示すフローチャートである。
第５０図は，暗号ファイルの復号処理を，クライアントおよび鍵管理サーバのそれぞれの処理に着目して示すブロック図である。
第５１図は，暗号ファイルの復号処理を，クライアントおよび鍵管理サーバのそれぞれの処理に着目して示すブロック図である。
【図１】
0003803088.tif 000002
【図２】
0003803088.tif 000003
【図３】
0003803088.tif 000004
【図４】
0003803088.tif 000005
【図５】
0003803088.tif 000006
【図６】
0003803088.tif 000007
【図７】
0003803088.tif 000008
【図８】
0003803088.tif 000009
【図９】
0003803088.tif 000010
【図１０】
0003803088.tif 000011
【図１１】
0003803088.tif 000012
【図１２】
0003803088.tif 000013
【図１３】
0003803088.tif 000014
【図１４】
0003803088.tif 000015
【図１５】
0003803088.tif 000016
【図１６】
0003803088.tif 000017
【図１７】
0003803088.tif 000018
【図１８】
0003803088.tif 000019
【図１９】
0003803088.tif 000020
【図２０】
0003803088.tif 000021
【図２１】
0003803088.tif 000022
【図２２】
0003803088.tif 000023
【図２３】
0003803088.tif 000024
【図２４】
0003803088.tif 000025
【図２５】
0003803088.tif 000026
【図２６】
0003803088.tif 000027
【図２７】
0003803088.tif 000028
【図２８】
0003803088.tif 000029
【図２９】
0003803088.tif 000030
【図３０】
0003803088.tif 000031
【図３１】
0003803088.tif 000032
【図３２】
0003803088.tif 000033
【図３３】
0003803088.tif 000034
【図３４】
0003803088.tif 000035
【図３５】
0003803088.tif 000036
【図３６】
0003803088.tif 000037
【図３７】
0003803088.tif 000038
【図３８】
0003803088.tif 000039
【図３９】
0003803088.tif 000040
【図４０】
0003803088.tif 000041
【図４１】
0003803088.tif 000042
【図４２】
0003803088.tif 000043
【図４３】
0003803088.tif 000044
【図４４】
0003803088.tif 000045
【図４５】
0003803088.tif 000046
【図４６】
0003803088.tif 000047
【図４７】
0003803088.tif 000048
【図４８】
0003803088.tif 000049
【図４９】
0003803088.tif 000050
【図５０】
0003803088.tif 000051
【図５１】
0003803088.tif 000052