WO2024042584A1 - 通信システム、及び通信方法 - Google Patents

通信システム、及び通信方法 Download PDF

Info

Publication number
WO2024042584A1
WO2024042584A1 PCT/JP2022/031583 JP2022031583W WO2024042584A1 WO 2024042584 A1 WO2024042584 A1 WO 2024042584A1 JP 2022031583 W JP2022031583 W JP 2022031583W WO 2024042584 A1 WO2024042584 A1 WO 2024042584A1
Authority
WO
WIPO (PCT)
Prior art keywords
term
nonce
short
key
server
Prior art date
Application number
PCT/JP2022/031583
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 PCT/JP2022/031583 priority Critical patent/WO2024042584A1/ja
Publication of WO2024042584A1 publication Critical patent/WO2024042584A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords

Definitions

  • the present disclosure relates to a communication system and a communication method.
  • the authentication key exchange protocol is a protocol that generates a mutually shared key (common key) when authentication is successful, and enables encrypted communication using the common key.
  • an authentication key exchange protocol using ID (identification)-based cryptography is known.
  • the authenticated key exchange protocol using ID-based encryption uses an authenticated key exchange method in which the user uses an ID, which is an arbitrary string of characters, as the public key, and the manufacturing code or serial number of the IoT device is used as the public key. It can be adopted as is.
  • an authentication key exchange protocol using ID-based encryption allows client terminals to mutually authenticate whether the ID is correct, and when authentication is successful, generates a common key (session key) that is common to both parties. Client terminals perform encrypted communication using the common key.
  • the present invention has been made in view of the above points, and provides an authentication key exchange protocol using ID-based encryption in which key exchange cannot be performed unless the latest long-term secret key and the other party's identification information are paired.
  • the purpose is to
  • the invention according to claim 1 is a communication system having a predetermined server and a client terminal that perform encrypted communication using an ID-based encryption method, wherein the client terminal is configured to receive information from a KGC server.
  • a first receiving unit that receives a predetermined nonce based on the latest time and a first long-term private key, and generates a first short-term private key and a first short-term public key using the first long-term private key;
  • a first short-term key generating unit that transmits, to the predetermined server, terminal identification information to which a first nonce is added for identifying the client terminal, and the first short-term public key.
  • the predetermined server includes a second receiver that receives the predetermined nonce received from the KGC server and a second long-term secret key; a second confirmation unit that checks whether the first nonce is based on the latest time based on whether the first nonce is the same as the predetermined nonce; a second short-term key generation unit that does not execute a process of generating a second short-term public key when the communication system is not based on the second short-term public key.
  • the present invention has the effect that key exchange cannot be performed unless there is a pair of the latest long-term private key and the other party's identification information.
  • FIG. 1 is a schematic diagram of a communication system according to an embodiment.
  • FIG. 2 is a hardware configuration diagram of a KGC server and a predetermined server according to an embodiment.
  • FIG. 2 is a hardware configuration diagram of a client terminal according to an embodiment.
  • 1 is a functional configuration diagram of a communication system according to an embodiment.
  • FIG. FIG. 3 is a sequence diagram showing processing during normal operation.
  • FIG. 2 is a sequence diagram showing processing during key exchange.
  • FIG. 2 is a sequence diagram showing processing during key exchange.
  • FIG. 2 is a sequence diagram showing processing during key exchange.
  • FIG. 1 is a schematic diagram of a communication system according to an embodiment of the present invention.
  • the communication system 1 of this embodiment is constructed by a KGC server 3, a predetermined server 5, and a client terminal 7.
  • the predetermined server 5 and the client terminal 7, are shown in FIG. 1, there may be three or more.
  • Client terminals include IoT devices, tablet terminals, notebook PCs, and the like.
  • the KGC server 3, the predetermined server 5, and the client terminal 7 can communicate via a communication network 100 such as the Internet.
  • the connection form of the communication network 100 may be either wireless or wired.
  • the KGC server 3 is configured by one or more computers.
  • the KGC server may be referred to as a "KGC system.”
  • the KGC server 3 is a KGC (Key Generation Center: ID-based key generation center) server, and issues long-term secret keys and the like.
  • the predetermined server 5 and client terminal 7 perform mutual authentication using ID-based encryption.
  • FIG. 2 is a hardware configuration diagram of the KGC server and the predetermined server.
  • the KGC server 3 includes a processor 301, a memory 302, an auxiliary storage device 303, a connection device 304, a communication device 305, and a drive device 306. Note that each piece of hardware that constitutes the KGC server 3 is interconnected via a bus 307.
  • the processor 301 plays the role of a control unit that controls the entire KGC server 3, and includes various calculation devices such as a CPU (Central Processing Unit). Processor 301 reads various programs onto memory 302 and executes them. Note that the processor 301 may include GPGPU (General-purpose computing on graphics processing units).
  • GPGPU General-purpose computing on graphics processing units
  • the memory 302 includes main storage devices such as ROM (Read Only Memory) and RAM (Random Access Memory).
  • the processor 301 and the memory 302 form a so-called computer, and when the processor 301 executes various programs read onto the memory 302, the computer realizes various functions.
  • the auxiliary storage device 303 stores various programs and various information used when the various programs are executed by the processor 301.
  • the connection device 304 is a connection device that connects an external device (for example, a display device 310, an operation device 311) and the KGC server 3.
  • an external device for example, a display device 310, an operation device 3111
  • the KGC server 3 the KGC server 3.
  • the communication device 305 is a communication device for transmitting and receiving various information with other devices (including devices, servers, and systems).
  • the drive device 306 is a device for setting the recording medium 330.
  • the recording medium 330 herein includes a medium for recording information optically, electrically, or magnetically, such as a CD-ROM (Compact Disc Read-Only Memory), a flexible disk, or a magneto-optical disk. Further, the recording medium 330 may include a semiconductor memory that records information electrically, such as a ROM (Read Only Memory) or a flash memory.
  • the various programs to be installed in the auxiliary storage device 303 can be installed by, for example, setting the distributed recording medium 330 in the drive device 306 and reading out the various programs recorded on the recording medium 330 by the drive device 306. be done.
  • various programs installed in the auxiliary storage device 303 may be installed by being downloaded from a network via the communication device 305.
  • FIG. 2 shows the hardware configuration of the predetermined server 5, the configurations are the same except that the numbers have changed from 300s to 500s, so a description thereof will be omitted.
  • FIG. 3 is a hardware configuration diagram of a client terminal (IoT device, tablet terminal, etc.) according to the embodiment. Note that the client terminal 7 does not necessarily have to have the configuration shown in FIG. 3.
  • the client terminal 7 includes a processor 701, a memory 702, an auxiliary storage device 703, a communication device 704, and a GPS (Global Positioning System) device 705.
  • the client terminal 7 also includes an audio input device 706, an audio output device 707, a display device 708, an imaging device 709, a connection device 710, and a short-range wireless communication device 711. Note that each piece of hardware that constitutes the client terminal 7 is interconnected via a bus 720.
  • the processor 701 plays the role of a control unit that controls the entire client terminal 7, and includes various calculation devices such as a CPU (Central Processing Unit). Processor 701 reads various programs onto memory 702 and executes them. Note that the processor 401 may include GPGPU (General-purpose computing on graphics processing units).
  • GPGPU General-purpose computing on graphics processing units
  • the memory 702 includes main storage devices such as ROM (Read Only Memory) and RAM (Random Access Memory).
  • the processor 701 and the memory 702 form a so-called computer, and when the processor 701 executes various programs read onto the memory 702, the computer realizes various functions.
  • the auxiliary storage device 703 stores various programs and various information used when the various programs are executed by the processor 701.
  • the communication device 704 is a communication device for transmitting and receiving various information with other devices (including devices, servers, and systems).
  • the GPS device 705 detects location information of the client terminal 7.
  • the audio input device 706 detects audio information such as the user's voice and surrounding sounds.
  • the audio output device 707 is, for example, a device that outputs audio of various information received from other devices.
  • the display device 708 is, for example, a device that displays images of various information received from other devices.
  • the imaging device 709 photographs the user and the surroundings and generates image information.
  • connection device 710 is a connection device used to connect various sensors, external memory, etc. to the client terminal 7.
  • the short-range wireless communication device 711 is a wireless device for performing short-range wireless communication with other devices near the client terminal 7.
  • FIG. 4 is a functional configuration diagram of the communication system according to the embodiment.
  • the KGC server 3 includes a transmitting/receiving section 31, a long-term secret key generation section 33, and an authentication section 35. Each of these units is a function that the processor 301 causes the KGC server 3 to implement using one or more programs installed in the KGC server 3. Furthermore, the KGC server 3 has a storage section 30.
  • the storage unit 30 is realized by a memory 302 or an auxiliary storage device 303. As shown in FIG. 5, in the storage unit 30, IDs and authentication methods are registered for the predetermined server 5 and each client terminal 7A, 7B. Note that the client terminals 7A and 7B are examples of the client terminal 7. Moreover, although FIG.
  • the present invention is not limited to this.
  • the server ID (server1@example.com) of the predetermined server 5 is abbreviated as "IDs”.
  • the client ID (alice@example.com) of the client terminal 7A is abbreviated as “IDa”.
  • the client ID (bob@example.com) of the client terminal 7B is abbreviated as "IDb”.
  • the transmitting/receiving unit 31 transmits and receives data to and from the predetermined server 5 and the client terminal 7 via the communication network 100.
  • the transmitter/receiver 31 transmits, to the predetermined server 5, a long-term secret key (SSK_S) generated using server IDs to which a nonce based on the latest time T is added. Update the long-term secret key (SSK_S). Note that "nonce” is also called “nonce”. Since the KGC server 3 manages master time such as UNIX (registered trademark) time, the transmitter/receiver 31 always updates the latest time at a predetermined time interval agreed between the predetermined server 5 and the client terminal 7. T's long-term secret key (SSK_S) can be sent.
  • SSK_S long-term secret key
  • the transmitter/receiver 31 also transmits a nonce based on the latest time T along with the long-term secret key (SSK_S).
  • SSK_S long-term secret key
  • FIG. 5 among “SSK(server1@example.com+1648490000)", “server1@example.com” is the server ID of the predetermined server 5, and "1648490000” is the nonce.
  • the nonce is generated using the latest time T, for example. Note that in this embodiment, ID-based authentication key exchange can be performed any number of times within the validity period.
  • the transmitter/receiver 31 transmits the long-term secret key (SSK_A) generated by the long-term secret key generator 33 to the client terminal 7A in response to a request from the client terminal 7A. Further, the transmitter/receiver 31 transmits the long-term secret key (SSK_B) generated by the long-term secret key generator 33 to the client terminal 7B in response to a request from the client terminal 7B. Further, the transmitter/receiver 31 also transmits a nonce based on the latest time T along with the long-term secret key (SSK_A) or the long-term secret key (SSK_B).
  • the long-term secret key (SSK_S) is specifically shown as “SSK(server1@example.com_1648490000)” from FIG. 5 onwards.
  • the long-term secret key (SSK_A) is specifically shown as “SSK(alice@example.com_1648490000)” from FIG. 6 onwards.
  • the long-term secret key (SSK_B) can be specifically indicated as "SSK(bob@example.com_1648490000)”. “1648490000” corresponding to the nonce is changed based on the latest time T.
  • the long-term private key generation unit 33 generates a predetermined key from the predetermined server 5 at a predetermined update interval (for example, 1 minute) agreed between the predetermined server 5 and the client terminal 7 based on the master time managed by the KGC server 3. Generate a long-term secret key (SSK_S) after adding a nonce to the server IDs. Further, the long-term secret key generation unit 33 generates a long-term secret key (SSK_A) after adding a nonce to the terminal IDa of the client terminal 7A. Further, the long-term secret key generation unit 33 generates a long-term secret key (SSK_B) after adding a nonce to the terminal IDb of the client terminal 7B.
  • a predetermined update interval for example, 1 minute
  • the authentication unit 35 authenticates the client terminal using a predetermined authentication method among the authentication methods already registered in the storage unit 30. 7. Perform authentication.
  • the predetermined server 5 includes a transmitting/receiving section 51, a confirming section 52, a short-term key generating section 54, and a common key generating section 57. Each of these units is a function that the processor 501 causes the predetermined server 5 to implement using one or more programs installed on the predetermined server 5. Further, the predetermined server 5 has a storage section 50.
  • the storage unit 50 is realized by a memory 502 or an auxiliary storage device 503.
  • the storage unit 50 stores server IDs, which are examples of server identification information for identifying itself (predetermined server 5). Furthermore, the storage unit 50 stores the nonce at the latest time T and the long-term secret key (SSK_S) sent from the KGC server 3.
  • the transmitting/receiving unit 51 transmits and receives data to and from the KGC server 3 and client terminal 7 via the communication network 100. For example, the transmitting/receiving unit 51 always continues to receive the nonce of the latest time T and the long-term secret key (SSK_S) from the KGC server 3. Further, the transmitting/receiving unit 51 transmits the server IDs of itself (predetermined server 5) with a nonce added and the short-term public key (EPK_S) generated by the short-term key generating unit 54 to the client terminal 7A.
  • SSK_S long-term secret key
  • the confirmation unit 52 determines whether the nonce added to the terminal IDa/IDb sent from the client terminal 7 is the same as the nonce based on the latest time T sent from the KGC server 3. Check whether the nonce attached to the terminal IDa/IDb is the latest. In this case, if the nonce is the same, it is the latest. If the terminal ID is not the latest time, the confirmation unit 52 informs the short-term key generation unit 54 that the terminal ID is not the latest time, the short-term key generation unit 54 does not generate a short-term public key, and the transmission/reception unit 51 uses the client terminal End communication with 7. On the other hand, if the terminal ID is the latest time, the confirmation unit 52 notifies the short-term key generation unit 54 that the terminal ID is the latest time, and the short-term key generation unit 54 starts generating a short-term public key.
  • the short-term key generation unit 54 generates a short-term key based on its own long-term secret key (SSK_S) received from the KGC server 3, its own server IDs with a nonce added, and the terminal IDa/IDb of the client terminal 7 with a nonce added.
  • a short-term key pair is generated by generating a private key (ESK_S) and generating a short-term public key (EPK_S) to be paired with this short-term private key (ESK_S).
  • the common key generation unit 57 generates its own long-term secret key (SSK_S), the terminal IDa/IDb with a nonce added, the server IDs with a nonce added, and the short-term public key (EPK_A/EPK_B) sent from the client terminal 7. ), and the short-term private key (ESK_A/ESK_B) corresponding to the short-term public key (EPK_A/EPK_B), a common key (session key) for performing encrypted communication with the client terminal 7 using the ID-based encryption method. generate.
  • the client terminal 7 includes a transmitting/receiving section 71, a confirmation section 72, a short-term key generation section 74, and a common key generation section 77. Each of these units is a function that the processor 701 causes the client terminal 7 to implement using one or more programs installed on the client terminal 7. Furthermore, the client terminal 7 has a storage section 70.
  • the storage unit 70 is realized by a memory 702 or an auxiliary storage device 703.
  • the storage unit 70 stores a terminal ID, which is an example of terminal identification information for identifying itself (client terminal 7).
  • the transmitting/receiving unit 71 transmits and receives data to and from the KGC server 3 and the predetermined server 5 via the communication network 100.
  • the transmitter/receiver 71 transmits to the predetermined server 5 its own (client terminal 7) terminal IDa/IDb with a nonce added and its own short-term public key (EPK_A/EPK_B).
  • the terminal ID of the client terminal 7a is indicated as terminal IDa
  • the terminal ID of the client terminal 7b is indicated as terminal IDb.
  • the confirmation unit 72 confirms the nonce added to the server IDs received by the transmission/reception unit 71. If the server ID is not the latest time, the confirmation unit 72 informs the common key generation unit 77 that the server ID is not the latest time, the common key generation unit 77 does not generate a common key, and the transmission/reception unit 71 transmits the message to the specified server. Terminate communication with 5. On the other hand, if it is the server ID of the latest time, the confirmation unit 72 notifies the common key generation unit 77 that it is the server ID of the latest time, and the common key generation unit 77 starts generating a common key.
  • the short-term key generation unit 74 adds a nonce based on the latest time T received by the transmission/reception unit 71 to its own terminal IDa/IDb and the server IDs of the predetermined server 5 acquired in advance. Then, the short-term key generation unit 74 generates its own long-term private key (SSK_A/SSK_B) received from the KGC server 3, its own terminal IDa/IDb with a nonce based on the latest time T, and the nonce based on the latest time T.
  • SSK_A/SSK_B long-term private key
  • EK_A/ESK_B By generating a short-term private key (ESK_A/ESK_B) based on the server IDs of the added predetermined server 5, and generating a short-term public key (EPK_A/EPK_B) to be paired with this short-term private key (ESK_A/ESK_B). , generate an ephemeral key pair.
  • the short-term public key of the client terminal 7A is shown as a short-term public key (EPK_A)
  • the short-term public key of the client terminal 7B is shown as a short-term public key (EPK_B).
  • the short-term secret key of the client terminal 7A is shown as a short-term secret key (ESK_A)
  • the short-term secret key of the client terminal 7B is shown as a short-term secret key (ESK_B).
  • the common key generation unit 77 When the confirmation unit 72 determines that the server IDs are the latest, the common key generation unit 77 generates its own long-term secret key (SSK_A/SSK_B), its own terminal IDa/IDb with a nonce attached, and the nonce. is added, the short-term public key (EPK_S) sent from the predetermined server 7, and the short-term secret key (ESK_S) corresponding to the short-term public key (EPK_S) are used to exchange ID-based encryption with the predetermined server 5. Generate a common key (session key) for encrypted communication using the method.
  • FIGS. 5 to 8 the processing or operation of embodiment
  • a predetermined server 5 and a client terminal 7a which is an example of the client terminal 7, perform encrypted communication using an ID-based encryption method.
  • the long-term private key generation unit 33 of the KGC server 3 generates the latest time T based on the server IDs to which a nonce based on the latest time T is added at a predetermined update interval (for example, 1 minute).
  • a predetermined update interval for example, 1 minute.
  • the transmitter/receiver 31 of the KGC server 3 sends the nonce based on the latest time T and the long-term secret key (SSK_S) at the latest time T generated by the long-term secret key generator 33 to the predetermined server 5 at a predetermined update interval. Keep sending. As a result, the transmitting/receiving unit 51 of the predetermined server 5 continues to receive the nonce based on the latest time T and the long-term secret key (SSK_S) at predetermined update intervals.
  • the transmitting/receiving unit 71 of the client terminal 7A transmits to the KGC server 3 a request to generate a long-term private key for itself (client terminal 7A). At this time, the terminal IDa of the client terminal 7A is also transmitted. Thereby, the transmitting/receiving unit 31 of the KGC server 3 receives the long-term private key generation request.
  • the authentication unit 35 of the KGC server 3 performs authentication using the authentication method registered in the storage unit 30.
  • the long-term secret key generation unit 33 performs a communication between the predetermined server 5 and the client terminal 7 based on the master time managed by the KGC server 3.
  • a nonce based on the latest time T is added to the terminal IDa of the client terminal 7A to generate a long-term secret key (SSK_A).
  • the transmitter/receiver 31 transmits the nonce based on the latest time T and the long-term secret key (SSK_A) at the latest time T generated by the long-term secret key generator 33 to the client terminal 7A.
  • the transmitting/receiving unit 71 of the client terminal 7A receives the nonce based on the latest time T and the long-term secret key (SSK_A). Note that if the client terminal 7A is found to be a valid terminal by authentication, the transmitting/receiving unit 31 notifies the client terminal 7A that the authentication has failed.
  • the short-term key generation unit 74 of the client terminal 7A adds a nonce based on the latest time T received by the transmitting/receiving unit 71 to its own terminal IDa and the server IDs of the predetermined server 5 acquired in advance. .
  • the short-term key generation unit 74 then generates its own long-term secret key (SSK_A) received from the KGC server 3, its own terminal IDa to which a nonce based on the latest time T is added, and a predetermined server to which a nonce based on the latest time T is added.
  • SSK_A long-term secret key
  • a short-term private key (ESK_A) is generated using the server IDs of 5, and a short-term public key (EPK_A) to be paired with this short-term private key (ESK_A) is generated, thereby generating a short-term key pair.
  • the transmitting/receiving unit 71 of the client terminal 7A transmits to the predetermined server 5 its own (client terminal 7A) terminal IDa with the nonce added and its own short-term public key (EPK_A). Thereby, the transmitting/receiving unit 51 of the predetermined server 5 receives the terminal IDa with the nonce added and the short-term public key (EPK_A).
  • the confirmation unit 52 of the predetermined server 5 determines that the nonce added to the terminal IDa received in process S25 is the same as the nonce based on the latest time T received in process S12. Check whether the nonce attached to the terminal IDa is the latest.
  • the short-term key generation unit 54 of the predetermined server 5 If the nonce added to the terminal IDa is the latest, the short-term key generation unit 54 of the predetermined server 5 generates the A nonce based on the latest time T received by the transmitter/receiver 71 is added. Then, the short-term key generation unit 54 generates its own long-term secret key (SSK_S) received from the KGC server 3, the terminal IDa with a nonce added based on the latest time T, and the server IDs with a nonce added based on the latest time T.
  • SSK_S long-term secret key
  • a short-term private key (ESK_S) is generated using the short-term private key (ESK_S), and a short-term public key (EPK_S) that pairs with this short-term private key (ESK_S) is generated to generate a short-term key pair. Note that if the nonce added to the terminal IDa is not the latest, the predetermined server 5 does not perform processes S27 and S28.
  • the transmitting/receiving unit 51 also transmits its own (predetermined server 5) server IDs with a nonce added and its own short-term public key (EPK_S) to the client terminal 7A. Thereby, the transmitting/receiving unit 51 of the client terminal 7A receives the server IDs with the nonce added and the short-term public key (EPK_S).
  • the confirmation unit 72 of the client terminal 7A determines that the nonce added to the server IDs received in step S28 is the same as the nonce based on the latest time T received in step S23. Check whether the nonce added to the client terminal IDs is the latest.
  • the common key generation unit 77 of the client terminal 7A If the nonce added to the server IDs is the latest, the common key generation unit 77 of the client terminal 7A generates its own long-term secret key (SSK_A), its own terminal IDa to which the nonce has been added, and the nonce. Using the added server IDs, the exchanged short-term public key (EPK_S), and the short-term private key (ESK_S) corresponding to the short-term public key (EPK_S), encrypted communication using the ID-based encryption method with the predetermined server 5 is performed. Generate a common key (session key) for this purpose.
  • the common key generation unit 57 sends its own long-term secret key (SSK_S), the terminal IDa with the nonce added, the server IDs with the nonce added, from the predetermined server 5.
  • SSK_S long-term secret key
  • EKA short-term private key
  • the short-term Public key exchange fails. Furthermore, even if the terminal ID and server ID are generated based on the latest time T, the short-term public key generated using the long-term private key (SSK_S) (see S12) of the legitimate predetermined server 5 (EPK_S) (see S27), and the short-term public key (EPK_A/EPK_B) (see S24) generated using the long-term private key (SSK_A/SSK_B) (see S22, S23) of the legitimate client terminal 7. For example, the exchange of short-term public keys fails. This makes it possible to prevent old short-term public keys from being exchanged.
  • the KGC server 3 can provide the long-term secret key only to legitimate client terminals 7 by authenticating using the registered authentication method (S22). Furthermore, by allowing a plurality of authentication methods, the KGC server 3 can provide services tailored to the needs of the user of the client terminal 7.
  • the present invention is not limited to the above-described embodiments, and may have the following configuration or processing (operation).
  • the KGC server 3, the predetermined server 5, and the client terminal 7 can be realized by a computer and a program, but the program can also be recorded on a (non-temporary) recording medium or provided through a network such as the Internet. It is.
  • Transmitting/receiving unit (an example of a second transmitting unit, an example of a second receiving unit) 52 Confirmation part (an example of the second confirmation part) 54 Short-term key generation unit (an example of second short-term key generation unit) 57 Common key generation unit (an example of second common key generation unit) 71 Transmitting/receiving unit (an example of a first transmitting unit, an example of a first receiving unit) 72 Confirmation part (an example of the first confirmation part) 74 Short-term key generation unit (an example of the first short-term key generation unit) 77 Common key generation unit (an example of the first common key generation unit) 100 Communication network

