JP6354382B2 - 認証システム、認証方法、認証装置及びプログラム - Google Patents

認証システム、認証方法、認証装置及びプログラム Download PDF

Info

Publication number
JP6354382B2
JP6354382B2 JP2014131745A JP2014131745A JP6354382B2 JP 6354382 B2 JP6354382 B2 JP 6354382B2 JP 2014131745 A JP2014131745 A JP 2014131745A JP 2014131745 A JP2014131745 A JP 2014131745A JP 6354382 B2 JP6354382 B2 JP 6354382B2
Authority
JP
Japan
Prior art keywords
client information
client
communication terminal
unit
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014131745A
Other languages
English (en)
Other versions
JP2016009469A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2014131745A priority Critical patent/JP6354382B2/ja
Priority to EP15170399.8A priority patent/EP2961210A1/en
Priority to US14/733,022 priority patent/US20150381622A1/en
Publication of JP2016009469A publication Critical patent/JP2016009469A/ja
Application granted granted Critical
Publication of JP6354382B2 publication Critical patent/JP6354382B2/ja
Expired - Fee Related 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • 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/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/71Hardware identity

Landscapes

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

Description

本発明は、認証システム、認証方法、認証装置及びプログラムに関する。
従来の認証技術(例えばOAuthプロトコル)では、Webサービスや、端末等にインストールされたクライアント・アプリケーションが、認証サーバからアクセストークンを取得することで、保護されたリソースへのアクセスが可能となっていた。アクセストークンは、リソース所有者の承認を伴い、認証サーバによって発行される。Webサービスやクライアントは、アクセストークンを、リソースサーバが持つ保護リソースにアクセスするために利用する(非特許文献1)。
また、特許文献1は、セキュリティを高める目的で、APIにアクセスするクライアントにクライアントIDを発行し、許可されたクライアントのみがアクセス可能な構成を開示している。
例えば既存のOAuth2.0では、OAuth2.0を利用するクライアント・アプリケーションを判別するためのクライアント情報(client_idやclient_secret)が、クライアントの種類により、一意に定められていた。しかし、クライアントが、スマートフォンやPCのような、汎用のコンピューティングデバイスへインストールされる場合、クライアントの内部に保持されるクライアント情報(特に、client_secret)が漏洩する可能性がある。クライアント情報が漏えいした場合、その同種のクライアントを使用する全ユーザが、client_secretをアップデートする必要が生じ、クライアント提供者及びユーザにとって、手間がかかるという問題があった。従来の技術においても、クライアントのIDが漏洩した際の対応は検討されておらず、同様の問題が発生する可能性があった。 本発明は、このような問題に鑑みてなされたものであり、アクセストークンの生成に用いられるクライアント情報が漏えいした場合の影響を低減することを目的とする。
上述した課題を解決し目的を達成するため、本発明の一実施形態における認証システムは、
通信端末と、アクセストークンを用いて前記通信端末に機能を提供する認証装置とを有する認証システムであって、
アクセストークンの発行に必要な、前記通信端末にインストールされるアプリケーションごとに生成されるクライアント情報を、前記認証装置に対して要求する第一要求部と、
前記第一要求部からの要求に応じて、前記クライアント情報を生成し、該クライアント情報を前記通信端末に送信する第一送信部と、
前記クライアント情報を前記認証装置に送信し、該認証装置に対してアクセストークンを要求する第二要求部と、
前記第二要求部からの要求に応じて、受信された前記クライアント情報が、前記第一送信部により送信されたクライアント情報であるか判定する判定部と、
受信された前記クライアント情報が、前記第一送信部により送信されたクライアント情報であると判定された場合に、アクセストークンを生成する生成部と、
生成された前記アクセストークンを前記通信端末に送信する第二送信部と
前記通信端末からのアクセス記録を記録する記録部と、
記録された前記アクセス記録に基づいて不正なアクセスを検知する検知部と、
前記検知部が不正なアクセスを検知したことに応じて、前記アプリケーションの提供者に、前記クライアント情報を変更するよう通知する通知部と、
を有する。
本発明によれば、アクセストークンの生成に用いられるクライアント情報が漏えいした場合の影響を低減できる。
本発明の一実施形態における認証システムの概略図。 本発明の一実施形態における認証装置のハードウェア構成図。 本発明の一実施形態における通信端末のハードウェア構成図。 本発明の一実施形態における認証装置の機能ブロック図。 管理情報を格納するテーブルの例を表す図。 認証情報を格納するテーブルの例を表す図。 アクセス情報を格納するテーブルの例を表す図。 クライアント情報変更画面の例を表す図。 クライアント情報とアクセストークンの発行処理を表すシーケンス図。 クライアント情報の変更処理を表すシーケンス図。 本発明の一実施形態における効果を説明する図。
以下、図を用いて、本発明の実施形態について説明する。
≪認証システムの概略≫
図1は、本発明の一実施形態における認証システム1の概略図である。図1において、ユーザの使用する通信端末10と、プラットフォーム提供者の提供する認証装置50と、サービス提供者の提供するクライアント提供装置70が示されている。これらの装置は、インターネット2のようなネットワークにより、互いに接続されている。
認証装置50は、API(Application Programming Interface)を外部に公開し、他の装置に対して機能を提供するサーバ・コンピュータ(又はシステム)である。認証装置50は、例えば、OAuthプロトコルにおけるOAuthサーバ(OAuth Server)として動作する。
通信端末10は、ユーザによって使用される、スマートフォン、タブレット、PC等のデバイスである。通信端末10には、サービス提供者の提供するクライアント・アプリケーション30(以下、単にクライアント30と呼ぶ)がインストールされる。クライアント30は、例えば、クライアント提供装置70から、インターネット2を通じて提供される。クライアント30は、OAuthプロトコルにおけるOAuthクライアント(OAuth Client)として動作し、認証装置50の提供するAPIを通じて、認証装置50の機能を使用することができる。
通信端末10にインストールされたクライアント30は、OAuthプロトコルに従い、認証装置50から発行されたアクセストークンを使用して、認証装置50の提供するAPIを利用することができる。認証装置50は、クライアント30から、クライアント30に対して割り当てられたクライアント情報(client_secret、client_id)を使用して、アクセストークンを生成する。
ここで、本発明の一実施形態における認証装置50は、個々のユーザの通信端末10にインストールされたクライアント30の単位で、異なるクライアント情報を生成する。クライアント30は、通信端末10にインストールされた後、アクセストークンを取得する前に、認証装置50にアクセスし、クライアント情報を取得する。そして、クライアント30は、取得したクライアント情報を用いて、認証装置50に対して、アクセストークンを要求する。認証装置50は、クライアント情報が正しい場合に、クライアント30に対してアクセストークンを発行する。
このような動作により、仮に、一の通信端末10にインストールされたクライアント30のクライアント情報が、第三者に漏えいしても、他の通信端末10にインストールされた全てのクライアント30(のクライアント情報)を更新する必要がなくなる。クライアント30を提供するサービス提供者は、漏えいしたクライアント情報のみを変更すればよい。これにより、サービス提供者は、漏えいしたクライアント情報のユーザに対して、クライアント情報の再設定を促すだけで済む。以下、本発明の一実施形態について、詳細に説明する。
なお、図1では、認証装置50が、一の筐体を有するコンピュータにより構成されているが、認証装置50は、複数のコンピュータによるシステムとして構成されても良い。以下では、説明を簡単にするために、認証装置50が、一の筐体を有するコンピュータである例を用いて、説明する。
また、認証装置50は、OAuthプロトコル以外の認証プロトコルに従って動作する認証サーバであってもよい。
≪認証装置のハードウェア構成≫
図2は、本発明の本実施形態における認証装置50のハードウェア構成図である。認証装置50は、認証装置50の全体の動作を制御するCPU201、IPL(Initial Program Loader)のようなプログラムを記憶したROM202、CPU201のワークエリアとして使用されるRAM203、認証装置50のプログラム向けのデータを記憶するHD204、CPU201の制御にしたがってHD204に対するデータの読み出し又は書き込みを制御するHDD(Hard Disk Drive)205、フラッシュメモリのような記録メディア206に対するデータの読み出し又は書き込み(記憶)を制御するメディアドライブ207、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示するディスプレイ208、インターネット2を利用してデータ通信するためのネットワークI/F209、文字、数値、各種指示などの入力のための複数のキーを備えたキーボード211、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行うマウス212、着脱可能な記録媒体の一例としてのCD−ROM(Compact Disc Read Only Memory)213に対する各種データの読み出し又は書き込みを制御するCD−ROMドライブ214、及び、上記各構成要素を図2に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン210を備えている。
≪通信端末のハードウェア構成≫
図3は、本発明の本実施形態における通信端末10のハードウェア構成図である。通信端末10は、通信端末10の全体の動作を制御するCPU101、IPLのようなプログラムを記憶したROM102、CPU101のワークエリアとして使用されるRAM103、フラッシュメモリのような内蔵又は外部の記録メディア106に対するデータの読み出し又は書き込み(記憶)を制御するメディアドライブ107、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示し、かつ、ユーザの指の接触を検知して入力を受け付けるタッチパネル108、携帯電話通信網や無線LAN(Local Area Network)等を介してデータ通信するためのネットワークI/F109、及び、上記各構成要素を図3に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン110を備えている。
なお、図3は、通信端末10が、スマートフォンやタブレットのようなデバイスである場合のハードウェア構成である。しかしながら、通信端末10は、図3に示されるハードウェア構成以外の構成であってもよく、例えば、通信端末10がPCである場合には、図2に示されるキーボード211やマウス212(又はタッチパッド)等を有していても良い。
≪機能≫
図4は、本発明の一実施形態における認証装置50と通信端末10の機能ブロック図である。まず、本発明の一実施形態における通信端末10は、クライアント管理部11と、クライアント情報取得部31と、認証要求部32と、トークン取得部33とを有する。
クライアント管理部11は、図3に示されるCPU101等の処理により実現され、ユーザからの指示に応じて、サービス提供者のクライアント提供装置70から、クライアント30のプログラムをダウンロードする。そして、クライアント管理部11は、ダウンロードしたプログラムを、通信端末10のROM102又はメディア106にインストールする。
クライアント管理部11は、このプログラムをRAM103に読み込み、CPU101に実行させることにより、クライアント30の機能を具体化することができる。以下では、クライアント30が有する、クライアント情報取得部31と、認証要求部32と、トークン取得部33の機能について、詳細に説明する。
クライアント情報取得部31は、CPU101及びネットワークI/F109等の処理により実現され、認証装置50に対して、クライアント情報(client_secret、client_id)の送信を要求する。クライアント情報取得部31は、クライアント30の初回起動時、あるいは、認証装置50からクライアント情報の変更通知を受け取った場合、認証装置50に対して、クライアント情報の送信を要求することができる。このとき、クライアント情報取得部31は、クライアント30に固有に割り当てられたクライアント番号やクライアント名(例えば、Apps for Phone)を、認証装置50に通知しても良い。クライアント情報取得部31は、認証装置50からクライアント情報を受信し、受信したクライアント情報を、図示しない記憶部に記憶することができる。
認証要求部32は、CPU101及びネットワークI/F109等の処理により実現され、クライアント30が認証装置50の提供する機能にアクセスするために、IDとパスワードを用いたユーザ認証を、認証装置50に要求する。認証要求部32は、ユーザ認証が成功したことに応じて、認証装置50から、認可コードを受信する。
トークン取得部33は、CPU101及びネットワークI/F109等の処理により実現される。トークン取得部33は、認証要求部32が認証装置50から受け取った認可コードと、クライアント情報取得部31が受け取ったクライアント情報とを用いて、認証装置50に対して、アクセストークンの送信を要求する。トークン取得部33は、認証装置50からアクセストークンを受信し、受信したアクセストークンを、図示しない記憶部に記憶する。以後、クライアント30は、記憶されたアクセストークンを用いて、認証装置50の提供するAPIを使用することができる。
また、本発明の一実施形態における認証装置50は、記憶部51と、クライアント情報管理部52と、クライアント情報生成部53と、認証処理部54と、トークン管理部55と、トークン生成部56と、アクセス記録部57と、検知部58と、変更受付部59と、通知部60とを有する。
記憶部51は、図2のHD204及びHDD205により実現され、管理情報5001と、認証情報5002と、アクセス情報5003を記憶する。
管理情報5001は、クライアント30ごとに発行したクライアント情報や、クライアント30そのもの情報を管理する情報である。
図5は、管理情報5001を格納するテーブルの例を表す。管理情報5001は、OAuthで用いられるクライアント情報(client_id及びclient_secret)と、クライアント30の種類を示すクライアント番号と、クライアント30のクライアント名と、クライアント30を提供するサービス提供者に予め割り当てられたサービス提供者番号とを関連付けて記憶する。なお、クライアント情報は、クライアント30が個々の通信端末10にインストールされた後に、個別に生成される。一方、クライアント番号、クライアント名、提供者番号は、クライアント30ごとに、予め決められた値が用いられる。
認証情報5002は、クライアント30がインストールされる通信端末10のユーザの認証情報を管理する情報である。
図6は、認証情報5002を格納するテーブルの例を表す。図6の認証情報5002は、ユーザに固有に割り当てられたユーザ名(ユーザID)と、そのユーザのパスワードとを、関連付けて記憶する。ユーザ名とパスワードの組み合わせは、予め、ユーザによって設定される。
アクセス情報5003は、クライアント30による、認証装置50へのアクセスの記録を保持する情報である。
図7は、アクセス情報5003を格納するテーブルの例を表す。図7のアクセス情報5003は、アクセスがなされた日時と、アクセスがなされたとき、クライアント30が通信に使用したIPアドレスとを、関連付けて記憶する。なお、図7に示されるテーブルは、例えば、通信端末10にインストールされたクライアント30ごと(すなわち、client_idごと)、又は、ユーザ名ごとに設けられる。
クライアント情報管理部52は、図2のCPU201の処理によって主に実現され、クライアント30から、クライアント情報の送信の要求を受け取ると、クライアント情報生成部53に、クライアント情報を生成するよう指示する。そして、クライアント情報管理部52は、生成されたクライアント情報を、クライアント30に送信する。
クライアント情報生成部53は、図2のCPU201の処理によって主に実現され、クライアント情報管理部52からの指示に応じて、クライアント情報(すなわち、client_secret、client_id)を生成する。なお、クライアント情報生成部53は、例えば、ハッシュ関数を使用して、予測不可能な数値と文字列の組み合わせにより、クライアント情報を生成することができる。
また、クライアント情報生成部53は、生成したクライアント情報を、管理情報5001に格納する。このとき、クライアント情報生成部53は、クライアント30から通知された、クライアントの番号やクライアント名を、合わせて管理情報5001に格納しても良い。さらに、クライアント情報生成部53は、クライアント名から特定できる、クライアント30のサービス提供者の提供者番号を、管理情報5001に格納しても良い。クライアント情報生成部53は、生成したクライアント情報を、クライアント情報管理部52に渡す。
認証処理部54は、図2のCPU201の処理によって主に実現され、クライアント30からのユーザ認証の要求を受け取ると、その要求とともに受け取ったIDとパスワードの組が、認証情報5002に登録されているか検証する。そして、認証処理部54は、IDとパスワードの組が登録されている場合に、認証が成功したと判定し、認可コードをクライアント30に送信する。認可コードは、後に、クライアント30がアクセストークンを要求する際に、必要となるコードである。
トークン管理部55は、図2のCPU201の処理によって主に実現され、クライアント30から、アクセストークンの送信の要求を受け取る。ここで、トークン管理部55は、その要求とともに、認可コードとクライアント情報を受け取る。トークン管理部55は、受け取った認可コードが、認証処理部54が送信した認可コードと同一であり、かつ、受け取ったクライアント情報が、管理情報5001に登録されている場合に、アクセストークンを生成するよう、トークン生成部56に指示する。そして、トークン管理部55は、生成されたアクセストークンを、クライアント30に送信する。
トークン生成部56は、図2のCPU201の処理によって主に実現され、トークン管理部55からの指示に応じて、アクセストークンを生成する。トークン生成部56は、例えば、OAuthで用いられるアクセストークンと同様の構成を有する、アクセストークンを生成することができる。トークン生成部56は、生成したアクセストークンを、トークン管理部55に通知する。
アクセス記録部57は、図2のCPU201の処理によって主に実現され、クライアント30(通信端末10)から、認証装置50へのアクセスがあると、その日時と、クライアント30の使用するIPアドレスを、アクセス情報5003に格納する。
検知部58は、図2のCPU201の処理によって主に実現され、定期的あるいは不定期的に、アクセス情報5003を監視し、アクセス日時とIPアドレスから、ユーザのなりすましによる不正なアクセスを検知する。例えば、検知部58は、クライアント30ごとに記録されるアクセス情報に、以下のような条件を満たす記録が含まれる場合に、不正なアクセスがあったことを検知することができる。
・同時刻又はほぼ同時刻に、割当国の異なるIPアドレスからのアクセスが記録されている場合
・通常の使用では想定されない頻度でアクセスが記録されている場合(例えば、1日にわたり、1秒ごとにアクセスが記録されている、等)
検知部58は、あるクライアント30に関して不正なアクセスを検知すると、その旨を、クライアント30に対して割り当てられたclient_idとともに、クライアント30を提供するサービス提供者に通知する。
検知部58は、例えば、予め登録されている、サービス提供者のメールアドレスを用いて、通知を行うことができる。また、検知部58は、サービス提供者がアクセス可能なサイトに、不正なアクセスを検知した旨を、通知しても良い。
変更受付部59は、図2のCPU201の処理によって主に実現され、サービス提供者に対して、図8に示されるクライアント情報変更画面を提示し、不正が検知されたクライアント30のクライアント情報の変更を受け付ける。変更受付部59は、例えば、Webサーバとして動作する認証装置50の機能を用いて、サービス提供者の使用する端末のブラウザ上に、図8に示される画面を表示することができる。
図8に示されるクライアント情報変更画面は、サービス提供者番号の他に、新たに設定されるクライアント情報(すなわち、client_id、client_secret)の項目を有する。サービス提供者は、この画面を用いて、自ら生成したクライアント情報か、当該画面において自動的に生成されたクライアント情報を、クライアント30に対して再設定することができる。変更受付部59は、図8のクライアント情報変更画面において、「再設定」ボタンが押下されたことに応じて、指定されたクライアント情報を、管理情報に格納する。
通知部60は、図2のCPU201の処理によって主に実現され、変更受付部59によって変更されたclient_idを有するクライアント30に対して、クライアント情報が変更されたことを示す、変更通知を送信する。
≪動作例 − アクセストークンの発行処理≫
図9は、アクセストークンの発行処理を表すシーケンス図である。ここでは、通信端末10を所有するユーザ(ユーザ名「user1」)が、クライアント提供装置70から、クライアント30のプログラムをダウンロードし、このプログラムを通信端末10にインストールした直後である。ユーザは、通信端末10を操作し、クライアント30を起動したものとして、以下の説明を行う。
まず、通信端末10のクライアント情報取得部31は、インターネット2を通じて、認証装置50に、クライアント情報の送信要求を送信する(S101)。このとき、クライアント情報取得部31は、クライアント番号「101」や、クライアント名「Apps for Phone」を、認証装置50に通知しても良い。
認証装置50のクライアント情報管理部52は、クライアント情報の送信要求の受信に応じて、クライアント情報を生成するよう、クライアント情報生成部53に指示する(S102)。クライアント情報生成部53は、クライアント情報管理部52からの指示に応じて、例えば、以下のようなクライアント情報を生成する(S103)。
−client_id :aUnWUB8PTG67VDXj27QX_vo_lsR6WeEl
−client_secret:ymYzYwt2d_uStLdnlOX67nlDw3DGDLXY
クライアント情報生成部53は、生成したクライアント情報を、図5に示される管理情報5001に格納する(S104)。また、クライアント情報生成部53は、クライアント30から受け取ったクライアント番号「101」やクライアント名「Apps for Phone」を、管理情報5001に格納してもよい。
クライアント情報生成部53は、生成したクライアント情報を、クライアント情報管理部52に渡す(S105)。クライアント情報管理部52は、インターネット2を介して、受け取ったクライアント情報を、通信端末10のクライアント情報取得部31に送信する(S106)。
次に、ユーザが、内部的に認証装置50のAPIを使用する、クライアント30の所定の機能を使用しようとしたものとする。認証部32は、認証装置50の認証機能を使用するために、ユーザを、認証装置50の認証画面に誘導し、ユーザから、ユーザ名とパスワードの入力を受け付ける(S107)。次いで、認証部32は、受け付けたユーザ名「user1」とパスワード「pass01」を、認証装置50の認証処理部54に通知し、認証を要求する(S108)。
認証装置50の認証処理部54は、通信端末10の認証部32から受信したユーザ名とパスワードの組が、図6に示される認証情報5002に登録されているか確認することにより、認証を行う(S109)。そして、認証処理部54は、受信したユーザ名とパスワードの組が、認証情報5002に登録されていることに応じて、認証が成功したと判断し、認可コードを、通信端末10の認証部32に送信する(S110)。
通信端末10の認証部32は、受信した認可コードを、トークン取得部33に通知する(S111)。トークン取得部33は、受け取った認可コードと、S106で取得されたクライアント情報とを、認証装置50のトークン管理部55に送信し、アクセストークンの送信要求を行う(S112)。
認証装置50のトークン管理部55は、受け取った認可コードが、認証処理部54が送信した認可コードと同一であり、かつ、受け取ったクライアント情報が、管理情報5001に登録されているか判定する(S113)。そして、トークン管理部55は、受け取った認可コードが同一であり、かつ、受け取ったクライアント情報が登録されている場合に、トークン生成部56に、アクセストークンを生成するよう指示する(S114)。
トークン生成部56は、トークン管理部55からの指示に応じて、アクセストークンを生成する(S115)。トークン生成部56は、生成したアクセストークンを、トークン管理部55に渡す(S116)。トークン管理部55は、受け取ったアクセストークンを、通信端末10のトークン取得部33に送信する(S117)。
≪動作例 − クライアント情報の変更処理≫
図10は、クライアント情報の変更処理を表すシーケンス図である。ここでは、図9に示される手順により、通信端末10のクライアント30が、アクセストークンを取得した後に、何者かが、クライアント30の使用するクライアント情報と同一のクライアント情報を用いて、認証装置50にアクセスしたものとする。図7は、そのような状況を、認証装置50のアクセス記録部57が記録した場合の例を表している。すなわち、図7において、ほぼ同一の時刻である「2014-04-04 13:00:01 JST」と「2014-04-04 13:00:00 JST」に、米国で使用されるIPアドレス「11.1.1.55」と、フランスで使用されるIPアドレス「90.1.1.120」から、同一のclient_idによるアクセスが記録されている。
認証装置50の検知部58は、図7に示されるアクセス情報を定期的又は不定期的に監視しており、上述した不正なアクセスを検知する(S201)。検知部58は、サービス提供者に対して、電子メールにより、不正なアクセスが検知された旨を、client_idとともに通知する(S202)。
その後、認証装置50の変更受付部59は、サービス提供者からの求めに応じて、図8に示される、クライアント情報変更画面を提示し、サービス提供者から、クライアント情報の変更を受け付ける(S203)。変更受付部59は、クライアント情報の変更を受け付けると、変更されたクライアント情報を、管理情報5001に格納する(S204)。そして、変更受付部59は、クライアント情報が変更された旨の通知を通信端末10に送信するよう、通知部60に指示する(S205)。
通知部60は、変更受付部59からの通知に応じて、通信端末10のクライアント情報取得部31に、クライアント情報が変更された旨の変更通知を送信する(S206)。これを受けて、通信端末10のクライアント情報取得部31は、認証装置50のクライアント情報管理部52に、クライアント情報の送信を要求する(S207)。認証装置50のクライアント情報管理部52は、変更されたクライアント情報を、通信端末10に送信する(S208)。
≪効果≫
以上の構成により、本実施形態における認証システム1では、同じ種類のクライアントであっても、インストールされる単位でクライアントを識別するclient_secretを発行する。従って、client_secretが漏えいしても、client_secretを更新するために必要となる更新作業を、一のクライアントに対して行えば済むこととなる。これにより、クライアントを提供する提供者による、client_secretの管理コストが低減される。
なお、OAuth2.0では、スマートフォンやPCのような、client_secret漏洩の可能性があるクライアント向けに用意された、Implicit Flowの仕組みが用意されている。しかしながら、Implicit Flowでは、client_secretを使わないため、クライアントのなりすましが容易であるという性質がある。本発明は、client_secretを用いて、クライアントのなりすましを困難にする一方で、万が一、client_secretが漏えいした場合であっても、その影響を、漏えいしたclient_secretを使用していたクライアントに限定することができる。
図10は、クライアントAで共通のclient_id、client_secretを持つ従来の方式(a)と、クライアントAのインストール単位で異なるclient_id、client_secretを持つ本実施形態による方式(b)とにおける、client_secretの漏えい時の影響を比較する図である。図10に示されるように、従来の方式では、全てのユーザ環境にインストールされたクライアントAのclient_id, client_secretは、共通である。このため、client_secretが漏えいした場合、これらを再発行、更新するために、全ユーザを対象として、作業を行う必要が生ずる。
しかしながら、本実施形態を用いると、例えばユーザ1の環境からclient_secretが漏えいしても、他ユーザは、異なるclient_secretを用いて、継続して認証処理を行うことができる。従って、サービス提供者は、ユーザ1のclient_secretのみを再発行、更新すればよいことになる。
このように、本実施形態に従う認証システム1を提供することにより、アクセストークンの生成に用いられるクライアント情報が漏えいした場合の影響を、最低限に抑えることができる。
1 認証システム
2 インターネット
10 通信端末
30 クライアント
50 認証装置
70 クライアント提供装置
特開2007−515127号公報
D. Hardt, Ed、「RFC−6749」、[online]、2012年10月、インターネット<URL:http://tools.ietf.org/html/rfc6749>

Claims (4)

  1. 通信端末と、アクセストークンを用いて前記通信端末に機能を提供する認証装置とを有する認証システムであって、
    アクセストークンの発行に必要な、前記通信端末にインストールされるアプリケーションごとに生成されるクライアント情報を、前記認証装置に対して要求する第一要求部と、
    前記第一要求部からの要求に応じて、前記クライアント情報を生成し、該クライアント情報を前記通信端末に送信する第一送信部と、
    前記クライアント情報を前記認証装置に送信し、該認証装置に対してアクセストークンを要求する第二要求部と、
    前記第二要求部からの要求に応じて、受信された前記クライアント情報が、前記第一送信部により送信されたクライアント情報であるか判定する判定部と、
    受信された前記クライアント情報が、前記第一送信部により送信されたクライアント情報であると判定された場合に、アクセストークンを生成する生成部と、
    生成された前記アクセストークンを前記通信端末に送信する第二送信部と
    前記通信端末からのアクセス記録を記録する記録部と、
    記録された前記アクセス記録に基づいて不正なアクセスを検知する検知部と、
    前記検知部が不正なアクセスを検知したことに応じて、前記アプリケーションの提供者に、前記クライアント情報を変更するよう通知する通知部と、
    を有する、認証システム。
  2. 通信端末と、アクセストークンを用いて前記通信端末に機能を提供する認証装置とを有する認証システムで実行される認証方法であって、
    アクセストークンの発行に必要な、前記通信端末にインストールされるアプリケーションごとに生成されるクライアント情報を、前記認証装置に対して要求する第一要求段階と、
    前記第一要求段階において受け付けた要求に応じて、前記クライアント情報を生成する生成段階と、
    生成された前記クライアント情報を前記通信端末に送信する第一送信段階と、
    前記クライアント情報を前記認証装置に送信し、該認証装置に対してアクセストークンを要求する第二要求段階と、
    前記第二要求段階において受け取った要求に応じて、受信された前記クライアント情報が、前記第一送信段階において送信されたクライアント情報であるか判定する判定段階と、
    受信された前記クライアント情報が、前記第一送信段階において送信されたクライアント情報であると判定された場合に、アクセストークンを生成する生成段階と、
    生成された前記アクセストークンを前記通信端末に送信する第二送信段階と
    前記通信端末からのアクセス記録を記録する記録段階と、
    記録された前記アクセス記録に基づいて不正なアクセスを検知する検知段階と、
    前記検知段階が不正なアクセスを検知したことに応じて、前記アプリケーションの提供者に、前記クライアント情報を変更するよう通知する通知段階と、
    を有する、認証方法。
  3. アクセストークンを用いて通信端末に機能を提供する認証装置であって、
    前記通信端末から、アクセストークンの発行に必要な、前記通信端末にインストールされるアプリケーションごとに生成されるクライアント情報の要求を受け付ける受付部と、
    前記要求に応じて、前記クライアント情報を生成し、該クライアント情報を前記通信端末に送信する第一送信部と、
    前記通信端末から、前記クライアント情報を含む、前記アクセストークンの発行要求を受信する受信部と、
    前記発行要求に応じて、受信された前記クライアント情報が、前記第一送信部により送信されたクライアント情報であるか判定する判定部と、
    受信された前記クライアント情報が、前記第一送信部により送信されたクライアント情報であると判定された場合に、アクセストークンを生成する生成部と、
    生成された前記アクセストークンを前記通信端末に送信する第二送信部と
    前記通信端末からのアクセス記録を記録する記録部と、
    記録された前記アクセス記録に基づいて不正なアクセスを検知する検知部と、
    前記検知部が不正なアクセスを検知したことに応じて、前記アプリケーションの提供者に、前記クライアント情報を変更するよう通知する通知部と、
    を有する、認証装置。
  4. アクセストークンを用いて通信端末に機能を提供するコンピュータに、
    前記通信端末から、アクセストークンの発行に必要な、前記通信端末にインストールされるアプリケーションごとに生成されるクライアント情報の要求を受け付ける受付段階と、
    前記要求に応じて、前記クライアント情報を生成し、該クライアント情報を前記通信端末に送信する第一送信段階と、
    前記通信端末から、前記クライアント情報を含む、前記アクセストークンの発行要求を受信する受信段階と、
    前記発行要求に応じて、受信された前記クライアント情報が、前記第一送信段階において送信されたクライアント情報であるか判定する判定段階と、
    受信された前記クライアント情報が、前記第一送信段階において送信されたクライアント情報であると判定された場合に、アクセストークンを生成する生成段階と、
    生成された前記アクセストークンを前記通信端末に送信する第二送信段階と
    前記通信端末からのアクセス記録を記録する記録段階と、
    記録された前記アクセス記録に基づいて不正なアクセスを検知する検知段階と、
    前記検知段階が不正なアクセスを検知したことに応じて、前記アプリケーションの提供者に、前記クライアント情報を変更するよう通知する通知段階と、
    を実行させる、プログラム。
