JP2011130012A - アクターノード、センサノード、担当区画変更方法、パラメータ変更方法、プログラムおよび情報処理システム - Google Patents

アクターノード、センサノード、担当区画変更方法、パラメータ変更方法、プログラムおよび情報処理システム Download PDF

Info

Publication number
JP2011130012A
JP2011130012A JP2009284226A JP2009284226A JP2011130012A JP 2011130012 A JP2011130012 A JP 2011130012A JP 2009284226 A JP2009284226 A JP 2009284226A JP 2009284226 A JP2009284226 A JP 2009284226A JP 2011130012 A JP2011130012 A JP 2011130012A
Authority
JP
Japan
Prior art keywords
node
actor
sensor node
key
sensor
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.)
Withdrawn
Application number
JP2009284226A
Other languages
English (en)
Inventor
Tomoyuki Asano
智之 浅野
Masafumi Kusakawa
雅文 草川
Shigenari Sai
林成 崔
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2009284226A priority Critical patent/JP2011130012A/ja
Priority to US12/927,515 priority patent/US8416949B2/en
Priority to CN2010105784464A priority patent/CN102098161A/zh
Publication of JP2011130012A publication Critical patent/JP2011130012A/ja
Withdrawn legal-status Critical Current

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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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
    • 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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/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/3271Cryptographic 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 challenge-response
    • H04L9/3273Cryptographic 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 challenge-response for mutual authentication
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

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)
  • Mobile Radio Communication Systems (AREA)
  • Alarm Systems (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

【課題】イベント発生時においても、イベントへの対応とデータの収集の双方を両立することが可能なアクターノード、センサノード、担当区画変更方法、パラメータ変更方法、プログラムおよび情報処理システムを提供すること。
【解決手段】本発明に係るアクターノードは、センサノードからのデータの取得を担当する区画を一時的に変更し、担当する区画内の少なくとも一部の部分領域に設置されたセンサノードからのデータ取得を他のアクターノードに一時的に委託する動的変更部を備え、動的変更部は、他のアクターノードから、当該アクターノードに固有の識別情報を取得し、取得した識別情報を、部分領域内に設置されたセンサノードに通知し、取得した識別情報および部分領域内に設置されたセンサノードとの通信に利用される鍵を利用して生成した一時鍵とハッシュチェインの一部とを、他のアクターノードに通知する。
【選択図】図1

Description

本発明は、アクターノード、センサノード、担当区画変更方法、パラメータ変更方法、プログラムおよび情報処理システムに関する。
ワイヤレスセンサネットワーク(Wireless Sensor Network:WSN)に関する研究が古くから行われている。このワイヤレスセンサネットワークは、所定の領域内に設けられた多数のセンサノード(sensor node)からデータを取得して、取得したデータに基づき所定の処理を行うというシステムである。近年、多数のセンサノードからのデータ取得を容易に行うために、ネットワークフィールド上を移動することが可能なアクターノード(Actor node)を利用する方法が利用されるようになってきた。アクターノードを利用したデータ収集を行うシステムは、ワイヤレスセンサーアンドアクターネットワーク(Wireless Sensor and Actor Network:WSAN)と呼ばれている。
このWSANは、例えば火災の防止や侵入者の有無の監視といった、実現を希望する目的を果たすために用いられるシステムであり、火災の発生や侵入者の存在といった、本来果たすべき目的に障害をもたらす可能性があるイベントが発生すると、このイベントを取り除くようにシステムが稼働する。
WSANでは、アクターノードおよびセンサノード間、および、アクターノード間での通信により各種の情報や命令が伝達される。そのため、各ノード間の通信セキュリティの向上を図ることが重要である。そのため、WSANにおける通信セキュリティの向上を目的とした研究がなされている(例えば、非特許文献1および2を参照。)。
X.Cao,M.Huang,Y.Chen and G.Chen,"Hybrid Authentication and Key Management Scheme for WSANs",ISPA Workshop 2005,LNCS 3759,pp.454−465,2005. B.Yu,J.Ma,Z.Wang,D.Mao and C.Gao,"Key Establishment Between Heterogenous Nodes in Wireless Sensor and Actor Networks",IWSN 2006,LNCS 3842,pp.196−205,2006.
しかしながら、上記非特許文献1および2に記載の方法は、ノード間の認証処理および通信に用いる鍵の共有に関する方法であって、イベント発生時には、イベントへの対応とデータの収集の双方を両立できないという問題があった。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、イベント発生時においても、イベントへの対応とデータの収集の双方を両立することが可能な、アクターノード、センサノード、担当区画変更方法、パラメータ変更方法、プログラムおよび情報処理システムを提供することにある。
上記課題を解決するために、本発明のある観点によれば、複数の区画に区分された所定の領域内に設置されているセンサノードと相互に通信が可能であり、センサノードが生成したデータを、担当する前記区画に設置されている前記センサノードから取得するアクターノードが提供される。このアクターノードは、他の前記アクターノードと通信を行う際に利用する鍵と、担当区画に設置されている前記センサノードとの通信に利用する鍵を生成するための鍵生成情報と、前記担当区画に固有な所定の長さのハッシュチェインと、を含む鍵情報を所定の装置から取得する鍵取得部と、前記センサノードからのデータの取得を担当する区画を一時的に変更し、前記担当する区画内の少なくとも一部の部分領域に設置された前記センサノードからのデータ取得を前記他のアクターノードに一時的に委託する動的変更部と、を備え、前記動的変更部は、前記他のアクターノードから、当該他のアクターノードに固有の識別情報を取得し、前記他のアクターノードに固有の識別情報を、データの収集を行うアクターノードが一時的に変更される旨を表す識別子とともに前記部分領域内に設置された前記センサノードに通知し、前記他のアクターノードに固有の識別情報および前記部分領域内に設置された前記センサノードとの通信に利用される鍵を利用して生成した一時鍵と、前記ハッシュチェインの一部とを、前記他のアクターノードに通知する。
前記アクターノードは、担当区画に含まれる複数の区画それぞれについて、当該区画に相隣接する区画を特定するための区画特定情報を保持しており、前記動的変更部は、前記他のアクターノードへの前記部分領域の委託に際して、前記区画特定情報に変更が生じる区画を特定し、変更後の前記区画特定情報と、委託により変更が生じた所定の鍵に関する情報とを、変更前および変更後で共通する前記担当区画に設置された前記センサノードに対して通知してもよい。
前記動的変更部は、前記他のアクターノードへの前記部分領域の委託が解消されなかった場合、前記部分領域内に設置されたセンサノードに対して、他のアクターノードへの委託を解消する旨を表す識別子と、前記ハッシュチェインの一部とを通知してもよい。
前記鍵生成情報には、所定の次数を有する2変数多項式に関する情報が含まれており、前記アクターノードは、前記担当区画内に設置された前記センサノードとの通信に利用する当該センサノードに固有の鍵を、前記2変数多項式に、前記アクターノードに固有な識別情報と、前記センサノードに固有な識別情報とを代入することで算出してもよい。
前記アクターノードは、一の前記担当区画に配置されている通信目標のセンサノードと直接通信できない場合、ブルームフィルタを用いて前記通信目標のセンサノードを特定する情報を生成してもよい。
前記アクターノードは、障害が発生したセンサノードまたは他のアクターノードをシステムから排除するノード排除部を更に備え、前記ノード排除部は、前記センサノードに障害が発生した場合、前記障害が発生したセンサノードとの通信に利用する当該障害が発生したセンサノードに固有の鍵に変えて、無作為に乱数を選択し、前記無作為に選択した乱数を用いて、前記障害が発生したセンサノードが属する区画に設置された他のセンサノードが、当該区画内におけるセンサノード間通信に利用する鍵を更新するための鍵更新情報を生成し、前記鍵更新情報を、前記障害が発生したセンサノードを含む区画に通知してもよい。
前記アクターノードは、前記担当区画内に設置された前記センサノードとの間で、通信に先立ち相互認証を行う初期認証部と、障害が発生したセンサノードまたは他のアクターノードをシステムから排除するノード排除部と、を更に備え、前記他のアクターノードに障害が発生し、当該他のアクターノードが担当していた前記区画を新たに担当することとなった場合、前記ノード排除部は、新たに担当することとなった前記区画に属する前記センサノードに対して、前記アクターノードに固有の識別情報と、障害が発生したアクターノードを排除する旨を表す識別子とを通知し、前記初期認証部は、前記新たに担当することとなった区画に属するセンサノードとの間で相互認証を行ってもよい。
また、上記課題を解決するために、本発明の別の観点によれば、複数の区画に区分された所定の領域内に設置されており、生成したデータを、設置されている区画を担当するアクターノードに対して出力するセンサノードが提供される。このセンサノードは、前記アクターノードまたは他の前記センサノードとの通信に利用する鍵を生成するための鍵生成情報と、設置されている前記区画に固有な所定の長さのハッシュチェインと、を含む鍵情報を所定の装置から取得する鍵取得部と、生成したデータの送信先である前記アクターノードからの指示に応じて、他の前記センサノードとの通信に利用するパラメータを一時的に変更する動的変更部と、を備え、前記動的変更部は、前記アクターノードからの指示により、前記データの送信先が他の前記アクターノードへと一時的に変更になる場合、前記アクターノードから通知された前記他のアクターノードに固有の識別情報を利用して、前記他のアクターノードとの通信に利用する鍵、および、前記他のセンサノードとの通信に利用する鍵を更新する。
前記鍵生成情報には、所定の次数を有する2変数多項式に関する情報が含まれており、
前記センサノードは、前記2変数多項式に、前記アクターノードに固有な識別情報と、前記センサノードに固有な識別情報とを代入することで、前記アクターノードとの通信に利用する前記センサノードに固有な鍵を算出してもよい。
前記センサノードは、当該センサノードが設置されている前記区画に隣接する区画を特定するための区画特定情報と、前記隣接する区画との通信に利用する鍵とを含む区画関連情報を、生成したデータの送信先である前記アクターノードから予め通知されており、前記動的変更部は、前記データの送信先が前記他のアクターノードへと一時的に変更になる場合、前記アクターノードから新たに通知された前記区画関連情報を用いて、前記他のアクターノードとの通信を行ってもよい。
前記動的変更部は、前記データの送信先が一時的に変更になる場合、変更前の前記区画関連情報を所定の箇所に保存しておき、前記他のアクターノードから、データの送信先を前記アクターノードへ変更する指示があった場合、前記区画関連情報を、保存しておいた前記変更前の区画関連情報に置き換えてもよい。
前記センサノードは、データの送信先である前記アクターノードとの間で、通信に先立ち相互認証を行う初期認証部を更に備え、前記初期認証部は、前記センサノードに固有の鍵を一方向性関数ツリーのリーフノードとみなし、前記一方向性関数ツリーの木構造と前記鍵情報に含まれるハッシュ関数とを利用して、同一の前記区画に属する前記他のセンサノードとの通信に利用する鍵を算出してもよい。
前記センサノードは、障害が発生したアクターノードまたは他のセンサノードをシステムから排除するノード排除部を更に備え、前記アクターノードに障害が発生した場合、前記ノード排除部は、障害が発生した前記アクターノードを代行する代行アクターノードから送信された、当該代行アクターノードに固有の識別情報を取得し、前記初期認証部は、前記ノード排除部が取得した前記代行アクターノードに固有の識別情報を利用して、前記代行アクターノードと相互認証を行ってもよい。
前記ノード排除部は、前記他のセンサノードに障害が発生した場合、データ送信先の前記アクターノードから通知された、前記他のセンサノードとの通信に利用する鍵を更新するための鍵更新情報と、前記一方向性関数ツリーとを利用して、他のセンサノードとの通信に利用する鍵を更新してもよい。
また、上記課題を解決するために、本発明の更に別の観点によれば、複数の区画に区分された所定の領域内に設置されているセンサノードと相互に通信が可能であり、センサノードが生成したデータを、担当する前記区画に設置されている前記センサノードから取得するアクターノードが実施する担当区画変更方法であって、他の前記アクターノードと通信を行う際に利用する鍵と、担当区画に設置されている前記センサノードとの通信に利用する鍵を生成するための鍵生成情報と、前記担当区画に固有な所定の長さのハッシュチェインと、を含む鍵情報を所定の装置から取得するステップと、前記センサノードからのデータの取得を担当する区画を一時的に変更し、前記担当する区画内の少なくとも一部の部分領域に設置された前記センサノードからのデータ取得を前記他のアクターノードに一時的に委託するステップと、を含み、前記データ取得を一時的に委託するステップでは、前記他のアクターノードから、当該他のアクターノードに固有の識別情報を取得し、前記他のアクターノードに固有の識別情報を、データの収集を行うアクターノードが一時的に変更される旨を表す識別子とともに前記部分領域内に設置された前記センサノードに通知し、前記他のアクターノードに固有の識別情報および前記部分領域内に設置された前記センサノードとの通信に利用される鍵を利用して生成した一時鍵と、前記ハッシュチェインの一部とを、前記他のアクターノードに通知する、担当区画変更方法が提供される。
また、上記課題を解決するために、本発明の更に別の観点によれば、複数の区画に区分された所定の領域内に設置されており、生成したデータを、設置されている区画を担当するアクターノードに対して出力するセンサノードが実施するパラメータ変更方法であって、前記アクターノードまたは他の前記センサノードとの通信に利用する鍵を生成するための鍵生成情報と、設置されている前記区画に固有な所定の長さのハッシュチェインと、を含む鍵情報を所定の装置から取得するステップと、生成したデータの送信先である前記アクターノードからの指示に応じて、他の前記センサノードとの通信に利用するパラメータを一時的に変更するステップと、を含み、前記パラメータを一時的に変更するステップは、前記アクターノードからの指示により、前記データの送信先が他の前記アクターノードへと一時的に変更になる場合、前記アクターノードから通知された前記他のアクターノードに固有の識別情報を利用して、前記他のアクターノードとの通信に利用する鍵、および、前記他のセンサノードとの通信に利用する鍵を更新する、パラメータ変更方法が提供される。
また、上記課題を解決するために、本発明の更に別の観点によれば、コンピュータを、複数の区画に区分された所定の領域内に設置されているセンサノードと相互に通信が可能であり、センサノードが生成したデータを、担当する前記区画に設置されている前記センサノードから取得するアクターノードとして機能させるためのプログラムであって、コンピュータに、他の前記アクターノードと通信を行う際に利用する鍵と、担当区画に設置されている前記センサノードとの通信に利用する鍵を生成するための鍵生成情報と、前記担当区画に固有な所定の長さのハッシュチェインと、を含む鍵情報を所定の装置から取得する鍵取得機能と;前記他のアクターノードから、当該他のアクターノードに固有の識別情報を取得する機能、前記他のアクターノードに固有の識別情報を、データの収集を行うアクターノードが一時的に変更される旨を表す識別子とともに前記部分領域内に設置された前記センサノードに通知する機能、ならびに、前記他のアクターノードに固有の識別情報および前記部分領域内に設置された前記センサノードとの通信に利用される鍵を利用して生成した一時鍵と、前記ハッシュチェインの一部とを、前記他のアクターノードに通知する機能を含む、前記センサノードからのデータの取得を担当する区画を一時的に変更し、前記担当する区画内の少なくとも一部の部分領域に設置された前記センサノードからのデータ取得を前記他のアクターノードに一時的に委託する動的変更機能と;を実現させるためのプログラムが提供される。
また、上記課題を解決するために、本発明の更に別の観点によれば、コンピュータを、複数の区画に区分された所定の領域内に設置されており、生成したデータを、設置されている区画を担当するアクターノードに対して出力するセンサノードとして機能させるためのプログラムであって、コンピュータに、前記アクターノードまたは他の前記センサノードとの通信に利用する鍵を生成するための鍵生成情報と、設置されている前記区画に固有な所定の長さのハッシュチェインと、を含む鍵情報を所定の装置から取得する鍵取得機能と;前記アクターノードからの指示により、前記データの送信先が他の前記アクターノードへと一時的に変更になる場合、前記アクターノードから通知された前記他のアクターノードに固有の識別情報を利用して、前記他のアクターノードとの通信に利用する鍵、および、前記他のセンサノードとの通信に利用する鍵を更新する機能を含む、生成したデータの送信先である前記アクターノードからの指示に応じて、他の前記センサノードとの通信に利用するパラメータを一時的に変更する動的変更機能と、を実現させるためのプログラムが提供される。
また、上記課題を解決するために、本発明の更に別の観点によれば、上記アクターノードおよび上記センサノードを含む情報処理システムが提供される。
以上説明したように本発明によれば、イベント発生時に、アクターノードが突発的なイベントに対応している場合、アクターノード間で担当領域の一時的な変更を行うことが可能となる。その結果、イベント対応中のアクターノードがデータ収集を担当することになっていたセンサノードからのデータ収集を、他のアクターノードが代行することが可能となる。これにより、本発明では、イベント発生時においても、イベントへの対応とデータの収集の双方を両立することが可能となる。
本発明の第1の実施形態に係る情報処理システムを説明するための説明図である。 同実施形態に係る情報処理システムを説明するための説明図である。 同実施形態に係る情報処理システムを説明するための説明図である。 同実施形態に係る鍵生成装置の構成を説明するためのブロック図である。 同実施形態に係るデータ処理装置の構成を説明するためのブロック図である。 同実施形態に係るアクターノードの構成を説明するためのブロック図である。 同実施形態に係るセンサノードの構成を説明するためのブロック図である。 同実施形態に係る情報処理システムで実施される処理を説明するための流れ図である。 同実施形態に係る鍵生成装置で実施されるセットアップ処理について説明するための流れ図である。 一方向関数ツリーを説明するための説明図である。 一方向関数ツリーを説明するための説明図である。 同実施形態に係るアクターノードで実施される初期認証処理について説明するための流れ図である。 同実施形態に係るアクターノードで実施される初期認証処理について説明するための流れ図である。 同実施形態に係るセンサノードで実施される初期認証処理について説明するための流れ図である。 同実施形態に係るセンサノードで実施される初期認証処理について説明するための流れ図である。 同実施形態に係る情報処理システムにおけるメッセージの伝達方法について説明するための説明図である。 同実施形態に係る情報処理システムにおけるメッセージの伝達方法について説明するための説明図である。 同実施形態に係るアクターノードで実施されるブロードキャスト認証処理について説明するための流れ図である。 同実施形態に係るアクターノードで実施されるブロードキャスト認証処理について説明するための流れ図である。 ブルームフィルタについて説明するための説明図である。 ブルームフィルタについて説明するための説明図である。 同実施形態に係るセンサノードで実施されるブロードキャスト認証処理について説明するための流れ図である。 同実施形態に係るセンサノードで実施されるブロードキャスト認証処理について説明するための流れ図である。 同実施形態に係るアクターノードで実施されるノード排除処理について説明するための流れ図である。 同実施形態に係るアクターノードで実施されるノード排除処理について説明するための流れ図である。 同実施形態に係るセンサノードで実施されるノード排除処理について説明するための流れ図である。 同実施形態に係るアクターノードで実施される動的変更処理について説明するための流れ図である。 同実施形態に係るアクターノードで実施される動的変更処理について説明するための流れ図である。 同実施形態に係るセンサノードで実施される動的変更処理について説明するための流れ図である。 同実施形態に係る動的変更処理について説明するための説明図である。 同実施形態に係る動的変更処理について説明するための説明図である。 同実施形態に係るアクターノードで実施される動的変更処理について説明するための流れ図である。 同実施形態に係るセンサノードで実施される動的変更処理について説明するための流れ図である。 本発明の実施形態に係る鍵処理装置のハードウェア構成を説明するためのブロック図である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は、以下の順序で行うものとする。
(1)第1の実施形態
(1−1)情報処理システムについて
(1−2)鍵生成装置の構成について
(1−3)データ処理装置の構成について
(1−4)アクターノードの構成について
(1−5)センサノードの構成について
(1−6)情報処理システム内で実施される処理の概要について
(1−7)セットアップ処理について
(1−8)初期認証処理について
(1−9)ブロードキャスト認証処理について
(1−10)ノード排除処理について
(1−11)担当グリッドの動的変更処理について
(2)本発明の実施形態に係る鍵生成装置、データ処理装置、アクターノードおよびセンサノードのハードウェア構成について
(3)まとめ
(第1の実施形態)
<情報処理システムについて>
まず、図1〜図3を参照しながら、本発明の第1の実施形態に係る情報処理システムについて、詳細に説明する。図1〜図3は、本実施形態に係る情報処理システムを説明するための説明図である。
[情報処理システムの概略について]
本実施形態に係る情報処理システム1は、例えば図1に示したように、鍵生成装置10と、データ処理装置20とを含む。また、情報処理システム1は、アクターノード30A,30B,30C・・・(以下、アクターノード30と略記する。)と、センサノード40A,40B,40C・・・(以下、センサノード40と略記する。)と、を含む。これらの装置は、通信網3を介して互いに接続されている。
通信網3は、鍵生成装置10、データ処理装置20、アクターノード30およびセンサノード40それぞれを双方向通信可能に接続する通信回線網である。この通信網は、例えば、インターネット、電話回線網、衛星通信網、同報通信路等の公衆回線網や、WAN(Wide Area Network)、LAN(Local Area Network)、IP−VPN(Internet Protocol−Virtual Private Network)、Ethernet(登録商標)、ワイヤレスLAN等の専用回線網などで構成されており、有線/無線を問わない。すなわち、本実施形態に係る情報処理システム1は、公衆回線網を用いた公共のサービスの一部であってもよく、LAN等を用いた第三者に公開しないプライベートなものであってもよい。
鍵生成装置10は、データ処理装置20、アクターノード30およびセンサノード40との間で行われる通信の際に利用される鍵を生成する装置である。この鍵生成装置10は、アクターノード30およびセンサノード40が配置されているフィールドを複数の区画に区分して、アクターノード30が担当する担当区画(以下、担当グリッドとも称する。)を決定する。各アクターノード30が担当する担当グリッドは、1つの区画であってもよく、複数の区画からなる領域であってもよい。また、フィールドの区分が決定すると、各区画に隣接する区画を表す情報等を決定する。
また、鍵生成装置10は、データ処理装置20、アクターノード30およびセンサノード40が、相互の通信を行う際に利用する各種のシステムパラメータを決定し、それぞれの装置の種別に応じて、生成すべき鍵などを生成する。
上で概略を説明したような鍵生成装置10が行うセットアップ処理については、以下で改めて詳細に説明する。
データ処理装置20は、鍵生成装置10から取得した鍵およびシステムパラメータ等を含む鍵情報を利用して、フィールドに展開されているアクターノード30およびセンサノード40と通信可能な装置である。データ処理装置20は、いわゆるシンクノード(sink node)として機能する装置であり、アクターノード30に対して、センサノード40からデータを収集するように要請する。その後、データ処理装置20は、各アクターノード30がセンサノード40から収集したデータを、それぞれのアクターノード30から収集し、所定のデータ処理を行う。また、データ処理装置20は、アクターノード30およびセンサノード40の少なくとも何れかに障害が生じたか否かを判断することが可能な装置である。データ処理装置20は、アクターノード30およびセンサノード40と、無線を介して通信を行うことが可能である。このデータ処理装置20については、以下で改めて詳細に説明する。
アクターノード30は、鍵生成装置10から取得した鍵およびシステムパラメータ等を含む鍵情報を利用して、データ処理装置20およびセンサノード40と通信可能な装置である。アクターノード30は、所定のフィールド内を移動することが可能な装置である。アクターノード30は、担当グリッド内を移動して、担当グリッド内に存在するセンサノード40から、センサノード40が生成したデータ(例えば、測定データ)等を、無線通信を介して取得する。また、アクターノード30は、センサノード40から取得したデータを、データ処理装置20に伝送する。
また、アクターノード30は、障害が発生したセンサノード40を検出することが可能である。これにより、アクターノード30は、故障が発生したセンサノード40や、ハッカーに侵入されたセンサノード40等を把握し、障害が発生したセンサノード40をフィールドから排除することができる。
アクターノード30は、以下で説明する、初期認証処理、ブロードキャスト認証処理、ノード排除処理および動的変更処理等を実施する。このアクターノード30の詳細およびアクターノード30が実施するこれらの処理については、以下で改めて詳細に説明する。
センサノード40は、鍵生成装置10から取得した鍵およびシステムパラメータ等を含む鍵情報を利用して、アクターノード30と通信可能な装置である。センサノード40は、情報処理システム1が目的とする事柄(例えば、火災の防止、侵入者の有無の監視など)を果たすために利用される各種の機器を備えた装置である。センサノード40が備える機器の例として、例えば、動画や静止画を撮像可能な撮像装置、温度計や湿度計といった各種センサ等を挙げることができる。センサノード40は、フィールド内の各所に配置されているが、アクターノード30のように移動機能を持たないため、測定したデータを、センサノード40が位置しているグリッドを担当するアクターノード30へ通知する。
なお、センサノード40は、自身が位置しているグリッド内、および、このグリッドに隣接するグリッドとの間の通信が可能な程度の近距離通信機能を有しているのみである。しかし、他のセンサノード40から出力された通信内容をリレー方式で伝達することで、遠方の装置(例えば、他のグリッドに位置するセンサノードなど)に通信内容を間接的に伝達することが可能である。
センサノード40は、以下で説明する、初期認証処理、ブロードキャスト認証処理、ノード排除処理および動的変更処理等を実施する。このセンサノード40の詳細およびセンサノード40が実施するこれらの処理については、以下で改めて詳細に説明する。
[情報処理システムの具体例について]
続いて、図2および図3を参照しながら、本実施形態に係る情報処理システム1の具体例について説明する。
図2は、通常の状態にあるフィールドの一部を示した模式図である。ここで、通常の状態とは、イベントが発生していない状態を意味する。また、イベントとは、情報処理システム1が実現を希望する目的に障害をもたらす可能性がある事象を意味する。図2では、鍵生成装置10によって、フィールドの一部が36個の矩形のグリッドに区画されている。以下では、各グリッドを、Gx,yのように表すこととする。
ここで、データ処理装置20は、グリッドG0,0に位置するものとする。また、本実施形態に係る情報処理システム1では、1つのグリッドを1つのアクターノードが担当する。また、鍵生成装置10は、各アクターノード30が互いにほぼ同数のグリッドを担当するように、各アクターノード30が担当する領域を決定する。
図2では、グリッドG0,0〜G2,2をアクターノード1(以下、Actor1と略記する。以下、同様の表記を行う。)が担当し、グリッドG3,0〜G5,2をActor2が担当している。同様に、グリッドG0,3〜G2,5をActor3が担当し、グリッドG3,3〜G5,5をActor4が担当している。
図2に示したような通常の状態にあるフィールドでは、Actor1〜Actor4の各アクターノード30は、エネルギー消費を抑制するために、担当するグリッド(担当グリッド)のほぼ中央に位置している。各アクターノード30は、担当グリッド内に存在するセンサノード40から収集したデータを、図2に示したように、データ処理装置20に最も近い位置に存在するアクターノード30を介して、データ処理装置20に伝送してもよい。また、各アクターノード30は、収集したデータを、直接データ処理装置20に伝送してもよい。
図3は、フィールドにイベントが発生した場合を図示した説明図である。図3では、グリッドG4,0およびG5,0において、あるイベントが発生した場合を示している。この場合、イベントの発生したグリッドの近傍に位置するアクターノードは、発生したイベントを解消するために、イベントの近傍まで移動する。このアクターノード30の移動に伴い、各アクターノード30の担当グリッドは、動的に変更される。また、一部のアクターノード30がフィールドの一部に偏って存在することとなるため、この偏りを解消するために、新たなアクターノード(図3においては、2つの更なるアクターノード)がフィールド内に移動してくる。これにより、本実施形態に係る情報処理システム1では、イベント発生時に、イベントの解消とデータ収集とを両立させることが可能となる。
なお、図2および図3では、フィールドが矩形のグリッドに区画されている場合を図示したが、グリッドの形状は図示した例に限定されるわけではなく、三角形や六角形など、所定の領域に隙間無く並べることが可能な形状であってもよい。
以上、本実施形態に係る情報処理システム1について説明した。
<鍵生成装置の構成について>
続いて、図4を参照しながら、本実施形態に係る鍵生成装置の構成について、詳細に説明する。図4は、本実施形態に係る鍵生成装置の構成を説明するためのブロック図である。
本実施形態に係る鍵生成装置10は、例えば図4に示したように、パラメータ設定部101と、フィールド分割部103と、アクターノード割当部105と、鍵生成部107と、ハッシュチェイン生成部109と、通信部111と、記憶部113と、を主に備える。これらの処理部は、単独で、または、互いに連携しながら、情報処理システム1内で使用される鍵やシステムパラメータ等に関する情報を含む鍵情報を生成する。
パラメータ設定部101は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等により実現される。パラメータ設定部101は、本実施形態に係る情報処理システム1内で各装置が通信を行う際に利用する鍵を生成するための各種のパラメータを設定する。パラメータ設定部101が設定したパラメータのうちのいくつかは、システムパラメータとして、データ処理装置20、アクターノード30およびセンサノード40にも通知される。
パラメータ設定部101が設定するパラメータの例として、例えば、フィールド中のグリッドの区画数、鍵の生成に用いられる2変数多項式、データ処理装置20およびアクターノード30の識別情報、ハッシュ関数等を挙げることができる。ここで、データ処理装置20およびアクターノード30の識別情報は、フィールド内で一意となるように設定される。
グリッドの区画数は、センサノードが設置されたフィールドをいくつのグリッドに区画するかを表す値である。この値は、例えば図2に示したようにフィールドを矩形のグリッドに区画する際には、横をx個、縦をy個(すなわち、フィールドをx×y個に区画)のように、各方向の分割数を表す値であってもよい。また、グリッドの区画数は、フィールド全体を計X個に分割する、といったような、全体の数を表す値のみであってもよい。
パラメータ設定部101が設定する2変数多項式F(x,y)は、情報処理システム1内で利用される鍵を生成するために利用されるt次の多項式であり、以下の式101に示すような多項式である。
Figure 2011130012
ここで、上記式101中のai,j(ai,j∈F)は、各項の係数であり、F(x,y)=F(y,x)となるように設定される。すなわち、本実施形態に係る情報処理システム1で利用される鍵は、F(x,y)を用いて生成されるペア鍵(pairwise key)であり、かつ、F(x,y)=F(y,x)が成立する対称鍵(symmetric key)である。
本実施形態に係る情報処理システム1では、2変数多項式F(x,y)の変数として、各装置の識別情報(以下、IDと略記する。)が用いられる。例えば、識別情報IDがIDという値で表されるアクターノード30と、IDという値で表されるアクターノード30との間で用いられる鍵は、F(ID,ID)として算出することができる。
パラメータ設定部101は、以下に示す種類の鍵を生成することができる2変数多項式を設定する。ここで、下記5種類の2変数多項式全てが、同一の係数を用いて表される同一の多項式(式101で表される一般式)であってもよく、互いに異なる係数を用いて表される別々の多項式であってもよく、5種類のうちのいくつかが同一の多項式であってもよい。
(a)データ処理装置20−アクターノード30間の通信で用いられる鍵の生成用
(b)データ処理装置20−センサノード40間の通信で用いられる鍵の生成用
(c)アクターノード30間の通信で用いられる鍵の生成用
(d)グリッド間の通信で用いられる鍵の生成用
(e)グリッド内の通信で用いられる鍵の生成用
また、パラメータ設定部101は、設定したハッシュ関数を、システムパラメータとして、データ処理装置20、アクターノード30およびセンサノード40に通知し、各装置でこのハッシュ関数を共有する。
フィールド分割部103は、例えば、CPU、ROM、RAM等により実現される。フィールド分割部103は、パラメータ設定部101により設定されたグリッドの区画数に基づいて、センサノード40が設置されているフィールドを複数のグリッドに分割する。また、フィールド分割部103は、各グリッドの相対的な位置関係を表す情報を、あわせて生成する。この相対的な位置関係を表す情報を利用することで、後述するアクターノード割当部105は、アクターノードの割り当てを効率よく行うことが可能となる。なお、グリッドは、あくまでもアクターノード30およびセンサノード40の制御上設定されるものであり、実際のフィールドが複数のグリッドに分割されているわけではない。
また、フィールド分割部103は、フィールドを複数のグリッドに区画した後、各グリッドに固有の識別情報(例えば、図2および図3におけるGx,yのような識別情報)を関連づける。これによりデータ処理装置20、アクターノード30およびセンサノード40は、各グリッドの位置を客観的に把握することが可能となる。以下では、各グリッドにGx,y(x,yは、グリッドの位置を表す座標)という識別情報が関連づけられているものとして説明を行うものとする。
また、フィールド分割部103は、フィールドを複数のグリッドに区画した後に、各グリッドに含まれるセンサノード40を特定し、各センサノード40に対して識別情報を関連付ける。ここで、センサノード40の識別情報は、少なくともグリッド内で一意であればよい。また、各センサノード40の識別情報は、システム全体として一意なものであってもよい。なお、センサノード40の識別情報をグリッド内でのみ一意となるように関連付ける場合、アクターノード30は、後述する初期認証処理において、センサノード40それぞれの識別情報を保持せずに、各グリッド内のセンサノード40の個数のみを保持すれば良い。これにより、アクターノード30が保持すべきデータ量を削減することが可能となる。
このようにしてグリッドが定義されることで、鍵生成装置10は、どのグリッドにどのセンサノード40が含まれているかを把握することができる。また、各センサノード40が位置しているグリッドの識別情報が確定した際に、フィールド分割部103は、各センサノード40の識別情報に、位置しているグリッドの識別情報を関連づけても良い。
アクターノード割当部105は、例えば、CPU、ROM、RAM等により実現される。アクターノード割当部105は、フィールド内に配置可能なアクターノード30の個数と、パラメータ設定部101により設定されたグリッドの区画数とに応じて、各アクターノード30が担当するグリッド(担当グリッド)を割り当てる。この担当グリッドが、一つのアクターノード30が、担当グリッド内に存在する全てのセンサノード40を管理する区切り(パーティション)となる。
この際、アクターノード割当部105は、グリッドの相対的な位置関係を表す情報を利用して、互いに近接するグリッドを、あるアクターノード30の担当グリッドとなるようにすることが好ましい。また、アクターノード割当部105は、各アクターノード30が担当するセンサノード40の個数が、なるべく等しくなるように担当グリッドを設定していくことが好ましい。
また、アクターノード割当部105は、各アクターノード30の担当グリッドが決定すると、各担当グリッド内のそれぞれのグリッドについて、自己のグリッドに隣接しているグリッドがどれかを表す情報(隣接グリッド特定情報)を生成する。
鍵生成部107は、例えば、CPU、ROM、RAM等により実現される。鍵生成部107は、パラメータ設定部101により設定された各装置の識別番号と、2変数多項式とを利用して、各装置が利用する各種の鍵を生成する。鍵の生成は、先に説明した式101で表される2変数多項式を利用して行われる。本実施形態に係るデータ処理装置(以下、シンクノードとも称する。)20、アクターノード30およびセンサノード40は、鍵生成部107により生成された鍵を、通信を行う装置との間で共有することで、鍵を共有する装置との間で安全な通信を行うことが可能となる。
鍵生成部107が生成する鍵としては、例えば、以下のものがある。
・データ処理装置(S)20と各アクターノード30(A)とが共有する鍵(S−A key)
・データ処理装置20(S)と各センサノード40(S)とが共有する鍵(S−S key)
・各アクターノード30(A)間で共有される鍵(A−A key)
鍵生成部107は、上記3種類の鍵の他に、アクターノード割当部105により生成された近接グリッド特定情報に基づいて、同一のパーティションに含まれる各グリッドに対して、グリッド間で通信を行う際に用いられる鍵を生成する。このグリッド(G)間で行われる通信で用いられる鍵(G−G key)は、該当するグリッドに属するノード間で共有される。
また、鍵生成部107は、同一のパーティションに含まれる各グリッドに対して、2変数多項式の一方の変数に当該パーティションを担当グリッドとするアクターノード30の識別情報を代入し、他方の変数は変数のまま残した多項式を生成する。これにより生成される多項式は、1変数の多項式となる。この1変数多項式は、このパーティションを担当グリッドとするアクターノード30により管理される。この1変数多項式を用いることで、アクターノート30は、該当するグリッドに存在する他のノードとの間で共有すべき鍵を、アクターノード30自身で生成することが可能となる。
更に、鍵生成部107は、各グリッドに属するセンサノード40それぞれに対して、2変数多項式の一方の変数にセンサノード40の識別情報を代入し、他方の変数は変数のまま残した多項式を生成する。この1変数多項式を用いることで、センサノート40は、該当するグリッドに存在する他のノードとの間で共有すべき鍵を、センサノード40自身で生成することが可能となる。
ハッシュチェイン生成部109は、例えば、CPU、ROM、RAM等により実現される。ハッシュチェイン生成部109は、グリッドGx,yごとに、一方向ハッシュチェインを生成する。また、生成された一方向ハッシュチェインは、該当するグリッドGx,y内に存在するセンサノード40全てと、このグリッドGx,yを担当グリッドとするアクターノード30とにより共有される。
一方向ハッシュチェインOは、初期値rと、繰り返しパラメータnとを用いて生成される。ハッシュチェイン生成部109は、乱数rを発生させ、一方向ハッシュチェインOの初期値(すなわち、n=0の場合)とする。また、ハッシュチェイン生成部109は、パラメータ設定部101によって設定されたハッシュ関数と繰り返しパラメータnとを利用して、以下のように一方向ハッシュチェインを生成する。なお、以下の式102において、Hは、ハッシュ関数を表す。また、繰り返しパラメータnは、十分に大きな数であり、システム1内における処理に際して、一方向ハッシュチェインの値が足りなくなるという事態が発生しないような値であるものとする。
=H(O)=H(r),O=H(O),・・・,O=H(On−1
・・・(式102)
一方向性ハッシュチェインOは、その名前の通り、Oの値を用いてOn−1の値を算出することが出来ないという一方向性を有する、複数の値のつながりである。逆に、一方向性ハッシュチェインの生成に用いるハッシュ関数を共有している装置間では、On−1の値を用いてOの値を算出することができる。
この一方向性ハッシュチェインは、次のように使用することができる。
一方向性ハッシュチェインを共有する各装置は、メッセージを送信する際に、On−1の値をメッセージに添付し、送信先の装置へと送信する。メッセージを受信した装置は、ハッシュ関数とメッセージに添付されたOn−1とを用いて、Oの値を算出し、自身で保持しているOの値と同じ値となるかを確認する。メッセージを受信した装置は、値が等しくなった場合に、受信したメッセージが正当なものであると判断することができる。
通信部111は、例えば、CPU、ROM、RAM、通信装置等により実現される。通信部111は、鍵生成装置10で生成された各種の鍵やシステムパラメータを、データ処理装置20、アクターノード30およびセンサノード40に送信する。
通信部111が各装置に送信する内容(すなわち、鍵情報)は、以下のような情報を含むものである。以下の内容から明らかなように、各装置に送信される鍵情報には、鍵そのものに関する情報と、鍵を生成するために利用される鍵生成情報と、ハッシュチェインやハッシュ関数のようなシステムパラメータとが含まれている。
データ処理装置20への送信内容
・各アクターノード30との間で用いられるペア鍵(S−A key)
・各センサノード40との間で用いられるペア鍵(S−S key)
各アクターノード30への送信内容
・他のアクターノード30との間で用いられるペア鍵(A−A key)
・データ処理装置20との間で用いられるペア鍵(S−A key)
・識別情報 IDA(i)
・担当グリッドに関する情報 P
・全てのグリッド用の2変数多項式FG(x,y)(IDA(i),y)(y:変数)
・各担当グリッドの一方向性ハッシュチェインOG(x,y)
・各担当グリッドの隣接グリッド特定情報GG(x,y)
・各担当グリッドのグリッド間通信用の鍵KG(x,y)(G−G key)
・ハッシュ関数
各センサノード40への送信内容
・データ処理装置20との間で用いられるペア鍵(S−S key)
・識別情報 IDS<j>
・自装置が位置するグリッドの識別情報 IDG(x,y)
・自装置が位置するグリッドの一方向性ハッシュチェインOG(x,y)
・自装置が位置するグリッド用の2変数多項式FG(x,y)(IDS<j>,y)(y:変数)
・ハッシュ関数
なお、上記の記載において、下付き文字中に記載されている( )は、下付き文字に更に付加されている下付き文字(下付き文字の下付き文字)を表している。また、下付き文字中に記載されている< >は、下付き文字に付加されている上付き文字(下付き文字の上付き文字)を表している。以下、本明細書中において、同様に記載を行うものとする。また、上付き文字に対しても、同様の記載を行うものとする。すなわち、上付き文字に更に付加されている下付き文字を( )で表すものとし、上付き文字に更に付加されている上付き文字を< >で表すものとする。
記憶部113は、本実施形態に係る鍵生成装置10が有するストレージ装置の一例である。この記憶部113には、鍵生成装置10が生成した各種の鍵情報や、システムパラメータ等が格納されてもよい。また、この記憶部113には、鍵生成装置10が何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等が適宜格納される。この記憶部113は、本実施形態に係る鍵生成装置10が備える各処理部が、自由に読み書きを行うことが可能である。
以上、本実施形態に係る鍵生成装置10の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
なお、上述のような本実施形態に係る鍵生成装置の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
<データ処理装置の構成について>
続いて、図5を参照しながら、本実施形態に係るデータ処理装置の構成について、詳細に説明する。図5は、本実施形態に係るデータ処理装置の構成を説明するためのブロック図である。
データ処理装置20は、いわゆるシンクノードとして機能する装置である。このデータ処理装置20は、例えば図5に示したように、ノード制御部201と、データ取得部203と、データ処理部205と、排除ノード特定部207と、通信部209と、記憶部211と、を主に備える。
ノード制御部201は、例えば、CPU、ROM、RAM等により実現される。ノード制御部201は、フィールド内に設置されているアクターノード30およびセンサノード40の制御を行う処理部である。
ノード制御部201は、所定のタイミング毎、または、データ処理装置20の管理者の指示等に応じて、データ処理部203に対して、アクターノード30からデータを取得するように要請する。これによりデータ処理装置20は、フィールド内に配置されているアクターノード30(ひいては、センサノード40)から、データを取得することが可能となる。
データ取得部203は、例えば、CPU、ROM、RAM等により実現される。データ取得部203は、鍵生成装置10により生成されたデータ処理装置20用の鍵情報を、鍵生成装置10から取得し、後述する記憶部211に格納する。また、ノード制御部201からの要請に応じて、フィールド内に配置された各アクターノード30から、当該アクターノード30が収集したデータを収集し、後述するデータ処理部205に伝送する。
データ処理部205は、例えば、CPU、ROM、RAM等により実現される。データ処理部205は、データ取得部203が取得したデータに基づいて、所定のデータ処理を実行する。これにより、本実施形態に係る情報処理システム1は、目的とすべき事項を実現することが可能となる。
排除ノード特定部207は、例えば、CPU、ROM、RAM等により実現される。排除ノード特定部207は、フィールド内に配置されているアクターノード30およびセンサノード40の動作状態を把握することが可能であり、これらのノードに障害が発生した場合には、その旨を把握することができる。フィールド内に配置されている各ノードに故障等の障害が発生した場合、または、悪意のある第三者に、通信に用いる鍵を含む鍵情報が漏洩してしまった場合等に、排除ノード特定部207は、どのノードに対して障害が発生したかを把握する。
障害の発生したノードがアクターノード30である場合、排除ノード特定部207は、障害の発生したアクターノード30に関する情報を、他のアクターノード30に通知する。また、障害の発生したアクターノード30が担当していたグリッドを、他のアクターノード30に割り当てなおし、データの収集に影響が生じないようにする。
また、障害の発生したノードがセンサノード40である場合には、排除ノード特定部207は、障害の発生したセンサノード40に関する情報を、アクターノード30で共有する。
これにより、データ処理装置20は、障害の発生したノードが存在した場合であっても、情報処理システム1が目的とする事項を実現することが可能となる。
通信部209は、例えば、CPU、ROM、RAM、通信装置等により実現される。通信部209は、データ処理装置20と、各装置との間で行われる通信の制御を行う処理部である。通信部209は、情報処理システム1内で用いられるプロトコルに則して、鍵生成装置10、アクターノード30およびセンサノード40と通信を行う。
記憶部211は、本実施形態に係るデータ処理装置20が有するストレージ装置の一例である。この記憶部211には、鍵生成装置10が生成した各種の鍵情報や、システムパラメータ等が格納されてもよい。また、この記憶部211には、データ処理装置20が何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等が適宜格納される。この記憶部211は、本実施形態に係るデータ処理装置20が備える各処理部が、自由に読み書きを行うことが可能である。
以上、本実施形態に係るデータ処理装置20の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
なお、上述のような本実施形態に係るデータ処理装置の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
<アクターノードの構成について>
続いて、図6を参照しながら、本実施形態に係るアクターノード30の構成について、詳細に説明する。図6は、本実施形態に係るアクターノード30の構成を説明するためのブロック図である。
アクターノード30は、例えば図6に示したように、鍵取得部301、初期認証部303、データ収集部305、データ転送部307、ブロードキャスト認証部309、ノード排除処理部311、動的変更部313、通信部315および記憶部317を主に備える。
鍵取得部301は、例えば、CPU、ROM、RAM等により実現される。鍵取得部301は、鍵生成装置10で生成されたアクターノード30用の鍵生成情報と各種のシステムパラメータとを含む鍵情報を取得する。また、鍵取得部301は、取得した鍵情報を、後述する記憶部317に格納してもよい。
本実施形態に係るアクターノード30は、この鍵情報を取得することで、データ処理装置20、他のアクターノード30、および、センサノード40と相互に通信を行うことが可能となる。
初期認証部303は、例えば、CPU、ROM、RAM等により実現される。初期認証部303は、アクターノード30の担当グリッド内に含まれるグリッド毎に、当該グリッド内に存在するセンサノード40との間で、以下で改めて説明する初期認証処理を実施する。これにより、アクターノード30と担当グリッド内のセンサノード40とは、相互認証を行うことができる。この初期認証処理は、アクターノード30が担当グリッド内のグリッドを移動しながら行う処理であり、初期認証処理が終了した後、アクターノード30は、担当グリッドのほぼ中央に位置する場所まで移動する。
この初期認証処理については、以下で改めて詳細に説明する。
データ収集部305は、例えば、CPU、ROM、RAM等により実現される。データ収集部305は、担当グリッド内に設置されているセンサノード40から、センサノード40が測定した各種のデータを取得する。また、データ収集部305は、各センサノード40と例えば定期的に通信を行うことで、センサノード40に障害が生じているか否かを把握することが可能である。同様に、データ収集部305は、他のアクターノード30に障害が生じているか否かも把握することが可能である。
データ転送部307は、例えば、CPU、ROM、RAM等により実現される。データ転送部307は、データ収集部305によって収集されたデータ(担当グリッド内のセンサノード40から取得したデータ)を、シンクノードであるデータ処理装置20に転送する。これにより、データ処理装置20は、各センサノード40が測定した測定データ等を、取得することが可能となる。
ブロードキャスト認証部309は、例えば、CPU、ROM、RAM等により実現される。ブロードキャスト認証部309は、担当グリッド内のあるグリッド中に設置されているセンサノード40に対して同報送信を行う場合に、同報送信するメッセージを認証する処理を実施する。この処理を、以下では、ブロードキャスト認証処理と称することとする。ブロードキャスト認証部309は、鍵生成装置10で生成された一方向ハッシュチェインと、メッセージ認証コード(Message Authentication Code:MAC)とを利用することで、メッセージの認証を行う。また、ブロードキャスト認証部309は、送信目標であるグリッドに対して、直接メッセージを送信する場合や、担当グリッド内のいくつかのグリッドを中継しながら送信する場合がある。
このブロードキャスト認証処理については、以下で改めて詳細に説明する。
ノード排除処理部311は、例えば、CPU、ROM、RAM等により実現される。ノード排除処理部311は、担当グリッド内のセンサノード40、または、他のアクターノード30に何らかの障害が発生した場合に、障害の発生したノードをシステムから排除するノード排除処理を実施する処理部である。
ノード排除処理部311は、担当グリッド内のセンサノード40に障害が発生した場合には、障害の発生したセンサノード40が存在するグリッド内の他のセンサノード40と連携しながら、ノード排除処理を実施する。また、ノード排除処理部311は、他のアクターノード30に障害が発生した場合には、データ処理装置20および障害の発生していない他のアクターノード30と連携しながら、ノード排除処理を実施する。
このノード排除処理については、以下で改めて詳細に説明する。
動的変更部313は、例えば、CPU、ROM、RAM等により実現される。動的変更部313は、少なくとも一部のアクターノード30との間で担当グリッドを一時的に変更し、担当グリッドの少なくとも一部の位置するセンサノード40からのデータ取得を、他のアクターノード30に委託する。この担当グリッドの一時的な変更は、情報処理システム1内にあるイベントが発生した場合に行われる。この担当グリッドの一時的な変更処理(以下、動的変更処理と称する。)は、データ処理装置20と連携しながら行っても良い。データ処理装置20と連携することで、担当グリッドの効率的な再割り当てを行うことが可能である。本実施形態に係る情報処理システム1では、アクターノード30の動的変更部313が、イベント発生時における動的変更処理を実施することで、発生したイベントへの対処とデータの収集とを両立させることが可能となる。
動的変更部313により実施される動的変更処理は、主に、他のアクターノード30およびアクターノード30が変更となるグリッドに位置するセンサノード40と、動的変更部313とが連携することで実施される。この動的変更部313による動的変更処理は、動的変更の開始に伴う処理と、通常時における担当グリッドへの復帰処理という2つの大きな流れがあるが、これらの詳細については、以下で改めて説明する。
通信部315は、例えば、CPU、ROM、RAM、通信装置等により実現される。通信部315は、アクターノード30と、他のアクターノード30を含む各装置との間で行われる通信の制御を行う処理部である。通信部315は、情報処理システム1内で用いられるプロトコルに則して、鍵生成装置10、アクターノード30およびセンサノード40と通信を行う。
記憶部317は、本実施形態に係るアクターノード30が有するストレージ装置の一例である。この記憶部317には、鍵生成装置10が生成した各種の鍵情報や、システムパラメータ等が格納されてもよい。また、この記憶部317には、アクターノード30が何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等が適宜格納される。この記憶部317は、本実施形態に係るアクターノード30が備える各処理部が、自由に読み書きを行うことが可能である。
以上、本実施形態に係るアクターノード30の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
なお、上述のような本実施形態に係るアクターノードの各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
<センサノードの構成について>
続いて、図7を参照しながら、本実施形態に係るセンサノード40の構成について、詳細に説明する。図7は、本実施形態に係るセンサノード40の構成を説明するためのブロック図である。
センサノード40は、例えば図7に示したように、鍵取得部401、初期認証部403、センサ部405、データ転送部407、ブロードキャスト認証部409、ノード排除処理部411、動的変更部413、通信部415および記憶部417を主に備える。
鍵取得部401は、例えば、CPU、ROM、RAM等により実現される。鍵取得部401は、鍵生成装置10で生成されたセンサノード40用の鍵生成情報と各種のシステムパラメータとを含む鍵情報を取得する。また、鍵取得部401は、取得した鍵情報を、後述する記憶部417に格納してもよい。
本実施形態に係るセンサノード40は、この鍵情報を取得することで、データ処理装置20、アクターノード30、および、他のセンサノード40と相互に通信を行うことが可能となる。
初期認証部403は、例えば、CPU、ROM、RAM等により実現される。初期認証部403は、自装置が存在するグリッドを担当するアクターノード30との間で、以下で改めて説明する初期認証処理を実施する。これにより、センサノード40とアクターノード30とは、相互認証を行うことができる。
センサ部405は、例えば、CPU、ROM、RAM、各種のセンサ等により実現される。センサ部405は、センサノード40が設置されている位置の周囲の環境に関する様々なデータを検出したり測定したりして、周囲の環境に関するデータを生成する。センサ部405が備えるセンサは、本実施形態に係る情報処理システム1が果たすべき目的を実現するために利用される各種のデータを得るために用いられる各種のデバイス等である。
例えば、本実施形態に係る情報処理システム1が、火災の防止を目的とするシステムであるならば、センサ部405は、火災を検知するために有用な測定デバイス(例えば、温度計、カメラなどの撮像装置、ガス検知器等)をセンサとして実装する。また、本実施形態に係る情報処理システム1が、侵入者の検知を目的とするシステムであるならば、センサ部405は、侵入者を検知するために有用な測定デバイス(例えば、各種の撮像装置や集音マイク等)をセンサとして実装する。上述のようなセンサの例は、あくまでも一例であって、センサ部305は、これらの検出装置・測定装置以外にも、任意の装置を実装可能である。
データ転送部407は、例えば、CPU、ROM、RAM等により実現される。データ転送部407は、センサ部405によって収集されたデータを、自身が位置するグリッドを担当グリッドするアクターノード30に転送する。これにより、データ処理装置20は、各センサノード40が測定した測定データ等を、取得することが可能となる。
ブロードキャスト認証部409は、例えば、CPU、ROM、RAM等により実現される。ブロードキャスト認証部409は、自身が位置するグリッドを担当グリッドとするアクターノード30から同報送信されたメッセージを認証する処理(ブロードキャスト認証処理)を実施する。ブロードキャスト認証部409は、鍵生成装置10で生成された一方向ハッシュチェインと、メッセージ認証コード(Message Authentication Code:MAC)とを利用することで、メッセージの認証を行う。
また、ブロードキャスト認証部409は、アクターノード30から同報送信されたメッセージが、自身の位置するグリッドに対して送信されたものか、他のグリッドに対して送信されたものかを判断する。アクターノード30が送信目標としているグリッドが自身の位置するグリッドではない場合、ブロードキャスト認証部409は、同報送信されたメッセージを中継して、送信目標であるグリッドに向けて同報送信を行う。
このブロードキャスト認証処理については、以下で改めて詳細に説明する。
ノード排除処理部411は、例えば、CPU、ROM、RAM等により実現される。ノード排除処理部411は、自身が位置するグリッドを担当するアクターノード30、または、自身が位置するグリッド内の他のセンサノード40に何らかの障害が発生した場合に、障害の発生したノードをシステムから排除するノード排除処理を実施する。ノード排除処理部411は、自身が位置するグリッドを担当グリッドとしているアクターノード30、または、自身が位置するグリッドを今後担当グリッドとするアクターノード30と連携しながら、ノード排除処理を実施する。
このノード排除処理についても、以下で改めて詳細に説明する。
動的変更部413は、例えば、CPU、ROM、RAM等により実現される。動的変更部413は、自身が位置するグリッドを担当グリッドとするアクターノード30が一時的に変更となった場合に、変更前のアクターノード30と連携しながら、アクターノード30の動的変更処理を実施する。この動的変更部413による動的変更処理は、動的変更の開始に伴う処理と、通常時におけるアクターノード30への復帰処理という2つの大きな流れがあるが、これらの詳細については、以下で改めて説明する。
通信部415は、例えば、CPU、ROM、RAM、通信装置等により実現される。通信部415は、センサノード40と、各装置との間で行われる通信の制御を行う処理部である。通信部415は、情報処理システム1内で用いられるプロトコルに則して、鍵生成装置10、アクターノード30および他のセンサノード40と通信を行う。
記憶部417は、本実施形態に係るセンサノード40が有するストレージ装置の一例である。この記憶部417には、鍵生成装置10が生成した各種の鍵情報や、システムパラメータ等が格納されてもよい。また、この記憶部417には、センサノード40が何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等が適宜格納される。この記憶部417は、本実施形態に係るセンサノード40が備える各処理部が、自由に読み書きを行うことが可能である。
以上、本実施形態に係るセンサノード40の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
なお、上述のような本実施形態に係るセンサノードの各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
<情報処理システム内で実施される処理の概要について>
続いて、図8を参照しながら、本実施形態に係る情報処理システム内で実施される処理の概要について、簡単に説明する。図8は、本実施形態に係る情報処理システムで実施される処理を説明するための流れ図である。
本実施形態に係る情報処理システム1では、まず、鍵生成装置10によって、フィールドのグリッドへの分割、各種の鍵の生成、システムパラメータの設定といった処理を含むセットアップ処理が実施される(S11)。鍵生成装置10によって生成された鍵や一部のシステムパラメータを含む鍵情報は、データ処理装置20、アクターノード30およびセンサノード40に伝送される。
続いて、フィールド内に設置されたアクターノード30とセンサノード40との間で、初期認証処理が実施され、アクターノード30とセンサノード40との間の相互認証が成される(ステップS13)。
この初期認証処理を経ることで、アクターノード30はセンサノード40からデータを収集することが可能となり、データ処理装置20によって、アクターノード30を利用したセンサノード40からのデータ収集処理が実施される(ステップS15)。このデータ収集処理については、特定の方法に限定されるわけではなく、任意のデータ収集処理を利用することが可能である。
また、データ処理装置20およびアクターノード30は、アクターノード30またはセンサノード40に障害が発生しているか否かを監視している(ステップS17)。ノードが故障した、または、ノードが悪意のある第三者に乗っ取られた、等の障害がノードに発生した場合には、障害の発生していないアクターノード30およびセンサノード40が連携して、ノード排除処理が実施される(ステップS19)。このノード排除処理では、シンクノードであるデータ処理装置20も処理に参加する場合がある。
また、ノードに障害が発生していない場合であっても、アクターノード30がセンサノード40に対して、各種の命令等を発行する場合がある(ステップS21)。このような場合、アクターノード30とセンサノード40は、互いに連携して、同報送信されたメッセージの認証処理(ブロードキャスト認証処理)を実施する(ステップS23)。
また、情報処理システム1内において、システムが本来果たすべき目的に悪影響を及ぼしうるイベントが発生する場合もある(ステップS25)。かかる場合には、アクターノード30とセンサノード40との間で、アクターノード30が担当するグリッドを一時的に変更する処理である、担当グリッドの動的変更処理が実施される(ステップS27)。
このように、本実施形態に係る情報処理システム1では、様々な状況に応じて、各種の処理が実施されている。以下では、これらの処理のうち、セットアップ処理、初期認証処理、ブロードキャスト認証処理、ノード排除処理および担当グリッドの動的変更処理について、各図を参照しながら詳細に説明する。
<セットアップ処理について>
まず、図9を参照しながら、本実施形態に係る鍵生成装置10が実施するセットアップ処理について、詳細に説明する。図9は、本実施形態に係るセットアップ処理を説明するための流れ図である。
なお、以下の説明に先立ち、データ処理装置20およびアクターノード30には、パラメータ設定部101により、システム1内で一意な識別情報が関連付けられているものとする。
鍵生成装置10で実施されるセットアップ処理は、情報処理システム1が構築され、運用を開始する際などに実施される処理である。まず、鍵生成装置10のパラメータ設定部101は、グリッドの区画数に関するパラメータを設定する。その上で、フィールド分割部103は、アクターノード30およびセンサノード40が配置されるフィールドを、グリッドの区画数に関するパラメータを参照しながら、複数のグリッドに分割し、各グリッドに対して識別情報を割り当てる(ステップS101)。以下の説明では、フィールドが計XY個(0≦x≦X−1,0≦y≦Y−1)のグリッドGx,yに分割され、各グリッドに識別情報IDG(x,y)が割り当てられたものとする。
次に、パラメータ設定部101は、各グリッドGx,yに対して、t次の2変数多項式FG(x,y)を無作為に生成する(ステップS103)。
また、ハッシュチェイン生成部109は、パラメータ設定部101により設定されたハッシュ関数Hと、無作為に生成した乱数rとを用いて、グリッドGx,yごとに、一方向性ハッシュチェインOG(x,y) を生成する(ステップS105)。
次に、フィールド分割部103は、各グリッドGx,yに含まれるセンサノード40を特定して(ステップS107)、各センサノード40に対して識別情報を関連付ける。また、アクターノード割当部105は、アクターノード30の担当するセンサノード40の個数がほぼ等しくなるように、各アクターノードAが担当するグリッド(担当グリッド)PA(i)を決定する(ステップS109)。この担当グリッドPA(i)が、一つのアクターノード30が、担当グリッド内に存在する全てのセンサノード40を管理する区切り(パーティション)となる。
各アクターノードAの担当グリッドが決定すると、アクターノード割当部105は、各パーティションに含まれる各グリッドGx,yについて、相隣接するグリッドを特定し(ステップS111)、隣接グリッド特定情報GG(x,y)を生成する。
次に、鍵生成部107は、隣接グリッド特定情報GG(x,y)を参照して、グリッド間通信に用いる鍵(G−G key)KG(x,y)を生成する(ステップS113)。このグリッド間通信に用いる鍵は、グリッドに関連付けられた識別情報IDG(x,y)と、2変数多項式F(x,y)とを用いて算出することが可能である。
続いて、鍵生成部107は、各アクターノードAおよび各センサノードS用の鍵を含む鍵情報を生成する(ステップS115)。具体的には、鍵生成部107は、データ処理装置20と各アクターノート30との間で共有する対称鍵、アクターノード間で共有される対称鍵をそれぞれ生成する。なお、アクターノード間で共有される対称鍵について、アクターノードの個数がA個であるとすると、生成される対称鍵の個数は、A(A+1)/2となる。これは、2変数多項式F(x,y)において、F(x,y)=F(y,x)が成立しているためである。
更に、鍵生成部107は、各アクターノードAの識別情報IDA(i)を利用して、全てのグリッドGx,yに対して、鍵生成用の多項式FG(x,y)(IDA(i),y)(y:変数)を生成する。また、鍵生成部107は、同一のグリッドGx,yに位置している各センサノードSに対して、各センサノードSjの識別情報IDS<j>を利用して、鍵生成用の多項式FG(x,y)(IDS<j>,y)(y:変数)を生成する。
その後、鍵生成装置10の通信部111は、データ処理装置20、アクターノード30およびセンサノード40に対して、先に述べたような鍵生成情報およびシステムパラメータを含む鍵情報を配信する(ステップS117)。
以上のようにして生成された鍵情報を利用することで、本実施形態に係る情報処理システム1内に含まれるデータ処理装置20、アクターノード30およびセンサノード40は、互いの装置間でセキュアな情報のやり取りを行うことが可能となる。
<初期認証処理について>
続いて、図10A〜図12Bを参照しながら、本実施形態に係るアクターノード30およびセンサノード40で実施される初期認証処理について、詳細に説明する。図10Aおよび図10Bは、初期認証処理において利用される一方向性関数ツリーを説明するための説明図である。図11Aおよび図11Bは、本実施形態に係るアクターノード30で実施される初期認証処理を説明するための流れ図である。図12Aおよび図12Bは、本実施形態に係るセンサノード40で実施される初期認証処理を説明するための流れ図である。
[一方向性関数ツリーについて]
初期認証処理について説明するに先立ち、図10Aおよび図10Bを参照しながら、初期認証処理において用いられる一方向性関数ツリー(one way function tree)について、簡単に説明する。
本実施形態に係る情報処理システム1では、暗号化されたメッセージの送受信を行う際に、送信側の装置と受信側の装置とで共通の鍵を共有している場合にのみ、暗号化されたメッセージの復号を行うことが可能となる。本実施形態では、各アクターノード間、データ処理装置とアクターノードとの間、および、データ処理装置とセンサノードとの間では、互いに鍵を共有しているため、セキュアにメッセージを送受信することが可能となる。しかしながら、場合によっては、同一のグリッド内に存在するセンサノード間でセキュアに情報のやり取りを実現したい場合も生じうる。そのため、本実施形態に係る情報処理システム1では、図10Aに示したような一方向性関数ツリーを利用し、必要最低限の情報に基づいた、同一のグリッド内に存在するセンサノードと通信を行うことが可能な鍵の生成を実現する。
図10Aに、一方向性関数ツリーの一例を示した。本実施形態に係る一方向性関数ツリーでは、木構造の各ノードが、対称鍵に対応している。また、木構造の一番末端のノード(リーフノード)K〜Kが、各センサノードSが保持している対称鍵を表す。
ここで、Kというリーフノードに着目する。このノードは、あるグリッド内に存在するセンサノードSに対応している。センサノードSは、図10Aに示した鍵Kのみしか保持していない場合、同じ階層に位置するセンサノード(例えば、センサノードS)とは鍵を利用したメッセージの送受信を行うことはできない。しかしながら、センサノードSおよびセンサノードSが、親ノードであるK12という鍵を算出して共有することができれば、センサノードSは、センサノードSとセキュアな通信を実行できる。
同様にして、ノードK12に対応する鍵と、ノードK34に対応する鍵とを利用することで、これらのノードの親ノードであるK14に対応する鍵を算出し、該当するセンサノード間で共有することで、センサノードS〜Sは、セキュアな通信を実現できる。
そこで、本実施形態に係る情報処理システム1では、初期認証処理に際して、各グリッドを担当するアクターノード30が、図10Aに例示したような一方向性関数ツリーを生成し、担当グリッド内のセンサノード40に対して、最低限必要な情報を通知する。なお、先の説明からも明らかなように、図10AにおけるKjkは、S,Sj+1,・・・,Sの間で共有される鍵を表し、ルートに対応する鍵RKG(x,y)は、グリッド内に位置するセンサノード40間で共有される鍵を表す。
親ノードに対応する鍵(例えば、Kに着目した場合のK12)を算出する際には、本実施形態に係る情報処理システム1では、システムパラメータであるハッシュ関数Hを利用する。また、親ノードに対応する鍵を算出する際には、算出しようとする親ノードから枝分かれしている、着目したノードと同じ階層に位置するノード(兄弟ノード:sibling node)の鍵も必要となる。以下では、図10Bに示した例を参照しながら、親ノードに対応する鍵の算出方法について、具体的に説明する。
なお、以下の説明では、アクターノード30は、担当グリッド内に設置されているセンサノード40の識別情報を把握しているものとする。アクターノード30とセンサノード40との間で共有される対称鍵は、以下で改めて説明するように、各ノードの識別情報を用いて生成されるものである。そのため、アクターノード30は、担当グリッド内のセンサノード40との間で共有する鍵を全て保持しているといえる。
まず、アクターノード30は、鍵Kと、システムパラメータであるハッシュ関数Hとを利用して、鍵Kのハッシュ値L=H(K)を算出する。同様にして、アクターノード30は、鍵K〜Kそれぞれとハッシュ関数Hとを利用して、ハッシュ値L〜Lを算出する。
続いて、アクターノード30は、KおよびKの親ノードであるK12を、K12=H(L||L)により算出する。ここで、記号(x||y)は、ビット列xおよびビット列yの連結を表す記号である。同様に、アクターノード30は、KおよびKの親ノードであるK34を、K34=H(L||L)により算出する。
次に、アクターノード30は、算出した鍵K12およびK34と、ハッシュ関数Hとを利用して、ルート鍵K14を、K14=H(L12||L34)により算出する。
このような計算を繰り返すことで、アクターノード30は、図10Aに示したような一方向性関数ツリーのルート鍵RKG(x,y)を算出することができる。
また、図10Bにおいて、センサノードSに着目してみると、センサノードSがルート鍵K14を算出する場合、木構造から明らかなように、まず、K12を算出して、次いでルート鍵K14を算出することとなる。この際、センサノードSは、ノードK12の兄弟ノードであるノードKのハッシュ値Lと、ノードK14の兄弟ノードであるノードK34のハッシュ値L34とが必要となる。そこで、アクターノード30は、以下で改めて説明するように、ルート鍵の算出に必要となる兄弟ノードに対応するハッシュ値を、兄弟ノード情報として各センサノード40に伝送する。これにより、各センサノードSは、同一グリッド内の他のセンサノード40との間で共有される鍵を算出することができる。また、算出に必要となる最低限の情報のみを送信することとなるため、初期認証処理時にアクターノード30からセンサノード40へ送信されるメッセージのデータサイズを削減することが可能となる。
[アクターノードにおける初期認証処理]
続いて、図11Aおよび図11Bを参照しながら、アクターノードにおける初期認証処理の流れについて、詳細に説明する。
なお、以下の説明に先立ち、アクターノード30は、担当グリッド内に存在するセンサノード40の識別情報を、予め把握しているものとする。また、以下では、ある一つのアクターノード30(アクターノードA)を例にとって、説明を行うものとする。
まず、アクターノードAは、担当グリッド内の、未だ初期認証処理を実行していないグリッド(未認証グリッド)へ移動する(ステップS201)。次に、初期認証部303は、自身の識別情報IDA(i)と、グリッド内のセンサノードS(1≦j≦N)の識別情報IDS<j>とを利用して、各センサノード用のペア鍵KA(i),S<j>を、以下の式201に基づいて算出する(ステップS203)。以下の式201から明らかなように、各センサノード用のペア鍵は、鍵生成情報に含まれる2変数多項式(より詳細には、一方の変数に自己の識別情報が代入された多項式)を用いて生成される。
Figure 2011130012
続いて、初期認証部303は、算出したペア鍵KA(i),S<j>を利用して、図10A、図10Bに例示したような一方向性関数ツリーTG(x,y)生成し(ステップS205)、記憶部317に格納する。
次に、初期認証部303は、自身の識別情報IDA(i)を、グリッド内に存在する全てのセンサノードSに対して、同報送信する(ステップS207)。これにより、グリッド内の各センサノードSにおいても、センサノードSを担当するアクターノード30との間の通信で利用されるペア鍵を算出することが可能となる。
続いて、初期認証部303は、生成した一方向性関数ツリーTG(x,y)を利用して、ツリー内の各センサノードSに対応する兄弟ノードを特定し、兄弟ノードに関する情報(兄弟ノード情報)VS<j>を生成する(ステップS209)。この兄弟ノードに関する情報には、兄弟ノードに対応する鍵Kのハッシュ値L=H(K)が含まれている。例を挙げれば、図10Bに示したような一方向性関数ツリーが生成され、センサノードSに着目した場合、その兄弟ノードはKおよびK34であり、兄弟ノードに関する情報VS<1>には、ハッシュ値LおよびL34が含まれている。
続いて、初期認証部303は、生成した各センサノードS用の兄弟ノード情報VS<j>を、センサノードS用の鍵KA(i),S<j>を用いて暗号化して、暗号文とする(ステップS211)。生成される暗号文を、以下では、次の表記201のように表すこととする。
Figure 2011130012
続いて、初期認証部303は、生成した兄弟ノード情報の暗号文を利用して、この暗号文のメッセージ認証コード(MAC)を生成する(ステップS213)。このMACの算出には、センサノードS用の鍵KA(i),S<j>が用いられる。このMACを利用することで、メッセージを受信したセンサノードSは、メッセージの正当性を確認することが可能となる。生成されるMACを、以下では、次の表記202のように表すこととする。
Figure 2011130012
続いて、初期認証部303は、生成した兄弟ノード情報の暗号文Encと、そのMACとを、該当するセンサノードSへ送信(ユニキャスト)する(ステップS215)。
その後、アクターノードAは、グリッドGx,y内の各センサノードSjから、返信メッセージを受信する(ステップS217)。この返信メッセージには、各センサノードの識別情報IDS<j>と、センサノードSが生成したルート鍵RKG(x,y)を利用した識別情報IDS<j>のMACとが含まれている。
続いて、アクターノードAの初期認証部303は、返信メッセージに含まれるMACを確認して(ステップS219)、各返信メッセージがセンサノードSから送信された正当なメッセージである旨を確認する。このメッセージは、上述のように、センサノードSが算出したルート鍵を用いて生成されているため、このメッセージの正当性を確認することで、アクターノードAは、センサノードSとルート鍵を共有できたことを確認することができる。
次に、初期認証部303は、グリッドGx,y内に存在する全てのセンサノードSから、有効なメッセージを受信したか否かを判断する(ステップS221)。全てのセンサノードSから有効なメッセージを受信していない場合には、初期認証部303は、ステップS203に戻って初期認証処理を繰り返す。
また、グリッドGx,y内の全てのセンサノードSから有効なメッセージが得られた場合、初期認証部303は、鍵情報に含まれる担当グリッドに関する情報PA(i)を参照して、担当グリッドが処理中の1グリッドのみかを確認する(ステップS223)。担当グリッドが1グリッドのみであった場合、初期認証部303は、初期認証処理を終了する。
他方、担当グリッドが1グリッドだけではなかった場合、初期認証部303は、以下の処理を行う。すなわち、初期認証部303は、グリッドGx,y用のハッシュチェインOのうちのOn−1と、隣接グリッド特定情報GG(x,y)と、グリッド間通信用の鍵KG(x,y)とを含む、隣接グリッドに関する情報を生成する。その後、初期認証部303は、生成した隣接グリッドに関する情報を、グリッドGx,yのルート鍵RKG(x,y)を用いて暗号化し、以下の表記203のような暗号文を生成する(ステップS225)。
Figure 2011130012
続いて、初期認証部303は、以下の表記204で表される、生成した隣接グリッドに関する情報の暗号文のMACを、ルート鍵RKG(x,y)を用いて算出する(ステップS227)。
Figure 2011130012
続いて、初期認証部303は、グリッドGx,y内の全てのセンサノードSに対して、表記203の暗号文および表記204のMACを含むメッセージを同報送信する(ステップS229)。
次に、初期認証部303は、処理中のグリッドが、担当グリッド中の最後のグリッドであるか否かを判断する(ステップS231)。処理中のグリッドが最後のグリッドである場合には、初期認証部303は、初期認証処理を終了する。また、最後のグリッドではない場合には、初期認証部303は、ステップS201に戻って、他のグリッドに対して初期認証処理を実行する。
[センサノードにおける初期認証処理]
続いて、図12Aおよび図12Bを参照しながら、センサノードにおける初期認証処理の流れについて、詳細に説明する。
まず、グリッドGx,y内に位置するセンサノードSの初期認証部403は、当該グリッドを担当するアクターノードAから、アクターノードAの識別情報IDA(i)を受信する(ステップS251)。
次に、初期認証部403は、自身の識別情報IDA<j>と、取得したアクターノードAiの識別情報IDA(i)とを利用して、アクターノード用のペア鍵KS<j>,A(i)を、以下の式211に基づいて算出する(ステップS253)。以下の式211から明らかなように、アクターノード用のペア鍵は、鍵生成情報に含まれる2変数多項式(より詳細には、一方の変数に自己の識別情報が代入された多項式)を用いて生成される。また、本実施形態に係る2変数多項式の性質から、式211で表されるペア鍵は、式201で表されるペア鍵と同一となる。
Figure 2011130012
次に、初期認証部403は、アクターノードAから、表記201の暗号文(兄弟ノード情報の暗号文)および表記202で表される兄弟ノード情報の暗号文のMACを含むメッセージを受信する(ステップS255)。メッセージを受信すると、初期認証部403は、表記202で表されるMACを確認し(ステップS257)、受信したメッセージがアクターノードAから送信された正当なものであることを確認する。
MACが有効なものではなかった場合には、センサノードSは、ステップS251に戻って、アクターノードAの識別情報を待ち受ける。
他方、MACが有効なものであった場合、初期認証部403は、表記201の暗号文を、ステップS253で生成した鍵を用いて復号する(ステップS261)。その後、初期認証部403は、復号の結果得られた兄弟ノード情報と、ステップS253で生成した鍵とを用いて、一方向性関数ツリーにおける自身の位置からルートに至る経路上に存在している各ノードに対応する鍵を算出する(ステップS263)。
次に、センサノードSの初期認証部403は、自身の識別情報IDS<j>のMACを、算出したルート鍵RKG(x,y)を用いて算出する(ステップS265)。続いて、初期認証部403は、グリッドを担当するアクターノードAおよび同一グリッド内の他のセンサノードに対して、識別情報IDS<j>およびそのMACを含むメッセージをユニキャストする(ステップS267)。
続いて、センサノードSは、同一グリッド内の他のセンサノードS(k≠j)から送信された、識別情報IDS<k>およびそのMACを含むメッセージを受信する(ステップS269)。その後、初期認証部403は、受信したメッセージに含まれるMACを確認する(ステップS271)。
初期認証部403は、MACの検証結果に基づいて、全てのセンサノードから有効なメッセージを受信したか否かを判断する(ステップS273)。全てのセンサノードから有効なメッセージを受信していない場合には、初期認証部403は、ステップS251に戻って、初期認証処理を繰り返す。
他方、全てのセンサノードから有効なメッセージを受信した場合には、初期認証部403は、アクターノードAから送信される隣接グリッドに関する情報を含むメッセージを待ち受ける。初期認証部403は、表記203の暗号文(隣接グリッドに関する情報の暗号文)および表記204で表されるMACを含むメッセージを受信すると(ステップS275)、メッセージに含まれるMACを確認する(ステップS277)。MACの正当性が確認できた場合、初期認証部403は、メッセージに含まれている暗号文を復号する(ステップS279)。
この隣接グリッドに関する情報には、先に説明したように、グリッドGx,yで使用される一方向性ハッシュチェインOの一部(On−1)が含まれている。そこで、初期認証部403は、ハッシュチェインOn−1と、システムパラメータであるハッシュ関数Hとを用いてH(On−1)を算出し、算出したハッシュ値が自身の保持している一方向性ハッシュチェインOの値と等しいかを検証する(ステップS281)。
初期認証部403は、ハッシュチェインの検証に成功したか否かを判断する(ステップS283)。検証に失敗した場合には、初期認証部403は、ステップS275に戻って、アクターノードAからのメッセージを待ち受ける。また、検証に成功した場合には、初期認証部403は、メッセージに含まれる隣接グリッドに関する情報(GG(x,y),KG(x,y))を、記憶部417に格納する(ステップS285)。
本実施形態に係るアクターノードAおよびセンサノードSは、以上説明したような初期認証処理を実施することで、ノード間で行われる通信に利用される鍵を共有することができる。
<ブロードキャスト認証処理について>
続いて、図13A〜図16Bを参照しながら、本実施形態に係るアクターノード30およびセンサノード40で実施されるブロードキャスト認証処理について、詳細に説明する。図13Aおよび図13Bは、本実施形態に係る情報処理システムにおけるメッセージの伝達方法を説明するための説明図である。図14Aおよび図14Bは、本実施形態に係るアクターノード30で実施されるブロードキャスト認証処理を説明するための流れ図である。図15Aおよび図15Bは、ブルームフィルタについて説明するための説明図である。図16Aおよび図16Bは、本実施形態に係るセンサノード40で実施されるブロードキャスト認証処理を説明するための流れ図である。
[メッセージの伝達方法について]
本実施形態に係るブロードキャスト認証処理について説明するに先立ち、本実施形態に係る情報処理システム1におけるメッセージの伝達方法について、図13Aおよび図13Bを参照しながら、簡単に説明する。
本実施形態に係るアクターノード30およびセンサノード40が備える通信装置(無線通信装置)の通信可能範囲には限度がある。そのため、本実施形態に係る情報処理システム1では、図13Aおよび図13Bに示したような2種類のメッセージの伝達方法を使い分け、アクターノード30が、担当グリッド内に存在するセンサノード40に対して、確実にメッセージを伝達できるようにする。
図13Aは、アクターノード30がメッセージを送信したいグリッド(送信目標のグリッド。以下目標グリッドとも称する。)Gx,yが、アクターノード30の通信可能範囲内に存在する場合の例である。かかる場合には、アクターノード30は、送信目標のグリッドGx,y内に存在するセンサノード40に対して、直接メッセージを伝達することができる(直接伝達)。
また、図13Bに示したように、送信目標のグリッドGx,yがアクターノード30の遠方にある場合も生じうる。この場合、アクターノード30は、直接送信目標のグリッドGx,yにメッセージを送信するのではなく、送信目標のグリッドの間に存在するグリッドを用いて、リレー方式でメッセージを伝達する(リレー伝達)。図13Bに示した例では、グリッドGv,wの近傍に位置するアクターノード30は、グリッドGr,sを中継グリッドとして用いて、リレー方式で、送信目標のグリッドGx,yに対してメッセージを送信することが可能である。
[アクターノードにおけるブロードキャスト認証処理]
続いて、図14Aおよび図14Bを参照しながら、アクターノードにおけるブロードキャスト認証処理の流れについて、詳細に説明する。
まず、アクターノードAのブロードキャスト認証部309は、目標グリッドGx,yに送信する指令(instruction)Iを生成する(ステップS301)。続いて、ブロードキャスト認証部309は、グリッドの相対的な位置関係を表す情報を利用して、目標グリッドGx,yに、図13Aに示したような直接伝達方式で指令Iを送信可能か、判断する(ステップS303)。
ブロードキャスト認証部309は、直接伝達が可能だと判断した場合、ハッシュチェインの一部と、生成した指令Iとを用いて伝送情報を生成し、以下の式301で表される伝送パラメータBVを算出する(ステップS305)。
Figure 2011130012
ここで、上記式301において、ハッシュチェインの一部Oi−1が記載されているが、この記載は、ブロードキャスト認証処理の実行時に未だ使用されていないハッシュチェインを意味する。例えば、ブロードキャスト認証処理の実行時に、ハッシュチェインO(n>100)のうち、O100(n=100)までが使用されていたとすると、上記式301では、O99が選択されることを意味する。
他方、ブロードキャスト認証部309は、直接伝達を用いないと判断した場合、ハッシュチェインの一部と、生成した指令Iとを用いて伝送情報を生成し、各センサノードSに対して、以下の式302で表されるMACを算出する(ステップS307)。各センサノードSに対して算出されるMACは、以下の処理では、ひとまとまりのデータ(伝送パラメータ)として用いられる。この伝送パラメータを、以下では、pre_BVと称することとする。
Figure 2011130012
次に、ブロードキャスト認証部309は、算出した複数のMACに対して、ブルームフィルタ処理を行い、ブルームフィルタからの出力を伝送パラメータBVとする(ステップS309)。なお、以下では、データxに対するブルームフィルタ処理をBF(x)と表すこととする。この表記によれば、ステップS309における処理は、BV=BF(pre_BV)と表すことができる。
ここで、一旦ブロードキャスト認証処理に関する説明を中断し、図15Aおよび図15Bを参照しながら、ブルームフィルタについて簡単に説明する。
ブルームフィルタは、ある要素が、ある集合のメンバーであるかどうかを判断するために用いられる、確率的データ構造である。このブルームフィルタは、Mビットのデータ配列として表される。
このブルームフィルタには、データ配列のビット数M、データ配列の生成に用いるハッシュ関数の個数k、および、フィルタ処理を行う要素の要素数nという、3つのパラメータが存在する。ここで、データ配列の生成に用いるハッシュ関数は、入力された値を、{0,1,・・・,m−1}番目の何れかのビットへ一様に写像するハッシュ関数である。
図15Aでは、便宜的に、M=12、k=2、n=3の場合におけるブルームフィルタを図示している。図の中央に位置しているMビットのデータ列の左側に示した処理が、Mビットのデータ生成時(ブルームフィルタの生成時)に行われる処理の概要を示している。また、Mビットのデータ列の右側に示した処理が、要素がメンバーか否かの検証時に行われる処理の概要を示している。
まず、Mビットのデータ生成時の処理について、説明する。
処理開始時におけるブルームフィルタは、M個のゼロからなるデータ配列である。ここで、1番目の要素である要素Aを、第1のハッシュ関数Hに代入した結果、図に示したように、要素Aは一番上のビットに写像されたものとする。この場合、一番上のビットの値は、0から1へと変化する。同様に、要素Aを第2のハッシュ関数Hに代入した結果、図に示したように、要素Aは上から6番目のビットに写像されたものとする。この場合、一番上から6番目のビットの値が、0から1へと変化する。
以下同様にして、要素Bおよび要素Cに対して処理を行うと、図の中央に示したようなデータ配列が生成される。生成されたデータ配列が、要素が集合のメンバーであるか否かを判断するためのフィルタとして利用されるわけである。なお、図の下から2番目に位置するビットのように、複数の要素の写像が一つのビットに集中する場合も生じうる。ブルームフィルタでは、このような写像の衝突は許容し、2個以上の要素からの写像が衝突した場合であっても、該当するビットの値は1のままで維持する。
次に、メンバーか否かの検証処理について説明する。
なお、検証処理に先立ち、ブルームフィルタの生成に関する上記パラメータが、何らかの方法によって検証者との間で共有されているものとする。検証者は、要素Aが正当な要素であるか否かを判断する場合、予め共有されているハッシュ関数を用いて、H(A)およびH(A)を算出し、該当する双方のビットの値が共に「1」となっているかを判断する。算出した全ての値が、ブルームフィルタの値と一致した場合、要素Aは、正当な要素であると判断する。なお、図中に示したように、正当ではない要素Dのハッシュ値H(D)およびH(D)が、ブルームフィルタの値と一致する場合も生じうる。しかしながら、ブルームフィルタでは、このような偽陽性(false positive)による誤判定を許容する。
本実施形態に係る情報処理システム1では、このようなブルームフィルタを利用して、メッセージの受信者であるセンサノードが適式なメンバーであるか否かを判断する。より詳細には、図15Bに示したように、ブロードキャスト認証部309は、生成したpre_BVに含まれる各MACについてブルームフィルタを生成し、得られたブルームフィルタをセンサノードに送信する。また、センサノード側では、各センサノードが受信したメッセージを、図15Bに示したようにブルームフィルタを用いて検証する。
ブロードキャスト認証処理時には、自己のノードが、メッセージの送信相手のノードからなる集合の中に含まれているかを確認する作業が行われる場合がある。この際に、上述のようなブルームフィルタを用いることで、送信相手を特定するための情報を逐一メッセージに添付する必要がなくなり、メッセージの通信量を削減することが可能となる。
なお、図15Bでは、ハッシュ関数の種類が2つ(k=2)の場合について図示しているが、本実施形態に係るハッシュ関数の種類が2種類に限定されるわけではない。また、生成するビット数Mについても、要素の個数n等に応じて、任意の値に設定することが可能である。
再び図14Aおよび図14Bに戻って、本実施形態に係るアクターノード30で実施されるブロードキャスト認証処理について説明する。
アクターノードAのブロードキャスト認証部309は、伝送パラメータBVを生成した後に、指令Iとハッシュチェインの一部とからなる伝送情報の暗号文EI(式303)を生成する(ステップS311)。
Figure 2011130012
続いて、ブロードキャスト認証部309は、グリッドの相対的な位置関係を表す情報を利用して、目標グリッドGx,yに、図13Aに示したような直接伝達方式で指令Iを送信可能か、判断する(ステップS313)。なお、ブロードキャスト認証部309は、このステップにおいて再度伝達方式を判断するのではなく、先だって実施したステップS303での判定結果を記憶しておき、判定結果をこのステップにおける処理に流用してもよい。
ブロードキャスト認証部309は、直接伝達が可能だと判断した場合、グリッドGx,yに対して、直接伝達である旨を表す識別子と、目標グリッドの識別情報と、生成したデータEIおよびBVとを含むメッセージを生成し、同報送信する(ステップS315)。このステップにおいて同報送信されるメッセージの内容は、以下の表記301のようになる。
Figure 2011130012
他方、ブロードキャスト認証部309は、直接伝達を用いないと判断した場合、中継グリッドのルート鍵RKG(v,w)を利用して生成したデータEIおよびBVを含む情報のMACを生成する(ステップS317)。ブロードキャスト認証部309は、生成したMAC(式304)を、リレー用MAC(R_MAC)として利用する。
Figure 2011130012
続いて、ブロードキャスト認証部309は、リレー伝達である旨を表す識別子と、目標グリッドの識別情報と、生成したEIおよびBVと、リレー用MACとを含むメッセージ(表記302)を生成し、中継グリッドGv,wに同報送信する(ステップS319)。
Figure 2011130012
[センサノードにおけるブロードキャスト認証処理]
続いて、図16Aおよび図16Bを参照しながら、センサノードにおけるブロードキャスト認証処理の流れについて、詳細に説明する。
グリッドGv,w内に存在するセンサノードSは、まず、アクターノードから同報送信されたメッセージを受信する(ステップS351)。続いて、ブロードキャスト認証部409は、メッセージ中に含まれる目標グリッドの識別情報IDG(x,y)を参照して、目標グリッドGx,yが、自身の位置するグリッドであるかを判断する(ステップS353)。
自身の位置するグリッドが目標グリッドであった場合、ブロードキャスト認証部409は、以下で説明するステップS355〜ステップS371を実施する。また、自身の位置するグリッドが目標グリッドではなかった場合、ブロードキャスト認証部409は、メッセージをリレー伝達することとなり、以下で説明するステップS373〜ステップS387を実施する。
まず、自身の位置するグリッドが目標グリッドであった場合について説明する。
この場合、ブロードキャスト認証部409は、受信したメッセージがどのように伝達されてきたのかを判断する(ステップS355)。この判断は、ブロードキャスト認証部409が受信したメッセージに含まれる識別子を参照することで行うことができる。
リレー伝達によりメッセージが伝達されてきた場合、ブロードキャスト認証部409は、受信したメッセージに含まれるリレー用MAC(R_MAC)の確認を行う(ステップS357)。リレー用MACの確認に成功した場合、ブロードキャスト認証部409は、次のステップS359を実施する。
他方、受信したメッセージが直接伝達により伝達されたものである場合、ブロードキャスト認証部409は、以下で説明するステップS359を実施する。
受信したメッセージが直接伝達によるものであった場合、または、リレー用MACの確認に成功した場合、ブロードキャスト認証部409は、メッセージに含まれる暗号文EIを復号する(ステップS359)。その後、ブロードキャスト認証部409は、暗号文EIの復号により得られた指令Iと、ハッシュチェインの一部Oi−1とを用いて、以下の式311で表されるパラメータtを算出する(ステップS361)。
Figure 2011130012
次に、ブロードキャスト認証部409は、メッセージの伝達方式を、再度確認する(ステップS363)。なお、ブロードキャスト認証部409は、このステップにおいて再度伝達方式を判断するのではなく、先だって実施したステップS355での判定結果を記憶しておき、判定結果をこのステップにおける処理に流用してもよい。
ブロードキャスト認証部409は、メッセージが直接伝達により伝達されたものである場合、算出したパラメータtの値が、受信したメッセージに含まれるパラメータBVと等しいか否かを判断する(ステップS365)。パラメータt=パラメータBVが成立する場合、ブロードキャスト認証部409は、伝達されたメッセージを受諾して(ステップS369)、ブロードキャスト認証処理を終了する。他方、パラメータt=パラメータBVが成立しなかった場合、ブロードキャスト認証部409は、伝達されたメッセージを破棄して(ステップS371)、ブロードキャスト認証処理を終了する。
また、ブロードキャスト認証部409は、メッセージがリレー伝達により伝達されたものである場合、算出したパラメータtを、ブルームフィルタBFを用いて検証する(ステップS367)。すなわち、ブロードキャスト認証部409は、BF(t)∈BVが成立するか否かを判断する。ブルームフィルタの検証に成功した場合、ブロードキャスト認証部409は、伝達されたメッセージを受諾して(ステップS369)、ブロードキャスト認証処理を終了する。他方、ブルームフィルタの検証が成功しなかった場合、ブロードキャスト認証部409は、伝達されたメッセージを破棄して(ステップS371)、ブロードキャスト認証処理を終了する。
続いて、目標グリッドが自身の位置するグリッドではないについて説明する。
この場合、ブロードキャスト認証部409は、受信したメッセージがどのように伝達されてきたのかを判断する(ステップS373)。この判断は、ブロードキャスト認証部409が受信したメッセージに含まれる識別子を参照することで行うことができる。
受信したメッセージが直接伝達により伝達されたものである場合、ブロードキャスト認証部409は、自身の位置するグリッドの鍵RKG(v,w)を用いて、リレー用MAC(R_MAC)の確認を行う(ステップS375)。
また、受信したメッセージがリレー伝達により伝達されたものである場合、ブロードキャスト認証部409は、送信元のグリッドGt,uとの間で共有している鍵KG(t,u),G(v,w)を用いて、リレー用MAC(R_MAC)の確認を行う(ステップS377)。
続いて、ブロードキャスト認証部409は、グリッドの相対的な位置関係を表す情報等を利用して、自身が属するグリッドと目標グリッドとの位置関係を把握し、メッセージのリレー先のグリッドGr,sを特定する(ステップS379)。
リレー先のグリッドを特定すると、ブロードキャスト認証部409は、自身が位置するグリッドとリレー先のグリッドとの間で共有している鍵を用いて、データEIおよびBVを含む情報のリレー用MACを算出する(ステップS381)。算出されるリレー用MAC(R_MAC’)は、下記の式312で表されるものとなる。
Figure 2011130012
続いて、ブロードキャスト認証部409は、同一のグリッドに属する他のセンサノードが、受信したメッセージに対するリレー伝達処理を既に行っているか否かを確認する(ステップS383)。
まず、同一のグリッドに属する他のセンサノードが、未だリレー伝達用のメッセージの同報送信を行っていない場合について説明する。
この場合、ブロードキャスト認証部409は、リレー伝達である旨を表す識別子と、目標グリッドの識別情報と、生成したデータEIおよびBVと、算出したリレー用MAC(R_MAC’)とを含むメッセージ(表記303)を生成する。その後、ブロードキャスト認証部409は、生成したメッセージを、リレー先のグリッドGr,sに対して同報送信する。
Figure 2011130012
他方、他のセンサノードが既にリレー伝達用のメッセージを同報送信している場合には、メッセージが重複して送信されることとなるため、ブロードキャスト認証部309は、リレー伝達処理を中止する(ステップS387)。
本実施形態に係るアクターノードAおよびセンサノードSは、互いに連携して以上説明したようなブロードキャスト認証処理を実施することで、あるメッセージを目的とするグリッドに属するセンサノードへセキュアに同報送信することができる。
<ノード排除処理について>
続いて、図17A〜図18を参照しながら、本実施形態に係るアクターノード30およびセンサノード40で実施されるノード排除処理について、詳細に説明する。図17Aおよび図17Bは、本実施形態に係るアクターノード30で実施されるノード排除処理について説明するための流れ図である。図18は、本実施形態に係るセンサノード40で実施されるノード排除処理について説明するための流れ図である。
[アクターノードにおけるノード排除処理]
まず、図17Aおよび図17Bを参照しながら、アクターノードにおけるノード排除処理の流れについて、詳細に説明する。
フィールド内のアクターノード30またはセンサノード40に障害が発生すると、シンクノードであるデータ処理装置20およびアクターノード30は、どのノードに障害が発生したのかを検出する(ステップS401)。障害が発生したノードの検出は、任意の方法を用いて行うことが可能である。
次に、データ処理装置20およびアクターノード30は、障害が発生したノードの種類(アクターノードであるのか、センサノードであるのか)を判定する(ステップS403)。障害の発生したノードの種別に応じて、以降実施されるノード排除処理の内容が異なってくる。
まず、障害の発生したノードがアクターノードAである場合について説明する。
アクターノードAに障害が発生している場合、データ処理装置20の排除ノード特定部207は、表記401で表されるアクターノードAの識別情報IDA(i)のMACを算出する(ステップS405)。下記の表記401から明らかなように、このMACは、シンクノードであるデータ処理装置20と各センサノード40とが共有している鍵(S−S key)を用いて生成される。表記401で表されるMACは、該当するグリッド内に存在する各センサノードに対して生成されるため、実際には、表記401で表されるMACの集合が生成されることとなる。
Figure 2011130012
次に、データ処理装置20の排除ノード特定部207は、排除されるアクターノードAiを代行する1または複数のアクターノードAを決定する(ステップS407)。続いて、データ処理装置20の排除ノード特定部207は、決定した代行アクターノードAに対して、ステップS405で生成したMACを送信する(ステップS409)。
代行アクターノードAのノード排除処理部311は、データ処理装置20から送信されたMACを受信すると、表記402で表されるメッセージを生成する。このメッセージは、下記のように、ノード排除を表す識別子と、排除されるアクターノードAの識別情報と、排除されるアクターノードAの識別情報のMACと、を含むメッセージである。
Figure 2011130012
ノード排除処理部311は、メッセージを生成すると、生成したメッセージを該当するセンサノードSに対して、ユニキャストする(ステップS411)。このメッセージを送信することで、代行アクターノードAは、アクターノードAが排除されることを、各センサノードSに対して通知することができる。
続いて、代行アクターノードAkの初期認証部303は、新たに担当することとなったグリッドに属するセンサノードと、先に説明した初期認証処理を実施する(ステップS413)。
以上説明したような処理により、本実施形態に係る情報処理システム1は、障害の発生したアクターノードを排除して、新たなアクターノードとセンサノードとのデータのやり取りを維持することが可能となる。
次に、障害が発生したノードが、あるグリッドGx,y内に存在するセンサノードSである場合について説明する。この場合、センサノードSが属するグリッドGx,yを担当するアクターノードAが、以下の処理を実施する。
まず、アクターノードAのノード排除処理部311は、乱数RA(i)を無作為に生成し(ステップS415)、障害のあったセンサノードの鍵Kを乱数RA(i)に置き換えて、該当するグリッドGx,yの一方向性関数ツリーを更新する(ステップS417)。
続いて、ノード排除処理部311は、更新後の一方向性関数ツリーを利用して、以下の式401で表される鍵更新情報KUを生成する(ステップS419)。
Figure 2011130012
ここで、上記式401において、パラメータhは、一方向性関数ツリーの高さ(階層数)を表すパラメータである。例えば図10Bに示した一方向性関数ツリーでは、パラメータh=3となり、h=3がルートの存在する階層を表す。また、V S<j>は、一方向性関数ツリーのセンサノードSに対応する鍵からルートへと至る経路において、h=iの階層における経路上のノードの兄弟ノードに対応する鍵を意味する。例えば図10Bに示した一方向性関数ツリーにおいて、センサノードSに着目した場合、V S<1>は、Kであり、V S<1>は、K34となる。また、Ki+1 S<j>は、一方向性関数ツリーのセンサノードSに対応する鍵からルートへと至る経路において、h=i+1の階層における経路上のノードに対応する鍵を意味する。例えば図10Bに示した一方向性関数ツリーにおいて、センサノードSに着目した場合、K S<1>は、K12となる。
続いて、ノード排除処理部311は、以下の表記403で表されるメッセージを生成する。次に、ブロードキャスト認証部309は、グリッドGx,yに属するセンサノードS以外のセンサノードに対して、生成したメッセージを、ブロードキャスト認証処理を用いて送信する(ステップS421)。
Figure 2011130012
排除されるセンサノードSが属するグリッド中に存在する他のセンサノードは、表記403で表されるメッセージを受信することで、センサノードSをシステムから排除することを把握することができる。
また、センサノードに発生した障害によっては、グリッド内の通信に用いられる鍵が悪意のある第三者に明らかになってしまう場合も生じうる。しかしながら、第三者が知ることができる情報は、障害の発生したセンサノードに固有な鍵に関する情報であって、悪意のある第三者は、一方向性関数ツリーの構造については、知ることができない。そこで、本実施形態に係るノード排除処理では、障害の発生したセンサノードSに固有な鍵を新たに生成した乱数に置き換え、一方向性関数ツリーの構造そのものは再利用して、新たにセンサノード間通信に用いられる鍵を生成する。この鍵の再生成処理をセンサノードに実行させるために、アクターノードは、鍵更新情報KUを含むメッセージを、障害の発生していない他のセンサノードに対して送信する。他のセンサノードは、メッセージに含まれるKUを用いることで、他のセンサノードは、グリッド内のセンサノード間通信に用いられる鍵を、容易に更新することが可能となる。
[センサノードにおけるノード排除処理]
次に、図18を参照しながら、センサノードにおけるノード排除処理の流れについて、詳細に説明する。
まず、センサノードSは、アクターノードAからノード排除に関するメッセージを受信する(ステップS451)。
続いて、センサノードSのノード排除処理部411は、受信したメッセージに記載されている識別情報を参照して、障害が発生したノードの種類を判定する(ステップS453)。
障害が発生したノードがアクターノードである場合には、ノード排除処理部411は、まず、データ処理装置と共有している鍵を用いてメッセージに含まれているMACを確認する(ステップS455)。MACの正当性が確認できると、続いて、センサノードSjの初期認証部403は、新たなアクターノードと初期認証処理を実施する(ステップS457)。これにより、障害の発生したアクターノードが担当していたグリッド中に存在するセンサノードは、新たな代行アクターノードとの間でセキュアな通信環境を確立することができる。
次に、障害が発生したノードが同一のグリッドGx,y内に存在するセンサノードSである場合について説明する。
この場合、グリッド内に存在する他のセンサノードSのノード排除処理部411は、パーティションを担当するアクターノードからブロードキャスト認証処理を利用して送信されたメッセージを受信する(ステップS459)。
続いて、ノード排除処理部411は、受信したメッセージ中に記載されている鍵更新情報の中から、グリッド内のセンサノード間通信に用いられる鍵を更新するために利用する情報を抽出する(ステップS461)。この抽出処理は、暗号化に用いられた鍵V S<j>が自己の保持している鍵K S<k>と等しいものを抽出することで行われる。
続いて、ノード排除処理部411は、鍵更新情報の中から抽出した情報を、自己の保持している鍵K S<k>を用いて復号する(ステップS463)。次に、ノード排除処理部411は、復号した情報を用いて、一方向性関数ツリーの経路上に存在する各ノードの鍵を更新する(ステップS465)。
かかる処理により、センサノードSは、障害の発生したセンサノードSを排除でき、また、障害の発生していないセンサノード間で、新たなセンサノード間通信用の鍵を安全に生成することが可能となる。
<担当グリッドの動的変更処理について>
続いて、図19A〜図23を参照しながら、本実施形態に係るアクターノード30およびセンサノード40で実施される動的変更処理について、詳細に説明する。図19Aおよび図19Bは、本実施形態に係るアクターノードで実施される動的変更処理について説明するための流れ図である。図20Aおよび図20Bは、本実施形態に係る動的変更処理について説明するための説明図である。図21は、本実施形態に係るセンサノードで実施される動的変更処理について説明するための流れ図である。図22は、本実施形態に係るアクターノードで実施される動的変更処理について説明するための流れ図である。図23は、本実施形態に係るセンサノードで実施される動的変更処理について説明するための流れ図である。
本実施形態に係る担当グリッドの動的変更処理は、先に説明したように、動的変更の開始に伴う処理と、通常状態への復帰処理という2種類の処理から成り立っている。以下では、まず、動的変更の開始に伴う処理について、図19A〜図21Bを参照しながら、詳細に説明する。
○動的変更の開始に伴う処理
[アクターノードにおける動的変更処理]
まず、図19Aおよび図19Bを参照しながら、アクターノードにおける動的変更処理(動的変更の開始に伴う処理)について、詳細に説明する。
なお、以下の説明に先立ち、イベント発生による変更後の担当グリッドに関する情報が、データ処理装置20等から、予めアクターノードに通知されているものとする。また、アクターノードは、動的変更処理を実施する前の担当グリッドPA(i)、隣接グリッド特定情報GG(x,y)、グリッド間通信に用いる鍵KG(x,y)等を、イベント発生状態が終了するまで、記憶部317等に格納することで保持しているものとする。
まず、アクターノードAの動的変更部313は、データ処理装置20等から通知された情報等に基づいて、変更後の担当グリッドP’A(i)を特定する(ステップS501)。続いて、動的変更部313は、変更後の担当グリッドに含まれる各グリッドGx,yについて、当該グリッドに隣接するグリッドがどのグリッドであるのかを特定し、新たに隣接グリッド特定情報G’G(x,y)を生成する(ステップS503)。
次に、動的変更部313は、新たに生成した隣接グリッド特定情報G’G(x,y)を参照しながら、変更後の担当グリッドに含まれる各グリッドについて、グリッド間通信に用いる鍵を更新する(ステップS505)。動的変更部313は、グリッド間通信に用いる鍵それぞれについて変更の有無を確認していくが、グリッド間で鍵を共有していないグリッドが存在した場合には、乱数を無作為に発生させ、ランダムキーとする。このような処理を行うことで、新たなグリッド間通信に用いる鍵K’G(x,y)が生成されることとなる。
続いて、ブロードキャスト認証部309は、変更前および変更後の担当グリッドに共通するグリッドGx,y(Gx,y∈PA(i) and P’A(i))に対して、変更後の情報{G’G(x,y),K’G(x,y)}を、ブロードキャスト認証処理を利用して送信する(ステップS507)。
次に、動的変更部313は、動的変更の種別、すなわち、グリッドGx,yを他のアクターノードの担当に切り替える変更なのか、グリッドGx,yを他のアクターノードの担当から切り替える変更なのか、を判定する(ステップS509)。
以下では、まず、グリッドGx,yを他のアクターノードの担当に切り替える変更処理(以下、Lending処理とも称する。)の流れについて説明する。
この場合、アクターノードAの動的変更部313は、グリッドGx,yを担当することとなった他のアクターノードAから、当該グリッドGx,yのグリッド関連情報と、アクターノードAの識別情報IDA(j)とを含む以下のメッセージを受信する(ステップS511)。ここで、グリッド関連情報とは、{GG(x,y),KG(x,y)}を意味する。
Figure 2011130012
次に、アクターノードAの動的変更部313は、アクターノードが変更となるセンサノード(すなわち、グリッドGx,yに属するセンサノード)に送信するための、下記表記502で表されるメッセージを生成する。
Figure 2011130012
続いて、アクターノードAのブロードキャスト認証部309は、アクターノードが変更となるグリッドGx,yに属するセンサノードに、表記502で表されるメッセージを、ブロードキャスト認証処理を利用して送信する(ステップS513)。
次に、アクターノードAの動的変更部313は、アクターノードAの識別情報IDA(j)と、グリッドGx,yのルート鍵RKG(x,y)とを利用して、担当してもらうグリッドの新たな鍵RK’G(x,y)を生成する(ステップS515)。
Figure 2011130012
続いて、アクターノードAの動的変更部313は、以下の表記503で表されるメッセージを生成し、アクターノードAに対して送信する(ステップS517)。
Figure 2011130012
ここで、表記503において、“Update OK”は変更完了を表す識別子である。また、{O G(x,y)}(t<i−1)等は、グリッドGx,yに固有の一方向性ハッシュチェインである。
先だって説明したように、一方向性ハッシュチェインは、各グリッドGx,yに固有のものであり、このハッシュチェインは、グリッドを担当するアクターノードと、グリッド内に存在するセンサノードとの間で共有されている。本実施形態に係る動的変更処理により、あるアクターノードが他のアクターノードへデータの収集を含む一連の処理を委託する場合、当該他のアクターノードは、このグリッドに固有のハッシュチェインを知ることができない。そこで、他のアクターノードへ一連の処理を委託するアクターノードは、自身が保持するハッシュチェインのうち未使用の部分を上述のメッセージに添付して、他のアクターノートへ通知する。
このような処理により、グリッドGx,yにおける一連の処理を委託するアクターノードAは、委託先のアクターノードAに対して、センサノードの管理に用いられる一連の情報を通知することができる。
続いて、グリッドGx,yを他のアクターノードAの担当から切り替える変更処理(以下、Borrowing処理とも称する。)の流れについて説明する。
この場合、アクターノードAの動的変更部313は、担当が変化するグリッドGx,yのグリッド関連情報と、アクターノードAの識別情報IDA(i)とを含む以下のメッセージを、他のアクターノードAに対して送信する(ステップS519)。
Figure 2011130012
その後、アクターノードAの動的変更部313は、従来グリッドGx,yを担当していたアクターノードAから、表記503で表されるメッセージを受信する(ステップS521)。続いて、アクターノードAは、メッセージに含まれるハッシュチェインの一部およびグリッド内通信に用いられる鍵RK’G(x,y)を、記憶部317等に格納する(ステップS523)。
また、アクターノードAは、全てのグリッドGx,yについて、各グリッドに固有な2変数多項式(正確には、2変数の一方に自己の識別情報が代入された多項式)を保持している。そこで、アクターノードAは、新たに担当するグリッドGx,yの多項式と、このグリッドに属するセンサノードSの識別情報とを用いて、センサノードSに固有のペア鍵を算出する。
かかる処理により、アクターノードAは、グリッドGx,yのセンサノードの管理に用いられる一連の情報を取得することができる。
[センサノードにおける動的変更処理]
次に、図20を参照しながら、センサノードにおける動的変更処理(動的変更の開始に伴う処理)について、詳細に説明する。
なお、以下の説明に先立ち、センサノードは、動的変更処理が実施される前の隣接グリッド特定情報GG(x,y)およびグリッド間通信に用いる鍵KG(x,y)を、イベント発生状態が終了するまで、記憶部417等に格納することで保持しているものとする。
まず、センサノードSの動的変更部413は、アクターノードからブロードキャスト認証処理を利用して送信されたメッセージを受信する(ステップS551)。続いて、動的変更部413は、受信したメッセージの内容から、自身が属するグリッドがLending処理の対象となるグリッドであるかどうかを判断する(ステップS553)。
Lending処理の対象となるグリッドに属するセンサノードSには、アクターノードAから、表記502に示したメッセージが送信される。そのため、センサノードSは、表記502に示したメッセージを受信することとなる(ステップS555)。
この場合、動的変更部413は、受信したメッセージに含まれている、新たなアクターノードの識別情報と、自己の保持しているルート鍵RKG(x,y)とを利用して、式501により、新たなルート鍵RK’G(x,y)を算出する(ステップS557)。また、動的変更部413は、自己の保持している2変数多項式と、メッセージに含まれる新たなアクターノードの識別情報とを利用して、新たなアクターノードとの通信に用いられるペア鍵を、式511により算出する(ステップS557)。
Figure 2011130012
続いて、動的変更部413は、算出した鍵と、受信したメッセージの内容、(すなわち、新たなアクターノードAの識別情報IDA(j)、および、グリッド関連情報)を、記憶部417等に格納する(ステップS559)。
他方、Lending処理の対象ではないグリッドに属するセンサノードSには、アクターノードAから、{GG(x,y),KG(x,y)}からなるメッセージが送信される。そのため、センサノードSは、{GG(x,y),KG(x,y)}からなるメッセージを受信することとなる(ステップS561)。そこで、センサノードSは、受信したグリッド関連情報を、記憶部417等に格納する(ステップS563)。
[具体例]
続いて、このアクターノードおよびセンサノードにおける動的変更処理(動的変更の開始に伴う処理)の具体例を、図21Aおよび図21Bに則して説明する。
以下の説明では、通常状態において図21Aに示したような担当グリッドとなっているActor1〜Actor4が、あるイベントの発生によって、図21Bに示したような担当グリッドへと変化した場合を考える。なお、以下の説明では、Actor1における処理について、簡単に説明する。Actor2〜Actor4における処理も、以下の説明と同様にして行われる。
通常状態において、Actor1の担当グリッドは、図21Aに示したように、グリッドG0,0〜G2,2の9個のグリッドである。この担当グリッドが、あるイベントによって、図21Bのように変化した場合、グリッドG3,1が新たにActor1の担当となり、グリッドG0,2がActor3の担当となったことがわかる。
そこで、Actor1の動的変更部313は、変更の前後で共通するグリッドG0,0、G0,1、G1,0、G1,1、G1,2、G2,0、G2,1、G2,2に属するセンサノード対して、変更後のグリッド関連情報を送信する。
この際、隣接グリッド特定情報が変更前後で変化するグリッドは、G0,1、G1,2、G2,1の3種類のグリッドのみであり、それ以外のグリッドについては、グリッド関連情報に変化はない。そこで、動的変更部313は、変化の無いグリッドも含めて変更の前後で共通するグリッドではなく、変化のあるグリッドにのみ、変更後のグリッド関連情報を送信するようにしてもよい。
次に、グリッドを担当するアクターノードが変化する、グリッドG0,2に着目する。
この場合、Actor1にとっては、グリッドG0,2はLending処理の対象であり、Actor3にとっては、グリッドG0,2はBorrowing処理の対象である。
まず、Actor3の動的変更部313が、自身の識別情報IDA(3)と、グリッドG0,2のグリッド関連情報とを、Actor1に送信する。その結果、Actor1は、受信した識別情報IDA(3)およびグリッドG0,2のグリッド関連情報と、Lending処理を表す識別子とを含むメッセージを、グリッドG0,2に属するセンサノードに同報送信する。
また、Actor1は、取得したActor3の識別情報と、Actor1が保持しているグリッドG0,2のルート鍵とを利用して、新たなルート鍵を生成する。その後、Actor1は、新たに生成したルート鍵およびハッシュチェインの一部と、変更完了を表す識別子とを含むメッセージを、Actor3に送信する。
Actor3は、グリッドG0,2に属するセンサノードに固有のペア鍵を算出するとともに、受信したメッセージに含まれるルート鍵およびハッシュチェインの一部を所定の箇所に格納する。
また、G0,2に属するセンサノードは、Actor1から送信されたメッセージに含まれる識別情報を用いて、新たなルート鍵と、ペア鍵とを算出し、算出した新たな鍵と、受信したメッセージに含まれるグリッド関連情報とを、所定の箇所に格納する。
これにより、Actor3は、グリッドG0,3における一連の処理に用いられる鍵を取得することができる。
なお、グリッドG3,1においても同様の処理が行われるため、以下では詳細な説明は省略する。
○通常状態への復帰処理
[アクターノードにおける動的変更処理]
次に、図22を参照しながら、アクターノードにおける動的変更処理(通常状態への復帰処理)について、詳細に説明する。
通常状態への復帰処理は、まず、一時的にグリッドGx,yを担当しているアクターノードAが、初期位置(すなわち、通常状態での位置)へ戻ることを決定することから開始される(ステップS601)。この際、アクターノードAの動的変更部313は、以下の表記601で表される通常状態への復帰を表す識別子を含むメッセージを生成する。続いて、アクターノードAのブロードキャスト認証部309は、現在担当しているグリッド内のセンサノードに対して、ブロードキャスト認証処理を利用して、生成したメッセージを同報送信する(ステップS603)。その後、アクターノードAは、初期位置へと移動する(ステップS605)。
Figure 2011130012
次に、一時的にアクターノードAへ処理を委託していたアクターノードAの動的変更部313は、以下の表記602で表されるような、復帰確認のメッセージである旨を表す識別子を含むメッセージを生成する。また、生成されるメッセージには、グリッドを担当しているアクターノードの識別情報を返信するようなメッセージが、あわせて記載される。続いて、アクターノードAのブロードキャスト認証部309は、担当グリッド内のセンサノードに対して、ブロードキャスト認証処理を利用して、生成したメッセージを同報送信する(ステップS607)。その後、アクターノードAは、担当グリッド内のセンサノードから送信される返信メッセージを待ち受ける。
Figure 2011130012
アクターノードAの動的変更部313は、担当グリッド内に存在する全てのセンサノードから、上記メッセージに対する返信メッセージが送信されたか否かに基づいて、全てのセンサノードが通常状態に復帰したか否かを判断する(ステップS609)。
担当グリッド内の全てのセンサノードから適式な返信メッセージがあり、全てのセンサノードが通常状態(動的変更を行う前の状態)に復帰したと判断できる場合には、アクターノードAの動的変更部313は、通常状態への復帰処理を終了する。ここで、アクターノードAの動的変更部313は、返信メッセージに含まれる識別情報が、自己に割り当てられている識別情報IDA(i)であるか否かに基づいて、判断を行う。
他方、担当グリッド内の全てのセンサノードから適式な返信メッセージがない場合には、アクターノードAの動的変更部313は、強制的な復帰要請を表す識別子と、ハッシュチェインの一部とを含む、以下の表記603で表されるメッセージを生成する。なお、このメッセージに添付されるハッシュチェインは、未だ復帰していないグリッドに固有のハッシュチェインである。その後、アクターノードAのブロードキャスト認証部313は、復帰していないグリッド内に位置するセンサノードに対して、動的変更部313が生成したメッセージを、ブロードキャスト認証処理を利用して同報送信する(ステップS611)。その後、動的変更部313は、ステップS609に戻って処理を継続する。
Figure 2011130012
以上のような処理を行うことで、一時的に担当グリッドの変更が生じていたアクターノードAは、その担当グリッドが通常状態における担当グリッドへと復帰し、通常状態における動作を実施することが可能となる。
[センサノードにおける動的変更処理]
次に、図23を参照しながら、センサノードにおける動的変更処理(通常状態への復帰処理)について、詳細に説明する。
一時的に担当のアクターノードが変更となっているグリッドGx,y内のセンサノードSは、アクターノードからブロードキャスト認証処理により送信されたメッセージを受信する(ステップS651)。続いて、センサノードSの動的変更部413は、メッセージ中に記載されている識別子を確認する(ステップS653)。
動的変更部413は、識別子が復帰確認のメッセージである旨を表す識別子“Return_confirm”であった場合、グリッドGx,yを担当しているアクターノードAの識別情報IDA(i)を、返信メッセージとして送信する(ステップS655)。返信メッセージを受信したアクターノードは、メッセージ中に記載されている識別情報を判別することで、センサノードSが通常状態に復帰しているか否かを判断することが可能となる。
また、動的変更部413は、識別子が強制的な復帰要請を表す識別子“Deportation”であった場合、メッセージ中に記載されていたハッシュチェインの有効性を検証する(ステップS657)。すなわち、動的変更部413は、メッセージに記載されたハッシュチェインOt−1をシステムパラメータであるハッシュ関数Hに代入し、得られた値H(Ot−1)が、自己の保持しているハッシュチェインOと等しいか否かを判断する(ステップS659)。算出した値が自己の保持しているハッシュチェインと等しい場合、動的変更部413は、検証に成功したと判断する。また、算出した値が自己の保持しているハッシュチェインと等しくない場合、動的変更部413は、検証に失敗したと判断する。
ハッシュチェインの検証に成功した場合、動的変更部413は、自己の保持しているハッシュチェインを、メッセージ中に含まれていたハッシュチェインOt−1に置き換える(ステップS661)。例えば、センサノードSが未使用のまま保持しているハッシュチェインがO100であり、上述のメッセージ中にO90が含まれていた場合、動的変更部413は、ハッシュチェインO91〜O100の使用状態に関わらず、ハッシュチェインをO90に置き換える。その後、動的変更部413は、後述するステップS665を実施する。
他方、ハッシュチェインの検証に失敗した場合には、動的変更部413は、アクターノードAから送信されたメッセージ(強制的な復帰を要請するメッセージ)を破棄し(ステップS663)、処理を終了する。
また、動的変更部413は、ステップS653においてメッセージに含まれる識別子が復帰を表す識別子“Return”であった場合、または、ステップS661においてハッシュチェインの置き換えを実施した場合に、以下の処理を実施する。すなわち、動的変更部413は、イベント発生時に使用していたグリッド関連情報を、保持していた変更前の情報(通常状態における情報)へと復旧する(ステップS665)。
以上のような処理を行うことで、各グリッド内のセンサノードSは、通常状態へと復帰し、通常状態における動作を実施することが可能となる。
(ハードウェア構成について)
次に、図24を参照しながら、本発明の実施形態に係る鍵生成装置10のハードウェア構成について、詳細に説明する。図24は、本発明の実施形態に係る鍵生成装置10のハードウェア構成を説明するためのブロック図である。
鍵生成装置10は、主に、CPU901と、ROM903と、RAM905と、を備える。また、鍵生成装置10は、更に、ホストバス907と、ブリッジ909と、外部バス911と、インターフェース913と、入力装置915と、出力装置917と、ストレージ装置919と、ドライブ921と、接続ポート923と、通信装置925とを備える。
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、鍵生成装置10内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス907により相互に接続されている。
ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなどユーザが操作する操作手段である。また、入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、鍵生成装置10の操作に対応した携帯電話やPDA等の外部接続機器929であってもよい。さらに、入力装置915は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。鍵生成装置10のユーザは、この入力装置915を操作することにより、鍵生成装置10に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなどがある。出力装置917は、例えば、鍵生成装置10が行った各種処理により得られた結果を出力する。具体的には、表示装置は、鍵生成装置10が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
ストレージ装置919は、鍵生成装置10の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種データなどを格納する。
ドライブ921は、記録媒体用リーダライタであり、鍵生成装置10に内蔵、あるいは外付けされる。ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体927に記録を書き込むことも可能である。リムーバブル記録媒体927は、例えば、DVDメディア、HD−DVDメディア、Blu−rayメディア等である。また、リムーバブル記録媒体927は、コンパクトフラッシュ(登録商標)(CompactFlash:CF)、フラッシュメモリ、または、SDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体927は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)または電子機器等であってもよい。
接続ポート923は、機器を鍵生成装置10に直接接続するためのポートである。接続ポート923の一例として、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート923の別の例として、RS−232Cポート、光オーディオ端子、HDMI(High−Definition Multimedia Interface)ポート等がある。この接続ポート923に外部接続機器929を接続することで、鍵生成装置10は、外部接続機器929から直接各種のデータを取得したり、外部接続機器929に各種のデータを提供したりする。
通信装置925は、例えば、通信網931に接続するための通信デバイス等で構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カード等である。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデム等であってもよい。この通信装置925は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置925に接続される通信網931は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
以上、本発明の実施形態に係る鍵生成装置10の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
また、本発明の実施形態に係るデータ処理装置20およびアクターノード30のハードウェア構成は、本発明の実施形態に係る鍵生成装置10のハードウェア構成と同様であるため、詳細な説明は省略する。また、本発明の実施形態に係るセンサノード40のハードウェア構成は、センサノード40が各種のセンサを備える以外は本発明の実施形態に係る鍵生成装置10のハードウェア構成とほぼ同様であるため、詳細な説明は省略する。
(まとめ)
以上説明したように、本発明の実施形態に係る情報処理システムでは、あるイベントが発生した場合に、フィールド内に存在しているアクターノードが担当するグリッドを、動的に変更する。これにより、アクターノードが突発的なイベントに対応している場合であっても、他のアクターノードが、イベントに対応しているアクターノードが本来データ収集を行うはずであったセンサノードから、データを収集することが可能となる。その結果、本発明の実施形態に係る情報処理システムでは、イベント発生時においても、イベントへの対応とデータの収集の双方を両立することが可能となる。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
1 情報処理システム
10 鍵生成装置
20 データ処理装置
30 アクターノード
40 センサノード
101 パラメータ設定部
103 フィールド分割部
105 アクターノード割当部
107 鍵生成部
109 ハッシュチェイン生成部
111,209,315,415 通信部
113,211,317,417 記憶部
201 ノード制御部
203 データ取得部
205 データ処理部
207 排除ノード特定部
301,401 鍵取得部
303,403 初期認証部
305 データ収集部
307,407 データ転送部
309,409 ブロードキャスト認証部
311,411 ノード排除処理部
313,413 動的変更部
405 センサ部

Claims (19)

  1. 複数の区画に区分された所定の領域内に設置されているセンサノードと相互に通信が可能であり、センサノードが生成したデータを、担当する前記区画に設置されている前記センサノードから取得するアクターノードであって、
    他の前記アクターノードと通信を行う際に利用する鍵と、担当区画に設置されている前記センサノードとの通信に利用する鍵を生成するための鍵生成情報と、前記担当区画に固有な所定の長さのハッシュチェインと、を含む鍵情報を所定の装置から取得する鍵取得部と、
    前記センサノードからのデータの取得を担当する区画を一時的に変更し、前記担当する区画内の少なくとも一部の部分領域に設置された前記センサノードからのデータ取得を前記他のアクターノードに一時的に委託する動的変更部と、
    を備え、
    前記動的変更部は、
    前記他のアクターノードから、当該他のアクターノードに固有の識別情報を取得し、
    前記他のアクターノードに固有の識別情報を、データの収集を行うアクターノードが一時的に変更される旨を表す識別子とともに前記部分領域内に設置された前記センサノードに通知し、
    前記他のアクターノードに固有の識別情報および前記部分領域内に設置された前記センサノードとの通信に利用される鍵を利用して生成した一時鍵と、前記ハッシュチェインの一部とを、前記他のアクターノードに通知する、アクターノード。
  2. 前記アクターノードは、担当区画に含まれる複数の区画それぞれについて、当該区画に相隣接する区画を特定するための区画特定情報を保持しており、
    前記動的変更部は、前記他のアクターノードへの前記部分領域の委託に際して、
    前記区画特定情報に変更が生じる区画を特定し、
    変更後の前記区画特定情報と、委託により変更が生じた所定の鍵に関する情報とを、変更前および変更後で共通する前記担当区画に設置された前記センサノードに対して通知する、請求項1に記載のアクターノード。
  3. 前記動的変更部は、
    前記他のアクターノードへの前記部分領域の委託が解消されなかった場合、前記部分領域内に設置されたセンサノードに対して、他のアクターノードへの委託を解消する旨を表す識別子と、前記ハッシュチェインの一部とを通知する、請求項2に記載のアクターノード。
  4. 前記鍵生成情報には、所定の次数を有する2変数多項式に関する情報が含まれており、
    前記アクターノードは、前記担当区画内に設置された前記センサノードとの通信に利用する当該センサノードに固有の鍵を、前記2変数多項式に、前記アクターノードに固有な識別情報と、前記センサノードに固有な識別情報とを代入することで算出する、請求項1に記載のアクターノード。
  5. 前記アクターノードは、一の前記担当区画に配置されている通信目標のセンサノードと直接通信できない場合、ブルームフィルタを用いて前記通信目標のセンサノードを特定する情報を生成する、請求項1に記載のアクターノード。
  6. 前記アクターノードは、障害が発生したセンサノードまたは他のアクターノードをシステムから排除するノード排除部を更に備え、
    前記ノード排除部は、前記センサノードに障害が発生した場合、
    前記障害が発生したセンサノードとの通信に利用する当該障害が発生したセンサノードに固有の鍵に変えて、無作為に乱数を選択し、
    前記無作為に選択した乱数を用いて、前記障害が発生したセンサノードが属する区画に設置された他のセンサノードが、当該区画内におけるセンサノード間通信に利用する鍵を更新するための鍵更新情報を生成し、
    前記鍵更新情報を、前記障害が発生したセンサノードを含む区画に通知する、請求項1に記載のアクターノード。
  7. 前記アクターノードは、
    前記担当区画内に設置された前記センサノードとの間で、通信に先立ち相互認証を行う初期認証部と、
    障害が発生したセンサノードまたは他のアクターノードをシステムから排除するノード排除部と、
    を更に備え、
    前記他のアクターノードに障害が発生し、当該他のアクターノードが担当していた前記区画を新たに担当することとなった場合、
    前記ノード排除部は、新たに担当することとなった前記区画に属する前記センサノードに対して、前記アクターノードに固有の識別情報と、障害が発生したアクターノードを排除する旨を表す識別子とを通知し、
    前記初期認証部は、前記新たに担当することとなった区画に属するセンサノードとの間で相互認証を行う、請求項1に記載のアクターノード。
  8. 複数の区画に区分された所定の領域内に設置されており、生成したデータを、設置されている区画を担当するアクターノードに対して出力するセンサノードであって、
    前記アクターノードまたは他の前記センサノードとの通信に利用する鍵を生成するための鍵生成情報と、設置されている前記区画に固有な所定の長さのハッシュチェインと、を含む鍵情報を所定の装置から取得する鍵取得部と、
    生成したデータの送信先である前記アクターノードからの指示に応じて、他の前記センサノードとの通信に利用するパラメータを一時的に変更する動的変更部と、
    を備え、
    前記動的変更部は、
    前記アクターノードからの指示により、前記データの送信先が他の前記アクターノードへと一時的に変更になる場合、前記アクターノードから通知された前記他のアクターノードに固有の識別情報を利用して、前記他のアクターノードとの通信に利用する鍵、および、前記他のセンサノードとの通信に利用する鍵を更新する、センサノード。
  9. 前記鍵生成情報には、所定の次数を有する2変数多項式に関する情報が含まれており、
    前記センサノードは、前記2変数多項式に、前記アクターノードに固有な識別情報と、前記センサノードに固有な識別情報とを代入することで、前記アクターノードとの通信に利用する前記センサノードに固有な鍵を算出する、請求項8に記載のセンサノード。
  10. 前記センサノードは、当該センサノードが設置されている前記区画に隣接する区画を特定するための区画特定情報と、前記隣接する区画との通信に利用する鍵とを含む区画関連情報を、生成したデータの送信先である前記アクターノードから予め通知されており、
    前記動的変更部は、前記データの送信先が前記他のアクターノードへと一時的に変更になる場合、前記アクターノードから新たに通知された前記区画関連情報を用いて、前記他のアクターノードとの通信を行う、請求項8に記載のセンサノード。
  11. 前記動的変更部は、
    前記データの送信先が一時的に変更になる場合、変更前の前記区画関連情報を所定の箇所に保存しておき、
    前記他のアクターノードから、データの送信先を前記アクターノードへ変更する指示があった場合、前記区画関連情報を、保存しておいた前記変更前の区画関連情報に置き換える、請求項10に記載のセンサノード。
  12. 前記センサノードは、データの送信先である前記アクターノードとの間で、通信に先立ち相互認証を行う初期認証部を更に備え、
    前記初期認証部は、
    前記センサノードに固有の鍵を一方向性関数ツリーのリーフノードとみなし、前記一方向性関数ツリーの木構造と前記鍵情報に含まれるハッシュ関数とを利用して、同一の前記区画に属する前記他のセンサノードとの通信に利用する鍵を算出する、請求項9に記載のセンサノード。
  13. 前記センサノードは、障害が発生したアクターノードまたは他のセンサノードをシステムから排除するノード排除部を更に備え、
    前記アクターノードに障害が発生した場合、
    前記ノード排除部は、障害が発生した前記アクターノードを代行する代行アクターノードから送信された、当該代行アクターノードに固有の識別情報を取得し、
    前記初期認証部は、前記ノード排除部が取得した前記代行アクターノードに固有の識別情報を利用して、前記代行アクターノードと相互認証を行う、請求項12に記載のセンサノード。
  14. 前記ノード排除部は、前記他のセンサノードに障害が発生した場合、データ送信先の前記アクターノードから通知された、前記他のセンサノードとの通信に利用する鍵を更新するための鍵更新情報と、前記一方向性関数ツリーとを利用して、他のセンサノードとの通信に利用する鍵を更新する、請求項13に記載のセンサノード。
  15. 複数の区画に区分された所定の領域内に設置されているセンサノードと相互に通信が可能であり、センサノードが生成したデータを、担当する前記区画に設置されている前記センサノードから取得するアクターノードが実施する担当区画変更方法であって、
    他の前記アクターノードと通信を行う際に利用する鍵と、担当区画に設置されている前記センサノードとの通信に利用する鍵を生成するための鍵生成情報と、前記担当区画に固有な所定の長さのハッシュチェインと、を含む鍵情報を所定の装置から取得するステップと、
    前記センサノードからのデータの取得を担当する区画を一時的に変更し、前記担当する区画内の少なくとも一部の部分領域に設置された前記センサノードからのデータ取得を前記他のアクターノードに一時的に委託するステップと、
    を含み、
    前記データ取得を一時的に委託するステップでは、
    前記他のアクターノードから、当該他のアクターノードに固有の識別情報を取得し、
    前記他のアクターノードに固有の識別情報を、データの収集を行うアクターノードが一時的に変更される旨を表す識別子とともに前記部分領域内に設置された前記センサノードに通知し、
    前記他のアクターノードに固有の識別情報および前記部分領域内に設置された前記センサノードとの通信に利用される鍵を利用して生成した一時鍵と、前記ハッシュチェインの一部とを、前記他のアクターノードに通知する、担当区画変更方法。
  16. 複数の区画に区分された所定の領域内に設置されており、生成したデータを、設置されている区画を担当するアクターノードに対して出力するセンサノードが実施するパラメータ変更方法であって、
    前記アクターノードまたは他の前記センサノードとの通信に利用する鍵を生成するための鍵生成情報と、設置されている前記区画に固有な所定の長さのハッシュチェインと、を含む鍵情報を所定の装置から取得するステップと、
    生成したデータの送信先である前記アクターノードからの指示に応じて、他の前記センサノードとの通信に利用するパラメータを一時的に変更するステップと、
    を含み、
    前記パラメータを一時的に変更するステップは、
    前記アクターノードからの指示により、前記データの送信先が他の前記アクターノードへと一時的に変更になる場合、前記アクターノードから通知された前記他のアクターノードに固有の識別情報を利用して、前記他のアクターノードとの通信に利用する鍵、および、前記他のセンサノードとの通信に利用する鍵を更新する、パラメータ変更方法。
  17. コンピュータを、複数の区画に区分された所定の領域内に設置されているセンサノードと相互に通信が可能であり、センサノードが生成したデータを、担当する前記区画に設置されている前記センサノードから取得するアクターノードとして機能させるためのプログラムであって、
    コンピュータに、
    他の前記アクターノードと通信を行う際に利用する鍵と、担当区画に設置されている前記センサノードとの通信に利用する鍵を生成するための鍵生成情報と、前記担当区画に固有な所定の長さのハッシュチェインと、を含む鍵情報を所定の装置から取得する鍵取得機能と;
    前記他のアクターノードから、当該他のアクターノードに固有の識別情報を取得する機能、前記他のアクターノードに固有の識別情報を、データの収集を行うアクターノードが一時的に変更される旨を表す識別子とともに前記部分領域内に設置された前記センサノードに通知する機能、ならびに、前記他のアクターノードに固有の識別情報および前記部分領域内に設置された前記センサノードとの通信に利用される鍵を利用して生成した一時鍵と、前記ハッシュチェインの一部とを、前記他のアクターノードに通知する機能を含む、前記センサノードからのデータの取得を担当する区画を一時的に変更し、前記担当する区画内の少なくとも一部の部分領域に設置された前記センサノードからのデータ取得を前記他のアクターノードに一時的に委託する動的変更機能と;
    を実現させるためのプログラム。
  18. コンピュータを、複数の区画に区分された所定の領域内に設置されており、生成したデータを、設置されている区画を担当するアクターノードに対して出力するセンサノードとして機能させるためのプログラムであって、
    コンピュータに、
    前記アクターノードまたは他の前記センサノードとの通信に利用する鍵を生成するための鍵生成情報と、設置されている前記区画に固有な所定の長さのハッシュチェインと、を含む鍵情報を所定の装置から取得する鍵取得機能と;
    前記アクターノードからの指示により、前記データの送信先が他の前記アクターノードへと一時的に変更になる場合、前記アクターノードから通知された前記他のアクターノードに固有の識別情報を利用して、前記他のアクターノードとの通信に利用する鍵、および、前記他のセンサノードとの通信に利用する鍵を更新する機能を含む、生成したデータの送信先である前記アクターノードからの指示に応じて、他の前記センサノードとの通信に利用するパラメータを一時的に変更する動的変更機能と、
    を実現させるためのプログラム。
  19. 複数の区画に区分された所定の領域内に設置されており、設置されている前記区画内において所定のデータを生成するセンサノードと、
    担当する前記区画に設置されている前記センサノードから、当該センサノードが生成した前記データを取得するアクターノードと、
    を含む情報処理システムであって、
    前記アクターノードは、
    他の前記アクターノードと通信を行う際に利用する鍵と、担当区画に設置されている前記センサノードとの通信に利用する鍵を生成するための鍵生成情報と、前記担当区画に固有な所定の長さのハッシュチェインと、を含む鍵情報を所定の装置から取得する鍵取得部と、
    前記センサノードからのデータの取得を担当する区画を一時的に変更し、前記担当する区画内の少なくとも一部の部分領域に設置された前記センサノードからのデータ取得を前記他のアクターノードに一時的に委託する動的変更部と、
    を有し、
    前記アクターノードの動的変更部は、
    前記他のアクターノードから、当該他のアクターノードに固有の識別情報を取得し、
    前記他のアクターノードに固有の識別情報を、データの収集を行うアクターノードが一時的に変更される旨を表す識別子とともに前記部分領域内に設置された前記センサノードに通知し、
    前記他のアクターノードに固有の識別情報および前記部分領域内に設置された前記センサノードとの通信に利用される鍵を利用して生成した一時鍵と、前記ハッシュチェインの一部とを、前記他のアクターノードに通知し、
    前記センサノードは、
    前記アクターノードまたは他の前記センサノードとの通信に利用する鍵を生成するための鍵生成情報と、設置されている前記区画に固有な所定の長さのハッシュチェインと、を含む鍵情報を所定の装置から取得する鍵取得部と、
    生成したデータの送信先である前記アクターノードからの指示に応じて、他の前記センサノードとの通信に利用するパラメータを一時的に変更する動的変更部と、
    を有し、
    前記センサノードの動的変更部は、
    前記アクターノードからの指示により、前記データの送信先が他の前記アクターノードへと一時的に変更になる場合、前記アクターノードから通知された前記他のアクターノードに固有の識別情報を利用して、前記他のアクターノードとの通信に利用する鍵、および、前記他のセンサノードとの通信に利用する鍵を更新する、情報処理システム。
JP2009284226A 2009-12-15 2009-12-15 アクターノード、センサノード、担当区画変更方法、パラメータ変更方法、プログラムおよび情報処理システム Withdrawn JP2011130012A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009284226A JP2011130012A (ja) 2009-12-15 2009-12-15 アクターノード、センサノード、担当区画変更方法、パラメータ変更方法、プログラムおよび情報処理システム
US12/927,515 US8416949B2 (en) 2009-12-15 2010-11-17 Actor node, sensor node, coverage block change method, parameter change method, program, and information processing system
CN2010105784464A CN102098161A (zh) 2009-12-15 2010-12-08 反应器和传感器节点、覆盖块变化和参数变化方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009284226A JP2011130012A (ja) 2009-12-15 2009-12-15 アクターノード、センサノード、担当区画変更方法、パラメータ変更方法、プログラムおよび情報処理システム

Publications (1)

Publication Number Publication Date
JP2011130012A true JP2011130012A (ja) 2011-06-30

Family

ID=44131040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009284226A Withdrawn JP2011130012A (ja) 2009-12-15 2009-12-15 アクターノード、センサノード、担当区画変更方法、パラメータ変更方法、プログラムおよび情報処理システム

Country Status (3)

Country Link
US (1) US8416949B2 (ja)
JP (1) JP2011130012A (ja)
CN (1) CN102098161A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102427584A (zh) * 2011-12-30 2012-04-25 江南大学 实现多智能体***针对性覆盖及追踪的方法
JP2013123101A (ja) * 2011-12-09 2013-06-20 Kddi Corp センサーネットワークシステム、鍵管理方法およびプログラム
JP2015233173A (ja) * 2014-06-09 2015-12-24 Necエンジニアリング株式会社 通信システム、通信装置及び通信方法
WO2016067471A1 (ja) * 2014-10-31 2016-05-06 株式会社東芝 通信制御装置、通信制御方法およびプログラム
JP2017526304A (ja) * 2014-09-04 2017-09-07 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 鍵共有のために設けられた暗号システム
JP2019004474A (ja) * 2013-12-02 2019-01-10 マスターカード インターナショナル インコーポレーテッド セキュアエレメントを用いずに移動装置に対する遠隔通知サービスメッセージをセキュアに送信するための方法およびシステム
US10700934B2 (en) 2013-12-26 2020-06-30 Kabushiki Kaisha Toshiba Communication control device, communication control method, and computer program product
JP2020126586A (ja) * 2019-01-16 2020-08-20 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft ログデータの完全性保護

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9497028B1 (en) * 2007-05-03 2016-11-15 Google Inc. System and method for remote storage auditing
US9130937B1 (en) * 2011-03-07 2015-09-08 Raytheon Company Validating network communications
US8661522B2 (en) * 2011-07-28 2014-02-25 Arbor Networks, Inc. Method and apparatus for probabilistic matching to authenticate hosts during distributed denial of service attack
US8861331B2 (en) 2012-07-03 2014-10-14 King Fahd University Of Petroleum And Minerals Least movement WSAN topology repair method
US9300569B2 (en) * 2012-07-31 2016-03-29 Cisco Technology, Inc. Compressing data packet routing information using bloom filters
US20140092753A1 (en) * 2012-09-28 2014-04-03 Cisco Technology, Inc. Traffic-based quality of service (qos) monitoring in highly constrained networks
KR101363740B1 (ko) * 2012-12-03 2014-02-17 숭실대학교산학협력단 노드 및 노드의 패킷 전송 방법
CN103916427B (zh) * 2012-12-31 2017-06-20 ***通信集团广东有限公司 第一移动通信终端及通信方法、物联网***
US10963448B1 (en) * 2013-03-15 2021-03-30 Teradata Us, Inc. Non-responsive node activity avoidance
CN103391548B (zh) * 2013-07-15 2016-05-25 河海大学常州校区 基于时序差分td强化学习的无线传感网络入侵检测方法
CN103491612B (zh) * 2013-09-16 2016-03-02 电子科技大学 一种传感器网络中移动Sink节点位置信息获取方法
KR20160130376A (ko) * 2013-12-30 2016-11-11 텔레콤 이탈리아 소시에떼 퍼 아찌오니 무선 개인 영역 통신 네트워크 내 노드 연관을 관리하기 위한 방법
JP6277856B2 (ja) * 2014-05-16 2018-02-14 住友電気工業株式会社 管理装置、管理システム、管理方法および管理プログラム
CN104348929B (zh) * 2014-09-26 2017-08-29 重庆邮电大学 一种用于6LoWPAN接入IPv4 Internet的边缘路由器及接入方法
US9374373B1 (en) * 2015-02-03 2016-06-21 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Encryption techniques for improved sharing and distribution of encrypted content
CN105262755B (zh) * 2015-10-29 2019-03-26 湖北工业大学 防止敏感信息泄漏的物联网节点数据安全存储方法
US10198325B2 (en) 2016-05-24 2019-02-05 Mastercard International Incorporated Method and system for desynchronization recovery for permissioned blockchains using bloom filters
US10129760B2 (en) * 2016-09-26 2018-11-13 King Fahd University Of Petroleum And Minerals Restoring connectivity in partitioned wireless sensor and actor networks
US10320756B2 (en) * 2016-12-31 2019-06-11 Intel Corporation Secure communications for sensor data
CN107592292B (zh) 2017-07-26 2019-08-09 阿里巴巴集团控股有限公司 一种区块链节点间通信方法及装置
CN109996204B (zh) * 2019-03-26 2021-07-13 东北大学 一种基于wsan的复杂管网信息控制器优化部署方法
CN110708512A (zh) * 2019-10-17 2020-01-17 烟台艾易新能源有限公司 一种智能家居无线网络图像加密传输优化方法
CN110996316B (zh) * 2019-12-12 2021-09-24 东莞理工学院 一种两层无线传感器网络中的安全数据检索方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7277897B2 (en) * 2003-08-01 2007-10-02 Oracle International Corporation Dynamic reassignment of data ownership
JP4642845B2 (ja) * 2005-12-19 2011-03-02 日本電信電話株式会社 端末識別方法、サーバ、端末およびプログラム
JP2007288747A (ja) * 2006-04-20 2007-11-01 Ricoh Co Ltd 画像処理システムおよび画像処理システムの制御方法および画像形成装置および画像再生装置
US8107397B1 (en) * 2006-06-05 2012-01-31 Purdue Research Foundation Protocol for secure and energy-efficient reprogramming of wireless multi-hop sensor networks
CN100471141C (zh) * 2007-02-05 2009-03-18 南京邮电大学 无线传感器网络的混合入侵检测方法
US9031571B2 (en) * 2008-04-11 2015-05-12 Alcatel Lucent Methods and apparatus for coverage verification in a wireless sensor network
US20100261495A1 (en) * 2009-04-13 2010-10-14 Xiaoyun Li Distributed hole recovery process using connectivity information

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013123101A (ja) * 2011-12-09 2013-06-20 Kddi Corp センサーネットワークシステム、鍵管理方法およびプログラム
CN102427584A (zh) * 2011-12-30 2012-04-25 江南大学 实现多智能体***针对性覆盖及追踪的方法
JP2019004474A (ja) * 2013-12-02 2019-01-10 マスターカード インターナショナル インコーポレーテッド セキュアエレメントを用いずに移動装置に対する遠隔通知サービスメッセージをセキュアに送信するための方法およびシステム
US11334890B2 (en) 2013-12-02 2022-05-17 Mastercard International Incorporated Method and system for secure authentication of user and mobile device without secure elements
US10700934B2 (en) 2013-12-26 2020-06-30 Kabushiki Kaisha Toshiba Communication control device, communication control method, and computer program product
JP2015233173A (ja) * 2014-06-09 2015-12-24 Necエンジニアリング株式会社 通信システム、通信装置及び通信方法
JP2017526304A (ja) * 2014-09-04 2017-09-07 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 鍵共有のために設けられた暗号システム
WO2016067471A1 (ja) * 2014-10-31 2016-05-06 株式会社東芝 通信制御装置、通信制御方法およびプログラム
JPWO2016067471A1 (ja) * 2014-10-31 2017-04-27 株式会社東芝 通信制御装置、通信制御方法およびプログラム
US10673624B2 (en) 2014-10-31 2020-06-02 Kabushiki Kaisha Toshiba Communication control device, communication control method, and computer program product
JP2020126586A (ja) * 2019-01-16 2020-08-20 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft ログデータの完全性保護
US11403428B2 (en) 2019-01-16 2022-08-02 Siemens Aktiengesellschaft Protecting integrity of log data

Also Published As

Publication number Publication date
CN102098161A (zh) 2011-06-15
US8416949B2 (en) 2013-04-09
US20110145578A1 (en) 2011-06-16

Similar Documents

Publication Publication Date Title
JP2011130012A (ja) アクターノード、センサノード、担当区画変更方法、パラメータ変更方法、プログラムおよび情報処理システム
KR101878112B1 (ko) 제휴 이전 서비스 발견을 보안하기 위한 시스템 및 방법
EP3745639A1 (en) Method and apparatus for obtaining device identification
JP2011523513A (ja) 無線通信システム並びに自動ノード及びキー取り消しのための方法
De et al. Deployment-aware modeling of node compromise spread in wireless sensor networks using epidemic theory
CN101133586A (zh) 用于自组织网络设立的鉴权
CN106790223A (zh) 一种数据传输的方法和设备及其***
WO2020173231A1 (zh) 资源请求方法、设备及存储介质
US20120237033A1 (en) Node, a root node, and a computer readable medium
US20130283360A1 (en) Distributed group temporal key (gtk) state management
Nirmal Raja et al. Secure data aggregation in wireless sensor network-Fujisaki Okamoto (FO) authentication scheme against Sybil attack
JP2022528359A (ja) ブロックチェーン及びDICE-RIoTを使用したデバイスのリモート管理
KR101034380B1 (ko) Nan에서의 이웃 검색을 이용한 보안 시스템 및 방법
CN110198538B (zh) 一种获得设备标识的方法及装置
Kamble et al. Efficient key management for dynamic wireless sensor network
US20120179902A1 (en) Network key update system, a server, a network key update method and a recording medium
CN103200568A (zh) 无线传感器网络中节点定位的方法、装置及传感器节点
CN103200191B (zh) 通信装置和无线通信方法
CN105142197B (zh) Ttl字段的编制方法及基于ttl的无线传感网络安全路由方法
Kumar et al. Research Article Cyber-Internet Security Framework to Conquer Energy-Related Attacks on the Internet of Things with Machine Learning Techniques
Kamarudin et al. IBE_Trust Authentication for e-health mobile monitoring system
Misra et al. SAS: A simple anonymity scheme for clustered wireless sensor networks
CN104702609A (zh) 基于朋友机制的移动Ad Hoc网络路由入侵检测方法
KR20090036807A (ko) Snmp의 안전한 그룹에 의한 네트워크 관리 방법
KR20120062480A (ko) 계층 구조를 갖는 무선 센서 네트워크에서 통신량에 따른 키 갱신 방법

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130305