特許第6334275号(P6334275)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤフー株式会社の特許一覧

特許6334275認証装置、認証方法、認証プログラム、及び認証システム
<>
  • 特許6334275-認証装置、認証方法、認証プログラム、及び認証システム 図000002
  • 特許6334275-認証装置、認証方法、認証プログラム、及び認証システム 図000003
  • 特許6334275-認証装置、認証方法、認証プログラム、及び認証システム 図000004
  • 特許6334275-認証装置、認証方法、認証プログラム、及び認証システム 図000005
  • 特許6334275-認証装置、認証方法、認証プログラム、及び認証システム 図000006
  • 特許6334275-認証装置、認証方法、認証プログラム、及び認証システム 図000007
  • 特許6334275-認証装置、認証方法、認証プログラム、及び認証システム 図000008
  • 特許6334275-認証装置、認証方法、認証プログラム、及び認証システム 図000009
  • 特許6334275-認証装置、認証方法、認証プログラム、及び認証システム 図000010
  • 特許6334275-認証装置、認証方法、認証プログラム、及び認証システム 図000011
  • 特許6334275-認証装置、認証方法、認証プログラム、及び認証システム 図000012
  • 特許6334275-認証装置、認証方法、認証プログラム、及び認証システム 図000013
  • 特許6334275-認証装置、認証方法、認証プログラム、及び認証システム 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6334275
(24)【登録日】2018年5月11日
(45)【発行日】2018年5月30日
(54)【発明の名称】認証装置、認証方法、認証プログラム、及び認証システム
(51)【国際特許分類】
   G06F 21/33 20130101AFI20180521BHJP
   H04L 9/32 20060101ALI20180521BHJP
【FI】
   G06F21/33
   H04L9/00 675B
【請求項の数】14
【全頁数】26
(21)【出願番号】特願2014-115277(P2014-115277)
(22)【出願日】2014年6月3日
(65)【公開番号】特開2015-230520(P2015-230520A)
(43)【公開日】2015年12月21日
【審査請求日】2015年3月17日
【審判番号】不服2017-2587(P2017-2587/J1)
【審判請求日】2017年2月22日
(73)【特許権者】
【識別番号】500257300
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】安藤 義裕
(72)【発明者】
【氏名】五味 秀仁
(72)【発明者】
【氏名】利波 泰史
【合議体】
【審判長】 辻本 泰隆
【審判官】 山崎 慎一
【審判官】 須田 勝巳
(56)【参考文献】
【文献】 特開2010−191801号公報
【文献】 特開2004−13374号公報
(58)【調査した分野】(Int.Cl.,DB名)
G06F21/33
H04L9/32
(57)【特許請求の範囲】
【請求項1】
送信元のデバイスに対応する認証情報と、前記デバイスに格納された非公開情報により暗号化された情報であって前記認証情報により復号される要求情報とを、前記送信元とは異なる被認証側の他の送信元であって、前記送信元に関連するリソースを利用するために、前記送信元を利用するユーザから認証する権限を委譲された他の送信元から受け付ける受付部と、
前記受付部により受け付けられた認証情報により前記要求情報が復号化され、当該認証情報に対応する情報が記憶部に格納されている場合に認証処理を完了することにより、前記デバイスに対応するユーザを認証する認証部と、
を備えたことを特徴とする認証装置。
【請求項2】
前記受付部は、
前記認証情報と前記要求情報とをともに受け付け、
前記認証部は、
前記認証情報と、当該認証情報とともに受け付けた要求情報とに基づいて前記ユーザを認証する、
ことを特徴とする請求項1に記載の認証装置。
【請求項3】
前記受付部は、
有効期限に関する情報を含む前記要求情報を受け付け、
前記認証部は、
前記要求情報に含まれる前記有効期限に関する情報に基づいて有効期限の経過前であると判定した場合に前記デバイスに対応するユーザを認証する、
ことを特徴とする請求項1又は請求項2に記載の認証装置。
【請求項4】
前記ユーザに関するユーザ情報と、前記ユーザに関連する認証情報である関連認証情報とを関連付けて管理するユーザ管理装置に対して、前記認証情報の認証を要請する要請部、
をさらに備え
前記認証部は、前記ユーザ管理装置により前記認証情報の認証が成功した場合、前記認証情報と前記要求情報とに基づいて前記デバイスに対応するユーザを認証する、
ことを特徴とする請求項1〜3のいずれか一つに記載の認証装置。
【請求項5】
前記ユーザ情報に対応付けて記憶されているリソースのうち前記要求情報により要求されているリソースを特定する特定部、
をさらに備えたことを特徴とする請求項4に記載の認証装置。
【請求項6】
前記認証情報に対応付けて記憶されているリソースのうち前記要求情報により要求されているリソースを特定する特定部、
をさらに備えたことを特徴とする請求項1〜4のいずれか一つに記載の認証装置。
【請求項7】
前記受付部は、
前記ユーザの権限に関する情報を含む前記要求情報を受け付け、
前記特定部は、
前記要求情報に含まれる前記権限に関する情報に基づいて、前記要求情報により特定されるリソースへのアクセスが認められているかを判定する、
ことを特徴とする請求項5又は請求項6に記載の認証装置。
【請求項8】
前記要求情報に基づいて特定されたリソースに関する情報を前記送信元または前記他の送信元へ送信する送信部、
をさらに備えたことを特徴とする請求項5〜7のいずれか一つに記載の認証装置。
【請求項9】
コンピュータが実行する認証方法であって、
送信元のデバイスに対応する認証情報と、前記デバイスに格納された非公開情報により暗号化された情報であって前記認証情報により復号される要求情報とを、前記送信元とは異なる被認証側の他の送信元であって、前記送信元に関連するリソースを利用するために、前記送信元を利用するユーザから認証する権限を委譲された他の送信元から受け付ける受付工程と、
前記受付工程により受け付けられた認証情報により前記要求情報が復号化され、当該認証情報に対応する情報が記憶部に格納されている場合に認証処理を完了することにより、前記デバイスに対応するユーザを認証する認証工程と、
を備えたことを特徴とする認証方法。
【請求項10】
送信元のデバイスに対応する認証情報と、前記デバイスに格納された非公開情報により暗号化された情報であって前記認証情報により復号される要求情報とを、前記送信元とは異なる被認証側の他の送信元であって、前記送信元に関連するリソースを利用するために、前記送信元を利用するユーザから認証する権限を委譲された他の送信元から受け付ける受付手順と、
前記受付手順により受け付けられた認証情報により前記要求情報が復号化され、当該認証情報に対応する情報が記憶部に格納されている場合に認証処理を完了することにより、前記デバイスに対応するユーザを認証する認証手順と、
を備えたことを特徴とする認証プログラム。
【請求項11】
認証装置と、ユーザ管理装置とを含む認証システムであって、
前記認証装置は、
送信元のデバイスに対応する認証情報と、前記デバイスに格納された非公開情報により暗号化された情報であって前記認証情報により復号される要求情報とを、前記送信元とは異なる被認証側の他の送信元であって、前記送信元に関連するリソースを利用するために、前記送信元を利用するユーザから認証する権限を委譲された他の送信元から受け付ける受付部と、
前記ユーザ管理装置に対して前記認証情報の認証を要請する要請情報を送信する要請部と、
前記ユーザ管理装置により前記認証情報の認証が成功した場合、前記認証情報と前記要求情報とに基づいて前記デバイスに対応するユーザを認証する認証部とを備え、
前記ユーザ管理装置は、
前記ユーザに関するユーザ情報と、前記ユーザが所有する各デバイスに各々対応付けられた複数の認証情報である複数の関連認証情報とを関連付けて記憶部に格納し管理する管理部と、
前記認証装置から受け付けた前記要請情報により認証が要請された前記認証情報に対応する情報が前記記憶部に格納されている場合に前記認証情報認証に成功したと判定する認証引受部と、
前記認証情報の認証の結果に関する情報を応答する応答部と、
を備えたことを特徴とする認証システム。
【請求項12】
前記管理部は、
前記ユーザ情報が削除された場合に、前記ユーザ情報に関連付けられた前記関連認証情報を失効させる、
ことを特徴とする請求項11に記載の認証システム。
【請求項13】
前記管理部は、
前記要求情報の暗号化に用いた前記非公開情報が前記送信元から削除されるか又は漏洩した場合に、前記送信元に対応する前記関連認証情報を失効させる、
ことを特徴とする請求項11又は請求項12に記載の認証システム。
【請求項14】
前記ユーザ管理装置は、
ユーザに関するユーザ情報と新たな認証情報との関連付けに利用される関連付情報を、前記ユーザに関する宛先情報により指定される宛先へ送付する送付部と、
前記宛先に対応する送信元から受け付けた前記関連付情報と前記新たな認証情報と前記要求情報とに基づいて、前記ユーザ情報と前記新たな認証情報との関連付けを行うか判定する判定部をさらに備え、
前記管理部は、
前記判定部により関連付けを行うと判定された場合、前記新たな認証情報を新たな関連認証情報として前記ユーザ情報に関連付ける、
ことを特徴とする請求項11〜13のいずれか一つに記載の認証システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証装置、認証方法、認証プログラム、及び認証システムに関する。
【背景技術】
【0002】
従来、IDとパスワードとを用いたログイン認証や、いわゆるOAuth認証等のトークンを用いた認証等が用いられている。OAuth認証において、サービスプロバイダ等の認証装置は、発行したアクセストークンをユーザから許可された第3者であるコンシューマに対して返却し、認証装置はコンシューマからのアクセストークンに基づいて認証を行う。また、携帯電話等のユーザが利用するデバイスやユーザに関する情報を用いた認証が用いられている。例えば、携帯電話の固体識別情報を予め各会員のものとしてデータベース装置に登録し、認証用ホストコンピュータは、携帯電話からの認証用ホストコンピュータに対する認証要求メッセージに含まれる固体識別情報がデータベース登録されているものと一致することを確認することにより、特定の会員からの認証要求メッセージであることを、確認する認証方法が提供されている。
【0003】
また、ユーザ端末と多数のサービス提供先との間で公開鍵認証方式による認証が行えるユーザ認証システムも提供されている。このシステムにおいては、ユーザ管理システムがユーザ端末からの登録要求に応答して、第1ユーザ識別子、第1公開鍵および第1秘密鍵のペア、ならびに公開鍵証明書を生成してユーザ端末へ送信する。そして、ユーザ端末が、第2ユーザ識別子ならびに第2公開鍵および第2秘密鍵のペアを生成し、公開鍵証明書で署名された第2公開鍵の代理証明書を発行し、サービス提供サーバへ代理証明書を含むサービス要求を送信する。その後、サービス提供サーバが、代理証明書の検証をユーザ管理システムへ要求し、ユーザ管理システムが、受信した代理証明書に対応した公開鍵証明書を抽出して公開鍵証明書および代理証明書を検証し、その結果をサービス提供サーバへ送信する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−146363号公報
【特許文献2】特開2006−311425号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の従来技術では、認証を受けるユーザの負荷が大きく、かつ認証装置から情報が漏洩する可能性がある。具体的にいうと、ユーザは認証を受けるサービス毎にIDとパスワードとを管理し、IDとパスワードとを用いたログイン認証を行う場合、ユーザはIDとパスワードとを入力するため、ユーザの負荷が大きい。また、アクセストークンや固体識別情報や第1秘密鍵等の認証に用いる情報は、他のユーザ等には秘匿状態で認証用ホストコンピュータやユーザ管理システム等の認証装置に格納されるため、これらの認証に用いる情報が認証装置から漏洩する可能性がある。
【0006】
本願は、上記に鑑みてなされたものであって、ユーザの負荷を軽減することができ、かつ情報が漏洩する可能性を低減することができる認証装置、認証方法、認証プログラム、及び認証システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本願に係る認証装置は、送信元のデバイスに対応する認証情報と、前記デバイスに格納された非公開情報により暗号化された情報であって前記認証情報により復号される要求情報とを受け付ける受付部と、前記認証情報と前記要求情報とに基づいて前記デバイスに対応するユーザを認証する認証部と、を備えたことを特徴とする。
【発明の効果】
【0008】
実施形態の一態様によれば、ユーザの負荷を軽減することができ、かつ情報が漏洩する可能性を低減することができるという効果を奏する。
【図面の簡単な説明】
【0009】
図1図1は、実施形態に係る認証システムの機能概要を示す図である。
図2図2は、実施形態に係る認証装置の構成例を示す図である。
図3図3は、実施形態に係るユーザ管理装置の構成例を示す図である。
図4図4は、実施形態に係る関連認証情報の一例を示す図である。
図5図5は、実施形態に係るユーザ情報の登録のフローチャートである。
図6図6は、実施形態に係る要求情報の一例を示す図である。
図7図7は、実施形態に係る認証システムによる認証処理を示すシーケンス図である。
図8図8は、実施形態に係るリカバリ処理のフローチャートである。
図9図9は、変形例に係る認証システムの機能概要を示す図である。
図10図10は、変形例に係るリソースアクセスのフローチャートである。
図11図11は、変形例に係る関連認証情報の一例を示す図である。
図12図12は、変形例に係る認証システムの構成例を示す図である。
図13図13は、認証装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る認証装置、認証方法、認証プログラム、及び認証システムを実現するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る認証装置、認証方法、認証プログラム、及び認証システムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する記載は省略される。
【0011】
〔1.認証システム〕
まず、図1を用いて、実施形態に係る認証システムの一例について説明する。図1は、実施形態に係る認証システムの機能概要を示す図である。図1に示した認証装置100は、認証情報と要求情報とに基づいたユーザの認証サービスを提供する。以下では、認証情報が公開鍵暗号方式で使用される公開鍵であり、要求情報として公開鍵暗号方式で使用される秘密鍵を使用して暗号化されたシグナチャを用いた例を示す。すなわち、以下の例では、送信元のデバイスに対応する認証情報は公開鍵に対応し、デバイスに格納された非公開情報は秘密鍵に対応する。
【0012】
〔1−1.認証システムの構成〕
まず、実施形態に係る認証システムの構成について説明する。図1に示す認証システム1は、IDとパスワードとを用いずに認証を行う認証システムである。図1に示すように、認証システム1は、ユーザ端末10と、ユーザ管理装置20と、認証装置100とが含まれる。ユーザ端末10、ユーザ管理装置20、及び認証装置100は図示しない所定の通信網を介して、有線又は無線により通信可能に接続される。なお、図1に示した認証システム1には、複数台のユーザ端末10や、複数台のユーザ管理装置20や、複数台の認証装置100が含まれてもよい。
【0013】
ユーザ端末10は、ユーザによって利用される情報処理装置である。例えば、ユーザ端末10は、ユーザによる操作に従って、認証情報である公開鍵や要求情報であるシグナチャを認証装置100へ送信したり、ユーザ管理装置20へ公開鍵の登録を要求する情報を送信したりする。なお、以下では、ユーザ端末10をユーザと表記する場合がある。すなわち、以下では、ユーザをユーザ端末10と読み替えることもできる。
【0014】
ユーザ管理装置20は、例えば、ウェブサーバ等である。ユーザ管理装置20は、認証装置100からの公開鍵の認証を要請する要請情報を受信したとき、認証装置100へ公開鍵の認証の結果に関する情報を応答する。また、ユーザ管理装置20は、ユーザ端末10からの入力に応じて、公開鍵を登録する処理を実行したりする。
【0015】
認証装置100は、例えば、ウェブサーバ等である。認証装置100は、ユーザの認証サービスを提供する。
【0016】
なお、上述したユーザ端末10は、例えば、スマートフォン、タブレット端末、携帯電話機、PDA(Personal Digital Assistant)、ノート型PC(Personal Computer)、デスクトップPC等により実現される。
【0017】
〔1−2.認証処理〕
次に、図1を用いて、実施形態に係る認証処理の一例について説明する。図1に示す例において、認証装置100は、認証情報である公開鍵ok12、公開鍵ok13等を含む公開鍵を認証情報として記憶する。また、認証装置100は、それぞれの公開鍵に対応するユーザに関する情報であるリソースを公開鍵と関連付けて記憶する。図1に示す例の場合、公開鍵ok12には、リソースr121、リソースr122等が関連付けて記憶され、公開鍵ok13には、リソースr131等が関連付けて記憶される。
【0018】
ここで、ユーザ管理装置20では、ユーザ情報を、複数の情報に関連付け、多様な情報を包括的に管理する。本実施形態においては、ユーザ情報をNID(Neural Identifier)と表記する場合がある。すなわち、以下では、ユーザ情報をNIDと読み替えることもできる。ユーザ管理装置20は、NIDid1、NIDid2等を記憶する。NIDとは、複数の情報に関連付けられ、多様な情報を包括的に管理するために用いる情報である。ユーザ管理装置20は、NIDid1、NIDid2等を記憶する。本実施形態では、ユーザ情報であるNIDは複数の公開鍵に関連付けられる。また、ユーザ管理装置20は、それぞれのNIDに対応する認証情報である公開鍵をNIDと関連付けて記憶する。図1に示す例の場合、NIDid1には、公開鍵ok11、公開鍵ok12等が関連付けて記憶され、NIDid2には、公開鍵ok21等が関連付けて記憶される。
【0019】
図1に示すように、ユーザ端末10は、非公開情報である秘密鍵sk12を用いて認証装置100へ送信する情報を暗号化してシグナチャsg12を生成する(ステップs11)。ここで、シグナチャに含まれる情報は、送信先である認証装置100やユーザ管理装置20に要求する処理内容や、シグナチャ自体の有効期限等が含まれてもよい。なお、シグナチャに含まれる情報についての詳細は後述する。また、秘密鍵sk12と公開鍵ok12はユーザ端末10により生成される。秘密鍵sk12については、ユーザ端末10は秘匿状態で記憶する。
【0020】
ここで、秘密鍵sk12により暗号化された情報は、公開鍵ok12を用いて復号できる。したがって、公開鍵ok12を用いて復号できたシグナチャsg12は、秘密鍵sk12を保有するユーザのデバイスであるユーザ端末10により暗号化されたと判定できる。言い換えると、シグナチャsg12が公開鍵ok12を用いて復号できた場合、認証装置100は送信元であるユーザ端末10を特定することが可能となる。
【0021】
次に、ユーザ端末10は、シグナチャsg12と公開鍵ok12とを認証装置100へ送信する(ステップs12)。つまり、ユーザ端末10は、公開鍵ok12のペアである秘密鍵sk12により暗号化されたシグナチャsg12と、公開鍵ok12とをセットとして送信する。このとき、ユーザ端末10は、シグナチャsg12と公開鍵ok12とともに送信してもよいし、異なるタイミングで送信してもよい。ここで、シグナチャsg12と公開鍵ok12とともに送信するとは、シグナチャsg12と公開鍵ok12とを同時に送信すること、シグナチャsg12と公開鍵ok12とを一括して送信すること等を含む。
【0022】
認証装置100は、ユーザ端末10からシグナチャsg12と公開鍵ok12とを受信すると、受信した公開鍵ok12を用いてシグナチャsg12を復号する(ステップs13)。上述したように、公開鍵ok12によりシグナチャsg12が正しく復号された場合、認証装置100は、シグナチャsg12の送信元であるユーザ端末10が公開鍵ok12に対応する秘密鍵sk12を保有すると判定できる。公開鍵ok12によりシグナチャsg12が正しく復号できなかった場合、認証装置100は、シグナチャsg12の送信元であるユーザ端末10が公開鍵ok12に対応する送信元ではないと判定し、認証処理を中止する。このとき、認証装置100は、認証処理に失敗したことを適宜の方法によりユーザ端末10へ通知してもよい。
【0023】
次に、認証装置100は、公開鍵ok12によりシグナチャsg12が正しく復号された場合、公開鍵ok12に対応する公開鍵が認証装置100内に格納されているかを確認する(ステップs14)。上述したように、認証装置100は、認証情報として公開鍵を記憶している。認証装置100は、認証装置100内に公開鍵ok12が格納されていると確認した場合、認証処理を完了する。このとき、認証装置100は、認証処理に成功したことを適宜の方法によりユーザ端末10へ通知してもよい。
【0024】
ここで、認証装置100が公開鍵ok12に対応する公開鍵が認証装置100内に格納されていないと判定した場合について説明する。この場合、認証装置100はユーザ管理装置20へ公開鍵ok12の認証を要請する要請情報を送信する(ステップs15)。そして、ユーザ管理装置20は、公開鍵ok12の認証の結果に関する情報を応答する。認証装置100は、ユーザ管理装置20からユーザ管理装置20内に公開鍵ok12が格納されており公開鍵ok12の認証に成功したとの応答を受信すると、公開鍵ok12を認証情報として記憶する。一方、ユーザ管理装置20からユーザ管理装置20内に公開鍵ok12が格納されていない等の理由により、公開鍵ok12の認証に失敗したとの応答を受信すると、認証処理を中止する。
【0025】
例えば、図1に示す例において、認証装置100が公開鍵ok11をユーザ端末11(図4参照)から受信した場合、認証装置100は公開鍵ok11を格納していないため、ユーザ管理装置20へ公開鍵ok11の認証を要請する要請情報を送信する。そして、ユーザ管理装置20内に公開鍵ok11が格納されているため、ユーザ管理装置20から公開鍵ok11の認証に成功したとの応答を受信した認証装置100は、公開鍵ok11を新たに認証情報として記憶する。
【0026】
ここで、認証装置100が認証装置100内に公開鍵ok12が格納されていると確認して認証が完了した場合(ステップs14)に戻って、以下説明する。このとき、認証装置100は、復号されたシグナチャsg12に基づいてリソースの特定をする。さらに、認証装置100は、復号されたシグナチャsg12によりリソースの取得が要求されていた場合、公開鍵ok12に対応して記憶されたリソースr121をユーザ端末10へ送信する(ステップs16)。なお、このとき、認証装置100は、公開鍵ok12を用いて暗号化したリソースr121をユーザ端末10へ送信してもよい。これにより、公開鍵ok12により暗号化されたリソースr121は、秘密鍵sk12を保有するユーザ端末10しか復号できないため、認証装置100は通信のセキュリティを向上することができる。
【0027】
このように、実施形態に係る認証装置100がユーザ端末から受信したシグナチャと公開鍵とを用いて認証処理を行うため、認証装置100から情報が漏洩する可能性を低減することができる。具体的には、認証装置100は、送信元であるユーザ端末が保有する秘密鍵を用いて暗号化されたシグナチャと、公開されている公開鍵とを用いて認証を行う。また、シグナチャは、例えば、ユーザ端末が認証装置100へアクセスする度に生成され、一度のアクセスにしか使用されない等、非常に短い時間でのみ有効な情報である。したがって、公開鍵とシグナチャは他のユーザ等に秘匿状態で保有しなくてもよいため、認証装置100から認証情報である公開鍵とシグナチャが漏洩したとしても悪用されてリソースが盗まれたり、なりすましされたりする可能性を低減することができる。また、認証装置100は、受信した認証情報である公開鍵を格納していない場合であっても、ユーザ管理装置20へ公開鍵の認証を要請し、ユーザ管理装置20から公開鍵の認証の結果を受け取ることにより、認証を行うことができる。つまり、認証装置100は、受信した認証情報である公開鍵を格納していない場合であっても、ユーザの認証を行うことができる。また、認証装置100がユーザ端末から受信したシグナチャと公開鍵とを用いて認証処理を行うとともにリソースの特定までを行うことで、認証と処理を一括して行うことが可能となる。これにより、認証装置100は、ユーザビリティを向上させることができる。また、シグナチャに認証装置100に格納されたリソースの取得を要求する情報が含まれていた場合、認証と併せて要求された情報をユーザ端末へ送信する処理も行うことができ、認証装置100とユーザ端末とが通信する回数を少なくでき、通信負荷を低減し、処理速度を上げることが可能となる。また、認証装置100は、IDとパスワードとを用いたログインの必要ない認証を提供することができるため、ユーザの負担を軽減することができる。また、認証を必要とするサービスが複数ある場合であっても、ユーザは自身のIDやパスワードを管理してサービス毎に使い分ける必要がなくなり、ユーザがIDやパスワードを管理する必要がなくなる。そのため、ログインに用いるIDやパスワードの管理の煩雑さを回避するため、ユーザが複数のサービスに対して同じIDやパスワードを使いまわす等してセキュリティが低下することも防止できる。
【0028】
〔2.認証装置の構成〕
次に、図2を用いて、実施形態に係る認証装置100の構成について説明する。図2は、実施例に係る認証装置100の構成例を示す図である。図2に示すように、認証装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、認証装置100は、認証装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0029】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)によって実現される。かかる通信部110は、所定の通信網と有線又は無線で接続される。そして、通信部110は、所定の通信網を介して、ユーザ端末10やユーザ管理装置20との間で情報の送受信を行う。
【0030】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120には、公開鍵が認証情報として記憶され、それぞれの公開鍵に対応するユーザに関する情報であるリソースが、公開鍵と関連付けて記憶されている。例えば図1に示した例においては、記憶部120には、公開鍵ok12にリソースr121、r122等が関連付けて記憶され、公開鍵ok13にリソースr131等が関連付けて記憶されている。
【0031】
制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、認証装置100内部の記憶装置に記憶されている各種プログラム(認証プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0032】
図2に示すように、制御部130は、受付部131と、認証部132と、特定部133と、要請部134と、送信部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図2に示した接続関係に限られず、他の接続関係であってもよい。
【0033】
(受付部131)
受付部131は、認証を希望するユーザであるユーザ端末10から、公開鍵を認証情報として、シグナチャを要求情報として受け付ける。受付部131は、公開鍵とシグナチャとを同時に受け付けることが可能であり、また、公開鍵とシグナチャとを異なるタイミングで受け付けることも可能である。
【0034】
(認証部132)
認証部132は、受付部131によって受け付けられた公開鍵とシグナチャとに基づいてデバイスに対応するユーザを認証する。まず、認証部132は、受付部131によって受け付けられた公開鍵を用いてシグナチャを復号する。このとき、認証部132は、受付部131によって受け付けられた公開鍵によりシグナチャを復号できれば、次の処理へ進む。一方、認証部132は、受付部131によって受け付けられた公開鍵によりシグナチャを復号できなければ、認証処理を中止する。
【0035】
ここで、上記処理を図1に示した例に基づいて説明すると、認証部132は、受付部131によって受け付けられた公開鍵ok12とシグナチャsg12とに基づいてデバイスに対応するユーザを認証する。まず、認証部132は、公開鍵ok12を用いてシグナチャsg12を復号する。このとき、認証部132は、受付部131によって受け付けられた公開鍵ok12によりシグナチャsg12を復号できれば、次の処理へ進む。一方、認証部132は、受付部131によって受け付けられた公開鍵ok12によりシグナチャsg12を復号できなければ、シグナチャsg12の送信元であるユーザ端末10が公開鍵ok12に対応する送信元ではないと判定し、認証処理を中止する。
【0036】
次に、認証部132は、受付部131によって受け付けられた公開鍵に対応する公開鍵が記憶部120に格納されているかを確認する。認証部132は、記憶部120に受付部131によって受け付けられた公開鍵が格納されていると確認した場合、認証処理を完了する。
【0037】
上記処理を図1に示した例に基づいて説明すると、認証部132は、公開鍵ok12に対応する公開鍵が記憶部120に格納されているかを確認する。認証部132は、記憶部120に公開鍵ok12が格納されていると確認した場合、認証処理を完了する。
【0038】
(特定部133)
特定部133は、認証部132が記憶部120に受付部131によって受け付けられた公開鍵が格納されていると確認して認証が完了した場合、受付部131によって受け付けられた公開鍵により復号されたシグナチャの情報を確認する。そして、特定部133は、復号されたシグナチャに基づいてリソースの特定をする。このとき、特定部133は、復号されたシグナチャによりリソースの取得が要求されていた場合、受け付けられた公開鍵に対応して記憶されたリソースの中から復号されたシグナチャにより要求されているリソースを特定する。そして、特定部133は、特定したリソースを後述する送信部135を介する等の適宜の手段により、認証処理を要求してきたユーザ端末へ送信する。
【0039】
ここで、上記処理を図1に示した例に基づいて説明すると、特定部133は、認証部132が記憶部120に公開鍵ok12が格納されていると確認して認証が完了した場合、公開鍵ok12により復号されたシグナチャsg12の情報を確認する。そして、特定部133は、復号されたシグナチャsg12に基づいてリソースr121の特定をする。このとき、特定部133は、復号されたシグナチャsg12によりリソースの取得が要求されていた場合、公開鍵ok12に対応して記憶されたリソースの中から復号されたシグナチャsg12により要求されているリソースr121を適宜の手段により、ユーザ端末10へ送信する。
【0040】
(要請部134)
要請部134は、認証部132が記憶部120に受付部131によって受け付けられた公開鍵が格納されていないと判定した場合、ユーザ管理装置20へ受付部131によって受け付けられた公開鍵の認証を要請する要請情報をユーザ管理装置20へ送信する。ここで、要請情報には、公開鍵が含まれてもよい。要請部134は、ユーザ管理装置20からユーザ管理装置20内に認証を要請した公開鍵が格納されており、認証に成功したとの応答を受信すると、ユーザ管理装置20が認証に成功した公開鍵を認証情報として記憶部120に記憶する。一方、ユーザ管理装置20からユーザ管理装置20内に認証を要請した公開鍵が格納されていない等の理由により、認証を要請した公開鍵の認証に失敗したとの応答を受信すると、認証処理を中止する。
【0041】
ここで、上記処理を図1において認証装置100がユーザ端末11(図4参照)から公開鍵ok11とシグナチャsg11とを受信した場合に基づいて説明する。要請部134は、認証部132が記憶部120に公開鍵ok11が格納されていないと判定した場合、ユーザ管理装置20へ公開鍵ok11の認証を要請する要請情報を送信する。要請部134は、公開鍵ok11の認証に成功したとの応答を受信すると、ユーザ管理装置20が認証に成功した公開鍵ok11を認証情報として記憶部120に記憶する。一方、ユーザ管理装置20から公開鍵ok11の認証に失敗したとの応答を受信すると、認証処理を中止する。
【0042】
(送信部135)
送信部135は、認証処理を要求してきたユーザ端末へ特定部133により特定されたリソースを送信したり、認証部132や要請部134により認証処理に失敗したことをユーザ端末へ通知したりする。
【0043】
〔3−1.ユーザ管理装置の構成〕
次に、図3を用いて、実施形態に係るユーザ管理装置20の構成について説明する。図3は、実施例に係るユーザ管理装置20の構成例を示す図である。図3に示すように、ユーザ管理装置20は、通信部210と、記憶部220と、制御部230とを有する。なお、ユーザ管理装置20は、ユーザ管理装置20の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0044】
(通信部210)
通信部210は、例えば、NIC(Network Interface Card)によって実現される。かかる通信部210は、所定の通信網と有線又は無線で接続される。そして、通信部210は、所定の通信網を介して、ユーザ端末10や認証装置100との間で情報の送受信を行う。
【0045】
(記憶部220)
記憶部220は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部220には、ユーザに関するユーザ情報としてNIDが記憶され、ユーザに関連する関連認証情報として公開鍵が対応するNIDに関連付けて記憶されている。例えば図1に示した例においては、記憶部220には、NIDid1には、公開鍵ok11、公開鍵ok12等が関連付けて記憶され、NIDid2には、公開鍵ok21等が関連付けて記憶されている。
【0046】
制御部230は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によってユーザ管理装置20内部の記憶装置に記憶されている各種プログラム(認証プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部230は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0047】
図3に示すように、制御部230は、管理部231と、認証引受部232と、応答部233と、送付部234と、判定部235とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部230の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部230が有する各処理部の接続関係は、図3に示した接続関係に限られず、他の接続関係であってもよい。
【0048】
(管理部231)
管理部231は、ユーザに関するユーザ情報と、ユーザに関連する認証情報である関連認証情報とを関連付けて記憶部220へ格納し管理する。つまり、本実施形態において、管理部231は、ユーザ情報であるNIDと関連認証情報である公開鍵とを関連付けて記憶部220へ格納し管理する。また、管理部231は、後述する関連認証情報の登録や新たなユーザ情報の登録を行う。つまり、本実施形態において、管理部231は、公開鍵の登録や新たなNIDの登録を行う。
【0049】
(認証引受部232)
認証引受部232は、認証装置100から公開鍵の認証を要請する要請情報を受信した場合、認証を要請された公開鍵が記憶部220に格納されているかを確認する。具体的には、認証引受部232は、認証を要請された公開鍵が記憶部220に格納されていれば、認証に成功したと判定し、認証を要請された公開鍵が記憶部220に格納されていなければ、認証に失敗したと判定する。
【0050】
ここで、上記処理を図1に示した例に基づいて説明すると、認証引受部232は、認証装置100から公開鍵ok12の認証を要請する要請情報を受信した場合、公開鍵ok12は記憶部220に格納されているので、公開鍵ok12の認証に成功したと判定する。例えば、記憶部220に格納されていない公開鍵ok15の認証を要請する要請情報を受信した場合は、認証引受部232は、公開鍵ok15認証に失敗したと判定する。
【0051】
(応答部233)
応答部233は、認証引受部232による認証結果に基づいて、認証を要請された公開鍵の認証の結果を認証装置100へ応答する。具体的には、応答部233は、認証引受部232が認証を要請された公開鍵の認証に成功したと判定した場合、認証に成功したとの情報を認証装置100へ応答し、認証引受部232が認証を要請された公開鍵の認証に失敗した判定したと場合、認証に失敗したとの情報を認証装置100へ応答する。
【0052】
ここで、上記処理を図1に示した例に基づいて説明すると、応答部233は、認証装置100から公開鍵ok12の認証を要請する要請情報を受信し、認証引受部232が認証に成功したと判定した場合、公開鍵ok12の認証に成功したとの情報を認証装置100へ応答する。例えば、記憶部220に格納されていない公開鍵ok15の認証を要請する要請情報を受信し認証引受部232が認証に失敗したと判定した場合、公開鍵ok15の認証に失敗したとの情報を認証装置100へ応答する。なお、認証に成功したとの情報には、関連認証情報である公開鍵が含まれてもよい。
【0053】
(送付部234)
送付部234は、後述するリカバリ処理を行う必要が生じた場合に、ユーザに関するユーザ情報と新たな認証情報との関連付けに利用される関連付情報を、ユーザに関する宛先情報により指定される宛先へ送付する。つまり、本実施形態において、送付部234は、後述するリカバリ処理を行う必要が生じた場合に、ユーザに関するユーザ情報であるNIDと新たな認証情報である公開鍵との関連付けに利用される関連付情報を、ユーザに関する宛先情報により指定される宛先へ送付する。
【0054】
(判定部235)
判定部235は、後述するリカバリ処理を行う必要が生じた場合に、宛先に対応する送信元から受け付けた関連付情報と新たな公開鍵とシグナチャとに基づいて、ユーザ情報と新たな公開鍵との関連付けを行うか判定する。つまり、本実施形態において、判定部235は、後述するリカバリ処理を行う必要が生じた場合に、宛先に対応する送信元から受け付けた関連付情報と新たな公開鍵とシグナチャとに基づいて、ユーザ情報であるNIDと新たな公開鍵との関連付けを行うか判定する。
【0055】
〔3−2.ユーザ管理装置とユーザ端末〕
ここで、ユーザ管理装置20に格納されているユーザ情報であるNID及び関連認証情報である公開鍵と、ユーザ端末が生成した公開鍵との関係を、図4に示す例に基づいて説明する。図4に示す例では、ユーザ管理装置20内において、NIDid1には、公開鍵ok11、公開鍵ok12等が関連付けて記憶され、NIDid2には、公開鍵ok21等が関連付けて記憶される。そして、ユーザ端末10は、秘密鍵sk12と公開鍵ok12を生成し格納し、ユーザ端末11は、秘密鍵sk11と公開鍵ok11を生成し格納する。
【0056】
そして、ユーザ端末10の公開鍵ok12と、ユーザ端末11の公開鍵ok11とは、ユーザ管理装置20内において、同じNIDid1に関連付けて記憶されている。したがって、図4に示す例においては、ユーザ端末10とユーザ端末11とは、NIDid1で示される同一のユーザの所有するデバイスであることがわかる。このように、ユーザが複数のデバイスを所有している場合であっても、同一のユーザが使用しているデバイスであると判定でき、ユーザとデバイスとの関連付けを行うことが可能となる。
【0057】
〔3−3.ユーザ情報の登録〕
次に、図5を用いて、ユーザ管理装置20にユーザ情報であるNIDが登録されていないユーザから、NIDの登録を要求された場合の処理手順について説明する。図5は、ユーザ管理装置20によるNIDの登録手順を示すフローチャートである。このようなNIDの登録は、例えば、認証システム1を利用するアプリをユーザ端末10にダウンロードした時に実行される。
【0058】
まず、ユーザ管理装置20にNIDの登録を行うユーザは、公開鍵と秘密鍵とを生成する(ステップs101)。そして、生成した秘密鍵を用いてシグナチャを生成する(s102)。図6(a)には、シグナチャのフォーマットの一例を示している。図6(a)に示す例では、シグナチャには、有効期限に関する情報と、リソースパス等の情報が含まれる。図6(b)には具体的な情報が含まれた例を示しており、有効期限に関する情報には有効期限を示す情報が含まれており、リソースパス等の情報には、公開鍵を登録することを要求する情報が含まれている。ユーザは、生成した公開鍵とシグナチャとを用いてユーザ管理装置20の登録APIをコールする(ステップs103)。
【0059】
登録APIをコールされたユーザ管理装置20において、管理部231は、ユーザから受信した公開鍵を用いてシグナチャを復号する。そして、管理部231は、シグナチャを復号することができれば、新しいNIDを払い出す(ステップs104)。次に、管理部231は、新しいNIDと受信した公開鍵とを関連付けて記憶部220に登録する(ステップs105)。
【0060】
〔4.認証処理手順〕
次に、図7を用いて、実施形態に係る認証システム1による認証処理の手順について説明する。図7は、実施形態に係る認証システム1による認証処理手順を示すシーケンス図である。
【0061】
図7に示すように、ユーザは、ユーザ端末10を用いて秘密鍵と公開鍵とを生成し、秘密鍵を用いてシグナチャを生成する(ステップS201)。
【0062】
そして、認証装置100は、ユーザ端末10から公開鍵とシグナチャとを受信した場合に(ステップs202)、公開鍵でシグナチャを復号し、正しく復号できるかチェックする(ステップs203)。
【0063】
続いて、認証装置100は、対応する公開鍵を特定し、シグナチャに基づいてリソースを特定する(ステップs204)。このとき、認証装置100は、対応する公開鍵がなければ、ユーザ管理装置20へ公開鍵の認証を要請する(ステップs205)。認証装置100から要請を受けたユーザ管理装置20は、対応する公開鍵に関する情報である認証の結果を認証装置100へ応答する(ステップs206)。
【0064】
続いて、認証装置100は、シグナチャにより要求されているリソースがある場合、特定したリソースをユーザ端末10へ送信する(ステップs207)。
【0065】
〔5.リカバリ処理〕
ここで、ユーザ管理装置20に登録されているユーザ情報であるNIDに新たに公開鍵を関連付ける際に行うリカバリ処理について図8を用いて説明する。リカバリ処理を行う例としては、例えば機種変更した場合や、リセットにより秘密鍵及び公開鍵が消去された場合等が挙げられる。また、リカバリ処理を行う前提として、ユーザ管理装置20に登録されているNIDには、関連付情報を送付する宛先が関連付けて記憶されている必要がある。図8に示す例においては、宛先としてメールアドレスがNIDに関連付けて記憶されている。なお、宛先としては、電話番号等、情報を伝達可能なものであればよい。
【0066】
まず、リカバリ処理を行いたいユーザは、ユーザ端末からメールアドレスを入力し(ステップs301)、そのメールアドレスを用いてリカバリAPIをコールする(ステップs302)。
【0067】
リカバリAPIをコールされたユーザ管理装置20は、受信したメールアドレスから関連付けられているNIDを逆引きして特定する(ステップs303)。そして、ユーザ管理装置20は、メールアドレスに関連付けられる共通鍵と、認証に用いるコードとを作成する(ステップs304)。ユーザ管理装置20は、作成した共通鍵で関連付情報を暗号化してリカバリキーを生成する(ステップs305)。なお、関連付情報には、有効期限、コード、メールアドレス、NID等の情報が含まれてもよい。そして、ユーザ管理装置20は、送付部234により、入力されたメールアドレスを宛先としてコードをメールで送信し、リカバリキーをユーザへメールで送信する等して渡す(ステップs306)。
【0068】
コードやリカバリキー等が含まれるメールを受信したユーザは、受信したコードを、例えばユーザ管理装置20が提供する認証画面等に入力して、ユーザ管理装置20へ送信する(ステップs307)。そして、コードが認証されたユーザは、新たな公開鍵と秘密鍵とを生成し、生成した秘密鍵でシグナチャを生成する(ステップs308)。その後、ユーザは、コード、メールアドレス、リカバリキー、新たな公開鍵、シグナチャ等を用いてリカバリAPIをコールする(ステップs309)。
【0069】
リカバリAPIをコールされたユーザ管理装置20は、判定部235により受信した新たな公開鍵を用いてシグナチャを復号し、正しく復号できるかチェックする(ステップs310)。そして、ユーザ管理装置20は、判定部235により受信したリカバリキーをメールアドレスに関連付けられた共通鍵で復号し、コード及びメールアドレスの一致を確認する(ステップs311)。上記ステップs310及びs311が成功すれば、ユーザ管理装置20は、新たな公開鍵を関連認証情報として対応するNIDと関連付ける(ステップs312)。これにより、NIDと新たな公開鍵とを関連付けることができる。したがって、上記リカバリ処理を行うことで、ユーザに新しい端末を関連付けることが容易にできる。
【0070】
〔6.変形例〕
上述した実施形態に係る認証システム1は、上記実施形態以外にも様々な異なる形態にて実施されてよい。そこで、以下では、上記の認証システム1の他の実施形態について説明する。
【0071】
〔6−1.認証装置のユーザ情報の格納〕
上記実施形態においては、認証装置100が認証情報である公開鍵に関連付けてリソースを格納する例を示した。しかし、認証装置には、ユーザ情報であるNIDに関連付けてリソースを格納してもよい。以下では、図9を用いて、認証装置がNIDに関連付けてリソースを格納する認証システム2の認証処理の一例について説明する。図9に示す例において、認証装置101は、NIDid1、NIDid3等を含むユーザ情報であるNIDそれぞれに対応するユーザに関する情報であるリソースをNIDと関連付けて記憶する。図9に示す例の場合、NIDid1には、リソースr121、リソースr122等が関連付けて記憶され、NIDid3には、リソースr131等が関連付けて記憶される。
【0072】
ここで、ユーザ管理装置21は、NIDid1、NIDid2等を記憶する。また、ユーザ管理装置21は、それぞれのNIDに対応する公開鍵をNIDと関連付けて記憶する。図9に示す例の場合、NIDid1には、公開鍵ok11、公開鍵ok12等が関連付けて記憶され、NIDid2には、公開鍵ok21等が関連付けて記憶される。
【0073】
図9に示すように、ユーザ端末10は、秘密鍵sk12を用いて認証装置101へ送信する情報を暗号化してシグナチャsg12を生成する(ステップs21)。また、秘密鍵sk12と公開鍵ok12はユーザ端末10により生成される。秘密鍵sk12については、ユーザ端末10は秘匿状態で記憶する。
【0074】
ここで、秘密鍵sk12により暗号化された情報は、公開鍵ok12を用いて復号できる。したがって、公開鍵ok12を用いて復号できたシグナチャsg12は、秘密鍵sk12を保有するユーザのデバイスであるユーザ端末10により暗号化されたと判定できる。言い換えると、シグナチャsg12が公開鍵ok12を用いて復号できた場合、認証装置101は送信元であるユーザ端末10を特定することが可能となる。
【0075】
次に、ユーザ端末10は、シグナチャsg12と公開鍵ok12とを認証装置101へ送信する(ステップs22)。つまり、ユーザ端末10は、公開鍵ok12のペアである秘密鍵sk12により暗号化されたシグナチャsg12と、公開鍵ok12とをセットとして送信する。このとき、ユーザ端末10は、シグナチャsg12と公開鍵ok12とともに送信してもよいし、異なるタイミングで送信してもよい。ここで、シグナチャsg12と公開鍵ok12とともに送信するとは、シグナチャsg12と公開鍵ok12とを同時に送信することや、シグナチャsg12と公開鍵ok12とを一括して送信すること等を含む。
【0076】
認証装置101は、ユーザ端末10からシグナチャsg12と公開鍵ok12とを受信すると、受信した公開鍵ok12を用いてシグナチャsg12を復号する(ステップs23)。上述したように、公開鍵ok12によりシグナチャsg12が正しく復号された場合、認証装置101は、シグナチャsg12の送信元であるユーザ端末10が公開鍵ok12に対応する秘密鍵sk12を保有すると判定できる。公開鍵ok12によりシグナチャsg12が正しく復号できなかった場合、認証装置101は、シグナチャsg12の送信元であるユーザ端末10が公開鍵ok12に対応する送信元ではないと判定し、認証処理を中止する。このとき、認証装置101は、認証処理に失敗したことを適宜の方法によりユーザ端末10へ通知してもよい。
【0077】
次に、認証装置101は、公開鍵ok12によりシグナチャsg12が正しく復号された場合、認証装置101は、公開鍵ok12に対応する公開鍵が認証装置101内に格納されているかを確認する。そして、公開鍵ok12に対応する公開鍵が認証装置101内に格納されている場合、認証装置101は、入力された公開鍵に対応するNIDを返却するユーザ管理装置21のAPIをコールし、格納されていない場合、認証装置101は、ユーザ管理装置21へ公開鍵ok12の認証を要請する要請情報を送信する(ステップs24)。これにより、認証装置101は、受信した公開鍵に対応するNIDをユーザ管理装置21から取得することができる(ステップs25)。認証装置101は、ユーザ管理装置21へ送信した公開鍵に対応するNIDが取得できないか、又は、ユーザ管理装置21が送信した公開鍵の認証に失敗した場合、証処理を中止する。このとき、認証装置101は、認証処理に失敗したことを適宜の方法によりユーザ端末10へ通知してもよい。
【0078】
図9に示す例において、公開鍵ok12に対応する公開鍵が認証装置101内に格納されている場合、認証装置101は、公開鍵ok12を用いてNIDを返却するユーザ管理装置21のAPIをコールし、公開鍵ok12に対応するNIDid1を取得する。また、公開鍵ok12に対応する公開鍵が認証装置101内に格納されていない場合、ユーザ管理装置21へ公開鍵ok12の認証を要請する要請情報を送信し、ユーザ管理装置21から公開鍵ok12の認証の結果を受信する。このとき、認証装置101は、公開鍵ok12を対応するNIDid1に関連付けて格納する。
【0079】
次に、認証装置101は、復号されたシグナチャsg12に基づいてリソースの特定をする。さらに、認証装置101は、復号されたシグナチャsg12によりリソースの取得が要求されていた場合、公開鍵ok12に対応するNIDid1に関連付けて記憶されたリソースr121をユーザ端末10へ送信する(ステップs26)。なお、このとき、認証装置101は、公開鍵ok12を用いて暗号化したリソースr121をユーザ端末10へ送信してもよい。これにより、公開鍵ok12により暗号化されたリソースr121は、秘密鍵sk12を保有するユーザ端末10しか復号できないため、認証装置101は通信のセキュリティを向上することができる。
【0080】
ここで、上記の処理手順を、図10に示すフローチャートを用いて説明する。まず、認証とリソースの要求を行うユーザは、ユーザ端末に格納された秘密鍵を用いてシグナチャを生成する(ステップs401)。そして、その秘密鍵に対応する公開鍵とシグナチャとを用いて、認証装置101のリソースAPIをコールする(ステップs402)。
【0081】
リソースAPIをコールされた認証装置101は、受信した公開鍵を用いてシグナチャを復号し、正しく復号できるかシグナチャをチェックし、検証する(ステップs403)。そして、認証装置101は、公開鍵からNIDを逆引きして特定する(ステップs404)。認証装置101は、公開鍵から対応するNIDを特定する際に、ユーザ管理装置21へ公開鍵に関連付けられているNIDの取得を要求し、ユーザ管理装置21からの情報によりNIDを特定する。
【0082】
続けて、認証装置101は、特定したNIDからリソースを検索する(ステップs405)。そして、特定されたリソースをユーザへ返却する(ステップs406)。これにより、ユーザは異なるユーザ端末から認証装置101にアクセスしても、常に同じNIDに紐づくリソースを取得することができる。
【0083】
〔6−2.ユーザ管理装置と認証装置〕
ここで、図9に示す認証システム2におけるユーザ管理装置21に格納されるユーザ情報であるNIDと、複数の認証装置101、102に格納されるNIDとの関係を、図11に示す例に基づいて説明する。図11に示す例では、ユーザ管理装置21内において、NIDid1には、公開鍵ok11、公開鍵ok12等が関連付けて記憶され、NIDid2には、公開鍵ok21等が関連付けて記憶される。また、図9に示すように認証装置101、102は、それぞれNIDに関連付けてリソースを格納する。
【0084】
そして、ユーザ端末10の公開鍵ok12と、ユーザ端末11の公開鍵ok11とは、ユーザ管理装置21内において、同じNIDid1に関連付けて記憶されている。したがって、図11に示す例においては、認証装置101、102は、ユーザ端末10とユーザ端末11とのいずれから認証とリソースの要求をされても、同じNIDに関連付けられたリソースを返却することができる。すなわち、認証装置101、102は、ユーザ端末10とユーザ端末11とが、NIDid1で示される同一のユーザの所有するデバイスであることがわかる。このように、ユーザが複数のデバイスを所有している場合であっても、同一のユーザが使用しているデバイスであると判定でき、そのユーザに関するリソースを返却することが可能となる。
【0085】
〔6−3.シグナチャ〕
シグナチャに含まれる情報としては、ユーザの権限に関する情報が含まれていてもよい。例えば、ユーザの権限に関する情報として、要求情報であるシグナチャにより特定されるリソースへのアクセスが認められているかの情報をシグナチャが含んでいる場合、特定部133は、ユーザの権限に関する情報に応じてリソースへのアクセス可否を判定する。そして、認証部132は、アクセスが認められている場合のみ、リソースの特定を行う。これにより、ユーザの権限を細かく設定できる。
【0086】
〔6−4.認証情報の失効〕
ユーザ管理装置20の管理部231は、所定の条件を満たした場合、記憶部220に格納された認証情報である公開鍵を失効させてもよい。例えば、ユーザ情報であるNIDが削除された場合に、NIDに関連付けられた関連認証情報である公開鍵を失効させる。図1に示した例に基づいて説明すると、ユーザ管理装置20からNIDid1が削除された場合、公開鍵ok11、公開鍵ok12等、NIDid1に関連付けられている全ての公開鍵を失効させる。また、例えば、要求情報であるシグナチャの暗号化に用いた秘密鍵が送信元であるユーザ端末から削除されるか又は漏洩した場合に、送信元に対応する関連認証情報である公開鍵を失効させる。図1に示した例に基づいて説明すると、送信元であるユーザ端末10から秘密鍵sk12が削除されるか又は漏洩した場合、ユーザ管理装置20は、ユーザ端末10に対応する関連認証情報である公開鍵ok12を失効させる。つまり、複数ある認証装置側の認証情報である公開鍵を失効させる必要はなく、ユーザ管理装置の関連認証情報である公開鍵を失効させるだけでよい。これにより、不正なアクセス等を防止することができる。なお、ユーザ管理装置20は、公開鍵を失効させたことを、適宜の手段により失効させた公開鍵を格納している認証装置100へ通知してもよい。また、ユーザ管理装置20が失効させた公開鍵に関する通知を受けた認証装置100は、対応する公開鍵を失効させてもよい。
【0087】
〔6−5.認証の権限委譲〕
上記実施形態においては、公開鍵と秘密鍵のペアを生成したユーザ端末から受信した公開鍵とシグナチャとを用いて認証を行ったが、ユーザ端末は他のユーザ端末へ認証を受ける権限を委譲してもよい。例としては、店舗へ入ったユーザが所持するユーザ端末から他のユーザ端末である店舗端末へ権限の委譲を行う場合が挙げられる。図12は認証の権限を委譲した場合の認証システム3の一例を示しており、その処理について以下説明する。図12では、ユーザが所持するユーザ端末12から権限が委譲された店舗端末であるユーザ端末13が、ユーザ管理装置22へ認証を要求し、ユーザ管理装置22からリソースとしてメールアドレスを取得する場合を一例として示している。なお、リソースとしては、メールアドレスに限らず、住所や氏名等の個人情報や顔写真等の画像情報であってもよい。
【0088】
図12に示す例においては、ユーザ管理装置22は、ユーザ情報としてNIDid1、NIDid2等を記憶する。また、ユーザ管理装置22は、それぞれのNIDに対応するメールアドレスをNIDと関連付けて記憶している。図12に示す例の場合、NIDid1には、メールアドレスm1が関連付けて記憶されており、NIDid2には、メールアドレスm2が関連付けて記憶されている。また、図示することは省略するが、図12に示す例においては、各NIDには対応する公開鍵やリソースが関連付けられている。
【0089】
図12に示すように、ユーザ端末12は、秘密鍵sk14を用いて認証装置101へ送信する情報を暗号化してシグナチャsg14を生成する(ステップs31)。ユーザ端末12は、シグナチャsg14と公開鍵ok14とをユーザ端末13へ送信する(ステップs32)。
【0090】
ユーザ端末13は、ユーザ端末12から受信したシグナチャsg14と公開鍵ok14とをユーザ管理装置22へ送信する(ステップs33)。
【0091】
ユーザ端末13からシグナチャsg14と公開鍵ok14とを受信したユーザ管理装置22は、受信した公開鍵ok14を用いてシグナチャsg14を復号し、正しく復号できるか確認する(ステップs34)。公開鍵ok14によりシグナチャsg14が正しく復号できなかった場合、ユーザ端末13がユーザ端末12から権限を委譲された送信元ではないと判定し、認証処理を中止する。このとき、ユーザ管理装置22は、認証処理に失敗したことを適宜の方法によりユーザ端末12やユーザ端末13へ通知してもよい。
【0092】
次に、ユーザ管理装置22は、公開鍵ok14によりシグナチャsg14が正しく復号された場合、公開鍵ok14に対応するNIDがユーザ管理装置22内に格納されているかを確認する(ステップs35)。ユーザ管理装置22が公開鍵ok14に対応するNIDid1がユーザ管理装置22内に格納されていると判定した場合、公開鍵ok14の認証に成功した判定し、NIDid1に関連付けられているメールアドレスm1をユーザ端末13へ送信する(ステップs36)。これにより、ユーザ端末12から権限を委譲されたユーザ端末13は、ユーザ管理装置22からユーザ端末12に関するリソースを取得することが可能となる。なお、ユーザ管理装置22が公開鍵ok14に対応するNIDがユーザ管理装置22内に格納されていないと判定した場合、公開鍵ok14の認証に失敗したとの応答をユーザ端末13へ送信し、認証処理を中止する。
【0093】
〔6−6.装置構成〕
また、図2に示した認証装置100は、記憶部120を有しなくてもよい。具体的には、認証装置100は、記憶部120を保持するデータベースサーバと接続されてもよい。また、図3に示したユーザ管理装置20は、記憶部220を有しなくてもよい。具体的には、ユーザ管理装置20は、記憶部220を保持するデータベースサーバと接続されてもよい。
【0094】
〔6−7.プログラム〕
また、上述してきた実施形態に係る認証装置100やユーザ管理装置20は、例えば図13に示すような構成のコンピュータ1000によって実現される。図13は、認証装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0095】
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0096】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、通信網30を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを通信網30を介して他の機器へ送信する。
【0097】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0098】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0099】
例えば、コンピュータ1000が実施形態に係る認証装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内のデータが格納される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から通信網30を介してこれらのプログラムを取得してもよい。
【0100】
〔6−8.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0101】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図2に示した受付部131と送信部135とは統合されてもよい。
【0102】
また、上述してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0103】
〔6−9.効果〕
上述してきたように、実施形態に係る認証装置100は、受付部131と、認証部132とを有する。受付部131は、送信元のデバイスに対応する認証情報(実施形態においては、公開鍵。以下同じ)と、前記デバイスに格納された非公開情報(実施形態においては、秘密鍵。以下同じ)により暗号化された情報であって認証情報により復号される要求情報(実施形態においては、シグナチャ。以下同じ)とを受け付ける。認証部132は、認証情報と要求情報とに基づいてデバイスに対応するユーザを認証する。
【0104】
これにより、認証装置100がユーザ端末から受信したシグナチャと公開鍵とを用いて認証処理を行うため、認証装置100から情報が漏洩する可能性を低減することができる。認証装置100は、送信元であるユーザ端末が保有する秘密鍵を用いて暗号化されたシグナチャと、公開されている公開鍵とを用いて認証を行う。そのため、認証装置100から認証情報である公開鍵やシグナチャが漏洩したとしても悪用されてリソースが盗まれたり、なりすましされたりする可能性を低減することができる。また、認証装置100は、IDとパスワードとを用いたログインの必要ない認証を提供することができるため、ユーザの負担を軽減することができる。
【0105】
また、実施形態に係る認証装置100において、受付部131は、認証情報と要求情報とをともに受け付ける。認証部132は、認証情報と、当該認証情報とともに受け付けた要求情報とに基づいてユーザを認証する。
【0106】
これにより、実施形態に係る認証装置100は、認証情報と要求情報とが同じ送信元から送信されており、送信元が公開鍵とペアとなる秘密鍵を確かに保持していることが確認できるので、認証情報と要求情報とに基づいて認証を行うことにより正確に認証することができる。したがって、認証装置100は、なりすましされたりする可能性をさらに低減することができる。
【0107】
また、実施形態に係る認証装置100において、受付部131は、有効期限に関する情報を含む要求情報を受け付ける。認証部132は、要求情報に含まれる有効期限に関する情報に基づいて有効期限の経過前であると判定した場合にデバイスに対応するユーザを認証する。
【0108】
これにより、実施形態に係る認証装置100は、有効期限の経過前である場合のみ、認証を受け付けるため、よりセキュリティレベルの高いユーザ認証ができる。
【0109】
また、実施形態に係る認証装置100は、要請部134を有する。要請部134は、ユーザに関するユーザ情報(実施形態においては、NID。以下同じ)と、ユーザに関連する認証情報である関連認証情報とを関連付けて管理するユーザ管理装置20に対して、認証情報の認証を要請する。認証部132は、ユーザ管理装置20により認証情報の認証が成功した場合、認証情報と要求情報とに基づいてデバイスに対応するユーザを認証する。
【0110】
これにより、実施形態に係る認証装置100においては、認証装置100に認証情報が格納されていないユーザについても認証できる。言い換えると、これにより、認証装置100は新しい認証情報の追加が可能となる。
【0111】
変形例に係る認証装置101は、特定部を有する。特定部は、ユーザ情報に対応付けて記憶されているリソースのうち前記要求情報により要求されているリソースを特定する。
【0112】
これにより、変形例に係る認証装置101は、認証を行うとともに、認証に用いる情報によってリソースの特定までを行うことにより、ユーザビリティを向上させることができる。
【0113】
実施形態に係る認証装置100は、特定部133を有する。特定部133は、認証情報に対応付けて記憶されているリソースのうち前記要求情報により要求されているリソースを特定する。
【0114】
これにより、実施形態に係る認証装置100は、認証を行うとともに、認証に用いる情報によってリソースの特定までを行うことにより、ユーザビリティを向上させることができる。
【0115】
また、実施形態に係る認証装置100において、受付部131は、ユーザの権限に関する情報を含む要求情報を受け付ける。認証部132は、要求情報に含まれる権限に関する情報に基づいて、要求情報により特定されるリソースへのアクセスが認められているかを判定する。
【0116】
これにより、実施形態に係る認証装置100は、ユーザの権限を細かく設定でき、不要なリソースへのアクセス等を防止できる。
【0117】
また、実施形態に係る認証装置100は、送信部135を有する。送信部135は、要求情報に基づいて特定されたリソースに関する情報を送信元へ送信する。
【0118】
これにより、実施形態に係る認証装置100においては、ユーザへリソースを提供できる。
【0119】
また、実施形態に係るユーザ管理装置20は、管理部231と、認証引受部232と、応答部233とを有する。管理部231は、ユーザに関するユーザ情報と、ユーザに関連する認証情報である関連認証情報とを関連付けて管理する。認証引受部232は、受け付けた要請情報に基づいて認証情報を認証する。応答部233は、認証情報の認証の結果に関する情報を応答する。
【0120】
これにより、実施形態に係るユーザ管理装置20は、認証装置100へ認証の結果を応答することができる。
【0121】
また、実施形態に係るユーザ管理装置20において、管理部231は、ユーザ情報が削除された場合に、ユーザ情報に関連付けられた関連認証情報を失効させる。
【0122】
これにより、実施形態に係るユーザ管理装置20は、不正なアクセス等を防止することができる。
【0123】
また、実施形態に係るユーザ管理装置20において、管理部231は、要求情報の暗号化に用いた非公開情報が送信元から削除されるか又は漏洩した場合に、送信元に対応する関連認証情報を失効させる。
【0124】
これにより、複数ある認証装置側の認証情報である公開鍵を失効させる必要はなく、ユーザ管理装置20の関連認証情報である公開鍵を失効させるだけでよい。したがって、実施形態に係るユーザ管理装置20は、不正なアクセス等を防止することができる。
【0125】
また、実施形態に係るユーザ管理装置20は、送付部234と、判定部235とを有する。送付部234は、ユーザに関するユーザ情報と新たな認証情報との関連付けに利用される関連付情報を、ユーザに関する宛先情報により指定される宛先へ送付する。判定部235は、宛先に対応する送信元から受け付けた関連付情報と新たな認証情報と要求情報とに基づいて、ユーザ情報と新たな認証情報との関連付けを行うか判定する。管理部231は、判定部235により関連付けを行うと判定された場合、新たな認証情報を新たな関連認証情報としてユーザ情報に関連付ける。
【0126】
これにより、実施形態に係るユーザ管理装置20は、関連認証情報を新しく追加することができる。
【0127】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0128】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、受付部は、受付手段や受付回路に読み替えることができる。
【符号の説明】
【0129】
1 認証システム
10 ユーザ端末
20 ユーザ管理装置
100 認証装置
120 記憶部
131 受付部
132 認証部
133 特定部
134 要請部
135 送信部
220 記憶部
231 管理部
232 認証引受部
233 応答部
234 送付部
235 判定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13