JP7099305B2 - 通信装置、通信方法、および通信プログラム - Google Patents

通信装置、通信方法、および通信プログラム Download PDF

Info

Publication number
JP7099305B2
JP7099305B2 JP2018237855A JP2018237855A JP7099305B2 JP 7099305 B2 JP7099305 B2 JP 7099305B2 JP 2018237855 A JP2018237855 A JP 2018237855A JP 2018237855 A JP2018237855 A JP 2018237855A JP 7099305 B2 JP7099305 B2 JP 7099305B2
Authority
JP
Japan
Prior art keywords
network
authentication information
node
communication device
communication
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.)
Active
Application number
JP2018237855A
Other languages
English (en)
Other versions
JP2020101875A (ja
Inventor
敏彦 栗田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018237855A priority Critical patent/JP7099305B2/ja
Priority to EP19207396.3A priority patent/EP3672191B1/en
Priority to US16/679,821 priority patent/US11323351B2/en
Priority to CN201911111602.3A priority patent/CN111355573B/zh
Publication of JP2020101875A publication Critical patent/JP2020101875A/ja
Application granted granted Critical
Publication of JP7099305B2 publication Critical patent/JP7099305B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • 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/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/164Implementing security features at a particular protocol layer at the network 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/0861Generation of secret information including derivation or calculation 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/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/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
    • 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

Description

本発明は、通信装置、通信方法、および通信プログラムに係わる。
複数のネットワークを相互に接続する技術が普及している。例えば、1つの企業内で複数の拠点にそれぞれ実装されるネットワークが相互に接続される。或いは、複数の企業がそれぞれ運用するネットワークが相互に接続される。なお、IPにおいてネットワークを相互に接続するプロトコルの1つとしてBGP(Border Gateway Protocol)が知られている。
複数のネットワークが相互に接続される場合、各ネットワーク内で代表ノードが設定される。代表ノードは、ゲートウェイとして動作する。すなわち、各ネットワークは、代表ノードを介して他のネットワークと通信を行う。ここで、代表ノードは、他のネットワークと通信を行うための認証情報を保持する。そして、代表ノードは、この認証情報を利用して他のネットワークに接続する。
他方、データを売買するサービスを提供するデータ流通ネットワークが普及し始めている。データ流通ネットワークにおいては、組織または個人が保有するデータが他の組織または個人により利用される。すなわち、データ流通ネットワークの参加者は、自分が保有するデータを市場に提供できる。また、参加者は、市場に提供されているデータを利用できる。そして、データ流通ネットワークは、多くのケースにおいて、複数のネットワークを相互に接続することで実現される。
また、管理者が存在しない分散環境下で、改ざん不能な状態でデータを管理するブロックチェーン技術が注目されている。ブロックチェーン技術は、複数の参加者または全参加者がトランザクションを検証することで改ざん不能な分散台帳を実現する。そして、ブロックチェーン技術は、データ流通ネットワークの安全性の向上に寄与し得る。
なお、重要データから秘密分散技術により生成された複数の部分データを複数のデータセンターに分散保管し、データセンター間で部分データの不正取得を防止する方法が提案されている(例えば、特許文献1)。また、クラスタ化されたネットワーク内のオブジェクトを管理するシステムが提案されている(例えば、特許文献2)。
特開2013-020313号公報 特表2005-502957号公報
複数のネットワークが代表ノードを介して相互に接続される通信システムにおいては、あるネットワークの代表ノードに障害が発生した場合、そのネットワーク内の他のノードが新たな代表ノードに選出される。そして、新たな代表ノードが他のネットワークの代表ノードとの間で接続のための処理を実行する。このとき、新たな代表ノードは、旧代表ノードと同じ認証情報を利用して他のネットワークの代表ノードとの間で認証処理を実行する。よって、この方法で障害復旧を行う場合、各ネットワーク内の複数のノードまたは全ノードが同じ認証情報を保持している必要がある。
ただし、各ネットワーク内の複数のノードまたは全ノードが同じ認証情報を保持する場合、代表ノードとして選出されていないノードであっても、他のネットワークと通信を行うことができる。また、ネットワーク内の1つのノードが悪意のあるユーザに乗っ取られると、そのネットワーク内の全ノードが被害を受けるおそれがある。すなわち、従来技術においては、ネットワークのセキュリティが十分ではない。
本発明の1つの側面に係わる目的は、複数のネットワークが代表ノードを介して相互に接続される通信システムのセキュリティを向上させることである。
本発明の1つの態様の通信方法は、ネットワークに接続される通信装置においてプロセッサにより実行される。この通信方法は、前記複数の通信装置のうちから選出される代表装置から定期的に送信される第1のメッセージをモニタし、前記第1のメッセージを所定時間以上検出しないときに、前記第1のネットワーク内の各通信装置に第2のメッセージを送信し、第2のネットワークに接続するための認証情報を分割することで得られる2以上のデータ部品が、前記代表装置から前記第1のネットワーク内の2以上の通信装置に配布された状況において、前記第2のメッセージに応じて前記第1のネットワーク内の通信装置から送信されるデータ部品を取得し、所定数以上のデータ部品を取得したときに、前記所定数以上のデータ部品から前記認証情報を再生し、再生された前記認証情報の少なくとも一部を書き換えることにより新たな認証情報を生成し、前記新たな認証情報に基づいて前記第2のネットワークに接続する。
上述の態様によれば、複数のネットワークが代表ノードを介して相互に接続される通信システムのセキュリティが向上する。
本発明の実施形態に係わる通信システムの一例を示す図である。 代表ノードの切替えの一例を示す図(その1)である。 代表ノードの切替えの一例を示す図(その2)である。 代表ノードの切替えの一例を示す図(その3)である。 代表ノードの切替えの一例を示す図(その4)である。 代表ノードの切替えの一例を示す図(その5)である。 シャミアの秘密分散法について説明する図である。 代表ノードの処理の一例を示すフローチャートである。 一般ノードの処理の一例を示すフローチャートである。 一般ノードの他の処理の一例を示すフローチャートである。 通信装置の機能の一例を示す図である。 通信装置として動作するコンピュータのハードウェア構成の一例を示す図である。 第1の実施例のシステム構成を示す図である。 更新前の認証情報の一例を示す図である。 第1の実施例における代表ノード切替えシーケンスの一例を示す図である。 更新後の認証情報の一例を示す図である。 第2の実施例のシステム構成を示す図である。 更新前の認証情報の一例を示す図である。 第2の実施例における代表ノード切替えシーケンスの一例を示す図である。 更新後の認証情報の一例を示す図である。 ネットワーク内に複数の代表ノードが存在し得る構成の一例を示す図である。 本発明の実施形態に係わる通信方法の適用例を示す図である。
図1は、本発明の実施形態に係わる通信システムの一例を示す。本発明の実施形態に係わる通信システム100は、相互に接続される複数のネットワークを含む。図1に示す例では、ネットワークA~Cが相互に接続されている。ネットワークA~Cは、例えば、異なる企業により運用される。
各ネットワークA~Cは、複数のノードを備える。各ノードには、通信装置が実装される。各ノードに実装される通信装置は、特に限定されるものではないが、例えば、ルータである。なお、以下の記載では、ノードに実装される通信装置を「ノード」と呼ぶことがある。
各ノードには、1または複数のコンピュータが接続され得る。各ノードに接続されるコンピュータは、例えば、ユーザコンピュータであってもよいし、サーバコンピュータであってもよい。
各ネットワークA~Cにおいて、複数のノードの中から、ゲートウェイとして動作する代表ノードが選出される。図1に示す例では、ネットワークAにおいて、複数のノード11~14のうちからノード11が代表ノードとして選出されている。同様に、ネットワークBにおいてはノード21が代表ノードとして選出され、ネットワークCにおいてはノード31が代表ノードとして選出されている。以下の記載では、代表ノードとして選出されたるノードまたは通信装置を「代表ノード」または「代表装置」と呼ぶことがある。
各ネットワークA~Cは、代表ノードを介して相互に接続される。すなわち、代表ノード11、21が通信を行うことでネットワークA、Bが相互に接続される。同様に、代表ノード11、31が通信を行うことでネットワークA、Cが相互に接続され、代表ノード21、31が通信を行うことでネットワークB、Cが相互に接続される。
上記構成の通信システム100において、代表ノードに障害が発生すると、その代表ノードを含むネットワークは、他のネットワークと通信を行うことができない。よって、あるネットワークの代表ノードに障害が発生すると、そのネットワーク内で新たな代表ノードが選出される。例えば、ネットワークAにおいて代表ノード11に障害が発生すると、ノード12~14のうちのいずれか1つが新たな代表ノードに選出される。そして、新たな代表ノードが他のネットワークの代表ノードと通信を行うことにより、ネットワーク間の接続が再び設定される。
なお、複数のネットワークを相互に安全に接続するためには、ネットワーク間で信頼が確立されることが要求される。このため、ゲートウェイとして動作する代表ノード間で相互認証が行われ、正しく認証されたゲートウェイ間でのみネットワーク間に通信が許可される。
図2~図6は、代表ノードの切替えの一例を示す。この実施例では、ネットワークA、Bが相互に接続されている。ネットワークAにおいてはノード11が代表ノードとして動作し、ネットワークBにおいてはノード21が代表ノードとして動作している。なお、ネットワークAは、代表ノード11に加えてノード12~14を含む。
代表ノード11は、図2(a)に示すように、認証情報A1を保持している。認証情報A1は、ネットワークA、B間を接続するために使用される。また、認証情報A1は、例えば、ネットワークを識別するID、代表ノードのアドレス、ネットワークA、B間の通信のためにパスワードなどを含む。そして、代表ノード11は、認証情報A1を使用して代表ノード21との間で認証処理を実行する。このとき、代表ノード11、21は、協働して認証処理を実行する。この結果、ネットワークA、Bが相互に接続される。
なお、図2~図6には示していないが、各ノード11~14は、それぞれクライアント証明書を保持している。ノード11~14が保持するクライアント証明書は、互いに異なっていることが好ましい。
代表ノード11は、図2(b)に示すように、認証情報A1を複数のデータ部品に分割する。認証情報A1を分割することで生成されるデータ部品の数は、例えば、ネットワークA内のノードの数に応じて決定される。一例としては、データ部品の数は、代表ノード以外のノードの数と同じであってもよい。図2~図6に示す例では、ネットワークAは4個のノードを備える。すなわち、ネットワークAにおいては、代表ノード以外のノードの数は3である。よって、認証情報A1から3個のデータ部品が生成される。この場合、代表ノード以外の各ノード(12、13、14)に対してそれぞれ1個ずつデータ部品が割り当てられる。
このとき、代表ノード11は、例えば、シャミアの秘密分散法で認証情報A1を複数のデータ部品に分割する。シャミアの秘密分散法においては、図7に示すように、入力データは、N(Nは、2以上の整数)個のデータ部品に分割される。このとき、各データ部品は、入力データの内容が分からないように生成される。また、復号装置は、N個のデータ部品のうちのK(Kは、N以下の整数)個のデータ部品から入力データを再生できる。Nの値およびKの値は、予め設定することが可能である。例えば、Nの値は、ネットワーク内のノードの数に応じて決定されてもよい。また、NおよびKの値は、それぞれデータの重要度に応じて決定してもよい。この場合、データが重要であるときに、NおよびKの値を大きくしてもよい。
図2~図6に示す例では、Nの値は3であり、Kの値は2である。よって、代表ノード11は、認証情報A1を分割してデータ部品D1~D3を生成する。そして、代表ノード11は、データ部品D1、D2、D3をそれぞれノード12、13、14に送信する。そうすると、ノード12、13、14は、それぞれ受信したデータD1、D2、D3を自ノード内に保存する。
なお、代表ノード11は、シャミアの秘密分散法以外の方法で認証情報A1をN個のデータ部品に分割してもよい。ただし、各データ部品は、元データの内容が分からないように生成されることが好ましい。また、N個のデータ部品のうちのK個のデータ部品から元データを再生できることが好ましい。
代表ノード11は、図3(a)に示すように、定期的に、ネットワークA内の各ノードにheartbeatメッセージを送信する。heartbeatメッセージは、生死確認メッセージまたは存在確認メッセージの一例である。また、heartbeatメッセージは、そのメッセージの送信元を識別する情報を含む。したがって、各ノード12~14は、heartbeatメッセージを定期的に受信しているときは、代表ノード11が正常に動作していると判定する。
ここで、図3(b)に示すように、代表ノード11に障害が発生するものとする。この場合、各ノード12~14は、所定時間以上継続して、heartbeatメッセージを受信しない。そうすると、各ノード12~14は、代表ノード11に障害が発生したと判定する。なお、「所定時間」は、heartbeatメッセージが送信される時間間隔よりも長いものとする。また、代表ノード11に障害が発生すると、ネットワークA、B間の接続が切断されるものとする。
代表ノード11に障害が発生すると、ネットワークA内の他のいずれかのノードが新たな代表ノードとして動作する必要がある。この実施例では、Raftと呼ばれるアルゴリズムで新たな代表ノードが選択されるものとする。
この場合、代表ノードとして動作する能力を有するノードが、新たな代表ノードに立候補する。この例では、図4(a)に示すように、ノード12が新たな代表ノードに立候補する。以下の記載では、新たな代表ノードに立候補したノードを「仮代表ノード」と呼ぶことがある。
仮代表ノード12は、ネットワークA内の各ノードに投票要求メッセージを送信する。この場合、投票要求メッセージは、ノード12が新たな代表ノードに立候補したことを表す。
各ノード13、14は、仮代表ノード12から投票要求メッセージを受信すると、ノード12が新たな代表ノードとして動作することに賛成するか否かを決定する。ノード12が新たな代表ノードとして動作することに賛成するときは、各ノード13、14は、仮代表ノード12に応答メッセージを送信する。このとき、図4(b)に示すように、各ノード13、14は、応答メッセージと共に、自分が保持しているデータ部品を仮代表ノード12に送信する。具体的には、ノード13は、データ部品D2を仮代表ノード12に送信し、ノード14は、データ部品D3を仮代表ノード12に送信する。
なお、仮代表ノード12から送信される投票要求メッセージは、代表ノード11にも到着する。ただし、代表ノード11に障害が発生している。よって、この例では、代表ノード11は、仮代表ノード12に応答メッセージを送信しない。
仮代表ノード12は、ネットワークA内の所定数のノードから応答メッセージを受信すると、仮代表ノード12がネットワークAの新たな代表ノードとして動作することについてネットワークAにおいて合意が形成された判定する。たとえば、仮代表ノード12は、ネットワークA内の過半数のノードから応答メッセージを受信したときに、ネットワークAにおいて合意が形成された判定する。そして、合意が形成されると、仮代表ノード12は、以降、「新代表ノード」として動作する。
新代表ノード12は、ネットワークA内の他のノードから受信するデータ部品を利用して認証情報A1を再生する。この例では、仮代表ノード12は、自分で保持しているデータ部品D1、ノード13から受信するデータ部品D2、およびノード14から受信するデータ部品D3から認証情報A1を再生する。なお、認証情報A1は、シャミアの秘密分散法で3個のデータ部品に分割されている。したがって、K=2であるものとすると、仮代表ノード12は、データ部品D1~D3のうちのいずれか2個から認証情報A1を再生できる。また、K=3である場合は、仮代表ノード12は、データ部品D1~D3から認証情報A1を再生できる。
なお、ノード12は、ノード12がネットワークAの新たな代表ノードとして動作することについて合意が形成されたか否かを他の方法で判定してもよい。たとえば、ノード12は、取得したデータ部品から認証情報A1を再生できたときに、ノード12がネットワークAの新たな代表ノードとして動作することについて合意が形成されたと判定してもよい。
新代表ノード12は、図5(a)に示すように、再生した認証情報A1を更新することにより認証情報A2を生成する。ここで、認証情報A1が代表ノード11のアドレスおよび代表ノード11、21間で使用するパスワードを含むものとする。この場合、新代表ノード12は、例えば、代表ノード11のアドレスを新代表ノード12のアドレスに書き換えることで認証情報A2を生成してもよい。加えて、新代表ノード12は、認証情報A1に含まれるパスワードを、代表ノード12、21間で使用するパスワードに変更してもよい。そして、新代表ノード12は、認証情報A2に基づいて代表ノード21との間で認証処理を実行する。このとき、新代表ノード12および代表ノード21は、協働して認証処理を実行する。この結果、ネットワークA、Bが相互に再接続される。
なお、認証情報A2に基づいてネットワークA、Bが接続された後は、認証情報A1を利用してネットワークA、B間を接続することができない。すなわち、認証情報A1は、実質的に無効化される。よって、ネットワークA、B間の通信のセキュリティが確保される。
この後、新代表ノード12は、図5(b)に示すように、認証情報A2を分割して複数のデータ部品を生成する。このとき、新代表ノード12は、たとえば、シャミアの秘密分散法で認証情報A2を分割して複数のデータ部品を生成する。そして、複数のデータ部品は、ネットワークA内の異なる複数のノードに配布される。
また、新代表ノード12は、図6に示すように、定期的に、ネットワークA内の各ノードにheartbeatメッセージを送信する。よって、各ノード13、14は、heartbeatメッセージをモニタすることにより、新代表ノード12が正常に動作しているか否かを検知できる。
このように、代表ノードが他のネットワークの代表ノードと通信を行うために使用される認証情報は、複数のデータ部品に分割されて複数のノードに配布される。ここで、各データ部品は、個々のデータ部品から認証情報の内容を解読できないように生成される。したがって、代表ノードとして選出されていないノードは、他のネットワークと通信を行うことはできない。また、ネットワーク内の1つのノードが悪意のあるユーザに乗っ取られたとしても、そのノードは他のネットワークと通信を行うことはできない。よって、ネットワーク内の他のノードまたは他のネットワークへの被害は抑制される。
更に、新たな代表ノードに立候補したノード(仮代表ノード)は、所定数以上のノードによる合意が形成された場合に代表ノードとして動作することができる。或いは、仮代表ノードは、所定数以上のノードからデータ部品を取得したときに、認証情報を再生し、その認証情報を更新し、更新後の認証情報で他のネットワークと通信を行う。したがって、ネットワーク内の複数のノード(例えば、過半数のノード)の合意が形成されたときにネットワークの再接続が実現される。したがって、管理者が存在しない分散環境下で、ネットワークのセキュリティを向上させることができる。
なお、上述の例では、代表ノードに障害が発生したことに起因して代表ノードの切替えが実行されるが、本発明はこのシーケンスに限定されるものではない。例えば、代表ノードとして動作している通信装置のメンテナンス時には、ネットワーク管理者は、その通信装置のheartbeatを停止させる。この場合、heartbeatの停止に応じて新たな代表ノードが自律的に選出され、ネットワークの相互接続が継続される。
図8は、代表ノードの処理の一例を示すフローチャートである。このフローチャートの処理は、代表ノードとして選出された通信装置により実行される。
S1において、代表ノードは、認証情報を生成する。なお、S1において認証情報を生成する処理は、認証情報を更新する処理を含む。すなわち、代表ノードにおいて認証情報が生成または更新されると、S2~S5が実行される。
S2において、代表ノードは、認証情報に基づいて、他のネットワークの代表ノードと共に認証処理を実行する。S3において、代表ノードは、認証情報を分割することで得られる複数のデータ部品をネットワーク内の複数のノードに配布する。このとき、認証情報は、例えば、シャミアの秘密分散法で複数のデータ部品に分割される。S4~S5において、代表ノードは、所定の時間間隔で、ネットワーク内の各ノードにheartbeatメッセージを繰り返し送信する。なお、代表ノードは、S1~S5の処理に加えて、ゲートウェイとして他のネットワークとの間の通信を行う。
図9は、一般ノードの処理の一例を示すフローチャートである。このフローチャートの処理は、一般ノードに実装される通信装置により実行される。なお、一般ノードは、この実施例では、代表ノードとして動作していないノードを表す。
S11において、通信装置は、代表ノードから送信されるheartbeatメッセージをモニタする。なお、代表ノードは、正常に動作しているときは、図3(a)または図8に示すように、ネットワーク内の各ノードに、定期的に、heartbeatメッセージを送信する。そして、heartbeatメッセージを受信できないときは、通信装置の処理はS12に進む。
S12において、通信装置は、代表ノードに立候補する。すなわち、通信装置は、ネットワーク内の各ノードに投票要求メッセージを送信する。なお、通信装置は、自分が代表ノードとして動作する能力を有している場合に代表ノードに立候補する。
S13~S14において、通信装置は、他のノードから送信される応答メッセージおよびデータ部品を待ち受ける。そして、所定数以上の応答メッセージを受信すると、通信装置は、自分が代表ノードとして動作することについてネットワーク内で合意が形成されたと判定する。合意が形成された後は、通信装置は、新たな代表ノードとして動作する。この場合、通信装置の処理はS15に進む。
「所定数以上」は、例えば、過半数である。ただし、「所定数以上」は過半数に限定されるものではない。例えば、N個のデータ部品に分割された認証情報が、N個のデータ部品のうちのK個のデータ部品から再生可能なときは、通信装置は、K個以上の応答メッセージを受信したときに合意が形成されたと判定してもよい。
S15において、通信装置は、受信したデータ部品から認証情報を再生する。S16において、通信装置は、再生した認証情報を更新する。このとき、例えば、認証情報中のアドレスおよび/またはパスワードが更新される。S17において、通信装置は、更新後の認証情報に基づいて認証処理を実行する。S18において、更新後の認証情報を分割することで得られる複数のデータ部品をネットワーク内の複数のノードに配布する。
この後、通信装置は、ゲートウェイ装置として他のネットワークとの間の通信を行う。また、通信装置は、所定の時間間隔で、ネットワーク内の各ノードにheartbeatメッセージを繰り返し送信する。なお、代表ノードの故障に際して複数の通信装置が新たな代表ノードに立候補したときは、最も早く所定数以上の応答メッセージを受信した通信装置が代表ノードとして動作する。
図10は、一般ノードの他の処理の一例を示すフローチャートである。なお、このフローチャートの処理は、例えば、代表ノードとして動作する能力を有していない通信装置により実行される。
S21において、通信装置は、代表ノードから送信されるheartbeatメッセージをモニタする。そして、heartbeatメッセージを受信できないときは、通信装置の処理はS22に進む。
S22において、通信装置は、投票要求メッセージを待ち受ける。投票要求メッセージは、代表ノードに立候補した通信装置から送信される。そして、投票要求メッセージを受信すると、通信装置は、S23において、その投票要求メッセージの送信元ノードが代表ノードとして動作することに同意するか否かを判定する。このとき、通信装置は、たとえば、投票要求メッセージの送信元ノードのIDまたはアドレスに基づいて同意するか否かを決定してもよい。
投票要求メッセージに同意するときは、通信装置は、S24において、投票要求メッセージの送信元ノードに応答メッセージを送信する。このとき、通信装置は、自ノード内に保存されている認証情報のデータ部品も送信元ノードに送信する。
図11は、各ノードに実装される通信装置の機能の一例を示す。通信装置40は、処理部50および記憶部70を備える。なお、通信装置40は、図11に示していない他の機能を備えていてもよい。
処理部50は、heartbeat生成部51、認証情報生成部52、認証処理部53、配布部54、ゲートウェイ部55、モニタ部56、投票要求生成部57、応答部58、合意判定部59、認証情報再生部60、ルータ部61を備える。なお、処理部50は、図11に示していない他の機能を備えてもよい。
heartbeat生成部51は、定期的に、heartbeatメッセージを生成してネットワーク内の各ノードに送信する。認証情報生成部52は、認証情報を生成または更新する。認証処理部53は、認証情報に基づいて、他のネットワークの代表ノードと協働して認証処理を実行する。配布部54は、認証情報を分割して2以上のデータ部品を生成してネットワーク内の2以上のノードに配布する。このとき、N個のデータ部品は、N個の異なるノードに配布されることが好ましい。ゲートウェイ部55は、ゲートウェイ装置としての機能を提供する。なお、heartbeat生成部51、認証情報生成部52、認証処理部53、配布部54、ゲートウェイ部55は、主に、通信装置40が代表ノードとして選出されているときに動作する。
モニタ部56は、代表ノードから送信されるheartbeatメッセージをモニタする。投票要求生成部57は、モニタ部56が所定時間以上継続してheartbeatメッセージを検出しないときに、投票要求メッセージを生成してネットワーク内の各ノードに送信する。応答部58は、通信装置40が他のノードから投票要求メッセージを受信したときに、その投票要求メッセージの送信元ノードに応答メッセージを送信する。なお、応答部58は、投票要求メッセージに同意するときに、その投票要求メッセージの送信元ノードに応答メッセージを送信する。また、通信装置40がデータ部品を保持するときは、応答部58は、応答メッセージと共にデータ部品を送信する。
合意判定部59は、通信装置40が所定数以上の応答メッセージを受信したときに、通信装置40が代表ノードとして動作することについてネットワーク内で合意が形成されたと判定する。認証情報再生部60は、ネットワーク内で合意が形成されたときに、通信装置40が受信したデータ部品(及び、通信装置40が保持しているデータ部品)から認証情報を再生する。ルータ部61は、ルータ装置としての機能を提供する。なお、モニタ部56、投票要求生成部57、応答部58、合意判定部59、認証情報再生部60、ルータ部61は、主に、通信装置40が代表ノードとして選出されていないときに動作する。
記憶部70は、認証情報格納部71およびデータ部品格納部72を備える。認証情報格納部71は、通信装置40内で生成または更新される認証情報を格納する。データ部品格納部72は、代表ノードから受信するデータ部品を格納する。なお、記憶部70は、図11に示していないデータおよび情報を格納してもよい。また、通信装置40は、ネットワーク内で新たな代表ノードが選出されたことを検知すると、認証情報格納部71に格納されている認証情報およびデータ部品格納部72に格納されているデータ部品を廃棄することが好ましい。
図12は、各ノードに実装される通信装置40として動作するコンピュータのハードウェア構成の一例を示す。コンピュータ200は、プロセッサ201、メモリ202、記憶装置203、I/Oデバイス204、記録媒体デバイス205、通信インタフェース206を備える。
プロセッサ201は、記憶装置203に格納されている通信プログラムを実行することにより、通信装置40の機能を提供することができる。すなわち、通信装置40が代表ノードとして動作するときは、プロセッサ201は、図8に示すフローチャートの処理を記述した通信プログラムを実行することにより、heartbeat生成部51、認証情報生成部52、認証処理部53、配布部54の機能を提供する。また、通信装置40が一般ノードとして動作するときには、プロセッサ201は、図9または図10に示すフローチャートの処理を記述した通信プログラムを実行することにより、モニタ部56、投票要求生成部57、応答部58、合意判定部59、認証情報再生部60の機能を提供する。
メモリ202は、例えば半導体メモリであり、プロセッサ201の作業領域として使用される。記憶装置203は、コンピュータ200内に実装されていてもよいし、コンピュータ200に接続されていてもよい。I/Oデバイス204は、ユーザまたはネットワーク管理者の指示を受け付ける。また、I/Oデバイス204は、プロセッサ201による処理結果を出力する。記録媒体デバイス205は、可搬型記録媒体207に記録されている信号を読み取る。なお、上述した通信プログラムは、可搬型記録媒体207に記録されていてもよい。通信インタフェース206は、データ通信のためのインタフェースおよび制御情報を通信するためのインタフェースを含む。
<第1の実施例>
図13は、第1の実施例のシステム構成を示す。第1の実施例では、ネットワークAおよびネットワークBが相互に接続される。ネットワークAは、ノードA1~A4を含み、ノードA1が代表ノードとして選出されている。ネットワークBは、ノードB1~B4を含み、ノードB1が代表ノードとして選出されている。ノードA1は、認証情報X1を保持し、ノードB1は、認証情報Y1を保持する。なお、ノードA1、A2、B1、B2のIPアドレスは、図13に示す通りである。また、図13には示していないが、各ノードA1~A4、B1~B4は、それぞれクライアント証明書を保持している。各ノードが保持するクライアント証明書は、互いに異なることが好ましい。
図14は、認証情報の一例を示す。この実施例では、認証情報は、ユーザ登録テーブルおよびアクセス情報テーブルを含む。なお、ネットワークAの代表ノードであるノードA1は、図14(a)に示すユーザ登録テーブルUA1およびアクセス情報テーブルDA1を保持する。また、ネットワークBの代表ノードであるノードB1は、図14(b)に示すユーザ登録テーブルUB1およびアクセス情報テーブルDB1を保持する。
ユーザ登録テーブルには、他のネットワークの代表ノードからアクセスされたときに、そのアクセスを許可するか否かを判定するための情報が記録される。例えば、ノードA1のユーザ登録テーブルUA1には、図14(a)に示すように、ネットワークBの代表ノードであることを表す識別情報「代表B」、およびネットワークBからネットワークAへのアクセスのためのパスワード「pwd_B1」が記録される。
アクセス情報テーブルには、他のネットワークにアクセスするときに使用する情報が記録される。たとえば、ノードA1に実装されるアクセス情報テーブルDA1には、図14(b)に示すように、アクセス先のネットワークを識別する情報「NW_B」、アクセス先の代表ノードのIPアドレス「192.168.2.1.80」、ネットワークAの代表ノードであることを表す識別情報「代表A」、およびネットワークAからネットワークBへのアクセスのためのパスワード「pwd_A1」が記録される。
図15は、第1の実施例における代表ノード切替えシーケンスの一例を示す。なお、このシーケンスの前に、図13に示すネットワークAにおいて、代表ノードとして動作していたノードA1に障害が発生したものとする。そして、ノードA2が新たな代表ノードに立候補したものとする。この場合、ノードA2は、ネットワークA内の各ノードに投票要求メッセージを送信し、応答メッセージおよびデータ部品を待ち受ける。
(1)ノードA2は、ネットワークA内の複数のノードからデータ部品を収集する。そして、ノードA2は、収集した複数のデータ部品から認証情報X1を再生する。即ち、ノードA2において、図14(a)に示すユーザ登録テーブルUA1およびアクセス情報テーブルDA1が再生される。
(2)ノードA2は、認証情報X1を更新することにより認証情報X2を生成する。具体的には、ノードA2は、ユーザ登録テーブルUA1において、ネットワークBからネットワークAへのアクセスのためのパスワードを「pwd_B1」から「pwd_B2」に変更する。また、ノードA2は、アクセス情報テーブルDA1において、ネットワークAからネットワークBへのアクセスのためのパスワードを「pwd_A1」から「pwd_A2」に変更する。この結果、図16(a)に示すユーザ登録テーブルUA2およびアクセス情報テーブルDA2が生成される。なお、ユーザ登録テーブルUA2およびアクセス情報テーブルDA2は、認証情報X2に含まれる。
(3)ノードA2は、更新前の認証情報(即ち、複数のデータ部品から再生された認証情報X1)に基づいてネットワークBの代表ノード(すなわち、ノードB1)にアクセスする。具体的には、ノードA2は、図14(a)に示すアクセス情報テーブルDA1に基づいてノードB1にログインする。なお、新たな代表ノード(即ち、ノードA2)は、他のネットワークの代表ノード(即ち、ノードB1)にアクセスするためには、旧代表ノードが使用していた認証情報(即ち、認証情報A1)が必要である。
(4)ログインが成功すると、ノードA2およびノードB1は、相互にクライアント証明書をチェックする。このとき、例えば、ノードA2は、ノードA2が保持するクライアント証明書をノードB1に送信し、ノードB1は、ノードB1が保持するクライアント証明書をノードA2に送信する。
(5)クライアント証明書が正しいことが相互に確認されると、ノードA2は、代表ノードアドレスの変更要求をノードB1に送信する。この実施例では、このアドレス変更要求は、ネットワークAの代表ノードのアドレスが、「ノードA1(192.168.1.1)」から「ノードA2(192.168.1.2)」に変更されたこと表す。したがって、ノードB1は、このアドレス変更要求を受信すると、図16(b)に示すように、アクセス情報テーブルDB1において代表ノードアドレスを変更する。
(6)ノードA2は、パスワードの変更要求をノードB1に送信する。このとき、このパスワード変更要求は、ネットワークBからネットワークAへのアクセスのためのパスワードが「pwd_B1」から「pwd_B2」に変更されたことを表す情報、およびネットワークAからネットワークBへのアクセスのためのパスワードが「pwd_A1」から「pwd_A2」に変更されたことを表す情報を含む。したがって、ノードB1は、このパスワード変更要求を受信すると、図16(b)に示すように、ユーザ登録テーブルUB1において受付パスワードを「pwd_A1」から「pwd_A2」に変更すると共に、アクセス情報テーブルDB1において宛先パスワードを「pwd_B1」から「pwd_B2」に変更する。
上記手順により、ノードA2とノードB1との間の認証処理が完了し、ネットワークAとネットワークBとが相互に接続される。すなわち、ネットワークAにおいて代表ノードとして動作していたノードA1に障害が発生すると、自動的に新たな代表ノードが選出される。そして、ネットワークAの新たな代表ノードがネットワークBとの接続のための処理を実装する。この結果、ネットワークの相互接続が自動的に復旧する。
なお、新たな代表ノードは、他のネットワークの代表ノードにアクセスするためには、旧代表ノードが使用していた認証情報が必要である。よって、新たな代表ノードは、他のノードからデータ部品を収集して旧代表ノードが使用していた認証情報を再生する。
<第2の実施例>
図17は、第2の実施例のシステム構成を示す。第2の実施例では、ネットワークA~Cが相互に接続される。ネットワークAは、ノードA1~A4を含み、ノードA1が代表ノードとして選出されている。ネットワークBは、ノードB1~B4を含み、ノードB1が代表ノードとして選出されている。ネットワークCは、ノードC1~C4を含み、ノードC1が代表ノードとして選出されている。ノードA1は、認証情報X1を保持し、ノードB1は、認証情報Y1を保持し、ノードC1は、認証情報Z1を保持する。なお、図17には示していないが、各ノードA1~A4、B1~B4、C1~C4は、それぞれクライアント証明書を保持している。
ノードA1は、2つのIPアドレスを有する。192.168.1.21はネットワークBと接続するために使用され、192.168.1.31はネットワークCと接続するために使用される。ノードA2は、2つのIPアドレスを有する。192.168.1.22はネットワークBと接続するために使用され、192.168.1.32はネットワークCと接続するために使用される。ノードB1は、2つのIPアドレスを有する。192.168.2.1はネットワークAと接続するために使用され、192.168.2.3はネットワークCと接続するために使用される。ノードC1は、2つのIPアドレスを有する。192.168.3.1はネットワークAと接続するために使用され、192.168.3.2はネットワークBと接続するために使用される。
図18は、認証情報の一例を示す。ネットワークAの代表ノードであるノードA1は、図18(a)に示すユーザ登録テーブルUA1およびアクセス情報テーブルDA1を保持する。ネットワークBの代表ノードであるノードB1は、図18(b)に示すユーザ登録テーブルUB1およびアクセス情報テーブルDB1を保持する。ネットワークCの代表ノードであるノードC1は、図18(c)に示すユーザ登録テーブルUC1およびアクセス情報テーブルDC1を保持する。
ユーザ登録テーブルおよびアクセス情報テーブルの構成は、第1の実施例および第2の実施例において実質的に同じなので、説明を省略する。ただし、第2の実施例では、各ノットワークは、それぞれ他の2つのネットワークに接続される。よって、ユーザ登録テーブルおよびアクセス情報テーブルは、それぞれ2つのレコードを有する。
図19は、第2の実施例における代表ノード切替えシーケンスの一例を示す。なお、このシーケンスの前に、図17に示すネットワークAにおいて、代表ノードとして動作していたノードA1に障害が発生したものとする。そして、ノードA2が新たな代表ノードに立候補したものとする。この場合、ノードA2は、ネットワークA内の各ノードに投票要求メッセージを送信し、応答メッセージおよびデータ部品を待ち受ける。
(1)ノードA2は、ネットワークA内の複数のノードからデータ部品を収集する。そして、ノードA2は、収集した複数のデータ部品から認証情報X1を再生する。即ち、ノードA2において、図18(a)に示すユーザ登録テーブルUA1およびアクセス情報テーブルDA1が再生される。
(2)ノードA2は、認証情報X1を更新することで認証情報X2を生成する。具体的には、ノードA2は、ユーザ登録テーブルUA1において、ネットワークBからネットワークAへのアクセスのためのパスワードを「pwd_BA1」から「pwd_BA2」に変更し、ネットワークCからネットワークAへのアクセスのためのパスワードを「pwd_CA1」から「pwd_CA2」に変更する。また、ノードA2は、アクセス情報テーブルDA1において、ネットワークAからネットワークBへのアクセスのためのパスワードを「pwd_AB1」から「pwd_AB2」に変更し、ネットワークAからネットワークCへのアクセスのためのパスワードを「pwd_AC1」から「pwd_AC2」に変更する。この結果、図20(a)に示すユーザ登録テーブルUA2およびアクセス情報テーブルDA2が生成される。
(3)ノードA2は、更新前の認証情報(即ち、複数のデータ部品から再生された認証情報X1)を使用してネットワークBの代表ノード(すなわち、ノードB1)にアクセスする。具体的には、ノードA2は、図18(a)に示すアクセス情報テーブルDA1に基づいてノードB1にログインする。
(4)ログインが成功すると、ノードA2およびノードB1は、相互にクライアント証明書をチェックする。
(5)ノードA2は、代表ノードアドレスの変更要求をノードB1に送信する。この実施例では、このアドレス変更要求は、ネットワークAの代表ノードのアドレスが「ノードA1(192.168.1.21)」から「ノードA2(192.168.1.22)」に変更されたこと表す。したがって、ノードB1は、このアドレス変更要求を受信すると、図20(b)に示すように、アクセス情報テーブルDB1においてネットワークAに対応する代表ノードアドレスを変更する。
(6)ノードA2は、パスワードの変更要求をノードB1に送信する。このパスワード変更要求は、ネットワークBからネットワークAへのアクセスのためのパスワードが「pwd_BA1」から「pwd_BA2」に変更されたことを表す情報、およびネットワークAからネットワークBへのアクセスのためのパスワードが「pwd_AB1」から「pwd_AB2」に変更されたことを表す情報を含む。したがって、ノードB1は、このパスワード変更要求を受信すると、図20(b)に示すように、ユーザ登録テーブルUB1においてネットワークAに対応する受付パスワードを「pwd_AB1」から「pwd_AB2」に変更すると共に、アクセス情報テーブルDB1においてネットワークAに対応する宛先パスワードを「pwd_BA1」から「pwd_BA2」に変更する。
この後、ノードA2は、上述の手順(3)~(6)と同様の処理をネットワークCに対して実行する。この結果、ノードC1は、図20(c)に示すように、アクセス情報テーブルDC1においてネットワークAに対応する代表ノードアドレスを変更する。また、ノードC1は、図20(c)に示すように、ユーザ登録テーブルUC1においてネットワークAに対応する受付パスワードを「pwd_AC1」から「pwd_AC2」に変更すると共に、アクセス情報テーブルDC1においてネットワークAに対応する宛先パスワードを「pwd_CA1」から「pwd_CA2」に変更する。
<第3の実施例>
図13~図20に示す実施例では、各ネットワークに1つの代表ノードが存在するが、本発明はこの構成に限定されるものではない。すなわち、ゲートウェイの処理能力およびネットワークのスケーラビリティの向上を図るために、各ネットワーク内で複数の代表ノードが並列に動作してもよい。
図21は、ネットワーク内に複数の代表ノードが存在し得る構成の一例を示す。この例では、ネットワークAにおいて複数の代表ノードが存在する。
代表ノードとして動作する能力を有する通信装置は、トークンを保有する。なお、ネットワーク内で複数のトークンが生成され得る。また、1つの通信装置が複数のトークンを有することも可能である。
トークンは、代表ノードとして動作しているか否かを動的に表す。例えば、通信装置が代表ノードとして動作していないときはトークンの値はゼロであり、その通信装置が代表ノードとして選出されるとトークンの値は1に更新される。
代表ノードは、トークンごとに選出される。よって、複数のトークンが生成されているネットワークでは、複数の代表ノードが並列に動作することになる。また、各代表ノードは、例えば、図4~図5に示す方法で選出される。すなわち、各代表ノードは、ネットワーク内の合意に基づいて選出される。なお、各代表ノードは、他のネットワークの代表ノードとフルメッシュで通信経路を有する。
各代表ノードは、トークンごとにheartbeatメッセージの送信または受信を行う。代表ノードに障害が発生したときには、図4~図5に示す方法で新たな代表ノードが選出される。すなわち、いずれかの代表ノードに障害が発生したことを検知した通信装置は、障害が発生した代表装置から配布された2以上のデータ部品のうちの所定数以上のデータ部品を取得し、障害が発生した代表ノードに対応する認証情報を再生する。そして、この通信装置は、再生した認証情報の少なくとも一部を書き換えることにより新たな認証情報を生成し、その新たな認証情報に基づいて対応するネットワークに接続する。この場合、代表ノードとして新たに選出された通信装置において、トークンの値がゼロから1に更新される。
<適用例>
図22は、本発明の実施形態に係わる通信方法の適用例を示す。図22に示す例では、データ流通ネットワークに複数の企業ネットワークが接続されている。データ流通ネットワークは、ブロックチェーン技術を利用して、企業ネットワーク間でデータを利用する市場を提供する。
各企業ネットワークにおいて、それぞれ代表ノードが選出される。代表ノードは、それぞれ、例えば、図4~図5に示す方法で選出される。すなわち、各代表ノードは、企業ネットワーク内の合意に基づいて選出される。そして、選出された代表ノードは、データ流通ネットワークを介して他の企業ネットワークに接続するゲートウェイとして動作する。
なお、データ流通ネットワークは、データの発見および検索、セキュアデータ通信、アクセス証跡管理などを提供する。これらの機能は、例えば、各企業ネットワークのゲートウェイにより実現される。また、データ流通ネットワークは、ブロックチェーン技術を拡張し、データの属性および概要を表すメタデータの共有、および安全なデータ取引を実現する。さらに、データ流通ネットワークにおいては、異なる組織または個人が保有するデータが分散して安全に管理されることが好ましい。このとき、複数のクラスタ(メタデータの流通が行われる単位であり、IPのASに相当する)が設置され、これらの間でネットワークを跨いだデータ流通空間を実現することが求められる。この場合、各クラスタの代表ノードがゲートウェイとして他のクラスタと通信を行う。よって、データ流通ネットワークにおいても、代表ノードに障害が発生すると、新たな代表ノードを選出する必要がある。そこで、本発明の実施形態に係わる通信方法を採用すれば、上述のようなデータ流通ネットワークの相互接続において、安全に代表ノードを切り替えることが可能になる。
上述の実施例を含む実施形態に関し、さらに下記の付記を開示する。
(付記1)
第1のネットワーク内で使用される複数の通信装置のうちの1つの通信装置において、
前記複数の通信装置のうちから選出される代表装置から定期的に送信される第1のメッセージをモニタし、
前記第1のメッセージを所定時間以上検出しないときに、前記第1のネットワーク内の各通信装置に第2のメッセージを送信し、
第2のネットワークに接続するための認証情報を分割することで得られる2以上のデータ部品が、前記代表装置から前記第1のネットワーク内の2以上の通信装置に配布された状況において、前記第2のメッセージに応じて前記第1のネットワーク内の通信装置から送信されるデータ部品を取得し、
所定数以上のデータ部品を取得したときに、前記所定数以上のデータ部品から前記認証情報を再生し、
再生された前記認証情報の少なくとも一部を書き換えることにより新たな認証情報を生成し、
前記新たな認証情報に基づいて前記第2のネットワークに接続する
処理をプロセッサに実行させる通信プログラム。
(付記2)
再生された前記認証情報に基づいて前記第2のネットワークに接続し、再生された前記認証情報から前記新たな認証情報を生成する際に書き換えられた内容を前記第2のネットワークに通知する処理
を前記プロセッサにさらに実行させる付記1に記載の通信プログラム。
(付記3)
前記新たな認証情報を分割することで得られる2以上のデータ部品を前記第1のネットワーク内の2以上の通信装置に配布する処理
を前記プロセッサにさらに実行させる付記1に記載の通信プログラム。
(付記4)
前記新たな認証情報は、N(Nは、2以上の整数)個のデータ部品のうちのK(Kは、N以下の整数)個のデータ部品から前記新たな認証情報を再生可能なように、シャミアの秘密分散法を用いてN個のデータ部品に分割される
ことを特徴とする付記3に記載の通信プログラム。
(付記5)
第1のネットワーク内で使用される複数の通信装置のうちの1つの通信装置であって、
前記複数の通信装置のうちから選出される代表装置から定期的に送信される第1のメッセージをモニタするモニタ部と、
前記第1のメッセージを所定時間以上検出しないときに、前記第1のネットワーク内の各通信装置に第2のメッセージを送信するメッセージ送信部と、
第2のネットワークに接続するための認証情報を分割することで得られる2以上のデータ部品が、前記代表装置から前記第1のネットワーク内の2以上の通信装置に配布された状況において、前記第2のメッセージに応じて前記第1のネットワーク内の通信装置から送信されるデータ部品を受信し、所定数以上のデータ部品を取得したときに、前記所定数以上のデータ部品から前記認証情報を再生する認証情報再生部と、
再生された前記認証情報の少なくとも一部を書き換えることにより新たな認証情報を生成する認証情報生成部と、
前記新たな認証情報に基づいて前記第2のネットワークに接続する認証処理部と、
を備える通信装置。
(付記6)
複数の通信装置を含む第1のネットワークにおいて、前記複数の通信装置の中の第1の通信装置は、第2のネットワークに接続するための認証情報を分割することで得られる2以上のデータ部品を前記第1のネットワーク内の2以上の通信装置に配布し、
前記複数の通信装置の中の第2の通信装置は、
前記第1の通信装置に障害が発生したことを検知したときに、前記2以上のデータ部品のうちの所定数以上のデータ部品を取得して前記認証情報を再生し、
再生された前記認証情報の少なくとも一部を書き換えることにより新たな認証情報を生成し、
前記新たな認証情報に基づいて前記第2のネットワークに接続する
ことを特徴とする通信方法。
(付記7)
前記第1の通信装置は、N(Nは、2以上の整数)個のデータ部品のうちのK(Kは、N以下の整数)個のデータ部品から前記認証情報を再生可能なように、前記認証情報をN個のデータ部品に分割する
ことを特徴とする付記6に記載の通信方法。
(付記8)
前記第1の通信装置は、前記第2のネットワークと通信を行っているときは、前記第1のネットワーク内の各通信装置に定期的に第1のメッセージを送信し、
前記第2の通信装置は、
前記第1のメッセージを所定時間以上検出しないときは、前記第1のネットワーク内の各通信装置に第2のメッセージを送信し、
前記第2のメッセージに応じて前記第1のネットワーク内の通信装置から送信される前記データ部品を受信する
ことを特徴とする付記6または7に記載の通信方法。
(付記9)
前記第2の通信装置は、前記新たな認証情報を分割することで得られる2以上のデータ部品を前記第1のネットワーク内の2以上の通信装置に配布する
ことを特徴とする付記6~8のいずれか1つに記載の通信方法。
(付記10)
複数の通信装置を含む第1のネットワークにおいて、第2のネットワークに接続する権利を表すトークンを複数生成し、
各トークンに対して、前記複数の通信装置の中から前記第2のネットワークに接続する権利を有する代表装置を選出し、
各代表装置は、代表装置ごとに互いに異なる、前記第2のネットワークに接続するための認証情報を分割することで得られる2以上のデータ部品を前記第1のネットワーク内の2以上の通信装置に配布し、
前記複数の通信装置の中の前記代表装置以外の通信装置は、
いずれかの代表装置に障害が発生したことを検知したときに、障害が発生した代表装置から配布された前記2以上のデータ部品のうちの所定数以上のデータ部品を取得して、障害が発生した代表装置に対応する前記認証情報を再生し、
再生された前記認証情報の少なくとも一部を書き換えることにより新たな認証情報を生成し、
前記新たな認証情報に基づいて前記第2のネットワークに接続する
ことを特徴とする通信方法。
11、21、31 代表ノード
12 ノード(仮代表ノード、新代表ノード)
13~14 ノード
40 通信装置
51 heartbeat生成部
52 認証情報生成部
53 認証処理部
54 配布部
56 モニタ部
57 投票要求生成部
58 応答部
59 合意判定部
60 認証情報再生部
100 通信システム
201 プロセッサ

Claims (8)

  1. 第1のネットワーク内で使用される複数の通信装置のうちの1つの通信装置において、
    前記複数の通信装置のうちから選出される代表装置から定期的に送信される第1のメッセージをモニタし、
    前記第1のメッセージを所定時間以上検出しないときに、前記第1のネットワーク内の各通信装置に第2のメッセージを送信し、
    第2のネットワークに接続するための認証情報を分割することで得られる2以上のデータ部品が、前記代表装置から前記第1のネットワーク内の2以上の通信装置に配布された状況において、前記第2のメッセージに応じて前記第1のネットワーク内の通信装置から送信されるデータ部品を取得し、
    所定数以上のデータ部品を取得したときに、前記所定数以上のデータ部品から前記認証情報を再生し、
    再生された前記認証情報の少なくとも一部を書き換えることにより新たな認証情報を生成し、
    前記新たな認証情報に基づいて前記第2のネットワークに接続する
    処理をプロセッサに実行させる通信プログラム。
  2. 再生された前記認証情報に基づいて前記第2のネットワークに接続し、再生された前記認証情報から前記新たな認証情報を生成する際に書き換えられた内容を前記第2のネットワークに通知する処理
    を前記プロセッサにさらに実行させる請求項1に記載の通信プログラム。
  3. 前記新たな認証情報を分割することで得られる2以上のデータ部品を前記第1のネットワーク内の2以上の通信装置に配布する処理
    を前記プロセッサにさらに実行させる請求項1に記載の通信プログラム。
  4. 前記新たな認証情報は、N(Nは、2以上の整数)個のデータ部品のうちのK(Kは、N以下の整数)個のデータ部品から前記新たな認証情報を再生可能なように、シャミアの秘密分散法を用いてN個のデータ部品に分割される
    ことを特徴とする請求項3に記載の通信プログラム。
  5. 第1のネットワーク内で使用される複数の通信装置のうちの1つの通信装置であって、
    前記複数の通信装置のうちから選出される代表装置から定期的に送信される第1のメッセージをモニタするモニタ部と、
    前記第1のメッセージを所定時間以上検出しないときに、前記第1のネットワーク内の各通信装置に第2のメッセージを送信するメッセージ送信部と、
    第2のネットワークに接続するための認証情報を分割することで得られる2以上のデータ部品が、前記代表装置から前記第1のネットワーク内の2以上の通信装置に配布された状況において、前記第2のメッセージに応じて前記第1のネットワーク内の通信装置から送信されるデータ部品を受信し、所定数以上のデータ部品を取得したときに、前記所定数以上のデータ部品から前記認証情報を再生する認証情報再生部と、
    再生された前記認証情報の少なくとも一部を書き換えることにより新たな認証情報を生成する認証情報生成部と、
    前記新たな認証情報に基づいて前記第2のネットワークに接続する認証処理部と、
    を備える通信装置。
  6. 複数の通信装置を含む第1のネットワークにおいて、前記複数の通信装置の中の第1の通信装置は、第2のネットワークに接続するための認証情報を分割することで得られる2以上のデータ部品を前記第1のネットワーク内の2以上の通信装置に配布し、
    前記複数の通信装置の中の第2の通信装置は、
    前記第1の通信装置に障害が発生したことを検知したときに、前記2以上のデータ部品のうちの所定数以上のデータ部品を取得して前記認証情報を再生し、
    再生された前記認証情報の少なくとも一部を書き換えることにより新たな認証情報を生成し、
    前記新たな認証情報に基づいて前記第2のネットワークに接続する
    ことを特徴とする通信方法。
  7. 前記第1の通信装置は、N(Nは、2以上の整数)個のデータ部品のうちのK(Kは、N以下の整数)個のデータ部品から前記認証情報を再生可能なように、前記認証情報をN個のデータ部品に分割する
    ことを特徴とする請求項6に記載の通信方法。
  8. 前記第1の通信装置は、前記第2のネットワークと通信を行っているときは、前記第1のネットワーク内の各通信装置に定期的に第1のメッセージを送信し、
    前記第2の通信装置は、
    前記第1のメッセージを所定時間以上検出しないときは、前記第1のネットワーク内の各通信装置に第2のメッセージを送信し、
    前記第2のメッセージに応じて前記第1のネットワーク内の通信装置から送信される前記データ部品を受信する
    ことを特徴とする請求項6または7に記載の通信方法。
JP2018237855A 2018-12-20 2018-12-20 通信装置、通信方法、および通信プログラム Active JP7099305B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018237855A JP7099305B2 (ja) 2018-12-20 2018-12-20 通信装置、通信方法、および通信プログラム
EP19207396.3A EP3672191B1 (en) 2018-12-20 2019-11-06 Communication device and communication method for processing authentication information
US16/679,821 US11323351B2 (en) 2018-12-20 2019-11-11 Communication device and communication method for processing authentication information
CN201911111602.3A CN111355573B (zh) 2018-12-20 2019-11-14 用于处理认证信息的通信装置和通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018237855A JP7099305B2 (ja) 2018-12-20 2018-12-20 通信装置、通信方法、および通信プログラム

Publications (2)

Publication Number Publication Date
JP2020101875A JP2020101875A (ja) 2020-07-02
JP7099305B2 true JP7099305B2 (ja) 2022-07-12

Family

ID=68470347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018237855A Active JP7099305B2 (ja) 2018-12-20 2018-12-20 通信装置、通信方法、および通信プログラム

Country Status (4)

Country Link
US (1) US11323351B2 (ja)
EP (1) EP3672191B1 (ja)
JP (1) JP7099305B2 (ja)
CN (1) CN111355573B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024013904A1 (ja) * 2022-07-13 2024-01-18 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006301992A (ja) 2005-04-21 2006-11-02 Base Technology Inc 認証管理方法及びシステム
JP2009010745A (ja) 2007-06-28 2009-01-15 Nec Corp 暗号鍵更新方法、暗号鍵更新装置、及び暗号鍵更新プログラム
JP2009128987A (ja) 2007-11-20 2009-06-11 Nec Corp 計算機管理システム、計算機管理方法および計算機管理制御プログラム
JP2010011109A (ja) 2008-06-27 2010-01-14 Kddi Corp 認証ユニット、認証端末、認証システム、認証方法およびプログラム
US20160224269A1 (en) 2015-02-02 2016-08-04 Fujitsu Limited Storage system and information processing method
JP2018196056A (ja) 2017-05-19 2018-12-06 富士通株式会社 通信装置および通信方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7113980B2 (en) 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
WO2003023633A1 (en) 2001-09-06 2003-03-20 Bea Systems, Inc. Exactly once cache framework
US7539311B2 (en) * 2006-03-17 2009-05-26 Cisco Technology, Inc. Techniques for managing keys using a key server in a network segment
US8234518B2 (en) * 2009-07-21 2012-07-31 Vmware, Inc. Method for voting with secret shares in a distributed system
CA2781872A1 (en) * 2009-11-25 2011-06-09 Security First Corp. Systems and methods for securing data in motion
JP4860779B1 (ja) 2011-07-08 2012-01-25 株式会社野村総合研究所 データ分散保管システム
US9241044B2 (en) * 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
CN107295080B (zh) * 2017-06-19 2020-12-18 北京百度网讯科技有限公司 应用于分布式服务器集群的数据存储方法和服务器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006301992A (ja) 2005-04-21 2006-11-02 Base Technology Inc 認証管理方法及びシステム
JP2009010745A (ja) 2007-06-28 2009-01-15 Nec Corp 暗号鍵更新方法、暗号鍵更新装置、及び暗号鍵更新プログラム
JP2009128987A (ja) 2007-11-20 2009-06-11 Nec Corp 計算機管理システム、計算機管理方法および計算機管理制御プログラム
JP2010011109A (ja) 2008-06-27 2010-01-14 Kddi Corp 認証ユニット、認証端末、認証システム、認証方法およびプログラム
US20160224269A1 (en) 2015-02-02 2016-08-04 Fujitsu Limited Storage system and information processing method
JP2016143249A (ja) 2015-02-02 2016-08-08 富士通株式会社 ストレージシステム及びストレージ制御プログラム
JP2018196056A (ja) 2017-05-19 2018-12-06 富士通株式会社 通信装置および通信方法

Also Published As

Publication number Publication date
US20200204471A1 (en) 2020-06-25
US11323351B2 (en) 2022-05-03
CN111355573A (zh) 2020-06-30
JP2020101875A (ja) 2020-07-02
CN111355573B (zh) 2023-02-17
EP3672191A1 (en) 2020-06-24
EP3672191B1 (en) 2022-03-16

Similar Documents

Publication Publication Date Title
US11706102B2 (en) Dynamically deployable self configuring distributed network management system
US20180337892A1 (en) Scalable proxy clusters
Oktian et al. Distributed SDN controller system: A survey on design choice
US10547693B2 (en) Security device capability discovery and device selection
US10810863B2 (en) Distributed security system over multiple sites
JP2007507760A (ja) セキュアなクラスターコンフィギュレーションデータセットの転送プロトコル
JP2006528387A (ja) 協調して負荷バランスするクラスターサーバシステム及び方法
US11121876B2 (en) Distributed access control
CN102984501A (zh) 一种网络视频录像集群系统
JP4155341B2 (ja) 情報の管理方法及び情報処理装置
CN110061876B (zh) 运维审计系统的优化方法及系统
JP7099305B2 (ja) 通信装置、通信方法、および通信プログラム
JP5200424B2 (ja) 情報の管理方法及び情報処理装置
Ali et al. Blockstack technical whitepaper
Guo et al. A novel security mechanism for software defined network based on Blockchain
Esposito et al. On reliability and security in knowledge grids
CN111935290A (zh) 一种基于智联网的分布式数据管理系统
Ineichen VPNs and Their P2P Alternative P2P@ i
Bernáth Supernode-Based Multiring P2P Middleware for the Global Contentifier

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220413

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220613

R150 Certificate of patent or registration of utility model

Ref document number: 7099305

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150