WO2018101488A1 - セキュアネットワーク通信方法 - Google Patents

セキュアネットワーク通信方法 Download PDF

Info

Publication number
WO2018101488A1
WO2018101488A1 PCT/JP2017/043897 JP2017043897W WO2018101488A1 WO 2018101488 A1 WO2018101488 A1 WO 2018101488A1 JP 2017043897 W JP2017043897 W JP 2017043897W WO 2018101488 A1 WO2018101488 A1 WO 2018101488A1
Authority
WO
WIPO (PCT)
Prior art keywords
authenticator
endpoint
random number
gateway
key
Prior art date
Application number
PCT/JP2017/043897
Other languages
English (en)
French (fr)
Inventor
邦彦 余語
弘之 牧
Original Assignee
邦彦 余語
セーフリンク イノベーション インク
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 邦彦 余語, セーフリンク イノベーション インク filed Critical 邦彦 余語
Priority to US16/465,102 priority Critical patent/US10999073B2/en
Publication of WO2018101488A1 publication Critical patent/WO2018101488A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Definitions

  • the present invention relates to a secure network communication method, in particular, a device that captures data at a data generation source is registered and managed in a white list, and a record of authentication at startup is managed in a life cycle by timeline management.
  • the present invention relates to a secure network communication method capable of performing cryptographic communication from a generation source to a database entrance.
  • the source of big data data is captured from a device such as a sensor.
  • a plurality of communication means, gateways, routers, file systems, and the like are used between the data generation source and the collected database.
  • wireless local area networks such as ZigBee (registered trademark), Bluetooth (registered trademark), and WiFi (registered trademark) and Internet communication by TCP is different.
  • a gateway that combines communication methods and security technology is required.
  • Patent Document 1 discloses a technique in which a first device and a second device share a common encryption key via a relay device. However, regarding authentication of a device that captures data at a data generation source. There is no description. Patent Document 2 proposes a network in which an encryption key used by a node in an ad hoc network is common to each gateway and a new key is generated at the gateway when exchange is necessary. Management is not easy, such as connecting to and obtaining from the management server. It is desirable to provide a system that can perform secure communication even with devices that capture data, such as sensors that cannot be expected to incorporate high-performance LSIs or implement high-functionality.
  • the present invention has been made in view of the above problems in the conventional secure network communication method, and an object of the present invention is to provide a network that has a unique asymmetric authenticator as a device that captures data at a data generation source.
  • the endpoint is authenticated and registered in the whitelist in advance, the endpoint is authenticated at startup, the authentication record is managed in the lifecycle by timeline management, and the communication from the data source to the database entrance
  • a secure network communication method includes an endpoint connected by a first network, a relay gateway, and an application gateway connected by the relay gateway and a second network.
  • a secure network communication method wherein an application gateway generates first and second asymmetric authenticators that are asymmetric to each other based on a unique individual identifier and an authentication password for each endpoint, and the second authenticator is whitelisted.
  • the first authenticator stores the endpoint initialization stage stored at the endpoint
  • the relay gateway first encrypts the first identifier encrypted with the individual identifier from the endpoint Receives data including the calculated value obtained from the child If the validity of the first authenticator is determined and if it is determined to be valid, the first and second asymmetric authenticators are generated and transmitted using the random number generated by the relay gateway, and the application
  • the gateway updates the whitelist second authenticator, adds a timeline log, and the endpoint updates the first authenticator and stores the authentication stage at initialization of the endpoint, and the relay gateway
  • the first random number generated by the endpoint and the third random number generated by the application gateway are received, and a part of the encryption key is generated from the second random number and the first random number generated by the relay gateway to the application gateway.
  • a common key arrangement stage in which a secret key is generated from a part of the encryption key and a third random number and stored in a white list, and the endpoint generates and stores a secret key from the other part of the encryption key and the first random number. It is characterized by having.
  • the relay gateway receives data including an individual identifier and an operation value obtained from the latest encrypted first authenticator from the endpoint, determines the validity of the latest first authenticator, If it is determined, the random number newly generated at the relay gateway is used to generate and transmit a new first and second asymmetric authenticators, and the application gateway updates the second authenticator in the white list.
  • the timeline log is preferably added, and the endpoint preferably further includes an occasional authentication step of updating and storing the first authenticator.
  • the application gateway generates a new encryption key for the next communication using a random number newly generated at each of the endpoint, the relay gateway, and the application gateway, and transmits it to the endpoint. It is preferable to further have an occasional key exchange stage in which each renews the encryption key.
  • the second authenticator at the initialization stage of the endpoint is an XOR operation value of the hash value of the individual identifier and the hash value of the authentication password, and the first authenticator is preset with the second authenticator. It is preferable that the data is encoded with a master key which is a key for authentication.
  • the calculated value obtained from the encrypted first authenticator is a hash value of the encrypted first authenticator
  • data received from the endpoint Further includes a hash value of a random number generated by the endpoint
  • the validity of the first authenticator is determined by decoding the second authenticator extracted from the whitelist corresponding to the individual identifier with the master key. It is preferable to compare the calculated hash value of the received result with the hash value of the received encrypted first authenticator and the hash value of the received random number.
  • the new second authenticator in the authentication stage at the time of initialization of the endpoint is an XOR operation between the random number generated in the relay gateway and the second authenticator extracted from the white list corresponding to the individual identifier
  • the new first authenticator is a value obtained by encoding the new second authenticator with a master key.
  • the part of the encryption key in the common key arrangement stage is an XOR operation value of the first random number and the second random number
  • the other part of the encryption key includes the second random number and the third random number. It is preferable that the encryption key generated by the application gateway and the encryption key generated by the endpoint are all XOR operation values of the first random number, the second random number, and the third random number.
  • the method further includes transmitting a payload including data generated or obtained by the endpoint to the application gateway via the relay gateway, the payload including an individual identifier, a function ID indicating a function, an encryption key, and a data It consists of four frames, and the data frame of the payload stores a value obtained by encoding the transmitted data with the latest encryption key, and the transmitted data is decoded by the application gateway with the latest encryption key. Is preferably decrypted.
  • the first network is a wireless local network
  • the second network is a TCP internet.
  • the timeline log is recorded by storing a value obtained by encoding an individual identifier, a time stamp, and a second authenticator with a hash value of an authentication password in a memory for timeline log recording.
  • the addition is performed by adding an individual identifier, a new time stamp, and a value obtained by encoding the latest second authenticator with the hash value of the authentication password to the timeline log recording memory, and storing the first identifier.
  • the initial value of the authenticator is obtained by sequentially decoding the second authenticator by using a value obtained by encoding the second authenticator recorded in the timeline log with the hash value of the authentication password, thereby sequentially updating the second authenticator.
  • the initial value of the second authenticator obtained at the end is decoded by the master key and is obtained.
  • the endpoint authenticator is updated with a random number newly generated by another device independent of the endpoint and the application gateway at both ends of the communication. Since the endpoint and application gateway are stored differently, and the update history can be traced back to the initial state by the timeline, it provides a communication environment in which it is extremely difficult for a third party to interrupt communication by impersonating from the middle. be able to. Further, according to the secure network communication method of the present invention, since the endpoint is managed by the white list, there is no need to worry about the list contents increasing every time as in the black list management, and the management load of the application gateway is unnecessary. There is no risk of increase.
  • FIG. 2 is a diagram schematically illustrating a data link between a network element to which a secure network communication method according to an embodiment of the present invention is applied. It is a figure which shows the function structure by the end point by the embodiment of this invention, a relay gateway, and an application gateway. It is a figure which shows the structural example of the application relevant to the gateway by embodiment of this invention. It is a figure which shows the method of the initialization of the endpoint in the secure network communication method by embodiment of this invention. It is a figure which shows the authentication method at the time of initialization of the endpoint in the secure network communication method by embodiment of this invention. It is a figure which shows the authentication method at the time of the end point attest in the secure network communication method by embodiment of this invention.
  • FIG. 1 is a diagram schematically illustrating the association between network components and data to which a secure network communication method according to an embodiment of the present invention is applied.
  • the endpoint 10 includes an endpoint 10, a relay gateway 20, and an application gateway 30 as components of the secure network.
  • the endpoint 10 may be various sensors that detect temperature, pressure, and the like, or a terminal device that collects these sensors, and may be a handy terminal operated by a person or a portable device such as a smartphone.
  • the end point is a general term for devices that capture data at a data generation source, and represents a device that is a starting point of data transmission.
  • the endpoint 10 includes an endpoint API 11 that is an interface for executing authentication code management and encryption / decryption in secure communication.
  • the application gateway 30 plays a role of receiving various data from the endpoint and finally passing the data to the associate application that processes the data.
  • the associate application refers to related information using data such as software that provides temperature distribution in a specific area based on data supplemented at the endpoint or predicts temperature change from time series change. Practical software that generates and provides
  • the application gateway 30 includes an application API 31 that is an interface for executing data transfer, encryption / decryption, random number generation, and the like.
  • the application API 31 also performs management of a white list created for network monitoring and endpoint management. Further, the application API 31 leaves a history of update of an authenticator used for authentication at the time of communication, and also performs timeline management for detecting unauthorized access and inquiring log information.
  • Information managed by the application API 31 is stored in the network information management memory 33.
  • the associate application to which data is finally delivered via the application API 31 is stored in the associate application DB 32.
  • the application gateway 30, the application API 31, the network information management memory 33, and the associate application DB 32 may be embodied as one data center, and the network information management memory 33 and the associate application DB 32 are external memories directly connected to the application gateway 30. It may be configured as.
  • the relay gateway 20 receives data from the endpoint 10 and delivers the data to the application gateway 30.
  • the endpoint 10 and the relay gateway 20 are connected by a PAN (Personal Area Network) 40.
  • PAN Personal Area Network
  • the relay gateway 20 and the application gateway 30 are connected via the Internet 50.
  • a communication environment based on cryptographic communication such as SSL / TSL is already in place, and in this specification, the relay gateway 20 and the application gateway 30 are also secured by such existing communication technology. Description on the safety of the Internet 50 is omitted on the assumption that secure communication is ensured.
  • the data supplemented by the endpoint is used for performing a predetermined process, and is linked to a function including the meaning of what function and what process the data is performed.
  • the function is a function before the start point and ahead of the end point for performing data linkage communication.
  • the endpoint 10 can handle the data to be transmitted in cooperation with a function ID representing the function of the data.
  • a function is a unit of logical data linkage between the endpoint API 11 and the application API 31, and can be handled as a process of an independent unit in each of the endpoint API 11 and the application API 31.
  • a function on the end point 10 side is a unit for digitizing and transmitting data generated from a sensor or the like, and the end point API 11 has a function of transmitting the data with a function ID.
  • a function on the application API 31 side has a function of receiving data together with a function ID and dynamically connecting a DLL (Dynamic Link Library) associated with the function ID in order to store data from a sensor or the like in a database.
  • DLL Dynamic Link Library
  • the application gateway is asymmetrical with each other based on the unique identifier and authentication password unique to each endpoint in the initialization stage of the endpoint.
  • An authenticator is generated, the second authenticator is stored and managed in a white list, the first authenticator is stored at the endpoint, and a new random number is used every time the endpoint is authenticated.
  • Asymmetric authenticators are generated and the white list is updated, and the uniqueness of the authenticators is managed in time series by recording them in the timeline log.
  • endpoints For data transmission, endpoints, relay gateways, application gateways
  • FIG. 2 is a diagram showing a functional configuration of an endpoint, a relay gateway, and an application gateway according to the embodiment of the present invention.
  • FIG. 2 shows data communication functions and contents of each component.
  • the application gateway has communication, session management, application management, API, and function functions.
  • Session management is a function for performing communication session management of communication for receiving data from an endpoint via a relay gateway.
  • Application management is a function for relaying received data to a destination application.
  • the API decrypts the received data, refers to the function ID added to the data, connects the DLL associated with the function ID, and delivers the data to the associated associate application. Since such data exchange is performed for each function, as shown in FIG. 2, the function has a plurality of functions (function 1, function 2,...) According to the number of functions.
  • the relay gateway has functions of communication for the Internet communication on the application gateway side across the data BUS, communication for security management and communication by the PAN on the endpoint side, session management, and security management.
  • the communication on the end point side manages communication complying with each standard according to a wireless communication method (ZigBee, Bluetooth, WiFi, etc.).
  • the security management has an endpoint authentication function for endpoint side security management. It also has a function of generating random numbers for generating and exchanging encryption keys for data transmission and reception.
  • the endpoint has functions of communication with the relay gateway, communication management, API, and function.
  • the end point is a starting point of data transmission, and the API has a function of encrypting data supplemented from such a data source. It also has a function of generating a cipher necessary for generating and updating an encryption key used for the next communication, and a function of decrypting a part of the encrypted encryption key transmitted from the application gateway.
  • the data handled at the end point is accompanied by a function. When there are a plurality of functions, the data has a plurality of functions (function 1, function 2,...) According to the number.
  • the above functions of the API can be set for each function, and the function at the end point and the function of the application gateway can be associated with each other one-to-one. Therefore, data linkage can be performed for each function ID. .
  • FIG. 3 is a diagram illustrating a configuration example of an application related to the gateway according to the embodiment of the present invention.
  • the application gateway 30 activates a main thread to perform connection reception processing, and starts an application that functions as a TCP / IP data receiving server (step S310).
  • a listener In the case of a listener, a listener socket is created, and the socket can be set so that a TCP port is designated and a TCP connection is processed for an IP address.
  • one transmission / reception processing thread is activated to read data (step S320).
  • data linkage management which is a DLL associated with the function ID added to the data.
  • a related method is called from the dynamic load or function ID of the DLL (step S330).
  • the DLL is a library used for data linkage management, and is used for processes such as management monitor screen control, whitelist management, function linkage, encryption / decryption, and the like.
  • Security-related information such as the white list, timeline log, and endpoint status processed by the DLL is stored in the network information management memory, and is read from the network information management memory or written to the network information management memory according to the processing contents. So that the latest information is saved.
  • Data received from the endpoint is assigned to a procedure (function) described in a method called from the function ID, and finally obtained data is stored in a corresponding database of the associate application DB.
  • FIG. 4 is a diagram illustrating an endpoint initialization method in a secure network communication method according to an embodiment of the present invention.
  • the first asymmetric authenticator used for authentication at the time of initialization of the endpoint is issued at the application gateway, that is, the initial value (C 0 , A 0 ) of the authenticator is issued and whitelisted. It is a process to store in.
  • the application gateway generates first and second asymmetric authenticators that are asymmetric to each other based on a unique individual identifier and authentication password for each endpoint, and the second authenticator is stored and managed in a white list.
  • the first authenticator is stored at the endpoint.
  • an EPID that is an individual identifier unique to each endpoint and an authentication password for permitting authentication of the EPID are input.
  • the individual identifier EPID is preferably an identifier that is native to the endpoint and represents uniqueness. For example, an IEEE 802 address can be used.
  • the authentication password is preferably unique to each EPID, and is set in advance so as not to overlap with authentication passwords of other endpoints.
  • the application gateway performs the following processing using the application API.
  • the authentication password is also used after being converted into a form that cannot be estimated by passing the hash function.
  • the digest values generated by the hash functions of the individual identifier EPID and the authentication password have the same length, for example, 128 bits.
  • the endpoint management table is a table created and managed in the network information management memory.
  • the initial value C 0 of the second authenticator is encoded with a master key that is a key for authentication predetermined in the network system, and as a result, the initial value A 0 of the first authenticator is obtained. It is done.
  • the initial value A 0 of the first authenticator is output and stored in the endpoint memory.
  • a memory such as an EEPROM or SIM that does not lose data even when the power is turned off is used.
  • the initial value of the authenticator of the endpoint is saved without being lost, so if the power is turned off unintentionally, the authentication at the time of initialization of the endpoint can be performed if the power is turned on again. It can be performed.
  • Y Encode (X, PW) (1)
  • X Decode (Y, PW) (2)
  • PW is a function that satisfies the relationship of passwords, and is a function that returns the result of encoding with a password to the original value when decoding with the same password.
  • the initial value A 0 of the authenticator that is asymmetric with the original value C 0 is generated by performing the encoding process using the master key as a password.
  • the initial value A 0 of the first authenticator is stored at the endpoint, and the initial value C 0 of the second authenticator is the application gateway. Saved in.
  • the authentication password itself should not be left in the application gateway database.
  • the security of network communication can be improved by changing the shape of related information or storing it separately.
  • FIG. 5 is a diagram showing an authentication method at the time of initialization of an endpoint in the secure network communication method according to the embodiment of the present invention, and a flow of authentication when a new endpoint is added below the relay gateway FIG.
  • the relay gateway receives the data including the individual identifier and the calculated value obtained from the encrypted first authenticator from the endpoint, determines the validity of the first authenticator, and determines that it is valid.
  • the random number generated at the relay gateway is used to generate and transmit the new asymmetric first and second authenticators, and the application gateway updates the second authenticator in the white list, and the timeline A log is added and the first authenticator is updated and saved at the endpoint.
  • the initialization stage of the endpoint described in FIG. 4 has been completed, the initial value A 0 of the first authenticator is stored in the nonvolatile memory of the endpoint, and the endpoint management table of the application gateway is stored in the endpoint management table.
  • An EPID that is a unique individual identifier of the endpoint and an initial value C 0 of the second authenticator are stored. Therefore, CurrentA representing the current authenticator in the process of the endpoint is the initial value A 0, the end point management table currentC representing the current authenticator is the initial value C 0.
  • communication is performed between the three components of the endpoint, the relay gateway, and the application gateway. However, the communication between the relay gateway and the application gateway is based on the assumption that encryption communication is established over the Internet. To do.
  • a pseudo-random number generator may be used to generate this random number.
  • the payload (D1) of data transmitted from the endpoint to the relay gateway at the authentication stage at the time of initialization of the endpoint is configured by an authenticator (A) and a hash (H).
  • the endpoint using the random number X 0 produced above performs an XOR operation between the hash value and the random number X 0 of the initial value A 0 of the first authenticator and the results of the payload value authenticator (A) Assign to (D1.A).
  • Hikiateru to value (D1.H) of hash of the payload determine the hash value of the random number X 0 (H).
  • the endpoint sends an attest request by transmitting the payload (D1) together with the individual identifier EPID to the relay gateway.
  • the relay gateway when receiving the payload (D1) separate authenticator EPID, based on the EPID, obtains an initial value C 0 of the master key and the second authenticator from the application gateway, the initial second authenticator A hash value obtained as a result of encoding the value C 0 with the master key is calculated (calculated value 1; temp1), and the value D1. An XOR operation of A and operation value 1 is performed to obtain operation value 2; temp2.
  • the initial value C 0 of the second authenticator is encoded by the master key in the same manner as the process of obtaining the initial value A 0 of the first authenticator described with reference to FIG. corresponds to the hash value of the initial value a 0 of the first authenticator. Therefore, the calculated value 2 is obtained by XORing the hash value of the initial value A 0 of the first authenticator and the hash value of the initial value A 0 of the first authenticator on the XOR result of the hash value of the initial value A 0 of the first authenticator and the random number X 0. I mean, unless current authenticator a 0 has not been tampered endpoints, becomes equal to consequently random numbers X 0.
  • the relay gateway further obtains a hash value of the calculated value 2 (calculated value 3; temp3), and the hash value H1 of the payload received from the end point D1.
  • An attest is performed by comparing H with the calculated value 3. This value is a hash value of the random number X 0 if the current authenticator A 0 of the endpoint has not been tampered with, so the attest is successful, but if tampering has been performed, the computed value 2 becomes the random number X The attest is unsuccessful because it is no longer equal to zero .
  • the relay gateway When the attest is successful, the relay gateway generates a new random number Y 0 , performs an XOR operation between the random number Y 0 and the initial value C 0 of the second authenticator, and generates a new second authenticator C 1 . . Further, to generate the authenticator A 1 new first performs an encoding process a new second authentication code C 1 in the master key. Random number Y 0 is generated in the relay gateway is created by non-deterministic type random number generator. Thus the random number Y 0 is unpredictable values.
  • Relay gateway finally transmits the new second authenticator C 1 to the application gateway, the first authenticator A 1 new After performing a calculation value 1 and the XOR operation described above will be sent to the endpoint .
  • Such authenticator A 1 new first by the can be prevented from being exposed intact to the communication path.
  • the current C that represents the current authenticator of the endpoint management table is changed from the initial value C 0 to the new second authenticator C as white list management. Update to 1 .
  • the application gateway encodes the initial value C 0 of the second authenticator with the second authenticator C 1 and uses the result as the initial value T 0 of the timeline ID together with the individual identifier EPID and the time stamp. Record in the timeline log.
  • the endpoint that has received the XOR operation result of the new first authenticator A 1 and the calculated value 1 from the relay gateway receives the received value and the initial value A 0 of the first authenticator stored by the endpoint.
  • XOR operation with the hash value is performed. Since the calculation value 1 corresponds to the result of obtaining the hash value of the initial value A 0 of the first authenticator as described above, this calculation result is nothing but finding a new first authenticator A 1 .
  • the first authenticator A 1 new obtained updates the initial value A 0 recorded in currentA representing the current authenticator.
  • FIG. 6 is a diagram showing an authentication method at the time of endpoint attest in the secure network communication method according to the embodiment of the present invention.
  • the attest here is when the endpoint is rebooted or irregularly, and shows the flow of authentication at that time.
  • the relay gateway receives data including an individual identifier and an operation value obtained from the latest encrypted first authenticator from the endpoint, determines the validity of the latest first authenticator, If it is determined to be valid, a new asymmetric first and second authenticators are generated and transmitted using the newly generated random number at the relay gateway, and the second authenticator in the white list is transmitted at the application gateway. Update, add timeline log, and update and save the first authenticator at the endpoint.
  • the natural number n is used as a subscript. That is, as a premise of authentication at the time of attestation, the latest first authenticator An is recorded in currentA representing the current authenticator at the endpoint, and currentC representing the current authenticator is recorded in the endpoint management table. the latest second authenticator C n are recorded. Each time the authenticator is updated in the timeline log, the individual identifier EPID, the time stamp, and the timeline ID are added and recorded, and the latest second time is recorded in the timeline log recorded last. T n-1 is recorded is the authenticator C n timeline ID of the second authenticator C n-1 before the updating was determined by performing an encoding process with the latest second authenticator C n of .
  • the endpoint When attested is required, the endpoint generates a new random number X n, the XOR operation value of the hash value and the random number X n of the current first authenticator A n payloads (D1) D1. A and the hash value of the random number Xn is assigned to D1. Assigned to H and sent to the relay gateway together with the individual identifier EPID to make an attest request.
  • the configuration of the payload (D1) is not different from the case of authentication at the time of initialization.
  • the relay gateway obtains the master key and the current second authenticator C n and obtains the calculated values 1 to 3 in the same manner as described with reference to FIG. Attestation is performed using the value of H and the calculated value of 3.
  • the relay gateway When attested is successful, the relay gateway generates a new random number Y n, to generate a second authenticator C n + 1 new by XOR operation of the random number Y n and the second authenticator C n. Further, the new second authenticator C n + 1 is encoded with the master key to generate a new first authenticator A n + 1 .
  • the application gateway receives a new second authenticator C n + 1, to update the current authenticator C n of the end point management table second new to authenticator C n + 1. Further, the current authenticator C n is encoded with the new second authenticator C n + 1 , and this result is recorded in the time line log together with the individual identifier EPID and time stamp as a new time line ID T n. .
  • the endpoint receives the authenticator A n + 1 new first converted to the XOR operation value of the calculated value 1 in the relay gateway, an XOR operation between the current hash value of the first authenticator A n Thus, a new first authenticator An + 1 is taken out and the current first authenticator is updated. Even in the authentication at the time of the attestation, since the authenticator encrypted by the hash function is transmitted / received in the communication between the endpoint and the relay gateway, the original authenticator is not exposed.
  • FIG. 7 is a diagram illustrating a timeline management method according to an embodiment of the present invention. As described in FIG. 5 and FIG. 6, every time authentication is successful at the relay gateway, a new authenticator is generated, and the authenticator in the endpoint management table is updated accordingly, and a record is added to the timeline log. .
  • the second authenticator stored in the endpoint management table is only the current value of the second authenticator associated with the individual identifier EPID of the endpoint, and the second authenticator before the update does not remain.
  • the timeline ID is a value obtained by encoding the second authenticator before update with a new second authenticator.
  • T n-1 Encode (When decoding is performed with the second authenticator C n stored in the C n ⁇ 1 and C n tables, the second authenticator C n ⁇ 1 before update can be obtained.
  • T n ⁇ 2 which is the previous timeline ID
  • the previous second authenticator C n ⁇ 2 can be obtained.
  • the initial value C 0 of the second authenticator can be obtained by going back sequentially. (If the initial value C 0 of the second authenticator is obtained, this value is encoded with the master key) (3) It is represented by As a result of this update, a new second authenticator C n is stored in the endpoint management table, and T n ⁇ 1 that is the timeline ID at the time of update is recorded at the end of the timeline log.
  • the function used for the encoding process is a function having a property of returning to the original when the decoding process is performed using the same value as represented by the above-described equations (1) and (2). Therefore, the initial value A 0 of the first authenticator can be obtained by performing the endpoint management processing on the timeline ID T n ⁇ 1, and the first stored in the nonvolatile memory of the endpoint as necessary. by matching the initial value a 0 of the authenticator can validate the endpoint.
  • FIG. 8 is a diagram showing a common key arrangement method at the end and end via the relay gateway according to the embodiment of the present invention, and the data linkage start point and end point, that is, data between the end point and the application gateway. It is a figure which shows the method of arrangement
  • the relay gateway receives the first random number generated by the endpoint and the third random number generated by the application gateway, and uses the second random number and the first random number generated by the relay gateway to determine one of the encryption keys. Is generated and transmitted to the application gateway, and another part of the encryption key is generated from the second random number and the third random number and transmitted to the endpoint.
  • the encryption key is generated from the random number and stored in the white list, and the endpoint generates and stores the encryption key from the other part of the encryption key and the first random number.
  • That current first authenticator endpoint is A 1
  • the current second authenticator recorded to the end point management table is C 1.
  • the configuration of the payload (D1) of the data transmitted from the end point at the common key arrangement stage includes an identifier EPID and a key KEY.
  • the individual identifier EPID of the endpoint is set to the payload identifier value D1.
  • the XOR operation result of the generated random number x 1 and the current first authenticator A 1 is assigned to the EPID and the payload key value D 1. Allocate to KEY and send to relay gateway.
  • the relay gateway extracts the individual identifier EPID and transmits it to the application gateway.
  • the application gateway extracts the second authenticator C 1 of the current corresponding to the individual identifier EPID from the end point management table, and generates a portion z 1 of the common key performs newly generated random number and XOR operations. A part z 1 of the common key is transmitted to the relay gateway together with the master key and the current second authenticator C 1 .
  • the relay gateway obtaining a first authenticator A 1 of the current corresponding to the second authenticator C 1 of the current received to the second authenticator C 1 encoding processing of the current master key. Subsequently, the payload key value D1. An XOR operation of KEY and the current first authenticator A 1 obtained here is performed. D1. Since KEY is the result of XOR operation between the random number x 1 and the current first authenticator A 1 , the random number x 1 can be extracted by this operation.
  • the relay gateway generates a new random number y 1. Now all three random numbers x 1 , y 1 , and z 1 that are constituent elements of the encryption key are aligned, but the relay gateway generates part of two different encryption keys without completing the encryption key. One is sent to the application gateway and the other is sent to the endpoint. In the embodiment, a part of the encryption key generated with the XOR operation value of the random number x 1 and the random number y 1 is transmitted to the application gateway, and the part of the encryption key generated with the XOR operation value of the random number y 1 and the random number z 1 is transmitted. Send to endpoint.
  • the application gateway generates an encryption key K1 by XOR operation of the random number z 1 in a part of the encryption key received.
  • the generated encryption key K1 is stored in the endpoint management table in association with the individual identifier EPID.
  • the encryption key K1 generated by the application gateway and the endpoint in this way becomes the XOR operation value of the three random numbers x 1 , y 1 , and z 1 , and the common key used for encryption can be shared between the start point and the end point of data linkage. it can.
  • FIG. 9 is a diagram showing a key exchange method for end-to-end encryption communication via a relay gateway according to an embodiment of the present invention.
  • FIG. 9 follows the arrangement of the common key described in FIG. 8, and shows a flow when the already arranged common key is exchanged and rearranged.
  • the exchange of the common key may be performed every communication session or may be performed every predetermined period.
  • both the endpoint and the application gateway have stored the common key K1.
  • the structure of the payload (D1) of the data transmitted from the end point is composed of the identifier EPID and the key KEY.
  • Relay gateway generates a new random number y 2, the random number y 2 and the key payload received from the endpoint value D1. XOR operation with KEY is performed, and this result (D2.KEY) is transmitted to the application gateway together with the received individual identifier EPID.
  • the application gateway extracts the common key K1 associated with the individual identifier EPID from the endpoint management table and receives the received D2.
  • An XOR operation of KEY and common key K1 is performed to obtain an operation value (Temp).
  • the application gateway generates a new random number z 2 , performs an XOR operation between the operation value (Temp) and the random number z 2 , and generates a new encryption key K 2.
  • the encryption key K2 becomes an XOR operation value of three random numbers: a random number x 2 generated at the endpoint, a random number y 2 generated at the relay gateway, and a random number z 2 generated at the application gateway.
  • the generated encryption key K2 is encrypted using the current common key K1, that is, the XOR operation of the encryption key K2 and the common key K1 is performed, and the result is transmitted to the end point via the relay gateway together with the individual identifier EPID.
  • the common key K1 associated with the individual identifier EPID in the endpoint management table is updated and stored as an encryption key K2 that becomes a new common key.
  • the endpoint can acquire the encryption key K2 common to the application gateway, and replaces and stores the current common key K1 with the common key K2.
  • the second and subsequent key exchanges use random numbers newly generated by the application gateway at each of the endpoint, the relay gateway, and the application gateway.
  • a new encryption key for the next communication is generated and transmitted to the endpoint, and the method in which each of the endpoint and the application gateway updates the encryption key remains the same.
  • random numbers are exchanged after being encrypted by the XOR operation using the current common key, random numbers that are elements of the encryption key are not exchanged as they are in the communication path. Therefore, the common key can be exchanged safely.
  • FIG. 10 is a diagram showing a key exchange and data transmission / reception method for end-to-end encryption communication via a relay gateway according to an embodiment of the present invention, with key exchange between the endpoint and the application gateway. Shows the basic data flow.
  • FIG. 10 shows transmission / reception of data after the arrangement of the first common key, and shows that the last shared key is K1, but after a plurality of key exchanges, Even if the shared common key is Kn, only the subscript is changed, and the basic data transmission / reception method is not changed.
  • the payload in data transmission / reception includes four elements: an identifier (EPID), a function ID (FUNC_ID), a key (KEY), and data (Data).
  • EPID identifier
  • FUNC_ID function ID
  • KEY key
  • Data data
  • the endpoint Upon transmission of the data, the endpoint generates a new random number x 2.
  • the individual identifier EPID of the endpoint is set to the payload identifier value D1.
  • Allocation to EPID, generated random number x 2 to the current common key K1 payload of a key XOR operation result of the value D1.
  • the result of encoding the data to be transmitted and encoding the data to be transmitted with the current common key K1 is set to the data value D1. Allocate to Data and send to relay gateway.
  • Relay gateway generates a new random number y 2, the random number y 2 and the key payload received from the endpoint value D1. XOR operation with KEY is performed, and the result (D2.KEY) is transmitted to the application gateway together with the received individual identifier EPID and data.
  • the application gateway extracts the common key K1 associated with the individual identifier EPID from the endpoint management table and receives the received D2.
  • An XOR operation of KEY and common key K1 is performed to obtain an operation value (Temp).
  • the XOR operation result of the random number x 2 and the random number y 2 is obtained.
  • the application gateway performs a decoding process with the common key K1 obtained by extracting the received data. Since the data transmitted from the end point is encoded with the common key K1, unencrypted data is extracted by the decoding process based on the relationship of the above-described equations (1) and (2).
  • the application gateway generates a new random number z2, arithmetic value (Temp) performs an XOR operation of the random number z 2, to generate a new encryption key K2.
  • the new encryption key K2 is encrypted by the XOR operation with the common key K1 before being transmitted to the end point.
  • the application gateway encodes the response to the received data with the common key K1, and generates data to be transmitted to the endpoint.
  • the encryption key K2 encrypted using the common key K1 and the response are transmitted to the end point through the relay gateway together with the individual identifier EPID.
  • the common key K1 associated with the individual identifier EPID in the endpoint management table is updated and stored as an encryption key K2 that becomes a new common key.
  • the encrypted encryption key K2 is decrypted by performing an XOR operation with the common key K1, and replaced with the common key K2 instead of the common key K1 and stored. Further, the received response is decoded by the common key K1 and is extracted. In this way, at the endpoint, the data and a random number that is an element of the next communication key are encrypted and transmitted with the common key, and the application gateway generates the next encrypted communication with three random numbers.
  • Encryption method independent of communication protocol This method depends on the difficulty of predicting random number generation. Since it is encrypted immediately before transmission at the endpoint and decrypted immediately before the associated application at the application gateway, it does not return to plain text even if the communication protocol of the communication path between them is linked to any number of layers. There is a feature that does not depend on the communication method.
  • the common key exchange protocol process is a common key cryptosystem based on the difficulty of predicting the generation of random numbers that generate keys from three random numbers generated at the endpoint, relay gateway, and application gateway.
  • the strength of encryption is determined based on the premise that the random numbers are independent of each other. Because random number generation is independent, it is possible to use a random number generation method that uses natural phenomena such as semiconductor thermal noise as an entropy source, and it is possible to increase the difficulty of predicting the common key, that is, the strength. .
  • a log recorded as management information has a timeline ID calculated by encrypting an authenticator, not a time stamp derived simply from time. Since this timeline ID is calculated by encrypting the authenticator calculated from the random number and the previous timeline ID as a key, it has the accuracy based on the occurrence probability of the random number and maintains the irreversibility have. Further, for this timeline ID, an authentication code of one generation before can be calculated from the authentication code held in the management information and the time run ID recorded last. Using this property, the initial value of the authenticator recorded in the nonvolatile memory of the endpoint can be calculated by sequentially going back the timeline log. Even if impersonation occurs, the unique endpoint can be identified by the authenticator of the management information and the timeline log.
  • Endpoint 11 Endpoint API
  • Relay gateway 30 Application gateway 31
  • Application API 32 Associate App DB 33
  • Network information management memory 40 PAN 50 Internet

Abstract

[課題]データの発生源からデータベースの入り口までを通信手段に影響されずに暗号通信を行うことができるセキュアネットワーク通信方法を提供する。[解決手段]本発明によるセキュアネットワーク通信方法は、アプリケーションゲートウェイが、非対称な認証子を生成し、ホワイトリストに保存するとともにエンドポイントで保存するエンドポイントの初期化段階と、中継ゲートウェイが、エンドポイントが正当と判断した場合は乱数を含む非対称な認証子を生成し、アプリケーションゲートウェイとエンドポイントで更新して保存するエンドポイントの初期化時の認証段階と、中継ゲートウェイが、エンドポイント、アプリケーションゲートウェイから受信した乱数と新たな乱数とから相異なる2つの暗号鍵の一部を生成して送信し、アプリケーションゲートウェイとエンドポイントが各々受信した暗号鍵の一部から暗合鍵を生成して保存する共通鍵の配置段階とを有する。

Description

セキュアネットワーク通信方法
 本発明は、セキュアネットワーク通信方法に関し、特にデータの発生源でデータを捕捉する機器をホワイトリストに登録して管理するとともに起動時の認証の記録をタイムライン管理によりライフサイクルで管理し、データの発生源からデータベースの入り口までを暗号通信を行うことができるセキュアネットワーク通信方法に関する。
 ビッグデータのデータの発生源は、センサーのような定置に置かれるような装置から捕捉される。そのようなデータ発生源からデータを集積する場合、データ発生源と集積されるデータベースの間には、複数の通信手段、ゲートウェイ、ルータ、ファイルシステムなどが使われる。なかでも、末端のデバイスから、インターネットに中継するためには、ZigBee(登録商標)、Bluetooth(登録商標)、WiFi(登録商標)のような無線によるローカルエリアネットワークと、TCPによるインターネットの通信という異なった通信手段とセキュリティ技術を組み合わせたゲートウェイが必要である。
 インターネットの発展により、その通信に対するセキュリティはSSL/TLSのように標準化され、確立された体系がある。しかしながら、データ発生源に置かれるデバイスは直接インターネットに接続されるのではなく、もっと運用コストが抑えられ、最後の数十メートルのネットワークを構成するのに都合のよいZigBee、Bluetoothのような無線による限られたエリアのネットワークが使われている。このエリアは必ずしも安定した電力が供給されたり、制御されたりして一定の環境が維持されるわけでもない場合が多い。そのような環境に置かれるデバイスにはできる限り省電力で負荷を減らすこと、コストを抑えることという条件が求められる。
 インターネットの安全性のためのセキュリティ技術は、このエリアへの適用が予定されているとは言えない。例えば、キー長による安全性と通信する機器に使用されるLSIの性能というようなトレードオフの問題もあり、充分なセキュリィと言われる少なくとも128ビット以上の鍵長を実装することはこのエリアに置かれるデバイスで使われるLSIの性能を規定する価格要件には、まだ相当な課題がある。また、SSLのような暗号方式では、証明書を事前にインストールするというような手続きと、鍵配送時に必要とされる計算能力も課題の一つと考えられる。そういった背景から、データ発生源からデータベースに接続するという発想のより手軽なデータ連携のためのネットワークと暗号方式が求められる。
 センサーから得られるデータは短く、それほどリアルタイム性が要求されないものが殆どであり、そもそも暗号化の必要のないものが多い。しかしながら、成りすましによって異常なデータで攻撃された場合、仕組みとして混乱し大きな被害が予想される。つまり、セキュリティの要件としてはデータの暗号化も一つではあるが、機器認証、成りすましの対策が相対的に重要であると言える。
 特許文献1は、第1装置と第2装置とが中継装置を介して共通の暗号鍵を共有する技術を開示したものであるが、データの発生源でデータを捕捉するような機器の認証に関しての記載は無い。
 特許文献2は、アドホックネットワーク内のノードが用いる暗号鍵はゲートウェイごとに共通とし、交換が必要になるとゲートウェイで新鍵を生成するネットワークに関する提案であるが、個々のノードの鍵交換は別途携帯端末を接続して管理サーバーから入手するなど管理が容易ではない。
 高性能のLSIの組み込みや高機能の実装が期待できないセンサーのようなデータを捕捉する機器でもセキュリティの確保された通信が行えるシステムの提供が望まれる。
特許第5039146号公報 特許第5488716号公報
 本発明は、上記従来のセキュアネットワーク通信方法における問題点に鑑みてなされたものであって、本発明の目的は、データの発生源でデータを捕捉する機器を独自の非対称の認証子を有するネットワークのエンドポイントとして事前にホワイトリストに登録して管理し、エンドポイントが起動時に認証され、その認証の記録をタイムライン管理によりライフサイクルで管理し、データの発生源からデータベースの入り口までを通信手段に影響されることなくエンド・エンドで暗号通信を行うことができるセキュアネットワーク通信方法を提供することにある。
 上記目的を達成するためになされた本発明によるセキュアネットワーク通信方法は、第1のネットワークで接続されるエンドポイントと中継ゲートウェイと、前記中継ゲートウェイと第2のネットワークで接続されるアプリケーションゲートウェイとを含むセキュアネットワークの通信方法であって、アプリケーションゲートウェイが、エンドポイント毎にユニークな個別識別子と認証パスワードに基づき互いに非対称な第1及び第2の認証子を生成し、第2の認証子はホワイトリストに保存して管理するとともにタイムラインログに記録し、第1の認証子はエンドポイントで保存するエンドポイントの初期化段階と、中継ゲートウェイが、エンドポイントから個別識別子と暗号化された第1の認証子から求めた演算値を含むデータを受信し、第1の認証子の正当性を判断し、正当と判断した場合は中継ゲートウェイにて生成した乱数を使用して非対称な新たな第1及び第2の認証子を生成して送信し、アプリケーションゲートウェイではホワイトリストの第2の認証子を更新し、タイムラインログを追加し、エンドポイントでは第1の認証子を更新して保存するエンドポイントの初期化時の認証段階と、中継ゲートウェイが、エンドポイントで生成した第1の乱数とアプリケーションゲートウェイで生成した第3の乱数を受信し、中継ゲートウェイで生成した第2の乱数と第1の乱数から暗号鍵の一部を生成してアプリケーションゲートウェイに送信し、第2の乱数と第3の乱数から暗号鍵の他の一部を生成してエンドポイントに送信し、アプリケーションゲートウェイが暗号鍵の一部と第3の乱数から暗合鍵を生成してホワイトリストに保存し、エンドポイントが暗号鍵の他の一部と第1の乱数から暗合鍵を生成して保存する共通鍵の配置段階とを有することを特徴とする。
 前記中継ゲートウェイがエンドポイントから個別識別子と暗号化された最新の第1の認証子から求めた演算値を含むデータを受信し、最新の第1の認証子の正当性を判断して、正当と判断した場合は中継ゲートウェイにて新たに生成した乱数を使用して非対称な新たな第1及び第2の認証子を生成して送信し、アプリケーションゲートウェイではホワイトリストの第2の認証子を更新し、タイムラインログを追加し、エンドポイントでは第1の認証子を更新して保存する随時認証段階をさらに有することが好ましい。
 前記アプリケーションゲートウェイがエンドポイント、中継ゲートウェイ、及びアプリケーションゲートウェイのそれぞれで新たに生成した乱数を使用して次の通信用の新たな暗号鍵を生成してエンドポイントに送信し、エンドポイント、アプリケーションゲートウェイのそれぞれが暗号鍵を更新する随時鍵交換段階をさらに有することが好ましい。
 前記エンドポイントの初期化段階における第2の認証子は個別識別子のハッシュ値と認証パスワードのハッシュ値とのXOR演算値であり、第1の認証子は前記第2の認証子を予め設定された認証のためのキーであるマスターキーでエンコード処理したものであることが好ましい。
 前記エンドポイントの初期化時の認証段階において、前記暗号化された第1の認証子から求めた演算値は、暗号化された第1の認証子のハッシュ値であり、エンドポイントから受信するデータには、エンドポイントで生成した乱数のハッシュ値をさらに含み、第1の認証子の正当性の判断は、個別識別子に対応してホワイトリストから抽出された第2の認証子をマスターキーでデコードした結果に対するハッシュ値と前記受信した暗号化された第1の認証子のハッシュ値から求めた演算値と、受信し乱数のハッシュ値とを比較して行うことが好ましい。
 前記エンドポイントの初期化時の認証段階における新たな第2の認証子は、中継ゲートウェイにて生成した前記乱数と個別識別子に対応してホワイトリストから抽出された第2の認証子とのXOR演算値であり、新たな第1の認証子は、前記新たな第2の認証子をマスターキーでエンコード処理したものであることが好ましい。
 前記共通鍵の配置段階における前記暗号鍵の一部は、第1の乱数と第2の乱数とのXOR演算値であり、暗号鍵の他の一部は第2の乱数と第3の乱数とのXOR演算値であり、アプリケーションゲートウェイが生成する暗合鍵とエンドポイントが生成する暗合鍵はいずれも第1の乱数と第2の乱数と第3の乱数とのXOR演算値であることが好ましい。
 前記エンドポイントで生成または取得したデータを含むペイロードを、前記中継ゲートウェイを介して前記アプリケーションゲートウェイに送信する段階をさらに含み、 前記ペイロードは、個別識別子、機能を示すファンクションID、暗号鍵、及びデータの4つの枠で構成され、ペイロードのデータ枠には前記送信されるデータを最新の暗号鍵でエンコード処理した値が格納され、送信されたデータは、アプリケーションゲートウェイにて最新の暗号鍵でデコード処理することにより復号されることが好ましい。
 前記第1のネットワークは無線によるローカルネットワークであり、前記第2のネットワークはTCPによるインターネットであることが好ましい。
 前記タイムラインログの記録は個別識別子、タイムスタンプ、及び第2の認証子を認証パスワードのハッシュ値でエンコードした値をタイムラインログ記録用のメモリに保存することで行われ、前記タイムラインログの追加は個別識別子、新たなタイムスタンプ、及び最新の第2の認証子を認証パスワードのハッシュ値でエンコードした値をタイムラインログ記録用のメモリに追加して保存することで行われ、第1の認証子の初期値は、タイムラインログに記録された第2の認証子を認証パスワードのハッシュ値でエンコードした値を用いて、第2の認証子を順次デコードすることで順次更新前の第2の認証子にさかのぼり、最後に得られた第2の認証子の初期値をマスターキーでデコード処理することで求められることが好ましい。
 本発明によるセキュアネットワーク通信方法によれば、エンドポイントの認証子は認証の行われる毎に、通信の両端にあるエンドポイントとアプリケーションゲートウェイとは独立した別の装置で新たに生成した乱数により更新され、エンドポイントとアプリケーションゲートウェイとでは異なるものとして保存され、又更新の履歴がタイムラインにより初期状態まで遡及できるため、途中から第3者がなりすましにより通信に割り込むことが極めて困難な通信環境を提供することができる。
 また本発明によるセキュアネットワーク通信方法によれば、エンドポイントはホワイトリストにより管理するため、ブラックリスト管理の様に、リスト内容が事あるごとに増え続ける心配がなくアプリケーションゲートウェイの管理負荷を不必要に増やすおそれがない。
本発明の実施形態によるセキュアネットワーク通信方法を適用するネットワーク構成要素とデータの連係を概略的に示す図である。 本発明の実施形態によるエンドポイント、中継ゲートウェイ、アプリケーションゲートウェイによる機能構成を示す図である。 本発明の実施形態によるゲートウェイと関連するアプリケーションの構成例を示す図である。 本発明の実施形態によるセキュアネットワーク通信方法におけるエンドポイントの初期化の方法を示す図である。 本発明の実施形態によるセキュアネットワーク通信方法におけるエンドポイントの初期化時の認証方法を示す図である。 本発明の実施形態によるセキュアネットワーク通信方法におけるエンドポイントのアテスト時の認証方法を示す図である。 本発明の実施形態によるタイムライン管理方法を示す図である。 本発明の実施形態による中継ゲートウェイを経由したエンド・エンドでの共通鍵の配置方法を示す図である。 本発明の実施形態による中継ゲートウェイを経由したエンド・エンドでの暗号通信の鍵の交換方法を示す図である。 本発明の実施形態による中継ゲートウェイを経由したエンド・エンドでの暗号通信の鍵の交換とデータの送受信方法を示す図である。
 次に、本発明に係るセキュアネットワーク通信方法を実施するための形態の具体例を、図面を参照しながら説明する。
 図1は、本発明の実施形態によるセキュアネットワーク通信方法を適用するネットワーク構成要素とデータの連係を概略的に示す図である。
 図1を参照するとセキュアネットワークの構成要素として、エンドポイント10、中継ゲートウェイ20、アプリケーションゲートウェイ30を含む。エンドポイント10は温度や圧力などを検出する各種のセンサーやこれらセンサーを取りまとめる端末機器でもよく、人が操作するハンディーターミナルでもスマートフォンのような携帯機器でもよい。ここでエンドポイントはデータの発生源でデータを捕捉する機器の総称であり、データ送信の起点となる機器を表す。エンドポイント10はセキュア通信における認証子の管理や暗号・復号などを実行するためのインターフェースであるエンドポイントAPI11を備える。
 アプリケーションゲートウェイ30は、エンドポイントからの各種データを受信し、最終的にそのデータの処理を行うアソシエートアプリケーションにデータを引き渡す役割を果たす。ここでアソシエートアプリケーションとは、例えばエンドポイントで補足したデータに基づき特定エリアの温度分布を提供したり、時系列変化から温度変化を予測したりするソフトウェアのように、データを利用して関連する情報を生成して提供する実務的なソフトウェアを指す。
 アプリケーションゲートウェイ30は、データの受け渡しや暗号・復号、乱数生成などを実行するためのインターフェースであるアプリケーションAPI31を備える。アプリケーションAPI31は上記機能の他、ネットワークの監視やエンドポイントの管理のために作成するホワイトリストの管理なども行う。さらにアプリケーションAPI31は、通信の際の認証に使用する認証子の更新の履歴をログに残し、不正アクセスを検知したりログ情報を照会したりするタイムライン管理も行う。アプリケーションAPI31が管理する情報はネットワーク情報管理メモリ33に保存される。またアプリケーションAPI31を介して最終的にデータが引き渡されるアソシエートアプリケーションはアソシエートアプリDB32に保存される。
 アプリケーションゲートウェイ30、アプリケーションAPI31、ネットワーク情報管理メモリ33、及びアソシエートアプリDB32は1つのデータセンターとして具現化してもよく、またネットワーク情報管理メモリ33、及びアソシエートアプリDB32はアプリケーションゲートウェイ30に直結される外部メモリとして構成されてもよい。
 中継ゲートウェイ20は、エンドポイント10からデータを受信してアプリケーションゲートウェイ30にデータを引き渡す。エンドポイント10と中継ゲートウェイ20とはPAN(Personal Area Network)40によって接続される。通信方法としてはGigbee、Bluetooth、Wifiなどが適用可能であり、データの内容やそれぞれの無線通信の特性によって使い分けてもよい。また図1に示すようにエンドポイント10と中継ゲートウェイ20の間に複数のノードを介してもよい。
 一方中継ゲートウェイ20とアプリケーションゲートウェイ30との間はインターネット50を介して接続される。インターネットの安全性に関してはすでにSSL/TSLのような暗号通信をベースとする通信環境が整っており、本明細書においても中継ゲートウェイ20とアプリケーションゲートウェイ30との間はこうした既存の通信技術にて安全な通信が確保されることを前提とし、インターネットの50の安全性に関する記載は省略する。
 エンドポイントで補足されるデータは、所定の処理を行うために使用されるものであり、どのような機能で、どのような処理を行うデータであるかという意味を含むファンクションと結び付けられる。ファンクションはデータ連携の通信を行う起点の前と終点の先にある機能である。エンドポイント10は送信するデータをそのデータのファンクションを表すファンクションIDと連携して扱うことができる。ファンクションとはエンドポイントAPI11とアプリケーションAPI31の間で論理的なデータ連携の単位になり、エンドポイントAPI11とアプリケーションAPI31のそれぞれで独立した単位の処理として扱うことができる。
 エンドポイント10側のファンクションは、センサーなどから発生したデータをデジタル化して送る単位であり、エンドポイントAPI11はそのデータを、ファンクションIDを付けて送信する機能を持つ。
 アプリケーションAPI31側のファンクションは、センサーなどからのデータをデータベースに蓄積するために、データをファンクションIDとともに受け取り、ファンクションIDに関連付けられたDLL(Dynamic Link Library)をダイナミックに接続する機能を持ち、ファンクションIDに対応付けられた、DLL内のメソッドを呼び出し、そのメソッドに関連付けられたデータベースに接続し、メソッドに記述されたプロシージャ(関数)が最終的に呼ばれるAPIで扱われる単位である。
 本発明によるセキュアネットワーク通信方法は、こうした構成要素からなるネットワークにおいて、エンドポイントの初期化段階にアプリケーションゲートウェイが、エンドポイント毎にユニークな個別識別子と認証パスワードに基づき互いに非対称な第1及び第2の認証子を生成し、第2の認証子はホワイトリストに保存して管理し、第1の認証子はエンドポイントで保存し、エンドポイントの認証を行う毎に、新たに生成する乱数を使用して互いに非対称な認証子を生成してホワイトリストを更新するとともに、タイムラインログに記録して認証子のユニーク性を時系列的に管理し、データの送信に関してはエンドポイント、中継ゲートウェイ、アプリケーションゲートウェイのそれぞれが生成する乱数から生成される暗号鍵を次の通信の共通の暗号鍵としてエンドポイントとアプリケーションゲートウェイで交換することにより、なりすましを防止し、比較的小さな負荷で安全な通信方法を提供するものである。
 図2は本発明の実施形態によるエンドポイント、中継ゲートウェイ、アプリケーションゲートウェイによる機能構成を示す図である。図2はそれぞれの構成要素が持つデータ通信に関する機能とその内容を示す。
 図2を参照すると、アプリケーションゲートウェイは通信、セッション管理、アプリケーション管理、API、及びファンクションの機能を有する。通信は対岸である中継ゲートウェイとのインターネット上の通信のためのプロトコルTCP/IPの管理などを行う。セッション管理は中継ゲートウェイ経由でエンドポイントからデータを受信する通信の通信セッション管理を行う機能である。アプリケーション管理は、受信したデータを受け渡し先のアプリケーションに中継する機能である。APIは受信したデータを復号化し、データに付加されたファンクションIDを参照し、ファンクションIDに対応付けられたDLLを接続し、関連するアソシエートアプリケーションにデータを引き渡す。こうしたデータの受け渡しはファンクションごとに行われるため、図2に示すようにファンクションは、その数に応じて複数の機能(ファンクション1、ファンクション2、・・・)を有する。
 中継ゲートウェイは、データBUSを挟んでアプリケーションゲートウェイ側のインターネット通信のための通信、及びセキュリティ管理とエンドポイント側のPANによる通信のための通信、セッション管理、セキュリティ管理の機能を有する。エンドポイント側の通信は、無線通信の方式(ZigBee、Bluetooth、WiFiなど)に応じてそれぞれの規格に準拠した通信の管理を行う。セキュリティ管理ではデータの中継の機能の他に、エンドポイント側のセキュリティ管理に関し、エンドポイントの認証の機能を有する。またデータの送受信のための暗号鍵を生成して交換するための乱数を生成する機能も備える。
 エンドポイントは、中継ゲートウェイとの通信、通信管理、API、及びファンクションの機能を有する。エンドポイントはデータ送信の起点であり、APIではこうしたデータ発生源から補足したデータの暗号化の機能を有する。また次の通信に使用する暗号鍵の生成及び更新に必要な暗号を生成する機能や、アプリケーションゲートウェイから送信される暗号化された暗号鍵の一部を復号化する機能も備える。エンドポイントで扱うデータはファンクションを伴い、ファンクションが複数ある場合は、その数に応じて複数の機能(ファンクション1、ファンクション2、・・・)を有する。APIの上記の機能はファンクション毎に設定することができ、またエンドポイントでのファンクションと、アプリケーションゲートウェイのファンクションとは1対1に対応付けることができ、したがって、ファンクションID別にデータ連携を行うことができる。
 図3は、本発明の実施形態によるゲートウェイと関連するアプリケーションの構成例を示す図である。
 アプリケーションゲートウェイ30は通信データのデータ連携を管理する中で、接続の受信処理を行うためにメインスレッドを起動し、TCP/IPデータ受信サーバーの機能を果たすアプリケーションを立ち上げる(段階S310)。リスナーの場合リスナーソケットを作成し、ソケットはTCPポートを指定しIPアドレスに対しTCP接続が処理されるように設定することができる。
 次にデータの読み込みを行うために1件の送受信処理スレッドを起動する(段階S320)。送受信処理スレッドでは受信データの読込みの他、データに付加されたファンクションIDに関連付けられるDLLであるデータ連携管理.DLLのダイナミックロードやファンクションIDから関連メソッドの呼び出しなどを行う(段階S330)。
 データ連携管理.DLLは、データ連携管理に利用されるライブラリで、管理モニタ画面の制御、ホワイトリスト管理、ファンクション連携、暗号/復号などの処理に利用される。データ連携管理.DLLが処理するホワイトリスト、タイムラインログ、エンドポイントの状況などのセキュリティに関する情報は、ネットワーク情報管理メモリに保存され、処理の内容に応じてネットワーク情報管理メモリから読み出したり、ネットワーク情報管理メモリに書き込んだりして、最新情報が保存されるようにする。
 またエンドポイントから受信したデータは、ファンクションIDから呼び出されるメソッドに記述されたプロシージャ(関数)に引き当てられ、最終的に得られたデータがアソシエートアプリDBの対応するデータベースに保存される。
 次に図4~10を用いて本発明の実施形態によるセキュアネットワーク通信方法の具体的な処理手順について説明する。
 図4は本発明の実施形態によるセキュアネットワーク通信方法におけるエンドポイントの初期化の方法を示す図である。
 エンドポイントの初期化は、アプリケーションゲートウェイにて、エンドポイントの初期化時の認証に使用する最初の非対称の認証子、即ち認証子の初期値(C,A)を発番してホワイトリストに格納する処理である。
 この段階では、アプリケーションゲートウェイが、エンドポイント毎にユニークな個別識別子と認証パスワードに基づき互いに非対称な第1及び第2の認証子を生成し、第2の認証子はホワイトリストに保存して管理し、第1の認証子はエンドポイントで保存する。
 図4を参照すると、新たに設置するエンドポイントの初期化に当たり、エンドポイント毎に固有の個別識別子であるEPIDとEPIDの認証を許可するための認証パスワードを入力する。個別識別子EPIDはエンドポイントにネイティブであって、かつユニーク性を表す識別子であることが好ましく、例えばIEEE802アドレス等が利用できる。また認証パスワードはEPID毎に固有のものであることが好ましく、事前に他のエンドポイントの認証パスワードと重複しないように設定しておく。
 アプリケーションゲートウェイは、アプリケーションAPIを使用して、以下の処理を行う。
 まず、入力された個別識別子EPIDのハッシュ(Hash)値をもとめ,非対称の認証子の内の第2の認証子の初期値Cを生成する前段階のC−1に代入する。次に認証パスワードのハッシュ値をもとめこの値をZとする。このように認証パスワードもハッシュ関数を通すことにより、元の認証パスワードを推定できない形に変換してから使用する。ここで前提として個別識別子EPIDと認証パスワードのそれぞれのハッシュ関数で生成されるダイジェスト値は、例えば128ビットのように同じ長さであるとする。
 上記で求めたC−1とZとのXOR演算を行い、その結果を第2の認証子の初期値Cとする。
 第2の認証子の初期値Cは、個別識別子EPIDとともにホワイトリストとしてエンドポイント管理テーブルに登録する。エンドポイント管理テーブルは、ネットワーク情報管理メモリの中に作成されて管理されるテーブルである。
 最後に第2の認証子の初期値Cは、予めネットワークシステムに定められた認証のためのキーであるマスターキーでエンコード処理され、その結果として第1の認証子の初期値Aが求められる。この第1の認証子の初期値Aは出力してエンドポイントのメモリに保存する。この場合、電源を切断してもデータが消失しないEEPROMやSIMなどのメモリを使用する。これによりエンドポイントの認証子の初期値は消失することなく保存されるので、意図せずに電源が遮断されることが起こっても、電源を再投入すれば、エンドポイントの初期化時の認証を行うことができる。
 エンコード処理に使用する関数は、
 Y=Encode(X,PW)・・・(1)
 X=Decode(Y,PW)・・・(2)
 ここでPWはパスワード
の関係を満たすような関数であり、パスワードでエンコード処理した結果を、同じパスワードでデコード処理すると元の値に戻る性質を持つ関数である。
 以上のように、1つの認証子の初期値Cをもとに、マスターキーをパスワードとしてエンコード処理をすることにより、元の値Cとは非対称な認証子の初期値Aを生成する。エンドポイントの初期化段階において、生成した非対称の認証子の初期値の内、第1の認証子の初期値Aはエンドポイントで保存され、第2の認証子の初期値Cはアプリケーションゲートウェイに保存される。また認証パスワードそのものはアプリケーションゲートウェイのデータベースには残さないようにする。このように関連する情報を、形を変えたり別々に保存したりすることにより、ネットワーク通信の安全性を向上することができる。
 図5は、本発明の実施形態によるセキュアネットワーク通信方法におけるエンドポイントの初期化時の認証方法を示す図であり、中継ゲートウェイの下に、新たに1つのエンドポイントを追加するときの認証の流れを示す図である。
 この段階では、中継ゲートウェイが、エンドポイントから個別識別子と暗号化された第1の認証子から求めた演算値を含むデータを受信し、第1の認証子の正当性を判断し、正当と判断した場合は中継ゲートウェイにて生成した乱数を使用して非対称な新たな第1及び第2の認証子を生成して送信し、アプリケーションゲートウェイではホワイトリストの第2の認証子を更新し、タイムラインログを追加し、エンドポイントでは第1の認証子を更新して保存する。
 前提として図4で説明したエンドポイントの初期化段階が終了しており、エンドポイントの不揮発性メモリには第1の認証子の初期値Aが保存され、アプリケーションゲートウェイのエンドポイント管理テーブルにはエンドポイントの固有の個別識別子であるEPIDと第2の認証子の初期値Cが保存されている。したがって、エンドポイントの処理にて現在の認証子を表すcurrentAは初期値Aであり、エンドポイント管理テーブルでは現在の認証子を表すcurrentCは初期値Cである。
 また、この段階はエンドポイント、中継ゲートウェイ、アプリケーションゲートウェイの3つの構成要素間の通信が行われるが、中継ゲートウェイとアプリケーションゲートウェイとの間の通信はインターネットによる暗号通信が確立されていることを前提とする。
 図5を参照すると、最初にエンドポイントにて新たな乱数Xを生成する。この乱数の生成には疑似乱数生成器を使用してもよい。
 エンドポイントの初期化時の認証段階でエンドポイントから中継ゲートウェイに送信されるデータのペイロード(D1)は認証子(A)とハッシュ(H)により構成される。
 エンドポイントでは上記で生成した乱数Xを使用して、第1の認証子の初期値Aのハッシュ値と乱数XとのXOR演算を行い、結果をペイロードの認証子(A)の値(D1.A)に引き当てる。続いて乱数Xのハッシュ値を求めペイロードのハッシュ(H)の値(D1.H)に引き当てる。
 エンドポイントは、ペイロード(D1)を個別識別子EPIDと共に中継ゲートウェイに送信してアテスト要求を行う。
 中継ゲートウェイでは、ペイロード(D1)と個別認証子EPIDを受信すると、EPIDに基づいて、アプリケーションゲートウェイからマスターキーと第2の認証子の初期値Cを取得して、第2の認証子の初期値Cをマスターキーでエンコード処理した結果のハッシュ値を求め(演算値1;temp1)、エンドポイントから受信したペイロードの認証子Aの値D1.Aと演算値1とのXOR演算を行い演算値2;temp2を求める。
 この処理において、第2の認証子の初期値Cをマスターキーでエンコード処理するのは、図4で説明した第1の認証子の初期値Aを求める処理と同じであり、演算値1は第1の認証子の初期値Aのハッシュ値に相当する。そこで演算値2は、第1の認証子の初期値Aのハッシュ値と乱数XとのXOR演算結果に、更に第1の認証子の初期値Aのハッシュ値をXOR演算したものということになるので、エンドポイントの現在の認証子Aが改ざんされていなければ、結果的に乱数Xと同等となる。
 中継ゲートウェイは、更に演算値2のハッシュ値を求め(演算値3;temp3)、エンドポイントから受信したペイロードのハッシュHの値D1.Hと演算値3との比較によりアテストを行う。この値は、エンドポイントの現在の認証子Aが改ざんされていなければ、ともに乱数Xのハッシュ値となるのでアテストは成功となるが、改ざんが行われていると演算値2が乱数Xと同等ではなくなるためアテストは不成功となる。
 アテストが成功すると、中継ゲートウェイは新たな乱数Yを生成し、乱数Yと第2の認証子の初期値CとのXOR演算を行い、新たな第2の認証子Cを生成する。さらに、新たな第2の認証子Cをマスターキーでエンコード処理を行い新たな第1の認証子Aを生成する。中継ゲートウェイで生成される乱数Yは、非決定論型の乱数生成器によって生成される。したがって乱数Yは予測不可能な値である。
 中継ゲートウェイは、最後に新たな第2の認証子Cをアプリケーションゲートウェイに送信し、新たな第1の認証子Aは上記の演算値1とXOR演算を行った後、エンドポイントに送信する。このようにすることによって新たな第1の認証子Aが通信経路にそのままの形で露出するのを防ぐことができる。
 中継ゲートウェイから新たな第2の認証子Cを受信したアプリケーションゲートウェイでは、ホワイトリストの管理としてエンドポイント管理テーブルの現在の認証子を表すcurrentCを初期値Cから新たな第2の認証子Cに更新する。この時、アプリケーションゲートウェイは、第2の認証子の初期値Cを第2の認証子Cでエンコード処理を行い、この結果をタイムラインIDの初期値Tとして個別識別子EPID、タイムスタンプと共にタイムラインログに記録する。
 一方、中継ゲートウェイから新たな第1の認証子Aと演算値1とのXOR演算結果を受信したエンドポイントは、受信した値と、エンドポイントが保存する第1の認証子の初期値Aのハッシュ値とのXOR演算を行う。演算値1は上記のように第1の認証子の初期値Aのハッシュ値を求めた結果に相当するのでこの演算結果は、新たな第1の認証子Aを求めることに他ならない。こうして得られた新たな第1の認証子Aで、現在の認証子を表すcurrentAに記録された初期値Aを更新する。
 図6は、本発明の実施形態によるセキュアネットワーク通信方法におけるエンドポイントのアテスト時の認証方法を示す図である。ここでのアテストはエンドポイントのリブート時や非定期に行う場合であり、その際の認証の流れを示す。
 この段階では中継ゲートウェイがエンドポイントから個別識別子と暗号化された最新の第1の認証子から求めた演算値を含むデータを受信し、最新の第1の認証子の正当性を判断して、正当と判断した場合は中継ゲートウェイにて新たに生成した乱数を使用して非対称な新たな第1及び第2の認証子を生成して送信し、アプリケーションゲートウェイではホワイトリストの第2の認証子を更新し、タイムラインログを追加し、エンドポイントでは第1の認証子を更新して保存する。
 基本的な流れは図5で説明したエンドポイントの初期化時の認証と同様である。説明を一般化するため自然数nを添え字として用いている。
 即ちアテスト時の認証の前提として、エンドポイントにおいては、現在の認証子を表すcurrentAには最新の第1の認証子Aが記録され、エンドポイント管理テーブルでは、現在の認証子を表すcurrentCは最新の第2の認証子Cが記録されている。また、タイムラインログには認証子の更新が行われる毎に、個別識別子EPID、タイムスタンプ、及びタイムラインIDが追加されて記録され、最後に記録されたタイムラインログには、最新の第2の認証子Cの更新前の第2の認証子Cn−1を最新の第2の認証子Cでエンコード処理を行ってもとめたタイムラインIDであるTn−1が記録されている。
 アテストが必要となると、エンドポイントでは新たな乱数Xを生成し、現在の第1の認証子Aのハッシュ値と乱数XとのXOR演算値をペイロード(D1)のD1.Aに引き当て、乱数Xのハッシュ値をペイロード(D1)のD1.Hに引き当てて個別識別子EPIDと共に中継ゲートウェイに送信してアテスト要求を行う。ペイロード(D1)の構成は初期化時の認証の場合と変わらない。
 中継ゲートウェイではマスターキーと現在の第2の認証子Cを取得して、図5の説明と同様に演算値1~3を求めて、D1.Hの値と演算値3によりアテストを行う。
 アテストが成功すると、中継ゲートウェイは新たな乱数Yを生成し、乱数Yと第2の認証子CとのXOR演算により新たな第2の認証子Cn+1を生成する。さらに、新たな第2の認証子Cn+1をマスターキーでエンコード処理を行い新たな第1の認証子An+1を生成する。
 アプリケーションゲートウェイでは、新たな第2の認証子Cn+1を受信して、エンドポイント管理テーブルの現在の認証子Cを新たな第2の認証子Cn+1に更新する。さらに、現在の認証子Cを新たな第2の認証子Cn+1でエンコード処理を行い、この結果を新たなタイムラインIDであるTとして個別識別子EPID、タイムスタンプと共にタイムラインログに記録する。
 エンドポイントでは、中継ゲートウェイにて演算値1とのXOR演算値に変換された新たな第1の認証子An+1を受信して、現在の第1の認証子Aのハッシュ値とのXOR演算により新たな第1の認証子An+1を取り出し、現在の第1の認証子を更新する。
 アテスト時の認証でも、エンドポイントと中継ゲートウェイとの間の通信には、ハッシュ関数によって暗号化された認証子が送受信されるため、元の認証子が露出することはない。
 図7は、本発明の実施形態によるタイムライン管理方法を示す図である。
 図5や図6で説明したように中継ゲートウェイで認証が成功する毎に、新たな認証子が生成され、それに伴いエンドポイント管理テーブルの認証子が更新され、タイムラインログに記録が追加される。
 エンドポイント管理テーブルに保存される第2の認証子は、エンドポイントの個別識別子EPIDに関連付けられた第2の認証子の現在値のみであり、更新前の第2の認証子は残らない。これに対しタイムラインログには、初期のタイムラインID以降の全ての更新情報が残っている。タイムラインIDは更新前の第2の認証子を新たな第2の認証子でエンコード処理した値である。そこで例えば新たな第2の認証子をCとすると更新前の第2の認証子はCn−1となるのでこの更新時のタイムラインIDであるTn−1
 Tn−1=Encode(Cn−1,Cテーブルに保存された第2の認証子Cでデコード処理すると更新前の第2の認証子Cn−1を求めることができる。
 同様に一つ前のタイムラインIDであるTn−2を上記の第2の認証子Cn−1でデコード処理するとさらに一つ前の第2の認証子Cn−2を求めることができる。こうして順次遡ることで第2の認証子の初期値Cを求めることができる。第2の認証子の初期値Cが求まれば、この値をマスターキーでエンコード)・・・(3)
で表される。
 この更新の結果、エンドポイント管理テーブルには、新たな第2の認証子Cが保存され、タイムラインログの最後には更新時のタイムラインIDであるTn−1が記録される。
 エンコード処理に使用する関数は、前述の(1)、(2)式で表されるように同じ値を使用してデコード処理を行うと元に戻る性質のある関数である。そこでタイムラインIDであるTn−1をエンドポイント管理
処理することにより第1の認証子の初期値Aを求めることができ、必要に応じてエンドポイントの不揮発性メモリに保存された第1の認証子の初期値Aと突き合わせることで、エンドポイントの正当性を確認することができる。
 図8は、本発明の実施形態による中継ゲートウェイを経由したエンド・エンドでの共通鍵の配置方法を示す図であり、データ連携の起点と終点、即ちエンドポイントとアプリケーションゲートウェイとの間のデータの送受信に使用される共通の暗号鍵(共通鍵)配置の方法を示す図である。
 この段階では、中継ゲートウェイが、エンドポイントで生成した第1の乱数とアプリケーションゲートウェイで生成した第3の乱数を受信し、中継ゲートウェイで生成した第2の乱数と第1の乱数から暗号鍵の一部を生成してアプリケーションゲートウェイに送信し、第2の乱数と第3の乱数から暗号鍵の他の一部を生成してエンドポイントに送信し、アプリケーションゲートウェイが暗号鍵の一部と第3の乱数から暗合鍵を生成してホワイトリストに保存し、エンドポイントが暗号鍵の他の一部と第1の乱数から暗合鍵を生成して保存する。
 前提として、図4及び図5で説明したエンドポイントの初期化及び初期化時の認証が終了しているとする。即ちエンドポイントの現在の第1の認証子はAであり、エンドポイント管理テーブルに記録された現在の第2の認証子はCである。
 共通鍵の配置段階では、まずエンドポイントにて新たな乱数xを生成する。共通鍵の配置段階でエンドポイントから送信されるデータのペイロード(D1)の構成は、識別子EPIDと鍵KEYで構成される。
 エンドポイントでは、エンドポイントの個別識別子EPIDをペイロードの識別子の値D1.EPIDに引き当て、生成した乱数xと現在の第1の認証子AとのXOR演算結果をペイロードの鍵の値D1.KEYに引き当てて中継ゲートウェイに送信する。
 中継ゲートウェイでは、個別識別子EPIDを取り出してアプリケーションゲートウェイに送信する。
 アプリケーションゲートウェイでは、エンドポイント管理テーブルから個別識別子EPIDに対応する現在の第2の認証子Cを抽出し、新たに生成した乱数とXOR演算を行い共通鍵の一部zを生成する。共通鍵の一部zは、マスターキー、現在の第2の認証子Cと共に中継ゲートウェイに送信される。
 中継ゲートウェイでは、受信した現在の第2の認証子Cをマスターキーでエンコード処理して現在の第2の認証子Cに対応した現在の第1の認証子Aを求める。
 続いてエンドポイントから受信したペイロードの鍵の値D1.KEYとここで求められた現在の第1の認証子AとのXOR演算を行う。D1.KEYは乱数xと現在の第1の認証子AとのXOR演算結果であるので、この演算により乱数xを取り出すことができる。
 さらに中継ゲートウェイは新たな乱数yを生成する。これで暗号鍵の構成要素となる3つの乱数x、y、zがすべてそろうことになるが、中継ゲートウェイでは暗号鍵を完成させることなく、相異なる2つの暗号鍵の一部を生成して一方をアプリケーションゲートウェイに、他方をエンドポイントに送信する。実施形態では、乱数xと乱数yのXOR演算値で生成した暗号鍵の一部をアプリケーションゲートウェイに送信し、乱数yと乱数zのXOR演算値で生成した暗号鍵の一部をエンドポイントに送信する。
 アプリケーションゲートウェイでは受信した暗号鍵の一部に乱数zをXOR演算することで暗号鍵K1を生成する。生成した暗号鍵K1はエンドポイント管理テーブルに個別識別子EPIDと関連付けして保存される。
 一方エンドポインとでは受信した暗号鍵の一部に乱数xをXOR演算することで暗号鍵K1を生成する。
 こうしてアプリケーションゲートウェイとエンドポイントで生成した暗号鍵K1はともに3つの乱数x、y、zのXOR演算値となり、暗号に使用される共通鍵をデータ連携の起点と終点で共有することができる。
 このようにデータ連携の両端に共通鍵を配置する段階で、通信経路上には完成された共通鍵が一度も露出することがないため、第3者から盗用されることなく安全に共通の暗号鍵の配置を行うことができる。また共通鍵の構成要素となる乱数自体も、認証子によって暗号化されて送信されるため、安全に送信されて盗用を防ぐことができる。
 図9は、本発明の実施形態による中継ゲートウェイを経由したエンド・エンドでの暗号通信の鍵の交換方法を示す図である。
 図9は図8で説明した共通鍵の配置に続くもので、既に配置された共通鍵を交換して再配置するときの流れを示す。共通鍵の交換は通信セッションごとに行ってもよいし、所定の期間ごとに行ってもよい。
 共通鍵の配置が終了した時点では、エンドポイントとアプリケーションゲートウェイはともに共通鍵K1を保存している。
 この随時鍵交換段階においても、エンドポイントから送信されるデータのペイロード(D1)の構成は、識別子EPIDと鍵KEYで構成される。
 まずエンドポイントにて新たな乱数xを生成し、エンドポイントの個別識別子EPIDをペイロードの識別子の値D1.EPIDに引き当て、生成した乱数xと現在の共通鍵K1とのXOR演算結果をペイロードの鍵の値D1.KEYに引き当てて中継ゲートウェイに送信する。
 中継ゲートウェイは、新たな乱数yを生成し、乱数yとエンドポイントから受信したペイロードの鍵の値D1.KEYとのXOR演算を行い、この結果(D2.KEY)を受信した個別識別子EPIDと共にアプリケーションゲートウェイに送信する。
 アプリケーションゲートウェイは、エンドポイント管理テーブルから個別識別子EPIDに関連付けられた共通鍵K1を抽出し、受信したD2.KEYと共通鍵K1とのXOR演算を行い、演算値(Temp)を求める。D2.KEYは乱数xとエンドポイントが保存する共通鍵K1とのXOR演算結果に乱数yをさらにXOR演算した結果であるから、アプリケーションゲートウェイで共通鍵K1によりXOR演算を行うことにより、乱数xと乱数yとのXOR演算結果を求めたことになる。
 続いてアプリケーションゲートウェイは、新たな乱数zを生成し、演算値(Temp)と乱数zのXOR演算を行い、新たな暗号鍵K2を生成する。結果的に、暗号鍵K2はエンドポイントで生成した乱数x、中継ゲートウェイで生成した乱数y、及びアプリケーションゲートウェイで生成した乱数zの3つの乱数のXOR演算値となる。
 生成した暗号鍵K2は現在の共通鍵K1を使って暗号化、即ち暗号鍵K2と共通鍵K1とのXOR演算を行い、その結果を個別識別子EPIDと共に中継ゲートウェイ経由でエンドポイントに送信する。これに伴い、エンドポイント管理テーブルの個別識別子EPIDに関連付けられた共通鍵K1を新たな共通鍵となる暗号鍵K2に更新して保存する。
 エンドポイントでは、受信した暗号鍵K2と共通鍵K1とのXOR演算結果に、エンドポイントが保存する共通鍵K1でさらにXOR演算を行い、暗号鍵K2を取り出す。これによりエンドポイントはアプリケーションゲートウェイと共通の暗号鍵K2を取得でき、この共通鍵K2で現在の共通鍵K1のリプレースを行い保存する。
 以上、最初の共通鍵配置後の鍵交換を説明したが、2回目以降の鍵交換についても同様に、アプリケーションゲートウェイがエンドポイント、中継ゲートウェイ、及びアプリケーションゲートウェイのそれぞれで新たに生成した乱数を使用して次の通信用の新たな暗号鍵を生成してエンドポイントに送信し、エンドポイント、アプリケーションゲートウェイのそれぞれが暗号鍵を更新するという方法は変わらない。この際の乱数のやり取りには、現在の共通鍵によるXOR演算によって暗号化した上で送受信が行われるため、通信経路に暗号鍵の要素となる乱数がそのままの形でやり取りされることはない。したがって安全に共通鍵の交換を行うことができる。
 図10は、本発明の実施形態による中継ゲートウェイを経由したエンド・エンドでの暗号通信の鍵の交換とデータの送受信方法を示す図であり、エンドポイントとアプリケーションゲートウェイの間の鍵の交換を伴う基本的なデータの流れを示す。
 図10は、最初の共通鍵の配置がなされた後のデータの送受信を示し、最後に共有された共通鍵がK1であることを示すが、複数回の鍵交換が行われた後、最後に共有された共通鍵がKnであったとしても添え字が変わるのみで、基本的なデータの送受信の方法は変わらない。
 データの送受信におけるペイロードは、識別子(EPID)、ファンクションID(FUNC_ID)、鍵(KEY)、データ(Data)の4つの要素で構成される。
 データの送信に際し、エンドポイントは新たな乱数xを生成する。エンドポイントでは、エンドポイントの個別識別子EPIDをペイロードの識別子の値D1.EPIDに引き当て、生成した乱数xと現在の共通鍵K1とのXOR演算結果をペイロードの鍵の値D1.KEYに引き当て、送信するデータを現在の共通鍵K1でエンコード処理した結果をペイロードのデータの値D1.Dataに引き当てて中継ゲートウェイに送信する。
 中継ゲートウェイは、新たな乱数yを生成し、乱数yとエンドポイントから受信したペイロードの鍵の値D1.KEYとのXOR演算を行い、この結果(D2.KEY)を受信した個別識別子EPID、データと共にアプリケーションゲートウェイに送信する。
 アプリケーションゲートウェイは、エンドポイント管理テーブルから個別識別子EPIDに関連付けられた共通鍵K1を抽出し、受信したD2.KEYと共通鍵K1とのXOR演算を行い、演算値(Temp)を求める。この処理は図9で説明したのと同様、乱数xと乱数yとのXOR演算結果を求めたことになる。
 また、アプリケーションゲートウェイは、受信したデータを抽出した共通鍵K1でデコード処理を行う。エンドポインとから送信されたデータは共通鍵K1でエンコード処理されているため、前述の(1)、(2)式の関係に基づきデコード処理により、暗号化処理されていないデータが取り出される。
 続いてアプリケーションゲートウェイは、新たな乱数z2を生成し、演算値(Temp)と乱数zのXOR演算を行い、新たな暗号鍵K2を生成する。新たな暗号鍵K2はエンドポイントに送信する前に、共通鍵K1にてXOR演算にて暗号化される。
 また、アプリケーションゲートウェイは、受信したデータへの応答を共通鍵K1にてエンコード処理してエンドポイントに送信するデータを生成する。
 このように共通鍵K1を使って暗号化処理した暗号鍵K2及び応答は個別識別子EPIDと共に中継ゲートウェイを経由してエンドポイントに送信される。これに伴い、エンドポイント管理テーブルの個別識別子EPIDに関連付けられた共通鍵K1を新たな共通鍵となる暗号鍵K2に更新して保存する。
 エンドポイントでは暗号化された暗号鍵K2を、共通鍵K1にてXOR演算を行って復号し、共通鍵K2として共通鍵K1の代わりに置き換えて保存する。さらに受信した応答を共通鍵K1にてデコード処理を行って復号して取り出す。
 このようにすることで、エンドポイントで、データと次の通信用の鍵の要素となる乱数とを共通鍵で暗号化して送信し、アプリケーションゲートウェイで、3つの乱数で生成した次の暗号通信用の共通鍵と、応答とを共通鍵で暗号化して送信することにより、データの送受信と暗号用の共通鍵の交換をまとめて安全に行うことができる。
 通信の安全性の面では図10に示す実施形態の様に、データの送受信毎に暗号鍵を更新することが望ましいが、その分通信に係る負荷も増加するため、前述のように鍵の交換は必ずしも毎回の通信で行わなくてもよい。通信経路の安全性が確保された前提でデータ送受信のみを行う場合は、各構成要素での乱数の生成は行わず、共通鍵で暗号化したデータを送信し、それに対し共通鍵で暗号化された応答が返信される形でデータの送受信が行われる。
 データの送受信と共通鍵の交換は独立して行ってもよく、図10のようにまとめて行ってもよい。さらには必要に応じこれらを組み合わせてもよい。
 以上本発明に実施形態を具体的に説明してきたが、本発明に係るセキュアネットワーク通信方法の特徴を整理すると次のようになる。
1)通信プロトコルに依存しない暗号方式
 乱数の発生の予測困難性に依存した方式である。エンドポイントにて送信直前で暗号化され、アプリケーションゲートウェイにてアソシエートアプリケーションの直前で復号されるため、その間の通信路の通信のプロトコルが何層に連携されていても一度も平文に戻ることが無く、通信の方式に依存しない特長がある。
