JP6311214B2 - アプリケーション認証プログラム、認証サーバ、端末およびアプリケーション認証方法 - Google Patents

アプリケーション認証プログラム、認証サーバ、端末およびアプリケーション認証方法 Download PDF

Info

Publication number
JP6311214B2
JP6311214B2 JP2013016251A JP2013016251A JP6311214B2 JP 6311214 B2 JP6311214 B2 JP 6311214B2 JP 2013016251 A JP2013016251 A JP 2013016251A JP 2013016251 A JP2013016251 A JP 2013016251A JP 6311214 B2 JP6311214 B2 JP 6311214B2
Authority
JP
Japan
Prior art keywords
application
authentication
information
response
redirect
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013016251A
Other languages
English (en)
Other versions
JP2014149561A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013016251A priority Critical patent/JP6311214B2/ja
Priority to US14/104,309 priority patent/US10044694B2/en
Priority to CN201310734037.2A priority patent/CN103971047B/zh
Publication of JP2014149561A publication Critical patent/JP2014149561A/ja
Application granted granted Critical
Publication of JP6311214B2 publication Critical patent/JP6311214B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

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

Description

本発明は、アプリケーション認証プログラムなどに関する。
近年提供されているインターネット上のサービスでは、ウェブブラウザ等の汎用化されたアプリケーション経由ではなく、サービス専用のアプリケーションを経由したサービス提供が行われている。かかるサービス提供では、サービス提供側は、ユーザのアプリケーションを用いてのサービスへの接続許可に対する認証(ユーザ認証)のほかにアプリケーションのアクセス許可に対する認証(アプリ認証)を行う。
アプリケーションのアクセス許可に対する認証では、ユーザが使用するアプリケーションの認証情報を、例えばアプリケーションの提供者または作成者が事前にサービス提供側に登録し、サービス提供側は、アプリケーションの識別IDおよびパスワードを発行する。そして、サービス提供側は、アプリケーションからサービスへの接続の際に、アプリケーションの識別IDおよびパスワードを利用した認証を行う。認証が完了すると、サービス提供側は、トークンを発行し、アプリケーションはトークンを用いて、ユーザからの操作に応じて、サービスへのアクセスを行う。このアプリケーションの認証手法として、OAuth2が知られている(例えば、特許文献1)。
特開2012−194722号公報
ところで、サービス提供側のサービスの提供が複数のサイトにわたり、複数のサイト間でアプリケーションの認証情報の共有がなされない場合がある。かかる場合、例えばアプリケーションの提供者は使用するアプリケーションの認証情報を、利用するサイト毎に登録することとなり、アプリ認証が煩雑になるという問題がある。
ここで、アプリ認証が煩雑になるという問題について、図11および図12を参照して説明する。図11は、OAuth2を利用したサービスを示す図である。図12は、アプリ認証が煩雑になるという問題を示す図である。
図11に示すように、OAuth2を利用したサービスでは、アプリA,B,C,Dの認証情報として例えばアプリリストを、サービス提供側の例えばアプリケーションの提供者が認証サーバに登録する。そして、認証サーバは、OAuth2を利用してアプリA,B,C,Dの各アプリケーションのアプリ認証を行うことができる。
図12に示すように、サービス提供側では、サービスの提供が複数のサイトにわたることがある。ここで、複数のサイトの認証サーバ間で認証情報の共有がなされない場合、サービス提供側の例えばアプリケーションの提供者は、使用するアプリケーションを認証サーバ分登録することが必要となり、アプリ認証が煩雑になる。
アプリ認証が煩雑になることを回避するために、アプリケーションの認証情報をサービス提供側が持たない場合、ユーザは、利用しているアプリケーションが正当な通信を行っていないことを検知できないという問題がある。例えば、ユーザは不当なアプリケーションに騙られてしまうことがある。ここで、不当なアプリケーションに騙られた場合の一例を、図13を参照して説明する。図13は、不当なアプリケーションに騙られた場合の一例を示す図である。
図13左図で示される画面は、正当なアプリケーションによって表示された画面である。図13右図で示される画面は、正当なアプリケーションを装った不当なアプリケーション(例えば、フィッシングアプリ)によって表示された画面である。ここでは、URLが異なるだけで表示内容が同じであるので、ユーザは、気づかないでパスワードを入力してしまうことがある。すなわち、ユーザは、アプリケーションが正当な通信を行っていないことを検知できない。
1つの側面では、アプリケーションの正当性を判定することを目的とする。
本願の開示するアプリケーション認証プログラムは、コンピュータに、端末上で動作するアプリケーションから、アプリケーション関連情報およびリダイレクト情報を含むアクセス要求を受付け、前記リダイレクト情報が正当であると判断したとき、前記アクセス要求に対する応答であって、前記アプリケーション関連情報に対応するアプリケーション特定情報を含むアクセス応答を、前記リダイレクト情報に対応するリダイレクト先に送信する処理を実行させる。
本願の開示するアプリケーション認証プログラムの1つの態様によれば、アプリケーションの正当性を判定することができる。
図1は、実施例に係るデータ参照システムの全体構成を示すブロック図である。 図2は、アプリ識別情報の内容の一例を示す図である。 図3は、実施例に係る通信端末側での処理のフローチャートを示す図である。 図4は、実施例に係るデータサーバ側での処理のフローチャートを示す図である。 図5は、実施例に係るアプリケーションサーバ側での処理のフローチャートを示す図である。 図6は、実施例に係るアプリケーション認証処理のシーケンスを示す図である。 図7は、実施例に係るアプリケーション認証処理の変形例のシーケンスを示す図である。 図8Aは、不正なアプリケーションが認証要求をする例を示す図(1)である。 図8Bは、不正なアプリケーションが認証要求をする例を示す図(2)である。 図8Cは、不正なアプリケーションが認証要求をする例を示す図(3)である。 図9は、サーバのハードウェア構成の一例を示す図である。 図10は、通信端末のハードウェア構成の一例を示す図である。 図11は、OAuth2を利用したサービスを示す図である。 図12は、アプリ認証が煩雑になるという問題を示す図である。 図13は、不当なアプリケーションに騙られた場合の一例を示す図である。
以下に、本願の開示するアプリケーション認証プログラム、認証サーバ、端末およびアプリケーション認証方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
[データ参照システムの構成]
図1は、実施例に係るデータ参照システムの全体構成を示す図である。図1に示すように、データ参照システム9は、通信端末1と、複数のアプリケーションサーバ2と、複数のデータサーバ3とを有する。通信端末1は、複数のアプリケーションサーバ2および複数のデータサーバ3とそれぞれインターネット網を示すネットワーク4で接続されている。
通信端末1は、アプリケーションを用いてサービスの提供を受ける。アプリケーションサーバ2は、アプリケーションによってサービスを提供する。データサーバ3は、サービスに伴い生成されるデータを管理する。すなわち、データ参照システム9は、複数のアプリケーションサーバ2それぞれで提供されるアプリケーションを通信端末1に利用させながらも、通信端末1のユーザが指定したデータサーバ3にアクセスしてユーザ個人のデータを当該データサーバ3で一括して管理する。このように、データ参照システム9は、アプリケーションサーバ2とデータサーバ3とを分離する構成を採用することにより、通信端末1のユーザが自身のコントロール配下でデータを一元管理することを可能とする。
通信端末1には、アプリケーション10およびブラウザ11が記憶される。通信端末1は、例えば、スマートフォンであったり、PHS(Personal Handyphone System)であったり、PDA(Personal Digital Assistants)であったり、PC(Personal Computer)であっても良く、通信可能な通信端末であれば良い。
アプリケーション10は、通信端末1がアプリケーションサーバ2によって提供されるサービスを受けるためのソフトウェアである。通信端末1は、ユーザが提供を受けたいサービスに対応するアプリケーションを、当該サービスを提供するアプリケーションサーバ2から取得し、例えば、RAM(Random Access Memory)やHDD(Hard Disk Drive)に格納する。
アプリケーション10は、ユーザのデータサーバ3に対して、自身の認証要求を送信する。例えば、アプリケーション10は、アプリケーション関連情報およびリダイレクト情報を指定した認証要求を、ユーザのデータサーバ3に送信する。ここで、アプリケーション関連情報とは、アプリケーション10に対応するアプリケーションサーバ2のURLであり、リダイレクト情報とは、アプリケーションサーバ2上のトークン取り出しページのURL(リダイレクトURL)である。なお、アプリケーションサーバ2のURLやアプリケーションサーバ2上のトークン取り出しページのURLは、アプリケーション10の所定の領域に埋め込まれている。
また、アプリケーション10は、認証要求に対する応答として後述するブラウザ11からトークンを取得する。これにより、アプリケーション10は、トークンを用いて、ユーザのデータサーバ3へアクセスできる。
ブラウザ11は、所定の情報をダウンロードし、レイアウトを解析して表示するソフトウェアである。例えば、ブラウザ11は、認証要求が送信されたデータサーバ3から、当該認証要求をユーザに問い合わせる画面を取得し、取得した画面を表示する。さらに、ブラウザ11は、アプリケーションサーバ2のURLから、アプリケーション10の識別情報(後述するアプリ識別情報)を取得し、取得したアプリ識別情報を、認証要求を問い合わせる画面上に表示する。これにより、ブラウザ11は、アプリケーション10のアプリ識別情報を表示することで、ユーザにアプリケーション10の正当性を委ねることができる。すなわち、ユーザは、ブラウザ11によって表示されたアプリ識別情報を視認することで、アプリケーション10の正当性を判別できる。また、ブラウザ11は、認証要求に対する応答をデータサーバ3から取得し、取得した応答に含まれるアプリケーションサーバ2上のトークン取り出しページのURLから、トークン取り出しページ212をダウンロードする。そして、ブラウザ11は、ダウンロードしたトークン取り出しページを実行し、トークンが取り出せるかどうかを確認する。そして、ブラウザ11は、トークンが取り出せる場合、取り出したトークンを認証要求に対する応答としてアプリケーション10に戻す。
アプリケーションサーバ2は、サービス毎、言い換えると、サービスを実施するアプリケーション毎に区分される。さらに、アプリケーションサーバ2は、記憶部21と、提示部22とを有する。
記憶部21は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等や、ハードディスク(HDD)等の記憶装置に対応する。そして、記憶部21は、アプリケーション210とアプリ識別情報211とトークン取り出しページ212を有する。アプリケーション210は、サービスを提供するソフトウェアであり、通信端末1からの要求により当該通信端末1に配信される。トークン取り出しページ212は、通信端末1側でトークンを取り出す際に用いられるスクリプトである。
アプリ識別情報211は、アプリケーション210の識別に用いられる情報である。ここで、アプリ識別情報211の内容を、図2を参照して説明する。図2は、アプリ識別情報の内容の一例を示す図である。図2に示すように、アプリ識別情報には、ロゴa1、アプリ名a2および説明a3が対応付けて設定される。ロゴa1は、アプリケーション210のロゴを示す。ロゴa1には、例えば、アプリケーション210を作成した会社名またはアプリケーション210によって提供されるサービスのサービス名が含まれても良い。アプリ名a2は、アプリケーション210の名称を示す。アプリ名a2は、バージョン情報を含んでも良い。説明a3には、アプリケーション210の機能などの説明が設定される。
図1に戻って、提示部22は、ブラウザ11から、自身のアプリケーションサーバ2に対応するアプリ識別情報211の取得要求を受信すると、記憶部21に記憶されたアプリ識別情報211をブラウザ11に提示する。これにより、ブラウザ11は、認証要求があったアプリケーション10のアプリ識別情報211を表示できるので、ユーザにアプリケーション10の正当性を判断させることができる。
データサーバ3は、通信端末1のユーザ単位毎に区分される。さらに、データサーバ3は、記憶部31と、認証部32と、制御部33とを有する。
記憶部31は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等や、ハードディスク等の記憶装置に対応する。記憶部31は、サービスに対応するデータ領域を有する。ここでいうサービスとは、アプリケーションサーバ2によって提供されるサービスであり、アプリケーション10によって実施されるサービスを意味する。例えば、ユーザ100の通信端末1が、サービスAのアプリケーション10によってサービスの提供を受けるとする。すると、ユーザ100の通信端末1は、サービスAのアプリケーション10の認証に成功すれば、ユーザ100に対応するデータサーバ3の記憶領域のうち、サービスAに対応するデータ領域にアクセスできる。
認証部32は、通信端末1上で動作するアプリケーション10から、アプリケーション関連情報およびリダイレクト情報を指定した認証要求を受信すると、アプリケーション10の認証を開始する。ここで、アプリケーション関連情報とは、アプリケーション10に対応するアプリケーションサーバ2のURLであり、リダイレクト情報とは、アプリケーションサーバ2上のトークン取り出しページのURLである。例えば、認証部32は、アプリケーション10からの認証要求に対する応答として、当該認証要求をユーザに問い合わせる画面を通信端末1に送信する。
また、認証部32は、リダイレクト情報が正当であるか否かを判定する。例えば、認証部32は、認証要求をユーザに問い合わせた結果、通信端末1からデータサーバ3に対するログインがなされると、リダイレクト情報がアプリケーション関連情報の配下であるかを判定する。すなわち、認証部32は、アプリケーションサーバ2上のトークン取り出しページのURL内部分文字列が、アプリケーション10に対応するアプリケーションサーバ2のURL内文字列に含まれるか否かを判定する。一例として、部分文字列がドメインの文字列である場合、認証部32は、トークン取り出しページのURL内ドメインの文字列がアプリケーションサーバ2のURL内文字列に含まれるか否かを判定する。そして、認証部32は、リダイレクト情報がアプリケーション関連情報の配下であると判定した場合、リダイレクト情報が正当であると判断する。一方、認証部32は、リダイレクト情報がアプリケーション関連情報の配下でないと判定した場合、リダイレクト情報が不当であると判断する。これにより、認証部32は、不当なアプリケーション10からの認証要求であることを検証することができる。
また、認証部32は、リダイレクト情報が正当である場合、トークンを払い出し、払い出したトークンをリダイレクト情報に付与し、認証要求に対する応答としてブラウザ11に返す。例えば、認証部32は、アプリケーションサーバ2上のトークン取り出しページのURLに、払い出したトークンをフラグメントで付与する。そして、認証部32は、付与して得られた情報をロケーションヘッダに指定してブラウザ11に返す。ここで、ロケーションヘッダに指定された情報の一例について説明する。アプリケーションサーバ2上のトークン取り出しページのURLが「https://hoge.example.com/{token_parse_script}」であるとする。すると、トークンをフラグメントで付与した情報は、「https://hoge.example.com/{token_parse_script}#{token}」となる。さらに、指定されたロケーションヘッダは、「Location :https://hoge.example.com/{token_parse_script}#{token}」となる。これにより、通信端末1側では、このロケーションヘッダを受け取ると、自動的にリダイレクトされる。そして、通信端末1は、トークンを取り出せば、取り出したトークンにより、アプリケーション10によって実施されるサービスに対応するデータのアクセス先へアクセスすることが可能となる。
制御部33は、通信端末1から受信したトークンに基づいて、通信端末1のアプリケーション10によるデータへのアクセスを制御する。
[通信端末側での処理手順]
次に、通信端末1側での処理手順について、図3を参照して説明する。図3は、実施例に係る通信端末側での処理のフローチャートを示す図である。なお、通信端末1では、サービスAを実施するアプリケーション10の認証を行うものとする。
まず、通信端末1は、ユーザ入力により指定されたアプリケーション10を起動する(ステップS11)。すると、アプリケーション10が、ユーザのデータサーバ3に対して、自身の認証要求を送信する(ステップS12)。例えば、アプリケーション10は、アプリケーション10に対応するアプリケーションサーバ2のURLおよびアプリケーションサーバ2上のトークン取り出しページのURL(リダイレクトURL)を、ユーザのデータサーバ3に送信する。なお、アプリケーションサーバ2のURLやリダイレクトURLは、アプリケーション10の所定の領域に埋め込まれている。
続いて、ブラウザ11は、データサーバ3からの応答により認証要求を問い合わせる画面を表示する(ステップS13)。そして、ブラウザ11は、アプリケーション10に対応するアプリ識別情報211の取得要求をアプリケーションサーバ2のURLに送信する(ステップS14)。
その後、ブラウザ11は、アプリケーションサーバ2からアプリケーション10に対応するアプリ識別情報211を受信したか否かを判定する(ステップS15)。アプリケーション10に対応するアプリ識別情報211を受信しなかったと判定した場合(ステップS15;No)、ブラウザ11は、アプリ認証が失敗したことを示す認証結果を出力させるべく、ステップS22に移行する。
一方、アプリケーション10に対応するアプリ識別情報211を受信したと判定した場合(ステップS15;Yes)、ブラウザ11は、受信したアプリ識別情報211を、認証要求を問い合わせる画面上に表示する(ステップS16)。これにより、ブラウザ11は、アプリケーション10のアプリ識別情報を表示することで、ユーザにアプリケーション10の正当性を委ねることができる。すなわち、ユーザは、ブラウザ11によって表示されたアプリ識別情報を視認することで、アプリケーション10の正当性を判別できる。
続いて、ブラウザ11は、ユーザ入力によりユーザ名、パスワードを取得したか否かを判定する(ステップS17)。すなわち、ブラウザ11は、ユーザからデータサーバ3に対するログインがあったか否かを判定する。ユーザ名、パスワードを取得しなかったと判定した場合(ステップS17;No)、ブラウザ11は、アプリ認証が失敗したことを示す認証結果を出力させるべく、ステップS22に移行する。
一方、ユーザ名、パスワードを取得したと判定した場合(ステップS17;Yes)、ブラウザ11は、ユーザ名、パスワードを、ユーザのデータサーバ3に送信する(ステップS18)。
その後、ブラウザ11は、データサーバ3から認証要求に対する応答を受信したか否かを判定する(ステップS19)。認証要求に対する応答を受信しなかったと判定した場合(ステップS19;No)、ブラウザ11は、アプリ認証が失敗したことを示す認証結果を出力させるべく、ステップS22に移行する。
一方、認証要求に対する応答を受信したと判定した場合(ステップS19;Yes)、ブラウザ11は、応答に含まれるアプリケーションサーバ2上のトークン取り出しページのURLから、トークン取り出しページをダウンロードする(ステップS20)。認証要求に対する応答は、例えばロケーションヘッダに指定される。一例として、ロケーションヘッダに指定された応答が、「Location :https://hoge.example.com/{token_parse_script}#{token}」であるとする。すると、ブラウザ11は、「https://hoge.example.com/{token_parse_script}」から、トークン取り出しページをダウンロードする。
そして、ブラウザ11は、ダウンロードしたトークン取り出しページを実行し、トークンが取り出せるかどうかを確認する(ステップS21)。
具体的には、ブラウザ11が、応答に含まれるトークン取り出しページを実行する際に、アプリケーションのURLとトークン取出しページのURLの管理者が一致するか否かを判定する。管理者が一致するか否かの判定手法としては、例えば、応答として渡されたトークン取り出しページのURLと、アプリケーションのURLとが、同一、あるいは配下の階層に位置する関係であるかを、URLの文字列を解析することにより判定する。あるいは、ブラウザ11の機能により、アプリケーションのURLに対応するページ表示から、トークン取り出しページのURLに対応するページ表示に含まれるスクリプトが実行可能かを見ることにより、ドメインが一致するかの判定を行っても良い。認証要求のリダイレクトURLに対応するトークン取り出しページのURLと、アプリケーションのURLの管理者が一致したと判定された場合(ステップS21;Yes)、ブラウザ11はトークンをトークン取り出しページより取得することができる。これにより、アプリケーション10の認証が完了したこととなるので、ブラウザ11はアプリケーション10にトークンを渡す(ステップS23)。アプリケーション10は、アプリ認証が成功したことを示す認証結果を、例えばモニタに出力しても良い。そして、通信端末1側の処理が終了する。
一方、応答に含まれるトークン取り出しページのURLとアプリケーションのURLの管理者が一致しないと判定された場合(ステップS21;No)、ブラウザ11はアプリケーション10にトークンを渡さない。これに対応して、アプリケーション10は、アプリ認証が失敗したことを示す認証結果を出力させるべく、ステップS22に移行する。例えば、一定時間経過後もアプリケーション10がトークンを受け取れない場合や、ブラウザ11より認証失敗の通知をアプリケーション10が受けた場合に、ステップS22に移行する。ステップS22では、通信端末1は、アプリ認証が失敗したことを示す認証結果を、例えばモニタに出力する(ステップS22)。そして、通信端末1側の処理が終了する。
[データサーバ側での処理手順]
次に、データサーバ3側での処理手順について、図4を参照して説明する。図4は、実施例に係るデータサーバ側での処理のフローチャートを示す図である。なお、サービスAを実施するアプリケーション10の認証要求が通信端末1から送信されるものとする。
まず、認証部32は、アプリケーションから認証要求を受信したか否かを判定する(ステップS31)。認証要求には、アプリケーションに対応するアプリケーションサーバ2のURLおよびアプリケーションサーバ2上のトークン取り出しページのURL(リダイレクトURL)が含まれる。アプリケーションから認証要求を受信しなかったと判定した場合(ステップS31;No)、認証部32は、認証要求を受信するまで、判定処理を繰り返す。
一方、アプリケーションから認証要求を受信したと判定した場合(ステップS31;Yes)、認証部32は、認証要求を問い合わせる画面を通信端末1に送信する(ステップS32)。ここでは、認証部32は、アプリケーション10から認証要求を受信したとする。
その後、認証部32は、通信端末1からユーザ名、パスワードを受信したか否かを判定する(ステップS33)。通信端末1からユーザ名、パスワードを受信しなかったと判定した場合(ステップS33;No)、認証部32は、アプリ認証が失敗したことを示す認証結果を送信させるべく、ステップS39に移行する。
一方、通信端末1からユーザ名、パスワードを受信したと判定した場合(ステップS33;Yes)、認証部32は、ユーザ名、パスワードを用いて、自身のデータサーバ3に対するログインを試みる(ステップS34)。認証部32は、ログインに成功したか否かを判定する(ステップS35)。ログインに失敗したと判定した場合(ステップS35;No)、認証部32は、アプリ認証が失敗したことを示す認証結果を送信させるべく、ステップS39に移行する。
一方、ログインに成功したと判定した場合(ステップS35;Yes)、認証部32は、リダイレクトURLがアプリケーションサーバ2のURLの配下であるか否かを判定する(ステップS36)。例えば、認証部32は、リダイレクトURLの文字列内の部分文字列が、アプリケーションサーバ2のURLの文字列に含まれるか否かを判定する。リダイレクトURLがアプリケーションサーバ2のURLの配下でないと判定した場合(ステップS36;No)、認証部32は、アプリ認証が失敗したことを示す認証結果を送信させるべく、ステップS39に移行する。これにより、認証部32は、不当なアプリケーション10からの認証要求であることを検証することができる。
ステップS39では、認証部32は、アプリ認証が失敗したことを示す認証結果を認証要求のあった通信端末1に送信する(ステップS39)。そして、データサーバ側の処理が終了する。
一方、リダイレクトURLがアプリケーションサーバ2のURLの配下であると判定した場合(ステップS36;Yes)、認証部32は、トークンを払い出す(ステップS37)。そして、認証部32は、リダイレクトURLに、払い出したトークンをフラグメントで付与する。そして、認証部32は、付与して得られた情報をロケーションヘッダに指定してブラウザ11に戻す(ステップS38)。そして、データサーバ側の処理が終了する。
[アプリケーションサーバ側での処理手順]
次に、アプリケーションサーバ2側での処理手順について、図5を参照して説明する。図5は、実施例に係るアプリケーションサーバ側での処理のフローチャートを示す図である。なお、通信端末1が、サービスAを実施するアプリケーション10の認証要求を行ったものとする。
まず、提示部22は、通信端末1からアプリ識別情報211の取得要求を受信したか否かを判定する(ステップS41)。通信端末1からアプリ識別情報211の取得要求を受信しなかったと判定した場合(ステップS41;No)、提示部22は、アプリ識別情報211の取得要求を受信するまで、判定処理を繰り返す。
一方、通信端末1からアプリ識別情報211の取得要求を受信したと判定した場合(ステップS41;Yes)、提示部22は、アプリ識別情報211を通信端末1に送信する(ステップS42)。すなわち、認証要求で指定されたアプリケーションサーバ2のURLに対応するアプリケーションサーバ2の提示部22が、自身の記憶部21に記憶されたアプリ識別情報211を通信端末1に送信する、これにより、提示部22は、通信端末1にアプリ識別情報211を提示できるので、通信端末1のユーザにアプリケーション10の正当性を判断させることができる。そして、アプリケーションサーバ2側の処理が終了する。
[アプリケーション認証処理のシーケンス]
次に、アプリケーション認証処理のシーケンスを、図6を参照しながら説明する。図6は、実施例に係るアプリケーション認証処理のシーケンスを示す図である。なお、図6では、ユーザUの通信端末1がアプリケーションAの認証要求を行うこととする。アプリケーションAは、サービスAを提供する。
ユーザUが通信端末1のアプリケーションAを起動すると(ステップS91)、起動後のアプリケーションAが、認証要求をユーザUのデータサーバ3に送信する(ステップS92)。認証要求には、アプリケーションサーバ2のURLおよびアプリケーションサーバ2上のトークン取り出しページのURL(リダイレクトURL)が指定される。
ユーザUのデータサーバ3側では、認証要求を受信した認証部32が、認証要求を問い合わせる画面を通信端末1に送信する(ステップS93)。この結果、通信端末1側では、ブラウザ11が、認証要求を問い合わせる画面を表示する。そして、ブラウザ11は、認証要求で指定されたアプリケーションサーバ2のURLに対して、アプリ識別情報211の取得要求を送信する(ステップS94)。ここでは、アプリケーションサーバ2のURLは、サービスAに対応するアプリケーションサーバ2であるとする。
サービスAに対応するアプリケーションサーバ2側では、アプリ識別情報211の取得要求を受信した提示部22が、自身の記憶部21に記憶されたアプリ識別情報211を取得要求元の通信端末1に送信する(ステップS95)。この結果、通信端末1側では、ブラウザ11が、認証要求を問い合わせる画面上にアプリ識別情報211を表示する。ここでは、ブラウザ11には、認証要求を問い合わせる画面上に、アプリケーションAのアプリ識別情報211が表示されている。すなわち、アプリケーションAのロゴ、アプリケーションAの名称およびアプリケーションAの説明が表示されている。
ここで、ユーザUは、表示されたアプリ識別情報211がアプリケーションAに対応する正当な情報であると判断すれば、ブラウザ11にユーザの認証情報を入力してデータサーバ3に対してログインする。ここでは、ユーザUは、表示されたアプリ識別情報211がアプリケーションAに対応する正当な情報であると判断し、ユーザの認証情報としてユーザ名とパスワードを入力したとする。すると、ブラウザ11は、入力されたユーザ名、パスワードを、ユーザUのデータサーバ3に送信する(ステップS97)。
ユーザUのデータサーバ3側では、ユーザ名、パスワードを受信した認証部32が、ユーザ名、パスワードを用いてログインする。そして、認証部32は、ログインが成功し、且つ、リダイレクトURLがアプリケーションサーバ2のURLの配下であれば、トークンを払い出す。そして、認証部32は、リダイレクトURLであるアプリケーションサーバ2上のトークン取り出しページのURLに、払い出したトークンをフラグメントで付与する。そして、認証部32は、付与して得られた情報をロケーションヘッダに指定して、認証要求に対する応答として通信端末1のブラウザ11に返す(ステップS98)。
通信端末1のブラウザ11は、応答に含まれるアプリケーションサーバ2上のトークン取り出しページのURLから、トークン取り出しページ212をダウンロードする(ステップS99)。そして、ブラウザ11は、ダウンロードしたトークン取り出しページを実行し、トークンが取り出せるかどうかを確認する。そして、ブラウザ11は、トークンが取り出せる場合、取り出したトークンを認証要求に対する応答としてアプリケーションAに戻す(ステップS100)。
通信端末1のアプリケーションAは、ブラウザ11から認証要求に対する応答としてトークンを受信すると、トークンを用いて、ユーザUのデータサーバ3へアクセスできる。
ところで、実施例では、ブラウザ11が、認証要求で指定されたアプリケーションサーバ2のURLから、当該アプリケーションサーバ2のURLに対応するアプリ識別情報211を取得するようにした。しかしながら、実施例では、これに限定されず、データサーバ3が、認証要求で指定されたアプリケーションサーバ2のURLから、当該アプリケーションサーバ2のURLに対応するアプリ識別情報211を取得する場合であっても良い。かかる場合、データサーバ3は、取得したアプリ識別情報211と、認証要求をユーザに問い合わせる画面とを通信端末1のブラウザ11に送信すれば良い。
そこで、アプリケーション認証処理の変形例として、データサーバ3が、認証要求で指定されたアプリケーションサーバ2のURLから、当該アプリケーションサーバ2のURLに対応するアプリ識別情報211を取得する場合について説明する。
[アプリケーション認証処理の変形例のシーケンス]
図7は、実施例に係るアプリケーション認証処理の変形例のシーケンスを示す図である。なお、図7では、図6に示すアプリケーション認証処理のシーケンスと同一の動作については同一符号を付すことで、その重複する動作の説明については簡単に説明する。図7も、図6と同様に、ユーザUの通信端末1がアプリケーションAの認証要求を行うこととする。アプリケーションAは、サービスAを提供する。
ユーザUが通信端末1のアプリケーションAを起動し(ステップS91)、起動後のアプリケーションAが、認証要求をユーザUのデータサーバ3に送信する(ステップS92)。認証要求には、アプリケーションサーバ2のURLおよびアプリケーションサーバ2上のトークン取り出しページのURL(リダイレクトURL)が指定される。
ユーザUのデータサーバ3側では、認証要求を受信した認証部32が、認証要求で指定されたアプリケーションサーバ2のURLに対して、アプリ識別情報211の取得要求を送信する(ステップS93A)。ここでは、アプリケーションサーバ2のURLは、サービスAに対応するアプリケーションサーバ2であるとする。
サービスAに対応するアプリケーションサーバ2側では、アプリ識別情報211の取得要求を受信した提示部22が、自身の記憶部21に記憶されたアプリ識別情報211を取得要求元のユーザUのデータサーバ3に送信する(ステップS93B)。ユーザUのデータサーバ3側では、アプリ識別情報211を取得した認証部32が、アプリ識別情報211と認証要求を問い合わせる画面とを通信端末1に送信する(ステップS93C)。
この結果、通信端末1側では、ブラウザ11が、認証要求を問い合わせる画面上にアプリ識別情報21を表示する。ここでは、ブラウザ11には、認証要求を問い合わせる画面上に、アプリケーションAのアプリ識別情報211が表示されている。すなわち、アプリケーションAのロゴ、アプリケーションAの名称およびアプリケーションAの説明が表示されている。
ここで、ユーザUは、表示されたアプリ識別情報211がアプリケーションAに対応する正当な情報であると判断し、ユーザの認証情報としてユーザ名とパスワードを入力したとする。すると、ブラウザ11は、入力されたユーザ名、パスワードを、ユーザUのデータサーバ3に送信する(ステップS97)。
ユーザUのデータサーバ3側では、ユーザ名、パスワードを受信した認証部32が、ユーザ名、パスワードを用いてログインする。そして、認証部32は、ログインが成功し、且つ、リダイレクトURLがアプリケーションサーバ2のURLの配下であれば、トークンを払い出す。そして、認証部32は、リダイレクトURLであるアプリケーションサーバ2上のトークン取り出しページのURLに、払い出したトークンをフラグメントで付与する。そして、認証部32は、付与して得られた情報をロケーションヘッダに指定して、認証要求に対する応答として通信端末1のブラウザ11に返す(ステップS98)。
通信端末1のブラウザ11は、応答に含まれるアプリケーションサーバ2上のトークン取り出しページのURLから、トークン取り出しページ212をダウンロードする(ステップS99)。そして、ブラウザ11は、ダウンロードしたトークン取り出しページを実行し、トークンが取り出せるかどうかを確認する。そして、ブラウザ11は、トークンが取り出せる場合、取り出したトークンを認証要求に対する応答としてアプリケーションAに戻す(ステップS100)。
通信端末1のアプリケーションAは、ブラウザ11から認証要求に対する応答としてトークンを受信すると、トークンを用いて、ユーザUのデータサーバ3へアクセスできる。
[アプリ認証処理]
次に、不正なアプリケーションが認証要求をする場合について、図8A〜図8Cを参照して説明する。図8A〜図8Cは、不正なアプリケーションが認証要求をする例を示す図である。なお、図8A〜図8Cでは、アプリケーションを「アプリ」、アプリケーションサーバを「アプリサーバ」と略記する。また、アプリBが不正なアプリケーションであり、正当なアプリAになりすましてアプリAに対応するサービスAの記憶領域にアクセスしようとしているものとする。
図8Aに示すように、アプリBは、認証要求をユーザUのデータサーバ3に送信する。認証要求には、アプリBによって実施されるサービスBに対応するアプリサーバ(以降、アプリサーバBという)のURLおよびアプリサーバB上のトークン取り出しページのURL(リダイレクトURL)が指定されている。
かかる場合、ユーザUのデータサーバ3は、認証要求を問い合わせる画面を通信端末1に送信し、ブラウザ11が、認証要求を問い合わせる画面を表示する。そして、ブラウザ11が、認証要求で指定されたアプリサーバBのURLからアプリ識別情報211を取得し、取得したアプリ識別情報211を表示する。ここでは、アプリ識別情報211は、アプリBの識別情報である。すなわち、ブラウザ11は、アプリBの識別情報を表示する。これにより、ユーザUは、表示されたアプリBの識別情報を視認することで、不正なアプリBが動作していることを判定できる。この結果、アプリケーション認証処理は、アプリBによる、アプリAに対応するサービスAの記憶領域のアクセスを回避できる。
図8Bに示すように、アプリBは、認証要求をユーザUのデータサーバ3に送信する。認証要求には、アプリAによって実施されるサービスAに対応するアプリサーバ(以降、アプリサーバAという)のURLおよびアプリサーバB上のトークン取り出しページのURL(リダイレクトURL)が指定されている。
かかる場合、ユーザUのデータサーバ3は、リダイレクトURLがアプリサーバAのURLの配下であれば、トークンを払い出し、リダイレクトURLに、払い出したトークンをフラグメントで付与した情報をブラウザ11に戻す。ところが、リダイレクトURLは、アプリサーバB上のトークン取り出しページのURLであるので、リダイレクトURLはアプリサーバAのURLの配下でない。これにより、データサーバ3は、ブラウザ11に応答を戻せないので、その後のアプリBによる、アプリAに対応するサービスAの記憶領域のアクセスを回避できる。
図8Cに示すように、アプリBは、認証要求をユーザUのデータサーバ3に送信する。認証要求には、アプリAによって実施されるサービスAに対応するアプリサーバAのURLおよびアプリサーバA上のトークン取り出しページのURL(リダイレクトURL)が指定されている。
かかる場合、ユーザUのデータサーバ3は、認証要求を問い合わせる画面を通信端末1に送信し、ブラウザ11が、認証要求を問い合わせる画面を表示する。そして、ブラウザ11が、認証要求で指定されたアプリサーバAのURLからアプリ識別情報211を取得し、取得したアプリ識別情報211を表示する。ここでは、アプリ識別情報211は、アプリAの識別情報である。すなわち、ブラウザ11は、アプリAの識別情報を表示する。
そして、ユーザUは、表示されたアプリAの識別情報を視認し、ユーザUのデータサーバ3にログインしたとする。ユーザUのデータサーバ3は、リダイレクトURLがアプリサーバAのURLの配下であるので、トークンを払い出す。そして、データサーバ3は、リダイレクトURLであるアプリサーバA上のトークン取り出しページのURLに、払い出したトークンをフラグメントで付与する。そして、データサーバ3は、認証要求に対する応答として、付与して得られた情報をロケーションヘッダに指定してブラウザ11に戻す。
ブラウザ11では、応答に含まれるアプリサーバA上のトークン取り出しページのURLから、トークン取り出しページ212をダウンロードする。そして、ブラウザ11は、ダウンロードしたトークン取り出しページを実行し、トークンが取り出せるかどうかを確認する。例えば、ブラウザ11は、応答として渡されたトークン取り出しページのURLと、アプリケーションのURLとが、同一、あるいは配下の階層に位置する関係であるかを、URLの文字列を解析することにより判定する。ここでは、アプリサーバAのURLとアプリサーバA上のトークン取り出しページのURLとが同一、あるいは配下の階層に位置する関係であるので、トークンを取り出せると確認される。ところが、ブラウザ11は、トークンを取り出しても、取り出したトークンを認証要求に対する応答としてアプリAに渡すことになる。これにより、認証要求に対する応答の渡し先がアプリBとならないので、アプリBは、アプリAに対応するサービスAの記憶領域のアクセスをすることができない。すなわち、アプリケーション認証処理は、アプリBによる、アプリAに対応するサービスAの記憶領域のアクセスを回避できる。
このようにして、図8A〜図8Cのいずれのケースであっても、アプリケーション認証処理は、不正なアプリBによる、アプリAに対応するサービスAの記憶領域のアクセスを回避できる。
なお、認証部32は、リダイレクト情報がアプリケーション関連情報の配下であるかを判定する。上記実施例では、認証部32は、アプリケーションサーバ2上のトークン取り出しページのURL内部分文字列が、アプリケーション10に対応するアプリケーションサーバ2のURL内文字列に含まれるか否かを判定すると説明した。しかしながら、認証部32は、これに限定されず、別サーバに、リダイレクト情報がアプリケーション関連情報の配下であるか否かを問い合わせるようにしても良い。かかる場合、認証部32は、アプリケーションサーバ2上のトークン取り出しページのURLとアプリケーション10に対応するアプリケーションサーバ2のURLとを別サーバに引き渡す。そして、別サーバは、アプリケーションサーバ2上のトークン取り出しページのURLがアプリケーション10に対応するアプリケーションサーバ2のURLの配下であるか否かを判定し、判定結果を認証部32に返却するようにすれば良い。これにより、認証部32は、認証要求で指定された、リダイレクト情報とアプリケーション関連情報との関係で、不当なトークン取り出しページのURLを検知できる。
また、認証部32は、通信端末1からデータサーバ3に対するログインがなされると、リダイレクト情報がアプリケーション関連情報の配下であるかを判定すると説明した。しかしながら、認証部32は、これに限定されず、通信端末1上で動作するアプリケーション10から、リダイレクト情報とアプリケーション関連情報が指定された認証要求を受信する。そして、認証部32は、認証要求に指定されたリダイレクト情報が認証要求に指定されたアプリケーション関連情報の配下であるかを判定するようにしても良い。これにより、認証部32は、リダイレクト情報とアプリケーション関連情報との関係で、不当なリダイレクト情報を早期に検知できる。
[実施例の効果]
上記実施例によれば、認証部32は、通信端末1上で動作するアプリケーション10から、アプリケーション10に対応するアプリケーションサーバ2のURLおよびアプリケーションサーバ2上のトークン取り出しページのURLを含む認証要求を受け付ける。そして、認証部32は、トークン取り出しページのURLが正当であると判断したとき、アプリケーションサーバ2のURLに対応するアプリ識別情報211を含む、認証要求に対する応答を、トークン取り出しページのURLに対応するリダイレクト先に送信する。かかる構成によれば、認証部32は、アプリ識別情報211をトークン取り出しページのURLに対応するリダイレクト先に送信するので、アプリケーション10の正当性の判断をリダイレクト先のユーザに委ねることができる。この結果、データ参照システム9は、データサーバ3毎にアプリケーションの認証に係る情報を登録していなくても、アプリケーション10の正当性を判定することができる。
また、上記実施例によれば、認証部32は、アプリケーションサーバ2のURLに対応するアプリ識別情報211を、認証要求に対する応答として通信端末1に送信する。そして、認証部32は、通信端末1から、ユーザの認証情報を受付けると、トークンを払い出し、払い出したトークンを、認証要求に対する応答として、リダイレクト情報に対応するリダイレクト先に送信する。かかる構成によれば、認証部32は、認証要求に対する応答として、アプリ識別情報211を送信し、その後トークンを送信するので、段階的にアプリケーション10の正当性を判定することができる。
また、上記実施例によれば、認証部32は、認証要求を受け付けると、リダイレクト情報がアプリケーション関連情報の配下であるか否かを判定することによってリダイレクト情報の正当性を判断する。かかる構成によれば、認証部32は、不当なリダイレクト情報を検知できる。すなわち、認証部32は、認証要求をしたアプリケーション10が正当でないことを検知できる。
また、上記実施例によれば、アプリケーション10は、データサーバ3に対し、アプリケーション10に対応するアプリケーションサーバ2のURLおよびアプリケーションサーバ2上のトークン取り出しページのURLを含む認証要求を送信する。そして、ブラウザ11は、認証要求に対する応答をデータサーバ3より受けたときは、応答に含まれる、アプリケーションサーバ2のURLに対応するアプリ識別情報211を表示する。そして、アプリケーション10は、認証要求に対する応答をデータサーバ3より受けたときは、応答のリダイレクト先情報と認証要求に含まれる情報とに基づき、応答の正当性を検証する。かかる構成によれば、ブラウザ11が、アプリケーションサーバ2のURLに対応するアプリ識別情報211を表示するので、ユーザに、アプリケーションサーバ2のURLに対応するアプリケーション10の正当性を判断させることができる。また、アプリケーション10は、応答のリダイレクト先情報と認証要求に含まれる情報に基づき、応答の正当性を検証するので、応答に至った認証要求を指示したアプリケーションの正当性を判定できる。
なお、アプリケーションサーバ2は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した記憶部21と提示部22等の各機能を搭載することによって実現することができる。また、データサーバ3は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した記憶部31と認証部32等の各機能を搭載することによって実現することができる。
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、認証部32と制御部33とを1個の部として統合しても良い。一方、認証部32を、リダイレクト情報の正当性を判定する第1の認証部とユーザの正当性を認証する第2の認証部とに分散しても良い。また、記憶部21をアプリケーションサーバ2の外部装置としてネットワーク4経由で接続するようにしても良い。
[サーバのハードウェア構成]
図9は、サーバのハードウェア構成の一例を示す図である。ここでいうサーバとは、アプリケーションサーバ2およびデータサーバ3を意味する。図9に示すように、サーバ1000は、RAM1010と、ネットワークインタフェース装置1020と、HDD1030と、CPU1040、媒体読取装置1050およびバス1060とを有する。RAM1010、ネットワークインタフェース装置1020、HDD1030、CPU1040、媒体読取装置1050は、バス1060によって接続されている。
そして、データサーバ3の場合、HDD1030には、図1に示した認証部32、制御部33の機能を実現するアプリケーション認証プログラムなどのプログラムが記憶される。また、HDD1030には、図1に示した記憶部31に記憶されるサービスA、サービスBなど各種サービスに対応するデータが記憶される。そして、CPU1040がアプリケーション認証プログラムをHDD1030から読み出してRAM1010にロードすることにより、アプリケーション認証プログラムは、アプリケーション認証プロセスとして機能するようになる。そして、アプリケーション認証プロセスは、HDD1030から読み出した情報などを適宜RAM1010上の自身に割り当てられた領域にロードし、このロードしたデータなどに基づいて各種データ処理を実行する。
また、アプリケーションサーバ2の場合、HDD1030には、図1に示した提示部22の機能を実現するアプリケーション認証プログラムなどのプログラムが記憶される。また、HDD1030には、図1に示した記憶部21に記憶されるアプリケーション210、アプリ識別情報211など各種データが記憶される。そして、CPU1040がアプリケーション認証プログラムをHDD1030から読み出してRAM1010にロードすることにより、アプリケーション認証プログラムは、アプリケーション認証プロセスとして機能するようになる。そして、アプリケーション認証プロセスは、HDD1030から読み出した情報などを適宜RAM1010上の自身に割り当てられた領域にロードし、このロードしたデータなどに基づいて各種データ処理を実行する。
媒体読取装置1050は、アプリケーション認証プログラムなどのプログラムがHDD1030に記憶されていない場合であっても、プログラムを記憶する媒体などからアプリケーション認証プログラムなどのプログラムを読み取る。媒体読取装置1050には、例えばCD−ROMや光ディスク装置がある。
ネットワークインタフェース装置1020は、外部装置とネットワーク経由で接続する装置であり、無線または有線に対応する装置である。
[通信端末のハードウェア構成]
図10は、通信端末のハードウェア構成の一例を示す図である。図10に示すように、通信端末900は、無線通信部910と、表示部920と、音声入出力部930と、入力部940と、プロセッサ950と、記憶部960とを有する。無線通信部910、表示部920、音声入出力部930、入力部940および記憶部960は、それぞれプロセッサ950と接続されている。
記憶部960は、プログラム記憶部961と、データ記憶部962と、RAM(Random Access Memory)963とを有する。プログラム記憶部961には、図1に示したアプリケーション10、ブラウザ11を含むアプリケーション認証プログラムが記憶される。データ記憶部962には、例えば、データサーバ3およびアプリケーションサーバ2から送信される認証要求を問い合わせる画面やアプリ識別情報211など各種データが記憶される。なお、記憶部960は、例えば、RAM、フラッシュメモリ(flash memory)などの半導体メモリ素子、または、ハードディスク(HDD:Hard Disk Drive)、光ディスクなどの記憶装置である。
プロセッサ950は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。そして、プロセッサ950がアプリケーション認証プログラムを記憶部960から読み出してRAM963にロードすることにより、アプリケーション認証プログラムなどのプログラムは、アプリケーション認証プロセスなどのプロセスとして機能するようになる。そして、アプリケーション認証プロセスは、データ記憶部962から読み出した情報などを適宜RAM963上の自身に割り当てられた領域にロードし、このロードしたデータなどに基づいて各種データ処理を実行する。
なお、上記のアプリケーション認証プログラムは、公衆回線、インターネット、LAN、WAN(Wide Area Network)などを介してサーバ1000、通信端末900に接続される他のコンピュータ(またはサーバ)などに記憶されるようにしても良い。この場合には、サーバ1000がネットワークインタフェース装置1020を介して他のコンピュータなどからアプリケーション認証プログラムを読み出して実行する。通信端末900が無線通信部910を介して他のコンピュータなどからアプリケーション認証プログラムを読み出して実行する。
1 通信端末
2 アプリケーションサーバ
3 データサーバ
4 ネットワーク
9 データ参照システム
10、210 アプリケーション
11 ブラウザ
21,31 記憶部
22 提示部
211 アプリ識別情報
32 認証部
33 制御部

