(57)【要約】      （修正有）【課題】アプリケーションプログラムの実行時におけるアクセス経路の信頼性を向上させる。【解決手段】ユーザー端末は、少なくとも中継サーバーのＵＲＬが記述されたアプリケーション用ホワイトリストを含み、ユーザーからの操作入力に応答して前記アプリケーションプログラムを起動させることにより、ネットワークを介してサービス提供サーバーにアクセスし、前記アプリケーションサービスの提供中に、指定されたアクセス先のＵＲＬへのアクセス要求があった際に、当該アクセス先のＵＲＬとホワイトリストに記述されたＵＲＬとを比較し、前記中継サーバーのＵＲＬへのアクセス要求であると判定した場合には、前記中継サーバーへのアクセスを許可し、前記アプリケーション用ホワイトリストに記述されていないアクセス先のＵＲＬへのアクセス要求であると判定した場合には、当該アクセス先へのアクセスを遮断し、又は所定条件の下で許可する。【選択図】図２
2014071888.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションサービスを提供するサービス提供サーバーと、ネットワークを介して前記サービス提供サーバーに接続されアプリケーションサービスを利用する際にユーザーが用いるユーザー端末と、前記サービス提供サーバーと前記ユーザー端末との間に介在する中継サーバーと、を備えたネットワークシステムであって、
前記ユーザー端末は、
少なくとも前記中継サーバーのＵＲＬが記述されたアプリケーション用ホワイトリストを含み、前記アプリケーションサービスをユーザーに利用させるためのアプリケーションプログラムを記憶した端末記憶部と、
ユーザーからの操作入力に応答して前記アプリケーションプログラムを起動させることにより、ネットワークを介して前記サービス提供サーバーにアクセスして、アプリケーションサービスをユーザーに提供する処理を実行するサービス提供処理部と、
前記アプリケーションサービスの提供中に、前記アプリケーションプログラムによって指定されたアクセス先のＵＲＬへのアクセス要求があった際に、当該アクセス先のＵＲＬと前記アプリケーション用ホワイトリストに記述されたＵＲＬとを比較する端末比較部と、
比較結果に基づいて、前記アプリケーションプログラムによって指定されたアクセス先のＵＲＬへのアクセス要求が、前記中継サーバーのＵＲＬへのアクセス要求であると判定した場合には、前記中継サーバーへのアクセスを許可し、前記アプリケーション用ホワイトリストに記述されていないアクセス先のＵＲＬへのアクセス要求であると判定した場合には、当該アクセス先へのアクセスを遮断し、又は、当該アクセス先へのアクセスを所定条件の下で許可する端末アクセス制御部と、
を備えたことを特徴とするネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記中継サーバーは、
少なくとも前記サービス提供サーバーのＵＲＬが記述された中継サーバー用ホワイトリストを記憶するデータ記憶部と、
アクセス先のＵＲＬへのアクセス要求を前記ユーザー端末から受信した際に、当該アクセス先のＵＲＬと前記中継サーバー用ホワイトリストに記述されたＵＲＬとを比較する比較部と、
比較結果に基づいて、前記ユーザー端末から受信したアクセス要求が、前記サービス提供サーバーのＵＲＬへのアクセス要求であると判定した場合に、前記サービス提供サーバーへのアクセスを許可し、前記中継サーバー用ホワイトリストに記述されていないアクセス先のＵＲＬへのアクセス要求であると判定した場合に、当該アクセス先へのアクセスを遮断し、又は、当該アクセス先へのアクセスを所定条件の下で許可するアクセス制御部と、
を備えたことを特徴とするネットワークシステム。
【請求項３】
請求項１又は請求項２に記載のネットワークシステムであって、
ネットワークを介して前記ユーザー端末に接続され、最新の前記アプリケーション用ホワイトリストを格納する外部サーバーをさらに有し、
前記ユーザー端末は、前記アプリケーションプログラムを起動させる度に前記外部サーバーにアクセスし、最新の前記アプリケーション用ホワイトリストをダウンロードする、
ことを特徴とするネットワークシステム。
【請求項４】
請求項１乃至請求項３のいずれかに記載のネットワークシステムであって、
前記アプリケーションプログラムに含まれる前記アプリケーション用ホワイトリストでは、アクセスを許可されたアクセス先のＵＲＬがバリナリ形式で記述され、かつ、暗号化されている、
ことを特徴とするネットワークシステム。
【請求項５】
アプリケーションサービスを提供するサービス提供サーバーと中継サーバーを介して接続され、アプリケーションサービスを利用する際にユーザーが用いるユーザー端末としてのコンピューターに、
少なくとも前記中継サーバーのＵＲＬが記述されたアプリケーション用ホワイトリストを含み、前記アプリケーションサービスをユーザーに利用させるためのアプリケーションプログラムを記憶部に記憶する機能と、
ユーザーからの操作入力に応答して前記アプリケーションプログラムを起動させることにより、ネットワークを介して前記サービス提供サーバーにアクセスして、アプリケーションサービスをユーザーに提供する処理を実行する機能と、
前記アプリケーションサービスの提供中に、前記アプリケーションプログラムによって指定されたアクセス先のＵＲＬへのアクセス要求があった際に、当該アクセス先のＵＲＬと前記アプリケーション用ホワイトリストに記述されたＵＲＬとを比較する機能と、
比較結果に基づいて、前記アプリケーションプログラムによって指定されたアクセス先のＵＲＬへのアクセス要求が、前記中継サーバーのＵＲＬへのアクセス要求であると判定した場合には、前記中継サーバーへのアクセスを許可し、前記アプリケーション用ホワイトリストに記述されていないアクセス先のＵＲＬへのアクセス要求であると判定した場合には、当該アクセス先へのアクセスを遮断し、又は、当該アクセス先へのアクセスを所定条件の下で許可する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステム、及び、プログラムに関する。
【背景技術】
【０００２】
Ｗｅｂブラウザーを用いてアプリケーションプログラムをユーザーに作成させるネットワークシステムが知られている（たとえば、非特許文献１）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Massachusetts Institute of Technology、「ＭＩＴ  ＡＰＰ  Ｉｎｖｅｎｔｏｒ」、［online］、インターネット＜ＵＲＬ：http://appinventor.mit.edu/、平成２４年９月５日検索＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このようなネットワークシステムでは、例えば悪意のあるアプリケーション作成者が、リンク先として不正なサイトのＵＲＬをアプリケーションプログラムに記述した場合、アプリケーション利用者は意に反して不正なサイトへアクセスすることとなり、被害を受けるおそれがある。
【０００５】
本発明は、このような事情に鑑みてなされたものであり、その目的とするところは、アプリケーションプログラムの実行時におけるアクセス経路の信頼性を向上させることにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するための本発明の主たる発明は、
アプリケーションサービスを提供するサービス提供サーバーと、ネットワークを介して前記サービス提供サーバーに接続されアプリケーションサービスを利用する際にユーザーが用いるユーザー端末と、前記サービス提供サーバーと前記ユーザー端末との間に介在する中継サーバーと、を備えたネットワークシステムであって、
前記ユーザー端末は、
少なくとも前記中継サーバーのＵＲＬが記述されたアプリケーション用ホワイトリストを含み、前記アプリケーションサービスをユーザーに利用させるためのアプリケーションプログラムを記憶した端末記憶部と、
ユーザーからの操作入力に応答して前記アプリケーションプログラムを起動させることにより、ネットワークを介して前記サービス提供サーバーにアクセスして、アプリケーションサービスをユーザーに提供する処理を実行するサービス提供処理部と、
前記アプリケーションサービスの提供中に、前記アプリケーションプログラムによって指定されたアクセス先のＵＲＬへのアクセス要求があった際に、当該アクセス先のＵＲＬと前記アプリケーション用ホワイトリストに記述されたＵＲＬとを比較する端末比較部と、
比較結果に基づいて、前記アプリケーションプログラムによって指定されたアクセス先のＵＲＬへのアクセス要求が、前記中継サーバーのＵＲＬへのアクセス要求であると判定した場合には、前記中継サーバーへのアクセスを許可し、前記アプリケーション用ホワイトリストに記述されていないアクセス先のＵＲＬへのアクセス要求であると判定した場合には、当該アクセス先へのアクセスを遮断し、又は、当該アクセス先へのアクセスを所定条件の下で許可する端末アクセス制御部と、
を備えたことを特徴とするネットワークシステムである。
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【発明の効果】
【０００７】
本発明によれば、アプリケーションプログラムの実行時におけるアクセス経路の信頼性を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】ネットワークシステム１の全体構成例を示す図である。
【図２】ユーザー端末１０の機能上の構成を示すブロック図である。
【図３】ゲームサーバー２０の機能上の構成を示すブロック図である。
【図４】中継サーバー３０の機能上の構成を示すブロック図である。
【図５】ネットワークシステム１の動作例１を説明するためのフローチャートである。
【図６】アクセス判定処理を説明するためのフローチャートである。
【図７】ネットワークシステム１の動作例２を説明するためのフローチャートである。
【発明を実施するための形態】
【０００９】
本明細書及び添付図面の記載により、少なくとも以下の事項が明らかとなる。
即ち、アプリケーションサービスを提供するサービス提供サーバーと、ネットワークを介して前記サービス提供サーバーに接続されアプリケーションサービスを利用する際にユーザーが用いるユーザー端末と、前記サービス提供サーバーと前記ユーザー端末との間に介在する中継サーバーと、を備えたネットワークシステムであって、
前記ユーザー端末は、
少なくとも前記中継サーバーのＵＲＬが記述されたアプリケーション用ホワイトリストを含み、前記アプリケーションサービスをユーザーに利用させるためのアプリケーションプログラムを記憶した端末記憶部と、
ユーザーからの操作入力に応答して前記アプリケーションプログラムを起動させることにより、ネットワークを介して前記サービス提供サーバーにアクセスして、アプリケーションサービスをユーザーに提供する処理を実行するサービス提供処理部と、
前記アプリケーションサービスの提供中に、前記アプリケーションプログラムによって指定されたアクセス先のＵＲＬへのアクセス要求があった際に、当該アクセス先のＵＲＬと前記アプリケーション用ホワイトリストに記述されたＵＲＬとを比較する端末比較部と、
比較結果に基づいて、前記アプリケーションプログラムによって指定されたアクセス先のＵＲＬへのアクセス要求が、前記中継サーバーのＵＲＬへのアクセス要求であると判定した場合には、前記中継サーバーへのアクセスを許可し、前記アプリケーション用ホワイトリストに記述されていないアクセス先のＵＲＬへのアクセス要求であると判定した場合には、当該アクセス先へのアクセスを遮断し、又は、当該アクセス先へのアクセスを所定条件の下で許可する端末アクセス制御部と、
を備えたことを特徴とするネットワークシステムである。
このようなネットワークシステムによれば、ホワイトリストに記述されたアクセス先のＵＲＬに制限されるため、アプリケーション利用者が受ける被害を低減させることができる。
【００１０】
また、かかるネットワークシステムであって、
前記中継サーバーは、
少なくとも前記サービス提供サーバーのＵＲＬが記述された中継サーバー用ホワイトリストを記憶するデータ記憶部と、
アクセス先のＵＲＬへのアクセス要求を前記ユーザー端末から受信した際に、当該アクセス先のＵＲＬと前記中継サーバー用ホワイトリストに記述されたＵＲＬとを比較する比較部と、
比較結果に基づいて、前記ユーザー端末から受信したアクセス要求が、前記サービス提供サーバーのＵＲＬへのアクセス要求であると判定した場合に、前記サービス提供サーバーへのアクセスを許可し、前記中継サーバー用ホワイトリストに記述されていないアクセス先のＵＲＬへのアクセス要求であると判定した場合に、当該アクセス先へのアクセスを遮断し、又は、当該アクセス先へのアクセスを所定条件の下で許可するアクセス制御部と、を備えたこととしてもよい。
このようなネットワークシステムによれば、中継サーバーにおいても、ホワイトリストに記述されたアクセス先のＵＲＬに制限されるため、アプリケーション利用者が受ける被害をさらに低減させることができる。
【００１１】
また、かかるネットワークシステムであって、
ネットワークを介して前記ユーザー端末に接続され、最新の前記アプリケーション用ホワイトリストを格納する外部サーバーをさらに有し、
前記ユーザー端末は、前記アプリケーションプログラムを起動させる度に前記外部サーバーにアクセスし、最新の前記アプリケーション用ホワイトリストをダウンロードする、こととしてもよい。
このようなネットワークシステムによれば、最新のホワイトリストに更新されるため、アプリケーション利用者が受ける被害をさらに低減させることができる。
【００１２】
また、かかるネットワークシステムであって、
前記アプリケーションプログラムに含まれる前記アプリケーション用ホワイトリストでは、アクセスを許可されたアクセス先のＵＲＬがバリナリ形式で記述され、かつ、暗号化されている、こととしてもよい。
このようなネットワークシステムによれば、ホワイトリストに記述されているＵＲＬを目視により識別することができないため、ホワイトリストに記述されているＵＲＬを不正なサイトのＵＲＬに書き換えられることを抑止できる。
【００１３】
また、アプリケーションサービスを提供するサービス提供サーバーと中継サーバーを介して接続され、アプリケーションサービスを利用する際にユーザーが用いるユーザー端末としてのコンピューターに、
少なくとも前記中継サーバーのＵＲＬが記述されたアプリケーション用ホワイトリストを含み、前記アプリケーションサービスをユーザーに利用させるためのアプリケーションプログラムを記憶部に記憶する機能と、
ユーザーからの操作入力に応答して前記アプリケーションプログラムを起動させることにより、ネットワークを介して前記サービス提供サーバーにアクセスして、アプリケーションサービスをユーザーに提供する処理を実行する機能と、
前記アプリケーションサービスの提供中に、前記アプリケーションプログラムによって指定されたアクセス先のＵＲＬへのアクセス要求があった際に、当該アクセス先のＵＲＬと前記アプリケーション用ホワイトリストに記述されたＵＲＬとを比較する機能と、
比較結果に基づいて、前記アプリケーションプログラムによって指定されたアクセス先のＵＲＬへのアクセス要求が、前記中継サーバーのＵＲＬへのアクセス要求であると判定した場合には、前記中継サーバーへのアクセスを許可し、前記アプリケーション用ホワイトリストに記述されていないアクセス先のＵＲＬへのアクセス要求であると判定した場合には、当該アクセス先へのアクセスを遮断し、又は、当該アクセス先へのアクセスを所定条件の下で許可する機能と、
を実現させるためのプログラムである。
このようなプログラムによれば、アプリケーション利用者が受ける被害を低減させることができる。
【００１４】
＝＝＝実施の形態＝＝＝
以下の実施形態では、ゲームのアプリケーションに関するサービスを提供するネットワークシステム１を例に挙げて具体的に説明する。
【００１５】
＜ネットワークシステム１の構成＞
図１は、本実施形態に係るネットワークシステム１の全体構成の一例を示す図である。本実施形態に係るネットワークシステム１は、ネットワーク２（例えば、インターネット等）を介して接続された、ユーザー端末１０と、サービス提供サーバーの一例としてのゲームサーバー２０と、中継サーバー３０とを含んで構成されている。
【００１６】
＜ユーザー端末１０の構成＞
図２は、ユーザー端末１０の機能上の構成を示すブロック図である。本実施形態のユーザー端末１０は、ゲームを行う際にユーザーが利用する情報処理装置（例えば、スマートフォン等）である。そして、ユーザー端末１０は、Ｗｅｂブラウザー機能を備えたアプリケーションプログラムを利用することにより、ゲーム（ブラウザーゲーム等）に関するＷｅｂページ（ゲーム画面等）を画面表示させることができる。すなわち、ユーザー端末１０は、かかるアプリケーションプログラムの起動により、ゲームサーバー２０に対してＷｅｂページ（ゲーム画面等）を要求し、要求に応答したゲームサーバー２０から送信されたＨＴＭＬファイル（文章、画像、音声データ等を含む）を受信し、このＨＴＭＬファイルの記述に基づくＷｅｂページを画面表示させる。このユーザー端末１０は、端末制御部１１と、端末記憶部１２と、端末入力部１３と、端末表示部１４と、端末通信部１５と、を有している。
【００１７】
端末制御部１１は、各部間のデータの受け渡しを行うと共に、ユーザー端末１０全体の制御を行うものであり、ＣＰＵ（Central Processing Unit）が所定のメモリに格納されたシステムプログラム等を実行することによって実現される。本実施形態における端末制御部１１は、ゲーム制御部１１１、端末比較部１１２、端末アクセス制御部１１３、画面表示制御部１１４を有している。
【００１８】
ゲーム制御部１１１は、アプリケーションサービスをユーザーに提供する処理を実行するサービス提供処理部の一例である。本実施形態のゲーム制御部１１１は、ユーザーからの操作入力に応答してアプリケーションプログラムを起動させることにより、ゲームサーバー２０にアクセスしてゲームを進行させる機能を有している。
【００１９】
端末比較部１１２は、ゲームの進行中に（アプリケーションサービスの提供中に）、アプリケーションプログラムによって指定されたアクセス先のＵＲＬへのアクセス要求があった際に、当該アクセス先のＵＲＬとアプリケーション用ホワイトリストに記述されたＵＲＬとを比較する機能を有している。
【００２０】
端末アクセス制御部１１３は、端末比較部１１２による比較結果に基づいて、アプリケーションプログラムによって指定されたアクセス先のＵＲＬへのアクセス要求が、アプリケーション用ホワイトリストに記述された中継サーバー３０のＵＲＬへのアクセス要求であるか、アプリケーション用ホワイトリストに記述されていないアクセス先のＵＲＬへのアクセス要求であるか等を判定し、アプリケーションプログラムによって指定されたアクセス先のＵＲＬへのアクセスを制御する機能を有している。
【００２１】
画面表示制御部１１４は、端末表示部１４に表示されるＷｅｂページ（ゲーム画面等）の表示態様を制御する機能を有している。
【００２２】
端末記憶部１２は、バスを介して端末制御部１１に接続され、端末制御部１１からの指令に応じて記憶されているデータを参照、読み出し、書き換える処理が行われる。この端末記憶部１２は、例えば、フラッシュメモリやハードディスク等によって実現される。本実施形態における端末記憶部１２は、アプリケーションプログラム１２１、Ｗｅｂブラウザー１２２等を記憶する。
【００２３】
アプリケーションプログラム１２１は、Ｗｅｂブラウザーとしての機能を備え、ゲームをユーザーにプレイさせるためのソフトウェアである。このアプリケーションプログラム１２１には、ＷｅｂＶｉｅｗ、アプリケーション用のホワイトリスト、アプリケーション用のツール（ＳＤＫ、ＡＰＩ等）等が含まれている。ＷｅｂＶｉｅｗは、アプリケーションプログラム１２１に通常のＷｅｂブラウザーの機能を付加させるためのプログラムである。アプリケーションプログラム１２１は、このＷｅｂＶｉｅｗを利用しアクセス先のＵＲＬを指定することで、指定したアクセス先から送信されたＷｅｂページをアプリケーション上で表示することができる。アプリケーション用のホワイトリストは、アクセスを許可されたアクセス先のＵＲＬが記述されたデータである。本実施形態では、少なくとも中継サーバー３０のＵＲＬがこのホワイトリストに記述されている。なお、このホワイトリストは、所定のタイミングで最新のリストにデータ更新され端末記憶部１２に記憶される。
【００２４】
Ｗｅｂブラウザー１２２は、Ｗｅｂページを表示させる機能をユーザー端末１０に実現させるためのソフトウェアである。ユーザー端末１０は、Ｗｅｂブラウザーを起動させ、Ｗｅｂブラウザーにより指定された外部サーバーに対してＷｅｂページのリクエストを行なう。そして、ユーザー端末１０は、リクエスト先の外部サーバーから送信されたＨＴＭＬファイルを受信し、受信したＨＴＭＬファイルに基づくＷｅｂページをＷｅｂブラウザー上に表示させることができる。
【００２５】
端末入力部１３は、ユーザーが各種操作（ゲーム操作等）を行うためのものであり、例えば、タッチパネル等によって実現される。
【００２６】
端末表示部１４は、端末制御部１１からの指令によりＷｅｂページ（ゲーム画面や操作画面等）を表示するためのものであり、たとえば、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）等によって実現される。
【００２７】
端末通信部１５は、外部装置との間で通信を行うためのものであり、ゲームサーバー２０や中継サーバー３０等から送信される各種データや信号を受信する受信部としての機能と、端末制御部１１の指令に応じて各種データや信号をゲームサーバー２０や中継サーバー３０等へ送信する送信部として機能とを有している。端末通信部１５は、例えば、ＮＩＣ（Network Interface Card）等によって実現される。
【００２８】
＜ゲームサーバー２０の構成＞
図３は、本実施形態に係るゲームサーバー２０の機能上の構成を示すブロック図である。ゲームサーバー２０は、ゲームサービスを提供するシステム運営・管理者等が利用する情報処理装置（例えば、ワークステーションやパーソナルコンピューター等）である。ゲームサーバー２０は、ユーザー端末１０から各種のコマンド（リクエスト）を受信すると、ユーザー端末１０の規格に合わせたマークアップ言語（ＨＴＭＬ等）で作成されたゲーム用のＷｅｂページを配信することにより、ユーザー端末１０でユーザーにゲームプレイさせることができる。このゲームサーバー２０は、制御部２１と、データ記憶部２２と、入力部２３と、表示部２４と、通信部２５と、を有している。
【００２９】
制御部２１は、各部間のデータの受け渡しを行うと共に、ゲームサーバー２０全体の制御を行うものであり、ＣＰＵ（Central Processing Unit）が所定のメモリに格納されたプログラムを実行することによって実現される。
【００３０】
データ記憶部２２は、システムプログラムが記憶された読み取り専用の記憶領域であるＲＯＭ（Read Only Memory）と、制御部２１による演算処理のワーク領域として使用される書き換え可能な記憶領域であるＲＡＭ（Random Access Memory）とを有しており、例えば、フラッシュメモリやハードディスク等の不揮発性記憶装置によって実現される。本実施形態のデータ記憶部２２は、アプリケーションプログラムを実行させるために必要となるゲームコンテンツ（文章データ、画像データ、音声データ、各種プログラム等）が格納されている。
【００３１】
入力部２３は、システム管理者等が各種データを入力するためのものであり、例えば、キーボードやマウス等によって実現される。
【００３２】
表示部２４は、制御部２１からの指令に基づいてシステム管理者用の操作画面を表示するためのものであり、例えば、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）等によって実現される。
【００３３】
通信部２５は、ネットワーク２を介してユーザー端末１０や中継サーバー３０等と各種情報の送受信を行うための送受信部として機能するものであり、例えば、ＮＩＣ（Network Interface Card）等によって実現される。
【００３４】
＜中継サーバー３０の構成＞
図４は、本実施形態に係る中継サーバー３０の機能上の構成を示すブロック図である。中継サーバー３０は、ユーザー端末１０とゲームサーバー２０との間に介在し、ゲームサーバー２０へのアクセス要求をユーザー端末１０から受信すると、このユーザー端末１０に代行して指定先のゲームサーバー２０にアクセスする。これにより、ゲームサーバー２０にアクセスしたユーザー端末１０が特定されないため、ユーザーの個人情報（端末ＩＤ等）の漏洩等を防ぐことができる。この中継サーバー３０は、前述したゲームサーバー２０と同様に、制御部３１と、データ記憶部３２と、入力部３３と、表示部３４と、通信部３５と、を有している。
【００３５】
本実施形態における制御部３１は、比較部３１１と、アクセス制御部３１２とを有している。比較部３１１は、アクセス先のＵＲＬへのアクセス要求をユーザー端末１０から受信した際に、当該アクセス先のＵＲＬと中継サーバー用ホワイトリストに記述されたＵＲＬとを比較する機能を有している。アクセス制御部３１２は、比較部３１１による比較結果に基づいて、ユーザー端末１０から受信したアクセス要求が、ゲームサーバーのＵＲＬへのアクセス要求であるか、前記中継サーバー用ホワイトリストに記述されていないアクセス先のＵＲＬへのアクセス要求であるか等を判定し、ユーザー端末１０からのリクエストによって指定されたアクセス先のＵＲＬへのアクセスを制御する機能を有している。
【００３６】
本実施形態におけるデータ記憶部３２は、アクセスを許可されたアクセス先のＵＲＬが記述された中継サーバー用のホワイトリストと、ゲームサーバーリスト等を記憶している。中継サーバー用のホワイトリストは、アクセスを許可されたアクセス先のＵＲＬが記述されたデータである。本実施形態では、少なくともゲームサーバー２０のＵＲＬがこのホワイトリストに記述されている。なお、このホワイトリストは、所定のタイミングで最新のリストにデータ更新されデータ記憶部３２に記憶される。ゲームサーバーリストは、アプリケーションを識別するアプリＩＤに対応付けてゲームサーバーのＵＲＬが記述されたデータである。
【００３７】
このように中継サーバー３０側にもホワイトリストを設けることで、例えば、中継サーバー３０を介して不正なサイトにアクセスさせるべく、悪意者によってアプリケーションプログラム１２１が指定するアクセス先としての中継サーバーのＵＲＬが書き換えられたとしても、中継サーバーでそのアクセスをブロックすることができるため、不正なサイトへのアクセスを制限することができる。
【００３８】
＜ネットワークシステム１の動作例１＞
図５は、本実施形態に係るネットワークシステム１の動作例（その１）を説明するためのフローチャートである。
【００３９】
先ず、ユーザー端末１０において、端末制御部１１は、ユーザーの操作入力を端末入力部１３から受け取ると、ゲームを開始するためのアプリケーションプログラム１２１の起動をゲーム制御部１１１に行なわせる（Ｓ１０１）。
【００４０】
次いで、端末制御部１１は、アプリケーションプログラム１２１が起動すると、アプリケーションプログラム１２１に含まれるアプリケーション用ホワイトリストのバージョン情報を取得する（Ｓ１０２）。このバージョン情報は、アプリケーション用ホワイトリストに記述されている。
【００４１】
次いで、端末制御部１１は、アプリケーション用ホワイトリストが最新のリストであることの確認を要求するリクエストを、アクセス先となる中継サーバー３０に端末通信部１５を介して送信する（Ｓ１０３）。このリクエストには、ステップＳ１０２で取得したバージョン情報が含まれている。
【００４２】
次いで、中継サーバー３０における制御部３１は、ユーザー端末１０から送信されたリクエストを通信部３５により受信すると、ホワイトリスト確認処理を行なう（Ｓ１０４）。すなわち、制御部３１は、外部サーバーであるホワイトリストサーバー（不図示）にネットワークを介してアクセスし、このホワイトリストサーバーに格納された最新のアプリケーション用ホワイトリストのバージョン情報を取得する。そして、制御部３１は、この最新のバージョン情報と、受信したリクエストに含まれるバージョン情報とを比較して、最新のアプリケーション用ホワイトリストであるか否かを判定し確認する。そして、制御部３１は、かかる判定が否定された場合には、最新のアプリケーション用ホワイトリストをユーザー端末１０に送信する（Ｓ１０５）。
【００４３】
ユーザー端末１０における端末制御部１１は、中継サーバー３０から送信されたレスポンスを受信した場合には、アプリケーションプログラム１２１に含まれるアプリケーション用ホワイトリストを、このレスポンスに含まれる最新のアプリケーション用ホワイトリストに書き換えて更新する（Ｓ１０６）。
【００４４】
次いで、ユーザー端末１０は、アプリケーションプログラム１２１を起動させた後、アクセス判定処理を行なう（Ｓ１０７）。以下では、ユーザー端末１０において実行されるアクセス判定処理について、具体的に説明する。
【００４５】
図６は、アクセス判定処理を説明するためのフローチャートである。
【００４６】
先ず、端末制御部１１は、アプリケーションプログラム１２１がゲームのトップページ（Ｗｅｂページ）の配信をゲームサーバー２０に対してリクエストすると、このリクエストに含まれるアクセス先のＵＲＬを端末比較部１１２に取得させる（Ｓ２０１）。このリクエストには、ゲームサーバー２０へのアクセスを代行する中継サーバー３０のＵＲＬが記述されていると共に、このゲームのアプリケーションを識別するためのアプリＩＤが記述されている。
【００４７】
次に、端末比較部１１２は、取得したアクセス先のＵＲＬと、アプリケーションプログラム１２１に含まれるアプリケーション用ホワイトリスト内のＵＲＬとを比較する。そして、端末アクセス制御部１１３は、端末比較部１１２による比較結果に基づいて、アプリケーション用ホワイトリスト内のＵＲＬと一致するか否かを判定する（Ｓ２０２）。
【００４８】
具体的には、本実施形態におけるネットワークシステム１では、中継サーバー３０がゲームサーバー２０へのアクセスを代行するため、ここではアクセス先となる中継サーバーのＵＲＬが一致するか否かが判定される。そして、通常であれば、アプリケーションプログラム１２１によるリクエストには正しいアクセス先となる中継サーバー３０のＵＲＬが記述されているため、ＵＲＬは一致することになる。ところが、例えば悪意のあるアプリケーション作成者が、アクセス先として不正なサイトのＵＲＬを記述している場合には、ＵＲＬは不一致となる。
【００４９】
端末アクセス制御部１１３は、端末比較部１１２による比較結果に基づいて、アクセス先となる中継サーバーのＵＲＬが一致すると判定された場合には（Ｓ２０２：ＹＥＳ）、中継サーバー３０へのアクセスを許可する（Ｓ２０３）。一方で、端末アクセス制御部１１３は、アクセス先となる中継サーバーのＵＲＬが一致しないと判定された場合には（Ｓ２０２：ＮＯ）、中継サーバー３０へのアクセスをブロックする（Ｓ２０４）。
【００５０】
ここで、ＵＲＬが一致するか否かは、両方のＵＲＬが完全一致するか否かによって判定してもよいし、ＵＲＬを構成するホスト名やディレクトリ名などを比較対象として部分一致するか否かによって判定してもよい。
【００５１】
このようにして、端末アクセス制御部１１３は、端末比較部１１２の比較結果に基づいて、アプリケーションプログラム１２１によって指定されたアクセス先のＵＲＬへのリクエスト（アクセス要求）が、ホワイトリストに記述された中継サーバー３０のＵＲＬへのリクエスト（アクセス要求）であると判定した場合には、当該中継サーバー３０へのアクセスを許可する。
【００５２】
また、本実施形態におけるネットワークシステム１では、アプリケーション用ホワイトリスト内のＵＲＬのうち、中継サーバーのＵＲＬ以外の外部サーバーのＵＲＬと一致するか否かも判定される。この場合も、端末アクセス制御部１１３は、端末比較部１１２の比較結果に基づいて、アプリケーション用ホワイトリスト内のＵＲＬと一致すると判定した場合には、当該外部サーバーのへのアクセスを許可する。
【００５３】
また、端末アクセス制御部１１３は、端末比較部１１２の比較結果に基づいて、アプリケーションプログラム１２１によって指定されたアクセス先のＵＲＬへのリクエスト（アクセス要求）が、アプリケーション用ホワイトリストに記述されていないアクセス先のＵＲＬへのアクセス要求であると判定した場合には、当該アクセス先へのアクセスを遮断する。
【００５４】
なお、上記のようなアクセスを遮断することなく、ホワイトリストに記述されていないＵＲＬへのアクセスを所定条件の下で許可してもよい。例えば、画面表示制御部１１４は、Ｗｅｂブラウザー１２２を起動させることにより、ホワイトリストに記述されていないアクセス先から配信されたＷｅｂページを、アプリケーション上ではなくＷｅｂブラウザー上だけで表示するようにする。このようにすることで、アプリケーション上でＷｅｂＶｉｅｗを介して表示されるコンテンツをホワイトリストのアクセス先から配信されたＷｅｂページのみに制限することができる。そのため、少なくともアプリケーション上で表示されるコンテンツはアクセスを許可されていないアクセス先のコンテンツが排除されるので、ユーザーは安心してゲームプレイを続けることが可能となる。この際、「サービス外のサイトにアクセスしようとしています。続行しますか？」等のポップアップメッセージをＷｅｂブラウザー上に予め表示するようにし、ユーザーに対して注意喚起を行なうこともできる。
【００５５】
図５に戻り、次いで端末制御部１１は、ゲームのトップページの配信を要求するリクエストを、アクセス先となる中継サーバー３０に端末通信部１５を介して送信する（Ｓ１０８）。
【００５６】
次いで、中継サーバー３０は、ユーザー端末１０から送信されたリクエストを通信部３５により受信すると、アクセス判定処理を行なう（Ｓ１０９）。
具体的には、制御部３１は、ユーザー端末１０から送信されたリクエストを受信すると、このリクエストに含まれるアプリＩＤを比較部３１１に取得させる。このリクエストには、アプリケーションプログラム１２１を識別するアプリＩＤが記述されている。
【００５７】
次に、比較部３１１は、データ記憶部３２に記憶されたゲームサーバーリストを参照することにより、取得したアプリＩＤに対応するゲームサーバーのＵＲＬを取得する。そして、比較部３１１は、取得したゲームサーバーのＵＲＬと、データ記憶部３２に記憶された中継サーバー用ホワイトリスト内のＵＲＬと、を比較する。
【００５８】
次に、アクセス制御部３１２は、端末比較部１１２による比較結果に基づいて、アクセス先となるゲームサーバーのＵＲＬが一致すると判定された場合には、当該ゲームサーバー２０へのアクセスを許可する。一方で、アクセス制御部３１２は、アクセス先となるゲームサーバーのＵＲＬが一致しないと判定された場合には、当該ゲームサーバー２０へのアクセスをブロックする。
【００５９】
ここで、ＵＲＬが一致するか否かは、両方のＵＲＬが完全一致するか否かによって判定してもよいし、ＵＲＬのうちのホスト名やディレクトリ名などが部分一致するか否かによって判定してもよい。
【００６０】
このようにして、アクセス制御部３１２は、比較部３１１の比較結果に基づいて、ユーザー端末から受信したリクエスト（アクセス要求）が、ホワイトリストに記述されたゲームサーバー２０のＵＲＬへのリクエスト（アクセス要求）であると判定した場合には、当該ゲームサーバー２０へのアクセスを許可する。
【００６１】
また、アクセス制御部３１２は、比較部３１１の比較結果に基づいて、ユーザー端末から受信したリクエスト（アクセス要求）が、中継サーバー用ホワイトリストに記述されていないアクセス先のＵＲＬへのアクセス要求であると判定した場合には、当該アクセス先へのアクセスを遮断する。
【００６２】
なお、上記のようなアクセスを遮断することなく、ホワイトリストに記述されていないＵＲＬへのアクセスを所定条件の下で許可してもよい。この点についても、ユーザー端末１０におけるアクセス判定処理と同様である。
【００６３】
次いで、中継サーバー３０は、ゲームコンテンツ（ＨＴＭＬファイル等）の配信を要求するリクエストを、ゲームサーバー２０に送信する（Ｓ１１０）。
【００６４】
ゲームサーバー２０は、中継サーバー３０から送信されたリクエストを受信すると、アプリケーションプログラム１２１から要求されたゲームのトップページのレスポンスを生成する。すなわち、ゲームサーバー２０は、ゲームコンテンツとしてのＨＴＭＬファイル（文章、画像、音声データ等を含む）等を生成し送信する（Ｓ１１１）。
【００６５】
次いで、中継サーバー３０は、ゲームサーバー２０からのレスポンスを受信すると、ゲームコンテンツ（ＨＴＭＬファイル等）を、要求元のユーザー端末１０に対して送信する（Ｓ１１２）。
【００６６】
次いで、ユーザー端末１０において、端末通信部１５が、中継サーバー３０から送信されたレスポンスを受信すると、画面表示制御部１１４が、受信したＨＴＭＬファイルの記述に基づくブラウザーゲームのトップページ（Ｗｅｂページ）を、アプリケーションプログラム１２１を用いて端末表示部１４に表示させる（Ｓ１１３）。
【００６７】
＜ネットワークシステム１の動作例２＞
図７は、本実施形態に係るネットワークシステム１の動作例（その２）を説明するためのフローチャートである。
【００６８】
先ず、ユーザー端末１０において、端末制御部１１は、ユーザーの操作入力を端末入力部１３から受け取ると、ゲームを開始するためのアプリケーションプログラム１２１の起動をゲーム制御部１１１に行なわせる（Ｓ３０１）。
【００６９】
次いで、端末制御部１１は、アプリケーションプログラム１２１が起動すると、ホワイトリストのダウンロードを行なう（Ｓ３０２）。すなわち、端末制御部１１は、外部サーバーであるホワイトリストサーバー（不図示）にネットワークを介してアクセスし、このホワイトリストサーバーに格納されたアプリケーション用ホワイトリストをダウロードする。そして、端末制御部１１は、アプリケーション用ホワイトリストをアプリケーションプログラム１２１に記述し、記述後のアプリケーションプログラム１２１を端末記憶部１２に記録し更新する。
【００７０】
次いでユーザー端末１０は、アクセス判定処理を行なう（Ｓ３０３）。このアクセス判定処理は、上述した動作例１で説明したステップＳ１０７（図６参照）で実行される処理と同様であるが、ステップＳ３０２においてダウンロードしたアプリケーション用ホワイトリストを用いる点で異なる。
【００７１】
なお、以降のステップ３０４〜ステップ３０９の各処理については、上述した動作例（その１）において説明したステップ１０８〜ステップ１１３の各処理と同様となるため、説明を省略する。
【００７２】
＜まとめ＞
以上のように、本実施形態に係るネットワークシステム１によれば、アプリケーションプログラム１２１に含まれるアプリケーション用ホワイトリストを用いることにより、予め許可されたアクセス先へのアクセスをアプリケーション毎に制限できるため、アプリケーション利用者が意に反して不正なサイトへアクセスすることによって被害を受けることを抑制することができる。また、中継サーバー３０に格納される中継サーバー用ホワイトリストを用いることにより、中継サーバーを介して不正なサイトにアクセスさせるべく、アプリケーションプログラム１２１により指定されるアクセス先となる中継サーバーのＵＲＬが悪意者によって書き換えられたとしても、不正なサイトへ誘導されるといった被害を抑えることができる。その結果、アプリケーションプログラムの実行時におけるアクセス経路の信頼性を向上させることが可能となる。
【００７３】
＝＝＝その他の実施の形態＝＝＝
上記の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【００７４】
＜ホワイトリスト＞
上記の本実施形態におけるネットワークシステム１では、アプリケーションプログラム１２１に含まれるアプリケーション用ホワイトリスト、及び、中継サーバー３０に格納される中継サーバー用ホワイトリストを用いてアクセス制御を行なう場合を例に挙げて説明したが、本発明はこれに限定されるものではない。例えば、両方のホワイトリストを用いるのではなく、アプリケーションプログラム１２１のアプリケーション用ホワイトリストのみを用いてアクセス制御を行ってもよい。
【００７５】
また、アプリケーション用ホワイトリスト、及び、中継サーバー用ホワイトリストにおいては、許可されたアクセス先のＵＲＬがバリナリ形式で記述され、かつ、暗号化されていてもよい。このようにすることで、ホワイトリストに記述されたＵＲＬが目視では識別できなくなるため、悪意者がホワイトリストに記述されているＵＲＬを不正なサイトのＵＲＬに書き換える行為等を抑止できる。
【００７６】
また、アプリケーション用ホワイトリスト、及び、中継サーバー用ホワイトリストに記述されているアクセス先のＵＲＬ（リスト内容）は同じであってもよいし、異なっていてもよい。なお。前者の場合には、最新のホワイトリストを格納した外部サーバー（ホワイトリストサーバー）を用いるのではなく、最新のホワイトリストを格納させた中継サーバー３０を代用してもよい。
【００７７】
＜アクセス判定処理＞
上記の本実施形態におけるネットワークシステム１では、アプリ起動時においてアクセス判定処理を実行する場合を例に挙げて説明したが、本発明はこれに限定されるものではない。例えば、ゲーム制御部１１１の制御の下、ユーザーがゲームの操作画面（Ｗｅｂページ）にてゲーム操作入力を行うことにより、アプリケーションプログラム１２１がゲームサーバー２０に対してアクセス要求する度に、アクセス判定処理が実行されるようにしてもよい。つまり、このネットワークシステム１では、アプリケーションプログラムが起動してから終了するまでのゲーム進行中（アプリケーションサービス提供中）の状態であれば、どのタイミングでもアクセス判定処理を行なってもよい。
【００７８】
＜ゲームサーバーの指定＞
上記の本実施形態におけるネットワークシステム１の動作例では、アプリケーションプログラム１２１が、ゲームサーバー２０をＵＲＬを直接指定せずに、中継サーバーを指定することにより、ユーザー端末１０が中継サーバー３０を介してゲームサーバー２０にアクセスする場合を例に挙げて説明したが、本発明はこれに限定されるものではない。すなわち、例えば図５に示すステップＳ１０８において、アプリケーションプログラム１２１がゲームのトップページ（Ｗｅｂページ）の配信をゲームサーバー２０に対してリクエストする際に、このリクエストにアプリケーションプログラム１２１が指定した中継サーバー３０のＵＲＬとアプリＩＤを記述しておき、中継サーバー３０がそのリクエストを受信した際にアプリＩＤに対応するゲームサーバー２０にアクセスする場合を例に挙げて説明したが、これに限定されるものではない。
たとえば、アプリケーションプログラム１２１が、クエリーのパラメーターを含むＵＲＬを送信することで、中継サーバー３０のＵＲＬの記述中で、その先のゲームサーバー２０のＵＲＬを指定するようにしてもよい。具体的には、アプリケーションプログラム１２１に、中継サーバーのＵＲＬ及びその先のゲームサーバーのＵＲＬを「中継サーバーURL?url=(ゲームサーバーURL)」の形で記述し指定する。
【符号の説明】
【００７９】
１  ネットワークシステム、２  ネットワーク、１０  ユーザー端末、１１  端末制御部、１２  端末記憶部、１３  端末入力部、１４  端末表示部、１５  端末通信部、２０  ゲームサーバー、２１  制御部、２２  データ記憶部、２３  入力部、２４  表示部、２５  通信部、３０  中継サーバー、３１  制御部、３２  データ記憶部、３３  入力部、３４  表示部、３５  通信部、１１１  ゲーム制御部（サービス提供処理部）、１１２  端末比較部、１１３  端末アクセス制御部、１１４  画面表示制御部、１２１  アプリケーションプログラム、１２２  Ｗｅｂブラウザー、３１１  比較部、３１２  アクセス制御部
【図１】
2014071888.tif 000003
【図２】
2014071888.tif 000004
【図３】
2014071888.tif 000005
【図４】
2014071888.tif 000006
【図５】
2014071888.tif 000007
【図６】
2014071888.tif 000008
【図７】
2014071888.tif 000009