2)簡易な認証と鍵交換のプロトコル(SSL等と比較して)
 ハッシュ関数と、エンコード・デコード処理に使用する暗号・復号関数によって計算されるエンドポイントとアプリケーションゲートウェイとで非対称な認証子を、予め管理情報に登録することで、それ以外のエンドポイントを「中継ゲートウェイ」で拒絶することができる。また、図8に示すように、2つの鍵長のエレメントの通信とハッシュ関数、そしてXOR演算という論理演算によって認証から鍵交換のプロトコル間の処理を行うので、RSA(公開鍵)方式のような大きな計算を必要としない効率的な方法である。このため、8KバイトのRAM程度の小さなLSIで実装されるエンドポイントでも問題なく動かすことが可能である。また共通鍵の交換のプロトコルの過程では、エンドポイントと中継ゲートウェイ、そしてアプリケーションゲートウェイで発生した3つの乱数から鍵を生成する乱数の発生の予測困難性を根拠とした共通鍵暗号方式であり、それぞれの乱数がお互いに独立という前提で暗号化の強度が決まる特徴がある。乱数の発生は独立という特徴のため、半導体の熱雑音をエントロピーソースとするような自然現象を利用した乱数発生方式を利用することができ、共通鍵の予測困難性、つまり強度を高めることができる。
3)ホワイトリストとタイムラインログによる認証となりすましの予防
 管理情報として記録されるログは、単なる時間由来のタイムスタンプではなく、認証子を暗号化して計算されるタイムラインIDを持つ。このタイムラインIDは乱数から計算された認証子と1つ前のタイムラインIDを鍵にして暗号化して計算されるため、乱数の発生確率に基づく精度を持ち、不可逆性が維持されるという特性を持つ。また、このタイムラインIDは、管理情報に持つ認証子と最後に記録されたタイムランIDにより、1世代前の認証子が計算できる。この性質を利用して、タイムラインログを順次遡ることによってエンドポイントの不揮発性メモリに記録された認証子の初期値を計算することができる。なりすましが発生しても、管理情報の認証子とタイムラインログにより、ユニーク性を持つエンドポイントを特定することができる。
4)冗長性の少ないストリーム暗号であり、計算に頼らない効率的な暗号/復号方式
 共通鍵の交換の段階ではXORの論理演算、ハッシュ関数のみが使われる。通信のオーバーヘッドは鍵長の二倍程度でありSSLのような鍵交換プロトコルで行われる計算量及び通信量と比較してはるかに効率的である。また、暗号・復号の過程でも直前の共通鍵で初期化された疑似乱数生成器から得られる乱数ストリームと、送信電文のデータストリームと同じオフセットのビットをXORで暗号化する方式であるために、計算量が少ないというメリットの他に、暗号化の計算過程で計算用のバッファなどを必要としない特長がある。このような方式のために他の暗号方式に比較しても小さなLSIでも実装が可能となる。
