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

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

Info

Publication number
JP2015001817A
JP2015001817A JP2013125827A JP2013125827A JP2015001817A JP 2015001817 A JP2015001817 A JP 2015001817A JP 2013125827 A JP2013125827 A JP 2013125827A JP 2013125827 A JP2013125827 A JP 2013125827A JP 2015001817 A JP2015001817 A JP 2015001817A
Authority
JP
Japan
Prior art keywords
information
developer
user terminal
identification information
access control
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.)
Pending
Application number
JP2013125827A
Other languages
English (en)
Inventor
平塚 陽介
Yosuke Hiratsuka
陽介 平塚
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2013125827A priority Critical patent/JP2015001817A/ja
Priority to US14/293,113 priority patent/US10433167B2/en
Priority to CN201410249642.5A priority patent/CN104239028B/zh
Publication of JP2015001817A publication Critical patent/JP2015001817A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】開発者に応じて機能の利用を制限し、かつ、機能の不正利用を抑止することが可能な、新規かつ改良された情報処理装置、情報処理方法、及びプログラムを提案する。【解決手段】ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報と、自身が有する1以上の機能の実行の可否を制御するためのアクセス制御情報とを、当該ユーザ端末から取得する取得部と、前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定する判定部と、前記判定部による判定結果に基づき、前記アクセス制御情報に基づき前記1以上の機能のうち少なくとも一部の実行を制御する制御部と、を備える、情報処理装置。【選択図】図1

Description

本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
近年では、デジタルカメラやテレビジョン装置等のデバイスや、PC(Personal Computer)等のような情報処理装置を、スマートフォンのようなユーザ端末を介して操作する機能が提供されている。
ユーザ端末を介して情報処理装置を操作する機能は、例えば、ユーザ端末に専用のアプリケーションプログラム(以降では、単に「アプリケーション」と呼ぶ)をインストールすることにより実現される。
また、情報処理装置の動作を制御するアプリケーションを開発できるように、情報処理装置の動作を制御するためのプログラム(API:Application Programming Interface)を一般の開発者に対して提供する場合がある。
特開平10−83310号公報
上記のように提供されるAPIの中には、一般の開発者に公開可能なものから、特定の契約を結んだ開発者や、APIの利用に対して課金を行った開発者にのみ公開可能なものが含まれる場合がある。そのため、APIの公開範囲、即ち、情報処理装置が提供する機能の利用に関する制限を、開発者に応じて変更できるような仕組みが求められている。
しかしながら、APIの利用権限を持たない開発者が作成したアプリケーションが、開発者を示す情報(以降では、「開発元識別情報」と呼ぶ場合がある)を詐称することで、本来は利用権限のないAPIを利用可能とする不正が行われる場合が推測される。
そこで、本開示では、開発者に応じて機能の利用を制限し、かつ、機能の不正利用を抑止することが可能な、新規かつ改良された情報処理装置、情報処理方法、及びプログラムを提案する。
本開示によれば、ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報と、自身が有する1以上の機能の実行の可否を制御するためのアクセス制御情報とを、当該ユーザ端末から取得する取得部と、前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定する判定部と、前記判定部による判定結果に基づき、前記アクセス制御情報に基づき前記1以上の機能のうち少なくとも一部の実行を制御する制御部と、を備える、情報処理装置が提供される。
以上のように、本開示に係る情報処理装置は、アプリケーションプログラムに関連付けられた開発元識別情報をユーザ端末から取得し、取得した開発元識別情報が示す開発元が、事前申請された開発元か否かに応じて自身が有する機能の実行を制御する。このように開発元を提示させることで、開発元の詐称により機能を不正に利用した場合においても、アプリケーションプログラムの提供時に示される実際の開発元と、機能を利用するために提示される開発元が異なり、不正利用を検知することが可能となる。このように、開発元の詐称に伴う不正利用が検知されることで、当該不正利用を抑止することも可能となる。
また、本開示によれば、ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報と、自身が有する1以上の機能の実行の可否を制御するためのアクセス制御情報とを、当該ユーザ端末から取得するステップと、前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定するステップと、前記判定部による判定結果に基づき、前記アクセス制御情報に基づき前記1以上の機能のうち少なくとも一部の実行を制御するステップと、を備える、情報処理方法が提供される。
また、本開示によれば、コンピュータに、ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報と、自身が有する1以上の機能の実行の可否を制御するためのアクセス制御情報とを、当該ユーザ端末から取得することと、前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定することと、前記判定部による判定結果に基づき、前記アクセス制御情報に基づき前記1以上の機能のうち少なくとも一部の実行を制御することと、を実行させるプログラムが提供される。
以上説明したように本開示によれば、開発者に応じて機能の利用を制限し、かつ、機能の不正利用を抑止することが可能な情報処理装置、情報処理方法、及びプログラムが提供される。
本開示の実施形態に係る情報処理システムの適用分野について説明するための図である。 同実施形態に係る情報処理システムの概略的なシステム構成の一例を示した図である。 同実施形態に係る情報処理システムの適用例について説明するための図である。 同実施形態に係る情報処理システムの適用例について説明するための図である。 同実施形態に係る情報処理システムの適用例について説明するための図である。 同実施形態に係る管理サーバの構成の一例を示したブロック図である。 同実施形態に係る情報処理装置及びユーザ端末の構成の一例を示したブロック図である。 同実施形態に係る管理サーバの一連の動作を示したシーケンス図である。 同実施形態に係る情報処理装置の一連の動作を示したシーケンス図である。 本開示の実施形態に係る情報処理装置のハードウェア構成の一例である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.課題の整理
2.概要
3.構成
4.処理
5.ハードウェア構成
6.まとめ
<1.課題の整理>
まず、図1を参照しながら、本開示の実施形態に係る情報処理システムの課題について整理する。図1は、本開示の実施形態に係る情報処理システムの適用分野について説明するための図である。
近年では、図1に示すように、デジタルカメラ10aやテレビジョン装置10b等のデバイスや、PC(Personal Computer)等のような情報処理装置10cを、スマートフォンのようなユーザ端末20を介して操作する機能が提供されている。なお、以降では、デジタルカメラ10a、テレビジョン装置10b、及び情報処理装置10cを総じて、「情報処理装置10」と呼ぶ場合がある。
ユーザ端末20を介して情報処理装置10を操作する技術は、例えば、ユーザ端末20に専用のアプリケーションd10をインストールし、当該アプリケーションd10を媒介として、情報処理装置10の動作を制御することにより実現される。
また、情報処理装置10の動作を制御するアプリケーションd10を開発できるように、情報処理装置10の動作を制御するためのAPIを一般の開発者に対して提供する場合がある。
上記のように提供されるAPIの中には、基本的な動作を制御するためのAPIや、細かい制御を可能とするAPI、または、付加的な機能を実現するためのAPI等のように多様な種類のAPIが含まれている場合がある。このようなAPIの中には、一般の開発者に公開可能なものから、特定の契約を結んだ開発者や、APIの利用に対して課金を行った開発者にのみ公開可能なものが含まれる場合もある。そのため、APIの公開範囲、即ち、情報処理装置10が提供する機能の利用に関する制限を、開発者に応じて変更できるような仕組みが求められている。
しかしながら、APIの利用権限を持たない開発者が作成したアプリケーションが、開発者を示す識別情報(以降では、「開発元識別情報」と呼ぶ場合がある)を詐称することで、本来は利用権限のないAPIを利用可能とする不正が行われる場合が推測される。そのため、開発元の詐称によるAPIの不正利用を抑止する技術も求められている。
APIの不正利用を抑止する手法としては、例えば、鍵共有方式に基づきユーザ端末20と情報処理装置10で送受信される情報を暗号化することで、通信路上での盗聴を防止する方法が挙げられる。しかしながら、スマートフォンのようなユーザ端末20にダウンロードされたアプリケーションは、逆アセンブルされる恐れがある。このことは、ユーザ端末20が情報を暗号化するために保持する鍵情報についても同様であり、鍵情報が逆アセンブルされ不正に公開された場合には、暗号化に基づく情報の保護が意味をなさなくなる場合もある。
また、他の方法として、例えば、開発者ごとの権限情報を、情報処理装置10やユーザ端末20とは異なる外部サーバ等で管理し、情報処理装置10がサーバ上の権限情報を参照することで、APIへのアクセス制御を実現する方法もある。しかしながら、情報処理装置10の中には、デジタルカメラ等のようにインターネットのような外部ネットワークにアクセスするためのインタフェースを持たないものもあり、外部サーバに対して常時アクセス可能とすることが困難な場合がある。また、ユーザ端末20側についても、外部サーバに対して常時アクセス可能とすることが困難な場合がある。例えば、ユーザ端末20の中には、デジタルカメラ等のような情報処理装置10との間で、Wi−Fi(Wireless Fidelity)(登録商標)のような技術に基づき直接通信を行う場合に、外部ネットワークにアクセスできないものもある。
また、外部ネットワークへのアクセスを前提としない情報処理装置10は、例えば、ファームウェアアップデート等により内部の情報を更新するため、当該内部の情報を適宜更新することが困難な場合もある。そのため、例えば、APIに対する特定の開発者の権限を判定するための情報を、情報処理装置10側に記憶させる手法は現実的ではない場合がある。
また、他の手法として、アプリケーション自体に正当性を示す証明書(例えば、デジタル証明書)を付与することで、当該証明書に基づきAPIに対するアクセス権限の正当性を判断する手法もある。しかしながら、ユーザ端末20で動作するアプリケーションに添付された証明書を情報処理装置10側で検証する場合には、当該アプリケーション自体を情報処理装置10に送信する必要があり、アプリケーションを起動するための負荷が増大する。
以上の点から、ユーザ端末20内の情報が参照された場合においても、情報処理装置10が外部ネットワークに接続可能か否かに関わらず、開発元の詐称に伴うAPIの不正利用を抑止する仕組みが求められている。
そこで、本開示では、開発者に応じてAPIの利用を制限し、かつ、開発元の詐称に伴うAPIの不正利用を抑止することが可能な情報処理システムを提案する。
<2.概要>
次に、本実施形態に係る情報処理システムの概要について説明する。本実施形態に係る情報処理システムは、開発者u50が情報処理装置10の動作を制御するためのアプリケーションd10を開発できるように、当該情報処理装置10の動作制御に係るAPI群50を、開発者u50に公開するための仕組みを提供する。
(システム構成)
ここで、図2を参照する。図2は、本実施形態に係る情報処理システムの概略的なシステム構成の一例を示した図である。
図2に示すように、本実施形態に係る情報処理システムは、情報処理装置10と、ユーザ端末20と、管理サーバ30と、開発者端末80と、アプリケーション提供サーバ90とを含む。
開発者端末80は、開発者u50がアプリケーションd10を開発するための端末を示している。また、アプリケーション提供サーバ90は、開発者u50が開発したアプリケーションd10を、一般のユーザu20に有償または無償で提供するためのサーバを模擬的に示している。アプリケーション提供サーバ90の具体的な一例としては、アプリケーションストアのような配信チャネルを提供するサーバが挙げられる。ユーザ端末20は、例えば、アプリケーション提供サーバ90で公開されているアプリケーションd10をダウンロードすることで取得する。
なお、アプリケーション提供サーバ90を介したアプリケーションd10の提供方法はあくまで一例であり、開発者u50が開発したアプリケーションd10をユーザ端末20が取得できれば、本実施形態に係る情報処理システムの構成は限定されない。例えば、アプリケーションd10は、可搬媒体などに記憶された状態でユーザu20に提供されてもよい。この場合には、ユーザu20が、可搬媒体中のアプリケーションd10をユーザu20にインストールすることで、ユーザ端末20中にアプリケーションd10が記憶される。
管理サーバ30と、開発者端末80と、アプリケーション提供サーバ90と、ユーザ端末20とは、ネットワークn0を介して接続されている。ネットワークn0は、例えば、インターネット、専用線、LAN(Local Area Network)、または、WAN(Wide Area Network)等により構成される。なお、異なる装置間を接続するネットワークであれば、ネットワークn0の態様は限定されない。また、管理サーバ30、開発者端末80、アプリケーション提供サーバ90、及びユーザ端末20のうちの一部の構成間のネットワークを他の構成間のネットワークとは物理的または論理的に別のネットワークとして構成してもよい。具体的な一例として、管理サーバ30と開発者端末80との間を、VPN(Virtual Private Network)の技術を利用することで、インターネットのような外部ネットワークから論理的に隔離してもよい。
情報処理装置10は、ユーザ端末20でアプリケーションd10が実行されることで動作が制御される制御対象を示している。情報処理装置10とユーザ端末20とは、ネットワークn1を介して接続されている。ネットワークn1としては、例えば、Wi−Fiのような装置間の直接通信における無線通信の経路が挙げられる。なお、以降は、ネットワークn1を、情報処理装置10とユーザ端末20との間の直接通信における無線通信の経路として説明するが、情報処理装置10とユーザ端末20との間で通信が確立できれば、その態様は限定されないものとする。
情報処理装置10は、自身の動作を制御するためのAPI群50を記憶しており、アプリケーションd10の実行に基づくユーザ端末20からの指示に応じて、API群50の中から対応するプログラム(API)を動作させる。
(APIへのアクセス制御)
本実施形態に係る情報処理システムでは、情報処理装置10は、自身の動作を制御するためのAPI群50に対する開発者u50の利用申請の状況に応じて、アプリケーションd10からAPI群50中の各APIへのアクセスを制御する。以下に、本実施形態に係る情報処理システムにおける、API群50中の各APIへのアクセス制御の概要について説明する。
本実施形態に係る情報処理システムでは、管理サーバ30が、開発者u50からの申請に基づき、API群50のうち申請が承認されたAPIの制限を解除するためのアクセス制御情報d30を開発者u50に対して発行する。
具体的には、管理サーバ30は、開発者u50により指定された当該開発者u50の開発者名d20と、API群50のうち使用するAPIのリストとを、当該開発者u50が操作する開発者端末80から取得する。管理サーバ30は、「開発者名d20」が示す開発者u50に対して識別情報d22を発行する。
また、管理サーバ30は、取得したAPIのリストに基づき、リスト中に指定されたAPIに対するアクセスを制御(許可)するためのアクセス制御情報d30を生成する。なお、アクセス制御情報d30の内容については、当該アクセス制御情報d30を生成する具体的な構成の説明とあわせて別途後述する。
また、管理サーバ30は、あらかじめ生成された鍵情報k10を記憶しており、開発者名d20と、識別情報d22と、アクセス制御情報d30とを、当該鍵情報k10に基づき符号化して符号化情報d32を生成する。
管理サーバ30は、発行した識別情報d22と、生成したアクセス制御情報d30及び符号化情報d32とを、開発者u50の開発者端末80に送信する。以上により、開発者u50が、API群50のうち利用の申請を行ったAPIを使用してアプリケーションd10を開発するための事前申請が完了する。
なお、本実施形態に係る情報処理システムでは、開発者u50は、開発するアプリケーションd10において利用の申請を行ったAPIを使用する場合には、開発者名d20と、識別情報d22と、アクセス制御情報d30と、符号化情報d32とを当該アプリケーションd10内に埋め込む。なお、以降では、開発者名d20と、識別情報d22とを総じて「開発元識別情報」と呼ぶ場合がある。また、開発元識別情報と、アクセス制御情報d30と、符号化情報d32とを総じて「認証情報」と呼ぶ場合がある。このような構成により、情報処理装置10は、アプリケーションd10が実行された場合に、アプリケーションd10に埋め込まれた認証情報を取得し、取得した認証情報に基づき、開発者u50がAPIの利用権限を有しているかを確認することが可能となる。なお、情報処理装置10による、認証情報に基づくAPIの利用権限の有無の確認に係る動作の詳細について後述する。
なお、アプリケーションd10への、認証情報の埋め込みについては、APIの動作によりルール化することが可能である。具体的な一例として、API群50のうち利用申請が必要なAPIについては、アプリケーションd10が実行された場合に、当該アプリケーションd10に埋め込まれた認証情報が提示されない場合には、利用制限が解除されないように処理を定義しておけばよい。
なお、開発者u50は、認証情報が埋め込まれたアプリケーションd10を、例えば、アプリケーション提供サーバ90で公開する。これにより、ユーザu20は、開発者u50が開発したアプリケーションd10を、アプリケーション提供サーバ90からダウンロードして自身のユーザ端末20にインストールすることが可能となる。
次に、ユーザ端末20にインストールされたアプリケーションd10が実行されることで、ユーザ端末20がネットワークn1を介して情報処理装置10にアクセスした場合の動作に着目して説明する。
本実施形態に係る情報処理装置10は、アプリケーションd10の実行に伴いユーザ端末20からのアクセスを受けた場合に、当該ユーザ端末20からアプリケーションd10に埋め込まれた認証情報を取得する。
このとき、ユーザ端末20は、認証情報のうち、開発元識別情報及びアクセス制御情報d30に対して不可逆処理を施さずに情報処理装置10に送信する。また、ユーザ端末20は、認証情報のうち少なくとも開発元識別情報に対して暗号化処理及び符号化処理のいずれも施さずに、情報処理装置10への送信対象としてもよい。なお、ここでの暗号化処理及び符号化処理は、データの保護を目的とした暗号化処理及び符号化処理を指し、所定の通信方式に基づき通信を行うための暗号化処理及び符号化処理を指すものではない。
また、ユーザ端末20は、認証情報に含まれる符号化情報d32を更に符号化して、情報処理装置10に送信してもよい。このとき、ユーザ端末20は、符号化情報d32を符号化するための鍵情報(例えば、乱数)を情報処理装置10から取得してもよい。なお、ユーザ端末20による符号化情報d32の符号化に係る処理の詳細については、別途後述する。
情報処理装置10は、ユーザ端末20から取得した認証情報に基づき、当該認証情報中に含まれる開発元識別情報が示す開発者u50が、APIの利用申請を行った開発元であるか否かを判別する。
具体的な一例として、情報処理装置10は、ユーザ端末20から取得した開発者名d20、識別情報d22、及びアクセス制御情報d30を符号化して符号化情報d42を生成し、当該符号化情報d42に基づき、開発者u50に対する判別を行ってもよい。
この場合には、情報処理装置10は、管理サーバ30に記憶された鍵情報k10をあらかじめ取得し記憶しておく。情報処理装置10は、ユーザ端末20から取得した開発元識別情報及びアクセス制御情報d30を、鍵情報k10に基づき符号化して符号化情報d42を生成する。そして、情報処理装置10は、生成した符号化情報d42と、取得した符号化情報d32とを比較し、これらが一致するか否かに基づき、開発元識別情報が示す開発者u50が、APIの利用申請を行った開発元であるか否かを判別すればよい。
なお、上記に示した判別方法はあくまで一例であり、情報処理装置10が、取得した認証情報に基づき、開発元識別情報が示す開発者u50が、APIの利用申請を行った開発元であるか否かを判別できれば、その態様は限定されない。
開発者u50がAPIの利用申請を行った開発元であることが確認できたら、情報処理装置10は、認証情報中のアクセス制御情報d30に基づき、利用申請が行われているAPIを認識する。そして、情報処理装置10は、アプリケーションd10の実行に伴い呼び出されるAPIが、アクセス制御情報d30に基づき認識できるAPI中に含まれるか否かに応じて、自身による当該APIの実行を制御する。
また、開発者u50がAPIの利用申請を行った開発元であることが確認できたら、情報処理装置10は、開発元識別情報が示す開発者u50を、例えば表示部に識別可能に表示させてもよい。例えば、図3は、本実施形態に係る情報処理システムの適用例について説明するための図であり、情報処理装置10とユーザ端末20との間の接続確立時にアプリケーションd10の開発元を示す情報を表示させる場合の例を示している。図3に示すように、情報処理装置10は、表示部106(例えば、ディスプレイ)に、開発元識別情報が示す開発者u50を識別可能に提示した開発元情報v10を表示している。
なお、開発者u50が、事前申請を行わずに、事前申請を行った他の開発者の情報に詐称して認証情報をアプリケーションd10に埋め込んだものとする。この場合には、アプリケーションd10の提供時にダウンロードサイト等に示される開発元と、アプリケーションd10の実行に伴い表示される開発元とが一致しなくなる。例えば、図4は、本実施形態に係る情報処理システムの適用例について説明するための図であり、ダウンロードサイトv90の一例を示している。
図4に示すように、ダウンロードサイトv90には、提供対象となるアプリケーションd10に関する情報として、当該アプリケーションd10の開発を示した開発元情報v92が表示される。前述の通り、開発者u50が、事前申請を行った他の開発者の情報に詐称した場合には、図3に示した表示部106に表示される開発元情報v10と、図4に示したダウンロードサイトv90に提示される開発元情報v92とが一致しなくなる。なお、可搬媒体を利用してインストールした場合には、例えば、当該可搬媒体のパッケージ上の記載や、ホームページ等で公開されている情報に基づき、本来の開発元を確認することも可能である。
また、アプリケーションd10の実行時に、開発元識別情報に対して暗号化や符号化が施されずに情報処理装置10に送信されるため、ユーザ端末20と情報処理装置10との間のネットワークn1に開発元識別情報が露出することとなる。
以上のように、本実施形態に係る情報処理システムでは、アプリケーションd10の実行時に、ユーザ端末20に、当該アプリケーションd10に埋め込まれた開発元識別情報を提示させる。これにより、開発元の詐称によりAPIが不正利用されていたとしても、アプリケーションd10を利用するユーザに開発元が詐称されていることを気付かせることが可能となる。また、このように開発元の詐称がアプリケーションd10を利用するユーザにより検知されることで、開発元の不正がユーザに知られることとなるため、副次的に、開発元の詐称に伴うAPIの不正利用を抑止することが可能となる。
なお、情報処理装置10が、表示部106に開発元情報v10を表示させるタイミングは特に限定されない。具体的な一例として、情報処理装置10は、ユーザ端末20で実行されたアプリケーションd10に基づき動作が制御されている間は、開発元情報v10を表示部106に表示させていてもよい。
例えば、図5は、本実施形態に係る情報処理システムの適用例について説明するための図であり、情報処理装置10としてデジタルカメラを使用し、ユーザ端末20からの操作に基づきデジタルカメラによる撮像を制御する場合の一例を示している。図5に示す例では、デジタルカメラによる撮像に伴い表示部106に撮像された画像v20aが表示されるとともに、当該画像v20aがユーザ端末20に転送され、画像v20bとしてユーザ端末20の表示部206に表示されている。このとき、デジタルカメラは、表示部106に表示された画像v20aとあわせて開発元情報v10を表示させてもよい。このように、アプリケーションd10が動作している期間中に開発元情報v10を表示させることで、ユーザu20に対して、動作しているアプリケーションd10と開発元情報v10が示す開発元との関係をより意識づけることが可能となる。
<3.構成>
次に、情報処理装置10、ユーザ端末20、及び管理サーバ30の詳細な構成について説明する。まず、図6を参照しながら、管理サーバ30の構成について説明する。図6は、本実施形態に係る管理サーバ30の構成の一例を示したブロック図である。
(管理サーバ30)
図6に示すように、管理サーバ30は、開発者情報取得部302と、識別情報生成部304と、開発者情報記憶部306と、符号化情報生成部308と、鍵情報記憶部310とを含む。
開発者情報取得部302は、開発者u50により指定された当該開発者u50の開発者名d20と、API群50のうち使用するAPIのリストとを、当該開発者u50が操作する開発者端末80から取得する。
なお、開発者情報取得部302が、開発者名d20と、APIのリストとを取得する方法は特に限定されない。例えば、開発者情報取得部302は、メールを媒介として、開発者端末80から開発者名d20と、APIのリストとを取得してもよい。
また、他の一例として、開発者情報取得部302は、開発者名d20及びAPIのリストを指定するための画面を生成してもよい。この場合には、開発者u50は、例えば、開発者端末80を操作して管理サーバ30にアクセスし、開発者情報取得部302が提示する画面に対して操作を行うことで、開発者名d20及びAPIのリストを指定してもよい。
開発者情報取得部302は、取得した開発者名d20と、APIのリストとを識別情報生成部304に出力する。
識別情報生成部304は、開発者名d20と、APIのリストとを開発者情報取得部302から取得する。識別情報生成部304は、「開発者名d20」が示す開発者u50に対して識別情報d22を発行する。
また、識別情報生成部304は、取得したAPIのリストに基づき、リスト中に指定されたAPIに対するアクセスを制御(許可)するためのアクセス制御情報d30を生成する。
アクセス制御情報d30は、例えば、利用が許可されたAPI名の一覧でもよいし、API名を示す識別情報(例えば、APIを示す番号)の一覧でもよい。また、APIの管理単位に応じてアクセス制御情報の内容を適宜変更してもよい。例えば、パッケージ単位で管理している場合には、アクセス制御情報d30は、利用が許可されたパッケージ名の一覧でもよい。また、開発者を所定の種別に分けて管理し、当該開発者の種別ごとに利用可能なAPIを定義している場合には、アクセス制御情報d30は、開発者の種別を示す情報でもよい。このように、利用が許可されたAPIを識別可能であれば、アクセス制御情報d30の態様は特に限定はされない。
識別情報生成部304は、取得した開発者名d20と、発行した識別情報d22と、生成したアクセス制御情報d30とを関連付けて、開発者情報として開発者情報記憶部306に記憶させる。なお、既に開発者情報が登録された開発者u50から、新たに利用するAPIに関する登録の申請を受けた場合には、識別情報生成部304は、開発者情報記憶部306に記憶された当該開発者u50の開発者情報を更新するように動作させてもよい。
識別情報生成部304は、取得した開発者名d20と、発行した識別情報d22と、生成したアクセス制御情報d30とを、符号化情報生成部308に出力する。
符号化情報生成部308は、開発者名d20と、識別情報d22と、アクセス制御情報d30とを、識別情報生成部304から取得する。
符号化情報生成部308は、開発者名d20と、識別情報d22と、アクセス制御情報d30とを、あらかじめ生成された鍵情報k10に基づき符号化して符号化情報d32を生成する。なお、鍵情報k10は、鍵情報記憶部310に記憶されている。
このとき、符号化情報生成部308は、符号化の方式として不可逆的な符号化方式を用いてもよい。なお、符号化情報d32を生成するための符号化方式は、鍵情報に基づき符号化可能であれば、その方法は限定されない。符号化情報d32を生成するための符号化方式の一例として、鍵付きハッシュが挙げられる。
符号化情報生成部308は、識別情報d22と、アクセス制御情報d30と、符号化情報d32とを、開発者u50の開発者端末80に送信する。これにより、開発者u50が、利用申請を行ったAPIを使用してアプリケーションd10を開発するための情報、即ち、識別情報d22、アクセス制御情報d30、及び符号化情報d32が、開発者u50に通知される。
以上により、開発者u50が、API群50のうち利用の申請を行ったAPIを使用してアプリケーションd10を生成するための事前申請が完了する。なお、アプリケーションd10が、情報処理装置10内のAPI群50を利用するためには、開発元識別情報、アクセス制御情報d30、及び符号化情報d32を情報処理装置10に通知する必要がある。そのため、例えば、開発者u50により開発されたアプリケーションd10には、管理サーバ30から開発者u50に通知された開発元識別情報、アクセス制御情報d30、及び符号化情報d32が埋め込まれることとなる。なお、開発元識別情報、アクセス制御情報d30、及び符号化情報d32を情報処理装置10に通知されれば、必ずしもこれらの情報をアプリケーションd10に埋め込む必要はない。
(情報処理装置10及びユーザ端末20)
次に、図7を参照しながら、情報処理装置10及びユーザ端末20の構成について説明する。図7は、本実施形態に係る情報処理装置10及びユーザ端末20の構成の一例を示したブロック図である。なお、ユーザ端末20には、開発者u50のより開発されたアプリケーションd10がインストールされているものとして説明する。
まず、ユーザ端末20に着目する。図7に示すように、ユーザ端末20は、情報処理装置10と通信を行うための通信部202を含み、アプリケーション25がインストールされている。なお、アプリケーション25は、前述した情報処理装置10の動作を制御するためのアプリケーションd10が実行されることにより実現される機能を模式的に示している。アプリケーション25は、通信処理部252と、符号化処理部254と、アクセス制御情報記憶部256と、符号化情報記憶部258とを含む。
通信部202は、情報処理装置10と通信を行うためのインタフェースである。通信部202は、例えば、ユーザ端末20と情報処理装置10との間で、Wi−Fi等のような無線通信を確立するためのデバイスであり得る。なお、無線通信に限らず、ユーザ端末20と情報処理装置10との間で通信を確立できれば、通信部202の態様は特に限定されない。ユーザ端末20は、通信部202を介して、情報処理装置10との間でデータの送受信を行う。なお、以降では、ユーザ端末20内の各構成が情報処理装置10側の構成とデータの送受信を行う場合には、特に記載が無い場合においても、通信部202を介してデータの送受信を行うものとする。
アクセス制御情報記憶部256は、開発元識別情報(即ち、開発者名d20及び識別情報d22)と、アクセス制御情報d30とを記憶する記憶部である。
また、符号化情報記憶部258は、符号化情報d32を記憶する記憶部である。
通信処理部252は、情報処理装置10からのデータの取得や、情報処理装置10へのデータの送信を行う。以下に、通信処理部252の具体的な動作について説明する。
アプリケーションd10が起動すると、通信処理部252は、情報処理装置10に対して符号化のための鍵情報の生成を依頼し、その応答として鍵情報k20を情報処理装置10から取得する。なお、鍵情報k20の詳細については、情報処理装置10の構成の説明とあわせて別途後述する。
情報処理装置10から鍵情報k20を取得すると、通信処理部252は、取得した鍵情報k20を符号化処理部254に出力する。また、通信処理部252は、鍵情報k20の出力に対する応答として、符号化処理部254から符号化情報d52を取得する。符号化情報d52は、前述した符号化情報d32が、鍵情報k20に基づき符号化された情報である。なお、符号化情報d52の生成に係る処理については、符号化処理部254の動作とあわせて別途後述する。
また、通信処理部252は、アクセス制御情報記憶部256から、開発元識別情報及びアクセス制御情報d30を読み出す。通信処理部252は、取得した符号化情報d52と、アクセス制御情報記憶部256から読み出した開発元識別情報及びアクセス制御情報d30とを、認証情報として情報処理装置10に送信する。
このとき、通信処理部252は、認証情報のうち、開発元識別情報及びアクセス制御情報d30に対して不可逆処理を施さずに情報処理装置10に送信する。また、通信処理部252は、認証情報のうち少なくとも開発元識別情報に対して暗号化処理及び符号化処理のいずれも施さずに、情報処理装置10への送信対象としてもよい。なお、ここでの暗号化処理及び符号化処理は、データの保護を目的とした暗号化処理及び符号化処理を指し、所定の通信方式に基づき通信を行うための暗号化処理及び符号化処理のみを指すものではない。
符号化処理部254は、通信処理部252から鍵情報k20を取得する。鍵情報k20を取得すると、符号化処理部254は、符号化情報記憶部258から符号化情報d32を読み出す。符号化処理部254は、読み出した符号化情報d32を取得した鍵情報k20に基づき符号化して、符号化情報d52を生成する。
このとき、符号化処理部254は、符号化の方式として不可逆的な符号化方式を用いる。なお、符号化情報d52を生成するための符号化方式は、鍵情報に基づき符号化可能であり、かつ、不可逆的であれば、その方法は限定されない。符号化情報d52を生成するための符号化方式の一例として、鍵付きハッシュが挙げられる。
符号化処理部254は、生成した符号化情報d52を通信処理部252に出力する。
次に、情報処理装置10の構成について説明する。図7に示すように、情報処理装置10は、通信部102と、鍵情報記憶部104と、表示部106と、処理部150とを含む。また、処理部150は、乱数生成部152と、認証情報取得部154と、判定部156と、表示制御部158と、アクセス制御部160とを含む。
通信部102は、ユーザ端末20と通信を行うためのインタフェースである。なお、通信部102の構成は、前述した通信部202と同様であるため詳細な説明は省略する。なお、以降では、情報処理装置10内の各構成がユーザ端末20側の構成とデータの送受信を行う場合には、特に記載が無い場合においても、通信部102を介してデータの送受信を行うものとする。
鍵情報記憶部104は、鍵情報k10を記憶する記憶部である。鍵情報記憶部104には、前述した管理サーバ30の鍵情報記憶部310に記憶された鍵情報と同様の鍵情報k10が記憶されている。
乱数生成部152は、ユーザ端末20から鍵情報の生成に係る依頼を受けると、符号化のための鍵情報k20を生成する。鍵情報k20の具体的な一例として、乱数のようにランダムに生成された情報が挙げられる。なお、鍵情報k20は、乱数に限らず、符号化処理を行うための鍵の役割を果たせば、その態様は特に限定されない。
乱数生成部152は、生成した鍵情報k20をユーザ端末20に送信する。これにより、ユーザ端末20は、鍵情報k20に基づき符号化情報d32を符号化して、符号化情報d52を生成することが可能となる。
また、乱数生成部152は、生成した鍵情報k20を判定部156に出力する。
認証情報取得部154は、情報処理装置10から認証情報として、開発元識別情報、アクセス制御情報d30、及び符号化情報d52を取得する。認証情報取得部154は、取得した認証情報を判定部156に出力する。
判定部156は、ユーザ端末20から送信された認証情報を取得し、取得した認証情報に基づき、当該認証情報中の開発元識別情報が示す開発元が、事前申請された開発元であるか否かを判定する。なお、開発元識別情報が示す開発元は、ユーザ端末20で実行されたアプリケーションd10の開発元を示している。以下に、判定部156による判定処理の一例について説明する。
判定部156は、鍵情報k20を乱数生成部152から取得する。また、判定部156は、認証情報を認証情報取得部154から取得する。また、判定部156は、鍵情報記憶部310から鍵情報k10を読み出す。
判定部156は、取得した認証情報中の開発元識別情報及びアクセス制御情報d30を鍵情報k10に基づき符号化して、符号化情報d42を生成する。なお、このとき判定部156は、管理サーバ30の符号化情報生成部308と同様の符号化処理に基づき、符号化情報d42を生成する。即ち、符号化情報d52の生成元である符号化情報d32が、認証情報中の開発元識別情報及びアクセス制御情報d30に基づき符号化情報生成部308で生成されている場合には、符号化情報d32及びd42は一致することとなる。
符号化情報d42を生成したら、判定部156は、生成した符号化情報d42を鍵情報k20に基づき符号化して、符号化情報d62を生成する。なお、このとき判定部156は、ユーザ端末20の符号化処理部254と同様の符号化処理に基づき、符号化情報d62を生成する。
判定部156は、生成した符号化情報d62と、取得した符号化情報d52とを比較し、一致する場合には、開発元識別情報が示す開発元が、事前申請された開発元であると認識する。なお、このとき、符号化情報d32及びd42が一致する場合には、同様の鍵情報k20に基づき同様の符号化処理により符号化された符号化情報d52及びd62は一致することとなる。
なお、上述した判定部156の処理は、あくまで一例であり、取得した認証情報に基づき、当該認証情報中の開発元識別情報が示す開発元が、事前申請された開発元であるか否かを判定できれば、その動作は限定されない。例えば、判定部156がインターネットのような外部ネットワークを介して管理サーバ30と通信可能であれば、取得した認証情報中の開発元識別情報が正しいか否かを、当該外部ネットワークを介して管理サーバ30に問い合わせてもよい。
また、上記では、符号化情報d32を鍵情報k20により符号化してユーザ端末20から情報処理装置10に送信する例について説明したが、鍵情報k20による符号化を行わずに、符号化情報d32をユーザ端末20から情報処理装置10に送信してもよい。その場合には、鍵情報k20の生成及び送信に係る処理や、鍵情報k20に基づく符号化情報d32の符号化処理を実行する必要が無いことは言うまでもない。また、情報処理装置10は、ユーザ端末20から符号化情報d32を取得し、取得した符号化情報d32が、鍵情報k10に基づき生成した符号化情報d42と一致するか否かに基づき判定を行えばよい。
開発元識別情報が示す開発元が事前申請された開発元であると認識したら、判定部156は、アクセス制御情報d30をアクセス制御部160に出力する。また、判定部156は、開発元識別情報が示す開発元が事前申請された開発元であることが判別されたことを、ユーザ端末20に通知してもよい。この通知を受けて、ユーザ端末20は、利用に関する事前申請を行ったAPIの呼び出しを行えばよい。
また、判定部156は、開発元識別情報が示す開発元を示す情報、例えば、開発者名d20及び識別情報d22のうち少なくともいずれかを表示制御部158に出力してもよい。なお、以降では、判定部156は、開発者名d20及び識別情報d22の双方を表示制御部158に出力したものとして説明する。
アクセス制御部160は、判定部156からアクセス制御情報d30を取得する。アクセス制御部160は、ユーザ端末20の実行部(図示しない)によりアプリケーションd10が実行されAPIが呼び出された場合には、アクセス制御情報d30の内容に基づき、当該APIの実行を許可または制限する。
具体的な一例として、呼び出されたAPIが特に利用を制限されておらず、事前申請を必要としない場合には、アクセス制御部160は、当該APIの実行を許可する。APIの実行が許可されると、情報処理装置10の実行部(図示しない)により、当該APIが実行される。
また、呼び出されたAPIの利用が制限されており、アクセス制御情報d30により当該APIの利用が許可されている場合には、アクセス制御部160は、当該APIの実行を許可する。
一方で、呼び出されたAPIの利用が制限されており、アクセス制御情報d30により当該APIの利用が許可されていない場合には、アクセス制御部160は、当該APIの実行を制限または禁止する。このとき、アクセス制御部160は、呼び出されたAPIの実行が許可されていない旨を、ユーザ端末20に通知してもよい。
以上のようにして、アクセス制御部160は、アクセス制御情報d30に基づきAPI群50中の各APIの実行を制御する。
表示制御部158は、開発者名d20及び識別情報d22を判定部156から取得する。表示制御部158は、取得した開発者名d20及び識別情報d22、即ち、実行されたアプリケーションd10の開発元を示す情報を識別可能に表示部106に表示させる。表示部106は、ディスプレイ等の表示媒体である。具体的な一例として、情報処理装置10がデジタルカメラの場合には、表示部106は、情報の確認や撮像された画像の参照を行うために設けられたディスプレイ等が挙げられる。
このように、実行されたアプリケーションd10の開発元を示す情報を識別可能に表示させることで、例えば、開発元を示す情報を詐称することでAPIが不正に利用されている場合に、この不正利用を検知することが可能となる。
具体的には、開発元を示す情報を詐称している場合には、表示部106に表示される情報が、該当するアプリケーションの取得時にダウンロードサイト等に示される開発元と一致しなくなる。そのため、アプリケーションの実行に伴い取得された開発元を示す情報を識別可能に表示させることで、開発元を示す情報が詐称されている場合に、この開発元を示す情報の詐称を、情報処理装置10を使用しているユーザu20示唆することが可能となる。
なお、開発元を示す情報を識別可能に表示させる場合には、この開発元を示す情報の表示自体により、開発元の詐称に伴うAPIの不正利用を抑止することも可能となる。そのため、開発元を示す情報を識別可能に表示させる場合には、ユーザ端末20から情報処理装置10に開発者名d20または識別情報d22を送信するときに、これらの情報に対して可逆的な暗号化処理や符号化処理を施してもよい。この場合には、判定部156は、開発者名d20または識別情報d22に施された暗号化処理や符号化処理を復号し、復号された開発者名d20または識別情報d22に基づき上述した判定処理を実行すればよい。
また、上記では、開発者ごとに利用可能なAPIを制限する例について説明したが、APIの利用を制限する管理単位は運用に応じて適宜変更することも可能である。例えば、アプリケーションごとに利用可能なAPIを制限する場合には、アプリケーションごとに異なるアクセス制御情報d30を発行してもよい。このとき、アプリケーションごとに発行されるアクセス制御情報d30は、1つの識別情報d22に関連付けて管理してもよいし、それぞれについて異なる識別情報d22を発行してもよい。なお、アクセス制御情報d30が異なる場合には、各アクセス制御情報d30に基づき生成される符号化情報d32も異なるため、APIに対するアクセス制御をアプリケーション単位で切り替えることが可能となる。
<4.処理>
次に、本実施形態に係る情報処理システムの処理の流れについて、特に、開発者u50がAPI群50の利用のための事前申請に係る動作と、ユーザ端末20からの情報に基づき情報処理装置10がAPI群50の利用を制御する動作とに着目して説明する。
[事前申請に係る動作]
まず、図8を参照しながら、開発者u50が管理サーバ30に対してAPI群50の利用に関する事前申請を行う場合の、管理サーバ30の処理の流れについて説明する。図8は、本実施形態に係る管理サーバ30の一連の動作を示したシーケンス図である。
(ステップS102)
開発者情報取得部302は、開発者u50により指定された当該開発者u50の開発者名d20と、API群50のうち使用するAPIのリストとを、当該開発者u50が操作する開発者端末80から取得する。
開発者情報取得部302は、取得した開発者名d20と、APIのリストとを識別情報生成部304に出力する。
(ステップS104)
識別情報生成部304は、開発者名d20と、APIのリストとを開発者情報取得部302から取得する。識別情報生成部304は、「開発者名d20」が示す開発者u50に対して識別情報d22を発行する。
また、識別情報生成部304は、取得したAPIのリストに基づき、リスト中に指定されたAPIに対するアクセスを制御(許可)するためのアクセス制御情報d30を生成する。
識別情報生成部304は、取得した開発者名d20と、発行した識別情報d22と、生成したアクセス制御情報d30とを、符号化情報生成部308に出力する。
(ステップS106)
符号化情報生成部308は、開発者名d20と、識別情報d22と、アクセス制御情報d30とを、識別情報生成部304から取得する。
符号化情報生成部308は、開発者名d20と、識別情報d22と、アクセス制御情報d30とを、あらかじめ生成された鍵情報k10に基づき符号化して符号化情報d32を生成する。なお、鍵情報k10は、鍵情報記憶部310に記憶されている。
このとき、符号化情報生成部308は、符号化の方式として不可逆的な符号化方式を用いる。なお、符号化情報d32を生成するための符号化方式は、鍵情報に基づき符号化可能であり、かつ、不可逆的であれば、その方法は限定されない。符号化情報d32を生成するための符号化方式の一例として、鍵付きハッシュが挙げられる。
(ステップS108)
符号化情報生成部308は、識別情報d22と、アクセス制御情報d30と、符号化情報d32とを、開発者u50の開発者端末80に送信する。これにより、開発者u50が、利用申請を行ったAPIを使用してアプリケーションd10を開発するための情報、即ち、識別情報d22、アクセス制御情報d30、及び符号化情報d32が、開発者u50に通知される。
[APIの利用の制御に係る動作]
次に、図9を参照しながら、ユーザ端末20からの指示を受けて、情報処理装置10が、API群50の利用に関する権限を確認し、API群50に対するアクセス制御を行う場合の、情報処理装置10及びユーザ端末20の処理の流れについて説明する。図9は、本実施形態に係る情報処理装置10の一連の動作を示したシーケンス図である。
(ステップS202)
アプリケーションd10が起動すると、通信処理部252は、情報処理装置10に対して符号化のための鍵情報の生成を依頼する。
乱数生成部152は、ユーザ端末20から鍵情報の生成に係る依頼を受けると、符号化のための鍵情報k20を生成する。鍵情報k20の具体的な一例として、乱数のようにランダムに生成された情報が挙げられる。なお、鍵情報k20は、乱数に限らず、符号化処理を行うための鍵の役割を果たせば、その態様は特に限定されない。
(ステップS204)
乱数生成部152は、生成した鍵情報k20をユーザ端末20に送信する。また、乱数生成部152は、生成した鍵情報k20を判定部156に出力する。
情報処理装置10から鍵情報k20を取得すると、通信処理部252は、取得した鍵情報k20を符号化処理部254に出力する。
(ステップS206)
符号化処理部254は、通信処理部252から鍵情報k20を取得する。鍵情報k20を取得すると、符号化処理部254は、符号化情報記憶部258から符号化情報d32を読み出す。符号化処理部254は、読み出した符号化情報d32を取得した鍵情報k20に基づき符号化して、符号化情報d52を生成する。
このとき、符号化処理部254は、符号化の方式として不可逆的な符号化方式を用いる。なお、符号化情報d52を生成するための符号化方式は、鍵情報に基づき符号化可能であり、かつ、不可逆的であれば、その方法は限定されない。符号化情報d52を生成するための符号化方式の一例として、鍵付きハッシュが挙げられる。
符号化処理部254は、生成した符号化情報d52を通信処理部252に出力する。通信処理部252は、鍵情報k20の出力に対する応答として、符号化処理部254から符号化情報d52を取得する。
(ステップS208)
また、通信処理部252は、アクセス制御情報記憶部256から、開発元識別情報(即ち、開発者名d20及び識別情報d22)と、アクセス制御情報d30とを読み出す。通信処理部252は、取得した符号化情報d52と、アクセス制御情報記憶部256から読み出した開発元識別情報及びアクセス制御情報d30とを、認証情報として情報処理装置10に送信する。
このとき、通信処理部252は、認証情報のうち、開発元識別情報及びアクセス制御情報d30に対して不可逆処理を施さずに情報処理装置10に送信する。また、通信処理部252は、認証情報のうち少なくとも開発元識別情報に対して暗号化処理及び符号化処理のいずれも施さずに、情報処理装置10への送信対象としてもよい。
(ステップS210)
認証情報取得部154は、情報処理装置10から認証情報として、開発元識別情報、アクセス制御情報d30、及び符号化情報d52を取得する。認証情報取得部154は、取得した認証情報を判定部156に出力する。
判定部156は、鍵情報k20を乱数生成部152から取得する。また、判定部156は、認証情報を認証情報取得部154から取得する。また、判定部156は、鍵情報記憶部310から鍵情報k10を読み出す。
判定部156は、取得した認証情報中の開発元識別情報及びアクセス制御情報d30を鍵情報k10に基づき符号化して、符号化情報d42を生成する。なお、このとき判定部156は、管理サーバ30の符号化情報生成部308と同様の符号化処理に基づき、符号化情報d42を生成する。
符号化情報d42を生成したら、判定部156は、生成した符号化情報d42を鍵情報k20に基づき符号化して、符号化情報d62を生成する。なお、このとき判定部156は、ユーザ端末20の符号化処理部254と同様の符号化処理に基づき、符号化情報d62を生成する。
判定部156は、生成した符号化情報d62と、取得した符号化情報d52とを比較し、一致する場合には、開発元識別情報が示す開発元が、事前申請された開発元であると認識する。
(ステップS212)
開発元識別情報が示す開発元が事前申請された開発元であると認識したら、判定部156は、アクセス制御情報d30をアクセス制御部160に出力する。なお、開発元識別情報が示す開発元が事前申請された開発元であると認識できなかった場合には、判定部156は、ユーザ端末20からのアクセスを拒否してもよい。この場合には、ユーザ端末20側は、判定部15からのアクセス拒否に関する通知を受けて、アプリケーションd10を終了させてもよい。また、他の一例として、判定部156は、開発元識別情報が示す開発元が事前申請された開発元であると認識できなかった場合には、事前申請を必要としないAPIのみへのアクセスを許可したアクセス制御情報をアクセス制御部160に出力してもよい。
また、判定部156は、開発元識別情報が示す開発元を示す情報、例えば、開発者名d20及び識別情報d22のうち少なくともいずれかを表示制御部158に出力してもよい。なお、以降では、判定部156は、開発者名d20及び識別情報d22の双方を表示制御部158に出力したものとして説明する。
表示制御部158は、開発者名d20及び識別情報d22を判定部156から取得する。表示制御部158は、取得した開発者名d20及び識別情報d22、即ち、実行されたアプリケーションd10の開発元を示す情報を識別可能に表示部106に表示させる。
(ステップS214)
また、判定部156は、開発元識別情報が示す開発元が事前申請された開発元であることが判別されたことを、ユーザ端末20に通知してもよい。この通知を受けて、ユーザ端末20は、利用に関する事前申請を行ったAPIの呼び出しを行えばよい。
(ステップS216、S218)
アクセス制御部160は、判定部156からアクセス制御情報d30を取得する。アクセス制御部160は、ユーザ端末20の実行部(図示しない)によりアプリケーションd10が実行されAPIが呼び出された場合には(ステップS216)、アクセス制御情報d30の内容に基づき、当該APIの実行を許可または制限する(ステップS218)。
具体的な一例として、呼び出されたAPIが特に利用を制限されておらず、事前申請を必要としない場合には、アクセス制御部160は、当該APIの実行を許可する。APIの実行が許可されると、情報処理装置10の実行部(図示しない)により、当該APIが実行される。
また、呼び出されたAPIの利用が制限されており、アクセス制御情報d30により当該APIの利用が許可されている場合には、アクセス制御部160は、当該APIの実行を許可する。
一方で、呼び出されたAPIの利用が制限されており、アクセス制御情報d30により当該APIの利用が許可されていない場合には、アクセス制御部160は、当該APIの実行を制限または禁止する。このとき、アクセス制御部160は、呼び出されたAPIの実行が許可されていない旨を、ユーザ端末20に通知してもよい。
以上のようにして、アクセス制御部160は、アクセス制御情報d30に基づきAPI群50中の各APIの実行を制御する。
<5.ハードウェア構成>
以上、本開示の実施形態を説明した。上述した情報処理装置10による情報処理は、以下に説明するような情報処理装置10のハードウェアとの協働により実現される。
図10は、情報処理装置10のハードウェア構成の一例を示した説明図である。図10に示したように、情報処理装置10は、CPU(Central Processing Unit)901と、ROM(Read Only Memory)902と、RAM(Random Access Memory)903と、入力装置908と、出力装置910と、ストレージ装置911と、ドライブ912と、通信装置915とを備える。
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置10内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバスにより相互に接続されている。
入力装置908は、ボタンやスイッチなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。情報処理装置10のユーザは、該入力装置908を操作することにより、情報処理装置10に対して処理動作を指示したりすることができる。
出力装置910は、例えば、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置およびランプなどの表示装置を含む。さらに、出力装置910は、スピーカおよびヘッドホンなどの音声出力装置を含む。例えば、表示装置は、撮像された画像や生成された画像などを表示する。一方、音声出力装置は、音声データ等を音声に変換して出力する。
ストレージ装置911は、本実施形態にかかる情報処理装置10の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置911は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置911は、CPU901が実行するプログラムや各種データを格納する。
ドライブ912は、記憶媒体用リーダライタであり、情報処理装置10に内蔵、あるいは外付けされる。ドライブ912は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体に記録されている情報を読み出して、RAM903に出力する。また、ドライブ912は、リムーバブル記憶媒体に情報を書き込むこともできる。
通信装置915は、例えば、ネットワークNに接続するための通信デバイス等で構成された通信インタフェースである。特に、本開示の実施形態に係る通信装置915は、無線LAN(Local Area Network)対応通信装置を含む。なお、通信装置915は、LTE(Long Term Evolution)対応通信装置や、有線による通信を行うワイヤー通信装置を含んでもよい。
なお、ネットワークNは、ネットワークNに接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワークNは、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワークNは、IP−VPN(Internet Protocol−Virtual Private Network)などの専用回線網を含んでもよい。
また、図10に示すハードウェア構成はあくまで一例であり、上述した本開示の実施形態に係る情報処理装置10の動作を実現できれば図10に示したハードウェア構成には限定されない。
また、コンピュータに内蔵されるCPU、ROM及びRAMなどのハードウェアを、上記した情報処理装置が有する構成と同等の機能を発揮させるためのプログラムも作成可能である。また、当該プログラムを記録した、コンピュータに読み取り可能な記憶媒体も提供され得る。
<5.まとめ>
以上のように、本実施形態に係る情報処理装置システムに依れば、情報処理装置は、アプリケーションd10に関連付けられた開発元識別情報をユーザ端末20から取得し、取得した開発元識別情報が示す開発元が、事前申請された開発元か否かに応じてAPIの実行を制御する。このような構成により、開発者に応じてAPIの利用を制限することが可能となる。
また、本実施形態に係る情報処理装置システムでは、開発元識別情報が示す開発元を開発元情報v10として表示させたり、開発元識別情報をユーザ端末20と情報処理装置10との間のネットワークn1に露出させることで、開発元をユーザに識別可能に提示する。このとき、開発元を詐称することでAPIを不正に利用したアプリケーションd10が提供された場合に、当該アプリケーションd10の提供時に示される開発元と、開発元識別情報が示す開発元とが一致しなくなる。そのため、開発元の詐称によりAPIが不正利用されていたとしても、アプリケーションd10を利用するユーザに開発元が詐称されていることを気付かせることが可能となる。また、このように開発元の詐称がアプリケーションd10を利用するユーザにより検知されることで、開発元の不正がユーザに知られることとなるため、副次的に、開発元の詐称に伴うAPIの不正利用を抑止することが可能となる。
なお、上記では、開発元識別情報が示す開発元を開発元情報v10の表示に係る処理と、開発元識別情報に対して暗号化処理及び符号化処理のいずれも施さないことで、開発元識別情報をネットワークn1に露出させる処理の双方が実行される例について説明した。しかしながら、アプリケーションd10を利用するユーザに開発元が詐称されていることを気付かせることが可能であれば、いずれか一方の処理のみを実行させてもよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報と、自身が有する1以上の機能の実行の可否を制御するためのアクセス制御情報とを、当該ユーザ端末から取得する取得部と、
前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定する判定部と、
前記判定部による判定結果に基づき、前記アクセス制御情報に基づき前記1以上の機能のうち少なくとも一部の実行を制御する制御部と、
を備える、情報処理装置。
(2)
前記取得部は、不可逆処理が施されていない前記開発元識別情報を前記ユーザ端末から取得する、前記(1)に記載の情報処理装置。
(3)
前記取得部は、符号化処理及び暗号化処理のいずれも施されていない前記開発元識別情報を送信対象として前記ユーザ端末から送信されたデータを受信し、当該データから当該開発元識別情報を取得する、前記(2)に記載の情報処理装置。
(4)
前記開発元識別情報の示す前記アプリケーションプログラムの開発元を識別可能に表示させる表示制御部を備える、前記(1)〜3のいずれか一項に記載の情報処理装置。
(5)
前記表示制御部は、前記開発元識別情報及び前記アクセス制御情報が関連付けられたアプリケーションプログラムが動作している場合に、前記開発元識別情報の示す前記アプリケーションプログラムの開発元を識別可能に表示させる、前記(4)に記載の情報処理装置。
(6)
表示部を備え、
前記表示制御部は、前記開発元識別情報の示す前記アプリケーションプログラムの開発元を前記表示部に表示させる、前記(4)または(5)に記載の情報処理装置。
(7)
前記取得部は、前記開発元識別情報及び前記アクセス制御情報が所定の鍵情報に基づきあらかじめ符号化された第1の符号化情報を取得し、
前記判定部は、前記ユーザ端末から取得した前記開発元識別情報及び前記アクセス制御情報を、前記鍵情報に基づき符号化して第2の符号化情報を生成し、生成した前記第2の符号化情報と、取得した前記第1の符号化情報とが一致するか否かに基づき、取得した前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定する、前記(1)〜6のいずれか一項に記載の情報処理装置。
(8)
符号化のための第1の鍵情報を生成し、生成した前記第1の鍵情報を前記ユーザ端末に出力する鍵情報生成部を備え、
前記取得部は、前記開発元識別情報及び前記アクセス制御情報が所定の第2の鍵情報に基づきあらかじめ符号化された符号化情報が、前記第1の鍵情報に基づき符号化された第1の符号化情報を取得し、
前記判定部は、前記ユーザ端末から取得した前記開発元識別情報及び前記アクセス制御情報を、前記第2の鍵情報に基づき符号化し、当該符号化に基づき出力される符号化情報を前記第1の鍵情報に基づき符号化することで第2の符号化情報を生成し、生成した前記第2の符号化情報と、取得した前記第1の符号化情報とが一致するか否かに基づき、取得した前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定する、前記(1)〜6のいずれか一項に記載の情報処理装置。
(9)
ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報と、自身が有する1以上の機能の実行の可否を制御するためのアクセス制御情報とを、当該ユーザ端末から取得するステップと、
前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定するステップと、
前記判定の結果に基づき、前記アクセス制御情報に基づき前記1以上の機能のうち少なくとも一部の実行を制御するステップと、
を備える、情報処理方法。
(10)
コンピュータに、
ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報と、自身が有する1以上の機能の実行の可否を制御するためのアクセス制御情報とを、当該ユーザ端末から取得することと、
前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定することと、
前記判定の結果に基づき、前記アクセス制御情報に基づき前記1以上の機能のうち少なくとも一部の実行を制御することと、
を実行させるプログラム。
10 情報処理装置
10a デジタルカメラ
10b テレビジョン装置
10c 情報処理装置
102 通信部
104 鍵情報記憶部
106 表示部
150 処理部
152 乱数生成部
154 認証情報取得部
156 判定部
158 表示制御部
160 アクセス制御部
20 ユーザ端末
202 通信部
206 表示部
252 通信処理部
254 符号化処理部
256 アクセス制御情報記憶部
258 符号化情報記憶部
30 管理サーバ
302 開発者情報取得部
304 識別情報生成部
306 開発者情報記憶部
308 符号化情報生成部
310 鍵情報記憶部
80 開発者端末
90 アプリケーション提供サーバ

