説明

データ処理装置及びデータ処理方法及びプログラム

【課題】暗号化されていない平文登録データを用いるユーザ認証と、暗号化された暗号文登録データを用いるユーザ認証とを併用できる構成を実現する。
【解決手段】検証部107は、平文登録データを検索してユーザ認証を行い、秘匿検索部109は、暗号文登録データを検索してユーザ認証を行う。検証部107は、ユーザ端末装置からユーザ認証要求を受信すると、ユーザ認証要求に所定の判別子データが含まれているか否かを判断し、判別子データが含まれている場合は、ユーザ認証要求の送信元のユーザ端末装置のユーザのユーザ認証を、暗号文登録データを用いて秘匿検索部109に行わせ、判別子データが含まれていない場合は、検証部107自身が平文登録データを用いたユーザ認証を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザを認証する技術に関する。
【背景技術】
【0002】
ネットワーク上の多数のサービスを利用する際に、個別のサービスの利用に必要なサービスID(Identifier)を、「共通ID」と呼ばれる特定のIDに対応付ける、IDマッピングと呼ばれる技術がある。
IDマッピングを用いると、共通IDに対してパスワードチェックなどの認証を行った結果を信頼し、サービスIDでの認証を行わずにサービス利用を許可する認証システムを実現できる。
例えば、ユーザXのサービスAにおけるユーザID(サービスID)がaxxであり、サービスBおけるユーザID(サービスID)がbxxである場合を想定する。
そして、ポータルにおいて共通ID:xxxをユーザID:axxとユーザID:bxxとに対応付けておき、ポータルが共通ID:xxxに対して認証を行うと、サービスAはユーザID:axxでの認証を行わずにユーザXにサービスの利用を許可し、サービスBはユーザID:bxxでの認証を行わずにユーザXにサービスの利用を許可することができる。
【0003】
このような、ユーザ認証を行うシステムにおいては、共通IDのような認証用のIDはLDAP(Lightweight Directory Access Protocol)と呼ばれる標準インタフェースを提供するミドルウェアに格納するのが一般的である。
特許文献1には、従来技術で実現した認証システムの例が示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2011−3100号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
認証システム内で、共通IDとサービスIDの対応情報を管理するIDマッピング機能においては、暗号化したデータを復号せずに比較し検索することを可能にする秘匿検索技術を用いて、共通ID、サービスIDを暗号化し安全に管理するよう構成することができる。
【0006】
IDマッピング機能を持つ認証システム内で、共通IDを秘匿検索技術により暗号化して格納する場合には、以下の課題がある。
【0007】
LDAPは一般的には秘匿検索技術に対応していないため、暗号化された共通IDをLDAPで検索するためには、LDAPを拡張した秘匿検索インタフェースを独自に構築する必要がある。
しかしながら、秘匿検索インタフェースをLDAPに追加すると、標準インタフェースとしてのLDAPの利用価値が薄れる。
また既存の認証システムを大幅改修する必要が生じる。
一方、現状の秘匿検索技術は検索実行に時間が係ることから、認証システムにおいては、共通IDの安全性のレベルをダウンさせる代わりに秘匿検索技術を適用しないオプションを提供したいというニーズがある。
このため、既存のLDAPをそのまま利用し秘匿検索技術を適用しない認証と、秘匿検索技術を適用する認証を、1つの認証システムの中で共存させる必要がある。
【0008】
この発明は、このような点に鑑み、暗号化されていない平文の登録データを用いるユーザ認証と、暗号化された暗号文の登録データを用いるユーザ認証とを併用できる構成を実現することを主な目的とする。
【課題を解決するための手段】
【0009】
本発明に係るデータ処理装置は、
暗号化されていない状態で登録されている平文登録データを検索してユーザ認証を行う第1のユーザ認証部と、
暗号化された状態で登録されている暗号文登録データを検索してユーザ認証を行う第2のユーザ認証部と、
前記第2のユーザ認証部によるユーザ認証の対象となるユーザが利用するユーザ端末装置に通知されるデータであって、前記第2のユーザ認証部によるユーザ認証の対象となるユーザを判別するためのデータを、判別子データとして記憶する判別子データ記憶部と、
いずれかのユーザ端末装置から、当該ユーザ端末装置を利用するユーザのユーザ認証を要求するユーザ認証要求を受信する通信部と、
前記ユーザ認証要求に前記判別子データが含まれているか否かを判断し、前記ユーザ認証要求に前記判別子データが含まれている場合に、前記ユーザ認証要求の送信元のユーザ端末装置のユーザのユーザ認証を前記第2のユーザ認証部に行わせ、前記ユーザ認証要求に前記判別子データが含まれていない場合に、前記ユーザ認証要求の送信元のユーザ端末装置のユーザのユーザ認証を前記第1のユーザ認証部に行わせる認証管理部とを有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、ユーザ認証要求に判別子データが含まれている場合は、暗号文登録データを用いる第2のユーザ認証部にユーザ認証を行わせ、判別子データが含まれていない場合は、平文登録データを用いる第1のユーザ認証部にユーザ認証を行わせるため、平文登録データを用いるユーザ認証と、暗号文登録データを用いるユーザ認証とを併用することができる。
【図面の簡単な説明】
【0011】
【図1】実施の形態1に係る認証システムの構成例を示す図。
【図2】実施の形態1に係る検証部と記憶部が保管する情報の例を示す図。
【図3】実施の形態1に係る認証システムの動作例を示すフローチャート図。
【図4】実施の形態1に係る認証システムの動作例を示す図。
【図5】実施の形態2に係る認証システムの構成例を示す図。
【図6】実施の形態2に係る検証部と記憶部が保管する情報の例を示す図。
【図7】実施の形態2に係る検証部と記憶部が保管する情報の例を示す図。
【図8】実施の形態2に係る認証システムの動作例を示すフローチャート図。
【図9】実施の形態2に係る認証システムの動作例を示す図。
【図10】実施の形態3に係る認証システムの構成例を示す図。
【図11】実施の形態3に係る認証システムの動作例を示すフローチャート図。
【図12】実施の形態4に係るサービス構成情報管理部が保管する情報の例を示す図。
【図13】実施の形態4に係る認証システムの動作例を示すフローチャート図。
【図14】実施の形態1〜4に係る認証システムのハードウェア構成例を示す図。
【発明を実施するための形態】
【0012】
実施の形態1.
図1に、本実施の形態に係る認証システム100の機能構成例を示す。
なお、認証システム100は、データ処理装置の例に相当する。
【0013】
図1において、認証システム100は、要求受付部106、認証情報送信部104、検証部107からなる制御部101、ユーザを識別する情報であるIDを記憶するアカウントDB(Database)110を備える記憶部102、通信制御インタフェース部103(通信制御I/F部とも表記する)を備えている。
【0014】
通信制御インタフェース部103は、ユーザが利用するユーザ端末装置と通信を行う。
通信制御インタフェース部103は、例えば、ユーザ端末装置からユーザ認証要求を受信し、また、後述する仮ID、認証情報、転送情報等をユーザ端末装置に送信する。
通信制御インタフェース部103は、通信部の例に相当する。
【0015】
要求受付部106は、通信制御インタフェース部103で受信されたユーザ端末装置からのユーザ認証要求を受け付ける。
【0016】
認証情報送信部104は、通信制御インタフェース部103を介して、ユーザ認証の認証結果を示す認証情報をユーザ端末装置に送信する。
【0017】
上述のLDAPは、本構成において、検証部107の提供するインタフェースである。
検証部107は、暗号化されていない状態で登録されているデータ(平文登録データともいう)を検索してユーザ認証を行う。
平文登録データとしては、例えば、IDマッピングにおける共通IDがある。
なお、上記の「暗号化されていない状態」及び「平文」とは、秘匿検索に用いられる暗号アルゴリズムで暗号化されていないという意味である。
このため、ユーザ端末装置200と認証システム100との間で共有している鍵(公開鍵方式、共通鍵方式の別を問わない)で登録データを暗号化していても、「暗号化されていない状態」及び「平文」に該当する。
検証部107は、第1のユーザ認証部に相当する。
また、検証部107は、ユーザ端末装置からのユーザ認証要求に後述の仮IDが含まれているか否かを判断する。
そして、ユーザ認証要求に仮IDが含まれている場合に、ユーザ認証要求の送信元のユーザ端末装置のユーザのユーザ認証を後述の秘匿検索部109に行わせ、ユーザ認証要求に仮IDが含まれていない場合に、ユーザ認証要求の送信元のユーザ端末装置のユーザのユーザ認証を検証部107自身が行う。
検証部107は、認証管理部の例にも相当する。
【0018】
また、本実施の形態に係る認証システム100は、認証情報送信部104内に仮ID処理部105、検証部107内に仮ID管理部108、記憶部102内に秘匿検索部109を備える。
【0019】
秘匿検索部109は、暗号化された状態で登録されているデータ(暗号文登録データともいう)を秘匿検索してユーザ認証を行う。
暗号文登録データとしては、例えば、IDマッピングにおける共通IDが暗号化されたものがある。
秘匿検索部109は、秘匿検索に対応したアルゴリズムで暗号化された情報を含む検索条件を受け取り、記憶部102内のアカウントDB110が保管している、秘匿検索に対応したアルゴリズムで暗号化された暗号文登録データと、検索条件内の暗号化された情報のそれぞれを復号することなく比較し検索する機能を提供する。
なお、秘匿検索部109は、第2のユーザ認証部の例に相当する。
【0020】
仮ID処理部105は、IDを秘匿検索に対応したアルゴリズムで暗号化し登録することを要求するユーザに対しては、仮IDを発行し、また検証部107に仮IDを登録するとともに、仮IDの属性の一つとして秘匿検索部109への転送情報(秘匿検索部109のURI(Universal Resource Identifier)を当該転送情報とすることで実現できる)を登録する。
つまり、仮IDは、秘匿検索部109の秘匿検索によるユーザ認証の対象となるユーザを判別するためのデータであり、判別子データの例に相当する。
仮IDは、平文登録データ(例えば、平文の共通ID)、暗号文登録データ(例えば、暗号化された共通ID)とも異なっているデータである必要がある。
なお、仮IDは、秘匿検索部109によるユーザ認証を希望するユーザのユーザ端末装置に通知される。
また、転送情報は、ユーザが持つ暗号復号用の鍵で復号できる暗号の暗号化鍵を認証システム100が持つ場合、この暗号化鍵を用いて暗号化しておくことができる。
このような暗号化鍵は、例えばユーザと認証システムが共通鍵暗号の暗号化鍵を共有することにより実現できる。
なお、転送情報は、アクセス情報の例に相当する。
【0021】
仮ID管理部108は、仮IDを保管し、また仮IDに関連付けた属性の一つとして、秘匿検索部109への転送情報を保管する機能を提供する。
このように、仮ID管理部108は、判別子データである仮IDを記憶しており、判別子データ記憶部の例に相当する。
なお、仮ID管理部108は、記憶部102以外の記憶領域(例えば、RAM(Random Access Memory))とする。
【0022】
なお、認証システム100を、プロセッサ、RAM、磁気ディスク装置、通信インタフェース等を備える一般的なコンピュータとすることができる。
この場合、アカウントDB110を含む記憶部102を磁気ディスク装置で、認証情報送信部104、仮ID処理部105、要求受付部106、検証部107、仮ID管理部108及び秘匿検索部109をプロセッサで実行されるコンピュータプログラムとして、実現することができる。
なお、秘匿検索部109は、アカウントDB110に記憶されている暗号文登録データの秘匿検索を行い、記憶部102と密接な関係にあるため記憶部102内に図示しているが、秘匿検索部109はコンピュータプログラムとして実現されるものであり、記憶部102内の静的なファイル等ではない。
【0023】
図2に、本実施の形態に係る認証システム100の検証部107の仮ID管理部108と記憶部102のアカウントDB110が保管する情報の例を示す。
【0024】
この例では、検証部107の仮ID管理部108の「共通ID」の項目に仮IDとして「仮ID1」という値が登録されており、この「仮ID1」に関連付けられている属性の一つである「属性2」の値に、秘匿検索部109への転送情報が登録されている。
記憶部102のアカウントDB110には「共通ID」として「CID1」という値が暗号化されて格納されている。
ユーザ端末装置200が、「仮ID1」を含むユーザ認証要求を送信した場合、通信制御インタフェース部103及び要求受付部106を経由して、検証部107がユーザ認証要求を入力し、入力したユーザ認証要求に仮IDが含まれているか否かを判断する。
そして、ユーザ認証要求に「仮ID1」が含まれている場合は、検証部107は、「仮ID1」のレコードの「属性2」にある転送情報を、通信制御インタフェース部103を介して、ユーザ端末装置200に送信する。
【0025】
ユーザ端末装置200では、ユーザ自身が持つ「CID1」という値を暗号化し、秘匿検索部109への転送情報をもとに、暗号化された「CID1」が含まれる秘匿検索要求を秘匿検索部109へ送信する。
秘匿検索部109は、通信制御インタフェース部103及び要求受付部106を経由して、秘匿検索要求を入力し、入力した秘匿検索要求に含まれる暗号化された「CID1」と一致する値が、記憶部102のアカウントDB110の「共通ID」欄にあるか否かを秘匿検索する。
図2の場合は、暗号化された「CID1」がアカウントDB110に登録されているので、認証に成功する。
【0026】
なお、図2において、サービス(1)300とサービス(2)400は、それぞれ異なるサービスを提供するサービスアプリケーション又は当該サービスアプリケーションが実装されているサーバ装置である。
つまり、サービス(1)300、サービス(2)400との表記は、サービスアプリケーション又は当該サービスアプリケーションが実装されているサーバ装置を意味する。
また、サービス(1)300では、ユーザ端末装置200のユーザのユーザIDをサービスID1(SID1)として管理しており、サービス(2)400では、ユーザ端末装置200のユーザのユーザIDをサービスID2(SID2)として管理している。
サービス(1)300とサービス(2)400に関連する動作は、実施の形態2以降で説明する。
【0027】
図3に、本実施の形態に係る認証システム100の動作のフローチャートを示す。
【0028】
秘匿検索に対応したアルゴリズムによるIDの暗号化を使用するユーザは、IDを認証システム100に登録する際、仮IDの払い出しを受ける。
仮IDの払い出しは、認証システム100からユーザ端末装置200に仮IDを送信してもよいし、可搬記憶媒体(例えば、ICカード)に仮IDを格納し、ユーザ端末装置200に可搬記憶媒体から仮IDを読み込ませてもよい。
仮IDは、ユーザ端末装置200で復号可能な方式にて暗号化されて送信、又は可搬記憶媒体に格納されてもよい。
ユーザは、この仮IDを用いて、ユーザ認証要求を行う。
【0029】
ユーザ端末装置200から送信されたユーザ認証要求が、通信制御インタフェース部103及び要求受付部106を経由して、検証部107に入力された際に(S301)、検証部107が、入力したユーザ認証要求に仮IDが含まれているか否かを判断する(S302)。
【0030】
ユーザ認証要求に仮IDが含まれている場合(S302でYES)は、検証部107は、仮ID管理部108内の「共通ID」の項目を検索し、ユーザ認証要求に含まれている仮IDと同じ仮IDが「共通ID」の項目に存在するレコードを抽出し、抽出したレコード内の転送情報(秘匿検索部109への転送情報)を取り出す(S303)。
そして、検証部107は、通信制御インタフェース部103を介して、取り出した転送情報を、ユーザ認証要求への応答として、ユーザ端末装置200に送信する。
【0031】
転送情報を受信したユーザ端末装置200は、転送情報をもとに秘匿検索部109にアクセスする。
つまり、ユーザ端末装置200は、暗号化した共通IDが含まれる秘匿検索要求を秘匿検索部109に対して送信する(S304)。
なお、この秘匿検索部109へのアクセスは、例えばインターネットで標準的に使われている通信手順であるHTTP(HyperText Transfer Protocol)によるアクセス要求を転送するHTTPリダイレクトと呼ばれる機能を用いて実現できる。
なお、検証部107からユーザ端末装置200に転送情報を送信する際に、前述したように、転送情報をユーザの暗号化鍵で暗号化してもよい。
転送情報が暗号化されている場合は、ユーザ端末装置200は、転送情報を復号した後、秘匿検索部109にアクセスする。
あるいは、転送情報は平文のままユーザ端末装置200に送信してもよい。
この場合、ユーザの暗号化鍵による復号は必要ない。
【0032】
ユーザ端末装置200から送信された秘匿検索要求は、通信制御インタフェース部103を介して、秘匿検索部109に入力される。
秘匿検索部109は、秘匿検索に対応したアルゴリズムにより暗号化されたIDを検索する(S305)。
つまり、入力した秘匿検索要求に含まれる暗号化された共通IDと一致する値が、記憶部102のアカウントDB110の「共通ID」の欄にあるか否かを秘匿検索する。
秘匿検索の結果、ユーザ端末装置200からの秘匿検索要求に含まれる共通IDと一致する共通IDがアカウントDB110に登録されていることが判明した場合(S306でYES)、すなわち、検索に成功した場合は、認証情報送信部104が、認証に成功したことを示す認証成功情報を、通信制御インタフェース部103を介して、ユーザ端末装置200に送信する(S307)。
一方、秘匿検索要求に含まれる共通IDと一致する共通IDがアカウントDB110に登録されていないことが判明した場合(S306でNO)、すなわち、検索に失敗した場合は、認証情報送信部104が、認証に失敗したことを示す認証失敗情報を、通信制御インタフェース部103を介して、ユーザ端末装置200に送信する(S309)。
【0033】
一方、S302でNOの場合、すなわち、ユーザ認証要求に仮IDが含まれていない場合は、ユーザの共通IDそのものがユーザ認証要求に含まれているので、検証部107は、仮ID管理部108に当該共通IDが登録されているか否かを判断する(S308)。
そして、ユーザ端末装置200からのユーザ認証要求に含まれる共通IDと一致する共通IDが仮ID管理部108に登録されていることが判明した場合(S308でYES)、すなわち、検索に成功した場合は、認証情報送信部104が、認証成功情報を、通信制御インタフェース部103を介して、ユーザ端末装置200に送信する(S307)。
一方、ユーザ認証要求に含まれる共通IDと一致する共通IDが仮ID管理部108に登録されていないことが判明した場合(S308でNO)、すなわち、検索に失敗した場合は、認証情報送信部104が、認証失敗情報を、通信制御インタフェース部103を介して、ユーザ端末装置200に送信する(S309)。
【0034】
図3で説明したように、秘匿検索に対応したアルゴリズムによるIDの暗号化を使用しないユーザは、仮IDでなく、共通IDそのものを利用して認証システム100にアクセスし、検証部107による認証結果を受け取る。
この様子を図4に示す。
図4において、ユーザは暗号化されていない平文の共通IDであるCID0を用いてユーザ認証要求を認証システム100に送り、認証システム100は、検証部107に平文のCID0が登録されていることを確認し、認証に成功したことを示す認証成功情報を、ユーザ端末装置200に返す。
【0035】
なお、図2と図4の仮ID管理部108における登録内容が相違しているが、説明の便宜上、図2と図4に分けて説明を行っているからであり、仮ID管理部108では、「共通ID」の項目に仮IDが示されるレコードと、共通ID(平文)が示されるレコードの両者が存在しており、「共通ID」の項目に仮IDが示されるレコードには転送情報が含まれている。
図2では、説明のために、共通IDの項目に仮ID(仮ID1)が示されるレコードのみを抜き出して例示しており、図4では、共通IDの項目に共通ID(CID0)が示されるレコードのみを抜き出して例示している。
【0036】
以上のように構成することにより、LDAPなど標準的なインタフェースで構築された検証部を秘匿検索技術に対応させるための独自の拡張を行うことなく、既存の認証システムの大幅改修を必要とせずに、IDを秘匿検索に対応したアルゴリズムにより暗号化するユーザと、暗号化しないユーザとを共存させることが可能になる。
【0037】
なお、以上の説明では、説明の簡明化のため、パスワード等による認証処理を省略している。
実際の運用では、認証システム100内に、共通IDに対応付けてパスワード等を登録しておき、ユーザ端末装置200からは、共通ID(平文又は暗号文)とともにパスワードを送信し、共通IDの登録有無とともに、パスワードが一致するか否かを判断して、ユーザ認証を行うことになる。
なお、以降の実施の形態でも、同様に、説明の簡明化のため、パスワード等による認証処理は記述を省略している。
【0038】
以上、本実施の形態では、
ユーザを認証する認証システムであって、
要求受付部、認証情報送信部、検証部からなる制御部、ユーザを識別する情報であるIDを記憶するアカウントDBを備える記憶部、通信制御インタフェース部を備え、
記憶部のうち、アカウントDBにおいては、IDを暗号化して格納する場合には、IDおよび検索条件を、ともに暗号化された状態のままで比較することを可能にする秘匿検索に対応したアルゴリズムでIDを暗号化して格納し、また記憶部は、アカウントDBの格納しているIDを暗号化したまま検索条件と比較する秘匿検索部を備え、
検証部は、記憶部内の秘匿検索部への転送情報を、IDに関連づけられた属性の一つとして保管し、
検証部は、更に、秘匿検索に対応したアルゴリズムでIDを暗号化する場合、IDと異なる値を持つ仮IDを振り出し、
検証部は、仮IDを受け付けると、仮IDに関連付けられた属性の一つとして保管されている秘匿検索部への転送情報を取り出し、ユーザに当該転送情報を送信し、
秘匿検索に対応したアルゴリズムでIDを暗号化するユーザは、仮IDを用いて制御部に認証要求を送り、その応答として当該秘匿検索部への転送情報を受け取り、当該秘匿検索部への転送情報にもとづいて、記憶部の秘匿検索部に、ユーザ自身を識別するIDを暗号化した状態で送信し、秘匿検索部により当該IDがアカウントDBに登録されているかどうかを確認することにより認証を行い、
秘匿検索に対応したアルゴリズムでIDを暗号化しないユーザは、ユーザ自身を識別するIDを平文のまま、または検証部が復号可能なアルゴリズムで暗号化したものを、認証要求とともに検証部に送信し、検証部が当該IDを持つかどうかを確認することにより認証を行う認証システムを説明した。
【0039】
また、上記の認証システムの制御部では、認証情報送信部に仮ID処理部が、検証部に仮ID管理部が存在することを説明した。
【0040】
実施の形態2.
認証システムは、IDに加えて、ユーザの属性に関する情報もIDと関連付けて保管し、個別のサービスからの要望に応じて属性の値を開示するように構成することができる。
このような属性値には、クレジットカード番号や保険証の番号のように、秘匿することが必要な情報が含まれる。
【0041】
本実施の形態に係る認証システムは、ユーザの属性の値(属性値)を、秘匿検索に対応したアルゴリズムにより暗号化して保管し、またユーザやサービスより、当該属性値の属性値または属性値に関する条件を秘匿検索に対応したアルゴリズムにより暗号化した状態で含む属性値検索条件を受け取り、属性値および検索条件内の暗号化した部分を復号することなく、検索に成功したかどうかを返す。
【0042】
図5に、本実施の形態に係る認証システム100(データ処理装置)の構成を示す。
本実施の形態に係る認証システム100は、図1の構成に加えて、認証情報送信部104内に仮属性処理部111を備え、検証部107内に仮属性管理部112を備える。
【0043】
仮属性処理部111は、IDに関連付けた属性の値を秘匿検索に対応したアルゴリズムで暗号化し登録することを要求するユーザに対しては、仮属性値として、秘匿検索部109への転送情報を登録する機能を提供する。
なお、秘匿検索部109への転送情報は、実施の形態1で説明したように、ユーザの暗号化鍵で暗号化されていてもよい。
このとき、ユーザは、秘匿検索部109への転送情報を復号した後、秘匿検索部109にアクセスする。
【0044】
仮属性管理部112は、IDに関連付けた属性の値である仮属性値として秘匿検索部109への転送情報を保管する機能を提供する。
【0045】
なお、例えば、仮ID処理部105が仮属性処理部111を、仮ID管理部108が仮属性管理部112を兼ねるように構成することもできる。
【0046】
なお、本実施の形態では、通信制御インタフェース部103は、ユーザが利用するユーザ端末装置又はサービスと通信を行う。
本実施の形態では、例えば、ユーザ端末装置又はサービスから属性値検索要求を受信する。
通信制御インタフェース部103は、通信部の例に相当する。
【0047】
要求受付部106は、通信制御インタフェース部103で受信されたユーザ端末装置又はサービスからの属性値検索要求を受け付ける。
【0048】
認証情報送信部104は、通信制御インタフェース部103を介して、属性値検索要求に対する処理結果を示す情報をユーザ端末装置又はサービスに送信する。
【0049】
検証部107は、共通IDに関連付けられている属性値を暗号化されていない状態で管理する。
後述する図6及び図7に示すように、本実施の形態では、共通IDに対して複数の項目(属性1、属性2等)が設けられており、各項目に対応する属性値が、共通IDに関連付けられて格納されている。
本実施の形態で説明する属性値は、このように、項目ごとに区分されて管理されているデータであり、項目データの例に相当する。
そして、検証部107は、複数の項目のうち、いずれかの項目の属性値(項目データ)を暗号化されていない状態で管理する。
図7の例では、「属性2」の属性値は、暗号化されていない状態で検証部107により管理されている。
検証部107は、第1の項目データ管理部の例に相当する。
また、検証部107は、属性値検索要求で検索の対象として指定されている項目(属性)の管理先が、検証部107自身であるか、秘匿検索部109であるかを判断し、管理先が検証部107自身であれば、該当する属性値を検証部107が検索し、管理先が秘匿検索部109であれば、秘匿検索部109に該当する属性値を検索させる。
検証部107は、検索管理部の例にも相当する。
【0050】
秘匿検索部109は、複数の項目のうち、検証部107で管理されていない項目の属性値(項目データ)を暗号化された状態で管理しており、秘匿検索に対応している。
図6の例では、「属性1」の属性値は、暗号化された状態で秘匿検索部109により管理され、秘匿検索の対象となる。
秘匿検索部109は、第2の項目データ管理部の例に相当する。
【0051】
図6に、本実施の形態に係る認証システム100の検証部107と記憶部102の保管する情報の例を示す。
【0052】
図6において、サービス1(300)が認証システム100に対し共通ID=CID0のユーザの属性1の属性値が「属性値1」であるかどうかを検索する属性値検索要求を送ると、検証部107の持つ共通ID=CID0のユーザの属性1の属性値は仮属性値であり、秘匿検索部109への転送情報を持つ。
この、秘匿検索部109への転送情報を受け取ったサービス1(300)は、秘匿検索部109に対して属性値検索要求を転送し、秘匿検索部109は属性1の属性値として「属性値1」という値であることを確認し、検索結果としてYesを返す。
【0053】
なお、平文で管理してよい属性(例:性別)は、従来通り検証部107に保管する。
秘匿検索に対応したアルゴリズムで暗号化することが必要な属性(例:クレジットカード番号)の値は、記憶部102に暗号化して保管する。
【0054】
図7に、このときの検証部107と記憶部102の保管する情報の例を示す。
【0055】
図7において、サービス1(300)が認証システム100に対し共通ID=CID0のユーザの属性2の属性値が「属性2」であるかどうかを検索する属性値検索要求を送ると、検証部107の持つ共通ID=CID0のユーザの属性2の属性値は「属性2」であり、検索結果としてYesを返す。
【0056】
図8に、本実施の形態に係る認証システム100の動作のフローチャートを示す。
【0057】
先ず、サービス又はユーザ端末装置200が属性値検索要求を送信する。
属性値検索要求には、属性値検索条件と、検索の対象となる共通IDが含まれる。
属性値検索条件には、検索の対象とする属性(項目)の識別子(図6、図7の属性1、属性2に相当)と、検索された属性値(平文の属性値(「属性値2」に相当)又は暗号文の属性値(暗号化された「属性値1」に相当))と照合する条件(以下、照合条件という)が含まれている。
以下では、ユーザ端末装置200から属性値検索要求が送信された場合を例にして説明を進める。
【0058】
属性値検索要求が、通信制御インタフェース部103及び要求受付部106を経由して、検証部107に入力された際に、検証部107が、入力した属性値検索要求から属性値検索条件と共通IDを取り出し(S801)、当該共通IDに対して属性値検索条件の属性(項目)に対応する属性値又は仮属性値を検索する(S802)。
すなわち、「共通ID」の項目に、属性値検索要求に示されている共通IDが示されるレコードを仮属性管理部112において検索する。
【0059】
属性値又は仮属性値が検証部107の仮属性管理部112に登録されている場合(S803でYES)、すなわち、属性値検索要求に示されている共通IDが示されるレコードを抽出できた場合は、当該レコードにおいて、属性値検索条件に示される属性(項目)の値が属性値及び仮属性値のいずれであるのかを判断する(S804)。
【0060】
属性値検索条件に示される属性(項目)の値が仮属性値である場合(S804でYES)、検証部107は、仮属性値である秘匿検索部109への転送情報を取り出し、通信制御インタフェース部103を介して、取り出した転送情報を、属性値検索要求への応答として、ユーザ端末装置200に送信する。
【0061】
転送情報を受信したユーザ端末装置200は、転送情報をもとに秘匿検索部109にアクセスする。
つまり、ユーザ端末装置200は、属性値検索条件と共通IDとが含まれる属性値検索要求を秘匿検索部109に対して送信する(S805)。
なお、この秘匿検索部109へのアクセスは、実施の形態1と同様に、HTTPリダイレクトと呼ばれる機能を用いて実現できる。
なお、検証部107からユーザ端末装置200に転送情報を送信する際に、前述したように、転送情報をユーザの暗号化鍵で暗号化してもよい。
転送情報が暗号化されている場合は、ユーザ端末装置200は、転送情報を復号した後、秘匿検索部109にアクセスする。
あるいは、転送情報は平文のままユーザ端末装置200に送信してもよい。
この場合、ユーザの暗号化鍵による復号は必要ない。
【0062】
ユーザ端末装置200から送信された属性値検索要求は、通信制御インタフェース部103を介して、秘匿検索部109に入力される。
秘匿検索部109は、属性値検索要求に含まれる共通IDに対応するレコードをアカウントDB110において検索し(S806)、該当するレコード内の対象となる属性(項目)の値(暗号化された属性値)が、属性値検索要求に含まれる照合条件に合致するか否かを判断する。
そして、暗号化属性値が照合条件に合致すれば(S807でYES)、認証情報送信部104が、照合に成功したことを示す属性値検索成功情報と検索結果(検索した暗号化属性値)を、通信制御インタフェース部103を介して、ユーザ端末装置200に送信する(S808)。
一方、暗号化属性値が照合条件に一致しない場合(S807でNO)は、照合に失敗したことを示す失敗情報を、通信制御インタフェース部103を介して、ユーザ端末装置200に送信する(S809)。
【0063】
一方、S804でNOの場合、すなわち、属性値検索条件に示される属性(項目)の値が属性値(平文)である場合、検証部107は、S802で検索されたレコード内の対象となる属性(項目)の値(平文の属性値)が、属性値検索要求に含まれる照合条件に合致するか否かを判断する。
そして、属性値が照合条件に合致すれば(S807でYES)、認証情報送信部104が、照合に成功したことを示す属性値検索成功情報と検索結果(検索した平文の属性値)を、通信制御インタフェース部103を介して、ユーザ端末装置200に送信する(S808)。
一方、属性値が照合条件に合致しない場合(S807でNO)は、照合に失敗したことを示す失敗情報を、通信制御インタフェース部103を介して、ユーザ端末装置200に送信する(S809)。
【0064】
また、S803でNOの場合、すなわち、属性値検索要求に示される共通IDに対応するレコードが仮属性管理部112に存在しない場合、または、対応するレコードは存在するが、属性値検索条件に示される属性(項目)が当該レコードに存在ない場合は、検索に失敗したことを示す失敗情報を、通信制御インタフェース部103を介して、ユーザ端末装置200に送信する(S809)。
【0065】
このように構成することにより、LDAPなど標準的なインタフェースを備えた検証部107を秘匿検索技術に対応させるための独自の拡張を行うことなく、既存の認証システムの大幅改修を必要とせずに、IDに関連付けられた属性を秘匿検索に対応するアルゴリズムで暗号化するユーザと、IDに関連付けられた属性を秘匿検索に対応するアルゴリズムで暗号化しないユーザとを共存させることが可能になる。
【0066】
なお、このような属性の一つとして、当該ユーザを特定のサービス内で識別するサービスIDを保管し、実施の形態1の認証システム100におけるIDを共通IDとすることにより、IDマッピング機能を実現することができる。
図9に例を示す。
【0067】
図9において、サービス1(300)においてユーザを識別するためのサービスID1(SID1)、サービス2(400)において同じユーザを識別するためのサービスID2(SID2)は、いずれも共通IDの属性として実現されている。
検証部107は、共通ID「仮ID1」に関連付けて属性「サービスID1」、「サービスID2」を保管しており、それぞれ、秘匿検索部109への転送情報を登録している。
また、「仮ID」により共通ID自体を検索するため、任意の属性Xにも秘匿検索部109への転送情報を登録している。
記憶部102は「仮ID1」に対応する共通IDとして「CID1」、「サービスID1」の属性値として「SID1」、「サービスID2」の属性値として「SID2」を、それぞれ暗号化して管理している。
秘匿検索部109は、認証または属性値検索の要求の転送を受け取ると、それに応じてそれぞれ復号することなく検索し、検索結果を返す。
【0068】
ただし、実施の形態1、2に係る認証システム100の用途は、IDマッピング機能の実現に限られず、例えば、ある会社が業務で用いる機能をサービスとして実現しており、認証システム100でそれぞれのサービスで共通に使うユーザの属性を管理する場合、ユーザを認証した後にサービス1がユーザの福利厚生費用をユーザのクレジットカードから引き落とすために、認証システムにクレジットカード番号を登録しておいて確認できるよう構成することができる。
【0069】
以上、本実施の形態では、
ユーザを認証し識別するIDとユーザの属性を関連付けて保管する認証システムであって、
記憶部は、IDと関連付けられた属性の属性値を暗号化して格納する場合には、属性値の検索条件に含まれるIDまたは属性値または両方を、暗号化された状態のままで記憶部に格納されている情報と比較することを可能にする秘匿検索に対応したアルゴリズムを用いて、属性値を暗号化して記憶部に格納し、また記憶部に格納した情報を暗号化されたままの状態で検索条件と比較する秘匿検索部を備え、
検証部は、更に、秘匿検索部への転送情報を、IDに関連付けられた当該属性の属性値として保管し、
要求受付部は、IDに関連付けられた属性の検索要求を受け付けると、検証部内にて当該属性の属性値として保管されている秘匿検索部への転送情報を取り出し、認証情報送信部を用いてユーザに当該秘匿検索部への転送情報を送信し、
秘匿検索に対応したアルゴリズムで属性値を暗号化するユーザについては、属性値検索条件を制御部に送り、その応答として当該秘匿検索部への転送情報を受け取り、当該秘匿検索部への転送情報をもとに秘匿検索部にアクセスし、当該秘匿検索部に、暗号化した属性値に対する属性値検索条件を送信し、
当該検索条件を使って記憶部から属性値検索結果を取り出して検索条件の送信元に返し、
秘匿検索に対応したアルゴリズムで属性値を暗号化しないユーザは、属性値検索条件を制御部に送り、制御部の検証部が当該検索条件を評価した結果を検索条件の送信元に返す認証システムを説明した。
【0070】
また、本実施の形態では、
上記の認証システムの制御部では、認証情報送信部には仮属性処理部が、検証部には仮属性管理部が存在することを説明した。
【0071】
実施の形態3.
実施の形態2で述べたIDマッピング機能を実現した認証システムおよびサービスにおいては、認証システムの管理している共通IDに関連付けられた属性を、サービス自身の内部で復号し利用するものがある。
例えば、共通IDに住所が関連づけられている場合に、共通IDで特定されるユーザの住所を印刷するサービスがある。
このようなサービスが実施の形態2に係る認証システム100に属性の値の取得を要求する場合、当該サービス自身が秘匿検索に対応しており、秘匿検索に対応したアルゴリズムで暗号化した属性値をサービス内部で復号できる場合は、認証システム100より、秘匿検索に対応したアルゴリズムで暗号化した属性値を受け取り、復号し、平文の属性値を利用することができる。
しかし、秘匿検索技術は新しい技術であり、秘匿検索に対応せず、秘匿検索に対応したアルゴリズムで暗号化した属性値を受け取っても、復号して利用できないサービスも存在する。
【0072】
本実施の形態に係る認証システム100は、秘匿検索に対応したサービスからの属性値検索要求に対しては、暗号化された属性値を含む検索結果を返し、当該サービスが、当該検索結果に含まれる、暗号化された属性値を当該サービス内で復号して利用することを可能にする。
一方で、秘匿検索に対応していないサービスからの属性値検索要求に対しては、検索の結果得られた暗号化された属性値を、当該暗号化された属性値の暗号化を行ったユーザ端末装置で復号させ、当該ユーザ端末装置からサービスに復号値を送信するようにする。
なお、本実施の形態では、サービス(サービスアプリケーションを実行するサーバ装置)がデータシステムの例に相当し、ユーザ端末装置が暗号化装置の例に相当する。
【0073】
図10に、本実施の形態に係る認証システム100の構成例を示す。
【0074】
本実施の形態に係る認証システム100は、図5に示す構成に加えて、サービス構成情報管理部113を備える。
サービス構成情報管理部113は、サービスごとに以下の2つの情報を記憶している。
1)個別のサービスが、秘匿検索に対応しているかどうか
2)個別のサービスが、属性の値を確認するか、値を利用するかの別
【0075】
ここで、サービスが属性の値を「確認する」とは、検索された属性値がある条件(照合条件)を満たすかどうかを確認した結果を受け取り、属性値は暗号化されているかどうかに関わらず検索結果として受け取らない処理を行うことを意味する。
つまり、サービスが属性の値を「確認する」場合は、確認結果だけがサービスに送信されるので、属性値が暗号化されており、また、当該サービスが秘匿検索に対応していなくても、属性値の復号処理は不要である。
サービスが属性の値を「利用する」とは、サービスが、属性値をサービス内部で使用することを意味する。
このため、サービスが属性の値を「利用する」場合は、属性値が暗号化されており、また、当該サービスが秘匿検索に対応していないと、暗号化された属性値の復号処理が必要になる。
【0076】
図11に、本実施の形態に係る認証システム100の動作のフローチャートを示す。
【0077】
あるサービスから属性値検索要求を受け取り、秘匿検索部109がアカウントDB110を検索して、属性値検索条件及び共通IDに対応するレコードを取得し、属性値検索要求に含まれる照合条件と当該レコード内の属性値(暗号化された属性値)を照合するまで(S1101〜S1107)は、実施の形態2に示した図8のS801〜S807と同様であるので、説明を省略する。
【0078】
照合の結果、検索されたレコード内の属性値(暗号化された属性値)が照合条件に合致する場合に、検証部107は、サービス構成情報管理部113の保管する、上記2つの情報を参照する。
より具体的には、検証部107は、サービス構成情報管理部113に保管されている上記の2)の情報を参照して、属性値検索要求の送信元のサービスが行うのが属性値の確認であるか否かを判断する(S1108)。
属性値の確認である場合(S1108でYES)は、認証情報送信部104が、通信制御インタフェース部103を介して、値確認結果をユーザ端末装置200に送信する(S1109)。
【0079】
一方、属性値検索要求の送信元のサービスが行うのが属性値の利用である場合(S1108でNO)は、更に、検証部107は、サービス構成情報管理部113に保管されている上記の1)の情報を参照して、属性値検索要求の送信元のサービスが秘匿検索アルゴリズムに対応しているか否かを判断する(S1110)。
【0080】
属性値検索要求の送信元のサービスが秘匿検索アルゴリズムに対応している場合(S1110でYES)は、認証情報送信部104が、照合に成功したことを示す属性値検索成功情報と検索結果(検索した暗号化属性値)を、通信制御インタフェース部103を介して、ユーザ端末装置200に送信する(S1114)。
【0081】
一方、属性値検索要求の送信元のサービスが秘匿検索アルゴリズムに対応していない場合(S1110でNO)は、検証部107が、検索された暗号化された属性値の暗号化を行ったユーザ端末装置200を特定し、当該ユーザ端末装置200に対して暗号化された属性値を復号するよう指示するコマンドを生成し、認証情報送信部104が、暗号化された属性値と検証部107により生成されたコマンドを、通信制御インタフェース部103を介して、該当するユーザ端末装置200に送信する(S1111)。
【0082】
ユーザ端末装置200では、暗号化された属性値とコマンドを受信し、暗号化された属性値を復号する(S1112)。
更に、ユーザ端末装置200は、復号後の属性値を、属性値検索要求の送信元のサービスが復号可能な方法で暗号化し、暗号化した属性値を、当該サービスに送信する(S1113)。
【0083】
なお、図11においてS1115の処理は、図8のS809と同じなので、説明を省略する。
【0084】
このように、本実施の形態に係る認証システムは、サービスが秘匿検索に対応しているか否かに関わらず、ユーザの属性値情報を復号した状態で、当該サービス内部にて利用することを可能にする効果を奏する。
【0085】
以上、本実施の形態では、
1)個別のサービスが、秘匿検索に対応しているかどうか
2)個別のサービスが、属性の値を確認するか、値を利用するかの別
を管理するサービス構成情報管理部を備え、
ユーザが認証システムで認証を受けて利用しているサービスの1つにおいて、当該ユーザの属性値の検索条件を認証システムに問い合わせた場合、認証システムは、個別のサービスが、秘匿検索に対応しているかどうかの情報を確認し、
当該サービスが秘匿検索に対応している場合は、記憶部が格納している、秘匿検索に対応したアルゴリズムで暗号化された属性値を取り出して当該サービスに送信し、
当該サービスが秘匿検索に対応していない場合は、記憶部より、秘匿検索に対応したアルゴリズムで暗号化された属性値を取り出して、いったんユーザに戻し、当該ユーザは当該属性値をユーザ自身の暗号化鍵で復号し、当該サービスに送信する認証システムを説明した。
【0086】
実施の形態4.
サービスにおいては、他のサービスの提供するAPI(Application Program Interface)などを経由して、他のサービスに依存するものがある。
例えば、交通機関の経路情報や運賃情報を提供するサービスのAPIを利用して、社内の出張旅費精算を行うサービスがある。
本実施の形態では、サービスごとに、秘匿検索部109において検索された暗号化属性値を波及させる波及先サービス(波及先データシステムの一例)を記憶しておき、いずれかのサービスからの属性値検索条件に対して暗号化属性値を検索した際に、波及先サービスにも当該暗号化属性値を送信する。
また、波及先サービスが秘匿検索アルゴリズムに対応していない場合には、当該暗号化属性値を、暗号化を行ったユーザ端末装置に送信し、当該ユーザ端末装置に当該暗号化属性値の復号を行わせて、復号された属性値を波及先サービスに送信させる。
【0087】
本実施の形態に係る認証システム100の構成例は、図10に示したものと同様である。
しかしながら、本実施の形態では、サービス構成情報管理部113は、サービスごとに、以下の4つの情報を記憶している。
1)個別のサービスが、秘匿検索に対応しているかどうか
2)個別のサービスが、属性の値を確認するか、値を利用するかの別
3)個別のサービスが、当該サービス内部で値確認または値を利用する属性
4)サービス同士の依存関係(マッシュアップ)情報
【0088】
上記の1)及び2)の情報は、実施の形態3で説明したものと同様であり、説明を省略する。
3)「個別のサービスが、当該サービス内部で値確認または値を利用する属性」は、サービスがいずれの属性の値を確認又は利用するかを示す。
4)「サービス同士の依存関係情報」は、サービスに依存するサービスが示される。
例えば、サービスAからの属性値検索要求により検索された属性値がサービスBでも使われる場合は、サービスAについてのレコードには、サービスAに依存するサービスとしてサービスBが示される。
なお、本例におけるサービスBが波及先サービス(波及先データシステム)に相当する。
【0089】
なお、秘匿検索技術を実現するアルゴリズムの種類や実現方法によっては、サービスが秘匿検索に対応していても、秘匿検索に対応したアルゴリズムで暗号化した属性値をサービス内で復号できない場合もある。
この場合は、2)「個別のサービスが属性の値を確認するか、値を利用するかの別」の情報は、1)「個別のサービスが、秘匿検索に対応しているかどうかの情報」と同じ意味となるので、この場合は2)「個別のサービスが属性の値を確認するか、値を利用するかの別」の情報を省略してもよい。
【0090】
図12に、本実施の形態に係るサービス構成情報管理部113で記憶している情報の例を示す。
なお、本実施の形態に係るサービス構成情報管理部113は、波及先データシステム情報記憶部の例に相当する。
【0091】
図12に示すように、サービス構成情報管理部113で記憶している情報には、サービスごとに、「値確認又は利用する属性」、「値確認、利用の別」、「秘匿検索対応」、「依存サービス」の欄が設けられている。
ここで、「値確認又は利用する属性」は上記の3)の情報に該当し、「値確認、利用の別」は上記の2)の情報に対応し、「秘匿検索対応」は上記の1)の情報に対応し、「依存サービス」は上記の4)の情報に対応する。
図12において、例えば、サービス1は、カード番号である属性Xの属性値の値確認を行い、秘匿検索に対応している。
そして、サービス1に依存するサービスとして、サービス2とサービス3がある。
サービス2では、カード番号である属性Xの属性値を利用し、秘匿検索には対応していない。
サービス2は、サービス1に依存しており、また、対象となる属性が属性Xであるため、サービス1について取得された属性Xの暗号属性値をサービス2に波及させる。
但し、サービス1には、属性Xの属性値についての確認結果のみを送信すればよいが、サービス2には、属性Xの属性値そのものも送信する必要がある。
そしてサービス2は、秘匿検索に対応していないので、属性Xの暗号化属性値をユーザ端末装置200で復号する必要がある。
一方、サービス3は、サービス1に依存するが、対象となる属性が属性Y(保険証番号)であるため、サービス1について取得された属性Xの暗号属性値はサービス3には波及させない。
【0092】
図13に、本実施の形態に係る認証システム100の動作のフローチャートを示す。
【0093】
図13において、S1301〜S1307は、図11に示すS1101〜S1107と同様であるので、説明を省略する。
【0094】
S1308において、検証部107は、サービス構成情報管理部113の保管する、上記3つの情報を参照する。
以下、図12に示すサービス1から属性Xについて属性値検索要求があった場合を例にして説明を行う。
【0095】
検証部107は、サービス1について「値確認、利用の別」、「秘匿検索対応」、「依存サービス」の各項目の値を参照し、サービス1では、属性Xの属性値を「値確認」すること、秘匿検索に対応していること、依存サービスがサービス2とサービス3であることを判断する。
この判断結果により、サービス1については、S1309でYESとなり、S1310で属性Xの暗号属性値についての確認結果がサービス1に送信される。
また、サービス2がサービス1の依存サービスであるので、検証部107は、サービス2について「値確認又は利用する属性」、「値確認、利用の別」、「秘匿検索対応」、「依存サービス」の各項目の値を参照し、サービス2では、属性Xの属性値を「利用」すること、秘匿検索に対応していないこと、依存サービスがないことを判断する。
この判断結果により、サービス2については、S1309でNOとなり、S1311でNOとなり、S1312〜S1314により、ユーザ端末装置200において復号された属性Xの属性値が更に暗号化されてサービス2に送信される。
また、サービス3がサービス1の依存サービスであるので、検証部107は、サービス3について「値確認又は利用する属性」、「値確認、利用の別」、「秘匿検索対応」、「依存サービス」の各項目の値を参照し、サービス3では、属性Yの属性値を対象にしているので、S1309以降の処理は行われず、S1315でYESとなり、処理が終了する。
【0096】
また、図13に示すS1316及びS1317は、図11のS1114及びS1115と同じなので、説明を省略する。
【0097】
なお、図13において、サービスが指定した検索条件を満たす属性値が暗号化されていない場合(図13のS1316)、当該サービスに依存する他のサービス(波及先サービス)の情報をサービス構成情報管理部113から取り出していないが、実施の都合によっては、暗号化されていない属性値が格納されている場合にも、図13のS1308に示すように、認証システム100が当該サービスに依存する他のサービス(波及先サービス)の情報を取り出し、波及先サービスのそれぞれに対して当該属性値を送信するように構成してもよい。
【0098】
以上の構成により、本実施の形態に係る認証システムは、サービスからユーザの属性値検索要求を受けた場合、一連の処理の中で、当該サービスおよび当該サービスに依存する他のサービスに対し、属性値検索結果を送信することにより、属性値検索処理を効率化する効果を奏する。
【0099】
本実施の形態では、サービス構成情報管理部は、
1)個別のサービスが、秘匿検索に対応しているかどうか
2)個別のサービスが、属性の値を確認するか、値を利用するかの別
3)個別のサービスが、当該サービス内部で値確認または値を利用する属性
4)サービス同士の依存関係(マッシュアップ)情報
を管理し、
ユーザが認証システムで認証を受けて利用しているサービスの1つにおいて、認証システムは、実施の形態3に示した動作に加え、当該ユーザの属性値の検索条件を認証システムに問い合わせた場合に、当該サービス自身、および当該サービスに依存する他のサービスにより、当該属性が利用されているかどうかをサービス構成情報管理部に確認し、他のサービスに利用されている場合は、他のサービスが秘匿検索に対応する場合は秘匿検索に対応したアルゴリズムで暗号化された属性の値を他のサービスに送信し、当該他のサービスが秘匿検索に対応しない場合は、秘匿検索に対応したアルゴリズムで暗号化された属性の値を取り出して、いったんユーザに戻し、当該ユーザは当該属性をユーザ自身の暗号化鍵で復号し、当該他のサービスに送信することを説明した。
【0100】
最後に、実施の形態1〜4に示した認証システム100のハードウェア構成例について説明する。
図14は、実施の形態1〜4に示す認証システム100のハードウェア資源の一例を示す図である。
なお、図14の構成は、あくまでも認証システム100のハードウェア構成の一例を示すものであり、認証システム100のハードウェア構成は図14に記載の構成に限らず、他の構成であってもよい。
【0101】
図14において、認証システム100は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、SSD(Solid State Drive)、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態1〜4で説明した「記憶部」は、磁気ディスク装置920等により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
【0102】
通信ボード915は、図1に示すように、ネットワークに接続されている。
例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されている。
【0103】
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
【0104】
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
【0105】
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
認証システム100の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
【0106】
上記プログラム群923には、実施の形態1〜4の説明において「〜部」(「記憶部」以外、以下同様)として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
【0107】
ファイル群924には、実施の形態1〜4の説明において、「〜の判断」、「〜の検索」「〜の抽出」、「〜の比較」、「〜の照合」、「〜の更新」、「〜の参照」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値や暗号鍵・復号鍵や乱数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜4で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。
また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0108】
また、実施の形態1〜4の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態1〜4で説明したフローチャートに示すステップ、手順、処理により、本発明に係る「データ処理方法」を実現することができる。
また、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。
プログラムはCPU911により読み出され、CPU911により実行される。
すなわち、プログラムは、実施の形態1〜4の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜4の「〜部」の手順や方法をコンピュータに実行させるものである。
【0109】
このように、実施の形態1〜4に示す認証システム100は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【0110】
100 認証システム、101 制御部、102 記憶部、103 通信制御インタフェース部、104 認証情報送信部、105 仮ID処理部、106 要求受付部、107 検証部、108 仮ID管理部、109 秘匿検索部、110 アカウントDB、111 仮属性処理部、112 仮属性管理部、113 サービス構成情報管理部、200 ユーザ端末装置、300 サービス1、400 サービス2。

