IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許7387570デバイス識別装置、デバイス識別方法及びコンピュータプログラム
<>
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図1
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図2
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図3
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図4
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図5
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図6
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図7
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図8
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図9
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図10
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図11
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図12
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図13
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図14
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図15
  • 特許-デバイス識別装置、デバイス識別方法及びコンピュータプログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-17
(45)【発行日】2023-11-28
(54)【発明の名称】デバイス識別装置、デバイス識別方法及びコンピュータプログラム
(51)【国際特許分類】
   H04L 43/04 20220101AFI20231120BHJP
   G06F 13/00 20060101ALI20231120BHJP
【FI】
H04L43/04
G06F13/00
【請求項の数】 5
(21)【出願番号】P 2020164760
(22)【出願日】2020-09-30
(65)【公開番号】P2022056811
(43)【公開日】2022-04-11
【審査請求日】2022-07-25
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100114937
【弁理士】
【氏名又は名称】松本 裕幸
(72)【発明者】
【氏名】奥井 宣広
(72)【発明者】
【氏名】中原 正隆
(72)【発明者】
【氏名】三宅 優
【審査官】速水 雄太
(56)【参考文献】
【文献】米国特許出願公開第2020/0127892(US,A1)
【文献】特開2020-140346(JP,A)
【文献】特開2020-136779(JP,A)
【文献】特開2015-097330(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/04
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
デバイスの通信データから生成されたIPFIX(IP Flow Information Export)データを収集するIPFIXデータ収集部と、
前記IPFIXデータからパケット通信の特徴量を生成する特徴量生成部と、
前記特徴量に基づいた機械学習により生成されたデバイス種識別モデルを使用して、識別対象デバイスの前記特徴量からデバイス種を識別するデバイス識別部と、
を備え
前記特徴量生成部は、デバイスが自動的に行う第1の通信と、デバイスがユーザの操作に応じて行う第2の通信とに分けて前記特徴量を生成し、
前記デバイス種識別モデルは、第1の通信第2の通信とに分けて生成され、
前記デバイス識別部は、第1の通信のデバイス種識別モデルと、第2の通信のデバイス種識別モデルと使用する、
デバイス識別装置。
【請求項2】
前記デバイスはIoTデバイスである、
請求項に記載のデバイス識別装置。
【請求項3】
前記デバイス種識別モデルは、デバイス種の識別結果と、当該識別結果の確信度とを出力し、
前記デバイス識別部は、さらに過去の識別結果の確信度に基づいてデバイス種の識別を行う、
請求項1に記載のデバイス識別装置。
【請求項4】
デバイスの通信データから生成されたIPFIX(IP Flow Information Export)データを収集するIPFIXデータ収集ステップと、
前記IPFIXデータからパケット通信の特徴量を生成する特徴量生成ステップと、
前記特徴量に基づいた機械学習により生成されたデバイス種識別モデルを使用して、識別対象デバイスの前記特徴量からデバイス種を識別するデバイス識別ステップと、
を含み、
前記特徴量生成ステップは、デバイスが自動的に行う第1の通信と、デバイスがユーザの操作に応じて行う第2の通信とに分けて前記特徴量を生成し、
前記デバイス種識別モデルは、第1の通信と第2の通信とに分けて生成され、
前記デバイス識別ステップは、第1の通信のデバイス種識別モデルと、第2の通信のデバイス種識別モデルとを使用する、
デバイス識別方法。
【請求項5】
コンピュータに、
デバイスの通信データから生成されたIPFIX(IP Flow Information Export)データを収集するIPFIXデータ収集ステップと、
前記IPFIXデータからパケット通信の特徴量を生成する特徴量生成ステップと、
前記特徴量に基づいた機械学習により生成されたデバイス種識別モデルを使用して、識別対象デバイスの前記特徴量からデバイス種を識別するデバイス識別ステップと、
を実行させるためのコンピュータプログラムであって、
前記特徴量生成ステップは、デバイスが自動的に行う第1の通信と、デバイスがユーザの操作に応じて行う第2の通信とに分けて前記特徴量を生成し、
前記デバイス種識別モデルは、第1の通信と第2の通信とに分けて生成され、
前記デバイス識別ステップは、第1の通信のデバイス種識別モデルと、第2の通信のデバイス種識別モデルとを使用する、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デバイス識別装置、デバイス識別方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
従来、通信ネットワークに接続された家電機器の種類を識別する技術として例えば特許文献1が知られている。特許文献1には、電化製品の種類を判別するため、電化製品であれば受信するとされる少なくとも二種類のパケットにより定められる定義ファイルを、当該パケットを構成する一のパケット毎に対応付けられた得点とともに、電化製品の種別を判別するための電化製品情報毎に記憶し、電化製品から受信したパケットと当該一のパケットを比較して定義ファイル毎に得点化を行い、得点が高い定義ファイルに対応する電化製品情報を当該パケットを受信した電化製品の電化製品情報とする、情報処理装置が記載されている。この特許文献1では、定義ファイルとして電化製品のMACアドレス(Media Access Control address)の情報(先頭24ビットのベンダー識別子(ベンダーID)及び中盤8ビットの機種識別子(機種ID))を使用している。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第4855499号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上述した特許文献1の技術では、定義ファイルとして電化製品のMACアドレスの情報を使用するが、MACアドレスは電化製品が備えるネットワークインターフェースに付与されるので、MACアドレスのベンダーIDが必ずしも電化製品のデバイスベンダーを示すとは限らない。このため、異なるデバイスベンダーの電化製品でもMACアドレスの先頭部分が同一となる場合があるので、電化製品の種類の識別精度が低下する可能性がある。
【0005】
本発明は、このような事情を考慮してなされたものであり、その目的は、通信ネットワークに接続されたIoT(Internet of Things)デバイス等のデバイスの種類を効率的に且つ精度よく識別することを図ることにある。
【課題を解決するための手段】
【0006】
(1)本発明の一態様は、デバイスの通信データから生成されたIPFIX(IP Flow Information Export)データを収集するIPFIXデータ収集部と、前記IPFIXデータからパケット通信の特徴量を生成する特徴量生成部と、前記特徴量に基づいた機械学習により生成されたデバイス種識別モデルを使用して、識別対象デバイスの前記特徴量からデバイス種を識別するデバイス識別部と、を備え前記特徴量生成部は、デバイスが自動的に行う第1の通信と、デバイスがユーザの操作に応じて行う第2の通信とに分けて前記特徴量を生成し、前記デバイス種識別モデルは、第1の通信第2の通信とに分けて生成され、前記デバイス識別部は、第1の通信のデバイス種識別モデルと、第2の通信のデバイス種識別モデルと使用する、デバイス識別装置である。
)本発明の一態様は、前記デバイスはIoTデバイスである、上記()のデバイス識別装置である。
)本発明の一態様は、前記デバイス種識別モデルは、デバイス種の識別結果と、当該識別結果の確信度とを出力し、前記デバイス識別部は、さらに過去の識別結果の確信度に基づいてデバイス種の識別を行う、上記(1)のデバイス識別装置である。
【0007】
)本発明の一態様は、デバイスの通信データから生成されたIPFIX(IP Flow Information Export)データを収集するIPFIXデータ収集ステップと、前記IPFIXデータからパケット通信の特徴量を生成する特徴量生成ステップと、前記特徴量に基づいた機械学習により生成されたデバイス種識別モデルを使用して、識別対象デバイスの前記特徴量からデバイス種を識別するデバイス識別ステップと、を含み、前記特徴量生成ステップは、デバイスが自動的に行う第1の通信と、デバイスがユーザの操作に応じて行う第2の通信とに分けて前記特徴量を生成し、前記デバイス種識別モデルは、第1の通信と第2の通信とに分けて生成され、前記デバイス識別ステップは、第1の通信のデバイス種識別モデルと、第2の通信のデバイス種識別モデルとを使用する、デバイス識別方法である。
【0008】
)本発明の一態様は、コンピュータに、デバイスの通信データから生成されたIPFIX(IP Flow Information Export)データを収集するIPFIXデータ収集ステップと、前記IPFIXデータからパケット通信の特徴量を生成する特徴量生成ステップと、前記特徴量に基づいた機械学習により生成されたデバイス種識別モデルを使用して、識別対象デバイスの前記特徴量からデバイス種を識別するデバイス識別ステップと、を実行させるためのコンピュータプログラムであって、前記特徴量生成ステップは、デバイスが自動的に行う第1の通信と、デバイスがユーザの操作に応じて行う第2の通信とに分けて前記特徴量を生成し、前記デバイス種識別モデルは、第1の通信と第2の通信とに分けて生成され、前記デバイス識別ステップは、第1の通信のデバイス種識別モデルと、第2の通信のデバイス種識別モデルとを使用する、コンピュータプログラムである。
【発明の効果】
【0009】
本発明によれば、通信ネットワークに接続されたIoTデバイス等のデバイスの種類を効率的に且つ精度よく識別することができるという効果が得られる。
【図面の簡単な説明】
【0010】
図1】一実施形態に係る通信システム及びデバイス識別装置の構成例を示すブロック図である。
図2】IPFIXデータの生成方法の説明図である。
図3】IPFIXデータの生成方法の説明図である。
図4】IPFIXデータの生成方法の説明図である。
図5】IPFIXデータの生成方法の説明図である。
図6】IPFIXデータの生成方法の説明図である。
図7】定常通信によるサービスの例を示す図表である。
図8】一実施形態に係る定常通信の特徴量を示す図表である。
図9】一実施形態に係る特徴量とIPFIXデータのフィールドの対応関係を示す図表である。
図10】操作時通信によるサービスの例を示す図表である。
図11】操作時通信に係るプロトコルの例を示す図表である。
図12】一実施形態に係るデバイス識別方法の手順の例を示すフローチャートである。
図13】一実施形態に係るデバイス識別装置の実施例1を示す説明図である。
図14】一実施形態に係る特徴量データの例を示す図表である。
図15】一実施形態に係るデバイス識別部の一実施例を示す説明図である。
図16】一実施形態に係るデバイス識別装置の実施例2を示す説明図である。
【発明を実施するための形態】
【0011】
以下、図面を参照し、本発明の実施形態について説明する。
図1は、一実施形態に係る通信システム及びデバイス識別装置の構成例を示すブロック図である。図1に示す通信システム1において、デバイス識別装置10は、インターネット等の通信ネットワークNWを介して、各ホーム(宅)30-1,30-2,30-3,・・・のゲートウェイ(GW)31と通信を行う。各ホーム30-1,30-2,30-3,・・・には、ゲートウェイ31とデバイスdevとが設けられている。以下、ホーム30-1,30-2,30-3,・・・を特に区別しないときはホーム30と称する。本実施形態に係るホーム30は、デバイスdevが通信を行う拠点(デバイス通信拠点)の一例である。
【0012】
デバイスdevは、ゲートウェイ31を介して、例えばインターネットに接続されているサーバ等と通信を行う。デバイスdevは、例えばIoTデバイスである。デバイスdevには複数の種類(デバイス種)が存在する。図1には、デバイス種として3つのデバイス種「A種」,「B種」,「C種」が例示されている。例えば、デバイスdev(A種)は電力計等の計測センサーである。例えば、デバイスdev(B種)はWebカメラである。例えば、デバイスdev(C種)はエアコンやスマートスピーカー等の家電機器である。
【0013】
ゲートウェイ31は、デバイスdevの通信の許可又は不許可を判断し、当該判断結果に応じてデバイスdevの通信を制御する。ゲートウェイ31は、IPFIX(IP Flow Information Export)変換部32を備える。
【0014】
IPFIX変換部32は、自己のゲートウェイ31の配下のデバイスdevが行う通信についてのIPFIXデータを生成する。IPFIX変換部32は、自己のゲートウェイ31を通過するデバイスdevの通信データからIPFIXデータを生成する。IPFIXデータは、IETF(Internet Engineering Task Force)のRFC(Request for Comments)7011で標準化されている。IPFIXデータは、パケット通信の流れを示すデータである。
【0015】
[IPFIXデータ]
本実施形態では、デバイスdevのデバイス種の識別にIPFIXデータを利用する。以下にIPFIXデータについて説明する。
【0016】
(IPFIXデータのフィールド)
IPFIXデータとして定義されているレコードの種類は約500ある。以下にIPFIXデータに使用されるフィールドの例を説明する。
【0017】
「sourceMacAddress / destinationMacAddress」フィールドは、送信元及び送信先のMACアドレスを示すフィールドである。
「sourceIPv4Address / sourceIPv6Address / destinationIPv4Address / destinationIPv6Address」フィールドは、送信元及び送信先のIPアドレスを示すフィールドである。
「octetTotalCount / packetTotalCount」フィールドは、通信方向のデータサイズ及びパケット数を示すフィールドである。
「reverseOctetTotalCount / reversePacketTotalCount」フィールドは、通信方向の逆方向のデータサイズ及びパケット数を示すフィールドである。
「protocolIdentifier」フィールドは、IP(Internet Protocol)に関係するプロトコルを示すフィールドである。「protocolIdentifier」フィールドの値として、「1:ICMP(IPv4)」、「6:TCP」、「17:UDP」、「58:ICMP(IPv6)」等があり、一般にこれらがIoTデバイスでよく使用される。
「sourceTransportPort / destinationTransportPort」フィールドは、送信元及び送信先のポート番号に関する情報を示すフィールドである。
「flowStartMilliseconds / flowEndMilliseconds / flowDurationMilliseconds」フィールドは、IPFIXデータとして要約される通信データの開始時刻及び終了時刻を示すフィールドである。「DurationMilliseconds」は、「終了時刻-開始時刻」の値である。
【0018】
(IPFIXデータのパラメータ)
IPFIXデータ、セッションごと及び一定時間ごとに通信データを要約したデータである。IPFIXデータによれば、パケットを記録する場合と比較して、記録するデータ量を大幅に削減することができる。図2図6を参照してIPFIXデータの生成方法の例を説明する。
【0019】
図2に示すIPFIXデータの生成方法の例では、ノードXとノードY間でやり取りされる4個の通信データが要約されて1個のIPFIXデータ(IPFIXレコード)に変換される。通信データの要約の対象の期間に使用されるフィールドとして、図3及び図4に示される2つの例が挙げられる。
【0020】
図3の例では、「active timeout」フィールドにより通信データの要約の対象の期間が決まる。「active timeout」フィールドは、強制的にフローの終了とみなす時間を示すフィールドである。図3に例示されるように、通信データのやり取りが「active timeout」フィールドに示される時間を超えた場合に、強制的にフローの終了とみなされ、それまでにノードXとノードY間でやり取りされた通信データが要約されて1個のIPFIXデータに変換される。したがって、ノードXとノードY間でやり取りされる通信データのうち、強制的にフローの終了とみなされた以降の通信データはIPFIXデータに変換されない。
【0021】
図4の例では、「idle timeout」フィールドにより通信データの要約の対象の期間が決まる。「idle timeout」フィールドは、通信データが途切れたときに、タイムアウトとみなす時間を示すフィールドである。図4に例示されるように、通信データのやり取りが途絶えてから「idle timeout」フィールドに示される時間を超えた場合に、強制的にフローの終了とみなされ、それまでにノードXとノードY間でやり取りされた通信データが要約されて1個のIPFIXデータに変換される。
【0022】
なお、UDP(User Datagram Protocol)のようにセッションを持たないプロトコルの場合には、図5に例示されるように、特定の条件において「idle timeout」フィールド又は「active timeout」フィールドにより通信データの要約の対象の期間が決まる。
【0023】
以上がIPFIXデータについての説明である。
【0024】
本発明者は、上述したような特徴を持つIPFIXデータを、通信ネットワークに接続されたIoTデバイス等のデバイスのデバイス種の識別に利用することを着想した。この理由は、IPFIXデータによれば、パケット通信の流れを示すデータのデータ量を削減することができること、パケット通信の特徴量としてデバイス種の識別に役立つ特徴量を得やすいことなどである。
【0025】
図6は、本実施形態に係るIPFIXデータによるパケット通信の特徴量を説明するための説明図である。以下、パケット通信の特徴量のことを単に特徴量と称する場合がある。
【0026】
図6において、「通信1」は、セッションを持つ通信であってデバイスが定常的に行う通信を示す。また、「通信2」は、セッションを持つ通信であってデバイスがユーザの操作に応じて行う通信を示す。また、「通信3」は、セッションを持たない通信であってデバイスがユーザの操作に応じて行う通信を示す。
【0027】
図6に示されるように、IPFIXレコードはセッションやその他の規則により通信パケットの情報が要約されて生成されるので、通信パケットと比較してデータ数が削減される。
【0028】
また、図6に示されるように、通信パケットのまま使用して単位時間t1,t2,・・・,t10ごとにパケット通信の特徴量を生成する場合、「通信2」及び「通信3」では、セッションや一連のパケットを途中でぶつ切りにして特徴量を生成することになる。「通信2」においては、単位時間t1-t3,t7-t10にわたって通信パケットが生成されるが、各単位時間に含まれる通信パケットの数が異なるために、通信パケットのまま使用して特徴量を生成すると、特徴量として揺らぎが生じる。また「通信3」においては、単位時間t1-t7にわたって通信パケットが生成されるが、これらの通信パケットがたとえ同じ通信内容であっても単位時間t7だけ通信パケット数が異なるために特徴量が異なる可能性がある。
【0029】
一方、IPFIXデータを使用してパケット通信の特徴量を生成する場合、「通信2」においては、単位時間t3に1個のセッション「単位時間t1-t3」の通信パケットから1個のIPFIXレコードが生成され、また単位時間t10に1個のセッション「単位時間t7-t10」の通信パケットから1個のIPFIXレコードが生成される。これら「通信2」の各単位時間t3,t10のIPFIXレコードはセッション単位で生成されるので、当該各IPFIXレコードからは「通信2」のセッションにおける類似する特徴量を得られる可能性が高い。また、「通信3」においては、単位時間t7に単位時間t1-t7の通信パケットから1個のIPFIXレコードが生成される。この「通信3」の単位時間t7のIPFIXレコードは、単位時間t1-t7の通信パケットの情報から生成されるので、当該IPFIXレコードからは他の通信とは異なる「通信3」の特徴量を得られる可能性が高い。
【0030】
上述したようにIPFIXデータによれば、パケット通信の流れを示すデータのデータ量が削減されると共に、各パケット通信の特徴量を的確に得ることができる。パケット通信の流れを示すデータのデータ量が削減されることにより、パケット通信の特徴量を効率的に取得することができる。また、各パケット通信の的確な特徴量は、各パケット通信を行うデバイスのデバイス種の識別に役立つ特徴量であると言える。このことから本実施形態では、IPFIXデータを使用してパケット通信の特徴量を生成することにより、通信ネットワークに接続されたIoTデバイス等のデバイスのデバイス種の識別を効率的に且つ精度よく行うことを図る。
【0031】
[デバイス識別装置]
本実施形態に係るデバイス識別装置10を説明する。図1において、デバイス識別装置10は、IPFIXデータ収集部11と、特徴量生成部12と、モデル学習部13と、デバイス識別部14とを備える。
【0032】
デバイス識別装置10の各機能は、デバイス識別装置10がCPU(Central Processing Unit:中央演算処理装置)及びメモリ等のコンピュータハードウェアを備え、CPUがメモリに格納されたコンピュータプログラムを実行することにより実現される。なお、デバイス識別装置10として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。例えば、デバイス識別装置10は、インターネット等の通信ネットワークに接続されるサーバコンピュータを使用して構成されてもよい。また、デバイス識別装置10の各機能はクラウドコンピューティングにより実現されてもよい。また、デバイス識別装置10は、単独のコンピュータにより実現するものであってもよく、又はデバイス識別装置10の機能を複数のコンピュータに分散させて実現するものであってもよい。
【0033】
各ホーム30のゲートウェイ31は、IPFIX変換部32が生成した自己の配下の各デバイスdevのIPFIXデータをデバイス識別装置10へ送信する。IPFIXデータ収集部11は、各ホーム30のゲートウェイ31から各デバイスdevのIPFIXデータを受信する。
【0034】
IPFIXデータ収集部11は、各ホーム30から受信したIPFIXデータを、MACアドレスごとに集約する。MACアドレスは、IPFIXデータの「sourceMacAddress / destinationMacAddress」フィールドに示される。IPFIXデータ収集部11は、MACアドレスごとに集約したIPFIXデータを一定期間保管する。
【0035】
特徴量生成部12は、IPFIXデータ収集部11から、MACアドレスごとに集約されたIPFIXデータを受け取る。特徴量生成部12は、MACアドレスごとに集約されたIPFIXデータを使用して、パケット通信の特徴量を示す特徴量データを生成する。
【0036】
[特徴量]
本実施形態に係るパケット通信の特徴量を説明する。デバイスdevが行う通信には、大きく分類すると、デバイスが定常的に行う通信(定常通信)と、デバイスがユーザの操作に応じて行う通信(操作時通信)との2種類がある。
【0037】
定常通信は、デバイスdevが例えばファームウェア等に設定されている情報に基づいて自動的に通信を行うものである。このため、定常通信では、デバイスdevに対するユーザの操作の有無とは無関係に一定の通信が行われる。
【0038】
操作時通信は、ユーザがデバイスdevに対して操作を行ったことにより発生する通信である。このため、操作時通信では、ユーザの操作により行われる通信の内容がデバイス種ごとに大きく異なる状況が発生し得る。
【0039】
そこで本実施形態では、上述した定常通信と操作時通信の各特徴に着目し、定常通信と操作時通信のそれぞれの通信の挙動のデバイス種ごとの違いが反映されるように、定常通信と操作時通信とに分けて特徴量データを生成する。
【0040】
(定常通信の特徴量)
デバイスdevが定常通信により行うサービスが図7に示される。各サービス「ICMP」、「IGMP」、「FTP」、「Telnet」、「DNS,mDNS」、「SSDP」には、各特徴量番号(特徴量No.)が付与されている。サービスの判別は、IPFIXデータの「sourceTransportPort / destinationTransportPort」フィールド内の「destinationTransportPort」の値によって行われる。図7に示されるサービスでは、デバイス種ごとに通信の挙動が異なる。このため、特徴量生成部12は、定常通信の特徴量として、図7に示される各サービス「ICMP」、「IGMP」、「FTP」、「Telnet」、「DNS,mDNS」、「SSDP」について、単位時間における図8に示される情報「IPFIXレコード数」、「送信パケットサイズ」、「受信パケットサイズ」、「送信パケット数」、「受信パケット数」、「セッション継続時間」を特徴量データにする。特徴量生成部12は、図8に示されるように各情報のバリエーションとして、「合計値」、「最小値」、「最大値」、「平均値」、「中央値」等を特徴量データに含める。
【0041】
特徴量生成部12は、図8に示される情報のうち「送信パケットサイズ」、「受信パケットサイズ」、「送信パケット数」、「受信パケット数」、「セッション継続時間」を、IPFIXデータにおいて図9に示される各フィールドの値から生成する。特徴量生成部12は、「IPFIXレコード数」については、IPFIXデータから単位時間のIPFIXレコード数を計数する。
【0042】
(操作時通信の特徴量)
デバイスdevが操作時通信により行うサービスが図10に示される。各サービス「HTTP」、「HTTPS」、「SMB」には、各特徴量番号(特徴量No.)が付与されている。これらのサービスでは、ユーザがデバイスdevを操作したことによりデバイスdevが生成する通信データは、デバイスdev上で動作するアプリケーションにより大きく異なる。このため、特徴量生成部12は、操作時通信の特徴量として、図10に示される各サービス「HTTP」、「HTTPS」、「SMB」について、単位時間における図8に示される情報「IPFIXレコード数」、「送信パケットサイズ」、「受信パケットサイズ」、「送信パケット数」、「受信パケット数」、「セッション継続時間」を特徴量データにする。特徴量生成部12は、図8に示されるように各情報のバリエーションとして、「合計値」、「最小値」、「最大値」、「平均値」、「中央値」等を特徴量データに含める。
【0043】
なお、操作時通信では、「Well-knownポート」以外のポートへの通信も多く、送信先のポート番号は各デバイス種で特定の範囲が使用されていることが多い。このため、「Well-knownポート」以外についてもポート番号を特定の範囲で区切って特徴量にすることが好ましい。
【0044】
また、操作時通信では、デバイス種によって使用されるプロトコルにも違いがある。例えば、ロボット掃除機等の家電機器に指示を送る場合にはTCP(Transmission Control Protocol)が使用されるが、Webカメラで撮像された映像を閲覧する場合にはUDPが使用される。このため、特徴量生成部12は、操作時通信の特徴量として、さらに図11に示される各プロトコル「ICMP」、「IGMP」、「TCP」、「UDP」について、単位時間における図8に示される情報「IPFIXレコード数」、「送信パケットサイズ」、「受信パケットサイズ」、「送信パケット数」、「受信パケット数」、「セッション継続時間」を特徴量データにする。特徴量生成部12は、図8に示されるように各情報のバリエーションとして、「合計値」、「最小値」、「最大値」、「平均値」、「中央値」等を特徴量データに含める。図11に示されるように、各プロトコル「ICMP」、「IGMP」、「TCP」、「UDP」には、各特徴量番号(特徴量No.)が付与されている。プロトコルの判別は、IPFIXデータの「protocolIdentifier」フィールドの値によって行われる。
【0045】
以上が本実施形態に係るパケット通信の特徴量の説明である。
【0046】
説明を図1に戻す。
モデル学習部13は、特徴量生成部12が生成した特徴量データを学習データに使用して、例えばニューラルネットワーク等の機械学習モデルに対して機械学習を行うことにより、デバイス種識別モデルを生成する。デバイス種識別モデルは、識別対象のデバイス(識別対象デバイス)devの特徴量データからデバイス種を識別するためのモデルである。デバイス種識別モデルは、識別対象デバイスdevの特徴量データが入力されると、デバイス種の識別結果と当該識別結果の確信度とを出力する。
【0047】
なお、モデル学習部13は、定常通信と操作時通信とに分けてデバイス種識別モデルを生成してもよい。モデル学習部13は、定常通信の特徴量データを学習データに使用して、例えばニューラルネットワーク等の機械学習モデルに対して機械学習を行うことにより、定常通信のデバイス種識別モデルを生成してもよい。また、モデル学習部13は、操作時通信の特徴量データを学習データに使用して、例えばニューラルネットワーク等の機械学習モデルに対して機械学習を行うことにより、操作時通信のデバイス種識別モデルを生成してもよい。
【0048】
デバイス識別部14は、モデル学習部13が生成したデバイス種識別モデルを使用して、識別対象デバイスdevの特徴量データからデバイス種を識別する。デバイス識別部14は、識別対象デバイスdevの特徴量データをデバイス種識別モデルに入力した結果としてデバイス種識別モデルから出力されたデバイス種の識別結果及び当該識別結果の確信度を得る。
【0049】
デバイス識別部14は、デバイス種の識別結果と当該識別結果の確信度とに基づいて、識別対象デバイスdevのデバイス種を判定する。デバイス識別部14は、デバイス種の識別結果の確信度が所定値以上である場合に、当該デバイス種の識別結果が識別対象デバイスdevのデバイス種であると判定する。
【0050】
一方、デバイス識別部14は、デバイス種の識別結果の確信度が所定値未満である場合に、当該デバイス種の識別結果を採用せず、識別対象デバイスdevのデバイス種が不明であると判定する。この場合、デバイス識別部14は、当該識別対象デバイスdevのデバイス種が現在のデバイス種識別モデルにまだ反映されていない新規のデバイス種であると判定し、デバイス種識別モデルの再学習をモデル学習部13へ指示してもよい。このデバイス種識別モデルの再学習の指示において、デバイス識別部14は、当該識別対象デバイスdevの情報(例えばMACアドレス等)をモデル学習部13へ通知してもよい。
【0051】
なお、モデル学習部13が定常通信と操作時通信とに分けてデバイス種識別モデルを生成する場合、デバイス識別部14は、定常通信のデバイス種識別モデルと操作時通信のデバイス種識別モデルとを使用して、識別対象デバイスdevの定常通信の特徴量データと操作時通信の特徴量データとからデバイス種を識別する。デバイス識別部14は、識別対象デバイスdevの定常通信の特徴量データを定常通信のデバイス種識別モデルに入力した結果として当該デバイス種識別モデルから出力された定常通信におけるデバイス種の識別結果と当該識別結果の確信度とを得る。また、デバイス識別部14は、識別対象デバイスdevの操作時通信の特徴量データを操作時通信のデバイス種識別モデルに入力した結果として当該デバイス種識別モデルから出力された操作時通信におけるデバイス種の識別結果と当該識別結果の確信度とを得る。デバイス識別部14は、定常通信におけるデバイス種の識別結果及び当該識別結果の確信度と、操作時通信におけるデバイス種の識別結果及び当該識別結果の確信度とに基づいて、識別対象デバイスdevのデバイス種を判定する。この判定では、確信度が所定値以上であるデバイス種の識別結果に基づいて、識別対象デバイスdevのデバイス種が判定される。例えば、確信度が所定値以上であり且つ最高であるデバイス種の識別結果が識別対象デバイスdevのデバイス種であると判定される。
【0052】
次に図12を参照して本実施形態に係るデバイス識別装置10の動作を説明する。図12は、本実施形態に係るデバイス識別方法の手順の例を示すフローチャートである。ここでは、事前に、モデル学習部13によって当初のデバイス種識別モデルが生成済みである。
【0053】
(ステップS1) IPFIXデータ収集部11は、各ホーム30から各デバイスdevのIPFIXデータを収集する。以下、説明を簡単にするために、一つのデバイスdev(識別対象デバイスdev)を対象にして説明する。
【0054】
(ステップS2) 特徴量生成部12は、識別対象デバイスdevのIPFIXデータを使用して、パケット通信の特徴量を示す特徴量データを生成する。
【0055】
(ステップS3) デバイス識別部14は、モデル学習部13が生成したデバイス種識別モデルを使用して、識別対象デバイスdevの特徴量データからデバイス種を識別する。デバイス識別部14は、識別対象デバイスdevの特徴量データをデバイス種識別モデルに入力した結果としてデバイス種識別モデルから出力されたデバイス種の識別結果と当該識別結果の確信度とに基づいて、識別対象デバイスdevのデバイス種を判定する。
【0056】
(ステップS4) ステップS3の判定の結果、デバイス種の識別結果の確信度が所定値以上である場合に(ステップS4、YES)、当該デバイス種の識別結果が識別対象デバイスdevのデバイス種であると判定する。この後、図12の処理を終了する。
【0057】
一方、ステップS3の判定の結果、デバイス種の識別結果の確信度が所定値未満である場合には(ステップS4、NO)、識別対象デバイスdevのデバイス種が不明であると判定する。この後、ステップS5に進む。
【0058】
(ステップS5) モデル学習部13は、デバイス種識別モデルの再学習を行う。このデバイス種識別モデルの再学習において、モデル学習部13は、デバイス種の識別結果の確信度が所定値未満である識別対象デバイスdevの情報として例えばMACアドレスに基づいて、当該MACアドレスで集約されたIPFIXデータから生成された特徴量データを使用してデバイス種識別モデルの再学習を行ってもよい。
【0059】
[実施例1]
図13は、本実施形態に係るデバイス識別装置10の実施例1を示す説明図である。図13において、IPFIXデータ収集部11が収集したIPFIXデータの各IPFIXレコード(IPFIXレコード群)は、単位時間ごとに、特徴量生成部12へ出力される。
【0060】
特徴量生成部12は、単位時間ごとのIPFIXレコード群から、パケット通信の特徴量を示す特徴量データを生成する。図14に、特徴量データの例が示される。図14に示されるように、特徴量データは、特徴量番号(特徴量No.)ごとに生成される。図14において、特徴量No.St-xxの特徴量データは、図7に示される定常通信に係る各サービスについての特徴量データである。また、特徴量No.Op-xxの特徴量データは、図10に示される操作時通信に係る各サービスについての特徴量データである。また、特徴量No.Pr-xxの特徴量データは、図11に示される操作時通信に係る各プロトコルについての特徴量データである。
【0061】
デバイス識別部14は、特徴量生成部12が生成した特徴量データをデバイス種識別モデル(識別器)に入力した結果としてデバイス種識別モデル(識別器)から出力されたデバイス種の識別結果及び当該識別結果の確信度を得る。デバイス識別部14は、デバイス種の識別結果と当該識別結果の確信度とに基づいて、識別対象デバイスdevのデバイス種を判定する。
【0062】
なお、モデル学習部13が定常通信と操作時通信とに分けてデバイス種識別モデルを生成する場合、図15に示されるように、デバイス識別部14は、定常通信のデバイス種識別モデル(定常通信の識別器)141と操作時通信のデバイス種識別モデル(操作時通信の識別器)142とを使用して、識別対象デバイスdevの定常通信の特徴量データ(図14の特徴量No.St-xxの特徴量データ)と操作時通信の特徴量データ(特徴量No.Op-xxの特徴量データと特徴量No.Pr-xxの特徴量データ)とからデバイス種を識別する。
【0063】
デバイス識別部14は、識別対象デバイスdevの定常通信の特徴量データ(図14の特徴量No.St-xxの特徴量データ)を定常通信の識別器141に入力した結果として当該識別器141から出力された定常通信におけるデバイス種の識別結果と当該識別結果の確信度とを得る。また、デバイス識別部14は、識別対象デバイスdevの操作時通信の特徴量データ(特徴量No.Op-xxの特徴量データと特徴量No.Pr-xxの特徴量データ)を操作時通信の識別器142に入力した結果として当該識別器142から出力された操作時通信におけるデバイス種の識別結果と当該識別結果の確信度とを得る。デバイス識別部14は、定常通信におけるデバイス種の識別結果及び当該識別結果の確信度と、操作時通信におけるデバイス種の識別結果及び当該識別結果の確信度とに基づいて、識別対象デバイスdevのデバイス種を判定する。
【0064】
[実施例2]
図16は、本実施形態に係るデバイス識別装置10の実施例2を示す説明図である。図16に示す実施例2では、デバイス識別部14は、さらに過去の識別結果の確信度に基づいてデバイス種の識別を行う。具体的には、デバイス識別部14は、識別器から出力された過去のデバイス種の識別結果の確信度を、次の単位時間の同じ識別対象デバイスdevの特徴量データに加えて識別器へ入力する。図14に示す特徴量データにおいては、同じ識別対象デバイスdevについて、過去のデバイス種の識別結果の確信度のレコード(確信度の特徴量Noのレコード)が、次の単位時間の特徴量データに追加される。過去のデバイス種の識別結果の確信度を次の単位時間のデバイス種の識別に利用する点以外は、上述した実施例1と同じである。
【0065】
実施例2によれば、デバイス種の識別結果の確信度を再帰的に特徴量に加えることにより、パケット通信の時系列に対してロバスト性を持つデバイス種の識別を行うことができる。
【0066】
上述した実施形態によれば、IPFIXデータを使用することにより、デバイス種の識別に使用するパケット通信の流れを示すデータのデータ量を削減することができる。また、IPFIXデータを使用することにより、各パケット通信の特徴量を的確に得ることができるので、当該特徴量に基づいて、各パケット通信を行うデバイスのデバイス種の識別の精度向上を図ることができる。このように本実施形態によれば、IPFIXデータを使用してパケット通信の特徴量を生成することにより、通信ネットワークに接続されたIoTデバイス等のデバイスのデバイス種の識別を効率的に且つ精度よく行うことができるという効果が得られる。
【0067】
また、IPFIXデータはパケットのペイロードを含まないので、デバイスdevのユーザのプライバシーを保護することができる。
【0068】
また、IPFIXデータはデバイスdevの通信データから変換されるので、本実施形態は多種多様の多くのデバイスdevに適用可能である。
【0069】
また、上述した実施形態によれば、定常通信と操作時通信の各特徴に着目し、定常通信と操作時通信のそれぞれの通信の挙動のデバイス種ごとの違いが反映されるように、定常通信と操作時通信とに分けて特徴量データを生成することにより、デバイス種の識別精度をさらに向上させる効果が得られる。
【0070】
また、デバイス種の識別結果の確信度を再帰的に特徴量に加えることにより、パケット通信の時系列に対してロバスト性を持つデバイス種の識別を行うことができる。
【0071】
なお、上述した実施形態では、デバイス通信拠点としてホームを例に挙げたが、これに限定されない。デバイス通信拠点は、例えば会社のオフィスやイベント会場や店舗などであってもよい。
【0072】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0073】
また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0074】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【符号の説明】
【0075】
1…通信システム、10…デバイス識別装置、11…IPFIXデータ収集部、12…特徴量生成部、13…モデル学習部、14…デバイス識別部、30…ホーム、31…ゲートウェイ、32…IPFIX変換部、dev…デバイス、NW…通信ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16