Claims (10)

  1. ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報と、自身が有する1以上の機能の実行の可否を制御するためのアクセス制御情報とを、当該ユーザ端末から取得する取得部と、
    前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定する判定部と、
    前記判定部による判定結果に基づき、前記アクセス制御情報に基づき前記1以上の機能のうち少なくとも一部の実行を制御する制御部と、
    を備える、情報処理装置。
  2. 前記取得部は、不可逆処理が施されていない前記開発元識別情報を前記ユーザ端末から取得する、請求項1に記載の情報処理装置。
  3. 前記取得部は、符号化処理及び暗号化処理のいずれも施されていない前記開発元識別情報を送信対象として前記ユーザ端末から送信されたデータを受信し、当該データから当該開発元識別情報を取得する、請求項2に記載の情報処理装置。
  4. 前記開発元識別情報の示す前記アプリケーションプログラムの開発元を識別可能に表示させる表示制御部を備える、請求項1に記載の情報処理装置。
  5. 前記表示制御部は、前記開発元識別情報及び前記アクセス制御情報が関連付けられたアプリケーションプログラムが動作している場合に、前記開発元識別情報の示す前記アプリケーションプログラムの開発元を識別可能に表示させる、請求項4に記載の情報処理装置。
  6. 表示部を備え、
    前記表示制御部は、前記開発元識別情報の示す前記アプリケーションプログラムの開発元を前記表示部に表示させる、請求項4に記載の情報処理装置。
  7. 前記取得部は、前記開発元識別情報及び前記アクセス制御情報が所定の鍵情報に基づきあらかじめ符号化された第1の符号化情報を取得し、
    前記判定部は、前記ユーザ端末から取得した前記開発元識別情報及び前記アクセス制御情報を、前記鍵情報に基づき符号化して第2の符号化情報を生成し、生成した前記第2の符号化情報と、取得した前記第1の符号化情報とが一致するか否かに基づき、取得した前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定する、請求項1に記載の情報処理装置。
  8. 符号化のための第1の鍵情報を生成し、生成した前記第1の鍵情報を前記ユーザ端末に出力する鍵情報生成部を備え、
    前記取得部は、前記開発元識別情報及び前記アクセス制御情報が所定の第2の鍵情報に基づきあらかじめ符号化された符号化情報が、前記第1の鍵情報に基づき符号化された第1の符号化情報を取得し、
    前記判定部は、前記ユーザ端末から取得した前記開発元識別情報及び前記アクセス制御情報を、前記第2の鍵情報に基づき符号化し、当該符号化に基づき出力される符号化情報を前記第1の鍵情報に基づき符号化することで第2の符号化情報を生成し、生成した前記第2の符号化情報と、取得した前記第1の符号化情報とが一致するか否かに基づき、取得した前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定する、請求項1に記載の情報処理装置。
  9. ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報と、自身が有する1以上の機能の実行の可否を制御するためのアクセス制御情報とを、当該ユーザ端末から取得するステップと、
    前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定するステップと、
    前記判定の結果に基づき、前記アクセス制御情報に基づき前記1以上の機能のうち少なくとも一部の実行を制御するステップと、
    を備える、情報処理方法。
  10. コンピュータに、
    ユーザ端末が有するアプリケーションプログラムに関連付けられた開発元識別情報と、自身が有する1以上の機能の実行の可否を制御するためのアクセス制御情報とを、当該ユーザ端末から取得することと、
    前記開発元識別情報の示す前記アプリケーションプログラムの開発元が事前申請された開発元であるか否かを判定することと、
    前記判定の結果に基づき、前記アクセス制御情報に基づき前記1以上の機能のうち少なくとも一部の実行を制御することと、
    を実行させるプログラム。

