JP2020195100A - 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム - Google Patents

公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム Download PDF

Info

Publication number
JP2020195100A
JP2020195100A JP2019100795A JP2019100795A JP2020195100A JP 2020195100 A JP2020195100 A JP 2020195100A JP 2019100795 A JP2019100795 A JP 2019100795A JP 2019100795 A JP2019100795 A JP 2019100795A JP 2020195100 A JP2020195100 A JP 2020195100A
Authority
JP
Japan
Prior art keywords
public key
key
random number
data
integer
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.)
Pending
Application number
JP2019100795A
Other languages
English (en)
Inventor
峰史 小宮山
Takafumi Komiyama
峰史 小宮山
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.)
BitFlyer Blockchain Inc
Original Assignee
BitFlyer Blockchain Inc
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 BitFlyer Blockchain Inc filed Critical BitFlyer Blockchain Inc
Priority to JP2019100795A priority Critical patent/JP2020195100A/ja
Priority to CN202080050983.3A priority patent/CN114128213B/zh
Priority to EP20812821.5A priority patent/EP3979554A4/en
Priority to US17/614,451 priority patent/US12010230B2/en
Priority to PCT/JP2020/021283 priority patent/WO2020241817A1/ja
Publication of JP2020195100A publication Critical patent/JP2020195100A/ja
Pending 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/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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】信頼できる第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて第2の秘密鍵及び第2の公開鍵により構成される第2の鍵ペアを生成する装置、方法及びプログラムを提供する。【解決手段】生成装置は、証明データを受領装置に提供するS301。証明データを受領した受領装置は、第2の公開鍵が第1の公開鍵の所有者により生成されたものであること、即ち第2の公開鍵が第1の公開鍵と親子関係にあることの証明を証明装置に求める証明要求を送信するS302。証明要求は、証明データを含む。証明装置は、証明要求に応じて、証明データの検証式を計算することによって、証明データを検証するS303。【選択図】図3

Description

