(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022055829
(43)【公開日】2022-04-08
(54)【発明の名称】機能実行装置、機能実行装置のためのコンピュータプログラム、機能実行装置によって実行される方法、機能実行システム、及び、機能実行システムによって実行される方法
(51)【国際特許分類】
G06F 21/31 20130101AFI20220401BHJP
【FI】
G06F21/31
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2020163484
(22)【出願日】2020-09-29
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】特許業務法人快友国際特許事務所
(72)【発明者】
【氏名】柳 哲
(57)【要約】
【課題】機能実行装置の管理者パスワードが変更される状況において、機能実行装置のセキュリティを高める技術を提供すること。
【解決手段】機能実行装置は、機能実行部と、管理者認証情報と、ユーザ認証情報と、が記憶されるメモリと、前記機能の実行を要求するために前記ユーザパスワードが入力される場合に前記ユーザパスワードの入力が受け付けられる場合に、入力済みの前記ユーザパスワードに対応する前記ユーザ認証情報である入力ユーザ認証情報が、メモリに記憶されている1個以上のユーザ認証情報のいずれかに一致するのか否かを判断する判断部と、入力ユーザ認証情報が1個以上のユーザ認証情報のいずれかに一致すると判断される場合に、機能を機能実行部に実行させる機能制御部と、管理者パスワードが変更される場合に、ユーザパスワードが入力されることに応じた機能の実行を制限する制限部と、を備えてもよい。
【選択図】
図5
【特許請求の範囲】
【請求項1】
機能実行装置であって、
機能を実行するための機能実行部と、
前記機能実行装置の管理者のパスワードである管理者パスワードに対応する管理者認証情報と、前記機能実行装置の1以上の個別ユーザのそれぞれについて、当該個別ユーザのパスワードであるユーザパスワードに対応するユーザ認証情報と、が記憶されるメモリと、
前記機能の実行を要求するために前記ユーザパスワードが入力される場合に、入力済みの前記ユーザパスワードに対応する前記ユーザ認証情報である入力ユーザ認証情報が、前記1以上の個別ユーザに対応する1個以上の前記ユーザ認証情報であって、前記メモリに記憶されている前記1個以上のユーザ認証情報のいずれかに一致するのか否かを判断する判断部と、
前記入力ユーザ認証情報が前記1個以上のユーザ認証情報のいずれかに一致すると判断される場合に、前記機能を前記機能実行部に実行させる機能制御部と、
前記管理者パスワードが変更される場合に、前記ユーザパスワードが入力されることに応じた前記機能の実行を制限する制限部と、
を備える、機能実行装置。
【請求項2】
前記機能実行装置は、さらに、
個別ユーザの登録を要求するために前記ユーザパスワードが入力される場合に、入力済みの前記ユーザパスワードに関連する関連情報と、前記ユーザパスワードが入力される際の前記管理者認証情報である第1の値と、を利用して、前記ユーザ認証情報を生成するユーザ認証情報生成部と、
生成済みの前記ユーザ認証情報を前記メモリに登録する登録部と、を備え、
前記判断部は、前記管理者パスワードが変更される前に、前記機能の実行を要求するために前記ユーザパスワードが入力される場合に、入力済みの前記ユーザパスワードに関連する前記関連情報と前記第1の値とを利用して前記入力ユーザ認証情報を生成し、生成済みの前記入力ユーザ認証情報が前記1個以上のユーザ認証情報のいずれかに一致するのか否かを判断する、請求項1に記載の機能実行装置。
【請求項3】
前記制限部は、パスワードの変更を要求するために変更前の管理者パスワードと変更後の管理者パスワードとが入力される場合に、前記変更後の管理者パスワードを利用して、前記メモリ内の前記管理者認証情報を前記第1の値から第2の値に変更する管理者認証情報変更部を備え、
前記判断部は、前記管理者パスワードが変更された後に、前記機能の実行を要求するために前記ユーザパスワードが入力される場合に、入力済みの前記ユーザパスワードに関連する前記関連情報と前記第2の値とを利用して前記入力ユーザ認証情報を生成し、生成済みの前記入力ユーザ認証情報が前記1個以上のユーザ認証情報のいずれかに一致するのか否かを判断する、請求項2に記載の機能実行装置。
【請求項4】
前記機能実行装置は、さらに、
パスワードの変更を要求するために少なくとも前記変更前の管理者パスワードが入力される場合に、前記ユーザパスワードが入力されることに応じた前記機能の実行を制限すべきか否かを選択するための第1の選択画面を表示部に表示させる第1の表示制御部と、
前記第1の選択画面において、制限すべきでないことが選択される場合に、前記メモリに記憶されている前記1個以上のユーザ認証情報を変更する第1のユーザ認証情報変更部であって、前記第1の選択画面において、制限すべきことが選択される場合に、前記メモリに記憶されている前記1個以上のユーザ認証情報は変更されない、前記第1のユーザ認証情報変更部と、を備え、
前記第1のユーザ認証情報変更部は、前記第1の選択画面において、制限すべきでないことが選択される場合に、前記1以上の個別ユーザのそれぞれについて、当該個別ユーザの前記ユーザパスワードに関連する前記関連情報と前記第2の値とを利用して新たなユーザ認証情報を生成し、当該個別ユーザに対応する前記ユーザ認証情報に代えて前記新たなユーザ認証情報を前記メモリに記憶させる、請求項3に記載の機能実行装置。
【請求項5】
前記機能実行装置は、さらに、
パスワードの変更を要求するために少なくとも前記変更前の管理者パスワードが入力される場合に、前記機能の実行が制限されるべき第1の個別ユーザと、前記機能の実行が制限されるべきでない第2の個別ユーザと、を選択するための第2の選択画面を表示部に表示させる第2の表示制御部と、
前記第2の選択画面において、前記第1の個別ユーザと前記第2の個別ユーザとが選択される場合に、前記第1の個別ユーザに対応する前記ユーザ認証情報を変更することなく、前記第2の個別ユーザに対応する前記ユーザ認証情報を変更する第2のユーザ認証情報変更部と、を備え、
前記第2のユーザ認証情報変更部は、前記第2の個別ユーザの前記ユーザパスワードに関連する前記関連情報と前記第2の値とを利用して新たなユーザ認証情報を生成し、前記第2の個別ユーザに対応する前記ユーザ認証情報に代えて前記新たなユーザ認証情報を前記メモリに記憶させる、請求項3又は4に記載の機能実行装置。
【請求項6】
前記機能実行装置は、さらに、
前記管理者パスワードが変更される場合に、前記ユーザパスワードが入力されることに応じた前記機能の実行が制限されることを示す通知情報を外部に出力する出力制御部を備える、請求項1から5のいずれか一項に記載の機能実行装置。
【請求項7】
前記管理者認証情報は、前記管理者パスワードをハッシュ化することによって得られる情報であり、
前記ユーザ認証情報は、前記ユーザパスワードをハッシュ化することによって得られる情報と、前記管理者認証情報と、の組み合わせをハッシュ化することによって得られる情報である、請求項1から6のいずれか一項に記載の機能実行装置。
【請求項8】
機能実行装置のためのコンピュータプログラムであって、
前記機能実行装置は、
機能を実行するための機能実行部と、
前記機能実行装置の管理者のパスワードである管理者パスワードに対応する管理者認証情報と、前記機能実行装置の1以上の個別ユーザのそれぞれについて、当該個別ユーザのパスワードであるユーザパスワードに対応するユーザ認証情報と、が記憶されるメモリと、
コンピュータと、を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
前記機能の実行を要求するために前記ユーザパスワードが入力される場合に、入力済みの前記ユーザパスワードに対応する前記ユーザ認証情報である入力ユーザ認証情報が、前記1以上の個別ユーザに対応する1個以上の前記ユーザ認証情報であって、前記メモリに記憶されている前記1個以上のユーザ認証情報のいずれかに一致するのか否かを判断する判断部と、
前記入力ユーザ認証情報が前記1個以上のユーザ認証情報のいずれかに一致すると判断される場合に、前記機能を前記機能実行部に実行させる機能制御部と、
前記管理者パスワードが変更される場合に、前記ユーザパスワードが入力されることに応じた前記機能の実行を制限する制限部と、
として機能させる、コンピュータプログラム。
【請求項9】
機能実行装置によって実行される方法であって、
前記機能実行装置は、
機能を実行するための機能実行部と、
前記機能実行装置の管理者のパスワードである管理者パスワードに対応する管理者認証情報と、前記機能実行装置の1以上の個別ユーザのそれぞれについて、当該個別ユーザのパスワードであるユーザパスワードに対応するユーザ認証情報と、が記憶されるメモリと、
を備え、
前記方法は、
前記機能の実行を要求するために前記ユーザパスワードが入力される場合に、入力済みの前記ユーザパスワードに対応する前記ユーザ認証情報である入力ユーザ認証情報が、前記1以上の個別ユーザに対応する1個以上の前記ユーザ認証情報であって、前記メモリに記憶されている前記1個以上のユーザ認証情報のいずれかに一致するのか否かを判断する判断ステップと、
前記入力ユーザ認証情報が前記1個以上のユーザ認証情報のいずれかに一致すると判断される場合に、前記機能を前記機能実行部に実行させる機能制御ステップと、
前記管理者パスワードが変更される場合に、前記ユーザパスワードが入力されることに応じた前記機能の実行を制限する制限ステップと、
を備える、方法。
【請求項10】
機能実行システムであって、
機能実行装置と、
前記機能実行装置とは異なる外部装置と、
を備え、
前記機能実行装置は、
機能を実行するための機能実行部を備え、
前記外部装置は、
前記機能実行装置の管理者のパスワードである管理者パスワードに対応する管理者認証情報と、前記機能実行装置の1以上の個別ユーザのそれぞれについて、当該個別ユーザのパスワードであるユーザパスワードに対応するユーザ認証情報と、が記憶されるメモリを備え、
前記機能実行システムは、
前記機能の実行を要求するために前記ユーザパスワードが入力される場合に、入力済みの前記ユーザパスワードに対応する前記ユーザ認証情報である入力ユーザ認証情報が、前記1以上の個別ユーザに対応する1個以上の前記ユーザ認証情報であって、前記メモリに記憶されている前記1個以上のユーザ認証情報のいずれかに一致するのか否かを判断する判断部と、
前記入力ユーザ認証情報が前記1個以上のユーザ認証情報のいずれかに一致すると判断される場合に、前記機能を前記機能実行部に実行させる機能制御部と、
前記管理者パスワードが変更される場合に、前記ユーザパスワードが入力されることに応じた前記機能の実行を制限する制限部と、
を備える、機能実行システム。
【請求項11】
機能実行システムによって実行される方法であって、
前記機能実行システムは、
機能実行装置と、
前記機能実行装置とは異なる外部装置と、
を備え、
前記機能実行装置は、
機能を実行するための機能実行部を備え、
前記外部装置は、
前記機能実行装置の管理者のパスワードである管理者パスワードに対応する管理者認証情報と、前記機能実行装置の1以上の個別ユーザのそれぞれについて、当該個別ユーザのパスワードであるユーザパスワードに対応するユーザ認証情報と、が記憶されるメモリを備え、
前記方法は、
前記機能の実行を要求するために前記ユーザパスワードが入力される場合に、入力済みの前記ユーザパスワードに対応する前記ユーザ認証情報である入力ユーザ認証情報が、前記1以上の個別ユーザに対応する1個以上の前記ユーザ認証情報であって、前記メモリに記憶されている前記1個以上のユーザ認証情報のいずれかに一致するのか否かを判断する判断ステップと、
前記入力ユーザ認証情報が前記1個以上のユーザ認証情報のいずれかに一致すると判断される場合に、前記機能を前記機能実行部に実行させる機能制御ステップと、
前記管理者パスワードが変更される場合に、前記ユーザパスワードが入力されることに応じた前記機能の実行を制限する制限ステップと、
を備える、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書が開示する技術は、認証情報を利用して機能実行装置に機能を実行させるための技術に関する。
【背景技術】
【0002】
特許文献1には、情報処理装置が開示されている。情報処理装置(例えばMFP(Multi-Function Peripheralの略))は、セキュリティを強化する追加機能がインストールされる際に、所定サービス(例えばコピーサービス)を自動的に停止する。そして、情報処理装置は、所定サービスを利用するためのユーザ認証パスワードをシステム管理者パスワードに置き換える。即ち、情報処理装置は、追加機能がインストールされる際に、ユーザ認証パスワードを無効化する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の技術では、システム管理者パスワードが変更される状況が考慮されていない。本明細書では、機能実行装置の管理者パスワードが変更される状況において、機能実行装置のセキュリティを高める技術を提供する。
【課題を解決するための手段】
【0005】
本明細書は、機能実行装置を開示する。機能実行装置は、機能を実行するための機能実行部と、前記機能実行装置の管理者のパスワードである管理者パスワードに対応する管理者認証情報と、前記機能実行装置の1以上の個別ユーザのそれぞれについて、当該個別ユーザのパスワードであるユーザパスワードに対応するユーザ認証情報と、が記憶されるメモリと、前記機能の実行を要求するために前記ユーザパスワードが入力される場合に、入力済みの前記ユーザパスワードに対応する前記ユーザ認証情報である入力ユーザ認証情報が、前記1以上の個別ユーザに対応する1個以上の前記ユーザ認証情報であって、前記メモリに記憶されている前記1個以上のユーザ認証情報のいずれかに一致するのか否かを判断する判断部と、前記入力ユーザ認証情報が前記1個以上のユーザ認証情報のいずれかに一致すると判断される場合に、前記機能を前記機能実行部に実行させる機能制御部と、前記管理者パスワードが変更される場合に、前記ユーザパスワードが入力されることに応じた前記機能の実行を制限する制限部と、を備えてもよい。
【0006】
上記の構成によると、機能実行装置は、管理者パスワードが変更される場合に、ユーザパスワードが機能実行装置に入力されることに応じた機能の実行を制限する。従って、機能実行装置の管理者パスワードが変更される状況において、機能実行装置のセキュリティを高めることができる。
【0007】
本明細書は、さらに、機能実行システムを開示する。機能実行システムは、機能実行装置と、前記機能実行装置とは異なる外部装置と、を備えてもよい。前記機能実行装置は、機能を実行するための機能実行部を備えてもよい。前記外部装置は、前記機能実行装置の管理者のパスワードである管理者パスワードに対応する管理者認証情報と、前記機能実行装置の1以上の個別ユーザのそれぞれについて、当該個別ユーザのパスワードであるユーザパスワードに対応するユーザ認証情報と、が記憶されるメモリを備えてもよい。前記機能実行システムは、前記機能の実行を要求するために前記ユーザパスワードが入力される場合に、入力済みの前記ユーザパスワードに対応する前記ユーザ認証情報である入力ユーザ認証情報が、前記1以上の個別ユーザに対応する1個以上の前記ユーザ認証情報であって、前記メモリに記憶されている前記1個以上のユーザ認証情報のいずれかに一致するのか否かを判断する判断部と、前記入力ユーザ認証情報が前記1個以上のユーザ認証情報のいずれかに一致すると判断される場合に、前記機能を前記機能実行部に実行させる機能制御部と、前記管理者パスワードが変更される場合に、前記ユーザパスワードが入力されることに応じた前記機能の実行を制限する制限部と、を備えてもよい。
【0008】
上記の構成によると、機能実行システムは、管理者パスワードが変更される場合に、ユーザパスワードが機能実行装置に入力されることに応じた機能の実行を制限する。従って、機能実行装置の管理者パスワードが変更される状況において、機能実行装置のセキュリティを高めることができる。
【0009】
上記の機能実行装置又は機能実行システムを実現するためのコンピュータプログラム、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体、及び、上記の機能実行装置又は機能実行システムによって実行される方法も、新規で有用である。
【図面の簡単な説明】
【0010】
【
図4】ユーザパスワード登録処理のフローチャートを示す。
【
図5】管理者パスワード変更処理のフローチャートを示す。
【
図7】ユーザ登録及び印刷処理のシーケンスを示す。
【
図8】管理者パスワードが変更されるケースAのシーケンスを示す。
【
図10】管理者パスワードが変更されるケースBのシーケンスを示す。
【発明を実施するための形態】
【0011】
(第1実施例)
(通信システム2の構成;
図1)
通信システム2は、プリンタ10と管理者端末100と第1端末200と第2端末300とを備える。各装置10,100,200,300は、同じローカルエリアネットワークに所属しており、当該ネットワークを介して相互に通信可能である。
【0012】
(プリンタ10の構成)
プリンタ10は、印刷機能を実行可能な周辺装置(例えば管理者端末100等の周辺装置)である。プリンタ10は、操作部12と、表示部14と、通信インターフェース16と、印刷実行部18と、制御部30と、を備える。以下では、インターフェースのことを「I/F」と記載する。各部12~30は、バス線(符号省略)に接続されている。
【0013】
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をプリンタ10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、いわゆるタッチパネルであり、操作部としても機能する。通信I/F16は、ローカルエリアネットワークに接続されている。通信I/F16は、本実施例では、無線通信を実行するためのI/Fであるが、変形例では、有線通信を実行するためのI/Fであってもよい。印刷実行部18は、インクジェット方式、レーザ方式等の印刷機構を備える。
【0014】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に記憶されているプログラム36に従って、様々な処理を実行する。メモリ34は、さらに、認証テーブル40を記憶する。
【0015】
認証テーブル40は、ユーザIDと認証情報とハッシュ値と更新フラグとを対応付けて記憶するためのテーブルである。ユーザIDは、プリンタ10のユーザを識別する情報である。認証テーブル40は、プリンタ10の管理者のユーザIDである管理者ID「Administrator」と、プリンタ10を利用する個別ユーザのユーザIDである個別ユーザID(
図1の例では「user_a」及び「user_b」)と、を記憶する。
【0016】
認証情報は、ユーザ認証を実行するための情報である。以下では、管理者IDに対応づけられる認証情報のことを「管理者認証情報」と記載する。管理者認証情報は、管理者のパスワードである管理者パスワードのハッシュ値である。また、以下では、個別ユーザIDに対応づけられる認証情報のことを「ユーザ認証情報」と記載する。ユーザ認証情報は、管理者認証情報(即ち管理者パスワードのハッシュ値)と、個別ユーザのパスワードであるユーザパスワードのハッシュ値と、の組合せのハッシュ値である。このように、認証情報としてハッシュ値が利用されるので、認証情報としてパスワードそのものが利用される比較例と比較して、セキュリティを高めることができる。
【0017】
ハッシュ値及び更新フラグは、管理者IDに対応付けられず、個別ユーザIDに対応付けられる。ハッシュ値は、ユーザパスワードのハッシュ値である。更新フラグは、管理者パスワードが変更される場合に、ユーザパスワードの利用の継続を許容するのか否かを示すフラグである。更新フラグは、ユーザパスワードの利用の継続を許容することを意味する「YES」と、ユーザパスワードの利用の継続を制限することを意味する「NO」と、のいずれか一方の値を示す。
【0018】
(管理者端末100、第1端末200、及び、第2端末300の構成)
管理者端末100、第1端末200、及び、第2端末300は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。変形例では、管理者端末100は、据置型のPC、ノートPC等であってもよい。管理者端末100は、管理者によって利用される端末である。第1端末200は、ユーザID「user_a」に対応するユーザによって利用される端末である。第2端末300は、ユーザID「user_b」に対応するユーザによって利用される端末である。
【0019】
(初期設定処理;
図2)
続いて、
図2を参照して、プリンタ10のCPU32によって実行される初期設定処理について説明する。初期設定処理は、プリンタ10に管理者パスワードが設定されていない状況において、プリンタ10に管理者パスワードを設定するための処理である。プリンタ10は、認証テーブル40において、ユーザIDとして管理者ID「Administrator」のみを記憶している。
【0020】
S10では、CPU32は、操作部12を介して、管理者パスワードPAの入力を受け付ける。S12では、CPU32は、所定のハッシュ関数を利用して、入力済みの管理者パスワードPAのハッシュ値paを計算する。S14では、CPU32は、管理者ID「Administrator」に対応付けてハッシュ値paを管理者認証情報として認証テーブル40に記憶する。S14の処理が終了すると、
図2の処理が終了する。
【0021】
(認証情報設定処理;
図3)
続いて、
図3を参照して、プリンタ10のCPU32によって実行される認証情報設定処理について説明する。プリンタ10は、認証テーブル40において、管理者ID「Administrator」と管理者認証情報paとを対応付けて記憶している。即ち、
図3の処理は、
図2の処理が実行された後に実行される処理である。
【0022】
S100では、CPU32は、通信I/F16を介して、管理者端末100からログイン要求を受信することを監視する。CPU32は、管理者端末100からログイン要求を受信する場合に、S100でYESと判断し、S102に進む。ログイン要求は、管理者端末100に入力された管理者パスワードPAを含む。
【0023】
S102では、CPU32は、ログイン要求に含まれる管理者パスワードPAのハッシュ値paを計算する。S104では、CPU32は、認証テーブル40から管理者認証情報paを読み出す。S106では、CPU32は、S102で計算済みのハッシュ値paと、S104で読み出し済みの管理者認証情報paと、が一致するのか否かを判断する。CPU32は、両者が一致すると判断する場合、即ち、認証が成功する場合に、S106でYESと判断し、S110に進む。一方、CPU32は、両者が一致しないと判断する場合、即ち、認証が失敗する場合に、S106でNOと判断し、S110以降の処理を実行することなく、
図3の処理を終了する。
【0024】
S110では、CPU32は、トップ画面データを管理者端末100に送信する。この結果、管理者端末100では、トップ画面SC0が表示される。トップ画面SC0は、ユーザの登録を実行するためのボタン(即ち、文字列「ユーザの登録」)と、管理者パスワードの変更を実行するためのボタン(即ち、文字列「管理者パスワードの変更」)と、を含む。
【0025】
S112では、CPU32は、トップ画面SC0において、ボタン「ユーザの登録」が選択されたのか、ボタン「管理者パスワードの変更」が選択されたのか、を判断する。CPU32は、ボタン「ユーザの登録」が選択される場合に、管理者端末100から、通信I/F16を介して、当該ボタンが選択されたことを示す情報を受信する。この場合、S120に進む。一方、CPU32は、ボタン「管理者パスワードの変更」が選択される場合に、管理者端末100から、通信I/F16を介して、当該ボタンが選択されたことを示す情報を受信する。この場合、S130に進む。
【0026】
S120では、CPU32は、ユーザ登録処理を実行する。ユーザ登録処理は、個別ユーザの情報を認証テーブル40に登録するための処理である。S120の処理が終了すると、S100に戻る。
【0027】
S130では、CPU32は、管理者パスワード変更処理を実行する。管理者パスワード変更処理は、管理者パスワードを変更するための処理である。S130の処理が終了すると、S100に戻る。
【0028】
(ユーザ登録処理;
図4)
続いて、
図4を参照して、
図3のS120のユーザ登録処理について説明する。S200では、CPU32は、通信I/F16を介して、ユーザ登録画面データを管理者端末100に送信する。この結果、管理者端末100において、ユーザ登録画面SC1が表示される。ユーザ登録画面SC1は、ユーザID及びユーザパスワードの入力を促すメッセージと、ユーザID入力領域と、ユーザパスワード入力領域と、OKボタンと、を含む。
【0029】
S202では、CPU32は、ユーザID及びユーザパスワードPUの入力を受け付ける。具体的には、CPU32は、ユーザ登録画面SC1内にユーザID及びユーザパスワードPUが入力された後に、OKボタンが選択される場合に、管理者端末100から、通信I/F16を介して、入力済みのユーザID及び入力済みのユーザパスワードPUを含む登録要求を受信する。CPU32は、当該登録要求を受信することによって、ユーザID及びユーザパスワードPUの入力を受け付ける。
【0030】
S204では、CPU32は、登録要求に含まれるユーザパスワードPUのハッシュ値puを計算する。S206では、CPU32は、登録要求に含まれるユーザIDに対応付けて、S204で計算済みのハッシュ値puをハッシュ値として認証テーブル40に記憶する。なお、現段階では、認証テーブル40において、認証情報と更新フラグは当該ユーザIDにまだ対応付けられていない。
【0031】
S208では、CPU32は、認証テーブル40から管理者認証情報paを読み出す。S210では、CPU32は、の管理者認証情報paと、S204で計算済みのハッシュ値puと、の組み合わせ(pa+pu)を計算し、当該組み合わせ(pa+pu)のハッシュ値auを計算する。そして、S212では、CPU32は、登録要求に含まれるユーザIDに対応付けて、計算済みのハッシュ値auをユーザ認証情報として認証テーブル40に記憶する。なお、現段階では、認証テーブル40において、更新フラグは当該ユーザIDにまだ対応付けられていない。S212の処理が終了すると、
図4の処理が終了する。
【0032】
(管理者パスワード変更処理;
図5)
続いて、
図5を参照して、
図3のS130の管理者パスワード変更処理について説明する。S300では、CPU32は、通信I/F16を介して、第1の選択画面データを管理者端末100に送信する。この結果、管理者端末100において、第1の選択画面SC2が表示される。第1の選択画面SC2は、管理者パスワードの変更が定期的な変更であるのか否かを問い合わせるメッセージと、YESボタンと、NOボタンと、を含む。
【0033】
S302では、CPU32は、管理者パスワードの変更が定期的な変更であるのか否かを判断する。具体的には、CPU32は、第1の選択画面SC2内のYESボタン又はNOボタンが選択される場合に、管理者端末100から、通信I/F16を介して、どちらのボタンが選択されたかを示す情報を受信する。CPU32は、YESボタンが選択されたことを示す情報を受信する場合に、定期的な変更であると判断し(S302でYES)、S308に進む。この場合、CPU32は、認証テーブル40に記憶されている全ての個別ユーザIDに対応付けて更新フラグ「YES」を記憶する。一方、CPU32は、NOボタンが選択されたことを示す情報を受信する場合に、定期的な変更でない(例えば管理者の交代に起因したパスワードの変更である)と判断し(S302でNO)、S304に進む。
【0034】
S304では、CPU32は、通信I/F16を介して、第2の選択画面データを管理者端末100に送信する。この結果、管理者端末100において、第2の選択画面SC3が表示される。第2の選択画面SC3は、ユーザパスワードの利用の継続を許容するユーザの選択を促すメッセージと、認証テーブル40に記憶されている各個別ユーザIDと、OKボタンと、を含む。
【0035】
S306では、CPU32は、ユーザパスワードの利用の継続を許容するユーザに対応する個別ユーザIDの選択を受け付ける。具体的には、CPU32は、第2の選択画面SC3内の複数の個別ユーザIDの中から個別ユーザIDが選択された後に、OKボタンが選択される場合に、管理者端末100から、通信I/F16を介して、選択済みの個別ユーザIDを含む選択ユーザ情報を受信する。CPU32は、選択ユーザ情報に含まれる各個別ユーザIDに対応付けて、更新フラグ「YES」を認証テーブル40に記憶する。また、CPU32は、選択ユーザ情報に含まれない各個別ユーザIDに対応付けて、更新フラグ「NO」を認証テーブル40に記憶する。仮に、選択ユーザ情報が1個の個別ユーザIDも含んでいない場合には、認証テーブル40内の全ての個別ユーザIDに対応付けて更新フラグ「NO」が記憶される。
【0036】
S308では、CPU32は、通信I/F16を介して、パスワード変更画面データを管理者端末100に送信する。この結果、管理者端末100において、パスワード変更画面SC4が表示される。パスワード変更画面SC4は、新たな管理者パスワードの入力を促すメッセージと、パスワード入力領域と、OKボタンと、を含む。
【0037】
S310では、CPU32は、新たな管理者パスワードPAの入力を受け付ける。具体的には、CPU32は、パスワード変更画面SC4に新たな管理者パスワードPAが入力された後に、OKボタンが選択される場合に、管理者端末100から、通信I/F16を介して、新たな管理者パスワードPAを含む変更要求を受信する。CPU32は、当該変更要求を受信することによって、新たな管理者パスワードPAの入力を受け付ける。
【0038】
S312では、CPU32は、新たな管理者パスワードのハッシュ値paを計算する。S314では、CPU32は、認証テーブル40内の管理者認証情報(
図2のS14参照)に代えて、S312で計算済みのハッシュ値paを記憶(即ち上書き)する。
【0039】
以上のS300~S314の処理が実行されることによって、管理者パスワードの変更が完了する。続いて、CPU32は、S320~S328の各処理を実行することによって、個別ユーザIDに対応するユーザ認証情報の変更を実行する。S320~S328の各処理は、認証テーブル40に記憶されている個別ユーザID毎に実行される。
【0040】
S320では、CPU32は、まず、認証テーブル40から1個の個別ユーザIDを特定する。以下では、ここで特定された個別ユーザIDのことを「対象ユーザID」と記載する。そして、CPU32は、対象ユーザIDに対応付けられている更新フラグが「YES」を示すのか「NO」を示すのかを判断する。CPU32は、更新フラグが「YES」を示す場合に、S320でYESと判断し、S322に進む。一方、CPU32は、更新フラグが「NO」を示す場合に、S320でNOと判断し、S330に進む。なお、CPU32は、S320の処理が終了すると、対象ユーザIDに対応付けられている更新フラグの値を削除(即ちブランクに設定)する。
【0041】
S322では、CPU32は、認証テーブル40から、対象ユーザIDに対応付けられているハッシュ値puを読み出す。S324では、CPU32は、認証テーブル40から管理者認証情報paを読み出す。ここで読み出される管理者認証情報paは、S310で受け付けられた新たな管理者パスワードPAに対応する管理者認証情報である(S314参照)。
【0042】
S326では、CPU32は、S324で読み出し済みの管理者認証情報paと、S322で読み出し済みのハッシュ値puと、の組み合わせ(pa+pu)を計算し、当該組み合わせ(pa+pu)のハッシュ値auを計算する。S328では、CPU32は、対象ユーザIDに対応付けられているユーザ認証情報(
図4のS212参照)に代えて、S326で計算済みのハッシュ値auを新たなユーザ認証情報として記憶(即ち上書き)する。
【0043】
S330では、CPU32は、認証テーブル40に記憶されている全てのユーザIDについてS320の処理が実行されたのか否かを判断する。CPU32は、全てのユーザIDについてS320の処理が実行されたと判断する場合(S330でYES)に、
図5の処理を終了する。一方において、CPU32は、全てのユーザIDについてS320の処理が実行されていないと判断する場合(S330でNO)に、S320に戻り、新たな個別ユーザIDを対象ユーザIDとして特定する。
【0044】
上述したように、プリンタ10は、更新フラグ「YES」が対象ユーザIDに対応付けられている場合(S320でYES)には、新たな管理者パスワードPAに対応する新たなユーザ認証情報を記憶する(S328)。このために、対象ユーザIDを有する個別ユーザは、管理者パスワードPAが変更された後に、ユーザパスワードを継続して利用することができる。一方、プリンタ10は、更新フラグ「NO」が対象ユーザIDに対応付けられている場合(S320でNO)には、新たな管理者パスワードPAに対応する新たなユーザ認証情報を記憶しない。このために、対象ユーザIDを有する個別ユーザは、管理者パスワードPAが変更された後に、ユーザパスワードを継続して利用することができない。
【0045】
また、プリンタ10の管理者は、第1の選択画面SC2を介して、管理者パスワードの変更が定期的な変更であるのか否かを選択することができる(S302)。管理者パスワードの定期的な変更が選択される場合には、通常、プリンタ10の管理者が変わらず、管理者がユーザパスワードの継続利用を望む可能性が高い。このために、管理者パスワードの定期的な変更が選択される場合(S302でYES)に、プリンタ10は、全てのユーザ認証情報を変更する。これにより、管理者は、全ての個別ユーザのユーザパスワードの継続利用を許容することができる。
【0046】
また、プリンタ10の管理者は、第2の選択画面SC3を介して、ユーザパスワードの継続利用を許容する個別ユーザを選択することができる(S306)。そして、プリンタ10は、選択済みの個別ユーザに対応するユーザ認証情報のみを変更する。これにより、管理者は、選択済みの個別ユーザのユーザパスワードのみの継続利用を許容することができる。
【0047】
(印刷処理;
図6)
続いて、
図6を参照して、プリンタ10のCPU32によって実行される印刷処理について説明する。S400では、CPU32は、端末(例えば第1端末200等)から、通信I/F16を介して、印刷要求を受信することを監視する。印刷要求は、印刷対象の画像を表わす印刷データと、ユーザIDと、を含む。以下では、印刷要求に含まれるユーザIDのことを「印刷ユーザID」と記載する。CPU32は、印刷要求を受信する場合に、S400でYESと判断し、S402に進む。
【0048】
S402では、CPU32は、印刷要求に含まれる印刷データと、印刷ユーザIDと、を対応付けてメモリ34に記憶させる。
【0049】
S404では、CPU32は、操作部12を介して、ユーザID及びユーザパスワードPUの入力の受付を監視する。CPU32は、ユーザID及びユーザパスワードPUの入力を受け付ける場合に、S404でYESと判断し、S406に進む。
【0050】
S406では、CPU32は、入力済みのユーザパスワードPUのハッシュ値puを計算する。S408では、CPU32は、認証テーブル40から管理者認証情報paを読み出す。S410では、CPU32は、管理者認証情報paと、S406で計算済みのハッシュ値puと、の組み合せ(pa+pu)を計算し、当該組み合わせ(pa+pu)のハッシュ値auを計算する。
【0051】
S412では、CPU32は、認証テーブル40から、印刷ユーザIDに対応付けられているユーザ認証情報auを読み出す。S414では、CPU32は、S410で計算済みのハッシュ値auと、S412で読み出し済みのユーザ認証情報auと、が一致するのか否かを判断する。CPU32は、両者が一致すると判断する場合、即ち、ユーザ認証が成功する場合に、S414でYESと判断し、S420に進む。一方、CPU32は、両者が一致しないと判断する場合、即ち、ユーザ認証が失敗する場合に、S414でNOと判断し、S430に進む。
【0052】
S420では、CPU32は、メモリ34において、印刷ユーザIDに対応付けて、印刷データが記憶されているのか否かを判断する。CPU32は、印刷ユーザIDに対応付けて印刷データが記憶されている場合に、S420でYESと判断し、S422に進む。一方、CPU32は、印刷ユーザIDに対応付けて印刷データが記憶されていない場合に、S420でNOと判断し、S422の処理を実行することなく、
図6の処理を終了する。
【0053】
S422では、CPU32は、印刷実行部18に印刷を実行させる。具体的には、CPU32は、印刷ユーザIDに対応付けてられている印刷データを特定する。そして、CPU32は、当該印刷データを印刷実行部18に供給することによって、当該印刷データによって表わされる画像の印刷を印刷実行部18に実行させる。S422の処理が終了すると、
図6の処理が終了する。
【0054】
S430では、CPU32は、認証テーブル40から、印刷ユーザIDに対応付けられているハッシュ値puを読み出す。そして、S432では、CPU32は、S406で計算済みのハッシュ値puと、S430で読み出し済みのハッシュ値puと、が一致するのか否かを判断する。CPU32は、両者が一致すると判断する場合に、S432でYESと判断し、S434に進む。S432でYESと判断されることは、S404において、印刷ユーザIDに対応する正しいユーザパスワードが入力されたことを意味する。一方、CPU32は、両者が一致しないと判断する場合に、S432でNOと判断し、S434を実行することなく、
図6の処理を終了する。S432でNOと判断されることは、S404において、印刷ユーザIDに対応しない誤ったユーザパスワードが入力されたことを意味する。
【0055】
S434では、CPU32は、通知画面SC5を表示部14に表示させる。通知画面SC5は、管理者パスワードが変更されたことに起因して、ユーザパスワードの利用が制限されたことを示すメッセージを含む。このために、ユーザは、通知画面SC5を見ることによって、管理者パスワードが変更されたことに起因して、パスワードの利用が制限されたことを知ることができる。
【0056】
(ケースA;
図7~
図9)
続いて、
図2~
図6の処理によって実現される具体的なケースA及びBを説明する。まず、
図7~
図9を参照して、管理者パスワードが変更されるケースAについて説明する。なお、以下の説明では、各デバイスの各CPU(例えばプリンタ10のCPU32等)が実行する処理について、理解の容易さの観点から、各CPUを主体として記載せずに、各デバイス(例えばプリンタ10等)を主体として記載する。また、以下では、プリンタ10と各端末100,200,300との間では、通信I/F16を介して、通信が実行される。以下では、特に言及しない限り、「通信I/F16を介して」という説明を省略する。
【0057】
(ユーザ登録及び印刷処理;
図7)
図7の処理が実行される前に、管理者は、管理者パスワードPA1をプリンタ10に入力して、管理者認証情報pa1を認証テーブル40に登録済みである(
図2のS14)。
【0058】
T10では、管理者端末100は、プリンタ10の管理者から、ログイン操作を受け付ける。ログイン操作は、管理者パスワードPA1の入力を含む。管理者端末100は、管理者からのログイン操作を受け付ける場合に、T12において、ログイン要求をプリンタ10に送信する。ログイン要求は、入力済みの管理者パスワードPA1を含む。
【0059】
T12では、プリンタ10は、管理者端末100からログイン要求を受信する(
図3のS100でYES)。この場合、プリンタ10は、ログイン要求に含まれる管理者パスワードPA1のハッシュ値pa1を計算し(S102)、認証テーブル40から管理者認証情報pa1を読み出す(S104)。本ケースでは、両者が一致するので(S106でYES)、プリンタ10は、T14において、トップ画面データを管理者端末100に送信する(S110)。
【0060】
管理者端末100は、T14において、プリンタ10からトップ画面データを受信すると、T16において、トップ画面SC0を表示する。管理者端末100は、T18において、管理者から、トップ画面SC0内のボタン「ユーザの登録」の選択を受け付けると、T20において、選択ボタン情報をプリンタ10に送信する。選択ボタン情報は、ボタン「ユーザの登録」が選択されたことを示す情報を含む。
【0061】
プリンタ10は、T20において、管理者端末100から選択ボタン情報を受信すると(S112で「ユーザの登録」)、T22において、ユーザ登録画面データを管理者端末100に送信する(
図4のS200)。
【0062】
管理者端末100は、T22において、プリンタ10からユーザ登録画面データを受信すると、T24において、ユーザ登録画面SC1を表示する。管理者端末100は、T26において、管理者から、ユーザ登録画面SC1内にユーザID「user_a」及びユーザパスワードPU1が入力された後に、OKボタンの選択を受け付けると、T30において、登録要求をプリンタ10に送信する。登録要求は、入力済みのユーザID「user_a」及びユーザパスワードPU1を含む。
【0063】
プリンタ10は、T30において、管理者端末100から登録要求を受信する。これにより、プリンタ10は、ユーザID「user_a」及びユーザパスワードPU1の入力を受け付ける(
図4のS202)。この場合、プリンタ10は、ユーザパスワードPU1のハッシュ値pu1を計算し(S204)、T32において、ユーザID「user_a」に対応付けてハッシュ値pu1を認証テーブル40に記憶する(S206)。また、プリンタ10は、認証テーブル40から管理者認証情報pa1を読み出し(S208)、管理者認証情報pa1とハッシュ値pu1との組み合わせ(pa1+pu1)を計算し、当該組み合わせ(pa1+pu1)のハッシュ値au11を計算する(S210)。そして、プリンタ10は、T32において、ユーザID「user_a」に対応付けてハッシュ値au11をユーザ認証情報として認証テーブル40に記憶する(S212)。この結果、プリンタ10では、認証テーブル40において、ユーザID「user_a」と、ユーザ認証情報au11と、ハッシュ値pu1と、が対応付けて記憶されることになる。
【0064】
その後、ユーザID「user_b」についてT10~T32と同様の処理が実行される。この結果、プリンタ10では、認証テーブル40において、ユーザID「user_b」と、ユーザ認証情報au12と、ハッシュ値pu2と、が対応付けて記憶されることになる。
【0065】
T40では、第1端末200は、ユーザID「user_a」に対応するユーザから、印刷指示を受け付ける。この場合、第1端末200は、T42において、印刷要求をプリンタ10に送信する。印刷要求は、印刷データと、ユーザID「user_a」と、を含む。
【0066】
プリンタ10は、T42において、第1端末200から印刷要求を受信すると(
図6のS400)、T44において、印刷要求に含まれる印刷データと、ユーザID「user_a」と、を対応付けてメモリ34に記憶させる(S402)。
【0067】
プリンタ10は、T46において、ユーザID「user_a」に対応するユーザから、ユーザID「user_a」と、ユーザパスワードPU1と、の入力を受け付ける(S404でYES)。この場合、プリンタ10は、入力済みのユーザパスワードPU1のハッシュ値pu1を計算する(S406)。また、プリンタ10は、認証テーブル40から管理者認証情報pa1を読み出し(S408)、管理者認証情報pa1と計算済みのハッシュ値pu1との組み合わせ(pa1+pu1)を計算し、当該組み合わせ(pa1+pu1)のハッシュ値au11を計算し(S410)、認証テーブル40から、ユーザID「user_a」に対応付けられているユーザ認証情報au11を読み出す(S412)。本ケースでは、計算済みのハッシュ値au11と読み出し済みのユーザ認証情報au11とが一致し(S414でYES)、かつ、ユーザID「user_a」に対応付けて印刷データが記憶済みであるので(S420でYES)、プリンタ10は、T48において、記憶済みの印刷データによって表わされる画像を印刷する(S442)。
【0068】
T50~T58の処理は、印刷要求の送信元の装置が第2端末300である点、ユーザIDが「user_b」である点、及び、ユーザパスワードがPU2である点を除くと、T40~T48の処理と同様である。
【0069】
(
図7の続き;
図8)
その後、
図7のT10~T16と同様の処理が実行され、管理者端末100においてトップ画面SC0が表示される。T118では、管理者端末100は、管理者から、トップ画面SC0内のボタン「管理者パスワードの変更」の選択を受け付けると、T120において、選択ボタン情報をプリンタ10に送信する。選択ボタン情報は、ボタン「管理者パスワードの変更」が選択されたことを示す情報を含む。
【0070】
プリンタ10は、T120において、管理者端末100から選択ボタン情報を受信すると(S112で「管理者パスワードの変更」)、T122において、第1の選択画面データを管理者端末100に送信する(
図5のS300)。
【0071】
管理者端末100は、T122において、プリンタ10から第1の選択画面データを受信すると、T124において、第1の選択画面SC2を表示する。管理者端末100は、T126において、管理者から、第1の選択画面SC2内のNOボタンの選択を受け付けると、T130において、NOボタンが選択されたことを示す選択ボタン情報をプリンタ10に送信する。
【0072】
プリンタ10は、T130において、管理者端末100から選択ボタン情報を受信すると(S302でNO)、T132において、第2の選択画面データを管理者端末100に送信する(S304)。
【0073】
管理者端末100は、T132において、プリンタ10から第2の選択画面データを受信すると、T134において、第2の選択画面SC3を表示する。管理者端末100は、T136において、管理者から、第2の選択画面SC3内のユーザID「user_a」の選択を受け付けた後に、OKボタンの選択を受け付けると、T140において、選択ユーザ情報をプリンタ10に送信する。選択ユーザ情報は、選択済みのユーザID「user_a」を含む。
【0074】
プリンタ10は、T140において、管理者端末100から選択ユーザ情報を受信すると(S306)、T142において、認証テーブル40を更新する。具体的には、プリンタ10は、選択ユーザ情報に含まれるユーザID「user_a」に対応付けて更新フラグ「YES」を記憶するとともに、選択ユーザ情報に含まれないユーザID「user_b」に対応付けて更新フラグ「NO」を記憶する。
【0075】
(
図8の続き;
図9)
その後、
図9のT150において、プリンタ10は、パスワード変更画面データを管理者端末100に送信する(
図5のS308)。
【0076】
管理者端末100は、T150において、プリンタ10からパスワード変更画面データを受信すると、T152において、パスワード変更画面SC4を表示する。管理者端末100は、T154において、管理者から、新たな管理者パスワード「PA2」の入力を受け付けた後に、OKボタンの選択を受け付けると、T160において、変更要求をプリンタ10に送信する。変更要求は、入力済みの新たな管理者パスワード「PA2」を含む。
【0077】
プリンタ10は、T160において、管理者端末100から変更要求を受信する。これにより、プリンタ10は、新たな管理者パスワードPA2の入力を受け付ける(S310)。この場合、プリンタ10は、管理者パスワードPA2のハッシュ値pa2を計算し(S312)、T162において、認証テーブル40内の管理者認証情報pa1に代えてハッシュ値pa2を記憶する(S314)。
【0078】
プリンタ10は、ユーザID「user_a」に更新フラグ「YES」が対応付けられている(
図8のT142参照)ので、ユーザID「user_a」に対応付けられているハッシュ値pu1を読み出し(S322)、管理者認証情報pa2を読み出す(S324)。そして、プリンタ10は、管理者認証情報pa2とハッシュ値pu1との組み合わせ(pa2+pu1)を計算し、当該組み合わせ(pa2+pu1)のハッシュ値au21を計算する(S326)。そして、プリンタ10は、T162において、ユーザID「user_a」に対応付けて、ユーザ認証情報au11に代えてハッシュ値au21を認証テーブル40に記憶する(S328)。
【0079】
プリンタ10は、ユーザID「user_b」に更新フラグ「NO」が対応付けられている(
図8のT142参照)ので、ユーザID「user_b」に対応するユーザ認証情報の変更を実行しない。
【0080】
T170~T174の処理は、
図7のT40~T44の処理と同様である。プリンタ10は、T176において、ユーザID「user_a」と、ユーザパスワードPU1と、の入力を受け付ける(S404でYES)。この場合、プリンタ10は、入力済みのユーザパスワードPU1のハッシュ値pu1を計算する(S406)。また、プリンタ10は、認証テーブル40から管理者認証情報pa2を読み出し(S408)、管理者認証情報pa2と、計算済みのハッシュ値pu1との組み合わせ(pa2+pu1)を計算し、当該組み合わせ(pa2+pu1)のハッシュ値au21を計算し(S410)、認証テーブル40から、ユーザID「user_a」に対応付けられているユーザ認証情報au21を読み出す(S412)。本ケースでは、計算済みのハッシュ値au21と読み出し済みのユーザ認証情報au21とが一致し(S414でYES)、かつ、ユーザID「user_a」に対応付けて印刷データが記憶済みであるので(S420でYES)、プリンタ10は、T178において、印刷データによって表わされる画像を印刷する(S442)。
【0081】
T180~T184の処理は、
図7のT50~T54の処理と同様である。プリンタ10は、T176において、ユーザID「user_b」と、ユーザパスワードPU2と、の入力を受け付ける(S404でYES)。この場合、プリンタ10は、入力済みのユーザパスワードPU2のハッシュ値pu2を計算する(S406)。また、プリンタ10は、認証テーブル40から管理者認証情報pa2を読み出し(S408)、管理者認証情報pa2と計算済みのハッシュ値pu2との組み合わせ(pa2+pu2)を計算し、当該組み合わせ(pa2+pu2)のハッシュ値au22を計算し(S410)、認証テーブル40から、ユーザID「user_b」に対応付けられているユーザ認証情報au12を読み出す(S412)。本ケースでは、計算済みのハッシュ値au22と読み出し済みのユーザ認証情報au12とが一致しない(S414でNO)ので、印刷データによって表わされる画像の印刷が実行されない。
【0082】
プリンタ10は、さらに、ユーザID「user_b」に対応付けられているハッシュ値pu2を読み出す(S430)。本ケースでは、計算済みのハッシュ値pu2と読み出し済みのハッシュ値pu2とが一致する(S432でYES)ので、プリンタ10は、T188において、通知画面SC5を表示する(S434)。
【0083】
(ケースB;
図10)
続いて、
図10を参照して、管理者パスワードが変更される別のケースであるケースBについて説明する。
図10の処理は、
図7の続きの処理である。
図10では初めに、
図7のT10~T16と同様の処理が実行される。
図10のT218~T224の処理は、
図8のT118~T124の処理と同様である。
【0084】
管理者端末100は、T226において、管理者から、第1の選択画面SC2内のYESボタンの選択を受け付けると、T230において、YESボタンが選択されたことを示す選択ボタン情報をプリンタ10に送信する。
【0085】
プリンタ10は、T230において、管理者端末100から選択ボタン情報を受信すると、(S302YES)、T232において、認証テーブル40を更新する。具体的には、プリンタ10は、認証テーブル40内の全ての個別ユーザIDに対応付けて更新フラグ「YES」を記憶する。
【0086】
その後、
図8のT150~T162と同様の処理が実行される。この結果、プリンタ10は、認証テーブル40内の管理者認証情報pa1に代えてハッシュ値pa2を記憶し、ユーザID「user_a」に対応付けて、ユーザ認証情報au11に代えてハッシュ値au21を記憶し、ユーザID「user_b」に対応付けて、ユーザ認証情報a12に代えてハッシュ値au22を記憶する。T240~T258の処理は、利用されるユーザ認証情報が異なる点を除くと、
図7のT40~T58の処理と同様である。
【0087】
(本実施例の効果)
上記の構成によると、プリンタ10は、管理者パスワードが変更される場合(
図9のT150~T160参照)に、ユーザパスワードがプリンタ10に入力されることに応じた機能の実行を制限する(
図9のT186、T188参照)。従って、プリンタ10の管理者パスワードが変更される状況において、プリンタ10のセキュリティを高めることができる。
【0088】
本実施例では、プリンタ10は、印刷の実行を要求するためにユーザパスワードPUが入力される場合に、記憶済みの管理者認証情報paと、入力済みのユーザパスワードPUのハッシュ値puと、を利用して、ユーザ認証情報を生成する。特に、ユーザ認証情報には管理者認証情報paが利用される。プリンタ10は、管理者パスワードPAが変更される場合に、管理者認証情報paを変更する。従って、管理者パスワードPAの変更前と変更後では、印刷の実行を要求するために同一のユーザパスワードPUが入力されても、生成されるユーザ認証情報が異なる。このために、管理者パスワードPAが変更された後に、印刷の実行を要求するためにユーザパスワードPUが入力される場合に、生成されるユーザ認証情報が記憶済みのユーザ認証情報のいずれにも一致しないと判断されることに起因して、印刷の実行が制限される。従って、プリンタ10の管理者パスワードが変更される状況において、プリンタ10のセキュリティを高めることができる。
【0089】
(対応関係)
プリンタ10、印刷実行部18が、それぞれ、「機能実行装置」、「機能実行部」の一例である。管理者認証情報pa1、pa2が、それぞれ、「第1の値」、「第2の値」の一例である。認証テーブル40において個別ユーザIDに対応付けられるハッシュ値が、「関連情報」の一例である。ユーザID「user_b」に対応する個別ユーザ、ユーザID「user_a」に対応する個別ユーザが、それぞれ、「第1の個別ユーザ」、「第2の個別ユーザ」の一例である。通知画面SC5が、「通知情報」の一例である。
図6のS410で計算されるハッシュ値auが、「入力ユーザ認証情報」の一例である。
【0090】
図6のS414の処理、S422の処理、S434の処理が、それぞれ、「判断部」、「機能制御部」、「出力制御部」によって実行される処理の一例である。
図4のS210の処理、S212の処理が、それぞれ、「ユーザ認証情報生成部」、「登録部」によって実行される処理の一例である。
図5のS300の処理、S304の処理が、それぞれ、「第1の表示制御部」、「第2の表示制御部」によって実行される処理の一例である。S314の処理が、「制限部」及び「管理者認証情報変更部」によって実行される処理の一例である。S322~S328の処理が、「第1(及び第2)のユーザ認証情報変更部」によって実行される処理の一例である。
【0091】
(第2実施例)
図1に示されるように、第2実施例では、通信システム2は、さらに、サーバ400を備える。以下では、第1実施例とは異なる部分を中心に説明する。
【0092】
(サーバ400の構成;
図1)
サーバ400は、認証に関する各種処理を実行する。サーバ400は、ネットワークI/F416と、制御部430と、を備える。各部416,430は、バス線(符号省略)に接続されている。
【0093】
制御部430は、CPU432とメモリ434とを備える。CPU432は、メモリ434に記憶されているプログラム436に従って、様々な処理を実行する。メモリ434は、さらに、認証テーブル40を記憶する。認証テーブル40は、第1実施例でプリンタ10が記憶していた認証テーブル40と同じである。第2実施例では、プリンタ10は、認証テーブル40を記憶しない。
【0094】
図2の処理は、処理を実行する主体がサーバ400のCPU432である点を除くと、第1実施例と同様である。具体的には、プリンタ10は、操作部12を介して、管理者パスワードPAの入力を受け付ける場合に、管理者パスワードPAを含む登録要求をサーバ400に送信する。CPU432は、S10において、当該登録要求を受信することに応じて、管理者パスワードPAの入力を受け付ける。S12及びS14の処理は第1実施例と同様である。
【0095】
図3~
図5の処理は、処理を実行する主体がサーバ400のCPU432である点を除くと、第1実施例と同様である。
【0096】
また、第2実施例では、プリンタ10とサーバ400とが協働して、
図6の処理を実行する。具体的には、プリンタ10のCPU32は、
図6のS400、S402、S420、S422、及び、S434の処理を実行する。また、サーバ400のCPU432は、S404~S414の処理、及び、S430~S432の処理を実行する。
【0097】
具体的には、プリンタ10は、操作部12を介して、ユーザID及びユーザパスワードPUの入力を受け付ける場合に、入力済みのユーザID及びユーザパスワードを含む情報をサーバ400に送信する。CPU432は、当該情報を受信する場合にS404でYESと判断して、以降の処理を実行する。
【0098】
CPU432は、S414でYESと判断する場合に、ユーザ認証が成功したことを示す情報をプリンタ10に送信する。この結果、プリンタ10では、S420及びS422の処理が実行される。一方、CPU432は、S414でNOと判断する場合に、S430及びS432の処理を実行する。そして、CPU432は、S432でYESと判断する場合に、通知画面SC5を表わす通知画面データをプリンタ10に送信する。この結果、プリンタ10では、S434において、通知画面SC5が表示される。一方、CPU432は、S432でNOと判断する場合に、ユーザ認証が失敗したことを示す情報をプリンタ10に送信する。
【0099】
(本実施例の効果)
上記の構成によると、プリンタ10及びサーバ400を備える通信システム2は、管理者パスワードが変更される場合(
図9のT150~T160参照)に、ユーザパスワードがプリンタ10に入力されることに応じた機能の実行を制限する(
図9のT186、T188参照)。従って、プリンタ10の管理者パスワードが変更される状況において、プリンタ10のセキュリティを高めることができる。本実施例では、通信システム2が、「機能実行システム」の一例である。また、サーバ400が、「外部装置」の一例である。
【0100】
以上、本明細書が開示する技術の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0101】
(変形例1)プリンタ10は、印刷機能に加えて、スキャン機能、ファクシミリ機能等を実行可能な多機能機であってもよい。本変形例では、スキャン機能及びファクシミリ機能が、「機能」の一例である。
【0102】
(変形例2)管理者認証情報は、管理者パスワードのハッシュ値でなくてもよく、例えば、管理者IDと管理者パスワードとの組み合わせのハッシュ値であってもよい。また、別の変形例では、管理者認証情報は、管理者パスワードそのものであってもよい。同様に、ユーザ認証情報は、管理者認証情報とユーザパスワードのハッシュ値の組み合せのハッシュ値でなくてもよく、例えば、管理者パスワードとユーザパスワードの組合せのハッシュ値でもよい。また、別の変形例では、ユーザ認証情報は、管理者パスワードとユーザパスワードの組み合わせであってもよい。一般的に言うと、「管理者認証情報」及び「ユーザ認証情報」は、上記の実施例の形態に限定されない。また、「ユーザ認証情報生成部」によって実行される処理は、上記の実施例の形態に限定されない。
【0103】
(変形例3)プリンタ10は、管理者パスワードが変更される場合に、個別ユーザに対応するユーザ認証情報を削除してもよい。本変形例では、管理者パスワードが変更される場合に、ユーザ認証情報を削除する処理が、「制限部」によって実行される処理の一例である。また、本変形例では、「管理者認証情報変更部」を省略可能である。また、別の変形例では、プリンタ10は、管理者パスワードが変更された後に、印刷の実行を要求するためにユーザパスワードが入力される場合に、ワンタイムパスワードの入力を促す画面を表示してもよい。この場合、プリンタ10のユーザは、プリンタ10の管理者にワンタイムパスワードを要求し、当該ワンタイムパスワードがプリンタ10に入力される場合に、プリンタ10は機能を実行してもよい。本変形例では、ワンタイムパスワードの入力を促す画面を表示することが、「機能の実行を制限する」ことの一例である。
【0104】
(変形例4)プリンタ10は、第1の選択画面データを管理者端末100に送信しなくてもよい。本変形例では、
図4のS300及びS302の処理を省略可能である。一般的に言うと、「第1の表示制御部」及び「第1のユーザ認証情報変更部」を省略可能である。また、別の変形例では、プリンタ10は、S310の処理が実行された後に、S300及びS302の処理を実行してもよい。一般的に言うと、「第1の表示制御部」によって実行される処理のタイミングは、上記の実施例の形態に限定されない。
【0105】
(変形例5)プリンタ10は、第2の選択画面データを管理者端末100に送信しなくてもよい。本変形例では、
図4のS304及びS306の処理を省略可能である。一般的に言うと、「第2の表示制御部」及び「第2のユーザ認証情報変更部」を省略可能である。また、別の変形例では、プリンタ10は、S310の処理が実行された後に、S304及びS306の処理を実行してもよい。一般的に言うと、「第2の表示制御部」によって実行される処理のタイミングは、上記の実施例の形態に限定されない。
【0106】
(変形例6)プリンタ10は、S300において第1の選択画面データを管理者端末100に送信することに代えて、第1の選択画面SC2をプリンタ10の表示部に表示してもよい。本変形例では、第1の選択画面SC2をプリンタ10の表示部に表示することが、「第1の表示制御部」によって実行される処理の一例である。同様に、プリンタ10は、S304において第2の選択画面データを管理者端末100に送信することに代えて、第2の選択画面SC3をプリンタ10の表示部に表示してもよい。本変形例では、第2の選択画面SC3をプリンタ10の表示部に表示することが、「第2の表示制御部」によって実行される処理の一例である。
【0107】
(変形例7)プリンタ10は、
図6のS434の処理を省略可能である。一般的に言うと、「出力制御部」を省略可能である。
【0108】
(変形例8)認証テーブル40は、例えば、プリンタ10及びサーバ400の双方と異なるプリンタのメモリに記憶されていてもよい。本変形例では、プリンタ10及びサーバ400の双方と異なるプリンタが、「外部装置」の一例である。
【0109】
(変形例9)上記の各実施例では、
図2~
図10の各処理がソフトウェア(例えばプログラム36)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
【0110】
本明細書または図面に説明した技術要素は、単独で、あるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0111】
2:通信システム、10:プリンタ、12:操作部、14:表示部、16:通信I/F、18:印刷実行部、30,430:制御部、32,432:CPU、34,434:メモリ、36,436:プログラム、40:認証テーブル、100:管理者端末、200:第1端末、300:第2端末、400:サーバ