(57)【特許請求の範囲】
【請求項１】
公開鍵および秘密鍵と電子証明書を生成する認証局サーバ装置と、署名対象データを取り扱うための端末装置と、前記署名対象データに電子署名を付与するための電子署名サーバ装置とをネットワーク経由で情報伝達可能に接続し、前記認証局サーバ装置と端末装置と電子署名サーバ装置を利用して署名対象データに電子署名を付与する電子署名方法であって、
前記認証局サーバ装置によって公開鍵および秘密鍵と電子証明書を生成し、少なくも前記認証局サーバ装置に予め格納されている電子署名生成プログラムと自己消去プログラムとによって構成されるプログラム本体に前記認証局サーバ装置の内部処理によって前記秘密鍵を埋め込ませて電子署名作成用プログラムを生成させた後、
前記認証局サーバ装置から前記端末装置に前記電子証明書と前記電子署名作成用プログラムを転送して前記端末装置に予め記憶させておき、
前記端末装置に保存されている署名対象データに電子署名を行なう際に、当該署名対象データと前記電子署名作成用プログラムを前記端末装置から前記電子署名サーバ装置に転送し、
電子署名作成用プログラムを受信した電子署名サーバ装置が、当該電子署名作成用プログラムのプログラム本体を実行対象プログラムとして読み込み、前記端末装置から受信した署名対象データを処理対象として前記電子署名作成用プログラムに埋め込まれている前記秘密鍵を用いて前記プログラム本体の電子署名生成プログラムで記述される処理を実行することによって前記署名対象データに電子署名を付与して電子署名済データを作成し、この電子署名サーバ装置から前記端末装置へ前記電子署名済データを転送した後、
前記プログラム本体の自己消去プログラムで記述される処理を前記電子署名サーバ装置が実行することによって、少なくとも、前記プログラム本体および前記電子署名作成用プログラムに埋め込まれていた秘密鍵を前記電子署名サーバ装置上から消去することを特徴とした電子署名方法。
【請求項２】
前記電子署名作成用プログラムのプログラム本体は更に電子署名サーバ装置の適否を判定するための認証プログラムを備え、
前記電子署名サーバ装置は、前記電子署名作成用プログラムのプログラム本体を実行対象プログラムとして読み込んだ後、前記プログラム本体の電子署名生成プログラムで記述される処理を開始する前に前記認証プログラムで記述される処理を実行して電子署名サーバ装置の適否を判定し、前記認証プログラムによって電子署名サーバ装置が適性であると判定された場合に限って前記プログラム本体の電子署名生成プログラムで記述される処理を開始する一方、電子署名サーバ装置が不適であると判定された場合には前記電子署名生成プログラムで記述される処理を非実行とすることを特徴とした請求項１記載の電子署名方法。
【請求項３】
認証局サーバ装置と端末装置と電子署名サーバ装置をネットワーク経由で情報伝達可能に接続して構成される電子署名システムであって、
前記認証局サーバ装置に、公開鍵および秘密鍵を生成する鍵ペア生成手段と、電子証明書を生成する電子証明書発行手段と、少なくも電子署名生成プログラムと自己消去プログラムとによって構成されるプログラム本体を記憶するための記憶手段と、前記記憶手段から読み出した前記プログラム本体に前記鍵ペア生成手段で生成された秘密鍵を埋め込んで電子署名作成用プログラムを生成する電子署名作成用プログラム生成手段と、前記電子証明書発行手段で生成された電子証明書と前記電子署名作成用プログラム生成手段で生成された電子署名作成用プログラムを前記ネットワーク経由で前記端末装置に転送する転送手段を設けると共に、
前記端末装置には、前記認証局サーバ装置から転送された電子証明書と電子署名作成用プログラムを当該端末装置の記憶手段に記憶させるための転送情報受取手段と、当該端末装置の前記記憶手段から既存の署名対象データと前記電子署名作成用プログラムを読み出して前記ネットワーク経由で前記電子署名サーバ装置に転送する転送手段と、前記電子署名サーバ装置から転送された電子署名済データを当該端末装置の前記記憶手段に記憶させるための署名済データ受取手段を設け、
前記電子署名サーバ装置には、前記端末装置から転送された電子署名作成用プログラムのプログラム本体を実行対象プログラムとして読み込み、前記端末装置から転送された署名対象データを処理対象として前記電子署名作成用プログラムに埋め込まれている前記秘密鍵を用いて前記プログラム本体の電子署名生成プログラムで記述される処理を実行することによって前記署名対象データに電子署名を付与して電子署名済データを作成し、この電子署名済データを前記ネットワーク経由で前記端末装置へ転送した後、前記プログラム本体の自己消去プログラムで記述される処理を実行することによって、少なくとも、前記プログラム本体および前記電子署名作成用プログラムに埋め込まれていた秘密鍵を前記電子署名サーバ装置上から消去する処理の実行環境を提供するプログラム実行手段を設けたことを特徴とする電子署名システム。
【請求項４】
認証局サーバ装置と端末装置と電子署名サーバ装置をネットワーク経由で情報伝達可能に接続して構成される電子署名システムを制御するための制御プログラムであって、
前記認証局サーバ装置のマイクロプロセッサを、公開鍵および秘密鍵を生成する鍵ペア生成手段、電子証明書を生成する電子証明書発行手段、少なくも電子署名生成プログラムと自己消去プログラムとによって構成されるプログラム本体を記憶した記憶手段から読み出したプログラム本体に前記鍵ペア生成手段で生成された秘密鍵を埋め込んで電子署名作成用プログラムを生成する電子署名作成用プログラム生成手段、および、前記電子証明書発行手段で生成された電子証明書と前記電子署名作成用プログラム生成手段で生成された電子署名作成用プログラムを前記ネットワーク経由で前記端末装置に転送する転送手段として機能させる認証局サーバ用プログラムと、
前記端末装置のマイクロプロセッサを、前記認証局サーバ装置から転送された電子証明書と電子署名作成用プログラムを当該端末装置の記憶手段に記憶させるための転送情報受取手段、当該端末装置の前記記憶手段から既存の署名対象データと前記電子署名作成用プログラムを読み出して前記ネットワーク経由で前記電子署名サーバ装置に転送する転送手段、および、前記電子署名サーバ装置から転送された電子署名済データを当該端末装置の前記記憶手段に記憶させるための署名済データ受取手段として機能させる端末装置用プログラムと、
前記電子署名サーバ装置のマイクロプロセッサを、前記端末装置から転送された電子署名作成用プログラムのプログラム本体を実行対象プログラムとして読み込み、前記端末装置から転送された署名対象データを処理対象として前記電子署名作成用プログラムに埋め込まれている前記秘密鍵を用いて前記プログラム本体の電子署名生成プログラムで記述される処理を実行することによって前記署名対象データに電子署名を付与して電子署名済データを作成し、この電子署名済データを前記ネットワーク経由で前記端末装置へ転送した後、前記プログラム本体の自己消去プログラムで記述される処理を実行することによって、少なくとも、前記プログラム本体および前記電子署名作成用プログラムに埋め込まれていた秘密鍵を前記電子署名サーバ装置上から消去する処理の実行環境を提供するプログラム実行手段として機能させる電子署名サーバ装置用プログラムとによって構成される電子署名システム用制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク経由で情報伝達可能に接続された認証局サーバ装置と端末装置と電子署名サーバ装置を利用して署名対象データに電子署名を付与する電子署名方法および電子署名システムと其の制御プログラムの改良に関する。
【背景技術】
【０００２】
公知の電子署名システムにあっては、署名対象となるデータ（署名対象データ）に電子署名を付与するための電子署名生成プログラムとユーザに固有の秘密鍵の各々をユーザが使用する端末装置に共に保存し、この端末装置上で署名対象となる既存のデータ（例えば、文書データ等）を処理対象として前述の秘密鍵を用いて電子署名生成プログラムの処理を実行することによって電子署名を添付したデータ（電子署名済データ）を生成するのが一般的であった。
しかしながら、このようなシステム構成では、電子署名生成プログラムの仕様が端末装置のプラットフォームに依存するので、電子署名生成プログラムをプラットフォーム毎に用意する必要があり、電子署名の生成に必要とされる処理を実行する環境に制限が生じる不都合がある。
【０００３】
そこで、このような不都合に対処するため、複数の端末装置と各端末装置毎の秘密鍵を保持したサーバ装置によって電子署名システムを構成し、電子署名の対象とする署名対象データと端末装置を特定する端末特定情報を端末装置からサーバ装置へ送信し、これを受けたサーバ装置が、受信した端末特定情報に対応する秘密鍵を選択し、この秘密鍵を使用して、署名対象データに対し、サーバ装置側に保存されている電子署名生成プログラムを実行することによって電子署名を添付したデータを生成し、この電子署名済のデータをサーバ装置から端末装置に転送するようにした電子署名システムが特許文献１として提案されている。
このような構成によれば、端末装置は自身を特定する端末特定情報のみをサーバ装置に送信すればよく、端末装置側での格別な処理は不要となるので、端末装置側では特別なハードウェアやソフトウェアを必要とせず、例えば、携帯電話等からの操作による電子署名も可能となる。しかし、サーバ装置の側で複数の端末装置の秘密鍵を保持する必要があるため、サーバ装置から幾つもの秘密鍵の情報が不正に取得されるといった恐れがある。
従って、秘密鍵の情報の漏洩を防止した状態でプラットフォームに依存しない電子署名システムを提供することはできない。
【０００４】
一方、複数の端末装置とサーバ装置によって構成される電子署名システムにおいて、端末装置の側で秘密鍵を保持し、電子署名の都度に端末装置からサーバ装置に秘密鍵を送信し、サーバ装置側に保存されている電子署名生成プログラムに従ってサーバ装置が処理を実行してから、サーバ装置側の処理で秘密鍵を消去するようにした電子署名システムが特許文献２として開示されている。
このような構成によれば、サーバ装置から秘密鍵の情報が不正に取得されるといった恐れを軽減することが可能だが、少なくとも、サーバ装置に対しては秘密鍵を開示する必要があり、また、必要とされる処理の終了後にサーバ装置側の処理で秘密鍵が確実に消去されるといった保証はないため、サーバ装置から秘密鍵の情報が漏洩するリスクは依然として残る。
【０００５】
なお、プログラムに各種の情報たとえば署名暗号情報等を埋め込むこと、および、各種の情報を埋め込んだプログラムを他のコンピュータに転送し、かつ、埋め込んだ情報と其のプログラムを利用して当該他のコンピュータ上で必要な処理たとえばウイルスの駆逐等の処理を行なわせるといった技術それ自体に関しては、例えば、特許文献３で既に提案されている。
しかし、特許文献３に記載される発明は、プログラムを実行すべきコンピュータに宛てて署名暗号情報等を埋め込んだプログラムを直接的に転送するものであり、プログラムの転送先となるコンピュータは何れも当該プログラムの実行に適したプラットフォームであることが必須の要件となる。従って、プログラムを転送する最初の端末装置を構成するコンピュータのプラットフォームの相違には対処し得ず、プラットフォームに依存しない処理操作を目的とした本願の発明とでは明らかに発明の目的および技術思想が異なる。
【０００６】
秘密鍵や公開鍵を利用した電子署名に関連する基本的な処理操作に関しては例えば特許文献４等で既に公知である。
【０００７】
また、電子署名プログラムを記憶した電子署名装置をコンピュータに接続して電子署名プログラムを電子署名装置からコンピュータにロードし、この電子署名プログラムを利用してコンピュータ側で電子署名を添付する処理を実行し、更に、処理が完了した時点でコンピュータのメモリから電子署名プログラムを消去するようにした電子署名システムが特許文献５として提案されている。しかし、電子署名プログラムの消去は情報の漏洩を防止することを目的としたものではなく、秘密鍵の消去を示唆する記述も見当たらない。詳細な記載はないが、電子署名プログラムを消去するために必要とされるプログラムは電子署名装置の接続対象となるコンピュータそれ自体に実装されていると理解するのが妥当であろう。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許４０２７７２５号
【特許文献２】特開２００９−２１２７４７号公報
【特許文献３】特開２００３−２０８３２５号公報（段落００４７−００５５）
【特許文献４】特開２００６−５０２０９号公報
【特許文献５】特開２００８−３５０１９号公報（段落０００９，００２７，００３２）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、秘密鍵が漏洩する可能性を高めることなく、かつ、端末装置のプラットフォームに依存せずに署名対象データに電子署名を付与することのできる電子署名方法および電子署名システムと其の制御プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の電子署名方法は、開鍵および秘密鍵と電子証明書を生成する認証局サーバ装置と、署名対象データを取り扱うための端末装置と、前記署名対象データに電子署名を付与するための電子署名サーバ装置とをネットワーク経由で情報伝達可能に接続し、前記認証局サーバ装置と端末装置と電子署名サーバ装置を利用して署名対象データに電子署名を付与する電子署名方法であり、前記目的を達成するため、特に、
前記認証局サーバ装置によって公開鍵および秘密鍵と電子証明書を生成し、少なくも前記認証局サーバ装置に予め格納されている電子署名生成プログラムと自己消去プログラムとによって構成されるプログラム本体に前記認証局サーバ装置の内部処理によって前記秘密鍵を埋め込ませて電子署名作成用プログラムを生成させた後、
前記認証局サーバ装置から前記端末装置に前記電子証明書と前記電子署名作成用プログラムを転送して前記端末装置に予め記憶させておき、
前記端末装置に保存されている署名対象データに電子署名を行なう際に、当該署名対象データと前記電子署名作成用プログラムを前記端末装置から前記電子署名サーバ装置に転送し、
電子署名作成用プログラムを受信した電子署名サーバ装置が、当該電子署名作成用プログラムのプログラム本体を実行対象プログラムとして読み込み、前記端末装置から受信した署名対象データを処理対象として前記電子署名作成用プログラムに埋め込まれている前記秘密鍵を用いて前記プログラム本体の電子署名生成プログラムで記述される処理を実行することによって前記署名対象データに電子署名を付与して電子署名済データを作成し、この電子署名サーバ装置から前記端末装置へ前記電子署名済データを転送した後、
前記プログラム本体の自己消去プログラムで記述される処理を前記電子署名サーバ装置が実行することによって、少なくとも、前記プログラム本体および前記電子署名作成用プログラムに埋め込まれていた秘密鍵を前記電子署名サーバ装置上から消去することを特徴とした構成を有する。
【００１１】
本発明の電子署名システムは、認証局サーバ装置と端末装置と電子署名サーバ装置をネットワーク経由で情報伝達可能に接続して構成される電子署名システムであり、前記と同様の目的を達成するため、特に、
前記認証局サーバ装置に、公開鍵および秘密鍵を生成する鍵ペア生成手段と、電子証明書を生成する電子証明書発行手段と、少なくも電子署名生成プログラムと自己消去プログラムとによって構成されるプログラム本体を記憶するための記憶手段と、前記記憶手段から読み出した前記プログラム本体に前記鍵ペア生成手段で生成された秘密鍵を埋め込んで電子署名作成用プログラムを生成する電子署名作成用プログラム生成手段と、前記電子証明書発行手段で生成された電子証明書と前記電子署名作成用プログラム生成手段で生成された電子署名作成用プログラムを前記ネットワーク経由で前記端末装置に転送する転送手段を設けると共に、
前記端末装置には、前記認証局サーバ装置から転送された電子証明書と電子署名作成用プログラムを当該端末装置の記憶手段に記憶させるための転送情報受取手段と、当該端末装置の前記記憶手段から既存の署名対象データと前記電子署名作成用プログラムを読み出して前記ネットワーク経由で前記電子署名サーバ装置に転送する転送手段と、前記電子署名サーバ装置から転送された電子署名済データを当該端末装置の前記記憶手段に記憶させるための署名済データ受取手段を設け、
前記電子署名サーバ装置には、前記端末装置から転送された電子署名作成用プログラムのプログラム本体を実行対象プログラムとして読み込み、前記端末装置から転送された署名対象データを処理対象として前記電子署名作成用プログラムに埋め込まれている前記秘密鍵を用いて前記プログラム本体の電子署名生成プログラムで記述される処理を実行することによって前記署名対象データに電子署名を付与して電子署名済データを作成し、この電子署名済データを前記ネットワーク経由で前記端末装置へ転送した後、前記プログラム本体の自己消去プログラムで記述される処理を実行することによって、少なくとも、前記プログラム本体および前記電子署名作成用プログラムに埋め込まれていた秘密鍵を前記電子署名サーバ装置上から消去する処理の実行環境を提供するプログラム実行手段を設けたことを特徴とする構成を有する。
【００１２】
本発明の電子署名システム用制御プログラムは、認証局サーバ装置と端末装置と電子署名サーバ装置をネットワーク経由で情報伝達可能に接続して構成される電子署名システムを制御するための制御プログラムであり、前記と同様の目的を達成するため、特に、
前記認証局サーバ装置のマイクロプロセッサを、公開鍵および秘密鍵を生成する鍵ペア生成手段、電子証明書を生成する電子証明書発行手段、少なくも電子署名生成プログラムと自己消去プログラムとによって構成されるプログラム本体を記憶した記憶手段から読み出したプログラム本体に前記鍵ペア生成手段で生成された秘密鍵を埋め込んで電子署名作成用プログラムを生成する電子署名作成用プログラム生成手段、および、前記電子証明書発行手段で生成された電子証明書と前記電子署名作成用プログラム生成手段で生成された電子署名作成用プログラムを前記ネットワーク経由で前記端末装置に転送する転送手段として機能させる認証局サーバ装置用プログラムと、
前記端末装置のマイクロプロセッサを、前記認証局サーバ装置から転送された電子証明書と電子署名作成用プログラムを当該端末装置の記憶手段に記憶させるための転送情報受取手段、当該端末装置の前記記憶手段から既存の署名対象データと前記電子署名作成用プログラムを読み出して前記ネットワーク経由で前記電子署名サーバ装置に転送する転送手段、および、前記電子署名サーバ装置から転送された電子署名済データを当該端末装置の前記記憶手段に記憶させるための署名済データ受取手段として機能させる端末装置用プログラムと、
前記電子署名サーバ装置のマイクロプロセッサを、前記端末装置から転送された電子署名作成用プログラムのプログラム本体を実行対象プログラムとして読み込み、前記端末装置から転送された署名対象データを処理対象として前記電子署名作成用プログラムに埋め込まれている前記秘密鍵を用いて前記プログラム本体の電子署名生成プログラムで記述される処理を実行することによって前記署名対象データに電子署名を付与して電子署名済データを作成し、この電子署名済データを前記ネットワーク経由で前記端末装置へ転送した後、前記プログラム本体の自己消去プログラムで記述される処理を実行することによって、少なくとも、前記プログラム本体および前記電子署名作成用プログラムに埋め込まれていた秘密鍵を前記電子署名サーバ装置上から消去する処理の実行環境を提供するプログラム実行手段として機能させる電子署名サーバ装置用プログラムとによって構成される。
【発明の効果】
【００１３】
本発明の電子署名方法および電子署名システムと其の制御プログラムは、電子署名生成プログラムと自己消去プログラムを含むプログラム本体に端末装置に固有の秘密鍵を埋め込んで生成した電子署名作成用プログラムを認証局サーバ装置から端末装置に転送して端末装置に予め記憶させておき、端末装置に保存されている署名対象データに電子署名を行なう際に、当該署名対象データと電子署名作成用プログラムを端末装置から電子署名サーバ装置に転送し、電子署名作成用プログラムを受信した電子署名サーバ装置が、当該電子署名作成用プログラムのプログラム本体を実行対象プログラムとして読み込み、端末装置から受信した署名対象データを処理対象として電子署名作成用プログラムに埋め込まれている秘密鍵を用いてプログラム本体の電子署名生成プログラムで記述される処理を実行することによって署名対象データに電子署名を付与して電子署名済データを作成し、この電子署名サーバ装置から端末装置へ電子署名済データを転送するようにしているので、端末装置に必要とされる機能は、単に、認証局サーバ装置から送信される電子署名作成用プログラムを受け取って記憶する機能と、署名対象データと電子署名作成用プログラムを電子署名サーバ装置に転送する機能、および、電子署名済データを電子署名サーバ装置から受け取る機能、すなわち、バイナリーデータの送受信と記憶に必要とされる機能だけでよく、署名対象データに電子署名を付与するための処理操作は全て電子署名サーバ装置によって行われることになるので、端末装置を構成するプラットフォームの仕様の相違による制限はなく、バイナリーデータの送受信が可能な端末装置であれば、どのような端末装置であっても電子署名システムを利用して確実に署名対象データに電子署名を付与することができる。
【００１４】
また、電子署名生成プログラムと自己消去プログラムからなるプログラム本体は電子署名サーバ装置には保存されず、署名対象データに電子署名を行なう必要が生じる度に、署名対象データと共に端末装置から電子署名サーバ装置に転送され、電子署名作成用プログラムを受信した電子署名サーバ装置が当該電子署名作成用プログラムのプログラム本体を実行対象プログラムとして読み込んで、電子署名の付与に必要とされる処理と出来上がった電子署名済データを端末に転送する処理を実行し、更には、プログラム本体および電子署名作成用プログラムに埋め込まれている秘密鍵を電子署名サーバ装置から消去する処理も、端末装置から転送されたプログラム本体の自己消去プログラムに従って実行されるようになっているので、電子署名生成プログラムを電子署名サーバ装置側で改竄したり電子署名作成用プログラムに埋め込まれた秘密鍵を電子署名サーバ装置側の処理で保存したり抽出したりすることも著しく困難となり、電子署名サーバ装置の不正使用で秘密鍵が漏洩するといった危険性が軽減する。
【００１５】
つまり、電子署名作成用プログラムに埋め込まれた秘密鍵や電子署名生成プログラムを電子署名サーバ装置それ自体が特に認識することはなく、電子署名サーバ装置は、単に、電子署名作成用プログラムに埋め込まれた秘密鍵を利用して電子署名生成プログラムと自己消去プログラムを１パッケージの処理として自己完結的に実行するだけであるから、秘密鍵の秘匿性が高い。
【図面の簡単な説明】
【００１６】
【図１】一実施形態の電子署名システムの構成について簡略化して示したブロック図である。
【図２】同実施形態の認証局サーバ装置の構成の概略について示した機能ブロック図である。
【図３】同実施形態の認証局サーバ装置のハードウェア構成の概略について示したブロック図である。
【図４】同実施形態の端末装置の構成の概略について示した機能ブロック図である。
【図５】同実施形態の端末装置のハードウェア構成の概略について示したブロック図である。
【図６】同実施形態の電子署名サーバ装置の構成の概略について示した機能ブロック図である。
【図７】同実施形態の電子署名サーバ装置のハードウェア構成の概略について示したブロック図である。
【図８】専ら認証局サーバ装置の内部処理と認証局サーバ装置から端末装置へのプログラムやデータの転送処理について示した処理動作説明図である。
【図９】専ら端末装置から電子署名サーバ装置へのプログラムやデータの転送処理と電子署名サーバ装置の内部処理について示した処理動作説明図である。
【図１０】電子署名作成用プログラムのプログラム本体によって制御される電子署名サーバ装置のマイクロプロセッサの内部処理について簡略化して示した処理動作説明図である。
【図１１】電子署名作成用プログラムの構成について示した概念図である。
【発明を実施するための形態】
【００１７】
次に、図面を参照して本発明の電子署名方法を適用した一実施形態の電子署名システムと其の制御プログラムについて具体的に説明する。
【００１８】
図１は一実施形態の電子署名システム１の構成について簡略化して示したブロック図である。
【００１９】
この電子署名システム１は、公開鍵および秘密鍵と電子証明書を生成する認証局サーバ装置２と、署名対象データを取り扱うための端末装置３と、端末装置３からの要求に応えて署名対象データに電子署名を付与するための電子署名サーバ装置４と、これらの装置を情報伝達可能に接続するインターネット等のネットワーク５によって構成される。
【００２０】
図２は認証局サーバ装置２の構成の概略について示した機能ブロック図である。
【００２１】
認証局サーバ装置２は、各端末装置３毎の鍵ペアすなわち各端末装置３毎の公開鍵と秘密鍵を生成する鍵ペア生成手段Ａ１と、鍵ペア生成手段Ａ１で生成された公開鍵を元に電子証明書を発行する電子証明書発行手段Ａ２と、少なくも電子署名生成プログラムと自己消去プログラムとを含むプログラム本体を記憶するための記憶手段Ａ３と、記憶手段Ａ３から読み出したプログラム本体に鍵ペア生成手段Ａ１で生成された秘密鍵を埋め込んで電子署名作成用プログラムを生成する電子署名作成用プログラム生成手段Ａ４、および、電子証明書発行手段Ａ２で生成された電子証明書をネットワーク５経由で端末装置３に転送する電子証明書転送手段Ａ５と、電子署名作成用プログラム生成手段Ａ４で生成された電子署名作成用プログラムをネットワーク５経由で端末装置３に転送する電子署名作成用プログラム転送手段Ａ６を備える。
【００２２】
この実施形態においては、電子署名生成プログラムと自己消去プログラムの他、更に、電子署名サーバ装置４の真贋を判定するための認証プログラムを加えてプログラム本体とし、このプログラム本体を記憶手段Ａ３に格納しているが、認証プログラムの組み込みは必ずしも必須ではない。また、これに合わせて、この実施形態では、適正な電子署名サーバ装置４を特定するための認証情報として電子署名サーバ装置４の電子証明書を記憶手段Ａ３に格納し、電子署名作成用プログラム生成手段Ａ４には、この認証情報をプログラム本体に埋め込む機能を持たせている。
【００２３】
図３に示される通り、認証局サーバ装置２は通常のパーソナルコンピュータやワークステーション等によって構成されるもので、演算処理用のマイクロプロセッサ６と、マイクロプロセッサ６の起動プログラムを格納したＲＯＭ７と、各種のパラメータ等を記憶するための不揮発性メモリ８と、演算データ等の一時記憶に利用されるＲＡＭ９と、大容量記憶装置として機能するハードディスクドライブ１０を備え、マイクロプロセッサ６の入出力回路１１には、マン・マシン・インターフェイスとして機能するキーボード１２およびマウス１３とモニタ１４が接続されている。インターフェイス１５はネットワーク５に接続するためのインターフェイスである。
【００２４】
図２に示される鍵ペア生成手段Ａ１，電子証明書発行手段Ａ２，電子署名作成用プログラム生成手段Ａ４，電子証明書転送手段Ａ５，電子署名作成用プログラム転送手段Ａ６の各機能は、認証局サーバ装置２の起動時にハードディスクドライブ１０からＲＡＭ９に実行対象プログラムとして読み込まれる認証局サーバ用プログラムと当該認証局サーバ用プログラムに従って駆動制御されるマイクロプロセッサ６によって実現される。また、ハードディスクドライブ１０は、電子署名生成プログラムと自己消去プログラムと認証プログラムとによって構成されるプログラム本体を記憶するための記憶手段Ａ３として機能する。
【００２５】
電子署名生成プログラムは、指定された署名対象データに指定された秘密鍵を用いて署名生成アルゴリズムの処理を施すためのプログラム、また、自己消去プログラムはプログラムやデータをＲＡＭやハードディスクドライブ上から消去するためのプログラム、認証プログラムは電子署名サーバ装置４を特定するための認証情報となる電子署名サーバ装置４の電子証明書を利用して電子署名サーバ装置４の真贋を判定するためのプログラムで、何れも其の構成自体は公知であり、これらのプログラム併せたプログラム本体が、認証局サーバ装置２の記憶手段Ａ３として機能するハードディスクドライブ１０に予め格納されているものとする。
【００２６】
図４は端末装置３の構成の概略について示した機能ブロック図である。
【００２７】
端末装置３は、認証局サーバ装置２から転送された電子証明書を受け取って当該端末装置３の電子証明書用記憶手段Ｂ１に記憶させるための証明書用転送情報受取手段Ｂ２と、認証局サーバ装置２から転送された電子署名作成用プログラムを受け取って当該端末装置３の電子署名作成プログラム用記憶手段Ｂ３に記憶させるためのプログラム用転送情報受取手段Ｂ４と、当該端末装置３のデータ記憶手段Ｂ５から既存の署名対象データを読み出してネットワーク５経由で電子署名サーバ装置４に転送する署名対象データ転送手段Ｂ６と、電子署名作成プログラム用記憶手段Ｂ３から電子署名作成用プログラムを読み出してネットワーク５経由で電子署名サーバ装置４に転送するプログラム転送手段Ｂ７と、電子署名サーバ装置４から転送された電子署名済データを当該端末装置３の署名済データ記憶手段Ｂ８に記憶させるための署名済データ受取手段Ｂ９を備える。
【００２８】
図５に示される通り、端末装置３は通常のパーソナルコンピュータ等によって構成されるもので、演算処理用のマイクロプロセッサ１６と、マイクロプロセッサ１６の起動プログラムを格納したＲＯＭ１７と、各種のパラメータ等を記憶するための不揮発性メモリ１８と、演算データ等の一時記憶に利用されるＲＡＭ１９と、大容量記憶装置として機能するハードディスクドライブ２０を備え、マイクロプロセッサ１６の入出力回路２１には、マン・マシン・インターフェイスとして機能するキーボード２２およびマウス２３とモニタ２４が接続されている。インターフェイス２５はネットワーク５に接続するためのインターフェイスである。
【００２９】
図４に示される証明書用転送情報受取手段Ｂ２，プログラム用転送情報受取手段Ｂ４，署名対象データ転送手段Ｂ６，プログラム転送手段Ｂ７，署名済データ受取手段Ｂ９の各機能は、端末装置３の署名済データ受取手段Ｂ９に保存されている署名対象データを読み出して電子署名を行なう際に、ハードディスクドライブ２０からＲＡＭ１９に実行対象プログラムとして読み込まれる端末装置用プログラムと当該端末装置用プログラムに従って駆動制御されるマイクロプロセッサ１６によって実現される。また、ハードディスクドライブ２０は、電子証明書用記憶手段Ｂ１，電子署名作成プログラム用記憶手段Ｂ３，データ記憶手段Ｂ５，署名済データ記憶手段Ｂ８として機能する。
【００３０】
電子署名の対象となる署名対象データは、端末装置３にインストールされているアプリケーションプログラムを利用して作成されたテキストデータや画像データ等であってもよいし、あるいは、他の装置から読み込ませたテキストデータや画像データ等であってもよく、データ記憶手段Ｂ５として機能するハードディスクドライブ２０に保存されているデータ、すなわち、マイクロプロセッサ１６による読み込み可能なデータであれば、どのようなものであっても構わない。
【００３１】
図６は電子署名サーバ装置４の構成の概略について示した機能ブロック図である。
【００３２】
電子署名サーバ装置４は、端末装置３から転送された電子署名作成用プログラムを受け取るための電子署名作成用プログラム受取手段Ｃ１と、端末装置３から転送された署名対象データを受け取るための署名対象データ受取手段Ｃ２を備える。
また、電子署名サーバ装置４は、電子署名作成用プログラム受取手段Ｃ１が受け取った電子署名作成用プログラムのプログラム本体を実行対象プログラムとし、署名対象データ受取手段Ｃ２が受け取った署名対象データを処理の対象として、この電子署名作成用プログラムに埋め込まれている秘密鍵を用いて、このプログラム本体の電子署名生成プログラムで記述される処理を実行することによって署名対象データに電子署名を付与して電子署名済データを作成し、この電子署名済データをネットワーク５経由で端末装置３へ転送した後、このプログラム本体の自己消去プログラムで記述される処理を実行することによって、少なくともプログラム本体と電子署名作成用プログラムに埋め込まれていた秘密鍵を電子署名サーバ装置４上の各種の記憶手段から消去する処理をマイクロプロセッサ２６によって実行させる環境を提供するプログラム実行手段Ｃ３を備える。
【００３３】
図７に示される通り、電子署名サーバ装置４は通常のパーソナルコンピュータやワークステーション等によって構成されるもので、演算処理用のマイクロプロセッサ２６と、マイクロプロセッサ２６の起動プログラムを格納したＲＯＭ２７と、各種のパラメータ等を記憶するための不揮発性メモリ２８と、演算データ等の一時記憶に利用されるＲＡＭ２９と、大容量記憶装置として機能するハードディスクドライブ３０を備え、マイクロプロセッサ２６の入出力回路３１には、マン・マシン・インターフェイスとして機能するキーボード３２およびマウス３３とモニタ３４が接続されている。インターフェイス３５はネットワーク５に接続するためのインターフェイスである。
【００３４】
図６に示される電子署名作成用プログラム受取手段Ｃ１および署名対象データ受取手段Ｃ２とプログラム実行手段Ｃ３の各機能は、電子署名サーバ装置４のハードディスクドライブ３０からＲＡＭ２９に読み込まれる電子署名サーバ装置用プログラムと当該端末装置用プログラムに従って駆動制御されるマイクロプロセッサ２６によって実現される。
【００３５】
但し、プログラム実行手段Ｃ３は、電子署名作成用プログラム受取手段Ｃ１が受け取った電子署名作成用プログラムのプログラム本体、つまり、認証プログラムと電子署名生成プログラムと自己消去プログラムの各々に記述される処理の実行環境を提供するものに過ぎず、実際に認証処理や電子署名の生成やプログラム本体および秘密鍵の消去等に関わる処理が実行されるためには、電子署名作成用プログラム受取手段Ｃ１が端末装置３から電子署名作成用プログラムを受け取り、この電子署名作成用プログラムのプログラム本体すなわち認証プログラムと電子署名生成プログラムと自己消去プログラムとが実行対象プログラムとしてＲＡＭ２９に読み込まれている必要がある。
つまり、電子署名サーバ装置４のハードディスクドライブ３０から読み出された電子署名サーバ装置用プログラムで制御されるプログラム実行手段Ｃ３が実際に行なう処理は、電子署名作成用プログラム受取手段Ｃ１が端末装置３から受け取った電子署名作成用プログラムのプログラム本体を実行対象プログラムとしてＲＡＭ２９に展開する処理のみである。
【００３６】
次に、本実施形態における電子署名システム１の全体的な処理動作について具体的に説明する。
【００３７】
図８は専ら認証局サーバ装置２の内部処理と認証局サーバ装置２から端末装置３へのプログラムやデータの転送処理について示した処理動作説明図、図９は専ら端末装置３から電子署名サーバ装置４へのプログラムやデータの転送処理と電子署名サーバ装置４の内部処理について示した処理動作説明図、図１０は電子署名作成用プログラムのプログラム本体によって制御される電子署名サーバ装置４のマイクロプロセッサ２６の処理動作について簡略化して示した処理動作説明図、図１１は電子署名作成用プログラムの構成の概略について示した概念図である。
【００３８】
最初に、端末装置３からの入力操作で署名対象データに電子署名を施せるようにするための前処理について図８と図１１を参照して説明する。
【００３９】
まず、認証局サーバ装置２の鍵ペア生成手段Ａ１として機能するマイクロプロセッサ６が各端末装置３毎の鍵ペアすなわち各端末装置３毎の公開鍵と秘密鍵を生成し（図８中のステップａ１）、電子証明書発行手段Ａ２として機能するマイクロプロセッサ６が、鍵ペア生成手段Ａ１で生成された鍵ペアのうちの公開鍵を元にして各端末装置３毎の電子証明書を発行し（図８中のステップａ２）、電子証明書転送手段Ａ５として機能するマイクロプロセッサ６が、インターフェイス１５およびネットワーク５を経由して各電子証明書を対応する端末装置３に転送し（図８中のステップａ３）、端末装置３の証明書用転送情報受取手段Ｂ２として機能するマイクロプロセッサ１６が当該電子証明書を受け取り、この電子証明書を、端末装置３の電子証明書用記憶手段Ｂ１として機能するハードディスクドライブ２０に記憶させる（図８中のステップｂ１）。
【００４０】
一方、認証局サーバ装置２の電子署名作成用プログラム生成手段Ａ４として機能するマイクロプロセッサ６は、認証局サーバ装置２の記憶手段Ａ３として機能するハードディスクドライブ１０から電子署名生成プログラムと自己消去プログラムおよび認証プログラムによって構成されるプログラム本体を読み込んでＲＡＭ９上に展開し、更に、適正な電子署名サーバ装置４を特定する情報としてハードディスクドライブ１０に予め登録されている電子署名サーバ装置４の認証情報つまり電子署名サーバ装置４の電子証明書を読み出して、この認証情報をＲＡＭ９上のプログラム本体に埋め込む（図８中のステップａ４）。
【００４１】
そして、更に、認証局サーバ装置２の電子署名作成用プログラム生成手段Ａ４として機能するマイクロプロセッサ６が、鍵ペア生成手段Ａ１で生成された秘密鍵をＲＡＭ９上のプログラム本体、すなわち、当該時点にあっては既に認証情報の埋め込みが完了しているプログラム本体に埋め込んで、電子署名作成用プログラムを生成する（図８中のステップａ５）。
【００４２】
つまり、この実施形態における電子署名作成用プログラムＤは、図１１に示すように、認証プログラムＥ１と電子署名生成プログラムＥ２と自己消去プログラムＥ３とによって構成されるプログラム本体Ｅに、ステップａ３の処理で電子証明書の送信対象となった端末装置３の秘密鍵Ｆ、および、適正な電子署名サーバ装置４の認証情報Ｇ（電子署名サーバ装置４の電子証明書）を埋め込んで構成されたものである。
【００４３】
次いで、認証局サーバ装置２の電子署名作成用プログラム転送手段Ａ６として機能するマイクロプロセッサ６が、インターフェイス１５およびネットワーク５を経由して当該電子署名作成用プログラムＤを対応する端末装置３つまりステップａ３の処理で電子証明書の送信対象となった端末装置３に転送し（図８中のステップａ６）、端末装置３のプログラム用転送情報受取手段Ｂ４として機能するマイクロプロセッサ１６が当該電子署名作成用プログラムＤを受け取り、この電子署名作成用プログラムＤを端末装置３の電子署名作成プログラム用記憶手段Ｂ３として機能するハードディスクドライブ２０に記憶させる（図８中のステップｂ２）。
【００４４】
なお、認証局サーバ装置２から端末装置３への電子証明書や電子署名作成用プログラムＤの受け渡し作業には、ネットワーク５に代えて可搬性の記憶媒体等を利用することも可能である。
【００４５】
次に、端末装置３からの入力操作で署名対象データに電子署名を施す際の処理について図９を参照して説明する。
【００４６】
まず、端末装置３は、電子署名サーバ装置４とのセキュアな通信のためにＳＳＬ（Secure Socket Layer）サーバ認証を実施して（図９中のステップｃ１）、電子署名サーバ装置４とのＳＳＬセッションを確立する（図９中のステップｃ２）。
【００４７】
次いで、端末装置３のプログラム転送手段Ｂ７として機能するマイクロプロセッサ１６が、端末装置３の電子署名作成プログラム用記憶手段Ｂ３として機能するハードディスクドライブ２０から電子署名作成用プログラムＤ、すなわち、前述のステップｂ２の処理で認証局サーバ装置２から受け取った電子署名作成用プログラムＤを読み出し、この電子署名作成用プログラムＤをインターフェイス２５およびネットワーク５を経由して電子署名サーバ装置４に転送し（図９中のステップｃ３）、電子署名サーバ装置４の電子署名作成用プログラム受取手段Ｃ１として機能するマイクロプロセッサ２６が当該電子署名作成用プログラムＤを受け取り、この電子署名作成用プログラムＤを電子署名サーバ装置４のハードディスクドライブ３０に記憶する（図９中のステップｄ１）。
【００４８】
一方、端末装置３の署名対象データ転送手段Ｂ６として機能するマイクロプロセッサ１６は、端末装置３のデータ記憶手段Ｂ５として機能するハードディスクドライブ２０からユーザが電子署名を施す対象として選択した既存の署名対象データを読み出し、この署名対象データをインターフェイス２５およびネットワーク５を経由して電子署名サーバ装置４に転送し（図９中のステップｃ４）、電子署名サーバ装置４の署名対象データ受取手段Ｃ２として機能するマイクロプロセッサ２６が当該署名対象データを受け取り、この署名対象データを電子署名サーバ装置４のハードディスクドライブ３０に記憶する（図９中のステップｄ２）。
【００４９】
次いで、電子署名サーバ装置４のプログラム実行手段Ｃ３として機能するマイクロプロセッサ２６が、電子署名作成用プログラム受取手段Ｃ１が受け取った電子署名作成用プログラムＤのプログラム本体Ｅをハードディスクドライブ３０から読み出し、その認証プログラムＥ１と電子署名生成プログラムＥ２と自己消去プログラムＥ３を実行対象プログラムとしてＲＡＭ２９に展開し、更に、署名対象データ受取手段Ｃ２が受け取った署名対象データを処理対象としてハードディスクドライブ３０からＲＡＭ２９に読み込み、プログラム本体Ｅの実行環境を整える（図９中のステップｄ３）。
【００５０】
次いで、電子署名サーバ装置４のマイクロプロセッサ２６が、電子署名サーバ装置４の真贋を判定するための認証プログラムＥ１と、ステップｄ２の処理で端末装置３から受け取った署名対象データを処理対象として電子署名作成用プログラムＤに埋め込まれた秘密鍵Ｆすなわち署名対象データの送信元である端末装置３に固有の秘密鍵Ｆを用いて署名生成アルゴリズムの処理を施す電子署名生成プログラムＥ２と、プログラム本体Ｅおよび秘密鍵Ｆを電子署名サーバ装置４のハードディスクドライブ３０およびＲＡＭ２９から消去するための自己消去プログラムＥ３を此の順に実行し（図９中のステップｄ４）、電子署名生成プログラムＥ２の実行によって得られた電子署名済データすなわち端末装置３から受け取った署名対象データに電子署名を施したデータを、インターフェイス３５およびネットワーク５を経由して対応する端末装置３すなわちステップｄ１やステップｄ２の処理で電子署名作成用プログラムＤや署名対象データを送信してきた端末装置３に転送し（図９中のステップｄ５）、端末装置３の署名済データ受取手段Ｂ９として機能するマイクロプロセッサ１６が当該電子署名済データを受け取り、この電子署名済データを端末装置３の署名済データ記憶手段Ｂ８として機能するハードディスクドライブ２０に記憶させる（図９中のステップｃ５）。
【００５１】
ここで、電子署名サーバ装置４が端末３から受け取った署名対象データに対して同じく端末３から受け取った電子署名作成用プログラムＤを利用して電子署名を行なう際のマイクロプロセッサ２６の処理動作である図９中のステップｄ４の処理について図１０を参照して更に詳細に説明する。
【００５２】
電子署名作成用プログラムＤのプログラム本体Ｅを構成する認証プログラムＥ１および電子署名生成プログラムＥ２と自己消去プログラムＥ３を実行対象プログラムとしてＲＡＭ２９に読み込んで処理を開始したマイクロプロセッサ２６は、まず、認証プログラムＥ１を実行する。
この処理は、電子署名作成用プログラムＤに埋め込まれている電子署名サーバ装置４の認証情報Ｇすなわち電子署名サーバ装置４の電子証明書を読み込んで電子署名サーバ装置４の秘密鍵で暗号化し、暗号化されたデータを電子署名サーバ４の公開鍵で再び復号して、電子署名作成用プログラムＤに埋め込まれていた当初の認証情報Ｇと一致するか否かを判定する処理である。
そして、一致した場合には、認証プログラムＥ１で制御されるマイクロプロセッサ２６が、此の電子署名サーバ４は適切な電子署名サーバであると見做して次の処理に移行する一方、一致しない場合には、以降の処理を実行せずに強制終了とし、インターフェイス３５およびネットワーク５を経由して対応する端末装置３つまりステップｄ１やステップｄ２の処理で電子署名作成用プログラムＤや署名対象データを送信してきた端末装置３に対してエラー信号を転送して、署名対象データに電子署名を施す処理がキャンセルされたことを端末装置３に知らせ、端末装置３側の処理でモニタ２４にアラートメッセージを表示させる（以上、図１０中のステップｅ１）。
ここでは、電子署名サーバ装置４の電子証明書によって構成される認証情報Ｇを利用して電子署名サーバ装置４の認証処理を行なう例について述べたが、この時点でランダムな値を生成し、この値を認証情報Ｇと同様に利用して上記と同様に暗号化と復号の処理を行なって電子署名サーバ４の適否を判定してもよい。
【００５３】
次いで、電子署名サーバ装置４のマイクロプロセッサ２６は、署名対象となるデータつまり署名対象データ受取手段Ｃ２が端末装置３から受け取った署名対象データを電子署名サーバ装置４のＲＡＭ２９から読み込み（図１０中のステップｆ１，ステップｅ２）、この署名対象データに対し、電子署名作成用プログラムＤに埋め込まれている端末装置３に固有の秘密鍵Ｆを用いて電子署名生成プログラムＥ２で記述される処理を実行し（図１０中のステップｅ３）、公知の署名生成アルゴリズムによって電子署名を施した電子署名済データを得て（図１０中のステップｅ４）、この電子署名済データを端末装置３に転送すべきデータとして電子署名サーバ装置４のＲＡＭ２９に一時記憶させる（図１０中のステップｅ５，ステップｆ２）。
この電子署名済データは既に述べた手続により、電子署名サーバ装置４から対応する端末装置３に転送され、端末装置３の署名済データ記憶手段Ｂ８として機能するハードディスクドライブ２０に記憶される。ここでいう対応する端末装置３は、ステップｄ１やステップｄ２の処理で電子署名作成用プログラムＤや署名対象データを送信してきた端末装置３である。
【００５４】
そして、電子署名サーバ装置４のマイクロプロセッサ２６は、最終的に、自己消去プログラムＥ３で記述される処理を実行することにより、この時点で電子署名サーバ装置４のＲＡＭ２９やハードディスクドライブ３０に記憶されているプログラム本体Ｅすなわち認証プログラムＥ１および電子署名生成プログラムＥ２と秘密鍵Ｆおよび認証情報Ｇを纏めて電子署名サーバ装置４のハードディスクドライブ３０およびＲＡＭ２９から消去する（図１０中のステップｅ６）。
【００５５】
以上に述べた通り、この実施形態では、電子署名生成プログラムＥ２と自己消去プログラムＥ３と認証プログラムＥ１とによって構成されるプログラム本体Ｅに端末装置３に固有の秘密鍵を埋め込んで生成した電子署名作成用プログラムＤを認証局サーバ装置２から端末装置３に転送して端末装置３の電子署名作成プログラム用記憶手段Ｂ３として機能するハードディスクドライブ２０に予め記憶させておき、端末装置３のデータ記憶手段Ｂ５として機能するハードディスクドライブ２０に保存されている署名対象データに電子署名を行なう際に、署名の対象とする既存のデータと電子署名作成用プログラムＤを端末装置３のデータ記憶手段Ｂ５および電子署名作成プログラム用記憶手段Ｂ３として機能するハードディスクドライブ２０から読み出して端末装置３から電子署名サーバ装置４に転送し、これを受信した電子署名サーバ装置４が、電子署名作成用プログラムＤのプログラム本体Ｅを実行対象プログラムとして読み込み、端末装置３から受信した署名対象データを処理対象として電子署名作成用プログラムＤに埋め込まれている当該端末装置３の秘密鍵Fを用いてプログラム本体Ｅの電子署名生成プログラムＥ２で記述される処理を実行することによって署名対象データに電子署名を付与して電子署名済データを作成し、この電子署名サーバ装置４から対応する端末装置３へ電子署名済データを転送するようにしている。
【００５６】
従って、端末装置３に必須とされる機能は、単に、認証局サーバ装置２から送信される電子署名作成用プログラムＤや当該端末装置３に対応した電子証明書を受け取って記憶する機能と、署名対象データと電子署名作成用プログラムＤを電子署名サーバ装置４に転送する機能、および、電子署名済のデータを電子署名サーバ装置４から受け取る機能のみでよい。
【００５７】
このように、端末装置３に必須とされる機能はバイナリーデータからなる電子証明書や電子署名作成用プログラムＤの送受信と記憶に必要とされる機能だけでよく、端末装置３が電子署名作成用プログラムＤの構造や内容を認識する必要は全くなく、署名対象データに電子署名を付与するための処理操作の全ては電子署名サーバ装置４によって行われることになるので、端末装置３を構成するプラットフォームの仕様の相違による制限はなく、バイナリーデータの送受信が可能な端末装置３であれば、どのような端末装置であっても電子署名システム１、特に、電子署名サーバ装置４を利用して確実に署名対象データに電子署名を付与することができる。
【００５８】
また、電子署名生成プログラムＥ２と自己消去プログラムＥ３を含むプログラム本体Ｅは電子署名サーバ装置４には保存されず、署名対象データに電子署名を行なう必要が生じる度に、署名対象データと共に端末装置３から電子署名サーバ装置４に転送され、電子署名作成用プログラムＤを受信した電子署名サーバ装置４が電子署名作成用プログラムＤのプログラム本体Ｅを実行対象プログラムとして読み込んで、電子署名の付与に必要とされる電子署名生成プログラムＥ２の処理と出来上がった電子署名済データを端末３に転送する処理を実行し、更には、プログラム本体Ｅおよび電子署名作成用プログラムＤに埋め込まれている端末装置３の秘密鍵Ｆを電子署名サーバ装置４の記憶手段であるハードディスクドライブ３０およびＲＡＭ２９から消去する処理も、端末装置３から転送されたプログラム本体Ｅの自己消去プログラムＥ３に従って実行されるようになっているので、電子署名生成プログラムＥ２を電子署名サーバ装置４側で改竄したり電子署名作成用プログラムＤに埋め込まれている秘密鍵Ｆを電子署名サーバ装置４側の処理で保存したり抽出したりすることも著しく困難となり、電子署名サーバ装置４の不正使用で各端末装置３の秘密鍵Ｆが漏洩するといった危険性が軽減する。
【００５９】
つまり、電子署名作成用プログラムＤに埋め込まれた秘密鍵Ｆや電子署名生成プログラムＥ２を電子署名サーバ装置４それ自体が特に認識することはなく、電子署名サーバ装置４のマイクロプロセッサ２６は、単に、端末装置３を経由して認証局サーバ装置２から与えられた電子署名作成用プログラムＤに埋め込まれた秘密鍵Ｆを利用して電子署名生成プログラムＥ２と自己消去プログラムＥ３を１パッケージの処理として自己完結的に実行するだけであるから、秘密鍵Ｆの秘匿性が高いのである。
【００６０】
この実施形態では、正当な電子署名サーバ装置４のみによって電子署名作成用プログラムＤの電子署名生成プログラムＥ２を実行させるために、電子署名作成用プログラムＤのプログラム本体Ｅに含まれる認証プログラムＥ１と電子署名作成用プログラムＤに埋め込まれた認証情報Ｇつまり電子署名サーバ装置４の電子証明書を用いて認証を行なう例について述べたが、電子署名生成プログラムＥ２の実行開始前の時点でパスワード認証を行うプログラムを認証プログラムＥ１に代えて電子署名作成用プログラムＤに組み込むようにしてもよい。
【００６１】
また、別の方法として、電子署名サーバ装置４のホスト名やIPアドレス等の一意な情報を用いて認証を行うようにしてもよい。
【００６２】
更に、電子署名作成用プログラムＤのプログラム本体Ｅに組み込んだプログラムによって電子署名サーバ装置４の認証を行なう構成に代え、認証局サーバ装置２が電子署名作成用プログラムＤを生成した際に認証局サーバ装置２が電子署名作成用プログラムＤを電子署名サーバ装置４の公開鍵で暗号化してから端末装置３に配布し、電子署名サーバ装置４が電子署名作成用プログラムＤを受け取った時点、電子署名サーバ装置４自体の秘密鍵で復号するような構成としてもよい。
【００６３】
認証局サーバ装置２が端末装置３のために発行した電子証明書は、必ずしも端末装置３に転送する必要はない。端末装置３からの指示で生成された電子署名済データの真贋判定のために端末装置３の電子証明書を必要とする他のシステムが任意のタイミングで取得可能な場所、例えば、ディレクトリサーバ等に保存しておいてもよい。
【００６４】
以上に開示した実施形態の一部または全部は、以下の付記に示す記載によって適切に表現され得るが、発明を実施するための形態や発明の技術思想は、これらのものに制限されるものではない。
【００６５】
〔付記１〕
公開鍵および秘密鍵と電子証明書を生成する認証局サーバ装置と、署名対象データを取り扱うための端末装置と、前記署名対象データに電子署名を付与するための電子署名サーバ装置とをネットワーク経由で情報伝達可能に接続し、前記認証局サーバ装置と端末装置と電子署名サーバ装置を利用して署名対象データに電子署名を付与する電子署名方法であって、
前記認証局サーバ装置によって公開鍵および秘密鍵と電子証明書を生成し、少なくも前記認証局サーバ装置に予め格納されている電子署名生成プログラムと自己消去プログラムとによって構成されるプログラム本体に前記認証局サーバ装置の内部処理によって前記秘密鍵を埋め込ませて電子署名作成用プログラムを生成させた後、
前記認証局サーバ装置から前記端末装置に前記電子証明書と前記電子署名作成用プログラムを転送して前記端末装置に予め記憶させておき、
前記端末装置に保存されている署名対象データに電子署名を行なう際に、当該署名対象データと前記電子署名作成用プログラムを前記端末装置から前記電子署名サーバ装置に転送し、
電子署名作成用プログラムを受信した電子署名サーバ装置が、当該電子署名作成用プログラムのプログラム本体を実行対象プログラムとして読み込み、前記端末装置から受信した署名対象データを処理対象として前記電子署名作成用プログラムに埋め込まれている前記秘密鍵を用いて前記プログラム本体の電子署名生成プログラムで記述される処理を実行することによって前記署名対象データに電子署名を付与して電子署名済データを作成し、この電子署名サーバ装置から前記端末装置へ前記電子署名済データを転送した後、
前記プログラム本体の自己消去プログラムで記述される処理を前記電子署名サーバ装置が実行することによって、少なくとも、前記プログラム本体および前記電子署名作成用プログラムに埋め込まれていた秘密鍵を前記電子署名サーバ装置上から消去することを特徴とした電子署名方法。
【００６６】
〔付記２〕
前記電子署名作成用プログラムのプログラム本体は更に電子署名サーバ装置の適否を判定するための認証プログラムを備え、
前記電子署名サーバ装置は、前記電子署名作成用プログラムのプログラム本体を実行対象プログラムとして読み込んだ後、前記プログラム本体の電子署名生成プログラムで記述される処理を開始する前に前記認証プログラムで記述される処理を実行して電子署名サーバ装置の適否を判定し、前記認証プログラムによって電子署名サーバ装置が適性であると判定された場合に限って前記プログラム本体の電子署名生成プログラムで記述される処理を開始する一方、電子署名サーバ装置が不適であると判定された場合には前記電子署名生成プログラムで記述される処理を非実行とすることを特徴とした付記１に記載の電子署名方法。
【００６７】
〔付記３〕
認証局サーバ装置と端末装置と電子署名サーバ装置をネットワーク経由で情報伝達可能に接続して構成される電子署名システムであって、
前記認証局サーバ装置に、公開鍵および秘密鍵を生成する鍵ペア生成手段と、電子証明書を生成する電子証明書発行手段と、少なくも電子署名生成プログラムと自己消去プログラムとによって構成されるプログラム本体を記憶するための記憶手段と、前記記憶手段から読み出した前記プログラム本体に前記鍵ペア生成手段で生成された秘密鍵を埋め込んで電子署名作成用プログラムを生成する電子署名作成用プログラム生成手段と、前記電子証明書発行手段で生成された電子証明書と前記電子署名作成用プログラム生成手段で生成された電子署名作成用プログラムを前記ネットワーク経由で前記端末装置に転送する転送手段を設けると共に、
前記端末装置には、前記認証局サーバ装置から転送された電子証明書と電子署名作成用プログラムを当該端末装置の記憶手段に記憶させるための転送情報受取手段と、当該端末装置の前記記憶手段から既存の署名対象データと前記電子署名作成用プログラムを読み出して前記ネットワーク経由で前記電子署名サーバ装置に転送する転送手段と、前記電子署名サーバ装置から転送された電子署名済データを当該端末装置の前記記憶手段に記憶させるための署名済データ受取手段を設け、
前記電子署名サーバ装置には、前記端末装置から転送された電子署名作成用プログラムのプログラム本体を実行対象プログラムとして読み込み、前記端末装置から転送された署名対象データを処理対象として前記電子署名作成用プログラムに埋め込まれている前記秘密鍵を用いて前記プログラム本体の電子署名生成プログラムで記述される処理を実行することによって前記署名対象データに電子署名を付与して電子署名済データを作成し、この電子署名済データを前記ネットワーク経由で前記端末装置へ転送した後、前記プログラム本体の自己消去プログラムで記述される処理を実行することによって、少なくとも、前記プログラム本体および前記電子署名作成用プログラムに埋め込まれていた秘密鍵を前記電子署名サーバ装置上から消去する処理の実行環境を提供するプログラム実行手段を設けたことを特徴とする電子署名システム。
【００６８】
〔付記４〕
認証局サーバ装置と端末装置と電子署名サーバ装置をネットワーク経由で情報伝達可能に接続して構成される電子署名システムを制御するための制御プログラムであって、
前記認証局サーバ装置のマイクロプロセッサを、公開鍵および秘密鍵を生成する鍵ペア生成手段、電子証明書を生成する電子証明書発行手段、少なくも電子署名生成プログラムと自己消去プログラムとによって構成されるプログラム本体を記憶した記憶手段から読み出したプログラム本体に前記鍵ペア生成手段で生成された秘密鍵を埋め込んで電子署名作成用プログラムを生成する電子署名作成用プログラム生成手段、および、前記電子証明書発行手段で生成された電子証明書と前記電子署名作成用プログラム生成手段で生成された電子署名作成用プログラムを前記ネットワーク経由で前記端末装置に転送する転送手段として機能させる認証局サーバ用プログラムと、
前記端末装置のマイクロプロセッサを、前記認証局サーバ装置から転送された電子証明書と電子署名作成用プログラムを当該端末装置の記憶手段に記憶させるための転送情報受取手段、当該端末装置の前記記憶手段から既存の署名対象データと前記電子署名作成用プログラムを読み出して前記ネットワーク経由で前記電子署名サーバ装置に転送する転送手段、および、前記電子署名サーバ装置から転送された電子署名済データを当該端末装置の前記記憶手段に記憶させるための署名済データ受取手段として機能させる端末装置用プログラムと、
前記電子署名サーバ装置のマイクロプロセッサを、前記端末装置から転送された電子署名作成用プログラムのプログラム本体を実行対象プログラムとして読み込み、前記端末装置から転送された署名対象データを処理対象として前記電子署名作成用プログラムに埋め込まれている前記秘密鍵を用いて前記プログラム本体の電子署名生成プログラムで記述される処理を実行することによって前記署名対象データに電子署名を付与して電子署名済データを作成し、この電子署名済データを前記ネットワーク経由で前記端末装置へ転送した後、前記プログラム本体の自己消去プログラムで記述される処理を実行することによって、少なくとも、前記プログラム本体および前記電子署名作成用プログラムに埋め込まれていた秘密鍵を前記電子署名サーバ装置上から消去する処理の実行環境を提供するプログラム実行手段として機能させる電子署名サーバ装置用プログラムとによって構成される電子署名システム用制御プログラム。
【産業上の利用可能性】
【００６９】
本発明は、認証局サーバ装置と端末装置と電子署名サーバ装置をネットワーク経由で情報伝達可能に接続して構成された電子署名システムに適用することができる。
【符号の説明】
【００７０】
Ａ１  鍵ペア生成手段
Ａ２  電子証明書発行手段
Ａ３  記憶手段
Ａ４  電子署名作成用プログラム生成手段
Ａ５  電子証明書転送手段（転送手段の一つ）
Ａ６  電子署名作成用プログラム転送手段（転送手段の一つ）
Ｂ１  電子証明書用記憶手段（記憶手段の一つ）
Ｂ２  証明書用転送情報受取手段（転送情報受取手段の一つ）
Ｂ３  電子署名作成プログラム用記憶手段（記憶手段の一つ）
Ｂ４  プログラム用転送情報受取手段（転送情報受取手段の一つ）
Ｂ５  データ記憶手段（記憶手段の一つ）
Ｂ６  署名対象データ転送手段（転送手段の一つ）
Ｂ７  プログラム転送手段（転送手段の一つ）
Ｂ８  署名済データ記憶手段（記憶手段の一つ）
Ｂ９  署名済データ受取手段
Ｃ１  電子署名作成用プログラム受取手段
Ｃ２  署名対象データ受取手段
Ｃ３  プログラム実行手段
Ｄ  電子署名作成用プログラム
Ｅ  プログラム本体
Ｅ１  認証プログラム
Ｅ２  電子署名生成プログラム
Ｅ３  自己消去プログラム
Ｆ  秘密鍵
Ｇ  認証情報
１  電子署名システム
２  認証局サーバ装置
３  端末装置
４  電子署名サーバ装置
５  ネットワーク
６  マイクロプロセッサ
７  ＲＯＭ
８  不揮発性メモリ
９  ＲＡＭ
１０  ハードディスクドライブ
１１  入出力回路
１２  キーボード
１３  マウス
１４  モニタ
１５  インターフェイス
１６  マイクロプロセッサ
１７  ＲＯＭ
１８  不揮発性メモリ
１９  ＲＡＭ
２０  ハードディスクドライブ
２１  入出力回路
２２  キーボード
２３  マウス
２４  モニタ
２５  インターフェイス
２６  マイクロプロセッサ
２７  ＲＯＭ
２８  不揮発性メモリ
２９  ＲＡＭ
３０  ハードディスクドライブ
３１  入出力回路
３２  キーボード
３３  マウス
３４  モニタ
３５  インターフェイス
【図１】
0005493969.tif 000002
【図２】
0005493969.tif 000003
【図３】
0005493969.tif 000004
【図４】
0005493969.tif 000005
【図５】
0005493969.tif 000006
【図６】
0005493969.tif 000007
【図７】
0005493969.tif 000008
【図８】
0005493969.tif 000009
【図９】
0005493969.tif 000010
【図１０】
0005493969.tif 000011
【図１１】
0005493969.tif 000012