JP2024000213A - 通信システム、情報処理装置、情報処理方法、および情報処理プログラム - Google Patents

通信システム、情報処理装置、情報処理方法、および情報処理プログラム Download PDF

Info

Publication number
JP2024000213A
JP2024000213A JP2022098867A JP2022098867A JP2024000213A JP 2024000213 A JP2024000213 A JP 2024000213A JP 2022098867 A JP2022098867 A JP 2022098867A JP 2022098867 A JP2022098867 A JP 2022098867A JP 2024000213 A JP2024000213 A JP 2024000213A
Authority
JP
Japan
Prior art keywords
edge
data
communication
shared
shared key
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2022098867A
Other languages
English (en)
Inventor
康之 田中
Yasuyuki Tanaka
充 神田
Mitsuru Kanda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2022098867A priority Critical patent/JP2024000213A/ja
Priority to US18/174,882 priority patent/US20230412369A1/en
Publication of JP2024000213A publication Critical patent/JP2024000213A/ja
Pending legal-status Critical Current

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/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
    • H04L9/3242Cryptographic 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 involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • 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/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • 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/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/3247Cryptographic 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 digital signatures
    • 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/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】エッジデータが想定したエッジデバイスで生成されたものであるか否かを低処理負荷で検証する。【解決手段】通信システム1は、エッジデータを生成するエッジデバイス10と、エッジデータを利用するサービス装置20と、を備える。エッジデバイス10のメッセージ認証コード生成部は、サービス装置20と共有する共有鍵を用いてメッセージ認証コードを生成する。第1通信部は、エッジデータにメッセージ認証コードを付与した通信データである第1通信データを送信する。サービス装置20の検証部は、第1通信データに含まれるメッセージ認証コードをエッジデバイスと共有する共有鍵を用いて検証した検証結果に応じて、通信データに含まれるエッジデータの生成元を検証する。【選択図】図1

Description

