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

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

Info

Publication number
JP5631940B2
JP5631940B2 JP2012163021A JP2012163021A JP5631940B2 JP 5631940 B2 JP5631940 B2 JP 5631940B2 JP 2012163021 A JP2012163021 A JP 2012163021A JP 2012163021 A JP2012163021 A JP 2012163021A JP 5631940 B2 JP5631940 B2 JP 5631940B2
Authority
JP
Japan
Prior art keywords
unit
event
determination
determination unit
application
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.)
Expired - Fee Related
Application number
JP2012163021A
Other languages
English (en)
Other versions
JP2014023120A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012163021A priority Critical patent/JP5631940B2/ja
Priority to US13/946,366 priority patent/US9344406B2/en
Publication of JP2014023120A publication Critical patent/JP2014023120A/ja
Application granted granted Critical
Publication of JP5631940B2 publication Critical patent/JP5631940B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Description

本発明は、情報処理装置、方法、プログラムに関する。
近年、PCの分野では、管理者権限(Administrator権限)と一般ユーザー権限をパスワードによって分離し、端末の一般利用者には一般ユーザー権限のパスワードを設定する事で利用者権限のみを付与する。そしてセキュリティ管理者は端末を管理する専用ソフトウェアをインストールして、専用ソフトウェアに外部ストレージデバイスの接続を禁止したりBluetooth(登録商標)機器の接続を禁止したりする設定を施し、一般ユーザー権限ではそれらの設定が解除できないようにして対策する事が一般的である。
米国特許出願公開第2010/0037088号明細書
しかしながら、情報端末上で採用されているシステムでは、もともと個人利用を目的として開発された経緯もあり、パスワードによる権限の分離機構が存在しない。このため、セキュリティ管理者が端末を管理する専用ソフトウェアをインストールして端末に各種設定を施したとしても、一般利用者はその設定を解除する事ができてしまう。かつ、上述したように、端末を管理する専用ソフトウェア(端末管理アプリケーション)を別の組織において製作して流通しようとした場合、アプリケーションとイベント発生元のオペレーティングシステム間、およびアプリケーション間のデータの通信のプロトコルが解析され、不正な端末管理アプリケーションがイベント発生に対する実行を許可するかあるいは禁止するかの判定結果をイベント発生元に不正に改変して応答する事で、セキュリティ管理者の意図した設定と異なる挙動に改変されてしまうリスクがある。
上述した課題を解決し、目的を達成するために、本発明の実施形態の情報処理装置は、イベント処理部と、第1判定部とを備える。イベント処理部は、イベントを検出してイベントの実行を保留するイベント検出部と、検出した前記イベントの実行を許可するかあるいは禁止するかの判定処理を行う第1判定部に対応する第1のアプリケーションの第1識別情報を記憶するルール記憶部と、前記第1判定部から前記イベントの実行を許可するかあるいは禁止するかの判定処理の権限の付与を求める登録依頼を受信すると、前記ルール記憶部に登録された第1識別情報と前記第1判定部の識別情報とが一致するか否かを判定し、一致する場合に前記第1判定部を登録する第1判定部登録部と、検出した前記イベントを登録された前記第1判定部へと送信する通信部と、を備える。
また、第1判定部は、前記第1判定部の起動時に、前記イベント処理部に対して、前記登録依頼を送信する要求部と、前記第1判定部とは異なり、前記イベントの実行を許可するかあるいは禁止するかの判定処理を行う第2判定部に対応する第2のアプリケーションに付与された署名が正しいものか否かの検証に用いる第2識別情報、及び公開鍵を含む署名管理部と、前記第2のアプリケーションからの登録要求を受信し、前記署名管理部に含まれる前記第2識別情報と前記公開鍵とを用いて前記登録要求を受信した第2のアプリケーションの署名を検証する署名検証部と、署名の検証が成功した場合にのみ前記第2のアプリケーションを第2判定部として登録する第2判定部登録部と、前記イベント処理部から前記イベントの実行を許可するかあるいは禁止するかの判定処理の要求を受信するとともに、前記イベント処理部に対して前記判定処理の結果を送信する第1通信部と、前記第2判定部登録部に登録された前記第2判定部へと受信した前記イベントを転送するとともに、前記第2判定部から前記判定処理の結果を受信する第2通信部と、を備える。そして、前記イベント検出部は、受信した前記判定結果が実行許可の場合に、前記イベントの保留を解除してイベントを実行する。
本発明の実施形態の情報処理装置は、複数のモジュール間において処理を分担する場合の、セキュリティを向上させることのできるという効果を奏する。
第1の実施形態の情報処理装置の機能構成を示すブロック図。 第1の実施形態のアプリケーションパッケージのファイル構成を示すブロック図。 第1の実施形態の判定用アプリケーションの別例を示すブロック図。 第1の実施形態のイベントの実行を許可するかあるいは禁止するかの判定にかかる処理の流れを示すシーケンス図。 第1の実施形態の判定のアプリケーションのインストールにかかるイベントの実行を許可するかあるいは禁止するかの判定にかかる処理の流れを示すフロー図。 第2の実施形態の第2判定部の機能構成を示すブロック図。 第2の実施形態の第1判定部の機能構成を示すブロック図。 第2の実施形態のイベントの登録処理の流れを示すシーケンス図。 第3の実施形態のインストーラ部の機能構成を示すブロック図。 第3の実施形態のアプリケーションのインストールにかかるイベントの実行を許可するかあるいは禁止するかの判定にかかる処理の流れを示すフロー図。 第4の実施形態のイベント処理部の機能構成を示すブロック図。 第4の実施形態のイベントの実行を許可するかあるいは禁止するかの判定にかかる処理の流れを示すシーケンス図。 第4の実施形態のイベントの実行を許可するかあるいは禁止するかの判定にかかる処理の流れを示すシーケンス図。 第4の実施形態のイベントの実行を許可するかあるいは禁止するかの判定にかかる処理の流れを示すシーケンス図。 第4の実施形態のイベント処理部の機能構成を示すブロック図。 第4の実施形態のイベントの実行を許可するかあるいは禁止するかの判定にかかる処理の流れを示すシーケンス図。 第5の実施形態のイベント処理部の機能構成を示すブロック図。 第5の実施形態のイベントの実行を許可するかあるいは禁止するかの判定にかかる処理の流れを示すシーケンス図。
以下に、本発明の実施形態にかかる情報処理装置を具体化した実施形態を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。本実施形態は、イベントの実行を許可するかあるいは禁止するかを判定するアプリケーションと、イベントの実行を行うアプリケーションとを分離する。これにより、詳細な判定のための制御を行うことができ、判定のためのルールを変更するにもメンテナンス性を高めることができる。
(第1の実施形態)
図1は、本発明の第1の実施形態の情報処理装置の機能構成を示したブロック図である。図1に示されるように、情報処理装置1は、イベント処理部10、第1判定部100、第2判定部200、インストーラ部300、一般アプリ部900、アプリケーション記憶部400、及びアプリケーション情報記憶部500を備えている。アプリケーション記憶部400は、アプリサーバ700からダウンロードされたインストール用のアプリケーションのパッケージが記憶される記憶領域であり、例えばHDDなどにより構成されている。アプリケーション情報記憶部500は、インストールされたアプリケーションに関連したアイコンとして使用されるサムネイル画像ファイルなどの情報が記憶されるデータベースであり、例えばHDDなどにより構成されている。第1判定部100、第2判定部200、一般アプリ部900は、アプリケーションプログラムである。たとえばAndroidアプリケーションプログラムであってもよい。第1判定部100はあらかじめ情報処理装置1にプリイントールされており、第2判定部200と一般アプリ部900は図2に示すようなアプリケーションパッケージとしてアプリサーバ700から配布され、アプリケーション記憶部400に記憶される。なお、第1判定部100もアプリケーションパッケージ形式で配布してもよい。アプリケーションは複数のファイルが一つのファイルに圧縮された圧縮形式のアプリケーションパッケージとしてアプリサーバから配布され、そのままアプリケーション記憶部400に格納される。
アプリケーションパッケージには、例えば、プログラムの実行コードや、アプリ名、バージョン番号、設定情報、証明書、その他、サムネイル用の画像ファイルなどのリソースファイルなどが含まれている。なお証明書には署名情報と、その署名を検証するための公開鍵が含まれる。その後、インストーラ部300によって、インストール時にアプリケーションパッケージに含まれる情報が各ファイルに分離され、アプリケーションパッケージに含まれる設定情報の指示に従って、実行コードなどがアプリケーション記憶部400の所定の位置に格納される。また、インストール対象のアプリケーションに対応するサムネイル画像インストーラ部300は、あらかじめ情報処理装置1にプリイントールされている。インストーラ部300は、たとえばAndroidアプリケーションプログラムであってもよいし、ネイティブプログラムであってもよいし、その両方から構成されていてもよい。
イベント処理部10は、システムコールなどによるオペレーティングシステムの機能の呼び出しや、デバイスの接続処理、アプリケーションのインストール、メモリの割当て、プロセスの管理などを行うオペレーティングシステム・ミドルウェアの基幹部分である。イベント処理部10は、インストール処理部11、イベント検出部12、通信部13、通知部15、ルール記憶部16、及び第1判定部登録部14を備えている。インストール処理部11は、インストーラ部300のアプリ登録部301によって受け付けられたアプリケーションインストールの通知を受付け、アプリケーションをインストールする処理を実行する。より具体的には、アプリケーション記憶部400に格納されたアプリケーションパッケージファイルに含まれる実行プログラムや設定ファイルなどを所定の位置に展開して格納する処理を実行する。インストール処理部11は、インストール時には、第1判定部100、及び第2判定部200によるインストール許可の通知を得てからインストールを実行するため、まずはインストールの要求があった旨をイベント検出部12に通知する。
イベント検出部12は、インストール処理部11からの通知や、そのほかのシステムコールなどによるイベントを検出する。検出したイベントは、イベント発生元に対してイベントの実行を保留させ、通信部13へと通知する。なお、すべてのシステムコールを通信部13に通知する訳ではなく、第1判定部100及び第2判定部200によってイベントの実行を許可するかあるいは禁止するかを問い合わせる必要のあるイベントのみ通信部13へと通知するイベントフィルター処理を実行してもよい。通信部13に通知するイベントか否かはルール記憶部16にあらかじめ登録されているものとする。通信部13は、第1判定部登録部14に登録されている第1判定部100を指定して、イベントの実行を許可するかあるいは禁止するかを問い合わせる。なお第1判定部100と、イベント処理部10との間の通信は、例えばシグナルシステムコールなどを用いて実施される。通信部13は、第1判定部100からイベントの実行を許可するかあるいは禁止するかの判定結果を受信し、通知部15にその判定結果を通知する。通知部15は、通信部13から判定結果を受信し、イベントの種類に応じて判定結果をイベント発生元に通知する。
たとえば、イベント発生元がインストール処理部11の場合、第1判定部100からインストール許可又は禁止という判定結果をインストール処理部11に通知する。イベントが後述する外部ストレージの接続であった場合、ストレージへの接続許可又は禁止という判定結果をストレージ接続管理部(不図示)に通知する。
ルール記憶部16は、通信部13に通知するイベントの種類と、第1判定部100が所定のアプリケーションである事を第1判定部登録部14が判定するためのアプリケーションの識別情報(特許請求の範囲の第1識別情報に対応)を記憶する。ここでいうアプリケーションの識別情報にはアプリケーション名が含まれる。以下の説明ではアプリケーションの識別情報をアプリケーション名(アプリ名)として説明するが、アプリケーション名(アプリ名)をアプリケーションの識別情報として読み替えることができ、アプリケーションを識別する情報であれば、アプリケーション名(アプリ名)に限定するものではない。また、ルール記憶部16は、イベントの実行を許可するかあるいは禁止するかの問い合わせが通信部13によって第1判定部100に通知されなかった場合、または第1判定部100からイベントの実行を許可するかあるいは禁止するかの判定結果が返ってこずにタイムアウトした場合に、そのイベントの実行を許可するかあるいは禁止するかの判定結果を記憶する。
第1判定部100は、起動時にイベント処理部10に対して、第1判定部100のプロセスの登録を要求し、第1判定部登録部14は、ルール記憶部16に登録されているアプリ名と一致するか判定処理を行う。一致した場合のみ、通知部13は、イベント検出部12で検出したイベントを第1判定部100に問い合わせる。一致しなければ、仮にイベント検出部でイベントを検出したとしても通信部は第1判定部にイベントの実行を許可するかあるいは禁止するかの問い合わせを送信しない。一致した場合、第1判定部100のアプリ名や、プロセス名を第1判定部登録部14に登録する。通信部13は、第1判定部登録部14によって登録されたアプリ名などで特定される第1判定部100に対して、イベントの実行を許可するかあるいは禁止するかの問い合わせを行う。したがって、第1判定部登録部14により第1判定部100が登録されていない場合はイベントの実行を許可するかあるいは禁止するかの判定の問い合わせは行われず、通知部15は例えば予めルール記憶部16に設定されたデフォルトの動作ルールに従って、イベントを処理する。また、通信部13が第1判定部100に問い合わせを送信したものの、判定結果が返信されないまま所定の時間以上が経過してタイムアウトした場合にも通知部15はルール記憶部16に設定されたデフォルトの動作ルールに従って、イベントを処理する。
第1判定部100は、イベント処理部10から問い合わせのあったイベント種別を判定する。イベントの種別を判定して、イベント種別が第2判定部200のインストールであるか否かを判定する。第2判定部200のインストールである場合は、第1判定部100は、自ら第2判定部200のインストールの実行を許可するかあるいは禁止するかについて判定する。一方、第2判定部200のインストール以外のイベントである場合は、イベントの実行を許可するかあるいは禁止するかの判定は第2判定部200で実施すべく、第1判定部100は、イベントの情報を第2判定部200へと転送する。なお、第1判定部100と第2判定部200との間における通信には、例えばプロセス間通信を利用したメッセージ交換を用いる。情報処理装置1がAndroidの場合はインテントやサービスの仕組みを使ってメッセージ交換を行ってもよい。
第1判定部100は、第1通信部101、第2通信部110、種別判定部102、種別管理部103、実行判定部104、第2判定部登録部105、署名検証部106、アプリ取得部107、署名管理部108、及び要求部109を備えている。第1通信部101は、イベント処理部10との間でデータの送受信を行う。第2通信部110は、第2判定部200との間でデータの送受信を行う。例えば、第1通信部101は、イベント処理部10から受信したイベントの実行を許可するかあるいは禁止するかの問い合わせを受信したり、イベントに対してその実行を許可するかあるいは禁止するかの情報をイベント処理部10へと送信したりする。第2通信部110は、イベントの実行を許可するかあるいは禁止するかの問い合わせを第2判定部200に送信したり、第2判定部200で判定されたイベントの実行を許可するかあるいは禁止するかを判定した結果の情報を受信したりする。
種別判定部102は、イベント処理部10から実行を許可するかあるいは禁止するかの判定に関する問い合わせのあったイベントの種別が、第2判定部200のインストールであるか、それ以外のイベントであるかを判定する。種別管理部103は、アプリケーション記憶部400に記憶されたイベントの種別を判定するための情報の読み出しや書き込みを管理しており、種別管理部103を通じて取得された種別を判定するための情報に基づいて種別の判定が行われる。例えば、種別管理部103は第1判定部110がインストールされる時、または初めて実行される時に、種別判定部102が用いるイベント名やアプリ名などの情報をアプリケーション記憶部400に記録したり、種別判定部102がイベントの受信に先立ち、アプリケーション記憶部400から種別判定部102が用いるイベント名やアプリ名等の情報を読み出したりする。
具体的には、予め第1判定部100を製作した製作者が、第3者に対して第1判定部100と連携可能な第2判定部200の作成を許可した場合を想定する。この場合、第1判定部100には、製作者が第1判定部100と連携可能な第2判定部200として機能する判定用アプリケーションを登録しておくことができるため、そのアプリケーションと例えばアプリ名や、アプリケーションに付与された署名が期待値と一致するアプリは第2判定部200として機能する判定用アプリケーションであると判定される。なお、種別管理部103に登録される第2判定部200の種類は、ネットワークを通じてアップデートできるようにしてもよい。
第2判定部登録部105は、実行判定部104がインストールされるアプリケーションが正当な判定アプリケーションであると判定した場合に、種別管理部103で管理しているアプリ名を持つ判定アプリケーションが第2判定部200であるか否かを示す識別情報を保持する。
種別判定部102は、イベント処理部10から送信されたイベントの種別が第2判定部200として機能する判定用アプリケーションのインストールであると判定した場合は、イベントの情報を実行判定部104へと渡す。一方、イベントの種別が判定用アプリケーションのインストール以外のイベント、例えば他のアプリケーションのインストールであったり、既にインストールされているアプリケーションのアンインストールであったり、外部ストレージの接続であったり、Bluetoothデバイスの接続であったり、WiFiデバイスの接続であったり、アプリケーションの起動であったりした場合は、イベントの情報を第2通信部110を通じて第2判定部200へと転送する。この際、第2通信部110は、転送される先の第2判定部200が第2判定部登録部105によって第2判定部200として登録処理がなされた判定用アプリケーションであるか否かを確認する。すなわち、第2判定部200はユーザーが自由に選んでインストールすることを想定しているが、正しくインストールされた第2判定部200は、種別管理部103によってアプリケーション記憶部400から読み出しされるアプリ名を持つ判定アプリが第2判定部200であるという識別情報が第2判定部登録部105に登録されている。したがって、登録済みの第2判定部200以外との通信は許可されないようになっている。
実行判定部104は、インストールのイベントを受信した判定用アプリケーションの署名の検証結果を署名検証部106から受信し、その判定アプリケーションが第2判定部200であるという情報を第2判定部登録部105に登録すべきか否か、あるいはインストールしてよいかを判定する。そのため、実行判定部104は、署名検証部106へとイベントの情報を転送する。署名検証部106は、取得した第2判定部200のインストールイベントの識別情報であるアプリ名などから、署名管理部108を通じてアプリケーション記憶部400に予め記憶された、同名の判定用アプリケーションの公開鍵を取得する。公開鍵は判定用アプリケーションの製作者によって作成されたものであり、製作者は対応する秘密鍵で判定用アプリケーションに署名を付与することで、判定用アプリケーションが正しい製作者によって作成されたものであるかを検証し、同名の正しくない判定用アプリケーションによるなりすましを防止することができる。
また、アプリ取得部107は、インストールの実行要求がされた第2判定部200の判定用アプリケーションと同じアプリ名をもつアプリケーションの署名情報をアプリケーション記憶部400に記憶されたアプリケーションのアプリケーションパッケージから取得する。図2に示したように、アプリケーションパッケージのファイルには署名が含まれている。署名は、判定用アプリケーションの製作者が管理する秘密鍵を用いて公開鍵暗号を使って計算される。署名計算に用いる公開鍵暗号アルゴリズムとして、たとえばRSAを用いればよい。
署名検証部106は、アプリ取得部107がアプリケーションパッケージから取得した署名情報が、署名管理部108によって管理されている公開鍵によって正しく検証できるか否か、すなわち正しい製作者により作成されたアプリケーションであるか否かを検証し、検証の結果を実行判定部104へと返信する。実行判定部104は、署名検証部106における署名情報の検証結果に元づいて判定アプリケーションが第2判定部200であるという識別情報を第2判定部登録部105に登録するか否かを判定する。署名検証が成功すれば、第2判定部登録部105は、判定アプリケーションの識別情報を、第2判定部200として登録する。署名検証が失敗すれば、種別管理部103が管理するアプリ名を持つ判定アプリケーションは第2判定部200ではないため、識別情報は登録されない。署名検証が失敗した場合、実行判定部104は、判定アプリケーションのインストールの判定結果を禁止と設定してもよいし、インストールの判定結果自体は許可とし、第2判定部登録部105に登録しないようにしてもよい。インストールの判定結果を禁止とした場合、判定アプリケーションはインストールされないため、判定アプリケーションが実行される事もなく、第1判定部100が判定アプリケーションと通信する事も生じない。実行判定部104は、判定結果を通信部101を通じてイベント処理部10へと通知する。要求部109は、第1判定部100の起動時に、イベント処理部10の第1判定部登録部14に第1判定部100の識別情報を登録するように要求する。
署名管理部108は、判定アプリケーションを第2判定部200として第2判定部登録部105に登録する際に用いる公開鍵をアプリケーションインストール時にアプリケーション記憶部400に書き込んだり、インストール時に読み込んだりする。判定アプリケーションはアプリケーションパッケージファイルとしてアプリサーバから配信される。図2に示すように、アプリケーションパッケージには署名情報が含まれるが、署名管理部108はこの証明書の作成に利用した秘密鍵に対応する公開鍵のアプリケーション記憶部400への記憶や読み出しを行う。すなわち、署名管理部108は第2判定部200として登録する判定アプリケーションの公開鍵を特定して取得することができる。なお、署名管理部108の管理対象の公開鍵は複数であってもよい。
また、第1判定部100があらかじめ情報処理装置1にインストールされている場合、第2判定部登録部105に登録する際に用いる公開鍵もアプリケーションインストール時にアプリケーション記憶部400に書き込んでおく。さらに、第1判定部100の開発者は第1判定部100の署名管理部108に追加で公開鍵を挿入した新しいバージョンの第1判定部100をアプリケーションパッケージとして作成し、アプリサーバ700から配信してもよい。その場合、新しいバージョンの第1判定部100が情報処理装置1にアップデートインストールされると、署名管理部108で管理される公開鍵もアップデートされるため、第2判定部200として登録可能な判定アプリケーションを追加することができる。
また、第1判定部100の開発者は、第1判定部100の署名管理部108に含まれる公開鍵を別の公開鍵に差し替えて新しいバージョンの第1判定部をアプリケーションパッケージとして作成し、アプリサーバ700から配信してもよい。この場合、新しいバージョンの第1判定部100のアップデートインストールを行うと、これまで第2判定部200として登録されていた判定アプリケーションは、署名検証部108による検証処理が失敗するため、第2判定部200として登録されなくなる。第2判定部200として登録可能な判定アプリケーションは、新しいバージョンの第1判定部100の署名管理部108が管理する新しい公開鍵に対応する秘密鍵で署名したものに限定される。すなわち、第1判定部100をアップデートインストールする事によって今まで第2判定部200として登録されている判定アプリケーションを第2判定部200として認識せずに、強制的に別の判定アプリケーションを第2判定部200として登録するようにさせる事ができるようになる。これは例えば、第2判定部200に致命的な欠陥がある事が判明した場合や、判定アプリケーションの署名に使う秘密鍵が漏えいしてしまい偽の判定アプリケーションが作成されてしまった場合に、今まで第2判定部200として登録していた判定アプリケーションの登録を削除する場合に有用である。
第2判定部200は、判定ルール管理部201、実行判定部202、ルールサーバ通信部204、及び通信部203を備えている。ルールサーバ通信部204は必須の構成ではない。ルールサーバ通信部204はインターネットあるいはイントラネット上のルールサーバ800と通信し、後述する判定ルールをダウンロードする通信処理を行う。なお、不正なルールサーバ800から誤った判定ルールをダウンロードする事を防止するために、ルールサーバ800と通信する際、SSLやSSHなどの良く知られた手段でルールサーバ800が正当なサーバであるか認証処理を行い、さらに通信内容を暗号化してもよい。通信部203は、第1判定部100からイベントの実行を許可するかあるいは禁止するかの問い合わせを受信したり、イベントに対してその実行を許可するかあるいは禁止するかの結果を第1判定部100に送信したりする。
判定ルール管理部201は、イベントの実行を許可するかあるいは禁止するかの問い合わせに対して、そのイベントの実行を許可するかあるいは禁止するかを決定するための判定用ルールをアプリケーション記憶部400から取得したり、ルールサーバ800からルールサーバ通信部204を介してダウンロードして記憶させたりする。例えば、判定用ルールは、イベントの実行要求内容(システムコールの種類や、指定されたファイル名など)に対応付けて、実行を許可するかあるいは禁止するかが設定されている。判定アプリケーションのアプリケーションパッケージにリソースの一つとして判定用ルールを含めた状態でアプリサーバ700から情報処理装置1に配信し、判定アプリケーションを第2判定部200としてインストールする際、インストーラ部300が判定ルールをアプリケーション記憶部400に格納するようにしておいてもよい。なお、判定ルール管理部201は、ルールサーバ通信部204を介してインターネット600経由で接続されたルールサーバ800などから判定用ルールをダウンロードすることで、判定用ルールをアップデートすることができる。
もちろん、インストール時には判定ルールがアプリケーション記憶部400に格納されず、判定ルール管理部201が新規の判定ルールをルールサーバ800などからダウンロードしてアプリケーション記憶部400に格納するようにしてもよい。また、判定ルールをアップデートする目的で、判定アプリケーションのアプリケーションパッケージにリソースの一つとしてアップデートさせた判定用ルールを含ませておき、インストーラ部300で判定アプリケーションごとアップデートさせることで、インストーラ部300が判定ルールをアプリケーション記憶部400に上書きして格納するようにしておいてもよい。
実行判定部202は、判定ルール管理部201を通じて記憶された判定用ルールを取得し、判定用ルールにしたがってイベントの実行を許可するかあるいは禁止するかを判定し、判定結果を通信部203を通じて第1判定部100へと通知する。
インストーラ部300は、アプリ登録部301を備えている。アプリ登録部301は、アプリケーション記憶部400に記憶されているアプリケーションのインストールパッケージからインストールに必要なリソースを取得して、インストールの実行をイベント処理部10に依頼する。また、インストールの実行がされた際には、例えばアプリケーションパッケージに含まれるアイコンなどのリソースをアプリケーション情報記憶部500に記憶する。
図3は、第2判定部200の別の例を示す図である。図3に示されるように、判定ルール管理部201を設けるのではなく、サーバ通信部205を設け、サーバ通信部205がインターネットやイントラネットを通じて接続されたイベント判定用サーバ900と通信を行い、イベント判定用サーバ900からリアルタイムに判定ルールを取得し、取得した判定用ルールに従って、実行判定部202がイベントの実行を許可するかあるいは禁止するかの判定を行うようにしてもよい。または、イベント判定用サーバ900からリアルタイムに判定結果そのものを取得し、取得した判定結果に従って、実行判定部202がイベントの実行を許可するかあるいは禁止するかの判定を行うようにしてもよい。なお、不正なイベント判定用サーバ900から誤った判定ルールや偽の判定結果をダウンロードする事を防止するために、イベント判定用サーバ900と通信する際、SSL(Secure Socket Layer)やSSH(Secure Shell)、IPSecなどの良く知られた手段でイベント判定用サーバ900が正当なサーバであるか認証処理を行い、さらに通信内容を暗号化してもよい。
次に、本実施形態のイベントの実行を許可するかあるいは禁止するかを決定する処理の流れを図4を用いて説明する。図4に示されるように、まず第1判定部100が起動した際に処理がスタートされる(ステップS101)。第1判定部100の要求部109は、イベント処理部10に対して第1判定部100を登録するよう要求する(ステップS102)。イベント処理部10の第1判定部登録部14は、要求のあった第1判定部100がルール記憶部16に登録されているアプリ名と一致するか否かを判定し(ステップS103)、登録結果を第1判定部100へと通知する(ステップS104)。もし一致しない場合は、イベント処理部10でイベントを検出したとしても要求のあった第1判定部100にイベント情報を通知しない。
次いで、イベント処理部10のイベント検出部12は、イベントを検出する(ステップS105)。次いで、通信部13は、第1判定部登録部14に登録されているアプリ名から特定される第1判定部100に対して、イベント情報を通知する(ステップS106)。第1判定部100の種別判定部102は、受信したイベントの実行を許可するかあるいは禁止するかの判定を、第1判定部100と、第2判定部200のいずれで行うべきであるかを判定する(ステップS107)。
第2判定部200で判定すると判定された場合、種別判定部102は、第2判定部200が第2判定部登録部105に記憶されてインストール済みであるか否かをチェックする(ステップS108)。インストールされていれば、種別判定部102は、第2判定部200のアプリ名を取得して(ステップS110)、イベント情報を通知する。(ステップS111)。インストールされていなければ、種別判定部102は所定のエラー処理を実施する(ステップS109)。第2判定部200は、第1判定部100から転送されたイベントの実行を許可するかあるいは禁止するかについて判定を行い(ステップS112)、判定結果を第1判定部100へと送信する(ステップS114)。
また、ステップS107において、第1判定部100で処理すると判定されていた場合、すなわちインストールされるのが第2判定部200の判定用アプリケーションであった場合は、第1判定部100がイベントの実行を許可するかあるいは禁止するかの判定を行う(ステップS113)。そして、第1判定部100は、イベントの実行を許可するかあるいは禁止するかの判定結果をイベント処理部10に返信する(ステップS115)。イベント処理部10のインストール処理部11は、判定結果に基づいて、イベントを処理する(ステップS116)。
次いで、第1判定部100において、第2判定部200をインストールするイベントの場合の処理の流れを図5を用いて説明する。図5に示されるように、まず種別判定部102は、インストールするアプリケーションが第2判定部200であるか否かを判定する(ステップS201)。第2判定部であると判定された場合(ステップS201:Yes)、アプリ取得部107は、アプリケーション記憶部400から判定用プリケーションの署名情報を取得する(ステップS202)。一方、第2判定部でないと判定された場合(ステップS201:No)、第2判定部200において、判定ルール管理部201に記憶されたルールに従って、判定処理がされて処理は終了する(ステップS205)。
次いで、署名検証部106は、取得した判定用アプリケーションの署名情報が予め記憶され署名管理部108によって取得された公開鍵を用いて検証処理を行い、検証処理が成功したか否かを判定する(ステップS203)。検証に成功したと判定された場合(ステップS203:Yes)、第2判定部登録部105は、第2判定部200の登録処理を行い、イベント処理部10と、インストーラ部300へと通知する(ステップS204)。一方、検証に失敗したと判定された場合(ステップS203:No)、実行判定部104は、エラー処理として通知する(ステップS206)。
以上に示した、本実施形態の情報処理装置1にあっては、第1判定部100と、第2判定部200とを別に設け、第1判定部100は、第2判定部200のインストールのイベントは処理するが、他のイベントについては、第2判定部200側ですることとしたため、各アプリケーションを複数の組織が別個に制作して配布するような状況に対して対応することができるようになる。
また、第1判定部100は、インストールを許可した第2判定部200の識別情報を登録しておき、登録が正常に完了している第2判定部200との間のみ、イベントの情報の交換を行うようにしたため、セキュリティのリスクを抑制することができる。
更には、第2判定部200をインストールしてよいか否かを決定するために、予めインストールすることのできる第2判定部200の公開鍵を署名管理部108を通じてアプリケーション記憶部400に記憶しておき、インストールが要求される第2判定部200の署名情報を公開鍵により検証することで事前にどのアプリケーションをインストール可能かを異なる組織間で設定することができるようになり、不正なアプリケーションのインストールを防ぐことが出来るようになる。
(第2の実施形態)
次に第2の実施形態の情報処理装置1について説明する。第1の実施形態では、第2判定部200として判定アプリケーションを第1判定部100の第2判定部登録部105に登録する際、イベント処理部10が判定アプリケーションのインストールイベントを検出する事をトリガーとしていた。本実施形態においては、第1判定部100の第2通信部110が第2判定部200にイベント情報の交換を送信する前に、第2判定部200としてインストールされている判定アプリケーションが正当なものであるか否かを検証し、検証が成功した場合に限り、以後イベント処理部10から送信されてくるイベントを第2判定部200に送信する点が異なっている。
図6は、第2の実施形態の第2判定部200の機能構成を示したブロック図である。第2判定部200が、第2判定部登録要求処理部205、イベント登録要求処理206を新たに備えている点が図1に示した第2判定部と異なる。
第2判定部登録要求処理部205は、判定アプリケーションを第2判定部200として第1判定部100の第2判定部登録部105に登録してもらうための登録要求を送信する。
イベント登録要求処理部206は、イベント処理部10で検出したイベントのうちどのイベントを許可するかあるいは禁止するかの判定を第2判定部200で行うかを第1判定部100に通知するイベントの登録要求を送信する。すなわち、判定ルール管理部201はイベント登録要求処理部206で第2判定部200で判定するよう要求するイベントの判定ルールを記憶する。例えば、イベント処理部10のイベント検出部12では、アプリケーションのインストールイベント、外部ストレージの接続イベント、Bluetoothデバイスの接続イベント、WiFiデバイスの接続イベント、アプリケーションの起動イベント、およびアプリケーションのアンインストールイベントのイベントが検出できるとする。
このうち、第2判定部200では外部ストレージの接続イベント、及びアプリケーションの起動イベントの判定を行い、その他のイベントについては第1判定部100で行う場合を想定する。この際、第2判定部200のイベント登録要求処理部206は第1判定部100に対して、外部ストレージの接続イベント、及びアプリケーションの起動イベントが発生した場合にイベントとその内容を第2判定部200に送信するよう依頼する。
さらに、第2判定部200の判定ルール管理部201は外部ストレージの接続イベント、及びアプリケーションの起動イベントに対する判定ルールをルールサーバ通信部204を通じて取得する。なお、第2判定部200が外部ストレージの接続イベント、及びアプリケーションの起動イベントしか判定しない場合でも、判定ルール管理部200がすべての種別のイベントに対する判定ルールを取得できるようにしてもよい。
図7は、第2の実施形態の第1判定部100の機能構成を示したブロック図である。図7に示されるように、第2実施形態の第1判定部100は、新たに第1判定ルール管理部111を備えている。
第1判定ルール管理部111は、第2判定部200の判定ルール管理部201と同様、第1判定部100が判定するイベントに対する判定用ルール取得、及び記憶することができる。
実行判定部104は、第1判定ルール管理部111を通じて判定用ルールを取得し、判定用ルールに従ってイベントの実行を許可するかあるいは禁止するかを判定し、第1通信部101を通じて判定結果をイベント処理部10へ通知する。なお、第2判定部200と同様に、判定ルールはルールサーバと通信してアップデートするようにしてもよいし、アップデートした判定用ルールを含めたアプリケーションパッケージを第1判定部100としてアップデートインストールする事で、判定ルールをアップデートするようにしてもよい。
種別管理部103は種別判定部102が第2判定部200で処理すべきイベントか、あるいは第1判定部100で処理すべきイベントかを判定するためのイベント名やアプリ名などの情報を登録、または取得するが、第1の実施形態と異なる点は第2判定部200によってイベント名やアプリ名がアップデートされる点である。
第2の実施形態では、第2判定部200からイベント処理部10で検出したイベントのうちどのイベントを許可するかあるいは禁止するかの判定を第2判定部200で行うかを第1判定部100に通知される。第2通信部110を介して受信した通知に従って、種別管理部103は情報を上書きする。たとえば、第1判定部100の起動直後ではすべてのイベントが第1判定部100の実行判定部で処理されるといった判定を種別判定部102が行うように種別管理部103は情報を登録していたとする。ここで、外部ストレージの接続イベント、及びアプリケーションの起動イベントを第2判定部200に送信するような要求を第2判定部200から受信すると、種別判定部102がイベント処理部から受信したイベントが外部ストレージの接続イベントとアプリケーション起動イベントは第二通信部を介して第2判定部に送信すると判定するように種別管理部108のルール情報を更新する。
また、第2の実施形態では判定アプリケーションを第2判定部200として第2判定登録部105が登録する際、インストールのイベントではなく第2判定部200の第2判定部登録要求処理部205からの登録要求をトリガーとする。従って、判定アプリケーションのインストール自体は制限しない。もちろん、第1判定ルール管理部111がアプリケーションのインストールを制限(禁止)するアプリ名のリストを管理しており、かつ判定アプリケーションのアプリ名がそのリストに該当する場合、そのアプリ名を持つ判定アプリケーションはインストールされない。同様に、第1判定ルール管理部111がアプリケーションのインストールを許可するアプリ名のリストを管理しており、かつ判定アプリケーションのアプリ名がそのリストに該当しない場合そのアプリ名を持つ判定アプリケーションはインストールされないようにしてもよい。
ここでは、実行判定部104が判定アプリケーションのインストールを許可し、判定アプリケーションがインストールされた状態にあるとする。ここで、第2判定部登録要求処理部205から判定アプリケーションを第2判定部200として登録するよう登録要求が送信されたとする。第1判定部100は、第2通信部110を介して、この登録要求を受信すると、署名検証部106が、要求を送信してきた判定アプリケーションが第2判定部200として正しいアプリ名を持ち、署名管理部108が管理する公開鍵でアプリケーションの署名の検証が成功するかどうかを検査する。この処理手順は第1の実施形態と同様、アプリ取得部107によってアプリケーションパッケージから取得した署名情報を用いる。検査が成功した場合に、第2判定部登録部105に、要求を送信してきた判定アプリケーションが第2判定部200であると登録し、以後の判定アプリケーションからの要求を受け付けるように第2通信部110に指示する。もし検証が失敗した場合、以後の判定アプリケーションからの要求は拒絶する。
なお、署名検証部106による判定用アプリケーション検証処理が成功した場合に限り、要求部109がイベント処理部10の第1判定部登録部14に対して、第1判定部100の識別情報の登録を要求するように構成してもよい。すなわち、署名検証部106の検証処理が成功しない間は、イベント処理部10のイベント検出部12が検出したイベントはルール記憶部16のルールに従って許可又は禁止の判定がなされ、イベント処理部10から第1判定部100にイベントが通知されないようにしてもよい。署名検証部106による判定用アプリケーション検証処理が成功し、第2判定部登録部105に、要求を送信してきた判定アプリケーションが第2判定部200であると登録されると、第1判定部100の要求部109は第1判定部100の識別情報の登録を要求し、イベント処理部10の第1判定部登録部14に登録される。そして、以後、イベント検出部12で検出されたイベントが通信部を経由して第1判定部100に通知されるようになる。
これは、特にビジネス利用と一般コンシューマー利用を一台の端末で兼用する時に有用である。一般コンシューマー利用では、アプリケーションのインストールや起動など、イベント検出部10で検出するようなイベントを制限する必要はない。この時、第2判定部200となる判定アプリケーションをインストールしなければ、第2判定部200が登録要求を送信する事もなく、署名検証部106が要求部109に対して第1判定部100の登録を指示する事もなく、結果としてイベント処理部10は第1判定部100を第1判定部登録部14に登録する事もなく、イベントはルール記憶部16のルールに従って許可又は禁止の判定がなされる。
この時のルール記憶部16はイベントの制限を行わない(禁止しない)ルールを設定しておく。これにより、一般コンシューマーが利用する場合、イベント検出部12で検出されたイベントは特に制限されない。一方、ビジネス利用の場合には、管理者のセキュリティポリシーに従って端末に各種制限を施す必要があり、その場合には判定アプリケーションを第2判定部200としてインストールする。第2判定部200が第1判定部100に登録要求を送信するようにすれば、第1判定部100は要求部109を通じて登録指示を送信し、結果としてイベント処理部10が第1判定部100にイベントを送信するよう通信部13に指示する事になり各種イベントの判定を第1判定部100、または第2判定部200が行えるように設定できる。
さらに、署名検証部106による判定用アプリケーション検証処理が成功した場合に限り、要求部109がイベント処理部10のルール記憶部16に記憶されている動作ルールを更新し、第1判定部100に通知するイベントの種類とデフォルトの動作ルールを更新するようにしてもよい。なお、この場合図1の構成に加え、通信部13とルール記憶部16とが接続されている。
たとえば、第1判定部100は起動時に要求部109にて第1判定部100の識別情報の登録を要求し、イベント処理部10の第1判定部登録部14に登録させる。この時、イベント処理部10のルール記憶部16には、第1判定部登録部14に第1判定部100が登録されている状態では第1判定部100にアプリケーションのインストールイベントを通知し、それ以外のイベントはイベント処理部10のルール記憶部16に蓄積されているルールに従って処理される初期設定が登録されていたとする。
すなわち、第1判定部100による判定用アプリケーションの検証処理が成功する前までは、イベント処理部10のイベント検出部12がアプリケーションのインストールイベントを検出すると、第1判定部100にそのイベントを通知し、第1判定部100は第1判定ルール管理部111に蓄積された判定ルールに従ってアプリケーションのインストールイベントの許可又は禁止の判定を行う。
また、アプリケーションのインストールイベント以外のイベントについては第1判定部100に通知されることなくイベント処理部10のルール記憶部16に蓄積されたルールに従ってイベントの許可又は禁止の判定がなされる。ここで、第1判定部100により判定用アプリケーションの検証処理が成功し、判定用アプリケーションが第2判定部登録部105に登録されると、第1判定部100の要求部109がイベント処理部10のルール記憶部16に対して、すべてのイベントを第1判定部100に通知するようにルール記憶部16の内容を更新する。以後、イベント処理部10のイベント検出部12が検出したイベントは、第1判定部100に通知されるようになる。
このように構成することで、第2判定部200がインストールされていなかったとしても、一部のイベントは第1判定部100のみで処理し、複雑なイベントは第2判定部200をインストールした後に第2判定部200で処理できるようになる。第2判定部200がインストールされるまではイベント処理部10と第1判定部100との間のイベントの送受信を削減する事ができるようになるため、イベント処理部10は高速に判別処理を行う事ができるようになる。
また、署名検証部106の検証処理が成功した場合、第1判定ルール管理部111を更新するようにしてもよい。第2判定部200の要求により第2判定部200で処理される事になったイベントに関しては第2判定部200の判定ルール管理部201の判定ルールによりイベントの許可又は禁止の判定がなされるが、要求のなかったイベントに関しては第1判定ルール管理部111で管理される判定ルールにより許可又は禁止の判定がなされる。この時、もともと許可となっていた判定ルールを禁止と更新してもよい。
また、第2判定部200が第1判定ルール管理部111に対して明示的に判定対象のイベントに係る情報を更新する要求を送信してもよいし、判定対象のイベントを許可するかあるいは禁止するかを示す第1判定部100が有するルールを更新するよう、第1判定部100に対して要求を送信してもよい。たとえば、第2判定部200が外部ストレージの接続イベントとアプリケーションの起動イベントは、外部ストレージのシリアル番号や起動されるアプリ名などに応じて、そのイベントが発生した都度、イベントの内容に応じて第2判定部200で許可又は禁止の判定を行うが、Bluetoothの接続イベントに関しては接続されるBluetooth機器に依存せず一括して接続禁止というポリシーに設定する事を考える。この時、種別管理部103でBluetoothの接続イベントは実行判定部104で処理するように設定し、かつ第1判定部100の第1判定ルール管理部111のBluetoothに関する判定ルールを一括で禁止としておけば、第2判定部200にイベントのメッセージが送信される事なく、Bleutooth機器が接続禁止である旨がイベント処理部10に通知される。
以上に示した本実施形態の処理の流れについて図8を用いて説明する。図8に示されるように、まず第2判定部200の第2判定部登録要求処理部205は、第1判定部100に対して登録要求を送信すると、第1判定部100の第2通信部110は、登録要求を送信したアプリケーションのアプリ名を取得する(ステップS701)。ついで、第2通信部110は、署名検証部106に対して、アプリ名を通知して、署名の検証処理を要求する(ステップS702)。
署名検証部106は、アプリ取得部107がアプリ名によって特定されるアプリケーションパッケージを所得し、署名管理部108を通じて取得できる公開鍵を用いて署名検証処理を実施する(ステップS703)。署名検証処理が失敗した場合、第2判定部登録部105は、アプリケーションの登録を拒否し(ステップS704)、その旨を第2判定部200へと通知する(ステップS705)か、または第2判定部とのコネクションを切断する。一方、署名検証処理が成功した場合、第2判定部登録部105は、署名管理部108が管理対象とするアプリケーションの識別情報を第2判定部200として登録する(ステップS706)。
また、第2判定部200は、第2判定部200において実行を許可するかあるいは禁止するかの判定を行うイベントの種別の登録処理を第1判定部100に要求する(ステップS707)。第1判定部100は、第2判定部登録部105に登録されているか否か(ステップS709)を確認し、登録されていない場合、イベントの登録拒否を第2判定部200へと通知する(ステップS710)。
第2判定部登録部105に登録されている場合、種別管理部108は、指定されたイベントの種別を第2判定部200において実行を許可するかあるいは禁止するかの判定をするよう情報をアップデートする(ステップS711)。なお、本実施形態では、第1の実施形態の図4で示したステップS107の判定が、種別管理部103が通知のあったイベントを示す識別情報を登録しているか否かによって、第1判定部100で判定を行うか、第2判定部200で判定を行うかが判定される。
(第3の実施形態)
次に第3の実施形態の情報処理装置1について説明する。本実施形態においては、イベントがアプリケーションのインストールである場合に、既に同じアプリケーションがインストールされているか否かを確認し、インストールされている場合にアップデート処理を行う点が異なっている。
図9は、本実施形態のインストーラ部300の機能構成を示すブロック図である。図9に示されるように、インストーラ部300は、署名検証部303、及び既存アプリチェック部302を新たに備えている。既存アプリチェック部302は、アプリ登録部301がアプリケーションのインストールイベントを指示した際に、同じ名前のアプリケーションが既にインストールされているか否かをチェックする。すなわち、既存アプリチェック部302がアプリケーション情報記憶部400に同名のアプリケーション名を持つアプリが登録されているか否か確認する処理を行う。同じ名前のアプリケーションがインストールされている場合、署名検証部303は、アプリケーション情報記憶部500から取得されるインストール済みのアプリケーションの署名に用いられた秘密鍵と、アプリケーション記憶部400から取得される新たにインストールされるアプリケーションの署名に用いられた秘密鍵が一致しているか否かを判定するために、インストール済みのアプリケーションの証明書に含まれる公開鍵と、新たにインストールされるアプリケーションの証明書に含まれる公開鍵が一致するか否かを判定する。
図10は、インストールの際の処理の流れを示すフロー図である。図10に示されるように、まずアプリ登録部301は、インストールの指示を行う(ステップS301)。インストールの指示が行われると、アプリ登録部301は、アプリケーション記憶部400からアプリケーションのアプリ名などの情報を取得する(ステップS302)。既存アプリチェック部302は、取得したアプリ名と同一のアプリケーションが既にインストールされているかを、アプリケーション記憶部400のデータから判定する(ステップS303)。同名のアプリケーションがインストールされていると判定された場合(ステップS303:Yes)、署名検証部303は、既にインストールされているアプリケーションの証明書に含まれる公開鍵とインストールの指示を受けたアプリケーションパッケージの証明書に含まれる公開鍵とが一致するか否かを判定する(ステップS304)。
一致しないと判定された場合(ステップS304:No)、アプリケーションはインストールされることなく、エラー処理が行われる(ステップS308)。一方、一致すると判定された場合(ステップS304:Yes)、アプリ登録部301はイベント処理部10に対してインストールを指示する(ステップS305)。また、同名のアプリケーションがインストールされていないと判定された場合も(ステップS303:No)、イベント処理部10にインストール指示がされる(ステップS305)。そして、インストールが許可されて成功したか否かが判定される(ステップS306)。インストールが成功した場合(ステップS306:Yes)、アプリケーション記憶部400にアプリケーションに必要なデータを記憶し、処理を終了する(ステップS307)。なお、インストール済みのアプリケーションである場合は、データは上書きされる。一方、インストールが失敗された場合は(ステップS306:No)、所定のエラー処理がなされる(ステップS308)。
以上に示した本実施形態の情報処理装置1にあっては同じアプリケーションが入っている場合に、インストーラ部300でアプリケーションの署名検証を行い、インストールの実行許可又は禁止を判定することができるようになる。
(第4の実施形態)
次に、第4の実施形態について説明する。第3の実施形態にあっては、イベントの種別が通信接続処理である場合について説明する。図11は、本実施形態のイベント処理部における機能構成を示したブロック図である。図11に示されように、イベント処理部10は、新たに接続管理部20を備えている。接続管理部20は、イベントが検出されると、通信対象の機器の間でコネクションを接続して、イベントの実行判定に必要な情報を取得するとともに、イベントが許可された際には通信を行えるように制御する。接続管理部20は、コネクション確立部21、及びデータ送受信部22を備えている。コネクション確立部21は、接続対象の通信装置23との間でのコネクションを検出したり、コネクションの接続を維持したりする。通信装置23は、例えばWi−Fiの接続の場合は、無線LANアクセスポイント、Bluetoothの接続の場合は、Bluetoothキーボードなどである。データ送受信部22は、コネクション確立部21が取得した通信装置23の情報を元に、通信装置23との間でデータの送受信を行う。
図12はコネクション接続にかかるイベント処理の流れを示すシーケンス図である。図12では、Wi−Fiの接続の例を示す。図12に示されるように、まずイベント処理部10のコネクション確立部21は、通信装置23とのコネクション確立を検出する(ステップS401)。次いで、コネクション確立部21は通信装置23のアクセスポイント名とアクセスポイントのMACアドレスを取得する(ステップS402)。この時点ではまだアクセスポイントとの接続は完了していない。通信部13は、コネクション確立部21が取得したアクセスポイント名とMACアドレスのイベント情報を第1判定部100へと通知する(ステップS403)。第1判定部100は、イベントが第2判定部200で処理すべき内容であるため、取得したアクセスポイント名とMACアドレスのイベント情報を第2判定部200へと通知する(ステップS404)。第2判定部200は、受信した情報にもとづき、イベントの判定処理を行い、接続を許可するか否かを判定する(ステップS405)。第2判定部200は、判定結果を第1判定部100へと送信し(ステップS406)、第1判定部100は受信した判定結果をイベント処理部10へと転送する(ステップS407)。そして、イベント処理部10は、受信した判定結果に基づき、コネクションを確立するか、遮断するかのいずれかの処理を行う(ステップS408)。
図13はBluetoothのクライアントにおけるコネクション接続にかかるイベント処理の流れを示すシーケンス図である。図13では、Bluetooth(登録商標)との接続の例を示す。図13に示されるように、まずイベント処理部10のコネクション確立部21は、通信装置23に対してBluetoothのコネクション確立要求送信メッセージを送信しようとしている事を検出する(ステップS501)。次いで、コネクション確立部21は通信装置23のBluetoothアドレスを取得する。この時点ではまだ通信装置23とのBluetooth接続は完了していない。通信部13は、取得した通信装置23とのBluetoothの確立要求のイベントのイベント情報と通信相手のBluetoothアドレスを第1判定部100へと通知する(ステップS502)。第1判定部100は、イベントが第2判定部200で処理すべき内容であるため、取得した通信装置23とのBluetoothの確立要求のイベントのイベント情報と通信相手のBluetoothアドレスを第2判定部200へと通知する(ステップS503)。第2判定部200は、受信した情報にもとづき、イベントの判定処理を行い、接続を許可するか否かを判定する(ステップS504)。第2判定部200は、判定結果を第1判定部100へと送信し(ステップS505)、第1判定部100は受信した判定結果をイベント処理部10へと転送する(ステップS506)。そして、イベント処理部10は、受信した判定結果に基づき、コネクションを確立するか、遮断するかのいずれかの処理を行う(ステップS507)。
また、図14はBleuthoothの接続処理を行うのがサーバ側である場合のコネクション接続に係るイベント処理の流れを示すシーケンス図である。図13と同様の処理には同じ符号を付与しており、異なる部分のみを説明する。まずイベント処理部10のコネクション確立部は、通信装置23からBluetoothの接続確立要求を検出する(S501)。この時点ではまだ通信装置23とのBluetooth接続は完了していない。通信部13は、通信装置23からBluetoothの接続確立要求を受信した事を示す状態メッセージを第1判定部100へと通知する(ステップS802)。次いで、第1判定部100は、イベントが第2判定部200で処理すべき内容であるため、取得した通信装置23からBluetoothの確立要求を受信状態であることを示す状態メッセージを第2判定部200へと通知する(ステップS803)。すなわち、この場合は、接続先のアドレスを取得できないことから、接続を受信したことを示すメッセージのみが通知されることとなる。
また、図15は接続対象がUSBメモリやHDD(Hard Disk Drive)、SDカードなどのストレージ装置である場合について説明する。図15に示されるように、接続管理部30は、ストレージ接続部31、及びデータ読書き部32を備えている。以下、接続対象がストレージ装置である場合の処理の流れを図16を用いて説明する。
図16に示されるように、まずイベント処理部10のストレージ接続部31は、外部ストレージ装置33(ストレージ装置)とのコネクション確立を検出する(ステップS601)。次いで、ストレージ接続部31は、接続したストレージのメディア種別、例えばUSBメモリであるかSDカードであるかなどを判断する(ステップS602)。次いで、通信部13は、取得したメディアの種別やUSBメモリであるならばそのシリアル番号などを指定してイベントを第1判定部100へと通知する(ステップS603)。第1判定部100は、イベントが第2判定部200で処理すべき内容であるため、取得したメディアの種別やUSBメモリであるならばそのシリアル番号などを指定したイベント情報を第2判定部200へと通知する(ステップS604)。
第2判定部200は、受信した情報にもとづき、イベントの判定処理を行い、接続を許可するか否かを判定する(ステップS605)。第2判定部200は、判定結果を第1判定部100へと送信し(ステップS606)、第1判定部100は受信した判定結果をイベント処理部10へと転送する(ステップS607)。そして、イベント処理部10は、受信した判定結果に基づき、コネクションを確立するか、遮断するかのいずれかの処理を行う(ステップS608)。
以上に示したように、本実施形態では通信装置やストレージ装置などの別の装置との接続イベントに対しても、各アプリケーションが連携して、そのイベントの実行を許可するかあるいは禁止するかについての判定を行うことができるようになる。
(第5の実施形態)
制限対象のイベントがアプリケーション起動である場合を示す第5の実施形態について図17、図18を用いて説明する。図17に示されるように、イベント処理部10は図1に示した構成に加えて新たにアプリ起動処理部17を備えている。アプリ起動処理部17は、アプリ実行部1000(図1参照)が第1判定部100、第2判定部200、一般アプリ部900を含むアプリケーションを起動する際の起動処理を行う処理部である。アプリ実行部1000は、様々なアプリケーションプログラムを実行するためのプラットフォームであり、例えば、Java(登録商標)仮想マシンのような仮想マシンによって実現することができる。具体的には、アプリケーションの実行に必要な実行コードや各種リソースファイルをアプリケーション記憶部400から取得したり、メモリの確保などの処理を行う。
図18はアプリケーション起動にかかるイベント処理の流れを示すシーケンス図である。図18に示されるように、まずイベント処理部10のアプリ起動処理部17は、アプリケーションの起動イベントを検出し、アプリケーション名を取得する(ステップS801)。この時点ではまだアプリケーションの起動は完了していない。通信部13は、アプリケーション名とアプリケーション起動イベントである事を第1判定部100へと通知する(ステップS802)。第1判定部100は、イベントが第2判定部200で処理すべき内容であるため、取得したアプリケーション名とアプリケーション起動イベントである事を示す情報を第2判定部200へと通知する(ステップS803)。
第2判定部200は、受信した情報にもとづき、イベントの判定処理を行い、起動を許可するアプリか否かを判定する(ステップS804)。第2判定部200は、判定結果を第1判定部100へと送信し(ステップS805)、第1判定部100は受信した判定結果をイベント処理部10へと転送する(ステップS806)。そして、イベント処理部10は、受信した判定結果に基づき、アプリケーションを起動するか、起動を禁止するかのいずれかの処理を行う(ステップS807)。
なお、第2判定部200においてはアプリケーションの識別情報(アプリ名)によって、起動を許可するか否かを判定していた。この構成を以下のように変更することもできる。すなわち、第2判定部200においても、第1判定部100と同様に、署名管理部、署名検証部、及びアプリ取得部を設け、起動されるアプリケーションのアプリケーションパッケージに含まれる公開鍵と、署名管理部を通じて取得される公開鍵とが一致するか否かを署名検証部において検証し、検証が成功した場合に限り、起動を許可するようにすることもできる。
なお、上記の各実施形態においては、第2判定部がインストールされている場合について示したが、インストールされていない場合は、第1判定部がインストールの実行許可又は禁止の判定を行うことができるようにすることも可能である。
また、アプリケーションの検証の際には、上述では第2判定部の製作者が作成した秘密鍵による署名による電子署名の技術を用いたなりすまし防止を行ったが、第1判定部の製作者が、連携を許可したアプリケーションの製作者に秘密鍵を配布し、自らの公開鍵で復号化が出来るか否かにより署名の検証を行うようにしてもよい。また、他の既存のなりすましや改変検出技術を用いることも可能である。
なお、上記の各実施の形態の情報処理装置におけるカーネル部、及び管理アプリケーションの機能はプログラムとして提供してもよい。その場合、プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
また、プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
ただし、生成部、及び転送指示部をプログラムとして提供した場合、実際のハードウェアとしてはCPU(プロセッサ)とは異なる電子回路やプロセッサによって記憶媒体からプログラムを読み出して実行することにより各部が主記憶部上にロードされ、生成部、及び転送指示部が主記憶部上に生成されるようになっている。
上記の実施形態にかかる発明の利用場面について以下に説明する。近年、例えば、タブレットやスマートフォンなどのモバイルで利用する情報端末が増加するにしたがって、端末内のソフトウェアは、従来のように単一のサプライヤーから提供され、事前にインストールされたものから、アプリケーションを追加でインストールし、ユーザーが自由にカスタマイズをすることができるように変化してきている。従来、システムコールなどのイベント発生に対する実行を許可するか否かを行う制御は、カーネルといわれる部分に集約されていたが、Android(登録商標)などのサードパーティー用のオペレーション開発環境が整っていくに従って、イベント処理にかかる構成が、機能ごとに独立した別の組織により制作、及び流通されるようになってきている。
特に、タブレットやスマートフォンなどのモバイル端末をビジネス用途で利用しようとした場合、各企業のポリシーごとに端末の機能を制限する事が求められる。たとえば、ある企業ではタブレットに格納した情報の漏洩を防止するため、端末と外付けのUSBメモリやSDカードなどの外部ストレージ機器の接続を禁止する事が求められ、別の企業では外部ストレージ機器の接続は許可するが端末とBluetooth(登録商標)機器の接続を禁止する事が求められるなど、その要求条件は各企業のセキュリティポリシーによって異なる。近年、PCの分野では、管理者権限(Administrator権限)と一般ユーザー権限をパスワードによって分離し、端末の一般利用者には一般ユーザー権限のパスワードを設定する事で利用者権限のみを付与する。そしてセキュリティ管理者は端末を管理する専用ソフトウェアをインストールして、専用ソフトウェアに外部ストレージデバイスの接続を禁止したりBluetooth機器の接続を禁止したりする設定を施し、一般ユーザー権限ではそれらの設定が解除できないようにして対策する事が一般的である。
しかしながら、Androidなどのモバイル端末上で採用されているシステムでは、もともと個人利用を目的として開発された経緯もあり、パスワードによる権限の分離機構が存在しない。このため、セキュリティ管理者が端末を管理する専用ソフトウェアをインストールして端末に各種設定を施したとしても、一般利用者はその設定を解除する事ができてしまう。かつ、上述したように、端末を管理する専用ソフトウェア(端末管理アプリケーション)を別の組織において製作して流通しようとした場合、アプリケーションとイベント発生元のオペレーティングシステム間、およびアプリケーション間のデータの通信のプロトコルが解析され、不正な端末管理アプリケーションがイベント発生に対して、そのイベントの実行を許可するかあるいは禁止するかの判定結果をイベント発生元に不正に改変して応答する事で、セキュリティ管理者の意図した設定と異なる挙動に改変されてしまうリスクがあり、上記実施形態にかかる発明によりこのようなリスクに対応し、複数のモジュール間において処理を分担する場合の、セキュリティを向上させることのできる。
以上に、本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 情報処理装置
10 イベント処理部
11 インストール処理部
12 イベント検出部
13 通信部
14 第1判定部登録部
20 接続管理部
21 コネクション確立部
22 データ送信部
23 通信装置
30 接続管理部
31 ストレージ接続部
32 データ読書き部
33 外部ストレージ装置
100 第1判定部
101 第1通信部
102 種別判定部
103 種別管理部
104 実行判定部
105 第2判定部登録部
106 署名検証部
107 アプリ取得部
108 署名管理部
109 要求部
110 第2通深部
200 第2判定部
201 判定ルール管理部
202 実行判定部
203 通信部
204 サーバ通信部
300 インストーラ部
301 アプリ登録部
302 既存アプリチェック部
303 署名検証部
400 アプリケーション記憶部
500 アプリケーション情報記憶部
600 インターネット
800 ルールサーバ
900 イベント判定用サーバ

Claims (8)

  1. イベント処理部と、第1判定部とを備え、
    前記イベント処理部は、
    イベントを検出してイベントの実行を保留するイベント検出部と、
    検出した前記イベントの実行を許可するかあるいは禁止するかの判定処理を行う第1判定部に対応する第1のアプリケーションの第1識別情報を記憶するルール記憶部と、
    前記第1判定部から前記イベントの実行を許可するかあるいは禁止するかの問い合わせを送信するよう求める登録依頼を受信すると、前記ルール記憶部に登録された第1識別情報と前記第1判定部の識別情報とが一致するか否かを判定し、一致する場合に前記第1判定部を登録する第1判定部登録部と、
    検出した前記イベントを登録された前記第1判定部へと送信する通信部と、
    を備え、
    前記第1判定部は、
    前記第1判定部の起動時に、前記イベント処理部に対して、前記登録依頼を送信する要求部と、
    前記第1判定部とは異なり、前記判定処理を行う第2判定部に対応する第2のアプリケーションに付与された署名が正しいものか否かの検証に用いる第2識別情報、及び公開鍵を含む署名管理部と、
    前記第2のアプリケーションからの登録要求を受信し、前記署名管理部に含まれる前記第2識別情報と前記公開鍵とを用いて前記登録要求を受信した第2のアプリケーションの署名を検証する署名検証部と、
    署名の検証が成功した場合にのみ前記第2のアプリケーションを前記第2判定部として登録する第2判定部登録部と、
    前記イベント処理部から前記判定処理の要求を受信するとともに、前記イベント処理部に対して前記判定処理の結果を送信する第1通信部と、
    前記第2判定部登録部に登録された前記第2判定部へと受信した前記イベントを転送するとともに、前記第2判定部から前記判定処理の結果を受信する第2通信部と、
    を備え、
    前記イベント検出部は、受信した前記判定結果が実行許可の場合に、前記イベントの保留を解除してイベントを実行する
    ことを特徴とする情報処理装置。
  2. 前記第1判定部は、どのイベントに対する前記判定処理の要求を前記第2判定部に対して送信するかを規定する第1ルール情報を記憶した第1判定ルール管理部を備え、
    前記第1判定ルール管理部は、前記第2判定部登録部に前記第2判定部が登録されると、第2判定部から処理対象の前記イベントの指示を受けて前記第1ルール情報を更新する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記ルール記憶部は、どのイベントに対する前記判定処理の要求を前記第1判定部に送信するか規定する第2ルール情報を含み、
    前記第1通信部は、前記第2判定部登録部に前記第2判定部が登録されると、前記第1判定ルール管理部に記憶された前記第1ルール情報を更新した第3ルール情報を前記イベント処理部に送信し、
    前記ルール記憶部は、受信した前記第3ルール情報によって、前記第2ルール情報を更新する
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記イベントは、アプリケーションのアンインストール、外部ストレージとの接続、Bluetoothデバイスの接続、WiFiデバイスの接続、及びアプリケーションの起動のいずれかである
    ことを特徴とする請求項1に記載の情報処理装置。
  5. イベント処理部と、第1判定部と、第2判定部と、を備え、
    前記イベント処理部は、
    イベントを検出してイベントの実行を保留するイベント検出部と、
    検出した前記イベントの実行を許可するかあるいは禁止するかの判定処理を行う第1判定部に対応する第1のアプリケーションの第1識別情報を記憶するルール記憶部と、
    前記第1判定部から前記イベントの実行を許可するかあるいは禁止するかの問い合わせを送信するよう求める登録依頼を受信すると、前記ルール記憶部に登録された第1識別情報と前記第1判定部の識別情報とが一致するか否かを判定し、一致する場合に前記第1判定部を登録する第1判定部登録部と、
    検出した前記イベントを登録された前記第1判定部へと送信する通信部と、
    を備え、
    前記第1判定部は、
    前記第1判定部の起動時に、前記イベント処理部に対して、前記登録依頼を送信する要求部と、
    前記第1判定部とは異なり、前記判定処理を行う第2判定部に対応する第2のアプリケーションに付与された署名が正しいものか否かの検証に用いる第2識別情報、及び公開鍵を含む署名管理部と、
    前記第2のアプリケーションからの登録要求を受信し、前記署名管理部に含まれる前記第2識別情報と前記公開鍵とを用いて前記登録要求を受信した第2のアプリケーションの署名を検証する署名検証部と、
    署名の検証が成功した場合にのみ前記第2のアプリケーションを第2判定部として登録する第2判定部登録部と、
    前記イベント処理部から前記判定処理の要求を受信するとともに、前記イベント処理部に対して前記判定処理の結果を送信する第1通信部と、
    前記第2判定部登録部に登録された前記第2判定部へと受信した前記イベントを転送するとともに、前記第2判定部から前記判定処理の結果を受信する第2通信部と、
    を備え、
    前記第2判定部は、
    前記第1判定部から受信した前記イベントの実行を許可するかあるいは禁止するかを判定する実行判定部と、
    判定した前記イベントの実行を許可するかあるいは禁止するかの判定結果を前記第1判定部へと返信する第1判定部通信部と、
    を備え、
    前記イベント検出部は、受信した前記判定結果が実行許可の場合に、前記イベントの保留を解除してイベントを実行する
    ことを特徴とする情報処理装置。
  6. 前記実行判定部は、ネットワークを通じて接続されたイベント判定サーバ装置に記憶されたイベント判定用ルールに基づき、前記イベントの実行を許可するかあるいは禁止するかを判定する
    ことを特徴とする請求項5に記載の情報処理装置。
  7. コンピュータを、イベント処理部と、第1判定部として機能させるためのプログラムであって、
    前記イベント処理部は、
    イベントを検出してイベントの実行を保留するイベント検出部と、
    検出した前記イベントの実行を許可するかあるいは禁止するかの判定処理を行う第1判定部に対応する第1のアプリケーションの第1識別情報を記憶するルール記憶部と、
    前記第1判定部から前記イベントの実行を許可するかあるいは禁止するかの問い合わせを送信するよう求める登録依頼を受信すると、前記ルール記憶部に登録された第1識別情報と前記第1判定部の識別情報とが一致するか否かを判定し、一致する場合に前記第1判定部を登録する第1判定部登録部と、
    検出した前記イベントを登録された前記第1判定部へと送信する通信部と、
    を備え、
    前記第1判定部は、
    前記第1判定部の起動時に、前記イベント処理部に対して、前記登録依頼を送信する要求部と、
    前記第1判定部とは異なり、前記判定処理を行う第2判定部に対応する第2のアプリケーションに付与された署名が正しいものか否かの検証に用いる第2識別情報、及び公開鍵を含む署名管理部と、
    前記第2のアプリケーションからの登録要求を受信し、前記署名管理部に含まれる前記第2識別情報と前記公開鍵とを用いて前記登録要求を受信した第2のアプリケーションの署名を検証する署名検証部と、
    署名の検証が成功した場合にのみ前記第2のアプリケーションを第2判定部として登録する第2判定部登録部と、
    前記イベント処理部から前記判定処理の要求を受信するとともに、前記イベント処理部に対して前記判定処理の結果を送信する第1通信部と、
    前記第2判定部登録部に登録された前記第2判定部へと受信した前記イベントを転送するとともに、前記第2判定部から前記判定処理の結果を受信する第2通信部と、
    を含み、
    前記イベント検出部は、受信した前記判定結果が実行許可の場合に、前記イベントの保留を解除してイベントを実行する
    ことを特徴とするプログラム。
  8. イベント処理部と、第1判定部とを備える情報処理装置の情報処理方法であって、
    前記イベント処理部がイベントを検出してイベントの実行を保留するイベント検出ステップと、
    前記イベント処理部が、検出した前記イベントの実行を許可するかあるいは禁止するかの判定処理を行う第1判定部に対応する第1のアプリケーションの第1識別情報を記憶するルール記憶ステップと、
    前記イベント処理部が、前記第1判定部から前記イベントの実行を許可するかあるいは禁止するかの問い合わせを送信するよう求める登録依頼を受信すると、登録された前記第1識別情報と前記第1判定部の識別情報とが一致するか否かを判定し、一致する場合に前記第1判定部を登録する第1判定部登録ステップと、
    前記イベント処理部が、検出した前記イベントを登録された前記第1判定部へと送信する送信ステップと、
    第1判定部が、前記第1判定部の起動時に、前記イベント処理部に対して、前記登録依頼を送信する要求ステップと、
    前記第1判定部とは異なり、前記判定処理を行う第2判定部に対応する第2のアプリケーションに付与された署名が正しいものか否かの検証に用いる第2識別情報、及び公開鍵を含む署名管理ステップと、
    前記第2のアプリケーションからの登録要求を受信し、前記第1判定部とは異なり、前記判定処理を行う第2判定部に対応する第2のアプリケーションに付与された署名が正しいものか否かの検証に用いる第2識別情報、及び公開鍵とを用いて前記登録要求を受信した第2のアプリケーションの署名を検証する署名検証ステップと、
    署名の検証が成功した場合にのみ第2判定部登録部により前記第2のアプリケーションを第2判定部として登録する第2判定部登録ステップと、
    第1判定部が、前記イベント処理部から前記判定処理の要求を受信するとともに、前記イベント処理部に対して前記判定処理の結果を送信するステップと、
    第1判定部が、前記第2判定部登録部に登録された前記第2判定部へと受信した前記イベントを転送するとともに、前記第2判定部から前記判定処理の結果を受信する第2通信ステップと、
    前記イベント処理部が、受信した前記判定結果が実行許可の場合に、前記イベントの保留を解除してイベントを実行するステップと、
    を含むことを特徴とする情報処理方法。
