JP2015528168A - モバイルアプリケーションに対して認証トークンを事前にプロビジョニングするための方法及び機器 - Google Patents

モバイルアプリケーションに対して認証トークンを事前にプロビジョニングするための方法及び機器 Download PDF

Info

Publication number
JP2015528168A
JP2015528168A JP2015521615A JP2015521615A JP2015528168A JP 2015528168 A JP2015528168 A JP 2015528168A JP 2015521615 A JP2015521615 A JP 2015521615A JP 2015521615 A JP2015521615 A JP 2015521615A JP 2015528168 A JP2015528168 A JP 2015528168A
Authority
JP
Japan
Prior art keywords
application
token
communication device
client application
client
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
JP2015521615A
Other languages
English (en)
Inventor
マドセン,ポール
キャンベル,ブライアン
Original Assignee
ピング アイデンティティ コーポレーション
ピング アイデンティティ コーポレーション
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 ピング アイデンティティ コーポレーション, ピング アイデンティティ コーポレーション filed Critical ピング アイデンティティ コーポレーション
Publication of JP2015528168A publication Critical patent/JP2015528168A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

一部の実施形態では、非一時的なプロセッサ可読媒体が、クライアントアプリケーションについての要求を通信装置から受け取ること、及びその要求に応答し、クライアントアプリケーションに関連するアプリケーショントークンを含めるように、クライアントアプリケーションに関連するインストールファイルデータをプロビジョニングすることを、(例えばエンタープライズサーバ上の)プロセッサに行わせるコードを含む。このコードは、アプリケーショントークンを含むインストールファイルを通信装置に送ることをプロセッサに行わせるためのものであり、それにより通信装置は、インストールファイルを使用し、インストールファイルから抽出されるアプリケーショントークンを用いてアプリケーションモジュールに対して認証を行うクライアントアプリケーションをインストールする。

Description

関連出願の相互参照
本願は、参照によりその全体を本明細書に援用する、2012年7月9日に出願され、「モバイルアプリケーションに対して認証トークンを事前にプロビジョニングするための方法及び機器(Methods And Apparatus For Preprovisioning Authentication Tokens To Mobile Applications)」と題された米国特許出願第13/544,553号の優先権を主張し、その継続である。
本願は、参照によりその全体を本明細書に援用する、2012年7月9日に出願され、「委譲された認証トークンの取得のための方法及び機器{Methods And Apparatus For Delegated Authentication Token Retrieval」と題された米国特許出願第13/544,565号に関する。
背景
本明細書に記載する一部の実施形態は一般に、アプリケーション配布モジュールを使用して、クライアントアプリケーションに関連するインストールファイル内にアプリケーショントークンをプロビジョニングする(provision)ことに関する。これにより、他の装置への更なる承認要求を必要とすることなしに、クライアントアプリケーションを通信装置上にダウンロードし、インストールすることが可能になる。本明細書に記載する一部の実施形態は、アプリケーショントークンを要求し、各クライアントアプリケーションに関連するインストールファイル内にアプリケーショントークンをプロビジョニングする(provisioning)ために使用される方法及び機器にも関する。
OAuth(Open Authorization)は、承認のためのオープンスタンダードプロトコルであり、利用者(企業の従業員等)が自分のアカウント認証情報(例えばパスワード)を共有することなしに、所与の位置(例えば所与のウェブサイト上)に記憶されているその利用者に関連する情報、又はその利用者のデータの全範囲へのアクセス権をサードパーティアプリケーションに付与することを可能にする。一部の知られているシステムはOAuthトークンを使用し、様々な装置(例えばラップトップコンピュータ、携帯情報端末(PDA:personal digital assistant)、標準的な携帯電話、タブレットパーソナルコンピュータ(PC)等)の利用者のためにアプリケーションを認証する。しかし、知られているそのようなシステムでは、各アプリケーションが適切なOAuth承認サーバにトークンを別々に要求する。このような要求は、利用可能な帯域幅及びプロセッサ時間を著しく使用することを概して伴い、一般に利用者の使い勝手を損なう原因になる。加えて、アプリケーションにアプリケーショントークンを発行することに、従業員が働く企業が直接関与することはなく、従って利用者のアプリケーションへのアクセスに対する所望のポリシ管理水準から外れる。
従って、各アプリケーションが適切なOAuth承認サーバにトークンを別々に要求する必要なしに、通信装置上にインストールされた複数のアプリケーションを認証するための方法及び機器の需要がある。加えて、又は或いは、利用者のアプリケーションへのアクセスを管理する際の企業の関与を高めるための方法及び機器の需要がある。
概要
一部の実施形態では、非一時的なプロセッサ可読媒体が、クライアントアプリケーションについての要求を通信装置から受け取ること、及びその要求に応答し、クライアントアプリケーションに関連するアプリケーショントークンを含めるように、クライアントアプリケーションに関連するインストールファイルデータをプロビジョニングすることを、(例えばエンタープライズサーバ上の)プロセッサに行わせるコードを含む。このコードは、アプリケーショントークンを含むインストールファイルを通信装置に送ることをプロセッサに行わせるためのものであり、それにより通信装置は、インストールファイルを使用し、インストールファイルから抽出されるアプリケーショントークンを用いてアプリケーションモジュールに対して認証を行うクライアントアプリケーションをインストールする。
図面の簡単な説明
一実施形態による、クライアントアプリケーションのインストールファイル内にアプリケーショントークンをプロビジョニングするためのシステムの概略図であり、ネットワークを介してエンタープライズサーバ及びアプリケーションサーバに接続される通信装置を含む。 一実施形態による、利用者及び利用者に関連する通信装置上の承認済みクライアントアプリケーションを認証する方法を示すメッセージ流れ図である。 一実施形態による、アプリケーショントークンを含めるように、通信装置上のクライアントアプリケーションに関連するインストールファイルデータをプロビジョニングする方法を示す流れ図である。 一実施形態による、通信装置の利用者向けに承認されたクライアントアプリケーションの個々のインストールファイルを受け取る方法を示す流れ図である。
詳細な説明
一部の実施形態では、非一時的なプロセッサ可読媒体が、クライアントアプリケーションについての要求を通信装置から受け取ること、及びその要求に応答し、クライアントアプリケーションに関連するアプリケーショントークンを含めるように、クライアントアプリケーションに関連するインストールファイルデータをプロビジョニングすることを、(例えばエンタープライズサーバ上の)プロセッサに行わせるコードを含む。このコードは、アプリケーショントークンを含むインストールファイルを通信装置に送ることをプロセッサに行わせるためのものであり、それにより通信装置は、インストールファイルを使用し、インストールファイルから抽出されるアプリケーショントークンを用いてアプリケーションモジュールに対して認証を行うクライアントアプリケーションをインストールする。
この実施形態では、通信装置は、例えばデスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末(PDA)、標準的な携帯電話、タブレットパーソナルコンピュータ(PC)等のパーソナルコンピューティング装置とすることができる。通信装置は、メモリ及びプロセッサを含むことができる。通信装置上にインストールされるクライアントアプリケーションは、例えば会計アプリケーション、営業アプリケーション、給与支払アプリケーション等とすることができる。他の実施形態では、クライアントアプリケーションが、通信装置において実行するように構成される他の任意の企業アプリケーション又はサードパーティアプリケーションであり得る。一部の実施形態では、アプリケーション配布モジュールがハードウェアモジュール、及び/又はメモリ内に記憶され、エンタープライズサーバのプロセッサ内で実行されるソフトウェアモジュールであり得る。
一部の実施形態では、エンタープライズサーバ(企業サーバ)が、例えばウェブサーバ、アプリケーションサーバ、プロキシサーバ、テレネットサーバ、ファイル転送プロトコル(FTP:file transfer protocol)サーバ、メールサーバ、リストサーバ、コラボレーションサーバ等であり得る。エンタープライズサーバは、メモリ及びプロセッサを含むことができる。エンタープライズサーバのメモリは、アプリケーション配布モジュール、トークンモジュール、及びアプリケーションモジュールに関連するデータを含むことができる。
エンタープライズサーバのアプリケーション配布モジュールは、通信装置におけるインストールクライアントから、ネットワークを介して1つ又は多数のクライアントアプリケーションについての要求を受け取るように構成され得る。ネットワークは、有線ネットワーク及び/又は無線ネットワークとして実装されるローカルエリアネットワーク(LAN:local area network)、広域ネットワーク(WAN:wide area network)、仮想ネットワーク、電気通信網等、任意の種類のネットワークとすることができる。この要求に応答し、アプリケーション配布モジュールは、クライアントアプリケーションに関連するアプリケーショントークンについての要求をトークンモジュールに送るように構成され得る。一部の実施形態では、トークンモジュールがハードウェアモジュール、及び/又はメモリ内に記憶され、エンタープライズサーバのプロセッサ内で実行されるソフトウェアモジュールであり得る。アプリケーショントークンについての要求に応答し、アプリケーション配布モジュールは、トークンモジュールからアプリケーショントークンを受け取るように構成され得る。一部の実施形態では、アプリケーション配布モジュールが、アプリケーショントークン(インストールファイル)を含めるために、クライアントアプリケーションに関連するインストールファイルデータをプロビジョニングするようにも構成され得る。そのような実施形態では、通信装置がインストールファイルを用いてクライアントアプリケーションをインストールできるように、アプリケーション配布モジュールが(アプリケーショントークンを含む)インストールファイルを通信装置に送るように構成され得る。一部の実施形態では、インストールファイルから抽出されるアプリケーショントークンを用いて、クライアントアプリケーションが、通信装置から離れたアプリケーションモジュールに対して認証を行うことができる。
そのような実施形態では、インストールクライアントがハードウェアモジュール、及び/又は通信装置のメモリ内に記憶され且つ/若しくは通信装置のプロセッサ内で実行されるソフトウェアモジュールであり得る。インストールクライアントは、1つ(又は複数)のクライアントアプリケーションについての1つ(又は複数)の要求を、エンタープライズサーバ上のアプリケーション配布モジュールにネットワークを介して送るように構成され得る。各クライアントアプリケーションの要求に応答し、インストールクライアントは、通信装置の利用者向けに承認されたクライアントアプリケーションの関連するアプリケーショントークンを使ってプロビジョンされたインストールファイルをアプリケーション配布モジュールから受け取るように構成され得る。インストールクライアントは、インストールファイルを使用してクライアントアプリケーションを通信装置においてインストールするように構成され得る。インストールクライアントは、インストールファイルからアプリケーショントークンを抽出するように構成されても良く、それによりクライアントアプリケーションは、そのアプリケーショントークンを用いて通信装置から離れたアプリケーションモジュールにおいて認証されるように構成され得る。
本明細書で使用するとき、文脈上そうでないことが明らかな場合を除き、単数形「a」、「an」、及び「the」は複数形の言及を含む。従って、例えば「モジュール(a module)」という用語は、単一のモジュール又はモジュールの組合せを意味することを意図する。
図1は、一実施形態による、クライアントアプリケーションのインストールファイル内にアプリケーショントークンをプロビジョニングするためのシステムの概略図であり、ネットワークを介してエンタープライズサーバ及びアプリケーションサーバに接続される通信装置を含む。アプリケーショントークンプロビジョニング対応のアプリケーション承認システム100は、通信装置110、ネットワーク120、エンタープライズサーバ130、及びアプリケーションサーバ150を含む。ネットワーク120は、有線ネットワーク及び/又は無線ネットワークとして実装される任意の種類のネットワーク(例えばローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、仮想ネットワーク、電気通信網)とすることができる。本明細書で更に詳細に説明するように、一部の実施形態では、例えば通信装置110が、イントラネット、インターネットサービスプロバイダ(ISP)、インターネット、セルラネットワーク(例えばネットワーク120)等を介してエンタープライズサーバ130及びアプリケーションサーバ150に接続され得る。
通信装置110は、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末(PDA)、標準的な携帯電話、タブレットパーソナルコンピュータ(PC)等のパーソナルコンピューティング装置とすることができる。通信装置110は、メモリ111及びプロセッサ112を含む。本明細書で更に詳細に説明するように、一部の実施形態では、通信装置110がエンタープライズサーバ130にクライアントアプリケーションを要求して受け取るように構成され、ネットワーク120を介して、エンタープライズサーバ130及び/又はアプリケーションサーバ150におけるアプリケーションモジュール(144及び/又は156)にアクセスすることができる。
メモリ111は、例えばランダムアクセスメモリ(RAM:random access memory)、メモリバッファ、ハードドライブ、データベース、消去プログラム可能読取専用メモリ(EPROM:erasable programmable read-only memory)、電気的消去可能読取専用メモリ(EEPROM:electrically erasable read-only memory)、読取専用メモリ(ROM:read-only memory)等とすることができる。一部の実施形態では、かかるアプリケーショントークンプロビジョニング対応のアプリケーション承認システム100に関連するモジュール、プロセス、及び/又は機能を実行することをプロセッサ112に行わせるための命令をメモリ111が記憶する。
プロセッサ112は、汎用プロセッサ、書替え可能ゲートアレイ(FPGA:field programmable gate array)、特定用途向け集積回路(ASIC:application specific integrated circuit)、デジタル信号プロセッサ(DSP:digital signal processor)等とすることができる。プロセッサ112は、アプリケーショントークンプロビジョニング対応のアプリケーション承認システム100に関連するユーザ承認プロセス、アプリケーション承認プロセス、他のモジュール、プロセス、及び/又は機能を起動し且つ/又は実行するように構成され得る。プロセッサ112は、インストールクライアント114、クライアントアプリケーション116、及びクライアントアプリケーション118を含む。
インストールクライアント114は、通信装置110上にインストールされるネイティブアプリケーションであり得る。インストールクライアント114は、ユーザ認証情報を送り、利用者向けに承認されたクライアントアプリケーションの一覧を要求し、個々のクライアントアプリケーション116及び118をアプリケーション配布モジュール140に要求する、(メモリ111内に記憶され且つ/又はプロセッサ112内で実行される)ハードウェアモジュール及び/又はソフトウェアモジュールとすることができる。一部の実施形態では、インストールクライアント114は、利用者が通信装置110上にインストールすることができる1組のアプリケーションを提示するように構成されるウェブブラウザ(例えばAndroidアプリケーションストア、Appleアプリケーションストア等のアプリケーションストア)を含むことができる。そのような実施形態では、利用者が1組のアプリケーションから(例えばリンクによって)アプリケーションを選択することができる。本明細書で更に詳細に説明するように、その選択に基づき、インストールクライアント114は、アプリケーションをインストールするのに使用されるインストールファイル(例えばAndroidアプリケーションパッケージファイル(APK:Android application package file))を受け取ることができる。
本明細書で更に詳細に説明するように、一部の実施形態では、インストールクライアント114が、ユーザ認証情報、利用者向けに承認されたクライアントアプリケーションの一覧、並びに/又はクライアントアプリケーション116及び118に関連する個々のインストールファイルを受け取るように構成され得る。一部の実施形態では、クライアントアプリケーション116及び118に関連するインストールファイルデータを、エンタープライズサーバ130上のアプリケーション配布モジュール140に関連するメモリ132の一部の中に記憶することができ、アプリケーショントークンを使ってプロビジョンし、インストールクライアント114上にダウンロードすることができる。他の実施形態では、クライアントアプリケーション116及び118に関連するインストールファイルデータを、エンタープライズサーバ130とは別であり、ネットワーク120を介してエンタープライズサーバ130に動作可能に結合される装置上に記憶することができる。そのような実施形態では、クライアントアプリケーション116又は118についての要求をインストールクライアント114から受け取ると、アプリケーション配布モジュール140は、クライアントアプリケーション116又は118に関連するインストールファイルデータが、アプリケーショントークンを使ってプロビジョンされ、インストールクライアント114上にダウンロードされる前に、ネットワーク120を介して記憶位置からアプリケーション配布モジュール140に転送されることを承認することができる。
クライアントアプリケーション116及び118は、クライアントアプリケーション116又は118に関連するインストールファイルからアプリケーショントークンを受け取るように構成される、ハードウェアモジュール及び/又は(メモリ111内に記憶され且つ/又はプロセッサ112内で実行される)ソフトウェアモジュールとすることができる。クライアントアプリケーション116及び118は、アプリケーショントークンを使い、通信装置110から離れたアプリケーションモジュール144又は156において認証されるように構成され得る。クライアントアプリケーション116及び118は、プロセッサ112に特定の操作を実行させるように構成され得る。例えば、クライアントアプリケーション116及び118は、企業内の特定の機能に関連することができる。例えば、アプリケーション116及び118は、会計アプリケーション、営業アプリケーション、給与支払アプリケーション等とすることができる。他の実施形態では、クライアントアプリケーション116及び118が、通信装置110において起動され且つ/又は実行されるように構成される他の任意の企業アプリケーション又はサードパーティアプリケーションであり得る。
エンタープライズサーバ130は、例えばウェブサーバ、アプリケーションサーバ、プロキシサーバ、テレネットサーバ、ファイル転送プロトコル(FTP)サーバ、メールサーバ、リストサーバ、コラボレーションサーバ等であり得る。一部の実施形態では、エンタープライズサーバ130が通信装置110からユーザ認証要求及び/又はクライアントアプリケーション要求を受け取り、その要求に応答し、クライアントアプリケーションに関連するユーザ認証データ、アプリケーショントークン、及びインストールファイルを生成するように構成される。一部の実施形態では、エンタープライズサーバ130が、かかるアプリケーショントークンプロビジョニング対応のアプリケーション承認システム100に関連するモジュール、プロセス、及び/又は機能を実行することもできる。
エンタープライズサーバ130は、メモリ132及びプロセッサ134を含む。メモリ132は、例えばランダムアクセスメモリ(RAM)、メモリバッファ、ハードドライブ、データベース、消去プログラム可能読取専用メモリ(EPROM)、電気的消去可能読取専用メモリ(EEPROM)、読取専用メモリ(ROM)等とすることができる。一部の実施形態では、かかるアプリケーショントークンプロビジョニング対応のアプリケーション承認システム100に関連するモジュール、プロセス、及び/又は機能を実行することをプロセッサ134に行わせるための命令をメモリ132が記憶する。
プロセッサ134は、汎用プロセッサ、書替え可能ゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)等とすることができる。一部の実施形態では、プロセッサ134は、かかるアプリケーショントークンプロビジョニング対応のアプリケーション承認システム100に関連するアプリケーションモジュール、プロセス、及び/又は機能を起動し且つ/又は実行するように構成され得る。例えば、プロセッサ134は、ユーザ認証要求及びクライアントアプリケーション要求に関連する、又はそれらの要求に応答して、モジュール、プロセス、及び/又は機能を起動し且つ/又は実行するように構成され得る。プロセッサ134は、アプリケーション配布モジュール140、トークンモジュール142、及びアプリケーションモジュール144を含む。
アプリケーション配布モジュール140は、ネットワーク120を介して通信装置110から個々の利用者に関する(i)ユーザ認証情報を受け取り、且つ/又は(ii)クライアントアプリケーション及び/若しくは承認済みクライアントアプリケーションの一覧を要求する、ハードウェアモジュール及び/又は(メモリ132内に記憶され且つ/又はプロセッサ134内で実行される)ソフトウェアモジュールとすることができる。一部の実施形態では、アプリケーション配布モジュール140は、通信装置110上のクライアントアプリケーション116及び118用のインストールファイルを生成し且つ/又は定めるように構成され得る。アプリケーション配布モジュール140は、通信装置110に関連する利用者のユーザ認証データを生成し且つ/又は定めるように構成されても良い。本明細書で更に詳細に説明するように、一部の実施形態では、アプリケーション配布モジュール140が、ユーザ認証信号(例えば、認証肯定応答及び/又は確認信号、承認済みの利用者に割り当てられている暗号され又は暗号化されていない形式の利用者識別番号、利用者のセキュリティ/アクセスレベルの識別情報等)、及び/又はアプリケーショントークンを使ってプロビジョンされたインストールファイルをインストールクライアント114に送信することもできる。
トークンモジュール142は、アプリケーション配布モジュール140からアプリケーショントークンについての要求を受け取る、ハードウェアモジュール及び/又は(メモリ132内に記憶され且つ/又はプロセッサ134内で実行される)ソフトウェアモジュールとすることができる。かかる要求に応答し、トークンモジュール142は、各クライアントアプリケーションのユニークユーザ用の一意のアプリケーショントークンを生成し且つ/又は定め、そのアプリケーショントークンをプロセッサバスを介してアプリケーション配布モジュール140に送るように構成され得る。例えば、トークンモジュール142は、同じクライアントアプリケーションの利用者ごとに異なるアプリケーショントークンを生成するように構成され得る。同様に、トークンモジュール142は、1人の利用者によって使用されるクライアントアプリケーションごとに異なるアプリケーショントークンを生成するように構成され得る。
アプリケーションモジュール144は、ネットワーク120を介してクライアントアプリケーション116及び/又は118にアプリケーションデータを与えるように構成される、ハードウェアモジュール及び/又は(メモリ132内に記憶され且つ/又はプロセッサ134内で実行される)ソフトウェアモジュールとすることができる。例えば、クライアントアプリケーション116が給与支払アプリケーションである例では、アプリケーションモジュール144が与えるアプリケーションデータは、従業員の給与、労働時間、税金や他の源泉徴収、支払方法等に関するデータを含み得る。一部の実施形態では、かかるアプリケーションデータは、アプリケーショントークンプロビジョニング対応のアプリケーション承認システム100に関連するモジュール、プロセス、及び/又は機能を、クライアントアプリケーション116及び/又は118が実行することを可能にし得る。一部の実施形態では、及び本明細書で更に詳細に説明するように、アプリケーションモジュール144が、クライアントアプリケーション116及び/又は118にアプリケーションデータを与える前に、通信装置110からアプリケーショントークンを受け取り、検証することができる。
アプリケーションサーバ150は、エンタープライズサーバ130が関連するエンティティ(例えば企業)とは別のサードパーティサーバとすることができる。アプリケーションサーバ150は、例えばウェブサーバ、プロキシサーバ、テレネットサーバ、ファイル転送プロトコル(FTP)サーバ、メールサーバ、リストサーバ、コラボレーションサーバ等とすることができる、サービス型ソフトウェア(SaaS:Software as a Service)ホストであり得る。
アプリケーションサーバ150は、メモリ152及びプロセッサ154を含む。メモリ152は、例えばランダムアクセスメモリ(RAM)、メモリバッファ、ハードドライブ、データベース、消去プログラム可能読取専用メモリ(EPROM)、電気的消去可能読取専用メモリ(EEPROM)、読取専用メモリ(ROM)等とすることができる。一部の実施形態では、アプリケーショントークンプロビジョニング対応のアプリケーション承認システム100内のアプリケーションサーバ150に関連するモジュール、プロセス、及び/又は機能を実行することをプロセッサ154に行わせるための命令をメモリ152が記憶する。
アプリケーションモジュール156は、ネットワーク120を介してクライアントアプリケーション116及び118にアプリケーションデータを与えるように構成される、ハードウェアモジュール及び/又は(メモリ152内に記憶され且つ/又はプロセッサ154内で実行される)ソフトウェアモジュールとすることができる。例えば、アプリケーションデータは、企業の製品に関する外部市場分析の結果等を含み得る。このアプリケーションデータは、例えば製品の小売価格を設定するために、製品の期待利益水準を計算するために、及び/又は製品のために利用可能な最良の小売業者の位置を求めるために等、クライアントアプリケーション114及び/又は116によって使用され得る。一部の実施形態では、アプリケーションモジュール156が、クライアントアプリケーション116及び/又は118にアプリケーションデータを送る前に、通信装置110からアプリケーショントークンを受け取り、検証することができる。かかるアプリケーションデータは、アプリケーショントークンプロビジョニング対応のアプリケーション承認システム100に関連するモジュール、プロセス、及び/又は機能を、クライアントアプリケーション116及び118が実行することを可能にし得る。
図2は、一実施形態による、利用者及び利用者に関連する通信装置上の承認済みクライアントアプリケーションを認証する方法を示すメッセージ流れ図である。図2は、アプリケーショントークンプロビジョニング対応のアプリケーション承認システム100に関して論じる。210で、インストールクライアント114が、ネットワーク120を介してユーザ認証情報を送ることにより、アプリケーション配布モジュール140における利用者の認証を開始する。一部の実施形態では、認証がインストールクライアント114によって開始されても良く、別の実施形態では認証が、通信装置110において動作しているモバイルブラウザウィンドウによって開始されても良い。より具体的には210で、ユーザ認証情報は、OAuth2.0プロトコルを使用する通信装置110の各利用者に固有の識別情報を含むことができる。各利用者に関連する識別情報は、例えばユーザログイン、ユーザパスワード、従業員ID番号、個人識別番号(PIN:personal identification number)、バイオメトリク情報(例えば指紋走査、網膜走査等に関連するデータ)、従業員のセキュリティ/アクセスレベル、企業の部門コード等が含まれ得る、ユーザ認証情報とすることができる。
アプリケーション配布モジュール140が、ネットワーク120を介してユーザ認証情報をインストールクライアント114(又はモバイルブラウザウィンドウ)から受け取り、212でその利用者を認証する。一部の実施形態では、アプリケーション配布モジュール140が、エンタープライズサーバ130のメモリ132内に記憶されているユーザ認証データベース又はルックアップテーブル内の特定のエントリに対して、ユーザ認証情報を突き合わせることによって利用者を認証することができる。ユーザ認証データベースは、例えば従業員並びに従業員の対応する役職及びセキュリティ/アクセスレベル、社会保障番号、従業員の個人識別番号(PIN)等の一覧を含み得る。他の実施形態では、ネットワーク120に動作可能に結合される別の装置(例えば不図示のサーバ)のメモリ内にユーザ認証データベースを記憶することができる。様々な実施形態において、アプリケーション配布モジュール140は、例えばセキュアソケットレイヤ(SSL:Secure Sockets Layer)、セキュアシェル(SSH:Secure Shell)、ケルベロス、セキュリティ表明マーク付け言語(SAML:Security Assertion Markup Language)等の連合プロトコル等、任意の適切な認証プロトコルを使用して利用者を認証することができる。
一部の実施形態では、利用者の認証が成功すると、アプリケーション配布モジュール140が認証肯定応答信号を生成し且つ/又は定め、214で、ネットワーク120を介して認証肯定応答信号をインストールクライアント114に送ることができる。そのような実施形態では、例えば認証肯定応答信号が、例えば承認済みの利用者に割り当てられている暗号化された形式の利用者識別番号を含むことができる。他の実施形態では、認証肯定応答信号が、例えば利用者のセキュリティ/アクセスレベル、利用者の役職、通信装置の識別情報等、追加の暗号化され又は暗号化されていない利用者資格情報を含むことができる。更に他の実施形態では、認証肯定応答信号が、信号の信憑性を示すことができるデジタル署名を含んでも良い。
アプリケーション配布モジュール140から認証肯定応答信号を受け取ることに応答し、インストールクライアント114は、企業によって利用者向けに承認されたクライアントアプリケーションの一覧(この一覧は1つ又は複数のクライアントアプリケーションに関連する識別情報を含み得る)についての要求を、216で、アプリケーション配布モジュール140にネットワーク120を介して送ることができる。一部の実施形態では、クライアントアプリケーションの一覧についての要求が、アプリケーション配布モジュール140のアドレス、エンタープライズサーバ130のアドレス、要求が有効になる時間枠への参照、暗号化され又は暗号化されていない形式の利用者識別番号、利用者のセキュリティ/アクセスレベル、利用者の役職、通信装置の識別情報等を含み得る。
インストールクライアント114から承認済みクライアントアプリケーションの一覧についての要求を受け取ることに応答し、アプリケーション配布モジュール140は、218で、どのクライアントアプリケーションが企業によって通信装置110の利用者向けに承認されているのかを明らかにすることができる。一部の実施形態では、アプリケーション配布モジュール140が要求内に含まれる利用者識別番号を用いて、その利用者識別番号に関連するエントリについてエンタープライズサーバ130のメモリ132内に記憶されているクライアントアプリケーションデータベース又はルックアップテーブルに問い合わせ、どのアプリケーションが通信装置110の所与の利用者向けに承認されているのかを明らかにすることができる。他の実施形態では、利用者識別番号が要求に応じて直接搬送されなくても良い。そのような実施形態では、例えば利用者識別番号及び/又は他の情報を、例えば要求に含まれる、又は要求とは別のOAuth(Open Authorization)トークンを使用して逆参照(dereference)し、且つ/又はかかるOAuthトークンから得ることができる。1つ又は複数のエントリが見つかる場合、アプリケーション配布モジュール140は、かかるエントリの有効性を確認し又は拒否し、企業によって利用者向けに承認されたクライアントアプリケーションの一覧を生成することができる。この一覧は、利用者に応じて単一の又は複数のエントリを含み得る。アプリケーション配布モジュール140は、クライアントアプリケーションデータベース内のどのアプリケーションが、通信装置110の利用者向けに承認されていないのかを明らかにすることもできる。他の実施形態では、ネットワーク120に動作可能に結合される別のサーバ(図1には不図示)のメモリ内にアプリケーション承認データベースを記憶することができる。様々な実施形態において、アプリケーション配布モジュール140は、例えばセキュアソケットレイヤ(SSL)、セキュアシェル(SSH)、ケルベロス等の任意の適切な認証プロトコルを使用して承認済みクライアントアプリケーションの一覧を認証することができる。通信装置110の利用者向けに承認されたクライアントアプリケーションの一覧を生成すると、アプリケーション配布モジュール140は、220で、ネットワーク120を介してその一覧をデータパッケージ(例えばJSON(JavaScript(登録商標) Object Notation)パッケージ)内でインストールクライアント114に送ることができる。
一部の実施形態では、インストールクライアント114が、アプリケーション配布モジュール140から受け取った一覧から、それぞれの承認済みクライアントアプリケーションに関連する一意識別子を抽出することができる。インストールクライアント114は、222で、クライアントアプリケーションについての要求をアプリケーション配布モジュール140にネットワーク120を介して送ることができる。クライアントアプリケーション要求は、要求されたクライアントアプリケーションに関連する一意識別子、承認済みの利用者に割り当てられている暗号化された形式の利用者識別番号、利用者のセキュリティ/アクセスレベル等の追加の暗号化され又は暗号化されていない利用者資格情報等を含むことができる。
インストールクライアント114からクライアントアプリケーション116についての要求を受け取ると、224で、アプリケーション配布モジュール140は、クライアントアプリケーション116に関連するアプリケーショントークンについての要求をトークンモジュール142にプロセッサバスを介して送ることができる。トークンモジュール142は、通信装置110上にインストールされる要求されたクライアントアプリケーション116用のアプリケーショントークンを、226で生成し且つ/又は定めることができる。アプリケーショントークンは、例えばOAuthアクセストークン、OAuthリフレッシュトークン、SAMLトークン、SecurIDトークン等とすることができる。一部の実施形態では、アプリケーショントークンが、暗号化され又は暗号化されていない形式の利用者の個人識別番号(PIN)、利用者のセキュリティ/アクセスレベル、通信装置110の識別番号、インストールクライアント114のアドレス、要求されたアプリケーションに割り当てられたアプリケーション識別番号、関連するアプリケーションモジュール144又は156のアドレス等を含むことができる。他の実施形態では、アプリケーショントークンが、利用者向けに承認されているクライアントアプリケーションの特定の機能及び/又は資源、クライアントアプリケーショントークンの有効期間等、暗号化され又は暗号化されていない追加のクライアントアプリケーション資格情報を含むことができる。アプリケーショントークンを生成すると、トークンモジュール142は、228で、アプリケーショントークンをアプリケーション配布モジュール140にプロセッサバスを介して送ることができる。
アプリケーション配布モジュール140は、通信装置110の利用者のために、要求された各クライアントアプリケーション116に関連するインストールファイルデータを定め且つ/又は生成することができる。一部の実施形態では、クライアントアプリケーション116に関連するインストールファイルデータを、エンタープライズサーバ130内のアプリケーション配布モジュール140に関連するメモリ132の一部の中に記憶することができる。そのような実施形態では、アプリケーション配布モジュール140が、通信装置110の利用者のために、要求された各クライアントアプリケーション116に関連するインストールファイルデータにシステムバスを介してアクセスすることができる。他の実施形態では、クライアントアプリケーション116に関連するインストールファイルデータを、アプリケーショントークンプロビジョニング対応のアプリケーション承認システム100内のエンタープライズサーバ130とは別の装置であり、ネットワーク120に動作可能に結合される装置上に記憶することができる。そのような実施形態では、アプリケーション配布モジュール140は、クライアントアプリケーション116に関連するインストールファイルデータが、ネットワーク120を介して記憶位置からアプリケーション配布モジュール140に転送されることを承認することができる。一部の実施形態では、インストールファイルデータが、暗号化され又は暗号化されていない形式の利用者の個人識別番号(PIN)、利用者のセキュリティ/アクセスレベル、通信装置110の識別番号、インストールクライアント114のアドレス、要求されたアプリケーションに割り当てられたアプリケーション識別番号等を含むことができる。他の実施形態では、インストールファイルデータが、クライアントアプリケーションのリリース日、利用者向けに承認されているクライアントアプリケーションの特定の機能及び/又は資源等、暗号化され又は暗号化されていない追加のクライアントアプリケーション資格情報を含むことができる。230で、アプリケーション配布モジュール140が、トークンモジュール142から受け取ったアプリケーショントークンを含めるように、クライアントアプリケーション116に関連するインストールファイルデータをプロビジョニングすることができる。一部の実施形態では、アプリケーション配布モジュール140が、インストールファイルデータのバイナリ形式内にアプリケーショントークンを直接挿入することにより、アプリケーショントークンをプロビジョニングすることができる。他の実施形態では、アプリケーション配布モジュール140が、アプリケーショントークンをインストールファイルデータと連結することにより、アプリケーショントークンをプロビジョニングすることができる。アプリケーショントークンを使ってインストールファイルデータをプロビジョニングすると、アプリケーション配布モジュールは、232で、(今ではアプリケーショントークンを使ってプロビジョニングされている)インストールファイルを通信装置110上のインストールクライアント114にネットワークを介して送ることができる。
アプリケーショントークンを使ってプロビジョニングされたインストールファイルを受け取ると、インストールクライアント114は、234で、通信装置110上にクライアントアプリケーション116をインストールすることができる。一部の実施形態では、インストールクライアント114が、インストールファイルからアプリケーショントークンを抽出することができ、アプリケーショントークンから関連するアプリケーションモジュール144のアドレスを抽出することもできる。一部の実施形態では、アプリケーションモジュール144がエンタープライズサーバ130上にあっても良く、クライアントアプリケーション116が、236で、アプリケーショントークンをアプリケーションモジュール144にネットワーク120を介して送ることができる。他の実施形態では、アプリケーションモジュール156がサードパーティアプリケーションサーバ150上にあっても良く、クライアントアプリケーション116が、236で、アプリケーショントークンをアプリケーションモジュール156にネットワーク120を介して送ることができる。一部の実施形態では、アプリケーショントークンが、アプリケーションデータを得るための要求の一部としてアプリケーションモジュール144又は156に送られ得る。そのような実施形態では、例えばアプリケーショントークンをREST(representation state transfer)呼出しの一部としてアプリケーションモジュール144又は156に送ることができる。
238で、アプリケーションモジュール144又は156が、アプリケーショントークンをクライアントアプリケーション116からネットワークを介して受け取ることができ、そのアプリケーショントークンの属性の有効性を評価し且つ/又は属性を確認することができる。一部の実施形態では、アプリケーションモジュール144又は156は、例えばデジタル署名を検査し且つ/又は確認することによってアプリケーショントークンを直接検証することができる。他の実施形態では、アプリケーショントークンに対応するエントリについて、エンタープライズサーバ130のメモリ132内に記憶されているデータベース又はルックアップテーブルに問い合わせることにより、アプリケーションモジュール144がこの確認を行うことができる。更に他の実施形態では、ネットワーク120に動作可能に結合される別のサーバのメモリ内にデータベース又はルックアップテーブルを記憶することができる。例えば、アプリケーションモジュール144は、通信装置110の承認済みの利用者のクライアントアプリケーション116のアプリケーショントークンが受け取られているかどうかを認識することができる。別の例では、アプリケーションモジュール144は、クライアントアプリケーション116の承認済みの機能が利用者のために活動化されているかどうかを認識することができる。更に別の例では、アプリケーションモジュール144は、アプリケーショントークン上のタイムスタンプが有効かどうか等を認識することができる。
アプリケーショントークンの検証に成功すると、アプリケーションモジュール144は、通信装置110上でのクライアントアプリケーション116の実行中に使用するためのアプリケーションデータを、240で、ネットワーク120を介してクライアントアプリケーション116に送ることができる。例えば、クライアントアプリケーション116が販売アプリケーションである場合、アプリケーションデータは、製品の単位の価格表現、1カ月に売れた単位数、未決注文に必要な単位数、1か月の全売上から生じる収入、1か月に儲けた利益等を含むことができる。一部の実施形態では、クライアントアプリケーション116は、利用者に表示するための表を埋めるためにアプリケーションデータを使用することができる。別の例では、クライアントアプリケーション116が人的資源(HR:human resource)アプリケーションである場合、アプリケーションデータは、利用者の従業員番号、利用者の社会保障番号、従業員の状態コード、有給休暇(PTO:paid time off)の企業コード等を含むことができる。一部の実施形態では、クライアントアプリケーション116は、支払サイクル内で企業に請求され得る総労働時間数等を計算するために利用者がこのデータを使用することを可能にし得る。
図1及び図2に記載したアプリケーショントークンプロビジョニング対応のアプリケーション承認システムの実施形態は、要求されたクライアントアプリケーション116に関連するアプリケーショントークンを含めるように、アプリケーション配布モジュール140が、クライアントアプリケーション116に関連するインストールファイルデータをプロビジョニングすることを含むことに留意すべきである。これにより、クライアントアプリケーションを通信装置110上にダウンロードしてインストールできるようにすることができ、クライアントアプリケーションが通信装置110の利用者によって起動されると、クライアントアプリケーションによる他の装置への更なる承認要求が一切必要なくなる。インストールファイルを通信装置110上にダウンロードする前に、インストールファイルデータ内にアプリケーショントークンをプロビジョニングすることにより、ダウンロードされた各クライアントアプリケーション116がダウンロード後に(エンタープライズサーバ130によって)別々に承認されなければならないことを含む課題を克服することができる。インストールファイルデータをアプリケーショントークンによってこのようにプロビジョニングすることで、帯域幅及びプロセッサ時間の使用を減らすことができ、通信装置110の利用者の使い勝手の悪さを改善することができる。
一部の実施形態では、図2に示したステップの1つ又は複数を、アプリケーショントークンプロビジョニング対応のアプリケーション承認システム100を実装するのに任意選択的とすることができる。例えば他の実施形態では、通信装置110の利用者向けに承認されたクライアントアプリケーションの一覧を自動生成し、承認済みクライアントアプリケーションに関連する記憶済みのインストールファイルデータを呼び出し、ユーザ認証肯定応答信号を214で送った直後に、関連するアプリケーショントークンをトークンモジュール142に要求して受け取るように、アプリケーション配布モジュール140を構成することができる。この実施形態では、アプリケーション配布モジュール140がアプリケーショントークンを使ってインストールファイルデータをプロビジョニングすることができ、214でユーザ認証肯定応答信号を送った直後の第2のデータパッケージ又はデータストリーム内でインストールファイルをインストールクライアント114に送ることができる。この実施形態は、216におけるクライアントアプリケーションの一覧についての要求、及び222におけるクライアントアプリケーションについての別の要求をインストールクライアント114から受け取るのを待つことに関連する遅延を防ぐことができる。
図3は、一実施形態による、アプリケーショントークンを含めるように、通信装置上のクライアントアプリケーションに関連するインストールファイルデータをプロビジョニングする方法を示す流れ図である。方法300は、302で、クライアントアプリケーションについての要求を通信装置から受け取るステップを含む。このステップは、例えばエンタープライズサーバ上のアプリケーション配布モジュールによって実行され得る。上記のように、エンタープライズサーバは、例えばウェブサーバ、アプリケーションサーバ、プロキシサーバ、テレネットサーバ、ファイル転送プロトコル(FTP)サーバ、メールサーバ、リストサーバ、コラボレーションサーバ等であり得る。更に上記のように、アプリケーション配布モジュールは、ハードウェアモジュール、及び/又はエンタープライズサーバのメモリ内に記憶され且つ/若しくはエンタープライズサーバのプロセッサ内で実行されるソフトウェアモジュールとすることができる。
クライアントアプリケーションについての要求に応答し、304で、要求されたクライアントアプリケーションに関連するアプリケーショントークンについての要求が、例えばアプリケーション配布モジュールからトークンモジュールに送られ得る。特定のクライアントアプリケーション用のアプリケーショントークンが、承認済みの利用者の通信装置上にインストール可能な1組の承認済みクライアントアプリケーションのうちの要求されたクライアントアプリケーションに一意に関連付けられる。
306で、アプリケーショントークンについての要求に応答し、要求されたアプリケーショントークンが、例えばトークンモジュールからアプリケーション配布モジュールによって受け取られ得る。上記のように、一部の実施形態では、アプリケーショントークンが、利用者の個人識別番号(PIN)、利用者のセキュリティ/アクセスレベル、利用者向けに承認されているアプリケーションの特定の機能及び資源、関連するアプリケーションモジュールのアドレス、アプリケーショントークンの有効期間に関する指示、及びクライアントアプリケーションが通信装置上で効果的に実行され得るようにすることができる他の情報を含み得る。
一部の実施形態では、クライアントアプリケーションについての要求に応答し、クライアントアプリケーションに関連するインストールファイルデータを、例えばアプリケーション配布モジュールにおいて定め且つ/又は生成することができる。そのような実施形態では、アプリケーション配布モジュールに関連するエンタープライズサーバのメモリ内にインストールファイルデータを記憶することができる。他の実施形態では、クライアントアプリケーションについての要求を受け取る前に、各承認済みクライアントアプリケーションに関連するインストールファイルデータをアプリケーション配布モジュールにおいて定め且つ/又は生成することができる。そのような実施形態では、インストールファイルデータを、アプリケーション配布モジュールに関連するエンタープライズサーバのメモリ内に、又はエンタープライズサーバとは別の装置であり、ネットワークに動作可能に結合される装置上に記憶することができる。
308で、要求されたクライアントアプリケーションに関連するアプリケーショントークンを含めるように、例えばアプリケーション配布モジュールにおいてインストールファイルデータをプロビジョニングすることができる。上記のように、一部の実施形態では、インストールファイルデータが、暗号化され又は暗号化されていない形式の利用者の個人識別番号(PIN)、利用者のセキュリティ/アクセスレベル、クライアントアプリケーションのバージョン、利用者向けに承認されているクライアントアプリケーションの特定の機能及び/又は資源、通信装置の識別番号、インストールクライアントのアドレス、要求されたアプリケーションに割り当てられたアプリケーション識別番号等を含むことができる。更に上記で説明したように、一部の実施形態では、例えばアプリケーション配布モジュールにおいて、インストールファイルデータのバイナリ形式内にアプリケーショントークンを直接挿入することにより、アプリケーショントークンを含めるようにインストールファイルデータをプロビジョニングすることができる。他の実施形態では、例えばアプリケーション配布モジュールにおいて、アプリケーショントークンをインストールファイルデータに連結することにより、アプリケーショントークンを含めるようにインストールファイルデータをプロビジョニングすることができる。
310で、アプリケーショントークンを使ってプロビジョニングされているインストールファイルを、例えばアプリケーション配布モジュールが通信装置に送ることができる。通信装置は、そのインストールファイルを使用してクライアントアプリケーションをインストールすることができる。インストールクライアントは、インストールファイルからアプリケーショントークンを抽出し、アプリケーショントークンからクライアントアプリケーションに関連するアプリケーションモジュールのアドレスを抽出することができる。また310で、クライアントアプリケーションは、抽出されるアドレスを用いてアプリケーションモジュールにアプリケーショントークンを送ることにより、関連するアプリケーションモジュールに対して認証を行うことができる。上記のように、例えば認証は、利用者向けに承認されたクライアントアプリケーションのアプリケーショントークンがクライアントアプリケーションからアプリケーションモジュールに送られたかどうかを確かめることを含み得る。別の例では、認証が、利用者に固有のクライアントアプリケーションの承認済み機能が活動化されているかどうかを確かめることを含み得る。更に別の例では、認証が、アプリケーショントークン上のタイムスタンプが有効かどうかを確かめることを含み得る。
図4は、一実施形態による、通信装置の利用者向けに承認されたクライアントアプリケーションの個々のインストールファイルを受け取る方法を示す流れ図である。方法400は、402で、例えば通信装置上のインストールクライアントからエンタープライズサーバ上のアプリケーション配布モジュールに、クライアントアプリケーションについての要求を送るステップを含む。上記のように、一部の実施形態では、通信装置は、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末(PDA)、標準的な携帯電話、タブレットパーソナルコンピュータ(PC)等のパーソナルコンピューティング装置とすることができる。更に上記のように、一部の実施形態では、インストールクライアントが、通信装置上にインストールされるネイティブアプリケーションであり得る。インストールクライアントは、ハードウェアモジュール、及び/又は通信装置のメモリ内に記憶され且つ/若しくは通信装置のプロセッサ内で実行されるソフトウェアモジュールであり得る。
クライアントアプリケーションについての要求に応答し、404で、インストールクライアントは、例えばアプリケーション配布モジュールから、要求されたクライアントアプリケーションに関連するアプリケーショントークンを含む、クライアントアプリケーションに関連するインストールファイルを受け取ることができる。上記のように、一部の実施形態では、アプリケーショントークンが、利用者の個人識別番号(PIN)、利用者のセキュリティ/アクセスレベル、アプリケーショントークンの有効期間に関する指示、関連するアプリケーションモジュールのアドレス、及びアプリケーションが通信装置上で効果的に実行され得るようにすることができる他の情報を含み得る。
406で、インストールクライアントは、インストールファイルを使用してクライアントアプリケーションを例えば通信装置上にインストールすることができる。上記のように、一部の実施形態では、インストールファイルが、利用者の個人識別番号(PIN)、利用者のセキュリティ/アクセスレベル、インストールされるクライアントアプリケーションのバージョン、利用者向けに承認されているクライアントアプリケーションの特定の機能及び/又は資源、通信装置の識別番号、インストールクライアントのアドレス、要求されたアプリケーションに割り当てられたアプリケーション識別番号等を含むことができる。
408で、インストールクライアントは、インストールファイルから例えばアプリケーショントークン等のデータを抽出し、アプリケーショントークンからクライアントアプリケーションに関連するアプリケーションモジュールのアドレスを抽出することができる。また408で、クライアントアプリケーションは、抽出されるアドレスを用いてアプリケーションモジュールにアプリケーショントークンを送ることにより、例えば通信装置から離れた関連するアプリケーションモジュールに対して認証を行うように構成され得る。上記のように、例えば認証は、利用者向けに承認されたクライアントアプリケーションのアプリケーショントークンがクライアントアプリケーションからアプリケーションモジュールに送られたかどうかを確かめることを含み得る。別の例では、認証が、利用者に固有のクライアントアプリケーションの承認済み機能が活動化されているかどうかを確かめることを含み得る。更に別の例では、認証が、アプリケーショントークン上のタイムスタンプが有効かどうかを確かめることを含み得る。
本明細書に記載した一部の実施形態は、コンピュータに実装される様々な操作を実行するための命令又はコンピュータコードを有する、非一時的なコンピュータ可読媒体(非一時的なプロセッサ可読媒体と呼ぶこともできる)を有するコンピュータストレージ製品に関する。コンピュータ可読媒体(又はプロセッサ可読媒体)は、それ自体が一時的な伝搬信号(例えば空間やケーブル等の伝送媒体上で情報を運ぶ伝搬電磁波)を含まない点で非一時的である。媒体及びコンピュータコード(コードと呼ぶこともできる)は、特定の目的のために設計され構築されるものであり得る。非一時的なコンピュータ可読媒体の例には、これだけに限定されないが、ハードディスク、フロッピディスク、磁気テープ等の磁気記憶媒体、コンパクトディスク/デジタル映像ディスク(CD/DVD)、コンパクトディスク−読取専用メモリ(CD−ROM)、ホログラフィック装置等の光学記憶媒体、光ディスク等の光磁気記憶媒体、搬送波信号処理モジュール、及び特定用途向け集積回路(ASIC)、プログラム可能論理デバイス(PLD:Programmable Logic Device)、読取専用メモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random-Access Memory)デバイス等、プログラムコードを記憶して実行するように特別に構成されるハードウェア装置が含まれる。
コンピュータコードの例には、これだけに限定されないが、マイクロコードやマイクロ命令、コンパイラによって生成されるもの等の機械命令、ウェブサービスを作り出すために使用されるコード、及びインタープリタを使用してコンピュータによって実行される高水準命令を含むファイルが含まれる。例えば、命令型プログラミング言語(例えばC、Fortran等)、関数型プログラミング言語(Haskell、Erlang等)、論理型プログラミング言語(例えばProlog)、オブジェクト指向プログラミング言語(例えばJava(登録商標)、C++等)、又は他の適切なプログラミング言語及び/若しくは開発ツールを使用して実施形態を実施することができる。コンピュータコードの更なる例には、これだけに限定されないが、制御信号、暗号化コード、及び圧縮コードが含まれる。
様々な実施形態を上記で説明してきたが、これらの実施形態は限定ではなく専ら例として提示してきたことを理解すべきである。上記の方法は、或る事象が特定の順序で生じることを示すが、特定の事象の順序は変えても良い。更に、事象のうちの一定のものは、上記のように逐次的に実行するだけでなく、可能な場合は並列処理で同時に実行しても良い。