本発明の実施形態は、通信システム、情報処理装置、情報処理方法、および情報処理プログラムに関する。
データ通信における相手認証にはTLS(The Transport Layer Security Protocol, IETF RFC 8446)がインターネットで広く利用されている。しかし、TLSは通信ノード間の通信路の安全性を担保するための方式である。このため、エッジデバイスと直接通信できないアプリケーションサーバはTLSを利用できず、エッジデータまたはエッジデータの認証を行うことが出来ない。
一方、JWS(JSON Web Signature, IETF RFC 7515)およびCOSE (CBOR Object Signing and Encryption, IETF RFC 8152)は、データ単位での公開鍵暗号方式によるデジタル署名を実現する。しかし、例えば、センサデータごとへの署名など、個別のエッジデータにデジタル署名を施すのは処理負荷の観点で望ましくない。すなわち、従来技術では、エッジデータが想定したエッジデバイスで生成されたものであるか否かを低処理負荷で検証することは困難であった。
IETF RFC 8446,"The Transport Layer Security (TLS) Protocol Version 1.3",[online],[2022年6月10日検索],インターネット<URL:https://www.rfc-editor.org/rfc/rfc8446> IETF RFC 7515,"JSON Web Signature (JWS)",[online],[2022年6月10日検索],インターネット<URL:https://datatracker.ietf.org/doc/html/rfc7515> IETF RFC 8152,"CBOR Object Signing and Encryption (COSE)",[online],[2022年6月10日検索],インターネット<URL:https://datatracker.ietf.org/doc/html/rfc8152>
本発明の実施形態は、エッジデータが想定したエッジデバイスで生成されたものであるか否かを低処理負荷で検証することができる、通信システム、情報処理装置、情報処理方法、および情報処理プログラムを提供することを目的とする。
実施形態の通信システムは、エッジデータを生成するエッジデバイスと、エッジデータを利用するサービス装置と、を備える。前記エッジデバイスは、メッセージ認証コード生成部と、第1通信部と、を備える。メッセージ認証コード生成部は、前記サービス装置と共有する共有鍵を用いてメッセージ認証コードを生成する。第1通信部は、前記エッジデータに前記メッセージ認証コードを付与した通信データである第1通信データを送信する。前記サービス装置は、検証部を備える。検証部は、前記第1通信データに含まれる前記メッセージ認証コードを前記エッジデバイスと共有する共有鍵を用いて検証した検証結果に応じて、前記第1通信データに含まれる前記エッジデータの生成元を検証する。
通信システムの模式図。 エッジデバイスの機能構成の模式図。 第1鍵管理情報のデータ構成を示す模式図。 第1通信データのデータ構成を示す模式図。 第1通信データのデータ構成を示す模式図。 第2通信データのデータ構成を示す模式図。 サーバ装置の機能構成の模式図。 第3鍵管理情報のデータ構成を示す模式図。 エッジデータ管理情報のデータ構成を示す模式図。 サービス装置の機能構成の模式図。 第2鍵管理情報のデータ構成を示す模式図。 エッジデバイスが実行する情報処理の流れを示すフローチャート。 サーバ装置が実行する情報処理の流れを示すフローチャート。 サービス装置が実行する情報処理の流れを示すフローチャート。 エッジデバイスの機能構成の模式図。 通信システムの模式図。 ハードウェア構成図。
以下に添付図面を参照して、本実施形態の通信システム、情報処理装置、情報処理方法、および情報処理プログラムを詳細に説明する。
なお、以下の各実施形態における説明において、同一の符号が付されている部分は実質的に同一の機能を有しており、重複部分については適宜説明を省略する。
(第1の実施形態)
図1は、本実施形態の通信システム1の一例を示す模式図である。
通信システム1は、エッジデバイス10と、サーバ装置30と、サービス装置20と、を備える。
エッジデバイス10とサーバ装置30とは、第1のネットワークNW1を介して接続されている。サーバ装置30とサービス装置20とは、第2のネットワークNW2を介して接続されている。
エッジデバイス10は、エッジデータを生成する情報処理装置である。エッジデータの詳細は後述する。エッジデバイス10は第1のネットワークNW1に接続する。図1には、1台のエッジデバイス10が第1のネットワークNW1に接続した形態を一例として示す。しかし、第1のネットワークNW1に接続するエッジデバイス10の数は、2台以上であってもよい。
サービス装置20は、エッジデバイス10から提供されたエッジデータを利用する情報処理装置である。サービス装置20は、第2のネットワークNW2に接続する。図1には、2台のサービス装置20が第2のネットワークNW2に接続した形態を一例として示す。しかし、第2のネットワークNW2に接続するサービス装置20の数は、1台または3台以上であってもよい。
サーバ装置30は、エッジデバイス10とサービス装置20との通信を中継するための情報処理装置である。サーバ装置30は、第1のネットワークNW1および第2のネットワークNW2に接続する。
第1のネットワークNW1および第2のネットワークNW2は、ネットワークの一例である。第1のネットワークNW1および第2のネットワークNW2は、ローカルエリアネットワーク、フィールドエリアネットワーク、またはインターネットを含む広域ネットワークである。第1のネットワークNW1および第2のネットワークNW2の接続形態は、有線接続および無線接続の何れであってもよい。
サーバ装置30およびサービス装置20は、所謂クラウド環境で実行されていてもよく、また、オンプレミスで実行されていてもよい。サーバ装置30およびサービス装置20は仮想化環境で動作する仮想マシンとして実行されていてもよい。
次に、本実施形態のエッジデバイス10の機能構成の一例を説明する。
図2は、エッジデバイス10の機能構成の一例の模式図である。
エッジデバイス10は、記憶部12と、制御部14と、を備える。記憶部12と制御部14とはデータまたは信号を授受可能に接続されている。
記憶部12は、各種のデータを記憶する。本実施形態では、記憶部12は、第1鍵管理情報12Aを記憶する。第1鍵管理情報12Aの詳細は後述する。
制御部14は、エッジデータ生成処理部14Aと、エッジデータ送信処理部14Bと、鍵管理部14Cと、メッセージ認証コード生成部14Dと、デジタル署名処理部14Eと、第1通信部14Fと、を備える。
エッジデータ生成処理部14A、エッジデータ送信処理部14B、鍵管理部14C、メッセージ認証コード生成部14D、デジタル署名処理部14E、および第1通信部14Fは、例えば、1または複数のプロセッサにより実現される。例えば、制御部14に含まれる各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
エッジデータ生成処理部14Aは、エッジデータを生成する。
エッジデータとは、サーバ装置30およびサービス装置20の少なくとも一方へ提供する対象のデータである。エッジデータは、例えば、エッジデバイス10に設けられたセンサから取得したセンサデータ、エッジデバイス10以外の他のデバイスに設けられたセンサから取得したセンサデータ、エッジデバイス10の内部データなどである。エッジデバイス10の内部データは、例えば、エッジデバイス10のメモリ、ストレージ、メモリまたはストレージに保存されているファイル、ファイルの設定情報、等に関する情報である。エッジデバイス10の内部データは、具体的には、メモリ使用量などである。エッジデバイス10のストレージは、例えば、記憶部12に相当する。
本実施形態では、エッジデータ生成処理部14Aは、エッジデバイス10に設けられたセンサから取得したセンサデータ、および、エッジデバイス10のメモリ使用量等の内部データを、エッジデータとして生成する形態を想定して説明する。
センサは、エッジデバイスのGPIO(General-purpose input/output)、UART(Universal Asynchronous Receiver/Transmitter)、またはI2C(Inter-Integrated Circuit)などのインタフェースに直接接続されていなくてもよい。例えば、エッジデバイス10はエッジゲートウェイとして動作し、ネットワークを介して無線接続または有線接続によりセンサからセンサデータを取得する。有線接続によりセンサデータを取得する場合、通信方式には、例えば、イーサネット(登録商標)、CAN(Controller Area Network)、BACnet(Building Automation and Control Networking protocol)などを用いればよい。無線接続によりセンサデータを取得する場合、通信方式には、WiFi(Wireless Fidelity)、Bluetooth(登録商標)、ZigBee(登録商標)などを用いればよい。
エッジデータは、サーバ装置30およびサービス装置20の少なくとも一方へ提供する対象のデータであればよく、センサから取得したセンサデータに限定されない。
エッジデータ生成処理部14Aは、エッジデバイス10に設けられたセンサ、エッジデバイス10のメモリまたはストレージ、これらに保存されているファイルおよびその設定情報、並びにネットワークを介して通信する他のセンサデバイスの情報などを用いて、これらの少なくとも一部を含むエッジデータを生成する。
エッジデータ送信処理部14Bは、エッジデータ生成処理部14Aが生成したエッジデータの送信処理を実行する。エッジデータ送信処理部14Bは鍵管理部14Cに問合せ、鍵管理部14Cがサービス装置20と共有する共有鍵を保持する場合、送信すべきエッジデータをメッセージ認証コード生成部14Dへ渡す。
鍵管理部14Cは、第1鍵管理情報12Aを予め記憶し管理する。第1鍵管理情報12Aは、共有鍵を管理するための情報である。
図3は、第1鍵管理情報12Aのデータ構成の一例を示す模式図である。
第1鍵管理情報12Aは、通信先識別情報と、共有鍵IDと、共有鍵値と、有効期限と、を対応付けた情報である。通信先識別情報とは、エッジデバイス10の通信先の情報処理装置の識別情報である。具体的には、通信先識別情報は、サービス装置20およびサーバ装置30の各々の識別情報である。サービス装置20の識別情報は、サービス識別情報の一例である。
共有鍵IDは、共有鍵の識別情報である。第1鍵管理情報12Aに登録されている共有鍵は、エッジデバイス10が対応する通信先識別情報によって識別されるサービス装置20またはサーバ装置30の各々と共有する共有鍵である。共有鍵値は、共有鍵の値である。有効期限は、共有鍵の有効期限を表す情報である。本実施形態では、共有鍵が、共有鍵ID、共有鍵値、および有効期限によって表される形態を一例として説明する。
図3に示すように、鍵管理部14Cは、共有鍵を共有する通信先ごとに、通信先識別情報と、共有鍵IDと、共有鍵値と、有効期限と、を対応付けた第1鍵管理情報12Aを管理する。なお、第1鍵管理情報12Aには、共有鍵に関連する関連情報が更に対応付けて登録されていてもよい。
共有鍵IDは、典型的には、通信先ごとに付与される。図3に示す例では、共有鍵ID”100”によって識別される共有鍵が、通信先識別情報「サービス装置A」のサービス装置20および通信先識別情報「サーバ装置C」のサーバ装置30により共有されている。しかしながら、典型的には共有鍵IDは通信先ごとに付与されるものであり、共有鍵値「AAAAAAAAAA」と共有鍵値「CCCCCCCCC」とは別の共有鍵の共有鍵値として扱われる。
本実施形態では、鍵管理部14Cは、サービス装置20またはサーバ装置30によって生成された共有鍵を受け取り、第1鍵管理情報12Aに登録することで共有鍵を管理する。
鍵管理部14Cがサービス装置20またはサーバ装置30から受け取る共有鍵には、該共有鍵の関連情報として共有鍵IDおよび有効期限を表す情報が含まれる。鍵管理部14Cは、受け取った共有鍵の共有鍵値と、関連情報に含まれる共有鍵IDおよび有効期限と、該共有鍵の送信元の情報処理装置の識別情報である通信先識別情報と、を対応付けて第1鍵管理情報12Aへ登録する。
鍵管理部14Cは、受付ける共有鍵の最長有効期間を予め設定してもよい。
予め設定した最長有効期間を超える有効期限が受け取った共有鍵に設定されていた場合を想定する。この場合、鍵管理部14Cは、該最長有効期間を超えないように該有効期限を変更した後に第1鍵管理情報12Aに登録してもよい。また、この場合、鍵管理部14Cは、受け取った共有鍵を第1鍵管理情報12Aに登録せず破棄してもよい。
また、鍵管理部14Cが、第1鍵管理情報12Aに既に登録されている共有鍵IDを関連情報として含む新たな共有鍵を受付けた場合を想定する。この場合、鍵管理部14Cは、新たな共有鍵および該共有鍵に含まれる関連情報を、第1鍵管理情報12Aに登録されている該共有鍵IDに対応付けて上書き登録してもよい。また、この場合、鍵管理部14Cは、受け取った共有鍵を第1鍵管理情報12Aに登録せず破棄してもよい。
図2に戻り説明を続ける。
メッセージ認証コード生成部14Dは、エッジデータ送信処理部14Bからエッジデータを受付けると、サービス装置20と共有する共有鍵を用いてメッセージ認証コードを生成する。
例えば、メッセージ認証コード生成部14Dは、HMAC(Hash-based Message Authentication Code)、CMAC(Cipher-based Message Authentication Code)などの方式によりメッセージ認証コードを生成すればよい。なお、メッセージ認証コード生成部14Dは、共有鍵を用いてメッセージ認証コードを生成すればよく、これらの方式に限定されない。
本実施形態では、メッセージ認証コード生成部14Dは、第1鍵管理情報12Aに登録されている1または複数の全ての共有鍵の各々を用いて、共有鍵に対応するサービス識別情報の各々によって識別されるサービス装置20の各々ごとのメッセージ認証コードを生成する。
詳細には、メッセージ認証コード生成部14Dは、第1鍵管理情報12Aにサービス装置20と共有する共有鍵が登録されている場合、第1鍵管理情報12Aに登録されている1または複数の共有鍵の各々を用いてメッセージ認証コードを生成する。また、第1鍵管理情報12Aにサービス装置20と共有する共有鍵が登録されていない場合、メッセージ認証コード生成部14Dはメッセージ認証コードを生成しない。
鍵管理部14Cは、第1鍵管理情報12Aを用いて、通信先ごとに共有鍵を管理する(図3参照)。このため、第1鍵管理情報12Aに複数の通信先の各々の共有鍵が登録されている場合、メッセージ認証コード生成部14Dは、第1鍵管理情報12Aに登録されている複数の共有鍵の各々を用いて、複数の通信先の各々用のメッセージ認証コードを生成すればよい。
すなわち、図3に示すように、第1鍵管理情報12Aには、サーバ装置30の識別情報に対応する共有鍵が登録されていてもよい。言い換えると、エッジデバイス10は、サーバ装置30と共有鍵を共有してもよい。この場合、メッセージ認証コード生成部14Dは、第1鍵管理情報12Aにおける、通信先識別情報に含まれるサーバ装置30の識別情報に対応する共有鍵を用いて、サーバ装置30用のメッセージ認証コードを更に生成してよい。
エッジデータ送信処理部14Bは、エッジデータ生成処理部14Aで生成されたエッジデータが予め定めた条件を満たした場合、該条件を満たす1または複数のエッジデータの群であるエッジデータ群を、デジタル署名処理部14Eへ渡す。
条件は、予め定めればよい。条件は、例えば、エッジデータのデータ量が第1データ量以上、または、エッジデータの保持期間が第1期間以上、などである。第1データ量および第1期間は、予め定めればよい。第1データ量は、想定される1つのエッジデータのデータ量、想定されるエッジデータのデータ量の平均値、または想定されるエッジデータのデータ量の最大値、等の値を超えるデータ量であればよい。第1期間は、想定される1つのエッジデータのデータ量、想定されるエッジデータのデータ量の平均値、または想定されるエッジデータのデータ量の最大値、等の値を超えるデータ量の保持に必要な期間を超える期間であればよい。第1データ量および第1期間は、上記制限を満たす範囲で、ユーザによる操作指示等に応じて適宜変更可能としてもよい。
すなわち、エッジデータ送信処理部14Bは、エッジデータ生成処理部14Aで生成されたエッジデータをすぐには送信しない。エッジデータ送信処理部14Bは、エッジデータ生成処理部14Aで生成されたエッジデータのデータ量が第1データ量に達するまで、または、エッジデータの保持期間が第1期間以上となるまで、エッジデータを保持する。そして、エッジデータ送信処理部14Bは、保持しているエッジデータの群であるエッジデータ群のデータ量が第1データ量以上、または、エッジデータ群の保持期間が第1期間以上となったときに、エッジデータ群をデジタル署名処理部14Eへ渡す。
なお、この条件は、ユーザによるエッジデバイス10の操作指示、およびサーバ装置30との通信などによって適宜変更可能であるものとする。
デジタル署名処理部14Eは、エッジデータが予め定めた条件を満たした場合、該条件を満たす1または複数のエッジデータの群であるエッジデータ群に対して、エッジデバイス10の秘密鍵を用いてデジタル署名を施す。
デジタル署名処理部14Eは、エッジデータ送信処理部14Bからエッジデータ群を受付けた時に、受付けたエッジデータ群に対して秘密鍵を用いてデジタル署名を施せばよい。なお、デジタル署名処理部14Eは、エッジデータ生成処理部14Aで生成されたエッジデータのデータ量が第1データ量となるまで、または、エッジデータの保持期間が第1期間以上となるまで、エッジデータを保持してもよい。そして、デジタル署名処理部14Eは、保持しているエッジデータの群であるエッジデータ群のデータ量が第1データ量以上、または、エッジデータ群の保持期間が第1期間以上となったときに、エッジデータ群に対して、秘密鍵を用いてデジタル署名を施してもよい。
デジタル署名に用いる秘密鍵は、エッジデータ送信処理部14B、デジタル署名処理部14E、または記憶部12に予め保存されていればよい。秘密鍵を保存するストレージである記憶部12やその仕組みについては、公知の仕組みを用いればよい。
第1通信部14Fは、メッセージ認証コード生成部14Dによってメッセージ認証コードが生成された場合、エッジデータにメッセージ認証コードを付与した通信データである第1通信データを送信する。また、第1通信部14Fは、デジタル署名処理部14Eによってデジタル署名が施された場合、デジタル署名を施されたエッジデータ群である第2通信データを送信する。
すなわち、第1通信部14Fは、第1通信データおよび第2通信データの少なくとも一方を、通信データとしてサーバ装置30へ送信する。
第1通信データおよび第2通信データは、通信データの一例である。第1通信データとは、メッセージ認証コードが付与されたエッジデータである。第2通信データとは、デジタル署名を施されたエッジデータ群である。
図4A~図4Cは、通信データ40のデータ構成の一例の模式図である。
図4Aは、第1通信データ40Aのデータ構成の一例を示す模式図である。例えば、第1通信データ40Aは、1つのエッジデータに対して複数のメッセージ認証コードを付与した通信データ40である。
具体的には、例えば、第1通信データ40Aは、1つのエッジデータと、該エッジデータに対するサービス識別情報「サービス装置A」のサービス装置20用のメッセージ認証コードと、該エッジデータに対するサービス識別情報「サービス装置B」のサービス装置20用のメッセージ認証コードと、を含む。サービス識別情報「サービス装置A」および「サービス装置B」は、第1鍵管理情報12Aに共有鍵が登録されているサービス装置20のサービス識別情報である。
図4Bは、第1通信データ40Aの他のデータ構成の一例を示す模式図である。例えば、第1通信データ40Aは、1つのエッジデータに対して1つのメッセージ認証コードを付与した通信データ40である。
具体的には、例えば、第1通信部14Fは、第1通信データ40A1および第1通信データ40A2を第1通信データ40Aとして送信する。
第1通信データ40A1は、1つのエッジデータと、該エッジデータに対するサービス識別情報「サービス装置A」のサービス装置20用のメッセージ認証コードと、を含む。第1通信データ40A2は、1つのエッジデータと、該エッジデータに対するサービス識別情報「サービス装置B」のサービス装置20用のメッセージ認証コードと、を含む。
このように、第1通信データ40Aは、1つのエッジデータに対して複数の通信先の各々用のメッセージ認証コードを付与した通信データ40、1つのエッジデータに対して1つの通信先のメッセージ認証コードを付与した通信データ40、の何れであってもよい。
図4Cは、第2通信データ40Bのデータ構成の一例を示す模式図である。第2通信データ40Bは、複数のエッジデータからなるエッジデータ群に対してデジタル署名を施した通信データ40である。
図2に戻り説明を続ける。エッジデバイス10の第1通信部14Fは、第1通信データ40Aおよび第2通信データ40Bの少なくとも一方を含む通信データ40を、第1のネットワークNW1を介してサーバ装置30へ送信する。
なお、第1鍵管理情報12Aに共有鍵が登録されていない場合がある。すなわち、エッジデバイス10が、何れのサーバ装置30およびサービス装置20とも有効な共有鍵を共有していない場合がある。この場合、エッジデバイス10の制御部14は、メッセージ認証コードの生成、メッセー認証コードの付与、およびデジタル署名の付与を行わず、エッジデータを通信データ40としてサーバ装置30へ送信してもよい。
次に、サーバ装置30の機能構成の一例を説明する。
図5は、サーバ装置30の機能構成の一例の模式図である。
サーバ装置30は、記憶部32と、制御部34と、を備える。記憶部32と制御部34とはデータまたは信号を授受可能に接続されている。
記憶部32は、各種のデータを記憶する。本実施形態では、記憶部32は、第3鍵管理情報32Aおよびエッジデータ管理情報32Bを記憶する。第3鍵管理情報32Aおよびエッジデータ管理情報32Bの詳細は後述する。
制御部34は、第3通信部34Aと、検証部34Dと、鍵管理部34Eと、エッジデータ管理部34Fと、を備える。第3通信部34Aは、第4通信部34Bおよび第5通信部34Cを含む。第3通信部34A、第4通信部34B、第5通信部34C、検証部34D、鍵管理部34E、およびエッジデータ管理部34Fは、例えば、1または複数のプロセッサにより実現される。
第3通信部34Aは、エッジデバイス10から受信した通信データ40をサービス装置20へ送信する。
第3通信部34Aは、第4通信部34Bと、第5通信部34Cと、を含む。
第4通信部34Bは、第1のネットワークNW1を介してエッジデバイス10と通信する。第4通信部34Bは、エッジデバイス10から通信データ40を受信する。また、第4通信部34Bは、エッジデバイス10に対してサーバ装置30またはサービス装置20と共有する共有鍵を送信する。サーバ装置30の第4通信部34Bとエッジデバイス10の第1通信部14Fとの通信部間では、HTTP(HyperText Transfer Protocol)またはMQTT(Message Queueing Telemetry Transport)などの通信プロトコルを用いてデータの送受信を行う。このデータの送受信は、TLS(Transport Layer Security)やIPsec(Security Architecture for Internet Protocol)などにより保護されていてもよい。
鍵管理部34Eは、第3鍵管理情報32Aを予め記憶し管理する。第3鍵管理情報32Aは、共有鍵を管理するための情報である。
図6は、第3鍵管理情報32Aのデータ構成の一例を示す模式図である。
第3鍵管理情報32Aは、第1鍵管理情報12Aと同様に、通信先識別情報と、共有鍵IDと、共有鍵値と、有効期限と、を対応付けた情報である。通信先識別情報、共有鍵ID、共有鍵値、および有効期限の詳細は、上述したためここでは説明を省略する。本実施形態では、第3鍵管理情報32Aには、エッジデバイス10と共有する共有鍵が登録されている。
図5に戻り説明を続ける。
例えば、鍵管理部34Eは、エッジデバイス10と共有する共有鍵を生成し、予めエッジデバイス10へ送信すればよい。
具体的には、例えば、鍵管理部34Eは、エッジデバイス10と共有する共有鍵を生成する。鍵管理部34Eは共有鍵の生成時に、共有鍵の値である共有鍵値に加えて、共有鍵IDおよび有効期限の設定も行う。すなわち、鍵管理部34Eは第3鍵管理情報32Aを生成する。鍵管理部34Eは、生成した共有鍵をエッジデバイス10の公開鍵で暗号化し、エッジデバイス10へ送信する。エッジデバイス10へ送信された暗号化された共有鍵は、エッジデバイス10の秘密鍵でのみ復号可能である。このため、サーバ装置30とエッジデバイス10とで共有鍵を安全に共有することができる。
なお、事前に、ユーザによる手作業等によって、エッジデバイス10およびサーバ装置30の各々に、これらのエッジデバイス10とサーバ装置30で共有する共有鍵を予め設定してもよい。また、エッジデバイス10とサーバ装置30は、他の通信手段を用いて共有鍵を共有してもよい。また、エッジデバイス10とサーバ装置30は、上記以外の方法を用いて共有鍵を共有してもよい。
第4通信部34Bは、エッジデバイス10から受信した通信データ40を検証部34Dへ渡す。
検証部34Dは、第4通信部34Bでエッジデバイス10から受信した通信データ40を検証する。詳細には、まず、検証部34Dは、受信した通信データ40が第1通信データ40Aであるか第2通信データ40Bであるかを判断する。
検証部34Dは、エッジデバイス10から受信した通信データ40が第2通信データ40Bである場合、エッジデバイス10の公開鍵を用いて該第2通信データ40Bを検証する。エッジデバイス10の公開鍵は、鍵管理部34Eによって予め管理されているものとする。
すなわち、検証部34Dは、第2通信データ40Bに含まれるエッジデータ群に施されたデジタル署名を、エッジデバイス10の公開鍵を用いて検証した検証結果に応じて、第2通信データ40Bに含まれるエッジデータ群の生成元を検証する。
詳細には、検証部34Dは、通信データ40に含まれるエッジデータ群が、検証に用いた公開鍵に対応するエッジデバイス10で生成されたか否かを、該公開鍵を用いて検証する。検証に成功した場合、検証部34Dは、通信データ40に含まれるエッジデータ群の生成元が、検証に用いた公開鍵に対応するエッジデバイス10であることを検証する。検証に失敗した場合、検証部34Dは、通信データ40に含まれるエッジデータ群の生成元が、検証に用いた公開鍵に対応するエッジデバイス10ではないことを検証する。
エッジデバイス10から受信した通信データが第1通信データ40Aであり、且つ、該第1通信データ40Aに含まれるメッセージ認証コードが当該サーバ装置30の共有鍵で生成されている場合を想定する。この場合、検証部34Dは、該エッジデバイス10の通信先識別情報に対応する共有鍵を第3鍵管理情報32Aから特定する。そして、検証部34Dは、特定した共有鍵を用いて、該第1通信データ40Aを検証する。検証に成功した場合、検証部34Dは、通信データ40に含まれるエッジデータの生成元が、検証に用いた共有鍵に対応するエッジデバイス10であることを検証する。検証に失敗した場合、検証部34Dは、通信データ40に含まれるエッジデータの生成元が、検証に用いた共有鍵に対応するエッジデバイス10ではないことを検証する。
検証に成功した場合、検証部34Dは、検証に用いた通信データ40をエッジデータ管理部34Fへ渡す。
エッジデバイス10から受信した通信データが第1通信データ40Aであり、且つ、該第1通信データ40Aに含まれるメッセージ認証コードがサービス装置20の共有鍵で生成されている場合を想定する。この場合、検証部34Dは、検証を省略する。そして、検証部34Dは、検証を省略した第1通信データ40Aをエッジデータ管理部34Fへ渡す。
エッジデータ管理部34Fは、エッジデバイス10から受信した通信データ40を管理する。すなわち、エッジデータ管理部34Fは、エッジデバイス10から受信した通信データ40に含まれるエッジデータを管理する。
本実施形態では、エッジデータ管理部34Fは、エッジデバイス10から受信した通信データ40をエッジデータ管理情報32Bに登録する。
図7は、エッジデータ管理情報32Bのデータ構成の一例を示す模式図である。
エッジデータ管理情報32Bは、生成時刻と、受信時刻と、エッジデータと、生成元検証済みと、メッセージ認証コードと、デジタル署名と、を対応付けた情報である。
生成時刻は、通信データ40に含まれるエッジデータの生成時刻である。受信時刻は、通信データ40をサーバ装置30で受信した受信時刻である。生成元検証済みは、検証部34Dによって通信データ40が検証済であるか否かを表す情報である。メッセージ認証コードは、通信データ40に含まれるエッジデータに付与されたメッセージ認証コードである。デジタル署名は、通信データ40に含まれるエッジデータ群に施されたデジタル署名である。
エッジデータ管理部34Fは、検証部34Dによる検証が成功した場合、「生成元検証済み」のフィールドに、生成元が検証済であることを表す情報を登録すればよい。また、エッジデータ管理部34Fは、検証部34Dによる検証が失敗した場合、「生成元検証済み」のフィールドに、生成元が検証未または検証失敗であることを表す情報を登録すればよい。
エッジデータ管理部34Fは、エッジデバイス10ごとに、図7に示すエッジデータ管理情報32Bを生成し管理してもよい。また、エッジデータ管理情報32Bには、検証結果に応じて、エッジデータの生成元であるエッジデバイス10の識別情報を更に対応付けて登録してもよい。エッジデバイス10の識別情報は、エッジ識別情報に相当する。
図5に戻り説明を続ける。
エッジデータ管理部34Fは、サービス装置20からの要求に従って、エッジデータを含む通信データ40をサービス装置20へ提供する。エッジデータ管理部34Fは、第5通信部34Cを介してサービス装置20へ通信データ40を送信する。
詳細には、エッジデータ管理部34Fは、サービス装置20からデータ取得要求を受信したときに、該データ取得要求によって要求されたエッジデータを含む通信データ40を、該サービス装置20へ送信する。
具体的には、データ取得要求によって要求されたエッジデータを含む通信データ40にメッセージ認証コードが付与されている場合を想定する。この場合、エッジデータ管理部34Fは、該メッセージ認証コードおよび該エッジデータを含む第1通信データ40Aをサービス装置20へ送信する。
また、データ取得要求によって要求されたエッジデータを含む通信データ40にメッセージ認証コードが付与されておらず、且つ、通信データ40に含まれるエッジデータ群にデジタル署名が施されている場合を想定する。この場合、エッジデータ管理部34Fは、該通信データ40である第2通信データ40Bを、サービス装置20へ送信する。すなわち、エッジデータ管理部34Fは、要求されたエッジデータを含むエッジデータ群と該エッジデータ群に施されたデジタル署名とを含む第2通信データ40Bを、サービス装置20へ送信する。
また、データ取得要求によって要求されたエッジデータを含む通信データ40に、メッセージ認証コードが付与されておらず、且つ、該エッジデータを含むエッジデータ群にデジタル署名が施されていない場合を想定する。この場合、エッジデータ管理部34Fは、該通信データ40を破棄してもよい。また、エッジデータ管理部34Fは、メッセージ認証コードが付与されておらず、且つ、デジタル署名を施されていないエッジデータを含む通信データ40を、サービス装置20へ送信してもよい。
エッジデータ管理部34Fは、データ取得要求に応じて、サーバ装置30で検証済のエッジデータを含む通信データ40のみをサービス装置20へ送信してもよい。また、エッジデータ管理部34Fは、サーバ装置30で検証済であるか否かに拘わらず、通信データ40をサービス装置20へ送信してもよい。検証済のエッジデータとは、エッジデータ管理情報32Bの生成元検証済フィールドに、検証成功または検証失敗を表す情報が登録されているエッジデータである。
また、エッジデータ管理部34Fは、データ取得要求に応じて、メッセージ認証コードおよびデジタル署名の少なくとも一方が付与されたエッジデータを含む通信データ40を、サービス装置20へ送信してもよい。例えば、サービス装置20が、図7に示すエッジデータ管理情報32Bにおける、生成時刻「2022年4月15日10:00」のエッジデータについて、メッセージ認証コード付きの提供を要求するデータ取得要求をサーバ装置30へ送信した場面を想定する。この場合、サーバ装置30のエッジデータ管理部34Fは、エッジデータ管理情報32Bにおける、生成時刻「2022年4月15日10:00」に対応するエッジデータに対応するメッセージ認証コードを付与した第1通信データ40Aを、該サービス装置20へ送信すればよい。
また、エッジデータ管理部34Fは、データ所得要求によって要求されたエッジデータを含む通信データ40として、更に、エッジデータ管理情報32Bにおける対応する受信時刻を表す情報を含めた通信データ40をサービス装置20へ送信してもよい。
なお、エッジデータ管理情報32Bは、受信時刻を含む形態であってもよく、また受信時刻を含まない形態であってもよい。エッジデータ管理情報32Bが受信時刻を含む場合、受信時刻によって表される時刻に対応するエッジデータが確かに存在したことをサーバ装置30で管理することができる。
第5通信部34Cは、第2のネットワークNW2を介してサービス装置20と通信する。第5通信部34Cとサービス装置20の通信部との通信部間では、HTTPまたはMQTTなどの通信プロトコルを用いてデータの送受信を行う。このデータの送受信は、TLSやIPsecなどにより保護されていてもよい。
第5通信部34Cは、エッジデータ管理部34Fからサービス装置20宛てに提供された通信データ40を、第2のネットワークNW2を介してサービス装置20へ送信する。詳細には、第5通信部34Cは、サービス装置20宛てに送信された通信データ40をエッジデータ管理部34Fから受付け、サービス装置20へ送信する。
次に、サービス装置20の機能構成の一例を説明する。
図8は、サービス装置20の機能構成の一例の模式図である。
サービス装置20は、記憶部22と、制御部24と、を備える。記憶部22と制御部24とはデータまたは信号を授受可能に接続されている。
記憶部22は、各種のデータを記憶する。本実施形態では、記憶部22は、第2鍵管理情報22Aおよびエッジデータ管理情報22Bを記憶する。第2鍵管理情報22Aおよびエッジデータ管理情報22Bの詳細は後述する。
制御部24は、第2通信部24Aと、共有鍵生成部24Bと、共有鍵送信部24Cと、鍵管理部24Dと、検証部24Eと、エッジデータ管理部24Fと、を備える。第2通信部24A、共有鍵生成部24B、共有鍵送信部24C、鍵管理部24D、検証部24E、およびエッジデータ管理部24Fは、例えば、1または複数のプロセッサにより実現される。
第2通信部24Aは、第2のネットワークNW2を介してサーバ装置30と通信する。第2通信部24Aは、例えば、エッジデバイス10と共有する共有鍵をサーバ装置30へ送信する。また、第2通信部24Aは、サーバ装置30から通信データ40を受信する。また、第2通信部24Aは、サーバ装置30を介してエッジデバイス10と直接通信することで、共有鍵を共有してもよい。
共有鍵生成部24Bは、エッジデバイス10と共有する共有鍵を生成する。共有鍵生成部24Bは、共有鍵の生成時に、共有鍵の値である共有鍵値に加えて共有鍵IDおよび有効期限の設定も行う。すなわち、共有鍵生成部24Bは、第2鍵管理情報22Aを生成する。
図9は、第2鍵管理情報22Aのデータ構成の一例を示す模式図である。第2鍵管理情報22Aは、通信先識別情報と、共有鍵IDと、共有鍵値と、有効期限と、を対応付けた情報である。
鍵管理部24Dは、共有鍵生成部24Bで生成された共有鍵を管理する。すなわち、鍵管理部24Dは、共有鍵生成部24Bで生成された共有鍵が登録された第2鍵管理情報22Aを記憶部22に記憶し管理する。鍵管理部24Dは、通信先ごとに共有鍵を管理する。サービス装置20の通信先はエッジデバイス10である。このため、第2鍵管理情報22Aには、通信先識別情報として、エッジデバイス10の識別情報であるデバイス識別情報が登録される。また、鍵管理部24Dは、エッジデバイス10の公開鍵を予め登録し管理する。
共有鍵送信部24Cは、共有鍵生成部24Bで生成された共有鍵をエッジデバイス10の公開鍵で暗号化し、サーバ装置30へ送信する。サーバ装置30の第3通信部34Aは、サービス装置20から受信した暗号化された共有鍵をエッジデバイス10へ送信する。
共有鍵送信部24Cによる暗号化された共有鍵のエッジデバイス10への送信は、エッジデバイス10へのプッシュ型通信、エッジデバイス10からのプル型通信、の何れであってもよい。
エッジデバイス10へ送信された暗号化された共有鍵は、エッジデバイス10の秘密鍵でのみ復号可能である。このため、サービス装置20とエッジデバイス10とで共有鍵を安全に共有することができる。
また、共有鍵送信部24Cは、必要に応じて署名を更に付与し、エッジデバイス10と共有する共有鍵をサービス装置20の秘密鍵で保護してもよい。なお、事前に、ユーザによる手作業等によって、エッジデバイス10およびサービス装置20の各々に、これらのエッジデバイス10とサービス装置20で共有する共有鍵を予め設定してもよい。また、エッジデバイス10とサービス装置20は、他の通信手段を用いて共有鍵を共有してもよい。また、エッジデバイス10とサービス装置20は、上記以外の方法を用いて共有鍵を共有してもよい。
ユーザによる操作部の操作指示等によって、第2通信部24Aは、データ取得要求をサーバ装置30へ送信する。データ取得要求には、取得要求するエッジデータの識別情報などが含まれる。
第2通信部24Aは、データ取得要求に対する応答として、サーバ装置30から通信データ40を受信する。第2通信部24Aは、サーバ装置30から受信した通信データ40を検証部24Eへ渡す。
検証部24Eは、第2通信部24Aでサーバ装置30から受信した通信データ40を検証する。詳細には、まず、検証部24Eは、受信した通信データ40が第1通信データ40Aであるか第2通信データ40Bであるかを判断する。
サーバ装置30から受信した通信データ40が、メッセージ認証コードを付与されたエッジデータ、すなわち第1通信データ40Aである場合を想定する。この場合、検証部24Eは、第1通信データ40Aに含まれるメッセージ認証コードを、エッジデバイス10と共有する共有鍵を用いて検証した検証結果に応じて、第1通信データ40Aに含まれるエッジデータの生成元を検証する。
すなわち、検証部24Eは、サーバ装置30から受信した通信データ40に含まれるエッジデータが、検証に用いた共有鍵に対応するエッジデバイス10で生成されたか否かを、該共有鍵を用いて検証する。検証に成功した場合、検証部24Eは、通信データ40に含まれるエッジデータの生成元が、検証に用いた共有鍵に対応するエッジデバイス10であることを検証する。検証に失敗した場合、検証部24Eは、通信データ40に含まれるエッジデータの生成元が、検証に用いた共有鍵に対応するエッジデバイス10ではないことを検証する。
一方、サーバ装置30から受信した通信データ40が、デジタル署名を施されたエッジデータ群、すなわち第2通信データ40Bである場合を想定する。この場合、検証部24Eは、エッジデバイス10の公開鍵を用いて該第2通信データ40Bを検証する。
すなわち、検証部24Eは、第2通信データ40Bに含まれるエッジデータ群に施されたデジタル署名を、エッジデバイス10の公開鍵を用いて検証した検証結果に応じて、第2通信データ40Bに含まれるエッジデータ群の生成元を検証する。
詳細には、検証部24Eは、通信データ40に含まれるエッジデータ群が、検証に用いた公開鍵に対応するエッジデバイス10で生成されたか否かを、該公開鍵を用いて検証する。検証に成功した場合、検証部24Eは、通信データ40に含まれるエッジデータ群の生成元が、検証に用いた公開鍵に対応するエッジデバイス10であることを検証する。検証に失敗した場合、検証部24Eは、通信データ40に含まれるエッジデータ群の生成元が、検証に用いた公開鍵に対応するエッジデバイス10ではないことを検証する。
検証部24Eは、検証に用いた通信データ40および検証結果をエッジデータ管理部24Fへ渡す。
エッジデータ管理部24Fは、サーバ装置30から受信した通信データ40を管理する。すなわち、エッジデータ管理部24Fは、サーバ装置30から受信した通信データ40に含まれるエッジデータを管理する。
本実施形態では、エッジデータ管理部24Fは、サーバ装置30から受信した通信データ40をエッジデータ管理情報22Bに登録する。エッジデータ管理情報22Bのデータ構成は、エッジデータ管理情報32Bと同様である(図7参照)。
エッジデータ管理部24Fは、検証部24Eによる検証が成功した通信データ40のみをエッジデータ管理情報22Bへ登録してもよい。このとき、エッジデータ管理部24Fは、エッジデータ管理情報22Bの「生成元検証済み」のフィールドに、生成元が検証済であることを表す情報を登録すればよい。そして、エッジデータ管理部24Fまたは検証部24Eは、検証に失敗した通信データ40を破棄してもよい。
また、エッジデータ管理部24Fは、検証部24Eによる検証が失敗した通信データ40についても、エッジデータ管理情報22Bへ登録してもよい。この場合、エッジデータ管理部24Fは、エッジデータ管理情報22Bにおける「生成元検証済み」のフィールドに、生成元が検証未または検証失敗であることを表す情報を登録すればよい。
次に、本実施形態の通信システム1で実行する情報処理の流れの一例を説明する。
図10は、エッジデバイス10が実行する情報処理の流れの一例を示すフローチャートである。
図10では、エッジデバイス10とサービス装置20とで共有する共有鍵が第1鍵管理情報12Aに登録されている場合を想定して説明する。
エッジデバイス10のエッジデータ生成処理部14Aは、エッジデータを生成する(ステップS100)。
メッセージ認証コード生成部14Dは、ステップS100で生成されたエッジデータに対して、第1鍵管理情報12Aに登録されている共有鍵を用いて、通信先の各々ごとのメッセージ認証コードを生成する(ステップS102)。メッセージ認証コード生成部14Dは、ステップ100で生成したエッジデータにステップS102で生成したメッセージ認証コードを付与した第1通信データ40Aを生成する(ステップS104)。
エッジデータ送信処理部14Bは、ステップS100で生成されたエッジデータが予め定めた条件を満たすか否かを判断する(ステップS106)。例えば、エッジデータ送信処理部14Bは、ステップS100で生成されたエッジデータのデータ量が第1データ量以上であるか否か、または、ステップS100で生成されたエッジデータを含むエッジデータ群の保持期間が第1期間以上であるか否か、を判別する。ステップS100で生成されたエッジデータを含むエッジデータ群の保持期間には、エッジデータ群に含まれる複数のエッジデータの内、保持期間が最も長いエッジデータの保持期間を用いればよい。
ステップS106で否定判断すると(ステップS106:No)、ステップS110へ進む。ステップS106で肯定判断すると(ステップS106:Yes)、ステップS108へ進む。
ステップS108では、デジタル署名処理部14Eは、条件を満たすエッジデータの群であるエッジデータ群に対して、エッジデバイス10の秘密鍵を用いてデジタル署名を施す(ステップS108)。ステップS108の処理によって、デジタル署名処理部14Eは、第2通信データ40Bを生成する。
第1通信部14Fは、ステップS104で生成された第1通信データ40AおよびステップS108で生成された第2通信データ40Bの少なくとも一方を含む通信データ40を、サーバ装置30へ送信する(ステップS110)。そして、本ルーチンを終了する。
図11は、サーバ装置30が実行する情報処理の流れの一例を示すフローチャートである。
図11では、エッジデバイス10とサーバ装置30とで共有する共有鍵が、エッジデバイス10の第1鍵管理情報12Aおよびサーバ装置30の第3鍵管理情報32Aに登録されている場合を想定して説明する。
第4通信部34Bがエッジデバイス10から通信データ40を受信する(ステップS200)。
検証部34Dは、ステップS200で受信した通信データ40が第2通信データ40Bであるか否かを判断する(ステップS202)。通信データ40が第2通信データ40Bである場合(ステップS202:Yes)、ステップS204へ進む。
ステップS204では、検証部34Dは、エッジデバイス10の公開鍵を用いて第2通信データ40Bを検証する(ステップS204)。検証部34Dは、第2通信データ40Bに含まれるエッジデータ群が、検証に用いた公開鍵に対応するエッジデバイス10で生成されたか否かを、該公開鍵を用いて検証する。検証に成功した場合、検証部34Dは、第2通信データ40Bに含まれるエッジデータ群の生成元が、検証に用いた公開鍵に対応するエッジデバイス10であることを検証する。検証に失敗した場合、検証部34Dは、第2通信データ40Bに含まれるエッジデータ群の生成元が、検証に用いた公開鍵に対応するエッジデバイス10ではないことを検証する。
エッジデータ管理部34Fは、ステップS200で受信した通信データ40およびステップS204の検証結果を対応付けてエッジデータ管理情報32Bへ登録する(ステップS206)。そして、ステップS214へ進む。
ステップS202で否定判断すると(ステップS202:No)、ステップS208へ進む。ステップS208では、検証部34Dは、ステップS200で受信した通信データ40が第1通信データ40Aであるか否かを判断する(ステップS208)。詳細には、検証部34Dは、ステップS200で受信した通信データ40が第1通信データ40Aであり、且つ、該第1通信データ40Aに含まれるメッセージ認証コードが当該サーバ装置30の共有鍵で生成されているか否かを判断する。
ステップS208で肯定判断すると(ステップS208:Yes)、ステップS210へ進む。
ステップS210では、検証部34Dは、ステップS200で受信した通信データ40である第1通信データ40Aを、第3鍵管理情報32Aに登録されている共有鍵を用いて検証する(ステップS210)。すなわち、検証部34Dは、エッジデバイス10と当該サーバ装置30とで共有する共有鍵を用いて、第1通信データ40Aに含まれるエッジデータを検証する。検証に成功した場合、検証部34Dは、第1通信データ40Aに含まれるエッジデータの生成元が、検証に用いた共有鍵に対応するエッジデバイス10であることを検証する。検証に失敗した場合、検証部34Dは、第1通信データ40Aに含まれるエッジデータ群の生成元が、検証に用いた共有鍵に対応するエッジデバイス10ではないことを検証する。
エッジデータ管理部34Fは、ステップS200で受信した通信データ40およびステップS210の検証結果を対応付けてエッジデータ管理情報32Bへ登録する(ステップS212)。そして、ステップS214へ進む。
ステップS208で否定判断した場合(ステップS208:No)、検証部34Dは、検証を省略する。そして、検証部34Dは、検証を省略した通信データ40をエッジデータ管理部34Fへ渡し、ステップS214へ進む。
ステップS214では、エッジデータ管理部34Fは、サービス装置20からデータ取得要求を受信したか否かを判断する(ステップS214)。ステップS214で否定判断すると(ステップS214:No)、本ルーチンを終了する。ステップS214で肯定判断すると(ステップS214:Yes)、ステップS216へ進む。
ステップS216では、エッジデータ管理部34Fは、ステップS214で受信したデータ取得要求に応じた通信データ40を、第5通信部34Cを介してサービス装置20へ送信する(ステップS216)。そして、本ルーチンを終了する。
図12は、サービス装置20が実行する情報処理の流れの一例を示すフローチャートである。
図12では、エッジデバイス10とサービス装置20とで共有する共有鍵が、エッジデバイス10の第1鍵管理情報12Aおよびサービス装置20の第2鍵管理情報22Aに登録されている場合を想定して説明する。
第2通信部24Aがサーバ装置30から通信データ40を受信する(ステップS300)。
検証部24Eは、ステップS300で受信した通信データ40が、デジタル署名を施されたエッジデータ群、すなわち第2通信データ40Bであるか否かを判断する(ステップS302)。通信データ40が第2通信データ40Bである場合(ステップS302:Yes)、ステップS304へ進む。
ステップS304では、検証部24Eは、エッジデバイス10の公開鍵を用いて第2通信データ40Bを検証する(ステップS304)。検証部24Eは、第2通信データ40Bに含まれるエッジデータ群が、検証に用いた公開鍵に対応するエッジデバイス10で生成されたか否かを、該公開鍵を用いて検証する。検証に成功した場合、検証部24Eは、第2通信データ40Bに含まれるエッジデータ群の生成元が、検証に用いた公開鍵に対応するエッジデバイス10であることを検証する。検証に失敗した場合、検証部24Eは、第2通信データ40Bに含まれるエッジデータ群の生成元が、検証に用いた公開鍵に対応するエッジデバイス10ではないことを検証する。
エッジデータ管理部24Fは、ステップS300で受信した通信データ40およびステップS304の検証結果を対応付けてエッジデータ管理情報22Bへ登録する(ステップS306)。そして、本ルーチンを終了する。
ステップS302で否定判断すると(ステップS302:No)、ステップS308へ進む。ステップS308では、検証部24Eは、ステップS300で受信した通信データ40がメッセージ認証コードを付与されたエッジデータ、すなわち第1通信データ40Aであるか否かを判断する(ステップS308)。
ステップS308で肯定判断すると(ステップS308:Yes)、ステップS310へ進む。ステップS308で否定判断すると(ステップS308:No)、本ルーチンを終了する。
ステップS310では、検証部24Eは、ステップS300で受信した通信データ40である第1通信データ40Aを、第2鍵管理情報22Aに登録されている共有鍵を用いて検証する(ステップS310)。すなわち、検証部24Eは、エッジデバイス10と当該サービス装置20とで共有する共有鍵を用いて、第1通信データ40Aに含まれるエッジデータを検証する。検証に成功した場合、検証部24Eは、第1通信データ40Aに含まれるエッジデータの生成元が、検証に用いた共有鍵に対応するエッジデバイス10であることを検証する。検証に失敗した場合、検証部24Eは、第1通信データ40Aに含まれるエッジデータ群の生成元が、検証に用いた共有鍵に対応するエッジデバイス10ではないことを検証する。
エッジデータ管理部24Fは、ステップS300で受信した通信データ40およびステップS310の検証結果を対応付けてエッジデータ管理情報22Bへ登録する(ステップS212)。そして、本ルーチンを終了する。
ステップS308で否定判断した場合(ステップS308:No)、検証部24Eは、検証を省略する。そして、検証部24Eは、検証を省略した通信データ40をエッジデータ管理部24Fへ渡し、本ルーチン終了する。エッジデータ管理部24Fは、検証部24Eから受付けた検証を省略された通信データ40を破棄してもよいし、エッジデータ管理情報22Bへ登録してもよい。
以上説明したように、本実施形態の通信システム1は、エッジデータを生成するエッジデバイス10と、エッジデータを利用するサービス装置20と、を備える。エッジデバイス10は、メッセージ認証コード生成部14Dと、第1通信部14Fと、を備える。メッセージ認証コード生成部14Dは、サービス装置20と共有する共有鍵を用いてメッセージ認証コードを生成する。第1通信部14Fは、エッジデータにメッセージ認証コードを付与した第1通信データ40Aを送信する。サービス装置20は、検証部24Eを備える。検証部24Eは、第1通信データ40Aに含まれるメッセージ認証コードをエッジデバイスと共有する共有鍵を用いて検証した検証結果に応じて、第1通信データ40Aに含まれるエッジデータの生成元を検証する。
このように、本実施形態の通信システム1では、エッジデータを提供するエッジデバイス10は、サービス装置20と共有する共有鍵を用いて生成したメッセージ認証コードを付与したエッジデータを含む第1通信データ40Aを、サービス装置20へ送信する。サービス装置20は、第1通信データ40Aに含まれるメッセージ認証コードをエッジデバイス10と共有する共有鍵を用いて検証した検証結果に応じて、エッジデータの生成元を検証する。このため、本実施形態の通信システム1は、処理負荷の小さい共有鍵およびメッセージ認証コードによる生成元検証を実現することができる。
従って、本実施形態の通信システム1は、エッジデータが想定したエッジデバイス10で生成されたものであるか否かを低処理負荷で検証することができる。
また、本実施形態の通信システム1では、エッジデバイス10は、サーバ装置30を介してサービス装置20と通信する。このように、エッジデバイス10とサービス装置20とが直接通信せず他のデバイスを介して通信する場合であっても、本実施形態の通信システム1は、共有鍵およびメッセージ認証コードによる生成元検証を実現することで、低処理負荷で上記検証を行うことができる。
また、本実施形態の通信システム1のエッジデバイス10は、デジタル署名処理部14Eを更に備えることができる。デジタル署名処理部14Eは、エッジデータが予め定めた条件を満たした場合、該条件を満たす1または複数のエッジデータの群であるエッジデータ群に対して、エッジデバイス10の秘密鍵を用いてデジタル署名を施す。そして、サービス装置20の検証部24Eは、エッジデバイス10から受信した第2通信データ40Bに含まれるエッジデータ群に施されたデジタル署名を、エッジデバイス10の公開鍵を用いて検証した検証結果に応じて、第2通信データ40Bに含まれるエッジデータ群の生成元を検証する。条件は、例えば、エッジデータのデータ量が第1データ量以上、または、エッジデータの保持期間が第1期間以上、などである。
すなわち、本実施形態の通信システム1では、メッセージ認証コードを用いる場合に比べて処理負荷の大きいデジタル署名を施す場合、第1期間以上保持したエッジデータを含むエッジデータ群、または、第1データ量以上のエッジデータの群であるエッジデータ群に対して、デジタル署名を施す。そして、サービス装置20の検証部24Eは、エッジデータ群に施されたデジタル署名を、エッジデバイス10の公開鍵を用いて検証した検証結果に応じて、第2通信データ40Bに含まれるエッジデータ群の生成元を検証する。
このように、本実施形態の通信システム1では、メッセージ認証コードを用いる場合に比べて処理負荷の大きいデジタル署名を施す場合、生成された直後のエッジデータではなく、ある程度まとまった状態としたエッジデータ群に対してデジタル署名を施す。そして、本実施形態の通信システム1では、デジタル署名を施したエッジデータ群である第2通信データ40Bを用いて、生成元検証を行う。
このため、本実施形態の通信システム1では、エッジデータが想定したエッジデバイス10で生成されたものであるか否かを低処理負荷で検証することができる。
(変形例1)
上記実施形態では、サーバ装置30のエッジデータ管理部34Fは、サービス装置20からデータ取得要求を受信したときに、該データ取得要求によって要求されたエッジデータを含む通信データ40を、該サービス装置20へ送信する形態を一例として説明した。
しかし、サーバ装置30のエッジデータ管理部34Fは、サービス装置20からのデータ取得要求を待たずに、通信データ40をサービス装置20へ送信してもよい。
この場合、例えば、サーバ装置30のエッジデータ管理部34Fは、エッジデバイス10から受信した通信データ40に含まれるエッジデータに付与されたメッセージ認証コードを確認し、対応するサービス装置20へ、該エッジデータを含む通信データ40を個別に転送してもよい。また、サーバ装置30のエッジデータ管理部34Fは、MQTT(MQ Telemetry Transport)brokerとして機能し、エッジデバイス10から受信した通信データ40を、そのまま関連するサービス装置20へプッシュ送信してもよい。
(変形例2)
上記実施形態では、サービス装置20の共有鍵生成部24Bが、エッジデバイス10と共有する共有鍵を生成し、エッジデバイス10へ送信する形態を一例として説明した。
しかし、サービス装置20とエッジデバイス10とで共有する共有鍵は、エッジデバイス10側で生成してもよい。
図13は、本変形例のエッジデバイス11の機能構成の一例の模式図である。
エッジデバイス11は、記憶部12と、制御部15と、を備える。記憶部12と制御部15とはデータまたは信号を授受可能に接続されている。エッジデバイス11は、制御部14に替えて制御部15を備える点以外は、上記実施形態のエッジデバイス10と同様の構成である。
制御部15は、エッジデータ生成処理部14Aと、エッジデータ送信処理部14Bと、鍵管理部14Cと、メッセージ認証コード生成部14Dと、デジタル署名処理部14Eと、第1通信部14Fと、共有鍵生成部15Gと、共有鍵送信部15Hと、を備える。制御部15は、共有鍵生成部15Gおよび共有鍵送信部15Hを更に備える点以外は、上記実施形態の制御部14と同様である。
共有鍵生成部15Gは、サービス装置20と共有する共有鍵を生成する。共有鍵生成部15Gは、共有鍵の生成時に共有鍵の値である共有鍵値に加えて、共有鍵IDおよび有効期限の設定も行う。すなわち、共有鍵生成部15Gは、第1鍵管理情報12Aを生成する(図3参照)。
共有鍵送信部15Hは、共有鍵生成部15Gで生成された共有鍵をサービス装置20の公開鍵で暗号化し、サーバ装置30へ送信する。サーバ装置30の第3通信部34Aは、エッジデバイス11から受信した暗号化された共有鍵をサービス装置20へ送信する。
サービス装置20へ送信された暗号化された共有鍵は、サービス装置20の秘密鍵でのみ復号可能である。このため、エッジデバイス11とサービス装置20とで共有鍵を安全に共有することができる。
また、共有鍵送信部15Hは、必要に応じて署名を更に付与し、サービス装置20と共有する共有鍵をエッジデバイス11の秘密鍵で保護してもよい。
また、サービス装置20およびエッジデバイス11の何れで共有鍵を生成するかを、ユーザによる手動設定などによって設定変更可能としてもよい。
(変形例3)
上記実施形態では、通信システム1に含まれるサービス装置20が、サーバ装置30を介してエッジデバイス10と通信する形態を一例として説明した。しかし、サービス装置20とエッジデバイス10とが直接通信する形態であってもよい。
図14は、本変形例の通信システム1Bの一例を示す模式図である。
通信システム1Bは、エッジデバイス10と、サービス装置20と、サーバ装置30と、を備える。
本変形例では、エッジデバイス10とサーバ装置30とは第1のネットワークNW1を介して接続されている。エッジデバイス10とサービス装置20とは、第2のネットワークNW2を介して接続されている。
すなわち、エッジデバイス10は第1のネットワークNW1および第2のネットワークNW2に接続する。サーバ装置30は第1のネットワークNW1に接続する。サービス装置20は、第2のネットワークNW2に接続する。
この場合、サーバ装置30は、通信データ40をサービス装置20へ転送する処理を実行しない点以外は、上記実施形態と同様の処理を実行すればよい。
また、通信システム1Bは、サーバ装置30を備えない構成であってもよい。通信システム1Bがサーバ装置30を備えない構成の場合、エッジデバイス10は、デジタル署名を施したエッジデータ群である第2通信データ40Bの送信を行わない形態であってもよい。
次に、上記実施形態および変形例のエッジデバイス10、エッジデバイス11、サービス装置20、およびサーバ装置30のハードウェア構成の一例を説明する。
図15は、上記実施形態および変形例のエッジデバイス10、エッジデバイス11、サービス装置20、およびサーバ装置30の一例のハードウェア構成図である。
上記実施形態および変形例のエッジデバイス10、エッジデバイス11、サービス装置20、およびサーバ装置30は、CPU(Central Processing Unit)90Bなどの制御装置と、ROM(Read Only Memory)90CやRAM(Random Access Memory)90Dなどの記憶装置と、各種機器とのインタフェースであるI/F部90Aと、各部を接続するバス90Eとを備えており、通常のコンピュータを利用したハードウェア構成となっている。
上記実施形態および変形例のエッジデバイス10、エッジデバイス11、サービス装置20、およびサーバ装置30では、CPU90Bが、ROM90CからプログラムをRAM90D上に読み出して実行することにより、上記各部がコンピュータ上で実現される。
なお、上記実施形態および変形例のエッジデバイス10、エッジデバイス11、サービス装置20、およびサーバ装置30で実行される上記各処理を実行するためのプログラムは、ROM90Cに予め組み込まれて提供されていてもよい。
また、上記実施形態および変形例のエッジデバイス10、エッジデバイス11、サービス装置20、およびサーバ装置30で実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、CD-R、メモリカード、DVD(Digital Versatile Disc)、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、上記実施形態および変形例のエッジデバイス10、エッジデバイス11、サービス装置20、およびサーバ装置30で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施形態および変形例のエッジデバイス10、エッジデバイス11、サービス装置20、およびサーバ装置30で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。
なお、上記には、本発明の実施形態および変形例を説明したが、上記実施形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態および変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態および変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1、1B 通信システム
14D メッセージ認証コード生成部
14E デジタル署名処理部
14F 第1通信部
15G 共有鍵生成部
15H 共有鍵送信部
10、11 エッジデバイス
20 サービス装置
24A 第2通信部
24B 共有鍵生成部
24C 共有鍵送信部
24E 検証部
30 サーバ装置
34A 第3通信部

Claims (15)

  1. エッジデータを生成するエッジデバイスと、
    前記エッジデータを利用するサービス装置と、
    を備えた通信システムであって、
    前記エッジデバイスは、
    前記サービス装置と共有する共有鍵を用いてメッセージ認証コードを生成するメッセージ認証コード生成部と、
    前記エッジデータに前記メッセージ認証コードを付与した通信データである第1通信データを送信する第1通信部と、
    を備え、
    前記サービス装置は、
    前記第1通信データに含まれる前記メッセージ認証コードを前記エッジデバイスと共有する共有鍵を用いて検証した検証結果に応じて、前記第1通信データに含まれる前記エッジデータの生成元を検証する検証部と、
    を備える、
    通信システム。
  2. 前記エッジデバイスは、
    前記エッジデータが予め定めた条件を満たした場合、該条件を満たす1または複数の前記エッジデータの群であるエッジデータ群に対して、前記エッジデバイスの秘密鍵を用いてデジタル署名を施すデジタル署名処理部、を備え、
    前記エッジデバイスの前記第1通信部は、
    第1通信データ、および、前記デジタル署名が施された前記エッジデータ群である第2通信データ、の少なくとも一方を前記通信データとして送信する、
    請求項1に記載の通信システム。
  3. 前記検証部は、
    前記第2通信データに含まれる前記エッジデータ群に施された前記デジタル署名を、前記エッジデバイスの公開鍵を用いて検証した検証結果に応じて、前記第2通信データに含まれる前記エッジデータ群の生成元を検証する、
    請求項2に記載の通信システム。
  4. 前記エッジデバイスは、
    前記サービス装置を識別するサービス識別情報と、前記サービス識別情報によって識別される前記サービス装置と共有する共有鍵と、を対応付けた第1鍵管理情報を予め記憶し、
    前記サービス装置は、
    前記エッジデバイスを識別するエッジ識別情報と、前記エッジデバイスと共有する共有鍵と、を対応付けた第2鍵管理情報を予め記憶する、
    請求項1に記載の通信システム。
  5. 前記メッセージ認証コード生成部は、
    前記第1鍵管理情報に登録されている1または複数の全ての共有鍵の各々を用いて、共有鍵に対応する前記サービス識別情報の各々によって識別される前記サービス装置の各々ごとの前記メッセージ認証コードを生成する、
    請求項4に記載の通信システム。
  6. 前記サービス装置は、
    前記エッジデバイスと共有する共有鍵を生成する共有鍵生成部と、
    生成された共有鍵を前記エッジデバイスの公開鍵で暗号化し送信する共有鍵送信部と、
    を備える請求項1に記載の通信システム。
  7. 前記エッジデバイスは、
    前記サービス装置と共有する共有鍵を生成する共有鍵生成部と、
    生成された共有鍵を前記サービス装置の公開鍵で暗号化し送信する共有鍵送信部と、
    を備える請求項1に記載の通信システム。
  8. 前記エッジデバイスに第1のネットワークを介して接続されたサーバ装置を更に備え、
    前記サービス装置は、前記サーバ装置に第2のネットワークを介して接続され、
    前記サーバ装置は、
    前記エッジデバイスから受信した前記通信データを前記サービス装置へ送信する第3通信部を備える、
    請求項2に記載の通信システム。
  9. 前記サーバ装置は、
    前記サービス装置からデータ取得要求を受信したときに、前記データ取得要求によって要求された前記エッジデータを含む前記通信データを、前記サービス装置へ送信するエッジデータ管理部を備える、
    請求項8に記載の通信システム。
  10. 前記サーバ装置の前記エッジデータ管理部は、
    前記データ取得要求によって要求された前記エッジデータを含む前記通信データに前記メッセージ認証コードが付与されている場合、該メッセージ認証コードおよび該エッジデータを含む前記第1通信データを前記サービス装置へ送信し、
    前記データ取得要求によって要求された前記エッジデータを含む前記通信データに前記メッセージ認証コードが付与されておらず、且つ、該エッジデータを含む前記エッジデータ群に前記デジタル署名が施されている場合、該通信データである前記第2通信データを前記サービス装置へ送信する、
    請求項9に記載の通信システム。
  11. エッジデータを生成する情報処理装置であって、
    前記エッジデータを利用するサービス装置と共有する共有鍵を用いてメッセージ認証コードを生成するメッセージ認証コード生成部と、
    前記エッジデータに前記メッセージ認証コードを付与した通信データである第1通信データを送信する第1通信部と、
    を備える情報処理装置。
  12. エッジデータを生成する情報処理装置で実行される情報処理方法であって、
    前記エッジデータを利用するサービス装置と共有する共有鍵を用いてメッセージ認証コードを生成するステップと、
    前記エッジデータに前記メッセージ認証コードを付与した通信データである第1通信データを送信するステップと、
    を含む情報処理方法。
  13. エッジデータを生成するコンピュータで実行される情報処理プログラムであって、
    前記エッジデータを利用するサービス装置と共有する共有鍵を用いてメッセージ認証コードを生成するステップと、
    前記エッジデータに前記メッセージ認証コードを付与した通信データである第1通信データを送信するステップと、
    を含む情報処理プログラム。
  14. エッジデータを生成するエッジデバイスに第1のネットワークを介して接続され、前記エッジデータを利用するサービス装置に第2のネットワークを介して接続された情報処理装置であって、
    前記エッジデバイスから受信した、前記エッジデータに前記エッジデバイスと共有する共有鍵を用いて生成されたメッセージ認証コードを付与した通信データを、前記サービス装置へ送信する第3通信部、
    を備える情報処理装置。
  15. エッジデータを生成するエッジデバイスで生成された前記エッジデータを利用する情報処理装置であって、
    前記エッジデータに前記エッジデバイスと共有する共有鍵を用いて生成されたメッセージ認証コードを付与した通信データに含まれる前記メッセージ認証コードを、前記エッジデバイスと共有する共有鍵を用いて検証した検証結果に応じて、前記通信データに含まれる前記エッジデータの生成元を検証する検証部、
    を備える情報処理装置。
