(57)【特許請求の範囲】
【請求項１】
ネットワークへの接続時に、有効期間を含むサーバー証明書を審査するサーバー認証を行うプリンターの制御方法であって、
前記プリンターは、時刻情報と、前記時刻情報が仮時刻か確定時刻かを示すステータス情報とを有し、
前記プリンターは、
前記サーバー認証において、前記時刻情報が示す時点が、前記有効期間の開始時点よりも前、前記有効期間の範囲内、前記有効期間の終了時点よりも後のいずれであるかを判定する第１認証を実行し、
前記第１認証の判定の結果、
前記時刻情報が示す時点が、前記有効期間の終了時点よりも後であった場合には、前記サーバー証明書を用いた前記ネットワークへの接続を中止し、
前記時刻情報が示す時点が、前記有効期間の範囲内であった場合には、前記サーバー証明書に含まれる他の認証情報を審査する第２認証を実行し、
前記時刻情報が示す時点が、前記有効期間の開始時点よりも前で、前記ステータス情報が前記仮時刻であった場合には、前記ステータス情報に応じた予め設定した処理を実行し、
前記時刻情報が示す時点が、前記有効期間の開始時点よりも前で、前記ステータス情報が前記確定時刻であった場合には、前記ネットワークへの接続を中止することを特徴とするプリンターの制御方法。
【請求項２】
時刻情報と、前記時刻情報が仮時刻か確定時刻かを示すステータス情報とを有し、ネットワークへの接続時に、有効期間を含むサーバー証明書を審査するサーバー認証を行う通信部と、
前記通信部を経由して受信したデータに基づいて印刷媒体に印刷を実行する印刷部と、を備え、
前記通信部は、
前記サーバー認証において、前記時刻情報が示す時点が、前記有効期間の開始時点よりも前、前記有効期間の範囲内、前記有効期間の終了時点よりも後のいずれであるかを判定する第１認証を行い、
前記第１認証の判定の結果、
前記時刻情報が示す時点が、前記有効期間の終了時点よりも後であった場合には、前記サーバー証明書を用いた前記ネットワークへの接続を中止し、
前記時刻情報が示す時点が、前記有効期間の範囲内であった場合には、前記サーバー証明書に含まれる他の認証情報を審査する第２認証を行い、
前記時刻情報が示す時点が、前記有効期間の開始時点よりも前で、前記ステータス情報が前記仮時刻であった場合には、前記ステータス情報に応じた予め設定した処理を行い、
前記時刻情報が示す時点が、前記有効期間の開始時点よりも前で、前記ステータス情報が前記確定時刻であった場合には、前記ネットワークへの接続を中止することを特徴とするプリンター。
【請求項３】
前記予め設定した処理は、前記時刻情報を前記有効期間の範囲内の予め設定した時点を示す情報に仮設定する仮設定処理であり、
前記通信部は、
前記仮設定処理の後に、前記第２認証を行うことを特徴とする請求項２に記載のプリンター。
【請求項４】
予め設定された起動時刻を記憶する記憶部を有し、
前記通信部は、
前記第１認証の前に、前記時刻情報を前記記憶部から読み出した前記起動時刻に設定する処理、および、前記ステータス情報を前記仮時刻に設定する処理を行うことを特徴とする請求項２に記載のプリンター。
【請求項５】
前記サーバー証明書を用いた前記ネットワークへの接続が可能になった場合には、
前記通信部は、
前記時刻情報を、前記ネットワークを経由して取得した現在時刻に更新する時刻更新処理を行い、
前記時刻更新処理の後に、前記ステータス情報が前記確定時刻である場合には、前記時刻情報と前記起動時刻の時間差が予め設定した閾値以上であることを条件として、前記起動時刻を前記時刻情報に更新することを特徴とする請求項４に記載のプリンター。
【請求項６】
前記サーバー証明書を用いた前記ネットワークへの接続が可能になった場合には、
前記通信部は、
前記時刻情報を、前記ネットワークを経由して取得した現在時刻に更新する時刻更新処理を行い、
前記時刻更新処理の後に、前記ステータス情報が前記仮時刻である場合には、前記ステータス情報を確定時刻に変更し、前記ステータス情報が前記確定時刻に変更されると、前記ネットワークへの接続を切断し、更新後の前記時刻情報を用いて前記第１認証を行うことを特徴とする請求項２に記載のプリンター。
【請求項７】
前記通信部は、
前記ネットワークを経由せずに現在時刻を示す情報を受信した場合には、前記時刻情報を前記受信した現在時刻に更新する処理を行い、
更新後に、前記ステータス情報が前記仮時刻である場合には、前記ステータス情報を確定時刻に変更することを特徴とする請求項２に記載のプリンター。
【請求項８】
前記印刷部は、
前記ネットワークへの接続が中止された場合、その旨を前記記録媒体に印刷を実行することを特徴とする請求項２に記載のプリンター。
【請求項９】
前記印刷部は、
前記ネットワークへ接続された場合、前記ネットワーク上の機器から受信した印刷データに基づいて前記記録媒体に印刷を実行することを特徴とする請求項２に記載のプリンター。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続する際にサーバーとクライアントの間で電子証明書を用いた認証を行う技術に関する。特に、電子証明書を用いた認証を行うプリンター、および、その制御方法に関する。
【背景技術】
【０００２】
ネットワークを経由してデータを送受信する装置（クライアント）において、ネットワークに接続する際に認証サーバーとの間で電子証明書を用いた認証を行い、セキュリティを確保する方法が用いられている。例えば、ＥＡＰ−ＴＬＳ認証プロトコルによる認証では、クライアントがネットワークに接続する際に、クライアントが認証サーバーを審査するサーバー認証を行う。サーバー認証では、認証サーバーの電子証明書であるサーバー証明書をクライアントが審査する。サーバー証明書には、認証局などによる署名情報や有効期間などの情報が含まれ、クライアントはその内容を審査する。クライアントがサーバー証明書の認証に成功し、更に、認証サーバーがクライアントの認証に成功した場合に、ネットワークへの接続サービスが開始される。サーバー証明書は、予め、何らかの手段でクライアントに供給される。
【０００３】
サーバー認証では、検証項目の１つとして、クライアントが、サーバー証明書が有効期間内のものであるか否かを審査する時刻検証を行う。時刻検証では、サーバー証明書に含まれる有効期間と、クライアントが持つ時刻情報（現在時刻）との整合性を検証する。具体的には、現在時刻がサーバー証明書の有効期間内の時刻であるか否かを検証する。クライアントが持つ時刻情報は、クライアントが内蔵時計を持つ場合には、内蔵時計が示す時刻情報を用いることができる。しかしながら、クライアントの内蔵時計が電源オフ時などに止まってしまう場合、クライアントを再起動したときの内蔵時計の時刻は正しい現在時刻と異なるおそれがある。従って、時刻検証を正確に行うことができず、有効期間を過ぎたサーバー証明書を有効期間内のものであると誤判定してしまうおそれがある。また、クライアントの内蔵時計が狂った場合に、ありえないような有効期間のサーバー証明書（例えば、まだ発行されているはずのない未来の期間のサーバー証明書）を有効期間内のものであると誤判定してしまうおそれがある。
【０００４】
このように、内蔵時計が正しく動かなかったり、内蔵時計を持たない装置がクライアントである場合、自らが持つ情報だけでは正しい時刻検証を行うことができない。そこで、何らかの手段で正しい現在時刻をクライアントに取得させる必要がある。正しい現在時刻の供給源としては、ネットワーク上に存在するＮＴＰサーバーがあるが、サーバー認証が成功しない限りネットワークに接続できないクライアントでは、ＮＴＰサーバーから現在時刻を取得することは不可能である。そこで、特許文献１では、正しい現在時刻の情報を持たない場合は、クライアントは、時刻検証を行わずに他の情報の信頼性をチェックする仮認証を行い、仮認証に成功したらネットワークに接続し、ネットワーク上の時刻サーバーから正確な時刻情報を取得する。そして、取得した時刻情報を用いた時刻検証を含む本認証を行うことで、サーバー証明書の信頼性をチェックする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１９３１５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の認証方法では、ネットワークを経由して正しい現在時刻を取得し、この時刻に基づいて時刻検証を行うことができる。従って、内蔵時計を持たない場合や、内蔵時計の時刻が正しくない場合でもサーバー証明書の有効期間を正確に検証でき、ネットワークへの接続時のセキュリティを確保できる。しかしながら、特許文献１の方法では、クライアントはサーバー証明書の有効期間を検証することなくネットワークに接続している。したがって、クライアントが有効期限の切れたサーバー証明書を受けとってもネットワークに接続してしまい、セキュリティを確保できないという問題点がある。また、有効期限切れを検出するためにネットワークに接続するため、無駄な処理が行われ、効率が悪いという問題点がある。
【０００７】
特許文献１のような２段階認証以外で正しい時刻検証を行う方法としては、予め、ネットワークの管理者がネットワークに接続するクライアントのユーザーにサーバー証明書の有効期間内の時刻を通知し、ユーザーに手動で時刻を設定させる方法がある。通知された時刻をクライアントに記憶保持させておけば、サーバー証明書が更新されるまでは時刻検証が失敗することはないので、本認証のみを行えば済む。しかしながら、このような方法では、サーバー証明書が更新される毎に、同じサーバー証明書を用いる多数のクライアントの全てについて、ユーザーが時刻設定を手動で更新しなければならない。従って、ユーザーの作業負担が大きく、運用コストが増大するという問題点がある。
【０００８】
本発明の課題は、このような点に鑑みて、自らが持つ時刻情報が正しくない可能性があるクライアント（通信装置）によるサーバー証明書の認証を効率的且つ正確に行い、ユーザーの作業負担を増大させずにネットワーク接続時のセキュリティを確保することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明は、ネットワークへの接続時に、有効期間が設定された電子証明書であるサーバー証明書を審査するサーバー認証を行う通信装置の制御方法であって、前記通信装置は、時刻情報と、当該時刻情報が仮時刻か確定時刻かを示すステータス情報とを保持し、前記サーバー認証において、前記時刻情報が示す時点が、前記有効期間の開始時点よりも前、前記有効期間の範囲内、前記有効期間の終了時点よりも後のいずれであるかを判定する第１認証を実行し、前記第１認証の判定の結果、前記時刻情報が示す時点が、前記有効期間の終了時点よりも後であった場合には、前記サーバー証明書を用いた前記ネットワークへの接続を中止し、前記時刻情報が示す時点が、前記有効期間の範囲内であった場合には、前記サーバー証明書に含まれる他の認証情報を審査する第２認証を実行し、前記時刻情報が示す時点が、前記有効期間の開始時点よりも前で、前記ステータス情報が前記仮時刻であった場合には、前記ステータス情報に応じた予め設定した処理を実行し、前記時刻情報が示す時点が、前記有効期間の開始時点よりも前で、前記ステータス情報が前記確定時刻であった場合には、前記ネットワークへの接続を中止することを特徴とする。
【００１０】
また、本発明の通信装置は、時刻情報と、当該時刻情報が仮時刻か確定時刻かを示すステータス情報とを管理する時刻管理部と、ネットワークへの接続時に、有効期間が設定された電子証明書であるサーバー証明書を審査するサーバー認証を行う認証部と、を有し、前記認証部は、前記サーバー認証において、前記時刻情報が示す時点が、前記有効期間の開始時点よりも前、前記有効期間の範囲内、前記有効期間の終了時点よりも後のいずれであるかを判定する第１認証を行い、前記第１認証の判定の結果、前記時刻情報が示す時点が、前記有効期間の終了時点よりも後であった場合には、前記サーバー証明書を用いた前記ネットワークへの接続を中止し、前記時刻情報が示す時点が、前記有効期間の範囲内であった場合には、前記サーバー証明書に含まれる他の認証情報を審査する第２認証を行い、前記時刻情報が示す時点が、前記有効期間の開始時点よりも前で、前記ステータス情報が前記仮時刻であった場合には、前記ステータス情報に応じた予め設定した処理を行い、前記時刻情報が示す時点が、前記有効期間の開始時点よりも前で、前記ステータス情報が前記確定時刻であった場合には、前記ネットワークへの接続を中止することを特徴とする。
【００１１】
また、本発明のプリンターは、時刻情報と、当該時刻情報が仮時刻か確定時刻かを示すステータス情報とを管理し、ネットワークへの接続時に有効期間が設定された電子証明書であるサーバー証明書を審査するサーバー認証を行う通信部と、前記通信部を経由して受信したデータに基づいて印刷媒体に印刷を実行する印刷部と、を備え、前記通信部は、前記サーバー認証において、前記時刻情報が示す時点が、前記有効期間の開始時点よりも前、前記有効期間の範囲内、前記有効期間の終了時点よりも後のいずれであるかを判定する第１認証を行い、前記第１認証の判定の結果、前記時刻情報が示す時点が、前記有効期間の終了時点よりも後であった場合には、前記サーバー証明書を用いた前記ネットワークへの接続を中止し、前記時刻情報が示す時点が、前記有効期間の範囲内であった場合には、前記サーバー証明書に含まれる他の認証情報を審査する第２認証を行い、前記時刻情報が示す時点が、前記有効期間の開始時点よりも前で、前記ステータス情報が前記仮時刻であった場合には、前記ステータス情報に応じた予め設定した処理を行い、前記時刻情報が示す時点が、前記有効期間の開始時点よりも前で、前記ステータス情報が前記確定時刻であった場合には、前記ネットワークへの接続を中止することを特徴とする。
【００１２】
本発明は、このように、ネットワークへの接続条件であるサーバー認証において、通信装置が保持する時刻情報が示す時点とサーバー証明書の有効期間との比較判定を行い、比較判定結果に応じて最適な処理を行う。すなわち、通信装置が持つ時刻情報が有効期間よりも後であって明らかに有効期限切れの場合には、その時点でサーバー証明書を用いたネットワークへの接続を断念して無駄な処理を行わない。また、正しい時刻情報と有効なサーバー証明書を持つ場合は確実に時刻検証（第１認証）が成功する。そして、時刻情報が有効期間よりも前の場合には、何らかの理由で時刻情報が古いとすれば、実際は有効期限の範囲内かもしれないため、時刻情報のステータス（仮時刻か確定時刻か）に応じた処理を行って、ネットワークへの接続を試みることができる。時刻情報のステータスは、例えば、外部から取得した正確な現在時刻と同期されていない場合には仮時刻とし、正確な現在時刻と同期されている場合には確定時刻とする。このようにすると、サーバー証明書の有効性を従来よりも正確に、且つ、効率的に審査できる。よって、ネットワーク接続時のセキュリティ確保と、ネットワーク接続の効率的な確立を両立できる。また、ユーザーの作業負担を増大させることがなく、運用コストの増大を回避できる。また、時刻情報が古いままの可能性がある場合（ステータス情報が仮時刻の場合）はネットワークへの接続を試みる処理を継続できる。従って、サーバー証明書は有効であるのに、時刻情報が古いためにネットワークに接続できないという事態を回避できる。一方、時刻情報がすでに更新済みの場合（ステータス情報が確定時刻の場合）は、ありえない有効期間のサーバー証明書であることが明らかであると判断してネットワークへの接続を中止することができる。従って、サーバー証明書の有効性を従来よりも正確に、且つ、効率的に審査できる。
【００１３】
本発明の通信装置、その制御方法およびプリンターにおいて、前記予め設定した処理は、前記時刻情報を前記有効期間の範囲内の予め設定した時点を示す情報に設定する仮設定処理であり、当該仮設定処理を行った後、前記第２認証を実行することが望ましい。このようにすると、時刻情報が古いままの可能性があり、サーバー証明書が有効である可能性がある場合に、第２認証へ進んでネットワークへの接続を試みることができる。従って、有効なサーバー証明書を持っているにもかかわらず、内蔵時計を持たない、あるいは内蔵時計が何らかの理由で止まったことが理由でネットワークに接続できないという不都合を回避でき、そのための運用コストの増大も回避できる。また、ユーザーが手動で時刻情報を有効期間内の値に設定する必要がない。従って、ユーザーの作業負担が増大することがなく、運用コストの増大を回避できる。
【００１４】
本発明の通信装置およびその制御方法において、前記第１認証ステップに先立って、前記時刻情報を予め記憶している起動時刻に設定する処理、および、前記ステータス情報を前記仮時刻に設定する処理を実行することが望ましい。このようにすると、起動時刻に基づいて時刻情報を設定した場合には、そのステータス情報が仮時刻になるので、時刻情報が古いままの可能性がある場合にはそのことをステータス情報から判別できる。従って、サーバー証明書が有効である可能性がある場合に、ネットワークへの接続を試みる処理を継続することができる。
【００１５】
本発明の通信装置、その制御方法およびプリンターにおいて、前記サーバー証明書を用いた前記ネットワークへの接続が可能になった場合には、前記時刻情報を、前記ネットワークを経由して取得した現在時刻に更新する時刻更新処理を実行し、しかる後に、前記ステータス情報が前記確定時刻である場合には、前記時刻情報と前記起動時刻の時間差が予め設定した閾値以上であることを条件として、前記起動時刻を前記時刻情報に更新することが望ましい。このようにすると、ネットワーク上のタイムサーバー（ＮＴＰサーバー）から取得した正しい現在時刻に時刻情報を更新でき、通信装置が記憶保持している起動時刻についても更新できる。従って、以後は、正しい現在時刻に同期された時刻情報に基づいてサーバー認証を行うことができる。また、起動時に古い時刻情報が設定されるという不都合を回避できる。従って、サーバー証明書の有効期間をより正確に、且つ、効率的に審査できる。また、不必要に高頻度に起動時刻が更新されることを回避できるので、起動時刻を記憶する記憶媒体への書き込み回数を減らすことができ、記憶媒体の寿命を延ばすことができる。
【００１６】
本発明の通信装置、制御方法およびプリンターにおいて、前記サーバー証明書を用いた前記ネットワークへの接続が可能になった場合には、前記時刻情報を、前記ネットワークを経由して取得した現在時刻に更新する時刻更新処理を実行し、しかる後に、前記ステータス情報が前記仮時刻である場合には、前記ステータス情報を確定時刻に変更し、続いて、前記ネットワークへの接続を切断し、更新後の前記時刻情報を用いて前記第１認証を実行することが望ましい。このようにすると、ネットワーク上のタイムサーバー（ＮＴＰサーバー）から取得した正しい時刻情報に時刻情報を更新できる。また、時刻情報が正しい現在時刻に更新されたことをステータス情報から判別できる。従って、サーバー証明書の有効期間をより正確に、且つ、効率的に審査できる。
【００１７】
本発明の通信装置、その制御方法およびプリンターにおいて、前記ネットワークを経由せずに現在時刻を示す情報を受信した場合には、前記時刻情報を前記受信した現在時刻に更新し、しかる後に、前記ステータス情報が前記仮時刻である場合には、前記ステータス情報を確定時刻に変更することが望ましい。このように、ネットワーク接続以外で正しい時刻情報を取得できた場合は、時刻情報を更新してステータス情報を確定時刻に変更することで、以後は、正しい現在時刻に同期された時刻情報に基づいてサーバー認証を行うことができる。ネットワーク接続以外で時刻情報を取得する方法としては、時刻情報を含む各種の電波情報、例えば、ＧＰＳ情報、ビーコン、電波時計用の電波情報、携帯電話の基地局から供給される電波情報、デジタルテレビやＦＭ多重放送の電波情報などがある。また、ローカルエリアネットワーク内の機器から時刻情報を取得できる場合は、その情報を用いてもよい。
【００１８】
本発明のプリンターにおいて、前記印刷部は、前記ネットワークへの接続が中止された場合、その旨を前記記録媒体に印刷を実行することが望ましい。また、本発明のプリンターにおいて、前記印刷部は、前記ネットワークへ接続された場合、前記ネットワーク上の機器から受信した印刷データに基づいて前記記録媒体に印刷を実行することが望ましい。このように、ネットワークへの接続が中止された場合、その旨が印刷されることにより、ネットワーク接続時のユーザーの作業負担を低減できる。また、ユーザーの作業負担を増大させずにネットワーク接続時のセキュリティを確保した上でネットワークを介した印刷が可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係る通信装置を備えたプリンターを含む印刷システムの構成図である。
【図２】サーバー証明書の説明図である。
【図３】通信部の主要部を示すブロック図である。
【図４】サーバー認証のフローチャートである。
【図５】時刻検証の説明図である。
【図６】ネットワーク接続時の通信部の処理を示すフローチャートである。
【図７】ネットワーク接続時のプリンターの処理を示すフローチャートである。
【発明を実施するための形態】
【００２０】
（印刷システム）
図１は、本発明の実施形態に係る通信装置を備えたプリンターを含む印刷システムの構成図である。プリンター１は携帯型のモバイルプリンターであり、通信部１１（通信装置）と、通信部１１から受信したデータを印刷媒体に印刷する印刷部１２と、通信部１１および印刷部１２を制御する制御部１３を備える。印刷部１２は、印刷ヘッドと、印刷ヘッドによる印刷位置を経由して印刷媒体を搬送する搬送機構などを含む。プリンター１は、通信部１１を介して、有線通信あるいは無線通信による通信網であるローカルエリアネットワーク２に接続可能である。ローカルエリアネットワーク２は、例えば、ＩＥＥＥ８０２．１１などの標準規格に準拠した通信網であり、複数のプリンター１が接続可能である。なお、プリンター１はモバイルプリンターに限定されるものではなく、他のプリンターであってもよい。
【００２１】
ローカルエリアネットワーク２内のプリンター１は、ルーター３を介して外部ネットワーク４（ネットワーク）に接続可能である。外部ネットワーク４は、インターネット・プロトコル（ＩＰ）を用いた通信網（いわゆる、インターネット）である。外部ネットワーク４には、管理サーバー５、ＮＴＰサーバー６などが接続されている。管理サーバー５は、例えば、プリンター１で処理するデータを管理するサーバーである。また、ＮＴＰサーバー６は、ＮＴＰプロトコル（Network Time Protocol）を用いて外部ネットワーク４に接続可能な通信機器の時刻同期を行うサーバーである。
【００２２】
ローカルエリアネットワーク２内のプリンター１は、外部ネットワーク４にセキュアな接続をするとき、まず、暗号化通信を確立するための認証を行う。本形態では、ルーター３として、ルーター機能およびサーバープログラムを備えた通信機器を用いており、ルーター３に認証サーバー７の機能が実装されている。もしくは、ルーター３がローカルエリアネットワーク２上あるいは外部ネットワーク４上に設置された認証サーバーとの間で通信を行って認証を行う形態であってもよい。また、ルーター３とプリンター１がアクセスポイントを経由して接続される形態であってもよい。この場合には、アクセスポイントが認証サーバーの機能を備えるか、あるいは認証サーバーの機能を備える機器に接続可能であってもよい。
【００２３】
外部ネットワーク４への接続時の認証として、認証サーバー（サーバー）７の信頼性をプリンター１が審査するサーバー認証と、プリンター（クライアント）１の信頼性を認証サーバー７が審査するクライアント認証を行う相互認証が行われる。このような相互認証方式の一例として、ＥＡＰ−ＴＬＳ（Extensible Authentication Protocol−Transport Layer Security）認証プロトコルが用いられる。ＥＡＰ−ＴＬＳ認証プロトコルでは、サーバー認証とクライアント認証が電子証明書を用いて行われる。サーバー認証では、プリンター１によって、認証サーバー７の信頼性を証明する電子証明書であるサーバー証明書８が審査される。また、クライアント認証では、認証サーバー７によって、プリンター１の信頼性を証明する電子証明書であるクライアント証明書が審査される。なお、サーバー認証は電子証明書を用いて行い、クライアント認証については、ユーザーＩＤとパスワードなどを用いて認証する方式を用いてもよい。サーバー認証とクライアント認証がいずれも成功することで、相互認証が成功する。
【００２４】
図２はサーバー証明書８の説明図である。サーバー証明書８は、信頼された認証局によって認証された電子証明書であり、認証サーバー７の身元を示す署名情報などの認証情報８１を含む。また、サーバー証明書８には有効期間８２が設定されており、有効期間８２の情報を含む。更に、サーバー証明書８は、データの暗号化に用いる公開鍵などの情報を含む。有効期間８２は、例えば、数ヶ月や１年などの期間が設定される。サーバー証明書８は、認証サーバー７からプリンター１にインストールされる。あるいは、ユーザーが手動でプリンター１にインストールすることもできる。サーバー証明書８は、有効期間８２が終了する前に新たなものが発行され、プリンター１やそのユーザーに供給される。
【００２５】
（通信部）
図３は、プリンター１が備える通信部１１の主要部を示すブロック図である。通信部１１は、記憶部１４と、時刻管理部１５と、認証部１６を備える。記憶部１４は、サーバー証明書８および起動時刻１９を含む各種のデータを記憶する。起動時刻１９は予め設定された時刻情報であり、時系列上のある時点を特定する情報である。起動時刻１９は、出荷時に設定されるか、あるいは、ユーザーが出荷後に設定することも可能である。また、後述するように、プリンター１が外部ネットワーク４上のＮＴＰサーバー６等から正しい現在時刻を取得できれば、時刻管理部１５によって、起動時刻１９の更新処理が行われる。
【００２６】
時刻管理部１５は、時刻情報１７およびステータス情報１８の設定および管理を行う。時刻情報１７は、時系列上のある時点を特定する情報である。ステータス情報１８は、時刻情報１７がＮＴＰサーバー６に同期された時刻であるか否かを示す情報であり、仮時刻（同期されていない時刻）と確定時刻（同期されている時刻）のいずれかに設定される。時刻情報１７およびステータス情報１８は、外部ネットワーク４への接続要求などによって通信部１１が起動されたとき、時刻管理部１５によって、記憶部１４に記憶されている起動時刻１９に基づいて設定される。プリンター１は内蔵時計を持たないため、通信部１１は、後述するように、時刻管理部１５が管理する時刻情報１７に基づいてサーバー認証を行う。
【００２７】
また、時刻管理部１５は、サーバー認証時や外部ネットワーク４への接続中に、時刻情報１７の更新処理やステータス情報１８の変更処理などを行う。例えば、時刻管理部１５は、外部ネットワーク４経由でＮＴＰサーバー６に接続可能であるとき、ＮＴＰサーバー６から正しい現在時刻を取得して、保持している時刻情報１７を新たに取得した現在時刻に置き換える時刻更新処理を行う。また、時刻更新処理を行った場合に、ステータス情報１８を仮時刻から確定時刻に変更する処理を行う。さらに、時刻更新処理を行った場合に、ステータス情報１８に応じて、起動時刻１９を時刻情報１７（すなわち、正しい現在時刻）に更新する処理を行う。
【００２８】
認証部１６は、上述した相互認証におけるクライアント側（すなわち、通信部１１側）の認証処理であるサーバー認証を行う。通信部１１は、プリンター１に着脱可能なネットワークカードなどの拡張カードの形態であっても良いし、プリンター１に組み込んだ形態であってもよい。
【００２９】
（サーバー認証）
図４はサーバー認証のフローチャートである。通信部１１は、プリンター１の制御部１３から外部ネットワーク４への接続要求を受け取ると、起動してサーバー認証を行う。まず、時刻管理部１５が時刻情報１７およびステータス情報１８の設定（ステップＳ１〜Ｓ３）を行う。すなわち、時刻管理部１５は、記憶部１４から起動時刻１９を読み出す（ステップＳ１）。そして、時刻情報１７を、読み出した起動時刻１９と同じ時刻に設定し、保持する（ステップＳ２）。続いて、ステータス情報１８を仮時刻に設定する（ステップＳ３）。
【００３０】
次に、認証部１６がサーバー認証を開始する。認証部１６は、まず、認証サーバー７からサーバー証明書８を取得する（ステップＳ４）。なお、ステップＳ４で、記憶部１４に記憶されているサーバー証明書８を読み出してもよい。続いて、第１認証を行う（ステップＳ５）。第１認証は、サーバー証明書８が時期的に有効であるか否かの検証であり、サーバー証明書８の有効期間８２と、時刻管理部１５が保持する時刻情報１７との比較判定を行う時刻検証である。
【００３１】
図５は時刻検証の説明図である。図５において、Ｐ１は有効期間８２の開始時点、Ｐ２は有効期間８２の終了時点である。また、Ｐは時刻管理部１５で保持する時刻情報１７が示す時点である。認証部１６は、第１認証（時刻検証）において、終了時点Ｐ２よりも後（すなわち、有効期間８２よりも後）の期間である第１期間Ｔ１と、開始時点Ｐ１から終了時点Ｐ２まで（すなわち、有効期間８２の範囲内）の期間である第２期間Ｔ２と、開始時点Ｐ１よりも前（すなわち、有効期間８２よりも前）の期間である第３期間Ｔ３の３つの区間のうち、どの区間に時刻情報１７が示す時点Ｐが含まれるかを判定する。図５では、時刻情報１７が示す時点Ｐが有効期間８２の範囲内の場合を図示す。
【００３２】
（１）時刻情報が有効期間後（第１期間Ｔ１）の場合
第１認証において、時刻情報１７が示す時点Ｐが第１期間Ｔ１に含まれる場合（ステップＳ５：Ｐ２＜Ｐ）、認証部１６は、サーバー証明書８がすでに期限切れであると判定し、その時点でサーバー認証を終了して待機状態に移行する（ステップＳ６）。すなわち、サーバー証明書８が期限切れであれば相互認証が失敗することは明らかであるため、認証部１６は、サーバー証明書８を用いた外部ネットワーク４への接続を中止する。
【００３３】
（２）時刻情報が有効期間内（第２期間Ｔ２）の場合
第１認証において、時刻情報１７が示す時点Ｐが第２期間Ｔ２に含まれる場合（ステップＳ５：Ｐ１≦Ｐ≦Ｐ２）、認証部１６は、第１認証が成功したと判断し、第２認証に進む（ステップＳ７）。すなわち、正確な時刻情報１７と有効なサーバー証明書８を保持する場合には第１認証が成功し、サーバー証明書８が現時点で有効と判断されることになる。
【００３４】
第２認証は、署名情報などの認証情報８１の信頼性を検証する処理であり、例えば、認証情報８１の改ざん検出などを行う。認証部１６は、認証情報８１に不審な点が検出されない場合、第２認証に成功したと判断する。第１認証および第２認証がいずれも成功すると、サーバー認証は成功とされる。あるいは、他の認証をさらに行い、それらも成功した場合にサーバー認証の成功としてもよい。認証部１６は、第２認証が失敗すると（ステップＳ７：失敗）、サーバー認証を終了して待機状態に移行する（ステップＳ６）。一方、サーバー認証が成功し（ステップＳ７：成功）、且つ、認証サーバー７側で行われるクライアント認証が成功した場合、相互認証は成功となる。この場合、プリンター１に対し、外部ネットワーク４への接続サービスが開始される（ステップＳ８）。従って、プリンター１は、通信部１１を介して、暗号化通信によって外部ネットワーク４上の機器と通信を行うことが可能になる。
【００３５】
ここで、図６を参照して、ステップＳ８の処理の詳細を説明する。図６は、ネットワーク接続時の処理を示すフローチャートである。本形態では、相互認証が成功すると、プリンター１は、ステータス情報１８に応じた範囲で外部ネットワーク４と接続可能になる。そのため、認証部１６は、相互認証が成功すると、まず、ステータス情報１８が仮時刻か確定時刻かを判定する（ステップＳ８１）。そして、仮時刻である場合には（ステップＳ８１：仮時刻）、外部ネットワーク４上のＮＴＰサーバー６に限定して接続を許可する（ステップＳ８２）。一方、確定時刻である場合には、（ステップＳ８１：確定時刻）、外部ネットワーク４上の機器に制限なく接続を許可する（ステップＳ８３）。つまり、認証部１６は、時刻情報１７が有効期間８２の範囲内であっても、そのステータス情報１８が仮時刻の場合には、ＮＴＰサーバー６との時刻同期に必要な範囲のネットワーク接続のみを許可する。そして、以下に説明するように、正しい現在時刻を取得して時刻情報１７を更新した場合にのみ、制限のないネットワーク接続を許可する。
【００３６】
認証部１６は、ステップＳ８において、外部ネットワーク４との接続サービス（限定接続、もしくは、制限なしの接続）が開始されると、時刻管理部１５に、時刻情報１７をＮＴＰサーバー６から取得した正しい現在時刻に同期させる処理を行わせる。すなわち、時刻管理部１５は、外部ネットワーク４上のＮＴＰサーバー６との接続を試みる（ステップＳ９）。例えば、接続すべきＮＴＰサーバー６のＩＰアドレスを記憶部１４から読み出し、接続を試みる。記憶部１４にＮＴＰサーバー６のＩＰアドレスが記憶されていない場合や、指定されたＮＴＰサーバー６への接続が失敗した場合は（ステップＳ９：失敗）、正しい時刻情報を取得できず、正しい時刻情報に基づくサーバー認証を行うことができない。従って、この場合には、認証部１６は、サーバー認証を終了して待機状態に移行する（ステップＳ６）。一方、指定されたＮＴＰサーバー６への接続が成功した場合は（ステップＳ９：成功）、時刻管理部１５は、ＮＴＰサーバー６から正確な現在時刻の情報を取得して、時刻情報１７をこれに同期させる時刻更新処理を行う（ステップＳ１０）。これにより、時刻管理部１５で保持している時刻情報１７が正しい現在時刻と異なっていた場合に、その時間ずれが修正される。
【００３７】
時刻管理部１５は、時刻更新処理（ステップＳ９、Ｓ１０）を行った場合には、ステータス情報１８が仮時刻か確定時刻かを判定する（ステップＳ１１）。そして、ステータス情報１８が仮時刻であった場合には（ステップＳ１１：仮時刻）、ステータス情報１８を確定時刻に変更する（ステップＳ１２）。認証部１６は、時刻更新処理が行われ、ステータス情報１８が仮時刻から確定時刻に変更された場合には、ステップＳ１３に進み、外部ネットワーク４との接続を切断する。しかる後に、ステップＳ４に戻る。そして、再びサーバー証明書８を取得し（ステップＳ４）、第１認証を行う（ステップＳ５）。つまり、認証部１６は、ステータス情報１８が仮時刻で相互認証が成功した場合には、正確な現在時刻を取得した後に一旦ネットワーク接続を切断し、正しい現在時刻に更新された時刻情報１７を用いて、もう一度第１認証をやり直す。なお、この場合に、再度サーバー証明書８を取得するステップＳ４を省略してステップＳ１３からステップＳ５に進み、既に取得しているサーバー証明書８を用いて２回目の第１認証を行っても良い。
【００３８】
認証部１６は、２回目の第１認証（ステップＳ５）では、ＮＴＰサーバー６から取得した正確な現在時刻に基づいてサーバー証明書８の時刻検証を行うことになる。２回目の第１認証に成功し、更に、第２認証に成功し、相互認証に成功してステップＳ８に進むと、ステップＳ８１で確定時刻と判定されるため、ステップＳ８３に進むことになる（図６参照）。ステップＳ８３では、外部ネットワーク４上の機器に制限なく接続可能な接続サービスが開始される。時刻管理部１５は、制限のない接続サービスが開始されると、再度ＮＴＰサーバー６との時刻同期を行う（ステップＳ９、Ｓ１０）。続いて、ステップＳ１１でステータス情報１８が確定時刻と判定されるため、記憶部１４に記憶されている起動時刻１９の更新処理（ステップＳ１４）に進む。
【００３９】
ステップＳ１４では、時刻管理部１５は、起動時刻１９を、時刻管理部１５が保持する時刻情報１７（すなわち、ＮＴＰサーバー６から取得した現在時刻）に更新する。ここで、時刻管理部１５は、外部ネットワーク４との接続サービスが提供されている間は、予め設定した単位時間（例えば、１時間）毎にＮＴＰサーバー６に接続して時刻情報１７の更新処理を行うことができる。また、起動時刻１９の更新については、時刻管理部１５が保持する時刻情報１７と、記憶部１４に記憶されている起動時刻１９との時間差を判定し、時間差が一定時間（例えば、１２時間）以上の場合のみ、起動時刻１９を更新してもよい。このようにすると、起動時刻１９の更新処理が不必要に高頻度に行われることがない。従って、処理負荷の増大を抑制できる。また、記憶部１４として、ＦｌａｓｈＲＯＭなどの記憶媒体を用いている場合には、記憶媒体への書き込み回数が減るので、記憶媒体の寿命を延ばすことができる。
【００４０】
（３）時刻情報が有効期間より前（第３期間Ｔ３）の場合
第１認証において、時刻情報１７が示す時点Ｐが第３期間Ｔ３に含まれる場合（ステップＳ５：Ｐ＜Ｐ１）、時刻管理部１５の時刻更新処理が適切に行われていないなどの理由で時刻情報１７は古いままであるが、サーバー証明書８は有効期間８２内である可能性がある。そこで、認証部１６は、この場合には、まず、ステータス情報１８が仮時刻か確定時刻かを判定し（ステップＳ１５）、ステータス情報１８に応じた処理を行う。上述したように、ステータス情報１８は起動時には仮時刻に設定され、仮時刻から確定時刻に変更されるのは、ＮＴＰサーバー６との時刻同期が行われて、時刻情報１７が正しい現在時刻に更新された場合である。従って、ステータス情報１８が確定時刻であった場合には（ステップＳ１５：確定時刻）、サーバー証明書８の有効期間８２は、ＮＴＰサーバー６の現在時刻に対して未来の期間ということになる。このような有効期間は通常はありえないため、この場合は、認証部１６は、サーバー認証を終了して待機状態に移行する（ステップＳ６）。
【００４１】
一方、ステータス情報１８が仮時刻の場合には（ステップＳ１５：仮時刻）、時刻情報１７（すなわち、起動時刻１９）が古いために第１認証に失敗した可能性がある。そこで、認証部１６は、予め設定した処理を行って相互認証を成功させることを試みる。具体的には、時刻管理部１５に、時刻情報１７を予め設定した方法で変更する仮設定処理を行わせる（ステップＳ１６）。本形態では、時刻管理部１５は、仮設定処理として、有効期間８２内の予め設定した時点（例えば、有効期間８２の開始時点Ｐ１）を示す情報に、時刻情報１７を変更する処理を行う。
【００４２】
認証部１６は、仮設定処理（ステップＳ１６）が行われると、第２認証（ステップＳ７）に進む。第２認証が成功してクライアント認証も成功すれば、相互認証が成功となり、外部ネットワーク４への接続サービスが開始される（ステップＳ８）。この場合には、ステータス情報１８は仮時刻であるため、ＮＴＰサーバー６への限定接続のみが可能となる。従って、上述したように、時刻管理部１５によって、時刻情報１７をＮＴＰサーバー６から取得した正しい現在時刻に同期させる時刻更新処理（ステップＳ９、Ｓ１０）が行われる。これにより、仮設定処理で変更されていた時刻情報１７が、正しい現在時刻に更新される。しかる後に、仮時刻が確定時刻に変更され（ステップＳ１２）、外部ネットワーク４との接続が切断される（ステップＳ１３）。そして、正しい現在時刻に更新された時刻情報１７を用いて、２回目の第１認証（ステップＳ５）が行われる。
【００４３】
図７は、プリンター１のサーバー認証のフローチャートであり、図４のサーバー認証のフローチャートに、ステップＳ１００、ステップＳ１１７、および、ステップＳ１１８の処理が追加されたものである。図７で、図４と同じ処理は、同じステップ番号を付してある。
【００４４】
ステップＳ１００では、プリンター１の制御部１３が、通信部１１に外部ネットワーク４への接続要求を行う。
【００４５】
ステップＳ１１７では、プリンター１がネットワーク接続せず待機状態に移行した場合（ステップＳ６）、制御部１３は、認証部１６の判定に基づき、印刷部１２を制御して印刷媒体に、認証失敗、または、外部ネットワークへの接続を中止した旨の印刷を実行させる。また、ステップＳ５で、サーバー証明書８がすでに期限切れであると判定された場合、ステップＳ１１７では、第１認証失敗、または、証明書期限切れ旨の印刷が実行される。また、ステップＳ１５で、サーバー証明書８の有効期間８２が未来の期間であった場合、ステップＳ１１７では、サーバー証明書８の有効期間８２が不明である旨の印刷が実行される。また、ステップＳ７で、第２認証が失敗した場合、ステップＳ１１７では、第２認証失敗、または、認証情報８１に不審な点が検出された旨の印刷が実行される。ステップＳ９で、ＮＴＰサーバーへの接続が失敗した場合、ステップＳ１１７では、ＮＴＰサーバーへの接続失敗、または、正しい時刻情報に基づくサーバー認証ができない旨の印刷が実行される。
【００４６】
ステップＳ１１８では、起動時刻１９の更新処理（ステップＳ１４）がされた後、制御部１３は、外部ネットワーク４上の機器から受信した印刷データに基づいて、印刷部１２を制御して印刷媒体に印刷を行わせる。また、ステップＳ１１８では、認証完了、または、ネットワーク接続完了の旨の印刷が実行される。また、ステップＳ１１８では、第１認証を実施した回数の印刷が実行される。
【００４７】
以上のように、本形態のプリンター１が備える通信部１１（通信装置）は、有効期間８２が設定された電子証明書であるサーバー証明書８および起動時刻１９を記憶する記憶部１４と、時刻情報１７およびそのステータス情報１８の設定や更新を行う時刻管理部１５と、外部ネットワーク４への接続時に、サーバー証明書８を審査するサーバー認証を行う認証部１６を備える。認証部１６は、サーバー認証において、時刻情報１７が示す時点とサーバー証明書８の有効期間８２との比較判定（第１認証／時刻検証／ステップＳ２）を行い、比較判定結果に応じて最適な処理を行う。すなわち、時刻情報１７が有効期間８２よりも後であって明らかに有効期限切れの場合には、その時点でサーバー証明書８を用いた外部ネットワーク４への接続を断念して無駄な処理を行わない。また、正しい時刻情報１７と有効なサーバー証明書８を持つ場合は確実に第１認証（時刻検証）が成功する。そして、時刻情報１７が有効期間８２よりも前の場合には、何らかの理由で時刻情報１７が古いとすれば、実際は有効期間８２の範囲内かもしれないため、ステータス情報１８（時刻情報１７が仮時刻か確定時刻か）に応じた処理を行って、外部ネットワーク４への接続を試みることができる。
【００４８】
すなわち、時刻管理部１５は、時刻情報１７がＮＴＰサーバー６等から取得した現在時刻と同期されている場合にはステータス情報１８を確定時刻に設定し、起動時刻１９に設定されている場合には仮時刻に設定する。従って、ステータス情報１８に基づき、時刻情報１７が古い可能性があることを判別できる。認証部１６は、時刻情報が古い可能性がある場合（ステータス情報１８が仮時刻の場合）はネットワークへの接続を試みる処理を継続し、時刻情報が正しい場合（ステータス情報１８が確定時刻の場合）は、ありえない有効期間のサーバー証明書であることが明らかであると判断してネットワークへの接続を中止する。このようにすると、サーバー証明書８の有効期間８２を従来よりも正確に、且つ、効率的に審査できる。よって、外部ネットワーク４との接続時のセキュリティ確保と、効率的なネットワーク接続の確立を両立できる。
【００４９】
また、本形態では、第１認証において、時刻情報１７が有効期間８２よりも前で、且つ、ステータス情報１８が仮時刻の場合（すなわち、何らかの理由で時刻情報１７が古く、正しい現在時刻は有効期間８２の範囲内である可能性がある場合）の処理として、有効期間８２の範囲内の時刻を時刻情報１７として仮設定する処理（ステップＳ１６）を行う。このようにすると、第２認証へ進んで外部ネットワーク４への接続を試みることができる。従って、サーバー証明書８は有効であるのに、プリンター１が内蔵時計を持たない、あるいは内蔵時計が何らかの理由で止まったことが理由で接続サービスが開始されないという不都合を回避できる。また、ユーザーが手動で時刻情報１７を有効期間８２内の値に設定する必要がない。従って、ユーザーの作業負担が増大することがなく、運用コストの増大を回避できる。
【００５０】
また、本形態では、相互認証が成功して、サーバー証明書８を用いた外部ネットワーク４への接続サービスが開始されると、外部ネットワーク４上のＮＴＰサーバー６から正しい時刻情報を取得して通信部１１の時刻情報１７をこれに同期させる時刻更新処理（ステップＳ７）を行う。これにより、時刻情報１７を正しく修正でき、以後のサーバー認証において、サーバー証明書８の有効期間８２をより正確に、且つ、効率的に審査できる。また、相互認証の成功時に、ステータス情報１８が仮時刻の場合には、ＮＴＰサーバー６への限定接続のみを許可する。これにより、正確でないおそれのある時刻情報１７に基づいて相互認証を成功させた場合に、無制限に外部ネットワーク４上の機器に接続されることを回避できる。従って、セキュリティを確保しつつ、通信部１１が持つ時刻情報１７を正確な現在時刻と同期させることができる。
【００５１】
また、本形態では、時刻更新処理（ステップＳ７）が行われ、ステータス情報１８が確定時刻である場合には、起動時刻１９を時刻情報１７と同じ時刻に更新する。これにより、以後は、起動時に時刻情報１７が古い時刻に設定されるという不都合を回避できる。従って、サーバー証明書の有効期間をより正確に、且つ、効率的に審査できる。
【００５２】
（変形例）
上記形態では、通信部１１は外部ネットワーク４上のＮＴＰサーバー６に接続することで正しい現在時刻を取得しているが、外部ネットワーク４経由以外で正しい現在時刻を取得できる場合もありうる。そこで、時刻管理部１５は、そのような方法で正しい現在時刻を取得できた場合は、その時点で時刻情報１７を更新する処理を行う。外部ネットワーク４上の機器以外で正しい時刻情報の供給源となりうるのは、例えば、ローカルエリアネットワーク２内に存在する内蔵時計を有する装置である。従って、このような装置から、ローカルエリアネットワーク２経由で正しい現在時刻を取得することができる。
【００５３】
また、通信部１１が、時刻情報を含む各種の電波情報、例えば、ＧＰＳ情報、ビーコン、電波時計用の電波情報、携帯電話の基地局から供給される電波情報、デジタルテレビやＦＭ多重放送の電波情報などを受信する受信部を備えており、これらの電波情報を受信できる環境で使用される場合は、これらの電波情報を適宜受信して現在時刻を抽出することができる。時刻管理部１５は、これらの方法で正しい現在時刻を取得したときは、通信部１１が保持する時刻情報１７を更新する。そして、時刻情報を更新した場合は、ステータス情報１８を仮時刻から確定時刻に変更する。時刻情報１７が更新されれば、認証部１６は、更新された時刻情報を用いてサーバー認証を行うことができる。また、時刻情報１７が正しい現在時刻に更新されたことをステータス情報１８から判別できる。従って、サーバー証明書８の有効期間８２をより正確に、且つ、効率的に審査できる。
【符号の説明】
【００５４】
１…プリンター、２…ローカルエリアネットワーク、３…ルーター、４…外部ネットワーク（ネットワーク）、５…管理サーバー、６…ＮＴＰサーバー、７…認証サーバー、８…サーバー証明書、１１…通信部（通信装置）、１２…印刷部、１３…制御部、１４…記憶部、１５…時刻管理部、１６…認証部、１７…時刻情報、１８…ステータス情報、１９…起動時刻、８１…認証情報、８２…有効期間、Ｐ１…開始時点、Ｐ２…終了時点、Ｔ１…第１期間、Ｔ２…第２期間、Ｔ３…第３期間。
【図１】
0006459642.tif 000002
【図２】
0006459642.tif 000003
【図３】
0006459642.tif 000004
【図４】
0006459642.tif 000005
【図５】
0006459642.tif 000006
【図６】
0006459642.tif 000007
【図７】
0006459642.tif 000008