Claims (21)

  1. プロセッサによって実行される命令を表すコードを記憶する非一時的なプロセッサ可読媒体であって、
    前記コードは、
    クライアントアプリケーションについての要求を通信装置から受け取ること、
    前記クライアントアプリケーションに関連するアプリケーショントークンを含めるように、前記クライアントアプリケーションに関連するインストールファイルをプロビジョニングすること、及び
    前記インストールファイルを前記通信装置に送ることであって、それにより前記通信装置は、前記インストールファイルを使用し、前記インストールファイルから抽出される前記アプリケーショントークンを用いてアプリケーションモジュールに対して認証を行う前記クライアントアプリケーションをインストールする、送ること
    を前記プロセッサに行わせるコードを含む、非一時的なプロセッサ可読媒体。
  2. 前記インストールファイルが、前記クライアントアプリケーションに関連するネイティブアプリケーションのバイナリインストールファイルである、請求項1に記載の非一時的なプロセッサ可読媒体。
  3. 前記通信装置の利用者に関連するログイン要求を前記通信装置から受け取ること、及び
    前記ログイン要求に基づいて前記通信装置を認証すること
    を前記プロセッサに行わせるコードを更に含み、
    前記アプリケーショントークンについての前記要求が、前記クライアントアプリケーション及び前記通信装置に関連する、
    請求項1に記載の非一時的なプロセッサ可読媒体。
  4. 前記アプリケーションモジュールがサービス型ソフトウェア(SaaS)ホスト内にある、請求項1に記載の非一時的なプロセッサ可読媒体。
  5. 前記アプリケーションモジュールがエンタープライズホスト内にある、請求項1に記載の非一時的なプロセッサ可読媒体。
  6. 前記アプリケーショントークンが、OAuthアクセストークン又はOAuthリフレッシュトークンの少なくとも一方である、請求項1に記載の非一時的なプロセッサ可読媒体。
  7. ユーザトークン及び1組のクライアントアプリケーション識別情報についての要求を前記通信装置から受け取ること、
    前記ユーザトークンに基づき、前記1組のクライアントアプリケーション識別情報を定めること、及び
    前記1組のクライアントアプリケーション識別情報を前記通信装置に送ることであって、前記クライアントアプリケーションに関連する識別情報は前記1組のクライアントアプリケーション識別情報内にある、送ること
    を前記プロセッサに行わせるコードを更に含む、請求項1に記載の非一時的なプロセッサ可読媒体。
  8. 前記クライアントアプリケーションについての前記要求が、前記通信装置の利用者に関連するユーザトークンを含み、
    前記コードが、
    前記ユーザトークンに基づき、及び前記インストールファイルを前記プロビジョニングすることと、前記インストールファイルを前記送ることの前に、前記通信装置の前記利用者が前記クライアントアプリケーションを受け取る権限を与えられているかどうかを判定すること
    を前記プロセッサに行わせるコードを更に含む、請求項1に記載の非一時的なプロセッサ可読媒体。
  9. 前記クライアントアプリケーションについての前記要求を受け取ることに応答し、前記クライアントアプリケーションに関連する前記アプリケーショントークンについての要求をトークンモジュールに送ること、及び
    前記アプリケーショントークンについての前記要求に応答し、前記アプリケーショントークンを受け取ること
    を前記プロセッサに行わせるコードを更に含む、請求項1に記載の非一時的なプロセッサ可読媒体。
  10. (1)通信装置の利用者の認証情報及び(2)クライアントアプリケーションに関連するトークンについての要求をトークンモジュールに送るように構成され、前記トークンについての前記要求に応答して前記トークンモジュールから前記トークンを受け取るように構成されるアプリケーション配布モジュールを含む機器であって、
    前記アプリケーション配布モジュールは、前記アプリケーショントークンを含めるように前記クライアントアプリケーションに関連するインストールファイルをプロビジョニングするように構成され、前記インストールファイルを前記通信装置に送るように構成され、それにより前記通信装置は、前記インストールファイルを使用し、前記インストールファイルから抽出される前記アプリケーショントークンを用いてアプリケーションモジュールに対して認証を行う前記クライアントアプリケーションをインストールする、
    機器。
  11. 前記アプリケーション配布モジュールが、(1)前記クライアントアプリケーションについての要求、及び(2)前記通信装置の前記利用者に関連する前記認証情報を前記通信装置から受け取るように構成され、前記クライアントアプリケーションについての前記要求に応答して前記トークンについての前記要求を送るように構成される、請求項10に記載の機器。
  12. 前記アプリケーショントークンが、OAuthアクセストークン又はOAuthリフレッシュトークンの少なくとも一方である、請求項10に記載の機器。
  13. 前記インストールファイルが、前記クライアントアプリケーションに関連するネイティブアプリケーションのバイナリインストールファイルである、請求項10に記載の機器。
  14. 前記アプリケーション配布モジュールが、最初の時点で前記通信装置から前記認証情報を受け取るように構成され、前記最初の時点よりも後の第2の時点において前記通信装置から前記クライアントアプリケーションについての要求を受け取るように構成される、請求項10に記載の機器。
  15. 前記アプリケーション配布モジュールが、前記通信装置から前記認証情報を受け取るように構成され、前記認証情報に基づいて前記通信装置の前記利用者の役割を決めるように構成され、前記役割に関連する1組のクライアントアプリケーション識別情報を前記通信装置に送るように構成され、前記1組のクライアントアプリケーション識別情報は、前記クライアントアプリケーションに関連する識別情報を含む、請求項10に記載の機器。
  16. プロセッサによって実行される命令を表すコードを記憶する非一時的なプロセッサ可読媒体であって、
    前記コードは、
    クライアントアプリケーションについての要求をアプリケーション配布モジュールに送ること、
    前記アプリケーション配布モジュールから、及び前記クライアントアプリケーションについての前記要求に応答し、前記クライアントアプリケーションに関連し且つ前記クライアントアプリケーションに関連するアプリケーショントークンを含むインストールファイルを受け取ること、
    前記インストールファイルを使用し、前記クライアントアプリケーションを通信装置においてインストールすること、及び
    前記インストールファイルから前記アプリケーショントークンを抽出することであって、それにより前記クライアントアプリケーションが、前記通信装置から離れたアプリケーションモジュールにおいて前記アプリケーショントークンを使用して認証されるように構成される、抽出すること
    を前記プロセッサに行わせるコードを含む、非一時的なプロセッサ可読媒体。
  17. 前記インストールファイルが、前記クライアントアプリケーションに関連するネイティブアプリケーションのバイナリインストールファイルである、請求項16に記載の非一時的なプロセッサ可読媒体。
  18. 利用者に関連するログイン要求を前記アプリケーション配布モジュールに送ることであって、それにより前記アプリケーション配布モジュールは、前記ログイン要求に基づいて前記利用者を認証し、前記アプリケーション配布モジュールが前記利用者を認証することに基づいて前記アプリケーショントークンが前記利用者に関連付けられる、送ること
    を前記プロセッサに行わせるコードを更に含む、請求項16に記載の非一時的なプロセッサ可読媒体。
  19. 前記アプリケーショントークンが、OAuthアクセストークン又はOAuthリフレッシュトークンの少なくとも一方である、請求項16に記載の非一時的なプロセッサ可読媒体。
  20. 前記アプリケーションモジュールがサービス型ソフトウェア(SaaS)ホストにある、請求項16に記載の非一時的なプロセッサ可読媒体。
  21. 前記アプリケーションモジュールがエンタープライズホストにある、請求項16に記載の非一時的なプロセッサ可読媒体。
