JP6670782B2 - 通信装置、通信方法、機器およびコンピュータプログラム - Google Patents

通信装置、通信方法、機器およびコンピュータプログラム Download PDF

Info

Publication number
JP6670782B2
JP6670782B2 JP2017053661A JP2017053661A JP6670782B2 JP 6670782 B2 JP6670782 B2 JP 6670782B2 JP 2017053661 A JP2017053661 A JP 2017053661A JP 2017053661 A JP2017053661 A JP 2017053661A JP 6670782 B2 JP6670782 B2 JP 6670782B2
Authority
JP
Japan
Prior art keywords
code
control device
pairing
identification information
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017053661A
Other languages
English (en)
Other versions
JP2018049586A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to US15/693,051 priority Critical patent/US10511671B2/en
Publication of JP2018049586A publication Critical patent/JP2018049586A/ja
Application granted granted Critical
Publication of JP6670782B2 publication Critical patent/JP6670782B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明の実施形態は、通信装置、通信方法、機器およびコンピュータプログラムに関する。
宅内LAN(Local Area Network)などのローカルネットワーク上の機器(家電、デジタル機器など)を、ユーザ端末(PC、スマートフォン等)等の制御装置から制御できるようにする方法がある。一般的に知られている方法として、当該機器を制御するためのアプリケーションをユーザ端末にインストールして、このアプリケーションが、ローカルネットワーク上の機器を発見し、機器に接続する方法がある。このとき、ユーザ端末上のアプリケーションが機器を発見し、インタラクションのための通信チャネルを確立する方法として、mDNS、UPnP、ECHONET(登録商標)のようなUDPプロトコルベースの機器発見プロトコルを利用する方法がある。また、これより低レイヤの通信層で機器発見をサポートするBluetooth(登録商標)、WiFiのような通信媒体を利用する方法もある。WiFiの場合、機器がWiFiアクセスポイント(以下、AP)機能を備え、このWiFi APのSSIDをユーザ端末で選択することで、ユーザ端末は機器と接続することができる。
UDPベースの機器発見プロトコルを利用する方法は、Webブラウザ上で動くWebページ(以下、Webフロントエンド)では使えない。Webフロントエンドからは、機器発見プロトコルが利用できないからである。専用アプリケーションは、様々なスマートフォンの機種やOSバージョンへの対応を行う必要があり、開発コストがかかる。
一方、WiFiを使う方法は、Webフロントエンドから使うことができる。この方法では、専用アプリケーションを必要としないが、一方で機器がAPモードを搭載する必要がある。一般的に、APモードの搭載は、非搭載とくらべてコストがかさむ。Bluetoothについても、将来的にWebフロントエンドから利用できるようになる可能性があるが、現状では利用できない。仮に将来利用できるようになったとしても、機器がBluetooth機能を搭載する必要がある。インターネット接続機能を持った機器の場合、WiFiまたは有線LANインタフェースを備える必要があり、これに加えてのBluetooth機能の搭載は、APモード搭載と同様、コスト増につながる。
上述した2つの方法のメリットを備えた方法、すなわち、WiFi APモードやBluetooth機能などコスト増に繋がるモジュールを機器側に搭載せず、かつ、Webフロントエンドから、ユーザ端末とローカルネットワーク上の機器とをペアリングする方法も提案されている。ペアリングとは、ユーザ端末と機器とを通信可能な組として設定することで、ローカルネットワーク上の機器をユーザ端末から制御できるようにすることである。
ペアリングの方法として、例えば、クラウド上で、パスコードベースで、ユーザと機器をペアリングする方法が開示されている。しかしながら、パスコードのみでのペアリングは、総当り攻撃を受けやすい。具体的には、4桁の数値データのパスコードを入力させる場合、0000から9999までの1万通りしか無く、ランダムに数値を選んでアクセスすることで、ユーザと機器間のペアリングを失敗させることができる。パスコードを十分に長くすることで耐性を高めることができるが、長いパスコードを表示できるデバイスを機器が備える必要がある問題や、ユーザの手間・入力ミス等のユーザビリティの低下が避けられないという問題がある。
特開2015−9599号公報
本発明の実施形態は、機器および制御装置に対するコストを低減し、かつユーザビリティの低下を回避できるようにしつつ、制御装置から機器を制御できるようにすることを実現する。
本発明の一態様としての通信装置は、機器が制御装置に対して提供するサービスのアドレス情報を含む第1コード生成要求を受信した場合に、第1コードを生成し、前記第1コードを前記機器に送信する第1生成部と、前記第1コードを前記アドレス情報に関連づけて保持する第1管理部と、前記制御装置から、前記第1コードを含むアドレス取得要求を受信し、前記アドレス取得要求に含まれる前記第1コードが前記第1管理部に保持されている場合、前記第1コードに関連づけられている前記アドレス情報を前記制御装置に送信するアドレス提供部と、を備える。
本発明の実施形態に関わる通信装置を含む通信システムを示す図。 機器の構成例を示すブロック図。 図1の通信装置、制御装置および機器間の通信のシーケンス例を示す図。 PINコード入力画面およびマッピング完了メッセージの例を示す図。 第1〜第3記憶部に記憶されたデータ例を示す図。 通信装置の動作のフローチャート。 コンピュータの一例を示す図。 第2の実施形態に係る通信システムを示す図。 第1〜第4記憶部に記憶されたデータ例を示す図。 第2の実施形態に係る通信装置の動作のフローチャート。 第4の実施形態に係る動作シーケンス図。 第4の実施形態に係る第1〜第3記憶部に記憶されたデータ例を示す図 第4の実施形態に係る通信装置の動作のフローチャート
以下、図面を参照しながら、本発明の実施形態について説明する。
図1は、本発明の実施形態に関わる通信装置1を含む通信システムを示す。
この通信システムは、通信装置1、制御装置2および機器3を備える。通信装置1は第1ネットワーク4に接続されている。制御装置2および機器3は第2ネットワーク5に接続されている。第2ネットワーク5は、第1ネットワーク4に接続されている。通信装置1は、第1ネットワーク4および第2ネットワーク5を介して、制御装置2および機器3と通信可能である。制御装置2は、第2ネットワーク5を介して機器3と通信可能である。
第1ネットワーク4は、インターネット等のWAN(Wide Area Network)である。ただし、第1ネットワーク4は、インターネットに限らず、イントラネット、ホームネット等のプライベートネットワークでもよい。
第2ネットワーク5は、宅内、オフィス、工場などに配置されたLAN(Local Area Network)である。LANの具体的な媒体としては、イーサネット(登録商標)、無線LAN等、上位でIP通信を実現できるものが想定されるが、同等の機能を実現できるネットワークであれば、具体的な媒体は問わない。また上位通信プロトコルも、IPでなくてもよい。本実施形態では、第2ネットワーク5は、無線LANで構築されたホームネットワークであるとする。
なお、本実施形態では、第1ネットワーク4および第2ネットワーク5の2段構成のネットワークが用いられるが、ローカルネットワークのみで構成してもよい。この場合、第1ネットワーク4が存在せず、通信装置1が第2ネットワーク5に接続される。
通信装置1は、サーバ装置である。通信装置1は、物理マシンであっても仮想マシンであっても構わない。通信装置1は、機器登録サービス、および遠隔制御サービスを提供する。機器登録サービスは、機器3を遠隔制御サービスの対象として登録するものである。遠隔制御サービスは、機器3を制御装置2から遠隔制御するサービスである。遠隔制御として、例えば宅外にいるユーザが、制御装置2を操作して、宅内にある機器3を制御することがある。遠隔制御サービスは、例えばWebサービスとして実現される。機器登録サービスもWebサービスとして実現されてもよい。
制御装置2は、ユーザが操作する端末装置(ユーザ端末)である。制御装置2として、PC(Personal Computer)、スマートフォン、タブレットなどが想定される。本実施形態では、制御装置2はスマートフォンであるとする。制御装置2には、WebサービスにアクセスするためのWebブラウザが搭載されている。
機器3は、制御装置2の制御対象となる機器(被制御装置)である。機器3は、ネット家電、テレビなどのデジタル機器、住宅設備、ビル設備、工場設備など、通信機能を持った幅広いデバイスが想定される。本実施形態では、機器3は、エアコンであるとする。機器3は、制御装置2に対して所定のサービス(後述するペアリングコード取得要求を受け付けるサービス)を提供している。制御装置2は、機器3の所定のアドレス(URL等)にアクセスすることで、このサービスを利用できる。
以下、通信装置1の機能ブロックについて説明する。通信装置1は、通信部11、第1生成部12、第1管理部13、アドレス提供部14、第2生成部15、第2管理部16、ペアリング部17、第3管理部18、中継部19、第1記憶部21、第2記憶部22、第3記憶部23、制御部7およびサービス記憶部8を備えている。
通信部11は、第1ネットワーク4に有線または無線で接続されており、第2ネットワーク5を介して、制御装置2および機器3と通信する。上述したように通信装置1が第2ネットワーク5に配置される形態も可能であり、この場合、通信部11は、第2ネットワーク5に有線または無線で接続される。
制御部7は、通信装置1の全体を制御する。制御部7は、機器登録サービスを提供する処理も行う。サービス記憶部8は、機器登録サービスおよび遠隔制御サービスを行うための基本的な情報を格納している。例えば、サービス記憶部8は、機器登録サービスの対象となる機器に関する情報を格納している。またサービス記憶部8は、遠隔制御サービスに登録しているユーザに関する情報を格納している。例えば、制御部7は、機器登録済みでない機器3から第1クレデンシャル情報(製品IDと秘密鍵)を含む機器登録要求を受けると、機器3に対して第2クレデンシャル情報を発行し、機器3に第2クレデンシャル情報を送信する。第2クレデンシャルは機器識別情報と、秘密鍵(第1クレデンシャル情報の秘密鍵と異なってよい)とを含む。ユーザに関する情報の例としては、ユーザIDおよびパスワード、その他、ユーザの属性に関する様々な情報がある。
第1生成部12は、通信部11を介して、機器登録サービスによる登録済みの機器3から、PINコード生成要求(第1コード取得要求)を受信する。第1生成部12は、PINコード生成要求を受けると、PINコードを生成し、生成したPINコードを応答として機器3に送信する。PINコードは、例えば4桁の数字など、ユーザが入力しやすい短いものが想定される。PINコードの生成方法は任意でよい。一例として、乱数器または乱数発生アルゴリズムを利用して、PINコードを発生させてもよいし、PINコード生成要求を受信するごとに所定値だけカウントアップすることで、PINコードを発行してもよい。その他のアルゴリズムを利用して、PINコードを発生させてもよい。
ここで、PINコード生成要求は、機器3が提供するサービスのアドレスを表すアドレス情報を含む。アドレス情報は、機器3により提供されるサービスに、制御装置2がアクセスするために用いられる。このサービスは、制御装置2から、ペアリングコード取得要求(第2コード取得要求)を受け、当該要求に応じてペアリングコードを通信装置1から取得し、制御装置2に、取得したペアリングコードを提供するものである。アドレス情報の具体例としては、例えば、Web APIのURL、IPアドレス、mDNSドメイン名などがある。以下では、このアドレス情報を、機器アドレスと呼ぶ。
PINコード生成要求は、機器アドレスの他、認証に必要な情報として第2クレデンシャル情報を含んでもよい。この場合、通信装置1の第1生成部12または制御部7等では、当該情報に基づき、機器3の認証を行ってもよい。
第1管理部13は、第1生成部12で生成されたPINコードと、PINコード生成要求に含まれていた機器アドレスを対応付けて、第1記憶部21に保持(すなわち登録)する。また、第1管理部13は、アドレス提供部14から、PINコードをキーにした検索要求を受けた場合、対応する機器アドレスを第1記憶部21から検索して、機器アドレスをアドレス提供部14に返す。
第1管理部13は、RDBMS、memcachedやredisといったキャッシュサーバで実現されることが想定される。ただし、第1管理部13の具体的な実現形態は特定のものに限定されず、例えば、第1管理部13が、第1生成部12を含むサーバプロセス上の揮発メモリ上のデータコンテナとして実現されてもよい。第1記憶部21は、DRAM、SRAM等の揮発性メモリでも、NAND型フラッシュメモリ、FRAM、MRAM等の不揮発性メモリでもよい。または第1記憶部21は、ハードディスク、SSD等のデバイスでもよい。第1管理部13が第1記憶部21を備えているが、第1記憶部21を通信装置1に外付けしてもよいし、第1記憶部21を任意のネットワークに配置してもよい。後者の場合、第1管理部13がネットワークを介して第1記憶部21にアクセスする。前述したサービス記憶部8、および、後述する他の管理部および他の記憶部についても、ここで述べたのと同様に種々の形態が可能であるとする。
アドレス提供部14は、通信部11を介して、制御装置2から、機器アドレス取得要求を受信する。機器アドレス取得要求は、PINコードと、制御装置に関する識別情報とを含む。アドレス提供部14は、機器アドレス取得要求を受信すると、PINコードをキーとして含む検索要求を第1管理部13に送る。アドレス提供部14は、第1管理部13から応答として、対応する機器アドレスを取得する。制御装置に関する識別情報の具体例として、制御装置2のIPアドレスまたはMACアドレスなど、制御装置2自体を識別する情報でもよい。または、制御装置2を利用して通信装置1のWebサービスを利用するユーザのログインID等のアカウント情報、ログインセッション情報(ログイン時にWebサービスにより発行されるセッションID等)や、emailでもよい。
アドレス提供部14は、第1管理部13から取得した機器アドレスを含む応答メッセージを、制御装置2に送信する。なお、後述するように、制御装置2に送信する応答の形態は、機器アドレスへのリダイレクト要求(HTTP 302応答や303応答など)でもよいし、リダイレクトを伴わない通常応答(HTTP 200応答など)でもよい。
第2生成部15は、機器3から、ペアリングコード生成要求を受信する。ペアリングコード生成要求は、機器3の機器識別情報を含む。機器識別情報は、上述した第2クレデンシャル情報に含まれていたものである。すなわち、機器識別情報は、通信装置1または通信装置1が提供するWebサービスが、機器3に対して発行した、Webサービス内でユニークなIDである。ただし、機器識別情報は、これに限定されず、例えば、機器3のIPアドレスまたはMACアドレスなど、機器3自体に付与された識別情報であってもよい。第2生成部15は、ペアリングコード生成要求を受信すると、ペアリングコードを生成する。ペアリングコードは、PINコードよりも長く、複雑なランダム文字列であることが想定されるが、このような制約はなくてもよい。第2生成部15は、一例として、乱数器または乱数発生アルゴリズムを利用して、ペアリングコードを発生させる。
ここで、ペアリングコード生成要求は、機器3の機器識別情報以外に、認証に必要な情報として第2クレデンシャル情報に含まれていた秘密鍵を含んでもよい。通信装置1の第2生成部15または制御部7では、当該機器識別情報と、秘密鍵とに基づき、機器3の認証を行ってもよい。
第2管理部16は、生成したペアリングコードと、機器3の機器識別情報とを対応づけて、これをペアリング判定情報として、第2記憶部22に保持させる(すなわち第2記憶部22に登録する)。
第2管理部16は、ペアリングコードをキーとして含む検索要求をペアリング部17から受けると、第2記憶部22から、これに対応する機器識別情報を検索し、機器識別情報を、ペアリング部17に返す。
ペアリング部17は、通信部11を介して、制御装置2から、ペアリング要求を受信する。ペアリング要求は、ペアリングコードと、制御装置2に関する識別情報を含む。ペアリング部17は、ペアリング要求を受信すると、ペアリングコードをキーとして含む検索要求を第2管理部16に提供し、第2管理部16から、これに対応する機器識別情報を取得する。
第3管理部18は、ペアリング部17で取得された機器識別情報と、制御装置2に関する識別情報とを対応づけて、第3記憶部23に保持させる(すなわち第3記憶部23に登録する)。制御装置2に関する識別情報は、ペアリング要求に含まれていたものと同じものでもよいし、同じ制御装置に関する識別情報であれば、他の識別情報でもよい。例えば、ペアリング要求に含まれていた制御装置に関する識別情報がセッションIDであり、ペアリングに用いる制御装置に関する識別情報がユーザIDでもよい。これにより機器3が、ユーザとペアリングされる。機器識別情報と、制御装置2に関する識別情報が対応づけられたものは、ペアリング情報に相当する。
第3管理部18は、中継部19から、機器識別情報とユーザの識別情報のうち一方の情報をキーとして含む取得要求を受ける。第3管理部18は、当該取得要求を受けると、第3記憶部23から、ペアリングされた他方の情報を取得し、取得した情報を中継部19に応答する。
中継部19は、制御装置2と機器3間の通信を中継する。この通信は、HTTP、WebSocket、TURNなど様々なプロトコルが想定される。中継部19は、第3記憶部23に記憶されたペアリング情報を参照し、相互への通信の制御を行う。
具体的には、中継部19は、制御装置2からメッセージを受信し、受信したメッセージの宛先が機器3である場合は、機器3の機器識別情報が、制御装置2に関する識別情報とペアリングされているかを、第3管理部18に問い合わせることで確認する。ペアリングされていれば、中継部19は、機器3への通信(アクセス)を許可し、制御装置2から受信したメッセージを機器3に転送する。メッセージ例として、機器3の制御するコマンド(例えばエアコンの温度を調整するコマンド)を含むメッセージ、機器3の情報を取得するコマンド(例えばエアコンが備える温度センサのデータを取得するコマンド)がある。一方、機器3の機器識別情報が制御装置2に関する識別情報とペアリングされていなければ、機器3への通信を拒否する。この場合、中継部19は、一例として、制御装置2にエラーメッセージを送信するなどの処理を行う。機器3から制御装置2宛のメッセージを受信した場合も同様に、機器3とユーザ間のペアリングの有無を確認することで、機器3の通信を許可するかを判断する。許可する場合は、メッセージを転送し、許可しない場合は、エラーメッセージを返すなどの処理を行う。
図2は、機器3の構成例を示すブロック図である。機器3は、通信部51、登録要求部52、第1取得部53、第2取得部(通信処理部)54、表示装置55、記憶部56および制御部57を備える。
通信部51は、第2ネットワーク5に有線または無線で接続され、制御装置2と通信する。また、通信部51は、第2ネットワーク5を介して通信装置1と通信する。
記憶部56は、登録要求部52、第1取得部53、第2取得部54、または制御部57で生成または取得したデータを格納する。また記憶部56は、上述した機器3の第1クレデンシャル情報(product_idとproduct_secret)を格納している。第1クレデンシャル情報は、通信装置1から予め製品単位で発行されたものである。その他、記憶部56は、機器3内の各部が動作するために必要なデータまたはプログラムを記憶している。
制御部57は、機器3全体の動作を制御する。例えば、機器3がエアコンであれば、空調の制御を行ってもよい。また機器3がセンサを備える場合、制御部57は、センサから取得したデータを記憶部56に格納してもよい。また、機器3が制御装置2のユーザとペアリングされた後に、通信装置1から中継された制御装置2のメッセーを受信した場合に、メッセージの指示に応じた動作を行い、応答メッセージを作成して、送信してもよい。
登録要求部52は、例えばユーザの指示等に従って、通信装置1へ機器登録要求を送信する。機器登録要求は、機器3を通信装置1のサービスに登録することを要求するものである。機器登録要求は、一例として、第1クレデンシャル情報(product_idとproduct_secret)を含む。登録要求部52は、機器登録要求の応答として、通信装置1から、第2クレデンシャル情報を含む応答を受信する。第2クレデンシャルは機器識別情報と、秘密鍵とを含む。以降、機器3から通信装置1への通信では、この機器識別情報と秘密鍵に基づく認証およびアクセス制御が行われてもよい。
第1取得部53は、所定のタイミング(例えばユーザが指示したタイミング、機器登録が完了したタイミングなど)で、PINコード発行要求(第1コード取得要求)を、通信装置1に送信する。PINコード発行要求は、Webフロントエンドから機器3のサービスへアクセスするためのアドレス情報(機器アドレス)を引数として含む。その他、上述のように、認証のため、第2クレデンシャル情報も含んでもよい。
機器アドレスは、例えば、“https://192.168.11.10 /pairing_code”の形式で表現されることができる。機器3のサービスは、制御装置2からペアリングコード取得要求を受け付けるものである。192.168.11.10が、“_aircon1._http._tcp.local”のようなmDNSのドメインであってもよい。また、アドレス情報は、URLでなく、IPアドレスであってもよい。
第1取得部53は、通信装置1からPINコードを含む応答を受信し、応答に含まれるPINコードを表示装置55に表示する。ユーザは、表示装置55に表示されたPINコードを見ることで、通信装置1により生成されたPINコードを把握できる。
第2取得部54は、機器アドレスにおいて、ペアリングコード取得要求(第2コード取得要求)を受け付けるサービスを提供する。第2取得部54は、制御装置2から、当該サービスにより、ペアリングコード取得要求を受けると、ペアリングコード生成要求を生成して、通信装置1に送信する。ペアリングコード生成要求は、機器3の機器識別情報を含み、さらに第2クレデンシャル情報の秘密鍵を含んでもよい。第2取得部54は、通信装置1からペアリングコードを含む応答を受信する。第2取得部54は、ペアリングコード取得要求への応答として、通信装置1から受信したペアリングコードを、制御装置2に送信する。
図3は、図1の通信装置1、制御装置2および機器3間の通信のシーケンス例を示す。以下の説明では、機器3はエアコン、制御装置2はスマートフォンを想定する。通信装置1は、Webサービスとして、エアコンの遠隔制御サービスを提供するサーバを想定する。以下の説明では、遠隔制御サービスのことも通信装置1と呼ぶ場合がある。
(ステップS1)機器3には、第1クレデンシャル情報が設定されている。第1クレデンシャル情報は、製品ID(図では“product_id”と表記している)と、秘密鍵(図では“product_secret”と表記している)とを含む。また、機器3は、既にホームネットワーク(第2ネットワーク5)に、WiFiのWPS機能などで接続されている。
(ステップS2)制御装置2を所有するユーザは、通信装置1の遠隔制御サービスに加入(アカウントを作成)している。ユーザは、制御装置2上のWebブラウザから、この遠隔制御サービスにログインしている。ユーザのログイン時に、通信装置1によりセッションID(図では“session_id”と表記している)が発行され、Webフロントエンド(Webブラウザ上に表示された通信装置1のWebページ)と通信装置1との間で、セッションIDが共有されている。セッションIDは、制御装置2に関する識別情報の一例である。
(ステップS3)ユーザが、機器3のリモコンを操作して、ユーザとのペアリングを行うための動作モード(以降、ペアリングモードと呼ぶ)を起動する。これは、付属リモコンの特定ボタンの長押し、「ネット接続」ボタン押下等、製品毎に方法が決められているとする。
(ステップS4)機器3は、初回のペアリングモード起動時には、通信装置1へ機器登録要求を送信する。機器登録要求は、第1クレデンシャル情報(product_idとproduct_secret)を含む。
(ステップS5)通信装置1は、機器登録要求に応じて、機器3に対する第2クレデンシャル情報を生成し、第2クレデンシャル情報を含む応答を送信する。第2クレデンシャルは機器識別情報(図では“device_id”と表記している)と、秘密鍵(図では“device_secret”と表記している)とを含む。以降、機器3から通信装置1への通信では、この機器識別情報(device_id)と秘密鍵(device_secret)に基づく認証およびアクセス制御が行われる。
(ステップS6)機器3は、PINコード発行要求(第1コード取得要求)を、通信装置1に送信する。PINコード発行要求は、機器アドレス(図では“local_addr” と表記している)を引数として含む。その他、上述のように、認証のため、第2クレデンシャル情報(device_id, device_secret)も含む。
(ステップS7)通信装置1は、機器3から、PINコード発行要求を受信すると、機器識別情報(device_id),秘密鍵(device_secret)に基づき、機器3の認証を行った後、第1生成部12でPINコード(図では“pin_code”と表記している)を生成する。第1生成部12は、PINコードを含む応答を機器3に送信する。図の例では、pin_codeが“1234”の場合が示される。第1管理部13は、第1記憶部21に、第1生成部12が生成したPINコードと、PINコード発行要求に含まれていた機器アドレスとを対応付けて記憶する。具体的に、PINコード(pin_code)をキーに、機器アドレス(local_addr)を記憶する。図5(A)に第1記憶部21に記憶されたデータ例を示す。このエントリは、一例として、短い時間(例えば30秒など)のみ有効であるとする。これは、エントリにタイムアウト時刻情報を含めることで実現してもよい。あるいは、redisやmemcachedを用いる場合には、エントリのタイムアウト時間を設定してもよい。
(ステップS8)機器3は、通信装置1から受信した応答に含まれるPINコード(pin_code)を、機器3が備える表示装置に表示する。
(ステップS9)ユーザは、機器3の表示装置を見ることで、PINコードを認識する。ユーザは、スマートフォンの画面に表示されているWebフロントエンドに、機器3に表示されたPINコード(pin_code)を入力する。図4の左に、PINコード入力画面の例を示す。PINコードの入力欄71と、OKボタン72が配置されている。例えば図4の左の画面内の入力欄71にPINコードを入力し、OKボタン72をクリックする。
(ステップS10)スマートフォンの画面に表示されているWebフロントエンドは、セッションID(session_id)と、ユーザにより入力されたPINコード(pin_code)とを含むアドレス取得要求を、通信装置1に送信する。
(ステップS11)通信装置1のアドレス提供部14は、セッションID(session_id)に基づき、制御装置2のWebフロントエンドを認証した後、PINコードをキーとして含む検索要求を第1管理部13に提供する。第1管理部13は、第1記憶部21を検索して、PINコードに対応する機器アドレス(local_addr)を取得する。アドレス提供部14は、第1管理部13により取得された機器アドレス(local_addr)を含む応答を、制御装置2に送信する。機器アドレスは、例えばhttps://192.168.11.10/pairing_codeを想定する。
(ステップS12)制御装置2のWebフロントエンドは、機器3の機器アドレス(local_addr)にアクセスし、ペアリングコード取得要求(第2コード取得要求)を送信する。
(ステップS13)機器3は、Webフロントエンドからの機器アドレス(local_addr)へのアクセスを受けると、ペアリングコード生成要求を生成して、生成したペアリングコード生成要求を、通信装置1に送信する。ペアリングコード生成要求は、機器識別情報(device_id)および秘密鍵(device_secret)を含む。
(ステップS14)通信装置1の第2生成部15は、ペアリングコード生成要求に含まれる機器識別情報(device_id)および秘密鍵(device_secret)に基づき機器3の認証を行った後、ペアリングコード(図では“pairing_code”と表記している)を生成する。ペアリングコードとして、ここでは、”xUbxaafd1i8D9lx0say7Uv”を生成したとする。第2生成部15は、生成したペアリングコードを含む応答を、機器3に送信する。また、第2管理部16は、第2記憶部22に、ペアリングコード(pairing_code)を、機器識別情報(device_id)に対応づけて、ペアリング判定情報として記憶する。図5(B)に第2記憶部22に記憶されたペアリング判定情報のデータ例を示す。このエントリも、PINコードの場合と同様、例えば30秒などの短い時間のみ有効とする。なお、第1記憶部21に、PINコードおよび機器アドレスに加えて、機器識別情報も記憶しておき、ペアリングコード生成要求に含まれる機器識別情報が第1記憶部21に登録されている場合のみ、ペアリングコードを生成するようにしてもよい。
(ステップS15)機器3は、ペアリングコード取得要求への応答として、通信装置1から受信したペアリングコード(pairing_code)を、制御装置2に送信する。
(ステップS16)制御装置2のWebフロントエンドは、セッションID(session_id)およびペアリングコード(pairing_code)を引数として含むペアリング要求を、通信装置1に送信する。セッションIDは、制御装置2に関する識別情報の一例である。
(ステップS17)通信装置1のペアリング部17は、ペアリング要求に含まれるセッションID(session_id)に基づきWebフロントエンドを認証した後、第2管理部16に、ペアリングコード(pairing_code)をキーとして含む検索要求を提供する。第2管理部16は、ペアリングコード(pairing_code)をキーとして、第2記憶部22を検索して、機器識別情報(device_id)を取得する。ペアリング部17は、セッションID(session_id)に紐付けられたユーザと、機器識別情報(device_id)をもつ機器3とをペアリングする。具体的には、ペアリング部17は、第3管理部18に、ユーザIDと機器識別情報(device_id)とを対応づけたペアリング情報の登録を要求する。第3管理部18は、要求に従って、ペアリング情報を、第3記憶部23に登録する。図5(C)に第3記憶部23に記憶されたデータ例を示す。ペアリング部17は、ペアリングが完了したことを示すペアリング完了通知を、Webフロントエンドに送信する。Webフロントエンドは、ペアリングの完了メッセージを、画面に表示する。ペアリング完了メッセージを図4の右に示す。ユーザは、このメッセージを確認することで、ペアリングが完了したことを認識できる。
(ステップS18)この後、図に示すように、ユーザが宅外に移動する。ユーザは、Webフロントエンドから通信装置1の中継部19を経由して、宅内の機器3を操作できる。具体的に、ユーザは、Webフロントエンドから機器3を制御するためのメッセージを通信装置1に送信する。メッセージには、一例として機器アドレス、機器3の機器識別情報(device_id)または機器3を識別するその他の値を含んでもよい。メッセージに機器3の機器識別情報(device_id)が含まれる場合、事前に何らかの手段によってユーザの制御装置2にセキュアな方法により機器識別情報を伝えておく。またメッセージにはユーザIDまたはセッションIDなど、ユーザを識別する値を含んでもよい。通信装置1によって内部的にメッセージの中継先が機器3として特定される。ユーザの特定は、メッセージの送信元アドレスから行ってもよいし、ユーザを識別する値から行ってもよい。中継部19は、第3記憶部23のペアリング情報に基づき、当該ユーザのユーザIDに対し機器3の機器識別情報(device_id)がペアリングされているかを確認する。ペアリングされていれば、メッセージの中継を許可する。この場合、中継部19は、メッセージを機器3に送信する。これにより、機器3の情報の取得、機器3の遠隔監視・制御を行うことができる。
上述したシーケンスでは、ペアリングとして、機器識別情報に対してユーザIDを対応づけたが、制御装置2のIPアドレスまたはMACアドレスなどを対応づけてもよい。
以上の手順により、スマートフォンに専用アプリを用意せずに(Webブラウザのみで)、かつ、機器3にAPモードを搭載せずに、ユーザと機器3をペアリングすることができる。加えて、ユーザがペアリングに際して行った操作は、PINコード(例えば4桁数値)を入力するだけであり、ユーザの作業コストも低い。機器3はPINコードを表示できる程度の表示デバイスを搭載していれば本方式を実現できる。機器3が、時刻を表示する表示デバイスを備えていれば、この表示デバイスをPINコード表示用に流用してもよい。
また、本実施形態では、短いPINコードを、匿名性の高いローカルアドレスへ交換し(多くのホームネットワークが、192.168.10.0/24または192.168.11.0/24またはこれらの両方のアドレスを持つ)、このローカルアドレスへのアクセスを通じて、より長い乱数文字列のペアリングコードを生成する。そして、このペアリングコードを用いて、正式なペアリングを行う。これにより、背景技術で問題となっていた総当り攻撃への耐性を高めることができる。本実施形態は、ペアリングされたユーザの端末との相互通信を行う機器の開発コストおよびユーザの設定コストを低減する方法として、幅広い応用が可能である。
図6は、通信装置1の動作のフローチャートである。
通信装置1は、機器3から、機器アドレスを含むPINコード発行要求を受信すると(S31)、機器3の認証を行った後、第1生成部12でPINコードを生成し、機器3にPINコードを送信する(S32)。第1管理部13は、第1記憶部21に、第1生成部12が生成したPINコードと、PINコード発行要求に含まれていた機器アドレスとを対応付けて登録する(S33)。なお、第1記憶部21に、PINコードおよび機器アドレスに加えて、機器識別情報も記憶してもよい。
通信装置1は、PINコードを含むアドレス取得要求を制御装置2から受信すると(S34)、アドレス提供部14は、第1記憶部21からPINコードを検索する(S35)。PINコードが存在しなければ、アドレス提供部14は、エラー応答を制御装置2に送信する(S47)。PINコードが存在する場合、アドレス提供部14が、PINコードに対応する機器アドレスを読み出し、機器アドレスを含む応答を制御装置2に送信する(S37)。
通信装置1の第2生成部15は、機器3から、機器識別情報を含むペアリングコード生成要求を受信すると(S38)、機器3を認証した後、ペアリングコードを生成し(S40)、ペアリングコードを含む応答を機器3に送信する(S41)。また、第2生成部15は、生成したペアリングコードを、機器識別情報に対応づけて、ペアリング判定情報を生成し、ペアリング判定情報を、第2管理部16を介して、第2記憶部22に登録する(S42)。なお、なお、第1記憶部21に、PINコードおよび機器アドレスに加えて、機器識別情報も記憶しておき、ペアリングコード生成要求に含まれる機器識別情報が第1記憶部21に登録されている場合のみ、ペアリングコードを生成するようにしてもよい。
通信装置1のペアリング部17は、制御装置2から、セッションIDとペアリングコードとを含むペアリング要求を受信すると(S43)、ペアリングコードを含むペアリング判定情報を、第2記憶部22から検索する(S44)。そのようなペアリング判定情報が存在しなければ、ペアリング部17は、制御装置2にエラー応答を送信する(S47)。ペアリング判定情報が存在すれば、そのペアリング判定情報に含まれる機器識別情報と、ペアリング要求に含まれるセッションIDに関連するユーザIDとを対応づけて、ペアリング情報を生成する。ペアリング部17は、ペアリング情報を、第3管理部18を介して、第3記憶部23に登録する(S45)。これにより、機器3とユーザとのペアリングが完了する。ペアリング部17は、ペアリング完了応答を、制御装置2に送信する(S46)。なお、ペアリングとして、機器識別情報に対してユーザIDを対応づけたが、制御装置2のIPアドレスまたはMACアドレスなどを対応づけてもよい。
(ハードウェア構成)
図7は、コンピュータ100の一例を示す図である。図7のコンピュータ100は、プロセッサ101と、入力装置102と、表示装置103と、通信モジュール104と、記憶装置105と、を備える。プロセッサ101、入力装置102、表示装置103、通信モジュール104、および記憶装置105は、バス106により相互に接続されている。通信装置1、制御装置2または機器3は、一例としてこのハードウェア構成により実現できる。ただし、表示装置103または入力装置102を備えないなど、一部の要素が存在しなくてもよい。また、図示されていない要素を追加で備えていてもよい。
プロセッサ101は、コンピュータ100の制御部および演算部を含む電子回路である。プロセッサ101として、例えば、汎用目的プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、コントローラ、マイクロコントローラ、状態マシン、特定用途向け集積回路、フィールドプログラマブルゲートアレイ(FPGA)、プログラム可能論理回路(PLD)、およびこれらの組合せを用いることができる。
プロセッサ101は、バス106を介して接続された各装置(例えば、入力装置102、通信モジュール104、記憶装置105)から入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を、バス106を介して接続された各装置(例えば、表示装置103、通信モジュール104、記憶装置105)に出力する。具体的には、プロセッサ101は、コンピュータ100のOS(オペレーティングシステム)や、コンピュータプログラムなどを実行し、コンピュータ100を構成する各装置を制御する。
コンピュータプログラムは、コンピュータ100に、通信装置1、制御装置2または機器3の上述の各機能構成を実現させるプログラムである。コンピュータプログラムは、一時的でない有形のコンピュータ読み取り可能な記憶媒体に記憶される。上記の記憶媒体は、例えば、光ディスク、光磁気ディスク、磁気ディスク、磁気テープ、フラッシュメモリ、半導体メモリであるが、これに限られない。プロセッサ101がコンピュータプログラムを実行することにより、コンピュータ100が通信装置1、制御装置2または機器3として機能する。
入力装置102は、コンピュータ100に情報を入力するための装置または回路である。入力装置102は、例えば、キーボード、マウス、リモコン受信部、およびタッチパネルであるが、これに限られない。
表示装置103は、画像や映像を表示するための装置である。表示装置103は、例えば、LCD(液晶ディスプレイ)、CRT(ブラウン管)、およびPDP(プラズマディスプレイ)であるが、これに限られない。表示装置103は、通信装置1または機器3により記憶、生成または取得された任意の情報を表示することができる。
通信モジュール104は、コンピュータ100が外部装置と無線または有線で通信するための回路である。
記憶装置105は、コンピュータ100のOSや、コンピュータプログラムの実行に必要なデータ、およびコンピュータプログラムの実行により生成されたデータなどを記憶するハードウェア記憶媒体である。記憶装置105には、主記憶装置と外部記憶装置とが含まれる。主記憶装置は、例えば、RAM、DRAM、SRAMであるが、これに限られない。また、外部記憶装置は、例えば、ハードディスク、光ディスク、フラッシュメモリ、および磁気テープであるが、これに限られない。通信装置1の第1記憶部21〜第4記憶部24およびサービス記憶部8は、記憶装置105上に構築されてもよいし、通信モジュール104を介して接続された外部のサーバ上に構築されてもよい。
なお、コンピュータ100は、プロセッサ101、入力装置102、表示装置103、通信モジュール104、および記憶装置105を、それぞれ1つまたは複数備えてもよい。
また、通信装置1または機器3は、単一のコンピュータ100により構成されてもよいし、相互に接続された複数のコンピュータ100からなるシステムとして構成されてもよい。複数のコンピュータ100は、ネットワークを介して接続されてもよい。
さらに、コンピュータプログラムは、コンピュータ100の記憶装置105に予め記憶されていてもよいし、コンピュータ100の外部の記憶媒体に記憶されていてもよいし、インターネット上にアップロードされていてもよい。いずれの場合も、コンピュータプログラムをコンピュータ100にインストールして実行することにより、通信装置1または機器3の機能が実現される。
(第2の実施形態)
第2の実施形態では、第1の実施形態よりも安全性を高めてペアリングを行う。第1の実施形態では、図3のアドレス要求(ステップS10)に含まれるセッションIDとは異なる値のセッションIDを含むペアリング要求(ステップS16)を、通信装置1が受信した場合も、ペアリングが成立する。すなわち、これらのセッションIDが異なっていた場合であって、ステップS16より後のステップがすべて正常に行われる。ステップS10からステップS16までの通信シーケンスは短期間で自動実行されるため、実質的な問題にならないが、この問題に対処する形態も可能である。本実施形態は、これを実現する形態である。
図8は、第2の実施形態に係る通信システムを示す。図1との違いは、通信装置1の構成にある。通信装置1が、第4管理部20と、第4記憶部24を追加で備えている。第4記憶部24は、第1〜第3記憶部およびサービス記憶部と同じ装置でもよいし、これらとは別個の独立した装置でもよい。第4記憶部24は、Webサービスが通常備えるセッション認証用の記憶部でもよい。
本実施形態の通信システムについて、第1の実施形態とのシーケンスの違いを以下に説明する。
通信装置1は、ステップS6のPINコード要求に応じて、第1生成部12が生成したPINコードと、受信した機器アドレスだけでなく、機器識別情報も、第1記憶部21に記憶する。第1記憶部21に記憶されるデータ例を図9(A)に示す。なお、第2記憶部22および第3記憶部23に記憶される情報は、第1の実施形態と同じである。図9(B)および図9(C)に第2記憶部22および第3記憶部23に記憶されるデータ例を示す。図9(B)および図9(C)は、図5(B)および図5(C)と同じである。
通信装置1は、ステップS10のアドレス取得要求に応じて、第1記憶部21から機器アドレス(local_addr)と共に機器識別情報(device_id)を取得し、機器識別情報(device_id)と、アドレス取得要求に含まれるセッションID(session_id)とを対応づけた仮ペアリング情報を記憶する。第4記憶部24に記憶される仮ペアリング情報のデータ例を図9(D)に示す。
通信装置1は、ステップS16のペアリング要求に応じて、第2記憶部22からペアリングコードに対応する機器識別情報(device_id)を取得する。そして、第4記憶部24から当該機器識別情報(device_id)に対応するセッションID(session_id)を取得し、これが、ペアリング要求に含まれるセッションID(session_id)と一致するかを判断する。一致する場合は、ペアリング可を決定する。一致しない場合は、ペアリング不可を決定する。
図10は、第2の実施形態に係る通信装置1の動作のフローチャートである。図6のステップS33がステップS33−1に変更され、ステップS36およびステップS39が追加され、ステップS44がステップS44−1に変更されている。
通信装置1は、機器3から、機器アドレスを含むPINコード発行要求を受信すると(S31)、機器3の認証を行った後、第1生成部12でPINコードを生成し、機器3にPINコードを送信する(S32)。第1管理部13は、第1記憶部21に、第1生成部12が生成したPINコードと、PINコード発行要求に含まれていた機器アドレスと、機器3の機器識別情報とを対応付けて登録する(S33−1)。
通信装置1は、PINコードとセッションIDとを含むアドレス取得要求を制御装置2から受信すると(S34)、アドレス提供部14は、第1記憶部21からPINコードを検索する(S35)。PINコードが存在しなければ、アドレス提供部14は、エラー応答を制御装置2に送信する(S47)。PINコードが存在する場合、アドレス提供部14は、PINコードに対応づけられた機器識別情報と、アドレス取得要求に含まれていたセッションIDとを含む仮ペアリング情報を生成し、第2管理部16を介して仮ペアリング情報を第4記憶部24に登録する(S36)。また、アドレス提供部14は、機器アドレスを含む応答を制御装置2に送信する(S37)。
通信装置1の第2生成部15は、機器3から、機器識別情報を含むペアリングコード生成要求を受信すると(S38)、機器識別情報を含む仮ペアリング情報を、第4記憶部24から検索する(S39)。そのような仮ペアリング情報が存在しなければ、第2生成部15は、エラー応答を機器3に送信する(S47)。仮ペアリング情報が存在すれば、第2生成部15は、ペアリングコードを生成し(S40)、ペアリングコードを含む応答を機器3に送信する(S41)。また、第2生成部15は、生成したペアリングコードを、機器識別情報に対応づけて、ペアリング判定情報を生成し、ペアリング判定情報を、第2管理部16を介して、第2記憶部22に登録する(S42)。
通信装置1のペアリング部17は、制御装置2から、セッションIDとペアリングコードとを含むペアリング要求を受信すると(S43)、ペアリングコードを含むペアリング判定情報を、第2記憶部22から検索する(S44−1)。そのようなペアリング判定情報が存在しなければ、ペアリング部17は、制御装置2にエラー応答を送信する(S47)。ペアリング判定情報が存在すれば、そのペアリング判定情報に含まれる機器識別情報を特定する。そして、特定した機器識別情報に対応するセッションIDを、第4記憶部24において特定する。特定したセッションIDが、ペアリング要求に含まれたセッションIDと一致するかを判断する(S44−1)。一致しなければ、ペアリング部17は、制御装置2にエラー応答を送信する(S47)。一致する場合は、機器識別情報と、セッションIDに対応するユーザIDとを対応づけたペアリング情報を生成し、ペアリング情報を、第3管理部18を介して、第3記憶部23に登録する(S45)。これにより、機器3とユーザとのペアリングが完了する。ペアリング部17は、ペアリング完了応答を、制御装置2に送信する(S46)。
以上の手順により、アドレス要求に含まれるセッションIDと、ペアリング要求に含まれるセッションIDが異なる場合は、ペアリングが行われない。これにより、第1の実施形態よりも安全性を高めてペアリングを行うことができる。
(第3の実施形態)
本実施形態では、制御装置2のWebフロントエンドから、機器3へアクセスする方法のバリエーションを示す。
図3のステップS12のアクセス(ペアリングコード取得要求)は、Webフロントエンドからのクロスオリジンアクセスになる。つまり、通信装置1が提供するWebサービスのオリジンと、機器3が提供するサービス(ペアリングコード取得要求を受け付けるサービス)のオリジンは異なる。このようなクロスオリジンアクセスが認められるには、機器3に搭載されているHTTPサーバ(https://192.168.11.10/pairing_code機能を提供)が、正規のTLSサーバ証明書を持ったhttpsサーバである必要がある。ここでいう正規の証明書とは、Webブラウザが認めたルート認証局への証明書チェーンを持った証明書であることを意味するものとする。ローカルネットワーク上のHTTPサーバに対して正規のTLSサーバ証明書を発行できる場合には、図3のシーケンスがそのまま実現できる。しかしながら、機器3に正規のTLSサーバ証明書を発行できない場合には、クロスオリジンアクセスとは別の方法をとる必要がある。この方法を、以下に示す。
図3のステップS12でクロスオリジンアクセスせず、ステップS11の応答を、機器アドレス(local_addr)へのリダイレクト(HTTP302またはHTTP303)応答とする。このとき、機器アドレス(local_addr)に対して、リダイレクトバックする通信装置1のURLを引数として設定する。例えば、通信装置1(エアコン遠隔制御サービス)のURLが、https://aircon−remote−control.comである場合、リダイレクト応答中のリダイレクト先情報(Locationヘッダ値)に、http://192.168.11.10/pairing_ code?redirect_uri=https://aircon−remote−control.comを指定する。
ステップS14で、ペアリングコード(pairing_code)を取得した機器3は、ステップS12で取得したredirect_uri引数に、ペアリングコード(pairing_code)を付けて、制御装置2にリダイレクト応答する。すなわち、上記例では、Locationヘッダに、https://aircon−remote−control.com?pairing_code= xUbxaafd1i8D9lx0say7Uvを設定して、制御装置2に応答する。
以上の手順により、Webフロントエンドでクロスオリジンアクセスポイントを行わずに、リダイレクトベースで、ペアリングコード取得に関する各ステップ(S12〜S15)を行うことが可能となる。機器3は、ローカルネットワーク内に配置されるため、HTTPSサーバでなく、HTTPサーバであってもよい。なお、リダイレクトの実現手法は、上記のHTTP302またはHTTP303応答を行う方法以外の方法を用いてもよい。例えば、Webフロントエンド(html)のmetaタグを用いる方法でもよい。一般的に知られている方法が幾つかあり、どの方法も用いても構わない。
(第4の実施形態)
第4の実施形態では、ペアリングコード生成要求を制御装置2が送信し、ペアリング要求を機器3が送信することで、ペアリングを実現するバリエーションを示す。
本実施形態のブロック図は、第1の実施形態で用いた図1および図2と同じである。本実施形態の通信装置1および機器3について、第1の実施形態の通信装置および機器との機能違いについて以下に説明する。まず、通信装置1について説明する。
通信装置1の第2生成部15は、制御装置2から、ペアリングコード生成要求を受信することができる。ペアリングコード生成要求は、制御装置2の識別情報を含む。第2生成部15は、ペアリングコード生成要求を受信すると、ペアリングコードを生成する。
第2管理部16は、生成したペアリングコードと、制御装置2に関する識別情報とを対応づけて、これをペアリング判定情報として、第2記憶部22に登録する。
第2管理部16は、ペアリングコードをキーとして含む検索要求をペアリング部17から受けると、第2記憶部22から、これに対応するペアリング判定情報を検索する。第2管理部16は、ペアリング判定情報から制御装置2に関する識別情報を取り出し、これをペアリング部17に返す。
ペアリング部17は、通信部11を介して、機器3から、ペアリング要求を受信する。ペアリング要求は、ペアリングコードと、機器3に関する識別情報を含む。ペアリング部17は、ペアリング要求を受信すると、ペアリングコードをキーとして含む検索要求を第2管理部16に提供し、第2管理部16から、これに対応する制御装置2に関する識別情報を取得する。
第3管理部18は、ペアリング部17で取得された制御装置2に関する識別情報と、機器識別情報とを対応づけて、第3記憶部23に登録する。
次に、本実施形態における機器3について、第1の実施形態の機器との機能の違いについて以下に説明する。
機器3の第2取得部54は、機器アドレスにおいて、ペアリングコード登録要求(第2コード登録要求)を受け付けるサービスを提供する。第2取得部54は、制御装置2から、当該サービスにより、ペアリングコードを含んだペアリングコード登録要求を受けると、ペアリング要求を生成して、通信装置1に送信する。ペアリング要求は、機器3の機器識別情報を含む。
図11は、本実施形態における通信装置1、制御装置2及び機器3間の通信のシーケンス例を示す。以下、第1の実施形態におけるシーケンスとの違いについて説明する。ステップS1〜S11、S18は、第1の実施形態と同じである。ステップS12〜S17は、ステップS22〜S27に置き換わっている。以下、ステップS10以降について説明する。
(ステップS10)スマートフォンの画面に表示されているWebフロントエンドは、セッションID(session_id)と、ユーザにより入力されたPINコード(pin_code)とを含むアドレス取得要求を、通信装置1に送信する。
(ステップS11)通信装置1のアドレス提供部14は、セッションID(session_id)に基づき、制御装置2のWebフロントエンドを認証した後、PINコードをキーとして含む検索要求を第1管理部13に提供する。第1管理部13は、第1記憶部21を検索して、PINコードに対応する機器アドレス(local_addr)を取得する。アドレス提供部14は、第1管理部13により取得された機器アドレス(local_addr)を含む応答を、制御装置2に送信する。機器アドレスは、例えばhttps://192.168.11.10/activateを想定する。
(ステップS22)制御装置2のWebフロントエンドは、通信装置1に対してペアリングコード生成要求(第2コード生成要求)を送信する。ペアリングコード生成要求は制御装置2に関する識別情報(session_id)を含む。
(ステップS23)通信装置1の第2生成部15は、ペアリングコード生成要求に含まれるセッションID(session_id)に基づきWebフロントエンドを認証した後、ペアリングコード(図では“pairing_code”と表記している)を生成する。ペアリングコードとして、ここでは、”xUbxaafd1i8D9lx0say7Uv”を生成したとする。第2生成部15は、生成したペアリングコードを含む応答を、制御装置2に送信する。また、第2管理部16は、第2記憶部22に、ペアリングコード(pairing_code)を、ユーザID(user_id)に対応づけて、ペアリング判定情報として記憶する。図12(B)に第2記憶部22に記憶されたペアリング判定情報のデータ例を示す。このエントリも、第1の実施形態と同様に、例えば30秒などの短い時間のみ有効とする。なお、アドレス取得要求(S10)とペアリングコード生成要求(S22)を一つにまとめて送信し、それらの応答(S21,S23)を一つにまとめて受信してもよい。なお、図12(A)は第1記憶部のデータ例であり、第1の実施形態と同じデータが格納されている。
(ステップS24)制御装置2のWebフロントエンドは、機器3の機器アドレス(local_addr)にアクセスし、ペアリングコードを含むペアリングコード登録要求(第2コード登録要求)を送信する。
(ステップS25)機器3は、Webフロントエンドから機器アドレス(loacl_addr)へ向けて送信されたペアリングコード登録要求を受けると、ペアリングコードを含むペアリング要求を通信装置1に送信する。ペアリング要求は、ペアリングコードの他に、機器識別情報(device_id)および秘密鍵(devie_secret)を含む。
(ステップS26)通信装置1のペアリング部17は、ペアリング要求に含まれる機器識別情報(device_id)および秘密鍵(device_secret)に基づき機器3を認証した後、第2管理部16に、ペアリングコード(pairing_code)をキーとして含む検索要求を提供する。第2管理部16は、ペアリングコード(pairing_code)をキーとして、第2記憶部22を検索して、制御装置に関する識別情報(user_id)を取得する。ペアリング部17は、機器識別情報(device_id)に紐付けられた機器3と、ユーザとをペアリングする。具体的には、ペアリング部17は、第3管理部18に、ユーザID(user_id)と機器識別情報(device_id)とを対応づけたペアリング情報の登録を要求する。第3管理部18は、要求に従って、ペアリング情報を、第3記憶部23に登録する。図12(C)に第3記憶部23に記憶されたデータ例を示す。ペアリング部17は、ペアリングが完了したことを示すペアリング完了通知を、機器3に送信する。機器3はこれによりペアリングの完了を認識できる。
(ステップS27)機器3はペアリング完了通知を受信すると、さらにペアリング完了通知を制御装置2のWebフロントエンドへ送信する。Webフロントエンドは、ペアリングの完了メッセージを、画面に表示し、ユーザはこのメッセージを確認することで、ペアリングが完了したことを認識できる。
上述したシーケンスでは、ペアリングとして、機器識別情報に対してユーザIDを対応付けたが、制御装置2のIPアドレスまたはMACアドレスなどを対応づけてもよい。
以上の手順により、ペアリングコード生成要求を制御装置2が送信し、ペアリング要求を機器3が送信する実施形態においても、ペアリングを実現することができる。ステップS10、S11、S22、S23をまとめることで、第1、第2の実施形態より少ないステップ数でペアリングが可能である。
図13は、第4の実施形態に係る通信装置1の動作のフローチャートである。図6のステップS42がステップ50に置換されている。それ以外のステップは、図6と同じである。図6のステップS42では、ペアリングコードと機器識別情報との組をペアリンク判定情報として登録したが、ステップS50では、ペアリングコードと制御装置識別情報(ここではユーザID)との組をペアリング情報として登録している。
尚、各実施形態の通信装置、機器または制御装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現可能である。すなわち、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより、通信装置、機器または制御装置のそれぞれが備える各機能を実現出来る。このとき、各装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現することや、各種の記憶媒体に記憶、あるいはネットワークを介して上記のプログラムを配布、このプログラムをコンピュータ装置に適宜インストールすることで実現が出来る。また、通信装置、機器または制御装置のそれぞれが備える記憶部は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはCD−R、CD−RW、DVD−RAM、DVD−Rなどの記憶媒体などを適宜利用して実現することができる。
本実施形態で用いられる用語は、広く解釈されるべきである。例えば用語“プロセッサ”は、汎用目的プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、コントローラ、マイクロコントローラ、状態マシンなどを包含してもよい。状況によって、“プロセッサ”は、特定用途向け集積回路、フィールドプログラマブルゲートアレイ(FPGA)、プログラム可能論理回路 (PLD)などを指してもよい。“プロセッサ”は、複数のマイクロプロセッサのような処理装置の組み合わせ、DSPおよびマイクロプロセッサの組み合わせ、DSPコアと協働する1つ以上のマイクロプロセッサを指してもよい。
別の例として、用語“メモリ”は、電子情報を格納可能な任意の電子部品を包含してもよい。“メモリ”は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、プログラム可能読み出し専用メモリ(PROM)、消去可能プログラム可能読み出し専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、不揮発性ランダムアクセスメモリ(NVRAM)、フラッシュメモリ、磁気または光学データストレージを指してもよく、これらはプロセッサによって読み出し可能である。プロセッサがメモリに対して情報を読み出しまたは書き込みまたはこれらの両方を行うならば、メモリはプロセッサと電気的に通信すると言うことができる。メモリは、プロセッサに統合されてもよく、この場合も、メモリは、プロセッサと電気的に通信していると言うことができる。
また、用語“ストレージ”は、磁気技術、光学技術、または不揮発性メモリを利用して、永久的にデータを記憶できるに任意の装置を包含してもよい。例えば、ストレージは、HDD、光学ディスク、SSD等でもよい。
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1:通信装置
2:制御装置
3:機器(被制御装置)
11:通信部
12:第1生成部
13:第1管理部
14:アドレス提供部
15:第2生成部
16:第2管理部
17:ペアリング部
18:第3管理部
19:中継部
21:第1記憶部
22:第2記憶部
23:第3記憶部
7:制御部
8:サービス記憶部
51:通信部
52:登録要求部
53:第1取得部
54:第2取得部(通信処理部)
55:表示装置
56:記憶部
57:制御部

Claims (13)

  1. 機器が制御装置に対して提供するサービスのアドレス情報を含む第1コード生成要求を受信した場合に、第1コードを生成し、前記第1コードを前記機器に送信する第1生成部と、
    前記第1コードを前記アドレス情報に関連づけて保持する第1管理部と、
    前記制御装置から、前記第1コードを含むアドレス取得要求を受信し、前記アドレス取得要求に含まれる前記第1コードが前記第1管理部に保持されている場合、前記第1コードに関連づけられている前記アドレス情報を前記制御装置に送信するアドレス提供部と、
    前記機器から第2コード生成要求を受信した場合に、第2コードを生成し、前記第2コードを前記機器に送信する第2生成部と、
    前記第2コードを、前記機器の識別情報に関連づけて保持する第2管理部と、
    前記制御装置から、前記第2コードを含むペアリング要求を受信し、前記第2コードが前記第2管理部に保持されている場合に、前記制御装置に関する第1識別情報を、前記機器の識別情報に対応づけたペアリング情報を生成するペアリング部と、
    を備えた通信装置。
  2. 機器が制御装置に対して提供するサービスのアドレス情報を含む第1コード生成要求を受信した場合に、第1コードを生成し、前記第1コードを前記機器に送信する第1生成部と、
    前記第1コードを前記アドレス情報に関連づけて保持する第1管理部と、
    前記制御装置から、前記第1コードを含むアドレス取得要求を受信し、前記アドレス取得要求に含まれる前記第1コードが前記第1管理部に保持されている場合、前記第1コードに関連づけられている前記アドレス情報を前記制御装置に送信するアドレス提供部と、
    前記制御装置から第2コード生成要求を受信した場合に、第2コードを生成し、前記第2コードを前記制御装置に送信する第2生成部と、
    前記第2コードを、前記制御装置の第1識別情報に関連付けて保持する第2管理部と、
    前記機器から、前記第2コードを含むペアリング要求を受信し、前記第2コードが前記第2管理部に保持されている場合に、前記機器の識別情報を、前記制御装置に関する第1識別情報に対応付けたペアリング情報を生成するペアリング部と、
    を備えた通信装置。
  3. 前記制御装置と前記機器間の通信を中継する中継部を備え、
    前記中継部は、前記ペアリング情報に基づいて、前記制御装置および前記機器間の通信の中継を制御する
    請求項1又は2に記載の通信装置。
  4. 前記中継部は、前記制御装置から受信したメッセージの宛先となる機器の識別情報が前記ペアリング情報によって前記第1識別情報に対応づけされている場合は、前記メッセージを前記機器に中継し、対応付けされていない場合は、前記メッセージの中継を行わない
    請求項に記載の通信装置。
  5. 前記アドレス取得要求は、前記制御装置に関する第2識別情報を含み、前記ペアリング要求は、前記制御装置に関する第3識別情報を含み、
    前記ペアリング部は、前記ペアリング要求に含まれる前記第3識別情報が、前記アドレス取得要求に含まれていた前記第2識別情報に一致していない場合、前記第2コードが前記第2管理部に保持されていても、前記ペアリング情報を生成しない
    請求項に記載の通信装置。
  6. 前記第2識別情報および前記第3識別情報は、自装置が提供するサービスにログインしたユーザに割り当てるセッションIDである。
    請求項に記載の通信装置。
  7. 前記第1識別情報は、前記制御装置のユーザのユーザID、または前記制御装置のアドレスである
    請求項1ないし6のいずれか一項に記載の通信装置。
  8. 機器が制御装置に対して提供するサービスのアドレス情報を含む第1コード生成要求を受信した場合に、第1コードを生成し、前記第1コードを前記機器に送信するステップと、
    前記第1コードを前記アドレス情報に関連づけて保持するステップと、
    前記制御装置から、前記第1コードを含むアドレス取得要求を受信し、前記アドレス取得要求に含まれる前記第1コードが第1管理部に保持されている場合、前記第1コードに関連づけられている前記アドレス情報を前記制御装置に送信するステップと、
    前記機器から第2コード生成要求を受信した場合に、第2コードを生成し、前記第2コードを前記機器に送信するステップと、
    前記第2コードを、前記機器の識別情報に関連づけて保持するステップと、
    前記制御装置から、前記第2コードを含むペアリング要求を受信し、前記第2コードが第2管理部に保持されている場合に、前記制御装置に関する第1識別情報を、前記機器の識別情報に対応づけたペアリング情報を生成するステップと、
    コンピュータが実行する通信方法。
  9. 機器が制御装置に対して提供するサービスのアドレス情報を含む第1コード生成要求を受信した場合に、第1コードを生成し、前記第1コードを前記機器に送信するステップと、
    前記第1コードを前記アドレス情報に関連づけて保持するステップと、
    前記制御装置から、前記第1コードを含むアドレス取得要求を受信し、前記アドレス取得要求に含まれる前記第1コードが第1管理部に保持されている場合、前記第1コードに関連づけられている前記アドレス情報を前記制御装置に送信するステップと、
    前記制御装置から第2コード生成要求を受信した場合に、第2コードを生成し、前記第2コードを前記制御装置に送信するステップ、
    前記第2コードを、前記制御装置の第1識別情報に関連付けて保持するステップと、
    前記機器から、前記第2コードを含むペアリング要求を受信し、前記第2コードが第2管理部に保持されている場合に、前記機器の識別情報を、前記制御装置に関する第1識別情報に対応付けたペアリング情報を生成するステップと、
    コンピュータが実行する通信方法。
  10. 機器が制御装置に対して提供するサービスのアドレス情報を含む第1コード生成要求を受信した場合に、第1コードを生成し、前記第1コードを前記機器に送信するステップと、
    前記第1コードを前記アドレス情報に関連づけて保持するステップと、
    前記制御装置から、前記第1コードを含むアドレス取得要求を受信し、前記アドレス取得要求に含まれる前記第1コードが第1管理部に保持されている場合、前記第1コードに関連づけられている前記アドレス情報を前記制御装置に送信するステップと、
    前記機器から第2コード生成要求を受信した場合に、第2コードを生成し、前記第2コードを前記機器に送信するステップと、
    前記第2コードを、前記機器の識別情報に関連づけて保持するステップと、
    前記制御装置から、前記第2コードを含むペアリング要求を受信し、前記第2コードが第2管理部に保持されている場合に、前記制御装置に関する第1識別情報を、前記機器の識別情報に対応づけたペアリング情報を生成するステップと、
    をコンピュータに実行させるためのプログラム。
  11. 機器が制御装置に対して提供するサービスのアドレス情報を含む第1コード生成要求を受信した場合に、第1コードを生成し、前記第1コードを前記機器に送信するステップと、
    前記第1コードを前記アドレス情報に関連づけて保持するステップと、
    前記制御装置から、前記第1コードを含むアドレス取得要求を受信し、前記アドレス取得要求に含まれる前記第1コードが第1管理部に保持されている場合、前記第1コードに関連づけられている前記アドレス情報を前記制御装置に送信するステップと、
    前記制御装置から第2コード生成要求を受信した場合に、第2コードを生成し、前記第2コードを前記制御装置に送信するステップ、
    前記第2コードを、前記制御装置の第1識別情報に関連付けて保持するステップと、
    前記機器から、前記第2コードを含むペアリング要求を受信し、前記第2コードが第2管理部に保持されている場合に、前記機器の識別情報を、前記制御装置に関する第1識別情報に対応付けたペアリング情報を生成するステップと
    コンピュータに実行させるためプログラム。
  12. 制御装置に対して提供するサービスのアドレス情報を含む第1コード生成要求を、通信装置に送信し、第1コードを前記通信装置から受信する第1コード取得部と、
    前記第1コードを表示する表示装置と、
    前記制御装置から前記サービスを介して第2コードの取得要求を受信した場合に、第2コード生成要求を前記通信装置に送信し、前記第2コードを通信装置から受信する第2コード取得部と、
    前記第2コードを前記制御装置に送信する提供部と、
    を備えた機器。
  13. 制御装置に対して提供するサービスのアドレス情報を含む第1コード生成要求を、通信装置に送信し、第1コードを前記通信装置から受信する第1コード取得部と、
    前記第1コードを表示する表示装置と、
    前記制御装置から前記サービスを介して第2コードを含む第2コード登録要求を受信した場合に、前記第2コードを含むペアリング要求を前記通信装置に送信する第2コード取得部と、
    を備えた機器。
JP2017053661A 2016-09-16 2017-03-17 通信装置、通信方法、機器およびコンピュータプログラム Active JP6670782B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/693,051 US10511671B2 (en) 2016-09-16 2017-08-31 Communication device, communication method, controlled device, and non-transitory computer readable medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016181996 2016-09-16
JP2016181996 2016-09-16

Publications (2)

Publication Number Publication Date
JP2018049586A JP2018049586A (ja) 2018-03-29
JP6670782B2 true JP6670782B2 (ja) 2020-03-25

Family

ID=61621473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017053661A Active JP6670782B2 (ja) 2016-09-16 2017-03-17 通信装置、通信方法、機器およびコンピュータプログラム

Country Status (2)

Country Link
US (1) US10523763B2 (ja)
JP (1) JP6670782B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6834768B2 (ja) * 2017-05-17 2021-02-24 富士通株式会社 攻撃検知方法、攻撃検知プログラムおよび中継装置
EP3565211B1 (en) * 2018-05-03 2021-04-07 Nokia Technologies Oy Method network element, system and computer readable medium, for onboarding a device
JP7192310B2 (ja) * 2018-08-28 2022-12-20 株式会社ノーリツ 給湯システムおよびサーバ
JP7326731B2 (ja) * 2018-11-30 2023-08-16 株式会社リコー 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム
EP3958532A1 (en) * 2019-03-18 2022-02-23 Google LLC Cloud-based discovery service for end-user devices
CN111090494A (zh) * 2019-11-26 2020-05-01 西安万像电子科技有限公司 通信控制方法及系统
CN113777940A (zh) * 2021-09-03 2021-12-10 广东科谷智能科技有限公司 一种利用轨道列阵变换实现健康颐养照明系统功效的方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001268107A (ja) * 2000-03-21 2001-09-28 Daihatsu Motor Co Ltd 放送データ作成装置及びこれを管理する管理装置
US9614964B2 (en) * 2005-08-19 2017-04-04 Nextstep, Inc. Consumer electronic registration, control and support concierge device and method
US8369328B2 (en) * 2009-07-14 2013-02-05 Saguna Networks Ltd. System and method for efficient delivery of multi-unicast communication traffic
US8510255B2 (en) 2010-09-14 2013-08-13 Nest Labs, Inc. Occupancy pattern detection, estimation and prediction
US8843239B2 (en) 2010-11-19 2014-09-23 Nest Labs, Inc. Methods, systems, and related architectures for managing network connected thermostats
JP2012186624A (ja) * 2011-03-04 2012-09-27 Nec Corp 通信中継認可システム、通信中継装置、通信中継認可方法、端末装置及び制御プログラム
US9276921B2 (en) * 2011-03-31 2016-03-01 Sony Corporation System and method for establishing a communication session
US10681021B2 (en) * 2011-06-01 2020-06-09 Qualcomm Incorporated Selective admission into a network sharing session
US9503486B2 (en) * 2013-01-04 2016-11-22 Sookbox, LLC Configuring, networking, and controlling a plurality of unique network-capable devices
JP6375705B2 (ja) * 2014-01-17 2018-08-22 株式会社リコー 情報処理システム、端末装置及びプログラム
US9392104B2 (en) * 2014-04-15 2016-07-12 Google Inc. Limiting user interaction with a computing device based on proximity of a user
JP6290053B2 (ja) 2014-09-18 2018-03-07 株式会社東芝 通信装置、通信システムおよび通信方法
JP2016162278A (ja) * 2015-03-03 2016-09-05 ニフティ株式会社 アクセス中継装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
US10523763B2 (en) 2019-12-31
US20180084058A1 (en) 2018-03-22
JP2018049586A (ja) 2018-03-29

Similar Documents

Publication Publication Date Title
JP6670782B2 (ja) 通信装置、通信方法、機器およびコンピュータプログラム
JP6668183B2 (ja) 通信装置、通信方法、通信システムおよびプログラム
KR102318279B1 (ko) 무선 통신 시스템에서 인증 정보 송수신 방법 및 장치
US20160277413A1 (en) Access Permission Device, Access Permission Method, Program, and Communicating System
JP5030681B2 (ja) 機器設定装置、ネットワーク機器、機器名設定方法および機器名設定プログラム
KR102216111B1 (ko) 홈 네트워크 서비스를 제공하기 위한 장치 및 그 방법
JPWO2017130292A1 (ja) サーバ及びプログラム
US20190373062A1 (en) Terminal for remote monitoring system, program for remote monitoring, and remote monitoring system
JP5496393B1 (ja) 宅内機器及び遠隔制御システム
WO2015013221A2 (en) Secure communication network
TW201437932A (zh) 區網受控設備之雲端管控系統與方法
JP5951536B2 (ja) 電源遠隔制御システム
JP2016177795A (ja) アクセス認可装置、アクセス認可方法、プログラムおよび通信システム
US10511671B2 (en) Communication device, communication method, controlled device, and non-transitory computer readable medium
JP2020028023A (ja) 通信装置、通信装置、通信装置の制御方法、およびプログラム
JP6577546B2 (ja) リモートアクセス制御システム
JP6833658B2 (ja) サーバ装置、機器、証明書発行方法、証明書要求方法、証明書発行プログラム及び証明書要求プログラム
JP6380522B2 (ja) 電子機器制御システム、電子機器制御システムの動作方法、サーバ、サーバの動作方法及びプログラム
JP4167666B2 (ja) リモートアクセスシステム、ルータ及びリモートアクセス制御プログラム
JP2016029765A (ja) 通信システムおよびルーター
JP2019097027A (ja) 通信システム、通信システムの制御方法、及び、中継装置
JP2014175698A (ja) スマートアクセスシステム
JP2013186820A (ja) 中継装置及び通信システム
JP6768322B2 (ja) 通信装置、通信方法、通信プログラム及び通信システム
JP6750260B2 (ja) 情報処理装置およびエージェントシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190709

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190909

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200302

R151 Written notification of patent or utility model registration

Ref document number: 6670782

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151