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

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

▶ 富士通株式会社の特許一覧

特開2024-168723時間計測装置、時間計測プログラム、及び時間計測システム
<>
  • 特開-時間計測装置、時間計測プログラム、及び時間計測システム 図1
  • 特開-時間計測装置、時間計測プログラム、及び時間計測システム 図2
  • 特開-時間計測装置、時間計測プログラム、及び時間計測システム 図3
  • 特開-時間計測装置、時間計測プログラム、及び時間計測システム 図4
  • 特開-時間計測装置、時間計測プログラム、及び時間計測システム 図5
  • 特開-時間計測装置、時間計測プログラム、及び時間計測システム 図6
  • 特開-時間計測装置、時間計測プログラム、及び時間計測システム 図7
  • 特開-時間計測装置、時間計測プログラム、及び時間計測システム 図8
  • 特開-時間計測装置、時間計測プログラム、及び時間計測システム 図9
  • 特開-時間計測装置、時間計測プログラム、及び時間計測システム 図10
  • 特開-時間計測装置、時間計測プログラム、及び時間計測システム 図11
  • 特開-時間計測装置、時間計測プログラム、及び時間計測システム 図12
  • 特開-時間計測装置、時間計測プログラム、及び時間計測システム 図13
  • 特開-時間計測装置、時間計測プログラム、及び時間計測システム 図14
  • 特開-時間計測装置、時間計測プログラム、及び時間計測システム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024168723
(43)【公開日】2024-12-05
(54)【発明の名称】時間計測装置、時間計測プログラム、及び時間計測システム
(51)【国際特許分類】
   H04L 43/0864 20220101AFI20241128BHJP
   H04L 67/52 20220101ALI20241128BHJP
【FI】
H04L43/0864
H04L67/52
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023085624
(22)【出願日】2023-05-24
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100087480
【弁理士】
【氏名又は名称】片山 修平
(72)【発明者】
【氏名】井上 昴輝
(57)【要約】
【課題】往復通信遅延時間の計測困難性を抑制する時間計測装置、時間計測プログラム、及び時間計測システムを提供する。
【解決手段】時間計測装置は、それぞれ自己の設置位置が登録された複数のアンカーの中から、端末が申告する申告位置に地理的に対応する設置位置が登録された所定のアンカーを選択する選択部と、前記所定のアンカーが前記端末から受信した第1パケットの受信時刻と、前記所定のアンカーが前記端末から受信した、前記第1パケットに応答する応答パケットに基づく第2パケットの受信時刻とに基づいて計測された時間を、前記端末と前記所定のアンカーとの往復通信遅延時間として特定する特定部と、を有する。
【選択図】図7
【特許請求の範囲】
【請求項1】
それぞれ自己の設置位置が登録された複数のアンカーの中から、端末が申告する申告位置に地理的に対応する設置位置が登録された所定のアンカーを選択する選択部と、
前記所定のアンカーが前記端末から受信した第1パケットの受信時刻と、前記所定のアンカーが前記端末から受信した、前記第1パケットに応答する応答パケットに基づく第2パケットの受信時刻とに基づいて計測された時間を、前記端末と前記所定のアンカーとの往復通信遅延時間として特定する特定部と、
を有する時間計測装置。
【請求項2】
前記特定部は、前記第1パケットの前記受信時刻と前記第2パケットの前記受信時刻とに基づいて計測された差分時間を、前記往復通信遅延時間として特定する、
ことを特徴とする請求項1に記載の時間計測装置。
【請求項3】
前記応答パケットに添付された暗証情報と前記第2パケットに添付された暗証情報との照合結果と、前記往復通信遅延時間とに基づいて、前記申告位置の妥当性を検証する検証部を含む、
ことを特徴とする請求項1又は2に記載の時間計測装置。
【請求項4】
前記検証部は、前記照合結果が、前記応答パケットに添付された暗証情報と前記第2パケットに添付された暗証情報の一致を表す場合、前記申告位置が妥当であると判断する、
ことを特徴とする請求項3に記載の時間計測装置。
【請求項5】
前記検証部は、前記照合結果が、前記応答パケットに添付された暗証情報と前記第2パケットに添付された暗証情報の不一致を表す場合、前記申告位置が不正であると判断する、
ことを特徴とする請求項3に記載の時間計測装置。
【請求項6】
前記選択部は、それぞれ自己の設置位置が登録された複数のプローブの中から前記申告位置に地理的に応じた設置位置が登録された所定のプローブを選択し、
前記特定部は、前記所定のアンカーが前記端末から受信した前記第1パケットの前記受信時刻と、前記所定のアンカーが前記端末から受信した、前記第1パケットに応答する前記応答パケットに基づく前記第2パケットの前記受信時刻との第1差分時間と、前記所定のアンカーが前記所定のプローブから受信した第3パケットの受信時刻と、前記所定のアンカーが前記所定のプローブから受信した、前記第3パケットに応答する応答パケットに基づく第4パケットの受信時刻との第2差分時間とを特定し、
前記検証部は、前記第1差分時間と、前記第2差分時間とに基づいて、前記申告位置の前記妥当性を検証する、
ことを特徴とする請求項3に記載の時間計測装置。
【請求項7】
前記選択部は、それぞれ自己の設置位置が登録された複数のプローブの中から前記申告位置に地理的に応じた設置位置が登録された所定のプローブと、前記所定のアンカーと方角が異なり、かつ、前記所定のアンカーと前記端末との距離より長距離の位置に設置された別のアンカーを選択し、
前記特定部は、前記別のアンカーが前記端末から受信した第5パケットの受信時刻と、前記別のアンカーが前記端末から受信した、前記第5パケットに応答する応答パケットに基づく第6パケットの受信時刻との第3差分時間と、前記別のアンカーが前記所定のプローブから受信した第7パケットの受信時刻と、前記別のアンカーが前記所定のプローブから受信した、前記第7パケットに応答する応答パケットに基づく第8パケットの受信時刻との第4差分時間とを特定し、
前記検証部は、前記第3差分時間と、前記第4差分時間とに基づいて、前記申告位置の前記妥当性を検証する、
ことを特徴とする請求項3に記載の時間計測装置。
【請求項8】
それぞれ自己の設置位置が登録された複数のアンカーの中から、端末が申告する申告位置に地理的に対応する設置位置が登録された所定のアンカーを選択し、
前記所定のアンカーが前記端末から受信した第1パケットの受信時刻と、前記所定のアンカーが前記端末から受信した、前記第1パケットに応答する応答パケットに基づく第2パケットの受信時刻とに基づいて計測された時間を、前記端末と前記所定のアンカーとの往復通信遅延時間として特定する、
処理をコンピュータに実行させるための時間計測プログラム。
【請求項9】
端末と、
それぞれ自己の設置位置が登録された複数のアンカーと、
前記複数のアンカーの中から、前記端末が申告する申告位置に地理的に対応する設置位置が登録された所定のアンカーを選択し、前記所定のアンカーが前記端末から受信した第1パケットの受信時刻と、前記所定のアンカーが前記端末から受信した、前記第1パケットに応答する応答パケットに基づく第2パケットの受信時刻とに基づいて計測された時間を、前記端末と前記所定のアンカーとの往復通信遅延時間として特定するコントローラと、
を有する時間計測システム。
【発明の詳細な説明】
【技術分野】
【0001】
本件は、時間計測装置、時間計測プログラム、及び時間計測システムに関する。
【背景技術】
【0002】
RIPE NCC(Reseaux IP Europeans Network Coordination Centre)によって開始されたプロジェクトであるRIPE Atlasが知られている。RIPE Atlasでは、世界中の大学や研究機関に定点観測ノードとしてのプローブが配置され、インターネット計測の実現が図られている。RIPE NCCはプローブが観測したデータに基づいて世界中のインターネットの疎通を確認する(例えば特許文献1及び非特許文献1参照)。
【0003】
プローブはユーザの端末にパケットを送信することができる。例えば、プローブは、計測パケットとして、pingコマンドを利用してICMP(Internet Control Message Protocol)のecho requestを送信する。端末はプローブから送信されたパケットを受信すると、応答パケットとして、echo replyをプローブに返信する。プローブと接続されたコントローラは、パケットの送信時刻と応答パケットの受信時刻から、往復通信遅延時間(Round-Trip-Time:RTT)を計測することができる。往復通信遅延時間はプローブがパケットを送信してからどの程度遅延して応答パケットを受信したかを表す時間である。例えば、パケットの伝搬速度と往復通信遅延時間とを利用すれば、コントローラは端末の凡その位置を絞り込むことができる。なお、端末の位置を測位する技術には様々な種類がある(例えば特許文献2乃至5参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2018-023018号公報
【特許文献2】特開2005-123833号公報
【特許文献3】国際公開第2020/066103号
【特許文献4】米国特許出願公開第2022/0146620号明細書
【特許文献5】米国特許出願公開第2009/0149198号明細書
【非特許文献】
【0005】
【非特許文献1】Ben Du et al., “RIPE IPmap Active Geolocation:Mechanism and Performance Evaluation”, ACM SIGCOMM Computer Communication Review, Vol 50, Issue 2, pp.3-10, April, 2020
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、端末によってはプローブが送信するパケットに対して応答パケットの返信を拒否する設定がなされている場合がある。また、プローブが送信するパケットが通信ネットワーク上に配置されたゲートウェイによって廃棄される場合もある。このような場合、プローブは応答パケットを受信できず、コントローラによる往復通信遅延時間の計測が困難になる。
【0007】
そこで、1つの側面では、往復通信遅延時間の計測困難性を抑制する時間計測装置、時間計測プログラム、及び時間計測システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
1つの実施態様では、時間計測装置は、それぞれ自己の設置位置が登録された複数のアンカーの中から、端末が申告する申告位置に地理的に対応する設置位置が登録された所定のアンカーを選択する選択部と、前記所定のアンカーが前記端末から受信した第1パケットの受信時刻と、前記所定のアンカーが前記端末から受信した、前記第1パケットに応答する応答パケットに基づく第2パケットの受信時刻とに基づいて計測された時間を、前記端末と前記所定のアンカーとの往復通信遅延時間として特定する特定部と、を有する。
【発明の効果】
【0009】
往復通信遅延時間の計測困難性を抑制することができる。
【図面の簡単な説明】
【0010】
図1】時間計測システムの一例である。
図2】(a)は正当な申告の一例を説明する図である。(b)は虚偽申告の一例を説明する図である。(c)は虚偽申告の他の一例を説明する図である。
図3】コントローラのハードウェア構成の一例である。
図4】コントローラの機能構成の一例である。
図5】差分時間テーブルの一例である。
図6】第1実施形態に係る処理シーケンス図の一例である。
図7】往復通信遅延時間の特定例を説明する図である。
図8】差分時間テーブルの遷移例である。
図9】(a)はプローブに基づく往復通信遅延時間の計測例である。(b)はアンカーに基づく往復通信遅延時間の計測例である。
図10】第2実施形態に係る処理シーケンス図の一例である。
図11】暗証情報を用いた不正検知の一例を説明する図である。
図12】第3実施形態に係る処理シーケンス図の一例である。
図13】第3実施形態に係る処理シーケンス図の他の一例である。
図14】複数のアンカーを用いた不正検知の一例を説明する図である。
図15】複数のアンカーを用いた虚偽申告の一例を説明する図である。
【発明を実施するための形態】
【0011】
以下、本件を実施するための形態について図面を参照して説明する。
【0012】
(第1実施形態)
図1に示すように、時間計測システムSTは、ターゲット10と、複数のアンカー21,22,23と、複数のプローブ31,32,33と、コントローラ100とを含んでいる。ターゲット10は端末の一例である。コントローラ100は時間計測装置の一例である。コントローラ100は例えば時間計測システムSTを管理する管理サーバによって実現することができる。ターゲット10は、例えばスマートフォンやタブレット端末といった携帯端末で実現することができる。ターゲット10は、インターネットに接続されたスマートテレビなどを含む固定端末で実現してもよい。ターゲット10には識別情報(IDと表記)「T」が登録されている。
【0013】
ターゲット10と、アンカー21,22,23と、プローブ31,32,33と、コントローラ100は、通信ネットワークNWを介して互いに接続されている。通信ネットワークNWは、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などを含んでいる。通信ネットワークNWは有線接続と無線接続のいずれか一方又は両方を含んでいる。
【0014】
アンカー21,22,23とプローブ31,32,33は世界中の大学や研究機関、企業など、互いに位置が異なる様々な拠点に配置されたコンピュータ又はIoT(Internet of Things)デバイスである。アンカー21,22,23とプローブ31,32,33にはいずれも自己の設置位置が位置情報として識別情報とともに登録されている。例えば、アンカー21には識別情報「A1」が登録されている。プローブ31には識別情報「P1」が登録されている。
【0015】
プローブ31は、往復通信遅延時間の計測に用いるパケット(以下、計測パケットという)を、ターゲット10やアンカー21,22,23、プローブ32,33に送信することができる。また、プローブ31は、プローブ31自身が送信した計測パケットに応答する応答パケットをターゲット10やアンカー21,22,23、プローブ32,33から受信することができる。
【0016】
一方で、プローブ31は、プローブ31自身が送信した計測パケットに応答する応答パケット以外のパケットを受信することができない。このため、プローブ31は、ターゲット10やアンカー21,22,23、プローブ32,33が送信する計測パケットを受信することができない。なお、プローブ32,33については、基本的に、プローブ31と同様であるため、詳細な説明を省略する。
【0017】
アンカー21は、計測パケットをターゲット10やアンカー22,23、プローブ31,32,33に送信することができる。また、アンカー21は、アンカー21自身が送信した計測パケットに応答する応答パケットをターゲット10やアンカー22,23、プローブ31,32,33から受信することができる。
【0018】
さらに、アンカー21は、プローブ31と異なり、アンカー21自身が送信した計測パケットに応答する応答パケット以外のパケットを受信することもできる。このため、アンカー21は、ターゲット10やアンカー22,23、プローブ31,32,33が送信する計測パケットを受信することができる。このように、アンカー21は計測パケットを受信できる点でプローブ31と相違する。なお、アンカー22,23については、基本的に、アンカー21と同様であるため、詳細な説明を省略する。
【0019】
ターゲット10は、ターゲット10自身の位置を証明する場合に、計測パケットをアンカー21,22,23のいずれかに送信する。例えば、通信サービスのサービス提供者が動画を配信する事業者であって、この事業者が動画の配信地域を日本国内に限定している場合がある。このような場合、ユーザによっては、ターゲット10が日本国外に位置しているにも関わらず、悪意によりターゲット10の位置が日本国内に位置しているとサービス提供者を欺く可能性がある。この悪意には、例えばGPS(Global Positioning System)スプーフィングや、プロキシによるIPアドレスの隠蔽、ターゲット10に対する不正な改造などが利用される。
【0020】
このような不正な行為によりユーザが不正な利益を得ることを回避し、かつ、サービス提供者の不利益を回避するために、サービス提供者は事前にターゲット10の真の位置を確認する。ターゲット10は、サービス提供者からターゲット10の真の位置の確認が要求されると、時間計測システムSTを利用して、ターゲット10自身の位置を証明する。例えば、ターゲット10が申告する申告位置の検証が要求された場合、時間計測システムSTのコントローラ100は、ターゲット10に計測パケットの送信を依頼する。これにより、ターゲット10は計測パケットをアンカー21,22,23のいずれかに送信する。
【0021】
詳細は後述するが、コントローラ100は、アンカー21がターゲット10から受信した1回目の計測パケットの受信時刻と、1回目の計測パケットに応答する応答パケットに基づく2回目の計測パケットの受信時刻とに基づいて計測した差分時間をアンカー21から取得する。コントローラ100は差分時間を取得すると、取得した差分時間を、ターゲット10とアンカー21との往復通信遅延時間として特定する。このように、プローブ31では困難であった往復通信遅延時間の計測が、アンカー21を利用することで、実現することができる。
【0022】
また、コントローラ100は、プローブ31,32,33とアンカー21との各往復通信遅延時間と、ターゲット10とアンカー21との往復通信遅延時間を検証することにより、ターゲット10の位置の妥当性又は正当性を検証することができる。
【0023】
例えば、図2(a)に示すように、コントローラ100がターゲット10とアンカー21との往復通信遅延時間を31ms(ミリ秒)と特定する。コントローラ100がプローブ31とアンカー21との往復通信遅延時間を35msと特定する。コントローラ100がプローブ32とアンカー21との往復通信遅延時間を32msと特定する。コントローラ100がプローブ33とアンカー21との往復通信遅延時間を30msと特定する。コントローラ100がこのように特定した往復通信遅延時間を検証すると、ターゲット10は地理的にプローブ31,32,33の近傍に位置すると判断することができる。したがって、ターゲット10の申告位置がプローブ31,32,33の近傍であれば、コントローラ100はターゲット10の申告位置は妥当(又は正当)であると判断することができる。なお、往復通信遅延時間が長時間になるほど、二点間(例えばターゲット10とアンカー21など)の距離は傾向的により離れていると推定される。
【0024】
一方、図2(b)に示すように、コントローラ100がターゲット10とアンカー21との往復通信遅延時間が60msと特定する。コントローラ100がプローブ31,32,33とアンカー21との往復通信遅延時間をそれぞれ35ms、32ms、30msと特定する。コントローラ100がこのような往復通信遅延時間を検証すると、ターゲット10はプローブ31,32,33の近傍に位置せずに、アンカー21から遠く離れた場所に位置すると判断することができる。したがって、仮にターゲット10の申告位置がプローブ31,32,33の近傍であれば、コントローラ100はターゲット10の申告位置が不正(又は失当)であり、偽証されていると判断することができる。
【0025】
また、図2(c)に示すように、コントローラ100がターゲット10とアンカー21との往復通信遅延時間が15msと特定する。コントローラ100がプローブ31,32,33とアンカー21との往復通信遅延時間をそれぞれ35ms、32ms、30msと特定する。コントローラ100がこのような往復通信遅延時間を検証すると、ターゲット10はプローブ31,32,33の近傍に位置せずに、プローブ31,32,33の各位置よりアンカー21の近くに位置すると判断することができる。したがって、仮にターゲット10の申告位置がプローブ31,32,33の近傍であれば、コントローラ100はターゲット10の申告位置が不正(又は失当)であり、偽証されていると判断することができる。
【0026】
次に、図3を参照して、コントローラ100のハードウェア構成について説明する。なお、ターゲット10、アンカー21,22,23、プローブ31,32,33のハードウェア構成については、基本的に、コントローラ100のハードウェア構成と同様であるため、詳細な説明は省略する。
【0027】
コントローラ100は、プロセッサとしてのCPU(Central Processing Unit)100Aと、メモリとしてのRAM(Random Access Memory)100B及びROM(Read Only Memory)100Cを含んでいる。コントローラ100は、ネットワークI/F(インタフェース)100D及びHDD(Hard Disk Drive)100Eを含んでいる。HDD(Hard Disk Drive)100Eに代えて、SSD(Solid State Drive)を採用してもよい。
【0028】
コントローラ100は、必要に応じて、入力I/F100F、出力I/F100G、入出力I/F100H、ドライブ装置100Iの少なくとも1つを含んでいてもよい。CPU100Aからドライブ装置100Iまでは、内部バス100Jによって互いに接続されている。すなわち、コントローラ100はコンピュータによって実現することができる。
【0029】
入力I/F100Fには入力装置710が接続される。入力装置710としては例えばキーボードやマウス、タッチパネルなどがある。出力I/F100Gには表示装置720が接続される。表示装置720としては例えば液晶ディスプレイなどがある。入出力I/F100Hには半導体メモリ730が接続される。半導体メモリ730としては、例えばUSB(Universal Serial Bus)メモリやフラッシュメモリなどがある。入出力I/F100Hは半導体メモリ730に記憶された時間計測プログラムを読み取る。入力I/F100F及び入出力I/F100Hは例えばUSBポートを備えている。出力I/F100Gは例えばディスプレイポートを備えている。
【0030】
ドライブ装置100Iには可搬型記録媒体740が挿入される。可搬型記録媒体740としては、例えばCD(Compact Disc)-ROM、DVD(Digital Versatile Disc)といったリムーバブルディスクがある。ドライブ装置100Iは可搬型記録媒体740に記録された時間計測プログラムを読み込む。ネットワークI/F100Dは例えばLANポートや通信回路などを備えている。通信回路は有線通信回路と無線通信回路のいずれか一方又は両方を含んでいる。ネットワークI/F100Dは通信ネットワークNWと接続される。
【0031】
RAM100BにはROM100C、HDD100E、半導体メモリ730の少なくとも1つに記憶された時間計測プログラムがCPU100Aによって一時的に格納される。RAM100Bには可搬型記録媒体740に記録された時間計測プログラムがCPU100Aによって一時的に格納される。格納された時間計測プログラムをCPU100Aが実行することにより、CPU100Aは後述する各種の機能を実現し、また、後述する各種の処理を含む時間計測方法を実行する。なお、時間計測プログラムは後述する処理シーケンス図に応じたものとすればよい。
【0032】
図4及び図5を参照して、コントローラ100の機能構成について説明する。なお、図4ではコントローラ100の機能の要部が示されている。
【0033】
図4に示すように、コントローラ100は記憶部110、処理部120、及び通信部130を備えている。記憶部110は上述したRAM100BとHDD100Eのいずれか一方又は両方によって実現することができる。処理部120は上述したCPU100Aによって実現することができる。通信部130は上述したネットワークI/F100Dによって実現することができる。
【0034】
記憶部110、処理部120、及び通信部130は互いに接続されている。記憶部110は、差分時間記憶部111を含んでいる。処理部120は、選択部121、特定部122、及び検証部123を含んでいる。
【0035】
差分時間記憶部111は例えばアンカー21がターゲット10から受信した計測パケットの受信時刻により計測した差分時間などを含む差分時間情報を記憶する。具体的には、図5に示すように、差分時間記憶部111は差分時間テーブルTBLによって差分時間情報を管理する。差分時間情報は、管理番号(図5においてNo.と表記)、第1受信時刻、第2受信時刻、差分時間、検証結果といった複数の項目を含んでいる。
【0036】
管理番号の項目には差分時間情報を管理する管理番号が登録される。第1受信時刻の項目にはアンカー21がターゲット10から受信した1回目の計測パケットの受信時刻が登録される。第2受信時刻の項目にはアンカー21がターゲット10から受信した2回目の計測パケットの受信時刻が登録される。差分時間の項目には、1回目の計測パケットの受信時刻と2回目の計測パケットの受信時刻との時刻差が差分時間として登録される。検証結果の項目には、ターゲット10の申告位置の検証結果が登録される。
【0037】
例えば、ターゲット10の申告位置が妥当であれば、検証結果の項目に検証結果「〇」が登録される。逆に、ターゲット10の申告位置が失当であれば、検証結果の項目に検証結果「×」が登録される。なお、第1受信時刻の項目にアンカー21がプローブ31から受信した1回目の計測パケットの受信時刻が登録されることもある。また、第2受信時刻の項目にはアンカー21がプローブ31から受信した2回目の計測パケットの受信時刻が登録されることもある。
【0038】
選択部121は、それぞれ自己の設置位置が登録された複数のアンカー21,22,23の中から、ターゲット10が申告する申告位置に地理的に対応する設置位置が登録されたアンカー21,22,23のいずれか1つを所定のアンカーとして選択する。例えば、ターゲット10とアンカー21がアンカー22,23に比べて地理的に近い場合、選択部121はアンカー21を所定のアンカーとして選択する。選択部121は、所定のアンカーの選択と同様に、それぞれ自己の設置位置が登録された複数のプローブ31,32,33の中から、ターゲット10が申告する申告位置に地理的に対応する設置位置が登録されたプローブ31,32,33のいずれか1つを所定のプローブとして選択することもできる。
【0039】
特定部122は、1回目の計測パケットの受信時刻と2回目の計測パケットの受信時刻とに基づいて所定のアンカーが計測した時間を、ターゲット10と所定のアンカーとの往復通信遅延時間として特定する。例えば、選択部121がアンカー21を所定のアンカーとして選択した場合、特定部122は、2つの受信時刻に基づいてアンカー21が計測した差分時間を、ターゲット10とアンカー21との往復通信遅延時間として特定する。特定部122は、往復通信遅延時間を特定すると、1回目の計測パケットの受信時刻と2回目の計測パケットの受信時刻と往復通信遅延時間を、第1受信時刻、第2受信時刻、差分時間の各項目に登録する。
【0040】
検証部123は、応答パケットに添付された暗証情報と2回目の計測パケットに添付された暗証情報との照合結果と、特定部122が特定した往復通信遅延時間とに基づいて、ターゲット10の申告位置の妥当性を検証する。応答パケットに添付された暗証情報は選択部121が選択したアンカー21によって乱数が利用されて生成される。暗証情報としては、例えば一度限り有効なワンタイムパスワードが採用される。
【0041】
応答パケットに添付された暗証情報と同一の暗証情報が2回目の計測パケットに添付されていない場合、照合結果は一致しない。例えば、ターゲット10がアンカー21から送信された応答パケットを受信する前に、2回目の計測パケットをアンカー21に送信すれば、応答パケットに添付された暗証情報と異なる暗証情報が2回目の計測パケットに添付される可能性が高い。このような場合、暗証情報同士の照合結果は一致しないため、検証部123は、検証結果の項目に検証結果「×」を登録する。暗証情報同士の照合結果が一致する場合に、検証部123は、検証結果の項目に検証結果「〇」を登録することができる。
【0042】
図6乃至図8を参照して、時間計測システムSTの動作について説明する。
【0043】
まず、図6に示すように、コントローラ100の選択部121はアンカー21に受信時刻の差分時間の計測を依頼する(ステップS1)。より詳しくは、選択部121はアンカー21,22,23の中から、ターゲット10の申告位置に地理的に対応するアンカー21を選択し、選択したアンカー21に受信時刻の差分時間の計測を依頼する。これにより、アンカー21はターゲット10から送信される計測パケットの受信を待機する。
【0044】
次に、コントローラ100の特定部122はターゲット10にパケットの送信を依頼する(ステップS2)。ターゲット10は、コントローラ100からパケットの送信が依頼されると、1回目の計測パケットをアンカー21に送信する(ステップS3)。ターゲット10が送信する1回目の計測パケットは第1パケットの一例である。より詳しくは、図7に示すように、パケットの送信がターゲット10に依頼されると、ターゲット10は1回目の計測パケットを送信する。これにより、アンカー21はターゲット10の送信時刻から第1所定時間経過した第1受信時刻に1回目の計測パケットを受信する。この第1所定時間の算出は、例えばターゲット10とアンカー21との物理的な距離と、パケットの伝搬速度とに基づいて行うことができる。図6に示すように、アンカー21は、1回目の計測パケットを受信すると、タイマーをスタートする。
【0045】
タイマーをスタートすると、アンカー21は1回目の計測パケットに応答する1回目の応答パケットをターゲット10に送信する(ステップS4)。より詳しくは、図7に示すように、アンカー21は第1受信時刻又はその直後に即時に1回目の応答パケットをターゲット10に送信する。これにより、ターゲット10はアンカー21の送信時刻から第2所定時間経過した後に1回目の応答パケットを受信する。この第2所定時間は、ターゲット10とアンカー21との物理的な距離と、パケットの伝搬速度が同一であると想定すれば、上述した第1所定時間と同じである。ターゲット10が1回目の応答パケットを受信することにより、1回目の計測パケットの送信時刻から1回目の応答パケットの受信時刻までの往復通信遅延時間Δが特定される。
【0046】
アンカー21から1回目の応答パケットが送信されると、図6に示すように、ターゲット10は2回目の計測パケットをアンカー21に送信する(ステップS5)。ターゲット10が送信する2回目の計測パケットは第2パケットの一例である。より詳しくは、図7に示すように、1回目の応答パケットを受信すると、ターゲット10は1回目の応答パケットの受信時刻又はその直後に即時に2回目の計測パケットを送信する。これにより、アンカー21はターゲット10の送信時刻から第3所定時間経過した第2受信時刻に2回目の計測パケットを受信する。この第3所定時間は、ターゲット10とアンカー21との物理的な距離と、パケットの伝搬速度が同一であると想定すれば、上述した第1所定時間と同じである。
【0047】
ターゲット10から2回目の計測パケットが送信されると、図6に示すように、アンカー21はタイマーをストップして、2回目の計測パケットに応答する2回目の応答パケットをターゲット10に送信する(ステップS6)。より詳しくは、図7に示すように、第2受信時刻又はその直後に即時に2回目の応答パケットをターゲット10に送信する。これにより、ターゲット10はアンカー21の送信時刻から第4所定時間経過した後に2回目の応答パケットを受信する。この第4所定時間は、ターゲット10とアンカー21との物理的な距離と、パケットの伝搬速度が同一であると想定すれば、上述した第1所定時間と同じである。
【0048】
2回目の応答パケットを送信すると、図6に示すように、アンカー21は計測時間をコントローラ100に通知する(ステップS7)。より詳しくは、アンカー21は、タイマーをストップすることにより、タイマーをスタートしてからストップするまでの計測時間を通知する。図7に示すように、この計測時間はアンカー21が受信する1回目の計測パケットの第1受信時刻から2回目の計測パケットの第2受信時刻までの差分時間に相当する。そして、差分時間は1回目の計測パケットの送信時刻から1回目の応答パケットの受信時刻までの往復通信遅延時間Δと共通する。すなわち、アンカー21は、1回目の計測パケットの送信時刻から1回目の応答パケットの受信時刻までの往復通信遅延時間Δに相当する差分時間を計測時間として、第1受信時刻及び第2受信時刻と共にコントローラ100に通知する。
【0049】
アンカー21から計測時間が第1受信時刻及び第2受信時刻と共に通知されると、図6に示すように、コントローラ100の特定部122は計測時間を往復通信遅延時間として特定する。特定部122は、往復通信遅延時間の特定と併せて、図8に示すように、計測時間、第1受信時刻、及び第2受信時刻を差分時間テーブルTBLに登録する。このように、プローブ31では困難であった往復通信遅延時間の計測が、アンカー21を利用することで、実現することができる。
【0050】
図9を参照して、プローブ31,32,33に基づく往復通信遅延時間の計測と、アンカー21,22,23に基づく往復通信遅延時間の計測の相違について説明する。
【0051】
まず、図9(a)に示すように、例えばプローブ31がターゲット10に計測パケットを送信することにより、往復通信遅延時間が計測されることもある。ところが、ターゲット10によっては計測パケットに対して応答パケットの返信を拒否する設定がなされている場合がある。また、プローブ31が送信する計測パケットが通信ネットワークNW上に配置されたゲートウェイ(不図示)によって廃棄される場合もある。このような場合、プローブ31は応答パケットをターゲット10から受信できず、往復通信遅延時間の計測が困難になる。
【0052】
一方、図9(b)に示すように、例えばターゲット10がアンカー21に計測パケットを送信することにより、往復通信遅延時間を計測する場合には、ターゲット10の設定に関わらずに、アンカー21は計測パケットを受信することができる。アンカー21はターゲット10から送信された1回目の計測パケットと、1回目の計測パケットに応答する応答パケットに基づいてターゲット10から送信された2回目の計測パケットの各受信時刻の差分時間を計測することができる。この差分時間により、ターゲット10とアンカー21との往復通信遅延時間の計測が可能となる。
【0053】
(第2実施形態)
図10及び図11を参照して、本件の第2実施形態について説明する。第2実施形態に係るコントローラ100は、暗証情報による照合結果を利用することにより、ターゲット10による不正を検知することができる。
【0054】
まず、図10に示すように、コントローラ100の選択部121はアンカー21に受信時刻の差分時間の計測を依頼する(ステップS11)。これにより、アンカー21はターゲット10から送信される計測パケットの受信を待機する。
【0055】
次に、コントローラ100の特定部122はターゲット10にパケットの送信を依頼する(ステップS12)。ターゲット10は、コントローラ100からパケットの送信が依頼されると、1回目の計測パケットをアンカー21に送信する(ステップS13)。より詳しくは、図11に示すように、パケットの送信がターゲット10に依頼されると、ターゲット10は1回目の計測パケットを送信する。これにより、アンカー21はターゲット10の送信時刻から第1所定時間経過した第1受信時刻に1回目の計測パケットを受信する。図10及び図11に示すように、アンカー21は、1回目の計測パケットを受信すると、乱数を利用した暗証情報(PWと表記)を生成し、タイマーをスタートする。
【0056】
タイマーをスタートすると、図10に示すように、アンカー21は1回目の計測パケットに応答する1回目の暗証情報付き応答パケットをターゲット10に送信する(ステップS14)。より詳しくは、図11に示すように、アンカー21は1回目の応答パケットに暗証情報を添付し、第1受信時刻又はその直後に即時に1回目の暗証情報付き応答パケットをターゲット10に送信する。これにより、ターゲット10はアンカー21の送信時刻から第2所定時間経過した後に1回目の暗証情報付き応答パケットを受信する。ターゲット10が1回目の暗証情報付き応答パケットを受信することにより、1回目の計測パケットの送信時刻から1回目の暗証情報付き応答パケットの受信時刻までの往復通信遅延時間Δが特定される。
【0057】
アンカー21から1回目の暗証情報付き応答パケットが送信されると、図10に示すように、ターゲット10は暗証情報を添付した2回目の計測パケットをアンカー21に送信する(ステップS15)。より詳しくは、図11に示すように、1回目の暗証情報付き応答パケットを受信すると、ターゲット10はこの暗証情報を取得し、この暗証情報を2回目の計測パケットに添付する。そして、ターゲット10は、1回目の暗証情報付き応答パケットの受信時刻又はその直後に即時に暗証情報を添付したこの2回目の計測パケットを送信する。これにより、アンカー21はターゲット10の送信時刻から第3所定時間経過した第2受信時刻に暗証情報が添付された2回目の計測パケットを受信する。
【0058】
ターゲット10から暗証情報が添付された2回目の計測パケットが送信されると、図10に示すように、アンカー21はタイマーをストップして暗証情報を照合する。そして、アンカー21は暗証情報が添付された2回目の計測パケットに応答する2回目の応答パケットをターゲット10に送信する(ステップS16)。より詳しくは、図11に示すように、第2受信時刻又はその直後に即時に2回目の応答パケットをターゲット10に送信する。これにより、ターゲット10はアンカー21の送信時刻から第4所定時間経過した後に2回目の応答パケットを受信する。
【0059】
2回目の応答パケットを送信すると、図10に示すように、アンカー21は計測時間と照合結果をコントローラ100に通知する(ステップS17)。より詳しくは、アンカー21は、タイマーをストップすることにより、タイマーをスタートしてからストップするまでの計測時間を照合結果と共に通知する。図11に示すように、この計測時間は1回目の計測パケットの第1受信時刻から2回目の計測パケットの第2受信時刻までの差分時間に相当する。そして、差分時間は1回目の計測パケットの送信時刻から1回目の応答パケットの受信時刻までの往復通信遅延時間Δと共通する。すなわち、アンカー21は、1回目の計測パケットの送信時刻から1回目の応答パケットの受信時刻までの往復通信遅延時間Δに相当する差分時間を計測時間として、照合結果や第1受信時刻、第2受信時刻と共にコントローラ100に通知する。
【0060】
ここで、照合結果に関し、アンカー21が生成した暗証情報と同じ暗証情報が2回目の計測パケットに添付されていれば、アンカー21は暗証情報が一致した旨の照合結果を通知する。一方、アンカー21が生成した暗証情報と異なる暗証情報が2回目の計測パケットに添付されていれば、アンカー21は暗証情報が不一致であった旨の照合結果を通知する。例えば、ターゲット10が暗証情報付きの応答パケットを受信する前に、意図的に任意の暗証情報を生成し、この任意の暗証情報を添付した2回目の計測パケットを送信した場合、アンカー21は暗証情報が不一致であった旨の照合結果を通知する。すなわち、暗証情報が不一致であることにより、アンカー21はターゲット10が不正に往復通信遅延時間を早めたことを検知することができる。
【0061】
アンカー21から計測時間と照合結果が、第1受信時刻及び第2受信時刻と共に通知されると、コントローラ100の特定部122は計測時間を往復通信遅延時間として特定する。特定部122は、往復通信遅延時間の特定と併せて、計測時間、第1受信時刻、及び第2受信時刻、を差分時間テーブルTBLに登録する(併せて図8参照)。また、検証部123は、照合結果を検証し、検証結果の項目に検証結果を登録する(併せて図8参照)。例えば、暗証情報が一致した旨の照合結果が通知された場合、検証部123は検証結果「〇」を登録する。逆に、暗証情報が不一致であった旨の照合結果が通知された場合、検証部123は検証結果「×」を登録する。このように、第2実施形態に係るコントローラ100は、暗証情報を利用することにより、ターゲット10による往復通信遅延時間の不正を検知することができる。
【0062】
(第3実施形態)
図12及び図13を参照して、本件の第3実施形態について説明する。第3実施形態に係るコントローラ100は、アンカー21とプローブ31とを利用することにより、ターゲット10の申告位置の妥当性を検証することができる。
【0063】
まず、図12に示すように、コントローラ100の選択部121はアンカー21に受信時刻の差分時間の計測を依頼する(ステップS21)。これにより、アンカー21はターゲット10から送信される計測パケットの受信を待機する。
【0064】
次に、コントローラ100の特定部122はターゲット10にパケットの送信を依頼する(ステップS22)。ターゲット10は、コントローラ100からパケットの送信が依頼されると、1回目の計測パケットをアンカー21に送信する(ステップS23)。アンカー21は、1回目の計測パケットを受信すると、乱数を利用した暗証情報を生成し、タイマーをスタートする。
【0065】
タイマーをスタートすると、アンカー21は1回目の計測パケットに応答する1回目の暗証情報付き応答パケットをターゲット10に送信する(ステップS24)。アンカー21から1回目の暗証情報付き応答パケットが送信されると、ターゲット10は暗証情報を添付した2回目の計測パケットをアンカー21に送信する(ステップS25)。ターゲット10から暗証情報が添付された2回目の計測パケットが送信されると、アンカー21はタイマーをストップして暗証情報を照合し、暗証情報が添付された2回目の計測パケットに応答する2回目の応答パケットをターゲット10に送信する(ステップS26)。
【0066】
2回目の応答パケットを送信すると、アンカー21は計測時間と照合結果をコントローラ100に通知する(ステップS27)。より詳しくは、アンカー21は、タイマーをストップすることにより、タイマーをスタートしてからストップするまでの計測時間を照合結果と共に通知する。アンカー21が生成した暗証情報と同じ暗証情報が2回目の計測パケットに添付されていれば、アンカー21は暗証情報が一致した旨の照合結果を通知する。アンカー21が生成した暗証情報と異なる暗証情報が2回目の計測パケットに添付されていれば、アンカー21は暗証情報が不一致であった旨の照合結果を通知する。
【0067】
アンカー21から計測時間と照合結果が通知されると、図13に示すように、コントローラ100の選択部121はアンカー21に受信時刻の差分時間の計測を依頼する(ステップS28)。これにより、アンカー21はプローブ31,32,33のいずれかから送信される計測パケットの受信を待機する。
【0068】
次に、コントローラ100の選択部121はプローブ31,32,33の中からターゲット10の申告位置に最も近いプローブ31を選択し、特定部122は選択部121が選択したプローブ31にパケットの送信を依頼する(ステップS29)。プローブ31は、コントローラ100からパケットの送信が依頼されると、1回目の計測パケットをアンカー21に送信する(ステップS30)。プローブ31が送信する1回目の計測パケットは第3パケットの一例である。アンカー21は、プローブ31から送信された1回目の計測パケットを受信すると、乱数を利用した暗証情報を生成し、タイマーをスタートする。
【0069】
タイマーをスタートすると、アンカー21は1回目の計測パケットに応答する1回目の暗証情報付き応答パケットをプローブ31に送信する(ステップS31)。アンカー21から1回目の暗証情報付き応答パケットが送信されると、プローブ31は暗証情報を添付した2回目の計測パケットをアンカー21に送信する(ステップS32)。プローブ31が送信する2回目の計測パケットは第4パケットの一例である。プローブ31から暗証情報が添付された2回目の計測パケットが送信されると、アンカー21はタイマーをストップして暗証情報を照合し、暗証情報が添付された2回目の計測パケットに応答する2回目の応答パケットをプローブ31に送信する(ステップS33)。
【0070】
2回目の応答パケットを送信すると、アンカー21は計測時間と照合結果をコントローラ100に通知する(ステップS34)。より詳しくは、アンカー21は、タイマーをストップすることにより、タイマーをスタートしてからストップするまでの時間差である計測時間を照合結果と共に通知する。アンカー21が生成した暗証情報と同じ暗証情報が2回目の計測パケットに添付されていれば、アンカー21は暗証情報が一致した旨の照合結果を通知する。アンカー21が生成した暗証情報と異なる暗証情報が2回目の計測パケットに添付されていれば、アンカー21は暗証情報が不一致であった旨の照合結果を通知する。
【0071】
アンカー21から計測時間と照合結果が通知されると、コントローラ100の特定部122は計測時間を往復通信遅延時間として特定する。より詳しくは、特定部122はステップS27の処理で通知された計測時間をターゲット10とアンカー21との第1往復通信遅延時間として特定する。また、特定部122はステップS34の処理で通知された計測時間をプローブ31とアンカー21との第2往復通信遅延時間として特定する。
【0072】
検証部123は、ステップS27,S34の処理で通知された2つの照合結果がいずれも暗証情報が一致した旨を表す場合、第1往復通信遅延時間と第2往復通信遅延時間との比較結果に基づいて、ターゲット10の申告位置の妥当性を検証する。例えば、第1往復通信遅延時間と第2往復通信遅延時間との差の絶対値が閾値時間θ(例えば10ms)以下である場合、検証部123はターゲット10の申告位置とプローブ31が設置された位置が極めて近いと判断することができる(併せて図2(a)参照)。このため、ターゲット10の申告位置は妥当であるため、検証部123は検証結果「〇」を登録する。
【0073】
一方、第1往復通信遅延時間と第2往復通信遅延時間との差の絶対値が閾値時間θより大きい場合、検証部123はターゲット10の申告位置とプローブ31が設置された位置が遠いと判断することができる(併せて図2(b)参照)。このため、ターゲット10の申告位置は不正であると認定できるため、検証部123は検証結果「×」を登録する。このように、第3実施形態に係るコントローラ100は、ターゲット10とアンカー21との第1往復通信遅延時間とプローブ31とアンカー21との第2往復通信遅延時間とを利用することにより、ターゲット10による往復通信遅延時間の不正を検知することができる。
【0074】
(第4実施形態)
図14を参照して、本件の第4実施形態について説明する。第4実施形態に係るコントローラ100はターゲット10が不正に計測パケットの送信を遅らせたことを検知する。
【0075】
図14に示すように、ターゲット10の真の位置はアンカー21が設置された位置とプローブ31が設置された位置の間である。ところが、2回目の計測パケットを故意に遅延させることにより、ターゲット10の位置はプローブ31が設置された位置と同じ位置に偽装されている。すなわち、ターゲット10はアンカー21から1回目の計測パケット51に応答する応答パケット52を受信してから即時に2回目のパケットを送信していない。ターゲット10はプローブ31から送信される計測パケットを考慮した時間だけ2回目のパケット53の送信を遅延させている。
【0076】
一方、プローブ31は、コントローラ100からパケットの送信が依頼されると、プローブ31はアンカー21に1回目の計測パケット61を送信し、アンカー21はこの1回目の計測パケット61を受信する。アンカー21は1回目の計測パケット61に応答する応答パケット62を送信し、プローブ31が応答パケット62を受信すると、即時に2回目の計測パケット63を送信する。これにより、アンカー21はこの2回目の計測パケット63を受信する。
【0077】
このような場合、ターゲット10とアンカー21との第1往復通信遅延時間とプローブ31とアンカー21との第2往復通信遅延時間は、ターゲット10の不正により、極めて近い時間になる。このように、ターゲット10が2回目の計測パケットの送信を遅延させた場合には、アンカー21を単独で利用しただけでは不正を検知できない可能性がある。このため、第4実施形態に係るコントローラ100はアンカー21と方角が異なる位置に設置されたアンカー21とは異なる別のアンカー22を利用する。なお、アンカー21とターゲット10との第1距離はアンカー22とターゲット10の第2距離と相違する。具体的には、第2距離は第1距離より長距離である。
【0078】
この結果、ターゲット10は、コントローラ100からパケットの送信が依頼されると、ターゲット10はアンカー22に1回目の計測パケット71を送信し、アンカー22はこの1回目の計測パケット71を受信する。計測パケット71は第5パケットの一例である。アンカー22は1回目の計測パケット71に応答する応答パケット72を送信し、ターゲット10が応答パケット72を受信すると、即時に2回目の計測パケット73を送信する。計測パケット73は第6パケットの一例である。これにより、アンカー22はこの2回目の計測パケット73を受信する。
【0079】
また、プローブ31は、コントローラ100からパケットの送信が依頼されると、プローブ31はアンカー22に1回目の計測パケット81を送信し、アンカー22はこの1回目の計測パケット81を受信する。計測パケット81は第7パケットの一例である。アンカー22は1回目の計測パケット81に応答する応答パケット82を送信し、プローブ31が応答パケット82を受信すると、即時に2回目の計測パケット83を送信する。計測パケット83は第8パケットの一例である。これにより、アンカー21はこの2回目の計測パケット83を受信する。
【0080】
この結果、ターゲット10とアンカー22との第1往復通信遅延時間とプローブ31とアンカー22との第2往復通信遅延時間は大きく乖離する。第4実施形態に係るコントローラ100は、このような第1往復通信遅延時間と第2往復通信遅延時間の大きな乖離を検知した場合、ターゲット10の不正を検知することができる。このように、ターゲット10がアンカー21に対する2回目の計測パケットの送信を遅延させた場合であっても、アンカー21,22の両方を利用することで、第4実施形態に係るコントローラ100は不正を検知することができる。
【0081】
(第5実施形態)
図15を参照して、本件の第5実施形態について説明する。第5実施形態に係るコントローラ100は複数のアンカー21,22に対して往復通信遅延時間を特定し、ターゲット10の位置を絞り込む。これにより、コントローラ100はターゲット10の申告位置の妥当性を判断する。
【0082】
例えば、アンカー21がターゲット10とアンカー21との第1往復通信遅延時間を20msと計測した場合、ターゲット10はアンカー21の位置を中心とする20ms相当の半径の円周91上に位置すると想定される。ターゲット10は、誤差を含めて、例えば19ms~21ms相当の半径上に位置すると想定されてもよい。
【0083】
また、アンカー22がターゲット10とアンカー22との第2往復通信遅延時間を30msと計測した場合、ターゲット10はアンカー22の位置を中心とする30ms相当の半径の円周92上に位置すると想定される。ターゲット10は、誤差を含めて、例えば29ms~31ms相当の半径上に位置すると想定されてもよい。
【0084】
このような2つの円周91,92から大きく外れた申告位置がターゲット10から申告された場合、コントローラ100の検証部123は申告位置が虚偽である可能性が高いと判断する。これにより、コントローラ100はターゲット10の不正を検知することができる。
【0085】
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0086】
ST 時間計測システム
10 ターゲット
21,22,23 アンカー
31,32,33 プローブ
100 コントローラ
121 選択部
122 特定部
123 検証部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15