本発明の一態様は、公開鍵の信頼性を証明するための装置、方法及びそのためのプログラムに関する。
インターネット上の経済活動が拡がりを見せる中で、そうした活動の主体を信頼性をもって識別することの必要性が高まっている。
インターネット上で送信されるデータの信頼性を保証するためには、電子証明書が用いられることが多い。電子証明書は、送信されるデータに対して電子署名を行うための秘密鍵に対応する公開鍵の所有者を認証するものであり、信頼できる認証局によって発行される。データの受信者は、電子証明書の正当性を確認するとともに公開鍵により電子署名を検証する。
今後、インターネット上で行われるやりとりに確実な信頼性が求められる場面は増加することが見込まれ、それに伴い、用途に応じたさまざまな形の電子認証に対する需要の増大が想定される。
しかしながら、現在の認証局を中心とした公開鍵暗号方式では、柔軟な対応が容易ではない。
本発明は、このような問題点に鑑みてなされたものであり、その第1の目的は、信頼できる第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて第2の秘密鍵及び第2の公開鍵により構成される第2の鍵ペアを生成する装置、方法及びそのためのプログラムを提供することにある。
また、本発明の第2の目的は、第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵の信頼性を証明するための装置、方法及びそのためのプログラムを提供することにある。
また、本発明の第3の目的は、第1の鍵ペアに関連づけて生成された第2の鍵ペアを用いた電子署名を実行又は検証するための装置、方法及びそのためのプログラムを提供することにある。
このような目的を達成するために、本発明の第1の態様は、第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて第2の秘密鍵及び第2の公開鍵により構成される第2の鍵ペアを生成する方法において、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵をa・g、第2の秘密鍵をax、第2の公開鍵をax・gとして、整数xを、第1の公開鍵a・g及びデータrを用いて整数を出力するハッシュ関数により決定するステップと、第1の秘密鍵a(aは整数)に前記xを乗じて第2の秘密鍵axを算出して記憶するステップと、前記第1の公開鍵a及び前記xに基づいて前記第2の公開鍵ax・gを算出して記憶するステップとを含むことを特徴とする。ここで、rは乱数若しくは疑似乱数又は乱数若しくは疑似乱数を含むデータである。
本発明の第2の態様は、第1の態様において、前記巡回群Gの位数は素数であることを特徴とする。
本発明の第3の態様は、第1又は第2の態様において、前記ハッシュ関数は、さらに文字列strを用いて整数を出力することを特徴とする。ここで、strは第2の公開鍵ax・gの属性を表すデータである。
本発明の第4の態様は、第3の態様において、前記strは、前記第2の公開鍵ax・gの有効期限を表すことを特徴とする。
本発明の第5の態様は、第3の態様において、前記データrは、前記乱数若しくは疑似乱数と前記文字列strとを含むことを特徴とする。
本発明の第6の態様は、第1から第5のいずれかの態様において、前記第2の公開鍵ax・gを前記第2の鍵ペアを生成した第1の装置以外の第2の装置に提供するステップをさらに含むことを特徴とする。
本発明の第7の態様は、第6の態様において、前記strは、前記第2の公開鍵ax・gの提供を受ける受領者のIDを表すことを特徴とする。
本発明の第8の態様は、第6の態様において、前記strは、前記第2の公開鍵ax・gの提供を受ける受領者の前記第1の公開鍵a・gの所有者に対する関係を表すことを特徴とする。
本発明の第9の態様は、コンピュータに、第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて第2の秘密鍵及び第2の公開鍵により構成される第2の鍵ペアを生成する方法を実行させるためのプログラムにおいて、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵をa・g、第2の秘密鍵をax、第2の公開鍵をax・gとして、前記方法は、整数xを、第1の公開鍵a・g及びデータrを用いて整数を出力するハッシュ関数により決定するステップと、第1の秘密鍵a(aは整数)に前記xを乗じて第2の秘密鍵axを算出して記憶するステップと、前記第1の公開鍵a及び前記xに基づいて前記第2の公開鍵ax・gを算出して記憶するステップとを含むことを特徴とする。ここで、rは乱数若しくは疑似乱数又は乱数若しくは疑似乱数を含むデータである。
本発明の第10の態様は、第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて第2の秘密鍵及び第2の公開鍵により構成される第2の鍵ペアを生成する装置において、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵をa・g、第2の秘密鍵をax、第2の公開鍵をax・gとして、整数xを、第1の公開鍵a・g及びデータrを用いて整数を出力するハッシュ関数により決定し、第1の秘密鍵a(aは整数)に前記xを乗じて第2の秘密鍵axを算出して記憶し、前記第1の公開鍵a及び前記xに基づいて前記第2の公開鍵ax・gを算出して記憶することを特徴とする。ここで、rは乱数若しくは疑似乱数又は乱数若しくは疑似乱数を含むデータである。
本発明の第11の態様は、第1の秘密鍵及び第1の公開鍵PK1により構成される第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵PK2の信頼性を証明するための方法において、前記第2の公開鍵PK2の信頼性の証明を求める証明要求を受信するステップと、前記証明要求に応じて、式(1)で表される検証式を計算してデータrを含む証明データを検証するステップと、前記検証の結果を前記証明要求に対する応答として送信するステップとを含むことを特徴とする。
PK2=xPK1 (1)
ここで、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵PK1をa・g、第2の秘密鍵をax、第2の公開鍵PK2をax・gとし、xは第1の公開鍵PK1及びデータrを用いて整数を出力するハッシュ関数で決定されるものとする。rは乱数若しくは疑似乱数又は前記乱数若しくは疑似乱数を含むデータである。
本発明の第12の態様は、第11の態様において、前記ハッシュ関数は、さらに文字列strを用いて整数を出力し、前記データrは、前記乱数若しくは疑似乱数と前記文字列strとを含むことを特徴とする。ここで、strは第2の公開鍵ax・gの属性を表すデータである。
本発明の第13の態様は、第11の態様において、前記証明要求は、前記第2の公開鍵PK2を含むことを特徴とする。
本発明の第14の態様は、第11の態様において、前記証明要求は、前記第1の公開鍵PK1を含むことを特徴とする。
本発明の第15の態様は、第11から第14のいずれかの態様において、前記証明要求は、前記証明データを含むことを特徴とする。
本発明の第16の態様は、コンピュータに、第1の秘密鍵及び第1の公開鍵PK1により構成される第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵PK2の信頼性を証明するための方法を実行させるためのプログラムにおいて、前記方法は、前記第2の公開鍵PK2の信頼性の証明を求める証明要求を受信するステップと、前記証明要求に応じて、式(1)で表される検証式を計算してデータrを含む証明データを検証するステップと、前記検証の結果を前記証明要求に対する応答として送信するステップとを含むことを特徴とする。
PK2=xPK1 (1)
ここで、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵PK1をa・g、第2の秘密鍵をax、第2の公開鍵PK2をax・gとし、xは第1の公開鍵PK1及びデータrを用いて整数を出力するハッシュ関数で決定されるものとする。rは乱数若しくは疑似乱数又は前記乱数若しくは疑似乱数を含むデータである。
本発明の第17の態様は、第1の秘密鍵及び第1の公開鍵PK1により構成される第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵PK2の信頼性を証明するための装置において、前記第2の公開鍵PK2の信頼性の証明を求める証明要求を受信し、前記証明要求に応じて、式(1)で表される検証式を計算してデータrを含む証明データを検証し、前記検証の結果を前記証明要求に対する応答として送信することを特徴とする。
PK2=xPK1 (1)
ここで、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵PK1をa・g、第2の秘密鍵をax、第2の公開鍵PK2をax・gとし、xは第1の公開鍵PK1及びデータrを用いて整数を出力するハッシュ関数で決定されるものとする。rは乱数若しくは疑似乱数又は前記乱数若しくは疑似乱数を含むデータである。
本発明の第18の態様は、第1の識別子ID1に関連づけて生成された第2の識別子ID2の信頼性を証明するための方法において、前記第2の識別子ID2の信頼性の証明を求める証明要求を受信するステップと、前記証明要求に応じて、式(1)で表される検証式を計算してデータrを含む証明データを検証するステップと、前記検証の結果を前記証明要求に対する応答として送信するステップとを含むことを特徴とする。
ID2=xID1 (1)
ここで、第1の整数をa、巡回群Gの生成元をg、第1の識別子ID1をa・g、第2の整数をax、第2の識別子ID2をax・gとし、xは第1の識別子ID1及びデータrを用いて整数を出力するハッシュ関数で決定されるものとする。rは乱数若しくは疑似乱数又は前記乱数若しくは疑似乱数を含むデータである。
本発明の第19の態様は、コンピュータに、第1の識別子ID1に関連づけて生成された第2の識別子ID2の信頼性を証明するための方法を実行させるためのプログラムにおいて、前記方法は、前記第2の識別子ID2の信頼性の証明を求める証明要求を受信するステップと、前記証明要求に応じて、式(1)で表される検証式を計算してデータrを含む証明データを検証するステップと、前記検証の結果を前記証明要求に対する応答として送信するステップとを含むことを特徴とする。
ID2=xID1 (1)
ここで、第1の整数をa、巡回群Gの生成元をg、第1の識別子ID1をa・g、第2の整数をax、第2の識別子ID2をax・gとし、xは第1の識別子ID1及びデータrを用いて整数を出力するハッシュ関数で決定されるものとする。rは乱数若しくは疑似乱数又は前記乱数若しくは疑似乱数を含むデータである。
本発明の第20の態様は、第1の識別子ID1に関連づけて生成された第2の識別子ID2の信頼性を証明するための装置において、前記第2の識別子ID2の信頼性の証明を求める証明要求を受信し、前記証明要求に応じて、式(1)で表される検証式を計算してデータrを含む証明データを検証し、前記検証の結果を前記証明要求に対する応答として送信することを特徴とする。
ID2=xID1 (1)
ここで、第1の整数をa、巡回群Gの生成元をg、第1の識別子ID1をa・g、第2の整数をax、第2の識別子ID2をax・gとし、xは第1の識別子ID1及びデータrを用いて整数を出力するハッシュ関数で決定されるものとする。rは乱数若しくは疑似乱数又は前記乱数若しくは疑似乱数を含むデータである。
本発明の一態様によれば、第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵が第1の鍵ペアを構成する第1の公開鍵の子鍵であることを数学的に証明可能に第2の鍵ペアを生成することによって、認証局を必要とすることなく、電子署名可能な第2の鍵ペアの生成が可能となる。
本発明の第1の実施形態にかかる、第1の鍵ペアから第2の鍵ペアを生成する方法の流れ図である。 本発明の第2の実施形態にかかる、第1の鍵ペアから生成された第2の鍵ペアを構成する第2の公開鍵の信頼性を証明するためのシステムを示す図である。 本発明の第2の実施形態にかかる、第1の鍵ペアから生成された第2の鍵ペアを構成する第2の公開鍵の信頼性を証明するための方法の流れの一例を示す図である。
以下、図面を参照して本発明の実施形態を詳細に説明する。
(第1の実施形態)
図1に、本発明の第1の実施形態にかかる第1の鍵ペアから第2の鍵ペアを生成するための方法の流れ図を示す。鍵ペアの生成は、以下で説明する処理を実行可能な任意の装置において行うことができ、例示として、スマートフォン、タブレット等の携帯機器とすることができる。第2の鍵ペアの生成時にインターネット等のコンピュータ・ネットワークに接続していることは必ずしも必要ではない。
まず、第1の鍵ペアとして、事前に生成された第1の秘密鍵a及び第1の公開鍵a・gを読み出す(S101)。ここで、aは整数である。次に、整数xを決定する(S102)。ここで、整数xは、整数値を返すハッシュ関数h(a・g,str,r)の値として決定する。文字列strは、生成される第2の公開鍵の属性を表し、数rは、乱数又は疑似乱数である。そして、第2の鍵ペアとして、xを乗じて第2の秘密鍵ax及び第2の公開鍵ax・gを計算し、記憶する(S103)。
文字列strは、第2の公開鍵ax・gを生成する際に第1の公開鍵a・gの所有者が当該生成を行う装置上で指定してもよく、あるいはデフォルトの値を取るようにしてもよい。当該装置の記憶部又は当該装置からアクセス可能な記憶媒体又は記憶装置には、gの値又はその決定手順、aの値又はその決定手順、ハッシュ関数h、文字列strの値又はその決定手順、数rの値又はその決定手順、第1の鍵ペアの決定手順、第2の鍵ペアの決定手順を定めたプログラムが記憶されており、当該プログラムが実行されることで上記処理が実現される。特に、当該プログラムが実行されることによって、上記ハッシュ関数hが読み出されて整数xが決定される。
第2の秘密鍵ax及び第2の公開鍵ax・gは、第1の公開鍵a・gを引数として定めるxに基づくため、第1の鍵ペアに関連づけて生成される。加えて、文字列strを任意の文字列とする場合のほか、第2の鍵ペアの有効期限の日付、第2の公開鍵の受領者のメールアドレス等のID、第2の公開鍵の受領者の第1の公開鍵の所有者に対する関係など、第2の公開鍵の属性を表す文字列とすることが好ましい(第2の公開鍵の受領者については後述する。)。上述のハッシュ関数hの例では、strとrを別の引数としたが、たとえばこれらを結合して1つの引数としたり、さらに第1の公開鍵a・gと文字列str及び数rの一方又は両方とを結合して引数としてもよく、ハッシュ関数hは、第1の公開鍵a・g文字列str及び数rを用いて整数を出力するハッシュ関数を広く包含する。
また、文字列strは、必ずしも用いなければならないものではなく、ハッシュ関数hを第1の公開鍵a・g及び数rを用いて整数を出力するハッシュ関数とより広く捉えてもよい。ここで、rはより広く、乱数若しくは疑似乱数を含むデータとすることができ、具体的には、乱数又は疑似乱数に加えて文字列strを含むデータとしてもよい。一例として、乱数又は疑似乱数と文字列strとを結合したデータとすることができる。
生成元gの位数は素数であることが好ましく、生成元により生成される巡回群Gの元の数は一例として32バイト、すなわち256ビット程度以上であることが好ましい。ここで、巡回群Gにおける演算は加法的に記述しており、たとえば、生成元gをa回繰り返し加算する演算をa・gを表記し、「aを生成元gに乗じる」と呼ぶ。なお、axのように整数の集合又は部分集合の元同士の乗算も本明細書において表記として用いられるが、これは巡回加法群における乗算とは異なるものであることを念のため付言する。本明細書においては、巡回群Gを加法群として表記するが、巡回乗法群として表記しても本発明と等価であってその技術的範囲に属することも念のため付言する。
第1の公開鍵a・gは、本実施形態において、従来の信頼できる認証局が発行した電子証明書によって、その所有者が認証されているものとすることができる。あるいは、認証局による認証以外の何らかの形で信頼性が付与されているものとすることができる。ここで、公開鍵の所有者とは、当該公開鍵に対応する秘密鍵にアクセス可能な者を言う。
第1の鍵ペアを用いて任意のデータmに対する電子署名を行う場合の暗号方式としては、現在公知であり、今後公知となる任意のものを用いればよい。
ここで、上述の説明では、事前に第1の秘密鍵a及び第1の公開鍵a・gが決定され、記憶されているものとしているが、第1の秘密鍵aを事前に決定しておき、必要に応じて第1の公開鍵a・gを計算してもよい。第1の秘密鍵aは、バックアップのために外部の記憶媒体又は記憶装置に記憶されることは考えられるが、原則として外部に開示されることのないデータである。
本実施形態にかかる第2の鍵ペアの生成の一特徴は、第2の秘密鍵axが第1の秘密鍵aと同様に整数の集合の元であり、第2の公開鍵ax・gが第1の公開鍵a・gと同様に生成元gが生成する巡回群Gの元であって、第2の鍵ペアが第1の鍵ペアと同一の形式(format)であることから、第2の鍵ペアから第3の鍵ペア、第3の鍵ペアから第4の鍵ペアのように繰り返し子鍵ペアの生成が可能である点が挙げられる。
なお、「××のみに基づいて」、「××のみに応じて」、「××のみの場合」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。また、一例として、「aの場合にbする」という記載は、明示した場合を除き、「aの場合に常にbする」ことを必ずしも意味しないことに留意されたい。
また、念のため、なんらかの方法、プログラム、端末、装置、サーバ又はシステム(以下「方法等」)において、本明細書で記述された動作と異なる動作を行う側面があるとしても、本発明の各態様は、本明細書で記述された動作のいずれかと同一の動作を対象とするものであり、本明細書で記述された動作と異なる動作が存在することは、当該方法等を本発明の各態様の範囲外とするものではないことを付言する。
(第2の実施形態)
図2に、本発明の第2の実施形態にかかる、第1の鍵ペアから生成された第2の鍵ペアを構成する第2の公開鍵の信頼性を証明するためのシステムを示す。
システム200は、第1の鍵ペアから第2の鍵ペアを生成して第2の鍵ペアを構成する第2の公開鍵を送信する送信装置210と、第2の公開鍵を受領する受領装置220と、第2の公開鍵の信頼性を証明する証明装置230とを備える。送信装置210、受信装置220及び証明装置230は、互いにコンピュータ・ネットワークを介して通信可能である。
証明装置230は、通信インターフェースなどの通信部231と、プロセッサ、CPU等の処理部232と、メモリ、ハードディスク等の記憶装置又は記憶媒体を含む記憶部233とを備えるコンピュータであり、所定のプログラムを実行することによって、以下で説明する各処理を実現することができる。証明装置230は、1又は複数の装置ないしサーバを含むことがあり、また当該プログラムは、1又は複数のプログラムを含むことがあり、また、コンピュータ読み取り可能な記憶媒体に記録して非一過性のプログラムプロダクトとすることができる。送信装置210及び受領装置220については図示しないものの、同様のハードウェアの構成を有することができる。
送信装置210において、第1の実施形態で説明した方法によって生成された第2の鍵ペアを構成する第2の公開鍵ax・gは、それを受領した受領装置220においてその信頼性を確認することが出来なければ、その所有者を識別する役割を果たすことができない。そこで、本実施形態において、受信装置220は、証明装置230に対して第2の公開鍵ax・gの信頼性の証明を要求する。以下、第1の公開鍵をPK1、第2の公開鍵をPK2とも表記する。
具体的には、証明装置230は、受領装置220を介して間接的に又は送信装置210から直接的に、第2の公開鍵PK2に加えて、証明データとして文字列str及び数rを受け取る。証明装置230は、システム200において何らかの形で既知でアクセス可能な第1の公開鍵PK1を用い、証明データの検証式PK2=xPK1を計算して両辺が一致することに基づいて、第2の公開鍵PK2が第1の公開鍵PK1の所有者により生成されたものであることを証明することができる。ここで、一例として第1の実施形態で説明したように、証明装置230は、x=h(a・g,str,r)によりxを計算することができる。証明装置230の記憶部231又は証明装置230からアクセス可能な記憶媒体又は記憶装置には、証明要求を受信した際の手順を定めたプログラムが記憶されており、当該プログラムでは、特に上記検証式による検証手順が定められており、これが実行されることによって、当該検証式による検証が行われる。
整数xはハッシュ関数hの値であり、その値を与える文字列str及び数rを導き出すことは現実的に著しく困難であることから、証明装置230は、上記検証式の両辺が一致することで、文字列str及び数rの提供者は第2の公開鍵PK2を生成した者であることが証明される。この目的のためには、文字列strは必ずしも必要ではなく、ハッシュ関数hは、第1の公開鍵PK1及びデータrに基づいて整数を出力する関数としてもよい。
なお、証明装置230は受領装置220と同一としてもよく、この場合、第2の公開鍵PK2の信頼性を自ら証明することができる。また、証明装置230は送信装置210と同一としてもよく、この場合、第2の公開鍵PK2の生成者が自らその信頼性を証明することとなる。また、受領装置220は送信装置210と同一としてもよく、この場合、第1の公開鍵PK1の所有者が状況に応じてそれとは異なる第2の公開鍵PK2を用い、必要に応じてこれらの鍵の関係を証明装置230において証明することができる。
図3に、証明装置が証明データを生成装置から受け取る例において、第2の公開鍵の信頼性を証明する方法の流れを示す。上述の説明においては、送信装置という用語を用いたが、より一般化して生成装置という用語を図3においては用いる。
生成装置210は、証明データを受領装置220に提供する(S301)。受領装置220への与え方として、コンピュータ・ネットワークを介した受領装置220への送信、証明データを記憶した記憶媒体の受領装置220への接続、生成装置210の表示画面に表示された証明データの受領装置220への入力、生成装置210の表示画面に表示された証明データ又はこれに対応するデータの受領装置220の撮像素子による読み取り等のさまざまな態様が挙げられる。生成装置210から受領装置220又はその他の装置への第1の公開鍵PK1及び第2の公開鍵PK2の提供についても、同様にさまざまな態様が挙げられる。
証明データを受領した受領装置220は、第2の公開鍵PK2が第1の公開鍵PK1の所有者により生成されたものであること、換言すれば第2の公開鍵PK2が第1の公開鍵PK1と親子関係にあることの証明を証明装置230に求める証明要求を送信する(S302)。
証明要求は、この例では証明データを含むが、証明データが生成装置210から証明装置230に直接提供される例においては含む必要がない。上述したように、生成装置210が証明装置230を兼ねる場合においては、「提供」は自らに対する提供を含む。また、受領装置220が生成装置210と同一である場合においても、「提供」は自らに対する提供を含む。加えて、「証明要求」は、生成装置210又は受領装置220が証明装置230を兼ねる場合においては、自らに対する要求を含む。
また、証明要求は、証明対象である親子関係における子鍵である第2の公開鍵PK2を含むことができ、また、当該親子関係における親鍵である第1の公開鍵PK1を含むことができる。親鍵及び子鍵の少なくとも一方は、生成装置210から直接的又は間接的に証明装置230に提供して証明装置230に予め記憶しておき、証明要求における明示的な指定を不要とすることができる。
証明装置230は、証明要求に応じて、証明データの検証式を計算することによって、当該証明データを検証する(S303)。
そして、証明装置230は、検証結果を受領装置220からの証明要求に対する応答として、送信する(S304)。受領装置220が証明装置230を兼ねる場合においては、自らの記憶装置又は記憶媒体に検証結果を記憶することとなるが、このような処理を自らに対する「送信」の概念に含めてもよい。
上述の説明では、第1の公開鍵PK1及び第2の公開鍵PK2を「公開鍵」として位置付けてきたが、インターネット上で何らかの活動を行う主体の「識別子」としても位置付けることができる。具体的には、第1の識別子ID1に基づいて又は第1の識別子ID1に関連づけて生成された第2の識別子ID2の信頼性を評価する装置、方法及びそのためのプログラムとして、本発明の精神を解することができる。
(第3の実施形態)
送信装置210は、受領装置220に対して、第2の公開鍵ax・gに加えて第2の秘密鍵axを渡すこともできる。第2の秘密鍵axの提供の態様としては、その他のデータと同様にさまざまな態様が考えられる。この場合、受領装置220は、第2の鍵ペアを用いてデータmに対する電子署名を行うことが可能となる。そして、送信装置210から証明データを受け取っていれば、必要に応じて、電子署名の受信者に対して証明データをデータm及びそれに対する署名sとともに渡して、当該受信者は、当該電子署名が第1の公開鍵a・gの所有者により生成された第2の鍵ペアによるものであることを示すことができる。生成装置210が受領装置220を兼ねる場合、つまり自ら第1の公開鍵a・gの所有者が自ら第2の公開鍵ax・gを用いる場合には、当該所有者が署名者となる。
受領装置220は、ここでは署名装置として機能しており、データmに署名sが付加された署名済みデータの一部として、又は当該署名済みデータとは別データとして証明データ、そして必要に応じて第1の公開鍵a・g及び第2の公開鍵ax・gの少なくとも一方を他の装置に送信する。
また、受領装置220は、第2の秘密鍵axの提供を受けている場合、第2の鍵ペアのさらに子鍵ペアとして第3の秘密鍵axy及び第3の公開鍵axy・gから構成される第3の鍵ペアを生成することが可能である。ここで整数yはハッシュ関数h(ax・g,str,r)の値として定めることができる。
以上の説明において、各実施形態において記述したさまざまな変形形態は他の実施形態においても同様に適用可能であることを付言する。
200 システム
210 送信装置
220 受領装置
230 証明装置
231 通信部
232 処理部
233 記憶部

Claims (20)

  1. 第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて第2の秘密鍵及び第2の公開鍵により構成される第2の鍵ペアを生成する方法において、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵をa・g、第2の秘密鍵をax、第2の公開鍵をax・gとして、
    整数xを、第1の公開鍵a・g及びデータrを用いて整数を出力するハッシュ関数により決定するステップと、
    第1の秘密鍵a(aは整数)に前記xを乗じて第2の秘密鍵axを算出して記憶するステップと、
    前記第1の公開鍵a及び前記xに基づいて前記第2の公開鍵ax・gを算出して記憶するステップと
    を含むことを特徴とする方法。
    ここで、rは乱数若しくは疑似乱数又は乱数若しくは疑似乱数を含むデータである。
  2. 前記巡回群Gの位数は、素数であることを特徴とする請求項1に記載の方法。
  3. 前記ハッシュ関数は、さらに文字列strを用いて整数を出力することを特徴とする請求項1又は2に記載の方法。
    ここで、strは第2の公開鍵ax・gの属性を表すデータである。
  4. 前記strは、前記第2の公開鍵ax・gの有効期限を表すことを特徴とする請求項3に記載の方法。
  5. 前記データrは、前記乱数若しくは疑似乱数と前記文字列strとを含むことを特徴とする請求項3に記載の方法。
  6. 前記第2の公開鍵ax・gを前記第2の鍵ペアを生成した第1の装置以外の第2の装置に提供するステップをさらに含むことを特徴とする請求項1から5のいずれかに記載の方法。
  7. 前記strは、前記第2の公開鍵ax・gの提供を受ける受領者のIDを表すことを特徴とする請求項6に記載の方法。
  8. 前記strは、前記第2の公開鍵ax・gの提供を受ける受領者の前記第1の公開鍵a・gの所有者に対する関係を表すことを特徴とする請求項6に記載の方法。
  9. コンピュータに、第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて第2の秘密鍵及び第2の公開鍵により構成される第2の鍵ペアを生成する方法を実行させるためのプログラムにおいて、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵をa・g、第2の秘密鍵をax、第2の公開鍵をax・gとして、前記方法は、
    整数xを、第1の公開鍵a・g及びデータrを用いて整数を出力するハッシュ関数により決定するステップと、
    第1の秘密鍵a(aは整数)に前記xを乗じて第2の秘密鍵axを算出して記憶するステップと、
    前記第1の公開鍵a及び前記xに基づいて前記第2の公開鍵ax・gを算出して記憶するステップと
    を含むことを特徴とする方法。
    ここで、rは乱数若しくは疑似乱数又は乱数若しくは疑似乱数を含むデータである。
  10. 第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて第2の秘密鍵及び第2の公開鍵により構成される第2の鍵ペアを生成する装置において、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵をa・g、第2の秘密鍵をax、第2の公開鍵をax・gとして、
    整数xを、第1の公開鍵a・g及びデータrを用いて整数を出力するハッシュ関数により決定し、
    第1の秘密鍵a(aは整数)に前記xを乗じて第2の秘密鍵axを算出して記憶し、
    前記第1の公開鍵a及び前記xに基づいて前記第2の公開鍵ax・gを算出して記憶することを特徴とする装置。
    ここで、rは乱数若しくは疑似乱数又は乱数若しくは疑似乱数を含むデータである。
  11. 第1の秘密鍵及び第1の公開鍵PK1により構成される第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵PK2の信頼性を証明するための方法において、
    前記第2の公開鍵PK2の信頼性の証明を求める証明要求を受信するステップと、
    前記証明要求に応じて、式(1)で表される検証式を計算してデータrを含む証明データを検証するステップと、
    前記検証の結果を前記証明要求に対する応答として送信するステップと
    を含むことを特徴とする方法。
    PK2=xPK1 (1)
    ここで、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵PK1をa・g、第2の秘密鍵をax、第2の公開鍵PK2をax・gとし、xは第1の公開鍵PK1及びデータrを用いて整数を出力するハッシュ関数で決定されるものとする。
    rは乱数若しくは疑似乱数又は前記乱数若しくは疑似乱数を含むデータである。
  12. 前記ハッシュ関数は、さらに文字列strを用いて整数を出力し、
    前記データrは、前記乱数若しくは疑似乱数と前記文字列strとを含むことを特徴とする請求項11に記載の方法。
    ここで、strは第2の公開鍵ax・gの属性を表すデータである。
  13. 前記証明要求は、前記第2の公開鍵PK2を含むことを特徴とする請求項11に記載の方法。
  14. 前記証明要求は、前記第1の公開鍵PK1を含むことを特徴とする請求項11に記載の方法。
  15. 前記証明要求は、前記証明データを含むことを特徴とする請求項11から14のいずれかに記載の方法。
  16. コンピュータに、第1の秘密鍵及び第1の公開鍵PK1により構成される第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵PK2の信頼性を証明するための方法を実行させるためのプログラムにおいて、前記方法は、
    前記第2の公開鍵PK2の信頼性の証明を求める証明要求を受信するステップと、
    前記証明要求に応じて、式(1)で表される検証式を計算してデータrを含む証明データを検証するステップと、
    前記検証の結果を前記証明要求に対する応答として送信するステップと
    を含むことを特徴とするプログラム。
    PK2=xPK1 (1)
    ここで、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵PK1をa・g、第2の秘密鍵をax、第2の公開鍵PK2をax・gとし、xは第1の公開鍵PK1及びデータrを用いて整数を出力するハッシュ関数で決定されるものとする。
    rは乱数若しくは疑似乱数又は前記乱数若しくは疑似乱数を含むデータである。
  17. 第1の秘密鍵及び第1の公開鍵PK1により構成される第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵PK2の信頼性を証明するための装置において、
    前記第2の公開鍵PK2の信頼性の証明を求める証明要求を受信し、
    前記証明要求に応じて、式(1)で表される検証式を計算してデータrを含む証明データを検証し、
    前記検証の結果を前記証明要求に対する応答として送信することを特徴とする装置。
    PK2=xPK1 (1)
    ここで、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵PK1をa・g、第2の秘密鍵をax、第2の公開鍵PK2をax・gとし、xは第1の公開鍵PK1及びデータrを用いて整数を出力するハッシュ関数で決定されるものとする。
    rは乱数若しくは疑似乱数又は前記乱数若しくは疑似乱数を含むデータである。
  18. 第1の識別子ID1に関連づけて生成された第2の識別子ID2の信頼性を証明するための方法において、
    前記第2の識別子ID2の信頼性の証明を求める証明要求を受信するステップと、
    前記証明要求に応じて、式(1)で表される検証式を計算してデータrを含む証明データを検証するステップと、
    前記検証の結果を前記証明要求に対する応答として送信するステップと
    を含むことを特徴とする方法。
    ID2=xID1 (1)
    ここで、第1の整数をa、巡回群Gの生成元をg、第1の識別子ID1をa・g、第2の整数をax、第2の識別子ID2をax・gとし、xは第1の識別子ID1及びデータrを用いて整数を出力するハッシュ関数で決定されるものとする。
    rは乱数若しくは疑似乱数又は前記乱数若しくは疑似乱数を含むデータである。
  19. コンピュータに、第1の識別子ID1に関連づけて生成された第2の識別子ID2の信頼性を証明するための方法を実行させるためのプログラムにおいて、前記方法は、
    前記第2の識別子ID2の信頼性の証明を求める証明要求を受信するステップと、
    前記証明要求に応じて、式(1)で表される検証式を計算してデータrを含む証明データを検証するステップと、
    前記検証の結果を前記証明要求に対する応答として送信するステップと
    を含むことを特徴とするプログラム。
    ID2=xID1 (1)
    ここで、第1の整数をa、巡回群Gの生成元をg、第1の識別子ID1をa・g、第2の整数をax、第2の識別子ID2をax・gとし、xは第1の識別子ID1及びデータrを用いて整数を出力するハッシュ関数で決定されるものとする。
    rは乱数若しくは疑似乱数又は前記乱数若しくは疑似乱数を含むデータである。
  20. 第1の識別子ID1に関連づけて生成された第2の識別子ID2の信頼性を証明するための装置において、
    前記第2の識別子ID2の信頼性の証明を求める証明要求を受信し、
    前記証明要求に応じて、式(1)で表される検証式を計算してデータrを含む証明データを検証し、
    前記検証の結果を前記証明要求に対する応答として送信することを特徴とする装置。
    ID2=xID1 (1)
    ここで、第1の整数をa、巡回群Gの生成元をg、第1の識別子ID1をa・g、第2の整数をax、第2の識別子ID2をax・gとし、xは第1の識別子ID1及びデータrを用いて整数を出力するハッシュ関数で決定されるものとする。
    rは乱数若しくは疑似乱数又は前記乱数若しくは疑似乱数を含むデータである。
