JPWO2016181585A1 - 認証方法、認証システムおよびコントローラ - Google Patents

認証方法、認証システムおよびコントローラ Download PDF

Info

Publication number
JPWO2016181585A1
JPWO2016181585A1 JP2017517587A JP2017517587A JPWO2016181585A1 JP WO2016181585 A1 JPWO2016181585 A1 JP WO2016181585A1 JP 2017517587 A JP2017517587 A JP 2017517587A JP 2017517587 A JP2017517587 A JP 2017517587A JP WO2016181585 A1 JPWO2016181585 A1 JP WO2016181585A1
Authority
JP
Japan
Prior art keywords
controller
group
authentication
group key
data
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.)
Granted
Application number
JP2017517587A
Other languages
English (en)
Other versions
JP6436425B2 (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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co 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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JPWO2016181585A1 publication Critical patent/JPWO2016181585A1/ja
Application granted granted Critical
Publication of JP6436425B2 publication Critical patent/JP6436425B2/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • 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/60Digital content management, e.g. content distribution
    • H04L2209/601Broadcast encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

グループ内の少なくとも1つのコントローラが、グループ内で共通で利用するグループ鍵を管理するコーディネータを、グループ内のコントローラの中から各コントローラの属性に応じて決定する。決定されたコーディネータが、グループ鍵を生成し、グループ内の機器およびコントローラと相互認証を実行し、認証に成功した機器およびコントローラと生成したグループ鍵を共有する。そして、コーディネータが、グループ鍵を用いて暗号化データと認証用データを生成し、暗号化データと認証用データとを含むメッセージの一斉同報通信を行う。

Description

本開示は、ネットワークに接続されたコントローラと機器との間で相互認証を行い、グループ鍵を共有する技術に関する。
近年、ネットワーク接続機能を有する家電機器やAV(Audio/Visual)機器、住宅設備機器などの機器類(以下、単に「機器」と呼ぶ。)からクラウド上のサーバに収集される各種履歴情報を用いたサービスが期待されている。
このようなサービスにおいて、家庭内に機器を制御するための機器(以下、「コントローラ」と呼ぶ。)を設置し、コントローラが、機器とクラウド上のサーバとの間の通信を中継することが考えられる。このとき、コントローラと機器との接続に関して、不正機器のなりすましや通信内容の傍受による情報漏えいなどを防止することが求められる。
不正機器のなりすましの対策として、例えば、公開鍵認証基盤(PKI: Public Key Infrastructure)を用いたコントローラや機器の正当性の認証が行われる。また、情報漏えいの対策として、例えば、正当性が認証されたコントローラと機器とで暗号通信用の鍵を共有して暗号通信が行われる。
ここで、コントローラと接続する機器が複数存在する場合、コントローラと各機器とが同一の暗号通信用の鍵(以下、「グループ鍵」と呼ぶ。)を共有することで、コントローラが各機器に対して同一情報を一斉送信する一斉同報送信(マルチキャスト通信)の暗号化が可能になる。
特許第4576997号公報
Federal Information Processing Standards Publication (FIPS PUB) 186-4: Digital Signature Standard (DSS), National Institute of Standards and Technology (NIST), July 2013 NIST Special Publication 800-56A Revision 2: Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography, National Institute of Standards and Technology (NIST), May 2013 IETF: RFC5191: Protocol for Carrying Authentication for Network Access (PANA), Internet Engineering Task Force (IETF), May 2008 IETF: RFC6347: Datagram Transport Layer Security Version 1.2, Internet Engineering Task Force (IETF), January 2008
認証システムでは、グループ鍵に関して更なる改善が必要とされている。
ネットワーク上の1以上の機器と2以上のコントローラとが所属するグループにおける認証方法であって、まず、グループ内の少なくとも1つのコントローラが、グループ内で共通で利用するグループ鍵を管理するコーディネータを、グループ内のコントローラの中から各コントローラの属性に応じて決定する。そして、決定されたコーディネータが、グループ鍵を生成し、グループ内の機器およびコントローラと相互認証を実行し、認証に成功した機器およびコントローラとグループ鍵を共有する。その後、コーディネータが、グループ鍵を用いて送信データを暗号化して暗号化データを生成し、グループ鍵を用いてヘッダと送信元アドレスと送信先アドレスと前記送信データとから認証用データを生成し、グループ内の機器およびコントローラに対してヘッダと送信元アドレスと送信先アドレスと暗号化データと認証用データとを含むメッセージの一斉同報通信を行う。
本開示によれば、ネットワーク上のグループ内に複数のコントローラが存在する場合において、グループ内で共通で利用するグループ鍵を管理するコーディネータとして、適切なコントローラを選択することができる。また、グループ鍵を用いた認証用データ(MAC)の生成に、メッセージのヘッダ、送信元アドレス、送信先アドレスを含めることでメッセージのヘッダや送信元アドレスや送信先アドレスの改ざんを防止できる。
図1は、認証システムの一例を示す図である。 図2は、HAN(Home Area Network)内のグループ構成の一例を示す図である。 図3は、統合後のグループ構成の一例を示す図である。 図4は、コントローラの機能構成の一例を示す図である。 図5は、コントローラの保持する接続機器管理テーブルとグループに関する情報の一例を示す図である。 図6は、公開鍵証明書の一例を示す図である。 図7は、CRL( Certificate Revocation List)の一例を示す図である。 図8は、機器の機能構成の一例を示す図である。 図9は、機器の保持する接続コントローラ管理テーブルとグループに関する情報の一例を示す図である。 図10は、機器登録時の認証システムの動作の一例を示すシーケンス図である。 図11は、コントローラ参入時の認証システムの動作の一例を示すシーケンス図である。 図12は、ネゴシエート処理の一例を示すシーケンス図である。 図13は、SC(Security Coordinator)引継処理の一例を示すシーケンス図である。 図14は、相互認証処理の一例を示すシーケンス図である。 図15は、共通鍵を計算する処理の一例を示すシーケンス図である。 図16は、グループ鍵配信・受信処理の一例を示すシーケンス図である。 図17は、グループ鍵更新処理の一例を示すシーケンス図である。 図18は、グループ鍵更新処理の一例を示すシーケンス図である。 図19は、グループ統合前のコントローラAの保持する接続機器管理テーブルとグループに関する情報と、グループ統合前のコントローラBの保持する接続機器管理テーブルと情報を示す図である。 図20は、グループ統合前の機器Aの保持する接続コントローラ管理テーブルとグループに関する情報と、グループ統合前の機器Bの保持する接続コントローラ管理テーブルとグループに関する情報を示す図である。 図21は、グループ統合後のコントローラAの保持する接続機器管理テーブルと情報と、グループ統合後のコントローラBの保持する接続機器管理テーブルとグループに関する情報を示す図である。 図22は、グループ統合後の機器Aの保持する接続コントローラ管理テーブルとグループに関する情報と、グループ統合後の機器Bの保持する接続コントローラ管理テーブルとグループに関する情報を示す図である。 図23は、機器履歴情報の送信処理の一例を示すシーケンス図である。 図24は、制御コマンドの送信処理の一例を示すシーケンス図である。 図25は、SC引継処理の一例を示すシーケンス図である。 図26は、SC選択画面の一例を示す図である。 図27は、暗号化前と暗号化後のメッセージフォーマットを示す図である。 図28は、機器履歴情報の送信処理の一例を示すシーケンス図である。 図29は、制御コマンドの送信処理の一例を示すシーケンス図である。
(本開示に至る経緯)
HAN(Home Area Network)などのネットワークにおいて、同一の機器を複数のコントローラが制御する状況が想定される。
このような状況では、各コントローラが個別にグループ鍵を生成して機器に配信し、機器はコントローラ毎に異なるグループ鍵を用いた暗号通信を行うことが想定される。しかしながら、機器によっては、複数のグループ鍵を用いた暗号通信のために必要なリソースを割り当てることができない可能性がある。例えば、機器の演算性能が低く、複数のグループ鍵を用いた暗号通信ができない可能性がある。また、機器の記憶容量が少ない場合には、すべてのコントローラとの暗号通信に必要な数のグループ鍵を記憶できない可能性がある。
そこで、ネットワーク上の一部または全部の機器及びコントローラがグループを構成し、グループ内のコントローラの中からグループ鍵を管理するコントローラを決めて、決定されたコントローラがグループ鍵を生成してグループ内の機器及び他のコントローラに配信する構成が考えられる。しかしながら、この構成では、どのコントローラがグループ鍵を管理するかが問題となる。例えば、コントローラによっては、電源断やネットワーク未接続状態が頻繁に起こり、機器や他のコントローラと常時通信できないものが存在する。グループ鍵を管理するコントローラをランダムに決めてしまうと、このようなコントローラが選ばれてしまう可能性がある。グループ鍵を管理するコントローラと通信できない状態では、新たな機器やコントローラがグループに参入しグループ鍵を共有することができない。また、セキュリティ上の観点からグループ鍵を定期的に更新することが望まれるが、グループ鍵を管理するコントローラと通信できない状態では、グループ鍵の更新ができない。
本開示は、係る問題を鑑みてなされたものであり、ネットワーク上のグループ内に複数のコントローラが存在する場合において、グループ内で共通で利用するグループ鍵を管理するコントローラとして、適切なコントローラを決定する認証方法を提供するものである。
(実施の形態1)
以下、図面を参照しながら、本開示の実施の形態に係る認証システムについて説明する。なお、本実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態、ステップ、ステップの順序などは一例であり、本開示を限定する主旨ではない。
<概要>
ここでは、本開示の一実施形態としての認証システム100の概要について説明する。
図1は、認証システム100の構成を示す図である。認証システム100は、HAN130上のコントローラ110(コントローラ110a及びコントローラ110b)及び機器120(機器120a、120b及び120c)から構成される。また、コントローラ110は、ネットワーク150を介してサーバ140(サーバ140a及びサーバ140b)と接続される。
機器120は、ネットワークに接続する機能を有する家電機器やAV機器及び住宅設備機器であり、例えば、テレビ、レコーダ、エアコン、冷蔵庫、蓄電池などである。コントローラ110は、機器120を制御する機能を有する機器であり、例えばサーバ140からの依頼等に応じて制御コマンドを生成し、生成した制御コマンドを機器120に送信して実行させる。また、コントローラ110は、機器120に蓄積された情報をサーバ140に送信する機能も有する。なお、コントローラ110は、ペアリングを行って登録された機器120の制御を行い、機器120は、ペアリングを行って登録されたコントローラ110から送信された制御コマンドを実行する。
HAN130は、家庭内に構築された有線又は無線のネットワークである。HAN130は、具体的には、Ethernet(登録商標)、特定小電力無線、Wi−Fi(登録商標)、Bluetooth(登録商標)、電力線通信などで実現される。また、ネットワーク150は、家庭と企業との間等に構築された、所謂インターネット等のネットワークである。
認証システム100では、HAN130上の1以上のコントローラ110と、該1以上のコントローラ110とペアリングを行った1以上の機器120とで一つのグループ鍵を共有する1つのグループが形成される。グループ鍵は、コントローラ110が生成し、コントローラ110と機器120とが認証処理を行ったとき等に、コントローラ110から機器120へ配信される。
図2は、HAN130上のコントローラ110及び機器120のグループ構成の一例を示す図である。図2は、コントローラAと機器Aとが所属するグループ200及びコントローラBと機器Bとが所属するグループ210を示している。グループ200とグループ210とでは、異なるグループ鍵が共有される。これにより、グループ200とグループ210が同じ通信方式を利用していたとしても、互いのグループ内で通信している内容がグループ外に漏洩することがなくなる。
認証システム100では、異なるグループに所属する機器やコントローラの間でペアリングが発生すると、2つのグループの統合を行う。例えば、グループ構成が図2に示す状態で、機器AとコントローラBとでペアリングが行われた場合、グループ構成が図3に示すように変更される。このとき、認証システム100では、認証処理やグループ鍵の管理処理を行うコントローラを一つ決定し、決定されたコントローラがグループ鍵の生成及び配信を担う。本開示では、認証処理やグループ鍵の管理処理を行うコントローラのことをSC(Security Coordinator)と呼ぶ。なお、SC以外の機器やコントローラのことをノードと呼ぶ場合がある。図3の例では、SCとして、コントローラAが決定されている。すなわち、グループ300では、各機器との認証処理やグループ鍵の生成や配信はSCであるコントローラAのみが行い、コントローラBは行わない。そして、コントローラBは、SCであるコントローラAが生成し配信したグループ鍵を用いて、ペアリングを行った機器A及び機器Bの制御を行うことになる。
<構成>
次に、認証システム100の主要な構成要素であるコントローラ110及び機器120の構成について説明する。
<コントローラの構成>
まず、図4−7を参照して、コントローラ110の構成を説明する。
図4は、コントローラ110の機能構成を示す図である。コントローラ110は、機器管理部410、機器情報保持部420、認証処理部430、認証情報保持部440、ネゴシエート部450、操作部460、通信部470を含んで構成される。
機器管理部410は、自機(コントローラ110)に接続される機器120や他のコントローラ110を管理する。機器管理部410は、通信部470を介した機器120や他のコントローラ110からのペアリング要求や相互認証要求、機器情報保持部420からのグループ鍵更新要求などを受け付け、認証処理部430などに、要求に応じた処理を依頼し、依頼結果に応じて機器情報保持部420で保持する接続機器管理テーブル500やグループに関する情報510を更新する機能を有する。
図5は、機器情報保持部420が保持する接続機器管理テーブル500やグループに関する情報510の一例を示す図である。図5(a)は、コントローラの保持する接続機器管理テーブルの一例を示す図である。図5(b)は、コントローラの保持するグループに関する情報の一例を示す図である。
接続機器管理テーブル500には、自機(コントローラ110)と接続する機器120(又は他のコントローラ110)毎に、機器ID501、証明書ID502、共有鍵503、グループ鍵504、グループ鍵有効時間505、グループ鍵更新フラグ506が記録される。機器ID501は、機器120を一意に識別するための情報である。証明書ID502は、機器120が持つ公開鍵証明書の証明書IDである。共有鍵503は、機器120との間で共有される共有鍵のデータである。グループ鍵504は、機器120に設定されているグループ鍵のデータである。グループ鍵有効時間505は、機器120に設定されているグループ鍵の有効期間の残余時間である。グループ鍵更新フラグ506は、機器120のグループ鍵が最新のものに更新されているか否かを示すフラグ情報である。
グループに関する情報510には、制御機器511、SC512、傘下の機器513が記録される。制御機器511は、ペアリングを行った機器120の機器IDである。SC512は、所属しているグループのSCの機器IDである。なお、コントローラ110のSC512は、コントローラ110の出荷時には、自機の機器IDを示す値が設定されているものとする。傘下の機器513は、自らがSCの場合におけるグループに所属している機器120及び他のコントローラ110の機器IDである。
機器情報保持部420は、時間の経過と共にグループ鍵有効時間505の値をカウントダウンさせ、グループ鍵有効時間505の値が所定値以下となった場合に機器管理部410に、グループ鍵更新要求を行う機能を有する。所定値とは、例えば、最初に設定された値の10%の値や、グループ鍵の更新に必要な時間の2倍の値などである。
図4に戻り、コントローラ110の構成について説明を続ける。
認証処理部430は、機器管理部410からの依頼に応じて、機器120や他のコントローラ110との認証処理を行う機能を有する。認証処理部430の行う認証処理の詳細は後述する。
認証情報保持部440は、自機(コントローラ110)の秘密鍵と公開鍵証明書を保持している。また、認証情報保持部440は、相手機器の公開鍵証明書が失効していないことを確認するために使用するCRL(Certificate Revocation List)や、認証局の公開鍵が含まれるデジタル証明書を保持している。なお、秘密鍵と公開鍵証明書との鍵ペアやCRLやデジタル証明書はコントローラ110の出荷時に埋め込まれるものとする。
図6は、認証情報保持部440の保持する公開鍵証明書600のデータ構成の一例を示す図である。公開鍵証明書600は、例えば、バージョン610、証明書ID620、署名630、発行者640、有効期間の開始650、有効期間の終了660、公開鍵670、属性680のデータで構成される。
図7は、認証情報保持部440の保持するCRL700のデータ構成の一例を示している。CRL700は、例えば、バージョン710、署名720、発行者730、発行日時740、次回発行日750、失効した証明書IDのデータで構成される。
図4に戻り、コントローラ110の構成について説明を続ける。
ネゴシエート部450は、1つのグループ内に複数のコントローラ110が存在する場合、例えば、異なるグループに属する機器間でペアリングが発生したとき等に、他のコントローラ110と通信をし合い、どのコントローラがSCになるかを決定するネゴシエート処理を行う。ネゴシエート部450の行うネゴシエート処理の詳細については後述する。
機器管理部410、機器情報保持部420、認証処理部430、認証情報保持部440ネゴシエート部450の各機能部は、典型的には、メモリに保持されているプログラムをプロセッサが実行することにより実現される。
操作部460は、ペアリング用のボタンと、当該ボタンの押下に応じて割り込み信号を生成してプロセッサに伝えるための制御回路とで構成される。
通信部470は、通信機能を有する通信用LSI(Large Scale Integration)によって実現される。通信部470は、HAN130とネットワーク150とに接続され、HAN130を介してHAN130に接続される機器120や他のコントローラ110と通信する機能と、ネットワーク150を介してサーバ140と通信する機能とを有する。なお、コントローラ110とネットワーク150との接続は、図示しないゲートウェイ機器を介して行われてもよい。
通信部470は、機器120や他のコントローラ110との通信には、認証処理部430から受信したグループ鍵などを用いて適宜暗号化通信を行う。また、通信部470は、サーバ140との通信には、SSL(Secure Socket Layer)通信を行う。なお、SSL通信に必要な証明書等は、通信部470が記憶している。
<機器の構成>
次に、図8−9を参照して、機器120の構成を説明する。
図8は、機器120の機能構成を示す図である。機器120は、機器管理部810、機器情報保持部820、認証処理部830、認証情報保持部840、機器履歴保持部850、操作部860、通信部870を含んで構成される。
機器管理部810は、自ら(機器120)に接続されるコントローラ110を管理する。機器管理部810は、操作部860からの割り込み信号をトリガとして登録モードを起動してコントローラ110へペアリング要求を送信する機能や認証処理部830などの処理結果に応じて機器情報保持部820で保持する接続コントローラ管理テーブル900やグループに関する情報910を更新する機能を有する。また、機器管理部810は、機器履歴保持部850で記録している機器履歴情報をグループ鍵で暗号化して、定期的または非定期にコントローラ110経由でサーバ140へ送信する機能を有する。
図9は、機器情報保持部820が保持する接続コントローラ管理テーブル900やグループに関する情報910の一例を示す図である。図9(a)は、機器の保持する接続コントローラ管理テーブルの一例を示す図である。図9(b)は、機器の保持するグループに関する情報の一例を示す図である。
接続コントローラ管理テーブル900には、自機(機器120)と接続するコントローラ110毎に、コントローラID901、証明書ID902、共有鍵903、グループ鍵904が記録される。コントローラID901は、コントローラ110を一意に識別するための情報である。証明書ID902は、コントローラ110が持つ公開鍵証明書の証明書IDである。共有鍵903は、コントローラ110との間で共有される共有鍵のデータである。グループ鍵904は、コントローラ110から受信したグループ鍵のデータである。なお、共有鍵は、SCとのみ共有を行うものであり、すべてのコントローラと共有するわけではない。
グループに関する情報910には、制御コントローラ911、SC912が記録される。制御コントローラ911は、ペアリングを行ったコントローラ110の機器IDである。SC912は、所属しているグループのSCの機器IDである。なお、機器120のSC912は、機器120の出荷時には、SCが登録されていないことを示す値が設定されているものとする。
図8に戻り、機器120の構成について説明を続ける。
認証処理部830は、コントローラ110との認証処理を行う機能を有する。認証処理部830の行う認証処理の詳細は後述する。
認証情報保持部840は、自機(機器120)の秘密鍵と公開鍵証明書を保持している。また、認証情報保持部840は、CRL(Certificate Revocation List)や、認証局の公開鍵が含まれるデジタル証明書を保持している。公開鍵証明書やCRLはコントローラ110が持つ公開鍵証明書やCRLと同じ構成であるのでここでの説明は省略する。なお、秘密鍵と公開鍵証明書の鍵ペアやCRLやデジタル証明書は機器120の出荷時に埋め込まれるものとする。
機器履歴保持部850は、自機(機器120)の動作履歴を示す機器履歴情報を保持している。
機器管理部810、機器情報保持部820、認証処理部830、認証情報保持部840、機器履歴保持部850の各機能部は、典型的には、メモリに保持されているプログラムをプロセッサが実行することにより実現される。
操作部860は、ペアリング用のボタンと、当該ボタンの押下に応じて割り込み信号を生成してプロセッサに伝えるための制御回路とで構成される。
通信部870は、通信機能を有する通信用LSI(Large Scale Integration)によって実現される。通信部870は、HAN130に接続され、HAN130を介してHAN130に接続されるコントローラ110と通信する機能を有する。
通信部870は、コントローラ110との通信には、認証処理部830から受信したグループ鍵などを用いて適宜暗号化通信を行う。
<動作>
以下、認証システム100で行う、機器登録処理、ネゴシエート処理、SC引継処理、相互認証処理、共有鍵計算処理、グループ鍵配信・受信処理、グループ鍵更新処理、機器履歴情報送信処理、制御コマンド送信処理について、順に説明する。
<機器登録処理>
機器登録処理は、コントローラと機器とがペアリングする際の処理である。以下、機器登録処理について、図10を参照して説明する。なお、以下の説明において、機器AとコントローラBが機器登録処理を行うものとする。
(S1000)ユーザが、機器AとコントローラBとが備えるペアリング用のボタンを押下する。これにより、機器AとコントローラBとはそれぞれ登録モードを起動する。
(S1005)機器AからコントローラBに対し、接続要求を送信する。この時、機器Aは、自機に設定されているSCの機器IDも併せて送信する。なお、機器AにSCが設定されていない場合にはその旨を示す情報が送信される。
(S1010)コントローラBは、自機に設定されているSCの機器IDと、機器Aから通知されたSCの機器IDとからネゴシエート処理が必要か否かを判断する。認証システム100では、機器AとコントローラBとで互いに異なるコントローラがSCとして設定されていた場合に、ネゴシエート処理が必要となる。逆に、機器AにSCが設定されていない場合や、機器AとコントローラBとで共通のコントローラがSCとして設定されている場合には、ネゴシエート処理を行う必要はない。
(S1015)ステップS1010において、ネゴシエート処理が必要と判断された場合、機器AにSCとして設定されているコントローラとコントローラBにSCとして設定されているコントローラとの間でネゴシエート処理が行われる。
コントローラBは、自機がネゴシエート処理を行う場合、ネゴシエート処理を行う相手のコントローラにネゴシエート依頼を送信し、ネゴシエート処理を開始する。コントローラBは、自機がネゴシエート処理を行わない場合、ネゴシエート処理を行う2つのコントローラにネゴシエート依頼を送信する。ネゴシエート処理の詳細は後述する。
(S1020)コントローラBは、機器Aに対してSCの機器IDを送信する。ステップS1010において、ネゴシエート処理が必要ないと判断した場合、コントローラBは、自機に設定されているSCの機器IDを通知する。ステップS1010において、ネゴシエート処理が必要と判断した場合、コントローラBは、ネゴシエート処理の結果新たにSCとして決定されたコントローラの機器IDを取得し、機器Aに送信する。
(S1025)機器AおよびコントローラBは、SCとの間で認証が必要であるか否かを判断する。機器Aは、ステップS1020でコントローラBから通知された機器IDと、機器Aに現在SCとして設定されているコントローラの機器IDとが異なる場合、コントローラBから通知されたSCの生成したグループ鍵を共有していない場合等に、認証が必要であると判断する。コントローラBは、ステップS1020で機器Aに送信した機器IDと、コントローラBに現在SCとして登録されているコントローラの機器IDとが異なる場合、機器Aに通知したSCの生成したグループ鍵を共有していない場合等に、認証が必要であると判断する。
(S1030、S1035)ステップS1025で認証が必要と判断された場合、機器A又はコントローラBは、新たなSCとの間で後述する相互認証処理及びグループ鍵配信・受信処理を行う。
(S1040)相互認証処理及びグループ鍵配信・受信処理が正常に終了した場合、機器A又はコントローラBは、新たなSCの傘下に参入する処理を行う。機器Aは、新たなSCの機器IDを、機器情報保持部820の保持するグループに関する情報910のSC912に設定する。又は、コントローラBは、新たなSCの機器IDを、機器情報保持部420の保持するグループに関する情報510のSC512に設定する。そして、機器A又はコントローラBは、新たなSCに自機の機器IDを送信し、SCは、受信した機器IDを機器情報保持部420の保持するグループに関する情報510の傘下の機器513に設定する。
(S1045)機器A又はコントローラBにおける相互認証処理及びグループ鍵配信・受信処理を正常に終了した場合、機器Aは、コントローラBに対して、ペアリング要求を送信する。このとき、機器Aは、自機の機器IDを併せて送信する。
(S1050)コントローラBは、機器Aからペアリング要求を受信すると、機器Aのペアリングを行う。すなわち、コントローラBは、機器Aからペアリング要求と共に受信した機器IDを、機器情報保持部420の保持するグループに関する情報510の制御機器511に設定する。
(S1055)コントローラBは、機器Aのペアリングを行うと、機器Aに対して、ペアリング要求を送信する。このとき、コントローラBは、自機の機器IDを併せて送信する。
(S1060)機器Aは、コントローラBからペアリング要求を受信すると、コントローラBのペアリングを行う。すなわち、機器Aは、コントローラBからペアリング要求と共に受信した機器IDを、機器情報保持部820の保持するグループに関する情報910の制御コントローラ911に設定する。
(S1065)機器A及びコントローラBは、互いのペアリングが正常に終了すると、登録モードを終了し、機器AとコントローラBとでペアリングが行われたことを、同じグループに所属する他の機器やコントローラに通知する。当該通知は、ステップS1035で共有したグループ鍵を用いて暗号化して、一斉同報通信(マルチキャスト)で送信される。
以上が、機器AとコントローラBとの間で行われる機器登録処理となる。
なお、コントローラAとコントローラBとの間で機器登録処理が行われる場合の処理を図11に示す。コントローラAとコントローラBとの間で機器登録処理は、ステップS1045、S1050、S1055、S1060の処理を行わないことを除いて、機器AとコントローラBとの機器登録処理と同じであり、説明を省略する。
<ネゴシエート処理>
ネゴシエート処理は、異なるグループに所属する機器やコントローラの間でペアリングが発生した場合に行われる、2つのグループを統合した後にいずれのコントローラがSCになるかを決定する処理である。以下、ネゴシエート処理について、図12を参照して説明する。なお、以下では、コントローラAとコントローラBとがネゴシエート処理を行うものとする。
(S1200)コントローラAは、コントローラBにネゴシエート要求を送信する。
(S1205)コントローラA及びコントローラBは、後述する相互認証処理を行う。
(S1210)相互認証処理が正常に終了した場合、コントローラAは、コントローラAの公開鍵証明書と、相互認証処理で取得したコントローラBの公開鍵証明書とから、コントローラの属性を取得する。
(S1215)コントローラAは、コントローラAの属性が「専用機器」であるか否かを判断する。コントローラAの属性が「専用機器」である場合はステップS1235に進み、そうでない場合はステップS1220に進む。
(S1220)コントローラAは、コントローラBの属性が「専用機器」であるか否かを判断する。コントローラBの属性が「専用機器」である場合はステップS1240に進み、そうでない場合はステップS1225に進む。
(S1225)コントローラAは、コントローラAの属性が「汎用機器」であるか否かを判断する。コントローラAの属性が「汎用機器」である場合はステップS1235に進み、そうでない場合はステップS1230に進む。
(S1230)コントローラAは、コントローラBの属性が「汎用機器」であるか否かを判断する。コントローラBの属性が「汎用機器」である場合はステップS1240に進み、そうでない場合はステップS1235に進む。
(S1235)コントローラAは、コントローラAをSCとして決定する。
(S1240)コントローラAは、コントローラBをSCとして決定する。
(S1245)コントローラAは、SCの選定結果をコントローラBに通知する。
(S1250)コントローラA及びコントローラBは、後述するSC引継処理を行う。
以上が、ネゴシエート処理となる。
ネゴシート処理では、公開鍵証明書の項目内の属性のデータを参照して、コントローラが他の機器をコントロールする機能しか持たない「専用機器」であるか、他の機能も持つ「汎用機器」であるか、PCやスマートフォン上で動作する「アプリ」であるかによって、SCになる優先度を変えている。コントローラの属性「専用機器」であれば、どんなときでも迅速に処理が行えるように常に待機する機能を持っていることが考えられる。コントローラの属性が「汎用機器」であれば、家の中に誰もいなくなったときや、就寝中には電源が切られる可能性が考えられる。コントローラの属性が「アプリ」であれば、いつ電源が切られたり、ネットワークから外れたりするか分からない。このため、「専用機器」、「汎用機器」、「アプリ」の順番で、SCになりやすいように優先度を付けている。また、ここでは、両者の属性が同じであった場合は、ネゴシエート処理を依頼した側のコントローラが優先的にSCになる場合を示しているが、ネゴシエート処理の依頼を受けた側のコントローラBが優先的にSCになってもよい。
<SC引継処理>
SC引継処理は、ネゴシエート処理によって新たなSCが決定された後、今までSCであったコントローラが保持していた情報を、新たなSCへと譲渡する処理である。以下、SC引継処理について、図13を参照して、説明する。なお、以下では、新たなにSCとなったコントローラA(新SC)と、今までSCであったコントローラB(旧SC)とがSC引継処理を行うものとする。
(S1300)新SCおよび旧SCは、後述するグループ鍵配信・受信処理を行う。ここでは、旧SCの管理していたグループ鍵を、新SCへ配信する。
(S1305)旧SCは、傘下の機器の情報を新SCへ送信する。具体的には、旧SCのグループに関する情報510の傘下の機器513の機器それぞれについて、接続機器管理テーブル500の機器ID501、証明書ID502、グループ鍵504、グループ鍵有効時間505のデータを送信する。このとき、旧SCは、傘下の機器の公開鍵証明書も併せて送信する。なお、旧SCは、新SCにグループ鍵を送信する場合は、新SCとの間で共有した共有鍵を用いて暗号化して送信する。
(S1310)旧SCは、傘下の機器へ、SCがコントローラBからコントローラAへと変更した旨を通知する。このとき、コントローラAの機器IDや公開鍵証明書も併せて送信する。
(S1315)旧SC傘下の機器は、旧SCからSCの変更通知と機器IDと公開鍵証明書を受信すると、コントローラAをSCとして登録する。具体的には、旧SC傘下の機器は、受信したコントローラAの機器IDを、機器情報保持部820の保持するグループに関する情報910のSC912に登録する。さらに、旧SC傘下の機器は、接続コントローラ管理テーブル900に、受信したコントローラAの機器IDのレコードを追加する。
(S1320)新SCは、ステップS1300のグループ鍵配信・受信処理で受信したグループ鍵、ステップS1305で受信した機器の情報を用いて、機器情報保持部420で保持する接続機器管理テーブル500及びグループに関する情報510を更新する。
(S1325)旧SCは、新SCであるコントローラAをSCとして登録する。具体的には、旧SCは、コントローラAの機器IDを、機器情報保持部420の保持するグループに関する情報510のSC512に設定する。
(S1330)旧SC傘下の機器と新SCは、後述の共有鍵計算処理を行う。なお、共有鍵計算処理のタイミングは、旧SC傘下の機器が新SCをSCとして登録した直後に行ってもよいが、新SCがグループ鍵を更新する前であればいつでもよい。
以上が、SC引継処理となる。
<相互認証処理>
次に、機器又はコントローラとコントローラとの間の相互認証処理について、図14を参照して説明する。なお、以下では、機器とコントローラとの間の相互認証処理について、説明するが、コントローラとコントローラとの間の相互認証処理でも同様の処理を行う。
(S1400)機器からコントローラへ、認証要求を送信する。このとき、機器は、自機の機器ID及び公開鍵証明書も併せて送信する。
(S1405)コントローラは、機器の公開鍵証明書の証明書IDが、認証情報保持部440で保持するCRLに記載されていないことを検証する。検証に失敗した場合、コントローラは、機器にエラーを通知して処理を終了する。
(S1410)コントローラは、証明書IDがCRLに記載されていないことを確認すると、機器の公開鍵証明書の署名を認証局の公開鍵を用いて検証する。検証に失敗した場合、コントローラは、機器にエラーを通知して処理を終了する。署名には、ECDSA(Elliptic Curve Digital Signature Algorithm)RSA、DSA(Digital Signature Algorithm)等の一般的に用いられている方式を利用することが可能である。また、コントローラは、機器の公開鍵証明書の署名の検証に成功すると、接続機器管理テーブル500に、新たなレコードを作成し、相互認証処理の相手となる機器の機器ID及び証明書IDを登録する。
(S1415)コントローラは、機器の公開鍵証明書の署名の検証に成功すると、自機の機器ID及び公開鍵証明書を機器に送信する。
(S1420)機器は、コントローラの公開鍵証明書の証明書IDが、認証情報保持部840で保持するCRLに記載されていないことを検証する。検証に失敗した場合、機器は、コントローラにエラーを通知して処理を終了する。
(S1425)機器は、証明書IDがCRLに記載されていないことを確認すると、コントローラの公開鍵証明書の署名を認証局の公開鍵を用いて検証する。検証に失敗した場合、機器は、コントローラにエラーを通知して処理を終了する。また、機器は、コントローラの公開鍵証明書の署名の検証に成功すると、接続コントローラ管理テーブル900に、新たなレコードを作成し、相互認証処理の相手となるコントローラの機器ID及び証明書IDを登録する。
(S1430)機器及びコントローラは、後述する共有鍵計算処理を行う。
以上が、相互認証処理となる。
<共有鍵計算処理>
次に、機器又はコントローラとコントローラとの間の共有鍵計算処理について、図15を参照して説明する。なお、以下では、機器とコントローラとの間の共有鍵計算処理について、説明するが、コントローラとコントローラとの間の共有鍵計算処理でも同様の処理を行う。
(S1500)機器及びコントローラは、鍵交換を行う。鍵交換の方式は、ECDH(Elliptic Curve Diffie-Hellman key exchange)等の一般的な方式を用いることが可能である。ECDHにはStatic方式と、Ephemeral方式があるが、本実施の形態では、Static方式を用いるものとする。なお、当然ではあるが、Ephemeral方式を用いるとしてもよい。
(S1505)機器及びコントローラは、共有鍵を算出する。具体的には、機器及びコントローラは、ステップS1500の鍵交換で共有した値に対し、ハッシュ値を計算し、計算したハッシュ値の上位128ビットを共有鍵とする。なお、認証システム100では、共有鍵を用いた暗号方式として鍵長128ビットのAES(Advanced Encryption Standard)を用いるものとするが、これに限らず、他の暗号方式を用いてもよい。機器は、算出した共有鍵を、接続コントローラ管理テーブル900の対応するコントローラのレコードの共有鍵903に登録する。コントローラは、算出した共有鍵を、接続機器管理テーブル500の対応する機器のレコードの共有鍵503に登録する。ここで、対応するコントローラ及び対応する機器とは、共有鍵計算処理の相手となる機器及びコントローラのことである。
(S1510、S1515)コントローラは、乱数Aを生成し、機器に送信する。
(S1520)機器は、コントローラから受信した乱数Aを、ステップS1505で算出した共有鍵を用いて暗号化し、暗号化乱数A’を生成する。
(S1525、S1530)機器は、乱数Bを生成し、暗号化乱数A’と乱数Bをコントローラに送信する。
(S1535)コントローラは、機器から受信した暗号化乱数A’をステップS1505で算出した共有鍵を用いて復号し、ステップS1510で生成した乱数Aと一致するか否かの検証を行う。検証に失敗した場合、コントローラは、機器にエラーを通知して処理を終了する。
(S1540、S1545)コントローラは、機器から受信した乱数BをステップS1505で算出した共有鍵を用いて暗号化し、暗号化乱数B’を生成し、機器に送信する。
(S1550)機器は、コントローラから受信した暗号化乱数B’をステップS1505で算出した共有鍵を用いて復号し、ステップS1525で生成した乱数Bと一致するか否かの検証を行う。検証に失敗した場合、機器は、コントローラにエラーを通知して処理を終了する。
(S1555)検証が成功した場合、機器はコントローラに検証成功の結果を通知する。
以上が、共有鍵計算処理となる。
<グループ鍵配信・受信処理>
次に、機器又はSCでないコントローラとSCのコントローラとの間のグループ鍵配信・受信処理について、図16を参照して説明する。なお、以下では、機器とSCのコントローラとの間のグループ鍵配信・受信処理について、説明するが、SCでないコントローラとSCのコントローラとの間で実施してもよい。その場合は、機器をSCでないコントローラに置き換えればよい。
(S1600)コントローラは、グループ鍵を既に生成済みであるか否かを判断する。なお、コントローラは、グループ鍵を既に生成済みである場合、接続機器管理テーブル500の対応する機器のレコードに生成済みのグループ鍵及びグループ鍵の有効時間を登録する。ここで、対応する機器とは、グループ鍵配信・受信処理の相手となる機器のことである。
(S1605、S1610)グループ鍵を既に生成済みでない場合、コントローラは、グループ鍵を生成すると共に、生成したグループ鍵の有効時間を決定する。なお、認証システム100では、グループ鍵を用いた暗号方式として鍵長128ビットのAESを用いるものとするが、これに限らず、他の暗号方式を用いてもよい。コントローラは、接続機器管理テーブル500の対応する機器のレコードに生成したグループ鍵及びグループ鍵の有効時間を登録する。
(S1615、S1620)コントローラは、生成した又は生成済のグループ鍵を、接続機器管理テーブル500の対応する機器のレコードの共有鍵を用いて暗号化し、暗号化グループ鍵を生成し、機器に送信する。
(S1625)機器は、コントローラから受信した暗号化グループ鍵を、接続コントローラ管理テーブル900の対応するコントローラのレコードの共有鍵を用いて復号する。
(S1630)機器は、ステップS1625で復号したグループ鍵を、接続コントローラ管理テーブル900の対応するコントローラのレコードに登録する。
(S1635)機器は、グループ鍵の登録を完了したことをコントローラに通知する。
(S1640)コントローラは、接続機器管理テーブル500の対応する機器のレコードのグループ鍵更新フラグ506に、グループ鍵が更新済みである旨を示す値を登録する。
以上が、グループ鍵配信・受信処理である。
なお、コントローラ間でグループ鍵を共有する場合には、ステップS1615、S1620で、グループ鍵を暗号化して送信するときに、グループ鍵の有効時間も暗号化して送信してもよい。また、暗号化されたグループ鍵の有効時間を受信したコントローラは、接続機器管理テーブル500に受信したグループ鍵の有効時間を登録してもよい。
<グループ鍵更新処理>
次に、SCのコントローラとSC傘下の機器やコントローラとの間のグループ鍵更新処理について、図17を参照して説明する。
(S1700)SCとなったコントローラは、接続機器管理テーブル500のいずれか一つのレコードのグループ鍵有効時間505が、所定値以下になっているか否かを判断する。グループ鍵の有効時間が所定値以下になるまで、以降の処理は実施しない。
(S1705)SCは、接続機器管理テーブル500のいずれか一つレコードのグループ鍵有効時間505が、所定値以下になると、新しいグループ鍵を生成する。
(S1710)SCは、ステップS1705で生成したグループ鍵の有効時間を決定する。有効時間は、例えば、24時間、72時間といった値に決定する。
(S1715)SCは、接続機器管理テーブル500のすべてのレコードのグループ鍵更新フラグ506に、グループ鍵が更新されていない旨を示す値を登録する。
(S1720)SCは、傘下の機器及びコントローラの中からグループ鍵を更新する機器(又はコントローラ)を一つ決定する。
(S1725)SCは、ステップS1705で生成したグループ鍵を、接続機器管理テーブル500のステップS1720で決定した機器(又はコントローラ)のレコードの共有鍵で暗号化して暗号化グループ鍵を生成する。
(S1730)SCは、ステップS1720で決定した機器に、ステップS1725で生成した暗号化グループ鍵を送信し、ステップS1720で決定した機器(又はコントローラ)のグループ鍵を更新する。ステップS1730の処理の詳細は後述する。
(S1735)SCは、傘下の機器及びコントローラの全てのグループ鍵の更新を行ったか否かを判断する。グループ鍵の更新を行っていない機器又はコントローラが存在する場合はステップS1720に戻り、傘下の機器及びコントローラの全てのグループ鍵の更新を行った場合はステップS1740に進む。
(S1740)SCは、ステップS1705で生成したグループ鍵を、接続機器管理テーブル500のすべてのレコードのグループ鍵504に登録する。SCは、決定したグループ鍵の有効時間を、接続機器管理テーブル500のすべてのレコードのグループ鍵有効時間505に登録する。
次に、ステップS1730の処理の詳細について、図18を参照して説明する。なお、以下では、ステップS1720で決定された機器とSCのコントローラとの間の処理について、説明するが、ステップS1720で決定されたコントローラとSCのコントローラとの間で実施してもよい。その場合は、機器をSCでないコントローラに置き換えればよい。
(S1800、S1805)SCは、乱数Aを生成し、グループ鍵更新要求と共に乱数Aを機器に送信する。
(S1810)機器は、SCからグループ鍵更新要求及び乱数Aを受信すると、接続コントローラ管理テーブル900のSCのレコードの共有鍵を用いて乱数Aを暗号化して暗号化乱数A’を生成する。
(S1815、S1820)機器は、乱数Bを生成し、暗号化乱数A’と乱数BをSCに送信する。
(S1825)SCは、機器から受信した暗号化乱数A’を接続機器管理テーブル500の対応する機器のレコードの共有鍵を用いて復号し、ステップS1800で生成した乱数Aと一致するか否かを検証する。検証に失敗した場合、SCは、機器にエラーを通知して処理を終了する。
(S1830、S1835)SCは、接続機器管理テーブル500の対応する機器のレコードの共有鍵を用いて、機器から受信した乱数Bを暗号化して暗号化乱数B’を生成し、機器に送信する。
(S1840)機器は、SCから受信した暗号化乱数B’を接続コントローラ管理テーブル900のSCのレコードの共有鍵を用いて復号し、ステップS1815で生成した乱数Bと一致するか否かを検証する。検証に失敗した場合、機器は、SCにエラーを通知して処理を終了する。
(S1845)検証が成功した場合、機器はSCに検証成功の結果を通知する。
(S1850)SCは、機器から検証成功の結果を受信すると、ステップS1725で生成した暗号化グループ鍵を機器に送信する。
(S1855)機器は、SCから受信した暗号化グループ鍵を、接続コントローラ管理テーブル900のSCのレコードの共有鍵を用いて復号する。
(S1860)機器は、復号したグループ鍵を、接続コントローラ管理テーブル900のすべてのレコードのグループ鍵904に登録する。
(S1865)機器は、グループ鍵の更新完了通知をSCに送信する。
(S1870)SCは、機器からグループ鍵の更新完了通知を受信すると、接続機器管理テーブル500の対応する機器のレコードのグループ鍵更新フラグ506に、グループ鍵が更新済みである旨を示す値を登録する。
以上がグループ鍵更新処理である。
<機器履歴情報送信処理>
次に、ペアリングを行った機器からコントローラへ機器履歴情報を送信する処理について図23を参照して説明する。なお、この機器履歴情報送信処理は、定期的あるいは不定期に行われる。
(S2300)機器は、機器履歴保持部850で保持している機器履歴情報を、接続コントローラ管理テーブル900のグループ鍵で暗号化して、暗号化履歴情報を生成する。
(S2305)機器は、グループに関する情報910の制御コントローラ911に登録されているコントローラに対して、ステップS2300で生成した暗号化履歴情報をコントローラに送信する。
(S2310)コントローラは、ペアリングした機器から暗号化機器履歴情報を受信すると、接続機器管理テーブル500の対応する機器のレコードのグループ鍵を用いて復号する。
以上が機器履歴情報送信処理となる。なお、コントローラは、復号した機器履歴情報を、外部のサーバなどに送信してもよい。
<制御コマンド送信処理>
次に、ペアリングを行ったコントローラから機器へ制御コマンドを送信する処理について図24を参照して説明する。なお、この制御コマンド送信処理は、定期的あるいは不定期に行われる。
(S2400)コントローラは、外部のサーバからの制御依頼などに基づいて、ペアリングした各機器向けの制御コマンドを生成する。
(S2405)コントローラは、生成した各制御コマンドを、接続機器管理テーブル500の対応する機器のレコードのグループ鍵を用いて暗号化して暗号化制御コマンドを生成する。
(S2410)コントローラは、生成した暗号化制御コマンドを、ペアリングした各機器に送信する。コントローラは、複数の機器に対して同一グループ鍵で暗号化された同一の制御コマンドを送信する場合は、一斉同報通信(マルチキャスト通信)で送信する。
(S2415)機器は、ペアリングしたコントローラから暗号化制御コマンドを受信すると、接続コントローラ管理テーブル900のグループ鍵を用いて復号する。
(S2420)機器は、復号した制御コマンドを実行する。
以上が制御コマンド送信処理となる。
<接続機器管理テーブル及びグループに関する情報の更新について>
以上に示した機器登録処理、ネゴシエート処理、SC引継処理、相互認証処理、共有鍵計算処理、グループ鍵配信・受信処理を適宜行うことより、認証システム100のグループ構成は、図2に示す状態から図3に示す状態のようにグループ統合を行いながら動作する。
ここで、HAN内のグループ構成が図2の状態で、コントローラAとコントローラBとが機器登録処理を行い、グループ統合により、図3に示すようなグループ構成になったとする。このときの各コントローラの接続機器管理テーブル500及びグループに関する情報510、並びに、各機器の接続コントローラ管理テーブル900及びグループに関する情報910の更新について、図19−22を参照して説明する。
図19は、グループ統合前のコントローラAの保持する接続機器管理テーブルとグループに関する情報と、グループ統合前のコントローラBの保持する接続機器管理テーブルと情報を示す図である。
図20は、グループ統合前の機器Aの保持する接続コントローラ管理テーブルとグループに関する情報と、グループ統合前の機器Bの保持する接続コントローラ管理テーブルとグループに関する情報を示す図である。
図21は、グループ統合後のコントローラAの保持する接続機器管理テーブルと情報と、グループ統合後のコントローラBの保持する接続機器管理テーブルとグループに関する情報を示す図である。
図22は、グループ統合後の機器Aの保持する接続コントローラ管理テーブルとグループに関する情報と、グループ統合後の機器Bの保持する接続コントローラ管理テーブルとグループに関する情報を示す図である。
図19(a),(b)は、HAN内のグループ構成が図2の状態のときのコントローラAの接続機器管理テーブル500及びグループに関する情報510を示している。図19(c),(d)は、HAN内のグループ構成が図2の状態のときのコントローラBの接続機器管理テーブル500及びグループに関する情報510を示している。図20(a),(b)は、HAN内のグループ構成が図2の状態のときの機器Aの接続コントローラ管理テーブル900及びグループに関する情報910を示している。図20(c),(d)は、HAN内のグループ構成が図2の状態のときの機器Bの接続コントローラ管理テーブル900及びグループに関する情報910を示している。
図21(a),(b)は、SC引継処理後のコントローラAの接続機器管理テーブル500及びグループに関する情報510を示している。図21(c),(d)は、SC引継処理後のコントローラBの接続機器管理テーブル500及びグループに関する情報510を示している。図22(a),(b)は、SC引継処理後の機器Aの接続コントローラ管理テーブル900及びグループに関する情報910を示している。図22(c),(d)は、SC引継処理後の機器Bの接続コントローラ管理テーブル900及びグループに関する情報910を示している。
図19(a)と図21(a)を比較すると、コントローラAの接続機器管理テーブル500には、新たに傘下となったコントローラBのレコード(機器IDが「004」のレコード)と機器Bのレコード(機器IDが「002」のレコード)が追加されている。コントローラBのレコードは、コントローラAとコントローラBのネゴシエート処理において、コントローラAとコントローラBとが相互認証を行ったときに、追加されたレコードである(図12:ステップS1205及び図14:ステップS1410、S1425参照)。機器Bのレコードは、コントローラB(旧SC)からコントローラA(新SC)のSC引継処理において、旧SCから通知された機器の情報を登録したときに追加されたレコードである(図13:ステップS1320、ステップS1330参照)。
図19(b)と図21(b)を比較すると、コントローラAのグループに関する情報510の傘下の機器513には、新たに傘下になったコントローラBと機器Bの機器IDが追加されている。この追加は、コントローラB(旧SC)からコントローラA(新SC)のSC引継処理において、旧SCから通知された機器及び旧SCを傘下の機器として登録したときになされたものである(図13:ステップS1320参照)。
図19(c)と図21(c)を比較すると、コントローラBの接続機器管理テーブル500には、新たにSCとなったコントローラAのレコード(機器IDが「003」のレコード)が追加されている。コントローラAのレコードは、コントローラAとコントローラBのネゴシエート処理において、コントローラAとコントローラBとが相互認証を行ったときに、追加されたレコードである(図12:ステップS1205及び図14:ステップS1410、S1425参照)。なお、図21(c)において、コントローラBの接続機器管理テーブル500のグループ鍵有効時間505及びグループ鍵更新フラグ506の値が「−」となっているのは、コントローラBがSCではなくなり、管理する必要のない情報であることを示している。
図19(d)と図21(d)を比較すると、コントローラBのグループに関する情報510のSC512が、コントローラBの機器IDからコントローラAの機器IDに変更している。この変更は、コントローラB(旧SC)からコントローラA(新SC)のSC引継処理において、新SCを登録したときになされたものである(図13:ステップS1325参照)。なお、図21(d)において、コントローラBのグループに関する情報510の傘下の機器513の値が「−」となっているのは、コントローラBがSCではなくなり、管理する必要のない情報であることを示している。
図20(a),(b)と図22(a),(b)を比較すると、機器Aの接続コントローラ管理テーブル900及びグループに関する情報910に変更はない。これは、今回のグループ統合によっては、機器AのSCがされなかったことを意味している。
図20(c),(d)と図22(c),(d)を比較すると、機器Bの接続コントローラ管理テーブル900に、新たにSCとなったコントローラAの機器IDのレコードが追加され、グループに関する情報910のSC912が旧SCであるコントローラBの機器IDから新SCであるコントローラの機器IDに変更されている。この変更は、コントローラB(旧SC)からコントローラA(新SC)のSC引継処理において、旧SCの傘下であった機器Bが旧SCからSCの変更通知を受信した後に、コントローラAを新SCとして登録したときになされたものである(図13:ステップS1315、S1330参照)。
以上図19−22で示したように、各コントローラの接続機器管理テーブル500及びグループに関する情報510、並びに、各機器の接続コントローラ管理テーブル900及びグループに関する情報910が更新される。
<新規コントローラ参入の流れ>
ここでは、HAN内の全ての機器及びコントローラがペアリングされていない状態から、上記機器登録処理、ネゴシエート処理、SC引継処理、相互認証処理、共有鍵計算処理、グループ鍵配信・受信処理、グループ鍵更新処理を行うことにより、グループが構築され、さらに、新規コントローラがグループに参入したときの流れについて説明する。
まず、HAN内に、いずれの機器及びコントローラともペアリングされていないコントローラA、機器Aが存在するとする。この状態において、コントローラAのSCはコントローラAが設定しており、機器Aには、SCが設定されていない状態である。
ユーザによるコントローラAと機器Aとのペアリング操作により、コントローラAと機器Bとの間で上述の図10に示す機器登録処理が行われる。
この機器登録処理では、機器AにはSCが設定されていないことから、ネゴシエート処理を行わずに、コントローラAのSCとして設定されているコントローラAが新たなSCとして、機器Aに通知される(ステップS1010、S1020参照)。
機器Aでは、SCが新たに登録されることによって、SCとの認証が必要になり、SCであるコントローラAとの相互認証処理を行う(ステップS1025、S1030参照)。この機器AとコントローラAとの相互認証処理を第1の相互認証と呼ぶ。
第1の相互認証の後、機器AとコントローラAとが、グループ鍵配信・受信処理を行って機器AとコントローラAとの間でグループ鍵が共有される(ステップS1035参照)。このときに共有されるグループ鍵を第1のグループ鍵と呼ぶ。
そして、機器AがコントローラAの傘下に参入し、機器AとコントローラAとからなるグループが形成される(ステップS1040参照)。この後、第1のグループ鍵の有効時間が所定値以下になる度に、コントローラAは、図17,18に示すグループ鍵更新処理を行い、グループ内で共有されているグループ鍵である第1のグループ鍵を更新する。
この状態で、新たにいずれの機器ともペアリングされていないコントローラBがHANに接続されたとする。この時、コントローラBのSCとしてはコントローラBが設定されている。
ユーザによるコントローラAとコントローラBとのペアリング操作により、コントローラAとコントローラBとの間で図11に示す機器登録処理が行われる。
この機器登録処理では、コントローラAに設定されているSCと、コントローラBに設定されているSCが異なることから、コントローラAのSCとコントローラBのSCとの間でネゴシエート処理が発生する(ステップS1110、S1115参照)。この場合、コントローラAとコントローラBがネゴシエート処理を行う。
ネゴシエート処理では、コントローラAとコントローラBとの間で相互認証処理が行われる(図12:ステップS1205参照)。このコントローラAとコントローラBとの間で行われる相互認証処理を、第2の相互認証と呼ぶ。
第2の相互認証のあと、コントローラAとコントローラBのうちどちらがSCとなるかが決定される。
コントローラBがSCとなると、コントローラAからコントローラBへのSC引継処理が行われる。SC引継処理では、旧SCであるコントローラAが生成した第1のグループ鍵を、旧SCであるコントローラAと新SCであるコントローラBとが共有するグループ鍵配信・受信処理が行われる(図13:ステップS1300参照)。
この時、コントローラAとコントローラBと機器Aとでは、コントローラAが生成したグループ鍵である第1のグループ鍵が共有されており、新SCによるグループ鍵更新処理が行われるまでは、コントローラAとコントローラBと機器Aとは、第1のグループ鍵を用いた暗号通信を行うことが可能である。
第1のグループ鍵の有効時間が所定値以下になると、図17、18に示すグループ鍵更新処理が行われる。グループ鍵更新処理では、SCであるコントローラBがグループ鍵を生成する。このグループ鍵を第2のグループ鍵と呼ぶ(図17:ステップS1705参照)。そして、コントローラBは、傘下の機器であるコントローラAと機器Aそれぞれに対して、共有鍵と乱数を用いた相互認証を行う(図18:ステップS1800−S1845参照)。この共有鍵と乱数を用いた相互認証を第3の相互認証と呼ぶ。
コントローラBは、第3の相互認証に成功したコントローラAと機器Aと第2のグループ鍵を共有する。
以上のように、グループに新たに参入したコントローラにSCが引き継がれ、新SCによりグループ鍵が更新される場合には、第1の相互認証、第2の相互認証、第3の相互認証が行われることになる。
<実施の形態1の効果>
実施の形態1では、コントローラと機器でグループを形成し、1つのグループの中に複数のコントローラが含まれる状態になるときに、複数のコントローラ間でネゴシエート処理を行う。各コントローラは、公開鍵証明書に記載されたコントローラの属性を用いて、ネゴシエートすることで、電源断やネットワーク未接続の状態が発生しにくいコントローラを優先的にSCとして決定することができる。これにより、新しい機器やコントローラがグループに参入するときにも、グループ鍵を更新する必要が生じたときにも、グループ内で迅速にグループ鍵を共有できる。
また、実施の形態1では、コントローラ間でSCを変更した際に、旧SCから新SCへのSC引継処理を行って、旧SCが傘下の機器と行った認証結果を新SCが引き継いでいる。これにより、新SCと旧SCの傘下の機器との間における公開鍵証明書を用いた認証を省略することができる。その結果、機器やコントローラの処理負担を少なくすることができる。
さらに、実施の形態1では、コントローラ間でSCを変更した際に、旧SCから新SCに、旧SCの生成したグループ鍵を送信している。これにより、新SCは、新SCの生成したグループ鍵を配信する前であっても、旧SCの生成したグループ鍵を用いて、旧SCの傘下の機器に対する一斉同報通信を暗号化して行うことができる。
(変形例)
以上、本開示に係る認証方法を用いた認証システムについて、実施の形態に基づき説明したが、以下のように変形することも可能であり、本開示は上述した実施の形態で示した通りの認証システムに限られない。
<1>実施の形態1で示したSC引継処理は、以下に示すように変形してもよい。
図25は、SC引継処理の変形例を示す図である。
ステップS2500、S2505、S2510、S2520、S2525、S2535の処理は、実施の形態1のSC引継処理におけるステップS1300、S1305、S1310、S1320、S1325、S1330の処理と同様であり説明を省略する。
(S2515)旧SCであるコントローラBは、傘下の機器及び新SCであるコントローラAに、登録モードの起動指示を送信する。
(S2530)コントローラAと旧SCの傘下の機器は、コントローラBから登録モードの起動指示を受信すると、登録モードを起動する。
(S2535)コントローラAは、旧SCの傘下の各機器と順次、機器登録処理を行う。機器登録処理は、図10のステップS1005〜S1065と同様の処理であり、ここでの説明は省略する。
図25に示すSC引継処理は、SCが変更された場合に、旧SCから傘下の機器及び新SCへ登録モードの起動指示を送信し、新SCと旧SC傘下の機器が登録モードを起動する。これにより、ユーザが手動で登録モードを起動せずとも、旧SC傘下の機器と新SCとで機器登録処理を行うことができ、ユーザの利便性が向上する。
<2>実施の形態1のSC引継処理において、旧SCは、傘下の機器の情報を新SCに通知する際に、傘下の機器それぞれの公開鍵証明書も新SCに送信するものとした。しかしながら、本開示はこれに限らず、旧SCが傘下の機器それぞれの公開鍵証明書を新SCに送信するのではなく、旧SCからSCの変更通知を受けた傘下の機器それぞれが、自機が保持する公開鍵証明書を、新SCに送信するものとしてもよい。この場合、旧SCの傘下の機器それぞれは、旧SCが生成したグループ鍵を用いて、公開鍵証明書を暗号化して、新SCに送信してもよい。
<3>実施の形態1のネゴシエート処理は、公開鍵証明書に記載の機器の属性として、コントローラの機能による分類が記載され、その分類項目(「専用機器」、「汎用機器」、「アプリ」)によって、SCになるコントローラを決定すると説明した。しかしながら、本開示のネゴシエート処理は、これに限定されるものではない。例えば、公開鍵証明書に記載の機器の属性として、通信方式や認証方式などのバージョン情報が記載され、ネゴシエート処理を行うコントローラのなかで、通信方式や認証方式などのバージョン情報として最新のバージョン番号が記載された公開鍵証明書を持つコントローラをSCとして決定してもよい。また、対応機器や対応機能が多いことを示すバージョン情報を持つコントローラをSCとして決定してもよい。これにより、最新の機能を持ったコントローラや対応機器や対応機能が多いコントローラをSCとして決定することができる。
また、公開鍵証明書に記載の機器の属性として、コントローラとペアリング可能な機器の最大数が記載され、ネゴシエート処理を行うコントローラの中でその最大数が一番大きいコントローラをSCとして決定してもよい。これにより、より多くの機器とペアリング可能なコントローラをSCとして決定することができる。
また、公開鍵証明書に記載の機器の属性として、コントローラが対応している通信機能の種類(有線、専用無線、汎用無線、近距離無線)が記載され、その種類によってSCとなるコントローラを決定してもよい。この時、例えば「有線」、「専用無線」、「汎用無線」、「近距離無線」の順番で、SCになりやすいように優先度を設定してもよい。この順番は、HANに接続している可能性が高い(HANに接続していない状態となる頻度が低い)通信に対応しているコントローラが、SCになりやすい順番である。これにより、SCが必要とされるときに、HANに接続している可能性が高いコントローラをSCとして決定することができる。
また、公開鍵証明書に記載の機器の属性として、電源の種類(常時通電、定期通電、短期通電)が記載され、その種類によってSCとなるコントローラを決定してもよい。この時、「常時通電」、「定期通電」、「短期通電」の順番で、SCになりやすい優先度を設定してもよい。この順番は、動作している可能性が高い(電源OFFとなる頻度が低い)コントローラが、SCになりやすい順番である。これにより、SCが必要とされているときに動作している可能性が高いコントローラをSCとして決定することができる。ここで、「常時通電」の機器とは、機器制御用の専用コントローラやログ収集装置、分電盤、ブレーカー、冷蔵庫、エアコン、太陽光発電装置、蓄電池(バッテリー)、電話機、ブロードバンドルータ、終端装置等の常時通電している必要のある機器である。「定期通電」の機器とは、TVや録画装置、オーディオ機器、天井灯等の機器である。「短期通電」の機器とは、電子レンジ、オーブン、洗濯機、掃除機、炊飯器等の機器である。
また、公開鍵証明書に記載の機器の属性として、使用形態(据え置き(固定)、据え置き(移動可)、持ち運び、身につける)が記載され、その形態によってSCになるコントローラを決定してもよい。この時、例えば「据え置き(固定)」、「据え置き(移動可)」、「持ち運び」、「身につける」の順番で、SCになりやすいように優先度を設定してもよい。この順番は、移動させやすいコントローラほどSCになりにくい順番である。移動しない機器であれば、通信環境が変化することも少なく、通信が途中で切れる可能性が低いと考えられる。また、移動しない機器は、電源の確保も容易である。従って、通信が途中で途切れにくく、電源の確保が容易なコントローラをSCとして決定することができる。
さらに、公開鍵証明書に記載の機器の属性によりSCを決めるのではなく、その時の機器の状況によりSCを決定してもよい。例えば、ネゴシエート処理をするときに、そのコントローラとペアリングしている機器の数が一番多いコントローラがSCになるとしてもよい。これにより、SCが変わることにより再認証の必要が生じる機器の台数を減らすことができる。また、稼働時間が一番短いコントローラがSCになるとしてもよいし、製造年月日が一番新しいコントローラがSCになるとしてもよい。これにより、SCの故障により認証処理ができなくなる可能性を減らすことが可能となる。
また、上記の基準を組み合わせて、セキュリティコーディネータを決めてもよい。
<4>実施の形態1におけるネゴシエート処理は、コントローラにより自動で実施するものとして説明した。しかしながら、本開示のネゴシエート処理は、コントローラがユーザへSCの候補となるコントローラを提示し、ユーザが提示された候補の中からSCとなるコントローラを選択するとしてもよい。この時、SCになれるコントローラ全てを候補として提示してもよいし、実施の形態1や変形例<3>に示す基準で選択したコントローラが複数になったときに、それらを候補として提示してもよい。
図26は、本変形例におけるコントローラの表示部での表示例である。図26においては、SCの候補となるコントローラが2つあり、それぞれに異なる家電が登録されている様子を示している。また、2つのコントローラそれぞれの公開鍵証明書に記載された機器の属性(コントローラの機能による分類、通信方式や認証方式などのバージョン情報、製造年月日、稼働時間)が表示されている。ユーザは、提示された情報に応じてSCとなるコントローラを決定する。ここで、ユーザの決定は、例えば、決定したコントローラの画面内の絵をタッチする、それぞれのコントローラに付けられた番号(1や2)を入力装置から入力する、又は、コントローラの識別記号(AやB)を入力装置から入力する、といった方法により入力される。入力装置は、ユーザからの意思をコントローラへ伝えることができる装置であればよく、物理的なキー入力装置、タッチパネル上に提示されるアイコン、音声により指示を与える装置、ジェスチャーにより指示を与える装置、視線によって指示を与える装置であってもよい。
<5>実施の形態1では、ステップS1510〜S1555で乱数を暗号化して共有鍵を検証するチャレンジレスポンス認証を行っているが、これに限定するわけではなく、RFC5191に記載されている認証方式を用いて、認証を行うとしてもよい。RFC5191は非特許文献3に記載されているためここでは述べない。このとき、RFC5191においてEAP−PSKを用いるとしてもよい。また、グループ鍵はEAP−PSKのネゴシエーションの結果導出されるEMSKを用いて導出するとしてもよい。さらに、鍵導出関数はHMAC_SHA2_256を用いてもよい。
<6>実施の形態1では、S1510〜S1555で乱数を暗号化して共有鍵を検証するチャレンジレスポンス認証を行っているが、これに限定するわけではなく、RFC6347に記載されている認証方式を用いて、認証を行うとしてもよい。RFC6347は非特許文献4に記載されているためここでは述べない。
<7>上記実施の形態では、グループへのコントローラの新規参入時に、新規参入するコントローラとグループ内の既存のコントローラとが登録モードを起動して、機器登録処理を行っているが、本開示はこれに限定されるものではない。例えば、以下であってもよい。コントローラの新規参入時に、新規参入するコントローラとグループ内の機器とが登録モードを起動する。このとき、機器は接続コントローラ管理テーブルを参照して、機器のSCとして設定されているコントローラの情報を新規参入するコントローラへ送信する。新規参入するコントローラはSCの情報を受信し、SCと認証することにより参入が可能となる。これにより、グループのSCが家庭内で離れた場所にあったとしても、SC傘下の機器の登録モードを起動することで、SCと新規参入するコントローラとが認証することが可能となる。
<8>コントローラは、接続する機器の消費電力量や蓄電池の電力量、太陽光発電の発電量を表示するとしてもよい。
<9>コントローラは、家庭に設置される分電盤であってもよい。
<10>実施の形態1では、グループ鍵更新処理において、SCとなったコントローラがグループ鍵の有効時間を管理し、各機器へグループ鍵更新通知を送信しているが、SCとなったコントローラから各機器にグループ鍵の有効時間を通知し、各機器がグループ鍵の有効時間を管理し、各機器からSCとなったコントローラへグループ鍵更新通知を送信してもよい。
<11>実施の形態1では、グループ鍵の有効時間を残り時間で管理しているが、これに限定するものではなく、グループ鍵の生成時刻やグループ鍵の有効期間の終了時刻で管理するとしてもよい。グループ鍵の生成時刻で管理する場合、グループ鍵の有効期間の長さを別途記憶し、現在の時刻と、グループ鍵の生成時刻にグループ鍵の有効期間を追加した時刻とを比較し、グループ鍵を更新するか否かを判断する。また、グループ鍵の有効期間の終了時刻で管理する場合、現在の時刻とグループ鍵の有効時間の終了時刻とを比較し、グループ鍵を更新するかを判断する。
<12>実施の形態1では、グループ鍵更新処理においてグループ鍵未更新の機器が存在した場合、グループ鍵更新通知を送信し、グループ鍵の更新を行っているが、当該機器の電源が入っていない場合には、定期的にグループ鍵更新通知を送信するとしてもよい。
<13>実施の形態1では、グループ鍵更新処理においてグループ鍵未更新の機器が存在した場合、グループ鍵更新通知を送信し、グループ鍵の更新を行っているが、当該機器がペアリングされたコントローラによる制御を受けている場合は、当該機器からグループ鍵の延期時間を通知して、当該延期時間の経過後にグループ鍵更新処理を行うとしてもよい。
<14>実施の形態1では、SC引継処理時、SCの変更通知の後に、新SCと旧SC傘下の機器とで共有鍵を計算(S1330)しているが、グループ鍵有効時間が切れてグループ鍵更新処理が行われる前であればどのタイミングで行ってもよい。たとえば、機器の動作が行われていない時にするとしてもよいし、グループ鍵更新処理の直前に行うとしてもよい。これにより、機器の動作に負担をかけずにコントローラと機器間で共有鍵の計算ができる。
<15>実施の形態1では、ネゴシエート処理時にコントローラAがSCの判断(ステップS1210−S1240)をしているが、これに限定するわけではなく、コントローラAとコントローラBのそれぞれがSCの判断を行ってもよい。
<16>ペアリングを行った機器からコントローラへ機器履歴情報を送信する場合や、コントローラから機器へ制御コマンドを送信する場合など、機器やコントローラがメッセージを送信する場合、HAN内のすべての機器やコントローラへ一斉同報送信する(マルチキャスト通信を行う)ことを考える。このとき、機器履歴情報や制御コマンドのみを暗号化して送信すると、マルチキャストで送信する機器やコントローラに成りすましが可能となる場合がある。すなわち、不正な機器によりメッセージのヘッダや送信元アドレスや送信先アドレスが改ざんされる可能性がある。そこで、機器履歴情報や制御コマンドだけでなく、メッセージのヘッダや送信元アドレスや送信先アドレスも含めて、MAC(Message Authentication Code)などの認証用データを生成し、生成した認証用データを含めてメッセージを送信することで、グループ鍵を持たない第三者の成りすましを防止できる。例えば、第三者が送信元アドレスや送信先アドレスを他のコントローラや機器のアドレスに改ざんしたとしても、認証用データを検証することで改ざんを検出できる。
図27(a)は、暗号化前のメッセージフォーマットである。メッセージは、ヘッダ、送信元アドレス、送信先アドレス、送信データから構成される。ヘッダには、制御コマンドや機器履歴情報などの送信データが複数のパケットに分割される場合に付与されるフラグメントのフラグやフラグメントの番号などが含まれる。また、ヘッダには、機器履歴情報や制御コマンドなどの送信データがグループ鍵を用いて暗号化されている旨の情報が含まれていてもよい。送信元アドレスは、メッセージを送信する機器またはコントローラのアドレスであり、例えば、IP(Internet Protocol)アドレスやMAC(Media Access Control)アドレスなどの機器やコントローラを識別できる情報が含まれる。送信先アドレスは、メッセージを受信する機器またはコントローラのアドレスであり、例えば、IPアドレスやMACアドレスなどの機器やコントローラを識別できる情報が含まれる。送信先アドレスは、一斉同報通信(マルチキャスト送信)の場合、マルチキャストアドレスが含まれる。送信データは、機器履歴情報や制御コマンドやSCの変更通知などの送信データが含まれる。
図に示すように、送信データが暗号化の対象となり、ヘッダと送信元アドレスと送信先アドレスと送信データが認証用データ(MAC)の対象となる。すなわち、機器又はコントローラは、グループ鍵を鍵として用い、送信データを平文として暗号化を行う。また、機器又はコントローラは、グループ鍵を鍵として用い、ヘッダと送信元アドレスと送信先アドレスと暗号化される前の送信データとを平文として認証用データを生成する。このとき、暗号化は、AESで暗号化し、認証用データは、AESのCBC−MAC(Cipher Block Chaining MAC)やCMAC(Cipher-based MAC)、HMAC(Hash-based MAC)で生成するとしてもよい。また、暗号化と認証用データの生成を、AES−CCM(Counter with CBC MAC)やAES−GCM(Galois/Counter Mode)などの認証付暗号化で行うとしてもよい。認証付暗号化を行う場合でも、暗号化は制御コマンドを平文として用い、認証用データの生成は、ヘッダと送信元アドレスと送信先アドレスと暗号化される前の送信データとを平文として用いるとしてもよい。
図27(b)は、暗号化後のメッセージフォーマットである。暗号化後のメッセージにおける認証付暗号化データは、暗号化した送信データと認証用データとを結合したデータである。
機器からコントローラへ機器履歴情報を一斉同報送信する処理について図28を参照して説明する。
(S2800)機器は、ペアリングした各コントローラへ送信するメッセージを生成する。具体的には、機器は、まず、メッセージのヘッダと送信元アドレスと送信先アドレスとの設定を行う。そして、接続コントローラ管理テーブル900のグループ鍵を鍵として用い、機器履歴保持部850で保持している機器履歴情報を平文として暗号化し、設定したヘッダと送信元アドレスと送信先アドレスと暗号化される前の機器履歴情報とを平文として認証用データの生成を行う。そして、暗号化した機器履歴情報と生成した認証用データを連結して認証付暗号化データを生成する。
(S2805)機器は、生成したメッセージを、ペアリングした各コントローラに一斉同報送信する。
(S2810)コントローラは、ペアリングした機器からメッセージを受信すると、接続機器管理テーブル500の対応する機器のレコードのグループ鍵を用いて暗号化された機器履歴情報の復号及び認証用データの検証を行う。コントローラは、認証用データの検証に成功した場合に、例えば、復号した機器履歴情報を外部のサーバへの送信などを行う。
次に、コントローラから機器へ制御コマンドを一斉同報送信する処理について図29を参照して説明する。
(S2900)コントローラは、外部のサーバからの制御依頼などに基づいて、ペアリングした各機器向けの制御コマンドを生成する。
(S2905)コントローラは、ペアリングした各機器へ送信するメッセージを生成する。具体的には、コントローラは、まず、メッセージのヘッダと送信元アドレスと送信先アドレスとの設定を行う。そして、接続機器管理テーブル500の対応する機器のレコードのグループ鍵を鍵として用い、生成した制御コマンドを平文として暗号化し、設定したヘッダと送信元アドレスと送信先アドレスと暗号化される前の制御コマンドとを平文として認証用データの生成を行う。そして、暗号化した制御コマンドと生成した認証用データを連結して認証付暗号化データを生成する。
(S2910)コントローラは、生成したメッセージを、ペアリングした各機器に一斉同報送信する。
(S2915)機器は、ペアリングしたコントローラからメッセージを受信すると、接続コントローラ管理テーブル900のグループ鍵を用いて、暗号化された制御コマンドの復号及び認証用データの検証を行う。
(S2920)機器は、認証用データの検証に成功した場合、復号した制御コマンドを実行する。
上記機器履歴情報や制御コマンドの送信において、送信データの暗号化及び認証用データの生成を行うが、実施の形態1で示したSC引継処理におけるS1310のSCの変更通知も同様に暗号化及び認証用データの生成を行ってもよい。また、SCの変更通知に関しては、暗号化は行わず、認証用データの生成のみを行ってもよい。このとき、認証用データは、グループ鍵を鍵として用い、メッセージのヘッダと送信元アドレスと送信先アドレスと通知情報を平文として生成される。通知情報は、SCが変更された旨や変更後のSCを示す情報などを含む。そして、メッセージは、通知情報と認証用データとを含んで送信される。これにより、旧SCがSCの変更通知に認証用データを付加して送信し、受信した機器やコントローラが認証用データを検証することで、SCの変更通知が改ざんされていないことが保証でき、SCの変更を確実に行うことができる。
なお、機器履歴情報、制御コマンド、通知などのメッセージの種別によって、暗号化を行うか、認証用データの生成を行うかを決定してもよい。これにより、メッセージを受信した機器やコントローラにおける処理を軽くすることができる。
なお、コントローラから機器への制御コマンドが複数の制御コマンドから構成される場合、複数の制御コマンドを複数のメッセージとして送信するとしてもよい。このとき、複数のメッセージのヘッダにフラグメントのフラグやフラグメントの番号を付与して送信するとしてもよい。また、メッセージを受信した機器は、ヘッダにフラグメントのフラグが立っている場合、制御コマンドが複数のメッセージから構成されるため、複数のメッセージを受信してから制御コマンドを実行するとしてもよい。このとき、すべてのメッセージで認証用データの生成を実施している場合、複数のメッセージのうちいずれかの認証用データの検証が成功しなかった場合、制御コマンドを実行しないとしてもよい。また、複数のメッセージのうち認証用データの検証が成功しなかった場合、以降のフラグメントフラグのついた複数のメッセージについて、認証用データの検証をせずにメッセージを破棄するとしてもよい。これにより、受信した機器の処理を軽くすることができる。
また、すべてのメッセージには認証用データの生成を行わない場合、すべてのメッセージのヘッダや送信元アドレス送信先アドレスおよび制御コマンドを結合したものを平文として認証用データを生成し、最後のメッセージに認証用データを付与するとしてもよい。これにより、認証用データの検証を1回するだけで、すべてのメッセージの完全性を検証することができ、受信した機器の処理を軽くすることができる。
<17>上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
<18>上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又はすべてを含むように1チップ化されてもよい。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
<19>上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
<20>本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
<21>上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
(補足)
以下、さらに、本開示の構成について補足説明する。
<A>本開示の一態様の認証方法は、ネットワーク上の1以上の機器と2以上のコントローラとが所属するグループにおける認証方法であって、前記グループ内の少なくとも1つのコントローラが、前記グループ内で共通で利用するグループ鍵を管理するコーディネータを、前記グループ内のコントローラの中から各コントローラの属性に応じて決定し、前記コーディネータが、グループ鍵を生成し、前記グループ内の機器およびコントローラと相互認証を実行し、認証に成功した機器およびコントローラと前記生成したグループ鍵を共有し、前記コーディネータが、前記グループ鍵を用いて送信データを暗号化して暗号化データを生成し、前記グループ鍵を用いてヘッダと送信元アドレスと送信先アドレスと前記送信データとから認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該暗号化データと当該認証用データとを含むメッセージの一斉同報通信を行うことを特徴とする。
<B>本開示の一態様の認証方法は、上記態様Aにおいて、前記送信データは制御コマンドであって、前記メッセージを受信した機器が、前記グループ鍵を用いて前記暗号化データの復号及び前記認証用データの検証を行い、検証に成功した場合、復号された制御コマンドを実行するとしてもよい。
<C>本開示の一態様の認証方法は、上記態様Aにおいて、前記暗号化データ及び前記認証用データをAES−CCMで生成するとしてもよい。
<D>本開示の一態様の認証方法は、ネットワーク上の1以上の機器と第1のコントローラとが所属するグループにおける認証方法であって、前記第1のコントローラが、第1のグループ鍵を生成し、前記グループ内の機器と第1の相互認証を実行し、認証に成功した機器と前記第1のグループ鍵を共有し、前記グループに新たに第2のコントローラが参入した場合、前記グループ内の少なくとも1つのコントローラが、前記グループ内で共通で利用するグループ鍵を管理するコーディネータを、前記グループ内のコントローラの中から各コントローラの属性に応じて決定し、前記第1のコントローラが、前記コーディネータと第2の相互認証を実行し、認証に成功した場合に前記第1のグループ鍵を共有し、前記第1のコントローラが、前記第1のグループ鍵を用いてヘッダと送信元アドレスと送信先アドレスとコーディネータの変更を通知するための通知情報とから認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該通知情報と当該認証用データとを含む変更通知の一斉同報通信を行い、前記コーディネータが、第2のグループ鍵を生成し、前記グループ内の機器およびコントローラと第3の相互認証を実行し、認証に成功した機器およびコントローラのグループ鍵を前記第2のグループ鍵に更新させることを特徴とする。
<E>本開示の一態様の認証方法は、上記態様Bにおいて、前記コーディネータが、前記第1のグループ鍵を用いて送信データを暗号化して当該暗号化データを生成し、前記第1のグループ鍵を用いてヘッダと送信元アドレスと送信先アドレスと前記送信データとから認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該暗号化データと当該認証用データとを含むメッセージの一斉同報通信を行うとしてもよい。
<F>本開示の一態様の認証方法は、上記態様Dにおいて、前記コーディネータが、前記第2のグループ鍵を用いて送信データを暗号化して当該暗号化データを生成し、前記第2のグループ鍵を用いてヘッダと送信元アドレスと送信先アドレスと前記送信データとから認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該暗号化データと当該認証用データとを含むメッセージの一斉同報通信を行うとしてもよい。
<G>本開示の一態様のコントローラは、ネットワーク上の1以上の機器と2以上のコントローラとが所属するグループ内のコントローラであって、前記グループ内で共通で利用するグループ鍵を管理するコーディネータを、前記グループ内のコントローラの中から各コントローラの属性に応じて決定するネゴシエータと、自機器が前記コーディネータと決定された場合に、グループ鍵を生成し、前記グループ内の機器およびコントローラと相互認証を実行し、認証に成功した機器およびコントローラと前記生成したグループ鍵を共有する認証処理部とを備え、自機器が前記コーディネータと決定された場合、前記グループ鍵を用いて送信データを暗号化して暗号化データを生成し、前記グループ鍵を用いてヘッダと送信元アドレスと送信先アドレスと前記送信データとから認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該暗号化データと当該認証用データとを含むメッセージの一斉同報通信を行うことを特徴とする。
<H>本開示の一態様のコントローラは、接続部とネゴシエータと認証処理部を備えるコントローラであって、前記接続部は、ネットワーク上の1以上の機器と1以上の他コントローラとが所属するグループであって、前記他コントローラの中の一コントローラが、第1のグループ鍵を生成し、前記グループ内の機器と第1の相互認証を実行し、認証に成功した機器と前記第1のグループ鍵を共有しているグループに接続し、前記ネゴシエータは、前記グループ内で共通で利用するグループ鍵を管理するコーディネータを、前記グループ内のコントローラの中から各コントローラの属性に応じて決定し、前記認証処理部は、前記一コントローラと第2の相互認証を実行し、認証に成功した場合に前記第1のグループ鍵を受信し、前記第1のグループ鍵を用いて第1の送信データを暗号化して第1の暗号化データを生成し、前記第1のグループ鍵を用いてヘッダと送信元アドレスと送信先アドレスと前記第1の送信データとから第1の認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該第1の暗号化データと当該第1の認証用データとを含むメッセージの一斉同報通信を行い、自機器がコーディネータと決定された場合、第2のグループ鍵を生成し、前記一コントローラから前記グループ内の機器の認証情報を受信し、受信した認証情報を用いて前記グループ内の機器およびコントローラと第3の相互認証を実行し、認証に成功した機器およびコントローラのグループ鍵を前記第2のグループ鍵に更新させ、前記第2のグループ鍵を用いて第2の送信データを暗号化して第2の暗号化データを生成し、前記第2のグループ鍵を用いてヘッダと送信元アドレスと送信先アドレスと前記第2の送信データとから第2の認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該第2の暗号化データと当該第2の認証用データとを含むメッセージの一斉同報通信を行うことを特徴とする。
<I>本開示の一態様のコントローラは、認証処理部とネゴシエータとを備え、ネットワーク上の1以上の機器と1以上のコントローラとが所属するグループ内のコントローラであって、前記認証処理部は、第1のグループ鍵を生成し、前記グループ内の機器と第1の相互認証を実行し、認証に成功した機器と前記第1のグループ鍵を共有し、他コントローラが前記グループに新たに参入した場合において、前記ネゴシエータは、前記グループ内で共通で利用するグループ鍵を管理するコーディネータを、前記グループ内のコントローラの中から各コントローラの属性に応じて決定し、前記認証処理部は、前記コーディネータと第2の相互認証を実行し、認証に成功した場合に前記第1のグループ鍵を共有し、前記第1のグループ鍵を用いてヘッダと送信元アドレスと送信先アドレスとコーディネータの変更を通知するための通知情報とから当該認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該通知情報と当該認証用データとを含む変更通知の一斉同報通信を行い、前記コーディネータに、前記グループ内の機器の認証情報を送信し、前記コーディネータと第3の相互認証を行い、認証に成功した場合に第2のグループ鍵を受信し、保持するグループ鍵を受信した第2のグループ鍵に更新することを特徴とする。
<J>本開示の一態様の認証システムは、ネットワーク上のグループに所属する1以上の機器と2以上のコントローラとからなる認証システムであって、前記グループ内のコントローラが、各コントローラの属性に応じて、前記グループ内で共通で利用するグループ鍵を管理するコーディネータを、前記グループ内のコントローラの中から決定し、前記コーディネータが、グループ鍵を生成し、前記コーディネータが、各前記機器および各前記コントローラと相互認証を実行し、前記コーディネータが、相互認証に成功した機器およびコントローラと生成したグループ鍵を共有し、前記コーディネータが、前記グループ鍵を用いて送信データを暗号化して暗号化データを生成し、前記グループ鍵を用いてヘッダと送信元アドレスと送信先アドレスと前記送信データとから認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該暗号化データと当該認証用データとを含むメッセージの一斉同報通信を行うことを特徴とする。
本開示は、HAN等のネットワーク内に構成されたグループ内に複数のコントローラが存在するシステムにおいて、グループ鍵の配布・更新を行うコントローラを適切に決定することができ、様々な機器と複数のコントローラが接続し、互いに通信しながら動作するシステムにおける認証システム等として有用である。
100 認証システム
110 コントローラ
120 機器
130 HAN
140 サーバ
150 ネットワーク
410 機器管理部
420 機器情報保持部
430 認証処理部
440 認証情報保持部
450 ネゴシエート部
460 操作部
470 通信部
810 機器管理部
820 機器情報保持部
830 認証処理部
840 認証情報保持部
850 機器履歴保持部
860 操作部
870 通信部

Claims (10)

  1. ネットワーク上の1以上の機器と2以上のコントローラとが所属するグループにおける認証方法であって、
    前記グループ内の少なくとも1つのコントローラが、前記グループ内で共通で利用するグループ鍵を管理するコーディネータを、前記グループ内のコントローラの中から各コントローラの属性に応じて決定し、
    前記コーディネータが、グループ鍵を生成し、前記グループ内の機器およびコントローラと相互認証を実行し、認証に成功した機器およびコントローラと前記生成したグループ鍵を共有し、
    前記コーディネータが、前記グループ鍵を用いて送信データを暗号化して暗号化データを生成し、前記グループ鍵を用いてヘッダと送信元アドレスと送信先アドレスと前記送信データとから認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該暗号化データと当該認証用データとを含むメッセージの一斉同報通信を行う
    ことを特徴とする認証方法。
  2. 前記送信データは制御コマンドであって、
    前記メッセージを受信した機器が、前記グループ鍵を用いて前記暗号化データの復号及び前記認証用データの検証を行い、検証に成功した場合、復号された制御コマンドを実行する
    請求項1の認証方法。
  3. 前記暗号化データ及び前記認証用データをAES−CCMで生成する
    請求項1の認証方法。
  4. ネットワーク上の1以上の機器と第1のコントローラとが所属するグループにおける認証方法であって、
    前記第1のコントローラが、第1のグループ鍵を生成し、前記グループ内の機器と第1の相互認証を実行し、認証に成功した機器と前記第1のグループ鍵を共有し、
    前記グループに新たに第2のコントローラが参入した場合、前記グループ内の少なくとも1つのコントローラが、前記グループ内で共通で利用するグループ鍵を管理するコーディネータを、前記グループ内のコントローラの中から各コントローラの属性に応じて決定し、
    前記第1のコントローラが、前記コーディネータと第2の相互認証を実行し、認証に成功した場合に前記第1のグループ鍵を共有し、
    前記第1のコントローラが、前記第1のグループ鍵を用いてヘッダと送信元アドレスと送信先アドレスとコーディネータの変更を通知するための通知情報とから認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該通知情報と当該認証用データとを含む変更通知の一斉同報通信を行い、
    前記コーディネータが、第2のグループ鍵を生成し、前記グループ内の機器およびコントローラと第3の相互認証を実行し、認証に成功した機器およびコントローラのグループ鍵を前記第2のグループ鍵に更新させる
    認証方法。
  5. 前記コーディネータが、前記第1のグループ鍵を用いて送信データを暗号化して当該暗号化データを生成し、前記第1のグループ鍵を用いてヘッダと送信元アドレスと送信先アドレスと前記送信データとから認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該暗号化データと当該認証用データとを含むメッセージの一斉同報通信を行う
    請求項4の認証方法。
  6. 前記コーディネータが、前記第2のグループ鍵を用いて送信データを暗号化して当該暗号化データを生成し、前記第2のグループ鍵を用いてヘッダと送信元アドレスと送信先アドレスと前記送信データとから認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該暗号化データと当該認証用データとを含むメッセージの一斉同報通信を行う
    請求項4の認証方法。
  7. ネットワーク上の1以上の機器と2以上のコントローラとが所属するグループ内のコントローラであって、
    前記グループ内で共通で利用するグループ鍵を管理するコーディネータを、前記グループ内のコントローラの中から各コントローラの属性に応じて決定するネゴシエータと、
    自機器が前記コーディネータと決定された場合に、グループ鍵を生成し、前記グループ内の機器およびコントローラと相互認証を実行し、認証に成功した機器およびコントローラと前記生成したグループ鍵を共有する認証処理部と
    を備え、
    自機器が前記コーディネータと決定された場合、前記グループ鍵を用いて送信データを暗号化して暗号化データを生成し、前記グループ鍵を用いてヘッダと送信元アドレスと送信先アドレスと前記送信データとから認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該暗号化データと当該認証用データとを含むメッセージの一斉同報通信を行う
    コントローラ。
  8. 接続部とネゴシエータと認証処理部を備えるコントローラであって、
    前記接続部は、ネットワーク上の1以上の機器と1以上の他コントローラとが所属するグループであって、前記他コントローラの中の一コントローラが、第1のグループ鍵を生成し、前記グループ内の機器と第1の相互認証を実行し、認証に成功した機器と前記第1のグループ鍵を共有しているグループに接続し、
    前記ネゴシエータは、前記グループ内で共通で利用するグループ鍵を管理するコーディネータを、前記グループ内のコントローラの中から各コントローラの属性に応じて決定し、
    前記認証処理部は、
    前記一コントローラと第2の相互認証を実行し、認証に成功した場合に前記第1のグループ鍵を受信し、前記第1のグループ鍵を用いて第1の送信データを暗号化して第1の暗号化データを生成し、前記第1のグループ鍵を用いてヘッダと送信元アドレスと送信先アドレスと前記第1の送信データとから第1の認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該第1の暗号化データと当該第1の認証用データとを含むメッセージの一斉同報通信を行い、
    自機器がコーディネータと決定された場合、第2のグループ鍵を生成し、前記一コントローラから前記グループ内の機器の認証情報を受信し、受信した認証情報を用いて前記グループ内の機器およびコントローラと第3の相互認証を実行し、認証に成功した機器およびコントローラのグループ鍵を前記第2のグループ鍵に更新させ、前記第2のグループ鍵を用いて第2の送信データを暗号化して第2の暗号化データを生成し、前記第2のグループ鍵を用いてヘッダと送信元アドレスと送信先アドレスと前記第2の送信データとから第2の認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該第2の暗号化データと当該第2の認証用データとを含むメッセージの一斉同報通信を行う
    コントローラ。
  9. 認証処理部とネゴシエータとを備え、ネットワーク上の1以上の機器と1以上のコントローラとが所属するグループ内のコントローラであって、
    前記認証処理部は、第1のグループ鍵を生成し、前記グループ内の機器と第1の相互認証を実行し、認証に成功した機器と前記第1のグループ鍵を共有し、
    他コントローラが前記グループに新たに参入した場合において、前記ネゴシエータは、前記グループ内で共通で利用するグループ鍵を管理するコーディネータを、前記グループ内のコントローラの中から各コントローラの属性に応じて決定し、
    前記認証処理部は、
    前記コーディネータと第2の相互認証を実行し、認証に成功した場合に前記第1のグループ鍵を共有し、
    前記第1のグループ鍵を用いてヘッダと送信元アドレスと送信先アドレスとコーディネータの変更を通知するための通知情報とから当該認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該通知情報と当該認証用データとを含む変更通知の一斉同報通信を行い、
    前記コーディネータに、前記グループ内の機器の認証情報を送信し、
    前記コーディネータと第3の相互認証を行い、認証に成功した場合に第2のグループ鍵を受信し、保持するグループ鍵を受信した第2のグループ鍵に更新する
    コントローラ。
  10. ネットワーク上のグループに所属する1以上の機器と2以上のコントローラとからなる認証システムであって、
    前記グループ内のコントローラが、各コントローラの属性に応じて、前記グループ内で共通で利用するグループ鍵を管理するコーディネータを、前記グループ内のコントローラの中から決定し、
    前記コーディネータが、グループ鍵を生成し、
    前記コーディネータが、各前記機器および各前記コントローラと相互認証を実行し、
    前記コーディネータが、相互認証に成功した機器およびコントローラと生成したグループ鍵を共有し、
    前記コーディネータが、前記グループ鍵を用いて送信データを暗号化して暗号化データを生成し、前記グループ鍵を用いてヘッダと送信元アドレスと送信先アドレスと前記送信データとから認証用データを生成し、前記グループ内の機器およびコントローラに対して当該ヘッダと当該送信元アドレスと当該送信先アドレスと当該暗号化データと当該認証用データとを含むメッセージの一斉同報通信を行う
    認証システム。
JP2017517587A 2015-05-08 2016-02-19 認証方法、認証システムおよびコントローラ Active JP6436425B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562158585P 2015-05-08 2015-05-08
US62/158,585 2015-05-08
JP2016007555 2016-01-19
JP2016007555 2016-01-19
PCT/JP2016/000888 WO2016181585A1 (ja) 2015-05-08 2016-02-19 認証方法、認証システムおよびコントローラ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018207376A Division JP6621003B2 (ja) 2015-05-08 2018-11-02 認証方法、認証システムおよびコントローラ

Publications (2)

Publication Number Publication Date
JPWO2016181585A1 true JPWO2016181585A1 (ja) 2018-02-22
JP6436425B2 JP6436425B2 (ja) 2018-12-12

Family

ID=57248941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017517587A Active JP6436425B2 (ja) 2015-05-08 2016-02-19 認証方法、認証システムおよびコントローラ

Country Status (5)

Country Link
US (2) US10404453B2 (ja)
EP (2) EP3297206B1 (ja)
JP (1) JP6436425B2 (ja)
CN (2) CN112560007B (ja)
WO (1) WO2016181585A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6621003B2 (ja) * 2015-05-08 2019-12-18 パナソニックIpマネジメント株式会社 認証方法、認証システムおよびコントローラ
EP3297206B1 (en) 2015-05-08 2020-04-22 Panasonic Intellectual Property Management Co., Ltd. Authentication method, authentication system, and controller
US10305686B2 (en) * 2015-10-02 2019-05-28 Orion Labs Encrypted group communications
US10623178B2 (en) * 2016-07-15 2020-04-14 Dell Products L.P. System and method for secure messaging between distributed computing nodes
US10382413B1 (en) 2016-12-23 2019-08-13 Cisco Technology, Inc. Secure bootstrapping of client device with trusted server provided by untrusted cloud service
US10516676B2 (en) 2017-01-03 2019-12-24 International Business Machines Corporation Verification of geolocation of devices in a cloud data center
US11025596B1 (en) * 2017-03-02 2021-06-01 Apple Inc. Cloud messaging system
US10924274B1 (en) * 2017-12-07 2021-02-16 Junioer Networks, Inc. Deterministic distribution of rekeying procedures for a scaling virtual private network (VPN)
US11196733B2 (en) * 2018-02-08 2021-12-07 Dell Products L.P. System and method for group of groups single sign-on demarcation based on first user login
US10855463B2 (en) 2018-02-08 2020-12-01 Dell Products L.P. System and method for providing quality of service during transport key rotation at a distributed management controller group
US10594671B2 (en) * 2018-02-08 2020-03-17 Dell Products L.P. System and method for preventing well behaving clients from causing account lockouts in a group
US20190305940A1 (en) * 2018-03-28 2019-10-03 Ca, Inc. Group shareable credentials
KR102661628B1 (ko) * 2018-09-13 2024-05-02 삼성전자주식회사 IoT 기기 제어 서비스를 제공하는 전자 장치 및 그 제어 방법
US10868671B2 (en) * 2018-10-11 2020-12-15 Ademco Inc. Secured communication between host devices
US11218298B2 (en) * 2018-10-11 2022-01-04 Ademco Inc. Secured communication between a host device and a client device
CN115967534A (zh) * 2019-03-27 2023-04-14 创新先进技术有限公司 使用可信执行环境检索区块链网络的公开数据
AU2019204708B2 (en) 2019-03-27 2020-08-20 Advanced New Technologies Co., Ltd. Retrieving public data for blockchain networks using highly available trusted execution environments
JP6865850B2 (ja) 2019-03-29 2021-04-28 アドバンスド ニュー テクノロジーズ カンパニー リミテッド 高度に利用可能な信頼できる実行環境を使用してブロックチェーンネットワークに対するアクセスデータを取得すること
CN110717199B (zh) * 2019-08-21 2022-02-25 深圳市比比赞科技有限公司 一种paygo模式下的光伏板加密方法及加密系统
US10839060B1 (en) * 2019-08-27 2020-11-17 Capital One Services, Llc Techniques for multi-voice speech recognition commands
US11368325B2 (en) * 2020-02-11 2022-06-21 Honeywell International Inc. System for communication on a network
CN111404888B (zh) * 2020-03-04 2021-04-20 清华大学 网络数据审计方法和装置
US11762742B2 (en) 2020-03-31 2023-09-19 Honeywell International Inc. Process control system with different hardware architecture controller backup
EP3955537B1 (en) * 2020-08-10 2023-06-07 Siemens Aktiengesellschaft A method for managing keys of a security group
US11989084B2 (en) 2020-09-23 2024-05-21 Honeywell International Inc. Self-healing process control system
US11522684B2 (en) * 2020-09-24 2022-12-06 Capital One Services, Llc Key rotation service
JP7404210B2 (ja) * 2020-09-28 2023-12-25 株式会社東海理化電機製作所 システム、及びプログラム
US11874938B2 (en) 2020-11-03 2024-01-16 Honeywell International Inc. Admittance mechanism
CN113194015A (zh) * 2021-04-29 2021-07-30 洪璐 一种物联网智能家居设备安全控制方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1195658A (ja) * 1997-06-23 1999-04-09 Sun Microsyst Inc マルチキャスト・ネットワーク上で暗合鍵を安全に配布するための方法およびシステム
JP2001148715A (ja) * 1999-11-19 2001-05-29 Mitsubishi Electric Corp ネットワークシステム及び端末装置
JP2010074225A (ja) * 2008-09-16 2010-04-02 Yokogawa Electric Corp ルータ及びネットワークシステム
JP2012205088A (ja) * 2011-03-25 2012-10-22 Toshiba Corp ノード及びグループ鍵更新方法
JP2013192169A (ja) * 2012-03-15 2013-09-26 Hitachi Ltd 通信装置及びネットワーク認証システム
JP2013539248A (ja) * 2010-06-22 2013-10-17 エントロピック・コミュニケーションズ・インコーポレイテッド 通信ネットワークにおける安全なノード承認

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6684331B1 (en) * 1999-12-22 2004-01-27 Cisco Technology, Inc. Method and apparatus for distributing and updating group controllers over a wide area network using a tree structure
US7103185B1 (en) * 1999-12-22 2006-09-05 Cisco Technology, Inc. Method and apparatus for distributing and updating private keys of multicast group managers using directory replication
US8195940B2 (en) * 2002-04-05 2012-06-05 Qualcomm Incorporated Key updates in a mobile wireless system
US20030235305A1 (en) * 2002-06-20 2003-12-25 Hsu Raymond T. Key generation in a communication system
JP4664582B2 (ja) * 2002-08-28 2011-04-06 パナソニック株式会社 鍵配信装置、端末装置、記録媒体及び鍵配信システム
US20050036623A1 (en) * 2003-08-15 2005-02-17 Ming-Jye Sheu Methods and apparatus for distribution of global encryption key in a wireless transport network
JP4576997B2 (ja) 2004-04-28 2010-11-10 株式会社デンソー 通信システム、鍵配信装置、暗号処理装置
US20060031429A1 (en) * 2004-08-06 2006-02-09 Sharp Laboratories Of America, Inc. Central coordinator selection in ad hoc network
CN1863047A (zh) * 2005-05-11 2006-11-15 中兴通讯股份有限公司 组播业务的组通讯加密密钥管理方法
JP4435076B2 (ja) * 2005-11-18 2010-03-17 フェリカネットワークス株式会社 携帯端末,データ通信方法,およびコンピュータプログラム
CN100558035C (zh) * 2006-08-03 2009-11-04 西安电子科技大学 一种双向认证方法及系统
EP2150050B1 (en) * 2007-04-20 2014-07-30 Nippon Hoso Kyokai Scramble key management unit, scramble key management information transmitting unit, method for scramble key output management, scramble key management program, license information management unit, license management information transmitting unit, method for license information output management, and license information man
US9838365B2 (en) * 2007-07-10 2017-12-05 Qualcomm Incorporated Peer to peer identifiers
CN101399661A (zh) * 2007-09-27 2009-04-01 华为技术有限公司 一种组密钥管理中的合法邻居认证方法和装置
CN102057618A (zh) * 2008-06-23 2011-05-11 松下电器产业株式会社 信息处理装置、加密密钥的管理方法、计算机程序及集成电路
JP5457363B2 (ja) * 2008-10-10 2014-04-02 パナソニック株式会社 情報処理装置、認証システム、認証装置、情報処理方法、情報処理プログラム、記録媒体及び集積回路
WO2011141040A1 (en) * 2010-05-14 2011-11-17 Siemens Aktiengesellschaft Method of group key generation and management for generic object oriented substantiation events model
IL218046B (en) * 2012-02-12 2018-11-29 Elta Systems Ltd An architecture for a multi-directional relay and the devices and methods of operation useful by the way
CN102984154B (zh) * 2012-11-29 2016-05-18 无锡华御信息技术有限公司 在局域网中安全发送/接收数据的方法及系统
CN103929306B (zh) * 2014-04-02 2016-04-06 天地融科技股份有限公司 智能密钥设备和智能密钥设备的信息管理方法
EP3297206B1 (en) 2015-05-08 2020-04-22 Panasonic Intellectual Property Management Co., Ltd. Authentication method, authentication system, and controller

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1195658A (ja) * 1997-06-23 1999-04-09 Sun Microsyst Inc マルチキャスト・ネットワーク上で暗合鍵を安全に配布するための方法およびシステム
JP2001148715A (ja) * 1999-11-19 2001-05-29 Mitsubishi Electric Corp ネットワークシステム及び端末装置
JP2010074225A (ja) * 2008-09-16 2010-04-02 Yokogawa Electric Corp ルータ及びネットワークシステム
JP2013539248A (ja) * 2010-06-22 2013-10-17 エントロピック・コミュニケーションズ・インコーポレイテッド 通信ネットワークにおける安全なノード承認
JP2012205088A (ja) * 2011-03-25 2012-10-22 Toshiba Corp ノード及びグループ鍵更新方法
JP2013192169A (ja) * 2012-03-15 2013-09-26 Hitachi Ltd 通信装置及びネットワーク認証システム

Also Published As

Publication number Publication date
WO2016181585A1 (ja) 2016-11-17
EP3297206A4 (en) 2018-03-21
EP3675414B1 (en) 2021-08-04
EP3297206A1 (en) 2018-03-21
US20170126404A1 (en) 2017-05-04
CN106415573B (zh) 2021-01-08
CN112560007A (zh) 2021-03-26
CN112560007B (zh) 2024-05-31
US20190342086A1 (en) 2019-11-07
EP3675414A1 (en) 2020-07-01
US10951400B2 (en) 2021-03-16
JP6436425B2 (ja) 2018-12-12
CN106415573A (zh) 2017-02-15
EP3297206B1 (en) 2020-04-22
US10404453B2 (en) 2019-09-03

Similar Documents

Publication Publication Date Title
JP6436425B2 (ja) 認証方法、認証システムおよびコントローラ
JP7025490B2 (ja) 認証方法およびコントローラ
US10104076B2 (en) Authentication method and authentication system
WO2016181586A1 (ja) 認証方法及び認証システム
EP3099004B1 (en) Authentication method
CA2764582C (en) Communicating a device descriptor between two devices when registering onto a network
JP6621003B2 (ja) 認証方法、認証システムおよびコントローラ
JP6751894B2 (ja) 認証方法およびコントローラ
JP2017046347A (ja) 認証システムおよび認証方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180829

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: 20181009

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181102

R151 Written notification of patent or utility model registration

Ref document number: 6436425

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S131 Request for trust registration of transfer of right

Free format text: JAPANESE INTERMEDIATE CODE: R313133

SZ03 Written request for cancellation of trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z03

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350