【特許請求の範囲】
【請求項1】
暗号化されていない状態で登録されている平文登録データを検索してユーザ認証を行う第1のユーザ認証部と、
暗号化された状態で登録されている暗号文登録データを検索してユーザ認証を行う第2のユーザ認証部と、
前記第2のユーザ認証部によるユーザ認証の対象となるユーザが利用するユーザ端末装置に通知されるデータであって、前記第2のユーザ認証部によるユーザ認証の対象となるユーザを判別するためのデータを、判別子データとして記憶する判別子データ記憶部と、
いずれかのユーザ端末装置から、当該ユーザ端末装置を利用するユーザのユーザ認証を要求するユーザ認証要求を受信する通信部と、
前記ユーザ認証要求に前記判別子データが含まれているか否かを判断し、前記ユーザ認証要求に前記判別子データが含まれている場合に、前記ユーザ認証要求の送信元のユーザ端末装置のユーザのユーザ認証を前記第2のユーザ認証部に行わせ、前記ユーザ認証要求に前記判別子データが含まれていない場合に、前記ユーザ認証要求の送信元のユーザ端末装置のユーザのユーザ認証を前記第1のユーザ認証部に行わせる認証管理部とを有することを特徴とするデータ処理装置。
【請求項2】
前記判別子データ記憶部は、
前記平文登録データ及び前記暗号文登録データのいずれとも異なるデータを前記判別子データとして記憶していることを特徴とする請求項1に記載のデータ処理装置。
【請求項3】
前記認証管理部は、
前記ユーザ認証要求に前記判別子データが含まれている場合に、
前記第2のユーザ認証部にアクセスするためのアクセス情報を前記ユーザ認証要求の送信元のユーザ端末装置に送信し、前記アクセス情報に基づいて前記ユーザ認証要求の送信元のユーザ端末装置から前記第2のユーザ認証部にアクセスさせて前記第2のユーザ認証部のユーザ認証を開始させることを特徴とする請求項1又は2に記載のデータ処理装置。
【請求項4】
前記第2のユーザ認証部は、
暗号文登録データとして、所定の暗号化アルゴリズムで暗号化されたユーザID(Identifier)を複数管理しており、
前記ユーザ認証要求の送信元のユーザ端末装置から送信された、前記暗号化アルゴリズムで暗号化された当該ユーザ端末装置のユーザのユーザIDを入力し、
管理している複数の暗号化されたユーザIDの中から、入力した暗号化されたユーザIDと合致するユーザIDを暗号化された状態のまま検索して、前記ユーザ端末装置のユーザのユーザ認証を行うことを特徴とする請求項3に記載のデータ処理装置。
【請求項5】
前記第1のユーザ認証部は、
LDAP(Lightweight Directory Access Protocol)により、平文登録データの検索を行い、
前記第2のユーザ認証部は、
暗号文登録データの秘匿検索を行うことを特徴とする請求項1〜4のいずれかに記載のデータ処理装置。
【請求項6】
複数の項目のうち、いずれかの項目の項目データを暗号化されていない状態で管理する第1の項目データ管理部と、
前記複数の項目のうち、前記第1の項目データ管理部で管理されていない項目の項目データを暗号化された状態で管理する第2の項目データ管理部と、
項目ごとに、項目データが前記第1の項目データ管理部及び前記第2の項目データ管理部のいずれで管理されているかが定義される項目データ管理先情報を記憶する項目データ管理先情報記憶部と、
検索の対象となる項目が検索対象項目として示される検索要求を受信する通信部と、
前記項目データ管理先情報を参照して、前記検索要求に示される検索対象項目の管理先が前記第1の項目データ管理部及び前記第2の項目データ管理部のいずれかであるかを判断し、前記第1の項目データ管理部及び前記第2の項目データ管理部のうち前記検索対象項目の管理先に、前記検索対象項目における項目データの検索を行わせる検索管理部とを有することを特徴とするデータ処理装置。
【請求項7】
前記検証管理部は、
前記検索対象項目の管理先が前記第2の項目データ管理部である場合に、
前記第2の項目データ管理部にアクセスするためのアクセス情報を前記検索要求の送信元のデータシステムに送信し、前記アクセス情報に基づいて前記検索要求の送信元のデータシステムから前記第2の項目データ管理部にアクセスさせて前記第2の項目データ管理部の検索を開始させることを特徴とする請求項6に記載のデータ処理装置。
【請求項8】
前記第2の項目データ管理部は、
1つの項目につき、複数の暗号化装置において所定の暗号化アルゴリズムで暗号化された複数の項目データを管理しており、
前記検証管理部は、
前記検索対象項目の管理先が前記第2の項目データ管理部である場合に、前記検索要求の送信元のデータシステムが前記暗号化アルゴリズムに対応しているか否かを判断し、
前記検索要求の送信元のデータシステムが前記暗号化アルゴリズムに対応していない場合に、前記第2の項目データ管理部により検索された暗号化された項目データの暗号化を行った暗号化装置に、当該暗号化された項目データを復号し、復号により得られる項目データを前記検索要求の送信元のデータシステムに送信するよう指示することを特徴とする請求項6又は7に記載のデータ処理装置。
【請求項9】
前記通信部は、
前記検索要求の送信元のデータシステムが前記暗号化アルゴリズムに対応している場合に、
前記第2の項目データ管理部により検索された暗号化された項目データを前記検索要求の送信元のデータシステムに送信することを特徴とする請求項8に記載のデータ処理装置。
【請求項10】
前記データ処理装置は、
複数のデータシステムについて、データシステムごとに、前記第2の項目データ管理部により検索された暗号化された項目データを波及させるデータシステムを波及先データシステムとして示す波及先データシステム情報を記憶する波及先データシステム情報記憶部を有し、
前記検証管理部は、
前記検索対象項目の管理先が前記第2の項目データ管理部である場合に、前記波及先データシステム情報を参照して、前記検索要求の送信元のデータシステムに波及先データシステムが存在するか否かを判断し、
前記検索要求の送信元のデータシステムに波及先データシステムが存在する場合に、当該波及先データシステムが前記暗号化アルゴリズムに対応しているか否かを判断し、
当該波及先データシステムが前記暗号化アルゴリズムに対応していない場合に、前記第2の項目データ管理部により検索された暗号化された項目データの暗号化を行った暗号化装置に、当該暗号化された項目データを復号し、復号により得られる項目データを前記波及先データシステムに送信するよう指示することを特徴とする請求項8又は9に記載のデータ処理装置。
【請求項11】
前記通信部は、
前記波及先データシステムが前記暗号化アルゴリズムに対応している場合に、
前記第2の項目データ管理部により検索された暗号化された項目データを前記波及先データシステムに送信することを特徴とする請求項10に記載のデータ処理装置。
【請求項12】
前記第1の項目データ管理部は、
LDAP(Lightweight Directory Access Protocol)により、暗号化されていない項目データの検索を行い、
前記第2の項目データ管理部は、
暗号化されている項目データの秘匿検索を行うことを特徴とする請求項6〜11のいずれかに記載のデータ処理装置。
【請求項13】
暗号化されていない状態で登録されている平文登録データを検索してユーザ認証を行う第1のユーザ認証部と、
暗号化された状態で登録されている暗号文登録データを検索してユーザ認証を行う第2のユーザ認証部とを有するコンピュータが、
いずれかのユーザ端末装置から、当該ユーザ端末装置を利用するユーザのユーザ認証を要求するユーザ認証要求を受信する通信ステップと、
前記第2のユーザ認証部によるユーザ認証の対象となるユーザが利用するユーザ端末装置に通知されているデータであって、前記第2のユーザ認証部によるユーザ認証の対象となるユーザを判別するための判別子データが、前記ユーザ認証要求に含まれているか否かを判断し、前記ユーザ認証要求に前記判別子データが含まれている場合に、前記ユーザ認証要求の送信元のユーザ端末装置のユーザのユーザ認証を前記第2のユーザ認証部に行わせ、前記ユーザ認証要求に前記判別子データが含まれていない場合に、前記ユーザ認証要求の送信元のユーザ端末装置のユーザのユーザ認証を前記第1のユーザ認証部に行わせる認証管理ステップとを有することを特徴とするデータ処理方法。
【請求項14】
複数の項目のうち、いずれかの項目の項目データを暗号化されていない状態で管理する第1の項目データ管理部と、
前記複数の項目のうち、前記第1の項目データ管理部で管理されていない項目の項目データを暗号化された状態で管理する第2の項目データ管理部とを有するコンピュータが、
検索の対象となる項目が検索対象項目として示される検索要求を受信する通信ステップと、
項目ごとに、項目データが前記第1の項目データ管理部及び前記第2の項目データ管理部のいずれで管理されているかが定義される項目データ管理先情報を参照して、前記検索要求に示される検索対象項目の管理先が前記第1の項目データ管理部及び前記第2の項目データ管理部のいずれかであるかを判断し、前記第1の項目データ管理部及び前記第2の項目データ管理部のうち前記検索対象項目の管理先に、前記検索対象項目における項目データの検索を行わせる検索管理ステップとを有することを特徴とするデータ処理方法。
【請求項15】
暗号化されていない状態で登録されている平文登録データを検索してユーザ認証を行う第1のユーザ認証部と、
暗号化された状態で登録されている暗号文登録データを検索してユーザ認証を行う第2のユーザ認証部とを有するコンピュータに、
いずれかのユーザ端末装置から、当該ユーザ端末装置を利用するユーザのユーザ認証を要求するユーザ認証要求を受信する通信ステップと、
前記第2のユーザ認証部によるユーザ認証の対象となるユーザが利用するユーザ端末装置に通知されているデータであって、前記第2のユーザ認証部によるユーザ認証の対象となるユーザを判別するための判別子データが、前記ユーザ認証要求に含まれているか否かを判断し、前記ユーザ認証要求に前記判別子データが含まれている場合に、前記ユーザ認証要求の送信元のユーザ端末装置のユーザのユーザ認証を前記第2のユーザ認証部に行わせ、前記ユーザ認証要求に前記判別子データが含まれていない場合に、前記ユーザ認証要求の送信元のユーザ端末装置のユーザのユーザ認証を前記第1のユーザ認証部に行わせる認証管理ステップとを実行させることを特徴とするプログラム。
【請求項16】
複数の項目のうち、いずれかの項目の項目データを暗号化されていない状態で管理する第1の項目データ管理部と、
前記複数の項目のうち、前記第1の項目データ管理部で管理されていない項目の項目データを暗号化された状態で管理する第2の項目データ管理部とを有するコンピュータに、
検索の対象となる項目が検索対象項目として示される検索要求を受信する通信ステップと、
項目ごとに、項目データが前記第1の項目データ管理部及び前記第2の項目データ管理部のいずれで管理されているかが定義される項目データ管理先情報を参照して、前記検索要求に示される検索対象項目の管理先が前記第1の項目データ管理部及び前記第2の項目データ管理部のいずれかであるかを判断し、前記第1の項目データ管理部及び前記第2の項目データ管理部のうち前記検索対象項目の管理先に、前記検索対象項目における項目データの検索を行わせる検索管理ステップとを実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2013−114534(P2013−114534A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−261462(P2011−261462)
【出願日】平成23年11月30日(2011.11.30)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】