5)シームレス
 データを中継する伝送路での暗号を必要としない。つまり、エンドポイントのアプリケーション層で暗号化して、データを処理するアソシエートアプリケーションの層で復号化されるため、その間で一度も平文にならない。また、通信のプロトコル等にも依存しないエンド・エンドでのシームレスなデータ連携が可能となる。
6)ファンクション単位の独立性
 通信の経路の前と後に暗号・復号の出入り口があり、APIはさらに論理的な機能を独立に設定して、システムの拡張性を考慮できるように実装することができる。アプリケーションAPIはファンクションのID単位に動的に接続するような仕組みにすること、ファンクション単位にアソシエートアプリケーションを維持管理できるような仕組みにすることによって、ファンクション単位に運用の独立性を持たせることができる。
 以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更することが可能である。
 10  エンドポイント
 11  エンドポイントAPI
 20  中継ゲートウェイ
 30  アプリケーションゲートウェイ
 31  アプリケーションAPI
 32  アソシエートアプリDB
 33  ネットワーク情報管理メモリ
 40  PAN
 50  インターネット

Claims (10)

  1.  第1のネットワークで接続されるエンドポイントと中継ゲートウェイと、前記中継ゲートウェイと第2のネットワークで接続されるアプリケーションゲートウェイとを含むセキュアネットワークの通信方法であって
     アプリケーションゲートウェイが、エンドポイント毎にユニークな個別識別子と認証パスワードに基づき互いに非対称な第1及び第2の認証子を生成し、第2の認証子はホワイトリストに保存して管理し、第1の認証子はエンドポイントで保存するエンドポイントの初期化段階と、
     中継ゲートウェイが、エンドポイントから個別識別子と暗号化された第1の認証子から求めた演算値を含むデータを受信し、第1の認証子の正当性を判断し、正当と判断した場合は中継ゲートウェイにて生成した乱数を使用して非対称な新たな第1及び第2の認証子を生成して送信し、アプリケーションゲートウェイではホワイトリストの第2の認証子を更新し、タイムラインログを追加し、エンドポイントでは第1の認証子を更新して保存するエンドポイントの初期化時の認証段階と、
     中継ゲートウェイが、エンドポイントで生成した第1の乱数とアプリケーションゲートウェイで生成した第3の乱数を受信し、中継ゲートウェイで生成した第2の乱数と第1の乱数から暗号鍵の一部を生成してアプリケーションゲートウェイに送信し、第2の乱数と第3の乱数から暗号鍵の他の一部を生成してエンドポイントに送信し、アプリケーションゲートウェイが暗号鍵の一部と第3の乱数から暗合鍵を生成してホワイトリストに保存し、エンドポイントが暗号鍵の他の一部と第1の乱数から暗合鍵を生成して保存する共通鍵の配置段階とを有することを特徴とするセキュアネットワーク通信方法。
  2.  前記中継ゲートウェイがエンドポイントから個別識別子と暗号化された最新の第1の認証子から求めた演算値を含むデータを受信し、最新の第1の認証子の正当性を判断して、正当と判断した場合は中継ゲートウェイにて新たに生成した乱数を使用して非対称な新たな第1及び第2の認証子を生成して送信し、アプリケーションゲートウェイではホワイトリストの第2の認証子を更新し、タイムラインログを追加し、エンドポイントでは第1の認証子を更新して保存する随時認証段階をさらに有することを特徴とする請求項1に記載のセキュアネットワーク通信方法。
  3.  前記アプリケーションゲートウェイがエンドポイント、中継ゲートウェイ、及びアプリケーションゲートウェイのそれぞれで新たに生成した乱数を使用して次の通信用の新たな暗号鍵を生成してエンドポイントに送信し、エンドポイント、アプリケーションゲートウェイのそれぞれが暗号鍵を更新する随時鍵交換段階をさらに有することを特徴とする請求項1に記載のセキュアネットワーク通信方法。
  4.  前記エンドポイントの初期化段階における第2の認証子は個別識別子のハッシュ値と認証パスワードのハッシュ値とのXOR演算値であり、第1の認証子は前記第2の認証子を予め設定された認証のためのキーであるマスターキーでエンコード処理したものであることを特徴とする請求項1に記載のセキュアネットワーク通信方法。
  5.  前記エンドポイントの初期化時の認証段階において、
     前記暗号化された第1の認証子から求めた演算値は、暗号化された第1の認証子のハッシュ値であり、
     エンドポイントから受信するデータには、エンドポイントで生成した乱数のハッシュ値をさらに含み、
     第1の認証子の正当性の判断は、個別識別子に対応してホワイトリストから抽出された第2の認証子をマスターキーでデコードした結果に対するハッシュ値と前記受信した暗号化された第1の認証子のハッシュ値から求めた演算値と、受信し乱数のハッシュ値とを比較して行うことを特徴とする請求項1に記載のセキュアネットワーク通信方法。
  6.  前記エンドポイントの初期化時の認証段階における新たな第2の認証子は、中継ゲートウェイにて生成した前記乱数と個別識別子に対応してホワイトリストから抽出された第2の認証子とのXOR演算値であり、新たな第1の認証子は、前記新たな第2の認証子をマスターキーでエンコード処理したものであることを特徴とする請求項1または5に記載のセキュアネットワーク通信方法。
  7.  前記共通鍵の配置段階における前記暗号鍵の一部は、第1の乱数と第2の乱数とのXOR演算値であり、暗号鍵の他の一部は第2の乱数と第3の乱数とのXOR演算値であり、アプリケーションゲートウェイが生成する暗合鍵とエンドポイントが生成する暗合鍵はいずれも第1の乱数と第2の乱数と第3の乱数とのXOR演算値であることを特徴とする請求項1に記載のセキュアネットワーク通信方法。
  8.  前記エンドポイントで生成または取得したデータを含むペイロードを、前記中継ゲートウェイを介して前記アプリケーションゲートウェイに送信する段階をさらに含み、
     前記ペイロードは、個別識別子、機能を示すファンクションID、暗号鍵、及びデータの4つの枠で構成され、
     ペイロードのデータ枠には前記送信されるデータを最新の暗号鍵でエンコード処理した値が格納され、
     送信されたデータは、アプリケーションゲートウェイにて最新の暗号鍵でデコード処理することにより復号されることを特徴とする請求項1乃至3に記載のセキュアネットワーク通信方法。
  9.  前記第1のネットワークは無線によるローカルネットワークであり、前記第2のネットワークはTCPによるインターネットであることを特徴とする請求項1に記載のセキュアネットワーク通信方法。
  10.  前記タイムラインログの記録は個別識別子、タイムスタンプ、及び第2の認証子を認証パスワードのハッシュ値でエンコードした値をタイムラインログ記録用のメモリに保存することで行われ、
     前記タイムラインログの追加は個別識別子、新たなタイムスタンプ、及び最新の第2の認証子を認証パスワードのハッシュ値でエンコードした値をタイムラインログ記録用のメモリに追加して保存することで行われ、
     第1の認証子の初期値は、タイムラインログに記録された第2の認証子を認証パスワードのハッシュ値でエンコードした値を用いて、第2の認証子を順次デコードすることで順次更新前の第2の認証子にさかのぼり、最後に得られた第2の認証子の初期値をマスターキーでデコード処理することで求められることを特徴とする請求項1に記載のセキュアネットワーク通信方法。
