(57)【特許請求の範囲】
【請求項１】
署名鍵を生成及び管理する機能を有する１つ又は１つ以上の耐タンパ装置、及び、耐タンパ装置を制御する機能を有する鍵管理サーバを有する署名システムと、利用者が利用する端末装置とを具えるリモート署名方式の電子署名システムにおいて、
前記耐タンパ装置は、署名鍵となる秘密鍵と公開鍵とのキーペアを生成する機能、生成された署名鍵を当該署名鍵についての使用権限を示す認証情報と共に保管する機能、受信した暗号化された認証情報を前記キーペアの秘密鍵又は公開鍵暗号通信を行うために当該耐タンパ装置に設定されたキーペアの秘密鍵を解読鍵として用いて復号する機能、復号された認証情報を検証する機能、及び検証結果に基づいて前記署名鍵を用いてデジタル署名する機能を有し、
前記端末装置は、署名鍵についての使用権限を示す認証情報を入力する手段、及び、前記秘密鍵が署名鍵となるキーペアの公開鍵又は前記耐タンパ装置に設定されたキーペアの公開鍵を暗号鍵として用いて暗号化する暗号化手段を有し、
利用者によって前記端末装置に入力された認証情報は、前記暗号化手段により暗号化されて前記耐タンパ装置に送られ、当該耐タンパ装置において前記解読鍵を用いて復号され、
前記耐タンパ装置は、前記端末装置からのキーペア生成要求又は署名鍵生成要求に応じて、署名鍵となる秘密鍵と公開鍵とのキーペアを生成し、
各利用者の署名鍵は、当該利用者の認証情報と関係付けて前記耐タンパ装置に保管され、
電子署名に際し、前記耐タンパ装置は、受信した署名要求に含まれる認証情報と、当該署名要求に含まれる署名鍵識別情報により特定される署名鍵と関連付けて保管されている認証情報との一致性を検証し、これらの認証情報が一致する場合当該署名鍵を用いてデジタル署名することを特徴とする電子署名システム。
【請求項２】
署名鍵を生成及び管理する機能を有する１つ又は１つ以上の耐タンパ装置、及び、ネットワークに接続され、耐タンパ装置を制御する機能を有する鍵管理サーバを有する署名システムと、電子証明書を生成する証明書発行システムと、電子文書から署名対象データを生成する機能を有する編集サーバと、利用者が利用する端末装置とを具えるリモート署名方式の電子署名システムであって、
前記耐タンパ装置は、署名鍵となる秘密鍵と公開鍵とのキーペアを生成する機能、生成された署名鍵を当該署名鍵についての使用権限を示す認証情報と関連づけて保管する機能、暗号化された認証情報を前記キーペアの秘密鍵を解読鍵として用いて復号する機能、復号された認証情報を検証する機能、及び検証結果に基づいて前記署名鍵を用いてデジタル署名する機能を有し、
前記端末装置は、署名鍵についての使用権限を示す認証情報を入力する手段、及び、前記キーペアの公開鍵を暗号鍵として用いて暗号化する暗号化手段を有し、  
署名鍵の生成に際し、
前記耐タンパ装置は、前記端末装置からのキーペア生成要求に応じて、署名鍵となる秘密鍵と公開鍵とのキーペアを生成し、生成された公開鍵を前記端末装置に送信し、
利用者は自身が想到した認証情報を前記端末装置に入力し、当該端末装置は、利用者によって入力された認証情報を前記暗号化手段により暗号化し、暗号化された認証情報を前記耐タンパ装置に送信し、
前記耐タンパ装置は、受信した暗号化された認証情報を前記キーペアの秘密鍵を解読鍵として用いて復号し、復号された認証情報と署名鍵とを互いに関連付けて保管し、
電子署名に際し、
利用者は自身の認証情報を前記端末装置に入力し、当該端末装置は、利用者によって入力された認証情報を前記暗号化手段により暗号化し、暗号化された認証情報を電子文書及び署名鍵識別情報と共に編集サーバに送信し、
編集サーバは、電子文書から署名対象データを生成し、生成された署名対象データ、前記暗号化された認証情報及び署名鍵識別情報を含む署名要求を生成し、生成した署名要求を前記耐タンパ装置に送信し、
前記耐タンパ装置は、署名要求に含まれる暗号化された認証情報を前記キーペアの秘密鍵を解読鍵として用いて復号し、復号した認証情報と署名鍵識別情報により特定された署名鍵と関連付けて保管されている認証情報との一致性を検証し、
これら認証情報が互いに一致する場合、当該耐タンパ装置は、当該署名鍵を用いて署名対象データについてデジタル署名することを特徴とする電子署名システム。
【請求項３】
署名鍵を生成及び管理する機能を有する１つ又は１つ以上の耐タンパ装置、及び、ネットワークに接続され、耐タンパ装置を制御する機能を有する鍵管理サーバを有する署名システムと、電子証明書を生成する証明書発行システムと、電子文書から署名対象データを生成する機能を有する編集サーバと、利用者が利用する端末装置とを具えるリモート署名方式の電子署名システムであって、
前記耐タンパ装置は、公開鍵暗号通信を行うために設定された秘密鍵と公開鍵のキーペアを有すると共に、署名鍵となる秘密鍵と公開鍵とのキーペアを生成する機能、生成された署名鍵を当該署名鍵についての使用権限を示す認証情報と関連付けて保管する機能、暗号化された認証情報を自身の秘密鍵を解読鍵として用いて復号する機能、復号された認証情報を検証する機能、及び、前記検証結果に基づいて前記署名鍵を用いてデジタル署名する機能を有し、
前記端末装置は、署名鍵についての使用権限を示す認証情報を入力する手段、及び、前記耐タンパ装置の公開鍵を暗号鍵として用いて暗号化する暗号化手段を有し、
署名鍵の生成に際し、
利用者は自身が想到した認証情報を前記端末装置に入力し、当該端末装置は、利用者によって入力された認証情報を前記暗号化手段により暗号化して暗号化認証情報を生成し、生成された暗号化認証情報を含む署名鍵生成要求を前記耐タンパ装置に送信し、
前記耐タンパ装置は、署名鍵生成要求の受信に応じて、署名鍵となる秘密鍵と公開鍵のキーペアを生成すると共に受信した暗号化認証情報を自身の秘密鍵を解読鍵として用いて復号し、復号された認証情報と生成された署名鍵とを互いに関連付けて保管し、
電子署名に際し、
利用者は自身の認証情報を前記端末装置に入力し、当該端末装置は、利用者によって入力された認証情報を前記暗号化手段により暗号化し、暗号化された認証情報を電子文書及び署名鍵識別情報と共に編集サーバに送信し、
編集サーバは、電子文書から署名対象データを生成し、生成された署名対象データ、前記暗号化された認証情報及び署名鍵識別情報を含む署名要求を生成し、生成した署名要求を前記耐タンパ装置に送信し、
前記耐タンパ装置は、署名要求に含まれる暗号化された認証情報を自身の秘密鍵を解読鍵として用いて復号し、復号した認証情報と署名鍵識別情報により特定された署名鍵と関連付けて保管されている認証情報との一致性を検証し、
これらの認証情報が互いに一致した場合、当該耐タンパ装置は、当該署名鍵を用いて署名対象データについてデジタル署名することを特徴とする電子署名システム。
【請求項４】
署名鍵を生成及び管理する機能を有する１つ又は１つ以上の耐タンパ装置、及び、ネットワークに接続され、耐タンパ装置を制御する機能を有する鍵管理サーバを有する署名システムと、電子証明書を生成する証明書発行システムと、電子文書から署名対象データを生成する機能を有する編集サーバと、利用者が利用する端末装置とを具えるリモート署名方式の電子署名システムであって、
前記耐タンパ装置は、署名鍵となる秘密鍵と公開鍵とのキーペアを生成する機能、生成された署名鍵を当該署名鍵についての使用権限を示す認証情報と関連付けて保管する機能、受信した暗号化された認証情報を前記キーペアの秘密鍵を解読鍵として用いて復号する機能、復号された認証情報を検証する機能、及び、前記検証結果に基づいて前記署名鍵を用いてデジタル署名する機能を有し、
前記端末装置は、署名鍵についての使用権限を示す認証情報を入力する手段、及び、前記キーペアの公開鍵を暗号鍵として用いて暗号化する暗号化手段を有し、
署名鍵の生成に際し、
前記耐タンパ装置は署名鍵となる秘密鍵と公開鍵とのキーペアを生成し、生成された公開鍵を前記端末装置に送信し、
利用者は自身が想到した認証情報を前記端末装置に入力し、当該端末装置は、利用者によって入力された認証情報を前記暗号化手段により暗号化し、暗号化された認証情報を前記耐タンパ装置に送信し、
前記耐タンパ装置は、受信した暗号化された認証情報を前記キーペアの秘密鍵を解読鍵として用いて復号し、復号された認証情報と署名鍵とを互いに関連付けて保管し、
電子署名に際し、
利用者は、前記端末装置を介して電子署名の対象である電子文書を前記編集サーバに送信し、当該編集サーバは受信した電子文書から同一の２つの署名対象データを生成し、第１の署名対象データは検証用の基準データとし、第２の署名対象データは署名要求の対象となる署名対象データとし、第１の署名対象データを端末装置に送信し、
さらに、前記端末装置は、利用者によって入力された認証情報及び受信した第１の署名対象データを前記暗号化手段により暗号化して暗号化データを生成し、生成した暗号化データを前記編集サーバに送信し、
前記編集サーバは、受信した暗号化データ、署名要求の対象となる第２の署名対象データ及び署名鍵識別情報を含む署名要求を形成して前記耐タンパ装置に送信し、
前記耐タンパ装置は、署名要求に含まれる暗号化データを前記キーペアの秘密鍵を解読鍵として用いて復号し、復号された認証情報と署名鍵識別情報により特定された署名鍵と関連付けて保管されている認証情報との一致性を検証すると共に、復号された第１の署名対象データと署名要求に含まれる第２の署名対象データとの一致性を検証し、
認証情報が一致すると共に署名対象データが一致する場合、当該耐タンパ装置は、当該署名鍵を用いて署名対象データについてデジタル署名することを特徴とする電子署名システム。
【請求項５】
署名鍵を生成及び管理する機能を有する１つ又は１つ以上の耐タンパ装置、及び、ネットワークに接続され、耐タンパ装置を制御する機能を有する鍵管理サーバを有する署名システムと、電子証明書を生成する証明書発行システムと、電子文書から署名対象データを生成する機能を有する編集サーバと、利用者が利用する端末装置とを具えるリモート署名方式の電子署名システムであって、
前記耐タンパ装置は、公開鍵暗号通信を行うために設定された秘密鍵と公開鍵のキーペアを有すると共に、署名鍵となる秘密鍵と公開鍵とのキーペアを生成する機能、生成された署名鍵を当該署名鍵についての使用権限を示す認証情報と関連付けて保管する機能、受信した暗号化された認証情報を自身の秘密鍵を解読鍵として用いて復号する機能、復号された認証情報を検証する機能、及び、前記検証結果に基づいて前記署名鍵を用いてデジタル署名する機能を有し、
前記端末装置は、署名鍵についての使用権限を示す認証情報を入力する手段、及び、前記耐タンパ装置に設定されたキーペアの公開鍵を暗号鍵として用いて暗号化する暗号化手段を有し、
署名鍵の生成に際し、
利用者は自身が想到した認証情報を前記端末装置に入力し、当該端末装置は、利用者によって入力された認証情報を前記暗号化手段により暗号化して暗号化認証情報を生成し、生成された暗号化認証情報を含む署名鍵生成要求を前記耐タンパ装置に送信し、
前記耐タンパ装置は、署名鍵生成要求の受信に応じて、署名鍵となる秘密鍵と公開鍵のキーペアを生成すると共に受信した暗号化認証情報を自身の秘密鍵を解読鍵として用いて復号し、復号された認証情報と生成された署名鍵とを互いに関連付けて保管し、
電子署名に際し、
利用者は、前記端末装置を介して電子署名の対象である電子文書を前記編集サーバに送信し、前記編集サーバは受信した電子文書から同一の２つの署名対象データを生成し、第１の署名対象データは検証用の基準データとし、第２の署名対象データは署名要求の対象となる署名対象データとし、第１の署名対象データを前記端末装置に送信し、
さらに、前記端末装置は、利用者によって入力された認証情報及び受信した第１の署名対象データを前記暗号化手段により暗号化し、生成した暗号化データを前記編集サーバに送信し、
前記編集サーバは、受信した暗号化データ、署名要求の対象である第２の署名対象データ、及び署名鍵識別情報を含む署名要求を前記耐タンパ装置に送信し、
前記耐タンパ装置は、署名要求に含まれる暗号化データを自身の秘密鍵を解読鍵として用いて復号し、復号された認証情報と署名鍵識別情報により特定された署名鍵と関連付けて保管されている認証情報との一致性を検証すると共に、復号された第１の署名対象データと署名要求に含まれる第２の署名対象データとの一致性を検証し、
認証情報が一致すると共に署名対象データが一致する場合、当該耐タンパ装置は、当該署名鍵を用いて署名対象データについてデジタル署名することを特徴とする電子署名システム。
【請求項６】
請求項２から５までのいずれか１項に記載の電子署名システムにおいて、前記鍵管理サーバと前記証明書発行サーバはＶＰＮ接続により相互接続され、前記耐タンパ装置により生成されたキーペアの公開鍵は当該耐タンパ装置からＶＰＮ接続及び証明書発行サーバを介して前記端末装置に送信され、利用者により想到された認証情報及び署名鍵生成要求は前記端末装置から証明書発行サーバ及びＶＰＮ接続を介して前記耐タンパ装置に送信されることを特徴とする電子署名システム。
【請求項７】
請求項２から６までのいずれか１項に記載の電子署名システムにおいて、前記鍵管理サーバと前記編集サーバとの間にＶＰＮ接続が設けられ、署名要求は前記編集サーバからＶＰＮ接続を介して前記耐タンパ装置に送信されることを特徴とする電子署名システム。
【請求項８】
請求項２から７までのいずれか1項に記載の電子署名システムにおいて、前記編集サーバは、さらに、電子文書に電子署名を埋め込んで署名済み電子文書を生成する機能を有し、
前記耐タンパ装置は生成した電子署名を前記編集サーバに送信し、
前記編集サーバは、前記端末装置から送られた電子文書及び前記耐タンパ装置から送られた電子署名を用いて署名済み電子文書を生成することを特徴とする電子署名システム。
【請求項９】
請求項２から８までのいずれか１項に記載の電子署名システムにおいて、前記耐タンパ装置は、キーペアを予め生成し、キーペアを生成する代りに先に生成されたキーペアを割り当てることを特徴とする電子署名システム。
【請求項１０】
リモート署名方式の電子署名システムで用いられる耐タンパ装置において、
当該耐タンパ装置は、署名鍵となる秘密鍵と公開鍵とのキーペアを生成する機能と、生成された署名鍵を当該署名鍵についての使用権限を示す認証情報と関連づけて保管する機能と、受信した暗号化された認証情報を前記キーペアの秘密鍵又は公開鍵暗号通信を行うために当該耐タンパ装置に設定されたキーペアの秘密鍵を解読鍵として用いて復号する機能と、復号された情報を検証する機能と、前記検証結果に基づいて署名鍵を用いてデジタル署名する機能とを有し、
当該耐タンパ装置は、端末装置からのキーペア生成要求又は署名鍵生成要求の受信に応じて、署名鍵となる秘密鍵と公開鍵とのキーペアを生成し、生成された利用者の署名鍵を当該利用者の認証情報と関係付けて保管し、
電子署名に際し、受信した署名要求に含まれる暗号化された認証情報を前記解読鍵を用いて復号し、復号された認証情報と当該署名要求に含まれる署名鍵識別情報により特定される署名鍵と関連付けて保管されている認証情報との一致性を検証し、これらの認証情報が一致する場合当該署名鍵を用いてデジタル署名することを特徴とする耐タンパ装置。
【請求項１１】
リモート署名方式の電子署名システムで用いられる耐タンパ装置において、
当該耐タンパ装置は、署名鍵となる秘密鍵と公開鍵とのキーペアを生成する機能と、生成された署名鍵を当該署名鍵についての使用権限を示す認証情報と共に保管する機能と、認証情報及び署名対象データを含む暗号化情報を前記キーペアの秘密鍵又は公開鍵暗号通信を行うために当該耐タンパ装置に設定されたキーペアの秘密鍵を解読鍵として用いて復号する機能と、復号された認証情報を検証する機能と、復号された署名対象データを検証する機能と、前記検証結果に基づいて前記署名鍵を用いてデジタル署名する機能とを有し、
当該耐タンパ装置は、端末装置からのキーペア生成要求又は署名鍵生成要求の受信に応じて、署名鍵となる秘密鍵と公開鍵とのキーペアを生成し、生成された利用者の署名鍵を当該利用者の認証情報と関係付けて保管し、
署名要求の受信に応じて、署名要求に含まれる暗号化された認証情報及び暗号化された署名対象データを前記秘密鍵が署名鍵となるキーペアの秘密鍵又は当該耐タンパ装置に設定されたキーペアの秘密鍵を解読鍵として用いてそれぞれ復号し、
復号された認証情報と署名要求に含まれる署名鍵識別情報によって特定される署名鍵と関連付けて保管されている認証情報との一致性を検証すると共に、復号された署名対象データと署名要求に含まれる署名要求の対象である署名対象データとの一致性を検証し、
認証情報が互いに一致すると共に署名対象データが互いに一致する場合、当該署名鍵を用いて署名対象データにデジタル署名することを特徴とする耐タンパ装置。
【請求項１２】
請求項１０又は１１に記載の耐タンパ装置において、当該耐タンパ装置はHardware Security Module（HSM）により構成したことを特徴とする耐タンパ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リモート署名方式の電子署名システムに関するものである。
さらに、本発明は、リモート署名方式の電子署名システムに用いられる耐タンパ装置に関するものである。
【背景技術】
【０００２】
利用者の署名鍵を事業者のサーバに設置し、利用者がサーバに遠隔でログインし、事業者のサーバ上で自身の署名鍵を用いて電子署名するリモート署名システムが提案されている。リモート署名システムは電子署名を遠隔で行うことができると共にユーザが署名鍵を管理する必要がないため、ユーザにとって利便性の高い署名システムとして期待されている。
【０００３】
リモート署名方式の電子署名システムとして、署名鍵を管理する鍵管理システムと、証明書を発行する証明書発行システムと、利用者が利用する端末装置とを含む電子署名システムが提案されている（例えば、特許文献１参照）。この既知の電子署名システムでは、鍵管理システムに設定されたユーザのアカウントに基づき、ユーザIDとパスワードの組合せによりユーザ認証が行われている。
【０００４】
別のリモート署名システムとして、非特許文献１には以下のシステム構成例が開示されている。署名者は、署名アプリケーションに対して自身の署名者IDと署名対象データを送信して認証要求を行う。署名アプリケーションによって署名者が正しく認証されると、署名アプリケーションから署名デバイスに署名者IDと関連する署名鍵IDと署名対象データが送られる。署名装置では、署名鍵IDにより指定された署名鍵を用いて署名が行われ、署名付きの署名対象データが出力される。
【０００５】
さらに、上記非特許文献１には、リモート署名システムにおいて、２要素認証を行うことも記載されている。２要素認証として、署名鍵を活性化するための情報が端末装置から署名デバイスに送信されている。  
【特許文献１】特許第６４６５４２６号公報
【非特許文献１】「リモート署名の検討状況」（Network Security Forum 2017 ）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
現在実用化されている電子署名システムでは、ユーザIDとパスワードによるユーザ認証だけしか行われていないのが実情である。しかしながら、ユーザIDとパスワードによるユーザ認証だけでは、成り済ましの危険性が高く、セキュリティレベルを一層高くすることが要請されている。
【０００７】
リモート署名システムでは、本人しか署名できないことが重要であり、且つそれを論理的に立証できるシステムであることが望ましい。しかし、署名鍵は事業者のサーバに保管され、電子署名は事業者のサーバ上で行われるため、悪意のあるシステム管理者により署名鍵が悪用される危険性がある。すなわち、電子署名をHSMのような耐タンパ装置で行っても、種々の情報は耐タンパ装置を管理する鍵管理サーバを経由して耐タンパ装置に送られる。よって、鍵管理サーバを管理するシステム管理者は、鍵管理サーバにおいて各種情報を盗み又は抜き取ることが可能である。現状、前記文献に記載されているシステムでは、システム管理者は情報を保護する人に位置づけられ、保護対象は第三者の攻撃に向けられている。従って、システム管理者による署名鍵や署名鍵を制御する情報の盗用と悪用の危険性は否めず、結果として、論理的に本人しか署名できないことを立証できるシステムに至っていない。すなわち、リモート署名システムでは、悪意のシステム管理者からユーザを保護することも強く要請されている。
【０００８】
本発明の目的は、システム管理者による署名鍵の悪用が防止され、一層高いセキュリティレベルの電子署名システムを実現する。
また、本発明の目的は、署名鍵について正当な権限を有する者しか電子署名できない電子署名システムを提供することである。
さらに、本発明の別の目的は、セキュリティレベルの高いリモート方式の電子署名システムに用いられる耐タンパ装置を提供する。
【課題を解決するための手段】
【０００９】
本発明による電子署名システムは、署名鍵を生成及び管理する機能を有する１つ又は１つ以上の耐タンパ装置、及び、耐タンパ装置を制御する機能を有する鍵管理サーバを有する署名システムと、利用者が利用する端末装置とを具えるリモート署名方式の電子署名システムにおいて、
前記耐タンパ装置は、署名鍵となる秘密鍵と公開鍵とのキーペアを生成する機能、生成された署名鍵を当該署名鍵についての使用権限を示す認証情報と共に保管する機能、受信した暗号化された認証情報を前記キーペアの秘密鍵又は公開鍵暗号通信を行うために当該耐タンパ装置に設定されたキーペアの秘密鍵を解読鍵として用いて復号する機能、復号された認証情報を検証する機能、及び検証結果に基づいて前記署名鍵を用いてデジタル署名する機能を有し、
前記端末装置は、署名鍵についての使用権限を示す認証情報を入力する手段、及び、前記秘密鍵が署名鍵となるキーペアの公開鍵又は前記耐タンパ装置に設定されたキーペアの公開鍵を暗号鍵として用いて暗号化する暗号化手段を有し、
利用者によって前記端末装置に入力された認証情報は、前記暗号化手段により暗号化されて前記耐タンパ装置に送られ、当該耐タンパ装置において前記解読鍵を用いて復号され、
前記耐タンパ装置は、前記端末装置からのキーペア生成要求又は署名鍵生成要求に応じて、署名鍵となる秘密鍵と公開鍵とのキーペアを生成し、
各利用者の署名鍵は、当該利用者の認証情報と関係付けて前記耐タンパ装置に保管され、
電子署名に際し、前記耐タンパ装置は、受信した署名要求に含まれる認証情報と、当該署名要求に含まれる署名鍵識別情報により特定される署名鍵と関連付けて保管されている認証情報との一致性を検証し、これらの認証情報が一致する場合当該署名鍵を用いてデジタル署名することを特徴とする。
【００１０】
本発明では、利用者は、端末装置を介して耐タンパ装置に保存されている自己の署名鍵について利用者自身が想到した認証情報を設定する。一方、電子文書に電子署名を行う場合、利用者は、端末装置を介して自身の認証情報を耐タンパ装置に送信して署名鍵の使用許可を求める。耐タンパ装置は、入力された認証情報について検証を行い、正しい認証情報が入力された場合だけ署名を許可し、電子署名が行われる。この結果、署名鍵について正当な使用権限を有する者しか電子署名できない署名システムが構築される。よって、従来実施されている電子署名システムよりも一層高いセキュリティレベルの電子署名システムが実現される。
【００１１】
しかしながら、この方式の電子署名システムでは、利用者により設定された認証情報が他人により盗まれた場合、署名鍵が悪用される危険性がある。例えば、署名鍵IDと認証情報が盗まれ、ハッシュ値が改ざんされた署名要求が行われた場合、耐タンパ装置は、入力された認証情報は有効であると判断するため、当該署名要求は有効であると判定され、改ざんされたハッシュ値に電子署名が行われる。従って、この電子署名システムを有効活用するには、正当な使用権限を示す認証情報を防護することが極めて重要である。
【００１２】
本発明では、認証情報を防護するため、以下の２つの方策を採用する。第１の方策として、端末装置から耐タンパ装置に送信される認証情報について、第三者が復号できない暗号方法を用いて暗号化する。第２の方策として、署名鍵の主体について検証するだけでなく、署名対象であるハッシュ値についても検証する。
【００１３】
上述した本発明の電子署名システムは、第１の方策が搭載されている。本発明では、認証情報は、端末装置から鍵管理サーバを経由して耐タンパ装置に送信される。この場合、鍵管理サーバを経由するため、認証情報は鍵管理サーバにおいてシステム管理者により盗まれる危険性がある。そこで、本発明では、署名鍵を生成するために作成されたキーペアの秘密鍵と公開鍵を公開鍵暗号通信に利用する。すなわち、署名鍵を作成するために生成されたキーペアの秘密鍵を解読鍵として用い、公開鍵を暗号鍵として用いて公開鍵暗号通信を行う。キーペアの公開鍵で暗号化された認証情報は、対応する秘密鍵でしか復号されず、解読鍵である秘密鍵は耐タンパ装置内に安全に保存されている。よって、たとえ暗号化された認証情報や署名要求がシステム管理者によって盗まれても復号されることはない。しかも、キーペアの公開鍵は、耐タンパ装置で生成された後端末装置に送信されるので、端末装置における耐タンパ装置のアドレス設定の煩雑性が解消される利点も達成される。
【００１４】
本発明の別の電子署名システムは、署名鍵を生成及び管理する機能を有する１つ又は１つ以上の耐タンパ装置、及び、ネットワークに接続され、耐タンパ装置を制御する機能を有する鍵管理サーバを有する署名システムと、電子証明書を生成する証明書発行システムと、電子文書から署名対象データを生成する機能を有する編集サーバと、利用者が利用する端末装置とを具えるリモート署名方式の電子署名システムであって、
前記耐タンパ装置は、公開鍵暗号通信を行うために設定された秘密鍵と公開鍵のキーペアを有すると共に、署名鍵となる秘密鍵と公開鍵とのキーペアを生成する機能、生成された署名鍵を当該署名鍵についての使用権限を示す認証情報と共に保管する機能、受信した暗号化された認証情報を復号する機能、復号された認証情報を検証する機能、及び、前記検証結果に基づいて前記署名鍵を用いてデジタル署名する機能を有し、
前記端末装置は、署名鍵についての使用権限を示す認証情報を入力する手段、利用者によって入力された認証情報を暗号化する手段、及び、暗号化された認証情報を耐タンパ装置に送信する手段を有し、  
署名鍵の生成に際し、
利用者は自身が想到した認証情報を端末装置に入力し、端末装置は、利用者によって入力された認証情報を耐タンパ装置の公開鍵を用いて暗号化して暗号化認証情報を生成し、生成された暗号化認証情報を含む署名鍵生成要求を耐タンパ装置に送信し、
前記耐タンパ装置は、署名鍵生成要求の受信に応じて、署名鍵となる秘密鍵と公開鍵のキーペァを生成すると共に受信した暗号化認証情報を自身の秘密鍵を解読鍵として用いて復号し、復号された認証情報と生成された署名鍵とを互いに関連付けて保管し、
電子署名に際し、
利用者は自身の認証情報を端末装置に入力し、前記端末装置は、利用者によって入力された認証情報を前記耐タンパ装置の公開鍵を暗号鍵として用いて暗号化し、暗号化された認証情報を電子文書及び署名鍵識別情報と共に編集サーバに送信し、
編集サーバは、電子文書から署名対象データを生成し、生成された署名対象データ、前記暗号化された認証情報及び署名鍵識別情報を含む署名要求を生成し、生成した署名要求を耐タンパ装置に送信し、
前記耐タンパ装置は、受信した暗号化された認証情報を前記キーペアの秘密鍵を解読鍵として用いて復号し、復号した認証情報と署名鍵識別情報により特定された署名鍵と関連付けて保管されている認証情報との一致性を検証し、
復号された認証情報と署名鍵と一緒に保管されていた認証情報が互いに一致した場合、耐タンパ装置は、当該署名鍵を用いて署名対象データについてデジタル署名することを特徴とする。
【００１５】
耐タンパ装置に設定された公開鍵暗号通信用のキーペアの秘密鍵（解読鍵）は、耐タンパ装置内に安全に保存され、外部に流出することはない。従って、耐タンパ装置に設定された公開鍵を暗号鍵として用いて認証情報を暗号化し、暗号化された認証情報は秘密鍵を解読鍵として用いて復号すれば、署名鍵を生成する際に作成されるキーペアと同様なセキュリティレベルが達成される。
【００１６】
第２の方策が搭載された本発明の電子署名システムは、署名鍵を生成及び管理する機能を有する１つ又は１つ以上の耐タンパ装置、及び、ネットワークに接続され、耐タンパ装置を制御する機能を有する鍵管理サーバを有する署名システムと、電子証明書を生成する証明書発行システムと、電子文書から署名対象データを生成する機能を有する編集サーバと、利用者が利用する端末装置とを具えるリモート署名方式の電子署名システムであって、
前記耐タンパ装置は、署名鍵となる秘密鍵と公開鍵とのキーペアを生成する機能、生成された署名鍵を当該署名鍵についての使用権限を示す認証情報と共に保管する機能、受信した暗号化された認証情報を復号する機能、復号された認証情報を検証する機能、及び、前記検証結果に基づいて前記署名鍵を用いてデジタル署名する機能を有し、
前記端末装置は、署名鍵についての使用権限を示す認証情報を入力する手段、利用者によって入力された認証情報を暗号化する手段、及び、暗号化された認証情報を耐タンパ装置に送信する手段を有し、
署名鍵の生成に際し、
耐タンパ装置は署名鍵となる秘密鍵と公開鍵とのキーペァを生成し、生成された公開鍵を端末装置に送信し、
利用者は自身が想到した認証情報を端末装置に入力し、端末装置は、利用者によって入力された認証情報を前記キーペアの公開鍵を暗号鍵として用いて暗号化し、暗号化された認証情報を耐タンパ装置に送信し、
前記耐タンパ装置は、受信した暗号化された認証情報を前記キーペアの秘密鍵を解読鍵として用いて復号し、復号された認証情報と署名鍵とを互いに関連付けて保管し、
電子署名に際し、
利用者は、端末装置を介して電子署名の対象である電子文書を編集サーバに送信し、編集サーバは受信した電子文書から同一の２つの署名対象データを生成し、第１の署名対象データは検証用の基準データとし、第２の署名対象データは署名要求の対象となる署名対象データとし、第１の署名対象データを端末装置に送信し、
さらに、端末装置は、利用者によって入力された認証情報及び受信した第１の署名対象データを前記公開鍵を用いて暗号化して暗号化データを生成し、生成した暗号化データを編集サーバに送信し、
編集サーバは、受信した暗号化データ及び署名要求の対象となる第２の署名対象データを含む署名要求を形成して耐タンパ装置に送信し、
前記耐タンパ装置は、受信した暗号化データを前記キーペアの秘密鍵を解読鍵として用いて復号し、復号された認証情報と署名鍵識別情報により特定された署名鍵と関連付けて保管されている認証情報との一致性を検証すると共に、復号された第１の署名対象データと署名要求に含まれる第２の署名対象データとの一致性を検証し、
認証情報が一致すると共に署名対象データが一致する場合、耐タンパ装置は、当該署名鍵を用いて署名対象データについてデジタル署名することを特徴とする。
【００１７】
端末装置から耐タンパ装置に送信される署名要求は、少なくとも署名対象であるハッシュ値と、署名鍵を特定する公開鍵又は署名鍵IDと、認証情報とを含む。このような署名要求が鍵管理サーバで抜き取られ、ハッシュ値だけが改ざんされた新たな署名要求が耐タンパ装置に送信されると、耐タンパ装置は認証情報は正常であると判定し、改ざんされたハッシュ値に電子署名する不具合が発生する。この課題を解決するため、本発明では、利用者の使用権限について検証するだけでなく、署名の対象である署名対象データ（ハッシュ値）についても検証する。すなわち、電子署名の対象である電子文書から生成されると共に暗号化されたたハッシュ値（第１のハッシュ値）と電子署名の対象とされるハッシュ値（第２のハッシュ値）とを比較検証する。この場合、署名要求が正常な手順で生成された場合、第１のハッシュ値と第２のハッシュ値は同一である。一方、第１のハッシュ値は暗号化されているため改ざんすることはできない。よって、電子署名の対象とされる第２のハッシュ値が改ざんされた場合、第２のハッシュ値は第１のハッシュ値とは相違する。従って、ハッシュ値について検証することにより、ハッシュ値が改ざんされた署名要求を電子署名の対象から排除することができる。この結果、一層セキュリティレベルの高い電子署名システムが構築される。
【００１８】
本発明による耐タンパ装置は、リモート署名方式の電子署名システムで用いられる耐タンパ装置において、
当該耐タンパ装置は、署名鍵となる秘密鍵と公開鍵とのキーペアを生成する機能と、生成された署名鍵を当該署名鍵についての使用権限を示す認証情報と関連づけて保管する機能と、受信した暗号化された認証情報を前記キーペアの秘密鍵又は公開鍵暗号通信を行うために当該耐タンパ装置に設定されたキーペアの秘密鍵を解読鍵として用いて復号する機能と、復号された情報を検証する機能と、前記検証結果に基づいて署名鍵を用いてデジタル署名する機能とを有し、
当該耐タンパ装置は、端末装置からのキーペア生成要求又は署名鍵生成要求の受信に応じて、署名鍵となる秘密鍵と公開鍵とのキーペアを生成し、生成された利用者の署名鍵を当該利用者の認証情報と関係付けて保管し、
電子署名に際し、受信した署名要求に含まれる暗号化された認証情報を前記解読鍵を用いて復号し、復号された認証情報と当該署名要求に含まれる署名鍵識別情報により特定される署名鍵と関連付けて保管されている認証情報との一致性を検証し、これらの認証情報が一致する場合当該署名鍵を用いてデジタル署名することを特徴とする。
【００１９】
本発明の耐タンパ装置では、署名鍵を生成するためのキーペアの秘密鍵を解読鍵として用いると共に公開鍵を暗号鍵として用いる。解読鍵は耐タンパ装置内に安全に保存されるため、認証情報を含む署名要求がシステム管理者によって盗まれても、認証情報を解読できないため署名鍵が悪用されることはない。従って、本発明の耐タンパ装置をリモート方式の電子署名システムに用いることにより、システム管理者による署名鍵の悪用が防止された電子署名システムを構築することができる。
【００２０】
本発明による別の耐タンパ装置は、  リモート署名方式の電子署名システムで用いられる耐タンパ装置において、
当該耐タンパ装置は、公開鍵暗号通信を行うために設定された秘密鍵と公開鍵のキーペアを有すると共に、署名鍵となる秘密鍵と公開鍵とのキーペアを生成する機能と、生成された署名鍵を用いてデジタル署名する機能と、生成された署名鍵を当該署名鍵についての使用権限を示す認証情報と共に保管する機能と、受信した暗号化された認証情報を自身の秘密鍵を解読鍵として用いて復号する機能と、復号された情報を検証する機能とを有し、
当該耐タンパ装置は、
署名鍵生成要求の受信に応じて、署名鍵となる秘密鍵と公開鍵とのキーペアを生成し、署名鍵生成要求に含まれる暗号化された認証情報を自身の秘密鍵を用いて復号し、復号された認証情報と生成された署名鍵とを関連付けて保管し、
署名要求の受信に応じて、署名要求に含まれる暗号化された認証情報を自身の秘密鍵を解読鍵として用いて復号し、復号された認証情報と署名要求に含まれる署名鍵識別情報によって特定される署名鍵と関連付けて保管されている認証情報との一致性を検証し、
復号された認証情報と保管されていた認証情報が互いに一致する場合、当該署名鍵を用いてデジタル署名することを特徴とする。
【００２１】
本発明では、公開鍵暗号通信を行うために耐タンパ装置に設定されたキーペアの秘密鍵を解読鍵として用い公開鍵を暗号鍵として用いる。秘密鍵は、耐タンパ装置内に安全に保存されるため、署名要求がシステム管理者によって盗まれても、署名要求に含まれる認証情報は復号されず、署名鍵が悪用されることはない。
【００２２】
本発明の別の耐タンパ装置は、リモート署名方式の電子署名システムで用いられる耐タンパ装置において、
当該耐タンパ装置は、署名鍵となる秘密鍵と公開鍵とのキーペアを生成する機能と、生成された署名鍵を当該署名鍵についての使用権限を示す認証情報と共に保管する機能と、認証情報及び署名対象データを含む暗号化情報を前記キーペアの秘密鍵又は公開鍵暗号通信を行うために当該耐タンパ装置に設定されたキーペアの秘密鍵を解読鍵として用いて復号する機能と、復号された認証情報を検証する機能と、復号された署名対象データを検証する機能と、前記検証結果に基づいて前記署名鍵を用いてデジタル署名する機能とを有し、
当該耐タンパ装置は、端末装置からのキーペア生成要求又は署名鍵生成要求の受信に応じて、署名鍵となる秘密鍵と公開鍵とのキーペアを生成し、生成された利用者の署名鍵を当該利用者の認証情報と関係付けて保管し、
署名要求の受信に応じて、署名要求に含まれる暗号化された認証情報及び暗号化された署名対象データを前記秘密鍵が署名鍵となるキーペアの秘密鍵又は当該耐タンパ装置に設定されたキーペアの秘密鍵を解読鍵として用いてそれぞれ復号し、
復号された認証情報と署名要求に含まれる署名鍵識別情報によって特定される署名鍵と関連付けて保管されている認証情報との一致性を検証すると共に、復号された署名対象データと署名要求に含まれる署名要求の対象である署名対象データとの一致性を検証し、
認証情報が互いに一致すると共に署名対象データが互いに一致する場合、当該署名鍵を用いて署名対象データにデジタル署名することを特徴とする。
【００２３】
本発明では、署名鍵についての使用権限を示す認証情報だけでなく、電子署名の対象であるハッシュ値についても検証するので、ハッシュ値が改ざんされた署名要求を電子署名の対象から排除することができる。この結果、本発明の耐タンパ装置をリモート方式の電子署名システムに用いることにより、システム管理者による署名鍵の悪用が防止された電子署名システムを構築することができる。
【００２４】
本発明による別の耐タンパ装置は、署名鍵を生成及び管理する機能を有し、リモート署名方式の電子署名システムで用いられる耐タンパ装置において、
当該耐タンパ装置は、公開鍵暗号通信を行うために設定された秘密鍵と公開鍵とのキーペアを有すると共に、署名鍵となる秘密鍵と公開鍵とのキーペアを生成する機能と、生成された署名鍵を用いてデジタル署名する機能と、生成された署名鍵を当該署名鍵についての使用権限を示す認証情報と共に保管する機能と、暗号化された情報を自身の秘密鍵を解読鍵として用いて復号する機能と、復号された情報を検証する機能とを具え、
当該耐タンパ装置は、
署名鍵生成要求の受信に応じて、署名鍵となる秘密鍵と公開鍵とのキーペアを生成し、署名鍵生成要求に含まれる暗号化された認証情報を自身の秘密鍵を解読鍵として用いて復号し、復号された認証情報を署名鍵と関連付けて保管し、
署名要求の受信に応じて、署名要求に含まれる暗号化された認証情報及び署名対象データを自身の秘密鍵を用いてそれぞれ復号し、
復号された認証情報と署名要求に含まれる署名鍵識別情報によって特定される署名鍵と関連付けて保管されている認証情報との一致性を検証すると共に、復号された署名対象データと署名要求に含まれる署名要求の対象である署名対象データとの一致性を比較検証し、
認証情報が互いに一致すると共に署名対象データが互いに一致する場合、前記署名鍵を用いて署名対象データにデジタル署名することを特徴とする。
【発明の効果】
【００２５】
本発明では、署名鍵の使用権限を示す認証情報を各署名鍵にそれぞれ設定し、署名要求毎に使用権限の有無を検証しているので、署名鍵について正当な使用権限を有する者しか電子署名できない電子署名システムが構築される。
さらに、本発明では、端末装置から耐タンパ装置へ認証情報を送信する際公開鍵暗号方式を利用し、解読鍵となる秘密鍵が耐タンパ装置に保管されている公開鍵を暗号鍵として用いる。この構成を採用することにより、署名許可を求める署名要求が鍵管理サーバを中継して耐タンパ装置に送信されても、端末装置と耐タンパ装置は直接相互接続されているものと等価な通信状態に維持される。この結果、耐タンパ装置の有用性を利用しながら、鍵管理サーバを中継して耐タンパ装置を制御することに起因する欠点である鍵管理サーバを中継する課題が解消され、システム管理者による署名鍵の悪用が防止され、一層高いセキュリティが達成される。
さらに、使用権限を示す認証情報だけでなく、電子署名の対象である署名対象データについても検証することにより、ハッシュ値が改ざんされた署名要求を電子署名の対象から排除することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明による電子署名システムの全体構成を示す図である。
【図２】本発明による電子署名システムの署名鍵生成工程のアルゴリズムを示す図である。
【図３】本発明による電子署名システムの署名工程のアルゴリズムを示す図である。
【図４】署名鍵生成工程の変形例を示す図である。
【図５】電子署名工程の変形例を示す図である。
【図６】端末装置の一例を示すブロック図である。
【図７】鍵管理サーバの一例を示す図である。
【図８】耐タンパ装置の一例を示す図である。
【図９】編集サーバの一例を示すブロック図である。
【図１０】本発明による電子署名システムの変形例を示す図である。
【発明を実施するための形態】
【００２７】
本発明では、ユーザ認証に加えて、署名鍵の使用権限についても検証する。署名鍵の正当な使用権限を示す認証情報としてアクティベーションコード信号（「Activation Code 信号」、 以下「ＡＣ信号」と称する）を用い、 個々の署名鍵について署名者しか知らないＡＣ信号を設定する。すなわち、署名鍵の生成に当たって、利用者はＡＣ信号を想到して端末装置に入力する。このＡＣ信号は利用者しか知らないコード情報である。端末装置は、入力されたＡＣ信号を暗号化して署名システムに設けた耐タンパ装置に送信する。耐タンパ装置は、受信した暗号化ＡＣ信号を復号して耐タンパ装置内に保管されている署名鍵と関係付けて保管する。
【００２８】
利用者から署名要求がされた場合、利用者に対してＡＣ信号を入力させ、正しいＡＣ信号が入力されたか否かを耐タンパ装置で検証する。そして、正しいＡＣ信号が入力された場合のみ当該署名鍵を用いてデジタル署名を行うことを許可する。この署名システムでは、ＡＣ信号を知る者しか署名できないため、署名鍵の真の所有者しか署名できない電子署名システムが構築される。よって、署名鍵が盗まれても、悪用されることはない。
【００２９】
しかしながら、ＡＣ信号により署名鍵を制御する署名システムの場合、たとえ署名鍵が堅牢に保護されていても、ＡＣ信号がシステム管理者に渡った場合、システム管理者は入手したＡＣ信号を鍵管理サーバに入力することにより署名鍵を作動させることが可能である。すなわち、盗まれたＡＣ信号を含む署名要求が耐タンパ装置に送信された場合、ＡＣ信号自体は正常であるため、耐タンパ装置は正当な使用権限を有する者からの署名要求と判断し、デジタル署名が行われてしまう。従って、ＡＣ信号を盗用から厳格に保護することが重要な課題である。この課題を解決するため、ＡＣ信号を端末装置から耐タンパ装置に伝送する伝送工程及び署名及び検証等の信号処理を行う処理工程について検討する。
【００３０】
初めに、処理工程について検討する。本発明では、耐タンパ装置を用いてデジタル署名等の各種処理を実行する。耐タンパ装置は、署名鍵の生成、署名、復号及び検証を含む信号処理を耐タンパ装置の内部で行うことができる。また、耐タンパ装置は、署名鍵及び入力された情報が外部に流出しないように構成されている。しかも、耐タンパ装置は、外部から攻撃されても、保存されている情報を安全に防護することができる。従って、耐タンパ装置を用いることにより、署名鍵及びＡＣ信号は安全に保存され、耐タンパ装置の外部に流出してシステム管理者に渡る危険性は無い。
【００３１】
次に、伝送工程について検討する。利用者は、各署名要求毎にＡＣ信号を耐タンパ装置に送信しなければならない。端末装置から耐タンパ装置に送信されたＡＣ信号は、耐タンパ装置を管理する鍵管理サーバを経由して耐タンパ装置に入力する。すなわち、耐タンパ装置はハードウェアであり、ネットワークを介する通信機能を有しない。よって、鍵管理サーバを介して信号の送受信が行われる。すなわち、端末装置から送信されたＡＣ信号は、鍵管理サーバを必ず経由するため、ＡＣ信号を含む署名要求は、鍵管理サーバにおいて悪意のシステム管理者によって盗まれ或いは抜き取られる危険性がある。すなわち、HSMのような耐タンパ装置を用いて署名鍵を堅牢に管理しても、ＡＣ信号を端末装置から耐タンパ装置に送信される間に抜き取られる危険性がある。このように、耐タンパ装置は、優れた有用性を有するものの、鍵管理サーバを通して送受信することに起因する課題がある。
【００３２】
そこで、本発明では、利用者によって入力されたＡＣ信号を適切に暗号化して耐タンパ装置に送信する。本発明では、ＡＣ信号の伝送方法として公開鍵暗号通信を用いる。暗号鍵及び解読鍵として作用する公開鍵と秘密鍵のキーペアとして、秘密鍵が常時耐タンパ装置内に保存されているキーペアを用いる。この場合、耐タンパ装置に格納されている秘密鍵でしか暗号化情報は復号されないため、たとえＡＣ信号を含む署名要求が鍵管理サーバで抜き取られても、ＡＣ信号が復号されることはない。よって、ＡＣ信号を署名鍵とほぼ同等のセキュリティレベルに維持することができる。
【００３３】
耐タンパ装置との間で公開鍵暗号通信を行うために用いることができる公開鍵として、耐タンパ装置自身に設定されたキーペアの公開鍵、及び署名鍵を生成する際に作成されるキーペアの公開鍵がある。本発明では、これら両方の公開鍵を用いることができる。しかしながら、耐タンパ装置の公開鍵で暗号化する場合、事前に耐タンパ装置の公開鍵を入手して、端末装置のプログラムに読み込ます必要があり、設定作業が煩雑になる問題がある。すなわち、複数の耐タンパ装置を用いるシステムの場合、複数の公開鍵の中から利用者の署名鍵が保存されている耐タンパ装置の公開鍵を事前に入手し、入手した公開鍵をプログラムに読み込ませる必要がある。しかしながら、この作業は煩雑であり、利用者に対して大きな負担となる欠点がある。
【００３４】
これに対して、署名鍵生成要求の際に生成されたキーペアの公開鍵は、署名鍵生成後に署名鍵生成通知と共に耐タンパ装置から端末装置に送られる。よって、端末装置における煩雑な設定作業が不要になる。従って、署名鍵生成の際に生成されるキーペアの公開鍵を用いて暗号化することは極めて有益な手法である。
【００３５】
このように、本発明は、耐タンパ装置の利点を有効に活用しながら、適切な暗号化方法を採用することにより端末装置と耐タンパ装置とを直接相互接続したものと等価な通信状態に維持する。この結果、耐タンパ装置の利点を有効利用しながら耐タンパ装置の欠点が解消され、一層高いセキュリティレベルの電子署名システムが実現される。
【００３６】
図１は本発明による電子署名システムの全体構成を示す図である。ネットワーク１には端末装置２−１〜２−ｎが接続される。これら端末装置は、利用者が電子署名を行うために利用する装置であり、例えばパーソナルコンピュータやスマートフォーンが用いられる。端末装置は、ユーザ認証手段、署名鍵生成要求及び署名要求を作成して送信する手段を有する。さらに、端末装置は、署名鍵の正当な使用権限を示すアクティベーションコード信号（「ＡＣ信号」）を入力する手段及び入力されたＡＣ信号を暗号化する手段を有する。
【００３７】
ネットワーク１には、署名システム３を接続する。署名システム３は、端末装置からの署名鍵生成要求に応じて署名鍵を生成し、編集サーバから送られてくる署名要求に応じて指定された署名鍵を用いてハッシュ値のような署名対象データにデジタル署名を行う。この署名システム３は、鍵管理サーバ４及び鍵管理サーバに接続した１つ又は複数の耐タンパ装置５を有する。鍵管理サーバ４はネットワークに接続され、耐タンパ装置５を管理ないし制御する機能を有する。耐タンパ装置は署名鍵の生成及び電子署名等の各種機能を実行する。
【００３８】
耐タンパ装置５は署名鍵を外部に流出することなく安全に生成及び管理する機能を有し、例えばHardware Security Module（HSM）とすることができる。耐タンパ装置は、鍵を管理するプログラムである鍵管理モジュールを有し、秘密鍵（署名鍵）と公開鍵のキーペアの生成、署名鍵によるデジタル署名、署名鍵の保管、暗号化されたＡＣ信号の復号、復号されたＡＣ信号の検証する機能を実行する。また、耐タンパ装置５は、端末装置との間で公開鍵暗号通信を行うための秘密鍵と公開鍵のキーペアを有する。
【００３９】
さらに、ネットワーク１には、認証局に設けた証明書発行サーバ６を接続する。証明書発行サーバ６は、端末装置から送られる証明書発行要求に応じて証明書発行要求（CSR）を生成して電子証明書を生成する。
【００４０】
さらに、ネットワーク１には編集サーバ７も接続する。編集サーバ７は、端末装置から送られてくる署名対象である電子文書からハッシュ値のような署名対象データを生成する。また、編集サーバは、電子文書を編集して、署名システムで生成された電子署名を電子文書に埋め込み、署名済み電子文書を生成する。生成した署名済み電子文書は編集サーバ７に保管する。
【００４１】
次に、署名済み電子文書の生成アルゴリズムについて説明する。図２は署名鍵生成工程を示すフローチャートであり、図３は署名工程を示すフローチャートである。本例では、署名鍵（秘密鍵）に対応する公開鍵を暗号鍵として用い、ＡＣ信号を暗号化する。
【００４２】
図２を参照するに、利用者は端末装置２を介して署名システム３の鍵管理サーバ４に対して認証要求を行う。認証要求は、ユーザIDとパスワードによるユーザ認証とする。尚、利用者のアカウントが未作成の場合、鍵管理サーバ４は当該利用者のためのアカウントを新規に作成する。また、ユーザ認証方法として、ユーザIDとパスワードの組合せを認証する方式だけでなく、ＩＣカードに格納されたトークンを鍵管理サーバに送信することにより認証することもできる。ユーザ認証の後に、鍵管理サーバ４から端末装置２に認証応答が送信される。
【００４３】
ユーザ認証に成功すると、利用者は端末装置から鍵管理サーバ４に対してキーペア生成要求を送信する。鍵管理サーバ４は耐タンパ装置５にキーペア生成要求を送信する。耐タンパ装置は、キーペア生成要求の受信に応じて、秘密鍵と公開鍵のキーペアを生成する。生成された秘密鍵は署名鍵となり電子署名に用いられる。また、公開鍵は、認証情報を暗号化する暗号鍵として機能すると共に署名鍵識別情報として機能する。耐タンパ装置は、生成した公開鍵を含むキーペア生成通知を鍵管理サーバに送り、鍵管理サーバは受信したキーペア生成通知を端末装置に送信する。端末装置は、受信した公開鍵を保管する。本例では、生成されたキーペアの公開鍵を署名鍵識別情報として用いるので、公開鍵を用いて署名鍵が検索される。勿論、署名鍵の識別情報として、耐タンパ装置で生成した独自の識別情報を設定することも可能である。
【００４４】
利用者は、キーペア生成通知の受信に応じて、ＡＣ信号を想到し、想到したＡＣ信号をキーボードのような入力装置を介して端末装置に入力する。ＡＣ信号として、例えば８桁のコード情報とすることができる。或いは、利用者は記憶し易い簡単なコード信号の認証情報を設定し、端末装置においてメールアドレスと端末固有の定数との組合せ演算を行い、多数桁の複雑なコード信号に変換し、変換された多数桁のコード信号をＡＣ信号とすることも可能である。例えばＳＨＡ２５６ハッシュ演算を行う場合、利用者は、簡単なコード情報を記憶するだけであるから、認証情報を失念するケースが低減されると共に、３２バイト（２５６ビット）のランダムコードとなり、ＡＣコードのセキュリティは格段に向上する。
【００４５】
端末装置は、利用者によって入力されたＡＣ信号をキーペアの公開鍵を暗号鍵として用いて暗号化し、公開鍵を含む署名鍵生成要求を生成する。端末装置は、生成した署名鍵生成要求を鍵管理サーバを経由して耐タンパ装置に送信する。
【００４６】
耐タンパ装置は、受信した暗号化されたＡＣ信号をキーペアの秘密鍵を解読鍵として用いて復号する。耐タンパ装置は、署名鍵識別情報（キーペアの公開鍵）を用いて対応する署名鍵を検索し、復号されたＡＣ信号を対応する署名鍵と関連付けて保管する。続いて、ＡＣ信号保管完了通知を鍵管理サーバを経由して端末装置に送信する。尚、保管すべきキーペアが大量になり、オーバーフローするような場合、一部のキーペアを暗号化して耐タンパ装置の外部のデータベースに保管することもできる。
【００４７】
続いて、端末装置は、電子証明書を取得するため、証明書発行サーバ６に認証要求を送信する。このユーザ認証もユーザIDとパスワードの組合せとする。証明書発行サーバから端末装置に認証応答が送信される。
【００４８】
ユーザ認証に成功すると、端末装置は、ユーザID及びキーペアの公開鍵を含む電子証明書発行要求を証明書発行サーバに送信する。証明書発行サーバは、受信した公開鍵及び必要な情報を用いて証明書発行要求（CSR）を作成し、生成した証明書発行要求にデジタル署名を行って電子証明書を生成する。生成された電子証明書は端末装置に送信される。端末装置は、受信した電子証明書を格納する。
【００４９】
図３は、生成された署名鍵を用いて電子署名を行う署名工程を示す。利用者は、端末装置２を介して編集サーバ７に対してユーザ認証を要求する。ユーザ認証はユーザIDとパスワードの組合せにより行う。ユーザ認証が正常に行われると、編集サーバは端末装置に認証応答を送信する。続いて、利用者は、端末装置を介して電子署名生成要求を編集システムに設けた編集サーバに送信する。電子署名生成要求は、署名対象である電子文書、電子証明書、及び署名鍵識別情報として用いられる公開鍵を含む。
【００５０】
利用者は、電子文書について編集フィールドの設定等の編集を行う。また、 編集サーバは、電子文書からハッシュ値を生成する。続いて、編集サーバは、端末装置に対してＡＣ信号の入力を要求する。
【００５１】
利用者は、記憶しているＡＣ信号を端末装置に入力する。端末装置は入力されたＡＣ信号を暗号鍵（公開鍵）を用いて暗号化し、暗号化ＡＣ信号を編集サーバに送信する。編集サーバは、受信した暗号化ＡＣ信号、ハッシュ値及び公開鍵を含む署名要求を形成し、生成した署名要求を鍵管理サーバを経由して耐タンパ装置に送信する。尚、公開鍵は署名鍵の検索のために用いる。
【００５２】
耐タンパ装置は、受信した暗号化ＡＣ信号をキーペアの秘密鍵を解読鍵として用いて復号する。また、署名鍵識別情報（公開鍵）を用いて署名鍵を検索する。続いて、復号されたＡＣ信号を検索された署名鍵と関連付けて保管されているＡＣ信号と比較検証を行う。検証結果として、復号されたＡＣ信号が保管されているＡＣ信号と一致した場合、受信したハッシュ値についてデジタル署名を行い電子署名が生成される。電子署名及び公開鍵を含む署名結果は鍵管理サーバを経由して編集サーバに送信する。尚、ＡＣ信号が不一致の場合、エラーとして処理する。
【００５３】
編集サーバは、編集された電子文書に受信した電子署名（署名値）を埋め込み、署名済み電子文書（署名文書）を作成する。署名済み電子文書は、編集サーバに保管すると共に、必要に応じて端末装置に送信される。この実施例では、耐タンパ装置に保管されている秘密鍵（署名鍵）に対応する公開鍵は耐タンパ装置から端末装置に送信されるので、公開鍵暗号通信の暗号化キーを設定する作業が不要になり、作業性が大幅に改善される。
【００５４】
次に、耐タンパ装置に設定された公開鍵暗号通信のための公開鍵及び秘密鍵を暗号鍵及び解読鍵として用いる実施例について説明する。図４は、耐タンパ装置に設定された公開鍵暗号用の公開鍵を用いてＡＣ信号を暗号化する署名鍵生成工程を説明するためのアルゴリズムを示す。
【００５５】
利用者は端末装置を介して鍵管理サーバに対して認証要求を行う。認証要求は、ユーザIDとパスワードによるユーザ認証とする。ユーザ認証に成功すると、利用者は端末装置から鍵管理サーバに対して署名鍵生成要求を送信する。鍵管理サーバは、返信として端末装置にＡＣ信号入力要求を送信する。
【００５６】
利用者は、ＡＣ信号を想到し、入力装置介して想到したＡＣ信号を入力する。  入力されたＡＣ信号は耐タンパ装置に設定されたキーペアの公開鍵を用いて暗号化する。そのため、利用者は、事前に耐タンパ装置の公開鍵を入手して、端末装置のプログラムに読み込ませる。端末装置は、ユーザIDと共に暗号化されたＡＣ信号を含む署名鍵生成要求を生成し、鍵管理サーバを経由して耐タンパ装置に送信する。
【００５７】
耐タンパ装置は、署名鍵生成要求の受信に応じて、秘密鍵と公開鍵のキーペアを生成する。生成された秘密鍵は署名鍵となり電子署名に用いられる。さらに、耐タンパ装置は、受信した暗号化ＡＣ信号を自身の秘密鍵を解読鍵として用いて復号する。続いて、生成されたキーペアと復号されたＡＣ信号を対として保管する。
【００５８】
続いて、耐タンパ装置は、生成した公開鍵を含む署名鍵生成完了通知を対応する端末装置に送信する。
【００５９】
署名鍵生成完了通知を受信すると、端末装置は、受信した公開鍵を保存する。
【００６０】
続いて、利用者は、端末装置を介して証明書発行サーバにアクセスし、前述した処理に基づいて電子証明書を取得する。取得した電子証明書は端末装置に保管する。
【００６１】
署名工程は図３に示すアルゴリズムに基づいて電子署名が形成され、署名済み電子文書が作成される。尚、署名工程において、端末装置から耐タンパ装置に送信される暗号化ＡＣ信号は、耐タンパ装置に設定された公開鍵暗号通信用の公開鍵を用いて暗号化する。また、耐タンパ装置は、受信したＡＣ信号を自身の秘密鍵を解読鍵として用いて復号する。
【００６２】
次に、署名工程の変形例について説明する。上述した実施例では、ＡＣ信号について検証を行い、署名要求に含まれるＡＣ信号が署名鍵と関連付けて保管されているＡＣ信号と一致した場合、デジタル署名が行われる。しかしながら、署名鍵についてだけ検証するシステムでは、署名要求が編集サーバ又は鍵管理サーバで盗まれ又は抜き取られた場合、誤ったハッシュ値について署名する危険性がある。すなわち、署名要求は、ハッシュ値、署名鍵ID及び暗号化ＡＣ信号を含む。一方、耐タンパ装置は、ＡＣ信号についてだけ検証するため、ＡＣ信号が正常な場合ハッシュ値が改ざんされていてもデジタル署名が行われる。よって、システム管理者によって署名要求が盗まれ、ハッシュ値が改ざんされた署名要求を作成して耐タンパ装置に送信した場合、当該署名要求は有効なものと判断され、誤ったハッシュ値に署名する問題が発生する。すなわち、電子署名が悪用される危険性がある。
【００６３】
上述した課題を解決するため、本例では、ＡＣ信号及び署名対象データ（ハッシュ値）の両方について検証する。そして、ＡＣ信号及びハッシュ値の両方がそれぞれ正常な場合のみデジタル署名を行う。
【００６４】
図５はＡＣ信号及びハッシュ値の両方について検証するアルゴリズムを示す。利用者は、端末装置を介して編集サーバに認証要求を送信する。編集サーバは、ユーザ認証を行って認証応答を端末装置に送信する。続いて、利用者は、編集サーバに対して電子署名生成要求を送信する。電子署名生成要求は、署名対象である電子文書、電子証明書、署名鍵識別情報として作用する公開鍵、及び耐タンパ装置IDを含む。
【００６５】
編集サーバは、電子文書を編集すると共に、電子署名の対象である電子文書から第１及び第２の２つの同一のハッシュ値を生成する。第１のハッシュ値は、検証の基準とする。第２のハッシュ値は、署名要求の対象となるハッシュ値とする。続いて、編集サーバは、端末装置に対して第１のハッシュ値を含むＡＣ信号入力要求を送信する。
【００６６】
利用者は、キーボードを介して端末装置にＡＣ信号を入力する。端末装置は入力されたＡＣ信号及び第１のハッシュ値の両方を暗号化し、暗号化されたＡＣ信号及び暗号化された第１のハッシュ値を含む暗号化データを編集サーバに送信する。ここで、第１のハッシュ値は暗号化されているため、改ざんすることはできない。尚、耐タンパ装置に設定された秘密鍵と公開鍵を用いて公開鍵暗号通信を行う場合、耐タンパ装置の公開鍵で暗号化する。また、署名鍵と対応する公開鍵を用いて公開鍵暗号通信を行う場合、生成されたキーペアの公開鍵で暗号化する。
【００６７】
編集サーバは、受信した暗号化データと署名要求の対象である第２のハッシュ値とを含む署名要求を生成する。生成された署名要求は耐タンパ装置に送信する。電子署名の対象である第２のハッシュ値は、システムが正常に動作している場合、端末装置から送られた電子文書から生成したハッシュ値、すなわち第１のハッシュ値と等しいハッシュ値である。すなわち、第１のハッシュ値と第２のハッシュ値は互いに等しい。これに対して、署名要求が盗まれてハッシュ値が改ざんされた場合、第２のハッシュ値は第１のハッシュ値は異なるハッシュ値となる。
【００６８】
耐タンパ装置は、受信した暗号化データを復号し、ＡＣ信号及び第１のハッシュ値を形成する。続いて、署名鍵識別情報を用いて署名鍵を検索し、復号されたＡＣ信号と検索された署名鍵と関連付けて保管されているＡＣ信号との一致性を検証する。また第２のハッシュ値と復号された第１のハッシュ値とを比較検証を行う。ＡＣ信号について検証することにより、正当な使用権限を有する者による署名要求か否かが判定される。また、ハッシュ値について検証することにより、署名対象が改ざんされたか否かが判定される。検証結果として、ＡＣ信号及びハッシュ値の両方が一致する場合、当該署名要求は有効であると判定され、署名対象データについてデジタル署名が行われる。生成された電子署名を含む署名結果は、鍵管理サーバを経由して編集サーバに送信する。一方、ＡＣ信号又はハッシュ値が不一致な場合、当該署名要求はエラーとして処理する。
【００６９】
本例では、署名の対象である電子文書から生成したハッシュ値はＡＣ信号と共に暗号化されるため、改ざんすることはできない。よって、たとえ署名要求が盗まれてハッシュ値が改ざんされた場合、ハッシュ値が相違するため、その署名要求は無効であると判定される。よって、署名要求が盗用されても、誤った電子文書に署名する不具合は生じない。このように、署名要求者及び署名対象の両方について検証することにより、一層高いセキュリティレベルを得ることができる。
【００７０】
図６は端末装置の機能構成を示すブロック図である。尚、図６は、図２及び図３に示す実施例の電子署名に係る部分だけを示す。端末装置は、通信手段１０、制御部１１、入力装置１２及び記憶部１３を有する。通信手段１０はネットワークに接続され、鍵管理サーバ等との間でデータの送受信を行う。制御部１１は、認証要求部１４を有し、ユーザIDとパスワードによる認証要求を署名システムの鍵管理サーバ等に送信する。続いて、署名システムにログインし、キーペア生成要求部１５からキーペア生成要求を耐タンパ装置に送信する。耐タンパ装置で生成されたキーペアの公開鍵は通信手段を介して記憶部の公開鍵記憶部１６に格納する。
【００７１】
利用者は、キーボードのような入力装置１２を介してＡＣ信号を端末装置に入力する。入力されたＡＣ信号は制御部の暗号化部１７に供給され、公開鍵記憶部に保存されている公開鍵（暗号鍵）で暗号化され、署名鍵生成要求作成部１８に送られる。署名鍵生成要求作成部１８は、暗号化されたＡＣ信号を含む署名鍵生成要求を作成し、通信手段を介して耐タンパ装置に送信する。    
【００７２】
電子証明書発行要求部１９は、耐タンパ装置から受信した公開鍵を含む電子証明書発行要求を生成し、証明書発行サーバに送信する。作成された電子証明書は、通信手段を介して受信し、電子証明書記憶部２０に格納する。
【００７３】
電子文書アップロード部２１は、電子文書記憶部２２に保管されている電子文書及び保管されている電子証明書を含む電子署名生成要求を作成し、編集サーバに送信する。
【００７４】
編集サーバで署名済み電子文書が作成されると、作成された署名文書は、記憶部の署名済み電子文書記憶部２３に格納する。
【００７５】
図７は鍵管理サーバの機能構成を示す。鍵管理サーバは、通信手段３０、制御部３１及びユーザ情報データベース３２を有する。制御部は、ユーザ認証処理部３３を有し、端末装置の認証画面に表示された認証情報（ユーザIDとパスワード）を認証し、認証応答を端末装置に送信する。
【００７６】
端末装置から送られるキーペア生成要求及び署名鍵生成要求並びに編集サーバから送られてくる署名要求は耐タンパ装置制御部３４に供給され、指定された処理に対応した指示が耐タンパ装置に送られる。耐タンパ装置で生成されたデータ等の情報は耐タンパ装置制御部を介して端末装置等に送られる。尚、鍵管理サーバと耐タンパ装置は内部バス又は外部バスを介して接続することができる。或いは、ＬＡＮを介して接続することも可能である。
【００７７】
図８は耐タンパ装置の機能構成を示す。耐タンパ装置は管理部４０、処理部４１及び記憶部４２を有する。端末装置や編集サーバから送信された情報信号は鍵管理サーバを経由して管理部４０に入力する。管理部４０は、処理部に設けた各機能部を制御し、入力した情報信号に応じて指定された機能を実行する。キーペア生成要求の受信に応じて、キーペア生成部４３が作動して署名鍵となる秘密鍵と公開鍵とのキーペアを生成する。生成されたキーペアは保管部４４に格納され、公開鍵は管理部を介して端末装置に送信する。
【００７８】
署名鍵生成要求の受信に応じて、ＡＣ信号が取り出され、復号化部４５により秘密鍵を用いて復号する。復号されたＡＣ信号は保管部４４に送られる。保管部は生成されたキーペアとＡＣ信号とを対としてキーペアデータを形成する。このキーペアデータは記憶部４２に設けたキーペアデータ記憶部４６に保存する。
【００７９】
署名要求が入力すると、復号化部４５が作動して署名要求に含まれる暗号化ＡＣ信号を復号する。また、署名鍵識別情報（公開鍵）を用いて対応する署名鍵が検索される。復号されたＡＣ信号及び検索された署名鍵と一緒に保管されているＡＣ信号は検証部４７に送られ、比較検証が行われる。これらのＡＣ信号が互いに一致した場合署名が許可される。そして、デジタル署名部４８において、対応する署名鍵を用いて署名要求に含まれるハッシュ値についてデジタル署名が行われる。
【００８０】
図９は編集サーバの機能構成を示すブロック図である。編集サーバは、通信手段５０、制御部５１及び記憶部５２を有する。通信手段５０は、ネットワークに接続され、端末装置及び耐タンパ装置との間で情報の送受信が行われる。ユーザ認証処理部５３は、ユーザ情報記憶部５４に保管されているユーザ情報を用い、端末装置から送られてくる認証要求を処理する。
【００８１】
端末装置から送られてくる電子署名生成要求に含まれる電子文書や電子証明書等は電子署名生成要求受信部５５で受信する。受信した電子文書はハッシュ値生成部５６に送られて、署名対象である電子文書からハッシュ値が生成される。生成されたハッシュ値は署名要求生成部５７に供給する。署名鍵識別情報として機能する公開鍵は、電子署名生成要求受信部５５から署名要求生成部５７に送られる。また、受信した暗号化ＡＣ信号は署名要求生成部５７に送られる。署名要求生成部は、暗号化ＡＣ信号、ハッシュ値、及び公開鍵を含む署名要求を生成して耐タンパ装置に送信する。電子文書及び電子証明書は編集部５８にも送られる。利用者は編集部にアクセスして電子文書を編集し、形成される電子署名のフィールドの配置方法や配置位置を設定する。
【００８２】
耐タンパ装置から送られる署名結果は署名データ埋め込み部５９に送られ、編集された電子文書に電子署名が埋め込まれ、署名文書が生成される。署名文書（署名済み電子文書）は署名文書記憶部６０に保管する。
【００８３】
図１０は本発明による電子署名システムの変形例を示す図である。本例では、鍵管理サーバ４と証明書発行サーバ６との間及び鍵管理サーバ４と編集サーバ７との間にＶＰＮ接続をそれぞれ設ける。ＶＰＮ接続を設けることにより、鍵管理サーバと証明書発行サーバは直接的に相互接続されたものと等価になり、鍵管理サーバと編集サーバも相互に直接接続されたものと等価な関係なる。この結果、耐タンパ装置から端末装置に対してキーペアの公開鍵をＶＰＮ接続及び証明書発行サーバを経由して送信することができ、端末装置から証明書発行サーバ及びＶＰＮ接続を介して耐タンパ装置に認証情報、キーペア生成要求及び署名鍵生成要求を送信することができる。また、鍵管理サーバと編集サーバとの間にＶＰＮ接続を設けることにより、署名対象データや認証情報を含む署名要求をＶＰＮ接続を介して耐タンパ装置に一層安全に送信することができる。
【００８４】
本例では、端末装置と鍵管理サーバとの間の情報伝送は、証明書発行サーバとＶＰＮ接続を介して行われ、編集サーバと鍵管理サーバとの情報伝送はＶＰＮ接続を経由して行われるので、耐タンパ装置はアタッカーによる攻撃が受けにくくなり、署名鍵及び認証情報に対する防護機能が格段に向上する。
【００８５】
本発明は上述した実施例に限定されず種々の変形や変更が可能である。例えば、署名工程においてチャレンジコードを用いて署名要求の有効性を検証することもできる。すなわち、署名要求に際し、端末装置は耐タンパ装置にチャレンジコードを要求する。生成されたチャレンジコードは端末装置に送られ、ＡＣ信号と共に暗号化して耐タンパ装置に送信する。耐タンパ装置は、ＡＣ信号と共にチャレンジコードを復号し、保管されているチャレンジコードと比較検証を行う。このようにチャレンジコードについても検証することにより、署名要求自体の有効性を判断することができる。
【符号の説明】
【００８６】
１  ネットワーク
２  端末装置
３  署名システム
４  鍵管理サーバ
５  耐タンパ装置
６  証明書発行サーバ
７  編集サーバ
１０，３０，５０  通信手段
１１，３１，４１  制御部
１２  入力装置
１３，４２，５２  記憶部
４０  管理部
７０，７１  ＶＰＮ接続
【要約】
【課題】システム管理者による署名鍵の悪用が防止され、セキュリティレベルの高い電子署名システムを実現する。
【解決手段】利用者は、端末装置（２）を介して耐タンパ装置（５）に保存されている自己の署名鍵について利用者自身が想到した認証情報を設定する。電子文書に電子署名を行う場合、利用者は、端末装置（２）を介して自身の認証情報を耐タンパ装置（５）に送信して署名鍵の使用許可を求める。耐タンパ装置（５）は、入力された認証情報について検証を行い、正しい認証情報が入力された場合だけ署名を許可し、電子署名を行う。この結果、署名鍵について正当な使用権限を有する者しか電子署名できない署名システムが構築される。
【選択図】図１【図１】
0006751545.tif 000002
【図２】
0006751545.tif 000003
【図３】
0006751545.tif 000004
【図４】
0006751545.tif 000005
【図５】
0006751545.tif 000006
【図６】
0006751545.tif 000007
【図７】
0006751545.tif 000008
【図８】
0006751545.tif 000009
【図９】
0006751545.tif 000010
【図１０】
0006751545.tif 000011