JP2007074164A - 認証システム、認証方法および認証プログラム - Google Patents

認証システム、認証方法および認証プログラム Download PDF

Info

Publication number
JP2007074164A
JP2007074164A JP2005257089A JP2005257089A JP2007074164A JP 2007074164 A JP2007074164 A JP 2007074164A JP 2005257089 A JP2005257089 A JP 2005257089A JP 2005257089 A JP2005257089 A JP 2005257089A JP 2007074164 A JP2007074164 A JP 2007074164A
Authority
JP
Japan
Prior art keywords
authenticator
authentication
key
accessor
inquiry
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.)
Pending
Application number
JP2005257089A
Other languages
English (en)
Inventor
Akinori Shiragami
彰則 白神
Takeshi Abe
剛 安部
Masahisa Kawashima
正久 川島
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2005257089A priority Critical patent/JP2007074164A/ja
Publication of JP2007074164A publication Critical patent/JP2007074164A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】通信当事者以外の第三者による認証情報の正当性保証を要することなく認証を行うことができ、認証に用いられる証明書等の認証情報が失効した場合、その失効情報を通信相手に確実に伝えることでき、さらには、通信当事者間で秘密情報を共有しないようにすることを課題とする。
【解決手段】アクセス者装置はサービス提供者装置に対して、サービス提供要求に含める認証子を認証する、あるいは、認証子を認証するために必要な情報を所持する問い合わせ先のアドレスの登録を行う(図1の(1)参照)。そして、アクセス者装置はサービス提供者装置に対してサービス提供要求を行う(図1の(3)参照)と、サービス提供者装置は、サービス提供要求に含まれるユーザIDに基づいて、問い合わせ先リストから認証子の認証依頼を行う問い合わせ先のアドレスを取得する(図1の(4)参照)。
【選択図】 図1

Description

この発明は、アクセス者を認証するための認証子を含む認証要求を受け付けて当該認証子の正当性を確認する認証システム、認証方法および認証プログラムに関する。
近年、インターネットの普及により、個人間において行われる情報の共有化が活発となっており、例えば、知り合いにのみ情報を共有したいといった場合のように、情報の流通を制御したいというニーズが高まっている。そのような場合には、アクセス者が何者であるかを認証し、そのアクセス者が所定の情報にアクセス可能か否かを検証した上で情報を開示する必要がある。
上記のような場合に、個人間で情報を共有化する際の認証方式として、公開鍵基盤(PKI:Public Key infrastructure)を用いた認証方式が提案されている。例えば、非特許文献1では、サービス提供者は、ドメインネームシステム(DNS:Domain Name System)の構造に対応した公開鍵基盤を構成しておき、各利用者のメールアドレスを識別子とした公開鍵、秘密鍵を利用者に発行している。利用者の鍵は、所属するドメインのKSU(Keys Services Unit)とよばれる鍵管理サーバの秘密鍵により署名が行われており、各ドメインのKSUの公開鍵は上位のKSUの秘密鍵により署名されている。そして、サービス提供者は、利用者を認証する際に利用者の公開鍵を信頼できるルートから入手する必要があるが、サービス提供者と利用者が同一のトップレベルドメインに属していて、トップレベルドメインの公開鍵をあらかじめ取得している場合には、署名のチェーンをたどっていくことでドメインの階層を下りつつ最終的に利用者の公開鍵を取得し、信頼できるかどうかを検証することができる。
また、非特許文献2では、信頼関係にある個人間でグループを構成して互いの公開鍵を保持しておき、その公開鍵を用いて認証を行う方式も提案されている。この方式の場合、新たにグループに参入しようとする者は、そのグループに既に属しているメンバの一人を紹介者として自らの公開鍵に署名してもらい、そのメンバから署名を受けた自らの公開鍵を配布してもらうことでそのグループに新たに参入する。これにより、グループに属している他のメンバは、紹介者となったメンバからの紹介を受けて新たに参入したメンバを認証することができる。
"An user authentication infrastructure for extranet application"(Lopez,J.;Mana,A.;Ortega,J.J.;Security Technology,1999.Proceedings.IEEE 33rd Annual 1999 International Carnahan Conference on 5-7 Oct.1999 Pages(s):354-362) 情報処理学会研究報告 Vol.2003 No.064 pp33-38「安全で閉じたP2Pネットワークの構成方式の提案」
ところで、上記した従来の技術は、以下に説明するように、通信当事者間で情報の認証を行う上で問題がある。
すなわち、非特許文献1のような公開鍵基盤を用いる従来技術では、利用者間で秘密情報を共有することなく認証を行うことができるが、認証できる相手は同一のCA(Certificate Authority:認証局)に属しているか、あるいは別のCAに属している場合には、CA同士が互いの証明書に署名を行っている必要がある。これでは、認証の正当性は信頼された第三者機関であるCAの正当性保証に依存する形になり、個人間の関係に応じて任意の相手を認証することはできず、サービス提供者が認証できる相手は限定されてしまうという問題がある。
また、非特許文献2のような紹介に基づいて認証に用いられる証明書の正当性保証する従来技術では、正当性の保証がCAのような特定の第三者機関に依存することはないが、あるメンバの公開鍵証明書に対応した秘密鍵が第三者に漏洩してしまい、秘密鍵を入手した者による成りすましの危険性が発生した場合には、公開鍵証明書のメンバ全員に対して証明書の破棄依頼を確実に周知して、新しい公開鍵証明書を利用してもらう必要がある。しかし、証明書の失効情報を一元的に管理する機関が存在しないので、失効情報や新しい公開鍵証明書を確実に周知する手段がないという問題点がある。
つまり、上記した従来技術は、個人ごとに情報を格納している任意の装置間で互いに認証を行う際には、第三者による認証情報の正当性保証を要し、認証に用いられる証明書等の認証情報が失効した場合、その失効情報を通信相手に確実に伝えることができないという問題である。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、通信当事者以外の第三者による認証情報の正当性保証を要することなく認証を行うことができ、認証に用いられる証明書等の認証情報が失効した場合、その失効情報を通信相手に確実に伝えることでき、さらには、通信当事者間で秘密情報を共有しないようにすることが可能な認証システム、認証方法および認証プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、請求項1に係る発明は、アクセス者を認証するための認証子を含む認証要求を受け付けて当該認証子の正当性を確認する認証システムにおいて、前記認証要求に関する問い合わせに応答する問い合わせ先のアドレスを、前記アクセス者を一意に識別するアクセス者識別子に対応付けて記憶するアドレス記憶手段と、前記アクセス者識別子ならびに前記認証要求を受け付ける認証要求受付手段と、前記認証要求に含まれるアクセス者識別子に対応する問い合わせ先のアドレスを前記アドレス記憶手段から取得し、前記認証子の正当性を確認するのに必要な情報を当該問い合わせ先のアドレスに対して問い合わせる認証情報問い合わせ手段と、前記問い合わせ先からの応答に基づいて、前記認証子の正当性を確認する認証手段と、を備えたことを特徴とする。
また、請求項2に係る発明は、上記の発明において、前記認証子は、所定の鍵を用いて生成されたデータであって、前記認証情報問い合わせ手段は、前記認証子の検証結果を問い合わせ、前記認証手段は、前記問い合わせ先からの応答である検証結果に基づいて、前記認証子の正当性を確認することを特徴とする。
また、請求項3に係る発明は、上記の発明において、前記認証子は、前記認証子は、所定の鍵を用いて生成されたデータであって、前記認証情報問い合わせ手段は、前記認証子を問い合わせ、前記認証手段は、前記問い合わせ先からの応答である認証子と、前記認証要求に含まれる認証子とが対応していることを条件に前記アクセス者を確認することを特徴とする。
また、請求項4に係る発明は、上記の発明において、前記認証子は、当該認証子生成用の鍵を用いて生成されたデータであって、前記認証情報問い合わせ手段は、前記認証子を検証するために必要な認証子確認用の鍵を問い合わせ、前記認証手段は、前記問い合わせ先からの応答結果である前記認証子確認用の鍵を用いて、前記認証子を検証し、当該検証結果に基づいて前記認証子の正当性を確認することを特徴とする。
また、請求項5に係る発明は、上記の発明において、前記認証要求受付手段は、前記データを検証するために必要な鍵をさらに受け付け、前記認証子は、当該認証子生成用の鍵を用いて生成されたデータであって、前記認証情報問い合わせ手段は、前記認証子を検証するための認証子確認用の鍵を検証するために必要なデータを問い合わせ、前記認証手段は、前記問い合わせ先からの応答結果である前記認証子確認用の鍵を検証するために必要なデータに基づいて、前記認証子確認用の鍵を正規のアクセス者のものであると認証した場合には、当該認証子確認用の鍵を用いて前記認証子を検証し、当該検証結果に基づいて前記認証子の正当性を確認することを特徴とする。
また、請求項6に係る発明は、上記の発明において、前記アクセス者が前記認証子生成用の鍵と前記認証子確認用の鍵とを複数管理し、当該アクセス者が前記問い合わせ先に応じて当該認証子生成用の鍵と当該認証子確認用の鍵とを選択する鍵選択手段をさらに備えたことを特徴とする。
また、請求項7に係る発明は、上記の発明において、前記問い合わせ先からの応答結果を受け付けた場合に、前記認証手段によって前回使用された鍵を用いて、当該応答結果の検証を行う検証手段をさらに備え、前記認証手段は、前記検証手段によって前記応答結果が正規のアクセス者のものであると検証された場合に、当該応答結果に基づいて前記認証子の正当性を確認することを特徴とする。
また、請求項8に係る発明は、上記の発明において、前記認証情報問い合わせ手段は、以後取得すべき問い合わせ先からの応答結果の検証に必要な情報をあらかじめ前記問い合わせ先のアドレスに対して問い合わせ、前記認証手段は、前記認証要求を受け付けた場合に、前記認証情報問い合わせ手段によって得られた問い合わせ応答を、前記問い合わせ先からあらかじめ取得していた情報に基づいて検証した上で、前記認証子の正当性を確認することを特徴とする。
アクセス者を認証するための認証子を含む認証要求を受け付けて当該認証子の正当性を確認する認証方法において、前記認証要求に関する問い合わせに応答する問い合わせ先のアドレスを、前記アクセス者を一意に識別するアクセス者識別子に対応付けて記憶するアドレス記憶工程と、前記アクセス者識別子ならびに前記認証要求を受け付ける認証要求受付工程と、前記認証要求に含まれるアクセス者識別子に対応する問い合わせ先のアドレスを前記アドレス記憶手段から取得し、前記認証子の正当性を確認するのに必要な情報を当該問い合わせ先のアドレスに対して問い合わせる認証情報問い合わせ工程と、前記問い合わせ先からの応答に基づいて、前記認証子の正当性を確認する認証工程と、を備えたことを特徴とする。
アクセス者を認証するための認証子を含む認証要求を受け付けて当該認証子の正当性を確認する方法をコンピュータに実行させる認証プログラムにおいて、前記認証要求に関する問い合わせに応答する問い合わせ先のアドレスを、前記アクセス者を一意に識別するアクセス者識別子に対応付けて記憶するアドレス記憶手順と、前記アクセス者識別子ならびに前記認証要求を受け付ける認証要求受付手順と、前記認証要求に含まれるアクセス者識別子に対応する問い合わせ先のアドレスを前記アドレス記憶手段から取得し、前記認証子の正当性を確認するのに必要な情報を当該問い合わせ先のアドレスに対して問い合わせる認証情報問い合わせ手順と、前記問い合わせ先からの応答に基づいて、前記認証子の正当性を確認する認証手順と、をコンピュータに実行させることを特徴とする。
請求項1、9および10の発明によれば、この認証システムは、認証要求に関する問い合わせに応答する問い合わせ先のアドレスとアクセス者を識別するアクセス者識別子に一意に対応づけて記憶し、認証要求に含まれるアクセス者に対応した問い合わせ先のアドレスに対してアクセス者を識別するための認証子の正当性を確認するための情報(例えば、認証子の検証結果、認証子を検証するための公開鍵、認証子を検証するための公開鍵を検証するためのデータや認証子そのもの)を問い合わせて、認証子の正当性を確認するので、通信当事者(例えば、アクセス者とサービス提供者)以外の第三者による認証子を認証するための認証情報の正当性保証を要することなく、アクセス者自身が認証情報を管理することで失効情報を確実に通信相手に伝えることができ、また、問い合わせ先のアドレスを公開情報とすることで公開情報のみによって認証子の正当性の確認ができ、通信当事者間で秘密情報を共有しないようにすることが可能となる。
また、請求項2の発明によれば、この認証システムは、認証子(例えば、鍵付きハッシュ値や暗号化データ)の検証結果を問い合わせて、その検証結果に基づいて認証子の正当性を確認するので、例えば、アクセス者に対してサービスを提供するサービス提供者側で認証子の検証方法を意識せずに認証を行なうことができ、認証子生成および検証に用いる暗号方式が統一されていない端末間においても認証子の正当性を確認することが可能となる。
また、請求項3の発明によれば、この認証システムは、認証子を問い合わせて、問い合わせ応答である認証子と認証要求に含まれる認証子とを比較して認証子の正当性を確認するので、認証問合せ先(例えば、アクセス者装置自身)において認証子を一度生成したら問い合わせを受けるまでそれを保持しておくので、認証問合せ先において認証子の生成ないし検証の処理を実行する回数を一回で済ませることが可能となる。
また、請求項4の発明によれば、この認証システムは、認証子を検証するために必要な認証子確認用の鍵(例えば、秘密鍵で暗号されたデータを検証するために必要な公開鍵)を問い合わせて、その鍵を用いて暗号化データを検証し、その検証結果に基づいて認証子の正当性を確認するので、秘密情報を保持する際の安全性を高めることが可能となる。例えば、認証要求は秘密鍵を保持した耐タンパ性のあるアクセス者の装置で行い、認証応答は公開鍵を格納したアクセス者装置以外の装置(例えば、公開サーバ)で行うといったように、認証要求を生成する機能と認証問い合わせに応答する機能を分離して配置することにより実現できる。
また、請求項5の発明によれば、この認証システムは、認証子を検証するために必要な認証子確認用の鍵を含んだ認証要求を受け付け、この認証子確認用の鍵を検証するために必要なデータ(例えば、公開鍵のハッシュ値や公開鍵証明書)を問い合わせ、このデータに基づいて、この認証子確認用の鍵が正規のアクセス者のものであると検証された場合には、この認証子確認用の鍵を用いて認証子を検証し、その検証結果に基づいて認証子の正当性を確認するので、例えば、アクセス者から受け取った公開鍵をサービス提供者側で保持しておき、認証の度に公開鍵を問い合わせることなく、公開鍵のハッシュ値のみを問い合わせることで通信量を減らすことが可能となる。
また、請求項6の発明によれば、この認証システムは、認証子生成用の鍵(例えば、チャレンジデータを暗号化するための秘密鍵)と認証子確認用の鍵(例えば、暗号化されたチャレンジデータを復号化するための公開鍵)とを複数管理し、認証子生成用の鍵および認証子確認用の鍵からなる複数の鍵の対を用意して使い分けるので、例えば、アクセス者が固有の公開鍵を複数のサービス提供者装置に対して使用することにより、公開鍵を元にサービス提供者装置間でアクセス者の名寄せが行われて、匿名性が損なわれるのを防止することが可能となる。
また、請求項7の発明によれば、この認証システムは、問い合わせ先からの応答結果(公開鍵、公開鍵のハッシュ値や公開鍵証明書)を受け付けた場合に、前回の認証に用いた鍵で応答結果を検証した上で認証子の正当性を確認するので、例えば、鍵が更新された場合に、前回認証子の検証に使用された鍵を用いて更新された鍵を検証することができ、鍵の問い合わせを受けた悪意ある第三者が認証問い合わせ先に成りすまして不当な応答メッセージを返信したとしても、正規のユーザ以外は以前の鍵による署名を施した新たな鍵を生成して返信することができないので、不正を検出することが可能となる。
また、請求項8の発明によれば、この認証システムは、認証子の認証に必要な情報をあらかじめ認証問い合わせ先に問い合わせて、その情報に基づいて認証子の正当性を確認するので、例えば、まだ、認証子の認証を行っていない段階において、自発的に公開鍵やハッシュ値を問い合わせて管理することで、悪意ある第三者が認証問い合わせ先に成りすまして不当な応答メッセージを返信する手段を用意する前に、正規の公開鍵やハッシュ値を取得することが可能となる。
以下に添付図面を参照して、この発明に係る認証システム、認証方法および認証プログラムの実施例を詳細に説明する。なお、以下では、図1を用いて、本発明に係る認証システムの概要を最初に説明し、続いて、実施例1〜4を説明する。図1は、本発明に係る認証システムの概要を説明するための図である。
同図に示すように、この認証システムは、アクセス者を認証するための認証子を含む認証要求を受け付けて当該認証子の認証を行うことを概要とするが、アクセス者を認証するための問い合わせ先のアドレスをあらかじめ取得しておいて、その問い合わせ先に対して認証に必要な情報を問い合わせる点に主たる特徴がある。
この主たる特徴について簡単に説明すると、まず、サービス提供者装置は、認証要求に関する問い合わせに応答する問い合わせ先のアドレスの登録をアクセス者装置から受け付けると(図1の(1)参照)、アクセス者(もしくはアクセス者装置)を一意に識別するためのユーザIDと問い合わせ先のアドレスとを対応させて記憶する問合わせ先リストを作成する(図1の(2)参照)。なお、この問い合わせ先は、アクセス者装置であってもよいし、アクセス者以外の第三者装置であってもよい。
また、サービス提供者装置は、アクセス者装置から認証子とユーザIDとを含んだサービス提供要求を受け付ける(図1の(3)参照)。ここで、認証子とは、アクセス者が正規のユーザであるか否かを検証するためのデータであり、例えば、所定のデータ(チャレンジデータ)をアクセス者の固有鍵(もしくはアクセス者に固有の秘密情報)と結合した一方性関数の入力として得られる鍵付ハッシュ値や、所定のデータをアクセス者の秘密鍵で暗号化して得られる署名データ(暗号化データ)など、所定の鍵を用いて生成されたデータがこれに該当する。
そして、サービス提供者装置は、サービス提供要求とともに受け付けたユーザIDに基づいて、問合せ先リストから問い合わせ先のアドレスを取得し(図1の(4)参照)、この問い合わせ先のアドレスに対して、サービス提供要求に含まれる認証子を認証するために必要な情報を問い合わせる(図1の(5)参照)。かかる問い合わせとしては、認証子と所定のデータとを問い合わせ先に送信して、問い合わせ先において所定のデータから改めて認証子を生成させ、これらの認証子が一致するか否かの検証結果を問い合わせる、認証子の正当性を確認するために必要な公開鍵を問い合わせる、認証子の正当性を確認するために必要な公開鍵を検証するためのデータ(例えば、公開鍵のハッシュ値や公開鍵証明書)を問い合わせる、あるいは、認証子そのものを問い合わせる等がある。
その後、サービス提供者装置は、かかる問い合わせ先から問い合わせ応答(検証結果、公開鍵、公開鍵を検証するためのデータや認証子)を受信すると(図1の(6)参照)、この問い合わせ応答に基づいて、サービス提供要求に含まれる認証子を検証し、その正当性を確認する(図1の(7)参照)。具体的には、認証子の検証結果を受信した場合には、かかる検証結果が「OK」であれば、認証子は正規のアクセス者によって生成されたものとして、その正当性を確認する。
また、公開鍵を受信した場合には、かかる鍵を用いてサービス提供要求に含まれる認証子(例えば、所定のデータを秘密鍵で暗号化したもの)を検証して、かかる検証結果が「OK」であれば(例えば、秘密鍵で暗号化されたデータを公開鍵で復号化して、所定のデータと復号化したデータが一致)、認証子は正規のアクセス者によって生成されたものとして、その正当性を確認する。
また、公開鍵を検証するためのデータ(公開鍵のハッシュ値や公開鍵証明書)を受信した場合には、このデータに基づいて公開鍵を検証し、正規のアクセス者のものであると検証された公開鍵を用いてサービス提供要求に含まれる認証子を検証し、かかる検証結果が「OK」であれば(例えば、秘密鍵で暗号化されたデータを公開鍵で復号化して、所定のデータと復号化したデータが一致)、認証子は正規のアクセス者によって生成されたものとして、その正当性を確認する。
さらに、認証子そのものを受信した場合には、かかる認証子がサービス提供要求に含まれる認証子と同様であれば、認証子は正規のアクセス者によって生成されたものとして、その正当性を確認する。そして、サービス提供装置は、認証子が正規のものである旨(正当性)を確認した場合には、アクセス者装置に対してサービス(例えば、スケジュール情報等)を提供する(図1の(8)参照)。
このように、図1に示した認証システムによれば、認証要求に関する問い合わせに応答する問い合わせ先のアドレスとアクセス者を識別するアクセス者識別子に一意に対応づけて記憶し、認証要求に含まれるアクセス者に対応した問い合わせ先のアドレスに対してアクセス者を識別するための認証子の正当性を確認するための情報(例えば、認証子の検証結果、認証子を検証するための公開鍵、認証子を検証するための公開鍵を検証するためのデータや認証子そのもの)を問い合わせて、認証子の正当性を確認するので、通信当事者(例えば、アクセス者とサービス提供者)以外の第三者による認証子を認証するための認証情報の正当性保証を要することなく、アクセス者自身が認証情報を管理することで失効情報を確実に通信相手に伝えることができ、また、問い合わせ先のアドレスを公開情報とすることで公開情報のみによって認証子の正当性の確認ができ、通信当事者間で秘密情報を共有しないようにすることが可能となる。
以下の実施例1では、典型的な実施形態として、アクセス者端末Aとサービス提供者端末Bとで構成され、認証要求と認証問い合わせ応答とをアクセス者端末Aで行う場合の認証システムの構成および処理の流れを説明し、最後に実施例1による効果を説明する。なお、アクセス者端末A100とサービス提供者端末B200とは、互いにネットワーク(公衆電話網やインターネット、LANやWANなどによって形成される通信網)を経由して、HTTP(Hyper Text Transfer Protocol)等のプロトコルを用いて互いに通信できるものとする。
[認証システムを構成する各装置の構成(実施例1)]
まず最初に、図2を用いて、実施例1に係る認証システムのアクセス者端末A100およびサービス提供者端末B200の構成を説明する。図2は、実施例1に係る認証システムの全体構成を示すシステム構成図である。
同図に示すように、アクセス者端末A100は、認証要求部110と、認証応答部120と、固有鍵記憶部130と、ネットワーク通信機能140とからなる。このうち、ネットワーク通信機能140は、サービス提供者端末B200との間の通信を制御する手段である。
固有鍵記憶部130は、認証要求部110および認証応答部120における各種処理に必要なデータおよびプログラムを格納する格納手段(記憶手段)であり、具体的には、アクセス者に固有の鍵情報を記憶する。
認証要求部110および認証応答部120は、アクセス者端末A100を制御して各種処理を実行する制御手段であり、具体的には、認証要求部110は、サービス提供者端末B200に対してリソース(情報)要求を送信する認証要求の生成を行い、または、リソースを取得する。また、認証応答部120は、サービス提供者端末B200からの認証問い合わせを受け付けて認証結果を応答する。
また、サービス提供者端末200Bは、図2に示すように、認証要求受付部210と、認証問合せ部220と、問合せ先リスト230と、アクセス制御部240と、リソース記憶部250と、ネットワーク通信機能260とからなる。このうち、ネットワーク通信機能260は、アクセス者端末A100との間の通信を制御する手段である。
問合せリスト230は、認証問合せ部220における各種処理に必要なデータおよびプログラムを格納する手段であり、具体的には、図3に例示するように、認証問合せ部220によって認証問合せを行う問い合わせ先のアドレス情報(例えば、URL、メールアドレスやIPアドレス)をアクセス者に一意に付されたユーザIDに対応付けて記憶する。
リソース記憶部250は、アクセス制御部240における各種処理に必要なデータおよびプログラムを格納する手段であり、具体的には、図4に例示するように、正規のユーザである認証されたアクセス者に対して提供するリソース(例えば、スケジュール情報)を記憶する。
認証要求受付部210、認証問合せ部220およびアクセス制御部240は、サービス提供者端末B200を制御して各種処理を実行する制御手段であり、具体的には、認証要求受付部210は、アクセス者端末A100からのリソース要求や認証要求を受け付ける。また、認証要求受付部210は、リソース要求を受け付けると、アクセス者端末A100に対して認証子を生成させるための所定のデータ(チャレンジデータ:乱数)を生成して送信するが、このデータを内部的なメモリーに記憶して保持する。
また、認証問合せ部220は、アクセス者端末A100から受け付けた認証要求に含まれる認証子を、問合せ先リスト(図3参照)に記憶されている問い合わせ先のアドレスに対して問い合わせる。また、アクセス制御部240は、認証結果に基づいて、アクセス者端末A100によるリソース記憶部250に記憶されたリソース(情報)へのアクセスを制御する。
なお、アクセス者端末A100およびサービス提供者端末B200は、汎用的なパーソナルコンピュータ上で、実施例1に係る認証システムを実行するプログラムを走行することによって実現できるが、既知のパーソナルコンピュータ、ワークステーション、携帯電話、PHS端末、移動体通信端末またはPDAなどの情報処理装置に、上記した各機能を搭載することによって実現することもできる。
[認証システムによる処理(実施例1)]
次に、図5を用いて、実施例1に係る認証システムの処理の流れを説明する。図5は、実施例1に係る認証システムの処理の流れを示すシーケンス図である。
同図に示すように、アクセス者端末装置A100は、スケジュール取得要求をサービス提供者端末B200に送信する(ステップS110)。ここで、スケジュール取得要求には、アクセス者端末A100に対して一意に付されたユーザID(U1)が含まれる。この要求を受信して、サービス提供者端末B200は、チャレンジデータC(例えば、サービス提供者が生成した乱数)を応答メッセージとしてアクセス者端末A100に対して送信する(ステップS120)。
応答メッセージを受信して、アクセス者端末A100の認証要求部110は、チャレンジデータCから認証子の生成を行う(ステップS130)。ここで、図6を用いて、認証子の生成処理の流れを説明する。認証要求部110は、固有鍵記憶部130から読み出した鍵Kを用いて、チャレンジデータCの鍵付きハッシュ値を計算、計算の結果得られたデータ(チャレンジデータCの鍵付きハッシュ値)を認証子Tとする(ステップS601)。
認証子Tの生成を終えると、アクセス者端末A100の認証要求部110は、認証子Tをサービス提供者端末B200に対して送信する(ステップS140)。この送信を受信して、サービス提供者端末B200の認証要求受付部210は、ユーザIDに対応する問い合わせ先アドレス(URL)を問合せ先リスト230から取得する(ステップS150)。そして、認証問合せ部220は、取得した問い合わせ先のアドレスに対してチャレンジデータCと認証子Tとを含んだ認証問合せを送信する(ステップS160)。
この問合せを受信したアクセス者端末A100の認証応答部120は、認証子の検証処理を行う(ステップS170)。ここで、図7を用いて、認証子検証処理の流れを説明する。まず、認証応答部120は、固有鍵記憶部130から読み出した鍵Kを用いて、チャレンジデータCの鍵付きハッシュ値を求めてT’とする(ステップS701)。続いて、認証応答部120は、認証子TとT’とを比較して一致した場合には、検証結果を「OK」とし、一致しなかった場合には検証結果を「NG」とする(ステップS702)。
認証子の検証を終えると、アクセス者端末A100の認証応答部120は、サービス提供者端末B200に対して検証結果を送信する(ステップS180)。この検証結果を受信して、サービス提供者端末B200のアクセス制御部240は、検証結果が「OK」である場合には、リソース記憶部250からスケジュールデータを取得する(ステップS190)。そして、アクセス制御部240は、アクセス者端末A100に対してスケジュールデータを送信する(ステップS200)。一方、検証結果が「NG」である場合には、アクセス制御部240は、リソース記憶部250からスケジュールデータを取得して、アクセス者端末A100に対してスケジュールデータを送信することはない。
[実施例1による効果]
上述してきたように、実施例1によれば、この認証システムは、認証要求に関する問い合わせに応答する問い合わせ先のアドレスとアクセス者を識別するアクセス者識別子に一意に対応づけて記憶し、認証要求に含まれるアクセス者に対応した問い合わせ先のアドレスに対してアクセス者を識別するための認証子の正当性を確認するための情報(例えば、認証子の検証結果、認証子を検証するための公開鍵、認証子を検証するための公開鍵を検証するためのデータや認証子そのもの)を問い合わせて、認証子の正当性を確認するので、通信当事者(例えば、アクセス者とサービス提供者)以外の第三者による認証子を認証するための認証情報の正当性保証を要することなく、アクセス者自身が認証情報を管理することで失効情報を確実に通信相手に伝えることができ、また、問い合わせ先のアドレスを公開情報とすることで公開情報のみによって認証子の正当性の確認ができ、通信当事者間で秘密情報を共有しないようにすることが可能となる。
また、実施例1によれば、この認証システムは、認証子(例えば、鍵付きハッシュ値や暗号化データ)の検証結果を問い合わせて、その検証結果に基づいて認証子の正当性を確認するので、例えば、アクセス者に対してサービスを提供するサービス提供者側で認証子の検証方法を意識せずに認証を行なうことができ、認証子生成および検証に用いる暗号方式が統一されていない端末間においても認証子の正当性を確認することが可能となる。
ところで、上記の実施例では、認証子の検証をアクセス者端末Aにおいて行い、その検証結果をサービス提供者端末Bに対して送信する場合について説明したが、本発明はこれに限定されるものではなく、認証子を検証するための情報(例えば、公開鍵)をアクセス者端末Aからサービス提供者端末Bに送信して、サービス提供者端末Bにおいて認証子の検証を行うようにしてもよい。そこで、以下の実施例2では、この場合の認証システムの構成および処理の流れを順に説明し、最後に実施例2による効果を説明する。なお、以下に説明するアクセス者端末A100’とサービス提供者端末B200’とは、互いにネットワーク(公衆電話網やインターネット、LANやWANなどによって形成される通信網)を経由して、HTTP(Hyper Text Transfer Protocol)等のプロトコルを用いて互いに通信できるものとする。
[認証システムを構成する各装置の構成(実施例2)]
まず最初に、図8を用いて、実施例2に係る認証システムのアクセス者端末A100’およびサービス提供者端末B200’の構成を説明する。図8は、実施例2に係る認証システムの全体構成を示すシステム構成図である。
同図に示すように、アクセス者端末A100’は、認証要求部110’と、認証応答部120’と、固有鍵記憶部130’と、ネットワーク通信機能140’とからなる。なお、認証要求部110’およびネットワーク通信機能140’は実施例1と同様であるので、説明を割愛する。
固有鍵記憶部130’は、認証要求部110’および認証応答部120’における各種処理に必要なデータおよびプログラムを格納する格納手段(記憶手段)であり、具体的には、アクセス者端末Aに固有の公開鍵および秘密鍵を記憶する。
認証応答部120’は、アクセス者端末A100’を制御して各種処理を実行する制御手段であり、具体的には、サービス提供者端末Bから公開鍵の問合せを受信して、固有鍵記憶部130’から取得した公開鍵を応答する。
また、サービス提供者装置B200’は、図8に示すように、認証要求受付部210’と、認証問合せ部220’と、問合せ先リスト230’と、アクセス制御部240’と、リソース記憶部250’と、ネットワーク通信機能260’とからなる。なお、認証要求受付部210’、問合せ先リスト230’、アクセス制御部240’、リソース記憶部250’およびネットワーク通信機能260’は実施例1と同様であるので、説明を割愛する。
認証問合せ部220’は、サービス提供者端末B200’を制御して各種処理を実行する制御手段であり、具体的には、アクセス者端末A100’から受信した公開鍵を用いて認証子の認証を行う。
なお、アクセス者端末A100’およびサービス提供者端末B200’は、汎用的なパーソナルコンピュータ上で、実施例1に係る認証システムを実行するプログラムを走行することによって実現できる。
[認証システムによる処理(実施例2)]
次に、図9を用いて、実施例2にかかる認証システムによる処理を説明する。図9は、実施例2に係る認証システムの処理の流れを示すシーケンス図である。
同図に示すように、アクセス者端末装置A100’は、スケジュール取得要求をサービス提供者端末B200’に送信する(ステップS310)。ここで、スケジュール取得要求には、アクセス者端末A100に対して一意に付されたユーザID(U1)が含まれる。この要求を受信して、サービス提供者端末B200’は、チャレンジデータC(例えば、サービス提供者が生成した乱数)を応答メッセージとしてアクセス者端末A100’に対して送信する(ステップS320)。
応答メッセージを受信して、アクセス者端末A100’の認証要求部110’は、チャレンジデータCから認証子の生成を行う(ステップS330)。ここで、図10を用いて、認証子の生成処理の流れを説明する。認証要求部110’は、チャレンジデータCのハッシュ値を求め、得られたデータをXとする(ステップS1001)。そして、固有鍵記憶部130’から取得した秘密鍵を用いて、Xを暗号化したものを認証子Tとする(ステップS1002)。
認証子Tの生成を終えると、アクセス者端末A100’の認証要求部110’は、認証子Tをサービス提供者端末B200’に対して送信する(ステップS340)。この送信を受信して、サービス提供者端末B200’の認証要求受付部210’は、ユーザIDに対応する問い合わせ先アドレス(URL)を問合せ先リスト230から取得する(ステップS350)。そして、認証問合せ部220’は、取得した問い合わせ先のアドレスに対して公開鍵の問合せを送信する(ステップS360)。
この問合せを受信したアクセス者端末A100’の認証応答部120’は、固有鍵記憶部130から公開鍵を取得する(ステップS370)。そして、認証応答部120’は、公開鍵をサービス提供者端末B200’に対して送信する(ステップS380)。
公開鍵を受信して、サービス提供者端末B200’の認証問合せ部220’は、認証子の検証を行う(ステップS390)。ここで、図11を用いて、認証子の検証処理の流れを説明する。認証問合せ部220’は、公開鍵Pを用いて認証子Tを復号化して得られたデータをC’とする(ステップS1101)。そして、チャレンジデータCのハッシュ値とC’が一致した場合には、検証結果を「OK」とし、一致しなかった場合には、検証結果を「NG」とする(ステップS1102)。
認証子の検証を終えると、サービス提供者端末B200’のアクセス制御部240’は、検証結果が「OK」である場合には、リソース記憶部250’からスケジュールデータを取得する(ステップS400)。そして、アクセス制御部240’は、アクセス者端末A100’に対してスケジュールデータを送信する(ステップS410)。一方、検証結果が「NG」である場合には、アクセス制御部240’は、リソース記憶部250’からスケジュールデータを取得して、アクセス者端末A100’に対してスケジュールデータを送信することはない。
[実施例2の効果]
上述してきたように、実施例2によれば、この認証システムは、認証子を検証するために必要な所定の鍵(例えば、秘密鍵で暗号されたデータを検証するために必要な公開鍵)を問い合わせて、その所定の鍵を用いて暗号化データを検証し、その検証結果に基づいて認証子の正当性を確認するので、秘密情報を保持する際の安全性を高めることが可能となる。例えば、認証要求は秘密鍵を保持した耐タンパ性のあるアクセス者の装置で行い、認証応答は公開鍵を格納したアクセス者装置以外の装置(例えば、公開サーバ)で行うといったように、認証要求を生成する機能と認証問い合わせに応答する機能を分離して配置することにより実現できる。
また、上記の実施例では、問い合わせ先から取得した公開鍵を用いてそのまま認証子の検証を行う場合について説明したが、本発明はこれに限定されるものではなく、問い合わせ先から取得した公開鍵の検証を行った上で、その公開鍵を用いて認証子の検証を行うようにしてもよい。そこで、以下の実施例3では、この場合の認証システムの構成および処理の流れを説明し、最後に実施例3による効果を説明する。なお、以下に説明するユーザA端末300、情報取得サーバA400および情報共有サーバB500は、互いにネットワーク(公衆電話網やインターネット、LANやWANなどによって形成される通信網)を経由して、HTTP(Hyper Text Transfer Protocol)等のプロトコルを用いて互いに通信できるものとする。
まず最初に、図12を用いて、実施例3に係る認証システムのユーザA端末300、情報取得サーバA400および情報共有サーバB500の構成について説明する。図12は、実施例3に係る認証システムの全体構成を示すシステム構成図である。同図に示すように、ユーザA端末300は、Webブラウザを備えたPCや携帯電話端末等である。
まず、情報取得サーバA400は、ユーザA端末300を代理して情報共有サーバB500からリソースを取得し、ユーザA端末300に提供するサーバであり、ログイン要求受付部411と、ユーザ情報記憶部412と、認証要求部421と、認証応答部422と、固有鍵記憶部423と、固有鍵更新部424と、スケジュール問合せ先記憶部425と、ネットワーク通信機能430とからなる。なお、ネットワーク通信機能については、上記の実施例を同様であるので説明を割愛する。
ユーザ情報記憶部412は、ログイン要求受付部411における各種処理に必要なデータおよびプログラムを格納する格納手段(記憶手段)であり、具体的には、図13に例示するように、ユーザA端末300のログイン判定に用いられるユーザ名と、そのユーザに一意に規定したパスワードを対応させて記憶して構成される。
固有鍵記憶部423は、認証要求部421および鍵応答部422における各種処理に必要なデータを格納する格納手段(記憶手段)であり、具体的には、ユーザに固有の公開鍵および秘密鍵を記憶して構成される。
スケジュール問合せ先記憶部425は、認証要求部における各種処理に必要なデータを格納する格納手段(記憶手段)であり、具体的には、図14に例示するように、ユーザIDごとにスケジュール問い合わせ先(例えば、URL)を記憶して構成される。
ログイン要求受付部411、認証要求部421、認証応答部422および固有鍵更新部424は、情報取得サーバA400を制御して各種処理を実行する制御手段であり、具体的には、ログイン要求受付部411は、ユーザA端末300からのログイン要求を受け付ける。また、認証要求部421は、リソースの要求および取得や、情報共有サーバB500に対して送信する認証要求の生成を行う。また、認証応答部422は、情報共有サーバB500からの公開鍵問合せを受信して公開鍵を応答する。また、固有鍵更新部424は、公開鍵および秘密鍵の対を作成して固有鍵記憶部423に登録する。
次に、情報共有サーバB500は、認証判定部511と、相手鍵更新部512と、相手情報記憶部513と、アクセス制御部521と、リソース記憶部522と、ネットワーク通信機能530とからなる。なお、アクセス制御部521およびネットワーク通信機能530については、上記の実施例と同様であるので説明を割愛する。
相手情報記憶部513は、認証判定部511および相手鍵更新部512における各種処理に必要なデータを格納する格納手段(記憶手段)であり、具体的には、図15に例示するように、公開鍵の問い合わせ先として、ユーザIDごとに鍵問合せ先(例えば、URL)および取得した公開鍵のファイルを記憶して構成される。
リソース記憶部522は、アクセス制御部521における各種処理に必要なデータを格納する格納手段(記憶手段)であり、具体的には、図16に例示するように、情報共有サーバB500の保有者の情報(例えば、スケジュール情報)を記憶して構成される。
認証判定部511および相手鍵更新部512は、情報共有サーバB500を制御して各種処理を実行する制御手段であり、具体的には、認証判定部511は、ユーザA端末300からリソース要求や認証要求を受け付けて認証判定を行う。また、相手鍵更新部512は、リソース要求等を行う通信相手の公開鍵を取得する。
なお、情報取得サーバA400および情報共有サーバB500は、汎用的なパーソナルコンピュータ上で、実施例1に係る認証システムを実行するプログラムを走行することによって実現できる。
[認証システムによる処理(実施例3)]
続いて、図17を用いて、実施例3に係る認証システムの処理の流れを説明する。図17は、実施例3に係る認証システムの処理の流れを説明するシーケンス図である。
同図に示すように、ユーザA端末300は、情報取得サーバA400に対してアクセス要求を送信する(ステップS510)。この要求を受信して、情報取得サーバA400は、ユーザA端末300に対してログインページを送信して、ユーザ名およびパスワードの入力を促す(ステップS520)。ログインページを受信して、ユーザA端末300は、例えば、図18に例示するような、ログインページにユーザ名(U1)およびパスワードを入力して送信ボタンをクリックし、情報取得サーバA400にユーザ認証要求を送信する(ステップS530)。
この要求を受け付けた情報取得サーバA400のログイン要求受付部411は、ユーザ認証を行う(ステップS540)。まず、ログイン要求受付部は、ユーザ情報記憶部412からユーザ名(U1)に対応するパスワードを取得し、認証要求に含まれるパスワードと比較する。その結果、両パスワードが一致する場合には認証成功とみなし、ユーザA端末300に対して、例えば、図19に例示するようなスケジュール表示ページを送信する(ステップS550)。
ところで、ユーザA端末300のユーザは、必要に応じて新たに公開鍵および秘密鍵の対を作成することができる。その場合には、ユーザA端末300のユーザは、情報取得サーバA400に対して鍵更新要求を送信する(ステップS560)。この要求を受け付けた情報取得サーバA400は、鍵更新処理を実行する(ステップS570)。
ここで、図20を用いて、鍵更新処理の流れを説明する。固有鍵更新部424は、公開鍵および秘密鍵の対を生成し、それぞれPn、Snとする(ステップS2001)。次に、固有鍵記憶部423から秘密鍵Sを取得し、Pnに対して署名処理を行う(ステップS2002)。そして、固有鍵記憶部423に記憶されている公開鍵PをPnで、秘密鍵SをSnでそれぞれ置き換える(ステップS2003)。鍵更新処理を終えると、情報取得サーバA400は、更新が終了した旨をユーザA端末300に対して通知する。なお、鍵更新の手順は必須の手順ではなく、更新の必要がない場合にはステップS560〜S580を省略するものとする。
スケジュール表示ページの応答あるいは鍵更新処理の通知を受けて、ユーザA端末300は、スケジュールの取得を希望するユーザ名(U2)を指定して、情報取得サーバA400に該当ユーザ(U2)のスケジュール取得を要求する(ステップS590)。この要求を受けて、情報取得サーバA400認証要求部421は、ユーザ名(U2)に対応したスケジュール問い合わせ先をスケジュール問い合わせ先記憶部125から取得する(ステップS600)。そして、認証要求部421は、情報共有サーバB500に対して、ユーザ名(U2)に対応したスケジュール問い合わせ先にスケジュール取得要求を送信する(ステップS610)。なお、この要求には、要求者の識別子としてユーザ名(U1)が含まれる。
このスケジュール取得要求を受け付けた情報共有サーバB500の認証判定部511は、情報取得サーバA400に対してチャレンジデータC(例えば、乱数)を送信する(ステップS620)。チャレンジデータCの送信を受けた情報取得サーバA400の認証要求部421は、チャレンジデータCに基づいて認証子生成処理を実行する(ステップS630)。
ここで、図21を用いて、認証子生成処理の流れを説明する。まず。認証要求部421は、チャレンジデータCのハッシュ値を求めて、得られたデータをXとする(ステップS2101)。そして、固有鍵記憶部423に記憶された秘密鍵Sを取得して、秘密鍵Sを用いてデータXを暗号化したものを認証子Tとする(ステップS2102)。認証子Tの生成を終えると、情報取得サーバA400は、認証子Tを情報共有サーバB500に対して送信する(ステップS640)。
この送信を受けて、情報共有サーバB500の認証判定部511は、ステップS610で取得したユーザID(U1)に対応した鍵問合せ先アドレス(URL)を、相手情報記憶部513から取得し、このアドレスに対して鍵問い合わせ要求を送信する(ステップS650)。この要求を受けて、情報取得サーバA400の鍵応答部422は、固有鍵記憶部423から公開鍵P’を取得し、情報共有サーバB500に対して送信する(ステップS660)。
公開鍵P’を受信した情報共有サーバB500の相手鍵更新部512は、公開鍵P’の検証と、相手情報記憶部513に記憶されている公開鍵ファイルの更新を行う(ステップS670)。ここで、図22を用いて、公開鍵P’の検証処理の流れを説明する。まず、相手鍵更新部512は、相手情報記憶部513からユーザID(U1)に対応した公開鍵を取得してP’’とする(ステップS2201)。次に、公開鍵P’とP’’とを比較して検証を行う(ステップS2202)。公開鍵P’とP’’とが一致した場合には、公開鍵P’の検証結果を「OK」とし、鍵の更新は行わない。一方、公開鍵P’とP’’を比較して一致しなかった場合には、P’に付与された署名データをP’’で検証する(ステップS2203)。そして、検証が成功した場合には、公開鍵P’の検証結果を「OK」とし、相手情報記憶部513の中のユーザID(U1)に対応した公開鍵ファイルをP’に置き換える。一方、検証が失敗した場合には、検証結果を[NG]とし、鍵の更新は行わない。
公開鍵P’の検証結果が「OK」であった場合には、情報共有サーバB500の認証判定部511は、認証子Tの検証を行う(ステップS680)。ここで、図23を用いて、認証子Tの検証処理の流れを説明する。まず、認証判定部511は、相手情報記憶部513からユーザID(U1)に対応した公開鍵P’を取得し、その鍵P’を用いて認証子Tを複合化したデータをC’とする(ステップS2301)。そして、チャレンジデータCとC’とを比較して、一致した場合には検証結果を「OK」とし、一致しなかった場合には検証結果を「NG」とする(ステップS2302)。なお、公開鍵P’の検証結果が「NG」であった場合には、情報共有サーバB500の認証判定部511は、認証子Tの検証を行わない。
認証子Tの検証結果が「OK」であった場合には、情報共有サーバB500のアクセス制御部521は、ユーザA端末300によって取得希望されているユーザ名(U2)に対応したスケジュールデータをリソース記憶部522から取得する(ステップS690)。そして、アクセス制御部521は、情報取得サーバA400に対してこのスケジュールデータを送信する(ステップS700)。この送信を受けたユーザA端末300の画面には、例えば、図24に例示するようなスケジュール取得画面が表示される(ステップS710)。なお、認証子Tの証結果が「NG」であった場合には、情報共有サーバB500のアクセス制御部521は、ユーザA端末300によって取得希望されているユーザ名(U2)に対応したスケジュールデータをリソース記憶部522から取得しない。
ところで、上記の実施例では、公開鍵および秘密鍵の対を記憶しておいて使用する場合について説明したが、本発明はこれに限定されるものでなく、公開鍵および秘密鍵の対を複数記憶して使い分けるようにしてもよい。そこで、以下では、図25を用いて、この場合の認証システムの処理の流れについて説明する。なお、ステップS810〜S860、ステップS900〜S920およびステップS980〜S1020については、上記の実施例と同様であるので説明を割愛する。図25は、実施例3に係る鍵の対を複数使用する場合の認証システムの処理の流れを示すシーケンス図である。
同図に示すように、ユーザA端末300’から鍵更新要求を受け付けると、情報取得サーバA400’は、鍵更新処理を実行する(ステップS870)。まず、生成した鍵の対に一意の識別子を付与する。また、固有鍵記憶部423’に新たな鍵を上書きする変わりに鍵の対を追加していく。そして、鍵の更新が終了した旨をユーザA端末300’に対して送信する。
この送信を受けて、ユーザA端末300’は、使用する公開鍵の識別子(例えば、i)を指定した上で、スケジュールの取得を要求する(ステップS890)。また、ステップS930においては、ステップ890において指定された識別子(例えば、i)に対応する鍵を用いて認証子の生成を行い、ステップS940においては、鍵の識別子(例えば、i)も通知する。
また、ステップS950においては、要求する公開鍵を指定するために識別子(例えば、i)を送信し、さらに情報共有サーバA400’が相手情報記憶部513に記憶している公開鍵の識別子(例えば、j)も送信する。ステップS960においては、iとjが一致した場合には固有鍵記憶部423からiに対応した公開鍵Piを取得し、iとjが異なる場合にはjに対応する公開鍵Pjに対応する秘密鍵Sjを固有鍵記憶部423’から取得し、PiにSjで署名を行った上でPiを取得する。ステップS970においては、ステップS960で取得した公開鍵Piを応答する。
[実施例3の効果]
上述してきたように、実施例3によれば、この認証システムは、認証子を検証するために必要な認証子確認用の鍵(例えば、秘密鍵で暗号されたデータを検証するために必要な公開鍵)を問い合わせて、その鍵を用いて暗号化データを検証し、その検証結果に基づいて認証子の正当性を確認するので、秘密情報を保持する際の安全性を高めることが可能となる。例えば、認証要求は秘密鍵を保持した耐タンパ性のあるアクセス者の装置で行い、認証応答は公開鍵を格納したアクセス者装置以外の装置(例えば、公開サーバ)で行うといったように、認証要求を生成する機能と認証問い合わせに応答する機能を分離して配置することにより実現できる。
また、実施例3によれば、この認証システムは、問い合わせ先からの応答結果(公開鍵、公開鍵のハッシュ値や公開鍵証明書)を受け付けた場合に、前回の認証に用いた鍵で応答結果を検証した上で認証子の正当性を確認するので、例えば、鍵が更新された場合に、前回認証子の検証に使用された鍵を用いて更新された鍵を検証することができ、鍵の問い合わせを受けた悪意ある第三者が認証問い合わせ先に成りすまして不当な応答メッセージを返信したとしても、正規のユーザ以外は以前の鍵による署名を施した新たな鍵を生成して返信することができないので、不正を検出することが可能となる。
また、実施例3によれば、この認証システムは、この認証システムは、認証子生成用の鍵(例えば、チャレンジデータを暗号化するための秘密鍵)と認証子確認用の鍵(例えば、暗号化されたチャレンジデータを複合化するための公開鍵)とを複数管理し、認証子生成用の鍵および認証子確認用の鍵からなる複数の鍵の対を用意して使い分けるので、例えば、アクセス者が固有の公開鍵を複数のサービス提供者装置に対して使用することにより、公開鍵を元にサービス提供者装置間でアクセス者の名寄せが行われて、匿名性が損なわれるのを防止することが可能となる。
さて、これまで実施例1〜3に係る認証システムについて説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例4として、種々の異なる実施例を(1)〜(5)に区分けして説明する。
(1)認証子自体の問い合わせ
上記の実施例では、認証問合せ先から認証子の検証結果や認証子の正当性を確認するために必要な情報を取得して認証子の正当性を確認する場合について説明したが、本発明はこれに限定されるものではなく、認証問合せ先から認証子そのものを取得して、認証子の正当性を確認するようにしてもよい。
これにより、認証子を問い合わせて、問い合わせ応答である認証子と認証要求に含まれる認証子とを比較して認証子の正当性を確認するので、認証問合せ先(例えば、アクセス者装置自身)において認証子を一度生成したら問い合わせを受けるまでそれを保持しておくので、認証問合せ先において認証子の生成ないし検証の処理を実行する回数を一回で済ませることが可能となる。
(2)認証子を検証するために必要な認証子確認用の鍵を検証するためのデータを問い合わせ
上記の実施例では、認証子を検証するために必要な認証子確認用の鍵を問い合わせて、この鍵を用いて認証子を検証する場合について説明したが、本発明はこれに限定されるものではなく、あらかじめ認証子を検証するために必要な認証子確認用の鍵を受け付けて、この認証子確認用の鍵を検証するために必要なデータ(例えば、公開鍵のハッシュ値や公開鍵証明書)を問い合わせて、このデータに基づいて認証子確認用の鍵を検証した上で、この鍵を用いて認証子を検証するようにしてもよい。
これにより、この認証システムは、認証子を検証するために必要な認証子確認用の鍵を含んだ認証要求を受け付け、この認証子確認用の鍵を検証するために必要なデータ(例えば、公開鍵のハッシュ値や公開鍵証明書)を問い合わせ、このデータに基づいて、この認証子確認用の鍵が正規のアクセス者のものであると検証された場合には、この認証子確認用の鍵を用いて認証子を検証し、その検証結果に基づいて認証子の正当性を確認するので、例えば、アクセス者から受け取った公開鍵をサービス提供者側で保持しておき、認証の度に公開鍵を問い合わせることなく、公開鍵のハッシュ値のみを問い合わせることで通信量を減らすことが可能となる。
(3)認証子の正当性を確認するために必要な情報を予め取得
上記の実施例では、前回認証子の検証に用いられた鍵を用いて、新たに認証問合せ先から受け付けた公開鍵を認証する場合について説明したが、本発明はこれに限定されるものではなく、まだ認証子の検証を行っていない段階においては、サービス提供者がユーザからあらかじめ認証子の検証に必要な情報(例えば、公開鍵や公開鍵のハッシュ値)を取得するようにしてもよい。
これにより、この認証システムは、認証子の認証に必要な情報をあらかじめ認証問い合わせ先に問い合わせて、その情報に基づいて認証子の正当性を確認するので、例えば、まだ、認証子の認証を行っていない段階において、自発的に公開鍵やハッシュ値を問い合わせて管理することで、悪意ある第三者が認証問い合わせ先に成りすまして不当な応答メッセージを返信する手段を用意する前に、正規の公開鍵やハッシュ値を取得することが可能となる。
(4)所定の鍵で暗号化したデータを解読させることでアクセス者(もしくはアクセス者装置)を検証
上記の実施例では、サービス提供要求(例えば、スケジュール取得要求)を受けたサービス提供者装置がアクセス者(もしくはアクセス者装置)に対して所定のデータ(例えば、チャレンジデータ)を送信して認証子を生成させ、その認証子の検証結果に基づいてアクセス者(もしくはアクセス者装置)を認証する場合について説明したが、本発明はこれに限定されるものではなく、サービス提供要求を受けたサービス提供者装置が所定の鍵(例えば、公開鍵)を用いて生成した所定の暗号化データをアクセス者(もしくはアクセス者装置)に送信して、アクセス者(もしくはアクセス者装置)がその認証子を解読(例えば、秘密鍵を用いて復号)できるか否かによってアクセス者を認証するようにしてもよい。そこで、以下では、図26を用いて、この場合の認証システムの処理の流れについて説明する。図26は、実施例4に係る認証システムの処理の流れを示すシーケンス図である。
同図に示すように、問合せアドレス登録(同図の(1)参照)から問合せ先取得(同図の(2)参照)までの流れは、上記の実施例と同様であるので説明を割愛する。また、サービス者提供装置は、アクセス者(もしくはアクセス者装置)からユーザIDを含んだサービス提供要求を受け付ける(同図の(3)参照)。そして、サービス提供者装置は、アクセス者(もしくはアクセス者装置)からサービス提供要求とともに受け付けたユーザIDに基づいて、問合せ先リストから問い合わせ先のアドレスを取得し(同図の(4)参照)、この問い合わせ先のアドレスに対して、所定の暗号化データを生成するために必要な情報を問い合わせる(同図の(5)参照)。かかる問い合わせとしては、所定の暗号化データを生成するための公開鍵などがこれに該当する。
その後、サービス提供者装置は、かかる問い合わせ先から問い合わせ応答(公開鍵)を受信すると(図26の(6))参照)、この問い合わせ応答に基づいて生成した暗号化データをアクセス者(もしくはアクセス者装置)に対して送信する(同図の(7)参照)。この暗号化データの送信を受けて、アクセス者(もしくはアクセス者装置)は、暗号化データの復号を行う(同図の(8)参照)。具体的には、アクセス者(もしくはアクセス者装置)は、自己が保持する固有の秘密鍵を用いて、サービス提供者装置によって公開鍵で暗号化された暗号化データを復号する。そして、アクセス者(もしくはアクセス者装置)は、この復号化データをサービス提供者装置に対して送信する(同図の(9)参照)。
この復号化データの送信を受けて、サービス提供者装置は復号化データの検証を行う(同図の(10)参照)。具体的には、サービス提供者が公開鍵を用いて暗号化する前の所定のデータとアクセス者装置から受け付けた復号化データが同様のものであるか否かの検証を行い、同様であれば、復号化データの正当性を確認し、アクセス者(もしくはアクセス者装置)を認証する。そして、アクセス者装置を認証した場合には、サービス者提供者装置は、アクセス者(もしくはアクセス者装置)に対して要求されたサービス(リソース)を開示する(同図の(11)参照)。
このように、この認証システムによれば、公開鍵を用いて生成した認証子をアクセス者(もしくはアクセス者装置)に解読させることにより、アクセス者を正規のものであるか否かを検証(正当性を確認)することができ、アクセス者(もしくはアクセス者装置)検証のバリエーションに幅を持たせることが可能となる。
(5)装置構成
図2または8に示した認証システムにおける各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、例えば、図2のアクセス者端末A100における認証要求部110と認証応答部120とを分散して固有鍵記憶部130を端末間で共有させる、あるいは、図8のアクセス者端末A100’における認証要求部110’と認証応答部120’とを分散して固有鍵記憶部130を端末間で分散させるなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
以上のように、本発明に係る認証システム、認証方法および認証プログラムは、アクセス者を認証するための認証子を含む認証要求を受け付けて当該認証子の認証を行うに有用であり、特に、通信当事者以外の第三者による認証情報の正当性保証を要することなく認証を行うことができ、認証に用いられる証明書等の認証情報が失効した場合、その失効情報を通信相手に確実に伝えることでき、さらには、通信当事者間で秘密情報を共有しないようにすることに適する。
本発明に係る認証システムの概要を説明するための図である。 実施例1に係る認証システムの全体構成を示すシステム構成図である。 実施例1に係る問合せ先リストの構成例を示す図である。 実施例1に係るリソース記憶部の構成例を示す図である。 実施例1に係る認証システムの処理の流れを示すシーケンス図である。 実施例1に係る認証子生成処理の流れを示すフローチャートである。 実施例1に係る認証子検証処理の流れを示すフローチャートである。 実施例2に係る認証システムの全体構成を示すシステム構成図である。 実施例2に係る認証システムの処理の流れを示すシーケンス図である。 実施例2に係る認証子生成処理の流れを示すフローチャートである。 実施例2に係る認証子検証処理の流れを示すフローチャートである。 実施例3に係る認証システムの全体構成を示すシステム構成図である。 実施例3に係るユーザ情報記憶部の構成例を示す図である。 実施例3に係るスケジュール問合せ先記憶部の構成例を示す図である。 実施例3に係る相手情報記憶部の構成例を示す図である。 実施例3に係るリソース記憶部の構成例を示す図である。 実施例3に係る認証システムの処理の流れを示すシーケンス図である。 実施例3に係るユーザ認証画面の構成例を示す図である。 実施例3に係るスケジュール表示画面およびスケジュール取得要求画面の構成例を示す図である。 実施例3に係る鍵更新処理の流れを示すフローチャートである。 実施例3に係る認証子生成処理の流れを示すフローチャートである。 実施例3に係る鍵検証および更新処理の流れを示すフローチャートである。 実施例3に係る認証子検証処理の流れを示すフローチャートである。 実施例3に係るスケジュール取得画面の構成例を示す図である。 実施例3に係る鍵の対を複数使用する場合の認証システムの処理の流れを示すシーケンス図である。 実施例4に係る認証システムの処理の流れを示すシーケンス図である。
符号の説明
100 アクセス者端末A
110 認証要求部
120 認証応答部
130 固有鍵記憶部
140 ネットワーク通信機能
200 サービス提供者端末B
210 認証要求受付部
220 認証問合せ部
230 問合せ先リスト
240 アクセス制御部
250 リソース記憶部
260 ネットワーク通信機能
100’ アクセス者端末A
110’ 認証要求部
120’ 認証応答部
130’ 固有鍵記憶部
140’ ネットワーク通信機能
200’ サービス提供者端末B
210’ 認証要求受付部
220’ 認証問合せ部
230’ 問合せ先リスト
240’ アクセス制御部
250’ リソース記憶部
260’ ネットワーク通信機能
300 ユーザA端末
400 情報取得サーバA
410 ユーザログイン機能
411 ログイン要求受付部
412 ユーザ情報記憶部
420 サーバ間認証機能
421 認証要求部
422 鍵応答部
423 固有鍵記憶部
424 固有鍵更新部
425 スケジュール問合せ先記憶部
430 ネットワーク通信機能
500 情報共有サーバB
510 認証機能
511 認証判定部
512 相手鍵更新部
513 相手情報記憶部
520 リソース共有機能
521 アクセス制御部
522 リソース記憶部
530 ネットワーク通信機能

Claims (10)

  1. アクセス者を認証するための認証子を含む認証要求を受け付けて当該認証子の正当性を確認する認証システムにおいて、
    前記認証要求に関する問い合わせに応答する問い合わせ先のアドレスを、前記アクセス者を一意に識別するアクセス者識別子に対応付けて記憶するアドレス記憶手段と、
    前記アクセス者識別子ならびに前記認証要求を受け付ける認証要求受付手段と、
    前記認証要求に含まれるアクセス者識別子に対応する問い合わせ先のアドレスを前記アドレス記憶手段から取得し、前記認証子の正当性を確認するのに必要な情報を当該問い合わせ先のアドレスに対して問い合わせる認証情報問い合わせ手段と、
    前記問い合わせ先からの応答に基づいて、前記認証子の正当性を確認する認証手段と、
    を備えたことを特徴とする認証システム。
  2. 前記認証子は、所定の鍵を用いて生成されたデータであって、
    前記認証情報問い合わせ手段は、前記認証子の検証結果を問い合わせ、
    前記認証手段は、前記問い合わせ先からの応答である検証結果に基づいて、前記認証子の正当性を確認することを特徴とする請求項1に記載の認証システム。
  3. 前記認証子は、所定の鍵を用いて生成されたデータであって、
    前記認証情報問い合わせ手段は、前記認証子を問い合わせ、
    前記認証手段は、前記問い合わせ先からの応答である認証子と、前記認証要求に含まれる認証子とが対応していることを条件に前記アクセス者を確認することを特徴とする請求項1に記載の認証システム。
  4. 前記認証子は、当該認証子生成用の鍵を用いて生成されたデータであって、
    前記認証情報問い合わせ手段は、前記認証子を検証するために必要な認証子確認用の鍵を問い合わせ、
    前記認証手段は、前記問い合わせ先からの応答結果である前記認証子確認用の鍵を用いて、前記認証子を検証し、当該検証結果に基づいて前記認証子の正当性を確認することを特徴とする請求項1に記載の認証システム。
  5. 前記認証要求受付手段は、前記データを検証するために必要な鍵をさらに受け付け、
    前記認証子は、当該認証子生成用の鍵を用いて生成されたデータであって、
    前記認証情報問い合わせ手段は、前記認証子を検証するための認証子確認用の鍵を検証するために必要なデータを問い合わせ、
    前記認証手段は、前記問い合わせ先からの応答結果である前記認証子確認用の鍵を検証するために必要なデータに基づいて、前記認証子確認用の鍵を正規のアクセス者のものであると認証した場合には、当該認証子確認用の鍵を用いて前記認証子を検証し、当該検証結果に基づいて前記認証子の正当性を確認することを特徴とする請求項1に記載の認証システム。
  6. 前記アクセス者が前記認証子生成用の鍵と前記認証子確認用の鍵とを複数管理し、当該アクセス者が前記問い合わせ先に応じて当該認証子生成用の鍵と当該認証子確認用の鍵とを選択する鍵選択手段をさらに備えたことを特徴とする請求項4または5に記載の認証システム。
  7. 前記問い合わせ先からの応答結果を受け付けた場合に、前記認証手段によって前回使用された鍵を用いて、当該応答結果の検証を行う検証手段をさらに備え、
    前記認証手段は、前記検証手段によって前記応答結果が正規のアクセス者のものであると検証された場合に、当該応答結果に基づいて前記認証子の正当性を確認することを特徴とする請求項4、5または6に記載の認証システム。
  8. 前記認証情報問い合わせ手段は、以後取得すべき問い合わせ先からの応答結果の検証に必要な情報をあらかじめ前記問い合わせ先のアドレスに対して問い合わせ、
    前記認証手段は、前記認証要求を受け付けた場合に、前記認証情報問い合わせ手段によって得られた問い合わせ応答を、前記問い合わせ先からあらかじめ取得していた情報に基づいて検証した上で、前記認証子の正当性を確認することを特徴とする請求項7に記載の認証システム。
  9. アクセス者を認証するための認証子を含む認証要求を受け付けて当該認証子の正当性を確認する認証方法において、
    前記認証要求に関する問い合わせに応答する問い合わせ先のアドレスを、前記アクセス者を一意に識別するアクセス者識別子に対応付けて記憶するアドレス記憶工程と、
    前記アクセス者識別子ならびに前記認証要求を受け付ける認証要求受付工程と、
    前記認証要求に含まれるアクセス者識別子に対応する問い合わせ先のアドレスを前記アドレス記憶手段から取得し、前記認証子の正当性を確認するのに必要な情報を当該問い合わせ先のアドレスに対して問い合わせる認証情報問い合わせ工程と、
    前記問い合わせ先からの応答に基づいて、前記認証子の正当性を確認する認証工程と、
    を備えたことを特徴とする認証方法。
  10. アクセス者を認証するための認証子を含む認証要求を受け付けて当該認証子の正当性を確認する方法をコンピュータに実行させる認証プログラムにおいて、
    前記認証要求に関する問い合わせに応答する問い合わせ先のアドレスを、前記アクセス者を一意に識別するアクセス者識別子に対応付けて記憶するアドレス記憶手順と、
    前記アクセス者識別子ならびに前記認証要求を受け付ける認証要求受付手順と、
    前記認証要求に含まれるアクセス者識別子に対応する問い合わせ先のアドレスを前記アドレス記憶手段から取得し、前記認証子の正当性を確認するのに必要な情報を当該問い合わせ先のアドレスに対して問い合わせる認証情報問い合わせ手順と、
    前記問い合わせ先からの応答に基づいて、前記認証子の正当性を確認する認証手順と、
    をコンピュータに実行させることを特徴とする認証プログラム。
JP2005257089A 2005-09-05 2005-09-05 認証システム、認証方法および認証プログラム Pending JP2007074164A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005257089A JP2007074164A (ja) 2005-09-05 2005-09-05 認証システム、認証方法および認証プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005257089A JP2007074164A (ja) 2005-09-05 2005-09-05 認証システム、認証方法および認証プログラム

Publications (1)

Publication Number Publication Date
JP2007074164A true JP2007074164A (ja) 2007-03-22

Family

ID=37935265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005257089A Pending JP2007074164A (ja) 2005-09-05 2005-09-05 認証システム、認証方法および認証プログラム

Country Status (1)

Country Link
JP (1) JP2007074164A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009017537A (ja) * 2007-06-04 2009-01-22 Panasonic Corp 利用装置、サーバ装置、サービス利用システム、サービス利用方法、サービス利用プログラム及び集積回路
JP2009043037A (ja) * 2007-08-09 2009-02-26 Nippon Telegr & Teleph Corp <Ntt> ユーザ認証方法、ユーザ認証装置、プログラム及び記録媒体
CN111193592A (zh) * 2018-11-14 2020-05-22 银联国际有限公司 一种双***间的公钥更新方法
CN112653911A (zh) * 2020-12-08 2021-04-13 中国联合网络通信集团有限公司 一种秘钥更新方法及设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009017537A (ja) * 2007-06-04 2009-01-22 Panasonic Corp 利用装置、サーバ装置、サービス利用システム、サービス利用方法、サービス利用プログラム及び集積回路
JP2009043037A (ja) * 2007-08-09 2009-02-26 Nippon Telegr & Teleph Corp <Ntt> ユーザ認証方法、ユーザ認証装置、プログラム及び記録媒体
CN111193592A (zh) * 2018-11-14 2020-05-22 银联国际有限公司 一种双***间的公钥更新方法
CN112653911A (zh) * 2020-12-08 2021-04-13 中国联合网络通信集团有限公司 一种秘钥更新方法及设备
CN112653911B (zh) * 2020-12-08 2022-11-18 中国联合网络通信集团有限公司 一种秘钥更新方法及设备

