JP2004297755A - 暗号システムにおける鍵管理サーバおよび復号装置を制御するプログラム,ならびに署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラム - Google Patents
暗号システムにおける鍵管理サーバおよび復号装置を制御するプログラム,ならびに署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラム Download PDFInfo
- Publication number
- JP2004297755A JP2004297755A JP2003191667A JP2003191667A JP2004297755A JP 2004297755 A JP2004297755 A JP 2004297755A JP 2003191667 A JP2003191667 A JP 2003191667A JP 2003191667 A JP2003191667 A JP 2003191667A JP 2004297755 A JP2004297755 A JP 2004297755A
- Authority
- JP
- Japan
- Prior art keywords
- key
- unique
- decryption
- management server
- encrypted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
【構成】復号装置30は暗号ファイル(平文の暗号化に用いたセッションキーを暗号者の秘密鍵1で暗号化した暗号化セッションキー1,暗号者ID1および暗号文)を取得する。暗号化セッションキー1,暗号者ID1および復号者ID2が復号装置30から鍵管理サーバ10に送信される。復号者が復号権限を持つ場合(ステップ64でYES ),暗号者の公開鍵1で暗号化セッションキー1が復号されてセッションキーが得られ(ステップ66),セッションキーが復号実行者の公開鍵2で暗号化されて暗号化セッションキー2が生成される(ステップ67)。暗号化セッションキー2が鍵管理サーバ10から復号装置30に送信される。復号装置30では暗号化セッションキー2が秘密鍵2で復号され(ステップ68),得られたセッションキーで暗号文が復号される(ステップ69)。
【選択図】 図4
Description
【技術分野】
この発明は,暗号システムにおける鍵管理サーバおよび復号装置を制御するプログラム,ならびに署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラムに関する。
【0002】
【発明の背景】
サーバに備えられた管理データベースに記憶されているデータを用いることによって,安全に平文の暗号化および暗号文の復号を行うことができる暗号システムが提案されている(例えば,特許文献1参照)。
【0003】
特許文献1に記載の暗号システムでは,管理データベースにユーザごとの固有鍵が記憶されている(第4図)。この固有鍵が用いられて暗号ファイルの作成処理(第8図,ステップ128,129を参照)および暗号ファイルの復号処理(第9図,ステップ148 を参照)が行われる。暗号化処理および復号処理において固有鍵そのものはネットワークを介して送受信されないので秘匿性が高い。しかしながら,暗号化処理および復号処理のいずれにおいてもクライアントとサーバとのデータ通信が必要とされるので,システムとしては若干大がかりになってしまう。
【0004】
【特許文献1】
WO 02/087146
【0005】
【発明の開示】
この発明は,より簡便に暗号文の作成とその復号処理とを実現することができる暗号システムを提供することを目的とし,特にこの暗号システムを構成する鍵管理サーバおよびその制御プログラムならびに復号装置およびその制御プログラムを提供することを目的とする。
【0006】
この発明はまた,新しい署名/検証システムを提供することを目的とし,特にこの検証システムを構成する鍵管理サーバを制御するプログラムおよび検証装置を制御するプログラムを提供することを目的とする。
【0007】
この発明による鍵管理サーバを制御するプログラムは,復号実行者に固有の固有IDおよび復号実行者に固有の第2の鍵を記憶する記憶手段を備えた復号装置とネットワークを通じて接続され,暗号文作成者および復号実行者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵を記憶する管理データベース(装置)を備えた鍵管理サーバを制御するプログラムである。
【0008】
第1の鍵および第2の鍵は,暗号化処理および復号処理に用いられる,互いに対応する鍵である。一実施態様は,第1の鍵は公開鍵であり,第2の鍵は公開鍵に対応する秘密鍵である。公開鍵で暗号化されたデータは,暗号化に用いられた公開鍵に対応する秘密鍵で復号することができる。秘密鍵で暗号化されたデータは,暗号化に用いられた秘密鍵に対応する公開鍵で復号することができる。
【0009】
他の実施態様では,第1の鍵および第2の鍵は同一の共通鍵である。共通鍵で暗号化されたデータは,暗号化に用いられた共通鍵と同一の共通鍵で復号することができる。
【0010】
この発明による鍵管理サーバを制御するプログラムは,鍵管理サーバが,上記復号装置から送信される,平文の暗号化に用いられたセッション・キーを暗号文作成者に固有の第2の鍵で暗号化して生成された第1暗号化セッション・キーおよび暗号文作成者の固有IDである暗号文作成者IDと,復号実行者の固有IDである復号実行者IDとを,(受信手段により)受信し,受信した暗号文作成者IDに対応して管理データベースに記憶されている暗号文作成者に固有の第1の鍵で,受信した第1暗号化セッション・キーを(復号手段により)復号してセッション・キーを得,得られたセッション・キーを,受信した上記復号実行者IDに対応して管理データベースに記憶されている復号実行者に固有の第1の鍵で(暗号化手段により)暗号化して第2暗号化セッション・キーを生成し,生成した上記第2暗号化セッション・キーを上記復号装置に(送信手段により)送信するように,鍵管理サーバを制御する。鍵管理サーバを制御するプログラムは,一つのプログラムで構成されていてもよいし複数のプログラム・ルーチンの組合せによって構成されるものであってもよい。
【0011】
この発明は次のように表現することもできる。すなわち,この発明による鍵管理サーバを制御するプログラムは,復号実行者に固有の固有IDおよび復号実行者に固有の第2の鍵を記憶する記憶手段を備えた復号装置とネットワークを通じて接続される鍵管理サーバを,暗号文作成者および復号実行者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵を記憶する管理データベース装置,上記復号装置から送信される,平文の暗号化に用いられたセッション・キーを暗号文作成者に固有の第2の鍵で暗号化して生成された第1暗号化セッション・キーおよび暗号文作成者の固有IDである暗号文作成者IDと,復号実行者の固有IDである復号実行者IDとを受信する受信手段,受信された暗号文作成者IDに対応して管理データベース装置に記憶されている暗号文作成者に固有の第1の鍵で,受信された第1暗号化セッション・キーを復号してセッション・キーを得る手段,得られたセッション・キーを,受信された上記復号実行者IDに対応して管理データベース装置に記憶されている復号実行者に固有の第1の鍵で暗号化して第2暗号化セッション・キーを生成する手段,ならびに生成された上記第2暗号化セッション・キーを上記復号装置に送信する送信手段として機能させるものである。
【0012】
この発明は鍵管理サーバも提供している。この発明による鍵管理サーバは,復号実行者に固有の固有IDおよび復号実行者に固有の第2の鍵を記憶する記憶手段を備えた復号装置とネットワークを通じて接続される。鍵管理サーバは,暗号文作成者および復号実行者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵を記憶する管理データベース(装置),上記復号装置から送信される,平文の暗号化に用いられたセッション・キーを暗号文作成者に固有の第2の鍵で暗号化して生成された第1暗号化セッション・キーおよび暗号文作成者の固有IDである暗号文作成者IDと,復号実行者の固有IDである復号実行者IDとを受信する受信手段,受信された暗号文作成者IDに対応して管理データベース(装置)に記憶されている暗号文作成者に固有の第1の鍵で,受信された第1暗号化セッション・キーを復号してセッション・キーを得る手段,得られたセッション・キーを,受信された上記復号実行者IDに対応して管理データベース(装置)に記憶されている復号実行者に固有の第1の鍵で暗号化して第2暗号化セッション・キーを生成する手段,ならびに生成された上記第2暗号化セッション・キーを上記復号装置に送信する送信手段を備えたものである。
【0013】
この発明による復号装置の制御プログラムは,暗号文作成者および復号実行者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵を記憶する管理データベース(装置)を備えた鍵管理サーバとネットワークを介して接続され,復号実行者に固有の固有IDおよび復号実行者に固有の第2の鍵を記憶する記憶手段を備えた復号装置を制御するプログラムである。このプログラムは,復号装置が,平文をセッション・キーで暗号化して生成される暗号文と,上記セッション・キーを暗号文作成者に固有の第2の鍵で暗号化して生成される第1暗号化セッション・キーと,暗号文作成者の固有IDである暗号文作成者IDの入力を(受付手段により)受付け,上記記憶手段に記憶されている固有IDを復号実行者IDとして,復号実行者ID,第1暗号化セッション・キーおよび暗号文作成者IDを,(送信手段により)鍵管理サーバに送信し,鍵管理サーバから送信される,上記暗号文作成者IDに対応して管理データベース(装置)に記憶されている上記暗号文作成者に固有の第1の鍵で上記第1暗号化セッション・キーを復号して得られるセッション・キーを上記復号実行者IDに対応して管理データベース(装置)に記憶されている復号実行者に固有の第1の鍵で暗号化して生成される第2暗号化セッション・キーを,(受信手段により)受信し,受信した第2暗号化セッション・キーを,上記記憶手段に記憶されている復号実行者に固有の第2の鍵で(第1の復号手段により)復号してセッション・キーを得,得られたセッション・キーで暗号文を(第2の復号手段により)復号して平文を得るように,復号装置を制御する。
【0014】
この発明による復号装置は,暗号文作成者および復号実行者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵を記憶する管理データベース(装置)を備えた鍵管理サーバとネットワークを介して接続されるものであり,復号実行者に固有の固有IDおよび復号実行者に固有の第2の鍵を記憶する記憶手段,平文をセッション・キーで暗号化して生成される暗号文と,上記セッション・キーを暗号文作成者に固有の第2の鍵で暗号化して生成される第1暗号化セッション・キーと,暗号文作成者の固有IDである暗号文作成者IDの入力を受付ける受付手段,上記記憶手段に記憶されている固有IDを復号実行者IDとして,復号実行者ID,第1暗号化セッション・キーおよび暗号文作成者IDを,鍵管理サーバに送信する送信手段,鍵管理サーバから送信される,上記暗号文作成者IDに対応して管理データベース(装置)に記憶されている上記暗号文作成者に固有の第1の鍵で上記第1暗号化セッション・キーを復号して得られるセッション・キーを上記復号実行者IDに対応して管理データベース(装置)に記憶されている復号実行者に固有の第1の鍵で暗号化して生成される第2暗号化セッション・キーを,受信する受信手段,受信された第2暗号化セッション・キーを,上記記憶手段に記憶されている復号実行者に固有の第2の鍵で復号してセッション・キーを得る手段,ならびに得られたセッション・キーで暗号文を復号して平文を得る手段を備えている。
【0015】
鍵管理サーバは,暗号文作成者および復号実行者を含む各ユーザについて,各ユーザに固有の固有IDおよび各ユーザに固有の第2の鍵を記憶する管理データベース(装置)を備えている。あるユーザが暗号文を作成する場合にはそのユーザは暗号文作成者と呼ばれ,あるユーザが暗号文を復号する場合にはそのユーザは復号実行者と呼ばれる。暗号文作成者に固有の固有IDが暗号文作成者ID,復号実行者に固有の固有IDが復号実行者IDである。
【0016】
鍵管理サーバは,暗号化装置が利用されて暗号文作成者によって作成された暗号文を復号するときに用いられる。
【0017】
鍵管理サーバおよび復号装置とともに用いられる暗号化装置は,第2の鍵を記憶する記憶手段を備えたものである。この第2の鍵に対応する第1の鍵が,管理データベースに固有IDとともに管理されている。暗号化装置では,暗号化すべき平文(平文データ)を受付け,セッション・キー(暗号文の生成の度に生成される鍵)を生成し,受付けられた平文を生成されたセッション・キーで暗号化して暗号文(暗号文データ)を生成する。そして,第2の鍵で上記セッション・キーを暗号化して第1暗号化セッション・キーを生成する。このように,暗号化処理では暗号化装置と鍵管理サーバとの間で特段の通信は行われることなく,暗号化装置において暗号文および第1暗号化セッション・キーが生成される。
【0018】
暗号化装置において平文の暗号化に用いられたセッション・キーを暗号文作成者に固有の第2の鍵で暗号化して生成された第1暗号化セッション・キー,暗号文作成者の固有IDである暗号文作成者IDおよび暗号文が,暗号化装置から復号装置に送信等される。
【0019】
暗号化装置と復号装置とは同一の装置であることもある。すなわち,一つのコンピュータ装置が,暗号化装置として用いられ,かつ復号装置として用いられる場合である。具体的に言えば,あるユーザがコンピュータ装置を用いて暗号文を作成し,そのユーザがそのコンピュータ装置を用いて暗号文を復号する場合,同一の装置コンピュータ装置が,暗号化装置として利用され,かつ復号装置として利用される。この場合には,暗号化装置から復号装置に第1暗号化セッション・キー,暗号文作成者IDおよび暗号文を送信等する必要がないのは言うまでもない。いずれにしても,復号装置では,第1暗号化セッション・キー,暗号文作成者IDおよび暗号文の入力が受け付けられる(受信されるまたは与えられる)。
【0020】
復号装置から鍵管理サーバに,第1暗号化セッション・キーおよび暗号文作成者IDおよび復号実行者の固有IDである復号実行者IDが送信される。
【0021】
暗号文作成者IDに対応して管理データベース(装置)に記憶されている暗号文作成者に固有の第1の鍵で,鍵管理サーバにおいて第1暗号化セッション・キーが復号される。第1暗号化セッション・キーは,暗号文作成者に固有の第2の鍵で暗号化されたものであるから,第2の鍵に対応する第1の鍵で第1暗号化セッション・キーを復号することにより,セッション・キーを得ることができる。
【0022】
上述したように,一実施態様では第1の鍵は公開鍵であり,第2の鍵は公開鍵に対応する秘密鍵である。この場合,暗号化装置において,セッション・キーが秘密鍵で暗号化されることによって得られる第1暗号化セッション・キーは,鍵管理サーバにおいて,秘密鍵に対応する公開鍵で復号することができる。
【0023】
第1の鍵および第2の鍵が同一の共通鍵である場合には,暗号化装置においてセッション・キーが共通鍵で暗号化されることによって得られる第1暗号化セッション・キーは,鍵管理サーバにおいて同一の共通鍵を用いて復号することができる。
【0024】
得られたセッション・キーが,上記復号実行者IDに対応して管理データベースに記憶されている復号実行者に固有の第1の鍵で暗号化されて第2暗号化セッション・キーが生成される。鍵管理サーバは,生成した第2暗号化セッション・キーを上記復号装置に送信する。
【0025】
復号装置の記憶手段には,第2暗号化セッション・キーの生成に用いられた復号実行者の固有の第1の鍵に対応する復号実行者に固有の第2の鍵が記憶されている。この第2の鍵によって第2暗号化セッション・キーが復号されてセッション・キーが得られる。暗号文は,セッション・キーで平文を暗号化したものであるから,得られたセッション・キーで暗号文を復号することができる。復号装置において平文が得られる。
【0026】
この発明によると,暗号文の復号処理において鍵管理サーバと復号装置とが協働して処理を実行する。鍵管理サーバが復号装置から受信する(復号装置が鍵管理サーバに送信する)ものは,第1暗号化セッション・キー,暗号作成者IDおよび復号実行者IDである。鍵管理サーバが復号装置に送信する(復号装置が鍵管理サーバから受信する)ものは,第2暗号化セッション・キーである。平文の暗号化に用いられるセッション・キー,第1暗号化セッション・キーの復号に用いられる暗号文作成者に固有の第1の鍵,第2暗号化セッション・キーの復号に用いられる復号実行者に固有の第2の鍵は,暗号文の復号処理において鍵管理サーバと復号装置との間において送受信されない。このため,暗号文の秘匿性,安全性は高い。
【0027】
好ましくは,上記管理データベース(装置)は,各ユーザの固有IDに対応させて,各ユーザが復号可能な暗号文の作成者についての固有IDである一または複数の復号許可IDをさらに記憶しており,鍵管理サーバの制御プログラムは,鍵管理サーバが,受信した復号実行者IDに対応する復号許可ID中に,受信した暗号文作成者IDが含まれているかどうかを(判断手段により)判断し,復号許可ID中に暗号文作成者IDが含まれていると判断した場合に,第1暗号化セッション・キーの復号と,第2暗号化セッション・キーの生成と,第2暗号化セッション・キーの送信とを(許可手段により)許可するように鍵管理サーバを制御する。復号実行者についての復号許可ID中に暗号文作成者の固有IDが含まれている場合に復号処理が進行することになる。いずれのユーザにいずれのユーザが作成した暗号文の復号権限を与えるかどうかを,鍵管理サーバにおいて集中管理することができる。
【0028】
この発明は,他の暗号システムを構成する暗号化装置,復号装置および鍵管理サーバの制御プログラムも提供している。
【0029】
他の暗号システムを構成する暗号化装置の制御プログラムは,暗号文作成者を含む各ユーザに固有の固有ID,各ユーザに固有の公開鍵または共通鍵,および各ユーザに固有の固有鍵を記憶する管理データベース(装置)を備えた鍵管理サーバとネットワークを介して接続され,暗号文作成者の固有IDおよび暗号文実行者に固有の秘密鍵または共通鍵を記憶する記憶手段を備えた暗号化装置を制御するものであり,暗号化装置が,(受付手段により)平文の入力を受付け,(セッション・キー生成手段により)セッション・キーを生成し,生成したセッション・キーで(第1暗号化手段により)平文を暗号化し,上記セッション・キーを,記憶手段に記憶された秘密鍵または共通鍵で(第2暗号化手段により)暗号化して第1暗号化セッション・キーを生成し,生成した第1暗号化セッション・キーを,暗号文作成者の固有IDである暗号文作成者IDとともに鍵管理サーバに(送信手段により)送信し,鍵管理サーバから送信される,暗号文作成者IDに対応して管理データベース(装置)に記憶されている暗号文作成者に固有の公開鍵または共通鍵で第1暗号化セッション・キーを復号して得られるセッション・キーを,暗号文実行者IDに対応して管理データベース(装置)に記憶されている暗号文作成者に固有の固有鍵で暗号化して生成される第2暗号化セッション・キーを,(受信手段により)受信し,受信した第2暗号化セッション・キー,記憶手段に記憶されている暗号文作成者ID,および平文を暗号化することによって得られた暗号文を含む暗号ファイルを(暗号ファイル作成手段により)作成するように暗号化装置を制御する。
【0030】
他の暗号システムを構成する鍵管理サーバの制御プログラムは,暗号文作成者に固有の固有IDおよび暗号文作成者に固有の秘密鍵または共通鍵を記憶する暗号化装置とネットワークを通じて接続され,暗号文作成者および復号実行者を含む各ユーザに固有の固有ID,各ユーザに固有の公開鍵または共通鍵,ならびに各ユーザに固有の固有鍵を記憶する管理データベース(装置)を備えた鍵管理サーバを制御するものであり,鍵管理サーバが,暗号化装置から送信される,平文の暗号化に用いられるセッション・キーを暗号文作成者に固有の秘密鍵または共通鍵で暗号して生成された第1暗号化セッション・キーおよび暗号文作成者の固有IDである暗号文作成者IDを,(受信手段により)受信し,受信した暗号文作成者IDに対応して管理データベース(装置)に記憶されている暗号文作成者に固有の公開鍵または共通鍵で,受信した第1暗号化セッション・キーを(復号手段により)復号してセッション・キーを得,得られたセッション・キーを,暗号文実行者IDに対応して管理データベース(装置)に記憶されている暗号文作成者に固有の固有鍵で(暗号化手段により)暗号化して第2暗号化セッション・キーを生成し,生成した第2暗号化セッション・キーを(送信手段により)暗号化装置に送信するように鍵管理サーバを制御する。
【0031】
他の暗号システムにおいて復号装置を制御するプログラムは,暗号文作成者に固有の固有IDおよび暗号文作成者に固有の秘密鍵または共通鍵を記憶する暗号化装置とネットワークを通じて接続され,暗号文作成者および復号実行者を含む各ユーザに固有の固有ID,各ユーザに固有の公開鍵または共通鍵,ならびに各ユーザに固有の固有鍵を記憶する管理データベース(装置)を備えた鍵管理サーバにネットワークを介して接続され,復号実行者に固有の固有IDおよび復号実行者に固有の秘密鍵または共通鍵を記憶する記憶手段を備えた復号装置を制御するものであり,復号装置が,上述の暗号化装置制御プログラムによって制御される暗号化装置によって作成される暗号ファイルの入力を(受付手段により)受付け,上記記憶手段に記憶されている固有IDを復号実行者IDとして,復号実行者ID,受付けた暗号ファイル中の第2暗号化セッション・キーおよび暗号文作成者IDを,鍵管理サーバに(送信手段により)送信し,鍵管理サーバから送信される,上記暗号文作成者IDに対応して管理データベース(装置)に記憶されている上記暗号化作成者に固有の固有鍵で上記第2暗号化セッション・キーを復号して得られるセッション・キーを上記復号実行者IDに対応して管理データベース(装置)に記憶されている復号実行者に固有の公開鍵または共通鍵で暗号化して生成される第3暗号化セッション・キーを,(受信手段により)受信し,受信した第3暗号化セッション・キーを,上記記憶手段に記憶されている復号実行者に固有の秘密鍵または共通鍵で(第1復号手段により)復号してセッション・キーを得,得られたセッション・キーで暗号ファイルに含まれる暗号文を(第2復号手段により)復号して平文を得るように,復号装置を制御する。
【0032】
暗号化装置において作成される暗号ファイルは,第2暗号化セッション・キー,暗号文作成者IDおよび暗号文を含む。第2暗号化セッション・キーは,暗号化装置において秘密鍵または共通鍵でセッション・キーを暗号化することにより生成された第1暗号化セッション・キーを,鍵管理サーバにおいて公開鍵または共通鍵で一旦復号し,復号によって得られたセッション・キーを暗号文作成者の固有鍵で暗号化したものである。暗号化装置と鍵管理サーバとが協働して,暗号ファイルが作成される。
【0033】
暗号化装置において作成される第2暗号化セッション・キー,暗号文作成者IDおよび暗号文を含む暗号ファイルが,復号装置に受付けられる(入力される,受信される,記録媒体等から読取られる)。復号装置は,暗号ファイル中の第2暗号化セッション・キーおよび暗号文作成者IDと,復号実行者IDを鍵管理サーバに送信する。鍵管理サーバは,上記暗号文作成者IDに対応して管理データベース(装置)に記憶されている上記暗号化作成者に固有の固有鍵で上記第2暗号化セッション・キーを復号してセッション・キーを得,上記復号実行者IDに対応して管理データベース(装置)に記憶されている復号実行者に固有の公開鍵または共通鍵でセッション・キー暗号化して第3暗号化セッション・キーを生成する。第3暗号化セッション・キーが鍵管理サーバから復号装置に送信される。
【0034】
復号装置では,受信した第3暗号化セッション・キーを,上記記憶手段に記憶されている復号実行者に固有の秘密鍵または共通鍵で復号してセッション・キーを得,得られたセッション・キーで暗号ファイルに含まれる暗号文を復号する。平文を得ることができる。
【0035】
他の暗号システムにおいては,暗号文の復号処理において暗号文作成者の公開鍵および秘密鍵または共通鍵は一切用いられない。このため,暗号文作成者の公開鍵および秘密鍵または共通鍵が更新されたとしても,暗号文を復号することができる。公開鍵および秘密鍵または共通鍵を更新しても暗号文の復号処理に影響がでないので,暗号システムの利用メンバは,適宜,公開鍵および秘密鍵または共通鍵を更新することができる。公開鍵および秘密鍵または共通鍵の紛失,漏洩等に対処することができる。
【0036】
この発明によるさらに他の鍵管理サーバの制御プログラムは,復号実行者の固有IDおよび復号実行者に固有の秘密鍵または共通鍵を記憶する記憶手段を備えた復号装置とネットワークを通じて接続され,暗号文作成者および復号実行者を含む各ユーザについて,固有ID,固有の公開鍵または共通鍵および固有の固有鍵を記憶する管理データベース(装置)を備えた鍵管理サーバを制御するものであり,鍵管理サーバが,上記復号装置から送信される,平文の暗号化に用いられたセッション・キーを暗号文作成者に固有の秘密鍵または共通鍵で暗号化して生成された第1暗号化セッション・キーおよび暗号文作成者の固有IDである暗号文作成者IDと,復号実行者の固有IDである復号実行者IDとを,(受信手段により)受信し,暗号文作成者IDに対応して管理データベース(装置)に記憶されている暗号文作成者に固有の公開鍵または共通鍵で,第1暗号化セッション・キーを(復号手段により)復号してセッション・キーを得,得られたセッション・キーを,上記暗号文作成者IDに対応して管理データベース(装置)に記憶されている暗号文作成者に固有の固有鍵で(第1暗号化手段により)暗号化して第3暗号化セッション・キーを生成し,セッション・キーの暗号化に用いられた暗号文作成者に固有の固有鍵を,上記復号実行者IDに対応して管理データベース(装置)に記憶されている復号実行者に固有の公開鍵または共通鍵で(第2暗号化手段により)暗号化して暗号化固有鍵を生成し,上記第3暗号化セッション・キーおよび上記暗号化固有鍵を上記復号装置に(送信手段により)送信するように鍵管理サーバを制御する。
【0037】
この発明によるさらに他の復号装置の制御プログラムは,暗号文作成者および復号実行者を含む各ユーザについて,固有ID,固有の公開鍵または共通鍵および固有の固有鍵を記憶する管理データベース(装置)を備えた鍵管理サーバとネットワークを介して接続され,上記固有IDおよび復号実行者に固有の秘密鍵または共通鍵を記憶する記憶手段を備えた復号装置を制御するものであり,復号装置が,平文をセッション・キーで暗号化して生成される暗号文,上記セッション・キーを暗号文作成者に固有の秘密鍵または共通鍵で暗号化して生成される第1暗号化セッション・キー,および暗号文作成者の固有IDである暗号文作成者IDの入力を(受付手段により)受付け,上記記憶手段に記憶されている固有IDを復号実行者IDとして,復号実行者ID,第1暗号化セッション・キーおよび暗号文作成者IDを,鍵管理サーバに(送信手段により)送信し,鍵管理サーバから送信される,上記暗号文作成者IDに対応して管理データベース(装置)に記憶されている上記暗号文作成者に固有の公開鍵または共通鍵で上記第1暗号化セッション・キーを復号して得られるセッション・キーを上記暗号文作成者IDに対応して管理データベース(装置)に記憶されている暗号文作成者に固有の固有鍵で暗号化して生成される第3暗号化セッション・キーと,上記セッション・キーの暗号化に用いられた固有鍵を上記復号実行者IDに対応して管理データベース(装置)に記憶されている復号実行者に固有の公開鍵または共通鍵で暗号化して生成される暗号化固有鍵を,(受信手段により)受信し,受信した暗号化固有鍵を,上記記憶手段に記憶されている復号実行者に固有の秘密鍵または共通鍵で(第1復号手段により)復号して固有鍵を得,受信した第3暗号化セッション・キーを,得られた固有鍵で(第2復号手段により)復号してセッション・キーを得,得られたセッション・キーで暗号文を(第3復号手段により)復号して平文を得るように復号装置を制御する。
【0038】
上述の他の鍵管理サーバおよび復号装置の制御プログラムによれば,暗号文作成者が暗号文を作成した後にその暗号文の作成に用いられるセッション・キーの暗号化に用いられた秘密鍵または共通鍵を紛失したとしてもセッション・キーを得ることができ,暗号文作成者は,自分の作成した暗号文を復号することができる。
【0039】
この発明はさらに,署名/検証システムにおける鍵管理サーバの制御プログラムおよび検証装置の制御プログラムも提供している。署名/検証システムは,署名者(署名装置)が被署名文に署名することによって作成する署名文を,検証者(検証装置)が検証(データが1ビットも改竄されていないことを確認)するシステムである。
【0040】
第1の署名/検証システムにおいて用いられる鍵管理サーバの制御プログラムは,検証者に固有の固有IDおよび検証者に固有の第2の鍵を記憶する記憶手段を備えた検証装置とネットワークを通じて接続され,署名者および検証者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵を記憶する管理データベース(装置)を備えた鍵管理サーバを制御するものであり,鍵管理サーバが,上記検証装置から送信される,被署名文を署名者に固有の第2の鍵で暗号化して生成される署名文および署名者の固有IDである署名者IDと,検証者の固有IDである検証者IDとを,(受信手段により)受信し,受信した署名者IDに対応して管理データベース(装置)に記憶されている署名者に固有の第1の鍵で,受信した署名文を(復号手段により)復号して被署名文を得,得られた被署名文を,受信した上記検証者IDに対応して管理データベース(装置)に記憶されている検証者に固有の第1の鍵で(暗号化手段により)暗号化して暗号化被署名文を生成し,生成した上記暗号化被署名文を上記検証装置に(送信手段により)送信するように鍵管理サーバを制御する。
【0041】
第1の署名/検証システムにおける検証装置の制御プログラムは,署名者および検証者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵を記憶する管理データベース(装置)を備えた鍵管理サーバとネットワークを介して接続され,検証者に固有の固有IDおよび検証者に固有の第2の鍵を記憶する記憶手段を備えた検証装置を制御するものであり,検証装置が,被署名文を署名者に固有の第2の鍵で暗号化して生成される署名文,署名者の固有IDである署名者IDおよび上記被署名文の入力を(受付手段により)受付け,上記記憶手段に記憶されている固有IDを検証者IDとして,検証者ID,署名文および署名者IDを,(送信手段により)鍵管理サーバに送信し,鍵管理サーバから送信される,上記署名者IDに対応して管理データベース(装置)に記憶されている署名者に固有の第1の鍵で上記署名文を復号して得られる被署名文を検証者IDに対応して管理データベース(装置)に記憶されている検証者に固有の第1の鍵で暗号化して生成される暗号化被署名文を,(受信手段により)受信し,受信した暗号化被署名文を,上記記憶手段に記憶されている検証者に固有の第2の鍵で(復号手段により)復号して被署名文を得,得られた被署名文と,受付けた被署名文とを比較して同一であるかどうかを(判断手段により)判断するように検証装置を制御する。
【0042】
署名/検証システムにおける上述の鍵管理サーバまたは検証装置の制御プログラムにおいても,一実施態様では第1の鍵は公開鍵であり,第2の鍵は公開鍵に対応する秘密鍵である。他の実施態様では,第1の鍵および第2の鍵は同一の共通鍵である。
【0043】
鍵管理サーバと検証装置とが協働することによって検証処理が進行する。鍵管理サーバと検証装置との間のデータの送受信において,高い秘匿が必要とされる第2の鍵はネットワークを介して送受信されない。また,一般的な署名/認証システムでは,検証者(検証装置)において,署名文作成者の公開鍵を用いて署名文から被署名文(署名されるべきデータ)得るが,この発明によると,鍵管理サーバにおいて,署名文作成者の第1の鍵が用いられて署名文から被署名文が得られる。一般的な署名/検証システムのように,相手(署名者)の公開鍵を検証者に対して公開する必要がない。公開鍵を公開することなく,検証装置において署名文を検証(認証)することができる。
【0044】
鍵管理サーバにおいて,検証者の第1の鍵を用いて被署名文を暗号化することに代えて,鍵管理サーバ(鍵管理サーバの管理者)に固有の秘密鍵を用いて被署名文を暗号化するようにしてもよい。この場合には,鍵管理サーバの記憶手段(管理データベースであっても,他の記憶手段であってもよい)に,鍵管理サーバに固有の秘密鍵を記憶させておき,かつ検証装置の記憶手段には,鍵管理サーバに固有の公開鍵を記憶させておく。鍵管理サーバに固有の秘密鍵で暗号化された被署名文(暗号化被署名文)は,検証装置において鍵管理サーバに固有の公開鍵で復号される。この場合には,検証装置には,第2の鍵および固有IDは必ずしも必要とされない。
【0045】
第2の署名/検証システムにおける検証装置の制御プログラムは,署名者および検証者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵を記憶する管理データベース(装置)を備えた鍵管理サーバとネットワークを介して接続され,検証者に固有の固有IDおよび検証者に固有の第2の鍵を記憶する記憶手段を備えた検証装置を制御するものであり,検証装置が,被署名文を一方向性変換処理することによって得られる変換データを署名者に固有の第2の鍵で暗号化して生成される第1認証子,署名者の固有IDである署名者ID,および上記被署名文の入力を(受付手段により)受付け,上記記憶手段に記憶されている固有IDを検証者IDとして,検証者ID,第1認証子および署名者IDを,鍵管理サーバに(送信手段により)送信し,鍵管理サーバから送信される,上記署名者IDに対応して管理データベース(装置)に記憶されている署名者に固有の第1の鍵で第1認証子を復号して得られる変換データを検証者IDに対応して管理データベース(装置)に記憶されている検証者に固有の第1の鍵で暗号化して生成される第2認証子を,(受信手段により)受信し,受信した第2認証子を,上記記憶手段に記憶されている検証者に固有の第2の鍵で(復号手段により)復号して変換データを得,受付けられた被署名文を(一方向性変換処理手段により)上記一方向性変換処理することによって変換データを得,復号によって得られた変換データと一方向性変換処理によって得られた変換データとを比較して同一かどうかを(判断手段により)判断するように検証装置を制御する。たとえば,ハッシュ関数のような一方向性関数が用いられて得られる変換データに基づいて,検証が行われる。
【0046】
この発明は,暗号システムと署名/検証システムの両方のシステムにおいて利用することができる鍵管理サーバおよび復号/検証装置も提供することができるのはいうまでもない。
【0047】
【実施例の説明】
第1実施例(暗号システム(その1))
図1は,第1実施例の暗号システムの全体的構成を示すブロック図である。
【0048】
暗号システムは,鍵管理サーバ・コンピュータ(以下,鍵管理サーバという)10と,複数台のクライアント・コンピュータ(ユーザ端末装置)(以下,クライアントという)と,複数台のクライアント同士,および複数台のクライアントと鍵管理サーバ10とを接続するネットワーク1(専用回線および公衆回線のいずれも含む)とから構成されている。図1においては,複数台のクライアントのうち4台のクライアント(クライアント20,30,40,50)が図示されている。暗号システムにおいて,クライアントの台数に特に制限はない。もちろん,クライアントの台数が1台であっても暗号システムは機能する。
【0049】
この実施例では,クライアント20,30,40,50・・・は,それぞれ一人のユーザによって用いられることを基本とする。もちろん,クライアントにマルチ・ユーザ・タイプのOS(オペレーティング・システム)が用いられている場合には,ID等によってクライアントを使用しているユーザが一人に特定されるので,この場合には,1台のクライアントを複数人が利用する利用態様であってもよい。以下の説明では,一人のユーザが1台の特定のクライアントを利用するものとする。
【0050】
図2は,鍵管理サーバ10のハードウエア構成の一例を示すブロック図である。鍵管理サーバ10は,鍵管理サーバ10を統括的に制御するCPU11を含む。CPU11に,データの入力等に用いられる入力装置(キーボード,マウス等)12,文字,画像等を可視的に表示する表示装置13,ワークエリア,バッファエリア等を提供するメモリ14,各種プログラムおよびデータを記憶するハードディスク15,フレキシブルディスク(FD)にデータ等を記録し,FDに記録されたデータ等を読出すFDドライブ16,CD−ROMに記憶されたデータ等を読出すCD−ROMドライブ17およびネットワーク1を介してデータの送受信を行うための通信装置18が接続されている。
【0051】
クライアント20,30,40,50・・・も,基本的には鍵管理サーバ10と同じハードウエア構成を持つ。図2において,複数台のクライアントの代表として,クライアント20およびクライアント30のハードウエア構成を( )内の符号で示す。
【0052】
図3は,クライアントにおける公開鍵および秘密鍵の生成の様子と,鍵管理サーバ10に設けられる管理データベース60への公開鍵の登録の様子を示している。図4は暗号化装置を利用した暗号文データを含む暗号ファイルの生成の様子,復号装置および鍵管理サーバを利用した暗号ファイル(暗号文データ)の復号処理の様子,ならびに暗号化装置,復号装置および鍵管理サーバ間のデータの送受信の様子を示している。クライアント20,30・・・は,暗号システムにおいて暗号化装置として機能し,かつ復号装置としても機能する。図4では,クライアント20が暗号化装置として機能し,かつクライアント30が復号装置として機能している様子を示している。
【0053】
暗号システムの利用メンバには,暗号システムの管理者によって識別符号(ID)が付与される。識別符号(ID)は利用メンバごとに異なる。暗号システムの管理者から利用メンバへのIDの通知は,郵送,電子メール,その他方法によって行われる。
【0054】
クライアント20,30・・・のハードディスク25,35・・・には,公開鍵/秘密鍵生成プログラムが記憶されている。公開鍵/秘密鍵生成プログラムは,公開鍵と秘密鍵の対を生成するプログラムである。クライアント20,30・・・では暗号システムの立ち上げ時,またはクライアント20,30・・・が暗号システムに加えられたときに公開鍵/秘密鍵生成プログラムが実行される。クライアント20,30・・・のそれぞれにおいて,クライアント20,30・・・に固有(クライアント20,30・・・を利用する暗号システムの利用メンバに固有)の公開鍵および秘密鍵の対が生成される。
【0055】
生成された公開鍵および秘密鍵のうち,秘密鍵はクライアント20,30・・・のハードディスク25,35・・・に記憶される。他方,公開鍵は暗号システムの管理者によって付与されたIDとともに,クライアント20,30・・・から鍵管理サーバ10に送信され,IDとともに管理データベース60に記憶される。
【0056】
たとえば,クライアント20の利用メンバ(ユーザAとする)に付与されたIDを「ID1」とし,クライアント20において公開鍵/秘密鍵生成プログラムが実行されることによって生成された公開鍵/秘密鍵を,「公開鍵1/秘密鍵1」とする。クライアント20のハードディスク25にID1と秘密鍵1とが記憶される。秘密鍵1と対をなす公開鍵1は,ID1とともに,クライアント20から鍵管理サーバ10に送信される。鍵管理サーバ10はID1と公開鍵1とを受信する。受信したID1と公開鍵1とが,管理データベース60に記憶(登録)される。
【0057】
鍵管理サーバ10のハードディスク15に記憶されている管理データベース60には,暗号システムの利用メンバごとの管理データを記憶したものである。管理データは「ID」と,「公開鍵」と,「復号許可ID」とを含む。
【0058】
「ID」は,上述のように,暗号システムの利用メンバのそれぞれに付与される識別符号(番号,記号,またはこれらの組合せ等)である。「公開鍵」は「ID」によって識別されるクライアント(クライアントの利用メンバ)から送信された公開鍵である。
【0059】
「復号許可ID」は,「ID」欄に格納されたIDによって特定される利用メンバが復号可能な暗号ファイル(暗号文データ)の作成者のIDである。すなわち,復号許可IDは,暗号システムの利用メンバとその利用メンバが復号することができる暗号文作成者(この作成者も暗号システムの利用メンバである)との関係を示すものである。復号許可IDは,暗号システムの管理者によって,鍵管理サーバ10の入力装置12が用いられて管理データベース60に記憶される。
【0060】
たとえば,上述のように,クライアント20の利用メンバ(ユーザA)のIDを「ID1」とする。管理データには,ID欄に「ID1」が,公開鍵欄に「公開鍵1」が記憶(登録)され,さらに,復号許可ID欄には「ID1,ID2,ID3,ID4」が記憶されているとする。ユーザAは,「ID1」によって特定される利用メンバ(自分自身),「ID2」によって特定される利用メンバ,「ID3」によって特定される利用メンバおよび「ID4」によって特定される利用メンバが作成した暗号ファイルを復号することができる(復号権限を持つ)。復号許可IDを利用した暗号ファイルの復号処理については後述する。
【0061】
はじめに,暗号ファイルの作成処理について説明する。クライアント20が暗号化装置として用いられた場合を例にとる(図4の左下に示すクライアント20(暗号化装置20)を参照する)。図4の左下には,暗号化装置20における暗号ファイルの作成処理の流れが示されている。
【0062】
暗号ファイルの作成処理(暗号化処理)は,暗号ファイルの作成のためのプログラムにしたがって行われる。クライアント20のハードディスク25には暗号ファイル作成プログラムが記憶されており,暗号ファイル作成プログラムがクライアント20において実行されることによって,クライアント20が暗号化装置として機能する。
【0063】
暗号ファイル作成プログラムが実行されると,はじめに乱数が生成される(ステップ61)。そして,暗号化の対象である文書データ(平文データ)が入力装置22,FDドライブ26等から入力される。生成された乱数がセッション・キーとして用いられて,入力された文書データが暗号化される(ステップ62)。文書データから暗号文データが得られる。
【0064】
上述のように,クライアント20のハードディスク25には,クライアント20(ユーザA)に固有の秘密鍵1が記憶されている。文書データの暗号化に用いられたセッション・キーが,秘密鍵1によって暗号化される(ステップ63)。セッション・キーを秘密鍵を用いて暗号化したものを,暗号化セッション・キー1と呼ぶ。暗号文データと,暗号化セッション・キー1と,ID1(暗号ファイル作成者のID)とによって構成される暗号ファイルが作成される(たとえば,暗号化セッション・キー1およびID1が,暗号文データ(データ本体)のヘッダ情報とされる)。
【0065】
次に,暗号ファイル(暗号文データ)の復号処理について説明する。クライアント30が復号装置として用いられた場合を例にとる。図4の右下に示すクライアント(復号装置30)および図4の上段に示す鍵管理サーバ10を参照する。図4の右下には,復号装置30における暗号ファイルの復号処理の流れが示されている。図4の上段には,暗号ファイルの復号処理における鍵管理サーバ10の処理が流れが示されている。
【0066】
上述したクライアント(暗号化装置)20において作成された暗号文データを含む暗号ファイルを,クライアント(復号装置)30を用いてクライアント(復号装置)30の利用メンバ(ユーザBとする)が復号する場合を説明する。上述のように,暗号ファイルは,暗号文データと,暗号化セッション・キーおよび暗号文作成者IDとを含んでいる。はじめに,ユーザBは,復号しようとする暗号文データを含む暗号ファイルを取得する。暗号ファイルの取得は,暗号化装置20からネットワーク1を介して復号装置30に送信する態様であってもよいし,複数の暗号システムの利用メンバがアクセス可能なコンピュータの記憶装置(共有記憶装置)を介して,ダウンロードする態様であってもよい。
【0067】
暗号ファイルの復号処理は,暗号ファイルの復号処理のためのプログラムにしたがって行われる。クライアント30のハードディスク35には復号処理プログラムが記憶されており,復号処理プログラムがクライアント30において実行されることによって,クライアント30が復号装置として機能する。また,次の説明から明らかになるが,暗号システムにおける復号処理は,復号装置(クライアント)と鍵管理サーバ10とが協働して動作することによって実行される。
【0068】
クライアント(復号装置)30のハードディスク35にも,IDと秘密鍵とが記憶されている(クライアント30のハードディスク35に記憶されているIDを「ID2」,秘密鍵を「秘密鍵2」とする)。復号処理プログラムが実行されると,暗号ファイルに含まれる暗号化セッション・キー1およびID1(暗号ファイル作成者ID)と,復号装置30のハードディスク35に記憶されているID2(復号実行者ID)とがネットワーク1を介して復号装置30から鍵管理サーバ10に送信される。
【0069】
鍵管理サーバ10も,復号処理のためのプログラムを,そのハードディスク15に記憶している。以下に説明する復号処理における鍵管理サーバ10の動作は,鍵管理サーバ10のハードディスク15に記憶されている復号処理プログラムに基づく処理である。
【0070】
復号装置30から暗号化セッション・キー1およびID1(暗号ファイル作成者ID)と,ID2(復号実行者ID)とを受信すると,鍵管理サーバ10は,ID2(復号実行者ID)によって特定される利用メンバ(復号実行者)が,ID1(暗号ファイル作成者ID)によって特定される利用メンバ(暗号ファイル作成者)が作成した暗号ファイルを復号する権限を有するかどうかの判断を行う(ステップ64)。
【0071】
すなわち,上述のように,ID2によって特定される利用メンバが復号可能な暗号ファイル作成者のIDは,ID2についての管理データ中の復号許可ID欄に記憶されている。上述の例の場合は,復号実行者であるユーザBのID「ID2」についての管理データ中の復号許可ID欄に,暗号ファイル作成者ID「ID1」が記憶されているかどうかが判断される。
【0072】
もしも,復号実行者の管理データ中の復号許可ID欄に,暗号ファイル作成者IDが記憶されていない場合には,復号処理が許されていない旨のメッセージ等が鍵管理サーバ10から復号装置30に送信される。この場合には鍵管理サーバ10および復号装置30において,復号処理は終了する(終了処理;ステップ64でNO,ステップ65)。
【0073】
復号実行者についての管理データ中の復号許可ID欄に,暗号文作成者IDが記憶されている場合には,復号処理が継続して進行する(ステップ64でYES )。
【0074】
復号装置30から受信した暗号文作成者ID「ID1」に対応する公開鍵1が,管理データベース60から読出される。そして,復号装置30から受信した暗号化セッション・キー1が,読出された公開鍵1で復号される(ステップ66)。上述のように,暗号化セッション・キー1は,暗号文作成者の秘密鍵によってセッション・キーが暗号化されて生成されたものであるから,暗号化セッション・キー1はその秘密鍵に対応する公開鍵で復号することができる。暗号化セッション・キー1が復号されてセッション・キーが得られる。
【0075】
次に,得られたセッション・キーが,復号実行者の公開鍵によって暗号化される(ステップ67)。上述の例の場合,復号装置30において公開鍵2と秘密鍵2の対が生成され,生成された公開鍵2と秘密鍵2の対のうちの公開鍵2が,ID2と関連して管理データベース60に記憶されている。復号実行者ID「ID2」に対応する公開鍵2が管理データベース60から読出され,読出された公開鍵2によってセッション・キーが暗号化される。復号実行者の公開鍵が用いられてセッション・キーが暗号化されることによって,鍵管理サーバ10において新たに生成される暗号化セッション・キーを,暗号化セッション・キー2と呼ぶ。
【0076】
生成された暗号化セッション・キー2が,鍵管理サーバ10から復号装置30にネットワーク1を介して送信される。
【0077】
復号装置30は,鍵管理サーバ10から暗号化セッション・キー2を受信すると,ハードディスク35に記憶されている秘密鍵2で暗号化セッション・キー2を復号する(ステップ68)。上述のように,暗号化セッション・キー2は,復号装置30のハードディスク35に記憶されている秘密鍵2に対応する公開鍵2によって暗号化されたものであるから,秘密鍵2を用いて復号することができる。暗号化セッション・キー2が復号されて,セッション・キーが得られる。
【0078】
最後に,得られたセッション・キーが用いられて,暗号ファイルに含まれる暗号文データが復号される(ステップ69)。暗号化装置20から取得した暗号ファイルに含まれる暗号文データは,暗号化装置20において文書データ(平文データ)をセッション・キーによって暗号化したものであるから,上述の復号処理によって,復号装置30においてもとの文書データ(平文データ)が得られる。
【0079】
通常の公開鍵/秘密鍵方式では,文書データを暗号する場合,文書データ(平文データ)の復号を許可する相手の公開鍵で文書データを暗号するが,この暗号システムでは文書データをセッション・キーで暗号化し,暗号化に用いられたセッション・キーを暗号文作成者の秘密鍵で暗号化する。文書データの暗号化に用いられるセッション・キーは暗号ファイルの作成の度に生成されるので,公開鍵/秘密鍵方式に比べて機密性が高い。また,暗号化処理(暗号ファイルの作成処理)では,暗号化装置と,その他の装置との間では通信は一切行われない。機密性をさらに高めることができる。
【0080】
また,暗号システムでは,鍵管理サーバ10の管理データベース60中の復号許可IDが用いられることによって,暗号ファイルの復号を許す相手が特定される。たとえば,管理データベース60に,企業等の従業員等のそれぞれについての管理データを記憶させ,上司である従業員等の管理データ中の復号許可ID欄には,その従業員等(上司)の部下である従業員等のIDを記憶させておく。上司は,部下の作成した暗号ファイルを復号することができるが,部下は上司の暗号ファイルを復号することができないように暗号システムが運用される。企業等における組織構造に対応した権限管理を行うことができる。
【0081】
上述した例では,クライアント20,30・・・において公開鍵と秘密鍵の対を生成しているが,鍵管理サーバ10において多数の公開鍵と秘密鍵の対を生成し,生成された公開鍵と秘密鍵の対のうちの秘密鍵を,クライアント20,30・・・のユーザのそれぞれに渡すようにしてもよい。
【0082】
また,クライアント20,30・・・のハードディスク25,35・・・には,一般的には,暗号ファイル作成プログラムと復号処理プログラムの両方が記憶される。クライアント20,30・・・は,暗号化装置としても,復号装置としても機能する。クライアント20,30・・・において実行されるプログラム(暗号ファイル作成プログラムおよび復号処理プログラム)および鍵管理サーバ10において実行される復号処理プログラムは,ネットワーク1を介してインストールすることによって,またはCD−ROM等に記録されたものをインストールすることによって,クライアント20,30・・・または鍵管理サーバ10のハードディスクに記憶することができる。
【0083】
暗号ファイル作成処理および復号処理の一部または全部を,プログラムによる処理に代えて,ハードウエアによる処理によって実現してもよいのは言うまでもない。
【0084】
第2実施例(暗号システム(その2))
図5は,第2実施例の暗号システムにおいて鍵管理サーバ10に設けられる管理データベース60Aに登録(記憶)される共通鍵の登録処理の様子を示している。図6は第2実施例の暗号システムにおいて,暗号化装置を利用した暗号ファイルの生成の様子,復号装置および鍵管理サーバを利用した暗号ファイルの復号の様子,ならびに暗号化装置,復号装置および鍵管理サーバ間のデータの送受信の様子を示している。
【0085】
第2実施例の暗号システムも,第1実施例と同様に,ネットワーク1に接続された鍵管理サーバ10と複数台のクライアント20,30・・・から構成される。第2実施例の暗号システムでは,管理データベース60Aに記憶される利用メンバごとの管理データ中に公開鍵に代えて共通鍵が記憶される点,およびクライアント20,30・・・のハードディスク25,35・・・に,秘密鍵に代えて共通鍵がそれぞれ記憶されている点が,第1実施例の暗号システムと大きく異なる。クライアント20,30・・・は,第2実施例の暗号システムにおいても,暗号化装置として機能するとともに,復号装置としても機能する。暗号化装置における暗号ファイルの作成処理,ならびに復号装置および鍵管理サーバが協働して実行される暗号ファイルの復号処理において,第1実施例と同じ処理には同一の符号を付し,重複した詳細な説明は避けることにする。
【0086】
はじめに,図5を参照して,管理データベース60Aに登録(記憶)される共通鍵の登録処理について説明する。
【0087】
第2実施例の暗号化システムでは,鍵管理サーバ10のハードディスク15に公開鍵/秘密鍵生成プログラムが記憶されている。鍵管理サーバ10において公開鍵/秘密鍵生成プログラムが実行されることによって,鍵管理サーバ10において公開鍵と秘密鍵の対が生成される。生成された公開鍵および秘密鍵は,鍵管理サーバ10のハードディスク15に記憶される。
【0088】
他方,クライアント20,30・・・のハードディスク25,35・・・には,共通鍵生成プログラムが記憶されている。共通鍵生成プログラムはデータの暗号化および復号の両方に用いられる鍵(共通鍵)を生成するプログラムである。クライアント20,30・・・のそれぞれにおいて共通鍵生成プログラムが実行されることによって,クライアント20,30・・・のそれぞれにおいて共通鍵1,2,・・・が生成される。生成された共通鍵1,2・・・は,クライアント20,30・・・のハードディスク25,35・・・にそれぞれ記憶される。
【0089】
鍵管理サーバ10は,IDおよび公開鍵をクライアント20,30・・・のそれぞれに送信する。送信されるIDおよび公開鍵のうち,IDについてはクライアント20,30・・・のそれぞれについて固有のものが送信される。公開鍵についてはクライアント20,30・・・のそれぞれに同じものが送信される。
【0090】
クライアント20,30・・・のハードディスク25,35・・・には,共通鍵を暗号化するための暗号化プログラムが記憶されている。IDおよび公開鍵を受信したクライアント20,30・・・では,暗号化プログラムが実行され,鍵管理サーバ10から受信した公開鍵が用いられてクライアント20,30・・・において生成された共通鍵1,2・・・が暗号化される。暗号化共通鍵1,2・・・が得られる。暗号化共通鍵はIDとともにクライアント20,30・・・から鍵管理サーバ10に送信される。
【0091】
鍵管理サーバ10では,受信した暗号化共通鍵を,ハードディスク15に記憶されている秘密鍵を用いて復号する。暗号化共通鍵は,上述のように,共通鍵を公開鍵で暗号化したものであるので,公開鍵に対応する秘密鍵を用いることによって暗号化共通鍵を復号することができる。この復号によって共通鍵が得られる。共通鍵は,IDとともに管理データベース60Aに記憶される。
【0092】
図6を参照して,鍵管理サーバ10の管理データベース60Aに記憶される管理データは「ID」と,「共通鍵」と,「復号許可ID」とを含む。上述のように,IDおよび共通鍵は,クライアント20,30・・・から送信されて記憶されたものである。もちろん,IDは鍵管理サーバ10において発行されるものであるから,鍵管理サーバ10において発行されたIDを鍵管理サーバ10において管理データベース60Aに記憶させてもよい。この場合には,IDについてはクライアントから送信されたものを管理データベース60Aに記憶させる必要は必ずしもない。復号許可IDは,第1実施例と同様,「ID」欄に格納されたIDによって特定される利用メンバが復号可能な暗号ファイル(暗号文データ)の作成者のIDである。
【0093】
暗号ファイル作成処理(暗号化処理)について説明する。図6の左下に示すクライアント(暗号化装置)20を参照する。
【0094】
クライアント20のハードディスク25には暗号ファイル作成プログラムが記憶されており,クライアント20において暗号ファイル作成プログラムが実行されることによって,クライアント20が暗号化装置として機能する。暗号ファイル作成プログラムは,上述した公開鍵の暗号化に用いられる暗号化プログラムと同じもの(同じアルゴリズムのもの)であってもよいし,異なるものであってもよい。
【0095】
暗号ファイル作成プログラムが実行されると,はじめに乱数(セッション・キー)が生成される(ステップ61)。セッション・キーが用いられて,入力された文書データ(平文データ)が暗号化される。暗号文データが得られる(ステップ62)。
【0096】
文書データの暗号化に用いられたセッション・キーが,暗号化装置20のハードディスク25に記憶されている共通鍵1によって暗号化される(ステップ63A)。セッション・キーを共通鍵で暗号化したものを,暗号化セッション・キー3と呼ぶ。暗号文データと,暗号化セッション・キー3と,ID1(暗号ファイル作成者ID)とによって構成される暗号ファイルが作成される。
【0097】
次に暗号文の復号処理について説明する。図6の右下に示すクライアント(復号装置)30および図6の上段に示す鍵管理サーバ10を参照する。上述したクライアント(暗号化装置)20によって作成された暗号ファイルを,クライアント(復号装置)30において復号する場合を説明する。
【0098】
クライアント30のハードディスク35は復号処理プログラムが記憶されており,復号処理プログラムがクライアント30において実行されることによってクライアント30が復号装置として機能する。
【0099】
復号装置30のハードディスク35にはID2と共通鍵2とが記憶されている。暗号ファイルに含まれている暗号化セッション・キー3およびID1(暗号ファイル作成者ID)と,ハードディスク35に記憶されているID2(復号実行者ID)とが,ネットワーク1を介して復号装置30から鍵管理サーバ10に送信される。
【0100】
復号装置30から暗号化セッション・キー3およびID1(暗号ファイル作成者ID)と,ID2(復号実行者ID)とを受信すると,鍵管理サーバ10は,管理データベース60Aを参照して,ID2(復号実行者ID)についての復号許可IDに基づいて,ID2によって特定される利用メンバ(復号実行者)がID1によって特定される利用メンバ(暗号ファイル作成者)が作成した暗号文を復号する権限を有するかどうかの判断を行う(ステップ64)。
【0101】
復号実行者が暗号ファイルの復号権限を有する場合(ステップ64でYES ),ID1(暗号ファイル作成者ID)に対応する共通鍵1が管理データベース60Aから読み出され,読み出された共通鍵1が用いられて暗号化セッション・キー3が復号される(ステップ66A)。暗号化セッション・キー3は,暗号化装置20において共通鍵1が用いられて暗号化されたものであるから,共通鍵1を用いた復号処理により暗号化セッション・キー3を復号することができる。セッション・キーが得られる。
【0102】
ID2(復号実行者ID)に対応する共通鍵2が管理データベース60Aから読み出され,セッション・キーが共通鍵2によって暗号化される(ステップ67A)。セッション・キーを復号実行者の共通鍵によって暗号化したものを,暗号化セッション・キー4と呼ぶ。暗号化セッション・キー4が鍵管理サーバ10から復号装置30に送信される。
【0103】
復号装置30は,鍵管理サーバ10から暗号化セッション・キー4を受信すると,ハードディスク35に記憶されている共通鍵2で暗号化セッション・キー4を復号する(ステップ68A)。上述のように,暗号化セッション・キー4は,管理データベース60Aに記憶されている共通鍵2によって暗号化されたものであるから,共通鍵2を用いることによって復号することができる。セッション・キーが得られる。最後に,得られたセッション・キーが用いられて,暗号ファイルに含まれる暗号文データが復号される(ステップ69)。文書データが得られる。
【0104】
第2実施例の暗号システムにおいても,文書データの暗号化に用いられるセッション・キーは暗号文の作成の度に生成されるので,文書データの機密性は高い。また,暗号化処理(暗号ファイルの作成処理)では,暗号化装置と,その他の装置との間では通信は一切行われないので,文書データの機密性をさらに高めることができる。
【0105】
変形例(その1)
図7から図9は,第2実施例の暗号システムの変形例を示すもので,図7は暗号化装置20において作成される暗号ファイルに含まれる暗号化セッション・キー3を,別の暗号化セッション・キー(暗号化セッション・キー5と呼ぶ)に差し替える様子を示している。図8は,暗号化装置20において作成される暗号ファイルに,暗号化セッション・キー3に代えて別の暗号化セッション・キー(暗号化セッション・キー5)を含ませる様子を示している。図9は,図7または図8に示す処理によって作成される暗号ファイルの復号処理の様子を示している。図7から図9に示す鍵管理サーバ10,暗号化装置20および復号装置30の処理も,基本的にはこれらの装置のハードディスクに記憶されるプログラムに基づく。
【0106】
図7〜図9に示す第2実施例の暗号システムの変形例では,鍵管理サーバ10のハードディスク15に記憶される管理データベース60Bに,ID,共通鍵および復号許可IDに加えて,固有鍵が含まれている点が,第2実施例の暗号システムにおける管理データベース60A(図6)と異なる。
【0107】
固有鍵は,暗号システムの利用メンバに固有の鍵である。固有鍵は,鍵管理サーバ10または他のコンピュータが用いられて生成されて,管理データベース60Bに記憶される。暗号システムにおける固有鍵の用いられ方については後述する。
【0108】
図7を参照して,暗号化セッション・キー3およびID1と,暗号文データとを含む暗号ファイルが作成された後,暗号化装置20から鍵管理サーバ10に,暗号化セッション・キー3およびID1が送信される。鍵管理サーバ10では,受信したID(暗号ファイル作成者ID)が管理データベース60Bに登録されているかどうかを判断する(ステップ82)。
【0109】
鍵管理サーバ10が受信したIDが,管理データベース60Bに登録されていないIDの場合には,鍵管理サーバ10は暗号化セッション・キーの差替えの処理を終了する(ステップ65)。
【0110】
受信したIDが,管理データベース60Bに登録されている場合(ステップ82でYES ),暗号化セッション・キーの差し替え処理は継続して進行する。
【0111】
鍵管理サーバ10は,受信したID1(暗号ファイル作成者ID)に対応して管理データベース60Bに記憶されている共通鍵1を読み出し,読み出した共通鍵1で受信した暗号化セッション・キー3を復号する(ステップ66A)。セッション・キーが得られる。
【0112】
鍵管理サーバ10はさらに,受信したID1に対応して管理データベース60Bに記憶されている固有鍵1を読み出し,読み出した固有鍵1で得られたセッション・キーを暗号化する(ステップ67B)。セッション・キーを固有鍵で暗号化したものを,暗号化セッション・キー5と呼ぶ。暗号化セッション・キー5が得られる。暗号化セッション・キー5は,鍵管理サーバ10から暗号化装置20に送信される。
【0113】
暗号化装置20では,暗号ファイルに含まれている暗号化セッション・キー3が,受信した暗号化セッション・キー5と差し替えられる(ステップ81)。暗号文データと,暗号化セッション・キー5と,ID1とを含む暗号化ファイルが作成される。
【0114】
上述の図7に示す例では,暗号化セッション・キー3およびID1を含む暗号ファイルが一旦作成され,作成された暗号ファイルに含まれる暗号化セッション・キー3を暗号化セッション・キー5に差し替えている。これに対して図8に示す例では,暗号化セッション・キー3およびID1を含む暗号ファイルは作成されず,暗号化セッション・キー5およびID1を含む暗号ファイルが作成される。鍵管理サーバ10から送信され,暗号化装置20において受信された暗号化セッション・キー5が用いられて,暗号化セッション・キー5およびID1を含む暗号ファイルが作成される。
【0115】
図9を参照して,暗号化セッション・キー5,IDおよび暗号文データを含む暗号ファイルから文書データを得る処理(復号処理)を説明する。
【0116】
暗号ファイルに含まれている暗号化セッション・キー5およびID1(暗号ファイル作成者ID)と,ハードディスク35に記憶されているID2(復号実行者ID)が,ネットワーク1を介して復号装置30から鍵管理サーバ10に送信される。
【0117】
鍵管理サーバ10では,ID1(暗号化作成者ID)に対応して管理データベース60Bに記憶されている固有鍵1を読出し,読出した固有鍵1で暗号化セッション・キー5を復号する(ステップ66B)。暗号化セッション・キー5は,暗号ファイル作成者の固有鍵を用いてセッション・キーを暗号化したものであるから,この復号によって暗号化セッション・キー5が復号される。セッション・キーが得られる。
【0118】
ID2(復号実行者ID)に対応する共通鍵2が,管理データベース60Bから読み出され,読み出された共通鍵2が用いられてセッション・キーが暗号化される(ステップ67A)。暗号化セッション・キー4が得られる(第2実施例(図6)と同じ)。暗号化セッション・キー4は鍵管理サーバ10から復号装置30に送信される。復号装置30において暗号化セッション・キー4が復号され(ステップ68A),得られたセッション・キーで暗号文データが復号される(ステップ69)。
【0119】
第2実施例の変形例では,暗号化セッション・キー5を含む暗号ファイルの復号処理(図9)において,暗号ファイル作成者の固有鍵と,復号実行者の共通鍵が用いられている(復号実行者の共通鍵は,鍵管理サーバ10(ステップ67A)と復号装置30(ステップ68A)の両方において用いられる)。第2実施例の変形例では,暗号ファイルの復号処理において暗号ファイル作成者の共通鍵は一切用いられない。鍵管理サーバ10の管理データベース60Bに記憶されている暗号ファイル作成者の共通鍵が更新されたとしても,暗号ファイルを復号することができる。このように,第2実施例の変形例では,共通鍵を更新しても暗号ファイルの復号処理に影響がでないので,暗号システムの利用メンバは随時共通鍵を更新することができる。共通鍵の紛失,漏洩等に対処することができる。
【0120】
図10は,第2実施例の暗号システムのさらに他の変形例を示すものであり,暗号化装置を利用した暗号ファイルの生成の様子,復号装置および鍵管理サーバを利用した暗号ファイルの復号処理の様子,ならびに暗号化装置,復号装置および鍵管理サーバ間のデータの送受信の様子を示している。図6に示すものとは,暗号ファイルの復号処理(復号装置30および鍵管理サーバ10の処理)が異なる。また鍵管理サーバ10のハードディスク15には,管理データベース60B(図7から図9と同じ)が記憶されている。
【0121】
暗号化装置20における暗号ファイルの作成処理は,上述の第2実施例(図6)と同じである。復号処理について説明する。
【0122】
復号装置30において復号プログラムが実行される。暗号ファイルに含まれる暗号化セッション・キー3およびID1(暗号ファイル作成者ID)と,クライアント30のハードディスク35に記憶されているID2(復号実行者ID)とが,ネットワーク1を介して復号装置30から鍵管理サーバ10に送信される。
【0123】
復号装置30から暗号化セッション・キー1およびID1(暗号ファイル作成者ID)と,ID2(復号実行者ID)とを受信すると,鍵管理サーバ10では,ID1(暗号ファイル作成者ID)に対応する共通鍵1を管理データベース60Bから読出す。読出された共通鍵1によって暗号化セッション・キー3が復号される(ステップ66A)。セッション・キーが得られる。
【0124】
次に,暗号ファイル作成者ID(ID1)に対応する固有鍵1が管理データベース60Bから読出され,固有鍵1が用いられて,セッション・キーが暗号化される(ステップ67B)。暗号化セッション・キー5が得られる。
【0125】
さらに,ID2(復号実行者ID)に対応する共通鍵2が管理データベース60Bから読出され,共通鍵2が用いられてセッション・キーの暗号化に用いられた固有鍵1が暗号化される(ステップ67C)。固有鍵を復号実行者の共通鍵で暗号化したものを暗号化固有鍵と呼ぶ。暗号化固有鍵1と,暗号化セッション・キー5とが,鍵管理サーバ10から復号装置30に送信される。
【0126】
復号装置30では,鍵管理サーバ10から受信した暗号化固有鍵1が,ハードディスク35に記憶されている共通鍵2で復号される(ステップ68C)。上述のように,暗号化固有鍵1は,固有鍵1を共通鍵2で暗号化したものであるので,この復号によって固有鍵1が得られる。
【0127】
得られた固有鍵1が用いられて,鍵管理サーバ10から受信した暗号化セッション・キー5が復号される(ステップ68B)。上述のように,暗号化セッション・キー5はセッション・キーを固有鍵1で暗号化したものであるので,この復号によってセッション・キーが得られる。
【0128】
得られたセッション・キーが用いられて,暗号ファイルに含まれる暗号文データを復号して文書データを得るのは,第2実施例と同じである(ステップ69)。
【0129】
第2実施例の変形例(図7から図10)において,第1実施例と同じように,管理データベースに利用メンバごとの公開鍵を記憶させ,各クライアント(暗号化装置および復号装置)のハードディスクのそれぞれに,公開鍵に対応する秘密鍵を記憶させてもよい。共通鍵に代えて,公開鍵および秘密鍵が用いられて,上述の同様の処理が行われる。
【0130】
第3実施例(署名/検証システム)
図11は,署名/検証システムにおける鍵管理サーバと,署名装置と,検証装置との関係,および各装置における処理およびデータの流れを示している。
【0131】
署名/検証システムは,署名装置から検証装置に送信されるデータが,送信途中で改竄されていないことを保証するシステムである。署名/検証システムが鍵管理サーバ10と,鍵管理サーバ10にネットワーク1によって接続された複数台のクライアント20,30・・・とによって構成される点は,図1に示す第1実施例の暗号システムと同じである。また,鍵管理サーバ10およびクライアント20,30・・・のハードウエア構成も,図2に示すものと同じである。クライアント20,30・・・のハードディスク25,35・・・のそれぞれに公開鍵/秘密鍵方式における秘密鍵とIDとが記憶されている点,および公開鍵の管理データベースへの登録の処理も,第1実施例の暗号システムと同じである。上述の暗号システムと区別するために,鍵管理サーバを符号10Aで示し,署名装置として用いられるクライアントを符号20Aで示し,検証装置として用いられるクライアントを符号30Aで示す。上述の第1実施例の暗号システムとは,鍵管理データ10Aのハードディスク15に記憶されている管理データベース60Cの内容,ならびに鍵管理サーバ10A,クライアント(署名装置)20Aおよびクライアント(検証装置)30Aにおける処理の内容(プログラム処理の内容)が異なっている。
【0132】
署名/検証システムにおいて,鍵管理サーバ10Aのハードディスク15に記憶されている管理データベース60Cには,利用メンバごとに付与されたIDと,利用メンバに固有の公開鍵が記憶されている。利用メンバに固有の公開鍵は,各利用メンバがクライアント20,30,・・・を用いて作成した公開鍵/秘密鍵のうちの公開鍵であるのは,第1実施例の暗号システムと同じである。
【0133】
はじめに,署名処理について説明する。図11の左下に示す署名装置20Aを参照する。
【0134】
データ署名処理は,署名処理のためのプログラムにしたがって行われる。クライアント20Aのハードディスク25には署名処理プログラムが記憶されており,署名処理プログラムがクライアント20において実行されることによって,クライアント20が署名装置20Aとして機能する。
【0135】
署名者が署名すべきデータ(被署名文データ,入力データ)が入力装置22等から入力されると,被署名文データがメモリ24において複製(コピー)される。複製された被署名文データがハードディスク25に記憶されている秘密鍵1で暗号化される(ステップ71)。秘密鍵が用いられて被署名文データが暗号化されることによって得られるデータを「署名文データ」と呼ぶ。メモリ24には,被署名文データと署名文データとが一時的に記憶される。
【0136】
生成された署名文データのヘッダ情報として,ハードディスク25に記憶されているID1が付加される。署名文の検証を受ける場合には,検証するユーザのクライアント(検証装置)に,IDが付加された署名文データと被署名文データとが送信される。
【0137】
次に,検証処理について説明する。図11の右下に示す検証装置30Aおよび図11の上段に示す鍵管理サーバ10Aを参照する。
【0138】
はじめに,検証装置30Aのユーザ(ユーザB)は署名文データ,署名文データのヘッダに付加された署名者(ユーザA)のID(署名者ID)(ID1),およびユーザAが入力した被署名文データを取得する。一般的には,署名文データ,署名者IDおよび被署名文データは,ネットワーク1を介して署名装置20Aから検証装置30Aに送信される。
【0139】
署名文の検証処理は,検証処理のためのプログラムにしたがって行われる。検証装置30Aのハードディスク35には検証プログラムが記憶されており,検証プログラムがクライアント30において実行されることによって,クライアント30が検証装置30Aとして機能する。
【0140】
検証プログラムが実行されると,署名文および署名者ID(ID1)と,検証装置30Aのハードディスク35に記憶されている検証者ID(ID2)とが,ネットワーク1を介して検証装置30Aから鍵管理サーバ10Aに送信される。
【0141】
鍵管理サーバ10Aは,検証処理のためのプログラムを,そのハードディスク15に記憶している。以下に説明する検証処理における鍵管理サーバ10Aの処理(動作)は,鍵管理サーバ10Aのハードディスク15に記憶されている検証処理プログラムに基づく。
【0142】
検証装置30Aから署名文データおよび署名者ID(ID1)と,検証者ID(ID2)とを受信すると,鍵管理サーバ10Aでは,署名者ID(ID1)に対応して記憶されている公開鍵1を管理データベース60Cから読出す。読出された公開鍵1が用いられて,受信した署名文データが復号される(ステップ72)。上述のように,署名文データは,署名者に固有の秘密鍵1によって暗号化されて生成されたものであるから,署名文データはその秘密鍵1に対応する公開鍵1で復号することができる。署名文データが復号されて被署名文データが得られる。
【0143】
次に,鍵管理サーバ10Aでは検証者ID(ID2)に対応して記憶されている公開鍵2を管理データベース60Cから読出す。読出された公開鍵2が用いられて,得られた被署名文データが暗号化される(ステップ73)。検証者の公開鍵によって新たに生成される暗号化された被署名文データを,「暗号化被署名文データ」と呼ぶ。
【0144】
生成された暗号化被署名文データが,鍵管理サーバ10Aから検証装置30Aにネットワーク1を介して送信される。
【0145】
検証装置30Aは,鍵管理サーバ10Aから暗号化被署名文データを受信すると,ハードディスク35に記憶されている秘密鍵2で暗号化被署名文データを復号する(ステップ74)。暗号化被署名文データは,検証装置30Aのハードディスク35に記憶されている秘密鍵2に対応する公開鍵2が用いられて暗号化されたものであるから,秘密鍵2を用いることによって復号することができる。暗号化被署名文データが復号されて被署名文データが得られる。
【0146】
最後に,署名装置20Aから送信された被署名文データと,復号によって得られた被署名文データとが一致するかどうかが判断される(ステップ75:検証)。これらの2つのデータが一致している場合は,署名装置20Aから検証装置30Aに送信された被署名文データ(または署名文データ)が,通信途中で改竄されていないことが分かる。検証装置30Aでは,署名装置20Aから送信された被署名文データ(署名文データ)が,署名装置20Aのユーザ(ユーザA)が入力した被署名文データ(または署名装置20Aにおいて生成された署名文データ)そのものであることを検証することができる。
【0147】
もしも,署名装置20Aから送信された被署名文データと,復号によって得られた被署名文データとが一致しない場合には,署名者が意図しないデータが被署名文データ(署名文データ)として署名装置20Aから検証装置30Aに送信されてしまったことが分かる。たとえば,署名装置20Aから検証装置30Aに被署名文データ(署名文データ)を送信する途中に,第三者によってデータ内容が改竄されてしまったような場合に2つのデータは一致しない。具体的な一例を挙げると,10個の商品の注文データを送ったものの,通信途中に改竄されてしまい,1000個の商品の注文データに書き替えられてしまった場合等である。
【0148】
一般的な署名/検証方式では,署名者の公開鍵を公開し,さらに検証者が入手する署名者の公開鍵が所望する相手の正しい公開鍵かどうか確認するために,公開鍵が誰の公開鍵であるかを証明する機関(認証局と呼ばれる)が発行する証明書により,署名者の公開鍵の信頼性を担保している。他方,上述の署名/検証システムでは鍵管理サーバ10Aに公開鍵が保管されており,公開鍵を公開することなく署名/検証が実現される。公開鍵が公開されないので認証局による認証(証明書の発行)も必要とされない。
【0149】
変形例
図12は,図11に示す署名/検証システムの他の例を示すものである。
【0150】
図12に示す署名/検証システムでは,検証処理において鍵管理サーバ10に固有の公開鍵/秘密鍵が用いられる点と,上記の鍵管理サーバ10に固有の公開鍵/秘密鍵のうちの公開鍵がクライアント(署名装置および検証装置)のハードディスクに記憶されている点が,図11に示す署名/検証システムと異なっている。鍵管理サーバ10に固有の公開鍵を「公開鍵A」,公開鍵Aに対応する鍵管理サーバ10に固有の秘密鍵を「秘密鍵A」と呼ぶことにする。以下の説明では,鍵管理サーバを符号10Bで示し,署名装置として用いられるクライアントを符号20Bで示し,検証装置として用いられるクライアントを符号30Bで示す。鍵管理サーバ10B,署名装置20Bおよび検証装置30Bにおける処理のうち,上記した図11の署名/検証システムにおける処理と同じ処理には同一符号を付し,重複説明を避ける。
【0151】
上述のように,図12に示す署名/検証システムにおいて署名装置および検証装置として機能するクライアント20B,30B・・・のハードディスク25,35・・・には,IDおよびユーザに固有の秘密鍵とともに,上述の鍵管理サーバ10Bに固有の公開鍵Aが記憶されている。すなわち,鍵管理サーバ10Bにおいて生成された公開鍵A/秘密鍵Aのうちの公開鍵Aが,クライアント20B,30B・・・のそれぞれに送信(配信)されて,ハードディスクにそれぞれ記憶されている。また,鍵管理サーバ10Bのハードディスク15には,鍵管理サーバ10Bに固有の秘密鍵Aが記憶されている。
【0152】
署名装置20Bにおける署名のための処理は,上述の図11に示す署名/検証システムにおける署名装置20Aと同じ処理と同じである。すなわち,被署名文データ(入力データ)のコピーが,署名者に固有の秘密鍵1で暗号化されて署名文データが生成される(ステップ71)。署名文データ,署名者IDおよび被署名文データが署名装置20Bから検証装置30Bに送信される。
【0153】
検証処理について説明する。図12の右下に示す検証装置30Bおよび図12の上段に示す鍵管理サーバ10Bを参照する。
【0154】
署名文データおよび署名者ID(ID1)が検証装置30Bから鍵管理サーバ10Bに送信される。
【0155】
鍵管理サーバ10Bでは,署名者ID(ID1)に基づいて,管理データベース60Cから公開鍵1を読出し,読出した公開鍵1で署名文データを復号する(ステップ72)。被署名文データが得られる。次に,鍵管理サーバ10Bのハードディスク15に記憶されている鍵管理サーバ10Bに固有の秘密鍵Aが用いられて,得られた被署名文データが暗号化される(ステップ73A)。鍵管理サーバ10Bの秘密鍵Aによって暗号された被署名文データ(暗号化被署名文データ)が,鍵管理サーバ10Bから検証装置30Bに送信される。
【0156】
上述したように,図12に示す署名/検証システムを構成するクライアントのハードディスクには,鍵管理サーバ10Bに固有の公開鍵Aが記憶されている。署名装置30Bが受信した暗号化被署名文データは,鍵管理サーバ10Bに固有の秘密鍵Aによって暗号化されたものであるので,暗号被署名文データを署名装置30Bのハードディスク35に記憶されている公開鍵Aによって復号することができる。被署名文データが得られる(ステップ74A)。
【0157】
得られた被署名文データと,署名装置20Bから受信した被署名文データとが比較されて,被署名文データ(署名文データ)の検証が行われる(ステップ75)。
【0158】
変形例(その2)
図13は図11に示す署名/検証システムのさらに他の例を示すものである。以下の説明では,鍵管理サーバを符号10Cで示し,署名装置として用いられるクライアントを符号20Cで示し,検証装置として用いられるクライアントを符号30Cで示す。
【0159】
署名装置20Cでは,はじめに被署名文データ(入力データ)に一方向性変換処理が施される(ステップ91)。被署名文データに一方向性変換処理を施した後のデータを「変換データ」と呼ぶ。一方向性変換処理では,一方向性関数(ある入力を変換し出力するのは可能であるが,逆方向の出力から入力を求めることが困難または不可能な関数)が用いられる。たとえば,ハッシュ関数を用いることができる。
【0160】
署名装置20Cのハードディスク25に記憶されている秘密鍵1が用いられて,変換データが暗号化される(ステップ92)。変換データを秘密鍵によって暗号化して生成されるものを「認証子1」と呼ぶ。生成された認証子1およびハードディスク25に記憶されている署名者ID(ID1)と被署名文データとが,署名装置20Cから検証装置30Cに送信される。
【0161】
検証装置30Cでは,署名装置20Cから受信した被署名文データに,署名装置20Cと同じ一方向性変換処理が施され,変換データが生成される(ステップ96)。後述するように,検証処理ではこの変換データが用いられることになる。
【0162】
検証装置30Cは,署名装置20Cから受信した認証子1および署名者ID(ID1)と,検証者ID(ID2)とを,鍵管理サーバ10Cに送信する。
【0163】
認証子1および署名者ID(ID1)と,検証者ID(ID2)とを受信した鍵管理サーバ10Cでは,受信した署名者ID(ID1)に基づいて,管理データベース60Cに記憶されているID1に対応する公開鍵1を読出す。読出された公開鍵1が用いられて,受信した認証子1が復号される(ステップ93)。上述のように,認証子1は公開鍵1に対応する秘密鍵1が用いられて暗号化されたものであるので,公開鍵1を用いることによって認証子1を復号することができる。認証子1を公開鍵1を用いて復号することにより変換データが得られる。
【0164】
管理データベース60Cに記憶されている検証者ID(ID2)に対応する公開鍵2が用いられて,得られた変換データが暗号化される(ステップ94)。検証者の公開鍵を用いて変換データを暗号化したものを「認証子2」と呼ぶ。認証子2が鍵管理サーバ10Cから検証装置30Cに送信される。
【0165】
認証子2を受信した検証装置30Cでは,受信した認証子2をハードディスク35に記憶されている秘密鍵2で復号する(ステップ95)。上述のように,認証子2は,変換データを秘密鍵2に対応する公開鍵2で暗号化したものである。このため,認証子2を秘密鍵2で復号することにより変換データを得ることができる。
【0166】
得られた変換データと,署名装置20Cから受信した被署名文データに一方向性変換処理を施すことによって得られた変換データとが比較される(ステップ97;検証)。
【0167】
変形例(その2)の署名/検証システムについても,上述の変形例(その1)と同様に,鍵管理サーバ10Cに固有の公開鍵Aおよび秘密鍵Aの対を生成し,公開鍵Aを各ユーザ(クライアント)に配布しておき,秘密鍵Aを鍵管理サーバ10Cのハードディスク15に記憶させておき,鍵管理サーバ10Cにおいて変換データを検証者の公開鍵で暗号化するのに代えて,鍵管理サーバ10Cに固有の秘密鍵Aで暗号化して認証子2を生成するようにしてもよい。この場合には,検証装置30Cでは,あらかじめ配布されている鍵管理サーバ10Cに固有の公開鍵Aで認証子2が復号されて変換データを得ることになる。
【0168】
図11から図13に示す署名/検証システムについても,公開鍵/秘密鍵に代えて,共通鍵を用いるようにしてもよい(第1実施例の暗号システム(図4)と第2実施例の暗号システム(図6)の関係と同じ)。
【図面の簡単な説明】
【図1】第1実施例の暗号システムの全体的構成を示すブロック図である。
【図2】鍵管理サーバの電気的構成を示すブロック図である。
【図3】第1実施例の暗号システムにおいて,クライアントにおける公開鍵および秘密鍵の生成の様子と,鍵管理サーバにおける公開鍵の登録の様子を示している。
【図4】暗号化装置における暗号ファイルの生成の様子,復号装置および鍵管理サーバにおける暗号ファイルの復号処理の様子,ならびに暗号化装置,復号装置および鍵管理サーバ間のデータの送受信の様子を示している。
【図5】第2実施例の暗号システムにおいて,クライアントにおける暗号化共通鍵の生成の様子,鍵管理サーバにおける暗号化共通鍵の復号の様子,および鍵管理サーバにおける共通鍵の登録の様子を示している。
【図6】第2実施例の暗号システムにおいて,暗号化装置における暗号ファイルの生成の様子,復号装置および鍵管理サーバにおける暗号ファイルの復号処理の様子,ならびに暗号化装置,復号装置および鍵管理サーバ間のデータの送受信の様子を示している。
【図7】第2実施例の変形例を示すもので,暗号化セッション・キーの差し替えの様子を示している。
【図8】第2実施例の変形例を示すもので,鍵管理サーバにおいて生成された暗号化セッション・キーを,暗号化装置において暗号ファイルに含ませる様子を示している。
【図9】第2実施例の変形例において,復号装置および鍵管理サーバにおける暗号ファイルの復号処理の様子,ならびに復号装置および鍵管理サーバ間のデータの送受信の様子を示している。
【図10】第2実施例のさらに他の変形例を示すもので,暗号化装置における暗号ファイルの生成の様子,復号装置および鍵管理サーバにおける暗号ファイルの復号処理の様子,ならびに暗号化装置,復号装置および鍵管理サーバ間のデータの送受信の様子を示している。
【図11】署名装置における署名文生成の様子,検証装置および鍵管理サーバにおける検証処理の様子,ならびに署名装置,検証装置および鍵管理サーバ間のデータの送受信の様子を示している。
【図12】署名装置における署名文生成の様子,検証装置および鍵管理サーバにおける検証処理の様子,ならびに署名装置,検証装置および鍵管理サーバ間のデータの送受信の様子を示している。
【図13】署名装置における署名文生成の様子,検証装置および鍵管理サーバにおける検証処理の様子,ならびに署名装置,検証装置および鍵管理サーバ間のデータの送受信の様子を示している。
【符号の説明】
10 鍵管理サーバ
20 クライアント(暗号化装置)
30 クライアント(復号装置)
20A,20B,20C クライアント(署名装置)
30A,30B,30C クライアント(検証装置)
11,21,31 CPU
12,22,32 入力装置
14,24,34 メモリ
15,25,35 ハードディスク
18,28,38 通信装置
Claims (24)
- 復号実行者に固有の固有IDおよび復号実行者に固有の第2の鍵を記憶する記憶手段を備えた復号装置とネットワークを通じて接続され,暗号文作成者および復号実行者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵を記憶する管理データベースを備えた鍵管理サーバを制御するプログラムであり,
上記復号装置から送信される,平文の暗号化に用いられたセッション・キーを暗号文作成者に固有の第2の鍵で暗号化して生成された第1暗号化セッション・キーおよび暗号文作成者の固有IDである暗号文作成者IDと,復号実行者の固有IDである復号実行者IDとを,受信し,
受信した暗号文作成者IDに対応して管理データベースに記憶されている暗号文作成者に固有の第1の鍵で,受信した第1暗号化セッション・キーを復号してセッション・キーを得,
得られたセッション・キーを,受信した上記復号実行者IDに対応して管理データベースに記憶されている復号実行者に固有の第1の鍵で暗号化して第2暗号化セッション・キーを生成し,
生成した上記第2暗号化セッション・キーを上記復号装置に送信するように鍵管理サーバを制御するプログラム。 - 上記管理データベースは,各ユーザの固有IDに対応させて,各ユーザが復号可能な暗号文の作成者についての固有IDである一または複数の復号許可IDをさらに記憶しており,
上記プログラムはさらに,
受信した復号実行者IDに対応する復号許可ID中に,受信した暗号文作成者IDが含まれているかどうかを判断し,
復号許可ID中に暗号文作成者IDが含まれていると判断した場合に,第1暗号化セッション・キーの復号と,第2暗号化セッション・キーの生成と,第2暗号化セッション・キーの送信とを許可するように鍵管理サーバを制御する,請求項1に記載のプログラム。 - 暗号文作成者および復号実行者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵を記憶する管理データベースを備えた鍵管理サーバとネットワークを介して接続され,復号実行者に固有の固有IDおよび復号実行者に固有の第2の鍵を記憶する記憶手段を備えた復号装置を制御するプログラムであり,
平文をセッション・キーで暗号化して生成される暗号文と,上記セッション・キーを暗号文作成者に固有の第2の鍵で暗号化して生成される第1暗号化セッション・キーと,暗号文作成者の固有IDである暗号文作成者IDの入力を受付け,
上記記憶手段に記憶されている固有IDを復号実行者IDとして,復号実行者ID,第1暗号化セッション・キーおよび暗号文作成者IDを,鍵管理サーバに送信し,
鍵管理サーバから送信される,上記暗号文作成者IDに対応して管理データベースに記憶されている上記暗号文作成者に固有の第1の鍵で上記第1暗号化セッション・キーを復号して得られるセッション・キーを上記復号実行者IDに対応して管理データベースに記憶されている復号実行者に固有の第1の鍵で暗号化して生成される第2暗号化セッション・キーを,受信し,
受信した第2暗号化セッション・キーを,上記記憶手段に記憶されている復号実行者に固有の第2の鍵で復号してセッション・キーを得,
得られたセッション・キーで暗号文を復号して平文を得るように復号装置を制御するプログラム。 - 上記第1の鍵は公開鍵であり,
上記第2の鍵は上記公開鍵に対応する秘密鍵である,
請求項1から3のいずれか一項に記載のプログラム。 - 上記第1の鍵および第2の鍵は同一の共通鍵である,
請求項1から3のいずれか一項に記載のプログラム。 - 復号実行者に固有の固有IDおよび復号実行者に固有の第2の鍵を記憶する記憶手段を備えた復号装置とネットワークを通じて接続される鍵管理サーバであり,
暗号文作成者および復号実行者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵を記憶する管理データベース,
上記復号装置から送信される,平文の暗号化に用いられたセッション・キーを暗号文作成者に固有の第2の鍵で暗号化して生成された第1暗号化セッション・キーおよび暗号文作成者の固有IDである暗号文作成者IDと,復号実行者の固有IDである復号実行者IDとを受信する受信手段,
受信された暗号文作成者IDに対応して管理データベースに記憶されている暗号文作成者に固有の第1の鍵で,受信された第1暗号化セッション・キーを復号してセッション・キーを得る手段,
得られたセッション・キーを,受信された上記復号実行者IDに対応して管理データベースに記憶されている復号実行者に固有の第1の鍵で暗号化して第2暗号化セッション・キーを生成する手段,ならびに
生成された上記第2暗号化セッション・キーを上記復号装置に送信する送信手段,
を備えた鍵管理サーバ。 - 上記管理データベースは,各ユーザの固有IDに対応させて,各ユーザが復号可能な暗号文の作成者についての固有IDである一または複数の復号許可IDをさらに記憶しており,
受信された復号実行者IDに対応する復号許可ID中に,受信された暗号文作成者IDが含まれているかどうかを判断する判断手段,
上記判断手段によって復号許可ID中に暗号文作成者IDが含まれていると判断された場合に,第1暗号化セッション・キーの復号と,第2暗号化セッション・キーの生成と,第2暗号化セッション・キーの送信とを許可する手段をさらに備えている,請求項6に記載の鍵管理サーバ。 - 上記第1の鍵は公開鍵であり,
上記第2の鍵は上記公開鍵に対応する秘密鍵である,
請求項6または7に記載の鍵管理サーバ。 - 上記第1の鍵および第2の鍵は同一の共通鍵である,
請求項6または7に記載の鍵管理サーバ。 - 暗号文作成者および復号実行者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵を記憶する管理データベースを備えた鍵管理サーバとネットワークを介して接続される復号装置であり,
復号実行者に固有の固有IDおよび復号実行者に固有の第2の鍵を記憶する記憶手段,
平文をセッション・キーで暗号化して生成される暗号文と,上記セッション・キーを暗号文作成者に固有の第2の鍵で暗号化して生成される第1暗号化セッション・キーと,暗号文作成者の固有IDである暗号文作成者IDの入力を受付ける受付手段,
上記記憶手段に記憶されている固有IDを復号実行者IDとして,復号実行者ID,第1暗号化セッション・キーおよび暗号文作成者IDを,鍵管理サーバに送信する送信手段,
鍵管理サーバから送信される,上記暗号文作成者IDに対応して管理データベースに記憶されている上記暗号文作成者に固有の第1の鍵で上記第1暗号化セッション・キーを復号して得られるセッション・キーを上記復号実行者IDに対応して管理データベースに記憶されている復号実行者に固有の第1の鍵で暗号化して生成される第2暗号化セッション・キーを,受信する受信手段,
受信された第2暗号化セッション・キーを,上記記憶手段に記憶されている復号実行者に固有の第2の鍵で復号してセッション・キーを得る手段,ならびに
得られたセッション・キーで暗号文を復号して平文を得る手段,
を備えた復号装置。 - 上記第1の鍵は公開鍵であり,
上記第2の鍵は上記公開鍵に対応する秘密鍵である,
請求項10に記載の復号装置。 - 上記第1の鍵および第2の鍵は同一の共通鍵である,
請求項10に記載の復号装置。 - 暗号文作成者を含む各ユーザに固有の固有ID,各ユーザに固有の公開鍵または共通鍵,および各ユーザに固有の固有鍵を記憶する管理データベースを備えた鍵管理サーバとネットワークを介して接続され,暗号文作成者の固有IDおよび暗号文実行者に固有の秘密鍵または共通鍵を記憶する記憶手段を備えた暗号化装置を制御するプログラムであり,
平文の入力を受付け,
セッション・キーを生成し,
生成したセッション・キーで平文を暗号化し,
上記セッション・キーを,記憶手段に記憶された秘密鍵または共通鍵で暗号化して第1暗号化セッション・キーを生成し,
生成した第1暗号化セッション・キーを,暗号文作成者の固有IDである暗号文作成者IDとともに鍵管理サーバに送信し,
鍵管理サーバから送信される,暗号文作成者IDに対応して管理データベースに記憶されている暗号文作成者に固有の公開鍵または共通鍵で第1暗号化セッション・キーを復号して得られるセッション・キーを,暗号文実行者IDに対応して管理データベースに記憶されている暗号文作成者に固有の固有鍵で暗号化して生成される第2暗号化セッション・キーを,受信し,
受信した第2暗号化セッション・キー,記憶手段に記憶されている暗号文作成者ID,および平文を暗号化することによって得られた暗号文を含む暗号ファイルを作成するように暗号化装置を制御するプログラム。 - 暗号文作成者に固有の固有IDおよび暗号文作成者に固有の秘密鍵または共通鍵を記憶する暗号化装置とネットワークを通じて接続され,暗号文作成者および復号実行者を含む各ユーザに固有の固有ID,各ユーザに固有の公開鍵または共通鍵,ならびに各ユーザに固有の固有鍵を記憶する管理データベースを備えた鍵管理サーバを制御するプログラムであって,
暗号化装置から送信される,平文の暗号化に用いられるセッション・キーを暗号文作成者に固有の秘密鍵または共通鍵で暗号して生成された第1暗号化セッション・キーおよび暗号文作成者の固有IDである暗号文作成者IDを,受信し,受信した暗号文作成者IDに対応して管理データベースに記憶されている暗号文作成者に固有の公開鍵または共通鍵で,受信した第1暗号化セッション・キーを復号してセッション・キーを得,
得られたセッション・キーを,暗号文実行者IDに対応して管理データベースに記憶されている暗号文作成者に固有の固有鍵で暗号化して第2暗号化セッション・キーを生成し,
生成した第2暗号化セッション・キーを暗号化装置に送信するように鍵管理サーバを制御するプログラム。 - 暗号文作成者に固有の固有IDおよび暗号文作成者に固有の秘密鍵または共通鍵を記憶する暗号化装置とネットワークを通じて接続され,暗号文作成者および復号実行者を含む各ユーザに固有の固有ID,各ユーザに固有の公開鍵または共通鍵,ならびに各ユーザに固有の固有鍵を記憶する管理データベースを備えた鍵管理サーバにネットワークを介して接続され,復号実行者に固有の固有IDおよび復号実行者に固有の秘密鍵または共通鍵を記憶する記憶手段を備えた復号装置を制御するプログラムであり,
請求項13に記載のプログラムによって制御される暗号化装置によって作成される暗号ファイルの入力を受付け,
上記記憶手段に記憶されている固有IDを復号実行者IDとして,復号実行者ID,受付けた暗号ファイル中の第2暗号化セッション・キーおよび暗号文作成者IDを,鍵管理サーバに送信し,
鍵管理サーバから送信される,上記暗号文作成者IDに対応して管理データベースに記憶されている上記暗号化作成者に固有の固有鍵で上記第2暗号化セッション・キーを復号して得られるセッション・キーを上記復号実行者IDに対応して管理データベースに記憶されている復号実行者に固有の公開鍵または共通鍵で暗号化して生成される第3暗号化セッション・キーを,受信し,
受信した第3暗号化セッション・キーを,上記記憶手段に記憶されている復号実行者に固有の秘密鍵または共通鍵で復号してセッション・キーを得,
得られたセッション・キーで暗号ファイルに含まれる暗号文を復号して平文を得るように復号装置を制御するプログラム。 - 検証者に固有の固有IDおよび検証者に固有の第2の鍵を記憶する記憶手段を備えた検証装置とネットワークを通じて接続され,署名者および検証者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵を記憶する管理データベースを備えた鍵管理サーバを制御するプログラムであり,
上記検証装置から送信される,被署名文を署名者に固有の第2の鍵で暗号化して生成される署名文および署名者の固有IDである署名者IDと,検証者の固有IDである検証者IDとを,受信し,
受信した署名者IDに対応して管理データベースに記憶されている署名者に固有の第1の鍵で,受信した署名文を復号して被署名文を得,
得られた被署名文を,受信した上記検証者IDに対応して管理データベースに記憶されている検証者に固有の第1の鍵で暗号化して暗号化被署名文を生成し,
生成した上記暗号化被署名文を上記検証装置に送信するように鍵管理サーバを制御する,プログラム。 - 署名者および検証者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵を記憶する管理データベースを備えた鍵管理サーバとネットワークを介して接続され,検証者に固有の固有IDおよび検証者に固有の第2の鍵を記憶する記憶手段を備えた検証装置を制御するプログラムであり,
被署名文を署名者に固有の第2の鍵で暗号化して生成される署名文,署名者の固有IDである署名者IDおよび上記被署名文の入力を受付け,
上記記憶手段に記憶されている固有IDを検証者IDとして,検証者ID,署名文および署名者IDを,鍵管理サーバに送信し,
鍵管理サーバから送信される,上記署名者IDに対応して管理データベースに記憶されている署名者に固有の第1の鍵で上記署名文を復号して得られる被署名文を検証者IDに対応して管理データベースに記憶されている検証者に固有の第1の鍵で暗号化して生成される暗号化被署名文を,受信し,
受信した暗号化被署名文を,上記記憶手段に記憶されている検証者に固有の第2の鍵で復号して被署名文を得,
得られた被署名文と,受付けた被署名文とを比較して同一であるかどうかを判断するように検証装置を制御する,プログラム。 - 鍵管理サーバに固有の公開鍵を記憶する記憶手段を備えた検証装置とネットワークを通じて接続され,署名者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵ならびに鍵管理サーバに固有の秘密鍵を記憶する管理データベースを備えた鍵管理サーバを制御するプログラムであり,
上記検証装置から送信される,被署名文を署名者に固有の第2の鍵で暗号化して生成される署名文および署名者の固有IDである署名者IDを,受信し,
受信した署名者IDに対応して管理データベースに記憶されている署名者に固有の第1の鍵で,署名文を復号して被署名文を得,
得られた被署名文を,上記管理データベースに記憶されている鍵管理サーバに固有の秘密鍵で暗号化して暗号化被署名文を生成し,
生成された上記暗号化被署名文を上記検証装置に送信するように鍵管理サーバを制御する,プログラム。 - 署名者を含む各ユーザに固有の固有ID,各ユーザに固有の第1の鍵,および鍵管理サーバに固有の秘密鍵を記憶する管理データベースを備えた鍵管理サーバとネットワークを介して接続され,上記鍵管理サーバに固有の公開鍵を記憶する記憶手段を備えた検証装置を制御するプログラムであり,
被署名文を署名者に固有の第2の鍵で暗号化して生成される署名文,署名者の固有IDである署名者ID,および上記被署名文の入力を受付け,
受付けた署名文および署名者IDを鍵管理サーバに送信させ,
鍵管理サーバから送信される,上記署名者IDに対応して管理データベースに記憶されている署名者に固有の第1の鍵で上記署名文を復号して得られる被署名文を管理データベースに記憶されている上記鍵管理サーバに固有の秘密鍵で暗号化して生成される暗号化被署名文を,受信し,
受信した暗号化被署名文を,上記記憶手段に記憶されている上記鍵管理サーバに固有の公開鍵で復号して被署名文を得,
得られた被署名文と,受付けられた被署名文とを比較して同一かどうかを判断するように検証装置を制御する,プログラム。 - 署名者および検証者を含む各ユーザに固有の固有IDおよび各ユーザに固有の第1の鍵を記憶する管理データベースを備えた鍵管理サーバとネットワークを介して接続され,検証者に固有の固有IDおよび検証者に固有の第2の鍵を記憶する記憶手段を備えた検証装置を制御するプログラムであり,
被署名文を一方向性変換処理することによって得られる変換データを署名者に固有の第2の鍵で暗号化して生成される第1認証子,署名者の固有IDである署名者ID,および上記被署名文の入力を受付け,
上記記憶手段に記憶されている固有IDを検証者IDとして,検証者ID,第1認証子および署名者IDを,鍵管理サーバに送信し,
鍵管理サーバから送信される,上記署名者IDに対応して管理データベースに記憶されている署名者に固有の第1の鍵で第1認証子を復号して得られる変換データを検証者IDに対応して管理データベースに記憶されている検証者に固有の第1の鍵で暗号化して生成される第2認証子を,受信し,
受信した第2認証子を,上記記憶手段に記憶されている検証者に固有の第2の鍵で復号して変換データを得,
受付けられた被署名文を上記一方向性変換処理することによって変換データを得,
復号によって得られた変換データと一方向性変換処理によって得られた変換データとを比較して同一かどうかを判断するように検証装置を制御する,プログラム。 - 署名者を含む各ユーザに固有の固有ID,各ユーザに固有の第1の鍵,および鍵管理サーバに固有の秘密鍵を記憶する管理データベースを備えた鍵管理サーバとネットワークを介して接続され,上記鍵管理サーバに固有の公開鍵を記憶する記憶手段を備えた検証装置を制御するプログラムであり,
被署名文を一方向性変換処理することによって得られる変換データを署名者に固有の第2の鍵で暗号化して生成される第1認証子,署名者の固有IDである署名者ID,および上記被署名文の入力を受付け,
第1認証子および署名者IDを鍵管理サーバに送信し,
鍵管理サーバから送信される,上記署名者IDに対応して管理データベースに記憶されている署名者に固有の第1の鍵で第1認証子を復号して得られる変換データを管理データベースに記憶されている鍵管理サーバに固有の秘密鍵で暗号化して生成される第2認証子を,受信し,
受信した第2認証子を,上記記憶手段に記憶されている鍵管理サーバに固有の公開鍵で復号して変換データを得,
受付けられた被署名文を上記一方向性変換処理することによって変換データを得,
復号によって得られた変換データと一方向性変換処理によって得られた変換データとを比較して同一かどうかを判断するように検証装置を制御する,プログラム。 - 上記第1の鍵は公開鍵であり,
上記第2の鍵は上記公開鍵に対応する秘密鍵である,
請求項16から21のいずれか一項に記載のプログラム。 - 上記第1の鍵および第2の鍵は同一の共通鍵である,
請求項16から21のいずれか一項に記載のプログラム。 - 請求項1から5,および13から23のいずれか一項に記載のプログラムを記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003191667A JP3984570B2 (ja) | 2003-02-12 | 2003-07-04 | 署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003033045 | 2003-02-12 | ||
JP2003191667A JP3984570B2 (ja) | 2003-02-12 | 2003-07-04 | 署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004297755A true JP2004297755A (ja) | 2004-10-21 |
JP3984570B2 JP3984570B2 (ja) | 2007-10-03 |
Family
ID=33421342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003191667A Expired - Lifetime JP3984570B2 (ja) | 2003-02-12 | 2003-07-04 | 署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3984570B2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004364188A (ja) * | 2003-06-06 | 2004-12-24 | Ahkun Co Ltd | 暗号システム及びその暗号文処理方法 |
JP2010522488A (ja) * | 2007-03-20 | 2010-07-01 | デムヴィッチ ソフトウェア,リミテッド ライアビリティー カンパニー | 復号鍵を配布するために鍵の取り出しを要求する安全な電子メッセージングシステム |
JP2016019233A (ja) * | 2014-07-10 | 2016-02-01 | パナソニックIpマネジメント株式会社 | 通信システム、通信装置、鍵管理装置、及び通信方法 |
KR20170077588A (ko) * | 2015-12-28 | 2017-07-06 | 주식회사 케이티 | 비화 통화 서비스를 제공하는 서버 및 단말 |
KR101781984B1 (ko) * | 2016-07-04 | 2017-09-26 | 주식회사 케이티 | 도청 및 감청 확인 서비스를 제공하는 서버 및 단말 |
JP2018078592A (ja) * | 2017-12-11 | 2018-05-17 | パナソニックIpマネジメント株式会社 | 通信システム、通信装置、鍵管理装置、及び通信方法 |
JP2022522555A (ja) * | 2020-01-29 | 2022-04-20 | シトリックス・システムズ・インコーポレイテッド | セミトラステッドな中継者を使用したセキュアなメッセージ受け渡し |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09179768A (ja) * | 1995-12-21 | 1997-07-11 | Olympus Optical Co Ltd | ファイル暗号化システム及びファイル復号化システム |
JPH09294120A (ja) * | 1996-04-26 | 1997-11-11 | Hitachi Ltd | 暗号化された共有データのアクセス制御方法及びシステム |
JPH1131127A (ja) * | 1997-04-01 | 1999-02-02 | Tumbleweed Software Corp | ドキュメントデリバリシステム |
JP2000151576A (ja) * | 1993-09-29 | 2000-05-30 | Pumpkin House:Kk | コンピュ―タを用いて暗号化/復号方法を実現するためのプログラム記録媒体 |
JP2002314527A (ja) * | 2001-04-18 | 2002-10-25 | Pumpkin House:Kk | 暗号システムおよびその制御方法,暗号システムにおいて用いられる鍵管理サーバおよびクライアント,ならびにこれらの制御方法 |
WO2002087146A1 (fr) * | 2001-04-18 | 2002-10-31 | Pumpkin House Incorporated | Systeme de chiffrement et procede de commande dudit systeme |
JP2003030056A (ja) * | 2001-07-16 | 2003-01-31 | Nec Corp | 電子情報配布システム及び方法 |
JP2006215922A (ja) * | 2005-02-04 | 2006-08-17 | Quality Kk | 電子ファイル管理システムおよび電子ファイル管理プログラム |
-
2003
- 2003-07-04 JP JP2003191667A patent/JP3984570B2/ja not_active Expired - Lifetime
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000151576A (ja) * | 1993-09-29 | 2000-05-30 | Pumpkin House:Kk | コンピュ―タを用いて暗号化/復号方法を実現するためのプログラム記録媒体 |
JPH09179768A (ja) * | 1995-12-21 | 1997-07-11 | Olympus Optical Co Ltd | ファイル暗号化システム及びファイル復号化システム |
JPH09294120A (ja) * | 1996-04-26 | 1997-11-11 | Hitachi Ltd | 暗号化された共有データのアクセス制御方法及びシステム |
JPH1131127A (ja) * | 1997-04-01 | 1999-02-02 | Tumbleweed Software Corp | ドキュメントデリバリシステム |
JP2002314527A (ja) * | 2001-04-18 | 2002-10-25 | Pumpkin House:Kk | 暗号システムおよびその制御方法,暗号システムにおいて用いられる鍵管理サーバおよびクライアント,ならびにこれらの制御方法 |
WO2002087146A1 (fr) * | 2001-04-18 | 2002-10-31 | Pumpkin House Incorporated | Systeme de chiffrement et procede de commande dudit systeme |
JP2003030056A (ja) * | 2001-07-16 | 2003-01-31 | Nec Corp | 電子情報配布システム及び方法 |
JP2006215922A (ja) * | 2005-02-04 | 2006-08-17 | Quality Kk | 電子ファイル管理システムおよび電子ファイル管理プログラム |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004364188A (ja) * | 2003-06-06 | 2004-12-24 | Ahkun Co Ltd | 暗号システム及びその暗号文処理方法 |
JP2010522488A (ja) * | 2007-03-20 | 2010-07-01 | デムヴィッチ ソフトウェア,リミテッド ライアビリティー カンパニー | 復号鍵を配布するために鍵の取り出しを要求する安全な電子メッセージングシステム |
JP2016019233A (ja) * | 2014-07-10 | 2016-02-01 | パナソニックIpマネジメント株式会社 | 通信システム、通信装置、鍵管理装置、及び通信方法 |
US9654455B2 (en) | 2014-07-10 | 2017-05-16 | Panasonic Intellectual Property Management Co., Ltd. | Communication system, communication device, key management apparatus, and communication method |
KR20170077588A (ko) * | 2015-12-28 | 2017-07-06 | 주식회사 케이티 | 비화 통화 서비스를 제공하는 서버 및 단말 |
KR102314402B1 (ko) | 2015-12-28 | 2021-10-19 | 주식회사 케이티 | 비화 통화 서비스를 제공하는 서버 및 단말 |
KR101781984B1 (ko) * | 2016-07-04 | 2017-09-26 | 주식회사 케이티 | 도청 및 감청 확인 서비스를 제공하는 서버 및 단말 |
JP2018078592A (ja) * | 2017-12-11 | 2018-05-17 | パナソニックIpマネジメント株式会社 | 通信システム、通信装置、鍵管理装置、及び通信方法 |
JP2022522555A (ja) * | 2020-01-29 | 2022-04-20 | シトリックス・システムズ・インコーポレイテッド | セミトラステッドな中継者を使用したセキュアなメッセージ受け渡し |
Also Published As
Publication number | Publication date |
---|---|
JP3984570B2 (ja) | 2007-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101010040B1 (ko) | 파일의 암호화·복호화 방법, 장치, 프로그램 및 이프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
CN102271037B (zh) | 基于在线密钥的密钥保护装置 | |
KR100568233B1 (ko) | 인증서를 이용한 기기 인증 방법 및 상기 방법을 이용하여기기 인증을 수행하는 디지털 컨텐츠 처리 기기 | |
US7353393B2 (en) | Authentication receipt | |
JP3803088B2 (ja) | 暗号システムおよびその制御方法 | |
US7139918B2 (en) | Multiple secure socket layer keyfiles for client login support | |
US8806206B2 (en) | Cooperation method and system of hardware secure units, and application device | |
JP2000124887A (ja) | グループ単位の暗号化・復号方法および署名方法ならびに装置 | |
KR20060045440A (ko) | 패스워드 보호 비밀 데이터의 노출 없이 통신 네트워크을통해 이 비밀 데이터를 복구하는 방법 및 시스템 | |
KR20010072206A (ko) | 공중/개인키 쌍들의 안전한 분배 방법 및 장치 | |
JP2004304304A (ja) | 電子署名生成方法,電子署名検証方法,電子署名生成依頼プログラム,及び電子署名検証依頼プログラム | |
JP2010231404A (ja) | 秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム | |
JPH11298470A (ja) | 鍵の配布方法およびシステム | |
KR20010093472A (ko) | 컨텐츠 파일 암호화 및 복호화 장치 | |
JP5171787B2 (ja) | サインクリプションシステムおよびサインクリプション生成方法 | |
JP3984570B2 (ja) | 署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラム | |
JP4840575B2 (ja) | 端末装置、証明書発行装置、証明書発行システム、証明書取得方法および証明書発行方法 | |
US8307098B1 (en) | System, method, and program for managing a user key used to sign a message for a data processing system | |
JP2003110544A (ja) | 暗復号装置及び方法 | |
JPH11161167A (ja) | 暗号化装置およびその方法ならびに暗号化プログラムを記録した記録媒体 | |
JP6792191B2 (ja) | 情報送信方法、情報処理方法、プログラム、復号方法、プログラム | |
JP2010028689A (ja) | 公開パラメータ提供サーバ、公開パラメータ提供方法、公開パラメータ提供プログラム、暗号化処理実行装置、暗号化処理実行方法、暗号化処理実行プログラム、署名処理実行装置、署名処理実行方法及び署名処理実行プログラム | |
JP2001285286A (ja) | 認証方法、記録媒体、認証システム、端末装置、及び認証用記録媒体作成装置 | |
KR100382880B1 (ko) | 일회성 암호화 방식을 이용한 인증 시스템 및 방법 | |
JP2002063139A (ja) | 端末装置、サーバ装置および端末認証方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070410 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070607 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070706 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100713 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |