JP2007028014A - デジタル署名プログラム、デジタル署名システム、デジタル署名方法、署名検証方法 - Google Patents

デジタル署名プログラム、デジタル署名システム、デジタル署名方法、署名検証方法 Download PDF

Info

Publication number
JP2007028014A
JP2007028014A JP2005204972A JP2005204972A JP2007028014A JP 2007028014 A JP2007028014 A JP 2007028014A JP 2005204972 A JP2005204972 A JP 2005204972A JP 2005204972 A JP2005204972 A JP 2005204972A JP 2007028014 A JP2007028014 A JP 2007028014A
Authority
JP
Japan
Prior art keywords
signature
message
digest
additional information
verification
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.)
Granted
Application number
JP2005204972A
Other languages
English (en)
Other versions
JP4788212B2 (ja
Inventor
Rumiko Kakehi
るみ子 筧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2005204972A priority Critical patent/JP4788212B2/ja
Priority to US11/343,999 priority patent/US7840815B2/en
Publication of JP2007028014A publication Critical patent/JP2007028014A/ja
Application granted granted Critical
Publication of JP4788212B2 publication Critical patent/JP4788212B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Abstract

【課題】複数のメッセージを一括して署名を生成した場合にメッセージに付加された署名を個別に検証できる。
【解決手段】クライアント1において、署名生成部24は、ダイジェスト生成部14が生成した複数のコンテンツC1〜C3の各ダイジェストを一括して署名を生成する。コンテンツ情報生成部16がコンテンツC1に対して、他のコンテンツC2,C3のID及びダイジェストと一括署名とを含む付加情報を生成すると、コンテンツ情報送信部18は、付加情報が付加されたコンテンツC1を送信する。サーバ4において、ダイジェスト生成部48が、受信したコンテンツC1から生成したダイジェストと付加情報に含まれている他のコンテンツC2,C3のダイジェストを結合すると、署名検証部52は、この結合ダイジェストと署名復号部50が一括署名を復号して生成したダイジェストとを比較することでコンテンツC1に付加された一括署名の検証を行う。
【選択図】図2

Description

本発明は、デジタル署名、特に複数のメッセージに対して一括して署名を行ったときのその署名の取扱いに関する。
交換されるメッセージが改竄されていないことを確認するための一手法として、デジタル署名が一般に利用されているが、デジタル署名は、通常、次のような手順で行われる。すなわち、メッセージを送信したいユーザは、署名したいメッセージからハッシュ関数を用いてダイジェスト(ハッシュ値)を生成し、そのダイジェストを自分の秘密鍵で暗号化して、これをメッセージに付加して送信する。なお、この送信メッセージに付加する情報を「署名」と呼ぶ。
署名が付加されたメッセージの受信者は、送信者と同じハッシュ関数を用いて受信メッセージからダイジェストを生成し、一方、送信者の秘密鍵に対応した公開鍵で、受信した署名を復号してダイジェストを生成し、それぞれの方法にて生成した各ダイジェストを比較する。この比較した結果、ダイジェストが完全に一致すれば、メッセージが改竄されていないということを検証することができる。
デジタル署名では、以上のように署名を利用してメッセージの完全性(メッセージが改竄されていないことの確認)とメッセージ作成者の認証とを行うことができる。なお、以降の説明では、デジタル署名においてメッセージを受信して署名の検証を行う側でメッセージの完全性とメッセージ作成者の認証を行うことを、「署名の検証」あるいは「メッセージの検証」と称することにする。
デジタル署名を利用すると、交換するメッセージの内容を保証することができるが、デジタル署名では、前述したように署名をメッセージから生成するので、複数のメッセージを交換したいような場合には、メッセージそれぞれに対して署名を生成することになる。従って、送信者は、メッセージの数だけ署名を生成しなければならず面倒であった。
そこで、従来では、複数のメッセージに対して一括して署名を行うことで、個々のメッセージに署名を行う煩わしさを解消するための技術が提案されている(例えば、特許文献1)。この従来技術を利用して、例えば3つのメッセージA,B,Cを同時に送信したい場合、送信者は、3つのメッセージA,B,Cを一括してダイジェストを生成し、そのダイジェストを暗号化して署名を生成する。そして、送信者は、メッセージA,B,Cから生成した署名を、メッセージA,B,Cに付加して送信する。
メッセージの受信者は、受信した3つのメッセージA,B,Cを一括してダイジェストを生成すると共に、受信した署名を復号してダイジェストを生成し、それぞれの方法にて生成した各ダイジェストを比較する。
従来技術においては、複数のメッセージを送信する場合に複数のメッセージに対して署名を1回ですませることができるので、メッセージの送信者にとってみれば便利である。
特開2003−338815号公報 特開2001−209308号公報
確かに、従来技術を利用すれば、署名を1回ですませることができるため、メッセージの送信者にとってみれば便利であるかもしれない。しかしながら、従来技術が必ずしも便利であると言えない場合がある。
例えば、メッセージAのみを検証したい場合でも、メッセージ受信者は、不要なメッセージB,Cを受信し、かつメッセージB,Cのダイジェストを生成しなければメッセージAを検証することができない。つまり、従来技術では、一括して署名された複数のメッセージを、常に一緒に取り扱わなければ各メッセージの検証を行うことができない。従って、受信者にとってみれば、複数のメッセージに対して単一の署名を生成することが、必ずしも便利であるとは言えなかった。
このような場合、送信者がメッセージの送信先毎にメッセージを分類し、その分類したメッセージを一括して署名を生成すれば、受信者における前述した不便を解消させることができるかもしれない。しかし、このようにすると、送信者は、各メッセージの送信先を常に意識しなければ署名を一括して生成することができないし、また、各メッセージの宛先管理が面倒になってくる。換言すると、送信先が異なる複数のメッセージに対しては、単一の共通した署名を生成することはできず、メッセージそれぞれに署名が必要になってくる。すなわち、異なる宛先へのメッセージ送信に対しては、結果として従来技術を利用することができないことになる。
以上のように、従来技術を利用して複数のメッセージに対して単一の署名を生成すると、受信者は、単一の署名が生成されたメッセージを個別に取り扱うことができなくなってしまう。つまり、メッセージの検証を個別に行うことができないという問題があった。
本発明は、以上のような課題を解決するためになされたものであり、その目的は、複数のメッセージを一括して署名を生成した場合でも、メッセージに付加された署名を個別に検証することのできるデジタル署名プログラム、システム及び方法を提供することにある。
以上のような目的を達成するために、本発明に係るデジタル署名プログラムは、デジタル署名を利用するメッセージ送信者が使用する署名生成側コンピュータを、複数のメッセージそれぞれからダイジェストを生成する署名生成側ダイジェスト生成手段、各メッセージのダイジェストに対して一括して行う単一の署名を一括署名として生成する一括署名生成手段、一括署名が生成されたメッセージのうち1つの被付加メッセージに対して、当該一括署名と、当該被付加メッセージの署名検証に用いる当該被付加メッセージ以外の他のメッセージに関する情報とを含む付加情報を生成する付加情報生成手段、被付加メッセージに当該付加情報を付加して署名検証を行う署名検証側コンピュータへ送信する送信手段として機能させるものである。
他の発明に係るデジタル署名プログラムは、デジタル署名を利用してメッセージに付加された署名の検証を行う署名検証用コンピュータを、署名を生成した署名生成側コンピュータから送られてくるメッセージであって、当該メッセージを含む複数のメッセージそれぞれから生成されたダイジェストに対して一括して行われた一括署名と、署名検証対象のメッセージと共に一括署名が生成され当該メッセージの署名検証に用いる他のメッセージに関する情報とを含む付加情報が付加されたメッセージを受信する受信手段、前記受信手段が受信したメッセージに付加された付加情報に含まれる一括署名を復号することによってダイジェストを生成する署名復号手段、前記受信手段が受信したメッセージに付加された付加情報に含まれる他のメッセージに関する情報に基づき取得した当該他のメッセージのダイジェストと、前記受信手段が受信したメッセージから生成したダイジェストとを結合する署名検証側ダイジェスト生成手段、前記署名検証側ダイジェスト生成手段が結合により生成したダイジェストと、前記一括署名復号手段が生成したダイジェストとを比較することによって一括署名の検証を行う署名検証手段として機能させるものである。
他の発明に係るデジタル署名プログラムは、デジタル署名を利用するメッセージ送信者が使用する署名生成側コンピュータを、複数のメッセージそれぞれからダイジェストを生成する署名生成側ダイジェスト生成手段、各メッセージのダイジェストに対して一括して行う単一の署名を一括署名として生成する一括署名生成手段、一括署名が生成されたメッセージのうち1つの被付加メッセージに対して、当該一括署名と、当該被付加メッセージの署名検証に用いる当該被付加メッセージ以外の他のメッセージに関する情報とを含む付加情報を生成する付加情報生成手段、被付加メッセージに当該付加情報を付加して送信する送信手段として機能させる。また、デジタル署名を利用するメッセージ受信者が使用する署名検証側コンピュータを、前記署名生成側コンピュータから送られてきたメッセージを受信する受信手段、前記受信手段が受信したメッセージに付加された付加情報に含まれる一括署名を復号することによってダイジェストを生成する署名復号手段、前記受信手段が受信したメッセージに付加された付加情報に含まれる他のメッセージに関する情報に基づき取得した当該他のメッセージのダイジェストと、前記受信手段が受信したメッセージから生成したダイジェストとを結合する署名検証側ダイジェスト生成手段、前記署名検証側ダイジェスト生成手段が結合により生成したダイジェストと、前記一括署名復号手段が生成したダイジェストとを比較することによって一括署名の検証を行う署名検証手段として機能させるものである。
また、上記デジタル署名プログラムにおける前記付加情報生成手段は、前記他のメッセージのダイジェストを、前記他のメッセージに関する情報として付加情報に含め、前記署名検証側ダイジェスト生成手段は、前記受信手段が受信したメッセージに付加された付加情報に含まれるダイジェストと、前記受信手段が受信したメッセージから生成されたダイジェストとを結合するものである。
また、上記デジタル署名プログラムにおける前記付加情報生成手段は、前記他のメッセージをそれぞれ識別するメッセージ識別情報を、前記他のメッセージに関する情報として付加情報に含める。また、前記署名検証側コンピュータを更に、前記受信手段が受信したメッセージに付加された付加情報に含まれるメッセージ識別情報それぞれに対応するメッセージを取得する取得手段として機能させる。更に、前記署名検証側ダイジェスト生成手段は、前記取得手段が取得したメッセージからそれぞれ生成したダイジェストと、前記受信手段が受信したメッセージから生成されたダイジェストとを結合するものである。
また、上記デジタル署名プログラムにおける前記付加情報生成手段は、前記各メッセージ識別情報を、前記署名検証側コンピュータの公開鍵で暗号化した後に前記他のメッセージに関する情報として付加情報に含める。また、前記署名検証側コンピュータを更に、前記受信手段が受信したメッセージに付加された付加情報に含まれる暗号化されたメッセージ識別情報を、前記署名検証側コンピュータの公開鍵に対応した秘密鍵で復号することで前記他のメッセージのメッセージ識別情報を抽出する抽出手段として機能させる。更に、前記取得手段は、前記抽出手段により抽出されたメッセージ識別情報それぞれに対応するメッセージを取得するものである。
また、前記署名検証側コンピュータを更に、乱数を生成する乱数生成手段、前記署名生成側コンピュータへ送信するメッセージに、前記乱数生成手段が生成した乱数を付加するメッセージ送信手段、前記署名生成側コンピュータへ送信するメッセージのメッセージ識別情報に、当該付加された乱数を対応付けして保存する乱数情報記憶手段として機能させる。一方、前記署名生成側コンピュータを更に、前記署名検証側コンピュータから送られてきたメッセージを受信する署名生成側受信手段として機能させる。そして、前記付加情報生成手段は、前記他のメッセージの各メッセージ識別情報に、前記署名検証側コンピュータから当該被付加メッセージに付加されて送られてきた乱数を結合させ、その乱数が結合された各メッセージ識別情報を、前記署名検証側コンピュータの公開鍵で暗号化した後に前記他のメッセージに関する情報として付加情報に含め、前記抽出手段は、前記受信手段が受信したメッセージに付加された付加情報に含まれる暗号化されたメッセージ識別情報及び乱数を、前記署名検証側コンピュータの公開鍵に対応した秘密鍵で復号し、前記受信手段が受信したメッセージのメッセージ識別情報に対応付けされた乱数を前記乱数記憶手段から取り出し、その取り出した乱数に基づいて、復号したメッセージ識別情報から乱数を分離することでメッセージ識別情報を抽出するものである。
本発明に係る署名生成用コンピュータは、デジタル署名を利用してメッセージに付加する署名を生成する署名生成用コンピュータにおいて、複数のメッセージそれぞれからダイジェストを生成する署名生成側ダイジェスト生成手段と、各メッセージのダイジェストに対して一括して行う単一の署名を一括署名として生成する一括署名生成手段と、一括署名が生成されたメッセージのうち1つの被付加メッセージに対して、当該一括署名と、当該被付加メッセージの署名検証に用いる当該被付加メッセージ以外の他のメッセージに関する情報とを含む付加情報を生成する付加情報生成手段と、被付加メッセージに当該付加情報を付加して送信する送信手段とを有することを特徴とする。
本発明に係る署名検証用コンピュータは、デジタル署名を利用してメッセージに付加された署名の検証を行う署名検証用コンピュータにおいて、署名検証対象のメッセージであって、当該メッセージを含む複数のメッセージそれぞれから生成されたダイジェストに対して一括して行われた一括署名と、署名検証対象のメッセージと共に一括署名が生成され当該メッセージの署名検証に用いる他のメッセージに関する情報とを含む付加情報が付加されたメッセージを受信する受信手段と、前記受信手段が受信したメッセージに付加された付加情報に含まれる一括署名を復号することによってダイジェストを生成する署名復号手段と、前記受信手段が受信したメッセージに付加された付加情報に含まれる他のメッセージに関する情報に基づき取得した当該他のメッセージのダイジェストと、前記受信手段が受信したメッセージから生成したダイジェストとを結合する署名検証側ダイジェスト生成手段と、前記署名検証側ダイジェスト生成手段が結合により生成したダイジェストと、前記一括署名復号手段が生成したダイジェストとを比較することによって一括署名の検証を行う署名検証手段とを有することを特徴とする。
また、本発明に係るデジタル署名システムは、上記署名生成用コンピュータと、上記署名検証用コンピュータとを有することで構成してもよい。
本発明に係るデジタル署名方法は、デジタル署名を利用してメッセージに付加する署名を生成する署名生成用コンピュータにより実施され、複数のメッセージそれぞれからダイジェストを生成する署名生成側ダイジェスト生成ステップと、各メッセージのダイジェストに対して一括して行う単一の署名を一括署名として生成する一括署名生成ステップと、一括署名が生成されたメッセージのうち1つの被付加メッセージに対して、当該一括署名と、当該被付加メッセージの署名検証に用いる当該被付加メッセージ以外の他のメッセージに関する情報とを含む付加情報を生成する付加情報生成ステップと、被付加メッセージに当該付加情報を付加して送信する送信ステップとを含むことを特徴とする。
本発明に係る署名検証方法は、デジタル署名を利用してメッセージに付加された署名の検証を行う署名検証用コンピュータにより実施され、署名検証対象のメッセージであって、当該メッセージを含む複数のメッセージそれぞれから生成されたダイジェストに対して一括して行われた一括署名と、署名検証対象のメッセージと共に一括署名が生成され当該メッセージの署名検証に用いる他のメッセージに関する情報とを含む付加情報が付加されたメッセージを受信する受信ステップと、前記受信ステップが受信したメッセージに付加された付加情報に含まれる一括署名を復号することによってダイジェストを生成する署名復号ステップと、前記受信ステップが受信したメッセージに付加された付加情報に含まれる他のメッセージに関する情報に基づき取得した当該他のメッセージのダイジェストと、前記受信ステップが受信したメッセージから生成したダイジェストとを結合する署名検証側ダイジェスト生成ステップと、前記ダイジェスト生成ステップが結合により生成したダイジェストと、前記一括署名復号ステップが生成したダイジェストとを比較することによって一括署名の検証を行う署名検証ステップとを含むことを特徴とする。
本発明によれば、署名生成側コンピュータにおいて複数のメッセージに対して一括して署名を生成する場合には、署名検証に必要な他のメッセージに関する情報を含む付加情報をメッセージに付加するようにしたので、署名検証側コンピュータでは、他のメッセージを用いることなく当該メッセージに付加された署名を個別に検証することができる。
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
実施の形態1.
図1は、本発明に係るデジタル署名システムの一実施の形態を示した全体構成図である。図1には、複数台のクライアント1とサーバ4とが公衆網6に接続された構成が示されている。本実施の形態では、簡易検証と通常検証という2種類の署名検証方法を提供するが、サーバ4は、コンテンツに付加された署名を検証する署名検証側コンピュータに相当する。一方、クライアント1は、コンテンツに付加する署名を生成する署名生成側コンピュータに相当するが、簡易検証の場合には、署名生成側コンピュータからの要求に応じてコンテンツに付加された一括署名を検証する署名検証側コンピュータにもなりうる。
図2は、本実施の形態におけるデジタル署名システムのブロック構成図である。図2には、署名生成側コンピュータとして動作するクライアント1と、署名検証側コンピュータとして動作するサーバ4とが、それぞれ示されている。
クライアント1は、コンテンツ取得部12、ダイジェスト生成部14、コンテンツ情報生成部16、コンテンツ情報送信部18、検証結果取得部20及び表示部22を有している。コンテンツ取得部12は、交換対象のメッセージに相当するコンテンツをサーバ4から取得する。ダイジェスト生成部14は、ハッシュ関数を用いてコンテンツからダイジェストを生成する。複数のコンテンツが取得された場合、ダイジェスト生成部14は、コンテンツ毎にダイジェストを生成する。コンテンツ情報生成部16は、サーバ4における署名検証に必要な付加情報を生成してコンテンツに付加することでサーバ4へ送信するコンテンツ情報を形成する。コンテンツ情報生成部16に含まれる署名生成部24は、ダイジェストを自分の秘密鍵で暗号化することで署名を生成するが、本実施の形態における署名生成部24は、複数のダイジェストを一括して単一の署名を生成する。本実施の形態では、ダイジェスト個々に生成する通常の署名とは異なり、複数のダイジェストを結合し、この結合したダイジェストに対して前述した単一の署名を生成する。この複数のダイジェストに対して生成する単一の署名を、本実施の形態では「一括署名」と称することにする。また、コンテンツ情報生成部16に含まれる他コンテンツ情報生成部26は、一括署名を付加する各コンテンツに対して、当該コンテンツと共に一括署名が生成された他のコンテンツに関する情報を生成する。コンテンツ情報送信部18は、付加情報が付加されたコンテンツをサーバ4へ送信する。検証結果取得部20は、サーバ4における署名検証の結果をサーバ4から取得する。表示部22は、検証結果取得部20が取得した検証結果を表示する。クライアント1が有する各構成要素12〜22の処理機能は、当該処理機能を発揮するデジタル署名プログラムと、クライアント1を構成するハードウェアとの協調動作により実現される。
一方、サーバ4は、コンテンツ配信部44、コンテンツ情報受信部46、ダイジェスト生成部48、署名復号部50、署名検証部52、検証結果通知部54及びコンテンツ読出部56を有している。コンテンツ配信部44は、コンテンツデータベース42に格納されているコンテンツを配信要求元のクライアント1へダウンロードする。コンテンツ情報受信部46は、クライアント1から送られてくるコンテンツを受信する。このコンテンツには、付加情報が付加されている。ダイジェスト生成部48は、ハッシュ関数を用いてコンテンツからダイジェストを生成する。ダイジェスト生成部48が使用するハッシュ関数は、各クライアント1におけるダイジェスト生成部14が使用するハッシュ関数と同一である。署名復号部50は、受信したコンテンツの付加情報に含まれる一括署名を復号することによってダイジェストを生成する。署名検証部52は、受信したコンテンツに付加された署名の検証を行う手段であるが、本実施の形態における署名検証部52は、詳細は後述するように一括署名に関しては、複数のコンテンツのダイジェストを結合して形成した結合ダイジェストと、署名復号部50が生成したダイジェストとを比較することによって署名検証を行う。検証結果通知部54は、署名検証部52における検証結果をコンテンツ送信元のクライアント1へ通知する。コンテンツ読出部56は、指定されたコンテンツIDをキーにして当該コンテンツをコンテンツデータベース42から読み出す。サーバ4が有する各構成要素44〜56の処理機能は、当該処理機能を発揮するデジタル署名プログラムと、サーバ4を構成するハードウェアとの協調動作により実現される。
次に、本実施の形態における動作について説明するが、その前に動作の説明に用いる各種記号、変数等について定義する。
まず、署名が付加されるメッセージデータとして用いるコンテンツをCx(x=1,2,・・・N)と定義する。また、各コンテンツCxの署名対象領域をSx、署名情報領域をExとする。署名対象領域というのは、コンテンツを構成するデータのうちダイジェストの生成に用いるデータを含む領域である。署名情報領域というのは、ダイジェストに付加する署名に関する情報の格納領域であり、本実施の形態では、一括署名を含む付加情報を格納する領域に相当する。クライアント1は、コンテンツCx毎に、ダイジェストの生成に用いるデータを含む署名対象領域Sxと、署名検証のために必要な情報を含む署名情報領域Exとを組にしてサーバ4へ送信することになる。また、ハッシュ関数をf、各コンテンツを識別する情報として用いるコンテンツIDをIDx、署名関数をEnc(signkey,data)、検証関数をDec(verifykey,data)、サーバ公開鍵をEs、サーバ秘密鍵をDs、クライアント公開鍵をEc、クライアント秘密鍵をDcと定義する。なお、署名関数及び検証関数に指定するsignkey、verifykeyには暗号化/復号に用いる鍵が、dataには暗号化/復号されるデータが、それぞれ設定される。
以上のように定義したデータや関数を用いて、本実施の形態におけるデジタル署名について図3乃至図5を用いて説明する。本実施の形態では、前述したように簡易検証と通常検証という2種類のデジタル署名方法を提供するが、最初に簡易検証について署名生成側処理を示した図3と、署名検証側処理を示した図4を用いて説明する。
クライアント1のコンテンツ取得部12は、コンテンツのダウンロード要求をサーバ4へ発すると、サーバ4のコンテンツ配信部44は、クライアント1からの要求に応じて署名対象のN個のコンテンツCx(x=1〜N)を当該クライアント1へ送信する(ステップ201)。コンテンツ取得部12は、このようにしてN個のコンテンツCxを取得する(ステップ101)。なお、取得した各コンテンツCx(x=1〜N)のIDは、それぞれIDx(x=1〜N)とする。ダイジェスト生成部14は、取得された各コンテンツIDxの署名対象領域Sxに含まれるデータからハッシュ関数fを用いてN個のダイジェストf(Sx)を生成する(ステップ102)。続いて、署名生成部24は、自己の秘密鍵Dcを用いて各ダイジェストに対して一括して署名を行う(ステップ103)。この一括署名をSigValueとすると、以下のように表すことができる。
Figure 2007028014
他コンテンツ情報生成部26は、以上の処理にて得られた結果から、各コンテンツCxに付加する付加情報に含める以下の情報を生成する(ステップ104)。例えば、IDのコンテンツCに対しては、C以外の他のコンテンツに関する情報として、Cと共に一括署名が生成された他のコンテンツの識別情報{ID,ID,ID,・・・,ID}と、当該他のコンテンツのダイジェスト{f(S),f(S),f(S),・・・,f(S)}とを生成する。このように当該コンテンツC以外のコンテンツのIDとダイジェストを集約する。同様に、IDのコンテンツCに対しては、Cと共に一括署名が生成された他のコンテンツの識別情報{ID,ID,ID,・・・,ID}と、当該他のコンテンツのダイジェスト{f(S),f(S),f(S),・・・,f(S)}とを生成する。
ここで、付加情報が付加される対象のコンテンツを「被付加コンテンツ」と称することにすると、他コンテンツ情報生成部26は、以上説明したように各被付加コンテンツに対して、当該被付加コンテンツ以外の他のコンテンツに関する情報を生成する。この他コンテンツ情報生成部26が生成した他のコンテンツに関する情報は、署名検証側のコンピュータにおける署名検証の際に用いられることになる。
コンテンツ情報生成部16は、署名生成部24で生成した署名SigValueと、他コンテンツ情報生成部26が生成した他のコンテンツに関する情報とを含む付加情報を生成し、各コンテンツCxの署名情報領域Exに書き込む。例えば、コンテンツCの付加情報は、({ID,ID,ID,・・・,ID},{f(S),f(S),f(S),・・・,f(S)},SigValue)、すなわち、他のコンテンツのコンテンツID、他のコンテンツのダイジェスト及び一括署名で構成される。なお、本実施の形態における署名SigValueは、全てのコンテンツCxで同値である。そして、コンテンツ情報生成部16は、コンテンツの署名対象データを署名対象領域Sxに書き込む。
コンテンツ情報送信部18は、以上のように付加情報が付加されたコンテンツをサーバ4へ送信する(ステップ105)。つまり、クライアント1は、同一の一括署名を含むものの、それぞれに内容の異なる付加情報が付加されたN個のコンテンツCx(x=1〜N)をサーバ4へ送信する。
署名検証側であるサーバ4において、コンテンツ情報受信部46は、クライアント1が発信したN個のコンテンツCx(x=1〜N)を受信すると(ステップ202)、各コンテンツにつき以下の処理を行う。なお、以下で説明する処理は、全てのコンテンツCxに対して同じなので、ここでは、IDのコンテンツCを代表させて説明する。
まず、署名復号部50は、受信したコンテンツCの付加情報に含まれている一括署名を、コンテンツ送信元のクライアント1の公開鍵を用いて復号することでダイジェストを生成する(ステップ203)。このダイジェストの生成は、検証関数を用いるので、Dec(Ec,SigValue)と表すことができる。
一方、ダイジェスト生成部48は、クライアント1から送られてきたコンテンツCからダイジェストを生成する(ステップ204)。このダイジェストの生成についてより厳密に言うと、ダイジェスト生成部48は、ハッシュ関数fを用いてコンテンツCの署名対象領域Sに含まれているデータからダイジェストf(S)を生成する。ここで、コンテンツC以外のコンテンツCx(x=2〜N)のダイジェストf(Sx)(x=2〜N)は、コンテンツCの付加情報に含まれているので、ダイジェスト生成部48は、f(S)とf(Sx)(x=2〜N)、すなわち一括署名SigValueを生成した全てのコンテンツCx(x=1〜N)のダイジェストを結合して結合ダイジェストFを生成する(ステップ205)。この結合ダイジェストFは、以下のように表すことができる。
Figure 2007028014
以上のようにして比較対象のダイジェストが生成されると、署名検証部52は、2つのダイジェスト、すなわち、署名復号部50による復号処理で得られたダイジェストDec(Ec,SigValue)と、ダイジェスト生成部48が生成した結合ダイジェストFとを比較することで、コンテンツCに付加された一括署名の検証を行う(ステップ206)。
上記説明では、IDのコンテンツCを代表させたが、他のコンテンツCx(x=2〜N)でも同様で、例えばIDのコンテンツCであれば、署名復号部50は、受信したコンテンツCの付加情報に含まれている一括署名SigValueを、クライアント1の公開鍵Ecを用いて復号してダイジェストDec(Ec,SigValue)を生成する。その一方で、ダイジェスト生成部48は、送られてきたコンテンツCからダイジェストf(S)を生成し、このf(S)をコンテンツCの付加情報に含まれている他のコンテンツのダイジェストf(S)及びf(Sx)(x=3〜N)と結合して結合ダイジェストFを生成する。このようにして求めた各ダイジェストを比較することでコンテンツCに付加された一括署名の検証を行う。
なお、フローチャートでは、署名復号部50が一括署名を復号してダイジェストを生成する処理を、ダイジェスト生成部48が結合ダイジェストを生成する処理より先に行うように説明したが、この処理の順番は逆でもよいし、同時並行して行うようにしてもよい。
検証結果通知部54は、以上のようにして全てのコンテンツCx(x=1〜N)に対して行われた検証結果を署名生成元のクライアント1へ通知する(ステップ207)。
クライアント1における検証結果取得部20がサーバ4から通知されてきた検証結果を取得すると(ステップ106)、表示部22は、クライアント1のディスプレイに表示することで(ステップ107)、ユーザに検証結果を知らせる。
本実施の形態における簡易検証は、以上のようにして行うが、本実施の形態においては、コンテンツ個々の署名検証の際に必要な他のコンテンツのダイジェストを、当該コンテンツの付加情報に含めるようにした。つまり、一括署名の生成の際に用いた他のコンテンツのダイジェスト、例えば、コンテンツCの一括署名の検証の場合であれば、コンテンツCx(x=2〜N)のダイジェストf(Sx)(x=2〜N)をコンテンツCの付加情報に含めるようにしたので、署名検証を行うサーバ4は、他のコンテンツCx(x=2〜N)からダイジェストを生成する必要がない。すなわち、サーバ4は、コンテンツCに付加された一括署名の検証を、他のコンテンツCx(x=2〜N)がなくても個別に行うことができる。
続いて、通常検証について説明するが、署名生成側における処理は、簡易検証と同じなので説明を省略する。ここでは、サーバ4における署名検証側処理について図5に示したフローチャートを用いて説明する。なお、簡易検証と同じ処理には同じステップ番号を付け、説明を適宜省略又は簡略する。
署名検証側であるサーバ4において、コンテンツ情報受信部46は、クライアント1が発信したN個のコンテンツCx(x=1〜N)を受信する(ステップ202)。通常検証でも簡易検証と同様に、サーバ4では、各コンテンツに対して同じ処理を行うので、ここでもIDのコンテンツCを代表させて説明する。
まず、署名復号部50は、受信したコンテンツCの付加情報に含まれている一括署名を、コンテンツ送信元のクライアント1の公開鍵を用いて復号することでダイジェストDec(Ec,SigValue)を生成する(ステップ203)。
一方、ダイジェスト生成部48は、クライアント1から送られてきたコンテンツCからダイジェストf(S)を生成する(ステップ204)。続いて、ダイジェスト生成部48は、コンテンツCの付加情報に含まれている他のコンテンツの識別情報{ID,ID,ID,・・・,ID}を取り出す。そして、ダイジェスト生成部48は、コンテンツ読出部56に取り出したコンテンツIDを渡すと、コンテンツ読出部56は、そのコンテンツIDをキーにして当該コンテンツをコンテンツデータベース42から読み出す(ステップ211)。なお、サーバ4がコンテンツデータベース42を保有していなければ、コンテンツ読出部56は、ネットワーク経由で外部から取得してくることになる。これにより、ダイジェスト生成部48は、ハッシュ関数fを用いてクライアント1から送られてきたコンテンツCからダイジェストf(S)を生成すると共に、コンテンツデータベース42から読み出したその他のコンテンツCx(x=2〜N)からダイジェストf(Sx)(x=2〜N)を生成する(ステップ212)。このようにして、一括署名を生成した全てのコンテンツのダイジェストを取得することができるので、これらのダイジェストを結合して結合ダイジェストFを生成する(ステップ213)。この結合ダイジェストは、簡易検証と同じ内容になる。
以上のようにして比較対象のダイジェストが生成されると、署名検証部52は、2つのダイジェスト、すなわち、署名復号部50による復号処理で得られたダイジェストDec(Ec,SigValue)と、ダイジェスト生成部48が生成した結合ダイジェストFとを比較することで、コンテンツCに付加された一括署名の検証を行う(ステップ206)。なお、検証結果の通知、表示の処理に関しては、簡易検証と同じなので省略する。
本実施の形態における通常検証は、以上のようにして行うが、通常検証も簡易検証と同様に複数のコンテンツから一括署名を生成した場合でもコンテンツに付加された一括署名の検証を、コンテンツ毎に行うことができる。
本実施の形態においては、付加情報に含まれる一括署名を復号して生成したダイジェストと比較するダイジェストを、複数のコンテンツのダイジェストを結合して生成するようにしたが、簡易検証と通常検証とでは、検証対象の一括署名が付加されたコンテンツ(前述した被付加コンテンツ)以外のコンテンツのダイジェストの取得方法が異なっている。すなわち、簡易検証では、被付加コンテンツ以外の他のコンテンツのダイジェストを、被付加コンテンツの付加情報から取得するのに対し、通常検証では、当該被付加コンテンツの付加情報から取得した他のコンテンツのIDをキーにしてコンテンツを取得し、そして他のコンテンツのダイジェストを自ら生成する。この他のコンテンツのダイジェストの取得方法の違いにより、各検証方法は、以下のような特徴を有していることになる。
まず、通常検証の場合、コンテンツそのものが必要になってくるので、コンテンツそのものを保持管理するサーバ4にとっては、外部からコンテンツを取得することなく通常検証を実施することができる。つまり、通常検証の場合は、付加情報にコンテンツIDを含めておけばよいので、ダイジェストそのものが改竄される可能性がない。これにより、デジタル署名の確度を向上させることができる。
これに対し、簡易検証は、コンテンツのダイジェストを直接受け取るため、コンテンツそのものを必要としない。従って、サーバ4のみならずコンテンツそのものを保持管理しないクライアント1においても、簡易検証であれば署名の検証を行うことができる。つまり、クライアント1が簡易検証を行う場合、そのクライアント1に、図2に示したサーバ4からコンテンツ配信部44、コンテンツ読出部56及びコンテンツデータベース42を除いた構成を持たせることで、クライアント1にも署名検証側のコンピュータとして動作させることができる。
なお、コンテンツの付加情報には、他のコンテンツに関する情報として、他のコンテンツのIDと他のコンテンツのダイジェストとが含まれている。簡易検証と通常検証の各処理の説明から明らかなように、他のコンテンツに関する情報として、簡易検証では他のコンテンツのダイジェストを、通常検証では他のコンテンツのIDをそれぞれ使用し、他方の情報は使用していない。従って、クライアント1は、簡易検証を実施することが明らかであるならば、付加情報に他のコンテンツのIDを含める必要はない。一方、通常検証を実施することが明らかであるならば、付加情報に他のコンテンツのダイジェストを含める必要はない。ただ、本実施の形態では、署名検証側コンピュータが、自己の構成等によっていずれの検証方法を適宜使用できるように、他のコンテンツに関する情報として他のコンテンツのIDとダイジェストとの双方の情報を含めるようにした。
次に、前述した一括署名の検証処理について具体例を用いて説明する。なお、処理の内容は、上記と同じなので適宜簡略化して説明する。ここでは、一括署名を生成するコンテンツIDがそれぞれID1,ID2,ID3である3つのコンテンツC1,C2,C3を取り扱う場合を例にして説明する。また、各コンテンツC1〜C3の署名対象領域をS1,S2,S3、署名情報領域をE1,E2,E3とする。まず、簡易検証から説明するが、最初に説明する署名生成側のクライアント1における処理内容は、簡易検証と通常検証とで同じである。
クライアント1において、上記3つのコンテンツをサーバ4からダウンロードすることで取得すると(ステップ101)、ハッシュ関数fを用いてダイジェストf(S1),f(S2),f(S3)をそれぞれ生成し(ステップ102)、そしてこれらを一括して自分の秘密鍵で暗号化することで署名を行う(ステップ103)。この一括署名SigValueは、Enc(Dc,f(S1)+f(S2)+f(S3))と表現できる。そして、各コンテンツに付加する付加情報を生成するが、各付加情報は、次のようになる。
E1=({ID2,ID3}),{f(S2),f(S3)},SigValue)
E2=({ID3,ID1}),{f(S3),f(S1)},SigValue)
E3=({ID1,ID2}),{f(S1),f(S2)},SigValue)
このようにして生成された付加情報は、対応する各コンテンツに付加されて(ステップ104)、署名検証側のサーバ4へ送信される(ステップ105)。サーバ4へ送られるコンテンツ情報の概念図を図6に示す。なお、簡易検証の場合の署名検証側コンピュータとして、ここではサーバ4を例にしているが、クライアント1でもよいことは前述したとおりである。
サーバ4は、クライアント1が発したコンテンツ情報を受信すると(ステップ202)、コンテンツ個々に一括署名の検証を行う。まず、ID1のコンテンツC1に着目して説明すると、サーバ4は、コンテンツC1の付加情報に含まれている一括署名SigValueを、クライアント1の公開鍵を用いて復号することでダイジェストDec(Ec,SigValue)を生成する(ステップ203)。一方、ダイジェスト生成部48は、受信したコンテンツC1からハッシュ関数fを用いてダイジェストf(S1)を生成し(ステップ204)、また、付加情報から他のコンテンツのダイジェストf(S2),f(S3)を取り出す。そして、これらのダイジェストを結合して結合ダイジェストF=f(S1)+f(S2)+f(S3)を生成する(ステップ205)。その後、署名検証部52は、一括署名を復号して得られたダイジェストDec(Ec,SigValue)と、ダイジェスト生成部48が結合したダイジェストFとを比較することで、コンテンツC1に付加された一括署名の検証を行う(ステップ206)。コンテンツC2及びC3に対しても同様に処理することで各コンテンツC1〜C3に付加された一括署名の検証を個別に行うことができる。
このように、簡易検証の場合には、他のコンテンツのダイジェストを付加情報に含めるようにしたので、他のコンテンツを必要とすることなく署名の検証を行うことができる。
次に、通常検証の場合について説明するが、署名生成側における処理は、簡易検証と同じなので説明を省略し、署名検証側の処理について説明する。
サーバ4は、クライアント1が発したコンテンツ情報を受信すると(ステップ202)、コンテンツ個々に一括署名の検証を行う。まず、コンテンツC1に着目して説明すると、署名復号部50は、コンテンツC1の付加情報に含まれている一括署名SigValueを、クライアント1の公開鍵を用いて復号することでダイジェストDec(Ec,SigValue)を生成する(ステップ203)。一方、ダイジェスト生成部48は、コンテンツC1の付加情報から他のコンテンツのID、すなわちID2,ID3を取り出し、該当するコンテンツC2,C3をコンテンツデータベース42から取り出す(ステップ211)。そして、ダイジェスト生成部48は、ハッシュ関数fを用いてコンテンツC1のダイジェストf(S1)を生成し、更に各コンテンツC2,C3の既知である署名対象領域S2,S3からダイジェストf(S2),f(S3)を生成し(ステップ212)、これらを結合して結合ダイジェストF=f(S1)+f(S2)+f(S3)を生成する(ステップ213)。そして、署名検証部52は、一括署名を復号して得られたダイジェストDec(Ec,SigValue)と、ダイジェスト生成部48が結合したダイジェストFとを比較することで、コンテンツC1に付加された一括署名の検証を行う(ステップ206)。
このように、通常検証の場合、サーバ4は、内部保有するコンテンツデータベース42から他のコンテンツのIDをキーにコンテンツを取得し、そして他のコンテンツのダイジェストを自ら生成してダイジェストの比較を行えるようにした。このように、付加情報に含まれているダイジェストを用いないので、デジタル署名の確度を向上させることができる。なお、本実施の形態では、コンテンツC2及びC3に対しても同様に処理することで各コンテンツC1〜C3に付加された一括署名の検証を個別に行うことができる。
本実施の形態によれば、以上説明したように、複数のコンテンツを一括して署名を行った場合でも署名検証側において各コンテンツに付加された一括署名の検証を個々に行うことができる。これにより、署名生成側では、コンテンツ個々に署名を行う必要がないので、コンテンツ毎に署名を行う煩わしさから解消される。一方、署名検証側では、一括署名検証の対象とするコンテンツ以外のコンテンツが送られてこなくても、一括署名の検証を行うことができる。つまり、簡易検証の場合は、付加情報に含まれる他のコンテンツのダイジェストから、通常検証の場合は、付加情報に含まれる他のコンテンツのIDから、それぞれ一括して署名された各コンテンツのダイジェストを取得することができるので、一括署名を復号して得られたダイジェストと比較を行うダイジェストを署名検証側で生成することができる。従って、以上の説明では、署名生成側のクライアント1は、一括署名を生成した組を形成するコンテンツCx(x=1〜N)を全てサーバ4へ送信するようにしたが、全てを組にして送信する必要はない。
より具体的な例をあげるとすると、クライアントCL0が3つのコンテンツC1〜C3から一括署名を生成した後、コンテンツC1をクライアントCL1に、コンテンツC2をクライアントCL2に、コンテンツCL3をサーバS1に、それぞれ送信したとする。このとき、クライアントCL1は、簡易検証によりコンテンツC1に付加された一括署名の検証を行うことができる。クライアントCL2は、簡易検証によりコンテンツC2に付加された一括署名の検証を行うことができる。そして、サーバS1は、通常検証によりコンテンツC3に付加された一括署名の検証を行うことができる。このように、署名検証側のクライアントCL1,CL2及びサーバS1は、一括署名の検証対象とするコンテンツのみを取得さえすれば、一括署名の検証を行うことができる。そして、署名生成側のクライアントCL0は、コンテンツの送信先を意識することなく一括署名を行うことができる。
実施の形態2.
本実施の形態における署名生成側処理のフローチャートを図7に、通常検証の場合の署名検証側処理のフローチャートを図8に、それぞれ示す。図7及び図8は、実施の形態1における図3及び図5に対応する図であるが、この図3,図5に示したフローチャートと比較すれば明らかなように、本実施の形態におけるクライアント1は、付加情報に含める他のコンテンツIDを暗号化してからサーバ4へ送ることを特徴としている。
以下、本実施の形態におけるデジタル署名処理について説明する。ここでは、実施の形態1と同様に、一括署名を生成するコンテンツIDがそれぞれID1,ID2,ID3である3つのコンテンツC1,C2,C3を取り扱う場合を例にして説明する。また、各コンテンツC1〜C3の署名対象領域をS1,S2,S3、署名情報領域をE1,E2,E3とする。なお、図7,8において、図3,5と同じ処理ステップには同じ符号を付け説明を適宜省略する。また、他のコンテンツに関する情報としてコンテンツIDを使用しない簡易検証については、実施の形態1と同じ処理になるので説明を省略する。また、本実施の形態におけるシステム構成も実施の形態1と同じなので説明を省略する。
クライアント1において、上記3つのコンテンツをサーバ4からダウンロードすることで取得すると(ステップ101)、ダイジェスト生成部14は、ハッシュ関数fを用いてダイジェストf(S1),f(S2),f(S3)をそれぞれ生成し(ステップ102)、そして署名生成部24は、これらを一括して自分の秘密鍵で暗号化することで署名を行い、一括署名SigValueを生成する(ステップ103)。ここまでの処理は、実施の形態1と同じである。その後、本実施の形態における他コンテンツ情報生成部26は、他のコンテンツのIDを、署名検証を行うサーバ4の公開鍵Esで暗号化した後に各コンテンツC1〜C3の付加情報にそれぞれ含める(ステップ111)。このようにして生成された各付加情報は、次のようになる。
E1=(Enc(Es,ID2+ID3),{f(S2),f(S3)},SigValue)
E2=(Enc(Es,ID3+ID1),{f(S3),f(S1)},SigValue)
E3=(Enc(Es,ID1+ID2),{f(S1),f(S2)},SigValue)
このようにして生成された付加情報は、対応する各コンテンツに付加されて(ステップ104)、署名検証側のサーバ4へ送信される(ステップ105)。
サーバ4は、クライアント1が発したコンテンツ情報を受信すると(ステップ202)、コンテンツ個々に一括署名の検証を行う。まず、コンテンツC1に着目して説明すると、署名復号部50は、コンテンツC1の付加情報に含まれている一括署名SigValueを、クライアント1の公開鍵を用いて復号することでダイジェストDec(Ec,SigValue)を生成する(ステップ203)。一方、ダイジェスト生成部48は、コンテンツC1の付加情報から他のコンテンツのID、すなわちID2,ID3を取り出すが、本実施の形態においては、他のコンテンツIDは、自己の公開鍵で暗号化されているので、ダイジェスト生成部48は、この公開鍵に対応した自己の秘密鍵で復号することでコンテンツIDを抽出する(ステップ221)。この抽出したコンテンツIDを次のように表すことができる。
IDx=Dec(Ds,Enc(Es,ID2+ID3)) (x=2,3)
このように、復号により他のコンテンツのIDを取得した後の処理は、実施の形態1と同じである。すなわち、ダイジェスト生成部48は、コンテンツ読出部56に指示をすることでコンテンツC2,C3を取り出し(ステップ211)、ハッシュ関数fを用いて各コンテンツC1のダイジェストf(S1),f(S2),f(S3)を生成し(ステップ212)、これらを結合して結合ダイジェストF=f(S1)+f(S2)+f(S3)を生成する(ステップ213)。そして、署名検証部52は、一括署名を復号して得られたダイジェストDec(Ec,SigValue)と、ダイジェスト生成部48が結合したダイジェストFとを比較することで、コンテンツC1に付加された一括署名の検証を行う(ステップ206)。なお、コンテンツC2及びC3に対しても同様に処理することでコンテンツC2,C3に付加された一括署名の検証を個別に行うことができる。
本実施の形態によれば、コンテンツIDを暗号化してからクライアント1からサーバ4へ送るようにしたので、コンテンツIDの改竄防止を図ることによりデジタル署名の確度を向上させることができる。
実施の形態3.
図9は、本実施の形態におけるデジタル署名システムのブロック構成図である。図9において、図2と同じ構成には、同じ符号を付け、説明を省略する。本実施の形態においては、サーバ4に乱数生成部58及び乱数保持部60を追加した構成を有している。乱数生成部58は、乱数を生成する手段である。乱数生成部58が生成した乱数は、乱数の生成時間情報と共にコンテンツに付加されてクライアント1へダウンロードされるが、コンテンツがダウンロードされたとき、そのダウンロードされたコンテンツのID及び乱数生成時間情報と組にして乱数保持部60に登録される。この乱数保持部60に登録されるデータ構成例を図10に示す。なお、乱数生成部58が有する処理機能は、当該処理機能を発揮するデジタル署名プログラムと、サーバ4を構成するハードウェアとの協調動作により実現される。
本実施の形態における署名生成側処理のフローチャートを図11に、通常検証の場合の署名検証側処理のフローチャートを図12に、それぞれ示す。図11及び図12は、実施の形態2における図7及び図8に対応する図であるが、この図7,図8に示したフローチャートと比較すれば明らかなように、付加情報に含める他のコンテンツIDに乱数及び乱数生成時間情報を付加してから暗号化することを特徴としている。
以下、本実施の形態におけるデジタル署名処理について説明する。ここでは、実施の形態2と同様に、一括署名を生成するコンテンツIDがそれぞれID1,ID2,ID3である3つのコンテンツC1,C2,C3を取り扱う場合を例にして説明する。また、各コンテンツC1〜C3の署名対象領域をS1,S2,S3、署名情報領域をE1,E2,E3とする。なお、図11及び図12において、図7及び図8と同じ処理ステップには同じ符号を付け説明を適宜省略する。また、他のコンテンツに関する情報としてコンテンツIDを使用しない簡易検証については、実施の形態1,2と同じ処理になるので説明を省略する。
サーバ4において、クライアント1からコンテンツのダウンロード要求が送られてくると、乱数生成部58は、要求されたコンテンツ毎に乱数を生成する(ステップ231)。そして、コンテンツ配信部44は、要求された署名対象のコンテンツC1〜C3をコンテンツデータベース42から取り出し、そのコンテンツC1〜C3に乱数r1〜r3及び各乱数生成時間情報T1を付加して当該クライアント1へ送信する(ステップ232)。なお、各乱数の生成時刻は各コンテンツとも同じT1とする。そして、コンテンツ配信部44は、図10に例示したように、送信したコンテンツC1〜C3の各IDと乱数と乱数生成時間情報とを組にして乱数保持部60に登録する(ステップ233)。
クライアント1において、コンテンツC1〜C3をサーバ4から取得すると(ステップ101)、ダイジェスト生成部14は、ハッシュ関数fを用いてダイジェストf(S1),f(S2),f(S3)をそれぞれ生成し(ステップ102)、そして署名生成部24は、これらを一括して自分の秘密鍵で暗号化することで署名を行い、一括署名SigValueを生成する(ステップ103)。ここまでの処理は、実施の形態1と同じである。その後、本実施の形態における他コンテンツ情報生成部26は、他のコンテンツのIDに、コンテンツと共に取得した乱数を結合してからサーバ4の公開鍵Esで暗号化し、また、乱数時間情報T1をサーバ4の公開鍵Esで暗号化し、そして各コンテンツC1〜C3の付加情報にそれぞれ含める(ステップ121)。以上の処理にて生成された各付加情報は、次のようになる。
E1=(Enc(Es,r1+ID2+ID3),Enc(Es,T1),{f(S2),f(S3)},SigValue)
E2=(Enc(Es,r2+ID3+ID1),Enc(Es,T1),{f(S3),f(S1)},SigValue)
E3=(Enc(Es,r3+ID1+ID2),Enc(Es,T1),{f(S1),f(S2)},SigValue)
このようにして生成された付加情報は、対応する各コンテンツに付加されて(ステップ104)、署名検証側のサーバ4へ送信される(ステップ105)。
サーバ4は、クライアント1が発したコンテンツ情報を受信すると(ステップ202)、コンテンツ個々に一括署名の検証を行う。まず、コンテンツC1に着目して説明すると、署名復号部50は、コンテンツC1の付加情報に含まれている一括署名SigValueを、クライアント1の公開鍵を用いて復号することでダイジェストDec(Ec,SigValue)を生成する(ステップ203)。一方、ダイジェスト生成部48は、実施の形態2と同様にコンテンツC1の付加情報から他のコンテンツのID、すなわちID2,ID3を自己の秘密鍵で復号することで抽出する(ステップ234)。但し、本実施の形態では、コンテンツIDと共に乱数r1及び乱数生成時間情報T1が復号対象となっている。この復号の内容は、次のように表すことができる。
IDx,r1=Dec(Ds,Enc(Es,r1+ID2+ID3))
但し、x=2,3
T1=Dec(Ds,Enc(T1))
本実施の形態では、復号されたコンテンツIDには、乱数r1が結合されているので、ダイジェスト生成部48は、検証対象のコンテンツC1のコンテンツID(=ID1)及び復号された乱数発生時間情報T1の組をキーにして乱数保持部60を検索し、乱数r1を取り出す(ステップ235)。コンテンツC1は、1乃至複数のクライアント1によって複数回ダウンロードされている可能性もあるので、本実施の形態では、コンテンツIDと乱数発生時間情報との組で乱数を一意に特定できるようにした。そして、その取り出した乱数r1を、復号した結果(IDx,r1)から差し引くことでIDx(x=2,3)を抽出する。その後の処理は、実施の形態1,2と同じである。すなわち、ダイジェスト生成部48は、コンテンツ読出部56に指示をすることでコンテンツC2,C3を取り出し(ステップ211)、ハッシュ関数fを用いて各コンテンツのダイジェストf(S1),f(S2),f(S3)を生成し(ステップ212)、これらを結合して結合ダイジェストF=f(S1)+f(S2)+f(S3)を生成する(ステップ213)。そして、署名検証部52は、一括署名を復号して得られたダイジェストDec(Ec,SigValue)と、ダイジェスト生成部48が結合したダイジェストFとを比較することで、コンテンツC1に付加された一括署名の検証を行う(ステップ206)。なお、コンテンツC2及びC3に対しても同様に処理することでコンテンツC2,C3に付加された一括署名の検証を個別に行うことができる。
本実施の形態によれば、コンテンツIDを暗号化してからクライアント1からサーバ4へ送るようにしたので、実施の形態2と同様にコンテンツIDの改竄防止を図ることでデジタル署名の確度を向上させることができる。更に、暗号化する際にコンテンツIDに乱数を結合することで、次のような効果を奏することができる。ここでもコンテンツC1に付加された一括署名の検証を行う場合を例にして説明する。
例えば、不正アクセス者による不正行為によって署名情報領域E1に格納された付加情報のうちコンテンツID(=ID2,ID3)を異なるコンテンツID、例えば、ID1,ID2に書き換えるという改竄がされたとする。このような改竄は、例えばコンテンツC3の付加情報でコンテンツC1の付加情報を上書きすれば可能になる。乱数をコンテンツIDに結合していない場合、サーバ4は、コンテンツC1の付加情報から改竄されたコンテンツID、すなわちID1,ID2を取得でき、そしてコンテンツデータベース42からコンテンツC1,C2を正常に取得することができる。このように、コンテンツが正常に取得できた後にダイジェストの比較処理を行うが、一括署名の復号により生成されたダイジェストと比較するダイジェストは、本来コンテンツC1,C2,C3から生成される結合ダイジェストであるべきところを、改竄によりコンテンツC1,C2,C1から生成されているので、各ダイジェストは完全に一致しない。つまり、一括署名の検証は失敗する。この場合、サーバ4は、付加情報からコンテンツID(=ID1,ID2)が正常に抽出でき、かつコンテンツC1,C2をコンテンツデータベース42から正常に取り出すことができたので、検証の失敗の原因は、署名対象領域S1に格納されたコンテンツC1が改竄されたと誤って認識してしまう。
これに対し、乱数をコンテンツIDに結合させた場合、コンテンツ管理サーバ4は、前述したようにコンテンツC1を上書きしたコンテンツC3の乱数、すなわち乱数r1ではなく乱数r3を取り出すことになる。この結果、前述した式、
IDx,r1=Dec(Ds,Enc(Es,r1+ID2+ID3))
但し、x=2,3
で取り出したIDx,r1(x=2,3)から乱数r3を差し引いても、ID2とID3を正しく抽出することができない。このため、サーバ4は、コンテンツデータベース42からコンテンツを正常に取り出すことができないので、署名対象領域S1に格納されたコンテンツデータではなく署名情報領域E1に格納された付加情報が改竄されたと正しく認識することができる。
なお、本実施の形態において、コンテンツIDと共に乱数生成時間情報を対応付けして乱数保持部60に登録したのは、コンテンツに付加した乱数を一意に特定できるようにするためである。従って、一意に特定できる情報であれば、乱数生成時間情報に限定する必要はない。例えば、コンテンツの送信時間情報でもよいし、ダウンロードというイベントの識別情報であってもよい。
本発明に係るデジタル署名システムの一実施の形態を示した全体構成図である。 実施の形態1におけるデジタル署名システムのブロック構成図である。 実施の形態1における署名生成側処理を示したフローチャートである。 実施の形態1の簡易検証における署名検証側処理を示したフローチャートである。 実施の形態1の通常検証における署名検証側処理を示したフローチャートである。 実施の形態1においてクライアントからサーバへ送られるコンテンツ及び付加情報を示した概念図である。 実施の形態2の簡易検証における署名検証側処理を示したフローチャートである。 実施の形態2の通常検証における署名検証側処理を示したフローチャートである。 実施の形態3におけるデジタル署名システムのブロック構成図である。 実施の形態3における乱数保持部に登録されるデータ構成例を示した図である。 実施の形態3における署名生成側処理を示したフローチャートである。 実施の形態3の通常検証における署名検証側処理を示したフローチャートである。
符号の説明
1 クライアント、4 サーバ、6 公衆網、12 コンテンツ取得部、14 ダイジェスト生成部、16 コンテンツ情報生成部、18 コンテンツ情報送信部、20 検証結果取得部、22 表示部、24 署名生成部、26 他コンテンツ情報生成部、42 コンテンツデータベース、44 コンテンツ配信部、46 コンテンツ情報受信部、48 ダイジェスト生成部、50 署名復号部、52 署名検証部、54 検証結果通知部、56 コンテンツ読出部、58 乱数生成部、60 乱数保持部。

Claims (12)

  1. デジタル署名を利用するメッセージ送信者が使用する署名生成側コンピュータを、
    複数のメッセージそれぞれからダイジェストを生成する署名生成側ダイジェスト生成手段、
    各メッセージのダイジェストに対して一括して行う単一の署名を一括署名として生成する一括署名生成手段、
    一括署名が生成されたメッセージのうち1つの被付加メッセージに対して、当該一括署名と、当該被付加メッセージの署名検証に用いる当該被付加メッセージ以外の他のメッセージに関する情報とを含む付加情報を生成する付加情報生成手段、
    被付加メッセージに当該付加情報を付加して署名検証を行う署名検証側コンピュータへ送信する送信手段、
    として機能させるデジタル署名プログラム。
  2. デジタル署名を利用してメッセージに付加された署名の検証を行う署名検証用コンピュータを、
    署名を生成した署名生成側コンピュータから送られてくるメッセージであって、当該メッセージを含む複数のメッセージそれぞれから生成されたダイジェストに対して一括して行われた一括署名と、署名検証対象のメッセージと共に一括署名が生成され当該メッセージの署名検証に用いる他のメッセージに関する情報とを含む付加情報が付加されたメッセージを受信する受信手段、
    前記受信手段が受信したメッセージに付加された付加情報に含まれる一括署名を復号することによってダイジェストを生成する署名復号手段、
    前記受信手段が受信したメッセージに付加された付加情報に含まれる他のメッセージに関する情報に基づき取得した当該他のメッセージのダイジェストと、前記受信手段が受信したメッセージから生成したダイジェストとを結合する署名検証側ダイジェスト生成手段、
    前記署名検証側ダイジェスト生成手段が結合により生成したダイジェストと、前記一括署名復号手段が生成したダイジェストとを比較することによって一括署名の検証を行う署名検証手段、
    として機能させるデジタル署名プログラム。
  3. デジタル署名を利用するメッセージ送信者が使用する署名生成側コンピュータを、
    複数のメッセージそれぞれからダイジェストを生成する署名生成側ダイジェスト生成手段、
    各メッセージのダイジェストに対して一括して行う単一の署名を一括署名として生成する一括署名生成手段、
    一括署名が生成されたメッセージのうち1つの被付加メッセージに対して、当該一括署名と、当該被付加メッセージの署名検証に用いる当該被付加メッセージ以外の他のメッセージに関する情報とを含む付加情報を生成する付加情報生成手段、
    被付加メッセージに当該付加情報を付加して送信する送信手段、
    として機能させ、
    デジタル署名を利用するメッセージ受信者が使用する署名検証側コンピュータを、
    前記署名生成側コンピュータから送られてきたメッセージを受信する受信手段、
    前記受信手段が受信したメッセージに付加された付加情報に含まれる一括署名を復号することによってダイジェストを生成する署名復号手段、
    前記受信手段が受信したメッセージに付加された付加情報に含まれる他のメッセージに関する情報に基づき取得した当該他のメッセージのダイジェストと、前記受信手段が受信したメッセージから生成したダイジェストとを結合する署名検証側ダイジェスト生成手段、
    前記署名検証側ダイジェスト生成手段が結合により生成したダイジェストと、前記一括署名復号手段が生成したダイジェストとを比較することによって一括署名の検証を行う署名検証手段、
    として機能させるデジタル署名プログラム。
  4. 請求項3記載のデジタル署名プログラムにおいて、
    前記付加情報生成手段は、前記他のメッセージのダイジェストを、前記他のメッセージに関する情報として付加情報に含め、
    前記署名検証側ダイジェスト生成手段は、前記受信手段が受信したメッセージに付加された付加情報に含まれるダイジェストと、前記受信手段が受信したメッセージから生成されたダイジェストとを結合するデジタル署名プログラム。
  5. 請求項3記載のデジタル署名プログラムにおいて、
    前記付加情報生成手段は、前記他のメッセージをそれぞれ識別するメッセージ識別情報を、前記他のメッセージに関する情報として付加情報に含め、
    前記署名検証側コンピュータを更に、前記受信手段が受信したメッセージに付加された付加情報に含まれるメッセージ識別情報それぞれに対応するメッセージを取得する取得手段として機能させ、
    前記署名検証側ダイジェスト生成手段は、前記取得手段が取得したメッセージからそれぞれ生成したダイジェストと、前記受信手段が受信したメッセージから生成されたダイジェストとを結合するデジタル署名プログラム。
  6. 請求項5記載のデジタル署名プログラムにおいて、
    前記付加情報生成手段は、前記各メッセージ識別情報を、前記署名検証側コンピュータの公開鍵で暗号化した後に前記他のメッセージに関する情報として付加情報に含め、
    前記署名検証側コンピュータを更に、前記受信手段が受信したメッセージに付加された付加情報に含まれる暗号化されたメッセージ識別情報を、前記署名検証側コンピュータの公開鍵に対応した秘密鍵で復号することで前記他のメッセージのメッセージ識別情報を抽出する抽出手段として機能させ、
    前記取得手段は、前記抽出手段により抽出されたメッセージ識別情報それぞれに対応するメッセージを取得するデジタル署名プログラム。
  7. 請求項6記載のデジタル署名プログラムにおいて、
    前記署名検証側コンピュータを更に、
    乱数を生成する乱数生成手段、
    前記署名生成側コンピュータへ送信するメッセージに、前記乱数生成手段が生成した乱数を付加するメッセージ送信手段、
    前記署名生成側コンピュータへ送信するメッセージのメッセージ識別情報に、当該付加された乱数を対応付けして保存する乱数情報記憶手段、
    として機能させ、
    前記署名生成側コンピュータを更に、前記署名検証側コンピュータから送られてきたメッセージを受信する署名生成側受信手段として機能させ、
    前記付加情報生成手段は、前記他のメッセージの各メッセージ識別情報に、前記署名検証側コンピュータから当該被付加メッセージに付加されて送られてきた乱数を結合させ、その乱数が結合された各メッセージ識別情報を、前記署名検証側コンピュータの公開鍵で暗号化した後に前記他のメッセージに関する情報として付加情報に含め、
    前記抽出手段は、前記受信手段が受信したメッセージに付加された付加情報に含まれる暗号化されたメッセージ識別情報及び乱数を、前記署名検証側コンピュータの公開鍵に対応した秘密鍵で復号し、前記受信手段が受信したメッセージのメッセージ識別情報に対応付けされた乱数を前記乱数記憶手段から取り出し、その取り出した乱数に基づいて、復号したメッセージ識別情報から乱数を分離することでメッセージ識別情報を抽出するデジタル署名プログラム。
  8. デジタル署名を利用してメッセージに付加する署名を生成する署名生成用コンピュータにおいて、
    複数のメッセージそれぞれからダイジェストを生成する署名生成側ダイジェスト生成手段と、
    各メッセージのダイジェストに対して一括して行う単一の署名を一括署名として生成する一括署名生成手段と、
    一括署名が生成されたメッセージのうち1つの被付加メッセージに対して、当該一括署名と、当該被付加メッセージの署名検証に用いる当該被付加メッセージ以外の他のメッセージに関する情報とを含む付加情報を生成する付加情報生成手段と、
    被付加メッセージに当該付加情報を付加して送信する送信手段と、
    を有することを特徴とする署名生成用コンピュータ。
  9. デジタル署名を利用してメッセージに付加された署名の検証を行う署名検証用コンピュータにおいて、
    署名検証対象のメッセージであって、当該メッセージを含む複数のメッセージそれぞれから生成されたダイジェストに対して一括して行われた一括署名と、署名検証対象のメッセージと共に一括署名が生成され当該メッセージの署名検証に用いる他のメッセージに関する情報とを含む付加情報が付加されたメッセージを受信する受信手段と、
    前記受信手段が受信したメッセージに付加された付加情報に含まれる一括署名を復号することによってダイジェストを生成する署名復号手段と、
    前記受信手段が受信したメッセージに付加された付加情報に含まれる他のメッセージに関する情報に基づき取得した当該他のメッセージのダイジェストと、前記受信手段が受信したメッセージから生成したダイジェストとを結合する署名検証側ダイジェスト生成手段と、
    前記署名検証側ダイジェスト生成手段が結合により生成したダイジェストと、前記一括署名復号手段が生成したダイジェストとを比較することによって一括署名の検証を行う署名検証手段と、
    を有することを特徴とする署名検証用コンピュータ。
  10. 請求項8記載の署名生成用コンピュータと、請求項9記載の署名検証用コンピュータとを有するデジタル署名システム。
  11. デジタル署名を利用してメッセージに付加する署名を生成する署名生成用コンピュータにより実施され、
    複数のメッセージそれぞれからダイジェストを生成する署名生成側ダイジェスト生成ステップと、
    各メッセージのダイジェストに対して一括して行う単一の署名を一括署名として生成する一括署名生成ステップと、
    一括署名が生成されたメッセージのうち1つの被付加メッセージに対して、当該一括署名と、当該被付加メッセージの署名検証に用いる当該被付加メッセージ以外の他のメッセージに関する情報とを含む付加情報を生成する付加情報生成ステップと、
    被付加メッセージに当該付加情報を付加して送信する送信ステップと、
    を含むことを特徴とするデジタル署名方法。
  12. デジタル署名を利用してメッセージに付加された署名の検証を行う署名検証用コンピュータにより実施され、
    署名検証対象のメッセージであって、当該メッセージを含む複数のメッセージそれぞれから生成されたダイジェストに対して一括して行われた一括署名と、署名検証対象のメッセージと共に一括署名が生成され当該メッセージの署名検証に用いる他のメッセージに関する情報とを含む付加情報が付加されたメッセージを受信する受信ステップと、
    前記受信ステップが受信したメッセージに付加された付加情報に含まれる一括署名を復号することによってダイジェストを生成する署名復号ステップと、
    前記受信ステップが受信したメッセージに付加された付加情報に含まれる他のメッセージに関する情報に基づき取得した当該他のメッセージのダイジェストと、前記受信ステップが受信したメッセージから生成したダイジェストとを結合する署名検証側ダイジェスト生成ステップと、
    前記ダイジェスト生成ステップが結合により生成したダイジェストと、前記一括署名復号ステップが生成したダイジェストとを比較することによって一括署名の検証を行う署名検証ステップと、
    を含むことを特徴とする署名検証方法。
JP2005204972A 2005-07-13 2005-07-13 デジタル署名プログラム及びデジタル署名システム Expired - Fee Related JP4788212B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005204972A JP4788212B2 (ja) 2005-07-13 2005-07-13 デジタル署名プログラム及びデジタル署名システム
US11/343,999 US7840815B2 (en) 2005-07-13 2006-01-31 Digital signature computer, system, method, and storage medium storing program for collectively affixing signature to plurality of messages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005204972A JP4788212B2 (ja) 2005-07-13 2005-07-13 デジタル署名プログラム及びデジタル署名システム

Publications (2)

Publication Number Publication Date
JP2007028014A true JP2007028014A (ja) 2007-02-01
JP4788212B2 JP4788212B2 (ja) 2011-10-05

Family

ID=37662969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005204972A Expired - Fee Related JP4788212B2 (ja) 2005-07-13 2005-07-13 デジタル署名プログラム及びデジタル署名システム

Country Status (2)

Country Link
US (1) US7840815B2 (ja)
JP (1) JP4788212B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2086163A2 (en) 2008-01-31 2009-08-05 Hitachi Kokusai Electric Inc. Signature device, verification device, program, signature method, verification method, and system
JP2010134048A (ja) * 2008-12-02 2010-06-17 Nippon Telegr & Teleph Corp <Ntt> 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
JP2012060621A (ja) * 2010-09-13 2012-03-22 Kddi Corp 署名生成装置、検証装置、署名生成方法及び署名生成プログラム
JP2017513129A (ja) * 2014-03-26 2017-05-25 グーグル インコーポレイテッド ウェブページへの拡張機能変更を管理するシステム
JP2019057827A (ja) * 2017-09-21 2019-04-11 富士ゼロックス株式会社 分散認証システムおよびプログラム
JP2019176470A (ja) * 2018-03-26 2019-10-10 三菱電機インフォメーションシステムズ株式会社 個別署名システム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5340029B2 (ja) * 2008-06-27 2013-11-13 キヤノン株式会社 情報処理装置及びその制御方法、検証装置及びその制御方法
US20110289318A1 (en) * 2008-08-28 2011-11-24 Jingsong Zhang System and Method for Online Digital Signature and Verification
US8417954B1 (en) * 2009-02-11 2013-04-09 Hewlett-Packard Development Company, L.P. Installation image including digital signature
US8595479B2 (en) * 2009-02-25 2013-11-26 Cisco Technology, Inc. Aggregation of cryptography engines
JP4802274B2 (ja) 2009-10-30 2011-10-26 インターナショナル・ビジネス・マシーンズ・コーポレーション メッセージ送信および受信方法
KR20130024996A (ko) * 2011-08-24 2013-03-11 한국전자통신연구원 멀티캐스트 환경에서 싱글 버퍼 해시를 이용한 소스 인증 방법 및 장치
EP2924604B1 (en) * 2014-03-28 2019-08-28 Indorse Services Electronic biometric (dynamic) signature references enrollment method
KR101772554B1 (ko) 2016-02-02 2017-08-30 주식회사 코인플러그 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버
US11636478B2 (en) * 2017-07-27 2023-04-25 Nanyang Technological University Method of performing authentication for a transaction and a system thereof
CN111937023B (zh) * 2018-03-29 2024-01-05 维萨国际服务协会 安全认证系统和方法
CA3058236C (en) 2019-03-27 2020-08-25 Alibaba Group Holding Limited Retrieving public data for blockchain networks using highly available trusted execution environments
CN110832519B (zh) * 2019-03-27 2024-03-19 创新先进技术有限公司 提高区块链网络与外部数据源之间的通信的完整性
EP3910907B1 (en) 2019-03-29 2023-08-02 Advanced New Technologies Co., Ltd. Retrieving access data for blockchain networks using highly available trusted execution environments

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000286836A (ja) * 1999-03-30 2000-10-13 Fujitsu Ltd 認証装置および記録媒体
JP2003338815A (ja) * 2002-05-21 2003-11-28 Nec Corp 電子署名システムおよび電子署名方法
JP2004320398A (ja) * 2003-04-16 2004-11-11 Hitachi Ltd 電子商取引方法およびシステム
JP2005027059A (ja) * 2003-07-02 2005-01-27 Nagoya Industrial Science Research Inst 電子署名方法、電子署名処理プログラム及び記憶媒体
JP2005051734A (ja) * 2003-07-15 2005-02-24 Hitachi Ltd 電子文書の真正性保証方法および電子文書の公開システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825880A (en) * 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
KR0144086B1 (ko) * 1994-03-31 1998-08-17 조백제 인증교환과 전자서명 방법
US5748738A (en) * 1995-01-17 1998-05-05 Document Authentication Systems, Inc. System and method for electronic transmission, storage and retrieval of authenticated documents
JP3540511B2 (ja) * 1996-06-18 2004-07-07 株式会社東芝 電子署名検証装置
GB2327831B (en) * 1997-07-23 2002-10-09 Chantilley Corp Ltd Document or message security arrangements
US6963971B1 (en) * 1999-12-18 2005-11-08 George Bush Method for authenticating electronic documents
NZ513862A (en) * 2000-01-21 2001-09-28 Sony Corp Data authentication system
JP2001209308A (ja) 2000-01-24 2001-08-03 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 一括署名方法
US7194618B1 (en) * 2001-03-05 2007-03-20 Suominen Edwin A Encryption and authentication systems and methods
ATE293334T1 (de) * 2001-06-12 2005-04-15 Ibm France Verfahren zum authentifizieren mehrerer mit einem textdokument verbundener dateien

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000286836A (ja) * 1999-03-30 2000-10-13 Fujitsu Ltd 認証装置および記録媒体
JP2003338815A (ja) * 2002-05-21 2003-11-28 Nec Corp 電子署名システムおよび電子署名方法
JP2004320398A (ja) * 2003-04-16 2004-11-11 Hitachi Ltd 電子商取引方法およびシステム
JP2005027059A (ja) * 2003-07-02 2005-01-27 Nagoya Industrial Science Research Inst 電子署名方法、電子署名処理プログラム及び記憶媒体
JP2005051734A (ja) * 2003-07-15 2005-02-24 Hitachi Ltd 電子文書の真正性保証方法および電子文書の公開システム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2086163A2 (en) 2008-01-31 2009-08-05 Hitachi Kokusai Electric Inc. Signature device, verification device, program, signature method, verification method, and system
JP2010134048A (ja) * 2008-12-02 2010-06-17 Nippon Telegr & Teleph Corp <Ntt> 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
JP2012060621A (ja) * 2010-09-13 2012-03-22 Kddi Corp 署名生成装置、検証装置、署名生成方法及び署名生成プログラム
JP2017513129A (ja) * 2014-03-26 2017-05-25 グーグル インコーポレイテッド ウェブページへの拡張機能変更を管理するシステム
US9930095B2 (en) 2014-03-26 2018-03-27 Google Llc System for managing extension modifications to web pages
JP2019057827A (ja) * 2017-09-21 2019-04-11 富士ゼロックス株式会社 分散認証システムおよびプログラム
JP2019176470A (ja) * 2018-03-26 2019-10-10 三菱電機インフォメーションシステムズ株式会社 個別署名システム

Also Published As

Publication number Publication date
JP4788212B2 (ja) 2011-10-05
US20070016788A1 (en) 2007-01-18
US7840815B2 (en) 2010-11-23

Similar Documents

Publication Publication Date Title
JP4788212B2 (ja) デジタル署名プログラム及びデジタル署名システム
US10848315B2 (en) Contract agreement method, agreement verification method, contract agreement system, agreement verification device, contract agreement device, contract agreement program and agreement verification program
US8601590B2 (en) Content distribution system
US7620824B2 (en) Data communicating apparatus, data communicating method, and program
WO2017038507A1 (ja) 許諾情報管理システム、利用者端末、権利者端末、許諾情報管理方法、および、許諾情報管理プログラム
US8649522B2 (en) Electronic data communication system
JP4788213B2 (ja) タイムスタンプ検証プログラム及びタイムスタンプ検証システム
WO2018158102A1 (fr) Procede et dispositif pour memoriser et partager des donnees integres
US9246888B2 (en) Systems and methods for secure communication over an unsecured communication channel
JP3946192B2 (ja) データのオリジナリティ検証方法及びシステム
CN109981255B (zh) 密钥池的更新方法和系统
EP1775879A2 (en) Method and Apparatus for Securely Transmitting and Receiving Data in Peer-to-Peer Manner
US20070282749A1 (en) Content distribution system
US20090138708A1 (en) Cryptographic module distribution system, apparatus, and program
CN102427442A (zh) 组合请求相关元数据和元数据内容
CN109754226B (zh) 数据管理方法、设备和存储介质
JPWO2012011254A1 (ja) 情報処理装置、コントローラ、鍵発行局、無効化リスト有効性判定方法および鍵発行方法
CN110597836B (zh) 基于区块链网络的信息查询请求响应方法及装置
JP4614377B2 (ja) 暗号化データ管理システム及び方法、記憶媒体
JP2007060352A (ja) 文書管理システム、文書管理プログラム及び文書管理方法
JP4811840B2 (ja) ログ収集システムならびにログ収集システムに用いられるサーバおよびサーバを制御するプログラムを記録した媒体
JP2015064767A (ja) 文書保存管理システム及び文書保存管理方法
JP5223860B2 (ja) 時刻情報配信システム、時刻配信局、端末、時刻情報配信方法及びプログラム
US20220123942A1 (en) Method and system for information transmission
JP2008005396A (ja) データ送信方法およびシステム、プログラム、及び、記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110527

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: 20110621

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: 20110704

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

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4788212

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees