(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6605149
(24)【登録日】2019年10月25日
(45)【発行日】2019年11月13日
(54)【発明の名称】共有端末の検出方法及びその装置
(51)【国際特許分類】
H04L 12/70 20130101AFI20191031BHJP
【FI】
H04L12/70 B
H04L12/70 A
【請求項の数】7
【全頁数】10
(21)【出願番号】特願2018-533596(P2018-533596)
(86)(22)【出願日】2016年9月9日
(65)【公表番号】特表2018-527862(P2018-527862A)
(43)【公表日】2018年9月20日
(86)【国際出願番号】KR2016010198
(87)【国際公開番号】WO2017043930
(87)【国際公開日】20170316
【審査請求日】2018年3月15日
(31)【優先権主張番号】10-2015-0128572
(32)【優先日】2015年9月10日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】518084006
【氏名又は名称】株式会社スサンアイエヌティー
【氏名又は名称原語表記】SOOSAN INT CO., LTD.
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(72)【発明者】
【氏名】リー, ユン ソク
(72)【発明者】
【氏名】リー, ヨン ファン
【審査官】
大石 博見
(56)【参考文献】
【文献】
韓国登録特許第10−1127246(KR,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/70
(57)【特許請求の範囲】
【請求項1】
共有端末検出サーバにおいて、パブリックインターネットプロトコル(IP)アドレスを共有する共有端末を検出する方法において、前記共有端末検出サーバは、
端末のウェブサーバ接続のためのウェブ接続トラフィックを受信する段階と、
ウェブリアルタイム通信要求が記述されたIP検出用ウェブページへの再接続を要求する応答メッセージを、前記ウェブ接続トラフィックの応答として、前記端末に伝送する段階と、
前記IP検出用ウェブページに記述されたスクリプトによる前記端末のウェブブラウザのウェブリアルタイム通信設定のために、STUNサーバによって把握された前記端末のプライベートIPアドレスを、前記IP検出用ウェブページを介して獲得する段階と、
前記プライベートIPアドレスを基に、共有端末であるか否かということを検出する段階と、
を含むことを特徴とする共有端末の検出方法。
【請求項2】
前記IP検出用ウェブページは、0%フレームで構成される
ことを特徴とする請求項1に記載の共有端末の検出方法。
【請求項3】
前記端末のウェブブラウザは、前記IP検出用ウェブページに記述されたスクリプトにより、前記STUNサーバに、前記端末のネットワーク情報を要求して受信する
ことを特徴とする請求項1に記載の共有端末の検出方法。
【請求項4】
前記IP検出用ウェブページは、
前記端末のウェブブラウザを介したウェブリアルタイム通信のために、前記STUNサーバに、前記端末のネットワーク情報を要求して受信する第1スクリプトと、
前記ネットワーク情報に含まれている前記端末のプライベートIPアドレスをパラメータにするアクティブサーバページを呼び出す第2スクリプトと、を含む
ことを特徴とする請求項1に記載の共有端末の検出方法。
【請求項5】
前記IP検出用ウェブページに再接続した端末は、
ウェブブラウザのウェブリアルタイム通信設定のために、STUNサーバに、ネットワーク情報を要求して受信する段階と、
前記ネットワーク情報に含まれた前記端末のプライベートIPアドレスを把握する段階と、
前記プライベートIPアドレスを、前記共有端末検出サーバに提供する段階と、
を含むことを特徴とする請求項1に記載の共有端末の検出方法。
【請求項6】
パブリックIPアドレスを共有する端末を検出する方法において、前記端末は、
ウェブブラウザのウェブサーバ接続のためのウェブ接続トラフィックを伝送する段階と、
共有端末検出サーバのIP検出用ウェブページへの再接続を要求する応答メッセージを、前記ウェブ接続トラフィックの応答として受信する段階と、
前記応答メッセージにより、前記IP検出用ウェブページに接続する段階と、
前記ウェブブラウザが、前記IP検出用ウェブページのスクリプトに記述された手続きにより、STUNサーバに、ネットワーク情報を要求して受信する段階と、
前記ネットワーク情報に含まれた前記端末のプライベートIPアドレスを、前記共有端末検出サーバに提供する段階と、
を含むことを特徴とする共有端末の検出方法。
【請求項7】
請求項1に記載の方法を遂行するためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パブリックIP(IP:internet protocol)アドレスを共有する端末を検出する方法及びその装置に係り、さらに詳細には、端末のプライベートIPアドレスを利用し、共有端末を検出する方法及びその装置に関する。
【背景技術】
【0002】
図1は、従来の共有器を利用し、パブリックIPアドレスを共有する端末の一例を図示した図面である。
図1を参照すれば、共有器120は、端末100,110から受信したパケットに含まれたプライベートIPアドレスをパブリックIPアドレスに変換し、ウェブサーバ130などに伝送し、ウェブサーバ130から受信したパケットに含まれたパブリックIPアドレスを、当該パケットの実際目的地である端末のプライベートIPアドレスに変換し、端末100,110に伝送する。
【0003】
パブリックIPアドレスを共有する端末(すなわち、共有端末)であるか否かということを検出するための方法として、クッキー(cookie)を利用し、端末識別値を付与する方法がある。しかし、クッキーを利用し、端末に識別値を付与する場合、ユーザがクッキーなどを削除することができ、正確な共有端末検出に限界がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明がなす技術的課題は、端末識別値を含むクッキーや、共有端末を検出するためのアプレットなどのプログラムを端末にインストールする必要なしに、端末のプライベートIPアドレスを容易に把握し、共有端末であるか否かということを検出することができる方法及びその装置を提供するところにある。
【課題を解決するための手段】
【0005】
前述の技術的課題を達成するための、本発明による共有端末の検出方法の一例は、共有端末検出サーバにおいて、パブリックIPアドレスを共有する共有端末を検出する方法において、前記共有端末検出サーバは、端末のウェブサーバ接続のためのウェブ接続トラフィックを受信する段階と、ウェブリアルタイム通信要求が記述されたIP検出用ウェブページへの再接続を要求する応答メッセージを、前記ウェブ接続トラフィックの応答として、前記端末に伝送する段階と、前記端末のウェブブラウザのウェブリアルタイム通信設定のために、スタン(STUN)サーバによって把握された前記端末のプライベートIPアドレスを、前記IP検出用ウェブページを介して獲得する段階と、前記プライベートIPアドレスを基に、共有端末であるか否かということを検出する段階と、を含む。
【0006】
前述の技術的課題を達成するための、本発明による共有端末の検出方法の他の一例は、パブリックIPアドレスを共有する端末を検出する方法において、前記端末は、ウェブブラウザのウェブサーバ接続のためのウェブ接続トラフィックを伝送する段階と、共有端末検出サーバのIP検出用ウェブページへの再接続を要求する応答メッセージを、前記ウェブ接続トラフィックの応答として受信する段階と、前記応答メッセージにより、前記IP検出用ウェブページに接続する段階と、前記ウェブブラウザが、前記IP検出用ウェブページのスクリプトに記述された手続きにより、スタンサーバにネットワーク情報を要求して受信する段階と、前記ネットワーク情報に含まれた前記端末のプライベートIPアドレスを、前記共有端末検出サーバに提供する段階と、を含む。
【発明の効果】
【0007】
本発明によれば、ウェブブラウザのウェブリアルタイム通信(WebRTC:Web real-time communication)を利用して把握した端末のプライベートIPアドレスを基に、共有端末を検出することができる。また、クッキーなどを介して、端末識別値を付与したり、端末に共有端末検出のための別途のアプレットなどのプログラムをインストールしたりする必要がないので、端末ユーザのクッキーやアプレットの悪意的削除などによる共有端末検出妨害を基本的に防止することができる。
【図面の簡単な説明】
【0008】
【
図1】従来の共有器を利用し、パブリックIPアドレスを共有する端末の一例を図示した図面である。
【
図2】アプレットを利用し、ローカルIPアドレスを把握する方法の一例を図示した図面である。
【
図3】本発明による共有端末検出のための全体システムの概略的な構成を図示した図面である。
【
図4】本発明による共有端末の検出方法の一実施形態のフローチャートである。
【
図5】本発明による共有端末検出サーバで提供するIP検出用ウェブページの一例を図示した図面である。
【
図6】本発明による共有端末検出サーバで提供するIP検出用ウェブページの他の一例を図示した図面である。
【
図7】本発明による共有端末検出サーバで保存管理するIPアドレスの一例を図示した図面である。
【発明を実施するための形態】
【0009】
以下、添付された図面を参照し、本発明による共有端末の検出方法及びその装置について詳細に説明する。
【0010】
図2は、アプレット(applet)を利用し、ローカルIP(internet protocol)アドレスを把握する方法の一例を図示した図面である。
【0011】
図2を参照すれば、端末100は、ウェブブラウザ200を介してウェブサーバ130に接続し、スクリプト(script)などを含んだウェブページ210をダウンロードされて表示する。端末100のウェブブラウザ200は、ウェブページ210のスクリプトを解釈し、スクリプトに記述された手続きを遂行する。ウェブページ210を構成するスクリプトは、保安などさまざまな問題により、端末100のローカル資源やローカル情報にアクセスするのに限界があり、特に、端末のローカルIPアドレス(すなわち、プライベートIPアドレス)230にすぐアクセスすることができない。また、ウェブサーバ130が提供したウェブページ210に、他のサーバ240がアクセスすることもできない。
【0012】
ウェブサーバ130が、端末のローカルIPアドレス230にアクセスするためには、アプレット220のような別途のプログラムを介さなければならない。ウェブページのスクリプトは、コンパイル過程なしに、ウェブブラウザが解釈して処理する手続きを記述した一種のテキスト集合である。それに対して、アプレット220は、ウェブページのスクリプトと異なり、ウェブサーバ130から別途にダウンロードされ、端末ローカルに保存し、コンパイルを介して遂行される一種のプログラムである。例えば、ウェブサーバ130は、端末に、別途のアプレット220を提供した後、そのアプレット220を介して、端末のローカルIPアドレス230を把握することはできるが、ウェブサーバ130が提供するウェブページ210のスクリプトを介して、ローカルIPアドレス230を把握することができない。
【0013】
アプレット220を利用し、端末のローカルIPアドレスを把握する方法は、ユーザがアプレットインストールを拒否するか、あるいはアプレットを削除する場合、ローカルIPアドレスを把握することができないという問題点を有する。以下の実施形態では、アプレットインストールなしに、端末のプライベートIPアドレスを獲得し、共有端末を検出する方法について述べる。
【0014】
図3は、本発明による共有端末検出のための全体システムの概略的な構成を図示した図面である。
【0015】
図3を参照すれば、共有器310を介して、パブリックIPアドレスを共有する少なくとも2以上の端末300,302、共有端末を検出する共有端末検出サーバ340、ウェブリアルタイム通信(WebRTC(Real-Time Communication))のためのネットワーク情報を提供するSTUN(Session Traversal Utilities for NAT)サーバ320などが存在する。
【0016】
共有器310は、パブリックIPアドレスを、複数の端末300,302が共有するようにする装置であり、NAT(Network Address Translation)装置などがある。例えば、共有器310は、端末300,302から受信したパケットに含まれたプライベートIPアドレスをパブリックIPアドレスに変換し、外部に伝送し、外部から受信したパケットに含まれたパブリックIPアドレスを、プライベートIPアドレスに変換し、内部端末300,302に伝送する。
【0017】
ウェブサーバ(330)は、多様なコンテンツなどを提供するサーバであり、一例として、「ネイバー(NAVER)」のようなポータルサイトを提供するサーバでもある。ウェブサーバの種類は、多様なことがあり、いずれか一つに限定されるものではない。
【0018】
STUNサーバ320は、端末のウェブブラウザを介したウェブリアルタイム通信が可能になるように、端末300,302が属したネットワーク情報(例えば、共有器310のパブリックIPアドレス、端末300,302のプライベートIPアドレスなど)を把握する。端末300,302は、別途のP2P(peer-to-peer)接続プログラムをインストールする必要なしに,クロム(Chrome)、ファイアフォックス(Firefox)、オペラ(Opera)のようなウェブブラウザを利用し,他の端末と,直接音声、映像などのデータを送受信することができ、かようなウェブブラウザを介した端末間接続を、ウェブリアルタイム通信(WebRTC)という。
【0019】
ウェブリアルタイム通信は、サーバを経由しない端末間接続(すなわち、P2P接続)であるので、端末間通信が可能であるか否かということを事前に把握する必要があり、それを遂行するサーバがSTUNサーバである。STUNサーバは、複数個存在することができ、端末は、そのうちいずれか1つのSTUNサーバ320を選択し、選択したSTUNサーバ320に、自体が属したネットワーク情報を要求して受信することができる。STUNサーバ320は、ICE(Interactive Connectivity Establishment)フレームワークを介して、端末300,302のネットワーク情報を把握することができる。
【0020】
共有端末検出サーバ340は、端末300,302からウェブサーバ330に伝送されるウェブ接続トラフィックを、ミラーリング装置360を介してミラーリングし、端末300,302に、共有端末検出サーバ340のIP検出用ウェブページ350に再接続するように要求し、端末のウェブリアルタイム通信のために、STUNサーバ320で把握されたネットワーク情報を、IP検出用ウェブページ350を介して獲得し、共有端末であるか否かということを検出する。IP検出用ウェブページ350は、共有端末検出サーバ340で遂行される手続きを記述したサーバ側スクリプト(server side script)と、端末で遂行される手続きを記述したクライアント側スクリプト(client side script)とから構成される。共有端末検出過程については、
図4で詳細に説明する。
【0021】
本実施形態は、共有端末検出サーバ340がミラーリング装置360と接続されている構造について開示しているが、必ずしもそれに限定されるものではなく、共有端末検出サーバ340は、ミラーリング装置360の位置に実現されるか、あるいはウェブサーバ330またはSTUNサーバ320の一部としても実現される。
【0022】
図4は、本発明による共有端末の検出方法の一実施形態のフローチャートである。
【0023】
図4を参照すれば、端末300は、ウェブリアルタイム通信が可能なウェブブラウザを駆動し(S400)、ユーザが入力するか、あるいは選択したウェブサイト(例えば、「Google」など)に接続するためのウェブ接続トラフィックを、ウェブサーバに伝送する(S405)。
【0024】
共有端末検出サーバ(以下、検出サーバ)340は、ウェブ接続トラフィックをミラーリングして受信する(S410)。ウェブ接続トラフィックに対する応答として、検出サーバ340は、IP検出用ウェブページ350への再接続を要求する応答メッセージを端末300に伝送する(S415)。応答メッセージは、端末が本来接続するウェブサーバ330への再接続要求をさらに含んでもよい。
【0025】
ウェブサーバ330の応答よりも、検出サーバ340の応答を先に受けた端末300は、検出サーバ340の応答メッセージにより、検出サーバ340のIP検出用ウェブページ350に再接続する(S420)。応答メッセージに、端末が本来接続するウェブサーバへの再接続要求があれば、端末300は、さらにウェブサーバ330にも再接続する。端末300が、検出サーバ340の応答メッセージ受信後、ウェブサーバ330からウェブ接続トラフィックに対する応答メッセージを受信すれば、それを廃棄する。
【0026】
端末300がIP検出用ウェブページ350に接続すれば、端末300のウェブブラウザは、IP検出用ウェブページ350に含まれたウェブリアルタイム通信設定及びネットワーク情報報告などに係わる端末側スクリプトを解釈して遂行する。具体的には、端末300は、IP検出用ウェブページ350のスクリプトに記述された手続きにより、ウェブブラウザを介したウェブリアルタイム通信のためのSTUNサーバ320の設定のような初期化過程などを遂行し(S425)、STUNサーバ320に端末自体が属したネットワーク情報(パブリックIPアドレス、プライベートIPアドレスなど)を要求して受信する(S430、S440)。
【0027】
端末300は、STUNサーバ320を介して把握した端末300のプライベートIPアドレスを、IP検出用ウェブページのスクリプトに記述された手続きにより、検出サーバに提供する(S440、S445)。例えば、IP検出用ウェブページ350のスクリプトは、プライベートIPアドレスをパラメータにするアクティブサーバページ(ASP:active server page)関数呼び出しを介して、プライベートIPアドレスを検出サーバ340に提供することができる。ここで、アクティブサーバページ(ASP)は、端末300のウェブブラウザが解釈して遂行する端末側スクリプトと異なり、検出サーバ340で解釈して遂行されるサーバ側スクリプトを意味する。
【0028】
検出サーバ340は、IP検出用ウェブページ350を介して提供された端末のプライベートIPアドレスを基に、共有端末であるか否かということを検出する(S450)。例えば、検出サーバ340は、ウェブ接続トラフィックに含まれた端末300のパブリックIPアドレスと、STUNサーバ320を介して把握したプライベートIPアドレスとをマッピングして保存した後、パブリックIPアドレス別に、互いに異なるプライベートIPアドレスの個数などを基に、共有端末であるか否かということを検出することができる。他の例として、検出サーバ340は、STUNサーバ320によって把握された端末のパブリックIPアドレス及びプライベートIPアドレスを、共にIP検出用ウェブページ350を介して、端末300から提供された後、パブリックIPアドレス別に互いに異なるプライベートIPアドレスの個数などを基に、共有端末であるか否かということを検出することができる。
【0029】
図5は、本発明による共有端末検出サーバで提供するIP検出用ウェブページの一例を図示した図面である。
【0030】
図5を参照すれば、IP検出用ウェブページ350は、端末のウェブブラウザを介したウェブリアルタイム通信設定の手続きを記述した第1スクリプト500と、STUNサーバを介して把握されたネットワーク情報を検出サーバに提供する手続きを記述した第2スクリプト510と、を含む。
【0031】
第1スクリプト500は、STUNサーバの選択、STUNサーバに、ネットワーク情報の要求及び受信などの手続きを含む端末側スクリプトである。端末のウェブブラウザは、IP検出用ウェブページの第1スクリプト500による手続きを遂行し、STUNサーバからネットワーク情報(パブリックIPアドレス、プライベートIPアドレスなど)を獲得することができる。ウェブページのスクリプトを介して、ウェブブラウザが遂行する手続きを記述する方法としては、端末のローカル情報に対するアクセスが非常に制限的であるということは、
図2で述べた通りであり、特に、端末のローカルIPアドレスにアクセスすることができない。従って、本実施形態は、ウェブブラウザを介したウェブリアルタイム通信のために、端末のネットワーク情報を把握して提供するSTUNサーバを介して、端末のプライベートIPアドレスを迂回的に把握する。
【0032】
第2スクリプト510は、第1スクリプト500に記述された手続きを介して把握された端末のプライベートIPアドレスを、検出サーバに提供する手続きを含む。端末が、検出サーバと異なる通信接続過程を遂行し、ネットワーク情報を提供することもできるが、STUNサーバで把握されたネットワーク情報(プライベートIPアドレス、パブリックIPアドレスなど)を、IP検出用ウェブページを介して、容易に提供するように、第2スクリプト510は、検出サーバ側で遂行されるサーバ側スクリプト(例えば、アクティブサーバページ(ASP))を呼び出す手続きを含む。例えば、端末のウェブブラウザは、第2スクリプト510に記述された手続きにより、STUNサーバで把握されたネットワーク情報をパラメータにするASP関数を呼び出し、検出サーバは、パラメータに伝送されたプライベートIPアドレスを、パブリックIPアドレスとマッピングして保存することにより、共有端末であるか否かということを検出する。従って、本実施形態は、プライベートIPアドレスを検出するための別途のアプレットが必要ない。
【0033】
図6は、本発明による共有端末検出サーバで提供するIP検出用ウェブページの他の一例を図示した図面である。
【0034】
図6を参照すれば、IP検出用ウェブページは、100%フレーム600または0%フレーム610など多様な大きさ(0%〜100%)のフレームでも構成される。100%フレーム600とは、端末のウェブブラウザに100%サイズで示されるフレームであり、0%フレーム610とは、示される大きさがゼロ、すなわち、ウェブブラウザに見えないフレームを意味する。
【0035】
図7は、本発明による共有端末検出サーバで保存管理するIPアドレスの一例を図示した図面である。
【0036】
図7を参照すれば、検出サーバは、パブリックIPアドレス700とプライベートIPアドレス710,712とをマッピングして保存して管理する。検出サーバは、パブリックIPアドレス700別に、プライベートIPアドレス710,712の個数などを基に、パブリックIPアドレスを共有する端末の個数などを把握することができる。
【0037】
検出サーバは、端末が、ウェブサーバに伝送するウェブ接続トラフィックに含まれたパブリックIPアドレス700を把握し、IP検出用ウェブページを介して、端末から、プライベートIPアドレス710,712を提供されるか、あるいはIP検出用ウェブページを介して、端末から、プライベートIPアドレス710,712とパブリックIPアドレス700とを共に提供される。
【0038】
本発明は、またコンピュータで読み取り可能な記録媒体に、コンピュータで読み取り可能なコードとして実現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが保存される全種の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ROM(read-only memory)、RAM(random access memory)、CD−ROM(compact disc read only memory)、磁気テープ、フロッピーディスク、光データ保存装置などがある。また、コンピュータで読み取り可能な記録媒体は、ネットワークに接続されたコンピュータシステムに分散され、分散方式で、コンピュータで読み取り可能なコードが保存されて実行される。
【0039】
以上、本発明について、その望ましい実施形態について説明した。本発明が属する技術分野において当業者であるならば、本発明が、本発明の本質的な特性から外れない範囲で変形された形態に実現されるということを理解することができるであろう。従って、開示された実施形態は、限定的な観点ではなく、説明的な観点から考慮されなければならない。本発明の範囲は、前述の説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にある全ての差異は、本発明に含まれたものであると解釈されなければならないのである。