JP4130575B2 - Digital signature method in signer apparatus and digital signature program for signer apparatus - Google Patents
Digital signature method in signer apparatus and digital signature program for signer apparatus Download PDFInfo
- Publication number
- JP4130575B2 JP4130575B2 JP2002355889A JP2002355889A JP4130575B2 JP 4130575 B2 JP4130575 B2 JP 4130575B2 JP 2002355889 A JP2002355889 A JP 2002355889A JP 2002355889 A JP2002355889 A JP 2002355889A JP 4130575 B2 JP4130575 B2 JP 4130575B2
- Authority
- JP
- Japan
- Prior art keywords
- signature
- partial
- digital signature
- signer
- secret key
- 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
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、公開鍵暗号方式を用いてディジタル署名を行うときの署名者装置におけるディジタル署名方法、第三者機関装置におけるディジタル署名方法、ディジタル署名の真正性判定方法、署名者装置、第三者機関装置、ディジタル署名の真正性判定装置、署名者装置用ディジタル署名プログラム、第三者機関装置用ディジタル署名プログラム、ディジタル署名の真正性判定プログラム、およびプログラム記録媒体に関する。
【0002】
【従来の技術】
2001年4月に「電子署名及び認証業務に関する法律」(平成12年5月31日法律第102号、通称:電子署名法)が施行され、ディジタル署名が法的な裏付けをもつようになってきた。現在、ディジタル署名システムの多くでは、基盤となる枠組みとして、公開鍵暗号技術に基づく公開鍵基盤(PKI:Public Key Infrastructure)を採用している。この枠組みは、ディジタル署名のための秘密鍵の本来の所有者がディジタル署名を行った場合に、後刻においてこの事実を否認することを不可能にする否認防止については充実した手段を提供している。
【0003】
ディジタル署名において、否認防止と同じく重要な課題として、署名の非生成証明がある。これは、1つの秘密鍵の所有者以外の何者かが、その秘密鍵を用いて不正にディジタル署名を生成したときに、秘密鍵の本来の所有者がそのディジタル署名を生成していないことを証明するものである。しかしながら、現在の公開鍵基盤等の枠組みにおいては、署名の非生成証明を実現する手段は著しく貧弱であり、この手段の充実が求められている。
【0004】
図20は、ディジタル署名における否認防止と署名の非生成証明の関係を示す説明図である。否認防止はディジタル署名の受領者の利益を保証するものである一方、署名の非生成証明は署名の生成者の利益を保証するものである。この2つの機能は共に、ディジタル署名を安心して利用していくために不可欠のものである。
【0005】
この様な状況の中で、従来、ディジタルタイムスタンプサービスを実現するための一つの標準プロトコルが規定されている(例えば、非特許文献1を参照)。
【0006】
この標準プロトコルを用いてある秘密鍵の所有者が生成したディジタル署名に対して信頼される第三者機関にタイムスタンプを付加して貰うことにより、後刻そのディジタル署名の真正性について紛争が起こった場合に、否認防止が可能となる。
【0007】
ディジタル署名に対するタイムスタンプの付加が義務付けられている場合、即ち、ある秘密鍵の所有者が生成したディジタル署名に対しては、必ず所定の信頼される第三者機関にタイムスタンプを付加して貰わなければならないという規定がある場合には、この標準プロトコルを用いて生成されたディジタル署名に対して信頼される第三者機関にタイムスタンプを付加して貰うことにより、署名の非生成証明を実現することが、一定の条件の下で可能となる。
【0008】
図19は、署名の非生成証明が実現されるシナリオの一例を示す処理フロー図である。ここでSKは、秘密鍵の本来の所持者である署名者が利用する署名者装置1に記憶される秘密鍵であり、PKは秘密鍵SKと対をなす公開鍵である。認証機関装置5は、公開鍵PKに対する証明書(公開鍵証明書)を発行する証明書発行機関である認証機関(CA:Certification Authority)に具備される装置である。
【0009】
署名者装置1が自身の保持する秘密鍵SKの漏洩を検知すると(ステップS1401)、この秘密鍵SKと対をなす公開鍵PKの失効要求を認証機関装置5に送信する(ステップS1402)。この送信時刻をta とする。
【0010】
認証機関装置5は、署名者装置1からの送信に基づいて、時刻ta における公開鍵PKの失効を記録する(ステップS1403)。
【0011】
その後、攻撃者装置21は署名者装置1の秘密鍵SKを不正に入手し、この秘密鍵SKを用いて、電子文書Mに対するディジタル署名 Sig(SK, M) を生成(ステップS1404)し、時刻tb (>ta )にディジタル署名 Sig(SK, M) のハッシュ値h(Sig(SK, M)) に対する時刻証明要求を、時刻証明書を発行する時刻認証機関(TSA:Time-Stamp Authority)に設けられた装置である時刻認証機関装置9に送付する(ステップS1405)。
【0012】
時刻認証機関装置9は、要求を受信した時刻tbを添付して時刻証明書TST(h(Sig(SK, M)), tb ) を作成し、攻撃者装置21に返送する(ステップS1406)。
【0013】
ディジタル署名 Sig(SK, M) の真正性について紛争が起こったときには、しかるべき調停機関において、Sig(SK, M) の時刻証明書 TST(h(Sig(SK, M)), tb ) を提出させ、そこに添付されている時刻tb が、PKの失効時刻ta より後であることにより、ディジタル署名 Sig(SK, M) が真正でないと判定することができる。これにより、署名の非生成証明が実現される。
【0014】
しかし、ディジタル署名の流通に際して、タイムスタンプの付加は、一般には義務付けられておらず、それほど広く要請または実施されている訳でもない。例えば、前述した電子署名法においてもタイムスタンプの付加は義務付けられていない。したがって、この方式の適用範囲には現在のところ制限がある。
【0015】
また、タイムスタンプの付加が義務づけられた場合であっても、一般には複数ある時刻認証機関の中から、適宜選択して時刻証明書を発行して貰うことが可能である。したがって、この方式で署名の非生成証明を実現するためには、それら複数の時刻認証機関の全てが不正をしないことが前提となるが、その場合にはこの前提の妥当性が問題となる。
【0016】
以上の問題を踏まえて考案された例として、ディジタル署名の真偽を識別可能とする技術が開示されている(特許文献1を参照)。
【0017】
この特許文献1において記載されている第1の方法は、耐タンパー署名装置による単純ディジタル署名を用いたものである。この方法では、ディジタル署名機能を持つICカードの発行者を仮定し、その発行者が発行するICカードを用いて、ディジタル署名の生成者がディジタル署名付きメッセージを発行する。発行されるICカードは、タンパー耐性を持ちかつ署名ログを記録する機能を持つものとされている。そして、署名ログ情報がICカードの容量制限を超えた場合には、その署名ログ情報をICカードからハードディスク等の外部記録媒体に移動する。
【0018】
ディジタル署名付きメッセージの発行者において、その発行者が発行するディジタル署名付きメッセージの全ての署名ログ清報をタンパー耐性のあるICカードに保存しておくことにより、発行者以外の第三者が発行者になりすまし、不正に署名を偽造した場合に、ICカードに記録されたログ情報と照合することによって署名の偽造を検出する方法が提案されている。
【0019】
特許文献1に記載されている第2の方法は、署名ログの改ざんをより効果的に防止する方法として、リンキング・ディジタル署名を利用するものである。
【0020】
特許文献1において記載されている第3の方法は、耐タンパー署名装置による単純ディジタル署名を用いた上記第1の方法において、ディジタル署名の中に時刻情報を含めることにより、その時刻情報からもディジタル署名の有効性を判定できるようにするものである。この方法は、第1の方法と、非特許文献1で述べられているディジタルタイムスタンプサービスを組み合わせたものである。ディジタルタイムスタンプサービスを用いることにより、ある秘密鍵が漏洩して失効通知がなされた場合に、失効通知の日時とディジタル署名に対するタイムスタンプの日時を比較することにより、失効通知以後のディジタル署名を無効と判定する手段を与えている。
【0021】
【特許文献1】
特開2001−331104号公報
【0022】
【非特許文献1】
C. Adams, et al., RFC3161 「Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)」
【0023】
【発明が解決しようとする課題】
しかしながら、上述した特許文献1に開示された第1乃至第3の方式には、それぞれ次のような問題点があった。
【0024】
(1)第1の方法
この方法の問題点の一つは、署名ログ情報をICカードからハードディスク等の外部記録媒体に移動する際に外部記録媒体上の署名ログ情報が改ざんされる可能性が高まるため、本来の秘密鍵の所有者が正規のディジタル署名を生成したにも関わらず、後刻、それを否認することの防止が困難になる。
【0025】
加えて、ICカードの発行者を全面的に信頼することが前提とされており、その発行者の内部不正に対処する方法がないことである。
【0026】
(2)第2の方法
この方法を、一般的な個人間のディジタル署名のやりとりに適用する場合には次のような問題が考えられる。
【0027】
ディジタル署名の真正性について紛争が起こった場合の調停のためには、ディジタル署名の受領者が協力することと、ディジタル署名の受領者が受領したディジタル署名を確実に保管していることを前提とせざるを得ない。しかしながら、一般的な個人がディジタル署名の受領者である場合には、この前提が常に成り立つとは限らない。
【0028】
また、リンキング・ディジタル署名の適用領域として元来想定されていたパブリックサービスとしてのタイムスタンプサービスとは異なり、個人がディジタル署名を発行する場合には、ディジタル署名の発行者と受領者が共謀してディジタル署名のログを後で検知できないように改ざんする可能性が無視できないという問題もある。具体的には、ディジタル署名の発行者が個人の場合には、一般に署名要求の数は少数で、署名要求者と共謀することにより、容易に誰からいつ署名要求が来るかを制御することができ、これによりディジタル署名のログを後で検知できないように改ざんする可能性が生じる。
【0029】
(3)第3の方法
署名の非生成証明を実現する上で、この方法は、非特許文献1に従うタイムスタンプサービスと同様の問題点を持つ。即ち、ディジタル署名に対するタイムスタンプの付加が義務付けられている場合には、署名の非生成証明の実現が、一定の条件の下で可能である。しかしながら、現在の電子署名法においてはタイムスタンプの付加は義務付けられていないため、この方法の適用範囲には制限がある。
【0030】
本発明は上記に鑑みてなされたものであり、その目的は、秘密鍵を用いたディジタル署名を生成するに際して、秘密鍵の本来の持主である署名者が署名することなくその秘密鍵からディジタル署名が生成された場合には、第三者機関の署名ログ情報からその不正な事実を判明させるとともに、秘密鍵の本来の持主に対して署名の非生成証明を実現することのできる署名者装置におけるディジタル署名方法、第三者機関装置におけるディジタル署名方法、ディジタル署名の真正性判定方法、署名者装置、第三者機関装置、ディジタル署名の真正性判定装置、署名者装置用ディジタル署名プログラム、第三者機関装置用ディジタル署名プログラム、ディジタル署名の真正性判定プログラム、およびプログラム記録媒体を提供することにある。
【0031】
【課題を解決するための手段】
上記目的を達成するために、請求項1記載の本発明は、公開鍵暗号方式によるディジタル署名を行うために、秘密鍵を所持して前記公開鍵暗号方式に基づいたディジタル署名を行う署名者装置と、前記公開鍵の認証機関とは独立な第三者機関に設けられる第三者機関装置とが通信ネットワークを介して接続されたシステムにおいて、前記署名者装置と前記第三者機関装置とが協働して前記秘密鍵を生成するとともに、前記秘密鍵から分割されて成る部分秘密鍵のいずれかを各々の装置が所持しているとき、当該所持している部分秘密鍵を記憶する記憶部を備えた前記署名者装置が実行する署名者装置におけるディジタル署名方法であって、署名対象となるメッセージのハッシュ値と現在時刻から構成される署名対象データ、および前記記憶部から読み出した部分秘密鍵を用いて部分的なディジタル署名である部分署名を作成するステップと、このステップで作成した部分署名および前記署名対象データを前記第三者機関装置に送信するステップと、このステップで送信した部分署名と前記第三者機関装置が所持する部分秘密鍵を用いて生成される部分署名とを組み合わせることによって前記第三者機関装置で生成されたディジタル署名である全体署名を受信して前記記憶部に格納するステップとを有することを要旨とする。
【0032】
請求項2記載の本発明は、公開鍵暗号方式によるディジタル署名を行うために、秘密鍵を所持して前記公開鍵暗号方式に基づいたディジタル署名を行う署名者装置と、前記公開鍵の認証機関とは独立な第三者機関に設けられる第三者機関装置とが通信ネットワークを介して接続されたシステムにおいて、前記署名者装置と前記第三者機関装置とが協働して前記秘密鍵を生成するとともに、前記秘密鍵から分割されて成る部分秘密鍵のいずれかを各々の装置が所持しているとき、当該所持している部分秘密鍵を記憶する記憶部を備えた前記署名者装置が実行する署名者装置におけるディジタル署名方法であって、署名対象となるメッセージのハッシュ値と現在時刻から構成される署名対象データ、および前記記憶部から読み出した部分秘密鍵を用いて部分的なディジタル署名である部分署名を作成するステップと、このステップで作成した部分署名と前記第三者機関装置が保持する部分秘密鍵から作成された部分署名を組み合わせて成るディジタル署名である全体署名を生成するステップとを有することを要旨とする。
【0033】
請求項3記載の本発明は、請求項1または2記載の発明において、前記部分署名は、前記署名対象となるメッセージのハッシュ値と前記現在時刻を表す値を連接した値に前記部分秘密鍵を作用して構成されることを要旨とする。
【0034】
請求項4記載の本発明は、請求項1乃至3のいずれか1項記載の発明において、前記部分秘密鍵の漏洩を検知した時、当該部分秘密鍵に対応する秘密鍵の失効を前記第三者機関装置に通知するステップを更に実行することを要旨とする。
【0035】
請求項5記載の本発明は、請求項1乃至3のいずれか1項記載の発明において、前記第三者機関装置から前記部分秘密鍵に対応する秘密鍵の失効が通知されたとき、当該秘密鍵の失効を検知して記録するステップを更に実行することを要旨とする。
【0048】
請求項6記載の本発明は、公開鍵暗号方式によるディジタル署名を行うために、秘密鍵を所持して前記公開鍵暗号方式に基づいたディジタル署名を行う署名者装置と、前記公開鍵の認証機関とは独立な第三者機関に設けられる第三者機関装置とが通信ネットワークを介して接続されたシステムにおいて、前記署名者装置と前記第三者機関装置とが協働して前記秘密鍵を生成するとともに、前記秘密鍵から分割されて成る部分秘密鍵のいずれかを各々の装置が所持しているとき、当該所持している部分秘密鍵を記憶する記憶部を備えた前記署名者装置に、署名対象となるメッセージのハッシュ値と現在時刻から構成される署名対象データ、および前記記憶部から読み出した部分秘密鍵を用いて部分的なディジタル署名である部分署名を作成するステップと、このステップで作成した部分署名および前記署名対象データを前記第三者機関装置に送信するステップと、このステップで送信した部分署名と前記第三者機関装置が所持する部分秘密鍵を用いて生成される部分署名とを組み合わせることによって前記第三者機関装置で生成されたディジタル署名である全体署名を受信して前記記憶部に格納するステップとを実行させることを要旨とする。
【0049】
請求項7記載の本発明は、公開鍵暗号方式によるディジタル署名を行うために、秘密鍵を所持して前記公開鍵暗号方式に基づいたディジタル署名を行う署名者装置と、前記公開鍵の認証機関とは独立な第三者機関に設けられる第三者機関装置とが通信ネットワークを介して接続されたシステムにおいて、前記署名者装置と前記第三者機関装置とが協働して前記秘密鍵を生成するとともに、前記秘密鍵から分割されて成る部分秘密鍵のいずれかを各々の装置が所持しているとき、当該所持している部分秘密鍵を記憶する記憶部を備えた前記署名者装置に、署名対象となるメッセージのハッシュ値と現在時刻から構成される署名対象データ、および前記記憶部から読み出した部分秘密鍵を用いて部分的なディジタル署名である部分署名を作成するステップと、このステップで作成した部分署名と前記第三者機関装置が保持する部分秘密鍵から作成された部分署名を組み合わせて成るディジタル署名である全体署名を生成するステップとを実行させることを要旨とする。
【0050】
請求項8記載の本発明は、請求項6または7記載の発明において、前記部分署名は、前記署名対象となるメッセージのハッシュ値と前記現在時刻を表す値を連接した値に前記部分秘密鍵を作用して構成されることを要旨とする。
【0051】
請求項9記載の本発明は、請求項6乃至8のいずれか1項記載の発明において、前記部分秘密鍵の漏洩を検知した時、当該部分秘密鍵に対応する秘密鍵の失効を前記第三者機関装置に通知するステップを更に実行させることを要旨とする。
【0052】
請求項10記載の本発明は、請求項6乃至8のいずれか1項記載の発明において、前記第三者機関装置から前記部分秘密鍵に対応する秘密鍵の失効が通知されたとき、当該秘密鍵の失効を検知して記録するステップを更に実行することを要旨とする。
【0063】
なお、ここでいう記録媒体とは、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disk)、光磁気ディスク、PCカード等のコンピュータ読み取り可能な記録媒体のことを意味する。
【0064】
【発明の実施の形態】
次に、図面を参照して本発明の実施の形態を説明する。
【0065】
(第1の実施形態)
<システム構成>
図1は、本発明の第1の実施形態に係るシステムの全体構成を示す説明図である。同図に示すように、本実施形態において想定されるシステムは、秘密鍵の本来の所有者でありディジタル署名を行う署名者が実際の処理を行う署名者装置1、信頼される第三者機関(TTP:Third Trusted Party)における処理を実際に行う第三者機関装置3、公開鍵証明書の発行機関である認証機関(CA:Certification Authority)における処理を実際に行う認証機関装置5、ディジタル署名の真正性を判定する調停機関等において実際に処理を行う真正性判定装置7から少なくとも構成されており、これらの各装置は通信ネットワーク41を介して相互に接続されている。なお、ここでいう通信ネットワークとは、インターネットや専用回線等の電子情報(データ)を送受信可能なネットワークのことを意味する。
【0066】
このうち、第三者機関装置3は少なくとも一つ必要であるが、場合によっては複数の第三者機関における第三者機関装置が協働して本実施形態に係る処理を実行することもある。この意味で、図1では複数の第三者機関装置31 , 32 ,・・・, 3k (kは正の整数)を記載している。以後の説明において、一つの第三者機関装置を用いて処理を行う場合には、その第三者機関装置に符号3を付すことにする。
【0067】
以上の各装置は、少なくとも演算機能および制御機能を備えた中央処理装置(CPU:Central Processing Unit)、プログラムやデータを格納する機能を有し、RAM(Random Access Memory)等から成る主記憶装置(メモリ)を有する電子的な装置から構成されている。
【0068】
また、本実施形態に係る各種処理を実行するためのプログラムは、前述した主記憶装置またはハードディスクに格納される。
【0069】
上記各装置は、ハードディスクドライブ、フレキシブルディスクドライブ、CD−ROMドライブ、DVDドライブ、光磁気ディスクドライブ、PCカードドライブ等の補助記憶装置を具備していることが想定される。この意味では、後述する各種処理を行うためのプログラムを、フレキシブルディスク、CD−ROM、DVD、光磁気ディスク、PCカード等のコンピュータ読み取り可能な記録媒体に記録して広く流通させることも勿論可能である。
【0070】
図2は、署名者装置1が処理を行うための機能の概略を示す機能ブロック図である。同図に示す署名者装置1は、秘密鍵または公開鍵を生成する鍵生成手段である鍵生成部11、署名者のディジタル署名を生成する署名生成手段である署名生成部12、受信したデータに関する認証を行う認証手段である認証部13、署名対象となるメッセージを作成するメッセージ作成手段であるメッセージ作成部14、各種データならびにプログラム等を記憶する記憶手段の一部としての記憶部15を具備している。加えて、通信ネットワーク41を介したデータを送受信するインタフェースを含む送受信部16および各種データを署名者が入力または出力する入出力部17を備えている。
【0071】
このうち、鍵生成部11、署名生成部12、認証部13、およびメッセージ作成部14の処理は、上記CPUによる演算制御機能を具体的に示したものに他ならない。
【0072】
また、記憶部15は、主記憶装置および各種補助記憶装置の機能を備えたものである。
【0073】
図3は、第三者機関装置3が処理を行うための機能の概略を示す機能ブロック図である。同図においては、認証機関装置5に対して公開鍵証明書や失効証明書等の証明書を要求するデータを作成する証明書要求作成部34(証明書要求作成手段)を除き、前述した署名者装置1と同様の機能を有する部位については、署名者装置1の該当部位に付された符号と下一桁を揃えて記載している。
【0074】
図4は、真正性判定装置7が処理を行うための機能の概略を示す機能ブロック図である。同図に示す真正性判定装置7は、ディジタル署名の真正性を判定するために、署名者装置1または第三者機関装置3から受信するデータから公開鍵を抽出する鍵抽出部71(鍵抽出手段)、この鍵抽出部71で抽出した公開鍵に基づいて所定の演算を施すことにより、ディジタル署名の真正性を判定する真正性判定部72(真正性判定手段)を有する。これらの処理が、上記CPUによる演算制御機能を具体的に示したものであることは、署名者装置1および第三者機関装置3と同じである。
【0075】
記憶部73、送受信部74、および入出力部75については、署名者装置1および第三者機関装置3の対応部位と同様の機能を有する。
【0076】
なお、以上説明した各装置は、1つの電子的な装置によって構築されている場合だけでなく、各手段、または各ステップの実行を分割して2つ以上の電子的な装置によって構築されている場合も含むものとする。
【0077】
以上の構成を有するシステムが行うディジタル署名方法の詳細について説明する。本実施形態においては、ある秘密鍵を用いてディジタル署名を生成するために、その秘密鍵を、署名者装置1と、一つまたは複数の第三者機関装置31 , 32 ,・・・, 3kの間で分割して保持し、ディジタル署名生成時にはそれらの部分秘密鍵を用いて分散署名を実施することにより、正規の署名生成手段以外の方法で生成されたディジタル署名の真正性が問題となった場合に、秘密鍵の本来の所有者に対して署名の非生成証明を提供する。
【0078】
<秘密鍵の生成>
まず、分散署名を行うための前提として、ある利用者が所有する秘密鍵を、その署名者装置と一つまたは複数の第三者機関装置から成る複数のエンティティの間で分割して生成、保持するための方法として想定される二つの方法を、それぞれ図5と図6の処理フロー図を用いて説明する。なお、これらの図5および図6を用いた以下の説明においては、第三者機関装置3が1つの場合について主に説明する。
【0079】
図5を参照して、第1の方法を説明する。この方法は、署名者装置1の秘密鍵を第三者機関装置3で生成し、それを署名者装置1を含む複数のエンティティの間で分割し、各々のエンティティが自身の持分を保持するものである。
【0080】
まず、第三者機関装置3は、秘密鍵SKATと公開鍵PKATの組を鍵生成部31で生成する(ステップS101)。
【0081】
その後、第三者機関装置3は、ステップS101において生成された公開鍵PKATに対する公開鍵証明書要求 CertReq(PKAT) を証明書要求作成部34で生成し(ステップS102)、この生成した公開鍵証明書要求を認証機関装置5に送付する(ステップS103)。
【0082】
認証機関装置5は、受信した公開鍵証明書要求 CertReq(PKAT) に対する公開鍵証明書 Cert(PKAT) を第三者機関装置3に返送する(ステップS104)。
【0083】
公開鍵証明書 Cert(PKAT) を受信した第三者機関装置3は、秘密鍵SKATを、鍵生成部31で SKAT=SKAT(A)+SKAT(T)と分割する(ステップS105)。ここで、SKAT(A)およびSKAT(T)は、第三者機関装置3によって適宜定められる部分秘密鍵である。
【0084】
その後、第三者機関装置3は、部分秘密鍵SKAT(A)と公開鍵証明書Cert(PKAT) を署名者装置1に送信する(ステップS106)。
【0085】
署名者装置1は、受信した部分秘密鍵SKAT(A)と公開鍵証明書Cert(PKAT) を記憶部15に保存する(ステップS107)。
【0086】
一方、第三者機関装置3は、送信した部分秘密鍵SKAT(A)を破棄(ステップS108)した後、破棄していない部分秘密鍵SKAT(T)と公開鍵証明書Cert(PKAT) を記憶部35に保存する(ステップS109)。
【0087】
この第1の方法においては、分割された部分秘密鍵の各々を署名者装置1と第三者機関装置3とで分割して保持する前に、一旦は第三者機関装置3において秘密鍵に関する情報が蓄積されるため、第三者機関装置3に不正な侵入があった場合には、それらの情報が知られ得ることになる。したがって、この方法を用いる場合は、第三者機関装置3は次の2つの要件を満たしていることが前提とされる。
【0088】
第1の要件は、十分なセキュリティ対策を装備し、秘密鍵の生成や分割の途中で、不正侵入者の侵入を許すことがないことである。
【0089】
第2の要件は、秘密鍵が生成され、それを分割した部分秘密鍵を、署名者装置1を含む部分秘密鍵の割当先に送付した後、第三者機関装置3が自身への割当となる部分秘密鍵以外の部分秘密鍵を確実に破棄することである。
【0090】
なお、第三者機関装置が2つ以上のk個あるときには、予め第三者機関装置31, 32,・・・, 3kの中から代表となる第三者機関装置を選んでおき、この選ばれた第三者機関装置が上記同様の処理を実行する。その際には、以下のような修正を行う。
【0091】
まず、ステップS101からS104までのステップを実行した後、ステップS105においては、秘密鍵SKATの分割を以下のように行う:
SKAT=SKAT(A)+SKAT(T1)+・・・+SKAT(Tk)
ここで、SKAT(T1),・・・,SKAT(Tk)は、第三者機関装置31,…,3kが各々保存すべき部分秘密鍵である。
【0092】
ステップS106においては、部分秘密鍵SKAT(A)と公開鍵PKATを署名者装置1に送信することに加えて、部分秘密鍵SKAT(Ti)と公開鍵PKATを代表第三者機関装置以外の第三者機関装置に送信する。ここで、i=1,…,kである。
【0093】
次に、図6を参照して第2の方法を説明する。この方法は、署名者装置1が保存する秘密鍵を、その署名者装置1を含む複数のエンティティが分散生成するものである。このためのアルゴリズムとしては、既存の分散生成のためのアルゴリズムを適用することができる(RSA鍵ペアの分散生成のためアルコリズムについては、例えば、Boneh and M.K. Franklin, “Efficient generation of shard RSA keys (extended abstract)”, in Proceedings Crypto’97, pp.425-439, 1997.を参照)。
【0094】
この方法では、前述した第1の方法とは異なり、署名者装置1が保存する秘密鍵が第三者機関装置3に対して一度も知られることがないので、第三者機関装置3が不正に秘密鍵を保持し、利用しようとすることは不可能であるという利点を持つ。
【0095】
まず、図6のステップS201とS202において、署名者装置1と第三者機関装置3は、秘密鍵の分散生成のために予め定められたアルゴリズムをそれぞれ実行する(ステップS203)。
【0096】
次に、署名者装置1は、ステップS201で生成した部分秘密鍵SKAT(A)を記憶部15に保存する(ステップS204)一方で、第三者機関装置3は、ステップS202で生成した部分秘密鍵SKAT(T)を記憶部35に保存する(ステップS205)。
【0097】
続いて、署名者装置1と第三者機関装置3は、予め定められた公開鍵証明書要求のための分散生成アルゴリズムをそれぞれ実行する(ステップS206)ことにより、公開鍵証明書要求 CertReq(PKAT) を生成する(ステップS207、S208)。ここで分散生成アルゴリズムの実行が必要となるのは、ステップS201,S202で分散生成した複数の部分秘密鍵を用いてディジタル署名を生成する必要があるためである。なお、ここでの公開鍵証明書要求の分散生成においては、第三者機関装置3において証明書要求作成部34を用いることは第1の方法と同様であるが、署名者装置1の場合には、例えばメッセージ作成部14にこのような機能を具備させておく。
【0098】
第三者機関装置3は、署名者装置1と分散生成した公開鍵証明書要求CertReq(PKAT) を認証機関装置5に送付する(ステップS209)。
【0099】
これに対して、認証機関装置5は公開鍵証明書 Cert(PKAT) を第三者機関装置3に送付する(ステップS210)。
【0100】
公開鍵証明書 Cert(PKAT) を受信した第三者機関装置3は、その公開鍵証明書 Cert(PKAT) を署名者装置1に転送する(ステップS211)。
【0101】
この後、署名者装置1は、部分秘密鍵 SKAT(A) と受信した公開鍵証明書Cert(PKAT) を記憶部15に保存する(ステップS212)一方、第三者機関装置3は部分秘密鍵SKAT(T)と公開鍵証明書 Cert(PKAT) を保存する(ステップS213)。
【0102】
なお、第三者機関装置が2つ以上のk個あるときには、予め第三者機関装置31 , 32 ,・・・, 3kの中から代表となる第三者機関装置を選んでおき、この選ばれた第三者機関装置が上記同様の処理を実行する。その際には、以下のような修正を行う。
【0103】
まず、ステップS201,S202において、第三者機関装置31,…,3kと署名者装置1からなるk+1個のエンティティで鍵ペアの分散生成のためアルゴリズムを適用する。その後、ステップS205においては、全ての第三者機関装置31,…,3kの各々が、自身が保持する部分秘密鍵SKAT(Ti) を各記憶部に保存する。ここでも、i=1,…,kである。ステップS206、S207、S208、およびS209は、代表として選ばれた第三者機関装置が実行するものとする。
【0104】
<分散署名>
上記2つの方法のいずれかを用いて秘密鍵が分割され、部分秘密鍵が署名者装置と一つまたは複数の第三者機関装置に分散して保存された後、これらの署名者装置と第三者機関装置が協働して分散署名を行う方法について説明する。ここでも、最初に分散署名を行う第三者機関装置が1つの場合について説明する。
【0105】
以下に説明する分散署名方法については、ディジタル署名において、署名対象のメッセージのハッシュ値にその署名を行った日時を示す時刻値を連接し、その連接した結果に対してディジタル署名を実施する。時刻値を連接するのは、後刻そのディジタル署名についての何らかの紛争が起きて、ディジタル署名の真正性の判定が必要になった場合に、その連接された時刻を用いて判定を行うためである。
【0106】
なお、時刻値を付与したメッセージにディジタル署名を行う方法については、B. Kaliski et al.: RFC2315「PKCS#7: Cryptographic Message Syntax, Version 1.5」や、R. Housley et al.: RFC2630「Cryptographic Message Syntax」等の標準に従うことにしてもよい。このような標準が定められていることからも明らかなように、今般、署名対象データの一部に署名の付与日時を含めるのは、ディジタル署名の流通に際して広く要請または実施されていることであり、ディジタル署名をこのような形のものに限定しても、以下で述べる方法の適用範囲を狭めることにはならないのはいうまでもない。
【0107】
また、以後の説明において、署名の対象となるメッセージMに対して秘密鍵SKを用いて署名した結果を Sig(SK, h(M)‖t) と表す。ここで、hはハッシュ関数であり、h(M)‖tはh(M)と時刻tとの連接(ビット列とビット列の結合)を表す。さらに、M、t、および Sig(SK, h(M)‖t) を連接して得られる署名付きメッセージを SigMsg(SK, h(M)‖t) と表す。
【0108】
ディジタル署名を行う各エンティティが参照する時計から署名時刻を決める際には、所定の刻み幅、例えば1秒で値を定めるものとする。
【0109】
なお、秘密鍵を分散保持する複数のエンティティが、RSA公開鍵暗号方式を用いて分散署名を実行する方法については、例えば特開2001−142398号公報に開示がある(RSA公開鍵暗号方式については、R.L. Rivest et al., A method for obtaining digital Signatures and public-key cryptosystems, Communications of ACM Vol.21 (1978), pp.120-126.を参照)。以後の説明では、RSA公開鍵暗号方式を用いることを前提とするが、本発明において、ディジタル署名のベースとなる公開鍵暗号方式は、RSA公開鍵暗号方式に限られるわけではなく、それ以外にもRabin暗号、ElGamal暗号、楕円曲線暗号等の公開鍵暗号方式によるディジタル署名を用いることも勿論可能であり、その効果は同一である。
【0110】
RSA公開鍵暗号方式においては、2つの大きな素数pとqをランダムに選び、N=p・q,Φ(N)=(p−1)・(q−1)と置き、Φ(N)と互いに素な整数eを適当に定めることにより、(N,e)を公開鍵とする。また、整数dをe・d=1 mod Φ(N) となるように選んで秘密鍵とする。ここで、「1 mod Φ(N) 」とは、Φ(N) を法として1になることを意味している。0からN−1の間の整数として表現されたメッセージMに対するディジタル署名は、Md mod Nで与えられる。
【0111】
秘密鍵dがd=d(1)+…+d(r)となるような部分秘密鍵d(1),…,d(r)に分割されたときは、各々の部分秘密鍵d(i)(i=1,…,r)を用いて生成された部分署名Md(i) mod Nについて、Nを法とした乗算を行うことにより、秘密鍵dによるMに対する署名を生成することができる。即ち、
Md mod N=(Md(i) mod N)・…・(Md(r) mod N) mod N
となる(特開2001−142398号公報を参照)。
【0112】
以後、分散署名を生成する三つの方法を説明する。ここでも、最初に第三者機関装置が一つの場合について、図7乃至図9に示す処理フロー図をそれぞれ参照して説明する。
【0113】
図7は、本実施形態に係る分散署名生成方法(第1の方法)の詳細な処理内容を示す処理フロー図である。
【0114】
ステップS301およびS302は、上述した分散生成法のいずれかを用いて生成された部分秘密鍵 SKAT(A)およびSKAT(T)、公開鍵PKAT を署名者装置1および第三者機関装置3がそれぞれ保存していることを意味する。
【0115】
この第1の方法では、時刻値を付与したメッセージに対するディジタル署名を生成する際に、まず署名者装置1が、自身の参照する時計の時刻tを署名対象のメッセージのハッシュ値h(M)に連接し、その結果であるh(M)‖tに署名者装置1が保存する部分秘密鍵SKAT(A)を作用させることによって、部分署名Sig(SKAT(A), h(M)‖t) を生成する(ステップS303)。
【0116】
続いて、署名者装置1と第三者機関装置3は、各々の認証部13および33で相互にエンティティ認証を行う(ステップS304)。即ち、署名者装置1に対する第三者機関装置3による本人認証および第三者機関装置3に対する署名者装置1による第三者機関認証を行う。エンティティ認証は、各々のエンティティが所有するエンティティ認証用の公開鍵証明書を用いて行ってもよい。また、署名者装置1に対する第三者機関装置3による本人認証においては、パスワードやワンタイム・パスワード、あるいはバイオメトリックス等の本人認証のための種々の方法やそれらの組み合わせをエンティティ認証用の公開鍵証明書の代替として用いてもよいし、これをさらにエンティティ認証用の公開鍵証明書と組み合わせて用いてもよい。
【0117】
なお、ここでの認証時にエラーが生じた場合、以後の処理が行われないことはいうまでもない。
【0118】
ステップS305では、署名者装置1が、部分署名 Sig(SKAT(A), h(M)‖t) および署名の対象となった署名対象データh(M),tを第三者機関装置3に送付する。
【0119】
これらの署名対象データを受信した第三者機関装置3は、署名者装置1から送付された時刻tと自身の参照する時計の時刻を比較し、それら2つの値の差が所定の許容範囲内にあれば自身の持つ部分秘密鍵SKAT(A)を用いて部分署名 Sig(SKAT(A), h(M)‖t) を生成する(ステップS306)。ここで、「所定の許容範囲」とは、時刻を証明する際の保証精度に応じて変わるものであり、例えば設定される保証精度の数分の一程度の値が許容範囲の閾値として想定される。また、二つの時刻値の差が許容範囲内にないときには、以後の処理は行われない。以上の二点については、後述する処理において同様の事態が発生した場合にも当てはまるものである。
【0120】
その後、第三者機関装置3は、署名者装置1から送付された部分署名Sig(SKAT(A), h(M)‖t) と自身で生成した部分署名 Sig(SKAT(T), h(M)‖t) を組み合わせることによって全体署名 Sig(SKAT , h(M)‖t) を生成し(ステップS307)、この全体署名を署名者装置1に送信する(ステップS308)。
【0121】
その後、第三者機関装置3は、署名ログ (h(M), t, Sig(SKAT(T), h(M)‖t))を保存する(ステップS310)。
【0122】
他方、全体署名を受信した署名者装置1は、後刻の利用のためこれを保存するか、または更に別の第三者にこれを発行する等の方法で利用する(ステップS309)。
【0123】
なお、第三者機関装置が2つ以上のk個あるときには、予め第三者機関装置31, 32,・・・, 3kの中から代表となる第三者機関装置を選んでおき、この選ばれた第三者機関装置が上記同様の処理を実行する。その際には、以下のような修正を行う。
【0124】
ステップS304で、秘密鍵を本来所有する署名者装置1は複数の第三者機関装置31,…,3kの各々と相互のエンティティ認証を行う。即ち、署名者装置1に対する第三者機関装置3i による本人認証、および第三者機関装置3i に対する署名者装置1による第三者機関認証を行う。ここでも、i=1,…,kである。
【0125】
ステップS305において、署名者装置1は第三者機関装置31 ,…,3k の各々に対して、部分署名 Sig(SKAT(A), h(M)‖t) と署名対象データh(M),tを送付する。
【0126】
各第三者機関装置3iは、送付された時刻tを自身の時計と比較し、その差が許容範囲にあれば自身で保存する部分秘密鍵SKAT(Ti)を用いて部分署名 Sig(SKAT(Ti), h(M)‖t) を生成する(ステップS306)。
【0127】
その後、代表に選ばれた第三者機関装置以外の各第三者機関装置は、部分署名 Sig(SKAT(Ti ), h(M)‖t) を代表の第三者機関装置に送付する。
【0128】
ステップS307においては、代表の第三者機関装置は、署名者装置1から送付された部分署名 Sig(SKAT(A), h(M)‖t) と自身を含めて複数の第三者機関装置3が生成した部分署名 Sig(SKAT(Ti ), h(M)‖t) を組み合わせることによって全体署名 Sig(SKAT, h(M)‖t) を生成する。
【0129】
ステップS308からS310は、上記同様である。
【0130】
図8は、本実施形態に係る分散署名生成方法(第2の方法)の詳細な処理内容を示す処理フロー図である。この方法では、署名者装置1が全体署名を生成するようにしている点が前述した第1の方法と異なる。
【0131】
なお、ステップS401,…,S406については、第1の方法(図7のステップS301,…,S306を参照)と同じなので、説明を省略する。
【0132】
ステップS407において、第三者機関装置3は、自身の生成した部分署名 Sig(SKAT(T), h(M)‖t) を署名者装置1に返送する。
【0133】
この部分署名を受信した署名者装置1は、それらの部分署名と自身の部分署名 Sig(SKAT(A), h(M)‖t) を用いて全体署名 Sig(SKAT , h(M)‖t) を生成し(ステップS408)、この全体署名を第三者機関装置3に送付する(ステップS409)。
【0134】
第三者機関装置3は、全体署名 Sig(SKAT , h(M)‖t) を受信後、署名ログ(h(M), t, Sig(SKAT(T), h(M)‖t)) を記憶部35に保存する(ステップS410)。
【0135】
一方、署名者装置1は、後刻の利用のため全体署名 Sig(SKAT, h(M)‖t) を保存するか、または更に別の第三者にこれを発行する等の方法で利用する(ステップS411)。
【0136】
次に、第三者機関装置が複数ある場合について、第1の方法と同様に修正するステップを中心に説明する。
【0137】
まず、署名者装置1が生成した部分署名Sig(SKAT(A), h(M)‖t) と署名対象データh(M),tを第三者機関装置31, 32 ,・・・, 3kの各々に対して送付する(ステップS405)。
【0138】
第三者機関装置31, 32,・・・, 3kの各々は、図8のステップS402、S406、S407を実行する。
【0139】
ステップS408において、署名者装置1は自身の生成した部分署名Sig(SKAT(A), h(M)‖t) と、複数の第三者機関装置31, 32,・・・, 3kから送付された複数の部分署名Sig(SKAT(T1), h(M)‖t) ,…,Sig(SKAT(Tk), h(M)‖t)から全体署名 Sig(SKAT, h(M)‖t) を生成する。
【0140】
ステップS409において、署名者装置1は、全体署名 Sig(SKAT, h(M)‖t) を複数の第三者機関装置3の各々に送付し、その後、ステップS411を実行する。
【0141】
他方、第三者機関装置31, 32,・・・, 3kの各々は、ステップS410を実行する。
【0142】
図9は、本実施形態に係る分散署名生成方法(第3の方法)の詳細な処理内容を示す処理フロー図である。
【0143】
ステップS501およびS502は、上述した二つの分散署名生成方法と同様に、署名者装置1と第三者機関装置3の各々が、自身の部分秘密鍵および公開鍵を保持するステップである。
【0144】
ステップS503では、秘密鍵の本来の所有者である署名者装置1と第三者機関装置3は相互にエンティティ認証を行う。即ち、署名者装置1に対する第三者機関装置3による本人認証、および第三者機関装置3に対する署名者装置1による第三者機関認証を行う。
【0145】
その後、署名者装置1は、署名対象メッセージMのハッシュ値h(M)を署名対象データとして第三者機関装置3に送付する(ステップS504)。
【0146】
この署名対象データを受信した第三者機関装置3は、自身の参照する時計の時刻tをh(M)に連接し、その結果得られるh(M)‖tに自身の保持する部分秘密鍵SKAT(T)を作用させることによって部分署名 Sig(SKAT(T), h(M)‖t)を生成し(ステップS505)、この部分署名 Sig(SKAT(T), h(M)‖t) と時刻tを署名者装置1に返送する(ステップS506)。
【0147】
これらのデータを受信した署名者装置1は、第三者機関装置3から送付された時刻tと自身の参照する時計の時刻を比較し、それら2つの値の差が所定の許容範囲内にあれば、自身が有する部分秘密鍵SKAT(T)を用いることによって部分署名 Sig(SKAT(A), h(M)‖t) を生成する(ステップS507)。
【0148】
続いて署名者装置1は、第三者機関装置3から送付された部分署名Sig(SKAT(T), h(M)‖t) と自身の生成した部分署名 Sig(SKAT(A), h(M)‖t) を組み合わせることにより、全体署名 Sig(SKAT, h(M)‖t) を生成し(ステップS508)、この全体署名を第三者機関装置3に送信する(ステップS509)。
【0149】
第三者機関装置3は、その全体署名 Sig(SKAT, h(M)‖t) を受信した後、署名ログ(h(M), t, Sig(SKAT, h(M)‖t) )を保存する(ステップS510)。
【0150】
他方、署名者装置1は、後刻の利用のために全体署名 Sig(SKAT, h(M)‖t) を保存するか、または更に別の第三者にこれを発行する等の方法で利用する(ステップS511)。
【0151】
次に、第三者機関装置が複数ある場合について、上記二つの方法と同様に修正するステップを中心に説明する。
【0152】
ステップS503においては、署名者装置1は、第三者機関装置31 ,…,3kの各々と相互のエンティティ認証を行う。
【0153】
ステップS504においては、署名者装置1は、署名対象のデータh(M)を第三者機関装置31 ,…,3kの各々に対して送付する。
【0154】
第三者機関装置31 ,…,3kは、自身の参照する時計の時刻tiをh(M)に連接したh(M)‖tiに、自身の保持する部分秘密鍵SKAT(Ti)を作用させることによって、部分署名Sig(SKAT(Ti), h(M)‖ti) を生成し(ステップS505)、部分署名 Sig(SKAT(Ti ), h(M)‖ti) とtiを署名者装置1に返送する(ステップS506)。
【0155】
署名者装置1は、各第三者機関装置から送付された時刻t1 ,…,tkを比較し、これらが一致した場合には、この一致した値をtとして、さらにこの値tと自身の参照する時計の時刻を比較し、それら2つの値の差が所定の許容範囲内にあれば、自身の持つ部分秘密鍵SKAT(T)を用いることによって部分署名Sig(SKAT(A), h(M)‖t) を生成する(ステップS507)。ここで、時刻t1 ,…,tkが一致しなければ、全体署名の生成は行わない。
【0156】
その後、署名者装置1は自身の生成した部分署名 Sig(SKAT(A), h(M)‖t) と、第三者機関装置31 ,…,3k の各々から送付された複数の部分署名Sig(SKAT(T1 ), h(M)‖t), …, Sig(SKAT (Tk), h(M)‖t) から全体署名Sig(SKAT, h(M)‖t) を生成し(ステップS508)、この全体署名を第三者機関装置31 ,…,3kの各々に送信する(ステップS509)。
【0157】
第三者機関装置3iは、全体署名Sig(SKAT, h(M)‖t) を受信した後、署名ログ (h(M), t, Sig(SKAT, h(M)‖t)) をそれぞれ保存する(ステップS510)。
【0158】
署名者装置1が行うステップS511は上記同様である。
【0159】
以上説明した第1乃至第3の分散署名方法によれば、いずれの場合にも署名者装置と第三者機関装置が協働してディジタル署名を生成することが必須なため、第三者機関装置において当該ディジタル署名に関する情報としての署名ログ情報を蓄積しておき、後刻においてそのディジタル署名の真正性が問題となった場合には、その署名ログ情報を有効に活用することが可能になる。
【0160】
<秘密鍵の失効>
次に、署名者装置1と第三者機関装置3が部分秘密鍵SKAT(A)とSKAT(T)をそれぞれ分散して保持した後、署名者装置1と第三者機関装置3のいずれかが秘密鍵の漏洩を検知したときに実行する秘密鍵の失効処理について説明する。
【0161】
図10は、署名者装置1が秘密鍵の漏洩を検知した場合の失効処理の流れを示す処理フロー図である。
【0162】
署名者装置1および第三者機関装置3は、上述したいずれかの方法によって部分秘密鍵と公開鍵を保持している(ステップS601、S602)ものとする。
【0163】
その後、署名者装置1が自身の持つ部分秘密鍵SKAT(A)が漏洩したことを検知したとする(ステップS603)。
【0164】
この場合、署名者装置1は、直ちに秘密鍵SKATの失効を第三者機関装置3に通知する(ステップS604)。以後、この通知時刻をt1とする。
【0165】
署名者装置1からの秘密鍵SKAT の失効通知を受信した第三者機関装置3は、このときの時刻t1 を付加して秘密鍵SKATの失効を記録し、これ以後は、部分秘密鍵SKAT(T)を用いた分散署名の要求には応じない(ステップS605)。
【0166】
署名者装置1は、失効通知を第三者機関装置3に送信後、秘密鍵SKATの失効を記憶部15に記録する(ステップS606)。このステップでは、秘密鍵SKAT を削除してもよい。
【0167】
なお、第三者機関装置が2つ以上のk個あるときには、各第三者機関装置31,32,・・・, 3kの各々が図10の第三者機関装置3における処理と同様の処理を実行するが、そのうちのステップS604においては、署名者装置1は秘密鍵のSKATの失効通知を全ての第三者機関装置31 ,…,3kに対して送付する。
【0168】
図11は、第三者機関装置3が秘密鍵の漏洩を検知した場合の失効処理の流れを説明する処理フロー図である。
【0169】
まず、ステップS701およびS702は、それぞれ前述したステップS601およびS602と同じである(図10を参照)。
【0170】
その後、第三者機関装置3が自身の持つ部分秘密鍵SKAT(T)が漏洩したことを検知したとする(ステップS703)。ここでも、秘密鍵漏洩の検知時刻をt1 とする。
【0171】
この場合、第三者機関装置3は、直ちに秘密鍵SKATの失効を署名者装置1に通知する(ステップS704)。
【0172】
第三者機関装置3は、部分秘密鍵SKAT(T)の漏洩を検知した時刻t1 を付加して秘密鍵SKATの失効を記録し、これ以後は、部分秘密鍵SKAT(T)を用いた分散署名の要求には応じない(ステップS705)。
【0173】
署名者装置1は、秘密鍵SKATの失効を第三者機関装置3から受信した時点で、秘密鍵SKATの失効を検知する(ステップS706)。その後、秘密鍵SKATの失効を記録し、場合によってはその秘密鍵SKATを記憶部15から削除する。
【0174】
第三者機関装置が複数ある場合には、その各々が図7の第三者機関装置3の処理を実行する。
【0175】
<署名の真正性判定>
次に、ディジタル署名が上述したいずれかの分散署名方法によって生成された場合に、そのディジタル署名の真正性を判定する真正性判定装置7の処理について説明する。なお、このような真正性判定処理は、例えばディジタル署名の真正性について当事者間での紛争が起きた場合の調停等において、しかるべき調停機関(裁判所等)において利用されることが想定される。
【0176】
ここでも、ディジタル署名の対象となるメッセージMに対して、秘密鍵SKを用いて署名した結果を Sig(SK, h(M)‖t) と表す。また、hはハッシュ関数であり、tは署名時刻を表す数値であり、h(M)‖tはMとtの連接を表す。また、M、tと Sig(SK, h(M)‖t) を連接して得られる署名付メッセージを SigMsg(SK, h(M)‖t) と表すことについても上記説明と同様である。
【0177】
図12は、本実施形態に係る真正性判定装置7が行うディジタル署名の真正性判定処理の流れを説明するフローチャート図である。
【0178】
真正性判定装置7は、ディジタル署名の所持者から署名付メッセージSigMsg(SK’AT, h(M)‖t) と公開鍵証明書 Cert(PKAT) を受信する(ステップS801)。
【0179】
その後、受信した公開鍵証明書Cert(PKAT) から公開鍵PKATを鍵抽出部71で抽出する(ステップS802)。
【0180】
次のステップS803では、ステップS802で抽出した公開鍵PKAT と、ステップS801で受信した署名付メッセージSigMsg(SK’AT, h(M)‖t) を入カとして、署名検証演算 Veri(PKAT, SigMsg(SK’AT, h(M)‖t)) を真正性判定部72において実行する。
【0181】
この署名検証演算 Veri(PKAT, SigMsg(SK’AT, h(M)‖t)) は、前述した入力値に対して複数の演算(検証手続)を実行し、その結果としてディジタル署名の真正性を判定する値を出力とするものであり、例えば真正(YES)であるときには1、不正(NO)であるときには0の値を判定値として出力する。
【0182】
以後のステップは、署名検証演算 Veri(PKAT, SigMsg(SK’AT, h(M)‖t)) の出力結果に応じて選択がなされる。すなわち、署名検証手続による出力結果が不正(No)のときにはステップS804に進み、受信した署名付きメッセージを不正なものと判定する。
【0183】
他方、出力結果が真正(YES)のときはステップS805へ進む。ステップS805では、署名検証演算 Veri(PKAT, SigMsg(SK’AT, h(M)‖t)) を実行したディジタル署名に関する署名ログの存否について第三者機関装置3に照会し、第三者機関装置3からの応答により、該当する署名ログが存在しない(NO)ことが判明したときにはステップS806に進み、上記ステップS804と同様に、受信した署名付メッセージを不正なものと判定する。
【0184】
他方、第三者機関装置3への照会の結果、その第三者機関装置3に該当する署名ログが存在していることが判明したときは、その署名付メッセージの署名が真正である可能性が高いと判定する(ステップS807)。
【0185】
以上説明した真正性判定方法を用いれば、この判定結果に基づいてディジタル署名の真正性を推定することも可能である。また、紛争時の調停等の場合には、さらに関連情報を収集することによって調停を進めていくことができる。
【0186】
なお、第三者機関装置が複数ある場合には、ステップS805において、各第三者機関装置31 ,…,3kの各々に対して照会を行い、該当する署名ログがあるか否かを検証するものとする。
【0187】
以上説明した真正性判定装置7におけるディジタル署名の真正性判定処理においては、一つまたは複数の第三者機関装置への署名ログ存否に関する照会が不可欠である。そこで、照会を受ける第三者機関装置3が行う処理の正当性(TTP非不正の前提)については、次の3つのことを前提とし、ディジタル署名の真正性について紛争が起こった場合等に真正性判定装置7を利用する調停機関もこの前提を認めるものと仮定する。なお、以後の説明においては、第三者機関装置が一つの場合を想定して符号3を付すことにするが、複数の場合であっても本質的な相違はない。
【0188】
TTP非不正の前提1:第三者機関装置3は、自身の保持する部分秘密鍵の漏洩を検知したとき、この部分秘密鍵の失効を記録する。部分秘密鍵の失効がすでに記録されている場合には、その部分秘密鍵による署名要求には応じない(図11を参照)。
TTP非不正の前提2:第三者機関装置3は、署名者装置1から秘密鍵の失効通知を受信したときには、その秘密鍵の失効を記録する。部分秘密鍵の失効がすでに記録されている場合には、その部分秘密鍵による署名要求には応じない(図10を参照)。
TTP非不正の前提3:第三者機関装置3が署名時刻を決定するために参照する時計は、ディジタル署名が用いられる分野によって定まる一定の許容誤差の範囲で正確である。
【0189】
以上の前提に加え、図12を用いて説明した真正性判定処理に基づいたディジタル署名の非生成証明が実現されるための条件(非生成証明の実現条件)として、以下の二つの条件を課す(図10および図11を参照)。
【0190】
非生成証明の実現条件1:署名者装置1および第三者機関装置3において、共に、自身の保持する部分秘密鍵が漏洩したときには、署名者装置1は自身の部分秘密鍵の漏洩について第三者機関装置3に通知するか、あるいは第三者機関装置3は自身の部分秘密鍵の漏洩を検知する。
非生成証明の実現条件2:署名者装置1の部分秘密鍵が漏洩し、かつ第三者機関装置3の保持する部分秘密鍵が漏洩しないときは、署名者装置1は自身の部分秘密鍵の漏洩について検知し、第三者機関装置3に通知する。
【0191】
以上説明したTTP非不正の前提および非生成証明実現の条件に基づいて、非生成証明がどのように実現されるかについて、その詳細を説明する。
【0192】
不正な方法で生成された署名付きメッセージが真正性判定装置7に送信される場合として想定されるのは、次の4つである。
【0193】
A.署名者装置1の持つ部分秘密鍵と第三者機関装置3の持つ部分秘密鍵の両方が漏洩する場合。攻撃者が利用する攻撃者装置21が何らかの方法、例えば暗号ブレーク(検証用公開鍵から秘密鍵を大量の計算により算出すること)により、署名者装置1や第三者機関装置3に知られることなく秘密鍵の全体を取得する状況もこの場合に含まれる。
【0194】
B.署名者装置1の持つ部分秘密鍵が漏洩する一方で、第三者機関装置3の持つ部分秘密鍵は漏洩しない場合。この場合、署名者装置1の持つ部分秘密鍵を不正に取得した攻撃者装置21が、分散署名生成手続きにおいて、何らかの方法で第三者機関装置3に対する本人認証を通過することによって署名者装置1になりすまし、分散署名を生成する。
【0195】
C.署名者装置1の持つ部分秘密鍵は漏洩しない一方で、第三者機関装置3の持つ部分秘密鍵が漏洩する場合。この場合、第三者機関装置3の持つ部分秘密鍵を不正に取得した攻撃者装置21が、分散署名生成手続きにおいて、何らかの方法で署名者装置1に対する第三者機関認証を通過することによって第三者機関装置3になりすまし、分散署名を生成する。
【0196】
D.署名者装置1の持つ部分秘密鍵は漏洩することがなく、かつ第三者機関装置3の持つ部分秘密鍵も漏洩することがない場合。この場合、攻撃者装置21は秘密鍵を取得することなく異なる秘密鍵を用いてディジタル署名を生成する。
【0197】
A乃至Dの各場合に署名の非生成証明がどのように実現されるかについて、以下に示す表1を参照しながら詳細に述べる。
【0198】
【表1】
まず、場合Aについては、さらに詳細には次の4つの場合があり得る。
【0199】
A−1.自身が持つ部分秘密鍵の漏洩を検知した第三者機関装置3がその部分秘密鍵を用いた署名要求には応じない場合。
【0200】
この場合は、正当な方法によらずに、署名検証に合格し、かつ第三者機関装置3に署名ログが残るように署名付きメッセージが生成されることはありえない。したがって、ディジタル署名の真正性判定の手順(図12を参照)に基づいた真正性判定が行われる場合、その対象となる署名付きメッセージは不正な方法で生成されたものであると判定される。具体的には、図12のステップS803あるいはS805において、真正性判定の対象となる署名付きメッセージは不正と判定され(ステップS804あるいはS806での判定に対応)、ディジタル署名の非生成証明が成立する(○)。
【0201】
A−2.第三者機関装置3において自身の持つ部分秘密鍵の漏洩が検知されず、署名者装置1においては、自身の持つ部分秘密鍵の漏洩が検知され、第三者機関装置3に対してその部分秘密鍵に対応する秘密鍵の失効を通知する場合。
【0202】
この場合は、第三者機関装置3が署名者装置1から失効通知を受信した後、その第三者機関装置3に対して当該部分秘密鍵を用いた署名要求が届いたとき、第三者機関装置3は失効通知の記録からその部分秘密鍵に対応する秘密鍵が失効していることを検知し、署名要求には応じないことになるので、正当な方法によらずに署名検証に合格し、なおかつ第三者機関装置3の署名ログが残るように署名付きメッセージが生成されることはありえない。したがって、ディジタル署名の真正性判定においては、対象となる署名付きメッセージが不正な方法で生成されたものである他はない。すなわち、図12のステップS803あるいはS805において、調停の対象となる署名付きメッセージは不正と判定され(ステップS804あるいはS806での判定に対応)、ディジタル署名の非生成証明が成立する(○)。
【0203】
A−3.第三者機関装置3において自身の持つ部分秘密鍵の漏洩が検知されず、署名者装置1においては、自身の持つ部分秘密鍵の漏洩が検知されるが、当該秘密鍵の失効を第三者機関装置3に通知しない場合。
【0204】
この場合は、「非生成証明の実現条件1」が満たされておらず、正当な方法によらずにディジタル署名が生成されたのにも関わらず、図12の真正性判定処理において不正な署名と判定されないことがありえる(図20の場合302に該当)。具体的には、図12のステップS803においてYesと判定され、さらにステップS805でもYesと判定される可能性がある。すなわち、不正な方法でディジタル署名が生成されたにもかかわらず、そのディジタル署名の非生成証明を行うことができないこともあり得る(○または×)。
【0205】
A−4.第三者機関装置3において自身の持つ部分秘密鍵の漏洩が検知されず、署名者装置1においても自身の持つ部分秘密鍵の漏洩が検知されない場合。攻撃者装置21が暗号ブレーク等の何らかの方法により、署名者装置1や第三者機関装置3に知られることなく秘密鍵の全体を取得する状況もこの場合に含まれる。
【0206】
この場合も、「非生成証明の実現条件1」が満たされておらず、正当な方法によらずにディジタル署名が生成されたのにも関わらず、図12の真正性判定処理において不正と判定されないことが起こる可能性があり(図20の場合302に該当)、非生成証明が実現されないこともある(○または×)。このことが起こる具体的な真正性判定処理の流れは、上記A−3と同様である。
【0207】
次に、場合Bについて説明する。場合Bにおいては、より詳細には次の3つの場合があり得る。
【0208】
B−1.署名者装置1においては、自身の持つ部分秘密鍵の漏洩が検知きれ、その部分秘密鍵に対応する秘密鍵の失効を第三者機関装置3に通知する場合。
【0209】
この場合は、第三者機関装置3が失効通知を受信した後においては、第三者機関装置3に対して、当該部分秘密鍵を用いた署名要求が届いたとき、第三者機関装置3は失効通知の記録からその部分秘密鍵に対応する秘密鍵が失効していることを検知し、署名要求には応じないことになる。よって、正当な方法によらずに、署名検証に合格する署名付きメッセージが生成されることはありえない。したがって、ディジタル署名の真正性についての調停手続きが行われる場合、調停の対象となる署名付きメッセージは不正な方法で生成されたものである他はない。具体的には、図12のステップS803において、調停の対象となる署名付きメッセージは不正と判定され(ステップS804の判定に相当)、署名の非生成証明が成立する(○)。
【0210】
B−2.署名者装置1で自身の持つ部分秘密鍵の漏洩が検知されたにも関わらず、第三者機関装置3に対して対応する秘密鍵の失効を通知しない場合。
【0211】
この場合は、「非生成証明の実現条件2」が満たされておらず、正当な方法によらずにディジタル署名が生成されたのにもかかわらず、図12に示す真正性判定処理において不正なディジタル署名と判定されないことがあり得る(図20の場合302に該当)。
【0212】
具体的には、署名者装置1の持つ部分秘密鍵を不正に取得した攻撃者装置21が、分散署名生成手続きにおいて、何らかの方法で第三者機関装置3に対する本人認証を通過することによって本人になりすまし、分散署名を生成することが可能である。この場合、図12のステップS803においてYesと判定され、さらにステップS805の判定でもYesと判定されることになる。すなわち、不正な方法でディジタル署名が生成されたにもかかわらず、署名の非生成証明を行うことができないこともある(○または×)。
【0213】
B−3.署名者装置1においても自身の持つ部分秘密鍵の漏洩が検知されない場合。
【0214】
この場合は、「非生成証明の実現条件2」が満たされておらず、正当な方法によらずに署名が生成されたのにもかかわらず、図12の調停手続きにおいて不正な署名と判定されないことがありえる。具体的には場合(B−2)で述べたのと同様の手順により、不正な方法でディジタル署名が生成されたにもかかわらず、署名の非生成証明を行うことができないことがあり得る(○または×)。
【0215】
第3に、場合Cについて説明する。詳細には次の2つの場合がありえる。
【0216】
C−1.第三者機関装置3において自身の持つ部分秘密鍵の漏洩が検知され、それ以後はその部分秘密鍵を用いた署名要求には応じない場合。
【0217】
この場合、第三者機関装置3の持つ部分秘密鍵を不正に取得した攻撃者装置21が、分散署名生成手続きにおいて、何らかの方法で署名者装置1に対する第三者機関認証を通過することによって第三者機関装置3になりすまし、分散署名を生成することが可能である。しかし、第三者機関装置3はその部分秘密鍵を用いた署名要求には応じないため、第三者機関装置3の署名ログに当該の署名ログを残すことは不可能である。したがって、ディジタル署名の真正性判定処理が行われる場合、判定の対象となる署名付きメッセージは、図12のステップS803においてYesと判定されることは可能であるが、ステップS805においてNoと判定され(ステップS806の判定に対応)、不正なディジタル署名と判定される。この結果、非生成証明が成立する(○)。
【0218】
C−2.第三者機関装置3において自身の持つ部分秘密鍵の漏洩が検知されない場合。
【0219】
この場合にも前述したC−1における場合と同様に、第三者機関装置3の持つ部分秘密鍵を不正に取得した攻撃者装置21が、分散署名生成手続きにおいて、何らかの方法で署名者装置1に対する第三者機関認証を通過することにより第三者機関装置3になりすまし、分散署名を生成することが可能である。このように生成された署名付きメッセージの真正性を判定する場合には、場合C−1と同様に、その署名付きメッセージは不正な署名と判定され、非生成証明が成立する(○)。
【0220】
なお、この場合には、署名者装置1が分散署名の要求を第三者機関装置3に送信したとき、第三者機関装置3はそれに応じるため、秘密鍵の一部漏洩にもかかわらず、正当な分散署名手続きによって署名付きメッセージが生成されることもあり得る。このように生成された署名付きメッセージが真正性判定装置7に持ち込まれたときには、その署名付きメッセージは正当なものと判定され、否認の防止が実現されることになる。
【0221】
最後に、場合Dについて説明する。
この場合、不正に生成された署名付きメッセージについて、ディジタル署名の真正性判定処理が行われる場合、図12のステップS803においてNoと判定され、そのディジタル署名は不正なものと判定される(ステップS804の判定に対応)。よってディジタル署名の非生成証明が実現される(図20の場合201に該当、○)。
【0222】
以上をまとめると、ディジタル署名の非生成証明が実現されないことが起こり得るのは、場合A−3,場合A−4,場合B−2,場合B−3において、不正に署名者装置1の部分秘密鍵を入手した攻撃者装置21が第三者機関装置3における本人認証を通過するときである。
【0223】
このうち、場合A−3およびA−4においてディジタル署名の非生成証明が実現不可能となるためには、第三者機関装置3が持つ部分秘密鍵が自身に検知されることなく漏洩し、かつ署名者装置1の持つ部分秘密鍵が漏洩しながら署名者装置1がそれを通知することなく、さらに不正に署名者装置1の部分秘密鍵を入手した攻撃者装置21が第三者機関装置3における本人認証を通過する必要がある。
【0224】
場合B−2およびB−3においてディジタル署名の非生成証明が実現不可能となるためには、署名者装置1の部分秘密鍵が漏洩しながら、対応する秘密鍵の失効通知が第三者機関装置3に対してなされず、かつ不正に署名者装置1の部分秘密鍵を入手した攻撃者装置21が第三者機関装置3における本人認証を通過する必要がある。
【0225】
ここで、ディジタル署名の真正性について紛争が起こる場合の一例として、真正性判定装置7による判定によってディジタル署名が不正に偽造されたと判定され、その結果、秘密鍵の所有者の非生成証明があると判定される場合について具体的に説明する。
【0226】
図13は、真正性が問題となる署名付メッセージが攻撃者装置21によって偽造される場合の当該署名付きメッセージの生成履歴を示す処理フロー図である。
【0227】
同図においては、時刻tbで署名者装置1の保持する部分秘密鍵SKAT(A)が漏洩したとする(ステップS902)。
【0228】
署名者装置1はこの漏洩を検知し、秘密鍵SKATの失効を直ちに第三者機関装置3に通知するものとする(ステップS903)。
【0229】
その後、tc>tbであるような時刻tcにおいて、攻撃者装置21はta <tbとなるような時刻値taを署名時刻として含むような署名付きメッセージ SigMsg(SK’AT, h(M)‖ta) を偽造したものとする(ステップS904)。
【0230】
なお、図13のステップS901に「?」が付されているのは、この時刻ta において署名されたとされる署名付メッセージ(SigMsg(SKAT, h(M)‖ta) と記載)が真正であるか否かが問題となっていることを意味している。
【0231】
攻撃者装置21は、上述した生成履歴を経て作成した署名付メッセージSigMsg(SK’AT, h(M)‖ta) を真正性判定装置7へ送信する。
以後の処理については、再び図12のフローチャート図を用いて説明する。
【0232】
ステップS801でディジタル署名の所持者(実際には攻撃者装置21)から署名付メッセージ SigMsg(SK’AT, h(M)‖ta) を受信した真正性判定装置7は、続くステップS802において、受信した署名付メッセージに含まれる秘密鍵SKATに対応する公開鍵PKAT を抽出する。
【0233】
その後、真正性判定装置7は、署名付メッセージSigMsg(SK’AT, h(M)‖ta ) と、その署名付きメッセージ SigMsg(SK’AT , h(M)‖ta ) から抽出した公開鍵PKATとを入力として、署名検証演算 Veri(PKAT, SigMsg(SK’AT, h(M)‖ta))を実行し、その結果が真正(Yes)であるか不正(No)であるかに応じて次のステップを選択する(ステップS803)。
【0234】
このステップS803の署名検証の結果がYesとなるためには、メッセージMに対して、署名者装置1と第三者機関装置3を含む複数の部分署名を行う装置が、部分秘密鍵SKAT(A)とSKAT(T)を含む複数の部分秘密鍵を用いて分散署名する必要がある。ところが、図13に示す生成履歴を有する署名付メッセージ SigMsg(SK’AT, h(M)‖ta) の場合には、第三者機関装置3は自身が担当する分散署名を実行していないので、ステップS803の署名検証の結果がYesとなることはありえない。したがって、署名付メッセージ SigMsg(SK’AT, h(M)‖ta) は不正と判定され、署名者装置1に対する署名の非生成証明が成立する。
【0235】
以上説明した本発明の第1の実施形態によれば、ある秘密鍵を用いたディジタル署名を生成するには、その秘密鍵の本来の持主である署名者(装置)と第三者機関(装置)とが協働しなければ生成することのできないディジタル署名の生成方法を実現できる。
【0236】
また、本実施形態によれば、署名者装置が署名することなく、その署名者装置の保持する秘密鍵を用いたディジタル署名が生成された場合には、第三者機関装置に蓄積される署名ログ情報からその事実が判明するようなディジタル署名の生成システムを提供することにより、後刻、紛争等が生じてそのディジタル署名の真正性が問題となったとき、署名者(装置)に対して非生成証明を実現することができる。
【0237】
この意味で、上述した従来技術とは、第三者機関装置3が正常に動作し、部分秘密鍵が漏洩した場合には漏洩が検知され、対応する秘密鍵の失効が通知される限り、署名の真偽が問題となる状況を不可能とし、秘密鍵の本来の所有者である署名者の非生成証明を容易に実現できる点が顕著に異なっている。
【0238】
(第2の実施形態)
図14は、本発明の第2の実施形態に係るシステムの全体構成を示す説明図である。同図に示すように、本実施形態において想定されるシステムは、上記第1の実施形態と同様の装置に加え、上位機関としての時刻認証機関(TSA:Time-Stamp Authority)に設けられる時刻認証機関装置9が通信ネットワーク41を介して相互に接続されている。この時刻認証機関装置9が電子的な装置から構成されていることは、他の装置と同様である。
【0239】
なお、秘密鍵の分散生成については、上記第1の実施形態と同様に行われるものとする。すなわち、署名者装置1は部分秘密鍵SKAT(A)を、第三者機関装置31, 32,・・・, 3k(kは正の整数)は、部分秘密鍵SKAT(T1),・・・,SKAT (Tk)をそれぞれ生成する。秘密鍵の全体が、SKAT=SKAT(A)+SKAT(T1 )+…+SKAT(Tk )であることも第1の実施形態と同様である。
【0240】
また、本実施形態においても、ディジタル署名の対象となるメッセージMに対して、秘密鍵SKを用いて署名した結果を、第1の実施形態と同様の記号「Sig」を用いて Sig(SK, h(M)) などと記載する。ここで、hはハッシュ関数を表す。さらに、Mと Sig(SK, h(M)) を連接して得られる署名付メッセージについても、記号「SigMsg」を用いて SigMsg(SK, h(M)) などと記載する。
【0241】
<分散署名>
図15は、本発明の第2の実施形態に係る分散署名生成方法の処理内容を示す処理フロー図である。ここでも、最初に一つの第三者機関装置3からシステムが構成される場合について説明する。
【0242】
署名者装置1および第三者機関装置3は、(部分秘密鍵、公開鍵)の組として、(SKAT(A)、PKAT)および(SKAT(T)、PKAT)をそれぞれ保持する(ステップS1001およびS1002)。
【0243】
署名者装置1は、署名対象のメッセージのハッシュ値h(M)を用いて部分署名 Sig(SKAT(A),h(M)) を生成する(ステップS1003)。
【0244】
次に、署名者装置1と第三者機関装置3は、相互にエンティティ認証を行う(ステップS1004)。即ち、署名者装置1に対する第三者機関装置3による本人認証および第三者機関装置3に対する署名者装置1による第三者機関認証を行う。
【0245】
その後、署名者装置1は、部分署名 Sig(SKAT(A),h(M)) と署名対象メッセージのハッシュ値h(M)を第三者機関装置3に送付する(ステップS1005)。
【0246】
一方、第三者機関装置3は、受信したハッシュ値h(M)に対して自身の保持する部分秘密鍵SKAT(T)を作用させ、部分署名 Sig(SKAT(T),h(M)) を生成し(ステップS1006)、署名者装置1から送付された署名者装置1の部分署名 Sig(SKAT(A),h(M)) と自身の生成した部分署名 Sig(SKAT(T),h(M)) を組み合わせることにより、全体署名 Sig(SKAT,h(M)) を生成する(ステップS1007)。
【0247】
続くステップS1008において、第三者機関装置3は、生成した全体署名 Sig(SKAT,h(M)) のハッシュ値であるh(Sig(SKAT,h(M)))に対する時刻証明書要求TSTReq(h(Sig(SKAT, h(M)))) を時刻認証機関装置9に送信する(ステップS1008)。
【0248】
時刻証明書要求 TSTReq(h(Sig(SKAT,h(M)))) を受信した時刻認証機関装置9は、受信時刻tを添付した時刻証明書 TST(h(Sig(SKAT,M)), t) を第三者機関装置3に返送する(ステップS1009)。
【0249】
この時刻証明書 TST(h(Sig(SKAT,M)), t) を受信した第三者機関装置3は、全体署名 Sig(SKAT,h(M)) と時刻証明書 TST(h(Sig(SKAT,M)), t) を署名者装置1に送信する(ステップS1010)。
【0250】
署名者装置1は、後刻の利用のために、受信した全体署名 Sig(SKAT,h(M)) を記憶部15に保存するか、またはさらに別の第三者にこれを発行する等の方法で利用する(ステップS1011)。
【0251】
他方、第三者機関装置3は、署名ログ (h(M), t, Sig(SKAT(T), h(M)) と時刻証明書 TST(h(Sig(SKAT,M)), t) を記憶部35に保存する(ステップS1012)。
【0252】
上述した第1の実施形態におけるディジタル署名の分散生成処理においては、ディジタル署名の対象となるメッセージのハッシュ値h(M)に時刻tを連接し、その結果であるh(M)‖tに対して、ディジタル署名を実行することにより署名時刻とディジタル署名を関連づけていた。これに対して、本実施形態においては、ディジタル署名に対して時刻証明書を取得することができるため、署名時刻とディジタル署名を関連づけるために,h(M)‖tに対してディジタル署名を実行する必要はなく、単にハッシュ値h(M)に対してディジタル署名を実行すればよい。
【0253】
なお、第三者機関装置が2つ以上のk個あるときには、予め第三者機関装置31, 32,・・・, 3kの中から代表となる第三者機関装置を選んでおき、この選ばれた第三者機関装置が上記同様の処理を実行する。その際には、以下のような修正を行う。
【0254】
まず、ステップS1005において、署名者装置1は第三者機関装置31 ,…,3k の各々と相互にエンティティ認証を行う。
【0255】
続いて、ステップS1005において、Sig(SKAT(A), h(M)) とh(M)を代表第三者機関装置に送信後、それ以外の第三者機関装置に向けてh(M)のみを送信する。h(M)を受信した代表第三者機関装置以外の第三者機関装置は、部分署名 Sig(SKAT(T), h(M)) を生成し、代表第三者機関装置に送信する。
【0256】
ステップS1007では、代表第三者機関装置が、署名者装置1から送付された部分署名 Sig(SKAT(A), h(M)) と自身を含めて複数の第三者機関装置が生成した部分署名 Sig(SKAT(Ti), h(M)) を組み合わせることによって全体署名Sig(SKAT, h(M)) を生成する。ここでi=1,…,kである。
【0257】
ステップS1008とS1009は各第三者機関装置が行う。
【0258】
その後、代表第三者機関装置が、全体署名Sig(SKAT, h(M)) および時刻証明書 TST(h(Sig(SKAT,M)), t) を署名者装置1および他の第三者機関装置に向けて送信する。
【0259】
この全体署名 Sig(SKAT, h(M)) と時刻証明書 TST(h(Sig(SKAT,M)), t) を受信した代表以外の第三者機関装置は、署名ログ (h(M), t, Sig(SKAT(Ti), h(M)) と時刻証明書 TST(h(Sig(SKAT,M)), t) を保存する(ステップS1012に相当)。
【0260】
本実施形態に係る分散署名生成方法は、上記第1の実施形態と同様の効果を奏することに加えて、時刻については専門の時刻認証機関に証明を依頼することにより、時刻の信頼性、正確さを向上させることができる上、分散署名を行う複数のエンティティが用いる時計が互いに誤差を生じていることにより、ディジタル署名が生成できないという状況を回避することができる。
【0261】
<秘密鍵の失効>
次に、署名者装置1と第三者機関装置3が、それぞれ部分秘密鍵SKAT(A)とSKAT(T)を分散して保持した後、署名者装置1と第三者機関装置3のいずれかが秘密鍵の漏洩を検知したときに実行する秘密鍵の失効処理について説明する。
【0262】
図16は、署名者装置1が秘密鍵の漏洩を検知した場合の失効処理の流れを説明する処理フロー図である。
【0263】
ステップS1101およびS1102の処理は、各々の装置が部分秘密鍵と公開鍵を所定の鍵生成法によって生成、保持するステップを表している。
【0264】
その後、署名者装置1が自身の持つ部分秘密鍵SKAT(A)の漏洩を検知したとする(ステップS1103)。
【0265】
このとき、署名者装置1は、直ちに秘密鍵SKATの失効を第三者機関装置3に通知する(ステップS1104)。
【0266】
この通知を受信した第三者機関装置3は、その秘密鍵SKATと対をなす公開鍵PKATの失効を、公開鍵証明書を発行した認証機関装置5に要求する(ステップS1105)。
【0267】
第三者機関装置3からの失効要求を受信した認証機関装置5は、失効要求を受けた時刻t1を添付して公開鍵PKATの失効を記録し(ステップS1106)、その失効要求に対する応答(PKATの証明書失効応答)として、時刻t1の付いたPKATの失効通知の受取証明を第三者機関装置3に送付する(ステップS1107)。
【0268】
その後、第三者機関装置3は、受信したPKATの失効通知の受取証明を署名者装置1に転送し(ステップS1108)、そのPKATの失効通知の受取証明を記憶部35に保存する(ステップS1109)。
【0269】
PKAT の失効通知の受取証明を第三者機関装置3から転送された署名者装置1も、受信したPKATの失効通知の受取証明を記憶部15に保存する(ステップS1110)。
【0270】
尚、公開鍵証明書の失効要求とそれに対する証明書失効応答の形式については、R. Housley et al., RFC2459 「Internet X.509 Public key Infrastructure Certificate and CRL Profile」で定められている標準に従うことにしてもよい。
【0271】
第三者機関装置が複数ある場合には、その各々が図16における第三者機関装置3の処理を実行する。
【0272】
図17は、第三者機関装置3が秘密鍵の漏洩を検知した場合の失効処理の流れを説明する処理フロー図である。
【0273】
ステップS1201およびS1202は、図16におけるステップS1101およびS1102とそれぞれ同じ処理である。
【0274】
その後、第三者機関装置3が、自身の持つ部分秘密鍵SKAT(T)の漏洩を検知したとする(ステップS1203)。
【0275】
部分秘密鍵SKAT(T)の漏洩を検知した第三者機関装置3は、直ちに秘密鍵SKATと対をなす公開鍵PKAT の公開鍵証明書の失効を認証機関装置5に対して要求する(ステップS1204)。
【0276】
以後のステップS1205、S1206、・・・、S1209の処理については、図16を用いて説明した前述のケースと同じなので、説明を省略する。
【0277】
この場合にも、第三者機関装置が複数ある場合には、その各々が図17における第三者機関装置3の処理を実行する。
【0278】
<署名の真正性判定>
次に、ディジタル署名が上述したいずれかの分散署名方法によって生成された場合に、そのディジタル署名の真正性を判定する真正性判定装置7の処理について説明する。
【0279】
図18は、真正性判定装置7が行うディジタル署名の真正性判定処理の流れを説明するフローチャート図である。
【0280】
真正性判定装置7は、ディジタル署名の所持者から署名付メッセージSigMsg(SK’AT,h(M)) と公開鍵証明書 Cert(PKAT)を受信する(ステップS1301)。
【0281】
その後、受信した公開鍵証明書Cert(PKAT) から公開鍵PKATを鍵抽出部71で抽出する(ステップS1302)。
【0282】
次のステップS1303では、ステップS1302で抽出した公開鍵PKAT と、ステップS1301で受信した署名付メッセージ SigMsg(SK’AT ,h(M)) を入カとして、署名検証演算 Veri(PKAT,SigMsg(SK’AT,h(M))) を真正性判定部72において実行する。
【0283】
ここでの署名検証演算 Veri(PKAT,SigMsg(SK’AT,h(M))) の概要ならびに出力は、第1の実施形態における署名検証演算と本質的に同じである。このステップにおいて、署名検証演算の出力が不正(NO)のときは、ステップS1304に進み、署名付きメッセージ SigMsg(SK’AT,h(M)) を不正なものと判定する。他方、出力結果が真正(YES)のときはステップS1305へ進む。
【0284】
ステップS1305では、署名検証演算Veri(PKAT,SigMsg(SK’AT,h(M))) を実行したディジタル署名の署名ログおよび時刻証明書の存否について第三者機関装置3に照会し、それらの署名ログと時刻証明書が共に存在する場合以外(NO)のときは、署名付きメッセージSigMsg(SK’AT ,h(M)) を不正なものと判定する(ステップS1306)。
【0285】
ステップS1305において署名ログと時刻証明書が共に第三者機関装置3に存在したとき(YES)には、ステップS1307に進んで、その時刻証明書と署名ログの情報が矛盾なく合致しているか否かの判定を行う。
【0286】
ここでの判定は、署名ログを (h(M), t, Sig(SKAT(T), h(M)))、時刻証明書を TST(h(Sig(SKAT,M), t)、時刻認証機関装置9の時刻証明書発行に用いられる秘密鍵に対応する公開鍵をPKTSA とするとき、その時刻証明書TST(h(Sig(SKAT,M), t) に含まれるディジタル署名に対してPKTSAを作用させて復元した署名対象のハッシュ値が、h(Sig(SKAT(T), h(M))) と時刻tを連接したもののハッシュ値に等しいか否かの判定を行う。この判定の結果がNoのときは、署名付きメッセージ SigMsg(SK’AT ,h(M)) を不正なものと判定する(ステップS1308)。
【0287】
他方、Yesのときは、署名ログ (h(M), t, Sig(SKAT(T), h(M))) に含まれる署名時刻tを抽出し(ステップS1309)、公開鍵証明書 Cert(PKAT) を発行した認証機関装置5に対し、時刻tにおいて公開鍵PKAT が有効だったか否かを照会する(ステップS1310)。
【0288】
この照会に対して、認証機関装置5からYesの回答を得た場合には、署名付メッセージ SigMsg(SK’AT(T), h(M)) の署名が真正である可能性が高いと判定する(ステップS1311(YES)、S1313)。他方、Noの回答を得た場合には、署名付メッセージ SigMsg(SK’AT(T), h(M)) の署名を不正なものと判定する(ステップS1311(NO)、S1312)。
【0289】
以上の真正性判定方法を用いれば、上記第1の実施形態と同様に、署名の真正性を推定したり、紛争時の調停等の場合、さらに関連情報を収集することによって調停を進めていったりすることができる。
【0290】
なお、第三者機関装置が複数ある場合には、ステップS1305において、各第三者機関装置31 ,…,3kの各々が署名ログおよび時刻証明書の存否を検査するものとする。
【0291】
またステップS1306においては、第三者機関装置31 ,…,3kの各々に対して、記録されていた署名ログと時刻証明書の情報が矛盾なく合致しているか否かを検査するものとする。
【0292】
なお、ディジタル署名についてのサービス提供を業務とする第三者機関装置3が時刻認証機関装置9を用いる場合には、個人を含む一般的なエンティティとしての署名者装置1が時刻認証機関装置9を用いる場合(図19を参照して説明した場合)とは異なり、時刻認証機関装置9によって発行される時刻証明書の取得をサービス約款等に含めることにより、ディジタル署名に際して時刻証明書の取得が義務化されたのと同様の効果を得ることができる。
【0293】
この場合に、正規の手段以外で生成された不正なディジタル署名についての真正性判定が必要となったとき(例えば紛争が起こった場合等)には、上記第1の実施形態で述べた条件(TTP非不正の前提1、2、3、並びに非生成証明の実現条件1、2)の下で署名者装置1に対してディジタル署名の非生成証明を提供することが可能となる。
【0294】
さらに、部分秘密鍵が漏洩した場合には、図16または図17に示す手順により、その部分秘密鍵を含む秘密鍵の全体と対をなす公開鍵の失効要求を認証機関装置5に通知することにより、前述したTTP非不正の前提1,2,3の一部を省略してもディジタル署名の非生成証明を実現することが可能となる。より具体的には、図18に示した真正性判定処理を採用することにより、TTP非不正の前提1および2に記載された内容のうち、「部分秘密鍵の失効が記録されている場合には、その部分秘密鍵による署名要求には応じないものとする」という部分、並びにTTP非不正の前提3を省略することができる。これは、ディジタル署名用の秘密鍵失効後に、その秘密鍵を用いたディジタル署名がなされた場合には、そのディジタル署名に係る時刻証明書と、認証機関装置5に記録・保存されている公開鍵証明書の失効記録とを照合することにより、そのディジタル署名が秘密鍵の失効後になされたものであるか否かを判定できるためである。
【0295】
以上説明した本発明の第2の実施形態によれば、上述した第1の実施形態と同様の効果を得ることができる。
【0296】
加えて、本実施形態によれば、時刻情報については専門の時刻認証機関の証明を用いることができるので、時刻情報の信頼性や正確さを向上させることが可能になる。これにより、分散署名を行う複数のエンティティが用いる時計の誤差によってディジタル署名の生成が不可能になるという事態を回避することも可能になる。
【0297】
なお、本実施形態においても、上記第1の実施形態と同様にRSA公開鍵暗号方式を用いることを前提としているが、それ以外のさまざまな公開鍵暗号方式を採用した場合にも同様の効果を得ることができるのはいうまでもない。
【0298】
【発明の効果】
以上の説明からも明らかなように、本発明によれば、秘密鍵を用いたディジタル署名を生成するに際して、秘密鍵の本来の持主である署名者が署名することなくその秘密鍵からディジタル署名が生成された場合には、第三者機関の署名ログ情報からその不正な事実を判明させるとともに、秘密鍵の本来の持主に対して署名の非生成証明を実現することのできる署名者装置におけるディジタル署名方法、第三者機関装置におけるディジタル署名方法、ディジタル署名の真正性判定方法、署名者装置、第三者機関装置、ディジタル署名の真正性判定装置、署名者装置用ディジタル署名プログラム、第三者機関装置用ディジタル署名プログラム、ディジタル署名の真正性判定プログラム、およびプログラム記録媒体を提供することができる。
【0299】
これにより、偽造された不正なディジタル署名に対し、秘密鍵の本来の所有者が署名しなかったことの証明、即ち署名の非生成証明が可能となるだけでなく、真正なディジタル署名に対しては、秘密鍵の本来の所有者による否認を不可能にするという効果も得ることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るシステム全体の構成を示す説明図である。
【図2】署名者装置が有する機能の概略を示す機能ブロック図である。
【図3】第三者機関装置が有する機能の概略を示す機能ブロック図である。
【図4】真正性判定装置が有する機能の概略を示す機能ブロック図である。
【図5】秘密鍵の分散生成の第1の方法を示す処理フロー図である。
【図6】秘密鍵の分散生成の第2の方法を示す処理フロー図である。
【図7】本発明の第1の実施形態に係る分散署名生成方法(第1の方法)の処理内容を示す処理フロー図である。
【図8】本発明の第1の実施形態に係る分散署名生成方法(第2の方法)の処理内容を示す処理フロー図である。
【図9】本発明の第1の実施形態に係る分散署名生成方法(第3の方法)の処理内容を示す処理フロー図である。
【図10】本発明の第1の実施形態において、署名者装置が秘密鍵の漏洩を検知した場合の失効処理の流れを説明する処理フロー図である。
【図11】本発明の第1の実施形態において、第三者機関装置が秘密鍵の漏洩を検知した場合の失効処理の流れを説明する処理フロー図である。
【図12】本発明の第1の実施形態において、真正性判定装置が行うディジタル署名の真正性判定処理の流れを説明するフローチャート図である。
【図13】本発明の第1の実施形態において、真正性が問題となる署名付メッセージが攻撃者装置によって偽造される場合の生成履歴を示す処理フロー図である。
【図14】本発明の第2の実施形態に係るシステム全体の構成を示す説明図である。
【図15】本発明の第2の実施形態に係る分散署名生成方法の処理内容を示す処理フロー図である。
【図16】本発明の第2の実施形態において、署名者装置が秘密鍵の漏洩を検知した場合の失効処理の流れを説明する処理フロー図である。
【図17】本発明の第2の実施形態において、第三者機関装置が秘密鍵の漏洩を検知した場合の失効処理の流れを説明する処理フロー図である。
【図18】本発明の第2の実施形態において、真正性判定装置が行うディジタル署名の真正性判定処理の流れを説明するフローチャート図である。
【図19】ディジタル署名の非生成証明が実現されるシナリオの一例を示す処理フロー図である。
【図20】ディジタル署名における否認防止とディジタル署名の非生成証明の関係を示す説明図である。
【符号の説明】
1 署名者装置
3、31 ,32 ,…,3k 第三者機関装置
5 認証機関装置
7 真正性判定装置
9 時刻認証機関装置
11、31 鍵生成部
12、32 署名生成部
13、33 認証部
14 メッセージ作成部
15、35、73 記憶部
16、36、74 送受信部
17、37、75 入出力部
21 攻撃者装置
34 証明書要求作成部
41 通信ネットワーク
71 鍵抽出部
72 真正性判定部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a digital signature method in a signer apparatus when performing a digital signature using a public key cryptosystem, a digital signature method in a third party organization apparatus, a digital signature authenticity determination method, a signer apparatus, a third party The present invention relates to an institution apparatus, a digital signature authenticity determining apparatus, a signer apparatus digital signature program, a third party institution apparatus digital signature program, a digital signature authenticity determining program, and a program recording medium.
[0002]
[Prior art]
In April 2001, the “Act on Electronic Signatures and Authentication Services” (Law No. 102, May 31, 2000, commonly known as the Electronic Signatures Act) came into force, and digital signatures are now legally supported. It was. Currently, in many digital signature systems, a public key infrastructure (PKI) based on public key cryptography is adopted as a basic framework. This framework provides a rich means of non-repudiation that makes it impossible to deny this fact at a later time if the original owner of the private key for the digital signature has signed the digital signature. .
[0003]
In digital signatures, the same important issue as non-repudiation is the non-generational proof of signatures. This means that when someone other than the owner of one private key has illegally generated a digital signature using the private key, the original owner of the private key has not generated the digital signature. Prove it. However, in the current framework such as public key infrastructure, the means for realizing the signature non-generation proof is extremely poor, and enhancement of this means is required.
[0004]
FIG. 20 is an explanatory diagram showing the relationship between non-repudiation in a digital signature and non-signature certificate of signature. Non-repudiation guarantees the interest of the recipient of the digital signature, while non-signature proof of signature guarantees the interest of the signature creator. Both of these functions are essential for using digital signatures with peace of mind.
[0005]
Under such circumstances, conventionally, one standard protocol for realizing the digital time stamp service has been defined (for example, see Non-Patent Document 1).
[0006]
Using this standard protocol, a time stamp was added to a trusted third party for the digital signature generated by the owner of a private key, and a dispute arose later regarding the authenticity of the digital signature. In some cases, non-repudiation can be prevented.
[0007]
If it is mandatory to add a time stamp to a digital signature, that is, for a digital signature generated by the owner of a private key, be sure to add the time stamp to a predetermined trusted third party. If there is a provision that must be provided, a non-signature proof is realized by adding a time stamp to a trusted third party for a digital signature generated using this standard protocol. Is possible under certain conditions.
[0008]
FIG. 19 is a process flow diagram illustrating an example of a scenario in which signature non-generation proof is realized. Here, SK is a secret key stored in the
[0009]
When the
[0010]
Based on the transmission from the
[0011]
Thereafter, the
[0012]
The time
[0013]
In the event of a dispute over the authenticity of the digital signature Sig (SK, M), the appropriate mediation agency shall obtain the time certificate TST (h (Sig (SK, M)), tb) And the time t attached to itbIs the expiration time t of PKaBy being later, it can be determined that the digital signature Sig (SK, M) is not authentic. Thereby, the signature non-generation proof is realized.
[0014]
However, in the distribution of digital signatures, the addition of a time stamp is generally not obligatory and is not so widely requested or implemented. For example, in the above-described electronic signature method, addition of a time stamp is not obligatory. Therefore, the scope of application of this method is currently limited.
[0015]
Even when a time stamp is required, it is generally possible to select a time certificate from a plurality of time certificate authorities and issue a time certificate. Therefore, in order to realize signature non-generation proof by this method, it is premised that all of the plurality of time certification authorities do not cheat, but in this case, the validity of this premise becomes a problem.
[0016]
As an example devised in view of the above problems, a technology that can identify the authenticity of a digital signature is disclosed (see Patent Document 1).
[0017]
The first method described in
[0018]
Issued by a third party other than the issuer by storing all signature log notifications of the digitally signed message issued by the issuer on a tamper-resistant IC card at the issuer of the digitally signed message There has been proposed a method for detecting forgery of a signature by checking with log information recorded on an IC card in the case of impersonating a person and impersonating a signature illegally.
[0019]
The second method described in
[0020]
The third method described in
[0021]
[Patent Document 1]
JP 2001-331104 A
[0022]
[Non-Patent Document 1]
C. Adams, et al., RFC3161 "Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)"
[0023]
[Problems to be solved by the invention]
However, the first to third methods disclosed in
[0024]
(1) First method
One of the problems with this method is that the signature log information on the external recording medium is likely to be tampered with when moving the signature log information from the IC card to an external recording medium such as a hard disk. Despite the fact that the owner has generated a legitimate digital signature, it becomes difficult to prevent it from being denied later.
[0025]
In addition, it is assumed that the issuer of the IC card is fully trusted, and there is no method for dealing with the internal fraud of the issuer.
[0026]
(2) Second method
When this method is applied to the exchange of digital signatures between general individuals, the following problems can be considered.
[0027]
For mediation in the event of a dispute over the authenticity of a digital signature, it is assumed that the recipient of the digital signature has cooperated and that the digital signature received by the recipient of the digital signature has been securely stored. I must. However, this assumption may not always hold when a general individual is the recipient of a digital signature.
[0028]
Also, unlike the time stamp service as a public service that was originally assumed as an application area of linking digital signatures, when an individual issues a digital signature, the issuer and the recipient of the digital signature collaborate. There is also a problem that the possibility of falsification of the digital signature log so that it cannot be detected later cannot be ignored. Specifically, when the issuer of a digital signature is an individual, the number of signature requests is generally small, and by conspiring with the signature requestor, it is easy to control who and when the signature request comes from. This can lead to the possibility of tampering with the digital signature log so that it cannot be detected later.
[0029]
(3) Third method
This method has the same problem as the time stamp service according to
[0030]
The present invention has been made in view of the above, and an object of the present invention is to generate a digital signature from a private key without signing by a signer who is the original owner of the private key when generating a digital signature using the private key. In the signer device that can identify the fraud fact from the third party's signature log information and can realize non-signature proof of signature for the original owner of the private key Digital signature method, digital signature method in third party organization device, digital signature authenticity judgment method, signer device, third party organization device, digital signature authenticity judgment device, digital signature program for signer device, third Another object of the present invention is to provide a digital signature program for a personal institution apparatus, a digital signature authenticity determination program, and a program recording medium.
[0031]
[Means for Solving the Problems]
In order to achieve the above object, the present invention as claimed in
[0032]
According to a second aspect of the present invention, there is provided a signer device that possesses a secret key and performs a digital signature based on the public key cryptosystem in order to perform a digital signature by a public key cryptosystem, and a public key certification authority In a system in which a third-party organization apparatus provided in a third-party organization independent of the system is connected via a communication network, the signer device and the third-party organization device cooperate to obtain the secret key. The signer device including a storage unit that stores the partial secret key that is generated and each of the devices possesses any of the partial secret keys that are divided from the secret key. A digital signature method in a signer device to be executed, comprising: a signature target data composed of a hash value of a message to be signed and a current time; and a partial secret key read from the storage unit A partial signature that is a partial digital signature, and a digital signature that is a combination of the partial signature created in this step and the partial signature created from the partial private key held by the third-party organization device And a step of generating an overall signature.
[0033]
According to a third aspect of the present invention, in the first or second aspect of the invention, the partial signature is obtained by connecting the partial secret key to a value obtained by concatenating a hash value of the message to be signed and a value representing the current time. The gist is that it is configured by action.
[0034]
According to a fourth aspect of the present invention, in the invention according to any one of the first to third aspects, when the leakage of the partial private key is detected, the revocation of the private key corresponding to the partial private key is The gist is to further execute the step of notifying the person engine device.
[0035]
The invention according to
[0048]
Claim6The present invention described herein is independent of a signer apparatus that carries a digital signature based on the public key cryptosystem and possesses a secret key in order to perform a digital signature by a public key cryptosystem. In a system in which a third party organization device provided in a third party organization is connected via a communication network, the signer device and the third party organization device cooperate to generate the secret key. When each device possesses one of the partial secret keys divided from the secret key, the signer device having a storage unit for storing the possessed partial secret key is signed Creating a partial signature, which is a partial digital signature, using the signature target data composed of the hash value of the message to become and the current time, and the partial secret key read from the storage unit , A step of transmitting the partial signature created in this step and the data to be signed to the third party organization device, and a generation using the partial signature transmitted in this step and the partial secret key possessed by the third party organization device And a step of receiving an entire signature, which is a digital signature generated by the third-party organization apparatus, and storing it in the storage unit.
[0049]
Claim7The present invention described herein is independent of a signer apparatus that carries a digital signature based on the public key cryptosystem and possesses a secret key in order to perform a digital signature by a public key cryptosystem. In a system in which a third party organization device provided in a third party organization is connected via a communication network, the signer device and the third party organization device cooperate to generate the secret key. When each device possesses one of the partial secret keys divided from the secret key, the signer device having a storage unit for storing the possessed partial secret key is signed Creating a partial signature, which is a partial digital signature, using the signature target data composed of the hash value of the message to become and the current time, and the partial secret key read from the storage unit And a step of generating an overall signature that is a digital signature formed by combining the partial signature created in this step and the partial signature created from the partial private key held by the third-party organization apparatus. .
[0050]
Claim8The invention as described is claimed.6Or7The gist of the invention is that the partial signature is configured by operating the partial secret key on a value obtained by concatenating a hash value of the message to be signed and a value representing the current time.
[0051]
Claim9The invention as described is claimed.6Thru8The invention according to any one of
[0052]
Claim10The invention as described is claimed.6Thru8In the invention described in any one of the above, when the revocation of the secret key corresponding to the partial secret key is notified from the third party organization device, the step of detecting and recording the revocation of the secret key is further executed This is the gist.
[0063]
Here, the recording medium means a computer-readable recording medium such as a flexible disk, a CD-ROM (Compact Disc Read Only Memory), a DVD (Digital Versatile Disk), a magneto-optical disk, and a PC card. .
[0064]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described with reference to the drawings.
[0065]
(First embodiment)
<System configuration>
FIG. 1 is an explanatory diagram showing the overall configuration of a system according to the first embodiment of the present invention. As shown in the figure, the system assumed in the present embodiment includes a
[0066]
Of these, at least one third-
[0067]
Each of the above devices has a central processing unit (CPU: Central Processing Unit) having at least an arithmetic function and a control function, a main storage device (RAM) having a function of storing programs and data, and comprising a RAM (Random Access Memory) or the like. It is composed of an electronic device having a memory.
[0068]
A program for executing various processes according to the present embodiment is stored in the main storage device or the hard disk described above.
[0069]
Each of the above devices is assumed to include an auxiliary storage device such as a hard disk drive, a flexible disk drive, a CD-ROM drive, a DVD drive, a magneto-optical disk drive, and a PC card drive. In this sense, it is of course possible to record a program for performing various processes described later on a computer-readable recording medium such as a flexible disk, a CD-ROM, a DVD, a magneto-optical disk, and a PC card and widely distribute it. is there.
[0070]
FIG. 2 is a functional block diagram showing an outline of functions for the
[0071]
Among these, the processing of the
[0072]
The
[0073]
FIG. 3 is a functional block diagram showing an outline of functions for the third
[0074]
FIG. 4 is a functional block diagram illustrating an outline of functions for the
[0075]
About the memory |
[0076]
In addition, each apparatus demonstrated above is constructed | assembled with two or more electronic apparatuses not only when it is constructed | assembled by one electronic apparatus but dividing each means or execution of each step. Including cases.
[0077]
Details of the digital signature method performed by the system having the above configuration will be described. In the present embodiment, in order to generate a digital signature using a certain secret key, the secret key is used as a
[0078]
<Generation of secret key>
First, as a premise for performing a distributed signature, a private key owned by a user is generated and held by dividing it between multiple entities consisting of the signer device and one or more third-party organizations devices. Two methods that are assumed to be performed will be described with reference to the processing flowcharts of FIGS. 5 and 6, respectively. In the following description using FIGS. 5 and 6, the case where there is one third-
[0079]
The first method will be described with reference to FIG. In this method, the secret key of the
[0080]
First, the third
[0081]
Thereafter, the third
[0082]
The
[0083]
Public key certificate Cert (PKAT) Receives the secret key SK.ATSK in the
[0084]
Thereafter, the third
[0085]
The
[0086]
On the other hand, the third
[0087]
In this first method, before each divided partial secret key is divided and held by the
[0088]
The first requirement is that sufficient security measures are provided and unauthorized intruders are not allowed to enter during the generation or division of the secret key.
[0089]
The second requirement is that after the private key is generated and the partial private key obtained by dividing the private key is sent to the assignment destination of the partial private key including the
[0090]
In addition, when there are two or more third-party engine devices, the third-
[0091]
First, after executing steps S101 to S104, in step S105, the secret key SKATIs divided as follows:
SKAT= SKAT(A) + SKAT(T1) + ... + SKAT(Tk)
Where SKAT(T1) ... SKAT(Tk) Is a third
[0092]
In step S106, the partial secret key SKAT(A) and public key PKATIs transmitted to the
[0093]
Next, the second method will be described with reference to FIG. In this method, a plurality of entities including the
[0094]
In this method, unlike the first method described above, since the secret key stored in the
[0095]
First, in steps S201 and S202 of FIG. 6, the
[0096]
Next, the
[0097]
Subsequently, the
[0098]
The third-
[0099]
On the other hand, the
[0100]
Public key certificate Cert (PKAT) Receives the public key certificate Cert (PKAT) Is transferred to the signer apparatus 1 (step S211).
[0101]
After this, the
[0102]
In addition, when there are two or more third-party engine devices, the third-
[0103]
First, in steps S201 and S202, the third
[0104]
<Distributed signature>
The secret key is divided using one of the above two methods, and the partial secret key is distributed and stored in the signer device and one or a plurality of third-party organizations devices. A description will be given of a method in which the three-party engine apparatus cooperates to perform distributed signature. Here, the case where there is one third-party organization apparatus that performs distributed signature first will be described.
[0105]
In the distributed signature method described below, in a digital signature, a time value indicating the date and time when the signature is signed is concatenated with the hash value of the message to be signed, and the digital signature is executed on the concatenated result. The reason why the time values are concatenated is that when some kind of dispute about the digital signature occurs later and the authenticity of the digital signature needs to be determined, the determination is made using the connected time.
[0106]
For methods of digitally signing messages with time values, see B. Kaliski et al .: RFC2315 “PKCS # 7: Cryptographic Message Syntax, Version 1.5” and R. Housley et al .: RFC2630 “Cryptographic Message”. You may decide to follow standards such as “Syntax”. As is clear from the fact that these standards have been established, the inclusion of the date and time of signatures in a part of the data to be signed is now widely requested or implemented in the distribution of digital signatures. Needless to say, limiting the digital signature to such a form does not narrow the scope of application of the method described below.
[0107]
In the following description, the result of signing the message M to be signed using the secret key SK is represented as Sig (SK, h (M) ‖t). Here, h is a hash function, and h (M) ‖t represents a concatenation of h (M) and time t (a combination of a bit string and a bit string). Further, a signed message obtained by concatenating M, t, and Sig (SK, h (M) ‖t) is represented as SigMsg (SK, h (M) ‖t).
[0108]
When the signature time is determined from the clock referred to by each entity that performs the digital signature, the value is determined in a predetermined step size, for example, 1 second.
[0109]
For example, Japanese Patent Laid-Open No. 2001-142398 discloses a method in which a plurality of entities that hold private keys in a distributed manner execute a distributed signature using the RSA public key cryptosystem (for the RSA public key cryptosystem). RL Rivest et al., A method for obtaining digital Signatures and public-key cryptosystems, Communications of ACM Vol.21 (1978), pp.120-126.). In the following description, it is assumed that the RSA public key cryptosystem is used. However, in the present invention, the public key cryptosystem that is the base of the digital signature is not limited to the RSA public key cryptosystem. Of course, it is possible to use a digital signature based on a public key cryptosystem such as Rabin cipher, ElGamal cipher, elliptic curve cipher, etc., and the effect is the same.
[0110]
In the RSA public key cryptosystem, two large prime numbers p and q are selected at random, N = p · q, Φ (N) = (p−1) · (q−1), and Φ (N) and By appropriately determining a relatively prime integer e, (N, e) is used as a public key. Further, the integer d is selected so that e · d = 1 mod Φ (N) and is used as a secret key. Here, “1 mod Φ (N)” means to be 1 modulo Φ (N). The digital signature for message M expressed as an integer between 0 and N−1 is Md given by mod N.
[0111]
When the secret key d is divided into partial secret keys d (1),..., D (r) such that d = d (1) +... + D (r), each partial secret key d (i) Partial signature M generated using (i = 1,..., R)d (i) For mod N, a signature for M using the secret key d can be generated by multiplying N by modulus. That is,
Md mod N = (Md (i) mod N) ...... (Md (r) mod N) mod N
(See JP 2001-142398 A).
[0112]
Hereinafter, three methods for generating a distributed signature will be described. Also here, the case where there is a single third-party organization apparatus will be described with reference to the processing flowcharts shown in FIGS.
[0113]
FIG. 7 is a processing flowchart showing detailed processing contents of the distributed signature generation method (first method) according to the present embodiment.
[0114]
Steps S301 and S302 include a partial secret key SK generated using any of the distributed generation methods described above.AT(A) and SKAT(T), public key PKATIs stored in the
[0115]
In this first method, when generating a digital signature for a message to which a time value is assigned, first, the
[0116]
Subsequently, the
[0117]
Needless to say, if an error occurs during authentication here, the subsequent processing is not performed.
[0118]
In step S305, the
[0119]
The third
[0120]
Thereafter, the third
[0121]
After that, the third
[0122]
On the other hand, the
[0123]
In addition, when there are two or more third-party engine devices, the third-
[0124]
In step S304, the
[0125]
In step S305, the
[0126]
Each third-
[0127]
After that, each third-party organization device other than the third-party organization device selected as the representative will receive the partial signature Sig (SKAT(Ti), h (M) ‖t) is sent to the representative third-party organization device.
[0128]
In step S307, the representative third-party organization apparatus sends the partial signature Sig (SKAT(A), h (M) ‖t) and the partial signature Sig (SKAT(Ti), h (M) ‖t)AT, h (M) ‖t).
[0129]
Steps S308 to S310 are the same as described above.
[0130]
FIG. 8 is a processing flowchart showing detailed processing contents of the distributed signature generation method (second method) according to the present embodiment. This method is different from the first method described above in that the
[0131]
Steps S401,..., S406 are the same as those in the first method (see steps S301,.
[0132]
In step S407, the third
[0133]
Upon receiving this partial signature, the
[0134]
The third-
[0135]
On the other hand, the
[0136]
Next, the case where there are a plurality of third-party organization devices will be described focusing on the correction steps as in the first method.
[0137]
First, the partial signature Sig (SKAT(A), h (M) ‖t) and signature target data h (M), t1, 32, ..., 3k(Step S405).
[0138]
Third-
[0139]
In step S408, the
[0140]
In step S409, the
[0141]
On the other hand, third-
[0142]
FIG. 9 is a processing flowchart showing detailed processing contents of the distributed signature generation method (third method) according to the present embodiment.
[0143]
Steps S501 and S502 are steps in which each of the
[0144]
In step S503, the
[0145]
Thereafter, the
[0146]
The third-
[0147]
The
[0148]
Subsequently, the
[0149]
The third-
[0150]
On the other hand, the
[0151]
Next, the case where there are a plurality of third-party organization apparatuses will be described with a focus on the correction steps similar to the above two methods.
[0152]
In step S503,
[0153]
In step S504, the
[0154]
Third-
[0155]
The
[0156]
Thereafter, the
[0157]
Third-
[0158]
Step S511 performed by the
[0159]
According to the first to third distributed signature methods described above, in any case, it is essential that the signer device and the third-party organization device cooperate to generate a digital signature. In the apparatus, signature log information as information relating to the digital signature is stored, and when the authenticity of the digital signature becomes a problem later, the signature log information can be effectively used.
[0160]
<Revocation of private key>
Next, the
[0161]
FIG. 10 is a process flow diagram showing the flow of the revocation process when the
[0162]
The
[0163]
Thereafter, the
[0164]
In this case, the
[0165]
Private key SK from
[0166]
The
[0167]
In addition, when there are two or more third-party organization devices, each third-
[0168]
FIG. 11 is a process flow diagram for explaining the flow of the revocation process when the third
[0169]
First, steps S701 and S702 are the same as steps S601 and S602 described above, respectively (see FIG. 10).
[0170]
Thereafter, the partial secret key SK held by the third
[0171]
In this case, the third
[0172]
The third-
[0173]
The
[0174]
When there are a plurality of third-party organization devices, each of them executes the processing of the third-
[0175]
<Authentication of signature>
Next, processing of the
[0176]
Again, the result of signing the message M that is the subject of the digital signature using the secret key SK is represented as Sig (SK, h (M) Mt). Further, h is a hash function, t is a numerical value representing the signature time, and h (M) ‖t represents the concatenation of M and t. Also, the signed message obtained by concatenating M, t and Sig (SK, h (M) ‖t) is expressed as SigMsg (SK, h (M) ‖t) as described above.
[0177]
FIG. 12 is a flowchart for explaining the flow of the digital signature authenticity determination process performed by the
[0178]
The
[0179]
After that, the received public key certificate Cert (PKAT) To public key PKATIs extracted by the key extraction unit 71 (step S802).
[0180]
In the next step S803, the public key PK extracted in step S802.ATAnd the signed message SigMsg (SK ′ received in step S801AT, h (M) ‖t) as input, signature verification operation Veri (PKAT, SigMsg (SK ’AT, h (M) ‖t)) in the
[0181]
This signature verification operation Veri (PKAT, SigMsg (SK ’AT, h (M) ‖t)) performs a plurality of operations (verification procedures) on the aforementioned input value, and outputs a value for determining the authenticity of the digital signature as a result. A value of 1 is output as the determination value when the determination is true (YES), and a value of 0 is output when the determination is incorrect (NO).
[0182]
The subsequent steps are the signature verification operation Veri (PKAT, SigMsg (SK ’AT, h (M) ‖t)). That is, if the output result of the signature verification procedure is invalid (No), the process proceeds to step S804, and the received signed message is determined to be illegal.
[0183]
On the other hand, when the output result is authentic (YES), the process proceeds to step S805. In step S805, the signature verification operation Veri (PKAT, SigMsg (SK ’AT, h (M) ‖t)), the
[0184]
On the other hand, when it is determined as a result of the inquiry to the third
[0185]
If the authenticity determination method described above is used, the authenticity of the digital signature can be estimated based on the determination result. In the case of mediation at the time of dispute, mediation can be promoted by collecting related information.
[0186]
If there are a plurality of third party institution apparatuses, in step S805, each third
[0187]
In the authenticity determination process of the digital signature in the
[0188]
TTP non-fraud assumption 1: When the third
TTP Non-Unauthorized Premise 2: When the third
TTP non-fraud assumption 3: The clock referenced by the third-
[0189]
In addition to the above assumptions, the following two conditions are imposed as conditions for realizing the non-generation proof of the digital signature based on the authenticity determination processing described with reference to FIG. (See FIGS. 10 and 11).
[0190]
Realization Condition of Non-Generation Certificate 1: When both the
Non-Generation Certification Realization Condition 2: When the partial private key of the
[0191]
The details of how the non-generation proof is realized based on the TTP non-fraud premise described above and the conditions for realizing the non-generation proof will be described.
[0192]
The following four cases are assumed when a signed message generated by an unauthorized method is transmitted to the
[0193]
A. When both the partial secret key possessed by the
[0194]
B. The partial secret key held by the
[0195]
C. The partial secret key of the
[0196]
D. The partial secret key possessed by the
[0197]
How the signature non-generation certificate is realized in each of the cases A to D will be described in detail with reference to Table 1 shown below.
[0198]
[Table 1]
First, regarding the case A, there are the following four cases in more detail.
[0199]
A-1. A case where the third
[0200]
In this case, a signed message cannot be generated so as to pass the signature verification and leave the signature log in the third
[0201]
A-2. The
[0202]
In this case, after the third
[0203]
A-3. The third
[0204]
In this case, although “
[0205]
A-4. The
[0206]
Also in this case, it is determined that the authenticity determination process in FIG. 12 is illegal even though “
[0207]
Next, Case B will be described. In case B, there are three cases in more detail:
[0208]
B-1. The
[0209]
In this case, after the
[0210]
B-2. The
[0211]
In this case, “real condition 2 for non-generation proof” is not satisfied, and the digital signature is generated without using a valid method, but the authenticity determination process shown in FIG. It may not be determined as a digital signature (corresponding to 302 in FIG. 20).
[0212]
Specifically, the
[0213]
B-3. The
[0214]
In this case, “realization condition 2 for non-generation proof” is not satisfied and the signature is not determined by the arbitration procedure in FIG. 12 even though the signature is generated without using a valid method. It can happen. Specifically, it may not be possible to perform non-signature proof of signature even though the digital signature is generated by an illegal method by the same procedure as described in the case (B-2) ( ○ or ×).
[0215]
Third, Case C will be described. There are the following two cases in detail.
[0216]
C-1. When the
[0217]
In this case, the
[0218]
C-2. The
[0219]
Also in this case, as in the case of C-1 described above, the
[0220]
In this case, when the
[0221]
Finally, Case D will be described.
In this case, when the authenticity determination process of the digital signature is performed on the illegally generated signed message, it is determined No in step S803 in FIG. 12, and the digital signature is determined to be invalid (step S804). Corresponding to the determination of). Therefore, the non-generated proof of the digital signature is realized (corresponding to 201 in FIG. 20, ○).
[0222]
To summarize the above, it is possible that the non-generation proof of the digital signature may not be realized in the case A-3, the case A-4, the case B-2, and the case B-3. This is a time when the
[0223]
Among these, in order to make it impossible to realize the non-generated digital signature in the cases A-3 and A-4, the partial secret key possessed by the third
[0224]
In cases B-2 and B-3, in order to make it impossible to realize the non-generational proof of the digital signature, the partial secret key of the
[0225]
Here, as an example of a case where a dispute occurs regarding the authenticity of the digital signature, it is determined that the digital signature has been illegally forged by the determination by the
[0226]
FIG. 13 is a process flow diagram showing the generation history of a signed message when a signed message whose authenticity is a problem is forged by the
[0227]
In the figure, time tbThe partial secret key SK held by the
[0228]
The
[0229]
Then tc> TbTime tcThe
[0230]
Note that “?” Is added to step S901 in FIG.aSigned message (SigMsg (SKAT, h (M) ‖ta)) Is genuine, meaning that it is a problem.
[0231]
The
Subsequent processing will be described again with reference to the flowchart of FIG.
[0232]
In step S801, a signed message SigMsg (SK ′) is received from the digital signature holder (actually the
[0233]
Thereafter, the
[0234]
In order for the result of the signature verification in step S803 to be Yes, a device that performs a plurality of partial signatures on the message M, including the
[0235]
According to the first embodiment of the present invention described above, in order to generate a digital signature using a certain secret key, a signer (device) who is the original owner of the secret key and a third party (device) ) Can generate a digital signature generation method that cannot be generated without cooperation.
[0236]
Further, according to the present embodiment, when a digital signature using a private key held by the signer device is generated without the signer device signing, the signature stored in the third party organization device By providing a digital signature generation system that makes the facts clear from log information, when a dispute arises later and the authenticity of the digital signature becomes a problem, non-signature (device) Generation proof can be realized.
[0237]
In this sense, the above-described prior art means that as long as the third
[0238]
(Second Embodiment)
FIG. 14 is an explanatory diagram showing the overall configuration of a system according to the second embodiment of the present invention. As shown in the figure, the system assumed in the present embodiment includes a time authentication provided in a time-stamp authority (TSA) as an upper organization in addition to the same device as in the first embodiment.
[0239]
Note that the secret key is distributed and generated in the same manner as in the first embodiment. That is, the
[0240]
Also in the present embodiment, the result of signing the message M to be digitally signed using the secret key SK is represented by using the same symbol “Sig” as in the first embodiment, Sig (SK, h (M)). Here, h represents a hash function. Furthermore, a signed message obtained by concatenating M and Sig (SK, h (M)) is also described as SigMsg (SK, h (M)) using the symbol “SigMsg”.
[0241]
<Distributed signature>
FIG. 15 is a processing flowchart showing the processing contents of the distributed signature generation method according to the second embodiment of the present invention. Here, the case where the system is composed of one third
[0242]
The
[0243]
The
[0244]
Next, the
[0245]
After that, the
[0246]
On the other hand, the third
[0247]
In subsequent step S1008, the third
[0248]
Request time certificate TSTReq (h (Sig (SKAT, H (M)))), the time
[0249]
This time certificate TST (h (Sig (SKAT, M)), t), the third
[0250]
The
[0251]
On the other hand, the third-
[0252]
In the digital signature distributed generation process in the first embodiment described above, the time t is concatenated to the hash value h (M) of the message to be digitally signed, and the result h (M) ht is obtained. Thus, the signature time and the digital signature are associated by executing the digital signature. On the other hand, in this embodiment, since a time certificate can be obtained for a digital signature, a digital signature is executed for h (M) ‖t in order to associate the signature time with the digital signature. It is not necessary to perform digital signature on the hash value h (M).
[0253]
In addition, when there are two or more third-party engine devices, the third-
[0254]
First, in step S1005, the
[0255]
Subsequently, in step S1005, Sig (SKAT(A), h (M)) and h (M) are transmitted to the representative third-party organization device, and then only h (M) is transmitted to the other third-party organization devices. The third-party organization device other than the representative third-party organization device that received h (M) receives the partial signature Sig (SKAT(T), h (M)) is generated and transmitted to the representative third-party organization device.
[0256]
In step S1007, the representative third-party organization device sends the partial signature Sig (SKAT(A), h (M)) and partial signature Sig (SKAT(Ti), h (M))AT, h (M)). Here, i = 1,..., K.
[0257]
Steps S1008 and S1009 are performed by each third-party organization apparatus.
[0258]
After that, the representative third-party organization device makes the overall signature Sig (SKAT, h (M)) and time certificate TST (h (Sig (SKAT, M)), t) are transmitted to the
[0259]
This overall signature Sig (SKAT, h (M)) and time certificate TST (h (Sig (SKAT, M)), t) receive the signature log (h (M), t, Sig (SKAT(Ti), h (M)) and time certificate TST (h (Sig (SKAT, M)), t) are stored (corresponding to step S1012).
[0260]
The distributed signature generation method according to the present embodiment has the same effects as those of the first embodiment, and in addition to requesting certification from a specialized time certification authority, the time In addition, it is possible to avoid a situation in which a digital signature cannot be generated because clocks used by a plurality of entities that perform distributed signatures have errors.
[0261]
<Revocation of private key>
Next, the
[0262]
FIG. 16 is a process flow diagram for explaining the flow of the revocation process when the
[0263]
The processing in steps S1101 and S1102 represents a step in which each device generates and holds a partial secret key and a public key by a predetermined key generation method.
[0264]
Thereafter, the
[0265]
At this time, the
[0266]
The third
[0267]
The
[0268]
Thereafter, the third
[0269]
PKATThe
[0270]
The format of the request for revocation of public key certificate and the certificate revocation response to the request shall comply with the standard defined in R. Housley et al., RFC2459 “Internet X.509 Public key Infrastructure Certificate and CRL Profile”. It may be.
[0271]
When there are a plurality of third-party organization devices, each of them executes the processing of the third-
[0272]
FIG. 17 is a process flow diagram for explaining the flow of the revocation process when the third
[0273]
Steps S1201 and S1202 are the same processes as steps S1101 and S1102 in FIG.
[0274]
Thereafter, the third
[0275]
Partial secret key SKATThe third
[0276]
Subsequent steps S1205, S1206,..., S1209 are the same as the case described above with reference to FIG.
[0277]
Also in this case, when there are a plurality of third party institution apparatuses, each of them executes the processing of the third
[0278]
<Authentication of signature>
Next, processing of the
[0279]
FIG. 18 is a flowchart for explaining the flow of the digital signature authenticity determination process performed by the
[0280]
The
[0281]
After that, the received public key certificate Cert (PKAT) To public key PKATIs extracted by the key extraction unit 71 (step S1302).
[0282]
In the next step S1303, the public key PK extracted in step S1302ATAnd the signed message SigMsg (SK ′ received in step S1301AT, H (M)) as an input and signature verification operation Veri (PKAT, SigMsg (SK ’AT, H (M))) are executed in the
[0283]
Signature verification operation Veri (PKAT, SigMsg (SK ’AT, H (M))) is substantially the same as the signature verification operation in the first embodiment. In this step, if the output of the signature verification operation is invalid (NO), the process proceeds to step S1304 and the signed message SigMsg (SK ′AT, H (M)) is determined to be invalid. On the other hand, if the output result is authentic (YES), the process proceeds to step S1305.
[0284]
In step S1305, the signature verification operation Veri (PKAT, SigMsg (SK ’AT, H (M))), the
[0285]
If both the signature log and the time certificate exist in the third
[0286]
In this case, the signature log is represented by (h (M), t, Sig (SKAT(T), h (M))) and the time certificate as TST (h (Sig (SKAT, M), t), the public key corresponding to the private key used for issuing the time certificate of the time
[0287]
On the other hand, if Yes, the signature log (h (M), t, Sig (SKAT(T), h (M))) is extracted (step S1309), and the public key certificate Cert (PKAT) To the
[0288]
In response to this inquiry, if the response from the
[0289]
If the authenticity determination method described above is used, as in the first embodiment, the authenticity of the signature is estimated, and in the case of mediation at the time of dispute, the mediation proceeds by collecting related information. Can be.
[0290]
If there are a plurality of third-party organization devices, in step S1305, each third-
[0291]
In step S1306, the third
[0292]
When the third-
[0293]
In this case, when it is necessary to determine the authenticity of an illegal digital signature generated by means other than legitimate means (for example, when a dispute occurs), the conditions described in the first embodiment ( It is possible to provide a non-generated certificate of a digital signature to the
[0294]
Further, when the partial secret key is leaked, the
[0295]
According to the second embodiment of the present invention described above, the same effects as those of the first embodiment described above can be obtained.
[0296]
In addition, according to the present embodiment, since the certification of a specialized time certification authority can be used for the time information, the reliability and accuracy of the time information can be improved. As a result, it is possible to avoid a situation in which a digital signature cannot be generated due to an error in a clock used by a plurality of entities that perform distributed signatures.
[0297]
In this embodiment, it is assumed that the RSA public key cryptosystem is used as in the first embodiment, but the same effect can be obtained when various other public key cryptosystems are adopted. It goes without saying that it can be obtained.
[0298]
【The invention's effect】
As is clear from the above description, according to the present invention, when generating a digital signature using a secret key, the digital signature is generated from the secret key without being signed by the signer who is the original owner of the secret key. If it is generated, the digital data in the signer device that can make the fraudulent fact clear from the signature log information of the third party organization and can realize the non-signature proof of signature for the original owner of the private key Signature method, digital signature method in third party organization device, digital signature authenticity judgment method, signer device, third party organization device, digital signature authenticity judgment device, digital signature program for signer device, third party A digital signature program for an engine device, a digital signature authenticity determination program, and a program recording medium can be provided.
[0299]
This allows not only a proof that the original owner of the private key did not sign a counterfeited digital signature, that is, a non-signature proof of signature, but also a genuine digital signature. Can also have the effect of disapproving the private key by the original owner.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram showing a configuration of an entire system according to a first embodiment of the present invention.
FIG. 2 is a functional block diagram illustrating an outline of functions of a signer apparatus.
FIG. 3 is a functional block diagram showing an outline of functions possessed by a third party organization apparatus.
FIG. 4 is a functional block diagram showing an outline of functions of the authenticity determination device.
FIG. 5 is a processing flowchart showing a first method of secret key distributed generation;
FIG. 6 is a processing flowchart showing a second method of secret key distributed generation;
FIG. 7 is a processing flowchart showing the processing contents of a distributed signature generation method (first method) according to the first embodiment of the present invention;
FIG. 8 is a processing flowchart showing the processing contents of a distributed signature generation method (second method) according to the first embodiment of the present invention;
FIG. 9 is a processing flowchart showing the processing contents of a distributed signature generation method (third method) according to the first embodiment of the present invention;
FIG. 10 is a processing flowchart for explaining the flow of revocation processing when the signer apparatus detects leakage of a secret key in the first embodiment of the present invention.
FIG. 11 is a processing flowchart for explaining the flow of revocation processing when a third-party organization apparatus detects leakage of a secret key in the first embodiment of the present invention.
FIG. 12 is a flowchart illustrating a flow of digital signature authenticity determination processing performed by the authenticity determination apparatus in the first embodiment of the present invention.
FIG. 13 is a process flow diagram showing a generation history when a signed message whose authenticity is a problem is forged by an attacker device in the first embodiment of the present invention.
FIG. 14 is an explanatory diagram showing a configuration of the entire system according to a second embodiment of the present invention.
FIG. 15 is a processing flowchart showing the processing contents of the distributed signature generation method according to the second embodiment of the present invention.
FIG. 16 is a processing flowchart for explaining the flow of revocation processing when the signer apparatus detects leakage of a secret key in the second embodiment of the present invention.
FIG. 17 is a process flow diagram illustrating the flow of revocation processing when a third-party organization apparatus detects leakage of a secret key in the second embodiment of the present invention.
FIG. 18 is a flowchart illustrating the flow of a digital signature authenticity determination process performed by an authenticity determination apparatus in the second embodiment of the present invention.
FIG. 19 is a process flow diagram illustrating an example of a scenario in which a non-generated proof of a digital signature is realized.
FIG. 20 is an explanatory diagram showing a relationship between non-repudiation in a digital signature and a non-generated certificate of a digital signature.
[Explanation of symbols]
1 Signer device
3, 31 , 32 , ..., 3k Third party organization equipment
5 Certification authority equipment
7 authenticity judgment device
9 Time certification authority equipment
11, 31 Key generator
12, 32 Signature generator
13, 33 Authentication section
14 Message creation department
15, 35, 73 Storage unit
16, 36, 74 Transceiver
17, 37, 75 Input / output section
21 Attacker device
34 Certificate Request Creation Department
41 Communication network
71 Key Extractor
72 Authenticity Judgment Unit
Claims (10)
署名対象となるメッセージのハッシュ値と現在時刻から構成される署名対象データ、および前記記憶部から読み出した部分秘密鍵を用いて部分的なディジタル署名である部分署名を作成するステップと、
このステップで作成した部分署名および前記署名対象データを前記第三者機関装置に送信するステップと、
このステップで送信した部分署名と前記第三者機関装置が所持する部分秘密鍵を用いて生成される部分署名とを組み合わせることによって前記第三者機関装置で生成されたディジタル署名である全体署名を受信して前記記憶部に格納するステップと
を有することを特徴とする署名者装置におけるディジタル署名方法。In order to perform a digital signature using a public key cryptosystem, a signer device that possesses a secret key and performs a digital signature based on the public key cryptosystem, and a third party independent of the public key certification authority In a system in which a third party institution apparatus provided is connected via a communication network, the signer apparatus and the third party institution apparatus cooperate to generate the secret key and divide from the secret key A digital signature method in a signer apparatus executed by the signer apparatus having a storage unit for storing the partial private key possessed when each apparatus possesses any of the partial secret keys formed Because
Creating a partial signature, which is a partial digital signature, using the signature target data composed of the hash value of the message to be signed and the current time, and the partial secret key read from the storage unit;
Transmitting the partial signature created in this step and the signature target data to the third party organization device;
By combining the partial signature transmitted in this step with the partial signature generated by using the partial private key possessed by the third party organization apparatus, an overall signature which is a digital signature generated by the third party organization apparatus is obtained. Receiving and storing in the storage unit. A digital signature method in a signer apparatus.
署名対象となるメッセージのハッシュ値と現在時刻から構成される署名対象データ、および前記記憶部から読み出した部分秘密鍵を用いて部分的なディジタル署名である部分署名を作成するステップと、
このステップで作成した部分署名と前記第三者機関装置が保持する部分秘密鍵から作成された部分署名を組み合わせて成るディジタル署名である全体署名を生成するステップと
を有することを特徴とする署名者装置におけるディジタル署名方法。In order to perform a digital signature using a public key cryptosystem, a signer device that possesses a secret key and performs a digital signature based on the public key cryptosystem, and a third party independent of the public key certification authority In a system in which a third party institution apparatus provided is connected via a communication network, the signer apparatus and the third party institution apparatus cooperate to generate the secret key and divide from the secret key A digital signature method in a signer apparatus executed by the signer apparatus having a storage unit for storing the partial private key possessed when each apparatus possesses any of the partial secret keys formed Because
Creating a partial signature, which is a partial digital signature, using the signature target data composed of the hash value of the message to be signed and the current time, and the partial secret key read from the storage unit;
A signer comprising the step of: generating a whole signature which is a digital signature formed by combining the partial signature created in this step and the partial signature created from the partial private key held by the third party organization device A digital signature method in a device.
を更に実行することを特徴とする請求項1乃至3のいずれか1項記載の署名者装置におけるディジタル署名方法。The step of notifying the third party device of the expiration of the secret key corresponding to the partial secret key when the leakage of the partial secret key is detected is further executed. 2. A digital signature method in a signer apparatus according to item 1.
を更に実行することを特徴とする請求項1乃至3のいずれか1項記載の署名者装置におけるディジタル署名方法。4. The method according to claim 1, further comprising the step of detecting and recording the revocation of the private key when the revocation of the private key corresponding to the partial private key is notified from the third party organization device. A digital signature method in a signer apparatus according to any one of the above.
署名対象となるメッセージのハッシュ値と現在時刻から構成される署名対象データ、および前記記憶部から読み出した部分秘密鍵を用いて部分的なディジタル署名である部分署名を作成するステップと、
このステップで作成した部分署名および前記署名対象データを前記第三者機関装置に送信するステップと、
このステップで送信した部分署名と前記第三者機関装置が所持する部分秘密鍵を用いて生成される部分署名とを組み合わせることによって前記第三者機関装置で生成されたディジタル署名である全体署名を受信して前記記憶部に格納するステップと
を実行させることを特徴とする署名者装置用ディジタル署名プログラム。In order to perform a digital signature using a public key cryptosystem, a signer device that possesses a secret key and performs a digital signature based on the public key cryptosystem, and a third party independent of the public key certification authority In a system in which a third party institution apparatus provided is connected via a communication network, the signer apparatus and the third party institution apparatus cooperate to generate the secret key and divide from the secret key When each device possesses any of the partial private keys formed, the signer device comprising a storage unit for storing the possessed partial private key,
Creating a partial signature, which is a partial digital signature, using the signature target data composed of the hash value of the message to be signed and the current time, and the partial secret key read from the storage unit;
Transmitting the partial signature created in this step and the signature target data to the third party organization device;
By combining the partial signature transmitted in this step with the partial signature generated by using the partial private key possessed by the third party organization apparatus, an overall signature which is a digital signature generated by the third party organization apparatus is obtained. A digital signature program for a signer apparatus, wherein the digital signature program receives the information and stores it in the storage unit.
署名対象となるメッセージのハッシュ値と現在時刻から構成される署名対象データ、および前記記憶部から読み出した部分秘密鍵を用いて部分的なディジタル署名である部分署名を作成するステップと、
このステップで作成した部分署名と前記第三者機関装置が保持する部分秘密鍵から作成された部分署名を組み合わせて成るディジタル署名である全体署名を生成するステップと
を実行させることを特徴とする署名者装置用ディジタル署名プログラム。In order to perform a digital signature using a public key cryptosystem, a signer device that possesses a secret key and performs a digital signature based on the public key cryptosystem, and a third party independent of the public key certification authority In a system in which a third party institution apparatus provided is connected via a communication network, the signer apparatus and the third party institution apparatus cooperate to generate the secret key and divide from the secret key When each device possesses any of the partial private keys formed, the signer device comprising a storage unit for storing the possessed partial private key,
Creating a partial signature, which is a partial digital signature, using the signature target data composed of the hash value of the message to be signed and the current time, and the partial secret key read from the storage unit;
Generating a whole signature which is a digital signature formed by combining the partial signature created in this step and the partial signature created from the partial private key held by the third-party organization device. Digital signature program for a user device.
を更に実行させることを特徴とする請求項6乃至8のいずれか1項記載の署名者装置用ディジタル署名プログラム。When detecting the leakage of the partial secret key, any one of claims 6 to 8, characterized in that to further execute the step of notifying the revocation of the private key to said third party device corresponding to the portion secret key A digital signature program for a signer apparatus according to item 1.
を更に実行することを特徴とする請求項6乃至8のいずれか1項記載の署名者装置用ディジタル署名プログラム。The third party when it is notified revoked private key from the engine unit corresponding to the partial secret key, according to claim 6 to 8, characterized in that to perform the step of recording by detecting the expiration of the secret key further A digital signature program for a signer device according to any one of the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002355889A JP4130575B2 (en) | 2002-12-06 | 2002-12-06 | Digital signature method in signer apparatus and digital signature program for signer apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002355889A JP4130575B2 (en) | 2002-12-06 | 2002-12-06 | Digital signature method in signer apparatus and digital signature program for signer apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004193684A JP2004193684A (en) | 2004-07-08 |
JP4130575B2 true JP4130575B2 (en) | 2008-08-06 |
Family
ID=32756443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002355889A Expired - Fee Related JP4130575B2 (en) | 2002-12-06 | 2002-12-06 | Digital signature method in signer apparatus and digital signature program for signer apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4130575B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006033728A (en) * | 2004-07-21 | 2006-02-02 | Ricoh Co Ltd | Image forming apparatus, and method for computerizing paper information |
US8793485B2 (en) * | 2011-12-15 | 2014-07-29 | Texas Instruments Incorporated | Combined digital certificate |
EP3971750B1 (en) * | 2016-12-06 | 2024-05-15 | Enrico Maim | Methods and entities, in particular transactional, implementing secure devices |
CN111414638B (en) * | 2020-04-23 | 2023-03-24 | 飞天诚信科技股份有限公司 | Method and device for realizing distinguishing key generation mode |
-
2002
- 2002-12-06 JP JP2002355889A patent/JP4130575B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004193684A (en) | 2004-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110661610B (en) | Input acquisition method and device of secure multi-party computing protocol | |
CN108092779A (en) | A kind of method and device for realizing electronic signature | |
EP1599965B1 (en) | Long-term secure digital signatures | |
CN107196966A (en) | The identity identifying method and system of multi-party trust based on block chain | |
JP3971890B2 (en) | Signature verification support apparatus, signature verification support method, and electronic signature verification method | |
CN109639412A (en) | A kind of communication means, system and electronic equipment and storage medium | |
CN106713336B (en) | Electronic data safeguard system and method based on double, asymmetrical encryption technology | |
CN110069918A (en) | A kind of efficient double factor cross-domain authentication method based on block chain technology | |
Roe | Cryptography and evidence | |
JPS6256043A (en) | Electronic transaction system | |
US20230259899A1 (en) | Method, participant unit, transaction register and payment system for managing transaction data sets | |
CN113382002B (en) | Data request method, request response method, data communication system, and storage medium | |
CN113613241B (en) | Wireless network node data processing method and device based on block chain | |
CN102355663A (en) | Credible inter-domain rapid authentication method on basis of separation mechanism network | |
JP2015512109A (en) | Identification method, apparatus and system | |
Krawczyk et al. | Chameleon hashing and signatures | |
JP2000059353A (en) | Data storage system, data storage method and its program recording medium | |
Arnob et al. | Blockchain-based secured e-voting system to remove the opacity and ensure the clarity of election of developing countries | |
CN114338091A (en) | Data transmission method and device, electronic equipment and storage medium | |
JP4130575B2 (en) | Digital signature method in signer apparatus and digital signature program for signer apparatus | |
CN104518880A (en) | Big data reliability validation method and system based on random sampling detection | |
KR100654933B1 (en) | System and its method for authenticating dynamically created certificate by user's password input | |
KR101484744B1 (en) | Private key exposure detecting method and system for user authentication certificate | |
KR20220134751A (en) | Methods and systems for managing data exchange in the context of medical examination | |
CN112784249A (en) | Method, system, processor and computer readable storage medium for implementing mobile terminal authentication processing under non-identification condition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080304 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080422 |
|
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: 20080520 |
|
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: 20080522 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110530 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120530 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |