(57)【特許請求の範囲】
【請求項１】
記憶部と、制御部と、情報処理装置及び画像処理装置と通信するためのネットワークインターフェイスを備えるサーバ装置であって、
前記制御部は、
前記ネットワークインターフェイスを介し、固有情報と暗号化情報とユーザ情報とを前記情報処理装置から受信する第１の受信処理であって、前記固有情報は、前記画像処理装置に割り当てられた固有の情報であり、前記暗号化情報は、第１の鍵を利用して前記固有情報が暗号化された情報であり、前記ユーザ情報は、前記画像処理装置のユーザに関する情報である、前記第１の受信処理と、
前記受信された暗号化情報を、前記第１の鍵に対応している第２の鍵を利用して復号化し復号化情報を得る復号化処理と、
前記復号化情報と、前記受信された固有情報と、が同じ情報を表すか否かを判断する第１の判断処理と、
前記第１の判断処理により、前記復号化情報と、前記受信された固有情報と、が同じ情報を表すと判断される場合に、前記第１の受信処理により受信されたユーザ情報と固有情報とを関連付けて前記記憶部に記憶する記憶制御処理と、
を実行する、サーバ装置。
【請求項２】
記憶部と、制御部と、情報処理装置及び画像処理装置と通信するためのネットワークインターフェイスを備えるサーバ装置であって、
前記制御部は、
前記ネットワークインターフェイスを介し、暗号化情報とユーザ情報とを前記情報処理装置から受信する第１の受信処理であって、前記暗号化情報は、前記画像処理装置に固有に割り当てられた固有情報と付加情報とを第１の鍵を利用して暗号化した情報であり、前記ユーザ情報は、前記画像処理装置のユーザに関する情報である、前記第１の受信処理と、
前記受信された暗号化情報を、前記第１の鍵に対応している第２の鍵を利用して復号化し前記固有情報と前記付加情報とを得る復号化処理と、
前記復号化処理により復号化された固有情報と付加情報とが同じ情報を表すか否かを判断する第１の判断処理と、
前記復号化処理により復号化された固有情報と変換情報とが前記第１の判断処理により同じ情報を表すと判断された場合に、前記第１の受信処理により受信された前記ユーザ情報と、前記復号化処理によって復号化された固有情報と、を関連付けて前記記憶部に記憶する記憶制御処理と、
を実行する、サーバ装置。
【請求項３】
前記付加情報は、ハッシュアルゴリズムにより前記固有情報をハッシュ化したハッシュ値であり、
前記第１の判断処理は、前記復号化処理により復号化された付加情報を示すハッシュ値と前記復号化された固有情報をハッシュ化したハッシュ値と、が一致するのか否かを判断する、請求項２に記載のサーバ装置。
【請求項４】
前記制御部は、前記第１の判断処理によって否定判断される場合に、前記第１の受信処理によって受信された暗号化情報を前記情報処理装置に送信する第１の送信処理を実行する、請求項１から３のいずれか一項に記載のサーバ装置。
【請求項５】
前記第１の鍵は、秘密鍵であり、
前記第２の鍵は、公開鍵である、請求項１から４のいずれか一項に記載のサーバ装置。
【請求項６】
前記第１の鍵及び前記第２の鍵は、共通鍵である、請求項１から４のいずれか一項に記載のサーバ装置。
【請求項７】
前記制御部は、さらに、
所定の条件が成立したことに応じて、前記ネットワークインターフェイスを介し前記画像処理装置から前記固有情報を受信する第２の受信処理と、
前記第２の受信処理によって受信された前記固有情報と同一の情報が前記記憶部に記憶されているのか否かを判断する第２の判断処理と、
前記第２の受信処理によって受信された前記固有情報と同一の情報が前記記憶部に記憶されていると判断される場合に、前記ネットワークインターフェイスを介し前記画像処理装置から対象情報を受信する第３の受信処理であって、前記対象情報は、前記画像処理装置の状態を示す情報である、第３の受信処理と、
を実行する、請求項１から６のいずれか一項に記載のサーバ装置。
【請求項８】
前記制御部は、さらに、前記第２の受信処理によって受信された前記固有情報と同一の情報が前記記憶部に記憶されていないと前記第２の判断処理によって判断される場合に、前記第２の受信処理によって受信された前記固有情報と同一の情報が前記記憶部に記憶されていないことを示す情報を前記画像処理装置に送信する第２の送信処理を実行する、請求項７に記載のサーバ装置。
【請求項９】
前記制御部は、さらに、前記受信された対象情報に応じた対象処理を実行する、請求項７又は８に記載のサーバ装置。
【請求項１０】
前記対象情報は、前記画像処理装置が備える消耗品の残量を示す情報であり、
前記制御部は、前記ユーザに消耗品を注文すべきことを指示する情報を外部装置に送信する前記対象処理を実行する、請求項９に記載のサーバ装置。
【請求項１１】
前記制御部は、さらに、前記第２の受信処理によって受信された前記固有情報と同一の情報が前記記憶部に記憶されていると前記第２の判断処理によって判断される場合に、アクセストークンを前記画像処理装置に送信する第３の送信処理を実行し、
前記第３の受信処理は、前記送信されたアクセストークンに基づいて前記画像処理装置から送信される前記対象情報を受信する、請求項７から１０のいずれか一項に記載のサーバ装置。
【請求項１２】
前記記憶部は、前記第１の鍵を予め記憶しており、
前記制御部は、さらに、
前記固有情報と電子証明書とを前記ネットワークインターフェイスを介し前記画像処理装置から受信する第４の受信処理であって、前記電子証明書は、前記画像処理装置のメーカによって前記画像処理装置に予め記憶されている情報であって、前記画像処理装置が前記メーカによって提供されていることを認証するための情報である、第４の受信処理と、
前記固有情報と前記電子証明書とが受信されることに応じて、前記第４の受信処理によって受信される前記固有情報を前記第１の鍵を利用して前記暗号化情報に暗号化する暗号化処理と、
前記暗号化された暗号化情報を前記ネットワークインターフェイスを介し前記画像処理装置に送信する第４の送信処理と、を実行する、請求項１から１１のいずれか一項に記載のサーバ装置。
【請求項１３】
サーバ装置と、情報処理装置と、画像処理装置と、を備える通信システムであって、
前記サーバ装置は、記憶部と、制御部と、前記情報処理装置及び前記画像処理装置と通信するためのネットワークインターフェイスと、を備え、
前記制御部は、
前記ネットワークインターフェイスを介し、固有情報と暗号化情報とユーザ情報とを前記情報処理装置から受信する第１の受信処理であって、前記固有情報は、前記画像処理装置に固有に割り当てられた情報であり、前記暗号化情報は、第１の鍵を利用して前記固有情報が暗号化された情報であり、前記ユーザ情報は、前記画像処理装置のユーザに関する情報である、前記第１の受信処理と、
前記受信された暗号化情報を、前記第１の鍵に対応している第２の鍵を利用して復号化しし復号化情報を得る復号化処理と、
前記復号化情報と、前記受信された固有情報と、が同じ情報を表すか否かを判断する第１の判断処理と、
前記第１の判断処理により、前記復号化情報と、前記受信された固有情報と、が同じ情報を表すと判断される場合に、前記第１の受信処理により受信されたユーザ情報と固有情報とを関連付けて前記記憶部に記憶する記憶制御処理と、
を実行する、通信システム。
【請求項１４】
サーバ装置と、情報処理装置と、画像処理装置と、を備える通信システムであって、
前記サーバ装置は、記憶部と、制御部と、前記情報処理装置及び前記画像処理装置と通信するためのネットワークインターフェイスと、を備え、
前記制御部は、
前記ネットワークインターフェイスを介し、暗号化情報とユーザ情報とを前記情報処理装置から受信する第１の受信処理であって、前記暗号化情報は、前記画像処理装置に固有に割り当てられた固有情報と付加情報とを第１の鍵を利用して暗号化した情報であり、前記ユーザ情報は、前記画像処理装置のユーザに関する情報である、前記第１の受信処理と、
前記受信された暗号化情報を、前記第１の鍵に対応している第２の鍵を利用して復号化し前記固有情報と前記付加情報とを得る復号化処理と、
前記復号化処理により復号化された固有情報と付加情報とが同じ情報を表すか否かを判断する第１の判断処理と、
前記復号化処理により復号化された固有情報と付加情報とが前記第１の判断処理により同じ情報を表すと判断された場合に、前記第１の受信処理により受信された前記ユーザ情報と、前記復号化処理によって復号化された前記固有情報と、を関連付けて前記記憶部に記憶する記憶制御処理と、
を実行する、通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示されている技術は、ユーザ情報と、画像処理装置の固有情報と、を関連付けて記憶するサーバ装置と、当該サーバ装置を備える通信システムと、に関する。
【背景技術】
【０００２】
特許文献１には、ＣＥ（Consumer Electronicsの略）機器の機器ＩＤと、ユーザ情報と、を対応付けて登録する認証代行サーバが開示されている。ＣＥ機器は、機器ＩＤ及びパスフレーズを予め記憶している。認証代行サーバは、ＣＥ機器の製造時に、ＣＥ機器の機器ＩＤ、パスフレーズ等を含む情報をデータベースに格納する。ＣＥ機器は、ユーザによって入力されるユーザ情報を認証代行サーバに登録するために、ユーザ情報、記憶されている機器ＩＤ、及び、パスフレーズを認証代行サーバに送信する。認証代行サーバは、ユーザ情報、機器ＩＤ、及び、パスフレーズを受信すると、受信された機器ＩＤ及びパスフレーズを含む情報を格納済みである場合に、当該機器ＩＤとユーザ情報とを対応付けて登録する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2003-337868号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の特許文献１では、認証代行サーバは、受信された機器ＩＤ及びパスフレーズを含む情報が格納済みであることを確認するために、機器ＩＤ及びパスフレーズをメモリに予め格納している。しかし、このような構成の場合、認証代行サーバのメモリにかかる負荷が大きくなるという問題がある。本明細書では、ユーザ情報と固有情報とを関連付けてサーバ装置に記憶させる際のサーバ装置のメモリにかかる負荷を軽減させるための技術を開示する。
【課題を解決するための手段】
【０００５】
この目的を達成するために、本明細書に開示されているサーバ装置は、記憶部と、制御部と、情報処理装置及び画像処理装置と通信するためのネットワークインターフェイスを備えるサーバ装置であって、前記制御部は、前記ネットワークインターフェイスを介し、固有情報と暗号化情報とユーザ情報とを前記情報処理装置から受信する第１の受信処理であって、前記固有情報は、前記画像処理装置に割り当てられた固有の情報であり、前記暗号化情報は、第１の鍵を利用して前記固有情報が暗号化された情報であり、前記ユーザ情報は、前記画像処理装置のユーザに関する情報である、前記第１の受信処理と、前記受信された暗号化情報を、前記第１の鍵に対応している第２の鍵を利用して復号化し復号化情報を得る復号化処理と、前記復号化情報と、前記受信された固有情報と、が同じ情報を表すか否かを判断する第１の判断処理と、前記第１の判断処理により、前記復号化情報と、前記受信された固有情報と、が同じ情報を表すと判断される場合に、前記第１の受信処理により受信されたユーザ情報と固有情報とを関連付けて前記記憶部に記憶する記憶制御処理と、を実行する。
【０００６】
上記の構成によると、サーバ装置は、第１の判断処理において用いられる復号化情報と固有情報とを第１の受信処理により受信するので、ユーザ情報と固有情報とを関連付けて記憶する際に、何らかの情報を予め記憶しなくてもよい。従って、サーバ装置のメモリにかかる負荷を軽減することができる。
【０００７】
本明細書に開示されている別のサーバ装置は、記憶部と、制御部と、情報処理装置及び画像処理装置と通信するためのネットワークインターフェイスを備えるサーバ装置であって、前記制御部は、前記ネットワークインターフェイスを介し、暗号化情報とユーザ情報とを前記情報処理装置から受信する第１の受信処理であって、前記暗号化情報は、前記画像処理装置に固有に割り当てられた固有情報と付加情報とを第１の鍵を利用して暗号化した情報であり、前記ユーザ情報は、前記画像処理装置のユーザに関する情報である、前記第１の受信処理と、前記受信された暗号化情報を、前記第１の鍵に対応している第２の鍵を利用して復号化し前記固有情報と前記付加情報とを得る復号化処理と、前記復号化処理により復号化された固有情報と付加情報とが同じ情報を表すか否かを判断する第１の判断処理と、前記復号化処理により復号化された固有情報と変換情報とが前記第１の判断処理により同じ情報を表すと判断された場合に、前記第１の受信処理により受信された前記ユーザ情報と、前記復号化処理によって復号化された前記固有情報と、を関連付けて前記記憶部に記憶する記憶制御処理と、を実行する。
【０００８】
上記の構成によると、サーバ装置は、第１の判断処理で用いられる固有情報と付加情報とが暗号化された暗号化情報を第１の受信処理により受信する。よって、サーバ装置は、ユーザ情報と固有情報とを関連付けて記憶する際に、何らかの情報を予め記憶しなくてもよい。従って、サーバ装置のメモリにかかる負荷を軽減することができる。
【０００９】
本明細書に開示のサーバ装置では、「固有情報」と「固有情報をハッシュ化したハッシュ値である変換情報」とを含む情報が暗号化された情報が、暗号化情報である。変換情報は固有情報のハッシュ値であるので、固有情報よりも情報量が小さい。これにより、サーバ装置は、固有情報を暗号化情報に内在させた場合であっても、暗号化情報の情報量を抑えることができる。
【００１０】
本明細書に開示のサーバ装置は、第１の受信処理によって受信された暗号化情報を情報処理装置に送信し得る。これにより、情報処理装置は、例えば、情報処理装置の表示部に受信された暗号化情報を表示させることができる。ユーザは、表示された暗号化情報を見ることによって、暗号化情報が不正であることや暗号化情報の入力ミス等を確認することができる。
【００１１】
本明細書に開示のサーバ装置では、暗号化情報は、秘密鍵である第１の鍵を利用して暗号化された情報であり、秘密鍵を有さない者によって改ざんされた可能性が低い情報である。そのため、ユーザ情報と固有情報とを関連付けてサーバ装置に記憶させる際のセキュリティが向上する。
【００１２】
本明細書に開示のサーバ装置では、暗号化情報は、共通鍵である第１の鍵を利用して暗号化された情報であり、共通鍵を有さない者によって改ざんされた可能性が低い情報である。そのため、ユーザ情報と固有情報とを関連付けてサーバ装置に記憶させる際のセキュリティが向上する。
【００１３】
本明細書に開示のサーバ装置は、受信された固有情報と同一の情報が記憶部に記憶されている場合に、画像処理装置から対象情報を受信し得る。記憶部に記憶されている固有情報は、第１の判断処理により肯定判断された上で記憶されている。そのため、サーバ装置は、対象情報を送信した送信元が正規の画像処理装置であることを確認した上で対象情報を受信するので、対象情報を受信する際のセキュリティが向上する。
【００１４】
本明細書に開示のサーバ装置は、受信された固有情報と同一の情報が記憶されていないことを示す情報を画像処理装置に送信し得る。これにより、情報処理装置は、例えば、情報処理装置の表示部に当該情報を表示させることができる。ユーザは、表示された当該情報を見ることによって、サーバ装置によって受信された固有情報と同一の情報が記憶されていないことを確認することができる。
【００１５】
本明細書に開示のサーバ装置は、消耗品の残量に応じて、ユーザに消耗品を注文すべきことを指示することができる。
【００１６】
本明細書に開示のサーバ装置では、アクセストークンに基づいて、対象情報の通信を安全に実行することができる。
【００１７】
本明細書に開示のサーバ装置は、電子証明書により正規の画像処理装置から固有情報が送られてきたことを確認した上で、暗号化情報を画像処理装置に送信することができる。
【００１８】
なお、本明細書に開示の技術は、サーバ装置、サーバ装置の制御方法、サーバ装置を制御する制御装置、制御方法、制御プログラムを記憶する記憶媒体、サーバ装置と少なくとも１個の他の機器（例えば情報処理装置、画像処理装置）とを含む通信システム等の種々の態様で実現可能である。
【図面の簡単な説明】
【００１９】
【図１】通信システムのブロック図である。
【図２】第１実施例の仮登録処理のシーケンス図を示す。
【図３】第１，２実施例の本登録処理のシーケンス図を示す。
【図４Ａ】第２実施例の登録コード受信処理のシーケンス図を示す。
【図４Ｂ】登録コードが生成される様子を表わす図を示す。
【図５】第２実施例の仮登録処理のシーケンス図を示す。
【図６Ａ】比較例のサービスサーバを示す。
【図６Ｂ】第１実施例のサービスサーバを示す。
【発明を実施するための形態】
【００２０】
（第１実施例）
＜通信システム２の構成＞
図１に示されるように、通信システム２は、ルータ７と、多機能機１０と、サービスサーバ１００と、ＰＣ（Personal Computerとも称する）４０を備えている。多機能機１０は、ＬＡＮ４及びルータ７を介してインターネット６に接続されている。また、ＰＣ４０、及び、サービスサーバ１００も、インターネット６に接続されている。
【００２１】
＜多機能機１０の構成＞
多機能機１０は、印刷機能、ＦＡＸ機能、スキャン機能、コピー機能等、の多数の機能を備える。多機能機１０は、操作部１２と、表示部１４と、ネットワークインターフェイス１６と、印刷実行部１８と、スキャン実行部１９と、制御部２０と、を備える。操作部１２は、複数のキーを備える。ユーザは、操作部１２を操作することによって、様々な指示を多機能機１０に入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。ネットワークインターフェイス１６は、ＬＡＮ４を介してルータ７に接続されている。ネットワークインターフェイス１６は、サービスサーバ１００及びＰＣ４０と通信することが可能である。印刷実行部１８は、インクジェット方式、レーザ方式等の印刷機構を備える。スキャン実行部１９は、ＣＣＤ、ＣＩＳ等のスキャン機構を備える。制御部２０は、ＣＰＵ２２と、メモリ２４と、を備える。メモリ２４は、コンピュータが読み取り可能なストレージ媒体であってよい。コンピュータが読み取り可能なストレージ媒体とは、ＲＯＭ、ＲＡＭ、フラッシュメモリ、ハードディスクなどのnon-transitoryな媒体である。ＲＯＭ、ＲＡＭ、フラッシュメモリ、ハードディスクなどはtangibleな媒体である。インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種である、コンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。メモリ２４は、アプリケーションプログラム２５、プロトコルスタック２６、装置情報２７、デバイスＩＤ２９を記憶している。
【００２２】
装置情報２７は、シリアル番号「１１１１」、型番、ノード名、ＭＡＣアドレス、などを含んでいる。シリアル番号「１１１１」は、多機能機１０に固有の情報であって、例えば、多機能機１０のメーカが多機能機１０それぞれに連番で割り当てる固有の情報である。このシリアル番号は、多機能機１０を購入したユーザに知られてもよいため、多機能機１０が梱包されている箱に同封された紙に印刷されていたり、多機能機１０に張られたシールに印刷されていたりしてもよい。また、ユーザが多機能機１０を操作して装置情報２７を印刷する指示をした場合に、印刷されてもよい。型番は、多機能機１０の装置の種類を示す情報である。ノード名は、多機能機１０をネットワーク上で識別するための情報である。ＭＡＣアドレスは、ネットワーク上で多機能機１０を識別するために付与されている、固有の物理アドレスである。
デバイスＩＤ２９は、多機能機１０に固有に割り当てられた識別情報であって、メモリ２４にのみ記憶され、ユーザには公開されない情報である。よって、デバイスＩＤ２９は、シリアル番号のように、多機能機１０が梱包されている箱に同封された紙に印刷されていたり、多機能機１０に張られたシールに印刷されていたりはしない。また、ユーザが多機能機１０を操作することにより、デバイスＩＤ２９を印刷することもできない。
【００２３】
ＣＰＵ２２は、メモリ２４に格納されているアプリケーションプログラム２５に従って、サービスサーバ１００が提供する、後述する各種のサービスを利用するための処理を実行する。ＣＰＵ２２は、メモリ２４に格納されているプロトコルスタック２６に従って、ＨＴＴＰ（Hyper Text Transfer Protocolの略）などのプロトコル処理を実行する。ＣＰＵ２２は、プロトコル処理によって、ＨＴＴＰに従ったコネクション確立などを行う。
【００２４】
ユーザが多機能機１０を購入した時点で、多機能機１０には、シリアル番号「１１１１」及び登録コード「９８７」が記載された用紙が添付されている。用紙は、多機能機１０の包装容器内に封入されている。変形例では、用紙に代えて、シリアル番号「１１１１」及び登録コード「９８７」が記載されたシールが多機能機１０に貼付されていてもよいし、シリアル番号「１１１１」及び登録コード「９８７」が多機能機１０自体に記載されていてもよい。多機能機１０のメーカは、上記の用紙の添付や、上記のシールの貼り付けを、多機能機１０の製造時に行ってもよいし、多機能機１０を包装容器に梱包する際に行ってもよい。また、多機能機１０の販売店が、多機能機１０の購入者に上記の用紙を手渡しで配布してもよい。登録コード「９８７」は、多機能機１０のメーカによって以下のようにして生成される。まず、シリアル番号「１１１１」がハッシュアルゴリズムによりハッシュ化されることによって、ハッシュ値「９９９」が生成される。なお、「１１１１」を、このハッシュアルゴリズムによってハッシュ化した場合は、必ず「９９９」が生成される。さらに、ハッシュ値「９９９」が、多機能機１０のメーカが有する秘密鍵１０６を利用して登録コード「９８７」に暗号化される。即ち、登録コード「９８７」は、秘密鍵１０６を有する者（即ちメーカ）によって生成された情報であり、秘密鍵１０６を有さない者によって改ざんされた可能性が低い情報である。
【００２５】
本明細書における記載上の注意点を説明する。本明細書において、「多機能機１０のＣＰＵ２２が、各種の情報を送信または受信する」という記載は、「多機能機１０のＣＰＵ２２が、ネットワークインターフェイス１６を介して各種の情報を出力または取得する」という技術内容を含んでいるものとする。なお、ＰＣ４０及びサービスサーバ１００の各々についても、同様の注意点が存在する。
【００２６】
＜ＰＣ４０の構成＞
ＰＣ４０の構成を説明する。ＰＣ４０は、多機能機１０のユーザが所有する装置である。ＰＣ４０は、ＣＰＵ４１、メモリ４２、ネットワークインターフェイス４７、表示部４８、操作部４９、等を有する。表示部４８は、様々な情報を表示することができる。操作部４９は、キーボードやマウスによって構成される。ユーザは、操作部４９を操作することによって、様々な指示や情報をＰＣ４０に入力することができる。ネットワークインターフェイス４７は、ＬＡＮ４を介してルータ７に接続されている。メモリ４２には、ウェブブラウザ４３やプロトコルスタック４４が記憶されている。ここで、プロトコルスタック４４とはＰＣ４０で通信を実現するための一連の通信プロトコル群を実装しているプログラムのことである。
ＣＰＵ４１は、メモリ４２に格納されているウェブブラウザ４３に従って、サービスサーバ１００が提供する、後述する各種のサービスを利用するための処理を実行する。ＣＰＵ４１は、メモリ４２に格納されているプロトコルスタック４４に従って、ＨＴＴＰ（Hyper Text Transfer Protocolの略）などのプロトコル処理を実行する。ＣＰＵ４１は、プロトコル処理によって、ＨＴＴＰに従ったコネクション確立などを行う。
【００２７】
＜サービスサーバ１００の構成＞
サービスサーバ１００は、電子商取引サービスを提供するサーバであり、多機能機１０のベンダによって提供されるサーバである。なお、多機能機１０のメーカがベンダを兼ねていてもよい。また、ベンダがメーカの関連会社であってもよいし、協力関係にある会社であってもよい。電子商取引サービスは、インターネット６を介してユーザから、商品の選択や各種のサービスの申請を受け付ける。そして、クレジットカード番号等を用いて決済を行うサービスである。購入された商品は、ユーザに郵送される。
【００２８】
サービスサーバ１００の構成を説明する。サービスサーバ１００は、ネットワークインターフェイス１０１及び制御部１０２を備えている。ネットワークインターフェイス１０１は、インターネット６に接続している。ネットワークインターフェイス１０１は、多機能機１０及びＰＣ４０と通信することが可能である。制御部１０２は、ＣＰＵ１０３及びメモリ１０４を備えている。
【００２９】
メモリ１０４には、公開鍵１０５、ハッシュアルゴリズムを実行するハッシュアルゴリズム用プログラム１０８及び、登録情報テーブル１０７が記憶されている。公開鍵１０５は、一般に公開されており、誰でも取得可能な鍵である。公開鍵１０５は、秘密鍵１０６に対応する鍵である。秘密鍵１０６は、多機能機１０のメーカのみが有する鍵である。登録情報テーブル１０７は、ユーザ情報、多機能機（例えば１０）の情報、及び、アクセストークンを関連付けて記憶するためのテーブルである。なお、「登録」は「記憶」と言い換えてもよい。多機能機の情報は、多機能機のシリアル番号、デバイスＩＤ、及び、ステータス情報を含む。詳しくは後述するが、ステータス情報は、多機能機の状態を示す情報である。
【００３０】
（仮登録処理；図２）
続いて、図２を参照して、ユーザ情報と、シリアル番号「１１１１」と、を関連付けてサービスサーバ１００に記憶（即ち登録）させるための仮登録処理を説明する。図２の初期状態では、ＰＣ４０では、ウェブブラウザ４３が起動している。図２のＰＣ４０の各処理は、ウェブブラウザ４３を利用して実行される。Ｓ８では、ユーザは、ＰＣ４０において、サービスサーバ１００にログインするためのログイン操作を行う。例えば、ユーザは、サービスサーバ１００にログインページデータを要求するためのＵＲＬを、ＰＣ４０で動作しているウェブブラウザ４３に入力する操作を行う。Ｓ１０では、ＰＣ４０のＣＰＵ４１は、サービスサーバ１００にログイン要求を送信する。
【００３１】
サービスサーバ１００のＣＰＵ１０３は、ＰＣ４０からログイン要求を受信すると、Ｓ１２において、ログインページを表わすログインページデータをＰＣ４０に送信する。ログインページは、ユーザ情報を入力するための入力フォームを含む。ユーザ情報は、ユーザに関する情報であり、ユーザＩＤ及びパスワードを含む。ユーザＩＤ及びパスワードは、ユーザによって任意に決定される情報である。ユーザ情報は、さらに、ユーザの氏名、住所、電話番号、クレジットカード番号、ＰＣ４０のメールアドレス等を含む。なお、ユーザＩＤ及びパスワードを除くユーザ情報は、ログインページで入力される代わりに、ユーザＩＤ及びパスワードを使ってログインしたあとにサービスサーバ１００から提供されるページに入力されてもよい。
【００３２】
Ｓ１４では、ＰＣ４０のＣＰＵ４１は、ログインページを表示部４８に表示させる。Ｓ１６では、ユーザは、ユーザ情報をＰＣ４０に入力する。Ｓ２０では、ＰＣ４０のＣＰＵ４１は、入力されたユーザ情報をサービスサーバ１００に送信する。
【００３３】
サービスサーバ１００のＣＰＵ１０３は、ＰＣ４０からユーザ情報を受信すると、装置登録ページを表わす装置登録ページデータをＰＣ４０に送信する。装置登録ページは、シリアル番号「１１１１」及び登録コード「９８７」を入力するための入力フォームを含む。
【００３４】
Ｓ２４では、ＰＣ４０のＣＰＵ４１は、装置登録ページを表示部４８に表示させる。Ｓ３０では、ユーザは、多機能機１０に添付された用紙に記載されたシリアル番号「１１１１」及び登録コード「９８７」をＰＣ４０に入力する。Ｓ３２では、ＰＣ４０のＣＰＵ４１は、入力されたシリアル番号「１１１１」及び登録コード「９８７」をサービスサーバ１００に送信する。
【００３５】
サービスサーバ１００のＣＰＵ１０３は、シリアル番号「１１１１」及び登録コード「９８７」をＰＣ４０から受信すると、Ｓ３３において、受信された登録コード「９８７」を公開鍵１０５を用いて復号化し、ハッシュ値「９９９」を得る。また、シリアル番号「１１１１」をハッシュ化して、ハッシュ値「９９９」を生成する。
【００３６】
Ｓ３４では、サービスサーバ１００のＣＰＵ１０３は、受信された登録コード「９８７」が復号化された値（すなわち「９９９」）と、受信されたシリアル番号「１１１１」のハッシュ値（すなわち「９９９」）と、が一致するのか否かを判断する。具体的には、ＣＰＵ１０３は、シリアル番号「１１１１」をハッシュアルゴリズムを用いてハッシュ化してハッシュ値を得る。次に、得られたハッシュ値とＳ３３にて登録コードを復号化した値が一致するかを判断する。Ｓ３０において、ユーザがシリアル番号「１１１１」及び登録コード「９８７」を正しく入力した場合に、サービスサーバ１００のＣＰＵ１０３は、Ｓ３４でＹＥＳと判断し、Ｓ３６に進む。サービスサーバ１００のＣＰＵ１０３は、Ｓ３６において、ユーザ情報と、受信されたシリアル番号「１１１１」と、を関連付けてメモリ１０４の登録情報テーブル１０７に記憶し、Ｓ３８において、登録成功通知をＰＣ４０に送信する。登録成功通知は、ユーザ情報及びシリアル番号「１１１１」の登録が成功したことを示す通知である。Ｓ３８が終了すると、図２の処理が終了する。
【００３７】
一方、Ｓ３０において、例えば、ユーザがシリアル番号「１１１１」及び登録コード「９８７」のうちの少なくとも一方を正しく入力しなかった場合に、サービスサーバ１００のＣＰＵ１０３は、Ｓ３４でＮＯと判断し、Ｓ４０に進む。また、Ｓ３０において、例えば、ユーザとは異なる者が、シリアル番号「１１１１」と、秘密鍵１０６とは異なる鍵を利用してハッシュ値「９９９」が暗号化された情報（即ち、登録コード「９８７」とは異なる情報）を入力した場合、Ｓ３３の復号化が失敗する。この場合も、サービスサーバ１００のＣＰＵ１０３は、Ｓ３４でＮＯと判断し、Ｓ４０に進む。
【００３８】
Ｓ４０では、サービスサーバ１００のＣＰＵ１０３は、登録失敗通知をＰＣ４０に送信する。登録失敗通知は、ユーザ情報及びシリアル番号「１１１１」の登録が失敗したことを示す通知である。登録失敗通知は、Ｓ３０において入力されたシリアル番号及び登録コードを含む。
【００３９】
ＰＣ４０のＣＰＵ４１は、サービスサーバ１００から登録失敗通知を受信すると、Ｓ４２において、登録失敗通知内のシリアル番号及び登録コードを含む、登録が失敗したことを示す画面を表示部４８に表示する。Ｓ４２が終了すると、図２の処理が終了する。
【００４０】
（本登録処理；図３）
続いて、図３を参照して、ステータス情報を、ユーザ情報及びシリアル番号「１１１１」に関連付けてサービスサーバ１００に記憶（即ち登録）させるための本登録処理を説明する。Ｓ１１０では、ユーザは、多機能機１０の電源をＯＮする。
【００４１】
多機能機１０のＣＰＵ２２は、電源がＯＮされると、Ｓ１１２において、シリアル番号「１１１１」と、多機能機１０のデバイスＩＤ２９と、を含む登録確認信号をサービスサーバ１００に送信する。登録確認信号は、シリアル番号「１１１１」がサービスサーバ１００に登録されているのか否かを確認するための信号である。
【００４２】
サービスサーバ１００のＣＰＵ１０３は、多機能機１０から登録確認信号を受信すると、Ｓ１２０において、登録確認信号内のシリアル番号「１１１１」を記憶済みであるのか否かを判断する。サービスサーバ１００のＣＰＵ１０３は、シリアル番号「１１１１」を記憶済みである場合に、Ｓ１２２に進む。
【００４３】
サービスサーバ１００のＣＰＵ１０３は、Ｓ１２２において、アクセストークンを生成し、Ｓ１２４において、デバイスＩＤ２９及びアクセストークンをシリアル番号「１１１１」に関連付けてメモリ１０４に記憶する。これにより、ユーザ情報、シリアル番号「１１１１」、デバイスＩＤ２９、及び、アクセストークンが関連付けて登録された状態となる。Ｓ１２６では、サービスサーバ１００のＣＰＵ１０３は、アクセストークンを多機能機１０に送信する。多機能機１０のＣＰＵ２２は、Ｓ１２７において、サービスサーバ１００から受信したアクセストークンをメモリ２４に記憶する。
なお、変形例では、以下で説明するように、リフレッシュトークンが利用されてもよい。当該変形例では、サービスサーバ１００のＣＰＵ１０３は、Ｓ１２２において、アクセストークンの代わりにリフレッシュトークンを生成する。サービスサーバ１００のＣＰＵ１０３は、Ｓ１２４において、デバイスＩＤ２９及びリフレッシュトークンをシリアル番号「１１１１」に関連付けてメモリ１０４に記憶する。そして、Ｓ１２６では、サービスサーバ１００のＣＰＵ１０３は、リフレッシュトークンを多機能機１０に送信する。この場合、多機能機１０は、Ｓ１３２を実行する前に、アクセストークンの要求指示と、リフレッシュトークンとをサービスサーバ１００に送信する。サービスサーバ１００のＣＰＵ１０３は、要求指示に従って、アクセストークンの生成・記憶・返信を行う。多機能機は、受信されたアクセストークンを使ってＳ１３２の処理を実行する。
【００４４】
多機能機１０のＣＰＵ２２がサービスサーバ１００からアクセストークンをメモリ２４に記憶した後に、Ｓ１３０において、多機能機１０の状態変化が生じた場合を想定する。具体的には、状態変化は、多機能機１０が備える複数色のインクのうちの少なくとも１色の残量が所定値以下となることである。なお、変形例では、インクに代えて、トナーを利用して状態変化が生じたのか否かが判断されてもよい。インク及びトナーは、多機能機１０が備える消耗品である。以下では、ブラックのインクについて説明するが、他の色のインクについても同様である。例えば、所定値が、多機能機１０に搭載可能なブラックのインクの量の最大値の５０％、１０％、５％である場合を想定する。この場合、ブラックのインクの残量が最大値である状態から、最大値の５０％に達した際に１回目の状態変化が生じ、最大値の１０％に達した際に２回目の状態変化が生じ、最大値の５％に達した際に３回目の状態変化が生じる。Ｓ１３２では、状態変化が起こるたびに、多機能機１０のＣＰＵ２２は、ステータス情報と、デバイスＩＤ２９と、アクセストークンと、をサービスサーバ１００に送信する。ステータス情報は、各色のインクの残量を示す情報である。なお、ステータス情報を送る際にデバイスＩＤ２９が用いられるのは、デバイスＩＤがシリアル番号のように公開された情報ではないため、第３者に多機能機１０を特定される可能性が小さく、セキュリティ面で安全だからである。変形例では、ステータス情報は、定期的に送信されてもよいし、印刷が実行されるたびに送信されてもよい。
【００４５】
サービスサーバ１００のＣＰＵ１０３は、ステータス情報と、デバイスＩＤ２９と、アクセストークンと、を受信すると、Ｓ１３８において、ステータス情報をシリアル番号「１１１１」に関連付けてメモリ１０４に記憶する。これにより、ユーザ情報、シリアル番号「１１１１」、デバイスＩＤ２９、アクセストークン、及び、ステータス情報が関連付けて登録された状態となる。
【００４６】
Ｓ１４０では、サービスサーバ１００のＣＰＵ１０３は、各色のインクの注文が必要であるのか否かを判断する。サービスサーバ１００のＣＰＵ１０３は、少なくとも１色のインクの残量が規定値以下である場合に、Ｓ１４０でＹＥＳと判断し、Ｓ１４２に進み、全ての色のインクの残量が規定値よりも多い場合に、Ｓ１３２にて送信される情報を待ち受ける待ち受け状態に戻る。以下では、ブラックのインクについて説明するが、他の色のインクについても同様である。例えば、上記の所定値が、搭載可能なブラックのインクの量の最大値の５０％、１０％、５％であり、かつ、規定値が、搭載可能なブラックのインクの量の最大値の５％である場合を想定する。この場合、１回目及び２回目のステータス情報が受信される場合に、Ｓ１４０でＮＯと判断され、３回目のステータス情報が受信される場合に、Ｓ１４０でＹＥＳと判断される。
【００４７】
Ｓ１４２では、サービスサーバ１００のＣＰＵ１０３は、ＰＣ４０のメールアドレスを宛先に指定して、Ｓ１４０でＹＥＳと判断された色のインクを注文すべきことをユーザに指示するメールを送信する。当該メールは、インクを注文すべきことをユーザに指示するメッセージと、インクを注文するためのウェブページを示すＵＲＬ（Uniform Resource Locatorの略）と、が記載されている。ユーザは、当該ウェブページにアクセスして、インクを注文することができる。なお、ＰＣ４０のメールアドレスは、図２のＳ３５で記憶済みのユーザ情報に含まれている。Ｓ１４２が終了すると、図３の処理が終了する。
【００４８】
一方、Ｓ１２０において、シリアル番号「１１１１」を記憶済みでない場合と判断された場合には、サービスサーバ１００のＣＰＵ１０３は、Ｓ１５０へ進む。Ｓ１５０では、サービスサーバ１００のＣＰＵ１０３は、シリアル番号「１１１１」が未登録であることを示す未登録通知を多機能機１０に送信する。
【００４９】
多機能機１０のＣＰＵ２２は、サービスサーバ１００から未登録通知を受信すると、Ｓ１５２において、シリアル番号「１１１１」が未登録であることを示す未登録画面を表示部１４に表示させる。Ｓ１５２が終了すると、図３の処理が終了する。
【００５０】
＜従来の構成＞
まず、図６Ａを参照して、第１実施例とは異なる従来の構成（以下では「比較例」と呼ぶ）を説明する。比較例では、登録コード「９８７」に代えて、パスフレーズが用紙に記載されている。パスフレーズは、サービスサーバ１００によってランダムに生成されるユニークな文字列であり、多機能機１０の購入者のみが取得可能な情報である。すなわちパスフレーズは、多機能機１０の購入者であることを証明するための認証情報である。パスフレーズを認証情報として機能させるために、サービスサーバ１００は、シリアル番号「１１１１」とパスフレーズとをメモリ１０４に関連付けて予め記憶する必要がある。ユーザは、図２のＳ３０において、用紙に記載されたパスフレーズと、シリアル番号「１１１１」を入力する。サービスサーバ１００は、シリアル番号「１１１１」とパスフレーズとをＰＣ４０から受信すると、受信されたシリアル番号「１１１１」とパスフレーズとのセットがメモリ１０４に記憶済みであるかを判断する。当該セットが記憶済みである場合には、認証が成功したと判断される。そして、サービスサーバ１００は、ユーザ情報とシリアル番号「１１１１」とを関連付けて登録情報テーブル１０７に登録する。
【００５１】
一方、サービスサーバ１００は、受信されたシリアル番号「１１１１」とパスフレーズとのセットがメモリ１０４に記憶済みでない場合に、認証が失敗したと判断し、ユーザ情報を登録情報テーブル１０７に登録しない。このように、比較例では、サービスサーバ１００がシリアル番号「１１１１」とパスフレーズとを関連付けて予め記憶しているので、ユーザ情報をシリアル番号「１１１１」とを関連付けて登録情報テーブル１０７に登録する際のセキュリティが確保されている。なお、多機能機１０のみではなく、複数の多機能機について、ユーザ情報とシリアル番号とを関連付けて記憶させる場合を考慮すると、当該複数の多機能機の各々について、シリアル番号とパスフレーズとのセットをメモリ１０４に予め記憶させる必要がある。そのため、比較例では、サービスサーバ１００のメモリ負荷が大きくなるという問題がある。
【００５２】
＜第１実施例の効果＞
一方、本実施例では、サービスサーバ１００は、シリアル番号「１１１１」と登録コード「９８７」とユーザ情報とをＰＣ４０から受信する（図２のＳ２０、Ｓ３２）。サービスサーバ１００は、登録コード「９８７」が公開鍵１０５を利用して復号化されたハッシュ値「９９９」と、シリアル番号「１１１１」のハッシュ値と、が一致するか否かを判断する（Ｓ３４）。すなわち、サービスサーバ１００は、登録コード「９８７」が公開鍵１０５を利用して復号化されたハッシュ値「９９９」と、シリアル番号「１１１１」と、が同じ情報を表すか否かを判断する。サービスサーバ１００は、ハッシュ値「９９９」と、シリアル番号「１１１１」と、が同じ情報を表すと判断される場合（Ｓ３４でＹＥＳ）に、認証が成功したと判断する。そして、サービスサーバ１００は、ユーザ情報をシリアル番号「１１１１」に関連付けて登録情報テーブル１０７に記憶する（Ｓ３６）。ここで、本実施例の登録コード「９８７」は、比較例のパスフレーズと同様に、多機能機１０のユーザのみが取得可能な情報である。すなわち登録コード「９８７」は、認証情報として機能する。そのため、サービスサーバ１００は、登録コード「９８７」に基づくハッシュ値「９９９」と、シリアル番号「１１１１」と、が同じ情報を表すか否かを判断することにより、ユーザ認証を実行すること可能となる。よって、ユーザ情報を目的の多機能機１０ではない他の画像形成装置のシリアル番号とが誤って対応付けてサービスサーバ１００に記憶されることを抑制することができる。ただし、比較例のパスフレーズとは異なり、本実施例の登録コード「９８７」は、ランダムに生成されない。登録コード「９８７」は、シリアル番号「１１１１」と秘密鍵１０６とを利用して生成される情報である。そのためサービスサーバ１００は、図６Ａの比較例に示すように、シリアル番号及びパスフレーズのセットをメモリ１０４に大量に記憶させる必要がない。図６Ｂに示すように、公開鍵１０５を記憶するだけでよい。これにより本実施例の技術では、サービスサーバ１００のメモリにかかる負荷を軽減することができる。
【００５３】
本実施例では、シリアル番号「１１１１」をハッシュ化したハッシュ値「９９９」が暗号化された情報が登録コード「９８７」である。ハッシュ化は、元のデータを圧縮して固定長のデータに変換する処理であるので、ハッシュ値「９９９」は、シリアル番号「１１１１」よりもデータサイズが小さくなっている。従って、サービスサーバ１００は、登録コード「９８７」を受信する際の通信負荷を軽減させることができる。
【００５４】
本実施例では、サービスサーバ１００は、Ｓ３２において受信されたシリアル番号及び登録コードをＰＣ４０に送信し得る（図２のＳ４０）。これにより、ＰＣ４０は、シリアル番号及び登録コードを表示部４８に表示させることができる（Ｓ４２）。ユーザは、表示されたシリアル番号及び登録コードを見ることによって、シリアル番号及び登録コードのうちの少なくとも一方が不正であることや当該少なくとも一方の入力ミス等を確認することができる。
【００５５】
本実施例では、登録コード「９８７」は、秘密鍵１０６を利用して暗号化された情報であり、秘密鍵１０６を有さない者によって改ざんされた可能性が低い情報である。そのため、ユーザ情報とシリアル番号「１１１１」とを関連付けてサービスサーバ１００に記憶させる際のセキュリティが向上する。
【００５６】
本明細書では、サービスサーバ１００は、受信されたシリアル番号「１１１１」と同一の情報がメモリ１０４に記憶されている場合（図３のＳ１２０でＹＥＳ）に、多機能機１０からステータス情報を受信し得る（Ｓ１３２）。メモリ１０４に記憶されているシリアル番号「１１１１」は、図２のＳ３４で肯定判断された上で記憶されている。そのため、サービスサーバ１００は、ステータス情報を送信した送信元が正規の多機能機１０であることを確認した上でステータス情報を受信するので、ステータス情報を受信する際のセキュリティが向上する。
【００５７】
本実施例では、サービスサーバ１００は、図３のＳ１１２において受信されたシリアル番号「１１１１」と同一の情報が記憶されていないことを示す未登録通知を多機能機１０に送信し得る（Ｓ１５０）。これにより、多機能機１０は、未登録画面を表示することができる（Ｓ１５２）。ユーザは、未登録画面を見ることによって、シリアル番号「１１１１」と同一の情報が記憶されていないことを確認することができる。
【００５８】
本実施例では、サービスサーバ１００は、インクの残量に応じて、ユーザにインクを注文すべきことを指示することができる。
【００５９】
本実施例では、サービスサーバ１００は、アクセストークンに基づいて、ステータス情報の通信を安全に実行することができる。
【００６０】
（第２実施例）
本実施例では、多機能機１０には、シリアル番号及び登録コードが記載された用紙が添付されていない。これに代えて、多機能機１０は、シリアル番号「１１１１」をメモリ２４に予め記憶している。また、多機能機１０は、サービスサーバ１００から登録コードを受信する。さらに、本実施例の登録コードは、第１実施例の登録コードとは異なる。
【００６１】
図１に示されるように、本実施例では、クライアント証明書２８が、多機能機１０のメーカによって多機能機１０のメモリ２４に予め記憶されている。クライアント証明書２８は、多機能機１０が当該メーカによって提供されていることを認証するための情報である。クライアント証明書２８は、認証局の秘密鍵を利用して暗号化された電子署名を含む。
また、サービスサーバ１００のメモリ１０４には、本実施例においてサービスサーバ１００により生成される登録コードを生成するための秘密鍵１０６が記憶されている。
【００６２】
（登録コード受信処理；図４Ａ，４Ｂ）
続いて、図４Ａ及び４Ｂを参照して、多機能機１０が登録コードを受信するための登録コード受信処理を説明する。本処理では多機能機１０のＣＰＵ２２がサービスサーバ１００とＳＳＬ（Secure Socket Layerの略）プロトコルに従ってＳＳＬ通信を行う。ＳＳＬ通信は、多機能機１０のメモリ２４に記憶されているクライアント証明書２８（図１）を利用して実行される通信である。クライアント証明書２８は、信頼性が高い認証局によって発行された証明書であるため、ＳＳＬ通信においては、高いセキュリティが確保されている。Ｓ２１０では、ユーザは、登録コードを取得するためのコード取得操作を多機能機１０に実行する。多機能機１０のＣＰＵ２２はサービスサーバ１００とＳＳＬ（Secure Socket Layerの略）通信を行うために、ｈｔｔｐｓ接続でサービスサーバ１００にアクセス要求を送信する。サービスサーバ１００のＣＰＵ１０３は、多機能機１０からのアクセス要求に対してクライアント証明書２８を多機能機１０に要求する。Ｓ２１２では、多機能機１０のＣＰＵ２２は、シリアル番号「１１１１」及びクライアント証明書２８を含むコード要求をサービスサーバ１００に送信する。クライアント証明書２８には、認証局の秘密鍵で暗号化された電子署名と認証局の公開鍵とが含まれる。
【００６３】
サービスサーバ１００のＣＰＵ１０３は、多機能機１０からコード要求を受信すると、Ｓ２１３において、コード要求内のクライアント証明書２８を利用して、認証を実行する。具体的には、サービスサーバ１００のＣＰＵ１０３は、クライアント証明書２８に含まれる電子署名を認証局の公開鍵を利用して復号化することを試みる。
【００６４】
Ｓ２１４では、サービスサーバ１００のＣＰＵ１０３は、Ｓ２１３の認証が成功したのか否かを判断する。サービスサーバ１００のＣＰＵ１０３は、クライアント証明書２８に含まれる電子署名が認証局の公開鍵を利用して復号化された場合に、Ｓ２１４でＹＥＳと判断し、Ｓ２１６に進む。この場合、電子署名が認証局の秘密鍵を利用して暗号化されていたこと、即ち、クライアント証明書２８がメーカによって発行された証明書であることが確認される。
【００６５】
Ｓ２１６では、サービスサーバ１００のＣＰＵ１０３は、登録コード「１２３４９８７」を生成する。具体的には、サービスサーバ１００のＣＰＵ１０３は、ハッシュアルゴリズムによりシリアル番号「１１１１」をハッシュ化することによって、ハッシュ値「９９９」を生成する（図４Ｂ参照）。そして、シリアル番号「１１１１」及びハッシュ値「９９９」を合体させて、「１１１１９９９」という合成文字列を生成する。次いで、生成した合成文字列「１１１１９９９」を秘密鍵１０６を利用して登録コード「１２３４９８７」に暗号化する。
即ち、登録コード「１２３４９８７」は、秘密鍵１０６を有する者（即ちメーカ）によって生成された情報であり、秘密鍵１０６を有さない者によって改ざんされた可能性が低い情報である。Ｓ２２０では、サービスサーバ１００のＣＰＵ１０３は、生成済みの登録コード「１２３４９８７」を多機能機１０に送信する。
【００６６】
多機能機１０のＣＰＵ２２は、サービスサーバ１００から登録コード「１２３４９８７」を受信すると、Ｓ２２２において、登録コード「１２３４９８７」を印刷実行部１８に印刷させる。ユーザは、印刷された登録コード「１２３４９８７」を見ることによって、登録コード「１２３４９８７」を知ることができる。Ｓ２２２が終了すると、図４Ａの処理が終了する。
【００６７】
一方、サービスサーバ１００のＣＰＵ１０３は、クライアント証明書２８に含まれる電子署名が公開鍵１０５を利用して復号化されなかった場合に、Ｓ２１４でＮＯと判断し、Ｓ２３０に進む。この場合、電子署名が秘密鍵１０６を利用して暗号化されていなかったこと、即ち、クライアント証明書２８がメーカによって発行された証明書でないことが確認される。Ｓ２３０では、サービスサーバ１００のＣＰＵ１０３は、Ｓ２１３の認証が失敗したことを示す認証失敗通知を多機能機１０に送信する。この場合、多機能機１０のＣＰＵ２２は、登録コード「１２３４９８７」を印刷実行部１８に実行させない。Ｓ２３０が終了すると、図４Ａの処理が終了する。
【００６８】
（仮登録処理；図５）
続いて、図５を参照して、第２実施例の仮登録処理を説明する。Ｓ３０８〜Ｓ３２４は、図２のＳ８〜Ｓ２４と同様である。ただし、Ｓ３２４の入力フォームは、シリアル番号を入力するためのフォームを含まない。Ｓ３３０では、ユーザは、登録コード「１２３４９８７」をＰＣ４０に入力する。ここで、Ｓ３３０が実行される前に、図４Ａの登録コード受信処理が実行されており、ユーザが、登録コード「１２３４９８７」を予め知っていることを想定している。
【００６９】
Ｓ３３２では、ＰＣ４０のＣＰＵ４１は、入力された登録コード「１２３４９８７」をサービスサーバ１００に送信する。
【００７０】
サービスサーバ１００のＣＰＵ１０３は、登録コード「１２３４９８７」をＰＣ４０から受信すると、Ｓ３３３において、受信された登録コード「１２３４９８７」を、公開鍵１０５を用いて復号化し、合成文字列「１１１１９９９」を得る。そして合成文字列「１１１１９９９」を、シリアル番号「１１１１」及びハッシュ値「９９９」に分割する。
【００７１】
Ｓ３３４では、サービスサーバ１００のＣＰＵ１０３は、受信された登録コードの一部「９８７」が復号化された値と、受信された登録コードの一部「１２３４」が復号化された値のハッシュ値と、が一致するのか否かを判断する。Ｓ３３０において、ユーザが登録コード「１２３４９８７」を正しく入力した場合に、サービスサーバ１００のＣＰＵ１０３は、Ｓ３３４でＹＥＳと判断し、Ｓ３３６に進む。サービスサーバ１００のＣＰＵ１０３は、Ｓ３３６において、ユーザ情報と登録コードを復号化することにより得られたシリアル番号「１１１１」とを対応付けて登録情報テーブル１０７に記憶し、Ｓ３３８に進む。Ｓ３３８は、図２のＳ３８と同様である。Ｓ３３８が終了すると、図５の処理が終了する。一方、Ｓ３３０において、例えば、ユーザが登録コード「１２３４９８７」を正しく入力しなかった場合に、サービスサーバ１００のＣＰＵ１０３は、Ｓ３３４でＮＯと判断し、Ｓ３４０に進む。また、Ｓ３３０において、例えば、ユーザとは異なる者が、秘密鍵１０６とは異なる鍵を利用してシリアル番号「１１１１」及びハッシュ値「９９９」が暗号化された情報（即ち、登録コード「１２３４９８７」とは異なる情報）を入力した場合、Ｓ３３３の復号化が失敗する。この場合、サービスサーバ１００のＣＰＵ１０３は、Ｓ３３４でＮＯと判断し、Ｓ３４０に進む。
【００７２】
Ｓ３４０では、サービスサーバ１００のＣＰＵ１０３は、登録失敗通知をＰＣ４０に送信する。登録失敗通知は、Ｓ３３０において入力された登録コードを含む。
【００７３】
ＰＣ４０のＣＰＵ４１は、サービスサーバ１００から登録失敗通知を受信すると、Ｓ３４２において、登録失敗通知内の登録コードを表示部４８に表示する。Ｓ３４２が終了すると、図５の処理が終了する。
第２実施例の本登録処理は第１実施例と同様なので説明は省略する。
【００７４】
＜第２実施例の効果＞
本実施例では、サービスサーバ１００は、登録コード「１２３４９８７」とユーザ情報とをＰＣ４０から受信する（図２のＳ３２０、Ｓ３３２）。サービスサーバ１００は、登録コード「１２３４９８７」が公開鍵１０５を利用して復号化されたシリアル番号「１１１１」とハッシュ値「９９９」とが同じ情報を表すか否かを判断する。サーバ装置は、シリアル番号「１１１１」とハッシュ値「９９９」とが同じ情報を表すと判断される場合（図５のＳ３３４でＹＥＳ）に、ユーザ情報とシリアル番号「１１１１」とを関連付けて記憶する（Ｓ３３６）。ここで、本実施例の登録コード「１２３４９８７」は、比較例のパスフレーズと同様に、多機能機１０のユーザのみが取得可能な情報である。すなわち登録コード「１２３４９８７」は、認証情報として機能する。そのため、サービスサーバ１００は、登録コード「１２３４９８７」に基づくシリアル番号「１１１１」と、登録コード「１２３４９８７」に基づくハッシュ値「９９９」と、が同じ情報を表すか否かを判断することにより、ユーザ認証を実行すること可能となる。よって、ユーザ情報を目的の多機能機１０ではない他の画像形成装置のシリアル番号とを誤って対応付けて記憶することを抑制することができる。シリアル番号「１１１１」とを関連付けて登録情報テーブル１０７に記憶する際のセキュリティを確保している。また、第１実施例と同様に、サービスサーバ１００は、シリアル番号及びパスフレーズのセットをメモリ１０４に大量に記憶させる必要がないので、サービスサーバ１００のメモリ負荷を軽減することができる。さらに、本実施例では、合成文字列「１１１１９９９」を暗号化して登録コード「１２３４９８７」を生成しているので、登録コード「１２３４９８７」にシリアル番号を内在させることができる。そのため、図５のＳ３３０において、シリアル番号「１１１１」を入力する必要はない。登録コード「１２３４９８７」を入力する入力処理を１回行うだけでよい。これにより、登録コードの入力処理とシリアル番号の入力処理との２回の入力処理を行う場合に比して、入力処理の実行回数を低減させることが可能となる。即ち、ユーザの入力負担を軽減させることができる。
【００７５】
本実施例では、サービスサーバ１００は、Ｓ３３２において受信された登録コードをＰＣ４０に送信し得る（図５のＳ３４０）。これにより、ＰＣ４０は、登録コードを表示部４８に表示させることができる（Ｓ３４２）。ユーザは、表示された登録コードを見ることによって、登録コードが不正であることや登録コードの入力ミス等を確認することができる。
【００７６】
本実施例では、登録コード「１２３４９８７」は、秘密鍵１０６を利用して暗号化された情報であり、秘密鍵１０６を有さない者によって改ざんされた可能性が低い情報である。そのため、ユーザ情報とシリアル番号「１１１１」とを関連付けてサービスサーバ１００に記憶させる際のセキュリティが向上する。
【００７７】
本実施例では、サービスサーバ１００は、図３のＳ１１２において受信されたシリアル番号「１１１１」と同一の情報が記憶されていないことを示す未登録通知を多機能機１０に送信し得る（Ｓ１５０）。これにより、多機能機１０は、未登録画面を表示することができる（Ｓ１５２）。ユーザは、未登録画面を見ることによって、シリアル番号「１１１１」と同一の情報が記憶されていないことを確認することができる。
【００７８】
本実施例では、サービスサーバ１００は、インクの残量に応じて、ユーザにインクを注文すべきことを指示することができる。
【００７９】
本実施例では、サービスサーバ１００は、アクセストークンに基づいて、ステータス情報の通信を安全に実行することができる。
【００８０】
本実施例では、サービスサーバ１００は、登録コード「１２３４９８７」を多機能機１０に送信することができる。
【００８１】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００８２】
（変形例）
本明細書の説明例では、多機能機１０を一意に特定可能な情報の一例として、シリアル番号を説明した。しかしこの形態に限られない。多機能機１０を一意に特定可能な情報であれば、何れの情報を用いてもよい。例えば、多機能機１０の他の情報（例えば、ＭＡＣアドレス等）が利用されてもよい。また、登録コードが、シリアル番号「１１１１」に代えて、当該他の情報に基づく情報であってもよい。また、Ｓ３６では、サービスサーバ１００は、シリアル番号「１１１１」に代えて、当該他の情報を記憶してもよい。即ち、「固有情報」は、シリアル番号「１１１１」に限られず、ＭＡＣアドレス等であってもよい。
【００８３】
第２実施例は、「シリアル番号「１１１１」を登録コード「１２３４９８７」に内在させる」技術と、図４Ａの登録コード受信処理の技術と、を含む。これらの技術は、組み合わされていなくても、単独で成立する。具体的には、図４ＡのＳ２１０〜Ｓ２３０の処理が省略されていてもよい。さらに、多機能機１０に添付された用紙に登録コード「１２３４９８７」が記載されていてもよい。他の変形例では、登録コード受信処理で受信される登録コードが、登録コード「９８７」であってもよい。
【００８４】
「情報処理装置」は、ＰＣ等の据置型装置に限られず、携帯電話等の携帯型装置であってもよい。即ち、「情報処理装置」は、情報処理を実行可能なあらゆる装置を含む。
【００８５】
「画像処理装置」は、多機能機に限られず、写真を表わす画像データを生成可能なデジタルカメラ、画像編集処理を実行可能なＰＣ等であってもよい。即ち、「画像処理装置」は、画像処理を実行可能なあらゆる装置を含む。
【００８６】
ハッシュアルゴリズムに代えて、例えば、圧縮関数のアルゴリズムが利用されてもよい。また、シリアル番号「１１１１」からハッシュ値「９９９」を生成する方法は、このハッシュアルゴリズムを使わない方法（例えば圧縮関数のアルゴリズムを使う方法）であってもよい。すなわち、元となる値に対して必ず決まった値が生成され、かつ、元となる値が異なれば、必ず異なる値が生成される方法であれば、どのような方法でもよい。
【００８７】
上記の各実施例では、公開鍵１０５及び秘密鍵１０６に代えて、共通鍵が利用されてもよい。この場合、共通鍵は、多機能機１０のメーカのみが有する。登録コードは、共通鍵を利用して暗号化された情報であり、共通鍵を有さない者によって改ざんされた可能性が低い情報である。そのため、ユーザ情報とシリアル番号「１１１１」とを関連付けてサービスサーバ１００に記憶させる際のセキュリティが向上する。
【００８８】
上記の各実施例では、サービスサーバ１００は、図３のＳ１１２において、登録確認信号を多機能機１０から定期的に受信してもよい。即ち、「所定の条件」は、前回、固有情報が受信されてから所定期間を経過することであってもよい。
【００８９】
上記の各実施例では、図３のＳ１３０の状態変化は、原稿をセットするための多機能機１０のカバーが一定期間以上開かれた状態であることであってもよく、ステータス情報は、カバーが一定期間以上開かれた状態であることを示す情報であってもよい。この場合、サービスサーバ１００は、Ｓ１４０、Ｓ１４２に代えて、ユーザにカバーを閉じるべきことを指示する情報を多機能機１０に送信してもよい。また、別の変形例では、図３のＳ１３０の状態変化は、多機能機１０が備える印刷用紙が所定量以下になることであってもよく、ステータス情報は、印刷用紙が所定量以下になることを示す情報であってもよい。この場合、サービスサーバ１００は、Ｓ１４０、Ｓ１４２に代えて、ユーザに印刷用紙を注文すべきことを指示する情報を多機能機１０に送信してもよい。即ち、「対象情報」は、画像処理装置の状態を示す情報であればよく、「対象処理」は、対象情報に応じた処理であればよい。
【００９０】
サービスサーバ１００は、物理的に独立した複数個のサーバを含んでいてもよい。即ち、サービスサーバ１００は、ログインに関する処理（図２、図５参照）を実行するウェブサーバ（いわゆるＢＯＬ）と、多機能機１０から各種情報を受信する（図３のＳ１１２〜Ｓ１３８参照）情報収集サーバ（いわゆるＢＯＣ）と、インクの注文が必要であるかを判断する（図３のＳ１４０、Ｓ１４２参照）発注サーバ（いわゆるＳＣＰサーバ）と、を含んでいてもよい。
【００９１】
第１実施例では、登録コード「９８７」は、多機能機１０に添付された用紙に記載されている。これに代えて、第２実施例の図４Ａと同様にして、サービスサーバ１００が、多機能機１０から受信されるシリアル番号「１１１１」を利用して、登録コード「９８７」を生成してもよい。そして、多機能機１０は、サービスサーバ１００から登録コード「９８７」を受信してもよい。
【００９２】
上記の各実施例では、各機器１０、４０、１００のＣＰＵ２２、４１、１０３がメモリ２４、４２、１０４内のプログラムを実行することによって、図２〜図５の各処理が実現される。これに代えて、図２〜図５の各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【００９３】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【００９４】
サービスサーバ１００、ＰＣ４０、多機能機１０が、それぞれ、「サーバ装置」、「情報処理装置」、「画像処理装置」の一例である。メモリ１０４が、「記憶部」の一例である。シリアル番号「１１１１」、第１実施例のハッシュ値「９９９」、第２実施例のハッシュ値「９９９」、ステータス情報が、それぞれ、「固有情報」、「復号化情報」、「変換情報」、「対象情報」の一例である。ハッシュ値「９９９」が、「付加情報」の一例である。第１実施例の登録コード「９８７」及び第２実施例の登録コード「１２３４９８７」が、暗号化情報の一例である。秘密鍵１０６、公開鍵１０５が、それぞれ、「第１の鍵」、「第２の鍵」の一例である。図３のＳ１４２の処理が、「対象処理」の一例である。多機能機１０の電源がＯＮされることが、「所定の条件」の一例である。
【００９５】
図２のＳ３２及び図５のＳ３３２は、「第１の受信処理」の一例である。図２のＳ３３及び図５のＳ３３３は、「復号化処理」の一例である。図２のＳ３４及び図５のＳ３３４は、「第１の判断処理」の一例である。図２のＳ３６及び図５のＳ３３６は、「記憶制御処理」の一例である。図２のＳ４０及び図５のＳ３４０は、「第１の送信処理」の一例である。図３のＳ１１２、Ｓ１２０、Ｓ１３２、Ｓ１５０、Ｓ１２６、図４のＳ２１２、Ｓ２１６、Ｓ２２０が、それぞれ、「第２の受信処理」、「第２の判断処理」、「第３の受信処理」、「第２の送信処理」、「第３の送信処理」、「第４の受信処理」、「暗号化処理」、「第４の送信処理」の一例である。
【符号の説明】
【００９６】
２：通信システム、６：インターネット、７：ルータ、１０：多機能機、１２、４９：操作部、１４、４８：表示部、１６、４７、１０１：ネットワークインターフェイス、１８：印刷実行部、１９：スキャン実行部、２０、１０２：制御部、２２、４１、１０３：ＣＰＵ、２４、４２、１０４：メモリ、２５：アプリケーションプログラム、２６：プロトコルスタック、２７：装置情報、２８：クライアント証明書、２９：デバイスＩＤ、４０：ＰＣ、１００：サービスサーバ、４３：ウェブブラウザ、４４：プロトコルスタック、１０５：公開鍵、１０６：秘密鍵、１０７：登録情報テーブル、１０８：ハッシュアルゴリズム用プログラム
【図１】
0006575275.tif 000002
【図２】
0006575275.tif 000003
【図３】
0006575275.tif 000004
【図４Ａ】
0006575275.tif 000005
【図４Ｂ】
0006575275.tif 000006
【図５】
0006575275.tif 000007
【図６Ａ】
0006575275.tif 000008
【図６Ｂ】
0006575275.tif 000009