説明

認証クライアント装置、認証サーバ装置、ユーザ認証方式

【課題】 ステートレスな通信プロトコル上で、安全なユーザ認証方式を、第三者に拠らずに実現する。
【解決手段】 クライアントは、公開鍵と秘密鍵の組を作成し、公開鍵を送信し、公開鍵で暗号化された共通鍵を受信し、受信した共通鍵を用いて認証情報を送信する。
サーバは、公開鍵を受信し、共通鍵を作成しこれを公開鍵で暗号化して送信する機能と、共通鍵で暗号化された認証情報を受信し、認証情報を復号し、認証処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ステートレスな通信方式を用いてユーザ認証を行う認証クライアント装置、認証サーバ装置、ユーザ認証方式に関するものである。
【背景技術】
【0002】
HTTPに代表されるステートレスな通信方式を用いてユーザ認証を行う従来技術としては、ベーシック認証やダイジェスト認証(例えば、非特許文献1参照)があげられる。更に、通信系路上で認証情報を保護するために、ベーシック認証にSSLやTLS等の経路の暗号化処理を追加する場合もある(例えば、非特許文献2参照)。
【0003】
WEBサービスを利用したユーザ認証に関しては、専用サーバを用いる方式(例えば、特許文献1参照)が考案されている。或いは、PKIを基盤とした認証が利用されている。
【特許文献1】特開2005−18748号公報
【非特許文献1】RFC2617(HTTP Authentication:Basic and Digest Access Authentication −− HTTP/1.1)
【非特許文献2】RFC4346(The TLS Protocok,Version 1.1)
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来の技術では、次のような良くない点があった。
【0005】
ベーシック認証を使用した場合、通信経路上をユーザ名やパスワードといった機密情報が平文で流れるため、経路上の第三者にこれら機密情報を盗聴される可能性がある。
【0006】
SSLやTLS等の経路の暗号化を利用する場合、認証サーバにセキュリティ証明書を導入する必要がある。更に、信用の置けるセキュリティ証明書は、証明書の発行機関に発行を依頼する必要があり、SSLやTLS導入の障壁となっている。
【0007】
PKIを基盤とする認証技術に関しても、認証サーバが証明書を持っている必要があり、SSLやTLSと同様の問題がある。
【0008】
特許文献1に記載の従来技術では、別途、WEBサービス認証用のサーバを導入する必要があり、ユーザの負担となる。更に、サーバ、クライアント共に、相互接続に加え、この認証用サーバに接続する必要があり、プログラム構成が煩雑になるとう問題もある。
【課題を解決するための手段】
【0009】
上述した課題を解決するために、本発明における認証クライアント装置は、秘密鍵と公開鍵の鍵ペアを作成する機能と、認証サーバに対し前記公開鍵を送信し共通鍵を要求する共通鍵要求機能と、前記認証サーバより受信した共通鍵を用いて、認証情報と要求とを暗号化して認証サーバに送信する認証情報送信機能と認証サーバからの要求の実行結果を受信する要求受信機能とを備える。更に、本発明における認証サーバ装置は、認証クライアントからの公開鍵を含む共通鍵要求を受信し要求内の公開鍵を取り出す共通鍵要求受信機能と、共通鍵を生成する共通化鍵生成機能と、前記共通鍵要求受信機能により取り出された公開鍵で前記共通鍵を暗号化し前記認証クライアントに送信する共通鍵送信機能と、前記認証クライアントからの暗号化された認証情報と要求とを受信する認証情報受信機能と、前記認証情報受信機能により受信されたデータを復号し認証情報と要求とを取り出す認証情報復号機能と、前記認証情報復号機能により取り出された認証情報を検証する認証情報検証機能と、前記認証情報検証機能により認証がなされた場合に前期認証情報復号機能により取り出された要求を実行する要求実行機能と、要求の実行結果を前記認証クライアントに送信する要求実行結果送信機能を備えることを特徴とする。
【発明の効果】
【0010】
本発明によって、セキュリティ証明書や認証専用サーバを使用することなく、ステートレスな通信方式を用いたユーザ認証が可能となり、ユーザの利便性を向上させることができる。更に、通信経路上の認証情報を暗号化することが可能となり、通信系路上の認証情報の秘匿性を増すことができる。
【発明を実施するための最良の形態】
【0011】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例1】
【0012】
図1は、本発明の第1の実施形態に係るユーザ認証方式を実装した認証サーバ装置及び認証クライアント装置の配置を示す図である。図において、101はローカルエリアネットワーク(LAN)であり、各装置はLANに接続されている。102は認証サーバ装置であり、認証クライアントからの要求に応じてユーザ認証を行い要求された処理を実行するプログラムが動作する。103及び104は認証クライアント装置であり、認証サーバ102に対して認証情報を送信し処理の実行を依頼し、結果を受信する。103はPCであり、本発明の認証クライアント処理を実装したプログラムが103内のオペレーティングシステム上で動作する。104は例えば、デジタル複合機である。近年、デジタル複合機はネットワークに接続され、ネットワーク上の各種サーバに対して処理を依頼する機能を搭載するものが増えている。また、デジタル複合機に専用のアプリケーションを追加可能な機能を設けたものも出荷されており、このアプリケーションが認証クライアント機能を実装する場合もある。
【0013】
図2は、認証サーバ102及び認証クライアント103として動作するホストコンピュータのハードウェア構成を示すブロック図である。
【0014】
同図において、ホストコンピュータ201は、CPU202、RAM203、ROM204、外部記憶装置211を備える。CPU202は、こうしたROM204または外部記憶装置211に記憶されたソフトウェアを実行し、システムバス205に接続された各デバイスを総括的に制御する。RAM203は、CPU202の主メモリあるいはワークエリアなどとして機能する。外部記憶装置211は、ハードディスク(HD)、フレキシブルディスク(FD)等からなる。外部記憶装置211は、ブートプログラム、オペレーティングシステム、認証サーバ、認証クライアントを含む各種のアプリケーション、データベースデータ、フォントデータ、ユーザファイル等を記憶する。
【0015】
さらにホストコンピュータ201において、206はキーボードコントローラ(KBDC)であり、キーボード(KBD)207や図示しないポインティングデバイスからの入力情報をCPU202に送る。208はビデオコントローラ(VC)であり、CRTやLDC等からなる表示装置209の表示を制御する。210はディスクコントローラ(DKC)であり、外部記憶装置211とのアクセスを制御する。212は通信コントローラ(COMM I/F)であり、これを介してネットワーク101に接続される。
【0016】
図3は、認証クライアントが動作するデジタル複合機103の構成を示すブロック図である。
【0017】
CPU301はROM302もしくはハードディスク(HDD)305に記憶されたデジタル複合機103全体の制御を行うソフトウェアを実行し、システムバス306に接続する各デバイスを統括的に制御する。RAM303は、CPU301のワークエリア等として機能する。HDC304はHDD305を制御するハードディスクコントローラである。リーダI/F307及びプリンタI/F308は、それぞれリーダ部311及びプリンタ部312に接続され、これらデバイスを制御する。操作部I/F309は操作部313に接続され、操作部313への表示や、操作部313からのユーザ入力を制御する。313は操作部であり、操作のためのスイッチ及び表示部等より構成される。314はネットワークインターフェイスカード(NIC)で、ネットワーク101を介してホストコンピュータとデータのやりとりをする。
【0018】
ここで、図中破線で囲まれた部分を全体制御部310と呼ぶことにする。全体制御部310は、デジタル複合機103に接続された各種装置及びインターフェイスを制御すると共に、デジタル複合機全体の動作を制御する部分である。
【0019】
リーダ部311は原稿の画像を読み取り、ユーザからの指示により、その原稿画像に応じた画像データを、プリンタ部312に出力したり、デジタル複合機103内部の記憶装置に保存する。更に、ネットワークI/F314を介してネットワーク101に接続されたホストコンピュータに画像データを送信したりする。
【0020】
プリンタ部312は、リーダ部311により読み取られた原稿や、デジタル複合機本体内の記憶装置305に格納された画像データを印刷する。さらに、ネットワーク101に接続されたホストコンピュータからの印刷データを、ネットワークI/F部314を介して受信し印刷する。
【0021】
ネットワークI/F部314は、ネットワーク101に接続され、全体制御部310が、ネットワーク101上の他の情報機器、例えばホストコンピュータや認証サーバ102と相互通信するために用いられる。
【0022】
操作部313は、ボタン及び表示装置、或いは、タッチパネル入力付き液晶表示画面、或いはその組み合わせにより、全体制御部310からのユーザへの情報表示や、ユーザの入力を全体制御部310へと通知する。
【0023】
図4は、認証サーバ102内のソフトウェアの構成を示すブロック図である。同図ではオペレーティングシステムは省略されているが、図内の各ブロックはオペレーティングシステム上で動作している。
【0024】
同図において、401は認証サーバの機能を実装したプログラムである。プログラム401は、WEBサービスサーバ制御部により制御される。407は通信制御部であり、プログラムがネットワーク101にデータを送信したり、ネットワーク101からの特定のデータをプログラムに渡したりといった処理を行う。例えば、認証クライアント103または104から送信された要求は、通信処理部407を介して、WEBサービスサーバ制御部402に渡され処理される。処理結果は、逆に、通信制御部407及びネットワーク101を介して、認証クライアント103または104に返信される。
【0025】
403はユーザの認証処理等を行うユーザ情報管理部であり、404は一次利用の共通鍵の管理を行う一次利用鍵管理部である。406はデータベースであり、ユーザ認証情報や一次利用鍵が保管され、ユーザ情報管理部403および一次利用鍵管理部404から利用される。ユーザ情報管理部403は、指定された認証情報の有効性や、与えられた要求を実行する権限を与えられたユーザが持つかどうかの検査を、データベース405に問い合わせることにより実施する。一時利用鍵管理部404は、一次利用の共通鍵の管理を受け持つモジュールである。405は要求実行部であり、認証クライアントから要求された処理の実行を行う。
【0026】
図5は、認証クライアントと認証サーバの処理の流れを示すフローチャートである。同図は縦方向に三分割されている。左端は認証クライアント103内部での処理を示し、右端は認証サーバ102内部での処理を示す。中央部はネットワーク101上を流れるパケットの中身を示す。通信はステートレスであるため、一回の送受信によりコネクションは切断される。このことを示すために、各コネクションを破線で囲ってある。同図の場合、ステップS501からステップS502までの通信と、ステップS503からステップS504までの通信は独立したコネクションである。
【0027】
以下、同図に従って処理の流れを説明する。
【0028】
ユーザ認証処理は、認証クライアントが認証サーバに対して、公開鍵を送付し暗号化用の共通鍵を要求するところから始まる。先ず、ステップS501で認証クライアント103は、公開鍵と秘密鍵の鍵ペアを作成し、認証サーバとの間にコネクションを作成し、作成した公開鍵を認証サーバに送付し暗号化用の共通鍵を要求する。521は、認証クライアント103から認証サーバ102に送信されるステップS501で作成された公開鍵を含む共通鍵要求パケットである。
【0029】
認証サーバ102は、ステップS511にて、共通鍵要求パケット521を受信する。続くステップS512にて、暗号化用の共通鍵と共通鍵を一意の識別するための識別子を作成し、これらをデータベース405内の一時鍵保管用のテーブルに保存する。鍵識別子は、共通鍵の保管時にデータベースに自動生成させることも考えられるが、その場合、連番となる場合が多いため、乱数を元に識別子を生成することを考える。データベース405への保管時に、作成した識別子が既に登録済みの場合は、再度識別子の作成と鍵の保管を試みる。最後に、認証サーバ102はステップS513にて、作成した共通鍵と鍵識別子をステップS511で受信した公開鍵で暗号化して、認証クライアント103に返信する。522は、認証サーバ102から認証クライアント103に返信されるステップS513で作成された共通鍵と鍵識別子を含むパケットである。このパケット522は、ネットワーク101上の第三者に盗聴された場合でも、復号のためにはステップS501で作成した秘密鍵が必要であり、第三者に共通鍵が漏洩することは無い。
【0030】
認証クライアントは、ステップS502でパケット522を受信し、ステップS501で作成した秘密鍵でこれを復号し、認証サーバ102がステップS512で作成した共通鍵と鍵識別子を取り出す。パケット522の復号が就労した時点で、ステップS501で作成した公開鍵と秘密鍵の組は不要となるため削除される。ここまでが、認証クライアントと認証サーバとの間の1つのコネクションで処理される。
【0031】
ここまでで、認証クライアントが認証サーバに対して、認証情報と要求を安全に送付する準備が整ったことになる。認証クライアント103はステップS503にて、ステップS502で受信した共通鍵を用いて認証情報と要求を暗号化し、同じくステップS502で受信した鍵識別子と共に、認証サーバ102に送付する。認証クライアント103は、予めユーザが入力した認証情報を、RAM203や外部記憶装置210等の記憶装置上に保持し、これを使用する。523は、認証クライアント103がステップS503で作成した、認証情報と要求を共通鍵で暗号化し、これに鍵識別子を付加したパケットである。パケット522に含まれる共通鍵がネットワーク101上の第三者から秘匿されているため、パケット523内のデータも同様に、ネットワーク101上の第三者からは秘匿されることになる。
【0032】
認証サーバ102は、ステップS514で認証クライアント103からのパケット523を受信し鍵識別子を取り出し、データベース405内の一時鍵保管用のテーブルにから取り出した鍵識別子を持つ共通鍵を検索する。次に、ステップS515で、データベース405から取り出した共通鍵を用いてパケット523内の認証情報と要求を復号する。これで、認証情報と実行すべき要求の取り出しに成功した。
【0033】
続いて、ステップS516で取り出した認証情報の有効性を調べ、認証情報が無効の場合、要求を処理することなく結果を認証クライアントに返す。ステップS516で認証情報が有効であった場合、更にステップS517にて、与えられたユーザが与えられた要求を実行する権限を有するか否かの検査を行う。ユーザが要求を実行する権限を持たない場合は、要求を処理することなく結果を認証クライアントに返す。
【0034】
ここまでの処理で、認証クライアントから送付された認証情報と要求の有効性が確認されたため、後は、ステップS518にて、認証クライアント103から指示された要求を処理し、ステップS519で処理結果を認証クライアント103に返信する。処理結果の返信に際して、結果は、ステップS512で作成した共通鍵から生成される共通鍵を用いて暗号化される。パケット524は、結果を共通鍵から生成した共通鍵を用いて暗号化したものである。最後に認証サーバが、ステップS504でパケット524を受信し、ステップS503で取り出した共通鍵から共通鍵を生成し、結果を復号する。
【0035】
図6は、一次利用鍵管理部404内の処理を示すフローチャートである。処理は、一次利用鍵の登録処理601と取得処理611に分かれる。一次利用鍵は例えばリレーショナルデータベース内に、鍵識別子と共通鍵をカラムに持つテーブルとして保存される。この際、鍵識別子は主キーとして定義されているため、重複した鍵識別子を持つ列を挿入することはできない。
【0036】
先ず、一次利用鍵登録処理601に関し説明する。これは図5のステップ512で呼び出される処理である。一次利用鍵登録処理601は共通鍵を与えられ、これをデータベースの前記テーブルに挿入し、鍵識別子を返すものである。先ず、ステップS602で、乱数を用いるなどして鍵識別子を作成する。次にステップS603で、ステップS602で作成した鍵識別子と与えられた共通鍵とを前記テーブルに挿入する。前述したように鍵識別子の重複は許されないため、作成した鍵識別子が既にテーブル内の存在する場合は、挿入は失敗する。ステップS604でテーブルへの挿入結果を取得し、挿入に失敗した場合は、ステップS602に戻り、別の鍵識別子を作成し再度テーブルへの挿入を試みる。この一連の処理は、テーブルへの挿入が成功するまで繰り返される。テーブルへの挿入が成功した場合は、ステップS605で、テーブルに挿入した鍵識別子を返す。
【0037】
一次利用鍵取得処理611は、一時利用鍵登録処理610で登録した一時鍵をデータベース内のテーブルから取得する処理である。これは図5のステップS514で呼び出される処理であり、鍵識別子を与えられ、鍵識別子に関連付けられた共通鍵を前記テーブルから取得し、これを返すものである。処理は、先ず、ステップS612で前記テーブルから、与えられた鍵識別子を持つ共通鍵を検索する。次にステップS613で検索結果を取得し、取得に失敗した場合は、ステップS614に飛びエラーを呼び出し元に返す。取得に成功した場合は、続くステップS615で、前記テーブルから、与えられた鍵識別子を持つ行を削除する。この処理により、再び同じ鍵識別子を使って、一次利用鍵取得処理611を呼び出したとしても、エラーが返されることになる。最後に、ステップS616で、ステップS612で取得した共通鍵を呼び出し元に返す。
【実施例2】
【0038】
本発明の第2の実施形態は、本発明のユーザ認証方式をネットワーク上に接続された各種デバイスの管理ソフトウェアに応用した例である。大規模なネットワークの場合、一つのデバイス管理ソフトウェアで、ネットワーク内の全てのデバイスを管理することは困難である。このため、複数のデバイス管理ソフトウェアをそれぞれのネットワークに配置し、これらを相互接続することにより、大規模ネットワークでのデバイス管理に対応する。例えば、各デバイス管理ソフトウェア間に階層関係を構築し、下位のデバイス管理ソフトウェアが定期的に各デバイスの状態を監視し、上位のデバイス管理ソフトウェアがその結果を収集する等の処理を行う。このことにより処理の負荷分散や、ネットワークのトラフィックを抑えることが可能となる。この場合、それぞれのネットワークに分散配置されたデバイス管理ソフトウェア間に相互信頼関係を結ぶ必要になる。
【0039】
本実施例では、各デバイス管理ソフトウェアは、それぞれ一組の公開鍵と秘密鍵を所有している。また、各デバイス管理ソフトウェアはそれぞれの公開鍵を交換することにより相互に信頼関係を結ぶことにする。信頼関係を結んだデバイス管理ソフトウェア間の通信は、相手の公開鍵を用いたデータの暗号化と、自身の秘密鍵を用いたデータへの署名により、機密性を確保することが可能となる。
【0040】
図7は、本発明の第2の実施形態に係るユーザ認証方式を実装したデバイス管理ソフトウェアの配置を示す図である。同図において、701及び711はそれぞれ別々のサブネットを持つローカルエリアネットワークであり、各ネットワークはルータ装置710により相互に接続されている。702及び712はそれぞれ、ネットワーク701及び711に接続されたデバイス管理ソフトウェアであり、それぞれのサブネットに接続されたデバイスを管理している。703から706及び713から716は、それぞれのネットワークに接続された、デバイス管理ソフトウェア702及び712の管理対象となるデバイス、例えばプリンタやデジタル複合機である。707はネットワーク管理者の利用するホストコンピュータであり、WEBブラウザを介して、ネットワーク管理ソフトウェア702及び712を操作する。
【0041】
図8は、信頼関係を結んだデバイス管理ソフトウェア同士の通信に使用されるデータの形式を示したものである。同図では、デバイス管理ソフトウェア702からデバイス管理ソフトウェア712に対して、データを送信する様子を示している。702及び712それぞれのデバイス管理ソフトウェア識別子は「A」及び「B」であるとする。
【0042】
図8において、801はデバイス管理ソフトウェア702内に保持されているデバイス管理ソフトウェア自身の秘密鍵と公開鍵の組である。802は、デバイス管理ソフトウェア702と信頼関係を結んでいるデバイス管理ソフトウェアの識別子と公開鍵のリストである。同様に、803はデバイス管理ソフトウェア712内に保持されているデバイス管理ソフトウェア自身の秘密鍵と公開鍵の組である。804は、デバイス管理ソフトウェア712と信頼関係を結んでいるデバイス管理ソフトウェアの識別子と公開鍵のリストである。
【0043】
810はデバイス管理ソフトウェア702からデバイス管理ソフトウェア712に対してネットワーク101を介して送信されるパケットの中身である。
【0044】
パケットの中身は以下のとおりである。811は、送信元のデバイス管理ソフトウェアの識別子、この例の場合は「A」である。812は、送信先の公開鍵、即ち公開鍵Bで暗号化されたデータ暗号用の共通鍵である。813は812の公開鍵でデータを暗号化する際に使用された初期ベクタである。814は、送信元の秘密鍵、即ち秘密鍵Aによる、データの署名である。815は、812の共通鍵と、813の初期ベクタでデータを暗号化したものである。
【0045】
このパケットを受信したデバイス管理ソフトウェア712は、自身の秘密鍵Bで812の共通鍵を復号し、813の初期ベクタを用いて、815のデータを復号する。デバイス管理ソフトウェア712は、811の送信元デバイス管理ソフトウェアの識別子を元に、712の信頼関係の結んだデバイス管理ソフトウェアのリストから、送信元デバイス管理ソフトウェアの公開鍵を取得する。デバイス管理ソフトウェア712は、取得した送信元デバイス管理ソフトウェアの公開鍵Aを使って、前記復号したデータの署名を検証することにより、データがデバイス管理ソフトウェアAからのものであることが保証される。
【0046】
図9は、本発明のユーザ認証方式を用いて、デバイス管理ソフトウェア間に信頼関係を構築する手順を示したフローチャートである。ここでは、デバイス管理ソフトウェア702と712とは、未だ、信頼関係を構築しておらず、この手順により信頼関係を構築するものとする。
【0047】
同図において破線921で囲まれた処理は、第一の実施例の図5に示す認証処理の流れと同じである。ここでは、認証クライアント103がデバイス管理ソフトウェア702に、認証サーバ102がデバイス管理ソフトウェア712にそれぞれ相当する。図5のステップS503で送信される認証情報は、デバイス管理ソフトウェア712の管理者IDとパスワードであり、要求はデバイス管理ソフトウェア712の公開鍵、即ち公開鍵Bの送付である。その部分の処理に関しては、図5と同じであるため詳細は省略する。
【0048】
上記、ユーザ認証と要求の実行により、デバイス管理ソフトウェア702は、ステップS903で、デバイス管理ソフトウェア712の公開鍵Bを受け取る。更に、受信した公開鍵Bを、図8の802の信頼関係を結んでいるデバイス管理ソフトウェアの識別子と公開鍵のリストに仮登録する。その後、ステップS904で、デバイス管理ソフトウェア702は、自身の公開鍵Aをデバイス管理ソフトウェア712に送付し、デバイス管理ソフトウェア712の公開鍵リスト804に登録するよう依頼する。その際、デバイス管理ソフトウェア702からデバイス管理ソフトウェア712送付されるパケット927は、図8の810の形式で暗号化と署名がなされている。従って、パケット927を盗聴したネットワーク101上の第三者が、公開鍵Aを復号することは非常に困難である。デバイス管理ソフトウェア712は、ステップS913で、パケット927を受信し、これを復号し、パケット中に含まれる公開鍵Aを、公開鍵リスト804に登録する。登録が完了すると、その旨をデバイス管理ソフトウェア702に返信する(パケット928)。
【0049】
最後に、デバイス管理ソフトウェア702は、ステップS905にて、ステップS903で仮登録した公開鍵Bを公開鍵リスト802に本登録する。
【0050】
以上の手順で、デバイス管理ソフトウェア702とデバイス管理ソフトウェア712との間に信頼関係が結ばれることになる。
【0051】
この例の場合、デバイス管理ソフトウェア702の操作者はデバイス管理ソフト712の管理者の認証情報を知っていることになる。しかし、デバイス管理ソフトウェア712の操作者はデバイス管理ソフト702の管理者の認証情報を知らない。従って、信頼関係においては、デバイス管理ソフトウェア702が階層構造の上位、デバイス管理ソフトウェア712が下位という関係になる。
【図面の簡単な説明】
【0052】
【図1】本発明の第1の実施形態に係るユーザ認証方式を実装した認証サーバ装置及び認証クライアント装置の配置を示す図である。
【図2】認証サーバ102及び認証クライアント103として動作するホストコンピュータのハードウェア構成を示すブロック図である。
【図3】認証クライアントが動作するデジタル複合機103の構成を示すブロック図である。
【図4】認証サーバ102内のソフトウェアの構成を示すブロック図である。
【図5】認証クライアントと認証サーバの処理の流れを示すフローチャートである。
【図6】一次利用鍵管理部内の処理を示すフローチャートである。
【図7】本発明の第2の実施形態に係るユーザ認証方式を実装したデバイス管理ソフトウェアの配置を示す図である。
【図8】信頼関係を結んだデバイス管理ソフトウェア同士の通信に使用されるデータの形式を示したものである。
【図9】本発明のユーザ認証方式を用いて、デバイス管理ソフトウェア間に信頼関係を構築する手順を示したフローチャートである。
【符号の説明】
【0053】
202、301 CPU
203、303 ROM
204、302 RAM
205、306 システムバス
206 キーボードコントローラ
207 キーボード
208 ビデオコントローラ
209 表示装置
210、304 外部記憶装置コントローラ
211、305 外部記憶装置
212、314 ネットワークインタ−フェイス
307 リーダインターフェイス
308 プリンタインターフェイス
309 操作部インターフェイス
311 リーダ部
312 プリンタ部
313 操作部

【特許請求の範囲】
【請求項1】
ステートレスな通信方式を用いてユーザ認証を行う認証クライアント装置であり、
秘密鍵と公開鍵の鍵ペアを作成する機能と、
認証サーバに対し前記公開鍵を送信し共通鍵を要求する共通鍵要求機能と、
前記認証サーバより受信した共通鍵を用いて、認証情報と要求とを暗号化して認証サーバに送信する認証情報送信機能と
認証サーバからの要求の実行結果を受信する要求受信機能とを備えることを特徴とする認証クライアント装置。
【請求項2】
ステートレスな通信方式としてHTTPを用いることを特徴とする請求項1に記載の認証クライアント装置。
【請求項3】
認証サーバからの実行結果は、共通鍵あるいは共通鍵から生成される共通鍵により暗号化されており、暗号化された実行結果を復号する実行結果復号機能を備えることを特徴とする請求項1又は、請求項2に記載の認証クライアント装置。
【請求項4】
ステートレスな通信方式を用いてユーザ認証を行う認証サーバ装置であり、
認証クライアントからの公開鍵を含む共通鍵要求を受信し要求内の公開鍵を取り出す共通鍵要求受信機能と、
共通鍵を生成する共通化鍵生成機能と、
前記共通鍵要求受信機能により取り出された公開鍵で前記共通鍵を暗号化し前記認証クライアントに送信する共通鍵送信機能と、
前記認証クライアントからの暗号化された認証情報と要求とを受信する認証情報受信機能と、
前記認証情報受信機能により受信されたデータを復号し認証情報と要求とを取り出す認証情報復号機能と、
前記認証情報復号機能により取り出された認証情報を検証する認証情報検証機能と、
前記認証情報検証機能により認証がなされた場合に前期認証情報復号機能により取り出された要求を実行する要求実行機能と、
要求の実行結果を前記認証クライアントに送信する要求実行結果送信機能を備えることを特徴とした認証サーバ装置。
【請求項5】
ステートレスな通信方式としてHTTPを用いることを特徴とする請求項4に記載の認証サーバ装置。
【請求項6】
実行結果を共通鍵あるいは共通鍵から生成される共通鍵により暗号化する実行結果暗号化機能を備えることを特徴とする請求項4又は、請求項5に記載の認証サーバ装置。
【請求項7】
生成された共通鍵は、続く認証情報復号機能にのみ使用され、その後破棄されることを特徴とする請求項4又は、請求項5に記載の認証サーバ装置。
【請求項8】
生成された共通鍵は、続く認証情報復号機能と実行結果暗号化機能でのみ使用され、その後破棄されることを特徴とする請求項6に記載の認証サーバ装置。
【請求項9】
ステートレスな通信方式を用いてユーザ認証を行うユーザ認証方式であり、
認証クライアントは、
秘密鍵と公開鍵の鍵ペアを作成する機能と、
認証サーバに対し前記公開鍵を送信し共通鍵を要求する共通鍵要求機能と、
前記認証サーバより受信した共通鍵を用いて、認証情報や要求を暗号化して認証サーバに送信する認証情報送信機能と
認証サーバからの要求の実行結果を受信する要求受信機能とを備え、
認証サーバは、
前記共通鍵要求を受信し要求内の公開鍵を取り出す共通鍵要求受信機能と、
共通鍵を生成する共通化鍵生成機能と、
前記共通鍵要求受信機能により取り出された公開鍵で前記共通鍵を暗号化し前記認証クライアントに送信する共通鍵送信機能と、
前記認証クライアントが前記認証情報送信機能により送信する暗号化された認証情報や要求を受信する認証情報受信機能と、
前記認証情報受信機能により受信されたデータを復号し認証情報や要求を取り出す認証情報復号機能と、
前記認証情報復号機能により取り出された認証情報を検証する認証情報検証機能と、
前記認証情報検証機能により認証がなされた場合に前期認証情報復号機能により取り出された要求を実行する要求実行機能と、
要求の実行結果を前記認証クライアントに送信する要求実行結果送信機能を備えることを特徴としたユーザ認証方式。
【請求項10】
ステートレスな通信方式としてHTTPを用いることを特徴とする請求項9に記載のユーザ認証方式。
【請求項11】
認証サーバは、実行結果を共通鍵あるいは共通鍵から生成される共通鍵により暗号化する実行結果暗号化機能を備え、
認証クライアントは、前記暗号化された実行結果を復号する実行結果復号機能を備えることを特徴とする、請求項9又は、請求項10に記載のユーザ認証方式。

【図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


【公開番号】特開2009−100195(P2009−100195A)
【公開日】平成21年5月7日(2009.5.7)
【国際特許分類】
【出願番号】特願2007−269134(P2007−269134)
【出願日】平成19年10月16日(2007.10.16)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】