JP6409628B2 - 通信機器 - Google Patents

通信機器 Download PDF

Info

Publication number
JP6409628B2
JP6409628B2 JP2015048413A JP2015048413A JP6409628B2 JP 6409628 B2 JP6409628 B2 JP 6409628B2 JP 2015048413 A JP2015048413 A JP 2015048413A JP 2015048413 A JP2015048413 A JP 2015048413A JP 6409628 B2 JP6409628 B2 JP 6409628B2
Authority
JP
Japan
Prior art keywords
current date
certificate
server certificate
time
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015048413A
Other languages
English (en)
Other versions
JP2016171384A (ja
Inventor
猛 三宅
猛 三宅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2015048413A priority Critical patent/JP6409628B2/ja
Publication of JP2016171384A publication Critical patent/JP2016171384A/ja
Application granted granted Critical
Publication of JP6409628B2 publication Critical patent/JP6409628B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本明細書では、サーバ証明書を利用して、外部機器との通信を実行可能な通信機器を開示する。
特許文献1には、デジタル複合機とホスト端末とが開示されている。デジタル複合機は、初回起動時にサーバ証明書を生成する。デジタル複合機は、ホスト端末から接続要求を受信する場合に、生成済みのサーバ証明書を利用して、ホスト端末との通信を実行する。
特開2009−200565号公報
サーバ証明書は、通常、有効期間を示す情報を含む。特許文献1には、サーバ証明書の有効期間がどのように設定されるのかについて開示されていない。
本明細書では、通信機器が、現在日時情報を取得可能であるのか否かに関わらず、サーバ証明書を利用した通信を外部機器と適切に実行するための技術を提供する。
本明細書によって開示される通信機器は、予め決められている第1の有効期間を示す第1のサーバ証明書を記憶するためのメモリと、サーバ証明書を利用した通信を実行するための通信要求を外部機器から受信する受信部と、現在日時を示す現在日時情報を取得可能であるのか否かを判断する第1の判断部と、現在日時情報を取得可能であると判断される場合に、現在日時情報によって示される現在日時に基づく第2の有効期間を示す第2のサーバ証明書を生成して、第2のサーバ証明書をメモリに記憶させる生成部と、通信実行部と、を備える。通信実行部は、外部機器から通信要求が受信され、かつ、現在日時情報を取得可能であると判断される場合に、メモリ内の第2のサーバ証明書を利用して、外部機器との通信を実行し、外部機器から通信要求が受信され、かつ、現在日時情報を取得不可能であると判断される場合に、メモリ内の第1のサーバ証明書を利用して、外部機器との通信を実行する。
上記の構成によると、通信機器は、現在日時情報を取得可能である場合には、現在日時に基づく第2の有効期間を示す第2のサーバ証明書を利用して、外部機器との通信を適切に実行することができる。一方、通信機器は、現在日時情報を取得不可能である場合には、予め決められている第1の有効期間を示す第1のサーバ証明書を利用して、外部機器との通信を適切に実行することができる。このように、通信機器は、現在日時情報を取得可能であるのか否かに関わらず、サーバ証明書を利用した通信を外部機器と適切に実行することができる。
上記の通信機器を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の通信機器と外部機器とを備える通信システムも、新規で有用である。
通信システムの構成を示す。 起動処理のフローチャートを示す。 時計関連操作監視処理のフローチャートを示す。 証明書関連操作監視処理のフローチャートを示す。 SSL通信処理のフローチャートを示す。 第2プリセット証明書が利用されるケースAと、第1プリセット証明書が利用されるケースBと、のシーケンス図を示す。 証明書が消去されるケースCと、第2プリセット証明書が記憶済みであるケースDと、のシーケンス図を示す。 第2プリセット証明書が更新されるケースEと、時計変更操作が実行されるケースFと、のシーケンス図を示す。 時計変更操作が実行されるケースGと、インストール証明書が利用されるケースHのシーケンス図を示す。
(通信システム2の構成;図1)
通信システム2は、プリンタPRと、端末機器70と、を備える。プリンタPRと端末機器70とは、AP(Access Pointの略)100によって形成されている無線LAN(Local Area Networkの略)に所属しており、AP100を介して、相互に無線通信を実行可能である。
(プリンタPRの構成)
プリンタPRは、印刷機能を実行可能な周辺機器(即ち端末機器70等の周辺機器)である。プリンタPRは、例えば、周辺機器からの要求に応じて、印刷機能を実行可能である。即ち、プリンタPRは、印刷サービスを周辺機器に提供可能なサーバ機器であると言える。プリンタPRは、操作部12と、表示部14と、印刷実行部16と、時計部18と、無線インターフェース20と、制御部30と、を備える。以下では、インターフェースのことを「I/F」と記載する。
操作部12は、複数のキーによって構成される。ユーザは、操作部12を操作することによって、様々な指示をプリンタPRに入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。印刷実行部16は、インクジェット方式、レーザ方式等の印刷機構である。
時計部18は、現在日時を計時するための時計機構である。時計部18は、プリンタPRの出荷段階では、プリンタPRの出荷日時よりも前であるデフォルト日時(本実施例では2010年1月1日0時0分)を示す。プリンタPRが出荷された後にプリンタPRの電源が最初にONされる際に、時計部18は、デフォルト日時を始点として計時を開始する。この状態では、時計部18によって計時されている日時は、デフォルト日時が基準であり、正確な現在日時ではない。時計部18は、現在日時を設定するための時計設定操作がユーザによって操作部12に実行される際に、設定後の日時を始点として現在日時の計時を開始する。また、時計部18は、現在日時を計時している状態において、現在日時を変更するための時計変更操作がユーザによって操作部12に実行される場合に、変更後の日時を始点として新たな現在日時の計時を開始する。また、時計部18は、現在日時をリセットするための時計リセット操作がユーザによって操作部12に実行される場合に、デフォルト日時を始点として計時を開始する。なお、プリンタPRが出荷された後にプリンタPRの電源が1回でもONされていれば、その後にプリンタPRの電源がOFFされても、時計部18は、計時を中断せずに、計時を継続する。なお、以下では、デフォルト日時である2010年1月1日0時0分のうちの時分「0時0分」の記載を省略することがある。また、デフォルト日時以外の全ての日時についても、時分の記載を省略することがある。
時計部18が計時可能な日時の範囲は、プリンタPRが利用されることが想定される日時の範囲であり、予め決められている。具体的には、時計部18が計時可能な日時は、デフォルト日時(即ち2010年1月1日)から、デフォルト日時に第1の所定期間(本実施例では100年)が加算されて得られる最終日時(即ち2110年1月1日)までである。なお、第1の所定期間は極めて長い期間に設定されおり、プリンタPRが最終日時を経過した後も利用され続けることは想定していない。ユーザは、時計部18が計時可能な日時の範囲内から現在日時を設定することができる。
無線I/F20は、Wi−Fi方式に従った無線通信を実行するための無線I/Fである。Wi−Fi方式は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば802.11a,11b,11g,11n等)に従って、無線通信を実行するための無線通信方式である。本実施例では、プリンタPRが実行する全ての無線通信は、無線I/F20を介して実行される。
制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に記憶されているプログラム36に従って、様々な処理を実行するプロセッサである。メモリ34は、RAM、ROM等によって構成される。メモリ34は、プログラム36に加えて、プリンタPRのホスト名Hと、時計設定フラグ46と、を記憶する。ホスト名Hは、プリンタPRを識別するための名称であり、予め決められている名称であってもよいし、ユーザによって設定される名称であってもよい。時計設定フラグ46は、時計部18から現在日時情報を取得可能である場合に「ON」を示し、時計部18から現在日時情報を取得不可能である場合に「OFF」を示す。時計設定フラグ46は、時計設定操作がユーザによって実行されると、「OFF」から「ON」に変更される。時計設定フラグ46は、時計リセット操作がユーザによって実行されると、「ON」から「OFF」に変更される。
メモリ34は、さらに、第1領域41と、第2領域42と、第3領域43と、設定領域44と、を備える。各領域41〜44には、無線LANに所属する機器(例えば端末機器70)とのSSL(Secure Sockets Layerの略)を利用した通信(以下では「SSL通信」と呼ぶ)を実行するためのサーバ証明書と、当該サーバ証明書に対応する秘密鍵と、が記憶され得る。サーバ証明書は、無線LANに所属する機器(例えば端末機器70)に印刷サービスを提供するための情報であり、より具体的には、SSL通信を実行するために必要な情報である。また、メモリ34は、さらに、ネットワーク領域45を備える。ネットワーク領域45には、プリンタPRがネットワークを利用して通信し得る各機器を識別するための各識別情報(例えばホスト名、IPアドレス等)が記憶され得る。各機器は、無線LANに所属する機器(即ちAP100及び端末機器70等)を含む。また、各機器は、例えば、プリンタPRがインターネットに接続されている場合に、インターネット上に設置されているSNTP(Simple Network Time Protocolの略)サーバ(図示省略)を含み得る。SNTPサーバは、現在日時情報を提供するためのサーバである。プリンタPRは、ネットワーク領域45にSNTPサーバの識別情報が記憶されている場合に、SNTPサーバから現在日時情報を取得することができる。
第1領域41には、第1プリセット証明書C1と、秘密鍵SKと、が記憶され得る。第1プリセット証明書C1は、プリンタPRによって生成されるサーバ証明書であり、ハッシュ対象情報HIと、署名Sと、を含む。ハッシュ対象情報HIは、有効期間情報V1と、公開鍵PKと、所有者情報Pと、を含む。有効期間情報V1は、第1プリセット証明書C1の有効期間を示す情報であり、当該有効期間は、現在日時に基づかずにプリンタPRのベンダによって予め決定されている期間である。具体的には、有効期間の始期は、デフォルト日時(即ち2010年1月1日)であり、有効期間の終期は、最終日時(2110年1月1日)である。公開鍵PKは、プリンタPRとは異なる機器が取得可能な鍵である。具体的には、例えば、端末機器70は、公開鍵PKを含む第1プリセット証明書C1をプリンタPRから受信することによって、公開鍵PKを取得することができる。所有者情報Pは、第1プリセット証明書C1の所有者を示す所有者情報としてホスト名Hを含む。署名Sは、ハッシュ対象情報HIをハッシュ化することによって得られるハッシュ値が、秘密鍵SKを利用して暗号化された値である。
秘密鍵SKは、プリンタPRによって生成される。秘密鍵SKは、プリンタPRとは異なる機器が取得不可能な鍵であり、公開鍵PKに対応する鍵である。例えば、秘密鍵SKを利用して暗号化されたデータは、公開鍵PKを利用して復号化可能である。しかしながら、当該データは、秘密鍵SKを利用して復号化不可能である。また、公開鍵PKを利用して暗号化されたデータは、秘密鍵SKを利用して復号化可能である。しかしながら、当該データは、公開鍵PKを利用して復号化不可能である。
第2領域42には、第2プリセット証明書C2と、秘密鍵(図示省略)と、が記憶され得る。第2プリセット証明書C2は、第1プリセット証明書C1と同様に、プリンタPRによって生成されるサーバ証明書であり、ハッシュ対象情報(即ち、有効期間情報V2、公開鍵、及び、所有者情報)と、署名と、を含む。なお、有効期間情報V2以外の各情報は、図示省略している。有効期間情報V2が示す有効期間は、現在日時に基づいて決定される期間である。例えば、第2プリセット証明書C2が2015年1月1日に生成される場合に、有効期間の始期は、2015年1月1日であり、有効期間の終期は、上記の始期に第2の所定期間(本実施例では5年)が加算されて得られる日時(即ち2020年1月1日)である。また、第2領域42内の秘密鍵は、プリンタPRによって生成される鍵であり、第2プリセット証明書C2内の公開鍵に対応する。
上述したように、第1プリセット証明書C1の有効期間の始期は、プリンタPRの出荷日時よりも前であるデフォルト日時(即ち2010年1月1日)である。そのため、第1プリセット証明書C1の有効期間の始期は、通常、現在日時に基づいて決定される第2プリセット証明書C2の有効期間の始期より前である。また、第1プリセット証明書C1の有効期間の終期は、プリンタPRが利用されることが想定されていない最終日時(即ち2110年1月1日)である。そのため、第1プリセット証明書C1の有効期間の終期は、通常、現在日時に基づいて決定される第2プリセット証明書C2の有効期間の終期より後である。
第3領域43には、インストール証明書C3と、秘密鍵(図示省略)と、が記憶され得る。インストール証明書C3は、ユーザによる操作が操作部12に実行されることによって、プリンタPRにインストールされる証明書であり、第1プリセット証明書C1と同様に、ハッシュ対象情報(即ち、有効期間情報V3、公開鍵、及び、所有者情報)と、署名と、を含む。なお、有効期間情報V3以外の各情報は、図示省略している。有効期間情報V3は、インストール証明書C3の有効期間を示す情報であり、ユーザによる操作が実行されることによって決定される。また、第3領域43内の秘密鍵は、ユーザによる上記の操作が実行されることによってプリンタPRに記憶される鍵であり、インストール証明書C3内の公開鍵に対応する。
各証明書C1,C2は、プリンタPR自身によって署名(即ち生成)される自己署名証明書である。変形例では、証明書C1,C2は、プリンタPRとは異なる認証局によって署名される認証局証明書であってもよい。なお、インストール証明書C3について、ユーザは、自己署名証明書及び認証証明書のいずれもインストール可能である。即ち、インストール証明書C3は、自己署名証明書及び認証証明書のいずれであってもよい。
設定領域44は、証明書C1〜C3のうちのいずれか1個の証明書と、当該1個の証明書に対応する秘密鍵と、を記憶する。設定領域44内の証明書は、無線LANに所属する機器(例えば端末機器70)とのSSL通信を実行するために実際に利用される証明書である。例えば、第1プリセット証明書C1、第2プリセット証明書C2が、それぞれ、第1領域41、第2領域42に記憶されており、さらに、第2プリセット証明書C2が設定領域44に記憶されている状況では、プリンタPRは、第2プリセット証明書C2を利用してSSL通信を実行する。
(端末機器70の構成)
端末機器70は、例えば、携帯電話、スマートフォン、ノートPC、タブレットPC等の可搬型の機器であってもよいし、デスクトップPC、テレビ等の据置型の機器であってもよい。端末機器70は、プリンタPRと同様に、Wi−Fi方式をサポートしている。
(起動処理;図2)
続いて、図2を参照して、プリンタPRのCPU32が実行する起動処理の内容について説明する。起動処理は、プリンタPRの電源がユーザによってONされること、即ち、プリンタPRが起動されることをトリガとして実行される。プリンタPRの電源がONされる状況では、プリンタPRのメモリ34には、ホスト名Hが記憶されている。なお、図2の処理では図示省略しているが、プリンタPRの電源がONされる場合に、プリンタPRは、AP100との無線接続を自動的に確立して、無線LANに所属する。
S10では、CPU32は、現在日時情報を取得可能であるのか否かを判断する。具体的には、まず、CPU32は、メモリ34内の時計設定フラグ46が「ON」を示すのか否かを判断する。CPU32は、時計設定フラグ46が「ON」を示す場合(S10でYES)に、S12〜S18をスキップして、S26に進む。一方、CPU32は、時計設定フラグ46が「OFF」を示す場合に、SNTPサーバ(図示省略)から現在日時情報を受信可能であるのか否かを判断する。具体的には、CPU32は、SNTPサーバの識別情報がメモリ34内のネットワーク領域45に記憶済みであるのか否かを判断する。SNTPサーバの識別情報がネットワーク領域45に記憶済みである場合では、CPU32は、SNTPサーバと通信可能であれば、SNTPサーバから現在日時情報を受信可能である。CPU32は、SNTPサーバの識別情報がネットワーク領域45に記憶済みであり、かつ、CPU32がSNTPサーバと通信可能である場合(S10でYES)に、S12〜S18をスキップして、S26に進む。一方、CPU32は、SNTPサーバの識別情報がネットワーク領域45に記憶されていない場合(S10でNO)に、S12に進む。また、CPU32は、SNTPサーバの識別情報がネットワーク領域45に記憶されているが、CPU32がSNTPサーバと通信不可能である場合(S10でNO)に、S12に進む。即ち、例えば、SNTPサーバの識別情報がネットワーク領域45に記憶済みであり、かつ、CPU32がSNTPサーバと通信可能である状態において、CPU32がインターネットから離脱した場合に、CPU32は、S10でNOと判断する。
S12では、CPU32は、時計設定操作がユーザによって操作部12に実行されたのか否かを判断する。具体的には、まず、CPU32は、現在日時を設定するのか否かを選択するための時計選択画面を表示部14に表示する。ユーザは、時計選択画面において、現在日時を設定することを選択するための「OK」ボタンと、現在日時を設定しないことを選択するための「Cancel」ボタンと、のうちのいずれかを選択する操作を操作部12に実行する。CPU32は、「OK」ボタンを選択する操作が実行される場合に、現在日時を設定するための時計設定画面を表示する。これにより、ユーザは、時計設定操作を操作部12に実行することができる。CPU32は、時計設定画面において、時計設定操作がユーザによって実行される場合(S12でYES)に、S14に進む。一方、CPU32は、「Cancel」ボタンを選択する操作が実行される場合(S12でNO)に、S34に進む。
S14では、CPU32は、時計設定フラグ46を「OFF」から「ON」に変更する。次いで、S16では、CPU32は、時計部18によって計時されている現在日時を示す現在日時情報を取得する。
S18では、CPU32は、第2プリセット証明書C2を生成して、生成済みの第2プリセット証明書C2を第2領域42及び設定領域44に記憶する。具体的には、まず、CPU32は、S16で取得済みの現在日時情報によって示される現在日時が始期であると共に、当該始期に上記の第2の所定期間(即ち5年)を加算することによって得られる日時が終期である有効期間を示す有効期間情報V2を生成する。次いで、CPU32は、所定のアルゴリズムに基づいて、公開鍵及び秘密鍵を生成し、さらに、メモリ34内のホスト名Hを利用して所有者情報を生成する。次いで、CPU32は、有効期間情報V2、公開鍵、及び、所有者情報を含むハッシュ対象情報をハッシュ化してハッシュ値を算出し、秘密鍵を利用して当該ハッシュ値を暗号化することによって署名を生成する。次いで、CPU32は、有効期間情報V2、公開鍵、所有者情報、及び、署名を含む第2プリセット証明書C2を生成し、生成済みの第2プリセット証明書C2を第2領域42及び設定領域44に記憶する。また、CPU32は、秘密鍵を第2プリセット証明書C2に関連付けて第2領域42及び設定領域44に記憶する。なお、S18において、第2プリセット証明書C2及び秘密鍵を設定領域44が記憶されるべき際に、証明書及び秘密鍵が設定領域44に既に記憶されていることがあり得る。この場合、CPU32は、設定領域44内の証明書及び秘密鍵を削除して、第2プリセット証明書C2及び秘密鍵を設定領域44に新たに記憶する。この点は、図2〜図5の他の各処理において、証明書及び秘密鍵を設定領域44に記憶する場合も同様である。S18が終了すると、図2の処理が終了する。
S26では、CPU32は、現在日時情報を取得する。具体的には、CPU32は、時計設定フラグ46が「ON」を示す場合に、時計部18によって計時されている現在日時を示す現在日時情報を取得する。一方、CPU32は、時計設定フラグ46が「OFF」を示し、かつ、SNTPサーバの識別情報がネットワーク領域45に記憶済みである場合に、SNTPサーバから現在日時情報を取得する。より具体的には、CPU32は、現在日時情報を要求するための要求信号をSNTPサーバに送信し、SNTPサーバから現在日時情報を受信することによって、現在日時情報を取得する。
S28では、CPU32は、第2プリセット証明書C2が第2領域42に記憶済みであるのか否かを判断する。CPU32は、第2プリセット証明書C2が第2領域42に記憶済みである場合(S28でYES)に、S30に進む。一方、CPU32は、第2プリセット証明書C2が第2領域42に記憶済みでない場合(S28でNO)に、S30をスキップして、S32に進む。例えば、第2プリセット証明書C2が第2領域42に記憶された後に、第2領域42から第2プリセット証明書C2を消去するための証明書消去操作がユーザによって操作部12に実行されることがあり得る。証明書消去操作が実行された後に、プリンタPRの電源がOFFされ、さらに、プリンタPRの電源がONされる場合に、S28でNOと判断され得る。
S30では、CPU32は、S26で取得済みの現在日時情報によって示される現在日時が、第2領域42内の第2プリセット証明書C2に含まれる有効期間情報V2によって示される有効期間の終期より後であるのか否かを判断する。CPU32は、現在日時が上記の終期より後である場合(S30でYES)に、S32に進む。この場合、CPU32は、後述のS32において、第2プリセット証明書C2を新たに生成する。一方、CPU32は、現在日時が上記の終期より前である場合(S30でNO)に、図2の処理を終了する。この場合、CPU32は、第2プリセット証明書C2を新たに生成しない。
S32では、CPU32は、S26で取得済みの現在日時情報を利用して、S18と同様の処理を実行する。なお、第2プリセット証明書C2が第2領域42に記憶済みである場合、S32において、CPU32は、第2領域42内の第2プリセット証明書C2を更新する。また、第2プリセット証明書C2が設定領域44に記憶済みである場合、S32において、CPU32は、設定領域44内の第2プリセット証明書C2を更新する。S32が終了すると、図2の処理が終了する。
S34では、CPU32は、第1プリセット証明書C1が第1領域41に記憶済みであるのか否かを判断する。CPU32は、第1プリセット証明書C1が第1領域41に記憶済みである場合(S34でYES)に、図2の処理を終了する。この場合、CPU32は、第1プリセット証明書C1を新たに生成しない。一方、CPU32は、第1プリセット証明書C1が第1領域41に記憶済みでない場合(S34でNO)に、S36に進む。
S36では、CPU32は、第1プリセット証明書C1を生成して、生成済みの第1プリセット証明書C1を第1領域41及び設定領域44に記憶する。具体的には、まず、CPU32は、デフォルト日時が始期であると共に、最終日時が終期である有効期間を示す有効期間情報V1を生成する。さらに、CPU32は、S18と同様に、有効期間情報V1、公開鍵PK、所有者情報P、及び、署名Sを含む第1プリセット証明書C1を生成し、生成済みの第1プリセット証明書C1を第1領域41及び設定領域44に記憶する。また、CPU32は、秘密鍵SKを第1プリセット証明書C1に関連付けて第1領域41及び設定領域44に記憶する。S36が終了すると、図2の処理が終了する。
(時計関連操作監視処理;図3)
続いて、図3を参照して、プリンタPRのCPU32が実行する時計関連操作監視処理の内容について説明する。時計関連操作監視処理は、時計設定画面を表示するための表示操作がユーザによって操作部12に実行されることをトリガとして実行される。表示操作は、時計設定フラグ46が「ON」及び「OFF」のいずれを示す場合でも(即ち、時計部18が現在日時を計時しているのか否かに関わらず)実行され得る。
S110では、CPU32は、時計設定画面において、日時入力操作がユーザによって操作部12に実行されることを監視する。日時入力操作は、時計設定画面において、現在日時を入力するための操作である。これにより、時計部18は、入力済みの現在日時を始点として計時を開始する。次いで、S112では、CPU32は、S110で入力済みの現在日時に基づいて計時を実行している時計部18から、現在日時情報を取得する。
S114では、CPU32は、時計設定フラグ46が「OFF」を示すのか否かを判断する。CPU32は、時計設定フラグ46が「OFF」を示す場合(S114でYES)に、S116に進む。この場合、S110の日時入力操作は、時計部18が現在日時を計時していない状態で実行されるので、時計設定操作である。一方、CPU32は、時計設定フラグ46が「ON」を示す場合(S114でNO)に、S122に進む。この場合、S110の日時入力操作は、時計部18が現在日時を計時している状態で実行されるので、時計変更操作である。
S116では、CPU32は、時計設定フラグ46を「OFF」から「ON」に変更する。次いで、S118では、CPU32は、S112で取得済みの現在日時情報を利用して、図2のS18と同様の処理を実行する。また、S122〜S126は、それぞれ、図2のS28〜S32と同様である。
S128では、CPU32は、S112で取得済みの現在日時情報によって示される現在日時が、第2領域42内の第2プリセット証明書C2に含まれる有効期間情報V2によって示される有効期間の始期より前であるのか否かを判断する。CPU32は、現在日時が上記の始期より前である場合(S128でYES)に、S140に進む。一方、CPU32は、現在日時が上記の始期より後である場合(S128でNO)に、図3の処理を終了する。
S140では、CPU32は、第1プリセット証明書C1が第1領域41に記憶済みであるのか否かを判断する。CPU32は、第1プリセット証明書C1が第1領域41に記憶済みであると判断する場合(S140でYES)には、S142において、第1領域41内の第1プリセット証明書C1を設定領域44に記憶する。CPU32は、第1プリセット証明書C1が第1領域41に記憶済みでないと判断する場合(S140でNO)には、S144において、図2のS36と同様の処理を実行する。
S136では、CPU32は、時計設定画面において、時計リセット操作がユーザによって操作部12に実行されることを監視する。CPU32は、時計リセット操作が実行される場合(S136でYES)に、S138において、時計設定フラグ46を「ON」から「OFF」に変更する。これにより、時計部18は、デフォルト日時を始点として計時を開始する。CPU32は、S138を終了すると、S140に進む。
(証明書関連操作監視処理;図4)
続いて、図4を参照して、プリンタPRのCPU32が実行する証明書関連操作監視処理の内容について説明する。証明書関連操作監視処理では、CPU32は、後述のS210及びS214の監視処理を実行して、証明書に関連する操作が実行されることに応じた各処理を実行する。
S210では、CPU32は、インストール証明書C3をプリンタPRにインストールするためのインストール操作がユーザによって操作部12に実行されることを監視する。CPU32は、インストール操作が実行される場合(S210でYES)に、S211に進む。なお、インストール操作が実行される前に、インストール証明書C3を生成するために必要な情報(即ち、有効期間情報、所有者情報等)を入力するための操作が無線LAN内の特定機器(例えば端末機器70)にユーザによって実行されている。そして、特定機器は、インストール証明書と、インストール証明書に対応する秘密鍵と、を生成している。
S211では、CPU32は、インストール要求を上記の特定機器に送信して、上記の特定機器からインストール証明書C3と秘密鍵とを受信する。そして、S212では、CPU32は、インストール証明書C3と秘密鍵とを第3領域43に記憶する。S212が終了すると、S210及びS214の監視処理に戻る。
S214では、CPU32は、証明書選択操作がユーザによって操作部12に実行されることを監視する。証明書選択操作は、証明書選択画面において、プリセット証明書及びインストール証明書のうちのいずれか一方の証明書を選択するための操作である。CPU32は、証明書選択操作が実行される場合(S214でYES)に、S216に進む。なお、証明書選択画面では、常に、プリセット証明書を選択可能である。しかし、証明書選択画面では、インストール証明書C3が第3領域43に記憶済みである場合にインストール証明書を選択可能であるが、インストール証明書C3が第3領域43に記憶されていない場合に、インストール証明書を選択不可能である。
S216では、CPU32は、インストール証明書が選択されたのか否かを判断する。CPU32は、インストール証明書が選択された場合(S216でYES)に、S218に進み、第3領域43内のインストール証明書C3を設定領域44に記憶する。これにより、プリンタPRの動作モードがインストール証明書を利用すべき動作モードになる。S218が終了すると、S210及びS214の監視処理に戻る。
一方、CPU32は、プリセット証明書が選択された場合(S216でNO)に、S220に進む。この場合、プリンタPRの動作モードがプリセット証明書を利用すべき動作モードになる。
S220では、CPU32は、図2のS10と同様に、現在日時情報を取得可能であるのか否かを判断する。S220でYESと判断される場合には、第2プリセット証明書C2が第2領域42に記憶済みである(図2のS18、S32、図3のS118、S126参照)。この場合、S222では、CPU32は、第2領域42内の第2プリセット証明書C2を設定領域44に記憶する。S222が終了すると、S210及びS214の監視処理に戻る。
一方、S220でNOと判断される場合には、S224において、CPU32は、第1プリセット証明書C1が第1領域41に記憶済みであるのか否かを判断する。CPU32は、第1プリセット証明書C1が第1領域41に記憶済みであると判断する場合(S224でYES)には、S226において、第1領域41内の第1プリセット証明書C1を設定領域44に記憶する。また、CPU32は、第1プリセット証明書C1が第1領域41に記憶済みでないと判断する場合(S224でNO)には、S228において、図2のS36と同様の処理を実行する。S226又はS228が終了すると、S210及びS214の監視処理に戻る。
(SSL通信処理;図5)
続いて、図5を参照して、プリンタPRのCPU32が実行するSSL通信処理の内容について説明する。
S310では、CPU32は、SSL通信の実行を要求するためのSSL通信要求を端末機器(例えば70)から受信することを監視する。CPU32は、SSL通信要求を端末機器から受信する場合(S310でYES)に、S312に進む。
S312では、CPU32は、第2プリセット証明書C2が設定領域44に記憶済みであるのか否かを判断する。CPU32は、設定領域44内の証明書が、第2領域42内の第2プリセット証明書C2に一致する場合(S312でYES)に、S316に進む。一方、CPU32は、設定領域44内の証明書が、第1領域41内の第1プリセット証明書C1、及び、第3領域43内のインストール証明書C3のうちのいずれかに一致する場合(S312でNO)に、S316〜S320をスキップして、S322に進む。
S316〜S320は、図2のS26,S30,S32と同様である。S322では、CPU32は、設定領域44内の証明書を端末機器に送信する。
S324では、CPU32は、端末機器から、S322で送信済みの証明書に含まれる公開鍵を利用して暗号化された共通鍵を受信する。そして、CPU32は、秘密鍵を利用して当該共通鍵を復号化することによって、共通鍵を取得する。共通鍵は、公開鍵及び秘密鍵とは異なり、暗号化及び復号化の双方で共通して利用可能な鍵である。即ち、共通鍵を利用して暗号化されたデータは、共通鍵を利用して復号化可能である。プリンタPRがS324で共通鍵を取得するので、プリンタPR及び端末機器は、同じ共通鍵を利用することができる(即ち共通鍵を共有することができる)。上述したように、端末機器からプリンタPRに送信される共通鍵が暗号化されており、プリンタPRの秘密鍵がなければ、当該共通鍵を復号化することができない。従って、例えば、プリンタPRとは異なる機器が、暗号化された共通鍵を不正に受信したとしても、当該機器は、プリンタPRから秘密鍵を取得不可能であるので、暗号化された共通鍵を復号化することができない。
S326では、CPU32は、取得済みの共通鍵を利用して、端末機器とのSSL通信を実行する。例えば、CPU32は、共通鍵を利用して暗号化された画像ファイルを端末機器から受信する場合に、共通鍵を利用して当該画像ファイルを復号化する。そして、CPU32は、復号化された画像ファイルによって表わされる画像の印刷を印刷実行部16に実行させることができる。
(具体的なケース;図6〜図9)
続いて、図6〜図9を参照して、図2〜図5のフローチャートに従って実現されるケースA〜Hの内容を説明する。
(ケースA;図6)
本ケースの初期状態では、図2〜図5の処理が1回も実行されておらず、プリンタPRのメモリ34には、いずれの証明書も記憶されていない(状態Sa1)。また、端末機器70は、AP100によって形成されている無線LANに所属している。SNTPサーバは、当該無線LANに所属していない。なお、図6以降の図面では、各証明書内の情報は図示省略されている。ただし、各証明書の有効期間は括弧書きで記載されている。
T10では、ユーザは、プリンタPRの電源をONする(図2のトリガ)。プリンタPRは、現在日時情報を取得不可能であると判断する(S10でNO)。
T12では、2015年1月1日において、ユーザは、現在日時(即ち2015年1月1日)を設定するための時計設定操作をプリンタPRに実行する(図2のS12でYES)。プリンタPRは、時計設定フラグ46を「OFF」から「ON」に変更し(S14)、現在日時(即ち2015年1月1日)を示す現在日時情報を取得する(S16)。プリンタPRは、第2プリセット証明書C2aを生成し、第2プリセット証明書C2aを第2領域42及び設定領域44に記憶する(S18、図6の状態Sa2)。第2プリセット証明書C2aの始期は、現在日時(即ち2015年1月1日)であり、第2プリセット証明書C2aの終期は、2020年1月1日である。
T16では、第2プリセット証明書C2aが第2領域42及び設定領域44に記憶されてから1日経過後の2015年1月2日において、ユーザは、印刷指示操作を端末機器70に実行する。印刷指示操作は、SSL通信要求の送信先機器としてプリンタPRを指定するための送信先指定操作を含む。具体的には、送信先指定操作は、送信先機器を示す送信先ホスト名としてプリンタPRのホスト名Hを指定する操作である。印刷指示操作は、さらに、端末機器70に記憶されている1個以上の画像ファイルの中から、プリンタPRが印刷を実行すべき対象である画像を表わす画像ファイルを指定するための画像指定操作を含む。
T18では、プリンタPRは、端末機器70からSSL通信要求を受信する(図5のS310でYES)。この場合、プリンタPRは、第2プリセット証明書C2aが設定領域44に記憶済みであると判断し(S312でYES)、現在日時(即ち2015年1月2日)を示す現在日時情報を取得する(S316)。プリンタPRは、現在日時が、第2プリセット証明書C2aの有効期間の終期(即ち2020年1月1日)より前であると判断し(S318でNO)、第2プリセット証明書C2を新たに生成しない。
T20では、プリンタPRは、設定領域44内の第2プリセット証明書C2aを利用して、端末機器70とのSSL通信を実行する。具体的には、まず、プリンタPRは、第2プリセット証明書C2aを端末機器70に送信する(図5のS322)。
端末機器70は、プリンタPRから第2プリセット証明書C2aを受信する場合に、第2プリセット証明書C2aの検証を実行する。具体的には、端末機器70は、以下の第1〜第4の検証を実行する、端末機器70は、まず、第1の検証において、第2プリセット証明書C2a内の公開鍵を利用して、第2プリセット証明書C2a内の署名を復号化することを試行する。端末機器70は、公開鍵を利用して署名を復号化することによってハッシュ値を取得できた場合には、第1の検証が成功したと判断し、署名を復号化できなかった場合には、第1の検証が失敗したと判断する。第1の検証が成功した後に、端末機器70は、第2の検証において、第2プリセット証明書C2aに含まれるハッシュ対象情報をハッシュ化して、ハッシュ値を算出する。端末機器70は、算出済みのハッシュ値が、第1の検証で取得されたハッシュ値に一致する場合に、第2の検証が成功したと判断し、これらのハッシュ値が一致しない場合に、第2の検証が失敗したと判断する。第2の検証が成功した後に、端末機器70は、第3の検証において、第2プリセット証明書C2aに含まれる所有者情報内のホスト名Hが、上記の送信先指定操作で指定された送信先ホスト名に一致するのか否かを判断する。端末機器70は、ホスト名Hが送信先ホスト名に一致する場合に、第3の検証が成功したと判断し、ホスト名Hが送信先ホスト名に一致しない場合に、第3の検証が失敗したと判断する。端末機器70は、第4の検証において、現在時刻が、第2プリセット証明書C2aの有効期間の終期より前であるのか否かを検証する。端末機器70は、現在時刻が上記の終期より前である場合に第4の検証が成功したと判断し、現在時刻が上記の終期より後である場合に第4の検証が失敗したと判断する。端末機器70は、第1〜第4の検証の全てが成功する場合に、第2プリセット証明書C2aの検証が成功したと判断する。本ケースでは、第2プリセット証明書C2aの検証は成功する。
次いで、端末機器70は、第2プリセット証明書C2aに含まれる公開鍵を利用して共通鍵を暗号化し、当該共通鍵をプリンタPRに送信する。これにより、プリンタPRは、端末機器70から共通鍵を受信し、秘密鍵を利用して当該共通鍵を復号化する(図5のS324)。
次いで、端末機器70は、共通鍵を利用して、上記の画像指定操作で指定された画像ファイルを暗号化し、当該画像ファイルをプリンタPRに送信する。これにより、プリンタPRは、端末機器70から画像ファイルを受信し(図5のS326)、共通鍵を利用して当該画像ファイルを復号化する。そして、プリンタPRは、画像ファイルによって表わされる画像の印刷を実行する。
(ケースB;図6)
本ケースの初期状態は、ケースAと同様である。T110は、T10と同様である。ユーザは、時計設定操作をプリンタPRに実行しない(図2のS12でNO)。プリンタPRは、第1プリセット証明書C1が第1領域41に記憶されていないと判断し(S34でNO)、第1プリセット証明書C1を生成して、第1プリセット証明書C1を第1領域41及び設定領域44に記憶する(S36、図6の状態Sb)。T116,T118は、T16,T18と同様である。
プリンタPRは、端末機器70からSSL通信要求を受信する場合(図5のS310でYES)に、第2プリセット証明書C2が設定領域44に記憶されていないと判断し(S312でNO)、T120において、設定領域44内の第1プリセット証明書C1を利用して、端末機器70とのSSL通信を実行する(図5のS322〜S326)。T120は、第2プリセット証明書C2の代わりに第1プリセット証明書C1が利用される点を除くと、T20と同様である。
(ケースA,Bの効果)
ケースAによると、プリンタPRは、現在日時情報を取得可能である場合には、現在日時に基づく有効期間を示す第2プリセット証明書C2aを利用して、端末機器70とのSSL通信を実行することができる(T20)。一方、ケースBによると、プリンタPRは、現在日時情報を取得不可能である場合には、予め決められている有効期間を示す第1プリセット証明書C1を利用して、端末機器70とのSSL通信を実行することができる(T120)。このように、プリンタPRは、現在日時情報を取得可能であるのか否かに関わらず、サーバ証明書を利用したSSL通信を端末機器70と実行することができる。
なお、第2プリセット証明書C2aの有効期間は、現在日時に基づいて決定されている。また、第2プリセット証明書C2aの有効期間(即ち5年間)は、第1プリセット証明書C1の有効期間(即ち100年間)より短い。一般的には、現在日時に基づいて決定された短い有効期間を示す証明書が利用されると、SSL通信のセキュリティを高めることができる。プリンタPRは、現在日時情報を取得可能である場合には、第2プリセット証明書C2aを利用するので、SSL通信のセキュリティを高めることができる。
(ケースC;図7)
メモリ34の状態が状態Sa2となるまでの処理は、図6のケースAと同様である。T208では、ユーザは、メモリ34から全ての証明書を消去するための証明書消去操作をプリンタPRに実行する。これにより、プリンタPRは、第2領域42及び設定領域44から第2プリセット証明書C2aを消去する(状態Sc1)。
T210では、ユーザは、プリンタPRの電源をOFFする。T212では、2015年2月1日において、ユーザは、プリンタPRの電源を再びONする。プリンタPRは、現在日時情報を取得可能であると判断し(図2のS10でYES)、現在日時情報を取得する(S26)。そして、プリンタPRは、第2プリセット証明書C2が第2領域42に記憶されていないと判断し(S28でNO)、第2プリセット証明書C2bを生成して、第2プリセット証明書C2bを第2領域42及び設定領域44に記憶する(S32、図7の状態Sc2)。第2プリセット証明書C2bの始期は、現在日時(即ち2015年2月1日)であり、第2プリセット証明書C2bの終期は、2020年2月1日である。
T214,T216は、図6のT16,T18と同様である。ただし、プリンタPRが、T216においてSSL通信要求を受信する日時は、2015年2月2日である(図5のS310でYES)。プリンタPRは、第2プリセット証明書C2bが設定領域44に記憶済みであると判断し(S312でYES)、現在日時(即ち2015年2月2日)を示す現在日時情報を取得する(S316)。プリンタPRは、現在日時が、第2プリセット証明書C2bの有効期間の終期(即ち2020年2月1日)より前であると判断し(S318でNO)、第2プリセット証明書C2を新たに生成しない。
T218では、プリンタPRは、図6のT20と同様に、設定領域44内の第2プリセット証明書C2bを利用して、端末機器70とのSSL通信を実行する(図5のS322〜S326)。
(ケースD;図7)
メモリ34の状態が状態Sa2となるまでの処理は、図6のケースAと同様である。T308,T310は、T210,T212と同様である。プリンタPRは、現在日時情報を取得可能であると判断し(図2のS10でYES)、現在日時情報を取得する(S26)。そして、プリンタPRは、第2プリセット証明書C2aが第2領域42に記憶済みであると判断し(S28でYES)、現在日時(即ち2015年2月1日)が第2プリセット証明書C2aの有効期間の終期(即ち2020年1月1日)より前であると判断する(S30でNO)。この場合に、プリンタPRは、第2プリセット証明書C2を新たに生成しない。
T314,T316は、図6のT16,T18と同様である。ただし、プリンタPRが、T316においてSSL通信要求を受信する日時は、2015年2月2日である(図5のS310でYES)。T318は、図6のT20と同様である。
(ケースC,Dの効果)
ケースCによると、プリンタPRは、プリンタPRの電源がONされる際に(T212)、現在日時情報を取得可能であり、かつ、第2プリセット証明書C2が第2領域42に記憶されていない場合には、第2プリセット証明書C2bを生成して、第2プリセット証明書C2bを第2領域42及び設定領域44に記憶する。これにより、プリンタPRは、第2プリセット証明書C2bを利用して、端末機器70とのSSL通信を実行することができる(T218)。一方、ケースDによると、プリンタPRは、プリンタPRの電源がONされる際に(T310)、第2プリセット証明書C2aが第2領域42に記憶済みである場合には、現在日時情報を取得可能であっても、第2プリセット証明書C2を生成しない。このように、プリンタPRは、第2プリセット証明書C2を生成する必要がない場合には、第2プリセット証明書C2を生成しないので、処理負荷を抑制し得る。
(ケースE;図8)
メモリ34の状態が状態Sa2となるまでの処理は、図6のケースAと同様である。T410,T412は、図6のT16,T18と同様である。ただし、プリンタPRが、T412においてSSL通信要求を受信する日時は、2020年2月1日である(図5のS310でYES)。プリンタPRは、第2プリセット証明書C2aが設定領域44に記憶済みであると判断し(S312でYES)、現在日時情報を取得する(S316)。そして、プリンタPRは、新たな現在日時(即ち2020年2月1日)が第2プリセット証明書C2aの有効期間の終期(即ち2020年1月1日)より後であると判断する(S318でYES)。そして、プリンタPRは、第2プリセット証明書C2cを新たに生成して、第2領域42及び設定領域44内の第2プリセット証明書C2を更新する(S32、図8の状態Se)。第2プリセット証明書C2cの始期は、現在日時(即ち2020年2月1日)であり、第2プリセット証明書C2aの終期は、2025年2月1日である。
T414では、プリンタPRは、図6のT20と同様に、設定領域44内の第2プリセット証明書C2cを利用して、端末機器70とのSSL通信を実行する(図5のS322〜S326)。
(ケースEの効果)
ケースEによると、プリンタPRは、第2プリセット証明書C2aが第2領域42及び設定領域44に記憶された後に、端末機器70からSSL通信要求を受信し(T412)、現在日時情報を取得する。当該現在日時情報によって示される新たな現在日時(即ち2020年2月1日)は、第2プリセット証明書C2aの有効期間の終期より後である。この場合、プリンタPRは、新たな現在日時に基づく有効期間を示す第2プリセット証明書C2cを新たに生成して、第2領域42及び設定領域44内の第2プリセット証明書C2を更新する。従って、プリンタPRは、更新後の第2プリセット証明書C2cを利用して、端末機器70とのSSL通信を実行することができる。
(ケースF;図8)
メモリ34の状態が状態Sa2となるまでの処理は、図6のケースAと同様である。T508では、2016年1月1日において、ユーザは、現在日時(即ち2016年1月1日)を2014年1月1日に変更するための時計変更操作をプリンタPRに実行する(図3のS110でYES、S114でNO)。即ち、ユーザは、時計変更操作を実行すべきではない状態(即ち、現在日時が正確である状態)で、時計変更操作を誤って実行する。プリンタPRは、現在日時情報を取得し(S112)、第2プリセット証明書C2aが第2領域42に記憶済みであると判断する(S122でYES)。そして、プリンタPRは、新たな現在日時(即ち2014年1月1日)が、第2プリセット証明書C2aの有効期間の終期(即ち2020年1月1日)より前であり、かつ、始期(2015年1月1日)よりも前であると判断する(S124でNO、S128でYES)。そして、プリンタPRは、第1プリセット証明書C1が第1領域41に記憶されていないと判断し(S140でNO)、第1プリセット証明書C1を生成して、第1領域41及び設定領域44に記憶する(図8の状態Sf)。
T510,T512は、図6のT16,T18と同様である。ただし、プリンタPRが、T512においてSSL通信要求を受信する日時は、2016年2月1日である(図5のS310でYES)。なお、T512が実行される際に、プリンタPRが計時している現在日時は、2014年2月1日である。プリンタPRは、第2プリセット証明書C2が設定領域44に記憶されていないと判断する(S312でNO)。
T514では、プリンタPRは、図6のT20と同様に、設定領域44内の第1プリセット証明書C1を利用して、端末機器70とのSSL通信を実行する(図5のS322〜S326)。
(ケースFの効果)
本ケースにおいて、プリンタPRが第2プリセット証明書C2を利用せずに第1プリセット証明書C1を利用する理由は、以下のとおりである。変更後の現在日時が第2プリセット証明書C2aの有効期間の始期より前になる場合には、現在日時が大きく(本ケースでは2年)変更された可能性が高い。この場合、ユーザが誤って時計変更操作を実行した可能性が高く、この結果、変更後の現在日時が正確ではない可能性が高い。そのため、プリンタPRは、現在日時に基づく有効期間を示す第2プリセット証明書C2を利用しない。このように、本ケースでは、プリンタPRは、現在日時が正確ではない可能性が高い場合に、現在日時に基づかずに予め決められている有効期間を示す第1プリセット証明書C1を利用して、端末機器70とのSSL通信を実行することができる。
(ケースG;図9)
メモリ34の状態が状態Sa2となるまでの処理は、図6のケースAと同様である。T610が実行される時点において、プリンタPRは、2016年1月1日を計時すべきであるにも関わらず、2015年12月31日を計時している。
T610では、2016年1月1日において、ユーザは、現在日時(即ち2015年12月31日)を2016年1月1日に変更するための時計変更操作をプリンタPRに実行する(図3のS110でYES、S114でNO)。即ち、ユーザが時計変更操作を実行することによって、プリンタPRが正確な現在日時を計時することになる。プリンタPRは、第2プリセット証明書C2aが第2領域42に記憶済みであると判断し(S122でYES)、現在日時(即ち2016年1月1日)が、第2プリセット証明書C2aの有効期間の終期(即ち2020年1月1日)より前であり、かつ、始期(即ち2015年1月1日)より後であると判断する(S124でNO、S128でNO)。
T612,T614は、図6のT16,T18と同様である。ただし、プリンタPRが、T614においてSSL通信要求を受信する日時は、2016年2月1日である(図5のS310でYES)。プリンタPRは、第2プリセット証明書C2aが設定領域44に記憶済みであると判断し(S312でYES)、現在日時(即ち2016年2月1日)を示す現在日時情報を取得する(S316)。プリンタPRは、現在日時が、第2プリセット証明書C2aの有効期間の終期(即ち2020年1月1日)より前であると判断し(S318でNO)、第2プリセット証明書C2を新たに生成しない。
T616では、プリンタPRは、図6のT20と同様に、設定領域44内の第2プリセット証明書C2aを利用して、端末機器70とのSSL通信を実行する(図5のS322〜S326)。
(ケースGの効果)
ケースGでは、新たな現在日時(即ち2016年2月1日)は、第2プリセット証明書C2aの有効期間の始期(即ち2015年1月1日)より後である。プリンタPRは、端末機器70からSSL通信要求が受信される場合(図8のT614)に、設定領域44内の第2プリセット証明書C2aを利用して、端末機器70とのSSL通信を実行する(T616)。このように、プリンタPRは、正確な現在日時に基づく有効期間を示す第2プリセット証明書C2aを利用して、端末機器70とのSSL通信を実行することができる。
(ケースH;図9)
メモリ34の状態が状態Sa2となるまでの処理は、図6のケースAと同様である。T710では、ユーザは、インストール操作をプリンタPRに実行する(図4のS210でYES)。この結果、プリンタPRは、インストール証明書C3を第3領域43に記憶する(S212、図9の状態Sh1)。
T712では、ユーザは、インストール証明書を選択するための証明書選択操作を実行する(図4のS214でYES、S216でYES)。プリンタPRは、インストール証明書C3を設定領域44に記憶する(図9の状態Sh2)。
T714,T716は、図6のT16,T18と同様である。プリンタPRは、第2プリセット証明書C2が第2領域42に記憶されていないと判断する(S312でNO)。
T718では、プリンタPRは、図6のT20と同様に、設定領域44内のインストール証明書C3を利用して、端末機器70とのSSL通信を実行する(図5のS322〜S326)。
(ケースHの効果)
ケースHによると、プリンタPRは、インストール証明書を選択するための証明書選択操作が実行される場合には、インストール証明書C3を利用して、端末機器70とのSSL通信を実行することができる(T718)。特に、例えば、プリセット証明書C1,C2が自己署名証明書であり、インストール証明書C3が認証局証明書である場合では、プリンタPRは、信頼性がより高い認証局証明書(即ちインストール証明書C3)を利用して、端末機器70とのSSL通信を実行することができる。なお、仮に、ケースHのT712において、プリセット証明書を選択するための証明書選択操作が実行される場合には、プリンタPRは、第2プリセット証明書C2aを利用して、端末機器70とのSSL通信を実行することができる。なお、この場合におけるメモリ34の状態は、状態Sh1である。プリセット証明書は、ユーザからサーバ証明書を利用するための明示的な操作(例えばインストール操作)がなくても、プリンタPRに記憶される。そのため、ユーザがSSL通信に関する知識に乏しい場合でも、プリンタPRは、第2プリセット証明書C2aを利用して、端末機器70とのSSL通信を実行することができる。このように、プリンタPRは、ユーザが選択した証明書を利用して、端末機器70とのSSL通信を実行することができる。
(対応関係)
プリンタPR、端末機器70が、それぞれ、「通信機器」、「外部機器」の一例である。
第1プリセット証明書C1、第2プリセット証明書C2、インストール証明書C3が、それぞれ、「第1のサーバ証明書」、「第2のサーバ証明書」、「第3のサーバ証明書」の一例である。図6の第1プリセット証明書C1の有効期間、図8の第2プリセット証明書C2cの有効期間が、それぞれ、「第1の有効期間」、「第3の有効期間」の一例である。図6の第2プリセット証明書C2aの有効期間、及び、図7の第2プリセット証明書C2bの有効期間が、「第2の有効期間」の一例である。SSL通信要求が「通信要求」の一例である。図4の証明書選択画面においてプリセット証明書が選択されている状態、又は、証明書選択操作が1回も実行されていない状態が、「第1の動作モード」の一例である。図4の証明書選択画面においてインストール証明書が選択されている状態が、それぞれ、「第1の動作モード」、「第2の動作モード」の一例である。
図5のS310、図2のS28、図5のS318、図3のS128が、それぞれ、「受信部」、「第2の判断部」、「第3の判断部」、「第4の判断部」によって実行される処理の一例である。図2のS10、図4のS220が、「第1の判断部」によって実行される処理の一例である。図2のS32,S36、図3のS118,S126,S144、図5のS320が、「生成部」によって実行される処理の一例である。図5のS322〜S326が、「通信実行部」によって実行される処理の一例である。図4のS214〜S228が、「モード設定部」によって実行される処理の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)プリンタPRは、無線I/F20に代えて、有線I/Fを備えていてもよい。プリンタPRは、有線I/Fを介して、端末機器からSSL通信要求を受信し(図5のS310でYES)、有線I/Fを介して、端末機器とのSSL通信を実行してもよい(S326)。即ち、「通信」は、有線通信であってもよい。
(変形例2)上記の実施例では、第1プリセット証明書C1の有効期間は100年であり、第2プリセット証明書C2の有効期間は5年である。即ち、「第1の所定期間」の一例として100年が採用されており、「第2の所定期間」の一例として5年が採用されている。これに代えて、第1の所定期間は、100年とは異なる期間(例えば200年)であってもよく、第2の所定期間は、5年とは異なる期間(例えば10年、100日等)であってもよい。また、「第1の有効期間」の始期は、「第2の有効期間」の始期よりも後であってもよいし、「第1の有効期間」の終期は、「第2の有効期間」の終期よりも前であってもよい。
(変形例3)上記の実施例では、プリンタPRは、第1プリセット証明書C1を生成して、第1領域41及び設定領域44に記憶する(図2のS36)。これに代えて、プリンタPRは、プリンタPRの出荷段階から第1プリセット証明書C1を第2領域42及び設定領域44に予め記憶していてもよい。即ち、「生成部」は、「第1のサーバ証明書」を生成しなくてもよい。
(変形例4)上記の実施例では、プリンタPRは、プリンタPRの電源がユーザによってONされることをトリガとして第1プリセット証明書C1を生成及び記憶する(図2のS36)。これに代えて、例えば、プリンタPRは、端末機器からSSL通信要求を受信することをトリガとして第1プリセット証明書C1を生成及び記憶してもよい。即ち、第1のサーバ証明書を生成するタイミングは、通信機器が起動されるタイミングでなくてもよい。
(変形例5)上記の実施例では、プリンタPRは、変更後の現在日時が、第2プリセット証明書C2の有効期間の終期より前である場合(図2のS30でNO、図3のS124でNO)に、第2プリセット証明書C2を新たに生成しない。これに代えて、プリンタPRは、変更後の現在日時が、第2プリセット証明書C2の有効期間の終期より前である場合に、第2プリセット証明書C2を新たに生成して、第2プリセット証明書C2を更新してもよい。また、別の変形例では、変更後の現在日時から、第2プリセット証明書C2の有効期間の終期までの期間が所定期間(例えば1日)未満である場合に、プリンタPRは、第2プリセット証明書C2を新たに生成して、第2プリセット証明書C2を更新してもよい。これにより、プリンタPRは、SSL通信の実行中において、現在日時が、サーバ証明書の有効期間の終期になることを未然に抑制することができる。
(変形例6)プリンタPRは、現在日時を計時しなくてもよく、無線LANに所属するSNTPサーバから現在日時情報を取得してもよい。即ち、「時計部」は省略可能である。
(変形例7)プリンタPRは、図3のS136において、時計リセット操作が実行された場合に、時計変更操作が実行された場合(S114でNO)と同様に、S122に進んでもよい。即ち、時計リセット操作は、時計変更操作の一種であってもよい。
(変形例8)証明書C1〜C3は、ホスト名Hに代えて、プリンタPRのIPアドレスを所有者情報として含んでいてもよい。即ち、「第1〜第3のサーバ証明書」のそれぞれは、ホスト名を所有者情報として含んでいなくてもよい。
(変形例9)「通信機器」は、プリンタPRに限られず、例えば、スキャナ、多機能機、PC、サーバ、携帯端末(携帯電話、スマートフォン、PDA等)等であってもよい。即ち、「通信機器」は、サーバ証明書を利用して、他の機器との通信を実行可能なあらゆる機器を含む。
(変形例10)上記の各実施例では、プリンタPRのCPU32がプログラム(即ちソフトウェア)を実行することによって、図2〜図9の各処理が実現される。これに代えて、図2〜図9の各処理のうちの少なくとも1つの処理は、論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、12:操作部、14:表示部、16:印刷実行部、18:時計部、20:無線インターフェース、30:制御部、32:CPU、34:メモリ、36:プログラム、41:第1領域、42:第2領域、43:第3領域、44:設定領域、45:ネットワーク領域、46:時計設定フラグ、70:端末機器、100:AP、C1:第1プリセット証明書、C2,C2a〜C2c:第2プリセット証明書、C3:インストール証明書、H:ホスト名、HI:ハッシュ対象情報、PK:公開鍵、PR:プリンタ、P:所有者情報、SK:秘密鍵、S:署名、V1〜V3:有効期間情報

