JP6768439B2 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP6768439B2
JP6768439B2 JP2016197548A JP2016197548A JP6768439B2 JP 6768439 B2 JP6768439 B2 JP 6768439B2 JP 2016197548 A JP2016197548 A JP 2016197548A JP 2016197548 A JP2016197548 A JP 2016197548A JP 6768439 B2 JP6768439 B2 JP 6768439B2
Authority
JP
Japan
Prior art keywords
application
component
listener
operating environment
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016197548A
Other languages
English (en)
Other versions
JP2018060373A (ja
Inventor
高橋 健太郎
健太郎 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2016197548A priority Critical patent/JP6768439B2/ja
Publication of JP2018060373A publication Critical patent/JP2018060373A/ja
Application granted granted Critical
Publication of JP6768439B2 publication Critical patent/JP6768439B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
従来、機器で動作するソフトウェアのセキュリティが重要となっている。しかし、セキュリティを厳しくすると利便性が損なわれるという側面がある。例えば、グラフィカルユーザインタフェースに関し、ソフトウェアでプログラムされたプルダウン部品は、ユーザの操作に応じて動作する。画面上に表示されているプルダウン部品が自身の領域外のタッチ操作に応じて閉じることで、操作性のよいプルダウン部品が実現できる。一方、ユーザの操作をすべてプルダウン部品が取得できるようにすると、セキュリティホールが生じうるという課題がある。
この課題に対し、特許文献1では、ユーザの操作を特定のモジュールだけが処理する仕組みが考案されている。特許文献1では、2つのOSが一つの機器上で動作する環境下において、画面上のタッチイベントを2つのOSのどちらか片方だけで処理する。このとき、タッチイベントの処理を別のOSに対して隠蔽することで、イベントを横取りして盗み見る動作を防いでいる。しかし、イベント処理を完全に隠蔽すると、正当な目的でイベントを取得したい場合に対応できない。
特開2014−135054号公報
本発明は上記の課題を鑑みてなされたものであり、システム上で動作するアプリケーションの権限を制限しつつ、そのアプリケーションの画面を構成するUI部品がシステムにて発生したイベントを取得して応答できるようにする。
上記課題を解決するために本願発明は以下の構成を有する。すなわち、アプリケーションが動作する動作環境を備える情報処理装置であって、画面を構成する部品に対し当該部品の領域外におけるユーザ操作によるイベントを通知するためのリスナを前記動作環境に登録できる権限を有する第1のアプリケーションと、前記権限を有しない第2のアプリケーションとが前記動作環境にて動作し、前記第2のアプリケーションは、前記第2のアプリケーションの画面を構成する部品が当該部品の領域外におけるユーザ操作によるイベントの通知を要する部品である場合に、前記第1のアプリケーションに対して前記リスナの登録を要求する要求手段を有し、前記第1のアプリケーションは、前記第2のアプリケーションからの要求に応じて、前記動作環境に前記リスナの登録の要求を行う登録手段を有する。
本発明によれば、権限を制限されたアプリケーションでもシステムの機能を利用するUI部品を利用でき、アプリケーションの利便性が向上する。
情報処理装置のハードウェア構成の一例を示す概略図。 情報処理装置上に構築するソフトウェア構成の一例を示す模式図。 本願発明に係るソフトウェアが備える機能の構成例を示す模式図。 アプリケーションの実行処理を示すフローチャート。 UI部品作成処理を示すフローチャート。 AWTイベントリスナ登録処理を示すフローチャート。 ユーザが画面をタッチした時の処理を示すフローチャート。 UI部品のプルダウンが開いた状態と閉じた状態を示す図。 権限リストの記述例を示す図。 第2の実施形態に係るUI部品リスナ登録手段の呼び出し処理のフローチャート。
以下、本発明を実施するための形態について図面を用いて説明する。
<第1の実施形態>
[システム構成]
(ハードウェア構成)
図1は、本願発明を適用可能な一般的な情報処理装置101のハードウェア構成の一例を示す図である。情報処理装置101は、ハードウェア構成として、CPU11、入力装置12、記憶装置13、表示装置14、及び外部接続IFを含み、各構成要素は、バス10を介して通信可能に接続される。
CPU11は、記憶装置13に記憶されている後述するアプリケーションやプログラム実行環境等の各々に対応するプログラムに基づき処理を行うことにより、後述する各機能、又はフローチャート等を実現する。入力装置12は、情報を入力するキーボードやマウスなどが該当する。記憶装置13は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスク装置等を含み、上述した各プログラム以外に、プログラムに基づく処理で用いられるデータ等を記憶する。表示装置14は、画面等を表示するディスプレイである。なお、入力装置12と表示装置14が一体となったタッチパネルディスプレイなどが用いられてもよい。外部接続IF15は、ネットワークインタフェースや外部機器との各種接続インタフェースである。
なお、CPU11は、プログラムを実行することで各種手段として機能することが可能である。また、CPU11と協調して動作するASIC(Application Specific Integrated Circuit)などの制御回路がこれらの手段として機能してもよい。また、CPU11と情報処理装置101の動作を制御する制御回路との協調によってこれらの手段が実現されてもよい。また、CPU11は単一のものである必要はなく、複数であってもよい。この場合、複数のCPU11は分散して処理を実行することが可能である。また、複数のCPU11は単一のコンピュータに配置されていてもよいし、物理的に異なる複数のコンピュータに配置されていてもよい。なお、CPU11がプログラムを実行することで実現する手段が専用の回路によって実現されてもよい。
(ソフトウェア構成)
図2は、情報処理装置101のソフトウェア構成の一例を示す図である。情報処理装置101において、オペレーティングシステム(OS)201、仮想マシン202、アプリケーションフレームワーク203、及び各種アプリケーション(システムアプリケーション204、アプリケーション205)が階層構造にて構成されている。OS201は、システム全体の基盤となるソフトウェアである。例えば、OS201の例としては、Linux(登録商標)などのOSが挙げられる。仮想マシン202は、OS201上のプロセスでありながら、自身の上でアプリケーションが動作する動作環境を提供するソフトウェアである。仮想マシン202の例としては、Java(登録商標)VM(Virtual Machine)などが挙げられる。アプリケーションフレームワーク203は、仮想マシン202上で動作するプログラムであり中間コードによって構成される。アプリケーションフレームワーク203は、各種アプリケーションのライフサイクルを管理する。
システムアプリケーション204とアプリケーション205は、アプリケーションフレームワーク203上で動作するアプリケーションである。システムアプリケーション204は、システムの権限で動作する。一方、アプリケーション205は、制限された権限で実行される。図3において、2つのアプリケーション205が示されているが、この構成に限定するものではなく、更に多くのアプリケーション205が動作可能であってよい。
次に、情報処理装置101のシステム上でアプリケーションの権限を管理する構成について説明する。図3は、図2にて示したソフトウェア構成において、権限に関する機能とイベントに関する機能を司る部位を示す図である。なお、各アプリケーションは図3に示す機能以外も備えており、これらに関しては、本願発明と直接関係ないため説明を省略する。
仮想マシン202は、イベント管理手段301、および権限管理手段302を備える。イベント管理手段301は、情報処理装置101への入力をイベントとして管理する。入力の具体例として、タッチパネル上でのユーザによるタッチ操作や、情報処理装置101が備えるハードキーの押下などがある。これらの入力は、タッチイベント、ハードキーイベントとしてイベント管理手段301で管理される。なお、イベントとして管理される入力は上記に限定するものではなく、例えば、入力装置12や外部接続IF15を介した各種ユーザ操作など他の操作であってよい。
権限管理手段302は、仮想マシン202上で動作するアプリケーションの権限を管理する。例えば、アプリケーションがタッチイベントを取得して処理するためにイベント管理手段301にリスナを登録する場合、権限管理手段302にて管理されている情報に基づいて、そのアプリケーションがリスナの登録権限を有しているか否かが確認される。リスナ(イベントリスナ)とは、イベントを監視し、何かしらのイベントが起きた際に対応付けられた処理を実行するように制御するオブジェクトである。ここでの処理とは、関数やメソッドなどが該当する。ここで、処理の実行の起因となるイベントを誰でも取得できると、暗証番号やパスワードを盗むキーロガーのような悪質なプログラムの動作も許してしまう。そのため、権限のないプログラム(アプリケーション)はイベント管理手段301へのリスナ登録をできないように制御される。つまり、仮想マシン202の権限管理手段302は、各アプリケーションの権限を管理し、リスナの登録の要求の際に、要求元のアプリケーションの権限を確認する。
アプリケーションフレームワーク203は、FW内権限管理手段303を備える。FW内権限管理手段303は、アプリケーションフレームワーク203上で動作するアプリケーションの権限を管理する。これにより、アプリケーションフレームワーク203独自のフォーマットでアプリ権限リスト307の書式を規定することや、独自の権限を追加することが容易になっている。実際の権限の管理は、仮想マシン202の標準機能として備わっている権限管理手段302を利用して行う。
システムアプリケーション204は、UI部品リスナ登録手段304、およびシステム権限リスト305を備える。UI部品リスナ登録手段304は、システムアプリケーション204の機能の一つであり、アプリケーション205が備えるUI部品ライブラリ306からのみ利用される。システム権限リスト305は、システムアプリケーション204が有する権限のリストである。本実施形態では、システムアプリケーション204は、後述するlistenToAllAWTEvents権限を有するものとする。この権限を有することで、システムアプリケーション204は、仮想マシン202上のイベントを取得するリスナを仮想マシン202に登録できる。
アプリケーション205は、UI部品ライブラリ306、およびアプリ権限リスト307を備える。UI部品ライブラリ306は、アプリケーション205が表示装置14等において画面を描画するときに用いるライブラリである。アプリケーション205の開発者は、予め各種UI部品が定義されたUI部品ライブラリ306を利用することで、詳細を知ることなく容易に部品を利用できる。アプリ権限リスト307は、アプリケーション205が有する権限のリストである。本実施形態では、システムアプリケーション204が有する権限と比較して、アプリケーション205が有する権限は制限されたものであるとし、アプリケーション205は、listenToAllAWTEvents権限を有しないものとする。従って、アプリケーション205は、例えば、UI部品の領域以外に対するユーザ操作のイベントを取得するリスナを仮想マシン202に直接登録できないように制限されている。
アプリケーション205のアプリ権限リスト307とシステムアプリケーション204のシステム権限リスト305の記載例を図9に示す。図9において、コード901では、環境変数user.homeとして設定されたディレクトリのファイルに対する読み込み(read)、書き込み(write)、実行(execute)、削除(delete)の権限が記載され、これらの動作が許可されている。また、コード902では、任意のソケットでの受付(accept)、接続(connect)、待受(listen)、名前解決(resolve)の権限が記載され、これらの動作が許可されている。
ここまで、情報処理装置101の構成について説明した。本実施形態において、仮想マシン202はJava仮想マシン(JavaVM)とし、アプリケーションフレームワーク203はOSGi(Open Services Gateway initiative;登録商標)として、以下説明を行う。
本実施形態では、UI部品ライブラリ306が備えるプルダウン部品を用いるアプリケーション205を対象として説明を行う。プルダウン部品の例を図8に示す。プルダウン部品は、画面を構成するUI部品であり、プルダウンボタン801とプルダウンメニュー802から構成される。プルダウンボタン801の領域内をタッチすると、プルダウンメニュー802が表示される。プルダウンメニュー802を表示した状態でプルダウンボタン801の領域内、あるいはプルダウンボタン801の外の領域をタッチすると、プルダウンボタン801は閉じた状態に戻る。
ここで、プルダウンメニュー802が閉じた状態に戻るためには、部品の中か外の領域をタッチしたイベントが発生したことをプルダウンボタン801が認識する必要がある。しかし、OS201と仮想マシン202の実装によっては、部品の外の領域がタッチされたイベントを容易に取得できない。例えば、Unix系OSで一般的なX−Window Systemに対応した実装では、部品が独立したウィンドウとして処理される。この場合、各部品には自身の領域内のイベントしか通知されない。その結果、各部品は、部品の領域外がタッチされたイベントが発生したことを認識することができない。
領域外のイベントを取得するためには、仮想マシン202のイベント管理手段301にリスナを登録する必要がある。リスナの登録処理はUI部品ライブラリ306が行うが、UI部品ライブラリ306の権限はアプリケーション205のものである。つまり、アプリ権限リスト307において、イベント管理手段301へリスナを登録する権限を記載する必要がある。ここでのリスナを登録する権限とは、Java(登録商標)が標準で定義されている権限であり、listenToAllAWTEventsとして知られている。以降、listenToAllAWTEvents権限を要するリスナ登録を、AWTイベントリスナの登録と記す。
一方、listenToAllAWTEvents権限をアプリケーション205に与えると、その権限により悪質な動作も可能になってしまう。そのため、アプリケーション205の権限を制限したまま、UI部品ライブラリ306がAWTイベントリスナを登録できる方法が必要となる。そこで、本実施形態では、仮想マシン202と同じシステムの権限で動作するシステムアプリケーション204とUI部品ライブラリ306を連携させる。ここでは、便宜上、システムアプリケーション204を「第1のアプリケーション」とも称し、アプリケーション205を「第2のアプリケーション」とも称する。
[処理フロー]
図4、図5を用いて、情報処理装置101の動作について説明する。図4は、アプリケーションの実行処理を示すフローチャートである。図5は、UI部品を作成する処理を示すフローチャートである。図6は、AWTイベントリスナの登録処理を示すフローチャートである。いずれの処理も、情報処理装置101のCPU11が記憶装置13等に格納されたプログラムを読み出して実行する事により実現される。
アプリケーション205を実行する処理の流れについて、図4を用いて説明する。アプリケーション205の実行が開始されると本処理フローが開始される。
S401にて、アプリケーションフレームワーク203は、FW内権限管理手段303を用いて、開始されたアプリケーション205のアプリ権限リスト307を取得する。
S402にて、アプリケーションフレームワーク203は、仮想マシン202の権限管理手段302にアプリケーション205の権限を登録する。
S403にて、アプリケーション205は、画面を表示するために、UI部品ライブラリ306によりUI部品を作成する。このとき、アプリケーション205は、UI部品ライブラリ306の機能を利用してUI部品を作成するだけであり、リスナ登録などの作成処理の詳細はアプリケーション205に対しては隠蔽される。本処理工程の詳細は、図5を用いて説明する。そして、本処理フローを終了する。
次に、図4のS403におけるUI部品の作成処理の詳細について、図5を用いて説明する。UI部品ライブラリ306が作成するUI部品としては、プルダウン部品、ラベル部品、ボタン部品、テキスト入力部品などがあるが、これらに限定するものではない。例えばラベル部品について、異なる見栄えのラベル部品が複数種類用意されている。どのUI部品を作成するかは、アプリケーション205の指示に従う。
S501にて、UI部品ライブラリ306は、指示されたUI部品のインスタンスを作成する。
S502にて、UI部品ライブラリ306は、作成したUI部品がイベントに反応する部品か否かを確認する。例えば、作成したUI部品がラベル部品であれば文字や画像を表示するだけであり、イベントに反応する必要はない。一方、ボタン部品であれば、自身がタッチされた際に選択されたことを示す描画に変化すると同時に紐付けられた処理を行うために、イベントに反応するUI部品である。イベントに反応するUI部品か否かの情報は予め定義され、その情報が保持されているものとする。イベントに反応するUI部品である場合は(S502にてYES)S503へ進み、イベントに反応しないUI部品である場合は(S502にてNO)本処理フローを終了する。
S503にて、UI部品ライブラリ306は、UI部品自身の領域内のイベントを知るためのリスナの登録を仮想マシン202に要求する。自身の領域内のイベントを取得するリスナの登録に、特別な権限は必要ない。したがって、ここでは、仮想マシン202は、UI部品ライブラリ306の要求に応じてリスナを登録することとなる。ここでのリスナの登録は、システムアプリケーション204のUI部品リスナ登録手段304を介して要求(呼び出し)してもよいし、仮想マシン202に直接要求(呼び出し)してもよい。
S504にて、UI部品ライブラリ306は、作成したUI部品が自身の領域外におけるイベントに反応するUI部品か否かを確認する。例えば、プルダウン部品であれば、自身の領域外のイベントに反応するUI部品となる。ここでの自身の領域外におけるイベントに反応するUI部品か否かは予め定義され、その情報が保持されているものとする。自身の領域外のイベントに反応するUI部品である場合は(S504にてYES)S505へ進み、自身の領域外のイベントに反応するUI部品でない場合は(S504にてNO)本処理フローを終了する。
S505にて、UI部品ライブラリ306は、AWTイベントリスナの登録処理を行う。本処理の詳細は、図6を用いて説明する。そして、本処理フローを終了する。
次に、図5のS505のAWTイベントリスナ登録処理の詳細について、図6を用いて説明する。
S601にて、UI部品ライブラリ306は、部品の領域外におけるイベントを取得できる所定の動作環境か否かを確認する。例えば、情報処理装置101が独自のウィンドウシステムを備える場合、または、Windows(登録商標)用の仮想マシン202の場合は、部品の領域外のイベントを取得できる動作環境(仕様)となる。一方、Unix系OSで一般的なX−Window Systemに対応した実装では、部品の領域外のイベントを取得できない動作環境となる。ここでの動作環境に関する情報は、予め保持されており、この情報に基づいて判断してよい。UI部品の領域外のイベントを取得できない場合(S601にてNO)S602へ進み、部品の領域外のイベントを取得できる環境である場合(S601にてYES)本処理フローを終了する。
S602にて、UI部品ライブラリ306は、システムアプリケーション204のUI部品リスナ登録手段304を呼び出し、UI部品の領域外のイベントを取得するためのリスナの登録を要求する。
S603にて、UI部品リスナ登録手段304は、アプリケーション205のUI部品ライブラリ306からの要求に応じて、仮想マシン202のリスナ登録機能を呼び出し、リスナの登録を要求する。この登録機能は、仮想マシン202が標準的に備えるAPI(Application Programming Interface)である。
S604にて、仮想マシン202は、登録を要求してきたアプリケーションがリスナ登録の権限を有しているか否かを確認する。上述したように、システムアプリケーション204のUI部品リスナ登録手段304は、システムアプリケーション204として動作しており、リスナ登録の権限を有する。
S605にて、仮想マシン202は、リスナの登録を要求したアプリケーションがその権限を有しているか否かを判定する。権限を有している場合は(S605にてYES)S606へ進み、権限を有していない場合は(S605にてNO)S607へ進む。
S606にて、仮想マシン202は、AWTイベントリスナをイベント管理手段301にて登録する。そして、本処理フローを終了する。
S607にて、仮想マシン202は、要求されたリスナの登録を行わずに例外処理を行う。そして、本処理フローを終了する。図6のようにUI部品ライブラリ306からUI部品リスナ登録手段304を経由してリスナの登録を要求する限り、S605で登録権限が無いと判定される場合は生じない。しかし、アプリケーション205がUI部品の領域外に関するイベントのリスナを登録するために仮想マシン202のリスナ登録機能を直接呼び出した場合などは、リスナ登録権限がないために登録せずに例外処理を行われる。
以下、情報処理装置101が備える入力装置12の1つであるタッチパネルをユーザがタッチしたときの処理について、図7を用いて説明する。本処理は、情報処理装置101のCPU11が記憶装置13等に格納されたプログラムを読み出して実行する事により実現される。
S701にて、情報処理装置101は、入力手段を介したユーザによる画面のタッチ操作を受け付ける。
タッチ操作により、OS201を経由して仮想マシン202に入力が通知され、S702にて、イベント管理手段301は、タッチイベントを生成する。
S703にて、仮想マシン202は、タッチイベントの座標が画面に表示中のUI部品の領域内か否かを確認する。UI部品の領域内であれば(S703にてYES)S704へ進み、UI部品の領域外であれば(S703にてNO)S705へ進む。なお、1の画面内に複数のUI部品が含まれている場合には、それぞれのUI部品についてタッチイベントの座標が領域内か否かを判定してよい。
S704にて、仮想マシン202は、タッチイベントが領域内で行われているUI部品のリスナにイベントを通知する。これに伴って、UI部品に対応付けられた処理が実行される。
S705にて、仮想マシン202は、AWTリスナにイベントを通知する。つまり、自身の領域外にてタッチイベントが発生したことが通知される。これに伴って、例えば、図8に示すようなプルダウン部品であれば、プルダウンメニュー802が閉じる動作が実行される。そして、本処理フローを終了する。
なお、上記では、プルダウン部品を例に挙げて説明したがこれに限定するものではなく、他のUI部品を対象としてもよい。また、ユーザ操作の例としてタッチ操作を例に挙げて説明したが、これに限定するものではなく、例えばキーボタンの押下やフリック操作など他のユーザ操作であってもよい。
以上、アプリケーション205の権限を制限したまま、UI部品ライブラリ306がAWTイベントリスナを登録できる方法について説明した。本実施形態により、アプリケーションの権限を制限して悪質な動作を防ぎつつ、アプリケーションの利便性を高めることが可能となる。
<第2の実施形態>
第1の実施形態では、AWTリスナを登録する際に、アプリケーション205のUI部品ライブラリ306からシステムアプリケーション204のUI部品リスナ登録手段304を呼び出す仕組みについて説明した。このとき、システムアプリケーション204が備えるUI部品リスナ登録手段304の存在をアプリケーション205の開発者は知ることがない前提であった。つまり、UI部品リスナ登録手段304は、非公開の構成としていた。しかし、もし悪意のある開発者にUI部品リスナ登録手段304の存在を知られてしまうと、攻撃用のプログラムからUI部品リスナ登録手段304を利用されてしまう危険がある。
そこで、本実施形態では、UI部品リスナ登録手段304の内部で呼び出し元を確認し、UI部品ライブラリ306からの呼び出し以外を拒否する方法について説明する。つまり、UI部品リスナ登録手段304は、AWTイベントリスナの登録の要求元がUI部品ライブラリであれば、リスナ登録を仮想マシン202に対して要求する。
図10は、システムアプリケーション204のUI部品リスナ登録手段304が呼び出し元を確認する処理のフローチャートである。ここでは、第1の実施形態にて説明した図6のS602にてUI部品リスナ登録手段304が呼び出された際に実行される場合を例に挙げて説明する。
アプリケーション205のUI部品ライブラリ306から呼び出されると、S1001にて、UI部品リスナ登録手段304は、その時点のスタックを取得する。ここでのスタックとは、関数の呼び出しをフレームとして積んだものである。スタックを上から走査することで、どのような関数を経由してUI部品リスナ登録手段304が呼び出されたのかを確認することができる。
S1002にて、UI部品リスナ登録手段304は、現時点においてスタックの1つ下に積まれたフレームを取得する。UI部品リスナ登録手段304が正当に呼び出された場合、1つ下のフレームはUI部品ライブラリ306の特定の関数となる。特定の関数とは、例えばプルダウン部品の作成関数である。ここでは、第1の実施形態と同様、プルダウン部品を例に挙げて説明するが、これ以外のUI部品であれば、そのUI部品の作成関数となる。ここでのUI部品ライブラリ306の特定の関数は、予め定義され、その情報が管理されているものとする。
S1003にて、UI部品リスナ登録手段304は、取得したフレームがUI部品ライブラリ306か否かを確認する。フレームがUI部品ライブラリ306である場合(S1003にてYES)図6のS603へ進み、フレームがUI部品ライブラリ306でない場合(S1003にてNO)S1004へ進む。S603以降の処理については、第1の実施形態にて述べた処理と同様であるため、説明を省略する。
S1004にて、UI部品リスナ登録手段304は、登録処理を行わずに例外処理を行う。そして、本処理フローを終了する。この場合、図6のS603以降の処理は省略される。
なお、本実施形態では、図6のS602にてUI部品リスナ登録手段304が呼び出された場合を例に挙げて説明したが、他の経路(UI部品ライブラリ306以外)にて呼び出された場合にも本処理が行われることとなる。このとき、他の経路(UI部品ライブラリ306以外)からUI部品リスナ登録手段304が呼び出されている場合には、リスナは登録されず例外処理が行われる。
本実施形態により、第1の実施形態の効果に加え、よりセキュリティを向上させることが可能となる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
202…仮想マシン、203…アプリケーションフレームワーク、204…システムアプリケーション、301…イベント管理手段、302…権限管理手段、303…FW内権限管理手段、304…UI部品リスナ登録手段、306…UI部品ライブラリ

Claims (8)

  1. アプリケーションが動作する動作環境を備える情報処理装置であって、
    画面を構成する部品に対し当該部品の領域外におけるユーザ操作によるイベントを通知するためのリスナを前記動作環境に登録できる権限を有する第1のアプリケーションと、
    前記権限を有しない第2のアプリケーションと、
    が前記動作環境にて動作し、
    前記第2のアプリケーションは、前記第2のアプリケーションの画面を構成する部品が当該部品の領域外におけるユーザ操作によるイベントの通知を要する部品である場合に、前記第1のアプリケーションに対して前記リスナの登録を要求する要求手段を有し、
    前記第1のアプリケーションは、前記第2のアプリケーションからの要求に応じて、前記動作環境に前記リスナの登録の要求を行う登録手段を有する
    ことを特徴とする情報処理装置。
  2. 前記動作環境は、
    アプリケーションの権限に関する情報を管理する管理手段と、
    前記リスナの登録の要求を受け付けた際に、前記管理手段にて管理している情報に基づいて、当該要求の要求元が前記リスナの登録の権限を有しているか否かを判定し、当該判定の結果により前記リスナを登録する否かを制御する制御手段と
    を有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第2のアプリケーションは、前記動作環境が、画面を構成する部品に対し当該部品の領域外におけるユーザ操作によるイベントの通知を行う仕様である所定の動作環境であるか否かを判定する手段を更に有し、
    前記要求手段は、前記動作環境が前記所定の動作環境でないと判定された場合に、前記第1のアプリケーションに対して前記リスナの登録を要求することを特徴とする請求項1に記載の情報処理装置。
  4. 前記第1のアプリケーションは、前記リスナの登録の要求を受け付けた際に、当該要求の要求元を確認する確認手段を更に有し、
    前記要求手段は、前記確認手段にて前記要求元が前記第2のアプリケーションの前記要求手段であると確認された際に、前記動作環境に前記リスナの登録の要求を行うことを特徴とする請求項1乃至3のいずれか一項に記載の情報処理装置。
  5. 領域外におけるユーザ操作によるイベントの通知を要する部品は、プルダウン部品であることを特徴とする請求項1乃至4のいずれか一項に記載の情報処理装置。
  6. 前記動作環境は、Java仮想マシンによる動作環境であり、
    前記リスナは、AWTイベントリスナであることを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。
  7. アプリケーションが動作する動作環境を備える情報処理装置の制御方法であって、
    画面を構成する部品に対し当該部品の領域外におけるユーザ操作によるイベントを通知するためのリスナを前記動作環境に登録できる権限を有する第1のアプリケーションと、
    前記権限を有しない第2のアプリケーションと、
    が前記動作環境にて動作し、
    前記第2のアプリケーションにおいて、前記第2のアプリケーションの画面を構成する部品が当該部品の領域外におけるユーザ操作によるイベントの通知を要する部品である場合に、前記第1のアプリケーションに対して前記リスナの登録を要求する要求工程を有し、
    前記第1のアプリケーションにおいて、前記第2のアプリケーションからの要求に応じて、前記動作環境に前記リスナの登録の要求を行う登録工程を有する
    ことを特徴とする情報処理装置の制御方法。
  8. アプリケーションが動作する動作環境を備えるコンピュータに、
    画面を構成する部品に対し当該部品の領域外におけるユーザ操作によるイベントを通知するためのリスナを前記動作環境に登録できる権限を有する第1のアプリケーションと、
    前記権限を有しない第2のアプリケーションと、
    を前記動作環境にて動作させ、
    前記第2のアプリケーションにおいて、前記第2のアプリケーションの画面を構成する部品が当該部品の領域外におけるユーザ操作によるイベントの通知を要する部品である場合に、前記第1のアプリケーションに対して前記リスナの登録を要求する要求手段として機能させ、
    前記第1のアプリケーションにおいて、前記第2のアプリケーションからの要求に応じて、前記動作環境に前記リスナの登録の要求を行う登録手段として機能させる
    ことを特徴とするプログラム。
JP2016197548A 2016-10-05 2016-10-05 情報処理装置、情報処理方法、及びプログラム Active JP6768439B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016197548A JP6768439B2 (ja) 2016-10-05 2016-10-05 情報処理装置、情報処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016197548A JP6768439B2 (ja) 2016-10-05 2016-10-05 情報処理装置、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2018060373A JP2018060373A (ja) 2018-04-12
JP6768439B2 true JP6768439B2 (ja) 2020-10-14

Family

ID=61908572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016197548A Active JP6768439B2 (ja) 2016-10-05 2016-10-05 情報処理装置、情報処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6768439B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111736785B (zh) * 2020-05-29 2023-12-22 阿波罗智联(北京)科技有限公司 投屏播放的控制方法、装置、设备和计算机存储介质

Also Published As

Publication number Publication date
JP2018060373A (ja) 2018-04-12

Similar Documents

Publication Publication Date Title
US11281360B2 (en) Display management for native user experiences
US9092627B2 (en) Apparatus and method for providing security information in virtual environment
EP3376425B1 (en) User interface switching method and terminal
JP5865496B2 (ja) 個人用携帯機器上で仕事環境にアクセスするためのロックスクリーン
TWI575919B (zh) 授權網站之推播通知
TWI665623B (zh) 授權登錄方法及裝置
JP4782042B2 (ja) 電子計算機及びソフトウェアによるユーザインタフェースの実現方法
KR20100018387A (ko) 다수개의 운영 시스템을 지원하는 장치 및 방법
US20130205385A1 (en) Providing intent-based access to user-owned resources
US11645351B2 (en) Systems and methods for rendering weblinks inside a remote application using an embedded browser
JP2013145572A (ja) イベント管理用のシステムおよび方法
WO2016177000A1 (zh) 进入操作系统桌面的方法和移动智能终端
US9104837B1 (en) Exposing subset of host file systems to restricted virtual machines based on upon performing user-initiated actions against host files
JP2011191952A (ja) 電子機器、利用制限方法、及び利用制限プログラム
US8881268B2 (en) Secure area for apps
KR20210068444A (ko) 컴퓨터 시스템에서 비승인 드라이버의 설치를 제어하는 기법
JP6768439B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US10592265B2 (en) Application execution apparatus equipped with virtual machine controlling installed application, control method therefor, and storage medium storing control program therefor
JP7277423B2 (ja) アプリケーション実行装置及びその制御方法、並びにプログラム
JP5066112B2 (ja) 情報処理装置
JP2008250382A (ja) コンピュータプログラム、情報処理装置および情報処理方法
JP3925390B2 (ja) 直接操作型コンピュータ及びそれに用いるアクセス権限管理方法並びにそのプログラム
JP6056894B2 (ja) 電子機器、利用制限方法、及び利用制限プログラム
BR112018010716B1 (pt) Método de comutação de interface de usuário, terminal, mídia não transitória legível por computador, e produto de programa de computador

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190926

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200728

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200923

R151 Written notification of patent or utility model registration

Ref document number: 6768439

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151