説明

認証機能付きサーバ及び方法

【課題】鍵ペアやICカードなど、ユーザが認証のために用いる秘密鍵を保持した手段が盗難にあった場合でも、その不正利用を抑制できる仕組みを提供する。
【解決手段】ユーザがサーバ装置の認証URLにアクセスすると(S10)、サーバ装置はユーザに対し証明書を提示させる(S20)。ユーザが自分の証明書をサーバ装置に送信すると(S12)、サーバ装置は、その証明書からそのユーザ(主体者)のメールアドレスを求め(S24)、本人確認用のウェブページを生成し、このページのURLを記載した本人確認メールを(S26)、そのメールアドレス宛に送信する(S28)。これを受け取ったユーザは、自分が認証要求を行ったのであれば、本人確認メールに示されたURLにアクセスし(S14)、認証許可の旨を入力すればよい(S16)。認証許可の入力がなされると、サーバ装置20はデジタル署名によるユーザ認証を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子商取引など、ネットワークを介した通信における本人確認のための方式に関する。
【背景技術】
【0002】
電子商取引等においては「なりすまし」などのユーザの不正行為を防ぐため各種の対策が講じられている。
【0003】
例えば、特許文献1には、サーバのログイン時にパスワード等によりユーザの認証を行ったあと、ログイン中に継続的にそのユーザの指紋等のバイオメトリクス情報をユーザ端末側からサーバに送ることにより、ログイン中のなりすましを防止する技術が示される。
【0004】
この方式は、ユーザ固有のバイオメトリクス情報を用いるためなりすまし防止には効果的であるが、システムのコスト高を招くという問題がある。
【0005】
特許文献2に示されるシステムでは、ユーザ端末は当該ユーザ端末内のハードウエア固有の情報(例えばMACアドレス)が組み込まれたデジタル証明書を認証サーバから取得し、デジタル証明書を用いて電子商取引等のセッションを行う場合に、そのデジタル証明書に組み込まれたハードウエア固有情報と、ユーザ端末内のハードウエアから取得したハードウエア固有情報とを比較し、両者が一致した場合にのみそのセッションを認めることで、ユーザが不正取得したデジタル証明書を使用することを抑制している。
【0006】
しかしながら、このシステムは、ユーザが利用できる端末を限定するものであり、ユーザに不便を強いる。
【0007】
公開鍵基盤(PKI)を利用した本人確認・ユーザ認証の仕組みとしては、上の特許文献2にも示したようにデジタル署名が広く利用されている。デジタル署名を用いたユーザ認証は、ユーザ端末に保存された鍵ペアやデジタル(公開鍵)証明書や、ユーザが携帯するICカードに保持された秘密鍵とデジタル証明書を用いて行われる。このユーザ認証方式は適切に運用されていれば有効性が高いが、鍵ペアのファイルやICカードが盗難などにより第三者の手に渡ってしまうと、不正利用が容易になされてしまうという問題がある。
【0008】
【特許文献1】特開2004−013831号公報
【特許文献2】特開2003−188873号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、鍵ペアやICカードなど、ユーザが認証のために用いる秘密鍵を保持した手段が盗難にあった場合でも、その不正利用を抑制できる仕組みを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明では、ユーザの秘密鍵によるデジタル署名が施された認証データの署名を検証することによりユーザ認証を行う認証機能付きサーバにおいて、クライアント装置からユーザ認証要求を受けた場合に、そのユーザのメールアドレスに対して、本人確認のための電子メールである本人確認メールを送る。そして、その本人確認メールに応じて、ユーザから認証機能付きサーバに対し本人であることの確認の入力がなければ、ユーザ認証を失敗とする。すなわち、本人確認メールに対する本人の旨の確認の入力がなければ、認証データのデジタル署名が正当であるか否かに依らず、ユーザ認証を失敗とするのである。
【発明の効果】
【0011】
ユーザの鍵ペアのデータや、ユーザの秘密鍵を内蔵したICカード等のトークンを第三者が入手し、そのデータやトークンを用いてそのユーザ本人になりすまそうとした場合、デジタル署名に基づくユーザ認証だけでは認証が成功し、その第三者からのアクセスが正当なユーザからのアクセスと判断されてしまう。これに対し、本発明では、その正当なユーザのメールアドレスに本人確認メールを送り、それに対するユーザの確認が得られない場合にはユーザ認証失敗と判断するので、そのような不正利用を抑制できる。また、不正利用が試みられた場合、正当なユーザは認証機能付きサーバに対する身に覚えのないアクセスに対して本人確認メールを受け取るので、そのような不正が行われていることを知ることができる。
【発明を実施するための最良の形態】
【0012】
以下、図面を参照して、本発明を実施するための最良の形態(以下「実施形態」と呼ぶ)について説明する。
【0013】
図1は、本発明が適用されたシステムの一実施形態を示す機能ブロック図である。
【0014】
クライアントPC10は、ユーザが操作するコンピュータ装置であり、ユーザの公開鍵証明書(以下、単に証明書と呼ぶ)とこれに対応する秘密鍵とを登録した証明書DB(データベース)12を有する。PKI処理部14は、それら証明書や秘密鍵を用いて、PKI(公開鍵基盤)でのセキュリティのための処理を実行する機能モジュールである。この種の処理には、デジタル署名やその署名検証、データの暗号化、復号などがあるが、PKI処理部14は必ずしもその全てを実行するものでなくてもよい。PKI処理部14としては、例えば、SSL(Secure Socket Layer)やS/MIME(Secure Multipurpose Internet Mail Extension)などのプロトコルを例示することができるが、これに限られるものではない。クライアントPC10上のアプリケーションは、PKI処理部14を利用することで、インターネット等のネットワーク30を介した装置(例えばサーバ装置20)との通信において、なりすましや盗聴などの脅威に対処することができる。クライアントPC10で用いられるアプリケーションとして、図には電子メールの送受信を行うメールクライアント16や、HTTP(HyperText Transfer Protocol)を利用した処理を行うウェブクライアント(例えばウェブブラウザ)18を例示したが、これに限られるわけではない。
【0015】
サーバ装置20は、ネットワーク30を介してクライアントPC10に対して所定のサービスを提供するコンピュータ装置である。サーバ装置20が提供するサービスの1つの典型例は、図示したウェブサーバ24によるウェブページやウェブアプリケーションの提供であるが、この他にもFTP(File Transfet Protocol)に依るファイル転送サービスなど様々な種類のサービスがある。本実施形態におけるサーバ装置20の1つの特徴は、ユーザ(クライアント)認証における機能・処理内容(詳細は後述)にあり、この特徴は、サーバ装置20がクライアントPC10のアプリケーションに対して提供するサービスの種類には基本的には依存しない。
【0016】
サーバ装置20の鍵ペア管理部21には、そのサーバ装置20自身の公開鍵と秘密鍵のペアが保存されている。公開鍵の代わりに、その公開鍵を含んだ公開鍵証明書を保存していてもよい。PKI処理部22は、クライアントPC10のPKI処理部14と同様、PKIのための処理を実行する。
【0017】
ウェブサーバ24は、クライアントPC10に対しウェブページを提供するサーバである。このウェブページをユーザインタフェース(UI)としてユーザから指示を受け取り、その指示に対応するサービスを、CGI(Common Gateway Interface)技術などにより提供することができる。そのサービスの処理の本体を実行するのが、サービス処理部27である。サービス処理部27がユーザに提供するサービスの内容自体は、本発明の本質とは基本的に関係がないので、説明は省略する。
【0018】
メールサーバ23は、本人確認メール(詳細は後述)をユーザ宛に送信するのに用いられる。
【0019】
証明書アドレス解釈部25は、クライアントPC10から送られてきた証明書から、その証明書の主体者であるユーザの電子メールアドレスを読み取る。
【0020】
本人確認メール処理部26は、ユーザからのユーザ認証要求に対して、その要求がそのユーザ本人のものか否かを確認する本人確認メールをそのユーザのメールアドレスに送り、そのメールをトリガとする本人確認のための処理を実行する。本人確認の処理の具体例については後述する。
【0021】
図2は、このシステムにおけるユーザ認証処理の流れを示す図である。ここでは、SSLでのクライアント認証を例にとって説明する。
【0022】
この処理では、まずクライアント装置10のウェブクライアント18が、ユーザの操作に応じて、サーバ装置20のウェブサーバ24が有する、クライアント認証を必要とするウェブページのURLにアクセスする(S10)。このアクセスはHTTPSを用いて行われる。
【0023】
アクセスを受けたウェブサーバ24は、PKI処理部22のプロトコルを用いて、ウェブクライアント18に対して認証データを要求する(S20)。このように、ウェブサーバ24が必要とする認証に関する処理は、PKI処理部22により行われるのであるが、以下では煩雑さを避けるため、このような場合でも単に「ウェブサーバ24が・・・を行う」と記載する場合もある。ウェブクライアント18についても同様である。
【0024】
S20で要求する認証データは、ユーザの証明書と、S20の要求の際にウェブクライアント18に送ったメッセージ(Helloメッセージ)に対するユーザのデジタル署名である。証明書DB12に当該ユーザの証明書が複数登録されていることを考慮する場合には、それら証明書の一覧を画面表示してその中から使用するものをユーザに選択させるようにしてもよい。この場合、その選択のためのUIとなるウェブページをS20で提供する。なお、ユーザのICカードを用いる場合は、クライアントPC10のカードリーダによりICカードを読み取り、その中のユーザの証明書が証明書DB12にコピーされ、証明書の一覧の中に表示されることになる。
【0025】
認証データの要求を受け取ったウェブクライアント18は、S20で受け取ったHelloメッセージに対してそのユーザの秘密鍵によりデジタル署名を施すようPKI処理部14に要求し、この要求に対してPKI処理部14が返した署名済みのメッセージと、証明書DB18から取り出した当該ユーザの証明書とを認証データとしてウェブサーバ24に送信する(S12)。
【0026】
なお、ウェブサーバ24から証明書指定のためのウェブページが提供された場合は、S12ではウェブクライアント18はそのウェブページをクライアントPC10の画面に表示する。このウェブページには、証明書DB12に保持されている証明書の一覧を表示してその中からユーザの選択を受けるための入力手段が、例えばJava(商標)スクリプトなどにより組み込まれており、ユーザはこの入力手段により自分の使用する証明書を選択する。すると、PKI処理部14が、選択された証明書に対応する秘密鍵により上述のHelloメッセージに署名を施し、ウェブクライアント18はその署名済みのメッセージと、選択された証明書とを認証データとしてウェブサーバ24に送信する(S12)。
【0027】
さて、従来のSSLの認証セッションでは、ウェブサーバ24は、この認証データに含まれるメッセージに付されたデジタル署名を、同じくその認証データに含まれる公開鍵証明書中の公開鍵を用いて検証することで、ユーザ認証を行っていたが、本実施形態では、署名検証に入る前に、認証要求元のユーザのメールアドレスに本人確認メールを送って本人確認を行う。この処理がS24からS28のステップである。なお、前述したS10→S20→S12のHTTPSのセッションは、デジタル署名ベースの認証処理のセッションの前半部に当たる。
【0028】
S24〜S28の処理は、PKI処理部22からの依頼に応じて、本人確認メール処理部26が実行する。以下、詳細に説明する。
【0029】
S24では、証明書アドレス解釈部25が、ウェブクライアント18から取得した証明書から当該ユーザのメールアドレスを取得する。通常、証明書のサブジェクト(主体者)フィールド、又はRFC3280(RFC2459の新版)の拡張プロファイルにおけるサブジェクト別名フィールドに、ユーザ(主体者)のメールアドレスが記載されているので、S24ではそのメールアドレスを読み出すのである。
【0030】
S26では、そのメールアドレスに送る本人確認メールと、本人確認処理に用いるウェブページ(本人確認ページと呼ぶ)とを作成する。
【0031】
ここで、本人確認ページのアドレス(URL)は、ユーザからの認証要求(S10)の都度、動的に生成する一時的なものである。これは、不正を目論む者が本人確認ページのURLを知ったり、推測したりすることを極力防ぐためである。例えば、本人確認ページのURLを、ウェブサーバ24が管理するアドレスの中の所定の範囲の中でランダムに決定する等すればよい。本人確認ページの内容は、本人確認メールを受け取ったユーザが、S10の認証要求が確かに自分の出したものであることを入力できるようなものであればよく、例えば、「認証要求が行われました。許可しますか?」と言うメッセージと、許可の旨の意思表示を示すGUI(グラフィカルユーザインタフェース)ボタンと不許可の旨の意思表示を示すGUIボタンとを表示したものでよい。
【0032】
作成する本人確認メールは、S24で求めたメールアドレスを宛先とし、本文等にこの本人確認ページのURLが記述される。もちろん、「下記URLにアクセスして本人確認を行ってください。」などと言ったメッセージを含んでいてもよい。このメールを受け取ったユーザは、メールクライアント16によるこのメールの表示画面に示された本人確認ページのURLをクリックするなどの操作で、本人確認ページにアクセスし、認証要求に対する許可、不許可の意思表示を行うことができる。なお、本人確認ページの作成処理とメールアドレスの取得処理の実行順序は例示のものに限られない。
【0033】
このようにして本人確認ページ及び本人確認メールが作成できると、本人確認メールをメールサーバ23に渡し、送信させる(S28)。
【0034】
なお、本人確認メールの処理(S24〜S28)を行う際に、ウェブサーバ24は、クライアントPC10のウェブクライアント18に対し、本人確認メールによる確認作業を行う旨の説明と、デジタル署名を用いた認証処理の開始を指示するGUIボタン(「認証ボタン」と呼ぶ)とを含んだ認証指示用のウェブページを送信する(S22)。このページに表示するメッセージは、例えば「本人確認のためにメールを送信しました。メールを受信して確認処理を行った後、『認証』ボタンを押してください。」等である。これにより、ウェブクライアント18を操作するユーザに、現在の認証処理の進行状況を知らせるとともに、ユーザに対し本人確認メールに対する確認作業を促すことができる。
【0035】
本人確認メールを受信した場合、ユーザはメールクライアント16によりそのメールを閲覧し、そこに示されたURLにアクセスする(S14)。これに応じ、サーバ装置20のウェブサーバ24がそのURLに対応する本人確認ページをウェブクライアント18に送信すると(S30)、ウェブクライアント18がその本人確認ページを画面表示する。ユーザは、本人確認ページに示されたメッセージで言及されている認証要求が自分の発行したものだと判断した場合は、そのページに示される「認証許可」ボタンを押下する。一方、自分の発行した認証要求でない場合は、ユーザは「不許可」ボタンを押下すればよい。「認証許可」ボタン又は「不許可」ボタンが押下された場合、ウェブクライアント18は押下されたボタンを示す情報をウェブサーバ24に送信する(S16)。なお、以上に説明したこの本人確認のためのセッションS14,S30,S16,S32を、サーバ認証によるHTTPSのセッションとすることでより安全性を向上させることができる。
【0036】
本人確認ページに対するユーザの入力を受け取ったウェブサーバ24は、その入力が「不許可」であれば、当該認証要求に関するユーザ認証を失敗、すなわち認証を要求した者は正当なユーザではないと判定し(S32)、認証失敗の旨のメッセージを示したウェブページをウェブクライアント18に返し、認証要求に対する処理を終了する。一方、本人確認ページ対するユーザの入力が「許可」であれば、図示の認証セッションの後半部に進む(S32)。なお、「許可」の場合、「認証指示用ページの『認証』ボタンをクリックしてください」などと言ったメッセージを示したウェブページをウェブクライアント18に提供し、ユーザに認証セッションの続行を促すようにしてもよい。
【0037】
認証セッションの後半部では、ユーザは、認証指示用ページに示される『認証』ボタンを押下すると(S18)、その旨がウェブクライアント18からウェブサーバ24に伝えられ、PKI処理部22は、それまで中断していたSSLのクライアント認証処理を再開し(S34)、S12で受け取った認証データに含まれるユーザのデジタル署名を、そのユーザの公開鍵証明書に含まれる公開鍵で検証する。そして、その検証により、そのデジタル署名がそのユーザのものと判明した場合はユーザ認証を成功とし、その旨をウェブサーバ24に伝える。この場合、ユーザ認証が成功したので、サービス処理部27によるサービスがユーザ側に提供される。一方、デジタル署名がそのユーザのものでないと判明した場合は、ユーザ認証を失敗とし、その旨を示したウェブページをウェブクライアント18に送信する。
【0038】
なお、S22で提供された認証指示用ページ上の認証ボタンが、ユーザがS16で本人確認メールに対して認証許可の回答をする前に押下された場合、ウェブサーバ24は、ユーザ認証を失敗とするか、或いはその認証ボタンの押下を無視し、本人確認メールに基づく確認作業を再度促すウェブページをウェブクライアント18に提供すればよい。
【0039】
また、図2の手順では、デジタル署名に基づく認証セッション処理の続行を指示するための認証ボタンを含んだ認証指示用ページを、本人確認メールをトリガとした本人確認処理の前にユーザ側に送信した(S22)。この代わりに、例えば本人確認セッションのS32で本人であるとの確認がなされた場合に、そのような認証ボタンを含んだ認証指示用ページをユーザ側に送信するようにしてもよい。
【0040】
また、図2の手順では、S20でウェブサーバ24がHelloメッセージをウェブクライアント18に送信し、S12でユーザの証明書とユーザ署名済みのHelloメッセージをウェブクライアント18からウェブサーバ24に返した。しかし、認証処理の流れはこれに限らない。例えば、この代わりに、S20及びS12では単に証明書の要求とそれに対するサーバへの証明書の提出のみを行い、S32で本人であるとの確認がなされた場合に、S34でサーバ側からHelloメッセージを提供し、クライアント側がそれに対し署名を施して返信して認証を受けるという流れにしてもよい。
【0041】
また、図2の手順では、本人確認ページに対してユーザ本人から「認証許可」の旨の入力がなされた後、サーバ装置20はクライアントPC10側から提出されたデジタル署名の検証を行ったが、このような流れは必須ではない。この代わりに、本人確認メール及びページによる本人確認処理と並行してデジタル署名の検証を済ませ、その検証が成功しても、即座にユーザ認証が成功とは判定せずに、保留状態として記憶しておく。そして、本人確認ページに対して「認証許可」の旨がユーザから入力されると、保留状態であったユーザ認証結果を有効にし、認証成功と判定する。なお、デジタル署名の検証が失敗したら、本人確認ページへの入力を待たずに、認証失敗と判定する。このような処理の流れで、図2の手順と同様の効果を得ることができる。
【0042】
次に図3及び図4を参照して、本実施形態の効果について説明する。
【0043】
まず、正当なユーザがユーザ認証を受けようとした場合について、図3を参照して説明する。
【0044】
この場合、正当なユーザAが、自分の証明書120及び秘密鍵122がインストールされたクライアントPC10からサーバ装置20に対し、(1)自分の証明書(及び秘密鍵)でのユーザ認証を受けようとすると、(2)サーバ装置20がその証明書に示されたメールアドレスに本人確認メールが送信される。この場合、正当なユーザAのメールアドレスに本人確認メールが届けられるので、ユーザAは、メールクライアント16によりそのメールを閲覧し、(3)そのメールに示された本人確認ページのURLにアクセスして本人確認を行う。すると、この本人確認の後、(4)サーバ装置20により証明書とデジタル署名によるユーザ認証が行われ、この場合ユーザAは正しく自分の証明書及び秘密鍵を用いているので、ユーザ認証は成功する。
【0045】
なお、サーバ装置20は、自分の証明書220及び秘密鍵222を有しており、必要に応じ、クライアントPC10との間でこれらを用いて通信を行うことができる。
【0046】
次に、ユーザAの証明書120及び秘密鍵122を入手したユーザBが、それらを不正利用してユーザAになりすまそうとした場合について、図4を参照して説明する。
【0047】
この場合、(1)不正なユーザBがユーザAの証明書をサーバ装置20に提示して認証を受けようとすると、(2)その証明書に示されたユーザAのメールアドレスに対して本人確認メールを送る。これにより、(3)正当なユーザAは、自分の証明書等が不正使用されていることを知ることができる。また、この場合、その本人確認メールから本人確認ページにアクセスして「不許可」ボタンを押下することで、不正なユーザBのユーザ認証を阻止できる。なお、サーバ装置20は、本人確認ページに対してユーザが「認証許可」の旨を入力しない限り、証明書を用いたユーザ認証を成功にしないので、仮に正当なユーザAが本人確認メールの到来に気づかなかったり、あるいは気づいても本人確認ページで「不許可」ボタンを押さなかったりしても、ユーザBがユーザAとして認証されてしまうことはない。
【0048】
以上に説明した実施形態は、ユーザが本人確認メールに示された本人確認ページにアクセスして確認を行っていたが、この代わりに、本人確認メールに対する返信メールにより「認証許可」の意思表示を行えるようにしてもよい。すなわち、本人確認メールを受け取ったユーザは、認証処理を許可する場合には、メールクライアント16により本人確認メールに対して返信を行う。サーバ装置20は、本人確認メールに対する返信メールを受け取ったら、認証処理が許可されたものと判断し、デジタル署名に基づく認証処理を行う。この方式によれば、ユーザの操作するクライアントがウェブブラウザを備えない場合でも、本人確認を行うことができる。
【0049】
また、上記実施形態では、証明書を用いたユーザ認証を必要とするクライアントアプリケーション(図1の例ではウェブクライアント18)と、本人確認メールを受け取るメールクライアント16とが、同一のクライアントPC10に組み込まれていたが、これは必須のことではない。例えば、図5に示す例では、証明書ベースの認証を必要とするクライアント装置としてデジタル複合機40を、本人確認メールを受け取るメールクライアントとして携帯メール端末45(例えば携帯電話機)を用いている。デジタル複合機40は、プリンタ、スキャナ、コピー機の機能を併せ持った装置であり、LAN、インターネット等のネットワークを介してサーバ装置20に接続される。この例は、ユーザAが複合機40を介してサーバ装置20のサービスを受ける場合のものである。例えば、複合機40でスキャンした文書のデータを、文書サーバであるサーバ装置20に登録する等の場合など、複合機40からネットワーク上の各種サーバを利用することは、今後益々増えてくると予想される。図5のシステムでは、ユーザAが自分の証明書120と秘密鍵122を保持したICカード50を複合機40のカードリーダにセットし、複合機40のUI画面からサーバ装置20のサービスを利用する旨を指示すると、(1)複合機40にインストールされたPKI処理用のプロトコルが、ICカード50から読み出したユーザAの証明書を用いてサーバ装置20にアクセスし、ユーザ認証を受けようとする。すると、サーバ装置20は、(2)その証明書からユーザAのメールアドレスを取得し、そのアドレス宛に本人確認メールを送る。ユーザAは、自分の携帯メール端末45により本人確認メールを受信し、(3)そこに示されたURLにより本人確認ページにアクセスし、本人確認を行う。すると、(4)サーバ装置20により証明書とデジタル署名によるユーザ認証が行われ、この場合ユーザAは正しく自分の証明書及び秘密鍵を用いているので、ユーザ認証は成功する。なお、ステップ(3)の本人確認は、本人確認ページを用いる代わりに、本人確認メールに対する返信メールを以て行ってもよい。
【0050】
また、図5の例では、ユーザAの携帯メール端末45からサーバ装置20へアクセスして本人確認を行っていたが、この代わりに、例えば、携帯メール端末45から複合機40に本人確認メールの情報を受け渡し、複合機40からサーバ装置20へアクセスして本人確認処理を行うこともできる。すなわち、例えば、本人確認メールにQRコード(登録商標)やバーコードなどのような所定のコード方式で表現した本人確認用コード画像を組み込んでおく。本人確認用コード画像は、例えば、ユーザが本人確認をした旨を示す所定のコード(このコードは、サーバ装置20が知っていればよい)を表現していればよい。本人確認メールは、例えば、この本人確認用コード画像と、「認証要求が行われました。許可される場合は、添付のコード画像を画面に表示し、複合機の原稿読取部の矢印の位置に画面を下に向けて置いて、スタートボタンを押してください」などと言った操作案内のメッセージを含む。この本人確認メールを受け取ったユーザは、そのメッセージに従って本人確認用コード画像を携帯メール端末45の表示画面に表示させ、その表示画面を複合機40のプラテンの所定位置にかざして読み取らせる。この操作が行われる時点では、複合機40は、その前のステップ(1)(図5参照)でのユーザ認証要求に対する処理待ち状態にあるので、スタートボタンの押下を本人確認用コード画像の読取の指示と判断し、スキャンした画像の所定位置からコード画像を認識し、そのコード内容を識別してサーバ装置20に送信する。サーバ装置20は、そのコードを受け取ったことを以て、ユーザが本人確認を行ったものと判定する。この方式では、ユーザが本人確認メールに含まれるコード情報を複合機40に読み取らせたという操作を以て、ユーザの本人確認とするわけである。
【0051】
また、図2に示した処理手順は、SSLベースの認証セッションを途中で中断し、本人確認セッション(S14,S30,S16,S32)で本人確認が成功したら認証セッションを再開するという手順であったが、このような手順は一例に過ぎない。この代わりに、例えば図6に示すような手順も可能である。
【0052】
図6の手順では、クライアントPC10が、ユーザの操作に応じて、サーバ装置20の認証用の窓口ウェブページのURLにHTTPSでアクセスする(S110)。すると、サーバ装置20は、クライアントPC10に対して、ユーザの証明書の入力のためのUIとなるウェブページを提供する(S120)。クライアントPC10にて、ユーザがこのウェブページに対し自分の使用する証明書を選択して入力すると、その証明書がサーバ装置20に送られる(S112)。これを受け取ったサーバ装置20は、「認証のためにメールを送信しました。メールを受信して認証処理及びこの後の処理を行ってください。」等と言った操作案内用のメッセージを示した説明用ウェブページをクライアントPC10に送信する一方(S122)、本人確認メールの送信処理(S124〜S128)を行う。
【0053】
すなわち、サーバ装置20は、クライアントPC10から取得したユーザの証明書からそのユーザのメールアドレスを取得し(S124)、そのユーザ向けのSSLクライアント認証用のウェブページを生成する(S126)。SSLクライアント認証用のウェブページのURLは、プロトコルとしてHTTPSを用いるものであり、前述の本人確認ページのURLと同様、ユーザからの窓口URLへのアクセスに応じて動的に生成することで、不正利用のリスクを低減することができる。そして、そのクライアント認証用ページのURLを含んだ本人確認メールを作成し(S126)、そのユーザのメールアドレス宛に送信する(S128)。本人確認メールには、そのURLの他に、「あなたから認証要求を受けました。認証を受けて処理を進めたい場合は、下記URLにアクセスしてください。」などの操作説明のメッセージを含めておいてもよい。
【0054】
この本人確認メールを受け取ったユーザは、その本人確認メールが自分の認証要求に応じたものであると分かれば、クライアントPC10(本人確認メールを受け取った別の端末でもよい)からそのメールに示されたURLにアクセスする(S114)。すると、サーバ装置20は、従来から周知のSSLクライアント認証処理を実行する(S130)。このクライアント認証では、サーバ装置20はユーザに証明書の提示を求め、この証明書とそれに対応する秘密鍵によるデジタル署名付きのデータを受け取ってその署名を検証する。S130のSSLクライアント認証が成功すると、クライアントPC10(ウェブクライアント18)とサーバ装置20(ウェブサーバ24)との間に認証セッションを張り、以降その認証セッション下で、ユーザに対し、サービス処理部27によるサービスを提供する。
【0055】
このように、図6の手順では、本人確認メールに示されたクライアント認証用URLへアクセスがなされたことを以て、ユーザの本人確認としている。この処理手順によれば、仮に第三者がユーザになりすまそうとしても、そのユーザは本人確認メールによりそのような不正アクセスの試みがなされていることを認知することができる。また、このような不正を試みた第三者には、実際にサーバ装置20のサービスを受けるのに必要なSSLクライアント認証用のページのURLが知らされないので、不正利用を防止することができる。
【0056】
以上に説明した実施形態では、サーバ装置20は、認証要求を行ったユーザのメールアドレスとして、そのユーザが提示した証明書から求めたメールアドレスを用いたが、ユーザによっては、証明書に記載されたアドレスとは違うアドレスに本人確認メールの送付を希望する者もあり得る。そのような希望に沿うための変形例として次のような者が考えられる。すなわちこの変形例では、サーバ装置20に、各ユーザごとに、証明書に記載されたメールアドレスと、本人確認メールの送付先として希望するメールアドレスとを対応づけたテーブルを登録しておく。そして、サーバ装置20は、ユーザから受け取った証明書から主体者のメールアドレスを求め、そのテーブルに、そのメールアドレスに対応する本人確認メールの送付先アドレスが登録されていれば、その送付先アドレスに対して本人確認メールを送信する。
【0057】
また以上の例では、ユーザに証明書を提示させ、この証明書から本人確認メールを送信する宛先のメールアドレスを求めたが、これは必須のことではない。この代わりに、次のようなシステムを用いてもよい。すなわち、このシステムでは、サーバ装置20にあらかじめ各ユーザのメールアドレスと、パスワードやバイオメトリクス情報等の認証情報を登録しておく。そして、ユーザがサーバ装置20に自分の証明書を提示する代わりに、サーバ20にアクセスし、パスワード等の認証情報による認証を受ける。この認証が成功すると、サーバ装置20は、そのユーザのメールアドレス(これはサーバ装置20に登録されている)に対して本人確認メールを送る。この本人確認メールには、図6の手順の場合と同様、SSLクライアント認証用のページのURLを組み込んでおけばよい。以降の処理は、図6の手順と同様でよい。
【0058】
以上では、SSL認証を例にとって説明したが、本実施形態の方式は、これだけでなく、PKIの枠組みでの証明書とデジタル署名を用いたユーザ認証一般に利用可能である。
【図面の簡単な説明】
【0059】
【図1】本発明が適用されたシステムの一実施形態を示す機能ブロック図である。
【図2】実施形態のシステムにおけるユーザ認証処理の流れを示す図である。
【図3】正当なユーザがユーザ認証を受けようとした場合の実施形態のシステムの動作を示す図である。
【図4】不正なユーザがユーザ認証を受けようとした場合の実施形態のシステムの動作を示す図である。
【図5】本人確認メールをユーザの携帯メール端末に送信する場合のシステム構成を説明するための図である。
【図6】ユーザ認証処理の変形例の流れを示す図である。
【符号の説明】
【0060】
10 クライアントPC、12 証明書DB、14 PKI処理部、16 メールクライアント、18 ウェブクライアント、20 サーバ装置、21 鍵ペア管理部、22 PKI処理部、23 メールサーバ、24 ウェブサーバ、25 証明書アドレス解釈部、26 本人確認メール処理部、27 サービス処理部。

