(57)【要約】【課題】  絶対時刻のわかる時計を内蔵していないプリンタで、サーバ証明書を使用してＨＴＴＰＳサーバと通信を行う。【解決手段】  プリンタ１０は、自装置に組み込まれているサーバ証明書１０６ｂを参照し、サーバ証明書１０６ｂの有効期間の開始時刻「２００３／１／１０  ９：３０：５４」を現在時刻として設定する。こうすれば、サーバ証明書１０６ｂは必ず有効に使用することができる。プリンタ１０は、設定された現在時刻とサーバ証明書１０６ｂを使用して、管理サーバ２０にＨＴＴＰＳ接続を行い、管理サーバ２０に設定されているサーバ時刻の取得要求を送信する。管理サーバ２０は、サーバ証明書１０６ｂの認証を行い、サーバ時刻を送信する。プリンタ１０は、サーバ時刻を受信すると、ＨＴＴＰＳ接続を切断し、サーバ時刻を現在時刻として設定後、再度、管理サーバ２０に対してＨＴＴＰＳ接続を行う。【選択図】  図１
2005262817.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに、サーバと共に接続されたデバイスであって、
所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する時刻管理部と、
前記サーバの認証に使用する電子的な証明書を格納する証明書格納部と、
前記証明書の有効期間情報および前記相対時刻に基づき、前記サーバとの通信を確立する通信部と、
前記通信に先立ち、前記証明書の有効期間内の時刻を、前記基準時刻として設定する時刻設定部とを備えるデバイス。
【請求項２】
請求項１記載のデバイスであって、
前記有効期間情報には有効期間の開始時刻および終了時刻が含まれ、
前記時刻設定部は、前記開始時刻を、前記基準時刻として設定するデバイス。
【請求項３】
請求項１記載のデバイスであって、
更に、前記サーバに内蔵されている時計が示す時刻情報であるサーバ時刻を取得して、該サーバ時刻を前記基準時刻として設定する時刻同期部とを備え、
前記通信部は、前記時刻同期部により設定された際に、前記証明書および前記相対時刻に基づき、前記サーバとの通信を再確立するデバイス。
【請求項４】
ネットワークにサーバと共に接続されたデバイスであって、
所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する時刻管理部と、
前記サーバの認証に使用する電子的な証明書を格納する証明書格納部と、
前記証明書の有効期間情報および前記相対時刻に基づき、前記サーバとの通信を確立する通信部と
前記基準時刻の設定履歴に基づき、時刻同期を行うか否かを判定する判定部と、
前記判定により、前記時刻同期を行うと判定された場合に、前記証明書の有効期間内の時刻を、前記基準時刻として設定する時刻設定部と、
前記サーバに内蔵されている時計が示す時刻情報であるサーバ時刻を取得して、前記基準時刻として設定することにより前記時刻同期を行う時刻同期部とを備えるデバイス。
【請求項５】
請求項４記載のデバイスであって、
前記判定部は、前記デバイスの電源が投入されてから、前記時刻同期が行われた回数が所定回数以下である場合に、前記時刻同期を行うと判定するデバイス。
【請求項６】
請求項４記載のデバイスであって、
前記判定部は、前記基準時刻からの経過時間が一定以上である場合に、前記時刻同期を行うと判定するデバイス。
【請求項７】
ネットワークにサーバと共に接続されたデバイスであって、
所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する時刻管理部と、
前記サーバの認証に使用する電子的な証明書であって、有効期間の一部重複する証明書を複数格納する証明書格納部と、
前記有効期間情報に前記基準時刻が含まれている証明書を選択する証明書選択部と、
前記選択された証明書、および、前記基準時刻に基づき、前記サーバとの通信を行う通信部とを備えるデバイス。
【請求項８】
請求項７記載のデバイスであって、
更に、
前記サーバに内蔵されている時計が示す時刻情報であるサーバ時刻を取得して、前記基準時刻として設定することにより、前記デバイスと前記サーバとの時刻同期を行う時刻同期部とを備えるデバイス。
【請求項９】
請求項７、または、請求項８記載のデバイスであって、
前記通信が確立したか否かを判断する通信判断部と、
前記判断により、通信が確立していないと判断された場合に、前記基準時刻に対して相対的に所定時間ずらした時刻を仮基準時刻として設定する仮基準時刻設定部とを備え、
前記通信部は、前記仮基準時刻を、前記基準時刻とみなして、前記サーバとの通信を行うデバイス。
【請求項１０】
請求項９記載のデバイスであって、
前記通信が確立するまで、前記証明書の選択、前記仮基準時刻の設定、および、前記通信を繰り返す通信制御部とを備えるデバイス。
【請求項１１】
ネットワークに接続されたデバイスであって、
所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する時刻管理部と、
前記ネットワークに接続された、絶対時刻を保持している時刻管理サーバから、絶対時刻の取得を試みるとともに、前記基準時刻を前記取得された絶対時刻もしくは予め設定された時刻の一方に設定する時刻設定部と、
前記相対時刻に基づき、前記取得の成否を判断する判断部とを備えるデバイス。
【請求項１２】
請求項１１記載のデバイスであって、
前記判断部は、前記相対時刻が、前記デバイスの製造日よりも前である場合に、前記取得に失敗したと判断するデバイス。
【請求項１３】
同一ネットワークに接続されたデバイスの電子的な証明書を管理する管理装置であって、
該証明書には、有効期間が設定されており、
前記証明書に基づき、前記デバイスの認証を行う認証部と、
有効である証明書を、常に、２以上格納する証明書格納部と、
前記証明書のうち、前記デバイスからアクセスのあった証明書の残余有効期間を確認する有効期間確認部と、
前記確認に基づき、前記証明書のうち、前記残余有効期間よりも長い残余有効期間を有する証明書を前記デバイスに送信する送信部とを備える管理装置。
【請求項１４】
請求項１３記載の管理装置であって、
前記送信部は、前記証明書のうち前記残余有効期間が最長である証明書を送信する管理装置。
【請求項１５】
請求項１３記載の管理装置であって、
前記証明書格納部は、有効期間が重複する証明書を２つ保持する管理装置。
【請求項１６】
ネットワークに、サーバと共に接続されたデバイスが行う通信方法であって、
（ａ）所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する工程と、
（ｂ）前記サーバの認証に使用する電子的な証明書を保持する工程と、
（ｃ）前記証明書の有効期間情報および前記相対時刻に基づき、前記サーバとの通信を確立する工程と、
（ｄ）前記通信に先立ち、前記証明書の有効期間内の時刻を、前記基準時刻として設定する工程とを備える通信方法。
【請求項１７】
ネットワークに、サーバと共に接続されたデバイスが行う通信方法であって、
（ａ）所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する工程と、
（ｂ）前記サーバの認証に使用する電子的な証明書を格納する工程と、
（ｃ）前記証明書の有効期間情報および前記相対時刻に基づき、前記サーバとの通信を確立する工程と、
（ｄ）前記基準時刻の設定履歴に基づき、時刻同期を行うか否かを判定する工程と、
（ｅ）前記判定により、前記時刻同期を行うと判定された場合に、前記証明書の有効期間内の時刻を、前記基準時刻として設定する工程と、
（ｆ）前記サーバに内蔵されている時計が示す時刻情報であるサーバ時刻を取得して、前記基準時刻として設定することにより前記時刻同期を行う工程とを備える通信方法。
【請求項１８】
ネットワークに、サーバと共に接続されたデバイスが行う通信方法であって、
（ａ）所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する工程と、
（ｂ）前記サーバの認証に使用する電子的な証明書であって、有効期間の一部重複する証明書を複数格納する工程と、
（ｃ）前記有効期間情報に前記基準時刻が含まれている証明書を選択する工程と、
（ｄ）前記選択された証明書、および、前記基準時刻に基づき、前記サーバとの通信を行う工程とを備える通信方法。
【請求項１９】
ネットワークに接続されたデバイスが行う時刻判断方法であって、
（ａ）所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する工程と、
（ｂ）前記ネットワークに接続された、絶対時刻を保持している時刻管理サーバから、絶対時刻の取得を試みるとともに、前記基準時刻を、前記取得された絶対時刻もしくは予め設定された時刻の一方に設定する工程と、
（ｃ）前記相対時刻に基づき、前記取得の成否を判断する工程とを備える時刻判断方法。
【請求項２０】
同一ネットワークに接続されたデバイスの電子的な証明書を管理装置が管理する管理方法であって、
該証明書には、有効期間が設定されており、
（ａ）前記証明書に基づき、前記デバイスの認証を行う工程と、
（ｂ）有効である証明書を、常に、２以上保持する工程と、
（ｃ）前記証明書のうち、前記デバイスからアクセスのあった証明書の残余有効期間を確認する工程と、
（ｄ）前記確認に基づき、前記証明書のうち、前記残余有効期間よりも長い残余有効期間を有する証明書を前記デバイスに送信する工程とを備える管理方法。
【請求項２１】
ネットワークに、サーバと共に接続されたデバイスにセキュア通信を実行させるためのコンピュータプログラムであって、
所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する機能と、
前記サーバの認証に使用する電子的な証明書を保持する機能と、
前記証明書の有効期間情報および前記相対時刻に基づき、前記証明書の有効もしくは無効を判定して、前記サーバとの通信を確立する機能と、
前記通信に先立ち、前記証明書の有効期間内の時刻を、前記基準時刻として設定する機能とをコンピュータに実行させるためのコンピュータプログラム。
【請求項２２】
ネットワークに、サーバと共に接続されたデバイスにセキュア通信を実行させるためのコンピュータプログラムであって、
所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する機能と、
前記サーバの認証に使用する電子的な証明書を格納する機能と、
前記証明書の有効期間情報および前記相対時刻に基づき、前記サーバとの通信を確立する機能と、
前記基準時刻の設定履歴に基づき、時刻同期を行うか否かを判定する機能と、
前記判定により、前記時刻同期を行うと判定された場合に、前記証明書の有効期間内の時刻を、前記基準時刻として設定する機能と、
前記サーバに内蔵されている時計が示す時刻情報であるサーバ時刻を取得して、前記基準時刻として設定することにより前記時刻同期を行う機能とをコンピュータに実行させるためのコンピュータプログラム。
【請求項２３】
ネットワークに、サーバと共に接続されたデバイスにセキュア通信を実行させるためのコンピュータプログラムであって、
所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する機能と、
前記サーバの認証に使用する電子的な証明書であって、有効期間の一部重複する証明書を複数格納する機能と、
前記有効期間情報に前記基準時刻が含まれている証明書を選択する機能と、
前記選択された証明書、および、前記基準時刻に基づき、前記サーバとの通信を行う機能とをコンピュータに実行させるためのコンピュータプログラム。
【請求項２４】
ネットワークに接続されたデバイスに時刻判断を実行させるためのコンピュータプログラムであって、
所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する機能と、
前記ネットワークに接続された、絶対時刻を保持している時刻管理サーバから、絶対時刻の取得を試みるとともに、前記基準時刻を前記取得された絶対時刻もしくは予め設定された時刻の一方に設定する機能と、
前記相対時刻に基づき、前記取得の成否を判断する機能とをコンピュータに実行させるためのコンピュータプログラム。
【請求項２５】
同一ネットワークに接続されたデバイスの電子的な証明書を、管理装置に管理させるためのコンピュータプログラムであって、
該証明書には、有効期間が設定されており、
前記証明書に基づき、前記デバイスの認証を行う機能と、
有効である証明書を、常に、２以上保持する機能と、
前記証明書のうち、前記デバイスからアクセスのあった証明書の残余有効期間を確認する機能と、
前記確認に基づき、前記証明書のうち、前記残余有効期間よりも長い残余有効期間を有する証明書を前記デバイスに送信する機能とをコンピュータに実行させるためのコンピュータプログラム。
【請求項２６】
請求項２１〜請求項２５いずれか記載のコンピュータプログラムをコンピュータ読み取り可能に記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを経由してセキュア通信でデータを授受して動作するデバイスに関するものである。
【背景技術】
【０００２】
近年、ネットワークを介して、クライアントがサーバに重要な情報を送信する場合、サーバ証明書を使用して接続を確立する態様が普及している。サーバ証明書には、サーバ上に存在する秘密鍵と対になっている公開鍵が含まれている。クライアントは、予め、サーバ証明書を組み込んでおき、公開鍵を使用してサーバの認証および通信の暗号化を行い、セキュリティを確保している。
【０００３】
サーバ証明書には、有効期間が予め設定されている。かかる有効期間は、例えば、「開始；２００３／１０／０１  １０：００：００」、「終了；２００４／１０／０１  ０９：５９：５９」というように開始時刻および終了時刻が設定されており、この期間以外では、サーバ証明書を使用することはできない。実際には、時差も考慮に入れられるが、ここでは省略する。通常、クライアントは、現在時刻を示す時計を内蔵している。クライアントは、この内蔵されている時計が示す時刻と、有効期間とを参照し、サーバ証明書の有効／無効を判断し使用している。
【０００４】
一方、印刷装置は、現在時刻を示す時計ではなく、ある基準時刻からの経過時間のみを計測可能なタイマーしか内蔵していない。印刷装置は、ネットワークを介して、サーバから時刻を取得し、自装置の基準時刻として使用するという態様が普及している。
【０００５】
【特許文献１】特開２００２−７７０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、印刷装置がサーバ証明書を使用してサーバとの通信を所望する場合、絶対時刻がわからないため、サーバ証明書の有効／無効を判断できない。故に、印刷装置はサーバ証明書を使用できず、そのため、サーバと通信を行えず、絶対時刻を取得することもできないという問題があった。
【０００７】
本発明は、このような課題に鑑みてなされたものであり、時計が内蔵されていない印刷装置などのデバイスが、サーバ証明書を使用して、セキュリティを確保した状態で、サーバに接続する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題の少なくとも一部を解決するために、本発明は、第１の構成として以下のような構成をとることした。すなわち、
ネットワークに、サーバと共に接続されたデバイスにおいて、
所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する時刻管理部と、
前記サーバの認証に使用する電子的な証明書を格納する証明書格納部と、
前記証明書の有効期間情報および前記相対時刻に基づき、前記証明書の有効もしくは無効を判定して、前記サーバとの通信を確立する通信部と、
前記通信に先立ち、前記証明書の有効期間内の時刻を、前記相対時刻として設定する時刻設定部とを備えることを要旨とする。
【０００９】
デバイスとは、例えば、印刷装置、プロジェクタなどとしてもよい。証明書とは、例えば、サーバ証明書としてもよい。
【００１０】
通信部は、例えば、相対時刻が、証明書に設定されている有効期間内であるか否かに基づき、有効／無効を判断することとしてもよい。通信部は、証明書を使用して、例えば、ＨＴＴＰＳプロトコルを使用した暗号化通信を確立することとしてもよい。
【００１１】
このような構成とすれば、デバイスは、組み込まれている証明書を必ず有効であると判断でき、かかる有効な証明書を使用してサーバに接続を行うことができる。従って、絶対時刻のわかる時計を内蔵していないデバイスであっても、証明書を使用したセキュアな通信を確立することができる。
【００１２】
本発明のデバイスにおいて、前記有効期間情報には有効期間の開始時刻および終了時刻が含まれ、前記時刻設定部は、前記開始時刻を、前記基準時刻として設定することとしてもよい。こうすれば、デバイスは、有効な証明書を使用するための相対時刻を、簡易に設定することができる。
【００１３】
本発明のデバイスにおいて、
更に、前記サーバに内蔵されている時計が示す時刻情報であるサーバ時刻を取得して、前記基準時刻として設定する時刻同期部とを備え、
前記通信部は、前記時刻同期部により設定された際に、前記証明書および前記相対時刻に基づき、前記サーバとの通信を再確立することとしてもよい。
【００１４】
こうすれば、サーバ時刻と相対時刻との同期をとることができる。従って、同期された相対時刻に基づき、再度、通信を確立することにより、両者の時刻が整合した本来の通信環境下でセキュアな接続を行うことができる。
【００１５】
本発明の第２の構成として、
ネットワークにサーバと共に接続されたデバイスにおいて、
所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する時刻管理部と、
前記サーバの認証に使用する電子的な証明書を格納する証明書格納部と、
前記証明書の有効期間情報および前記相対時刻に基づき、前記サーバとの通信を確立する通信部と
前記基準時刻の設定履歴に基づき、時刻同期を行うか否かを判定する判定部と、
前記判定により、前記時刻同期を行うと判定された場合に、前記証明書の有効期間内の時刻を、前記基準時刻として設定する時刻設定部と、
前記サーバに内蔵されている時計が示す時刻情報であるサーバ時刻を取得して、前記基準時刻として設定することにより前記時刻同期を行う時刻同期部とを備えることを要旨とする。
【００１６】
基準時刻の設定履歴とは、例えば、過去所定回数分の基準時刻の設定履歴としてもよいし、最後に設定された基準時刻としてもよい。また、サーバとの時刻同期が行われた際に設定された基準時刻の履歴などとしてもよい。
【００１７】
本発明の構成によれば、サーバとの通信を行う前に、基準時刻の設定履歴に基づき、時刻同期を行うか否かを判断するため、無用な時刻同期を抑制することができる。
【００１８】
本発明のデバイスにおいて、前記判定部は、前記デバイスの電源が投入されてから、前記時刻同期が行われた回数が所定回数以下である場合に、前記時刻同期を行うと判定することとしてもよい。例えば、所定回数を０回、即ち一度も時刻同期されていないことを要件としてもよいし、所定回数を３回など１以上の値としても良い。
【００１９】
また、本発明のデバイスにおいて、前記判定部は、前記基準時刻からの経過時間が一定以上である場合に、前記時刻同期を行うと判定することとしてもよい。
【００２０】
このような構成をとることとすれば、効率的に時刻同期を行うことができ、無用な時刻同期を抑制しつつ、相対時刻に含まれる誤差を抑制することができる。
【００２１】
本発明の第３の構成として、
ネットワークにサーバと共に接続されたデバイスにおいて、
所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する時刻管理部と、
前記サーバの認証に使用する電子的な証明書であって、有効期間の一部重複する証明書を複数格納する証明書格納部と、
前記有効期間情報に前記基準時刻が含まれている証明書を選択する証明書選択部と、
前記選択された証明書、および、前記基準時刻に基づき、前記サーバとの通信を行う通信部とを備えることを要旨とする。
【００２２】
選択された証明書は、少なくとも基準時刻時には有効であるから、このような構成をとることとすれば、デバイスは、高い確率でサーバとの間でセキュアな通信を確立することができる。
【００２３】
本発明のデバイスにおいて、
更に、
前記サーバに内蔵されている時計が示す時刻情報であるサーバ時刻を取得して、前記基準時刻として設定することにより、前記デバイスと前記サーバとの時刻同期を行う時刻同期部とを備えることとしてもよい。
【００２４】
こうすれば、サーバと通信を行う際に、最後に時刻同期を行った際に取得したサーバ時刻を基準時刻として、証明書の選択、および通信を行うことができる。従って、以前に、サーバと通信を行うことのできた証明書を使用することができるため、絶対時刻のわかる時計を内蔵していないデバイスであっても、サーバとの間でセキュリティを確保した通信を確立することができる。
【００２５】
本発明のデバイスにおいて、
前記通信が確立したか否かを判断する通信判断部と、
前記判断により、通信が確立していないと判断された場合に、前記基準時刻に対して相対的に所定時間ずらした時刻を仮基準時刻として設定する仮基準時刻設定部とを備え、
前記通信部は、前記仮基準時刻を、前記基準時刻とみなして、前記サーバとの通信を行うこととしてもよい。
【００２６】
通信が確立できない場合とは、例えば、証明書の有効期間が長期に亘っており、デバイス側では有効な証明書であるが、サーバ側の設定として、有効期間内であっても、証明書を使用できる期間が限定されている場合などに、無効な証明書と判断される場合等が挙げられる。
【００２７】
所定時間ずらした時刻とは、基準時刻から所定時間進ませた時刻としてもよいし、所定時間戻した時刻としてもよい。
【００２８】
本発明のような構成とすれば、サーバとの通信に使用する基準時刻を、所定時間ずらしながら、通信が確立するまで通信を試みることができる。従って、サーバの設定等を考慮して通信を確立することができる。
【００２９】
本発明のデバイスにおいて、
前記通信が確立するまで、前記証明書の選択、前記仮基準時刻の設定、および、前記通信を繰り返す通信制御部とを備えることとしてもよい。
【００３０】
基準時刻を所定時間ずらした時刻を使用して通信の確立を試みた結果、かかるずらした時刻が、選択された証明書の有効期間の範囲外となり証明書が無効と判断される場合がある。このような場合でも、本発明の構成をとることとすれば、基準時刻において有効であり、かつ、有効期間の異なる証明書を使用して通信を行うことができる。
【００３１】
本発明の第４の構成として、
ネットワークに接続されたデバイスにおいて、
所定の基準時刻と該基準時刻からの経過時間によって特定される相対時刻とを管理する時刻管理部と、
前記ネットワークに接続された、絶対時刻を保持している時刻管理サーバから、絶対時刻の取得を試みるとともに、前記基準時刻を、前記取得された絶対時刻もしくは予め設定された時刻の一方に設定する時刻設定部と、
前記相対時刻に基づき、前記取得の成否を判断する判断部とを備えることとしてもよい。
【００３２】
絶対時刻とは、世界的に管理された時刻を表す。かかる絶対時刻を管理する時刻管理サーバとは、例えば、ＮＴＰサーバとしてもよい。時刻管理サーバは、ネットワーク上に存在しない場合や、存在していても、応答が得られない場合などがある。かかる場合には、時刻設定部は、例えば、相対時刻を、予めユーザが任意に設定した過去の時刻としてもよい。
【００３３】
判断部は、例えば、相対時刻が、予め比較対象として任意に設定された基準時刻よりも後である場合には、取得に成功したと判断することとしてもよい。
【００３４】
こうすれば、時刻管理サーバから絶対時刻の取得に成功したか否かを判断することができ、利便性が向上する。
【００３５】
本発明のデバイスにおいて、前記判断部は、前記相対時刻が、前記デバイスの製造日よりも前である場合に、前記取得に失敗したと判断することとしてもよい。こうすれば、簡易に、絶対時刻の取得の成否を判断することができる。
【００３６】
本発明の第５の構成として、
同一ネットワークに接続されたデバイスの電子的な証明書を管理する管理装置において、
該証明書には、有効期間が設定されており、
前記証明書に基づき、前記デバイスの認証を行う認証部と、
有効である証明書を、常に、２以上格納する証明書格納部と、
前記証明書のうち、前記デバイスからアクセスのあった証明書の残余有効期間を確認する有効期間確認部と、
前記確認に基づき、前記証明書のうち、前記残余有効期間よりも長い残余有効期間を有する証明書を前記デバイスに送信する送信部とを備えることとしてもよい。
【００３７】
残余有効期間とは、例えば、証明書の有効期間の終期と、サーバに内蔵されている時計が示すサーバ時刻との間隔を表すこととしてもよい。
【００３８】
送信部は、例えば、アクセスされたデバイスが有する証明書の残余有効期間が、有効期間全体の半分以下など一定割合以下である場合に送信することとしてもよいし、残余有効期間が３ヶ月以下など一定期間以下の場合に送信することとしてもよい。送信部は、例えば、デバイスに、証明書の更新指示を送信し、デバイスに証明書の取得要求を発信させることとしてもよいし、デバイスからの取得要求を待たずに送信することとしてもよい。
【００３９】
こうすれば、管理装置は、証明書の有効期間に基づいて、デバイスが使用する証明書の更新の是非を判断することができる。よって、管理装置は、デバイスに対して、有効な証明書を効率的に送信することができる。
【００４０】
本発明の管理装置において、前記送信部は、前記証明書のうち前記残余有効期間が最長である証明書を送信することとしてもよい。
【００４１】
管理装置は、有効な証明書を複数有している場合があるため、こうすれば、管理装置は、証明書の重複更新を回避することができ、効率的に証明書を送信することができる。
【００４２】
本発明の管理装置において、前記証明書格納部は、有効期間が重複する証明書を２つ保持することとしてもよい。こうすれば、管理装置は、デバイスに、常に有効な証明書を、最小限の管理数で使用させることができ、利便性が向上する。
【００４３】
本発明において、上述した種々の態様は、適宜、組み合わせたり、一部を省略したりして適用することができる。また、本発明は、上述したデバイス、管理装置としての構成の他に、デバイスによる通信方法、時刻判断方法、管理装置による証明書の管理方法、デバイスに通信を実行させるためのコンピュータプログラム、デバイスに時刻判断を実行させるためのコンピュータプログラム、管理装置に、証明書の管理を実行させるためのコンピュータプログラム、かかるコンピュータプログラムをコンピュータ読み取り可能に記録した記録媒体等としても構成できる。いずれの構成においても、上述した各態様を適宜適用可能である。コンピュータが読み取り可能な記録媒体としては、例えば、フレキシブルディスクや、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ハードディスク等種々の媒体を利用することが可能である。
【発明を実施するための最良の形態】
【００４４】
以下、本発明の実施の形態について、実施例に基づき、次の順序で説明する。
Ａ．第１実施例：
Ａ１．システム概要：
Ａ２．機能ブロック：
Ａ３．アップロード処理：
Ａ４．サーバ側接続処理：
Ａ５．証明書更新処理：
Ｂ，第２実施例：
Ｂ１．機能ブロック：
Ｂ２．通信確立処理：
Ｂ３．サーバ接続処理：
Ｃ．変形例：
【００４５】
図１は、実施例における印刷システム１０００を例示する説明図である。印刷システム１０００は、インターネットＩＮＴを介して、ローカルエリアネットワークＬＡＮ１、ＬＡＮ２から構成されている。ローカルエリアネットワークＬＡＮ１には、プリンタ１０と、ＮＴＰサーバ３０が接続され、ローカルエリアネットワークＬＡＮ２には、管理サーバ２０と、データベース４０が接続されている。プリンタ１０は、自装置の使用履歴やエラー情報などを所定間隔で管理サーバ２０にアップロードしている。管理サーバ２０は、かかる情報をデータベース４０に格納する。プリンタ１０と管理サーバ２０の間は、セキュリティを確保するためＨＴＴＰＳプロトコルにより接続される。
【００４６】
プリンタ１０には、予め、管理サーバ２０から供給されたサーバ証明書１０６ｂが組み込まれている。サーバ証明書１０６ｂは、管理サーバ２０上に存在する秘密鍵と対になっている公開鍵が含まれている。プリンタ１０は、かかる公開鍵を使用して管理サーバ２０の認証および通信路の暗号化を行い、セキュリティを確保している。本実施例では、サーバ証明書１０６ｂは、有効期間内に必ず更新されることとする。
【００４７】
ＮＴＰサーバ３０は、絶対時刻を管理しているサーバである。プリンタ１０は、絶対時刻のわかる時計を内蔵しておらず、所定の基準時刻からの経過時間をカウントアップするタイマーにより示される相対的な時刻を、自装置の現在時刻として管理している。すなわち、プリンタ１０は、ＮＴＰサーバ３０から絶対時刻を取得し、基準時刻として設定している。プリンタ１０は、ＮＴＰサーバ３０から応答が得られず、絶対時刻を取得できない場合には、過去の時刻である「２０００年１月１日  ０：００：００」を基準時刻として設定する。設定される時刻は過去の時刻に限らず、何らかの判断基準で不正確であると判断できるものであればよい。
【００４８】
プリンタ１０は、各種情報を管理サーバ２０にアップロードする際、ＮＴＰサーバ３０から絶対時刻を取得できたか否かを判断し、絶対時刻が取得できていない場合には、前述のように不正確な時刻が現在時刻として設定されるため、サーバ証明書１０６ｂを使用することができない。かかる場合に、プリンタ１０は、サーバ証明書１０６ｂの有効期間の開始時刻を、まず、自装置の現在時刻として設定する。すなわち、プリンタ１０は、自装置に組み込まれているサーバ証明書１０６ｂを参照し、図に示すように、サーバ証明書１０６ｂの有効期間の開始時刻「２００３／１／１０  ９：３０：５４」を、基準時刻として設定する。こうすれば、サーバ証明書１０６ｂは、必ず有効に使用することができる。
【００４９】
プリンタ１０は、設定された基準時刻からカウントアップされた現在時刻とサーバ証明書１０６ｂを使用して、図に太線矢印で示すように、管理サーバ２０にＨＴＴＰＳ接続を行い、管理サーバ２０に設定されているサーバ時刻の取得要求を送信する。管理サーバ２０は、プリンタ１０からアクセスを受け付けると、サーバ証明書１０６ｂの認証を行い、サーバ時刻を送信する。プリンタ１０は、サーバ時刻を受信すると、ＨＴＴＰＳ接続を切断し、サーバ時刻を基準時刻として設定後、再度、管理サーバ２０に対してＨＴＴＰＳ接続を行い、各種情報のアップロードを行う。
【００５０】
Ａ２．機能ブロック：
Ａ２−１．プリンタ機能ブロック：
図２は、本実施例におけるプリンタ１０の機能ブロックを例示する説明図である。プリンタ１０は、主制御部１００と、時刻管理部１０１と、サーバ証明書管理部１０２と、判断部１０３と、通信部１０４と、履歴格納部１０５と、サーバ証明書格納部１０６と、印刷制御部１０７と、製造年月日格納部１０８とから構成されている。履歴格納部１０５と、サーバ証明書１０６ｂと、製造年月日格納部１０８は、プリンタ１０に備えられた記憶領域に記憶されている。他の各機能ブロックは、ソフトウェア的に構成され、主制御部１００により制御されている。ハードウェア的に構成することとしてもよい。
【００５１】
サーバ証明書格納部１０６は、管理サーバ２０からダウンロードしたサーバ証明書を格納する機能を備える。本実施例では、サーバ証明書１０６ｂが格納されている。サーバ証明書１０６ｂは、サーバ上に存在する秘密鍵と対になっている公開鍵や、サーバが本物であることを証明する情報を有している。サーバ証明書格納部２０４は、サーバ証明書格納部１０６に格納されているサーバ証明書の参照や更新などの管理を行う機能を備える。
【００５２】
通信部１０４は、いわゆるネットワークインターフェースの機能を備えており、ネットワークに接続された他の機器と通信を行う機能を奏している。通信部１０４は、サーバ証明書１０６ｂを使用して、管理サーバ２０とＨＴＴＰＳプロトコルによる暗号化通信を確立し、履歴格納部１０５に格納されたプリンタ１０の使用履歴やエラー情報等をアップロードする。通信部１０４は、かかる暗号化通信を行う場合に、現在時刻１０１ａがサーバ証明書１０６ｂの有効期間内で有るか否かを判断し、有効期間内であれば、そのサーバ証明書１０６ｂは有効であると判断し、使用する。
【００５３】
時刻管理部１０１は、プリンタ１０に設定されている現在時刻１０１ａを管理している。プリンタ１０は絶対時刻のわかる時計を内蔵していないため、ＮＴＰサーバ３０から絶対時刻を取得し、かかる絶対時刻からカウントした時刻を自装置の現在時刻として設定し管理する。時刻管理部１０１は、ＮＴＰサーバ３０から応答が得られなかった場合には、基準時刻として「２０００年１月１日  ０：００：００」と設定し、かかる時刻からカウントアップを開始することとする。
【００５４】
また、時刻管理部１０１は、判断部１０３により、ＮＴＰサーバ３０から絶対時刻が取得できなかったと判断された場合には、サーバ証明書管理部１０２を介してサーバ証明書１０６ｂの有効期間の開始時刻を参照し、現在時刻１０１ａに設定する。こうすれば、確実にサーバ証明書を有効に使用することができる。
【００５５】
判断部１０３は、ＮＴＰサーバ３０から絶対時刻を正しく取得できたか否かを判断する機能を備える。具体的には、製造年月日格納部１０８および時刻管理部１０１を参照し、現在時刻１０１ａが製造年月日よりも後である場合に、絶対時刻を正しく取得できたと判断する。
【００５６】
印刷制御部１０７は、他の機器から送信された印刷データを印刷する機能を備える。
【００５７】
Ａ２−２．サーバ機能ブロック：
図３は、本実施例における管理サーバ２０の機能ブロックを例示する説明図である。管理サーバ２０は、主制御部２００と、認証部２０１と、サーバ時刻通知部２０２と、更新指示部２０３と、サーバ証明書格納部２０４と、通信部２０５とから構成されている。サーバ証明書格納部２０４は、管理サーバ２０に備えられた記憶領域に記憶されている。他の各機能ブロックは、ソフトウェア的に構成され、主制御部１００により制御されている。ハードウェア的に構成することとしてもよい。本実施例では、管理サーバ２０は、図示しない絶対時刻を管理しているサーバから絶対時刻を取得し、本実施例におけるサーバ時刻として管理していることとする。
【００５８】
通信部２０５は、いわゆるネットワークデバイスとしての機能を備えており、ネットワークに接続された他の機器と通信を行う。通信部２０５は、他の機器からＨＴＴＰＳプロトコルによるアクセスを受信した場合、認証部２０１に通知する。以降、管理サーバ２０にアクセスするプリンタ１０などの他の機器を総称して「クライアント」と呼ぶこととする。
【００５９】
認証部２０１は、クライアントが使用するサーバ証明書に含まれる公開鍵と対になる秘密鍵を有している。認証部２０１は、通信部２０５を介してＨＴＴＰＳプロトコルによるアクセスを受けた場合に、クライアントのアクセス権限の確認や、秘密鍵を用いて暗号化された情報の解読などを行う。
【００６０】
サーバ時刻通知部２０２は、クライアントからサーバ時刻２０２ａの取得要求を受け付けた場合に、サーバ時刻２０２ａを返信する機能を備える。
【００６１】
サーバ証明書格納部２０４は、有効期間が重複する有効な証明書を２つ格納する。更新指示部２０３は、必要に応じて証明書の更新指示、すなわち、残余有効期間の長い証明書をダウンロードさせる指示をクライアントに送信する。また、更新指示部２０３は、サーバ証明書のダウンロード要求を受け、サーバ証明書を送信する機能も奏する。残余有効期間の長いサーバ証明書を、ダウンロード指示を行わずに送信することとしてもよい。
【００６２】
図４は、本実施例におけるサーバ証明書を説明する説明図である。図４（ａ）は、サーバ証明書格納部２０４に格納されているサーバ証明書を示している。サーバ証明書１０６ｂは、図示するように有効期間が「２００４／１／１０  ９：３０：５４」から開始し、「２００５／１／１０  ９：３０：５３」に終了することを示している。また、サーバ証明書１０６ｃは、有効期間が「２００４／６／１０  ９：３０：５４」から開始し、「２００５／６／１０  ９：３０：５３」に終了することを示している。すなわち、サーバ証明書格納部２０４は、有効期間が重複する有効なサーバ証明書を２つ有している。
【００６３】
図４（ｂ）は、サーバ証明書の有効期間を説明する説明図である。図中の右向矢印は、時間経過を示しており、太線で証明書の有効期間を示している。サーバ証明書１０６ａは、サーバ証明書１０６ｂの有効期間の前半と重複するように、有効期間が設定されたサーバ証明書であり、現在日時が「２００４／１／１０  ９：３０：５４」〜「２００４／６／１０  ９：３０：５３」であったときに、サーバ証明書格納部２０４に格納されていた証明書である。サーバ証明書１０６ａは、その有効期間の終了である「２００４／６／１０  ９：３０：５３」に無効となる。管理サーバ２０は、かかるサーバ証明書１０６ａを削除するとともに、サーバ証明書１０６ｂの有効期間の後半と重複する有効期間を有する新しいサーバ証明書１０６ｃを取得する。
【００６４】
管理サーバ２０は、プリンタ１０からサーバ証明書１０６ｂを使用してアクセスがあった場合に、かかるサーバ証明書１０６ｂの残余有効期間を確認する。時刻Ｔ１のときにプリンタ１０からアクセスがあった場合には、残余有効期間は、サーバ証明書１０６ｂの全有効期間の半分以上であるため、更新する必要はないと判断する。時刻Ｔ２のときに、プリンタ１０からサーバ証明書１０６ｂを使用してアクセスがあった場合には、残余有効期間は、図示するように、サーバ証明書１０６ｂの全有効期間の半分以下であるため、プリンタ１０に対してサーバ証明書の更新指示を送信する。このとき、管理サーバ２０は、時刻Ｔ２の際に、サーバ証明書格納部２０４に存在し、サーバ証明書１０６ｂよりも長い残余有効期間を有するサーバ証明書１０６ｃを、プリンタ１０に更新させる。
【００６５】
Ａ３．アップロード処理：
図５は、本実施例におけるアップロード処理を説明するフローチャートである。プリンタ１０が、履歴格納部１０５に格納されている情報を、管理サーバ２０にアップロードする処理である。
【００６６】
プリンタ１０は、ＮＴＰサーバ３０にアクセスを試み、かかる試みの成否に基づき、自装置の現在時刻を設定する（ステップＳ１０）。かかる処理の詳細は後述する。本実施例では、ＮＴＰサーバ３０へアクセスできず、絶対時刻を取得できなかったものとして、次の処理を行う。
【００６７】
プリンタ１０は、管理サーバ２０にアクセスしてサーバ時刻を取得する。かかるサーバ時刻を自装置の現在時刻に設定し、管理サーバ２０と時刻の同期をとる（ステップＳ１１）。かかる処理の詳細は後述する。
【００６８】
次に、プリンタ１０は、ステップＳ１１において設定された現在時刻とサーバ証明書１０６ｂに基づき、管理サーバ２０に対して、ＨＴＴＰＳプロトコルによるアクセスを行い（ステップＳ１２）、履歴格納部１０５に格納されている情報をアップロードする（ステップＳ１３）。プリンタ１０は、アップロードを終了すると、管理サーバ２０との接続を切断する（ステップＳ１４）。
【００６９】
Ａ３−１．絶対時刻取得処理：
図６は、本実施例における絶対時刻取得処理を説明するフローチャートである。図５のステップＳ１０における処理に相当する処理である。
【００７０】
プリンタ１０は、ＮＴＰサーバ３０に接続するとともに（ステップＳ２０）、絶対時刻の取得要求を送信する（ステップＳ２１）。プリンタ１０は、ＮＴＰサーバ３０の接続の成否に基づき、現在時刻を設定する（ステップＳ２２）。プリンタ１０は、ＮＴＰサーバ３０から応答が得られた場合には、ＮＴＰサーバ３０から取得した絶対時刻を自装置の現在時刻に設定し、応答が得られなかった場合には、「２０００／１／１  ０：００：００」を自装置の現在時刻に設定する。
【００７１】
次に、プリンタ１０は、現在時刻と、自装置の製造年月日を参照し（ステップＳ２３、Ｓ２４）、現在時刻が製造年月日よりも後であるか否かを判断する（ステップＳ２５）。現在時刻が製造年月日よりも後である場合（ステップＳ２５：ＹＥＳ）には、絶対時刻の取得に成功したと判断し、図５のステップＳ１２から処理を続行する。現在時刻が製造年月日よりも前である場合（ステップＳ２５：ＮＯ）には、絶対時刻の取得に失敗した、すなわち、ＮＴＰサーバから応答が得られなかったものと判断し処理を終了して、図５のステップＳ１１の処理を行う。
【００７２】
Ａ３−２．時刻同期処理：
図７は、本実施例における時刻同期処理を説明するフローチャートである。図５のステップＳ１１における処理に相当する処理である。
【００７３】
プリンタ１０は、サーバ証明書を参照し（ステップＳ３０）、有効期間の開始時刻を現在時刻に設定する（ステップＳ３１）。プリンタ１０は、かかる現在時刻およびサーバ証明書を使用して、管理サーバ２０に対してＨＴＴＰＳ接続を確立する（ステップＳ３２）。
【００７４】
次に、プリンタ１０は、管理サーバ２０からサーバ時刻を取得し（ステップＳ３３）、かかるサーバ時刻を自装置の現在時刻に設定する（ステップＳ３４）。以上の処理を終えると、プリンタ１０は、管理サーバ２０とのＨＴＴＰＳ接続を切断し（ステップＳ３５）、図５におけるステップＳ１２から処理を続行する。
【００７５】
Ａ５．サーバ側接続処理：
図８は、本実施例における管理サーバ側接続処理を説明するフローチャートである。管理サーバ２０は、プリンタ１０からの接続を監視しており（ステップＳ４０）、プリンタ１０から接続があった場合には（ステップＳ４１：ＹＥＳ）、サーバ証明書の認証を行い、ＨＴＴＰＳ通信を確立する（ステップＳ４２）。
【００７６】
次に、管理サーバ２０は、プリンタ１０からのアクセスが、サーバ時刻の取得要求であるか否かを判断する（ステップＳ４３）。かかる取得要求である場合（ステップＳ４３：ＹＥＳ）には、管理サーバ２０は、プリンタ１０にサーバ時刻を通知し（ステップＳ４４）、サーバ証明書更新処理を行う（ステップＳ４７）。かかる更新処理は、管理サーバ２０がプリンタ１０に対して、プリンタ１０が使用するサーバ証明書を更新させる処理であり、詳細に関しては後述する。
【００７７】
管理サーバ２０は、プリンタ１０からのアクセスが、サーバ時刻の取得要求でない場合には（ステップＳ４３：ＮＯ）、プリンタ１０からの使用履歴などのアップロード要求であるか否かを判断する（ステップＳ４５）。アップロード要求である場合（ステップＳ４５：ＹＥＳ）、管理サーバ２０は、アップロードされた情報を、データベース４０に格納し（ステップＳ４６）、ステップＳ４７から処理を続行する。アップロード要求でない場合（ステップＳ４５：ＹＥＳ）、管理サーバ２０は、ステップＳ４７から処理を続行する。
【００７８】
以上の処理を終えると、管理サーバ２０は、ＨＴＴＰＳ接続が切断されたか否かを判断する（ステップＳ４８）。切断された場合（ステップＳ４８：ＹＥＳ）には、ステップＳ４０に戻り、プリンタ１０の監視を行う。切断されていない場合（ステップＳ４８：ＮＯ）には、ステップＳ４３から処理を繰り返す。
【００７９】
Ａ６．証明書更新処理：
図９は、本実施例におけるサーバ証明書更新処理を説明するフローチャートである。図８のステップＳ４７に相当する処理である。
【００８０】
管理サーバ２０は、プリンタ１０が使用しているサーバ証明書を参照し（ステップＳ５０）、かかるサーバ証明書の残余有効期間が、全有効期間の半分以下であるか否かを判断する（ステップＳ５１）。残余有効期間が半分以上ある場合には、管理サーバ２０は、更新すべきサーバ証明書はないと判断し処理を終了する（ステップＳ５１：ＮＯ）。
【００８１】
残余有効期間が半分以下の場合（ステップＳ５１：ＹＥＳ）には、管理サーバ２０は、プリンタ１０に対して、新しい証明書のダウンロード指示を送信する（ステップＳ５２）。管理サーバ２０は、プリンタ１０からのダウンロード要求を受け付けると（ステップＳ５３）、残余有効期間の長い新たなサーバ証明書を送信する（ステップＳ５４）。
【００８２】
以上説明した実施例のプリンタ１０によれば、絶対時刻のわかる時計を内蔵していないプリンタ等のデバイスであっても、予め組み込まれているサーバ証明書が確実に有効であると判断してサーバに接続を行うことができる。従って、サーバ証明書を使用したセキュアな通信を確立することができる。
【００８３】
また、本実施例の管理サーバ２０によれば、プリンタ１０が使用するサーバ証明書の有効期間に基づいて、かかるサーバ証明書の更新の必要／不要を判断することができる。よって、管理サーバ２０は、プリンタ１０のアクセス間隔が空いても、サーバ証明書の有効期間が過ぎてしまう可能性を抑制することができる。
【００８４】
本実施例では、プリンタ１０は、ＮＴＰサーバ３０から、絶対時刻を正しく取得できたか否かを判断し、これに基づき、時刻同期を行うか否かを判断することとしたが、これに限られない。例えば、プリンタ１０は、ＮＴＰサーバ３０からの絶対時刻の取得の有無に関係なく、基準時刻の設定履歴に基づき、サーバとの時刻同期を行うか否かの判断を、判断部１０３に行わせることとしてもよい。
【００８５】
時刻管理部１０１は、ＮＴＰサーバから取得した時刻や、以前にサーバから取得したサーバ時刻などを基準時刻として、かかる基準時刻からカウントアップした時刻を現在時刻として管理している。判断部１０３は、かかる基準時刻の設定履歴を参照して、例えば、プリンタ１０の電源が投入されてから時刻同期が１度も行われていない場合に、サーバとの時刻同期を行うと判断しても良い。また、最後に設定された基準時刻から一定以上の時間が経過している場合、基準時刻が初期化されて設定されている場合に、時刻同期を行うと判断することとしてもよい。判断部１０３にかかる判断処理を行わせる場合には、図５のステップＳ１０の代わりに上述の処理を行うこととしてもよい。ステップＳ１０の後に行うこととしてもよい。
【００８６】
Ｂ．第２実施例：
上述した第１実施例では、プリンタに組み込まれているサーバ証明書の有効期間の開始時刻を基準時刻として設定してサーバとの通信を行うこととした。第２実施例では、基準時刻は、サーバと最後に時刻同期が行われた際に取得したサーバ時刻が設定されているものとする。また、プリンタは複数のサーバ証明書を有しており、基準時刻が含まれるサーバ証明書を選択し、これを使用して管理サーバ２０に接続することとした。本実施例のシステム構成は第１実施例と同様であるため、説明を省略する。また、本実施例では、管理サーバ２０の認証部２０１は、サーバ証明書の有効期間内であっても、接続するデバイスがサーバ証明書とともに通知する時刻が、一定の期間外である場合には、そのサーバ証明書は無効であると判断して、接続を拒否するものとする。
【００８７】
Ｂ１．機能ブロック：
図１０は、本実施例におけるプリンタ１５の機能ブロックを例示する説明図である。プリンタ１５は、主制御部１５０と、時刻管理部１５１と、サーバ証明書管理部１５２と、通信確立制御部１５３と、通信部１５４と、履歴格納部１５５と、サーバ証明書格納部１５６と、印刷制御部１５８とから構成されている。各機能ブロックは、ソフトウェア的に構成され、主制御部１５０により制御される。ハードウェア的に構成されていてもよい。履歴格納部１５５と、印刷制御部１５８とは、第１実施例と同様の構成であるため、説明を省略する。
【００８８】
時刻管理部１５１は、基準時刻１５１ａと、かかる基準時刻からの相対的な経過時間を現在時刻として管理している。基準時刻１５１ａは、最後に管理サーバ２０と時刻同期を行った際に取得したサーバ時刻が基準時刻として設定されている。
【００８９】
サーバ証明書格納部１５６は、管理サーバ２０からダウンロードした証明書が複数格納されている。サーバ証明書１５６ｂ、１５６ｃは、第１実施例のサーバ証明書と同様である。サーバ証明書１５６ｂの有効期間は、「２００４／１／１０  ９：３０：５４」から開始し、「２０１４／１／１０  ９：３０：５３」に終了する。サーバ証明書１５６ｃの有効期間は、「２０１３／１／１０  ９：３０：５４」から開始し、「２０２３／１／１０  ９：３０：５３」に終了する。このように本実施例で使用されるサーバ証明書の有効期間は比較的長く設定されている。
【００９０】
サーバ証明書管理部１５２は、サーバ証明書の参照や更新などの管理、および、基準時刻１５１ａがサーバ証明書の有効期間に含まれるサーバ証明書を、サーバ証明書格納部１５６から選択する機能を備える。本実施例では、基準時刻１５１ａは「２００６／１／１０  ９：３０：５４」であるため、サーバ証明書管理部１５２は、サーバ証明書１５６ｂを選択する。
【００９１】
通信部１５４は、サーバ証明書管理部１５２により選択されたサーバ証明書１５６ｂと、基準時刻１５１ａを使用して、管理サーバ２０とＨＴＴＰＳ通信を行う機能を備える。
【００９２】
通信確立制御部１５３は、管理サーバ２０と通信を確立できたか否かを判断し、確立できていない場合には、通信が確立できるまで、サーバ証明書管理部１５２および通信部１５４を制御して、サーバへの通信確立を試みる。具体的には、基準時刻１５１ａから相対的に３ヶ月進ませた時刻を仮基準時刻として、通信部１５４に、かかる仮基準時刻とサーバ証明書１５６ｂにより管理サーバ２０への通信を行わせる。通信確立制御部１５３は、通信が確立しない場合には、更に仮基準時刻から３ヶ月すすませた時刻を新たに仮基準時刻として設定し、通信確立処理を繰り返す。かかる繰り返し処理により、仮基準時刻がサーバ証明書１５６ｂの有効期間の終了時刻を過ぎた場合には、プリンタ１５は、サーバ証明書１５６ｂは無効であると判断する。この場合、通信確立制御部１５３は、基準時刻が有効期間に含まれる別のサーバ証明書を、サーバ証明書管理部１５２に選択させ、通信部１５４に通信を行わせる。すなわち、通信確立制御部１５３は、通信部１５４による通信確立処理とサーバ証明書の選択処理とを繰り返し行わせるよう制御する機能を奏する。図１１に、通信確立制御部１５３が行う処理を模式的に示した。
【００９３】
図１１は、本実施例における通信確立制御部１５３が行う処理を模式的に示す説明図である。図面右向きに時間を表しており、サーバ証明書１５６ｂ、サーバ証明書１５６ｃの有効期間が一部重複していることを示している。また、印Ｐ１は、基準時刻１５１ａを示している。本実施例では、管理サーバ２０において、サーバ証明書１５６ｂの証明書を使用した接続が許可されている接続許可期間Ａは、「２００６／２／２０  ０：００：００」から「２００７／２／１９  ２３：５９：５９」である。管理サーバ２０は、デバイスの接続要求に含まれる時刻が、かかる期間内である場合に接続を許可するものとする。
【００９４】
プリンタ１５は、基準時刻１５１ａ（図中、Ｐ１）とサーバ証明書１５６ｂとを使用して、管理サーバ２０に接続要求を送信する。管理サーバ２０では、通知された基準時刻は、接続許可期間Ａの期間外であると判断し、接続拒否通知を送信する。プリンタ１５は、かかる通知を受け取ると、基準時刻１５１ａから相対的に３ヶ月進ませた時刻を仮基準時刻（Ｐ２）として設定し、これを使用して、サーバ証明書１５６ｂによる管理サーバ２０に接続要求を送信する。Ｐ２は「２００６／４／１０  ９：３０：５４」であるため、接続許可期間Ａ内と判断し、プリンタ１５に接続許可を通知し、通信を確立する。
【００９５】
例えば、基準時刻１５１ａが、Ｑ１（２０１３／８／１５  １０：１０：１０）であり、接続許可期間Ｂが図に示す期間であるとする。プリンタ１５は、通信を確立するため、Ｑ２，Ｑ３と設定した仮基準時刻とサーバ証明書１５６ｂを使用して接続を試みる。しかし、仮基準時刻をＱ３に設定した場合には、サーバ証明書１５６ｂの有効期間の終了時刻を超えることになり、証明書は無効と判断される。かかる場合には、プリンタ１５は、Ｑ１が有効期間に含まれる別のサーバ証明書１５６ｃを選択し、かかるサーバ証明書１５６ｃを使用して、上述の処理を繰り返し、通信を確立する。
【００９６】
Ｂ２．通信確立処理：
図１２は、本実施例における通信を確立する処理を説明するフローチャートである。主制御部１５０が、各機能ブロックを制御して行う処理である。
【００９７】
プリンタ１５は、使用する証明書を選択する（ステップＳ６０）。具体的には、基準時刻を参照し（ステップＳ６１）、サーバ証明書格納部１５６に格納されている複数のサーバ証明書の有効期間を参照する（ステップＳ６２）。次に、プリンタ１５は、有効期間に基準時刻が含まれるサーバ証明書を選択する（ステップＳ６３）。
【００９８】
プリンタ１５は、選択した証明書、および、基準時刻１５１ａを使用して管理サーバ２０への接続処理を行い、通信を確立する（ステップＳ６４）。かかるサーバ接続処理の詳細を以下に説明する。
【００９９】
Ｂ３．サーバ接続処理：
図１３は、本実施例におけるサーバ接続処理を説明するフローチャートである。図１２のステップＳ６４に相当する処理である。
【０１００】
プリンタ１５は、選択されたサーバ証明書１５６ｂおよび基準時刻１５１ａを使用して、管理サーバ２０に対して接続要求を送信する（ステップＳ７０）。管理サーバ２０は、通知されたサーバ証明書および基準時刻に基づき、接続許否通知を送信する。
【０１０１】
プリンタ１５は、かかる通知を受信し（ステップＳ７１）、通信が確立できたか否かを判断する（ステップＳ７２）。通信が確立できた場合（ステップＳ７２：ＹＥＳ）には、本処理を終了し、管理サーバ２０と種々の情報の授受を行う。
【０１０２】
プリンタ１５は、通信が確立できなかった場合（ステップＳ７２：ＮＯ）には、基準時刻から、所定時間進めた仮基準時刻を設定する（ステップＳ７３）。そして、プリンタ１５は、仮基準時刻が、証明書の有効期間内であるか否かを判断し（ステップＳ７４）、有効期間内である場合（ステップＳ７４：ＹＥＳ）には、ステップＳ７０に戻り、処理を繰り返す。有効期間内でない場合（ステップＳ７４：ＮＯ）には、ステップＳ６０の証明書選択処理に戻り、処理を繰り返す。
【０１０３】
以上説明した第２実施例のプリンタによれば、サーバと通信を行う際に、最後に時刻同期を行った際に取得したサーバ時刻を基準時刻として、証明書の選択、および通信を行うことができる。従って、以前に、サーバと通信を行うことのできた証明書を使用することができるため、絶対時刻のわかる時計を内蔵していないデバイスであっても、セキュリティを確保した通信を確立することができる。
【０１０４】
また、基準時刻を所定時間ずらした時刻を使用して通信の確立を試みた結果、かかるずらした時刻が、選択された証明書の有効期間の範囲外となり証明書が無効と判断される場合でも、本発明によれば、基準時刻において有効であり、かつ、有効期間の異なる証明書を使用して通信を行うことができる。
【０１０５】
本実施例では、最後に同期したサーバ時刻を使用することとしたが、以前に、任意に基準時刻として設定された時刻を使用することとしてもよい。何らかの手段によって、サーバと通信を行うことができるよう設定された基準時刻であればよい。
【０１０６】
Ｃ．変形例：
以上、本発明の実施例について説明したが、本発明はこれらに限定されず、その趣旨を逸脱しない範囲内で種々の構成をとることが出来ることは言うまでもない。例えば、以下のような構成をとることとしてもよい。
【０１０７】
Ｃ１．変形例１：
上述した実施例では、プリンタ１０がサーバ証明書を使用して、管理サーバ２０と通信を行うこととしたが、これに限られない。プリンタに限らず、例えば、プロジェクタ、スキャナなどのデバイスとしてもよい。
【０１０８】
Ｃ２．変形例２：
上述した実施例では、サーバ証明書の有効期間の開始時刻を、プリンタ１０の現在時刻として設定することとしたが、これに限られない。サーバ証明書の有効期間内のいずれの時刻を、プリンタ１０の現在時刻として設定することとしてもよい。プリンタ１０の現在時刻が、サーバ証明書の有効期間内であれば、プリンタ１０は、サーバ証明書を有効に使用できるからである。
【０１０９】
Ｃ３．変形例：
上述した実施例では、管理サーバ２０は、プリンタ１０の使用するサーバ証明書の残余有効期間が全有効期間の半分以下である場合に新たなサーバ証明書を、プリンタ１０にダウンロードさせることとしたがこれに限られない。管理サーバ２０は、例えば、残余有効期間が３ヶ月以下など、一定期間以下である場合に送信することとしてもよい。
【０１１０】
Ｃ４．変形例４：
上述した実施例では、管理サーバ２０は、有効なサーバ証明書を必ず２つ有することとしたが、２つ以上有していることとしてもよい。このような場合には、例えば、全てのサーバ証明書の有効期間は、一部重複するよう準備されており、サーバ証明書の更新に必要／不要を判断した際に、残余有効期間が最長である証明書を送信することとすれば、重複更新を回避し、効率的にサーバ証明書を更新することができる。
【図面の簡単な説明】
【０１１１】
【図１】第１実施例における印刷システムを例示する説明図である。
【図２】第１実施例におけるプリンタの機能ブロックを例示する説明図である。
【図３】第１実施例における管理サーバの機能ブロックを例示する説明図である。
【図４】第１実施例におけるサーバ証明書を説明する説明図である。
【図５】第１実施例におけるアップロード処理を説明するフローチャートである。
【図６】第１実施例における絶対時刻取得処理を説明するフローチャートである。
【図７】第１実施例における時刻同期処理を説明するフローチャートである。
【図８】第１実施例におけるサーバ側接続処理を説明するフローチャートである。
【図９】第１実施例におけるサーバ証明書更新処理を説明するフローチャートである。
【図１０】第２実施例におけるプリンタの機能ブロックを例示する説明図である。
【図１１】第２実施例における通信確立制御部が行う処理を模式的に示す説明図である。
【図１２】第２実施例における通信を確立する処理を説明するフローチャートである。
【図１３】第２実施例におけるサーバ接続処理を説明するフローチャートである。
【符号の説明】
【０１１２】
１０００…印刷システム
１０，１５…プリンタ
２０…管理サーバ
３０…ＮＴＰサーバ
４０…データベース
１００…主制御部
１０１…時刻管理部
１０１ａ…現在時刻
１０２…サーバ証明書管理部
１０３…判断部
１０４…通信部
１０５…履歴格納部
１０６ａ、１０６ｂ、１０６ｃ…サーバ証明書
１０７…印刷制御部
１０８…製造年月日格納部
１５０…主制御部
１５１…時刻管理部
１５１ａ…基準時刻
１５２…サーバ証明書管理部
１５３…通信確立制御部
１５４…通信部
１５５…履歴格納部
１５６…サーバ証明書格納部
１５６ｂ，１５６ｃ…サーバ証明書
１５８…印刷制御部
２００…主制御部
２０１…認証部
２０２…サーバ時刻通知部
２０２ａ…サーバ時刻
２０３…更新指示部
２０４…サーバ証明書格納部
２０５…通信部
【図１】
2005262817.tif 000003
【図２】
2005262817.tif 000004
【図３】
2005262817.tif 000005
【図４】
2005262817.tif 000006
【図５】
2005262817.tif 000007
【図６】
2005262817.tif 000008
【図７】
2005262817.tif 000009
【図８】
2005262817.tif 000010
【図９】
2005262817.tif 000011
【図１０】
2005262817.tif 000012
【図１１】
2005262817.tif 000013
【図１２】
2005262817.tif 000014
【図１３】
2005262817.tif 000015