Claims (11)

  1. 通信機器であって、
    予め決められている第1の有効期間を示す第1のサーバ証明書を記憶するためのメモリと、
    サーバ証明書を利用した通信を実行するための通信要求を外部機器から受信する受信部と、
    現在日時を示す現在日時情報を取得可能であるのか否かを判断する第1の判断部と、
    前記現在日時情報を取得可能であると判断される場合に、前記現在日時情報によって示される前記現在日時に基づく第2の有効期間を示す第2のサーバ証明書を生成して、前記第2のサーバ証明書を前記メモリに記憶させる生成部と、
    前記外部機器から前記通信要求が受信され、かつ、前記現在日時情報を取得可能であると判断される場合に、前記メモリ内の前記第2のサーバ証明書を利用して、前記外部機器との通信を実行し、
    前記外部機器から前記通信要求が受信され、かつ、前記現在日時情報を取得不可能であると判断される場合に、前記メモリ内の前記第1のサーバ証明書を利用して、前記外部機器との通信を実行する通信実行部と、を備える通信機器。
  2. 前記生成部は、さらに、前記現在日時情報が取得不可能であると判断される場合に、前記第1のサーバ証明書を生成して、前記第1のサーバ証明書を前記メモリに記憶させる、請求項1に記載の通信機器。
  3. 前記第1の判断部は、前記通信機器が起動される際に、前記現在日時情報が取得可能であるのか否かを判断し、
    前記生成部は、前記通信機器が起動される際に、前記現在日時情報を取得不可能であると判断される場合に、前記第1のサーバ証明書を生成して、前記第1のサーバ証明書を前記メモリに記憶させる、請求項2に記載の通信機器。
  4. 前記第1の判断部は、前記通信機器が起動される際に、前記現在日時情報が取得可能であるのか否かを判断し、
    前記生成部は、前記通信機器が起動される際に、前記現在日時情報を取得可能であると判断される場合に、前記第2のサーバ証明書を生成して、前記第2のサーバ証明書を前記メモリに記憶させる、請求項1から3のいずれか一項に記載の通信機器。
  5. 前記通信機器は、さらに、
    前記通信機器が起動される際に、前記第2のサーバ証明書が前記メモリ内に記憶されているのか否かを判断する第2の判断部を備え、
    前記生成部は、
    前記通信機器が起動される際に、前記現在日時情報を取得可能であると判断され、かつ、前記第2のサーバ証明書が前記メモリ内に記憶されていないと判断される場合に、前記第2のサーバ証明書を生成して、前記第2のサーバ証明書を前記メモリに記憶させ、
    前記通信機器が起動される際に、前記第2のサーバ証明書が前記メモリ内に記憶されていると判断される場合に、前記現在日時情報を取得可能であると判断されても、前記第2のサーバ証明書を生成しない、請求項4に記載の通信機器。
  6. 前記通信機器は、さらに、
    前記第2のサーバ証明書が前記メモリに記憶された後に、前記外部機器から前記通信要求が受信される場合に、前記通信要求が受信された後に取得される前記現在日時情報によって示される新たな現在日時が、前記メモリ内の前記第2のサーバ証明書によって示される前記第2の有効期間の終期より後であるのか否かを判断する第3の判断部を備え、
    前記生成部は、さらに、
    前記新たな現在日時が前記終期より後であると判断される場合に、前記新たな現在日時に基づく第3の有効期間を示す前記第2のサーバ証明書を新たに生成して、前記メモリ内の前記第2のサーバ証明書を更新し、
    前記新たな現在日時が前記終期より後でないと判断される場合に、前記第2のサーバ証明書を新たに生成しない、請求項1から5のいずれか一項に記載の通信機器。
  7. 前記通信機器は、さらに、
    現在日時を計時する時計部を備え、
    前記生成部は、前記時計部によって計時されるべき現在日時を設定するための時計設定操作が実行される場合に、前記時計設定操作が実行された後に取得される前記現在日時情報によって示される前記現在日時に基づく前記第2の有効期間を示す前記第2のサーバ証明書を生成して、前記第2のサーバ証明書を前記通信機器のメモリに記憶させる、請求項1から6のいずれか一項に記載の通信機器。
  8. 前記通信機器は、さらに、前記時計部によって計時されている現在日時を変更するための時計変更操作が前記ユーザによって実行される場合に、前記時計変更操作が実行された後に取得される前記現在日時情報によって示される新たな現在日時が、前記メモリ内の前記第2のサーバ証明書によって示される前記第2の有効期間の始期より前であるのか否かを判断する第4の判断部を備え、
    前記通信実行部は、
    前記新たな現在日時が前記始期より前であると判断された後に、前記外部機器から前記通信要求が受信される場合に、前記現在日時情報を取得可能であるにも関わらず、前記メモリ内の前記第1のサーバ証明書を利用して、前記外部機器との通信を実行し、
    前記新たな現在日時が前記始期より前でないと判断された後に、前記外部機器から前記通信要求が受信される場合に、前記メモリ内の前記第2のサーバ証明書を利用して、前記外部機器との通信を実行する、請求項7に記載の通信機器。
  9. 前記通信機器は、さらに、
    前記通信機器の動作モードを、前記第1のサーバ証明書及び前記第2のサーバ証明書のうちのいずれか一方のサーバ証明書を利用すべき第1の動作モードと、第3のサーバ証明書を利用すべき第2の動作モードと、のうちの一方の動作モードに設定する動作モード設定部であって、前記第3のサーバ証明書は、ユーザによる操作が実行されることによって、前記通信機器にインストールされる証明書である、前記動作モード設定部と、
    前記通信実行部は、
    前記通信機器の動作モードが前記第1の動作モードに設定されている場合に、前記第1のサーバ証明書及び前記第2のサーバ証明書のうちのいずれか一方のサーバ証明書を利用して、前記外部機器との通信を実行し、
    前記通信機器の動作モードが前記第2の動作モードが設定されている場合に、前記第3のサーバ証明書を利用して、前記外部機器との通信を実行する、請求項1から8のいずれか一項に記載の通信機器。
  10. 前記第1のサーバ証明書及び前記第2のサーバ証明書のそれぞれは、前記通信機器のホスト名を所有者情報として含む、請求項1から9のいずれか一項に記載の通信機器。
  11. 前記第1の有効期間の始期は、前記第2の有効期間の始期より前であり、
    前記第1の有効期間の終期は、前記第2の有効期間の終期より後である、請求項1から10のいずれか一項に記載の通信機器。
JP2015048413A 2015-03-11 2015-03-11 通信機器 Active JP6409628B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015048413A JP6409628B2 (ja) 2015-03-11 2015-03-11 通信機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015048413A JP6409628B2 (ja) 2015-03-11 2015-03-11 通信機器

Publications (2)

Publication Number Publication Date
JP2016171384A JP2016171384A (ja) 2016-09-23
JP6409628B2 true JP6409628B2 (ja) 2018-10-24

Family

ID=56984163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015048413A Active JP6409628B2 (ja) 2015-03-11 2015-03-11 通信機器

Country Status (1)

Country Link
JP (1) JP6409628B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021882A (ja) * 2002-06-20 2004-01-22 Toshiba Corp 情報端末装置
JP4611680B2 (ja) * 2003-07-25 2011-01-12 株式会社リコー 通信装置、通信システム、通信方法及びプログラム
JP4434169B2 (ja) * 2006-03-30 2010-03-17 ブラザー工業株式会社 情報処理装置、及び、プログラム
JP5698063B2 (ja) * 2011-04-19 2015-04-08 埼玉日本電気株式会社 携帯端末及びそのプログラム

Also Published As

Publication number Publication date
JP2016171384A (ja) 2016-09-23

Similar Documents

Publication Publication Date Title
US9860718B2 (en) Secure broadcast beacon communications
KR101915005B1 (ko) 보안 부팅을 수행하는 칩 시스템과 이를 이용하는 화상형성장치 및 그 부팅 방법
EP3271858B1 (en) Output apparatus, program, output system, and output method
JP5321641B2 (ja) 情報処理システム、情報処理装置および中継サーバ
JP2009086954A (ja) 情報処理装置、ログ管理装置、及びログ管理プログラム
US9461822B2 (en) Image forming apparatus, control method, and storage medium
US20170019399A1 (en) Secure update processing of terminal device using an encryption key stored in a memory device of the terminal device
US20170041150A1 (en) Device certificate providing apparatus, device certificate providing system, and non-transitory computer readable recording medium which stores device certificate providing program
US20150358321A1 (en) Storage device, information processing apparatus, and information processing method
US20110276959A1 (en) Information processing apparatus, installation system, information processing method, and installation method
EP2990986B1 (en) Output system, output apparatus, and output method
JP5640658B2 (ja) 印刷システム及び印刷制御方法
US10389913B2 (en) Information management control apparatus, image processing apparatus, and information management control system
JP6409628B2 (ja) 通信機器
US20150333909A1 (en) Information processing system and information processing method
JP7230598B2 (ja) 情報処理装置、暗号化データの復号方法及び電子機器
JP2007150447A (ja) 電子文書管理装置および電子文書管理プログラム
EP3605311B1 (en) Information processing method, information processing system, and communication apparatus
JP7259629B2 (ja) 電子機器、周波数帯域設定プログラム及び周波数帯域設定方法
US11425279B2 (en) Information processing device, medium storing information processing program, and image forming device for protecting against fraudulent authentication of license for application
JP2013098808A (ja) 電子署名生成方法及び電子署名生成プログラム
EP4195080A1 (en) Information processing system, information processing method, and carrier means
JP2018005613A (ja) 更新方法、プログラム、情報処理装置、及び更新データ生成装置
US20180152301A1 (en) Information processing apparatus and non-transitory computer readable medium
JP2005144792A (ja) プリンタ及び印刷システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180813

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180910

R150 Certificate of patent or registration of utility model

Ref document number: 6409628

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150