JP7200776B2 - 情報処理システム及びプログラム - Google Patents

情報処理システム及びプログラム Download PDF

Info

Publication number
JP7200776B2
JP7200776B2 JP2019050169A JP2019050169A JP7200776B2 JP 7200776 B2 JP7200776 B2 JP 7200776B2 JP 2019050169 A JP2019050169 A JP 2019050169A JP 2019050169 A JP2019050169 A JP 2019050169A JP 7200776 B2 JP7200776 B2 JP 7200776B2
Authority
JP
Japan
Prior art keywords
information
token
information processing
processing system
service
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
JP2019050169A
Other languages
English (en)
Other versions
JP2020154447A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2019050169A priority Critical patent/JP7200776B2/ja
Priority to US16/553,141 priority patent/US11188240B2/en
Publication of JP2020154447A publication Critical patent/JP2020154447A/ja
Application granted granted Critical
Publication of JP7200776B2 publication Critical patent/JP7200776B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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
    • 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
    • G06F21/33User authentication using certificates
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos

Landscapes

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

Description

本発明は、情報処理システム及びプログラムに関する。
特許文献1には、ユーザ端末を特定するための端末識別情報を記憶する手段と、セッションIDを生成し、ユーザ端末に対して、前記セッションIDを含んだURL(Uniform Resource Locator)を送信する手段と、ユーザ端末から前記セッションIDを含んだURLによるリクエストを受け付ける度に、前記ユーザ端末から受信した端末識別情報を確認し、前記記憶しておいた端末識別情報と一致する場合に前記ユーザ端末の前記リクエストに応じ、前記記憶しておいた端末識別情報と一致しなかった場合は、前記リクエストを拒否する手段と、を備えるセッション管理装置が開示されている。
特許文献2には、画像形成装置と通信可能に配置されて利用者の識別情報である利用者情報による前記画像形成装置へのログインを許可するための画像形成装置用ログイン管理サーバであって、前記利用者情報による前記画像形成装置への前記ログインの依頼を受け付ける依頼受け付け手段と、前記依頼受け付け手段によって受け付けられた前記依頼に基づいて認証を実行する認証手段と、前記認証手段による認証が成功した前記依頼の対象の前記ログインを許可するか否かを決定するログイン手段と、前記ログイン手段によって許可されている前記ログインを記録する許可ログイン記録手段と、同一の前記利用者情報による前記画像形成装置への多重の前記ログインである同一情報多重ログインが許可されるための前記同一情報多重ログインのそれぞれの前記依頼の種類の組み合わせを設定する許可組み合わせ設定手段とを備えており、前記ログイン手段は、前記同一情報多重ログインのうち先の前記ログインである同一情報先ログインが前記許可ログイン記録手段によって記録されている場合に、前記同一情報先ログインの前記依頼の種類と、前記同一情報多重ログインのうち後の前記ログインである同一情報後ログインの前記依頼の種類との組み合わせが前記許可組み合わせ設定手段によって設定されているとき、前記同一情報後ログインを前記同一情報先ログインと多重に許可することを特徴とする画像形成装置用ログイン管理サーバが開示されている。
特開2010-134602号公報 特開2013-029907号公報
情報処理システムは、複数の情報処理装置を含む。複数の情報処理装置の各々は、利用者毎に付与された複数の情報処理装置間で共通の認証情報により、各情報処理装置に対するアクセスが可能である。また、情報処理システムは、アクセスされた情報処理装置から、特定のサービスに対して利用者毎に付与された第2認証情報により、特定のサービスに対するアクセスを許可する。
本発明の目的は、共通の第1認証情報でアクセスできる複数の情報処理装置のうちの1つの情報処理装置からの特定のサービスに対するアクセスが許可された場合には、他の情報処理装置から同じサービスにアクセスする際に、特定のサービスにアクセスするための第2認証情報の入力を省略することができる、情報処理システム及びプログラムを提供することにある。
第1態様に係る情報処理システムは、複数の情報処理装置を含み、利用者毎に付与された前記複数の情報処理装置間で共通の第1認証情報により各情報処理装置に対するアクセスが可能であり、且つ、アクセスされた情報処理装置から、特定のサービスに対して利用者毎に付与された第2認証情報により、前記サービスへのアクセスを許可する情報処理システムであって、情報処理装置へのアクセスに用いた第1認証情報に対応し且つ前記サービスに対するアクセスを許可するための第1アクセス許可情報が記憶部に記憶されていない場合は、前記サービスにアクセスするための第2認証情報を入力する入力画面を表示する制御を行う表示制御部と、前記第1アクセス許可情報が記憶部に記憶されている場合、及び、前記入力画面から入力された認証情報が予め定めた第2認証情報と一致する場合は、前記サービスに対するアクセスを許可すると共に、前記サービスに対する新たな第1アクセス許可情報を前記情報処理装置へのアクセスに用いた前記第1認証情報に対応付けて前記記憶部に記憶させる制御を行う記憶制御部と、を備える情報処理システムである。
第2態様に係る情報処理システムは、第1態様に係る情報処理システムにおいて、前記記憶制御部は、取得された前記第1アクセス許可情報が正しい場合に、前記サービスに対するアクセスを許可する。
第3態様に係る情報処理システムは、第1態様に係る情報処理システムにおいて、前記記憶制御部は、取得された前記第1アクセス許可情報から得られた有効期限付きの第2アクセス許可情報が正しい場合に、前記サービスに対するアクセスを許可する。
第4態様に係る情報処理システムは、第1態様から第3態様までのいずれか1つの情報処理システムにおいて、前記情報処理システムは、特定のサービスに対して特定の組織に所属する利用者に付与された第3認証情報により、前記記憶部に対するアクセスを許可する。
第5態様に係る情報処理システムは、第4態様に係る情報処理システムにおいて、前記情報処理システムは、前記第3認証情報から得られた有効期限付きの第3アクセス許可情報が正しい場合に、前記記憶部に対するアクセスを許可する。
第6態様に係る情報処理システムは、第1態様から第5態様までのいずれか1つの情報処理システムにおいて、前記情報処理システムは、前記複数の情報処理装置の外部に配置された第1記憶装置、及び前記複数の情報処理装置の各々に配置された第2記憶装置を含む複数の記憶装置を、前記記憶部として備える。
第7態様に係る情報処理システムは、第6態様に係る情報処理システムにおいて、前記記憶制御部は、前記特定のサービスが複数の機能を有する場合は、機能毎に異なる前記第1アクセス許可情報を記憶する。
第8態様に係る情報処理システムは、第6態様または第7態様に係る情報処理システムにおいて、前記記憶制御部は、前記特定のサービスが複数の機能を有する場合は、機能毎に前記第1アクセス許可情報を記憶する記憶装置を変更する。
第9態様に係る情報処理システムは、第1態様から第8態様までのいずれか1つの情報処理システムにおいて、前記記憶制御部は、前記第1認証情報から生成した文字列に対応する値として前記第1アクセス許可情報を記憶する。
第10態様に係る情報処理システムは、第9態様に係る情報処理システムにおいて、前記文字列は、前記第1認証情報に含まれる第1文字列、前記第1文字列のハッシュ値、前記第1認証情報に含まれる前記第1文字列とは異なる第2文字列、前記第2文字列のハッシュ値、前記第1文字列と前記第2文字列とを組み合わせた第3文字列、及び、前記第3文字列のハッシュ値のいずれか1つである。
第11態様に係る情報処理システムは、第4態様に係る情報処理システムにおいて、前記記憶制御部は、前記第1認証情報及び前記第3認証情報から生成した文字列に対応する値として前記第1アクセス許可情報を記憶する。
第12態様に係る情報処理システムは、第11態様に係る情報処理システムにおいて、前記文字列は、前記第1認証情報に含まれる文字列と前記第3認証情報に含まれる文字列とを組み合わせた第4文字列、及び、前記第4文字列のハッシュ値のいずれか1つである。
第13態様に係る情報処理システムは、第1態様から第12態様までのいずれか1つの情報処理システムにおいて、前記表示制御部と前記記憶制御部とが、前記複数の情報処理装置の外部に配置される。
第14態様に係るプログラムは、コンピュータを、第1態様から第13態様までのいずれか1つの情報処理システムの各部として機能させるためのプログラムである。
第1態様、第2態様、第13態様、第14態様に係る発明によれば、共通の第1認証情報でアクセスできる複数の情報処理装置のうちの1つの情報処理装置からの特定のサービスに対するアクセスが許可された場合には、他の情報処理装置から同じサービスにアクセスする際に、特定のサービスにアクセスするための第2認証情報の入力を省略することができる。
第3態様に係る発明によれば、サービスに対するアクセスを許可するための第2アクセス許可情報が有効期限付きで保存できない場合でも、有効期限のない第1アクセス許可情報を用いて新しい有効期限付きの第2アクセス許可情報を取得することができる。
第4態様に係る発明によれば、記憶部に対するアクセスを制限しない場合に比べて、第1アクセス許可情報に対するアクセスをセキュアに行うことができる。
第5態様に係る発明によれば、記憶部にアクセスすることができる利用者を、特定の組織に所属する利用者に制限することができる。
第6態様に係る発明によれば、記憶部を配置する場所によって記憶部に対するアクセスを制限することができる。
第7態様、第8態様に係る発明によれば、サービスの機能毎に、機能のセキュリティレベルに応じて、記憶部に対するアクセスを制限することができる。
第9態様、第11態様に係る発明によれば、同じ第1アクセス許可情報が、複数の第1認証情報に対して重複して記憶されないようにすることができる。
第10態様、第12態様に係る発明によれば、認証情報を表す文字列にそのものに対応付けて第1アクセス許可情報を記憶する場合に比べて、第1アクセス許可情報に対するアクセスをセキュアに行うことができる。
本発明の実施の形態に係る情報処理システムの構成の一例を示す概略図である。 デバイスの電気的構成の一例を示すブロック図である。 要求受付部の電気的構成の一例を示すブロック図である。 第1実施の形態に係る情報処理システムの画面遷移図である。 第1実施の形態に係る情報処理システムの動作の一例を示すシーケンス図である。 第1実施の形態に係る情報処理システムの動作の一例を示すシーケンス図である。 第2実施の形態に係る情報処理システムの動作の一例を示すシーケンス図である。 第2実施の形態に係る情報処理システムの動作の一例を示すシーケンス図である。 第3実施の形態に係る情報処理システムの画面遷移図である。 第3実施の形態に係る情報処理システムの動作の一例を示すシーケンス図である。 機能毎にトークンの保存場所を記憶するテーブルの一例を示す図表である。 トークンの保存場所のセキュリティレベルの違いを説明する図である。 第3実施の形態に係る情報処理システムの動作の一例を示すシーケンス図である。
以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。
<第1実施の形態>
本実施の形態に係る情報処理システムは、利用者が使用する複数の情報処理装置を含む。利用者には、複数の情報処理装置間で共通の第1認証情報が付与されている。第1認証情報は、複数の情報処理装置が利用者を識別するために利用者に付与する識別情報でもある。複数の情報処理装置の各々は、第1認証情報が取得された場合に、各情報処理装置へのアクセスを可能にする。
また、利用者は、アクセスされた情報処理装置から特定のサービスを利用可能である。利用者には、特定のサービスに対して第2認証情報が付与されている。第2認証情報は、特定のサービスについて利用者を識別するために利用者に付与する識別情報でもある。情報処理システムは、第2認証情報が取得された場合に、特定のサービスへのアクセスを許可する。
本実施の形態では、利用者は、アプリを利用して特定のサービスにアクセスする。アプリは、Webアプリケーションの略称である。アプリは、ネットワークを介してWebブラウザ上で動作するアプリケーション・ソフトウェアである。アプリは、Webブラウザ側のプログラムと、Webシステム側のプログラムとが協調することによって動作する。利用者は、Webブラウザが搭載された情報処理装置に、Webブラウザ側のプログラムをインストールして、アプリを利用する。
(情報処理システムの構成)
情報処理システムの構成の一例について説明する。
図1は本発明の実施の形態に係る情報処理システムの構成の一例を示す概略図である。本実施の形態では、情報処理システム1は、利用者が使用する複数の情報処理装置として、デバイス10Aとデバイス10Bとを含む。デバイス10A及びデバイス10Bの各々は、Webブラウザ22を搭載している(図2参照)。デバイス10A及びデバイス10Bの各々には、同じアプリ24がインストールされている(図2参照)。アプリ24のサービスを提供するWebシステムは、クラウド上に配置されている。
本実施の形態では、情報処理システム1は、アプリ24のサービスを提供するWebシステムを含む。Webシステムは、アプリ24に対してAPI(Application Programming Interface)を提供する。Webシステムは、例えば、要求受付部30、トークン発行部40、サービス部50、及びトークン保存部60を含む。Webシステムの各部は、各部のサービスを提供するサーバである。
要求受付部30は、Webクライアントであるアプリ24からの要求を受け付け、Webシステムの各部に処理を依頼する。各部は、依頼された処理を実行し、処理の結果をアプリ24に返す。サービス部50は、アプリ24のサービスを提供する。トークン発行部40は、サービス部50へのアクセスに使用するトークンを発行する。トークン保存部60は、トークン発行部40で発行されたトークンを保存する。
デバイス10A及びデバイス10Bの各々は、Webシステムの各部と通信回線70を介して接続されている。デバイス10A及びデバイス10Bの各々区別する必要がない場合は、デバイス10と総称する。
本実施の形態では、情報処理システム1は、サービス部50へのアクセスを、トークン発行部40で発行されたトークンによりコントロールする。この点で、情報処理システム1による権限認可の仕組みは、RFC6749で定義されるOAuth2.0による権限認可の仕組みと類似する。
トークンは、サービスに対するアクセスを許可するためのアクセス許可情報の一例である。アクセス許可情報は、文字列で表される。本実施の形態では、アクセストークンとリフレッシュトークンという2種類のトークンを用いる例について説明する。以下では、アクセストークンを「Aトークン」と略称し、リフレッシュトークンを「Rトークン」と略称する。
アクセストークン及びリフレッシュトークンの各々は、OAuth2.0で定義されている。本実施の形態に則して説明すると、Aトークンは、サービス部50に直接アクセスするために使用されるトークンである。Rトークンは、トークン発行部40にAトークンを発行してもらうために使用されるトークンである。
Aトークンには、サービスへのアクセス権限(スコープ)が含まれる。例えば、デバイス上の複数のアプリについて、共通のアクセス権限を付与する。Aトークンには、例えば約15分等、短い有効期限が設定される。Rトークンには、有効期限が設定されていないか、または、Aトークンの有効期限に比べて長い有効期限が設定されている。
トークン発行部40で、Aトークンを発行する際に、Rトークンも発行する。Rトークンは、トークン保存部60に保存しておく。Aトークンの有効期限が切れた場合には、Rトークンを用いて新しいAトークンを取得する。
-デバイスの構成-
図2はデバイスの電気的構成の一例を示すブロック図である。
デバイス10は、装置全体の制御及び各種演算を行うコンピュータである情報処理部12を備えている。情報処理部12は、CPU12A、各種プログラムを記憶したROM12B、プログラムの実行時にワークエリアとして使用されるRAM12C、不揮発性のメモリ12D、及び入出力部12Eを備えている。CPU12A、ROM12B、RAM12C、メモリ12D、及び入出力部12Eの各々は、バス12Fを介して接続されている。
デバイス10は、マウス、キーボード等の入力部14、ディスプレイ等の出力部16、外部装置と通信を行うためのインターフェースである通信部18、及びハードディスク等の外部記憶装置である記憶部20を備えている。入力部14、出力部16、通信部18、及び記憶部20の各部は、入出力部12Eに接続されている。情報処理部12は、各部との間で情報の授受を行って、各部を制御する。
記憶部20には、Webブラウザ22、アプリ24、テナントアカウント情報26等が記憶されている。アプリ24は、Webブラウザ側のプログラムである。なお、各種プログラムや各種データは、装置内外の他の記憶装置に記憶されていてもよく、CD-ROM等の記録媒体に記録されていてもよい。また、各種プログラムや各種データは、通信を介して取得されてもよい。
-サーバの構成-
Webシステムに含まれる、要求受付部30、トークン発行部40、サービス部50、及びトークン保存部60の各々は、サービスを提供するサーバである。ここでは、要求受付部30の電気的構成について説明する。サーバの電気的構成はどれも同じであるため、トークン発行部40、サービス部50、及びトークン保存部60の各々については説明を省略する。
図3は要求受付部の電気的構成の一例を示すブロック図である。
要求受付部30は、装置全体の制御及び各種演算を行うコンピュータである情報処理部32を備えている。情報処理部32は、CPU32A、各種プログラムを記憶したROM32B、プログラムの実行時にワークエリアとして使用されるRAM32C、不揮発性のメモリ32D、及び入出力部32Eを備えている。CPU32A、ROM32B、RAM32C、メモリ32D、及び入出力部32Eの各々は、バス32Fを介して接続されている。
要求受付部30は、外部装置と通信を行うためのインターフェースである通信部34、及びハードディスク等の外部記憶装置である記憶部36を備えている。通信部34及び記憶部36の各部は、入出力部32Eに接続されている。情報処理部32は、各部との間で情報の授受を行って、各部を制御する。
(画面遷移)
次に、本実施の形態の概要を画面遷移図で説明する。
図4は第1実施の形態に係る情報処理システムの画面遷移図である。
-デバイスログイン-
まず、利用者はデバイスを利用可能にする。
利用者には、第1認証情報としてデバイスログイン情報が予め付与されている。デバイスログイン情報は、複数のデバイスの間で共通の情報である。デバイスログイン情報は、複数のデバイスの各々が利用者を識別するための情報である。デバイスは、利用者にデバイスログイン画面100を表示して、利用者からのデバイスログイン情報の入力を受け付ける。デバイスログイン情報は、デバイスログイン用のユーザIDとパスワードである。デバイスがカード認証部を備える場合には、利用者が所持するICカード等から、デバイスログイン情報を読み取るカード認証を行ってもよい。
図示した例では、デバイスログイン画面100は、入力部102、入力部104、指示部106を備える。入力部102は、デバイスログイン用のユーザIDを入力する領域である。入力部104は、デバイスログイン用のパスワードを入力する領域である。指示部106は、実行を指示するボタンである。デバイスは、ユーザID及びパスワードが入力されて、実行が指示されると、認証処理を開始する。
デバイスは、利用者から取得された情報が、予め定めたデバイスログイン情報と一致する場合には、利用者のデバイスに対するアクセスを許可する。デバイスログイン情報は、デバイスの記憶装置に記憶される。デバイスは、機能を選択するためのデバイスメニュー画面200を利用者に表示して、利用者からの機能の選択を受け付ける。
図示した例では、デバイスメニュー画面200は、選択部202、アプリ選択部204、指示部206を備える。選択部202は、デバイスの機能を選択するボタンである。アプリ選択部204は、アプリを選択するボタンである。指示部206は、実行を指示するボタンである。アプリが選択されて実行が指示されると、アプリが起動される。ここで、起動されるアプリを「アプリA」とする。
-サービスログイン-
次に、利用者はアプリAが提供するサービスを利用可能にする。
利用者には、アプリAに固有の第2認証情報としてアカウント情報が予め付与されている。アカウント情報は、アプリが利用者を識別するための識別情報である。アカウント情報は、利用者が事前に登録したものでもよい。情報処理システムは、利用者にサービスログイン画面300を表示して、利用者からのアカウント情報の入力を受け付ける。アカウント情報は、サービス用のユーザIDとパスワードである。
図示した例では、サービスログイン画面300は、入力部302、入力部304、指示部306を備える。入力部302は、サービス用のユーザIDを入力する領域である。入力部304は、サービス用のパスワードを入力する領域である。指示部306は、実行を指示するボタンである。情報処理システムは、ユーザID及びパスワードが入力されて、実行が指示されると、認証処理を開始する。
情報処理システムは、利用者から取得された情報が、予め定めたアカウント情報と一致する場合には、利用者のサービスに対するアクセスを許可する。情報処理システムは、サービスの機能を選択するためのサービスメニュー画面400を利用者に表示して、利用者からの機能の選択を受け付ける。
図示した例では、サービスメニュー画面400は、選択部402、指示部404を備える。選択部402は、サービスの機能を選択するボタンである。指示部404は、実行を指示するボタンである。サービスの機能が選択されて実行が指示されると、情報処理システムは、サービスの機能に対するアクセスを許可する。
本実施の形態では、情報処理システムは、アプリAが起動された際に、まずデバイスログイン情報を取得する。情報処理システムは、デバイスログイン情報に紐づくRトークンがあるか否かを確認する。後述する通り、サービスにアクセスする度に、クラウド上のトークン保存部60にRトークンが保存される。利用者が複数のデバイスで同じアプリAを利用する場合、いずれかのデバイスでアプリAにログインしていれば、デバイスログイン情報に紐づくRトークンが取得される。
Rトークンが取得できた場合は、情報処理システムは、サービスメニュー画面400を利用者に表示して、サービスに対するアクセスを許可する。Rトークンが取得できた場合は、サービスログイン画面300の表示、アカウント情報の入力等、アプリAが提供するサービスへのログインの手順が省略される。
(情報処理システムの動作)
次に、アプリ起動後の情報処理システムの動作について説明する。
アプリ24の動作は、Webブラウザ側のプログラムの処理手順を表し、要求受付部30、トークン発行部40、サービス部50、及びトークン保存部60の動作は、Webシステム側のプログラムの処理手順を表す(図1参照)。
トークン発行部40は、アカウント情報を記憶している。トークン保存部60は、後述する通り、デバイスログイン情報に紐付けてRトークンを記憶している。また、上記の通り、デバイスログイン情報は、デバイスの記憶装置に記憶されている。
WebブラウザとWebシステムとはHTTPプロトコルを使用して通信を行う。Webブラウザは、要求内容を記述したHTTPリクエストを、Webシステムに送信する。Webシステムは、要求を処理して、処理結果を記述したHTTPレスポンスを、Webブラウザに送信する。
HTTPリクエスト及びHTTPレスポンスの各々は、ヘッダとボディとを有している。ヘッダは、通信に使用するソフトウェアの種類、データ形式、言語等の情報を含む。ボディは、送信されるメッセージ等を含む。トークンや認証情報は、HTTPリクエストのヘッダ部に含まれる。
以下、Rトークンが取得できない場合と、Rトークンが取得できる場合とに分けて、アプリ起動後の情報処理システムの動作を説明する。
-Rトークンが取得できない場合-
図5は第1実施の形態に係る情報処理システムの動作の一例を示すシーケンス図である。アプリAをはじめて利用する場合等、トークン保存部60にRトークンが保存されていなければ、Rトークンは取得できない。
ステップ100で、アプリ24は、利用者からアプリ起動の指示を受けてアプリを起動する。次にステップ102で、アプリ24は、デバイスの記憶装置からデバイスログイン情報を取得する。次にステップ104で、アプリ24は、Rトークンの取得を要求するHTTPリクエストを、Webシステムに送信する。HTTPリクエストは、ヘッダにデバイスログイン情報を含む。
次にステップ106で、要求受付部30は、トークン取得要求を受け付け、トークン保存部60にトークン取得を依頼する。次にステップ108で、トークン保存部60は、Rトークン取得処理を実行する。トークン保存部60は、デバイスログイン情報に基づいてRトークンを抽出する。ここでは、Rトークンが取得できない場合について説明する。トークン保存部60は、Rトークンが抽出されない場合に、HTTPレスポンスを送信して、抽出に失敗したことをアプリ24に通知する。
トークン保存部60は、デバイスログイン情報またはデバイスログイン情報から生成した情報をキーワードとして、キーとバリューとを対応付けるキーバリュー方式でトークンを記憶している。キーバリュー方式では、キーとバリューとが1対1で対応付けられ、キーワードとトークンとの組合せに重複がない。トークン保存部60は、デバイスログイン情報からキーワードを生成し、生成したキーワードに対応するRトークンをキーバリュー方式で抽出する。
キーワードは、例えば、デバイスログイン用のユーザIDを表す第1文字列、デバイスログイン用のパスワードを表す第2文字列、第1文字列と第2文字列とを結合した第3文字列、ハッシュ関数を用いて各文字列から得られたハッシュ値などである。
次にステップ110で、アプリ24は、サービスへのアクセスを要求するHTTPリクエストを、Webシステムに送信する。次にステップ112で、要求受付部30は、サービスアクセス要求を受け付け、リダイレクトでトークン発行部40に処理を依頼する。即ち、サービス部50ではなく、まずトークン発行部40に処理を依頼する。
次にステップ114で、トークン発行部40は、サービスログイン画面(図4参照)を取得して、画面データを含むHTTPレスポンスをアプリ24に送信する。次にステップ116で、アプリ24は、サービスログイン画面を表示して、利用者からアカウント情報の入力を受け付ける。アカウント情報が入力されて、実行が指示されると、ステップ118に進む。
次にステップ118で、アプリ24は、利用者からの指示に応じて、サービスへのアクセスに必要なAトークンの発行を要求するHTTPリクエストを、Webシステムに送信する。HTTPリクエストは、ヘッダにアカウント情報を含む。
次にステップ120で、要求受付部30は、トークン発行要求を受け付け、トークン発行部40に処理を依頼する。次にステップ122で、トークン発行部40は、トークン発行処理を実行する。トークン発行部40は、アカウント情報による認証を行い、利用者から取得された情報が予め記憶されたアカウント情報と一致する場合には、Aトークンと新しいRトークンとを発行する。トークン発行部40は、処理結果を含むHTTPレスポンスをアプリ24に送信する。
Aトークンを発行できる場合、即ち、認証に成功した場合は、処理結果に、トークン発行部40により発行されたAトークン及びRトークンが含まれる。Aトークンを発行できない場合、即ち、認証に失敗した場合は、処理結果に、認証に失敗した旨を表示する画面の画面データが含まれる。
認証に失敗した場合は、次にステップ124に進む。ステップ124では、アプリ24は、認証に失敗した旨を表示する画面を処理結果として表示して、利用者にアカウント情報の再入力を促す。認証に成功した場合は、ステップ124を飛ばしてステップ126に進む。
次にステップ126で、アプリ24は、新しいRトークンの保存を要求するHTTPリクエストを、Webシステムに送信する。HTTPリクエストは、デバイスログイン情報と新しいRトークンとを含む。
次にステップ128で、要求受付部30は、Rトークン保存要求を受け付け、トークン保存部60に処理を依頼する。次にステップ130で、トークン保存部60は、新しいRトークンを、デバイスログイン情報に紐付けて記憶する。
次にステップ132で、アプリ24は、サービスへのアクセスを要求するHTTPリクエストを、Webシステムに送信する。HTTPリクエストは、ヘッダにAトークンを含む。次にステップ134で、要求受付部30は、サービスアクセス要求を受け付け、サービス部50に処理を依頼する。
次にステップ136で、サービス部50は、まず、受信したAトークンが正しいか否かを判定する。サービス部50は、例えば、HTTPリクエストのヘッダに含まれる他の文字列をキーとして受信したAトークンを復号して、予め定めた文字列が得られる場合には、受信したAトークンが正しいと判定する。
サービス部50は、受信したAトークンが正しいと判定した場合には、サービスへのアクセスを許可し、サービス用の画面を生成する処理を実行する。サービス部50は、サービスメニュー画面(図4参照)を取得して、画面データを含むHTTPレスポンスをアプリ24に送信する。
次にステップ138で、アプリ24は、サービスメニュー画面を表示して、利用者からのサービス機能の選択を受け付ける。
なお、サービス部50は、受信したAトークンが正しくない場合は、サービスへのアクセスに失敗した旨を表示する画面の画面データを取得して、画面データを含むHTTPレスポンスをアプリ24に送信する。アプリ24は、サービスへのアクセスに失敗した旨を表示する画面を処理結果として表示して、利用者にアクセスのやり直しを促す。
-Rトークンが取得できた場合-
図6は第1実施の形態に係る情報処理システムの動作の一例を示すシーケンス図である。同じデバイスまたは異なるデバイスからアプリAを使用したことがある場合は、トークン保存部60にRトークンが保存されおり、Rトークンを取得できる。
図6に示す動作は、ステップ110からステップ116までを含んでいない点以外は、図5に示す動作と同じであるため、相違点のみ説明する。
図5に示す動作では、ステップ108で、トークン保存部60はRトークンを抽出できなかったが、図6に示す動作では、ステップ108で、トークン保存部60はRトークンを抽出できる。トークン保存部60は、Rトークンを含むHTTPレスポンスをアプリ24に送信する。
図6に示すように、Rトークンを取得できた場合は、ステップ110からステップ116までの手順、即ち、サービスログイン画面を表示して、利用者からのアカウント情報の入力を受け付ける手順が省略される。
次にステップ118で、アプリ24は、利用者からの指示に応じて、サービスへのアクセスに必要なAトークンの発行を要求するHTTPリクエストを、Webシステムに送信する。HTTPリクエストは、ヘッダにRトークンを含む。
次にステップ120で、要求受付部30は、トークン発行要求を受け付け、トークン発行部40に処理を依頼する。次にステップ122で、トークン発行部40は、トークン発行処理を実行する。
トークン発行部40は、受信したRトークンが正しいか否かを判定する。トークン発行部40は、受信したRトークンが正しいと判定した場合には、Aトークン及び新しいRトークンを発行する。トークン発行部40は、処理結果を含むHTTPレスポンスをアプリ24に送信する。
本実施の形態では、トークン保存部60にRトークンを保存しておく例について説明したが、Aトークンの有効期間が長い場合は、トークン保存部60にAトークンを保存しておいてもよい。
この場合は、図5及び図6のステップ110からステップ116までの処理でAトークンが取得される。図5及び図6のステップ118からステップ124までの処理が省略される。ステップ116からステップ126に進む。図5及び図6のステップ126からステップ130までで、Aトークンが保存される。
<第2実施の形態>
第2実施の形態では、事前にアプリにテナントアカウント情報を登録しておく。テナントアカウントは、企業等の組織単位でアプリを利用する場合等に、組織に属する利用者に付与される組織用のアカウントである。テナントアカウント情報は、組織用のアカウントのID及びパスワードを含む。
利用者には、アプリをインストールしたときに、第3認証情報としてテナントアカウント情報が予め付与されている。テナントアカウント情報は、利用者が使用するデバイスの記憶装置に記憶されると共に、クラウド上のトークン発行部40の記憶装置にも記憶されている。
本実施の形態では、トークン保存部へのアクセスには、テナントアカウント用のトークン(以下、「テナント用トークン」という。)が必要である。アプリは、テナント用トークンを取得し、取得したテナント用トークンでトークン保存部にアクセスする。テナント用トークンを用いてアクセスすることで、トークン保存部へのアクセスがセキュアに行われる。
(情報処理システムの動作)
次に、情報処理システムの動作について説明する。
図7及び図8は第2実施の形態に係る情報処理システムの動作の一例を示すシーケンス図である。
-トークンの取得-
まず、トークンを取得する際に、テナント用トークンを使用する。図5及び図6のステップ104からステップ108までの手順が、図7に示すステップ200からステップ212までの手順に置き換わる。その外の手順は図5及び図6と同じであるため、図示及び説明を省略する。
ステップ100で、アプリ24は、利用者からアプリ起動の指示を受けてアプリを起動する。次にステップ102で、アプリ24は、デバイスの記憶装置に記憶されたデバイスログイン情報を読み出して、デバイスログイン情報を取得する。
次にステップ200で、アプリ24は、デバイスの記憶装置からテナントアカウント情報を取得する。次にステップ202で、アプリ24は、テナント用のAトークンの発行を要求するHTTPリクエストを、Webシステムに送信する。HTTPリクエストは、ヘッダにテナントアカウント情報を含む。
次にステップ204で、要求受付部30は、トークン発行要求を受け付け、トークン発行部40にトークン発行を依頼する。次にステップ206で、トークン発行部40は、トークン発行処理を実行する。トークン発行部40は、テナントアカウント情報による認証を行い、利用者から取得された情報が予め記憶されたテナントアカウント情報と一致する場合には、テナント用Aトークンを発行する。
トークン発行部40は、処理結果を含むHTTPレスポンスをアプリ24に送信する。HTTPレスポンスは、テナント用Aトークンを含む。
次にステップ208で、アプリ24は、Rトークンの取得を要求するHTTPリクエストを、Webシステムに送信する。HTTPリクエストは、ヘッダにテナント用Aトークンを含み、ボディにデバイスログイン情報を含む。
次にステップ210で、要求受付部30は、トークン取得要求を受け付け、トークン保存部60にトークン取得を依頼する。次にステップ212で、トークン保存部60は、Rトークン取得処理を実行する。まず、トークン保存部60は、受信したテナント用Aトークンが正しいか否かを判定する。
受信したテナント用Aトークンが正しいと判定した場合には、トークン保存部60は、デバイスログイン情報に基づいてRトークンを抽出する。Rトークンが抽出された場合は、トークン保存部60は、Rトークンを含むHTTPレスポンスをアプリ24に送信する。Rトークンが抽出されない場合は、トークン保存部60は、HTTPレスポンスを送信して、抽出に失敗したことをアプリ24に通知する。
-トークンの保存-
次に、トークンを保存する際に、テナント用トークンを使用する。
図5及び図6のステップ126からステップ130までの手順が、図8に示すステップ220からステップ224までの手順に置き換わる。その外の手順は図5及び図6と同じであるため、図示及び説明を省略する。
ステップ220では、アプリ24は、Rトークンの保存を要求するHTTPリクエストを、Webシステムに送信する。HTTPリクエストは、ヘッダにテナント用Aトークンを含み、ボディに、デバイスログイン情報、及びRトークンを含む。
次にステップ222で、要求受付部30は、Rトークン保存要求を受け付け、トークン保存部60に処理を依頼する。次にステップ224で、トークン保存部60は、受信したテナント用Aトークンが正しいか否かを判定する。トークン保存部60は、受信したテナント用Aトークンが正しいと判定した場合には、デバイスログイン情報に紐付けてRトークンを記憶する。
<第3実施の形態>
第3実施の形態では、サービスへのアクセスが許可された後も、サービスの機能毎に、各機能へのアクセスの許可が必要になる。また、サービスの機能のセキュリティレベルに応じて、トークンの保存場所を変更する。セキュリティレベルが高いほど、トークンの保存場所へのアクセスが制限される。第1実施の形態ではトークン保存部に保存していたが、第3実施の形態では、機能毎にトークンの保存場所を変更する。
図11は機能毎にトークンの保存場所を記憶するテーブルの一例を示す図表である。本実施の形態では、デバイスへのアクセスに用いたデバイスログイン情報に紐付けて、Rトークンを保存する。このテーブルは、クラウドの要求受付部30の記憶装置に記憶されている。サービスの管理者は、このテーブルを書き換えて、機能毎のセキュリティレベルを変更してもよい。
図11に示す例では、サービスへのログイン用のRトークンの保存場所は「クラウド」、機能A用のRトークンの保存場所は「デバイス」、機能B用のRトークンは「保存しない」とされている。トークンを保存しない場合は、トークンを盗まれる可能性も無く最もセキュアである。
図12はトークンの保存場所のセキュリティレベルの違いを説明する図である。利用者11が、デバイス10Aを使用してトークンを保存した後、別のデバイス10Bを使用してトークンを取得する場合について説明する。
保存場所が「クラウド」の場合、利用者11は、クラウドのトークン保存部60からトークンを取得する。保存場所が「クラウド」の場合、利用者11が使用するどのデバイスからでも保存場所にアクセスできる。保存場所が「デバイス」の場合、利用者11は、自装置のトークン保存部62Bに保存されたトークンは取得できるが、他装置のトークン保存部62Aに保存されたトークンは取得できない。このため、保存場所を「デバイス」とした方が、保存場所を「クラウド」とするよりもセキュアである。
(画面遷移)
次に、本実施の形態の概要を画面遷移図で説明する。
図9は第2実施の形態に係る情報処理システムの画面遷移図である。
-サービスログイン-
サービスメニュー画面400を表示するまでの手順は、第1実施の形態と同様である。
ログイン用のRトークンは、第1実施の形態と同様のRトークンである。本実施の形態では、情報処理システムは、アプリが起動されたときに、ログイン用のRトークンが取得できた場合は、サービスメニュー画面400を利用者に表示して、サービスに対するアクセスを許可する。この場合は、サービスログイン画面300(図4参照)の表示、アカウント情報の入力等、アプリAが提供するサービスへのログインの手順が省略される。
-機能ログイン-
次に、利用者はサービス機能を利用可能にする。
情報処理システムは、サービスメニュー画面400で機能Aが選択されて実行が指示されると、機能Aのサービスログイン画面500を表示する。利用者には、機能Aを利用するための第4認証情報が予め付与されている。ここでは、第4認証情報を、サービスログインのときと同じアカウント情報とする。情報処理システムは、利用者に機能Aのサービスログイン画面500を表示して、利用者からのアカウント情報の入力を受け付ける。
図示した例では、機能Aのサービスログイン画面500は、入力部502、入力部504、指示部506を備える。入力部502は、サービス用のユーザIDを入力する領域である。入力部504は、サービス用のパスワードを入力する領域である。指示部506は、実行を指示するボタンである。情報処理システムは、ユーザID及びパスワードが入力されて、実行が指示されると、認証処理を開始する。
情報処理システムは、利用者から取得された情報が、予め定めたアカウント情報と一致する場合には、利用者の機能Aに対するアクセスを許可する。情報処理システムは、機能Aの実行画面600を利用者に表示する。機能Aの実行画面600は、機能Aが実行中であることを示す画面等である。
本実施の形態では、サービスの機能Aが利用されたときに、機能Aにアクセスするための機能A用Rトークンが、クラウド上のトークン保存部60に保存される。利用者が複数のデバイスで同じアプリAを利用する場合、いずれかのデバイスでアプリAの機能Aを利用していれば、デバイスログイン情報に紐づく機能A用Rトークンが取得される。
Rトークンが取得できた場合は、情報処理システムは、サービスメニュー画面400を利用者に表示して、サービスに対するアクセスを許可する。Rトークンが取得できた場合は、サービスログイン画面300の表示、アカウント情報の入力等、アプリAが提供するサービスへのログインの手順が省略される。利用者が複数のデバイスで同じアプリAを利用する場合、いずれかのデバイスでアプリAの機能Aを利用していれば、デバイスログイン情報に紐づくRトークンが取得される。
Rトークンが取得できた場合は、情報処理システムは、サービスメニュー画面400を利用者に表示して、サービスに対するアクセスを許可する。Rトークンが取得できた場合は、サービスログイン画面300の表示、アカウント情報の入力等、アプリAが提供するサービスへのログインの手順が省略される。
本実施の形態では、情報処理システムは、サービスメニュー画面400で機能Aが選択された際に、機能A用Rトークンが取得できた場合は、機能Aの実行画面600を利用者に表示して、利用者のサービスに対するアクセスを許可する。この場合は、情報処理システムは、機能Aのサービスログイン画面500の表示、アカウント情報の入力等、機能Aへのログインの手順が省略される。
(情報処理システムの動作)
次に、情報処理システムの動作について説明する。
-機能選択前の動作-
サービスメニュー画面400(図9参照)で機能Aを選択する前の動作について説明する。図10は第3実施の形態に係る情報処理システムの動作の一例を示すシーケンス図である。図5及び図6のステップ106の手順が、図10に示すステップ300からステップ304までの手順に置き換わる。その以外の手順は図5及び図6と同じであるため、図示及び説明を省略する。
ステップ100で、アプリ24は、利用者からアプリ起動の指示を受けてアプリを起動する。次にステップ102で、アプリ24は、デバイスの記憶装置からデバイスログイン情報を取得する。次にステップ104で、アプリ24は、ログイン用Rトークンの取得を要求するHTTPリクエストを、Webシステムに送信する。HTTPリクエストは、ヘッダにデバイスログイン情報を含む。
次にステップ300で、要求受付部30は、トークン取得要求を受け付ける。次にステップ302で、要求受付部30は、図11に示すテーブルを参照して、ログイン用トークンの保存場所を確認する。ログイン用トークンの保存場所は、トークン保存部60である。次にステップ304で、要求受付部30は、トークン保存部60にトークン取得を依頼する。
次にステップ108で、トークン保存部60は、Rトークン取得処理を実行する。トークン保存部60は、デバイスログイン情報に基づいてRトークンを抽出する。トークン保存部60は、抽出結果を含むHTTPレスポンスをアプリ24に送信する。
-機能選択後の動作-
サービスメニュー画面400(図9参照)で機能Aを選択した後の動作について説明する。図13は第3実施の形態に係る情報処理システムの動作の一例を示すシーケンス図である。ここでは、先ず、機能A用Rトークンが取得できない場合の動作について説明する。
-Rトークンが取得できない場合-
ステップ400で、アプリ24は、利用者による機能Aの選択を受け付ける。次にステップ402で、アプリ24は、機能A用Rトークンの取得を要求するHTTPリクエストを、Webシステムに送信する。HTTPリクエストは、ヘッダにデバイスログイン情報を含む。なお、デバイスログイン情報は、ログインの際に既に取得されている。
次にステップ404で、要求受付部30は、トークン取得要求を受け付ける。次にステップ406で、要求受付部30は、図11に示すテーブルを参照して、機能A用トークンの保存場所を確認する。機能A用Aトークンの保存場所は、自装置であるデバイスのトークン保存部62とする。次にステップ408で、要求受付部30は、アプリ24にトークン取得を依頼する。要求受付部30は、機能A用トークンの保存場所を示す情報を含むHTTPレスポンスをアプリ24に送信する。
次にステップ410で、アプリ24は、機能A用Rトークン取得処理を実行する。アプリ24は、デバイス内のトークン保存部62にアクセスし、デバイスログイン情報に基づいて機能A用Rトークンを抽出する。アプリ24は、機能A用Rトークンが取得できない場合には、ステップ412に進む。
次にステップ412で、アプリ24は、機能Aへのアクセスを要求するHTTPリクエストを、Webシステムに送信する。次にステップ414で、要求受付部30は、機能アクセス要求を受け付け、リダイレクトでトークン発行部40に処理を依頼する。即ち、サービス部50ではなく、まずトークン発行部40に処理を依頼する。
次にステップ416で、トークン発行部40は、機能Aのサービスログイン画面(図9参照)を取得して、画面データを含むHTTPレスポンスをアプリ24に送信する。次にステップ418で、アプリ24は、機能Aのサービスログイン画面を表示して、利用者からアカウント情報の入力を受け付ける。アカウント情報が入力されて、実行が指示されると、ステップ420に進む。
次にステップ420で、アプリ24は、利用者からの指示に応じて、機能Aへのアクセスに必要な、機能A用Aトークンの発行を要求するHTTPリクエストを、Webシステムに送信する。HTTPリクエストは、ヘッダにアカウント情報を含む。
次にステップ422で、要求受付部30は、トークン発行要求を受け付け、トークン発行部40に処理を依頼する。次にステップ424で、トークン発行部40は、機能A用Aトークンのトークン発行処理を実行する。
トークン発行部40は、アカウント情報による認証を行い、利用者から取得された情報が予め記憶されたアカウント情報と一致する場合には、機能A用Aトークンと新しい機能A用Rトークンとを発行する。トークン発行部40は、処理結果を含むHTTPレスポンスをアプリ24に送信する。なお、トークン発行部40で発行された機能A用Aトークンは、サービス部50の記憶装置に記憶される。
認証に失敗した場合は、次にステップ426に進む。ステップ426では、アプリ24は、認証に失敗した旨を表示する画面を処理結果として表示して、利用者にアカウント情報の再入力を促す。認証に成功した場合は、ステップ426を飛ばしてステップ428に進む。
次にステップ428で、アプリ24は、新しい機能A用Rトークンを、デバイス内のトークン保存部62に、デバイスログイン情報と紐付けて保存する。
次にステップ430で、アプリ24は、機能Aへのアクセスを要求するHTTPリクエストを、Webシステムに送信する。HTTPリクエストは、ヘッダに機能A用Aトークンを含む。次にステップ432で、要求受付部30は、機能アクセス要求を受け付け、サービス部50に処理を依頼する。
次にステップ434で、サービス部50は、まず、受信した機能A用Aトークンが正しいか否かを判定する。サービス部50は、受信した機能A用Aトークンが正しいと判定した場合には、機能Aへのアクセスを許可し、機能Aの実行画面を生成する処理を実行する。サービス部50は、機能Aの実行画面(図9参照)を取得して、画面データを含むHTTPレスポンスをアプリ24に送信する。次にステップ436で、アプリ24は、機能Aの実行画面(図9参照)を表示する。
なお、サービス部50は、受信した機能A用Aトークンが正しくない場合は、機能Aへのアクセスに失敗した旨を表示する画面の画面データを取得して、画面データを含むHTTPレスポンスをアプリ24に送信する。アプリ24は、機能Aへのアクセスに失敗した旨を表示する画面を処理結果として表示して、利用者にアクセスのやり直しを促す。
-Rトークンが取得できた場合-
図13のステップ410で、機能A用Rトークンが取得できた場合は、図13に示すステップ412からステップ418までの手順(即ち、機能ログイン画面を表示して、利用者からのアカウント情報の入力を受け付ける手順)が省略される。トークン発行要求のHTTPリクエストのヘッダ部には、アカウント情報ではなく、機能A用Rトークンが含まれる。
次にステップ420で、アプリ24は、利用者からの指示に応じて、機能Aへのアクセスに必要な、機能A用Aトークンの発行を要求するHTTPリクエストを、Webシステムに送信する。HTTPリクエストは、ヘッダに機能A用Rトークンを含む。
次にステップ422で、要求受付部30は、トークン発行要求を受け付け、トークン発行部40に処理を依頼する。次にステップ424で、トークン発行部40は、トークン発行処理を実行する。
トークン発行部40は、受信した機能A用Rトークンが正しいか否かを判定する。トークン発行部40は、受信した機能A用Rトークンが正しいと判定した場合には、機能A用Aトークン及び新しい機能A用Rトークンを発行する。トークン発行部40は、処理結果を含むHTTPレスポンスをアプリ24に送信する。
本実施の形態では、デバイスのトークン保存部62に機能A用Rトークンを保存しておく例について説明したが、第1実施の形態と同様に、Aトークンの有効期間が長い場合は、トークン保存部62に機能A用Aトークンを保存しておいてもよい。機能A用Aトークンを保存しておく場合には、図13に示す手順のうち、機能A用Rークンを用いて機能A用Aトークンを取得するための一部の手順が省略または変更される。
<変形例>
なお、上記実施の形態で説明した情報処理装置、プログラム、及び情報処理システムの構成は一例であり、本発明の主旨を逸脱しない範囲内においてその構成を変更してもよいことは言うまでもない。
上記実施の形態では、アプリケーションの処理をソフトウェアで実現する場合について説明したが、同等の処理をハードウェアで実現してもよい。
上記の第3実施の形態では、機能毎にトークンの保存場所を記憶するテーブルが、クラウドの要求受付部の記憶装置に記憶されている例について説明したが、上記テーブルをデバイスの記憶装置に記憶しておいてもよい。この場合は、デバイスの管理者(例えば、利用者等)は、このテーブルを書き換えて、機能毎のセキュリティレベルを変更できる。
上記の実施の形態では、クラウドのトークン保存部またはデバイスのトークン保存部にトークンを保存する例について説明したが、トークンの保存場所はこれ等に限定されない。トークンの保存場所は、複数のデバイスからアクセス可能なサーバの記憶装置であればよい。例えば、デバイスとイントラネットで接続されたサーバの記憶装置を、トークンの保存場所としてもよい。
上記の実施の形態では、デバイスを、Webブラウザが搭載された画像形成装置としてもよい。アプリが提供するサービスの機能としては、クラウド上の記憶装置に記憶された文書を印刷する機能、画像形成装置のスキャナで読み取られた文書をクラウド上の記憶装置に格納する機能などがある。
1 情報処理システム
10 デバイス
10A デバイス
10B デバイス
11 利用者
12 情報処理部
14 入力部
16 出力部
18 通信部
20 記憶部
22 Webブラウザ
24 アプリ
26 テナントアカウント情報
30 要求受付部
32 情報処理部
34 通信部
36 記憶部
40 トークン発行部
50 サービス部
60 トークン保存部
62 トークン保存部
70 通信回線
100 デバイスログイン画面
200 デバイスメニュー画面
300 サービスログイン画面
400 サービスメニュー画面
500 サービスログイン画面
600 実行画面

Claims (14)

  1. 複数の情報処理装置を含み、利用者毎に付与された前記複数の情報処理装置間で共通の第1認証情報により各情報処理装置に対するアクセスが可能であり、且つ、アクセスされた情報処理装置から、特定のサービスに対して利用者毎に付与された第2認証情報により、前記サービスへのアクセスを許可する情報処理システムであって、
    情報処理装置へのアクセスに用いた第1認証情報に対応し且つ前記サービスに対するアクセスを許可するための第1アクセス許可情報が記憶部に記憶されていない場合は、前記サービスにアクセスするための第2認証情報を入力する入力画面を表示する制御を行う表示制御部と、
    前記第1アクセス許可情報が記憶部に記憶されている場合、及び、前記入力画面から入力された認証情報が予め定めた第2認証情報と一致する場合は、前記サービスに対するアクセスを許可すると共に、前記サービスに対する新たな第1アクセス許可情報を前記情報処理装置へのアクセスに用いた前記第1認証情報に対応付けて前記記憶部に記憶させる制御を行う記憶制御部と、
    を備える情報処理システム。
  2. 前記記憶制御部は、
    取得された前記第1アクセス許可情報が正しい場合に、前記サービスに対するアクセスを許可する、
    請求項1に記載の情報処理システム。
  3. 前記記憶制御部は、
    取得された前記第1アクセス許可情報から得られた有効期限付きの第2アクセス許可情報が正しい場合に、前記サービスに対するアクセスを許可する、
    請求項1に記載の情報処理システム。
  4. 前記情報処理システムは、
    特定のサービスに対して特定の組織に所属する利用者に付与された第3認証情報により、前記記憶部に対するアクセスを許可する、
    請求項1から請求項3までのいずれか1項に記載の情報処理システム。
  5. 前記情報処理システムは、
    前記第3認証情報から得られた有効期限付きの第3アクセス許可情報が正しい場合に、前記記憶部に対するアクセスを許可する、
    請求項4に記載の情報処理システム。
  6. 前記情報処理システムは、
    前記複数の情報処理装置の外部に配置された第1記憶装置、及び前記複数の情報処理装置の各々に配置された第2記憶装置を含む複数の記憶装置を、前記記憶部として備える、
    請求項1から請求項5までのいずれか1項に記載の情報処理システム。
  7. 前記記憶制御部は、
    前記特定のサービスが複数の機能を有する場合は、機能毎に異なる前記第1アクセス許可情報を記憶する、
    請求項6に記載の情報処理システム。
  8. 前記記憶制御部は、
    前記特定のサービスが複数の機能を有する場合は、機能毎に前記第1アクセス許可情報を記憶する記憶装置を変更する、
    請求項6または請求項7に記載の情報処理システム。
  9. 前記記憶制御部は、
    前記第1認証情報から生成した文字列に対応する値として前記第1アクセス許可情報を記憶する、
    請求項1から請求項8までのいずれか1項に記載の情報処理システム。
  10. 前記文字列は、
    前記第1認証情報に含まれる第1文字列、前記第1文字列のハッシュ値、前記第1認証情報に含まれる前記第1文字列とは異なる第2文字列、前記第2文字列のハッシュ値、前記第1文字列と前記第2文字列とを組み合わせた第3文字列、及び、前記第3文字列のハッシュ値のいずれか1つである、
    請求項9に記載の情報処理システム。
  11. 前記記憶制御部は、
    前記第1認証情報及び前記第3認証情報から生成した文字列に対応する値として前記第1アクセス許可情報を記憶する、
    請求項4に記載の情報処理システム。
  12. 前記文字列は、
    前記第1認証情報に含まれる文字列と前記第3認証情報に含まれる文字列とを組み合わせた第4文字列、及び、前記第4文字列のハッシュ値のいずれか1つである、
    請求項11に記載の情報処理システム。
  13. 前記表示制御部と前記記憶制御部とが、前記複数の情報処理装置の外部に配置される、
    請求項1から請求項12までのいずれか1項に記載の情報処理システム。
  14. コンピュータを、請求項1から請求項13までのいずれか1項に記載の情報処理システムの各部として機能させるためのプログラム。