JP2012163021A 2012-07-23 2012-07-23 情報処理装置、方法、プログラム Expired - Fee Related JP5631940B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012163021A JP5631940B2 (ja) 2012-07-23 2012-07-23 情報処理装置、方法、プログラム
US13/946,366 US9344406B2 (en) 2012-07-23 2013-07-19 Information processing device, information processing method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012163021A JP5631940B2 (ja) 2012-07-23 2012-07-23 情報処理装置、方法、プログラム

Publications (2)

Publication Number Publication Date
JP2014023120A JP2014023120A (ja) 2014-02-03
JP5631940B2 true JP5631940B2 (ja) 2014-11-26

Family

ID=49947584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012163021A Expired - Fee Related JP5631940B2 (ja) 2012-07-23 2012-07-23 情報処理装置、方法、プログラム

Country Status (2)

Country Link
US (1) US9344406B2 (ja)
JP (1) JP5631940B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10824756B2 (en) 2013-09-20 2020-11-03 Open Text Sa Ulc Hosted application gateway architecture with multi-level security policy and rule promulgations
US10171501B2 (en) 2013-09-20 2019-01-01 Open Text Sa Ulc System and method for remote wipe
EP2851833B1 (en) 2013-09-20 2017-07-12 Open Text S.A. Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations
JP6308811B2 (ja) * 2014-03-03 2018-04-11 昭栄化学工業株式会社 炭化水素リフォーミング用触媒及び合成ガスの製造方法
JP2016099813A (ja) * 2014-11-21 2016-05-30 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
US11593075B2 (en) 2015-11-03 2023-02-28 Open Text Sa Ulc Streamlined fast and efficient application building and customization systems and methods
US11388037B2 (en) 2016-02-25 2022-07-12 Open Text Sa Ulc Systems and methods for providing managed services
US10601806B1 (en) * 2019-02-22 2020-03-24 Capital One Services, Llc Runtime identity confirmation for restricted server communication control

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3207564B2 (ja) * 1992-11-13 2001-09-10 株式会社東芝 イベント記録方法及び装置
JP3863122B2 (ja) * 2003-03-28 2006-12-27 株式会社東芝 無線端末、通信制御プログラム及び通信制御方法
US7653819B2 (en) * 2004-10-01 2010-01-26 Lenovo Singapore Pte Ltd. Scalable paging of platform configuration registers
US20060093149A1 (en) * 2004-10-30 2006-05-04 Shera International Ltd. Certified deployment of applications on terminals
JP2009540648A (ja) * 2006-06-08 2009-11-19 シアラン ブラッドレー Simをベースとするファイヤウォール方法および装置
US8225093B2 (en) * 2006-12-05 2012-07-17 Qualcomm Incorporated Providing secure inter-application communication for a mobile operating environment
JP5178341B2 (ja) * 2008-06-23 2013-04-10 パナソニック株式会社 オプショナルなコンポーネントを伴うセキュアブートの方法
KR20110040934A (ko) 2008-08-08 2011-04-20 이노패스 소프트웨어, 아이엔시. 지능형 모바일 디바이스 매니지먼트 클라이언트
US8826005B1 (en) * 2008-08-21 2014-09-02 Adobe Systems Incorporated Security for software in a computing system
JP5410471B2 (ja) * 2011-05-24 2014-02-05 株式会社Nttドコモ 複数のアプリケーションを連携起動する通信端末、連携起動方法及びコンピュータプログラム
KR20120134509A (ko) * 2011-06-02 2012-12-12 삼성전자주식회사 어플리케이션 개발 시스템에서 디바이스용 어플리케이션을 생성 및 설치하기 위한 장치 및 방법
US20130333039A1 (en) * 2012-06-07 2013-12-12 Mcafee, Inc. Evaluating Whether to Block or Allow Installation of a Software Application