Landscapes

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

Abstract

IDベース暗号技術を用いるにあたり、最新の短期公開鍵と相手側の識別情報のペアでなければ鍵交換を実施できないようにする。 クライアント端末7は、KGCサーバ3から受信した最新時刻に基づく所定ノンス及び第1の長期秘密鍵を受信し(S23)、前記第1の長期秘密鍵を用いて第1の短期秘密鍵及び第1の短期公開鍵を生成し(S24)、前記所定サーバに対して第1のノンスが付加され前記クライアント端末を識別するための端末識別情報及び前記第1の短期公開鍵を送信し(S25)、所定サーバ5は、KGCサーバ3から受信した前記所定ノンス及び第2の長期秘密鍵を受信し(S12)、前記第1の送信処理によって送信された前記第1のノンスが前記所定ノンスと同じであるか否かにより前記第1のノンスが前記最新時刻に基づくか否かを確認し(S26)、前記第1のノンスが前記最新時刻に基づかない場合に第2の短期公開鍵を生成しない(S27)。

Description

通信システム、及び通信方法
 本開示内容は、通信システム、及び通信方法に関する。
 IoT(Internet of Things)機器向けの認証技術としてはパスワードや電子証明書等が従来から知られているが、近年では、より安全性が高い認証鍵交換プロトコルの導入が求められている。認証鍵交換プロトコルとは、認証が成功した際に互いに共有した鍵(共通鍵)を生成し、その共通鍵で暗号化通信が可能となるプロトコルである。このような認証鍵交換プロトコルの1つとして、ID(identification)ベース暗号を用いた認証鍵交換プロトコルが知られている。
 IDベース暗号を用いた認証鍵交換プロトコルは、ユーザが自分の好きな任意の文字列であるIDを公開鍵とする認証付き鍵交換方式を用い、IoT機器の製造コードやシリアルナンバーなどを公開鍵にそのまま採用することができる。この特徴を用いて、IDベース暗号を用いた認証鍵交換プロトコル、クライアント端末同士等が相互にIDが正しいかの認証を行い、認証が成功した際に互いに共通した共通鍵(セッション鍵)を生成することができ、クライアント端末同士等がその共通鍵で暗号化通信を行う。
 また、従来、長期運用の観点から、IDベース認証鍵交換プロトコルに長期秘密鍵の更新や無効化の機能を付与したものとして、失効機能付きIDベース認証鍵交換プロトコル(RIB-AKE)が提案されている(非特許文献1)。