JP2019100795A 2019-05-29 2019-05-29 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム Pending JP2020195100A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019100795A JP2020195100A (ja) 2019-05-29 2019-05-29 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
CN202080050983.3A CN114128213B (zh) 2019-05-29 2020-05-29 用于验证公钥的可靠性的装置、方法以及其程序
EP20812821.5A EP3979554A4 (en) 2019-05-29 2020-05-29 DEVICE AND METHOD FOR CERTIFICATION OF THE RELIABILITY OF A PUBLIC KEY AND PROGRAM THEREFOR
US17/614,451 US12010230B2 (en) 2019-05-29 2020-05-29 Device and method for certifying reliability of public key, and program for same
PCT/JP2020/021283 WO2020241817A1 (ja) 2019-05-29 2020-05-29 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019100795A JP2020195100A (ja) 2019-05-29 2019-05-29 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019155205A Division JP6688933B1 (ja) 2019-08-28 2019-08-28 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム

Publications (1)

Publication Number Publication Date
JP2020195100A true JP2020195100A (ja) 2020-12-03

Family

ID=73548101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019100795A Pending JP2020195100A (ja) 2019-05-29 2019-05-29 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム

Country Status (5)

Country Link
US (1) US12010230B2 (ja)
EP (1) EP3979554A4 (ja)
JP (1) JP2020195100A (ja)
CN (1) CN114128213B (ja)
WO (1) WO2020241817A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020195100A (ja) * 2019-05-29 2020-12-03 株式会社bitFlyer Blockchain 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2956709B2 (ja) * 1990-11-26 1999-10-04 松下電器産業 株式会社 公開鍵生成方法及び装置
US5199070A (en) * 1990-12-18 1993-03-30 Matsushita Electric Industrial Co., Ltd. Method for generating a public key
CA2316227C (en) * 1998-01-02 2009-08-11 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
FR2789829B1 (fr) * 1999-02-11 2001-04-20 Bull Sa Procede de verification de l'usage de cles publiques engendrees par un systeme embarque
US7707420B1 (en) * 1999-06-23 2010-04-27 Research In Motion Limited Public key encryption with digital signature scheme
JP2005500740A (ja) * 2001-08-13 2005-01-06 ザ ボード オブ トラスティーズ オブ ザ リーランド スタンフォード ジュニア ユニバーシティ Idベース暗号化および関連する暗号手法のシステムおよび方法
GB0215590D0 (en) * 2002-07-05 2002-08-14 Hewlett Packard Co Method and apparatus for generating a cryptographic key
JP2005072648A (ja) 2003-08-22 2005-03-17 Canon Inc 公開鍵証明書システム、発行装置、利用端末、公開鍵及び公開鍵証明書の更新方法、コンピュータプログラム、及びコンピュータ読み取り可能な記憶媒体
JP2006025532A (ja) * 2004-07-07 2006-01-26 Jcm:Kk 携帯電話機用充電器
EP1911194A1 (fr) * 2005-07-26 2008-04-16 France Télécom Procede de controle de transactions securisees mettant en oeuvre un dispositif physique unique, dispositif physique, systeme, et programme d'ordinateur correspondants
JP4928412B2 (ja) * 2006-10-31 2012-05-09 日本電信電話株式会社 署名生成装置、署名検証装置、それらの方法及びプログラム
US20080123842A1 (en) * 2006-11-03 2008-05-29 Nokia Corporation Association of a cryptographic public key with data and verification thereof
JP4914377B2 (ja) * 2008-01-21 2012-04-11 日本電信電話株式会社 署名生成装置、署名検証装置、署名生成検証システム、それらの方法及びプログラム
JP2009232149A (ja) * 2008-03-24 2009-10-08 Nec Soft Ltd 鍵利用端末、鍵利用プログラム、公開鍵システム、および、鍵利用方法
JP5171787B2 (ja) * 2009-10-21 2013-03-27 株式会社日立製作所 サインクリプションシステムおよびサインクリプション生成方法
JP5448801B2 (ja) * 2009-12-28 2014-03-19 日本電信電話株式会社 暗号化システム、暗号化装置、復号装置、暗号化方法、プログラム、記録媒体
CA2770001C (en) * 2011-03-07 2014-08-19 Certicom Corp. Accelerated verification of digital signatures and public keys
WO2014069783A1 (ko) * 2012-10-31 2014-05-08 삼성에스디에스 주식회사 패스워드 기반 인증 방법 및 이를 수행하기 위한 장치
KR20150117225A (ko) * 2014-04-09 2015-10-19 (주) 아이씨티케이 인증 장치 및 방법
JP2016025532A (ja) 2014-07-22 2016-02-08 パナソニックIpマネジメント株式会社 通信システム、通信装置、及び通信方法
JP2016167230A (ja) 2015-03-10 2016-09-15 株式会社日立ソリューションズ データ閲覧管理サーバ及びデータ閲覧管理システム、データ閲覧管理方法、データ閲覧管理プログラム
WO2016191176A1 (en) * 2015-05-22 2016-12-01 Nix John A Cryptographic unit for public key infrastructure (pki) operations
JP6471112B2 (ja) * 2016-02-29 2019-02-13 Kddi株式会社 通信システム、端末装置、通信方法、及びプログラム
US10700861B2 (en) * 2016-07-29 2020-06-30 Workday, Inc. System and method for generating a recovery key and managing credentials using a smart blockchain contract
CN108111467B (zh) * 2016-11-24 2021-04-09 华为技术有限公司 身份认证方法与设备及***
SG10201702038UA (en) * 2017-03-14 2018-10-30 Huawei Int Pte Ltd System and method for computing common session keys in a forward secure identity-based authenticated key exchange scheme
CN107395370B (zh) * 2017-09-05 2020-07-14 深圳奥联信息安全技术有限公司 基于标识的数字签名方法和装置
CN107438006B (zh) * 2017-09-12 2019-09-03 西安电子科技大学 全匿名无证书的多接收者签密方法
CN108809650B (zh) * 2018-05-04 2021-04-13 西安电子科技大学 无安全信道的无证书匿名多接收者签密方法
JP6634171B2 (ja) * 2018-05-11 2020-01-22 株式会社bitFlyer Blockchain 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
JP2020195100A (ja) * 2019-05-29 2020-12-03 株式会社bitFlyer Blockchain 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム

Also Published As

Publication number Publication date
CN114128213A (zh) 2022-03-01
WO2020241817A1 (ja) 2020-12-03
US12010230B2 (en) 2024-06-11
EP3979554A4 (en) 2023-07-05
US20220239481A1 (en) 2022-07-28
CN114128213B (zh) 2024-05-28
EP3979554A1 (en) 2022-04-06

Similar Documents

Publication Publication Date Title
US11842317B2 (en) Blockchain-based authentication and authorization
Li et al. Privacy preserving cloud data auditing with efficient key update
CN104811450B (zh) 云计算中一种基于身份的数据存储方法及完整性验证方法
Yu et al. Enhanced privacy of a remote data integrity-checking protocol for secure cloud storage
JP5532048B2 (ja) 匿名認証署名システム、ユーザ装置、検証装置、署名方法、検証方法およびそれらのプログラム
CN101395599B (zh) 电子签名的生成
JP2010503252A (ja) コンピューティング・プラットフォームの証明
WO2010137508A1 (ja) 署名装置、署名検証装置、匿名認証システム、署名方法、署名認証方法およびそれらのプログラム
KR20130024897A (ko) 화이트 박스로부터 암호화설비를 보호하는 시스템 및 그 방법
JP2007074349A (ja) 属性認証システムおよび同システムにおける属性情報の匿名化方法
JP2001066989A (ja) 一方向性関数生成方法,一方向性関数値生成装置,証明装置,認証方法および認証装置
JP2008131058A (ja) 属性認証システム、同システムにおけるユーザの行動履歴検索方法およびプログラム
JP2010191801A (ja) 認証システムおよび認証方法
JP2005124097A (ja) ルート証明書配布システム、ルート証明書配布方法、コンピュータ実行可能なルート証明書配布プログラム、サーバ装置及びクライアント装置
Mishra et al. BB-tree based secure and dynamic public auditing convergence for cloud storage
Garcia-Rodriguez et al. Implementation and evaluation of a privacy-preserving distributed ABC scheme based on multi-signatures
Hajny et al. Attribute‐based credentials with cryptographic collusion prevention
WO2020241817A1 (ja) 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
CN116170144B (zh) 智能电网匿名认证方法、电子设备及存储介质
US12003636B2 (en) Device and method for certifying reliability of public key, and program therefor
JP6688933B1 (ja) 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
Rehman et al. Securing cloud storage by remote data integrity check with secured key generation
EP3917076A1 (en) A zero knowledge proof method for content engagement
WO2019216435A1 (ja) 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
CN109600218B (zh) 用户身份可追踪的匿名pki***

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191021