(57)【要約】【課題】可能な限り安全性の高い通信プロトコルを使用しつつ、通信の継続も確保する。【解決手段】クライアントからサーバに対し通信を開始する際に、第１のプロトコルを用いたポートを使用して、該クライアントが備える電子証明書に署名を施した認証機関の情報を送信する。サーバは、受信した認証機関の情報に基づいて、認証機関の電子証明書を自己の記憶装置内から検索し、電子証明書があった場合には、サーバは、クライアントに対し第１のプロトコルより安全性の高い第２のプロトコルを用いたポートへリダイレクトする指示を送信する。クライアントは、この指示に従って第２のプロトコルを用いたポートへリダイレクトを行って通信を確立し、当該電子証明書がなかった場合には、サーバは、第１のプロトコルを用いたポートを使用してクライアントの間で通信を行う。【選択図】図７
2008090458.tif 000002
【特許請求の範囲】
【請求項１】
クライアントとサーバの間でセキュリティ性の高い通信を確立する通信方法であって、
前記クライアントは、前記サーバに対し通信を行う際に、第１のプロトコルが利用するポートへ第１のプロトコルを用いて、当該クライアントが備える第１の電子証明書に係る情報を送信し、
前記サーバは、前記クライアントと前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて通信可能か否か判断するため、前記クライアントから受信した前記第１の電子証明書に係る情報と当該サーバが備える第２の電子証明書に係る情報とを比較し、
前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報であった場合、前記サーバは、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてのリダイレクトをすべき旨の指示を送信し、
前記クライアントは、この指示に従って前記第２のプロトコルを用いて通信を確立し、
前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報でなかった場合、前記サーバは、前記第１のプロトコルを用いて前記クライアントの間で通信を行うことを特徴とする通信方法。
【請求項２】
前記サーバは、前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報でなかった場合には、前記クライアントからの要求がパスワードの登録または変更であるか否か判断し、
パスワードの登録または変更であった場合は、前記クライアントとの通信を切断し、
パスワードの登録または変更でなかった場合は、前記第１のプロトコルを用いたポートへ第１のプロトコルを用いて前記クライアントとの通信を継続することを特徴とする請求項１に記載の通信方法。
【請求項３】
クライアントとサーバの間でセキュリティ性の高い通信を確立する通信システムであって、
前記クライアントは、
前記サーバに対し通信を行う際に、第１のプロトコルが利用するポートへ第１のプロトコルを用いて、当該クライアントが備える第１の電子証明書に係る情報を送信する手段と、
前記サーバからリダイレクトの指示があった場合には、前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバと通信を確立し、リダイレクトの指示が無かった場合には、前記第１のプロトコルが利用するポートへ第１のプロトコルを用いて通信を続ける手段とを備え、
前記サーバは、
前記クライアントと前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートで通信可能か否か判断するため、前記クライアントから受信した前記第１の電子証明書に係る情報と当該サーバが備える前記第２の電子証明書に係る情報とを比較する手段と、
前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報であった場合、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてのリダイレクトをすべき旨の指示を送信する手段と、
前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報でなかった場合、前記第１のプロトコルを用いて前記クライアントの間で通信を行う手段とを備えたことを特徴とする通信システム。
【請求項４】
前記サーバは、前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報でなかった場合には、前記クライアントからの要求がパスワードの登録または変更であるか否か判断する手段と、
パスワードの登録または変更であった場合は、前記クライアントとの通信を切断し、パスワードの登録または変更でなかった場合は、前記第１のプロトコルを用いたポートへ第１のプロトコルを用いて前記クライアントとの通信を継続する手段と、
を備えることを特徴とする請求項３に記載の通信システム。
【請求項５】
クライアントとの間でセキュリティ性の高い通信を確立するサーバであって、
前記クライアントから第１のプロトコルが利用するポートへ第１のプロトコルによる通信の要求を受けた場合に、受信した情報からクライアントが備える第１の電子証明書に係る情報を検出し、前記クライアントと前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートで通信可能か否か判断するため、前記第１の電子証明書に係る情報と当該サーバが備える前記第２の電子証明書に係る情報とを比較する手段と、
前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報であった場合には、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてのリダイレクトをすべき旨の指示を送信し、前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報でなかった場合には、前記第１のプロトコルを用いて前記クライアントの間で通信を行う手段とを備えたことを特徴とするサーバ。
【請求項６】
サーバとの間でセキュリティ性の高い通信を確立するクライアントであって、
前記サーバに対し通信を行う際に、第１のプロトコルが利用するポートへ第１のプロトコルを用いて、当該クライアントが備える第１の電子証明書に係る情報を送信する手段と、
前記サーバからリダイレクトの指示があった場合には、前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバと通信を確立し、リダイレクトの指示が無かった場合には、前記第１のプロトコルが利用するポートへ第１のプロトコルを用いて通信を続ける手段とを備えたことを特徴とするクライアント。
【請求項７】
クライアントとの間で第１のプロトコルを用いて、またはこの第１のプロトコルよりセキュリティ性の高い第２のプロトコルを用いて通信を確立させるサーバ用のコンピュータプログラムであって、前記サーバを、
前記クライアントから第１のプロトコルが利用するポートへ第１のプロトコルによる通信の要求を受けた場合に、受信した情報からクライアントが備える第１の電子証明書に係る情報を検出し、前記クライアントと前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートで通信可能か否か判断するため、前記第１の電子証明書に係る情報と当該サーバが備える前記第２の電子証明書に係る情報とを比較する手段と、
前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報であった場合には、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてのリダイレクトをすべき旨の指示を送信し、前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報でなかった場合には、前記第１のプロトコルを用いて前記クライアントの間で通信を行う手段として機能させることを特徴とするコンピュータプログラム。
【請求項８】
クライアントとサーバの間でセキュリティ性の高い通信を確立する通信方法であって、
前記クライアントは、前記サーバに対し通信を行う際に、第１のプロトコルが利用するポートへ第１のプロトコルを用いて、該第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバとのセキュア通信が許可されるか否かの判断材料となる判断材料情報を送信し、
前記サーバは、受信した前記判断材料情報が当該サーバとの前記セキュア通信が許可される情報であるか否かを判断し、
前記判断材料情報が前記サーバと前記セキュア通信が許可される情報であると判断された場合には、前記サーバは、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてのリダイレクトをすべき旨の指示を送信し、
前記クライアントは、この指示に従って前記第２のプロトコルを用いて前記セキュア通信を確立し、
前記判断材料情報が前記サーバと前記セキュア通信が許可される情報ではないと判断された場合には、前記サーバは、前記第１のプロトコルを用いて前記クライアントの間で通信を行うことを特徴とする通信方法。
【請求項９】
前記サーバは、前記判断材料情報が前記サーバと前記セキュア通信が許可される情報ではないと判断された場合には、前記クライアントからの要求がパスワードの登録または変更であるか否か判断し、
パスワードの登録または変更であった場合は、前記クライアントとの通信を切断し、
パスワードの登録または変更でなかった場合は、前記第１のプロトコルを用いたポートへ第１のプロトコルを用いて前記クライアントとの通信を継続することを特徴とする請求項８に記載の通信方法。
【請求項１０】
クライアントとサーバの間でセキュリティ性の高い通信を確立する通信システムであって、
前記クライアントは、
前記サーバに対し通信を行う際に、第１のプロトコルが利用するポートへ第１のプロトコルを用いて、該第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバとのセキュア通信が許可されるか否かの判断材料となる判断材料情報を送信する手段と、
前記サーバからリダイレクトの指示があった場合には、前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバと前記セキュア通信を確立し、リダイレクトの指示が無かった場合には、前記第１のプロトコルが利用するポートへ第１のプロトコルを用いて通信を続ける手段とを備え、
前記サーバは、
受信した前記判断材料情報が当該サーバとの前記セキュア通信が許可される情報であるか否かを判断し、
前記判断材料情報が前記サーバと前記セキュア通信が許可される情報であると判断された場合には、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてのリダイレクトをすべき旨の指示を送信し、前記判断材料情報が前記サーバと前記セキュア通信が許可される情報ではないと判断された場合には、前記第１のプロトコルを用いて前記クライアントの間で通信を行う手段とを備えたことを特徴とする通信システム。
【請求項１１】
前記サーバは、前記判断材料情報が前記サーバと前記セキュア通信が許可される情報ではないと判断された場合には、前記クライアントからの要求がパスワードの登録または変更であるか否か判断する手段と、
パスワードの登録または変更であった場合は、前記クライアントとの通信を切断し、パスワードの登録または変更でなかった場合は、前記第１のプロトコルを用いたポートへ第１のプロトコルを用いて前記クライアントとの通信を継続する手段と、
を備えることを特徴とする請求項１０に記載の通信システム。
【請求項１２】
クライアントとの間でセキュリティ性の高い通信を確立するサーバであって、
前記クライアントから第１のプロトコルが利用するポートへ第１のプロトコルによる通信の要求を受けた場合に、受信した情報から該第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバとのセキュア通信が許可されるか否かの判断材料となる判断材料情報を検出し、該判断材料情報が当該サーバとの前記セキュア通信が許可される情報であるか否かを判断する手段と、
前記判断材料情報が前記サーバと前記セキュア通信が許可される情報であると判断された場合には、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてのリダイレクトをすべき旨の指示を送信し、前記判断材料情報が前記サーバと前記セキュア通信が許可される情報ではないと判断された場合には、前記第１のプロトコルを用いて前記クライアントの間で通信を行う手段とを備えたことを特徴とするサーバ。
【請求項１３】
サーバとの間でセキュリティ性の高い通信を確立するクライアントであって、
前記サーバに対し通信を行う際に、第１のプロトコルが利用するポートへ第１のプロトコルを用いて、該第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバとのセキュア通信が許可されるか否かの判断材料となる判断材料情報を送信する手段と、
前記サーバからリダイレクトの指示があった場合には、前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバと前記セキュア通信を確立し、リダイレクトの指示が無かった場合には、前記第１のプロトコルが利用するポートへ第１のプロトコルを用いて通信を続ける手段とを備えたことを特徴とするクライアント。
【請求項１４】
クライアントとの間で第１のプロトコルを用いて、またはこの第１のプロトコルよりセキュリティ性の高い第２のプロトコルを用いて通信を確立させるサーバ用のコンピュータプログラムであって、前記サーバを、
前記クライアントから第１のプロトコルが利用するポートへ第１のプロトコルによる通信の要求を受けた場合に、受信した情報から該第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバとのセキュア通信が許可されるか否かの判断材料となる判断材料情報を検出し、該判断材料情報が当該サーバとの前記セキュア通信が許可される情報であるか否かを判断する手段と、
前記判断材料情報が前記サーバと前記セキュア通信が許可される情報であると判断された場合には、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてのリダイレクトをすべき旨の指示を送信し、前記判断材料情報が前記サーバと前記セキュア通信が許可される情報ではないと判断された場合には、前記第１のプロトコルを用いて前記クライアントの間で通信を行う手段として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、安全な通信を確立するための通信方法、通信システムならびに通信システムを構成するサーバ、クライアントおよびコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、通信技術として、電子証明書を用いて公開鍵を通知し暗号化通信に移行するＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）通信技術が知られている。このような暗号化通信は、コンピュータで利用可能になるように導入されていても、ユーザが使用することを明示しない限り使われることは無かった。
すなわち、コンピュータが安全性の高い通信が可能であるにもかかわらず、ユーザが適切に通信プロトコルを選択しないために、安全性の低い通信をしてしまうおそれがあった。
【０００３】
このような問題から、これまでにも安全性が違う２つのネットワークと接続されているコンピュータが、秘密性の高い情報を通信する場合に、安全性の高いネットワークの接続に切り替える発明が知られている（特許文献１参照）。
【０００４】
【特許文献１】特開平１１−２５０４６号公報（請求項１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＳＳＬを用いた通信で相互に電子証明書を要求する場合には、サーバが保有しているＣＡ（Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ：認証機関）証明書のＣＡが署名した証明書を、クライアントコンピュータが有していないと通信を継続することができない。したがって、クライアントから通信の開始を要求されたサーバが、常に安全性の高いネットワークに接続を切り替えると、その後のクライアントは通信が継続できない場合があるという問題がある。
【０００６】
本発明は、以上のような背景に鑑みてなされたものであり、可能な限り安全性の高い通信プロトコルを使用しつつ、通信の継続も確保する通信方法、通信システムならびに通信システムを構成するサーバ、クライアントおよびコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記した課題を解決する本発明の通信方法は、クライアントとサーバの間でセキュリティ性の高い通信を確立する通信方法であって、前記クライアントは、前記サーバに対し通信を行う際に、第１のプロトコルが利用するポートへ第１のプロトコルを用いて、当該クライアントが備える第１の電子証明書に係る情報を送信し、前記サーバは、前記クライアントと前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて通信可能か否か判断するため、前記クライアントから受信した前記第１の電子証明書に係る情報と当該サーバが備える第２の電子証明書に係る情報とを比較し、前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報であった場合、前記サーバは、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてリダイレクトすべき旨の指示を送信し、前記クライアントは、この指示に従って前記第２のプロトコルを用いて通信を確立し、前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報でなかった場合、前記サーバは、前記第１のプロトコルを用いて前記クライアントの間で通信を行うことを特徴とする。
【０００８】
これにより、クライアントがサーバに第１のプロトコルで通信を開始する際に、クライアントが有する電子証明書に係る情報を送信しているので、サーバは、第１のプロトコルよりもセキュリティ性の高い電子証明書を利用した第２のプロトコルで通信可能であるか否か判断することができる。
そして、第２のプロトコルで通信可能であると判断すれば安全性の高い第２のプロトコルを用いて通信をすることができ、通信可能でないと判断すれば、第１のプロトコルでの通信を継続できる。
よって、より安全性の高い通信が可能であれば安全性の高い通信を確立し、より安全性の高い通信が不可能であれば、現状の通信を維持することができる。
【０００９】
前記した通信方法においては、前記サーバは、前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報でなかった場合には、前記クライアントからの要求がパスワードの登録または変更であるか否か判断し、パスワードの登録または変更であった場合は、前記クライアントとの通信を切断し、パスワードの登録または変更でなかった場合は、前記第１のプロトコルを用いたポートへ第１のプロトコルを用いて前記クライアントとの通信を継続するのが望ましい。
【００１０】
これにより、パスワードのような機密性の高い情報は、安全性の高い第２のプロトコルを用いて通信し、第２のプロトコルで通信できない場合は、機密情報が漏洩する虞があるので、通信を切断することができる。
よって、利用者は、不用意に安全性が高くない通信を行うことによる機密情報の漏洩を防ぐことができる。
【００１１】
前記した課題を解決する本発明の通信システムは、クライアントとサーバの間でセキュリティ性の高い通信を確立する通信システムであって、前記クライアントは、前記サーバに対し通信を行う際に、第１のプロトコルが利用するポートへ第１のプロトコルを用いて、当該クライアントが備える第１の電子証明書に係る情報を送信する手段と、前記サーバからリダイレクトの指示があった場合には、前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバと通信を確立し、リダイレクトの指示が無かった場合には、前記第１のプロトコルが利用するポートへ第１のプロトコルを用いて通信を続ける手段とを備え、前記サーバは、前記クライアントと前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートで通信可能か否か判断するため、前記クライアントから受信した前記第１の電子証明書に係る情報と当該サーバが備える前記第２の電子証明書に係る情報とを比較する手段と、前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報であった場合、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてリダイレクトすべき旨の指示を送信する手段と、前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報でなかった場合、前記第１のプロトコルを用いて前記クライアントの間で通信を行う手段とを備える。
これにより、より安全性の高い通信が可能であれば安全性の高い通信を確立し、より安全性の高い通信が不可能であれば、現状の通信を維持することができる。
【００１２】
この通信システムにおいては、前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報でなかった場合には、前記クライアントからの要求がパスワードの登録または変更であるか否か判断する手段と、
パスワードの登録または変更であった場合は、前記クライアントとの通信を切断し、パスワードの登録または変更でなかった場合は、前記第１のプロトコルを用いたポートへ第１のプロトコルを用いて前記クライアントとの通信を継続する手段と、を備える。
これにより、利用者は、不用意に安全性が高くない通信を行うことによる機密情報（パスワード）の漏洩を防ぐことができる。
【００１３】
また、前記した課題を解決するサーバは、クライアントとの間でセキュリティ性の高い通信を確立するサーバであって、前記クライアントから第１のプロトコルが利用するポートへ第１のプロトコルによる通信の要求を受けた場合に、受信した情報からクライアントが備える第１の電子証明書に係る情報を検出し、前記クライアントと前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートで通信可能か否か判断するため、前記第１の電子証明書に係る情報と当該サーバが備える前記第２の電子証明書に係る情報とを比較する手段と、前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報であった場合には、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてのリダイレクトをすべき旨の指示を送信し、前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報でなかった場合には、前記第１のプロトコルを用いて前記クライアントの間で通信を行う手段とを備える。
これにより、クライアントの有する電子証明書に係る情報に基づいて、第２のプロトコルを用いてより安全な通信が可能であれば、その安全な通信にクライアントを導くことができる。
【００１４】
また、前記した課題を解決するクライアントは、サーバとの間でセキュリティ性の高い通信を確立するクライアントであって、前記サーバに対し通信を行う際に、第１のプロトコルが利用するポートへ第１のプロトコルを用いて、当該クライアントが備える第１の電子証明書に係る情報を送信する手段と、前記サーバからリダイレクトの指示があった場合には、前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバと通信を確立し、リダイレクトの指示が無かった場合には、前記第１のプロトコルが利用するポートへ第１のプロトコルを用いて通信を続ける手段とを備える。
これにより、クライアントは安全性の高い通信が可能な否かを意識することなく、サーバからのリダイレクト要求に応じれば、適切に安全性の高い通信を確立することができる。
【００１５】
前記した課題解決するコンピュータプログラムは、クライアントとの間で第１のプロトコルを用いて、またはこの第１のプロトコルよりセキュリティ性の高い第２のプロトコルを用いて通信を確立させるサーバ用のコンピュータプログラムであって、前記サーバを、前記クライアントから第１のプロトコルが利用するポートへ第１のプロトコルによる通信の要求を受けた場合に、受信した情報からクライアントが備える第１の電子証明書に係る情報を検出し、前記クライアントと前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートで通信可能か否か判断するため、前記第１の電子証明書に係る情報と当該サーバが備える前記第２の電子証明書に係る情報とを比較する手段と、前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報であった場合には、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてのリダイレクトをすべき旨の指示を送信し、前記第１の電子証明書に係る情報と前記第２の電子証明書に係る情報が同一の認証機関により署名された情報でなかった場合には、前記第１のプロトコルを用いて前記クライアントの間で通信を行う手段として機能させることを特徴とする。
これにより、クライアントの有する電子証明書に係る情報に基づいて、第２のプロトコルを用いてより安全な通信が可能であれば、その安全な通信にクライアントを導くことができる。
【００１６】
前記した課題を解決する通信方法は、クライアントとサーバの間でセキュリティ性の高い通信を確立する通信方法であって、前記クライアントは、前記サーバに対し通信を行う際に、第１のプロトコルが利用するポートへ第１のプロトコルを用いて、該第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバとのセキュア通信が許可されるか否かの判断材料となる判断材料情報を送信し、前記サーバは、受信した前記判断材料情報が当該サーバとの前記セキュア通信が許可される情報であるか否かを判断し、前記判断材料情報が前記サーバと前記セキュア通信が許可される情報であると判断された場合には、前記サーバは、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてのリダイレクトをすべき旨の指示を送信し、前記クライアントは、この指示に従って前記第２のプロトコルを用いて前記セキュア通信を確立し、前記判断材料情報が前記サーバと前記セキュア通信が許可される情報ではないと判断された場合には、前記サーバは、前記第１のプロトコルを用いて前記クライアントの間で通信を行うことを特徴とする。  
【００１７】
これにより、クライアントがサーバに第１のプロトコルで通信を開始する際に、第１のプロトコルよりもセキュリティ性の高い第２のプロトコルを用いてサーバとセキュア通信が許可されるか否かの判断材料となる情報を送信しているので、サーバは、第１のプロトコルよりもセキュリティ性の高い電子証明書を利用した第２のプロトコルで通信可能であるか否か判断することができる。
そして、第２のプロトコルで通信可能であると判断すれば安全性の高い第２のプロトコルを用いて通信をすることができ、通信可能でないと判断すれば、第１のプロトコルでの通信を継続できる。
よって、より安全性の高い通信が可能であれば安全性の高い通信を確立し、より安全性の高い通信が不可能であれば、現状の通信を維持することができる。
【００１８】
前記した通信方法においては、前記サーバは、前記判断材料情報が前記サーバと前記セキュア通信が許可される情報ではないと判断された場合には、前記クライアントからの要求がパスワードの登録または変更であるか否か判断し、パスワードの登録または変更であった場合は、前記クライアントとの通信を切断し、パスワードの登録または変更でなかった場合は、前記第１のプロトコルを用いたポートへ第１のプロトコルを用いて前記クライアントとの通信を継続するのが望ましい。
よって、利用者は、不用意に安全性が高くない通信を行うことによる機密情報の漏洩を防ぐことができる。
【００１９】
なお、ここでの判断材料情報とは、第２のプロトコルでセキュア通信するための情報であり、例えば認証機関を特定するための情報や電子証明書である。
【００２０】
前記した課題を解決する通信システムは、クライアントとサーバの間でセキュリティ性の高い通信を確立する通信システムであって、前記クライアントは、前記サーバに対し通信を行う際に、第１のプロトコルが利用するポートへ第１のプロトコルを用いて、該第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバとのセキュア通信が許可されるか否かの判断材料となる判断材料情報を送信する手段と、前記サーバからリダイレクトの指示があった場合には、前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバと前記セキュア通信を確立し、リダイレクトの指示が無かった場合には、前記第１のプロトコルが利用するポートへ第１のプロトコルを用いて通信を続ける手段とを備え、前記サーバは、受信した前記判断材料情報が当該サーバとの前記セキュア通信が許可される情報であるか否かを判断し、前記判断材料情報が前記サーバと前記セキュア通信が許可される情報であると判断された場合には、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてのリダイレクトをすべき旨の指示を送信し、前記判断材料情報が前記サーバと前記セキュア通信が許可される情報ではないと判断された場合には、前記第１のプロトコルを用いて前記クライアントの間で通信を行う手段とを備えたことを特徴とする。
これにより、より安全性の高い通信が可能であれば安全性の高い通信を確立し、より安全性の高い通信が不可能であれば、現状の通信を維持することができる。
【００２１】
前記した通信システムにおいては、前記サーバは、前記判断材料情報が前記サーバと前記セキュア通信が許可される情報ではないと判断された場合には、前記クライアントからの要求がパスワードの登録または変更であるか否か判断する手段と、パスワードの登録または変更であった場合は、前記クライアントとの通信を切断し、パスワードの登録または変更でなかった場合は、前記第１のプロトコルを用いたポートへ第１のプロトコルを用いて前記クライアントとの通信を継続する手段とを備えることが望ましい。
これにより、利用者は、不用意に安全性が高くない通信を行うことによる機密情報（パスワード）の漏洩を防ぐことができる。
【００２２】
前記した課題を解決したサーバは、クライアントとの間でセキュリティ性の高い通信を確立するサーバであって、前記クライアントから第１のプロトコルが利用するポートへ第１のプロトコルによる通信の要求を受けた場合に、受信した情報から該第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバとのセキュア通信が許可されるか否かの判断材料となる判断材料情報を検出し、判断材料情報が当該サーバとの前記セキュア通信が許可される情報であるか否かを判断する手段と、前記判断材料情報が前記サーバと前記セキュア通信が許可される情報であると判断された場合には、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてのリダイレクトをすべき旨の指示を送信し、前記判断材料情報が前記サーバと前記セキュア通信が許可される情報ではないと判断された場合には、前記第１のプロトコルを用いて前記クライアントの間で通信を行う手段とを備える。
これにより、クライアントの有する電子証明書に係る情報に基づいて、第２のプロトコルを用いてより安全な通信が可能であれば、その安全な通信にクライアントを導くことができる。
【００２３】
前記した課題を解決したクライアントは、サーバとの間でセキュリティ性の高い通信を確立するクライアントであって、前記サーバに対し通信を行う際に、第１のプロトコルが利用するポートへ第１のプロトコルを用いて、該第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバとのセキュア通信が許可されるか否かの判断材料となる判断材料情報を送信する手段と、前記サーバからリダイレクトの指示があった場合には、前記サーバからリダイレクトの指示があった場合には、前記第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバと前記セキュア通信を確立し、リダイレクトの指示が無かった場合には、前記第１のプロトコルが利用するポートへ第１のプロトコルを用いて通信を続ける手段とを備える。
これにより、クライアントは安全性の高い通信が可能な否かを意識することなく、サーバからのリダイレクト要求に応じれば、適切に安全性の高い通信を確立することができる。
【００２４】
前記した課題を解決したサーバ用のコンピュータプログラムは、クライアントとの間で第１のプロトコルを用いて、またはこの第１のプロトコルよりセキュリティ性の高い第２のプロトコルを用いて通信を確立させるサーバ用のコンピュータプログラムであって、前記サーバを、前記クライアントから第１のプロトコルが利用するポートへ第１のプロトコルによる通信の要求を受けた場合に、受信した情報から該第１のプロトコルよりもセキュリティ性の高い第２のプロトコルが利用するポートへ第２のプロトコルを用いて前記サーバとのセキュア通信が許可されるか否かの判断材料となる判断材料情報を検出し、判断材料情報が当該サーバとの前記セキュア通信が許可される情報であるか否かを判断する手段と、前記判断材料情報が前記サーバとセキュア通信が許可される情報であると判断された場合には、前記クライアントに対し前記第２のプロトコルが利用するポートへ第２のプロトコルを用いてのリダイレクトをすべき旨の指示を送信し、前記判断材料情報が前記サーバと前記セキュア通信が許可される情報ではないと判断された場合には、前記第１のプロトコルを用いて前記クライアントの間で通信を行う手段として機能させることを特徴とする。
これにより、クライアントの有する電子証明書に係る情報に基づいて、第２のプロトコルを用いてより安全な通信が可能であれば、その安全な通信にクライアントを導くことができる。
【発明の効果】
【００２５】
本発明によれば、クライアントがサーバに第１のプロトコルで通信を開始する際に、判断材料情報または第１の電子証明書に係る情報を送信しているので、サーバは、第１のプロトコルよりもセキュリティ性の高い第２のプロトコルで通信可能であるか判断することができる。そのため、第２のプロトコルで通信可能であると判断すれば安全性の高い第２のプロトコルを用いて通信をすることができ、通信可能でないと判断すれば、第１のプロトコルでの通信を継続できる。すなわち、クライアントとサーバとの間で、可能な限り安全な通信を確立しつつ、通信の継続を確保することができる。
【発明を実施するための最良の形態】
【００２６】
次に、本発明の実施形態について、図面を参照しながら説明する。
＜通信システム１の構成＞
図１は、本実施形態の通信システム１の構成を表す説明図である。図１に示すように、通信システム１は、サーバに相当するデジタル複合機１０と、クライアントに相当するパーソナルコンピュータ（以下、単に「ＰＣ」とする。）３０と、がＴＣＰ／ＩＰネットワークに接続されている。
【００２７】
デジタル複合機１０は、ＣＰＵ１１と、作業用メモリとしてのＲＡＭ１２と、各種プログラムやデータを記憶するＲＯＭ１３およびフラッシュメモリ（Ｆｌａｓｈ）１４と、ＴＣＰ／ＩＰネットワークに接続された通信インタフェース（Ｉ／Ｆ）１５と、レーザ方式またはインクジェット方式にて用紙に画像を形成する印刷部１６と、原稿載置台に載置された原稿を光学的に読み取り画像データを生成する読取部１７と、ユーザが操作可能な各種キーおよび表示部を備えるユーザインタフェースとしての表示操作部１８とを備えている。
【００２８】
ＣＰＵ１１は、ＲＯＭ１３に記憶された各種プログラムを実行し、プリンタ機能、スキャナ機能、コピー機能およびその他の制御機能を実現するものである。
例えば、ＣＰＵ１１は、通信インタフェース１５を通じて外部のＰＣ３０から印刷データを受信すると、印刷部１６を制御して、この印刷データに基づく印刷画像を用紙に形成する（プリンタ機能）。また、表示操作部１８に対するユーザの操作により、表示操作部１８から読取指令が入力されると、ＣＰＵ１１は、読取部１７を制御して、原稿載置台に載置された原稿についての読取画像を表す画像データを生成し、この画像データを、通信インタフェース１５を通じて、所定のＰＣ３０に送信する（スキャナ機能）。
【００２９】
デジタル複合機１０は、上記の機能の他にもウェブサーバ機能、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）通信機能を有する。
【００３０】
また、デジタル複合機１０は、特定のポートに対するＰＣ３０からのアクセスを受け付けるに際し、電子証明書によりクライアント（ＰＣ３０）を認証する構成にされている。そのため、フラッシュメモリ１４には、後で詳述するようにサーバ証明書４１、サーバ秘密鍵４２および第１ＣＡ証明書４３が記憶されている。
【００３１】
ＰＣ３０は、周知のパーソナルコンピュータと同様に構成され、ＣＰＵ３１にて各種プログラムを実行することにより、ＳＳＬ通信等を実現する。具体的に、ＰＣ３０は、ＣＰＵ３１と、作業用メモリとしてのＲＡＭ３２と、ブートプログラム等を記憶するＲＯＭ３３と、ハードディスク装置（ＨＤＤ）３４と、ＴＣＰ／ＩＰネットワークに接続された通信インタフェース３５と、キーボードやポインティングデバイス等からなる操作部３６と、液晶モニタ等からなる表示部３７と、を備える。
【００３２】
ハードディスク装置３４には、後で詳述するようにクライアント証明書５１、クライアント秘密鍵５２および第２ＣＡ証明書５３が記憶されている。
また、ＰＣ３０は、デジタル複合機１０のウェブサーバ機能を利用するためのソフトウェアであるブラウザおよびデジタル複合機１０のプリンタ機能を利用するためのプリンタドライバを、ハードディスク装置３４に有し、ＳＳＬ通信は、ブラウザおよびプリンタドライバにて用いられる。
【００３３】
＜通信システム１の署名関係＞
図２は、本実施形態に係る通信システムの署名関係を説明する図である。
通信システム１は、サーバであるデジタル複合機１０が、自装置を証明するものとしてのサーバ証明書４１と、サーバ秘密鍵４２と、さらに、クライアント証明書を検証する第１ＣＡ証明書４３とを有する。サーバ証明書４１は、第２ＣＡ２２により署名が施されたものである。
図４（ａ）に示すように、サーバ証明書４１は、証明書のバージョンを表すバージョン情報と、証明書のシリアル番号と、アルゴリズム識別子と、デジタル署名した証明書発行者を表す署名者情報と、証明書の有効期間を表す有効期間情報と、証明書の所有者を表す所有者情報と、所有者の公開鍵を表す公開鍵情報と、デジタル署名値を表すデジタル署名情報と、を有する。また、このサーバ証明書４１が有する所有者情報は、デジタル複合機１０のホスト名とドメイン情報を有し、有効期間情報は、証明書有効期間の開始日時および終了日時（有効期限）を表す構成にされている。デジタル署名情報は、第２ＣＡ２２（図２参照）の秘密鍵で作成したものである。
【００３４】
サーバ秘密鍵４２は、サーバ・クライアント間のサーバの認証の際に用いられるとともに、暗号化通信確立後の通信に用いるセッション鍵（共通鍵）を共有するのに用いられるものである。
【００３５】
第１ＣＡ証明書４３は、第１ＣＡ２１が署名したクライアント証明書５１の認証をするための証明書であり、図４（ｃ）に示すような内容を有する。第１ＣＡ証明書４３は、サーバ証明書４１と同様の情報項目を有し、第１ＣＡ証明書４３内の第１ＣＡ２１の公開鍵を用いてクライアント証明書５１のデジタル署名情報を検証し、更に有効期限の検証、所有者情報の検証をすることで、クライアントの認証をすることができるようになっている。
【００３６】
クライアントであるＰＣ３０は、自装置を証明するものとしてのクライアント証明書５１と、クライアント秘密鍵５２と、第２ＣＡ証明書５３とを有する。
クライアント証明書５１は、図４（ｂ）に示すように、サーバ証明書４１と同種の情報を有する。クライアント証明書５１のデジタル署名情報は、第１ＣＡ２１の秘密鍵で作成したものである。
【００３７】
クライアント秘密鍵５２は、サーバ秘密鍵４２と同様に、サーバ・クライアント間のクライアントの認証の際に用いられる。
【００３８】
第２ＣＡ証明書５３は、第２ＣＡ２２が署名したサーバ証明書４１の認証をするための証明書であり、図４（ｄ）に示すような内容を有する。第２ＣＡ証明書５３は、サーバ証明書４１と同様の情報項目を有し、第２ＣＡ証明書５３内の第２ＣＡ２２の公開鍵を用いてサーバ証明書４１のデジタル署名情報を検証し、更に更に有効期限の検証、所有者情報の検証をすることで、サーバの認証をすることができるようになっている。
【００３９】
上記した第１ＣＡ証明書４３は、デジタル複合機１０が有するＣＡ証明書の一例であり、デジタル複合機１０は、複数のＣＡ証明書を有している場合もある。また、第２ＣＡ証明書５３もＰＣ３０が有するＣＡ証明書の一例であり、ＰＣ３０は、複数のＣＡ証明書を有している場合もある。
【００４０】
ＰＣ３０は、デジタル複合機１０の設定、例えばパスワード設定や通信設定などをリモート操作で行う場合や、印刷、文書のスキャンを行う際にｈｔｔｐなどの通信プロトコルを用いて行う。
このとき、ＰＣ３０は、暗号化を行わない通信プロトコルを用いる場合には、自己の有するクライアント証明書５１に署名を施した認証機関、つまり本実施形態では第１ＣＡ２１に関する情報を通信の開始時にデジタル複合機１０へ送信するプログラムが備えられている。この第１ＣＡ２１に関する情報とは、第１ＣＡ２１を特定できる情報であればどのようなものであってもよい。
一例としては、図８（ａ）に示すように、ｈｔｔｐ接続をリクエストする場合のヘッダにＣｅｒｔ−Ｉｓｓｕｒｅ−Ｉｎｆｏヘッダ６１を記述しておく方法があるが、これに限定されるものではない。例えば、クライアント証明書５１の拡張領域に特定の値を記述、つまり、図４（ａ）に示した情報項目に追加して認証機関の情報を記述し送信してもよい。
【００４１】
一方、デジタル複合機１０には、ＰＣ３０がある通信プロトコル（第１の通信プロトコル）で送信してきた第１ＣＡ２１に関する情報を抽出し、その情報で特定されるＣＡ（本実施形態では第１ＣＡ２１）の電子証明書（ＣＡ証明書）が自己の記憶装置（フラッシュメモリ１４）内にあるかどうか検索するプログラムと、検索の結果、電子証明書があった場合には、暗号化通信を行える通信プロトコル（第２のプロトコル）のポートへリダイレクトする指示を送信し、電子証明書がなかった場合には、元の通信プロトコル（第１のプロトコル）で通信を継続するプログラムが備えられている。
また、デジタル複合機１０は、上記の電子証明書の検索で電子証明書がなかった場合において、クライアント（ＰＣ）からのリクエストが安全性を要する特定のものであった場合には、元の通信プロトコルでの通信の継続を行わず、通信を切断（中断）するプログラムが備えられている。この特定のリクエストとは、例えば、パスワードの登録または変更である。
【００４２】
次に、本実施形態でのＳＳＬ暗号化通信の手続について説明する。
図３は、デジタル複合機とＰＣとの間で暗号化通信を確立する手続としてのＳＳＬハンドシェイクの手順を表すラダーチャートである。
図３に示すように、ＳＳＬハンドシェイクは、ＣｌｉｅｎｔＨｅｌｌｏメッセージがＰＣ３０（クライアント）から、デジタル複合機１０（サーバ）に送信されることにより開始される。このＣｌｉｅｎｔＨｅｌｌｏメッセージの送信によって、通信の開始がデジタル複合機１０に通知されると共に、デジタル複合機１０がＳＳＬを使用してＰＣ３０と通信するために必要な情報がデジタル複合機１０に通知される。
【００４３】
このＣｌｉｅｎｔＨｅｌｌｏメッセージを受信すると、デジタル複合機１０は、ＰＣ３０がＳＳＬを使用して自装置と通信するために必要な情報を含むＳｅｒｖｅｒＨｅｌｌｏメッセージをＰＣ３０に返信すると共に、サーバ証明書４１を含むＣｅｒｔｉｆｉｃａｔｅメッセージをＰＣ３０に送信する。また、デジタル複合機１０は、必要に応じて、ＳｅｒｖｅｒＫｅｙＥｘｃｈａｎｇｅメッセージをＰＣ３０に送信する。
【００４４】
その他、デジタル複合機１０は、クライアント証明書５１を要求するＣｅｒｔｉｆｉｃａｔｅＲｅｑｕｅｓｔメッセージをＰＣ３０に送信する。そして、これらのメッセージの送信が終了すると、デジタル複合機１０は、一連のメッセージの送信が終了したことを表すＳｅｒｖｅｒＨｅｌｌｏＤｏｎｅメッセージをＰＣ３０に送信する。
【００４５】
一方、ＰＣ３０は、ＳｅｒｖｅｒＨｅｌｌｏＤｏｎｅメッセージを受信すると、ＣｅｒｔｉｆｉｃａｔｅＲｅｑｕｅｓｔメッセージを先に受信している場合、これに応答する形で、自己のクライアント証明書５１を含むＣｅｒｔｉｆｉｃａｔｅメッセージをデジタル複合機１０に送信すると共に、セッション鍵を生成するのに必要なプレマスタシークレットを含むＣｌｉｅｎｔＫｅｙＥｘｃｈａｎｇｅメッセージを、デジタル複合機１０に送信する。尚、ＣｌｉｅｎｔＫｅｙＥｘｃｈａｎｇｅメッセージの送信時には、サーバ証明書４１にて通知されたサーバ公開鍵により暗号化して、上記メッセージを送信する。更に、ＰＣ３０は、ＣｅｒｔｉｆｉｃａｔｅＶｅｒｉｆｙメッセージを送信する。
【００４６】
また、この処理を終えると、ＰＣ３０は、暗号を切り替える旨のＣｈａｎｇｅＣｉｐｈｅｒＳｐｅｃメッセージをデジタル複合機１０に送信すると共に、セッション鍵を用いて暗号化したハンドシェイク終了の旨のＦｉｎｉｓｈｅｄメッセージをデジタル複合機１０に送信する。
一方、デジタル複合機１０は、ＰＣ３０からＦｉｎｉｓｈｅｄメッセージを受信すると、暗号を切り替える旨のＣｈａｎｇｅＣｉｐｈｅｒＳｐｅｃメッセージをＰＣ３０に送信すると共に、セッション鍵を用いて暗号化したハンドシェイク終了の旨のＦｉｎｉｓｈｅｄメッセージをＰＣ３０に送信する。このようにして、本実施形態のデジタル複合機１０とＰＣ３０との間では、サーバ証明書４１およびクライアント証明書５１の送受が行われ、ＳＳＬ通信が確立される。
【００４７】
デジタル複合機１０およびＰＣ３０は、このＳＳＬハンドシェイクの過程でエラーが生じた場合には、通信を切断する。また、デジタル複合機１０が受け取ったクライアント証明書５１を第１ＣＡ証明書４３で認証するのに失敗した場合や、逆にＰＣ３０が受け取ったサーバ証明書４１を第２ＣＡ証明書５３で認証するのに失敗した場合には、通信を切断する。
【００４８】
＜ＰＣ３０での通信開始＞
次に、ＰＣ３０からデジタル複合機１０に第１のプロトコルで通信を開始する場合の処理について説明する。
図５は、ＰＣからデジタル複合機へウェブアクセスする場合の処理を示すフローチャートである。
ＰＣ３０のＣＰＵ３１は、自己のハードディスク装置３４などの記憶装置に記憶しているクライアント証明書５１の情報の中から、署名者情報を抽出する（Ｓ１０１）。
そして、ＣＰＵ３１は、ＨＴＴＰリクエストを作成する。その際、前記した署名者情報を持ったＣｅｒｔ−Ｉｓｓｕｒｅ−Ｉｎｆｏヘッダ６１を作成し、付加する（Ｓ１０２、図８（ａ）参照）。
次に、作成したＨＴＴＰリクエストをデジタル複合機１０へ送信する（Ｓ１０３）。
なお、上記の署名者情報が、判断材料情報または第１の電子証明書に係る情報に相当する。
【００４９】
＜デジタル複合機１０の処理＞
図６は、デジタル複合機のＣＰＵが行う処理を表すフローチャートである。
図６に示すように、ＣＰＵ１１は、ＰＣ３０から受け取ったＨＴＴＰリクエストを解析し、発生したイベントが、暗号ウェブアクセスであるか（Ｓ２０１）、非暗号ウェブアクセスであるか（Ｓ２０２）、暗号印刷であるか（Ｓ２０３）、非暗号印刷であるか（Ｓ２０４）を判断し、それぞれのイベントに該当する処理を行い、いずれにも該当しない場合には、その他のイベントに対応したその他の処理をする（Ｓ２０５）。
ここでのＳ２０１〜Ｓ２０４の判断は、使用されている通信プルトコル、ポート、アクセスしてきたＵＲＩなどを適宜参照することで判断することができる。
【００５０】
［暗号ウェブアクセス］
発生したイベントが、暗号ウェブアクセスであった場合（Ｓ２０１，Ｙｅｓ）、例えば、ｈｔｔｐｓの４４３番ポートでデジタル複合機１０の設定ページにアクセスしてきた場合、ＣＰＵ１１は、暗号通信処理を開始する（Ｓ２１０）。暗号通信処理では、前記したＳＳＬハンドシェイクの手続をし、第１ＣＡ証明書４３を使用してクライアント証明書５１の認証をする。
そして、認証でエラーがでた場合には、通信を中断し（Ｓ２１１，Ｙｅｓ）、処理を終了する。
【００５１】
各認証が成功した場合には、通信を継続する（Ｓ２１１，Ｎｏ）。そして、ＣＰＵ１１は、ＰＣ３０からＨＴＴＰリクエストを受信し（Ｓ２１２）、このリクエストを、セッション鍵を用いて復号化する（Ｓ２１３）。そして、リクエストに応じた処理、例えば、デジタル複合機１０の通信設定、パスワード設定などの画面データをＨＴＴＰレスポンスとして作成する（リクエスト受付処理，Ｓ２１４）。
次に、ＰＣ３０に返すＨＴＴＰレスポンスをセッション鍵で暗号化し（Ｓ２１５）、暗号化したＨＴＴＰレスポンスをＰＣ３０へ送信する（Ｓ２１６）。
【００５２】
［非暗号ウェブアクセス］
発生したイベントが非暗号ウェブアクセスであった場合（Ｓ２０２，Ｙｅｓ）、例えば、ｈｔｔｐの８０番ポートでデジタル複合機１０の設定ページにアクセスしてきた場合、ＣＰＵ１１は、ＨＴＴＰリクエストを受信し（Ｓ２２０）、非暗号ウェブリクエスト受付処理（Ｓ２２１）を行う。この処理について、図７を参照して説明する。
【００５３】
図７は、非暗号ウェブリクエスト受付処理を示すフローチャートである。
ＣＰＵ１１は、ＰＣ３０から受け取ったリクエストヘッダのＣｅｒｔ−Ｉｓｓｕｒｅ−Ｉｎｆｏヘッダ６１を調べ、クライアント証明書５１の署名者情報を得る（Ｓ３０１）。そして、フラッシュメモリ１４に記憶している第１ＣＡ証明書４３を検索し、その所有者情報（第２の電子証明書に係る情報）を調べ（Ｓ３０２）、判断材料情報または第１の電子証明書に係る情報が、第２のプロトコルが利用するポートへ第２のプロトコルを用いてデジタル複合機１０と通信することが許可される情報であるかを判断する。そして、所有者情報が一致していた場合、つまり第１の電子証明書に係る情報と第２の電子証明書に係る情報とが同一の認証機関により署名された情報であった場合（許可される情報であった場合）には（Ｓ３０３，Ｙｅｓ）、４４３番ポートのｈｔｔｐｓへリダイレクトするＨＴＴＰレスポンスを作成する（Ｓ３０４）。このＨＴＴＰレスポンスには、図８（ｂ）に示すように、リダイレクトのアクセス先ＵＲＩ６２としてｈｔｔｐｓのアドレスが記述される。
【００５４】
一方、所有者情報が一致していなかった場合には（Ｓ３０３，Ｎｏ）、パスワードを変更するページへのリクエストか否か判断する（Ｓ３０５）。
パスワードを変更するページへのリクエストであった場合（Ｓ３０５，Ｙｅｓ）、安全性を確実にするため、８０番ポートでの通信を継続せず、アクセス不可能であることを記したＨＴＴＰレスポンスを作成する（Ｓ３０６）。
【００５５】
一方、パスワードを変更するページへのリクエストでなかった場合（Ｓ３０５，Ｎｏ）、８０番ポートでの通信を継続し、リクエストに対応するＨＴＴＰレスポンスを作成する（Ｓ３０７）。
【００５６】
ここで、図６に戻り、ＣＰＵ１１は、非暗号ウェブリクエスト受付処理（Ｓ２２１）で作成されたＨＴＴＰレスポンスをＰＣ３０へ送信する（Ｓ２２２）。
すると、ＰＣ３０は、リダイレクトの指示を受けていたならば、その指示に従い、リダイレクトのアクセス先ＵＲＩ６２に４４３番ポートでアクセスしてくる。そして、その後は、暗号ウェブアクセスのフロー（Ｓ２１０からＳ２１６）に入るため、安全な通信をすることができる。
また、ＰＣ３０は、リダイレクトの指示を受けていなければ、元の通信プロトコルで通信を継続する。
【００５７】
［暗号印刷］
発生したイベントが暗号印刷であった場合（Ｓ２０３，Ｙｅｓ）、例えば、ｈｔｔｐｓの４４３番ポートで受信された暗号化されたｈｔｔｐデータを復号化し、復号化したｈｔｔｐデータのＧＥＴヘッダＵＲＩが印刷用ＵＲＩ（例えば／ｐｒｉｎｔ／）であった場合、ｈｔｔｐｓ通信上のｉｐｐ通信と判断し、Ｓ２１０と同様に暗号通信の開始処理を行う（Ｓ２３０）。
そして、各認証でエラーがでた場合には、通信を中断し（Ｓ２３１，Ｙｅｓ）、処理を終了する。
各認証が成功した場合には、通信を継続する（Ｓ２３１，Ｎｏ）。そして、ＣＰＵ１１は、ＰＣ３０から印刷データを受信し（Ｓ２３２）、この印刷データを、セッション鍵を用いて復号化する（Ｓ２３３）。
次に、復号化した印刷データに基づき、印刷部１６を駆動して印刷処理を行う（Ｓ２４１）。
【００５８】
［非暗号印刷］
発生したイベントが非暗号印刷であった場合（Ｓ２０４，Ｙｅｓ）、例えば、ｈｔｔｐの８０番ポートで受信されたｈｔｔｐデータのＧＥＴヘッダＵＲＩが印刷用ＵＲＩ（例えば、／ｐｒｉｎｔ／）であった場合、ｉｐｐ通信と判断し、印刷データを受信し（Ｓ２４０）、この印刷データに基づき、印刷部１６を駆動して印刷処理を行う（Ｓ２４１）。
【００５９】
以上のようにして、本実施形態のデジタル複合機１０によれば、ウェブアクセスまたは印刷処理が行われる。
印刷処理の場合には、そのデータ通信はその回限りであり、安全性が高い方が望ましいのは確かであるが、印刷の遂行を優先したいので、非暗号印刷でリクエストがあった場合には、常にそのまま通信を継続して印刷処理を行っている。すなわち、通信の内容に応じてリダイレクトの指示をするかしないかを制御しており、通信の内容が印刷要求であった場合には、前記クライアントへ前記リダイレクトの指示を行わず、第１のプロトコルを用いて通信を継続している。
しかし、印刷処理においても、ウェブアクセスの場合と同じように、ステップＳ２２１の非暗号ウェブリクエスト受付処理と同等の処理をしてもよい。
この場合、ＣＰＵ１１は、印刷データの中から、認証機関の情報、例えばＣｅｒｔ−Ｉｓｓｕｒｅ−Ｉｎｆｏヘッダ６１を調べ、クライアント証明書５１の署名者情報を得る。そして、フラッシュメモリ１４に記憶している第１ＣＡ証明書４３を検索し、その所有者情報を調べ、所有者情報が一致していた場合には、４４３番ポートのｈｔｔｐｓへリダイレクトするＨＴＴＰレスポンスを作成する。
一方、所有者情報が一致していなかった場合には８０番ポートのまま通信を継続して印刷を行えばよい。
このような構成とすることでより通信の安全性を高めることができる。
【００６０】
以上に、本発明の実施形態について説明したが、本発明は前記実施形態に限定されることなく適宜変形して実施することが可能である。
例えば、実施形態においては、デジタル複合機１０をサーバ、ＰＣ３０をクライアントの例としたが、サーバやクライアントは、他の通信機器であっても構わない。例えば、テレビ、サーバコンピュータ、ハードディスクレコーダなどがサーバやクライアントになることもあるし、携帯電話がクライアントになることもある。
また、非暗号通信プロトコルとしてｈｔｔｐ、暗号通信プロトコルとしてｈｔｔｐｓを例示したが、これらに限定されるものではない。例えば、非暗号通信プロトコルとしてｌｐｒ，ｓｎｍｐ  ｖ１を用い、暗号通信プロトコルとしてｓｎｍｐ  ｖ３を用いることもできる。
【００６１】
前記実施形態においては、クライアントからの要求がパスワードの変更である場合に、暗号化通信のみで通信し、暗号化通信ができない場合には通信を中断していたが、パスワードの登録の場合にも同様に、暗号化通信のみで通信し、暗号化通信ができない場合には通信を中断する構成とすることができる。たとえば、会員登録する場合などにパスワードの新規登録する場合などがありうる。
【００６２】
前記実施形態においては、クライアントから送信する認証機関の情報として、１つの認証機関の情報を送信する場合を例示したが（図８（ａ）参照）、複数の認証機関の情報を送信するのが望ましい。複数の認証機関の情報を送信することで、サーバが対応する電子証明書を有している可能性が高くなり、安全性の高い通信が確立できる可能性が高くなる。
【００６３】
前記実施形態においては、サーバおよびクライアントが、それぞれ自装置とは別個の認証機関から発行された証明書（サーバ証明書４１およびクライアント証明書５１）を利用した例を説明したが、サーバまたはクライアントは、それぞれ認証機関を兼ねていても構わない。例えば、第２ＣＡ２２とデジタル複合機１０とを１つの機械で構成しても構わない。
【００６４】
なお、サーバは、第２のプロトコルを用いる通信が不可能と判断された場合、クライアントからの第１のプロトコルを用いた通信の内容に応じて、その後の通信を制御するように構成してもよい。例えば、第２のプロトコルを用いる通信が不可能と判断された場合、機密情報を取り扱うアプリケーションからの指令（通信要求）の場合には、その後の第１のプロトコルを用いた通信も不可能とし、機密情報を扱うアプリケーションからの指令（通信要求）でない場合は第１のプロトコルを用いた通信を継続するとよい。そのため、クライアントには機密情報を取り扱うアプリケーションとそうでないアプリケーションを分けて記憶、もしくは機密情報を取り扱うか否かを示すフラグを立てて記憶しておくとよい。また、サーバは、アプリケーションの判別をクライアントがアクセスしてきたＵＲＩや、使用したポートで行えばよい。
これにより、機密情報はセキュリティの高いプロトコルだけで行うことができ、ユーザは、安心して通信を試みることができる。
【００６５】
また、機密か否かを示すだけでなく、機密の程度を数値などにより示して記憶しておいてもよい。この場合、ユーザにより、機密の程度を選択できるようにしておくのが望ましい。例えば、サーバに所定の機密の程度を記憶させておき、当該機密の程度より低い機密に関する通信を要求された場合には、クライアントが送信してきた認証機関の情報に対応する認証機関の電子証明書がサーバの記憶装置内になくても第１のプロトコルを用いて通信を継続するとよい。逆に、当該機密の程度より高い機密に関する通信であった場合には、サーバは、クライアントが送信してきた認証機関の情報に対応する認証機関の電子証明書がサーバの記憶装置内になければ、第１，第２のプロトコルによる通信を不可能とするとよい。
【図面の簡単な説明】
【００６６】
【図１】本実施形態の通信システム１の構成を表す説明図である。
【図２】本実施形態に係る通信システムの署名関係を説明する図である。
【図３】デジタル複合機とＰＣとの間で暗号化通信を確立する手続としてのＳＳＬハンドシェイクの手順を表すラダーチャートである。
【図４】本実施形態の通信システムで用いられる電子証明書の構成を表す説明図であり（ａ）は、サーバ証明書の構成、（ｂ）は、クライアント証明書の構成、（ｃ）は、第１ＣＡ証明書の構成、（ｄ）は、第２ＣＡ証明書の構成である。
【図５】ＰＣからデジタル複合機へウェブアクセスする場合の処理を示すフローチャートである。
【図６】デジタル複合機のＣＰＵが行う処理を表すフローチャートである。
【図７】非暗号ウェブリクエスト受付処理を示すフローチャートである。
【図８】（ａ）は、ｈｔｔｐ接続をリクエストする場合のヘッダの例であり、（ｂ）は、ｈｔｔｐｓのポートへのリダイレクトを指示したＨＴＴＰレスポンスの例である。
【符号の説明】
【００６７】
１      通信システム
１０    デジタル複合機
３０    パーソナルコンピュータ
４１    サーバ証明書
４２    サーバ秘密鍵
４３    第１ＣＡ証明書
５１    クライアント証明書
５２    クライアント秘密鍵
５３    第２ＣＡ証明書
６１    Ｃｅｒｔ−Ｉｓｓｕｒｅ−Ｉｎｆｏヘッダ
６２    アクセス先ＵＲＩ
【図１】
2008090458.tif 000003
【図２】
2008090458.tif 000004
【図３】
2008090458.tif 000005
【図４】
2008090458.tif 000006
【図５】
2008090458.tif 000007
【図６】
2008090458.tif 000008
【図７】
2008090458.tif 000009
【図８】
2008090458.tif 000010