PCT/JP2017/043897 2016-12-01 2017-11-30 セキュアネットワーク通信方法 WO2018101488A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/465,102 US10999073B2 (en) 2016-12-01 2017-11-30 Secure network communication method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-244851 2016-12-01
JP2016244851A JP6473876B2 (ja) 2016-12-01 2016-12-01 セキュアネットワーク通信方法

Publications (1)

Publication Number Publication Date
WO2018101488A1 true WO2018101488A1 (ja) 2018-06-07

Family

ID=62242582

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/043897 WO2018101488A1 (ja) 2016-12-01 2017-11-30 セキュアネットワーク通信方法

Country Status (3)

Country Link
US (1) US10999073B2 (ja)
JP (1) JP6473876B2 (ja)
WO (1) WO2018101488A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109842729A (zh) * 2018-12-14 2019-06-04 江苏仟略信息技术有限公司 一种交换中继电话过滤方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11645380B2 (en) * 2018-06-07 2023-05-09 Colorado State University Research Foundation Process-variability-based encryption for photonic communication architectures
US10771964B2 (en) * 2018-11-28 2020-09-08 Jpmorgan Chase Bank, N.A. Systems and methods for providing encrypted storage within application sandbox
CN112087299B (zh) * 2020-07-30 2023-04-28 宁波三星医疗电气股份有限公司 一种防窃电方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1155248A (ja) * 1997-04-23 1999-02-26 Sony Corp 情報処理装置および方法、情報処理システム、並びに提供媒体
JP2013516149A (ja) * 2009-12-28 2013-05-09 インターデイジタル パテント ホールディングス インコーポレイテッド Machine−to−machineゲートウェイアーキテクチャ
JP2015158610A (ja) * 2014-02-25 2015-09-03 大日本印刷株式会社 データ送受信システム,サーバシステムおよびデバイス
JP2016128998A (ja) * 2015-01-09 2016-07-14 日立電線ネットワークス株式会社 認証システム
WO2016147382A1 (ja) * 2015-03-19 2016-09-22 三菱電機株式会社 暗号通信システムの端末装置、暗号通信システムの中継装置、暗号通信システムの制御方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3864401B2 (ja) * 1997-04-23 2006-12-27 ソニー株式会社 認証システム、電子機器、認証方法、および記録媒体
US7096498B2 (en) * 2002-03-08 2006-08-22 Cipher Trust, Inc. Systems and methods for message threat management
US9137012B2 (en) * 2006-02-03 2015-09-15 Emc Corporation Wireless authentication methods and apparatus
DE102006038591B4 (de) * 2006-08-17 2008-07-03 Siemens Ag Verfahren und Anordnung zum Bereitstellen eines drahtlosen Mesh-Netzwerks
CA2571891C (en) * 2006-12-21 2015-11-24 Bce Inc. Device authentication and secure channel management for peer-to-peer initiated communications
EP2207302B1 (en) * 2007-11-07 2016-02-17 Nippon Telegraph and Telephone Corporation Common key setting method, relay apparatus, and program
EP2577902A2 (en) * 2010-06-03 2013-04-10 Morrigan Partners Limited Secure communication systems, methods, and devices
US9807086B2 (en) * 2015-04-15 2017-10-31 Citrix Systems, Inc. Authentication of a client device based on entropy from a server or other device
US10172000B2 (en) * 2016-03-17 2019-01-01 M2MD Technologies, Inc. Method and system for managing security keys for user and M2M devices in a wireless communication network environment
US10257163B2 (en) * 2016-10-24 2019-04-09 Fisher-Rosemount Systems, Inc. Secured process control communications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1155248A (ja) * 1997-04-23 1999-02-26 Sony Corp 情報処理装置および方法、情報処理システム、並びに提供媒体
JP2013516149A (ja) * 2009-12-28 2013-05-09 インターデイジタル パテント ホールディングス インコーポレイテッド Machine−to−machineゲートウェイアーキテクチャ
JP2015158610A (ja) * 2014-02-25 2015-09-03 大日本印刷株式会社 データ送受信システム,サーバシステムおよびデバイス
JP2016128998A (ja) * 2015-01-09 2016-07-14 日立電線ネットワークス株式会社 認証システム
WO2016147382A1 (ja) * 2015-03-19 2016-09-22 三菱電機株式会社 暗号通信システムの端末装置、暗号通信システムの中継装置、暗号通信システムの制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109842729A (zh) * 2018-12-14 2019-06-04 江苏仟略信息技术有限公司 一种交换中继电话过滤方法