JP2015521615A 2012-07-09 2013-05-10 モバイルアプリケーションに対して認証トークンを事前にプロビジョニングするための方法及び機器 Pending JP2015528168A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/544,553 US8473749B1 (en) 2012-07-09 2012-07-09 Methods and apparatus for preprovisioning authentication tokens to mobile applications
US13/544,553 2012-07-09
PCT/US2013/040526 WO2014011318A2 (en) 2012-07-09 2013-05-10 Methods and apparatus for preprovisioning authentication tokens to mobile applications

Publications (1)

Publication Number Publication Date
JP2015528168A true JP2015528168A (ja) 2015-09-24

Family

ID=48627822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015521615A Pending JP2015528168A (ja) 2012-07-09 2013-05-10 モバイルアプリケーションに対して認証トークンを事前にプロビジョニングするための方法及び機器

Country Status (6)

Country Link
US (1) US8473749B1 (ja)
EP (1) EP2870563A4 (ja)
JP (1) JP2015528168A (ja)
AU (1) AU2013289129A1 (ja)
CA (1) CA2878666A1 (ja)
WO (1) WO2014011318A2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120036494A1 (en) * 2010-08-06 2012-02-09 Genwi, Inc. Web-based cross-platform wireless device application creation and management systems, and methods therefor
WO2012119620A1 (en) * 2011-03-08 2012-09-13 Telefonica S.A. A method for providing authorized access to a service application in order to use a protected resource of an end user
CN102262552B (zh) * 2011-07-06 2015-08-19 惠州Tcl移动通信有限公司 一种应用程序跨设备同步方法及***
US8856887B2 (en) 2012-07-09 2014-10-07 Ping Identity Corporation Methods and apparatus for delegated authentication token retrieval
US20140019957A1 (en) * 2012-07-11 2014-01-16 Tencent Technology (Shenzhen) Co., Ltd. Method, apparatus, and system for sharing software among terminals
US8745718B1 (en) * 2012-08-20 2014-06-03 Jericho Systems Corporation Delivery of authentication information to a RESTful service using token validation scheme
US9038138B2 (en) * 2012-09-10 2015-05-19 Adobe Systems Incorporated Device token protocol for authorization and persistent authentication shared across applications
US9391998B2 (en) * 2012-11-21 2016-07-12 Verizon Patent And Licensing Inc. Extended OAuth architecture supporting multiple types of consent based on multiple scopes and contextual information
US8615794B1 (en) 2013-01-09 2013-12-24 Ping Identity Corporation Methods and apparatus for increased security in issuing tokens
US8613055B1 (en) 2013-02-22 2013-12-17 Ping Identity Corporation Methods and apparatus for selecting an authentication mode at time of issuance of an access token
US9754089B2 (en) * 2013-03-15 2017-09-05 Microsoft Technology Licensing, Llc Enterprise application management with enrollment tokens
US10419351B1 (en) * 2013-04-04 2019-09-17 Narus, Inc. System and method for extracting signatures from controlled execution of applications and application codes retrieved from an application source
US9178868B1 (en) * 2013-06-24 2015-11-03 Google Inc. Persistent login support in a hybrid application with multilogin and push notifications
US9608981B2 (en) 2013-12-11 2017-03-28 Red Hat, Inc. Strong user authentication for accessing protected network
US9258291B2 (en) 2013-12-19 2016-02-09 Dropbox, Inc. Pre-authorizing a client application to access a user account on a content management system
US9413745B1 (en) * 2014-03-11 2016-08-09 William W. Rowley System and method for accessing a membership-based service
US10924554B2 (en) * 2014-05-05 2021-02-16 Citrix Systems, Inc. Application customization
US9646149B2 (en) 2014-05-06 2017-05-09 Microsoft Technology Licensing, Llc Accelerated application authentication and content delivery
US9419962B2 (en) * 2014-06-16 2016-08-16 Adobe Systems Incorporated Method and apparatus for sharing server resources using a local group
JP2016085641A (ja) * 2014-10-27 2016-05-19 キヤノン株式会社 権限移譲システム、権限移譲システムにて実行される方法、およびそのプログラム
US20160147544A1 (en) * 2014-11-26 2016-05-26 Dropbox, Inc. Assisted client application accessibility
US9960977B2 (en) * 2015-03-02 2018-05-01 Facebook, Inc. Techniques to identify application foreground / background state based on network traffic
US20170187700A1 (en) * 2015-12-28 2017-06-29 Paypal, Inc. Pregenerated two-factor authentication tokens
CN106131064A (zh) * 2016-08-24 2016-11-16 明算科技(北京)股份有限公司 面向多应用的用户数据管理方法和***
US10511574B2 (en) * 2017-03-31 2019-12-17 Hyland Software, Inc. Methods and apparatuses for utilizing a gateway integration server to enhance application security
US10645073B1 (en) * 2017-06-12 2020-05-05 Ca, Inc. Systems and methods for authenticating applications installed on computing devices
US10924468B2 (en) 2018-07-27 2021-02-16 Citrix Systems, Inc. Remote desktop protocol proxy with single sign-on and enforcement support
US11526339B1 (en) * 2020-08-11 2022-12-13 NortonLifeLock Inc. Systems and methods for improving application installation
KR102637168B1 (ko) * 2023-07-20 2024-02-16 인스피언 주식회사 애플리케이션 서비스 제공 장치, 애플리케이션 서비스 제공 방법 및 애플리케이션 서비스 제공하는 프로그램이 저장된 컴퓨터가 판독 가능한 기록매체

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018964A1 (en) * 2001-07-19 2003-01-23 International Business Machines Corporation Object model and framework for installation of software packages using a distributed directory
US20050240763A9 (en) 2001-08-06 2005-10-27 Shivaram Bhat Web based applications single sign on system and method
US7500262B1 (en) * 2002-04-29 2009-03-03 Aol Llc Implementing single sign-on across a heterogeneous collection of client/server and web-based applications
US7992197B2 (en) 2007-10-29 2011-08-02 Yahoo! Inc. Mobile authentication framework
US8544068B2 (en) * 2010-11-10 2013-09-24 International Business Machines Corporation Business pre-permissioning in delegated third party authorization
US8868915B2 (en) 2010-12-06 2014-10-21 Verizon Patent And Licensing Inc. Secure authentication for client application access to protected resources