中川 皓平, 割木 寿将, 岡野 裕樹, 藤岡 淳, 永井 彰,"高効率な失効機能付きIDベース認証鍵交換の構成", 2022年暗号と情報セキュリティシンポジウム
 しかし、上述の従来技術では、たとえ長期秘密鍵の更新を行っても、双方が古い長期秘密鍵を使い続けての鍵交換はできてしまうという課題が生じていた。
 本発明は、上記の点に鑑みてなされたものであり、最新の長期秘密鍵と相手側の識別情報のペアでなければ鍵交換を実施できないIDベース暗号を用いた認証鍵交換プロトコルを提供することを目的とする。
 上記目的を達成するため、請求項1に係る発明は、IDベース暗号方式を用いて暗号化通信を行う所定サーバ及びクライアント端末を有する通信システムであって、前記クライアント端末は、KGCサーバから受信した最新時刻に基づく所定ノンス、及び第1の長期秘密鍵を受信する第1の受信部と、前記第1の長期秘密鍵を用いて、第1の短期秘密鍵及び第1の短期公開鍵を生成する第1の短期鍵生成部と、前記所定サーバに対して、第1のノンスが付加され前記クライアント端末を識別するための端末識別情報、及び前記第1の短期公開鍵を送信する第1の送信部と、を有し、前記所定サーバは、KGCサーバから受信した前記所定ノンス、及び第2の長期秘密鍵を受信する第2の受信部と、前記第1の送信部によって送信された前記第1のノンスが前記所定ノンスと同じであるか否かにより、前記第1のノンスが前記最新時刻に基づくか否かを確認する第2の確認部と、前記第1のノンスが前記最新時刻に基づかない場合に、第2の短期公開鍵を生成する処理を実行しない第2の短期鍵生成部と、を有する、通信システムである。
 以上説明したように本発明によれば、最新の長期秘密鍵と相手側の識別情報のペアでなければ鍵交換を実施できないという効果を奏する。
実施形態に係る通信システムの概略図である。 実施形態に係るKGCサーバ及び所定サーバのハードウェア構成図である。 実施形態に係るクライアント端末のハードウェア構成図である。 実施形態に係る通信システムの各機能構成図である。 定常時の処理を示すシーケンス図である。 鍵交換時の処理を示すシーケンス図である。 鍵交換時の処理を示すシーケンス図である。 鍵交換時の処理を示すシーケンス図である。
 〔全体構成の概略〕
 図1は、本発明の実施形態に係る通信システムの概略図である。図1に示されているように、本実施形態の通信システム1は、KGCサーバ3、所定サーバ5、及びクライアント端末7によって構築されている。なお、図1では、所定サーバ5、クライアント端末7の2つが示されているが、3つ以上であってもよい。クライアント端末には、IoT機器、タブレット端末、ノートPC等が含まれる。
 また、KGCサーバ3、所定サーバ5、及びクライアント端末7は、インターネット等の通信ネットワーク100を介して通信することができる。通信ネットワーク100の接続形態は、無線又は有線のいずれでも良い。KGCサーバ3は、単数又は複数のコンピュータによって構成されている。KGCサーバは、「KGCシステム」と示してもよい。
 KGCサーバ3は、KGC(Key Generation Center:IDベース鍵生成局)のサーバであり、長期秘密鍵等の発行を行う。
 所定サーバ5、及びクライアント端末7は、IDベース暗号を用いた相互認証を行う。
 〔ハードウェア構成〕
 <各サーバのハードウェア構成>
 まずは、図2を用いて、KGCサーバ3及び所定サーバ5のハードウェア構成について説明する。図2は、KGCサーバ及び所定サーバのハードウェア構成図である。
 図2に示されているように、KGCサーバ3は、プロセッサ301、メモリ302、補助記憶装置303、接続装置304、通信装置305、ドライブ装置306を有する。なお、KGCサーバ3を構成する各ハードウェアは、バス307を介して相互に接続される。
 プロセッサ301は、KGCサーバ3全体の制御を行う制御部の役割を果たし、CPU(Central Processing Unit)等の各種演算デバイスを有する。プロセッサ301は、各種プログラムをメモリ302上に読み出して実行する。なお、プロセッサ301には、GPGPU(General-purpose computing on graphics processing units)が含まれていてもよい。
 メモリ302は、ROM(Read Only Memory)、RAM(Random Access Memory)等の主記憶デバイスを有する。プロセッサ301とメモリ302とは、いわゆるコンピュータを形成し、プロセッサ301が、メモリ302上に読み出した各種プログラムを実行することで、当該コンピュータは各種機能を実現する。
 補助記憶装置303は、各種プログラムや、各種プログラムがプロセッサ301によって実行される際に用いられる各種情報を格納する。
 接続装置304は、外部装置(例えば、表示装置310、操作装置311)とKGCサーバ3とを接続する接続デバイスである。
 通信装置305は、他の装置(機器、サーバ、システムを含む)との間で各種情報を送受信するための通信デバイスである。
 ドライブ装置306は記録媒体330をセットするためのデバイスである。ここでいう記録媒体330には、CD-ROM(Compact Disc Read-Only Memory)、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体330には、ROM(Read Only Memory)、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
 なお、補助記憶装置303にインストールされる各種プログラムは、例えば、配布された記録媒体330がドライブ装置306にセットされ、該記録媒体330に記録された各種プログラムがドライブ装置306により読み出されることでインストールされる。あるいは、補助記憶装置303にインストールされる各種プログラムは、通信装置305を介してネットワークからダウンロードされることで、インストールされてもよい。
 また、図2には、所定サーバ5のハードウェア構成が示されているが、符号が300番台から500番台に変わっただけで、各構成は同様であるため、これらの説明を省略する。
 <IoT機器及びタブレット端末のハードウェア構成>
 次に、図3を用いて、クライアント端末7のハードウェア構成について説明する。図3は、実施形態に係るクライアント端末(IoT機器、タブレット端末等)のハードウェア構成図である。なお、クライアント端末7は、必ずしも図3のような構成でなくても良い。
 図3に示されているように、クライアント端末7は、プロセッサ701、メモリ702、補助記憶装置703、通信装置704、GPS(Global Positioning System)装置705を有する。また、クライアント端末7は、音声入力装置706、音声出力装置707、表示装置708、撮像装置709、接続装置710、近距離無線通信装置711を有する。なお、クライアント端末7を構成する各ハードウェアは、バス720を介して相互に接続される。
 プロセッサ701は、クライアント端末7全体の制御を行う制御部の役割を果たし、CPU(Central Processing Unit)等の各種演算デバイスを有する。プロセッサ701は、各種プログラムをメモリ702上に読み出して実行する。なお、プロセッサ401には、GPGPU(General-purpose computing on graphics processing units)が含まれていてもよい。
 メモリ702は、ROM(Read Only Memory)、RAM(Random Access Memory)等の主記憶デバイスを有する。プロセッサ701とメモリ702とは、いわゆるコンピュータを形成し、プロセッサ701が、メモリ702上に読み出した各種プログラムを実行することで、当該コンピュータは各種機能を実現する。
 補助記憶装置703は、各種プログラムや、各種プログラムがプロセッサ701によって実行される際に用いられる各種情報を格納する。
 通信装置704は、他の装置(機器、サーバ、システムを含む)との間で各種情報を送受信するための通信デバイスである。GPS装置705は、クライアント端末7の位置情報を検出する。
 音声入力装置706は、ユーザの音声や、周囲の音等の音声情報を検出する。音声出力装置707は、例えば、他の装置から受信した各種情報等を音声出力するデバイスである。
 表示装置708は、例えば、他の装置から受信した各種情報を画像表示するデバイスである。
 撮像装置709は、ユーザや周囲を撮影し、画像情報を生成する。
 接続装置710は、クライアント端末7に、各種センサや外付けメモリ等を接続する際に用いる接続デバイスである。
 近距離無線通信装置711は、クライアント端末7の近くの他の装置との間で、近距離無線通信を行うための無線デバイスである。
 なお、所定サーバ5は、図2に示す構成ではなく、図3に示す構成であってもよい。
〔通信システムの機能構成〕
 続いて、図4を用いて、通信システムの機能構成について説明する。図4は、実施形態に係る通信システムの各機能構成図である。
 <KGCサーバ3の機能構成>
 KGCサーバ3は、送受信部31、長期秘密鍵生成部33及び認証部35を有している。これら各部は、KGCサーバ3にインストールされた1以上のプログラムを使用して、プロセッサ301がKGCサーバ3に実現させる機能である。更に、KGCサーバ3は、記憶部30を有している。記憶部30は、メモリ302又は補助記憶装置303によって実現される。記憶部30には、図5に示すように、所定サーバ5及び各クライアント端末7A,7Bに関して、ID及び認証方式が登録されている。なお、クライアント端末7A,7Bは、クライアント端末7の一例である。また、図5では、所定サーバ5及び各クライアント端末7A,7Bの3つについて示しているが、これだけに限るものではない。また、所定サーバ5のサーバID(server1@example.com)に関しては、略して「IDs」と示す。クライアント端末7AのクライアントID(alice@example.com)に関しては、略して「IDa」と示す。クライアント端末7BのクライアントID(bob@example.com)に関しては、略して「IDb」と示す。
 送受信部31は、通信ネットワーク100を介して、所定サーバ5及びクライアント端末7とデータの送受信を行う。例えば、送受信部31は、所定サーバ5に対して、最新時刻Tに基づくnonce(ノンス)が付加された(nonced)サーバIDsを用いて生成された長期秘密鍵(SSK_S)を送信することで、長期秘密鍵(SSK_S)を更新する。なお、「ノンス」は「ナンス」とも呼ばれている。KGCサーバ3は、UNIX(登録商標)時間等のマスター時間を管理しているため、送受信部31は、所定サーバ5とクライアント端末7との間で合意された所定の時間間隔で、常に最新時刻Tの長期秘密鍵(SSK_S)を送信することができる。また、送受信部31は、長期秘密鍵(SSK_S)と共に、最新時刻Tに基づくnonceも送信する。例えば、図5において、「SSK(server1@example.com+1648490000)」のうち、「server1@example.com」が所定サーバ5のサーバIDsで、「1648490000」がnonceである。nonceは、例えば、最新時刻Tを用いて生成される。なお、本実施形態では、有効時間内であれば、何度でもIDベース認証鍵交換は可能である。
 また、送受信部31は、クライアント端末7Aからの要求に応じて、クライアント端末7Aに対して、長期秘密鍵生成部33によって生成された長期秘密鍵(SSK_A)を送信する。また、送受信部31は、クライアント端末7Bからの要求に応じて、クライアント端末7Bに対して、長期秘密鍵生成部33によって生成された長期秘密鍵(SSK_B)を送信する。また、送受信部31は、長期秘密鍵(SSK_A)又は長期秘密鍵(SSK_B)と共に、最新時刻Tに基づくnonceも送信する。なお、長期秘密鍵(SSK_S)は、図5以降で具体的に「SSK(server1@example.com_1648490000)」と示されている。長期秘密鍵(SSK_A)は、図6以降で具体的に「SSK(alice@example.com_1648490000)」と示されている。また、長期秘密鍵(SSK_B)は、具体的には「SSK(bob@example.com_1648490000)」と示すことができる。nonceに相当する「1648490000」が最新時刻Tに基づいて変更される。
 長期秘密鍵生成部33は、KGCサーバ3で管理しているマスター時間に基づき、所定のサーバ5とクライアント端末7との間で合意された所定の更新間隔(例えば1分)で、所定サーバ5のサーバIDsにnonceを付加した後に長期秘密鍵(SSK_S)を生成する。また、長期秘密鍵生成部33は、クライアント端末7Aの端末IDaにnonceを付加した後に長期秘密鍵(SSK_A)を生成する。更に、長期秘密鍵生成部33は、クライアント端末7Bの端末IDbにnonce付加した後に長期秘密鍵(SSK_B)を生成する。
 認証部35は、送受信部31によってクライアント端末7から長期秘密鍵の生成要求が受信された場合に、既に記憶部30に登録された認証方式のうち、予め定められた所定の認証方式でクライアント端末7の認証を行う。
 <所定サーバの機能構成>
 所定サーバ5は、送受信部51、確認部52、短期鍵生成部54、及び共通鍵生成部57を有している。これら各部は、所定サーバ5にインストールされた1以上のプログラムを使用して、プロセッサ501が所定サーバ5に実現させる機能である。更に、所定サーバ5は、記憶部50を有している。記憶部50は、メモリ502又は補助記憶装置503によって実現される。記憶部50には、自身(所定サーバ5)を識別するためのサーバ識別情報の一例であるサーバIDs等が記憶されている。また、記憶部50には、KGCサーバ3から送られて来た最新時刻Tのnonce及び長期秘密鍵(SSK_S)が記憶される。
 送受信部51は、通信ネットワーク100を介して、KGCサーバ3及クライアント端末7とデータの送受信を行う。例えば、送受信部51は、KGCサーバ3から、常に最新時刻Tのnonce及び長期秘密鍵(SSK_S)を受信し続ける。また、送受信部51は、クライアント端末7Aに対して、nonceが付加された自身(所定サーバ5)のサーバIDs、及び短期鍵生成部54によって生成された短期公開鍵(EPK_S)を送信する。
 確認部52は、クライアント端末7から送られて来た端末IDa/IDbに付加されているnonceが、KGCサーバ3から送られて来た最新時刻Tに基づくnonceと同じであるか否かにより、端末IDa/IDbに付加されているnonceが最新であるかを確認する。この場合、nonceが同じ場合には、最新である。最新時刻の端末IDでなければ、確認部52は短期鍵生成部54に最新時刻の端末IDでない旨を伝え、短期鍵生成部54は、短期公開鍵を生成せず、送受信部51はクライアント端末7との通信を終了する。一方、最新時刻の端末IDであれば、確認部52は短期鍵生成部54に最新時刻の端末IDである旨を伝えることで、短期鍵生成部54が短期公開鍵の生成を開始する。
 短期鍵生成部54は、KGCサーバ3から受信した自身の長期秘密鍵(SSK_S)、nonceが付加された自身のサーバIDs、nonceが付加されたクライアント端末7の端末IDa/IDbに基づいて、短期秘密鍵(ESK_S)を生成し、この短期秘密鍵(ESK_S)と対になる短期公開鍵(EPK_S)を生成することで、短期鍵のペアを生成する。
 共通鍵生成部57は、自身の長期秘密鍵(SSK_S)、nonceが付加された端末IDa/IDb、nonceが付加されたサーバIDs、クライアント端末7から送られて来た短期公開鍵(EPK_A/EPK_B)、及び短期公開鍵(EPK_A/EPK_B)に対応する短期秘密鍵(ESK_A/ESK_B)を用いて、クライアント端末7とIDベース暗号方式を用いた暗号化通信を行うための共通鍵(セッション鍵)を生成する。
 <クライアント端末の機能構成>
 クライアント端末7は、送受信部71、確認部72、短期鍵生成部74、及び共通鍵生成部77を有している。これら各部は、クライアント端末7にインストールされた1以上のプログラムを使用して、プロセッサ701がクライアント端末7に実現させる機能である。更に、クライアント端末7は、記憶部70を有している。記憶部70は、メモリ702又は補助記憶装置703によって実現される。記憶部70には、自身(クライアント端末7)を識別するための端末識別情報の一例である端末ID等が記憶されている。
 送受信部71は、通信ネットワーク100を介して、KGCサーバ3及び所定サーバ5とデータの送受信を行う。例えば、送受信部71は、所定サーバ5に対して、nonceが付加された自身(クライアント端末7)の端末IDa/IDb、自身の短期公開鍵(EPK_A/EPK_B)を送信する。なお、クライアント端末7aの端末IDは端末IDaと示され、クライアント端末7bの端末IDは端末IDbと示される。
 確認部72は、送受信部71によって受信されたサーバIDsに付加されているnonceを確認する。そして、最新時刻のサーバIDでなければ、確認部72が共通鍵生成部77に最新時刻のサーバIDでない旨を伝え、共通鍵生成部77は共通鍵を生成せず、送受信部71は所定サーバ5との通信を終了する。一方、最新時刻のサーバIDであれば、確認部72が共通鍵生成部77に最新時刻のサーバIDである旨を伝え、共通鍵生成部77は共通鍵の生成を開始する。
 短期鍵生成部74は、自身の端末IDa/IDb及び事前に取得している所定サーバ5のサーバIDsに対して、送受信部71で受信された最新時刻Tに基づくnonceを付加する。そして、短期鍵生成部74は、KGCサーバ3から受信された自身の長期秘密鍵(SSK_A/SSK_B)、最新時刻Tに基づくnonceを付加した自身の端末IDa/IDb、最新時刻Tに基づくnonceを付加した所定サーバ5のサーバIDsに基づいて、短期秘密鍵(ESK_A/ESK_B)を生成し、この短期秘密鍵(ESK_A/ESK_B)と対になる短期公開鍵(EPK_A/EPK_B)を生成することで、短期鍵のペアを生成する。なお、クライアント端末7Aの短期公開鍵は短期公開鍵(EPK_A)、クライアント端末7Bの短期公開鍵は短期公開鍵(EPK_B)と示されている。また、クライアント端末7Aの短期秘密鍵は短期秘密鍵(ESK_A)、クライアント端末7Bの短期秘密鍵は短期秘密鍵(ESK_B)と示されている。
 共通鍵生成部77は、確認部72による確認によってサーバIDsが最新であると判断された場合に、自身の長期秘密鍵(SSK_A/SSK_B)、nonceが付加された自身の端末IDa/IDb、nonceが付加されたサーバIDs、所定サーバ7から送られて来た短期公開鍵(EPK_S)、及び短期公開鍵(EPK_S)に対応する短期秘密鍵(ESK_S)を用いて、所定サーバ5とIDベース暗号方式を用いた暗号化通信を行うための共通鍵(セッション鍵)を生成する。
 〔実施形態の処理又は動作〕
 続いて、図5乃至図8を用いて、通信システム1の処理又は動作を説明する。なお、本実施形態では、所定サーバ5と、クライアント端末7の一例であるクライアント端末7aがIDベース暗号方式を用いた暗号化通信を行う場合について説明する。
 <定常時の処理>
 S11:図5に示すように、KGCサーバ3の長期秘密鍵生成部33は、所定の更新間隔(例えば1分)で、最新時刻Tに基づくnonceを付加したサーバIDsに基づいて、最新時刻Tの長期秘密鍵(SSK_S)を生成する。
 S12:KGCサーバ3の送受信部31は、所定サーバ5に対し、最新時刻Tに基づくnonce、及び長期秘密鍵生成部33によって生成された最新時刻Tの長期秘密鍵(SSK_S)を所定の更新間隔で常に送信し続ける。これにより、所定サーバ5の送受信部51は、所定の更新間隔で、最新時刻Tに基づくnonce及び長期秘密鍵(SSK_S)を受信し続ける。
 <鍵交換時の処理>
 S21:図6に示すように、クライアント端末7Aの送受信部71は、KGCサーバ3に対して、自身(クライアント端末7A)の長期秘密鍵の生成要求を送信する。この際、クライアント端末7Aの端末IDaも送信される。これにより、KGCサーバ3の送受信部31は、長期秘密鍵の生成要求を受信する。
 S22:KGCサーバ3の認証部35は、記憶部30に登録された認証方式で認証を行う。
 S23:認証によりクライアント端末7Aが正当な端末である場合には、長期秘密鍵生成部33は、KGCサーバ3で管理しているマスター時間に基づき、所定のサーバ5とクライアント端末7との間で合意された所定の更新間隔(例えば1分)で、クライアント端末7Aの端末IDaに最新時刻Tに基づくnonceを付加して長期秘密鍵(SSK_A)を生成する。そして、送受信部31は、クライアント端末7Aに対し、最新時刻Tに基づくnonce、及び長期秘密鍵生成部33によって生成された最新時刻Tの長期秘密鍵(SSK_A)を送信する。これにより、クライアント端末7Aの送受信部71は、最新時刻Tに基づくnonce及び長期秘密鍵(SSK_A)を受信する。なお、認証によりクライアント端末7Aが正当な端末である場合には、送受信部31は、クライアント端末7Aに対して、認証が失敗した旨を通知する。
 S24:クライアント端末7Aの短期鍵生成部74は、自身の端末IDa及び事前に取得している所定サーバ5のサーバIDsに対して、送受信部71で受信された最新時刻Tに基づくnonceを付加する。そして、短期鍵生成部74は、KGCサーバ3から受信された自身の長期秘密鍵(SSK_A)、最新時刻Tに基づくnonceを付加した自身の端末IDa、最新時刻Tに基づくnonceを付加した所定サーバ5のサーバIDsを用いて、短期秘密鍵(ESK_A)を生成し、この短期秘密鍵(ESK_A)と対になる短期公開鍵(EPK_A)を生成することで、短期鍵のペアを生成する。
 S25:クライアント端末7Aの送受信部71は、所定サーバ5に対して、nonceが付加された自身(クライアント端末7A)の端末IDa、自身の短期公開鍵(EPK_A)を送信する。これにより、所定サーバ5の送受信部51は、nonceが付加された端末IDa、及び短期公開鍵(EPK_A)を受信する。
 S26:図7に示すように、所定サーバ5の確認部52は、処理S25で受信された端末IDaに付加されているnonceが、処理S12で受信された最新時刻Tに基づくnonceと同じであるか否かにより、端末IDaに付加されているnonceが最新であるかを確認する。
 S27:端末IDaに付加されているnonceが最新である場合には、所定サーバ5の短期鍵生成部54は、自身のサーバIDs及び事前に取得しているクライアント端末7Aの端末IDaに対して、送受信部71で受信された最新時刻Tに基づくnonceを付加する。そして、短期鍵生成部54は、KGCサーバ3から受信された自身の長期秘密鍵(SSK_S)、最新時刻Tに基づくnonceを付加した端末IDa、及び最新時刻Tに基づくnonceを付加したサーバIDsを用いて、短期秘密鍵(ESK_S)を生成し、この短期秘密鍵(ESK_S)と対になる短期公開鍵(EPK_S)を生成することで、短期鍵のペアを生成する。なお、端末IDaに付加されているnonceが最新でない場合には、所定サーバ5は、処理S27,S28を行わない。
 S28:また、送受信部51は、クライアント端末7Aに対して、nonceが付加された自身(所定サーバ5)のサーバIDs、及び自身の短期公開鍵(EPK_S)を送信する。これにより、クライアント端末7Aの送受信部51は、nonceが付加されたサーバIDs、及び短期公開鍵(EPK_S)を受信する。
 S29:図8に示すように、クライアント端末7Aの確認部72は、処理S28で受信されたサーバIDsに付加されているnonceが、処理S23で受信された最新時刻Tに基づくnonceと同じであるか否かにより、クライアント端末IDsに付加されているnonceが最新であるかを確認する。
 S30:サーバIDsに付加されているnonceが最新である場合には、クライアント端末7Aの共通鍵生成部77は、自身の長期秘密鍵(SSK_A)、nonceが付加された自身の端末IDa、nonceが付加されたサーバIDs、交換した短期公開鍵(EPK_S)、及び短期公開鍵(EPK_S)に対応する短期秘密鍵(ESK_S)を用いて、所定サーバ5とIDベース暗号方式を用いた暗号化通信を行うための共通鍵(セッション鍵)を生成する。また、所定サーバ5側では、共通鍵生成部57は、処理S27の後に、自身の長期秘密鍵(SSK_S)、nonceが付加された端末IDa、nonceが付加されたサーバIDs、所定サーバ5から送られて来た短期公開鍵(EPK_A)、及び短期公開鍵(EPK_A)に対応する短期秘密鍵(ESK_A)を用いて、クライアント端末7AとIDベース暗号方式を用いた暗号化通信を行うための共通鍵(セッション鍵)を生成する。
 〔実施形態の主な効果〕
 以上説明したように本実施形態によれば、端末ID及びサーバIDが最新時刻Tに基づいて生成されたものでなければ(S26,S29参照)、所定サーバ5及びクライアント端末7の間での短期公開鍵の交換が失敗する。また、たとえ、端末ID及びサーバIDが最新時刻Tに基づいて生成されたものであっても、正当な所定サーバ5の長期秘密鍵(SSK_S)(S12参照)を用いて生成された短期公開鍵(EPK_S)(S27参照)、及び正当なクライアント端末7の長期秘密鍵(SSK_A/SSK_B)(S22,S23参照)を用いて生成された短期公開鍵(EPK_A/EPK_B)(S24参照)でばければ、短期公開鍵の交換が失敗する。これにより、古い短期公開鍵の交換を防止することができる。
 また、KGCサーバ3は、登録された認証方式で認証することで(S22)、正当なクライアント端末7に対してのみ長期秘密鍵を提供することができる。更に、KGCサーバ3は、複数の認証方式を許容することで、クライアント端末7のユーザのニーズに合わせたサービスが可能である。
 〔補足〕
 本発明は上述の実施形態に限定されるものではなく、以下に示すような構成又は処理(動作)であってもよい。
 KGCサーバ3、所定サーバ5、及びクライアント端末7は、コンピュータとプログラムによっても実現できるが、このプログラムを(非一時的な)記録媒体に記録することも、インターネット等のネットワークを通して提供することも可能である。
1 通信システム
3 KGCサーバ
5 所定サーバ
7 クライアント端末
51 送受信部(第2の送信部の一例、第2の受信部の一例)
52 確認部(第2の確認部の一例)
54 短期鍵生成部(第2の短期鍵生成部の一例)
57 共通鍵生成部(第2の共通鍵生成部の一例)
71 送受信部(第1の送信部の一例、第1の受信部の一例)
72 確認部(第1の確認部の一例)
74 短期鍵生成部(第1の短期鍵生成部の一例)
77 共通鍵生成部(第1の共通鍵生成部の一例)
100 通信ネットワーク

Claims (8)

  1.  IDベース暗号方式を用いて暗号化通信を行う所定サーバ及びクライアント端末を有する通信システムであって、
     前記クライアント端末は、
     KGCサーバから受信した最新時刻に基づく所定ノンス、及び第1の長期秘密鍵を受信する第1の受信部と、
     前記第1の長期秘密鍵を用いて、第1の短期秘密鍵及び第1の短期公開鍵を生成する第1の短期鍵生成部と、
     前記所定サーバに対して、第1のノンスが付加され前記クライアント端末を識別するための端末識別情報、及び前記第1の短期公開鍵を送信する第1の送信部と、
     を有し、
     前記所定サーバは、
     KGCサーバから受信した前記所定ノンス、及び第2の長期秘密鍵を受信する第2の受信部と、
     前記第1の送信部によって送信された前記第1のノンスが前記所定ノンスと同じであるか否かにより、前記第1のノンスが前記最新時刻に基づくか否かを確認する第2の確認部と、
     前記第1のノンスが前記最新時刻に基づかない場合に、第2の短期公開鍵を生成する処理を実行しない第2の短期鍵生成部と、
     を有する、通信システム。
  2.  請求項1に記載の通信システムであって、
     前記第2の短期鍵生成部は、前記第1のノンスが前記最新時刻に基づく場合に、前記第2の長期秘密鍵を用いて、第2の短期秘密鍵及び前記第2の短期公開鍵を生成し、
     前記所定サーバは、
     前記クライアント端末に対して、第2のノンスが付加され前記所定サーバを識別するためのサーバ識別情報、及び前記第2の短期公開鍵を送信する第2の送信部と、
     前記端末識別情報、前記サーバ識別情報、前記第2の長期秘密鍵、及び前記第1の短期公開鍵に基づいて、共通鍵を生成する第2の共通鍵生成部と、
     を有し、
     前記クライアント端末は、
     前記第2の送信部によって送信された前記第2のノンスが前記所定ノンスと同じであるか否かにより、前記第2のノンスが前記最新時刻に基づくか否かを確認する第1の確認部と、
     前記第1のノンスが前記最新時刻に基づかない場合に、前記共通鍵を生成する処理を実行しない第1の共通鍵生成部と、
     を有する、通信システム。
  3.  前記第1の共通鍵生成部は、前記第1のノンスが前記最新時刻に基づく場合に、前記端末識別情報、前記サーバ識別情報、前記第1の長期秘密鍵、及び前記第2の短期公開鍵に基づいて、前記共通鍵を生成する、
     請求項2に記載の通信システム。
  4.  前記クライアント端末は、
     前記第1の送信部が、前記KGCサーバに対して前記第1の長期秘密鍵の生成を要求し、
     前記第1の受信部が、前記KGCサーバによって前記クライアント端末が認証された後に生成されて送信された前記第1の長期秘密鍵を受信する、
     請求項1乃至3のいずれか一項に記載の通信システム。
  5.  前記所定サーバは、
     前記第2の受信部が、前記KGCサーバによって所定の時間間隔で前記最新時刻に基づいて生成されて送信された前記所定ノンスを受信する、
     請求項1乃至3のいずれか一項に記載の通信システム。
  6.  IDベース暗号方式を用いて暗号化通信を行う所定サーバ及びクライアント端末を有する通信システムが実行する通信方法あって、
     前記クライアント端末は、
     KGCサーバから受信した最新時刻に基づく所定ノンス、及び第1の長期秘密鍵を受信する第1の受信処理と、
     前記第1の長期秘密鍵を用いて、第1の短期秘密鍵及び第1の短期公開鍵を生成する第1の短期鍵生成処理と、
     前記所定サーバに対して、第1のノンスが付加され前記クライアント端末を識別するための端末識別情報、及び前記第1の短期公開鍵を送信する第1の送信処理と、
     を実行し、
     前記所定サーバは、
     KGCサーバから受信した前記所定ノンス、及び第2の長期秘密鍵を受信する第2の受信処理と、
     前記第1の送信処理によって送信された前記第1のノンスが前記所定ノンスと同じであるか否かにより、前記第1のノンスが前記最新時刻に基づくか否かを確認する第2の確認処理と、
     前記第1のノンスが前記最新時刻に基づかない場合に、第2の短期公開鍵を生成する処理を実行しない第2の短期鍵生成処理と、
     を実行する、通信方法。
  7.  請求項6に記載の通信方法であって、
     前記第2の短期鍵生成処理は、前記第1のノンスが前記最新時刻に基づく場合に、前記第2の長期秘密鍵を用いて、第2の短期秘密鍵及び前記第2の短期公開鍵を生成する処理を含み、
     前記所定サーバは、
     前記クライアント端末に対して、第2のノンスが付加され前記所定サーバを識別するためのサーバ識別情報、及び前記第2の短期公開鍵を送信する第2の送信部と、
     前記端末識別情報、前記サーバ識別情報、前記第2の長期秘密鍵、及び前記第1の短期公開鍵に基づいて、共通鍵を生成する第2の共通鍵生成処理と、
     を実行し、
     前記クライアント端末は、
     前記第2の送信部によって送信された前記第2のノンスが前記所定ノンスと同じであるか否かにより、前記第2のノンスが前記最新時刻に基づくか否かを確認する第1の確認処理と、
     前記第1のノンスが前記最新時刻に基づかない場合に、前記共通鍵を生成する処理を実行しない第1の共通鍵生成処理と、
     を実行する、通信方法。
  8.  前記第1の共通鍵生成処理は、前記第1のノンスが前記最新時刻に基づく場合に、前記端末識別情報、前記サーバ識別情報、前記第1の長期秘密鍵、及び前記第2の短期公開鍵に基づいて、前記共通鍵を生成する処理を含む、
     請求項7に記載の通信方法。
PCT/JP2022/031583 2022-08-22 2022-08-22 通信システム、及び通信方法 WO2024042584A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/031583 WO2024042584A1 (ja) 2022-08-22 2022-08-22 通信システム、及び通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/031583 WO2024042584A1 (ja) 2022-08-22 2022-08-22 通信システム、及び通信方法

Publications (1)

Publication Number Publication Date
WO2024042584A1 true WO2024042584A1 (ja) 2024-02-29

Family

ID=90012678

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/031583 WO2024042584A1 (ja) 2022-08-22 2022-08-22 通信システム、及び通信方法

Country Status (1)

Country Link
WO (1) WO2024042584A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021010444A1 (ja) * 2019-07-17 2021-01-21 日本電信電話株式会社 鍵交換システム、通信装置、鍵交換方法及びプログラム
WO2022091183A1 (ja) * 2020-10-26 2022-05-05 日本電信電話株式会社 認証認可システム、機器、認証認可方法、及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021010444A1 (ja) * 2019-07-17 2021-01-21 日本電信電話株式会社 鍵交換システム、通信装置、鍵交換方法及びプログラム
WO2022091183A1 (ja) * 2020-10-26 2022-05-05 日本電信電話株式会社 認証認可システム、機器、認証認可方法、及びプログラム

Similar Documents

Publication Publication Date Title
CN101981890B (zh) 安全工作组管理和通信的系统和方法
JP5345675B2 (ja) トークンとベリファイアとの間の認証のためのネットワーク・ヘルパー
US7689828B2 (en) System and method for implementing digital signature using one time private keys
US9160732B2 (en) System and methods for online authentication
US8413221B2 (en) Methods and apparatus for delegated authentication
US8028329B2 (en) Proxy authentication network
US7571471B2 (en) Secure login using a multifactor split asymmetric crypto-key with persistent key security
US9137017B2 (en) Key recovery mechanism
US7735120B2 (en) Server computer issued credential authentication
JP2018503199A (ja) アカウント復元プロトコル
JP2002501218A (ja) 短寿命証明書によるクライアント側公開鍵認証方法とその装置
EP1436944A2 (en) Method and system for providing client privacy when requesting content from a public server
TW200830835A (en) Client credential based secure session authentication method and apparatus
WO2019093963A1 (zh) 基于异构身份的交互系统及方法
KR102026375B1 (ko) 웨어러블 디바이스 통신 지원 장치 및 방법
JP4870427B2 (ja) デジタル証明書交換方法、端末装置、及びプログラム
CN110493272A (zh) 使用多重密钥的通信方法和通信系统
US8788825B1 (en) Method and apparatus for key management for various device-server configurations
KR20190010016A (ko) 사용자 인증 서버 및 시스템
WO2024042584A1 (ja) 通信システム、及び通信方法
JP2003234734A (ja) 相互認証方法及びサーバ装置及びクライアント装置及び相互認証プログラム及び相互認証プログラムを格納した記憶媒体
EP1623551B1 (en) Network security method and system
CN113918971A (zh) 基于区块链的消息传输方法、装置、设备及可读存储介质
JP2000261428A (ja) 分散処理システムにおける認証装置
JP2008152737A (ja) サービス提供サーバ、認証サーバ、および認証システム

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

Country of ref document: EP

Kind code of ref document: A1