JP2019050169A 2019-03-18 2019-03-18 情報処理システム及びプログラム Active JP7200776B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019050169A JP7200776B2 (ja) 2019-03-18 2019-03-18 情報処理システム及びプログラム
US16/553,141 US11188240B2 (en) 2019-03-18 2019-08-27 Information processing system and non-transitory computer readable medium for access permission control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019050169A JP7200776B2 (ja) 2019-03-18 2019-03-18 情報処理システム及びプログラム

Publications (2)

Publication Number Publication Date
JP2020154447A JP2020154447A (ja) 2020-09-24
JP7200776B2 true JP7200776B2 (ja) 2023-01-10

Family

ID=72515304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019050169A Active JP7200776B2 (ja) 2019-03-18 2019-03-18 情報処理システム及びプログラム

Country Status (2)

Country Link
US (1) US11188240B2 (ja)
JP (1) JP7200776B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9692767B2 (en) 2014-06-05 2017-06-27 Theplatform, Llc Systems and methods for expedited entitlement checks

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179390A (ja) 2005-12-28 2007-07-12 Hitachi Medical Corp システムにアクセスする方法及びネットワークシステム
JP2010113462A (ja) 2008-11-05 2010-05-20 Yahoo Japan Corp 情報管理装置、情報処理システム、情報管理方法及び情報管理プログラム
WO2013145517A1 (ja) 2012-03-28 2013-10-03 ソニー株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP2014092823A (ja) 2012-10-31 2014-05-19 Ricoh Co Ltd システム及びサービス提供装置
US20150180859A1 (en) 2013-12-20 2015-06-25 DeNA Co., Ltd. Login requesting device and method for requesting login to server and storage medium storing a program used therefor

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7623518B2 (en) * 2004-04-08 2009-11-24 Hewlett-Packard Development Company, L.P. Dynamic access control lists
US20070156693A1 (en) * 2005-11-04 2007-07-05 Microsoft Corporation Operating system roles
JP4279856B2 (ja) * 2006-07-18 2009-06-17 レノボ・シンガポール・プライベート・リミテッド 情報の転送方法、およびコンピュータ
US8479010B2 (en) * 2008-03-07 2013-07-02 Symantec Corporation Detecting, capturing and processing valid login credentials
JP2010134602A (ja) 2008-12-03 2010-06-17 Nec System Technologies Ltd セッション管理装置、セッション管理方法及びプログラム
JP5568525B2 (ja) 2011-07-27 2014-08-06 京セラドキュメントソリューションズ株式会社 画像形成装置用ログイン管理サーバーおよびそれを備えたネットワークシステム
US9009806B2 (en) * 2013-04-12 2015-04-14 Globoforce Limited System and method for mobile single sign-on integration
US9288365B2 (en) * 2013-12-06 2016-03-15 Canon Information And Imaging Solutions, Inc. System and method for controlling access to a server on an image processing device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179390A (ja) 2005-12-28 2007-07-12 Hitachi Medical Corp システムにアクセスする方法及びネットワークシステム
JP2010113462A (ja) 2008-11-05 2010-05-20 Yahoo Japan Corp 情報管理装置、情報処理システム、情報管理方法及び情報管理プログラム
WO2013145517A1 (ja) 2012-03-28 2013-10-03 ソニー株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP2014092823A (ja) 2012-10-31 2014-05-19 Ricoh Co Ltd システム及びサービス提供装置
US20150180859A1 (en) 2013-12-20 2015-06-25 DeNA Co., Ltd. Login requesting device and method for requesting login to server and storage medium storing a program used therefor

Also Published As

Publication number Publication date
US20200301591A1 (en) 2020-09-24
JP2020154447A (ja) 2020-09-24
US11188240B2 (en) 2021-11-30

Similar Documents

Publication Publication Date Title
US11843592B2 (en) Resetting managed security credentials
CN109309683B (zh) 基于token的客户端身份验证的方法及系统
US9660982B2 (en) Reset and recovery of managed security credentials
US11082225B2 (en) Information processing system and control method therefor
JP6929181B2 (ja) デバイスと、その制御方法とプログラム
JP6397456B2 (ja) 多数のネットワークサイトのためのアカウント管理
US8819795B2 (en) Presenting managed security credentials to network sites
US8776194B2 (en) Authentication management services
US8745705B2 (en) Account management for multiple network sites
US9185102B2 (en) Server system and control method
US20090210938A1 (en) Utilizing Previous Password to Determine Authenticity to Enable Speedier User Access
JP7196241B2 (ja) 情報処理装置、制御方法、およびプログラム
US20150271170A1 (en) Information processing apparatus, information processing system, information processing method, and recording medium
KR20180096457A (ko) 인증 관리 방법 및 시스템
JP2008242926A (ja) 認証システム、認証方法および認証プログラム
JP2006215795A (ja) サーバ装置、制御方法およびプログラム
JP7200776B2 (ja) 情報処理システム及びプログラム
US12081673B2 (en) User authentication system, user authentication server, and user authentication method
JP2010217595A (ja) 情報処理装置、情報処理方法およびプログラム
JP2014232490A (ja) 情報処理システム及び情報処理方法
JP2005148952A (ja) 情報処理装置及びその制御方法、プログラム
KR20060040155A (ko) 지문인증기반의 데이터 보안 시스템 및 방법
JP2017167947A (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP2016152042A (ja) 情報処理装置、それにおける認証処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220228

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221205

R150 Certificate of patent or registration of utility model

Ref document number: 7200776

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150