Similar Documents

Publication Publication Date Title
US11606352B2 (en) Time-based one time password (TOTP) for network authentication
JP5619019B2 (ja) 認証のための方法、システム、およびコンピュータ・プログラム(1次認証済み通信チャネルによる2次通信チャネルのトークンベースのクライアント・サーバ認証)
US10567370B2 (en) Certificate authority
US7844816B2 (en) Relying party trust anchor based public key technology framework
US20090158394A1 (en) Super peer based peer-to-peer network system and peer authentication method thereof
US20100138907A1 (en) Method and system for generating digital certificates and certificate signing requests
CA2551113A1 (en) Authentication system for networked computer applications
Chalaemwongwan et al. A practical national digital ID framework on blockchain (NIDBC)
WO2008002081A1 (en) Method and apparatus for authenticating device in multi domain home network environment
KR101572598B1 (ko) Sso 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법
JP2007074164A (ja) 認証システム、認証方法および認証プログラム
CN113261252A (zh) 用于安全服务器通信的节点和方法
US20170331793A1 (en) Method and a system for managing user identities for use during communication between two web browsers
JP2007310619A (ja) 認証方式及びこれを用いた認証システム
US20240137353A1 (en) A method for authenticating a user towards a multi-node party
Ezawa et al. Designing authentication and authorization system with blockchain
Moon et al. An AAA scheme using ID-based ticket with anonymity in future mobile communication
KR20040002036A (ko) 보안성이 강화된 단순 인증 방법
Patel et al. Improving the security of SSO in distributed computer network using digital certificate and one time password (OTP)
CN111682941A (zh) 基于密码学的集中式身份管理、分布式认证与授权的方法
Kumar et al. A Novel Collaborative PKI Framework in Public Cloud
CN114915494B (zh) 一种匿名认证的方法、***、设备和存储介质
Kovalchuk Authorization server with OAuth support and recommended usage patterns
Selvamani et al. A Two-Fold Authentication Mechanism for Network Security
Seo The Future of Digital Authentication: Blockchain-driven Decentralized Authentication in Web 3.0