WO2018043573A1 - 鍵交換方法、鍵交換システム - Google Patents

鍵交換方法、鍵交換システム Download PDF

Info

Publication number
WO2018043573A1
WO2018043573A1 PCT/JP2017/031188 JP2017031188W WO2018043573A1 WO 2018043573 A1 WO2018043573 A1 WO 2018043573A1 JP 2017031188 W JP2017031188 W JP 2017031188W WO 2018043573 A1 WO2018043573 A1 WO 2018043573A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
sid
communication device
exclusive
distribution device
Prior art date
Application number
PCT/JP2017/031188
Other languages
English (en)
French (fr)
Inventor
麗生 吉田
鉄太郎 小林
祐人 川原
仁 冨士
一樹 米山
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to EP17846577.9A priority Critical patent/EP3509246B1/en
Priority to US16/321,657 priority patent/US11258588B2/en
Priority to CN201780048745.7A priority patent/CN109565440B/zh
Publication of WO2018043573A1 publication Critical patent/WO2018043573A1/ja
Priority to US17/350,201 priority patent/US11677543B2/en

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)
    • 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group 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/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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • 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
    • 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/3242Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Definitions

  • the present invention relates to application of information security technology, and more particularly to key exchange technology in which a plurality of users forming a group share a common key.
  • Non-Patent Document 1 describes an architecture of an information system that realizes such a key exchange technique.
  • Non-Patent Document 2 describes an algorithm of such a key exchange technique.
  • Non-Patent Documents 1 and 2 a plurality of users cannot share a common key while allowing dynamic member changes such as newly sharing with a user other than the user who shared the common key.
  • the calculation amount necessary for key exchange as a whole is O (log n), so that there is a problem that the calculation amount of key exchange increases as the number of users increases.
  • the object of the present invention is to allow a plurality of users to share a common key while allowing members to share the common key to be changed, and to reduce the amount of calculation required for key exchange. It is to provide key exchange technology that can be used.
  • n is an integer of 2 or more
  • i is an integer from 1 to n
  • j is an integer from 2 to n
  • S is a key distribution device
  • U i is n units
  • the communication device, U 1 is one representative communication device selected from the communication device U i
  • U j is n ⁇ 1 general communication devices obtained by removing the representative communication device U 1 from the communication device U i.
  • is the concatenation operator
  • ⁇ and ⁇ are defined by
  • Secret strings st S and st ′ S are stored in the storage unit of the key distribution device S, and secret strings st i and st ′ i are stored in the storage unit of the communication device U i.
  • K 1 l is generated, K 1 r is generated using (sid, R 2 r_1 ) by a pseudorandom function, T 1 is calculated by exclusive OR of K 1 l and K 1 r , and K 1 1 l and k 1
  • the above-mentioned general communication device U j is obtained by exclusive OR of T ′ j and K j l
  • the 1 l calculate a first session key generation step of calculating k 1
  • n is an integer of 2 or more
  • k is an integer of 1 or more
  • is a concatenation operator
  • S is a key distribution device
  • U i (i 1,..., N + k ) as a n + k stand communication device, the communication device U 1, ..., communications device session established by U n U n + 1, ... , a key exchange method when U n + k joins newly U 1 is one representative communication device selected from the communication devices U 1 , U n , U n + 1 ,..., U n + k , and the secret string is stored in the storage unit of the key distribution device S.
  • K n-1 l using (sid, g r ) and K n-1 r using (sid, R n r ) using a pseudorandom function
  • K n-1 l and K n calculate the T n-1 by the exclusive OR of the -1 r, is (k n-1, s n -1, T n-1) was sent to the key distribution device S
  • the communication device U n by a pseudo random function with (sid, R n r)
  • K n l generates K n r with (sid, R n + 1 r_n ) by a pseudo random function
  • the T n calculated by the exclusive OR of the K n l and K n r, (k n , s n , T n ) is transmitted to the key distribution device S
  • the communication device U i (i n + 1,..., n + k) is (sid, R i ⁇ 1 r_
  • a plurality of users can share a common key while allowing members to share the common key to be changed.
  • the amount of calculation required for key exchange is a constant number of users, that is, O (1), which is reduced compared to the prior art.
  • ⁇ Notation> _ (Underscore) represents a subscript.
  • xy_z represents that yz is a superscript to x
  • xy_z represents that yz is a subscript to x.
  • Random selection of element m from Set for a set Set is denoted as m ⁇ R Set.
  • ALG For an algorithm ALG, the fact that ALG outputs y for input x and random number r is expressed as y ⁇ ALG (x; r). Note that if the ALG is a deterministic algorithm, the random number r is empty.
  • H ⁇ H Gri ⁇ ISA a target collision- resistant hash function family.
  • Reference Document 2 A specific example of the target collision difficult hash function is described in Reference Document 2 below, for example. [Reference 2] JA Buchman, "Introduction to Cryptographic Theory, 3rd Edition", Maruzen Publishing, 2007
  • the message authentication code algorithm is (MGen, Tag, Ver).
  • the MAC key generation algorithm MGen receives the security parameter excellent and outputs the MAC key mk.
  • the tag generation algorithm Tag receives the MAC key mk and plaintext m, and outputs an authentication tag ⁇ .
  • the verification algorithm Ver receives the MAC key mk, the plaintext m, and the authentication tag ⁇ , and outputs 1 if the authentication tag ⁇ is correct and 0 if it is not correct.
  • a specific example of the message authentication code algorithm is described in Reference Document 2 above, for example.
  • the function encryption algorithm is (Setup, Der, FEnc, FDec).
  • the setup algorithm Setup receives the security parameter excellent and outputs the master secret key msk and the public parameter Params.
  • the key derivation algorithm Der receives the public parameter Params, the master secret key msk, and the attribute A, and outputs the user secret key usk.
  • the encryption algorithm FEnc receives the public parameters Params, the access structure P, and plaintext m, and outputs a ciphertext CT.
  • the decryption algorithm FDec receives the user secret key usk and the ciphertext CT, and outputs the plaintext m if the attribute A satisfies the access structure P.
  • ID-based encryption algorithm be (IBE-Setup, IBE-Der, IBE-Enc, IBE-Dec).
  • the setup algorithm IBE-Setup receives the security parameter excellent and outputs the master secret key msk and the public parameter Params.
  • the key derivation algorithm IBE-Der receives the public parameter Params, the master secret key msk, and ID ⁇ ⁇ 0, 1 ⁇ * and outputs the user secret key usk.
  • the encryption algorithm IBE-Enc takes the public parameters Params, ID ⁇ ⁇ 0, 1 ⁇ * and plaintext m as input, and outputs a ciphertext CT.
  • the decryption algorithm IBE-Dec receives the public parameters Params, the user secret key usk, and the ciphertext CT, and outputs plaintext m.
  • ID-based encryption algorithm Specific examples of the ID-based encryption algorithm are described in, for example, Chapter 8 “Boneh-Franklin IBE” and Chapter 9 “Boneh-Boyen IBE” in Reference Document 4 below. [Reference 4] Luther Martin, “Introduction to Identity-Based Encryption”, 1stEdition, Artech House, January 2008.
  • the key exchange system of the embodiment includes a key distribution device 1 and N ( ⁇ 2) communication devices 2 1 ,..., 2 N as illustrated in FIG.
  • the key distribution device 1 and the communication devices 2 1 ,..., 2 N are each connected to the communication network 3.
  • Communication network 3 the key delivery device 1 is a communication device 2 1, ..., a 2 N communication network configured circuit switching system or a packet-switched network so as to communicate with each.
  • the communication devices 2 1 ,..., 2 N may not be able to communicate with each other.
  • the communication network 3 does not have to be a communication path that ensures safety, and for example, the Internet can be used.
  • the key distribution device 1 includes a storage unit 100, a first setup unit 101, a second setup unit 102, a user ID reception unit 103, an initial key generation unit 104, a secret string generation unit 105, a user key.
  • a transmission unit 111, a session ID generation unit 113, an authentication tag verification unit 114, a third key generation unit 115, and an authentication tag generation unit 116 are included. As illustrated in FIG.
  • the communication device 2 includes a storage unit 200, a user ID transmission unit 203, an initial key reception unit 204, a secret string generation unit 205, a user key reception unit 211, a first key generation unit 212, a second A key generation unit 214, an authentication tag generation unit 215, an authentication tag verification unit 216, and a session key generation unit 217 are included.
  • the key distribution method of the embodiment is realized by the key distribution device 1 and the communication devices 2 1 ,..., 2 N performing the processing of each step illustrated in FIGS.
  • the key distribution device 1 and the communication devices 2 1 ,..., 2 N are specially used for known or dedicated computers having, for example, a central processing unit (CPU), a main storage (RAM), and the like. It is a special device that is configured by reading a simple program. Each device executes each process under the control of the central processing unit, for example. The data input to each device and the data obtained in each process are stored in, for example, the main storage device, and the data stored in the main storage device is read out to the central processing unit as needed and other data is stored. Used for processing. Each processing unit included in each device may be at least partially configured by hardware such as an integrated circuit.
  • the storage unit 100 included in the key distribution device 1 and the storage unit 200 included in the communication devices 2 1 ,..., 2 N are, for example, a main storage device such as a RAM (Random Access Memory), a hard disk, an optical disk, or a flash memory. It can be constituted by an auxiliary storage device constituted by such a semiconductor memory element, or by middleware such as a relational database or a key value store. Since each storage unit stores secret information, it is desirable that the storage unit be a tamper-resistant storage device (for example, a SIM card).
  • S represents a key distribution device 1
  • U i i ⁇ ⁇ 1 , ..., N ⁇
  • U i i ⁇ ⁇ 1 , ..., N ⁇
  • G a multiplicative cyclic group of prime order p of Grid bits.
  • g and h be generators of group G, respectively.
  • step S101 the first setup unit 101 of the key distribution device S generates a public parameter Params and a master secret key msk by using a function encryption setup algorithm Setup.
  • the first setup unit 101 transmits public parameters Params to each of the communication devices U 1 ,..., U N.
  • the public parameter Params and the master secret key msk are stored in the storage unit 100.
  • the communication device U i stores the public parameter Params received from the key distribution device S in the storage unit 200.
  • step S102 the second setup unit 102 of the key distribution device S generates a public parameter Params ′ and a master secret key msk ′ of the key distribution device S by an ID-based encryption setup algorithm IBE-Setup.
  • the public parameter Params ′ and the master secret key msk ′ are stored in the storage unit 100.
  • step S203 the user ID transmission unit 203 of the communication device U i transmits U i to the key distribution device S in order to register the user ID in the key distribution device S.
  • the user ID may be any character string that can identify the user, for example, an e-mail address can be used.
  • step S103 the user ID receiving unit 103 of the key distribution device S receives U i that is a user ID.
  • the initial key generating unit 104 of the key distribution device S by the key derivation algorithm IBE-Der the ID-based cryptographic, initial key sk U_i ⁇ IBE-Der communication device U i (Params ', msk' , U i ) Is generated and transmitted to the communication device U i .
  • step S204 the initial key reception unit 204 of the communication device U i receives the initial key sk U_i communication device U i.
  • the communication device U i stores the initial key sk U_i in the storage unit 200.
  • step S105 the secret string generation unit 105 of the key distribution device S uses the secret string (st S , st ′ S ) used in the twisted pseudorandom function as st S ⁇ R FS excellent and st ′ S ⁇ ⁇ 0, 1 ⁇ excellent. Generate as The secret string (st S , st ′ S ) is stored in the storage unit 100.
  • step S205 the secret string generation unit 205 of the communication device U i uses the secret string (st i , st ′ i ) used in the twisted pseudorandom function as st i ⁇ R FS excellent and st ′ i ⁇ ⁇ 0, 1 ⁇ excellent. Generate as The secret string (st i , st ′ i ) is stored in the storage unit 200.
  • step S111 when the communication device U i starts a session, the user key transmission unit 111 of the key distribution device S sets the current time if the session is the first session in the time frame TF of the communication device U i.
  • the user key transmission unit 111 generates the MAC key mk i ⁇ MGen of the communication device U i by the message authentication code key generation algorithm MGen.
  • the user key transmission unit 111 encrypts the user secret key usk i and the MAC key mk i using the ID-based encryption algorithm IBE-Enc, and the ciphertext CT i ⁇ IBE-Enc (Params ′, U i , (usk i , mk i )).
  • the user key transmitting unit 111 transmits the ciphertext CT i to the communication device U i .
  • the user key reception unit 211 of the communication device U i is, ID-based by the decoding algorithm IBE-Dec cryptographic communication device U i initial key sk ciphertext U_i received from the key distribution device S by using a CT i of And the user secret key and MAC key (usk i , mk i ) ⁇ IBE-Dec sk_Ui (CT i , Params ′) are obtained.
  • the user key receiving unit 211 stores the user secret key usk i and the MAC key mk i in the storage unit 200.
  • step S112 the key distribution device S receives (R i , c i ) from the communication device U i .
  • the key distribution device S receives (R i , c i ) from the communication device U i .
  • one communication device is selected as a representative from the n communication devices U 1 ,..., U n .
  • the method of selecting the representative is arbitrary. For example, a communication device having a highest priority set in advance may be selected, or a communication device that has recently started a session may be selected.
  • the communication device U 1 is selected, and U 1 is referred to as a representative communication device.
  • n ⁇ 1 communication devices U j (j ⁇ ⁇ 2,..., N ⁇ ) other than the representative communication device U 1 are referred to as general communication devices.
  • the session ID generation unit 113 calculates ⁇ and ⁇ as in the following equations, and transmits (sid, R ⁇ , R ⁇ ) to the communication device U i , respectively.
  • the key delivery apparatus S is previously notified that the U 1 is a representative communication device.
  • step S214 j the second key generation unit 214 of the general communication device U j generates K j l using (sid, R ⁇ r — j ) by the pseudo random function F as shown in the following equation, and the pseudo random function It generates K j r with (sid, R ⁇ r_j) by F, to compute the T j by the exclusive OR of the K j l and K j r.
  • the authentication tag generation unit 215 transmits (k j , s j , T j , ⁇ j ) to the key distribution device S.
  • step S214 the second key generation unit 214 of the representative communication device U 1, as follows, by a pseudo-random function F (sid, R n r_1) was used to generate K 1 l, pseudo-random function Generate K 1 r by using (sid, R 2 r_1 ) by F, calculate T 1 by exclusive OR of K 1 l and K 1 r, and K 1 l and k 1
  • is a concatenation operator.
  • the authentication tag generation unit 215 transmits (T 1 , T ′, ⁇ 1 ) to the key distribution device S.
  • the MAC key mk j of the general communication device U j is used to verify Ver mk_j (R j , c j , R ⁇ , R ⁇ , k j , s j , T j , U j , sid , ⁇ j ). If the authentication tag ⁇ j is not valid, the authentication tag verification unit 114 ends the session of the general communication device U j .
  • step S114 1 the authentication tag verification unit 114 of the key distribution device S receives (T 1 , T ′, ⁇ 1 ) from the representative communication device U 1 and uses the message authentication code verification algorithm Ver to perform the representative communication device U 1. using 1 of the MAC key mk 1, Ver mk_1 (R 1 , c 1, R n, R 2, T 1, T ', U 1, sid, ⁇ 1) to verify. If the authentication tag ⁇ 1 is not valid, the authentication tag verification unit 114 ends the session of the representative communication device U 1 .
  • ID is a predicate variable representing a communication device
  • TF is a predicate variable representing a time frame of the communication device.
  • Tag ⁇ ' j Tag mk_j (R j , c j , R ⁇ , R ⁇ , k j , s j , T j , U j , sid, c 1 , k', T ' j , T', CT ' j ) Is generated.
  • the authentication tag generation unit 116 transmits (c 1 , k ′, T ′ j , T ′, CT ′ j , ⁇ ′ j ) to the general communication device U j .
  • the authentication tag generation unit 116 transmits (k ′, CT ′ 1 , ⁇ ′ 1 ) to the representative communication device U 1 .
  • step S216 j the authentication tag verification unit 216 of the general communication device U j receives (c 1 , k ′, T ′ j , T ′, CT ′ j , ⁇ ′ j ) from the key distribution device S, and sends a message
  • the MAC key mk j of the general communication device U j is used to verify Ver mk_j (R j , c j , R ⁇ , R ⁇ , k j , s j , T j , U j , sid , c 1 , k ′, T ′ j , T ′, CT ′ j , ⁇ ′ j ).
  • the authentication tag verification unit 216 ends the session of the general communication device U j . Further, the authentication tag verification unit 216 calculates K 1 l by exclusive OR of T ′ j and K j l as in the following equation, and k by exclusive OR of T ′ and K 1 l. 1
  • s 1 is calculated.
  • step S216 1 the authentication tag verification unit 216 of the representative communication device U 1 from the key delivery device S (k ', CT' 1 , ⁇ '1) receives, by verification algorithm Ver message authentication code, the representative communication using the MAC key mk 1 device U 1, Ver mk_1 (R 1 , c 1, R n, R 2, T 1, T ', U 1, sid, k', CT '1, ⁇ ' 1) the Validate. If the authentication tag ⁇ ′ 1 is not valid, the authentication tag verification unit 216 ends the session of the representative communication device U 1 .
  • step S217 the session key generation unit 217 of the communication device U i is the decryption algorithm FDEC function cipher, using the user's private key usk i communication device U i, the common key K 1 ⁇ FDec usk_i (CT ' i, Decode P i ).
  • the session key generation unit 217 calculates the common key K 2 using a pseudo random function F ′ as in the following equation.
  • the session key generation unit 217 calculates a session key SK using a pseudo random function F ′′ as shown in the following equation.
  • the key exchange technology of the present invention if only a user ID is registered as information of a user who may perform key exchange, a plurality of users share a common key. be able to. In particular, it is possible to multiple users without leaking any information other than the user ID to share the common key K 2 and the session key SK to the key delivery device S.
  • the total amount of computation required for key exchange is O (log n) where n is the number of users.However, according to the present invention, the number of users is a constant number of times, that is, O (1). Can exchange keys with a small amount of computation.
  • ID-based encryption a key can be issued using an existing ID, so there is no need to prepare a public key database necessary for general public key encryption, and the operating cost is reduced. There is an effect of lowering.
  • each communication device U i stores secret information used for adding a user in the storage unit 200.
  • the representative communication device U 1 stores the secret information H 1 l , H 1 r , r calculated by the following equation in the storage unit 200.
  • the general communication device U j (j ⁇ ⁇ 2,..., N ⁇ ) stores the secret information H j l , H j r , r calculated by the following equation in the storage unit 200.
  • Communication device U 1, ..., communications device session established by U n U n + 1, ... , U n + k is assumed to participate newly (k is an integer of 1 or more, n + k is less than or equal to N Integer). In the following, it is assumed that i ⁇ ⁇ 1,..., N + k ⁇ .
  • the user key transmission unit 111 encrypts the user secret key usk i and the MAC key mk i using the ID-based encryption algorithm IBE-Enc, and the ciphertext CT i ⁇ IBE-Enc (Params', U i , (usk i , mk i )) is generated.
  • the user key transmitting unit 111 transmits the ciphertext CT i to the communication device U i .
  • step S411 the user key reception unit 211 of the communication device U i is, ID-based by the decoding algorithm IBE-Dec cryptographic communication device U i initial key sk ciphertext U_i received from the key distribution device S by using a CT i of And the user secret key and MAC key (usk i , mk i ) ⁇ IBE-Dec sk_Ui (CT i , Params ′) are obtained.
  • the user key receiving unit 211 stores the user secret key usk i and the MAC key mk i in the storage unit 200.
  • step S412 in the case of i ⁇ ⁇ 1 ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ [n, n + k], the first key generation unit 212 of the communication device U i determines ⁇ r i ⁇ R ⁇ 0, 1 ⁇ excellent , ⁇ r ' i ⁇ R FS excellent , ⁇ k i ⁇ R ⁇ 0, 1 ⁇ excellent , ⁇ k ' i ⁇ R FS Consequently , ⁇ s i ⁇ R ⁇ 0, 1 ⁇ excellent , ⁇ s' i ⁇ R FS Consequently
  • the first key generation unit 212 transmits the c i to the key delivery device S.
  • step S312 the key distribution device S receives (R i , c i ) or c i from the communication device U i .
  • the key distribution device S waits.
  • n + k ⁇ 1 communication devices U i (i ⁇ ⁇ 2,..., N + k ⁇ ) other than the representative communication device U 1 are referred to as general communication devices.
  • the session ID generation unit 113 transmits sid to the communication device U i when i ⁇ [3, n ⁇ 2].
  • the session ID generation unit 113 transmits (sid, R i + 1 ) to the communication device U i when i ⁇ [n ⁇ 1, n].
  • the key delivery apparatus S is previously notified that the U 1 is a representative communication device.
  • step S414 Upon receiving any of (sid, R i ⁇ 1 , R i + 1 ), (sid, R i ⁇ 1 ), sid, (sid, R i + 1 ), the communication device U i receives step S414 and step S414.
  • step S414 the second key generation unit 214 of the representative communication device U 1 uses (sid, R n + k r — 1 ) by the pseudo random function F as shown in the following equation, K 1 l Generate K 1 r using (sid, g r_1r ) by pseudorandom function F, calculate T 1 by exclusive OR of K 1 l and K 1 r, and K 1 l and k T
  • is a concatenation operator.
  • the authentication tag generation unit 215 transmits (T 1 , T ′, ⁇ 1 ) to the key distribution device S.
  • step S414 the second key generation unit 214 of the communication device U 2 generates K 2 l using (sid, R 1 r ) by the pseudo random function F as shown in the following equation. Then, K 2 r is generated using (sid, g r ) by the pseudorandom function F, and T 2 is calculated by exclusive OR of K 2 l and K 2 r .
  • the authentication tag generation unit 215 transmits (k 2 , s 2 , T 2 , ⁇ 2 ) to the key distribution device S.
  • the authentication tag generation unit 215 transmits (k i , s i , ⁇ i ) to the key distribution device S.
  • step S414 the second key generation unit 214 of the communication device U n ⁇ 1 uses (sid, g r ) by using the pseudo random function F and K n ⁇ 1 l is generated, K n-1 r is generated by using the pseudorandom function F using (sid, R n r ), and T n is calculated by exclusive OR of K n-1 l and K n-1 r. Calculate -1 .
  • the authentication tag generation unit 215 transmits (k n ⁇ 1 , s n ⁇ 1 , T n ⁇ 1 , ⁇ n ⁇ 1 ) to the key distribution device S.
  • step S414 the second key generation unit 214 of the communication device U n generates K n l using (sid, R n r ) by the pseudo random function F as shown in the following equation. Then, K n r is generated by using (sid, R n + 1 r_n ) by the pseudo random function F, and T n is calculated by exclusive OR of K n l and K n r .
  • step S414 the second key generation unit 214 of the communication device U i uses (sid, R i ⁇ 1 r_i) by the pseudo random function F as shown in the following equation. ) Is used to generate K i l , pseudo random function F is used to generate K i r using (sid, R i + 1 r_i ), and T i is calculated by exclusive OR of K i l and K i r. i is calculated.
  • the authentication tag generation unit 215 transmits (k i , s i , T i , ⁇ i ) to the key distribution device S.
  • ID is a predicate variable representing a communication device
  • TF is a predicate variable representing a time frame of the communication device.
  • the common key K 1 are those generated in step S115c.
  • step S316 the key distribution device S generates an authentication tag and transmits it to the communication device U i .
  • the authentication tag generation unit 116 transmits (k ′, CT ′ 1 , ⁇ ′ 1 ) to the representative communication device U 1 .
  • the authentication tag generation unit 116 transmits (c 1 , k ′, T ′ 2 , T ′, CT ′ 2 , ⁇ ′ 2 ) to the general communication device U 2 .
  • the authentication tag generation unit 116 transmits (c 1 , k ′, T ′ i , T ′, CT ′ i , ⁇ ′ i ) to the general communication device U i .
  • the authentication tag generation unit 116 of the key distribution device S uses the MAC key mk n ⁇ 1 of the general communication device U n ⁇ 1 to generate an authentication tag ⁇ using the tag generation algorithm Tag of the message authentication code.
  • ' n-1 Tag mk_n-1 (c n-1 , R n , k n-1 , s n-1 , T n-1 , U n-1 , sid, c 1 , k', T ' n- 1 , T ′, CT ′ n-1 ).
  • the authentication tag generation unit 116 transmits (c 1 , k ′, T ′ n ⁇ 1 , T ′, CT ′ n ⁇ 1 , ⁇ ′ n ⁇ 1 ) to the general communication device U n ⁇ 1 .
  • Authentication tag generation unit 116 transmits (c 1, k ', T ' n, T ', CT' n, ⁇ 'n) to the general communication device U n.
  • the authentication tag generation unit 116 of the key distribution device S performs authentication using the MAC key mk i of the general communication device U i by the tag generation algorithm Tag of the message authentication code.
  • Tag ⁇ ' i Tag mk_i (R i , c i , R i-1 , R i + 1 , k i , s i , T i , U i , sid, c 1 , k', T ' i , T' , CT ' i ).
  • the authentication tag generation unit 116 transmits (c 1 , k ′, T ′ i , T ′, CT ′ i , ⁇ ′ i ) to the general communication device U i .
  • the authentication tag verification unit 216 calculates k 1
  • the authentication tag verification unit 216 of the representative communication device U 1 receives (k ′, CT ′ 1 , ⁇ ′ 1 ) from the key distribution device S, and verifies it by the verification algorithm Ver of the message authentication code. To do. If the authentication tag ⁇ ′ 1 is not valid, the authentication tag verification unit 216 ends the session of the representative communication device U 1 .
  • step S417 the session key generation unit 217 of the communication device U i is the decryption algorithm FDEC function cipher, using the user's private key usk i communication device U i, the common key K 1 ⁇ FDec usk_i (CT ' i, Decode P i ).
  • the session key generation unit 217 calculates the common key K 2 using a pseudo random function F ′ as in the following equation.
  • the session key generation unit 217 calculates a session key SK using a pseudo random function F ′′ as shown in the following equation.
  • the representative communication device U 1 updates the secret information H 1 l , r calculated by the following equation and stored in the storage unit 200.
  • the communication device U n updates the secret information H n r , r calculated by the following equation and stored in the storage unit 200.
  • the key exchange technology of the present invention if only a user ID is registered as information of a user who may perform key exchange, a user is dynamically added within that range. can do.
  • a plurality of users can share a common key efficiently when adding users.
  • the total amount of calculation required for key exchange is a constant number of users, that is, O (1).
  • the key exchange system of this embodiment shares a session key SK between communication devices U i via a key distribution server S. At that time, it is necessary to register the user ID (for example, mail address) for identifying the communication device U i in the key distribution server S, but the session key SK is shared by O (1) using the star topology. Therefore, it is possible to shorten the time until the operation start of various cryptographic communication systems.
  • Some examples of application of the key exchange system are shown below. (1) Used for key distribution in point-to-point calls and conference calls using VoIP technology. (2) Substitutes DTLS (Datagram Transport Layer Security) in WebRTC and uses it for key conferencing for Web conferencing and Web phone encrypted communication in browsers and smartphones. (3) Used for sharing the decryption key of the messaging app.
  • DTLS Datagram Transport Layer Security
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • a computer-readable recording medium for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
  • this program is distributed, for example, by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, this computer reads the program stored in its own recording medium and executes the process according to the read program.
  • the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially.
  • the program is not transferred from the server computer to the computer, and the above processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good.
  • ASP Application Service Provider
  • the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
  • the present apparatus is configured by executing a predetermined program on a computer.
  • a predetermined program on a computer.
  • at least a part of these processing contents may be realized by hardware.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

共通鍵を共有するメンバの変更を許しながら複数のユーザが共通鍵を共有し、鍵交換に必要な計算量を低減する。第一鍵生成ステップでねじれ擬似ランダム関数を用いてRi, ciを計算する。セッションID生成ステップでターゲット衝突困難ハッシュ関数によりsidを生成し、(sid,Rα, Rβ)を通信装置Uiへ送信する。代表第二鍵生成ステップで擬似ランダム関数を用いてT1, T'を計算する。一般第二鍵生成ステップで擬似ランダム関数を用いてTjを計算する。第三鍵生成ステップでねじれ擬似ランダム関数を用いてk'を計算し、各jについてT'jを計算する。第一セッション鍵生成ステップでK1 l, k1を計算する。第二セッション鍵生成ステップで擬似ランダム関数により共通鍵K2を生成する。

Description

鍵交換方法、鍵交換システム
 この発明は情報セキュリティ技術の応用に関し、特に、グループを形成する複数のユーザが共通鍵を共有する鍵交換技術に関する。
 従来からグループを形成する複数のユーザが共通鍵を共有する鍵交換技術が提案されている(例えば、非特許文献1、2参照)。非特許文献1には、そのような鍵交換技術を実現する情報システムのアーキテクチャが記載されている。非特許文献2には、そのような鍵交換技術のアルゴリズムが記載されている。
Suvo Mittra, "Iolus: a framework for scalable secure multicasting", SIGCOMM '97, pp. 277-288 "Scalable Multicast Key Distribution"、[online]、[平成28年7月12日検索]、インターネット<URL:https://tools.ietf.org/html/rfc1949>
 非特許文献1、2に記載の従来技術では、共通鍵を共有したユーザ以外のユーザと新たに共有するなど動的なメンバ変更を許しながら複数のユーザが共通鍵を共有することはできない。また、ユーザ数をnとして、全体として鍵交換に必要な計算量はO(log n)となるため、ユーザ数の増大に従って鍵交換の計算量が増えるという問題がある。
 この発明の目的は、このような点に鑑みて、共通鍵を共有するメンバの変更を許しながら複数のユーザが共通鍵を共有することができ、鍵交換に必要な計算量を低減することができる鍵交換技術を提供することである。
 本発明の一態様は、nを2以上の整数とし、iを1からnまでの各整数とし、jを2からnまでの各整数とし、Sを鍵配送装置とし、Uiをn台の通信装置とし、U1を上記通信装置Uiから選択された1台の代表通信装置とし、Ujを上記通信装置Uiから上記代表通信装置U1を除いたn-1台の一般通信装置とし、||を連結演算子とし、α, βを次式で定義されるとし、
Figure JPOXMLDOC01-appb-M000003
 
上記鍵配送装置Sの記憶部に、秘密ストリングstS, st'Sが記憶されており、上記通信装置Uiの記憶部に、秘密ストリングsti, st'iが記憶されており、上記通信装置Uiが、ねじれ擬似ランダム関数により上記秘密ストリングsti, st'iを用いてri, ki, siを生成し、Ri=gr_iおよびci=gk_ihs_iを計算し、(Ri, ci)を上記鍵配送装置Sへ送信する第一鍵生成ステップと、上記鍵配送装置Sが、ターゲット衝突困難ハッシュ関数によりc1, …, cnを用いてsidを生成し、各iについて(sid, Rα, Rβ)を上記通信装置Uiへ送信するセッションID生成ステップと、上記代表通信装置U1が、擬似ランダム関数により(sid, Rn r_1)を用いてK1 lを生成し、擬似ランダム関数により(sid, R2 r_1)を用いてK1 rを生成し、K1 lとK1 rとの排他的論理和によりT1を計算し、K1 lとk1||s1との排他的論理和によりT'を計算し、(T1, T')を上記鍵配送装置Sへ送信する代表第二鍵生成ステップと、上記一般通信装置Ujが、擬似ランダム関数により(sid, Rα r_j)を用いてKj lを生成し、擬似ランダム関数により(sid, Rβ r_j)を用いてKj rを生成し、Kj lとKj rとの排他的論理和によりTjを計算し、(kj, sj,Tj)を上記鍵配送装置Sへ送信する一般第二鍵生成ステップと、上記鍵配送装置Sが、ねじれ擬似ランダム関数により上記秘密ストリングstS, st'Sを用いてksを生成し、k2, …, kn, ksの排他的論理和によりk'を計算し、各jについてT1, …, Tj-1の排他的論理和によりT'jを計算し、k'を上記代表通信装置U1へ送信し、(k', T'j, T')を上記一般通信装置Ujへ送信する第三鍵生成ステップと、上記一般通信装置Ujが、T'jとKj lとの排他的論理和によりK1 lを計算し、T'とK1 lとの排他的論理和によりk1||s1を計算する第一セッション鍵生成ステップと、上記通信装置Uiが、擬似ランダム関数によりsidおよびk'とk1との排他的論理和を用いて共通鍵K2を生成する第二セッション鍵生成ステップとを含む。
 本発明の一態様は、nを2以上の整数とし、kを1以上の整数とし、||を連結演算子とし、Sを鍵配送装置とし、Ui(i=1, …, n+k)をn+k台の通信装置とし、通信装置U1, …, Unにより確立されたセッションに通信装置Un+1, …, Un+kが新たに参加する際の鍵交換方法であって、U1を上記通信装置U1, Un, Un+1, …, Un+kから選択された1台の代表通信装置とし、上記鍵配送装置Sの記憶部に、秘密ストリングstS, st'Sが記憶されており、上記通信装置Ui(i=1, …, n+k)の記憶部に、秘密ストリングsti, st'iが記憶されており、さらに、上記通信装置U1, …, Unの記憶部に、上記通信装置U1, …, Unにより確立されたセッションで生成された秘密情報rが記憶されており、上記通信装置Ui(i=1, n, …, n+k)が、ねじれ擬似ランダム関数により上記秘密ストリングsti, st'iを用いてri, ki, siを生成し、Ri=gr_iおよびci=gk_ihs_iを計算し、(Ri, ci)を上記鍵配送装置Sへ送信し、上記通信装置Ui(i=2, …, n-1)が、ねじれ擬似ランダム関数により上記秘密ストリングsti, st'iを用いてki, siを生成し、ci=gk_ihs_iを計算し、ciを上記鍵配送装置Sへ送信する第一鍵生成ステップと、上記鍵配送装置Sが、ターゲット衝突困難ハッシュ関数によりc1, …, cn+kを用いてsidを生成し、i=1, 2について(sid, Ri-1)を、i=3, …, n-2についてsidを、i=n-1, nについて(sid, Ri+1)を、i=n+1, …, n+kについて(sid, Ri-1, Ri+1)を上記通信装置Uiへ送信する(ただし、R0=Rn+K,Rn+k+1=R1とする)セッションID生成ステップと、上記代表通信装置U1が、擬似ランダム関数により(sid, Rn+k r_1)を用いてK1 lを生成し、擬
似ランダム関数により(sid, gr_1r)を用いてK1 rを生成し、K1 lとK1 rとの排他的論理和によりT1を計算し、K1 lとk1||s1との排他的論理和によりT'を計算し、(T1, T')を上記鍵配送装置Sへ送信し、上記通信装置U2が、擬似ランダム関数により(sid, R1 r)を用いてK2 lを生成し、擬似ランダム関数により(sid, gr)を用いてK2 rを生成し、K2 lとK2 rとの排他的論理和によりT2を計算し、(k2, s2, T2)を上記鍵配送装置Sへ送信し、上記通信装置Ui (i=3, …, n-2)が、(ki, si)を上記鍵配送装置Sへ送信し、上記通信装置Un-1が、擬似ランダム関数により(sid, gr)を用いてKn-1 lを生成し、擬似ランダム関数により(sid, Rn r)を用いてKn-1 rを生成し、Kn-1 lとKn-1 rとの排他的論理和によりTn-1を計算し、(kn-1, sn-1, Tn-1)を上記鍵配送装置Sへ送信し、上記通信装置Unが、擬似ランダム関数により(sid, Rn r)を用いてKn lを生成し、擬似ランダム関数により(sid, Rn+1 r_n)を用いてKn rを生成し、Kn lとKn rとの排他的論理和によりTnを計算し、(kn, sn, Tn)を上記鍵配送装置Sへ送信し、上記通信装置Ui(i=n+1, …, n+k)が、擬似ランダム関数により(sid, Ri-1 r_i)を用いてKi lを生成し、擬似ランダム関数により(sid, Ri+1 r_i)を用いてKi rを生成し、Ki lとKi rとの排他的論理和によりTiを計算し、(ki, si, Ti)を上記鍵配送装置Sへ送信する第二鍵生成ステップと、上記鍵配送装置Sが、ねじれ擬似ランダム関数により上記秘密ストリングstS, st'Sを用いてksを生成し、k2, …, kn+k, ksの排他的論理和によりk'を計算し、i=2,…, n+kについてT1, …, Ti-1(ただし、i=3, …, n-1についてTiを空とする)の排他的論理和によりT'iを計算し、k'を上記代表通信装置U1へ送信し、(k', T'i, T')を上記通信装置Ui(i=2, …, n+k)へ送信する第三鍵生成ステップと、上記通信装置Ui(i=2, n, …, n+k)が、T'iとKi lとの排他的論理和によりK1 lを計算し、T'とK1 lとの排他的論理和によりk1||s1を計算し、上記通信装置Ui(i=3, …, n-1)が、T'iとgrとの排他的論理和によりK1 lを計算し、T'とK1 lとの排他的論理和によりk1||s1を計算する第一セッション鍵生成ステップと、上記通信装置Ui(i=1, …, n+k)が、擬似ランダム関数によりsidおよびk'とk1との排他的論理和を用いて共通鍵K2を生成する第二セッション鍵生成ステップとを含む。
 この発明によれば、共通鍵を共有するメンバの変更を許しながら複数のユーザが共通鍵を共有することができる。鍵交換に必要な計算量が、ユーザ数の定数回、すなわちO(1)となり、従来よりも削減されている。
鍵交換システムの機能構成を例示する図である。 鍵配送装置の機能構成を例示する図である。 通信装置の機能構成を例示する図である。 鍵交換方法の処理フロー(システムセットアップ)を例示する図である。 鍵交換方法の処理フロー(セッション鍵配送)を例示する図である。 鍵交換方法の処理フロー(ユーザ追加)を例示する図である。
 実施形態の説明に先立って、この明細書における表記方法等について説明する。
<表記方法>
 _(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
 ある集合Setについて、Setから要素mをランダムに選ぶことを、m∈RSetと表記する。
 あるアルゴリズムALGについて、入力xと乱数rに対してALGがyを出力することを、y←ALG(x;r)と表記する。なお、ALGが確定的アルゴリズムの場合は、乱数rは空である。
 |・|は値・のビット長とする。
<定義>
 кをセキュリティパラメータとする。
 F={Fк: Domк×FSк→Rngк}кを定義域{Domк}к、鍵空間{FSк}к、値域{Rngк}к
を持つ関数族とする。このとき、もし任意の多項式時間の識別者Dに対して、関数Fкと真正ランダム関数RFк: Domк→Rngкが見分けられなければ、F={Fк}кを擬似ランダム関数族と呼ぶ。擬似ランダム関数の具体例は、例えば、下記参考文献1に記載されている。
〔参考文献1〕O.ゴールドライヒ著、「現代暗号・確率的証明・擬似乱数」、シュプリンガー・フェアラーク東京、2001年
 H={Hк: Domк→Rngк}кを定義域{Domк}к、値域{Rngк}кを持つハッシュ関数族とする。このとき、もし任意の多項式時間の攻撃者Aに対して、x∈RDomкを与えた上でHк(x)=Hк(x')となるようなx'(≠x)を見つけられなければ、H={Hк}кをターゲット衝突困難ハッシュ関数族と呼ぶ。ターゲット衝突困難ハッシュ関数の具体例は、例えば、下記参考文献2に記載されている。
〔参考文献2〕J.A.ブーフマン著、「暗号理論入門 原書第3版」、丸善出版、2007年
 メッセージ認証コードアルゴリズムを(MGen, Tag, Ver)とする。MAC鍵生成アルゴリズムMGenはセキュリティパラメータкを入力とし、MAC鍵mkを出力する。タグ生成アルゴリズムTagはMAC鍵mkと平文mを入力とし、認証タグσを出力する。検証アルゴリズムVerはMAC鍵mkと平文mと認証タグσを入力とし、認証タグσが正しければ1を、正しくなければ0を出力する。メッセージ認証コードアルゴリズムの具体例は、例えば、上記参考文献2に記載されている。
 関数暗号アルゴリズムを(Setup, Der, FEnc, FDec)とする。セットアップアルゴリズムSetupはセキュリティパラメータкを入力とし、マスタ秘密鍵mskと公開パラメータParamsを出力する。鍵導出アルゴリズムDerは公開パラメータParamsとマスタ秘密鍵mskと属性Aを入力とし、ユーザ秘密鍵uskを出力する。暗号化アルゴリズムFEncは公開パラメータParamsとアクセス構造Pと平文mを入力とし、暗号文CTを出力する。復号アルゴリズムFDecはユーザ秘密鍵uskと暗号文CTを入力とし、属性Aがアクセス構造Pを満たすならば平文mを出力する。関数暗号アルゴリズムの具体例は、例えば、下記参考文献3に記載されている。
〔参考文献3〕D. Boneh, A. Sahai, and B. Waters, “Functional encryption: definitions and challenges”, TCC, Lecture Notes in Computer Science, vol. 6597, pp. 253-273, 2011.
 IDベース暗号アルゴリズムを(IBE-Setup, IBE-Der, IBE-Enc, IBE-Dec)とする。セットアップアルゴリズムIBE-Setup はセキュリティパラメータкを入力とし、マスタ秘密鍵mskと公開パラメータParamsを出力する。鍵導出アルゴリズムIBE-Der は公開パラメータParams、マスタ秘密鍵mskとID∈{0, 1}*を入力とし、ユーザ秘密鍵uskを出力する。暗号化アルゴリズムIBE-Encは公開パラメータParams、ID∈{0, 1}*と平文mを入力とし、暗号文CTを出力する。復号アルゴリズムIBE-Decは公開パラメータParams、ユーザ秘密鍵uskと暗号文CTを入力とし、平文mを出力する。IDベース暗号アルゴリズムの具体例は、例えば、下記参考文献4の8章“Boneh-Franklin IBE”、9章“Boneh-Boyen IBE”に記載されている。
〔参考文献4〕 Luther Martin, “Introduction to Identity-Based Encryption”, 1stEdition, Artech House, January 2008.
 関数tPRF: {0, 1}к×FSк×FSк×{0, 1}к→Rngкをねじれ擬似ランダム関数と呼び、擬似ランダム関数Fкを用いて、
Figure JPOXMLDOC01-appb-M000004
と定義する。ただし、a, b'∈{0, 1}кであり、a', b∈FSкである。ねじれ擬似ランダム関数の具体例は、例えば、下記参考文献5に記載されている。
〔参考文献5〕Kazuki Yoneyama, “One-Round Authenticated Key Exchange with Strong Forward Secrecy in the Standard Model against Constrained Adversary”, IEICE Transactions, vol. E96-A, no. 6, pp. 1124-1138, 2013.
 以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
<システム構成>
 実施形態の鍵交換システムは、図1に例示するように、鍵配送装置1およびN(≧2)台の通信装置21, …, 2Nを含む。この実施形態では、鍵配送装置1および通信装置21,…, 2Nはそれぞれ通信網3へ接続される。通信網3は、鍵配送装置1が通信装置21, …, 2Nそれぞれと通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網である。この実施形態では、通信装置21, …, 2N同士は通信できなくともよい。通信網3は安全が確保された通信路である必要はなく、例えばインターネットなどを用いることができる。
 鍵配送装置1は、図2Aに例示するように、記憶部100、第一セットアップ部101、第二セットアップ部102、ユーザID受信部103、初期鍵生成部104、秘密ストリング生成部105、ユーザ鍵送信部111、セッションID生成部113、認証タグ検証部114、第三鍵生成部115、および認証タグ生成部116を含む。通信装置2は、図2Bに例示するように、記憶部200、ユーザID送信部203、初期鍵受信部204、秘密ストリング生成部205、ユーザ鍵受信部211、第一鍵生成部212、第二鍵生成部214、認証タグ生成部215、認証タグ検証部216、およびセッション鍵生成部217を含む。この鍵配送装置1および通信装置21, …, 2Nが、図3~図5に例示する各ステップの処理を行うことにより実施形態の鍵交換方法が実現される。
 鍵配送装置1および通信装置21, …, 2Nは、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。各装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。各装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。各装置が備える各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
 鍵配送装置1が備える記憶部100および通信装置21, …, 2Nが備える記憶部200は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。各記憶部は秘密情報を記憶するため、耐タンパ性を有する記憶装置(例えば、SIMカードなど)であることが望ましい。
<システムセットアップ>
 図3を参照して、実施形態の鍵交換方法におけるシステムセットアップの処理手続きを説明する。
 以降の説明では、以下のように記号を定義する。Sは鍵配送装置1を示し、Ui(i∈{1, …, N})はN台の通信装置21, …, 2Nを示すものとする。Gをкビットの素数位数pの乗法巡回群とする。g, hをそれぞれ群Gの生成元とする。H: {0, 1}*→{0, 1}кをターゲット衝突困難ハッシュ関数とする。tPRF: {0, 1}к×FSк×FSк×{0, 1}к→Zp、tPRF': {0, 1}к×FSк×FSк×{0, 1}к→FSкをねじれ擬似ランダム関数とする。F: {0, 1}к×G→Zp 2、F': {0, 1}к×Zp→FSк、F": {0, 1}к×FSк→{0, 1}к、F''': {0, 1}к×FSк→Zpを擬似ランダム関数とする。
 なお、S, Uiを各アルゴリズムの入力とする場合、各装置を一意に特定する識別子を表すものとする。
 ステップS101において、鍵配送装置Sの第一セットアップ部101は、関数暗号のセットアップアルゴリズムSetupにより公開パラメータParamsおよびマスタ秘密鍵mskを生成する。第一セットアップ部101は、公開パラメータParamsを通信装置U1, …, UNそれぞれへ送信する。公開パラメータParamsおよびマスタ秘密鍵mskは記憶部100へ記憶される。また、通信装置Uiは、鍵配送装置Sから受信した公開パラメータParamsを記憶部200へ記憶する。
 ステップS102において、鍵配送装置Sの第二セットアップ部102は、IDベース暗号のセットアップアルゴリズムIBE-Setupにより、鍵配送装置Sの公開パラメータParams'およびマスタ秘密鍵msk'を生成する。公開パラメータParams'およびマスタ秘密鍵msk'は記憶部100へ記憶される。
 ステップS203において、通信装置UiのユーザID送信部203は、鍵配送装置SへユーザIDを登録するため、Uiを鍵配送装置Sへ送信する。ユーザIDは、ユーザを識別することができる任意の文字列であればよいので、例えば、メールアドレスを用いることができる。
 ステップS103において、鍵配送装置SのユーザID受信部103は、ユーザIDであるUiを受信する。ステップS104において、鍵配送装置Sの初期鍵生成部104は、IDベース暗号の鍵導出アルゴリズムIBE-Derにより、通信装置Uiの初期鍵skU_i←IBE-Der(Params’, msk’, Ui)を生成し、通信装置Uiに送信する。
 ステップS204において、通信装置Uiの初期鍵受信部204は、通信装置Uiの初期鍵skU_iを受信する。通信装置Uiは、初期鍵skU_iを記憶部200へ記憶する。
 ステップS105において、鍵配送装置Sの秘密ストリング生成部105は、ねじれ擬似ランダム関数で用いる秘密ストリング(stS, st'S)をstSRFSк、st'S∈{0, 1}кとして生成する。秘密ストリング(stS, st'S)は記憶部100へ記憶される。
 ステップS205において、通信装置Uiの秘密ストリング生成部205は、ねじれ擬似ランダム関数で用いる秘密ストリング(sti, st'i)をstiRFSк、st'i∈{0, 1}кとして生成する。秘密ストリング(sti, st'i)は記憶部200へ記憶される。
<セッション鍵配送>
 図4を参照して、実施形態の鍵交換方法におけるセッション鍵配送の処理手続きを説明する。
 以下では、N台の通信装置21, …, 2Nのうち任意のn(≦N)台の通信装置Ui(i∈{1, …, n})が共通鍵であるセッション鍵SKの共有を行うものとする。
 ステップS111において、鍵配送装置Sのユーザ鍵送信部111は、通信装置Uiがセッションを開始したときに、そのセッションが通信装置UiのタイムフレームTFにおける最初のセッションだった場合、現在時刻をtimeとし、属性をAi=(Ui, time)として、関数暗号の鍵導出アルゴリズムDerにより、通信装置Uiのユーザ秘密鍵uski←Der(Params, msk, Ai)を生成する。また、ユーザ鍵送信部111は、メッセージ認証コードの鍵生成アルゴリズムMGenにより、通信装置UiのMAC鍵mki←MGenを生成する。そして、ユーザ鍵送信部111は、IDベース暗号の暗号化アルゴリズムIBE-Encにより、ユーザ秘密鍵uskiおよびMAC鍵mkiを暗号化し、暗号文CTi←IBE-Enc(Params', Ui, (uski, mki))を生成する。ユーザ鍵送信部111は、暗号文CTiを通信装置Uiへそれぞれ送信する。
 ステップS211において、通信装置Uiのユーザ鍵受信部211は、IDベース暗号の復号アルゴリズムIBE-Decにより、通信装置Uiの初期鍵skU_iを用いて鍵配送装置Sから受信した暗号文CTiを復号し、ユーザ秘密鍵およびMAC鍵(uski, mki)←IBE-Decsk_Ui(CTi, Params')を得る。ユーザ鍵受信部211は、ユーザ秘密鍵uskiおよびMAC鍵mkiを記憶部200へ記憶する。
 ステップS212において、通信装置Uiの第一鍵生成部212は、~riR{0, 1}к, ~r'iRFSк, ~kiR{0, 1}к, ~k'iRFSк, ~siR{0, 1}к, ~s'iRFSкを生成し、ねじれ擬似ランダム関数tPRFにより、ri=tPRF(~ri, ~r'i, sti, st'i), ki=tPRF(~ki, ~k'i, sti, st'i), si=tPRF(~si, ~s'i, sti, st'i)を計算する。また、第一鍵生成部212は、Ri=gr_i, ci=gk_ihs_iを計算する。そして、第一鍵生成部212は、(Ri, ci)を鍵配送装置Sへ送信する。
 ステップS112において、鍵配送装置Sは、通信装置Uiから(Ri, ci)を受信する。このとき、すべての通信装置U1, …, Unから(R1, c1), …, (Rn, cn)を受信するまで鍵配送装置Sは待機する。
 ステップS113において、鍵配送装置SのセッションID生成部113は、ターゲット衝突困難ハッシュ関数Hにより、通信装置U1, …, Unから受信したc1, …, cnを用いて、sid=H(c1, …, cn)を生成する。また、n台の通信装置U1, …, Unから1台の通信装置を代表者として選択する。代表者の選択方法は任意であり、例えば、予め定めておいた優先順位が最も高い通信装置を選択してもよいし、直近でセッションを開始した通信装置を選択してもよい。ここでは、通信装置U1が選択されたものとし、U1を代表通信装置と呼ぶ。また、代表通信装置U1以外のn-1台の通信装置Uj(j∈{2, …, n})を一般通信装置と呼ぶ。セッションID生成部113は、次式のようにα, βを計算し、(sid, Rα, Rβ)を通信装置Uiへそれぞれ送信する。また、鍵配送装置Sは、U1には代表通信装置であることを通知しておく。
Figure JPOXMLDOC01-appb-M000005
 ステップS213において、通信装置Uiは、鍵配送装置Sから(sid, Rα, Rβ)をそれぞれ受信する。通信装置Uiは、(sid, Rα, Rβ)を受け取り次第、以降の処理を実行する。i=2, …, nの場合、すなわち通信装置Uiが通信装置Uj(i=j)であれば、ステップS214jへ処理を進める。i=1の場合、すなわち通信装置Uiが代表通信装置U1であれば、ステップS2141へ処理を進める。
 ステップS214jにおいて、一般通信装置Ujの第二鍵生成部214は、次式のように、擬似ランダム関数Fにより(sid, Rα r_j)を用いてKj lを生成し、擬似ランダム関数Fにより(sid, Rβ r_j)を用いてKj rを生成し、Kj lとKj rとの排他的論理和によりTjを計算する。
Figure JPOXMLDOC01-appb-M000006
 ステップS215jにおいて、一般通信装置Ujの認証タグ生成部215は、メッセージ認証コードのタグ生成アルゴリズムTagにより、MAC鍵mkjを用いて、認証タグσj=Tagmk_j(Rj, cj, Rα, Rβ, kj, sj, Tj, Uj, sid)を生成する。認証タグ生成部215は、(kj, sj, Tj, σj)を鍵配送装置Sへ送信する。
 ステップS2141において、代表通信装置U1の第二鍵生成部214は、次式のように、擬似ランダム関数Fにより(sid, Rn r_1)を用いてK1 lを生成し、擬似ランダム関数Fにより(sid, R2 r_1)を用いてK1 rを生成し、K1 lとK1 rとの排他的論理和によりT1を計算し、K1 lとk1||s1との排他的論理和によりT'を計算する。ただし、||は連結演算子である。
Figure JPOXMLDOC01-appb-M000007
 ステップS2151において、代表通信装置U1の認証タグ生成部215は、メッセージ認証コードのタグ生成アルゴリズムTagにより、MAC鍵mk1を用いて、認証タグσ1=Tagmk_1(R1, c1, Rn, R2, T1, T', U1, sid)を生成する。認証タグ生成部215は、(T1, T', σ1)を鍵配送装置Sへ送信する。
 ステップS114jにおいて、鍵配送装置Sの認証タグ検証部114は、j=2, …, nについて、一般通信装置Ujから(kj, sj, Tj, σj)を受信し、メッセージ認証コードの検証アルゴリズムVerにより、一般通信装置UjのMAC鍵mkjを用いて、Vermk_j(Rj, cj, Rα, Rβ,kj, sj, Tj, Uj, sid, σj)を検証する。認証タグσjが正当でなければ、認証タグ検証部114は、一般通信装置Ujのセッションを終了する。また、認証タグ検証部114は、j=2, …, nについて、cj=gk_jhs_jが成り立つか否かを検証する。成り立たなければ、認証タグ検証部114は、一般通信装置Ujのセッションを終了する。
 ステップS1141において、鍵配送装置Sの認証タグ検証部114は、代表通信装置U1から(T1, T', σ1)を受信し、メッセージ認証コードの検証アルゴリズムVerにより、代表通信装置U1のMAC鍵mk1を用いて、Vermk_1(R1, c1, Rn, R2, T1, T', U1, sid, σ1)を検証する。認証タグσ1が正当でなければ、認証タグ検証部114は、代表通信装置U1のセッションを終了する。
 ステップS115aにおいて、鍵配送装置Sの第三鍵生成部115は、~kSR{0, 1}к,~k'SRFSк, ~K1R{0, 1}к, ~K'1RFSкを生成し、ねじれ擬似ランダム関数tPRFにより、kS=tPRF(~kS, ~k'S, stS, st'S), K1=tPRF' (~K1, ~K'1, stS, st'S)を計算する。また、第三鍵生成部115は、次式により、k'を計算する。
Figure JPOXMLDOC01-appb-M000008
 ステップS115bにおいて、鍵配送装置Sの第三鍵生成部115は、j=2, …, nについて、次式により、T'jを計算する。
Figure JPOXMLDOC01-appb-M000009
 ステップS115cにおいて、鍵配送装置Sの第三鍵生成部115は、i=1, …, nについて、アクセス構造Pi=(ID=Ui)∧(time∈TF)として、関数暗号の暗号化アルゴリズムFEncにより共通鍵K1を暗号化して、暗号文CT'i=FEnc(Params, Pi, K1)を生成する。ここで、IDは通信装置を表す述語変数であり、TFは通信装置のタイムフレームを表す述語変数である。
 ステップS116jにおいて、鍵配送装置Sの認証タグ生成部116は、j=2, …, nについて、メッセージ認証コードのタグ生成アルゴリズムTagにより、一般通信装置UjのMAC鍵mkjを用いて認証タグσ'j=Tagmk_j(Rj, cj, Rα, Rβ, kj, sj, Tj, Uj, sid, c1, k', T'j, T', CT'j)を生成する。認証タグ生成部116は、(c1, k', T'j, T', CT'j, σ'j)を一般通信装置Ujへ送信する。
 ステップS1161において、鍵配送装置Sの認証タグ生成部116は、メッセージ認証コードのタグ生成アルゴリズムTagにより、代表通信装置U1のMAC鍵mk1を用いて、認証タグσ'1=Tagmk_1(R1, c1, Rn, R2, T1, T', U1, sid, k', CT'1)を生成する。認証タグ生成部116は、(k', CT'1, σ'1)を代表通信装置U1へ送信する。
 ステップS216jにおいて、一般通信装置Ujの認証タグ検証部216は、鍵配送装置Sから(c1, k', T'j, T', CT'j, σ'j)を受信し、メッセージ認証コードの検証アルゴリズムVerにより、一般通信装置UjのMAC鍵mkjを用いて、Vermk_j(Rj, cj, Rα, Rβ, kj, sj,Tj, Uj, sid, c1, k', T'j, T', CT'j, σ'j)を検証する。認証タグσ'jが正当でなければ、認証タグ検証部216は、一般通信装置Ujのセッションを終了する。また、認証タグ検証部216は、次式のように、T'jとKj lとの排他的論理和によりK1 lを計算し、T'とK1 lとの排他的論理和によりk1||s1を計算する。
Figure JPOXMLDOC01-appb-M000010
 そして、認証タグ検証部216は、c1=gk_1hs_1が成り立つか否かを検証する。成り立たなければ、認証タグ検証部216は、一般通信装置Ujのセッションを終了する。
 ステップS2161において、代表通信装置U1の認証タグ検証部216は、鍵配送装置Sから(k', CT'1, σ'1)を受信し、メッセージ認証コードの検証アルゴリズムVerにより、代表通信装置U1のMAC鍵mk1を用いて、Vermk_1(R1, c1, Rn, R2, T1, T', U1, sid, k', CT'1, σ'1)を検証する。認証タグσ'1が正当でなければ、認証タグ検証部216は、代表通信装置U1のセッションを終了する。
 ステップS217において、通信装置Uiのセッション鍵生成部217は、関数暗号の復号アルゴリズムFDecにより、通信装置Uiのユーザ秘密鍵uskiを用いて、共通鍵K1←FDecusk_i(CT'i, Pi)を復号する。また、セッション鍵生成部217は、次式のように、擬似ランダム関数F'により共通鍵K2を計算する。
Figure JPOXMLDOC01-appb-M000011
 そして、セッション鍵生成部217は、次式のように、擬似ランダム関数F"によりセッション鍵SKを計算する。
Figure JPOXMLDOC01-appb-M000012
 上記のように構成することにより、この発明の鍵交換技術によれば、鍵交換を行う可能性があるユーザの情報としてユーザIDのみを登録しておけば、複数のユーザが共通鍵を共有することができる。特に、鍵配送装置Sに対してユーザID以外のいかなる情報も漏らさずに複数のユーザが共通鍵K2とセッション鍵SKを共有することができる。また、従来は鍵交換に必要な全体の計算量がユーザ数をnとしてO(log n)となるが、この発明によればユーザ数の定数回、すなわちO(1)となるため、従来よりも少ない計算量で鍵交換ができる。
 また、IDベース暗号を用いることにより、既存のIDを使って鍵を発行することができるため、一般の公開鍵暗号の場合に必要となる公開鍵データベースを用意する必要がなくなり、運用するコストが下がるという効果がある。
 以下では、セッション鍵を共有した複数のユーザに新たなユーザを追加する時の鍵交換方法の処理手続きについて説明する。通信装置Ui(i∈{1, …, n})でセッション鍵SKの共有が済んでいるものとする。鍵交換処理終了時(S217の後)に、ユーザ追加のために用いる秘密情報を各通信装置Uiは記憶部200に記憶する。代表通信装置U1は、次式で計算される秘密情報H1 l、H1 r、rを記憶部200に記憶する。
Figure JPOXMLDOC01-appb-M000013
 一般通信装置Uj(j∈{2, …, n})は、次式で計算される秘密情報Hj l、Hj r、rを記憶部200に記憶する。
Figure JPOXMLDOC01-appb-M000014
<ユーザ追加>
 図5を参照して、実施形態の鍵交換方法におけるユーザ追加の処理手続きを説明する。
 通信装置U1, …, Unにより確立されたセッションに通信装置Un+1, …, Un+kが新たに参加するものとする(kは1以上の整数、n+kはN以下の整数)。以下、i∈{1, …, n+k}とする。
 ステップS311において、鍵配送装置Sのユーザ鍵送信部111は、通信装置Ui(i=1,…, n+k)がセッションを開始したときに、そのセッションが通信装置UiのタイムフレームTF'における最初のセッションだった場合、現在時刻をtimeとし、属性をAi=(Ui, time)として、関数暗号の鍵導出アルゴリズムDerにより、通信装置Uiのユーザ秘密鍵uski←Der(Params, msk, Ai)を生成する。また、ユーザ鍵送信部111は、メッセージ認証コードの鍵生成アルゴリズムMGenにより、通信装置UiのMAC鍵mki←MGenを生成する。そして、ユーザ鍵送信部111は、IDベース暗号の暗号化アルゴリズムIBE-Encにより、ユーザ秘密鍵uskiおよびMAC鍵mkiを暗号化し、暗号文CTi←IBE-Enc (Params', Ui, (uski, mki))を生成する。ユーザ鍵送信部111は、暗号文CTiを通信装置Uiへそれぞれ送信する。
 ステップS411において、通信装置Uiのユーザ鍵受信部211は、IDベース暗号の復号アルゴリズムIBE-Decにより、通信装置Uiの初期鍵skU_iを用いて鍵配送装置Sから受信した暗号文CTiを復号し、ユーザ秘密鍵およびMAC鍵(uski, mki)←IBE-Decsk_Ui(CTi, Params')を得る。ユーザ鍵受信部211は、ユーザ秘密鍵uskiおよびMAC鍵mkiを記憶部200へ記憶する。
 ステップS412において、i∈{1}∪[n, n+k]の場合、通信装置Uiの第一鍵生成部212は、~riR{0, 1}к, ~r'iRFSк, ~kiR{0, 1}к, ~k'iRFSк, ~siR{0, 1}к, ~s'iRFSкを生成し、ねじれ擬似ランダム関数tPRFにより、ri=tPRF(~ri, ~r'i, sti, st'i), ki=tPRF(~ki, ~k'i, sti, st'i), si=tPRF(~si, ~s'i, sti, st'i)を計算する。また、第一鍵生成部212は、Ri=gr_i, ci=gk_ihs_iを計算する。そして、第一鍵生成部212は、(Ri, ci)を鍵配送装置Sへ送信する。
 i∈[2, n-1]の場合、通信装置Uiの第一鍵生成部212は、~kiR{0, 1}к, ~k'iRFSк, ~siR{0, 1}к, ~s'iRFSкを生成し、ねじれ擬似ランダム関数tPRFにより、ki=tPRF(~ki, ~k'i, sti, st'i), si=tPRF(~si, ~s'i, sti, st'i)を計算する。また、第一鍵生成部212は、ci=gk_ihs_iを計算する。そして、第一鍵生成部212は、ciを鍵配送装置Sへ送信する。
 ステップS312において、鍵配送装置Sは、通信装置Uiから(Ri, ci)またはciを受信する。このとき、すべての通信装置U1, …, Un+kから(R1, c1), c2,…, cn-1, (Rn, cn) ,…, (Rn+k, cn+k)を受信するまで鍵配送装置Sは待機する。
 ステップS313において、鍵配送装置SのセッションID生成部113は、ターゲット衝突困難ハッシュ関数Hにより、通信装置U1, …, Un+kから受信したc1, …, cn+kを用いて、sid=H(c1, …, cn+k)を生成する。また、k+2台の通信装置U1, Un , Un+1 ,…, Un+kから1台の通信装置を代表者として選択する。ここでは、通信装置U1が選択されたものとし、U1を代表通信装置と呼ぶ。また、代表通信装置U1以外のn+k-1台の通信装置Ui(i∈{2, …, n+k})を一般通信装置と呼ぶ。セッションID生成部113は、i∈[n+1, n+k]の場合、(sid, Ri-1, Ri+1)を通信装置Uiへそれぞれ送信する(ただし、Rn+k+1=R1とする)。また、セッションID生成部113は、i∈[1, 2]の場合、(sid, Ri-1)を通信装置Uiへそれぞれ送信する(ただし、R0=Rn+kとする)。セッションID生成部113は、i∈[3, n-2]の場合、sidを通信装置Uiへそれぞれ送信する。セッションID生成部113は、i∈[n-1, n]の場合、(sid, Ri+1)を通信装置Uiへそれぞれ送信する。また、鍵配送装置Sは、U1には代表通信装置であることを通知しておく。
 ステップS413において、通信装置Uiは、鍵配送装置Sから(sid, Ri-1, Ri+1)、(sid, Ri-1)、sid、(sid, Ri+1)のいずれかをそれぞれ受信する。具体的には、i∈[n+1, n+k]の場合、通信装置Uiは、(sid, Ri-1, Ri+1)を受信する(ただし、Rn+k+1=R1とする)。i∈[1, 2]の場合、通信装置Uiは、(sid, Ri-1)を受信する(ただし、R0=Rn+kとする)。i∈[3, n-2]の場合、通信装置Uiは、sidを受信する。i∈[n-1, n]の場合、通信装置Uiは、(sid, Ri+1)を受信する。
 通信装置Uiは、(sid, Ri-1, Ri+1)、(sid, Ri-1)、sid、(sid, Ri+1)のいずれかを受け取り次第、ステップS414とステップS415の処理を実行する。この処理は、i=1の場合、i=2の場合、i∈[3, n-2]の場合、i=n-1の場合、i=nの場合、i∈[n+1, n+k]の場合の6つに場合分けして実行される。ただし、i∈[3, n-2]の場合、ステップS414ではなにも処理しない。つまり、通信装置Uiは、sidを受け取り次第、ステップS415の処理を実行する。
 i=1の場合、ステップS414において、代表通信装置U1の第二鍵生成部214は、次式のように、擬似ランダム関数Fにより(sid, Rn+k r_1)を用いてK1 lを生成し、擬似ランダム関数Fにより(sid, gr_1r)を用いてK1 rを生成し、K1 lとK1 rとの排他的論理和によりT1を計算し、K1 lとk1||s1との排他的論理和によりT'を計算する。ただし、||は連結演算子である。
Figure JPOXMLDOC01-appb-M000015
 ステップS415において、代表通信装置U1の認証タグ生成部215は、メッセージ認証コードのタグ生成アルゴリズムTagにより、MAC鍵mk1を用いて、認証タグσ1=Tagmk_1(R1, c1, Rn+k, T1, T', U1, sid)を生成する。認証タグ生成部215は、(T1, T', σ1)を鍵配送装置Sへ送信する。
 i=2の場合、ステップS414において、通信装置U2の第二鍵生成部214は、次式のように、擬似ランダム関数Fにより(sid, R1 r)を用いてK2 lを生成し、擬似ランダム関数Fにより(sid, gr)を用いてK2 rを生成し、K2 lとK2 rとの排他的論理和によりT2を計算する。
Figure JPOXMLDOC01-appb-M000016
 ステップS415において、通信装置U2の認証タグ生成部215は、メッセージ認証コードのタグ生成アルゴリズムTagにより、MAC鍵mk2を用いて、認証タグσ2=Tagmk_2(c2, R1, k2, s2, T2, U2, sid)を生成する。認証タグ生成部215は、(k2, s2, T2, σ2)を鍵配送装置Sへ送信する。
 i∈[3, n-2]の場合、ステップS415において、通信装置Uiの認証タグ生成部215は、メッセージ認証コードのタグ生成アルゴリズムTagにより、MAC鍵mkiを用いて、認証タグσi=Tagmk_i(ci, ki, si, Ui, sid)を生成する。認証タグ生成部215は、(ki, sii)を鍵配送装置Sへ送信する。
 i=n-1の場合、ステップS414において、通信装置Un-1の第二鍵生成部214は、次式のように、擬似ランダム関数Fにより(sid, gr)を用いてKn-1 lを生成し、擬似ランダム関数Fにより(sid, Rn r)を用いてKn-1 rを生成し、Kn-1 lとKn-1 rとの排他的論理和によりTn-1を計算する。
Figure JPOXMLDOC01-appb-M000017
 ステップS415において、通信装置Un-1の認証タグ生成部215は、メッセージ認証コードのタグ生成アルゴリズムTagにより、MAC鍵mkn-1を用いて、認証タグσn-1=Tagmk_n-1(cn-1, Rn, kn-1, sn-1, Tn-1, Un-1, sid)を生成する。認証タグ生成部215は、(kn-1, sn-1, Tn-1, σn-1)を鍵配送装置Sへ送信する。
 i=nの場合、ステップS414において、通信装置Unの第二鍵生成部214は、次式のように、擬似ランダム関数Fにより(sid, Rn r)を用いてKn lを生成し、擬似ランダム関数Fにより(sid, Rn+1 r_n)を用いてKn rを生成し、Kn lとKn rとの排他的論理和によりTnを計算する。
Figure JPOXMLDOC01-appb-M000018
 ステップS415において、通信装置Unの認証タグ生成部215は、メッセージ認証コードのタグ生成アルゴリズムTagにより、MAC鍵mknを用いて、認証タグσn=Tagmk_n(Rn, cn, Rn+1, kn, sn, Tn, Un, sid)を生成する。認証タグ生成部215は、(kn, sn, Tn, σn)を鍵配送装置Sへ送信する。
 i∈[n+1, n+k]の場合、ステップS414において、通信装置Uiの第二鍵生成部214は、次式のように、擬似ランダム関数Fにより(sid, Ri-1 r_i)を用いてKi lを生成し、擬似ランダム関数Fにより(sid, Ri+1 r_i)を用いてKi rを生成し、Ki lとKi rとの排他的論理和によりTiを計算する。
Figure JPOXMLDOC01-appb-M000019
 ステップS415において、通信装置Uiの認証タグ生成部215は、メッセージ認証コードのタグ生成アルゴリズムTagにより、MAC鍵mkiを用いて、認証タグσi=Tagmk_i(Ri, ci, Ri-1, Ri+1, ki, si, Ti, Ui, sid)を生成する。認証タグ生成部215は、(ki, si, Ti, σi)を鍵配送装置Sへ送信する。
 ステップS314において、鍵配送装置Sの認証タグ検証部114は、代表通信装置U1から(T1, T', σ1)を受信し、i=2, n-1, …, n+kについて、一般通信装置Uiから(ki, si,Ti, σi)を受信し、i=3, …, n-2について、一般通信装置Uiから(ki, si, σi)を受信し、メッセージ認証コードの検証アルゴリズムVerにより検証する。認証タグσi (i=1, …,n+k) が正当でなければ、認証タグ検証部114は、通信装置Uiのセッションを終了する。また、認証タグ検証部114は、i=2, …, n+kについて、ci=gk_ihs_iが成り立つか否かを検証する。成り立たなければ、認証タグ検証部114は、一般通信装置Uiのセッションを終了する。
 ステップS315aにおいて、鍵配送装置Sの第三鍵生成部115は、~kSR{0, 1}к,~k'SRFSкを生成し、ねじれ擬似ランダム関数tPRFにより、kS=tPRF(~kS, ~k'S, stS, st'S)を計算する。また、第三鍵生成部115は、次式により、k'を計算する。
Figure JPOXMLDOC01-appb-M000020
 ステップS315bにおいて、鍵配送装置Sの第三鍵生成部115は、i=2, …, n+kについて、次式により、T'iを計算する。
Figure JPOXMLDOC01-appb-M000021
ただし、i=3, …, n-1について、Tiを空とする。したがって、T3'=…=Tn-1'=0となる。
 ステップS315cにおいて、鍵配送装置Sの第三鍵生成部115は、i=1, …, n+kについて、アクセス構造Pi=(ID=Ui)∧(time∈TF)として、関数暗号の暗号化アルゴリズムFEncにより共通鍵K1を暗号化して、暗号文CT'i=FEnc(Params, Pi, K1)を生成する。ここで、IDは通信装置を表す述語変数であり、TFは通信装置のタイムフレームを表す述語変数である。また、共通鍵K1はステップS115cで生成したものである。
 ステップS316において、鍵配送装置Sは認証タグを生成し、通信装置Uiに送信する。この処理は、i=1の場合、i=2の場合、i∈[3, n-2]の場合、i=n-1の場合、i=nの場合、i∈[n+1, n+k]の場合の6つに場合分けして実行される。
 i=1の場合、鍵配送装置Sの認証タグ生成部116は、メッセージ認証コードのタグ生成アルゴリズムTagにより、代表通信装置U1のMAC鍵mk1を用いて、認証タグσ'1=Tagmk_1(R1, c1, Rn+k, T1, T', U1, sid, k', CT'1)を生成する。認証タグ生成部116は、(k', CT'1, σ'1)を代表通信装置U1へ送信する。
 i=2の場合、鍵配送装置Sの認証タグ生成部116は、メッセージ認証コードのタグ生成アルゴリズムTagにより、一般通信装置U2のMAC鍵mk2を用いて認証タグσ'2=Tagmk_2(c2, R1, k2, s2, T2, U2, sid, c1, k', T'2, T', CT'2)を生成する。認証タグ生成部116は、(c1, k', T'2, T', CT'2, σ'2)を一般通信装置U2へ送信する。
 i∈[3, n-2]の場合、鍵配送装置Sの認証タグ生成部116は、メッセージ認証コードのタグ生成アルゴリズムTagにより、一般通信装置UiのMAC鍵mkiを用いて認証タグσ'i= Tagmk_i(ci, ki, si, Ui, sid, c1, k', T'i, T', CT'i)を生成する。認証タグ生成部116は、(c1, k', T'i, T', CT'i, σ'i)を一般通信装置Uiへ送信する。
 i=n-1の場合、鍵配送装置Sの認証タグ生成部116は、メッセージ認証コードのタグ生成アルゴリズムTagにより、一般通信装置Un-1のMAC鍵mkn-1を用いて認証タグσ'n-1= Tagmk_n-1(cn-1, Rn, kn-1, sn-1, Tn-1, Un-1, sid, c1, k', T'n-1, T', CT'n-1)を生成する。認証タグ生成部116は、(c1, k', T'n-1, T', CT'n-1, σ'n-1)を一般通信装置Un-1へ送信する。
 i=nの場合、鍵配送装置Sの認証タグ生成部116は、メッセージ認証コードのタグ生成アルゴリズムTagにより、一般通信装置UnのMAC鍵mknを用いて認証タグσ'n=Tagmk_n(Rn, cn, Rn+1, kn, sn, Tn, Un, sid, c1, k', T'n, T', CT'n)を生成する。認証タグ生成部116は、(c1, k', T'n, T', CT'n, σ'n)を一般通信装置Unへ送信する。
 i∈[n+1, n+k]の場合、鍵配送装置Sの認証タグ生成部116は、メッセージ認証コードのタグ生成アルゴリズムTagにより、一般通信装置UiのMAC鍵mkiを用いて認証タグσ'i= Tagmk_i(Ri, ci, Ri-1, Ri+1, ki, si, Ti, Ui, sid, c1, k', T'i, T', CT'i)を生成する。認証タグ生成部116は、(c1, k', T'i, T', CT'i, σ'i)を一般通信装置Uiへ送信する。
 ステップS416において、i∈[2, n+k]の場合、一般通信装置Uiの認証タグ検証部216は、鍵配送装置Sから(c1, k', T'i, T', CT'i, σ'i)を受信し、メッセージ認証コードの検証アルゴリズムVerにより、検証する。認証タグσ'iが正当でなければ、認証タグ検証部216は、一般通信装置Uiのセッションを終了する。また、認証タグ検証部216は、i=2, n, …, n+kについては、T'iとKi lとの排他的論理和によりK1 lを計算し、i=3, …, n-1については、T'iとgrとの排他的論理和によりK1 lを計算する。
Figure JPOXMLDOC01-appb-M000022
 さらに、認証タグ検証部216は、T'とK1 lとの排他的論理和によりk1||s1を計算する。
Figure JPOXMLDOC01-appb-M000023
 そして、認証タグ検証部216は、c1=gk_1hs_1が成り立つか否かを検証する。成り立たなければ、認証タグ検証部216は、一般通信装置Uiのセッションを終了する。
 i=1の場合、代表通信装置U1の認証タグ検証部216は、鍵配送装置Sから(k', CT'1,σ'1)を受信し、メッセージ認証コードの検証アルゴリズムVerにより、検証する。認証タグσ'1が正当でなければ、認証タグ検証部216は、代表通信装置U1のセッションを終了する。
 ステップS417において、通信装置Uiのセッション鍵生成部217は、関数暗号の復号アルゴリズムFDecにより、通信装置Uiのユーザ秘密鍵uskiを用いて、共通鍵K1←FDecusk_i(CT'i, Pi)を復号する。また、セッション鍵生成部217は、次式のように、擬似ランダム関数F'により共通鍵K2を計算する。
Figure JPOXMLDOC01-appb-M000024
 そして、セッション鍵生成部217は、次式のように、擬似ランダム関数F"によりセッション鍵SKを計算する。
Figure JPOXMLDOC01-appb-M000025
 最後に、ユーザ追加のために用いる秘密情報を通信装置Ui(i=1, …, n)は更新する。また、通信装置Ui(i=n+1, …, n+k) は新たに記憶部200に記憶する。代表通信装置U1は、次式で計算される秘密情報H1 l、rで記憶部200に記憶しているものを更新する。
Figure JPOXMLDOC01-appb-M000026
 通信装置Ui(i=2, …, n-1)は、次式で計算される秘密情報rで記憶部200に記憶しているものを更新する。
Figure JPOXMLDOC01-appb-M000027
 通信装置Unは、次式で計算される秘密情報Hn r、rで記憶部200に記憶しているものを更新する。
Figure JPOXMLDOC01-appb-M000028
 通信装置Ui(i=n+1, …, n+k) は、次式で計算される秘密情報Hi l、Hi r、rを記憶部200に記憶する。
Figure JPOXMLDOC01-appb-M000029
 上記のように構成することにより、この発明の鍵交換技術によれば、鍵交換を行う可能性があるユーザの情報としてユーザIDのみを登録しておけば、その範囲で動的にユーザを追加することができる。また、ユーザ追加時にも効率的に複数のユーザが共通鍵を共有することができる。具体的には、鍵交換に必要な全体の計算量はユーザ数の定数回、すなわちO(1)となる。
<応用例>
 本実施形態の鍵交換システムは、鍵配送サーバSを介して通信装置Ui間でセッション鍵SKを共有するものである。その際、通信装置Uiを識別するためのユーザID(例えば、メールアドレス)を鍵配送サーバSに登録しておく必要はあるが、スタートポロジーを用いてO(1)でセッション鍵SKを共有することができるため、各種暗号通信システムの動作開始までの時間を短縮することができる。当該鍵交換システムの適用例を以下にいくつか示す。
(1)VoIP技術を用いた二地点間通話や電話会議での鍵配送に利用する。
(2)WebRTC中のDTLS(Datagram Transport Layer Security)を代替し、ブラウザやスマートフォンでのWeb会議やWeb電話の暗号化通信の鍵配送に利用する。
(3)メッセージングアプリの復号鍵の共有に使う。
<変形例>
 この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[プログラム、記録媒体]
 上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
 上述の本発明の実施形態の記載は、例証と記載の目的で提示されたものである。網羅的であるという意思はなく、開示された厳密な形式に発明を限定する意思もない。変形やバリエーションは上述の教示から可能である。実施形態は、本発明の原理の最も良い例証を提供するために、そして、この分野の当業者が、熟考された実際の使用に適するように本発明を色々な実施形態で、また、色々な変形を付加して利用できるようにするために、選ばれて表現されたものである。すべてのそのような変形やバリエーションは、公正に合法的に公平に与えられる幅にしたがって解釈された添付の請求項によって定められた本発明のスコープ内である。
1 鍵配送装置
2 通信装置
3 通信網
100 記憶部
101 第一セットアップ部
102 第二セットアップ部
103 ユーザID受信部
104 初期鍵生成部
105 秘密ストリング生成部
111 ユーザ鍵送信部
113 セッションID生成部
114 認証タグ検証部
115 第三鍵生成部
116 認証タグ生成部
200 記憶部
203 ユーザID送信部
204 初期鍵受信部
205 秘密ストリング生成部
211 ユーザ鍵受信部
212 第一鍵生成部
214 第二鍵生成部
215 認証タグ生成部
216 認証タグ検証部
217 セッション鍵生成部

Claims (8)

  1.  nを2以上の整数とし、iを1からnまでの各整数とし、jを2からnまでの各整数とし、Sを鍵配送装置とし、Uiをn台の通信装置とし、U1を上記通信装置Uiから選択された1台の代表通信装置とし、Ujを上記通信装置Uiから上記代表通信装置U1を除いたn-1台の一般通信装置とし、||を連結演算子とし、α, βを次式で定義されるとし、
    Figure JPOXMLDOC01-appb-M000001

     上記鍵配送装置Sの記憶部に、秘密ストリングstS, st'Sが記憶されており、
     上記通信装置Uiの記憶部に、秘密ストリングsti, st'iが記憶されており、
     上記通信装置Uiが、ねじれ擬似ランダム関数により上記秘密ストリングsti, st'iを用いてri, ki, siを生成し、Ri=gr_iおよびci=gk_ihs_iを計算し、(Ri, ci)を上記鍵配送装置Sへ送信する第一鍵生成ステップと、
     上記鍵配送装置Sが、ターゲット衝突困難ハッシュ関数によりc1, …, cnを用いてsidを生成し、各iについて(sid, Rα, Rβ)を上記通信装置Uiへ送信するセッションID生成ステップと、
     上記代表通信装置U1が、擬似ランダム関数により(sid, Rn r_1)を用いてK1 lを生成し、擬似ランダム関数により(sid, R2 r_1)を用いてK1 rを生成し、K1 lとK1 rとの排他的論理和によりT1を計算し、K1 lとk1||s1との排他的論理和によりT'を計算し、(T1, T')を上記鍵配送装置Sへ送信する代表第二鍵生成ステップと、
     上記一般通信装置Ujが、擬似ランダム関数により(sid, Rα r_j)を用いてKj lを生成し、擬似ランダム関数により(sid, Rβ r_j)を用いてKj rを生成し、Kj lとKj rとの排他的論理和によりTjを計算し、(kj, sj, Tj)を上記鍵配送装置Sへ送信する一般第二鍵生成ステップと、
     上記鍵配送装置Sが、ねじれ擬似ランダム関数により上記秘密ストリングstS, st'Sを用いてksを生成し、k2, …, kn, ksの排他的論理和によりk'を計算し、各jについてT1, …,Tj-1の排他的論理和によりT'jを計算し、k'を上記代表通信装置U1へ送信し、(k', T'j, T')を上記一般通信装置Ujへ送信する第三鍵生成ステップと、
     上記一般通信装置Ujが、T'jとKj lとの排他的論理和によりK1 lを計算し、T'とK1 lとの排他的論理和によりk1||s1を計算する第一セッション鍵生成ステップと、
     上記通信装置Uiが、擬似ランダム関数によりsidおよびk'とk1との排他的論理和を用いて共通鍵K2を生成する第二セッション鍵生成ステップと、
     を含む鍵交換方法。
  2.  請求項1に記載の鍵交換方法であって、
     timeを現在時刻とし、IDを上記通信装置を表す述語変数とし、TFを上記通信装置のタイムフレームを表す述語変数とし、
     上記鍵配送装置Sの記憶部に、関数暗号のマスタ秘密鍵mskがさらに記憶されており、
     上記通信装置Uiの記憶部に、IDベース暗号の鍵導出アルゴリズムによりマスタ秘密鍵msk'を用いて通信装置Uiの識別子Uiから生成した初期鍵skU_iがさらに記憶されており、
     上記鍵配送装置Sが、各iについて属性をAi=(Ui, time)として関数暗号の鍵導出アルゴリズムにより上記マスタ秘密鍵mskを用いてユーザ秘密鍵uskiを生成し、IDベース暗号の暗号化アルゴリズムにより上記識別子Uiを用いて上記ユーザ秘密鍵uskiを暗号化して暗号文CTiを生成するユーザ鍵送信ステップと、
     上記通信装置Uiが、IDベース暗号の復号アルゴリズムにより上記初期鍵skU_iを用いて上記暗号文CTiを復号して上記ユーザ秘密鍵uskiを得るユーザ鍵受信ステップと、
     をさらに含み、
     上記第三鍵生成ステップは、ねじれ擬似ランダム関数により上記秘密ストリングstS, st'Sを用いて共通鍵K1を生成し、各iについてアクセス構造をPi=(ID=Ui)∧(time∈TF)として関数暗号の暗号化アルゴリズムにより上記共通鍵K1を暗号化して暗号文CT'iを生成するものであり、
     上記第二セッション鍵生成ステップは、関数暗号の復号アルゴリズムにより上記ユーザ秘密鍵uskiを用いて上記暗号文CT'iを復号して上記共通鍵K1を得、擬似ランダム関数により(sid, K1)を用いて生成した値と擬似ランダム関数により(sid, K2)を用いて生成した値との排他的論理和によりセッション鍵SKを計算するものである、
     鍵交換方法。
  3.  請求項2に記載の鍵交換方法であって、
     上記ユーザ鍵送信ステップは、メッセージ認証コードの鍵生成アルゴリズムによりMAC鍵mkiを生成し、IDベース暗号の暗号化アルゴリズムにより上記識別子Uiを用いて上記ユーザ秘密鍵uskiおよび上記MAC鍵mkiを暗号化して上記暗号文CTiを生成するものであり、
     上記ユーザ鍵受信ステップは、IDベース暗号の復号アルゴリズムにより上記初期鍵skU_iを用いて上記暗号文CTiを復号して上記ユーザ秘密鍵uskiおよび上記MAC鍵mkiを得るものであり、
     上記代表通信装置U1が、メッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mk1およびR1, c1, Rn, R2, T1, T', U1, sidを用いて認証タグσ1を生成する代表第一認証タグ生成ステップと、
     上記一般通信装置Ujが、メッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mkjおよびRj, cj, Rα, Rβ, kj, sj, Tj, Uj ,sidを用いて認証タグσjを生成する一般第一認証タグ生成ステップと、
     上記鍵配送装置Sが、メッセージ認証コードの検証アルゴリズムにより上記MAC鍵mk1およびR1, c1, Rn, R2, T1, T', U1, sidを用いて上記認証タグσ1を検証し、各jについてメッセージ認証コードの検証アルゴリズムにより上記MAC鍵mkjおよびRj, cj, Rα, Rβ, kj, sj, Tj, Uj ,sidを用いて上記認証タグσjを検証し、cj=gk_jhs_jが成り立つか否かを検証する第一認証タグ検証ステップと、
     上記鍵配送装置Sが、メッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mk1およびR1, c1, Rn, R2, T1, T', U1, sid, k', CT'1を用いて認証タグσ'1を生成し、各jについてメッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mkjおよびRj, cj, Rα, Rβ, kj, sj, Tj, Uj, sid, c1, k', T'j, T', CT'jを用いて認証タグσ'jを生成する第二認証タグ生成ステップと、
     上記代表通信装置U1が、メッセージ認証コードの検証アルゴリズムにより上記MAC鍵mk1およびR1, c1, Rn, R2, T1, T', U1, sid, k', CT'1を用いて上記認証タグσ'1を検証する代表第二認証タグ検証ステップと、
     上記一般通信装置Ujが、メッセージ認証コードの検証アルゴリズムにより上記MAC鍵mkjおよびRj, cj, Rα, Rβ, kj, sj, Tj, Uj, sid, c1, k', T'j, T', CT'jを用いて上記認証タグσ'jを検証し、T'jとKj lとの排他的論理和によりK1 lを計算し、T'とK1 lとの排他的論理和によりk1||s1を求め、c1=gk_1hs_1が成り立つか否かを検証する一般第二認証タグ検証ステップと、
     をさらに含む鍵交換方法。
  4.  nを2以上の整数とし、iを1からnまでの各整数とし、jを2からnまでの各整数とし、||を連結演算子とし、α, βを次式で定義されるとし、
    Figure JPOXMLDOC01-appb-M000002

     鍵配送装置Sとn台の通信装置Uiとを含み、上記通信装置Uiは代表通信装置U1とn-1台の一般通信装置Ujとからなる鍵交換システムであって、
     上記鍵配送装置Sは、
      秘密ストリングstS, st'Sを記憶する記憶部と、
      各iについて上記通信装置Uiから(Ri, ci)を受信し、ターゲット衝突困難ハッシュ関数によりc1, …, cnを用いてsidを生成し、各iについて(sid, Rα, Rβ)を上記通信装置Uiへ送信するセッションID生成部と、
      上記代表通信装置U1から(T1, T')を受信し、各jについて上記一般通信装置Ujから(kj, sj, Tj)を受信し、ねじれ擬似ランダム関数により上記秘密ストリングstS, st'Sを用いてksを生成し、k2, …, kn, ksの排他的論理和によりk'を計算し、各jについてT1, …, Tj-1の排他的論理和によりT'jを計算し、k'を上記代表通信装置U1へ送信し、(k', T'j, T')を上記一般通信装置Ujへ送信する第三鍵生成部と、
     を含み、
     上記代表通信装置U1は、
      秘密ストリングst1, st'1を記憶する記憶部と、
      ねじれ擬似ランダム関数により上記秘密ストリングst1, st'1を用いてr1, k1, s1を生成し、R1=gr_1およびc1=gk_1hs_1を計算し、(R1, c1)を上記鍵配送装置Sへ送信する第一鍵生成部と、
      上記鍵配送装置Sから(sid, Rn, R2)を受信し、擬似ランダム関数により(sid, Rn r_1)を用いてK1 lを生成し、擬似ランダム関数により(sid, R2 r_1)を用いてK1 rを生成し、K1 lとK1 rとの排他的論理和によりT1を計算し、K1 lとk1||s1との排他的論理和によりT'を計算し、(T1, T')を上記鍵配送装置Sへ送信する第二鍵生成部と、
      上記鍵配送装置Sからk'を受信し、擬似ランダム関数によりsidおよびk'とk1との排他的論理和を用いて共通鍵K2を生成するセッション鍵生成部と、
     を含み、
     上記一般通信装置Ujは、
      秘密ストリングstj, st'jを記憶する記憶部と、
      ねじれ擬似ランダム関数により上記秘密ストリングstj, st'jを用いてrj, kj, sjを生成し、Rj=gr_jおよびcj=gk_jhs_jを計算し、(Rj, cj)を上記鍵配送装置Sへ送信する第一鍵生成部と、
      上記鍵配送装置Sから(sid, Rα, Rβ)を受信し、擬似ランダム関数により(sid, Rα r_j)を用いてKj lを生成し、擬似ランダム関数により(sid, Rβ r_j)を用いてKj rを生成し、Kj lとKj rとの排他的論理和によりTjを計算し、(kj, sj, Tj)を上記鍵配送装置Sへ送信する第二鍵生成部と、
      上記鍵配送装置Sから(k', T'j, T')を受信し、T'jとKj lとの排他的論理和によりK1 lを計算し、T'とK1 lとの排他的論理和によりk1||s1を計算し、擬似ランダム関数によりsidおよびk'とk1との排他的論理和を用いて上記共通鍵K2を生成するセッション鍵生成部と、
     を含む鍵交換システム。
  5.  nを2以上の整数とし、kを1以上の整数とし、||を連結演算子とし、Sを鍵配送装置とし、Ui(i=1, …, n+k)をn+k台の通信装置とし、通信装置U1, …, Unにより確立されたセッションに通信装置Un+1, …, Un+kが新たに参加する際の鍵交換方法であって、
     U1を上記通信装置U1, Un, Un+1, …, Un+kから選択された1台の代表通信装置とし、
     上記鍵配送装置Sの記憶部に、秘密ストリングstS, st'Sが記憶されており、
     上記通信装置Ui(i=1, …, n+k)の記憶部に、秘密ストリングsti, st'iが記憶されており、
     さらに、上記通信装置U1, …, Unの記憶部に、上記通信装置U1, …, Unにより確立されたセッションで生成された秘密情報rが記憶されており、
     上記通信装置Ui(i=1, n, …, n+k)が、ねじれ擬似ランダム関数により上記秘密ストリングsti, st'iを用いてri, ki, siを生成し、Ri=gr_iおよびci=gk_ihs_iを計算し、(Ri, ci)を上記鍵配送装置Sへ送信し、上記通信装置Ui(i=2, …, n-1)が、ねじれ擬似ランダム関数により上記秘密ストリングsti, st'iを用いてki, siを生成し、ci=gk_ihs_iを計算し、ciを上記鍵配送装置Sへ送信する第一鍵生成ステップと、
     上記鍵配送装置Sが、ターゲット衝突困難ハッシュ関数によりc1, …, cn+kを用いてsidを生成し、i=1, 2について(sid, Ri-1)を、i=3, …, n-2についてsidを、i=n-1, nについて(sid, Ri+1)を、i=n+1, …, n+kについて(sid, Ri-1, Ri+1)を上記通信装置Uiへ送信する(ただし、R0=Rn+K ,Rn+k+1=R1とする)セッションID生成ステップと、
     上記代表通信装置U1が、擬似ランダム関数により(sid, Rn+k r_1)を用いてK1 lを生成し、擬似ランダム関数により(sid, gr_1r)を用いてK1 rを生成し、K1 lとK1 rとの排他的論理和によりT1を計算し、K1 lとk1||s1との排他的論理和によりT'を計算し、(T1, T')を上記鍵配送装置Sへ送信し、上記通信装置U2が、擬似ランダム関数により(sid, R1 r)を用いてK2 lを生成し、擬似ランダム関数により(sid, gr)を用いてK2 rを生成し、K2 lとK2 rとの排他的論理和によりT2を計算し、(k2, s2, T2)を上記鍵配送装置Sへ送信し、上記通信装置Ui (i=3, …, n-2)が、(ki, si)を上記鍵配送装置Sへ送信し、上記通信装置Un-1が、擬似ランダム関数により(sid, gr)を用いてKn-1 lを生成し、擬似ランダム関数により(sid, Rn r)を用いてKn-1 rを生成し、Kn-1 lとKn-1 rとの排他的論理和によりTn-1を計算し、(kn-1, sn-1, Tn-1)を上記鍵配送装置Sへ送信し、上記通信装置Unが、擬似ランダム関数により(sid, Rn r)を用いてKn lを生成し、擬似ランダム関数により(sid, Rn+1 r_n)を用いてKn rを生成し、Kn lとKn rとの排他的論理和によりTnを計算し、(kn, sn, Tn)を上記鍵配送装置Sへ送信し、上記通信装置Ui(i=n+1, …, n+k)が、擬似ランダム関数により(sid, Ri-1 r_i)を用いてKi lを生成し、擬似ランダム関数により(sid, Ri+1 r_i)を用いてKi rを生成し、Ki lとKi rとの排他的論理和によりTiを計算し、(ki, si, Ti)を上記鍵配送装置Sへ送信する第二鍵生成ステップと、
     上記鍵配送装置Sが、ねじれ擬似ランダム関数により上記秘密ストリングstS, st'Sを用いてksを生成し、k2, …, kn+k, ksの排他的論理和によりk'を計算し、i=2, …, n+kについてT1, …, Ti-1(ただし、i=3, …, n-1についてTiを空とする)の排他的論理和によりT'iを計算し、k'を上記代表通信装置U1へ送信し、(k', T'i, T')を上記通信装置Ui(i=2, …, n+k)へ送信する第三鍵生成ステップと、
     上記通信装置Ui(i=2, n, …, n+k)が、T'iとKi lとの排他的論理和によりK1 lを計算し、T'とK1 lとの排他的論理和によりk1||s1を計算し、上記通信装置Ui(i=3, …, n-1)が、T'iとgrとの排他的論理和によりK1 lを計算し、T'とK1 lとの排他的論理和によりk1||s1を計算する第一セッション鍵生成ステップと、
     上記通信装置Ui(i=1, …, n+k)が、擬似ランダム関数によりsidおよびk'とk1との排他的論理和を用いて共通鍵K2を生成する第二セッション鍵生成ステップと、
     を含む鍵交換方法。
  6.  請求項5に記載の鍵交換方法であって、
     timeを現在時刻とし、IDを上記通信装置を表す述語変数とし、TFを上記通信装置のタイムフレームを表す述語変数とし、
     上記鍵配送装置Sの記憶部に、関数暗号のマスタ秘密鍵mskと、上記通信装置U1, …, Unにより確立されたセッションで生成された共通鍵K1がさらに記憶されており、
     上記通信装置Ui(i=1, …, n+k)の記憶部に、IDベース暗号の鍵導出アルゴリズムによりマスタ秘密鍵msk'を用いて通信装置Uiの識別子Uiから生成した初期鍵skU_iがさらに記憶されており、
     上記鍵配送装置Sが、i=1, …, n+kについて属性をAi=(Ui, time)として関数暗号の鍵導出アルゴリズムにより上記マスタ秘密鍵mskを用いてユーザ秘密鍵uskiを生成し、IDベース暗号の暗号化アルゴリズムにより上記識別子Uiを用いて上記ユーザ秘密鍵uskiを暗号化して暗号文CTiを生成するユーザ鍵送信ステップと、
     上記通信装置Ui(i=1, …, n+k)が、IDベース暗号の復号アルゴリズムにより上記初期鍵skU_iを用いて上記暗号文CTiを復号して上記ユーザ秘密鍵uskiを得るユーザ鍵受信ステップと、
     をさらに含み、
     上記第三鍵生成ステップは、上記鍵配送装置Sの記憶部に記憶した共通鍵K1を読出し、i=1, …, n+kについてアクセス構造をPi=(ID=Ui)∧(time∈TF)として関数暗号の暗号化アルゴリズムにより上記共通鍵K1を暗号化して暗号文CT'iを生成するものであり、
     上記第二セッション鍵生成ステップは、関数暗号の復号アルゴリズムにより上記ユーザ秘密鍵uskiを用いて上記暗号文CT'iを復号して上記共通鍵K1を得、擬似ランダム関数により(sid, K1)を用いて生成した値と擬似ランダム関数により(sid, K2)を用いて生成した値との排他的論理和によりセッション鍵SKを計算するものである、
     鍵交換方法。
  7.  請求項6に記載の鍵交換方法であって、
     上記ユーザ鍵送信ステップは、メッセージ認証コードの鍵生成アルゴリズムによりMAC鍵mkiを生成し、IDベース暗号の暗号化アルゴリズムにより上記識別子Uiを用いて上記ユーザ秘密鍵uskiおよび上記MAC鍵mkiを暗号化して上記暗号文CTiを生成するものであり、
     上記ユーザ鍵受信ステップは、IDベース暗号の復号アルゴリズムにより上記初期鍵skU_iを用いて上記暗号文CTiを復号して上記ユーザ秘密鍵uskiおよび上記MAC鍵mkiを得るものであり、
     上記代表通信装置U1が、メッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mk1およびR1, c1, Rn+k, T1, T', U1, sidを用いて認証タグσ1を生成し、上記通信装置U2が、メッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mk2およびc2, R1, k2, s2, T2, U2, sidを用いて認証タグσ2を生成し、上記通信装置Ui(i=3, …, n-2)が、メッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mkiおよびci, ki, si, Ui, sidを用いて認証タグσiを生成し、上記通信装置Un-1が、メッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mkn-1およびcn-1, Rn, kn-1, sn-1, Tn-1, Un-1, sidを用いて認証タグσn-1を生成し、上記通信装置Unが、メッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mknおよびRn, cn, Rn+1, kn, sn, Tn, Un, sidを用いて認証タグσnを生成し、上記通信装置Ui(i=n+1, …, n+k)が、メッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mkiおよびRi, ci, Ri-1, Ri+1, ki, si, Ti, Ui, sidを用いて認証タグσiを生成する第一認証タグ生成ステップと、
     上記鍵配送装置Sが、上記代表通信装置U1から(T1, T', σ1)を、上記通信装置Ui(i=2, n-1, …, n+k)から(ki, si, Ti, σi)を、上記通信装置Ui(i=3, …, n-2)から(ki, sii)を受信し、メッセージ認証コードの検証アルゴリズムにより上記MAC鍵mki(i=1, …, n+k)を用いて上記認証タグσiを検証し、i=2, …, n+kについてci=gk_ihs_iが成り立つか否かを検証する第一認証タグ検証ステップと、
     上記鍵配送装置Sが、i=1についてメッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mk1およびR1, c1, Rn+k, T1, T', U1, sid, k', CT'1を用いて認証タグσ'1を生成し、i=2についてメッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mk2およびc2, R1, k2, s2, T2, U2, sid, c1, k', T'2, T', CT'2を用いて認証タグσ'2を生成し、i=3, …, n-2についてメッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mkiおよびci, ki, si, Ui, sid, c1, k', T'i, T', CT'iを用いて認証タグσ'iを生成し、i=n-1についてメッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mkn-1およびcn-1, Rn, kn-1, sn-1, Tn-1, Un-1, sid, c1, k', T'n-1, T', CT'n-1を用いて認証タグσ'n-1を生成し、i=nについてメッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mknおよびRn, cn, Rn+1, kn, sn, Tn, Un, sid, c1, k', T'n, T', CT'nを用いて認証タグσ'nを生成し、i=n+1, …, n+kについてメッセージ認証コードのタグ生成アルゴリズムにより上記MAC鍵mkiおよびRi, ci, Ri-1, Ri+1, ki, si, Ti, Ui, sid, c1, k', T'i, T', CT'iを用いて認証タグσ'iを生成する第二認証タグ生成ステップと、
     上記代表通信装置U1が、上記鍵配送装置Sから(k', CT'1, σ'1)を受信し、メッセージ認証コードの検証アルゴリズムにより上記MAC鍵mk1を用いて上記認証タグσ'1を検証し、上記通信装置Ui (i=2, …, n+k) が、上記鍵配送装置Sから(c1, k', T'i, T', CT'i, σ'i)を受信し、メッセージ認証コードの検証アルゴリズムにより上記MAC鍵mkiを用いて上記認証タグσ'iを検証し、c1=gk_1hs_1が成り立つか否かを検証する第二認証タグ検証ステップと、
     をさらに含む鍵交換方法。
  8.  nを2以上の整数とし、kを1以上の整数とし、||を連結演算子とし、
     鍵配送装置Sとn+k台の通信装置Ui(i=1, …, n+k)とを含む鍵交換システムであって、
     U1を上記通信装置U1, Un, Un+1, …, Un+kから選択された1台の代表通信装置とし、
     上記鍵配送装置Sは、
      秘密ストリングstS, st'Sを記憶する記憶部と、
      上記通信装置Ui(i=1, n, …, n+k)から(Ri, ci)を、上記通信装置Ui(i=2, …, n-1)からciを受信し、ターゲット衝突困難ハッシュ関数によりc1, …, cn+kを用いてsidを生成し、i=1, 2について(sid, Ri-1)を、i=3, …, n-2についてsidを、i=n-1, nについて(sid, Ri+1)を、i= n+1, …, n+kについて(sid, Ri-1, Ri+1)を上記通信装置Uiへ送信する(ただし、R0=Rn+K,Rn+k+1=R1とする)セッションID生成部と、
      上記代表通信装置U1から(T1, T')を、上記通信装置Ui (i=2 ,n-1 ,…, n+k)から(ki,si, Ti)を、上記通信装置Ui (i=3, …, n-2)から(ki, si)を受信し、ねじれ擬似ランダム関数により上記秘密ストリングstS, st'Sを用いてksを生成し、k2, …, kn+k, ksの排他的論理和によりk'を計算し、i=2, …, n+kについてT1, …, Ti-1(ただし、i=3, …, n-1についてTiを空とする)の排他的論理和によりT'iを計算し、k'を上記代表通信装置U1へ、(k', T'i, T')を上記通信装置Ui(i=2, …, n+k)へ送信する第三鍵生成部と、
     を含み、
     上記通信装置Ui(i=1, …, n+k)は、
      秘密ストリングsti, st'iを記憶し、i=1, …, nについては上記通信装置U1, …, Unにより確立されたセッションで生成された秘密情報rをさらに記憶する記憶部と、
      i=1, n, …, n+kについて、ねじれ擬似ランダム関数により上記秘密ストリングsti, st'iを用いてri, ki, siを生成し、Ri=gr_iおよびci=gk_ihs_iを計算し、(Ri, ci)を上記鍵配送装置Sへ送信し、i=2, …, n-1について、ねじれ擬似ランダム関数により上記秘密ストリングsti, st'iを用いてki, siを生成し、ci=gk_ihs_iを計算し、ciを上記鍵配送装置Sへ送信する第一鍵生成部と、
      i=1について、上記鍵配送装置Sから(sid, Rn+k)を受信し、擬似ランダム関数により(sid, Rn+k r_1)を用いてK1 lを生成し、擬似ランダム関数により(sid, gr_1r)を用いてK1 rを生成し、K1 lとK1 rとの排他的論理和によりT1を計算し、K1 lとk1||s1との排他的論理和によりT'を計算し、(T1, T')を上記鍵配送装置Sへ送信し、i=2について、上記鍵配送装置Sから(sid, R1)を受信し、擬似ランダム関数により(sid, R1 r)を用いてK2 lを生成し、擬似ランダム関数により(sid, gr)を用いてK2 rを生成し、K2 lとK2 rとの排他的論理和によりT2を計算し、(k2, s2, T2)を上記鍵配送装置Sへ送信し、i=3, …, n-2について、上記鍵配送装置Sからsidを受信し、(ki, si)を上記鍵配送装置Sへ送信し、i=n-1について、上記鍵配送装置Sから(sid, Rn)を受信し、擬似ランダム関数により(sid, gr)を用いてKn-1 lを生成し、擬似ランダム関数により(sid, Rn r)を用いてKn-1 rを生成し、Kn-1 lとKn-1 rとの排他的論理和によりTn-1を計算し、(kn-1, sn-1, Tn-1)を上記鍵配送装置Sへ送信し、i=nについて、上記鍵配送装置Sから(sid, Rn+1)を受信し、擬似ランダム関数により(sid, Rn r)を用いてKn lを生成し、擬似ランダム関数により(sid, Rn+1 r_n)を用いてKn rを生成し、Kn lとKn rとの排他的論理和によりTnを計算し、(kn, sn, Tn)を上記鍵配送装置Sへ送信し、i=n+1, …, n+kについて、上記鍵配送装置Sから(sid, Ri-1, Ri+1)を受信し、擬似ランダム関数により(sid, Ri-1 r_i)を用いてKi lを生成し、擬似ランダム関数により(sid, Ri+1 r_i)を用いてKi rを生成し、Ki lとKi rとの排他的論理和によりTiを計算し、(ki, si, Ti)を上記鍵配送装置Sへ送信する第二鍵生成部と、
      i=1については上記鍵配送装置Sからk'を受信し、擬似ランダム関数によりsidおよびk'とk1との排他的論理和を用いて共通鍵K2を生成し、i=2, n, …, n+k については上記鍵配送装置Sから (k', T'i, T')を受信し、T'iとKi lとの排他的論理和によりK1 lを計算し、T'とK1 lとの排他的論理和によりk1||s1を計算し、擬似ランダム関数によりsidおよびk'とk1との排他的論理和を用いて共通鍵K2を生成し、i=3, …, n-1については上記鍵配送装置Sから(k', T'i, T')を受信し、T'iとgrとの排他的論理和によりK1 lを計算し、T'とK1 lとの排他的論理和によりk1||s1を計算し、擬似ランダム関数によりsidおよびk'とk1との排他的論理和を用いて共通鍵K2を生成するセッション鍵生成部と、
     を含む鍵交換システム。
PCT/JP2017/031188 2016-09-01 2017-08-30 鍵交換方法、鍵交換システム WO2018043573A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP17846577.9A EP3509246B1 (en) 2016-09-01 2017-08-30 Key exchange method and key exchange system
US16/321,657 US11258588B2 (en) 2016-09-01 2017-08-30 Key exchange method and key exchange system
CN201780048745.7A CN109565440B (zh) 2016-09-01 2017-08-30 密钥交换方法,密钥交换系统
US17/350,201 US11677543B2 (en) 2016-09-01 2021-06-17 Key exchange method and key exchange system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-170900 2016-09-01
JP2016170900A JP6468567B2 (ja) 2016-09-01 2016-09-01 鍵交換方法、鍵交換システム

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/321,657 A-371-Of-International US11258588B2 (en) 2016-09-01 2017-08-30 Key exchange method and key exchange system
US17/350,201 Division US11677543B2 (en) 2016-09-01 2021-06-17 Key exchange method and key exchange system

Publications (1)

Publication Number Publication Date
WO2018043573A1 true WO2018043573A1 (ja) 2018-03-08

Family

ID=61309187

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/031188 WO2018043573A1 (ja) 2016-09-01 2017-08-30 鍵交換方法、鍵交換システム

Country Status (5)

Country Link
US (2) US11258588B2 (ja)
EP (1) EP3509246B1 (ja)
JP (1) JP6468567B2 (ja)
CN (1) CN109565440B (ja)
WO (1) WO2018043573A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113132976A (zh) * 2021-05-11 2021-07-16 国网信息通信产业集团有限公司 一种分布式无线通信配电网差动保护方法及系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11451369B2 (en) * 2019-04-16 2022-09-20 Nec Corporation Method and system for multi-authority controlled functional encryption
WO2022256555A2 (en) * 2021-06-03 2022-12-08 Ntt Research, Inc. Function-embedded traitor tracing for a digital content distribution system
CN113472780A (zh) * 2021-06-30 2021-10-01 上海和数软件有限公司 一种用于区块链的数据加密传输方法
US20230388280A1 (en) * 2022-05-25 2023-11-30 CybXSecurity LLC System, Method, and Computer Program Product for Generating Secure Messages for Messaging

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040179684A1 (en) * 2003-03-14 2004-09-16 Identicrypt, Inc. Identity-based-encryption messaging system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7978848B2 (en) * 2007-01-09 2011-07-12 Microsoft Corporation Content encryption schema for integrating digital rights management with encrypted multicast
CN101399660B (zh) 2007-09-28 2010-11-10 华为技术有限公司 协商组群密钥的方法和设备
CN101626364A (zh) * 2008-07-08 2010-01-13 赵运磊 一类可基于口令、抗秘密数据泄露的认证和密钥交换方法
CN101272244A (zh) * 2008-04-30 2008-09-24 北京航空航天大学 一种无线自组织网络密钥更新和撤销方法
CN101431414B (zh) * 2008-12-15 2011-06-29 西安电子科技大学 基于身份的认证群组密钥管理方法
US8301883B2 (en) * 2009-08-28 2012-10-30 Alcatel Lucent Secure key management in conferencing system
US9602276B2 (en) * 2010-06-11 2017-03-21 Qualcomm Incorporated Method and apparatus for virtual pairing with a group of semi-connected devices
EP2732578B1 (en) * 2011-07-15 2019-04-03 Alcatel Lucent Secure group messaging
US8584216B1 (en) * 2012-03-15 2013-11-12 Symantec Corporation Systems and methods for efficiently deploying updates within a cryptographic-key management system
US9705856B2 (en) * 2012-07-27 2017-07-11 Telefonaktiebolaget L M Ericsson Secure session for a group of network nodes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040179684A1 (en) * 2003-03-14 2004-09-16 Identicrypt, Inc. Identity-based-encryption messaging system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
See also references of EP3509246A4 *
TETSUTARO KOBAYASHI ET AL.: "Scalable-na Doteki Tasha Kagi Haifu Protocol", 2016 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY KOEN RONBUNSHU, 19 January 2016 (2016-01-19), pages 1 - 7, XP009517230 *
YONEYAMA, K. ET AL.: "Multi-Cast Key Distribution:Scalable Dynamic and Provably Secure Construction", IACR, 1 September 2016 (2016-09-01), pages 1 - 28, XP061023891, Retrieved from the Internet <URL:https://eprint.iacr/org/2016/833/20160831:163538> [retrieved on 20170919] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113132976A (zh) * 2021-05-11 2021-07-16 国网信息通信产业集团有限公司 一种分布式无线通信配电网差动保护方法及系统

Also Published As

Publication number Publication date
JP6468567B2 (ja) 2019-02-13
CN109565440B (zh) 2021-09-21
CN109565440A (zh) 2019-04-02
EP3509246A1 (en) 2019-07-10
US11677543B2 (en) 2023-06-13
US20210314146A1 (en) 2021-10-07
JP2018037938A (ja) 2018-03-08
US20200252208A1 (en) 2020-08-06
EP3509246A4 (en) 2020-02-19
US11258588B2 (en) 2022-02-22
EP3509246B1 (en) 2021-05-26

Similar Documents

Publication Publication Date Title
JP6497747B2 (ja) 鍵交換方法、鍵交換システム
WO2018043573A1 (ja) 鍵交換方法、鍵交換システム
JP2019535153A (ja) トラステッドコンピューティングに基づく量子鍵配送のための方法及びシステム
JP2009529714A (ja) 復号可能かつ検索可能な暗号化のための方法およびシステム
JP6592851B2 (ja) 匿名ブロードキャスト方法、鍵交換方法、匿名ブロードキャストシステム、鍵交換システム、通信装置、プログラム
WO2019093478A1 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム
JP2022525137A (ja) データに基づく行為を実施するための方法および装置
JP6368047B2 (ja) 鍵交換方法、鍵交換システム、鍵配送装置、代表通信装置、一般通信装置、およびプログラム
WO2007142170A1 (ja) 不正者失効システム、暗号化装置、暗号化方法およびプログラム
JP2019125956A (ja) 鍵交換方法、鍵交換システム、鍵交換サーバ装置、通信装置、プログラム
JP4758110B2 (ja) 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法
JP5799635B2 (ja) 暗号データ検索システム、装置、方法及びプログラム
Zhang et al. Privacy‐friendly weighted‐reputation aggregation protocols against malicious adversaries in cloud services
Hu et al. Public-key encryption with keyword search via obfuscation
US11451518B2 (en) Communication device, server device, concealed communication system, methods for the same, and program
Gasti et al. Privacy-preserving user matching
Ge et al. A Source Hiding Identity‐Based Proxy Reencryption Scheme for Wireless Sensor Network
Das A hybrid algorithm for secure cloud computing
Singh et al. Cloud assisted semi-static secure accountable authority identity-based broadcast encryption featuring public traceability without random oracles
CN117040860A (zh) 网络节点数据流通验证方法、装置、设备及存储介质
Rasmussen Privacy− preserving User Matching

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017846577

Country of ref document: EP

Effective date: 20190401