JP4608929B2 - 認証システム、サーバ用認証プログラム、およびクライアント用認証プログラム - Google Patents

認証システム、サーバ用認証プログラム、およびクライアント用認証プログラム Download PDF

Info

Publication number
JP4608929B2
JP4608929B2 JP2004115469A JP2004115469A JP4608929B2 JP 4608929 B2 JP4608929 B2 JP 4608929B2 JP 2004115469 A JP2004115469 A JP 2004115469A JP 2004115469 A JP2004115469 A JP 2004115469A JP 4608929 B2 JP4608929 B2 JP 4608929B2
Authority
JP
Japan
Prior art keywords
authentication
client
user
server
response
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.)
Expired - Fee Related
Application number
JP2004115469A
Other languages
English (en)
Other versions
JP2005301577A (ja
Inventor
勝行 近藤
陽一 廣瀬
豊 渡邉
慎一郎 谷口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2004115469A priority Critical patent/JP4608929B2/ja
Publication of JP2005301577A publication Critical patent/JP2005301577A/ja
Application granted granted Critical
Publication of JP4608929B2 publication Critical patent/JP4608929B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、クライアントと当該クライアントを利用するユーザを認証する認証サーバとがネットワークを介して接続されてなる認証システム、当該認証システムにおいて認証サーバに実行されるサーバ用認証プログラム、およびクライアントに実行されるクライアント用認証プログラムに関する。
現在の企業のネットワーク環境では、通常、複数のシステムが稼動している。これらのシステムのうち、ユーザ毎のアクセス制御が必要となるシステムでは、まず初めに、処理要求を行ったユーザが誰であるかを識別する必要がある。そのため、各システムは、そのシステムを利用できるユーザをあらかじめ登録しておき、接続時のいわゆる「ログイン」操作時に入力されたログイン名とパスワードによって認証処理を行うのが一般的である。
しかし、Webアプリケーションの場合は、HTTP(HyperText Transfer Protocol)というプロトコルの特性上、クライアントとサーバとのやり取りが1回のリクエストとレスポンスで完結してしまうため、2回目以降のリクエストに備えて、何らかの方法によって認証済みのユーザに関する情報を保持しておく必要がある。
この課題を解決するために従来から広く用いられている技術にクッキー(Cookie)がある。この技術では、サーバは、認証済みのクライアントにクッキーを送信し、2回目以降のアクセス時にはクライアントからクッキーを読み取ってユーザ認証を行う。
また、特許文献1には、サーバへのアクセス時の認証を自動的に行う自動認証システムが開示されている。このシステムでは、ユーザ端末は、予め端末識別情報を格納している。サーバは、ユーザ端末がアクセスしてきた際に、端末識別情報を送信させ、受信した端末識別情報を用いて認証を行う。
特開2002−222173号公報
しかし、上記技術には、次のような問題がある。
クッキーには、メモリ中に保存されWebブラウザを閉じるタイミングで削除されるタイプのものと、ファイルに保存されWebブラウザが閉じられても残るタイプのものがある。そして、前者の場合は、Webブラウザを閉じた時点で、認証済みの状態が失われるため、次にWebブラウザを開いてアプリケーションにアクセスしたときには、再度ログイン操作が必要となってしまう。また、後者の場合は、ファイルとして保存されているクッキーが悪意のある第三者に盗まれ、なりすましされる危険性があるという問題がある。さらに、いずれの場合であっても、通信路上でクッキーが第三者に盗まれ、なりすましされる危険性がある。
特許文献1に記載されたシステムについても、ユーザ端末に格納されている端末識別情報や通信路上の端末識別情報が、第三者に盗用される危険性がある。
そこで、本発明は、認証の自動化を図ることができるとともに、認証を自動化するための情報が盗用される危険性を低減することができる認証システム、ならびに、当該認証システムにおけるサーバ用認証プログラムおよびクライアント用認証プログラムを提供する。
本発明に係るサーバ用認証プログラムは、クライアントを利用するユーザを、ネットワークを介して認証サーバにより認証するためのプログラムであって、認証サーバを、前記クライアントから前記ユーザの本人認証情報を取得し、当該本人認証情報に基づいて前記ユーザの認証を行う認証部、当該認証部による認証が成功した場合に、前記ユーザを特定するための秘密情報を生成して前記クライアントに渡す秘密情報生成部、チャレンジ/レスポンス方式におけるチャレンジを生成して前記クライアントに送るチャレンジ生成部、および、前記クライアントから前記チャレンジに対するレスポンスを受け取り、当該レスポンスが前記チャレンジと前記秘密情報とを組み合わせて生成された正しいレスポンスか否かを検証することにより前記ユーザを認証するレスポンス検証部、として機能させることを特徴とする。
本発明において、前記認証部は、前記チャレンジ/レスポンス方式による認証が失敗した場合に、前記クライアントから前記ユーザの本人認証情報を取得することが好ましい。
また、本発明において、前記秘密情報生成部は、前記ユーザを識別するためのユーザ識別情報に基づいて、予め設定された規則に従って、前記秘密情報を生成し、前記レスポンス検証部は、前記ユーザ識別情報と前記チャレンジとに基づいて、予め設定された規則に従って、前記レスポンスを検証することが好ましい。
ここで、前記秘密情報生成部または前記レスポンス検証部における、予め設定された規則は、鍵付きハッシュの計算であることが好ましい。
また、本発明において、前記認証サーバに、前記秘密情報に有効期限を設定する機能を実現させることが好ましい。
また、本発明において、前記認証サーバに、必要に応じて前記秘密情報を無効化する機能を実現させることが好ましい。
また、本発明において、前記認証サーバに、前記クライアントとの間で、前記本人認証情報および前記秘密情報を暗号化通信により送受する機能を実現させることが好ましい。
本発明に係るクライアント用認証プログラムは、クライアントを利用するユーザを、ネットワークを介して認証サーバにより認証するためのプログラムであって、前記クライアントを、当該クライアントから送られた前記ユーザの本人認証情報に基づく前記認証サーバにおける前記ユーザの認証が成功した場合に、前記認証サーバにより生成される前記ユーザを特定するための秘密情報を、前記認証サーバから受け取って所定の記憶領域に格納する秘密情報格納部、および、前記認証サーバからチャレンジ/レスポンス方式におけるチャレンジを受け取り、当該チャレンジと前記格納された秘密情報とを組み合わせてレスポンスを生成し、当該レスポンスを前記認証サーバに返すレスポンス生成部、として機能させることを特徴とする。
本発明において、前記秘密情報格納部は、当該クライアントに固有の情報を用いて前記秘密情報を暗号化して格納し、前記レスポンス生成部は、前記暗号化された秘密情報を前記固有の情報を用いて復号し、復号された秘密情報を用いて前記レスポンスを生成することが好ましい。
また、本発明において、前記クライアントに、当該クライアントの利用に先立って、ユーザからローカル認証用の本人認証情報を取得し、当該本人認証情報により前記ユーザの認証を行い、当該認証が成功した場合に、前記ユーザに当該クライアントの利用を許可する機能を実現させることが好ましい。
また、本発明において、前記レスポンス生成部は、鍵付きハッシュの計算により前記レスポンスを生成することが好ましい。
また、本発明において、前記クライアントに、前記認証サーバとの間で、前記本人認証情報および前記秘密情報を暗号化通信により送受する機能を実現させることが好ましい。
本発明に係る認証システムは、クライアントと、当該クライアントを利用するユーザを認証する認証サーバとがネットワークを介して接続されてなる認証システムであって、前記クライアントに前記ユーザを特定するための秘密情報が格納されていない場合、前記認証サーバは、前記クライアントから前記ユーザの本人認証情報を取得し、当該本人認証情報に基づいて前記ユーザの認証を行い、当該認証が成功した場合に、前記秘密情報を生成して前記クライアントに渡し、前記クライアントは、前記認証サーバから受け取った前記秘密情報を所定の記憶領域に格納し、前記クライアントに前記秘密情報が格納されている場合、前記認証サーバは、チャレンジ/レスポンス方式におけるチャレンジを生成して前記クライアントに送り、前記クライアントは、前記チャレンジと前記秘密情報とを組み合わせてレスポンスを生成し、当該レスポンスを前記認証サーバに返し、前記認証サーバは、前記クライアントから受け取ったレスポンスを検証することにより前記ユーザを認証することを特徴とする。
本発明において、前記クライアントに前記秘密情報が格納されているか否かに関わらず、前記認証サーバは、前記クライアントとの間で前記チャレンジ/レスポンス方式による認証を試み、当該認証に失敗した場合に、前記認証サーバは、前記クライアントから前記ユーザの本人認証情報を取得し、当該本人認証情報に基づいて前記ユーザの認証を行い、当該認証が成功した場合に、前記秘密情報を生成して前記クライアントに渡すことが好ましい。
本発明に係る認証システムにおいて、前記クライアントは、前記認証サーバから受け取った前記秘密情報を、当該クライアントに固有の情報を用いて暗号化して前記所定の記憶領域に格納し前記レスポンスを生成するときに、前記格納された秘密情報を、前記固有の情報を用いて復号し、復号された秘密情報と前記認証サーバから受け取ったチャレンジとを組み合わせてレスポンスを生成し、当該レスポンスを前記認証サーバに返すようにしてもよい
本発明に係る認証サーバは、クライアントを利用するユーザを、ネットワークを介して認証する認証サーバであって、前記クライアントから前記ユーザの本人認証情報を取得し、当該本人認証情報に基づいて前記ユーザの認証を行う認証部と、当該認証部による認証が成功した場合に、前記ユーザを特定するための秘密情報を生成して前記クライアントに渡す秘密情報生成部と、チャレンジ/レスポンス方式におけるチャレンジを生成して前記クライアントに送るチャレンジ生成部と、前記クライアントから前記チャレンジに対するレスポンスを受け取り、当該レスポンスが前記チャレンジと前記秘密情報とを組み合わせて生成された正しいレスポンスか否かを検証することにより前記ユーザを認証するレスポンス検証部と、を有することを特徴とする。
本発明に係るクライアントは、認証サーバによりネットワークを介してユーザが認証されるクライアントであって、当該クライアントから送られた前記ユーザの本人認証情報に基づく前記認証サーバにおける前記ユーザの認証が成功した場合に、前記認証サーバにより生成される前記ユーザを特定するための秘密情報を、前記認証サーバから受け取って所定の記憶領域に格納する秘密情報格納部と、前記認証サーバからチャレンジ/レスポンス方式におけるチャレンジを受け取り、当該チャレンジと前記格納された秘密情報とを組み合わせてレスポンスを生成し、当該レスポンスを前記認証サーバに返すレスポンス生成部と、を有することを特徴とする。
本発明において、当該クライアントの利用に先立って、ユーザからローカル認証用の本人認証情報を取得し、当該本人認証情報により前記ユーザの認証を行い、当該認証が成功した場合に、前記ユーザに当該クライアントの利用を許可することが好ましい。
本発明に係る認証方法は、クライアントと、当該クライアントを利用するユーザを認証する認証サーバとがネットワークを介して接続されてなる認証システムにおける認証方法であって、前記クライアントに前記ユーザを特定するための秘密情報が格納されていない場合、前記認証サーバは、前記クライアントから前記ユーザの本人認証情報を取得し、当該本人認証情報に基づいて前記ユーザの認証を行い、当該認証が成功した場合に、前記秘密情報を生成して前記クライアントに渡し、前記クライアントは、前記認証サーバから受け取った前記秘密情報を所定の記憶領域に格納し、前記クライアントに前記秘密情報が格納されている場合、前記認証サーバは、チャレンジ/レスポンス方式におけるチャレンジを生成して前記クライアントに送り、前記クライアントは、前記チャレンジと前記秘密情報とを組み合わせてレスポンスを生成し、当該レスポンスを前記認証サーバに返し、前記認証サーバは、前記クライアントから受け取ったレスポンスを検証することにより前記ユーザを認証することを特徴とする。
また、本発明に係る認証方法において、前記クライアントが、前記認証サーバから受け取った前記秘密情報を所定の記憶領域に格納するときに、前記秘密情報を、当該クライアントに固有の情報を用いて暗号化して前記所定の記憶領域に格納し、前記クライアントが、前記レスポンスを生成するときに、前記格納された秘密情報を、前記固有の情報を用いて復号し、復号された秘密情報と前記認証サーバから受け取ったチャレンジとを組み合わせてレスポンスを生成し、当該レスポンスを前記認証サーバに返す、ようにしてもよい。
本発明によれば、認証の自動化を図ることができるとともに、認証を自動化するための情報が盗用される危険性を低減することができる認証システム、ならびに、当該認証システムにおけるサーバ用認証プログラムおよびクライアント用認証プログラムを提供することができる。
以下、本発明の実施の形態を図面に従って説明する。
図1は、本実施の形態に係る認証システム1の全体構成を示すブロック図である。図1に示されるとおり、認証システム1は、一以上のサーバ10と、一以上のクライアント20とが、LANやインターネット等のネットワークNを介して互いに接続されてなる。この認証システム1では、クライアント20のユーザは、Webブラウザを用いてサーバ10にアクセスし、サーバ10からWebアプリケーションによるサービスの提供を受ける。ここで、サーバ10は、サービスの提供に先立って、クライアント20との間でチャレンジ・アンド・レスポンス方式(本件明細書では、「チャレンジ/レスポンス方式」と称す)による認証処理を行い、クライアント20を利用しているユーザを認証する。なお、Webアプリケーションによるサービスとしては、例えば、文書管理サービス、文書検索サービス、掲示板サービスなどが挙げられる。
図2は、サーバ10およびクライアント20の機能構成を示すブロック図である。以下、図2に従って、サーバ10およびクライアント20の機能構成について説明する。
サーバ10は、Webサーバ、Webアプリケーション、および認証サーバが稼動するサーバマシンである。このサーバ10は、Webサーバ部11、サーバ制御部12、アプリケーション部13、認証サーバ部14、および認証用情報保持部15を備えている。本実施の形態では、機能ブロック11〜14は、ハードディスクやCD−ROM等の記録媒体に格納されたプログラムがCPUやRAM等のコンピュータハードウェア資源により実行されることによって実現される。ただし、各機能ブロックは、ハードウェア回路等の他の構成によって実現されても構わない。
Webサーバ部11は、Webブラウザからのリクエストに応じて、HTML(HyperText Markup Language)データの送信等の処理を実行する。このWebサーバ部11は、Webサーバソフトウェアにより実現される。
サーバ制御部12は、サーバ10全体の制御等の処理を行う機能ブロックである。
アプリケーション部13は、Webアプリケーションソフトウェアにより実現され、クライアント20に所定のWebアプリケーション機能を提供する。
認証サーバ部14は、アプリケーション部13によるWebアプリケーション機能の提供に先立って、クライアント20のユーザを認証する。具体的には、クライアント20側の認証モジュール部23との間で、チャレンジ/レスポンス方式による認証処理を行い、クライアント20を利用しているユーザの認証を行う。この認証サーバ部14は、本実施の形態に係るサーバ用認証プログラムにより実現される。認証サーバ部14は、認証部14a、秘密情報生成部14b、チャレンジ生成部14c、およびレスポンス検証部14dを備えている。
認証部14aは、クライアント20から、当該クライアント20を利用しているユーザの本人認証情報を取得し、取得した本人認証情報を用いて当該ユーザの認証を行う。具体的には、認証部14aは、予めサーバ10側に登録されている本人認証情報とクライアント20から取得された本人認証情報とを照合することによってユーザ認証を行う。ここで、本人認証情報は、ユーザの本人確認を行うことができれば、どのような情報であってもよく、例えば、ユーザIDとパスワードとの組み合わせ、指紋情報等のバイオメトリクス情報、本人確認用のICカードに格納された電子証明書と秘密鍵などが挙げられる。
秘密情報生成部14bは、認証部14aによるユーザの認証が成功した場合に、当該ユーザを特定するための秘密情報を生成し、生成された秘密情報をクライアント20に送信し格納させる。この秘密情報は、クライアント20において、チャレンジ/レスポンス方式のレスポンスの生成に利用される。
チャレンジ生成部14cは、チャレンジ/レスポンス方式におけるチャレンジを生成し、生成されたチャレンジを認証対象のユーザが利用しているクライアント20に送る。
レスポンス検証部14dは、クライアント20からチャレンジに対するレスポンスを受け取り、このレスポンスが正しいか否かを検証することにより、クライアント20のユーザを認証する。具体的には、レスポンス検証部14dは、受け取ったレスポンスがチャレンジと秘密情報とを組み合わせて生成された正しいレスポンスか否かを確認する。
分かり易く言えば、チャレンジ生成部14cおよびレスポンス検証部14dは、ユーザを特定するための秘密情報がクライアント20に格納されているか否かを、チャレンジ/レスポンス方式によって確認することができる。
認証用情報保持部15は、レスポンス検証部14dにおけるレスポンスの検証に使用される情報を保持する。この認証用情報保持部15は、ハードディスク等の記録媒体により実現される。なお、保持される情報については後述する。
クライアント20は、Webブラウザが稼動するクライアントマシンである。このクライアント20は、Webブラウザ部21、クライアント制御部22、認証モジュール部23、および秘密情報保持部24を備えている。本実施の形態では、機能ブロック21〜23は、ハードディスクやCD−ROM等の記録媒体に格納されたプログラムがCPUやRAM等のコンピュータハードウェア資源により実行されることによって実現される。ただし、各機能ブロックは、ハードウェア回路等の他の態様によって実現されても構わない。
Webブラウザ部21は、Webサーバへのリクエストやデータの送信、WebサーバからのHTMLデータ等の受信、および受信したデータの表示等の処理を行う。このWebブラウザ部21は、Webブラウザソフトウェアにより実現される。
クライアント制御部22は、クライアント20全体の制御等の処理を行う機能ブロックである。本実施の形態では、クライアント20はマルチユーザ機能を備えており、クライアント制御部22は、クライアントローカルでのユーザ認証を行う。すなわち、クライアント制御部22は、当該クライアント20の利用に先立って、ユーザからローカル認証用の本人認証情報を取得し、この本人認証情報により当該ユーザの認証を行い、この認証が成功した場合に、当該ユーザに当該クライアント20の利用を許可する。なお、ローカル認証用の本人認証情報は、ユーザの本人確認を行うことができれば、どのような情報であってもよく、例えば、ユーザIDとパスワードとの組み合わせやバイオメトリクス情報が挙げられる。また、ローカル認証用の本人認証情報は、認証サーバ14で用いられる本人認証情報と同じであっても、異なっていてもよい。
認証モジュール部23は、サーバ10側の認証サーバ部14との間でチャレンジ/レスポンス方式による認証処理を行う。この認証モジュール部23は、本実施の形態に係るクライアント用認証プログラムにより実現される。クライアント用認証プログラムとしては、例えば、サーバ10からクライアント20側に予めダウンロードされ、Microsoft社のActiveXコントロールとして実装されたものがある。認証モジュール部23は、秘密情報格納部23aとレスポンス生成部23bとを備えている。
秘密情報格納部23aは、認証サーバ部14の秘密情報生成部14bにより生成された秘密情報を、認証サーバ部14から受け取って、秘密情報保持部24に格納する。このとき、秘密情報の盗用を防止する観点より、秘密情報格納部23aは、クライアント20に固有の情報を用いて秘密情報を暗号化して格納することが好ましい。ここで、クライアント20に固有の情報としては、例えば、ハードウェア固有のID(システムディスクのシリアルID等)、ソフトウェア固有のID(OSソフトのプロダクトID等)、ネットワークID(IPアドレス、MACアドレス等)、ユーザIDなどが挙げられる。また、固有の情報を用いて暗号化する態様には、固有の情報を秘密情報の暗号化に作用させる態様が広く含まれる。例えば、秘密情報格納部23aは、固有の情報に基づいて暗号化パラメータを生成し、この暗号化パラメータを用いて暗号化を行ってもよいし、固有の情報に応じた暗号化アルゴリズムによって暗号化を行ってもよいし、これらを組み合わせて暗号化を行ってもよい。ここで、暗号化パラメータとしては、例えば、暗号化鍵や、CBC(Cipher Block Chaining)モードなどで用いられる初期ベクトル(IV :Initial Vector)が挙げられる。
レスポンス生成部23bは、認証サーバ部14のチャレンジ生成部14cからチャレンジを受け取り、受け取ったチャレンジと秘密情報保持部24に格納されている秘密情報とを組み合わせてレスポンスを生成し、生成されたレスポンスを認証サーバ部14に返す。この時、秘密情報が暗号化されている場合には、レスポンス生成部23bは、クライアント20に固有の情報を用いて、暗号化された秘密情報を復号し、復号された秘密情報を用いてレスポンスを生成する。ここで、秘密情報の盗用を防止する観点より、復号された秘密情報は、使用後すぐに消去されることが好ましい。なお、クライアント20に当該ユーザの秘密情報が格納されていない場合には、その旨を認証サーバ部14に返す。
秘密情報保持部24は、ハードディスク等の記録媒体により実現され、秘密情報を保持する。本実施の形態では、複数のユーザの秘密情報が格納され得る。このとき、各ユーザの秘密情報は、他のユーザの認証に利用されない態様で格納される。例えば、あるユーザの秘密情報は、当該ユーザのみがアクセス可能な記憶領域に格納される。あるいは、あるユーザの秘密情報は、当該ユーザのローカル認証用のユーザIDと関連付けられて格納される。
以下、上記構成を有する認証システム1の動作について、クライアント20からサーバ10への最初のアクセス時と、2回目以降のアクセス時とに分けて詳細に説明する。なお、サーバ10には、鍵付きハッシュ用のマスター鍵Km、サーバ10の秘密鍵Ks、サーバ10の公開鍵Kp、およびアプリケーション部13を識別するためのアプリケーション識別子IDaが、予め設定されているものとする。ここで、鍵付きハッシュ用のマスター鍵Kmは、認証用情報保持部15に安全に保管されている。
図3は、最初のアクセス時における認証システム1の処理の流れを示すシーケンス図である。
あるユーザAによりクライアント20が起動されると、クライアント制御部22は、表示画面上にローカル認証用のユーザIDとパスワードの入力を促す画面を表示させる。クライアント制御部22は、この画面において、ユーザAからローカル認証用のユーザIDとパスワードを取得し、これらを用いてユーザAの認証を行う(S11)。そして、この認証に成功した場合に、当該ユーザAにクライアント20の利用を許可する。一方、認証に失敗した場合には、利用を許可しない。以下、この認証が成功したものとして説明する。
クライアント20のブラウザ画面上で、ユーザAによりサーバ10のアプリケーション部13のURL(Uniform Resource Locator)が入力されると、クライアント20は、当該URLにアクセスする(S12)。
サーバ10において、チャレンジ生成部14cは、クライアント20からのアクセスに応じて、チャレンジ値Cとして乱数を生成する(S13)。そして、生成されたチャレンジ値Cを、アプリケーション識別子IDaとともにクライアント20へ送る(S14)。なお、上記アプリケーション識別子IDaは、複数のアプリケーションの各々を識別するためのものであり、例えば、アプリケーションが一つの場合や、複数のアプリケーションで共通の秘密情報が使用される場合には、省略可能である。
クライアント20において、レスポンス生成部23bは、秘密情報保持部24を参照し、サーバ10から受けたアプリケーション識別子IDaと関連付けられたユーザAの秘密情報を検索する(S15)。最初のアクセス時には、秘密情報保持部24にユーザAの秘密情報は存在しないので、レスポンス生成部23bは、秘密情報が存在しない旨をレスポンスとしてサーバ10に返す(S16)。
サーバ10において、クライアント20からの秘密情報が存在しない旨のレスポンスに応じて、認証部14aは、ログインフォームをクライアント20に送る(S17)。
クライアント20において、Webブラウザ部21は、ブラウザ画面上にログインフォームを表示させ、このログインフォーム上で、ユーザAから本人認証情報としてユーザ識別子IDcとパスワードPの入力を受け付ける(S18)。そして、ユーザAから受け付けたユーザ識別子IDcとパスワードPをサーバ10に送る(S19)。このとき、パスワードPは、クライアント20側で暗号化され、サーバ10側で復号されることが好ましい。
サーバ10において、認証部14aは、クライアント20から受け取ったユーザAのユーザ識別子IDcとパスワードPを基にユーザ認証処理を行う(S20)。そして、認証部14aは、この認証により正当なユーザであることが確認された場合は、アプリケーション識別子IDaおよび公開鍵Kpをクライアント20に送る(S21)。一方、認証に失敗した場合には、再度、ログインフォームをクライアント20に送る。図3には、認証に成功した場合が示されている。
クライアント20において、秘密情報格納部23aは、秘密情報の受け渡しを安全に行うため、秘密情報の暗号化/復号に使用される共通鍵を生成する。ここでは、共通鍵として、クライアント20のマシン固有の情報(例えば、システムディスクのシリアル番号)からセッション鍵Kを生成する(S22)。ついで、秘密情報格納部23aは、生成されたセッション鍵Kを、サーバ10から受け取った公開鍵Kpによって暗号化する(S23)。そして、暗号化されたセッション鍵EKをサーバ10に送る(S24)。
サーバ10において、秘密情報生成部14bは、ユーザ識別子IDcおよび現在の時刻を表すタイムスタンプtから、マスター鍵Kmを鍵として鍵付きハッシュの計算を行って、ユーザAを特定するための秘密情報Kcを生成する(S25)。また、秘密情報生成部14bは、ユーザ識別子IDaとタイムスタンプtとを対応付けて、認証用情報保持部15に格納する(S26)。なお、タイムスタンプtは、秘密情報の有効期限の管理のために用いられるものである。また、秘密情報生成部14bは、クライアント20から受け取った暗号化されたセッション鍵EKをサーバ10の秘密鍵Ksで復号し、セッション鍵Kを得る(S27)。そして、ステップS25で生成された秘密情報Kcをセッション鍵Kで暗号化し(S28)、暗号化された秘密情報EKcを、アプリケーション識別子IDa、ユーザ識別子IDc、タイムスタンプtと共にクライアント20へ送る(S29)。
クライアント20において、秘密情報格納部23aは、サーバ10から受け取った暗号化された秘密情報EKcをセッション鍵Kで復号する(S30)。そして、得られた秘密情報Kcを、サーバ10から受け取ったアプリケーション識別子IDa、ユーザ識別子IDc、およびタイムスタンプtと関連付けて、秘密情報保持部24に格納する(S31)。
ついで、クライアント20は、ステップS12でアクセスしたURLに再度アクセスする(S32)。以降は、後述する図4と同様の処理を行い、最終的に、指定したURLに対応するHTMLデータを取得する。
なお、認証サーバ部14は、何らかのセキュリティ上の脅威が発生した場合には、秘密情報を無効化する。ここでは、無効化の対象となる秘密情報に対応するタイムスタンプtの値を、無効を表す「0」に変更する。ただし、無効化するための処理は、特に限定されず、例えば、秘密情報に対応するユーザ識別子IDcおよびタイムスタンプtの組を削除してもよい。また、秘密情報を無効化する処理は、サーバ10の管理者の指示入力に従って行われてもよいし、サーバ10の判断により自動的に行われてもよい。
図4は、2回目以降のアクセス時における認証システム1の処理の流れを示すシーケンス図である。
図4において、クライアント20のローカルでのユーザAの認証(S41)から、チャレンジ値Cおよびアプリケーション識別子IDaのクライアント20への送信(S44)までの処理は、図3のステップS11からステップS14までの処理と同様である。
クライアント20において、レスポンス生成部23bは、秘密情報保持部24を参照し、サーバ10から受けたアプリケーション識別子IDaに関連付けられたユーザAの秘密情報を検索する(S45)。ここでは、2回目以降のアクセスであるので、クライアント20の秘密情報保持部24には、ユーザAの秘密情報Kcが、アプリケーション識別子IDa、ユーザ識別子IDc、タイムスタンプtと関連付けられて格納されている。したがって、レスポンス生成部23bは、秘密情報保持部24から、アプリケーション識別子IDaと関連付けられている、ユーザAの秘密情報KcおよびユーザAのユーザ識別子IDcを検索して抽出する。
ついで、レスポンス生成部23bは、サーバ10から受け取ったチャレンジ値Cから、ユーザAの秘密情報Kcを鍵として鍵付きハッシュの計算を行い、その結果をレスポンス値Rとする(S46)。そして、レスポンス値Rをユーザ識別子IDcと共にサーバ10へ送る(S47)。
サーバ10において、レスポンス検証部14dは、認証用情報保持部15を参照し、クライアント20から渡されたユーザ識別子IDcに対応する秘密情報が有効であるか否かを確認する(S48)。具体的には、ユーザ識別子IDcに対応するタイムスタンプtの値が「0」であるか否かを判断する。また、予め設定されている秘密情報の有効期間とタイムスタンプtの時刻とに基づいて、秘密情報の有効期限が過ぎているか否かを判断する。
秘密情報は有効であると判断された場合、レスポンス検証部14dは、クライアント20から渡されたユーザ識別子IDaと、これに関連付けられたタイムスタンプtと、マスター鍵Kmと、チャレンジ値Cとに基づいて、レスポンスの理論値R´を求める(S49)。具体的には、レスポンス検証部14dは、ユーザ識別子IDaとタイムスタンプtとから、マスター鍵Kmを鍵として鍵付きハッシュの計算を行い、ユーザAの秘密情報Kcを再度生成する。ついで、チャレンジ値Cから、再度生成された秘密情報Kcを鍵として鍵付きハッシュの計算を行い、レスポンスの理論値R´を算出する。そして、レスポンス検証部14dは、クライアント20から渡されたレスポンス値Rとレスポンスの理論値R´とが一致するか否かを確認する(S50)。
なお、ステップS48で秘密情報は無効であると判断された場合、クライアント20にログインフォームが送信され、以降、図3のステップS18以降の処理が行われる。
ステップS50における確認の結果、両レスポンス値が一致しなかった場合、レスポンス検証部14dは、ユーザの認証に失敗したものとして、所定の処理を行う。例えば、クライアント20にログインフォームが送信され、以降、図3のステップS18以降の処理が行われる。
一方、両レスポンス値が一致した場合、レスポンス検証部14dは、ユーザの認証に成功した旨をサーバ制御部12に通知する。サーバ制御部12は、この通知に応じて、ステップS42でクライアント20から指定されたURLに対応するHTMLデータを送る(S51)。この後、クライアント20のユーザAは、サーバ10のアプリケーション部13によるサービスの提供を受けることとなる。このとき、サーバ10は、認証されたユーザに対して、ユーザ毎に異なるサービスを提供することとしてもよい。例えば、ユーザ毎に予め利用権限を設定しておき、各ユーザに対し、当該ユーザの利用権限の範囲内でサービスを提供することとしてもよい。なお、図4には、両レスポンス値が一致した場合が示されている。
以上説明した本実施の形態によれば、以下の効果が得られる。
(1)クライアントを利用するユーザの認証処理を、認証サーバとクライアントのモジュールとの間で行うので、認証の自動化を図ることができる。より具体的には、Webアプリケーションにアクセスする際に、予めクライアント側にダウンロードされたプログラムと認証サーバとの間での通信によってログイン処理を行うので、ユーザ名やパスワードを入力するといったユーザによるログイン操作が不要となる。これにより、ログイン時におけるユーザの操作負担を軽減でき、操作性の向上を図ることができる。
(2)クライアントに秘密情報が存在するか否かをチャレンジ/レスポンス方式により確認するので、秘密情報が通信路上で盗まれる危険を回避することができる。すなわち、認証を自動化するための情報がそのまま送信されるCookieを用いた方式や特許文献1に記載の方式に比べて、認証を自動化するための情報が盗用される危険性を低減することができる。また、リプレイ攻撃にも対応可能である。
(3)認証サーバは、クライアントからユーザの本人認証情報を取得し、この本人認証情報を用いてユーザの認証を行い、この認証に成功した場合に当該ユーザを特定するための秘密情報をクライアントに発行する。このため、正当なユーザにのみ秘密情報を発行することが可能となる。また、ユーザにとっては、パスワード等の本人認証情報を提示するだけでよいので、簡易な手続きで秘密情報を取得することができる。
特許文献1に記載の技術と比較すると、当該技術では、認証を自動化するための情報が端末に固定的に設定されているので、ユーザは、特定の端末からしかサーバにアクセスすることができない。これに対し、本実施の形態では、ユーザは、任意のクライアントからサーバにアクセスすることができる。
また、特許文献1に記載の技術では、ユーザに対する認証が一切入らず、端末に設定された情報のみによる認証である。したがって、端末にアクセスできる者は誰でもサーバにアクセスできてしまう。これに対し、本実施の形態では、最初のアクセスでユーザ認証が入るので、より安全である。
(4)クライアントは、当該クライアントに固有の情報を用いて秘密情報を暗号化して格納する。したがって、暗号化された秘密情報が盗まれたとしても、他のクライアントでは暗号化された秘密情報を復号することができない。これにより、あるクライアントに格納されている秘密情報が他のクライアントで盗用される危険を回避することができる。すなわち、認証を自動化するための情報そのものを格納する、Cookieを用いた方式や特許文献1に記載の方式に比べて、認証を自動化するための情報が盗用される危険性を低減することができる。
(5)認証サーバは、認証時に、クライアントに有効な秘密情報が格納されているか否かに関わらず、まず初めにチャレンジ/レスポンス方式による認証を試みる。そして、認証に失敗した場合に、有効な秘密情報が格納されていないものとして、クライアントに秘密情報を発行するための処理を開始する。このため、クライアントに有効な秘密情報が格納されているか否かを簡易な方法で確認することができ、処理全体を簡素化することができる。
(6)クライアントは、当該クライアントの利用に先立って、クライアントローカルでユーザ認証を行う。これにより、クライアントは、当該クライアントを利用しているユーザを識別することができ、あるユーザの秘密情報が別のユーザに利用されることを回避することができる。ここで、クライアントローカルでのユーザ認証は一般的に行われているものであり、ユーザに特別の操作を強いるものではない。また、通常、OS(Operating System)のマルチユーザ機能により実現されるので、特別なソフトウェア等は必要とされない。ただし、クライアントローカルでのユーザ認証は、認証モジュール部23により行われてもよい。
特許文献1に記載の技術と比較すると、当該技術は端末識別のための仕組みであり、同一端末上で異なるユーザを識別することはできない。これに対して、本実施の形態では、同一端末上の異なるユーザを識別することができる。
(7)認証サーバは、ユーザ識別子に基づいて、予め設定された規則に従って、秘密情報を生成し、ユーザ識別子とチャレンジとに基づいて、予め設定された規則に従って、レスポンスを検証する。したがって、各ユーザの秘密情報を認証サーバ側で記憶しておく必要がない。このため、認証サーバから秘密情報が盗まれる危険を回避することができる。また、情報管理のコストを削減することができる。
(8)秘密情報の生成、レスポンスの生成、あるいはレスポンスの検証を、比較的高速なアルゴリズムで実現される鍵付きハッシュの計算を用いて行っているので、それぞれの処理の高速化を図ることができる。
(9)特許文献1に記載の技術では、認証を自動化するための情報に有効期限が存在しないので、当該情報を盗まれた場合、永続的に盗まれたままとなる。これに対し、本実施の形態では、秘密情報に有効期限を設定するので、または、必要に応じて秘密情報を無効化するので、秘密情報が盗まれた場合の被害を軽減することができる。
(10)ユーザの本人認証情報および秘密情報は、認証サーバとクライアントとの間で、暗号化通信により送受されるので、これらの情報が通信路上で盗まれることを回避することができる。
(11)秘密情報の生成において、生成時の時刻を示すタイムスタンプに基づいて秘密情報を生成するので、同一ユーザが複数のクライアントで秘密情報を取得する場合、それぞれの秘密情報を識別することができる。なお、タイムスタンプに代えてクライアントを識別するための情報を用いることとしても、同様の効果を得ることができる。ただし、どのクライアントからのアクセスであっても、同一ユーザに対しては同一の秘密情報を発行することとしてもよい。この場合、タイムスタンプは省略可能となる。
図5は、他の実施の形態に係る認証システム2の全体構成を示すブロック図である。図5に示されるとおり、認証システム2は、アプリケーション機能によるサービスを提供するサービス提供サーバ30と、認証サーバ40と、クライアント20とが、LAN等のネットワークNを介して互いに接続されてなる。この認証システム2は、サービスを提供するサーバマシンとユーザ認証を行うサーバマシンとが別々に設けられている点で、上記の認証システム1と異なる。これ以外については上記の認証システム1とほとんど同じであるので、共通する部分については説明を省略する。
サービス提供サーバ30は、機能ブロックとして、Webサーバ部11、サーバ制御部12、およびアプリケーション部13を備える。認証サーバ40は、機能ブロックとして、Webサーバ部11、サーバ制御部12、認証サーバ部14、および認証用情報保持部15を備える。
以下、認証システム2の動作について、クライアント20からサービス提供サーバ30への最初のアクセス時と、2回目以降のアクセス時とに分けて簡単に説明する。
まず、最初のアクセス時における認証システム2の処理手順について説明する。
クライアント20のブラウザ画面上で、ユーザAによりサービス提供サーバ30のアプリケーションのURLが入力されると、クライアント20は、当該URLにアクセスする。
このアクセスに応じ、サービス提供サーバ30は、認証を依頼するために、認証サーバ40に対するリダイレクト要求をクライアント20のブラウザに返す。この時、サービス提供サーバ30は、後で認証結果を認証サーバ40に問い合わせるための認証用一時IDを発行し、これをアプリケーションのURLとともに、認証サーバ40へのリダイレクト時のパラメータとしてクライアント20に送る。
クライアント20のブラウザは、リダイレクト指示に従って、認証サーバ40にアクセスする。この時、サービス提供サーバ30からの指示により、認証サーバ40に対して、アプリケーションのURLおよび認証用一時IDを送付する。
この後、図3のステップS13からステップS32までと同様の処理が行われる。すなわち、認証サーバ40からクライアント20にユーザAの秘密情報Kcが発行される。
次に、2回目以降のアクセス時における認証システム2の処理について説明する。
クライアント20のブラウザ画面上で、ユーザAによりサービス提供サーバ30のアプリケーションのURLが入力されると、クライアント20は、当該URLにアクセスする。
このアクセスに応じ、サービス提供サーバ30は、認証を依頼するために、認証サーバ40に対するリダイレクト要求をクライアント20のブラウザに返す。この時、サービス提供サーバ30は、後で認証結果を認証サーバ40に問い合わせるための認証用一時IDを発行し、これをアプリケーションのURLとともに、認証サーバ40へのリダイレクト時のパラメータとしてクライアント20に送る。
クライアント20のブラウザは、リダイレクト指示に従って、認証サーバ40にアクセスする。この時、サービス提供サーバ30からの指示により、認証サーバ40に対して、アプリケーションのURLおよび認証用一時IDを送付する。
この後、図4のステップS43からステップS50までと同様の処理が行われる。すなわち、認証サーバ40とクライアント20との間で、チャレンジ/レスポンス方式による認証処理が行われる。
チャレンジ/レスポンス方式による認証に成功した場合、本実施の形態では、認証サーバ40は、認証に成功した旨の認証結果を、クライアント20から渡された認証用一時IDと関連付けて保存する。そして、クライアント20から渡されたアプリケーションのURLに対するリダイレクト指示をクライアント20に返す。
クライアント20は、リダイレクト指示に従い、再度アプリケーションのURLにアクセスする。
このアクセスに応じて、サービス提供サーバ30は、認証用一時IDをキーとして、認証サーバ40に認証結果を問い合わせる。そして、認証に成功した旨の認証結果であった場合、クライアント20から指定されたURLに対応するHTMLデータをクライアント20に送る。
以上のとおり、認証サーバは、アプリケーション機能を提供するサーバとは別に設置されてもよい。同様に、認証システム1におけるサーバ10の各機能ブロックは、物理的にどのような構成で実現されてもよい。
以上、本発明の実施の形態について説明したが、本発明が上記の実施の形態に限定されないことは言うまでもない。
例えば、サーバ10とクライアント20との間のデータの送受は、上記の実施の形態では、Webサーバ11とWebブラウザ21との間でHTTPに従って行われているが、どのような通信プロトコルで行われても構わない。
また、サーバ10のアプリケーションは、Webアプリケーションに限定されず、コマンドラインアプリケーション等、他のアプリケーションであってもよい。従来、コマンドラインアプリケーションにおける認証では、ユーザIDとパスワードをバッチファイルに記述しておりセキュリティ上の問題があったが、本発明を適用すれば、このような問題を解消することができる。なお、コマンドラインアプリケーションの場合、クライアントのユーザは、コマンドラインインタフェースを用いてコマンドラインアプリケーションにアクセスすることとなる。
また、図3のステップS20において、サーバ10が登録ユーザのデータを保持しており、そのデータとユーザから入力された値を照合することによって認証処理を行っているが、例えばLDAP(Lightweight Directory Access Protocol)サーバのようなディレクトリサービスによってユーザ管理を行っている運用環境を前提にするなら、そのディレクトリサービスを用いて認証処理を行うこととしてもよい。この場合、複数のアプリケーション間でユーザ情報を共有することが可能となるため、シングルサインオンの実現が容易となる。
また、本実施の形態に係る認証システムによる認証に成功した場合に複数のアプリケーションへのアクセスを許可することにより、シングルサインオン環境を提供することもできる。
また、本発明に係る認証システムは、アプリケーションへのアクセス時における認証に限られず、クライアントを利用しているユーザの認証に広く適用可能である。
また、上記の実施の形態では、サーバ10は、ユーザ識別子IDcとタイムスタンプtとを関連付けて保持しているが、これらの情報を必ずしもサーバ10側で保持しておく必要はない。例えば、ユーザ識別子IDcおよびタイムスタンプtをクライアント20からサーバ10に送信することとすれば、サーバ10は、クライアント20から受け取った情報に基づいてレスポンスの検証を行うことができる。
また、上記の実施の形態では、クライアント20に秘密情報が格納されているか否かに関わらず、まず初めにチャレンジ/レスポンス方式による認証を試みることとしているが、例えば、まず初めにクライアント20が、自己に秘密情報が格納されているか否かを判断し、格納されていないと判断した場合に、サーバ10に対して秘密情報の発行を要求することとしてもよい。
また、クライアントローカルでのユーザ認証は必須ではない。ただし、あるユーザの秘密情報が別のユーザに利用されることを防止する観点より、クライアントローカルでユーザを認証することが好ましい。
また、サーバ10とクライアント20との間のデータ送受に適用される暗号化等のセキュリティ技術は、特に限定されず、適宜に追加、変更、または削除することができる。例えば、SSL(Secure Sockets Layer)を採用することができる。
また、秘密情報の生成方法は、特に限定されない。例えば、鍵付きハッシュの計算以外の生成方式を採用することができる。また、必ずしもタイムスタンプtに基づいて秘密情報を生成する必要はない。さらに、秘密情報に有効期限を設定しない場合、タイムスタンプtは省略されてもよい。
また、サーバ用認証プログラムが認証サーバ部14の機能を実現させる態様には、次の態様が含まれる。すなわち、サーバ用認証プログラムが、他のプログラム(例えばOSソフトウェアやアプリケーションソフトウェア)により実行される処理を利用して、認証サーバ部14の機能を実現させる態様が含まれる。同様に、クライアント用認証プログラムが認証モジュール部23の機能を実現させる態様には、次の態様が含まれる。すなわち、クライアント用認証プログラムが、他のプログラム(例えばOSソフトウェアやアプリケーションソフトウェア)により実行される処理を利用して、認証モジュール部23の機能を実現させる態様が含まれる。
実施の形態に係る認証システムの全体構成を示すブロック図である。 サーバおよびクライアントの機能構成を示すブロック図である。 最初のアクセス時における認証システムの処理の流れを示すシーケンス図である。 2回目以降のアクセス時における認証システムの処理の流れを示すシーケンス図である。 他の実施の形態に係る認証システムの全体構成を示すブロック図である。
符号の説明
1,2 認証システム、10 サーバ、11 Webサーバ部、12 サーバ制御部、13 アプリケーション部、14 認証サーバ部、14a 認証部、14b 秘密情報生成部、14c チャレンジ生成部、14d レスポンス検証部、15 認証用情報保持部、20 クライアント、21 Webブラウザ部、22 クライアント制御部、23 認証モジュール部、23a 秘密情報格納部、23b レスポンス生成部、24 秘密情報保持部、30 サービス提供サーバ、40 認証サーバ。

Claims (20)

  1. クライアントを利用するユーザを、ネットワークを介して認証サーバにより認証するためのサーバ用認証プログラムであって、認証サーバを、
    前記クライアントから前記ユーザの本人認証情報を取得し、当該本人認証情報に基づいて前記ユーザの認証を行う認証部、
    当該認証部による認証が成功した場合に、前記ユーザを特定するための秘密情報を生成して前記クライアントに渡す秘密情報生成部、
    チャレンジ/レスポンス方式におけるチャレンジを生成して前記クライアントに送るチャレンジ生成部、および、
    前記クライアントから前記チャレンジに対するレスポンスを受け取り、当該レスポンスが前記チャレンジと前記秘密情報とを組み合わせて生成された正しいレスポンスか否かを検証することにより前記ユーザを認証するレスポンス検証部、
    として機能させることを特徴とするサーバ用認証プログラム。
  2. 請求項1に記載のサーバ用認証プログラムであって、
    前記認証部は、前記チャレンジ/レスポンス方式による認証が失敗した場合に、前記クライアントから前記ユーザの本人認証情報を取得することを特徴とするサーバ用認証プログラム。
  3. 請求項1または2に記載のサーバ用認証プログラムであって、
    前記秘密情報生成部は、前記ユーザを識別するためのユーザ識別情報に基づいて、予め設定された規則に従って、前記秘密情報を生成し、
    前記レスポンス検証部は、前記ユーザ識別情報と前記チャレンジとに基づいて、予め設定された規則に従って、前記レスポンスを検証することを特徴とするサーバ用認証プログラム。
  4. 請求項3に記載のサーバ用認証プログラムであって、
    前記秘密情報生成部または前記レスポンス検証部における、予め設定された規則は、鍵付きハッシュの計算であることを特徴とするサーバ用認証プログラム。
  5. 請求項1〜4のいずれか1項に記載のサーバ用認証プログラムであって、
    前記認証サーバに、前記秘密情報に有効期限を設定する機能を実現させることを特徴とするサーバ用認証プログラム。
  6. 請求項1〜5のいずれか1項に記載のサーバ用認証プログラムであって、
    前記認証サーバに、必要に応じて前記秘密情報を無効化する機能を実現させることを特徴とするサーバ用認証プログラム。
  7. 請求項1〜6のいずれか1項に記載のサーバ用認証プログラムであって、
    前記認証サーバに、前記クライアントとの間で、前記本人認証情報および前記秘密情報を暗号化通信により送受する機能を実現させることを特徴とするサーバ用認証プログラム。
  8. クライアントを利用するユーザを、ネットワークを介して認証サーバにより認証するためのクライアント用認証プログラムであって、前記クライアントを、
    当該クライアントから送られた前記ユーザの本人認証情報に基づく前記認証サーバにおける前記ユーザの認証が成功した場合に、前記認証サーバにより生成される前記ユーザを特定するための秘密情報を、前記認証サーバから受け取って所定の記憶領域に格納する秘密情報格納部、および、
    前記認証サーバからチャレンジ/レスポンス方式におけるチャレンジを受け取り、当該チャレンジと前記格納された秘密情報とを組み合わせてレスポンスを生成し、当該レスポンスを前記認証サーバに返すレスポンス生成部、
    として機能させることを特徴とするクライアント用認証プログラム。
  9. 請求項8に記載のクライアント用認証プログラムであって、
    前記秘密情報格納部は、当該クライアントに固有の情報を用いて前記秘密情報を暗号化して格納し、
    前記レスポンス生成部は、前記暗号化された秘密情報を前記固有の情報を用いて復号し、復号された秘密情報を用いて前記レスポンスを生成することを特徴とするクライアント用認証プログラム。
  10. 請求項8または9に記載のクライアント用認証プログラムであって、
    前記クライアントに、当該クライアントの利用に先立って、ユーザからローカル認証用の本人認証情報を取得し、当該本人認証情報により前記ユーザの認証を行い、当該認証が成功した場合に、前記ユーザに当該クライアントの利用を許可する機能を実現させることを特徴とするクライアント用認証プログラム。
  11. 請求項8〜10のいずれか1項に記載のクライアント用認証プログラムであって、
    前記レスポンス生成部は、鍵付きハッシュの計算により前記レスポンスを生成することを特徴とするクライアント用認証プログラム。
  12. 請求項8〜11のいずれか1項に記載のクライアント認証プログラムであって、
    前記クライアントに、前記認証サーバとの間で、前記本人認証情報および前記秘密情報を暗号化通信により送受する機能を実現させることを特徴とするクライアント用認証プログラム。
  13. クライアントと、当該クライアントを利用するユーザを認証する認証サーバとがネットワークを介して接続されてなる認証システムであって、
    前記クライアントに前記ユーザを特定するための秘密情報が格納されていない場合、
    前記認証サーバは、前記クライアントから前記ユーザの本人認証情報を取得し、当該本人認証情報に基づいて前記ユーザの認証を行い、当該認証が成功した場合に、前記秘密情報を生成して前記クライアントに渡し、
    前記クライアントは、前記認証サーバから受け取った前記秘密情報を所定の記憶領域に格納し、
    前記クライアントに前記秘密情報が格納されている場合、
    前記認証サーバは、チャレンジ/レスポンス方式におけるチャレンジを生成して前記クライアントに送り、
    前記クライアントは、前記チャレンジと前記秘密情報とを組み合わせてレスポンスを生成し、当該レスポンスを前記認証サーバに返し、
    前記認証サーバは、前記クライアントから受け取ったレスポンスを検証することにより前記ユーザを認証する、
    ことを特徴とする認証システム。
  14. 請求項13に記載の認証システムであって、
    前記クライアントに前記秘密情報が格納されているか否かに関わらず、前記認証サーバは、前記クライアントとの間で前記チャレンジ/レスポンス方式による認証を試み、
    当該認証に失敗した場合に、前記認証サーバは、前記クライアントから前記ユーザの本人認証情報を取得し、当該本人認証情報に基づいて前記ユーザの認証を行い、当該認証が成功した場合に、前記秘密情報を生成して前記クライアントに渡す、
    ことを特徴とする認証システム。
  15. 請求項13に記載の認証システムであって、
    前記クライアントは、
    前記認証サーバから受け取った前記秘密情報を、当該クライアントに固有の情報を用いて暗号化して前記所定の記憶領域に格納し
    前記レスポンスを生成するときに、前記格納された秘密情報を、前記固有の情報を用いて復号し、復号された秘密情報と前記認証サーバから受け取ったチャレンジとを組み合わせてレスポンスを生成し、当該レスポンスを前記認証サーバに返す、
    ことを特徴とする認証システム。
  16. クライアントを利用するユーザを、ネットワークを介して認証する認証サーバであって、
    前記クライアントから前記ユーザの本人認証情報を取得し、当該本人認証情報に基づいて前記ユーザの認証を行う認証部と、
    当該認証部による認証が成功した場合に、前記ユーザを特定するための秘密情報を生成して前記クライアントに渡す秘密情報生成部と、
    チャレンジ/レスポンス方式におけるチャレンジを生成して前記クライアントに送るチャレンジ生成部と、
    前記クライアントから前記チャレンジに対するレスポンスを受け取り、当該レスポンスが前記チャレンジと前記秘密情報とを組み合わせて生成された正しいレスポンスか否かを検証することにより前記ユーザを認証するレスポンス検証部と、
    を有することを特徴とする認証サーバ。
  17. 認証サーバによりネットワークを介してユーザが認証されるクライアントであって、
    当該クライアントから送られた前記ユーザの本人認証情報に基づく前記認証サーバにおける前記ユーザの認証が成功した場合に、前記認証サーバにより生成される前記ユーザを特定するための秘密情報を、前記認証サーバから受け取って所定の記憶領域に格納する秘密情報格納部と、
    前記認証サーバからチャレンジ/レスポンス方式におけるチャレンジを受け取り、当該チャレンジと前記格納された秘密情報とを組み合わせてレスポンスを生成し、当該レスポンスを前記認証サーバに返すレスポンス生成部と、
    を有することを特徴とするクライアント。
  18. 請求項17に記載のクライアントであって、
    当該クライアントの利用に先立って、ユーザからローカル認証用の本人認証情報を取得し、当該本人認証情報により前記ユーザの認証を行い、当該認証が成功した場合に、前記ユーザに当該クライアントの利用を許可することを特徴とするクライアント。
  19. クライアントと、当該クライアントを利用するユーザを認証する認証サーバとがネットワークを介して接続されてなる認証システムにおける認証方法であって、
    前記クライアントに前記ユーザを特定するための秘密情報が格納されていない場合、
    前記認証サーバは、前記クライアントから前記ユーザの本人認証情報を取得し、当該本人認証情報に基づいて前記ユーザの認証を行い、当該認証が成功した場合に、前記秘密情報を生成して前記クライアントに渡し、
    前記クライアントは、前記認証サーバから受け取った前記秘密情報を所定の記憶領域に格納し、
    前記クライアントに前記秘密情報が格納されている場合、
    前記認証サーバは、チャレンジ/レスポンス方式におけるチャレンジを生成して前記クライアントに送り、
    前記クライアントは、前記チャレンジと前記秘密情報とを組み合わせてレスポンスを生成し、当該レスポンスを前記認証サーバに返し、
    前記認証サーバは、前記クライアントから受け取ったレスポンスを検証することにより前記ユーザを認証する、
    ことを特徴とする認証方法。
  20. 請求項19に記載の認証方法であって、
    前記クライアントが、前記認証サーバから受け取った前記秘密情報を所定の記憶領域に格納するときに、前記秘密情報を、当該クライアントに固有の情報を用いて暗号化して前記所定の記憶領域に格納し、
    前記クライアントが、前記レスポンスを生成するときに、前記格納された秘密情報を、前記固有の情報を用いて復号し、復号された秘密情報と前記認証サーバから受け取ったチャレンジとを組み合わせてレスポンスを生成し、当該レスポンスを前記認証サーバに返す、
    とを特徴とする認証方法。
JP2004115469A 2004-04-09 2004-04-09 認証システム、サーバ用認証プログラム、およびクライアント用認証プログラム Expired - Fee Related JP4608929B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004115469A JP4608929B2 (ja) 2004-04-09 2004-04-09 認証システム、サーバ用認証プログラム、およびクライアント用認証プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004115469A JP4608929B2 (ja) 2004-04-09 2004-04-09 認証システム、サーバ用認証プログラム、およびクライアント用認証プログラム

Publications (2)

Publication Number Publication Date
JP2005301577A JP2005301577A (ja) 2005-10-27
JP4608929B2 true JP4608929B2 (ja) 2011-01-12

Family

ID=35333048

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004115469A Expired - Fee Related JP4608929B2 (ja) 2004-04-09 2004-04-09 認証システム、サーバ用認証プログラム、およびクライアント用認証プログラム

Country Status (1)

Country Link
JP (1) JP4608929B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020034021A1 (pt) * 2018-08-16 2020-02-20 JUNIOR, Valter Viaro Adaptação em dispositivos transmissores e receptores de radiofrequencia e metodo de criptografia de dados temporais para comparação por sincronia

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4969106B2 (ja) * 2006-01-05 2012-07-04 ルネサスエレクトロニクス株式会社 マイクロコントローラ
JP4895619B2 (ja) * 2006-01-18 2012-03-14 生活協同組合コープさっぽろ 商品情報提供システム
JP4895620B2 (ja) * 2006-01-18 2012-03-14 生活協同組合コープさっぽろ 商品情報提供システム
JP4895618B2 (ja) * 2006-01-18 2012-03-14 生活協同組合コープさっぽろ 商品情報提供システム
US20070208790A1 (en) * 2006-03-06 2007-09-06 Reuter James M Distributed data-storage system
KR100743836B1 (ko) * 2006-03-21 2007-07-30 연세대학교 산학협력단 코로나 방전을 이용한 고분자 박막의 제조 방법 및 그방법에 의해 제조된 고분자 박막
JP5044477B2 (ja) * 2008-04-23 2012-10-10 日本電信電話株式会社 追加呼び出し型QoS制御ネットワークシステムとその方法
JP5585097B2 (ja) * 2010-01-25 2014-09-10 ソニー株式会社 電力管理装置及び電子機器登録方法
JP2013042335A (ja) * 2011-08-15 2013-02-28 Kddi Corp 通信システム及びプログラム
JP5502175B2 (ja) * 2012-10-23 2014-05-28 三菱電機株式会社 無線通信システム、無線通信システムの接続制御方法、無線通信システムの接続制御のためのプログラム
JP2016038845A (ja) * 2014-08-11 2016-03-22 日本電信電話株式会社 利用者認証システム、認証サーバ、利用者認証方法、プログラム
JP2016076022A (ja) * 2014-10-03 2016-05-12 日本電信電話株式会社 認証認可システム、通信端末装置、認証認可サーバ装置、認証認可方法及びプログラム
US11895240B2 (en) 2016-12-15 2024-02-06 Nec Corporation System, apparatus, method and program for preventing illegal distribution of an access token

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003318894A (ja) * 2002-02-21 2003-11-07 Matsushita Electric Ind Co Ltd チャレンジ−レスポンス方式による機器間の認証処理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003318894A (ja) * 2002-02-21 2003-11-07 Matsushita Electric Ind Co Ltd チャレンジ−レスポンス方式による機器間の認証処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020034021A1 (pt) * 2018-08-16 2020-02-20 JUNIOR, Valter Viaro Adaptação em dispositivos transmissores e receptores de radiofrequencia e metodo de criptografia de dados temporais para comparação por sincronia

Also Published As

Publication number Publication date
JP2005301577A (ja) 2005-10-27

Similar Documents

Publication Publication Date Title
KR100615793B1 (ko) 준 신뢰성 웹 서버를 통한 오리진 웹 서버로부터의 정보 액세스 방법과 그 장치 및 컴퓨터 판독 가능 기록 매체
US5923756A (en) Method for providing secure remote command execution over an insecure computer network
US7886346B2 (en) Flexible and adjustable authentication in cyberspace
US7231526B2 (en) System and method for validating a network session
EP2020797B1 (en) Client-server Opaque token passing apparatus and method
US7409543B1 (en) Method and apparatus for using a third party authentication server
CA2689847C (en) Network transaction verification and authentication
US20120284506A1 (en) Methods and apparatus for preventing crimeware attacks
US8438383B2 (en) User authentication system
US20010020274A1 (en) Platform-neutral system and method for providing secure remote operations over an insecure computer network
US20100217975A1 (en) Method and system for secure online transactions with message-level validation
US20060294366A1 (en) Method and system for establishing a secure connection based on an attribute certificate having user credentials
US20090307486A1 (en) System and method for secured network access utilizing a client .net software component
JP4608929B2 (ja) 認証システム、サーバ用認証プログラム、およびクライアント用認証プログラム
AU2005255513A1 (en) Method, system and computer program for protecting user credentials against security attacks
EP2414983B1 (en) Secure Data System
JP4698751B2 (ja) アクセス制御システム、認証サーバシステムおよびアクセス制御プログラム
JP2008083759A (ja) ログイン処理装置、ログイン処理システム、プログラム、及び記録媒体
WO2012166669A2 (en) Methods and apparatus for preventing crimeware attacks
EP2530618B1 (en) Sign-On system with distributed access
WO2023011675A1 (en) System and method for controlling access to target application
CN116318693A (zh) 一种基于TLS的Session Ticket HTTPS会话防护方法
Cheung et al. Strongly authenticated URLs: Integrating Web browsers and

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100914

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100927

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4608929

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees
S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370