【特許請求の範囲】
【請求項1】
ネットワークを介してクライアント装置からユーザ認証要求を受け取ると共に、ユーザの秘密鍵によるデジタル署名が施された認証データをクライアント装置からそのユーザ認証要求に対応づけて受け取り、その認証データのデジタル署名を検証することでそのユーザ認証要求に対するユーザ認証を実行する認証機能付きサーバであって、
クライアント装置からユーザ認証要求を受け取った場合に、当該ユーザのメールアドレスに対し、そのユーザ認証要求が当該ユーザ本人のものか否かの入力を促す本人確認メールを送信する確認メール送信手段と、
送信した前記本人確認メールに対して、前記ユーザ認証要求が前記ユーザ本人のものである旨を示す入力が前記ユーザから得られない場合は、前記認証データに施されたデジタル署名が正当であるか否かに依らず、ユーザ認証を失敗とする認証制御手段と、
を備える認証機能付きサーバ。
【請求項2】
前記確認メール送信手段は、前記ユーザ認証要求が当該ユーザ本人のものか否かを入力するための確認用ウェブページのアドレス情報を含んだ本人確認メールを生成して前記ユーザのメールアドレスに送信し、
前記認証制御手段は、前記確認用ウェブページに対する前記ユーザの入力から前記ユーザ認証要求が前記ユーザ本人のものか否かを判定する、
ことを特徴とする請求項1記載の認証機能付きサーバ。
【請求項3】
前記ユーザ認証要求を受け取った場合に、当該ユーザ認証要求に対する専用の前記確認用ウェブページを生成する確認用ウェブページ生成手段、
を更に備え、
前記確認用メール送信手段は、前記確認用ウェブページ生成手段が生成した前記確認用ウェブページのアドレス情報を含んだ本人確認メールを生成する、
ことを特徴とする請求項2記載の認証機能付きサーバ。
【請求項4】
前記認証手段は、前記本人確認メールに対する前記ユーザからの返信メールに基づき、前記ユーザ認証要求が前記ユーザ本人のものであるか否かを判定する、ことを特徴とする請求項1記載の認証機能付きサーバ。
【請求項5】
前記ユーザ認証要求は、当該ユーザの公開鍵証明書のデータを含んでおり、
前記確認メール送信手段は、前記公開鍵証明書から前記ユーザのメールアドレスを取得する、
ことを特徴とする請求項1記載の認証機能付きサーバ。
【請求項6】
ネットワークを介してクライアント装置からサーバ装置へ、ユーザ認証要求と、ユーザの秘密鍵によるデジタル署名が施された認証データとを送信し、サーバ装置がその認証データのデジタル署名を検証することでそのユーザ認証要求に対するユーザ認証を実行する、ユーザ認証方法であって、
サーバ装置が、クライアント装置からユーザ認証要求を受け取った場合に、当該ユーザのメールアドレスに対し、そのユーザ認証要求が当該ユーザ本人のものか否かの入力を促す本人確認メールを送信するステップと、
送信した前記本人確認メールに対して、前記ユーザ認証要求が前記ユーザ本人のものである旨を示す入力が前記ユーザから得られない場合は、サーバ装置が、前記認証データに施されたデジタル署名が正当であるか否かに依らず、ユーザ認証を失敗とするステップと、
を有するユーザ認証方法。
【請求項7】
ネットワークを介してクライアント装置からユーザ認証要求を受け取ると共に、ユーザの秘密鍵によるデジタル署名が施された認証データをクライアント装置からそのユーザ認証要求に対応づけて受け取り、その認証データのデジタル署名を検証することでそのユーザ認証要求に対するユーザ認証を実行する認証機能付きサーバ、としてコンピュータを機能させるためのプログラムであって、該コンピュータを、
クライアント装置からユーザ認証要求を受け取った場合に、当該ユーザのメールアドレスに対し、そのユーザ認証要求が当該ユーザ本人のものか否かの入力を促す本人確認メールを送信する確認メール送信手段、
送信した前記本人確認メールに対して、前記ユーザ認証要求が前記ユーザ本人のものである旨を示す入力が前記ユーザから得られない場合は、前記認証データに施されたデジタル署名が正当であるか否かに依らず、ユーザ認証を失敗とする認証制御手段、
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2006−244081(P2006−244081A)
【公開日】平成18年9月14日(2006.9.14)
【国際特許分類】
【出願番号】特願2005−57974(P2005−57974)
【出願日】平成17年3月2日(2005.3.2)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】