以下、本発明の実施形態について、図面を参照して説明する。参照する図面は、本発明が採用し得る技術的特徴を説明するために用いられるものである。図面に記載されている装置の構成などは、それのみに限定する趣旨ではなく、単なる説明例である。以下の説明では、図1の左上側、右下側、上側、下側、右上側、および左下側を、それぞれ、読取装置2および紙媒体100の左側、右側、前側、後側、上側、および下側と定義する。
図1および図2を参照して、本実施形態に係る手書き入力システム1の概要を説明する。図1に示すように、手書き入力システム1は、読取装置2、電子ペン3、PC19を含む。読取装置2は、折り畳むことが可能な、薄型で軽量の手書き入力装置である。手書き入力システム1では、ユーザは電子ペン3を用いて、読取装置2に固定された紙媒体100の用紙120に、線画を筆記する。線画は、文字、数値、記号、図形等を含む。読取装置2は、電子ペン3の位置を検出する。読取装置2は、経時的に検出された電子ペン3の複数の位置に基づいて、電子ペン3の軌跡を特定する。
図2に示すように、読取装置2は、左右一対の読取部2L,2R、フラットケーブル6、およびカバー4を含む。読取部2L,2Rは、いずれも矩形の薄板状である。読取部2L,2Rは、カバー4の前面に左右方向に見開き可能に配置される。読取部2L,2Rは、フラットケーブル6によって電気的に接続される。読取部2Lは、カバー4の左側に設けられている袋部4Aの内側に収容される。読取部2Rは、例えば両面テープによって、カバー4の右前面に貼り付けられる。
図1に示すように、紙媒体100は、左右方向に見開き可能である。紙媒体100では、一対の表紙110L,110Rと複数の用紙120が、それぞれの縁部の一部で綴じられている。紙媒体100は、読取装置2の前面に着脱可能である。紙媒体100が読取装置2に装着された状態で、紙媒体100の表紙110Lは読取部2Lの上面に載置され、表紙110Rは読取部2Rの上面に載置される。表紙110L,110Rは、それぞれ、例えば両面テープによって、読取部2L,2Rに貼り付けられる。読取部2L,2Rは、それぞれ、表紙110L,110Rと一体的に移動可能である。
ユーザは電子ペン3を用いて、読取装置2に装着された紙媒体100の用紙120に線画を筆記できる。用紙120の前後の紙面にそれぞれ、線画筆記領域121および保存指示領域122が設けられる。用紙120の1つの紙面は、紙媒体100の一ページ分に相当する。線画筆記領域121は、ユーザが電子ペン3を用いて、電子化して読取装置2に保存する線画を筆記するための筆記欄である。保存指示領域122は、ユーザが電子ペン3を用いて、後述の線画ファイルの生成を指示するための線画(例えばチェックマーク)を筆記可能なチェックボックスである。
電子ペン3は、公知の電磁誘導式の電子ペンである。電子ペン3は、略円筒状の筒体30を有する。筒体30の内部に、芯体31の一部、コイル32、可変容量コンデンサ33、基板34、コンデンサ35、およびインク収納部36が収容される。芯体31は、電子ペン3の先端部に設けられる。芯体31は弾性部材(図示略)によって、電子ペン3の先端側に付勢される。芯体31の先端部は、筒体30の外部に突出する。芯体31の後端側は、インクを収納するインク収納部36に接続される。インク収納部36は、芯体31にインクを供給する。ユーザが電子ペン3を用いて用紙120に筆記すると、インクによって用紙120に線画が形成される。
コイル32は、インク収納部36の周囲に巻回された状態で、芯体31と可変容量コンデンサ33との間に保持される。可変容量コンデンサ33は、基板34によって電子ペン3の内部に固定される。基板34には、コンデンサ35が搭載される。コンデンサ35および可変容量コンデンサ33はコイル32に並列に接続され、周知の共振回路を構成する。
電子ペン3はさらに、検出スイッチ(図示略)を備える。検出スイッチは、基板34の先端部に実装される。電子ペン3を用いて用紙120に線画が筆記されている状態では、芯体31は、電子ペン3の内部に入り込んでいる。この状態で、芯体31の後端部は検出スイッチを押す。検出スイッチはON状態となる。CPU21(図2参照)は、検出スイッチがON状態であるか否かに基づき、用紙120に線画が筆記されている状態であるか否かを検出できる。
PC19は、汎用のノート型のパーソナルコンピュータである。PC19は、入力部191およびディスプレイ192を備える。入力部191は、各種指示を入力するために使用される。ディスプレイ192は、画像を表示する。手書き入力システム1では、PC19としてパーソナルコンピュータの代わりに周知の情報端末(例えば、タブレットPC、スマートフォン等)が用いられてもよい。
図3を参照して、手書き入力システム1の電気的構成を説明する。読取装置2の電気的構成を説明する。読取装置2は、センサ基板7L,7R、メイン基板20、およびセンサ制御基板28,29を備える。センサ基板7L,7Rは、それぞれ、検出領域を含む。センサ基板7L,7Rは、読取部2L,2Rの内部に設けられる。センサ基板7Lおよびセンサ基板7Rが電子ペン3の位置を検出できる領域を、検出領域という。センサ基板7Lの検出領域およびセンサ基板7Rの検出領域は、それぞれ、センサ基板7L,7R上および近傍である。紙媒体100が読取装置2に装着された場合、線画筆記領域121および保存指示領域122は、検出領域に含まれる。
メイン基板20は、CPU21、RAM22、フラッシュROM23、無線通信部24、およびタイマ25を備える。RAM22、フラッシュROM23、無線通信部24、およびタイマ25は、それぞれ、CPU21に電気的に接続される。CPU21は、読取装置2の制御を行う。RAM22は、各種データを一時的に記憶する。RAM22には、線画データ記憶領域22A、コマンド記憶領域22B、フラグ記憶領域22C等が設けられる。線画データ記憶領域22Aは、電子ペン3の軌跡を示す線画データを記憶する。コマンド記憶領域22Bは、PC19等の外部機器から受信した後述するコマンドを記憶する。フラグ記憶領域22Cは、後述する認証フラグを記憶する。フラッシュROM23は、各種プログラム、後述の線画ファイル、位置特定テーブル等を記憶する。CPU21は、フラッシュROM23に記憶された各種プログラムにしたがって読取装置2を制御する。位置特定テーブルは、読取装置2で検出可能な電子ペン3の全ての座標点と、読取装置2に固定された用紙120上の座標点との対応を定める。無線通信部24は、外部機器と近距離無線通信を実行するためのコントローラである。タイマ25は、CPU21によって計時開始および計時終了を制御される。タイマ25は、計時開始から計時終了までの間、時間を計時する。
センサ基板7L,7Rには、上下方向および左右方向のそれぞれに細長いループコイルが多数配列される。検出領域は、センサ基板7L,7Rのそれぞれにおいて、ループコイルが配列されている部分に対応する。センサ基板7Lは、センサ制御基板28のASIC28Aに電気的に接続される。センサ基板7Rは、センサ制御基板29のASIC29Aに電気的に接続される。ASIC28Aはマスターとして動作し、ASIC29Aはスレーブとして動作する。ASIC28AはCPU21に直接接続される。ASIC29AはASIC28Aを介してCPU21に接続される。
線画データが読取装置2によって取得される原理を、概略的に説明する。CPU21はASIC28A,29Aを制御して、センサ基板7L,7Rのそれぞれのループコイルに、一本ずつ特定の周波数の電流を流す。センサ基板7L,7Rのそれぞれのループコイルから磁界が発生する。この状態で、例えばユーザが電子ペン3を用いて、読取装置2に固定された紙媒体100の用紙120に線画を筆記する動作を行う。電子ペン3はセンサ基板7L,7Rの検出領域に接触する。電子ペン3の共振回路は電磁誘導によって共振し、誘導磁界を生じる。
次に、CPU21はASIC28A,29Aを制御して、センサ基板7L,7Rのそれぞれのループコイルからの磁界の発生を停止させる。センサ基板7L,7Rのそれぞれのループコイルは、検出領域に位置する電子ペン3の共振回路から発せられる誘導磁界を受信する。CPU21はASIC28A,29Aを制御して、センサ基板7L,7Rのそれぞれのループコイルに流れる受信電流を検出させる。ASIC28A,29Aは、この動作を全てのループコイルについて一本ずつ実行する。これによって、受信電流に基づいて検出領域に接触する電子ペン3の位置が座標情報として検出される。
CPU21はフラッシュROM23の位置特定テーブルを参照する。CPU21は、検出された電子ペン3の座標点に基づいて、用紙120上における線画の筆記位置を特定する。CPU21は、一の連続する線画毎に線画データを取得する。線画データは、複数の座標情報を含む。複数の座標情報は、電子ペン3が用紙120に接触してから離れるまでの一回の筆記動作における、電子ペン3の軌跡を示す。
CPU21は検出した電子ペン3の座標点に基づいて、線画筆記領域121および保存指示領域122(図1参照)のいずれに線画が筆記されたかを判断する。線画筆記領域121に線画が筆記されたと判断した場合、CPU21は線画データを取得する。CPU21は、取得された線画データを線画データ記憶領域22Aに一時記憶する。保存指示領域122に線画が筆記されたと判断した場合、CPU21は線画データ記憶領域22Aに一時記憶されている線画データに基づいて、線画ファイルを生成する。線画ファイルは、線画筆記領域121に筆記されている線画全体の少なくとも一部を示す画像ファイルである。CPU21は生成した線画ファイルをフラッシュROM23に記憶する。
PC19の電気的構成を説明する。PC19は、CPU41、ハードディスクドライブ(HDD)42、RAM43、無線通信部44、入力回路45、出力回路46、入力部191、およびディスプレイ192を含む。CPU41は、PC19の制御を行う。HDD42は、CPU41が実行する各種プログラムを記憶する。RAM43は、読取装置2から受信した線画ファイル等、種々のデータを一時的に記憶する。無線通信部44は、読取装置2等の電子機器と近距離無線通信を実行するためのコントローラである。入力回路45は、CPU41へ入力部191からの指示を送る制御を行う。出力回路46は、CPU41からの指示に応じてディスプレイ192に画像を表示する制御を行う。
上記手書き入力システム1では、無線通信部24と無線通信部44とを介して読取装置2とPC19との間で近距離無線通信が実行される場合がある。この場合、CPU41は、ユーザによって入力部191を介して入力された種々のコマンドを、読取装置2に対して送信できる。CPU21は、PC19から受信したコマンドに対応する処理を実行できる。
種々のコマンドを説明する。種々のコマンドは、セキュリティ対象コマンドとセキュリティ非対象コマンドとに分けられる。CPU21は、後述の認証済み状態においてのみセキュリティ対象コマンドに対応する処理を実行可能である。CPU21は、認証済み状態あるか否かに関わらず、セキュリティ非対象コマンドに対応する処理を実行可能である。
セキュリティ対象コマンドは、転送コマンドおよび削除コマンドを含む。転送コマンドに対応する処理として、CPU21は、フラッシュROM23に記憶されている線画ファイルをPC19に転送する。ユーザは、入力部191を介して転送コマンドを入力し、転送コマンドに対応する処理を読取装置2に実行させる。一例として、ユーザがフラッシュROM23に記憶されている線画ファイルをPC19に転送し、転送された線画ファイルをPC19で編集する場合が挙げられる。
削除コマンドに対応する処理として、CPU21は、フラッシュROM23に記憶されている線画ファイルをフラッシュROM23から削除する。ユーザは、入力部191を介して削除コマンドを入力し、削除コマンドに対応する処理を読取装置2に実行させる。一例として、フラッシュROM23に記憶されている線画ファイルがユーザにとって不要になった場合が挙げられる。
セキュリティ非対象コマンドは、パスワード認証コマンドおよび初期化コマンドを含む。パスワード認証コマンドに対応する処理として、CPU21はパスワード認証を実行する。パスワードは、CPU21がセキュリティ対象コマンドを実行するための認証を得るために使用される。パスワード認証では、第一パスワードと第二パスワードとが比較され、第二パスワードが有効であるか判断される。パスワード(例えば、四桁の数字)は、入力部191を介してPC19に入力される。入力されたパスワードは、ハッシュ関数に基づいて、第一パスワードまたは第二パスワードに変換される。第一パスワードは、ユーザが予め読取装置2に設定することによって、フラッシュROM23に記憶される。ユーザによって第一パスワードが未だ読取装置2に設定されていない場合がある。この場合、フラッシュROM23には第一パスワードとして初期パスワードが記憶されている。初期パスワードの一例として、「0000」がハッシュ関数に基づいて変換されたパスワードが挙げられる。第二パスワードは、パスワード認証コマンドとしてPC19から読取装置2に送信される。
ユーザは、入力部191を介してパスワードを入力する。CPU41は、入力されたパスワードをハッシュ関数に基づいて変換する。CPU41は、変換されたパスワードを読取装置2に対して送信する。CPU21は、変換されたパスワード(第二パスワード)を受信すると、パスワード認証コマンドを実行する。以下、パスワード認証コマンドに対応する処理が実行される過程において、第二パスワードが有効であった場合を、パスワード認証に成功するという。第二パスワードが有効でなかった場合を、パスワード認証に失敗するという。ユーザは、セキュリティ対象コマンドに対応する処理を読取装置2に実行させる前に、パスワード認証コマンドに対応する処理を読取装置2に実行させる。パスワード認証コマンドに対応する処理が実行される過程で、パスワード認証に成功した場合、CPU21は、読取装置2を認証済み状態とする。認証済み状態では、CPU21はセキュリティ対象コマンドに対応する処理を実行可能である。認証済み状態は、パスワード認証に成功した場合において、パスワード認証が実行されてからタイムアウト時間(本実施形態では、30秒)が経過するまでの間継続する。
初期化コマンドに対応する処理が実行される過程で、CPU21は、第一パスワードを初期パスワードに初期化する。さらに、CPU21は、RAM22およびフラッシュROM23に記憶されている線画データおよび線画ファイルを全て削除する。例えば、ユーザは第一パスワードを忘れた場合に、初期化コマンドに対応する処理を実行させる。手書き入力システム1では、読取装置2に設けられたボタン(図示略)が所定の方法で押下された場合も、CPU21は初期化コマンドに対応する処理を実行可能である。所定の方法の一例として、電源ボタンを10秒間長押しする方法が挙げられる。
以上のように、手書き入力システム1は、パスワード認証によるセキュリティ機能を有する。セキュリティ機能は、悪意をもったユーザがセキュリティ対象コマンドに対応する処理を読取装置2に実行させることを抑制する。読取装置2によってPC19から受信されたコマンドは、受信された順にコマンド記憶領域22Bに記憶される。CPU21は、コマンド記憶領域22Bに記憶されている最も古いコマンドに対応する処理から順に実行する。CPU21は、コマンドに対応する処理を実行した場合、対応する処理を実行したコマンドを、コマンド記憶領域22Bから削除する。
CPU21は、パスワード認証に成功した場合、第一応答をPC19に対して送信する。第一応答は、パスワード認証に成功したことを示す。CPU21はパスワード認証に失敗した場合、第二応答をPC19に対して送信する。第二応答は、パスワード認証に失敗したことを示す。PC19は、第一応答を受信した場合、有効なパスワードをRAM43に記憶する。その後、ユーザによってセキュリティ対象コマンドが入力される場合がある。この場合、PC19はセキュリティ対象コマンドを読取装置2に対して送信する前に、パスワード認証コマンドを送信する。従って、ユーザは、セキュリティ対象コマンドに対応する処理を読取装置2に実行させる場合、ユーザ自らPC19を介して読取装置2に対してパスワード認証コマンドを送信する必要がない。
図4を参照し、読取装置2のCPU21によって実行されるメイン処理を説明する。読取装置2の電源がONされた場合、CPU21はフラッシュROM23に記憶されたプログラムを実行することで、メイン処理を開始する。
CPU21は、電子ペン3による筆記を検出する(S1)。S1の処理では、CPU21は電子ペン3によって用紙120に筆記されている線画を検出し、線画データを取得する。CPU21は、取得された線画データを線画データ記憶領域22Aに記憶する。CPU21は、線画データ記憶領域22Aに記憶した線画データに基づき、保存指示領域122(図1参照)に線画が筆記されたか判断する(S2)。CPU21は、保存指示領域122に線画が筆記されたと判断した場合(S2:YES)、CPU21は線画データ記憶領域22Aに記憶されている線画データに基づいて線画ファイルを作成する。CPU21は、作成された線画ファイルをフラッシュROM23に記憶する(S3)。CPU21はS1の処理を再度実行する。保存指示領域122に線画が筆記されていないと判断した場合(S2:NO)、CPU21はS1の処理を再度実行する。
図5を参照し、読取装置2のCPU21によって実行される受信処理を説明する。読取装置2が無線通信部24を介してPC19との間で近距離無線通信を実行した場合、CPU21はフラッシュROM23に記憶されたプログラムを実行することで、受信処理を開始する。PC19との間の近距離無線通信は、例えば、先述した転送コマンド、削除コマンド、パスワード認証コマンド、および初期化コマンドのコマンドがPC19から読取装置2に対して送信されるときに実行される。
CPU21は、PC19からコマンドを受信したか判断する(S11)。コマンドが受信されたと判断した場合(S11:YES)、CPU21は受信されたコマンドをコマンド記憶領域22Bに記憶する(S12)。コマンドを受信していないと判断した場合(S11:NO)CPU21はS11の処理を再度実行する。S12の処理が実行された場合、CPU21はS11の処理を再度実行する。
図6を参照し、読取装置2のCPU21によって実行されるコマンド処理を説明する。読取装置2の電源がONされた場合、CPU21はフラッシュROM23に記憶されたプログラムを実行することで、コマンド処理を開始する。コマンド処理では、フラグ記憶領域22Cに記憶されている認証フラグが用いられる。認証フラグは、読取装置2が認証済み状態でない未認証状態であるか、または認証済み状態であるかを示すフラグである。読取装置2が未認証状態であることを示す認証フラグとして、フラグ記憶領域22Cに「0」が記憶される。読取装置2が認証済み状態であることを示す認証フラグとして、フラグ記憶領域22Cに「1」が記憶される。読取装置2の電源がONされた場合には、認証フラグとしてフラグ記憶領域22Cに「0」が記憶される。
CPU21は、読取装置2が認証済み状態であるか判断する(S21)。フラグ記憶領域22Cに認証フラグとして「0」が記憶されている場合、CPU21は読取装置2が未認証状態であると判断する(S21:NO)。この場合、CPU21は処理をS24の処理へ移行する。フラグ記憶領域22Cに認証フラグとして「1」が記憶されている場合、CPU21は認証済み状態であると判断する(S21:YES)。この場合、CPU21はタイマ25を参照して、後述するパスワード認証処理(S43)が開始されてからタイムアウト時間が経過しているか判断する(S22)。パスワード認証処理が開始されてからタイムアウト時間が経過していないと判断された場合(S22:NO)、CPU21は処理をS24の処理へ移行する。タイムアウト時間が経過していると判断された場合(S22:YES)、CPU21は、認証フラグとしてフラグ記憶領域22Cに「0」を記憶する。これにより、CPU21は、読取装置2を未認証状態へ移行する(S23)。CPU21はタイマ25による計時を終了する制御を行う。
CPU21は、コマンド記憶領域22Bにコマンドが1つ以上記憶されているか判断する(S24)。コマンドは、受信処理(図5参照)のS12の処理でコマンド記憶領域22Bに記憶される。コマンドが記憶されていないと判断した場合(S24:NO)、CPU21はS21の処理を再度実行する。コマンドが記憶されていると判断した場合(S24:YES)、CPU21は、コマンド記憶領域22Bに記憶された1つ以上のコマンドのうち、コマンド記憶領域22Bに記憶された順が最も古いコマンド(以下、実行対象コマンドという。)を選択する。CPU21は実行対象コマンドがセキュリティ対象コマンドであるか判断する(S31)。
実行対象コマンドが、転送コマンド、または削除コマンドである場合、CPU21はセキュリティ対象コマンドであると判断する(S31:YES)。この場合、CPU21は認証済み状態であるか判断する(S32)。フラグ記憶領域22Cに認証フラグとして「0」が記憶されている場合、CPU21は読取装置2が未認証状態であると判断する(S32:NO)。この場合、CPU21はS21の処理を再度実行する。フラグ記憶領域22Cに記憶された認証フラグとして「1」が記憶されている場合、CPU21は認証済み状態であると判断する(S32:YES)。この場合、CPU21は、実行対象コマンドに対応する処理を実行する(S33)。S33の処理によって、対応する処理が実行された実行対象コマンドは、CPU21によってコマンド記憶領域22Bから削除される。
実行対象コマンドが転送コマンドの場合、CPU21は、フラッシュROM23に記憶されている線画ファイルをPC21に転送する。CPU41は、読取装置2から送信された線画ファイルが受信された場合、受信された線画ファイルをRAM43に記憶する。CPU41は、RAM43に記憶された線画ファイルに基づく画像を、ディスプレイ192に表示する。また、CPU41は、RAM43に記憶された線画ファイルに基づく画像に対して、公知の画像認識処理を実行する。これによって、CPU41は、用紙120に筆記された線画に対応する文字や数字を取得できる。実行対象コマンドが削除コマンドの場合、CPU21は、フラッシュROM23に記憶されている線画ファイルをフラッシュROM23から削除する。
S33の処理が実行された場合、CPU21は、フラグ記憶領域22Cに記憶された認証フラグとして「0」を記憶する。これにより、CPU21は、読取装置2を未認証状態へ移行する(S34)。CPU21はタイマ25による計時を終了する制御を行う。CPU21はS21の処理を再度実行する。
実行対象コマンドが、パスワード認証コマンド、または初期化コマンドである場合、CPU21はセキュリティ非対象コマンドであると判断する(S31:NO)。この場合、CPU21は実行対象コマンドがパスワード認証コマンドであるか判断する(S41)。実行対象コマンドが初期化コマンドである場合、パスワード認証コマンドでないと判断する(S41:NO)。この場合、CPU21は実行対象コマンドに対応する処理を実行する(S42)。S42の処理で対応する処理が実行された実行対象コマンドは、コマンド記憶領域22Bから削除される。実行対象コマンドが初期化コマンドの場合、CPU21は、第一パスワードを初期パスワードに初期化する。さらにCPU21は、RAM22およびフラッシュROM23に記憶されている線画データおよび線画ファイルを全て削除する。S42の処理が実行された場合、CPU21はS21の処理を再度実行する。実行対象コマンドがパスワード認証コマンドであると判断された場合(S41:YES)、CPU21はパスワード認証処理を実行する(S43)。CPU21は、S21の処理を再度実行する。
図7を参照し、パスワード認証処理を説明する。CPU21は、パスワード認証を次のようにして実行する(S51)。CPU21は第一パスワードと第二パスワードとを比較することにより、第二パスワードが有効であるか判断する。この時、タイムアウト時間(S22参照)、および、後述する所定時間(S55参照)を計時するため、CPU21はタイマ25による計時を開始する制御を行う。S51の処理で対応する処理が実行されたパスワード認証コマンドは、CPU21によってコマンド記憶領域22Bから削除される。CPU21は、パスワード認証に成功したか判断する(S52)。パスワード認証に成功したと判断した場合(S52:YES)、CPU21は、認証フラグとしてフラグ記憶領域22Cに「1」を記憶する。これにより、CPU21は、読取装置2を認証済み状態へ移行する(S53)。CPU21は、第一応答をPC19に対して送信する(S54)。CPU21は、処理をコマンド処理(図6参照)へ戻す。
CPU41は第一応答を受信した場合、パスワード認証に成功したことを示す画像をディスプレイ192に表示する。ユーザはディスプレイ192を視認することにより、パスワード認証に成功したことを認識できる。CPU41は、先述したように、パスワード認証に成功した場合、有効なパスワードをRAM43に記憶する。その後、ユーザによってセキュリティ対象コマンドが入力部191を介して入力される場合がある。この場合、読取装置2に対してセキュリティ対象コマンドを送信する指示を受け付けると、CPU41は、セキュリティ対象コマンドよりも先にパスワード認証コマンドを読取装置2に対して送信する。パスワード認証に成功したPC19を使用する場合、ユーザは、セキュリティ対象コマンドを実行する場合に毎回パスワード認証する必要がない。
パスワード認証に失敗したと判断した場合(S52:NO)、CPU21はタイマ25を参照して所定時間(本実施形態では、1秒)経過するまで待機する(S55)。所定時間は、パスワード認証に成功してから第一応答が送信されるまでの時間よりも長い。S55の処理で待機している場合、CPU21は少なくともS42およびS43の処理を実行しない。CPU21は、パスワード認証に失敗した時から所定時間経過するまでの間とは異なる期間においてのみ、S42およびS43を実行できる。タイマ25が所定時間を計時した場合、CPU21はタイマ25による計時を終了する制御を行う。CPU21は第二応答をPC19に対して送信する(S56)。CPU21は、処理をコマンド処理へ戻す。例えば、第二応答を受信した場合、CPU41はパスワード認証に失敗したことを示す画像をディスプレイ192に表示する。ユーザはディスプレイ192を視認することにより、パスワード認証に失敗したことを認識できる。対応する処理が実行されたパスワード認証コマンドは、コマンド記憶領域22Bから削除される。
以上説明したように、CPU21は、パスワード認証に失敗した場合(S52:NO)、所定時間経過するまで待機する(S55)。その後、CPU21は第二応答をPC19に対して送信する(S56)。読取装置2は、悪意をもったユーザからパスワードを解析するための連続攻撃を受ける場合がある。一例として、ランダムに生成されたパスワードが連続で入力されることが挙げられる。この場合、読取装置2は、第二応答を送信するまでの時間を少なくとも所定時間引き延ばすことができる。CPU21は、パスワード認証に成功した場合(S52:YES)、所定時間待機せずに第一応答をPC19に対して送信する(S54)。所定時間は、パスワード認証に成功してから第一応答がPC19に対して送信されるまでの時間よりも長い。正規のユーザが有効な第二パスワードを入力した場合、読取装置2は所定時間経過する前までに第一応答をPC19に対して送信する。このため、読取装置2は、正規のユーザが読取装置2を使用する場合の利便性を損ねることなく、パスワードを解析するための連続攻撃に対抗できる。
CPU21は、パスワード認証に成功したと判断した場合(S52:YES)、読取装置2を認証済み状態へ移行する(S53)。CPU21は、読取装置2が認証済み状態であると判断した場合(S32:YES)、セキュリティ対象コマンドに対応する処理を実行する(S33)。セキュリティ対象コマンドに対応する処理は、読取装置2が認証済み状態でないと実行されない。悪意をもったユーザがセキュリティ対象コマンドに対応する処理をCPU21に実行させることが抑制される。さらに、CPU21はS33の処理によってセキュリティ対象コマンドに対応する処理を実行した場合、読取装置2を未認証状態へ移行する(S34)。CPU21は新たなセキュリティ対象コマンドに対応する処理を実行する場合がある。この場合、その処理を実行する前に、再度認証済み状態へ移行する必要がある。ユーザがセキュリティ対象コマンドに対応する処理を読取装置2に実行させるためには、実行させる毎にパスワード認証が必要になる。悪意をもったユーザがセキュリティ対象コマンドに対応する処理をCPU21に実行させることが抑制される。
CPU21は、パスワード認証コマンドを受信した場合(S11:YES)、読取装置2が認証済み状態および未認証状態のいずれであるかに関わらず、そのパスワード認証コマンドに基づいてパスワード認証を実行する(S51)。CPU21は、パスワード認証に失敗したと判断した場合(S52:NO)、所定時間経過するまで待機する(S55)。S55の処理によって待機している場合、CPU21はS51の処理を実行しない。CPU21は、パスワード認証に失敗してから所定時間経過するまでの間とは異なる期間においてのみ、パスワード認証を実行する。読取装置2は、例えば悪意をもったユーザからパスワードを解析するための連続攻撃を受けた場合、パスワードを解析するまでの時間を少なくとも所定時間引き延ばすことができる。読取装置2は、パスワードを解析するための連続攻撃に対抗できる。
CPU21は、セキュリティ非対象コマンドを受信した場合(S11:YES)、読取装置2が認証済み状態および未認証状態のいずれであるかに関わらず、受信したセキュリティ非対象コマンドを実行する(S42)。CPU21は、パスワード認証に失敗したと判断した場合(S52:NO)、所定時間経過するまで待機する(S55)。S55の処理で待機している場合、CPU21はS42の処理を実行しない。CPU21は、パスワード認証に失敗してから所定時間経過するまでの間とは異なる期間においてのみ、セキュリティ非対象コマンドを実行する。読取装置2では、例えば悪意をもったユーザがパスワード認証に失敗する場合がある。この場合、悪意をもったユーザによる不正アクセスの可能性がある。パスワード認証に失敗した時から所定時間経過するまでの間、CPU21は待機しているためS42の処理を実行しない。悪意をもったユーザがセキュリティ非対象コマンドに対応する処理をCPU21に実行させることが抑制される。
CPU21は、ハッシュ関数に基づいて変換された第一パスワードおよび第二パスワードを外部機器から受信する。ハッシュ関数に基づいて変換されたパスワードは解析されづらいため、読取装置2はパスワードを解析するための連続攻撃に対抗できる。
CPU21は、初期化コマンドに対応する処理を実行する過程で、第一パスワードを初期パスワードに初期化する。また、CPU21は、RAM22およびフラッシュROM23に記憶されている線画データおよび線画ファイルを全て削除する。初期化コマンドに対応する処理がCPU21によって実行された場合、悪意をもったユーザは初期パスワードを用いて読取装置2にアクセスできるようになる。CPU21は、RAM22およびフラッシュROM23に記憶されている、線画データおよび線画ファイルを全て削除する。読取装置2は、悪意をもったユーザが線画データおよび線画ファイルにアクセスすることを抑制できる。初期化コマンドに対応する処理によってCPU21が削除するデータは、線画データおよび線画ファイルに限定されない。例えば、CPU21は、初期化コマンドに対応する処理を実行する過程で、設定情報等を削除してもよい。
PC19では、読取装置2においてパスワード認証に成功すると、有効なパスワードがRAM43に記憶される。PC19は、ユーザによってセキュリティ対象コマンドが入力されると、セキュリティ対象コマンドを読取装置2に対して送信する前に、パスワード認証コマンドを送信する。セキュリティ対象コマンドに対応する処理をCPU21に実行させる場合においても、ユーザ自ら読取装置2に対してパスワード認証コマンドを送信する操作をする必要がない。PC19は、正規のユーザが読取装置2を使用する場合の利便性を損なわずに読取装置2のセキュリティを保つことができる。
上記実施形態において、読取装置2が本発明の「情報入力装置」に相当する。電子ペン3が本発明の「筆記具」に相当する。センサ基板7L,7Rとセンサ制御基板28,29とが本発明の「検出手段」に相当する。無線通信部24が本発明の「第二通信手段」に相当する。フラッシュROM23が本発明の「記憶手段」に相当する。図5のS11の処理でコマンドを受信するCPU21が本発明の「受信手段」に相当する。コマンドが本発明の「情報」に相当する。セキュリティ対象コマンドが本発明の「第一情報」に相当する。図7のS51の処理を実行するCPU21が本発明の「認証手段」に相当する。図7のS54の処理を実行するCPU21が本発明の「第二送信手段」に相当する。図7のS56の処理を実行するCPU21が本発明の「第三送信手段」に相当する。認証済み状態が本発明の「第一状態」に相当する。図7のS53の処理を実行するCPU21が本発明の「第一移行手段」に相当する。図6のS33の処理を実行するCPU21が本発明の「第一実行手段」に相当する。未認証状態が本発明の「第二状態」に相当する。図6のS34の処理を実行するCPU21が本発明の「第二移行手段」に相当する。セキュリティ非対象コマンドが本発明の「第二情報」に相当する。図6のS42の処理を実行するCPU21が本発明の「第二実行手段」に相当する。図5のS11の処理が本発明の「受信ステップ」に相当する。図7のS51の処理が本発明の「認証ステップ」に相当する。図7のS54の処理が本発明の「第一送信ステップ」に相当する。図7のS56の処理が本発明の「第二送信ステップ」に相当する。
所定時間は、CPU21がパスワード認証に成功してから第一応答を送信するまでの時間よりも長ければ、1秒より長くてもよいし短くてもよい。所定時間が長い場合、悪意をもったユーザによるパスワードの解析を遅らせることができる。読取装置2のセキュリティが向上する。例えば正規のユーザが間違えたパスワードを入力してしまう場合がある。所定時間が短い場合、読取装置2は所定のセキュリティレベルを保ちつつ素早く第二応答を送信できる。また、所定時間はユーザによって変更可能であってもよい。所定時間を変更するコマンドは、セキュリティ対象コマンドであることが好ましい。この場合、読取装置2はユーザの所望するセキュリティレベルによって所定時間を変更できる。
読取装置2と外部機器との通信方法は、近距離無線通信に限定されず、他の方法で通信してもよい。例えば、読取装置2と外部機器とは有線によって通信してもよい。
タイムアウト時間は、30秒より短くてもよいし長くてもよい。タイムアウト時間が短い場合は、認証済み状態が早く解除されるため、長い場合に比べてセキュリティが向上する。タイムアウト時間が長い場合は、認証済み状態が長く続く。このため、タイムアウト時間が短い場合に比べてCPU21によるセキュリティ対象コマンドの実行が安定する。
読取装置2が電子ペン3の位置を検出する方法は、電磁誘導式以外の方法で検出してもよい。例えば、読取装置2はタッチパネルを備えてもよい。タッチパネルの駆動方式は、抵抗膜方式が好ましい。タッチパネル上に紙媒体100が置かれてもよい。CPU21は、電子ペン3によって用紙120に線画を筆記する動作が行われた場合、タッチパネルを介して筆圧が加えられた位置を検出してもよい。例えば、読取装置2は赤外線受光部と複数の超音波受信部とを備えてもよい。電子ペン3は赤外線発光部と超音波発信部とを備えてもよい。読取装置2の赤外線受光部は、電子ペン3の赤外線発光部が発光した赤外線を受光する。読取装置2の複数の超音波受信部は、それぞれ、電子ペン3の超音波発信部が発信した超音波を受信する。読取装置2は、赤外線を受光した時刻とそれぞれの超音波受信部が超音波を受信した時刻との時間差、および音速に基づいて電子ペン3の位置を検出する。
セキュリティ対象コマンドとして挙げた転送コマンドおよび削除コマンドは、単なる一例であり、これに限定されない。セキュリティ非対象コマンドとして挙げた初期化コマンドは、単なる一例であり、これに限定されない。また、転送コマンドおよび削除コマンドは、セキュリティ非対象コマンドであってもよい。セキュリティ非対象コマンドにパスワード認証コマンドが含まれれば、他のコマンドがセキュリティ対象コマンドおよびセキュリティ非対象コマンドのいずれであるかは、ユーザが設定できてもよい。