JP2020107237A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2020107237A
JP2020107237A JP2018247787A JP2018247787A JP2020107237A JP 2020107237 A JP2020107237 A JP 2020107237A JP 2018247787 A JP2018247787 A JP 2018247787A JP 2018247787 A JP2018247787 A JP 2018247787A JP 2020107237 A JP2020107237 A JP 2020107237A
Authority
JP
Japan
Prior art keywords
update
information processing
communication
unit
processing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018247787A
Other languages
English (en)
Other versions
JP7138043B2 (ja
Inventor
伸義 森田
Nobuyoshi Morita
伸義 森田
裕紀 山▲崎▼
Yuki Yamazaki
裕紀 山▲崎▼
恒太 井手口
Kota Ideguchi
恒太 井手口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2018247787A priority Critical patent/JP7138043B2/ja
Priority to EP19902616.2A priority patent/EP3904161A4/en
Priority to US17/414,824 priority patent/US20220019669A1/en
Priority to PCT/JP2019/050023 priority patent/WO2020137852A1/ja
Priority to CN201980084948.0A priority patent/CN113226858A/zh
Publication of JP2020107237A publication Critical patent/JP2020107237A/ja
Application granted granted Critical
Publication of JP7138043B2 publication Critical patent/JP7138043B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】誤検知による悪影響を抑えつつ、情報処理装置を用いて制御されるシステムをサイバー攻撃から安全に守る。【解決手段】ソフトウェアを更新可能な情報処理装置2は、ソフトウェアの更新可否を制御するための制御情報である更新ステータスフラグ281を記憶する更新制御情報記憶部28と、通信バス4を介して接続された他の情報処理装置1,3から送信される通信メッセージを受信する通信部21と、通信部21が受信した通信メッセージに基づいて更新ステータスフラグ281を更新する更新制御部22と、更新ステータスフラグ281に基づいてソフトウェアの更新可否を判定する更新可否判定部23と、を備える。【選択図】図1

Description

本発明は、情報処理装置に関する。
近年、自動車に搭載される車載システムは、インターネット、Bluetooth(登録商標)、Wi−Fi等の通信回線を介して車外のサーバや情報処理装置と繋がることにより、ユーザに様々なサービスを提供するようになりつつある。これに伴い、従来の閉じた車載システムとは異なり、外部からのセキュリティサイバー攻撃に対する備えが重要になってきている。さらに、このような車載システムでは、OSS(Open Source Software)の活用や、セキュリティが担保されていないスマートフォン等の情報処理装置との接続も検討されている。そのため、これまで以上に脆弱性を悪用されたセキュリティサイバー攻撃が懸念されつつある。
一般的にセキュリティ対策では、脅威のリスクを減らすために設計段階で対策を検討する「事前対策」、運用段階で顕在化する脅威を検知する「侵入検知」、顕在化した脅威による被害を最小化する「事後対処」の3つの観点により、設計から運用にわたって対象システムの保護資産を守ることが有効と考えられている。特に、事後対処を適切に行うためには、サイバー攻撃者の侵入を確実に検知できることが重要である。一般的な情報システムにおける外部からの不正な侵入を検知する仕組みとしては、例えばIDS(Intrusion Detection System)やIPS(Intrusion Prevention System)が利用されている。
プラントや工場で使用される統合生産システムのセキュリティ対策に関して、例えば下記の特許文献1の技術が知られている。特許文献1には、プラントに構築された統合生産システムにおいて、前記統合生産システムに対するサイバー攻撃を検知する検知手段の検知結果に基づいて、サイバー攻撃の対象及び種別を特定し、特定したサイバー攻撃の対象及び種別に応じた対策手段を実行する制御装置が開示されている。
特開2017−111532号公報
特許文献1の技術では、サイバー攻撃を正しく検知できることが前提となっており、事象に応じた適切な事後対処を実行できるか否かはサイバー攻撃の検知精度に依存する。このため、サイバー攻撃を誤検知した場合、本来は事後対処が必要ない状況であっても、事後対処として全通信機能の停止やシステムシャットダウン等が実行されてしまい、システムの可用性に大きな悪影響を及ぼす恐れがある。特に、車載システムでは異常発生時に自動車をなるべく安全な状態に維持する必要があるため、異常を検知した場合の事後対処として、縮退運転や緊急停車等の緊急対処が行われることが多い。このため、特許文献1の技術を車載システムに適用すると、サイバー攻撃に対する誤検知率(FPR:False Positive Rate)が高い場合、実際にはサイバー攻撃が発生していなくても縮退運転や緊急停車が頻繁に実行されてしまい、車両の可用性が大きく低下するという悪影響を生じるおそれがある。
本発明は、以上の問題に鑑みなされたものであり、情報処理装置を用いて制御されるシステムにおいて、誤検知による悪影響を抑えつつ、システムをサイバー攻撃から安全に守ることを目的とする。
本発明による情報処理装置は、ソフトウェアを更新可能なものであって、前記ソフトウェアの更新可否を制御するための制御情報を記憶する記憶部と、通信回線を介して接続された他の情報処理装置から送信される通信メッセージを受信する通信部と、前記通信部が受信した前記通信メッセージに基づいて前記制御情報を更新する更新制御部と、前記制御情報に基づいて前記ソフトウェアの更新可否を判定する更新可否判定部と、を備える。
本発明によれば、誤検知による悪影響を抑えつつ、情報処理装置を用いて制御されるシステムをサイバー攻撃から安全に守ることができる。
本発明の第1の実施形態に係るソフトウェア更新制御用セキュリティシステムの構成を示す図 本発明の第1の実施形態に係るソフトウェア更新制御用セキュリティシステムにおける全体処理シーケンスの一例を示す図 通信監視識別処理のフローチャート ステータス更新処理のフローチャート ソフトウェア更新制御処理のフローチャート ステータス回復処理のフローチャート 通信検証情報のデータ構造の例を示す図 更新ステータスフラグのデータ構造の例を示す図 装置ステータス情報のデータ構造の例を示す図 本発明の第2の実施形態に係るソフトウェア更新制御用セキュリティシステムの構成を示す図 本発明の第2の実施形態に係るソフトウェア更新制御用セキュリティシステムにおける全体処理シーケンスの一例を示す図
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
以下の実施形態では、車両に搭載されてソフトウェアを更新可能な情報処理装置が、他の情報処理装置から受信する特定の通信メッセージに基づいて、ソフトウェアの更新可否を示すフラグを更新し、このフラグに基づいてソフトウェアの更新可否を判定する方法の例を説明する。ただし、本発明の技術的思想は、この例に限定されるものではない。なお、各装置間及び車外との通信は、暗号技術などを用いた安全な通信路を利用することが好ましい。また、各装置で利用する暗号用の鍵及びシードは、安全に配布、管理、更新されていることが好ましく、エンジン起動時/停止時、製品開発時、メンテナンス時などの任意のタイミングで配布や更新が行なわれてもよい。
(第1の実施形態)
図1は、本発明の第1の実施形態に係るソフトウェア更新制御用セキュリティシステムの構成を示す図である。図1のソフトウェア更新制御用セキュリティシステムは、それぞれ一つまたは複数の情報処理装置1、情報処理装置2、情報処理装置3が通信バス4を介して互いに接続されることにより構成されている。なお、情報処理装置1,2および3は、例えば車両に搭載されるECU(Electronic Control Unit)であり、車内の通信バス4を介して他の装置にも接続されている。ただし通信バス4は、物理的には複数の通信バスで構成されており、これらの通信バスの規格はすべて同一でもよいし異なっていてもよい。これら通信バスの規格は、例えばCAN(登録商標)、LIN(登録商標)、FlexRay(登録商標)、イーサネット(登録商標)などである。
情報処理装置1,2および3は、不図示のCPU、不図示のROM、および不図示のRAMをそれぞれ備え、ROMに格納されたプログラムをCPUがRAMに展開して実行することにより、以下の機能をそれぞれ実現する。
情報処理装置1は、その機能として、通信部11、通信検証部12、検証結果通知部13を備える。また、フラッシュメモリ等の記録媒体を用いて構成された通信判定情報記憶部14を備える。
通信部11は、通信バス4を介して他の情報処理装置から送信される通信メッセージを受信するとともに、通信バス4を介して他の情報処理装置に対して通信メッセージを送信する。前述のとおり通信バス4は物理的に複数の通信バスから構成されているため、通信部11はこの物理的な通信バスと同数の接続ポートを有する。
通信検証部12は、通信部11が受信した通信メッセージの検証を行い、システム上で何らかの事後対処が必要な事象が発生した場合にはこれを検知する。例えば、通信部11が受信した通信メッセージに基づき、不正なサイバー攻撃の予兆が発生した場合にはこれを検知する。具体的には、例えばアドレススキャン、ポートスキャン、不正メッセージ受信、不正ファイル生成、不正プロセス起動等のサイバー攻撃によって生じる事象を、サイバー攻撃の予兆として検知する。また、他の情報処理装置において禁止動作の発生が検知されたことを示す通信メッセージを通信部11が受信した場合は、この通信メッセージに基づいて禁止動作の発生を検知する。例えば、ソフトウェアの更新が禁止されている状態でソフトウェアの更新依頼が行われた場合、これを禁止動作として検知する。
検証結果通知部13は、通信検証部12による通信メッセージの検証結果を他の情報処理装置に通知する。例えば、通信検証部12によって不正なサイバー攻撃の予兆が検知された場合は、通信部11を用いて所定の通信メッセージを他の情報処理装置に送信することにより、サイバー攻撃の予兆が発生したことを通知するとともに、ソフトウェア更新の禁止などの事後対処を指示する。また、通信検証部12によって禁止動作の発生が検知された場合は、通信部11を用いて所定の通信メッセージを他の情報処理装置に送信することにより、禁止動作の発生を通知するとともに、縮退運転や緊急停車などの事後対処を指示する。
通信判定情報記憶部14には、受信した通信メッセージを通信検証部12が検証するために用いられる通信検証情報141が記憶されている。通信検証部12は、この通信検証情報141を参照することで、通信メッセージの検証を行う。
情報処理装置2は、その機能として、通信部21、更新制御部22、更新可否判定部23、更新認証部24、更新実行部25、状態検証部26、状態管理部27を備える。また、フラッシュメモリ等の記録媒体を用いて構成された更新制御情報記憶部28を備える。
通信部21は、通信バス4を介して他の情報処理装置から送信される通信メッセージを受信するとともに、通信バス4を介して他の情報処理装置に対して通信メッセージを送信する。前述のとおり通信バス4は物理的に複数の通信バスから構成されているため、通信部21はこの物理的な通信バスと同数の接続ポートを有する。
更新制御部22は、通信部21が受信した通信メッセージに基づいて、更新制御情報記憶部28に記憶されている更新ステータスフラグ281を更新する。この更新ステータスフラグ281は、情報処理装置2のソフトウェアの更新可否を制御するためのフラグ情報である。
更新可否判定部23は、更新ステータスフラグ281に基づいてソフトウェアの更新可否を判定する。
更新認証部24は、通信部21が他の情報処理装置から通信メッセージとして所定の認証依頼メッセージを受信した場合に、その情報処理装置の認証処理を実行する。例えば、正規のソフトウェア更新プロトコルに従って送信された認証依頼メッセージであるか否かを確認することで、その認証依頼メッセージが正しいものであるか否かを判定する。
更新実行部25は、情報処理装置2のソフトウェアの更新を実行する。例えば、UDS(Unified Diagnosis Services、ISO14229)プロトコルに基づく処理を実行することで、ソフトウェアの更新を行う。
状態検証部26は、ある任意のタイミングで、情報処理装置2が不正なサイバー攻撃による影響を受けているかどうかを検証する。この状態検証のタイミングには、例えば車両の起動時や、通信部21が予め決められた通信メッセージを受信した時などが設定される。また、所定の周期で状態検証を繰り返し実行してもよい。
状態管理部27は、更新制御情報記憶部28に記憶されている更新ステータスフラグ281および装置ステータス情報282を用いて、情報処理装置2の状態を管理する。
更新制御情報記憶部28には、情報処理装置2におけるソフトウェアの更新可否の状態を示す更新ステータスフラグ281と、情報処理装置2の状態を示す装置ステータス情報282とが記憶されている。更新可否判定部23は、この更新ステータスフラグ281を参照することで、ソフトウェアの更新可否の判定を行う。
情報処理装置3は、情報処理装置1および2と接続され、情報処理装置1および2と通信バス4を介して様々な通信メッセージを送受信する。なお、情報処理装置3は、情報処理装置1または2のいずれかと同様の機能を有してもよい。あるいは、情報処理装置1と2の両方の機能を有してもよい。
図2は、本発明の第1の実施形態に係るソフトウェア更新制御用セキュリティシステムにおける全体処理シーケンスの一例を示す図である。なお、以下に説明する各ステップの実行主体は、各情報処理装置が有する不図示のCPUである。
ステップ101において、情報処理装置1は、通信部11により通信バス4を介して他の情報処理装置から送信される通信メッセージを受信する。
ステップ102において、情報処理装置1は、通信検証部12により、上記ステップ101で受信した通信メッセージの検証を行う。ここでは、受信した通信メッセージが禁止動作の発生やサイバー攻撃の予兆の発生を示しているかを検証する。図2の例では、ステップ101で受信した通信メッセージから、ステップ102でサイバー攻撃の予兆が検知され、これに対する事後対処として、ソフトウェアの更新を禁止することが決定される。
ステップ103において、情報処理装置1は、検証結果通知部13により、上記ステップ102での検証結果を通信バス4を介して他の情報処理装置に通知する。図2の例では、ステップ102でサイバー攻撃の予兆への事後対処として決定されたソフトウェア更新の禁止を指示するための所定の通信メッセージを、通信部11を用いて情報処理装置2に送信する。
ステップ201において、情報処理装置2は、通信部21により、上記ステップ103で情報処理装置1から送信された通信メッセージ、すなわち、サイバー攻撃の予兆の発生に対する事後対処としてソフトウェア更新の禁止を指示する通信メッセージを、通信バス4を介して受信する。
ステップ202において、情報処理装置2は、状態管理部27により、更新制御情報記憶部28に記憶されている更新ステータスフラグ281を確認し、ソフトウェアの更新可否状況を判断する。図2の例では、更新ステータスフラグ281が未更新であり、ソフトウェアの更新を許可するステータスである「更新許可」を表しているものとする。
ステップ203において、情報処理装置2は、更新制御部22により、上記ステップ201で受信した通信メッセージと、上記ステップ202での更新ステータスフラグ281の確認結果とに基づいて、情報処理装置2のステータスを更新する。図2の例では、受信した通信メッセージがサイバー攻撃の予兆の発生を示す通信メッセージであり、かつ、更新ステータスフラグ281が未更新であるため、これらに従って更新ステータスフラグ281を変更する。これにより、情報処理装置2のステータスを、ソフトウェアの更新を許可するステータスである「更新許可」から、更新を許可しないステータスである「更新不可」に更新する。
ステップ204において、情報処理装置2は、状態管理部27により、更新制御情報記憶部28に記憶されている更新ステータスフラグ281および装置ステータス情報282の内容に基づき、現在の情報処理装置2のステータスを通信バス4を介して他の情報処理装置に通知する。図2の例では、上記ステップ203で変更された更新ステータスフラグ281に従い、情報処理装置2のステータスが「更新不可」であることを通知するための所定の通信メッセージを、通信部11を用いて情報処理装置1に送信する。
ステップ30において、情報処理装置3は、正規のソフトウェア更新プロトコルに従って、認証依頼を通知するための所定の通信メッセージを情報処理装置2に送信することで、情報処理装置2に対してソフトウェアの更新を指示する。
ステップ205において、情報処理装置2は、通信部21により、上記ステップ30で情報処理装置3から送信された認証依頼の通信メッセージを、通信バス4を介して受信する。
ステップ206において、情報処理装置2は、更新可否判定部23により、更新制御情報記憶部28に記憶されている更新ステータスフラグ281に基づいて、ソフトウェアの更新可否を判定する。図2の例では、上記ステップ203で更新ステータスフラグ281が「更新不可」に変更されているため、ステップ205で情報処理装置3から受信した通知メッセージが示すソフトウェアの更新指示を禁止動作の発生として検知し、ソフトウェアの更新を不可と判定する。
ステップ207において、情報処理装置2は、状態管理部27により、上記ステップ206での判定結果に基づいて、情報処理装置2のステータスを更新する。図2の例では、ステップ206で禁止動作の発生が検知され、これに従ってソフトウェアの更新が不可であると判定されている。こうした判定結果を装置ステータス情報282に反映させることで、情報処理装置2のステータスを更新する。
ステップ208において、情報処理装置2は、状態管理部27により、更新制御情報記憶部28に記憶されている更新ステータスフラグ281および装置ステータス情報282の内容に基づき、現在の情報処理装置2のステータスを通信バス4を介して他の情報処理装置に通知する。図2の例では、上記ステップ207で変更された装置ステータス情報282に従い、情報処理装置2が禁止動作の発生を検知したことを通知するための所定の通信メッセージを、通信部21を用いて情報処理装置1に送信する。
ステップ104において、情報処理装置1は、通信部11により通信バス4を介して、上記ステップ208で情報処理装置2から送信された通信メッセージを受信する。
ステップ105において、情報処理装置1は、通信検証部12により、上記ステップ104で受信した通信メッセージの検証を行う。ここでは上記ステップ102と同様に、受信した通信メッセージが禁止動作の発生やサイバー攻撃の予兆の発生を示しているかを検証する。図2の例では、ステップ104で受信した通信メッセージから、ステップ105で禁止動作の発生が検知され、これに対する事後対処として、縮退運転や緊急停車を行うことが決定される。
ステップ106において、情報処理装置1は、検証結果通知部13により、上記ステップ105での検証結果を通信バス4を介して他の情報処理装置に通知する。図2の例では、ステップ105で禁止動作への事後対処として決定された縮退運転や緊急停車を指示するための所定の通信メッセージを、通信部11を用いて情報処理装置2に送信する。
ステップ209において、情報処理装置2は、上記ステップ106で情報処理装置1から送信された通信メッセージを通信バス4を介して受信し、この通信メッセージに基づいて、車両の縮退運転や緊急停車を実施するための所定の制御モードに移行する。
本実施形態のソフトウェア更新制御用セキュリティシステムでは、以上の各ステップにより、セキュリティに対する不正なサイバー攻撃の予兆を検知した場合に、情報処理装置2におけるソフトウェアの更新を禁止する。さらに、当該禁止期間においてソフトウェアの更新に関る動作を検知した場合に、縮退運転や緊急停車などの緊急対処を情報処理装置2に実行させ、自動車を安全な状態で維持できるようにする。
次に、図2の処理シーケンスの詳細について、図3〜図5および図7〜図9を参照して以下に説明する。
図3は、図2のステップ101からステップ105において情報処理装置1が実行する通信監視識別処理のフローチャートである。
ステップ301において、情報処理装置1は、図2のステップ101、104で説明したように、通信バス4を介して他の情報処理装置から送信される通信メッセージを通信部11により受信する。
ステップ302において、情報処理装置1は、通信検証部12により、図2のステップ102、105で説明したように、通信判定情報記憶部14に記憶されている通信検証情報141に基づいて、ステップ301で受信した通信メッセージの検証を行う。すなわち、受信した通信メッセージが「禁止動作の発生」や「サイバー攻撃の予兆の発生」に該当するかどうかを検証する。
図7は、上記ステップ302において通信検証部12が通信メッセージの検証に用いる通信検証情報141のデータ構造の例を示す図である。図7に示すように、通信検証情報141は、例えば検証ID1411と、通信種別1412と、該当通信ID一覧1413とを含んで構成される。検証ID1411は、通信検証情報141を構成する各レコードを識別するための情報であり、レコードごとに固有の値が設定されている。通信種別1412は、通信メッセージの種別を示す情報であり、これは検証対象の通信メッセージがどのような事象に該当するかを表している。該当通信ID一覧1413は、通信メッセージに含まれる通信IDの一覧を示す情報である。
通信検証部12は、通信検証情報141に含まれるこれらの情報を通信部11が受信した通信メッセージと照合することで、受信した通信メッセージがどの事象に該当するかを判断することができる。例えば、上記ステップ301で受信した通信メッセージにおける通信IDの値が「0x001」の場合、この値が該当通信ID一覧1413に含まれているのは、検証ID1411の値が「V1」のレコードである。したがって、このレコードに紐づけられた通信種別1412の内容から、受信した通信メッセージが「禁止動作の発生」を示しており、ソフトウェアの更新が禁止されている状態でソフトウェアの更新依頼が行われたと判断することができる。
図3の説明に戻ると、ステップ303において、通信検証部12は、上記ステップ302で行った通信メッセージの検証結果に基づいて、禁止動作を検知したか否かを判定する。禁止動作を検知した場合はステップ304に進み、それ以外の場合はステップ305に進む。
ステップ304において、情報処理装置1は、検証結果通知部13により、ステップ302で検知した禁止動作への事後対処として、縮退運転や緊急停車への移行を依頼する通知を行う。ここでは図2のステップ106で説明したように、通信部11により通信バス4を介して、縮退運転や緊急停車を指示する所定の通信メッセージを送信することで、他の各情報処理装置に対して禁止動作への事後対処を指示する。
ステップ305において、通信検証部12は、上記ステップ302で行った通信メッセージの検証結果に基づいて、不正なサイバー攻撃の予兆を検知したか否かを判定する。攻撃の予兆を検知した場合はステップ306に進み、それ以外の場合はステップ307に進む。
ステップ306において、情報処理装置1は、検証結果通知部13により、ステップ302で検知したサイバー攻撃の予兆への事後対処として、所定の更新制御を依頼する通知を行う。ここでは図2のステップ103で説明したように、通信部11により通信バス4を介して、ソフトウェア更新の禁止を指示する所定の通信メッセージ(更新制御依頼メッセージ)を送信することで、他の各情報処理装置に対して攻撃の予兆への事後対処を指示する。
ステップ307において、通信検証部12は、通信部11により受信される通信メッセージを継続して監視する継続監視状態に移行する。
ステップ304、306、307のいずれかを実行したら、情報処理装置1は図3の処理を終了する。
以上の処理により、情報処理装置1は、受信した通信メッセージを検証し、その検証結果に基づいて、事象に応じた事後対処を他の情報処理装置に通知できる。なお、情報処理装置1は、検証結果の通知先に情報処理装置1自身を含めてもよい。また、通信検証情報141において、攻撃の予兆と禁止動作以外の事象も通信種別1412に含めることで、通信検証部12がこれらの事象についても事後対象を要する事象として検証できるようにしてもよい。
図4は、図2のステップ201からステップ204において情報処理装置2が実行するステータス更新処理のフローチャートである。
ステップ401において、情報処理装置2は、図2のステップ201で説明したように、通信バス4を介して情報処理装置1から送信される更新制御依頼メッセージ、すなわち更新ステータスフラグ281を更新してソフトウェア更新の禁止を依頼する通信メッセージを、通信部21により受信する。
ステップ402において、情報処理装置2は、図2のステップ202で説明したように、状態管理部27により、更新制御情報記憶部28に記憶されている更新ステータスフラグ281を確認し、ソフトウェアの更新可否状況を判断する。
図8は、上記ステップ402において状態管理部27が確認する更新ステータスフラグ281のデータ構造の例を示す図である。図8に示すように、更新ステータスフラグ281は、例えばフラグ値2811を含んで構成される。フラグ値2811は、ソフトウェアの更新が許可されているか禁止されているかを示す情報である。フラグ値2811が「0」の場合は、ソフトウェアの更新が許可されている、すなわち情報処理装置2のステータスが「更新許可」であることを表し、「1」の場合は、ソフトウェアの更新が禁止されている、すなわち情報処理装置2のステータスが「更新不可」であることを表す。
状態管理部27は、更新ステータスフラグ281に含まれるこの情報を確認することで、情報処理装置2におけるソフトウェアの更新可否状況を判断することができる。すなわち、フラグ値2811が「0」の場合はソフトウェアの更新が許可されていると判断し、「1」の場合は禁止されていると判断することができる。
図4の説明に戻ると、ステップ403において、情報処理装置2は、上記ステップ402で確認した最新の更新ステータスフラグ281に基づいて、情報処理装置2のステータスが「更新許可」と「更新不可」のいずれであるかを判定する。すなわち、フラグ値2811が「0」の場合は「更新許可」と判定してステップ404に進み、フラグ値2811が「1」の場合は更新不可状態と判定してステップ405に進む。これにより、通信部21が通信メッセージとして更新制御依頼メッセージを受信した場合であっても、情報処理装置2において過去に下記のステップ404が実行されたことにより、更新ステータスフラグ281のフラグ値2811を「0」から「1」に更新済みである場合は、ステップ404を実行せずに更新ステータスフラグ281を更新しないようにする。
ステップ404において、情報処理装置2は、更新制御部22により、更新ステータスフラグ281を更新する。ここでは、更新ステータスフラグ281のフラグ値2811を「0」から「1」に更新することで、図2のステップ203で説明したように、更新ステータスフラグ281が表す情報処理装置2のステータスを「更新許可」から「更新不可」に変更する。
ステップ405において、情報処理装置2は、更新制御部22により、装置ステータス情報282を更新する。ここでは、ステップ403の判定結果に従って、装置ステータス情報282にログを記録する。
図9は、上記ステップ405において更新制御部22がログを記録する装置ステータス情報282のデータ構造の例を示す図である。図9に示すように、装置ステータス情報282は、例えば装置ステータスID2821と、ステータス種別2822と、発生回数2823とを含んで構成される。装置ステータスID2821は、装置ステータス情報282を構成する各レコードを識別するための情報であり、レコードごとに固有の値が設定されている。ステータス種別2822は、ステータスの種別を示す情報であり、これは情報処理装置2がどのような状態であるかを表している。発生回数2823は、当該ステータスの発生回数を示す情報である。なお、装置ステータス情報282にこれ以外の情報、例えば時刻情報や検知箇所等の補足情報を追加してもよい。
更新制御部22は、装置ステータス情報282に含まれるこれらの情報のうち、ステップ403の判定結果に応じた情報を書き換えることで、情報処理装置1からの更新制御依頼に対する処理結果をログとして記録する。例えば、ステップ403で「更新許可」と判定された場合、ステップ404で更新ステータスフラグ281が更新されることにより、情報処理装置2のステータスが「更新許可」から「更新不可」に変更される。この場合は、ステータス種別2822が「更新ステータスフラグの更新」を示しているレコード、すなわち装置ステータスID2821が「D5」であるレコードを特定し、このレコードの発生回数2823の値に「1」を加算した値を登録する。一方、ステップ403で「更新不可」と判定された場合、ステップ404が実行されずに更新ステータスフラグ281が更新されない。この場合は、ステータス種別2822が「更新ステータスフラグアクセス拒否」を示しているレコード、すなわち装置ステータスID2821が「D3」であるレコードを特定し、このレコードの発生回数2823値に「1」を加算した値を登録する。
図4の説明に戻ると、ステップ406において、情報処理装置2は、図2のステップ204で説明したように、状態管理部27により、上記ステップ404が実行された場合に更新された更新ステータスフラグ281と、上記ステップ405で更新された装置ステータス情報282とに基づいて、現在の情報処理装置2のステータスを示す任意の情報を通信バス4を介して情報処理装置1に送信する。例えば、任意の情報として更新ステータスフラグ281の値のみを送信してもよいし、装置ステータス情報282の一部を送信してもよい。
ステップ406を実行したら、情報処理装置2は図4の処理を終了する。
以上の処理により、情報処理装置2は、情報処理装置1から通知された検証結果に基づいて、ソフトウェアの更新可否を制御するための更新ステータスフラグ281の内容を更新することができる。また、一度でも更新ステータスフラグ281が更新されたら、その後は更新ステータスフラグ281をそのままの状態に維持することができる。
図5は、図2のステップ205からステップ208において情報処理装置2が実行するソフトウェア更新制御処理のフローチャートである。
ステップ501において、情報処理装置2は、図2のステップ205で説明したように、通信バス4を介して情報処理装置3から送信される所定の通信メッセージ(認証依頼メッセージ)を、ソフトウェアの更新を指示する通信メッセージとして、通信部21により受信する。
ステップ502において、情報処理装置2は、図2のステップ206で説明したように、更新可否判定部23により、更新制御情報記憶部28に記憶されている更新ステータスフラグ281を参照し、これに基づいてソフトウェアの更新可否を判定する。例えば、図8の更新ステータスフラグ281におけるフラグ値2811を参照し、フラグ値2811が「0」であれば、ソフトウェアの更新を許可すると判定する。すなわち、上記ステップ404で更新制御部22によって更新ステータスフラグ281のフラグ値2811が一度も「0」から「1」に更新されていない場合は、ソフトウェアの更新を許可すると判定する。一方、フラグ値2811が「1」であれば、ソフトウェアの更新を許可しないと判定する。すなわち、上記ステップ404で更新制御部22によって更新ステータスフラグ281のフラグ値2811が一度でも「0」から「1」に更新された場合は、ソフトウェアの更新を許可しないと判定する。
ステップ503において、情報処理装置2は、更新可否判定部23により、上記ステップ502の判定結果に基づいて、ソフトウェアの更新が可能か否かを判定する。ステップ502でソフトウェアの更新を許可すると判定された場合は、ソフトウェアの更新が可能であると判定してステップ504に進む。一方、ステップ502でソフトウェアの更新を許可しないと判定された場合は、ソフトウェアの更新が不可であると判定してステップ507に進む。
ステップ504において、情報処理装置2は、更新認証部24により、ステップ501で通信部21が受信した認証依頼メッセージによって認証を依頼してきた情報処理装置3に対する認証処理を実施する。このときの認証処理としては、任意の処理を実行できる。例えば機器認証、受信したメッセージの認証、署名検証等のうちいずれか一つまたは複数の処理を、認証処理として実施することができる。
ステップ505において、情報処理装置2は、更新認証部24により、上記ステップ504で実施した認証処理の結果に基づいて、情報処理装置3が認証をパスしたか否かを判定する。認証処理において情報処理装置3が正規の装置であると認証された場合は、認証をパスしたと判定してステップ506に進み、そうでないと判断された場合は、認証をパスしなかったと判定してステップ507に進む。
ステップ506において、情報処理装置2は、更新実行部25により、所定の手順に基づいてソフトウェアの更新処理を実行する。ステップ506でソフトウェアの更新を完了したら、ステップ508に進む。
ステップ507において、情報処理装置2は、状態管理部27により、上記ステップ503またはステップ505の判定結果に基づいて、装置ステータス情報282を更新する。例えば、ステップ503でソフトウェアの更新が不可であると判定した場合は、図9の装置ステータス情報282において、ステータス種別2822が「更新不可」を示しているレコード、すなわち装置ステータスID2821が「D2」であるレコードを特定し、このレコードの発生回数2823の値に「1」を加算した値を登録する。また例えば、ステップ505で情報処理装置3が認証をパスしなかったと判定した場合は、図9の装置ステータス情報282において、ステータス種別2822が「認証失敗」を示しているレコード、すなわち装置ステータスID2821が「D1」であるレコードを特定し、このレコードの発生回数2823の値に「1」を加算した値を登録する。ステップ507で装置ステータス情報282を更新したら、ステップ508に進む。
ステップ508において、情報処理装置2は、図2のステップ207で説明したように、状態管理部27により、更新ステータスフラグ281および装置ステータス情報282に基づいて、現在の情報処理装置2のステータスを示す任意の情報を通信バス4を介して情報処理装置1に送信する。ここでは図4のステップ406と同様に、例えば、任意の情報として更新ステータスフラグ281の値のみを送信してもよいし、装置ステータス情報282の一部を送信してもよい。
ステップ508を実行したら、情報処理装置2は図5の処理を終了する。
以上の処理により、情報処理装置2は、情報処理装置3からのソフトウェアの更新指示に対して、更新ステータスフラグ281に基づいて、ソフトウェアの更新可否を判定することができる。
次に、更新された更新ステータスフラグ281を元に戻す場合の処理について説明する。上記図4の処理では、情報処理装置2において更新ステータスフラグ281が一度でも更新されると、その後は更新ステータスフラグ281がそのままの状態に維持されることで、ソフトウェアの更新が禁止された状態のままとなる。以下では、図6に示すステータス回復処理のフローチャートを参照して、任意のタイミングで情報処理装置2がサイバー攻撃による影響を受けているかどうかを検証し、サイバー攻撃による影響を受けていない場合は、更新ステータスフラグ281を元に戻して、ソフトウェアの更新を再び許可する場合を説明する。
ステップ601において、情報処理装置2は、状態検証の要求を検知する。例えば、車両の起動時や、通信バス4を介して情報処理装置1から送信される所定の通信メッセージを通信部21により受信したとき、一定周期など、任意のタイミングで状態検証の要求が行われたと判断し、これを検知する。
ステップ602において、情報処理装置2は、状態検証部26により、ステップ601で検知した状態検証の要求に応じて、情報処理装置2が不正なサイバー攻撃による影響を受けているかどうかの検証を行う。ここでは、例えば所定のセキュアブート処理を実行し、情報処理装置2が改ざんされていないことを検証することで、サイバー攻撃による影響の有無を検証する。
ステップ603において、情報処理装置2は、上記ステップ602で実施した検証結果に基づいて、情報処理装置2における異常の有無を判定する。ステップ602の検証によって情報処理装置2が改ざんされていないことを確認できた場合は、「異常なし」と判定してステップ604に進み、確認できなかった場合は「異常あり」と判定してステップ605に進む。
ステップ604において、情報処理装置2は、更新制御部22により、更新ステータスフラグ281を更新する。ここでは、更新ステータスフラグ281のフラグ値2811を「1」から「0」に更新することで、更新ステータスフラグ281が表す情報処理装置2のステータスを、図4のステップ404において更新済みの状態である「更新不可」から更新前の状態である「更新許可」に戻す。ただし、更新ステータスフラグ281のフラグ値2811が「0」である場合は、更新せずにそのままとする。
ステップ605において、情報処理装置2は、更新制御部22により、装置ステータス情報282を更新する。ここでは、ステップ603の判定結果に従って、装置ステータス情報282にログを記録する。例えば、ステップ603で「異常なし」と判定された場合、ステップ604で更新ステータスフラグ281が更新されることにより、情報処理装置2のステータスが「更新不可」から「更新許可」に変更される。この場合は、ステータス種別2822が「更新ステータスフラグの更新」を示しているレコード、すなわち装置ステータスID2821が「D5」であるレコードを特定し、このレコードの発生回数2823の値に「1」を加算した値を登録する。一方、ステップ603で「異常あり」と判定された場合は、ステータス種別2822が「状態検証異常あり」を示しているレコード、すなわち装置ステータスID2821が「D4」であるレコードを特定し、このレコードの発生回数2823の値に「1」を加算した値を登録する。
ステップ606において、情報処理装置2は、状態管理部27により、更新ステータスフラグ281および装置ステータス情報282に基づいて、現在の情報処理装置2のステータスを示す任意の情報を通信バス4を介して情報処理装置1に送信する。ここでは図4のステップ406や図5のステップ508と同様に、例えば、任意の情報として更新ステータスフラグ281の値のみを送信してもよいし、装置ステータス情報282の一部を送信してもよい。
ステップ606を実行したら、情報処理装置2は図6の処理を終了する。
以上の処理により、情報処理装置2は、任意のタイミングで、情報処理装置2がサイバー攻撃による影響を受けているかどうかを検証し、その検証結果に応じて、ソフトウェアの更新を再び許可するか否かを決定することができる。
以上説明した第1の実施形態によれば、ソフトウェア更新制御用セキュリティシステムは、例えば情報処理装置2を車両制御系のECUとした場合に、このECUを狙ったサイバー攻撃に対して有効に対処することができる。すなわち、情報処理装置2では、ソフトウェアの更新認証を行う更新認証部24とは別に、更新制御部22および更新可否判定部23により、更新制御情報記憶部28に記憶された更新ステータスフラグ281を用いて、サイバー攻撃の予兆が検知された段階でソフトウェアの更新を禁止する。また、ソフトウェアの更新を禁止している期間において、ソフトウェアの更新指示等の禁止動作を検知した場合は、縮退運転や緊急停車などの緊急対処に移行する。これにより、サイバー攻撃者によって正規ソフトウェア更新プロトコルが破られたとしても、不正なソフトウェアの更新を防止することができる。また、サイバー攻撃の予兆が誤検知の場合でも、一時的にソフトウェアの更新ができないだけで、走行制御に影響を与えずに自動車を安全な状態に維持することができる。
以上説明した本発明の第1の実施形態によれば、以下の作用効果を奏する。
(1)ソフトウェアを更新可能な情報処理装置2は、ソフトウェアの更新可否を制御するための制御情報である更新ステータスフラグ281を記憶する更新制御情報記憶部28と、通信バス4を介して接続された他の情報処理装置1,3から送信される通信メッセージを受信する通信部21と、通信部21が受信した通信メッセージに基づいて更新ステータスフラグ281を更新する更新制御部22と、更新ステータスフラグ281に基づいてソフトウェアの更新可否を判定する更新可否判定部23と、を備える。このようにしたので、誤検知による悪影響を抑えつつ、情報処理装置2を用いて制御される自動車等のシステムをサイバー攻撃から安全に守ることができる。
(2)更新制御部22は、通信部21が通信メッセージとして、更新ステータスフラグ281の更新を依頼する所定の更新制御依頼メッセージを他の情報処理装置1から受信した場合(ステップ401)に、更新ステータスフラグ281を更新する(ステップ404)。このようにしたので、適切なタイミングで更新ステータスフラグ281を更新することができる。
(3)更新制御部22は、通信部21が通信メッセージとして更新制御依頼メッセージを受信した場合であっても、更新ステータスフラグ281を更新済みである場合(ステップ403:No)は、更新ステータスフラグ281を更新しない。このようにしたので、一度でも更新ステータスフラグ281を更新して情報処理装置2のステータスを「更新不可」に設定した後は、その状態を確実に維持することができる。
(4)更新可否判定部23は、更新制御部22により更新ステータスフラグ281が一度も更新されていない場合は、ソフトウェアの更新を許可すると判定し、更新制御部22により更新ステータスフラグ281が一度でも更新された場合は、ソフトウェアの更新を許可しないと判定する(ステップ502)。このようにしたので、サイバー攻撃の発生の予兆がある場合に、ソフトウェアが不正に更新されてしまうことを確実に防止できる。
(5)情報処理装置2は、不正な攻撃による影響の有無を検証する状態検証部26をさらに備える。更新制御部22は、状態検証部26による検証結果に基づいて、更新済みの更新ステータスフラグ281を更新前の状態に戻す(ステップ602〜604)。このようにしたので、サイバー攻撃の発生の予兆を検知して一度ソフトウェアの更新を禁止した後でも、サイバー攻撃による影響を受けていないことが確認できた場合は、ソフトウェアの更新を再び許可して可用性を回復することができる。
(6)更新可否判定部23は、通信部21が通信メッセージとして、ソフトウェアの更新を依頼する所定の認証依頼メッセージを他の情報処理装置3から受信した場合(ステップ501)に、更新ステータスフラグ281に基づいてソフトウェアの更新可否を判定する(ステップ502)。このようにしたので、適切なタイミングでソフトウェアの更新可否を判定することができる。
(7)情報処理装置2は、通信部21が通信メッセージとして認証依頼メッセージを受信した場合に、他の情報処理装置3の認証処理を実行する更新認証部24と、ソフトウェアの更新を実行する更新実行部25と、をさらに備える。更新実行部25は、更新可否判定部23がソフトウェアの更新を許可すると判定し(ステップ503:Yes)、かつ、更新認証部24が実行した認証処理において他の情報処理装置3が正規の装置であると認証された場合(ステップ505:Yes)に、ソフトウェアの更新を実行する(ステップ506)。このようにしたので、なりすまし等の不正な手段でソフトウェアが更新されてしまうことを確実に防止できる。
(8)情報処理装置2は、更新制御部22により更新ステータスフラグ281が更新された後、通信部21が通信メッセージとして所定の禁止メッセージを受信した場合(ステップ303:Yes)に、制御モードを所定の縮退モードに切り替える(ステップ304)。このようにしたので、不正なサイバー攻撃の攻撃を受けた場合でも、自動車を安全な状態に維持することができる。
(第2の実施形態)
図10は、本発明の第2の実施形態に係るソフトウェア更新制御用セキュリティシステムの構成を示す図である。図10のソフトウェア更新制御用セキュリティシステムは、それぞれ一つまたは複数の情報処理装置2A、情報処理装置3が通信バス4を介して互いに接続されることにより構成されている。なお、第1の実施形態と同様に、情報処理装置2Aおよび3は、例えば車両に搭載されるECU(Electronic Control Unit)であり、車内の通信バス4を介して他の装置にも接続されている。ただし通信バス4は、物理的には複数の通信バスで構成されており、これらの通信バスの規格はすべて同一でもよいし異なっていてもよい。
情報処理装置2Aは、第1の実施形態で説明した情報処理装置2と比べて、情報処理装置1と同様の機能をさらに有する点が異なっている。具体的には、通信検証部12および検証結果通知部13をさらに有する点と、更新制御情報記憶部28に替えて情報記憶部28Aを有し、この情報記憶部28Aには更新ステータスフラグ281および装置ステータス情報282に加えて、さらに通信検証情報141が記憶されている点とが異なっている。なお、通信検証部12、検証結果通知部13および通信検証情報141は、第1の実施形態で説明したのとそれぞれ同様のものである。
図11は、本発明の第2の実施形態に係るソフトウェア更新制御用セキュリティシステムにおける処理シーケンスの一例を示す図である。なお、図11では、第1の実施形態で説明した図2と同じ内容の処理に対して、図2と共通のステップ番号を付している。また、各ステップの実行主体は、情報処理装置2Aが有する不図示のCPUである。
ステップ101において、情報処理装置2Aは、通信部21により通信バス4を介して他の情報処理装置から送信される通信メッセージを受信する。
ステップ102において、情報処理装置2Aは、通信検証部12により、上記ステップ101で受信した通信メッセージの検証を行う。ここでは、受信した通信メッセージが禁止動作の発生やサイバー攻撃の予兆の発生を示しているかを検証する。図11の例では、ステップ101で受信した通信メッセージから、ステップ102でサイバー攻撃の予兆が検知され、これに対する事後対処として、ソフトウェアの更新を禁止することが決定される。
上記ステップ102でソフトウェアの更新を禁止することが決定されると、ステップ202において、情報処理装置2Aは、状態管理部27により、更新制御情報記憶部28に記憶されている更新ステータスフラグ281を確認し、ソフトウェアの更新可否状況を判断する。図11の例では、更新ステータスフラグ281が未更新であり、ソフトウェアの更新を許可するステータスである「更新許可」を表しているものとする。
ステップ203において、情報処理装置2Aは、更新制御部22により、上記ステップ102での検証結果と、上記ステップ202での更新ステータスフラグ281の確認結果とに基づいて、情報処理装置2Aのステータスを更新する。図11の例では、検証結果としてソフトウェアの更新禁止が決定され、かつ、更新ステータスフラグ281が未更新であるため、これらに従って更新ステータスフラグ281を変更する。これにより、情報処理装置2Aのステータスを、ソフトウェアの更新を許可するステータスである「更新許可」から、更新を許可しないステータスである「更新不可」に更新する。
なお、図11の例では上記のとおりであるが、ステップ102の検証結果としてソフトウェアの更新禁止が決定されなかった場合や、ステップ202で更新ステータスフラグ281が更新済みであることが確認された場合は、ステップ203において、更新ステータスフラグ281を更新せずにそのままとする。
ステップ205〜207では、図2と同様の処理をそれぞれ実施する。
ステップ105において、情報処理装置2Aは、通信検証部12により、上記ステップ205で受信した通信メッセージの検証を行う。ここでは上記ステップ102と同様に、受信した通信メッセージが禁止動作の発生やサイバー攻撃の予兆の発生を示しているかを検証する。図11の例では、ステップ205で受信した認証依頼の通信メッセージにより、ステップ206で禁止動作の発生が検知されている。そのため、ステップ105では禁止動作の発生に対する事後対処として、縮退運転や緊急停車を行うことが決定される。
ステップ209において、情報処理装置2Aは、上記ステップ105で決定された事後対処に従って、車両の縮退運転や緊急停車を実施するための所定の制御に移行する。
本実施形態のソフトウェア更新制御用セキュリティシステムでは、以上の各ステップにより、第1の実施形態と同様に、セキュリティに対する不正なサイバー攻撃の予兆を検知した場合に、情報処理装置2Aにおけるソフトウェアの更新を禁止する。さらに、当該禁止期間においてソフトウェアの更新に関る動作を検知した場合に、縮退運転や緊急停車などの緊急対処を実行し、自動車を安全な状態で維持できるようにする。
以上説明した本発明の第2の実施形態によれば、第1の実施形態で説明した(1)、(4)〜(8)に加えて、さらに以下の作用効果を奏する。
(9)情報処理装置2Aは、通信部21が受信した通信メッセージに基づいて不正な攻撃の予兆を検知する通信検証部12をさらに備える。更新制御部22は、通信検証部12が不正な攻撃の予兆を検知した場合に、更新ステータスフラグ281を更新する(ステップ203)。このようにしたので、サイバー攻撃の予兆が発生した場合に、ソフトウェアが不正に更新されてしまうことを防止するため、更新ステータスフラグ281を確実に更新することができる。
(10)更新制御部22は、通信検証部12が不正な攻撃の予兆を検知した場合であっても、更新ステータスフラグ281を更新済みである場合は、ステップ203で更新ステータスフラグ281を更新しない。このようにしたので、第1の実施形態と同様に、一度更新ステータスフラグ281を更新して情報処理装置2Aのステータスを「更新不可」に設定した後は、その状態を確実に維持することができる。
なお、以上説明した各実施形態や各種変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態や変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
1,2,2A,3:情報処理装置
4:通信バス
11:通信部
12:通信検証部
13:検証結果通知部
14:通信判定情報記憶部
21:通信部
22:更新制御部
23:更新可否判定部
24:更新認証部
25:更新実行部
26:状態検証部
27:状態管理部
28:更新制御情報記憶部
28A:情報記憶部
141:通信検証情報
281:更新ステータスフラグ
282:装置ステータス情報

Claims (10)

  1. ソフトウェアを更新可能な情報処理装置であって、
    前記ソフトウェアの更新可否を制御するための制御情報を記憶する記憶部と、
    通信回線を介して接続された他の情報処理装置から送信される通信メッセージを受信する通信部と、
    前記通信部が受信した前記通信メッセージに基づいて前記制御情報を更新する更新制御部と、
    前記制御情報に基づいて前記ソフトウェアの更新可否を判定する更新可否判定部と、を備える情報処理装置。
  2. 請求項1に記載の情報処理装置において、
    前記更新制御部は、前記通信部が前記通信メッセージとして、前記制御情報の更新を依頼する所定の更新制御依頼メッセージを前記他の情報処理装置から受信した場合に、前記制御情報を更新する情報処理装置。
  3. 請求項2に記載の情報処理装置において、
    前記更新制御部は、前記通信部が前記通信メッセージとして前記更新制御依頼メッセージを受信した場合であっても、前記制御情報を更新済みである場合は、前記制御情報を更新しない情報処理装置。
  4. 請求項1に記載の情報処理装置において、
    前記通信部が受信した前記通信メッセージに基づいて不正な攻撃の予兆を検知する通信検証部をさらに備え、
    前記更新制御部は、前記通信検証部が前記不正な攻撃の予兆を検知した場合に、前記制御情報を更新する情報処理装置。
  5. 請求項4に記載の情報処理装置において、
    前記更新制御部は、前記通信検証部が前記不正な攻撃の予兆を検知した場合であっても、前記制御情報を更新済みである場合は、前記制御情報を更新しない情報処理装置。
  6. 請求項1から請求項5のいずれか一項に記載の情報処理装置において、
    前記更新可否判定部は、
    前記更新制御部により前記制御情報が一度も更新されていない場合は、前記ソフトウェアの更新を許可すると判定し、
    前記更新制御部により前記制御情報が一度でも更新された場合は、前記ソフトウェアの更新を許可しないと判定する情報処理装置。
  7. 請求項6に記載の情報処理装置において、
    不正な攻撃による影響の有無を検証する状態検証部をさらに備え、
    前記更新制御部は、前記状態検証部による検証結果に基づいて、更新済みの前記制御情報を更新前の状態に戻す情報処理装置。
  8. 請求項1から請求項5のいずれか一項に記載の情報処理装置において、
    前記更新可否判定部は、前記通信部が前記通信メッセージとして、前記ソフトウェアの更新を依頼する所定の認証依頼メッセージを前記他の情報処理装置から受信した場合に、前記制御情報に基づいて前記ソフトウェアの更新可否を判定する情報処理装置。
  9. 請求項8に記載の情報処理装置において、
    前記通信部が前記通信メッセージとして前記認証依頼メッセージを受信した場合に、前記他の情報処理装置の認証処理を実行する更新認証部と、
    前記ソフトウェアの更新を実行する更新実行部と、をさらに備え、
    前記更新実行部は、前記更新可否判定部が前記ソフトウェアの更新を許可すると判定し、かつ、前記更新認証部が実行した前記認証処理において前記他の情報処理装置が正規の装置であると認証された場合に、前記ソフトウェアの更新を実行する情報処理装置。
  10. 請求項1から請求項5のいずれか一項に記載の情報処理装置において、
    前記更新制御部により前記制御情報が更新された後、前記通信部が前記通信メッセージとして所定の禁止メッセージを受信した場合に、制御モードを所定の縮退モードに切り替える情報処理装置。
JP2018247787A 2018-12-28 2018-12-28 情報処理装置 Active JP7138043B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018247787A JP7138043B2 (ja) 2018-12-28 2018-12-28 情報処理装置
EP19902616.2A EP3904161A4 (en) 2018-12-28 2019-12-20 INFORMATION PROCESSING DEVICE
US17/414,824 US20220019669A1 (en) 2018-12-28 2019-12-20 Information processing device
PCT/JP2019/050023 WO2020137852A1 (ja) 2018-12-28 2019-12-20 情報処理装置
CN201980084948.0A CN113226858A (zh) 2018-12-28 2019-12-20 信息处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018247787A JP7138043B2 (ja) 2018-12-28 2018-12-28 情報処理装置

Publications (2)

Publication Number Publication Date
JP2020107237A true JP2020107237A (ja) 2020-07-09
JP7138043B2 JP7138043B2 (ja) 2022-09-15

Family

ID=71126211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018247787A Active JP7138043B2 (ja) 2018-12-28 2018-12-28 情報処理装置

Country Status (5)

Country Link
US (1) US20220019669A1 (ja)
EP (1) EP3904161A4 (ja)
JP (1) JP7138043B2 (ja)
CN (1) CN113226858A (ja)
WO (1) WO2020137852A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023233817A1 (ja) * 2022-05-31 2023-12-07 日立Astemo株式会社 電子制御装置、検証プログラム及び検証方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220366087A1 (en) * 2021-05-13 2022-11-17 AO Kaspersky Lab Systems and methods for verifying the integrity of a software installation image

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140137097A1 (en) * 2012-11-15 2014-05-15 Nintendo Co., Ltd. Information processing apparatus, terminal system, storage medium having stored therein information processing program, and method of obtaining update data for application
US20160366229A1 (en) * 2015-06-09 2016-12-15 Kabushiki Kaisha Toshiba Communication device, communication system, and computer program product
US20170169219A1 (en) * 2015-12-15 2017-06-15 Yokogawa Electric Corporation Control device, integrated industrial system, and control method thereof

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707305B2 (en) * 2000-10-17 2010-04-27 Cisco Technology, Inc. Methods and apparatus for protecting against overload conditions on nodes of a distributed network
US6754895B1 (en) * 2001-04-26 2004-06-22 Palm Source, Inc. Method and system for automatic firmware updates in a portable hand-held device
US7010624B1 (en) * 2002-04-01 2006-03-07 Adaptec, Inc. System and method of software/firmware uploading and upgrading for peripheral devices
US8065725B2 (en) * 2003-05-30 2011-11-22 Yuliang Zheng Systems and methods for enhanced network security
CN100568253C (zh) * 2003-09-26 2009-12-09 日本电信电话株式会社 标签隐私保护方法、更新装置、更新委托装置、标签装置
US7549042B2 (en) * 2003-12-16 2009-06-16 Microsoft Corporation Applying custom software image updates to non-volatile storage in a failsafe manner
JP4196969B2 (ja) * 2005-06-07 2008-12-17 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像処理装置におけるソフトウェアの更新方法、およびソフトウェア更新プログラム
US8375189B2 (en) * 2005-12-30 2013-02-12 Intel Corporation Configuring levels of program/erase protection in flash devices
US7966401B2 (en) * 2006-06-30 2011-06-21 Oracle America, Inc. Method and apparatus for containing a denial of service attack using hardware resources on a network interface card
US8726374B2 (en) * 2009-02-16 2014-05-13 Panasonic Corporation Tampering monitoring system, control device, and tampering control method
US8490179B2 (en) * 2009-10-27 2013-07-16 Hewlett-Packard Development Company, L.P. Computing platform
US8522322B2 (en) * 2010-09-22 2013-08-27 Intel Corporation Platform firmware armoring technology
US9916454B2 (en) * 2011-12-22 2018-03-13 Intel Corporation User controllable platform-level trigger to set policy for protecting platform from malware
US8898797B2 (en) * 2012-04-12 2014-11-25 Dell Products L.P. Secure option ROM firmware updates
US8898654B2 (en) * 2012-08-29 2014-11-25 Microsoft Corporation Secure firmware updates
US9282116B1 (en) * 2012-09-27 2016-03-08 F5 Networks, Inc. System and method for preventing DOS attacks utilizing invalid transaction statistics
JP2015001764A (ja) * 2013-06-13 2015-01-05 パナソニックIpマネジメント株式会社 認証方法、通信システム、機器およびサーバ
US9847970B1 (en) * 2014-04-30 2017-12-19 Amazon Technologies, Inc. Dynamic traffic regulation
JP6147240B2 (ja) * 2014-12-05 2017-06-14 キヤノン株式会社 情報処理装置、該装置の制御方法、並びにプログラム
US9904785B2 (en) * 2015-06-02 2018-02-27 Rockwell Automation Technologies, Inc. Active response security system for industrial control infrastructure
CN112437056B (zh) * 2015-12-16 2023-07-25 松下电器(美国)知识产权公司 安全处理方法以及服务器
US9866563B2 (en) * 2016-04-12 2018-01-09 Gaurdknox Cyber Technologies Ltd. Specially programmed computing systems with associated devices configured to implement secure communication lockdowns and methods of use thereof
JP6849528B2 (ja) * 2016-07-28 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム
DE102017123252A1 (de) * 2016-10-07 2018-04-12 Hyundai Motor Company Softwareaktualisierungsverfahren und -vorrichtung für Fahrzeug
US10938819B2 (en) * 2017-09-29 2021-03-02 Fisher-Rosemount Systems, Inc. Poisoning protection for process control switches
US10678529B1 (en) * 2017-11-30 2020-06-09 Amazon Technologies, Inc. Secure device firmware installation
US10628149B2 (en) * 2018-02-05 2020-04-21 Vmware, Inc. Enterprise firmware management
JP6885361B2 (ja) * 2018-03-07 2021-06-16 株式会社オートネットワーク技術研究所 処理装置及び処理方法
US10949540B2 (en) * 2018-03-20 2021-03-16 Dell Products L.P. Security policy enforcement based on dynamic security context updates

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140137097A1 (en) * 2012-11-15 2014-05-15 Nintendo Co., Ltd. Information processing apparatus, terminal system, storage medium having stored therein information processing program, and method of obtaining update data for application
JP2014115973A (ja) * 2012-11-15 2014-06-26 Nintendo Co Ltd 情報処理装置、端末システム、情報処理プログラム、および、アプリケーションの更新用データの取得方法
US20160366229A1 (en) * 2015-06-09 2016-12-15 Kabushiki Kaisha Toshiba Communication device, communication system, and computer program product
JP2017004220A (ja) * 2015-06-09 2017-01-05 株式会社東芝 通信装置、通信システム、通信方法およびプログラム
US20170169219A1 (en) * 2015-12-15 2017-06-15 Yokogawa Electric Corporation Control device, integrated industrial system, and control method thereof
JP2017111532A (ja) * 2015-12-15 2017-06-22 横河電機株式会社 制御装置及び統合生産システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023233817A1 (ja) * 2022-05-31 2023-12-07 日立Astemo株式会社 電子制御装置、検証プログラム及び検証方法

Also Published As

Publication number Publication date
CN113226858A (zh) 2021-08-06
US20220019669A1 (en) 2022-01-20
JP7138043B2 (ja) 2022-09-15
WO2020137852A1 (ja) 2020-07-02
EP3904161A4 (en) 2022-09-07
EP3904161A1 (en) 2021-11-03

Similar Documents

Publication Publication Date Title
JP6685023B2 (ja) 電子制御装置、通信方法およびプログラム
KR102642875B1 (ko) 차량 내 네트워크에 보안을 제공하는 시스템 및 방법
JP6782444B2 (ja) 監視装置、監視方法およびコンピュータプログラム
JP2014138380A (ja) 車両不正状態検出方法、車載システムにおける制御方法、およびシステム
JP2011108167A (ja) コンピューターシステム
JP6387908B2 (ja) 認証システム
CN101369141B (zh) 用于可编程数据处理设备的保护单元
WO2020137852A1 (ja) 情報処理装置
CN112219186B (zh) 用于将程序代码包安装到设备中的方法以及设备和机动车
JP6468133B2 (ja) 車載ネットワークシステム
CN112806034A (zh) 用于为车辆的控制设备提供通信的装置、方法和计算机程序,用于提供更新的方法、中央装置和计算机程序,控制设备和车辆
JP2021005382A (ja) 通信装置およびメッセージを認証するための方法
CN114834393B (zh) 车辆控制***
US11036846B2 (en) Control device
US11418505B2 (en) Information processing apparatus, system and method
WO2020008872A1 (ja) 車載セキュリティシステムおよび攻撃対処方法
CN111133722B (zh) 用于保护现场总线的方法和设备
CN111480160B (zh) 用于过程验证的***、方法和介质
Chan et al. Towards a blockchain framework for autonomous vehicle system integrity
JP7403728B2 (ja) 侵入検知システム
KR20200006452A (ko) 경량 IoT 기기의 원격 공격 방어 방법 및 장치
US20230267204A1 (en) Mitigating a vehicle software manipulation
JP7463928B2 (ja) 認証管理装置および認証管理方法
JP2023122637A (ja) 車両のソフトウェアの改竄の軽減
WO2023089882A1 (ja) 情報処理装置および鍵管理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220802

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220905

R150 Certificate of patent or registration of utility model

Ref document number: 7138043

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150