Also Published As

Publication number Publication date
EP2870563A4 (en) 2016-06-01
AU2013289129A1 (en) 2015-02-26
WO2014011318A2 (en) 2014-01-16
CA2878666A1 (en) 2014-01-16
EP2870563A2 (en) 2015-05-13
US8473749B1 (en) 2013-06-25
WO2014011318A3 (en) 2014-02-27

Similar Documents

Publication Publication Date Title
JP2015528168A (ja) モバイルアプリケーションに対して認証トークンを事前にプロビジョニングするための方法及び機器
US9407622B2 (en) Methods and apparatus for delegated authentication token retrieval
US8615794B1 (en) Methods and apparatus for increased security in issuing tokens
US8613055B1 (en) Methods and apparatus for selecting an authentication mode at time of issuance of an access token
US11210661B2 (en) Method for providing payment gateway service using UTXO-based protocol and server using same
US10454918B1 (en) Method for SSO service using PKI based on blockchain networks, and device and server using the same
US10162982B2 (en) End user control of personal data in the cloud
EP3207661B1 (en) Identity infrastructure as a service
US9130926B2 (en) Authorization messaging with integral delegation data
US7571473B1 (en) Identity management system and method
US9769152B2 (en) Attribute-based access control
US8839395B2 (en) Single sign-on between applications
US8332922B2 (en) Transferable restricted security tokens
CN108804906B (zh) 一种用于应用登陆的***和方法
US9705879B2 (en) Efficient and reliable attestation
US20200389317A1 (en) Dynamic management and implementation of consent and permissioning protocols using container-based applications
US8752158B2 (en) Identity management with high privacy features
US11599623B2 (en) Global identity for use in a hybrid cloud network architecture
US10574699B1 (en) Load balancer request processing
US20210390207A1 (en) Consent-driven privacy disclosure control processing
US9053305B2 (en) System and method for generating one-time password for information handling resource
US10694330B2 (en) Validating mobile applications for accessing regulated content
US20240039726A1 (en) System and method for secure access to legacy data via a single sign-on infrastructure