(57)【要約】【課題】  ステートレスな通信プロトコル上で、安全なユーザ認証方式を、第三者に拠らずに実現する。【解決手段】  クライアントは、公開鍵と秘密鍵の組を作成し、公開鍵を送信し、公開鍵で暗号化された共通鍵を受信し、受信した共通鍵を用いて認証情報を送信する。  サーバは、公開鍵を受信し、共通鍵を作成しこれを公開鍵で暗号化して送信する機能と、共通鍵で暗号化された認証情報を受信し、認証情報を復号し、認証処理を行う。【選択図】  図１
2009100195.tif 000002
【特許請求の範囲】
【請求項１】
ステートレスな通信方式を用いてユーザ認証を行う認証クライアント装置であり、
秘密鍵と公開鍵の鍵ペアを作成する機能と、
認証サーバに対し前記公開鍵を送信し共通鍵を要求する共通鍵要求機能と、
前記認証サーバより受信した共通鍵を用いて、認証情報と要求とを暗号化して認証サーバに送信する認証情報送信機能と
認証サーバからの要求の実行結果を受信する要求受信機能とを備えることを特徴とする認証クライアント装置。
【請求項２】
ステートレスな通信方式としてＨＴＴＰを用いることを特徴とする請求項１に記載の認証クライアント装置。
【請求項３】
認証サーバからの実行結果は、共通鍵あるいは共通鍵から生成される共通鍵により暗号化されており、暗号化された実行結果を復号する実行結果復号機能を備えることを特徴とする請求項１又は、請求項２に記載の認証クライアント装置。
【請求項４】
ステートレスな通信方式を用いてユーザ認証を行う認証サーバ装置であり、
認証クライアントからの公開鍵を含む共通鍵要求を受信し要求内の公開鍵を取り出す共通鍵要求受信機能と、
共通鍵を生成する共通化鍵生成機能と、
前記共通鍵要求受信機能により取り出された公開鍵で前記共通鍵を暗号化し前記認証クライアントに送信する共通鍵送信機能と、
前記認証クライアントからの暗号化された認証情報と要求とを受信する認証情報受信機能と、
前記認証情報受信機能により受信されたデータを復号し認証情報と要求とを取り出す認証情報復号機能と、
前記認証情報復号機能により取り出された認証情報を検証する認証情報検証機能と、
前記認証情報検証機能により認証がなされた場合に前期認証情報復号機能により取り出された要求を実行する要求実行機能と、
要求の実行結果を前記認証クライアントに送信する要求実行結果送信機能を備えることを特徴とした認証サーバ装置。
【請求項５】
ステートレスな通信方式としてＨＴＴＰを用いることを特徴とする請求項４に記載の認証サーバ装置。
【請求項６】
実行結果を共通鍵あるいは共通鍵から生成される共通鍵により暗号化する実行結果暗号化機能を備えることを特徴とする請求項４又は、請求項５に記載の認証サーバ装置。
【請求項７】
生成された共通鍵は、続く認証情報復号機能にのみ使用され、その後破棄されることを特徴とする請求項４又は、請求項５に記載の認証サーバ装置。
【請求項８】
生成された共通鍵は、続く認証情報復号機能と実行結果暗号化機能でのみ使用され、その後破棄されることを特徴とする請求項６に記載の認証サーバ装置。
【請求項９】
ステートレスな通信方式を用いてユーザ認証を行うユーザ認証方式であり、
認証クライアントは、
秘密鍵と公開鍵の鍵ペアを作成する機能と、
認証サーバに対し前記公開鍵を送信し共通鍵を要求する共通鍵要求機能と、
前記認証サーバより受信した共通鍵を用いて、認証情報や要求を暗号化して認証サーバに送信する認証情報送信機能と
認証サーバからの要求の実行結果を受信する要求受信機能とを備え、
認証サーバは、
前記共通鍵要求を受信し要求内の公開鍵を取り出す共通鍵要求受信機能と、
共通鍵を生成する共通化鍵生成機能と、
前記共通鍵要求受信機能により取り出された公開鍵で前記共通鍵を暗号化し前記認証クライアントに送信する共通鍵送信機能と、
前記認証クライアントが前記認証情報送信機能により送信する暗号化された認証情報や要求を受信する認証情報受信機能と、
前記認証情報受信機能により受信されたデータを復号し認証情報や要求を取り出す認証情報復号機能と、
前記認証情報復号機能により取り出された認証情報を検証する認証情報検証機能と、
前記認証情報検証機能により認証がなされた場合に前期認証情報復号機能により取り出された要求を実行する要求実行機能と、
要求の実行結果を前記認証クライアントに送信する要求実行結果送信機能を備えることを特徴としたユーザ認証方式。
【請求項１０】
ステートレスな通信方式としてＨＴＴＰを用いることを特徴とする請求項９に記載のユーザ認証方式。
【請求項１１】
認証サーバは、実行結果を共通鍵あるいは共通鍵から生成される共通鍵により暗号化する実行結果暗号化機能を備え、
認証クライアントは、前記暗号化された実行結果を復号する実行結果復号機能を備えることを特徴とする、請求項９又は、請求項１０に記載のユーザ認証方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステートレスな通信方式を用いてユーザ認証を行う認証クライアント装置、認証サーバ装置、ユーザ認証方式に関するものである。
【背景技術】
【０００２】
ＨＴＴＰに代表されるステートレスな通信方式を用いてユーザ認証を行う従来技術としては、ベーシック認証やダイジェスト認証（例えば、非特許文献１参照）があげられる。更に、通信系路上で認証情報を保護するために、ベーシック認証にＳＳＬやＴＬＳ等の経路の暗号化処理を追加する場合もある（例えば、非特許文献２参照）。
【０００３】
ＷＥＢサービスを利用したユーザ認証に関しては、専用サーバを用いる方式（例えば、特許文献１参照）が考案されている。或いは、ＰＫＩを基盤とした認証が利用されている。
【特許文献１】特開２００５−１８７４８号公報
【非特許文献１】ＲＦＣ２６１７（ＨＴＴＰ Ａｕｔｈｅｎｔｉｃａｔｉｏｎ：Ｂａｓｉｃ ａｎｄ Ｄｉｇｅｓｔ Ａｃｃｅｓｓ Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  −−  ＨＴＴＰ／１．１）
【非特許文献２】ＲＦＣ４３４６（Ｔｈｅ ＴＬＳ Ｐｒｏｔｏｃｏｋ，Ｖｅｒｓｉｏｎ １．１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の技術では、次のような良くない点があった。
【０００５】
ベーシック認証を使用した場合、通信経路上をユーザ名やパスワードといった機密情報が平文で流れるため、経路上の第三者にこれら機密情報を盗聴される可能性がある。
【０００６】
ＳＳＬやＴＬＳ等の経路の暗号化を利用する場合、認証サーバにセキュリティ証明書を導入する必要がある。更に、信用の置けるセキュリティ証明書は、証明書の発行機関に発行を依頼する必要があり、ＳＳＬやＴＬＳ導入の障壁となっている。
【０００７】
ＰＫＩを基盤とする認証技術に関しても、認証サーバが証明書を持っている必要があり、ＳＳＬやＴＬＳと同様の問題がある。
【０００８】
特許文献１に記載の従来技術では、別途、ＷＥＢサービス認証用のサーバを導入する必要があり、ユーザの負担となる。更に、サーバ、クライアント共に、相互接続に加え、この認証用サーバに接続する必要があり、プログラム構成が煩雑になるとう問題もある。
【課題を解決するための手段】
【０００９】
上述した課題を解決するために、本発明における認証クライアント装置は、秘密鍵と公開鍵の鍵ペアを作成する機能と、認証サーバに対し前記公開鍵を送信し共通鍵を要求する共通鍵要求機能と、前記認証サーバより受信した共通鍵を用いて、認証情報と要求とを暗号化して認証サーバに送信する認証情報送信機能と認証サーバからの要求の実行結果を受信する要求受信機能とを備える。更に、本発明における認証サーバ装置は、認証クライアントからの公開鍵を含む共通鍵要求を受信し要求内の公開鍵を取り出す共通鍵要求受信機能と、共通鍵を生成する共通化鍵生成機能と、前記共通鍵要求受信機能により取り出された公開鍵で前記共通鍵を暗号化し前記認証クライアントに送信する共通鍵送信機能と、前記認証クライアントからの暗号化された認証情報と要求とを受信する認証情報受信機能と、前記認証情報受信機能により受信されたデータを復号し認証情報と要求とを取り出す認証情報復号機能と、前記認証情報復号機能により取り出された認証情報を検証する認証情報検証機能と、前記認証情報検証機能により認証がなされた場合に前期認証情報復号機能により取り出された要求を実行する要求実行機能と、要求の実行結果を前記認証クライアントに送信する要求実行結果送信機能を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によって、セキュリティ証明書や認証専用サーバを使用することなく、ステートレスな通信方式を用いたユーザ認証が可能となり、ユーザの利便性を向上させることができる。更に、通信経路上の認証情報を暗号化することが可能となり、通信系路上の認証情報の秘匿性を増すことができる。
【発明を実施するための最良の形態】
【００１１】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例１】
【００１２】
図１は、本発明の第１の実施形態に係るユーザ認証方式を実装した認証サーバ装置及び認証クライアント装置の配置を示す図である。図において、１０１はローカルエリアネットワーク（ＬＡＮ）であり、各装置はＬＡＮに接続されている。１０２は認証サーバ装置であり、認証クライアントからの要求に応じてユーザ認証を行い要求された処理を実行するプログラムが動作する。１０３及び１０４は認証クライアント装置であり、認証サーバ１０２に対して認証情報を送信し処理の実行を依頼し、結果を受信する。１０３はＰＣであり、本発明の認証クライアント処理を実装したプログラムが１０３内のオペレーティングシステム上で動作する。１０４は例えば、デジタル複合機である。近年、デジタル複合機はネットワークに接続され、ネットワーク上の各種サーバに対して処理を依頼する機能を搭載するものが増えている。また、デジタル複合機に専用のアプリケーションを追加可能な機能を設けたものも出荷されており、このアプリケーションが認証クライアント機能を実装する場合もある。
【００１３】
図２は、認証サーバ１０２及び認証クライアント１０３として動作するホストコンピュータのハードウェア構成を示すブロック図である。
【００１４】
同図において、ホストコンピュータ２０１は、ＣＰＵ２０２、ＲＡＭ２０３、ＲＯＭ２０４、外部記憶装置２１１を備える。ＣＰＵ２０２は、こうしたＲＯＭ２０４または外部記憶装置２１１に記憶されたソフトウェアを実行し、システムバス２０５に接続された各デバイスを総括的に制御する。ＲＡＭ２０３は、ＣＰＵ２０２の主メモリあるいはワークエリアなどとして機能する。外部記憶装置２１１は、ハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）等からなる。外部記憶装置２１１は、ブートプログラム、オペレーティングシステム、認証サーバ、認証クライアントを含む各種のアプリケーション、データベースデータ、フォントデータ、ユーザファイル等を記憶する。
【００１５】
さらにホストコンピュータ２０１において、２０６はキーボードコントローラ（ＫＢＤＣ）であり、キーボード（ＫＢＤ）２０７や図示しないポインティングデバイスからの入力情報をＣＰＵ２０２に送る。２０８はビデオコントローラ（ＶＣ）であり、ＣＲＴやＬＤＣ等からなる表示装置２０９の表示を制御する。２１０はディスクコントローラ（ＤＫＣ）であり、外部記憶装置２１１とのアクセスを制御する。２１２は通信コントローラ（ＣＯＭＭ Ｉ／Ｆ）であり、これを介してネットワーク１０１に接続される。
【００１６】
図３は、認証クライアントが動作するデジタル複合機１０３の構成を示すブロック図である。
【００１７】
ＣＰＵ３０１はＲＯＭ３０２もしくはハードディスク（ＨＤＤ）３０５に記憶されたデジタル複合機１０３全体の制御を行うソフトウェアを実行し、システムバス３０６に接続する各デバイスを統括的に制御する。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリア等として機能する。ＨＤＣ３０４はＨＤＤ３０５を制御するハードディスクコントローラである。リーダＩ／Ｆ３０７及びプリンタＩ／Ｆ３０８は、それぞれリーダ部３１１及びプリンタ部３１２に接続され、これらデバイスを制御する。操作部Ｉ／Ｆ３０９は操作部３１３に接続され、操作部３１３への表示や、操作部３１３からのユーザ入力を制御する。３１３は操作部であり、操作のためのスイッチ及び表示部等より構成される。３１４はネットワークインターフェイスカード（ＮＩＣ）で、ネットワーク１０１を介してホストコンピュータとデータのやりとりをする。
【００１８】
ここで、図中破線で囲まれた部分を全体制御部３１０と呼ぶことにする。全体制御部３１０は、デジタル複合機１０３に接続された各種装置及びインターフェイスを制御すると共に、デジタル複合機全体の動作を制御する部分である。
【００１９】
リーダ部３１１は原稿の画像を読み取り、ユーザからの指示により、その原稿画像に応じた画像データを、プリンタ部３１２に出力したり、デジタル複合機１０３内部の記憶装置に保存する。更に、ネットワークＩ／Ｆ３１４を介してネットワーク１０１に接続されたホストコンピュータに画像データを送信したりする。
【００２０】
プリンタ部３１２は、リーダ部３１１により読み取られた原稿や、デジタル複合機本体内の記憶装置３０５に格納された画像データを印刷する。さらに、ネットワーク１０１に接続されたホストコンピュータからの印刷データを、ネットワークＩ／Ｆ部３１４を介して受信し印刷する。
【００２１】
ネットワークＩ／Ｆ部３１４は、ネットワーク１０１に接続され、全体制御部３１０が、ネットワーク１０１上の他の情報機器、例えばホストコンピュータや認証サーバ１０２と相互通信するために用いられる。
【００２２】
操作部３１３は、ボタン及び表示装置、或いは、タッチパネル入力付き液晶表示画面、或いはその組み合わせにより、全体制御部３１０からのユーザへの情報表示や、ユーザの入力を全体制御部３１０へと通知する。
【００２３】
図４は、認証サーバ１０２内のソフトウェアの構成を示すブロック図である。同図ではオペレーティングシステムは省略されているが、図内の各ブロックはオペレーティングシステム上で動作している。
【００２４】
同図において、４０１は認証サーバの機能を実装したプログラムである。プログラム４０１は、ＷＥＢサービスサーバ制御部により制御される。４０７は通信制御部であり、プログラムがネットワーク１０１にデータを送信したり、ネットワーク１０１からの特定のデータをプログラムに渡したりといった処理を行う。例えば、認証クライアント１０３または１０４から送信された要求は、通信処理部４０７を介して、ＷＥＢサービスサーバ制御部４０２に渡され処理される。処理結果は、逆に、通信制御部４０７及びネットワーク１０１を介して、認証クライアント１０３または１０４に返信される。
【００２５】
４０３はユーザの認証処理等を行うユーザ情報管理部であり、４０４は一次利用の共通鍵の管理を行う一次利用鍵管理部である。４０６はデータベースであり、ユーザ認証情報や一次利用鍵が保管され、ユーザ情報管理部４０３および一次利用鍵管理部４０４から利用される。ユーザ情報管理部４０３は、指定された認証情報の有効性や、与えられた要求を実行する権限を与えられたユーザが持つかどうかの検査を、データベース４０５に問い合わせることにより実施する。一時利用鍵管理部４０４は、一次利用の共通鍵の管理を受け持つモジュールである。４０５は要求実行部であり、認証クライアントから要求された処理の実行を行う。
【００２６】
図５は、認証クライアントと認証サーバの処理の流れを示すフローチャートである。同図は縦方向に三分割されている。左端は認証クライアント１０３内部での処理を示し、右端は認証サーバ１０２内部での処理を示す。中央部はネットワーク１０１上を流れるパケットの中身を示す。通信はステートレスであるため、一回の送受信によりコネクションは切断される。このことを示すために、各コネクションを破線で囲ってある。同図の場合、ステップＳ５０１からステップＳ５０２までの通信と、ステップＳ５０３からステップＳ５０４までの通信は独立したコネクションである。
【００２７】
以下、同図に従って処理の流れを説明する。
【００２８】
ユーザ認証処理は、認証クライアントが認証サーバに対して、公開鍵を送付し暗号化用の共通鍵を要求するところから始まる。先ず、ステップＳ５０１で認証クライアント１０３は、公開鍵と秘密鍵の鍵ペアを作成し、認証サーバとの間にコネクションを作成し、作成した公開鍵を認証サーバに送付し暗号化用の共通鍵を要求する。５２１は、認証クライアント１０３から認証サーバ１０２に送信されるステップＳ５０１で作成された公開鍵を含む共通鍵要求パケットである。
【００２９】
認証サーバ１０２は、ステップＳ５１１にて、共通鍵要求パケット５２１を受信する。続くステップＳ５１２にて、暗号化用の共通鍵と共通鍵を一意の識別するための識別子を作成し、これらをデータベース４０５内の一時鍵保管用のテーブルに保存する。鍵識別子は、共通鍵の保管時にデータベースに自動生成させることも考えられるが、その場合、連番となる場合が多いため、乱数を元に識別子を生成することを考える。データベース４０５への保管時に、作成した識別子が既に登録済みの場合は、再度識別子の作成と鍵の保管を試みる。最後に、認証サーバ１０２はステップＳ５１３にて、作成した共通鍵と鍵識別子をステップＳ５１１で受信した公開鍵で暗号化して、認証クライアント１０３に返信する。５２２は、認証サーバ１０２から認証クライアント１０３に返信されるステップＳ５１３で作成された共通鍵と鍵識別子を含むパケットである。このパケット５２２は、ネットワーク１０１上の第三者に盗聴された場合でも、復号のためにはステップＳ５０１で作成した秘密鍵が必要であり、第三者に共通鍵が漏洩することは無い。
【００３０】
認証クライアントは、ステップＳ５０２でパケット５２２を受信し、ステップＳ５０１で作成した秘密鍵でこれを復号し、認証サーバ１０２がステップＳ５１２で作成した共通鍵と鍵識別子を取り出す。パケット５２２の復号が就労した時点で、ステップＳ５０１で作成した公開鍵と秘密鍵の組は不要となるため削除される。ここまでが、認証クライアントと認証サーバとの間の１つのコネクションで処理される。
【００３１】
ここまでで、認証クライアントが認証サーバに対して、認証情報と要求を安全に送付する準備が整ったことになる。認証クライアント１０３はステップＳ５０３にて、ステップＳ５０２で受信した共通鍵を用いて認証情報と要求を暗号化し、同じくステップＳ５０２で受信した鍵識別子と共に、認証サーバ１０２に送付する。認証クライアント１０３は、予めユーザが入力した認証情報を、ＲＡＭ２０３や外部記憶装置２１０等の記憶装置上に保持し、これを使用する。５２３は、認証クライアント１０３がステップＳ５０３で作成した、認証情報と要求を共通鍵で暗号化し、これに鍵識別子を付加したパケットである。パケット５２２に含まれる共通鍵がネットワーク１０１上の第三者から秘匿されているため、パケット５２３内のデータも同様に、ネットワーク１０１上の第三者からは秘匿されることになる。
【００３２】
認証サーバ１０２は、ステップＳ５１４で認証クライアント１０３からのパケット５２３を受信し鍵識別子を取り出し、データベース４０５内の一時鍵保管用のテーブルにから取り出した鍵識別子を持つ共通鍵を検索する。次に、ステップＳ５１５で、データベース４０５から取り出した共通鍵を用いてパケット５２３内の認証情報と要求を復号する。これで、認証情報と実行すべき要求の取り出しに成功した。
【００３３】
続いて、ステップＳ５１６で取り出した認証情報の有効性を調べ、認証情報が無効の場合、要求を処理することなく結果を認証クライアントに返す。ステップＳ５１６で認証情報が有効であった場合、更にステップＳ５１７にて、与えられたユーザが与えられた要求を実行する権限を有するか否かの検査を行う。ユーザが要求を実行する権限を持たない場合は、要求を処理することなく結果を認証クライアントに返す。
【００３４】
ここまでの処理で、認証クライアントから送付された認証情報と要求の有効性が確認されたため、後は、ステップＳ５１８にて、認証クライアント１０３から指示された要求を処理し、ステップＳ５１９で処理結果を認証クライアント１０３に返信する。処理結果の返信に際して、結果は、ステップＳ５１２で作成した共通鍵から生成される共通鍵を用いて暗号化される。パケット５２４は、結果を共通鍵から生成した共通鍵を用いて暗号化したものである。最後に認証サーバが、ステップＳ５０４でパケット５２４を受信し、ステップＳ５０３で取り出した共通鍵から共通鍵を生成し、結果を復号する。
【００３５】
図６は、一次利用鍵管理部４０４内の処理を示すフローチャートである。処理は、一次利用鍵の登録処理６０１と取得処理６１１に分かれる。一次利用鍵は例えばリレーショナルデータベース内に、鍵識別子と共通鍵をカラムに持つテーブルとして保存される。この際、鍵識別子は主キーとして定義されているため、重複した鍵識別子を持つ列を挿入することはできない。
【００３６】
先ず、一次利用鍵登録処理６０１に関し説明する。これは図５のステップ５１２で呼び出される処理である。一次利用鍵登録処理６０１は共通鍵を与えられ、これをデータベースの前記テーブルに挿入し、鍵識別子を返すものである。先ず、ステップＳ６０２で、乱数を用いるなどして鍵識別子を作成する。次にステップＳ６０３で、ステップＳ６０２で作成した鍵識別子と与えられた共通鍵とを前記テーブルに挿入する。前述したように鍵識別子の重複は許されないため、作成した鍵識別子が既にテーブル内の存在する場合は、挿入は失敗する。ステップＳ６０４でテーブルへの挿入結果を取得し、挿入に失敗した場合は、ステップＳ６０２に戻り、別の鍵識別子を作成し再度テーブルへの挿入を試みる。この一連の処理は、テーブルへの挿入が成功するまで繰り返される。テーブルへの挿入が成功した場合は、ステップＳ６０５で、テーブルに挿入した鍵識別子を返す。
【００３７】
一次利用鍵取得処理６１１は、一時利用鍵登録処理６１０で登録した一時鍵をデータベース内のテーブルから取得する処理である。これは図５のステップＳ５１４で呼び出される処理であり、鍵識別子を与えられ、鍵識別子に関連付けられた共通鍵を前記テーブルから取得し、これを返すものである。処理は、先ず、ステップＳ６１２で前記テーブルから、与えられた鍵識別子を持つ共通鍵を検索する。次にステップＳ６１３で検索結果を取得し、取得に失敗した場合は、ステップＳ６１４に飛びエラーを呼び出し元に返す。取得に成功した場合は、続くステップＳ６１５で、前記テーブルから、与えられた鍵識別子を持つ行を削除する。この処理により、再び同じ鍵識別子を使って、一次利用鍵取得処理６１１を呼び出したとしても、エラーが返されることになる。最後に、ステップＳ６１６で、ステップＳ６１２で取得した共通鍵を呼び出し元に返す。
【実施例２】
【００３８】
本発明の第２の実施形態は、本発明のユーザ認証方式をネットワーク上に接続された各種デバイスの管理ソフトウェアに応用した例である。大規模なネットワークの場合、一つのデバイス管理ソフトウェアで、ネットワーク内の全てのデバイスを管理することは困難である。このため、複数のデバイス管理ソフトウェアをそれぞれのネットワークに配置し、これらを相互接続することにより、大規模ネットワークでのデバイス管理に対応する。例えば、各デバイス管理ソフトウェア間に階層関係を構築し、下位のデバイス管理ソフトウェアが定期的に各デバイスの状態を監視し、上位のデバイス管理ソフトウェアがその結果を収集する等の処理を行う。このことにより処理の負荷分散や、ネットワークのトラフィックを抑えることが可能となる。この場合、それぞれのネットワークに分散配置されたデバイス管理ソフトウェア間に相互信頼関係を結ぶ必要になる。
【００３９】
本実施例では、各デバイス管理ソフトウェアは、それぞれ一組の公開鍵と秘密鍵を所有している。また、各デバイス管理ソフトウェアはそれぞれの公開鍵を交換することにより相互に信頼関係を結ぶことにする。信頼関係を結んだデバイス管理ソフトウェア間の通信は、相手の公開鍵を用いたデータの暗号化と、自身の秘密鍵を用いたデータへの署名により、機密性を確保することが可能となる。
【００４０】
図７は、本発明の第２の実施形態に係るユーザ認証方式を実装したデバイス管理ソフトウェアの配置を示す図である。同図において、７０１及び７１１はそれぞれ別々のサブネットを持つローカルエリアネットワークであり、各ネットワークはルータ装置７１０により相互に接続されている。７０２及び７１２はそれぞれ、ネットワーク７０１及び７１１に接続されたデバイス管理ソフトウェアであり、それぞれのサブネットに接続されたデバイスを管理している。７０３から７０６及び７１３から７１６は、それぞれのネットワークに接続された、デバイス管理ソフトウェア７０２及び７１２の管理対象となるデバイス、例えばプリンタやデジタル複合機である。７０７はネットワーク管理者の利用するホストコンピュータであり、ＷＥＢブラウザを介して、ネットワーク管理ソフトウェア７０２及び７１２を操作する。
【００４１】
図８は、信頼関係を結んだデバイス管理ソフトウェア同士の通信に使用されるデータの形式を示したものである。同図では、デバイス管理ソフトウェア７０２からデバイス管理ソフトウェア７１２に対して、データを送信する様子を示している。７０２及び７１２それぞれのデバイス管理ソフトウェア識別子は「Ａ」及び「Ｂ」であるとする。
【００４２】
図８において、８０１はデバイス管理ソフトウェア７０２内に保持されているデバイス管理ソフトウェア自身の秘密鍵と公開鍵の組である。８０２は、デバイス管理ソフトウェア７０２と信頼関係を結んでいるデバイス管理ソフトウェアの識別子と公開鍵のリストである。同様に、８０３はデバイス管理ソフトウェア７１２内に保持されているデバイス管理ソフトウェア自身の秘密鍵と公開鍵の組である。８０４は、デバイス管理ソフトウェア７１２と信頼関係を結んでいるデバイス管理ソフトウェアの識別子と公開鍵のリストである。
【００４３】
８１０はデバイス管理ソフトウェア７０２からデバイス管理ソフトウェア７１２に対してネットワーク１０１を介して送信されるパケットの中身である。
【００４４】
パケットの中身は以下のとおりである。８１１は、送信元のデバイス管理ソフトウェアの識別子、この例の場合は「Ａ」である。８１２は、送信先の公開鍵、即ち公開鍵Ｂで暗号化されたデータ暗号用の共通鍵である。８１３は８１２の公開鍵でデータを暗号化する際に使用された初期ベクタである。８１４は、送信元の秘密鍵、即ち秘密鍵Ａによる、データの署名である。８１５は、８１２の共通鍵と、８１３の初期ベクタでデータを暗号化したものである。
【００４５】
このパケットを受信したデバイス管理ソフトウェア７１２は、自身の秘密鍵Ｂで８１２の共通鍵を復号し、８１３の初期ベクタを用いて、８１５のデータを復号する。デバイス管理ソフトウェア７１２は、８１１の送信元デバイス管理ソフトウェアの識別子を元に、７１２の信頼関係の結んだデバイス管理ソフトウェアのリストから、送信元デバイス管理ソフトウェアの公開鍵を取得する。デバイス管理ソフトウェア７１２は、取得した送信元デバイス管理ソフトウェアの公開鍵Ａを使って、前記復号したデータの署名を検証することにより、データがデバイス管理ソフトウェアＡからのものであることが保証される。
【００４６】
図９は、本発明のユーザ認証方式を用いて、デバイス管理ソフトウェア間に信頼関係を構築する手順を示したフローチャートである。ここでは、デバイス管理ソフトウェア７０２と７１２とは、未だ、信頼関係を構築しておらず、この手順により信頼関係を構築するものとする。
【００４７】
同図において破線９２１で囲まれた処理は、第一の実施例の図５に示す認証処理の流れと同じである。ここでは、認証クライアント１０３がデバイス管理ソフトウェア７０２に、認証サーバ１０２がデバイス管理ソフトウェア７１２にそれぞれ相当する。図５のステップＳ５０３で送信される認証情報は、デバイス管理ソフトウェア７１２の管理者ＩＤとパスワードであり、要求はデバイス管理ソフトウェア７１２の公開鍵、即ち公開鍵Ｂの送付である。その部分の処理に関しては、図５と同じであるため詳細は省略する。
【００４８】
上記、ユーザ認証と要求の実行により、デバイス管理ソフトウェア７０２は、ステップＳ９０３で、デバイス管理ソフトウェア７１２の公開鍵Ｂを受け取る。更に、受信した公開鍵Ｂを、図８の８０２の信頼関係を結んでいるデバイス管理ソフトウェアの識別子と公開鍵のリストに仮登録する。その後、ステップＳ９０４で、デバイス管理ソフトウェア７０２は、自身の公開鍵Ａをデバイス管理ソフトウェア７１２に送付し、デバイス管理ソフトウェア７１２の公開鍵リスト８０４に登録するよう依頼する。その際、デバイス管理ソフトウェア７０２からデバイス管理ソフトウェア７１２送付されるパケット９２７は、図８の８１０の形式で暗号化と署名がなされている。従って、パケット９２７を盗聴したネットワーク１０１上の第三者が、公開鍵Ａを復号することは非常に困難である。デバイス管理ソフトウェア７１２は、ステップＳ９１３で、パケット９２７を受信し、これを復号し、パケット中に含まれる公開鍵Ａを、公開鍵リスト８０４に登録する。登録が完了すると、その旨をデバイス管理ソフトウェア７０２に返信する（パケット９２８）。
【００４９】
最後に、デバイス管理ソフトウェア７０２は、ステップＳ９０５にて、ステップＳ９０３で仮登録した公開鍵Ｂを公開鍵リスト８０２に本登録する。
【００５０】
以上の手順で、デバイス管理ソフトウェア７０２とデバイス管理ソフトウェア７１２との間に信頼関係が結ばれることになる。
【００５１】
この例の場合、デバイス管理ソフトウェア７０２の操作者はデバイス管理ソフト７１２の管理者の認証情報を知っていることになる。しかし、デバイス管理ソフトウェア７１２の操作者はデバイス管理ソフト７０２の管理者の認証情報を知らない。従って、信頼関係においては、デバイス管理ソフトウェア７０２が階層構造の上位、デバイス管理ソフトウェア７１２が下位という関係になる。
【図面の簡単な説明】
【００５２】
【図１】本発明の第１の実施形態に係るユーザ認証方式を実装した認証サーバ装置及び認証クライアント装置の配置を示す図である。
【図２】認証サーバ１０２及び認証クライアント１０３として動作するホストコンピュータのハードウェア構成を示すブロック図である。
【図３】認証クライアントが動作するデジタル複合機１０３の構成を示すブロック図である。
【図４】認証サーバ１０２内のソフトウェアの構成を示すブロック図である。
【図５】認証クライアントと認証サーバの処理の流れを示すフローチャートである。
【図６】一次利用鍵管理部内の処理を示すフローチャートである。
【図７】本発明の第２の実施形態に係るユーザ認証方式を実装したデバイス管理ソフトウェアの配置を示す図である。
【図８】信頼関係を結んだデバイス管理ソフトウェア同士の通信に使用されるデータの形式を示したものである。
【図９】本発明のユーザ認証方式を用いて、デバイス管理ソフトウェア間に信頼関係を構築する手順を示したフローチャートである。
【符号の説明】
【００５３】
２０２、３０１  ＣＰＵ
２０３、３０３  ＲＯＭ
２０４、３０２  ＲＡＭ
２０５、３０６  システムバス
２０６  キーボードコントローラ
２０７  キーボード
２０８  ビデオコントローラ
２０９  表示装置
２１０、３０４  外部記憶装置コントローラ
２１１、３０５  外部記憶装置
２１２、３１４  ネットワークインタ−フェイス
３０７  リーダインターフェイス
３０８  プリンタインターフェイス
３０９  操作部インターフェイス
３１１  リーダ部
３１２  プリンタ部
３１３  操作部
【図１】
2009100195.tif 000003
【図２】
2009100195.tif 000004
【図３】
2009100195.tif 000005
【図４】
2009100195.tif 000006
【図５】
2009100195.tif 000007
【図６】
2009100195.tif 000008
【図７】
2009100195.tif 000009
【図８】
2009100195.tif 000010
【図９】
2009100195.tif 000011