JP2013125827A 2013-06-14 2013-06-14 情報処理装置、情報処理方法、及びプログラム Pending JP2015001817A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013125827A JP2015001817A (ja) 2013-06-14 2013-06-14 情報処理装置、情報処理方法、及びプログラム
US14/293,113 US10433167B2 (en) 2013-06-14 2014-06-02 Information processing device and information processing method
CN201410249642.5A CN104239028B (zh) 2013-06-14 2014-06-06 信息处理设备,信息处理方法和程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013125827A JP2015001817A (ja) 2013-06-14 2013-06-14 情報処理装置、情報処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2015001817A true JP2015001817A (ja) 2015-01-05

Family

ID=52020241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013125827A Pending JP2015001817A (ja) 2013-06-14 2013-06-14 情報処理装置、情報処理方法、及びプログラム

Country Status (3)

Country Link
US (1) US10433167B2 (ja)
JP (1) JP2015001817A (ja)
CN (1) CN104239028B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107316136A (zh) * 2017-06-19 2017-11-03 广州市升龙灯光设备有限公司 一种舞台灯授权方法、电子设备及存储介质
CN109688467A (zh) * 2018-12-11 2019-04-26 新视家科技(北京)有限公司 电视内容控制方法及其装置、电子设备、计算机可读介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090080659A1 (en) * 2007-09-21 2009-03-26 Texas Instruments Incorporated Systems and methods for hardware key encryption
US20090210702A1 (en) * 2008-01-29 2009-08-20 Palm, Inc. Secure application signing
WO2010041464A1 (ja) * 2008-10-10 2010-04-15 パナソニック株式会社 情報処理装置、認証システム、認証装置、情報処理方法、情報処理プログラム、記録媒体及び集積回路
US8589880B2 (en) * 2009-02-17 2013-11-19 International Business Machines Corporation Identifying a software developer based on debugging information
JP5339970B2 (ja) * 2009-03-10 2013-11-13 富士通エフ・アイ・ピー株式会社 情報処理システム、情報処理方法及び情報処理プログラム
CN101562621B (zh) * 2009-05-25 2013-05-22 阿里巴巴集团控股有限公司 一种用户授权的方法、***和装置
US8279356B2 (en) * 2009-07-07 2012-10-02 Sony Corporation Active suppression by TV of white space device interference
CN101604371B (zh) * 2009-07-22 2012-02-08 阿里巴巴集团控股有限公司 插件权限的控制方法及***
JP5252352B2 (ja) * 2009-11-05 2013-07-31 クラリオン株式会社 情報端末装置、情報端末管理システム及びプログラム
ES2592510T3 (es) * 2010-03-30 2016-11-30 Kuraray Co., Ltd. Material compuesto estructural, producto conformado y material de envasado que utiliza el mismo, y método para producir el material compuesto estructural
JP5129313B2 (ja) * 2010-10-29 2013-01-30 株式会社東芝 アクセス認可装置
CN102135883B (zh) * 2011-03-14 2014-05-14 山东大学 一种支持SaaS应用生成与部署的方法和装置
EP2787725A4 (en) * 2011-11-30 2015-07-01 Japan Broadcasting Corp RECEIVING DEVICE, PROGRAM AND RECEPTION PROCEDURES
JP5380583B1 (ja) * 2012-06-25 2014-01-08 国立大学法人 千葉大学 デバイス認証方法及びシステム
JP2012212922A (ja) * 2012-06-29 2012-11-01 Sumitomo Bakelite Co Ltd 半田バンプの形成方法、半田バンプ、半導体装置および半導体装置の製造方法
KR20140071605A (ko) * 2012-12-04 2014-06-12 삼성전자주식회사 데이터 처리 방법, 센서 장치 및 사용자 단말

Also Published As

Publication number Publication date
CN104239028B (zh) 2019-01-22
CN104239028A (zh) 2014-12-24
US10433167B2 (en) 2019-10-01
US20140372612A1 (en) 2014-12-18

Similar Documents

Publication Publication Date Title
US10341321B2 (en) System and method for policy based adaptive application capability management and device attestation
US9930014B2 (en) Methods and apparatus for key delivery in HTTP live streaming
US8806193B2 (en) Methods and apparatus for integrating digital rights management (DRM) systems with native HTTP live streaming
US9223988B1 (en) Extending browser functionality with dynamic on-the-fly downloading of untrusted browser components
KR102137673B1 (ko) 어플리케이션 연결 방법 및 이를 이용하는 시스템
TWI539838B (zh) 用於接取憑證供應的方法與裝置
JP5925335B2 (ja) ネットワーク安全保護方法、装置及びシステム
JP5597230B2 (ja) 情報操作装置、情報出力装置および情報操作プログラム
KR20150109200A (ko) 모바일 저장장치에 기반한 소프트웨어 검증 시스템 및 그 방법
CN109510802B (zh) 鉴权方法、装置及***
KR101838973B1 (ko) 화이트 리스트를 이용한 에이전트 기반 보안위협 모니터링 시스템
WO2017066995A1 (zh) 一种非法访问服务器防止方法以及装置
WO2022120938A1 (zh) 数据共享方法、***、装置、设备和存储介质
JP6471698B2 (ja) 情報処理装置、情報処理方法、プログラム、及びサーバ
JP7157549B2 (ja) モバイルベース設備サービスシステム、およびその作動方法
KR101566141B1 (ko) 서명정보를 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
JP2015001817A (ja) 情報処理装置、情報処理方法、及びプログラム
CN110008654B (zh) 电子文件处理方法和装置
JP2017183930A (ja) サーバ管理システム、サーバ装置、サーバ管理方法、及びプログラム
KR20210060282A (ko) 하드웨어 보안 모듈을 이용한 클라우드를 통한 IoT(Internet of Thing) 디바이스 인증 시스템 및 방법
JP7191999B2 (ja) ミニプログラムパッケージ送信方法、装置、電子機器コンピュータ可読媒体およびコンピュータプログラム製品
JP5834118B2 (ja) 情報操作装置、情報出力装置および情報操作プログラム
KR101701625B1 (ko) 암호화된 컨텐츠의 복호화 키를 안전하게 획득하여 컨텐츠를 재생하기 위한 방법 및 시스템
Liu et al. Monitoring user-intent of cloud-based networked applications in cognitive networks
KR101602735B1 (ko) 멀티미디어 콘텐츠 인증 시스템 및 방법