Also Published As

Publication number Publication date
JP6473876B2 (ja) 2019-02-27
JP2018093456A (ja) 2018-06-14
US20190296911A1 (en) 2019-09-26
US10999073B2 (en) 2021-05-04

Similar Documents

Publication Publication Date Title
US11271730B2 (en) Systems and methods for deployment, management and use of dynamic cipher key systems
US11265709B2 (en) Efficient internet-of-things (IoT) data encryption/decryption
CN107659406B (zh) 一种资源操作方法及装置
KR101684076B1 (ko) 사물인터넷에서 스마트 디바이스 또는 스마트 센서와 네트워크 게이트웨이 사이의 안전한 데이터 전달을 위한 통신 시스템
CN103763315B (zh) 一种应用于移动设备云存储的可信数据存取控制方法
US20150350196A1 (en) Terminal authentication system, server device, and terminal authentication method
WO2018101488A1 (ja) セキュアネットワーク通信方法
CN105162772A (zh) 一种物联网设备认证与密钥协商方法和装置
US11303453B2 (en) Method for securing communication without management of states
JP5766780B2 (ja) デバイス間暗号通信方法及びこれを用いたデータ通信方法
US20170155647A1 (en) Method for setting up a secure end-to-end communication between a user terminal and a connected object
US11824999B2 (en) Chosen-plaintext secure cryptosystem and authentication
US20230032099A1 (en) Physical unclonable function based mutual authentication and key exchange
US20220209944A1 (en) Secure Server Digital Signature Generation For Post-Quantum Cryptography Key Encapsulations
US20220141004A1 (en) Efficient Internet-Of-Things (IoT) Data Encryption/Decryption
US20220006652A1 (en) Method and architecture for securing and managing networks of embedded systems with optimised public key infrastructure
WO2018076291A1 (zh) 权限令牌生成方法、系统及其设备
JP4794970B2 (ja) 秘密情報の保護方法及び通信装置
CN111277605B (zh) 数据分享方法、装置、计算机设备以及存储介质
JP6659462B2 (ja) データ送受信方法およびセンシングシステム
KR101575040B1 (ko) 이종의 계장제어 시스템간의 통신 인터페이스를 지원하는 2.5계층 보안 시스템
CN110572788B (zh) 基于非对称密钥池和隐式证书的无线传感器通信方法和系统
KR102282788B1 (ko) 트랜잭션에 포함된 평문 데이터의 변경을 지원하는 블록체인 시스템
JP2008152737A (ja) サービス提供サーバ、認証サーバ、および認証システム
WO2013175539A1 (ja) ネットワークシステム、ノード、および通信方法。

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17877133

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17877133

Country of ref document: EP

Kind code of ref document: A1