JP3858527B2 - データ生成装置およびデータ検証装置ならびにその方法 - Google Patents

データ生成装置およびデータ検証装置ならびにその方法 Download PDF

Info

Publication number
JP3858527B2
JP3858527B2 JP22638099A JP22638099A JP3858527B2 JP 3858527 B2 JP3858527 B2 JP 3858527B2 JP 22638099 A JP22638099 A JP 22638099A JP 22638099 A JP22638099 A JP 22638099A JP 3858527 B2 JP3858527 B2 JP 3858527B2
Authority
JP
Japan
Prior art keywords
data
key
unit
decryption
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP22638099A
Other languages
English (en)
Other versions
JP2001051596A (ja
Inventor
仁樹 京嶋
吉浩 申
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP22638099A priority Critical patent/JP3858527B2/ja
Priority to US09/588,049 priority patent/US6996723B1/en
Publication of JP2001051596A publication Critical patent/JP2001051596A/ja
Application granted granted Critical
Publication of JP3858527B2 publication Critical patent/JP3858527B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【発明の属する利用分野】
この発明はデータ作成およびデータ検証技術に関し、とくに、データの暗号化・復号を行ないながらデータの検証手続を行う際にデータのやり取りを行うパーティ間のデータの真正性または同一性を簡易に検証できるようにしたものである。
【0002】
【従来の技術】
メッセージの真正性(integrity)を保証するための暗号学的な方法としては、メッセージ本体に、真正性チェック(integrity check)用のデータを添付するものが知られている。添付されるデータはメッセージ認証コード(Message Authentication Code:MAC)あるいはシール(seal)と呼ばれる(以降ではMACに統一する)。
【0003】
MACを使用した真正性チェックの方法を以下に示す。
▲1▼メッセージの作者と受信者はともに、秘密の鍵kとシールを作成する際に使用するアルゴリズムH()を共有している。
▲2▼メッセージの作成者は、メッセージmからMAC、σ=H(m、k)を作成し、mにσを添付して受信者に送る。
▲3▼MACσが添付されたメッセージmを受け取った受信者は、H(m、k)がσと等しいかどうかを確認し、等しければメッセージの真正性が保たれていることがわかる。
【0004】
上記の方法は、たとえば、「Warwick Ford。 ComputerCommunication Security、Prentice Hall、1994、pp.75−80」に開示されている。
【0005】
【発明が解決しようとする課題】
従来の技術では、MACをメッセージに添付しなければならないために、送信されるデータ量がメッセージより増加してしまう。通常H()にはMD5(メッセージダイジェスト5)やSHA−1(セキュアーハッシュアルゴリズム)等の暗号学的ハッシュアルゴリズムが使用されるが、これによって作成されるMACは、MD5で16byte、SHA−1で20byteである。
【0006】
メッセージ自体が文書のように大きかったり、通信速度の大きい環境下で通信する場合には、この増加はさほど問題にはならないが、少量のデータを低速度の通信環境で送信する場合には、無視できなくなる。
【0007】
【課題を解決する手段】
ここで提案する発明は、メッセージが所定の特徴を持つデータを含んでいる場合に有効である。その特徴とは、そのデータが、受信者によってチェック可能な特定の条件を満たすことがわかっているというものである。
【0008】
たとえば、そのデータが、特定のパターンの繰り返しといった冗長度を持つ場合や、そのデータがデジタル署名の署名値のように、特定の検証式を満たすことがわかっている場合がこれにあたる。
【0009】
本発明のデータ生成装置は、所定の特徴を持つデータであって、その特徴を持つことが検証可能なデータである主検査対象データと、それ自身が特定の特徴を持つ必要がない(実際はなんらかの特徴を持つかもしれないが、別に持っていなくてもかまわない)副検査対象データを含むデータとを作成する。該データ生成装置は、データを暗号化する暗号部を持ち、主検査対象データを暗号部で暗号化する。暗号化のための鍵は、該データ生成装置が持つ暗号鍵生成部で、該データ生成装置内に保持されている副検査対象データから生成される。
【0010】
上記のデータ生成装置によって生成されたデータの真正性の検証を行うデータ検証装置は、該データ生成装置の暗号鍵生成部と同じ鍵生成アルゴリズムを持つ復号鍵生成部を持っており、さらに被検証値が所定の特徴を持つことを検証する検証部を持つ。
【0011】
このデータ検証装置は、データの検証の際に、副検査対象データから復号鍵を生成し、その鍵で暗号化された主検査対象データを復号し、復号結果が所定の特徴を持つことを検証する。
【0012】
データ作成装置が、副検査対象データの一部をデータ検証装置が所持していることを知っている場合には、データ作成装置が所持する副検査対象データのすべてをデータ検証装置に送付する必要はない。
【0013】
この検証に失敗した場合、以下のいずれかが起こっていることがデータ検証装置にわかる。
1.データ検証装置が持つ副検査対象データとデータ生成装置が持つ副検査対象データが異なっている。すなわち、副検査対象データの共有に失敗している。
2.たとえば、副検査対象データが検証者とデータ生成装置との間の送受信によって共有される場合には、送受信の過程でなんらかの差し替えが行われた可能性がある。
3.また、データ作成装置が、副検査対象データの一部をデータ検証装置が所持していることを想定して、それを送付しなかった場合には、データ作成装置が想定しているのと同じデータをデータ検証装置が所持していない可能性がある。
4.データ生成装置自体が所定の特徴を持つ主検査対象データをつくることができない。たとえば、所定の特徴を持つ主検査対象データを作れるのが、特定の情報を持つものに限られている場合、データ生成装置はその範疇に該当しない。
【0014】
この方式によれば、データ生成装置が生成するデータには、真正性保証のためのMACに当たる情報は、暗号化された主検査対象データに畳み込まれており、MACをデータに添付する必要性をなくしている。
【0015】
本発明で用いる暗号鍵生成部あるいは復号鍵生成部は、一方向性関数で構成するのが一般的である。
【0016】
MD5あるいはSHA−1等のアルゴリズムが公開された一方向性ハッシュ関数を使用した場合、本発明のデータ生成装置が作成したデータについては、故意に改竄行為がなされた可能性を除いて、データに問題がないことが保証できる。
【0017】
もし、非公開の一方向性関数を使用した場合には、データがその非公開の一方向性関数を所持しているデータ作成装置で生成されたものであるかどうかを検査できる。すなわち、非公開の一方向性関数を共有している者以外による故意の改竄を排除できる。ただし、検査ができるのは、同じ非公開の一方向性関数を共有しているデータ検証装置のみである。
【0018】
また、この構成をとった場合の付加的な利点として、非公開の一方向性関数を共有しているもの以外には、主検査対象データを秘密にできるということがある。
【0019】
データ作成装置とデータ検証装置が秘密のデータ(前鍵と呼ぶ)を共有し、暗号鍵生成や復号鍵生成の際にその前鍵を使用することでも、同様の効果を得ることができる。
【0020】
この方法でも、検査ができるのは、同じ前鍵を共有しているデータ検証装置のみであるが、データ作成装置からデータ検証装置に前鍵を送ることで、任意のデータ検証装置にデータの検査を行わせることが可能になる。当然、前鍵は暗号化されたデータ検証装置に送付されなければならないが、その暗号に公開鍵暗号をもちいれば、暗号鍵が公開されているどのデータ検証装置にもデータの検証を実行させることができる。
【0021】
本発明をさらに詳細に説明する。
【0022】
本発明によれば、データの真正性を低コストに検証するために、データ生成装置と、該生成装置で生成されたデータの真正性を検証するデータ検証装置とからなるデータ処理装置を構成する。そして、上記データ検証装置には、第1のデータを保持する基準値記憶部と、第2のデータを保持する第1の副検査対象データ記憶部と、上記第1の副検査対象データ記憶部に記憶されたデータから復号鍵を作成する復号鍵生成部と、上記データ生成装置から送信されたデータを上記復号鍵生成部が生成した復号鍵で復号する復号部と、上記復号部で復号されたデータが上記基準値記憶部に記憶されている上記第1のデータと所定の関係にあることを検査する検査部とを設ける。上記データ生成装置には、上記データ検証装置から送付された上記第1のデータから第3のデータを作成する主検査対象データ生成部と、第4のデータを保持する第2の副検査対象データ記憶部と、上記第2の副検査対象データ記憶部に記憶されたデータから暗号鍵を作成する暗号鍵生成部と、上記主検査対象データ生成部が作成した上記第3のデータを上記暗号鍵生成部が生成した暗号鍵で暗号化する暗号部とを設ける。上記データ検証装置が、上記基準値記憶部に記憶されている上記第1のデータを上記データ生成装置に送信し、上記データ生成装置が、上記主検査対象データ生成部で、上記データ検証装置から送信された上記第1のデータから上記第3のデータを生成し、さらに上記第3のデータを上記暗号部で暗号化して生成したデータを上記データ検証装置に送信し、上記データ検証装置が、上記データ生成装置から送信されたデータを上記復号部で復号し、復号結果が上記基準値記憶部に記憶されている上記第1のデータと所定の関係にあることを上記検査部で検査する。
【0023】
この構成においては、主検査対象データの検証を行いつつ、その検証手続に上記副検査対象データを畳み込んでいるので、副検査対象データの検証を別途行う必要がなく、また、MAC等を付加する必要もない。
【0024】
なお、データ生成装置が生成するデータは、暗号部による暗号化結果および第2の副検査対象データ記憶部の記憶内容の双方を同時に含むデータでもよい。あるいは、データ生成装置が、暗号部による暗号化結果を含むデータと、第2の副検査対象データ記憶部の記憶内容を含むデータとを、個別のタイミングで生成して、これらが別々のタイミングでデータ検証装置に送られるようにしてもよい。
【0025】
また、副検査対象データはどちらから送信するようにしてもよく、また、データ生成装置およびデータ検証装置の双方に第3者から送られたものでもよい。また、データのソースが一部はデータ生成装置、一部はデータ検証装置また一部はそれ以外であるような場合も適用できる。
【0026】
また、この構成において、上記データ生成装置が生成する上記第3のデータが、上記データ検証装置から送信された上記第1のデータを所定の復号鍵で復号したものであり、上記データ検証装置の上記検証部が、上記データ生成装置から送信されたデータの復号結果が、上記第1のデータに対する復号結果であることを検査するようにしてもよい。
【0027】
また、上記データ生成装置が生成する上記第3のデータが、上記データ検証装置から送信された上記第1のデータに所定の署名鍵で署名して生成した署名値であり、上記データ検証装置の上記検証部が、上記データ生成装置から送信されたデータの復号結果が、上記基準値に対する正しい署名値であることを検査するようにしてもよい。
【0028】
また、上記データ生成装置が、乱数値を保持する第1のコミットメント乱数記憶部と、コミットメント乱数からコミットメント値を生成するコミットメント生成部とを更に備え、上記データ検証装置が、上記データ生成装置から送信されたコミットメント値を記憶するコミットメント情報記憶部を更に備え、上記データ生成装置が、上記データ検証装置から上記第1のデータを受け取る前に、上記コミットメント生成部が生成したコミットメント値を上記データ検証装置に送信し、主検査対象生成部において被検証値である上記第3のデータを生成する際には、さらに、上記コミットメント乱数記憶部に記憶された乱数値も使用し、上記データ検証装置が、上記検査部での検査の際に、上記コミットメント情報記憶部に記憶された上記コミットメント値も使用するようにしてもよい。
【0029】
また、上記データ検証装置の上記復号鍵生成部が一方向性関数で構成されており、該一方向性関数に上記第1の副検査対象データ記憶部に記憶されたデータを入力して得られた結果が上記復号鍵であり、上記データ生成装置の上記暗号鍵生成部が上記データ検証装置の上記復号鍵生成部のものと同じ一方向性関数で構成されており、該一方向性関数に上記第2の副検査対象データ記憶部に記憶されたデータを入力して得られた結果が上記暗号鍵であるようにしてもよい。
【0030】
また、上記データ検証装置が、前鍵を保持する第1の前鍵保持部を更に備え、上記復号鍵生成部が上記復号鍵を生成する際に、上記第1の前鍵保持部に記憶された上記前鍵も使用し、上記データ作成装置が、前鍵を保持する第2の前鍵保持部を更に備え、上記暗号鍵生成部が上記暗号鍵を生成する際に、上記第2の前鍵保持部に記憶された上記前鍵も使用するようにしてもよい。
【0031】
また、上記データ生成装置が、上記前鍵を暗号化するための前鍵暗号鍵を保持する前鍵暗号鍵記憶部と、上記前鍵暗号鍵記憶部に記憶された暗号鍵で上記前鍵を暗号化する前鍵暗号部とを備え、上記データ検証装置が、暗号化された上記前鍵を復号する前鍵復号鍵を記憶する前鍵復号鍵記憶部と、上記前鍵復号鍵記憶部に記憶された上記前鍵復号鍵で暗号化された上記前鍵を復号する前鍵復号部とを備え、上記データ生成装置が、上記前鍵を決定して、その前鍵を上記前鍵暗号鍵記憶部に記憶された暗号鍵を使用して上記前鍵暗号部で暗号化し、その結果を上記データ検証装置に送信し、上記データ検証装置が、上記データ生成装置から送信された暗号化された上記前鍵を上記前鍵復号鍵記憶部に記憶された上記前鍵復号鍵を使用して上記前鍵復号部で復号し、その結果を上記前鍵記憶部に記憶するようにしてもよい。
【0032】
また、上記データ検証装置が、上記第1の副検査対象データ記憶部に保持されているデータを上記データ生成装置に送信し、上記データ生成装置は、上記データ検証装置から送信された該データを上記第2の副検査対象データ記憶部に記憶して、上記暗号鍵の生成に使用するようにしてもよい。
【0033】
また、上記データ生成装置が、上記第2の副検査対象データ記憶部に保持されているデータを上記データ検証装置に送信し、上記データ検証装置は、上記データ生成装置から送信された該データを上記第1の副検査対象データ記憶部に記憶して、上記復号鍵の生成に使用するようにしてもよい。
【0034】
また、上記暗号部で行われる暗号化が、上記暗号鍵を鍵とした共通鍵暗号の暗号処理であり、上記復号部で行われる復号が、上記復号鍵を鍵とした共通鍵暗号の復号処理であるようにしてもよい。
【0035】
また、上記暗号部で行われる暗号化が、所定の法数のもとでの第3のデータと上記暗号鍵の乗除算であり、上記復号部で行われる復号が、所定の法数のもとでの上記復号鍵と上記データ生成装置から送信されたデータの乗除算であるようにしてもよい。
【0036】
なお、本発明は、データ生成装置やデータ検証装置としても実現でき、またそれらの方法としても実現できる。また本発明の少なくとも一部をコンピュータプログラム製品として実現することもできる。
【0037】
【発明の実施の態様】
以下、この発明の実施例について説明する。
【0038】
[第1の実施例]
図1は、本発明を適用した第1の実施例の構成図である。
【0039】
本実施例は、データを生成するデータ生成器100と、データ生成器100で生成されたデータの正当性を検証するデータ検証器200からなるシステムである。データ生成器100とデータ検証器200の間ではデータの送受信が行われる。送受信はインターネット経由、イントラネット経由、電話回線経由、同一計算機内でのプロセス間通信等、種々の方法が可能である。 基本的な機能は、データ検証器200が送付したデータに対してデータ生成器100が署名値を計算し、データ検証器200に送り返すものである。
【0040】
また、このデータ送受信の過程で、データ検証器200からデータ生成器100への情報の送付、およびその逆方向の情報の送付も行うことができる。具体的には、署名を依頼した日時情報をデータ検証器200からデータ生成器100に送付することができるし、署名を生成したデータ生成器100の識別子をデータ生成器100からデータ検証器200に送ることができる。
【0041】
この過程で、データ検証器200は、自分が送付した情報が改ざんされることなくデータ生成器100に届いたこと、情報を送付してきたデータ生成器100が署名を作成したデータ生成器100と同一であり、そのデータに改ざんが施されていないことを確認できる。
【0042】
データ生成器100が含むモジュールの役割について以下に記す。
[受信部101]:データ検証器200から送付されたデータを受け取り、通信用フォーマットからデータ生成器100内部のフォーマットに変換した後、受信したデータをデータ生成器100内のほかのモジュールに振り分ける。
[送信部102]:データ生成器100の各モジュールから受け取ったデータを通信に適したフォーマットに変換しデータ検証器200に送付する。
[署名生成部103]:受信部101経由でデータ検証器200から送付された被署名値(署名の対象となるデータ)に対する署名値を作成するモジュールである。本実施例でデータ生成器100が作成する署名は、データ検証器200から送信された被署名値にSHA−1を適用した結果にRSA(Rivest−Shamir−Adleman)署名を施したものである。署名生成部103は、SHA−1のハッシュを実行するプログラムと、RSAの署名鍵を内蔵している。[暗号部104]:署名生成部103で生成された署名値を暗号化するモジュールである。このモジュールで行う暗号化は、データ検証部200の暗号文復号部204が復号に使用するのと同じRSA法数のもとでの、鍵生成部105で生成される鍵と署名生成部103が生成した署名値との剰余演算である。
[鍵生成部105]:暗号部104で使用される暗号鍵を生成するモジュールである。このモジュールはSHA−1等のハッシュ関数で構成されている。後述する前鍵記憶部106に記憶されている前鍵と、鍵生成用データ記憶部109に記憶されているデータに、このハッシュ関数を適用した結果が鍵となる。
[前鍵生成部106]:鍵生成部105での鍵の生成に使用される前鍵を生成するモジュールである。生成する前鍵を攻撃者に予測されないよう、乱数生成器等を使って前鍵を生成する。
【0043】
前鍵は、データ検証器200に送られ、データ生成器100とデータ検証器200の間で共有される。共有されている間は、データ検証器200に前鍵を送る必要はない。いつ共有をやめて、新しい前鍵をデータ検証器200に送るかは前鍵生成部106が決定する。そのため前鍵生成部106は、時計を内蔵しており、以前前鍵を送付してから一定時間が過ぎると、新たな前鍵を生成する。
[前鍵暗号部107]:前鍵を暗号化し、その結果を送信部102に送るモジュールである。このモジュールでの暗号化はRSA暗号を用いる。このモジュールはRSA暗号を実施するプログラムと、暗号鍵を内蔵している。
[前鍵記憶部108]:前鍵生成部106が作成した前鍵を記憶するモジュールである。このモジュールが記憶している前鍵は、鍵生成部105が鍵を生成する際、および、前鍵暗号部107が前鍵を暗号化する際に参照される。
[鍵生成用データ記憶部109]:鍵生成部105での鍵の生成に使用されるデータを記憶しているモジュールである。具体的には、署名依頼日時の情報と、このデータ生成器100の識別子を記憶している。前者のデータは、データ検証器200から送信されるものである。後者のデータは、本データ生成器100に埋め込まれたものであり、送信部102を通して、データ検証器200に送信される。
【0044】
データ検証器200が含むモジュールの役割について以下に記す。
[送信部201]:データを通信に適したフォーマットに変換しデータ生成器100に送付する。
[受信部202]:データ生成器100から送付されたデータを受け取り、通信用フォーマットからデータ検証器200内部のフォーマットに変換した後、受信したデータをデータ検証器200内のほかのモジュールに振り分ける。
[被署名値記憶部203]:このモジュールにデータ生成器100に署名を依頼するデータが記憶されている。ここに記憶されているデータは、送信部201を通してデータ生成器100に送られる。また、署名検証部205が署名値を検証する際に参照される。
[復号部204]:データ生成器100から送信されたデータに含まれる暗号化された署名値を復号するモジュールである。ここで行われる復号は、署名検証部205での署名値の検証に使われるRSA法数のもとで、暗号化された署名値を鍵生成部206で生成される鍵で割る演算である。
[署名検証部205]:復号部204で復号した署名値の正当性を検証するモジュールである。このモジュールは、SHA−1を実行するプログラムと、データ生成器100の署名生成部103が所持する署名鍵に対応する検証鍵を内蔵している。被署名値記憶部203に記憶されているデータにSHA−1を適用した結果が署名値を検証鍵でべき乗剰余した結果と同一かどうかで、署名値の正当性を検証する。
[鍵生成部206]:復号部204が使用する復号鍵を作成するモジュールである。データ生成器100の鍵生成部105が持つのと同じハッシュ関数で構成されている。後述する前鍵記憶部207に記憶されている前鍵と、鍵生成用データ記憶部209に記憶されているデータに、このハッシュ関数を適用した結果が鍵となる。
[前鍵記憶部207]:前鍵復号部208が復号した前鍵を記憶するモジュールである。このモジュールが記憶している前鍵は、鍵生成部206が鍵を生成する際に参照される。
[前鍵復号部208]:前鍵は暗号化された状態でデータ生成器100から送信される。このモジュールは、暗号化された前鍵を復号する。このモジュールでの復号にはRSA復号を用いる。その復号鍵は、データ生成器100の前鍵暗号部107が保持する暗号鍵に対応する復号鍵であり、本モジュールはこの復号鍵を内蔵している。
[鍵生成用データ記憶部209]:鍵生成部206での鍵の生成に使用されるデータを記憶しているモジュールである。具体的には、署名依頼日時の情報と、署名を生成したデータ生成器100の識別子を記憶している。前者のデータは、本データ検証器200に付随したクロックから取り出される。後者のデータは、データ生成器100から署名値とともに送信される。
【0045】
本実施例の動作について説明する。
【0046】
本実施例は、大まかには、データ検証器200がデータ生成器100に被署名値を含むデータ(署名作成依頼と呼ぶ)を送付し、データ生成器100がデータ検証器200に署名値を含むデータ(署名データと呼ぶ)を返信し、データ検証器200で署名データの正当性を検査するというステップを踏む。
【0047】
データ検証器200が署名作成依頼を作成するときの動作を以下に示す。なお、この手順自体は簡潔なのでとくに図示しない。
[前提]:被署名データが被署名値記憶部203に記憶されている状態からスタートする。
[ステップ1]:データ検証器200が内蔵している時計から現在時刻情報を取り出し、それを署名依頼時刻として鍵生成用データ記憶部109に記憶する。
[ステップ2]:被署名値記憶部203に記憶されている被署名値と、鍵生成用データ記憶部209に記憶されている署名依頼時刻とから署名作成依頼を作成し、送信部201からデータ生成器100に送付する。
【0048】
署名作成依頼を受け取ったデータ生成器100の動作を以下に示すに示す。また、この動作の手順を記述したフローチャートを図2に示す。
[ステップS101]: 受信部101で受信した署名作成依頼から、署名依頼時刻を取り出し、鍵生成用データ記憶部109に記憶する。
[ステップS102]:受信部101で受信した署名作成依頼から、被署名値を取り出して署名生成部103に送付し、署名生成部103で、被署名値に対する署名値を作成する。
[ステップS103]:もし、新しい前鍵の生成が必要なら、前鍵生成部106で前鍵を作成し、前鍵記憶部108に記憶する。必要でなければ、ステップS105へ進む。
[ステップS104]:前鍵暗号部107で前鍵記憶部108に記憶されている前鍵を暗号化する。
[ステップS105]:鍵生成部105で、前鍵記憶部108に記憶されている前鍵と、鍵生成用データ記憶部109に記憶されている署名依頼日時と本データ生成器100の識別子から、鍵を生成する。
[ステップS106]:署名生成部103で生成された署名値を、鍵生成部105で生成された鍵を用い、暗号部104で暗号化する。
[ステップS107]:暗号部104で暗号化された署名値と、もしあれば前鍵暗号部107で暗号化された前鍵と、鍵生成用データ記憶部109に記憶されている本データ生成器100の識別子とから署名データを作成し、送信部102からデータ検証器200に送付する。
【0049】
署名データを受け取ったデータ検証器200の動作を以下に示す。また、この動作の手順を記述したフローチャートを図3に示す。
【0050】
[ステップS111]:受信部202で受信した署名データから、署名を生成したデータ生成器100の識別子を取り出し、鍵生成用データ記憶部209に記憶する。
[ステップS112]:署名データに暗号化された前鍵が含まれていれば、それを取り出し、前鍵復号部208で復号し、その結果を前鍵記憶部207に記憶する。もし、暗号化された前鍵が含まれていなければ、何もせずステップS113へ進む。
[ステップS113]:鍵生成部206で、前鍵記憶部207に記憶されている前鍵と、鍵生成用データ記憶部209に記憶されている署名依頼日時とデータ生成器100の識別子から、鍵を生成する。
[ステップS114]:署名データから暗号化された署名値を取り出し、鍵生成部206で生成された鍵を使用して、復号部204で復号する。
[ステップS115]:復号部204での復号の結果が、被署名値記憶部203に記憶されている被署名値の正しい署名であるかどうかを署名検証部205で検査する。
【0051】
データ検証器200が、ステップS115の検査で、正しい署名値であることが確認できた場合、データ検証器200にとっては、以下のことが保証される。
【0052】
1.データ生成器100が作成した署名値が、被署名値に対して正しい署名であること。
2.データ検証器200が送付した署名依頼日時が、差し替えられることなくデータ生成器100に届いたこと。
3.受け取ったデータ生成器100の識別子が、署名を生成したデータ生成器100と同一のものであること。
【0053】
[第2の実施例]
図4は、本発明を適用した第2の実施例の構成図である。
【0054】
本実施例は、第1の実施例と同様に、データを生成するデータ生成器100と、データ生成器100で生成されたデータの正当性を検証するデータ検証器200からなるシステムである。データ生成器100とデータ検証器200の間ではデータの送受信が行われる。送受信はインターネット経由、イントラネット経由、電話回線経由、同一計算機内でのプロセス間通信等、種々の方法が可能である。
【0055】
基本的な機能は、データ検証器200が送付した暗号文をデータ生成器100が復号し、その結果をデータ検証器200に送り返すものである。
【0056】
また、このデータ送受信の過程で、データ検証器200からデータ生成器100への情報の送付、およびその逆方向の情報の送付も行うことができる。具体的には、復号を依頼した日時情報をデータ検証器200からデータ生成器100に送付することができるし、復号を実行したデータ生成器100の識別子をデータ生成器100からデータ検証器200に送ることができる。
【0057】
この過程で、データ検証器200は、自分が送付した情報が改ざんされることなくデータ生成器100に届いたこと、情報を送付してきたデータ生成器100が復号を行ったデータ生成器100と同一であり、そのデータに改ざんが施されていないことを確認できる。
【0058】
データ生成器100が含むモジュールの役割について以下に記す。
[受信部101]:データ検証器200から送付されたデータを受け取り、通信用フォーマットからデータ生成器100内部のフォーマットに変換した後、受信したデータをデータ生成器100内のほかのモジュールに振り分ける。
[送信部102]:データ生成器100の各モジュールから受け取ったデータを通信に適したフォーマットに変換しデータ検証器200に送付する。
[暗号文復号部110]:受信部101経由でデータ検証器200から送付された暗号文を復号するモジュールである。本実施例でデータ生成器100が採用する復号アルゴリズムはRSAである。このモジュールは、RSAの復号鍵を内蔵している。
[暗号部104]:暗号文復号部110で生成された復号結果を暗号化するモジュールである。このモジュールで行われる暗号はDES−CBC(Data Encryption Standard−Cipher Block Chaining mode)である。このモジュールはDES−CBCを実行できるプログラムを内蔵している。
[鍵生成部105]:暗号部104で使用される暗号鍵を生成するモジュールである。ここで生成される暗号鍵は、暗号部104で使用されるDES−CBCの初期ベクタ64bitと暗号鍵56bitのあわせて120bitのデータである。このデータは、後述する前鍵記憶部108に記憶されている前鍵と、鍵生成用データ記憶部109に記憶されているデータに120bitのハッシュ値を出力する一方向性関数を施した結果である。したがって、このモジュールは120bitのハッシュ値を出力する一方向性関数を実行するプログラムを内蔵している。
[前鍵生成部106]:鍵生成部105での鍵の生成に使用される前鍵を生成するモジュールである。生成する前鍵を攻撃者に予測されないよう、乱数生成器等を使って前鍵を生成する。
【0059】
前鍵は、データ検証器200に送られ、データ生成器100とデータ検証器200の間で共有される。共有されている間は、データ検証器200に前鍵を送る必要はない。いつ共有をやめて、新しい前鍵をデータ検証器200に送るかは前鍵生成部106が決定する。そのため前鍵生成部106は、時計を内蔵しており、以前前鍵を送付してから一定時間が過ぎると、新たな前鍵を生成する。
[前鍵暗号部107]:前鍵を暗号化し、その結果を送信部102に送るモジュールである。このモジュールでの暗号化はRSA暗号を用いる。このモジュールはRSA暗号を実施するプログラムと、暗号鍵を内蔵している。
[前鍵記憶部108]:前鍵生成部106が作成した前鍵を記憶するモジュールである。このモジュールが記憶している前鍵は、鍵生成部105が鍵を生成する際、および、前鍵暗号部107が前鍵を暗号化する際に参照される。
[鍵生成用データ記憶部109]:鍵生成部105での鍵の生成に使用されるデータを記憶しているモジュールである。具体的には、署名依頼日時の情報と、このデータ生成器100の識別子を記憶している。前者のデータは、データ検証器200から送信されるものである。後者のデータは、本データ生成器100に埋め込まれたものであり、送信部102を通して、データ検証器200に送信される。
【0060】
データ検証器200が含むモジュールの役割について以下に記す。
[送信部201]:データを通信に適したフォーマットに変換しデータ生成器100に送付する。
[受信部202]:データ生成器100から送付されたデータを受け取り、通信用フォーマットからデータ検証器200内部のフォーマットに変換した後、受信したデータをデータ検証器200内のほかのモジュールに振り分ける。
[暗号文記憶部210]:このモジュールにデータ生成器100に復号を依頼する暗号文が記憶されている。ここに記憶されているデータは、送信部201を通してデータ生成器100に送られる。ここに蓄積されているデータは、特定のフォーマットを持つ平文をRSAで暗号化したものであり、その暗号鍵は、データ生成器100の暗号文復号部110が内蔵する復号鍵に対応するものである。
[復号部204]:データ生成器100から送信されたデータに含まれる暗号化されたデータを復号するモジュールである。ここで行われる復号は、DES−CBCであり、このモジュールはDES−CBCを実行するプログラムを内蔵している。
[復号結果検証部211]:復号部204で復号したデータが、データ生成器100に復号を依頼した暗号文の復号結果であることを検査するモジュールである。データが所定のフォーマットをしていれば、それを正当なものであると判定する。
[鍵生成部206]:復号部204が使用する復号鍵を作成するモジュールである。ここで生成される鍵は、復号部204で使用されるDES−CBCの初期ベクタ64bitと復号鍵56bitのあわせて120bitのデータである。このデータは、後述する前鍵記憶部207に記憶されている前鍵と、鍵生成用データ記憶部209に記憶されているデータに、データ生成器100の鍵生成部105が持つのと同じ120bitのハッシュ値を出力する一方向性関数を施した結果である。したがって、このモジュールは120bitのハッシュ値を出力するデータ生成器100の鍵生成部105が持つのと同じ一方向性関数を実行するプログラムを内蔵している。
[前鍵記憶部207]:前鍵復号部208が復号した前鍵を記憶するモジュールである。このモジュールが記憶している前鍵は、鍵生成部206が鍵を生成する際に参照される。
[前鍵復号部208]:前鍵は暗号化された状態でデータ生成器100から送信される。このモジュールは、暗号化された前鍵を復号する。このモジュールでの復号にはRSA復号を用いる。その復号鍵は、データ生成器100の前鍵暗号部107が保持する暗号鍵に対応する復号鍵であり、本モジュールはこの復号鍵を内蔵している。
[鍵生成用データ記憶部209]:鍵生成部206での鍵の生成に使用されるデータを記憶しているモジュールである。具体的には、署名依頼日時の情報と、署名を生成したデータ生成器100の識別子を記憶している。前者のデータは、本データ検証器200に付随したクロックから取り出される。後者のデータは、データ生成器100から暗号文とともに送信される。
【0061】
本実施例の動作について説明する。
【0062】
本実施例は、大まかには、データ検証器200がデータ生成器100に暗号文を含むデータ(復号依頼と呼ぶ)を送付し、データ生成器100がデータ検証器200に復号結果を含むデータ(復号データと呼ぶ)を返信し、データ検証器200で復号データの正当性を検査するというステップを踏む。
【0063】
データ検証器200が復号依頼を作成するときの動作を以下に示す。なお、復号依頼の手順自体は簡潔であるので図示しない。
[前提]:暗号文が暗号文記憶部210に記憶されている状態からスタートする。
[ステップ1]:データ検証器200が内蔵している時計から現在時刻情報を取り出し、それを復号依頼時刻として鍵生成用データ記憶部209に記憶する。
[ステップ2]:暗号文記憶部210に記憶されている暗号文と、鍵生成用データ記憶部209に記憶されている復号依頼時刻とから復号依頼を作成し、送信部201からデータ生成器100に送付する。
【0064】
復号依頼を受け取ったデータ生成器100の動作を以下に示すに示す。また、この動作の手順を記述したフローチャートを図5に示す。
【0065】
[ステップS121]:受信部101で受信した復号依頼から、復号依頼時刻を取り出し、鍵生成用データ記憶部109に記憶する。
[ステップS122]:受信部101で受信した復号依頼から、暗号文を取り出して暗号文復号部110に送付し、暗号文復号部110で、暗号文を復号する。[ステップS123]:もし、新しい前鍵の生成が必要なら、前鍵生成部106で前鍵を作成し、前鍵記憶部108に記憶する。必要でなければ、ステップS125へ進む。
[ステップS124]:前鍵暗号部107で前鍵記憶部108に記憶されている前鍵を暗号化する。
[ステップS125]:鍵生成部105で、前鍵記憶部108に記憶されている前鍵と、鍵生成用データ記憶部109に記憶されている復号依頼日時と本データ生成器100の識別子から、鍵を生成する。
[ステップS126]:暗号文復号部110での復号結果を、鍵生成部105で生成された鍵を用いて、暗号部104で暗号化する。
[ステップS127]:暗号部104で暗号化された復号結果と、もしあれば前鍵暗号部107で暗号化された前鍵と、鍵生成用データ記憶部109に記憶されている本データ生成器100の識別子とから復号データを作成し、送信部102からデータ検証器200に送付する。
【0066】
復号データを受け取ったデータ検証器200の動作を以下に示す。また、この動作の手順を記述したフローチャートを図6に示す。
【0067】
[ステップS131]:受信部202で受信した復号データから、復号を実行したデータ生成器100の識別子を取り出し、鍵生成用データ記憶部209に記憶する。
[ステップS132]:復号データに暗号化された前鍵が含まれていれば、それを取り出し、前鍵復号部208で復号し、その結果を前鍵記憶部207に記憶する。もし、暗号化された前鍵が含まれていなければ、何もせずステップS133へ進む。
[ステップS133]:鍵生成部206で、前鍵記憶部207に記憶されている前鍵と、鍵生成用データ記憶部209に記憶されている復号依頼日時とデータ生成器の識別子から、鍵を生成する。
[ステップS134]:復号データから暗号化された復号結果を取り出し、鍵生成部206で生成された鍵を使用して、復号部204で復号する。
[ステップS135]:復号部204での復号の結果が、所定のフォーマットのデータであるかどうかを復号結果検証部211で検査する。
【0068】
データ検証器200が、ステップS135の検査で、復号結果が所定のフォーマットを満たしていることが確認できた場合、データ検証器200にとっては、以下のことが保証される。
【0069】
1.データ生成器100が作成した復号結果が正しいこと。
2.データ検証器200が送付した復号依頼日時が、差し替えられることなくデータ生成器100に届いたこと。
3.受け取ったデータ生成器100の識別子が、復号を実行したデータ生成器100と同一のものであること。
【0070】
なお、本実施例における所定のフォーマットまたはパターンとはどのようなものでもよい。実際の文書のパターンをも利用できる。例えば、文書のうち規則性のある部分を主検査対象データとし、その他の部分を副検査対象データとする。図10に示すようなHTML(Hypertext Markup Language)文書においてはヘッダ部分を主検査対象データとし、ボディ部分を副検査対象データとして、主検査対象データのヘッダ部分の特徴を検査することにより、データ生成器およびデータ検証器のデータの同一性を検証できる。この場合、ヘッダ部分またはそれを含む部分を暗号化してデータ生成器に送り、その他の部分を、そのまま共有したいデータとして送り、あるいは送られることにより、効率のよいデータの共有化を保証できる。
【0071】
また、HTML文書の他、他のSGML(Standard Generalized Markup Language)文書、例えばXML(Extensible Markup Language)やそのスタイルシートにも適用できる。
【0072】
また、主検査対象データの特徴としては文字列自体を採用してもよい。すなわち、主検査対象データに含まれる所定の文字列があるかどうかを検証してもよい。
【0073】
[第3の実施例]
図7は、本発明を適用した第3の実施例の構成図である。
【0074】
本実施例は、データを生成するデータ生成器100と、データ生成器100で生成されたデータの正当性を検証するデータ検証器200からなるシステムである。データ生成器100とデータ検証器200の間ではデータの送受信が行われる。送受信はインターネット経由、イントラネット経由、電話回線経由、同一計算機内でのプロセス間通信等、種々の方法が可能である。
【0075】
基本的な機能は、データ検証器200がデータ生成器100を認証することであり、データ生成器100がコミットメントを作成してデータ検証器200に送付し、データ検証器200がチャレンジをデータ生成器100に送付し、チャレンジに対するレスポンスをデータ生成器100が計算し、データ検証器200に送り返すものである。
【0076】
また、このデータ送受信の過程で、データ検証器200からデータ生成器100への情報の送付、およびその逆方向の情報の送付も行うことができる。具体的には、認証を実行した日時情報をデータ検証器200からデータ生成器100に送付することができるし、レスポンスを生成したデータ生成器100の識別子をデータ生成器100からデータ検証器200に送ることができる。
【0077】
この過程で、データ検証器200は、自分が送付した情報が改ざんされることなくデータ生成器100に届いたこと、情報を送付してきたデータ生成器100が証明を行ったデータ生成器100と同一であり、そのデータに改ざんが施されていないことを確認できる。
【0078】
データ生成器100が含むモジュールの役割について以下に記す。
[受信部101]:データ検証器100から送付されたデータを受け取り、通信用フォーマットからデータ生成器100内部のフォーマットに変換した後、受信したデータをデータ生成器100内のほかのモジュールに振り分ける。
[送信部102]:データ生成器100の各モジュールから受け取ったデータを通信に適したフォーマットに変換しデータ検証器200に送付する。
[乱数生成部120]:コミットメントのもととなる乱数を生成するモジュールである。
[乱数記憶部121]:乱数生成部120で生成された乱数を記憶するモジュールである。
[コミットメント生成部122]:乱数記憶部121に記憶されている乱数をもとに、コミットメントを生成するモジュールである。
[レスポンス生成部123]:受信部101経由でデータ検証器200から送付されたチャレンジに対するレスポンスを作成するモジュールである。本実施例でデータ生成器はGuillou−Quisquater認証方式に基づいてレスポンスを生成する。レスポンス生成の際には、チャレンジだけでなく、乱数記憶部121に記憶されている乱数も使用される。
[暗号部104]:レスポンス生成部123で生成されたレスポンスを暗号化するモジュールである。このモジュールで行う暗号化は、Guillou−Quisquater認証で使用する法数のもとでの、鍵生成部105で生成される鍵とレスポンス生成部123が生成したレスポンスとの剰余演算である。
[鍵生成部105]:暗号部104で使用される暗号鍵を生成するモジュールである。このモジュールはSHA−1等のハッシュ関数で構成されている。後述する前鍵記憶部108に記憶されている前鍵と、鍵生成用データ記憶部109に記憶されているデータに、このハッシュ関数を適用した結果が鍵となる。
[前鍵生成部106]:鍵生成部105での鍵の生成に使用される前鍵を生成するモジュールである。生成する前鍵を攻撃者に予測されないよう、乱数生成器等を使って前鍵を生成する。
【0079】
前鍵は、データ検証器200に送られ、データ生成器100とデータ検証器200の間で共有される。共有されている間は、データ検証器200に前鍵を送る必要はない。いつ共有をやめて、新しい前鍵をデータ検証器200に送るかは前鍵生成部106が決定する。そのため前鍵生成部106は、時計を内蔵しており、以前前鍵を送付してから一定時間が過ぎると、新たな前鍵を生成する。
[前鍵暗号部107]:前鍵を暗号化し、その結果を送信部102に送るモジュールである。このモジュールでの暗号化はRSA暗号を用いる。このモジュールはRSA暗号を実施するプログラムと、暗号鍵を内蔵している。
[前鍵記憶部108]:前鍵生成部106が作成した前鍵を記憶するモジュールである。このモジュールが記憶している前鍵は、鍵生成部105が鍵を生成する際、および、前鍵暗号部107が前鍵を暗号化する際に参照される。
[鍵生成用データ記憶部109]:鍵生成部105での鍵の生成に使用されるデータを記憶しているモジュールである。具体的には、認証実行日時の情報と、このデータ生成器100の識別子を記憶している。前者のデータは、データ検証器200から送信されるものである。後者のデータは、本データ生成器100に埋め込まれたものであり、送信部102を通して、データ検証器200に送信される。
【0080】
データ検証器200が含むモジュールの役割について以下に記す。
[送信部201]:データを通信に適したフォーマットに変換しデータ生成器100に送付する。
[受信部202]:データ生成器100から送付されたデータを受け取り、通信用フォーマットからデータ検証器200内部のフォーマットに変換した後、受信したデータをデータ検証器200内のほかのモジュールに振り分ける。
[コミットメント記憶部220]:このモジュールにデータ生成器100から送られたコミットメントを記憶する。ここに記憶されているデータは、レスポンス検証部221がレスポンスを検証する際に参照される。
[チャレンジ記憶部222]:このモジュールにデータ生成器100にレスポンスを要求するチャレンジが記憶されている。ここに記憶されているデータは、送信部201を通してデータ生成器100に送られる。また、レスポンス検証部221がレスポンスを検証する際に参照される。
[復号部204]:データ生成器100から送信されたデータに含まれる暗号化されたレスポンスを復号するモジュールである。ここで行われる復号は、レスポンス検証部221でのレスポンスの検証に使われる法数のもとで、暗号化されたレスポンスを鍵生成部206で生成される鍵で割る演算である。
[レスポンス検証部221]:復号部204で復号したレスポンスの正当性を検証するモジュールである。このモジュールでは、コミットメント記憶部220に記憶されているコミットメント、チャレンジ記憶部222に記憶されているチャレンジに対して、復号部204で復号されたレスポンスが正当なものであるかどうかを検査する。
[鍵生成部206]:復号部204が使用する復号鍵を作成するモジュールである。データ生成器100の鍵生成部105が持つのと同じハッシュ関数で構成されている。後述する前鍵記憶部207に記憶されている前鍵と、鍵生成用データ記憶部209に記憶されているデータに、このハッシュ関数を適用した結果が鍵となる。
[前鍵記憶部207]:前鍵復号部208が復号した前鍵を記憶するモジュールである。このモジュールが記憶している前鍵は、鍵生成部206が鍵を生成する際に参照される。
[前鍵復号部208]:前鍵は暗号化された状態でデータ生成器100から送信される。このモジュールは、暗号化された前鍵を復号する。このモジュールでの復号にはRSA復号を用いる。その復号鍵は、データ生成器100の前鍵暗号部107が保持する暗号鍵に対応する復号鍵であり、本モジュールはこの復号鍵を内蔵している。
[鍵生成用データ記憶部209]:鍵生成部206での鍵の生成に使用されるデータを記憶しているモジュールである。具体的には、認証実行日時の情報と、署名を生成したデータ生成器100の識別子を記憶している。前者のデータは、本データ検証器200に付随したクロックから取り出される。後者のデータは、データ生成器100から証明データとともに送信される。
【0081】
本実施例の動作について説明する。
【0082】
本実施例は、大まかには、データ生成器100がコミットメントをデータ検証器200に送信し、データ検証器200がデータ生成器100にチャレンジを含むデータ(チャレンジデータと呼ぶ)を送付し、データ生成器100がデータ検証器200にレスポンスを含むデータ(レスポンスデータと呼ぶ)を返信し、データ検証器200でレスポンスデータの正当性を検査するというステップを踏む。
【0083】
データ生成器100がコミットメントを作成するときの動作を以下に示す。このコミットメント作成動作は簡潔なのでとくに図示することはしない。
[ステップ1]:乱数生成部120でコミットメント用の乱数を生成し、乱数記憶部121に記憶する。
[ステップ2]:乱数記憶部121に記憶されている乱数からコミットメント生成部122でコミットメントを作成する。
[ステップ3]:生成したコミットメントを送信部102からデータ検証器200に送付する。
【0084】
コミットメントを受け取ったデータ検証器200の動作を以下に示す。このときのデータ検証器200の動作も簡潔なのでとくに図示することはしない。
[ステップ1]:受信部201で受信したコミットメントをコミットメント記憶部220に記憶する。
[ステップ2]:チャンレンジを生成し、チャレンジ記憶部222にチャレンジを記憶する。
[ステップ3]:データ検証器200が内蔵している時計から現在時刻情報を取り出し、それを認証実行時刻として鍵生成用データ記憶部209に記憶する。
[ステップ4]:チャレンジ記憶部222に記憶されているチャレンジと、鍵生成用データ記憶部209に記憶されている認証実行時刻とからチャレンジデータを作成し、送信部201からデータ生成器100に送付する。
【0085】
チャレンジデータを受け取ったデータ生成器100の動作を以下に示すに示す。また、この動作の手順を記述したフローチャートを図8に示す。
[ステップS141]:受信部101で受信したチャレンジデータから、認証実行時刻を取り出し、鍵生成用データ記憶部109に記憶する。
[ステップS142]:受信部101で受信したチャレンジデータから、チャレンジを取り出してレスポンス生成部123に送付し、レスポンス生成部123で、チャレンジと乱数記憶部121に記憶されている乱数とからレスポンスを作成する。
[ステップS143]:もし、新しい前鍵の生成が必要なら、前鍵生成部で前鍵106を作成し、前鍵記憶部108に記憶する。必要でなければ、ステップS145へ進む。
[ステップS144]:前鍵暗号部107で前鍵記憶部108に記憶されている前鍵を暗号化する。
[ステップS145]:鍵生成部105で、前鍵記憶部108に記憶されている前鍵と、鍵生成用データ記憶部109に記憶されている認証実行日時と本データ生成器100の識別子から、鍵を生成する。
[ステップS146]:レスポンス生成部123で生成されたレスポンスを、鍵生成部105で生成された鍵を用いて、暗号部104で暗号化する。
[ステップS7]:暗号部104で暗号化されたレスポンスと、もしあれば前鍵暗号部107で暗号化された前鍵と、鍵生成用データ記憶部109に記憶されている本データ生成器100の識別子とからレスポンスデータを作成し、送信部102からデータ検証器200に送付する。
【0086】
レスポンスデータを受け取ったデータ検証器200の動作を以下に示す。また、この動作の手順を記述したフローチャートを図9に示す。
[ステップS151]:受信部202で受信したレスポンスデータから、レスポンスを生成したデータ生成器100の識別子を取り出し、鍵生成用データ記憶部209に記憶する。
[ステップS152]:レスポンスデータに暗号化された前鍵が含まれていれば、それを取り出し、前鍵復号部208で復号し、その結果を前鍵記憶部207に記憶する。もし、暗号化された前鍵が含まれていなければ、何もせずステップS153へ進む。
[ステップS153]:鍵生成部206で、前鍵記憶部207に記憶されている前鍵と、鍵生成用データ記憶部209に記憶されている認証実行日時とデータ生成器100の識別子から、鍵を生成する。
[ステップS154]:レスポンスデータから暗号化されたレスポンスを取り出し、鍵生成部206で生成された鍵を使用して、復号部204で復号する。
[ステップS155]:復号部204での復号の結果が、チャレンジ記憶部222に記憶されているチャレンジおよびコミットメント記憶部220に記憶されているコミットメントに照らして正しいものあるかどうかを検査する。
【0087】
データ検証器200が、ステップS155の検査で、正しいレスポンスあることが確認できた場合、データ検証器200にとっては、以下のことが保証される。
【0088】
1.データ生成器100が作成したレスポンスが、チャレンジおよびコミットメントに対して正しい署名であること。
2.データ検証器200が送付した認証実行日時が、差し替えられることなくデータ生成器100に届いたこと。
3.受け取ったデータ生成器100の識別子が、レスポンスを生成したデータ生成器100と同一のものであること。
【0089】
【発明の効果】
以上説明したようにこの発明によれば主検査対象データの検証手続に関連して副検査対象の真正性を検査することができ、その際、ハッシュ値等の冗長データを付加する必要がない。
【図面の簡単な説明】
【図1】 本発明の第1の実施例の構成を全体として示すブロック図である。
【図2】 上述第1の実施例のデータ生成処理を説明するフローチャートである。
【図3】 上述第1の実施例のデータ検証処理を説明するフローチャートである。
【図4】 本発明の第2の実施例の構成を全体として示すブロック図である。
【図5】 上述第2の実施例のデータ復号処理を説明するフローチャートである。
【図6】 上述第2の実施例のデータ検証処理を説明するフローチャートである。
【図7】 本発明の第3の実施例の構成を全体として示すブロック図である。
【図8】 上述第3の実施例のレスポンス生成処理を説明するフローチャートである。
【図9】 上述第3の実施例のレスポンス検証処理を説明するフローチャートである。
【図10】 上述第2の実施例の変形例を説明する図である。
【符号の説明】
100 データ生成装置
101 受信部
102 送信部
103 署名生成部
104 暗号部
105 鍵生成部
106 前鍵生成部
107 前鍵暗号部
108 前鍵記憶部
109 鍵生成用データ記憶部
110 暗号文復号部
120 乱数生成部
121 乱数記憶部
122 コミットメント生成部
123 レスポンス生成部
200 データ検証器
201 送信部
202 受信部
203 被署名値記憶部
204 復号部
205 署名検証部
206 鍵生成部
207 前鍵記憶部
208 前鍵復号部
209 鍵生成用データ記憶部
210 暗号文記憶部
211 復号結果検証部
220 コミットメント記憶部
221 レスポンス検証部
222 チャレンジ記憶部

Claims (27)

  1. データ検証装置に検証させるデータを発生して当該データ検証装置に送出するデータ生成装置において、
    第1のデータを保持する主検査対象データ記憶部と、
    第2のデータであって、上記データ検証装置から送られたデータ部分と当該データ生成装置が保持するデータ部分とを連結したものを保持する副検査対象データ記憶部と、
    上記副検査対象データ記憶部に記憶されたデータから暗号鍵を作成する暗号鍵生成部と、
    上記主検査対象データ記憶部に記憶されたデータを上記暗号鍵生成部が生成した暗号鍵で暗号化する暗号部とを備え、
    上記暗号部で暗号化された結果上記副検査対象データ記憶部に記憶されたデータのうち少なくとも当該データ生成装置が保持するデータ部分とを含むデータを作成して上記データ検証装置に送出することを特徴とするデータ生成装置。
  2. 前鍵を保持する前鍵保持部を更に備え、上記暗号鍵生成部が暗号鍵を生成する際に、上記前鍵保持部に記憶された前鍵も使用することを特徴とする請求項1記載のデータ生成装置。
  3. 上記主検査対象データ記憶部に記憶されるデータが、所定の暗号文を復号した結果であることを特徴とする請求項1記載のデータ生成装置。
  4. 上記主検査対象データ記憶部に記憶されるデータが、所定のデータの署名値であることを特徴とする請求項1記載のデータ生成装置。
  5. 上記暗号鍵生成部が一方向性関数で構成されており、該一方向性関数に上記副検査対象データ記憶部に記憶されたデータを入力して得られた結果が上記暗号鍵である請求項1記載のデータ生成装置。
  6. 上記前鍵を暗号化するための前鍵暗号鍵を保持する前鍵暗号鍵記憶部と、
    前鍵暗号鍵記憶部に記憶された鍵で前鍵を暗号化する前鍵暗号部とを備えることを特徴とする請求項2記載のデータ生成装置。
  7. 上記暗号部で行われる暗号化が、共通鍵暗号であることを特徴とする請求項1記載のデータ生成装置。
  8. 上記暗号部で行われる暗号化が、所定の法数のもとでの上記主検査対象データ記憶部に記憶されているデータと、上記暗号鍵生成部で生成された暗号鍵の乗除演算であることを特徴とする請求項1記載のデータ生成装置。
  9. データ生成装置から送出されるデータを受け取って検証するデータ検証装置において、
    第1のデータを保持する主検査対象データ記憶部と、
    第2のデータであって、上記データ生成装置が保持して上記データ生成装置から送出データの一部として送られたデータ部分と当該データ検証装置が保持するデータ部分とを連結したものを保持する副検査対象データ記憶部と、
    上記副検査対象データ記憶部に記憶されたデータから復号鍵を作成する復号鍵生成部と、
    上記主検査対象データ記憶部に記憶されたデータを上記復号鍵生成部が生成した復号鍵で復号する復号部と、
    上記復号部で復号されたデータが所定の特徴を持つかどうかを検査する検査部とを備え、
    上記データ生成装置に上記データ部分を送出することを特徴とするデータ検証装置。
  10. 前鍵を保持する前鍵保持部を更に備え、上記復号鍵生成部が復号鍵を生成する際に、上記前鍵保持部に記憶された前鍵も使用することを特徴とする請求項記載のデータ検証装置。
  11. 上記検査部が、上記復号部で復号されたデータが所定のデータを所定の復号鍵で復号した結果であることを検査することを特徴とする請求項第記載のデータ検証装置。
  12. 上記検査部が、上記復号部で復号されたデータが所定のデータを所定の署名鍵で署名した署名値であることを検査することを特徴とする請求項記載のデータ検証装置。
  13. 上記復号鍵生成部が一方向性関数で構成されており、該一方向性関数に上記副検査対象データ記憶部に記憶されたデータを入力して得られた結果が上記復号鍵である請求項記載のデータ検証装置。
  14. 暗号化された前鍵を記憶する前鍵記憶部と、
    暗号化された上記前鍵を復号する復号鍵を記憶する前鍵復号鍵記憶部と、
    上記前鍵復号鍵記憶部に記憶された上記復号鍵で上記前鍵記憶部に記憶された暗号化された前鍵を復号する前鍵復号部とをさらに備えることを特徴とする請求項記載のデータ検証装置。
  15. 上記復号部で行われる復号が、共通鍵暗号の復号であることを特徴とする請求項記載のデータ検証装置。
  16. 上記復号部で行われる復号が、所定の法数のもとでの暗号化された被検査値と復号鍵の乗除算であることを特徴とする請求項記載のデータ検証装置。
  17. データ生成装置と、該生成装置で生成されたデータの真正性を検証するデータ検証装置とからなるデータ処理装置であって、
    上記データ検証装置は
    当該データ検証装置が保持するデータを上記データ生成装置に送信する送信部と、
    第1のデータを保持する基準値記憶部と、
    第2のデータであって、上記データ生成装置が保持して上記データ生成装置から送出データの一部として送られたデータ部分と当該データ検証装置が保持するデータ部分とを連結したものを保持する第1の副検査対象データ記憶部と、
    上記第1の副検査対象データ記憶部に記憶されたデータから復号鍵を作成する復号鍵生成部と、
    上記データ生成装置から送信されたデータを上記復号鍵生成部が生成した復号鍵で復号する復号部と、
    上記復号部で復号されたデータが上記基準値記憶部に記憶されている上記第1のデータと所定の関係にあることを検査する検査部とからなり、
    上記データ生成装置は、
    上記データ検証装置から送付された上記第1のデータから第3のデータを作成する主検査対象データ生成部と、
    第4のデータであって、上記データ検証装置から送られたデータ部分と当該データ生成装置が保持するデータ部分とを連結したものを保持する第2の副検査対象データ記憶部と、
    上記第2の副検査対象データ記憶部に記憶されたデータから暗号鍵を作成する暗号鍵生成部と、
    上記主検査対象データ生成部が作成した上記第3のデータを上記暗号鍵生成部が生成した暗号鍵で暗号化する暗号部とからなり、
    上記データ検証装置が、上記基準値記憶部に記憶されている上記第1のデータを上記データ生成装置に送信し、
    上記データ生成装置が、上記主検査対象データ生成部で、上記データ検証装置から送信された上記第1のデータから上記第3のデータを生成し、さらに上記第3のデータを上記暗号部で暗号化して生成したデータを上記データ検証装置に送信し、
    上記データ検証装置が、上記データ生成装置から送信されたデータを上記復号部で復号し、復号結果が上記基準値記憶部に記憶されている上記第1のデータと所定の関係にあることを上記検査部で検査することを特徴とするデータ処理装置。
  18. 上記データ生成装置が生成する上記第3のデータが、上記データ検証装置から送信された上記第1のデータを所定の復号鍵で復号したものであり、上記データ検証装置の上記検証部が、上記データ生成装置から送信されたデータの復号結果が、上記第1のデータに対する復号結果であることを検査することを特徴とする請求項17記載のデータ処理装置。
  19. 上記データ生成装置が生成する上記第3のデータが、上記データ検証装置から送信された上記第1のデータに所定の署名鍵で署名して生成した署名値であり、上記データ検証装置の上記検証部が、上記データ生成装置から送信されたデータの復号結果が、上記基準値に対する正しい署名値であることを検査することを特徴とする請求項17記載のデータ処理装置。
  20. 上記データ生成装置が、乱数値を保持する第1のコミットメント乱数記憶部と、
    コミットメント乱数値からコミットメント値を生成するコミットメント生成部とを更に備え、
    上記データ検証装置が、上記データ生成装置から送信されたコミットメント値を記憶するコミットメント情報記憶部を更に備え、
    上記データ生成装置が、上記データ検証装置から上記第1のデータを受け取る前に、上記コミットメント生成部が生成したコミットメント値を上記データ検証装置に送信し、
    主検査対象生成部において被検証値である上記第3のデータを生成する際には、さらに、上記コミットメント乱数記憶部に記憶された乱数値も使用し、
    上記データ検証装置が、上記検査部での検査の際に、上記コミットメント情報記憶部に記憶された上記コミットメント値も使用することを特徴とする請求項17記載のデータ処理装置。
  21. 上記データ検証装置の上記復号鍵生成部が一方向性関数で構成されており、該一方向性関数に上記第1の副検査対象データ記憶部に記憶されたデータを入力して得られた結果が上記復号鍵であり、上記データ生成装置の上記暗号鍵生成部が上記データ検証装置の上記復号鍵生成部のものと同じ一方向性関数で構成されており、該一方向性関数に上記第2の副検査対象データ記憶部に記憶されたデータを入力して得られた結果が上記暗号鍵であることを特徴とする請求項17記載のデータ処理装置。
  22. 上記データ検証装置が、
    前鍵を保持する第1の前鍵保持部を更に備え、
    上記復号鍵生成部が上記復号鍵を生成する際に、上記第1の前鍵保持部に記憶された上記前鍵も使用し、
    上記データ生成装置が、
    前鍵を保持する第2の前鍵保持部を更に備え、
    上記暗号鍵生成部が上記暗号鍵を生成する際に、上記第2の前鍵保持部に記憶された上記前鍵も使用することを特徴とする請求項17記載のデータ処理装置。
  23. 上記データ生成装置が、
    上記前鍵を暗号化するための前鍵暗号鍵を保持する前鍵暗号鍵記憶部と、
    上記前鍵暗号鍵記憶部に記憶された暗号鍵で上記前鍵を暗号化する前鍵暗号部とを備え、
    上記データ検証装置が、
    暗号化された上記前鍵を復号する前鍵復号鍵を記憶する前鍵復号鍵記憶部と、
    上記前鍵復号鍵記憶部に記憶された上記前鍵復号鍵で暗号化された上記前鍵を復号する前鍵復号部とを備え、
    上記データ生成装置が、上記前鍵を決定して、その前鍵を上記前鍵暗号鍵記憶部に記憶された暗号鍵を使用して上記前鍵暗号部で暗号化し、その結果を上記データ検証装置に送信し、
    上記データ検証装置が、上記データ生成装置から送信された暗号化された上記前鍵を上記前鍵復号鍵記憶部に記憶された上記前鍵復号鍵を使用して上記前鍵復号部で復号し、その結果を上記前鍵記憶部に記憶することを特徴とする請求項22記載のデータ処理装置。
  24. 上記データ検証装置が、上記第1の副検査対象データ記憶部に保持されているデータを上記データ生成装置に送信し、
    上記データ生成装置は、上記データ検証装置から送信された該データを上記第2の副検査対象データ記憶部に記憶して、上記暗号鍵の生成に使用することを特徴とする請求項17記載のデータ処理装置。
  25. 上記データ生成装置が、上記第2の副検査対象データ記憶部に保持されているデータを上記データ検証装置に送信し、上記データ検証装置は、上記データ生成装置から送信された該データを上記第1の副検査対象データ記憶部に記憶して、上記復号鍵の生成に使用することを特徴とする請求項17記載のデータ処理装置。
  26. 上記暗号部で行われる暗号化が、上記暗号鍵を鍵とした共通鍵暗号の暗号処理であり、上記復号部で行われる復号が、上記復号鍵を鍵とした共通鍵暗号の復号処理であることを特徴とする請求項17記載のデータ処理装置。
  27. 上記暗号部で行われる暗号化が、所定の法数のもとでの第3のデータと上記暗号鍵の乗除算であり、上記復号部で行われる復号が、所定の法数のもとでの上記復号鍵と上記データ生成装置から送信されたデータの乗除算であることを特徴とする請求項17記載のデータ処理装置。
JP22638099A 1999-08-10 1999-08-10 データ生成装置およびデータ検証装置ならびにその方法 Expired - Fee Related JP3858527B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP22638099A JP3858527B2 (ja) 1999-08-10 1999-08-10 データ生成装置およびデータ検証装置ならびにその方法
US09/588,049 US6996723B1 (en) 1999-08-10 2000-06-06 Data generating apparatus and data verifying apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22638099A JP3858527B2 (ja) 1999-08-10 1999-08-10 データ生成装置およびデータ検証装置ならびにその方法

Publications (2)

Publication Number Publication Date
JP2001051596A JP2001051596A (ja) 2001-02-23
JP3858527B2 true JP3858527B2 (ja) 2006-12-13

Family

ID=16844224

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22638099A Expired - Fee Related JP3858527B2 (ja) 1999-08-10 1999-08-10 データ生成装置およびデータ検証装置ならびにその方法

Country Status (2)

Country Link
US (1) US6996723B1 (ja)
JP (1) JP3858527B2 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3823599B2 (ja) * 1999-04-22 2006-09-20 富士ゼロックス株式会社 流通情報管理装置および方法
WO2005103912A1 (en) * 2004-04-26 2005-11-03 Trek 2000 International Ltd. Portable data storage device with encryption system
US7328956B2 (en) * 2004-05-27 2008-02-12 Silverbrook Research Pty Ltd Printer comprising a printhead and at least two printer controllers connected to a common input of the printhead
US7549718B2 (en) * 2004-05-27 2009-06-23 Silverbrook Research Pty Ltd Printhead module having operation controllable on basis of thermal sensors
US8011747B2 (en) * 2004-05-27 2011-09-06 Silverbrook Research Pty Ltd Printer controller for controlling a printhead with horizontally grouped firing order
US7600843B2 (en) * 2004-05-27 2009-10-13 Silverbrook Research Pty Ltd Printer controller for controlling a printhead module based on thermal sensing
US7390071B2 (en) * 2004-05-27 2008-06-24 Silverbrook Research Pty Ltd Printer controller for supplying data to a printhead module having a dropped row
US7266661B2 (en) * 2004-05-27 2007-09-04 Silverbrook Research Pty Ltd Method of storing bit-pattern in plural devices
US7607757B2 (en) * 2004-05-27 2009-10-27 Silverbrook Research Pty Ltd Printer controller for supplying dot data to at least one printhead module having faulty nozzle
US7557941B2 (en) * 2004-05-27 2009-07-07 Silverbrook Research Pty Ltd Use of variant and base keys with three or more entities
US7448707B2 (en) * 2004-05-27 2008-11-11 Silverbrook Research Pty Ltd Method of expelling ink from nozzels in groups, starting at outside nozzels of each group
US7427117B2 (en) * 2004-05-27 2008-09-23 Silverbrook Research Pty Ltd Method of expelling ink from nozzles in groups, alternately, starting at outside nozzles of each group
US7377609B2 (en) * 2004-05-27 2008-05-27 Silverbrook Research Pty Ltd Printer controller for at least partially compensating for erroneous rotational displacement
US7517036B2 (en) * 2004-05-27 2009-04-14 Silverbrook Research Pty Ltd Printhead module capable of printing a maximum of n channels of print data
US7188928B2 (en) 2004-05-27 2007-03-13 Silverbrook Research Pty Ltd Printer comprising two uneven printhead modules and at least two printer controllers, one of which sends print data to both of the printhead modules
US7735944B2 (en) * 2004-05-27 2010-06-15 Silverbrook Research Pty Ltd Printer comprising two printhead modules and at least two printer controllers
US20070083491A1 (en) * 2004-05-27 2007-04-12 Silverbrook Research Pty Ltd Storage of key in non-volatile memory
US7290852B2 (en) * 2004-05-27 2007-11-06 Silverbrook Research Pty Ltd Printhead module having a dropped row
US7314261B2 (en) * 2004-05-27 2008-01-01 Silverbrook Research Pty Ltd Printhead module for expelling ink from nozzles in groups, alternately, starting at outside nozzles of each group
US7631190B2 (en) * 2004-05-27 2009-12-08 Silverbrook Research Pty Ltd Use of variant and base keys with two entities
US7243193B2 (en) * 2004-05-27 2007-07-10 Silverbrook Research Pty Ltd Storage of program code in arbitrary locations in memory
US7374266B2 (en) * 2004-05-27 2008-05-20 Silverbrook Research Pty Ltd Method for at least partially compensating for errors in ink dot placement due to erroneous rotational displacement
US7281777B2 (en) * 2004-05-27 2007-10-16 Silverbrook Research Pty Ltd Printhead module having a communication input for data and control
US20060294312A1 (en) * 2004-05-27 2006-12-28 Silverbrook Research Pty Ltd Generation sequences
US7484831B2 (en) * 2004-05-27 2009-02-03 Silverbrook Research Pty Ltd Printhead module having horizontally grouped firing order
US20060126836A1 (en) * 2004-12-10 2006-06-15 Hector Rivas System and method for dynamic generation of encryption keys
GB2443863B (en) * 2006-10-30 2011-05-11 Hewlett Packard Development Co Method and system for generating data transaction id
US7940543B2 (en) * 2008-03-19 2011-05-10 Nanya Technology Corp. Low power synchronous memory command address scheme
US8594333B2 (en) * 2008-09-05 2013-11-26 Vixs Systems, Inc Secure key access with one-time programmable memory and applications thereof
US10943030B2 (en) * 2008-12-15 2021-03-09 Ibailbonding.Com Securable independent electronic document
FR2949010A1 (fr) * 2009-08-05 2011-02-11 St Microelectronics Rousset Procede de contremesure pour proteger des donnees memorisees
JP5416544B2 (ja) * 2009-10-20 2014-02-12 日本放送協会 データ配信装置、データ受信装置、データ配信プログラム、及び、データ受信プログラム
US9413730B1 (en) * 2014-06-04 2016-08-09 Skyhigh Networks, Inc. Encryption in the cloud using enterprise managed keys
US20160071101A1 (en) * 2014-09-09 2016-03-10 Tyson York Winarski Selfie financial security transaction system
WO2017173561A1 (en) * 2016-04-05 2017-10-12 Nokia Solutions And Networks Oy Optimized security key refresh procedure for 5g mc
US10171444B1 (en) * 2017-06-12 2019-01-01 Ironclad Encryption Corporation Securitization of temporal digital communications via authentication and validation for wireless user and access devices
WO2018231697A1 (en) * 2017-06-12 2018-12-20 Daniel Maurice Lerner Securitization of temporal digital communications with authentication and validation of user and access devices
US10154015B1 (en) * 2017-06-12 2018-12-11 Ironclad Encryption Corporation Executable coded cipher keys
US10536445B1 (en) * 2017-06-12 2020-01-14 Daniel Maurice Lerner Discrete blockchain and blockchain communications
US10171435B1 (en) * 2017-06-12 2019-01-01 Ironclad Encryption Corporation Devices that utilize random tokens which direct dynamic random access
US10616192B2 (en) * 2017-06-12 2020-04-07 Daniel Maurice Lerner Devices that utilize random tokens which direct dynamic random access
US10645070B2 (en) * 2017-06-12 2020-05-05 Daniel Maurice Lerner Securitization of temporal digital communications via authentication and validation for wireless user and access devices
EP4091290A4 (en) * 2020-01-15 2023-10-11 Planetway Corporation DIGITAL SIGNATURE SYSTEM USING SCALABLE SERVERS
GB2604337A (en) * 2021-02-26 2022-09-07 Deep Secure Ltd Computer network apparatus

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276735A (en) * 1992-04-17 1994-01-04 Secure Computing Corporation Data enclave and trusted path system
US5999711A (en) * 1994-07-18 1999-12-07 Microsoft Corporation Method and system for providing certificates holding authentication and authorization information for users/machines
US5689565A (en) * 1995-06-29 1997-11-18 Microsoft Corporation Cryptography system and method for providing cryptographic services for a computer application
US6496928B1 (en) * 1998-01-07 2002-12-17 Microsoft Corporation System for transmitting subscription information and content to a mobile device

Also Published As

Publication number Publication date
US6996723B1 (en) 2006-02-07
JP2001051596A (ja) 2001-02-23

Similar Documents

Publication Publication Date Title
JP3858527B2 (ja) データ生成装置およびデータ検証装置ならびにその方法
CN109743171B (zh) 一种解决多方数字签名、时间戳及加密的密钥串联方法
US7974415B2 (en) System and method for updating keys used for public key cryptography
US7685429B2 (en) Signature-generation method, signature-verification method, public-key distribution method, and information-processing apparatus
EP1969762B1 (en) Certify and split system and method for replacing cryptographic keys
EP2291787B1 (en) Techniques for ensuring authentication and integrity of communications
CN107094108B (zh) 连接到数据总线的部件和在该部件中实现加密功能的方法
CN111131278B (zh) 数据处理方法及装置、计算机存储介质、电子设备
US6523115B1 (en) Encryption device, decryption device, encryption method, decryption method, cryptography system, computer-readable recording medium storing encryption program, and computer-readable recording medium storing decryption program which perform error diagnosis
US20240160792A1 (en) Cryptographic method for verifying data
WO2000049764A1 (en) Data authentication system employing encrypted integrity blocks
CN111769938B (zh) 一种区块链传感器的密钥管理系统、数据验证系统
CN114553416A (zh) 一种对应用程序接口做签名验签的数据加密处理方法
GB2381717A (en) system and method , for secure data transmission, which includes generating a hash key using a character string and a private key
CN114448641A (zh) 一种隐私加密方法、电子设备、存储介质以及芯片
CN111079178B (zh) 一种可信电子病历脱敏和回溯方法
CN114598533A (zh) 一种区块链侧链跨链身份可信认证及数据加密传输方法
US7437756B2 (en) Method for securely exchanging data
US7574607B1 (en) Secure pipeline processing
CN113242235A (zh) 一种对铁路信号安全通信协议rssp-i加密认证的系统及其方法
CN113872769B (zh) 基于puf的设备认证方法、装置、计算机设备及存储介质
CN115801341A (zh) 一种面向分布式可调节负荷互动的区块链可信认证方法
WO2010067797A1 (ja) 通信装置、サーバ装置及び通信プログラム
CN113572615B (zh) 分布式网络用户的身份验证方法、系统、设备及存储介质
US7035403B2 (en) Encryption method and apparatus with escrow guarantees

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060424

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060911

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110929

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120929

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120929

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130929

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees