IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

特開2024-172818スキャナ、スキャナのためのコンピュータプログラム、及び、スキャナの制御方法
<>
  • 特開-スキャナ、スキャナのためのコンピュータプログラム、及び、スキャナの制御方法 図1
  • 特開-スキャナ、スキャナのためのコンピュータプログラム、及び、スキャナの制御方法 図2
  • 特開-スキャナ、スキャナのためのコンピュータプログラム、及び、スキャナの制御方法 図3
  • 特開-スキャナ、スキャナのためのコンピュータプログラム、及び、スキャナの制御方法 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024172818
(43)【公開日】2024-12-12
(54)【発明の名称】スキャナ、スキャナのためのコンピュータプログラム、及び、スキャナの制御方法
(51)【国際特許分類】
   H04N 1/00 20060101AFI20241205BHJP
   H04L 69/326 20220101ALI20241205BHJP
   H04L 12/66 20060101ALI20241205BHJP
   H04L 12/22 20060101ALI20241205BHJP
【FI】
H04N1/00 127B
H04N1/00 L
H04L69/326
H04L12/66
H04L12/22
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023090810
(22)【出願日】2023-06-01
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】柳 哲
【テーマコード(参考)】
5C062
5K030
【Fターム(参考)】
5C062AA05
5C062AB20
5C062AB38
5C062AB42
5C062AB53
5C062AC02
5C062AC22
5C062AC38
5C062AC40
5C062AF02
5C062AF14
5K030GA15
5K030HC14
(57)【要約】
【課題】スキャナに対するサイバー攻撃に対処するための技術を提供する。
【解決手段】スキャナは、スキャン実行部と、所定の条件が満たされる場合に、以前のポート番号とは異なる他のポート番号の利用を決定するポート決定部であって、前記ポート番号は、前記スキャン実行部へのスキャン指示において指定されるべきポートの番号である、前記ポート決定部と、決定された前記他のポート番号を特定するための特定情報を端末装置に送信する情報送信部と、前記端末装置から、前記特定情報によって特定される前記他のポート番号を指定した前記スキャン指示を受信する指示受信部と、前記スキャン指示に従ったスキャンを前記スキャン実行部に実行させて、スキャンデータを生成する生成部と、前記スキャンデータを前記端末装置に送信するデータ送信部と、を備える。
【選択図】図3
【特許請求の範囲】
【請求項1】
スキャナであって、
スキャン実行部と、
所定の条件が満たされる場合に、以前のポート番号とは異なる他のポート番号の利用を決定するポート決定部であって、前記他のポート番号は、前記スキャン実行部へのスキャン指示において指定されるべきポートの番号である、前記ポート決定部と、
決定された前記他のポート番号を特定するための特定情報を端末装置に送信する情報送信部と、
前記端末装置から、前記特定情報によって特定される前記他のポート番号を指定した前記スキャン指示を受信する指示受信部と、
前記スキャン指示に従ったスキャンを前記スキャン実行部に実行させて、スキャンデータを生成する生成部と、
前記スキャンデータを前記端末装置に送信するデータ送信部と、
を備える、スキャナ。
【請求項2】
前記所定の条件は、前記スキャナの操作部に対する所定の第1の操作が実行されることであり、
前記情報送信部は、前記第1の操作が前記スキャナに実行される場合に、前記スキャン指示の送信を前記端末装置に要求する指示要求であって、前記特定情報を含む前記指示要求を前記端末装置に送信する、請求項1に記載のスキャナ。
【請求項3】
前記スキャンは、第1種のスキャンと、第2種のスキャンと、のいずれかであり、
前記第1種のスキャンは、前記スキャナの前記操作部に対する前記第1の操作をトリガとして実行され、
前記第2種のスキャンは、前記端末装置の操作部に対する所定の第2の操作をトリガとして実行され、
前記スキャナは、さらに、前記第2種のスキャンの実行を許可しない第1の値と、前記第2種のスキャンの実行を許可する第2の値と、のうちのいずれかの値を示す設定値を記憶する第1のメモリを備え、
前記情報送信部は、
前記設定値が前記第1の値を示す場合に、前記特定情報を含む前記指示要求を前記端末装置に送信し、
前記設定値が前記第2の値を示す場合に、前記特定情報を含まない前記指示要求を前記端末装置に送信し、
前記指示受信部は、
前記設定値が前記第1の値を示す場合に、前記端末装置から、前記特定情報によって特定される前記他のポート番号を指定した前記スキャン指示を受信し、
前記設定値が前記第2の値を示す場合に、前記端末装置から、所定のポート番号を指定した前記スキャン指示を受信する、請求項2に記載のスキャナ。
【請求項4】
前記スキャナは、さらに、
前記スキャンデータを前記端末装置に送信することに応じて、前記特定情報によって特定される前記他のポート番号を無効化する無効化部を備える、請求項2に記載のスキャナ。
【請求項5】
前記所定の条件は、所定の周期が到来することである、請求項1に記載のスキャナ。
【請求項6】
前記スキャナは、さらに、前記スキャナと通信可能な端末装置のリストである端末リストを記憶する第2のメモリを備え、
前記情報送信部は、前記所定の周期が到来する場合に、前記特定情報を前記端末リストによって示される複数個の前記端末装置のそれぞれに送信する、請求項5に記載のスキャナ。
【請求項7】
前記スキャンは、第1種のスキャンと、第2種のスキャンと、のいずれかであり、
前記第1種のスキャンは、前記スキャナの操作部に対する所定の第1の操作をトリガとして実行され、
前記第2種のスキャンは、前記端末装置の操作部に対する所定の第2の操作をトリガとして実行され、
前記スキャナは、さらに、
前記第1の操作が前記スキャナに実行される場合に、前記スキャン指示の送信を前記端末装置に要求する指示要求を前記端末装置に送信する要求送信部を備え、
前記指示受信部は、前記指示要求に対する応答として、前記スキャナから前記特定情報によって特定される前記他のポート番号を指定した前記スキャン指示を受信し、
前記指示受信部は、さらに、前記第2の操作が前記端末装置に実行される場合に、前記スキャナから前記特定情報によって特定される前記他のポート番号を指定した前記スキャン指示を受信する、請求項5に記載のスキャナ。
【請求項8】
前記所定の条件は、前記以前のポート番号の利用が決定されてから第1の期間が経過することであり、
前記スキャナは、さらに、
前記他のポート番号の利用が決定された後に、前記他のポート番号の利用が決定されてから次のポート番号の利用が決定されるまでの第2の期間であって、前記第1の期間と異なる前記第2の期間を決定する期間決定部を備える、請求項1に記載のスキャナ。
【請求項9】
前記スキャナは、さらに、
前記他のポート番号の利用が決定される場合に、前記スキャナの所定の設定値を前記以前のポート番号から前記他のポート番号に変更する変更部を備える、請求項5から8のいずれか一項に記載のスキャナ。
【請求項10】
前記所定の条件が満たされる場合に決定されるポート番号は、ダイナミック/プライベートポートの範囲内である、請求項1から8のいずれか一項に記載のスキャナ。
【請求項11】
スキャナのためのコンピュータプログラムであって、
前記スキャナは、
スキャン実行部と、
コンピュータと、
を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
所定の条件が満たされる場合に、以前のポート番号とは異なる他のポート番号の利用を決定するポート決定部であって、前記他のポート番号は、前記スキャン実行部へのスキャン指示において指定されるべきポートの番号である、前記ポート決定部と、
決定された前記他のポート番号を特定するための特定情報を端末装置に送信する情報送信部と、
前記端末装置から、前記特定情報によって特定される前記他のポート番号を指定した前記スキャン指示を受信する指示受信部と、
前記スキャン指示に従ったスキャンを前記スキャン実行部に実行させて、スキャンデータを生成する生成部と、
前記スキャンデータを前記端末装置に送信するデータ送信部と、
として機能させる、コンピュータプログラム。
【請求項12】
スキャナの制御方法であって、
前記スキャナは、スキャン実行部を備え、
前記制御方法は、
所定の条件が満たされる場合に、以前のポート番号とは異なる他のポート番号の利用を決定するポート決定工程であって、前記他のポート番号は、前記スキャン実行部へのスキャン指示において指定されるべきポートの番号である、前記ポート決定工程と、
決定された前記他のポート番号を特定するための特定情報を端末装置に送信する情報送信工程と、
前記端末装置から、前記特定情報によって特定される前記他のポート番号を指定した前記スキャン指示を受信する指示受信工程と、
前記スキャン指示に従ったスキャンを前記スキャン実行部に実行させて、スキャンデータを生成する生成工程と、
前記スキャンデータを前記端末装置に送信するデータ送信工程と、
を備える、制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、スキャナに関する。
【背景技術】
【0002】
特許文献1には、スキャンを実行可能なMFPが開示されている。MFPは、スマートフォンからスキャン命令を受信すると、当該スキャン命令に従ったスキャンを実行する。そして、MFPは、当該スキャンにより生成されたファイルをスマートフォンに送信する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020―021193号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
スキャン命令で指定されるポート番号が悪意を有する第三者に知られると、MFPが当該ポート番号を指定したサイバー攻撃(例えば、悪意を有する第三者が、スキャンデータを盗む目的で、スキャン命令をMFPに送信する攻撃、Denial of Servic(Dos)攻撃)に晒され得る。本明細書では、スキャナに対するサイバー攻撃に対処するための技術を提供する。
【課題を解決するための手段】
【0005】
本明細書が開示するスキャナは、スキャン実行部と、所定の条件が満たされる場合に、以前のポート番号とは異なる他のポート番号の利用を決定するポート決定部であって、前記他のポート番号は、前記スキャン実行部へのスキャン指示において指定されるべきポートの番号である、前記ポート決定部と、決定された前記他のポート番号を特定するための特定情報を端末装置に送信する情報送信部と、前記端末装置から、前記特定情報によって特定される前記他のポート番号を指定した前記スキャン指示を受信する指示受信部と、前記スキャン指示に従ったスキャンを前記スキャン実行部に実行させて、スキャンデータを生成する生成部と、前記スキャンデータを前記端末装置に送信するデータ送信部と、を備える。
【0006】
上記の構成によれば、スキャン指示によって指定されるポート番号は、所定の条件が満たされる場合に変更される。古いポート番号が第三者に知られても、第三者が新しいポート番号を知らなければ、スキャナは第三者からのサイバー攻撃に晒されない。スキャナに対するサイバー攻撃に対処することができる。
【0007】
上記のスキャナを実現するためのコンピュータプログラム、当該コンピュータプログラムを記憶するコンピュータ可読記憶媒体も新規で有用である。また、上記のスキャナの制御方法も新規で有用である。
【図面の簡単な説明】
【0008】
図1図1は、通信システムの構成を示すブロック図である。
図2図2は、プルスキャンとプッシュスキャンの概要を示すシーケンス図である。
図3図3は、プッシュスキャンの具体的なケースを示すシーケンス図である。
図4図4は、プルスキャン及びプッシュスキャンの具体的なケースを示すシーケンス図である。
【発明を実施するための形態】
【0009】
(第1実施例)
(通信システム2の構成;図1
通信システム2は、スキャナ10と、複数個の端末装置100、200、300と、を備える。スキャナ10は、LAN4を介して、各端末装置100、200、300と通信可能である。LAN4は、無線又は有線である。各端末装置100、200、300は、デスクトップPC、ラップトップPC、スマートフォン、タブレット端末等である。各端末装置100、200、300には、スキャナ10を制御するためのスキャンプログラムがインストールされている。スキャンプログラムは、例えば、スキャナ10のベンダによって提供される。
【0010】
(スキャナ10の構成;図1
スキャナ10は、原稿の読取機能(即ちスキャン機能)を実行可能な周辺装置(例えば端末装置100の周辺装置)である。なお、変形例では、スキャナ10は、スキャン機能に加えて、印刷機能及びFAX機能等の多機能を有する多機能機であってもよい。
【0011】
スキャナ10は、スキャン実行部12と、操作部14と、LANインターフェイス16と、制御部30と、を備える。なお、以下では、「インターフェイス」を「I/F」と記載する。
【0012】
スキャン実行部12は、原稿を読み取るために、Charge-Coupled Device(CCD)、Contact Image Sensor(CIS)等のイメージセンサを含む。操作部14は、複数のキーを備える。ユーザは、操作部14を操作することによって、様々な指示をスキャナ10に入力することができる。操作部14は、例えば、タッチスクリーンであってもよい。LANI/F16は、LAN4を介した通信を実行するためのI/Fであり、LAN4に接続されている。
【0013】
制御部30は、CPU32と、不揮発性メモリ34と、揮発性メモリ36と、を備える。不揮発性メモリ34は、例えば、Hard Disk Drive(HDD)、Read Only Memory(ROM)、Solid State Drive(SSD)、フラッシュメモリである。揮発性メモリ36は、例えば、Random Access Memory(RAM)である。
【0014】
不揮発性メモリ34は、プログラム40と、プル設定44と、を記憶する。CPU32は、プログラム40に従って、様々な処理を実行する。プログラム40は、複数個のプログラムを含み、例えば、スキャン実行部12にスキャンを実行させるためのスキャン実行プログラムを含む。また、プログラム40は、ポート番号のリストであるポートリスト46を含む。ポートリスト46に含まれる各ポート番号は、ダイナミック/プライベートポートの範囲(例えば、49152~65535)内である。なお、変形例では、ポートリスト46は、スキャナ10の不揮発性メモリ34に限らず、例えば、スキャナ10と通信可能な外部のメモリに記憶されていてもよい。
【0015】
プル設定44は、プルスキャンの実行を許可することを示す値「ON」と、プッシュスキャンの実行を許可しないことを示す値「OFF」と、のうちのいずれかの値に設定される。プルスキャンの説明は、図2を参照して後述する。
【0016】
スキャナ10に電力が投入されている間、揮発性メモリ36には、様々な情報が記憶される。揮発性メモリ36は、例えば、端末リスト42と、ポート設定値48と、を記憶する。端末リスト42は、スキャナ10と現在通信可能な端末装置を識別する識別情報のリストである。識別情報は、例えば、端末装置のIPアドレスである。端末リスト42に登録されるべき識別情報は、端末装置のスキャンプログラムが起動する毎に端末装置からスキャナ10に送信される。また、端末装置のスキャンプログラムの起動後でスキャンプログラムが停止するまで、スキャナ10と端末装置との間でキープアライブ信号の通信が繰り返される。キープアライブ信号の通信を繰り返し実行している特定の端末装置(例えば端末装置100)の識別情報は、端末リスト42内に維持される。一方、特定の端末装置とのキープアライブ信号の通信が終了する場合、端末リスト42から特定の端末装置の識別情報が削除される。
【0017】
ポート設定値48は、端末装置(例えば端末装置100)によって送信されるスキャン指示において指定されるべきポート番号である。スキャン指示は、スキャン実行部12にスキャンを実行させるための指示である。ポート設定値48は、プログラム40内のスキャン実行プログラムを呼び出すためのポート番号である。
【0018】
(プルスキャンとプッシュスキャンの概要;図2
スキャナ10は、スキャンをスキャン実行部12に実行させる処理として、プルスキャンと、プッシュスキャンと、を実行可能である。プルスキャンは、端末装置100の操作部(図示省略、例えばキーボード)に対する所定の操作をトリガとして実行されるスキャンである。プッシュスキャンは、スキャナ10の操作部14に対する所定の操作をトリガとして実行されるスキャンである。
【0019】
以下では、理解の容易化のために、スキャナ10のCPU32が実行する動作を、各CPU32を主体として記載せずに、スキャナ10を主体として記載する。また、スキャナ10と端末装置との間の通信は、特に断らない限り、LAN4及びLANI/F16を介して実行される。従って、スキャナ10と端末装置との間の通信を説明する際に、「LAN4を介して」及び「LANI/F16を介して」という記載を省略する。
【0020】
プルスキャンの概要は、以下の通りである。ユーザは、T2において、端末装置100の操作部(図示省略)に対して、プルスキャンの実行を指示するプル実行指示を入力する。端末装置100は、T2において、プル実行指示の入力を検知すると、T4において、スキャン指示をスキャナ10に送信する。スキャン指示には、ポート設定値48と一致するポート番号が指定されている。スキャナ10は、T4において、端末装置100からスキャン指示を受信すると、スキャン指示において指定されているポート番号に対応するスキャン実行プログラムを呼び出す。スキャナ10は、T6において、スキャン実行プログラムを利用して、スキャン指示に従ったスキャンをスキャン実行部12に実行させる。そして、スキャナ10は、T6のスキャンによって生成されたスキャンデータを端末装置100に送信する。
【0021】
また、プッシュスキャンの概要は、以下の通りである。ユーザは、T10において、操作部14に対して、プッシュスキャンの実行を指示するプッシュ実行指示を入力する。プッシュ実行指示は、端末リスト42によって示される複数個の端末装置からスキャンデータを送信すべき端末装置100を選択することを含む。スキャナ10は、T10において、プッシュ実行指示の入力を検知すると、T12において、スキャン指示の送信を要求する指示要求を端末装置100に送信する。端末装置100は、T12において、スキャナ10から指示要求を受信すると、T14において、指示要求に従って、スキャン指示をスキャナ10に送信する。T16、T18は、T6、T8と同様である。
【0022】
ここで、プルスキャンにおけるT4のスキャン指示と、プッシュスキャンにおけるT14のスキャン指示は、同じフォーマットで記述されたコマンドである。プルスキャンとプッシュスキャンで共通のスキャン指示を利用することにより、プルスキャンとプッシュスキャンで共通のスキャン実行プログラムを利用することができる。
【0023】
(具体的なケース;図3
図3を参照して、プッシュスキャンの詳細なケースについて説明する。T30は、図2のT10と同様である。T32では、スキャナ10は、プル設定44が「OFF」を示すのか否かを判断する。スキャナ10は、プル設定44が「OFF」を示すと判断する場合(T32でYES)に、T34の処理を実行する。
【0024】
T34では、スキャナ10は、ポートリスト46から1個のポート番号をランダムに選択する。本ケースでは、ポート番号PN1が選択される。T36では、スキャナ10は、T34で選択したポート番号PN1をポート設定値48として揮発性メモリ36に記憶する。そして、スキャナ10は、ポート番号PN1であるポート設定値48に対応付けてスキャン実行プログラムを起動する。これにより、スキャン実行プログラムは、ポート番号PN1が指定されたスキャン指示によって呼び出されるが、ポート番号PN1とは異なるポート番号が指定されたスキャン指示によって呼び出されない。なお、変形例では、スキャナ10は、T34において、ダイナミック/プライベートポート番号の範囲内において1個のポート番号をランダムに生成してもよい。そして、スキャナ10は、T36において、生成したポート番号をポート設定値48として揮発性メモリ36に記憶してもよい。本変形例では、スキャナ10は、ポートリスト46を記憶していなくてもよい。
【0025】
T42では、スキャナ10は、T34で選択されたポート番号PN1を含む指示要求を端末装置100に送信する。これにより、端末装置100は、現在のポート設定値48がポート番号PN1であることを知ることができる。
【0026】
T44では、スキャナ10は、T42の指示要求に対する応答として、端末装置100からポート番号PN1が指定されたスキャン指示を受信する。本ケースでは、T44のスキャン指示において指定されているポート番号PN1が、ポート設定値48に現在設定されているポート番号と一致する。このため、スキャナ10は、ポート設定値48に対応するスキャン実行プログラムを呼び出す。T46、T48は、図2のT6、T8と同様である。
【0027】
続くT50では、スキャナ10は、ポート設定値48を無効化する。具体的には、スキャナ10は、T36で起動したスキャン実行プログラムを停止する。スキャン実行プログラムが停止することにより、ポート設定値48は揮発性メモリ36から削除される。ポート設定値48が揮発性メモリ36から削除されることにより、ポート設定値48が無効化される。なお、T48のスキャンデータの送信からT50のポート設定値48の無効化までの期間において、スキャナ10と端末装置100との間で所定の通信が実行される。所定の通信は、例えば、スキャンデータの受信が完了したことを示す通知の送信を含む。
【0028】
また、スキャナ10は、プル設定44が「ON」を示すと判断する場合(T32でNO)に、T52の処理を実行する。T52は、所定のポート番号PN0がポート設定値48として揮発性メモリ36に記憶される点を除いて、T36と同様である。所定のポート番号PN0は、スキャナ10のベンダによって予め決められており、端末装置100のスキャンプログラムに予め記述されている。T52が終了すると、スキャナ10は、図2のT12~T18の処理を実行する。ここで、T12の指示要求は、ポート番号PN0を含まず、T14のスキャン指示には、ポート番号PN0が指定されている。ポート番号PN0は、端末装置100のスキャンプログラムに予め記述されているからである。なお、本実施例において、プッシュスキャンでは、可変のポート番号が利用され得るが、プルスキャンでは、可変のポート番号が利用されず、所定のポート番号PN0が利用される。
【0029】
(本実施例の効果)
例えば、ポート設定値48が悪意を有する第三者に知られると、スキャナ10がポート設定値48によって示されるポート番号を指定したサイバー攻撃(例えば、悪意を有する第三者が、スキャンデータを盗む目的で、スキャン指示をスキャナ10に送信する攻撃、Denial of Servic(Dos)攻撃)に晒され得る。
【0030】
本実施例の構成によれば、ポート設定値48は、プッシュ実行指示が操作部14に入力される毎に、ポートリスト46からランダムに選択される。スキャナ10は、図3のT34の処理がプッシュ実行指示に従って実行される毎に、以前のT34で選択されたポート番号とは異なるポート番号をポート設定値48として記憶する。スキャン指示によって指定されるポート番号が、プッシュ実行指示の実行の毎に変更される。古いポート番号が第三者に知られても、第三者が新しいポート番号を知らなければ、スキャナ10は第三者からのサイバー攻撃に晒されない。スキャナ10に対するサイバー攻撃に対処することができる。
【0031】
また、例えば、T34で選択されたポート番号PN1を指示要求とは異なる信号で端末装置100に送信する比較例が想定される。この比較例では、指示要求とは異なる信号を通信するプログラムをスキャナ10のプログラム40及び端末装置100のスキャンプログラムの双方に追加する必要がある。これに対して、本実施例の構成によれば、既存の指示要求を利用してポート番号PN1を端末装置100に送信することができる。指示要求とは異なる信号を通信するプログラムをスキャナ10のプログラム40及び端末装置100のスキャンプログラムの双方に追加しなくてもよい。
【0032】
また、例えば、T32の判断が実行されず、プル設定44が「ON」を示す場合でも、T34~T50の処理を実行する比較例が想定される。この比較例では、プッシュ実行指示が入力されない限りポート設定値48が揮発性メモリ36に記憶されない。即ち、プルスキャンの実行のために、プッシュスキャンを予め実行する必要がある。特に、スキャナ10が複数個の端末装置100~300と通信可能な状況において、端末装置100においてプッシュスキャンが実行され、端末装置200においてプッシュスキャンが実行されない可能性がある。この場合には、端末装置100は、現在のポート設定値48を知り得るが、端末装置200は現在のポート設定値48を知り得ない。ユーザが不便に感じ得る。これに対して、本実施例では、プル設定44が「OFF」を示す場合にポート設定値48がポートリスト46から選択され、プル設定44が「ON」を示す場合にポート設定値48が所定のポート番号PN0に決定される。プルスキャンの実行が許可されていない状況では、ポート設定値48を変更して、サイバー攻撃への対処を優先することができる。一方、プルスキャンの実行が許可されている状況では、所定のポート番号PN0を利用して、ユーザの利便性を優先することができる。
【0033】
また、本実施例では、スキャンデータを送信する毎にポート設定値48が無効化される。スキャンデータを送信してから次にプッシュ実行指示が入力されるまで期間、ポート番号が無効化される。当該期間においても、スキャナ10に対するサイバー攻撃に対処することができる。
【0034】
(対応関係)
スキャナ10、端末装置100が、それぞれ、「スキャナ」、「端末装置」の一例である。スキャン実行部12、プル設定44が、それぞれ、「スキャン実行部」、「設定値」の一例である。不揮発性メモリ34が、「第1のメモリ」の一例である。ポート番号PN1が、「特定情報」の一例である。図3のT30のプッシュ実行指示、図2のT2のプル実行指示が、それぞれ、「第1の操作」、「第2の操作」の一例である。プッシュスキャン、プルスキャンが、それぞれ、「第1種のスキャン」、「第2種のスキャン」の一例である。
【0035】
図3のT34、T42、T44が、それぞれ、「ポート決定部」、「情報送信部」、「指示受信部」によって実行される処理の一例である。T46、T48が、それぞれ、「生成部」、「データ送信部」によって実行される処理の一例である。
【0036】
(第2実施例)
本実施例では、プッシュスキャンに加えて、プルスキャンでも可変のポート番号が利用される。本実施例では、スキャナ10は、所定の周期が到来するタイミングでポートリスト46から1個のポート番号を選択する。ここで、所定の周期は、例えば、1時間である。なお、本実施例は、スキャナ10が実行する処理の内容が異なる点を除いて、第1実施例と同様である。
【0037】
(具体的なケース;図4
T60では、スキャナ10は、現在日時が、ポート番号を選択するタイミングである選択タイミングであると判断する。選択タイミングは、所定の周期が到来したタイミングである。例えば、所定の周期を示す期間が不揮発性メモリ34に記憶されており、T60の判断が前回実行された日時である前回の日時が揮発性メモリ36に記憶されている。そして、スキャナ10は、前回の日時から現在日時までの期間が不揮発性メモリ34内の期間と一致する場合に、現在日時が選択タイミングであると判断する。
【0038】
T64、T66は、図3のT34、T36と同様である。現時点では、2個の端末装置100、200がスキャナ10と通信可能であり、端末リスト42には、2個の端末装置100、200の各識別情報が含まれており、端末装置300の識別情報は含まれない。T68では、スキャナ10は、端末リスト42によって示される2個の識別情報をポート番号PN1の送信先として決定する。T70では、スキャナ10は、端末リスト42によって示される2個の識別情報によって識別される端末装置100、200のそれぞれに、ポート番号PN1を含むポート通知を送信する。これにより、スキャナ10と通信可能な2個の端末装置100、200は、現在のポート設定値48を知ることができる。
【0039】
本ケースでは、T60の選択タイミングから所定の周期が経過する前のT80において、ユーザは、スキャンプログラムを起動するための起動指示を端末装置300に入力する。これにより、端末装置300は、スキャンプログラムを起動して、T82において、リスト登録指示をスキャナ10に送信する。リスト登録指示は、端末装置300の識別情報を端末リスト42に登録する指示であり、端末装置300の識別情報を含む。
【0040】
スキャナ10は、T82において、端末装置300からリスト登録指示を受信すると、T84において、端末装置300の識別情報を端末リスト42に登録する。
【0041】
T86では、スキャナ10は、端末装置300の識別情報の端末リスト42への登録が完了したことを示す登録完了通知を端末装置300に送信する。登録完了通知は、現在のポート設定値48であるポート番号PN1を含む。これにより、端末装置300は、現在のポート設定値48を知ることができる。
【0042】
T100では、スキャナ10は、T60の選択タイミングから所定の周期が経過したことに起因して、現在日時が選択タイミングである判断する。T104、T106は、ポート番号PN1と異なるポート番号PN2が選択される点を除いて、T64、T66と同様である。T108、T110は、端末リスト42によって示される3個の識別情報がポート番号PN2の送信先として決定される点と、ポート番号PN2が3個の端末装置100~300に送信される点と、を除いて、T68、T70と同様である。このような構成によれば、ポート設定値48が所定の周期が到来する毎に変更される。ポート設定値48を周期的に変更することにより、古いポート番号を無効化することができる。
【0043】
本ケースにおけるプルスキャンの具体例を示す。T122は、図2のT2と同様である。T124では、端末装置100は、T110で受信したポート番号PN2を指定したスキャン指示をスキャナ10に送信する。T126、T128は、T6、T8と同様である。
【0044】
本ケースにおけるプッシュスキャンの具体例を示す。T140は、図3のT30と同様である。T142は、指示要求がポート番号を何ら含まない点を除いて、図3のT42と同様である。T144~T148は、T124~T148と同様である。
【0045】
(本実施例の効果)
本実施例の構成でも、第1実施例と同様に、スキャン指示によって指定されるポート番号が変更され、スキャナ10に対するサイバー攻撃に対処することができる。また、本実施例では、所定の周期が到来する毎に、ポート設定値48が変更され、端末リスト42によって示される複数個の端末装置にポート設定値48が通知される。即ち、プッシュスキャンの実行の有無に関わらず、スキャナ10と通信可能な複数個の端末装置は、現在のポート設定値48を知ることができる。本実施例では、プッシュスキャンとプルスキャンの双方で可変のポート番号を利用することができる。
【0046】
(対応関係)
端末リスト42、揮発性メモリ36が、それぞれ、「端末リスト」、「第2のメモリ」の一例である。端末装置100~300が、「複数個の前記端末装置」の一例である。ポート設定値48が、「所定の設定値」の一例である。
【0047】
図4のT64及びT104が、「ポート決定部」によって実現される処理の一例である。T70、T86、及び、T110が、「情報送信部」によって実現される処理の一例である。所定の周期が到来すること、及び、T82においてリスト登録指示を受信することが、「所定の条件」の一例である。プルスキャンにおいて、T124、T126、T128が、それぞれ、「指示受信部」、「生成部」、「データ送信部」によって実現される処理の一例である。プッシュスキャンにおいて、T144、T146、T148が、ぞれぞれ、「指示受信部」、「生成部」、「データ送信部」によって実現される処理の一例である。
【0048】
(第3実施例)
第2実施例では、所定の周期が到来する毎にポート設定値48が変更される。これに対して、本実施例では、ポート設定値48がランダムなタイミングで変更される。具体的には、スキャナ10は、T66において、ポート番号PN1をポート設定値48として記憶すると、ポート番号PN1が選択されてから次のポート番号PN2が選択されるまでの期間をランダムに決定する。当該期間は、ポート番号PN1の直前に利用されたポート番号が選択されてからポート番号PN1が選択されるまでの期間とは異なる期間である。即ち、ポート設定値48が変更されるタイミングがランダムに決定される。このような構成によれば、ポート番号が第三者に知られることを抑制するだけでなく、ポート番号を変更するタイミングが第三者によって推測されることも抑制することができる。スキャナ10が第三者からのサイバー攻撃に晒される危険性をさらに低減することができる。
【0049】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0050】
(変形例1) 各実施例において、スキャナ10は、ポートリスト46から選択されたポート番号PN1そのものを端末装置100に送信する。これに代えて、スキャナ10は、ポート番号PN1に対応する対応番号(例えば「01」)を記憶し、対応番号を端末装置100に送信してもよい。スキャナ10は、端末装置100から対応番号が指定されたスキャン指示を受信することにより、対応番号に対応するポート番号PN1を特定してもよい。本変形例では、対応番号が、「特定情報」の一例である。
【0051】
(変形例2) 第1実施例において、スキャナ10は、プル設定44を記憶せず、プルスキャンを実行しなくてもよい。本変形例では、「第2種のスキャン」及び「設定値」を省略可能である。
【0052】
(変形例4) 図3のT50の処理は実行されなくてもよい。本変形例では、「無効化部」を省略可能である。
【0053】
(変形例5) 第2実施例において、スキャナ10は、端末リスト42を記憶していなくてもよい。例えば、スキャナ10は、1個の端末装置と通信可能であり、当該1個の端末装置の識別情報を記憶してもよい。本変形例では、「端末リスト」を省略可能である。
【0054】
(変形例6) 第2実施例において、スキャナ10は、プッシュスキャナとプルスキャンのうちの一方を実行し、他方を実行しなくてもよい。一般的に言えば、「スキャナ」は、「第1種のスキャン」と「第2種のスキャン」とのうちの少なくとも一方を実行可能であればよい。
【0055】
(変形例7) ポート番号PN1は、例えば、スキャナ10と端末装置との間のキープアライブの通信によって、スキャナ10から端末装置に送信されてもよい。また、第2実施例において、スキャナ10は、所定の周期の到来のタイミングに加えて、プッシュ実行指示が入力されたタイミングで、ポート設定値48を変更してもよい。この場合、現在のポート設定値48は、指示要求を利用して、プッシュ実行指示で指定された端末装置に送信され、ポート通知を利用して、プッシュ実行指示で指定された端末装置以外の端末装置に送信されてもよい。
【0056】
(変形例8)上記の実施例では、CPU32がプログラム40を実行することによって、図2から図4の各処理が実現される。これに代えて、いずれかの処理は、論理回路等のハードウェアによって実現されてもよい。
【0057】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【0058】
本特許出願時の特許請求の範囲において、各請求項が一部の請求項のみに従属している場合であっても、各請求項が当該一部の請求項のみに従属可能であることに限定されない。技術的に矛盾しない範囲において、各請求項は、出願時に従属していない他の請求項にも従属可能である。即ち、各請求項の技術は以下のように様々に組み合わせることができる。
以下、本明細書で開示する技術の特徴を列挙する。
(項目1)
スキャナであって、
スキャン実行部と、
所定の条件が満たされる場合に、以前のポート番号とは異なる他のポート番号の利用を決定するポート決定部であって、前記ポート番号は、前記スキャン実行部へのスキャン指示において指定されるべきポートの番号である、前記ポート決定部と、
決定された前記他のポート番号を特定するための特定情報を端末装置に送信する情報送信部と、
前記端末装置から、前記特定情報によって特定される前記他のポート番号を指定した前記スキャン指示を受信する指示受信部と、
前記スキャン指示に従ったスキャンを前記スキャン実行部に実行させて、スキャンデータを生成する生成部と、
前記スキャンデータを前記端末装置に送信するデータ送信部と、
を備える、スキャナ。
(項目2)
前記所定の条件は、前記スキャナの操作部に対する所定の第1の操作が実行されることであり、
前記情報送信部は、前記第1の操作が前記スキャナに実行される場合に、前記スキャン指示の送信を前記端末装置に要求する指示要求であって、前記特定情報を含む前記指示要求を前記端末装置に送信する、項目1に記載のスキャナ。
(項目3)
前記スキャンは、第1種のスキャンと、第2種のスキャンと、のいずれかであり、
前記第1種のスキャンは、前記スキャナの前記操作部に対する前記第1の操作をトリガとして実行され、
前記第2種のスキャンは、前記端末装置の操作部に対する所定の第2の操作をトリガとして実行され、
前記スキャナは、さらに、前記第2種のスキャンの実行を許可しない第1の値と、前記第2種のスキャンの実行を許可する第2の値と、のうちのいずれかの値を示す設定値を記憶する第1のメモリを備え、
前記情報送信部は、
前記設定値が前記第1の値を示す場合に、前記特定情報を含む前記指示要求を前記端末装置に送信し、
前記設定値が前記第2の値を示す場合に、前記特定情報を含まない前記指示要求を前記端末装置に送信し、
前記指示受信部は、
前記設定値が前記第1の値を示す場合に、前記端末装置から、前記特定情報によって特定される前記他のポート番号を指定した前記スキャン指示を受信し、
前記設定値が前記第2の値を示す場合に、前記端末装置から、所定のポート番号を指定した前記スキャン指示を受信する、項目2に記載のスキャナ。
(項目4)
前記スキャナは、さらに、
前記スキャンデータを前記端末装置に送信することに応じて、前記特定情報によって特定される前記他のポート番号を無効化する無効化部を備える、項目2又は項目3に記載のスキャナ。
(項目5)
前記所定の条件は、所定の周期が到来することである、項目1に記載のスキャナ。
(項目6)
前記スキャナは、さらに、前記スキャナと通信可能な端末装置のリストである端末リストを記憶する第2のメモリを備え、
前記情報送信部は、前記所定の周期が到来する場合に、前記特定情報を前記端末リストによって示される複数個の前記端末装置のそれぞれに送信する、項目5に記載のスキャナ。
(項目7)
前記スキャンは、第1種のスキャンと、第2種のスキャンと、のいずれかであり、
前記第1種のスキャンは、前記スキャナの操作部に対する所定の第1の操作をトリガとして実行され、
前記第2種のスキャンは、前記端末装置の操作部に対する所定の第2の操作をトリガとして実行され、
前記スキャナは、さらに、
前記第1の操作が前記スキャナに実行される場合に、前記スキャン指示の送信を前記端末装置に要求する指示要求を前記端末装置に送信する要求送信部を備え、
前記指示受信部は、前記指示要求に対する応答として、前記スキャナから前記特定情報によって特定される前記他のポート番号を指定した前記スキャン指示を受信し、
前記指示受信部は、さらに、前記第2の操作が前記端末装置に実行される場合に、前記スキャナから前記特定情報によって特定される前記他のポート番号を指定した前記スキャン指示を受信する、項目5又は項目6に記載のスキャナ。
(項目8)
前記所定の条件は、前記以前のポート番号の利用が決定されてから第1の期間が経過することであり、
前記スキャナは、さらに、
前記他のポート番号の利用が決定された後に、前記他のポート番号の利用が決定されてから次のポート番号の利用が決定されるまでの第2の期間であって、前記第1の期間と異なる前記第2の期間を決定する期間決定部を備える、項目1に記載のスキャナ。
(項目9)
前記スキャナは、さらに、
前記他のポート番号の利用が決定される場合に、前記スキャナの所定の設定値を前記以前のポート番号から前記他のポート番号に変更する変更部を備える、項目5から8のいずれか一項に記載のスキャナ。
(項目10)
前記所定の条件が満たされる場合に決定されるポート番号は、ダイナミック/プライベートポートの範囲内である、項目1から9のいずれか一項に記載のスキャナ。
(項目11)
スキャナのためのコンピュータプログラムであって、
前記スキャナは、
スキャン実行部と、
コンピュータと、
を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
所定の条件が満たされる場合に、以前のポート番号とは異なる他のポート番号の利用を決定するポート決定部であって、前記ポート番号は、前記スキャン実行部へのスキャン指示において指定されるべきポートの番号である、前記ポート決定部と、
決定された前記他のポート番号を特定するための特定情報を端末装置に送信する情報送信部と、
前記端末装置から、前記特定情報によって特定される前記他のポート番号を指定した前記スキャン指示を受信する指示受信部と、
前記スキャン指示に従ったスキャンを前記スキャン実行部に実行させて、スキャンデータを生成する生成部と、
前記スキャンデータを前記端末装置に送信するデータ送信部と、
として機能させる、コンピュータプログラム。
(項目12)
スキャナの制御方法であって、
前記スキャナは、スキャン実行部を備え、
前記制御方法は、
所定の条件が満たされる場合に、以前のポート番号とは異なる他のポート番号の利用を決定するポート決定工程であって、前記ポート番号は、前記スキャン実行部へのスキャン指示において指定されるべきポートの番号である、前記ポート決定工程と、
決定された前記他のポート番号を特定するための特定情報を端末装置に送信する情報送信工程と、
前記端末装置から、前記特定情報によって特定される前記他のポート番号を指定した前記スキャン指示を受信する指示受信工程と、
前記スキャン指示に従ったスキャンを前記スキャン実行部に実行させて、スキャンデータを生成する生成工程と、
前記スキャンデータを前記端末装置に送信するデータ送信工程と、
を備える、制御方法。
【符号の説明】
【0059】
2 :通信システム
4 :LAN
10 :スキャナ
12 :スキャン実行部
14 :操作部
16 :LANI/F
30 :制御部
32 :CPU
34 :不揮発性メモリ
36 :揮発性メモリ
40 :プログラム
42 :端末リスト
44 :プル設定
46 :ポートリスト
48 :ポート設定値
100、200、300 :端末装置
PN0、PN1、PN2 :ポート番号
図1
図2
図3
図4