WO2021064978A1 - 端末、サーバ、方法及びプログラム - Google Patents
端末、サーバ、方法及びプログラム Download PDFInfo
- Publication number
- WO2021064978A1 WO2021064978A1 PCT/JP2019/039253 JP2019039253W WO2021064978A1 WO 2021064978 A1 WO2021064978 A1 WO 2021064978A1 JP 2019039253 W JP2019039253 W JP 2019039253W WO 2021064978 A1 WO2021064978 A1 WO 2021064978A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- short
- server
- key
- identifier
- terminal
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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/3073—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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 challenge-response
- H04L9/3273—Cryptographic 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 challenge-response for mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Definitions
- the present invention relates to terminals, servers, methods and programs.
- TLS Transport Layer Security
- MQTT Message Queuing Telemetry Transport
- Non-Patent Document 1 a TLS in which a key exchange with mutual authentication using ID-based cryptography is applied to TLS 1.2 has been proposed (for example, Non-Patent Document 1).
- TLS proposed in Non-Patent Document 1 authentication and key exchange using ID-based cryptography are realized in the TLS 1.2 specifications without changing the TLS 1.2 specifications. Further, by using ID-based cryptography, communication for using a certificate is not required.
- TLS 1.3 has different specifications from TLS 1.2, TLS 1.3 cannot provide ID-based cryptography like the TLS proposed in Non-Patent Document 1 above. This is because, in the TLS 1.3 specification, after the ClientHello and ServerHello in the handshake are performed, the subsequent messages are encrypted, so it is necessary to exchange the key for encryption in one round. Because.
- An embodiment of the present invention has been made in view of the above points, and an object of the present invention is to realize TLS 1.3 to which key exchange with mutual authentication using ID-based cryptography is applied.
- the terminal according to the present embodiment is a terminal that authenticates with a server connected via a communication network by TLS1.3, and is a key with mutual authentication using ID-based cryptography.
- TLS1.3 the specifications of TLS1.3 are different from those of TLS1.2. Specifically, as described in Reference 1 below, in TLS 1.2, two rounds of communication are performed before the handshake is encrypted, whereas in TLS1.3, the handshake is performed. Only one round of communication (ie, ClientHello and ServerHello) takes place before it is encrypted.
- a key exchange protocol with mutual authentication using ID-based cryptography capable of exchanging information necessary for key exchange in one round is applied to TLS 1.3.
- authentication and key exchange using ID-based cryptography are performed in the TLS 1.3 specifications, and the key obtained by this key exchange is used to encrypt messages after ClientHello and ServerHello. Is possible.
- the identifier (ID) of the communication partner is obtained in advance, it is possible to exchange the information necessary for key exchange in one round.
- the identifier of the communication partner cannot be obtained in advance (that is, before the communication is started). This is because, in many cases, the identifier of the communication partner cannot be obtained in advance, and even if it is obtained, the communication partner does not always use the same identifier.
- FIG. 1 is a diagram showing an example of the overall configuration of the authentication system 1 according to the present embodiment.
- the authentication system 1 includes one or more terminals 10 and a server 20. Further, each terminal 10 and the server 20 are connected to each other so as to be able to communicate with each other via a communication network N such as the Internet.
- a communication network N such as the Internet.
- the terminal 10 is, for example, various IoT devices such as various sensor devices, embedded devices, wearable devices, digital home appliances, surveillance cameras, lighting devices, medical devices, and industrial devices. That is, it is assumed that the terminal 10 is an IoT device having limited hardware resources (for example, processor processing performance, memory capacity, communication performance, etc.) as compared with a general PC or the like. However, the present embodiment is not limited to this, and the present embodiment can be similarly applied even when the terminal 10 is a device other than the IoT device (for example, a PC, a smartphone, a tablet terminal, etc.).
- IoT devices for example, a PC, a smartphone, a tablet terminal, etc.
- the server 20 is, for example, a computer or a computer system that performs data communication with the terminal 10.
- Examples of the server 20 include a computer that collects sensing data from the terminal 10 when the terminal 10 is a sensor device.
- the authentication system 1 when performing authentication and encrypted communication by TLS1.3 between the terminal 10 and the server 20, for encryption by a key exchange protocol with mutual authentication using ID-based cryptography.
- the case of performing the key exchange of is described.
- this embodiment can be similarly applied to the case where authentication and encrypted communication by TLS1.3 are performed between different terminals 10.
- the configuration of the authentication system 1 shown in FIG. 1 is an example, and may be another configuration.
- the authentication system 1 may include a device or system that functions as a key generation station (KGC: Key Generation Center).
- KGC Key Generation Center
- FIG. 2 is a diagram showing an example of the hardware configuration of the terminal 10 according to the present embodiment.
- the terminal 10 has a communication I / F 11, a processor 12, and a memory device 13. Each of these hardware is communicably connected via the bus 14.
- the communication I / F 11 is an interface for connecting the terminal 10 to the communication network N.
- the terminal 10 can perform data communication with the server 20 and other terminals 10 and the like via the communication I / F 11.
- the processor 12 is, for example, an MPU (Micro Processing Unit), a CPU (Central Processing Unit), or the like, and is an arithmetic unit that reads programs and data from the memory device 13 and executes various processes.
- MPU Micro Processing Unit
- CPU Central Processing Unit
- the memory device 13 is, for example, a RAM (RandomAccessMemory), a ROM (ReadOnlyMemory), a flash memory, or the like, and is a storage device for storing various data, programs, and the like.
- the terminal 10 By having the hardware configuration shown in FIG. 2, the terminal 10 according to the present embodiment can realize the authentication process described later.
- the hardware configuration shown in FIG. 2 is an example, and the terminal 10 may have another hardware configuration.
- the terminal 10 may have a plurality of processors 12 or a plurality of memory devices 13.
- FIG. 3 is a diagram showing an example of the hardware configuration of the server 20 according to the present embodiment.
- the server 20 includes an input device 21, a display device 22, an external I / F 23, a communication I / F 24, a processor 25, and a memory device 26.
- Each of these hardware is connected so as to be able to communicate with each other via the bus 27.
- the input device 21 is, for example, a keyboard, a mouse, a touch panel, or the like, and is used to input various operations to the server 20.
- the display device 22 is, for example, a display or the like, and is used to display various processing results of the server 20 or the like.
- the server 20 does not have to have at least one of the input device 21 and the display device 22.
- the external I / F23 is an interface with an external device.
- the external device includes a recording medium 23a and the like.
- the server 20 can read or write the recording medium 23a via the external I / F.
- Examples of the recording medium 23a include a CD (CompactDisk), a DVD (DigitalVersatileDisk), an SD memory card (SecureDigitalmemorycard), a USB (UniversalSerialBus) memory card, and the like.
- the communication I / F 24 is an interface for connecting the server 20 to the communication network N.
- the server 20 can perform data communication with the terminal 10 and the like via the communication I / F 24.
- the processor 25 is, for example, a CPU or the like, and is an arithmetic unit that reads programs and data from the memory device 26 and executes various processes.
- the memory device 26 is, for example, a RAM, a ROM, a flash memory, an HDD (Hard Disk Drive), an SSD (Solid State Drive), or the like, and is a storage device for storing various data, programs, and the like.
- the server 20 can realize the authentication process described later.
- the hardware configuration shown in FIG. 3 is an example, and the server 20 may have another hardware configuration.
- the server 20 may have a plurality of processors 25 or a plurality of memory devices 26.
- FIG. 4 is a diagram showing an example of the functional configuration of the terminal 10 and the server 20 according to the present embodiment.
- the terminal 10 has an authentication processing unit 101 and a storage unit 102.
- the authentication processing unit 101 is realized by a process of causing the processor 12 to execute one or more programs installed in the terminal 10.
- the storage unit 102 can be realized by using, for example, a memory device 13 or the like.
- the authentication processing unit 101 performs authentication and encrypted communication by TLS1.3 with the server 20. At this time, the authentication processing unit 101 exchanges a key for encryption with the server 20 by a key exchange protocol with mutual authentication using ID-based cryptography.
- the storage unit 102 stores various data.
- the data stored in the storage unit 102 includes, for example, the identifier of the terminal 10 and the user secret key.
- temporary data for performing authentication and encrypted communication by TLS 1.3 with the server 20 is also stored in the storage unit 102.
- any identifier can be used as the identifier of the terminal 10.
- a user ID a name, an e-mail address, a telephone number, a manufacturing unique number of the terminal 10, an IP (Internet Protocol) address, a physical address, or the like can be used.
- IP Internet Protocol
- the server 20 has an authentication processing unit 201 and a storage unit 202.
- the authentication processing unit 201 is realized by a process of causing the processor 25 to execute one or more programs installed on the server 20.
- the storage unit 202 can be realized by using, for example, a memory device 26 or the like.
- the storage unit 202 may be realized by using, for example, a storage device connected to the server 20 via the communication network N.
- the authentication processing unit 201 performs authentication and encrypted communication by TLS1.3 with the terminal 10. At this time, the authentication processing unit 201 performs key exchange for encryption with the terminal 10 by a key exchange protocol with mutual authentication using ID-based cryptography.
- the storage unit 202 stores various data.
- the data stored in the storage unit 202 includes, for example, the identifier of the server 20, the user secret key, and the like.
- temporary data for performing authentication and encrypted communication by TLS 1.3 with the terminal 10 is also stored in the storage unit 202.
- Any identifier can be used as the identifier of the server 20.
- the identifier of the server 20 it is possible to use the manufacturing unique number, IP address, physical address, Web site name, e-mail address, telephone number, etc. of the server 20.
- ID A Identifier of terminal 10
- ID B Identifier of server 20
- k Security parameter p
- q Prime number satisfying p ⁇ q
- G 1 Elliptic curve on finite field F p is E 1 , and on elliptic curve E 1 .
- Subgroup of group E (F p ) G 2 The group on the elliptic curve E 2 with the elliptic curve on the k-th extension field of the finite field F p as E 2.
- FIG. 5 is a sequence diagram showing an example of the authentication process in the first embodiment.
- the master private key of the key generation station is z ⁇ Z q
- H 1 is a function that generates an element on G 1 from a character string
- H 2 is a function that generates an element on G 2 from a character string.
- H 1 and H 2 are public information.
- the user private keys DA , 1 and DB , 2 are generated by the key generation station and distributed to the terminal 10 and the server 20 by any method, respectively.
- the short-term private key x A and the short-term public keys X A, 1 and X A, 2 are stored in the storage unit 102.
- the short-term private key x B and the short-term public keys X B, 1 and X B, 2 are stored in the storage unit 202.
- the authentication processing unit 101 of the terminal 10 transmits the Client Hello to the server 20 (step S103).
- the authentication processing unit 101 transmits a Client Hello including the identifier ID A of the terminal 10 and the short-term public keys XA, 1 and XA, 2 to the server 20.
- the identifier ID A and the short-term public keys X A, 1 and X A, 2 can be stored in, for example, the extension area (Extension field) of the Client Hello.
- the authentication processing unit 201 of the server 20 transmits the ServerHello to the terminal 10 (step S104).
- the authentication processing unit 201 transmits the ServerHello including the identifier ID B of the server 20 and the short-term public keys XB, 1 and XB, 2 to the terminal 10.
- the identifier ID B and the short-term public keys X B, 1 and X B, 2 can be stored in, for example, the extension area (Extension field) of the ServerHello.
- Information necessary for key exchange (that is, the identifier of the communication partner and the short-term public key) is exchanged by the above steps S103 to S104. That is, the information required for key exchange is exchanged in one round.
- step S105 "X B, 1 is not a point on the elliptic curve E 1 ", "X B, 2 is not a point on the elliptic curve E 2 " and "e (X B, 1 , g 2 )". If at least one of " ⁇ e (g 1 , X B, 2 )" is satisfied, it is considered that the authentication process has failed, and the process is terminated or restarted from step S101 above.
- step S106 "X A, 1 is not a point on the elliptic curve E 1 ", "X A, 2 is not a point on the elliptic curve E 2 " and "e (X A, 1 , g 2 )". If at least one of " ⁇ e (g 1 , X A, 2 )" is satisfied, it is considered that the authentication process has failed, and the process is terminated or restarted from step S101 above.
- the authentication processing unit 101 of the terminal 10 calculates the shared values ⁇ 1 , ⁇ 2 , ⁇ 3 , and ⁇ 4 as follows (step S107).
- ⁇ 1 e (DA , 1 , QB , 2 )
- ⁇ 2 e (DA , 1 + x A Z 1 , Q B, 2 + X B, 2 )
- ⁇ 3 x A X B, 1
- ⁇ 4 x A X B, 2
- the authentication processing unit 201 of the server 20 calculates the shared values ⁇ 1 , ⁇ 2 , ⁇ 3 , and ⁇ 4 as follows (step S108).
- step S109 the authentication processing unit 101 of the terminal 10 calculates the sid as follows (step S109).
- side means a session ID.
- step S110 (ID A
- the authentication processing unit 201 of the server 20 calculates the sid as follows (step S110).
- the authentication processing unit 101 of the terminal 10 calculates the shared key K by the following (step S111).
- the shared key K H ( ⁇ 1
- the shared key K is stored in the storage unit 102.
- the authentication processing unit 201 of the server 20 calculates the shared key K by the following (step S112).
- the shared key K H ( ⁇ 1
- the shared key K is stored in the storage unit 202.
- the terminal 10 and the server 20 can perform the TLS 1.3 process by encrypting the subsequent messages (that is, the messages after the Client Hello and the Server Hello) using the shared key K (step S113).
- Example 2 Authentication processing (Example 2) >>
- Example 2 of the authentication process by TLS1.3 to which the key exchange with mutual authentication using ID-based cryptography is applied will be described with reference to FIG.
- FIG. 6 is a sequence diagram showing an example of the authentication process in the second embodiment.
- the master private key of the key generation station is y ⁇ Z q and z ⁇ Z q
- Y 2 yg 2
- H 1 is a function that generates an element on G 1 from a character string
- H 2 is a function that generates an element on G 2 from a character string.
- H 1 and H 2 are public information.
- the user private keys DA , 1 and DB , 2 are generated by the key generation station and distributed to the terminal 10 and the server 20 by any method, respectively.
- the short-term private key x A and the short-term public key X A, 1 are stored in the storage unit 102.
- the authentication processing unit 201 of the server 20, a short-term secret key x B ⁇ Z q on randomly selected, to produce a short-term public key X B, 2 x B g 2 ⁇ G 2 ( step S202).
- the short-term private key x B and the short-term public key X B, 2 are stored in the storage unit 202.
- the authentication processing unit 101 of the terminal 10 transmits the Client Hello to the server 20 (step S203).
- the authentication processing unit 101 transmits a Client Hello including the identifier ID A of the terminal 10 and the short-term public keys XA, 1 to the server 20.
- the identifier ID A and the short-term public keys XA, 1 can be stored in, for example, the extension area (Extension field) of the ClientHello.
- the authentication processing unit 201 of the server 20 transmits the ServerHello to the terminal 10 (step S204).
- the authentication processing unit 201 transmits the ServerHello including the identifier ID B of the server 20 and the short-term public keys XB and 2 to the terminal 10.
- the identifier ID B and the short-term public keys X B, 2 can be stored in, for example, the extension area (Extension field) of the ServerHello.
- the information required for key exchange (that is, the identifier of the communication partner and the short-term public key) is exchanged in steps S203 to S204 described above. That is, the information required for key exchange is exchanged in one round.
- the authentication processing unit 101 of the terminal 10 calculates the shared values ⁇ 1 , ⁇ 2 , and ⁇ 3 as follows (step S205).
- ⁇ 1 e (DA , 1 , QB , 2 )
- ⁇ 2 e (DA , 1 + x A Z 1 , Q B, 2 + X B, 2 )
- ⁇ 3 e (Z 1 + x A Y 1 , X B, 2 )
- ⁇ 1 e (Q A, 1 , DB , 2 )
- ⁇ 2 e (Q A, 1 + X A, 1 , DB , 2 + x B Z 2 )
- ⁇ 3 e (X A, 1, Z 2 + x B Y 2)
- the shared key K H ( ⁇ 1 , ⁇ 2 , ⁇ 3 , ID A , ID B , X A, 1 , X B, 2 )
- the shared key K is stored in the storage unit 102.
- the authentication processing unit 201 of the server 20 calculates the shared key K by the following (step S208).
- the shared key K H ( ⁇ 1 , ⁇ 2 , ⁇ 3 , ID A , ID B , X A, 1 , X B, 2 )
- the shared key K is stored in the storage unit 202.
- the terminal 10 and the server 20 can perform the TLS 1.3 process by encrypting the subsequent messages (that is, the messages after the Client Hello and the Server Hello) using the shared key K (step S209).
- FIG. 7 is a sequence diagram showing an example of the authentication process in the third embodiment.
- the master private key of the key generation station is z ⁇ Z q
- H 3 is a function that generates an element on G 2 from a character string, and is public information.
- the user's private key D A and D B are generated by the key generation stations, are respectively distributed to the terminal 10 and the server 20 in any manner.
- Authentication processing unit 101 of the terminal 10, r A a ⁇ Z q on randomly selected, to generate a short-term private key x A H 4 (D A
- r A), the short-term public key X A x generating a a g 1 ⁇ G 1 (step S301).
- H 4 is a function that generates an element on Z q from a character string, and is public information.
- the short-term private key x A and the short-term public key X A are stored in the storage unit 102.
- the authentication processing unit 201 of the server 20, r B a ⁇ Z q on randomly selected, to generate a short-term secret key x B H 4 (D B
- r B), short-term public key X B x B g 1 ⁇ G 1 is generated (step S302).
- the short-term private key x B and the short-term public key X B are stored in the storage unit 202.
- the authentication processing unit 101 of the terminal 10 deletes the short-term private key x A from the storage unit 102 (step S303). Similarly, the authentication processing unit 201 of the server 20 deletes the short-term private key x B from the storage unit 202 (step S304).
- the short-term secret key x A is deleted from the storage unit 102 in step S303 above, but this is the short-term secret key x A until the identifier ID B and the short-term public key X B are received from the server 20. This is to prevent the situation where Similarly, the reason why the short-term secret key x B is deleted from the storage unit 202 in step S304 is that the short-term secret key x B deletes the short-term secret key x B from the terminal 10 until the identifier ID A and the short-term public key X A are received from the terminal 10. This is to prevent the situation of leakage.
- the authentication processing unit 101 of the terminal 10 transmits the Client Hello to the server 20 (step S305).
- the authentication processing unit 101 transmits the ClientHello that contains the identifier ID A and short public key X A of the terminal 10 to the server 20.
- the identifier ID A and short public key X A for example, can be stored in the extended area of ClientHello (Extension field).
- the authentication processing unit 201 of the server 20 transmits the ServerHello to the terminal 10 (step S306).
- the authentication processing unit 201 transmits the ServerHello that contains the identifier ID B and short public key X B of the server 20 to the terminal 10.
- the identifier ID B and the short-term public key X B can be stored, for example, in the extension area (Extension field) of the ServerHello.
- the information required for key exchange (that is, the identifier of the communication partner and the short-term public key) is exchanged in steps S305 to S306 described above. That is, the information required for key exchange is exchanged in one round.
- the short-term secret key x A is stored in the storage unit 102.
- short-term secret key x B H 4 (D B
- the short-term private key x B is stored in the storage unit 202.
- the authentication processing unit 101 of the terminal 10 calculates the shared values ⁇ 1 , ⁇ 2 , and ⁇ 3 as follows (step S309).
- ⁇ 1 e (X B, D A)
- ⁇ 2 e (x A Z , Q B)
- ⁇ 3 x A X B
- the authentication processing unit 201 of the server 20 calculates the shared values ⁇ 1 , ⁇ 2 , and ⁇ 3 as follows (step S310).
- step S311 the authentication processing unit 101 of the terminal 10 calculates the sid as follows (step S311).
- step S312 (ID A
- the authentication processing unit 101 of the terminal 10 calculates the shared key K by the following (step S313).
- the shared key K H ( ⁇ 1
- the shared key K is stored in the storage unit 102.
- the authentication processing unit 201 of the server 20 calculates the shared key K by the following (step S314).
- the shared key K H ( ⁇ 1
- the shared key K is stored in the storage unit 202.
- the terminal 10 and the server 20 can perform the TLS 1.3 process by encrypting the subsequent messages (that is, the messages after the Client Hello and the Server Hello) using the shared key K (step S315).
- Table 1 shows the results of observing the packet size of each message during the TLS handshake and the total.
- the data size of the identifier used for ID-based cryptography is 20 bytes.
- Table 1 also shows the packet size of each message in TLS1.3-P256-RSA and the total thereof for reference.
- Example 3 can reduce the amount of communication to about 34% as compared with TLS1.3-X25519-Ed25519. Therefore, it can be seen that the third embodiment is also effective when using TLS in, for example, RoLaWAN, Sigfox, etc., which are communication standards for IoT devices.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
通信ネットワークを介して接続されるサーバとの間でTLS1.3による認証を行う端末であって、IDベース暗号を用いた相互認証付き鍵交換によって前記TLS1.3のハンドシェイク中のメッセージを暗号化するための共有鍵の生成に必要な第1の識別子と第1の短期公開鍵とが含まれるClientHelloメッセージを前記サーバに送信する送信手段と、前記共有鍵の生成に必要な第2の識別子と第2の短期公開鍵とが含まれるServerHelloメッセージを前記サーバから受信する受信手段と、前記第1の識別子と前記第1の短期公開鍵と前記第2の識別子と前記第2の短期公開鍵とを用いて、前記共有鍵を生成する生成手段と、を有することを特徴とする。
Description
本発明は、端末、サーバ、方法及びプログラムに関する。
IoT(Internet of Things)機器が普及するにつれて、互いに通信を行う機器同士が互いに正当な機器であることを保証する認証技術が重要になってきている。このような認証技術の1つとして、TLS(Transport Layer Security)1.2が従来から知られている。また、TLS1.2の後継として、TLS1.3も知られており、HTTP(Hypertext Transfer Protocol)やMQTT(Message Queuing Telemetry Transport)等による通信をセキュアに行うために利用されている。
ところで、IoT機器は一般的なPC(Personal Computer)等と比較してハードウェア資源が限られているため、IoT機器での通信に対してTLSを適用した場合、証明書利用のための処理性能と通信量が課題となる。この課題に対して、IDベース暗号を用いた相互認証付き鍵交換をTLS1.2に適用したTLSが提案されている(例えば、非特許文献1)。非特許文献1で提案されているTLSでは、TLS1.2の仕様を変更せずに、TLS1.2の仕様の中でIDベース暗号を用いた認証と鍵交換を実現している。また、IDベース暗号を用いることで、証明書利用のための通信が不要となっている。
酒見由美, 武仲正彦, 金岡晃, "IDベース暗号によるIoT向け相互認証方式の提案", SCIS2015
しかしながら、TLS1.3はTLS1.2とは仕様が異なるため、TLS1.3では、上記の非特許文献1で提案されているTLSと同様にIDベース暗号を提供することができない。これは、TLS1.3の仕様では、ハンドシェイクの中のClientHelloとServerHelloとが行われた後にそれ以降のメッセージが暗号化されるため、1ラウンドで暗号化のための鍵交換を行う必要があるためである。
本発明の実施形態は、上記の点に鑑みてなされたもので、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3を実現することを目的とする。
上記目的を達成するため、本実施形態に係る端末は、通信ネットワークを介して接続されるサーバとの間でTLS1.3による認証を行う端末であって、IDベース暗号を用いた相互認証付き鍵交換によって前記TLS1.3のハンドシェイク中のメッセージを暗号化するための共有鍵の生成に必要な第1の識別子と第1の短期公開鍵とが含まれるClientHelloメッセージを前記サーバに送信する送信手段と、前記共有鍵の生成に必要な第2の識別子と第2の短期公開鍵とが含まれるServerHelloメッセージを前記サーバから受信する受信手段と、前記第1の識別子と前記第1の短期公開鍵と前記第2の識別子と前記第2の短期公開鍵とを用いて、前記共有鍵を生成する生成手段と、を有することを特徴とする。
IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3を実現することができる。
以下、本発明の実施形態について説明する。本実施形態では、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3を実現する認証システム1について説明する。
上述したように、TLS1.3はTLS1.2とは仕様が異なる。具体的には、以下の参考文献1に記載されているように、TLS1.2ではハンドシェイクが暗号化されるまでに2ラウンドの通信が行われるのに対して、TLS1.3ではハンドシェイクが暗号化されるまでに1ラウンドの通信(すなわち、ClientHello及びServerHello)しか行われない。
[参考文献1]
"SSL/TLS暗号設定ガイドライン~安全なウェブサイトのために(暗号設定対策編)~", インターネット<URL:https://www.ipa.go.jp/security/ipg/documents/ipa-cryptrec-gl-3001-2.0.pdf>
このため、IDベース暗号を用いた相互認証付き鍵交換をTLS1.3に適用するためには、1ラウンドで鍵交換に必要な情報を交換する必要がある。例えば、MB方式と呼ばれるIDベース暗号を用いた相互認証付き鍵交換プロトコルでは、鍵交換に必要な情報を交換するために1.5ラウンドを要する。これは、MB方式では短期公開鍵を生成するために通信相手の識別子(ID)を必要とするためである。なお、MB方式については以下の参考文献2を参照されたい。
"SSL/TLS暗号設定ガイドライン~安全なウェブサイトのために(暗号設定対策編)~", インターネット<URL:https://www.ipa.go.jp/security/ipg/documents/ipa-cryptrec-gl-3001-2.0.pdf>
このため、IDベース暗号を用いた相互認証付き鍵交換をTLS1.3に適用するためには、1ラウンドで鍵交換に必要な情報を交換する必要がある。例えば、MB方式と呼ばれるIDベース暗号を用いた相互認証付き鍵交換プロトコルでは、鍵交換に必要な情報を交換するために1.5ラウンドを要する。これは、MB方式では短期公開鍵を生成するために通信相手の識別子(ID)を必要とするためである。なお、MB方式については以下の参考文献2を参照されたい。
[参考文献2]
N. McCullagh and P. S. L. M. Barreto, "A New Two-Party Identity-Based Authenticated Key Agreement", CT-RSA 2005, LNCS 3376, pp. 262-274, Springer-Verlag, 2005.
したがって、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3を実現するためには、1ラウンドで鍵交換に必要な情報を交換可能なIDベース暗号を用いた相互認証付き鍵交換プロトコルをTLS1.3に適用する必要がある。
N. McCullagh and P. S. L. M. Barreto, "A New Two-Party Identity-Based Authenticated Key Agreement", CT-RSA 2005, LNCS 3376, pp. 262-274, Springer-Verlag, 2005.
したがって、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3を実現するためには、1ラウンドで鍵交換に必要な情報を交換可能なIDベース暗号を用いた相互認証付き鍵交換プロトコルをTLS1.3に適用する必要がある。
そこで、本実施形態に係る認証システム1では、1ラウンドで鍵交換に必要な情報を交換可能なIDベース暗号を用いた相互認証付き鍵交換プロトコルをTLS1.3に適用する。これにより、TLS1.3の仕様の中でIDベース暗号を用いた認証と鍵交換を行って、この鍵交換で得られた鍵を用いて、ClientHello及びServerHelloよりも後のメッセージを暗号化することが可能となる。
なお、上記のMB方式であっても、例えば、通信相手の識別子(ID)が事前に得られている場合等には1ラウンドで鍵交換に必要な情報を交換することが可能であるが、本実施形態では、通信相手の識別子は事前に(つまり、通信を開始する前に)得ることはできないものとする。これは、実際には通信相手の識別子を事前に得ることができない場合が多く、また、仮に得られたとしても、通信相手が常に同じ識別子を使用するとは限らないためである。
<全体構成>
まず、本実施形態に係る認証システム1の全体構成について、図1を参照しながら説明する。図1は、本実施形態に係る認証システム1の全体構成の一例を示す図である。
まず、本実施形態に係る認証システム1の全体構成について、図1を参照しながら説明する。図1は、本実施形態に係る認証システム1の全体構成の一例を示す図である。
図1に示すように、本実施形態に係る認証システム1には、1以上の端末10と、サーバ20とが含まれる。また、各端末10とサーバ20とは、例えばインターネット等の通信ネットワークNを介して通信可能に接続されている。
端末10は、例えば、各種センサデバイス、組み込み機器、ウェアラブルデバイス、デジタル家電、監視カメラ、照明機器、医療機器、産業用機器等の種々のIoT機器である。すなわち、端末10は、一般的なPC等と比較してハードウェア資源(例えば、プロセッサの処理性能やメモリ容量、通信性能等)が限られているIoT機器であるものとする。ただし、これに限られず、端末10がIoT機器以外(例えば、PC、スマートフォン、タブレット端末等)であっても、本実施形態を同様に適用することが可能である。
サーバ20は、例えば、端末10との間でデータ通信を行うコンピュータ又はコンピュータシステムである。サーバ20としては、例えば、端末10がセンサデバイスである場合に、端末10からセンシングデータを収集するコンピュータ等が挙げられる。
本実施形態に係る認証システム1では、端末10とサーバ20との間でTLS1.3による認証及び暗号化通信を行う際に、IDベース暗号を用いた相互認証付き鍵交換プロトコルによって暗号化のための鍵交換を行う場合について説明する。ただし、本実施形態は、異なる端末10間でTLS1.3による認証及び暗号化通信を行う際についても同様に適用することが可能である。
なお、図1に示す認証システム1の構成は一例であって、他の構成であってもよい。例えば、鍵生成局(KGC:Key Generation Center)として機能する装置又はシステムが認証システム1に含まれていてもよい。
<ハードウェア構成>
次に、本実施形態に係る端末10及びサーバ20のハードウェア構成について説明する。
次に、本実施形態に係る端末10及びサーバ20のハードウェア構成について説明する。
≪端末10≫
以降では、本実施形態に係る端末10のハードウェア構成について、図2を参照しながら説明する。図2は、本実施形態に係る端末10のハードウェア構成の一例を示す図である。
以降では、本実施形態に係る端末10のハードウェア構成について、図2を参照しながら説明する。図2は、本実施形態に係る端末10のハードウェア構成の一例を示す図である。
図2に示すように、本実施形態に係る端末10は、通信I/F11と、プロセッサ12と、メモリ装置13とを有する。これら各ハードウェアは、それぞれバス14を介して通信可能に接続されている。
通信I/F11は、端末10を通信ネットワークNに接続するためのインタフェースである。端末10は、通信I/F11を介して、サーバ20や他の端末10等との間でデータ通信を行うことができる。
プロセッサ12は、例えばMPU(Micro Processing Unit)やCPU(Central Processing Unit)等であり、メモリ装置13からプログラムやデータを読み出して各種処理を実行する演算装置である。
メモリ装置13は、例えばRAM(Random Access Memory)やROM(Read Only Memory)、フラッシュメモリ等であり、各種データやプログラム等を記憶する記憶装置である。
本実施形態に係る端末10は、図2に示すハードウェア構成を有することにより、後述する認証処理を実現することができる。なお、図2に示すハードウェア構成は一例であって、端末10は、他のハードウェア構成を有していてもよい。例えば、端末10は、複数のプロセッサ12を有していてもよいし、複数のメモリ装置13を有していてもよい。
≪サーバ20≫
以降では、本実施形態に係るサーバ20のハードウェア構成について、図3を参照しながら説明する。図3は、本実施形態に係るサーバ20のハードウェア構成の一例を示す図である。
以降では、本実施形態に係るサーバ20のハードウェア構成について、図3を参照しながら説明する。図3は、本実施形態に係るサーバ20のハードウェア構成の一例を示す図である。
図3に示すように、本実施形態に係るサーバ20は、入力装置21と、表示装置22と、外部I/F23と、通信I/F24と、プロセッサ25と、メモリ装置26とを有する。これら各ハードウェアは、それぞれがバス27を介して通信可能に接続されている。
入力装置21は、例えばキーボードやマウス、タッチパネル等であり、サーバ20に対して各種操作を入力するのに用いられる。表示装置22は、例えばディスプレイ等であり、サーバ20の各種処理結果等を表示するのに用いられる。なお、サーバ20は、入力装置21及び表示装置22のうちの少なくとも一方を有していなくてもよい。
外部I/F23は、外部装置とのインタフェースである。外部装置には、記録媒体23a等がある。サーバ20は、外部I/Fを介して、記録媒体23aの読み取りや書き込み等を行うことができる。なお、記録媒体23aとしては、例えば、CD(Compact Disk)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
通信I/F24は、サーバ20を通信ネットワークNに接続するためのインタフェースである。サーバ20は、通信I/F24を介して、端末10等との間でデータ通信を行うことができる。
プロセッサ25は、例えばCPU等であり、メモリ装置26からプログラムやデータを読み出して各種処理を実行する演算装置である。
メモリ装置26は、例えばRAMやROM、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)等であり、各種データやプログラム等を記憶する記憶装置である。
本実施形態に係るサーバ20は、図3に示すハードウェア構成を有することにより、後述する認証処理を実現することができる。なお、図3に示すハードウェア構成は一例であって、サーバ20は、他のハードウェア構成を有していてもよい。例えば、サーバ20は、複数のプロセッサ25を有していてもよいし、複数のメモリ装置26を有していてもよい。
<機能構成>
次に、本実施形態に係る端末10及びサーバ20の機能構成について、図4を参照しながら説明する。図4は、本実施形態に係る端末10及びサーバ20の機能構成の一例を示す図である。
次に、本実施形態に係る端末10及びサーバ20の機能構成について、図4を参照しながら説明する。図4は、本実施形態に係る端末10及びサーバ20の機能構成の一例を示す図である。
≪端末10≫
図4に示すように、本実施形態に係る端末10は、認証処理部101と、記憶部102とを有する。認証処理部101は、端末10にインストールされた1以上のプログラムがプロセッサ12に実行させる処理により実現される。また、記憶部102は、例えば、メモリ装置13等を用いて実現可能である。
図4に示すように、本実施形態に係る端末10は、認証処理部101と、記憶部102とを有する。認証処理部101は、端末10にインストールされた1以上のプログラムがプロセッサ12に実行させる処理により実現される。また、記憶部102は、例えば、メモリ装置13等を用いて実現可能である。
認証処理部101は、サーバ20との間でTLS1.3による認証及び暗号化通信を行う。このとき、認証処理部101は、IDベース暗号を用いた相互認証付き鍵交換プロトコルによってサーバ20との間で暗号化のための鍵交換を行う。
記憶部102は、各種データを記憶する。記憶部102に記憶されているデータとしては、例えば、当該端末10の識別子やユーザ秘密鍵等がある。また、サーバ20との間でTLS1.3による認証及び暗号化通信を行う際の一時的なデータも記憶部102に記憶される。
なお、端末10の識別子としては、任意の識別子を用いることが可能である。例えば、端末10の識別子として、ユーザID、氏名、メールアドレス、電話番号、当該端末10の製造固有番号、IP(Internet Protocol)アドレス、物理アドレス等を用いることが可能である。
≪サーバ20≫
図4に示すように、本実施形態に係るサーバ20は、認証処理部201と、記憶部202とを有する。認証処理部201は、サーバ20にインストールされた1以上のプログラムがプロセッサ25に実行させる処理により実現される。また、記憶部202は、例えば、メモリ装置26等を用いて実現可能である。なお、記憶部202は、例えば、サーバ20と通信ネットワークNを介して接続される記憶装置等を用いて実現されていてもよい。
図4に示すように、本実施形態に係るサーバ20は、認証処理部201と、記憶部202とを有する。認証処理部201は、サーバ20にインストールされた1以上のプログラムがプロセッサ25に実行させる処理により実現される。また、記憶部202は、例えば、メモリ装置26等を用いて実現可能である。なお、記憶部202は、例えば、サーバ20と通信ネットワークNを介して接続される記憶装置等を用いて実現されていてもよい。
認証処理部201は、端末10との間でTLS1.3による認証及び暗号化通信を行う。このとき、認証処理部201は、IDベース暗号を用いた相互認証付き鍵交換プロトコルによって端末10との間で暗号化のための鍵交換を行う。
記憶部202は、各種データを記憶する。記憶部202に記憶されているデータとしては、例えば、当該サーバ20の識別子やユーザ秘密鍵等がある。また、端末10との間でTLS1.3による認証及び暗号化通信を行う際の一時的なデータも記憶部202に記憶される。
なお、サーバ20の識別子としては、任意の識別子を用いることが可能である。例えば、サーバ20の識別子として、当該サーバ20の製造固有番号、IPアドレス、物理アドレス、Webサイト名、メールアドレス、電話番号等を用いることが可能である。
<処理の詳細>
次に、本実施形態に係る認証システム1の処理の詳細について説明する。本実施形態では、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3による認証処理の実施例1~実施例3について説明する。実施例1~実施例3はいずれもその安全性は同じであるが、計算効率は実施例3が最も良い。なお、実施例1~実施例3で説明する方式以外にも、1ラウンドで鍵交換に必要な情報を交換可能なIDベース暗号を用いた相互認証付き鍵交換プロトコルであれば、TLS1.3に適用可能である。
次に、本実施形態に係る認証システム1の処理の詳細について説明する。本実施形態では、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3による認証処理の実施例1~実施例3について説明する。実施例1~実施例3はいずれもその安全性は同じであるが、計算効率は実施例3が最も良い。なお、実施例1~実施例3で説明する方式以外にも、1ラウンドで鍵交換に必要な情報を交換可能なIDベース暗号を用いた相互認証付き鍵交換プロトコルであれば、TLS1.3に適用可能である。
≪記号の定義≫
まず、以降の各実施例で共通に使用する記号を次のように定義する。
まず、以降の各実施例で共通に使用する記号を次のように定義する。
IDA:端末10の識別子
IDB:サーバ20の識別子
k:セキュリティパラメータ
p,q:p≠qを満たす素数
G1:有限体Fp上の楕円曲線をE1として、楕円曲線E1上の群E(Fp)の部分群
G2:有限体Fpのk次拡大体上の楕円曲線をE2として、楕円曲線E2上の群
IDB:サーバ20の識別子
k:セキュリティパラメータ
p,q:p≠qを満たす素数
G1:有限体Fp上の楕円曲線をE1として、楕円曲線E1上の群E(Fp)の部分群
G2:有限体Fpのk次拡大体上の楕円曲線をE2として、楕円曲線E2上の群
g1:G1の生成元
g2:G2の生成元
e:G1×G2上で定義されたペアリング
Zq:qを法とする剰余類
||:文字列の連結
H:鍵導出関数
K:共有鍵
≪認証処理(実施例1)≫
以降では、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3による認証処理の実施例1について、図5を参照しながら説明する。図5は、実施例1における認証処理の一例を示すシーケンス図である。
実施例1では、鍵生成局のマスター秘密鍵をz∈Zq、マスター公開鍵をZ1=zg1及びZ2=zg2とする。また、端末10のユーザ秘密鍵をDA,1=zQA,1=zH1(IDA)∈G1、サーバ20のユーザ秘密鍵をDB,2=zQB,2=zH2(IDB)∈G2とする。ここで、H1は文字列からG1上の元を生成する関数であり、H2は文字列からG2上の元を生成する関数である。H1及びH2は公開情報である。なお、ユーザ秘密鍵DA,1及びDB,2は鍵生成局で生成され、それぞれ任意の方法で端末10及びサーバ20に配布される。
端末10の認証処理部101は、短期秘密鍵xA∈Zqをランダムに選択した上で、短期公開鍵XA,1=xAg1∈G1及びXA,2=xAg2∈G2を生成する(ステップS101)。なお、短期秘密鍵xAと短期公開鍵XA,1及びXA,2は、記憶部102に保存される。
サーバ20の認証処理部201は、短期秘密鍵xB∈Zqをランダムに選択した上で、短期公開鍵XB,1=xBg1∈G1及びXB,2=xBg2∈G2を生成する(ステップS102)。なお、短期秘密鍵xBと短期公開鍵XB,1及びXB,2は、記憶部202に保存される。
次に、端末10の認証処理部101は、ClientHelloをサーバ20に送信する(ステップS103)。このとき、認証処理部101は、当該端末10の識別子IDAと短期公開鍵XA,1及びXA,2とが含まれるClientHelloをサーバ20に送信する。ここで、識別子IDAと短期公開鍵XA,1及びXA,2は、例えば、ClientHelloの拡張領域(Extensionフィールド)に格納することができる。
次に、サーバ20の認証処理部201は、ServerHelloを端末10に送信する(ステップS104)。このとき、認証処理部201は、当該サーバ20の識別子IDBと短期公開鍵XB,1及びXB,2とが含まれるServerHelloを端末10に送信する。ここで、識別子IDBと短期公開鍵XB,1及びXB,2は、例えば、ServerHelloの拡張領域(Extensionフィールド)に格納することができる。
上記のステップS103~ステップS104により鍵交換に必要な情報(つまり、通信相手の識別子と短期公開鍵)が交換される。すなわち、鍵交換に必要な情報が1ラウンドで交換される。
続いて、端末10の認証処理部101は、XB,1及びXB,2がそれぞれ楕円曲線E1及びE2上の点であること及びe(XB,1,g2)=e(g1,XB,2)であることを確認する(ステップS105)。
なお、上記のステップS105で「XB,1が楕円曲線E1上の点でない」、「XB,2が楕円曲線E2上の点でない」及び「e(XB,1,g2)≠e(g1,XB,2)」の少なくとも1つを満たす場合、認証処理が失敗したものとして、処理を終了するか又は上記のステップS101からやり直す。以降では、XB,1及びXB,2がそれぞれ楕円曲線E1及びE2上の点であり、かつ、e(XB,1,g2)=e(g1,XB,2)であることが確認されたものとする。
同様に、サーバ20の認証処理部201は、XA,1及びXA,2がそれぞれ楕円曲線E1及びE2上の点であること及びe(XA,1,g2)=e(g1,XA,2)であることを確認する(ステップS106)。
なお、上記のステップS106で「XA,1が楕円曲線E1上の点でない」、「XA,2が楕円曲線E2上の点でない」及び「e(XA,1,g2)≠e(g1,XA,2)」の少なくとも1つを満たす場合、認証処理が失敗したものとして、処理を終了するか又は上記のステップS101からやり直す。以降では、XA,1及びXA,2がそれぞれ楕円曲線E1及びE2上の点であり、かつ、e(XA,1,g2)=e(g1,XA,2)であることが確認されたものとする。
次に、端末10の認証処理部101は、以下により共有値σ1,σ2,σ3,σ4を計算する(ステップS107)。
σ1=e(DA,1,QB,2)
σ2=e(DA,1+xAZ1,QB,2+XB,2)
σ3=xAXB,1
σ4=xAXB,2
同様に、サーバ20の認証処理部201は、以下により共有値σ1,σ2,σ3,σ4を計算する(ステップS108)。
σ2=e(DA,1+xAZ1,QB,2+XB,2)
σ3=xAXB,1
σ4=xAXB,2
同様に、サーバ20の認証処理部201は、以下により共有値σ1,σ2,σ3,σ4を計算する(ステップS108)。
σ1=e(QA,1,DB,2)
σ2=e(QA,1+XA,1,DB,2+xBZ2)
σ3=xBXA,1
σ4=xBXA,2
次に、端末10の認証処理部101は、以下によりsidを計算する(ステップS109)。なお、sidはセッションIDを意味する。
σ2=e(QA,1+XA,1,DB,2+xBZ2)
σ3=xBXA,1
σ4=xBXA,2
次に、端末10の認証処理部101は、以下によりsidを計算する(ステップS109)。なお、sidはセッションIDを意味する。
sid=(IDA||IDB||XA,1||XA,2||XB,1||XB,2)
同様に、サーバ20の認証処理部201は、以下によりsidを計算する(ステップS110)。
同様に、サーバ20の認証処理部201は、以下によりsidを計算する(ステップS110)。
sid=(IDA||IDB||XA,1||XA,2||XB,1||XB,2)
そして、端末10の認証処理部101は、以下により共有鍵Kを計算する(ステップS111)。
そして、端末10の認証処理部101は、以下により共有鍵Kを計算する(ステップS111)。
K=H(σ1||σ2||σ3||σ4||sid)
なお、この共有鍵Kは記憶部102に保存される。
なお、この共有鍵Kは記憶部102に保存される。
同様に、サーバ20の認証処理部201は、以下により共有鍵Kを計算する(ステップS112)。
K=H(σ1||σ2||σ3||σ4||sid)
なお、この共有鍵Kは記憶部202に保存される。
なお、この共有鍵Kは記憶部202に保存される。
これにより、端末10とサーバ20は、共有鍵Kを用いて以降のメッセージ(つまり、ClientHello及びServerHelloよりも後のメッセージ)を暗号化してTLS1.3の処理を行うことができる(ステップS113)。
≪認証処理(実施例2)≫
以降では、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3による認証処理の実施例2について、図6を参照しながら説明する。図6は、実施例2における認証処理の一例を示すシーケンス図である。
以降では、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3による認証処理の実施例2について、図6を参照しながら説明する。図6は、実施例2における認証処理の一例を示すシーケンス図である。
実施例2では、鍵生成局のマスター秘密鍵をy∈Zq及びz∈Zq、マスター公開鍵をY1=yg1,Y2=yg2,Z1=zg1及びZ2=zg2とする。また、端末10のユーザ秘密鍵をDA,1=zQA,1=zH1(IDA)∈G1、サーバ20のユーザ秘密鍵をDB,2=zQB,2=zH2(IDB)∈G2とする。ここで、H1は文字列からG1上の元を生成する関数であり、H2は文字列からG2上の元を生成する関数である。H1及びH2は公開情報である。なお、ユーザ秘密鍵DA,1及びDB,2は鍵生成局で生成され、それぞれ任意の方法で端末10及びサーバ20に配布される。
端末10の認証処理部101は、短期秘密鍵xA∈Zqをランダムに選択した上で、短期公開鍵XA,1=xAg1∈G1を生成する(ステップS201)。なお、短期秘密鍵xAと短期公開鍵XA,1は、記憶部102に保存される。
サーバ20の認証処理部201は、短期秘密鍵xB∈Zqをランダムに選択した上で、短期公開鍵XB,2=xBg2∈G2を生成する(ステップS202)。なお、短期秘密鍵xBと短期公開鍵XB,2は、記憶部202に保存される。
次に、端末10の認証処理部101は、ClientHelloをサーバ20に送信する(ステップS203)。このとき、認証処理部101は、当該端末10の識別子IDAと短期公開鍵XA,1とが含まれるClientHelloをサーバ20に送信する。ここで、識別子IDAと短期公開鍵XA,1は、例えば、ClientHelloの拡張領域(Extensionフィールド)に格納することができる。
次に、サーバ20の認証処理部201は、ServerHelloを端末10に送信する(ステップS204)。このとき、認証処理部201は、当該サーバ20の識別子IDBと短期公開鍵XB,2とが含まれるServerHelloを端末10に送信する。ここで、識別子IDBと短期公開鍵XB,2は、例えば、ServerHelloの拡張領域(Extensionフィールド)に格納することができる。
上記のステップS203~ステップS204により鍵交換に必要な情報(つまり、通信相手の識別子と短期公開鍵)が交換される。すなわち、鍵交換に必要な情報が1ラウンドで交換される。
次に、端末10の認証処理部101は、以下により共有値σ1,σ2,σ3を計算する(ステップS205)。
σ1=e(DA,1,QB,2)
σ2=e(DA,1+xAZ1,QB,2+XB,2)
σ3=e(Z1+xAY1,XB,2)
同様に、サーバ20の認証処理部201は、以下により共有値σ1,σ2,σ3を計算する(ステップS206)。
σ2=e(DA,1+xAZ1,QB,2+XB,2)
σ3=e(Z1+xAY1,XB,2)
同様に、サーバ20の認証処理部201は、以下により共有値σ1,σ2,σ3を計算する(ステップS206)。
σ1=e(QA,1,DB,2)
σ2=e(QA,1+XA,1,DB,2+xBZ2)
σ3=e(XA,1,Z2+xBY2)
そして、端末10の認証処理部101は、以下により共有鍵Kを計算する(ステップS207)。
σ2=e(QA,1+XA,1,DB,2+xBZ2)
σ3=e(XA,1,Z2+xBY2)
そして、端末10の認証処理部101は、以下により共有鍵Kを計算する(ステップS207)。
K=H(σ1,σ2,σ3,IDA,IDB,XA,1,XB,2)
なお、この共有鍵Kは記憶部102に保存される。
なお、この共有鍵Kは記憶部102に保存される。
同様に、サーバ20の認証処理部201は、以下により共有鍵Kを計算する(ステップS208)。
K=H(σ1,σ2,σ3,IDA,IDB,XA,1,XB,2)
なお、この共有鍵Kは記憶部202に保存される。
なお、この共有鍵Kは記憶部202に保存される。
これにより、端末10とサーバ20は、共有鍵Kを用いて以降のメッセージ(つまり、ClientHello及びServerHelloよりも後のメッセージ)を暗号化してTLS1.3の処理を行うことができる(ステップS209)。
≪認証処理(実施例3)≫
以降では、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3による認証処理の実施例3について、図7を参照しながら説明する。図7は、実施例3における認証処理の一例を示すシーケンス図である。
以降では、IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3による認証処理の実施例3について、図7を参照しながら説明する。図7は、実施例3における認証処理の一例を示すシーケンス図である。
実施例3では、鍵生成局のマスター秘密鍵をz∈Zq、マスター公開鍵をZ=zg1とする。また、端末10のユーザ秘密鍵をDA=zQA=zH3(IDA)∈G2、サーバ20のユーザ秘密鍵をDB=zQB=zH3(IDB)∈G2とする。ここで、H3は文字列からG2上の元を生成する関数であり、公開情報である。なお、ユーザ秘密鍵DA及びDBは鍵生成局で生成され、それぞれ任意の方法で端末10及びサーバ20に配布される。
端末10の認証処理部101は、rA∈Zqをランダムに選択した上で、短期秘密鍵xA=H4(DA||rA)を生成すると共に、短期公開鍵XA=xAg1∈G1を生成する(ステップS301)。ここで、H4は文字列からZq上の元を生成する関数であり、公開情報である。なお、短期秘密鍵xAと短期公開鍵XAは、記憶部102に保存される。
サーバ20の認証処理部201は、rB∈Zqをランダムに選択した上で、短期秘密鍵xB=H4(DB||rB)を生成すると共に、短期公開鍵XB=xBg1∈G1を生成する(ステップS302)。なお、短期秘密鍵xBと短期公開鍵XBは、記憶部202に保存される。
次に、端末10の認証処理部101は、短期秘密鍵xAを記憶部102から削除する(ステップS303)。同様に、サーバ20の認証処理部201は、短期秘密鍵xBを記憶部202から削除する(ステップS304)。
なお、上記のステップS303で短期秘密鍵xAを記憶部102から削除しているが、これは、識別子IDB及び短期公開鍵XBをサーバ20から受信するまでの間に短期秘密鍵xAが流出してしまう事態を防止するためである。同様に、上記のステップS304で短期秘密鍵xBを記憶部202から削除しているのは、識別子IDA及び短期公開鍵XAを端末10から受信するまでの間に短期秘密鍵xBが流出してしまう事態を防止するためである。
次に、端末10の認証処理部101は、ClientHelloをサーバ20に送信する(ステップS305)。このとき、認証処理部101は、当該端末10の識別子IDAと短期公開鍵XAとが含まれるClientHelloをサーバ20に送信する。ここで、識別子IDAと短期公開鍵XAは、例えば、ClientHelloの拡張領域(Extensionフィールド)に格納することができる。
次に、サーバ20の認証処理部201は、ServerHelloを端末10に送信する(ステップS306)。このとき、認証処理部201は、当該サーバ20の識別子IDBと短期公開鍵XBとが含まれるServerHelloを端末10に送信する。ここで、識別子IDBと短期公開鍵XBは、例えば、ServerHelloの拡張領域(Extensionフィールド)に格納することができる。
上記のステップS305~ステップS306により鍵交換に必要な情報(つまり、通信相手の識別子と短期公開鍵)が交換される。すなわち、鍵交換に必要な情報が1ラウンドで交換される。
続いて、端末10の認証処理部101は、短期秘密鍵xA=H4(DA||rA)を再度生成する(ステップS307)。なお、短期秘密鍵xAは、記憶部102に保存される。
同様に、サーバ20の認証処理部201は、短期秘密鍵xB=H4(DB||rB)を再度生成する(ステップS308)。なお、短期秘密鍵xBは、記憶部202に保存される。
次に、端末10の認証処理部101は、以下により共有値σ1,σ2,σ3を計算する(ステップS309)。
σ1=e(XB,DA)
σ2=e(xAZ,QB)
σ3=xAXB
同様に、サーバ20の認証処理部201は、以下により共有値σ1,σ2,σ3を計算する(ステップS310)。
σ2=e(xAZ,QB)
σ3=xAXB
同様に、サーバ20の認証処理部201は、以下により共有値σ1,σ2,σ3を計算する(ステップS310)。
σ1=e(xBZ,QA)
σ2=e(XA,DB)
σ3=xBXA
次に、端末10の認証処理部101は、以下によりsidを計算する(ステップS311)。
σ2=e(XA,DB)
σ3=xBXA
次に、端末10の認証処理部101は、以下によりsidを計算する(ステップS311)。
sid=(IDA||IDB||XA||XB)
同様に、サーバ20の認証処理部201は、以下によりsidを計算する(ステップS312)。
同様に、サーバ20の認証処理部201は、以下によりsidを計算する(ステップS312)。
sid=(IDA||IDB||XA||XB)
そして、端末10の認証処理部101は、以下により共有鍵Kを計算する(ステップS313)。
そして、端末10の認証処理部101は、以下により共有鍵Kを計算する(ステップS313)。
K=H(σ1||σ2||σ3||sid)
なお、この共有鍵Kは記憶部102に保存される。
なお、この共有鍵Kは記憶部102に保存される。
同様に、サーバ20の認証処理部201は、以下により共有鍵Kを計算する(ステップS314)。
K=H(σ1||σ2||σ3||sid)
なお、この共有鍵Kは記憶部202に保存される。
なお、この共有鍵Kは記憶部202に保存される。
これにより、端末10とサーバ20は、共有鍵Kを用いて以降のメッセージ(つまり、ClientHello及びServerHelloよりも後のメッセージ)を暗号化してTLS1.3の処理を行うことができる(ステップS315)。
<評価>
最後に、本実施形態に係る認証システム1が実行する認証処理(IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3による認証処理)の評価について説明する。一例として、上記の実施例3で説明した認証処理と、従来のTLSとを比較した。比較対象としては、既存の暗号スイートの中で比較的通信量が少ないTLS1.3-X25519-Ed25519を採用した。
最後に、本実施形態に係る認証システム1が実行する認証処理(IDベース暗号を用いた相互認証付き鍵交換を適用したTLS1.3による認証処理)の評価について説明する。一例として、上記の実施例3で説明した認証処理と、従来のTLSとを比較した。比較対象としては、既存の暗号スイートの中で比較的通信量が少ないTLS1.3-X25519-Ed25519を採用した。
TLSのハンドシェイク中の各メッセージのパケットサイズを観測した結果とその合計とを以下の表1に示す。なお、表1では、IDベース暗号に用いられる識別子のデータサイズは20バイトとしている。また、表1では、参考として、TLS1.3-P256-RSAにおける各メッセージのパケットサイズとその合計も記載している。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更等が可能である。
1 認証システム
10 端末
20 サーバ
101 認証処理部
102 記憶部
201 認証処理部
202 記憶部
N 通信ネットワーク
10 端末
20 サーバ
101 認証処理部
102 記憶部
201 認証処理部
202 記憶部
N 通信ネットワーク
Claims (7)
- 通信ネットワークを介して接続されるサーバとの間でTLS1.3による認証を行う端末であって、
IDベース暗号を用いた相互認証付き鍵交換によって前記TLS1.3のハンドシェイク中のメッセージを暗号化するための共有鍵の生成に必要な第1の識別子と第1の短期公開鍵とが含まれるClientHelloメッセージを前記サーバに送信する送信手段と、
前記共有鍵の生成に必要な第2の識別子と第2の短期公開鍵とが含まれるServerHelloメッセージを前記サーバから受信する受信手段と、
前記第1の識別子と前記第1の短期公開鍵と前記第2の識別子と前記第2の短期公開鍵とを用いて、前記共有鍵を生成する生成手段と、
を有することを特徴とする端末。 - 前記第1の識別子は前記端末を識別する識別情報、前記第2の識別子は前記サーバを識別する識別情報であり、
前記第1の短期公開鍵は前記端末が生成した第1の短期秘密鍵と楕円曲線上の部分群の生成元とから生成され、前記第2の短期公開鍵は前記サーバが生成した第2の短期秘密鍵と楕円曲線上の部分群の生成元とから生成される、ことを特徴とする請求項1に記載の端末。 - 通信ネットワークを介して接続される端末との間でTLS1.3による認証を行うサーバであって、
IDベース暗号を用いた相互認証付き鍵交換によって前記TLS1.3のハンドシェイク中のメッセージを暗号化するための共有鍵の生成に必要な第1の識別子と第1の短期公開鍵とが含まれるClientHelloメッセージを前記端末から受信する受信手段と、
前記共有鍵の生成に必要な第2の識別子と第2の短期公開鍵とが含まれるServerHelloメッセージを前記端末に送信する送信手段と、
前記第1の識別子と前記第1の短期公開鍵と前記第2の識別子と前記第2の短期公開鍵とを用いて、前記共有鍵を生成する生成手段と、
を有することを特徴とするサーバ。 - 前記第1の識別子は前記端末を識別する識別情報、前記第2の識別子は前記サーバを識別する識別情報であり、
前記第1の短期公開鍵は前記端末が生成した第1の短期秘密鍵と楕円曲線上の部分群の生成元とから生成され、前記第2の短期公開鍵は前記サーバが生成した第2の短期秘密鍵と楕円曲線上の部分群の生成元とから生成される、ことを特徴とする請求項3に記載のサーバ。 - 通信ネットワークを介して接続されるサーバとの間でTLS1.3による認証を行う端末が、
IDベース暗号を用いた相互認証付き鍵交換によって前記TLS1.3のハンドシェイク中のメッセージを暗号化するための共有鍵の生成に必要な第1の識別子と第1の短期公開鍵とが含まれるClientHelloメッセージを前記サーバに送信する送信手順と、
前記共有鍵の生成に必要な第2の識別子と第2の短期公開鍵とが含まれるServerHelloメッセージを前記サーバから受信する受信手順と、
前記第1の識別子と前記第1の短期公開鍵と前記第2の識別子と前記第2の短期公開鍵とを用いて、前記共有鍵を生成する生成手順と、
を実行することを特徴とする方法。 - 通信ネットワークを介して接続される端末との間でTLS1.3による認証を行うサーバが、
IDベース暗号を用いた相互認証付き鍵交換によって前記TLS1.3のハンドシェイク中のメッセージを暗号化するための共有鍵の生成に必要な第1の識別子と第1の短期公開鍵とが含まれるClientHelloメッセージを前記端末から受信する受信手順と、
前記共有鍵の生成に必要な第2の識別子と第2の短期公開鍵とが含まれるServerHelloメッセージを前記端末に送信する送信手順と、
前記第1の識別子と前記第1の短期公開鍵と前記第2の識別子と前記第2の短期公開鍵とを用いて、前記共有鍵を生成する生成手順と、
を実行することを特徴とする方法。 - コンピュータを、請求項1若しくは2に記載の端末における各手段、又は、請求項3若しくは4に記載のサーバにおける各手段、として機能させるためのプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/039253 WO2021064978A1 (ja) | 2019-10-04 | 2019-10-04 | 端末、サーバ、方法及びプログラム |
JP2021550916A JP7231051B2 (ja) | 2019-10-04 | 2019-10-04 | 端末、サーバ、方法及びプログラム |
US17/764,170 US12021974B2 (en) | 2019-10-04 | 2019-10-04 | Terminal, server, method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/039253 WO2021064978A1 (ja) | 2019-10-04 | 2019-10-04 | 端末、サーバ、方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021064978A1 true WO2021064978A1 (ja) | 2021-04-08 |
Family
ID=75337937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/039253 WO2021064978A1 (ja) | 2019-10-04 | 2019-10-04 | 端末、サーバ、方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US12021974B2 (ja) |
JP (1) | JP7231051B2 (ja) |
WO (1) | WO2021064978A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12008098B1 (en) * | 2020-12-28 | 2024-06-11 | Advanced Neuromodulation Systems, Inc. | Split key architecture for facilitating authentication between an implanted medical device and an external device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100031042A1 (en) * | 2007-10-26 | 2010-02-04 | Telcordia Technologies, Inc. | Method and System for Secure Session Establishment Using Identity-Based Encryption (VDTLS) |
EP2173055A1 (en) * | 2007-12-14 | 2010-04-07 | Huawei Technologies Co., Ltd. | A method, a system, a client and a server for key negotiating |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160140240A (ko) * | 2015-05-29 | 2016-12-07 | 한밭대학교 산학협력단 | Wave 시스템을 위한 에러제어 기능을 개선한 보안통신 프로토콜을 이용한 데이터통신 방법 및 그 장치 |
JP6613909B2 (ja) * | 2016-01-15 | 2019-12-04 | 富士通株式会社 | 相互認証方法、認証装置および認証プログラム |
CN108111467B (zh) * | 2016-11-24 | 2021-04-09 | 华为技术有限公司 | 身份认证方法与设备及*** |
US10721219B2 (en) * | 2018-06-28 | 2020-07-21 | Nxp B.V. | Method for establishing a secure communication session in a communications system |
US11751049B2 (en) * | 2019-05-01 | 2023-09-05 | John A. Nix | Distributed EAP-TLS authentication for wireless networks with concealed user identities |
-
2019
- 2019-10-04 US US17/764,170 patent/US12021974B2/en active Active
- 2019-10-04 JP JP2021550916A patent/JP7231051B2/ja active Active
- 2019-10-04 WO PCT/JP2019/039253 patent/WO2021064978A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100031042A1 (en) * | 2007-10-26 | 2010-02-04 | Telcordia Technologies, Inc. | Method and System for Secure Session Establishment Using Identity-Based Encryption (VDTLS) |
EP2173055A1 (en) * | 2007-12-14 | 2010-04-07 | Huawei Technologies Co., Ltd. | A method, a system, a client and a server for key negotiating |
Non-Patent Citations (3)
Title |
---|
HUANG, M., SYMANTEC M.: "Identity-Based Encryption (IBE) Cipher Suites for Transport Layer Security (TLS) draft- huang-tls-ibe-00", IDENTITY-BASED ENCRYPTION (IBE) CIPHER SUITES FOR TRANSPORT LAYER SECURITY (TLS); DRAFT-HUANG-TLS-IBE-00.TXT, 3 July 2009 (2009-07-03), pages 1 - 16, XP015062975 * |
SAKEMI, YUMI ET AL.: "TLS Applications of ID-Based-Authentication-Function-Equipped Key Exchange, and Evaluation of Implementation Thereof", 2016 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, 19 January 2016 (2016-01-19), pages 1 - 8 * |
SAKEMI, YUMI ET AL.: "TLS with Pre-shared Key Extended by Identity-based Encryption", IPSJ SIG TECHNICAL REPORT (CSEC), vol. 2013 -CS, no. 7, 11 July 2013 (2013-07-11), pages 1 - 7 * |
Also Published As
Publication number | Publication date |
---|---|
US12021974B2 (en) | 2024-06-25 |
JP7231051B2 (ja) | 2023-03-01 |
JPWO2021064978A1 (ja) | 2021-04-08 |
US20220337403A1 (en) | 2022-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107040373B (zh) | 相互认证方法及认证设备 | |
RU2542911C2 (ru) | Установление однорангового сеанса с малым временем ожидания | |
US9237133B2 (en) | Detecting matched cloud infrastructure connections for secure off-channel secret generation | |
CN111404950B (zh) | 一种基于区块链网络的信息共享方法、装置和相关设备 | |
JP5829574B2 (ja) | 認証システム、認証装置、認証方法、及びプログラム | |
Panwar et al. | Security for IoT: An effective DTLS with public certificates | |
WO2023174038A9 (zh) | 数据传输方法及相关设备 | |
Srikanth et al. | An efficient Key Agreement and Authentication Scheme (KAAS) with enhanced security control for IIoT systems | |
TW202118271A (zh) | 使用參與實體之網絡識別符促進與區塊鏈關聯之交易的電腦實施系統及方法 | |
US11791993B2 (en) | Shared key system, information processing apparatus, equipment, shared key method and program | |
KR101572598B1 (ko) | Sso 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법 | |
JP7231051B2 (ja) | 端末、サーバ、方法及びプログラム | |
JP4924943B2 (ja) | 認証付鍵交換システム、認証付鍵交換方法およびプログラム | |
Nicholson et al. | Lokey: Leveraging the sms network in decentralized, end-to-end trust establishment | |
WO2022135393A1 (zh) | 身份鉴别方法、鉴别接入控制器、请求设备、鉴别服务器、存储介质、程序、及程序产品 | |
CN110572788B (zh) | 基于非对称密钥池和隐式证书的无线传感器通信方法和*** | |
WO2021010444A1 (ja) | 鍵交換システム、通信装置、鍵交換方法及びプログラム | |
JP7298686B2 (ja) | 鍵交換システム、通信装置及びプログラム | |
JP2009104509A (ja) | 端末認証システム、端末認証方法 | |
JP7377495B2 (ja) | 暗号システム及び方法 | |
Belej et al. | The features of security of transfer and storage data for the Internet of Things in Cloud Database | |
JP7289478B2 (ja) | 鍵交換システム、機器、情報処理装置、鍵交換方法及びプログラム | |
JP2011254146A (ja) | 通信内容監査方法および通信内容監査システム | |
Yodthong et al. | Lightweight Authentication and Communication Protocol for IoT Devices | |
TW202327313A (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: 19947957 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021550916 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19947957 Country of ref document: EP Kind code of ref document: A1 |