(57)【要約】【課題】悪意アプリによるアクセスを抑止できるようにする。【解決手段】実施形態の情報処理装置は、ネイティブ領域のウエブサーバより復号化されたウエブアプリを取得して実行する実行部と、ウエブアプリを実行するプロセスにおいて、ウエブアプリの復号化をもとに、実行部にウエブアプリの取得にかかる通知を行う通知部とを備える。実行部は、通知部からの通知に基づいて、復号化されたウエブアプリをウエブサーバより取得する。【選択図】図２
2015197743.tif 000002
【特許請求の範囲】
【請求項１】
ネイティブ領域のウエブサーバより復号化されたウエブアプリを取得して実行する実行部と、
前記ウエブアプリを実行するプロセスにおいて、前記ウエブアプリの復号化をもとに、前記実行部に前記ウエブアプリの取得にかかる通知を行う通知部と、を備え、
前記実行部は、前記通知部からの通知に基づいて、前記復号化されたウエブアプリを前記ウエブサーバより取得することを特徴とする情報処理装置。
【請求項２】
前記ウエブサーバは、前記ウエブアプリの取得にかかる通知を行った後の所定時間内に前記実行部よりリクエストがある場合、前記復号化されたウエブアプリを前記実行部へ出力する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記実行部と前記ウエブサーバとの間の通信にかかるトークン情報を管理する管理部を更に備え、
前記通知部は、前記トークン情報を付与して前記ウエブアプリの取得にかかる通知を行い、
前記ウエブサーバは、前記実行部より前記トークン情報に対応したリクエストがあった場合に、前記復号化されたウエブアプリを前記実行部へ出力する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記トークン情報は、クッキー、ランダムに生成された値、及びランダムに生成されたＵＲＬ（Uniform  Resource  Locator）の少なくとも一つである
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
暗号化されたウエブアプリを配信するサーバ装置と、
前記暗号化されたウエブアプリを復号化したウエブアプリをネイティブ領域のウエブサーバより取得して実行する実行部、及び前記ウエブアプリを実行するプロセスにおいて、前記ウエブアプリの復号化をもとに、前記実行部に前記ウエブアプリの取得にかかる通知を行う通知部とを備える情報処理装置とを有し、
前記実行部は、前記通知部からの通知に基づいて、前記復号化されたウエブアプリを前記ウエブサーバより取得する情報処理システム。
【請求項６】
コンピュータに、
ネイティブ領域のウエブサーバより復号化されたウエブアプリを実行部が取得して実行するプロセスにおいて、前記ウエブアプリの復号化をもとに、前記実行部に前記ウエブアプリの取得にかかる通知を行い、
前記実行部は、前記通知に基づいて、前記復号化されたウエブアプリを前記ウエブサーバより取得する
処理を実行させることを特徴とするプログラム。
【請求項７】
コンピュータが実行する処理方法であって、
ネイティブ領域のウエブサーバより復号化されたウエブアプリを実行部が取得して実行するプロセスにおいて、前記ウエブアプリの復号化をもとに、前記実行部に前記ウエブアプリの取得にかかる通知を行い、
前記実行部は、前記通知に基づいて、前記復号化されたウエブアプリを前記ウエブサーバより取得する
処理を実行することを特徴とする処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、情報処理システム、プログラムおよび処理方法に関する。
【背景技術】
【０００２】
近年、ＰＣ（Personal  Computer）、タブレット型端末装置、スマートフォンなどの情報処理装置においては、開発工数の削減が期待できることからウエブアプリの利用が期待されている。ウエブアプリは、ブラウザ上のウエブ領域で実行するため、ＯＳ（Operating  System）上のネイティブ領域で実行するネイティブアプリと比較して機種依存性が低い。また、ウエブ領域で実行できる処理を制限しているため、セキュリティ上の安全性が高い。しかしながら、ウエブアプリだけでは、処理が制限され、ネイティブアプリのように情報処理装置の機能を十分に引き出すことができない。このため、ネイティブ領域でローカルのウエブサーバを起動し、そのローカルのウエブサーバよりウエブアプリを復号化して提供するハイブリッド型もある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００４−５３７１０１号公報
【特許文献２】特開２００６−３２３６１４号公報
【特許文献３】特開２０１１−１０７７４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ネイティブ領域で起動するローカルのウエブサーバよりウエブアプリを復号化して提供する場合は、そのウエブサーバが公開された際に、別プロセスで動いているアプリ等からの意図しないアクセスによって復号化されたウエブアプリの取得が可能であった。例えば、悪意のあるアプリ（悪意アプリ）がローカルのウエブサーバへのアクセスを試みる場合、復号化されたウエブアプリの取得が容易となり、セキュリティ上好ましくなかった。
【課題を解決するための手段】
【０００５】
一実施形態の情報処理装置は、ネイティブ領域のウエブサーバにより復号化されたウエブアプリを取得して実行する実行部と、前記ウエブアプリを実行するプロセスにおいて、前記ウエブサーバによる前記ウエブアプリの復号化をもとに、前記実行部に前記ウエブアプリの取得にかかる通知を行う通知部と、を備え、前記実行部は、前記通知部からの通知に基づいて、前記復号化されたウエブアプリを前記ウエブサーバより取得する。
【発明の効果】
【０００６】
一実施形態によれば、悪意アプリによるアクセスを抑止できる、という効果を奏する。
【図面の簡単な説明】
【０００７】
【図１】図１は、実施形態にかかる情報処理装置のウエブアプリの実行環境を例示する説明図である。
【図２】図２は、実施形態にかかる情報処理装置の機能構成を例示するブロック図である。
【図３】図３は、実施形態にかかる情報処理装置の動作を例示するラダーチャートである。
【図４】図４は、変形例１にかかる情報処理装置の機能構成を例示するブロック図である。
【図５】図５は、変形例１にかかる情報処理装置の動作を例示するラダーチャートである。
【図６】図６は、変形例２にかかる情報処理装置の機能構成を例示するブロック図である。
【図７】図７は、変形例２にかかる情報処理装置の動作を例示するラダーチャートである。
【図８】図８は、実施形態にかかる情報処理装置およびサーバ装置のハードウエア構成を例示するブロック図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照して、実施形態にかかる情報処理装置、情報処理システム、プログラムおよび処理方法を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する情報処理装置、情報処理システム、プログラムおよび処理方法は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【０００９】
図１は、実施形態にかかる情報処理装置１のウエブアプリの実行環境を例示する説明図である。図１に示すように、情報処理装置１は、ＯＳ上の実行環境でアプリケーションソフトウェア（アプリ）を実行するＰＣ、タブレット型端末装置、スマートフォンなどである。情報処理装置１は、ＣＰＵ（Central  Processing  Unit）がＯＳ等の基本プログラムを実行することで、アプリに対してハードウエアを利用する実行環境を提供する（ハードウエア構成の詳細は後述する）。
【００１０】
この実行環境におけるウエブアプリは、ブラウザ機能上で実行する構成であり、ネイティブ機能（ネイティブ領域）を介してハードウエアを利用可能なハイブリッド型である。具体的には、一部のウエブアプリについては、ネイティブ領域におけるローカルのウエブサーバ（http  サーバ（以下、ローカルサーバと呼ぶ））より提供される。これにより、ウエブアプリは、ローカルサーバを介して情報処理装置１の機能を十分に引き出すことができる。
【００１１】
図２は、実施形態にかかる情報処理装置１の機能構成を例示するブロック図である。図２において、プロセスＰ１は上述したハイブリッド型のウエブアプリ１３、１４の実行にかかるプロセスを示し、プロセスＰ２は他のアプリの実行にかかるプロセスを示す。
【００１２】
サーバ装置２は、インターネット等の通信ネットワーク（図示しない）を介して接続する情報処理装置１に各種サービスを提供する。具体的には、サーバ装置２は、情報処理装置１にウエブアプリ１３、１４等にかかる暗号化ファイル２６を提供する。暗号化ファイル２６は、ＳＦＳ（Secure  File  System）においてウエブアプリ１３、１４等にかかるデータが暗号化されたファイルであり、ストレージ等に保持される。
【００１３】
プロセスＰ１は、Ｗｅｂｖｉｅｗ２１上のブラウザであるブラウザ実行部１０と、ネイティブ機能部２０とを有する構成である。このプロセスＰ１内における各部の通信は、所定のＡＰＩ（Application  Programming  Interface）を介して行う。ブラウザ実行部１０は、インラインフレーム１１、インラインフレーム１２上でウエブアプリ１３、１４を実行する。ネイティブ機能部２０は、Ｗｅｂｖｉｅｗ２１、ローカルサーバ２２、起動通知部２３、トークン管理部２４、トークン保持部２５を有する。
【００１４】
Ｗｅｂｖｉｅｗ２１は、簡易的なブラウザ機能を提供する。ローカルサーバ２２は、ネイティブ機能部２０で実行されるローカルなウエブサーバ（http  サーバ）である。ローカルサーバ２２は、アドレスが「１２７．０．０．１」、通信ポートが「８０００」などであるローカルのＵＲＬ（Uniform  Resource  Locator）指定によるリクエスト等に応答する。例えば、ローカルサーバ２２は、暗号化ファイル２６を復号化したウエブアプリをメモリにロードし、ＵＲＬ指定によるリクエストに対して復号化したウエブアプリを出力する。
【００１５】
起動通知部２３は、ローカルサーバ２２からの通知をもとに、ブラウザ実行部１０に対してローカルサーバ２２の起動（立ち上げ）を通知する。ブラウザ実行部１０は、起動通知部２３からの通知をもとに、インラインフレーム（図示例ではインラインフレーム１１）を生成し、ローカルサーバ２２へのリクエストで取得したウエブアプリ（図示例ではウエブアプリ１３）を実行する。
【００１６】
トークン管理部２４は、ブラウザ実行部１０と、ローカルサーバ２２との間の通信にかかるトークン（ｔｏｋｅｎ）情報を管理する。トークン情報は、通信の識別やセッションの管理などを目的とした識別情報であり、本実施形態ではＨＴＴＰ  ｃｏｏｋｉｅ（以下、ｃｏｏｋｉｅ）とする。トークン管理部２４は、ｃｏｏｋｉｅの制御を行うｃｏｏｋｉｅ制御部２４１と、ｃｏｏｋｉｅの確認・生成を行うｃｏｏｋｉｅ確認・生成部２４２とを有する（詳細は後述する）。
【００１７】
トークン保持部２５は、トークン管理部２４が管理するトークン情報を保持する。具体的には、トークン保持部２５は、トークン情報として、ＵＲＬ（ｕｒｌ）と、ｃｏｏｋｉｅと、フラグ（Ｆｌａｇ）とを保持する。ｕｒｌは、復号化したウエブアプリをローカルサーバ２２が応答するアドレスである。ｃｏｏｋｉｅは、ウエブアプリを応答する際に渡すｃｏｏｋｉｅの値である。Ｆｌａｇは、ｕｒｌを指定したリクエストに対してｃｏｏｋｉｅ付きのウエブアプリを応答したか（ｔｒｕｅ）否か（ｆａｌｓｅ）を示す。
【００１８】
ここで、ウエブアプリを起動する際の情報処理装置１の動作を詳細に説明する。図３は、実施形態にかかる情報処理装置１の動作を例示するラダーチャートである。
【００１９】
図３に示すように、情報処理装置１は、ウエブアプリの起動要求（例えばコンソールによるアプリの実行指定）を受け付けて（Ｓ１）、プロセスＰ１を開始する。ローカルサーバ２２は、ウエブアプリの起動要求に応じて、ウエブアプリ（図１の例ではウエブアプリ１３）をメモリにロードする（Ｓ２）。具体的には、ローカルサーバ２２は、暗号化ファイル２６を復号化したウエブアプリ１３をメモリにロードする。
【００２０】
次いで、ローカルサーバ２２は、フラグｏｆｆ（Ｆｌａｇ＝ｆａｌｓｅ）としたｃｏｏｋｉｅの生成をトークン管理部２４に要請する（Ｓ３）。トークン管理部２４のｃｏｏｋｉｅ確認・生成部２４２は、ローカルサーバ２２からの要請を受けて、ｃｏｏｋｉｅを生成する（Ｓ４）。具体的には、ｃｏｏｋｉｅ確認・生成部２４２は、トークン保持部２５に保持されている情報を参照し、使用されていない空きｕｒｌを探索する。次いで、ｃｏｏｋｉｅ確認・生成部２４２は、探索された空きｕｒｌにおけるｃｏｏｋｉｅを生成し、Ｆｌａｇ＝ｆａｌｓｅとして、トークン保持部２５にｕｒｌ、ｃｏｏｋｉｅ、Ｆｌａｇの値を設定する。
【００２１】
次いで、トークン管理部２４のｃｏｏｋｉｅ制御部２４１は、ｃｏｏｋｉｅの生成を行った空きｕｒｌをローカルサーバ２２に通知する（Ｓ５）。空きｕｒｌの通知を受けたローカルサーバ２２は、起動通知部２３へのブラウザを起動させるための起動通知と、復号化したウエブアプリ１３を公開する空きｕｒｌの通知とを行う（Ｓ６）。ローカルサーバ２２より起動通知とｕｒｌの通知とを受けた起動通知部２３は、ブラウザ実行部１０に対して起動通知とｕｒｌの通知を行い、ブラウザを起動させる（Ｓ７）。
【００２２】
起動通知とｕｒｌの通知とを受けたブラウザ実行部１０は、インラインフレーム（図１の例ではインラインフレーム１１）を生成し（Ｓ８）、通知されたｕｒｌをローカルサーバ２２にリクエストする（Ｓ９）。プロセスＰ１内において、起動通知部２３からの起動通知後にブラウザ実行部１０からローカルサーバ２２へのリクエストが行われる時間間隔は、数ｍｓ程度の短時間である。したがって、ブラウザ実行部１０は、復号化されたウエブアプリがローカルサーバ２２より取得可能となった後に、速やかにリクエストしてウエブアプリを取得することができる。このため、ブラウザ実行部１０は、プロセスＰ２などによる意図しないリクエストの前に、ウエブアプリを取得可能である。
【００２３】
ブラウザ実行部１０よりｕｒｌのリクエストを受けたローカルサーバ２２は、ｕｒｌのＦｌａｇ確認をトークン管理部２４に依頼する（Ｓ１０）。ｕｒｌのＦｌａｇ確認を依頼されたトークン管理部２４のｃｏｏｋｉｅ確認・生成部２４２は、トークン保持部２５に保持されたｕｒｌのＦｌａｇをチェックし（Ｓ１１）、チェック結果（Ｆｌａｇ＝ｔｒｕｅ  ｏｒ  ｆａｌｓｅ）を応答する（Ｓ１２）。
【００２４】
具体的には、ｕｒｌのＦｌａｇがｆａｌｓｅの場合、ｃｏｏｋｉｅ確認・生成部２４２はｆａｌｓｅを返す。そして、ｃｏｏｋｉｅ確認・生成部２４２は、リクエストに対してｃｏｏｋｉｅ付きのウエブアプリを応答することから、トークン保持部２５に保持されたｕｒｌのＦｌａｇをｔｒｕｅに設定する。また、ｕｒｌのＦｌａｇがｔｒｕｅの場合、ｃｏｏｋｉｅ付きのウエブアプリを一度応答していることから、ｃｏｏｋｉｅ確認・生成部２４２は、ｔｒｕｅを返し、トークン保持部２５の設定をそのままとする。
【００２５】
ローカルサーバ２２は、トークン管理部２４からのチェック結果をもとに、ブラウザ実行部１０へのレスポンスを返す（Ｓ１３ａ、Ｓ１３ｂ）。具体的には、チェック結果がＦｌａｇ＝ｆａｌｓｅである場合、ローカルサーバ２２は、ウエブアプリ（図１の例ではウエブアプリ１３）のｕｒｌ（例えば「ｉｎｄｅｘ．ｈｔｍｌ」）をｃｏｏｋｉｅ付きで返す（Ｓ１３ａ）。これにより、ブラウザ実行部１０は、生成したインラインフレームでウエブアプリを実行し、以後のローカルサーバ２２との通信をｃｏｏｋｉｅによる認証を経てセキュアに行うことができる。
【００２６】
また、チェック結果がＦｌａｇ＝ｔｒｕｅである場合、ローカルサーバ２２は、ｃｏｏｋｉｅ付きのウエブアプリを一度応答していることからエラーを返す（Ｓ１３ｂ）。したがって、起動通知後にウエブアプリを一度応答している場合には、次からのリクエストについてはエラーとすることで、プロセスＰ２などからの意図しないリクエストによってウエブアプリが取得されることを抑止する。
【００２７】
また、トークン管理部２４は、フラグｏｆｆ（Ｆｌａｇ＝ｆａｌｓｅ）としたｃｏｏｋｉｅの生成を行った後に、所定時間（例えば数ｍｓ程度）経過したところで、フラグｏｎ（Ｆｌａｇ＝ｔｒｕｅ）としてもよい。具板的には、トークン管理部２４のｃｏｏｋｉｅ制御部２４１は、ＲＴＣ（Real  Time  Clock）等で計時された値をもとに、トークン保持部２５にｕｒｌ、ｃｏｏｋｉｅ、Ｆｌａｇを設定した後に所定時間経過したところで、Ｆｌａｇの値をｔｒｕｅとする。
【００２８】
これにより、ローカルサーバ２２は、起動通知部２３がブラウザ実行部１０に起動通知を行った後の所定時間内にブラウザ実行部１０よりリクエストがあった場合に、Ｆｌａｇ＝ｆａｌｓｅとしたレスポンスを行う。すなわち、ローカルサーバ２２は、ブラウザ実行部１０からのリクエストに対してウエブアプリを出力する。このように、ローカルサーバ２２よりウエブアプリが取得できる時間を規制することで、プロセスＰ２などからの意図しないリクエストによってウエブアプリが取得されることを抑止する。
【００２９】
（変形例１）
次に、上述した実施形態の変形例１として、ローカルサーバ２２との間の通信にかかるトークン情報としてランダムに生成されたランダム値を用いる場合を説明する。図４は、変形例１にかかる情報処理装置１ａの機能構成を例示するブロック図である。図５は、変形例１にかかる情報処理装置１ａの動作を例示するラダーチャートである。
【００３０】
図４に示すように、情報処理装置１ａは、ランダムに生成されたランダム値をトークン情報として管理するトークン管理部２４ａを有する構成である。トークン管理部２４ａは、ランダム値の制御を行うランダム値制御部２４１ａと、ランダム値の確認・生成を行うランダム値確認・生成部２４２ａとを有する。
【００３１】
図５に示すように、情報処理装置１ａは、ウエブアプリの起動要求を受け付けて（Ｓ２１）、プロセスＰ１を開始する。ローカルサーバ２２は、ウエブアプリの起動要求に応じて、ウエブアプリ（図４の例ではウエブアプリ１３）をメモリにロードする（Ｓ２２）。具体的には、ローカルサーバ２２は、暗号化ファイル２６を復号化したウエブアプリ１３をメモリにロードする。
【００３２】
次いで、ローカルサーバ２２は、ランダム値の生成をトークン管理部２４ａに要請する（Ｓ２３）。トークン管理部２４ａのランダム値確認・生成部２４２ａは、ローカルサーバ２２からの要請を受けて、英数字等をランダムに組み合わせたランダム値を生成する（Ｓ２４）。具体的には、ランダム値確認・生成部２４２ａは、トークン保持部２５に保持されている情報を参照し、使用されていない空きｕｒｌを探索する。次いで、ランダム値確認・生成部２４２ａは、探索された空きｕｒｌにおけるランダム値を生成し、トークン保持部２５にｕｒｌ、ランダム値を設定する。
【００３３】
次いで、トークン管理部２４のランダム値制御部２４１ａは、ランダム値とｕｒｌをローカルサーバ２２に通知する（Ｓ２５）。ランダム値とｕｒｌの通知を受けたローカルサーバ２２は、起動通知部２３へのブラウザを起動させるための起動通知と、復号化したウエブアプリ１３を公開するｕｒｌ＋ランダム値の通知とを行う（Ｓ２６）。ローカルサーバ２２より起動通知とｕｒｌ＋ランダム値の通知とを受けた起動通知部２３は、ブラウザ実行部１０に対して起動通知とｕｒｌ＋ランダム値の通知を行い、ブラウザを起動させる（Ｓ２７）。
【００３４】
起動通知とｕｒｌ＋ランダム値の通知とを受けたブラウザ実行部１０は、インラインフレーム（図４の例ではインラインフレーム１１）を生成し（Ｓ２８）、通知されたｕｒｌ＋ランダム値をローカルサーバ２２にリクエストする（Ｓ２９）。
【００３５】
ブラウザ実行部１０よりｕｒｌ＋ランダム値のリクエストを受けたローカルサーバ２２は、ランダム値の確認をトークン管理部２４ａに依頼する（Ｓ３０）。ランダム値の確認を依頼されたトークン管理部２４ａのランダム値確認・生成部２４２ａは、トークン保持部２５に保持されたｕｒｌのランダム値をチェックし（Ｓ３１）、チェック結果（チェック結果＝ｔｒｕｅ  ｏｒ  ｆａｌｓｅ）を応答する（Ｓ３２）。
【００３６】
具体的には、確認の依頼があったランダム値がトークン保持部２５に保持されたランダム値と一致する場合、ランダム値確認・生成部２４２ａはｔｒｕｅを返す。また、確認の依頼があったランダム値がトークン保持部２５に保持されたランダム値と一致しない場合、ランダム値確認・生成部２４２ａはｆａｌｓｅを返す。
【００３７】
ローカルサーバ２２は、トークン管理部２４ａからのチェック結果をもとに、ブラウザ実行部１０へのレスポンスを返す（Ｓ３３ａ、Ｓ３３ｂ）。具体的には、チェック結果がｔｕｒｅである場合、ローカルサーバ２２は、ウエブアプリ（図４の例ではウエブアプリ１３）のｕｒｌ（例えば「ｉｎｄｅｘ．ｈｔｍｌ」）を返す（Ｓ３３ａ）。これにより、ブラウザ実行部１０は、生成したインラインフレームでウエブアプリを実行できる。
【００３８】
また、チェック結果がｆａｌｓｅである場合、ローカルサーバ２２は、エラーを返す（Ｓ３３ｂ）。すなわち、ローカルサーバ２２は、起動通知部２３からの起動通知とともに送られたランダム値を知り得ない、ブラウザ実行部１０以外のリクエストに対してはエラーを返す。このため、プロセスＰ２などからの意図しないリクエストによってウエブアプリが取得されることを抑止する。
【００３９】
（変形例２）
次に、上述した実施形態の変形例２として、ローカルサーバ２２との間の通信にかかるトークン情報として、ｃｏｏｋｉｅとランダム値とを用いる場合を説明する。図６は、変形例２にかかる情報処理装置１ｂの機能構成を例示するブロック図である。図７は、変形例２にかかる情報処理装置１ｂの動作を例示するラダーチャートである。
【００４０】
図６に示すように、情報処理装置１ｂは、ｃｏｏｋｉｅとランダム値とをトークン情報として管理するトークン管理部２４ｂを有する構成である。トークン管理部２４ｂは、ｃｏｏｋｉｅ制御部２４１と、ランダム値制御部２４１ａと、ｃｏｏｋｉｅ確認・生成部２４２と、ランダム値確認・生成部２４２ａとを有する。
【００４１】
図７に示すように、情報処理装置１ｂは、ウエブアプリの起動要求を受け付けて（Ｓ４１）、プロセスＰ１を開始する。ローカルサーバ２２は、ウエブアプリの起動要求に応じて、ウエブアプリ（図６の例ではウエブアプリ１３）をメモリにロードする（Ｓ４２）。具体的には、ローカルサーバ２２は、暗号化ファイル２６を復号化したウエブアプリ１３をメモリにロードする。
【００４２】
次いで、ローカルサーバ２２は、ランダム値の生成をトークン管理部２４ｂに要請する（Ｓ４３）。トークン管理部２４ｂのランダム値確認・生成部２４２ａは、ローカルサーバ２２からの要請を受けて、ランダム値を生成する（Ｓ４４）。具体的には、ランダム値確認・生成部２４２ａは、トークン保持部２５に保持されている情報を参照し、使用されていない空きｕｒｌを探索する。次いで、ランダム値確認・生成部２４２ａは、探索された空きｕｒｌにおけるランダム値を生成し、トークン保持部２５にｕｒｌ、ランダム値を設定する。次いで、トークン管理部２４ｂのランダム値制御部２４１ａは、ランダム値をローカルサーバ２２に通知する（Ｓ４５）。
【００４３】
次いで、ローカルサーバ２２は、フラグｏｆｆ（Ｆｌａｇ＝ｆａｌｓｅ）としたｃｏｏｋｉｅの生成をトークン管理部２４ｂに要請する（Ｓ４６）。トークン管理部２４ｂのｃｏｏｋｉｅ確認・生成部２４２は、ローカルサーバ２２からの要請を受けて、ｃｏｏｋｉｅを生成する（Ｓ４７）。具体的には、ｃｏｏｋｉｅ確認・生成部２４２は、Ｓ４４でランダム値が設定されたｕｒｌにおけるｃｏｏｋｉｅを生成し、Ｆｌａｇ＝ｆａｌｓｅとして、トークン保持部２５にｃｏｏｋｉｅ、Ｆｌａｇの値を設定する。次いで、トークン管理部２４ｂのｃｏｏｋｉｅ制御部２４１は、ｃｏｏｋｉｅの生成を行ったｕｒｌをローカルサーバ２２に通知する（Ｓ４８）。なお、ランダム値の生成・通知と、ｃｏｏｋｉｅの生成・ｕｒｌの通知とは、順序が逆に行われてもよい。
【００４４】
ランダム値およびｕｒｌの通知を受けたローカルサーバ２２は、起動通知部２３へのブラウザを起動させるための起動通知と、ｕｒｌ＋ランダム値の通知とを行う（Ｓ４９）。ローカルサーバ２２より起動通知と、ｕｒｌ＋ランダム値の通知とを受けた起動通知部２３は、ブラウザ実行部１０に対して起動通知と、ｕｒｌ＋ランダム値の通知とを行い、ブラウザを起動させる（Ｓ５０）。
【００４５】
起動通知と、ｕｒｌ＋ランダム値の通知とを受けたブラウザ実行部１０は、インラインフレーム（図６の例ではインラインフレーム１１）を生成し（Ｓ５１）、通知されたｕｒｌ＋ランダム値をローカルサーバ２２にリクエストする（Ｓ５２）。
【００４６】
ブラウザ実行部１０よりｕｒｌ＋ランダム値のリクエストを受けたローカルサーバ２２は、ランダム値の確認をトークン管理部２４ｂに依頼する（Ｓ５３）。ランダム値の確認を依頼されたトークン管理部２４ｂのランダム値確認・生成部２４２ａは、トークン保持部２５に保持されたｕｒｌのランダム値をチェックし（Ｓ５４）、チェック結果（チェック結果＝ｔｒｕｅ  ｏｒ  ｆａｌｓｅ）を応答する（Ｓ５５）。
【００４７】
次いで、ローカルサーバ２２は、ｕｒｌのＦｌａｇ確認をトークン管理部２４ｂに依頼する（Ｓ５６）。ｕｒｌのＦｌａｇ確認を依頼されたトークン管理部２４ｂのｃｏｏｋｉｅ確認・生成部２４２は、トークン保持部２５に保持されたｕｒｌのＦｌａｇをチェックし（Ｓ５７）、チェック結果（Ｆｌａｇ＝ｔｒｕｅ  ｏｒ  ｆａｌｓｅ）を応答する（Ｓ５８）。なお、ランダム値の確認と、Ｆｌａｇ確認とは、順序が逆に行われてもよい。
【００４８】
ローカルサーバ２２は、トークン管理部２４ｂからのチェック結果をもとに、ブラウザ実行部１０へのレスポンスを返す（Ｓ５９ａ、Ｓ５９ｂ）。具体的には、チェック結果がＦｌａｇ＝ｆａｌｓｅかつチェック結果がｔｕｒｅである場合、ローカルサーバ２２は、ウエブアプリ（図６の例ではウエブアプリ１３）のｕｒｌをｃｏｏｋｉｅ付きで返す（Ｓ５９ａ）。これにより、ブラウザ実行部１０は、生成したインラインフレームでウエブアプリを実行できる。また、ブラウザ実行部１０は、以後のローカルサーバ２２との通信をｃｏｏｋｉｅによる認証を経てセキュアに行うことができる。
【００４９】
また、チェック結果がＦｌａｇ＝ｆａｌｓｅかつチェック結果がｔｕｒｅである場合の他（ｅｌｓｅ）については、ローカルサーバ２２は、エラーを返す（Ｓ５９ｂ）。すなわち、ローカルサーバ２２は、起動通知部２３からの起動通知とともに送られたランダム値を知り得ない、ブラウザ実行部１０以外のリクエストや、ウエブアプリを一度応答した後のリクエストに対してはエラーを返す。このため、プロセスＰ２などからの意図しないリクエストによってウエブアプリが取得されることを抑止する。
【００５０】
情報処理装置１、１ａ、１ｂおよびサーバ装置２で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【００５１】
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータ（ハードウエア）の一例を説明する。図８は、情報処理装置１、１ａ、１ｂおよびサーバ装置２のハードウエア構成を例示するブロック図である。
【００５２】
図８が示すように、情報処理装置１、１ａ、１ｂおよびサーバ装置２は、各種演算処理を実行するＣＰＵ１０１と、データ入力を受け付ける入力装置１０２と、モニタ１０３と、スピーカ１０４とを有する。また、情報処理装置１、１ａ、１ｂおよびサーバ装置２は、記憶媒体からプログラム等を読み取る媒体読取装置１０５と、各種装置と接続するためのインタフェース装置１０６と、有線または無線により外部機器と通信接続するための通信装置１０７とを有する。また、情報処理装置１、１ａ、１ｂおよびサーバ装置２は、各種情報を一時記憶するＲＡＭ１０８と、ハードディスク装置１０９とを有する。また、情報処理装置１、１ａ、１ｂおよびサーバ装置２内の各部（１０１〜１０９）は、バス１１０に接続される。
【００５３】
ハードディスク装置１０９には、ブラウザ実行部１０およびネイティブ機能部２０の各処理部と同様の機能を有するプログラムが記憶される。また、ハードディスク装置１０９には、プログラムを実現するための各種データが記憶される。入力装置１０２は、例えば情報処理装置１、１ａ、１ｂおよびサーバ装置２の操作者から操作情報の入力を受け付ける。モニタ１０３は、例えば操作者が操作する各種画面を表示する。インタフェース装置１０６は、例えば印刷装置等が接続される。通信装置１０７は、ＬＡＮ（Local  Area  Network）等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。ＣＰＵ１０１は、ハードディスク装置１０９に記憶された各プログラムを読み出して、ＲＡＭ１０８に展開して実行することで、各種の処理を行う。
【００５４】
なお、上記のプログラムは、必ずしもハードディスク装置１０９に記憶されている必要はない。例えば、情報処理装置１、１ａ、１ｂおよびサーバ装置２が読み取り可能な記憶媒体に記憶されたプログラムを、情報処理装置１、１ａ、１ｂおよびサーバ装置２が読み出して実行するようにしてもよい。情報処理装置１、１ａ、１ｂおよびサーバ装置２が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこのプログラムを記憶させておき、情報処理装置１、１ａ、１ｂおよびサーバ装置２がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００５５】
１、１ａ、１ｂ…情報処理装置
２…サーバ装置
１０…ブラウザ実行部
１１、１２…インラインフレーム
１３、１４…ウエブアプリ
２０…ネイティブ機能部
２１…Ｗｅｂｖｉｅｗ
２２…ローカルサーバ
２３…起動通知部
２４、２４ａ、２４ｂ…トークン管理部
２５…トークン保持部
２６…暗号化ファイル
Ｐ１、Ｐ２…プロセス
【図１】
2015197743.tif 000003
【図２】
2015197743.tif 000004
【図３】
2015197743.tif 000005
【図４】
2015197743.tif 000006
【図５】
2015197743.tif 000007
【図６】
2015197743.tif 000008
【図７】
2015197743.tif 000009
【図８】
2015197743.tif 000010