(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
(第1の実施の形態)
以下、
図1〜
図5を参照して、産業車両の認証システムを油圧ショベルに適用する第1の実施の形態を説明する。
本実施の形態では、通信を行った最新の時刻を動的に変化する共有秘密鍵とする。
(認証システムの構成)
図1は、第1の実施の形態における産業車両の認証システム100(以下、「認証システム100」と呼ぶ)の構成を示すブロック図である。
【0009】
認証システム100は、油圧ショベル1と、管理サーバ31と、携帯端末34とから構成される。油圧ショベル1と管理サーバ31とは、無線通信により接続される。油圧ショベル1は、管理サーバ31と通信が行えない場合はその機能が著しく制限され、携帯端末34を用いた認証を行うか、再び管理サーバ31と接続することによりこの制限を解除する。以下では、油圧ショベル1の機能が制限されている状態を「制限状態」と呼ぶ。
【0010】
以下では、油圧ショベル1の使用者と携帯端末34の使用者は同一人物であるとして説明する。そして、この使用者をオペレータと呼ぶ。
油圧ショベル1は、油圧ショベル1を動作させるエンジン1aと、エンジン1aを起動させるスタータモータ14と、油圧ショベル1が作業を行うために駆動されるアクチュエータ26と、スタータモータ14およびアクチュエータ26を制御する制御コントローラ8と、管理サーバ31および携帯端末34と通信を行う車両通信部30と、油圧ショベル1を制限状態に設定するか否かを決定する情報コントローラ29と、不図示のGPS受信器とを備える。
情報コントローラ29および車両通信部30は、油圧ショベル1の稼働状態によらず常に動作している。
【0011】
情報コントローラ29は、CPU、ROM、RAM、およびフラッシュメモリを備え、ROMに記憶されたプログラムをRAMに展開して実行する。このプログラムは、通信装置の不具合や油圧ショベル1の通信圏外エリアへの移動などにより、油圧ショベル1と管理サーバ31との通信が途絶すると、この通信途絶を検知して、制御コントローラ8に指令を出力し、油圧ショベル1を制限状態に移行させる。このプログラムの動作の詳細は後に説明する。情報コントローラ29のフラッシュメモリには、後述する認証に使用される第2鍵92、車両時刻情報82、および最終更新時刻82aが記憶される。第2鍵92は、油圧ショベル1の工場出荷時に生成されたランダムなデータ、すなわち乱数列であり、携帯端末34に保存される第1鍵91と同一のデータである。最終更新時刻82aは、管理サーバ31との通信が行われるたびに更新され、通信が行われた最新時刻が記録される。後述する所定の条件下で、車両時刻情報82に最終更新時刻82aが代入される。
【0012】
スタータモータ14およびアクチュエータ26は、制御コントローラ8の指令に基づき動作する。
制御コントローラ8は、情報コントローラ29から制限状態に移行させる指令を受けると、エンジン1aのスタータモータ14の電源ラインを切断し、油圧ショベル1の動力を遮断する。ただし、油圧ショベル1の動力を遮断する代わりに、エンジン1aの回転数を最低回転数に固定するなど、油圧ショベル1の動作に著しい制限をかけるようにしてもよい。
【0013】
管理サーバ31は、サーバ制御部31aと、サーバ記憶部31bと、サーバ通信部31cとを備える。サーバ記憶部31bおよびサーバ通信部31cは、信号線によりサーバ制御部31aと接続され、サーバ制御部31aの指令に基づき動作する。
サーバ制御部31aは、CPU、ROM、およびRAMを備え、ROMに記憶されたプログラムをRAMに展開して実行する。このプログラムの動作は後に説明する。
【0014】
サーバ記憶部31bは、磁気ディスクまたは不揮発性メモリから構成される。サーバ記憶部31bは、情報データベース32として利用される領域を有し、さらに、サーバ時刻情報81、および最終更新時刻81aが記憶される。情報データベース32には、管理サーバ31と通信を行う複数の産業車両の稼働情報が記録される。稼働情報とは、たとえば時刻ごとの緯度・経度、速度、エンジン回転数、負荷、燃料残量などである。サーバ時刻情報81は後述する認証に使用する情報であり、所定の条件により最終更新時刻81aが代入される。最終更新時刻81aは、油圧ショベル1と通信を行った最新の時刻である。
サーバ通信部31cは、油圧ショベル1および携帯端末34と無線通信を行う。無線通信とはたとえば、携帯電話網を用いた通信や、人工衛星を用いた通信である。
【0015】
携帯端末34は、携帯制御部34aと、携帯記憶部34bと、携帯通信部34cと、不図示の入力部を備える。携帯記憶部34b、および携帯通信部34cは携帯制御部34aと信号線により接続され、携帯制御部34aの指令に基づき動作する。
携帯制御部34aは、CPU、ROM、およびRAMを備え、ROMに記憶されたプログラムをRAMに展開して実行する。このプログラムの動作は後に説明する。
携帯記憶部34bは、不揮発性メモリから構成される。携帯記憶部34bには、第1鍵91とサーバ時刻情報81とが記憶される。第1鍵91は、事前に生成されたランダムなデータであり、油圧ショベル1に保存される第2鍵92と同一のデータである。第1鍵91は、後述する認証に使用される情報である。サーバ時刻情報81も後述する認証に使用する情報であるが、適宜更新される情報であり、後述する処理により管理サーバ31から受信される。
【0016】
携帯通信部34cは、油圧ショベル1および管理サーバ31と無線通信を行う。ただし、油圧ショベル1と有線により通信を行ってもよい。
不図示の入力部は、たとえば複数のボタンにより構成される。オペレータは、不図示の入力部を用いて携帯端末34に認証指令、およびサーバ時刻情報81の取得指令を入力できる。携帯端末34は認証指令が入力されると、油圧ショベル1に第1鍵91、およびサーバ時刻情報81を送信し、制限状態を解除するための認証要求を行う。携帯端末34は、サーバ時刻情報81の取得指令が入力されると、管理サーバ31からサーバ時刻情報81を取得する。
【0017】
(油圧ショベルのシステム構成)
図2は、油圧ショベル1の油圧システム図である。
図2において、エンジン1aの出力軸は、可変容量型の第1ポンプ2、第2ポンプ3、第3ポンプ4に接続される。各油圧ポンプから吐出される圧油は、コントロールバルブを含む油圧回路5へ送られ、流量や方向を制御されて、油圧シリンダ6、油圧モータ7などへ供給される。
制御コントローラ8は、エンジン制御演算部8aと、ポンプ制御演算部8bとを制御する。エンジンコントロールダイヤル9は、エンジン回転数の指令値を調整する。エンジンコントロールダイヤル9によって調整された指令回転数は、制御コントローラ8のエンジン制御演算部8aへ入力される。エンジン制御演算部8a、およびポンプ制御演算部8bは、操作レバー装置10の操作圧やポンプ圧などを測定するセンサ信号11などに応じて、油圧シリンダ6や油圧モータ7を駆動させる指令値を演算する。
【0018】
エンジン制御演算部8aは、目標エンジン回転数を演算し、エンジンコントローラであるECU12に目標エンジン回転数を送り、その目標エンジン回転に従って、ECU12はエンジンの回転数を制御する。
ポンプ制御演算部8bは、レバー操作量に応じたポンプ流量が得られるように、ポンプ吐出流量を制御するポンプレギュレータ13へ必要なポンプトルク圧の指令を送る。
スタータモータ14は、バッテリ15を電源としてエンジン1aの初期回転を生み出し、その後はエンジン1a単体で回転し続ける。バッテリ15は上記の他に、制御コントローラ8、情報コントローラ29および車両通信部30などの電源電圧として用いられる。
【0019】
図3は、制御コントローラ8のシステム構成図である。制御コントローラ8は、入力インタフェース20、出力インタフェース21、CPU22,ROM23、およびRAM24を備える。制御コントローラ8は、油圧システムを制御するだけでなく、油圧ショベル1の稼働情報を収集し、情報コントローラ29へ出力する。
入力インタフェース20は、オペレータの操作によって入力される入力要素25とCPU22を接続するインタフェースであり、出力インタフェース21は、アクチュエータ26とCPU22を接続するインタフェースである。
ROM23には、CPU22が実行する制御プログラムが格納される。CPU22は、その制御プログラムをRAM24に展開して実行する。
モニタコントローラ27は、オペレータが操作するボタンなどの入力要素25や、アクチュエータ26に備えられたセンサの出力を受信し、表示装置28へ送信する。オペレータは、表示装置28を見ることで車体の状態を確認できる。
【0020】
(動作の概要)
管理サーバ31は、一定時間ごと、たとえば1分ごとに油圧ショベル1へ疎通確認信号、たとえばPINGを送信する。これを受信した油圧ショベル1は、最終更新時刻82aを現在時刻に更新するとともに最新の稼働情報を管理サーバ31に送信する。このとき油圧ショベル1が制限状態であれば、管理サーバ31との通信が回復したことにより制限状態が解除される。
油圧ショベル1から稼働情報を受信した管理サーバ31は、受信した稼働情報を情報データベース32に保存する。さらに、油圧ショベル1との通信が成功したので、最終更新時刻81aを現在時刻に更新する。
【0021】
このように通信を行うたびに更新される最終更新時刻81a、82aを、油圧ショベル1および管理サーバ31の双方が有する共有秘密鍵とする。ただし、油圧ショベル1と管理サーバ31との通信にはmsオーダーの時間を要することが通常であり、最終更新時刻81aと最終更新時刻82aとは厳密には一致しない。また、油圧ショベル1と管理サーバ31の時計がmsオーダーでずれる状況が想定される。そこで、最終更新時刻81aと最終更新時刻82aとを一致させるために、記録する時刻の粒度を荒くする。すなわち記録する時刻の精度を低くし、たとえば、1秒ごとや5秒ごとの単位で時刻を記録する。このように時刻の粒度を粗くすることにより、最終更新時刻81a、82aを一致させる。
【0022】
油圧ショベル1は、管理サーバ31からの通信を所定時間以上、たとえば30分以上受信しない場合は、制限状態に移行する。このとき、最終更新時刻82aを車両時刻情報82に代入し、携帯端末34からの認証に備える。
管理サーバ31は、油圧ショベル1に疎通確認信号を送信しても稼働情報の返信を受けられない状態が所定時間以上、たとえば30分以上継続すると以下の処理を行う。すなわち、サーバ時刻情報81に最終更新時刻81aを代入し、サーバ時刻情報81を携帯端末34に送信する。
【0023】
ただし、油圧ショベル1に搭乗しているオペレータが携帯端末34を所持しており、携帯端末34も油圧ショベル1と同様に無線通信の通信圏外エリアに居る場合には、管理サーバ31による携帯端末34へのサーバ時刻情報81の送信が失敗する。この場合は、後ほど携帯端末34からサーバ時刻情報81の送信要求を受けた際に、再度、サーバ時刻情報81を携帯端末34に送信する。
【0024】
携帯端末34は、管理サーバ31からサーバ時刻情報81を受信すると、油圧ショベル1に制限状態を解除するための認証要求を行う。この認証要求は、油圧ショベル1への第1鍵91およびサーバ時刻情報81の送信により行われる。
携帯端末34からの認証要求を受信した油圧ショベル1は、受信した第1鍵91が情報コントローラ29に保存される第2鍵92と等しいか否か、受信したサーバ時刻情報81が情報コントローラ29に保存される車両時刻情報82と等しいか否かを判断する。両方とも等しいと判断する場合は、認証が成功したので油圧ショベル1の制限状態を解除する。
【0025】
(油圧ショベルのフローチャート)
図4は、情報コントローラ29により実行されるプログラムの動作を示すフローチャートである。
油圧ショベル1の情報コントローラ29は、以下のプログラムを常に動作させる。以下に説明する各ステップの実行主体は、情報コントローラ29のCPUである。
【0026】
ステップS101では、管理サーバ31から疎通確認信号を受信したか否かを判断する。受信したと判断する場合はステップS102に進み、受信していないと判断する場合はステップS106に進む。
ステップS102では、最終更新時刻82aに現在時刻を代入し、ステップS103に進む。
ステップS103では、制御コントローラ8から受信した稼働情報を管理サーバ31に送信し、ステップS104に進む。
ステップS104では、管理サーバ31との通信が行えたことから制限状態を解除する。ただし、制限状態にない場合は何も処理を行わない。次にステップS105に進む。
【0027】
ステップS105では、認証を行う必要がないので車両時刻情報82を消去し、
図4のフローチャートにより動作が表されるプログラムを終了する。
管理サーバ31から疎通確認信号を受信していないと判断されると実行されるステップS106では、現在時刻と最終更新時刻82aとの差を評価し、最終更新時刻82aから所定時間以上、たとえば30分以上経過しているか否かを判断する。所定時間以上経過していると判断する場合はステップS107に進み、所定時間以上経過していないと判断する場合はステップS104に進む。本ステップを設けた意義は、油圧ショベル1が短い時間だけ通信圏外エリアに移動した際に、制限状態に移行することを防止するためである。
【0028】
ステップS107では、制御コントローラ8に指令を出力し、油圧ショベル1を制限状態に移行させて、たとえばエンジン1aのスタータモータ14の電源ラインを切断し、ステップS108に進む。
ステップS108では、携帯端末34からの認証要求に備えて、車両時刻情報82に最終更新時刻82aを代入して
図4のフローチャートにより動作が表されるプログラムを終了する。
【0029】
(管理サーバのフローチャート)
図5は、サーバ制御部31aにより実行されるプログラムの動作を示すフローチャートである。
管理サーバ31のサーバ制御部31aは、以下のプログラムを常に動作させる。以下に説明する各ステップの実行主体は、サーバ制御部31aのCPUである。
ステップS201では、現在時刻がタイマー時刻、たとえば毎分の0秒であるか否かを判断する。タイマー時刻であると判断する場合はステップS202に進み、タイマー時刻でないと判断する場合は
図5のフローチャートにより動作が表されるプログラムを終了する。
【0030】
ステップS202では、油圧ショベル1に疎通確認信号、たとえばPINGを送信し、ステップS203に進む。
ステップS203では、油圧ショベル1から稼働情報を受信したか否かを判断する。稼働情報を受信したと判断する場合はステップS204に進み、稼働情報を受信していないと判断する場合はステップS207に進む。
ステップS204では、油圧ショベル1から受信した稼働情報を情報データベース32に記録し、ステップS205に進む。
【0031】
ステップS205では、最終更新時刻81aに現在時刻を代入し、ステップS206に進む。
ステップS206では、携帯端末34が油圧ショベル1に対して認証を要求する必要のない状態なので、サーバ時刻情報81を消去し、
図5のフローチャートにより動作が表されるプログラムを終了する。
【0032】
ステップS203において稼働情報を受信していないと判断した場合に実行されるステップS207では、現在時刻と最終更新時刻81aの差を評価し、最終更新時刻81aから所定時間以上、たとえば30分以上経過しているか否かを判断する。所定時間以上経過していると判断する場合はステップS208に進み、所定時間以上経過していないと判断する場合はステップS206に進む。なお、本ステップにおける閾値と
図4のステップS106における閾値、すなわち両ステップにおける「所定時間」は同一の時間である。
ステップS208では、サーバ時刻情報81に最終更新時刻81aを代入し、ステップS209に進む。
ステップS209では、サーバ時刻情報81を携帯端末34に送信し、
図5のフローチャートにより動作が表されるプログラムを終了する。
【0033】
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)産業車両の認証システム100は、管理サーバ31、産業車両すなわち油圧ショベル1、および携帯端末34から構成される。油圧ショベル1とネットワークにより接続可能な管理サーバ31は、油圧ショベル1との接続が切断されたことを検出する第1切断検出部、すなわちサーバ制御部31a(
図5、ステップS203、S207)と、第1切断検出部が産業車両との接続が切断されたことを検出すると接続が切断された時刻を記録する第1切断時刻記録部、すなわちサーバ制御部31a(
図5、S205、S208)と、第1切断時刻記録部が記録した接続が切断された時刻を携帯端末34に送信するサーバ通信部31cとを備える。携帯端末34は、管理サーバ31から油圧ショベル1との接続が切断された時刻、すなわちサーバ時刻情報81を受信する携帯通信部34cと、管理サーバ31から受信した接続が切断された時刻を用いて油圧ショベル1に認証を要求する認証要求部、すなわち携帯制御部34aとを備える。産業車両、すなわち油圧ショベル1は、当該産業車両のアクチュエータ26の動作を制限する動作制限部、すなわち制御コントローラ8と、管理サーバ31との接続が切断されたことを検出する第2切断検出部、すなわち情報コントローラ29(
図4、ステップS101、S106)と、第2切断検出部がサーバとの接続が切断されたことを検出すると、接続が切断された時刻、すなわち車両時刻情報82を記録する第2切断時刻記録部、すなわち情報コントローラ29(
図4、ステップS102、S108)と、携帯端末34からの認証の要求に応じて、第2切断時刻記録部が記録した接続が切断された時刻に基づき認証を行う認証実行部、すなわち情報コントローラ29と、第2切断検出部が管理サーバ31との接続の切断を検出すると動作制限部による制限を開始させ(
図4、ステップS107)、認証実行部が認証に成功すると動作制限部による制限を終了させる制御部、すなわち情報コントローラ29とを備える。
【0034】
認証システム100をこのように構成したので、油圧ショベル1と管理サーバ31との接続が切断された時刻が、油圧ショベル1の制限状態を解除する認証のための情報となる。油圧ショベル1と管理サーバ31との通信が行われることにより、接続が切断された時刻が実質的に更新される。そのため、仮にサーバ時刻情報81が漏洩しても、油圧ショベル1と管理サーバ31との通信が行われれば、油圧ショベル1の認証に用いる車両時刻情報82が更新され、漏洩したサーバ時刻情報81では認証が成功しないので、サーバ時刻情報81の漏えいに対して堅牢である。また、本システムによれば、認証に用いる情報の更新を容易に行うことができる。
【0035】
(2)携帯端末34は、認証のための第1鍵91を記憶する携帯記憶部34bを備える。携帯端末34の認証要求部は、管理サーバ31から受信した接続が切断された時刻、および第1鍵情報を用いて油圧ショベル1に認証を要求する。産業車両は、認証のための第2鍵92を記憶する産業車両記憶部、すなわち情報コントローラ29を備える。産業車両の認証実行部は、第2切断時刻記録部が記録した接続が切断された時刻、および第2鍵92に基づき認証を行う。
そのため、携帯記憶部34bに記憶された第1鍵91もあわせて認証に用いるので、安全性が向上する。特に、第2鍵92は油圧ショベル1のみに保存されており、管理サーバ31は第2鍵92の情報を持たないので、管理サーバ31が単独で油圧ショベル1の制限状態を解除することを防止できる。
【0036】
(3)管理サーバ31の第1切断時刻記録部、すなわちサーバ制御部31a、および油圧ショベル1の第2切断時刻記録部、すなわち情報コントローラ29は、接続が切断された時刻を、最後に接続が成功した時刻とする。
そのため、通信は管理サーバ31と情報コントローラ29とで行われるリアルタイムのやりとりなので、管理サーバ31が記録する時刻と情報コントローラ29が記録する時刻にずれが生じにくい。
【0037】
(変形例1)
上述した第1の実施の形態では、予め定められた時刻に管理サーバ31から油圧ショベル1へ疎通確認信号が送信された。しかし、管理サーバ31が疎通確認信号をランダムなタイミングで送信してもよい。たとえば、
図5のステップS201において肯定判断された際に、ランダムな時間だけ待機してからステップS202に進むことにより、ランダムなタイミングで疎通確認信号を送信してもよい。
この変形例1によれば、通信が行われるタイミング、すなわちサーバ時刻情報81を予想することが困難であり、安全性を向上することができる。なお、第1の実施の形態では最後に通信が行われた時刻をサーバ時刻情報81、および車両時刻情報82としているので、疎通確認信号の送信タイミングの規則性が失われても支障がない。
【0038】
(変形例2)
上述した第1の実施の形態では、通信を行った時刻を最終更新時刻81a、および最終更新時刻82aとして記録した。しかし、時間間隔を予め定めて油圧ショベル1と管理サーバ31とで共有し、時間間隔から定まる時刻を以下のように利用してもよい。すなわち、最終更新時刻81a、および最終更新時刻82aを、通信を行った時刻の次に訪れる、予め定められた時間間隔で設定された時刻としてもよい。
【0039】
たとえば、油圧ショベル1と管理サーバ31とで、最終更新時刻として記録する時刻は、時間間隔を1分とする旨を定める。この場合において、油圧ショベル1が管理サーバ31から疎通確認信号を「10時2分30秒」に受信すると、情報コントローラ29は次のように判断する。すなわち、予め定められた時間間隔で設定された時刻は、「10時2分0秒、10時3分0秒、・・」なので、受信した時刻の次に訪れる設定された時刻である「10時3分0秒」を最終更新時刻82aとして記録する。
なお、この予め定める時間間隔は、第1鍵91や第2鍵92とともに携帯記憶部34bや情報コントローラ29に記憶されてもよいし、この時間間隔そのものが第1鍵91や第2鍵92として記憶されてもよい。
【0040】
この変形例2によれば、次の作用効果が得られる。
(1)管理サーバ31の第1切断時刻記録部、および油圧ショベル1の第2切断時刻記録部は、接続が切断された時刻を、予め定められた時間間隔で設定された時刻とする。
そのため、油圧ショベル1の時計と管理サーバ31の時計とが一致していない場合に、時間間隔を時計のずれ時間よりも長く設定することにより、油圧ショベル1が記録する最終更新時刻と、管理サーバ31が記録する最終更新時刻を一致させることができる。
【0041】
(変形例3)
上述した第1の実施の形態では、通信が切断された時刻と予め共有された鍵情報の2つを使って認証が行われた。しかし、鍵情報を用いずに通信が切断された時刻のみを用いて認証を行ってもよい。
この場合は、油圧ショベル1は第2鍵92を記憶しなくてもよく、携帯端末34は第1鍵91を記憶しなくてもよい。そして携帯端末34は、管理サーバ31からサーバ時刻情報81を受信すると、このサーバ時刻情報81をそのまま油圧ショベル1に送信し認証を行う。携帯端末34からの認証要求を受信した油圧ショベル1は、受信したサーバ時刻情報81が情報コントローラ29に保存される車両時刻情報82と等しいか否かを判断し、等しいと判断する場合は、油圧ショベル1の制限状態を解除する。
この変形例3によれば、認証システム100の構成および動作を簡素化できる。
【0042】
(第2の実施の形態)
図6を参照して、産業車両の認証システムの第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、第1鍵91を用いてサーバ時刻情報81を加工し、その加工した情報を用いて認証を行う点で、第1の実施の形態と異なる。
【0043】
(構成)
油圧ショベル1、管理サーバ31、および携帯端末34の物理的な構成は第1の実施の形態と同様である。油圧ショベル1の情報コントローラ29、および携帯端末34の携帯制御部34aが実行するプログラムの認証に関する動作が異なる。
【0044】
(動作の概要)
情報コントローラ29および携帯制御部34aは、認証のためにメッセージ認証コード(Message Authentication Code)を利用する。メッセージ認証コードは、ある入力値と鍵情報を用いて出力、すなわちMAC値を得るものである。たとえば携帯制御部34aは、サーバ時刻情報81を入力値、第1鍵91を鍵情報としてMAC値を算出し、情報コントローラ29は、車両時刻情報82を入力値、第2鍵92を鍵情報としてMAC値を算出する。第1の実施の形態で説明したように、正常な処理が行われていれば、サーバ時刻情報81と車両時刻情報82は等しく、第1鍵91と第2鍵92は等しいので、得られる2つのMAC値は等しくなる。
【0045】
(油圧ショベルの動作)
図6は、第2の実施の形態において情報コントローラ29により実行されるプログラムの動作を示すフローチャートである。
第1の実施の形態において
図4に示したフローチャートとの違いは、ステップS108の次にステップS108Aを設けた点である。第1の実施の形態との差異点のみを説明する。
ステップS108の次に実行されるステップS108Aでは、情報コントローラ29のCPUは、認証情報、すなわちMAC値を算出する。このMAC値はたとえば、車両時刻情報82を入力値、第2鍵92を鍵情報として算出される。以上で
図6のフローチャートにより動作が表されるプログラムを終了する。
油圧ショベル1は、携帯端末34から認証要求、すなわちMAC値を受信すると、受信したMAC値とステップS108Aにおいて算出したMAC値を比較し、両者が一致すれば認証が成功したと判断して油圧ショベル1の制限状態を解除する。
【0046】
(管理サーバの動作)
管理サーバ31の動作は第1の実施の形態と同様である。すなわち認証に関する点では、最終更新時刻81aから所定時間以上経過していた場合に、携帯端末34にサーバ時刻情報81を送信する。
【0047】
(携帯端末の動作)
携帯端末34の携帯制御部34aは、管理サーバ31からサーバ時刻情報81を受信すると、認証のための認証情報、すなわちMAC値を作成する。このMAC値はたとえば、サーバ時刻情報81を入力値、第1鍵91を鍵情報として算出される。携帯制御部34aは、このMAC値を油圧ショベル1に送信することにより認証要求を行う。
なお、MAC値の算出方法は油圧ショベルと携帯端末とで統一されていればよく、入力値と鍵情報を入れ替えてもよい。
【0048】
上述した第2の実施の形態によれば、携帯端末34は油圧ショベル1への認証要求の際に、共有秘密鍵である第1鍵91を送信する必要がないため、認証要求の通信を第三者に傍受されて第1鍵91が漏洩する恐れがない。仮に本実施形態で認証情報としているMAC値が傍受されても、MAC値から第1鍵91を推測することは非常に困難であり、第1鍵91の秘匿性を高めることができる。
【0049】
(第2の実施の形態の変形例1)
第2の実施の形態では、携帯端末34が認証情報を生成した。しかし、管理サーバ31が第2鍵92を備え、管理サーバ31が携帯端末34に代わって認証情報を生成してもよい。
【0050】
(油圧ショベルの構成と動作)
油圧ショベル1の構成、および動作は第2の実施の形態と同様である。
(携帯端末の構成と動作)
携帯端末34の構成は、携帯記憶部34bに第1鍵91が記憶されていない点が第2の実施の形態と異なる。また、管理サーバ31から認証情報を受信すると、受信した認証情報をそのまま油圧ショベル1に送信することにより認証を行う。
【0051】
(管理サーバの構成と動作)
管理サーバ31のサーバ記憶部31bには、さらに第1鍵91が記憶される。サーバ制御部31aの動作を
図7を用いて説明する。
図7は、第2の実施の形態の変形例1において、サーバ制御部31aにより実行されるプログラムの動作を示すフローチャートである。
【0052】
第1の実施の形態において
図5に示したフローチャートとの違いは、ステップS208の次にステップS208Aを設け、ステップS209の代わりにステップS209Aを設けた点である。第1の実施の形態との差異点のみを説明する。
ステップS208の次に実行されるステップS208Aでは、サーバ制御部31aのCPUは、認証情報、すなわちMAC値を算出する。このMAC値はたとえば、サーバ時刻情報81を入力値、第1鍵91を鍵情報として算出される。次にステップS209Aに進む。
【0053】
ステップS209Aでは、ステップS208Aにおいて作成した認証情報、すなわちMAC値を携帯端末34に送信し、
図7のフローチャートにより動作が表されるプログラムを終了する。
本変形例によれば、携帯端末34には第1鍵91が保存されず、管理サーバ31から受信する認証情報からの第1鍵91の推定も困難なので、携帯端末34から第1鍵91に関する情報が流出する恐れがない。
【0054】
本変形例によれば、次の作用効果が得られる。
(1)管理サーバ31は、認証のための第1鍵91を記憶するサーバ記憶部31bと、
接続が切断された時刻、および第1鍵91を用いて認証情報を作成する認証情報作成部、すなわちサーバ制御部31a(
図7のステップS208A)とを備える。管理サーバ31のサーバ通信部31cは、認証情報作成部が作成した認証情報を携帯端末34に送信する。携帯端末34の認証要求部は、管理サーバ31から受信した認証情報を用いて油圧ショベル1に認証を要求する。油圧ショベル1は、認証のための第2鍵92を記憶する産業車両記憶部、すなわち情報コントローラ29を備える。油圧ショベル1の認証実行部、すなわち情報コントローラ29は、第2切断時刻記録部が記録した接続が切断された時刻、および第2鍵92に基づき認証を行う。
そのため、携帯端末34に第1鍵91が保存されることがなく、携帯端末34が盗難にあっても第1鍵91の情報が漏洩することを防止できる。携帯端末34は、第1鍵91を用いて算出したMAC値を管理サーバ31から受信するが、MAC値から第1鍵91を推測することは非常に困難であり、第1鍵91の確保される。
【0055】
(第2の実施の形態の変形例2)
上述した第2の実施の形態では、メッセージ認証コードを用いて認証情報を作成した。また、第1鍵91および第2鍵92はランダムなデータとした。しかし、第1鍵91および第2鍵92を時間の操作に関する情報とし、サーバ時刻情報81および車両時刻情報82を操作した時刻を認証情報としてもよい。
たとえば、第1鍵91を「2時間10分進める」であり、サーバ時刻情報81が「2015年4月1日23時30分20秒」である場合は、認証情報は「2015年4月2日1時40分20秒」となる。
この変形例によれば、認証情報が時刻情報そのものなので、第1鍵91の存在が気付かれにくい利点がある。
【0056】
(第3の実施の形態)
図8〜
図9を参照して、産業車両の認証システムの第3の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、次の2点で第1の実施の形態と異なる。1点目は、通信が本来行われる時刻であって通信が行われなかった時刻をサーバ時刻情報81および車両時刻情報82とする点である。2点目は、認証に第1鍵91および第2鍵92を用いない点である。
【0057】
(構成)
油圧ショベル1、管理サーバ31、および携帯端末34の物理的な構成は第1の実施の形態と同様である。ただし、油圧ショベル1には第2鍵92が保存されておらず、管理サーバ31および携帯端末34のいずれにも第1鍵91が保存されていない。また、油圧ショベル1の情報コントローラ29、および管理サーバ31のサーバ制御部31aの動作が第1の実施の形態と異なる。
【0058】
(動作の概要)
油圧ショベル1と管理サーバ31は、あらかじめ疎通確認信号を送受信するタイミングを定めている。油圧ショベル1は、そのタイミングで管理サーバ31から疎通確認信号を受信できなかった場合は、制限状態に移行するとともに、その時刻を車両時刻情報82として保存する。管理サーバ31は、所定のタイミングで疎通確認信号を送信したにもかかわらず、油圧ショベル1から稼働情報を受信できない場合は、その時刻をサーバ時刻情報81として保存する。
【0059】
(油圧ショベルのフローチャート)
図8は、第3の実施の形態において情報コントローラ29により実行されるプログラムの動作を示すフローチャートである。第1の実施の形態において説明した
図4に示すフローチャートとの差異が複数あるので、先頭から順に説明する。ただし、第1の実施の形態において説明したステップの説明は簡略化する。以下に説明する各ステップの実行主体は、情報コントローラ29のCPUである。
ステップS121では、現在時刻がタイマー時刻、たとえば毎分の0秒であるか否かを判断する。タイマー時刻であると判断する場合はステップS101に進み、タイマー時刻でないと判断する場合は
図8のフローチャートにより動作が表されるプログラムを終了する。
【0060】
ステップS101では、管理サーバ31から疎通確認信号を受信したか否かを判断し、受信したと判断する場合はステップS103に進み、受信していないと判断する場合はステップS107に進む。
ステップS103〜ステップS105は第1の実施の形態と同様なので説明を省略する。
ステップS101において疎通確認信号を受信していないと判断されると実行されるステップS107において、制御コントローラ8に指令を出力し、油圧ショベル1を制限状態に移行させてステップS122に進む。
【0061】
ステップS122では、車両時刻情報82に何らかの時刻が設定されているか否かを判断する。車両時刻情報82に時刻が設定されていると判断する場合は、
図8のフローチャートにより動作が表されるプログラムを終了する。これは、車両時刻情報82を上書きすることを避けるためである。車両時刻情報82に時刻が設定されていないと判断する場合は、ステップS108Bに進む。
ステップS108Bでは、車両時刻情報82に現在時刻、すなわちステップS121を実行したタイマー時刻を代入し、
図8のフローチャートにより動作が表されるプログラムを終了する。
【0062】
(管理サーバのフローチャート)
図9は、第3の実施の形態においてサーバ制御部31aにより実行されるプログラムの動作を示すフローチャートである。第1の実施の形態において説明した
図5に示すフローチャートとの差異は、ステップS205が省略されてステップS204の次にステップS206が実行される点、およびステップS203が否定判断された場合の処理が異なる点である。以下では、ステップS203が否定判断された場合について説明する。
【0063】
ステップS203が否定判断されると実行されるステップS211において、サーバ時刻情報81に何らかの時刻が設定されているか否かを判断する。サーバ時刻情報81に時刻が設定されていると判断する場合は、
図8のフローチャートにより動作が表されるプログラムを終了する。これは、サーバ時刻情報81を上書きすることを避けるためである。サーバ時刻情報81に時刻が設定されていないと判断する場合は、ステップS208Bに進む。
ステップS208Bでは、サーバ時刻情報81に現在時刻、すなわちステップS201を実行したタイマー時刻を代入し、ステップS209に進む。
ステップS209では、サーバ時刻情報81を携帯端末34に送信し、
図9のフローチャートにより動作が表されるプログラムを終了する。
【0064】
上述した第3の実施の形態によれば、次の作用効果が得られる。
(1)管理サーバ31の第1切断時刻記録部、すなわちサーバ制御部31a、および油圧ショベル1の第2切断時刻記録部、すなわち情報コントローラ29は、接続が切断された時刻を、接続が失敗した最初の時刻とする。
【0065】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。
上述した実施の形態および変形例では、本発明を油圧ショベルに適用したが、走行装置及び作業用のアクチュエータを有する作業車両や建設機械を含む産業車両の全般、たとえば、ホイールローダ、ダンプトラック、ブルドーザ等にも適用が可能である。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。