説明

電子署名システム、署名サーバ、署名者クライアント、電子署名方法、およびプログラム

【課題】クライアントからサーバに秘密鍵を送信し、サーバ上で電子署名を実行するシステムにおいて、署名対象文書と秘密鍵の関連付けを確実にし、クライアントが指定した署名対象文書に確実に電子署名を行うことが可能なシステムを提供する。
【解決手段】署名対象文書に電子署名を付与する署名サーバ3と、署名サーバ3に、署名対象文書、および電子署名の付与に用いる秘密鍵を送信する署名者クライアント2を備え、署名者クライアント2は、署名サーバ3に署名対象文書を送信する際、タイムスタンプサーバ4を介して、識別子を含む第1のタイムスタンプトークンを署名サーバ3に送信し、署名サーバ3に秘密鍵を送信する際、タイムスタンプサーバ4を介して識別子を含む第2のタイムスタンプトークンを署名サーバ3に送信し、署名サーバ3は、第1のタイムスタンプトークンと第2のタイムスタンプトークンに含まれる識別子が一致する場合にのみ、署名対象文書に秘密鍵を用いて電子署名を付与する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子署名システム、署名サーバ、署名者クライアント、電子署名方法、およびプログラムに関する。
【背景技術】
【0002】
電子文書に対するデジタル署名方式として、公開鍵暗号方式を用いた電子署名が広く用いられている。電子署名を実行するためには、秘密鍵及び電子署名を実行するアプリケーションが必要となるが、暗号アルゴリズムの危殆化等により電子署名に用いる暗号アルゴリズムを新しいアルゴリズムに変更する必要が生じた場合等、電子署名を行う全てのクライアントのアプリケーションを修正する必要がある。
【0003】
特許文献1、特許文献2に電子署名システムの一例が、記載されている。
特許文献1には、クライアントではなくサーバのデータベースでクライアントの秘密鍵を一括管理し、サーバ上で電子署名を実行するシステムが開示されている。
また、特許文献2には、電子署名を行う都度クライアントからサーバに秘密鍵を送信し、サーバ上で電子署名を実行するシステムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−200740号公報
【特許文献2】特開2009−212747号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1のシステムでは、秘密鍵の保護はサーバの管理及び運用に依存している。そのためサーバの脆弱性からクライアントの秘密鍵が漏洩した場合のリスクが高い。また、サーバが秘密鍵保持者であることを確認するため、クライアントを認証する仕組みが別途必要である。さらに、サーバ及びデータベースの厳重な管理に加えて、秘密鍵の管理状態の監視が必要であることから、システム全体の運用負荷が高くなる。
【0006】
特許文献2のシステムでは、上記の課題は解決されるものの、サーバにおいて電子署名対象文書、秘密鍵、およびパスワードの誤った組み合わせで署名が実行されてしまう可能性がある。その理由は、クライアントがサーバに送付した署名対象文書と秘密鍵、パスワードの関連はSSLの同一セッション内のシーケンスである事でしか担保されないため、予め署名対象文書をサーバに格納しておいた場合など、同一セッションを用いない場合には、サーバ上の署名対象文書と秘密鍵、およびパスワードの関連を担保することができないからである。
【0007】
また、特許文献2のシステムでは、サーバにおいて、クライアントの意図しない署名対象文書に対して署名が実施されてしまう可能性がある。その理由は、サーバ上で署名を実行する文書には制限がないため、サーバへの不正侵入等により悪意のある第三者が署名対象文書をクライアントが意図する文書とは異なる文書にすり替えた場合に、それを検知することができないためである。
【0008】
本発明は、電子署名を行う都度クライアントからサーバに秘密鍵を送信し、サーバ上で電子署名を実行するシステムにおいて、署名対象文書と秘密鍵の関連付けを確実にすることで、クライアントが指定した署名対象文書に確実に電子署名を行うことが可能なシステムを提供することを一つの目的とする。
【0009】
本発明に係る電子署名システムは、署名対象文書に電子署名を付与する署名サーバと、前記署名サーバに、前記署名対象文書、および前記電子署名の付与に用いる秘密鍵を送信する署名者クライアントを備え、前記署名者クライアントは、前記署名サーバに前記署名対象文書を送信する際、タイムスタンプサーバを介して、識別子を含む第1のタイムスタンプトークンを前記署名サーバに送信し、前記署名サーバに前記秘密鍵を送信する際、前記タイムスタンプサーバを介して前記識別子を含む第2のタイムスタンプトークンを前記署名サーバに送信し、前記署名サーバは、前記第1のタイムスタンプトークンと前記第2のタイムスタンプトークンに含まれる前記識別子が一致する場合にのみ、前記署名対象文書に前記秘密鍵を用いて電子署名を付与するものである。
【発明の効果】
【0010】
本発明によれば、署名サーバにおいて、署名対象文書と秘密鍵の関連付けを確実にし、署名者クライアントが指定した署名対象文書に確実に電子署名を行うことが可能となる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施の形態1による、電子署名システムの構成を示すブロック図。
【図2】本発明の実施の形態1による、認証局システムの機能を説明する図。
【図3】本発明の実施の形態1による、署名者クライアントの機能を説明する図。
【図4】本発明の実施の形態1による、署名サーバの機能を説明する図。
【図5】本発明の実施の形態1による、タイムスタンプサーバの機能を説明する図。
【図6】本発明の実施の形態1による、電子署名システムの動作を説明する図。
【図7】本発明の実施の形態2による、署名者クライアントの機能を説明する図。
【図8】本発明の実施の形態2による、署名サーバの機能を説明する図。
【図9】本発明の実施の形態2による、電子署名システムの動作を説明する図。
【発明を実施するための形態】
【0012】
実施の形態1.
図1は、本発明の実施の形態1による電子署名システム100の構成を示すブロック図である。
図1に示すように、電子署名システム100は、認証局システム1、署名者クライアント2、署名サーバ3、およびタイムスタンプサーバ4と、これらを相互に接続するインターネット等の通信網5を備えている。
【0013】
認証局システム1は、登録部11と発行部12を備えている。図2を用いて各部の機能について説明する。
登録部11は、署名者クライアント2からの証明書発行要求に応じて当該ユーザを登録し、発行部12に証明書発行要求を通知する。
発行部12は、証明書発行要求に対して公開鍵証明書を発行する機能と、公開鍵証明書を署名者クライアント2へ配付する機能を有する。
【0014】
署名者クライアント2は、認証局システム1から配布された公開鍵証明書を保管する。なお、公開鍵証明書に対応する秘密鍵は、署名者クライアント2の秘密鍵管理部22が生成するようにしてもよいし、認証局システム1の発行部12が生成するようにしてもよい。
【0015】
署名者クライアント2は、送受信部21、秘密鍵管理部22、および署名対象文書管理部23を備えている。図3を用いて各部の機能について説明する。
秘密鍵管理部22は、秘密鍵及び公開鍵(公開鍵証明書)を管理する機能と、入力パスワードからパスワードベース暗号化方式(PKCS#5)で秘密鍵を暗号化する機能を有する。秘密鍵管理部22は、入力されたパスワードを用いて秘密鍵を暗号化した後、当該パスワードと暗号化された秘密鍵を、送受信部21を経由して署名サーバ3に送信する。
【0016】
署名対象文書管理部23は、nonce受入可能値を設定する機能と、署名対象文書を選択する機能と、nonce(識別子)を生成し保存する機能を有する。
【0017】
送受信部21は、署名サーバ3にnonce受入可能値、署名対象文書、暗号化された秘密鍵、およびパスワードを送信する。また、送受信部21は、タイムスタンプリクエストを生成し、タイムスタンプサーバ4に送信する機能と、署名サーバ3から署名データを受信する機能を有する。
【0018】
送受信部21は、署名対象文書管理部23から受け取ったnonceを用いて、署名対象文書に対するタイムスタンプリクエストを生成し、タイムスタンプサーバ4へ送信する。また、署名対象文書管理部23で保存しているnonceを用いて、つまり署名対象文書に対するタイムスタンプリクエストと同じnonceを用いて、秘密鍵及びパスワードに対応するタイムスタンプリクエストを生成し、タイムスタンプサーバ4へ送信する。なお、タイムスタンプリクエスト及び以下で説明するタイムスタンプトークンの生成については、例えば、“RFC3161, "Internet X. 509 Public Key Infrastructure Time-Stamp Protocol (TSP)", 2001”に記載された方法を用いることができる。
【0019】
署名サーバ3は、送受信部31、秘密鍵取得部32、および署名実行部33を備えている。図4を用いて各部の機能について説明する。
送受信部31は、署名者クライアント2からnonce受入可能値、署名対象文書、暗号化された秘密鍵、およびパスワードを受信し、タイムスタンプサーバ4からタイムスタンプトークンを受信する機能を有する。
【0020】
秘密鍵取得部32は、暗号化された秘密鍵とパスワードを用いて、秘密鍵を取り出す機能を有する。
【0021】
署名実行部33は、タイムスタンプトークンの有効性の検証を行う機能と、タイムスタンプトークンからnonceを取得して保存する機能と、秘密鍵にアクセスして署名を実行する機能を有する。
【0022】
署名実行部33は、署名対象文書に対するタイムスタンプトークンに含まれるnonceを取り出して保存する。次に、暗号化された秘密鍵とパスワードそれぞれに対するタイムスタンプトークンに含まれるnonceとの一致確認を行う。
【0023】
具体的には、nonce受入可能値をnonce一致確認数とし、一致確認を行う毎にnonce一致確認数を減算する。さらに、nonceが一致した場合にnonce受入可能値を減算する。そして、nonce一致確認数=nonce受入可能数=0となった場合のみ、秘密鍵取得部32が暗号化された秘密鍵とパスワードから秘密鍵を取り出し、署名実行部33が署名を実行する。秘密鍵取得部32は署名実行後に秘密鍵を消去する。
【0024】
タイムスタンプサーバ4は、送受信部41と署名実行部42を備えている。図5を用いて各部の機能について説明する。
送受信部41は、署名者クライアント2から送信されたタイムスタンプリクエストを受信する。署名実行部42はタイムスタンプリクエストに対応したタイムスタンプトークンを生成する。さらに、送受信部41が生成されたタイムスタンプトークンを署名サーバ3へ送信する。
【0025】
なお、nonceを使用せずに、タイムスタンプリクエストのextensionフィールドに署名対象文書を識別する識別子を含め、それに対応する暗号化された秘密鍵およびパスワードに対して同一の識別子を含めることで、署名対象文書、暗号化された秘密鍵、およびパスワードの関連を判断できるようにしてもよい。
【0026】
次に、図6を用いて電子署名システム100の動作について詳しく説明する。
署名者クライアント2は、nonce受入可能値=2を設定し(ステップS1)、署名対象文書を選択する(ステップS2)。次に、乱数であるnonceを生成し保存する(ステップS3)。
【0027】
署名者クライアント2は、このnonceを用いて署名対象文書に対するタイムスタンプリクエストを作成し、タイムスタンプサーバ4に送信する(ステップS4、S23)。さらに、署名対象文書とnonce受入可能値を署名サーバ3に送信する(ステップS5、S12)。
【0028】
次に、署名者クライアント2は、署名対象文書へ署名を行う秘密鍵を暗号化するために、パスワードを入力し(ステップS6)、パスワードベース暗号化方式(PKCS#5形式)により秘密鍵を暗号化する(ステップS7)。さらに、ステップS4の署名対象文書に対するタイムスタンプリクエストの生成時に使用したものと同一のnonceを用いて、暗号化された秘密鍵およびパスワードのそれぞれに対するタイムスタンプリクエストを作成し、タイムスタンプサーバ4に対して送信する(ステップS8、S10、S26、S29)。さらに、暗号化された秘密鍵およびパスワードを署名サーバ3に送信する(ステップS9、S11、S13、S14)。
【0029】
署名サーバ3は、署名者クライアント2から送信された署名対象文書と、タイムスタンプサーバ4から送信された署名対象文書に対するタイムスタンプトークンを用いて、当該タイムスタンプトークンの有効性を検証した後にタイムスタンプトークンに含まれているnonceを保存する(ステップS15、S24、S25)。
【0030】
次に、署名サーバ3は、nonce受入可能数=2をnonce一致確認数とし、署名者クライアント2から送信された暗号化された秘密鍵と、タイムスタンプサーバ4から送信された暗号化された秘密鍵に対するタイムスタンプトークンを用いて、当該タイムスタンプトークンの有効性を検証した後にタイムスタンプトークンに含まれているnonceと、署名対象文書に対するタイムスタンプトークンに含まれていたnonceが一致するか否かを確認する(ステップS16、S27、S28)。確認処理後、nonce一致確認数を減算して1とする。さらに、nonceが一致していることを確認した場合には、nonce受入可能数を減算して1とする。
【0031】
次に、署名者クライアント2から送信されたパスワードと、タイムスタンプサーバ4から送信されたパスワードに対するタイムスタンプトークンを用いて、当該タイムスタンプトークンの有効性を検証した後にタイムスタンプトークンに含まれているnonceと、署名対象文書に対するタイムスタンプトークンに含まれていたnonceが一致するか否かを確認する(ステップS17、S30、S31)。確認処理後、nonce一致確認数を減算して0とする。さらに、nonceが一致していることを確認した場合には、nonce受入可能数を減算して0とする。
【0032】
署名サーバ3は、nonce一致確認数=nonce受入可能数=0となった場合にのみ、暗号化された秘密鍵とパスワードを用いて秘密鍵を取り出す(ステップS18)。さらに、署名サーバ3は署名対象文書に対して署名を実行し(ステップS19)、署名データを署名者クライアント2に送信する(ステップS21、S22)。さらに、署名実行後に秘密鍵を消去する(ステップS20)。
【0033】
以上のように、本実施形態によれば、署名者クライアント2が、署名対象文書、秘密鍵、およびパスワードを送信する際に、同一のnonceを含むタイムスタンプトークンを署名サーバ3に送信し、署名サーバ3は、それぞれのタイムスタンプトークンに含まれるnonceが同一であることを確認した後に署名を実行するようにしたので、署名サーバ3において、署名者クライアント2が送信した正しい署名対象文書、秘密鍵、およびパスワードの組み合わせで、電子署名を行うことができる。
【0034】
また、署名者クライアント2が、署名サーバ3にnonce受入可能値を送信し、署名サーバ3は、nonce受入可能値と、nonceが一致していることを確認した回数が一致する場合にのみ、署名対象文書に対して署名を実行するようにしたので、クライアントが意図する署名対象文書に対してのみ、確実に署名が実行される。
【0035】
実施の形態2.
図7は、本発明の実施の形態2による電子署名システム100の署名者クライアント2の機能を説明する図である。
実施の形態2では、署名者クライアント2の署名対象文書管理部24は、nonce受入可能値と共に、タイムスタンプ受入許容値を設定する機能を有する。その他の署名対象文書を選択する機能、nonceを生成し保管する機能は、実施の形態1と同様である。
【0036】
送受信部25は、署名サーバ3にnonce受入可能値、タイムスタンプ受入許容値、と署名対象文書、暗号化された秘密鍵、およびパスワードを送信する。タイムスタンプリクエストを生成し、タイムスタンプサーバ4に送信する機能と、署名サーバ3から署名データを受信する機能は、実施の形態1と同様である。また、秘密鍵管理部22の機能は実施の形態1と同様である。
【0037】
図8は、実施の形態2による電子署名システム100の署名サーバ3の機能を説明する図である。
実施の形態2では、署名サーバ3の送受信部34は、署名者クライアント2から受信したnonce受入可能値、タイムスタンプ受入許容値、署名対象文書、暗号化された秘密鍵、およびパスワードを受信する。タイムスタンプサーバ4からタイムスタンプトークンを受信する機能は実施の形態1と同様である。
【0038】
署名実行部35は、タイムスタンプトークンの有効性検証を行う機能と、タイムスタンプトークンから時刻情報を取得する機能と、タイムスタンプトークンからnonceを取得し保存する機能と、秘密鍵にアクセスして署名を実行する機能を有する。
【0039】
署名実行部35は、署名対象文書に対するタイムスタンプトークンに含まれる時刻情報を取り出し、タイムスタンプトークンの有効性検証を実施した時刻との差分値を算出する。次に、暗号化された秘密鍵に対するタイムスタンプトークンに含まれる時刻情報とタイムスタンプトークンの有効性検証を実施した時刻との差分値を算出する。さらに、パスワードに対するタイムスタンプトークンに含まれる時刻情報とタイムスタンプトークンの有効性検証を実施した時刻との差分値を算出する。
【0040】
次に、署名対象文書に対するタイムスタンプトークンに含まれるnonceを取り出し保存する。次に暗号化された秘密鍵に対するタイムスタンプトークンに含まれるnonceとの一致確認を行う。次に、パスワードに対するタイムスタンプトークンに含まれるnonceとの一致確認を行う。
【0041】
具体的には、nonce受入可能値=nonce一致確認数と設定し、差分値の算出及びnonceの一致確認を行う毎にnonce一致確認数を減算する。さらに、nonceが一致した場合にnonce受入可能値を減算する。そして、差分値の合計値がタイムスタンプ受入許容値以下であり、かつnonce一致確認数=nonce受入可能数=0となった場合にのみ、秘密鍵取得部32が暗号化された秘密鍵とパスワードから秘密鍵を取り出し、署名実行部33が署名を実行する。秘密鍵取得部32は署名実行後に秘密鍵を消去する。
【0042】
なお、タイムスタンプリクエストを送信するタイミングを増やし、差分値の算出箇所の組み合わせや、許容値の設定箇所の組み合わせに対してタイムスタンプリクエストを行ってもよい。さらに、タイムスタンプリクエストを受け付けるタイムスタンプサーバ4で受入許容値を制御し、タイムスタンプトークンの有無により署名の可否を判断するようにしてもよい。
【0043】
次に、図9を用いて実施の形態2による電子署名システム100の動作について詳しく説明する。
署名者クライアント2は、nonce受入可能値=2と、タイムスタンプ受入許容値T を設定し(ステップS101)、署名対象文書を選択する(ステップS2)。次に、乱数であるnonceを生成し保存する(ステップS3)。
【0044】
署名者クライアント2は、このnonceを用いて署名対象文書に対するタイムスタンプリクエストを作成し、タイムスタンプサーバ4に送信する(ステップS4、S23)。さらに、署名対象文書とnonce受入可能値とタイムスタンプ受入許容値Tを署名サーバ3に送信する(ステップS105、S12)。
【0045】
次に、署名者クライアント2は、署名対象文書へ署名を行う秘密鍵を暗号化するために、パスワードを入力し(ステップS6)、パスワードベース暗号化方式(PKCS#5形式)により秘密鍵を暗号化する(ステップS7)。さらに、ステップS4の署名対象文書に対するタイムスタンプリクエストの生成時に使用したものと同一のnonceを用いて、暗号化された秘密鍵およびパスワードのそれぞれに対するタイムスタンプリクエストを作成し、タイムスタンプサーバ4に対して送信する(ステップS8、S10、S26、S29)。さらに、暗号化された秘密鍵およびパスワードを署名サーバ3に送信する(ステップS9、S11、S13、S14)。
【0046】
署名サーバ3は、署名者クライアント2から送信された署名対象文書と、タイムスタンプサーバ4から送信された署名対象文書に対するタイムスタンプトークンを用いて、当該タイムスタンプトークンの有効性を検証した後にタイムスタンプトークンに含まれているnonceを保存する。さらに、タイムスタンプトークンの有効性を検証した時刻T_V1と、タイムスタンプトークンから取得した時刻情報T_G1から、差分値T_D1=T_G1−T_V1を算出する(ステップS115、S24、S25)。
【0047】
次に、署名サーバ3は、nonce受入可能数=2をnonce一致確認数とし、署名者クライアント2から送信された暗号化された秘密鍵と、タイムスタンプサーバ4から送信された暗号化された秘密鍵に対するタイムスタンプトークンを用いて、当該タイムスタンプトークンの有効性を検証した後にタイムスタンプトークンに含まれているnonceと、署名対象文書に対するタイムスタンプトークンに含まれていたnonceが一致するか否かを確認する。確認処理後、nonce一致確認数を減算して1とする。さらに、nonceが一致していることを確認した場合には、nonce受入可能数を減算して1とする。さらに、タイムスタンプトークンの有効性を検証した時刻T_V2と、タイムスタンプトークンから取得した時刻情報T_G2から、差分値T_D2=T_G2−T_V2を算出する(ステップS116、S27、S28)。
【0048】
次に、署名者クライアント2から送信されたパスワードと、タイムスタンプサーバ4から送信されたパスワードに対するタイムスタンプトークンを用いて、当該タイムスタンプトークンの有効性を検証した後にタイムスタンプトークンに含まれているnonceと、署名対象文書に対するタイムスタンプトークンに含まれていたnonceが一致するか否かを確認する。確認処理後、nonce一致確認数を減算して0とする。さらに、nonceが一致していることを確認した場合には、nonce受入可能数を減算して0とする。さらに、タイムスタンプトークンの有効性を検証した時刻T_V3と、タイムスタンプトークンから取得した時刻情報T_G3から、差分値T_D3=T_G3−T_V3を算出する(ステップS117、S30、S31)。
【0049】
次に、署名サーバ3は、差分値の合計値(T_D1+T_D2+T_D3)がタイムスタンプ受入許容値T以下であり、かつnonce一致確認数=nonce受入可能数=0となった場合のみ、暗号化された秘密鍵とパスワードを用いて秘密鍵を取り出す(ステップS118,S18)。さらに、署名サーバ3は署名対象文書に対して署名を実行し(ステップS19)、署名データを署名者クライアント2に送信する(ステップS21、S22)。さらに、署名実行後に秘密鍵を消去する(ステップS20)。
【0050】
以上のように、本実施形態によれば、署名者クライアント2が、電子署名サーバ3にタイムスタンプ受入許容値Tを送信し、署名サーバ3は、各々のタイムスタンプトークンの有効性を検証した時刻と、タイムスタンプトークンから取得した時刻から差分値を算出し、各々の差分値の合計がタイムスタンプ受入許容値T以下の場合にのみ、電子署名を実行するようにしたので、署名対象文書、秘密鍵、およびパスワードの組み合わせの検証を、より確実に行うことができる。
【0051】
上記の実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)署名対象文書に電子署名を付与する署名サーバと、
前記署名サーバに、前記署名対象文書、および前記電子署名の付与に用いる秘密鍵を送信する署名者クライアントを備え、
前記署名者クライアントは、
前記署名サーバに前記署名対象文書を送信する際、タイムスタンプサーバを介して、識別子を含む第1のタイムスタンプトークンを前記署名サーバに送信し、
前記署名サーバに前記秘密鍵を送信する際、前記タイムスタンプサーバを介して前記識別子を含む第2のタイムスタンプトークンを前記署名サーバに送信し、
前記署名サーバは、
前記第1のタイムスタンプトークンと前記第2のタイムスタンプトークンに含まれる前記識別子が一致する場合にのみ、前記署名対象文書に前記秘密鍵を用いて電子署名を付与する、電子署名システム。
【0052】
(付記2)付記1に記載の電子署名システムであって、
前記署名者クライアントは、前記署名サーバに、識別子受入可能値を送信し、
前記署名サーバは、前記識別子受入可能値と、同一の前記識別子を含むタイムスタンプトークンの数が一致する場合にのみ、前記署名対象文書に前記秘密鍵を用いて電子署名を付与する、電子署名システム。
【0053】
(付記3)付記2に記載の電子署名システムであって、
前記署名者クライアントは、前記電子署名サーバに、タイムスタンプ受入許容値を送信し、
前記署名サーバは、前記第1のタイムスタンプトークンに刻印された時刻と前記第1のタイムスタンプトークンに含まれる識別子を検証した時刻の差分と、前記第2のタイムスタンプトークンに刻印された時刻と前記第2のタイムスタンプトークンに含まれる識別子を確認した時刻の差分との合計値が、前記タイムスタンプ受入許容値以下の場合にのみ、前記署名対象文書に前記秘密鍵を用いて電子署名を付与する、電子署名システム。
【0054】
(付記4)付記1に記載の電子署名システムであって、
前記署名者クライアントは、前記秘密鍵を、パスワードを用いて暗号化してから前記署名サーバに送信すると共に、前記パスワードを前記署名サーバに送信し、
前記署名サーバに前記パスワードを送信する際、前記タイムスタンプサーバを介して前記識別子を含む第3のタイムスタンプトークンを前記署名サーバに送信し、
前記署名サーバは、
前記第1のタイムスタンプトークンと、前記第2のタイムスタンプトークンと、前記第3のタイムスタンプトークンに含まれる前記識別子が一致する場合にのみ、前記パスワードを用いて前記秘密鍵を取得すると共に、前記署名対象文書に前記秘密鍵を用いて電子署名を付与する、電子署名システム。
【0055】
(付記5)署名対象文書に電子署名を付与する署名サーバであって、
署名者クライアントから、前記署名対象文書、および前記電子署名の付与に用いる秘密鍵を受信し、
前記署名対象文書を受信する際、タイムスタンプサーバから識別子を含む第1のタイムスタンプトークン受信し、
前記秘密鍵を受信する際、前記タイムスタンプサーバから、前記識別子を含む第2のタイムスタンプトークンを受信する送受信部と、
前記第1のタイムスタンプトークンと前記第2のタイムスタンプトークンに含まれる前記識別子が一致する場合にのみ、前記署名対象文書に前記秘密鍵を用いて電子署名を付与する署名実行部と、を備えた署名サーバ。
【0056】
(付記6)署名サーバに、署名対象文書への電子署名の付与を依頼する署名者クライアントであって、
前記署名サーバに前記署名対象文書を送信すると共に、タイムスタンプサーバを介して識別子を含む第1のタイムスタンプトークンを前記署名サーバに送信し、
前記署名サーバに前記電子署名の付与に用いる秘密鍵を送信すると共に、前記タイムスタンプサーバを介して前記識別子を含む第2のタイムスタンプトークンを前記署名サーバに送信する、送受信部を備えた署名者クライアント。
【0057】
(付記7)署名者クライアントが、署名サーバに署名対象文書を送信すると共に、タイムスタンプサーバを介して識別子を含む第1のタイムスタンプトークンを前記署名サーバに送信し、
前記署名者クライアントが、前記署名サーバに前記電子署名の付与に用いる秘密鍵を送信すると共に、前記タイムスタンプサーバを介して前記識別子を含む第2のタイムスタンプトークンを前記署名サーバに送信し、
前記署名サーバが、前記第1のタイムスタンプトークンと前記第2のタイムスタンプトークンに含まれる前記識別子が一致する場合にのみ、前記署名対象文書に前記秘密鍵を用いて電子署名を付与する、電子署名方法。
【0058】
(付記8)コンピュータを、署名対象文書に電子署名を付与する署名サーバとして機能させるプログラムであって、
前記コンピュータを、
署名者クライアントから、前記署名対象文書、および前記電子署名の付与に用いる秘密鍵を受信し、
前記署名対象文書を受信する際、タイムスタンプサーバから識別子を含む第1のタイムスタンプトークン受信し、
前記秘密鍵を受信する際、前記タイムスタンプサーバから、前記識別子を含む第2のタイムスタンプトークンを受信する送受信部と、
前記第1のタイムスタンプトークンと前記第2のタイムスタンプトークンに含まれる前記識別子が一致する場合にのみ、前記署名対象文書に前記秘密鍵を用いて電子署名を付与する署名実行部と、して機能させるプログラム。
【0059】
(付記9)コンピュータを、署名サーバに、署名対象文書への電子署名の付与を依頼する署名者クライアントとして機能させるプログラムであって、
前記コンピュータを、
前記署名サーバに前記署名対象文書を送信すると共に、タイムスタンプサーバを介して識別子を含む第1のタイムスタンプトークンを前記署名サーバに送信し、
前記署名サーバに前記電子署名の付与に用いる秘密鍵を送信すると共に、前記タイムスタンプサーバを介して前記識別子を含む第2のタイムスタンプトークンを前記署名サーバに送信する、送受信部として機能させるプログラム。
【符号の説明】
【0060】
1 認証局システム、2 署名者クライアント、3 署名サーバ、4 タイムスタンプサーバ、5 通信網、11 登録部、12 発行部、21,25 送受信部、22 秘密鍵管理部、23,24 署名対象文書管理部、31,34 送受信部、32 秘密鍵取得部、33,35 署名実行部、41 送受信部、42 署名実行部、100 電子署名システム

【特許請求の範囲】
【請求項1】
署名対象文書に電子署名を付与する署名サーバと、
前記署名サーバに、前記署名対象文書、および前記電子署名の付与に用いる秘密鍵を送信する署名者クライアントを備え、
前記署名者クライアントは、
前記署名サーバに前記署名対象文書を送信する際、タイムスタンプサーバを介して、識別子を含む第1のタイムスタンプトークンを前記署名サーバに送信し、
前記署名サーバに前記秘密鍵を送信する際、前記タイムスタンプサーバを介して前記識別子を含む第2のタイムスタンプトークンを前記署名サーバに送信し、
前記署名サーバは、
前記第1のタイムスタンプトークンと前記第2のタイムスタンプトークンに含まれる前記識別子が一致する場合にのみ、前記署名対象文書に前記秘密鍵を用いて電子署名を付与する、電子署名システム。
【請求項2】
請求項1に記載の電子署名システムであって、
前記署名者クライアントは、前記署名サーバに、識別子受入可能値を送信し、
前記署名サーバは、前記識別子受入可能値と、同一の前記識別子を含むタイムスタンプトークンの数が一致する場合にのみ、前記署名対象文書に前記秘密鍵を用いて電子署名を付与する、電子署名システム。
【請求項3】
請求項2に記載の電子署名システムであって、
前記署名者クライアントは、前記電子署名サーバに、タイムスタンプ受入許容値を送信し、
前記署名サーバは、前記第1のタイムスタンプトークンに刻印された時刻と前記第1のタイムスタンプトークンに含まれる識別子を検証した時刻の差分と、前記第2のタイムスタンプトークンに刻印された時刻と前記第2のタイムスタンプトークンに含まれる識別子を確認した時刻の差分との合計値が、前記タイムスタンプ受入許容値以下の場合にのみ、前記署名対象文書に前記秘密鍵を用いて電子署名を付与する、電子署名システム。
【請求項4】
請求項1に記載の電子署名システムであって、
前記署名者クライアントは、前記秘密鍵を、パスワードを用いて暗号化してから前記署名サーバに送信すると共に、前記パスワードを前記署名サーバに送信し、
前記署名サーバに前記パスワードを送信する際、前記タイムスタンプサーバを介して前記識別子を含む第3のタイムスタンプトークンを前記署名サーバに送信し、
前記署名サーバは、
前記第1のタイムスタンプトークンと、前記第2のタイムスタンプトークンと、前記第3のタイムスタンプトークンに含まれる前記識別子が一致する場合にのみ、前記パスワードを用いて前記秘密鍵を取得すると共に、前記署名対象文書に前記秘密鍵を用いて電子署名を付与する、電子署名システム。
【請求項5】
署名対象文書に電子署名を付与する署名サーバであって、
署名者クライアントから、前記署名対象文書、および前記電子署名の付与に用いる秘密鍵を受信し、
前記署名対象文書を受信する際、タイムスタンプサーバから識別子を含む第1のタイムスタンプトークン受信し、
前記秘密鍵を受信する際、前記タイムスタンプサーバから、前記識別子を含む第2のタイムスタンプトークンを受信する送受信部と、
前記第1のタイムスタンプトークンと前記第2のタイムスタンプトークンに含まれる前記識別子が一致する場合にのみ、前記署名対象文書に前記秘密鍵を用いて電子署名を付与する署名実行部と、を備えた署名サーバ。
【請求項6】
署名サーバに、署名対象文書への電子署名の付与を依頼する署名者クライアントであって、
前記署名サーバに前記署名対象文書を送信すると共に、タイムスタンプサーバを介して識別子を含む第1のタイムスタンプトークンを前記署名サーバに送信し、
前記署名サーバに前記電子署名の付与に用いる秘密鍵を送信すると共に、前記タイムスタンプサーバを介して前記識別子を含む第2のタイムスタンプトークンを前記署名サーバに送信する、送受信部を備えた署名者クライアント。
【請求項7】
署名者クライアントが、署名サーバに署名対象文書を送信すると共に、タイムスタンプサーバを介して識別子を含む第1のタイムスタンプトークンを前記署名サーバに送信し、
前記署名者クライアントが、前記署名サーバに前記電子署名の付与に用いる秘密鍵を送信すると共に、前記タイムスタンプサーバを介して前記識別子を含む第2のタイムスタンプトークンを前記署名サーバに送信し、
前記署名サーバが、前記第1のタイムスタンプトークンと前記第2のタイムスタンプトークンに含まれる前記識別子が一致する場合にのみ、前記署名対象文書に前記秘密鍵を用いて電子署名を付与する、電子署名方法。
【請求項8】
コンピュータを、署名対象文書に電子署名を付与する署名サーバとして機能させるプログラムであって、
前記コンピュータを、
署名者クライアントから、前記署名対象文書、および前記電子署名の付与に用いる秘密鍵を受信し、
前記署名対象文書を受信する際、タイムスタンプサーバから識別子を含む第1のタイムスタンプトークン受信し、
前記秘密鍵を受信する際、前記タイムスタンプサーバから、前記識別子を含む第2のタイムスタンプトークンを受信する送受信部と、
前記第1のタイムスタンプトークンと前記第2のタイムスタンプトークンに含まれる前記識別子が一致する場合にのみ、前記署名対象文書に前記秘密鍵を用いて電子署名を付与する署名実行部と、して機能させるプログラム。
【請求項9】
コンピュータを、署名サーバに、署名対象文書への電子署名の付与を依頼する署名者クライアントとして機能させるプログラムであって、
前記コンピュータを、
前記署名サーバに前記署名対象文書を送信すると共に、タイムスタンプサーバを介して識別子を含む第1のタイムスタンプトークンを前記署名サーバに送信し、
前記署名サーバに前記電子署名の付与に用いる秘密鍵を送信すると共に、前記タイムスタンプサーバを介して前記識別子を含む第2のタイムスタンプトークンを前記署名サーバに送信する、送受信部として機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−17089(P2013−17089A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2011−149296(P2011−149296)
【出願日】平成23年7月5日(2011.7.5)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】