JP2014131745A 2014-06-26 2014-06-26 認証システム、認証方法、認証装置及びプログラム Expired - Fee Related JP6354382B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014131745A JP6354382B2 (ja) 2014-06-26 2014-06-26 認証システム、認証方法、認証装置及びプログラム
EP15170399.8A EP2961210A1 (en) 2014-06-26 2015-06-03 Authentication system, authentication method, authentication apparatus, and recording medium
US14/733,022 US20150381622A1 (en) 2014-06-26 2015-06-08 Authentication system, authentication method, authentication apparatus, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014131745A JP6354382B2 (ja) 2014-06-26 2014-06-26 認証システム、認証方法、認証装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2016009469A JP2016009469A (ja) 2016-01-18
JP6354382B2 true JP6354382B2 (ja) 2018-07-11

Family

ID=53488128

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014131745A Expired - Fee Related JP6354382B2 (ja) 2014-06-26 2014-06-26 認証システム、認証方法、認証装置及びプログラム

Country Status (3)

Country Link
US (1) US20150381622A1 (ja)
EP (1) EP2961210A1 (ja)
JP (1) JP6354382B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9604541B1 (en) * 2015-10-06 2017-03-28 Samsung Electronics Co., Ltd. System and method for customizing a vehicle operating environment
CN112153055B (zh) * 2020-09-25 2023-04-18 北京百度网讯科技有限公司 鉴权方法及装置、计算设备和介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7668939B2 (en) 2003-12-19 2010-02-23 Microsoft Corporation Routing of resource information in a network
WO2007047183A2 (en) * 2005-10-11 2007-04-26 Citrix Systems, Inc. Systems and methods for facilitating distributed authentication
US8200798B2 (en) * 2007-12-29 2012-06-12 Cisco Technology, Inc. Address security in a routed access network
JP5129313B2 (ja) * 2010-10-29 2013-01-30 株式会社東芝 アクセス認可装置
US8868915B2 (en) * 2010-12-06 2014-10-21 Verizon Patent And Licensing Inc. Secure authentication for client application access to protected resources
US8650622B2 (en) * 2011-07-01 2014-02-11 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for authorizing and authentication interworking
US9270647B2 (en) * 2013-12-06 2016-02-23 Shape Security, Inc. Client/server security by an intermediary rendering modified in-memory objects