Claims (7)

  1. コンピュータに、
    端末から送信される前記端末で動作するアプリケーションに関するアプリケーション関
    連情報およびリダイレクト情報を含むアクセス要求を受付け、
    前記アプリケーション関連情報に対応する特定情報と認証要求をユーザに問い合わせる
    面とを前記アクセス要求を送信した前記端末に送信し、
    前記端末から認証情報を受け付け、前記認証情報に基づいて認証に成功し、且つ、前記
    リダイレクト情報が正当であると判断したとき、前記リダイレクト情報に対応するリダイ
    レクト先を含むアクセス応答を、前記端末に送信する、
    処理を実行させることを特徴とするアプリケーション認証プログラム。
  2. 前記アクセス応答を前記端末に送信する処理は、トークンを前記リダイレクト先に付与した情報を、前記アクセス要求に対する応答として送信する
    処理を実行させることを特徴とする請求項1に記載のアプリケーション認証プログラム。
  3. 前記アクセス要求を受け付けると、前記リダイレクト情報が前記アプリケーション関連情報の配下であるか否かによって前記リダイレクト情報の正当性を判断する
    処理を実行させることを特徴とする請求項1に記載のアプリケーション認証プログラム。
  4. コンピュータに、
    端末で動作するアプリケーションより、認証サーバに対し、アプリケーション関連情報およびリダイレクト情報を含むアクセス要求を送信し、
    前記アクセス要求に対する第1の応答を前記認証サーバより受けたときは、前記第1の応答に含まれる前記アプリケーション関連情報に対応する特定情報と、前記第1の応答に含まれる認証要求をユーザに問い合わせる画面とを画面上に表示し、
    前記アクセス要求に対する第2の応答を前記認証サーバより受けたときは、前記第2の応答に含まれるリダイレクト先の情報と前記アプリケーションの前記アクセス要求に含まれる情報とに基づき、前記第2の応答の正当性を検証する、
    処理を実行させることを特徴とするアプリケーション認証プログラム。
  5. 端末から送信される前記端末で動作するアプリケーションに関するアプリケーション関連情報およびリダイレクト情報を含むアクセス要求を受付ける受付部と、
    前記アプリケーション関連情報に対応する特定情報と認証要求をユーザに問い合わせる
    面とを前記アクセス要求を送信した前記端末に送信する送信部と、
    前記端末から認証情報を受け付け、前記認証情報に基づいて認証に成功し、且つ、前記リダイレクト情報が正当であると判断したとき、前記リダイレクト情報に対応するリダイレクト先を含むアクセス応答を、前記端末に送信する送信部と、
    を有することを特徴とする認証サーバ。
  6. 端末で動作するアプリケーションより、認証サーバに対し、アプリケーション関連情報およびリダイレクト情報を含むアクセス要求を送信する送信部と、
    前記送信部によって送信された前記アクセス要求に対する第1の応答を前記認証サーバより受けたときは、前記第1の応答に含まれる前記アプリケーション関連情報に対応する特定情報と、前記第1の応答に含まれる認証要求をユーザに問い合わせる画面とを画面上に表示する表示部と、
    前記送信部によって送信された前記アクセス要求に対する第2の応答を前記認証サーバより受けたときは、前記第2の応答に含まれるリダイレクト先の情報と前記アプリケーションの前記アクセス要求に含まれる情報に基づき、前記第2の応答の正当性を検証する検証部と、
    を有することを特徴とする端末。
  7. 端末と認証サーバとを有するデータ参照システムにおけるアプリケーション認証方法であって、
    前記端末が、
    当該端末で動作するアプリケーションより、前記認証サーバに対し、アプリケーション関連情報およびリダイレクト情報を含むアクセス要求を送信し、
    前記認証サーバが、
    前記端末から送信される前記端末で動作するアプリケーションに関するアプリケーション関連情報およびリダイレクト情報を含むアクセス要求を受付け、
    前記アプリケーション関連情報に対応する特定情報と認証要求をユーザに問い合わせる
    面とを含む第1の応答を前記アクセス要求を送信した前記端末に送信し、
    前記端末から認証情報を受け付け、前記認証情報に基づいて認証に成功し、且つ、前記リダイレクト情報が正当であると判断したとき、前記リダイレクト情報に対応するリダイレクト先を含む第2の応答を、前記端末に送信し、
    前記端末が、
    前記アクセス要求に対する第1の応答を前記認証サーバより受けたときは、前記第1の応答に含まれる前記アプリケーション関連情報に対応する特定情報と、前記第1の応答に含まれる認証要求をユーザに問い合わせる画面とを画面上に表示し、
    前記アクセス要求に対する第2の応答を前記認証サーバより受けたときは、前記第2の応答に含まれるリダイレクト先の情報と前記アプリケーションの前記アクセス要求に含まれる情報とに基づき、前記第2の応答の正当性を検証する、
    各処理を実行することを特徴とするアプリケーション認証方法。
JP2013016251A 2013-01-30 2013-01-30 アプリケーション認証プログラム、認証サーバ、端末およびアプリケーション認証方法 Active JP6311214B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013016251A JP6311214B2 (ja) 2013-01-30 2013-01-30 アプリケーション認証プログラム、認証サーバ、端末およびアプリケーション認証方法
US14/104,309 US10044694B2 (en) 2013-01-30 2013-12-12 Server, method and system for authenticating application
CN201310734037.2A CN103971047B (zh) 2013-01-30 2013-12-26 认证服务器和用于认证应用的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013016251A JP6311214B2 (ja) 2013-01-30 2013-01-30 アプリケーション認証プログラム、認証サーバ、端末およびアプリケーション認証方法

Publications (2)

Publication Number Publication Date
JP2014149561A JP2014149561A (ja) 2014-08-21
JP6311214B2 true JP6311214B2 (ja) 2018-04-18

Family

ID=51224568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013016251A Active JP6311214B2 (ja) 2013-01-30 2013-01-30 アプリケーション認証プログラム、認証サーバ、端末およびアプリケーション認証方法

Country Status (3)

Country Link
US (1) US10044694B2 (ja)
JP (1) JP6311214B2 (ja)
CN (1) CN103971047B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9106642B1 (en) * 2013-09-11 2015-08-11 Amazon Technologies, Inc. Synchronizing authentication sessions between applications
CN106533687B (zh) 2015-09-14 2019-11-08 阿里巴巴集团控股有限公司 一种身份认证方法和设备
CN111526152B (zh) 2016-08-12 2022-02-11 创新先进技术有限公司 一种认证方法、设备以及认证客户端
US10769267B1 (en) * 2016-09-14 2020-09-08 Ca, Inc. Systems and methods for controlling access to credentials
KR101820043B1 (ko) * 2016-12-15 2018-01-18 주식회사 수산아이앤티 모바일 단말 식별 및 이를 이용한 비즈니스 모델
US10782951B2 (en) * 2018-02-23 2020-09-22 Digital Turbine, Inc. Instant installation of apps
WO2020219641A1 (en) * 2019-04-24 2020-10-29 Uns Project Inc. User authentication system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110179477A1 (en) * 2005-12-09 2011-07-21 Harris Corporation System including property-based weighted trust score application tokens for access control and related methods
US20070244973A1 (en) * 2006-04-13 2007-10-18 Sbc Knowledge Ventures, L.P. Accessing web based email applications
JP4867486B2 (ja) * 2006-06-12 2012-02-01 富士ゼロックス株式会社 制御プログラムおよび通信システム
JP5008466B2 (ja) * 2007-06-13 2012-08-22 株式会社日本総合研究所 ウエブサイト誘導システム及びウエブサイト誘導方法
US7720763B2 (en) * 2007-12-06 2010-05-18 Bottomline Technologies (De), Inc. System and method for providing supplemental transaction processing services to users of a primary financial services system
US9189649B2 (en) * 2010-06-25 2015-11-17 International Business Machines Corporation Security model for workflows aggregating third party secure services
US8544068B2 (en) * 2010-11-10 2013-09-24 International Business Machines Corporation Business pre-permissioning in delegated third party authorization
JP5614340B2 (ja) 2011-03-16 2014-10-29 富士通株式会社 システム、認証情報管理方法、およびプログラム
US8650622B2 (en) * 2011-07-01 2014-02-11 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for authorizing and authentication interworking
US9338007B1 (en) * 2012-10-26 2016-05-10 Google Inc. Secure delegated authentication for applications

Also Published As

Publication number Publication date
US20140215565A1 (en) 2014-07-31
JP2014149561A (ja) 2014-08-21
CN103971047B (zh) 2018-04-10
CN103971047A (zh) 2014-08-06
US10044694B2 (en) 2018-08-07

Similar Documents

Publication Publication Date Title
JP6311214B2 (ja) アプリケーション認証プログラム、認証サーバ、端末およびアプリケーション認証方法
US20210319091A1 (en) Multiple device credential sharing
US10880287B2 (en) Out of box experience application API integration
JP6282349B2 (ja) ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するための方法およびシステム
JP6061364B2 (ja) アプリケーションのセキュリティ検証のためのクラウド支援された方法及びサービス
JP5792732B2 (ja) モジュラーデバイス認証フレームワーク
US20200329032A1 (en) Secure gateway onboarding via mobile devices for internet of things device management
US20170230444A1 (en) Cloud service server and method for managing cloud service server
JP6064636B2 (ja) 情報処理システム、情報処理装置、認証方法及びプログラム
JP2009038797A (ja) ファーミング・フィッシング攻撃で用いられる不正なssl証明書・dnsリダイレクトの検出方法
JP2009151751A (ja) 承認済みファイルと信頼されたドメインのデータベースを作成及び更新する方法及びシステム
JP2006031175A (ja) 情報処理システム、情報処理装置、およびプログラム
US20200153814A1 (en) Method for authentication with identity providers
KR102474040B1 (ko) 초기 컴퓨터 운영체제 설정 옵션의 원격 관리
JP6118479B1 (ja) サーバ装置、サービス方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体
EP3195551B1 (en) Method and system for managing fine-grained policies for requiring user approval of device management operations
US11044245B2 (en) System and control method therefor
US8127033B1 (en) Method and apparatus for accessing local computer system resources from a browser
JP2008015733A (ja) ログ管理計算機
JP6786830B2 (ja) 証明書管理システム、証明書管理方法及びプログラム
JP2010225110A (ja) 情報提供サーバ
JP6288241B2 (ja) サービス提供方法、サービス提供装置、及び、サービス提供プログラム
JP2011076430A (ja) 認証id管理システム及び認証id管理方法
KR20180113292A (ko) 외부 저장 장치에 저장되는 파일을 보안하는 보안 브로커 시스템 및 그 방법
JP2015176482A (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170511

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180119

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180305

R150 Certificate of patent or registration of utility model

Ref document number: 6311214

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150