JP2022098867A 2022-06-20 2022-06-20 通信システム、情報処理装置、情報処理方法、および情報処理プログラム Pending JP2024000213A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022098867A JP2024000213A (ja) 2022-06-20 2022-06-20 通信システム、情報処理装置、情報処理方法、および情報処理プログラム
US18/174,882 US20230412369A1 (en) 2022-06-20 2023-02-27 Communication system, information processing device, information processing method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022098867A JP2024000213A (ja) 2022-06-20 2022-06-20 通信システム、情報処理装置、情報処理方法、および情報処理プログラム

Publications (1)

Publication Number Publication Date
JP2024000213A true JP2024000213A (ja) 2024-01-05

Family

ID=89168534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022098867A Pending JP2024000213A (ja) 2022-06-20 2022-06-20 通信システム、情報処理装置、情報処理方法、および情報処理プログラム

Country Status (2)

Country Link
US (1) US20230412369A1 (ja)
JP (1) JP2024000213A (ja)

Also Published As

Publication number Publication date
US20230412369A1 (en) 2023-12-21

Similar Documents

Publication Publication Date Title
US8943310B2 (en) System and method for obtaining a digital certificate for an endpoint
JP5414898B2 (ja) 有線lanのセキュリティアクセス制御方法及びそのシステム
CN107659406B (zh) 一种资源操作方法及装置
JP5215289B2 (ja) 分散式の委任および検証のための方法、装置、およびシステム
Urien Blockchain IoT (BIoT): A new direction for solving Internet of Things security and trust issues
JP5062870B2 (ja) 任意通信サービスのセキュリティ確保
JP6326173B1 (ja) データ送受信システム及びデータ送受信方法
JP2010118858A (ja) 公開鍵証明書の検証方法及び検証サーバ
JP3944182B2 (ja) セキュリティ通信方法
US10305913B2 (en) Authentication control device and authentication control method
CN114499898A (zh) 一种区块链跨链安全接入方法及装置
CN110493272A (zh) 使用多重密钥的通信方法和通信系统
EP1517514A2 (en) Communication apparatus, communication system, communication apparatus control method and implementation program thereof
JP5626919B2 (ja) ネットワークシステム、認証連携装置、認証連携方法、及びプログラム
JP2020506627A (ja) プログラマブル・ハードウェア・セキュリティ・モジュール及びプログラマブル・ハードウェア・セキュリティ・モジュールに用いられる方法
JP2012204895A (ja) 情報処理装置
JP2009212689A (ja) 共通鍵自動配布システム、クライアント、第三者認証機関側サーバ、及び共通鍵自動共有方法
JP7132150B2 (ja) 通信制御システム
JP2024000213A (ja) 通信システム、情報処理装置、情報処理方法、および情報処理プログラム
CN114039731B (zh) 存储介质、中继装置和通信方法
JP5182100B2 (ja) 鍵交換装置、鍵交換処理システム、鍵交換方法およびプログラム
JP2005354200A (ja) 情報処理装置
JP5383768B2 (ja) 情報管理装置、システム及び方法
US11582674B2 (en) Communication device, communication method and data structure
JP4543789B2 (ja) トランザクションに基づく証明書検証情報管理方法