(57)【要約】【課題】デバイスＡＰＩを利用するときのセキュリティリスクを軽減しつつ、ユーザの利便性を保つ情報処理装置を提供する。【解決手段】デバイスＡＰＩを使用して装置固有の機能を呼び出すアプリケーションのプログラム要素、例えばＪａｖａＳｃｒｉｐｔファイルを取得したときに、ドメイン判定部２０２で、そのドメイン（存在場所）が予め定めた場所かどうかを判定する。予め定めた場所でない場合は、擬似操作部２０４で擬似操作させたり、擬似情報生成部２０５で生成した擬似情報をそのドメインに返すようにする。【選択図】図２
2016066239.tif 000002
【特許請求の範囲】
【請求項１】
ＡＰＩを使用して装置固有の機能を呼び出すアプリケーションのプログラム要素を取得する取得手段と、
取得した前記プログラム要素が予め定めた条件に適合するか否かを判定する判定手段と、
前記プログラム要素が前記条件に適合しない場合は適合する場合と異なる情報処理を実行する処理手段と、
を備えて成る、情報処理装置。
【請求項２】
前記ＡＰＩは、呼び出した前記装置固有の機能の実行結果を所定装置宛に返信するものである、
請求項１記載の情報処理装置。
【請求項３】
前記判定手段は、前記プログラム要素の存在場所が予め定めた場所であることを前記条件とする、
請求項１又は２記載の情報処理装置。
【請求項４】
前記判定手段は、前記プログラム要素が、予め定めたポリシーで許可されたものであることを前記条件とする、
請求項１又は２記載の情報処理装置。
【請求項５】
前記判定手段は、前記プログラム要素が、予め定めたポリシーで許可されたものであり、且つ、前記プログラム要素が、予め定めたポリシーで許可されたものであることを前記条件とする、
請求項１又は２記載の情報処理装置。
【請求項６】
前記判定手段は、前記条件に適合しないプログラム要素のコンテキストに擬似フラグを設定し、当該プログラム要素の実行内容を当該擬似フラグが存在しない場合と異ならせる、
請求項１ないし５のいずれか１項記載の情報処理装置。
【請求項７】
前記擬似フラグが設定されているプログラム要素の前記ＡＰＩの操作を疑似的な内容に変更する擬似操作手段を備える、
請求項６記載の情報処理装置。
【請求項８】
前記擬似操作手段に代えて、又は、前記擬似操作手段と共に、前記擬似フラグが設定されているプログラム要素の前記ＡＰＩにより所定装置宛に返す情報として、前記擬似フラグが設定されていない場合の前記プログラム要素のＡＰＩにより得られるべき本来情報と異なる擬似情報を生成する擬似情報生成手段を備える、
請求項７記載の情報処理装置。
【請求項９】
前記擬似操作手段又は前記擬似情報生成手段は、ユーザが任意に定めたパラメータに基づいて得られる設定情報によって擬似操作と擬似情報の内容を定める、
請求項８記載の情報処理装置。
【請求項１０】
前記処理手段は、前記ＡＰＩを前記擬似操作を行い又は前記擬似情報を返したときは、その旨をユーザへ通知する、
請求項８又は９記載の情報処理装置。
【請求項１１】
ＡＰＩを使用して装置固有の機能を呼び出すアプリケーションのプログラム要素を取得した際に、前記プログラム要素が予め定めた条件に適合するか否かを判定し、前記プログラム要素が前記条件に適合しない場合は、当該プログラム要素の前記ＡＰＩの操作を疑似的な内容に変更し、又は、前記プログラム要素のＡＰＩにより得られるべき本来情報と異なる擬似情報を所定装置宛に返す処理を実行する、
情報処理装置のセキュリティリスク軽減方法。
【請求項１２】
コンピュータを請求項１ないし１０のいずれか１項に記載された情報処理装置として動作させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂページを閲覧したりＷｅｂプログラムを実行するときの情報処理装置のセキュリティリスクを軽減する方法に関する。
【背景技術】
【０００２】
近年、ＨＴＭＬ（HyperText Markup Language）やＪａｖａＳｃｒｉｐｔ（登録商標）で構成されるコンテンツの利用が盛んである。このようなコンテンツは、ＷｅｂページとＷｅｂアプリケーションとに分類される。
Ｗｅｂページを表示する装置は、Ｗｅｂブラウザと呼ばれる。Ｗｅｂページの実体であるコンテンツ（プログラム要素群）は当該装置がアクセス可能なサーバ上に記録されており、その所在は、ＵＲＬ（Uniform Resource Locator）によって特定される。ユーザは、表示したいＷｅｂページのＵＲＬをＷｅｂブラウザに渡す。Ｗｅｂブラウザは、渡されたＵＲＬにより特定されるサーバにコンテンツを要求する。そして、取得したコンテンツに含まれるプログラム要素を実行してディスプレイ装置に表示する。
一方、Ｗｅｂアプリケーションは、コンテンツとして、ＣＳＳ（Cascading Style Sheets）ファイルや画像ファイル、ＸＭＬファイル等を含む。Ｗｅｂアプリケーションを表示する装置には様々なものがある。本明細書ではそれらを総称して「Ｗｅｂアプリケーション実行環境」と呼ぶ。ユーザは、実行したいＷｅｂアプリケーションを、例えばネット上のストアからダウンロードする。Ｗｅｂアプリケーション実行環境は、ダウンロードされたコンテンツを適宜呼び出して実行する。
【０００３】
ＨＴＭＬとＪａｖａＳｃｒｉｐｔとで構成されるコンテンツには、デバイス固有の機能をＪａｖａＳｃｒｉｐｔから呼びだす機能が用意されている。特許文献１には、その詳細内容が開示されている。デバイス固有の機能をＪａｖａＳｃｒｉｐｔから呼び出す仕組みは、Ｗ３Ｃ（World Wide Web Consortium）によって標準仕様が策定されている。この機能は、デバイスＡＰＩと呼ばれる。デバイスＡＰＩにも様々な種類のＡＰＩが存在する。例えば、個人情報を管理するＡＰＩ、デバイスの位置情報を取得するＡＰＩ、ネットワークを通じて外部と通信するＡＰＩなどがある。アプリケーションがデバイス固有の機能を利用できることは、アプリケーションが実現できる機能の幅を増やす。そのため、このようなアプリケーションは、携帯電話やタブレットＰＣなどで動作してユーザエクスペリエンスを向上させることが期待されている。
【０００４】
しかしながら、デバイスＡＰＩは、アプリケーションに対するセキュリティリスクを高めるものでもある。例えば、アプリケーションが個人情報にアクセスするＡＰＩとネットワークを通じて外部と通信するＡＰＩを利用する場合、ユーザの意図に関わらず、個人情報などの機密情報が外部に流出する恐れがある。
Ｗｅｂアプリケーション実行環境の多くは、アプリケーションが利用するデバイスＡＰＩによるセキュリティリスクをインストール前にユーザに通知する機能を有する。そのため、ユーザは事前にセキュリティリスクの存在を認識することができる。しかし、Ｗｅｂブラウザにはそのような機能はない。Ｗｅｂブラウザは、通常、ネットワーク上に存在するＪａｖａＳｃｒｉｐｔをそのまま実行するので、ユーザがデバイスＡＰＩの存在及びそれによるセキュリティリスクを把握することができないのである。そのため、ＵＲＬにアクセスした瞬間に、勝手にデバイス固有の機能が操作され、機密情報を抜き取られるという問題があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２３８２３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記問題は、デバイスＡＰＩを評価する度に、ユーザにセキュリティリスクを認識させることで、解決できる可能性がある。しかし、一つのＷｅｂページやＷｅｂアプリケーションの中に数多くのデバイスＡＰＩが存在する場合、ユーザの確認作業の度にＪａｖａＳｃｒｉｐｔの実行が中断する。また、ＷｅｂブラウザやＷｅｂアプリケーション実行環境によっては、デバイスＡＰＩの実行を一度拒否すると、それ以降の処理が一切進まなくなる。そのため、ユーザの利便性を損なうこととなる。
本発明は、デバイスＡＰＩのようなプログラム要素のＡＰＩを利用するときのセキュリティリスクを軽減しつつ、ユーザの利便性を保つ技術を提供することを主たる課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明は、ＡＰＩを使用して装置固有の機能を呼び出すアプリケーションのプログラム要素を取得する取得手段と、取得した前記プログラム要素が予め定めた条件に適合するか否かを判定する判定手段と、前記プログラム要素が前記条件に適合しない場合は適合する場合と異なる情報処理を実行する処理手段と、を備えて成る情報処理装置を提供する。
【発明の効果】
【０００８】
プログラム要素が予め定められた条件に適合するものでない場合は、ＡＰＩを使用しても正しい情報が装置外に流出することがないので、情報処理装置のセキュリティリスクを軽減することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る情報処理装置のハードウェア構成図。
【図２】第１実施形態の機能構成図。
【図３】第１実施形態における処理手順説明図。
【図４】（ａ）はＨＴＭＬファイル、（ｂ）はＪａｖａＳｃｒｉｐｔファイルの例示図。
【図５】（ａ）はユーザへの通知画面、（ｂ）はユーザへの問合わせ画面の例。
【図６】第２実施形態の機能構成図。
【図７】第２実施形態における処理手順説明図。
【図８】第３実施形態の機能構成図。
【図９】第３実施形態における処理手順説明図。
【図１０】第４実施形態における機能構成図
【図１１】第４実施形態におけるユーザ操作部の画面構成例。
【発明を実施するための形態】
【００１０】
［第１実施形態］
以下、本発明の第１実施形態について、図面を参照して説明する。第１実施形態では、ユーザがＷｅｂブラウザを備えた情報処理装置を通じてＷｅｂページを閲覧するときの情報処理装置のセキュリティリスク軽減方法について説明する。Ｗｅｂページは、ＡＰＩを使用して装置固有の機能を呼び出すアプリケーションのプログラム要素（群）で構成される。つまり、ＡＰＩは、呼び出した装置固有の機能の実行結果を所定装置宛に返信するものである。ここでは、プログラム要素（群）が、ＨＴＭＬ（ファイル）及びそれにより参照されるＪａｖａＳｃｒｉｐｔ（ファイル）であり、その実行対象に、上述したデバイスＡＰＩが含まれる場合の例を示す。
【００１１】
図１は、第１実施形態に係る情報処理装置のハードウエア構成図である。この情報処理装置１００は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、外部記憶装置１０４、表示部１０５をシステムバス１０６に接続して構成されるコンピュータである。
ＣＰＵ（Central Processing Unit）は、本発明のコンピュータプログラムを実行することにより情報処理装置１００全体を制御する。ＲＯＭ（Read Only Memory）１０２は、上記のコンピュータプログラムや変更しないパラメータなどを格納する。ＲＡＭ（Random Access Memory）１０３は、取得したプログラム要素やデータなどを一時記憶する。外部記憶装置１０４は、外部装置からダウンロードしたプログラム要素やデータなどを不揮発に記憶するストレージである。この外部記憶装置１０４は、ハードディスク、あるいは情報処理装置１００から着脱可能なメモリカードなどの外部メモリであっても良い。表示部１０５は例えばタッチパネル式のディスプレイであり、操作画面を表示するユーザ操作部を兼ねる。
なお、図示を省略したが、システムバス１０６には、マウスなどのポインティングデバイスやキーボードなどの入力デバイスとのインタフェースが接続されている。システムバス１０６には、また、インターネットなどのネットワーク回線に接続するためのネットワークインターフェイスが接続されている。
【００１２】
図２は、第１実施形態の情報処理装置の機能構成図である。また、図３は、図２のような機能構成を有する情報処理装置２００が実行する処理手順の説明図である。本実施形態では、ＣＰＵ１０１が制御プログラムを実行することにより、コンテンツロード部２０１を有する情報処理装置２００として動作する。コンテンツロード部２０１は、ＵＲＬからＷｅｂページが保存されている場所を特定し、その場所からＷｅｂページを構成するすべてのプログラム要素（ファイル）を取得する（Ｓ３０１）。本実施形態では、ＪａｖａＳｃｒｉｐｔファイルを取得する。
【００１３】
情報処理装置２００は、また、取得したＪａｖａＳｃｒｉｐｔファイルが所定の条件に適合するものか否かを判定する判定手段として動作する。所定の条件は、本実施形態では、ＪａｖａＳｃｒｉｐｔファイルの存在場所（ドメイン）が予め定めた場所であることとする。予め定めた場所は、ローカルドメイン、すなわち、自装置（外部記憶装置１０４）であるものとする。この条件（ローカルドメインの情報）は、ＲＡＭ１０３などに設定される。判定手段は、具体的には、ドメイン判定部２０２である。ドメイン判定部２０２は、まず、ＪａｖａＳｃｒｉｐｔファイルのドメインを特定する（Ｓ３０２）。このドメインの特定法の一例を、図４を参照して説明する。
図４（ａ）は、コンテンツロード部２０１で取得したプログラム要素に含まれるＨＴＭＬファイルの例を示す。図４（ｂ）は、そのＨＴＭＬファイルにおいて参照されるＪａｖａＳｃｒｉｐｔファイルの例を示す。
ドメイン判定部２０２は、ＨＴＭＬファイルに含まれるｓｃｒｉｐｔのｓｒｃ属性を取得する。Ｓｃｒｉｐｔのｓｒｃ属性は「http://www.hoge.com/fuga.js」である。このｓｒｃ属性から、ＨＴＭＬファイルは、「http://www.hoge.com」ドメインにある「fuga.js」という名前のＪａｖａＳｃｒｉｐｔファイルを参照していることがわかる。よって、特定されるドメインは「http://www.hoge.com」となる。
【００１４】
ドメイン判定部２０２は、このＪａｖａＳｃｒｉｐｔファイルのドメインがローカルドメイン上に存在するものか否かを判定する（Ｓ３０３）。ローカルドメイン上に存在する場合（Ｓ３０３：ＹＥＳ）、ドメイン判定部２０２は、条件に適合すると判定し、ＪａｖａＳｃｒｉｐｔコンテキストに、通常フラグを設定する（Ｓ３０４）。ＪａｖａＳｃｒｉｐｔコンテキストとは、プログラムの実行に必要な制御情報である。
一方、Ｓ３０３において、ＪａｖａＳｃｒｉｐｔファイルがローカルドメイン上に保存されていなかった場合（Ｓ３０３：ＮＯ）、ドメイン判定部２０２は、条件に適合しないと判定し、ＪａｖａＳｃｒｉｐｔコンテキストに擬似フラグを設定する（Ｓ３０５）。これにより、ＪａｖａＳｃｒｉｐｔの実行内容を通常フラグが設定されている場合と異ならせるようにする。
ドメイン判定部２０２は、ドメイン判定の結果を、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３に通知する。
【００１５】
ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、ＪａｖａＳｃｒｉｐｔファイルが条件に適合しない場合は、適合する場合と異なる情報処理を実行する処理手段として動作する。具体的には、ＪａｖａＳｃｒｉｐｔファイルからＪａｖａＳｃｒｉｐｔの記述を一行読み込む（Ｓ３０６）。読み込みに失敗した場合（Ｓ３０７：ＮＯ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、ＪａｖａＳｃｒｉｐｔファイルの終端に到達したものと判断し、処理を終える。
Ｓ３０７において読み込みに成功した場合（Ｓ３０７：ＹＥＳ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、Ｓ３０６にて読み込んだ命令がデバイスＡＰＩであるか否かを判定する（Ｓ３０８）。デバイスＡＰＩでなかった場合（Ｓ３０８：ＮＯ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、ＪａｖａＳｃｒｉｐｔファイルを評価し（Ｓ３１０）、Ｓ３０６の処理に戻る。
【００１６】
Ｓ３０８において、デバイスＡＰＩであった場合（Ｓ３０８：ＹＥＳ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、ＪａｖａＳｃｒｉｐｔコンテキストに擬似フラグが存在するか否かを判断する（Ｓ３０９）。擬似フラグが存在する場合（Ｓ３０９：ＹＥＳ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、デバイスＡＰＩによる操作を、擬似操作部２０４で行う擬似操作に置き換える。擬似操作は、デバイスＡＰＩによる本来の正しい操作と異なる操作である。つまり、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、デバイスＡＰＩによる操作を変更する。
あるいは、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３が、擬似情報生成部２０５に、デバイスＡＰＩの戻り値となる擬似情報を生成させる（Ｓ３１１）。擬似情報はデバイスＡＰＩにより生成される本来情報と異なる情報である。擬似情報は、擬似操作の結果として生成されるほか、擬似操作とは独立に生成することもできる。後者の場合、擬似情報は、カメラなどのデバイスの位置などを表すデバイス情報２０６、あるいは、仮想的なユーザ情報２０７に基づいて生成される。デバイス情報２０６及びユーザ情報は、外部記憶装置１０４などに予め保存されている。擬似情報は、ＪａｖａＳｃｒｉｐｔファイルのドメインへ返されるまで、ＲＡＭ１０３などに一時的に保存される。
【００１７】
擬似情報は、具体的には、以下のような情報である。
例えば、デバイスＡＰＩがデバイス情報２０６を取得する関数であった場合、以前訪れたことのある場所の緯度と経度を外部記憶装置１０４に幾つか保存しておき、その中から抽出した、実際の緯度と経度に対して誤差１ｋｍの範囲でランダムな値を擬似情報とする。
デバイスＡＰＩが図示しないカメラを利用して撮影する関数であった場合は、カメラを起動せず、予め外部記憶装置１０４に保存されていた写真の中からランダムな写真を取得し、これを擬似情報とする。あるいは、ランダムなピクセル情報を生成し、それを写真フォーマットに変換したものを擬似情報とする。あるいは、図示しないカメラを実際に起動して撮像し、その結果画像にガウシアンぼかしや色反転などの効果を加えたものを擬似情報とする。
【００１８】
ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、デバイスＡＰＩの結果として擬似情報を返した場合、あるいは、擬似操作をした場合は、その旨をユーザに通知する（Ｓ３１２）。この通知例を図５（ａ）に示す。図５（ａ）はＷｅｂページにアクセスした際のＷｅｂブラウザの表示結果を表している。すなわち、図５（ａ）左側のように擬似情報となる現在位置を表示した後、図５（ｂ）右側のようにこの情報が擬似情報であることをユーザに通知している。
【００１９】
図３に戻り、Ｓ３０９において擬似フラグがなかった場合（Ｓ３０９：ＮＯ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、デバイスＡＰＩの処理結果として、本来の正しい情報（本来情報）を返す。もしくは正しい操作をする（Ｓ３１３）。その後、Ｓ３０６の処理に戻る。
ＪａｖａＳｃｒｉｐｔファイルが複数あった場合は、Ｓ３０６〜Ｓ３１３をＪａｖａＳｃｒｉｐｔファイルの数だけ繰り返す。
【００２０】
＜変形例１＞
第１実施形態では、Ｓ３０４において通常フラグを設定する例について説明したが、この処理は省略することができる。
また、第１実施形態では、Ｓ３１２において、ユーザに擬似情報を返した旨等を通知した後、Ｓ３０６に戻る例について説明したが、さらに本来情報を返すかをユーザに問い合わせる構成であっても良い。この場合に表示部１０５に表示される画面例を図５（ｂ）に示す。図５（ｂ）の左側の画面は図５（ａ）の右側の画面と同じである。図５（ｂ）の右側の画面において、ユーザが「はい」を押下すると、情報処理装置１００は、Ｓ３０６に戻り、ＪａｖａＳｃｒｉｐｔを評価し直す。その後、図５（ｂ）において、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３が、デバイスＡＰＩを実行する際に、本来情報を返す。これにより、擬似情報を返したり、擬似操作を行うことが適切でない用途においても柔軟に対応することができる。
【００２１】
＜変形例２＞
本発明は、装置固有の機能を操作するだけのデバイスＡＰＩにも適用することができる。このようなデバイスＡＰＩの例として、カメラＡＰＩがある。カメラＡＰＩとは、カメラを起動して撮影するＡＰＩを指す。Ｓ３０１にてカメラＡＰＩを含んだＪａｖａＳｃｒｉｐｔファイルを情報処理装置２００が外部装置から受け取るものとする。このとき情報処理装置２００は、Ｓ３０８にてＪａｖａＳｃｒｉｐｔの記述がカメラＡＰＩと認識する。情報処理装置２００は、Ｓ３０９にてＪａｖａＳｃｒｉｐｔコンテキストに擬似フラグが設定されていると判定した場合、Ｓ３１１にて擬似操作部２０４に擬似操作だけを行わせる。
【００２２】
このときの擬似操作部２０４の動作は、以下のようになる。擬似操作部２０４は、カメラを起動せず、装置内部に保存されている画像を一枚選ぶ。そして、その結果をカメラＡＰＩの結果としてＪａｖａＳｃｒｉｐｔ実行エンジン２０３に伝達する。ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、その結果をＪａｖａＳｃｒｉｐｔファイルの存在場所へ返す。Ｓ３１１で選択される画像は、ユーザが予め決めた写真を選んでも良いし、ランダムに選んでも良い。カメラＡＰＩは、一般に、撮影の成功と失敗とを判別できるようになっている。例えば、カメラＡＰＩの呼び出し時に、成功コールバックと失敗コールバックとを登録する。カメラＡＰＩにコールバックを登録する場合、本実施形態では必ず成功コールバックを呼ぶ。他にもカメラＡＰＩの戻り値として、エラー情報を返す場合もある。カメラＡＰＩがエラー情報を返す場合、本実施形態では必ずエラー情報として成功フラグを返す。これはＪａｖａＳｃｒｉｐｔプログラムに対して、デバイスＡＰＩの結果が正しく行われたことを通知するためである。
【００２３】
このように、第１実施形態では、所定の条件への適合の有無、すなわち実行するＪａｖａＳｃｒｉｐｔファイルの実体が存在する場所（ドメイン）を判別し、その結果に応じて、デバイスＡＰＩの挙動を変更する。すなわち、ＪａｖａＳｃｒｉｐｔファイルが予め許可されたドメイン、例えば自装置に存在する場合は、ユーザが信頼しているドメインが提供するプログラム要素であることが判る。しかし、許可されたドメイン以外の場所に存在するＪａｖａＳｃｒｉｐｔファイルを実行する場合は、自動的に、デバイスＡＰＩによる操作を本来の操作とは異なる擬似的な内容（擬似操作）に変更する。また、デバイスＡＰＩの戻り値として、本来返す値とは異なる擬似情報を生成し、それを利用する。これにより、Ｗｅｂブラウザ上でデバイスＡＰＩを含むＷｅｂページを閲覧する際のセキュリティリスクを軽減することができる。
【００２４】
また、デバイスＡＰＩを擬似操作させた場合、あるいは、デバイスＡＰＩの戻り値として擬似情報を利用した場合、ユーザにその旨を通知する。そのため、デバイスＡＰＩの実行を拒否することなく、処理を進めることができる。さらに、デバイスＡＰＩを擬似操作した場合、あるいは、デバイスＡＰＩの戻り値に擬似情報を利用した場合において、ユーザが望む場合は、本来の操作を実行したり、本来返す値を返すことができる。そのため、ユーザの利便性を保つことができる。
【００２５】
［第２実施形態］
第１実施形態では、本発明をＷｅｂブラウザに適用する例を示したが、本発明は、Ｗｅｂアプリケーション実行環境にも適用できるものである。第２実施形態では、Ｗｅｂアプリケーション実行環境を備えた情報処理装置のセキュリティリスク軽減方法について説明する。第２実施形態では、上記の条件として、セキュリティポリシーを用いる。セキュリティポリシーは、ユーザが予め設定したものを利用することができる。但し、情報処理装置に予め保存されているセキュリティポリシーや、アプリケーションが設定したセキュリティポリシーを利用しても良い。
【００２６】
図６は第２実施形態の機能構成図である。便宜上、第１実施形態と同一の構成要素については同一符号を付してある。第１実施形態と異なるのは、ドメイン判定部２０２が存在しない点である。代わりに、表示部１０５に表示されるユーザ操作部２０９を通じて上記のセキュリティポリシー２１０がＲＡＭ１０３に設定され、情報処理装置２００が、ポリシー判定部２１１として動作する。また、図７は、第２実施形態の処理手順説明図である。
図７を参照すると、コンテンツロード部２０１は、Ｗｅｂページからプログラム要素であるＪａｖａＳｃｒｉｐｔファイルを取得する（Ｓ１００１）。ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、第１実施形態と同様、ＪａｖａＳｃｒｉｐｔファイルが条件に適合する場合は、適合しない場合と異なる情報処理を実行する。条件は、セキュリティポリシーで許可されていることである。具体的には、ＪａｖａＳｃｒｉｐｔファイルからＪａｖａＳｃｒｉｐｔの記述を一行読み込む（Ｓ１００２）。この読み込みに失敗した場合（Ｓ１００３：ＮＯ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、ＪａｖａＳｃｒｉｐｔファイルの終端に到達したものとして処理を終える。
【００２７】
Ｓ１００２において読み込みに成功した場合（Ｓ１００３：ＹＥＳ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、Ｓ３０６にて読み込んだ命令がデバイスＡＰＩであるか否かを判断する（Ｓ１００４）。Ｓ１００４において、デバイスＡＰＩでなかった場合（Ｓ１００４：ＮＯ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、ＪａｖａＳｃｒｉｐｔを評価して（Ｓ１００５）、Ｓ１００２の処理に戻る。
Ｓ１００４において、デバイスＡＰＩであった場合（Ｓ１００４：ＹＥＳ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、セキュリティポリシーを取得する（Ｓ１００６）。そして、実行しようとするデバイスＡＰＩがセキュリティポリシーで禁止されているか否かを判断する（Ｓ１００７）。禁止されている場合（Ｓ１００７：ＹＥＳ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、上記条件に適合しないと判定し、デバイスＡＰＩの処理結果として擬似情報を返す。もしくは擬似操作をする（Ｓ１００８）。擬似情報の生成方法は、第１実施形態で説明した手法を利用することができる。その後、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、システムがデバイスＡＰＩの結果として擬似情報を返した旨、もしくは擬似操作をした旨をユーザに通知する（Ｓ１００９）。通知方法は、第１実施形態で説明した手法を利用することができる。
【００２８】
Ｓ１００７において、セキュリティポリシーで禁止されていない場合（Ｓ１００７：ＮＯ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、上記条件に適合すると判定し、デバイスＡＰＩの処理結果として本来情報を返す。もしくは正しい操作をする（Ｓ１０１０）。その後、Ｓ１００２の処理に戻る。
以上の処理により、Ｗｅｂアプリケーションを実行する際に、セキュリティポリシーで禁止されないデバイスＡＰＩのみを正しく実行し、禁止されたデバイスＡＰＩについては、擬似情報を返し、あるいは擬似操作を行うことになる。
【００２９】
ＪａｖａＳｃｒｉｐｔファイルが複数あった場合は、Ｓ１００２〜Ｓ１０１０をＪａｖａＳｃｒｉｐｔファイルの数だけ繰り返す。Ｓ１００９にてユーザに擬似情報を返した旨を通知した後、さらにセキュリティポリシーを変更するか問い合わせても良い。ユーザがセキュリティポリシーを変更することを選択した場合は、Ｓ１００２の処理に戻り、ＪａｖａＳｃｒｉｐｔを評価し直すことになる。
【００３０】
このように、第２実施形態によれば、Ｗｅｂアプリケーション実行環境においても、セキュリティリスクを軽減することができる。また、第１実施形態と同様、ユーザの利便性を保つことができる。
【００３１】
［第３実施形態］
第３実施形態では、ユーザがＷｅｂアプリケーション実行環境を備えた情報処理装置１００において、Ｗｅｂアプリケーションとして実装されたＷｅｂブラウザ上でＷｅｂページを閲覧する例を説明する。第３実施形態における情報処理装置の機能構成は、図８に示す通りである。第２実施形態と同一構成要素については、同一符号を付してある。第２実施形態と異なるのは、情報処理装置２００が、第１実施形態で説明したドメイン判定部２０２として動作する点である。図９は、第３実施形態の処理手順説明図である。
【００３２】
図９を参照すると、Ｗｅｂページからプログラム要素であるＪａｖａＳｃｒｉｐｔファイルを取得する（Ｓ１２０１）。ドメイン判定部２０２は、ＪａｖａＳｃｒｉｐｔファイルのドメインを特定する（Ｓ１２０２）。そして、第１の条件として、ＪａｖａＳｃｒｉｐｔファイルがローカルドメイン上に存在するものか否かを判定する（Ｓ１２０３）。ＪａｖａＳｃｒｉｐｔファイルがローカルドメイン上に存在する場合、ドメイン判定部２０２は、第１の条件に適合すると判断する。そして、第１実施形態と同様、ＪａｖａＳｃｒｉｐｔコンテキストに通常フラグを設定する（Ｓ１２０４）。Ｓ１２０３において、ＪａｖａＳｃｒｉｐｔファイルがローカルドメイン上に保存されていなかった場合、ドメイン判定部２０２は、第１の条件に適合しないと判断する。そして、第１実施形態と同様、ＪａｖａＳｃｒｉｐｔコンテキストに擬似フラグを設定する（Ｓ１２０５）。ドメイン判定部２０２は、この判断結果を、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３へ通知する。
【００３３】
ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、ＪａｖａＳｃｒｉｐｔファイルからＪａｖａＳｃｒｉｐｔの記述を一行読み込む（Ｓ１２０６）。読み込みに失敗した場合（Ｓ１２０７：ＮＯ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、ＪａｖａＳｃｒｉｐｔファイルの終端に到達したものとして、処理を終える。
Ｓ１２０７において読み込みに成功した場合（Ｓ１２０７：ＹＥＳ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、Ｓ１２０６にて読み込んだ命令がデバイスＡＰＩであるか否かを判断する（Ｓ１２０８）。デバイスＡＰＩでなかった場合（Ｓ１２０８：ＮＯ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、ＪａｖａＳｃｒｉｐｔを評価し（Ｓ１２１０）、Ｓ１２０６の処理に戻る。Ｓ１２０８において、デバイスＡＰＩであった場合（Ｓ１２０８：ＹＥＳ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、第２の条件となるセキュリティポリシーを取得する（Ｓ１２０９）。そして、実行対象のデバイスＡＰＩが、Ｓ１２０９で取得したセキュリティポリシーで禁止されているか否かを判断する（Ｓ１２１１）。禁止されていた場合（Ｓ１２１１：ＹＥＳ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、第２の条件に適合しないと判断し、デバイスＡＰＩの処理結果として擬似情報を返す。もしくは擬似操作をする（Ｓ１２１２）。擬似情報及び擬似操作の内容は、第１実施形態で説明した通りである。
その後、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、デバイスＡＰＩの結果として擬似情報を返した旨、もしくは擬似操作をした旨をユーザに通知し（Ｓ１２１３）、Ｓ１２０６の処理に戻る。
【００３４】
Ｓ１２１１において、ＡＰＩが、セキュリティポリシーで禁止されていない場合（Ｓ１２１１：ＮＯ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、第２の条件に適合すると判断する。その後、ＪａｖａＳｃｒｉｐｔコンテキストに擬似フラグが存在するか否かを判別する（Ｓ１２１４）。擬似フラグが存在する場合（Ｓ１２１４：ＹＥＳ）、ＪａｖａＳｃｒｉｐｔ実行エンジン２０３は、デバイスＡＰＩの処理結果として擬似情報を返す。もしくは擬似操作をする（Ｓ１２１２）。Ｓ１２１４において、ＪａｖａＳｃｒｉｐｔコンテキストに擬似フラグが存在しない場合（１２１４：ＮＯ）、デバイスＡＰＩの処理結果として本来情報を返す。もしくは正しい操作をし（Ｓ１２１５）、Ｓ１２０６の処理に戻る。
【００３５】
このように、第３実施形態では、ＪａｖａＳｃｒｉｐｔファイルのドメインのほか、セキュリティポリシーについても、擬似情報を返す、又は、擬似操作を行う際の条件に加えている。そのため、第１及び第２実施形態の場合に比べて、セキュリティリスクをより軽減することができる。ユーザの利便性を維持できる点は、第１及び第２実施形態と同じである。
【００３６】
［第４実施形態］
第４実施形態では、ユーザが予めデバイスＡＰＩの処理結果として、利用したい結果を決めておき、ＪａｖａＳｃｒｉｐｔファイルの実行時にその結果を参照する例について説明する。
第４実施形態の機能構成図を図１０に示す。第３実施形態と同一構成要素については、同一符号を付してある。第３実施形態と異なるのは、擬似操作又は擬似情報を生成する際に、その内容を、ユーザ操作部２０９を通じてユーザが任意に定めたパラメータによって定めるようにしたものである。設定情報２０８は、そのような設定内容を表す情報である。第４実施形態の処理手順は、第１実施形態と同じとなる。
第４実施形態では、処理開始前に、ユーザ操作部２０９を通じて設定された設定情報２０８をＲＡＭ１０３の記憶領域内に保持しておく。設定情報２０８は、デバイスＡＰＩで返す個人情報（ユーザ情報２０７とは別にユーザが任意に定めた仮想プロフィールなど）、画像ファイル、あるいは、ユーザが擬似操作と明確に認識できる操作内容などである。
【００３７】
図１１は、ユーザ操作部２０９に表示される画面構成例である。図１１（ａ）左側は処理中の状態であり、右側は擬似情報を送信した旨の通知を、ユーザが設定した画像ファイル上に表示された例を示す。これにより、ユーザは、この画像ファイルを視認するだけで、デバイスＡＰＩの処理結果として擬似情報が返された事実を把握することができる。
図１１（ｂ）左側はデバイスＡＰＩ用のユーザ情報の設定画面であり、仮想プロフィールを選択すると、名前、性別、生年月日、学校、勤務先、居住地域、連絡先を任意に決めることができる。例えば居住地域を「東京都大田区下丸子」とした場合、Ｓ３１１ではシステムは位置情報を取得するデバイスＡＰＩの結果として「東京都大田区下丸子」が返される。これにより、万一、Ｗｅｂページを閲覧した際にこのようなプロフィールが表示されたときは、閲覧したＷｅｂページに原因があることを認識することができる。
【００３８】
［変形例］
上記各実施形態では、情報処理装置１００がコンピュータプログラムを実行することにより所要の機能を実現する例を説明したが、本発明の実施の形態は、このような例に限定されない。例えば、コンピュータプログラムの指示に基づき、情報処理装置１００上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって各実施形態の機能が実現される場合も含まれる。さらに、情報処理装置１００に挿入された機能拡張ボードや情報処理装置１００に接続された機能拡張ユニットと協働で処理を実行し、それによって各実施形態の機能が実現される場合も含まれる。また、上述の各実施形態の１以上の機能を実現するコンピュータプログラムを、ネットワーク又は記憶媒体を介して汎用のコンピュータに供給し、そのコンピュータにおける１つ以上のプロセッサがコンピュータプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。また、上記コンピュータプログラムなどを記録した記憶媒体もまた、本発明の実施の一態様である。このような記憶媒体としては、例えば、フレキシブルディスク、外部ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【図１】
2016066239.tif 000003
【図２】
2016066239.tif 000004
【図３】
2016066239.tif 000005
【図４】
2016066239.tif 000006
【図６】
2016066239.tif 000007
【図７】
2016066239.tif 000008
【図８】
2016066239.tif 000009
【図９】
2016066239.tif 000010
【図１１】
2016066239.tif 000011
【図５】
2016066239.tif 000012
【図１０】
2016066239.tif 000013