Communication system, information processing device, information processing method, and information processing program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- KK TOSHIBA
- Filing Date
- 2022-06-20
- Publication Date
- 2026-08-07
Smart Images

Figure 0007902030000001 
Figure 0007902030000002 
Figure 0007902030000003
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to a communication system, an information processing device, an information processing method, and an information processing program.
Background Art
[0002] For mutual authentication in data communication, TLS (The Transport Layer Security Protocol, IETF RFC 8446) is widely used on the Internet. However, TLS is a method for ensuring the security of the communication path between communication nodes. Therefore, an application server that cannot directly communicate with an edge device cannot use TLS and cannot authenticate edge data or edge devices.
[0003] On the other hand, JWS (JSON Web Signature, IETF RFC 7515) and COSE (CBOR Object Signing and Encryption, IETF RFC 8152) implement digital signatures using public-key cryptography on a per-data unit basis. However, for example, signing individual edge data, such as sensor data, is not desirable from the perspective of processing load. That is, in the prior art, it has been difficult to verify with low processing load whether edge data was generated by an edge device assumed by the edge data.
Prior Art Documents
Non-Patent Documents
[0004]
Non-Patent Document 1
Non-Patent Document 2
[0005] The embodiments of the present invention aim to provide a communication system, an information processing device, an information processing method, and an information processing program that can verify with low processing load whether or not edge data was generated on a assumed edge device. [Means for solving the problem]
[0006] The communication system of the embodiment comprises an edge device that generates edge data and a service device that utilizes the edge data. The edge device does not communicate directly with the service device but communicates with the service device via a server device and comprises a message authentication code generation unit and a first communication unit. Digital signature processing unit, The system includes the following: The message authentication code generation unit generates a message authentication code using a shared key shared with the service device. The first communication unit transmits first communication data, which is communication data to which the message authentication code has been added to the edge data. If the edge data satisfies predetermined conditions, the digital signature processing unit digitally signs the group of edge data, which is one or more of the edge data that satisfy those conditions, using the private key of the edge device. The service device includes a verification unit. The verification unit verifies the source of the edge data included in the first communication data according to the verification result obtained by verifying the message authentication code included in the first communication data using a shared key shared with the edge device. The first communication unit of the edge device transmits at least one of the first communication data and the second communication data, which is the group of edge data to which the digital signature has been applied, as the communication data, and the condition indicates that the amount of data of the edge data is equal to or greater than the first data amount, or that the retention period of the edge data is equal to or greater than the first period. [Brief explanation of the drawing]
[0007] [Figure 1] A schematic diagram of a communication system. [Figure 2] A schematic diagram of the functional configuration of edge devices. [Figure 3] A schematic diagram showing the data structure of the first key management information. [Figure 4A] A schematic diagram showing the data structure of the first communication data. [Figure 4B] A schematic diagram showing the data structure of the first communication data. [Figure 4C] A schematic diagram showing the data structure of the second communication data. [Figure 5] A schematic diagram of the functional configuration of the server device. [Figure 6] A schematic diagram showing the data structure of the third key management information. [Figure 7] A schematic diagram showing the data structure of edge data management information. [Figure 8] Schematic diagram of the functional configuration of the service device. [Figure 9] A schematic diagram showing the data structure of the second key management information. [Figure 10] A flowchart illustrating the flow of information processing performed by edge devices. [Figure 11] A flowchart showing the flow of information processing performed by a server device. [Figure 12] A flowchart illustrating the flow of information processing performed by a service device. [Figure 13] A schematic diagram of the functional configuration of edge devices. [Figure 14] A schematic diagram of a communication system. [Figure 15] Hardware configuration diagram. [Modes for carrying out the invention]
[0008] The communication system, information processing device, information processing method, and information processing program of this embodiment will be described in detail below with reference to the attached drawings.
[0009] In the descriptions of the following embodiments, parts with the same reference numerals have substantially the same functions, and descriptions of overlapping parts will be omitted as appropriate.
[0010] (First Embodiment) FIG. 1 is a schematic diagram showing an example of the communication system 1 of the present embodiment.
[0011] The communication system 1 includes an edge device 10, a server device 30, and a service device 20.
[0012] The edge device 10 and the server device 30 are connected via a first network NW1. The server device 30 and the service device 20 are connected via a second network NW2.
[0013] The edge device 10 is an information processing device that generates edge data. Details of the edge data will be described later. The edge device 10 is connected to the first network NW1. FIG. 1 shows, as an example, a form in which one edge device 10 is connected to the first network NW1. However, the number of edge devices 10 connected to the first network NW1 may be two or more.
[0014] The service device 20 is an information processing device that uses the edge data provided from the edge device 10. The service device 20 is connected to the second network NW2. FIG. 1 shows, as an example, a form in which two service devices 20 are connected to the second network NW2. However, the number of service devices 20 connected to the second network NW2 may be one or three or more.
[0015] The server device 30 is an information processing device for relaying communication between the edge device 10 and the service device 20. The server device 30 is connected to the first network NW1 and the second network NW2.
[0016] The first network NW1 and the second network NW2 are examples of networks. The first network NW1 and the second network NW2 are wide area networks, including local area networks, field area networks, or the Internet. The connection method for the first network NW1 and the second network NW2 may be either a wired connection or a wireless connection.
[0017] The server device 30 and the service device 20 may run in a so-called cloud environment, or they may run on-premises. The server device 30 and the service device 20 may also run as virtual machines operating in a virtualization environment.
[0018] Next, an example of the functional configuration of the edge device 10 in this embodiment will be described.
[0019] Figure 2 is a schematic diagram of an example of the functional configuration of the edge device 10.
[0020] The edge device 10 comprises a storage unit 12 and a control unit 14. The storage unit 12 and the control unit 14 are connected in a manner that allows them to send and receive data or signals.
[0021] The storage unit 12 stores various types of data. In this embodiment, the storage unit 12 stores the first key management information 12A. Details of the first key management information 12A will be described later.
[0022] The control unit 14 includes an edge data generation processing unit 14A, an edge data transmission processing unit 14B, a key management unit 14C, a message authentication code generation unit 14D, a digital signature processing unit 14E, and a first communication unit 14F.
[0023] The edge data generation processing unit 14A, the edge data transmission processing unit 14B, the key management unit 14C, the message authentication code generation unit 14D, the digital signature processing unit 14E, and the first communication unit 14F are implemented by, for example, one or more processors. For example, each part included in the control unit 14 may be implemented by having a processor such as a CPU (Central Processing Unit) execute a program, i.e., by software. Each of the above parts may be implemented by a processor such as a dedicated IC, i.e., by hardware. Each of the above parts may be implemented by using both software and hardware. When multiple processors are used, each processor may implement one of the parts, or two or more of the parts.
[0024] The edge data generation processing unit 14A generates edge data.
[0025] Edge data refers to data to be provided to at least one of the server device 30 and the service device 20. Edge data includes, for example, sensor data acquired from sensors installed on edge device 10, sensor data acquired from sensors installed on devices other than edge device 10, and internal data of edge device 10. Internal data of edge device 10 includes, for example, information about the memory, storage, files stored in memory or storage, file configuration information, etc. Specifically, internal data of edge device 10 includes memory usage. The storage of edge device 10 corresponds to, for example, the memory unit 12.
[0026] In this embodiment, the edge data generation processing unit 14A will be described in a manner that generates edge data from sensor data acquired from sensors provided on the edge device 10, and internal data such as the memory usage of the edge device 10.
[0027] The sensor does not need to be directly connected to an interface such as GPIO (General-purpose input / output), UART (Universal Asynchronous Receiver / Transmitter), or I2C (Inter-Integrated Circuit) of the edge device. For example, edge device 10 operates as an edge gateway and acquires sensor data from the sensor via a wireless or wired connection over the network. When acquiring sensor data via a wired connection, communication methods such as Ethernet®, CAN (Controller Area Network), or BACnet (Building Automation and Control Networking protocol) can be used. When acquiring sensor data via a wireless connection, communication methods such as WiFi (Wireless Fidelity), Bluetooth®, or ZigBee® can be used.
[0028] Edge data can be any data intended to be provided to at least one of the server device 30 and the service device 20, and is not limited to sensor data acquired from sensors.
[0029] The edge data generation processing unit 14A generates edge data that includes at least some of the following, using sensors provided on the edge device 10, the memory or storage of the edge device 10, files stored therein and their configuration information, and information from other sensor devices that communicate via the network.
[0030] The edge data transmission processing unit 14B executes the transmission process for the edge data generated by the edge data generation processing unit 14A. The edge data transmission processing unit 14B queries the key management unit 14C, and if the key management unit 14C holds a shared key that is shared with the service device 20, it passes the edge data to be transmitted to the message authentication code generation unit 14D.
[0031] The key management unit 14C stores and manages the first key management information 12A in advance. The first key management information 12A is information for managing the shared key.
[0032] Figure 3 is a schematic diagram showing an example of the data structure of the first key management information 12A.
[0033] The first key management information 12A is information that associates the communication destination identification information, the shared key ID, the shared key value, and the expiration date. The communication destination identification information is the identification information of the information processing device that the edge device 10 communicates with. Specifically, the communication destination identification information is the identification information of the service device 20 and the server device 30, respectively. The identification information of the service device 20 is an example of service identification information.
[0034] The shared key ID is the identification information for the shared key. The shared key registered in the first key management information 12A is a shared key that the edge device 10 shares with each of the service devices 20 or server devices 30 identified by the corresponding communication destination identification information. The shared key value is the value of the shared key. The expiration date is information indicating the expiration date of the shared key. In this embodiment, a form in which the shared key is represented by the shared key ID, shared key value, and expiration date will be described as an example.
[0035] As shown in Figure 3, the key management unit 14C manages first key management information 12A for each communication partner that shares a shared key, associating communication partner identification information, shared key ID, shared key value, and expiration date. The first key management information 12A may also contain associated related information related to the shared key.
[0036] A shared key ID is typically assigned to each communication destination. In the example shown in Figure 3, the shared key identified by shared key ID "100" is shared by service device 20 of communication destination identification information "service device A" and server device 30 of communication destination identification information "server device C". However, typically, a shared key ID is assigned to each communication destination, and the shared key value "AAAAAAAAAA" and the shared key value "CCCCCCCCC" are treated as shared key values of different shared keys.
[0037] In this embodiment, the key management unit 14C receives the shared key generated by the service device 20 or server device 30 and manages the shared key by registering it in the first key management information 12A.
[0038] The shared key received by the key management unit 14C from the service device 20 or server device 30 includes information representing the shared key ID and expiration date as related information for the shared key. The key management unit 14C associates the shared key value of the received shared key, the shared key ID and expiration date included in the related information, and the communication destination identification information, which is the identification information of the information processing device that sent the shared key, and registers them in the first key management information 12A.
[0039] The key management unit 14C may pre-set the maximum validity period for the shared keys it accepts.
[0040] Assume that the shared key received has an expiration date that exceeds the pre-set maximum validity period. In this case, the key management unit 14C may change the expiration date so that it does not exceed the maximum validity period and then register it in the first key management information 12A. Alternatively, in this case, the key management unit 14C may discard the received shared key without registering it in the first key management information 12A.
[0041] Furthermore, consider the case where the key management unit 14C receives a new shared key that includes a shared key ID already registered in the first key management information 12A as related information. In this case, the key management unit 14C may overwrite the registration of the new shared key and the related information contained in the shared key by associating them with the shared key ID registered in the first key management information 12A. Alternatively, in this case, the key management unit 14C may discard the received shared key without registering it in the first key management information 12A.
[0042] Returning to Figure 2, we continue the explanation.
[0043] When the message authentication code generation unit 14D receives edge data from the edge data transmission processing unit 14B, it generates a message authentication code using a shared key shared with the service device 20.
[0044] For example, the message authentication code generation unit 14D may generate a message authentication code using methods such as HMAC (Hash-based Message Authentication Code) or CMAC (Cipher-based Message Authentication Code). The message authentication code generation unit 14D may generate a message authentication code using a shared key, and is not limited to these methods.
[0045] In this embodiment, the message authentication code generation unit 14D generates a message authentication code for each service device 20 identified by each of the service identification information corresponding to the shared key, using each of the one or more shared keys registered in the first key management information 12A.
[0046] In detail, the message authentication code generation unit 14D generates a message authentication code using one or more shared keys registered in the first key management information 12A if a shared key shared with the service device 20 is registered in the first key management information 12A. If no shared key shared with the service device 20 is registered in the first key management information 12A, the message authentication code generation unit 14D does not generate a message authentication code.
[0047] The key management unit 14C manages shared keys for each communication destination using the first key management information 12A (see Figure 3). Therefore, if the shared keys for multiple communication destinations are registered in the first key management information 12A, the message authentication code generation unit 14D only needs to generate message authentication codes for each of the multiple communication destinations using each of the shared keys registered in the first key management information 12A.
[0048] In other words, as shown in Figure 3, the first key management information 12A may contain a shared key corresponding to the identification information of the server device 30. To put it another way, the edge device 10 may share a shared key with the server device 30. In this case, the message authentication code generation unit 14D may further generate a message authentication code for the server device 30 using the shared key corresponding to the identification information of the server device 30 included in the communication destination identification information in the first key management information 12A.
[0049] If the edge data generated by the edge data generation processing unit 14A satisfies predetermined conditions, the edge data transmission processing unit 14B passes the group of edge data, which is one or more edge data that satisfy those conditions, to the digital signature processing unit 14E.
[0050] The conditions can be predetermined. For example, the conditions may be that the amount of edge data is greater than or equal to the first data amount, or that the retention period for edge data is greater than or equal to the first period. The first data amount and the first period can be predetermined. The first data amount should be an amount of data that exceeds the expected amount of data for one edge data, the average value of the expected amount of data for edge data, or the maximum value of the expected amount of data for edge data, etc. The first period should be a period that exceeds the period required to retain the amount of data that exceeds the expected amount of data for one edge data, the average value of the expected amount of data for edge data, or the maximum value of the expected amount of data for edge data, etc. The first data amount and the first period may be changed as appropriate in response to user instructions, etc., within the range that satisfies the above restrictions.
[0051] In other words, the edge data transmission processing unit 14B does not immediately transmit the edge data generated by the edge data generation processing unit 14A. The edge data transmission processing unit 14B retains the edge data until the amount of edge data generated by the edge data generation processing unit 14A reaches a first data amount, or until the retention period of the edge data reaches a first period or longer. Then, when the amount of data in the group of edge data that the edge data transmission processing unit 14B is holding reaches a first data amount or longer, or when the retention period of the group of edge data reaches a first period or longer, the edge data transmission processing unit 14B passes the group of edge data to the digital signature processing unit 14E.
[0052] These conditions may be changed as appropriate through user instructions to operate the edge device 10 and communication with the server device 30.
[0053] If the edge data satisfies predetermined conditions, the digital signature processing unit 14E digitally signs the group of edge data, which is a collection of one or more edge data that satisfies those conditions, using the private key of the edge device 10.
[0054] The digital signature processing unit 14E may digitally sign the received edge data group using a secret key when it receives the edge data group from the edge data transmission processing unit 14B. The digital signature processing unit 14E may retain the edge data until the amount of data generated by the edge data generation processing unit 14A reaches a first data amount, or until the retention period of the edge data reaches a first period or longer. The digital signature processing unit 14E may then digitally sign the edge data group using a secret key when the amount of data of the retained edge data group reaches a first data amount or longer, or when the retention period of the edge data group reaches a first period or longer.
[0055] The private key used for digital signatures may be stored in advance in the edge data transmission processing unit 14B, the digital signature processing unit 14E, or the storage unit 12. The storage unit 12 and its mechanism for storing the private key may be a publicly known mechanism.
[0056] If a message authentication code is generated by the message authentication code generation unit 14D, the first communication unit 14F transmits first communication data, which is communication data with the message authentication code attached to the edge data. Furthermore, if a digital signature is applied by the digital signature processing unit 14E, the first communication unit 14F transmits second communication data, which is a group of edge data that has been digitally signed.
[0057] In other words, the first communication unit 14F transmits at least one of the first communication data and the second communication data to the server device 30 as communication data.
[0058] The first and second communication data are examples of communication data. The first communication data is edge data to which a message authentication code has been attached. The second communication data is a group of edge data to which a digital signature has been applied.
[0059] Figures 4A to 4C are schematic diagrams of an example of the data structure of communication data 40.
[0060] Figure 4A is a schematic diagram showing an example of the data structure of the first communication data 40A. For example, the first communication data 40A is communication data 40 to which multiple message authentication codes are attached to a single edge data.
[0061] Specifically, for example, the first communication data 40A includes one edge data, a message authentication code for service device 20 of the service identification information "service device A" for the edge data, and a message authentication code for service device 20 of the service identification information "service device B" for the edge data. The service identification information "service device A" and "service device B" are the service identification information of service device 20 whose shared key is registered in the first key management information 12A.
[0062] Figure 4B is a schematic diagram showing an example of another data configuration for the first communication data 40A. For example, the first communication data 40A is communication data 40 with one message authentication code attached to one edge data.
[0063] Specifically, for example, the first communication unit 14F transmits the first communication data 40A1 and the first communication data 40A2 as the first communication data 40A.
[0064] The first communication data 40A1 includes one edge data and a message authentication code for service device 20 of service identification information "service device A" for the edge data. The first communication data 40A2 includes one edge data and a message authentication code for service device 20 of service identification information "service device B" for the edge data.
[0065] Thus, the first communication data 40A may be either communication data 40 in which a message authentication code for each of multiple communication destinations is attached to one edge data, or communication data 40 in which a message authentication code for one communication destination is attached to one edge data.
[0066] Figure 4C is a schematic diagram showing an example of the data structure of the second communication data 40B. The second communication data 40B is communication data 40 in which a digital signature has been applied to a group of edge data consisting of multiple edge data.
[0067] Returning to Figure 2, the explanation continues. The first communication unit 14F of the edge device 10 transmits communication data 40, which includes at least one of the first communication data 40A and the second communication data 40B, to the server device 30 via the first network NW1.
[0068] In some cases, the shared key may not be registered in the first key management information 12A. That is, the edge device 10 may not share a valid shared key with any of the server devices 30 and service devices 20. In this case, the control unit 14 of the edge device 10 may send the edge data to the server device 30 as communication data 40 without generating a message authentication code, assigning a message authentication code, or assigning a digital signature.
[0069] Next, an example of the functional configuration of the server device 30 will be described.
[0070] Figure 5 is a schematic diagram of an example of the functional configuration of the server device 30.
[0071] The server device 30 comprises a storage unit 32 and a control unit 34. The storage unit 32 and the control unit 34 are connected in a manner that allows them to send and receive data or signals.
[0072] The storage unit 32 stores various types of data. In this embodiment, the storage unit 32 stores third key management information 32A and edge data management information 32B. Details of the third key management information 32A and edge data management information 32B will be described later.
[0073] The control unit 34 comprises a third communication unit 34A, a verification unit 34D, a key management unit 34E, and an edge data management unit 34F. The third communication unit 34A includes a fourth communication unit 34B and a fifth communication unit 34C. The third communication unit 34A, the fourth communication unit 34B, the fifth communication unit 34C, the verification unit 34D, the key management unit 34E, and the edge data management unit 34F are implemented, for example, by one or more processors.
[0074] The third communication unit 34A transmits the communication data 40 received from the edge device 10 to the service device 20.
[0075] The third communication section 34A includes the fourth communication section 34B and the fifth communication section 34C.
[0076] The fourth communication unit 34B communicates with the edge device 10 via the first network NW1. The fourth communication unit 34B receives communication data 40 from the edge device 10. The fourth communication unit 34B also sends a shared key to the edge device 10 that is shared with the server device 30 or the service device 20. Data is sent and received between the fourth communication unit 34B of the server device 30 and the first communication unit 14F of the edge device 10 using a communication protocol such as HTTP (HyperText Transfer Protocol) or MQTT (Message Queueing Telemetry Transport). This data transmission and reception may be protected by TLS (Transport Layer Security) or IPsec (Security Architecture for Internet Protocol).
[0077] The key management unit 34E stores and manages the third key management information 32A in advance. The third key management information 32A is information for managing the shared key.
[0078] Figure 6 is a schematic diagram showing an example of the data structure of the third key management information 32A.
[0079] The third key management information 32A, like the first key management information 12A, is information that associates communication destination identification information, shared key ID, shared key value, and expiration date. Details of the communication destination identification information, shared key ID, shared key value, and expiration date have been described above and will not be explained here. In this embodiment, the third key management information 32A registers the shared key to be shared with the edge device 10.
[0080] Returning to Figure 5, we continue the explanation.
[0081] For example, the key management unit 34E can generate a shared key to be shared with the edge device 10 and send it to the edge device 10 in advance.
[0082] Specifically, for example, the key management unit 34E generates a shared key to be shared with the edge device 10. When generating the shared key, the key management unit 34E sets the shared key ID and expiration date in addition to the shared key value, which is the value of the shared key. In other words, the key management unit 34E generates third key management information 32A. The key management unit 34E encrypts the generated shared key with the public key of the edge device 10 and sends it to the edge device 10. The encrypted shared key sent to the edge device 10 can only be decrypted with the private key of the edge device 10. Therefore, the server device 30 and the edge device 10 can securely share the shared key.
[0083] Furthermore, a shared key to be shared between the edge device 10 and the server device 30 may be pre-configured on each of them by the user through manual operation or other means. The edge device 10 and the server device 30 may also share the shared key using other communication means. Additionally, the edge device 10 and the server device 30 may share the shared key using methods other than those described above.
[0084] The fourth communication unit 34B passes the communication data 40 received from the edge device 10 to the verification unit 34D.
[0085] The verification unit 34D verifies the communication data 40 received from the edge device 10 by the fourth communication unit 34B. Specifically, first, the verification unit 34D determines whether the received communication data 40 is the first communication data 40A or the second communication data 40B.
[0086] If the communication data 40 received from the edge device 10 is the second communication data 40B, the verification unit 34D verifies the second communication data 40B using the public key of the edge device 10. The public key of the edge device 10 is assumed to be managed in advance by the key management unit 34E.
[0087] In other words, the verification unit 34D verifies the origin of the edge data group included in the second communication data 40B, according to the verification result obtained by verifying the digital signature applied to the edge data group included in the second communication data 40B using the public key of the edge device 10.
[0088] In detail, the verification unit 34D uses the public key to verify whether the group of edge data included in the communication data 40 was generated by the edge device 10 corresponding to the public key used for verification. If the verification is successful, the verification unit 34D verifies that the source of the group of edge data included in the communication data 40 is the edge device 10 corresponding to the public key used for verification. If the verification fails, the verification unit 34D verifies that the source of the group of edge data included in the communication data 40 is not the edge device 10 corresponding to the public key used for verification.
[0089] Assume that the communication data received from the edge device 10 is the first communication data 40A, and that the message authentication code contained in the first communication data 40A is generated using the shared key of the server device 30. In this case, the verification unit 34D identifies the shared key corresponding to the communication destination identification information of the edge device 10 from the third key management information 32A. Then, the verification unit 34D verifies the first communication data 40A using the identified shared key. If the verification is successful, the verification unit 34D verifies that the source of the edge data contained in the communication data 40 is the edge device 10 corresponding to the shared key used for verification. If the verification fails, the verification unit 34D verifies that the source of the edge data contained in the communication data 40 is not the edge device 10 corresponding to the shared key used for verification.
[0090] If the verification is successful, the verification unit 34D passes the communication data 40 used for verification to the edge data management unit 34F.
[0091] Assume that the communication data received from the edge device 10 is the first communication data 40A, and that the message authentication code included in the first communication data 40A is generated using the shared key of the service device 20. In this case, the verification unit 34D omits verification. The verification unit 34D then passes the first communication data 40A, which has had verification omitted, to the edge data management unit 34F.
[0092] The edge data management unit 34F manages the communication data 40 received from the edge device 10. In other words, the edge data management unit 34F manages the edge data contained in the communication data 40 received from the edge device 10.
[0093] In this embodiment, the edge data management unit 34F registers the communication data 40 received from the edge device 10 into the edge data management information 32B.
[0094] Figure 7 is a schematic diagram showing an example of the data structure of edge data management information 32B.
[0095] Edge data management information 32B is information that associates the generation time, reception time, edge data, origin verification status, message authentication code, and digital signature.
[0096] The generation time is the generation time of the edge data included in the communication data 40. The reception time is the reception time when the communication data 40 was received by the server device 30. The origin verification status is information indicating whether or not the communication data 40 has been verified by the verification unit 34D. The message authentication code is the message authentication code attached to the edge data included in the communication data 40. The digital signature is the digital signature applied to the group of edge data included in the communication data 40.
[0097] If the verification by the verification unit 34D is successful, the edge data management unit 34F should register information in the "Origin Verified" field indicating that the origin has been verified. If the verification by the verification unit 34D fails, the edge data management unit 34F should register information in the "Origin Verified" field indicating that the origin has not been verified or that verification failed.
[0098] The edge data management unit 34F may generate and manage edge data management information 32B, as shown in Figure 7, for each edge device 10. Furthermore, depending on the verification results, the edge data management information 32B may also be associated with and registered identification information of the edge device 10 that generated the edge data. The identification information of the edge device 10 corresponds to edge identification information.
[0099] Returning to Figure 5, we continue the explanation.
[0100] The edge data management unit 34F provides communication data 40, including edge data, to the service device 20 in accordance with a request from the service device 20. The edge data management unit 34F transmits the communication data 40 to the service device 20 via the fifth communication unit 34C.
[0101] In detail, when the edge data management unit 34F receives a data acquisition request from the service device 20, it transmits communication data 40, which includes the edge data requested by the data acquisition request, to the service device 20.
[0102] Specifically, we assume a case where a message authentication code is attached to the communication data 40, which includes the edge data requested by the data acquisition request. In this case, the edge data management unit 34F transmits the first communication data 40A, which includes the message authentication code and the edge data, to the service device 20.
[0103] Furthermore, we assume a case where the communication data 40, which includes the edge data requested by the data acquisition request, does not have a message authentication code attached, and the group of edge data included in the communication data 40 is digitally signed. In this case, the edge data management unit 34F transmits the second communication data 40B, which is the communication data 40, to the service device 20. That is, the edge data management unit 34F transmits the second communication data 40B, which includes the group of edge data containing the requested edge data and the digital signature applied to the group of edge data, to the service device 20.
[0104] Furthermore, consider the case where the communication data 40, which includes edge data requested by the data acquisition request, does not have a message authentication code attached, and the group of edge data including said edge data is not digitally signed. In this case, the edge data management unit 34F may discard the communication data 40. Alternatively, the edge data management unit 34F may send the communication data 40, which includes edge data that does not have a message authentication code attached and is not digitally signed, to the service device 20.
[0105] The edge data management unit 34F may, in response to a data acquisition request, send only the communication data 40 containing edge data verified by the server device 30 to the service device 20. Alternatively, the edge data management unit 34F may send the communication data 40 to the service device 20 regardless of whether or not it has been verified by the server device 30. Verified edge data is edge data in which information indicating verification success or verification failure is registered in the origin verified field of the edge data management information 32B.
[0106] Furthermore, the edge data management unit 34F may, in response to a data acquisition request, send communication data 40 to the service device 20, which includes edge data to which at least one of a message authentication code and a digital signature has been attached. For example, consider a scenario in which the service device 20 sends a data acquisition request to the server device 30 requesting the provision of edge data with a message authentication code for the generation time "April 15, 2022, 10:00" as shown in the edge data management information 32B in Figure 7. In this case, the edge data management unit 34F of the server device 30 should send first communication data 40A to the service device 20, which includes a message authentication code corresponding to the edge data corresponding to the generation time "April 15, 2022, 10:00" as shown in the edge data management information 32B.
[0107] Furthermore, the edge data management unit 34F may transmit to the service device 20 communication data 40 that includes the edge data requested by the data acquisition request, and also includes information representing the corresponding reception time in the edge data management information 32B.
[0108] The edge data management information 32B may include the reception time, or it may not include the reception time. If the edge data management information 32B includes the reception time, the server device 30 can manage that the edge data corresponding to the time represented by the reception time did indeed exist.
[0109] The fifth communication unit 34C communicates with the service device 20 via the second network NW2. Data is transmitted and received between the fifth communication unit 34C and the communication unit of the service device 20 using a communication protocol such as HTTP or MQTT. This data transmission and reception may be protected by TLS or IPsec.
[0110] The fifth communication unit 34C transmits the communication data 40 provided to the service device 20 from the edge data management unit 34F to the service device 20 via the second network NW2. More specifically, the fifth communication unit 34C receives the communication data 40 sent to the service device 20 from the edge data management unit 34F and transmits it to the service device 20.
[0111] Next, an example of the functional configuration of the service device 20 will be described.
[0112] Figure 8 is a schematic diagram of an example of the functional configuration of the service device 20.
[0113] The service device 20 comprises a storage unit 22 and a control unit 24. The storage unit 22 and the control unit 24 are connected in a manner that allows them to send and receive data or signals.
[0114] The storage unit 22 stores various types of data. In this embodiment, the storage unit 22 stores second key management information 22A and edge data management information 22B. Details of the second key management information 22A and edge data management information 22B will be described later.
[0115] The control unit 24 includes a second communication unit 24A, a shared key generation unit 24B, a shared key transmission unit 24C, a key management unit 24D, a verification unit 24E, and an edge data management unit 24F. The second communication unit 24A, the shared key generation unit 24B, the shared key transmission unit 24C, the key management unit 24D, the verification unit 24E, and the edge data management unit 24F are implemented, for example, by one or more processors.
[0116] The second communication unit 24A communicates with the server device 30 via the second network NW2. The second communication unit 24A sends, for example, a shared key to be shared with the edge device 10 to the server device 30. The second communication unit 24A also receives communication data 40 from the server device 30. Alternatively, the second communication unit 24A may share the shared key by communicating directly with the edge device 10 via the server device 30.
[0117] The shared key generation unit 24B generates a shared key to be shared with the edge device 10. When generating the shared key, the shared key generation unit 24B also sets the shared key ID and expiration date in addition to the shared key value, which is the value of the shared key. In other words, the shared key generation unit 24B generates the second key management information 22A.
[0118] Figure 9 is a schematic diagram showing an example of the data structure of the second key management information 22A. The second key management information 22A is information that associates communication destination identification information, shared key ID, shared key value, and expiration date.
[0119] The key management unit 24D manages the shared keys generated by the shared key generation unit 24B. Specifically, the key management unit 24D stores and manages the second key management information 22A, which contains the shared keys generated by the shared key generation unit 24B, in the storage unit 22. The key management unit 24D manages shared keys for each communication destination. The communication destination of the service device 20 is the edge device 10. Therefore, the device identification information, which is the identification information of the edge device 10, is registered in the second key management information 22A as communication destination identification information. In addition, the key management unit 24D pre-registers and manages the public key of the edge device 10.
[0120] The shared key transmission unit 24C encrypts the shared key generated by the shared key generation unit 24B with the public key of the edge device 10 and transmits it to the server device 30. The third communication unit 34A of the server device 30 transmits the encrypted shared key received from the service device 20 to the edge device 10. The transmission of the encrypted shared key by the shared key transmission unit 24C to the edge device 10 may be via push-type communication to the edge device 10 or pull-type communication from the edge device 10.
[0121] The encrypted shared key sent to the edge device 10 can only be decrypted using the private key of the edge device 10. Therefore, the shared key can be securely shared between the service device 20 and the edge device 10.
[0122] Furthermore, the shared key transmission unit 24C may, if necessary, add a signature and protect the shared key shared with the edge device 10 with the private key of the service device 20. Alternatively, the user may pre-configure the shared key to be shared between the edge device 10 and the service device 20 on each device, such as manually. The edge device 10 and the service device 20 may also share the shared key using other means of communication. Furthermore, the edge device 10 and the service device 20 may share the shared key using methods other than those described above.
[0123] Based on user instructions for operation on the control unit, the second communication unit 24A sends a data acquisition request to the server device 30. The data acquisition request includes identification information for the edge data to be acquired.
[0124] The second communication unit 24A receives communication data 40 from the server device 30 as a response to a data acquisition request. The second communication unit 24A passes the communication data 40 received from the server device 30 to the verification unit 24E.
[0125] The verification unit 24E verifies the communication data 40 received from the server device 30 by the second communication unit 24A. Specifically, first, the verification unit 24E determines whether the received communication data 40 is the first communication data 40A or the second communication data 40B.
[0126] Assume that the communication data 40 received from the server device 30 is edge data to which a message authentication code has been added, i.e., the first communication data 40A. In this case, the verification unit 24E verifies the source of the edge data contained in the first communication data 40A according to the verification result obtained by verifying the message authentication code contained in the first communication data 40A using a shared key shared with the edge device 10.
[0127] In other words, the verification unit 24E uses the shared key to verify whether the edge data contained in the communication data 40 received from the server device 30 was generated by the edge device 10 corresponding to the shared key used for verification. If the verification is successful, the verification unit 24E verifies that the source of the edge data contained in the communication data 40 is the edge device 10 corresponding to the shared key used for verification. If the verification fails, the verification unit 24E verifies that the source of the edge data contained in the communication data 40 is not the edge device 10 corresponding to the shared key used for verification.
[0128] On the other hand, let's assume that the communication data 40 received from the server device 30 is a group of digitally signed edge data, i.e., the second communication data 40B. In this case, the verification unit 24E verifies the second communication data 40B using the public key of the edge device 10.
[0129] In other words, the verification unit 24E verifies the origin of the edge data group included in the second communication data 40B, according to the verification result obtained by verifying the digital signature applied to the edge data group included in the second communication data 40B using the public key of the edge device 10.
[0130] In detail, the verification unit 24E uses the public key to verify whether the group of edge data included in the communication data 40 was generated by the edge device 10 corresponding to the public key used for verification. If the verification is successful, the verification unit 24E verifies that the source of the group of edge data included in the communication data 40 is the edge device 10 corresponding to the public key used for verification. If the verification fails, the verification unit 24E verifies that the source of the group of edge data included in the communication data 40 is not the edge device 10 corresponding to the public key used for verification.
[0131] The verification unit 24E passes the communication data 40 used for verification and the verification results to the edge data management unit 24F.
[0132] The edge data management unit 24F manages the communication data 40 received from the server device 30. In other words, the edge data management unit 24F manages the edge data contained in the communication data 40 received from the server device 30.
[0133] In this embodiment, the edge data management unit 24F registers the communication data 40 received from the server device 30 into the edge data management information 22B. The data structure of the edge data management information 22B is the same as that of the edge data management information 32B (see Figure 7).
[0134] The edge data management unit 24F may register only the communication data 40 that has been successfully verified by the verification unit 24E in the edge data management information 22B. In this case, the edge data management unit 24F only needs to register information indicating that the origin has been verified in the "Origin Verified" field of the edge data management information 22B. The edge data management unit 24F or the verification unit 24E may then discard the communication data 40 that has failed verification.
[0135] Furthermore, the edge data management unit 24F may also register communication data 40 whose verification by the verification unit 24E has failed in the edge data management information 22B. In this case, the edge data management unit 24F only needs to register information indicating that the origin is not verified or that verification has failed in the "Origin Verified" field of the edge data management information 22B.
[0136] Next, an example of the information processing flow performed by the communication system 1 of this embodiment will be described.
[0137] Figure 10 is a flowchart showing an example of the information processing flow performed by the edge device 10.
[0138] Figure 10 illustrates the case where the shared key shared between the edge device 10 and the service device 20 is registered in the first key management information 12A.
[0139] The edge data generation processing unit 14A of the edge device 10 generates edge data (step S100).
[0140] The message authentication code generation unit 14D generates a message authentication code for each communication destination using the shared key registered in the first key management information 12A for the edge data generated in step S100 (step S102). The message authentication code generation unit 14D generates first communication data 40A by adding the message authentication code generated in step S102 to the edge data generated in step 100 (step S104).
[0141] The edge data transmission processing unit 14B determines whether the edge data generated in step S100 satisfies predetermined conditions (step S106). For example, the edge data transmission processing unit 14B determines whether the amount of data of the edge data generated in step S100 is equal to or greater than a first data amount, or whether the retention period of the group of edge data including the edge data generated in step S100 is equal to or greater than a first period. For the retention period of the group of edge data including the edge data generated in step S100, the retention period of the edge data with the longest retention period among the multiple edge data included in the group of edge data may be used.
[0142] If you make a negative judgment in step S106 (Step S106: No), proceed to step S110. If you make an affirmative judgment in step S106 (Step S106: Yes), proceed to step S108.
[0143] In step S108, the digital signature processing unit 14E digitally signs the group of edge data that satisfy the conditions using the secret key of the edge device 10 (step S108). As a result of the processing in step S108, the digital signature processing unit 14E generates the second communication data 40B.
[0144] The first communication unit 14F transmits communication data 40, which includes at least one of the first communication data 40A generated in step S104 and the second communication data 40B generated in step S108, to the server device 30 (step S110). Then, this routine ends.
[0145] Figure 11 is a flowchart showing an example of the information processing flow performed by the server device 30.
[0146] Figure 11 illustrates the case where the shared key shared between the edge device 10 and the server device 30 is registered in the first key management information 12A of the edge device 10 and the third key management information 32A of the server device 30.
[0147] The fourth communication unit 34B receives communication data 40 from the edge device 10 (step S200).
[0148] The verification unit 34D determines whether the communication data 40 received in step S200 is the second communication data 40B (step S202). If the communication data 40 is the second communication data 40B (step S202: Yes), the process proceeds to step S204.
[0149] In step S204, the verification unit 34D verifies the second communication data 40B using the public key of the edge device 10 (step S204). The verification unit 34D uses the public key to verify whether the group of edge data included in the second communication data 40B was generated by the edge device 10 corresponding to the public key used for verification. If the verification is successful, the verification unit 34D verifies that the source of the group of edge data included in the second communication data 40B is the edge device 10 corresponding to the public key used for verification. If the verification fails, the verification unit 34D verifies that the source of the group of edge data included in the second communication data 40B is not the edge device 10 corresponding to the public key used for verification.
[0150] The edge data management unit 34F associates the communication data 40 received in step S200 with the verification result from step S204 and registers it in the edge data management information 32B (step S206). Then, it proceeds to step S214.
[0151] If a negative result is determined in step S202 (step S202: No), the process proceeds to step S208. In step S208, the verification unit 34D determines whether the communication data 40 received in step S200 is the first communication data 40A (step S208). More specifically, the verification unit 34D determines whether the communication data 40 received in step S200 is the first communication data 40A, and whether the message authentication code included in the first communication data 40A is generated using the shared key of the server device 30.
[0152] If the decision in step S208 is affirmative (Step S208: Yes), proceed to step S210.
[0153] In step S210, the verification unit 34D verifies the first communication data 40A, which is the communication data 40 received in step S200, using the shared key registered in the third key management information 32A (step S210). That is, the verification unit 34D verifies the edge data contained in the first communication data 40A using the shared key shared between the edge device 10 and the server device 30. If the verification is successful, the verification unit 34D verifies that the source of the edge data contained in the first communication data 40A is the edge device 10 corresponding to the shared key used for verification. If the verification fails, the verification unit 34D verifies that the source of the group of edge data contained in the first communication data 40A is not the edge device 10 corresponding to the shared key used for verification.
[0154] The edge data management unit 34F associates the communication data 40 received in step S200 with the verification result from step S210 and registers it in the edge data management information 32B (step S212). Then, it proceeds to step S214.
[0155] If a negative result is determined in step S208 (step S208: No), the verification unit 34D omits the verification. The verification unit 34D then passes the communication data 40, for which verification has been omitted, to the edge data management unit 34F and proceeds to step S214.
[0156] In step S214, the edge data management unit 34F determines whether or not it has received a data acquisition request from the service device 20 (step S214). If the determination in step S214 is negative (step S214: No), this routine terminates. If the determination in step S214 is positive (step S214: Yes), the process proceeds to step S216.
[0157] In step S216, the edge data management unit 34F transmits the communication data 40 corresponding to the data acquisition request received in step S214 to the service device 20 via the fifth communication unit 34C (step S216). Then, this routine ends.
[0158] Figure 12 is a flowchart showing an example of the information processing flow performed by the service device 20.
[0159] Figure 12 illustrates the case where the shared key shared between the edge device 10 and the service device 20 is registered in the first key management information 12A of the edge device 10 and the second key management information 22A of the service device 20.
[0160] The second communication unit 24A receives communication data 40 from the server device 30 (step S300).
[0161] The verification unit 24E determines whether the communication data 40 received in step S300 is a group of digitally signed edge data, i.e., the second communication data 40B (step S302). If the communication data 40 is the second communication data 40B (step S302: Yes), the process proceeds to step S304.
[0162] In step S304, the verification unit 24E verifies the second communication data 40B using the public key of the edge device 10 (step S304). The verification unit 24E uses the public key to verify whether the group of edge data included in the second communication data 40B was generated by the edge device 10 corresponding to the public key used for verification. If the verification is successful, the verification unit 24E verifies that the source of the group of edge data included in the second communication data 40B is the edge device 10 corresponding to the public key used for verification. If the verification fails, the verification unit 24E verifies that the source of the group of edge data included in the second communication data 40B is not the edge device 10 corresponding to the public key used for verification.
[0163] The edge data management unit 24F associates the communication data 40 received in step S300 with the verification result from step S304 and registers it in the edge data management information 22B (step S306). Then, it terminates this routine.
[0164] If the determination in step S302 is negative (step S302: No), the process proceeds to step S308. In step S308, the verification unit 24E determines whether the communication data 40 received in step S300 is edge data to which a message authentication code has been added, i.e., the first communication data 40A (step S308).
[0165] If the decision in step S308 is affirmative (Step S308: Yes), proceed to step S310. If the decision in step S308 is negative (Step S308: No), terminate this routine.
[0166] In step S310, the verification unit 24E verifies the first communication data 40A, which is the communication data 40 received in step S300, using the shared key registered in the second key management information 22A (step S310). That is, the verification unit 24E verifies the edge data contained in the first communication data 40A using the shared key shared between the edge device 10 and the service device 20. If the verification is successful, the verification unit 24E verifies that the source of the edge data contained in the first communication data 40A is the edge device 10 corresponding to the shared key used for verification. If the verification fails, the verification unit 24E verifies that the source of the group of edge data contained in the first communication data 40A is not the edge device 10 corresponding to the shared key used for verification.
[0167] The edge data management unit 24F associates the communication data 40 received in step S300 with the verification result from step S310 and registers it in the edge data management information 22B (step S212). Then, it terminates this routine.
[0168] If a negative determination is made in step S308 (step S308: No), the verification unit 24E omits the verification. The verification unit 24E then passes the communication data 40 for which verification has been omitted to the edge data management unit 24F and terminates this routine. The edge data management unit 24F may discard the communication data 40 for which verification has been omitted, which it received from the verification unit 24E, or it may register it in the edge data management information 22B.
[0169] As described above, the communication system 1 of this embodiment comprises an edge device 10 that generates edge data and a service device 20 that utilizes the edge data. The edge device 10 comprises a message authentication code generation unit 14D and a first communication unit 14F. The message authentication code generation unit 14D generates a message authentication code using a shared key shared with the service device 20. The first communication unit 14F transmits first communication data 40A to which the message authentication code has been added. The service device 20 comprises a verification unit 24E. The verification unit 24E verifies the source of the edge data contained in the first communication data 40A according to the verification result obtained by verifying the message authentication code contained in the first communication data 40A using a shared key shared with the edge device.
[0170] Thus, in the communication system 1 of this embodiment, the edge device 10 that provides edge data transmits first communication data 40A, which includes edge data to which a message authentication code generated using a shared key shared with the service device 20 has been attached, to the service device 20. The service device 20 verifies the origin of the edge data according to the verification result obtained by verifying the message authentication code contained in the first communication data 40A using a shared key shared with the edge device 10. For this reason, the communication system 1 of this embodiment can achieve origin verification using a shared key and a message authentication code, which has a low processing load.
[0171] Therefore, the communication system 1 of this embodiment can verify with low processing load whether or not the edge data was generated by the assumed edge device 10.
[0172] Furthermore, in the communication system 1 of this embodiment, the edge device 10 communicates with the service device 20 via the server device 30. Even when the edge device 10 and the service device 20 do not communicate directly but communicate through other devices, the communication system 1 of this embodiment can perform the above verification with low processing load by implementing origin verification using a shared key and a message authentication code.
[0173] Furthermore, the edge device 10 of the communication system 1 in this embodiment may further include a digital signature processing unit 14E. When edge data satisfies predetermined conditions, the digital signature processing unit 14E digitally signs the group of edge data, which is one or more edge data that satisfy the conditions, using the private key of the edge device 10. The verification unit 24E of the service device 20 then verifies the origin of the group of edge data contained in the second communication data 40B, which is contained in the second communication data 40B, according to the verification result obtained by verifying the digital signature applied to the group of edge data contained in the second communication data 40B, which is contained in the public key of the edge device 10. The conditions are, for example, that the amount of data in the edge data is equal to or greater than a first data amount, or that the retention period of the edge data is equal to or greater than a first period.
[0174] In other words, in the communication system 1 of this embodiment, when applying a digital signature, which has a higher processing load compared to using a message authentication code, a digital signature is applied to an edge data group that includes edge data held for a first period or longer, or to an edge data group that is equal to or greater than a first data volume. Then, the verification unit 24E of the service device 20 verifies the origin of the edge data group included in the second communication data 40B according to the verification result obtained by verifying the digital signature applied to the edge data group using the public key of the edge device 10.
[0175] Thus, in the communication system 1 of this embodiment, when applying a digital signature, which has a higher processing load compared to using a message authentication code, the digital signature is applied to a group of edge data that has been consolidated to a certain extent, rather than to the edge data immediately after it is generated. Then, in the communication system 1 of this embodiment, the origin verification is performed using the second communication data 40B, which is the group of edge data to which the digital signature has been applied.
[0176] Therefore, in the communication system 1 of this embodiment, it is possible to verify with low processing load whether or not the edge data was generated by the assumed edge device 10.
[0177] (Variation 1) In the above embodiment, as an example, the edge data management unit 34F of the server device 30 transmits communication data 40, including the edge data requested by the data acquisition request, to the service device 20 when it receives a data acquisition request from the service device 20.
[0178] However, the edge data management unit 34F of the server device 30 may send the communication data 40 to the service device 20 without waiting for a data acquisition request from the service device 20.
[0179] In this case, for example, the edge data management unit 34F of the server device 30 may verify the message authentication code attached to the edge data contained in the communication data 40 received from the edge device 10 and individually forward the communication data 40 containing the edge data to the corresponding service device 20. Alternatively, the edge data management unit 34F of the server device 30 may function as an MQTT (MQ Telemetry Transport) broker and push the communication data 40 received from the edge device 10 directly to the associated service device 20.
[0180] (Modification 2) In the above embodiment, one example described is a configuration in which the shared key generation unit 24B of the service device 20 generates a shared key to be shared with the edge device 10 and transmits it to the edge device 10.
[0181] However, the shared key to be shared between the service device 20 and the edge device 10 may be generated on the edge device 10 side.
[0182] Figure 13 is a schematic diagram of an example of the functional configuration of the edge device 11 in this modified example.
[0183] The edge device 11 comprises a storage unit 12 and a control unit 15. The storage unit 12 and the control unit 15 are connected to each other so as to be able to send and receive data or signals. The edge device 11 has the same configuration as the edge device 10 of the above embodiment, except that it has a control unit 15 instead of a control unit 14.
[0184] The control unit 15 comprises an edge data generation processing unit 14A, an edge data transmission processing unit 14B, a key management unit 14C, a message authentication code generation unit 14D, a digital signature processing unit 14E, a first communication unit 14F, a shared key generation unit 15G, and a shared key transmission unit 15H. The control unit 15 is the same as the control unit 14 in the above embodiment, except that it further comprises a shared key generation unit 15G and a shared key transmission unit 15H.
[0185] The shared key generation unit 15G generates a shared key to be shared with the service device 20. When generating the shared key, the shared key generation unit 15G sets the shared key ID and expiration date in addition to the shared key value, which is the value of the shared key. In other words, the shared key generation unit 15G generates the first key management information 12A (see Figure 3).
[0186] The shared key transmission unit 15H encrypts the shared key generated by the shared key generation unit 15G with the public key of the service device 20 and transmits it to the server device 30. The third communication unit 34A of the server device 30 transmits the encrypted shared key received from the edge device 11 to the service device 20.
[0187] The encrypted shared key sent to the service device 20 can only be decrypted using the service device 20's private key. Therefore, the shared key can be securely shared between the edge device 11 and the service device 20.
[0188] Furthermore, the shared key transmission unit 15H may, if necessary, add a signature and protect the shared key shared with the service device 20 with the private key of the edge device 11.
[0189] Furthermore, the user may be able to manually change the setting to determine whether the shared key is generated on the service device 20 or the edge device 11.
[0190] (Variation 3) In the above embodiment, a configuration in which a service device 20 included in the communication system 1 communicates with the edge device 10 via a server device 30 was described as an example. However, a configuration in which the service device 20 and the edge device 10 communicate directly is also possible.
[0191] Figure 14 is a schematic diagram showing an example of the communication system 1B of this modified example.
[0192] The communication system 1B comprises an edge device 10, a service device 20, and a server device 30.
[0193] In this modified example, the edge device 10 and the server device 30 are connected via a first network NW1. The edge device 10 and the service device 20 are connected via a second network NW2.
[0194] In other words, the edge device 10 connects to the first network NW1 and the second network NW2. The server device 30 connects to the first network NW1. The service device 20 connects to the second network NW2.
[0195] In this case, the server device 30 can perform the same processing as in the above embodiment, except that it does not perform the process of transferring the communication data 40 to the service device 20.
[0196] Furthermore, the communication system 1B may be configured without a server device 30. In the case where the communication system 1B is configured without a server device 30, the edge device 10 may not transmit the second communication data 40B, which is a group of digitally signed edge data.
[0197] Next, an example of the hardware configuration of the edge device 10, edge device 11, service device 20, and server device 30 of the above embodiment and modified examples will be described.
[0198] Figure 15 is a hardware configuration diagram of an example of the edge device 10, edge device 11, service device 20, and server device 30 of the above embodiment and modified examples.
[0199] The edge device 10, edge device 11, service device 20, and server device 30 of the above embodiment and modified examples are equipped with a control device such as a CPU (Central Processing Unit) 90B, a storage device such as a ROM (Read Only Memory) 90C and RAM (Random Access Memory) 90D, an I / F unit 90A which is an interface to various devices, and a bus 90E which connects each unit, and have a hardware configuration that uses a normal computer.
[0200] In the above embodiments and modified versions of the edge device 10, edge device 11, service device 20, and server device 30, each of the above components is realized on a computer by the CPU 90B reading a program from ROM 90C onto RAM 90D and executing it.
[0201] Furthermore, the programs for executing the above-described processes performed by the edge device 10, edge device 11, service device 20, and server device 30 in the above-described embodiment and modified examples may be pre-installed and provided in the ROM 90C.
[0202] Furthermore, the programs for executing the above-mentioned processes performed on the edge device 10, edge device 11, service device 20, and server device 30 of the above embodiments and modifications may be provided as a computer program product by being stored in an installable or executable file format on a computer-readable storage medium such as a CD-ROM, CD-R, memory card, DVD (Digital Versatile Disc), or flexible disk (FD). Alternatively, the programs for executing the above-mentioned processes performed on the edge device 10, edge device 11, service device 20, and server device 30 of the above embodiments and modifications may be stored on a computer connected to a network such as the Internet and provided by allowing download via the network. Furthermore, the programs for executing the above-mentioned processes performed on the edge device 10, edge device 11, service device 20, and server device 30 of the above embodiments and modifications may be provided or distributed via a network such as the Internet.
[0203] Although embodiments and modifications of the present invention have been described above, these embodiments and modifications are presented as examples only and are not intended to limit the scope of the invention. These novel embodiments and modifications can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and modifications are included in the scope and spirit of the invention, as well as in the claims of the invention and its equivalents. [Explanation of Symbols]
[0204] 1. 1B Communication System 14D Message Authentication Code Generation Unit 14E Digital Signature Processing Unit 14F 1st Communications Department 15G shared key generation section 15H Shared key transmitter 10, 11 Edge devices 20 サービス device 24A 2nd Communications Department 24B Common Bond Generation Unit 24C Common Key Transmission Department 24E Verification Department 30 サーバ device 34A 3rd Communications Department
Claims
1. Edge devices that generate edge data, A service device that utilizes the aforementioned edge data, A communication system equipped with, The edge device is The service device communicates with the service device via a server device, rather than communicating directly with the service device. A message authentication code generation unit generates a message authentication code using a shared key shared with the service device, A first communication unit transmits first communication data, which is communication data to which the message authentication code has been added to the edge data. If the aforementioned edge data satisfies predetermined conditions, a digital signature processing unit digitally signs the group of edge data, which is one or more of the aforementioned edge data that satisfy the conditions, using the private key of the edge device. Equipped with, The service device is A verification unit verifies the source of the edge data included in the first communication data, based on the verification result obtained by verifying the message authentication code included in the first communication data using a shared key shared with the edge device, Equipped with, The first communication unit of the edge device is At least one of the first communication data and the second communication data, which is the group of edge data to which the digital signature has been applied, is transmitted as the communication data. The aforementioned conditions are, This indicates that the amount of data in the edge data is equal to or greater than the first data amount, or that the retention period of the edge data is equal to or greater than the first period. Communication system.
2. The first data amount is, The expected data volume of one edge data, the average value of the expected data volumes of the edge data, or the maximum value of the expected data volumes of the edge data. The communication system according to claim 1.
3. The first period is, This period exceeds the period required to retain a data volume that exceeds the expected data volume of one edge data, the average value of the expected data volumes of the edge data, or the maximum value of the expected data volumes of the edge data. The communication system according to claim 1.
4. The verification unit, The origin of the edge data group included in the second communication data is verified according to the verification result obtained by verifying the digital signature applied to the edge data group included in the second communication data using the public key of the edge device. The communication system according to claim 1.
5. The edge device is First key management information is pre-stored, which associates service identification information that identifies the service device with a shared key shared with the service device identified by the service identification information. The service device is Second key management information, which associates edge identification information that identifies the edge device with a shared key shared with the edge device, is stored in advance. The communication system according to claim 1.
6. The message authentication code generation unit, Using each of the one or more shared keys registered in the first key management information, a message authentication code is generated for each of the service devices identified by each of the service identification information corresponding to the shared key. The communication system according to claim 5.
7. The service device is A shared key generation unit that generates a shared key to be shared with the edge device, A shared key transmission unit that encrypts the generated shared key with the public key of the edge device and transmits it, The communication system according to claim 1, comprising:
8. The edge device is A shared key generation unit that generates a shared key to be shared with the aforementioned service device, A shared key transmission unit that encrypts the generated shared key with the public key of the service device and transmits it, The communication system according to claim 1, comprising:
9. The edge device further comprises the server device connected to the edge device via a first network, The service device is connected to the server device via a second network. The server device is The system includes a third communication unit that transmits the communication data received from the edge device to the service device. The communication system according to claim 1.
10. The server device is The system includes an edge data management unit that, upon receiving a data acquisition request from the service device, transmits the communication data, including the edge data requested by the data acquisition request, to the service device. The communication system according to claim 9.
11. The edge data management unit of the server device is If the communication data, which includes the edge data requested by the data acquisition request, is accompanied by the message authentication code, the first communication data, which includes the message authentication code and the edge data, is transmitted to the service device. If the communication data, which includes the edge data requested by the data acquisition request, does not have the message authentication code attached, and the group of edge data, which includes the edge data, has the digital signature attached, then the second communication data, which is the communication data, is transmitted to the service device. The communication system according to claim 10.
12. An information processing device that communicates with the service device via a server device without directly communicating with the service device and generates edge data, A message authentication code generation unit generates a message authentication code using a shared key shared with the service device that utilizes the edge data, A first communication unit transmits first communication data, which is communication data to which the message authentication code has been added to the edge data. If the aforementioned edge data satisfies predetermined conditions, a digital signature processing unit applies a digital signature to the group of edge data, which is a group of one or more of the aforementioned edge data that satisfies the conditions, using the private key of the information processing device. Equipped with, The aforementioned first communications unit is, At least one of the first communication data and the second communication data, which is the group of edge data to which the digital signature has been applied, is transmitted as the communication data. The aforementioned conditions are, This indicates that the amount of data in the edge data is equal to or greater than the first data amount, or that the retention period of the edge data is equal to or greater than the first period. Information processing device.
13. An information processing device that does not communicate directly with the service device but communicates with the service device via a server device to generate edge data, and an information processing method executed on the information processing device, A generation step of generating a message authentication code using a shared key shared with the service device that utilizes the edge data, A first communication step involves transmitting first communication data, which is communication data to which the message authentication code has been added to the edge data. If the aforementioned edge data satisfies predetermined conditions, a digital signature step is performed on the group of edge data, which is a group of one or more of the aforementioned edge data that satisfies the conditions, using the private key of the information processing device. Includes, The first communication step is, At least one of the first communication data and the second communication data, which is the group of edge data to which the digital signature has been applied, is transmitted as the communication data. The aforementioned conditions are, This indicates that the amount of data in the edge data is equal to or greater than the first data amount, or that the retention period of the edge data is equal to or greater than the first period. Information processing methods.
14. An information processing program executed on a computer that does not communicate directly with the service device but communicates with the service device via a server device and generates edge data, A generation step of generating a message authentication code using a shared key shared with the service device that utilizes the edge data, A first communication step involves transmitting first communication data, which is communication data to which the message authentication code has been added to the edge data. If the aforementioned edge data satisfies predetermined conditions, a digital signature step is performed on the group of edge data, which is one or more of the aforementioned edge data that satisfy the conditions, using the private key of the computer. Includes, The first communication step is, At least one of the first communication data and the second communication data, which is the group of edge data to which the digital signature has been applied, is transmitted as the communication data. The aforementioned conditions are, This indicates that the amount of data in the edge data is equal to or greater than the first data amount, or that the retention period of the edge data is equal to or greater than the first period. Information processing program.
Citation Information
Patent Citations
Packet transfer method, packet processor, packet ciphering method, packet decoding method and packet ciphering processing method
JP1997214556A
Communication data novelty check system and communication terminal
JP2011066703A
Secret information notification system, secret information notification method, and program
JP2013211748A
Information processing apparatus, information processing system, and information processing method
JP2018186486A
Computer program, device, and suppression method
JP2019061538A