(57)【要約】【課題】作業機械で容易に鍵情報を生成できるようにする。【解決手段】情報処理システム１は、センサ７０と、鍵情報生成部６１と、を備える。センサ７０は、作業機械４０に設けられる。鍵情報生成部６１は、作業機械４０に設けられ、センサ７０から入力されたセンサ値に基づいて鍵情報Ｋを生成する。鍵情報Ｋは、作業機械４０と、作業機械４０の外部に設けられる外部装置１０と、の間での情報の授受に用いられる。【選択図】図１Ａ
2020167509.tif 000002
【特許請求の範囲】
【請求項１】
作業機械に設けられたセンサと、
前記作業機械に設けられ、前記センサから入力されたセンサ値に基づいて鍵情報を生成する鍵情報生成部と、
を備え、
前記鍵情報は、前記作業機械と、前記作業機械の外部に設けられる外部装置と、の間での情報の授受に用いられる、
情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記鍵情報生成部は、前記作業機械のエンジンのインジェクタの燃料噴射量、前記エンジンの回転数、前記エンジンの冷却水の温度、前記作業機械のポンプの圧力、前記作業機械の作動油の温度、および、前記作業機械の比例弁の電流、のうち存在する前記センサ値の中から少なくとも１つの前記センサ値に基づいて、前記鍵情報を生成する、
情報処理システム。
【請求項３】
請求項１または２に記載の情報処理システムであって、
前記センサは、前記作業機械の操作者に操作される入力装置の操作を検出し、
前記鍵情報生成部は、前記作業機械の操作パネルのボタンのオンオフ、前記作業機械の操作レバーが操作された際に変化する電流および圧力の少なくともいずれか、ならびに、前記作業機械のレバーロックのオンオフ、のうち存在する前記センサ値の中から少なくとも１つの前記センサ値に基づいて、前記鍵情報を生成する、
情報処理システム。
【請求項４】
請求項１〜３のいずれか１項に記載の情報処理システムであって、
前記鍵情報生成部は、前記センサ値に基づいて生成したビット列を前記鍵情報とする、
情報処理システム。
【請求項５】
請求項４に記載の情報処理システムであって、
前記鍵情報生成部は、所定時間内で経時変化する前記センサ値に基づいて生成した前記ビット列を前記鍵情報とする、
情報処理システム。
【請求項６】
請求項１〜５のいずれか１項に記載の情報処理システムであって、
前記外部装置および前記作業機械のうち、前記情報を送信する側を送信側機器、前記情報を受信する側を受信側機器とし、
前記送信側機器は、前記受信側機器に保存された前記鍵情報と同一の前記鍵情報を用いて前記情報を暗号化し、
前記受信側機器は、前記送信側機器から受信した暗号化された前記情報を、前記受信側機器に保存された前記鍵情報を用いて復号する、
情報処理システム。
【請求項７】
請求項１〜６のいずれか１項に記載の情報処理システムであって、
前記外部装置および前記作業機械のうち、前記情報を送信する側を送信側機器、前記情報を受信する側を受信側機器とし、
前記送信側機器は、前記受信側機器に保存された前記鍵情報と同一の前記鍵情報と、前記情報と、に基づいて第１認証符号を生成し、
前記受信側機器は、前記情報および前記第１認証符号を前記送信側機器から受信し、受信した前記情報と前記受信側機器に保存された前記鍵情報とに基づいて第２認証符号を生成し、前記第１認証符号と前記第２認証符号とを比較する、
情報処理システム。
【請求項８】
請求項１〜７のいずれか１項に記載の情報処理システムであって、
前記外部装置および前記作業機械のうち、前記情報を送信する側を送信側機器、前記情報を受信する側を受信側機器とし、
前記送信側機器は、前記受信側機器に保存された前記鍵情報と同一の前記鍵情報と、前記情報と、を結合し、
前記受信側機器は、結合された前記鍵情報と前記情報とを前記送信側機器から受信し、受信した前記鍵情報と、前記受信側機器が前記鍵情報を受信する前に前記受信側機器に保存された前記鍵情報と、を比較する、
情報処理システム。
【請求項９】
請求項１〜５のいずれか１項に記載の情報処理システムであって、
前記情報は、前記作業機械の作動を制御するための制御パラメータであり、
前記外部装置は、前記鍵情報を用いて、前記制御パラメータを前記作業機械に送信し、
前記作業機械は、前記作業機械の作動を前記制御パラメータに基づいて制御するか否かを、前記鍵情報に基づいて判定する、
情報処理システム。
【請求項１０】
請求項９に記載の情報処理システムであって、
前記外部装置は、前記作業機械から受信した前記鍵情報を用いて前記制御パラメータを暗号化し、
前記作業機械は、前記外部装置から受信した暗号化された前記制御パラメータを、前記作業機械に保存された前記鍵情報を用いて復号する、
情報処理システム。
【請求項１１】
請求項１０に記載の情報処理システムであって、
前記作業機械の作動を前記制御パラメータに基づいて制御するための条件は、前記鍵情報によって正しく前記制御パラメータが復号されたことを含む、
情報処理システム。
【請求項１２】
請求項９〜１１のいずれか１項に記載の情報処理システムであって、
前記外部装置は、前記作業機械から受信した前記鍵情報と前記制御パラメータとに基づいて第１認証符号を生成し、
前記作業機械は、前記制御パラメータおよび前記第１認証符号を前記外部装置から受信し、受信した前記制御パラメータと前記作業機械に保存された前記鍵情報とに基づいて第２認証符号を生成し、前記第１認証符号と前記第２認証符号とを比較する、
情報処理システム。
【請求項１３】
請求項１２に記載の情報処理システムであって、
前記作業機械の作動を前記制御パラメータに基づいて制御するための条件は、前記第１認証符号と前記第２認証符号とが一致することを含む、
情報処理システム。
【請求項１４】
請求項９〜１３のいずれか１項に記載の情報処理システムであって、
前記外部装置は、前記作業機械から受信した前記鍵情報と前記制御パラメータとを結合し、
前記作業機械は、結合された前記鍵情報と前記制御パラメータとを前記外部装置から受信し、受信した前記鍵情報と、前記作業機械が前記鍵情報を受信する前に前記作業機械に保存された前記鍵情報と、を比較する、
情報処理システム。
【請求項１５】
請求項１４に記載の情報処理システムであって、
前記作業機械の作動を前記制御パラメータに基づいて制御するための条件は、前記作業機械が受信した前記鍵情報と、前記作業機械が前記鍵情報を受信する前に前記作業機械に保存された前記鍵情報と、が一致することを含む、
情報処理システム。
【請求項１６】
作業機械に設けられたセンサから入力されたセンサ値に基づいて鍵情報を生成するステップを備え、
前記鍵情報は、前記作業機械と、前記作業機械の外部に設けられる外部装置と、の間での情報の授受に用いられる、
情報処理方法。
【請求項１７】
請求項１６に記載の情報処理方法であって、
前記外部装置および前記作業機械のうち、前記情報を送信する側を送信側機器、前記情報を受信する側を受信側機器とし、
前記送信側機器が、前記受信側機器に保存された前記鍵情報と同一の前記鍵情報を用いて前記情報を暗号化するステップと、
前記受信側機器が、前記送信側機器から受信した暗号化された前記情報を、前記受信側機器に保存された前記鍵情報を用いて復号するステップと、
を備える、
情報処理方法。
【請求項１８】
請求項１６または１７に記載の情報処理方法であって、
前記外部装置および前記作業機械のうち、前記情報を送信する側を送信側機器、前記情報を受信する側を受信側機器とし、
前記送信側機器が、前記受信側機器に保存された前記鍵情報と同一の前記鍵情報と、前記情報と、に基づいて第１認証符号を生成するステップと、
前記受信側機器が、前記情報および前記第１認証符号を前記送信側機器から受信し、受信した前記情報と前記受信側機器に保存された前記鍵情報とに基づいて第２認証符号を生成し、前記第１認証符号と前記第２認証符号とを比較するステップと、
を備える、
情報処理方法。
【請求項１９】
請求項１６〜１８のいずれか１項に記載の情報処理方法であって、
前記外部装置および前記作業機械のうち、前記情報を送信する側を送信側機器、前記情報を受信する側を受信側機器とし、
前記送信側機器が、前記受信側機器に保存された前記鍵情報と同一の前記鍵情報と、前記情報と、を結合するステップと、
前記受信側機器が、結合された前記鍵情報と前記情報とを前記送信側機器から受信し、受信した前記鍵情報と、前記受信側機器が前記鍵情報を受信する前に前記受信側機器に保存された前記鍵情報と、を比較するステップと、
を備える、
情報処理方法。
【請求項２０】
請求項１６〜１９のいずれか１項に記載の情報処理方法であって、
前記情報は、前記作業機械の作動を制御するための制御パラメータであり、
前記外部装置が、前記鍵情報を用いて、前記制御パラメータを前記作業機械に送信するステップと、
前記作業機械が、前記作業機械の作動を前記制御パラメータに基づいて制御するか否かを、前記鍵情報に基づいて判定するステップと、
を備える、
情報処理方法。
【請求項２１】
作業機械に設けられたセンサから入力されたセンサ値に基づいて鍵情報を生成するステップをコンピュータに実行させ、
前記鍵情報は、前記作業機械と、前記作業機械の外部に設けられる外部装置と、の間での情報の授受に用いられる、
プログラム。
【請求項２２】
請求項２１に記載のプログラムであって、
前記外部装置および前記作業機械のうち、前記情報を送信する側を送信側機器、前記情報を受信する側を受信側機器とし、
前記送信側機器が、前記受信側機器に保存された前記鍵情報と同一の前記鍵情報を用いて前記情報を暗号化するステップと、
前記受信側機器が、前記送信側機器から受信した暗号化された前記情報を、前記受信側機器に保存された前記鍵情報を用いて復号するステップと、
を前記コンピュータに実行させる、
プログラム。
【請求項２３】
請求項２１または２２に記載のプログラムであって、
前記外部装置および前記作業機械のうち、前記情報を送信する側を送信側機器、前記情報を受信する側を受信側機器とし、
前記送信側機器が、前記受信側機器に保存された前記鍵情報と同一の前記鍵情報と、前記情報と、に基づいて第１認証符号を生成するステップと、
前記受信側機器が、前記情報および前記第１認証符号を前記送信側機器から受信し、受信した前記情報と前記受信側機器に保存された前記鍵情報とに基づいて第２認証符号を生成し、前記第１認証符号と前記第２認証符号とを比較するステップと、
を前記コンピュータに実行させる、
プログラム。
【請求項２４】
請求項２１〜２３のいずれか１項に記載のプログラムであって、
前記外部装置および前記作業機械のうち、前記情報を送信する側を送信側機器、前記情報を受信する側を受信側機器とし、
前記送信側機器が、前記受信側機器に保存された前記鍵情報と同一の前記鍵情報と、前記情報と、を結合するステップと、
前記受信側機器が、結合された前記鍵情報と前記情報とを前記送信側機器から受信し、受信した前記鍵情報と、前記受信側機器が前記鍵情報を受信する前に前記受信側機器に保存された前記鍵情報と、を比較するステップと、
を前記コンピュータに実行させる、
プログラム。
【請求項２５】
請求項２１〜２４のいずれか１項に記載のプログラムであって、
前記情報は、前記作業機械の作動を制御するための制御パラメータであり、
前記外部装置が、前記鍵情報を用いて、前記制御パラメータを前記作業機械に送信するステップと、
前記作業機械が、前記作業機械の作動を前記制御パラメータに基づいて制御するか否かを、前記鍵情報に基づいて判定するステップと、
を前記コンピュータに実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業機械と外部装置との間での情報の授受のための、情報処理システム、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
例えば特許文献１などに、作業機械と、作業機械の外部に設けられる外部装置と、の間で情報の授受がなされる技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３３２５６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
同文献に記載の技術では、外部装置と作業機械との間で授受される情報に対して、セキュリティ対策がなされていない。また、外部装置と作業機械との間で授受される情報に対して、何らかのセキュリティ対策を行う場合、鍵情報が必要となる。しかし、作業機械で鍵情報を生成するのは容易ではない。例えば、鍵情報を生成するための乱数発生装置を作業機械に設けるにはコストがかかる。また、例えば、通常、作業機械に搭載されるコントローラ（コンピュータ）は、鍵情報を生成するのに適した処理能力を有していない場合がある。
【０００５】
そこで、本発明は、作業機械で容易に鍵情報を生成できる、情報処理システム、情報処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１の手段の情報処理システムは、センサと、鍵情報生成部と、を備える。前記センサは、作業機械に設けられる。前記鍵情報生成部は、前記作業機械に設けられ、前記センサから入力されたセンサ値に基づいて鍵情報を生成する。前記鍵情報は、前記作業機械と、前記作業機械の外部に設けられる外部装置と、の間での情報の授受に用いられる。
【０００７】
第２の手段の情報処理方法は、作業機械に設けられたセンサから入力されたセンサ値に基づいて鍵情報を生成するステップを備える。前記鍵情報は、前記作業機械と、前記作業機械の外部に設けられる外部装置と、の間での情報の授受に用いられる。
【０００８】
第３の手段のプログラムは、作業機械に設けられたセンサから入力されたセンサ値に基づいて鍵情報を生成するステップをコンピュータに実行させる。前記鍵情報は、前記作業機械と、前記作業機械の外部に設けられる外部装置と、の間での情報の授受に用いられる。
【発明の効果】
【０００９】
上記の第１の手段、第２の手段、および第３の手段のそれぞれにより、作業機械で容易に鍵情報を生成できる。
【図面の簡単な説明】
【００１０】
【図１Ａ】第１実施形態の情報処理システム１のブロック図である。
【図１Ｂ】図１Ａに示す作業機械４０を横から見た図である。
【図１Ｃ】図１Ａに示すセンサ７０および鍵情報生成部６１などを示す図である。
【図１Ｄ】図１Ａに示す情報処理システム１の鍵情報生成フェーズのシーケンス図である。
【図１Ｅ】図１Ａに示す情報処理システム１の暗号化・復号化フェーズのシーケンス図である。
【図１Ｆ】図１Ａに示す外部装置１０の鍵情報生成フェーズのフローチャートである。
【図１Ｇ】図１Ａに示す作業機械４０の鍵情報生成フェーズのフローチャートである。
【図１Ｈ】図１Ａに示す外部装置１０の暗号化・復号化フェーズのフローチャートである。
【図１Ｉ】図１Ａに示す作業機械４０の暗号化・復号化フェーズのフローチャートである。
【図２Ａ】第２実施形態の情報処理システム２０１のブロック図である。
【図２Ｂ】図２Ａに示す情報処理システム２０１の暗号化・復号化フェーズのシーケンス図である。
【図３Ａ】第３実施形態の情報処理システム３０１のブロック図である。
【図３Ｂ】図３Ａに示す情報処理システム３０１の改ざん検知フェーズのシーケンス図である。
【図３Ｃ】図３Ａに示す外部装置１０の改ざん検知フェーズのフローチャートである。
【図３Ｄ】図３Ａに示す作業機械４０の改ざん検知フェーズのフローチャートである。
【図４Ａ】第４実施形態の情報処理システム４０１のブロック図である。
【図４Ｂ】図４Ａに示す情報処理システム４０１の改ざん検知フェーズのシーケンス図である。
【図５Ａ】第５実施形態の情報処理システム５０１のブロック図である。
【図５Ｂ】図５Ａに示す情報処理システム５０１の利用者認証フェーズのシーケンス図である。
【図５Ｃ】図５Ａに示す外部装置１０の利用者認証フェーズのフローチャートである。
【図５Ｄ】図５Ａに示す作業機械４０の利用者認証フェーズのフローチャートである。
【図６Ａ】第６実施形態の情報処理システム６０１のブロック図である。
【図６Ｂ】図６Ａに示す情報処理システム６０１の利用者認証フェーズのシーケンス図である。
【図７Ａ】第７実施形態の情報処理システム７０１のブロック図である。
【図７Ｂ】図７Ａに示す情報処理システム７０１の利用者認証フェーズのシーケンス図である。
【発明を実施するための形態】
【００１１】
（第１実施形態）
図１Ａ〜図１Ｉを参照して、第１実施形態の情報処理システム１、情報処理方法、およびプログラムについて説明する。
【００１２】
情報処理システム１は、図１に示すように、外部装置１０（コンピュータ）と作業機械４０との間で授受（やりとり、送受信）される情報を処理するシステムである。情報処理システム１は、情報暗号化システムでもよく、情報改ざん検知システム（第３実施形態などを参照）でもよく、情報利用者認証システム（第５実施形態などを参照）でもよい。情報処理システム１は、外部装置１０と、作業機械４０と、を備える。
【００１３】
外部装置１０は、作業機械４０の外部の装置である。外部装置１０と作業機械４０との間で授受される情報には、例えば、制御パラメータＰ、および作業者識別情報（ＩＤ；identification）などがある。制御パラメータＰは、作業機械４０の作動を制御するためのパラメータである。この制御パラメータＰは、例えば、図１Ｂに示す操作レバー６３ｂの操作量と作業機械４０の作動速度との関係、操作レバー６３ｂの操作が複数行われた場合の操作の優先順位、作業機械４０の作動の制限に関する情報などが設定されたものである。ＩＤは、作業機械４０を利用する作業者（操作者）を一意に識別する情報であり、例えば社員番号などである。図１Ａに示すように、外部装置１０は、デバイス２０を備える。
【００１４】
デバイス２０は、作業者に持たれる装置（作業者用装置、作業者所持装置）である。複数の作業者それぞれが、デバイス２０を持つ。デバイス２０は、情報を処理可能なものでもよく、情報を保持（記憶）のみするものでもよい。情報を処理可能なデバイス２０は、例えば、スマートフォン、タブレット、携帯電話、またはノート型ＰＣ（personal computer）などである。情報を保持のみするデバイス２０は、例えば、ＩＣカード（ＩＣ；integrated circuit）、またはフラッシュメモリ（例えばＳＤメモリーカード、ＵＳＢ（Universal Serial Bus）フラッシュドライブなど）などである。本実施形態では、デバイス２０が、情報を処理可能である場合について説明する。デバイス２０は、デバイス側送受信部２１と、出力部２２と、保持部２３と、暗号化部２５と、を備える。
【００１５】
デバイス側送受信部２１（情報送受信装置）は、デバイス２０と作業機械４０との間で情報を送受信する。デバイス側送受信部２１を、図１Ａでは、単に「送受信部」と記載した。デバイス側送受信部２１による具体的な通信方法については後述する。
【００１６】
出力部２２（出力装置）は、作業者に対して通知などを出力する。出力部２２は、例えば、表示および音声の少なくともいずれかを出力する。出力部２２は、例えば、ディスプレイおよびスピーカの少なくともいずれかを備える。出力部２２は、図１Ａに示す例では、デバイス２０の一部であるが、デバイス２０の外部に設けられてもよく、例えばデバイス２０に接続される外部ディスプレイや外部スピーカなどでもよい。
【００１７】
保持部２３（記憶装置、記憶領域）は、情報を保持（記憶、保存、管理）する。保持部２３は、制御パラメータＰを保持する保持部２３ａと、ＩＤおよび鍵情報Ｋ（後述）を保持する保持部２３ｂと、を備える。第三者（攻撃者）による情報流出を抑制するために、保持部２３の耐タンパ性ができるだけ高いことが好ましい。具体的には例えば、保持部２３は、ＴＰＭ（Trusted Platform Module）を用いたものでもよく、ＴＥＥ（Trusted Execution Environment）を用いたものでもよい。保持部２３のうち、鍵情報Ｋを保持する領域（保持部２３ｂ）の耐タンパ性が高いことがより好ましい。以下で説明する、各種情報（鍵情報Ｋや制御パラメータＰなど）を処理する部分（例えば暗号化部２５など）や、各種情報を保持する部分（例えば鍵情報管理部５３など）などについても、耐タンパ性ができるだけ高いことが好ましい。また、各種情報にはデジタル署名が添付されてもよい。また、各種情報は、暗号化された状態で保持されてもよい。
【００１８】
暗号化部２５（情報暗号化装置）は、鍵情報Ｋを用いて情報（例えば制御パラメータＰ）を暗号化する（詳細は後述）。
【００１９】
作業機械４０は、図１Ｂに示すように、作業を行う機械であり、例えば建設作業を行う建設機械であり、例えばショベルでもよく、クレーンでもよい。以下、作業機械４０がショベルの場合について説明する。作業機械４０は、下部走行体４１と、上部旋回体４２と、アタッチメント４３と、エンジン４４と、図１Ａに示すコントローラ５０と、入力装置６３と、センサ７０と、を備える。
【００２０】
下部走行体４１は、図１Ｂに示すように、作業機械４０を走行させる。上部旋回体４２は、下部走行体４１に旋回可能に搭載される。上部旋回体４２は、作業者が作業機械４０を操作するためのキャブ４２ａを備える。
【００２１】
アタッチメント４３は、作業を行う部分であり、例えば、ブーム４３ａと、アーム４３ｂと、先端アタッチメント４３ｃと、を備える。ブーム４３ａは、上部旋回体４２に対して起伏（回転）可能である。アーム４３ｂは、ブーム４３ａに対して回転可能である。先端アタッチメント４３ｃは、アタッチメント４３の先端部に設けられ、アーム４３ｂに対して回転可能である。先端アタッチメント４３ｃは、例えば土砂をすくうバケットでもよく、物を挟む装置（グラップルなど）でもよく、破砕を行う装置（ブレーカなど）でもよい。
【００２２】
エンジン４４は、作業機械４０の駆動源であり、ポンプ（図示なし）を駆動し、発電機を駆動してもよい。このエンジン４４に駆動されるポンプは、油圧アクチュエータ（例えば油圧モータ、油圧シリンダ）に作動油を供給する。この油圧アクチュエータが作動する結果、作業機械４０が作動する。
【００２３】
コントローラ５０（制御装置、コンピュータ）は、図１Ａに示すように、作業機械４０に搭載される。コントローラ５０は、信号の入出力、演算（処理）、情報の記憶などを行う。コントローラ５０は、作業機械側送受信部５１と、状態管理部５２と、鍵情報管理部５３と、復号化部５５と、制御パラメータ管理部５７と、鍵情報生成部６１と、を備える。
【００２４】
作業機械側送受信部５１（情報送受信装置）は、作業機械４０と外部装置１０（例えばデバイス２０）との間で情報を送受信する。作業機械側送受信部５１を、図１Ａでは単に「送受信部」と記載した。作業機械４０と外部装置１０との間での通信は、無線でも、有線でも、有線と無線との混在でもよい。作業機械４０と外部装置１０との間での通信は、直接的でもよく、図示しない通信装置を経由してもよい（間接的でもよい）。例えば、作業機械４０と外部装置１０との間での通信は、図示しない通信装置に対して真正性検証を行うなどによって信頼できる経路が構築できるのであれば、マルチホップによるものでもよい。
【００２５】
状態管理部５２は、作業機械４０の状態を管理する。状態管理部５２は、作業機械４０の状態を、鍵情報生成状態と、鍵情報生成状態でない状態（通常状態）と、に切り換える。
【００２６】
鍵情報管理部５３は、鍵情報Ｋを保持（管理）する。鍵情報管理部５３は、作業機械４０を利用する複数の作業者のそれぞれのＩＤと、このＩＤに対応する鍵情報Ｋと、を対応させて（紐付けて、組として）保持する。保持部２３と同様に、鍵情報管理部５３の耐タンパ性ができるだけ高いことが好ましい。
【００２７】
復号化部５５（情報復号化装置）は、鍵情報Ｋを用いて情報（例えば制御パラメータＰ）を復号する（詳細は後述）。復号化部５５は、情報を正しく復号できたか否かを判定する（詳細は後述）。
【００２８】
制御パラメータ管理部５７は、制御パラメータＰを管理する。制御パラメータ管理部５７には、復号化部５５で復号された制御パラメータＰが格納される。
【００２９】
鍵情報生成部６１（鍵情報生成装置）は、鍵情報Ｋを生成する。鍵情報生成部６１は、センサ７０から入力されたセンサ値に基づいて鍵情報Ｋを生成する（詳細は後述）。鍵情報Ｋは、作業機械４０と外部装置１０との間での情報の授受に用いられる。鍵情報Ｋは、情報の暗号化および復号に用いられてもよく、情報の改ざん検知に用いられてもよく（第３実施形態などを参照）、情報の利用者の認証に用いられてもよい（第５実施形態などを参照）。鍵情報Ｋは、例えば、作業機械４０と外部装置１０との間での、制御パラメータＰの授受に用いられてもよく、制御パラメータＰ以外の情報の授受に用いられてもよい。ここでは、鍵情報Ｋが、制御パラメータＰの暗号化および復号に用いられる場合について説明する。
【００３０】
入力装置６３は、図１Ｂに示すように、作業機械４０の操作者（作業者）に操作される装置である。入力装置６３は、例えば、キャブ４２ａの内部に配置される。入力装置６３は、操作パネル６３ａと、操作レバー６３ｂと、レバーロック６３ｃと、を備える。操作パネル６３ａは、各種操作を行うための装置であり、例えば画面を備える装置である。操作パネル６３ａには、少なくとも１つのボタンがある。操作パネル６３ａのボタンは、物理ボタンでもよく、画面に表示されたボタンでもよい。操作パネル６３ａは、キャブ４２ａ内に固定（常設）されたものでもよく、キャブ４２ａ内に固定されないもの（例えばタブレットＰＣなどの情報端末など）でもよい。操作パネル６３ａがキャブ４２ａ内に固定されない場合、操作パネル６３ａは、ボタン操作の情報をボタンオンオフセンサ７１ａに、無線通信により送信してもよく、有線通信により送信してもよい。操作レバー６３ｂは、作業機械４０を操作するための部分（操作部）である。操作レバー６３ｂは、下部走行体４１の走行、下部走行体４１に対する上部旋回体４２の旋回、およびアタッチメント４３の作動を操作するためのものである。レバーロック６３ｃは、作業者がキャブ４２ａに出入りする際に上げ下げされるものであり、操作レバー６３ｂの操作の有効と無効（ロック）とを切り換える。なお、上記の例以外の入力装置６３が設けられてもよく、例えば、作業機械４０を操作するペダルなどが設けられてもよい。
【００３１】
センサ７０は、図１Ｃに示すように、各種情報を検出し、センサ値（検出値）を出力する。センサ７０は、作業機械４０（図１Ｂ参照）に通常設けられているものであり、鍵情報Ｋ（図１Ａ参照）の生成のためにのみ設けられる必要はない。センサ７０には、入力装置６３の操作の状態を検出するものと、それ以外の状態を検出するものと、がある。具体的には、入力装置６３の操作の状態を検出するセンサ７０には、ボタンオンオフセンサ７１ａと、操作量センサ７１ｂと、レバーロックオンオフセンサ７１ｃと、がある。また、センサ７０には、インジェクタ噴射量センサ７３ａと、エンジン回転数センサ７３ｂと、エンジン水温センサ７３ｃと、ポンプ圧力センサ７３ｄと、作動油温センサ７３ｅと、比例弁電流値センサ７３ｆと、がある。
【００３２】
ボタンオンオフセンサ７１ａは、操作パネル６３ａのボタン操作の状態がオンかオフかを検出する。操作パネル６３ａの複数のボタンごとに、ボタンオンオフセンサ７１ａが設けられる。操作量センサ７１ｂは、操作レバー６３ｂが操作された際に変化する値（電流および油圧の少なくともいずれか）を検出する。操作量センサ７１ｂは、図１Ｂに示す操作レバー６３ｂの操作の種類（例えば旋回、ブーム４３ａ上げ、ブーム４３ａ下げなど）ごとに設けられる。図１Ｃに示すレバーロックオンオフセンサ７１ｃは、レバーロック６３ｃがオンかオフかを検出する。
【００３３】
インジェクタ噴射量センサ７３ａは、エンジン４４（図１Ｂ参照）のインジェクタの燃料噴射量を検出する。エンジン回転数センサ７３ｂは、エンジン４４の回転数を検出する。エンジン回転数センサ７３ｂは、エンジン４４に駆動されるポンプの回転数を検出する結果、エンジン４４の回転数を検出してもよい。エンジン水温センサ７３ｃは、エンジン４４の冷却水の温度を検出する。ポンプ圧力センサ７３ｄは、エンジン４４が駆動するポンプが吐出する作動油の圧力を検出する。作動油温センサ７３ｅは、作業機械４０（図１Ｂ参照）の油圧回路を流れる作動油の温度を検出する。比例弁電流値センサ７３ｆは、油圧回路に設けられた比例弁の電流（比例弁への指令）を検出する。比例弁電流値センサ７３ｆは、コントローラ５０でもよい。さらに詳しくは、コントローラ５０が比例弁に出力する値をコントローラ５０が取得してもよい。
【００３４】
なお、鍵情報Ｋの生成に用いられるセンサ値は、上記の例以外のものでもよい。例えば、上記の例以外の入力装置６３が設けられる場合、その入力装置６３の操作を検出するセンサ７０のセンサ値が、鍵情報Ｋの生成に用いられてもよい。例えば、作業機械４０を操作するためのペダルなどが作業機械４０にある場合は、このペダルの操作量を検出するセンサ７０のセンサ値が、鍵情報Ｋの生成に用いられてもよい。例えば、図１Ｂに示す作業機械４０の姿勢（アタッチメント４３の姿勢、下部走行体４１に対する上部旋回体４２の旋回角度など）を検出するセンサ７０（図１Ｃ参照）のセンサ値が、鍵情報Ｋ（図１Ｃ参照）の生成に用いられてもよい。例えば、作業機械４０の位置、速度、および加速度の少なくともいずれかの状態を検出するセンサ７０のセンサ値が、鍵情報Ｋの生成に用いられてもよい。例えば、作業機械４０に設けられたカメラ（センサ７０に含まれる）のセンサ値が、鍵情報Ｋの生成に用いられてもよい。また、上記のセンサ７０の例の少なくとも一部が、作業機械４０に設けられなくてもよい。作業機械４０に存在するセンサ７０のセンサ値が、鍵情報Ｋの生成に用いられればよい。
【００３５】
（作動）
図１に示す情報処理システム１は、以下のように作動するように構成される。情報処理システム１の作動（情報処理方法、プログラム）の概要は、次の通りである。
【００３６】
情報処理システム１の作動は、鍵情報生成フェーズＳ１０（図１Ｄ、図１Ｆ、図１Ｇ参照）と、暗号化・復号化フェーズＳ４０（図１Ｅ、図１Ｈ、図１Ｉ参照）と、を有する。図１Ｄに示すように、鍵情報生成フェーズＳ１０は、情報（ここでは制御パラメータＰ）の送受信に用いるための鍵情報Ｋを生成するフェーズである。図１Ｅに示すように、暗号化・復号化フェーズＳ４０は、次のように行われる。外部装置１０（例えばデバイス２０）は、鍵情報Ｋを用いて、制御パラメータＰを作業機械４０に送信する。さらに詳しくは、デバイス２０は、鍵情報Ｋを用いて制御パラメータＰを暗号化し（ステップＳ５１）、暗号化した制御パラメータＰを作業機械４０に送信する（ステップＳ５３）。これにより、第三者による制御パラメータＰの窃取を抑制できる。また、作業機械４０は、鍵情報Ｋを用いて、暗号化された制御パラメータＰを復号する（ステップＳ６３）。これにより、作業機械４０が受信した制御パラメータＰ（さらに詳しくは暗号化された制御パラメータＰ）が、作業者が想定している制御パラメータＰであることを確認できる。情報処理システム１の作動の詳細は、次の通りである。以下では、処理（ステップ）の順に沿って説明する。なお、処理の順は、適宜変更されてもよい。
【００３７】
（鍵情報生成フェーズＳ１０）
図１Ｄに示すように、鍵情報生成フェーズＳ１０では、制御パラメータＰ（図１Ｅ参照）の送受信の際に用いるための鍵情報Ｋが生成される。デバイス２０は、作業機械４０の状態を通常状態から鍵情報生成状態へと移行させる命令（鍵情報生成状態移行命令）を、作業機械４０の状態管理部５２に送信する（ステップＳ１１）。情報（ここでは鍵情報生成状態移行命令）の送受信は、図１Ａに示すデバイス側送受信部２１および作業機械側送受信部５１を介して行われる（以下の送受信について同様）。図１Ｄに示すように、状態管理部５２は、作業機械４０（図１Ａ参照）を通常状態から鍵情報生成状態に移行（遷移）させる（ステップＳ１３）。なお、図１Ｇに示すように、状態管理部５２が鍵情報生成状態移行命令を受信しない場合（ステップＳ１２でＮＯの場合）、鍵情報生成フェーズＳ１０の処理を終了する。
【００３８】
図１Ｄに示すように、デバイス２０は、ＩＤを、作業機械４０の鍵情報生成部６１に送信する（ステップＳ１５）。なお、デバイス２０から作業機械４０へのＩＤの送信（ステップＳ１５）は、鍵情報生成状態移行命令の送信（ステップＳ１１）と同時に行われてもよい。以下、別々の処理として記載した処理が同時に行われてもよく、同時に行われる処理として記載した処理が別々に行われてもよい。また、作業機械４０のうちＩＤを受信する部分は、図１Ｄに示す例では鍵情報生成部６１であるが、鍵情報生成部６１である必要はない。以下で説明する情報の送受信についても、送受信を行う部分が適宜変更されてもよい。鍵情報生成部６１は、センサ７０からセンサ値を取得する（ステップＳ２１）。鍵情報生成部６１は、所定時間の間、センサ値を取得する。鍵情報生成部６１がセンサ値を取得する所定時間は、ある瞬間でもよく、長さを有する時間でもよい。鍵情報生成部６１がセンサ値を取得する所定時間の長さや時刻などは、センサ７０の種類によって異なってもよく、共通でもよい。
【００３９】
鍵情報生成部６１は、センサ値を鍵情報Ｋに変換することで、鍵情報Ｋを生成する（ステップＳ２３）。鍵情報生成部６１による鍵情報Ｋの生成の詳細は、次の通りである。上記のように、図１Ｃに示すように、センサ７０には複数の種類（例えばインジェクタ噴射量センサ７３ａ、エンジン回転数センサ７３ｂなど）があり、センサ値にも複数の種類がある。鍵情報生成部６１は、これらの複数種類のセンサ値のうち、少なくとも１種類のセンサ値に基づいて、鍵情報Ｋを生成する。鍵情報生成部６１が鍵情報Ｋの生成に用いるセンサ値の選び方は様々に決めることができる。例えば、鍵情報生成部６１は、入力装置６３の操作の状態に関するセンサ値、および、入力装置６３の操作以外の状態に関するセンサ値のうち、一方を選択してもよく、両方を選択してもよい。鍵情報生成部６１は、同じセンサ値を重複して選択してもよい。例えば、鍵情報生成部６１は、同じ種類のセンサ値かつ同じ時刻のセンサ値を重複して選択してもよく、同じ種類のセンサ値かつ異なる時刻のセンサ値を選択してもよい。鍵情報生成部６１は、鍵情報Ｋの生成ごとに、選択するセンサ値の種類を変えてもよく、選択するセンサ値を予め決めておいてもよい。
【００４０】
鍵情報生成部６１による、センサ値の鍵情報Ｋへの変換の具体例は、次の通りである。［例１］鍵情報生成部６１は、センサ値に基づいて生成したビット列を鍵情報Ｋとする。鍵情報生成部６１は、センサ値を例えば次のようにビット列に変換する。［例１Ａ］センサ値がオンかオフの場合（例えばボタンオンオフセンサ７１ａなどのセンサ値の場合）の例は次の通りである。この場合、鍵情報生成部６１は、センサ値がオンの場合はビット列を「０／１」とし、センサ値がオフの場合はビット列を「１／０」などとする（オンとオフとが互いに逆でもよい）。［例１Ｂ］センサ値が数値（圧力値や電流値など）の場合、鍵情報生成部６１は、センサ値の数値を二進数に変換することで、ビット列に変換する。［例１Ｃ］鍵情報生成部６１は、所定時間内で経時変化するセンサ値（時系列データ）に基づいて、センサ値をビット列に変換してもよい。例えば、鍵情報生成部６１は、時間ごとのセンサ値それぞれをビット列に変換し、各ビット列を組み合わせてもよい。［例１Ｄ］鍵情報Ｋの生成に用いられるセンサ値が複数の場合、鍵情報生成部６１は、それぞれのセンサ値をビット列に変換し、各ビット列を組み合わせてもよい。
【００４１】
［例２］鍵情報生成部６１は、センサ値やビット列を所定の関数で、少なくとも１回変換してもよい。［例２Ａ］鍵情報生成部６１は、センサ値を変換して最終的に得られたビット列を、所定の関数で変換してもよい。［例２Ｂ］鍵情報生成部６１は、最終的に得られる前の段階のセンサ値やビット列を、所定の関数で変換してもよい。［例２Ｂａ］鍵情報生成部６１は、所定時間内で経時変化するセンサ値（時系列データ）の、時間ごとのセンサ値を、所定の関数で変換してもよい。［例２Ｂｂ］鍵情報生成部６１は、複数種類のセンサ値のそれぞれを、所定の関数で変換してもよい。［例２Ｃ］所定の関数は、加減乗除でもよく、一方向関数でもよく、その他の関数でもよい。［例２Ｃａ］一方向関数は、例えば、ＳＨＡ−２（ＳＨＡ；Secure Hash Algorithm）（ＳＨＡ−２５６やＳＨＡー５１２など）などのハッシュ関数でもよい。
【００４２】
図１Ｄに示すように、鍵情報生成部６１は、ＩＤと、生成した鍵情報Ｋと、を鍵情報管理部５３に保存する（ステップＳ２５）。鍵情報管理部５３は、ＩＤと鍵情報Ｋとを対応させて保存する。また、鍵情報生成部６１は、デバイス２０に鍵情報Ｋを送信する（ステップＳ２７）。デバイス２０は、受信した鍵情報Ｋを保持部２３ｂ（図１Ａ参照）に保存する。状態管理部５２は、作業機械４０を通常状態に移行させる（ステップＳ３１）。通常状態では、鍵情報生成部６１は、センサ値の取得や鍵情報生成を行わない。
【００４３】
（暗号化・復号化フェーズＳ４０）
図１Ｅに示すように、暗号化・復号化フェーズＳ４０では、制御パラメータＰの暗号化および復号が行われる。デバイス２０の暗号化部２５（図１Ａ参照）は、鍵情報Ｋを用いて制御パラメータＰを暗号化する（ステップＳ５１）。暗号化部２５による暗号化には、例えばＡＥＳ（Advanced Encryption Standard）などの既存の共通鍵暗号方式が利用されてもよく、情報処理システム１（図１Ａ参照）独自の共通鍵暗号化方式が利用されてもよい。デバイス２０は、ＩＤと、暗号化した制御パラメータＰ（図１Ｅでは「Ｅｎｃ（制御パラメータＰ）」）と、を作業機械４０の復号化部５５に送信する（ステップＳ５３）。復号化部５５は、受信したＩＤに対応した鍵情報Ｋを、鍵情報管理部５３から抽出する（ステップＳ６１）。復号化部５５は、抽出した鍵情報Ｋを用いて、暗号化された制御パラメータＰを復号する（復号化）（ステップＳ６３）。復号化部５５は、復号に成功したか（正しく復号されたか）、失敗したか、を判定する（図１Ｉに示すステップＳ６５）。復号化部５５は、例えばパリティビットなどを利用して、復号に成功したか否かの判定を行う。
【００４４】
図１Ａに示す復号化部５５が、制御パラメータＰの復号に成功した場合（鍵情報Ｋによって正しく制御パラメータＰが復号された場合）、次の処理が行われる。この場合、作業機械４０は（例えば復号化部５５は）、復号した制御パラメータＰを制御パラメータ管理部５７に展開する（図１Ｉに示すステップＳ６６）。その結果、図１Ａに示す作業機械４０の作動が、復号された制御パラメータＰに基づいて制御される。また、図１Ｅに示すように、復号化部５５は、デバイス２０に、制御パラメータＰの展開が完了した旨（展開結果）を送信（通知）する（図１Ｉに示すステップＳ７１ａ）。展開結果を受信したデバイス２０は、図１Ａに示す出力部２２に展開結果を出力させる（図１Ｈに示すステップＳ７３）。
【００４５】
一方、図１Ａに示す復号化部５５が制御パラメータＰの復号に失敗した場合（鍵情報Ｋによって正しく制御パラメータＰが復号されなかった場合）、次の処理が行われる。この場合、復号化部５５は、デバイス２０に、展開が失敗した旨（展開結果）を通知する（図１Ｉに示すステップＳ７１ｂ）。展開結果を受信したデバイス２０は、図１Ａに示す出力部２２に展開結果を出力させる（図１Ｈに示すステップＳ７３）。復号化部５５が復号に失敗した場合、作業機械４０は、復号化に失敗した制御パラメータＰを制御パラメータ管理部５７に展開しない。このように、制御パラメータＰの復号に成功した場合のみ、制御パラメータ管理部５７に制御パラメータＰが展開される。よって、作業機械４０を利用する作業者と紐づいている（具体的にはＩＤと紐づいている）制御パラメータＰを作業機械４０に展開できる。よって、作業機械４０に展開される制御パラメータＰが、作業者の想定していない制御パラメータＰであることを抑制できる。
【００４６】
（情報を暗号化しない場合の問題）
外部装置１０と作業機械４０との間で情報が平文で授受された場合、第三者が情報を窃取し流出させるおそれがある。この情報が制御パラメータＰの場合は、流出した制御パラメータＰが、第三者（例えば他社）による作業機械４０の解析の手がかりとして利用されるおそれがある。また、第三者が、平文の制御パラメータＰを解析して、制御パラメータＰの正規のフォーマットを取得すると、正規のフォーマットで適当な（作業者の意図しない）制御パラメータＰを、作業機械４０に展開させるおそれがある。すると、作業者の想定しない作動を作業機械４０が実行するおそれや、作業機械４０が作動しないおそれがある。そこで、情報処理システム１は、制御パラメータＰを暗号化することで、これらの問題を抑制できる。
【００４７】
（第１の発明の効果）
［構成１］図１Ａに示すように、情報処理システム１は、センサ７０と、鍵情報生成部６１と、を備える。センサ７０は、作業機械４０に設けられたものである。鍵情報生成部６１は、作業機械４０に設けられ、センサ７０から入力されたセンサ値に基づいて鍵情報Ｋを生成する。鍵情報Ｋは、作業機械４０と、作業機械４０の外部に設けられる外部装置１０と、の間での情報の授受に用いられる。
【００４８】
上記［構成１］では、作業機械４０に設けられたセンサ７０のセンサ値に基づいて、鍵情報Ｋが生成される。よって、センサ７０のセンサ値を用いることなく作業機械４０で鍵情報Ｋが生成される場合に比べ、作業機械４０で鍵情報Ｋを容易に生成できる。具体的には、鍵情報Ｋを生成するための専用の乱数発生装置を不要にでき、また、鍵情報Ｋを生成するのに必要な処理能力（具体的にはコントローラ５０の処理能力）を抑制できる。
【００４９】
（第２の発明の効果）
［構成２］鍵情報生成部６１は、下記（２ａ）〜（２ｆ）のうち存在するセンサ値の中から少なくとも１つのセンサ値に基づいて、鍵情報Ｋを生成する。（２ａ）図１Ｂに示す作業機械４０のエンジン４４のインジェクタの燃料噴射量。（２ｂ）エンジン４４の回転数。（２ｃ）エンジン４４の冷却水の温度。（２ｄ）作業機械４０のポンプの圧力。（２ｅ）作業機械４０の作動油の温度。（２ｆ）および、作業機械４０の比例弁の電流。
【００５０】
上記［構成２］の各センサ値は、図１Ａに示す作業機械４０に通常搭載されているセンサ７０のセンサ値である。よって、鍵情報生成部６１は、作業機械４０に通常搭載されているセンサ７０のセンサ値を利用して、鍵情報Ｋを生成できる。
【００５１】
（第３の発明の効果）
［構成３］センサ７０は、作業機械４０の操作者に操作される入力装置６３の操作を検出する。鍵情報生成部６１は、下記（３ａ）〜（３ｃ）のうち存在するセンサ値の中から少なくとも１つのセンサ値に基づいて、鍵情報Ｋを生成する。（３ａ）図１Ｂに示す作業機械４０の操作パネル６３ａのボタンのオンオフ。（３ｂ）作業機械４０の操作レバー６３ｂが操作された際に変化する電流および圧力の少なくともいずれか。（３ｃ）ならびに、作業機械４０のレバーロック６３ｃのオンオフ。
【００５２】
上記［構成３］の各センサ値は、図１Ａに示す作業機械４０に通常搭載されている入力装置６３の操作に関するセンサ値である。よって、鍵情報生成部６１は、作業機械４０に通常搭載されているセンサ７０のセンサ値を利用して、鍵情報Ｋを生成できる。
【００５３】
（第４の発明の効果）
［構成４］鍵情報生成部６１は、センサ値に基づいて生成したビット列を、鍵情報Ｋとする。
【００５４】
上記［構成４］により、鍵情報生成部６１は、センサ値から、ビット列である鍵情報Ｋを導出できる。
【００５５】
（第５の発明の効果）
［構成５］鍵情報生成部６１は、所定時間内で経時変化するセンサ値に基づいて生成したビット列を、鍵情報Ｋとする。
【００５６】
上記［構成５］により、鍵情報生成部６１は、経時変化するセンサ値（時系列データ）に基づいて、ビット列である鍵情報Ｋを導出できる。
【００５７】
（第６の発明の効果）
［構成６］外部装置１０および作業機械４０のうち、情報を送信する側を送信側機器、情報を受信する側を受信側機器とする。送信側機器（例えば外部装置１０）は、受信側機器（例えば作業機械４０）に保存された鍵情報Ｋと同一の鍵情報Ｋを用いて情報を暗号化する（ステップＳ５１（図１Ｅ参照））。受信側機器（例えば作業機械４０）は、送信側機器（例えば外部装置１０）から受信した暗号化された情報を、受信側機器に保存された鍵情報Ｋを用いて復号する（ステップＳ６３（図１Ｅ参照））。
【００５８】
上記［構成６］では、外部装置１０と作業機械４０との間で授受される情報が暗号化されるので、外部装置１０と作業機械４０とで情報が授受される際の、第三者による情報の窃取（盗聴）を抑制できる。その結果、第三者が窃取した情報や、第三者が窃取した情報から生成した（例えば改変された）情報に基づいて、外部装置１０や作業機械４０が作動することを抑制できる。
【００５９】
（第９の発明の効果）
［構成９］上記情報（外部装置１０と作業機械４０との間で授受される情報）は、作業機械４０の作動を制御するための制御パラメータＰである。外部装置１０は、鍵情報Ｋを用いて、制御パラメータＰを作業機械４０に送信する。作業機械４０は、作業機械４０の作動を制御パラメータＰに基づいて制御するか否かを、鍵情報Ｋに基づいて判定する。
【００６０】
上記［構成９］では、作業機械４０の作動を制御パラメータＰに基づいて制御するか否かが、鍵情報Ｋに基づいて判定される。よって、鍵情報Ｋに基づいた適切な制御パラメータＰで、作業機械４０の作動の制御を行える。
【００６１】
（第１０の発明の効果）
［構成１０］外部装置１０は、作業機械４０から受信した鍵情報Ｋを用いて制御パラメータＰを暗号化する（図１Ｅに示すステップＳ５１）。図１Ｅに示すように、作業機械４０は、外部装置１０から受信した暗号化された制御パラメータＰを、作業機械４０に保存された鍵情報Ｋを用いて復号する（ステップＳ６３）。
【００６２】
上記［構成１０］では、制御パラメータＰが暗号化されるので、外部装置１０と作業機械４０とで制御パラメータＰが授受される際の、第三者による制御パラメータＰの窃取（盗聴）を抑制できる。その結果、次の効果が得られてもよい。第三者が、窃取した制御パラメータＰに基づいて、正規でない（例えば改変された）制御パラメータＰを生成し、正規でない制御パラメータＰを作業機械４０に送信し、展開させることを抑制できる。その結果、作業者の想定しない作動を作業機械４０が実行することや、作業機械４０が作動しないことを抑制できる。
【００６３】
（第１１の発明の効果）
［構成１１］作業機械４０の作動を制御パラメータＰに基づいて制御するための条件は、鍵情報Ｋによって正しく制御パラメータＰが復号されたことを含む。
【００６４】
上記［構成１１］により、作業機械４０の作動の制御に用いられる制御パラメータＰが、鍵情報Ｋによって正しく復号されたものであることを保障できる。
【００６５】
（第１６の発明の効果）
［構成１６］図１Ｄに示すように、本実施形態の情報処理方法は、作業機械４０に設けられたセンサ７０から入力されたセンサ値に基づいて鍵情報Ｋを生成するステップＳ２３を備える。鍵情報Ｋは、作業機械４０と、作業機械４０の外部に設けられる外部装置１０と、の間での情報の授受に用いられる（図１Ｅなどを参照）。
【００６６】
上記［構成１６］により、上記［構成１］による効果と同様の効果が得られる。
【００６７】
（第１７の発明の効果）
図１Ｅに示す外部装置１０および作業機械４０のうち、情報を送信する側を送信側機器、情報を受信する側を受信側機器とする。情報処理方法は、下記（ａ１７）および（ｂ１７）のステップを備える。
【００６８】
［構成１７］（ａ１７）送信側機器（例えば外部装置１０）が、受信側機器（例えば作業機械４０）に保存された鍵情報Ｋと同一の鍵情報Ｋを用いて情報を暗号化するステップＳ５１。（ｂ１７）受信側機器が、送信側機器から受信した暗号化された前記情報を、受信側機器保存された前記鍵情報を用いて復号するステップＳ６３。
【００６９】
上記［構成１７］により、上記［構成６］による効果と同様の効果が得られる。
【００７０】
（第２０の発明の効果）
上記情報（作業機械４０と外部装置１０との間で授受される情報）は、作業機械４０の作動を制御するための制御パラメータＰである。情報処理方法は、下記（ａ２０）および（ｂ２０）のステップを備える。
【００７１】
［構成２０］（ａ２０）外部装置１０が、鍵情報Ｋを用いて、制御パラメータＰを作業機械４０に送信するステップＳ５３。（ｂ２０）作業機械４０が、作業機械４０の作動を制御パラメータＰに基づいて制御するか否かを、鍵情報Ｋに基づいて判定するステップ（ステップＳ６３、図１Ｉに示すステップＳ６５を参照）。
【００７２】
上記［構成２０］により、上記［構成９］による効果と同様の効果が得られる。
【００７３】
（第２１の発明の効果）
［構成２１］図１Ｄに示すように、本実施形態のプログラムは、作業機械４０に設けられたセンサ７０から入力されたセンサ値に基づいて鍵情報Ｋを生成するステップＳ２３をコントローラ５０（コンピュータ）に実行させる。鍵情報Ｋは、作業機械４０と、作業機械４０の外部に設けられる外部装置１０と、の間での情報の授受に用いられる（図１Ｅなどを参照）。
【００７４】
上記［構成１４］により、上記［構成１］による効果と同様の効果が得られる。
【００７５】
（第２２の発明の効果）
［構成２２］外部装置１０および作業機械４０のうち、情報を送信する側を送信側機器、情報を受信する側を受信側機器とする。プログラムは、上記［構成１７］の（ａ１７）および（ｂ１７）のステップを備える。
【００７６】
上記［構成２２］により、上記［構成６］による効果と同様の効果が得られる。
【００７７】
（第２５の発明の効果）
［構成２５］上記情報（作業機械４０と外部装置１０との間で授受される情報）は、作業機械４０の作動を制御するための制御パラメータＰである。プログラムは、上記［構成２０］の（ａ２０）および（ｂ２０）のステップを備える。
【００７８】
上記［構成２５］により、上記［構成９］による効果と同様の効果が得られる。
【００７９】
（第２実施形態）
図２Ａ〜図２Ｂを参照して、第２実施形態の情報処理システム２０１（図２Ａ参照）、情報処理方法、およびプログラムについて、第１実施形態との相違点を説明する。なお、第２実施形態と第１実施形態との共通点については、説明を省略した。共通点の説明を省略する点については、後述する他の実施形態の説明も同様である。
【００８０】
外部装置１０は、図２Ａに示すように、デバイス２０と、サーバ２２０と、を備える。図１Ａに示す例におけるデバイス２０の構成要素の一部（暗号化部２５など）が、本実施形態では、図２Ａに示すように、サーバ２２０に設けられる。デバイス２０は、暗号化部２５を備えなくてもよい。デバイス側送受信部２１は、作業機械４０とデバイス２０との間だけでなく、サーバ２２０（サーバ側送受信部２２１）とデバイス２０との間でも情報を送受信する。デバイス２０の保持部２３は、ＩＤを保持し、鍵情報Ｋを保持しなくてもよい。第１実施形態におけるデバイス２０に関する説明は、デバイス２０またはサーバ２２０に関する説明（すなわち外部装置１０に関する説明）に読み替えてよい（他の実施形態についても同様）。
【００８１】
サーバ２２０は、鍵情報Ｋの一元管理を行う。サーバ２２０は、制御パラメータＰの一元管理を行う。サーバ２２０は、デバイス２０とは別に設けられる。サーバ２２０は、サーバ側送受信部２２１と、暗号化部２５（第１実施形態と同様）と、保持部２２３と、抽出部２２４と、を備える。
【００８２】
サーバ側送受信部２２１は、サーバ２２０と作業機械４０との間、および、サーバ２２０とデバイス２０との間で、情報を送受信する。保持部２２３は、制御パラメータＰを保持する保持部２２３ａと、鍵情報Ｋを保持する保持部２２３ｂと、を備える。保持部２２３ａは、複数の作業者のＩＤと制御パラメータＰ（図２Ａでは「パラメータ群」）とを対応させて（紐付けて）保持する。保持部２２３ｂは、複数の作業者のＩＤと鍵情報Ｋとを対応させて保持する。これにより、複数の作業者の鍵情報Ｋが、サーバ２２０で一元管理されるので、例えば作業機械４０の管理者などの利便性が向上する（制御パラメータＰも同様）。抽出部２２４は、保持部２２３から、特定の鍵情報Ｋおよび制御パラメータＰを抽出する（後述）。
【００８３】
（作動）
第１実施形態の情報処理システム１（図１Ａ参照）の作動に対する、本実施形態の情報処理システム２０１の作動（情報処理方法、プログラム）の相違点は、次の通りである。
【００８４】
鍵情報生成フェーズＳ１０（図１Ｄ参照）は、第１実施形態とほぼ同様に行われる。図１Ｄに示す例では、デバイス２０は、作業機械４０（鍵情報生成部６１）にＩＤを送信した（ステップＳ１５）。本実施形態では、図２Ａに示すデバイス２０は、サーバ２２０を介して作業機械４０にＩＤを送信してもよく、直接的に作業機械４０にＩＤを送信してもよい（ＩＤ以外の情報の送受信についても同様）。
【００８５】
（暗号化・復号化フェーズＳ２４０）
図１Ａに示す例では、デバイス２０の暗号化部２５が、制御パラメータＰを暗号化した。一方、本実施形態では、図２Ａに示すサーバ２２０の暗号化部２５が、制御パラメータＰを暗号化する。詳細は次の通りである。図２Ｂに示すように、デバイス２０は、サーバ２２０の抽出部２２４（図２Ａ参照）にＩＤを送信する（ステップＳ２４１）。図２Ａに示す抽出部２２４は、デバイス２０から受信したＩＤに対応する制御パラメータＰを保持部２２３ａから抽出し、デバイス２０から受信したＩＤに対応する鍵情報Ｋを保持部２２３ｂから抽出する（図２Ｂに示すステップＳ２４３）。暗号化部２５は、抽出された鍵情報Ｋを用いて、抽出された制御パラメータＰを暗号化する（図２Ｂに示すステップＳ５１）。なお、抽出部２２４が、デバイス２０から受信したＩＤに対応する制御パラメータＰおよび鍵情報Ｋを見つけられない場合は、暗号化部２５は、暗号化を行わない。図２Ｂに示すように、サーバ２２０は、ＩＤおよび暗号化した制御パラメータＰを、作業機械４０の復号化部５５に送信する（ステップＳ２５３）。ステップＳ５３よりも後の処理は、第１実施形態と同様である。
【００８６】
（第３実施形態）
図３Ａ〜図３Ｄを参照して、第３実施形態の情報処理システム３０１（図３Ａ参照）、情報処理方法、およびプログラムについて、第１実施形態との相違点を説明する。第１実施形態の情報処理システム１（図１Ａ参照）は情報暗号化システムであった。一方、本実施形態の情報処理システム３０１（図３Ａ参照）は、図３Ａに示す作業機械４０が受信した情報が改ざんされたものであるか否かを検知する、情報改ざん検知システムである。
【００８７】
デバイス２０は、第１ＭＡＣ生成部３２５（ＭＡＣ；Message Authentication Code、メッセージ認証符号）（メッセージ認証符号生成装置）を備える。第１ＭＡＣ生成部３２５は、鍵情報Ｋと、その他の情報（例えば制御パラメータＰ）と、から第１ＭＡＣ（第１認証符号）を生成する（詳細は後述）。第１ＭＡＣ生成部３２５は、耐タンパ性ができるだけ高い部分に実装されることが好ましい（第２ＭＡＣ生成部３５５も同様）。デバイス２０は、暗号化部２５（図１Ａ参照）を備えなくてもよい。
【００８８】
作業機械４０は、第２ＭＡＣ生成部３５５（メッセージ認証符号生成装置）と、判定部３５６と、を備える。第２ＭＡＣ生成部３５５は、鍵情報Ｋと、その他の情報（例えば制御パラメータＰ）と、から第２ＭＡＣ（第２認証符号）を生成する（詳細は後述）。判定部３５６（判定装置）は、第１ＭＡＣと第２ＭＡＣとを比較する事で、情報（例えば制御パラメータＰ）が改ざんされたか否かを判定する（詳細は後述）。作業機械４０は、復号化部５５（図１Ａ参照）を備えなくてもよい。
【００８９】
（作動）
情報処理システム３０１の作動（情報処理方法、プログラム）の概要は、次の通りである。情報処理システム３０１の作動は、第１実施形態と同様の鍵情報生成フェーズＳ１０（図１Ｄ参照）と、改ざん検知フェーズＳ３４０（図３Ｂ、図３Ｃ、および図３Ｄ参照）と、を有する。
【００９０】
（改ざん検知フェーズＳ３４０）
図３Ｂに示す改ざん検知フェーズＳ３４０は、情報（ここでは制御パラメータＰ）が改ざんされたか否かを検知するフェーズである。改ざん検知フェーズＳ３４０の概要は、次の通りである。外部装置１０（デバイス２０）は、鍵情報Ｋを用いて、制御パラメータＰを作業機械４０に送信する。さらに詳しくは、デバイス２０は、鍵情報Ｋと制御パラメータＰとに基づいて第１ＭＡＣを生成し（ステップＳ３５１）、制御パラメータＰと第１ＭＡＣとを作業機械４０に送信する（ステップＳ３５３）。作業機械４０は、鍵情報Ｋと制御パラメータＰとに基づいて第２ＭＡＣを生成し（ステップＳ３６３）、デバイス２０から受信した第１ＭＡＣと生成した第２ＭＡＣとが一致するか否かを判定する（ステップＳ３６５）。作業機械４０が、第１ＭＡＣと第２ＭＡＣとの一致を確認することにより、第三者により制御パラメータＰが改ざんされていないことを確認できる。その結果、作業機械４０が受信した制御パラメータＰが、作業者が想定している制御パラメータＰであるか否かを確認できる。改ざん検知フェーズＳ３４０の詳細は、次の通りである。
【００９１】
デバイス２０の第１ＭＡＣ生成部３２５（図３Ａ参照）は、鍵情報Ｋと制御パラメータＰとに基づいて第１ＭＡＣを生成する（ステップＳ３５１）。さらに詳しくは、図３Ａに示す第１ＭＡＣ生成部３２５は、作業機械４０から受信して保持部２３ｂに保持された鍵情報Ｋと、保持部２３ａに保持された制御パラメータＰと、に基づいて第１ＭＡＣを生成する。具体的には例えば、第１ＭＡＣ生成部３２５による第１ＭＡＣの生成は、ハッシュ関数を利用したものでもよい（第１ＭＡＣはＨＭＡＣ（Hash-based Message Authentication Code）でもよい）。第１ＭＡＣ生成部３２５による第１ＭＡＣの生成は、ブロック暗号に基づくものでもよい（第１ＭＡＣはＣＭＡＣ（Cipher-based MAC）でもよい）。第１ＭＡＣ生成部３２５による第１ＭＡＣの生成は、情報処理システム３０１独自のＭＡＣ生成方式によるものでもよい。このＭＡＣ生成の具体例については、第２ＭＡＣ生成部３５５によるＭＡＣの生成も同様である。図３Ｂに示すように、デバイス２０は、ＩＤ、生成した第１ＭＡＣ、および制御パラメータＰを、作業機械４０の第２ＭＡＣ生成部３５５に送信する（ステップＳ３５３）。なお、デバイス２０が作業機械４０にＩＤを送信するタイミングは、第１ＭＡＣ生成部３２５（図３Ａ参照）での第１ＭＡＣの生成よりも前でもよい。
【００９２】
作業機械４０の第２ＭＡＣ生成部３５５は、デバイス２０から受信したＩＤに対応した鍵情報Ｋを鍵情報管理部５３から抽出する（ステップＳ３６１）。第２ＭＡＣ生成部３５５は、デバイス２０から受信した制御パラメータＰと、鍵情報管理部５３から抽出した鍵情報Ｋ（作業機械４０に保存された鍵情報Ｋ）と、に基づいて、第２ＭＡＣを生成する（ステップＳ３６３）。第２ＭＡＣ生成部３５５は、第１ＭＡＣと第２ＭＡＣとを判定部３５６に送信する（ステップＳ３６４）。判定部３５６は、第１ＭＡＣと第２ＭＡＣとを比較し（ステップＳ３６５）、第１ＭＡＣと第２ＭＡＣとが一致するか否かを判定する。
【００９３】
第１ＭＡＣと第２ＭＡＣとが一致する場合（図３Ｄに示すステップＳ３６５でＹＥＳの場合）、図３Ａに示す作業機械４０は、制御パラメータＰを制御パラメータ管理部５７に展開する（図３Ｄに示すステップＳ６６）。その結果、図３Ａに示す作業機械４０の作動が、この制御パラメータＰに基づいて制御される。また、作業機械４０の判定部３５６は、デバイス２０に、制御パラメータＰの展開が完了した旨を送信する（図３Ｄに示すステップＳ７１ａ）。
【００９４】
一方、第１ＭＡＣと第２ＭＡＣとが一致しない場合（ステップＳ３６５でＮＯの場合）、図３Ａに示す判定部３５６は、デバイス２０に、展開が失敗した旨を通知する（図３Ｄに示すステップＳ７１ｂ）。この場合、図３Ａに示す作業機械４０は、受信した制御パラメータＰを制御パラメータ管理部５７に展開しない。このように、第１ＭＡＣと第２ＭＡＣとが一致する場合のみ、制御パラメータ管理部５７に制御パラメータＰを展開する。よって、改ざんされていない制御パラメータＰが作業機械４０に展開され、作業機械４０を利用する作業者と紐づいている（具体的にはＩＤと紐づいている）制御パラメータＰが作業機械４０に展開される。よって、作業機械４０に展開される制御パラメータＰが、作業者の想定していない制御パラメータＰであることを抑制できる。
【００９５】
（情報の改ざんを検知しない場合の問題）
情報の改ざんが検知されない場合は、第三者に改ざんされた情報が、作業機械４０に受信され、作業機械４０に利用されるおそれがある。例えば、第三者に改ざんされた制御パラメータＰが、作業機械４０に受信され、展開された場合、作業者の想定していない動作を作業機械４０が実行するおそれや、作業機械４０が作動しないおそれがある。そこで、情報処理システム３０１は、制御パラメータＰの改ざんを検知することで、この問題を抑制できる。
【００９６】
（第７の発明の効果）
［構成７］図３Ｂに示す外部装置１０および作業機械４０のうち、情報を送信する側を送信側機器、情報を受信する側を受信側機器とする。送信側機器（例えば外部装置１０）は、受信側機器（例えば作業機械４０）に保存された鍵情報Ｋと同一の鍵情報Ｋと、情報と、に基づいて第１ＭＡＣ（第１認証符号）を生成する（ステップＳ３５１）。受信側機器（例えば作業機械４０）は、情報および第１ＭＡＣを送信側機器（例えば外部装置１０）から受信し、受信した情報と受信側機器に保存された鍵情報Ｋとに基づいて第２ＭＡＣ（第２認証符号）を生成する（ステップＳ３６３）。受信側機器（例えば作業機械４０）は、第１ＭＡＣと第２ＭＡＣとを比較する（ステップＳ３６５）。
【００９７】
上記［構成７］のように第１ＭＡＣと第２ＭＡＣとを比較することで、第１ＭＡＣを生成した情報と、第２ＭＡＣを生成した情報とが、一致するか否か（改ざんされていないか）を検知できる。さらに詳しくは、第１ＭＡＣと第２ＭＡＣとが一致する場合、送信側機器（例えば外部装置１０）が送信した情報と、受信側機器（例えば作業機械４０）が受信した情報と、が一致する。よって、情報が改ざんされていないことを確認できる。また、第１ＭＡＣと第２ＭＡＣとが一致しない場合、送信側機器（例えば外部装置１０）が送信した情報と、受信側機器（例えば作業機械４０）が受信した情報と、が互いに異なる。よって、情報が改ざんされたことを検知できる。その結果、第三者に改ざんされた情報に基づいて、外部装置１０や作業機械４０が作動することを抑制できる。
【００９８】
（第１２の発明の効果）
［構成１２］外部装置１０は、作業機械４０から受信した鍵情報Ｋと、制御パラメータＰと、に基づいて第１ＭＡＣ（第１認証符号）を生成する（ステップＳ３５１）。作業機械４０は、制御パラメータＰおよび第１ＭＡＣを外部装置１０から受信する（ステップＳ３５３）。作業機械４０は、受信した制御パラメータＰと、作業機械４０に保存された鍵情報Ｋと、に基づいて第２ＭＡＣ（第２認証符号）を生成する（ステップＳ３６３）。作業機械４０は、第１ＭＡＣと第２ＭＡＣとを比較する（ステップＳ３６５）。
【００９９】
上記［構成１２］のように第１ＭＡＣと第２ＭＡＣとを比較することで、第１ＭＡＣを生成した制御パラメータＰと、第２ＭＡＣを生成した制御パラメータＰとが、一致するか否か（改ざんされていないか）を検知できる。その結果、次の効果が得られてもよい。第三者が、改ざんした制御パラメータＰを作業機械４０に送信し、展開させることを抑制できる。その結果、作業者の想定しない作動を作業機械４０が実行することや、作業機械４０が作動しないことを抑制できる。
【０１００】
（第１３の発明の効果）
［構成１３］作業機械４０の作動を制御パラメータＰに基づいて制御するための条件は、第１ＭＡＣと第２ＭＡＣとが一致することを含む。
【０１０１】
上記［構成１３］により、作業機械４０の作動の制御に用いられる制御パラメータＰが、改ざんされていないことを保障できる。
【０１０２】
（第１８の発明の効果）
外部装置１０および作業機械４０のうち、情報を送信する側を送信側機器、情報を受信する側を受信側機器とする。情報処理方法は、下記の（ａ１８）および（ｂ１８）のステップを備える。
【０１０３】
［構成１８］（ａ１８）送信側機器（例えば外部装置１０）が、受信側機器（例えば作業機械４０）に保存された鍵情報Ｋと同一の鍵情報Ｋと、情報と、に基づいて第１ＭＡＣ（第１認証符号）を生成するステップＳ３５１。（ｂ１８）受信側機器が、情報および第１ＭＡＣを送信側機器から受信し、受信した情報と受信側機器に保存された鍵情報Ｋとに基づいて第２ＭＡＣ（第２認証符号）を生成し（ステップＳ３６３）、第１ＭＡＣと第２ＭＡＣとを比較するステップＳ３６５。
【０１０４】
上記［構成１８］により、上記［構成１２］による効果と同様の効果が得られる。
【０１０５】
（第２３の発明の効果）
［構成２３］外部装置１０および作業機械４０のうち、情報を送信する側を送信側機器、情報を受信する側を受信側機器とする。プログラムは、上記［構成１８］の（ａ１８）および（ｂ１８）のステップを備える。
【０１０６】
上記［構成２３］により、上記［構成１２］による効果と同様の効果が得られる。
【０１０７】
（第４実施形態）
図４Ａ〜図４Ｂを参照して、第４実施形態の情報処理システム４０１（図４Ａ参照）、情報処理方法、およびプログラムについて、主に第２実施形態および第３実施形態との相違点を説明する。
【０１０８】
外部装置１０は、図４Ａに示すように、デバイス２０と、サーバ２２０と、を備える（第２実施形態と同様）。サーバ２２０の構成は、第２実施形態のサーバ２２０（図２Ａ参照）とほぼ同様である。図４Ａに示すように、サーバ２２０は、第３実施形態のデバイス２０（図３Ａ参照）と同様に、第１ＭＡＣ生成部３２５を備え、暗号化部２５（図２Ａ参照）を備えなくてもよい。なお、作業機械４０の構成は、第３実施形態の作業機械４０（図３Ａ参照）と同様である。
【０１０９】
（作動）
主に、第２実施形態の情報処理システム２０１（図２Ａ参照）、および第３実施形態の情報処理システム３０１（図３Ａ参照）の作動に対する、本実施形態の情報処理システム４０１（図４Ａ参照）の作動（情報処理方法、プログラム）の相違点を説明する。鍵情報生成フェーズＳ１０（図１Ｄ参照）は、第２実施形態と同様に行われる。
【０１１０】
（改ざん検知フェーズＳ４４０）
図３Ａに示すように、第３実施形態では、デバイス２０の第１ＭＡＣ生成部３２５が、第１ＭＡＣを生成した。一方、図４Ａに示すように、本実施形態では、サーバ２２０の第１ＭＡＣ生成部３２５が、第１ＭＡＣを生成する。図４Ｂに示す改ざん検知フェーズＳ４４０に関する、第２、第３実施形態との相違点の詳細は、次の通りである。デバイス２０は、サーバ２２０の抽出部２２４（図４Ａ参照）にＩＤを送信する（第２実施形態と同様）（ステップＳ２４１）。図４Ａに示す抽出部２２４は、デバイス２０から受信したＩＤに対応する制御パラメータＰを保持部２２３ａから抽出し、デバイス２０から受信したＩＤに対応する鍵情報Ｋを保持部２２３ｂから抽出する（第２実施形態と同様）（図４Ｂに示すステップＳ２４３）。第１ＭＡＣ生成部３２５は、抽出された鍵情報Ｋと、抽出された制御パラメータＰとに基づいて、第１ＭＡＣを生成する（図４Ｂに示すステップＳ３５１）。なお、抽出部２２４が、デバイス２０から受信したＩＤに対応する制御パラメータＰおよび鍵情報Ｋを見つけられない場合は、第１ＭＡＣ生成部３２５は、第１ＭＡＣの生成を行わない。図４Ｂに示すように、サーバ２２０は、ＩＤ、制御パラメータＰ、および第１ＭＡＣを、作業機械４０（例えば第２ＭＡＣ生成部３５５）に送信する（ステップＳ４５３）。ステップＳ４５３よりも後の処理は、第３実施形態と同様である。
【０１１１】
（第５実施形態）
図５Ａ〜図５Ｄを参照して、第５実施形態の情報処理システム５０１、情報処理方法、およびプログラムについて、第１実施形態との相違点を説明する。第１実施形態の情報処理システム１（図１Ａ参照）は情報暗号化システムであった。一方、本実施形態の情報処理システム５０１は、図５Ａに示す作業機械４０が受信した情報が、正規の外部装置１０（正規のデバイス２０）が送信した情報か否かを検知する、情報利用者認証システム（なりすまし検出システム）である。
【０１１２】
デバイス２０は、結合部５２５（情報結合装置）を備える。結合部５２５は、鍵情報Ｋと、その他の情報（例えば制御パラメータＰ）と、を結合する（詳細は後述）。結合部５２５は、耐タンパ性ができるだけ高い部分に実装されることが好ましい。デバイス２０は、暗号化部２５（図１Ａ参照）を備えなくてもよい。
【０１１３】
作業機械４０は、判定部５５５（情報判定装置）を備える。判定部５５５は、作業機械４０が受信した情報が、正規のデバイス２０から送信されたものであるか否か（第三者が送信したか、なりすましであるか）を判定する（詳細は後述）。作業機械４０は、復号化部５５（図１Ａ参照）を備えなくてもよい。
【０１１４】
（作動）
情報処理システム５０１の作動（情報処理方法、プログラム）の概要は、次の通りである。情報処理システム５０１の作動は、第１実施形態と同様の鍵情報生成フェーズＳ１０（図１Ｄ参照）と、認証フェーズＳ５４０（図５Ｂ、図５Ｃ、および図５Ｄ参照）と、を有する。
【０１１５】
（認証フェーズＳ５４０）
図５Ｂに示す認証フェーズＳ５４０は、情報利用者の認証を行うフェーズである。認証フェーズＳ５４０の概要は、次の通りである。外部装置１０は、鍵情報Ｋを用いて、制御パラメータＰを作業機械４０に送信する。さらに詳しくは、デバイス２０は、鍵情報Ｋと制御パラメータＰとを結合し（ステップＳ５５１）、結合した鍵情報Ｋ（第１鍵情報Ｋ１ともいう）および制御パラメータＰを作業機械４０に送信する（ステップＳ５５３）。作業機械４０は、デバイス２０から受信した鍵情報Ｋ（第１鍵情報Ｋ１）と、この受信よりも前に作業機械４０に保持された鍵情報Ｋ（第２鍵情報Ｋ２ともいう）と、が一致するか否かを判定する（ステップＳ５６５）。作業機械４０が、第１鍵情報Ｋ１と第２鍵情報Ｋ２との一致を確認することにより、正規のデバイス２０から制御パラメータＰが送信されたことを確認できる。その結果、作業機械４０が受信した制御パラメータＰが、作業者が想定している制御パラメータＰであることを確認できる。認証フェーズＳ５４０の詳細は、次の通りである。
【０１１６】
デバイス２０の結合部５２５（図５Ａ参照）は、鍵情報Ｋと制御パラメータＰとを結合する（ステップＳ５５１）。さらに詳しくは、図５Ａに示す結合部５２５は、デバイス２０の保持部２３ｂに保持された鍵情報Ｋ（作業機械４０から受信した鍵情報Ｋ）と、デバイス２０の保持部２３ａに保持された制御パラメータＰと、を結合する。具体的には例えば、結合部５２５は、制御パラメータＰのデータの特定の箇所（例えばデータの先頭や末尾など）に鍵情報Ｋを添付（追記）する。上記「特定の箇所」がどこであるかは、作業機械４０とデバイス２０とに設定される（共有される）。図５Ｂに示すように、デバイス２０は、ＩＤ、制御パラメータＰ、および鍵情報Ｋ（第１鍵情報Ｋ１）を作業機械４０に送信する（ステップＳ５５３）．なお、デバイス２０は、制御パラメータＰと鍵情報Ｋとを結合する前に、作業機械４０にＩＤを送信してもよい。
【０１１７】
作業機械４０の判定部５５５は、デバイス２０から受信したＩＤに対応した鍵情報Ｋ（第２鍵情報Ｋ２）を鍵情報管理部５３から抽出する（ステップＳ５６１）。第２鍵情報Ｋ２は、作業機械４０が第１鍵情報Ｋ１を受信する前に、作業機械４０に保存された鍵情報Ｋである。第２鍵情報Ｋ２は、図１Ｄに示す鍵情報生成フェーズＳ１０で、鍵情報生成部６１に生成され（ステップＳ２３）、鍵情報管理部５３に保存（ステップＳ２５）された鍵情報Ｋである。図５Ｂに示すように、判定部５５５は、第１鍵情報Ｋ１と第２鍵情報Ｋ２とを比較し（ステップＳ５６５）、第１鍵情報Ｋ１と第２鍵情報Ｋ２とが一致するか否かを判定する。
【０１１８】
第１鍵情報Ｋ１と第２鍵情報Ｋ２とが一致する場合（図５Ｄに示すステップＳ５６５でＹＥＳの場合）、図５Ａに示す作業機械４０は、制御パラメータＰを制御パラメータ管理部５７に展開する（図５Ｄに示すステップＳ６６）。その結果、図５Ａに示す作業機械４０の作動が、この制御パラメータＰに基づいて制御される。また、作業機械４０の判定部５５５は、デバイス２０に、制御パラメータＰの展開が完了した旨を送信する（図５Ｄに示すステップＳ７１ａ）。
【０１１９】
一方、第１鍵情報Ｋ１と第２鍵情報Ｋ２とが一致しない場合（ステップＳ５６５でＮＯの場合）、図５Ａに示す判定部５５５は、デバイス２０に、展開が失敗した旨を通知する（図５Ｄに示すステップＳ７１ｂ）。この場合、図５Ａに示す作業機械４０は、受信した制御パラメータＰを制御パラメータ管理部５７に展開しない。このように、第１鍵情報Ｋ１と第２鍵情報Ｋ２とが一致する場合のみ、制御パラメータ管理部５７に制御パラメータＰを展開する。よって、正規のデバイス２０から送信された制御パラメータＰが展開され、作業機械４０を利用する作業者と紐づいている（具体的にはＩＤと紐づいている）制御パラメータＰが展開される。よって、作業機械４０に展開される制御パラメータＰが、作業者の想定していない制御パラメータＰであることを抑制できる。
【０１２０】
（情報利用者の認証が行われない場合の問題）
情報利用者の認証が行われない場合は、第三者が送信した情報が、作業機械４０に受信され、作業機械４０に利用されるおそれがある。例えば、第三者が送信した制御パラメータＰが、作業機械４０に受信され、展開された場合、作業者の想定していない動作を作業機械４０が実行してしまうおそれや、作業機械４０が作動しないおそれがある。そこで、情報処理システム５０１は、情報利用者の認証を行うことで、この問題を抑制できる。
【０１２１】
（第８の発明の効果）
［構成８］図５Ｂに示す外部装置１０および作業機械４０のうち、情報を送信する側を送信側機器、情報を受信する側を受信側機器とする。送信側機器（例えば外部装置１０）は、受信側機器（例えば作業機械４０）に保存された鍵情報Ｋと同一の鍵情報Ｋと、情報と、を結合する（ステップＳ５５１）。受信側機器（例えば作業機械４０）は、結合された鍵情報Ｋ（第１鍵情報Ｋ１）と情報とを送信側機器（例えば外部装置１０）から受信する（ステップＳ５５３）。受信側機器（例えば作業機械４０）は、受信した第１鍵情報Ｋ１と、受信側機器が第１鍵情報Ｋ１を受信する前に受信側機器に保存された第２鍵情報Ｋ２と、を比較する（ステップＳ５６５）。
【０１２２】
上記［構成８］では、第１鍵情報Ｋ１と第２鍵情報Ｋ２とが比較される。これにより、受信側機器に第１鍵情報Ｋ１を送信した装置と、受信側機器（例えば作業機械４０）に保存された第２鍵情報Ｋ２と同一の鍵情報Ｋを保持している正規の送信側機器（例えば外部装置１０）と、が一致するか否か（なりすましでないか）を検知きる。さらに詳しくは、第１鍵情報Ｋ１と第２鍵情報Ｋ２とが一致する場合、受信側機器（例えば作業機械４０）に第１鍵情報Ｋ１を送信した機器と、正規の送信側機器と、が一致する（なりすましでない）ことを確認できる。また、第１鍵情報Ｋ１と第２鍵情報Ｋ２とが一致しない場合、作業機械４０に第１鍵情報Ｋ１を送信した機器と、正規の送信側機器と、が一致しない（なりすましである）ことを検知できる。その結果、第三者が送信した正規でない情報に基づいて、外部装置１０や作業機械４０が作動することを抑制できる。
【０１２３】
（第１４の発明の効果）
［構成１４］外部装置１０は、作業機械４０から受信した鍵情報Ｋと制御パラメータＰとを結合する（ステップＳ５５１）。作業機械４０は、結合された鍵情報Ｋ（第１鍵情報Ｋ１）と制御パラメータＰとを外部装置１０から受信する。作業機械４０は、受信した第１鍵情報Ｋ１と、作業機械４０が第１鍵情報Ｋ１を受信する前に作業機械４０に保存された第２鍵情報Ｋ２と、を比較する（ステップＳ５６５）。
【０１２４】
上記［構成１４］により、第１鍵情報Ｋ１と第２鍵情報Ｋ２とを比較することで、作業機械４０に制御パラメータＰおよび第１鍵情報Ｋ１を送信した装置と、作業機械４０が鍵情報Ｋを予め送信した外部装置１０と、が一致するか否かを検知できる。その結果、次の効果が得られてもよい。第三者が、正規でない制御パラメータＰを作業機械４０に送信し、展開させることを抑制できる。その結果、作業者の想定しない作動を作業機械４０が実行することや、作業機械４０が作動しないことを抑制できる。
【０１２５】
（第１５の発明の効果）
［構成１５］作業機械４０の作動を制御パラメータＰに基づいて制御するための条件は、作業機械４０が受信した第１鍵情報Ｋ１と、作業機械４０が第１鍵情報Ｋ１を受信する前に作業機械４０に保存された第２鍵情報Ｋ２と、が一致することを含む。
【０１２６】
上記［構成１５］により、作業機械４０の作動の制御に用いられる制御パラメータＰが、正規の外部装置１０（作業機械４０が鍵情報Ｋを予め送信した外部装置１０）が送信したものであること（なりすましでないこと）を保障できる。
【０１２７】
（第１９の発明の効果）
外部装置１０および作業機械４０のうち、情報を送信する側を送信側機器、情報を受信する側を受信側機器とする。情報処理方法は、次の（ａ１９）および（ｂ１９）のステップを備える。
【０１２８】
［構成１９］（ａ１９）送信側機器（例えば外部装置１０）が、受信側機器（例えば作業機械４０）に保存された第２鍵情報Ｋ２と同一の鍵情報Ｋと、情報と、を結合するステップＳ５５１。（ｂ１９）受信側機器（例えば作業機械４０）が、結合された鍵情報Ｋ（第１鍵情報Ｋ１）と情報とを送信側機器（例えば外部装置１０）から受信する（ステップＳ５５３）。また、受信側機器（例えば作業機械４０）が、受信した第１鍵情報Ｋ１と、受信側機器が第１鍵情報Ｋ１を受信する前に受信側機器に保存された第２鍵情報Ｋ２と、を比較するステップＳ５６５。
【０１２９】
上記［構成１９］により、上記［構成８］による効果と同様の効果が得られる。
【０１３０】
（第２４の発明の効果）
［構成２４］外部装置１０および作業機械４０のうち、情報を送信する側を送信側機器、情報を受信する側を受信側機器とする。プログラムは、上記［構成１９］の（ａ１９）および（ｂ１９）のステップを備える。
【０１３１】
上記［構成２４］により、上記［構成８］による効果と同様の効果が得られる。
【０１３２】
（第６実施形態）
図６Ａ〜図６Ｂを参照して、第６実施形態の情報処理システム６０１（図６Ａ参照）、情報処理方法、およびプログラムについて、主に第２実施形態および第５実施形態との相違点を説明する。
【０１３３】
外部装置１０は、図６Ａに示すように、デバイス２０と、サーバ２２０と、を備える（第２実施形態と同様）。サーバ２２０の構成は、第２実施形態のサーバ２２０（図２Ａ参照）とほぼ同様である。図６Ａに示すように、サーバ２２０は、第５実施形態のデバイス２０（図５Ａ参照）と同様に結合部５２５を備え、暗号化部２５（図２Ａ参照）を備えなくてもよい。なお、作業機械４０の構成は、第５実施形態の作業機械４０（図５Ａ参照）と同様である。
【０１３４】
（作動）
主に、第２実施形態の情報処理システム２０１（図２Ａ参照）および第５実施形態の情報処理システム５０１（図５Ａ参照）の作動に対する、情報処理システム６０１の作動（情報処理方法、プログラム）の相違点を説明する。鍵情報生成フェーズＳ１０（図１Ｄ参照）は、第２実施形態と同様に行われる。
【０１３５】
（認証フェーズＳ６４０）
図５Ａに示すように、第５実施形態では、デバイス２０の結合部５２５が、制御パラメータＰと鍵情報Ｋとを結合した。一方、図６Ａに示すように、本実施形態では、サーバ２２０の結合部５２５が、制御パラメータＰと鍵情報Ｋとを結合する。図６Ｂに示す認証フェーズＳ６４０に関する、第２、第５実施形態との相違点の詳細は、次の通りである。デバイス２０は、サーバ２２０の抽出部２２４（図６Ａ参照）にＩＤを送信する（第２実施形態と同様）（ステップＳ２４１）。図６Ａに示す抽出部２２４は、デバイス２０から受信したＩＤに対応する制御パラメータＰを保持部２２３ａから抽出し、デバイス２０から受信したＩＤに対応する鍵情報Ｋを保持部２２３ｂから抽出する（第２実施形態と同様）（図６Ｂに示すステップＳ２４３）。サーバ２２０の結合部５２５は、抽出した鍵情報Ｋと、抽出した制御パラメータＰと、を結合する（図６Ｂに示すステップＳ５５１）。なお、抽出部２２４が、デバイス２０から受信したＩＤに対応する制御パラメータＰおよび鍵情報Ｋを見つけられない場合は、結合部５２５は、鍵情報Ｋと制御パラメータＰとの結合を行わない。図６Ｂに示すように、サーバ２２０は、ＩＤ、第１鍵情報Ｋ１、および制御パラメータＰを、作業機械４０（例えば判定部５５５）に送信する（ステップＳ６５３）。ステップＳ６５３よりも後の処理は、第５実施形態と同様である。
【０１３６】
（第７実施形態）
図７Ａ〜図７Ｂを参照して、第７実施形態の情報処理システム７０１、情報処理方法、およびプログラムについて、第５実施形態との相違点を説明する。
【０１３７】
情報処理システム７０１の作業機械４０は、Ｎｏｎｃｅ（Number used once）を生成するＮｏｎｃｅ生成部７８１と、Ｎｏｎｃｅ管理部７８３と、を備える。Ｎｏｎｃｅ管理部７８３は、複数のＩＤと、このＩＤに対応するＮｏｎｃｅと、を対応させて保持（保管）する。Ｎｏｎｃｅ管理部７８３は、耐タンパ性ができるだけ高い部分に実装されることが好ましい。
【０１３８】
（作動）
主に、第５実施形態の情報処理システム５０１（図５Ａ参照）の作動に対する、本実施形態の情報処理システム７０１（図７Ａ参照）の作動（情報処理方法、プログラム）の相違点を説明する。鍵情報生成フェーズＳ１０（図１Ｄ参照）は、第１実施形態と同様に行われる。
【０１３９】
（認証フェーズＳ７４０）
図７Ｂに示す認証フェーズＳ７４０では、第５実施形態の認証フェーズＳ５４０（図５Ｂ参照）に加えて、Ｎｏｎｃｅの生成および判定が行われる。第５実施形態の認証フェーズＳ５４０（図５Ｂ参照）に対する、本実施形態の認証フェーズＳ７４０の相違点の概要は、次の通りである。作業機械４０は、デバイス２０にＮｏｎｃｅを送信する（ステップＳ７４７）。デバイス２０は、制御パラメータＰと共に、作業機械４０から受信したＮｏｎｃｅ（第１Ｎｏｎｃｅともいう）を作業機械４０に送信する（ステップＳ７５３）。作業機械４０は、デバイス２０から受信した第１Ｎｏｎｃｅと、この受信よりも前に作業機械４０に保持されたＮｏｎｃｅ（第２Ｎｏｎｃｅともいう）と、が一致するか否かを判定する（ステップＳ５５７）。作業機械４０が、第１Ｎｏｎｃｅと第２Ｎｏｎｃｅとの一致を確認することにより、正規のデバイス２０から制御パラメータＰが送信されたことを確認できる。その結果、作業機械４０が受信した制御パラメータＰが、作業者が想定している制御パラメータＰであることを確認できる。第５実施形態の認証フェーズＳ５４０（図５Ｂ参照）に対する、本実施形態の認証フェーズＳ７４０の相違点の詳細は次の通りである。
【０１４０】
デバイス２０は、作業機械４０のＮｏｎｃｅ生成部７８１にＩＤを送信する（ステップＳ７４５）。Ｎｏｎｃｅ生成部７８１は、Ｎｏｎｃｅを生成する（ステップ７４６）。Ｎｏｎｃｅは、使い捨てのランダムな値であり、例えば乱数でもよく、シーケンス番号などでもよく、現在時刻などでもよい。Ｎｏｎｃｅ生成部７８１は、生成したＮｏｎｃｅをデバイス２０に送信する（ステップＳ７４７）。Ｎｏｎｃｅ生成部７８１は、デバイス２０から受信したＩＤと、生成したＮｏｎｃｅと、をＮｏｎｃｅ管理部７８３に送信する（ステップＳ７４８）。Ｎｏｎｃｅ管理部７８３は、ＩＤとＮｏｎｃｅとを対応させて保持する。
【０１４１】
デバイス２０は、作業機械４０から受信したＮｏｎｃｅ（ステップＳ７４７参照）を、保持部２３（図７Ａ参照）に保持する。デバイス２０は、第５実施形態と同様に、ＩＤ、制御パラメータＰ、および鍵情報Ｋを、作業機械４０の判定部５５５に送信する（ステップＳ７５３）。さらに、デバイス２０は、作業機械４０（例えば判定部５５５）にＮｏｎｃｅ（第１Ｎｏｎｃｅ）を送信する（ステップＳ７５３）。このとき、デバイス２０は、作業機械４０から受信したＮｏｎｃｅ（ステップＳ７４７参照）をそのまま作業機械４０に送信してもよく、所定の関数（例えば上記［例２Ｃ］と同様）で変換したＮｏｎｃｅを作業機械４０に送信してもよい。
【０１４２】
判定部５５５は、受信したＩＤに対応したＮｏｎｃｅ（第２Ｎｏｎｃｅ）を、Ｎｏｎｃｅ管理部７８３から抽出する（ステップＳ７５５）。第２Ｎｏｎｃｅは、作業機械４０が第１Ｎｏｎｃｅを受信する前に、作業機械４０に保存されたＮｏｎｃｅである。判定部５５５は、第１Ｎｏｎｃｅと第２Ｎｏｎｃｅとを比較し（ステップＳ７５７）、第１Ｎｏｎｃｅと第２Ｎｏｎｃｅとが一致するか否かを判定する。
【０１４３】
なお、デバイス２０が、所定の関数で変換したＮｏｎｃｅ（変換後の第１Ｎｏｎｃｅ）を作業機械４０に送信（ステップＳ７５３）した場合、作業機械４０は、例えば次のように処理を行う。この場合、作業機械４０は、Ｎｏｎｃｅ生成部７８１で生成したＮｏｎｃｅ（ステップＳ７４６参照）を、所定の関数で変換して変換後の第２Ｎｏｎｃｅとする。そして、判定部５５５が、変換後の第１Ｎｏｎｃｅと変換後の第２Ｎｏｎｃｅとを比較（ステップＳ７５７）してもよい。また、作業機械４０は、デバイス２０から受信した変換後の第１Ｎｏｎｃｅを、デバイス２０が変換に用いた関数の逆関数で変換して第１Ｎｏｎｃｅとする。そして、判定部５５５が、第１Ｎｏｎｃｅと第２Ｎｏｎｃｅとを比較（ステップＳ７５７）してもよい。
【０１４４】
第１Ｎｏｎｃｅと第２Ｎｏｎｃｅとが一致する場合、第５実施形態と同様に、判定部５５５は、ＩＤに対応する第２鍵情報Ｋ２を抽出し（ステップＳ５６１）、第１鍵情報Ｋ１と第２鍵情報Ｋ２との比較（ステップＳ５６５）を行う。その後（例えばステップＳ７１ａ、Ｓ７１ｂの後など）、Ｎｏｎｃｅ生成部７８１は、次回の処理に用いられるＮｏｎｃｅを生成する（次回のステップＳ７４６）。
【０１４５】
一方、第１Ｎｏｎｃｅと第２Ｎｏｎｃｅとが一致しない場合、判定部５５５は、第１鍵情報Ｋ１と第２鍵情報Ｋ２との比較（ステップＳ５６５）を行わない。この場合、例えば、作業機械４０は、判定結果をデバイス２０に送信し、デバイス２０は、判定結果（認証に失敗した旨）を出力部２２（図７Ａ参照）に出力させてもよい。このように、第１Ｎｏｎｃｅと第２Ｎｏｎｃｅとが一致する場合のみ、第１鍵情報Ｋ１と第２鍵情報Ｋ２との比較（ステップＳ５６５）を行い、図７Ａに示す制御パラメータ管理部５７に制御パラメータＰが展開され得る。具体的には例えば、過去に使われた制御パラメータＰが作業機械４０に送信されても、第１Ｎｏｎｃｅと第２Ｎｏｎｃｅとが一致しないので、この制御パラメータＰは作業機械４０に展開されない（リプレイアタックを防ぐことができる）。よって、正規の外部装置１０から送信された制御パラメータＰが作業機械４０に展開され、作業機械４０を利用する作業者と紐づいている（具体的にはＩＤと紐づいている）制御パラメータＰが展開される。よって、作業機械４０に展開される制御パラメータＰが、作業者の想定していない制御パラメータＰとなることを抑制できる。
【０１４６】
（変形例）
上記実施形態は様々に変形されてもよい。例えば、互いに異なる実施形態の構成要素どうしが組み合わされてもよい。例えば、ブロック図（図１Ａなどを参照）の要素どうしの接続は変更されてもよい。例えば、シーケンス図（図１Ｄなどを参照）や、フローチャート（図１Ｆなどを参照）のステップの順序が変更されてもよく、ステップの一部が行われなくてもよく、互いに異なるシーケンス図やフローチャートのステップどうしが組み合わされて実行されてもよい。例えば、構成要素の数が変更されてもよく、構成要素の一部が設けられなくてもよい。例えば、互いに異なる複数の構成要素として説明したものが、一つの部分とされてもよい。例えば、一つの部分として説明したものが、互いに異なる複数の部分に分けて設けられてもよい。
【０１４７】
例えば、情報の暗号化（第１、第２実施形態）の処理と、改ざん検知（第３、第４実施形態）の処理と、利用者認証（第５〜第７実施形態）の処理と、が組み合わされてもよい。また、例えば、サーバ２２０を有する構成（第２、第４、第６実施形態）において、Ｎｏｎｃｅ（第７実施形態参照）が用いられてもよい。
【０１４８】
例えば、サーバ２２０の構成要素が複数のサーバに分かれて設けられてもよい。サーバ２２０の構成要素の一部がデバイス２０に設けられてもよい。
【０１４９】
鍵情報生成部６１で生成された鍵情報Ｋは、様々に用いることができる。例えば、鍵情報生成部６１で生成された鍵情報Ｋは、上記実施形態では制御パラメータＰの授受に用いられたが、制御パラメータＰ以外の情報の授受に用いられてもよい。また、鍵情報生成部６１で生成された鍵情報Ｋは、上記実施形態では共通鍵方式の鍵情報Ｋとしても用いられたが、公開鍵方式の鍵情報Ｋとして用いられてもよい。
【符号の説明】
【０１５０】
１、２０１、３０１、４０１、５０１、６０１、７０１  情報処理システム
１０  外部装置（送信側装置または受信側装置）（コンピュータ）
４０  作業機械（送信側装置または受信側装置）
５０  コントローラ（コンピュータ）
６１  鍵情報生成部
６３  入力装置
７０  センサ
Ｋ  鍵情報
Ｐ  制御パラメータ
【図１Ａ】
2020167509.tif 000003
【図１Ｂ】
2020167509.tif 000004
【図１Ｃ】
2020167509.tif 000005
【図１Ｄ】
2020167509.tif 000006
【図１Ｅ】
2020167509.tif 000007
【図１Ｆ】
2020167509.tif 000008
【図１Ｇ】
2020167509.tif 000009
【図１Ｈ】
2020167509.tif 000010
【図１Ｉ】
2020167509.tif 000011
【図２Ａ】
2020167509.tif 000012
【図２Ｂ】
2020167509.tif 000013
【図３Ａ】
2020167509.tif 000014
【図３Ｂ】
2020167509.tif 000015
【図３Ｃ】
2020167509.tif 000016
【図３Ｄ】
2020167509.tif 000017
【図４Ａ】
2020167509.tif 000018
【図４Ｂ】
2020167509.tif 000019
【図５Ａ】
2020167509.tif 000020
【図５Ｂ】
2020167509.tif 000021
【図５Ｃ】
2020167509.tif 000022
【図５Ｄ】
2020167509.tif 000023
【図６Ａ】
2020167509.tif 000024
【図６Ｂ】
2020167509.tif 000025
【図７Ａ】
2020167509.tif 000026
【図７Ｂ】
2020167509.tif 000027