Network system, information processing device and communication method

JP2024039786A5Pending Publication Date: 2025-10-10帝都久利寿 +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2022144399
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-09-12
Publication Date
2025-10-10

AI Technical Summary

Technical Problem

Network systems that use public keys to determine network addresses face challenges in managing multiple network addresses and public keys, ensuring authentication, and handling the expiration of digital certificates, which can disrupt communication.

Method used

A network system where devices can have multiple network addresses and public keys, with mechanisms for notifying and updating routing tables based on the validity of digital certificates, allowing seamless transitions to new keys and addresses when expiration is imminent, and using cryptographic hash functions to determine network addresses from public keys.

Benefits of technology

Ensures secure and uninterrupted communication by authenticating network addresses and managing certificate validity, enabling devices to adapt to changes in network addresses and public keys without interruption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide resolution means to a new problem that may occur in a network using a public key.SOLUTION: There is provided a network system including a plurality of devices. Each of the plurality of devices comprises: a communication unit for performing data communication with the other device; and a decision unit which decides a network address of the other device on the basis of a public key received from the other device. The first device has a first public key and a second public key and is configured to be able to respond to any of an access designating a first network address decided on the basis of the first public key and an access designating a second network address decided on the basis of the second public key.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a network system made up of a plurality of devices, an information processing device directed to the network system, and a communication method in the network system. [Background technology]

[0002] Recent advances in Information and Communication Technology (ICT) have been remarkable, and devices connected to networks such as the Internet are no longer limited to conventional information processing devices such as personal computers and smartphones, but are now expanding to include a wide variety of things. This technological trend is known as the "Internet of Things (IoT)," and various technologies and services are being proposed and put into practical use. In the future, it is expected that billions of people and tens of billions or even trillions of devices on Earth will be connected simultaneously. To realize such a networked world, it is necessary to provide solutions that allow connections to be made simpler, safer, and more freely.

[0003] As one core technology that provides such a solution, WO 2020 / 049754 (Patent Document 1) discloses a completely new method for determining network addresses using public keys. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] International Publication No. 2020 / 049754 Summary of the Invention [Problem to be solved by the invention]

[0005] The present disclosure provides a solution to a novel problem that may arise in a network system that uses public keys to determine network addresses. [Means for solving the problem]

[0006] According to an embodiment of the present disclosure, there is provided a network system including a plurality of devices. Each of the plurality of devices includes a communication unit for performing data communication with other devices, and a determination unit for determining a network address of the other device based on a public key received from the other device. A first device included in the plurality of devices has a first public key and a second public key, and is configured to be able to respond to both an access specifying a first network address determined based on the first public key and an access specifying a second network address determined based on the second public key.

[0007] The first device may be configured to advertise at least one of having multiple network addresses and having multiple public keys.

[0008] When the first device receives access specifying the first network address, the first device may notify the source of the access of at least one of the existence of the second public key and the existence of the second network address.

[0009] The first device may have a first digital certificate associated with the first public key, and may notify the access source of at least one of the existence of the second public key and the existence of the second network address when the validity period of the first digital certificate is about to expire or has expired.

[0010] When the first device receives an inquiry about the validity of the first network address from another device, the first device may respond according to the validity period of the first electronic certificate.

[0011] A second device included in the plurality of devices may, upon obtaining the second public key from the first device, determine a second network address based on the second public key and update a routing table with the determined second network address.

[0012] The second device may communicate the second network address to an application executing on the second device.

[0013] The first device may transmit a third public key held by the third device to the second device.

[0014] According to another aspect of the present disclosure, an information processing device capable of data communication with another information processing device includes a determination unit that determines a network address of the other device based on a public key received from the other device. The information processing device has a first public key and a second public key, and is configured to be able to respond to both an access specifying a first network address determined based on the first public key and an access specifying a second network address determined based on the second public key.

[0015] A communication method in a network system including a plurality of devices according to yet another aspect of the present disclosure includes the steps of: each of the plurality of devices storing a public key of its own device; each of the plurality of devices determining a network address of the other device based on a public key received from the other device; and, when a first device included in the plurality of devices has a first public key and a second public key, responding to both an access specifying a first network address determined based on the first public key and an access specifying a second network address determined based on the second public key. Effect of the Invention

[0016] According to the present disclosure, it is possible to provide a solution to a new problem that may arise in a network system in which a network address is determined using a public key. [Brief description of the drawings]

[0017] [Figure 1] FIG. 2 is a schematic diagram showing an example of communication processing in the network system according to the present embodiment. [Diagram 2] FIG. 11 is a schematic diagram showing another example of communication processing in the network system according to the present embodiment. [Diagram 3] FIG. 2 is a schematic diagram showing an example of a process for generating a public key and an electronic certificate in the network system according to the present embodiment. [Figure 4] 10 is a flowchart showing an example of a public key generation process in the network system according to the present embodiment. [Diagram 5] 10 is a flowchart showing an example of a process for generating an electronic certificate in the network system according to the present embodiment. [Figure 6] FIG. 2 is a schematic diagram showing an example of a hardware configuration of a device according to the present embodiment. [Figure 7] FIG. 2 is a schematic diagram showing an example of a functional configuration of a device according to the present embodiment. [Figure 8] 10 is a schematic diagram showing an example of processing when a device has a plurality of network addresses in the network system according to the present embodiment; FIG. [Figure 9] 1 is a schematic diagram showing an example of a process for notifying a plurality of network addresses in a network system according to the present embodiment; FIG. [Figure 10] 1 is a diagram for explaining a history of a network address in a network system according to the present embodiment. FIG. [Figure 11] FIG. 11 is a schematic diagram showing an example of processing when a network address is changed in the network system according to the present embodiment. [Figure 12]It is a schematic diagram showing another processing example when changing a network address in the network system according to this embodiment. [Figure 13] It is a schematic diagram showing an update example of a routing table in the network system according to this embodiment. [Figure 14] It is a schematic diagram showing a processing example of notifying a network address of another device in the network system according to this embodiment.

Embodiments for Carrying Out the Invention

[0018] Embodiments according to the present disclosure will be described in detail with reference to the drawings. Note that the same or corresponding parts in the drawings are denoted by the same reference numerals and their descriptions will not be repeated.

[0019] <A. Communication Processing in Network System 1> First, an example of communication processing in network system 1 according to this embodiment will be described.

[0020] FIG. 1 is a schematic diagram showing an example of communication processing in network system 1 according to this embodiment. Referring to FIG. 1, network system 1 includes a plurality of devices 100A, 100B,... (hereinafter also collectively referred to as "device 100").

[0021] In this specification, the term "device" includes any information processing device capable of communication processing. Devices include, for example, (stationary and portable) personal computers, smartphones, tablets, wearable devices (such as smartwatches and AR glasses) worn on the user's body (such as arms and heads), smart home appliances, connected automobiles, control devices installed in factories, IoT devices, and the like.

[0022] Each of devices 100 has a public key 154. Each of devices 100 may have a secret key corresponding to public key 154.

[0023] In the example shown in FIG. 1, device 100A has public key 154A, and device 100B has public key 154B.

[0024] When the device 100A and the device 100B start communication, the device 100A transmits the public key 154A that the device 100A possesses to the device 100B. Similarly, the device 100B transmits the public key 154B that the device 100B possesses to the device 100A.

[0025] Device 100A inputs public key 154B into address determination module 172 to determine network address B for device 100B. Similarly, device 100B inputs public key 154A into address determination module 172 to determine network address A for device 100A.

[0026] Through the above process, the device 100A and the device 100B can obtain each other's network addresses.

[0027] It should be noted that the exchange of public key 154 between device 100A and device 100B does not need to be performed every time communication is started, and it is sufficient to perform the exchange at least once.

[0028] In this specification, "network address" refers to identification information for identifying a device present on a network, and is not limited to commonly used IP (Internet Protocol) addresses (IPv4 and IPv6), but may also be a unique address system (wherein an address of any length can be adopted).

[0029] The address determination module 172 of the device 100 determines a network address of another device 100 based on the public key 154 received from the other device 100. More specifically, the address determination module 172 calculates a hash value from the input public key 154 using an irreversible cryptographic hash function (hereinafter also referred to as "hash function 173"). The address determination module 172 uses the calculated hash value to determine the network address.

[0030] For example, a network address may be determined only from a hash value. In this case, the network address may be designed to calculate a hash value having a length equal to or greater than the number of digits (or bits) required for the network address.

[0031] When determining an IPv6 IP address, a 128-bit hash value needs to be calculated, and when determining an IPv4 IP address, a 32-bit hash value needs to be calculated. When calculating a 128-bit hash value, any 32 bits of the calculated hash value may be extracted and used as the IPv4 IP address. Alternatively, a 256-bit or 512-bit hash value may be calculated, and any 128-bit (or 32-bit) portion of the calculated hash value may be extracted and used as the IP address.

[0032] Furthermore, a network address may be determined by adding a predetermined value to the calculated hash value. For example, the network address may be determined by changing the value of a specific digit (or a specific bit position) of a hash value of a specific bit length to a predetermined value (for example, a value indicating a specific attribute).

[0033] The hash function 173 may be any function that is common among devices 100, and may be, for example, BLAKE or Keccak. Any cryptographic hash function that will be developed in the future may also be employed.

[0034] Note that an arbitrary character string may be additionally input to the hash function 173 in addition to the public key 154. For example, the name of an organization related to the network address or a trademark owned by the organization may be used as the arbitrary character string.

[0035] Furthermore, to increase the level of authentication for the network address, a digital certificate indicating the validity of the public key 154 may be used.

[0036] 2 is a schematic diagram showing another example of communication processing in the network system according to the present embodiment. Referring to FIG. 2, each of devices 100 has public key 154 and digital certificate 164 associated with public key 154.

[0037] The network system 1 may further include a certification authority 200. The certification authority 200 issues a digital certificate 164 associated with the public key 154 upon request. The network system 1 may include multiple certification authorities 200. When multiple certification authorities 200 are deployed, a root certification authority and one or multiple intermediate certification authorities may be provided.

[0038] In the example shown in FIG. 1, device 100A has public key 154A and digital certificate 164A, and device 100B has public key 154B and digital certificate 164B.

[0039] When the device 100A and the device 100B start communication, the device 100A transmits the public key 154A and the electronic certificate 164A that the device 100A possesses to the device 100B. Similarly, the device 100B transmits the public key 154B and the electronic certificate 164B that the device 100B possesses to the device 100A.

[0040] Device 100A uses the electronic certificate 164B from device 100B to determine the validity of the public key 154B. If device 100A can confirm the validity of the public key 154B, it inputs the public key 154B into the address determination module 172 to determine the network address B of device 100B.

[0041] Similarly, device 100B uses the electronic certificate 164A from device 100A to determine the validity of the public key 154B. If device 100B can confirm the validity of the public key 154B, it inputs the public key 154A into the address determination module 172 to determine the network address A of device 100A.

[0042] Through the above processing, device 100A and device 100B can obtain each other's network addresses. The obtained network addresses are not tampered with by means of the electronic certificate 164 as described above and are more reliably authenticated. By using the authenticated network addresses, the validity of the network addresses of device 100 can be guaranteed to the communication partner or a third party.

[0043] Note that device 100A and device 100B may determine the validity of the electronic certificate 164B and the electronic certificate 164A by querying the certification authority 200.

[0044] In the following description, an example of the generation process of the public key and the electronic certificate in the network system 1 according to the present embodiment will be mainly described. However, the electronic certificate 164 and the certification authority 200 are not essential components and may be appropriately adopted according to the required authentication level and operation.

[0045] <B. Generation Process of Public Key and Electronic Certificate in Network System 1> Next, an example of the generation process of the public key and the electronic certificate in the network system 1 according to the present embodiment will be described.

[0046] 3 is a schematic diagram showing an example of a public key and digital certificate generation process in network system 1 according to the present embodiment. Referring to FIG. 3, network system 1 includes key pair generation module 140, evaluation module 142, digital certificate information generation module 240, and digital certificate generation module 242.

[0047] The key pair generation module 140 sequentially generates a key pair 150 consisting of a private key 152 and a public key 154. As an example, the key pair generation module 140 uses a random number generator to generate a bit string of a predetermined length (e.g., 512 bits) as the private key 152. The key pair generation module 140 then generates a public key 154 consisting of a bit string of a predetermined length (e.g., 256 bits) from the private key 152 in accordance with a known asymmetric encryption algorithm (e.g., an elliptic curve encryption algorithm).

[0048] The random number generator used in the key pair generation module 140 may be realized by utilizing a function provided by the OS (Operating System), or may be realized by using a hardwired circuit such as an ASIC (Application Specific Integrated Circuit).

[0049] When device 100 obtains key pair 150 from an external source, it may obtain key pair 150 (private key 152 and public key 154), or it may obtain only private key 152 and have device 100 generate public key 154 itself.

[0050] The evaluation module 142 judges whether the public key 154 included in the generated key pair 150 can be used as a network address. More specifically, the evaluation module 142 has a hash function 173, and calculates a hash value from the public key 154 using the hash function 173, and judges whether the calculated hash value is appropriate as a network address. The judgment of whether the calculated hash value is appropriate as a network address may be made based on whether a specific digit (or a bit position) of the calculated hash value indicates a predefined value. More specifically, the judgment may be made as to whether the calculated hash value complies with a predefined network address allocation rule. For example, if the first two digits (16 bits in an 8-bit representation) of the calculated hash value indicate "00", it may be judged to be an appropriate network address.

[0051] The public key 154 included in the key pair 150 that the evaluation module 142 has determined can be used as a network address is output to the digital certificate information generation module 240 .

[0052] The digital certificate information generation module 240 generates digital certificate information 160 to be included in a digital certificate 164 associated with the public key 154. The digital certificate information 160 includes, for example, the following information.

[0053] Issuer name Name of the subject Subject public key Validity In the network system 1 according to this embodiment, the name of the certification authority 200 is stored as the issuer name, the name of the subject is stored as the name of the device 100, and the value of the public key 154 output from the evaluation module 142 is stored as the subject's public key.

[0054] As the validity period, a start date and time and an end date and time may be stored. The length of the validity period can be set arbitrarily, and may be set to a period that is considered to be cryptographically secure, for example.

[0055] The digital certificate generation module 242 assigns the issuer's signature 162 (signature value) to the digital certificate information 160 to generate a digital certificate 164. More specifically, the digital certificate generation module 242 calculates a hash value of the digital certificate information 160 using the private key 252 of the certificate authority 200 as the signature 162.

[0056] The digital certificate generation module 242 may include information in the digital certificate 164 that indicates the signature algorithm used to calculate the signature 162 .

[0057] The digital certificate generation module 242 may include the issuer's public key (subject public key) in the digital certificate 164. By including the issuer's public key in the digital certificate 164, the validity of the digital certificate 164 can be confirmed in order from the intermediate certificate authority to the root certificate authority along the certificate chain.

[0058] The digital certificate generation module 242 registers the generated digital certificate 164 in the registry 250 and also outputs it to the device 100 .

[0059] The key pair generation module 140 and the evaluation module 142 may be disposed in the device 100 or in the certificate authority 200. The digital certificate information generation module 240 and the digital certificate generation module 242 are disposed in the certificate authority 200. The registry 250 may be disposed in a certificate authority 200 different from the certificate authority 200 that generates the digital certificate 164.

[0060] Fig. 4 is a flowchart showing an example of a process for generating public key 154 in network system 1 according to the present embodiment. Fig. 4 shows, as an example, an example in which device 100 generates public key 154 to be used as a network address. However, all or part of the process for generating public key 154 may be executed by a processing entity other than device 100.

[0061] 4, the device 100 generates a private key 152 using a random number generator (step S2). The device 100 may obtain the private key 152 from an external source. Next, the device 100 generates a public key 154 corresponding to the generated private key 152 according to a cryptographic algorithm (step S4).

[0062] The device 100 uses the hash function 173 to calculate a hash value from the generated public key 154 (step S6), and provisionally determines a network address using the calculated hash value (step S8).

[0063] Next, the device 100 determines whether or not the provisionally determined network address can be used as a network address (step S10). If the provisionally determined network address cannot be used (NO in step S10), the process from step S2 onward is repeated.

[0064] If the provisionally determined network address can be used (YES in step S10), the device 100 stores a key pair 150 consisting of a private key 152 and a public key 154 (step S12).

[0065] If necessary, the device 100 requests the certificate authority 200 to issue the digital certificate 164 associated with the public key 154 (step S14). When the device 100 obtains the digital certificate 164 from the certificate authority 200, the device 100 stores it in association with the key pair 150 (public key 154) (step S16). Then, the process ends.

[0066] FIG. 5 is a flowchart showing an example of the process for generating an electronic certificate in the network system 1 according to the present embodiment. FIG. 5 shows, as an example, an example in which the certification authority 200 generates the electronic certificate 164.

[0067] Referring to FIG. 5, when a request is made to issue the electronic certificate 164 associated with the public key 154 (YES in step S20), the certification authority 200 generates the electronic certificate information 160 including the requested public key 154 and the expiration period (step S22), and calculates the hash value of the generated electronic certificate information 160 using the private key 252 of the certification authority 200 (step S24). The certification authority 200 generates the electronic certificate 164 by adding the calculated hash value as the signature 162 to the electronic certificate information 160 (step S26).

[0068] Then, the certification authority 200 registers the generated electronic certificate 164 in the registry 250 (step S28) and transmits it to the requester (step S30). Then, the process ends.

[0069] <C. Configuration Example of Device 100> Next, a configuration example of the device 100 according to the present embodiment will be described.

[0070] (c1: Hardware Configuration Example) FIG. 6 is a schematic diagram showing a hardware configuration example of the device 100 according to the present embodiment. FIG. 6 shows, as a typical example, a hardware configuration example of the device 100 which is a personal computer.

[0071] Referring to FIG. 6, the device 100 includes one or more processors 102, a memory 104, a storage 106, a display 108, an input unit 110, and a communication unit 112.

[0072] The processor 102 is an arithmetic circuit that sequentially reads and executes computer-readable instructions. The processor 102 is composed of, for example, a central processing unit (CPU), a micro processing unit (MPU), a graphics processing unit (GPU), etc. The device 100 may have multiple processors 102, or a single processor 102 may have multiple cores.

[0073] The processor 102 may include not only a processor in the narrow sense, but also a hardwired circuit such as an ASIC (Application Specific Integrated Circuit) in which a circuit for implementing processing is formed in advance, and an FPGA (Field-Programmable Gate Array) in which a configuration for implementing processing is realized by configuration. Furthermore, in this specification, the processor 102 may also include a SoC (System on Chip) in which various processing elements are integrated. Therefore, the processor 102 can also be called a processing circuitry.

[0074] The memory 104 is, for example, a volatile storage device such as a dynamic random access memory (DRAM) or a static random access memory (SRAM). The storage 106 is, for example, a non-volatile storage device such as a hard disk drive (HDD), a solid state drive (SSD), or a flash memory.

[0075] Various programs and various data are stored in the storage 106. The processor 102 loads designated programs from among the various programs stored in the storage 106 onto the memory 104 and executes them in sequence, thereby achieving various processes as described below.

[0076] As an example, storage 106 stores OS 120, one or more applications 122, and a communication processing program 124. OS 120 is a program that provides an environment for executing various processes in device 100. Application 122 is a program that is created arbitrarily depending on the purpose. Communication processing program 124 is a program for realizing communication processing according to the present embodiment. Storage 106 may also be provided with a data storage area 128 (see FIG. 7) for storing public key 154 and electronic certificate 164.

[0077] The data storage area 128 may be realized by using a security chip (not shown) instead of the storage 106 .

[0078] In this way, the device 100 has a storage unit (e.g., the storage 106 or a security chip) for storing the public key 154 of the device itself and the electronic certificate 164 associated with the public key 154. The public key 154 of the device 100 may be calculated each time from the private key 152 stored in the storage unit. In other words, the public key 154 of the device 100 does not need to be permanently stored in the storage unit, and may be generated each time it is requested.

[0079] The display 108 presents the processing results of the processor 102 to the outside. The display 108 may be, for example, an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display. The display 108 may be a head-mounted display that is worn on the user's head, or a projector that projects an image onto a screen. The display 108 may be an indicator disposed at any position on the housing of the device 100.

[0080] The input unit 110 accepts user operations and the like for the device 100. The input unit 110 may be, for example, a keyboard, a mouse, a touch panel disposed on the display 108, a switch disposed anywhere on the housing of the device 100, or the like.

[0081] The communication unit 112 performs data communication with other devices 100. More specifically, the communication unit 112 is a network interface for connecting the device 100 to a network. For example, the communication unit 112 includes a wired connection terminal such as an Ethernet (registered trademark) port, a Universal Serial Bus (USB) port, a serial port such as IEEE1394, or a legacy parallel port. Alternatively, the communication unit 112 may include a processing circuit and an antenna for wireless communication with a device, a router, a mobile base station, or the like. The wireless communication supported by the communication unit 112 may be, for example, any of Wi-Fi (registered trademark), Bluetooth (registered trademark), ZigBee (registered trademark), LPWA (Low Power Wide Area), GSM (registered trademark), W-CDMA, CDMA200, LTE (Long Term Evolution), and a fifth generation mobile communication system (5G).

[0082] The device 100 may further include a component for reading various programs (computer-readable instructions) and / or various data from a non-transitory medium in which the various programs and / or data are stored. The medium may be, for example, an optical medium such as a DVD (Digital Versatile Disc), a semiconductor medium such as a USB memory, or the like.

[0083] Instead of installing various programs and / or various data on the device 100 via a medium, necessary programs and data may be installed on the device 100 from a distribution server on a network.

[0084] Note that the configuration for providing the functions and executing the processes according to this embodiment is not limited to the example hardware configuration of device 100 shown in FIG. 6, and any hardware configuration appropriate for the era in which it is realized may be adopted.

[0085] (c2: Functional configuration example) Fig. 7 is a schematic diagram showing an example of a functional configuration of device 100 according to the present embodiment. Referring to Fig. 7, device 100 includes OS 120, application 122 for exchanging data with other devices 100, and communication module 170. Communication module 170 may be realized by processor 102 executing communication processing program 124 (Fig. 6), or may be realized by a dedicated hardwired circuit.

[0086] The application 122 exchanges data with other devices 100 (or applications executed on other devices 100) via the communication module 170. The communication module 170 has an interface 126 that accepts commands from the application 122.

[0087] The communication module 170 executes communication processing according to this embodiment. The communication module 170 includes an address determination module 172, a validity determination module 174, a table management module 176, a routing module 178, and a validity period management module 180.

[0088] The communication module 170 stores the public key 154 and the digital certificate 164 associated with the public key 154 in the data storage area 128. The communication module 170 is also capable of referring to a routing table 182.

[0089] The address determination module 172 determines the network address of the other device 100 from the public key 154 of the other device 100, as described above.

[0090] The validity judgment module 174 uses the electronic certificate 164 from another device 100 to judge the validity of the public key 154B.

[0091] The table management module 176 adds and changes the information stored in the routing table 182.

[0092] The routing module 178 refers to the routing table 182 to transfer data (e.g., packets and frames) to the destination device 100. The routing module 178 can transfer not only the data sent by its own device but also the data received from other devices 100.

[0093] The expiration period management module 180 manages whether there is sufficient remaining expiration period of the electronic certificate 164, and when the expiration period of the electronic certificate 164 is near the deadline or has expired, it executes processing as described later.

[0094] The routing table 182 stores the network address of the device 100 and the routing information in association with each other. The routing module 178 determines the route for transferring data to the destination device 100 by referring to the routing table 182.

[0095] The routing table 182 may be arranged in the device 100 or in a server device separate from the device 100.

[0096] Note that the communication module 170 may include the key pair generation module 140 and the evaluation module 142 shown in FIG. 3.

[0097] <D. Multiple network addresses> Next, an example in the case where the device 100 has a plurality of public keys 154 (or a plurality of network addresses respectively calculated from the plurality of public keys 154) will be described.

[0098] FIG. 8 is a schematic diagram showing an example of processing when device 100 has a plurality of network addresses in network system 1 according to the present embodiment.

[0099] 8, it is assumed that device 100B has public key 154B1 and digital certificate 164B1 associated with public key 154B1, and public key 154B2 and digital certificate 164B2 associated with public key 154B2. Device 100B may have three or more pairs of public keys 154 and digital certificates 164.

[0100] Here, public key 154B1 corresponds to network address B1, and public key 154B2 corresponds to network address B2.

[0101] The device 100B is configured to be able to respond to both an access that specifies the network address B1 and an access that specifies the network address B2. That is, the device 100B has multiple network addresses.

[0102] For example, suppose that the device 100A accesses the device 100B by specifying the network address B1 (sequence SQ2). In response, the device 100B responds to the device 100A (sequence SQ4). Similarly, suppose that the device 100C accesses the device 100B by specifying the network address B2 (sequence SQ6). In response, the device 100B responds to the device 100C (sequence SQ8).

[0103] Although FIG. 8 illustrates communication processing between the device 100A and the device 100B, and communication processing between the device 100C and the device 100B, the same applies to communication processing between any of the devices 100.

[0104] In this way, in network system 1 according to the present embodiment, device 100 can have multiple network addresses.

[0105] For example, when one device 100 belongs to multiple domains, the device 100 can communicate with other devices 100 belonging to any of the domains by having a network address corresponding to each domain. In other words, the device 100 can act as a member of each domain.

[0106] Additionally, in cases where multiple hash functions 173 are available, device 100 may have respective network addresses determined by processing the same public key 154 with each of hash functions 173 .

[0107] 8, when the device 100 has multiple network addresses (or multiple public keys 154), it may notify any device 100 that it has multiple network addresses and / or multiple public keys 154. More specifically, the following communication process may be performed.

[0108] For example, when device 100B, which has multiple network addresses, receives access specifying one network address (network address B1), it may notify device 100A that originated the access that it has multiple network addresses (or that it has multiple public keys 154).

[0109] Fig. 9 is a schematic diagram showing an example of a process for notifying a plurality of network addresses in network system 1 according to the present embodiment. With reference to Fig. 9, for example, device 100B may notify access source device 100A of the presence of a network address (for example, network address B2) owned by device 100B other than the specified network address (network address B1) (sequence SQ5).

[0110] Alternatively, the device 100B may notify the accessing device 100A of the existence of a public key (for example, 154B2) corresponding to a network address owned by the device 100B other than the specified network address (network address B1).

[0111] Through such communication processing, the access source device 100 can learn the multiple network addresses of the access destination device 100.

[0112] The process of notifying the existence of the network address or public key 154 may include not only a process of transmitting a message notifying the existence of the network address or public key 154 to the access source device 100A, but also a process of transmitting the public key 154 to the access source device 100A. In addition to the public key 154, the electronic certificate 164 associated with the public key 154 may be transmitted to the access source device 100A.

[0113] Conversely, the access source device 100 may be able to inquire of the access destination device 100 whether it has multiple network addresses and / or multiple public keys 154 .

[0114] Furthermore, when a device 100 having multiple network addresses transmits a public key 154 (and associated digital certificate 164) to another device 100, the device 100 may also transmit a network address history (for example, information for identifying the network address (or the corresponding public key 154) that was used immediately before the target network address). The destination device 100 can determine the network address that the device 100 currently has based on the public key 154, and can also refer to the history to identify network addresses that the device 100 has had in the past.

[0115] Furthermore, if the routing table 182 contains an entry corresponding to a network address that a device 100 previously had, the entry corresponding to the previous network address may be deleted, or the previous network address may be updated to a current network address determined based on the transmitted public key 154.

[0116] The history may include not only network addresses previously owned by the same device 100, but also information for identifying network addresses used by the same user or organization. For example, when a device 100 used by a certain user breaks down and is replaced with a new device 100, a history indicating that the network address of the new device 100 inherits the network address of the broken device 100 may be transmitted to the other device 100. By transmitting such a relationship (history) between network addresses to the other device 100, it is possible to more easily realize updating of the network address even when the device 100 breaks down.

[0117] The network address history can also be realized using a known certificate chain technique, that is, the digital certificate 164 associated with the public key 154 corresponding to a certain network address may contain information for identifying other network addresses related to the network address (e.g., information identifying the corresponding digital certificate 164).

[0118] FIG. 10 is a diagram for explaining the history of network addresses in the network system 1 according to the present embodiment. Referring to FIG. 10, for example, assume that the device 100 is currently using the public key 154-3 and the electronic certificate 164-3 (corresponding to the network address 3). It is assumed that the device 100 was previously using the public key 154-2 and the electronic certificate 164-2 (corresponding to the network address 2), and further previously, it was using the public key 154-1 and the electronic certificate 164-1 (corresponding to the network address 1).

[0119] By transmitting the history of network addresses to other devices 100, it is possible to grasp the transition and relevance of network addresses. Note that network addresses other than the currently used network address may be treated as valid or invalid.

[0120] <E. Expiration Period of Electronic Certificate in Network System 1> In the network system 1 according to the present embodiment, the device 100 can have a plurality of network addresses. As an example of the cause for the need to have a plurality of network addresses, there is the expiration period of the electronic certificate 164 corresponding to the network address. Hereinafter, the expiration period of the electronic certificate 164 will be described.

[0121] In the network system 1, each of the devices 100 can also confirm the validity of the public key 154 based on the electronic certificate 164 associated with the public key 154. When the expiration period is defined in the electronic certificate 164 and the expiration period has passed, the validity of the public key 154 cannot be confirmed. However, even when the validity of the public key 154 cannot be confirmed, the network address of the communication partner's device 100 (not necessarily the authenticated network address) can be determined.

[0122] Therefore, when the expiration period of the electronic certificate 164 is approaching, some processing is required.

[0123] (1) Issue a new electronic certificate 164 associated with the same public key 154. (2) Generate a new key pair 150 and issue an electronic certificate 164 associated with the public key 154 included in the key pair 150. When adopting the process of (1), it may be possible to notify, by a method as described later, that the expiration date of the electronic certificate 164 is approaching.

[0124] When adopting the process of (2), as the public key 154 of the device 100 is changed, the network address will also be changed.

[0125] Therefore, a mechanism is required such that other devices 100 can obtain the changed network address by some method. As an example, when the expiration date of the electronic certificate 164 is approaching or has expired, the device 100 may notify the access source (other devices 100) of at least one of the existence of the newly issued public key 154 and the existence of the new network address corresponding to the newly issued public key 154. More specifically, the following processes may be adopted.

[0126] <F. Processing at the time of network address change in the network system 1> Next, the processing at the time of network address change in the network system 1 will be described.

[0127] (f1: Processing example 1) FIG. 11 is a schematic diagram showing a processing example at the time of network address change in the network system 1 according to the present embodiment. For convenience of explanation, FIGS. 11 and 12 described later illustrate the communication processing between the device 100A and the device 100B, but the same applies to the communication processing with other devices 100.

[0128] As an example, assume that the validity period of electronic certificate 164B1 associated with public key 154B1 of device 100B is about to expire or has expired (the same applies to FIG. 12 described below). Therefore, device 100B has a new public key 154B2 and electronic certificate 164B2 associated with public key 154B2, in addition to public key 154B1 and electronic certificate 164B1. Public key 154B1 corresponds to network address B1, and public key 154B2 corresponds to network address B2.

[0129] Assume that the device 100A has acquired the network address B1 of the device 100B in advance, and specifies the network address B1 to access the device 100B in order to identify the device 100B (sequence SQ10).

[0130] Since the validity period of the electronic certificate 164B1 corresponding to the network address B1 is about to expire or has expired, the device 100B transmits a new public key 154B2 and electronic certificate 164B2 to the device 100A (sequence SQ12).

[0131] Device 100A may detect in advance that the validity period of electronic certificate 164B1 corresponding to network address B1 is about to expire or has expired, and may then transmit new public key 154B2 and electronic certificate 164B2 when access is received specifying network address B1.

[0132] Alternatively, device 100A may check the validity period of electronic certificate 164 corresponding to the network address each time it receives an access specifying the network address of its own device.

[0133] The device 100A determines the network address B2 of the device 100B based on the public key 154B2 and the digital certificate 164B2 from the device 100B (sequence SQ14). The device 100A then updates the routing table 182 with the network address B2 of the device 100B (sequence SQ16). After that, the device 100A specifies the new network address B2 to access the device 100B (sequence SQ18).

[0134] In this way, upon acquiring public key 154B2 and digital certificate 164B2 from device 100B, device 100A determines network address B2 based on public key 154B2, and updates routing table 182 with the determined network address B2.

[0135] As described above, when device 100B (validity period management module 180) receives an access specifying network address B1 determined based on public key 154B1 when the validity period of electronic certificate 164B1 associated with public key 154B1 is about to expire or has expired, device 100B transmits public key 154B2 different from public key 154B1 and electronic certificate 164B2 associated with public key 154B2 to the access source. This allows seamless transition to new public key 154B2 (network address B2) and electronic certificate 164B2 even if the validity period of electronic certificate 164B1 associated with public key 154B1 held by device 100B is about to expire or has expired.

[0136] In other words, even if the network address of the same device 100 is changed, the communication process can be continued.

[0137] (f2: Processing example 2) FIG. 12 is a schematic diagram showing another example of processing when a network address is changed in network system 1 according to the present embodiment.

[0138] 12, the device 100A has previously acquired the network address B1 of the device 100B. Before transmitting data or the like to the device 100B, the device 100A inquires of the device 100B about the validity of the network address B1 (sequence SQ20).

[0139] In response to the inquiry from device 100A, if there is sufficient time left in the validity period of electronic certificate 164B1 corresponding to network address B1, device 100B replies that network address B1 is valid (sequence SQ22). In accordance with the reply from device 100B, device 100A specifies network address B1 to access device 100B.

[0140] On the other hand, if the validity period of the electronic certificate 164B1 corresponding to the network address B1 is about to expire or has expired, the device 100B transmits a new public key 154B2 and electronic certificate 164B2 to the device 100A (sequence SQ24). The device 100B may respond that the network address B1 is invalid.

[0141] In this way, when device 100B (validity period management module 180) receives an inquiry about the validity of network address B1 from another device 100, it responds according to the validity period of electronic certificate 164B1. That is, the content of the response differs depending on whether the validity period of electronic certificate 164B1 is about to expire or has expired.

[0142] The device 100A determines the network address B2 of the device 100B based on the public key 154B2 and the digital certificate 164B2 from the device 100B (sequence SQ26). The device 100A then updates the routing table 182 with the network address B2 of the device 100B (sequence SQ28). After that, the device 100A specifies the new network address B2 to access the device 100B (sequence SQ30).

[0143] In this way, upon acquiring public key 154B2 and digital certificate 164B2 from device 100B, device 100A determines network address B2 based on public key 154B2, and updates routing table 182 with the determined network address B2.

[0144] As described above, when device 100B (validity period management module 180) receives an access specifying network address B1 determined based on public key 154B1 when the validity period of electronic certificate 164B1 associated with public key 154B1 is about to expire or has expired, device 100B transmits public key 154B2 different from public key 154B1 and electronic certificate 164B2 associated with public key 154B2 to the access source. This allows seamless transition to new public key 154B2 (network address B2) and electronic certificate 164B2 even if the validity period of electronic certificate 164B1 associated with public key 154B1 held by device 100B is about to expire or has expired.

[0145] (f3: Processing example 3) The device 100 may be configured to be able to execute both the process of Fig. 11 and the process of Fig. 12. For example, the device 100 may be configured to inquire of the communication partner about the validity of the network address only if the time elapsed since the last access exceeds a predetermined threshold time.

[0146] (f4: Validity inquiry) The validity of the network address shown in FIG. 12 may be inquired of one of the certificate authorities 200 (registry 250) instead of the device 100 having the network address.

[0147] The timing for inquiring about the validity of a network address can be set arbitrarily. For example, by preparing a function for inquiring about the validity of a network address, the application 122 can execute the inquiry at a timing required by the application 122.

[0148] (f5: Update of routing table 182 and notification to application 122) As described above, when the network address is changed, the contents of the routing table 182 are also updated.

[0149] Fig. 13 is a schematic diagram showing an example of updating routing table 182 in network system 1 according to the present embodiment. Referring to Fig. 13, routing table 182 includes routing information for each network address. When a network address is changed, only the corresponding network address may be changed while the routing information is maintained, or entries including the changed network address and routing information may be added sequentially.

[0150] Also, in order to maintain the association with the network address before the change, an alias may be set. By setting the network address before the change in the alias, even if any application 122 executed in the device 100 performs communication specifying the network address before the change, the network address can be switched to the changed network address inside the device 100.

[0151] Furthermore, an application 122 running on a device 100 may not be able to know that the network address of another device 100 has changed. In such a case, the communication module 170 may notify the application 122 of the network address before and after the change.

[0152] For example, when application 122 requests communication module 170 for access specifying a pre-change network address, communication module 170 may notify application 122 of a post-change network address corresponding to the specified pre-change network address. Application 122 can update the network address it manages to the notified post-change network address.

[0153] In this manner, the communication module 170 may notify the application 122 executed in the device 100 of the changed network address. By such notification, the change in the network address of the other device 100 can be reflected in the application 122 as well.

[0154] (f6: Notification of public key / network address of device other than your own) For example, assuming that a user changes the device 100 being used to another device 100, it is preferable to notify in advance the network address of the new device 100. For this reason, the device 100 may notify not only the network address (public key 154) of its own device, but also the network address (public key 154) of another device such as the new device 100.

[0155] Fig. 14 is a schematic diagram showing an example of a process for notifying a network address of another device in network system 1 according to the present embodiment. Referring to Fig. 14, device 100B has public key 154B1 of device 100B itself and electronic certificate 164B1 associated with public key 154B1, as well as public key 154C1 of device 100C and electronic certificate 164C1 associated with public key 154C1.

[0156] Device 100B transmits the public key 154C1 and the electronic certificate 164C1 of device 100C to device 100A in response to an instruction from the user or in response to the fulfillment of any condition. Device 100A determines the network address C1 based on the public key 154C1 and the electronic certificate 164C1. Then, device 100A accesses by specifying the network address C1. Since the network address C1 is the network address that device 100C has, device 100A will access device 100C.

[0157] In this way, by device 100B transmitting the public key 154 (and the associated electronic certificate 164) that another device has to device 100A, device 100A can perform data communication with another device instead of device 100B.

[0158] By performing communication with such a new network address, even when the communication destination of device 100 changes, it can seamlessly migrate to the new device 100.

[0159] <G. Expiration of the validity period> Regarding the network address for which the validity period of the corresponding electronic certificate 164 has expired, it can be treated as a completely invalid network address, or it can be treated as a valid network address with low reliability.

[0160] When treating it as a completely invalid network address, each device 100 does not transmit data by specifying the network address from its own device, and when the network address is specified in the data received from another device, the data may be discarded.

[0161] On the other hand, when treating a network address with low reliability, each device 100 may send data by specifying the network address from its own device, or may transfer the data if the network address is specified in the data received from another device. However, the priority of data transmission and transfer may be set relatively low. By setting the priority low, the actual speed of data transmission and transfer may decrease in some cases.

[0162] <H. Notification of Expiration Date> When the expiration date of the electronic certificate 164 of the device 100 is approaching or has expired, a mechanism may be adopted to notify the user of the device 100, etc. that the expiration date is approaching or has expired.

[0163] A message notifying that the expiration date is approaching or has expired may be sent from the communication module 170 (expiration date management module 180) to the application 122 executed on the device 100. The content or attributes of the message may be varied according to the remaining period until the end date of the expiration date. For example, when the remaining period becomes 1 month, 2 weeks, or 1 week, the content or attributes of the message may be changed step by step.

[0164] Also, the content or attributes of the message may be varied for each of the approaching expiration date and the expired date.

[0165] When the application 122 receives a message notifying that the expiration date is approaching or has expired from the communication module 170, the application 122 may execute processing according to the received message. The processing to be executed includes, for example, processing to notify the user using the device 100 or the application 122 that it is necessary to update the electronic certificate 164. The processing to be executed can be arbitrarily determined by the creator of the application 122.

[0166] Alternatively, an indicator or the like disposed at any position on the housing of the device 100 may be used to visually notify that the expiration date of the electronic certificate 164 is approaching or has expired. Examples of the visual notification method include lighting of the indicator, blinking of the indicator, and change of the display color of the indicator.

[0167] Also, an audio output device or the like disposed at any position on the housing of the device 100 may be used to aurally notify that the expiration date of the electronic certificate 164 is approaching or has expired. Examples of the aural notification method include generation of a notification sound and change of the notification sound.

[0168] Visual notification and aural notification may be performed in combination. Also, notification may be performed in other forms.

[0169] As described above, the communication module 170 (expiration date management module 180) of the device 100 notifies the application 122 executed on the device 100 that the expiration date of the electronic certificate 164 is approaching or has expired. With such a notification function, the user can easily grasp that it is necessary to acquire a new electronic certificate 164.

[0170] <I. Acquisition of a New Public Key and Electronic Certificate> Next, an example of the process for acquiring a new public key and electronic certificate will be described.

[0171] As described above, when the expiration date of the electronic certificate 164 associated with the currently used public key 154 is approaching or has expired, it is necessary to acquire at least a new electronic certificate 164. That is, either (1) acquiring a new electronic certificate 164 associated with the same public key 154 or (2) generating a new key pair 150 and acquiring an electronic certificate 164 associated with the public key 154 included in the key pair 150 is required.

[0172] When the communication module 170 of the device 100 notifies that the expiration date of the electronic certificate 164 associated with the currently used public key 154 is approaching or has expired, it may also notify the above-mentioned countermeasures (1) and / or (2) together. In this case, the communication module 170 of the device 100 may provide a UI (User Interface) that notifies that the expiration date of the electronic certificate 164 associated with the currently used public key 154 is approaching or has expired, and may also accept which of (1) and (2) to execute.

[0173] Alternatively, either (1) or (2) may be preset, and when the expiration date of the electronic certificate 164 associated with the currently used public key 154 is approaching, the execution of the process of obtaining a new electronic certificate 164 in the set method may be accepted.

[0174] In any of the above-mentioned methods, the communication module 170 of the device 100 obtains at least a new electronic certificate 164 from the certification authority according to the user operation.

[0175] Also, in any of the above methods, a UI or the like for assisting in settling the cost required to obtain a new electronic certificate 164 may be provided. For example, the communication module 170 of the device 100 may provide an input screen for a credit card or the like, and may also transmit the input credit card number to a settlement server (not shown) to determine the required cost.

[0176] Note that the same process can be executed not only when the expiration date of the electronic certificate 164 has expired, but also when the electronic certificate 164 has become invalid for some reason.

[0177] <J. Advantage> According to the network system 1 according to the present embodiment, seamless communication can be realized even when one device has a plurality of network addresses.

[0178] According to the network system 1 of this embodiment, in cases where the communicating device 100 belongs to a different domain, where multiple types of hash functions 173 are available, or where the expiration date of the electronic certificate 164 is about to expire or has expired, the device 100 has multiple network addresses and any of the network addresses can be used, so that communication can be continued.

[0179] Furthermore, in a network using a public key and an electronic certificate associated with the public key, the network system 1 can seamlessly transition to a new public key and electronic certificate to address the problem that a network address cannot be treated as completely authenticated due to the expiration of the validity period of the electronic certificate. As a result, even if a situation arises in which it is necessary to obtain a new electronic certificate in any of the devices, communication between the devices can be continued without interruption.

[0180] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present invention is defined by the claims, not the above description, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]

[0181] 1 network system, 100, 100A, 100B, 100C device, 102 processor, 104 memory, 106 storage, 108 display, 110 input unit, 112 communication unit, 120 OS, 122 application, 124 communication processing program, 126 interface, 128 data storage area, 140 key pair generation module, 142 evaluation module, 150 key pair, 152, 252 private key, 154, 154A, 154B1, 154B, 154B2, 154C1 public key, 160 electronic certificate information, 162 signature, 164, 164A, 164B, 164B2, 164B1, 164C1 electronic certificate, 170 communication module, 172 address determination module, 173 hash function, 174 validity determination module, 176 Table management module, 178 routing module, 180 validity period management module, 182 routing table, 200 certification authority, 240 electronic certificate information generation module, 242 electronic certificate generation module, 250 registry.

Claims

1. A network system including a plurality of devices, Each of the plurality of devices a communication unit for performing data communication with other devices; a determination unit that determines a network address of the other device based on a public key received from the other device, a first device included in the plurality of devices, having a first public key and a second public key; configured to be able to respond to both an access specifying a first network address determined based on the first public key and an access specifying a second network address determined based on the second public key; A network system configured to advertise at least one of having a plurality of network addresses and having a plurality of public keys.

2. 2. The network system according to claim 1, wherein when the first device receives access specifying the first network address, the first device notifies the access source of at least one of the existence of the second public key and the existence of the second network address.

3. The first device a first digital certificate associated with the first public key; 3. The network system according to claim 2, wherein when the validity period of the first electronic certificate is about to expire or has expired, the access source is notified of at least one of the existence of the second public key and the existence of the second network address.

4. 4. The network system according to claim 3, wherein the first device, when inquired about the validity of the first network address from another device, responds in accordance with the validity period of the first electronic certificate.

5. The network system according to any one of claims 1 to 4, wherein a second device included in the plurality of devices, upon obtaining the second public key from the first device, determines a second network address based on the second public key and updates a routing table with the determined second network address.

6. The network system according to claim 5 , wherein the second device notifies an application running on the second device of the second network address.

7. 6. The network system according to claim 5, wherein the first device transmits a third public key held by a third device to the second device.

8. An information processing device capable of data communication with another information processing device, a determination unit that determines a network address of the other device based on a public key received from the other device; The information processing device includes: having a first public key and a second public key; configured to be able to respond to both an access specifying a first network address determined based on the first public key and an access specifying a second network address determined based on the second public key; An information processing device configured to notify at least one of having a plurality of network addresses and having a plurality of public keys.

9. The information processing device described in Claim 8, wherein when the information processing device receives access specifying the first network address, it notifies the access source of at least one of the existence of the second public key and the existence of the second network address.

10. A communication method in a network system including a plurality of devices, each of the plurality of devices storing its own public key; determining, by each of the plurality of devices, a network address of the other device based on a public key received from the other device; a step of responding to both an access specifying a first network address determined based on the first public key and an access specifying a second network address determined based on the second public key, when a first device included in the plurality of devices has a first public key and a second public key; a step of notifying a first device included in the plurality of devices that it has at least one of a plurality of network addresses and a plurality of public keys.