JP4554264B2 - デジタル署名処理方法及びそのためのプログラム - Google Patents

デジタル署名処理方法及びそのためのプログラム Download PDF

Info

Publication number
JP4554264B2
JP4554264B2 JP2004123299A JP2004123299A JP4554264B2 JP 4554264 B2 JP4554264 B2 JP 4554264B2 JP 2004123299 A JP2004123299 A JP 2004123299A JP 2004123299 A JP2004123299 A JP 2004123299A JP 4554264 B2 JP4554264 B2 JP 4554264B2
Authority
JP
Japan
Prior art keywords
signature
key
information
signer
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004123299A
Other languages
English (en)
Other versions
JP2005311531A (ja
JP2005311531A5 (ja
Inventor
洋人 川原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Software Corp
Original Assignee
NTT Software Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Software Corp filed Critical NTT Software Corp
Priority to JP2004123299A priority Critical patent/JP4554264B2/ja
Publication of JP2005311531A publication Critical patent/JP2005311531A/ja
Publication of JP2005311531A5 publication Critical patent/JP2005311531A5/ja
Application granted granted Critical
Publication of JP4554264B2 publication Critical patent/JP4554264B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、電子文書に対して署名を行うデジタル署名技術に関し、特に利用者の手続負担を軽減させるデジタル署名技術に関する。
従来のデジタル署名技術として、PKI(Public Key Infrastructure)を用いたデジタル署名技術がある。この技術では、署名者は署名鍵(秘密鍵)と公開鍵をペアで生成し、認証局(CA)に公開鍵についてのデジタル証明書を発行してもらう。そして、署名鍵を用いて文書のデジタル署名を作成し、当該文書にデジタル署名とデジタル証明書を付して検証者に送信する。検証者は、認証局の公開鍵を用いてデジタル証明書を検証することにより署名者の公開鍵の正当性を確認し、文書データと署名者の公開鍵を用いてデジタル署名を検証する。
従って、署名者にとっては、署名鍵と公開鍵とデジタル証明書を生成、取得、管理するという煩雑な手間が生じる。また、検証者にとっては、認証局の公開鍵を正しく入手する手間が生じる。
また、各署名者が個別に認証局に公開鍵を登録してデジタル証明書の発行を受けるので、複数の署名者が同一の署名鍵を正当に保有する場合が起こり得る(これを重複登録という)。この場合、例えば、検証者が特定の署名者のデジタル署名を検証したつもりが、実際は別人のデジタル署名であったということが起こり得る。
また、署名者の署名鍵が盗難にあった場合、その署名者の文書が偽造される恐れがある。従って、署名者は、署名鍵を厳重に管理する必要があり、盗難にあった場合には、遅滞なく認証局に通知し、当該署名鍵を無効にしてもらう手続きをとる必要がある。また、このように署名鍵が無効になっている場合があることから、検証者は、署名者からデジタル証明書を受領したとしてもそれが有効かどうかを認証局に問い合わせる必要がある。認証局にとっては、利用者の特定の署名鍵が無効となっているかいないかの問い合わせに遅滞無く答えるために、無効化した鍵のリスト(CRL)を管理しなければならない。
また、署名鍵が盗まれたことが判明して署名鍵を無効にした場合、盗まれる前に作成された文書およびその署名も、鍵を盗まれた後で作成された文書およびその署名と区別することはできなくなるので、過去に遡ってその署名鍵で署名した文書は有効でない可能性がある。従って、検証者は、一旦署名鍵の有効性を認証局に確認した後も、確認を継続する必要がある。
一方、このような署名鍵の無効化が可能であると、署名者は、署名鍵を盗まれたことにして故意に無効化することにより署名を否認できる余地がある。このような否認を防止するために、有効な署名鍵により署名された文書を、中立・公正な第三者(公証局)に保管することが考えられるが、公証局運営のコストがかかってしまう。
従来のPKI(Public Key Infrastructure)を用いたデジタル署名方式には以上説明したような問題がある。
また、従来のデジタル署名技術として、非特許文献1に記載されたIDベースのデジタル署名方法がある。
IDベースのデジタル署名方法は、署名鍵を生成する時に署名者の名前等の識別子を署名鍵自身に埋め込む方法である。このIDベースのデジタル署名方法によれば、識別子により、署名鍵と署名者との対応付けができるため、デジタル証明書が不要となる。また、他の署名者と異なる識別子を用いれば、重複登録の恐れはない。
しかし、IDベースのデジタル署名方法でも、署名鍵の盗難に関しては、従来のPKI方式のデジタル署名方法と同様の問題がある。
辻井重男、笠原正雄 編著、「暗号とセキュリティ」昭晃堂、p140〜p142
本発明は、上記の問題点に鑑みてなされたものであり、利用の際の手続きの煩雑さを軽減させるとともに、署名鍵が盗難された場合でも署名鍵の無効化処理負担を不要もしくは軽減することを可能とするデジタル署名技術を提供することを目的とする。
上記の課題は、鍵センタ装置と、当該鍵センタ装置に通信ネットワークを介して接続された署名者端末とを有するシステムにおいて、デジタル署名を作成、送信するためのデジタル署名処理方法であって、
鍵センタ装置は、鍵生成検証公開情報と鍵生成秘密情報を保持しており、
署名者端末が、署名対象文書に所定のハッシュ関数を作用させた情報と署名対象文書の送信先情報とのうちのいずれか1つ又は両方を含む署名有効条件と署名者の識別子とを含む署名鍵要求情報を鍵センタ装置に送信するステップと、
鍵センタ装置が、署名者端末から受信した署名鍵要求情報と、保持している鍵生成検証公開情報及び鍵生成秘密情報とから、当該署名鍵要求情報と鍵生成検証公開情報を含む情報を用いることによってのみ検証可能なように署名鍵を作成し、当該署名鍵を署名者端末に送信するステップと、
署名者端末が、鍵センタ装置から受信した署名鍵を用いて、署名対象文書のデジタル署名を作成し、署名対象文書と、作成したデジタル署名と、署名者の識別子と、署名有効条件とを含む情報を検証者端末に送信するステップと
を有することを特徴とするデジタル署名処理方法により解決される。
本発明によれば、署名者の識別子と署名有効条件とを署名鍵に組み込むようにしたので、署名者の識別子と署名鍵との対応付けのための従来のデジタル証明書が不要になるとともに、署名有効条件を適宜設定することにより署名鍵の無効化処理負担を不要もしくは軽減できる。
署名有効条件としては、署名対象文書に所定のハッシュ関数を作用させた情報、デジタル署名の有効期限、署名対象文書の送信先情報等を使用できる。例えば、署名有効条件として、署名対象文書に所定のハッシュ関数を作用させた情報を使用すれば、署名鍵はその署名対象文書に用いたときにのみ検証可能となり、他の文書には使用できない。従って、署名鍵が盗難にあったとしても、署名鍵の無効化は不要となる。
以下、図面を参照して本発明の実施の形態について説明する。以下、デジタル署名を付加する対象となる文書にデジタル署名を付加する者を署名者と呼び、そのデジタル署名を検証する者を検証者と呼ぶ。また、本実施の形態では、署名者Aがデジタル署名を付加し、検証者Bがそのデジタル署名を検証する場合について説明する。以下、署名者Aについては、ID_Aのように“A”の記号を用い、検証者Bについては、ID_Bのように“B”の記号を用いる。
本実施の形態におけるシステムは、図1に示すように、署名者Aが使用する署名者端末1、検証者Bが使用する検証者端末3、及び署名者端末1からの要求に基づき署名者Aの署名鍵を生成して署名者端末1に署名鍵を配布する鍵センタ装置5が通信ネットワーク7により接続された構成をとる。
署名者端末1、検証者端末3は、例えばPC(パーソナルコンピュータ)等の一般的なコンピュータにより実現されるものである。また、鍵センタ装置5は、署名鍵生成及びデジタル署名検証に必要な鍵生成検証公開情報、鍵生成秘密情報等を保持するコンピュータである。本実施形態で用いる所定のハッシュ関数は鍵センタ装置5が提供するものとする。なお、ハッシュ関数は用途に応じて選択できるよう複数用意することができる。
(動作概要)
まず、図1のシステムにおける動作の概要について説明する。なお、ここではデジタル署名作成、検証に係る概要を説明し、事前登録等を含む詳細については後に説明する。
まず、署名者端末1が、署名者Aの識別子と鍵生成条件(署名有効条件ともいう)とを含む署名鍵要求情報を鍵センタ装置5に送信する(ステップS1)。鍵センタ装置5は、その署名鍵要求情報を受信し、その署名鍵要求情報と、保持している鍵生成検証公開情報及び鍵生成秘密情報とから、当該署名鍵要求情報と鍵生成検証公開情報を含む情報を用いることによってのみ検証可能なように署名鍵を作成し、当該署名鍵を含む情報を署名者端末1に送信する(ステップS2)。そして、署名者端末1は、鍵センタ装置5から受信した署名鍵を用いて、署名対象となる文書のデジタル署名を作成し、その文書と、作成したデジタル署名と、署名者の識別子と、鍵生成条件とを含む情報を検証者端末3に送信する(ステップS3)。検証者端末3は、署名対象文書と、デジタル署名と、署名者の識別子と、鍵生成条件とを含む情報を署名者端末1から受信すると、署名者の識別子の正当性を検証し(ステップS4)、署名者の識別子と鍵生成条件とを含む情報と、鍵センタ装置5から取得した鍵生成検証公開情報を用いることによって、デジタル署名を検証する(ステップS5)。
鍵生成条件としては、署名対象文書に鍵センタ装置5から取得したハッシュ関数を作用させたダイジェスト、デジタル署名の有効期限、署名対象文書の送信先情報等を使用することができ、例えば、鍵生成条件として署名対象文書のダイジェストを使用する場合には、検証者端末3は、署名者端末1から受信した署名対象文書にハッシュ関数を作用させた情報と、署名者端末1から受信した当該ダイジェストとを比較することにより、ダイジェストが署名対象文書に対応しているか否かを検証してからデジタル署名の検証を行う。鍵生成条件として署名対象の文書の情報を用いることにより、署名鍵が盗難にあったとしても、その署名鍵は、そのダイジェストに対応する特定の文書でしか使用できないので、第三者が自分の文書を署名者Aの文書であると偽ることは不可能となり、従来は必要であった無効化の処理が不要となる。
なお、鍵センタ装置5も鍵生成条件を付加することや、署名者端末1と鍵センタ装置5間での通信の安全を確保するために情報の暗号化をすること等の動作を行うことが可能であるが、詳細については後に説明する。
(装置構成)
次に、図2〜図4を参照して、各装置の機能構成について説明する。なお、以下説明する機能手段は、主に各装置で実行されるプログラムにより実現されるものである。
本実施の形態のデジタル署名処理を実施するには、事前登録等の準備が必要であるが、以下の図に示す構成は、その準備が終了した後の構成である。
図2に、署名者端末1の構成を示す。図2に示すように署名者端末1は、鍵センタ装置5及び検証者端末3と情報の送受信を行うための通信手段11、鍵生成条件決定手段12、デジタル署名生成付加手段13、署名鍵格納手段14、及び処理に必要な情報を格納する情報格納手段15を有している。
鍵生成条件決定手段12は、例えば署名者Aに、鍵生成条件の選択肢を提示し、いずれかを選択させる手段である。また、署名者Aに鍵生成条件を入力させる手段としてもよい。デジタル署名生成付加手段13は、鍵センタ装置5から暗号化された署名鍵を受信した場合にはそれを復号し、復号して得た署名鍵を用いて文書のデジタル署名を作成し、検証者端末3に送信すべき情報を生成する手段である。署名鍵格納手段14は、署名鍵を秘匿して保持する手段である。情報格納手段15は、鍵生成検証公開情報Ko、ハッシュ関数f、鍵センタ装置5に送信する情報を暗号化する場合に使用する公開鍵Kp、暗号化された署名鍵を鍵センタ装置5から受信する場合に、署名鍵を復号するために使用する復号用鍵Ktr_A、鍵センタ装置5が署名者Aに対してパスワード認証を行う場合に鍵センタ装置5に送信するための認証パスワードを格納している。これらの情報のうち、鍵生成検証公開情報Ko、ハッシュ関数f、公開鍵Kpは、鍵センタ装置5から予め入手しておくものである。この情報は、署名者端末1にインストールすべきソフトウェアに組み込むようにしてもよい。なお、ハッシュ関数は用途別に選択できるよう複数ある場合もある。また、復号用鍵Ktr_Aと認証パスワードは、鍵センタ装置5との間で決めるものであり、例えば鍵センタ装置5が署名者端末1に対して付与するものである。復号用鍵Ktr_Aと認証パスワードは情報格納手段15に秘密に保持される。
図3に、検証者端末3の構成を示す。図3に示すように検証者端末3は、署名者端末1等と情報の送受信を行うための通信手段31、デジタル署名の検証を行うデジタル署名検証手段32、鍵生成検証公開情報Koとハッシュ関数fを保持する情報格納手段33を有している。鍵生成検証公開情報Koとハッシュ関数fは、鍵センタ装置5から取得して格納しておく。この情報は、検証者端末3にインストールすべきソフトウェアに組み込むようにしてもよい。なお、ハッシュ関数は用途別に選択できるよう複数ある場合もある。
図4に、鍵センタ装置5の構成を示す。図4に示すように鍵センタ装置5は、署名者端末1等と情報の送受信を行うための通信手段51、署名鍵を生成し、署名者端末1に送信する情報を作成する署名鍵生成手段52、鍵生成検証公開情報Ko、鍵生成秘密情報Ks、ハッシュ関数f、暗号用公開鍵Kp、暗号用秘密鍵Kdを保持する情報格納手段53、利用者識別子等の利用者情報を格納する利用者管理データベース54、利用者管理データベース54に格納される利用者情報を登録するための利用者登録手段55を有している。なお、ハッシュ関数は用途別に選択できるよう複数ある場合もある。利用者登録手段55は、例えば署名者端末1に利用者登録用のインタフェース画面を表示し、入力された情報を利用者管理データベース54に格納する機能を有している。また、利用者管理データベース54は、どの署名者にどの署名鍵を送信したかの鍵送信記録を有しており、この記録に基づき、署名者からの要求に応じて無効化処理を行うこともできる。また、署名対象文書のダイジェストを鍵生成条件の中に含む場合は、署名者が署名鍵を要求し、それを受け取ったという事実が一旦確定すれば、その後署名鍵が盗まれたり暴露されたりしても署名の有効性は失われない。要求と受取の事実をより確実に法的にも証明するために、署名鍵発行の事実を内容証明郵便などで署名者に通知することが考えられ、そのため鍵センタサーバは出力手段56を備える。
上記の鍵生成検証公開情報Koは、署名鍵を生成するときに用いる情報のうち、公開し、検証者端末3におけるデジタル署名検証にも用いる情報である。鍵生成秘密情報Ksは、署名鍵を生成するときに用いる情報のうち、鍵センタ装置5が秘密に保持する情報である。KoとKsの組は複数の署名鍵生成に共通に使用されるものである。公開のハッシュ関数fは、署名対象文書のダイジェストや、鍵生成条件のダイジェストを作成するためのハッシュ関数であり、1ビットでも異なる2つの情報に対し、全く異なるダイジェストを出力し、出力情報から入力情報を推定することが極めて困難であるという性質を持つ関数である。
なお、上記の各機能手段をプログラムとともに実現する手段として、各装置は、CPU、メモリ、記憶装置、入出力装置、ネットワーク通信装置等の、コンピュータが通常備えているハードウェア資源を備えている。
(動作詳細)
以下、各装置の詳細動作について説明する。
(1)事前登録
署名者Aが鍵センタ装置5に対して行う事前登録内容について説明する。
署名者Aは本人情報(名前、住所、所属など)と本人の識別子(ID_A)(例えば署名者Aのメールアドレス)を鍵センタ装置5に登録する。その際に、鍵センタ装置5の運営者に対し、必要に応じて署名者Aの本人性の証明を行う。本人性の証明方法としては、例えば「氏名」と「住所」を確認できる情報を提示する方法等がある。また、鍵センタ装置5が署名鍵を署名者端末1に送付する際に署名鍵を暗号化するために使用する暗号化鍵に対応する復号用鍵を鍵センタ装置5から取得しておく。これらの鍵は、鍵センタ装置5と署名者端末1とで秘密に格納される。その他、鍵センタ装置5側のセキュリティポリシーに基づく情報を登録する。例えば、鍵センタ装置5が、署名鍵要求受信時にパスワードによる署名者本人認証を行うこととした場合には、認証のためのパスワードを鍵センタ装置5に登録する。なお、パスワードは鍵センタ装置5が署名者Aに付与するようにしてもよい。
(2)署名鍵の要求
以下、フローチャートを参照して、署名鍵の要求から、デジタル署名の検証までの各装置の処理を詳細に説明する。まず、署名鍵の要求について図5を参照して説明する。
事前登録終了の後、署名者Aは署名鍵の条件として鍵生成条件1を決め、署名者端末1に入力する。署名者端末1は、予め鍵センタ装置から取得したハッシュ関数fを用いて、鍵生成条件1のダイジェストCond1 =f(鍵生成条件1)を算出する(ステップS11)。なお、鍵生成条件1が長大でない場合は、ハッシュ関数fによる情報圧縮をせずに、鍵生成条件1をそのままCond1としてもよい。
鍵生成条件1として、例えば署名対象の文書Docにハッシュ関数fを施したダイジェストDigを使用することができる。鍵生成条件1としてDigを使用することにより、その文書Docに対してのみ有効な署名鍵を作成することができる。また、特定の記述を含む文書のみに有効な署名鍵を作成したい場合には、例えば、その記述内容にハッシュ関数fを施したダイジェストを用いる。この場合、検証者B側では、その記述内容が署名対象文書に含まれることを確認した後に、署名検証を行うことになる。なお、DigをCond1 =f(鍵生成条件1)の中の鍵生成条件1とする代わりに、Cond1=f (鍵生成条件1)+Digとしてもよい。この場合の鍵生成条件1は、Digでもよいし他の条件でもよい。
また、他の鍵生成条件1として、デジタル署名の有効期限、文書のあて先情報等を用いることもできる。デジタル署名の有効期限を設定することにより、当該デジタル署名を付した文書の検証者Bは、その文書の有効期限を確認でき、署名検証が成功すればその有効期限内の有効な文書であることを確認できる。署名者Aは、その有効期限まで署名鍵を管理すればよい。このようなデジタル署名が有効な例としては、例えば提案書、プライスリスト等がある。また、検証者Bが署名者Aから文書を受信した時に、転送途中に文書の改竄が行われていないことを確認するためだけに署名検証を行うのであれば、鍵の有効期間は短くて良く、いわゆる使い捨ての署名鍵を実現できる。
また、文書のあて先を鍵生成条件1とする場合には、そのあて先以外の受信者が署名付き文書を受け取ったとしても、その受信者は鍵生成条件1を確認することにより、自分に対しては有効な文書でないことがわかる。そのあて先の受信者が署名付き文書を受け取った場合は、鍵生成条件1により自分に対する文書であることを確認し、検証が成功すれば、署名者による自分宛の正しい文書であることを確認できる。従って、文書のあて先を鍵生成条件1とすることにより、特定の受信者に対してのみ有効なデジタル署名を実現できる。また、あて先情報として、特定のグループ内で共通の情報を使用することにより、特定のグループに属するあて先に対してのみ有効な署名鍵を実現できる。その他、フリーフォーマットで任意の条件を指定することができる。
次に、署名者端末1は、署名者Aの識別子(以下、ID_Aと表記する)とCond1を結合し、X = ID_A+Cond1を作成する(ステップS12)。なお、識別子としては例えば署名者のメールアドレスを使用することができる。また、結合の方法は特に限定されず、結合した文字列からIDとCond1の情報を分離抽出できる方法ならばどのような方法を用いてもよい。このような方法による情報の結合を「+」で表記する。そして、署名者端末1はXを鍵センタ装置5に送信する(ステップS13)。
署名者端末1は、Xをそのまま鍵センタ装置5に送信してもよいが、第三者による成りすましや盗聴を防止するという観点から、鍵センタ装置5が送信元を認証できるような方法で送信してもよい。この場合、例えば、署名者Aが署名者Aのパスワードを鍵センタ装置5に安全な方法で登録しておき、Xとともにそのパスワードを鍵センタ装置5の公開鍵Kpで暗号化して送信する。そして、鍵センタ装置5は、公開鍵Kpに対応する秘密鍵Kdを用いて受信した情報を復号し、当該パスワードが、登録されたパスワードと一致することを確認することにより署名者Aの認証を行う。なお、第三者が署名者に成りすまして、署名鍵を要求しても、署名鍵は署名者Aでしか復号できない形で暗号化されて署名者端末1に送られることから、上記の処理を行うことは必須ではない。また、上記の処理において、公開鍵Kpによる暗号化を行うが、パスワードによる認証を行わないこととしてもよい。また、ID_Aとして署名者Aのメールアドレスを用い、署名鍵をそのメールアドレス宛に送信することにすれば、本人に届くことから、それを以って認証に代えることも考えられる。
(3)署名鍵の作成
次に、Xを受信した鍵センタ装置5は、署名鍵を作成する処理を行う。この処理を図6を参照して説明する。まず、鍵センタ装置5は、Xに含まれるID_Aを抽出し、ID_Aが既に登録された識別情報であるか否かを確認する(ステップS14)。ID_Aが既に登録されているものであることの確認ができれば、鍵センタ装置5は鍵生成条件2を作成する(ステップS15)。また、確認ができなかった場合は、例えば鍵センタ装置5はエラーメッセージを署名者端末1に送信する。
上記の鍵生成条件2は、任意に定める鍵センタ装置5側のセキュリティポリシーに応じて作成する。例えば、鍵生成条件2は、署名鍵生成時刻、一意に識別できる鍵の識別子等である。鍵生成条件2として署名鍵生成時刻を使用した場合、検証者Bは署名鍵の新しさを確認できる。また、鍵生成条件2は鍵の無効化処理を受け付けるか否かの情報とすることもできる。
続いて、鍵センタ装置5は、ハッシュ関数fを用いて鍵生成条件2のダイジェスト(Cond2)を作成する(ステップS16)。すなわち、Cond2 = f(鍵生成条件2)である。Cond2の作成にあたり、鍵生成条件2が長大でない場合は、ハッシュ関数fによる情報圧縮をせずに、鍵生成条件2をそのままCond2としてもよい。
次に、鍵センタ装置5は、XにCond2を付け加えたX’(= X+Cond2)を作成する(ステップS17)。なお、X’が長大であればハッシュ関数により圧縮してもよい。そして、X’を署名鍵生成情報として用い、更に鍵生成秘密情報Ksと鍵生成検証公開情報Koとを用いることにより、署名鍵Ks(X’)を作成する(ステップS18)。署名鍵生成情報X’と鍵生成秘密情報Ksと鍵生成検証公開情報Koとを用いて署名鍵Ks(X’)を作成する方法自体は公知であり、例えば非特許文献1に記載されている。
そして、鍵センタ装置5は、署名鍵Ks(X’)と鍵生成条件2とX’とを、署名者Aに対応して予め登録した暗号鍵(Ktr_A)を用いて暗号化し、暗号化した情報を署名者端末1に送信する(ステップS19)。
(4)署名の作成、送付
次に、署名者端末1におけるデジタル署名の作成、送付処理について図7を参照して説明する。
署名者端末1は、鍵センタ装置5から送付された署名鍵Ks(X’)と鍵生成条件2とX’とを受信する(ステップS20)。署名者端末1は、鍵生成条件2と、X’に含まれるCond2とが対応することを確認した後、署名鍵Ks(X’)で文書Docのデジタル署名を作成する(ステップS21)。すなわち、文書DocのダイジェストDigをS Ks(X’)への入力としてデジタル署名Sgnを作成する。ここでSKは鍵Kで署名計算をする関数を示す。この計算はSgn = S Ks(X’)(Dig)と表記することができる。なお、デジタル署名Sgnを計算するための文書Docのダイジェストは鍵生成条件1に含めるダイジェストと異なるように、別のハッシュ関数を選択して計算する方式としても良い。
その後、署名者端末1は、文書Doc、デジタル署名Sgn、署名鍵生成情報X’、鍵生成条件1、及び鍵生成条件2を合わせて検証者端末3に送信する(ステップS22)。送信にあたっては、送信する情報を暗号化することが望ましい。なお、文書DocのダイジェストDigは必ずしも検証者端末3に送信する必要はない。
(5)署名検証
次に、検証者端末3におけるデジタル署名の検証処理について図8を参照して説明する。まず、検証者端末3は、署名者端末1から送信された文書Doc、デジタル署名Sgn、署名鍵生成情報X’、鍵生成条件1、及び鍵生成条件2を受信する(ステップS23)。そして、検証者Bは、鍵生成条件1、2を必要に応じて確認する。例えば、鍵生成条件1があて先を指定するものであれば、自分がそのあて先であるか否かを確認する。
次に、検証者端末3は、f(鍵生成条件1)、f(鍵生成条件2)を計算し、その結果がそれぞれCond1、Cond2と一致するか否かを検証する(ステップS24)。ここで、鍵生成条件1に文書Docのダイジェスト(Dig)を含ませることとしている場合には、鍵生成条件1に含まれるDigがf(Doc)と一致するか否かを検証する。Digを、Cond1=f(鍵生成条件1)+Digの形で含めた場合には、X’の中のCond1におけるDigがf(Doc)と一致するか否かを検証する。なお、署名者端末1から受信した情報に文書Docのダイジェスト(Dig)が含まれていない場合は、検証者端末3が文書Docにハッシュ関数を作用させてダイジェスト(Dig)を生成する。
続いて、検証者端末3は、X’に含まれるID_Aが、当該文書の署名者Aの識別子かどうか確認する(ステップS25)。例えば、当該署名者Aの識別子として予め検証者端末3に格納していた識別子とID_A とを比較する。また、ID_Aが署名者Aのメールアドレスである場合であって、文書情報を署名者Aからメールで受信した場合には、送信元のメールアドレスとID_Aとを比較するようにしてもよい。
以上の検証処理により、署名鍵生成情報X’が署名者Aのものであることを確認する。以上の検証項目のうち、一つでも失敗した場合には、例えばエラーメッセージを検証者端末3の画面に表示して、以降の処理を中止する。
次に、検証者端末3は、署名鍵生成情報X’と、予め取得している鍵センタ装置5の鍵生成検証公開情報Ko等を用いて検証演算を行う(ステップS26)。これにより文書Docと署名Sgnと鍵生成情報X’が整合しているかどうかを確認する。検証演算の一例として、非特許文献1に記載された方法を用いることができる。
このように検証が成功すれば、(ア)このデジタル署名はまさしくID_Aと鍵生成条件1、2を元に作られた署名鍵を文書Docに作用させて作成されたものであるということと、(イ)署名作成者が署名者Aであることを確認できる。(イ)が確認できるのは、鍵生成秘密情報Ksを持つ鍵センタ装置5が、ID_Aが署名者Aの識別子であることを確認し、署名者Aにしか復号できない形で署名鍵を作成しているからである。
(署名計算方法の具体的な一例)
次に、署名計算の具体的一例を説明する。以下の例は非特許文献1に記載された方法に基づくものである。この例において鍵センタ装置5が保持する情報は以下の通りである。
鍵生成秘密情報Ks: 極めて大きな2つの異なる素数の組 (p, q)
鍵生成検証公開情報Ko :N (= pq)、e (=オイラー関数Φ(N)と互いに素な大きな素数)
ハッシュ関数f :ダイジェスト作成のためのハッシュ関数
鍵センタ装置5は、X’を正整数xと見なして、以下の方程式を解き、gを求める。
ge ≡ x mod N
このgがKs(X’)となる。上記の方程式を解けるのはNの因数分解を知る鍵センタ装置5のみである。
署名者端末1は次の計算により文書Docのデジタル署名Sgnを作成する。
(1)乱数 r を任意に選択し、t ≡ re mod N を計算する。
(2)Dig=f (Doc)を求め、鍵センタより受けたg (=Ks(x’))により、
s ≡ g・r f(t, Dig) mod N
を計算する。(s, t)が文書Dogの署名Sgnとなる。
検証者端末3は、Sgn=(s, t)、x、Docを得るので、Dig=f (Doc)を計算し、以下の式が成立するかどうか確認する。
se ≡ x・t f(t, Dig) mod N
この式の成立が確認できれば検証成功である。
上記のように、本実施の形態で説明した方式によれば、特に鍵生成条件として文書のダイジェストを選択した場合において、その特定の文書以外には署名鍵を有効に使用できなくなるので、署名鍵が盗難されたとしても署名鍵の無効化が不要となる。また、この署名鍵による署名が正しく検証された場合、その署名が付された文書は、署名者による鍵生成要求時に当該署名者が鍵生成条件として署名鍵に組み込むように指定した文書に他ならないことが検証されるので、署名者は「その文書は、鍵を盗んだ他人が作成したものだ」という否認ができなくなる。
また、鍵生成条件として有効期間を限定する条件を指定した場合は、その有効期間内は署名鍵の盗難が無いことを前提とすれば、それ以外の期間に署名鍵が盗難にあったとしても、署名鍵の無効化を不要とすることができる。
また、署名文書の宛先を限定するように鍵生成条件を定めた場合には、署名鍵が盗難されても、その署名鍵が無効であることをその宛先に通知するのみでよく、不特定多数相手に無効鍵リストを管理することは不要になり、無効化の負担を軽減できる。
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
本発明の実施の形態におけるシステム構成図である。 本発明の実施の形態における署名者端末1の構成図である。 本発明の実施の形態における検証者端末3の構成図である。 本発明の実施の形態における鍵センタ装置5の構成図である。 署名者端末1による署名鍵の要求処理のフローチャートである。 鍵センタ装置5による署名鍵の作成処理のフローチャートである。 署名者端末1による署名の作成、送付処理のフローチャートである。 検証者端末3による署名検証処理のフローチャートである。
符号の説明
1 署名者端末
11 通信手段
12 鍵生成条件決定手段
13 デジタル署名生成付加手段
14 署名鍵格納手段
15 情報格納手段
3 検証者端末
31 通信手段
32 デジタル署名検証手段
33 情報格納手段
5 鍵センタ装置
51 通信手段
52 署名鍵生成手段
53 情報格納手段
54 利用者管理データベース
55 利用者登録手段
56 出力手段
7 ネットワーク

Claims (6)

  1. 鍵センタ装置と、当該鍵センタ装置に通信ネットワークを介して接続された署名者端末とを有するシステムにおいて、デジタル署名を作成、送信するためのデジタル署名処理方法であって、
    鍵センタ装置は、鍵生成検証公開情報と鍵生成秘密情報を保持しており、
    署名者端末が、署名対象文書に所定のハッシュ関数を作用させた情報と署名対象文書の送信先情報とのうちのいずれか1つ又は両方を含む署名有効条件と署名者の識別子とを含む署名鍵要求情報を鍵センタ装置に送信するステップと、
    鍵センタ装置が、署名者端末から受信した署名鍵要求情報と、保持している鍵生成検証公開情報及び鍵生成秘密情報とから、当該署名鍵要求情報と鍵生成検証公開情報を含む情報を用いることによってのみ検証可能なように署名鍵を作成し、当該署名鍵を署名者端末に送信するステップと、
    署名者端末が、鍵センタ装置から受信した署名鍵を用いて、署名対象文書のデジタル署名を作成し、署名対象文書と、作成したデジタル署名と、署名者の識別子と、署名有効条件とを含む情報を検証者端末に送信するステップと
    を有することを特徴とするデジタル署名処理方法。
  2. 鍵センタ装置と、当該鍵センタ装置に通信ネットワークを介して接続された署名者端末とを有するシステムにより作成されたデジタル署名を、検証者端末が検証するためのデジタル署名処理方法であって、
    鍵センタ装置は、
    鍵生成検証公開情報と鍵生成秘密情報を保持する手段と、
    署名対象文書に所定のハッシュ関数を作用させた情報と署名対象文書の送信先情報とのうちのいずれか1つ又は両方を含む署名有効条件と署名者の識別子とを含む、署名者端末から受信した署名鍵要求情報と、保持している鍵生成検証公開情報及び鍵生成秘密情報とから、当該署名鍵要求情報と鍵生成検証公開情報を含む情報を用いることによってのみ検証可能なように署名鍵を作成し、当該署名鍵を署名者端末に送信する手段とを有し、
    署名者端末は、
    前記署名鍵要求情報を鍵センタ装置に送信する手段と、
    鍵センタ装置から受信した署名鍵を用いて、署名対象文書のデジタル署名を作成し、署名対象文書と、作成したデジタル署名と、署名鍵要求情報とを含む情報を検証者端末に送信する手段とを有し、
    前記デジタル署名処理方法は、
    検証者端末が、署名対象文書と、デジタル署名と、署名鍵要求情報とを署名者端末から受信するステップと、
    署名者端末から受信した署名者の識別子と、別に取得した当該署名者の識別子とを比較することにより、署名者端末から取得した前記署名者の識別子の正当性を検証するステップと、
    署名鍵要求情報と鍵生成検証公開情報とを含む情報を用いることによって、デジタル署名を検証するステップと
    を有することを特徴とするデジタル署名処理方法。
  3. 前記署名有効条件が、署名対象文書に所定のハッシュ関数を作用させた情報を含む場合において、
    デジタル署名の検証をするステップの前に、検証者端末が、署名者端末から受信した署名対象文書に前記ハッシュ関数を作用させた情報と、署名者端末から受信した前記署名有効条件に含まれる、署名対象文書にハッシュ関数を作用させた情報とを比較することにより、署名有効条件が署名対象文書に対応しているか否かを検証するステップを更に有する請求項に記載のデジタル署名処理方法。
  4. 前記署名有効条件が、署名対象文書に所定のハッシュ関数を作用させた情報を含む場合において、
    署名者端末は、前記ハッシュ関数を作用させた情報を除いた署名鍵要求情報を含む情報を検証者端末に送信し、検証者端末は、署名対象文書に所定のハッシュ関数を作用させた情報を作成し、その情報を含む情報を用いてデジタル署名の検証をする請求項に記載のデジタル署名処理方法。
  5. コンピュータを、鍵センタ装置と当該鍵センタ装置に通信ネットワークを介して接続された署名者端末とを有するシステムにおいて使用される当該署名者端末として機能させるプログラムであって、
    鍵センタ装置は、
    鍵生成検証公開情報と鍵生成秘密情報を保持する手段と、
    署名対象文書に所定のハッシュ関数を作用させた情報と署名対象文書の送信先情報とのうちのいずれか1つ又は両方を含む署名有効条件と署名者の識別子とを含む、署名者端末から受信した署名鍵要求情報と、保持している鍵生成検証公開情報及び鍵生成秘密情報とから、当該署名鍵要求情報と鍵生成検証公開情報を含む情報を用いることによってのみ検証可能なように署名鍵を作成し、当該署名鍵を署名者端末に送信する手段とを有し、
    前記プログラムは、前記コンピュータを、
    前記署名鍵要求情報を作成し、鍵センタ装置に送信する手段、
    鍵センタ装置から受信した署名鍵を用いて、署名対象文書のデジタル署名を作成し、署名対象文書と、作成したデジタル署名と、署名者の識別子と、署名有効条件とを含む情報を検証者端末に送信する手段
    として機能させることを特徴とするプログラム。
  6. コンピュータを、鍵センタ装置と当該鍵センタ装置に通信ネットワークを介して接続された署名者端末とを有するシステムにより作成されたデジタル署名を検証するための検証者端末として機能させるプログラムであって、
    鍵センタ装置は、
    鍵生成検証公開情報と鍵生成秘密情報を保持する手段と、
    署名対象文書に所定のハッシュ関数を作用させた情報と署名対象文書の送信先情報とのうちのいずれか1つ又は両方を含む署名有効条件と署名者の識別子とを含む、署名者端末から受信した署名鍵要求情報と、保持している鍵生成検証公開情報及び鍵生成秘密情報とから、当該署名鍵要求情報と鍵生成検証公開情報を含む情報を用いることによってのみ検証可能なように署名鍵を作成し、当該署名鍵を署名者端末に送信する手段とを有し、
    署名者端末は、
    前記署名鍵要求情報を鍵センタ装置に送信する手段と、
    鍵センタ装置から受信した署名鍵を用いて、署名対象文書のデジタル署名を作成し、署名対象文書と、作成したデジタル署名と、署名者の識別子と、署名有効条件とを含む情報を検証者端末に送信する手段とを有し、
    前記プログラムは、前記コンピュータを、
    署名対象文書と、デジタル署名と、署名者の識別子と、署名有効条件とを署名者端末から受信する手段、
    署名者端末から受信した署名者の識別子と、別に取得した当該署名者の識別子とを比較することにより、署名者端末から取得した前記署名者の識別子の正当性を検証する手段、
    前記署名鍵要求情報と鍵生成検証公開情報とを含む情報を用いることによって、デジタル署名を検証する手段
    として機能させることを特徴とするプログラム。
JP2004123299A 2004-04-19 2004-04-19 デジタル署名処理方法及びそのためのプログラム Expired - Fee Related JP4554264B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004123299A JP4554264B2 (ja) 2004-04-19 2004-04-19 デジタル署名処理方法及びそのためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004123299A JP4554264B2 (ja) 2004-04-19 2004-04-19 デジタル署名処理方法及びそのためのプログラム

Publications (3)

Publication Number Publication Date
JP2005311531A JP2005311531A (ja) 2005-11-04
JP2005311531A5 JP2005311531A5 (ja) 2007-06-07
JP4554264B2 true JP4554264B2 (ja) 2010-09-29

Family

ID=35439825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004123299A Expired - Fee Related JP4554264B2 (ja) 2004-04-19 2004-04-19 デジタル署名処理方法及びそのためのプログラム

Country Status (1)

Country Link
JP (1) JP4554264B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4906449B2 (ja) * 2006-09-13 2012-03-28 株式会社リコー 画像処理装置、電子署名付与方法及び電子署名付与プログラム
JP4829737B2 (ja) * 2006-09-27 2011-12-07 日本放送協会 個人情報保護システム、鍵管理装置および鍵生成プログラム、署名鍵生成装置および署名鍵生成プログラム、個人情報管理装置および個人情報収集プログラム、ならびに、受信端末および個人情報管理プログラム
TWI340354B (en) * 2006-12-14 2011-04-11 Inst Information Industry System, method, and computer readable medium for micropayment with varying denomination
US20110238980A1 (en) * 2010-03-23 2011-09-29 Fujitsu Limited System and methods for remote maintenance in an electronic network with multiple clients
JP2013198123A (ja) * 2012-03-22 2013-09-30 Toshiba Corp アクセス制御システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0382240A (ja) * 1989-08-25 1991-04-08 Nippon Telegr & Teleph Corp <Ntt> ディジタル署名方式
JPH11316543A (ja) * 1998-02-13 1999-11-16 Matsushita Electric Ind Co Ltd カ―ドデ―タ認証システム
JP2001042769A (ja) * 1999-07-28 2001-02-16 Cti Co Ltd 電子データの通信方法、中継サーバ及び記録媒体
JP2003244137A (ja) * 2002-02-18 2003-08-29 E Japan:Kk 電子署名の検証方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0382240A (ja) * 1989-08-25 1991-04-08 Nippon Telegr & Teleph Corp <Ntt> ディジタル署名方式
JPH11316543A (ja) * 1998-02-13 1999-11-16 Matsushita Electric Ind Co Ltd カ―ドデ―タ認証システム
JP2001042769A (ja) * 1999-07-28 2001-02-16 Cti Co Ltd 電子データの通信方法、中継サーバ及び記録媒体
JP2003244137A (ja) * 2002-02-18 2003-08-29 E Japan:Kk 電子署名の検証方法

Also Published As

Publication number Publication date
JP2005311531A (ja) 2005-11-04

Similar Documents

Publication Publication Date Title
US8099607B2 (en) Asymmetric crypto-graphy with rolling key security
US7571471B2 (en) Secure login using a multifactor split asymmetric crypto-key with persistent key security
US20220052846A1 (en) Joint blind key escrow
US7734045B2 (en) Multifactor split asymmetric crypto-key with persistent key security
US8914643B2 (en) Anonymous authentication system and anonymous authentication method
US7624269B2 (en) Secure messaging system with derived keys
KR100568233B1 (ko) 인증서를 이용한 기기 인증 방법 및 상기 방법을 이용하여기기 인증을 수행하는 디지털 컨텐츠 처리 기기
US20030115452A1 (en) One time password entry to access multiple network sites
EP1383265A1 (en) Method for generating proxy signatures
Schaad et al. Certificate management over CMS (CMC)
CN106713279B (zh) 一种视频终端身份认证系统
US8806206B2 (en) Cooperation method and system of hardware secure units, and application device
Schaad Internet X. 509 public key infrastructure certificate request message format (CRMF)
WO2008031301A1 (fr) Procédé d&#39;authentification d&#39;identité en ligne point à point
TW201724803A (zh) 具有時戳驗證的免憑證公開金鑰管理方法
JP4571117B2 (ja) 認証方法及び装置
JP4554264B2 (ja) デジタル署名処理方法及びそのためのプログラム
Barker et al. Sp 800-57. recommendation for key management, part 1: General (revised)
JP2005512395A (ja) 電子証明書を認証する方法およびシステム
EP1185024B1 (en) System, method, and program for managing a user key used to sign a message for a data processing system
JP2001285286A (ja) 認証方法、記録媒体、認証システム、端末装置、及び認証用記録媒体作成装置
JP5193924B2 (ja) 暗号通信システム、管理者装置、およびプログラム
JP4071474B2 (ja) 失効確認装置及び方法
TWI761243B (zh) 群組即時通訊的加密系統和加密方法
Thant et al. Authentication Protocols and Authentication on the Base of PKI and ID-Based

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070418

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070418

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100622

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100714

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4554264

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees