IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社 キーテクノロジーズの特許一覧

特許7230287リモート署名システム及びリモート署名方法
<>
  • 特許-リモート署名システム及びリモート署名方法 図1
  • 特許-リモート署名システム及びリモート署名方法 図2
  • 特許-リモート署名システム及びリモート署名方法 図3
  • 特許-リモート署名システム及びリモート署名方法 図4
  • 特許-リモート署名システム及びリモート署名方法 図5
  • 特許-リモート署名システム及びリモート署名方法 図6
  • 特許-リモート署名システム及びリモート署名方法 図7
  • 特許-リモート署名システム及びリモート署名方法 図8
  • 特許-リモート署名システム及びリモート署名方法 図9
  • 特許-リモート署名システム及びリモート署名方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-02-20
(45)【発行日】2023-03-01
(54)【発明の名称】リモート署名システム及びリモート署名方法
(51)【国際特許分類】
   H04L 9/32 20060101AFI20230221BHJP
   G06F 21/33 20130101ALI20230221BHJP
   G06F 21/60 20130101ALI20230221BHJP
   G06F 21/64 20130101ALI20230221BHJP
   H04L 9/08 20060101ALI20230221BHJP
   H04L 9/10 20060101ALI20230221BHJP
【FI】
H04L9/32 200B
G06F21/33
G06F21/60 360
G06F21/64
H04L9/08 B
H04L9/08 F
H04L9/10 A
H04L9/32 200F
【請求項の数】 9
(21)【出願番号】P 2022066604
(22)【出願日】2022-04-13
【審査請求日】2022-04-15
【早期審査対象出願】
(73)【特許権者】
【識別番号】522150539
【氏名又は名称】株式会社 キーテクノロジーズ
(74)【代理人】
【識別番号】100124280
【弁理士】
【氏名又は名称】大山 健次郎
(72)【発明者】
【氏名】木戸 啓介
【審査官】打出 義尚
(56)【参考文献】
【文献】米国特許出願公開第2018/0367311(US,A1)
【文献】国際公開第2021/111824(WO,A1)
【文献】特開2004-151896(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F 21/60
G06F 21/64
G06F 21/33
H04L 9/08
H04L 9/10
(57)【特許請求の範囲】
【請求項1】
署名鍵を生成及び管理する機能を有する1つ又は1つ以上の耐タンパ装置及び耐タンパ装置を制御する鍵管理サーバを有する署名システムと、利用者ないし署名者が利用する端末装置とを備え、耐タンパ装置によって管理される署名鍵を用いて、電子文書から生成された署名対象データに電子署名するリモート署名システムであって、
前記端末装置は、秘密鍵と公開鍵とのキーペアを生成する手段又は外部で生成されたキーペアをインストールする手段、及び、前記秘密鍵を暗号鍵として用い、署名対象データを暗号化して暗号トークンを形成する手段を有し、
前記耐タンパ装置は、署名鍵を生成する手段、生成された署名鍵を当該耐タンパ装置に保存する手段、暗号化された署名対象データを含む暗号トークンを前記公開鍵用いて復号する手段、復号された署名対象データを用いて署名要求の有効性を検証する検証手段、及び、前記検証手段による検証結果に基づき、耐タンパ装置に保存されている署名鍵を用いて署名対象データに電子署名する署名手段を有し、
前記キーペアの秘密鍵は端末装置に保存され、キーペアの公開鍵は耐タンパ装置に送信され、利用者の署名鍵と関係付けて耐タンパ装置に保存され、
前記端末装置に保存された秘密鍵は署名対象データを暗号化する暗号鍵として機能し、耐タンパ装置に署名鍵と関係付けて保存された公開鍵は、暗号トークンを復号する復号鍵として機能し、
前記署名鍵、公開鍵、及び署名鍵を識別する署名鍵識別情報は対の関係として利用者毎に耐タンパ装置に記憶され、
電子署名に際し、端末装置は、前記秘密鍵を用いて署名対象データを暗号化して暗号トークンを生成し、
署名されるべき署名対象データ、暗号化された署名対象データを含む暗号トークン、及び署名鍵識別情報を含む署名要求が生成されて耐タンパ装置に送信され、
前記耐タンパ装置は、署名要求に含まれる署名鍵識別情報により特定される署名鍵と関係付けて保存されている公開鍵を用いて暗号トークンを復号し、復号された署名対象データと署名されるべき署名対象データとの一致性を検証し、復号された署名対象データと署名されるべき署名対象データとが一致しない場合、当該署名要求は電子署名の対象から除外され、一致する場合、耐タンパ装置は、署名鍵を用いて署名対象データに電子署名することを特徴とするリモート署名システム。
【請求項2】
請求項1に記載のリモート署名システムにおいて、本人認証の適格性を欠く署名要求及び署名対象データが改ざんされた署名要求は電子署名の対象から除外されることを特徴とするリモート署名システム。
【請求項3】
請求項1に記載のリモート署名システムにおいて、電子署名に際し、端末装置は、前記暗号鍵を用いて署名対象データに対して署名演算を行うことにより暗号トークンを生成し、前記耐タンパ装置は、復号鍵を用いて署名要求に含まれる暗号トークンに対して署名演算を行って署名値を生成し、生成された署名値と署名要求に含まれる署名対象データとの一致性を検証することを特徴とするリモート署名システム。
【請求項4】
請求項1に記載のリモート署名システムにおいて、前記復号鍵は、署名鍵を識別する署名鍵識別情報又は署名鍵識別情報を含む識別情報を用いて検索されることを特徴とするリモート署名システム。
【請求項5】
請求項1に記載のリモート署名システムにおいて、前記端末装置は、電子文書から署名対象データを生成する手段を有し、生成された署名対象データを暗号化して暗号トークンを生成することを特徴とするリモート署名システム。
【請求項6】
請求項1に記載のリモート署名システムにおいて、当該リモート署名システムは、さらに、署名されるべき電子文書を管理する編集サーバと、署名用の電子証明書を生成する証明書発行サーバとを備えることを特徴とするリモート署名システム。
【請求項7】
請求項6に記載のリモート署名システムにおいて、前記編集サーバは電子文書から署名対象データを生成する手段を有することを特徴とするリモート署名システム。
【請求項8】
請求項1に記載のリモート署名システムにおいて、前記耐タンパ装置は、Hardware Security Module(HSM)により構成したことを特徴とするリモート署名システム。
【請求項9】
署名鍵を生成及び管理する耐タンパ装置及び耐タンパ装置を制御する機能を有する鍵管理サーバを有する署名システムと、利用者ないし署名者が利用する端末装置とを備えるリモート署名システムにおいて用いられ、耐タンパ装置によって管理される署名鍵を用いて、電子文書から生成された署名対象データに電子署名を行うリモート署名方法であって、
前記耐タンパ装置は、利用者からの要求に応じて署名鍵を生成し、
前記端末装置は秘密鍵と公開鍵のキーペアを生成し又は外部で生成されたキーペアがインストールされ、
前記キーペアの秘密鍵は端末装置に保存され、キーペアの公開鍵は耐タンパ装置に送られ、利用者の署名鍵と関係付けて耐タンパ装置に保存され、
前記端末装置に保存された秘密鍵は署名対象データを暗号化する暗号鍵として機能し、耐タンパ装置に署名鍵と関係付けて保存された公開鍵は、暗号トークンを復号する復号鍵として機能し、
前記署名鍵、公開鍵、及び、署名鍵を識別する署名鍵識別情報は、対の関係として利用者毎に耐タンパ装置に保存され、
電子署名に際し、端末装置は、前記秘密鍵を用いて署名対象データを暗号化して暗号トークンを生成し、
署名されるべき署名対象データ、暗号化された署名対象データを含む暗号トークン、及び署名鍵識別情報を含む署名要求が生成されて耐タンパ装置に送信され、
耐タンパ装置は、署名要求に含まれる署名鍵識別情報により特定される署名鍵と関係付けて保存されている公開鍵を用いて暗号トークンを復号し、復号された署名対象データと署名されるべき署名対象データとの一致性を検証し、復号された署名対象データと署名されるべき署名対象データとが一致しない場合、当該署名要求は電子署名の対象から除外され、一致する場合、耐タンパ装置は、署名鍵を用いて署名対象データに電子署名することを特徴とするリモート署名方法。





【発明の詳細な説明】
【技術分野】
【0001】
本発明は、署名鍵を用いて署名対象データに電子署名を行うリモート署名システムに関するものである。
【背景技術】
【0002】
利用者の署名鍵を事業者のサーバに設置し、利用者がサーバに遠隔でログインし、事業者のサーバ上で自身の署名鍵を用いて電子署名するリモート署名システムが提案されている。リモート署名システムは電子署名を遠隔で行うことができると共にユーザが署名鍵を管理する必要がないため、ユーザにとって利便性の高い署名システムとして期待されている。
【0003】
リモート署名方式の電子署名システムとして、署名鍵を管理する鍵管理システムと、証明書を発行する証明書発行システムと、利用者が利用する端末装置とを含む電子署名システムが提案されている(例えば、特許文献1参照)。この既知の電子署名システムでは、鍵管理システムに設定されたユーザのアカウントに基づき、ユーザIDとパスワードの組合せによりユーザ認証が行われている。
【0004】
また、本願人よりリモート署名方式の電子署名システムが提案されている(例えば、特許文献2参照)。この電子署名システムでは、耐タンパ装置は、利用者からの要求に応じて、秘密鍵と公開鍵のキーペアを生成する。秘密鍵は署名鍵となり、耐タンパ装置に保存される。公開鍵は端末装置に送信されて暗号鍵として保存される。続いて、利用者は、自己の署名鍵について使用権限を示すパスワードのような認証情報を想到し、端末装置を介して耐タンパ装置に送信する。耐タンパ装置は、受信した利用者の認証情報を利用者の署名鍵と関係付けて保存する。利用者の認証情報は利用者の頭脳に記憶され、秘密状態に維持される。
【0005】
電子署名を行う際、利用者は、端末装置に自身の認証情報を入力する。端末装置は、暗号鍵(公開鍵)を用いて入力された認証情報を暗号化して暗号トークンを生成する。続いて、暗号トークン、署名されるべき署名対象データ、及び署名鍵識別情報を含む署名要求が耐タンパ装置に送信される。耐タンパ装置は、暗号トークンを解読鍵を用いて復号し、復号された認証情報について検証を行い、正しい認証情報が入力された場合だけ電子署名を許可する。この結果、署名鍵について正当な使用権限を有する者しか電子署名できないリモート署名システムが構築される。
【文献】特許第6465426号公報
【文献】特開2021-111925号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
認証情報を用いて本人確認を実行する電子署名システムでは、認証情報を知っている署名鍵の所有者しか署名できないため、高いセキュリティを確保することができる。しかしながら、認証情報は利用者の頭脳に保持されるため、利用者が認証情報を失念した場合、署名システムを利用できなくなる問題がある。また、認証情報を簡単なパスワードで構成した場合、ハッカーによって容易に盗用される危険性がある。認証情報が他人により盗用されると、使用権限を有しない者が電子署名する不祥事が発生する。一方、認証情報の盗用を防止するため、複雑なパスワードを用いることが想定される。しかしながら、この場合、認証情報を失念し易くなり、署名システムを利用できなくなるおそれがある。
【0007】
さらに、リモート署名の分野においては、端末装置から耐タンパ装置に送られる署名対象データ(電子文書に相当する)に対する改ざんの有無を検証することが強く望まれている。すなわち、改ざんされた署名対象データに署名した場合、誤った電子文書に署名する不具合が生じてしまう。しかしながら、上述した電子署名システムでは、本人確認の検証と署名対象データの有効性の検証とが別々に行われている。このため、2つの検証処理を別々に実行する必要があり、認証処理が煩雑になる欠点があった。すなわち、2回の検証を行う場合、2回分の検証データの収集が必要であり、検証データの収集作業が煩雑になってしまう。
【0008】
本発明の目的は、パスワードのような認証情報を用いることなく、署名鍵を制御できるリモート署名システムを実現することにある。
本発明の別の目的は、1回の検証工程を実行するだけで、本人確認及び署名対象の有効性確認すなわち改ざんの有無の確認を行うことができるリモート署名システムを実現することにある。
【課題を解決するための手段】
【0009】
本発明によるリモート署名システムは、署名鍵を生成及び管理する機能を有する1つ又は1つ以上の耐タンパ装置及び耐タンパ装置を制御する鍵管理サーバを有する署名システムと、利用者ないし署名者が利用する端末装置とを備え、耐タンパ装置によって管理される署名鍵を用いて、電子文書から生成された署名対象データに電子署名するリモート署名システムであって、
前記端末装置は、秘密鍵と公開鍵とのキーペアを生成する手段又は外部で生成されたキーペアをインストールする手段、及び、前記秘密鍵を暗号鍵として用い、署名対象データを暗号化して暗号トークンを形成する手段を有し、
前記耐タンパ装置は、署名鍵を生成する手段、生成された署名鍵を当該耐タンパ装置に保存する手段、暗号化された署名対象データを含む暗号トークンを前記公開鍵用いて復号する手段、復号された署名対象データを用いて署名要求の有効性を検証する検証手段、及び、前記検証手段による検証結果に基づき、耐タンパ装置に保存されている署名鍵を用いて署名対象データに電子署名する署名手段を有し、
前記キーペアの秘密鍵は端末装置に保存され、キーペアの公開鍵は耐タンパ装置に送信され、利用者の署名鍵と関係付けて耐タンパ装置に保存され、
前記端末装置に保存された秘密鍵は署名対象データを暗号化する暗号鍵として機能し、耐タンパ装置に署名鍵と関係付けて保存された公開鍵は、暗号トークンを復号する復号鍵として機能し、
前記署名鍵、公開鍵、及び署名鍵を識別する署名鍵識別情報は対の関係として利用者毎に耐タンパ装置に記憶され、
電子署名に際し、端末装置は、前記秘密鍵を用いて署名対象データを暗号化して暗号トークンを生成し、
署名されるべき署名対象データ、暗号化された署名対象データを含む暗号トークン、及び署名鍵識別情報を含む署名要求が生成されて耐タンパ装置に送信され、
前記耐タンパ装置は、署名要求に含まれる署名鍵識別情報により特定される署名鍵と関係付けて保存されている公開鍵を用いて暗号トークンを復号し、復号された署名対象データと署名されるべき署名対象データとの一致性を検証し、復号された署名対象データと署名されるべき署名対象データとが一致しない場合、当該署名要求は電子署名の対象から除外され、一致する場合、耐タンパ装置は、署名鍵を用いて署名対象データに電子署名することを特徴とする。

【0010】
本発明の基本思想は、リモート署名システムに公開鍵暗号方式を組み合わせ、公開鍵暗号方式を利用して署名鍵を制御することにある。すなわち、公開鍵暗号方式を利用して本人確認を行い、その結果に基づいて署名鍵を制御する。本発明者が公開鍵暗号方式及びリモート署名システムについて種々の解析を行った結果、公開鍵暗号方式を実行するキーペァの公開鍵を復号鍵として用い、この復号鍵を署名者の署名鍵と関連付けて保存することにより、すなわち、復号鍵と署名鍵とを結びつけることにより、公開鍵暗号方式をリモート署名システムに結合できることが判明した。
【0011】
本発明では、耐タンパ装置は、利用者からの要求に基づき、利用者毎に署名鍵を生成する。各利用者の署名鍵は耐タンパ装置に保存する。端末装置は、公開鍵暗号方式を実行するためのキーペァを生成し、生成された秘密鍵は端末装置に保存する。生成された公開鍵は、署名鍵が保存されている耐タンパ装置に送信され、利用者の署名鍵と関係付けて保存する。すなわち、利用者毎に署名鍵と公開鍵とを対の関係として保存する。端末装置に保持された秘密鍵は、検証の対象となるメッセージを暗号化する暗号鍵として機能する。耐タンパ装置に保持された公開鍵は、端末装置から送られてくる暗号化されたメッセージを復号する復号鍵として機能する。電子署名に際し、端末装置は、指定された電子文書から署名対象データを生成し、生成された署名対象データと、署名対象データを暗号化した暗号化署名対象データと、署名鍵識別情報とを含む署名要求を端末装置から耐タンパ装置に送信する。
【0012】
検証の特徴的事項は、検証の対象となるメッセージとして電子文書から生成された署名対象データを利用すること、及び、署名されるべき署名対象データと署名対象データを暗号化した暗号化署名対象データの2つの署名対象データを用いて検証を行うことにある。ここで、暗号化された署名対象データは、公開鍵暗号方式の秘密鍵を用いて暗号化され、暗号トークンを構成する。そして、電子署名に際し、端末装置は、署名鍵及び復号鍵を特定する署名鍵識別情報、署名対象データ、及び暗号トークンを含む署名要求を生成して耐タンパ装置に送信する。
【0013】
耐タンパ装置は、検索情報を用いて復号鍵を検索する。復号鍵は署名鍵と関係付けて保存されているから、例えば署名鍵識別情報又はこれと同等な検索情報を用いて復号鍵を検索することができる。検索された復号鍵を用いて暗号トークンを復号し、復号メッセージを生成する。この時点で、耐タンパ装置には、署名されるべき署名対象データと復号されたメッセージである署名対象データとの2つの署名対象データが存在する。本発明では、2つの署名対象データについて一方の署名対象データを検証の基準データとし、他方の署名対象データを検証される被検証データとして2つの署名対象データの一致性を検証する。
【0014】
初めに、署名されるべき署名対象データを検証の基準データとし、復号メッセージである署名対象データを被検証データとする。ここで、署名されるべき署名対象データは改ざんされていない正規の署名対象データとする。
検証結果として、復号メッセージが署名対象データと一致する場合、暗号トークンは、署名されるべき署名対象データと同一の署名対象データを耐タンパ装置の復号鍵(公開鍵)と対応する関係にある暗号鍵(秘密鍵)を用いて暗号化されたものと認められる。従って、署名要求は、署名鍵の所有者により行われたものと認められ、署名要求の主体は署名鍵について正当な使用権限を有する者であると判定される。
【0015】
検証結果として、復号メッセージが署名対象データと一致しない場合、署名要求の主体の有効性が否定される。すなわち、暗号トークンは暗号化されているため、送信途中で改ざんされることはない。よって、不一致の原因として、署名対象データが耐タンパ装置に保持されている復号鍵と関連しない暗号鍵を用いて暗号化されたこと、或いは、署名されるべき署名対象データとは異なる署名対象データについて暗号化が行なわれたことが想定される。しかしながら、署名対象データは、端末装置において電子文書についてハッシュ演算を実行することにより形成されるので、署名されるべき署名対象データと暗号化される署名対象データとが相違することは想定しがたい。よって、不一致の原因は、署名対象データが耐タンパ装置に保持されている復号鍵と関連しない暗号鍵を用いて暗号化されたことに起因すると認められる。この原因は、署名要求が正当な秘密鍵が設定されていない端末装置で形成されたことを意味する。よって、このような署名要求は署名鍵について使用権限を有しない者による署名要求と判定される。従って、復号メッセージが署名対象データと一致しない場合、この署名要求は主体の有効性を満たしていないものと認定され、電子署名の対象から除外される。尚、後述するように、署名対象データが改ざんされている場合、暗号トークンの真偽に関わらず、復号メッセージと署名対象データは不一致となるため、エラーとして処理することができる。
【0016】
次に、復号メッセージを検証の基準データとし、署名されるべき署名対象データを被検証データとする。暗号トークンに含まれる暗号化された署名対象データは、正規の署名対象データを正規の暗号鍵により暗号化した暗号化データとする。尚、暗号トークンは暗号化されているため、送信途中で改ざんされることはない。これに対して、署名されるべき署名対象データは改ざんされる可能性を含む。
【0017】
署名対象データが復号メッセージと一致する場合、署名対象データは送信途中で変更ないし改ざんされなかったものと認められる。よって、このような署名要求は、署名対象の有効性を満たしていると判定される。これに対して、署名対象データが復号メッセージと一致しない場合、署名要求が端末装置から耐タンパ装置に送信される間に署名対象データが改ざんないし変更されたものと判定する。すなわち、生成された直後の署名対象データは正規の署名対象データであると認められるので、不一致の原因は、送信途中での署名対象データに対する改ざん又は変更に起因すると認められる。このように、復号されたメッセージを基準データとした場合、2つの署名対象データの一致性を検証することにより、署名要求に含まれる署名対象データが改ざんされた否かが判定され、署名対象の有効性ないし真正性が判定される。署名対象データが復号メッセージと一致しない場合、署名要求はエラーとして処理され、電子署名の対象から除外される。
【0018】
前述したように、パスワードやチャレンジコードのような認証情報を用いて本人確認を行う署名システムでは、耐タンパ装置で復号されたメッセージは耐タンパ装置に保存されている基準情報との一致性が検証される。よって、本人確認は行われるものの、改ざんの有無を検証することはできなかった。そのため、改ざんされた署名対象データに電子署名を行う危険性があった。また、認証の基準となる基準データを耐タンパ装置に予め設定する必要があり、セットアップ工程が煩雑化する問題も指摘されている。これに対して、本発明では、署名鍵について使用権限を有しない者による署名要求は電子署名の対象から除外され、署名対象データが改ざんされた場合も電子署名の対象から除外される。従って、本発明によれば、1回の検証処理により署名鍵についての使用権限の有無及び署名対象に対する改ざんの有無の両方を一挙に判定することができる。換言すれば、本人確認の検証を行うことにより、本人確認の検証に併せて署名対象データの有効性ないし真正性についても検証される。すなわち、1回の認証処理により、署名要求の署名者としての適格性及び署名対象の有効性が検証される。この結果、セキュリティレベルが大幅に向上した電子署名システムが実現される。
【0019】
本発明では、電子署名に当たって、署名対象データと暗号化された同一の署名対象データとを端末装置から耐タンパ装置に送信する。これにより、一方の署名対象データを認証の基準データとし、他方の署名対象データを検証されるデータとして認証処理を実行することができる。すなわち、検証される署名対象データと検証の基準となる基準データとが一緒に耐タンパ装置に送信されるので、予め耐タンパ装置に基準データを設定する必要がなく、セットアップの煩雑性が解消される。
【0020】
さらに、本発明では、パスワードのような認証情報を用いないで本人確認が行なわれるため、利用者がパスワードを記憶する必要はなく、利用者の負担が軽減される。特に、利用者が認証情報を失念することにより署名システムを利用できなくなる不具合が解消される。
【0021】
本発明による電子署名システムの好適実施例は、復号された署名対象データと署名要求に含まれる署名対象データとの一致性を検証することにより、主体の有効性を欠く署名要求及び署名対象の有効性を欠く署名要求が電子署名の対象から除外されることを特徴とする。すなわち、1回の比較検証を行うだけで、主体的適格性及び署名対象の適格性を満たさない署名要求をデジタル署名から除外することができる。
【0022】
本発明による電子署名システムの別の好適実施例は、端末装置は電子文書から署名対象データを生成する手段を有し、生成した署名対象データを暗号化して暗号トークンを生成し、
当該端末装置は、生成された署名対象データ、暗号トークン、及び署名鍵識別情報を含む署名要求を生成して耐タンパ装置に送信することを特徴とする。
本発明では、公開鍵暗号方式を構成するキーペアの秘密鍵は端末装置に保持される。よって、電子文書から署名対象データを生成する署名対象データ生成手段(例えば、ハッシュ演算手段)を端末装置に設ければ、端末装置において署名対象データの生成から署名要求の生成までの工程を自動的に行うことができる。
【0023】
本発明による電子署名方法は、署名鍵を生成及び管理する耐タンパ装置、及び耐タンパ装置を制御する機能を有する鍵管理サーバを有する署名システムと、利用者ないし署名者が利用する端末装置とを備え、耐タンパ装置によって管理される署名鍵を用いて署名対象データにデジタル署名を行う電子署名方法であって、
前記端末装置は秘密鍵と公開鍵のキーペァを生成し、生成された秘密鍵は端末装置に保存され、公開鍵は耐タンパ装置に送られて署名者の署名鍵と関係付けて保存され、
電子署名に際し、前記端末装置は、前記秘密鍵を暗号鍵として用いて署名されるべき署名対象データを暗号化して暗号トークンを生成し、署名対象データ、暗号トークン、及び署名鍵識別情報を含む署名要求が生成されて耐タンパ装置に送信され、
耐タンパ装置は、前記公開鍵を復号鍵として用いて署名要求に含まれる暗号トークンを復号し、復号された署名対象データと署名要求に含まれる署名対象データとの一致性を検証し、
前記検証結果により、署名者としての有効性を欠く署名要求及び署名対象としての有効性を欠く署名要求がデジタル署名の対象から除外されることを特徴とする。
【発明の効果】
【0024】
本発明では、公開鍵暗号方式を実行するキーペアの公開鍵を端末装置から耐タンパ装置に送信し、公開鍵を署名者の署名鍵に関連付けて保存するので、公開鍵暗号方式の検証結果を用いて署名鍵を制御することができる。
また、検証の対象となるメッセージとして電子文書から生成された署名対象データを用い、署名されるべき署名対象データと署名対象データを暗号化した暗号化署名対象データの2つの署名対象データを用いて検証を行うので、1回の検証処理を実行するだけで主体の有効性及び署名対象の有効性(改ざんの有無)を判定でき、高いセキュリティレベルのリモート署名システムが構築される。
さらに重要なことは、認証のメッセージとして2つの署名対象データを用い、パスワードのような本人確認のメッセージを用いていないので、利用者は認証情報を記憶する必要はない。この結果、利用者の負担が大幅に軽減される。
さらに、利用者によってパスワード等の情報を端末装置に入力する情報入力操作が不要であるため、自動化処理を行うことができる。すなわち、利用者が署名されるべき電子文書を指定するだけで、署名済み文書を自動的に出力することができる。
さらに、端末装置から耐タンパ装置に署名対象データが送信される際、送信途中で改ざんされた場合いかなる場合でもエラー処理される。よって、改ざんされた署名対象データに電子署名する不都合が回避される。従って、従来の電子署名システムよりもセキュリティレベルが格段に向上した電子署名システムが実現される。
【図面の簡単な説明】
【0025】
図1】本発明による電子署名システムの全体構成を示す図である。
図2】本発明によるリモート署名システムのセットアップ工程及び認証工程の概略を示す図である。
図3】本発明による電子署名システムの署名鍵生成工程のアルゴリズムを示す図である。
図4】本発明による電子署名システムの署名工程のアルゴリズムを示す図である。
図5】セットアップ工程の変形例を示す図である。
図6】端末装置の一例を示す図である。
図7】耐タンパ装置の一例を示す図である。
図8】鍵管理サーバの一例を示す図である。
図9】編集サーバの一例を示すブロック図である。
図10】本発明による電子署名システムの変形例を示す図である。
【発明の実施するための形態】
【0026】
図1は本発明による電子署名システムの全体構成を示す図である。ネットワーク1には端末装置2-1~2-nが接続される。これら端末装置は、利用者ないし署名者が利用する装置であり、例えばパーソナルコンピュータやスマートフォーンが用いられる。ここで、利用者は、電子文書に電子署名する署名者だけでなく、編集サーバに電子文書をアップロードする者や外部サーバから編集サーバに電子文書をダウンロードする者も含まれる。従って、本例の端末装置は、署名者が利用する端末装置だけでなく、署名されるべき電子文書を編集サーバにアップロードするために用いられる端末装置も含む。
【0027】
ネットワーク1には、署名システム3を接続する。署名システム3は、鍵管理サーバ4及び鍵管理サーバに接続した1つ又は複数の耐タンパ装置5を有する。鍵管理サーバ4はネットワークに接続され、耐タンパ装置5を管理ないし制御する機能を有する。
【0028】
耐タンパ装置5は署名鍵を外部に流出することなく安全に生成及び管理する機能を有し、例えばHardware Security Module(HSM)とすることができる。耐タンパ装置は、鍵管理サーバから独立したセキュリティ管理機能を有するサブシステム又は装置を含む。耐タンパ装置は、鍵を管理するプログラムである鍵管理モジュールを有し、署名鍵として作用する秘密鍵と公開鍵とのキーペアの生成、署名鍵によるデジタル署名、署名鍵の保存、暗号化されたメッセージを含む暗号トークンの復号、復号された署名対象データの検証機能を実行する。
【0029】
さらに、ネットワーク1には、認証局に設けた証明書発行サーバ6を接続する。証明書発行サーバ6は、端末装置から送られる証明書生成要求に応じて証明書発行要求(CSR)を生成して電子証明書を生成する。また、署名鍵を構成するキーペアを生成する場合、端末装置から証明書発行サーバを経由して鍵管理サーバに署名鍵生成要求を送ることができる。
【0030】
さらに、ネットワーク1には編集サーバ7を接続する。編集サーバ7は、署名すべき電子文書を管理及び保管する機能を有し、端末装置からアップロードされた電子文書及び外部サーバからダウンロードされた電子文書等の署名されるべき電子文書を管理する。編集サーバ7は、電子文書がアップロードされた際、その電子文書について署名すべき署名者の端末装置に通知する。さらに、編集サーバは、署名システム3で生成された電子署名を電子文書に埋め込み、署名済み電子文書を生成することもできる。生成した署名済み電子文書は編集サーバ7に保管する。
【0031】
次に、署名済み電子文書の生成アルゴリズムについて説明する。図3はセットアップ工程を示すフローチャートであり、図4は署名工程を示すフローチャートである。本発明では、公開鍵暗号方式をリモート署名システムに結合し、公開鍵暗号方式による本人認証の結果を利用して署名鍵を制御する。これにより、1回の検証処理を実行するだけで主体の有効性及び署名対象の有効性を判定でき、認証処理工程を簡素化することができる。
【0032】
図2は本発明によるリモート署名システムの信号処理の概略を示す。本発明のリモート署名システムのセットアップを希望する利用者は、端末装置を介して耐タンパ装置に署名鍵の生成を要求する。これに応じて、耐タンパ装置は署名鍵を生成し、生成された署名鍵は署名鍵識別情報と共に署名鍵データ記憶部に記憶する。
次に、端末装置は、公開鍵暗号方式を実行するためのキーペアを生成する。生成された秘密鍵は端末装置に暗号鍵として保存し、公開鍵は耐タンパ装置に送信する。公開鍵は暗号トークンを復号する機能を果たすので、復号鍵としても称呼する。この公開鍵は、先に生成された利用者の署名鍵と関連付けて署名鍵データ記憶部に保存する。よって、図2に示すように、署名鍵、復号鍵及び署名鍵識別情報が対の関係で記憶される。これによりセットアップ作業は完了する。
【0033】
電子署名に際し、利用者ないし署名者は、署名される電子文書を指定する。以後の信号処理は自動的に行われる。電子文書が指定されると、指定された電子文書に対してハッシュ演算が行なわれ、署名対象データが生成される。続いて、端末装置は、秘密鍵を用いて署名対象データを暗号化して暗号トークンを生成する。続いて、端末装置は、生成された署名対象データ、暗号トークン、及び署名鍵識別情報を含む署名要求を生成する。生成された署名要求は耐タンパ装置に送信する。
【0034】
耐タンパ装置は、署名要求を受信すると、署名鍵識別情報を用いて復号鍵を検索する。復号鍵は署名鍵と対の関係で保存されているので、署名鍵識別情報又はこれと同等な識別情報を用いて復号鍵を検索することができる。続いて、署名要求から暗号トークンを取り出す。取り出された暗号トークンを検索された復号鍵を用いて復号して復号メッセージを生成する。さらに、耐タンパ装置は、復号メッセージと署名対象データとの一致性を検証する。検証結果は署名手段に送られ、署名鍵を用いて電子署名が行なわれる。
【0035】
このように、本発明では、署名の対象となる電子文書を指定した後、署名者による情報入力操作は一切行なわれない。よって、電子文書指定後の全ての信号処理を自動的に行うことができる。この結果、署名文書が生成されるまでの処理を自動的行うことができる。
【0036】
図3は、本発明による電子署名システムの署名鍵生成工程のアルゴリズムを示す図である。図3を参照するに、利用者は端末装置2を介して署名システム3の鍵管理サーバ4に対して認証要求を行う。認証要求は、ユーザIDとパスワードによるユーザ認証とする。尚、利用者のアカウントが未作成の場合、鍵管理サーバ4は当該利用者のためのアカウントを新規に作成する。また、ユーザ認証方法として、ユーザIDとパスワードの組合せを認証する方式だけでなく、ICカードに格納されたトークンを鍵管理サーバに送信することにより認証することもできる。ユーザ認証の後に、鍵管理サーバ4から端末装置2に認証応答が送信される。
【0037】
ユーザ認証に成功すると、利用者は端末装置から鍵管理サーバ4に対して署名鍵生成要求を送信する。鍵管理サーバ4は耐タンパ装置5に署名鍵の生成を指示する。耐タンパ装置は、署名鍵生成要求に応じて、署名鍵となる秘密鍵と公開鍵とのキーペアを生成する。生成された秘密鍵は署名鍵となり耐タンパ装置に保存され、電子署名に用いられる。また、公開鍵は署名鍵識別情報として利用する。耐タンパ装置は、生成された公開鍵を含む署名鍵生成通知を鍵管理サーバに送り、鍵管理サーバは署名鍵生成通知を端末装置に送信する。端末装置は、受信した公開鍵を署名鍵識別情報として保管する。
【0038】
端末装置は、署名鍵生成通知の受信に応じて、公開鍵暗号方式を実行するための秘密鍵と公開鍵のキーペアを生成する。生成された秘密鍵は、端末装置に保存され、本人認証のメッセージを暗号化する暗号鍵として機能する。本発明では、署名対象データを本人認証のメッセージとして用い、署名対象データを暗号化する。暗号化の方法として、秘密鍵を用いて署名対象データに対して署名演算を行うことにより暗号化することができる。暗号化された署名対象データは暗号トークンとして作用する。また、生成された公開鍵は、耐タンパ装置に送信され、対応する署名鍵と関係付けて保存する。耐タンパ装置に保存された公開鍵は、端末装置から送られてくる暗号トークンを復号する復号鍵として機能する。尚、保管すべき署名鍵が大量になり、オーバーフローするような場合、一部の署名鍵を暗号化して耐タンパ装置の外部のデータベースに保管することもできる。このように、復号鍵として機能する公開鍵を署名鍵と関連付けて保存することにより、リモート署名システムに公開鍵暗号方式を結合することができる。
【0039】
耐タンパ装置は、復号鍵として機能する公開鍵の保存が完了すると、セットアップ完了通知を端末装置に送信する。以後、利用者は当該端末装置を利用して電子署名することができる。
【0040】
続いて、利用者は、電子証明書(署名用証明書)を取得するため、端末装置を介して証明書発行サーバ6に認証要求を送信する。このユーザ認証もユーザIDとパスワードの組合せとする。証明書発行サーバから端末装置に認証応答が送信される。
【0041】
ユーザ認証に成功すると、端末装置は、ユーザID、署名鍵と対となる公開鍵及びその他必要な事項を含む電子証明書生成要求を証明書発行サーバに送信する。証明書発行サーバは、受信した公開鍵及び必要な情報を用いて証明書発行要求(CSR)を作成し、所定の審査処理を行なった後電子証明書を生成する。生成された電子証明書は端末装置に送信される。端末装置は、受信した電子証明書を格納する。尚、電子証明書は、必要に応じて、編集サーバに転送され、編集サーバにおいても保管する。
【0042】
図4は、生成された署名鍵を用いて電子署名を行うアルゴリズムを示す。本発明では、公開鍵暗号方式による本人認証の結果を利用して署名鍵を制御する。端末装置は、署名される電子文書から署名対象データを生成する。電子文書は、端末装置に保存された電子文書及び電子文書を管理する編集サーバから送られた電子文書が用いられる。端末装置は、電子文書の署名対象となるエリアについて所定の論理演算(ハッシュ演算)を行なってハッシュ値を生成し、生成されたハッシュ値を署名対象データとする。
【0043】
本発明の署名対象データは、電子文書から直接生成された署名対象データだけでなく、生成された署名対象データに生成日時や有効期限等の付加的な情報が付加されたメッセージも署名対象データに含まれる。すなわち、署名対象データを一部に含むメッセージも署名対象データとして利用することができる。
【0044】
続いて、端末装置は、暗号鍵(保存されている秘密鍵)を用いてメッセージを暗号化して暗号トークンを生成する。本発明では、暗号化の対象となるメッセージとして署名対象データを用いる。よって、端末装置は、暗号鍵を用いて署名対象データを暗号化して暗号トークンを生成する。暗号化の一例として、暗号鍵を用いて署名対象データについて署名演算を行い、得られた署名演算結果を暗号トークンとして用いる。
【0045】
続いて、端末装置は、署名鍵識別情報、署名対象データ及び暗号トークンを含む署名要求を生成する。署名要求は、耐タンパ装置に対してデジタル署名を要求する意義を有する。そして、署名要求は鍵管理サーバを経由して耐タンパ装置に送信される。
【0046】
耐タンパ装置は、署名要求を受信すると、署名要求に含まれる署名鍵識別情報を用いて署名鍵を検索し、検索された署名鍵と関連して保存されている復号鍵を取り出す。署名鍵識別情報として、例えば署名鍵を構成する秘密鍵と対応する公開鍵を用いことができる。尚、復号鍵を検索する識別情報として、署名鍵識別情報と同一の情報だけでなく、署名鍵識別情報に署名鍵と区別する付加的な変更が加えられた識別情報、すなわち署名鍵識別情報と等価な識別情報を用いることもできる。
【0047】
続いて、検索された復号鍵を用いて、署名要求に含まれる暗号トークンを復号し、復号メッセージを生成する。
【0048】
続いて、復号されたメッセージと署名要求に含まれる署名されるべき署名対象データと比較検証を行う。一例として、暗号トークンについて復号鍵を用いて署名演算を実行し、署名値を形成する。そして、得られた署名値と署名対象データとの一致性を検証する。
【0049】
検証結果として、復号メッセージと署名対象データとが一致した場合、耐タンパ装置は、受信した署名要求は有効であると判定する。すなわち、受信した署名要求は、署名鍵について正当な使用権を有する者による署名要求であり、且つ、署名対象データは改ざんされていないものと判定する。
【0050】
検証結果として、復号メッセージと署名対象データとが不一致の場合、耐タンパ装置は、受信した署名要求は無効であると判定する。すなわち、耐タンパ装置は、受信した署名要求に含まれる暗号トークンは適切な暗号鍵により暗号化されていないものであるか又は署名対象データが改ざんされていると判断し、エラーとして処理する。
【0051】
署名要求が有効であると判定されると、耐タンパ装置は、対応する署名鍵を用いて署名対象データにデジタル署名を行い電子署名が生成される。電子署名及び署名鍵識別情報を含む署名結果は鍵管理サーバを経由して端末装置に送信される。端末装置は、編集された電子文書に受信した電子署名を埋め込み、署名済み電子文書(署名文書)を作成する。生成された電子署名には、タイムスタンプサーバによる署名タイムスタンプを付与し、長期署名として電子文書に埋め込み、電子署名の長期有効性を保証することができる。署名済み電子文書は、端末装置に保管すると共に、必要に応じて編集サーバに送信される。尚、生成された電子署名は編集サーバに送信し、編集サーバにおいて処理することができる。
【0052】
図5はセットアップ工程の変形例を示す。本例では、編集サーバ7はアップロードされた電子文書を管理する管理サーバとしての機能を有する。編集サーバには、端末装置から署名すべき電子文書がアップロードされ、アップロード情報が入力する。また、外部サーバからも署名対象である電子文書が入力する。アップロード情報は、署名の対象となる電子文書、署名すべき署名者の識別情報、及び署名者の端末装置のアドレス情報を含む。アップロードされた電子文書は、編集サーバにより保管され、編集サーバにおいて管理される。
【0053】
編集サーバは、アップロード情報が入力すると、アップロードされた電子文書を保管すると共に署名すべき利用者の端末装置に署名要求されていることを通知する。通知を受けた利用者は、端末装置を介して編集サーバに対してユーザ認証を要求する。ユーザ認証が正常に行われると、編集サーバは端末装置に認証応答を送信する。
【0054】
利用者は、署名対象である電子文書を確認する。確認した電子文書に署名する場合、利用者は、自身の端末装置を介して編集サーバに対して署名対象データの生成を要求する。この端末装置から編集サーバに対する署名対象データ生成要求は、署名者の署名処理を要求する意思表示としての意義を有する。そして、この生成要求が署名処理を開始するトリガとなり、一連の署名処理が自動的に実行される。
【0055】
編集サーバは、署名対象データ生成要求の受信に応じて、署名対象の電子文書を編集すると共に、電子文書から署名対象データを生成する。続いて、編集サーバは、端末装置に対して署名対象データをダウンロードする。
【0056】
署名対象データのダウンロードに応じて、端末装置は、暗号鍵(秘密鍵)を用いて、ダウンロードされた署名対象データを暗号化し、暗号トークンを生成する。
【0057】
続いて、端末装置は、生成された暗号トークン及び署名鍵識別情報を含む署名情報を編集サーバに送信する。ここで、署名対象データは暗号化されているため、改ざんされることはない。
【0058】
編集サーバは、署名鍵識別情報、署名用の署名対象データ、及び暗号トークンを含む署名要求を生成する。生成された署名要求は耐タンパ装置に送信する。
【0059】
耐タンパ装置は、署名鍵識別情報を用いて解読鍵を検索し、受信した署名要求に含まれる暗号トークンを解読鍵を用いて復号する。続いて、署名対象データと復号されたメッセージとを比較検証する。検証結果として、署名対象データと復号されたメッセージとが一致する場合、当該署名要求は有効であると判定され、署名対象データについてデジタル署名が行われる。生成された電子署名を含む署名結果は、鍵管理サーバを経由して編集サーバに送信する。
【0060】
編集サーバは、電子文書に受信した電子署名を埋め込み、署名済み電子文書(署名文書)を作成する。署名済み電子文書は、編集サーバに保管すると共に、必要に応じて端末装置に送信される。
【0061】
図6は端末装置の機能構成を示すブロック図である。尚、図6は、電子署名に係る部分だけを示す。端末装置は、通信手段10、制御部11、入力装置12及び記憶部13を有する。通信手段10はネットワークに接続され、鍵管理サーバ等との間でデータの送受信を行う。制御部11は、認証要求部14を有し、ユーザIDとパスワードによる認証要求を署名システムの鍵管理サーバ等に送信する。続いて、署名システムにログインし、署名鍵生成要求部15から署名鍵生成要求を耐タンパ装置に送信する。耐タンパ装置で生成されたキーペアの公開鍵は通信手段を介して記憶部の署名鍵識別情報記憶部16に格納する。
【0062】
電子証明書発行要求部17は、耐タンパ装置から受信した公開鍵を含む電子証明書発行要求を生成し、証明書発行サーバに送信する。作成された電子証明書は、通信手段を介して受信し、電子証明書記憶部18に格納する。
【0063】
キーペァ生成部19は、本人確認用のキーペアを生成する。生成された秘密鍵は、署名されるべき署名対象データを暗号化する機能を果たし、暗号鍵記憶部20に保存する。また、公開鍵は通信手段を介して耐タンパ装置に送信する。このように、署名対象データを暗号化する秘密鍵は端末装置に保持され、暗号トークンを復号する公開鍵は耐タンパ装置に保持される。
【0064】
ここで、キーペア生成手段は、キーペアを直接的に生成する手段だけでなく、外部で生成され記憶装置に記憶されたキーペアを端末装置に導入する手段ないし機能も含まれる。例えば、USBメモリのような記憶手段にキーペアを予め記憶し、記憶されたキーペアを端末装置に送り込んでキーペアを設定する場合もキーペア生成手段を動作させることに該当する。
【0065】
署名されるべき電子文書は、電子文書記憶部21に保存する。電子署名に際し、電子文書が読み出され署名対象データ生成部22に供給される。署名対象データ生成部は、電子文書から署名対象データを生成する。この署名対象データ生成部は、例えばハッシュ演算手段で構成することができる。
【0066】
生成された署名対象データは暗号トークン生成部23及び署名要求生成部24に供給される。暗号トークン生成部23は、暗号鍵を用いて署名対象データを暗号化して暗号トークンを生成する。生成された暗号トークンは署名要求生成部に供給する。署名要求生成部は、署名対象データ、暗号トークン、及び署名鍵識別情報を含む署名要求を生成する。生成された署名要求は通信手段10を介して耐タンパ装置送信される。
【0067】
電子文書アップロード部25は、電子文書記憶部21に保管されている電子文書及び保管されている電子証明書を含む電子署名生成要求を作成し、編集サーバに送信する。また、他人の署名が必要な電子文書については、署名されるべき電子文書に署名者のID及びアドレスを付加して編集サーバにアップロードする。
【0068】
耐タンパ装置において電子署名が完了すると、端末装置に電子署名が送られる。受信した電子署名は電子文書に埋め込まれ、署名済み電子文書が生成される。生成された署名済み電子文書は署名済み電子文書記憶部26に格納する。
【0069】
図7は耐タンパ装置の機能構成の一例を示す。耐タンパ装置は管理部30、処理部31及び記憶部32を有する。端末装置や編集サーバから送信された情報信号はネットワーク及び鍵管理サーバを経由して管理部30に入力する。管理部30は、処理部に設けた各機能部を制御し、入力した情報信号に応じて指定された機能が実行されるように制御する。
【0070】
署名鍵生成要求の受信に応じて、署名鍵生成部33が作動して署名鍵となる秘密鍵と公開鍵とのキーペアを生成する。生成されたキーペアは保管部34に一時的に保存する。公開鍵は署名鍵及び復号鍵を識別する署名鍵識別情報として機能する。この公開鍵は複製され、管理部を介して対応する端末装置に送信する。
【0071】
本人確認用のキーペアの公開鍵を受信すると、受信した公開鍵は保管部34に送られる。保管部は、署名鍵を形成するキーペアと受信した公開鍵とを関係付けて保管し、署名鍵データを形成する。この署名鍵データは、署名鍵(秘密鍵)、署名鍵識別情報(公開鍵)、及び復号鍵(本人認証用のキーペアの公開鍵)を含む。この署名鍵データは、記憶部32に設けた署名鍵データ記憶部35に署名者ないし利用者毎に保存する。
【0072】
署名要求が入力すると、暗号トークンは復号部36に送られ、署名対象データは検証部37に供給される。続いて、署名要求に含まれる署名鍵識別情報を用いて署名鍵データ記憶部35が検索され、対応する署名鍵と関連する復号鍵が取り出される。取り出された復号鍵は復号部36に供給する。暗号トークンは検索された復号鍵を用いて復号され、復号メッセージが形成される。復号メッセージは検証部37に送られる。復号方法として、復号鍵を用いて暗号トークンに対して署名演算を行って署名値を生成し、生成された署名値を復号メッセージとすることもできる。
【0073】
検証部37には、暗号トークンから復号された復号メッセージと、署名要求に含まれる署名対象データが入力する。検証部は、これら2つのデータを対比して一致性を検証する。一致性の検証方法として、例えば復号工程において生成された署名値と署名要求に含まれる署名対象データとの一致性を検証することができる。
【0074】
復号メッセージと署名対象データとが一致した場合、検証部37から署名部に署名対象データが送られる。また、署名鍵記憶部から署名鍵識別情報により特定された署名鍵が署名部に送られる。署名部は、入力した署名鍵を用いて署名対象データに電子署名を行う。
【0075】
検証結果が不一致の場合、この署名要求はエラーとして処理される。
【0076】
図8は鍵管理サーバの機能構成を示す。鍵管理サーバは、通信手段40、制御部41及びユーザ情報データベース42を有する。制御部は、ユーザ認証処理部43を有し、端末装置からの認証要求を処理する。
【0077】
端末装置から送られる署名鍵生成要求、及び編集サーバ又は端末装置から送られてくる署名要求は耐タンパ装置制御部34に供給され、指定された処理に対応した指示が耐タンパ装置に送られる。耐タンパ装置で生成された電子署名等の各種情報は耐タンパ装置制御部を介して端末装置や編集サーバ等に送られる。尚、鍵管理サーバと耐タンパ装置は内部バス又は外部バスを介して接続することができる。或いは、LANを介して接続することも可能である。
【0078】
図9は、編集サーバの機能構成を示すブロック図である。このブロック図は図4のアルゴリズムに対応する。編集サーバは、通信手段50、制御部51及び記憶部52を有する。通信手段50は、ネットワークに接続され、端末装置、鍵管理サーバ及び耐タンパ装置との間で情報の送受信が行われる。ユーザ認証処理部53は、ユーザ情報記憶部54に保管されているユーザ情報を用い、端末装置から送られてくる認証要求を処理する。
【0079】
端末装置からアップロードされるアップロード情報は、アップロード情報受信部55に入力する。アップロード情報は署名通知部56に送られ、アップロード情報に含まれる署名者のアドレスの端末装置に署名要求されていることを示す署名通知を送信する。また、アップロード情報に含まれる電子文書は電子文書保管部57に保管する。
【0080】
署名者からの署名対象データのダウンロード要求はダウンロード要求受信部58に入力する。入力したダウンロード要求に応じて、署名対象データ生成部59が作動し、署名用の署名対象データと暗号トークン生成用の署名対象データの2つの同一の署名対象データを生成する。生成された暗号トークン生成用の署名対象データは、署名対象データダウンロード部60から対応する署名者の端末装置に送信される。
【0081】
署名者の端末装置から送られる署名情報は署名要求生成部61に入力する。署名要求生成部は、署名情報に含まれる暗号トークンと署名鍵識別情報に署名用の署名対象データを付加して署名要求を生成する。生成された署名要求は耐タンパ装置に送信する。
【0082】
編集サーバは、編集部62を有する。編集部62は、署名される電子文書を編集し、形成される電子署名のフィールドの配置方法や配置位置を設定する。
【0083】
耐タンパ装置により生成された署名結果である電子署名は、署名済み電子文書生成部63に入力する。署名済み電子文書生成部には、編集部が生成した編集情報も入力し、保管されている電子文書に電子署名が埋め込まれ、署名済み電子文書(署名文書)が生成される。生成した署名済み電子文書は署名文書記憶部64に保存する。
【0084】
図10は本発明による電子署名システムの変形例を示す図である。本例では、鍵管理サーバ4と証明書発行サーバ6との間及び鍵管理サーバ4と編集サーバ7との間にVPN接続70及び71をそれぞれ設ける。VPN接続を設けることにより、鍵管理サーバ4と証明書発行サーバ6は直接的に相互接続されたものと等価になり、鍵管理サーバ4と編集サーバ7も相互接続されたものと等価になる。これにより、証明書発行サーバ及び編集サーバと鍵管理サーバとの間に暗号化された安全な伝送路が構築される。
【0085】
さらに、証明書発行サーバ6及び編集サーバ7は、本人認証機能を有する認証サーバで構成する。利用者(端末装置)は認証サーバ(証明書発行サーバ6及び編集サーバ7)にアカウントを有し、ログイン認証プロセスを通じて認証サーバとの間でSSL暗号化通信によりメッセージを交換する。この結果として、端末装置2と証明書発行サーバ6との間及び端末装置2と編集サーバ7との間はSSL暗号化通信によって保護される。
【0086】
署名鍵生成工程において、耐タンパ装置で生成されたキーペアの公開鍵は、鍵管理サーバ4、VPN接続70、及び証明書発行サーバ6を経由して端末装置に送られる。また、端末装置で作成された暗号トークンは、証明書発行サーバ6、VPN接続70及び鍵管理サーバ4を経由して耐タンパ装置に送られる。
【0087】
さらに、署名工程において、端末装置で生成された暗号トークンは、編集サーバ7、VPN接続71及び鍵管理サーバを経由して耐タンパ装置4に送られる。耐タンパ装置で生成された電子署名は、鍵管理サーバ及びVPN接続71を経由して編集サーバ7に送られる。この結果、耐タンパ装置に対して署名指示を行う端末装置と端末装置からの指示に基づいてデジタル署名を行う鍵管理サーバとの間に暗号化された安全な伝送路が構築される。
【0088】
本発明は上述した実施例に限定されず種々の変形や変更が可能である。例えば、上述した実施例では、署名システム、編集サーバ、証明書発行サーバ、及び端末装置を含む電子署名システムについて説明したが、電子文書を管理する機能を有する独立した電子文書管理サーバを用いることができる。すなわち、端末装置からアップロードされる電子文書は、電子文書管理サーバに入力し、電子文書管理サーバで管理することができる。そして、電子文書管理サーバから編集サーバにアップロード情報が転送され、編集サーバにおいて署名対象データの生成や署名要求の生成等の処理を行うこともできる。




【0089】
署名対象データに関して、一例として、署名対象データは、電子文書の署名対象となるエリアから所定の論理演算(ハッシュ演算)を行うことにより抽出されたデータを利用することができる。
【符号の説明】
【0090】
1 ネットワーク
2 端末装置
3 署名システム
4 鍵管理サーバ
5 耐タンパ装置
6 証明書発行サーバ
7 編集サーバ
10 通信手段
11 制御部
12 入力装置
30 管理部
31 処理部
32 記憶部



【要約】
【課題】1回の検証工程を実行するだけで、本人確認及び署名対象の有効性確認を行うことができる電子署名システムを実現することにある。
【解決手段】端末装置(2)は、公開鍵暗号方式を実行するためのキーペァを生成する手段を有する。生成された秘密鍵は端末装置(2)に保存され、公開鍵は耐タンパ装置(5)に送信されて対応する署名鍵と関係付けて保存する。検証の対象となるメッセージとして署名対象データを用いる。電子署名に際し、端末装置は、署名されるべき署名対象データ及び暗号化された署名対象データを含む暗号トークンを含む署名要求を生成して耐タンパ装置に送信する。耐タンパ装置(5)は、署名要求に含まれる暗号トークンを復号し、復号された署名対象データと署名されるべき署名対象データとの一致性を検証し、主体的適格性を有しない署名要求及び署名対象としての有効性を有しない署名要求を電子署名から除外する。
【選択図】図2
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10