(57)【要約】【課題】システム全体の運用負荷を低減させつつ、秘密鍵の漏洩および不正な電子署名を防止できる電子署名システムを提供する。【解決手段】秘密分散手段８１は、署名用秘密鍵を秘密分散する。署名用秘密鍵暗号化手段８２は、秘密分散された一の署名用秘密鍵を暗号化する。署名用秘密鍵復号手段９１は、暗号化された一の署名用秘密鍵を復号する。署名用秘密鍵復元手段９２は、復号された一の署名用秘密鍵と、秘密分散された他の署名用秘密鍵とから、秘密分散された署名用秘密鍵を復元する。タイムスタンプトークン送信手段９３は、署名用秘密鍵とその署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを含むタイムスタンプトークンを、署名者クライアント８０に送信する。電子署名手段８４は、鍵管理サーバ９０から送信されたタイムスタンプトークンに含まれる検証猶予時間に基づいて、署名用秘密鍵を用いた電子署名を制限する。【選択図】図８
2014022920.tif 000002
【特許請求の範囲】
【請求項１】
署名用秘密鍵を用いて電子署名を行う署名者クライアントと、
前記電子署名に用いられる鍵を管理する鍵管理サーバとを備え、
前記署名者クライアントは、
前記署名用秘密鍵を秘密分散する秘密分散手段と、
秘密分散された一の署名用秘密鍵を暗号化する署名用秘密鍵暗号化手段と、
暗号化された前記一の署名用秘密鍵を前記鍵管理サーバに送信する署名用秘密鍵送信手段と、
前記署名用秘密鍵を用いた電子署名を行う電子署名手段とを備え、
前記鍵管理サーバは、
暗号化された前記一の署名用秘密鍵を復号する署名用秘密鍵復号手段と、
復号された前記一の署名用秘密鍵と、秘密分散された他の署名用秘密鍵とから、秘密分散された署名用秘密鍵を復元する署名用秘密鍵復元手段と、
前記署名用秘密鍵と当該署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを含むタイムスタンプトークンを、前記署名者クライアントに送信するタイムスタンプトークン送信手段とを備え、
前記署名者クライアントの電子署名手段は、
前記署名用秘密鍵の復元に必要な情報を前記鍵管理サーバに送信し、前記鍵管理サーバから送信されたタイムスタンプトークンに含まれる検証猶予時間に基づいて、前記署名用秘密鍵を用いた電子署名を制限し、
前記鍵管理サーバの署名用秘密鍵復号手段は、前記署名用秘密鍵の復元に必要な情報に基づいて、暗号化された前記一の署名用秘密鍵を復号し、復号の成否状況に応じて、一の署名用秘密鍵の復号を制御する
ことを特徴とする電子署名システム。
【請求項２】
鍵管理サーバは、
タイムスタンプトークンを暗号用公開鍵を用いて暗号化するタイムスタンプトークン暗号化手段を備え、
タイムスタンプトークン送信手段は、暗号化されたタイムスタンプトークンを、署名者クライアントに送信する
請求項１記載の電子署名システム。
【請求項３】
署名者クライアントの電子署名手段は、鍵管理サーバから送信される暗号化されたタイムスタンプトークンを暗号用秘密鍵を用いて復号し、復号されたタイムスタンプトークンに含まれる検証猶予時間に基づいて、署名用秘密鍵を用いた電子署名を制限する
請求項２記載の電子署名システム。
【請求項４】
署名者クライアントの署名用秘密鍵暗号化手段は、秘密分散された一の署名用秘密鍵をパスワードに基づいて暗号化する
請求項１から請求項３のうちのいずれか１項に記載の電子署名システム。
【請求項５】
鍵管理サーバの署名用秘密鍵復号手段は、署名者クライアントから送信されるパスワード用いて暗号化された一の署名用秘密鍵を復号する
請求項４記載の電子署名システム。
【請求項６】
電子署名に用いられる署名用秘密鍵を秘密分散する秘密分散手段と、
秘密分散された一の署名用秘密鍵を暗号化する署名用秘密鍵暗号化手段と、
暗号化された前記一の署名用秘密鍵を、当該一の署名用秘密鍵を復号して秘密分散された署名用秘密鍵を復元可能な鍵管理サーバに送信する署名用秘密鍵送信手段と、
前記署名用秘密鍵を用いた電子署名を行う電子署名手段とを備え、
前記電子署名手段は、前記署名用秘密鍵の復元に必要な情報を前記鍵管理サーバに送信し、前記署名用秘密鍵と当該署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを含むタイムスタンプトークンを前記鍵管理サーバから受信し、当該タイムスタンプトークンに含まれる検証猶予時間に基づいて、前記署名用秘密鍵を用いた電子署名を制限する
ことを特徴とする署名者クライアント。
【請求項７】
署名用秘密鍵を用いて電子署名を行う署名者クライアントから、当該署名者クライアントによって秘密分散された署名用秘密鍵のうち暗号化された一の署名用秘密鍵を受信して、当該暗号化された一の署名用秘密鍵を復号する署名用秘密鍵復号手段と、
復号された前記一の署名用秘密鍵と、秘密分散された他の署名用秘密鍵とから、秘密分散された署名用秘密鍵を復元する署名用秘密鍵復元手段と、
前記署名用秘密鍵と当該署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを含むタイムスタンプトークンを、前記署名者クライアントに送信するタイムスタンプトークン送信手段とを備え、
前記署名用秘密鍵復号手段は、前記署名用秘密鍵の復元に必要な情報に基づいて、暗号化された前記一の署名用秘密鍵を復号し、復号の成否状況に応じて、一の署名用秘密鍵の復号を制御する
ことを特徴とする鍵管理サーバ。
【請求項８】
署名用秘密鍵を用いて電子署名を行う署名者クライアントが、当該署名用秘密鍵を秘密分散し、
前記署名者クライアントが、秘密分散された一の署名用秘密鍵を暗号化し、
前記署名者クライアントが、暗号化された前記一の署名用秘密鍵を鍵管理サーバに送信し、
前記署名者クライアントが、前記署名用秘密鍵の復元に必要な情報を鍵管理サーバに送信し、
前記鍵管理サーバが、前記署名用秘密鍵の復元に必要な情報に基づいて、暗号化された前記一の署名用秘密鍵を復号し、復号の成否状況に応じて、一の署名用秘密鍵の復号を制御し、
前記鍵管理サーバが、復号された前記一の署名用秘密鍵と、秘密分散された他の署名用秘密鍵とから、秘密分散された署名用秘密鍵を復元し、
前記鍵管理サーバが、前記署名用秘密鍵と当該署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを含むタイムスタンプトークンを、前記署名者クライアントに送信し、
前記署名者クライアントが、前記鍵管理サーバから送信されたタイムスタンプトークンに含まれる検証猶予時間に基づいて、前記署名用秘密鍵を用いた電子署名を制限する
ことを特徴とする電子署名方法。
【請求項９】
コンピュータに、
電子署名に用いられる署名用秘密鍵を秘密分散する秘密分散処理、
秘密分散された一の署名用秘密鍵を暗号化する署名用秘密鍵暗号化処理、
暗号化された前記一の署名用秘密鍵を、当該一の署名用秘密鍵を復号して秘密分散された署名用秘密鍵を復元可能な鍵管理サーバに送信する署名用秘密鍵送信処理、および、
前記署名用秘密鍵を用いた電子署名を行う電子署名処理を実行させ、
前記電子署名処理で、前記署名用秘密鍵の復元に必要な情報を前記鍵管理サーバに送信させ、前記署名用秘密鍵と当該署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを含むタイムスタンプトークンを前記鍵管理サーバから受信させ、当該タイムスタンプトークンに含まれる検証猶予時間に基づいて、前記署名用秘密鍵を用いた電子署名を制限させる
ことを特徴とする署名用プログラム。
【請求項１０】
コンピュータに、
署名用秘密鍵を用いて電子署名を行う署名者クライアントから、当該署名者クライアントによって秘密分散された署名用秘密鍵のうち暗号化された一の署名用秘密鍵を受信して、当該暗号化された一の署名用秘密鍵を復号する署名用秘密鍵復号処理、
復号された前記一の署名用秘密鍵と、秘密分散された他の署名用秘密鍵とから、秘密分散された署名用秘密鍵を復元する署名用秘密鍵復元処理、および、
前記署名用秘密鍵と当該署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを含むタイムスタンプトークンを、前記署名者クライアントに送信するタイムスタンプトークン送信処理を実行させ、
前記署名用秘密鍵復号処理で、前記署名用秘密鍵の復元に必要な情報に基づいて、暗号化された前記一の署名用秘密鍵を復号させ、復号の成否状況に応じて、一の署名用秘密鍵の復号を制御させる
ことを特徴とする鍵管理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子署名に署名用秘密鍵が用いられる電子署名システム、署名者クライアント、鍵管理サーバ、電子署名方法、署名用プログラムおよび鍵管理用プログラムに関する。
【背景技術】
【０００２】
電子文書に対するデジタル署名方式として、公開鍵暗号方式を用いた電子署名が広く用いられている。電子署名で用いられる秘密鍵を保護しつつ配布する方法として、ＩＣカードが用いられる場合がある。一方、運用コストを抑えるために、ソフトウェア形式の秘密鍵が用いられる場合もある。
【０００３】
非特許文献１には、ＲＳＡ（Rivest Shamir Adleman ）秘密鍵を保護する方法及びそのエンコード方法が記載されている。具体的には、非特許文献１には、ソフトウェア形式の秘密鍵として、ＰＫＣＳ＃１２形式によるパスワードベース暗号化された秘密鍵が記載されている。
【０００４】
特許文献１には、クライアントではなく、サーバのデータベースでクライアントの秘密鍵を一括管理し、サーバで電子署名を実行する方法が記載されている。
【０００５】
特許文献２には、電子署名を行う都度、クライアントからサーバに秘密鍵を送信し、サーバ上で電子署名を実行する方法が記載されている。特許文献２に記載された方法では、まず、クライアントがサーバ認証によりＳＳＬ通信を確立させる。そして、クライアントは、署名対象文書をサーバに送付した後、暗号化した秘密鍵（ＰＫＣＳ＃１２形式）をサーバに送付する。次に、クライアントが暗号化された秘密鍵（ＰＫＣＳ＃１２形式）を保護しているパスワードをサーバに送付すると、サーバは、クライアントから送付されたパスワードを用いて、暗号化された秘密鍵（ＰＫＣＳ＃１２形式）から秘密鍵を取得する。そして、サーバは、署名対象文書に署名を実行した後に使用した秘密鍵を消去する。
【０００６】
特許文献３には、サーバ側で署名する方法が記載されている。特許文献３に記載された方法では、署名用秘密鍵を秘密分散した第１の分割鍵がＩＣカードに格納されている。クライアントは、この第１の分割鍵をサーバへ送信し、サーバは、保持されている第２の分割鍵と受信した第１の分割鍵とを合わせることで、署名を行う。
【０００７】
なお、非特許文献２には、タイムスタンプリクエスト及びタイムスタンプトークンの内容（プロファイル）及びその使用方法が記載されている。また、非特許文献３には、パスワードベース暗号化の方法及びそのエンコード方法が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第４０２７７２５号公報
【特許文献２】特開２００９−２１２７４７号公報
【特許文献３】特開２０１０−２３１４０４号公報
【非特許文献】
【０００９】
【非特許文献１】"PKCS 12 v1.0: Personal Information Exchange Syntax", RSA Laboratories, June 24, 1999
【非特許文献２】RFC3161, "Internet X.509 Public Key Infrastructure Time-Stamp Protocol(TSP)", August 2001
【非特許文献３】" PKCS#5 V2.0: Password-Based Cryptography Standard", RSA Laboratories, March 25, 1999
【発明の概要】
【発明が解決しようとする課題】
【００１０】
一方、ＰＫＣＳ＃１２形式の秘密鍵は、容易に複製可能であることから、パスワードの全数探索により秘密鍵が漏えいする可能性がある。
【００１１】
特許文献１に記載された方法を用いることで、パスワードの全数探索がされることを抑制することは可能である。ただし、特許文献１に記載された方法は、秘密鍵の保護をサーバでの管理及び運用に依存している。そのため、サーバの脆弱性によってクライアントの秘密鍵が漏洩した場合のリスクが高いという問題がある。
【００１２】
また、特許文献１に記載された方法では、サーバが秘密鍵保持者であることを確認するため、クライアントを認証する仕組みが別途必要になってしまう。さらに、サーバ及びデータベースを厳重に管理する必要があるとともに、秘密鍵の管理状態の監視も必要になるため、システム全体の運用負荷が高くなるという課題がある。
【００１３】
特許文献２に記載された方法を用いることで、システム全体の運用負荷を低減させることは可能である。ただし、特許文献２に記載された方法では、ＰＫＣＳ＃１２形式で秘密鍵が保護されているので、暗号化された秘密鍵を第三者がクライアントまたはサーバから入手すると、パスワードの全数探索により秘密鍵が漏えいする可能性があるという課題がある。
【００１４】
また、特許文献３に記載された方法では、ＩＣカード内に含まれる認証用秘密鍵と、サーバが保持する認証用公開鍵とが対の関係にあるか否かを確認する処理のみを用いてユーザ認証（具体的には、機器認証））を行っている。したがって、特許文献３に記載された方法では、正当に発行されたＩＣカードであれば、ＩＣカードを提示するたけでユーザ認証が完了してしまうため、ＩＣカードを不正に入手した第三者であっても、正当なユーザとして認証されてしまう。
【００１５】
すなわち、特許文献３に記載された方法では、ＩＣカードを（不正に）入手しただけで、ＩＣカードに含まれる第１の分割鍵が使用可能になってしまう。さらに、第１の分割鍵とＩＣカードに含まれるユーザＩＤとをサーバに送信すると、サーバは、ユーザＩＤに対応する第２の分割鍵と第１の分割鍵を結合する。そのため、結果的に、署名用秘密鍵が復元可能になるたるため、サーバ上で署名が実行できてしまうという課題がある。
【００１６】
そこで、本発明は、システム全体の運用負荷を低減させつつ、秘密鍵の漏洩および不正な電子署名を防止できる電子署名システム、署名者クライアント、鍵管理サーバ、電子署名方法、署名用プログラムおよび鍵管理用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明による電子署名システムは、署名用秘密鍵を用いて電子署名を行う署名者クライアントと、電子署名に用いられる鍵を管理する鍵管理サーバとを備え、署名者クライアントが、署名用秘密鍵を秘密分散する秘密分散手段と、秘密分散された一の署名用秘密鍵を暗号化する署名用秘密鍵暗号化手段と、暗号化された一の署名用秘密鍵を鍵管理サーバに送信する署名用秘密鍵送信手段と、署名用秘密鍵を用いた電子署名を行う電子署名手段とを備え、鍵管理サーバが、暗号化された一の署名用秘密鍵を復号する署名用秘密鍵復号手段と、復号された一の署名用秘密鍵と、秘密分散された他の署名用秘密鍵とから、秘密分散された署名用秘密鍵を復元する署名用秘密鍵復元手段と、署名用秘密鍵とその署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを含むタイムスタンプトークンを、署名者クライアントに送信するタイムスタンプトークン送信手段とを備え、署名者クライアントの電子署名手段が、署名用秘密鍵の復元に必要な情報を鍵管理サーバに送信し、鍵管理サーバから送信されたタイムスタンプトークンに含まれる検証猶予時間に基づいて、署名用秘密鍵を用いた電子署名を制限し、鍵管理サーバの署名用秘密鍵復号手段が、署名用秘密鍵の復元に必要な情報に基づいて、暗号化された一の署名用秘密鍵を復号し、復号の成否状況に応じて、一の署名用秘密鍵の復号を制御することを特徴とする。
【００１８】
本発明による署名者クライアントは、電子署名に用いられる署名用秘密鍵を秘密分散する秘密分散手段と、秘密分散された一の署名用秘密鍵を暗号化する署名用秘密鍵暗号化手段と、暗号化された一の署名用秘密鍵を、その一の署名用秘密鍵を復号して秘密分散された署名用秘密鍵を復元可能な鍵管理サーバに送信する署名用秘密鍵送信手段と、署名用秘密鍵を用いた電子署名を行う電子署名手段とを備え、電子署名手段が、署名用秘密鍵の復元に必要な情報を鍵管理サーバに送信し、署名用秘密鍵とその署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを含むタイムスタンプトークンを鍵管理サーバから受信し、そのタイムスタンプトークンに含まれる検証猶予時間に基づいて、署名用秘密鍵を用いた電子署名を制限することを特徴とする。
【００１９】
本発明による鍵管理サーバは、署名用秘密鍵を用いて電子署名を行う署名者クライアントから、その署名者クライアントによって秘密分散された署名用秘密鍵のうち暗号化された一の署名用秘密鍵を受信して、その暗号化された一の署名用秘密鍵を復号する署名用秘密鍵復号手段と、復号された一の署名用秘密鍵と、秘密分散された他の署名用秘密鍵とから、秘密分散された署名用秘密鍵を復元する署名用秘密鍵復元手段と、署名用秘密鍵とその署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを含むタイムスタンプトークンを、署名者クライアントに送信するタイムスタンプトークン送信手段とを備え、署名用秘密鍵復号手段が、署名用秘密鍵の復元に必要な情報に基づいて、暗号化された一の署名用秘密鍵を復号し、復号の成否状況に応じて、一の署名用秘密鍵の復号を制御することを特徴とする。
【００２０】
本発明による電子署名方法は、署名用秘密鍵を用いて電子署名を行う署名者クライアントが、その署名用秘密鍵を秘密分散し、署名者クライアントが、秘密分散された一の署名用秘密鍵を暗号化し、署名者クライアントが、暗号化された一の署名用秘密鍵を鍵管理サーバに送信し、署名者クライアントが、署名用秘密鍵の復元に必要な情報を鍵管理サーバに送信し、鍵管理サーバが、署名用秘密鍵の復元に必要な情報に基づいて、暗号化された一の署名用秘密鍵を復号し、復号の成否状況に応じて、一の署名用秘密鍵の復号を制御し、鍵管理サーバが、復号された一の署名用秘密鍵と、秘密分散された他の署名用秘密鍵とから、秘密分散された署名用秘密鍵を復元し、鍵管理サーバが、署名用秘密鍵とその署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを含むタイムスタンプトークンを、署名者クライアントに送信し、署名者クライアントが、鍵管理サーバから送信されたタイムスタンプトークンに含まれる検証猶予時間に基づいて、署名用秘密鍵を用いた電子署名を制限することを特徴とする。
【００２１】
本発明による署名用プログラムは、コンピュータに、電子署名に用いられる署名用秘密鍵を秘密分散する秘密分散処理、秘密分散された一の署名用秘密鍵を暗号化する署名用秘密鍵暗号化処理、暗号化された一の署名用秘密鍵を、その一の署名用秘密鍵を復号して秘密分散された署名用秘密鍵を復元可能な鍵管理サーバに送信する署名用秘密鍵送信処理、および、署名用秘密鍵を用いた電子署名を行う電子署名処理を実行させ、電子署名処理で、署名用秘密鍵の復元に必要な情報を鍵管理サーバに送信させ、署名用秘密鍵とその署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを含むタイムスタンプトークンを鍵管理サーバから受信させ、そのタイムスタンプトークンに含まれる検証猶予時間に基づいて、署名用秘密鍵を用いた電子署名を制限させることを特徴とする。
【００２２】
本発明による鍵管理用プログラムは、コンピュータに、署名用秘密鍵を用いて電子署名を行う署名者クライアントから、その署名者クライアントによって秘密分散された署名用秘密鍵のうち暗号化された一の署名用秘密鍵を受信して、その暗号化された一の署名用秘密鍵を復号する署名用秘密鍵復号処理、復号された一の署名用秘密鍵と、秘密分散された他の署名用秘密鍵とから、秘密分散された署名用秘密鍵を復元する署名用秘密鍵復元処理、および、署名用秘密鍵とその署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを含むタイムスタンプトークンを、署名者クライアントに送信するタイムスタンプトークン送信処理を実行させ、署名用秘密鍵復号処理で、署名用秘密鍵の復元に必要な情報に基づいて、暗号化された一の署名用秘密鍵を復号させ、復号の成否状況に応じて、一の署名用秘密鍵の復号を制御させることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、システム全体の運用負荷を低減させつつ、秘密鍵の漏洩および不正な電子署名を防止できる。
【図面の簡単な説明】
【００２４】
【図１】本発明による電子認証システムの一実施形態を示すブロック図である。
【図２】署名者クライアントからの証明書の発行要求に対する認証局システムの動作例を示す説明図である。
【図３】署名者クライアントの動作例を示す説明図である。
【図４】鍵管理サーバの動作例を示す説明図である。
【図５】鍵管理サーバからのタイムスタンプリクエスト作成要求に対するタイムスタンプサーバの動作例を示す説明図である。
【図６】本実施形態の電子署名システムの例を示すシーケンス図である。
【図７】本実施形態の電子署名システムの実施例を示す説明図である。
【図８】本発明による電子署名システムの概要を示すブロック図である。
【図９】本発明による署名者クライアントの概要を示すブロック図である。
【図１０】本発明による鍵管理サーバの概要を示すブロック図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施形態を図面を参照して説明する。
【００２６】
図１は、本発明による電子認証システムの一実施形態を示すブロック図である。本実施形態の電子認証システムは、署名者クライアント２と、鍵管理サーバ３とを備えている。本実施形態の電子認証システムは、インターネット等の通信網５を介して、署名者クライアント２と鍵管理サーバ３とが相互に接続される。また、図１に例示する電子認証システムでは、通信網５を介して、認証局システム１およびタイムスタンプサーバ４が接続される。
【００２７】
認証システム１１は、登録部１１と、発行部１２とを含む
【００２８】
図２は、署名者クライアント２からの証明書の発行要求に対する認証局システム１の動作例を示す説明図である。
【００２９】
登録部１１は、署名者クライアント２を利用するユーザからの証明書発行要求（ステップＳ２１）に応じて、そのユーザを登録する（ステップＳ２２）。また、登録部１１は、証明書発行要求を発行部１２に要求する（ステップＳ２３）。
【００３０】
発行部１２は、署名者クライアント２からの証明書発行要求に対する公開鍵証明書を発行する（ステップＳ２４）。また、発行部１２は、発行した公開鍵証明書を署名者クライアント２へ送信する（ステップＳ２５）。なお、証明書発行要求に対して公開鍵証明書を発行する方法は任意であり、発行部１２は、一般的に知られた方法を用いて、公開鍵証明書を発行すればよい。
【００３１】
また、発行部１２は、公開鍵証明書に対応する署名用秘密鍵を生成してもよい。この場合、発行部１２は、生成した署名用秘密鍵を署名者クライアント２へ送信する（ステップＳ２６）。送信された公開鍵証明書および署名用秘密鍵は、署名用クライアント２で保持される（ステップＳ２７）。
【００３２】
なお、署名用秘密鍵は、署名者クライアント２が生成してもよい。この場合、発行部１２は、署名用秘密鍵の生成、および送信処理を行わなくてもよい。また、署名用秘密鍵の生成方法は広く知られているため、ここでは、詳細な説明は省略する。
【００３３】
署名者クライアント２は、鍵管理部２１と、署名実行部２２と、送受信部２３とを含む（図１参照）。
【００３４】
鍵管理部２１は、暗号用鍵ペア（暗号用秘密鍵、暗号用公開鍵）を生成し、これらの鍵を管理する。また、鍵管理部２１は、署名用鍵ペア（署名用秘密鍵、署名用公開鍵）を生成し、これらの鍵を管理する。また、鍵管理部２１は、これらの鍵に対応する公開鍵証明書を管理する。
【００３５】
なお、署名用秘密鍵は、認証局システム１によって生成されてもよい。この場合、鍵管理部２１は、署名用秘密鍵を生成せず、認証局システム１が生成した署名用秘密鍵を管理する。本実施形態では、鍵管理部２１が、暗号用鍵ペアおよび署名用鍵ペアを生成するものとする。
【００３６】
また、鍵管理部２１は、署名用秘密鍵を秘密分散する。以下の説明では、秘密分散された署名用秘密鍵のうちの一つを、一の署名用秘密鍵または秘密鍵Ｂと記し、それ以外の秘密分散された署名用秘密鍵を、他の署名用秘密鍵または秘密鍵Ａと記す。
【００３７】
なお、本実施形態において、秘密分散方式は任意である。以下の説明では、簡略化のため、秘密分散方式として、鍵管理部２１が、元の鍵を２つの分割鍵Ａ、分割鍵Ｂに分割し、分割された２つの情報を結合することで元の鍵を復元する場合について説明する。
【００３８】
また、鍵管理部２１は、ユーザ等によって入力されたパスワードを用いて、暗号化の対象とするデータを暗号化する。ここでは、鍵管理部２１は、ユーザ等によって入力されたパスワードを用いて、秘密分散された一の署名用秘密鍵を暗号化する。鍵管理部２１は、例えば、パスワードベース暗号化方式（ＰＫＣＳ＃５形式）を用いて秘密分散された一の署名用秘密鍵を暗号化してもよい。鍵管理部２１は、パスワードベースの暗号化の方式として、例えば、非特許文献３に記載された方法を用いてもよい。なお、パスワードベースの暗号化方式は広く知られているため、ここでは、詳細な説明は省略する。
【００３９】
署名実行部２２は、後述する鍵管理サーバ３から送信されるタイムスタンプトークンを復号する。また、署名実行部２２は、複合したタイムスタンプトークンに含まれる猶予時間を検証し、署名対象データに付与する署名の生成および署名対象データへの署名の付与を行う。なお、このタイムスタンプトークンは、後述する鍵管理サーバ３またはタイムスタンプサーバ４によって生成され、署名用秘密鍵と、その署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを示す情報を含む。
【００４０】
送受信部２３は、署名用秘密鍵の復元に必要な情報を鍵管理サーバ３に送信する。具体的には、送受信部２３は、ユーザＩＤ、暗号用公開鍵、署名用秘密鍵を秘密分散した分割鍵Ａ、ＰＫＣＳ＃５形式で暗号化した分割鍵Ｂ、パスワード、および、鍵管理サーバ３により時刻通知の依頼があったときの現在時刻を鍵管理サーバ３に送信する。
【００４１】
また、送受信部２３は、鍵管理サーバ３から時刻通知の依頼、暗号化されたタイムスタンプトークン、および復元された署名用秘密鍵を受信する。
【００４２】
図３は、署名者クライアント２の動作例を示す説明図である。
【００４３】
鍵管理部２１は、事前準備として、暗号用鍵ペアの生成し（ステップＳ３１）、生成した暗号用公開鍵をユーザＩＤとともに鍵管理サーバ３へ送信する（ステップＳ３２）。また、鍵管理部２１は、署名用鍵ペアを生成する（ステップＳ３３）。
【００４４】
さらに、鍵管理部２１は、事前準備として、署名用秘密鍵の秘密分散を行うことで、秘密鍵Ａおよび秘密鍵Ｂを生成する（ステップＳ３４）。そして、鍵管理部２１は、分割鍵ＢをＰＫＣＳ＃５形式で暗号化し、ユーザＩＤとともに鍵管理サーバ３へ送信する（ステップＳ３５）。
【００４５】
鍵管理部２１は、暗号化された分割鍵Ｂを鍵管理サーバ３に送信した後、鍵管理部２１から削除する。すなわち、分割鍵Ａは、鍵管理部２１によって管理され、暗号化された分割鍵Ｂは、鍵管理部２１からは削除され、鍵管理サーバ３でユーザＩＤとともに管理される。
【００４６】
一方、実際にデータに署名する場合、鍵管理部２１は、鍵管理サーバ３で暗号化された秘密鍵（すなわち、分割鍵Ｂ）を復号するパスワードと、秘密分散された分割鍵Ａと、鍵管理サーバ３で保持される暗号用公開鍵及び暗号化された分割鍵Ｂに対応するユーザＩＤとを、鍵管理サーバ３に送信する（ステップＳ３６、ステップＳ３７）。
【００４７】
これらの情報を送信した後、署名実行部２２は、鍵管理サーバ３から送信される暗号化されたタイムスタンプトークンを受信する（ステップＳ３８）。暗号化されたタイムスタンプトークンには、猶予時間および署名用秘密鍵を示す情報が含まれる。
【００４８】
署名実行部２２は、暗号用秘密鍵を用いてタイムスタンプトークンを復号する（ステップＳ３９）。署名実行部２２は、タイムスタンプトークンに含まれる猶予時間と送受信部２３から提供される現在時刻とを比較することで、タイムスタンプトークンの猶予時間を検証する（ステップＳ４０)。
【００４９】
検証に成功した場合、署名実行部２２は、送受信部２３から送信される署名用秘密鍵を用いて署名を生成し、署名対象データに生成した署名を付与する（ステップＳ４１）。
【００５０】
鍵管理部２１と、署名実行部２２と、送受信部２３とは、プログラム（署名用プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、署名者クライアント２の記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、鍵管理部２１、署名実行部２２および送受信部２３として動作してもよい。また、鍵管理部２１と、署名実行部２２と、送受信部２３とは、それぞれが専用のハードウェアで実現されていてもよい。
【００５１】
鍵管理サーバ３は、送受信部３１と、分割鍵登録部３２と、秘密鍵復元部３３とを含む（図１参照）。
【００５２】
送受信部３１は、各種情報を受信する。具体的には、送受信部３１は、署名者クライアント２からユーザＩＤ、暗号用公開鍵、署名用秘密鍵を秘密分散した分割鍵Ａ、暗号化された分割鍵Ｂ、パスワードを受信する。また、送受信部３１は、タイムスタンプサーバ４から、タイムスタンプトークンを受信する。また、送受信部３１は、タイムスタンプサーバ４へ、タイムスタンプリクエストを送信する。
【００５３】
分割鍵登録部３２は、暗号用公開鍵、暗号化された分割鍵ＢをユーザＩＤと対応付けて保持する。また、分割鍵登録部３２は、送受信部３１が署名者クライアント２から受信したユーザＩＤと、保持しているユーザＩＤとの同一性を検証する。
【００５４】
また、分割鍵登録部３２は、暗号化された分割鍵Ｂを復号する。具体的には、署名者クライアント２から受信したパスワードを用いて、ＰＫＣＳ＃５形式の暗号化データを復号する。分割鍵登録部３２は、送受信部３１によってタイムスタンプサーバ４へ送信されるタイムスタンプリクエストを生成する。分割鍵登録部３２は、パスワードベースの復号方式として、例えば、非特許文献３に記載された方法を用いてもよい。なお、パスワードベースの復号方式は広く知られているため、ここでは、詳細な説明は省略する。
【００５５】
さらに、分割鍵登録部３２は、タイムスタンプトークンを暗号化する。具体的には、分割鍵登録部３２は、タイムスタンプサーバ４から受信したタイムスタンプトークンを暗号化する。
【００５６】
秘密鍵復元部３３は、秘密分散された分割鍵を復元する。
【００５７】
図４は、鍵管理サーバ３の動作例を示す説明図である。
【００５８】
分割鍵登録部３２は、事前準備として、ユーザＩＤ、ユーザＩＤに対応する暗号用公開鍵、ＰＫＣＳ＃５形式で暗号化された分割鍵Ｂを保持しておく（ステップＳ５１〜Ｓ５３）。その後、分割鍵登録部３２は、署名者クライアント２から送信されるユーザＩＤおよびパスワードを受信し（ステップＳ５４）、分割鍵登録部３２が保持しているユーザＩＤと受信したユーザＩＤとが一致するか否か確認する（ステップＳ５５）。
【００５９】
次に、分割鍵登録部３２は、復号失敗カウンタ値を確認する。この復号失敗カウンタ値は、分割鍵Ｂの復号に失敗した回数を表す。すなわち、分割鍵Ｂの復号に失敗した場合、分割鍵登録部３２は、復号失敗カウンタを加算（１加算）する。
【００６０】
復号失敗カウンタ値が予め設定した閾値以下であれば、分割鍵登録部３２は、パスワードを用いて、ＰＫＣＳ＃５形式で暗号化された分割鍵Ｂを復号し（ステップＳ５６）、復号失敗カウンタ値を初期値に変更する。そして、秘密鍵復元部３３は、復号された分割鍵Ｂと、証明者クライアント２から受信した分割鍵Ａ（ステップＳ５７）を用いて、秘密分散された署名用秘密鍵を復元する（ステップＳ５８）。一方、加算された結果、復号失敗カウンタ値が閾値に達した場合、分割鍵登録部３２は、ユーザＩＤを使用不可状態とし、以後、そのユーザＩＤの一致確認を拒否する。
【００６１】
署名用秘密鍵の復元に成功した場合、分割鍵登録部３２は、署名者クライアントに対して、現在時刻の通知を依頼する。そして、分割鍵登録部３２は、その時刻を元に算出した署名者クライアントにおける署名用秘密鍵の検証猶予時間（存在可能時間）を含めたタイムスタンプリクエストを生成し（ステップＳ５９）、タイムスタンプサーバ４に送信する。
【００６２】
なお、検証猶予時間の算出方法は任意である。分割鍵登録部３２は、例えば、受信した時刻に予め定めた期間を加算して検証猶予時間を算出してもよい。
【００６３】
その後、分割鍵登録部３２は、タイムスタンプサーバからタイムスタンプトークンを受信すると、ユーザＩＤに対応する暗号化用公開鍵を用いて、受信したタイムスタンプトークンを暗号化し（ステップＳ６０）、署名者クライアント２に送信する。
【００６４】
送受信部３１と、分割鍵登録部３２と、秘密鍵復元部３３とは、プログラム（鍵管理用プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、鍵管理サーバ３の記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、送受信部３１、分割鍵登録部３２および秘密鍵復元部３３として動作してもよい。また、送受信部３１と、分割鍵登録部３２と、秘密鍵復元部３３とは、それぞれが専用のハードウェアで実現されていてもよい。
【００６５】
タイムスタンプサーバ４は、送受信部４１と、署名実行部４２とを含む。また、図５は、図５は、鍵管理サーバ３からのタイムスタンプリクエスト作成要求に対するタイムスタンプサーバ４の動作例を示す説明図である。
【００６６】
送受信部４１は、鍵管理サーバ３から送信されたタイムスタンプリクエストを受信する（ステップＳ６１）。また、送受信部４１は、署名実行部４２によって生成されたタイムスタンプトークンを鍵管理サーバ３へ送信する。
【００６７】
署名実行部４２は、タイムスタンプリクエストに対応したタイムスタンプトークンを生成する（ステップＳ６２）。署名実行部４２は、例えば、非特許文献２に記載された方法を用いて、タイムスタンプトークンを生成してもよい。なお、タイムスタンプトークンの生成方法は広く知られているため、ここでは詳細な説明は省略する。
【００６８】
なお、本実施形態では、タイムスタンプサーバ４がタイムスタンプトークンを生成する場合を例に説明しているが、鍵管理サーバ３自身がタイプスタンプトークンを生成してもよい。この場合、鍵管理サーバ３がタイムスタンプサーバ４へタイムスタンプリクエストを送信する処理は不要である。また、この場合、電子認証システムは、タイムスタンプサーバ４に接続されていなくてもよい。
【００６９】
次に、本実施形態の電子署名システムの動作を説明する。図６は、本実施形態の電子署名システムの例を示すシーケンス図である。図６に例示するシーケンス図では、鍵管理サーバ３が、タイムスタンプトークンを生成する場合を示している。また、図６に例示するシーケンス図では、署名者クライアント２が認証局システム１に証明書発行要求を行う処理は省略している。
【００７０】
初めに、電子署名を付与するまでの事前準備を説明する。署名者クライアント２の鍵管理部２１は、暗号用公開鍵と暗号用秘密鍵のペア（暗号用鍵ペア）および署名用公開鍵と署名用秘密鍵のペア（署名用鍵ペア）を生成する（ステップＳ１０１）。また、鍵管理部２１は、署名用秘密鍵を秘密分散する（ステップＳ１０２）。
【００７１】
鍵管理部２１は、秘密分散された一の署名用秘密鍵（分割鍵Ｂ）を暗号化する（ステップＳ１０３）。具体的には、鍵管理部２１は、ユーザ等により入力されるパスワードを用いてＰＫＣＳ＃５形式で分割鍵Ｂを暗号化する。そして、暗号化された一の署名用秘密鍵（分割鍵Ｂ）を鍵管理サーバ３に送信する（ステップＳ１０４）。
【００７２】
次に、電子署名を付与する動作を説明する。署名者クライアント２の鍵管理部２１は、署名用秘密鍵の復元に必要な情報を鍵管理サーバ３に送信する（ステップＳ１０５）。具体的には、鍵管理部２１は、署名する者を識別する情報（ユーザＩＤ）、一の署名用秘密鍵の復号に用いられる情報（パスワード）、秘密分散された他の署名用秘密鍵（分割鍵Ａ）を送信する。
【００７３】
鍵管理サーバ３の分割鍵登録部３２は、署名者クライアント２から受信した署名用秘密鍵の復元に必要な情報に基づいて、暗号化された一の署名用秘密鍵（分割鍵Ｂ）を復号する（ステップＳ１０６）。具体的には、分割鍵登録部３２は、入力されたパスワードに基づいて、暗号化された一の署名用秘密鍵（分割鍵Ｂ）を復号する。
【００７４】
その際、分割鍵登録部３２は、復号の成否状況に応じて、一の署名用秘密鍵（分割鍵Ｂ）の復号を制御する。具体的には、分割鍵登録部３２は、分割鍵Ｂの復号に所定回数失敗した場合、その分割鍵Ｂを削除してもよく、また、利用されたユーザＩＤからの復元要求を以後禁止してもよい。
【００７５】
鍵管理サーバ３の秘密鍵復元部３３は、復号された一の署名用秘密鍵（分割鍵Ｂ）と、秘密分散された他の署名用秘密鍵（分割鍵Ａ）とから、秘密分散された署名用秘密鍵を復元する（ステップＳ１０７）。
【００７６】
鍵管理サーバ３の分割鍵登録部３２は、暗号用公開鍵を用いてタイムスタンプトークンを暗号化する（ステップＳ１０８）。なお、タイムスタンプトークンには、署名用秘密鍵と、その署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とが含まれる。
【００７７】
図６に例示するフローチャートでは、鍵管理サーバ３の分割鍵登録部３２がタイムスタンプトークンを生成し、生成されたタイムスタンプトークンを暗号化する場合を例示している。タイムスタンプサーバ４が通信網５に接続されている場合、分割鍵登録部３２がタイムスタンプサーバ４に対するタイムスタンプリクエストを生成し、タイムスタンプサーバ４からタイムスタンプトークンを受信するようにしてもよい。
【００７８】
鍵管理サーバ３の分割鍵登録部３２は、暗号化されたタイムスタンプトークンを、署名者クライアント２に送信する（ステップＳ１０９）。
【００７９】
署名者クライアント２の署名実行部２２は、鍵管理サーバ３から送信される暗号化されたタイムスタンプトークンを暗号用秘密鍵を用いて復号する（ステップＳ１１０）。署名実行部２２は、復号されたタイムスタンプトークンに含まれる検証猶予時間に基づいて、復元された署名用秘密鍵を用いた電子署名を制限する（ステップＳ１１１）。
【００８０】
具体的には、署名実行部２２は、署名用秘密鍵が復号された時の時間が検証猶予時間内か否かを検証する。検証猶予時間内である場合、署名実行部２２は、署名を生成し、対象データに署名を付与する。一方、検証猶予時間を超えている場合、署名実行部２２は、署名の生成を制限し、対象データに署名を付与しない。
【００８１】
以上のように、本実施形態によれば、まず、鍵管理部２１が、署名用秘密鍵を秘密分散し、秘密分散された一の署名用秘密鍵（例えば、分割鍵Ｂ）を暗号化して、暗号化された一の署名用秘密鍵を鍵管理サーバに送信する。その後、鍵管理部２１が、署名用秘密鍵の復元に必要な情報（例えば、ユーザＩＤ、パスワード、分割鍵Ａ）を鍵管理サーバに送信する。分割鍵登録部３２は、署名用秘密鍵の復元に必要な情報（例えば、パスワード）に基づいて、暗号化された一の署名用秘密鍵を復号し、復号の成否状況（例えば、復号失敗カウンタ値）に応じて、一の署名用秘密鍵の復号を制御する。そして、秘密鍵復元部３３は、復号された一の署名用秘密鍵（分割鍵Ｂ）と、秘密分散された他の署名用秘密鍵（分割鍵Ａ）とから、秘密分散された署名用秘密鍵を復元する。署名実行部３２は、署名用秘密鍵と検証猶予時間とを含むタイムスタンプトークンを署名者クライアントに送信し、署名実行部２２は、タイムスタンプトークンに含まれる検証猶予時間に基づいて、署名用秘密鍵を用いた電子署名を制限する。
【００８２】
以上のような構成により、システム全体の運用負荷を低減させつつ、秘密鍵の漏洩および不正な電子署名を防止できる。
【００８３】
具体的には、本実施形態では、サーバに保持された分割鍵Ｂはパスワードによるアクセス保護がされており、また、分割鍵Ｂへのアクセス回数に制限が設けられている。よって、正当な分割鍵Ａを保有し、かつ、正当なパスワードを有しているクライアントによってのみ、署名用秘密鍵復元後の署名が実行される。したがって、クライアントの不正利用による分割鍵の復元、秘密鍵の漏えい、および署名の実行を防止できる。
【００８４】
また、本実施形態では、復元された署名用秘密鍵に対して検証猶予時間付きタイムスタンプリクエストが発行される。よって、署名用秘密鍵の存在可能時間を、タイプスタンプトークンに含まれる検証猶予時間に制限できる。すなわち、クライアントは、秘密鍵が存在可能な時間にのみ署名できるようになる。
【００８５】
また、例えば、特許文献２に記載された方法による課題を解決するため、ソフトウェア秘密鍵に対するアクセス制御機能をクライアントに導入することも考えられる。しかし、計算機環境を仮想化する技術を用いることで、ＯＳ（Operating System）レベルの機能からアクセス制御機能を含む実行環境までの全ての機能をバックアップすることが可能である。この場合、このバックアップされた実行環境を用いることで、何度でもパスワード入力のリトライ可能になるため、最終的に、パスワードの全数探索も可能になる。すなわち、クライアントで秘密鍵及び秘密鍵に関わる情報全てを管理することは、秘密鍵の不正利用および情報漏えいに繋がるという問題がある。しかし、本実施形態では、秘密鍵の一部をサーバで管理しているため、上述する秘密鍵の不正利用および情報漏えいを防止できる。
【実施例】
【００８６】
以下、具体的な実施例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。図７は、本実施形態の電子署名システムの実施例を示す説明図である。
【００８７】
まず、事前準備として、署名者クライアント２は、暗号用公開鍵と暗号用秘密鍵のペアを作成し（ステップＳ２０１）、署名を行うユーザのユーザＩＤと暗号用公開鍵とを鍵管理サーバ３に登録する（ステップＳ２０２）。さらに、署名者クライアント２は、署名用公開鍵と署名用秘密鍵のペアを作成する（ステップＳ２０３）。そして、署名者クライアント２は、署名用秘密鍵を分割鍵Ａと分割鍵Ｂに秘密分散し（ステップＳ２０４）、分割鍵ＢをＰＫＣＳ＃５のパスワードベース暗号化方式で暗号化して、鍵管理サーバ３へ登録する（ステップＳ２０５）。登録が成功した後、署名者クライアント２は、分割鍵Ｂを署名者クライアント２から削除する（ステップＳ２０６）。
【００８８】
次に、事前準備完了後の動作を説明する。署名者クライアント２は、署名を試みるユーザのユーザＩＤ、分割鍵Ａ、分割鍵Ｂの保護パスワードを鍵管理サーバ３に送信する（ステップＳ２０７）。鍵管理サーバ３は、管理しているユーザＩＤのロック状態の確認を行う。ロックされていなければ、鍵管理サーバ３は、ユーザＩＤの一致確認を行う（ステップＳ２０８）。確認に失敗した場合（ステップＳ２０８におけるＮＧ）、鍵管理サーバ３は、署名用クライアント２にエラーを返却して、処理を終了する（ステップＳ２０９）。
【００８９】
確認に成功した場合（ステップＳ２０８におけるＯＫ）、鍵管理サーバ３は、復号失敗カウンタ値を確認し、復号失敗カウンタ値が予め設定した閾値以下であれば、パスワードを用いてＰＫＣＳ＃５形式で暗号化された分割鍵Ｂを復号する（ステップＳ２１０）。復号に失敗した場合（ステップＳ２１０におけるＮＧ）、鍵管理サーバ３は、復号失敗カウンタを加算し、加算の結果閾値に達した場合はエラーと判定して（ステップＳ２１１）、ユーザＩＤをロック状態にする（ステップＳ２１２）。このとき、鍵管理サーバ３は、暗号化された分割鍵Ｂを削除してもよい。
【００９０】
なお、ロック状態または分割鍵Ｂが削除された状態になった場合、システム管理者が、別途本人確認を行うことで、ロックを解除し、または、バックアップ等から暗号化された分割鍵Ｂを復元してもよい。
【００９１】
また、鍵管理サーバ３は、復号に成功した場合（ステップＳ２１０におけるＯＫ）、復号失敗カウンタ値が最大値になっているか否かを確認してもよい（ステップＳ２１３）。復号失敗カウンタ値が最大値になっている場合（ステップＳ２１３における「ＭＡＸ」）、鍵管理サーバ３は、ロックエラーと判断してもよい（ステップＳ２１４）。
【００９２】
一方、復号に成功し、ロックエラーになっていない場合（ステップＳ２１３における「ＭＡＸ以外」）、鍵管理サーバ３は、復号失敗カウンタ値をゼロクリアし（ステップＳ２１５）、分割鍵Ａと分割鍵Ｂを用いて署名用秘密鍵を復元する（ステップＳ２１６）。
【００９３】
次に、鍵管理サーバ３は、署名者クライアント２に現在時刻の通知を依頼する（ステップＳ２１７）。署名者クライアント２は、鍵管理サーバ３に現在時刻Ｔを返信する（ステップＳ２１８）。鍵管理サーバ３は、現在時刻Ｔに対する検証猶予時間を付与した上で、署名用秘密鍵に対するタイムスタンプリクエストをタイムスタンプサーバ４に送信する（ステップＳ２１９）。
【００９４】
次に、タイムスタンプサーバ４は、受信したタイムスタンプリクエストに対するタイムスタンプトークンを作成し、鍵管理サーバ３に返却する（ステップＳ２２０）。鍵管理サーバ３は、ユーザＩＤに対応する暗号用公開鍵で、タイムスタンプトークンを暗号化し、署名者クライアント２に送信する（ステップＳ２２１）。
【００９５】
署名者クライアント２は、ユーザの暗号用秘密鍵を用いてタイムスタンプトークンを復号する（ステップＳ２２２）。署名者クライアント２は、タイムスタンプトークンの時刻が、時刻Ｔ＋検証猶予時間以内であるか否かを検証する（ステップＳ２２３）。検証結果が妥当である場合、署名者クライアント２は、タイムスタンプトークンから署名用秘密鍵を取り出して、データに署名を付与する（ステップＳ２２４）。そして、署名者クライアント２は、署名用秘密鍵を削除する（ステップＳ２２５）。
【００９６】
次に、本発明の概要を説明する。図８は、本発明による電子署名システムの概要を示すブロック図である。本発明による電子署名システムは、署名用秘密鍵を用いて電子署名を行う署名者クライアント８０（例えば、署名者クライアント２）と、電子署名に用いられる鍵を管理する鍵管理サーバ９０（例えば、鍵管理サーバ３）とを備えている。
【００９７】
署名者クライアント８０は、署名用秘密鍵を秘密分散する秘密分散手段８１（例えば、鍵管理部２１）と、秘密分散された一の署名用秘密鍵を暗号化する（例えば、パスワードベース暗号化方式で暗号化する）署名用秘密鍵暗号化手段８２（例えば、鍵管理部２１）と、暗号化された一の署名用秘密鍵を鍵管理サーバ９０に送信する署名用秘密鍵送信手段８３（例えば、鍵管理部２１、送受信部２３）と、署名用秘密鍵を用いた電子署名を行う電子署名手段８４（例えば、署名実行部２２）とを備えている。
【００９８】
鍵管理サーバ９０は、暗号化された一の署名用秘密鍵を（例えば、パスワードを用いて）復号する署名用秘密鍵復号手段９１（例えば、分割鍵登録部３２）と、復号された一の署名用秘密鍵（例えば、分割鍵Ｂ）と、秘密分散された他の署名用秘密鍵（例えば、分割鍵Ａ）とから、秘密分散された署名用秘密鍵を復元する署名用秘密鍵復元手段９２（例えば、秘密鍵復元部３３）と、署名用秘密鍵とその署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを含むタイムスタンプトークンを、署名者クライアント８０に送信するタイムスタンプトークン送信手段９３（例えば、分割鍵登録部３２、送受信部３１）とを備えている。
【００９９】
署名者クライアント８０の電子署名手段８４は、署名用秘密鍵の復元に必要な情報（例えば、署名者を識別するユーザＩＤ、一の署名用秘密鍵の復号に用いられるパスワード、秘密分散された他の署名用秘密鍵（分割鍵Ａ））を鍵管理サーバ９０に送信し、鍵管理サーバ９０から送信されたタイムスタンプトークンに含まれる検証猶予時間に基づいて、署名用秘密鍵を用いた電子署名を制限する（例えば、猶予時間を経過した場合には、署名できなくする）。
【０１００】
鍵管理サーバ９０の署名用秘密鍵復号手段９１は、署名用秘密鍵の復元に必要な情報（例えば、パスワード）に基づいて、暗号化された一の署名用秘密鍵を復号し、復号の成否状況（例えば、所定回数以内に復号できたか否か）に応じて、一の署名用秘密鍵の復号を制御する（例えば、復号を出来ないようにする、対象のユーザＩＤからのアクセスを拒否する、など）。
【０１０１】
そのような構成により、システム全体の運用負荷を低減させつつ、秘密鍵の漏洩および不正な電子署名を防止できる。
【０１０２】
図９は、本発明による署名者クライアントの概要を示すブロック図である。本発明による署名者クライアントは、秘密分散手段８１と、署名用秘密鍵暗号化手段８２と、署名用秘密鍵送信手段８３と、電子署名手段８４とを備えている。なお、署名者クライアントの内容は、図８に例示する署名者クライアント８０と同様である。
【０１０３】
また、図１０は、本発明による鍵管理サーバの概要を示すブロック図である。本発明による鍵管理サーバは、署名用秘密鍵復号手段９１と、署名用秘密鍵復元手段９２と、タイムスタンプトークン送信手段９３とを備えている。なお、鍵管理サーバの内容は、図８に例示する鍵管理サーバ９０と同様である。
【０１０４】
これらの装置を用いることによっても、システム全体の運用負荷を低減させつつ、秘密鍵の漏洩および不正な電子署名を防止できる。
【０１０５】
なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１０６】
（付記１）署名用秘密鍵を用いて電子署名を行う署名者クライアントと、前記電子署名に用いられる鍵を管理する鍵管理サーバとを備え、前記署名者クライアントは、前記署名用秘密鍵を秘密分散する秘密分散手段と、秘密分散された一の署名用秘密鍵を暗号化する署名用秘密鍵暗号化手段と、暗号化された前記一の署名用秘密鍵を前記鍵管理サーバに送信する署名用秘密鍵送信手段と、前記署名用秘密鍵を用いた電子署名を行う電子署名手段とを備え、前記鍵管理サーバは、暗号化された前記一の署名用秘密鍵を復号する署名用秘密鍵復号手段と、復号された前記一の署名用秘密鍵と、秘密分散された他の署名用秘密鍵とから、秘密分散された署名用秘密鍵を復元する署名用秘密鍵復元手段と、前記署名用秘密鍵と当該署名用秘密鍵を検証可能な猶予時間を規定した検証猶予時間とを含むタイムスタンプトークンを、前記署名者クライアントに送信するタイムスタンプトークン送信手段とを備え、前記署名者クライアントの電子署名手段は、前記署名用秘密鍵の復元に必要な情報を前記鍵管理サーバに送信し、前記鍵管理サーバから送信されたタイムスタンプトークンに含まれる検証猶予時間に基づいて、前記署名用秘密鍵を用いた電子署名を制限し、前記鍵管理サーバの署名用秘密鍵復号手段は、前記署名用秘密鍵の復元に必要な情報に基づいて、暗号化された前記一の署名用秘密鍵を復号し、復号の成否状況に応じて、一の署名用秘密鍵の復号を制御することを特徴とする電子署名システム。
【０１０７】
（付記２）鍵管理サーバは、タイムスタンプトークンを暗号用公開鍵を用いて暗号化するタイムスタンプトークン暗号化手段を備え、タイムスタンプトークン送信手段は、暗号化されたタイムスタンプトークンを、署名者クライアントに送信する付記１記載の電子署名システム。
【０１０８】
（付記３）署名者クライアントの電子署名手段は、鍵管理サーバから送信される暗号化されたタイムスタンプトークンを暗号用秘密鍵を用いて復号し、復号されたタイムスタンプトークンに含まれる検証猶予時間に基づいて、署名用秘密鍵を用いた電子署名を制限する付記２記載の電子署名システム。
【０１０９】
（付記４）署名者クライアントの署名用秘密鍵暗号化手段は、秘密分散された一の署名用秘密鍵をパスワードに基づいて暗号化する付記１から付記３のうちのいずれか１つに記載の電子署名システム。
【０１１０】
（付記５）鍵管理サーバの署名用秘密鍵復号手段は、署名者クライアントから送信されるパスワード用いて暗号化された一の署名用秘密鍵を復号する付記４記載の電子署名システム。
【０１１１】
（付記６）鍵管理サーバの署名用秘密鍵復号手段は、暗号化された一の署名用秘密鍵の復号が予め定めた回数失敗した場合、一の署名用秘密鍵の復号を制御する付記１から付記５のうちのいずれか１つに記載の電子署名システム。
【０１１２】
（付記７）タイムスタンプトークン送信手段は、署名用秘密鍵と検証猶予時間とを含むタイムスタンプトークンの生成をタイムスタンプサーバに依頼し、当該タイムスタンプサーバにより生成されたタイムスタンプトークンを、署名者クライアントに送信する付記１から付記６のうちのいずれか１つに記載の電子署名システム。
【０１１３】
（付記８）鍵管理サーバは、暗号用公開鍵と暗号用秘密鍵のペア、および、署名用公開鍵と署名用秘密鍵のペアを生成する鍵生成手段を備えた付記１から付記７のうちのいずれか１つに記載の電子署名システム。
【産業上の利用可能性】
【０１１４】
本発明は、署名用の秘密鍵を用いて電子署名を行う電子署名システムに好適に適用される。
【符号の説明】
【０１１５】
１  認証局システム
１１  登録部
１２  発行部
２  署名者クライアント
２１  鍵管理部
２２  署名実行部
２３  送受信部
３  鍵管理サーバ
３１  送受信部
３２  分割鍵登録部
３３  秘密鍵復元部
４  タイムスタンプサーバ
４１  送受信部
４２  署名実行部
【図１】
2014022920.tif 000003
【図２】
2014022920.tif 000004
【図３】
2014022920.tif 000005
【図４】
2014022920.tif 000006
【図５】
2014022920.tif 000007
【図６】
2014022920.tif 000008
【図７】
2014022920.tif 000009
【図８】
2014022920.tif 000010
【図９】
2014022920.tif 000011
【図１０】
2014022920.tif 000012