Also Published As

Publication number Publication date
US9344406B2 (en) 2016-05-17
US20140025954A1 (en) 2014-01-23
JP2014023120A (ja) 2014-02-03

Similar Documents

Publication Publication Date Title
JP5631940B2 (ja) 情報処理装置、方法、プログラム
KR101861401B1 (ko) 장치 기능과 애플리케이션의 결합
US11494754B2 (en) Methods for locating an antenna within an electronic device
JP6392879B2 (ja) モバイル通信装置およびその動作方法
US8171295B2 (en) Information processing apparatus, a server apparatus, a method of an information processing apparatus, a method of a server apparatus, and an apparatus executable process
JP6013061B2 (ja) 情報処理装置および制御方法
JP4939851B2 (ja) 情報処理端末、セキュアデバイスおよび状態処理方法
EP2626803B1 (en) Information processing device and method for preventing unauthorized application cooperation
JP2019169952A (ja) モバイル通信装置およびその動作方法
US8417964B2 (en) Software module management device and program
EP2486509B1 (en) Platform security
US11596008B2 (en) System, method and computer program product for secure Bluetooth cryptography in a virtual mobile device platform
EP2887607A1 (en) Migration of assets of a trusted execution environment
JP2016535547A (ja) 対象のコンピューティング装置で実施される動作を認証する方法
JP6038924B2 (ja) プロセス毎ネットワーキング機能
US20140026228A1 (en) Information processing apparatus and control method
CN113039542A (zh) 云计算网络中的安全计数
CN107078997B (zh) 管理用于需要用户批准设备管理操作的细粒度策略的方法和系统
JP6042125B2 (ja) 情報処理装置およびプログラム
EP3443500B1 (en) Security in virtualized networks
EP3737129B1 (en) Management method for offline management instruction and terminal
JP6091854B2 (ja) 情報処理装置および制御方法
KR20130053867A (ko) 보안 어플리케이션 다운로드 관리방법, 이를 적용한 보안 어플리케이션 다운로드 관리서버, 단말기, 및 관리시스템
EP3619904B1 (en) Smart card thumb print authentication
JP2014229056A (ja) 電子機器、制御方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140820

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: 20140909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141008

LAPS Cancellation because of no payment of annual fees