JP7546796B2 - 通信機器、通信システム、通信方法及びプログラム - Google Patents

通信機器、通信システム、通信方法及びプログラム Download PDF

Info

Publication number
JP7546796B2
JP7546796B2 JP2023578212A JP2023578212A JP7546796B2 JP 7546796 B2 JP7546796 B2 JP 7546796B2 JP 2023578212 A JP2023578212 A JP 2023578212A JP 2023578212 A JP2023578212 A JP 2023578212A JP 7546796 B2 JP7546796 B2 JP 7546796B2
Authority
JP
Japan
Prior art keywords
token
authentication
communication
communication device
processing 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
JP2023578212A
Other languages
English (en)
Other versions
JPWO2023148807A1 (ja
JPWO2023148807A5 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2023148807A1 publication Critical patent/JPWO2023148807A1/ja
Publication of JPWO2023148807A5 publication Critical patent/JPWO2023148807A5/ja
Application granted granted Critical
Publication of JP7546796B2 publication Critical patent/JP7546796B2/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本開示は、通信機器、通信システム、通信方法及びプログラムに関する。
ユーザがユーザ端末のウェブブラウザから、インターネット、LAN(Local Area Network)等のネットワークを介して通信機器を監視、操作したい場合がある。この場合、まずユーザは、不正アクセスを防ぐため、ユーザ端末からIDとパスワードをログイン画面に入力して通信機器に送信し、通信機器側でIDとパスワードとを用いたユーザ認証を行う。ユーザ認証成功後、Web API、WebSocket等のしくみを用いてユーザ端末が通信機器と通信することで、ユーザ端末から通信機器の操作が可能となる。この通信をする際にも、ユーザ認証とは別の認証を新たに行う必要がある。この認証は、原則としてユーザ端末から通信機器を操作する度に実行する必要がある。そのため、通信機器を操作する度に、ユーザは認証用のパスワードの入力が必要となり、操作性が悪くなる。
このような操作性の悪化を防ぐために、ログイン画面でユーザが入力したパスワードをウェブブラウザ、Cookie等に記憶しておき、Web API、WebSocket等による通信を行う度に、自動的にパスワードを通信機器に送信して認証を行う方法が知られている。しかしながら、パスワードのような機密情報を頻?に送信するのはセキュリティ上問題がある。
また、上記問題を回避するために、ユーザ認証の成功時に通信機器側が認証用のトークンをユーザ端末に対して発行し、ユーザ端末がトークンを使用することで、認証を自動的に行う技術が開示されている。例えば、特許文献1には、ユーザ端末から複数の設備管理装置を監視操作する際に、まず代表の設備管理装置がユーザ認証を行う。ユーザ認証が成功すると代表の設備管理装置は、自装置の秘密鍵でデジタル署名を付加した認証データを各設備管理装置の公開鍵を用いて暗号化した認証コードを設備管理装置ごとに生成し、ユーザ端末に送信する。ユーザ端末は、受信した認証コードを付加してWebSocket方式で設備管理装置に接続する。設備管理装置は、ユーザ端末から受信した認証コードを、自装置の秘密鍵で復号し、代表の設備管理装置の公開鍵でデジタル署名を検証することにより、認証を行う。認証に成功するとユーザ端末は、設備管理装置の監視操作が可能となる。なお、特許文献1に記載されている「認証コード」は、「トークン」と同様な認証用の情報であり、両者に実質的な差異はない。
国際公開2014/068632号
操作対象の通信機器が複数存在し、ユーザ端末を介さずに、通信機器同士で自発的に相手側を操作したい場合も考えられる。このような場合も同様に、Web API、WebSocket等で通信機器間の通信をする際に認証が必要であり、上述したトークンを利用することが考えられる。ここで、ユーザ端末から通信機器を操作する場合は、ユーザ端末がトークン発行機能を有する通信機器にアクセスし、当該通信機器がユーザ認証成功時に認証用のトークンを発行することで、ユーザ端末は発行されたトークンを用いて操作対象とする通信機器と通信することができる。これに対し、ユーザ端末が介在しない通信機器間の通信では、トークンを発行可能な通信機器の特定ができないため、認証を行うのが困難となる。
本開示は上記実情に鑑みてなされたものであり、ユーザ端末が介さずに一方の通信機器から他方の通信機器を操作する際の認証を容易に行うことができる通信機器、通信システム、通信方法及びプログラムを提供することを目的とする。
上記目的を達成するため、本開示に係る通信機器は、
ネットワークを介して相互に通信可能な、同一の共有鍵をそれぞれ保持する複数の通信機器のうちの一の通信機器であって、
自機が、前記複数の通信機器のうちの何れかの通信機器である操作対象機器を操作する操作側機器である場合に、認証データに前記共有鍵でデジタル署名を付加したトークンを生成し、当該トークンを前記操作対象機器に送信するトークン生成処理部と、
自機が前記操作対象機器である場合に、前記操作側機器から受信したトークンのデジタル署名を前記共有鍵を用いて検証することにより認証を行うトークン認証処理部と、
前記トークン認証処理部による認証に成功した場合に、前記操作側機器による自機に対する操作を可能とするウェブサーバ部と、を備え
前記トークン生成処理部は、自機のIPアドレス取得要求を前記操作対象機器に送信することによって前記操作対象機器から見た自機のIPアドレスを取得し、取得した自機のIPアドレスを前記認証データに含ませる。
本開示によれば、ユーザ端末が介さずに一方の通信機器から他方の通信機器を操作する際の認証を容易に行うことができる。
本開示の実施形態に係る通信システムの構成を示す図 本開示の実施形態に係る通信機器の構成を示すブロック図 本開示の実施形態に係るユーザ端末の構成を示すブロック図 本開示の実施形態に係るユーザ端末から通信機器を操作する処理のフローチャート 本開示の実施形態に係るトークンの構造を模式的に示す図 本開示の実施形態に係る通信機器から他の通信機器を操作する処理のフローチャート 本開示の実施形態に係るトークン更新処理のフローチャート
以下、本開示の実施形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付す。
本開示の実施形態に係る通信システムについて説明する。通信システム100は、図1に示すように、インターネット、LAN等であるネットワーク1に接続された複数の通信機器2A、2B、2C、・・・と、ユーザ端末3と、を備えている。なお、以下の説明において通信機器2A、2B、2C、・・・を区別しない場合は、通信機器2とも表記する。通信システム100は、ユーザ端末3が通信機器2に接続して、通信機器2を操作する機能を有している。さらに、通信システム100は、ユーザ端末3を介さずに、自発的に一方の通信機器2が他方の通信機器2と接続して、他方の通信機器2を操作する機能も有している。なお、この「操作」とは、通信機器2になんらかの処理を実行させることを意味する。これにより、操作側のユーザ端末3、通信機器2は、操作される通信機器2の制御、監視、操作される通信機器2からの情報取得等が可能となる。なお、以下の説明では、ユーザ端末3を介さない通信機器2同士の通信を機器間通信とも表記する。
通信機器2は、ネットワーク1を介して、ユーザ端末3、および他の通信機器2と通信可能な機器であり、例えば、空調コントローラである。通信機器2は、ユーザからの直接操作は想定されておらず、ネットワーク1を介して、ユーザ端末3および他の通信機器2から間接的に操作される。図2に示すように、通信機器2は、通信部21と、記憶部22と、制御部23とを備える。
通信部21は、通信機器2がネットワーク1に接続するためのインタフェースである。通信部21は、通信システム100を構成する通信機器2以外の通信機器からの接続を制限するリバースプロキシ機能を有している。これにより、第三者からの不正アクセスを防止することができる。
記憶部22は、ハードディスクドライブ、フラッシュメモリ等の不揮発性の記憶装置であり、種々の情報を記憶する。例えば、記憶部22は、システム構成データ221と、ユーザ登録情報222と、共有鍵223とを記憶する。
システム構成データ221は、自機も含めた通信システム100内の全ての通信機器2をネットワーク1上から特定するためのデータである。例えば、システム構成データ221は、各通信機器のIPアドレス、ドメイン名、ホスト名等を含むデータである。
ユーザ登録情報222は、後述するユーザ認証を行う際に利用されるデータである。ユーザ登録情報222には、通信機器2に接続を許可するユーザのユーザIDとパスワードの組の一覧が含まれている。なお、ユーザ登録情報222は、ユーザID、パスワードに限定されるものではなく、指紋認証用のデータやデジタル証明書など、ユーザを一意に特定できる他の手段を用いるためのデータとしてもよい。
共有鍵223は、後述するトークン生成処理で認証データにデジタル署名を付加したトークンを生成するために利用される。また、共有鍵223は、後述するトークン認証処理でユーザ端末3又は通信機器2から受信したトークンに付加されているデジタル署名を検証するために利用される。通信システム100に含まれる全ての通信機器2で同一の共有鍵223が保持されている。通信システム100を構成した際の初期設定処理で、全ての通信機器2の記憶部22に同一の共有鍵223が保持されるような設定が手動でなされる。なお、各通信機器2のファームウェアに予め同一の共有鍵223を保持させておけばこのような初期設定処理を省略することもできるが、この場合は共有鍵223が外部に漏洩してしまう虞がある。
また、通信機器2がユーザ端末3若しくは他の通信機器2から操作される場合、記憶部22には認証用のトークンが記憶される。トークンは、認証データに共有鍵223でデジタル署名を付加した情報であり、操作側の通信機器2を認証するために使用される。
制御部23は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を備え、CPUがRAMをワークスペースとしてROMに格納されたプログラムを実行することにより、通信機器2の全体を制御する。制御部23は、機能的な構成として、ユーザ認証部231と、トークン生成処理部232と、トークン認証処理部233と、ウェブサーバ部234と、トークン更新部235とを有する。
ユーザ認証部231は、ユーザ端末3からの操作要求を受信した場合にユーザ認証を行う。具体的には、ユーザ認証部231は、ユーザ端末3からのユーザ認証要求に含まれるユーザID、パスワード等と、ユーザ登録情報222とを照合することによりユーザ認証を行う。
トークン生成処理部232は、ユーザ認証部231がユーザ認証に成功した場合、若しくは、機器間通信によって自機から他の通信機器2を操作する場合に、認証データに共有鍵223でデジタル署名を付加したトークンを生成し、ユーザ端末3、若しくは操作対象となる通信機器2(操作対象機器)に生成したトークンを送信する。
トークン認証処理部233は、自機がユーザ端末3、若しく他の通信機器2(操作側機器)から操作される場合に、受信したトークンのデジタル署名を記憶部22に保持している共有鍵223を用いて検証することにより認証を行う。
ウェブサーバ部234は、通信機器2のウェブサーバとして機能する。ウェブサーバ部234は、トークン認証処理部233で認証に成功すると、ユーザ端末3又は通信機器2による自機に対する操作を可能とするための処理を行う。具体的にはウェブサーバ部234は、Web API、WebSocket等で操作側のユーザ端末3又は通信機器2と接続して操作コマンドを受信する。そして、ウェブサーバ部234は、受信した操作コマンドを実行して、実行結果を応答する。
トークン更新部235は、記憶部22に記憶されているトークンの有効期限が短い場合に、有効期限を更新するための処理を行う。
図1に戻り、ユーザ端末3は、ウェブブラウザから各通信機器2を操作するコンソール端末である。ユーザ端末3は、図3に示すように、通信部31と、記憶部32と、制御部33と、表示部34と、入力部35とを備える。
通信部31は、ユーザ端末3がネットワーク1に接続するためのインタフェースである。
記憶部32は、ハードディスクドライブ、フラッシュメモリ等の不揮発性の記憶装置であり、種々の情報を記憶する。例えば、記憶部32には、通信機器から取得した認証用のトークンが記憶される。
制御部33は、CPU、RAM、ROM等を備え、CPUがRAMをワークスペースとしてROMに格納されたプログラムを実行することにより、ユーザ端末3の全体を制御する。
表示部34は、例えば、LCD(Liquid Crystal Display)であり、制御部33の制御に基づいて各種の画面を表示する。例えば、表示部34には、ユーザ認証を行うためのログイン画面が表示される。
入力部35は、例えば、キーボード、マウス等であり、ユーザからの入力を受け付け、当該入力に対応した信号を制御部33に出力する。例えば、入力部35は、ログイン画面からユーザのIDとパスワードの入力を受け付ける。
続いて、通信システム100の動作について説明する。始めに、ユーザ端末3から通信機器2を操作するときの処理について、図4のフローチャートを用いて説明する。
まず、ユーザは、ユーザ端末3の入力部35を操作して操作対象とする通信機器2に接続するためのURLをブラウザに入力する。これにより、制御部33は、通信機器2からログイン画面表示用のWebコンテンツを取得し、ログイン画面を表示部34に表示させる(ステップS101)。
続いてユーザは、ユーザ端末3の入力部35を操作して、ログイン画面に自分のIDとパスワードを入力し、当該入力を確定する操作をする。これにより制御部33は、入力されたID、パスワードを含んだユーザ認証要求を通信機器に送信する(ステップS102)。
ユーザ認証要求を受信すると通信機器2のユーザ認証部231は、ユーザ認証を行う(ステップS103)。具体的には、ユーザ認証部231は、受信したユーザ認証要求に含まれるID、パスワードの組がユーザ登録情報222に登録されていることを確認する。図4のフローチャートには示していないが、ユーザ認証に失敗すると、エラーとして処理は終了する。
ユーザ認証に成功した後、トークン生成処理部232は、認証用のトークンを生成する処理を行う。即ち、まず、トークン生成処理部232は、ユーザ認証に成功したことを示す認証データを取得する(ステップS104)。認証データは、任意のデータであり、意味を有さない情報である乱数でもよいが、本実施形態では少なくとも現在の日時情報と操作元であるユーザ端末3のIPアドレスとを認証データに含める。ユーザ端末3のIPアドレスは、受信したユーザ認証要求の送信元のIPアドレスから取得すればよい。また、ユーザ端末3のIPアドレスに代えて、ユーザ端末3を特定できる他のアドレス情報を認証データに含めてもよい。
そして、トークン生成処理部232は、取得した認証データに共有鍵223でデジタル署名を付加したトークンを生成する(ステップS105)。具体的には、トークン生成処理部232は、ハッシュベースメッセージ認証符合(HMAC)のアルゴリズムによって、共有鍵223と認証データとを元に算出したMAC値をデジタル署名として付加する。これにより、図5に示す構造のトークンが生成される。なお、MAC値を算出するために利用するハッシュ関数は、SHA-2、SHA-3等であるが、通信システム100に含まれる全ての通信機器2で同一のハッシュ関数を使用する必要がある。
図4に戻り、トークン生成処理部232は、生成したトークンをユーザ端末3に送信する(ステップS106)。
続いて、ユーザ端末3の制御部33は、受信したトークンを付加してWebSocket方式で操作する通信機器2に接続を試みる(ステップS107)。ここで、WebSocket方式とは、ウェブサーバとWebクライアントとの双方向通信用の技術規格である。WebSocket方式で接続すれば、HTTPプロトコルとは異なり、常時接続しておくことが可能となる。
具体的には、ユーザ端末3の制御部33は、操作する通信機器2にWebSocket方式で接続するためのURLにパラメータとしてトークンを付加し、当該URLによって通信機器2に接続を試みる。従って、トークンはURLとして使用可能な形式のデータである必要がある。トークンがバイナリ形式のデータである場合には、Base64等の方式を用いてURLで使用可能な形式に変換する必要がある。なお、WebSocket方式で接続する際に、ユーザ端末3から通信機器2に最初に送信する電文にトークンを含ませることも考えられるが、通信システム100のベンダが独自に定めた通信仕様を修正することとなり、通信システム100全体に与える影響が大きいことから、URLのパラメータにトークンを含ませる方式の方が望ましい。
通信機器2のトークン認証処理部233は、ユーザ端末3からWebSocket方式での接続があると、保持している共有鍵223を用いて、当該接続のURLにパラメータとして含まれているトークンのデジタル署名を検証する(ステップS108)。具体的には、トークン認証処理部233は、HMACのアルゴリズムによって、トークンに含まれる認証データと記憶部22に保持されている共有鍵223とを元にMAC値を算出する。そして、トークン認証処理部233は、算出したMAC値とトークンに含まれるMAC値とが一致することを検証すればよい。
ステップS108の検証の結果、MAC値が一致せずにデジタル署名が正常でないと判断された場合(ステップS109;No)、トークン認証処理部233は、認証エラーをユーザ端末3に返信するとともに、接続を切断する(ステップS111)。認証エラーを通知されたユーザ端末3はエラー終了する。
一方、ステップS108の検証の結果、デジタル署名が正常であると判断された場合(ステップS109;Yes)、トークン認証処理部233は、トークン内の認証データに含まれる日時情報、及び接続元のIPアドレスが正常であるか否かを判定する(ステップS110)。具体的には、トークン認証処理部233は、日時情報が示す日時から現在までの期間が予め定めたトークンの有効期間内であるか否かを判定する。この判定により、過去に利用した古い認証データを不正に再利用できないようにすることができ、リプレイ攻撃を防ぐことが可能となる。また、トークン認証処理部233は、現在接続されているユーザ端末3のIPアドレスが、認証データに含まれる接続元のIPアドレスと同一であるか否かを判定する。この判定により、盗聴した認証データを他端末で不正に利用されないようにすることができ、なりすまし攻撃を防ぐことができる。
日時情報、又は接続元のIPアドレスが正常でないと判断された場合(ステップS110;No)、トークン認証処理部233は、認証エラーをユーザ端末3に返信するとともに、接続を切断する(ステップS111)。認証エラーを通知されたユーザ端末3はエラー終了する。
一方、日時情報、および接続元のIPアドレスが正常であると判断された場合(ステップS110;Yes)、トークン認証処理部233は、トークンが正しいものとしてユーザ端末3に正常応答を返信する(ステップS112)。ユーザ端末3が正常応答を受信すると、ユーザ端末3と通信機器2のウェブサーバ部234との間でWebSocket方式による常時接続が確立し(ステップS113)、以下は、認証を必要せずに、ユーザ端末3から通信機器2を操作することが可能となる。その後、WebSocket方式による接続が終了した場合は、認証に利用したトークンはユーザ端末3から削除される。
続いて、機器間通信により、通信機器2Aから通信機器2Bを操作するときの処理について、図6のフローチャートを用いて説明する。例えば、予めスケジューリングされている日時となったときこの処理は開始される。
まず、操作側である通信機器2Aのトークン生成処理部232は、自機のIPアドレス取得要求を被操作側である通信機器2Bに送信する(ステップS201)。後述するステップで生成するトークンの認証データには接続元である通信機器2AのIPアドレスを含ませる必要があるが、このIPアドレスは接続先である通信機器2Bから見た通信機器2AのIPアドレスでなければならない。例えば、通信機器2Aと通信機器2Bとの間にNATルータが設置されている場合、通信機器2Aから通信機器2Bに接続すると、NATルータによって接続元の通信機器2AのIPアドレスが書き換えられて通信機器2Bに到達する。通信機器2Aが単独でこの書き換えられたIPアドレスを取得することはできないため、IPアドレス取得要求を通信機器2Bに送信している。
被操作側である通信機器2Bの制御部23は、IPアドレス取得要求を受信すると、当該要求の送信元のIPアドレス、即ち、通信機器2Bから見た通信機器2AのIPアドレスを通信機器2Aに返信する(ステップS202)。
通信機器2Aのトークン生成処理部232は、通信機器2BからIPアドレスを受信すると、認証用のトークンを生成する処理を行う。即ち、まずトークン生成処理部232は、認証データを取得する(ステップS203)。認証データは、任意のデータであり、意味を有さない情報である乱数でもよいが、本実施形態では少なくとも現在の日時情報と操作元である通信機器2AのIPアドレスとを認証データに含める。このIPアドレスは、ステップ202で通信機器2Bから返信されたIPアドレス、即ち通信機器2Bから見た通信機器2AのIPアドレスである。なお、通信機器2AのIPアドレスに代えて、通信機器2Aを特定できる他のアドレス情報を認証データに含めてもよい。
そして、通信機器2Aのトークン生成処理部232は、取得した認証データに共有鍵223でデジタル署名を付加したトークンを生成する(ステップS204)。このトークンは、ユーザ端末3から通信機器2を操作する際に生成したトークンと同様のトークンであり、HMACによるデジタル署名が付されている。
続いて、通信機器2Aのウェブサーバ部234は、生成したトークンを付加してWebSocket方式で操作される通信機器2Bに接続を試みる(ステップS205)。ここでは、ユーザ端末3から通信機器2を操作する場合と同様に、パラメータにトークンを含めたURLによって通信機器2Bに接続を試みればよい。
通信機器2Bのトークン認証処理部233は、通信機器2AからWebSocket方式での接続があると、保持している共有鍵223を用いて、当該接続のURLに含まれるトークンのデジタル署名を検証する(ステップS206)。
ステップS206の検証の結果、デジタル署名が正常でないと判断された場合(ステップS207;No)、通信機器2Bのトークン認証処理部233は、認証エラーを通信機器2Aに返信するとともに、接続を切断する(ステップS209)。認証エラーを通知された通信機器2Aはエラー終了する。
一方、ステップS206の検証の結果、デジタル署名が正常であると判断された場合(ステップS207;Yes)、通信機器2Bのトークン認証処理部233は、トークン内の認証データに含まれる日時情報、及び接続元のIPアドレスが正常であるか否かを判定する(ステップS208)。具体的には、トークン認証処理部233は、日時情報が示す日時から現在までの期間が予め定めたトークンの有効期間内であるか否かを判定する。この判定により、過去に利用した古い認証データを不正に再利用できないようにすることができ、リプレイ攻撃を防ぐことが可能となる。また、トークン認証処理部233は、現在接続されている設備機器2AのIPアドレスが、認証データに含まれる接続元のIPアドレスと同一であるか否かを判定する。この判定により、盗聴した認証データを他端末で不正に利用されないようにすることができ、なりすまし攻撃を防ぐことができる。
日時情報、又は接続元のIPアドレスが正常でないと判断された場合(ステップS208;No)、トークン認証処理部233は、認証エラーを通信機器2Aに返信するとともに、接続を切断する(ステップS209)。認証エラーを通知されたユーザ端末はエラー終了する。
一方、日時情報、および接続元のIPアドレスが正常であると判断された場合(ステップS208;Yes)、トークン認証処理部233は、トークンが正しいものとして通信機器2Aに正常応答を返信する(ステップS210)。通信機器2Aが正常応答を受信すると、通信機器2Aと通信機器2Bとの間でWebSocket方式による常時接続が確立する(ステップS211)。以下は、認証を必要せずに、通信機器2Aから通信機器2Bを操作することが可能となる。その後、WebSocket方式による接続が終了した場合は、認証に利用したトークンは通信機器2Bから削除される。
続いて、トークン更新処理について説明する。上述した処理によって、被操作側である通信機器2Bの記憶部22には、操作側の通信機器2Aから受信したトークンが記憶される。ここで、通信機器2Aと通信機器2Bとの間には、WebSocketによる常時接続が確立しているので、接続時は有効期限内であっても、このまま常時接続が維持されたまま長時間が経過すると通信機器2Bに記憶されているトークンの有効期限を過ぎ、常時接続が切断されてしまう事態も考えられる。そこで、このような事態を防ぐため被操作側の通信機器2Bでは、トークンを自力で更新するトークン更新処理が実行される。トークン更新処理は、WebSocketによる常時接続が維持されている間、予め定めた時間間隔で実行される。トークン更新処理について、図7のフローチャートを用いて説明する。
まず、通信機器2Bのトークン更新部235は、記憶部22に記憶されているトークンの認証データに含まれている日時情報が示す日時から現在までの期間が、トークンの有効期間を過ぎているか否かを判別する(ステップS301)。有効期間をすぎていない場合(ステップS301;No)、トークンを更新する必要はないため、トークン更新処理は終了する。
一方、有効期間をすぎている場合(ステップS301;Yes)、通信機器2Bのトークン更新部235は、保持しているトークンの認証データに含まれている日時情報を現在の日時情報に修正する(ステップS302)。そして、トークン更新部235は、日時情報を修正した認証データと共有鍵とを元にHMACでMAC値を算出して、算出したMAC値でトークンのデジタル署名を更新する(ステップS303)。以上でトークン更新処理は終了する。その後、トークン更新処理で更新されたトークンは、WebSocketによる常時接続が切断されたときに、通信機器2Bの記憶部22から削除される。
このように、本実施形態では、常時接続中にトークン更新処理を定期的に実行して有効期限の切れたトークンのデジタル署名を更新して、有効なトークンとして再利用する。これにより、常時接続を維持することができる。なお、上述したトークン更新処理では、有効期限が切れた場合に(ステップS301;Yes)、トークンを更新する処理(ステップS302、S303)がなされたが、有効期限までの期間が予め定めた期間よりも短くなった場合に、ステップS302、S303を実行してもよい。若しくは、有効期限の確認をせずに、一律にステップS302、S303を実行してトークンを更新してもよい。このようにすることで、トークン更新処理が実行される度に、トークンは最新の日時に更新されるが、毎回トークンの更新がなされるため、通信機器2Bにかかる負荷は大きくなる。
このように、本実施形態に係る通信システム100によれば、通信システム100を構成する全ての通信機器2で同一の共有鍵223が保持されている。そして、各通信機器2は、他の通信機器2を操作する場合に、共有鍵223を用いて自力で認証用のトークンを生成する機能を有する。また、各通信機器2は、他の通信機器2から操作される場合に、受信したトークンのデジタル署名を共有鍵223を用いて検証することにより認証を行う機能を有する。即ち、全ての通信機器2がトークンの発行機能と認証機能とを有している。そのため、機器間認証で通信機器2が他の通信機器2を操作するときの認証にトークンを利用する場合に、トークンを発行可能な通信機器2を特定することが困難であるという従来の課題を解決することができる。よって、ユーザ端末3が介在せずに一方の通信機器2から他方の通信機器2を操作する際の認証にもトークンを利用することが容易になり、当該認証を容易に行うことが可能となる。
(変形例)
なお、本開示は、上記実施形態に限定されず、本開示の要旨を逸脱しない範囲での種々の変更は勿論可能である。
上記実施形態では、操作側のユーザ端末3又は通信機器2が、WebSocketで被操作側の通信機器2に常時接続して操作を行う処理について説明したが、接続方式はWebSocketに限定されるものではない。例えば、操作側のユーザ端末3又は通信機器2が、Web APIで被操作側の通信機器2に接続して操作を行ってもよい。なお、Web APIの場合は、WebSocketとは異なり、常時接続とはならないため、Web APIで接続してコマンドを送受信する毎にトークンを用いた認証が必要となる。
上記実施形態では、共有鍵223を用いたデジタル署名として、HMACのアルゴリズムを採用したが、デジタル署名の手法はこれに限定されるものではない。例えば、HMAC以外のメッセージ符号認証のアルゴリズムによって、共有鍵223を用いて認証データにデジタル署名を付加してもよい。
上記実施形態では、トークンの認証データに日時情報と接続元のIPアドレスとを含めたが、必ずしもこれらを含める必要はない。例えば、認証データを乱数としてもよい。
本実施形態に記載の「トークン」は、他の文献では「チケット」、「認証コード」等と記載されている場合もありうるが、これらは実質的に同一の情報である。本開示は「トークン」を狭く解釈するものではない。
また、上記実施形態において、通信機器2の制御部23が実行するプログラムを、既存のコンピュータに適用することで、当該コンピュータを本開示に係る制御部23として機能させることも可能である。
このようなプログラムの配布方法は任意であり、例えば、CD-ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto Optical Disk)、メモリカード等のコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネット等の通信ネットワークを介して配布してもよい。
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
100 通信システム、1 ネットワーク、2(2A,2B,2C) 通信機器、21 通信部、22 記憶部、221 システム構成データ、222 ユーザ登録情報、223 共有鍵、23 制御部、231 ユーザ認証部、232 トークン生成処理部、233 トークン認証処理部、234 ウェブサーバ部、235 トークン更新部、3 ユーザ端末、31 通信部、32 記憶部、33 制御部、34 表示部、35 入力部

Claims (10)

  1. ネットワークを介して相互に通信可能な、同一の共有鍵をそれぞれ保持する複数の通信機器のうちの一の通信機器であって、
    自機が前記複数の通信機器のうちの何れかの通信機器である操作対象機器を操作する操作側機器である場合に、認証データに前記共有鍵でデジタル署名を付加したトークンを生成し、当該トークンを前記操作対象機器に送信するトークン生成処理部と、
    自機が前記操作対象機器である場合に、前記操作側機器から受信したトークンのデジタル署名を前記共有鍵を用いて検証することにより認証を行うトークン認証処理部と、
    前記トークン認証処理部による認証に成功した場合に、前記操作側機器による自機に対する操作を可能とするウェブサーバ部と、を備え
    前記トークン生成処理部は、自機のIPアドレス取得要求を前記操作対象機器に送信することによって前記操作対象機器から見た自機のIPアドレスを取得し、取得した自機のIPアドレスを前記認証データに含ませる、
    通信機器。
  2. 前記トークン生成処理部は、ハッシュベースメッセージ認証符合のアルゴリズムによって、前記認証データと前記共有鍵とを元に算出したMAC値をデジタル署名として付加した前記トークンを生成する、
    請求項1に記載の通信機器。
  3. 前記トークン生成処理部は、前記操作対象機器に接続するためのURLのパラメータに前記トークンを付加することにより、前記トークンを前記操作対象機器に送信する、
    請求項1又は2に記載の通信機器。
  4. 前記トークン生成処理部は、前記トークンを前記URLのパラメータとして付加可能な形式のデータに変換する、
    請求項3に記載の通信機器。
  5. 前記トークン生成処理部は、前記認証データに日時情報を含ませ、
    前記トークン認証処理部は、前記日時情報に基づいて認証を行う、
    請求項1から4の何れか1項に記載の通信機器。
  6. 記トークン認証処理部は、前記認証データに含まれるIPアドレスに基づいて認証を行う、
    請求項1から5の何れか1項に記載の通信機器。
  7. 前記トークンの認証データに含まれる日時情報を修正し、修正後の認証データに付されているデジタル署名を前記共有鍵に基づいて更新するトークン更新部を備える、
    請求項1からの何れか1項に記載の通信機器。
  8. 請求項1からの何れか1項に記載の通信機器を複数有する通信システム。
  9. ネットワークを介して相互に通信可能な、同一の共有鍵をそれぞれ保持する複数の通信機器のうちの一の通信機器による通信方法であって、
    前記一の通信機器が前記複数の通信機器のうちの何れかの通信機器である操作対象機器を操作する操作側機器である場合に、自機のIPアドレス取得要求を前記操作対象機器に送信することによって前記操作対象機器から見た自機のIPアドレスを取得し、取得した自機のIPアドレスを含ませた認証データに前記共有鍵でデジタル署名を付加したトークンを生成し、当該トークンを前記操作対象機器に送信し、
    前記一の通信機器が前記操作対象機器である場合に、前記操作側機器から受信したトークンのデジタル署名を前記共有鍵を用いて検証することにより認証を行い、
    前記認証に成功した場合に、前記操作側機器による自機に対する操作を可能とする、
    通信方法。
  10. ネットワークを介して相互に通信可能な、同一の共有鍵をそれぞれ保持する複数の通信機器のうちの一の通信機器を、
    自機が前記複数の通信機器のうちの何れかの通信機器である操作対象機器を操作する操作側機器である場合に、認証データに前記共有鍵でデジタル署名を付加したトークンを生成し、当該トークンを前記操作対象機器に送信するトークン生成処理部、
    自機が前記操作対象機器である場合に、前記操作側機器から受信したトークンのデジタル署名を前記共有鍵を用いて検証することにより認証を行うトークン認証処理部、
    前記トークン認証処理部による認証に成功した場合に、前記操作側機器による自機に対する操作を可能とするウェブサーバ部、
    として機能させ
    前記トークン生成処理部は、自機のIPアドレス取得要求を前記操作対象機器に送信することによって前記操作対象機器から見た自機のIPアドレスを取得し、取得した自機のIPアドレスを前記認証データに含ませる、
    プログラム。
JP2023578212A 2022-02-01 2022-02-01 通信機器、通信システム、通信方法及びプログラム Active JP7546796B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/003794 WO2023148807A1 (ja) 2022-02-01 2022-02-01 通信機器、通信システム、通信方法及びプログラム

Publications (3)

Publication Number Publication Date
JPWO2023148807A1 JPWO2023148807A1 (ja) 2023-08-10
JPWO2023148807A5 JPWO2023148807A5 (ja) 2024-04-19
JP7546796B2 true JP7546796B2 (ja) 2024-09-06

Family

ID=87553319

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023578212A Active JP7546796B2 (ja) 2022-02-01 2022-02-01 通信機器、通信システム、通信方法及びプログラム

Country Status (2)

Country Link
JP (1) JP7546796B2 (ja)
WO (1) WO2023148807A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005102163A (ja) 2003-09-03 2005-04-14 Sony Corp 機器認証システム、機器認証サーバ、端末機器、機器認証方法、機器認証プログラム、及び記憶媒体
CN101114900A (zh) 2006-07-27 2008-01-30 上海贝尔阿尔卡特股份有限公司 一种组播业务认证方法及其装置、系统
WO2014068632A1 (ja) 2012-10-29 2014-05-08 三菱電機株式会社 設備管理装置、設備管理システム及びプログラム
WO2020071164A1 (ja) 2018-10-01 2020-04-09 二村 憲人 情報通信機器、情報通信機器用認証プログラム及び認証方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5843605B2 (ja) * 2011-06-29 2016-01-13 キヤノン株式会社 印刷制御装置、印刷制御方法、情報処理システム、情報処理装置、情報処理方法およびコンピュータプログラム
JP6221871B2 (ja) * 2014-03-20 2017-11-01 富士ゼロックス株式会社 中継装置及びプログラム
JP6354407B2 (ja) * 2014-07-11 2018-07-11 株式会社リコー 認証システム、認証方法、プログラム及び通信システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005102163A (ja) 2003-09-03 2005-04-14 Sony Corp 機器認証システム、機器認証サーバ、端末機器、機器認証方法、機器認証プログラム、及び記憶媒体
CN101114900A (zh) 2006-07-27 2008-01-30 上海贝尔阿尔卡特股份有限公司 一种组播业务认证方法及其装置、系统
WO2014068632A1 (ja) 2012-10-29 2014-05-08 三菱電機株式会社 設備管理装置、設備管理システム及びプログラム
WO2020071164A1 (ja) 2018-10-01 2020-04-09 二村 憲人 情報通信機器、情報通信機器用認証プログラム及び認証方法

Also Published As

Publication number Publication date
JPWO2023148807A1 (ja) 2023-08-10
WO2023148807A1 (ja) 2023-08-10

Similar Documents

Publication Publication Date Title
CN109428947B (zh) 权限转移系统及其控制方法和存储介质
JP6643373B2 (ja) 情報処理システムと、その制御方法とプログラム
US7904952B2 (en) System and method for access control
JP4148246B2 (ja) 通信システム、証明書更新装置、証明書更新プログラム、通信装置及び代替更新プログラム
KR101130356B1 (ko) 컴퓨팅 시스템의 효율적이고 안전한 인증
US7945779B2 (en) Securing a communications exchange between computers
US8327133B2 (en) Communication device and medium for the same
US7937749B2 (en) Method and system for managing network
US10902107B2 (en) Information processing system, information processing device, server device, method of controlling information processing system, and program
US20120144471A1 (en) Updating stored passwords
US8738920B2 (en) Information processing apparatus and authentication information migration method
JP2012178010A (ja) 情報処理システム、及び情報処理方法
US20240039723A1 (en) Information processing apparatus, non-transitory computer readable medium, and information processing system
KR102520842B1 (ko) 정보 처리 장치, 그 제어 방법 및 그 프로그램
JP4879524B2 (ja) 通信装置、通信システム及びプログラム
US20130067543A1 (en) Printer server, printer control method, and storage medium
JP7546796B2 (ja) 通信機器、通信システム、通信方法及びプログラム
CN114844674A (zh) 动态授权方法、系统、电子设备及存储介质
JP2020053100A (ja) 情報処理システムと、その制御方法とプログラム
JP5729057B2 (ja) 通信装置、通信システムおよびプログラム
JP2025138012A (ja) 通信システム、端末装置、通信デバイス及び方法
JP2021082071A (ja) 情報処理装置とその制御方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240126

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240827

R150 Certificate of patent or registration of utility model

Ref document number: 7546796

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150