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

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

Info

Publication number
WO2019216435A1
WO2019216435A1 PCT/JP2019/018834 JP2019018834W WO2019216435A1 WO 2019216435 A1 WO2019216435 A1 WO 2019216435A1 JP 2019018834 W JP2019018834 W JP 2019018834W WO 2019216435 A1 WO2019216435 A1 WO 2019216435A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
public key
cyclic group
certification
proof
Prior art date
Application number
PCT/JP2019/018834
Other languages
English (en)
French (fr)
Inventor
峰史 小宮山
Original Assignee
株式会社bitFlyer Blockchain
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
Priority claimed from JP2019007394A external-priority patent/JP6634171B2/ja
Application filed by 株式会社bitFlyer Blockchain filed Critical 株式会社bitFlyer Blockchain
Priority to CN201980045779.XA priority Critical patent/CN112385181B/zh
Priority to US17/054,673 priority patent/US12003636B2/en
Priority to EP19800183.6A priority patent/EP3817277A4/en
Publication of WO2019216435A1 publication Critical patent/WO2019216435A1/ja

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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/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)
    • 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
    • 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

Definitions

  • One embodiment of the present invention relates to an apparatus, a method, and a program for proving the reliability of a public key.
  • Electronic certificates are often used to ensure the reliability of data transmitted over the Internet.
  • An electronic certificate authenticates the owner of a public key corresponding to a private key for performing an electronic signature on transmitted data, and is issued by a trusted certificate authority.
  • the data recipient confirms the validity of the electronic certificate and verifies the electronic signature using the public key.
  • the present invention has been made in view of such problems, and its first object is to associate it with a first key pair composed of a reliable first secret key and a first public key.
  • An object of the present invention is to provide an apparatus and method for generating a second key pair composed of a second secret key and a second public key, and a program therefor.
  • the second object of the present invention is to provide an apparatus, method and program for proving the reliability of the second public key constituting the second key pair generated in association with the first key pair. Is to provide.
  • a third object of the present invention is to provide an apparatus, a method, and a program for executing or verifying an electronic signature using a second key pair generated in association with the first key pair. It is in.
  • a second secret key and a second key are associated with a first key pair constituted by a first secret key and a first public key.
  • a first secret key is a
  • a cyclic group G is generated by g
  • a first public key is ag
  • a second secret key is generated.
  • the second public key as ax ⁇ g, an integer x is determined, and the first secret key a (a is an integer) is multiplied by x to calculate and store the second secret key ax And calculating the second public key ax ⁇ g by multiplying the first public key a ⁇ g by the x or the first secret key a by the x and g. And a step of performing.
  • the second aspect of the present invention relates to a first secret key and a second public key associated with a first key pair constituted by a first secret key and a first public key.
  • the first secret key is a
  • the cyclic group G is generated by g
  • the first public key is a ⁇ g
  • the second secret key is ax
  • the second public key Ax ⁇ g a step of determining an integer x
  • the third aspect of the present invention is characterized in that, in the first or second aspect, an element of the cyclic group G is an elliptic curve point.
  • the fourth aspect of the present invention is characterized in that, in the third aspect, the signature method using the first key pair is an elliptic curve DSA.
  • the second device other than the first device is a second device other than the first device that calculates the second public key ax ⁇ g.
  • the method further includes the step of transmitting the first public key a ⁇ g to a device.
  • the first device that calculates the second public key ax ⁇ g is a second device other than the first device.
  • the method further includes the step of transmitting the second public key ax ⁇ g to the apparatus.
  • the second public key ax is displayed on the display screen of the first device that has generated the second public key ax ⁇ g. -The method further includes the step of displaying g.
  • an eighth aspect of the present invention provides the second device other than the first device that generated the second public key ax ⁇ g in any one of the first to seventh aspects.
  • the method further includes the step of transmitting the secret key ax.
  • the second secret key ax is displayed on the display screen of the first device that has generated the second public key ax ⁇ g. Is further included.
  • the second secret key is stored in a storage medium other than the first device that has generated the second secret key ax ⁇ g. ax is stored.
  • the eleventh aspect of the present invention is characterized in that, in any one of the first to tenth aspects, x is a pseudo-random number.
  • a computer is configured with a second secret key and a second public key in association with a first key pair configured with the first secret key and the first public key.
  • the method includes: the first secret key is a, the cyclic group G is generated by g, the first public key is a ⁇ g, A step of determining an integer x, wherein a second secret key is ax, a second public key is ax ⁇ g, a second secret key ax (ax is an integer), and the first public key a ⁇ g (a is an integer) is multiplied by x, the first secret key a is multiplied by x and g, or the second secret key ax is multiplied by g. Calculating and storing the public key ax ⁇ g.
  • a thirteenth aspect of the present invention provides a second secret key and a second public key associated with a first key pair constituted by a first secret key and a first public key.
  • the first secret key is a
  • the cyclic group G is generated by g
  • the first public key is a ⁇ g
  • the second secret key is ax
  • the public key is ax ⁇ g
  • an integer x is determined
  • a second secret key ax (ax is an integer) is determined
  • the first public key a ⁇ g (a is an integer) is multiplied by the x
  • the second public key ax ⁇ g is calculated and stored by multiplying the first secret key a by the x and g, or by multiplying the second secret key ax by the g. To do.
  • the fourteenth aspect of the present invention is the second public key constituting the second key pair generated in association with the first key pair composed of the first secret key and the first public key.
  • the first secret key is a
  • the cyclic group G 1 is generated by g 1
  • the first public key is a ⁇ g 1
  • the second secret key is ax
  • the reliability of the second public key ax ⁇ g 1 with a public key of 2 as ax ⁇ g 1 and H (n 1 , n 2,...
  • N N (N is an integer of 1 or more) as a hash function
  • a cyclic group of the G 2 a g 2 a generator, and a cyclic group of the G T a g T a generator, bilinear map e from G 1 ⁇ G 2 to G T is definable
  • the hash function H (n 1 , n 2,... N N ) can be defined as a mapping from any combination of first to Nth data to the cyclic group G 2 , where n 1 is ax ⁇ g Suppose that it is 1 .
  • n 2 is the feature that the data representing the attributes given to the second key pair To do.
  • the certification request includes the second public key ax ⁇ g 1 .
  • the seventeenth aspect of the present invention is characterized in that, in the fourteenth or fifteenth aspect, the certification request includes the certification data.
  • a second key that configures a second key pair that is generated in association with a first key pair that includes a first secret key and a first public key.
  • the first secret key is a
  • the generator of the cyclic group G 1 is g 1
  • the first public key is a G 1 , second secret key ax, second public key ax ⁇ g 1 , H (n 1 , n 2,...
  • N N (N is an integer greater than or equal to 1) as a hash function
  • Receiving a proof request for proof of trust of the second public key ax ⁇ g 1 and calculating a verification expression expressed by the equation (1) according to the proof request to obtain x ⁇ H ( n 1, n 2, ⁇ n n) and ax ⁇ H (n 1, n 2, verifies the certification data including ⁇ ⁇ ⁇ n n)
  • steps characterized in that it comprises a step of transmitting a result of the verification in response to the certification request.
  • a cyclic group of the G 2 a g 2 a generator, and a cyclic group of the G T a g T a generator, bilinear map e from G 1 ⁇ G 2 to G T is definable
  • the hash function H (n 1 , n 2,... N N ) can be defined as a mapping from any combination of first to Nth data to the cyclic group G 2 , where n 1 is ax ⁇ g Suppose that it is 1 .
  • the second public key constituting the second key pair generated in association with the first key pair composed of the first secret key and the first public key.
  • an apparatus for proving the reliability of the first secret key a, g 1 a generator of a cyclic group G 1, the first public key a ⁇ g 1, the second secret key ax, the The reliability of the second public key ax ⁇ g 1 with a public key of 2 as ax ⁇ g 1 and H (n 1 , n 2,... N N ) (N is an integer of 1 or more) as a hash function ,
  • a verification request expressed by the equation (1) is calculated according to the proof request, and x ⁇ H (n 1 , n 2,... N N ) and ax ⁇ H (n 1, n 2, ⁇ n n) validates the certificate data including, to and transmits the result of the verification in response to the certification request .
  • a cyclic group of the G 2 a g 2 a generator, and a cyclic group of the G T a g T a generator, bilinear map e from G 1 ⁇ G 2 to G T is definable
  • the hash function H (n 1 , n 2,... N N ) can be defined as a mapping from any combination of first to Nth data to the cyclic group G 2 , where n 1 is ax ⁇ g Suppose that it is 1 .
  • the first constant is a
  • the generator of the cyclic group G 1 G 1 , first identifier a ⁇ g 1 , second constant ax, second identifier ax ⁇ g 1 , H (n 1 , n 2,... N N ) (N is 1 or more) (2) receiving a proof request for proof of reliability of the second identifier ax ⁇ g 1 using a hash function as an hash function, A step of verifying proof data including x ⁇ H (n 1 , n 2,... N N ) and ax ⁇ H (n 1 , n 2,... N N ), and a result of the verification Transmitting as a response to the certification request.
  • a cyclic group of the G 2 a g 2 a generator, and a cyclic group of the G T a g T a generator, bilinear map e from G 1 ⁇ G 2 to G T is definable
  • the hash function H (n 1 , n 2,... N N ) can be defined as a mapping from any combination of first to Nth data to the cyclic group G 2 , where n 1 is ax ⁇ g Suppose that it is 1 .
  • the second public key that constitutes the second key pair generated in association with the first key pair is the child key of the first public key that constitutes the first key pair.
  • FIG 3 is a flowchart of a method for generating a second key pair from a first key pair according to the first embodiment of the present invention. It is a figure which shows the system for proving the reliability of the 2nd public key which comprises the 2nd key pair produced
  • FIG. 1 shows a flowchart of a method for generating a second key pair from a first key pair according to the first embodiment of the present invention.
  • the generation of the key pair can be performed in any device capable of executing the process described below, and as an example, a portable device such as a smartphone or a tablet can be used. It is not always necessary to connect to a computer network such as the Internet when generating the second key pair.
  • a cyclic group of the G 1 to g 1 a generator a G 2 cyclic group which the g 2 a generator, as a cyclic group of the G T a g T a generator, the mapping e is G 1 ⁇ mapping from G 2 to G T
  • the hash function H '(m) is defined as a mapping to G 2 from any data m
  • mapping e and the hash function H' can be calculated to (m).
  • the mapping e satisfies the bilinearity represented by the following expression, where a and b are arbitrary integers.
  • the order of the generation sources g 1 and g 2 is preferably a prime number, and the number of elements of the cyclic groups G 1 and G 2 generated by each generation source is, for example, preferably 32 bytes, that is, about 256 bits or more.
  • the operations in the cyclic groups G1 and G2 are additively described.
  • an operation for repeatedly adding the generator g 1 a times is expressed as a ⁇ g 1 and “multiply a by the generator g 1 ”.
  • multiplication between elements of a set of integers such as ax is also used as a notation in the present specification, but this is added to remind that this is different from multiplication in a cyclic additive group.
  • the cyclic groups G1 and G2 are expressed as additive groups, but even if expressed as a cyclic multiplicative group, it is also added for the sake of safety that they are equivalent to the present invention and belong to the technical scope.
  • the first secret key a and the first public key a ⁇ g 1 generated in advance are read as the first key pair (S101).
  • a is an integer, and is preferably determined as a random number, for example.
  • an integer x is determined (S102).
  • the integer x can be determined as a random number or a pseudo-random number, for example, and is preferably other than 1.
  • a hash value with i as an integer and a + i as an argument can be set as a pseudo random number x. In this way, the i-th x can be calculated as appropriate without storing the i-th determined x. is there.
  • the second secret key ax and the second public key ax ⁇ g 1 are calculated and stored as the second key pair by multiplying x (S103).
  • the owner of the public key a ⁇ g 1 can be assumed to be authenticated by an electronic certificate issued by a conventional trusted certificate authority.
  • reliability can be given in some form other than authentication by the certificate authority.
  • the public generator g 1 and the first public key a ⁇ g 1 are assumed if a ⁇ H ′ (m) is the signature s. Since the recipient of data m and signature s can calculate the following equation and can verify signature s by matching the left and right sides, the first key pair defined above is used. It can be seen that this holds as an encryption method.
  • the second key pair also holds as an encryption method, but the second public key ax ⁇ g 1 was generated by the owner of the first public key a ⁇ g 1 to which the trust was given. If it cannot be proved, the signature by the second key pair cannot be more reliable than the signature by the second secret key ax. This point will be described in the second embodiment.
  • an element of the cyclic group G 1 generated by the generator g 1 is a point on an elliptic curve, and a known predetermined relationship is established between the elements.
  • An encryption method using an elliptic curve such as an elliptic curve DSA can be employed.
  • the first secret key a and the first public key a ⁇ g 1 are determined and stored in advance, but the first secret key a is determined in advance.
  • the first public key a ⁇ g 1 may be calculated as necessary.
  • the integer x is determined after the first secret key a and the first public key a ⁇ g 1 are determined. However, after the integer x is determined, the first secret key a and g 1 are determined. The key a and, if necessary, the first public key a ⁇ g 1 may be determined.
  • the integer x and the second secret key ax are determined and stored as random numbers or pseudorandom numbers, respectively, and the first secret key a is determined from these values. May be calculated.
  • the generation of the second key pair includes various modes generated in association with the first key pair.
  • the value of x may be calculated from the value of a and the value of ax as necessary.
  • the first secret key a is data that can be stored in an external storage medium or storage device for backup, but is not disclosed to the outside in principle.
  • x is not, in principle, data of the nature disclosed to the outside.
  • the second secret key ax is an element of a set of integers like the first secret key a
  • the second public key ax ⁇ g is Since the second key pair has the same format as the first key pair since it is an element of the cyclic group G1 generated by the generator g in the same manner as the first public key a ⁇ g,
  • a child key pair can be repeatedly generated such as a second key pair to a third key pair, and a third key pair to a fourth key pair.
  • each of the present invention is directed to the same operation as any of the operations described in this specification, and there is an operation different from the operation described in this specification. It is added that it is not outside the scope of the embodiment.
  • FIG. 2 shows a system for proving the authenticity of the second public key constituting the second key pair generated from the first key pair according to the second embodiment of the present invention.
  • the system 200 generates a second key pair from the first key pair and transmits a second public key constituting the second key pair, and a receiving device that receives the second public key 220 and a proving device 230 for proving the authenticity of the second public key.
  • the transmission device 210, the reception device 220, and the lighting device 230 can communicate with each other via a computer network.
  • the proving device 230 is a computer including a communication unit 231 such as a communication interface, a processing unit 232 such as a processor and a CPU, and a storage unit 233 including a storage device or a storage medium such as a memory and a hard disk. By executing, each process described below can be realized.
  • the proving device 230 may include one or a plurality of devices or servers, and the program may include one or a plurality of programs, and may be recorded on a computer-readable storage medium to be non-transitory Can be a program product.
  • the transmitter 210 and the receiver 220 are not shown, they can have the same hardware configuration.
  • the transmitting apparatus 210 confirms the reliability of the second public key ax ⁇ g 1 constituting the second key pair generated by the method described in the first embodiment at the receiving apparatus 220 that has received it. If you can't do it, you can't play the role of identifying its owner. Therefore, in the present embodiment, the receiving device 220 requests the certification device 230 to prove the reliability of the second public key ax ⁇ g 1 .
  • the certification device 230 adds x ⁇ H (n) as certification data in addition to the second public key ax ⁇ g 1 indirectly via the reception device 220 or directly from the transmission device 210. And ax ⁇ H (n).
  • the proving device 230 uses a known and accessible generator g 1 and the first public key a ⁇ g 1 in some form, calculates a verification expression of the next signature data, and based on the fact that the three sides match. It can be proved that the second public key ax ⁇ g 1 is generated by the owner of the first public key a ⁇ g 1 .
  • n is ax ⁇ g 1
  • H (n) is a mapping to G 2 and may be the same as or different from H ′ (m) used for the above-described electronic signature.
  • proving device 230 may be identical to the acceptor 220, in this case, it is possible to prove themselves second reliability of the public key ax ⁇ g 1. Further, proving device 230 may be the same as the transmission device 210, in this case, so that the second generation's public key ax ⁇ g 1 to prove themselves its reliability.
  • FIG. 3 shows a flow of a method for proving the authenticity of the second public key in an example in which the proving device receives proof data from the generating device.
  • transmission device is used.
  • generation device is more generalized in FIG.
  • the generation device 210 generates proof data x ⁇ H (n) and ax ⁇ H (n) when or before or after the generation of the second public key ax ⁇ g 1 constituting the second key pair. Calculate and store (S301).
  • the generation device 210 provides the calculated certification data to the reception device 220 (S302).
  • S302 As a method of giving to the receiving device 220, transmission to the receiving device 220 via the computer network, connection of the storage medium storing the certification data to the receiving device 220, and certification data displayed on the display screen of the generating device 210
  • Various modes such as input to the receiving device 220, reading of the proof data displayed on the display screen of the generating device 210 or data corresponding thereto by the image sensor of the receiving device 220 can be cited.
  • various aspects can be cited for providing the first public key a ⁇ g 1 and the second public key ax ⁇ g 1 from the generation device 210 to the reception device 220 or other devices.
  • the proof data can include H (n)
  • the proof device 230 or the generating device 210 or the receiving device 220 that provides the proof data to the proof device 230 may be able to calculate H (n) as needed. .
  • the receiving device 220 that has received the certification data has the second public key ax ⁇ g 1 generated by the owner of the first public key a ⁇ g 1 , in other words, the second public key ax A proof request is sent to the proof device 230 for proof that g 1 has a parent-child relationship with the first public key ag 1 (S303).
  • the proof request includes proof data in this example, but does not need to be included in the example in which the proof data is directly provided from the generation device 210 to the proof device 230.
  • “providing” includes providing for itself.
  • the “certification request” includes a request for itself when the receiving device 220 also serves as the certification device 230.
  • the certification request can include a second public key ax ⁇ g 1 that is a child key in the parent-child relationship to be proved, and a first public key a ⁇ g that is the parent key in the parent-child relationship. 1 can be included. At least one of the parent key and the child key may be provided directly or indirectly from the generating device 210 to the proving device 230 and stored in advance in the proving device 230, so that explicit designation in the certification request is unnecessary. it can.
  • the certification device 230 verifies the certification data by calculating a validation formula for the certification data in response to the certification request (S304).
  • the certification device 230 transmits the verification result as a response to the certification request from the receiving device 220 (S305).
  • the receiving device 220 also serves as the proving device 230
  • the verification result is stored in its own storage device or storage medium, but such processing may be included in the concept of “transmission” to itself.
  • the first public key a ⁇ g 1 and the second public key ax ⁇ g 1 have been positioned as “public keys”, but they are also positioned as “identifiers” of entities that perform some activity on the Internet. be able to.
  • identifiers of entities that perform some activity on the Internet.
  • the transmitting device 210 can also pass the second secret key ax to the receiving device 220 in addition to the second public key ax ⁇ g 1 while keeping the first secret key a secret.
  • the receiving apparatus 220 can perform an electronic signature on the data m using the second key pair. If proof data including x ⁇ H (n) and ax ⁇ H (n) is received from the transmission device 210, ax ⁇ g 1 , x ⁇ H are sent to the recipient of the electronic signature as necessary.
  • the receiving device 220 functions as a signature device here, as part of the signed data obtained by adding the signature s to the data m, or proof data as data different from the signed data, and if necessary At least one of the first public key a ⁇ g 1 and the second public key ax ⁇ g 1 is transmitted to another device.
  • the receiving device 220 when receiving the second secret key ax, the receiving device 220 includes a third secret key axy and a third public key axy ⁇ g 1 as a child key pair of the second key pair.
  • a third key pair can be generated.
  • the integer y can be determined as a random number or a pseudo-random number, and is preferably other than 1.
  • n is considered as an argument of the mapping H (n) to G 2 , but H (n 1 , n 2,..., N N ) ( N ) having N arguments.
  • N may be an integer of 1 or more.
  • n 1 can be a second public key ax ⁇ g 1 and n 2 can be an arbitrary character string str.
  • the character string str include an expiration date of the second key pair, an ID such as a mail address of a recipient of the second public key, and the like.
  • n 2 can be any data representing an attribute given to the second key pair.
  • the generation device 210 may receive a generation request for the second key pair from the reception device 220 or another device before generation of the second key pair, and may start generation, and is included in the generation request. some data may be used as the argument value n 2.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵の信頼性を証明する。生成装置210は、第2の鍵ペアを構成する第2の公開鍵ax・gを生成した際に、証明データであるx・H(n)及びax・H(n)を算出して記憶する(S301)。生成装置210は、算出した証明データを受領装置220に提供する(S302)。証明データを受領した受領装置220は、第2の公開鍵ax・gが第1の公開鍵a・gの所有者により生成されたものであることの証明を証明装置230に求める証明要求を送信する(S303)。証明装置230は、証明要求に応じて、証明データの検証式を計算することによって、当該証明データを検証する(S304)。そして、証明装置230は、検証結果を受領装置220からの証明要求に対する応答として、送信する(S305)。

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(aは整数)に前記xを乗じて第2の秘密鍵axを算出して記憶するステップと、前記第1の公開鍵a・gに前記xを乗じて又は前記第1の秘密鍵aに前記x及び前記gを乗じて前記第2の公開鍵ax・gを算出して記憶するステップとを含むことを特徴とする。
 また、本発明の第2の態様は、第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて第2の秘密鍵及び第2の公開鍵により構成される第2の鍵ペアを生成する方法において、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵をa・g、第2の秘密鍵をax、第2の公開鍵をax・gとして、整数xを決定するステップと、第2の秘密鍵ax(axは整数)を決定するステップと、前記第1の公開鍵a・g(aは整数)に前記xを乗じて、前記第1の秘密鍵aに前記x及び前記gを乗じて、又は前記第2の秘密鍵axに前記gを乗じて前記第2の公開鍵ax・gを算出して記憶するステップとを含むことを特徴とする。
 また、本発明の第3の態様は、第1又は第2の態様において、前記巡回群Gの元は、楕円曲線の点であることを特徴とする。
 また、本発明の第4の態様は、第3の態様において、前記第1の鍵ペアによる署名方式は、楕円曲線DSAであることを特徴とする。
 また、本発明の第5の態様は、第1から第4のいずれかの態様において、前記第2の公開鍵ax・gを計算した第1の装置から前記第1の装置以外の第2の装置に前記第1の公開鍵a・gを送信するステップをさらに含むことを特徴とする。
 また、本発明の第6の態様は、第1から第5のいずれかの態様において、前記第2の公開鍵ax・gを計算した第1の装置から前記第1の装置以外の第2の装置に前記第2の公開鍵ax・gを送信するステップをさらに含むことを特徴とする。
 また、本発明の第7の態様は、第1から第5のいずれかの態様において、前記第2の公開鍵ax・gを生成した第1の装置の表示画面に前記第2の公開鍵ax・gを表示するステップをさらに含むことを特徴とする。
 また、本発明の第8の態様は、第1から第7のいずれかの態様において、前記第2の公開鍵ax・gを生成した第1の装置以外の第2の装置に前記第2の秘密鍵axを送信するステップをさらに含むことを特徴とする。
 また、本発明の第9の態様は、第1から第7のいずれかの態様において、前記第2の公開鍵ax・gを生成した第1の装置の表示画面に前記第2の秘密鍵axを表示するステップをさらに含むことを特徴とする。
 また、本発明の第10の態様は、第1から第7のいずれかの態様において、前記第2の秘密鍵ax・gを生成した第1の装置以外の記憶媒体に前記第2の秘密鍵axを記憶することを特徴とする。
 また、本発明の第11の態様は、第1から第10のいずれかの態様において、前記xは、疑似乱数であることを特徴とする。
 また、本発明の第12の態様は、コンピュータに、第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて第2の秘密鍵及び第2の公開鍵により構成される第2の鍵ペアを生成する方法を実行させるためのプログラムにおいて、前記方法は、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵をa・g、第2の秘密鍵をax、第2の公開鍵をax・gとして、整数xを決定するステップと、第2の秘密鍵ax(axは整数)を決定するステップと、前記第1の公開鍵a・g(aは整数)に前記xを乗じて、前記第1の秘密鍵aに前記x及び前記gを乗じて、又は前記第2の秘密鍵axに前記gを乗じて前記第2の公開鍵ax・gを算出して記憶するステップとを含むことを特徴とする。
 また、本発明の第13の態様は、第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて第2の秘密鍵及び第2の公開鍵により構成される第2の鍵ペアを生成するための装置において、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵をa・g、第2の秘密鍵をax、第2の公開鍵をax・gとして、整数xを決定し、第2の秘密鍵ax(axは整数)を決定し、前記第1の公開鍵a・g(aは整数)に前記xを乗じて、前記第1の秘密鍵aに前記x及び前記gを乗じて、又は前記第2の秘密鍵axに前記gを乗じて前記第2の公開鍵ax・gを算出して記憶することを特徴とする。
 また、本発明の第14の態様は、第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵の信頼性を証明するための方法において、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵をa・g、第2の秘密鍵をax、第2の公開鍵をax・g、H(n,n2,・・・)(Nは1以上の整数)をハッシュ関数として、前記第2の公開鍵ax・gの信頼性の証明を求める証明要求を受信するステップと、前記証明要求に応じて、式(1)で表される検証式を計算してx・H(n,n2,・・・)及びax・H(n,n2,・・・)を含む証明データを検証するステップと、前記検証の結果を前記証明要求に対する応答として送信するステップとを含むことを特徴とする。
Figure JPOXMLDOC01-appb-M000005
 ここで、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群とし、G×GからGへの双線形写像eが定義可能であり、かつ、ハッシュ関数H(n,n2,・・・)を任意の第1から第Nのデータの組み合わせから巡回群Gへの写像として定義可能であり、nはax・gであるとする。
 また、本発明の第15の態様は、第14のいずれかの態様において、前記Nは2以上であり、nは前記第2の鍵ペアに与えられる属性を表すデータであることを特徴とする。
 また、本発明の第16の態様は、第14又は第15の態様において、前記証明要求は、前記第2の公開鍵ax・gを含むことを特徴とする。
 また、本発明の第17の態様は、第14又は第15の態様において、前記証明要求は、前記証明データを含むことを特徴とする。
 また、本発明の第18の態様は、コンピュータに、第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵の信頼性を証明するための方法を実行させるためのプログラムにおいて、前記方法は、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵をa・g、第2の秘密鍵をax、第2の公開鍵をax・g、H(n,n2,・・・)(Nは1以上の整数)をハッシュ関数として、前記第2の公開鍵ax・gの信頼性の証明を求める証明要求を受信するステップと、前記証明要求に応じて、式(1)で表される検証式を計算してx・H(n,n2,・・・)及びax・H(n,n2,・・・)を含む証明データを検証するステップと、前記検証の結果を前記証明要求に対する応答として送信するステップとを含むことを特徴とする。
Figure JPOXMLDOC01-appb-M000006
 ここで、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群とし、G×GからGへの双線形写像eが定義可能であり、かつ、ハッシュ関数H(n,n2,・・・)を任意の第1から第Nのデータの組み合わせから巡回群Gへの写像として定義可能であり、nはax・gであるとする。
 また、本発明の第19の態様は、第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵の信頼性を証明するための装置において、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵をa・g、第2の秘密鍵をax、第2の公開鍵をax・g、H(n,n2,・・・)(Nは1以上の整数)をハッシュ関数として、前記第2の公開鍵ax・gの信頼性の証明を求める証明要求を受信し、前記証明要求に応じて、式(1)で表される検証式を計算してx・H(n,n2,・・・)及びax・H(n,n2,・・・)を含む証明データを検証し、前記検証の結果を前記証明要求に対する応答として送信することを特徴とする。
Figure JPOXMLDOC01-appb-M000007
 ここで、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群とし、G×GからGへの双線形写像eが定義可能であり、かつ、ハッシュ関数H(n,n2,・・・)を任意の第1から第Nのデータの組み合わせから巡回群Gへの写像として定義可能であり、nはax・gであるとする。
 また、本発明の第20の態様は、第1の識別子に関連づけて生成された第2の識別子の信頼性を証明するための方法において、第1の定数をa、巡回群Gの生成元をg、第1の識別子をa・g、第2の定数をax、第2の識別子をax・g、H(n,n2,・・・)(Nは1以上の整数)をハッシュ関数として、前記第2の識別子ax・gの信頼性の証明を求める証明要求を受信するステップと、前記証明要求に応じて、式(1)で表される検証式を計算してx・H(n,n2,・・・)及びax・H(n,n2,・・・)を含む証明データを検証するステップと、前記検証の結果を前記証明要求に対する応答として送信するステップとを含むことを特徴とする。
Figure JPOXMLDOC01-appb-M000008
 ここで、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群とし、G×GからGへの双線形写像eが定義可能であり、かつ、ハッシュ関数H(n,n2,・・・)を任意の第1から第Nのデータの組み合わせから巡回群Gへの写像として定義可能であり、nはax・gであるとする。
 本発明の一態様によれば、第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵が第1の鍵ペアを構成する第1の公開鍵の子鍵であることを数学的に証明可能に第2の鍵ペアを定義することによって、認証局を必要とすることなく、電子署名可能な第2の鍵ペアの生成が可能となる。
本発明の第1の実施形態にかかる、第1の鍵ペアから第2の鍵ペアを生成する方法の流れ図である。 本発明の第2の実施形態にかかる、第1の鍵ペアから生成された第2の鍵ペアを構成する第2の公開鍵の信頼性を証明するためのシステムを示す図である。 本発明の第2の実施形態にかかる、第1の鍵ペアから生成された第2の鍵ペアを構成する第2の公開鍵の信頼性を証明するための方法の流れの一例を示す図である。
 以下、図面を参照して本発明の実施形態を詳細に説明する。
 (第1の実施形態) 
 図1に、本発明の第1の実施形態にかかる第1の鍵ペアから第2の鍵ペアを生成するための方法の流れ図を示す。鍵ペアの生成は、以下で説明する処理を実行可能な任意の装置において行うことができ、例示として、スマートフォン、タブレット等の携帯機器とすることができる。第2の鍵ペアの生成時にインターネット等のコンピュータ・ネットワークに接続していることは必ずしも必要ではない。
 当該装置においては、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群として、写像eがG×GからGへの写像、ハッシュ関数H’(m)が任意のデータmからGへの写像として定義されており、写像e及びハッシュ関数H’(m)を計算可能である。加えて、写像eは、a及びbを任意の整数として、次式で示される双線形性を満たすものとする。
Figure JPOXMLDOC01-appb-M000009
 生成元g、gの位数は素数であることが好ましく、各生成元により生成される巡回群G1、G2の元の数は一例として32バイト、すなわち256ビット程度以上であることが好ましい。ここで、巡回群G1、G2における演算は加法的に記述しており、たとえば、生成元gをa回繰り返し加算する演算をa・gを表記し、「aを生成元gに乗じる」と呼ぶ。なお、axのように整数の集合の元同士の乗算も本明細書において表記として用いられるが、これは巡回加法群における乗算とは異なるものであることを念のため付言する。本明細書においては、巡回群G1、G2を加法群として表記するが、巡回乗法群として表記しても本発明と等価であってその技術的範囲に属することも念のため付言する。
 まず、第1の鍵ペアとして、事前に生成された第1の秘密鍵a及び第1の公開鍵a・gを読み出す(S101)。ここで、aは整数であり、たとえば乱数として定めることが好ましい。次に、整数xを決定する(S102)。ここで、整数xは、たとえば乱数又は疑似乱数として定めることでき、1以外であることが望ましい。一例としてiを整数、a+iを引数としたハッシュ値を疑似乱数xとすることができ、このようにするとi番目に決定されたxを記憶しておかなくとも適宜i番目のxとして計算可能である。そして、第2の鍵ペアとして、xを乗じて第2の秘密鍵ax及び第2の公開鍵ax・gを計算し、記憶する(S103)。
 公開鍵a・gは、本実施形態において、従来の信頼できる認証局が発行した電子証明書によって、その所有者が認証されているものとすることができる。あるいは、認証局による認証以外の何らかの形で信頼性が付与されているものとすることができる。
 第1の鍵ペアを用いて任意のデータmに対する電子署名を行う場合、a・H’(m)を署名sとすれば、公開された生成元g及び第1の公開鍵a・gを用いて、データm及び署名sの受領者は次式が計算可能であり、左辺と右辺が一致することによって署名sを検証することができるため、上述のように定めた第1の鍵ペアが暗号方式として成り立つことが分かる。
Figure JPOXMLDOC01-appb-M000010
 同様に、第2の鍵ペアも暗号方式として成り立つことが分かるが、第2の公開鍵ax・gが信頼性が付与された第1の公開鍵a・gの所有者によって生成されたことが証明可能でなければ、第2の鍵ペアによる署名は、第2の秘密鍵axにより署名されたということ以上の信頼性が得られない。この点については、第2の実施形態において説明する。
 任意のデータmに対する電子証明の暗号方式としては、生成元gにより生成される巡回群Gの元が楕円曲線上の点であり、各元の間に既知の所定の関係が成り立つ場合に楕円曲線DSA等の楕円曲線を用いた暗号方式を採用することができる。
 ここで、上述の説明では、事前に第1の秘密鍵a及び第1の公開鍵a・gが決定され、記憶されているものとしているが、第1の秘密鍵aを事前に決定しておき、必要に応じて第1の公開鍵a・gを計算してもよい。また、上述の説明では、第1の秘密鍵a及び第1の公開鍵a・gが決定された後に整数xを決定するものとしているが、整数xが決定された後に、第1の秘密鍵a、そして必要に応じて第1の公開鍵a・gが決定されてもよい。また、第1の秘密鍵aを直接的に決定するのではなく、整数x及び第2の秘密鍵axをそれぞれ乱数又は疑似乱数として決定して記憶し、これらの値から第1の秘密鍵aを算出してもよい。換言すれば、第2の鍵ペアの生成には、第1の鍵ペアに関連づけて生成されるさまざまな態様を含む。また、aの値及びaxの値から必要に応じてxの値を算出してもよい。
 第1の秘密鍵aは、バックアップのために外部の記憶媒体又は記憶装置に記憶されることは考えられるが、原則として外部に開示されることのないデータである。xについても、原則として外部に開示される性質のデータではない。
 本実施形態にかかる第2の鍵ペアの生成の一特徴は、第2の秘密鍵axが第1の秘密鍵aと同様に整数の集合の元であり、第2の公開鍵ax・gが第1の公開鍵a・gと同様に生成元gが生成する巡回群G1の元であって、第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の信頼性の証明を要求する。
 具体的には、証明装置230は、受領装置220を介して間接的に又は送信装置210から直接的に、第2の公開鍵ax・gに加えて、証明データとしてx・H(n)及びax・H(n)を受け取る。証明装置230は、何らかの形で既知でアクセス可能な生成元g及び第1の公開鍵a・gを用い、次の署名データの検証式を計算して三辺が一致することに基づいて、第2の公開鍵ax・gが第1の公開鍵a・gの所有者により生成されたものであることを証明することができる。ここで、nはax・gであり、H(n)はGへの写像であって上述の電子署名に用いるH’(m)と同一でも異なるものでもよい。
Figure JPOXMLDOC01-appb-M000011
 整数xを知らなければx・H(n)を算出することが出来ず、加えて整数aを知らなければax・H(n)を算出することが出来ないため、三辺が一致することで、a及びx又はa及びaxを知ることなく、x・H(n)及びax・H(n)の提供者は第2の公開鍵ax・gを生成した第1の公開鍵agの所有者であることが証明される。
 上述の説明では、子鍵ペアを生成する親鍵ペアが1組である場合について考えてきたが、複数の親鍵ペアが存在し得る場合には、いずれの親鍵ペアを構成する親公開鍵との関係で子公開鍵であることの証明を行うのかの特定が必要となる。
 なお、証明装置230は受領装置220と同一としてもよく、この場合、第2の公開鍵ax・gの信頼性を自ら証明することができる。また、証明装置230は送信装置210と同一としてもよく、この場合、第2の公開鍵ax・gの生成者が自らその信頼性を証明することとなる。
 図3に、証明装置が証明データを生成装置から受け取る例において、第2の公開鍵の信頼性を証明する方法の流れを示す。上述の説明においては、送信装置という用語を用いたが、より一般化して生成装置という用語を図3においては用いる。
 生成装置210は、第2の鍵ペアを構成する第2の公開鍵ax・gを生成した際に又はその前後に、証明データであるx・H(n)及びax・H(n)を算出して記憶する(S301)。生成装置210は、算出した証明データを受領装置220に提供する(S302)。受領装置220への与え方として、コンピュータ・ネットワークを介した受領装置220への送信、証明データを記憶した記憶媒体の受領装置220への接続、生成装置210の表示画面に表示された証明データの受領装置220への入力、生成装置210の表示画面に表示された証明データ又はこれに対応するデータの受領装置220の撮像素子による読み取り等のさまざまな態様が挙げられる。生成装置210から受領装置220又はその他の装置への第1の公開鍵a・g及び第2の公開鍵ax・gの提供についても、同様にさまざまな態様が挙げられる。
 証明データは、H(n)を含むことができる一方、証明装置230又は証明装置230に証明データを提供する生成装置210若しくは受領装置220において必要に応じてH(n)を計算可能としてもよい。
 証明データを受領した受領装置220は、第2の公開鍵ax・gが第1の公開鍵a・gの所有者により生成されたものであること、換言すれば第2の公開鍵ax・gが第1の公開鍵agと親子関係にあることの証明を証明装置230に求める証明要求を送信する(S303)。
 証明要求は、この例では証明データを含むが、証明データが生成装置210から証明装置230に直接提供される例においては含む必要がない。上述したように、生成装置210が証明装置230を兼ねる場合においては、「提供」は自らに対する提供を含む。加えて、「証明要求」は、受領装置220が証明装置230を兼ねる場合においては、自らに対する要求を含む。
 また、証明要求は、証明対象である親子関係における子鍵である第2の公開鍵ax・gを含むことができ、また、当該親子関係における親鍵である第1の公開鍵a・gを含むことができる。親鍵及び子鍵の少なくとも一方は、生成装置210から直接的又は間接的に証明装置230に提供して証明装置230に予め記憶しておき、証明要求における明示的な指定を不要とすることができる。
 証明装置230は、証明要求に応じて、証明データの検証式を計算することによって、当該証明データを検証する(S304)。
 そして、証明装置230は、検証結果を受領装置220からの証明要求に対する応答として、送信する(S305)。受領装置220が証明装置230を兼ねる場合においては、自らの記憶装置又は記憶媒体に検証結果を記憶することとなるが、このような処理を自らに対する「送信」の概念に含めてもよい。
 上述の説明では、第1の公開鍵a・g及び第2の公開鍵ax・gを「公開鍵」として位置付けてきたが、インターネット上で何らかの活動を行う主体の「識別子」としても位置付けることができる。具体的には、第1の識別子に基づいて又は第1の識別子に関連づけて生成された第2の識別子の信頼性を評価する装置、方法及びそのためのプログラムとして、本発明の精神を解することができる。
 (第3の実施形態) 
 送信装置210は、受領装置220に対して、第1の秘密鍵aは秘匿しつつ、第2の公開鍵ax・gに加えて第2の秘密鍵axを渡すこともできる。第2の秘密鍵axの提供の態様としては、その他のデータと同様にさまざまな態様が考えられる。この場合、受領装置220は、第2の鍵ペアを用いてデータmに対する電子署名を行うことが可能となる。そして、送信装置210からx・H(n)及びax・H(n)を含む証明データを受け取っていれば、必要に応じて、電子署名の受信者に対してax・g、x・H(n)及びax・H(n)をデータm及びそれに対する署名sとともに渡して、当該受信者は、当該電子署名が第1の公開鍵a・gの所有者により生成された第2の鍵ペアによるものであることを示すことができる。
 受領装置220は、ここでは署名装置として機能しており、データmに署名sが付加された署名済みデータの一部として、又は当該署名済みデータとは別データとして証明データ、そして必要に応じて第1の公開鍵a・g及び第2の公開鍵ax・gの少なくとも一方を他の装置に送信する。
 また、受領装置220は、第2の秘密鍵axの提供を受けている場合、第2の鍵ペアのさらに子鍵ペアとして第3の秘密鍵axy及び第3の公開鍵axy・gから構成される第3の鍵ペアを生成することが可能である。ここで整数yは乱数又は疑似乱数として定めることができ、1以外であることが望ましい。
 (第4の実施形態) 
 上述の実施形態では、Gへの写像H(n)の引数として単一のパラメータnを考えてきたが、N個の引数を有するH(n,n2,・・・)(Nは1以上の整数)としてもよい。
 たとえばN=2の場合、nを第2の公開鍵ax・gとし、nを任意の文字列strとすることができる。文字列strの例としては、第2の鍵ペアの有効期限の日付、第2の公開鍵の受領者のメールアドレス等のID等が挙げられる。より一般的に、nは第2の鍵ペアに与えられる属性を表す任意のデータとすることができる。
 また、生成装置210は、第2の鍵ペアの生成の前に第2の鍵ペアの生成要求を受領装置220又はその他の装置から受信して生成を開始してもよく、生成要求に含まれる何らかのデータを引数nの値としてもよい。
 200 システム
 210 送信装置
 220 受領装置
 230 証明装置
 231 通信部
 232 処理部
 233 記憶部

Claims (7)

  1.  第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵の信頼性を証明するための方法において、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵をa・g、第2の秘密鍵をax、第2の公開鍵をax・g、H(n,n2,・・・)(Nは1以上の整数)をハッシュ関数として、
     前記第2の公開鍵ax・gの信頼性の証明を求める証明要求を受信するステップと、
     前記証明要求に応じて、式(1)で表される検証式を計算してx・H(n,n2,・・・)及びax・H(n,n2,・・・)を含む証明データを検証するステップと、
     前記検証の結果を前記証明要求に対する応答として送信するステップと
    を含むことを特徴とする方法。
    Figure JPOXMLDOC01-appb-M000001
     ここで、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群とし、G×GからGへの双線形写像eが定義可能であり、かつ、ハッシュ関数H(n,n2,・・・)を任意の第1から第Nのデータの組み合わせから巡回群Gへの写像として定義可能であり、nはax・gであるとする。
  2.  前記Nは2以上であり、
     nは前記第2の鍵ペアに与えられる属性を表すデータであることを特徴とする請求項1に記載の方法。
  3.  前記証明要求は、前記第2の公開鍵ax・gを含むことを特徴とする請求項1又は2に記載の方法。
  4.  前記証明要求は、前記証明データを含むことを特徴とする請求項1又は2に記載の方法。
  5.  コンピュータに、第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵の信頼性を証明するための方法を実行させるためのプログラムにおいて、
     前記方法は、第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵をa・g、第2の秘密鍵をax、第2の公開鍵をax・g、H(n,n2,・・・)(Nは1以上の整数)をハッシュ関数として、
     前記第2の公開鍵ax・gの信頼性の証明を求める証明要求を受信するステップと、
     前記証明要求に応じて、式(1)で表される検証式を計算してx・H(n,n2,・・・)及びax・H(n,n2,・・・)を含む証明データを検証するステップと、
     前記検証の結果を前記証明要求に対する応答として送信するステップと
    を含むことを特徴とするプログラム。
    Figure JPOXMLDOC01-appb-M000002
     ここで、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群とし、G×GからGへの双線形写像eが定義可能であり、かつ、ハッシュ関数H(n,n2,・・・)を任意の第1から第Nのデータの組み合わせから巡回群Gへの写像として定義可能であり、nはax・gであるとする。
  6.  第1の秘密鍵及び第1の公開鍵により構成される第1の鍵ペアに関連づけて生成された第2の鍵ペアを構成する第2の公開鍵の信頼性を証明するための装置において、
     第1の秘密鍵をa、巡回群Gの生成元をg、第1の公開鍵をa・g、第2の秘密鍵をax、第2の公開鍵をax・g、H(n,n2,・・・)(Nは1以上の整数)をハッシュ関数として、
     前記第2の公開鍵ax・gの信頼性の証明を求める証明要求を受信し、
     前記証明要求に応じて、式(1)で表される検証式を計算してx・H(n,n2,・・・)及びax・H(n,n2,・・・)を含む証明データを検証し、
     前記検証の結果を前記証明要求に対する応答として送信することを特徴とする装置。
    Figure JPOXMLDOC01-appb-M000003
     ここで、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群とし、G×GからGへの双線形写像eが定義可能であり、かつ、ハッシュ関数H(n,n2,・・・)を任意の第1から第Nのデータの組み合わせから巡回群Gへの写像として定義可能であり、nはax・gであるとする。
  7.  第1の識別子に関連づけて生成された第2の識別子の信頼性を証明するための方法において、第1の定数をa、巡回群Gの生成元をg、第1の識別子をa・g、第2の定数をax、第2の識別子をax・g、H(n,n2,・・・)(Nは1以上の整数)をハッシュ関数として、
     前記第2の識別子ax・gの信頼性の証明を求める証明要求を受信するステップと、
     前記証明要求に応じて、式(1)で表される検証式を計算してx・H(n,n2,・・・)及びax・H(n,n2,・・・)を含む証明データを検証するステップと、
     前記検証の結果を前記証明要求に対する応答として送信するステップと
    を含むことを特徴とする方法。
    Figure JPOXMLDOC01-appb-M000004
     ここで、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群とし、G×GからGへの双線形写像eが定義可能であり、かつ、ハッシュ関数H(n,n2,・・・)を任意の第1から第Nのデータの組み合わせから巡回群Gへの写像として定義可能であり、nはax・gであるとする。
PCT/JP2019/018834 2018-05-11 2019-05-10 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム WO2019216435A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201980045779.XA CN112385181B (zh) 2018-05-11 2019-05-10 用于证明公钥的可靠性的装置、方法及程序
US17/054,673 US12003636B2 (en) 2018-05-11 2019-05-10 Device and method for certifying reliability of public key, and program therefor
EP19800183.6A EP3817277A4 (en) 2018-05-11 2019-05-10 DEVICE AND METHOD FOR CERTIFICATION OF THE RELIABILITY OF A PUBLIC KEY AND PROGRAM THEREFOR

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2018-092618 2018-05-11
JP2018092618 2018-05-11
JP2019007394A JP6634171B2 (ja) 2018-05-11 2019-01-19 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
JP2019-007394 2019-01-19

Publications (1)

Publication Number Publication Date
WO2019216435A1 true WO2019216435A1 (ja) 2019-11-14

Family

ID=68467495

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/018834 WO2019216435A1 (ja) 2018-05-11 2019-05-10 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム

Country Status (2)

Country Link
EP (1) EP3817277A4 (ja)
WO (1) WO2019216435A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017126943A (ja) * 2016-01-15 2017-07-20 富士通株式会社 相互認証方法、認証装置および認証プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769285B2 (en) * 2009-08-13 2014-07-01 Qualcomm Incorporated Methods and apparatus for deriving, communicating and/or verifying ownership of expressions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017126943A (ja) * 2016-01-15 2017-07-20 富士通株式会社 相互認証方法、認証装置および認証プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GO OHTAKE , HIROSHI DOI: "Attribute-based encryption with arbitrary number of authorities", IEICE TECHNICAL REPORT, vol. 110, no. 114, 24 June 2010 (2010-06-24), pages 153 - 158, XP009524530 *
See also references of EP3817277A4 *
YOSUKE KATOH; MASAAKI SHIRASE; OSAMU TAKAHASHI; TSUYOSHI TAKAGI: "2E3-3.Implementation of certificate-free public key cryptography in ad hoc networks", THE 2010 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY SCIS2010, 19 January 2010 (2010-01-19), pages 1 - 6, XP009524531 *

Also Published As

Publication number Publication date
EP3817277A4 (en) 2022-01-12
EP3817277A1 (en) 2021-05-05

Similar Documents

Publication Publication Date Title
US10326753B2 (en) Authentication via revocable signatures
Li et al. Privacy preserving cloud data auditing with efficient key update
US20200322132A1 (en) System and method for authenticating off-chain data based on proof verification
CN113569294B (zh) 一种零知识证明方法及装置、电子设备、存储介质
US8583932B2 (en) Signature device, signature verification device, anonymous authetication system, signing method, signature authentication method, and programs therefor
US9009481B2 (en) System and method for protecting cryptographic assets from a white-box attack
WO2021017338A1 (zh) 多数据提供方加密数据跨平台零知识校验方法及相关设备
US10263773B2 (en) Method for updating a public key
KR20080106532A (ko) 전자 서명 방법 및 타임스탬프 생성 방법
WO2019047418A1 (zh) 数字签名方法、装置和系统
JP2006221161A (ja) Cartier対形成の暗号化適用
CN101155032A (zh) 匿名可选择凭证系统及其方法
Anada et al. RSA public keys with inside structure: Proofs of key generation and identities for web-of-trust
CN116975936B (zh) 金融资质证明方法、金融资质验证方法
WO2022174933A1 (en) User-controlled linkability of anonymous signature schemes
CN116170144B (zh) 智能电网匿名认证方法、电子设备及存储介质
JP6634171B2 (ja) 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
WO2020241817A1 (ja) 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
Rehman et al. Securing cloud storage by remote data integrity check with secured key generation
WO2019216435A1 (ja) 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
EP3917076A1 (en) A zero knowledge proof method for content engagement
JP6688933B1 (ja) 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
JP2009224997A (ja) 署名システム、署名方法、証明装置、検証装置、証明方法、検証方法、プログラム
JP2010186003A (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
CN116975937B (zh) 匿名证明方法、匿名验证方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19800183

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2019800183

Country of ref document: EP