JP6343900B2 - 通信端末、通信処理方法および通信処理プログラム - Google Patents

通信端末、通信処理方法および通信処理プログラム Download PDF

Info

Publication number
JP6343900B2
JP6343900B2 JP2013212851A JP2013212851A JP6343900B2 JP 6343900 B2 JP6343900 B2 JP 6343900B2 JP 2013212851 A JP2013212851 A JP 2013212851A JP 2013212851 A JP2013212851 A JP 2013212851A JP 6343900 B2 JP6343900 B2 JP 6343900B2
Authority
JP
Japan
Prior art keywords
authentication
authentication information
storage unit
unit
communication terminal
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
JP2013212851A
Other languages
English (en)
Other versions
JP2015075996A (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 JP2013212851A priority Critical patent/JP6343900B2/ja
Priority to EP14187137.6A priority patent/EP2860938B1/en
Priority to US14/504,524 priority patent/US9794255B2/en
Publication of JP2015075996A publication Critical patent/JP2015075996A/ja
Application granted granted Critical
Publication of JP6343900B2 publication Critical patent/JP6343900B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/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
    • 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/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • 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
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • 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/44Program or device authentication

Landscapes

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

Description

本発明は、通信端末、通信処理方法および通信処理プログラムに関する。
通信端末の一例として、スマートフォンや携帯電話、タブレット端末等がある。近年の通信端末は、単に通信を行うだけでなく、種々のアプリケーションを実行することが可能になってきている。
通信端末で実行されるアプリケーションの一例として、ネイティブアプリケーション(native application)と称されるアプリケーションがある。ネイティブアプリケーションは、通信端末のOS(Operating System)上で直接的に実行することが可能なアプリケーションである。
また、通信端末で実行されるアプリケーションの一例として、Webアプリケーションと称されるアプリケーションがある。Webアプリケーションは、ブラウザ機能を持った実行環境上で実行されるアプリケーションである。
ネイティブアプリケーションおよびWebアプリケーションは、外部サーバのサービスを利用して通信を行うことがある。外部サーバのサービスを利用するとき、ネイティブアプリケーションおよびWebアプリケーションの認証が行われる。このときに認証情報が必要になる。認証情報の一例として、cookieがある。cookieを用いて、ウェブサーバにウェブクライアントを認証する技術が提案されている(例えば、特許文献1参照)。
特開平10−257048号公報
ネイティブアプリケーションを実行する実行環境とWebアプリケーションを実行する実行環境とは異なる。ネイティブアプリケーションの認証情報はネイティブアプリケーションの実行環境で管理される。一方、Webアプリケーションの認証情報はWebアプリケーションの実行環境で管理される。つまり、ネイティブアプリケーションとWebアプリケーションとは別々に管理される。
従って、ネイティブアプリケーションの実行環境で管理される認証情報とWebアプリケーションの実行環境で管理される認証情報との間に差分が生じることがある。例えば、ネイティブアプリケーションの実行環境で管理されている認証情報が、Webアプリケーションの実行環境では管理されていない場合がある。
この場合、Webアプリケーションは再び外部のWebサーバのサービスを利用するために認証を行う必要がある。認証情報の一例として、IDおよびパスワードがある。この場合、ユーザはIDおよびパスワードを再び入力しなければならなくなる。従って、ユーザに不便な認証作業を要求することになる。
1つの側面では、本発明は、通信端末のアプリケーションを使用するときの認証作業の利便性を向上することを目的とする。
1つの案では、通信端末は、前記通信端末のネイティブ環境で管理される認証情報を記憶する第1記憶部と、前記通信端末のWebアプリケーション実行環境上で実行されるアプリケーションの認証情報を記憶する第2記憶部と、前記アプリケーションが必要とする認証情報が前記第2記憶部には記憶されてなく、且つ前記第1記憶部に記憶されているときに、前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込む制御を行う制御部と、前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込むか否かを判定する判定部と、前記認証情報の使用が許可される前記アプリケーションの許可リストを保持する第1保持部と、を備え、前記判定部は、前記許可リストに基づいて、前記認証情報を前記第2記憶部に書き込む。また、他の案では、通信端末は、前記通信端末のネイティブ環境で管理される認証情報を記憶する第1記憶部と、前記通信端末のWebアプリケーション実行環境上で実行されるアプリケーションの認証情報を記憶する第2記憶部と、前記アプリケーションが必要とする認証情報が前記第2記憶部には記憶されてなく、且つ前記第1記憶部に記憶されているときに、前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込む制御を行う制御部と、前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込むか否かを判定する判定部と、前記通信端末のオペレーティングシステムが提供する機能のうち前記アプリケーションが使用することが禁止される禁止リストを保持する第2保持部と、を備え、前記判定部は、前記禁止リストに基づいて、前記認証情報を前記第2記憶部に書き込むか否かを判定する。
通信端末のアプリケーションを使用するときの認証作業の利便性を向上することができる。
第1実施形態の通信端末の構成の一例を示す図である。 第1実施形態の認証処理の一例を示すフローチャートである。 第1実施形態の認証情報の一例を示す図である。 第1実施形態の処理の流れの一例を示すシーケンス図である。 第2実施形態の通信端末の構成の一例を示す図である。 アプリケーション許可リストの一例を示す図である。 第2実施形態の認証処理の一例を示すフローチャートである。 第2実施形態の処理の流れの一例を示すシーケンス図である。 第3実施形態の通信端末の構成の一例を示す図である。 第3実施形態の認証処理の一例を示すフローチャートである。 第3実施形態の処理の流れの一例を示すシーケンス図である。 通信端末のハードウェア構成の一例を示す図である。
<第1実施形態>
以下、図面を参照して、第1実施形態について説明する。図1は、第1実施形態の通信端末の構成を示している。通信端末1は、アプリケーションを実行することが可能な端末である。通信端末の一例として、スマートフォン等を適用してもよい。
通信端末1は、ネイティブアプリケーションおよびWebアプリケーションを実行することができる。ネイティブアプリケーションは、ブラウザ機能を持った実行環境(以下、単にブラウザと呼ぶ)が実行するのではなく、通信端末1のネイティブ環境で実行されるアプリケーションである。一例として、通信端末1のOSが直接的にネイティブアプリケーションを実行する。従って、ネイティブアプリケーションはOSに依存したアプリケーションである。
Webアプリケーションは、通信端末1のブラウザ上で実行されるアプリケーションである。Webアプリケーション実行環境の一例としてブラウザがある。Webアプリケーションは、ブラウザ上で実行されるため、ブラウザに依存したアプリケーションである。以下、Webアプリケーションを単にアプリケーションと称することもある。
Webアプリケーションの一例として、HTML(Hyper Text Markup Language)5アプリケーションがある。HTML5アプリケーションは、W3C(World Wide Web Consortium)が提唱するHTML5の規格による準拠しているアプリケーションである。
ネイティブアプリケーションは、ネイティブ環境で実行されるため、通信端末1のOSが提供する各種API(Application Programming Interface)を利用することができる。一方、Webアプリケーションは、使用することが禁止されているAPIが多い。
図1の一例で示すように、通信端末1は、アプリケーションサーバAS、認証局Idp、サービスプロバイダAおよびサービスプロバイダBと通信することができる。通信端末1の通信先は、図1の例には限定されない。一例として、通信端末1は、多数のサービスプロバイダBと通信することが可能である。
アプリケーションサーバASは、アプリケーションを保持する外部サーバである。一例として、アプリケーションサーバASは、Webアプリケーションを保持する。通信端末1は、アプリケーションサーバASと通信を行い、Webアプリケーションを取得(ダウンロード)することができる。
認証局Idpは、サービスプロバイダAおよびサービスプロバイダBの認証を一括して管理する。認証局Idpは、アイデンティティサービスプロバイダBと称されることもある。通信端末1は認証局Idpに対して認証に要する情報(以下、認証情報と称することもある)を送信して、認証局Idpは認証情報を用いて認証を行う。
サービスプロバイダAおよびサービスプロバイダBは、それぞれ異なるサービスを提供するサービスプロバイダBである。通信端末1のネイティブアプリケーションまたはWebアプリケーションは、サービスプロバイダAまたはサービスプロバイダBが提供するサービスを使用する。
通信端末1は、ネイティブ領域部2とブラウザ領域部3とを有している。ネイティブ領域部2は、通信端末1のネイティブな環境である。つまり、ネイティブ領域の環境は、ブラウザの動作とは関係なく、OSが直接的に関与する領域である。ネイティブアプリケーションは、ネイティブ領域部2で実行される。ネイティブアプリケーションは、ネイティブ領域部2が提供する多様なAPIを利用することができる。
ブラウザ領域部3は、ブラウザを実行する環境であり、Web領域とも称される。Webアプリケーションは、ブラウザ領域部3で実行される。Webアプリケーションは、ネイティブ領域部2が提供するAPIの一部を利用することができる。また、Webアプリケーションは、ネイティブ領域部2が提供するAPIの一部を利用することができない。
通信端末1は、表示入力部4を備えている。一例として、表示入力部4をタッチパネルディスプレイとすることができる。表示入力部4には所定の情報が表示され、ユーザは表示入力部4を操作することで、所定の情報を入力することができる。なお、表示入力部4は表示手段と入力手段とが一体になっているが、表示手段と入力手段とを別個に設けてもよい。
ネイティブ領域部2は、通信部11とアプリケーション保存部12とローカルサーバ13と第1認証情報記憶部14とブラウザ管理部15と代理認証部16とを備えている。通信部11は、外部のアプリケーションサーバASや認証局Idp、サービスプロバイダA、サービスプロバイダB等と通信を行う。
アプリケーション保存部12は、アプリケーションサーバASから取得したアプリケーションを保存する。一例として、アプリケーションはソースコードの形式でアプリケーション保存部12に暗号化された状態で保存される。
ローカルサーバ13は、ネイティブ領域部2に設けた仮想的なWebサーバである。WebアプリケーションがHTML5アプリケーションの場合、HTML5アプリケーションにオリジンを含むURL(Uniform Resource Locator)を付与する必要がある。ローカルサーバ13は、HTML5アプリケーションに通信端末1の内部でのURLを付与する。
第1認証情報記憶部14は、ネイティブ領域部2で管理される認証情報を記憶する。一例として、第1認証情報記憶部14は、ネイティブアプリケーションの認証情報を記憶する。ネイティブアプリケーションがサービスプロバイダAのサービスを利用したことがある場合には、第1認証情報記憶部14はサービスプロバイダAのサービスの認証情報を記憶する。第1認証情報記憶部14は、第1記憶部の一例である。
ブラウザ管理部15は、ブラウザ領域部3を管理する。ブラウザ管理部15は、Webviewと称されることもある。ブラウザ管理部15は、第2認証情報記憶部17と認証制御部18とを備えている。
代理認証部16は、Webアプリケーションの認証作業を代理して行う。Webアプリケーションが認証要求を発行したときには、代理認証部16がWebアプリケーションの認証要求を取得して、代理認証部16が代理して認証作業を行う。代理認証部16は、代理認証部の一例である。
第2認証情報記憶部17は、主にWebアプリケーションの認証情報を記憶する。一例として、WebアプリケーションがサービスプロバイダAのサービスを利用したことがあるときには、第2認証情報記憶部17にはサービスプロバイダAのサービスの認証情報が記憶される。第2認証情報記憶部17は、第2記憶部17の一例である。
認証制御部18は、所定条件下で、第2認証情報記憶部17に記憶されている認証情報を第1認証情報記憶部14に書き込む。また、認証制御部18は、Webアプリケーションが発行する要求を監視する。当該要求の一例として、"http request"がある。
認証制御部18は、Webアプリケーションの要求が認証に関する要求である場合には、当該要求を取得して、代理認証部16に出力する。一方、Webアプリケーションの要求が認証に関する要求でない場合には、認証制御部18は、当該要求を取得しない。認証制御部18は、制御部の一例である。
ブラウザ領域部3は、1または複数のWebアプリケーションを実行する環境である。図1では、Webアプリケーションを「Webアプリ」と示している。図1に示した一例では、ブラウザ領域部3は、Webアプリ21とWebアプリ22とiframe23とiframe24とを有している。
Webアプリケーション21とWebアプリケーション22とは異なるWebアプリケーションである。両者ともブラウザ上で実行される。iframe23はインラインフレームであり、Webアプリケーション21と他のWebアプリケーションとを分割する。また、iframe24もインラインフレームであり、Webアプリケーション22と他のWebアプリケーションとを分割する。
次に、図2のフローチャートを用いて、認証処理の一例について説明する。図2の一例では、Webアプリケーション21がサービスプロバイダAのサービスを利用する場合の認証処理について説明する。
図2(A)に示すように、認証制御部18は、ブラウザ領域部3の各Webアプリケーションの要求を監視している(ステップS1)。Webアプリケーションは種々の要求を発行する。一例として、Webアプリケーション21は、"http request"を発行し、認証制御部18は、Webアプリケーションの"http request"をCallback関数で監視してもよい。
認証制御部18は、Webアプリケーション21が発行した要求が認証要求であるか否かを判定する(ステップS2)。Webアプリケーション21が発行した要求が認証要求でない場合には(ステップS2でNO)、処理を終了する。
一方、Webアプリケーション21が発行した要求が認証要求である場合には(ステップS2でYES)、代理認証処理が行われる(ステップS3)。次に、認証情報制御処理(ステップS4)が行われる。
図2(B)はステップS3の代理認証処理を示している。代理認証部16は、Webアプリケーション21を代理して、認証局Idpに対して認証を要求する(ステップS5)。このために、代理認証部16は、通信部11を制御して、認証要求を認証局Idpに送信する。
認証局Idpは、通信端末1から送信された認証要求を受信する。認証局Idpは、受信した認証要求が既に認証済みか否かを判定する(ステップS6)。認証局Idpは、受信した認証要求が認証済みでないと判定した場合(ステップS6でNO)、未認証である旨を通信端末1に送信する。
代理認証部16は、認証局Idpから未認証である旨の通知を受信したときに、表示入力部4に対して認証画面を表示するように制御を行う(ステップS7)。一例として、認証画面はIDおよびパスワードを要求する画面としてもよい。
代理認証部16は、通信部11を制御して、認証局Idpに認証情報を送信する(ステップS8)。認証局Idpは、受信した認証情報の認証を行う。一例として、認証局Idpは、サービスプロバイダAを利用するときのIDおよびパスワードと受信したIDおよびパスワードとが一致しているか否かを判定する。一致していれば、認証は成功する。一致していなければ、認証は失敗する。
認証局Idpは、認証結果を通信端末1に送信する。この認証結果は、通信部11が受信し、通信部11は認証結果を代理認証部16に出力する。従って、代理認証部16は、認証結果を入力する(ステップS9)。
ステップS6で、認証局Idpは、受信した認証要求が既に認証されていると判定した場合(ステップS6でYES)、ステップS7〜S9の処理は行われない。つまり、ユーザはIDやパスワード等を入力する必要がない。
図2(C)に示すように、認証制御部18は、認証情報を取得する(ステップS10)。ステップS6で認証済みでないと判定された場合には、認証制御部18は、代理認証部16から認証情報を取得する。ステップS6で認証済みであると判定された場合には、認証情報は第1認証情報記憶部14に記憶されている。よって、この場合、認証制御部18は、第1認証情報記憶部14から認証情報を取得する。
そして、認証制御部19は、第2認証情報記憶部17に認証情報を書き込む(ステップS11)。従って、通信端末1が認証局Idpに送信した認証要求が既に認証されたものであれば、ユーザに再び認証作業を要求することがない。これにより、通信端末のアプリケーションを使用するときの認証作業を簡略化することができる。
図3は、第1認証情報記憶部14および第2認証情報記憶部17に記憶される認証情報の一例を示している。図3において、"key"はサービスプロバイダB等の情報を示している。"value"は認証結果を含む所定の情報を示している。"domain"および"path"は、Webアプリケーションが利用するサービスの所在情報を示している。
図3に示すように、第1認証情報記憶部14にはサービスプロバイダAの認証情報が記憶されている。つまり、ステップS6において、通信端末が送信した認証要求は既に認証済みであると判定される。このため、ステップS7〜S9の処理は省略される。
ステップS11において、第2認証情報記憶部17に認証情報が書き込まれる。サービスプロバイダAの認証情報は既に認証されているため、認証制御部18は、第1認証情報記憶部14に記憶されている認証情報を第2認証情報記憶部17に書き込む。これにより、図3に示すように、第2認証情報記憶部17にサービスプロバイダAの認証情報が記憶される。
従って、Webアプリケーション21がサービスプロバイダAのサービスを利用するときには、第2認証情報記憶部17に記憶された認証情報が使用される。このため、ユーザは、認証に要する情報を入力する必要がなくなる。これにより、認証作業を簡略化することができる。
次に、図4のシーケンス図を用いて、全体の処理の流れを説明する。最初に、Webアプリケーション21は、サービスプロバイダAのサービスを利用するための要求を発行する(ステップS101)。
一例として、この要求は"http request"であるものとする。認証制御部18は、"http request"を監視しているが、認証に関するものではないため、認証に関する処理は行わない。従って、Webアプリケーション21の要求はサービスプロバイダAに送信される。
サービスプロバイダAは、Webアプリケーション21からの要求に対して、通信端末1に対して、サービスを利用するための認証を要求する(ステップS102)。一例として、サービスプロバイダAは、"http 認証redirect"を送信することで、Webアプリケーション21の要求に対して応答する。
Webアプリケーション21は、認証局Idpに対する認証要求を発行する。この認証要求を、ブラウザ管理部15の認証制御部18が取得する。そして、ブラウザ管理部15は、認証制御部18を呼び出す(ステップS103)。認証制御部18は、認証局Idpに対するredirectの場合、代理認証部16を呼び出す(ステップS104)。
代理認証部16は、認証局Idpに対して認証を要求するために、通信部11を制御して、認証要求を認証局Idpに送信する。認証局Idpの処理は、受信した認証要求が認証済みであるか否かによって変わる。
最初に、認証局Idpが受信した認証要求が認証済みである場合について説明する。図4では、「Idp認証済み」の処理になる。代理認証部16は、Webアプリケーション21を代理して、認証局Idpに認証要求を行う(ステップS105)。一例として、代理認証部16は通信部11制御して、"http request"を認証局Idpに送信する。
認証局Idpは、通信端末1から送信された認証要求が既に認証済みであるか否かを確認する。「Idp認証済み」の場合は、認証局Idpは、通信端末1から送信された認証要求が既に認証済みであることを確認する。
そして、認証局Idpは、通信端末1から送信された認証要求は既に認証済みである応答を通信端末1に送信する(ステップS106)。一例として、認証局Idpは、"http 302 redirect"を通信端末1に送信する。通信部11は応答を受信し、受信した応答を代理認証部16に出力する。代理認証部16は、Webアプリケーション21が発行した認証要求が既に認証済みであることを認識する。
次に、認証局Idpが未認証の場合について説明する。代理認証部16は、Webアプリケーション21を代理して、認証局Idpに認証要求を行う(ステップS107)。一例として、代理認証部16は通信部11を制御して、"http request"を認証局Idpに送信する。
認証局Idpは、通信端末1から送信された認証要求が既に認証済みであるか否かを確認する。「Idp未認証」の場合、認証局Idpは、通信端末1から送信された認証要求が未認証であることを確認する。
認証局Idpは、通信端末1に対して、通信端末1から送信された認証要求が未認証である結果を送信する(ステップS108)。一例として、認証局Idpは"http 200 OK"を通信端末1に送信する。
代理認証部16は、表示入力部4に認証画面が表示されるように制御を行う。この制御により、表示入力部4には認証画面が表示される(ステップS109)。上述したように、一例として、表示入力部4は、IDおよびパスワードを要求する認証画面を表示する。ユーザは、表示入力部4に表示されている認証画面に基づいて、IDおよびパスワードを入力する。
代理認証部16は、入力されたIDおよびパスワードを認証情報として、認証局Idpに送信する(ステップS110)。一例として、代理認証部16が送信する認証情報は"http login post"がある。
認証局Idpは、代理認証部16が送信した認証情報の認証を行う。認証局Idpが有する認証情報と代理認証部16が送信した認証情報が一致すれば、認証は成功し、一致しなければ、認証は失敗する。
認証局Idpは、認証結果を通信端末1に送信する(ステップS111)。実施形態では、この認証結果をIdp認証結果とする。一例として、Idp認証結果は"http 302 redirect"がある。通信部11はIdp認証結果を代理認証部16に出力する。
代理認証部16は、認証制御部18にIdp認証結果を出力する(ステップS112)。認証制御部18は、ブラウザ管理部15にIdp認証結果を出力する(ステップS113)。そして、ブラウザ管理部15は、ブラウザ上で実行されるWebアプリケーション21に対して、認証結果を出力する。
「Idp未認証」のフローが行われた場合には、第1認証情報記憶部14にはWebアプリケーション21が要求した認証情報は記憶されていない。よって、認証局Idpから受信したIdp認証結果に基づいて、代理認証部16は、第2認証情報記憶部17に認証情報を書き込む(ステップS114)。
一方、「Idp認証済み」のフローが行われた場合には、第1認証情報記憶部14にはWebアプリケーション21が要求した認証情報が記憶されている。よって、認証制御部18は、第1認証情報記憶部14から認証情報を読み出して、ステップS114にて、第2認証情報記憶部17に読み出した認証情報を書き込む。
ブラウザ管理部15は、認証局Idpに対して、認証局IdpとサービスプロバイダAとの間で認証情報を交換する要求を送信する(ステップS115)。この要求の一例として、"saml request"がある。そして、認証局Idpは、認証情報の交換要求に対する応答を通信端末1に送信する(ステップS116)。この応答の一例は、"redirect"である。
ブラウザ管理部15は、Webアプリケーション21がサービスプロバイダAのサービスを利用するための要求(エントリー要求と称することもある)を送信する(ステップS117)。この要求の一例として、"http retry request"がある。サービスプロバイダAは、Webアプリケーション21のエントリー要求に対して、応答する(ステップS118)。
ステップS118の応答には、サービスプロバイダAの認証結果が含まれる。図4では、"Response+(sp認証結果)"として示している。ブラウザ管理部15は、認証結果を記憶する。従って、認証が成功すれば、Webアプリケーション21は、サービスプロバイダAが提供するサービスを利用することができる。
従って、第1実施形態では、ネイティブ領域部2は、Webアプリケーション21の認証を管理している。つまり、ネイティブ領域部2は、第1認証情報記憶部14の認証情報と第2認証情報記憶部17の認証情報とを一元的に管理している。
このため、Webアプリケーション21が必要とする認証情報が第2認証情報記憶部17に記憶されていないとしても、認証制御部18が、第1認証情報記憶部14に記憶されている認証情報を第2認証情報記憶部17に書き込む。
従って、ユーザがWebアプリケーション21を利用するときに、認証情報を入力する必要がなくなる。つまり、ユーザが認証作業を行わなくても、Webアプリケーション21の認証が行われる。よって、ユーザに認証作業を再び要求することがなくなり、Webアプリケーションを使用するときの利便性が向上する。
<第2実施形態>
次に、第2実施形態について説明する。第1実施形態では、認証制御部18は、第1認証情報記憶部14に記憶されている認証情報を第2認証情報記憶部17に書き込んでいる。しかし、セキュリティの観点から、第1認証情報記憶部14に記憶されている認証情報を第2認証情報記憶部17に書き込むことは好ましくない場合がある。
そこで、第2実施形態では、第1認証情報記憶部14に記憶されている認証情報を第2認証情報記憶部17に書き込むか否かの判定が行われる。この判定に基づいて、第1認証情報記憶部14に記憶されている認証情報を第2認証情報記憶部17に書き込むか否かが決定される。
図5は、第2実施形態の一例を示している。図5に示すように、第2実施形態の構成は、認証情報共有判定部31と許可リスト保持部32とを有している。その他の構成は、第1実施形態と同じである。
認証情報共有判定部31は、第1認証情報記憶部14に記憶されている認証情報を第2認証情報記憶部17に書き込むか否かを判定する。つまり、第1認証情報記憶部14と第2認証情報記憶部17とで認証情報を共有するか否かを判定する。認証情報共有判定部31は、判定部の一例である。
許可リスト保持部32は、認証情報の使用が許可されるリストを保持する。以下、このリストをアプリケーション許可リストと称する。許可リスト保持部32は、第1保持部の一例である。
図6は、アプリケーション許可リストの一例を示している。アプリケーション許可リストは、識別番号とアプリハッシュ値と再認証フラグとの3つの項目を有している。識別番号は、許可されたアプリケーションに付された番号である。アプリハッシュ値は、アプリケーションを識別するために演算されたハッシュ値である。なお、アプリケーションを識別するための情報はハッシュ値には限定されない。
再認証フラグは、既に認証済みのアプリケーションに対して、再び認証を要するか否かを示すフラグである。再認証フラグが"true"であれば、当該アプリケーションは再認証を要する。再認証フラグが"false"であれば、当該アプリケーションは再認証を要しない。
一例として、識別番号「0001」番のアプリハッシュ値は"ab123afeaa111111"である。このアプリハッシュ値を持つアプリケーションは、使用が許可される。そして、再認証フラグが"true"であるため、当該アプリケーションは再認証を要する。
次に、図7のフローチャートを用いて、第2実施形態の認証処理について説明する。図7(A)に示すように、認証制御部18はブラウザ領域部3のWebアプリケーションの要求を監視する(ステップS21)。
認証制御部18は、Webアプリケーション21から要求があった場合、Webアプリケーション21からの要求が認証に関する要求であるか否かを判定する(ステップS22)。認証に関する要求でないと認証制御部18が判定したときには(ステップS22でNO)、そのまま処理を終了する。一方、認証に関する要求であると認証制御部18が判定したときには(ステップS22でYES)、認証情報共有判定処理を行う(ステップS23)。
図7(B)は、ステップS23の認証情報共有判定処理を示している。認証情報共有判定部31は、許可リスト保持部32から許可リストを取得する(ステップS24)。また、認証情報共有判定部31は、認証に関する要求を発行しているWebアプリケーション21のアプリハッシュ値を演算する(ステップS25)。
認証情報共有判定部31は、Webアプリケーション21のアプリハッシュ値が許可リストのアプリハッシュ値に含まれているか否かを判定する(ステップS26)。Webアプリケーション21のアプリハッシュ値が許可リストのアプリハッシュ値に含まれていなければ、Webアプリケーション21は許可されていないことになる。
よって、認証情報共有判定部31は、認証情報を第1認証情報記憶部14と第2認証情報記憶部17とで共有することなく、そのまま処理を終了する。一方、Webアプリケーション21のアプリハッシュ値が許可リストのアプリハッシュ値に含まれている場合には、Webアプリケーション21は許可されていることになる。
この場合は、代理認証部16は、代理認証処理を行う(ステップS27)。また、代理認証処理の次に、認証情報制御処理を行う(ステップS28)。図7(C)は、代理認証処理のフローを示している。代理認証部16は、許可リストのうちWebアプリケーション21のアプリハッシュ値に対応する再認証フラグが"true"であるか、"false"であるかを判定する(ステップS29)。
再認証フラグが"true"の場合、代理認証部16は、第1認証情報記憶部14に記憶されている認証情報および第2認証情報記憶部17に記憶されている認証情報を削除する(ステップS30)。再認証フラグが"true"の場合には、再度の認証が行われる。
再認証フラグが"true"になるのは、セキュリティの観点から、Webアプリケーション21が毎回認証を行うことが好ましいアプリケーションの場合である。一例として、Webアプリケーション21が通信端末1の個人情報等を取り扱う場合等、高度なセキュリティを要するような場合に、再認証フラグが"true"となる。
一方、再認証フラグが"false"である場合には、代理認証部16は、ステップS30の認証情報の削除を行わない。高度なセキュリティを要しない場合には、毎回認証する必要がない。従って、認証情報は削除されない。再認証フラグは"true"または"false"として説明したが、再認証フラグは、再認証が必要であるか否かを判別できれば、任意の手段を適用してもよい。
次に、代理認証部16は、Webアプリケーション21を代理して、認証局Idpに対して認証を要求する(ステップS31)。認証局Idpは、受信した認証要求が既に認証済みか否かを判定する(ステップS32)。認証局Idpは、受信した認証要求が認証したことがないと判定した場合(ステップS32でNO)、未認証である旨を通信端末1に送信する。
代理認証部16は、認証局Idpから未認証である旨の通知を受信したときに、表示入力部4に認証画面を表示する(ステップS33)。ユーザは、認証画面に基づいて、所定の情報を認証情報に必要な情報を入力する。代理認証部16は、通信部11を制御して、認証局Idpに認証情報を送信する(ステップS34)。認証局Idpは、受信した認証情報の認証を行う。
認証局Idpは、認証結果を通信端末1に送信する。この認証結果は、通信部11が受信し、通信部11は認証結果を代理認証部16に出力する。従って、代理認証部16は、認証結果を入力する(ステップS35)。
ステップS32で、認証局Idpは、受信した認証要求が既に認証されていると判定した場合(ステップS32でYES)、ステップS33〜S35の処理は行われない。次に、図7(D)に示すように、認証制御部18は、認証情報を取得する(ステップS36)。
ステップS32で認証済みでないと判定された場合には、認証制御部18は、代理認証部16から認証情報を取得する。ステップS32で認証済みであると判定された場合には、認証情報は第1認証情報記憶部14に記憶されている。よって、この場合、認証制御部18は、第1認証情報記憶部14から認証情報を取得する。
そして、認証制御部19は、第2認証情報記憶部17に認証情報を書き込む(ステップS37)。従って、通信端末1が認証局Idpに送信した認証要求が既に認証されたものであれば、ユーザは再び認証作業を行う必要がない。これにより、通信端末のアプリケーションを使用するときの認証作業を簡略化することができる。
次に、図8のシーケンス図を用いて、全体の処理の流れを説明する。最初に、Webアプリケーション21は、サービスプロバイダAのサービスを利用するための要求を発行する。そして、当該要求はサービスプロバイダAに送信される(ステップS121)。
サービスプロバイダAは、Webアプリケーション21からの要求に対して、通信端末1に対して、サービスを利用するための認証を要求する(ステップS122)。Webアプリケーション21は、認証局Idpに対する認証要求を発行する。この認証要求は、ブラウザ管理部15の認証制御部18が取得する。
そして、ブラウザ管理部15は、認証制御部18を呼び出す(ステップS123)。認証制御部18は、認証局Idpに対するredirectの場合、認証情報共有判定部31を呼び出す(ステップS124)。
認証情報共有判定部31は、許可リスト保持部32が保持している許可リストに、Webアプリケーション21が含まれているか否かを判定する。つまり、認証情報共有判定部31は、認証情報を共有するか否かの判定を行う(ステップS125)。
そして、認証情報共有判定部31が認証情報を共有すると判定した場合には、認証情報共有判定部31は、代理認証部16を呼び出す(ステップS126)。一方、認証情報共有判定部31が認証情報を共有しないと判定した場合には、認証情報共有判定部31は、代理認証部16の呼び出しを行わない。
認証情報共有判定部31が代理認証部16を呼び出した場合、代理認証部16は再認証処理を行う(ステップS127)。再認証処理は、許可リストのうちWebアプリケーション21に対応する再認証フラグが"true"になっている場合に、第1認証情報記憶部14および第2認証情報記憶部17に記憶されている認証情報を削除する処理である。
代理認証部16は、認証局Idpに対して認証を要求するために、通信部11を制御して、認証要求を認証局Idpに送信する。認証局Idpの処理は、受信した認証要求が認証済みであるか否かによって変わる。
最初に、認証局Idpが受信した認証要求が認証済みである場合について説明する。図8では「Idp認証済み」の処理になる。代理認証部16は、Webアプリケーション21を代理して、認証局Idpに認証要求を行う(ステップS128)。
そして、認証局Idpは、通信端末1から送信された認証要求は既に認証済みである応答を通信端末1に送信する(ステップS129)。通信部11は応答を受信し、受信した応答を代理認証部16に出力する。代理認証部16は、Webアプリケーション21が発行した認証要求が既に認証済みであることを認識する。
次に、認証局Idpが未認証の場合について説明する。代理認証部16は、Webアプリケーション21を代理して、認証局Idpに認証要求を行う(ステップS130)。認証局Idpは、通信端末1から送信された認証要求が既に認証済みであるか否かを確認する。「Idp未認証」の場合は、認証局Idpは、通信端末1から送信された認証要求が未認証であることを確認する。
ステップS127で、再認証処理が行われた場合には、第1認証情報記憶部14および第2認証情報記憶部17の認証情報が削除されている。従って、「Idp未認証」のフローが行われる。
認証局Idpは、通信端末1に対して、通信端末1から送信された認証要求が未認証である結果を送信する(ステップS131)。代理認証部16は、表示入力部4に認証画面を表示する(ステップS132)。一例として、ユーザは、認証画面からIDおよびパスワードを入力する。
代理認証部16は、入力されたIDおよびパスワードを認証情報として、認証局Idpに送信する(ステップS133)。認証局Idpは、代理認証部16が送信した認証情報の認証を行う。
認証局Idpは、認証結果を通信端末1に送信する(ステップS134)。代理認証部16は、認証情報共有判定部31にIdp認証結果を出力する(ステップS135)。認証情報共有判定部31は、認証制御部18にIdp認証結果を出力する(ステップS136)。認証制御部18は、ブラウザ管理部15にIdp認証結果を出力する(ステップS137)。そして、ブラウザ管理部15は、ブラウザ上で実行されるWebアプリケーション21に対して、認証結果を出力する。
「Idp未認証」のフローが行われた場合には、代理認証部16は、第1認証情報記憶部14と第2認証情報記憶部17との両者に認証情報を記憶する(ステップS138)。一方、「Idp認証済み」のフローが行われた場合には、代理認証部16は、第1認証情報記憶部14に記憶されている認証情報を第2認証情報記憶部17に書き込む。
従って、第1認証情報記憶部14と第2認証情報記憶部17とで認証情報の共有を行うことができる。ただし、ステップS125で、認証情報共有判定部31が認証情報の共有を行わないと判定した場合には、認証情報の共有は行われない。
ブラウザ管理部15は、認証局Idpに対して、認証局IdpとサービスプロバイダAとの間で認証情報を交換する要求を送信する(ステップS139)。そして、認証局Idpは、認証情報の交換要求に対する応答を通信端末1に送信する(ステップS140)。
ブラウザ管理部15は、Webアプリケーション21がサービスプロバイダAのサービスを利用する要求を送信する(ステップS141)。サービスプロバイダAは、Webアプリケーション21のエントリー要求に対して、応答する(ステップS142)。
この応答には、サービスプロバイダAの認証結果が含まれる。図2では、"Response+(sp認証結果)"として示している。ブラウザ管理部15は、サービスプロバイダAの認証結果を記憶する。従って、認証が成功すれば、Webアプリケーション21は、サービスプロバイダAが提供するサービスを利用することができる。
第2実施形態では、第1実施形態と同様に、通信端末のアプリケーションを使用するときの認証作業を簡略化することができる。そして、セキュリティの高い認証を実現することができる。これにより、ユーザにとっての利便性と高いセキュリティとの両者を実現することができる。
<第3実施形態>
次に、第3実施形態について説明する。図9の通信端末1は、図5に示した許可リスト保持部32の代わりに禁止APIリスト保持部33を有している。禁止APIリスト保持部33は禁止APIリストを保持する。禁止APIリスト保持部33は、第2保持部の一例である。
APIは、通信端末1の機能を利用する手段である。ネイティブアプリケーションは通信端末1のネイティブの環境で実行されるアプリケーションであるため、使用可能なAPIが多い。一方、Webアプリケーションは、ネイティブアプリケーションよりも使用可能なAPIが少ない。
つまり、Webアプリケーションの場合、使用が禁止されているAPIが多い。使用が禁止されているAPIを禁止APIとする。禁止APIの一例として、"File.read()"がある。このAPIは、通信端末1に記憶されているファイルを読み出す。また、禁止APIの一例として、"Camera.exec()"がある。このAPIは、通信端末1に備えられるカメラ機能を利用する。
これらの禁止APIは、セキュリティの観点から、Webアプリケーションでは使用が禁止されている場合がある。そこで、認証要求を行うWebアプリケーションが禁止APIを使用するアプリケーションである場合には、第1認証情報記憶部14と第2認証情報記憶部17とで認証情報の共有を行わないようにする。
次に、図10のフローチャートを用いて、第3実施形態の認証処理について説明する。図10(A)に示すように、認証制御部18はブラウザ領域部3のWebアプリケーションの要求を監視する(ステップS41)。
Webアプリケーション21から要求があった場合、認証制御部18は、Webアプリケーション21からの要求が認証に関する要求であるか否かを判定する(ステップS42)。認証に関する要求でないと認証制御部18が判定したときには(ステップS42でNO)、そのまま処理を終了する。一方、認証に関する要求であると認証制御部18が判定したときには(ステップS42でYES)、認証情報共有判定処理を行う(ステップS43)。
図10(B)は、ステップS43の認証情報共有判定処理を示している。認証情報共有判定部31は、禁止APIリスト保持部33から禁止APIリストを取得する(ステップS44)。また、認証情報共有判定部31は、アプリケーション保存部12に保存されているWebアプリケーション21の情報からWebアプリケーション21のAPIを検索する(ステップS45)。
一例として、アプリケーション保存部12は、Webアプリケーション21のソースコードを保存している。認証情報共有判定部31は、アプリケーション保存部12に保存されているWebアプリケーション21のソースコードを復号化して読み出す。そして、Webアプリケーション21のソースコードに含まれるAPIを検索する。
認証情報共有判定部31は、禁止APIリストに含まれる禁止APIがWebアプリケーション21のソースコードにあるか否かを判定する(ステップS46)。ステップS45およびステップS46の処理は、Webアプリケーション21のソースコードに含まれる全てのAPIについて行われる。つまり、Webアプリケーション21のソースコードに含まれるAPIの個数分のループ処理が行われる。
Webアプリケーション21のソースコードに含まれる全てのAPIを検索しても、禁止APIが見つかれなければ、代理認証処理が行われ(ステップS47)、次に認証情報制御処理(ステップS48)が行われる。一方、Webアプリケーション21のソースコードに禁止APIが見つかった場合(ステップS46でYES)、ステップS47およびステップS47の処理は行われない。
Webアプリケーション21に禁止APIが見つかった場合、セキュリティの観点から、第1認証情報記憶部14と第2認証情報記憶部17とで認証情報を共有することは好ましくない。一例として、禁止APIが個人情報のファイルを取得するAPIである場合、Webアプリケーション21が当該APIを利用できないように禁止することが好ましい。
次に、代理認証部16は、Webアプリケーション21を代理して、認証局Idpに対して認証を要求する(ステップS49)。認証局Idpは、受信した認証要求が既に認証済みか否かを判定する(ステップS50)。認証局Idpは、受信した認証要求が認証したことがないと判定した場合(ステップS50でNO)、未認証である旨を通信端末1に送信する。
代理認証部16は、認証局Idpから未認証である旨の通知を受信したときに、表示入力部4に認証画面を表示する(ステップS51)。ユーザは、認証画面に基づいて、認証に必要な所定の情報を入力する。代理認証部16は、通信部11を制御して、認証局Idpに認証情報を送信する(ステップS52)。認証局Idpは、受信した認証情報の認証を行う。
認証局Idpは、認証結果を通信端末1に送信する。この認証結果は、通信部11が受信し、通信部11は認証結果を代理認証部16に出力する。従って、代理認証部16は、認証結果を入力する(ステップS53)。
受信した認証要求が既に認証されていると認証局Idpが判定した場合(ステップS50でYES)、ステップS51〜S53の処理は行われない。次に、図7(D)に示すように、認証制御部18は、認証情報を取得する(ステップS54)。
ステップS50で認証済みでないと判定された場合には、認証制御部18は、代理認証部16から認証情報を取得する。ステップS50で認証済みであると判定された場合には、認証情報は第1認証情報記憶部14に記憶されている。よって、この場合、認証制御部18は、第1認証情報記憶部14から認証情報を取得する。
そして、認証制御部19は、第2認証情報記憶部17に認証情報を書き込む(ステップS55)。従って、通信端末1が認証局Idpに送信した認証要求が既に認証されたものであれば、ユーザに再び認証作業を要求することがない。これにより、通信端末のアプリケーションを使用するときの認証作業を簡略化することができる。
また、ステップS46において、Webアプリケーション21のソースコードに禁止APIが見つかった場合には、ステップS47およびステップS48の処理は行われないため、認証情報の共有は行われない。このため、高度なセキュリティを実現できる。
次に、図11のシーケンス図を用いて、全体の処理の流れを説明する。最初に、Webアプリケーション21は、サービスプロバイダAのサービスを利用するための要求を発行する。そして、当該要求はサービスプロバイダAに送信される(ステップS151)。
サービスプロバイダAは、Webアプリケーション21からの要求に対して、通信端末1に対して、サービスを利用するための認証を要求する(ステップS152)。Webアプリケーション21は、認証局Idpに対する認証要求を発行する。この認証要求は、ブラウザ管理部15の認証制御部18が取得する。
そして、ブラウザ管理部15は、認証制御部18を呼び出す(ステップS153)。認証制御部18は、認証局Idpに対するredirectの場合、認証情報共有判定部31を呼び出す(ステップS154)。
認証情報共有判定部31は、アプリケーション保存部12に保存されているWebアプリケーション21に禁止APIが含まれているか否かを判定する処理を行う(ステップS155)。
認証情報共有判定部31は、禁止APIが含まれていないと判定した場合には、認証情報の共有を判定すると判定する。この場合には、認証情報共有判定部31は、代理認証部16を呼び出す(ステップS156)。一方、認証情報共有判定部31は、禁止APIが含まれていると判定した場合には、認証情報の共有を判定しないと判定する。この場合には、認証情報共有判定部31は、代理認証部16の呼び出しを行わない。
代理認証部16は、認証局Idpに対して認証を要求するために、通信部11を制御して、認証要求を認証局Idpに送信する。認証局Idpの処理は、受信した認証要求が認証済みであるか否かによって変わる。
最初に、認証局Idpが受信した認証要求が認証済みである場合について説明する。図11では「Idp認証済み」の処理になる。代理認証部16は、Webアプリケーション21を代理して、認証局Idpに認証要求を行う(ステップS157)。
認証局Idpは、通信端末1から送信された認証要求が既に認証済みであるか否かを確認する。「Idp認証済み」の場合は、認証局Idpは、通信端末1から送信された認証要求が既に認証済みであることを確認する。
そして、認証局Idpは、通信端末1から送信された認証要求は既に認証済みである応答を通信端末1に送信する(ステップS158)。通信部11は応答を受信し、受信した応答を代理認証部16に出力する。代理認証部16は、Webアプリケーション21が発行した認証要求が既に認証済みであることを認識する。
次に、認証局Idpが未認証の場合について説明する。代理認証部16は、Webアプリケーション21を代理して、認証局Idpに認証要求を行う(ステップS159)。認証局Idpは、通信端末1から送信された認証要求が既に認証済みであるか否かを確認する。「Idp未認証」の場合は、認証局Idpは、通信端末1から送信された認証要求が未認証であることを確認する。
認証局Idpは、通信端末1に対して、通信端末1から送信された認証要求が未認証である結果を送信する(ステップS160)。代理認証部16は、表示入力部4に認証画面を表示する(ステップS161)。一例として、ユーザは、認証画面からIDおよびパスワードを入力する。
代理認証部16は、入力されたIDおよびパスワードを認証情報として、認証局Idpに送信する(ステップS162)。認証局Idpは、代理認証部16が送信した認証情報の認証を行う。認証局Idpが有する認証情報と代理認証部16が送信した認証情報が一致すれば、認証は成功し、一致しなければ、認証は失敗する。
認証局Idpは、認証結果を通信端末1に送信する(ステップS163)。実施形態では、この認証結果をIdp認証結果とする。代理認証部16は、認証情報共有判定部31にIdp認証結果を出力する(ステップS164)。
認証情報共有判定部31は、認証制御部18にIdp認証結果を出力する(ステップS165)。認証制御部18は、ブラウザ管理部15にIdp認証結果を出力する(ステップS166)。そして、ブラウザ管理部15は、ブラウザ上で実行されるWebアプリケーション21に対して、認証結果を出力する。
「Idp未認証」のフローが行われた場合には、第1認証情報記憶部14にはWebアプリケーション21が要求した認証情報は記憶されていない。よって、認証局Idpから受信したIdp認証結果に基づいて、代理認証部16は、第2認証情報記憶部17に認証情報を書き込む(ステップS167)。
一方、「Idp認証済み」のフローが行われた場合には、第1認証情報記憶部14にはWebアプリケーション21が要求した認証情報が記憶されている。よって、認証制御部18は、第1認証情報記憶部14から認証情報を読み出して、第2認証情報記憶部17に読み出した認証情報を書き込む(ステップS167)。
ブラウザ管理部15は、認証局Idpに対して、認証局IdpとサービスプロバイダAとの間で認証情報を交換する要求を送信する(ステップS168)。そして、認証局Idpは、認証情報の交換要求に対する応答を通信端末1に送信する(ステップS169)。
ブラウザ管理部15は、Webアプリケーション21がサービスプロバイダAのサービスを利用する要求を送信する(ステップS170)。サービスプロバイダAは、Webアプリケーション21のエントリー要求に対して、応答する(ステップS171)。
この応答には、サービスプロバイダAの認証結果が含まれる。図11では、"Response+(sp認証結果)"として示している。ブラウザ管理部15は、サービスプロバイダAの認証結果を記憶する。従って、認証が成功すれば、Webアプリケーション21は、サービスプロバイダAが提供するサービスを利用することができる。
第2実施形態では、第1実施形態で説明した通信端末のアプリケーションを使用するときの認証作業を簡略化することができ、セキュリティの高い認証を実現することができる。これにより、ユーザにとっての利便性と高いセキュリティとの両者を実現することができる。
<ハードウェア構成>
次に、通信端末1のハードウェア構成の一例について説明する。図12に示すように、通信端末1は、バス51に対して、プロセッサ52とRAM(Random Access Memory)53とROM(Read Only Memory)54と補助記憶装置55と通信インタフェース56と可搬型記憶装置接続部57とが接続されている。
プロセッサ52はCPU(Central Processing Unit)のような任意の処理回路である。プロセッサ52はRAM53に展開されたプログラムを実行する。ROM54はRAM53に展開されるプログラムを記憶する不揮発性の記憶装置である。RAM53に展開されるプログラムは補助記憶装置55に記憶されていてもよい。記憶装置の一例としては、半導体メモリやハードディスクドライブ等を適用することができる。
可搬型記憶装置接続部57は、可搬型記憶装置と接続可能に設けられている。可搬型記憶装置としては、可搬型のメモリや光学式ディスク(例えば、CD(Compact Disk)やDVD(Digital Video Disk)等)を適用することができる。
RAM53、ROM54および補助記憶装置55は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
一例として、通信部11は通信インタフェース56により実現されてもよい。ローカルサーバ13、代理認証部16、認証制御部18および認証情報共有判定部31はプロセッサ52により実現されてもよい。また、アプリケーション保存部12、第1認証情報記憶部14、第2認証情報記憶部17、許可リスト保持部32および禁止APIリスト保持部33は、RAM53、ROM54、補助記憶装置55または可搬型記憶装置接続部57に接続される可搬型記憶装置により実現されてもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
通信端末であって、
前記通信端末のネイティブ環境が管理する認証情報を記憶する第1記憶部と、
前記通信端末のWebアプリケーション実行環境上で実行されるアプリケーションの認証情報を記憶する第2記憶部と、
前記アプリケーションが必要とする認証情報が前記第2記憶部には記憶されてなく、且つ前記第1記憶部に記憶されているときに、前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込む制御を行う制御部と、
を備える通信端末。
(付記2)
前記アプリケーションが行う認証を代理して行う認証部を備え、
前記制御部は、前記アプリケーションが発行した要求が認証に関する要求であるときには、当該要求を取得して、前記認証部に出力する、
付記1記載の通信端末。
(付記3)
前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込むか否かを判定する判定部、
を備える付記1記載の通信端末。
(付記4)
前記認証情報の使用が許可される前記アプリケーションの許可リストを保持する第1保持部を備え、
前記判定部は、前記許可リストに基づいて、前記認証情報を前記第2記憶部に書き込むか否かを判定する、
付記3記載の通信端末。
(付記5)
前記通信端末のオペレーティングシステムが提供する機能のうち前記アプリケーションが使用することが禁止される禁止リストを保持する第2保持部を備え、
前記判定部は、前記禁止リストに基づいて、前記認証情報を前記第2記憶部に書き込むか否かを判定する、
付記3記載の通信端末。
(付記6)
前記許可リストは前記アプリケーションごとに、再度の認証を行うか否かの情報を有し、前記情報が再度の認証を行うことを示しているときに、前記アプリケーションは認証を行う、
付記4記載の通信端末。
(付記7)
前記アプリケーションはWebアプリケーションである、
付記1記載の通信端末。
(付記8)
前記認証部は、前記ネイティブ環境の領域に設けられている、
付記2記載の通信端末。
(付記9)
通信処理方法であって、
通信端末のネイティブ環境で管理される認証情報を記憶する第1記憶部に、前記通信端末のWebアプリケーション実行環境上で実行されるアプリケーションが必要とする認証情報が記憶され、前記アプリケーションの認証情報を記憶する第2記憶部に前記アプリケーションが必要とする認証情報が記憶されていないとき、前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込む、
通信処理方法。
(付記10)
通信処理プログラムであって、
通信端末のネイティブ環境で管理される認証情報を記憶する第1記憶部に、前記通信端末のWebアプリケーション実行環境上で実行されるアプリケーションが必要とする認証情報が記憶され、前記アプリケーションの認証情報を記憶する第2記憶部に前記アプリケーションが必要とする認証情報が記憶されていないとき、前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込む、
処理をコンピュータに実行させる通信処理プログラム。
(付記11)
プロセッサと記憶装置とを備える通信端末であって、
前記記憶装置は、通信端末のネイティブ環境で実行される第1アプリケーションの認証情報を記憶する第1記憶領域と、前記通信端末のWebアプリケーション実行環境上で実行されるアプリケーションの認証情報を記憶する第2記憶領域と、を有し、
前記プロセッサは、
前記アプリケーションが必要とする認証情報が前記第2記憶領域には記憶されてなく、且つ前記第1記憶部に記憶されているときに、前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込む制御を行う
通信端末。
1 通信端末
2 ブラウザ領域
3 ネイティブ領域
14 第1認証情報記憶部
15 ブラウザ管理部
16 代理認証部
17 第2認証情報記憶部
21、22 Webアプリケーション
31 認証情報共有判定部
32 許可リスト保持部
33 禁止APIリスト保持部
A、B サービスプロバイダ
Idp 認証局

Claims (6)

  1. 通信端末であって、
    前記通信端末のネイティブ環境で管理される認証情報を記憶する第1記憶部と、
    前記通信端末のWebアプリケーション実行環境上で実行されるアプリケーションの認証情報を記憶する第2記憶部と、
    前記アプリケーションが必要とする認証情報が前記第2記憶部には記憶されてなく、且つ前記第1記憶部に記憶されているときに、前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込む制御を行う制御部と、
    前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込むか否かを判定する判定部と、
    前記認証情報の使用が許可される前記アプリケーションの許可リストを保持する第1保持部と、を備え、
    前記判定部は、前記許可リストに基づいて、前記認証情報を前記第2記憶部に書き込む
    か否かを判定する、
    通信端末。
  2. 通信端末であって、
    前記通信端末のネイティブ環境で管理される認証情報を記憶する第1記憶部と、
    前記通信端末のWebアプリケーション実行環境上で実行されるアプリケーションの認証情報を記憶する第2記憶部と、
    前記アプリケーションが必要とする認証情報が前記第2記憶部には記憶されてなく、且つ前記第1記憶部に記憶されているときに、前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込む制御を行う制御部と、
    前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込むか否かを判定する判定部と、
    前記通信端末のオペレーティングシステムが提供する機能のうち前記アプリケーションが使用することが禁止される禁止リストを保持する第2保持部と、を備え、
    前記判定部は、前記禁止リストに基づいて、前記認証情報を前記第2記憶部に書き込むか否かを判定する、
    通信端末。
  3. 通信処理方法であって、
    通信端末のネイティブ環境で管理される認証情報を記憶する第1記憶部に記憶されている認証情報を、前記通信端末のWebアプリケーション実行環境上で実行されるアプリケーションの認証情報を記憶する第2記憶部に書き込むか否かを、第1保持部に保持された、前記認証情報の使用が許可される前記アプリケーションの許可リストに基づいて判定し、
    前記アプリケーションが必要とする認証情報が前記第2記憶部には記憶されてなく、且つ前記第1記憶部に記憶されているときに、前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込む制御を行う、
    通信処理方法。
  4. 通信処理方法であって、
    通信端末のネイティブ環境で管理される認証情報を記憶する第1記憶部に記憶されている認証情報を、前記通信端末のWebアプリケーション実行環境上で実行されるアプリケーションの認証情報を記憶する第2記憶部に書き込むか否かを、第2保持部に保持された、前記通信端末のオペレーティングシステムが提供する機能のうち前記アプリケーションが使用することが禁止される禁止リストに基づいて判定し、
    前記アプリケーションが必要とする認証情報が前記第2記憶部には記憶されてなく、且つ前記第1記憶部に記憶されているときに、前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込む制御を行う、
    通信処理方法。
  5. 通信処理プログラムであって、
    通信端末のネイティブ環境で管理される認証情報を記憶する第1記憶部に記憶されている認証情報を、前記通信端末のWebアプリケーション実行環境上で実行されるアプリケーションの認証情報を記憶する第2記憶部に書き込むか否かを、第1保持部に保持された、前記認証情報の使用が許可される前記アプリケーションの許可リストに基づいて判定し、
    前記アプリケーションが必要とする認証情報が前記第2記憶部には記憶されてなく、且つ前記第1記憶部に記憶されているときに、前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込む制御を行う、
    処理をコンピュータに実行させる通信処理プログラム。
  6. 通信処理プログラムであって、
    通信端末のネイティブ環境で管理される認証情報を記憶する第1記憶部に記憶されている認証情報を、前記通信端末のWebアプリケーション実行環境上で実行されるアプリケーションの認証情報を記憶する第2記憶部に書き込むか否かを、第2保持部に保持された、前記通信端末のオペレーティングシステムが提供する機能のうち前記アプリケーションが使用することが禁止される禁止リストに基づいて判定し、
    前記アプリケーションが必要とする認証情報が前記第2記憶部には記憶されてなく、且つ前記第1記憶部に記憶されているときに、前記第1記憶部に記憶されている認証情報を前記第2記憶部に書き込む制御を行う、
    処理をコンピュータに実行させる通信処理プログラム。
JP2013212851A 2013-10-10 2013-10-10 通信端末、通信処理方法および通信処理プログラム Active JP6343900B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013212851A JP6343900B2 (ja) 2013-10-10 2013-10-10 通信端末、通信処理方法および通信処理プログラム
EP14187137.6A EP2860938B1 (en) 2013-10-10 2014-09-30 Communication terminal, communication processing method, and communication processing program
US14/504,524 US9794255B2 (en) 2013-10-10 2014-10-02 Communication terminal and communication processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013212851A JP6343900B2 (ja) 2013-10-10 2013-10-10 通信端末、通信処理方法および通信処理プログラム

Publications (2)

Publication Number Publication Date
JP2015075996A JP2015075996A (ja) 2015-04-20
JP6343900B2 true JP6343900B2 (ja) 2018-06-20

Family

ID=51661905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013212851A Active JP6343900B2 (ja) 2013-10-10 2013-10-10 通信端末、通信処理方法および通信処理プログラム

Country Status (3)

Country Link
US (1) US9794255B2 (ja)
EP (1) EP2860938B1 (ja)
JP (1) JP6343900B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111526152B (zh) * 2016-08-12 2022-02-11 创新先进技术有限公司 一种认证方法、设备以及认证客户端
US10666443B2 (en) * 2016-10-18 2020-05-26 Red Hat, Inc. Continued verification and monitoring of application code in containerized execution environment
JP6965653B2 (ja) * 2017-09-14 2021-11-10 株式会社リコー 情報処理装置、情報処理システム、情報処理方法及びプログラム

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0219942A (ja) * 1988-07-08 1990-01-23 Canon Inc キヤツシユサブシステム
US5875296A (en) 1997-01-28 1999-02-23 International Business Machines Corporation Distributed file system web server user authentication with cookies
US6438600B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Securely sharing log-in credentials among trusted browser-based applications
US20020178375A1 (en) * 2001-01-31 2002-11-28 Harris Corporation Method and system for protecting against malicious mobile code
JP3927834B2 (ja) * 2002-02-12 2007-06-13 キヤノン株式会社 サービス提供システム、方法、プログラム及び記憶媒体
JP2003316743A (ja) * 2002-04-24 2003-11-07 Nippon Telegr & Teleph Corp <Ntt> ネットワークアクセス方法およびクライアント
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
US7530094B2 (en) * 2003-04-01 2009-05-05 Oracle International Corporation Method and apparatus for facilitating single sign-on of an application cluster
US7590845B2 (en) * 2003-12-22 2009-09-15 Lenovo Singapore Pte. Ltd. Key cache management through multiple localities
JP2006215988A (ja) * 2005-02-07 2006-08-17 Ntt Docomo Kansai Inc 認証システム、携帯端末装置及び認証方法
US7272727B2 (en) * 2005-04-18 2007-09-18 Hitachi, Ltd. Method for managing external storage devices
US20080155662A1 (en) * 2006-12-20 2008-06-26 International Business Machines Corporation Method of handling user authentication in a heterogeneous authentication environment
JP4360422B2 (ja) * 2007-05-15 2009-11-11 フェリカネットワークス株式会社 認証情報管理システム、認証情報管理サーバ、認証情報管理方法及びプログラム
US20090007250A1 (en) * 2007-06-27 2009-01-01 Microsoft Corporation Client authentication distributor
JP4922958B2 (ja) 2008-02-01 2012-04-25 株式会社リコー 画像形成装置、画像形成方法、画像形成プログラム
US8839414B2 (en) * 2008-05-30 2014-09-16 Irdeto Canada Corporation Authenticated database connectivity for unattended applications
JP4653230B2 (ja) * 2008-09-22 2011-03-16 株式会社エヌ・ティ・ティ・ドコモ Api検査装置及び状態監視装置
JP5408140B2 (ja) * 2008-10-23 2014-02-05 富士通株式会社 認証システム、認証サーバおよび認証方法
US8505084B2 (en) * 2009-04-06 2013-08-06 Microsoft Corporation Data access programming model for occasionally connected applications
US8498418B2 (en) * 2009-08-31 2013-07-30 International Business Machines Corporation Conversion of cryptographic key protection
US20110202989A1 (en) * 2010-02-18 2011-08-18 Nokia Corporation Method and apparatus for providing authentication session sharing
US8983870B2 (en) * 2010-08-18 2015-03-17 Snap-On Incorporated Apparatus and method for managing software applications using partitioned data storage devices
US9699168B2 (en) * 2010-12-13 2017-07-04 International Business Machines Corporation Method and system for authenticating a rich client to a web or cloud application
US9473485B2 (en) * 2011-03-21 2016-10-18 Blue Cedar Networks, Inc. Secure single sign-on for a group of wrapped applications on a computing device and runtime credential sharing
US20120297187A1 (en) * 2011-05-17 2012-11-22 Google Inc. Trusted Mobile Device Based Security
JP2013073314A (ja) * 2011-09-27 2013-04-22 Canon Inc 印刷中継システム、印刷システム、制御方法およびコンピュータプログラム
US9081951B2 (en) * 2011-09-29 2015-07-14 Oracle International Corporation Mobile application, identity interface
JP5765185B2 (ja) * 2011-10-25 2015-08-19 富士通株式会社 制御プログラム、クライアント装置、制御システムの制御方法及びクライアント装置の制御方法
US20130156196A1 (en) * 2011-12-16 2013-06-20 Fabrice E. Jogand-Coulomb Storage Device and Method for Super-Distribution of Content Protected with a Localized Content Encyrption Key
US10467058B2 (en) * 2011-12-20 2019-11-05 Microsoft Technology Licensing, Llc Sandboxing for multi-tenancy
US9100382B2 (en) * 2012-03-20 2015-08-04 Qualcomm Incorporated Network security configuration using short-range wireless communication
US9038138B2 (en) * 2012-09-10 2015-05-19 Adobe Systems Incorporated Device token protocol for authorization and persistent authentication shared across applications
US20140096213A1 (en) * 2012-09-28 2014-04-03 Kevin Quan Method and system for distributed credential usage for android based and other restricted environment devices
US20140108793A1 (en) * 2012-10-16 2014-04-17 Citrix Systems, Inc. Controlling mobile device access to secure data
US8904498B2 (en) * 2012-10-17 2014-12-02 Ca, Inc. Biometric identification for mobile applications
US9189510B2 (en) * 2013-02-26 2015-11-17 Facebook, Inc. System and method for implementing cache consistent regional clusters
US20140259167A1 (en) * 2013-03-11 2014-09-11 Samsung Electronics Co. Ltd. Behavior based application blacklisting
US10033763B2 (en) * 2013-05-03 2018-07-24 Kony Inc. Centralized mobile application management system and methods of use

Also Published As

Publication number Publication date
EP2860938B1 (en) 2020-04-08
US9794255B2 (en) 2017-10-17
US20150106904A1 (en) 2015-04-16
JP2015075996A (ja) 2015-04-20
EP2860938A1 (en) 2015-04-15

Similar Documents

Publication Publication Date Title
US11019103B2 (en) Managing security agents in a distributed environment
WO2017067227A1 (zh) 一种第三方账号授权方法、设备、服务器及其系统
CN106716404B (zh) 计算机子网内的代理服务器
US10754941B2 (en) User device security manager
US9391961B2 (en) Information operating device, information output device, and information processing method
US9117062B1 (en) Stateless and secure authentication
JP6204986B2 (ja) 同期通信におけるサーバー証明書エラーへの安全な対処
US10127317B2 (en) Private cloud API
JP6640869B2 (ja) スマートイメージを使用したフィッシング対策のための方法およびシステム
US9690924B2 (en) Transparent two-factor authentication via mobile communication device
US10044720B2 (en) Mashup method, computer-readable recording medium, and terminal
JP6918576B2 (ja) システム、情報処理装置、方法及びプログラム
US10305961B2 (en) Information processing apparatus, information processing apparatus control method, and storage medium storing program
US11516279B2 (en) Systems and methods for accessing multiple resources via one identifier
US10341346B2 (en) Information processing method, information processing apparatus, and storage medium
JP6122924B2 (ja) 提供装置、端末装置、提供方法、提供プログラム及び認証処理システム
JP6343900B2 (ja) 通信端末、通信処理方法および通信処理プログラム
CN113472735B (zh) 一种大数据服务单点登录方法、装置及存储介质
US10084881B2 (en) Information processing terminal and browser storage management method
KR20140121571A (ko) 통합 인증 시스템, 그의 통합 인증 방법 및 이를 위한 장치
JP6059307B1 (ja) 端末装置、情報送信方法、及び情報送信プログラム
US20220131855A1 (en) Information processing device, control method for information processing device, and recording medium
JP6083210B2 (ja) 認証情報管理システム、認証情報管理方法、認証情報管理プログラム、及び、検索システム
JP6240349B2 (ja) 提供装置、提供方法、提供プログラム及び認証処理システム
JP2016095704A (ja) 情報処理装置、プログラム及び情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170810

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180402

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180409

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180507

R150 Certificate of patent or registration of utility model

Ref document number: 6343900

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150