Also Published As

Publication number Publication date
EP2961210A1 (en) 2015-12-30
US20150381622A1 (en) 2015-12-31
JP2016009469A (ja) 2016-01-18

Similar Documents

Publication Publication Date Title
US11595392B2 (en) Gateway enrollment for internet of things device management
CN107222485B (zh) 一种授权方法以及相关设备
US10754941B2 (en) User device security manager
EP3420677B1 (en) System and method for service assisted mobile pairing of password-less computer login
US10762191B2 (en) Automated password generation and change
US9288213B2 (en) System and service providing apparatus
US11902268B2 (en) Secure gateway onboarding via mobile devices for internet of things device management
JP5777804B2 (ja) ウェブベースのセキュリティ認証システム及び方法
KR20150054828A (ko) 동기화 통신에서의 서버 인증서 에러의 보안 처리 기법
US20140283109A1 (en) Using a uri whitelist
GB2599057A (en) Terminal for conducting electronic transactions
CN109842616B (zh) 账号绑定方法、装置及服务器
US11222100B2 (en) Client server system
JP6354382B2 (ja) 認証システム、認証方法、認証装置及びプログラム
JP5730434B1 (ja) 端末を使用した情報共有を支援するシステム及び方法
KR20150049457A (ko) 인증 정보 관리 방법 및 장치
JP6307610B2 (ja) データ改竄検知装置、データ改竄検知方法、及びプログラム
JP2012003411A (ja) ログインシール管理システム及び管理サーバ
KR20140098028A (ko) 다중 디바이스 및 플랫폼을 위한 접속 인증 방법
JP5770354B1 (ja) サーバシステム及びリクエスト実行制御方法
JP2020149552A (ja) 情報処理装置、代行ログインシステム、代行ログイン方法、および代行ログインプログラム
KR101409348B1 (ko) 통합 사용자 인증 정보를 이용한 사용자 인증 및 관리 방법
KR20110028569A (ko) 데이터 다운로드 방법 및 다운로드 관리방법
KR20140007984A (ko) 인스턴트메시지에 의한 로그인 방법
KR20170065929A (ko) 금융 서비스를 위한 단말 및 그의 금융 서비스 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180427

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180528

R151 Written notification of patent or utility model registration

Ref document number: 6354382

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees