JP6571018B2 - 情報処理装置、認証処理方法及びプログラム - Google Patents

情報処理装置、認証処理方法及びプログラム Download PDF

Info

Publication number
JP6571018B2
JP6571018B2 JP2016013852A JP2016013852A JP6571018B2 JP 6571018 B2 JP6571018 B2 JP 6571018B2 JP 2016013852 A JP2016013852 A JP 2016013852A JP 2016013852 A JP2016013852 A JP 2016013852A JP 6571018 B2 JP6571018 B2 JP 6571018B2
Authority
JP
Japan
Prior art keywords
information
authentication
terminal
unit
user
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
JP2016013852A
Other languages
English (en)
Other versions
JP2017134616A (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.)
NTT TechnoCross Corp
Original Assignee
NTT TechnoCross 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 NTT TechnoCross Corp filed Critical NTT TechnoCross Corp
Priority to JP2016013852A priority Critical patent/JP6571018B2/ja
Publication of JP2017134616A publication Critical patent/JP2017134616A/ja
Application granted granted Critical
Publication of JP6571018B2 publication Critical patent/JP6571018B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置、認証処理方法及びプログラムに関する。
Webブラウザ及びWebサーバを用いて実現されるWebサービスにおいて、ユーザID及びパスワードを用いて正規のユーザからのアクセスであるか否かを確認する認証技術が知られている。
また、ユーザに繰り返しユーザID及びパスワードを入力させる手間を省くため、一旦認証が成功した場合に、ユーザ端末のWebブラウザに秘匿情報(ユーザID、パスワードを容易に読み取ることができないように加工した情報)をクッキーとして格納しておき、2度目以降のログイン時にWebブラウザからWebサーバに秘匿情報を送信することで、ユーザに再度ユーザID及びパスワードを入力させることなく認証を許可することが可能な技術が知られている。
なお、Webサービスにおけるユーザ認証に関する従来技術として例えば特許文献1に開示された技術がある。
特開2012−008727号公報
しかしながら、ユーザ端末のWebブラウザに秘匿情報を格納した場合、ユーザ端末のWebブラウザから秘匿情報が不正に取得されてしまう可能性がある。万が一秘匿情報が解読されてしまうとユーザID及びパスワードが漏洩してしまい、不正アクセス等のセキュリティリスクが生じることになる。また、このような問題は、Webサービスに限らず、クライアント端末とサーバ間でユーザの認証を行うサービス全般に発生し得る。
本発明は上記に鑑みてなされたものであって、セキュリティを担保しつつ、ユーザ認証の手間を省き利便性を向上させる技術を提供することを目的とする。
本発明の実施の形態に係る情報処理装置は、端末と通信し、端末を利用するユーザに対して認証を行うことでサービスを提供する情報処理装置であって、前記端末から受信した、前記ユーザを認証するために用いられる認証情報に基づいて認証を行う認証手段と、前記認証手段により認証が許可された場合に、前記端末から受信した認証情報を暗号化することで秘匿情報を生成し、生成した秘匿情報を第一の情報と第二の情報とに分割する分割処理手段と、前記第一の情報を記憶する記憶手段と、前記第二の情報を前記端末に送信する送信手段と、を有する。
本発明の実施の形態によれば、セキュリティを担保しつつ、ユーザ認証の手間を省き
利便性を向上させる技術が提供される。
第一の実施の形態に係る通信システムの構成例を示す図である。 第一の実施の形態に係るサービス提供装置の機能構成の一例を示す図である。 認証情報DB及び秘匿情報DBの一例を示す図である。 第一の実施の形態に係る通信システムの動作例(初回ログイン時)を示すシーケンス図である。 第一の実施の形態に係る通信システムの動作例(二回目以降のログイン時)を示すシーケンス図である。 ユーザID/PWDの暗号化及び分割処理の一例を示すフローチャートである。 Cookie生成及び秘匿情報DB登録処理の一例を示すフローチャートである。 ユーザID/PWD復号処理の一例を示すフローチャートである。 第二の実施の形態に係る通信システムの構成例を示す図である。 第二の実施の形態に係るサービス提供装置及び代理ログイン装置の機能構成の一例を示す図である。 第二の実施の形態に係る通信システムの動作例(初回ログイン時)を示すシーケンス図である。 第二の実施の形態に係る通信システムの動作例(二回目以降のログイン時)を示すシーケンス図である。
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。以下の実施の形態は、Webサービスにおいてユーザの認証を行う通信システムを前提としているが、本発明の実施の形態は、Webサービスに関わらず、クライアント端末とサーバ間でユーザの認証を行う通信システム全般に適用することが可能である。
[第一の実施の形態]
<システム構成>
図1は、第一の実施の形態に係る通信システムの構成例を示す図である。本通信システムは、端末10と、サービス提供装置20とを有する。図1の例では、端末10は1台のみ図示されているが、便宜上であり、複数であってもよい。
端末10は、ユーザがサービス提供装置20にアクセスするために用いるクライアント端末である。端末10はWebブラウザを備えており、ユーザは、Webブラウザを用いてサービス提供装置20にアクセスすることで、所望のサービスを利用することができる。端末10は、例えば、PC(Personal Computer)、スマートフォン、タブレット端末、携帯電話、テレビ、又はゲーム機などであるが、Webブラウザを備えていればどのような機器であってもよい。
サービス提供装置20は、端末10からのアクセスを受けて各種のサービスを提供する装置である。より具体的には、サービス提供装置20は、Webサーバ機能を備えており、端末10が備えるWebブラウザからのアクセスを受けて各種のサービスを提供する。また、サービス提供装置20は、端末10から送信された認証情報に基づいてユーザの認証を行い、認証が許可された場合に各種のサービスを提供する。
<概要>
第一の実施の形態では、サービス提供装置20は、一旦認証が許可されたユーザに対して、当該ユーザの認証情報に対して暗号化処理を行うことで秘匿情報を生成し、生成した秘匿情報を2つに分割する処理を行う。更に、サービス提供装置20は、分割した秘匿情報の一方(以下、「第一の分割秘匿情報」と呼ぶ)を自身で記憶しておくと共に、分割した秘匿情報の他方(以下、「第二の分割秘匿情報」と呼ぶ)を端末10に送信する。
端末10は、二回目以降にサービス提供装置20にアクセスする際、ユーザの認証情報に代えて、第二の分割秘匿情報をサービス提供装置20に送信する。端末10から第二の分割秘匿情報を受信したサービス提供装置20は、自身で記憶している第一の分割秘匿情報と端末10から受信した第二の分割秘匿情報とを結合することで秘匿情報を生成し、生成した秘匿情報を復号化することで認証情報を生成する(つまり、ユーザの認証情報から第一の分割秘匿情報及び第二の分割秘匿情報を生成する処理とは逆の処理を行う)。続いて、サービス提供装置20は、生成した認証情報に基づいてユーザの認証を行う。
<機能構成>
図2は、第一の実施の形態に係るサービス提供装置の機能構成の一例を示す図である。図2に示すように、サービス提供装置20は、通信部101と、サービス提供部102と、認証部103と、秘匿情報処理部104と、記憶部105とを有する。また、秘匿情報処理部104は、暗号化部1041と、分割部1042と、結合部1043と、復号化部1044と、とクッキー処理部1045とを有する。これら各部は、サービス提供装置20にインストールされた1以上のプログラムが、サービス提供装置20のCPUに実行させる処理により実現され得る。通信部101と、サービス提供部102と、認証部103と、秘匿情報処理部104と、記憶部105とは、異なるコンピューターを用いて実現されていてもよいし、更に細かい単位でコンピューターが分散されていてもよい。すなわち、サービス提供装置20は、1又は複数のコンピューターを用いて実現されていてもよい。また、当該1又は複数のコンピューターは、仮想化技術を利用した仮想サーバであってもよいし、クラウド上に実装された仮想サーバであってもよい。
通信部101は、有線又は無線を介してネットワークと接続され、端末10と通信する機能を有する。サービス提供部102は、端末10からのアクセスを受けて各種のサービスを提供する機能を有する。なお、サービス提供部102はWebサーバ機能を含む。認証部103は、端末10から受信したユーザの認証情報と、記憶部105に格納されている認証情報DBとを比較することで、ユーザの認証を行う機能を有する。
秘匿情報処理部104は、ユーザの認証情報から秘匿情報を生成して分割する際の各種の処理、分割された秘匿情報を認証情報に戻す際の各種の処理を行う機能、及び、Cookieの生成/取得等に関する各種の処理を有する。暗号化部1041は、ユーザの認証情報に対して所定の暗号化アルゴリズムを適用することで秘匿情報を生成する。分割部1042は、暗号化部1041で生成された秘匿情報を第一の分割秘匿情報と第二の分割秘匿情報に分割する。結合部1043は、第一の分割秘匿情報と第二の分割秘匿情報とを結合することで秘匿情報を生成する(秘匿情報に戻す)。復号化部1044は、秘匿情報に対して所定の復号化アルゴリズムを適用することでユーザの認証情報を生成する(認証情報に戻す)。クッキー処理部1045は、利用者のWebブラウザに記憶させるCookieの生成、端末10からのCookieの取得等に関する処理を行う。
記憶部105は、認証情報DBと秘匿情報DBとを記憶する機能を有する。記憶部105は、サービス提供装置20が備える記憶装置(メモリ、HDD等)、サービス提供装置20にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
図3(a)は、認証情報DBの一例を示している。認証情報DBには、サービス提供装置20を利用するユーザの認証情報(ユーザID及びPWD(パスワード:Password))が、ユーザごとに格納される。
図3(b)は、秘匿情報DBの一例を示している。認証情報DBには、端末10のWebブラウザにCookieが記憶される単位で、「CookieID」、「ユーザID」、「第一の分割秘匿情報」、「生成日時」及び「更新日時」を含むレコードが格納される。例えば、同一ユーザが異なる端末10を用いてアクセスした場合、端末ごとにWebブラウザは異なるため、端末10ごとに異なるレコードが格納されることになる。「CookieID」は、端末10のWebブラウザに記憶させたCookieを一意に識別するためのIDである。「生成日時」は、レコードが生成された日時を示し、「更新日時」は、当該レコードに含まれるいずれかの項目が更新された日時を示している。
<通信システムの動作例>
(初回ログイン時のシーケンス)
図4は、第一の実施の形態に係る通信システムの動作例(初回ログイン時)を示すシーケンス図である。図4に示すシーケンスは、ユーザが端末10を用いて最初にサービス提供装置20にログインする際に行われる処理手順を示している。
ステップS101で、端末10のWebブラウザは、ユーザの指示(操作)に従い、サービス提供装置20のログイン画面にアクセスする。
ステップS102で、サービス提供装置20のサービス提供部102は、ログイン画面を端末10に送信する。
ステップS103で、端末10のWebブラウザは、ユーザにより入力されたユーザID及びPWDをサービス提供装置20に送信する。
ステップS104で、サービス提供装置20の認証部103は、ステップS103の処理手順で受信したユーザID及びPWDが認証情報DBに格納されているか否かを確認することで認証を行う。認証に成功した場合、ステップS104の処理手順に進む。認証に失敗した場合、認証部103は、認証失敗を示す情報を端末10に送信して処理を終了する。
ステップS105で、秘匿情報処理部104は、ステップS103の処理手順で受信したユーザID及びPWDを暗号化することで秘匿情報を生成し、生成した秘匿情報を分割することで第一の分割秘匿情報及び第二の分割秘匿情報を生成する。具体的な処理手順については後述する。
ステップS106で、秘匿情報処理部104は、端末10のWebブラウザに格納させるCookieを生成する。当該Cookieには第二の分割秘匿情報が含まれる。また、秘匿情報処理部104は、CoolieID、ユーザID及び第一の分割秘匿情報を秘匿情報DBに格納する。具体的な処理手順については後述する。
ステップS107で、認証部103は、通信部101を介して、認証に成功した旨を示す情報、ログイン後画面、及びステップS106の処理手順で生成されたCookieを端末10に送信する。
ステップS108で、端末10のWebブラウザは、ステップS107の処理手順で受信したCookieを記憶する。
ステップS109で、端末10のWebブラウザと、サービス提供装置20のサービス提供部102との間でサービスの利用が開始される。
(二回目以降のログイン時のシーケンス)
図5は、第一の実施の形態に係る通信システムの動作例(二回目以降のログイン時)を示すシーケンス図である。図5に示すシーケンスは、ユーザが、初回ログイン時に認証に成功した端末10を用いて二回目以降にサービス提供装置20にログインする際に行われる処理手順を示している。
ステップS201で、端末10のWebブラウザは、ユーザの指示(操作)に従い、サービス提供装置20のログイン画面にアクセスする。このとき、端末10のWebブラウザは、図4のステップS108の処理手順で記憶したCookieを、HTTP(HTTPS)リクエストメッセージに含めてサービス提供装置20に送信する。
ステップS202で、サービス提供装置20の秘匿情報処理部104は、ステップS201の処理手順で受信したCookieからCookieIDと第二の分割秘匿情報とを取得すると共に、CookieIDをキーとして秘匿情報DBから第一の分割秘匿情報を取得する。秘匿情報処理部104は、取得した第一の分割秘匿情報と第二の分割秘匿情報とを結合することで秘匿情報を生成し、生成した秘匿情報を復号化することでユーザID及びPWDを取得する。具体的な処理手順については後述する。
ステップS203で、サービス提供装置20の認証部103は、ステップS202の処理手順で取得したユーザID及びPWDが認証情報DBに格納されているか否かを確認することで認証を行う。認証に成功した場合、ステップS204の処理手順に進む。認証に失敗した場合、認証部103は、認証失敗を示す情報を端末10に送信して処理を終了する。
ステップS204で、認証部103は、通信部101を介して、認証に成功した旨を示す情報、ログイン後画面を端末10に送信する。
ステップS205で、端末10のWebブラウザと、サービス提供装置20のサービス提供部102との間でサービスの利用が開始される。
(ユーザID/PWD暗号化、分割に関する具体的処理)
図6は、ユーザID/PWDの暗号化及び分割処理の一例を示すフローチャートである。図6を用いて、図4のステップS105に関する具体的な処理手順を説明する。
ステップS301で、暗号化部1041は、ユーザID、PWD及び現在日時を示すタイムスタンプを、「|」を用いて連結した文字列を生成する。具体的には、例えば、ユーザID=「tanaka」、PWD=「secret」、タイムスタンプ=「201507311620」である場合、暗号化部1041は、「tanaka|secret|201507311620」の文字列を生成する。なお、「|」に代えて、他の文字を用いてユーザID、PWD及び現在日時の区切りを表現するようにしてもよい。
ステップS302で、暗号化部1041は、生成した文字列を所定の暗号化アルゴリズムを用いて暗号化することで秘匿情報を生成する。所定の暗号化アルゴリズムは例えば「AES(Advanced Encryption Standard)」であるが、これに限られずどのようなアルゴリズムであってもよい。なお、暗号化に用いられる共通鍵は固定でもよいし、ユーザ毎に異なる共通鍵が用いられてもよい。
更に、暗号化部1041は、秘匿情報を所定のアルゴリズムを用いて文字列にエンコードする。所定のアルゴリズムは、例えばbash64であるが、文字列にエンコードするアルゴリズムであればどのようなアルゴリズムであってもよい。
ステップS303で、分割部1042は、秘匿情報(文字列にエンコードされた秘匿情報)を第一の分割秘匿情報と第二の分割秘匿情報に分割する。なお、分割部1042は、第一の分割秘匿情報の文字数が、第二の分割秘匿情報の文字数よりも少なくなるように分割するようにしてもよい。例えば、分割部1042は、秘匿情報のうち先頭(又は最後)の10文字を第一の分割秘匿情報とし、残りの文字を第二の分割秘匿情報としてもよい。これにより、第一の分割秘匿情報のデータサイズは小さくなるため、秘匿情報DBの容量を抑えることができる。
以上説明した処理手順のうちS301の処理手順において、暗号化部1041は、タイムスタンプを含めずに文字列を生成するようにしてもよい。例えば、暗号化部1041は、「tanaka|secret」の文字列を生成するようにしてもよい。
(Cookie生成、秘匿情報DB登録に関する具体的処理)
図7は、Cookie生成及び秘匿情報DB登録処理の一例を示すフローチャートである。図7を用いて、図4のステップS106に関する具体的な処理手順を説明する。
ステップS401で、クッキー処理部1045は、CookieIDを生成する。生成するCookieIDは、予め定められた桁数の乱数でもよい。桁数は、例えば10桁でもよいし、これに限られず他の桁数であってもよい。一例として、例えば、クッキー処理部1045は、「IKLWMAcMWU」のようなCookieIDを生成する。
ステップS402で、クッキー処理部1045は、端末10のWebブラウザに格納させるCookieを生成する。生成するCookieのCookie名は、例えば「tb.partial.token」としてもよいし、これに限られず、本実施の形態で用いるCookieを示す名称であればどのような文字列であってもよい。
クッキー処理部1045は、Cookie名に対応するCookie値に、ステップS401で生成したCookieIDと第二の分割秘匿情報とを連結した文字列を格納する。Cookieの有効期限にはどのような期限が設定されてもよいが、例えば、10年であってもよい。また、Cookieには、secure属性をセットするようにしてもよい。
ステップS401及びステップS402の処理手順により、例えば、次に示すようなCookieが生成される。「Set-Cookie:tb.partial.token=IKLWMAcMWUadfaafasd…dfafda;max-age=315360000;secure」。
ステップS403で、クッキー処理部1045は、CookieID、端末10から受信したユーザID、及び第一の分割秘匿情報を、秘匿情報DBに登録する。
(ユーザID/PWD復号に関する具体的処理)
図8は、ユーザID/PWD復号処理の一例を示すフローチャートである。図8を用いて、図5のステップS202に関する具体的な処理手順を説明する。
ステップS501で、クッキー処理部1045は、端末10から受信したHTTP(HTTPS)リクエストメッセージに含まれる1以上のCookieのうち、本実施の形態で用いられるCookieのCookie値を取得する。具体的には、例えば、クッキー処理部1045は、HTTP(HTTPS)リクエストメッセージに含まれる1以上のCookieのうち、Cookie名が「tb.partial.token」であるCookieのCookie値を取得する。
ステップS502で、クッキー処理部1045は、Cookie値を、CookieIDと第二の分割秘匿情報に分割する。
ステップS503で、クッキー処理部1045は、CookieIDをキーに秘匿情報DBを検索し、ユーザIDと第一の分割秘匿情報を取得する。
ステップS504で、結合部1043は、ステップS503の処理手順で取得された第一の分割秘匿情報と、ステップS502の処理手順で得られた第二の分割秘匿情報とを結合した文字列を生成する。
ステップS505で、復号化部1044は、ステップS504の処理手順で生成された文字列を、ステップS302の処理手順におけるエンコード処理と同一のアルゴリズム(例えばbash64)を用いてデコードし、更に、デコードされたデータをステップS302の処理手順における暗号化処理と同一のアルゴリズム(例えばAES)を用いて復号化することで文字列を生成する。
ステップS506で、復号化部1044は、復号化された文字列を「|」の位置で分割することで、ユーザID及びPWDを取得する。
ステップS507で、復号化部1044は、ステップS503の処理手順において秘匿情報DBから検索されたユーザIDと、ステップS506の処理手順で取得されたユーザIDとが一致するか否かを確認し、一致する場合は処理を終了する。一致しない場合、復号化部1044は、端末10から送信されたCookieが無効であると判断し、ユーザに再度ユーザID及びPWDを入力させるために、ログイン画面を端末10に送信するようにサービス提供部102に指示してもよい。
以上、第一の実施の形態について説明した。第一の実施の形態では、従来の技術のように、端末10が二回目以降にサービス提供装置20にアクセスする際に用いられる秘匿情報をそのまま端末10に記憶させるのではなく、当該秘匿情報の一部(第一の分割秘匿情報)をサービス提供装置20に記憶させ、残り(第二の分割秘匿情報)を端末10に記憶させるようにした。
これにより、万が一端末10に記憶された秘匿情報の一部が不正に取得された場合であっても、秘匿情報の一部のみでは秘匿情報を解読することができないことから、セキュリティリスクの発生を抑えることが可能になる。
[第二の実施の形態]
続いて、第二の実施の形態について説明する。第二の実施の形態に係る通信システムは、端末10及びサービス提供装置20に加えて、サービス提供装置20へのログイン処理を代理する代理ログイン装置30を有する。
第一の実施の形態では、第一の分割秘匿情報と第二の分割秘匿情報とをサービス提供装置20が生成すると共に、第一の分割秘匿情報をサービス提供装置20に記憶させるようにした。一方、第二の実施の形態では、第一の分割秘匿情報と第二の分割秘匿情報とを代理ログイン装置30が生成すると共に、第一の分割秘匿情報を代理ログイン装置30に記憶させるようにする。その他特に言及しない点については第一の実施の形態と同一でよい。
<システム構成>
図9は、第二の実施の形態に係る通信システムの構成例を示す図である。代理ログイン装置30は、端末10から受信したユーザID及びPWDを用いて、サービス提供装置20へのログインを代理する機能を備える。
<機能構成>
図10は、第二の実施の形態に係るサービス提供装置及び代理ログイン装置の機能構成の一例を示す図である。
(サービス提供装置)
図10(a)に示すように、サービス提供装置20は、通信部201と、サービス提供部202と、認証部203と、記憶部205とを有する。
通信部201は、有線又は無線を介してネットワークと接続され、端末10及び代理ログイン装置30と通信する機能を有する。
サービス提供部202は、端末10から直接アクセスを受けた場合に、代理ログイン装置30を介してアクセスさせるために、端末10にリダイレクトを指示する機能を有する。
認証部203は、代理ログイン装置30から受信したユーザの認証情報と、記憶部205に格納されている認証情報DBとを比較することで、ユーザの認証を行う機能を有する。
記憶部205は、認証情報DBを記憶する機能を有する。認証情報DBは、第一の実施の形態に係る認証情報DBと同一であるため説明は省略する。
(代理ログイン装置)
図10(b)に示すように、代理ログイン装置30は、通信部301と、代理ログイン処理部302と、秘匿情報処理部303と、記憶部304とを有する。また、秘匿情報処理部303は、暗号化部3031と、分割部3032と、結合部3033と、復号化部3034と、クッキー処理部3035とを有する。これら各部は、代理ログイン装置30にインストールされた1以上のプログラムが、代理ログイン装置30のCPUに実行させる処理により実現され得る。通信部301と、代理ログイン処理部302と、秘匿情報処理部303と、記憶部304とは、異なるコンピューターを用いて実現されていてもよいし、更に細かい単位でコンピューターが分散されていてもよい。すなわち、代理ログイン装置30は、1又は複数のコンピューターを用いて実現されていてもよい。また、当該1又は複数のコンピューターは、仮想化技術を利用した仮想サーバであってもよいし、クラウド上に実装された仮想サーバであってもよい。
通信部301は、有線又は無線を介してネットワークと接続され、端末10及びサービス提供装置20と通信する機能を有する。代理ログイン処理部302は、端末10とサービス提供装置20との間でログイン画面の送受信を中継する機能、端末10から送信された認証情報をサービス提供装置20に送信することで、ユーザの認証処理を代理する機能等を有する。なお、代理ログイン処理部302はWebサーバ機能及びWebクライアント機能を含む。
秘匿情報処理部303、暗号化部3031、分割部3032、結合部3033、復号化部3034、及びクッキー処理部3035は、それぞれ、第一の実施の形態に係るサービス提供装置20の秘匿情報処理部104、暗号化部1041、分割部1042、結合部1043、復号化部1044、及びクッキー処理部1045と同一であるため説明は省略する。
記憶部304は、秘匿情報DBを記憶する機能を有する。記憶部304は、代理ログイン装置30が備える記憶装置(メモリ、HDD等)、代理ログイン装置30にネットワークを介して接続可能な記憶装置等を用いて実現可能である。秘匿情報DBは、第一の実施の形態に係る秘匿情報DBと同一であるため説明は省略する。
<通信システムの動作例>
(初回ログイン時のシーケンス)
図11は、第二の実施の形態に係る通信システムの動作例(初回ログイン時)を示すシーケンス図である。図11に示すシーケンスは、ユーザが端末10を用いて最初にサービス提供装置20にログインする際に行われる処理手順を示している。
ステップS601で、端末10のWebブラウザは、ユーザの指示(操作)に従い、サービス提供装置20のログイン画面にアクセスする。
ステップS602で、サービス提供装置20のサービス提供部102は、代理ログイン装置30を介してログイン画面にアクセスさせるため、代理ログイン装置30にリダイレクトするように端末10に指示する。
ステップS603で、端末10のWebブラウザは、代理ログイン装置30にアクセスする。ステップS604で、代理ログイン装置30の代理ログイン処理部302は、サービス提供装置20のログイン画面にアクセスする。
ステップS605で、サービス提供装置20のサービス提供部102は、ログイン画面を代理ログイン装置30に送信する。ステップS606で、代理ログイン装置30の代理ログイン処理部302は、ログイン画面を端末10に送信する。
ステップS607で、端末10のWebブラウザは、ユーザにより入力されたユーザID及びPWDを代理ログイン装置30に送信する。ステップS608で、代理ログイン装置30の代理ログイン処理部302は、ユーザID及びPWDをサービス提供装置20に送信する。
ステップS609で、サービス提供装置20の認証部203は、ステップS608の処理手順で受信したユーザID及びPWDが認証情報DBに格納されているか否かを確認することで認証を行う。
ステップS610で、認証部203は、ステップS609で認証に成功した場合、通信部201を介して、認証に成功した旨を示す情報、ログイン後画面を代理ログイン装置30に送信する。ステップS609で認証に失敗した場合、認証部203は、認証失敗を示す情報を代理ログイン装置30に送信する。
ステップS611で、代理ログイン装置30の秘匿情報処理部303は、ステップS610の処理手順で認証に成功した旨を示す情報を受信した場合、ステップS607の処理手順で受信したユーザID及びPWDを暗号化することで秘匿情報を生成し、生成した秘匿情報を分割することで第一の分割秘匿情報及び第二の分割秘匿情報を生成する。具体的な処理手順については、図6と同一であるため説明は省略する。
ステップS612で、秘匿情報処理部303は、端末10のWebブラウザに格納させるCookieを生成する。当該Cookieには第二の分割秘匿情報が含まれる。また、秘匿情報処理部303は、CoolieID、ユーザID及び第一の分割秘匿情報を秘匿情報DBに格納する。具体的な処理手順については図7と同一であるため説明は省略する。
ステップS613で、代理ログイン処理部302は、通信部301を介して、認証に成功した旨を示す情報、ログイン後画面、及びステップS612の処理手順で生成されたCookieを端末10に送信する。なお、ステップS610で認証失敗を示す情報をサービス提供装置20から受信した場合、代理ログイン処理部302は、認証失敗を示す情報を端末10に送信して処理を終了する。
ステップS614及びステップS615の処理手順は、それぞれ図4のステップS108及びステップS109の処理手順と同一であるため説明は省略する。
(二回目以降のログイン時のシーケンス)
図12は、第二の実施の形態に係る通信システムの動作例(二回目以降のログイン時)を示すシーケンス図である。図12に示すシーケンスは、ユーザが、初回ログイン時に認証に成功した端末10を用いて二回目以降にサービス提供装置20にログインする際に行われる処理手順を示している。
ステップS701及びステップS702の処理手順は、それぞれ図11のステップS601及びステップS602の処理手順と同一であるため説明は省略する。
ステップS703で、端末10のWebブラウザは、代理ログイン装置30にアクセスする。このとき、端末10のWebブラウザは、図11のステップS614の処理手順で記憶したCookieを、HTTP(HTTPS)リクエストメッセージに含めて代理ログイン装置30に送信する。
ステップS704で、代理ログイン装置30の秘匿情報処理部303は、ステップS703の処理手順で受信したCookieから第二の分割秘匿情報を取得すると共に、ステップS703の処理手順で受信したCookieに含まれるCookieIDをキーとして秘匿情報DBから第一の分割秘匿情報を取得する。秘匿情報処理部303は、取得した第一の分割秘匿情報と第二の分割秘匿情報とを結合することで秘匿情報を生成し、生成した秘匿情報を復号化することでユーザID及びPWDを取得する。具体的な処理手順については図8と同一であるため説明は省略する。
ステップS705及びステップS706の処理手順は、それぞれ図11のステップS604及びステップS606の処理手順と同一であるため説明は省略する。
ステップS707で、代理ログイン装置30の代理ログイン処理部302は、ステップS704の処理手順で取得したユーザID及びPWDをサービス提供装置20に送信する。
ステップS708で、サービス提供装置20の認証部203は、受信したユーザID及びPWDが認証情報DBに格納されているか否かを確認することで認証を行う。
ステップS709で、認証部203は、ステップS708で認証に成功した場合、通信部201を介して、認証に成功した旨を示す情報、ログイン後画面を代理ログイン装置30に送信する。ステップS708で認証に失敗した場合、認証部203は、認証失敗を示す情報を代理ログイン装置30に送信する。
ステップS710で、代理ログイン処理部302は、通信部301を介して、認証に成功した旨を示す情報、ログイン後画面を端末10に送信する。なお、ステップS709で認証失敗を示す情報をサービス提供装置20から受信した場合、代理ログイン処理部302は、認証失敗を示す情報を端末10に送信して処理を終了する。
ステップS711は、図11のステップS615の処理手順と同一であるため説明は省略する。
以上、第二の実施の形態について説明した。第二の実施の形態では、従来の技術のように、端末10が二回目以降にサービス提供装置20にアクセスする際に用いられる秘匿情報をそのまま端末10に記憶させるのではなく、当該秘匿情報の一部(第一の分割秘匿情報)を代理ログイン装置30に記憶させ、残り(第二の分割秘匿情報)を端末10に記憶させるようにした。
これにより、万が一端末10に記憶された秘匿情報の一部が不正に取得された場合であっても、秘匿情報の一部のみでは秘匿情報を解読することができないことから、セキュリティリスクの発生を抑えることが可能になる。
<実施形態の補足>
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。実施の形態で述べたシーケンスは、矛盾の無い限り順序を入れ替えてもよい。
以上、実施の形態に係るサービス提供装置20及び代理ログイン装置30が有する各機能部は、これらが備えるCPU及びメモリなどのハードウェア資源を用いて、サービス提供装置20及び代理ログイン装置30の各々で実施される処理に対応するプログラムを実行することによって実現することが可能である。また、当該プログラムは、記憶媒体に格納することができる。
なお、各実施の形態において、サービス提供装置20又は代理ログイン装置30は、情報処理装置の一例である。第一の分割秘匿情報は、第一の情報の一例である。第二の分割秘匿情報は、第二の情報の一例である。暗号化部1041、3031、及び分割部1042、3032は、分割処理手段の一例である。結合部1043、3033、及び復号化部1044、3034は、結合処理手段の一例である。
10 端末
20 サービス提供装置
30 代理ログイン装置
101、201、301 通信部
102、202 サービス提供部
103、203 認証部
104、303 秘匿情報処理部
105、205、304 記憶部
1041、3031 暗号化部
1042、3032 分割部
1043、3033 結合部
1044、3034 復号化部
1045、3035 クッキー処理部

Claims (6)

  1. 端末と通信し、端末を利用するユーザに対して認証を行うことでサービスを提供する情報処理装置であって、
    前記端末から受信した、前記ユーザを認証するために用いられる認証情報に基づいて認証を行う認証手段と、
    前記認証手段により認証が許可された場合に、前記端末から受信した認証情報を暗号化することで秘匿情報を生成し、生成した秘匿情報を文字列にエンコードし、エンコードされた秘匿情報のうち、先頭又は末尾から所定の文字数分の文字列を第一の情報、残りの文字列を第二の情報として、前記エンコードされた秘匿情報を第一の情報と第二の情報とに分割する分割処理手段と、
    前記第一の情報を記憶する記憶手段と、
    前記第二の情報を前記端末に送信する送信手段と、
    前記第二の情報を前記端末から受信する受信手段と、
    前記記憶手段に記憶されている前記第一の情報と受信手段で受信された前記第二の情報とを結合した文字列をデコードすることで秘匿情報を生成し、生成した秘匿情報を復号化することで認証情報を生成する結合処理手段と、を有し、
    前記認証手段は、前記結合処理手段で生成された認証情報に基づいて認証を行う、情報処理装置。
  2. 前記分割処理手段は、
    前記第一の情報の文字数が、前記第二の情報の文字数よりも少なくなるように分割する、請求項1に記載の情報処理装置。
  3. 端末とサービス提供装置と通信し、前記サービス提供装置が前記端末を利用するユーザに対して行う認証を代理する情報処理装置であって、
    前記ユーザを認証するために用いられる認証情報であって前記サービス提供装置により認証が許可された認証情報を暗号化することで秘匿情報を生成し、生成した秘匿情報を文字列にエンコードし、エンコードされた秘匿情報のうち、先頭又は末尾から所定の文字数分の文字列を第一の情報、残りの文字列を第二の情報として、前記エンコードされた秘匿情報を第一の情報と第二の情報とに分割する分割処理手段と、
    前記第一の情報を記憶する記憶手段と、
    前記第二の情報を前記端末に送信する送信手段と、
    前記第二の情報を前記端末から受信する受信手段と、
    前記記憶手段に記憶されている前記第一の情報と受信手段で受信した前記第二の情報とを結合した文字列をデコードすることで秘匿情報を生成し、生成した秘匿情報を復号化することで認証情報を生成する結合処理手段と、を有し、
    前記送信手段は、前記結合処理手段により生成された認証情報を前記サービス提供装置に送信する、情報処理装置。
  4. 前記分割処理手段は、
    前記第一の情報の文字数が、前記第二の情報の文字数よりも少なくなるように分割する、請求項3に記載の情報処理装置。
  5. 端末と通信し、端末を利用するユーザに対して認証を行うことでサービスを提供する情報処理装置が実行する認証処理方法であって、
    前記端末から受信した、前記ユーザを認証するために用いられる認証情報に基づいて認証を行う認証ステップと、
    前記認証ステップにより認証が許可された場合に、前記端末から受信した認証情報を暗号化することで秘匿情報を生成し、生成した秘匿情報を文字列にエンコードし、エンコードされた秘匿情報のうち、先頭又は末尾から所定の文字数分の文字列を第一の情報、残りの文字列を第二の情報として、前記エンコードされた秘匿情報を第一の情報と第二の情報とに分割する分割処理ステップと、
    前記第一の情報を記憶部に記憶する記憶ステップと、
    前記第二の情報を前記端末に送信する送信ステップと、
    前記第二の情報を前記端末から受信する受信ステップと、
    前記記憶部に記憶されている前記第一の情報と前記受信ステップで受信された前記第二の情報とを結合した文字列をデコードすることで秘匿情報を生成し、生成した秘匿情報を復号化することで認証情報を生成する結合処理ステップと、を有し、
    前記認証ステップは、前記結合処理ステップで生成された認証情報に基づいて認証を行う、認証処理方法。
  6. コンピューターを、請求項1乃至4のいずれか一項に記載の情報処理装置の各手段として機能させるための制御プログラム。
JP2016013852A 2016-01-27 2016-01-27 情報処理装置、認証処理方法及びプログラム Active JP6571018B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016013852A JP6571018B2 (ja) 2016-01-27 2016-01-27 情報処理装置、認証処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016013852A JP6571018B2 (ja) 2016-01-27 2016-01-27 情報処理装置、認証処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2017134616A JP2017134616A (ja) 2017-08-03
JP6571018B2 true JP6571018B2 (ja) 2019-09-04

Family

ID=59503882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016013852A Active JP6571018B2 (ja) 2016-01-27 2016-01-27 情報処理装置、認証処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6571018B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002312317A (ja) * 2001-04-11 2002-10-25 Casio Comput Co Ltd 認証システムおよび認証方法
JP2006004321A (ja) * 2004-06-21 2006-01-05 Base Technology Inc セキュリティシステム
JP4256361B2 (ja) * 2005-04-21 2009-04-22 ベーステクノロジー株式会社 認証管理方法及びシステム
JP4715698B2 (ja) * 2006-09-26 2011-07-06 富士電機システムズ株式会社 プログラマブルコントローラのプログラミング装置、及び、プログラマブルコントローラシステム
US20160014110A1 (en) * 2013-02-21 2016-01-14 Personal, Inc. Security systems and methods

Also Published As

Publication number Publication date
JP2017134616A (ja) 2017-08-03

Similar Documents

Publication Publication Date Title
CN110912684B (zh) 用于加密和解密的方法、系统和计算机可读介质
US9917829B1 (en) Method and apparatus for providing a conditional single sign on
US10637650B2 (en) Active authentication session transfer
US8538020B1 (en) Hybrid client-server cryptography for network applications
US20200014538A1 (en) Methods and systems to facilitate authentication of a user
CN107846394B (zh) 用于给客户提供访问服务提供商的不同服务的系统和方法
US10007797B1 (en) Transparent client-side cryptography for network applications
CN106452770B (zh) 一种数据加密方法、解密方法、装置和系统
US9374360B2 (en) System and method for single-sign-on in virtual desktop infrastructure environment
US8583911B1 (en) Network application encryption with server-side key management
CN112425118A (zh) 公钥-私钥对账户登录和密钥管理器
US9954853B2 (en) Network security
US20150328119A1 (en) Method of treating hair
CN114244508B (zh) 数据加密方法、装置、设备及存储介质
US11968300B2 (en) Data extraction system, data extraction method, registration apparatus, and program
JP4794970B2 (ja) 秘密情報の保護方法及び通信装置
US11496299B2 (en) Method and chip for authenticating to a device and corresponding authentication device and system
KR20180082703A (ko) 소프트웨어 인증장치를 위한 키 관리 방법 및 장치
US20230396612A1 (en) Authentication system for a multiuser device
JP6571018B2 (ja) 情報処理装置、認証処理方法及びプログラム
CN112565156B (zh) 信息注册方法、装置和系统
JP2023532976A (ja) ユーザの身元の検証のための方法およびシステム
KR101443309B1 (ko) 접속 인증정보를 보호하는 장치 및 방법
US11831759B1 (en) Optimized authentication system for a multiuser device
US10491385B2 (en) Information processing system, information processing method, and recording medium for improving security of encrypted communications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190308

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190807

R150 Certificate of patent or registration of utility model

Ref document number: 6571018

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250