(57)【要約】      （修正有）【課題】識別情報を高い精度で抽出する通信装置を提供する。【解決手段】通信装置３０は、パケット通信を行う機器４０から送信されたパケット４００を受信することによって、パケット４００の特徴を表す情報３１０を生成する特徴情報生成部３１と、特徴を表す情報３１０と所定の分類基準３２０とに基づいて、パケット４００をパケット群に分類する分類部３２と、所定の抽出基準３３０に基づいて、パケット４００から、１以上の文字情報を抽出する抽出部３３と、同一のパケット群に属する１以上のパケット４００から抽出された文字情報のうち、文字情報の構成に関するパターン数が条件を満たす文字情報に基づいて、パケットを送信した機器４０を識別可能な識別情報３４０を生成する識別情報生成部３４と、を備える。【選択図】図１２
2022000987.tif 000002
【特許請求の範囲】
【請求項１】
自装置とパケット通信を行う機器から送信されたパケットを識別可能な情報と、
前記パケットを送信した前記機器を識別可能な識別情報と、
を関連付けて表示装置に表示するよう制御する、
通信装置。
【請求項２】
前記機器から送信されたパケットは、ＩｏＴ（Internet of Things）ゲートウェイ装置を介して受信したパケットであって、
前記機器から送信されたパケットを識別可能な情報と、前記パケットを送信した前記機器を識別可能な識別情報とに加えて、前記ＩｏＴゲートウェイ装置を識別可能な識別子を関連付けて表示装置に表示する、
請求項１に記載の通信装置。
【請求項３】
前記機器は、ＩｏＴデバイスであって、
前記パケットを送信した前記機器を識別可能な識別情報として、前記パケットに含まれるＨＴＴＰのＵＲＩ（Uniform Resource Identifier）を、前記表示装置に表示するよう制御する、
請求項１または請求項２に記載の通信装置。
【請求項４】
前記パケットを受信することによって、前記パケットの特徴を表す情報を生成する特徴情報生成手段と、
前記特徴を表す情報と所定の分類基準とに基づいて、前記パケットをパケット群に分類する分類手段と、
所定の抽出基準に基づいて、前記パケットから、１以上の文字情報を抽出する抽出手段と、
同一の前記パケット群に属する１以上の前記パケットから抽出された前記文字情報のうち、前記文字情報の構成に関するパターン数が条件を満たす文字情報に基づいて、前記パケットを送信した前記機器を識別可能な識別情報を生成する識別情報生成手段と、
を備える請求項１乃至請求項３のいずれかに記載の通信装置。
【請求項５】
更に、前記抽出手段によって抽出した文字情報を、少なくとも、該文字情報が含まれていた、前記パケットを識別可能な情報と、前記パケットを送信した前記機器を識別可能な識別情報と共に関連付けて、前記表示装置に表示するよう制御する、
請求項４に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、ＩｏＴ（Internet of Things）デバイスのような、簡易な通信機能を備えた機器との通信を制御する技術に関する。
【背景技術】
【０００２】
近年、簡易なセンサ等を含むあらゆる機器を通信ネットワークに接続し、それらの機器から収集した様々なデータを用いた、複雑なシステム制御を行うことによって、様々なサービスの提供を実現するＩｏＴへの期待が急速に高まってきている。
【０００３】
このようなＩｏＴを用いたサービスの一例として、車載ＩｏＴシステムを用いたタイヤマネジメントサービスがある。このサービスでは、商用車のタイヤの圧力や温度を測定可能なセンサを備え、当該センサは、ＣＡＮ（Controller Area Network）を介して、測定データをリアルタイムにサーバに報告する。そしてこのサービスにおける管理者は、データを解析して最適なタイヤ圧などを維持することによって、燃費やタイヤを維持するコストを抑制できる。このサービスを応用することによって、例えば、サーバによって商用車のパンクなどの異常を検知した場合に、集団走行している周囲の車に警告を発することなども可能となる。
【０００４】
そして、このようなＩｏＴでは、様々な機器（ＩｏＴデバイス）を効率的かつ安全に通信ネットワークに接続することによってシステムを構築する技術が非常に重要となる。
【０００５】
このような技術に関連する技術として、特許文献１には、ＩＰ（Internet Protocol）ネットワークへの接続可能な端末を簡易に設定するネットワーク装置が開示されている。この装置は、複数の端末のアドレスを学習できるか否かを示す学習情報と、ネットワーク装置が転送するパケットを示すアドレス情報と、パケットの転送が許可されるか否かを示すフィルタ情報と、を保持する。この装置は、アドレス情報及びフィルタ情報の少なくとも一方に基づいてパケットを転送する転送部を有する。転送部は、端末からパケットを受信した場合、パケットを受信した際にネットワーク装置がアドレスを学習できるか否かを、学習情報に基づいて判定する。この装置は、アドレスを学習できる場合、受信したパケットの送信元のアドレスをアドレス情報に格納し、アドレスを学習できない場合、受信したパケットの送信元のアドレスをアドレス情報に格納せず、フィルタ情報に含まれるアドレスに基づいて受信したパケットを転送すべきか否かを判定する。
【０００６】
また、特許文献２には、車輪位置に対する個々のタイヤ圧力監視装置への識別子割当てを、車両の移動開始後に速やかに実行するシステムが開示されている。このシステムは、データ電報を第１の時間間隔で伝送し、圧力信号が閾値を超える速度で低下した場合、第１の時間間隔より短い第２の時間間隔で伝送し、回転センサの始動によって、車両を移動開始モードに切り替える。このシステムは、車両を移動開始モードに切り替えた後、データパケットを伝送するプロセスを開始する。このシステムは、回転センサによる車輪の回転の検出を継続するか否かを決定するために、第１のデータパケットを伝送した後に点検を行い、データパケットの伝送プロセスを中断する。このシステムは、回転センサが予め設定された時間間隔内に再始動する場合、データパケットの伝送プロセスを再開する。このシステムは、回転センサが予め設定された間隔経過後に再始動する場合、データパケットの伝送プロセスを再開し、データパケットの伝送を完了した後に、車両を標準的な操作モードへ切り替える。
【０００７】
また、特許文献３には、複数の種別の通信データを適切に制御する通信制御装置が開示されている。この装置は、複数の種別の通信データについて、通信データを制御する方法を判断する基準となる基準データを格納したデータベースを備える。この装置は、複数の種別によらず、基準データの検索対象となる検索対象データが含まれるように、取得した通信データの所定位置から所定長のデータを比較対象データとして抽出する。この装置は、取得した通信データの種別に応じて、抽出された比較対象データのうち、検索対象データ以外のデータをマスクする。この装置は、マスクされた比較対象データに含まれる基準データをデータベースから検索し、その検索結果に応じて、通信データを制御する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第６１１４２１４号公報
【特許文献２】特開２０１０−０６７２６７号公報
【特許文献３】国際公開第２００９／０７５００７号
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述したＩｏＴにおけるＩｏＴデバイスは、通常、クラウド側（サーバ装置側）ではなくエッジ側（物理量を測定する対象側）に大量に配置されるので、備える機能が少ない安価なものが多い。例えば、インターネット等の通信ネットワークと直接通信する機能を備えないＩｏＴデバイスも多く存在する。このようなＩｏＴデバイスは、例えばインターネットとの通信機能を有する、上述したＣＡＮのようなＩｏＴゲートウェイを介して、サーバ装置と通信する。
【００１０】
安価なＩｏＴデバイスは、上述した通信機能の他、例えば通信における暗号化やデバイス認証に関する機能も備えない場合が多い。このため、安価なＩｏＴデバイスによって構成されたＩｏＴシステムは、サイバー攻撃に対して脆弱になることから、なりすまし攻撃等の標的とされる可能性がある。
【００１１】
例えば上述したタイヤマネジメントサービスにおいて、ＣＡＮは、ＩｏＴデバイスから受信したデータを、接続中の全てのデバイスに通報する。また、ＣＡＮは、認証機能をサポートしていないので、サービスを実現するアプリケーションが独自に認証機能を導入することを想定して仕様が構築されている。従って、アプリケーションの提供者が認証機能を提供しなかった場合、ＣＡＮを流れるデータを盗聴し、盗聴したデータを真似た不正データを遠隔から無線通信を介してＣＡＮに流すことなどによって、サイバー攻撃が容易に実行される。タイヤマネジメントサービスにおいて、サイバー攻撃を受けた場合、誤ったタイヤ圧が報告されることによって、サービスを適切に提供できなくなる。
【００１２】
このようなサイバー攻撃への対策の一例として、ファイアウォール機能を利用することによって、送信元アドレスを用いて正規のパケットのみが使用されるようにフィルタリングする方法がある。例えば上述した特許文献１は、通信ネットワークに接続された装置のＩＰアドレスとＭＡＣ（Media Access Control）アドレスとを、デバイス情報を表すホワイトリストとして保有し、当該ホワイトリストをフィルタリング情報として使用する方法を示している。この方法では、受信したパケットの送信元アドレスが当該ホワイトリストに存在しない場合、当該パケットを送信先であるサーバ装置に転送せずに破棄する。即ち、この方法は、送信元デバイスを識別可能な情報に基づいて、ホワイトリストに登録されていない送信元からの不正なパケットを破棄することによって、セキュリティを確保している。
【００１３】
しかしながら、例えば上述した車載ＩｏＴシステム等では、ＩｏＴゲートウェイから送信されたパケットから送信元のＩｏＴデバイスを識別可能な識別情報を抽出することが困難であり、正規なデバイスと不正なデバイスとを区別するのが困難であるという問題がある。なぜなら、インターネットに接続された通信機器が、ＩｏＴデバイスから送信されたパケットのどの部分にＩｏＴデバイスの識別情報が存在するのかが分からない場合があるからである。
【００１４】
例えば、識別情報がＩＰアドレスやＭＡＣアドレス等である場合、パケットに関するフォーマット情報に基づいて、アドレスを示す情報の格納場所を把握可能である。しかしながら、上述した通り、安価なＩｏＴデバイスにはインターネットと直接通信する機能を備えないものも多い。この場合、ＩｏＴデバイスは、ＩｏＴゲートウェイを経由してサーバ装置にデータを含むパケットを送信する。そしてこの場合、パケットに付与されるＩＰアドレスやＭＡＣアドレスは、ＩｏＴゲートウェイに関するアドレスが用いられるので、ＩｏＴデバイス自体を識別する識別情報として使用することができない。
【００１５】
また、ＩｏＴデバイスから送信されたパケットは、通常、送信元であるＩｏＴデバイスを識別可能な識別情報を含むはずであるが、パケットの構成について、その仕様が公開されていない場合や、正式に仕様化されていない場合も多い。このため、インターネットに接続された通信機器は、ＩｏＴデバイスから送信されたパケットのどの部分に当該識別情報が存在するのかを認識することができない。そして、当該識別情報を認識することができなければ、例えば上述したようなセキュリティを確保することなどを実現することが困難となる。特許文献１乃至３は、この問題については特に言及していない。本願発明の主たる目的は、この問題を解決する通信装置等を提供することである。
【課題を解決するための手段】
【００１６】
本願発明の一態様に係る通信装置は、パケット通信を行う機器から送信されたパケットを受信することによって、前記パケットの特徴を表す情報を生成する特徴情報生成手段と、前記特徴を表す情報と所定の分類基準とに基づいて、前記パケットをパケット群に分類する分類手段と、所定の抽出基準に基づいて、前記パケットから、１以上の文字情報を抽出する抽出手段と、同一の前記パケット群に属する１以上の前記パケットから抽出された前記文字情報のうち、前記文字情報の構成に関するパターン数が条件を満たす文字情報に基づいて、前記パケットを送信した前記機器を識別可能な識別情報を生成する識別情報生成手段と、を備える。
【００１７】
上記目的を達成する他の見地において、本願発明の一態様に係る通信方法は、情報処理装置によって、パケット通信を行う機器から送信されたパケットを受信することによって、前記パケットの特徴を表す情報を生成し、前記特徴を表す情報と所定の分類基準とに基づいて、前記パケットをパケット群に分類し、所定の抽出基準に基づいて、前記パケットから、１以上の文字情報を抽出し、同一の前記パケット群に属する１以上の前記パケットから抽出された前記文字情報のうち、前記文字情報の構成に関するパターン数が条件を満たす文字情報に基づいて、前記パケットを送信した前記機器を識別可能な識別情報を生成する。
【００１８】
また、上記目的を達成する更なる見地において、本願発明の一態様に係る通信プログラムは、パケット通信を行う機器から送信されたパケットを受信することによって、前記パケットの特徴を表す情報を生成する特徴情報生成処理と、前記特徴を表す情報と所定の分類基準とに基づいて、前記パケットをパケット群に分類する分類処理と、所定の抽出基準に基づいて、前記パケットから、１以上の文字情報を抽出する抽出処理と、同一の前記パケット群に属する１以上の前記パケットから抽出された前記文字情報のうち、前記文字情報の構成に関するパターン数が条件を満たす文字情報に基づいて、前記パケットを送信した前記機器を識別可能な識別情報を生成する識別情報生成処理と、をコンピュータに実行させる。
【００１９】
更に、本願発明は、係る通信プログラム（コンピュータプログラム）が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
【発明の効果】
【００２０】
本願発明は、パケットの送信元である機器を識別可能な識別情報が、当該パケットのどの部分に存在するのかが不明である場合であっても、当該識別情報を高い精度で抽出することを可能とする。
【図面の簡単な説明】
【００２１】
【図１】本願発明の第１の実施形態に係る通信システム１の構成を示すブロック図である。
【図２】本願発明の第１の実施形態に係るパケット管理テーブル１１１の構成を例示する図である。
【図３】本願発明の第１の実施形態に係る分類基準１２０の構成を例示する図である。
【図４】本願発明の第１の実施形態に係るパケット管理テーブル１２１の構成を例示する図である。
【図５】本願発明の第１の実施形態に係る抽出部１３による、抽出基準１３０に基づく文字情報を抽出する動作を説明する図である。
【図６】本願発明の第１の実施形態に係るパケット管理テーブル１３１の構成を例示する図である。
【図７】本願発明の第１の実施形態に係る識別情報生成部１４による識別情報１４０を生成する動作を説明する図である。
【図８】本願発明の第１の実施形態に係る通信装置１０の動作を示すフローチャートである。
【図９】本願発明の第１の実施形態の変形例に係る通信システム１Ａの構成を示すブロック図である。
【図１０】本願発明の第１の実施形態の変形例に係る送信制御情報１５１Ａの構成を例示する図である。
【図１１】本願発明の第１の実施形態の変形例に係る通信装置１０Ａの動作を示すフローチャートである。
【図１２】本願発明の第２の実施形態に係る通信装置３０の構成を示すブロック図である。
【図１３】本願発明の各実施形態に係る通信装置を実行可能な情報処理装置９００の構成を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【００２３】
＜第１の実施形態＞
図１は、本願発明の第１の実施の形態に係る通信システム１の構成を示すブロック図である。通信システム１は、大別して、通信装置１０、表示装置２０、サーバ装置２１、１以上のＩｏＴゲートウェイ２２、及び、１以上のＩｏＴデバイス２３を有する。
【００２４】
ＩｏＴデバイス２３は、例えば、その設置場所の周辺環境に関する物理量（例えば温度や湿度等）、あるいは、測定対象物に関する物理量（例えば、温度や移動における加速度等）を測定する安価なセンサである。ＩｏＴデバイス２３は、あるいは、自デバイスの状態を測定してもよい。ＩｏＴデバイス２３は、インターネット等の通信ネットワークに接続された機器と直接通信を行う機能を備えておらず、ＩｏＴゲートウェイ２２を介して当該機器と通信可能であることとする。即ち、ＩｏＴデバイス２３は、上述した物理量を測定した結果を表すパケット（データ）を、ＩｏＴゲートウェイ２２を介して、サーバ装置２１へ送信する。
【００２５】
ＩｏＴデバイス２３は、例えば、ＢＬＥ（Bluetooth Low Energy：但し、Bluetoothは登録商標）を介してＩｏＴゲートウェイ２２と通信する。ＩｏＴデバイス２３は、あるいは例えば、ＺｉｇＢｅｅ（登録商標）等の他の規格の無線通信、あるいは有線通信を介して、ＩｏＴゲートウェイ２２と通信してもよい。
【００２６】
ＩｏＴゲートウェイ２２は、例えば、ＬＴＥ（Long Term Evolution）（登録商標）等の公衆携帯電話網を介して、通信装置１０と通信する。ＩｏＴゲートウェイ２２は、あるいは例えば、Ｗｉ−Ｆｉ（登録商標）等の無線ＬＡＮ（Local Area Network）を介して、通信装置１０と通信してもよい。
【００２７】
サーバ装置２１は、ＩｏＴデバイス２３から受信した上述した物理量を測定した結果を利用することによって、様々なサービスを提供する情報処理装置である。通信装置１０は、ＩｏＴデバイス２３がＩｏＴゲートウェイ２２を介してサーバ装置２１と行うパケット通信を中継する装置である。通信装置１０は、サーバ装置２１、あるいはサーバ装置２１とＩｏＴゲートウェイ２２との間で行われる通信を中継する既存の中継装置に従属する（実装される）装置であってもよい。
【００２８】
本実施形態に係る通信装置１０は、特徴情報生成部１１、分類部１２、抽出部１３、識別情報生成部１４、及び、パケット通信部１５を備えている。
【００２９】
パケット通信部１５は、ＩｏＴデバイス２３がＩｏＴゲートウェイ２２を介してサーバ装置２１へ送信するパケットを中継する。パケット通信部１５は、ＩｏＴゲートウェイ２２から受信したパケットを、例えば図１３を参照して後述する、通信装置１０が備えるＲＡＭ（Random Access Memory）９０３等のメモリに格納する。パケット通信部１５は、受信したパケットに対して、当該パケットを一意に識別可能なパケット番号を付与する。パケット通信部１５は、受信したパケットに関して、付与したパケット番号と、当該パケットを格納したメモリにおけるアドレスとを関連付けて、特徴情報生成部１１に通知する。
【００３０】
特徴情報生成部１１は、パケット通信部１５がパケットを受信したときの状況や、受信したパケットの態様等に基づいて、当該パケットの特徴量１１０（特徴情報）を算出（生成）する。例えば、特徴量１１０は、パケット通信部１５が受信したパケットの大きさである。特徴情報生成部１１は、メモリに格納されたパケットが占有するメモリ容量、あるいは、ＴＣＰ（Transmission Control Protocol）等の通信プロトコルに関するヘッダ情報等に基づいて、パケットの大きさを算出することができる。
【００３１】
特徴情報生成部１１は、あるいは、特定のネットワーク属性を有する特定のパケットのみに関して、特徴量１１０を算出してもよい。但し、ネットワーク属性とは、ＩＰアドレス、あるいはポート番号、あるいは通信プロトコル等、通信ネットワークに接続された機器がパケットを送受信するために必要となる規定された情報を表す。特徴情報生成部１１は、例えば、ＵＤＰ（User Datagram Protocol）を用いて送信された特定のパケットのみに関する特徴量１１０を算出してもよいし、あるいは、ＴＣＰセッションを確立するための特定のパケットのみに関して特徴量１１０を算出してもよい。
【００３２】
特徴情報生成部１１は、あるいは、当該パケットを受信した時刻と１つ前のパケットを受信した時刻との差分、あるいは当該パケットが属する（ＴＣＰ）セッションの接続時間（接続期間）、あるいは当該セッションに属するパケット数、あるいは当該パケットの送信間隔、あるいは当該パケットの受信時刻等を、特徴量１１０として算出してもよい。特徴情報生成部１１は、あるいは、複数のパケットに関する特徴量１１０に関して、統計計算（平均値や分布等）を行った結果を、それら複数のパケットに関する特徴量１１０としてもよい。特徴情報生成部１１は、算出した特徴量１１０を表すパケット管理テーブル１１１を生成し、生成したパケット管理テーブル１１１を、ＲＡＭ９０３等のメモリに格納する。
【００３３】
図２は、本実施形態に係るパケット管理テーブル１１１の構成を例示する図である。図２に例示する通り、パケット管理テーブル１１１は、少なくとも、パケット通信部１５によって付与されたパケット番号と、パケットが格納されたメモリアドレスと、特徴量１１０の種類と、特徴量１１０の数値とが関連付けされた情報である。
【００３４】
図２に例示するパケット管理テーブル１１１によれば、例えばパケット番号が０００１であるパケット（本明細書では以降、パケット０００１と称し、他のパケット番号が付与されたパケットについても同様とする）は、メモリアドレス１に格納され、パケット０００１の大きさは５バイトであり、パケット０００１の送信周期は５秒である。また、図２に例示するパケット管理テーブル１１１によれば、パケット０００２は、メモリアドレス２に格納され、パケット０００２の大きさは１５バイトであり、パケット０００２の送信周期は１００秒である。特徴情報生成部１１は、生成したパケット管理テーブル１１１を、図１に示す分類部１２に通知する。
【００３５】
分類部１２は、特徴情報生成部１１によって生成されたパケット管理テーブル１１１が示す特徴量１１０と所定の分類基準１２０とに基づいて、パケット通信部１５が受信したパケットをパケット群（グループ）に分類する。但し、分類基準１２０は、例えば通信装置１０の管理者等によって、例えば、ＲＡＭ９０３等のメモリに事前に格納されていることとする。また、パケット群とは、例えば、特徴量１１０が等しいあるいは類似する（即ち、特徴量１１０に関する類似度に基づいて分類された）パケットの集合のことである。本実施形態に係る分類部１２は、パケット群の個々に対して、一意に識別可能な識別子（例えば特徴量の種類を表す名称と通し番号との組み合わせ）を割り当てることとする。
【００３６】
図３は、本実施形態に係る分類基準１２０の構成を例示する図である。図３に例示する分類基準１２０によれば、大きさが１０バイト以下であるパケットは、「パケットサイズ１」というパケット群に分類され、大きさが１１乃至２０バイトであるパケットは、「パケットサイズ２」というパケット群に分類され、大きさが２１バイト以上であるパケットは、「パケットサイズ３」というパケット群に分類される。また、図３に例示する分類基準１２０によれば、送信周期が１０秒未満であるパケットは、「送信周期１」というパケット群に分類され、送信周期が１０秒以上であるパケットは、「送信周期２」というパケット群に分類される。
【００３７】
分類部１２は、パケット通信部１５が受信したパケットを分類基準１２０に基づいてパケット群に分類した結果を、特徴情報生成部１１によって生成されたパケット管理テーブル１１１に組み込むことによって、パケット管理テーブル１２１を生成する。
【００３８】
図４は、本実施形態に係るパケット管理テーブル１２１の構成を例示する図である。図４に例示するパケット管理テーブル１２１によれば、分類部１２は、パケット０００１を、パケットの大きさに関しては「パケットサイズ１」というパケット群に分類するとともに、パケットの送信周期に関しては「送信周期１」というパケット群に分類する。また、図４に例示するパケット管理テーブル１２１によれば、分類部１２は、パケット０００２を、パケットの大きさに関しては「パケットサイズ２」というパケット群に分類するとともに、パケットの送信周期に関しては「送信周期２」というパケット群に分類する。分類部１２は、生成したパケット管理テーブル１２１を、図１に示す抽出部１３に通知する。
【００３９】
抽出部１３は、分類部１２によって生成されたパケット管理テーブル１２１と所定の抽出基準１３０とに基づいて、各パケットから、１以上の文字列（文字情報）を抽出する。但し文字列とは、文字コードにより特定される文字により構成される列のことである。尚、抽出基準１３０は、例えば通信装置１０の管理者等によって、例えば、ＲＡＭ９０３等のメモリに事前に格納されていることとする。
【００４０】
抽出部１３は、例えば、下記の２つの処理を順に行うことによって、パケットに含まれる文字列（文字情報）を抽出する。即ち、抽出部１３は、１番目の処理として、パケットに関するポート番号に基づいて、パケットの送受信に関する通信プロトコルを判定する。そして、抽出部１３は、２番目の処理として、判定した通信プロトコルに応じて、パケットにおけるヘッダあるいはペイロードにおける特定の範囲から文字列を抽出する。
【００４１】
抽出部１３は、上述した１番目の処理に関して、ポート番号を管理する組織であるＩＡＮＡ（Internet Assigned Numbers Authority）によって定められた規定に従って、通信プロトコルを判定する。抽出部１３は、具体的には例えば、パケットに関するポート番号が「８０」である場合、ＯＳＩ（Open Systems Interconnection）参照モデルにおけるアプリケーション層の通信プロトコルをＨＴＴＰ（Hyper Text Transfer Protocol）と判定し、ポート番号が「１８８３」である場合、通信プロトコルをＭＱＱＴ（Message Queueing Telemetry Transport）と判定する。
【００４２】
次に図５を参照して、抽出部１３による、抽出基準１３０に基づく、上述した２番目の処理について説明する。但し、図５に示す例では、抽出部１３は、上述した１番目の処理によって、通信プロトコルをＨＴＴＰと判定し、パケットに含まれるＨＴＴＰのＵＲＩ（Uniform Resource Identifier）を、文字列（文字情報）を抽出する対象とする。尚、抽出部１３は、上述した１番目の処理によって、通信プロトコルをＭＱＱＴと判定した場合は、ＭＱＱＴのペイロードを、文字列を抽出する対象とする。
【００４３】
図５に示す例において、文字列を抽出する対象とするＵＲＩは「/Gateway_01/Sensor01/Temperature」である。但し、「Gateway_01」は、図１において、通信装置１０に対してパケットを送信したＩｏＴゲートウェイ２２を識別可能な識別子である。「Sensor01」は、パケットの送信元であるＩｏＴデバイス２３を識別可能な識別子である。そして「Temperature」は、当該パケットが温度情報を表すパケットであることを示す文字列である。
【００４４】
抽出部１３は、まず、抽出基準１３０に基づいて、ＵＲＩに含まれる「/」及び「_」を、文字列を分割して抽出する際の境界を表す文字として認識する。これにより、抽出部１３は、図５における文字情報一次抽出結果として示す通り、「/Gateway_01/Sensor01/Temperature」から、「Gateway」、「01」、「Sensor01」、「Temperature」という４つの文字列を抽出する。
【００４５】
抽出部１３は、次に、文字の種別が変わった箇所において、文字列をさらに分割する。但し、文字の種別とは、例えばアルファベット、数字、記号、漢字等のことである。図５に示す例において、抽出部１３は、文字情報一次抽出結果として抽出した文字列のうち、「Sensor01」を、さらに「Sensor」と「01」とに分割して抽出する。このようにして、抽出部１３は、図５における文字情報二次抽出結果として示す通り、「/Gateway_01/Sensor01/Temperature」から、「Gateway」、「01」、「Sensor」、「01」、「Temperature」という５つの文字列を抽出する。
【００４６】
抽出部１３は、また、各文字列を抽出した順番を算出する。抽出部は、例えば図５に例示する通り、抽出した各文字列に関して、ＵＲＩの先頭からのバイト位置を比較することによって、そのバイト位置の値が小さい順に、文字列を抽出した順番を決定する。
【００４７】
抽出部１３は、パケット通信部１５が受信したパケットから抽出基準１３０に基づいて上述した通りに文字列（文字情報）を抽出した結果を、分類部１２によって生成されたパケット管理テーブル１２１に組み込むことによって、パケット管理テーブル１３１を生成する。
【００４８】
図６は、本実施形態に係るパケット管理テーブル１３１の構成を例示する図である。図６に例示するパケット管理テーブル１３１によれば、抽出部１３が文字列を抽出する対象とするＵＲＩは、パケット０００１、パケット０００２、パケット０００３に関して、順に、「/Gateway_01/Temperature/SensorA」、「/Gateway_01/Acceleration/SensorA」、「/Gateway_01/Temperature/SensorB」である。但し、パケット０００２において、「Acceleration」は、当該パケットが加速度情報を表すパケットであることを示す文字列である。抽出部１３は、生成したパケット管理テーブル１３１を、図１に示す識別情報生成部１４に通知する。
【００４９】
識別情報生成部１４は、抽出部１３によって生成されたパケット管理テーブル１３１に基づいて、同一のパケット群に属する各パケットから抽出された文字列（文字情報）のうち、文字列の構成に関するパターン数（種類数）がある条件を満たす文字列を特定する。例えば、２つのパケットから各々抽出された文字列がいずれも「ABC」という同一の文字列である場合、そのパターン数は「１」となり、２つのパケットから各々抽出された文字列が「ABC」と「ABD」という異なる文字列である場合、そのパターン数は「２」となる。そして、識別情報生成部１４は、特定した文字列に基づいて、パケットを送信したＩｏＴデバイス２３を識別可能な識別情報１４０を生成する。本実施形態に係る識別情報生成部１４は、例えばパターン数が最も多いことを当該ある条件とする。即ち、識別情報生成部１４は、抽出された複数の文字列のうち、ユニークな文字列（互いに区別可能な文字列）の数が最も多い文字列を特定する。
【００５０】
図６に例示するパケット管理テーブル１３１によれば、パケット０００１及びパケット０００３は、いずれも、パケットの大きさに関して「パケットサイズ１」というパケット群に属し、パケットの送信周期に関して「送信周期１」というパケット群に属する。従って、識別情報生成部１４は、パケット０００１及びパケット０００３を、２つのパケット群の組み合わせに関して、同一のパケット群に属するパケットとして特定する。
【００５１】
図７は、同一のパケット群に属する各パケットに関して、識別情報生成部１４による識別情報１４０を生成する動作を説明する図である。識別情報生成部１４は、抽出順番が等しい文字列について、文字列に関するパターン数を算出する。
【００５２】
図７によれば、抽出順番が「１」である文字列は、パケット０００１及びパケット０００３とも「Gateway」という同一の文字列である。従って、識別情報生成部１４は、抽出順番が「１」である文字列に関するパターン数を「１」と算出する。このことは、抽出された「Gateway」という文字列によっては、パケット０００１の送信元であるＩｏＴデバイス２３とパケット０００３の送信元であるＩｏＴデバイス２３とを一意に識別することができないことを示している。
【００５３】
図７によれば、抽出順番が「２」である文字列は、パケット０００１及びパケット０００３とも「01」という同一の文字列であり、抽出順番が「３」である文字列は、パケット０００１及びパケット０００３とも「Temperature」という同一の文字列である。従って、識別情報生成部１４は、抽出順番が「２」及び「３」である文字列に関するパターン数も同様に「１」と算出する。
【００５４】
図７によれば、抽出順番が「４」である文字列は、パケット０００１に関しては「SensorA」であり、パケット０００３に関しては「SensorB」であり、これら２つの文字列は異なっている。従って、識別情報生成部１４は、抽出順番が「４」である文字列に関するパターン数を「２」と算出する。
【００５５】
以上により、図７に示す例では、識別情報生成部１４は、抽出順番が「４」である文字列が、パターン数が最も多くなる文字列として特定する。そして、識別情報生成部１４は、パケット０００１から抽出順番が「４」である文字列として抽出された「SensorA」を、パケット０００１を送信したＩｏＴデバイス２３を識別可能な識別情報１４０として生成する。識別情報生成部１４は、また、パケット０００３から抽出順番が「４」である文字列として抽出された「SensorB」を、パケット０００３を送信したＩｏＴデバイス２３を識別可能な識別情報１４０として生成する。
【００５６】
また、図６に例示するパケット管理テーブル１３１によれば、パケット０００２が属するパケット群に属する他のパケットは存在しない。このような場合、識別情報生成部１４は、例えば、パケット０００２を送信したＩｏＴデバイス２３を識別可能な識別情報１４０を、パケット０００１及びパケット０００３に関する識別情報１４０と整合するように生成する。即ち、識別情報生成部１４は、パケット０００２から抽出順番が「４」である文字列として抽出された「SensorA」を、パケット０００２を送信したＩｏＴデバイス２３を識別可能な識別情報１４０として生成する。
【００５７】
識別情報生成部１４は、また、パケットと、当該パケットに関する識別情報１４０と、を関連付けて、図１に示す表示装置２０に表示する。表示装置２０は、例えばモニター等の装置である。識別情報生成部１４は、例えばパケット管理テーブル１３１が図６に例示する内容を示す場合、パケット０００１、パケット０００２、パケット０００３の送信元であるＩｏＴデバイス２３に関する識別情報１４０は、順に、「SensorA」、「SensorA」、「SensorB」であることを、表示装置２０に表示する。識別情報生成部１４は、また、各パケットを送信したＩｏＴゲートウェイ２２の識別子や、各パケットに含まれるＵＲＩ等も含めて、表示装置２０に表示するようにしてもよい。
【００５８】
次に図８のフローチャートを参照して、本実施形態に係る通信装置１０の動作（処理）について詳細に説明する。
【００５９】
パケット通信部１５は、ＩｏＴデバイス２３からサーバ装置２１に対して送信されたパケットを受信し、受信したパケットをサーバ装置２１に転送するとともに、自装置内のメモリに保存する（ステップＳ１０１）。特徴情報生成部１１は、パケット通信部１５がパケットを受信したときの状況や、受信したパケットの態様等に基づいて、パケットの特徴量１１０を算出し、その算出結果を表すパケット管理テーブル１１１を生成する。（ステップＳ１０２）。
【００６０】
分類部１２は、パケット管理テーブル１１１と分類基準１２０とに基づいて、パケットをパケット群に分類し、その分類結果をパケット管理テーブル１１１に組み込むことによって、パケット管理テーブル１２１を生成する（ステップＳ１０３）。抽出部１３は、パケット管理テーブル１２１と抽出基準１３０に基づいて、１以上のパケットから１以上の文字列を抽出し、その抽出結果をパケット管理テーブル１２１に組み込むことによって、パケット管理テーブル１３１を生成する（ステップＳ１０４）。
【００６１】
識別情報生成部１４は、パケット管理テーブル１３１によって示される、同一のパケット群に属する各パケットから抽出された文字列のうち、パターン数が最も多い文字列を特定し、特定した文字列に基づいて、パケットを送信したＩｏＴデバイス２３を識別可能な識別情報１４０を生成する（ステップＳ１０５）。識別情報生成部１４は、パケットと、当該パケットに関する識別情報１４０とを関連付けて、表示装置２０に表示し（ステップＳ１０６）、全体の処理は終了する。
【００６２】
本実施形態に係る通信装置１０は、パケットの送信元である機器を識別可能な識別情報が、当該パケットのどの部分に存在するのかが不明である場合であっても、当該識別情報を高い精度で抽出することができる。その理由は、通信装置１０は、パケットの特徴を表す情報を生成して、その特徴を表す情報に基づいてパケットをパケット群に分類し、同一のパケット群に属するパケットから抽出した文字情報のうち、文字情報の構成に関するパターン数が条件を満たす文字情報に基づいて、パケットの送信元である機器を識別可能な識別情報を生成するからである。
【００６３】
以下に、本実施形態に係る通信装置１０によって実現される効果について、詳細に説明する。
【００６４】
ＩｏＴシステムにおけるＩｏＴデバイスは、通常、エッジ側に大量に配置されるので、備える機能が少ない安価なものが多く、例えば、インターネット等の通信ネットワークと直接通信する機能を備えないＩｏＴデバイスも多く存在する。このようなＩｏＴシステムにおいて、ＩｏＴゲートウェイを経由してサーバ装置に送信されるパケットに付与されるＩＰアドレスやＭＡＣアドレスは、ＩｏＴゲートウェイに関するアドレスが用いられるので、ＩｏＴデバイス自体を識別する識別情報として使用することができない。また、ＩｏＴデバイスから送信されたパケットは、通常、送信元であるＩｏＴデバイスを識別可能な識別情報を含むはずであるが、パケットの構成について、その仕様が公開されていない場合や、正式に仕様化されていない場合も多い。このため、インターネットに接続された通信機器は、ＩｏＴデバイスから送信されたパケットのどの部分に当該識別情報が存在するのかを認識することができない。そして、当該識別情報を認識することができなければ、例えばＩｏＴシステムのセキュリティを確保することなどが困難となるという問題がある。
【００６５】
このような問題に対して、本実施形態に係る通信装置１０は、特徴情報生成部１１と、分類部１２と、抽出部１３と、識別情報生成部１４とを備え、図１乃至図８を参照して上述した通り動作する。即ち、特徴情報生成部１１は、パケット通信を行うＩｏＴデバイス２３から送信されたパケットを受信することによって、当該パケットの特徴を表す情報（特徴量１１０）を生成（算出）する。分類部１２は、当該特徴を表す情報と所定の分類基準１２０とに基づいて、当該パケットをパケット群に分類する。抽出部１３は、所定の抽出基準１３０に基づいて、当該パケットから、１以上の文字情報を抽出する。そして、識別情報生成部１４は、同一のパケット群に属する１以上のパケットから抽出された文字情報のうち、文字情報の構成に関するパターン数が条件を満たす文字情報に基づいて、パケットを送信したＩｏＴデバイス２３を識別可能な識別情報１４０を生成する。
【００６６】
ここで、同一のパケット群に属するパケットから抽出した文字列に関してパターン数を比較することによる効果について、図６を参照してより詳細に説明する。
【００６７】
図６に例示する通り、ＩｏＴデバイス２３から送信されたパケットに含まれるＵＲＩには、収集した物理量の種別を表す情報を含むことが多い。例えば、温度情報を含むパケット０００１とパケット０００３が示すＵＲＩは、ＩｏＴデバイス２３を識別可能な「SensorA」あるいは「SensorB」の他、「Temperature」という文字列を含んでいる。また、加速度情報を含むパケット０００２が示すＵＲＩは、ＩｏＴデバイス２３を識別可能な「SensorA」の他、「Acceleration」という文字列を含んでいる。
【００６８】
図６において、パケット管理テーブル１３１の右側に記載したパターン数は、特徴量１１０に基づいてパケットをパケット群に分類しない場合における、各パケットから抽出された文字列に関するパターン数を示している。例えば、文字情報抽出順番が「１」である文字列に関して、パケット０００１乃至０００３から抽出された文字列は「Gateway」のみであり、そのパターン数は「１」である。文字情報抽出順番が「２」である文字列に関して、パケット０００１乃至０００３から抽出された文字列は「01」のみであり、そのパターン数は「１」である。文字情報抽出順番が「３」である文字列に関して、パケット０００１乃至０００３から抽出された文字列は「Temperature」あるいは「Acceleration」であり、そのパターン数は「２」である。文字情報抽出順番が「４」である文字列に関して、パケット０００１乃至０００３から抽出された文字列は「SensorA」あるいは「SensorB」であり、そのパターン数は「２」である。
【００６９】
したがって、パターン数が条件を満たす（最大となる）文字列のうち、例えば文字情報抽出順番が最小（順番が最も早い）となるものに基づいて識別情報１４０を生成した場合、本来、識別情報１４０として期待される「SensorA」あるいは「SensorB」ではなく、「Temperature」あるいは「Acceleration」に基づいて識別情報１４０が生成されることになり、識別情報１４０としての精度が低下する。
【００７０】
一般的に、ＩｏＴデバイス２３が収集（センシング）する情報の種類と、パケットの特徴量１１０とは相関性が高い。例えば、同じ物理量（例えば温度情報）を収集する２つのＩｏＴデバイス２３に関して、ＩｏＴデバイス２３から送信されたパケットの特徴（パケットサイズや送信周期等）は類似する。これに対して、異なる物理量（例えば温度情報と加速度情報）を収集する２つのＩｏＴデバイス２３に関して、ＩｏＴデバイス２３から送信されたパケットの特徴は大きく異なる。通信装置１０は、ＩｏＴデバイス２３が収集する情報の種類とパケットの特徴量１１０との相関性を利用することによって、機能的に類似するＩｏＴデバイス２３から送信されたパケットが、同一のパケット群に属するように分類する。
【００７１】
そして、本実施形態に係る通信装置１０は、パケットから抽出した文字列のパターン数を比較する際に、比較対象とするパケットを、同一のパケット群に属する（即ち特徴が類似する）パケットに絞り込むことによって、上述した例が示すような、本来、識別情報１４０として期待される特定の文字列以外の文字列（例えば収集された物理量の種別等を表す文字列）に基づいて識別情報１４０を生成することを回避する。これにより、本実施形態に係る通信装置１０は、パケットの送信元である機器を識別可能な識別情報が、当該パケットのどの部分に存在するのかが不明である場合であっても、当該識別情報を高い精度で抽出することができる。
【００７２】
また、本実施形態に係る識別情報生成部１４が識別情報１４０を生成する際の条件は、パケットから抽出された文字列のうち、パターン数が最大となる文字列に基づくことに限定されない。例えば、ある複数のＩｏＴデバイス２３に関して、それらを個々に識別することが求められない（識別に関して高い分解能が要求されない）場合などでは、識別情報生成部１４は、パターン数が閾値以上であること等を当該条件として用いてもよい。
【００７３】
また、本実施形態に係る抽出基準１３０は、文字情報として、パケットに含まれるアプリケーション層におけるプロトコルのヘッダあるいはペイロードを表す文字列を抽出することを表している。即ち、本実施形態に係る通信装置１０は、ＩｏＴデバイス２３から送信されるパケットに関する既存の仕様を抽出基準１３０として使用するので、既存のシステムに通信装置１０を実装するのに要するコストを抑えることができる。
【００７４】
また、本実施形態に係る抽出基準１３０は、特定の文字によって区切られた文字列、あるいは、文字の種別が変わることによって区切られた文字列を抽出するという簡易な基準であるので、通信装置１０の管理者は、抽出基準１３０を容易に作成することができる。
【００７５】
また、本実施形態に係る識別情報生成部１４は、複数のパケットの各々から抽出された文字列のうち、先頭に位置する文字列からの順番が等しい位置にある文字列に基づいて、複数のパケットの各々に関する識別情報１４０を生成する。これにより、本実施形態に係る通信装置１０は、複数のＩｏＴデバイス２３の間において整合するように、識別情報１４０を生成することができる。
【００７６】
また、本実施形態に係る識別情報生成部１４は、パケットと、パケットに関する識別情報１４０と、を関連付けて表示装置２０に表示する。これにより、本実施形態に係る通信装置１０は、通信装置１０の管理者による識別情報１４０の確認を容易にすることができる。
【００７７】
＜第１の実施形態の変形例＞
図９は、本願発明の第１の実施形態の変形例に係る通信システム１Ａの構成を示すブロック図である。通信システム１Ａは、大別して、通信装置１０Ａ、表示装置２０、サーバ装置２１−１乃至２１−ｎ（但し、ｎは任意の整数）、１以上のＩｏＴゲートウェイ２２、及び、１以上のＩｏＴデバイス２３を有する。尚、本変形例に係る通信システム１Ａに含まれる構成のうち、その機能が上述した第１の実施形態と等しい構成に関しては、第１の実施形態と同一の番号を付与することによって、その詳細な説明を省略する。
【００７８】
本変形例に係る通信装置１０Ａは、特徴情報生成部１１、分類部１２、抽出部１３、識別情報生成部１４、及び、パケット通信部１５Ａを備えている。即ち、本変形例に係る通信装置１０Ａは、パケット通信部１５Ａに関して、その機能が上述した第１の実施形態に係る通信装置１０とは異なる。
【００７９】
パケット通信部１５Ａは、制御部１５０Ａを備える。制御部１５０Ａは、受信したパケットを送信先であるサーバ装置２１−ｉ（ｉは１乃至ｎのいずれかの整数）に転送することを一旦保留するとともに、自装置内のメモリに保存する。制御部１５０Ａは、ＩｏＴデバイス２３からＩｏＴゲートウェイ２２を介して受信したパケットに関する識別情報１４０と、送信制御情報１５１Ａとに基づいて、自装置内のメモリに保存したパケットの送信を制御する。
【００８０】
本変形例に係る送信制御情報１５１Ａは、識別情報１４０によって識別されるパケットの送信元であるＩｏＴデバイス２３が、事前に確認されている安全なデバイスであるかどうかを示すホワイトリストであることとする。そして、送信制御情報１５１Ａは、識別情報１４０が登録されているパケットに関して、通信装置１０Ａから当該パケットを送信する経路（送信先であるサーバ装置２１−ｉ）等を示すこととする。送信制御情報１５１Ａは、また、識別情報１４０が登録されていないパケットに関して、当該パケットを廃棄すること等を示すこととする。
【００８１】
図１０は、本変形例に係る送信制御情報１５１Ａの構成を例示する図である。図１０に例示する送信制御情報１５１Ａによれば、制御部１５０Ａは、識別情報１４０が「SensorA」を示すことによって識別されるＩｏＴデバイス２３から送信されたパケットを、当該パケットに含まれる情報が示す送信先であるサーバ装置２１−ｉに転送する。また、図１０に例示する送信制御情報１５１Ａによれば、制御部１５０Ａは、識別情報１４０が「SensorB」を示すことによって識別されるＩｏＴデバイス２３から送信されたパケットを、当該パケットに含まれる情報が示す送信先であるサーバ装置２１−ｉに転送するとともに、当該パケットのコピーをサーバ装置２１−ｊ（ｊは１乃至ｎのうち、ｉとは異なるいずれかの整数）に送信する。但し、サーバ装置２１−ｊは、例えば、運用系のサーバ装置と待機系のサーバ装置とを備えた通信システム１Ａにおける待機系のサーバ装置である。
【００８２】
また、図１０に例示する送信制御情報１５１Ａによれば、制御部１５０Ａは、識別情報１４０が送信制御情報１５１Ａに登録されていないＩｏＴデバイス２３から送信されたパケットを、当該パケットに含まれる情報が示す送信先であるサーバ装置に転送せず（廃棄する）、サーバ装置２１−ｎに送信する。但し、サーバ装置２１−ｎは、例えば、パケットが不正であるか否かを解析する検疫サーバ装置である。
【００８３】
次に図１１のフローチャートを参照して、本変形例に係る通信装置１０Ａの動作（処理）について詳細に説明する。
【００８４】
パケット通信部１５Ａは、ＩｏＴデバイス２３からサーバ装置２１−ｉに対して送信されたパケットを受信し、受信したパケットをサーバ装置２１に転送することを一旦保留するとともに、自装置内のメモリに保存する（ステップＳ２０１）。通信装置１０Ａは、図８に示すステップＳ１０２乃至Ｓ１０６の処理を実行する（ステップＳ２０２）。
【００８５】
パケット通信部１５Ａにおける制御部１５０Ａは、受信したパケットに関する識別情報１４０が、送信制御情報１５１Ａに登録されているか否かを確認する（ステップＳ２０３）。
【００８６】
識別情報１４０が送信制御情報１５１Ａに登録されている場合（ステップＳ２０４でＹｅｓ）、制御部１５０Ａは、パケットに含まれる情報が示す送信先であるサーバ装置２１−ｉに、自装置内のメモリに保存したパケットを転送するとともに、送信制御情報１５１Ａが示すサーバ装置２１−ｊにパケットのコピーを送信し（ステップＳ２０５）、全体の処理は終了する。
【００８７】
識別情報１４０が送信制御情報１５１Ａに登録されていない場合（ステップＳ２０４でＮｏ）、制御部１５０Ａは、パケットに含まれる情報が示す送信先であるサーバ装置２１−ｉに、自装置内のメモリに保存したパケットを転送せずに、サーバ装置２１−ｎに送信し（ステップＳ２０５）、全体の処理は終了する。
【００８８】
本変形例に係る通信装置１０Ａは、パケットの送信元である機器を識別可能な識別情報が、当該パケットのどの部分に存在するのかが不明である場合であっても、当該識別情報を高い精度で抽出することができる。その理由は、第１の実施形態について説明した通りである。
【００８９】
また、本変形例に係る制御部１５０Ａは、識別情報１４０によって識別されるＩｏＴデバイス２３から送信されたパケットに対する送信処理の内容を表わす送信制御情報１５１Ａに基づいて、パケットを送信する経路を選択すること、及び、送信されたパケットを廃棄することの少なくともいずれかを行う。即ち、本変形例に係る通信装置１０Ａは、識別情報１４０に関するホワイトリストに基づいて、パケットの転送を制御することができるので、ＩｏＴシステムのセキュリティレベルを向上することができる。
【００９０】
＜第２の実施形態＞
図１２は、本願発明の第２の実施形態に係る通信装置３０の構成を示すブロック図である。
【００９１】
本実施形態に係る通信装置３０は、特徴情報生成部３１、分類部３２、抽出部３３、及び、識別情報生成部３４を備えている。
【００９２】
特徴情報生成部３１は、パケット通信を行う機器４０から送信されたパケット４００を受信することによって、パケット４００の特徴を表す情報３１０を生成する。
【００９３】
分類部３２は、特徴を表す情報３１０と所定の分類基準３２０とに基づいて、パケット４００をパケット群に分類する。
【００９４】
抽出部３３は、所定の抽出基準３３０に基づいて、パケット４００から、１以上の文字情報を抽出する。
【００９５】
識別情報生成部３４は、同一のパケット群に属する１以上のパケット４００から抽出された文字情報のうち、パケット同士において互いに異なる場合の数が条件を満たす文字情報に基づいて、パケット４００を送信した機器４０を識別可能な識別情報３４０を生成する。
【００９６】
本実施形態に係る通信装置３０は、パケットの送信元である機器を識別可能な識別情報が、当該パケットのどの部分に存在するのかが不明である場合であっても、当該識別情報を高い精度で抽出することができる。その理由は、通信装置３０は、パケット４００の特徴を表す情報３１０を生成して、その特徴を表す情報３１０に基づいてパケット４００をパケット群に分類し、同一のパケット群に属するパケット４００から抽出した文字情報のうち、文字情報の構成に関するパターン数が条件を満たす文字情報に基づいて、パケットの送信元である機器４０を識別可能な識別情報３４０を生成するからである。
【００９７】
＜ハードウェア構成例＞
上述した各実施形態において図１、図９、及び、図１２に示した通信装置における各部は、専用のＨＷ（ＨａｒｄＷａｒｅ）（電子回路）によって実現することができる。また、図１、図９、及び、図１２において、少なくとも、下記構成は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。
・特徴情報生成部１１及び３１、
・分類部１２及び３２、
・抽出部１３及び３３、
・識別情報生成部１４及び３４、
・制御部１５０Ａ。
【００９８】
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図１３を参照して説明する。
【００９９】
図１３は、本願発明の各実施形態に係る配置変更管理装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。即ち、図１３は、図１、図９、及び、図１２に示した通信装置を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【０１００】
図１３に示した情報処理装置９００は、構成要素として下記を備えている。
・ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）９０１、
・ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、
・ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、
・ハードディスク（記憶装置）９０４、
・通信インタフェース９０５、
・バス９０６（通信線）、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記録媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、
・モニターやスピーカ、キーボード等の入出力インタフェース９０９。
【０１０１】
即ち、上記構成要素を備える情報処理装置９００は、これらの構成がバス９０６を介して接続された一般的なコンピュータである。情報処理装置９００は、ＣＰＵ９０１を複数備える場合もあれば、マルチコアにより構成されたＣＰＵ９０１を備える場合もある。
【０１０２】
そして、上述した実施形態を例に説明した本願発明は、図１３に示した情報処理装置９００に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図（図１、図９、及び、図１２）における上述した構成、或いはフローチャート（図８及び図１１）の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ（ＲＡＭ９０３）、または、ＲＯＭ９０２やハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【０１０３】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、ＣＤ−ＲＯＭ等の各種記録媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体９０７によって構成されると捉えることができる。
【０１０４】
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【０１０５】
尚、上述した各実施形態の一部又は全部は、以下の付記のようにも記載されうる。しかしながら、上述した各実施形態により例示的に説明した本願発明は、以下には限られない。
【０１０６】
（付記１）
パケット通信を行う機器から送信されたパケットを受信することによって、前記パケットの特徴を表す情報を生成する特徴情報生成手段と、
前記特徴を表す情報と所定の分類基準とに基づいて、前記パケットをパケット群に分類する分類手段と、
所定の抽出基準に基づいて、前記パケットから、１以上の文字情報を抽出する抽出手段と、
同一の前記パケット群に属する１以上の前記パケットから抽出された前記文字情報のうち、前記文字情報の構成に関するパターン数が条件を満たす文字情報に基づいて、前記パケットを送信した前記機器を識別可能な識別情報を生成する識別情報生成手段と、
を備える通信装置。
【０１０７】
（付記２）
前記特徴情報生成手段は、前記パケットの大きさ、前記パケットが属するセッションの接続時間、前記セッションに属するパケット数、前記パケットの送信間隔、及び、前記パケットの受信時刻の少なくともいずれかを表す、前記特徴を表す情報を生成する、
付記１に記載の通信装置。
【０１０８】
（付記３）
前記分類基準は、前記特徴を表す情報の類似度に基づいて、前記パケットを前記パケット群に分類することを表す、
付記１または付記２に記載の通信装置。
【０１０９】
（付記４）
前記特徴情報生成手段は、特定のネットワーク属性を有する特定の前記パケットに関して、前記特徴を表す情報を生成する、
付記１乃至付記３のいずれか一項に記載の通信装置。
【０１１０】
（付記５）
前記特徴情報生成手段は、複数の前記パケットの特徴量に対して統計計算を行うことによって、複数の前記パケットに関する前記特徴を表す情報を生成する、
付記１乃至付記４のいずれか一項に記載の通信装置。
【０１１１】
（付記６）
前記抽出基準は、前記文字情報として、前記パケットに含まれるアプリケーション層の通信プロトコルのヘッダあるいはペイロードを表す文字列を抽出することを表す、
付記１乃至付記５のいずれか一項に記載の通信装置。
【０１１２】
（付記７）
前記抽出基準は、特定の文字によって区切られた前記文字列、あるいは、文字の種別が変わることによって区切られた前記文字列を抽出することを表す、
付記６に記載の通信装置。
【０１１３】
（付記８）
前記識別情報生成手段は、前記パケットから抽出された前記文字情報のうち、前記パターン数が最も多い文字情報に基づいて、前記識別情報を生成する、
付記１乃至付記７のいずれか一項に記載の通信装置。
【０１１４】
（付記９）
前記識別情報生成手段は、複数の前記パケットの各々から抽出された前記文字情報のうち、先頭に位置する文字情報からの順番が等しい位置にある文字情報に基づいて、複数の前記パケットの各々に関する前記識別情報を生成する、
付記１乃至付記８のいずれか一項に記載の通信装置。
【０１１５】
（付記１０）
前記識別情報生成手段は、前記パケットと、前記パケットに関する前記識別情報と、を関連付けて表示装置に表示する、
付記１乃至付記９のいずれか一項に記載の通信装置。
【０１１６】
（付記１１）
前記機器から受信した前記パケットに関する前記識別情報に基づいて、前記パケットの送信処理を制御する制御手段をさらに備える、
付記１乃至付記１０のいずれか一項に記載の通信装置。
【０１１７】
（付記１２）
前記制御手段は、前記識別情報によって識別される前記機器から送信された前記パケットに対する前記送信処理の内容を表わす送信制御情報に基づいて、前記パケットを送信する経路を選択すること、及び、前記機器から送信された前記パケットを廃棄することの少なくともいずれかを行う、
付記１１に記載の通信装置。
【０１１８】
（付記１３）
付記１乃至付記１２のいずれか一項に記載の通信装置と、
前記機器と、
を有する通信システム。
【０１１９】
（付記１４）
情報処理装置によって、
パケット通信を行う機器から送信されたパケットを受信することによって、前記パケットの特徴を表す情報を生成し、
前記特徴を表す情報と所定の分類基準とに基づいて、前記パケットをパケット群に分類し、
所定の抽出基準に基づいて、前記パケットから、１以上の文字情報を抽出し、
同一の前記パケット群に属する１以上の前記パケットから抽出された前記文字情報のうち、前記文字情報の構成に関するパターン数が条件を満たす文字情報に基づいて、前記パケットを送信した前記機器を識別可能な識別情報を生成する、
通信方法。
【０１２０】
（付記１５）
パケット通信を行う機器から送信されたパケットを受信することによって、前記パケットの特徴を表す情報を生成する特徴情報生成処理と、
前記特徴を表す情報と所定の分類基準とに基づいて、前記パケットをパケット群に分類する分類処理と、
所定の抽出基準に基づいて、前記パケットから、１以上の文字情報を抽出する抽出処理と、
同一の前記パケット群に属する１以上の前記パケットから抽出された前記文字情報のうち、前記文字情報の構成に関するパターン数が条件を満たす文字情報に基づいて、前記パケットを送信した前記機器を識別可能な識別情報を生成する識別情報生成処理と、
をコンピュータに実行させるための通信プログラムが格納された記録媒体。
【０１２１】
この出願は、２０１８年８月６日に出願された日本出願特願２０１８−１４７７２６を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１２２】
１    通信システム
１Ａ    通信システム
１０    通信装置
１０Ａ    通信装置
１１    特徴情報生成部
１１０    特徴量
１１１    パケット管理テーブル
１２    分類部
１２０    分類基準
１２１    パケット管理テーブル
１３    抽出部
１３０    抽出基準
１３１    パケット管理テーブル
１４    識別情報生成部
１４０    識別情報
１５    パケット通信部
１５Ａ    パケット通信部
１５０Ａ    制御部
１５１Ａ    送信制御情報
２０    表示装置
２１    サーバ装置
２２    ＩｏＴゲートウェイ
２３    ＩｏＴデバイス
３０    通信装置
３１    特徴情報生成部
３１０    特徴を表す情報
３２    分類部
３２０    分類基準
３３    抽出部
３３０    抽出基準
３４    識別情報生成部
３４０    識別情報
４０    機器
４００    パケット
９００    情報処理装置
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク（記憶装置）
９０５    通信インタフェース
９０６    バス
９０７    記録媒体
９０８    リーダライタ
９０９    入出力インタフェース
【図１】
2022000987.tif 000003
【図２】
2022000987.tif 000004
【図３】
2022000987.tif 000005
【図４】
2022000987.tif 000006
【図５】
2022000987.tif 000007
【図６】
2022000987.tif 000008
【図７】
2022000987.tif 000009
【図８】
2022000987.tif 000010
【図９】
2022000987.tif 000011
【図１０】
2022000987.tif 000012
【図１１】
2022000987.tif 000013
【図１２】
2022000987.tif 000014
【図１３】
2022000987.tif 000015