JP2019101750A - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP2019101750A
JP2019101750A JP2017232039A JP2017232039A JP2019101750A JP 2019101750 A JP2019101750 A JP 2019101750A JP 2017232039 A JP2017232039 A JP 2017232039A JP 2017232039 A JP2017232039 A JP 2017232039A JP 2019101750 A JP2019101750 A JP 2019101750A
Authority
JP
Japan
Prior art keywords
secure
unit
processing unit
communication data
memory
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
JP2017232039A
Other languages
English (en)
Other versions
JP6762924B2 (ja
Inventor
智子 米村
Tomoko Yonemura
智子 米村
竜太 奈良
Ryuta Nara
竜太 奈良
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2017232039A priority Critical patent/JP6762924B2/ja
Priority to US15/911,328 priority patent/US10545885B2/en
Publication of JP2019101750A publication Critical patent/JP2019101750A/ja
Application granted granted Critical
Publication of JP6762924B2 publication Critical patent/JP6762924B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/656Address space sharing

Abstract

【課題】メモリサイズの削減を図る。【解決手段】情報処理装置10のモニタ部27は、ノンセキュアモードNとセキュアモードSとを切替える。ノンセキュア処理部25は、ノンセキュアモードNで動作し、通信データを共有メモリ23Aに読み書きする。セキュア処理部26は、セキュアモードSで動作し、通信データを共有メモリ23Aから読み出してストレージ28に書き込む。メモリアクセス制御部22は、メモリアクセス制御表に基づいて、ノンセキュア処理部25およびセキュア処理部26からのアクセスを管理する。メモリアクセス制御表は、共有メモリ23A内の物理アドレスと、状態情報と、を対応づけたものである。状態情報は、ノンセキュア処理部25による書込を不可とし読取を可能とするロック状態、または、ロック状態の解除されたロック解除状態、を示す。【選択図】図3

Description

本発明の実施形態は、情報処理装置、情報処理方法、およびプログラムに関する。
複数のOS(オペレーティング・システム)間や複数の仮想マシン間で、通信データの転送やロギングなどの処理を行うシステムが知られている。
例えば、アプリケーションが用いるメモリに格納したデータを、一方のOSまたは仮想マシン用のメモリやアプリケーションが用いるメモリに格納した後に、共有メモリ、および他方のOSまたは他方の仮想マシン用のメモリを介して、ストレージなどに複製することが行われている。しかし、従来では、通信データのロギングやルーティング時に、複数のメモリに同じ通信データを複製する必要があり、必要なメモリサイズが増大していた。
特開2016−143120号公報 特開2015−170887号公報 特許第6117068号公報
本発明が解決しようとする課題は、メモリサイズの削減を図ることの可能な、情報処理装置、情報処理方法、およびプログラムを提供することである。
実施の形態の情報処理装置は、モニタ部と、ノンセキュア処理部と、セキュア処理部と、メモリアクセス制御部と、を備える。モニタ部は、ノンセキュアモードとセキュアモードとを切替える。ノンセキュア処理部は、前記ノンセキュアモードで動作し、通信データを共有メモリに読み書きする。セキュア処理部は、前記セキュアモードで動作し、前記通信データを前記共有メモリから読み出してストレージに書き込む。メモリアクセス制御部は、前記共有メモリ内の物理アドレスと、前記ノンセキュア処理部による書込を不可とし読取を可能とするロック状態または前記ロック状態の解除されたロック解除状態を示す状態情報と、を対応付けたメモリアクセス制御表に基づいて、前記ノンセキュア処理部および前記セキュア処理部からのアクセスを管理する。
情報処理システムの概要を示す模式図。 ハードウェア構成例を示すブロック図。 ハードウェアとソフトウェア構成を示す模式図。 ノンセキュアページテーブル、セキュアページテーブル、およびメモリアクセス制御表のデータ構成を示す模式図。 通信処理を示すシーケンス図。 従来構成におけるデータの流れを示す模式図。 データの流れを示す模式図。 通信処理の流れのシーケンス図。 通信処理の流れのシーケンス図。 ハードウェアとソフトウェア構成を示す模式図。 メモリ部を示す模式図。 違反時処理の説明図。 違反時処理の説明図。 違反時処理の説明図。 通信処理の流れのシーケンス図。 通信処理の流れのシーケンス図。
以下、図面を参照しながら、情報処理装置、情報処理方法、およびプログラムの一の実施形態を説明する。
実施の形態の情報処理システムは、例えば、移動体の一例である自動車に搭載される車載ネットワークシステム(通信システム)に適用できる。以下では、車載ネットワークシステムに含まれる車載ゲートウェイ装置(以下、「GW」と略称する)を、実施の形態の情報処理装置として構成した例を説明する。
なお、実施形態の情報処理システムを適用可能な装置やシステムは以下の例に限られない。実施の形態の情報処理システムは、通信データを通信する、様々なシステムに広く適用可能である。
(第1の実施の形態)
図1は、情報処理システム1の概要を示す模式図である。情報処理システム1は、例えば、車両2に搭載されている。
情報処理システム1は、情報処理装置10と、複数のノード12と、を備える。
情報処理装置10と複数のノード12とは、ネットワークNWを介して接続されている。図1に示す例では、情報処理システム1は、ネットワークNWとして、複数のサブネットワーク(サブネットワークNW1、サブネットワークNW2)を含む。これらの複数のサブネットワークの各々には、ノード12が接続されている。また、これらの複数のサブネットワークは、情報処理装置10に接続されている。
また、情報処理装置10には、V2X通信モジュール14および通信モジュール16が接続されている。通信モジュール16は、外部ネットワーク18を介して外部装置と通信するためのモジュールである。V2X通信モジュール14は、通信インフラを介さずに、他の車両2との間で直接無線通信を行うためのモジュールである。直接無線通信には、例えば、車車間・路車間通信(V2X:Vehicle−to−Everything)を用いる。なお、V2X通信は、C2X(Car−to−X)通信と称される場合もある。
図1には、情報処理装置10を、GWとして構成した場合を、一例として示した。本実施の形態では、情報処理装置10は、本来のゲートウェイとしての機能に加えて、後述する各処理を実行する。本来のゲートウェイとしての機能は、例えば、情報処理システム1内のサブネットワーク(例えば、サブネットワークNW1、サブネットワークNW2)間の通信の中継およびフィルタリングや、情報処理システム1と車外の外部ネットワーク18との間の通信の中継およびフィルタリングや、他の車両2との直接の通信の中継およびフィルタリングなどである。
ノード12は、情報処理装置10を介して他のノード12との間で、通信データを通信する電子機器である。ノード12は、例えば、ECU(電子制御装置:Electronic Control Unit)や、各種センサや、アクチュエータなどである。ECUは、車両2における各種制御を行う電子機器である。
情報処理システム1の通信規格は限定されない。情報処理システム1の通信規格は、例えば、CAN(Controller Area Network)やFlexRay(登録商標)などである。
図2は、情報処理装置10のハードウェア構成例を示すブロック図である。情報処理装置10は、プロセッサ部20と、ROM(Read Only Memory)62と、MPU(Memory Protection Unit)63と、DRAM(Dynamic Random Access Memory)64と、ネットワークI/F65と、通信I/F66と、通信I/F69と、ストレージ28と、タイマ部24と、がバスBを介して接続された構成である。
プロセッサ部20は、コンピュータシステムを集積回路として組み込んだものであり、コンピュータシステム上で動作するプログラム(ソフトウェア)に従って、様々な制御を実行する。プロセッサ部20は、例えば、CPU(Central Processing Unit)やマイクロプロセッサである。
プロセッサ部20は、MMU(Memory Management Unit)61を含む。MMU61は、CPUの要求するメモリアクセスを処理する。ROM62は、各種データを記憶する。ROM62は、情報処理装置10で実行される処理を実現するための各種プログラムを記憶する。MPU63は、プロセッサ部20の状態に応じて、DRAM64へのアクセス制御を行う。
ネットワークI/F65は、サブネットワークを介してノード12と通信するための通信インターフェースである。通信I/F66は、直接無線通信を行う通信インターフェースである。通信I/F69は、外部ネットワーク18を介して外部装置と通信する通信インターフェースである。なお、ネットワークI/F65、通信I/F66、および通信I/F69を総称して説明する場合には、通信部11と称して説明する場合がある。ストレージ28は、各種情報を記憶するメモリである。タイマ部24は、時間カウントを行う機器である。
情報処理装置10では、プロセッサ部20が、ROM62からプログラムを読み出して実行することにより、後述する各種の機能が実現される。
図3は、本実施の形態の情報処理装置10のハードウェアとソフトウェア構成の一例を示す模式図である。
情報処理装置10は、ハードウェア部30と、モニタ部27と、ノンセキュア処理部25と、セキュア処理部26と、ノンセキュアアプリケーション32と、セキュアアプリケーション33と、を備える。
ハードウェア部30は、プロセッサ部20と、メモリ部23と、メモリアクセス制御部22と、ストレージ28と、タイマ部24と、を備える。
本実施の形態では、プロセッサ部20は、複数のオペレーティングシステム(OS)を実行する機能を有する。OSは、各種デバイスの管理などを行い、アプリケーションプログラム(以下の説明では、単に「アプリ」または「アプリケーション」と称する場合がある)から各種デバイスを利用できるようにするためのプログラムである。
本実施の形態では、プロセッサ部20は、セキュアモードSとノンセキュアモードNと称される二つのモードで、プログラムを分離して実行可能である。すなわち、プロセッサ部20は、セキュアモードSとノンセキュアモードNとで、それぞれ別々のOSやアプリケーションを動作させることが可能である。
セキュアモードSは、脆弱性混入リスクを最小化したOSやアプリケーションを動作させるモードである。ノンセキュアモードNは、セキュアモードSに比べてセキュリティ性の低いOSやアプリケーションを動作させるモードである。
プロセッサ部20は、メモリ管理部29を含む。メモリ管理部29は、上記MMU61で実現する。
メモリ部23は、各種データを記憶する。メモリ部23は、例えば、DRAM64である(図2参照)。メモリ部23には、複数の記憶領域が設けられている。具体的には、メモリ部23は、共有メモリ23Aと、NSOS(ノンセキュアOS)メモリ23Bと、NSAP(ノンセキュアアプリケーション)メモリ23Cと、SOS(セキュアOS)メモリ23Dと、SAP(セキュアアプリケーション)メモリ23Eと、を備える。
共有メモリ23Aは、セキュアモードSとノンセキュアモードNとの双方で共有して用いるメモリ領域である。具体的には、共有メモリ23Aは、セキュアモードSで動作するOSおよびアプリケーションと、ノンセキュアモードNで動作するOSおよびアプリケーションと、の双方が共有して用いるメモリ領域である。
NSOSメモリ23Bは、ノンセキュア処理部25が処理時に用いるメモリ領域である。NSAPメモリ23Cは、ノンセキュアアプリケーション32が処理時に用いるメモリ領域である。SOSメモリ23Dは、セキュア処理部26が処理時に用いるメモリ領域である。SAPメモリ23Eは、セキュアアプリケーション33が処理時に用いるメモリ領域である。
メモリアクセス制御部22は、メモリ部23へのアクセスを制御する。メモリアクセス制御部22は、MPU63で実現する(図2参照)。メモリアクセス制御部22の詳細は、後述する。
モニタ部27は、ノンセキュアモードNとセキュアモードSとを切替える。
モニタ部27は、切替部27Aを含む。切替部27Aは、切替指示を受付けたときに、ノンセキュアモードNからセキュアモードSへ、または、セキュアモードSからノンセキュアモードNへ、モードの切替えを行う。切替指示は、セキュアモニタコール(SMC)と称される場合がある。
例えば、切替部27Aは、ノンセキュアモードNからセキュアモードSへ切替える第1切替指示を受付けたときに、ノンセキュアモードNからセキュアモードSへ、モードを切替える。第1切替指示は、切替指示の一例である。また、切替部27Aは、セキュアモードSからノンセキュアモードNへ切替える第2切替指示を受付けたときに、セキュアモードSからノンセキュアモードNへ、モードを切替える。第2切替指示は、切替指示の一例である。
ノンセキュアアプリケーション32は、ノンセキュアモードNで動作するアプリケーションである。すなわち、ノンセキュアアプリケーション32は、セキュアモードSで動作するアプリケーションに比べて、セキュリティの低いアプリケーションである。ノンセキュアアプリケーション32は、例えば、通信データのルーティングを行う。本実施の形態では、ルーティングとは、受信した通信データに対して、通信元や通信先などに応じた各種処理を施し、通信先を決定する処理である。
ノンセキュア処理部25は、ノンセキュアモードNで動作するOSである。
本実施の形態では、ノンセキュア処理部25は、ノンセキュアモードNで動作し、通信データを共有メモリ23Aに対して読み書きする。メモリアクセス部25Aは、メモリアクセス制御部22を介して、共有メモリ23Aに対して読み書きを行う。
このとき、ノンセキュア処理部25は、ノンセキュアページテーブルを用いて、共有メモリ23Aに対して読み書きを行う。
図4は、ノンセキュアページテーブル34、セキュアページテーブル35、およびメモリアクセス制御表36のデータ構成の一例を示す模式図である。セキュアページテーブル35およびメモリアクセス制御表36については後述する。
ノンセキュアページテーブル34は、ノンセキュア処理部25が用いるページテーブルである。ノンセキュアページテーブル34は、仮想アドレスと物理アドレスのマッピングを格納したテーブルである。ノンセキュアページテーブル34における仮想アドレスは、ノンセキュア処理部25で用いる仮想アドレス空間におけるアドレスである。物理アドレスは、共有メモリ23A内におけるアドレスを示す。
例えば、メモリアクセス部25Aは、ノンセキュアページテーブル34における、読取り対象の仮想アドレスに対応する物理アドレスに格納されている通信データを、共有メモリ23Aから読取る。
図3に戻り説明を続ける。ノンセキュア処理部25は、モニタ部27に対して第1切替指示を通知する。例えば、ノンセキュア処理部25は、通信データを共有メモリ23Aに書込んだときに、ノンセキュアモードNからセキュアモードSへ切替える第1切替指示をモニタ部27へ通知する。
セキュアアプリケーション33は、セキュアモードSで動作するアプリケーションである。すなわち、セキュアアプリケーション33は、ノンセキュアモードNで動作するアプリケーションに比べて、セキュリティの高いアプリケーションである。セキュアアプリケーション33は、ロギングを行う。本実施の形態では、ロギングとは、通信データをストレージ28へ書込む処理である。
セキュア処理部26は、セキュアモードSで動作するOSである。
セキュア処理部26は、通信データを共有メモリ23Aから読み出してストレージ28へ書込む。セキュア処理部26は、セキュアページテーブル35を用いて、共有メモリ23Aに対して読み書きを行う(図4参照)。
図4に示すように、セキュアページテーブル35は、セキュア処理部26が用いるページテーブルである。セキュアページテーブル35は、仮想アドレスと物理アドレスのマッピングを格納したテーブルである。セキュアページテーブル35における仮想アドレスは、セキュア処理部26で用いる仮想アドレス空間におけるアドレスである。物理アドレスは、共有メモリ23Aにおけるアドレスを示す。
図3に戻り説明を続ける。例えば、セキュア処理部26は、共有メモリ23Aに格納されている通信データを、ストレージ28へ記憶する。詳細には、セキュア処理部26は、共有メモリ23Aに規定数の通信データが書込まれた場合に、共有メモリ23Aに書き込まれた通信データの記憶指示を、セキュアアプリケーション33へ通知する。記憶指示を受付けたセキュアアプリケーション33は、共有メモリ23Aに格納されている通信データをストレージ28へ書込む、ロギングを実行する。
また、セキュア処理部26は、モニタ部27に対して第2切替指示を通知する。例えば、セキュア処理部26は、共有メモリ23Aに書込まれた通信データをストレージ28へ記憶したときに、メモリアクセス制御表36における、ストレージ28へ記憶した該通信データの物理アドレスに対応する状態情報をロック解除状態に更新する。その後に、セキュア処理部26は、セキュアモードSからノンセキュアモードNへ切替える第2切替指示をモニタ部27へ通知する。
次に、メモリアクセス制御部22について説明する。メモリアクセス制御部22は、メモリアクセス制御表36に基づいて、ノンセキュア処理部25およびセキュア処理部26からのアクセスを管理する。
本実施の形態では、メモリアクセス制御部22は、ノンセキュアモードNで動作するノンセキュアアプリケーション32およびノンセキュア処理部25や、セキュアモードSで動作するセキュアアプリケーション33およびセキュア処理部26からの、共有メモリ23Aへのアクセスを管理する。
図4に示すように、メモリアクセス制御表36は、物理アドレスと、状態情報と、を対応づけたテーブルである。なお、メモリアクセス制御表36のデータ形式は、テーブルに限定されない。本実施の形態では、メモリアクセス制御表36は、物理アドレスと、サイズと、状態情報と、を対応づけたテーブルである場合を説明する。
物理アドレスは、上述したように、共有メモリ23A内におけるアドレスを示す。サイズは、共有メモリ23Aにおける、対応する物理アドレスを開始位置として格納された、通信データのサイズを示す。
状態情報は、対応する物理アドレスに、対応するサイズで格納された通信データに対する、アクセス可否の状態を示す情報である。本実施の形態では、状態情報は、ロック状態またはロック解除状態を示す。ロック状態は、ノンセキュア処理部25による書込を不可とし、読取を可能とする状態である。ロック解除状態は、ノンセキュア処理部25による書込・読取を可能とする状態を示す。
このため、共有メモリ23Aにおける、状態情報“ロック状態”に対応する物理アドレスの領域に対して、ノンセキュア処理部25は、通信データの読取りを行う事は可能であるが、通信データの書込みを行うことは出来ない。一方、共有メモリ23Aにおける、状態情報“ロック解除状態”に対応する物理アドレスの領域に対しては、ノンセキュア処理部25は、通信データの読取および書込が可能である。
なお、セキュア処理部26は、状態情報に拘らず、共有メモリ23Aの全ての物理アドレスに対して読取および書込が可能である。
例えば、メモリアクセス制御部22は、ノンセキュアモードNで動作するノンセキュアアプリケーション32やノンセキュア処理部25から、共有メモリ23Aへの書込要求を受付ける。すると、メモリアクセス制御部22は、メモリアクセス制御表36を参照し、書込要求に含まれる物理アドレスとサイズによって示される領域に対応する、状態情報を特定する。
メモリアクセス制御部22は、特定した状態情報が“ロック状態”である場合には、書込エラーを示すエラー情報を、該書込要求の送信元のノンセキュアアプリケーション32またはノンセキュア処理部25へ通知する。一方、メモリアクセス制御部22は、特定した状態情報が“ロック解除状態”の場合には、書込を許可する。このため、ノンセキュアアプリケーション32またはノンセキュア処理部25は、書込対象の通信データを、共有メモリ23Aへ書込む。
一方、メモリアクセス制御部22は、ノンセキュアモードNで動作するノンセキュアアプリケーション32やノンセキュア処理部25から読取要求を受付けた場合には、特定した状態情報が“ロック状態”であっても、読取を許可する。また、メモリアクセス制御部22は、セキュアモードSで動作するセキュアアプリケーション33やセキュア処理部26から読取要求または書込要求を受付けた場合、特定した状態情報の種類に拘らず、読取を許可または書込を許可する。
なお、メモリアクセス制御表36は、モニタ部27や、セキュア処理部26によって更新される。
例えば、モニタ部27は、セキュアモードSへ切替える第1切替指示を受付けたときに、ノンセキュアモードNからセキュアモードSへモードを切替える。そして、モニタ部27は、メモリアクセス制御表36における、通信データの書込まれた共有メモリ23Aの物理アドレスに対応する状態情報を、“ロック状態”に更新する。例えば、モニタ部27は、第1切替指示に含まれる情報を読取ることで、直前の処理によって通信データの書込まれた共有メモリ23Aの物理アドレスを特定し、状態情報を更新すればよい。また、ノンセキュア処理部25が、直前に書込んだ通信データの物理アドレスを特定可能な情報を、共有メモリ23Aに書込んでもよい。この場合、モニタ部27は、該情報を共有メモリ23Aから読取ることで、直前の処理によって通信データの書込まれた共有メモリ23Aの物理アドレスを特定し、状態情報を更新すればよい。
また、例えば、セキュア処理部26は、共有メモリ23Aに書込まれた通信データをストレージ28へ記憶したときに、メモリアクセス制御表36における、該通信データの物理アドレスに対応する状態情報を、“ロック解除状態”に更新する。そして、“ロック解除状態”に更新した後に、セキュア処理部26は、モニタ部27へ、セキュアモードSからノンセキュアモードNへ切替える第2切替指示を通知する。
次に、本実施の形態の情報処理装置10が実行する通信処理の流れの一例を説明する。図5は、本実施の形態の情報処理装置10が実行する通信処理の流れの一例を示す、シーケンス図である。
なお、初期状態では、メモリアクセス制御表36における状態情報は、全て“ロック解除状態”であるものとする。
例えば、情報処理装置10の起動時に、セキュア処理部26またはモニタ部27は、メモリアクセス制御表36における状態情報を、全て、“ロック解除状態”に更新する。なお、起動時とは、情報処理装置10の装置各部に電力の供給が開始された時である。例えば、起動時は、車両2のアクセサリー電源がオン状態とされた時や、車両2のイグニッション電源がオン状態とされた時などである。
そして、通信部11が、通信データを含むフレームを受信したと仮定する(SEQ200)。上述したように、通信部11は、ネットワークI/F65、通信I/F66、および通信I/F69の少なくとも1つを示す(図2参照)。通信部11は、受信したフレームを、通信部11で用いる通信メモリに格納する。通信部11は、フレームを受信すると、受信を示す処理要求(IRQ:Interrupt ReQuest)を、ノンセキュア処理部25へ通知する(SEQ201)。
ノンセキュア処理部25は、通信メモリに格納されたフレームのアドレスとサイズを読出し(SEQ202)、通信メモリから共有メモリ23Aへ、フレームを移動する(SEQ204)。
すなわち、ノンセキュア処理部25は、通信メモリに格納されたフレームを、ノンセキュア処理部25のNSOSメモリ23Bへコピーすることなく、直接、共有メモリ23Aへ移動する。
なお、ノンセキュア処理部25は、フレームに含まれる通信データのみを、共有メモリ23Aへ移動してもよい。
なお、SEQ204の処理時に、メモリアクセス部25Aは、ノンセキュア処理部25から受付けた通信フレームを書込む対象の物理アドレスを、ノンセキュアページテーブル34から特定する。ここで、上述したように、初期状態では、メモリアクセス制御表36の状態情報は、全て“ロック解除状態”を示す。このため、メモリアクセス制御部22は、メモリアクセス制御表36における、特定した物理アドレスに対応する状態情報が“ロック解除状態”であることから、書込を許可する。このため、ノンセキュア処理部25は、通信メモリから共有メモリ23Aへ、フレームを移動する。
次に、ノンセキュア処理部25は、セキュアモードSへ切替える第1切替指示(SMC:セキュアモニタコール)を、モニタ部27へ通知する(SEQ206)。第1切替指示を受付けたモニタ部27は、ノンセキュアモードNからセキュアモードSへモードを切替える。
そして、モニタ部27は、メモリアクセス制御表36における、SEQ204によってフレーム(通信データを含む)の書込まれた共有メモリ23Aの物理アドレスに対応する状態情報を、“ロック状態”に更新する(SEQ208)。この処理によって、共有メモリ23Aにおける、該物理アドレスに対応する領域は、ロック状態となり、ノンセキュアモードNで動作するノンセキュアアプリケーション32やノンセキュア処理部25からの書込が制限された状態となる。
次に、モニタ部27は、セキュアモードSへ切替えたことを示すメッセージ(例えば、SMC)を、セキュア処理部26へ通知する(SEQ210)。
セキュア処理部26は、共有メモリ23Aに規定数の通信データが書込まれたと判定したときに、共有メモリ23Aに格納されている通信データの記憶指示を、セキュアアプリケーション33へ通知する(SEQ212)。
すると、セキュアアプリケーション33およびセキュア処理部26が、共有メモリ23Aに格納されている通信データをストレージ28へ書込む、ロギングを実行する(SEQ214)。本実施の形態では、セキュアアプリケーション33およびセキュア処理部26は、セキュアライトプロテクション機能を利用した書込を行う。なお、セキュアライトプロテクション機能は、eMMC Version 5.1およびUFS(Universal Flash Strage) Version 2.1のオプション機能として規定されている。
詳細には、セキュアアプリケーション33は、ストレージ28における、通信データの書込みと、書込む通信データのサイズと、を示すSVC(SVC:スーパーバイザコール)を、セキュア処理部26へ通知する(SEQ216)。セキュア処理部26は、ストレージ鍵を用いて、ストレージ28における、受付けたサイズの通信データを書込む物理アドレスと、データサイズと、によって示される領域に対する、書込制限を解除する(SEQ218)。この処理によって、ストレージ28における、該領域への書込みが可能な状態となる。
そして、セキュア処理部26は、ストレージ28における、SEQ218の処理によって書込制限を解除された領域に、直前の処理(SEQ204の処理)によって共有メモリ23Aに格納された通信データを、書込む(SEQ220、SEQ222)。
すると、セキュア処理部26は、ストレージ28における、通信データの書込まれた領域に対して、ストレージ鍵を用いて、書込制限を設定する(SEQ224)。そして、セキュア処理部26は、書込完了をセキュアアプリケーション33へ通知する(SEQ226)。
ロギングが終了すると、セキュア処理部26は、メモリアクセス制御表36における、直前のロギング(SEQ214の処理)によって共有メモリ23Aからストレージ28に書込まれた通信データの、物理アドレスに対応する状態情報を、“ロック解除状態”に更新する(SEQ228)。
そして、セキュア処理部26は、モニタ部27へ、ノンセキュアモードNへ切替える第2切替指示を通知する(SEQ230)。
第2切替指示を受付けると、モニタ部27は、セキュアモードSからノンセキュアモードNへモードを切替える。そして、モニタ部27は、ノンセキュアモードNへ切替えたことを示すメッセージ(例えば、SMC)を、ノンセキュア処理部25へ通知する(SEQ232)。
ノンセキュア処理部25は、通信メモリから共有メモリ23Aへフレームを移動すると、通信フレームを受信したと判定し(SW割込)(SEQ234)、SEQ204で受信したフレームのヘッダを解析する(SEQ236)。なお、SEQ234の処理は、ロギング(SEQ214)より前のタイミングで実行してもよい。
そして、ノンセキュア処理部25は、共有メモリ23Aにおける、SEQ204で共有メモリ23Aへ移動したフレームを、該共有メモリ23Aから読出し、ノンセキュアアプリケーション32のNSAPメモリ23Cへ移動する(SEQ238)。
すなわち、ノンセキュア処理部25は、ノンセキュア処理部25のNSOSメモリ23Bからではなく、共有メモリ23AからNSAPメモリ23Cへ、直接、フレームを移動する。
次に、ノンセキュアアプリケーション32は、SEQ238の処理によってNSAPメモリ23Cへ移動したフレームについて、ルーティングを実行する(SEQ240)。例えば、ノンセキュアアプリケーション32は、ルーティングにより、フレームに含まれる通信データを変更する。なお、ノンセキュアアプリケーション32は、通信データの変更を行わなくてもよい。
そして、ノンセキュアアプリケーション32は、変更後の通信データを含むフレームを、NSAPメモリ23Cから共有メモリ23Aへ移動する(SEQ242)。このとき、ノンセキュアアプリケーション32は、共有メモリ23Aにおける新たな物理アドレスに、変更後の通信データを含むフレームを書込む。
そして、ノンセキュアアプリケーション32は、ノンセキュア処理部25へ、フレームの送信を依頼する(例えば、SVCを送信)(SEQ244)。
すなわち、変更後の通信データを含むフレームは、NSAPメモリ23CからNSOSメモリ23Bへ移動されるのではなく、NSAPメモリ23Cから共有メモリ23Aへ、直接移動される。
ノンセキュア処理部25は、通信フレームのヘッダを作成する(SEQ246)。そして、ノンセキュア処理部25は、セキュアモードSへ切替える第1切替指示(SMC:セキュアモニタコール)を、モニタ部27へ通知する(SEQ248)。第1切替指示を受付けたモニタ部27は、ノンセキュアモードNからセキュアモードSへモードを切替える。
そして、モニタ部27は、メモリアクセス制御表36における、直前の処理(SEQ242)によって、新たな通信データを含むフレームの書込まれた、共有メモリ23Aの物理アドレスに対応する状態情報を、“ロック状態”に更新する(SEQ250)。この処理によって、共有メモリ23Aにおける、該物理アドレスに対応する領域は、“ロック状態”となり、ノンセキュアモードNで動作するノンセキュアアプリケーション32やノンセキュア処理部25からの書込が制限された状態となる。
次に、モニタ部27は、セキュアモードSへ切替えたことを示すメッセージ(例えば、SMC)を、セキュア処理部26へ通知する(SEQ252)。
セキュア処理部26は、共有メモリ23Aに規定数の通信データが書き込まれたと判定したときに、共有メモリ23Aに格納されている通信データの記憶指示を、セキュアアプリケーション33へ通知する(SEQ254)。
記憶指示を受付けたセキュアアプリケーション33は、共有メモリ23Aに格納されている通信データをストレージ28へ書込む、ロギングを実行する(SEQ256)。セキュアアプリケーション33は、上記SEQS214と同様にして、ロギング(SEQ256(SEQ258〜SEQ268))を実行する。
ロギングが終了すると、セキュア処理部26は、メモリアクセス制御表36における、SEQ256のロギングによって共有メモリ23Aからストレージ28に書込まれた通信データの物理アドレスに対応する状態情報を、“ロック解除状態”に更新する(SEQ270)。
そして、セキュア処理部26は、モニタ部27へ、ノンセキュアモードNへ切替える第2切替指示を通知する(SEQ272)。
第2切替指示を受付けると、モニタ部27は、セキュアモードSからノンセキュアモードNへモードを切替える。そして、モニタ部27は、ノンセキュアモードNへ切替えたことを示すメッセージ(例えば、SMC)を、ノンセキュア処理部25へ通知する(SEQ274)。
フレームの送信を依頼すると、ノンセキュア処理部25は、共有メモリ23Aに格納されているフレームを読み出し(SEQ276)、通信部11の通信メモリにコピーする(SEQ278)。そして、ノンセキュア処理部25は、フレームの送信を通信部11へ依頼する(SEQ280)。なお、ロギング(SEQ256)より前に、フレームの送信を依頼してもよい。
通信部11は、通信フレームを送信し(SEQ282)、送信が完了すると、送信完了を示す割込要求信号(IRQ)をノンセキュア処理部25へ通知する(SEQ284)。
すると、ノンセキュア処理部25は、送信完了と判定し(SW割込)(SEQ286)、共有メモリ23Aを解放する(SEQ288)。そして、本シーケンスを終了する。
なお、ノンセキュア処理部25およびセキュア処理部26は、情報処理装置10の起動時に、メモリ部23における共有メモリ23Aのアドレスをロードし、上記処理を実行すれはよい。
また、情報処理装置10の終了時には、セキュア処理部26は、共有メモリ23Aに格納されている通信データをストレージ28へ書込むことが好ましい。なお、終了時とは、情報処理装置10の装置各部への電力供給のオフが指示された時である。例えば、終了時は、車両2のイグニッションスイッチのユーザによる操作などにより、イグニッション電源のオフが指示された時や、アクセサリー電源のオフが指示された時である。そして、共有メモリ23Aの通信データがストレージ28へ書込まれた後に、情報処理装置10は、処理を終了すればよい。
情報処理装置10が、上記通信処理を実行することで、メモリサイズの削減を図ることができる。
図6および図7は、メモリサイズの削減の説明図である。
図6は、比較例における情報処理装置(以降、比較情報処理装置1000と称する)における、メモリ部23に記憶されるデータの流れの一例を示す模式図である。
例えば、サブネットワークNWを介してノード12などから、通信データとしてデータ1を受信したと仮定する。すると、比較情報処理装置1000は、データ1を、NSOSメモリ23Bに格納する(SEQ1000)。次に、比較情報処理装置1000は、NSOSメモリ23Bから共有メモリ23Aへ、データ1をコピーする(SEQ1002)。比較情報処理装置1000は、共有メモリ23Aにおけるデータ1の格納された領域を、ノンセキュアモードN側からの書込および読取の双方についてロックした状態とする。そして、該データ1を、共有メモリ23AからSOSメモリ23DおよびSAPメモリ23Eへ移動させる(SEQ1004)。
また、比較情報処理装置1000は、NSOSメモリ23Bに格納したデータ1を、NSAPメモリ23Cへ移動する(SEQ1006)。そして、比較情報処理装置1000は、ルーティングによりデータ1を変更してデータ2とした後に、該データ2を、NSOSメモリ23Bへ移動する(SEQ1008)。
更に、比較情報処理装置1000は、NSOSメモリ23Bから共有メモリ23Aへ、データ2をコピーする(SEQ1010)。比較情報処理装置1000は、共有メモリ23Aにおける、データ2の格納された領域を、ノンセキュアモードN側からの書込および読取の双方についてロックした状態とする。そして、該データ2を、共有メモリ23AからSOSメモリ23DおよびSAPメモリ23Eへ移動させる(SEQ1014)。そして、これらのデータ1およびデータ2を、ストレージ28へ記憶する(SEQ1016)。
また、比較情報処理装置1000は、NSOSメモリ23Bに格納したデータ2を、サブネットワークNWを介してノード12へ送信する(SEQ1012)。
図6に示すように、従来では、ルーティングおよびロギングを行う場合、NSAPメモリ23C、NSOSメモリ23B、共有メモリ23A、SOSメモリ23D、SAPメモリ23Eの各々に、同じ通信データを重複して格納する必要があった。具体的には、規定時間内に処理する通信データの数をm(mは1以上の整数)とすると、比較情報処理装置1000では、フレームサイズの「2m+3」倍のメモリサイズが必要であった。
詳細には、図6に示すように、NSAPメモリ23Cにおける、通信データの送受信のためのメモリ領域のサイズは、フレームサイズの1倍である。また、NSOSメモリ23Bにおける、ルーティングのためのメモリ領域のサイズは、フレームサイズの1倍である。共有メモリ23Aは、フレームサイズの1倍である。SOSメモリ23Dにおける、ストレージ28への書込みのためのメモリ領域は、フレームサイズのm倍である。また、SAPメモリ23Eにおける、ストレージ28への書込みのためのメモリ領域は、フレームサイズのm倍である。このため、比較情報処理装置1000では、合計、フレームサイズの「2m+3」倍のメモリサイズが必要であった。
また、通信データの受信、ルーティング、ストレージ28への書込み(ロギング)、通信データの送信、の一連の処理における、通信データの受信回数、送信回数、およびルーティング回数をn回(nは1以上の整数)と仮定する。すると、比較情報処理装置1000では、ネットワーク送受信、ルーティング、ロギングについて、メモリ部23内におけるコピー回数は、各々、2n、6n、2nとなる。また、比較情報処理装置1000では、セキュアモードSとノンセキュアモードNとの切替が、4n回必要であった。
図7は、本実施の形態の情報処理装置10における、メモリ部23に記憶されるデータの流れの一例を示す模式図である。
例えば、サブネットワークNWを介してノード12などから、通信データとしてデータ1を受信したと仮定する。すると、本実施の形態の情報処理装置10では、データ1を、共有メモリ23Aへ格納する(SEQ100)。すると、モニタ部27が、メモリアクセス制御表36における、共有メモリ23Aのデータ1の書込まれた物理アドレスに対応する状態情報を、“ロック状態”に更新する。この処理によって、共有メモリ23Aにおける、データ1の格納された領域は、“ロック状態”となり、ノンセキュアモードNで動作するノンセキュアアプリケーション32やノンセキュア処理部25からの書込が制限された状態となる。なお、上述したように、本実施の形態の情報処理装置10では、“ロック状態”であっても、ノンセキュアアプリケーション32やノンセキュア処理部25からの読取は制限されない。
そして、ノンセキュア処理部25は、共有メモリ23Aに格納されたデータ1を、該共有メモリ23Aから読出し、ノンセキュアアプリケーション32のNSAPメモリ23Cへ移動する(SEQ102)。そして、ノンセキュアアプリケーション32は、ルーティングによりデータ1を変更してデータ2とした後に、該データ2を、共有メモリ23Aへ移動する(SEQ104)。
すると、モニタ部27が、メモリアクセス制御表36における、共有メモリ23Aのデータ2の書込まれた物理アドレスに対応する状態情報を、“ロック状態”に更新する。この処理によって、共有メモリ23Aにおける、データ2の格納された領域は、“ロック状態”となる。
そして、セキュア処理部26は、ロギングによって、共有メモリ23Aに格納されたデータ1およびデータ2を、ストレージ28へ書込む(SEQ106)。そして、セキュア処理部26は、メモリアクセス制御表36における、共有メモリ23Aのデータ1およびデータ2の物理アドレスに対応する状態情報を、“ロック解除状態”に更新する。そして、データ2が、共有メモリ23Aから読み出され、サブネットワークNWを介してノード12へ送信される(SEQ107)。
図7に示すように、本実施の形態では、従来技術ではNSOSメモリ23B、共有メモリ23A、およびSOSメモリ23Dに格納していた通信データを、全て共有メモリ23Aに格納する。このため、本実施の形態の情報処理装置10は、メモリサイズの削減を図ることができる。
具体的には、規定時間内に処理する通信データの数をm(mは1以上の整数)とすると、本実施の形態の情報処理装置10では、メモリサイズを、フレームサイズの「m+1」倍とすることができる。このため、比較情報処理装置1000に比べて、本実施の形態の情報処理装置10は、メモリサイズを1/2以下とすることができる。
また、通信データの受信、ルーティング、ストレージ28への書込み(ロギング)、通信データの送信、の一連の処理における、通信データの受信回数、送信回数、およびルーティング回数をn回(nは1以上の整数)と仮定する。すると、本実施の形態の情報処理装置では、ネットワーク送受信、ルーティング、ロギングについて、メモリ部23内におけるコピー回数は、各々、2n、0、0となる。このため、本実施の形態の情報処理装置10は、メモリ部23内におけるコピー回数の削減も図ることができる。
以上説明したように、本実施の形態の情報処理装置10は、モニタ部27と、ノンセキュア処理部25と、セキュア処理部26と、メモリアクセス制御部22と、を備える。モニタ部27は、ノンセキュアモードNとセキュアモードSとを切替える。ノンセキュア処理部25は、ノンセキュアモードNで動作し、通信データを共有メモリ23Aに読み書きする。セキュア処理部26は、セキュアモードSで動作し、通信データを共有メモリ23Aから読み出してストレージ28に書き込む。メモリアクセス制御部22は、メモリアクセス制御表36に基づいて、ノンセキュア処理部25およびセキュア処理部26からのアクセスを管理する。メモリアクセス制御表36は、共有メモリ23A内の物理アドレスと、状態情報と、を対応づけたものである。状態情報は、ノンセキュア処理部25による書込を不可とし読取を可能とするロック状態、または、ロック状態の解除されたロック解除状態を示す。
このように、本実施の形態の情報処理装置10は、ノンセキュアモードNで動作するノンセキュア処理部25と、セキュアモードSで動作するセキュア処理部26と、の双方が、メモリアクセス制御表36に基づいて、通信データを共有メモリ23Aに対して読み書きする。
すなわち、本実施の形態の情報処理装置10は、ノンセキュア処理部25およびセキュア処理部26が、各々の管理するメモリ(NSOSメモリ23B、SOSメモリ23D)を用いずに、共有メモリ23Aを用いて通信データの読み書きを行う。
従って、本実施の形態の情報処理装置10は、メモリサイズの削減を図ることができる。
また、本実施の形態の情報処理装置10は、メモリアクセス制御表36に基づいて共有メモリ23Aへのアクセスを管理する。また、本実施の形態の情報処理装置10は、モニタ部27が、ノンセキュアモードNとセキュアモードSとの切替えを行う。このため、本実施の形態の情報処理装置10は、上記効果に加えて、セキュリティ向上を図ることができる。
(変形例1)
上記実施の形態では、ノンセキュア処理部25は、受信した通信データを共有メモリ23Aに書込んだときに、第1切替指示をモニタ部27へ通知する形態を説明した。
しかし、ノンセキュア処理部25は、共有メモリ23Aに規定数の通信データが書込まれた場合に、第1切替指示をモニタ部27へ通知してもよい。規定数は、予め定めればよい。
図8は、本変形例の情報処理装置10が実行する通信処理の流れの一例を示す、シーケンス図である。
まず、本変形例の情報処理装置10は、通信データの受信処理を実行する(SEQ300)。SEQ300の処理は、SEQ301〜SEQ306の処理を含む。SEQ300の処理(SEQ301〜SEQ306)は、上記実施の形態の情報処理装置10が実行するSEQ200〜SEQ204と同様である(図5参照)。
そして、ノンセキュア処理部25は、共有メモリ23Aに規定数の通信データが書き込まれたと判定した場合に、セキュアモードSへ切替える第1切替指示(SMC)を、モニタ部27へ通知する(SEQ308)。第1切替指示を受付けたモニタ部27は、ノンセキュアモードNからセキュアモードSへモードを切替える。
そして、本変形例の情報処理装置10は、上記実施の形態のSEQ208〜SEQ232と同様にして(図5参照)、SEQ310〜SEQ334の処理を実行する。
次に、ノンセキュア処理部25は、SEQ334によってSMCを受信すると、ルーティングに関する処理を実行する(SEQ336)。SEQ336の処理は、SEQ338〜SEQ350の処理を含む。SEQ336の処理(SEQ338〜SEQ350)は、上記実施の形態の情報処理装置10が実行するSEQ234〜SEQ246と同様である(図5参照)。
そして、ノンセキュア処理部25は、SEQ336の処理によって、共有メモリ23Aに規定数の通信データが書き込まれたと判定した場合に、セキュアモードSへ切替える第1切替指示(SMC)を、モニタ部27へ通知する(SEQ352)。第1切替指示を受付けたモニタ部27は、ノンセキュアモードNからセキュアモードSへモードを切替える。
そして、本変形例の情報処理装置10は、上記実施の形態のSEQ250〜SEQ274と同様にして(図5参照)、SEQ354〜SEQ378の処理を実行する。
次に、本変形例の情報処理装置10は、通信データの送信に関する処理を実行する(SEQ380)。本変形例では、情報処理装置10は、共有メモリ23Aに格納されている通信データの各々について、図5に示すSEQ276〜SEQ288と同様にして、SEQ382〜SEQ394の処理を実行する。
以上説明したように、本変形例では、ノンセキュア処理部25は、共有メモリ23Aに規定数の通信データが書込まれた場合に、第1切替指示をモニタ部27へ通知する。このため、本変形例の情報処理装置10は、上記実施の形態の情報処理装置10に比べて、セキュアモードSとノンセキュアモードNとのモードの切替回数の削減を図ることができる。
すなわち、本変形例の情報処理装置10は、上記実施の形態の情報処理装置10の効果に加えて、セキュアモードSとノンセキュアモードNとのモードの切替回数の削減を図ることができる。
(変形例2)
上記実施の形態では、モニタ部27は、セキュアモードSへ切替える第1切替指示を受付けたときに、ノンセキュアモードNからセキュアモードSへのモードの切替えを行う場合を説明した。
しかし、モニタ部27は、タイマ部24から、セキュアモードSへ切替える第1切替指示を受付けたときに、ノンセキュアモードNからセキュアモードSへモードを切替えてもよい。この場合、タイマ部24は、前回の第1切替指示の送信から所定時間が経過した後に、第1切替指示をモニタ部27に送信する。そして、モニタ部27は、タイマ部24から第1切替指示を受付けたときに、ノンセキュアモードNからセキュアモードSへモードを切替える。そして、モニタ部27は、メモリアクセス制御表36における、直前の処理によって通信データの書込まれた共有メモリ23Aの物理アドレスに対応する状態情報を、“ロック状態”に更新すればよい。
図9は、本変形例の情報処理装置10が実行する通信処理の流れの一例を示す、シーケンス図である。
まず、本変形例の情報処理装置10は、通信データの受信処理を実行する(SEQ400)。SEQ400の処理は、SEQ401〜SEQ406の処理を含む。SEQ400の処理(SEQ401〜SEQ406)は、上記実施の形態の情報処理装置10が実行するSEQ200〜SEQ204と同様である(図5参照)。
そして、タイマ部24は、前回の第1切替指示の送信から所定時間が経過したと判定したときに、セキュアモードSへ切替える第1切替指示(SMC)を、モニタ部27へ通知する(SEQ408)。なお、この所定時間には、例えば、共有メモリ23Aに規定数の通信データが書き込まれるために要する時間などを、予め設定すればよい。第1切替指示を受付けたモニタ部27は、ノンセキュアモードNからセキュアモードSへモードを切替える。
そして、本変形例の情報処理装置10は、上記実施の形態のSEQ208〜SEQ232と同様にして(図5参照)、SEQ410〜SEQ434の処理を実行する。
次に、ノンセキュア処理部25は、SEQ434によってSMCを受信すると、ルーティングおよび送信に関する処理を実行する(SEQ436)。SEQ436の処理は、SEQ438〜SEQ464の処理を含む。
まず、ノンセキュア処理部25は、上記実施の形態の情報処理装置10で実行したSEQ234〜SEQ246と同様にして(図5参照)、SEQ438〜SEQ450の処理を実行する。
そして、本変形例の情報処理装置10は、共有メモリ23Aに格納されている通信データの各々について、図5に示すSEQ276〜SEQ288と同様にして、SEQ452〜SEQ464の処理を実行する。
以上説明したように、本変形例では、モニタ部27は、タイマ部24から、ノンセキュアモードNからセキュアモードSへ切替える第1切替指示を受付けたときに、ノンセキュアモードNからセキュアモードSへのモードの切替えを行う。そして、モニタ部27は、メモリアクセス制御表36における、通信データの書込まれた共有メモリ23Aの物理アドレスに対応する状態情報を、“ロック状態”に更新する。
例えば、モニタ部27は、第1切替指示に含まれる情報を読取ることで、直前の処理によって通信データの書込まれた共有メモリ23Aの物理アドレスを特定し、状態情報を更新すればよい。また、ノンセキュア処理部25が、直前に書込んだ通信データの物理アドレスを特定可能な情報を、共有メモリ23Aに書込んでもよい。この場合、モニタ部27は、タイマ部24から第1切替指示を受付けたときに、該情報を共有メモリ23Aから読取ることで、直前の処理によって通信データの書込まれた共有メモリ23Aの物理アドレスを特定し、状態情報を更新すればよい。
このため、本変形例の情報処理装置10は、上記実施の形態の情報処理装置10に比べて、セキュアモードSとノンセキュアモードNとのモードの切替回数の削減を図ることができる。
(第2の実施の形態)
本実施の形態では、違反時処理を更に実行する場合を説明する。
図1は、情報処理システム1Aの概要を示す模式図である。情報処理システム1Aは、情報処理装置10に代えて情報処理装置10Bを備える点以外は、情報処理システム1と同様である。図2は、情報処理装置10Bのハードウェア構成例を示すブロック図である。情報処理装置10Bのハードウェア構成は、情報処理装置10と同様である。
図10は、本実施の形態の情報処理装置10Bのハードウェアとソフトウェア構成の一例を示す模式図である。
情報処理装置10Bは、ハードウェア部31と、モニタ部41と、ノンセキュア処理部25と、セキュア処理部40と、ノンセキュアアプリケーション32と、セキュアアプリケーション33と、を備える。ノンセキュア処理部25、ノンセキュアアプリケーション32、およびセキュアアプリケーション33は、第1の実施の形態と同様である。
ハードウェア部31は、プロセッサ部20と、メモリ部23と、メモリアクセス制御部42と、ストレージ28と、タイマ部24と、を備える。ハードウェア部31は、メモリアクセス制御部22に代えてメモリアクセス制御部42を備える点以外は、第1の実施の形態と同様である。
メモリアクセス制御部42は、第1の実施の形態のメモリアクセス制御部22と同様に、メモリ部23へのアクセスを制御する。メモリアクセス制御部42は、MPU63で実現する(図2参照)。
メモリアクセス制御部42は、第1の実施の形態のメモリアクセス制御部22と同様に、メモリアクセス制御表36に基づいて、ノンセキュアモードNで動作するノンセキュアアプリケーション32およびノンセキュア処理部25や、セキュアモードSで動作するセキュアアプリケーション33およびセキュア処理部40からの、共有メモリ23Aのアクセスを管理する。
例えば、メモリアクセス制御部42は、ノンセキュアモードNで動作するノンセキュアアプリケーション32やノンセキュア処理部25から、共有メモリ23Aへの書込要求を受付ける。すると、メモリアクセス制御部42は、メモリアクセス制御表36を参照し、書込要求に含まれる物理アドレスとサイズによって示される領域に対応する状態情報を特定する。
ここで、本実施の形態では、メモリアクセス制御部42は、特定した状態情報が“ロック状態”である場合には、ノンセキュア処理部25からの書込違反と判定する。そして、メモリアクセス制御部42は、書込違反を判定した場合、書込違反と判定したアドレスおよび書込対象の通信データを含む違反情報を、セキュア処理部40へ通知する。詳細には、メモリアクセス制御部42は、モニタ部41を介してセキュア処理部40へ、違反情報を通知する。モニタ部41は、メモリアクセス制御部42から受付けた違反情報に含まれるアドレスを物理アドレスに変換した後に、セキュア処理部40へ通知する。
なお、メモリアクセス制御部42は、ノンセキュアモードNで動作するノンセキュアアプリケーション32やノンセキュア処理部25から読取要求を受付けた場合には、特定した状態情報が“ロック状態”であっても、読取を許可する。また、メモリアクセス制御部42は、セキュアモードSで動作するセキュアアプリケーション33やセキュア処理部40から読取要求または書込要求を受付けた場合、特定した状態情報の種類に拘らず、読取を許可または書込を許可する。
モニタ部41は、モニタ部27と同様に、ノンセキュアモードNとセキュアモードSとを切替える。
モニタ部41は、切替部27Aと、違反検知部41Bと、を含む。切替部27Aは、第1の実施の形態と同様である。違反検知部41Bは、メモリアクセス制御部42から違反情報を受付けると、違反が発生したことを検知し、該違反情報をセキュア処理部40へ通知する。すなわち、違反検知部41Bは、メモリアクセス制御部42から受付けた違反情報に含まれるアドレスを物理アドレスに変換した後に、セキュア処理部40へ通知する。
セキュア処理部40は、セキュアモードSで動作するOSである。本実施の形態では、セキュア処理部40は、違反命令実行部40Bを含む。セキュア処理部40は、第1の実施の形態と同様の機能に加えて、違反命令実行部40Bの機能を有する。
違反命令実行部40Bは、違反情報を受付けた場合、違反時処理を実行する。
違反時処理は、違反情報に応じて、該違反情報に含まれる書込対象の物理アドレスに書込済の通信データを、ノンセキュア処理部25から読取不可とし、該違反情報に含まれる書込対象の通信データを共有メモリ23Aに書込み且つ該通信データをノンセキュア処理部25から読取可能とする、処理である。
すなわち、違反時処理は、新たな通信データ(以下、新通信データと称する場合がある)を書込もうとした“ロック状態”の物理アドレスに、既に書込まれている通信データ(以下、旧通信データと称する場合がある)を、ノンセキュア処理部25から読取不可とする処理である。また、違反時処理は、新通信データを共有メモリ23Aに書込み、且つ、該新通信データを、ノンセキュア処理部25から読取可能とする処理である。
言い換えると、違反時処理は、旧通信データを退避してノンセキュア処理部25から読取不可能な状態とし、新通信データはノンセキュア処理部25から読取可能に共有メモリ23Aへ書込む処理である。
図11は、本実施の形態の違反時処理が実行されたときの、メモリ部23の一例を示す模式図である。
例えば、サブネットワークNWを介してノード12などから、通信データとしてデータ1を受信したと仮定する。すると、本実施の形態の情報処理装置10Bでは、通信データとしての“データ1”を、共有メモリ23Aへ格納する(SEQ500)。この状態では、ノンセキュアモードN側から見た共有メモリ23A(以下、共有メモリ23A1と称する場合がある)、および、セキュアモードS側から見た共有メモリ23A(以下、共有メモリ23A2と称する場合がある)共に、“データ1”を読取り可能である。
そして、モニタ部41が、メモリアクセス制御表36における、共有メモリ23Aのデータ1の書込まれた物理アドレスに対応する状態情報を、“ロック状態”に更新する。
そして、ノンセキュア処理部25は、共有メモリ23Aに格納されたデータ1を、該共有メモリ23Aから読出し、ノンセキュアアプリケーション32のNSAPメモリ23Cへ移動する(SEQ502)。そして、ノンセキュアアプリケーション32は、ルーティングによりデータ1を変更してデータ2とした後に、該データ2を、共有メモリ23Aへ移動する(SEQ504)。
ここで、共有メモリ23Aにおける、データ2を書込む対象の物理領域が、既に“データ1”の書込まれた物理領域であり、メモリアクセス制御表36によって“ロック状態”となっていたと仮定する。
この場合、メモリアクセス制御部42は、書込違反を判定し、書込違反と判定した物理アドレス(“データ1”の書込まれている物理アドレス)および書込対象の通信データである“データ2”を含む違反情報を、モニタ部41の違反検知部41Bを介して、セキュア処理部40の違反命令実行部40Bへ通知する。
すると、違反命令実行部40Bは、違反時処理を実行し、違反情報に含まれる物理アドレスに書込済の“データ1”を、ノンセキュア処理部25から読取不可とする。また、違反命令実行部40Bは該違反情報に含まれる書込対象の通信データである“データ2”を、共有メモリ23Aに書込み且つ該“データ2”をノンセキュア処理部25から読取可能とする。
このため、図11の符号71内に示すように、セキュアモードS側から見た場合、共有メモリ23A内に、“データ1”および“データ2”を確認することができる。しかし、ノンセキュアモードN側から見た場合、共有メモリ23Aには、“データ2”のみが確認でき、“データ1”は確認出来ない状態となる。
そして、セキュア処理部40は、ロギングによって、共有メモリ23Aに格納されたデータ1およびデータ2を、ストレージ28へ書込む(SEQ506)。そして、データ2が、共有メモリ23Aから読み出され、サブネットワークNWを介してノード12へ送信される(SEQ508)。
詳細には、違反時処理は、以下の処理である。
例えば、違反時処理は、書込対象の物理アドレスに書込済の通信データを、該物理アドレスとは異なる新たな物理アドレスに移動し、書込対象の通信データを書込対象の物理アドレスに書込み、書込んだ該物理アドレスに応じて、メモリアクセス制御表36とセキュアページテーブル35とを更新する処理である。
図12および図13は、違反時処理の説明図である。図12は、通信データである“データ1”が共有メモリ23Aに書込まれたときの、ノンセキュアページテーブル34、セキュアページテーブル35、およびメモリアクセス制御表36の一例を示す模式図である。
例えば、共有メモリ23Aの物理アドレス“01”に“データ1”が書込まれたと仮定する。そして、ノンセキュアページテーブル34およびセキュアページテーブル35には、該物理アドレス“01”に対応する仮想アドレス(例えば、“01”)が対応付けられていると仮定する。また、メモリアクセス制御表36には、該“データ1”の物理アドレス“01”および状態情報“ロック状態”が登録されている。
このときに、ノンセキュア処理部25のメモリアクセス部25Aが、旧通信データ“データ1”の格納されている物理アドレス“01”に対する、新通信データ“データ2”の書込要求を通知したと仮定する。
すると、メモリアクセス制御部42は、書込違反を判定する。そして、メモリアクセス制御部42は、書込違反と判定した物理アドレス(“データ1”の書込まれている物理アドレス“01”)および書込対象の新通信データ“データ2”を含む違反情報を、モニタ部41の違反検知部41Bを介して、セキュア処理部40の違反命令実行部40Bへ通知する。
すると、違反命令実行部40Bは、図13に示すように、違反情報に含まれる物理アドレス“01”に書込済の旧通信データ“データ1”を、新たな物理アドレス“02”に移動する。また、違反命令実行部40Bは、違反情報に含まれる新通信データ“データ2”を、旧通信データ“データ1”の書込まれていた物理アドレス“01”に書込む。
そして、違反命令実行部40Bは、書込んだ物理アドレスに応じて、セキュアページテーブル35およびメモリアクセス制御表36を更新する。
このため、図13に示すように、旧通信データ“データ1”は、物理アドレス“01”から“02”に移動される。そして、セキュアページテーブル35には、該“データ1”の物理アドレス“02”に対応する仮想アドレス“02”が登録された状態となる。一方、新通信データ“データ2”は、物理アドレス“01”に書込まれ、セキュアページテーブル35およびノンセキュアページテーブル34には、該“データ2”の物理アドレス“01”に対応する仮想アドレス“01”が登録された状態となる。
このように、ノンセキュアページテーブル34には、旧通信データ“データ1”の物理アドレス“02”が登録されていないため、ノンセキュア処理部25は、旧通信データ“データ1”を読取ることは出来ない状態となる。
なお、違反時処理は、書込対象の物理アドレスとは異なる新たな物理アドレスに、書込対象の通信データを書込み、書込んだ該物理アドレスに応じて、セキュアページテーブル35とノンセキュアページテーブル34と、を更新する処理であってもよい。
図12および図14は、違反時処理の説明図である。図12は、通信データである“データ1”が共有メモリ23Aに書込まれたときの、ノンセキュアページテーブル34、セキュアページテーブル35、およびメモリアクセス制御表36の一例を示す模式図である。
例えば、共有メモリ23Aの物理アドレス“01”に“データ1”が書込まれたと仮定する。そして、ノンセキュアページテーブル34およびセキュアページテーブル35には、該物理アドレス“01”に対応する仮想アドレス“01”が対応付けられていると仮定する。また、メモリアクセス制御表36には、該“データ1”の物理アドレス“01”および状態情報“ロック状態”が登録されている。
このときに、ノンセキュア処理部25のメモリアクセス部25Aが、旧通信データ“データ1”の格納されている物理アドレス“01”に対する、新通信データ“データ2”の書込要求を通知したと仮定する。
すると、メモリアクセス制御部42は、書込違反を判定し、書込違反と判定した物理アドレス(“データ1”の書込まれている物理アドレス“01”)および書込対象の通信データ“データ2”を含む違反情報を、モニタ部41の違反検知部41Bを介して、セキュア処理部40の違反命令実行部40Bへ通知する。
すると、違反命令実行部40Bは、図14に示すように、違反情報に含まれる物理アドレス“01”とは異なる物理アドレス“02”に、新通信データ“データ2”を書込む。
そして、違反命令実行部40Bは、ノンセキュアページテーブル34およびセキュアページテーブル35を更新する。
詳細には、違反命令実行部40Bは、セキュアページテーブル35における、旧通信データ“データ1”の物理アドレス“01”に対応する仮想アドレスを、他のアドレス(例えば、仮想アドレス“02”)に変更する。そして、違反命令実行部40Bは、新通信データ“データ2”の物理アドレス“02”に対応する仮想アドレスとして、旧通信データ“データ1”に割当てていた仮想アドレス“01”を割当てる。
また、違反命令実行部40Bは、ノンセキュアページテーブル34における、旧通信データ“データ1”の物理アドレスに対応付けていた仮想アドレス“01”を、新通信データ“データ2”の物理アドレスに対応付ける。
このため、ノンセキュアページテーブル34には、旧通信データである“データ1”の物理アドレス“01”に対応する仮想アドレスが対応づけられていない状態となる。このため、ノンセキュア処理部25は、旧通信データ“データ1”を読取ることは出来ない状態となる。
このようにして、違反命令実行部40Bは、違反時処理を実行する。
図15は、本実施の形態の情報処理装置10Bが実行する通信処理の流れの一例を示す、シーケンス図である。
本実施の形態の情報処理装置10Bは、第1の実施の形態の情報処理装置10のSEQ200〜SEQ240と同様にして、SEQ601〜SEQ644の処理を実行する。
次に、ノンセキュアアプリケーション32は、ルーティングによる変更後の通信データを含むフレームの書込要求を、メモリアクセス制御部42へ通知する(SEQ646)。
メモリアクセス制御部42は、SEQ646で受付けた書込要求が、書込違反であるか否かを判定する(SEQ648)。そして、書込違反と判定した場合、メモリアクセス制御部42は、書込違反と判定した論理アドレスおよび該変更後の通信データを含む違反情報を、モニタ部41の違反検知部41Bへ通知する(SEQ650)。
違反検知部41Bは、違反情報に示される論理アドレスを物理アドレスに変換し、切替部27Aは、ノンセキュアモードNからセキュアモードSへモードを切替える。そして、モニタ部41は、セキュアモードSへ切替えたことを示すメッセージ(例えば、SMC)を、セキュア処理部40へ通知する(SEQ652)。また、違反検知部41Bは、違反情報を、セキュア処理部40へ通知する(SEQ654)。
すると、セキュア処理部40の違反命令実行部40Bが、違反時処理を実行する(SEQ656)。
違反時処理を実行すると、セキュア処理部40のセキュア処理部26が、モニタ部41へ、ノンセキュアモードNへ切替える第2切替指示を通知する(SEQ658)。
すると、モニタ部41の切替部27Aは、セキュアモードSからノンセキュアモードNへモードを切替え、ノンセキュアモードNへ切替えたことを示すメッセージ(SMC)を、ノンセキュアアプリケーション32へ通知する(SEQ660)。
そして、情報処理装置10Bは、第1の実施の形態のSEQ244〜SEQ288と同様にして、SEQ666〜SEQ714の処理を実行する。
以上説明したように、本実施の形態の情報処理装置10Bでは、メモリアクセス制御部42が、ノンセキュア処理部25からの書込違反を判定した場合、書込違反と判定した物理アドレスおよび書込対象の通信データを含む違反情報を、セキュア処理部40へ通知する。セキュア処理部40は、違反命令実行部40Bを備える。違反命令実行部40Bは、違反情報に応じて、違反時処理を実行する。違反時処理は、違反情報に含まれる物理アドレスに書込済の通信データをノンセキュア処理部25から読取不可とし、該違反情報に含まれる通信データを共有メモリ23Aに書込み且つ該通信データをノンセキュア処理部25から読取可能とする処理である。
このため、本実施の形態の情報処理装置10Bでは、上記実施の形態の効果に加えて、更に、メモリサイズの削減を図ることができる。
(変形例3)
上記実施の形態では、セキュア処理部40の違反命令実行部40Bが、違反時処理を実行する形態を説明した。しかし、プロセッサ部20のメモリ管理部が、違反時処理を実行してもよい。
この場合、セキュア処理部40およびモニタ部41は、それぞれ、違反命令実行部40Bおよび違反検知部41Bを備えない構成とすればよい。
プロセッサ部20は、セキュアモードSとノンセキュアモードNとに選択的に切替えられ、各々のモードでデータ処理を行う。本変形例では、プロセッサ部20は、メモリ管理部70を備える。メモリ管理部70は、違反時処理を実行する。
メモリ管理部70は、共有メモリ23Aに対するメモリアクセス制御機能を有する。詳細には、本実施の形態では、メモリ管理部70は、ノンセキュア処理部25からの書込違反を判定した場合、違反時処理を実行する。違反時処理は、上記第2の実施の形態と同様である。
図16は、本変形例の情報処理装置10Bが実行する通信処理の流れの一例を示す、シーケンス図である。
本変形例の情報処理装置10Bは、第1の実施の形態の情報処理装置10のSEQ200〜SEQ240と同様にして、SEQ801〜SEQ841の処理を実行する。
次に、ノンセキュアアプリケーション32は、ルーティングによる変更後の通信データを含むフレームの書込要求を、メモリ管理部70へ通知する(SEQ842)。
メモリ管理部70は、SEQ842で受付けた書込要求が、書込違反であるか否かを判定する(SEQ844)。書込違反ではないと判定した場合、後述するSEQ854へ進む。一方、書込違反と判定した場合、メモリ管理部70は、書込違反と判定した論理アドレスを物理アドレスに変換し、違反時処理を実行する(SEQ846)。
違反時処理を実行すると、メモリ管理部70は、ノンセキュア処理部25へ、処理終了を示す信号を通知する(SEQ848)。
そして、情報処理装置10Bは、第1の実施の形態のSEQ244〜SEQ288と同様にして、SEQ854〜SEQ898の処理を実行する。
以上説明したように、本変形例の情報処理装置10Bでは、プロセッサ部20のメモリ管理部70が、違反時処理を実行する。
このため、本変形例の情報処理装置10Bでは、上記実施の形態の効果に加えて、更に、メモリサイズの削減を図ることができる。
<補足説明>
なお、情報処理装置10、情報処理装置10Bで実行される上記各処理を実行するためのプログラムは、HDD(ハードディスクドライブ)に記憶されていてもよい。また、上記実施の形態の、情報処理装置10、情報処理装置10Bで実行される上記各処理を実行するためのプログラムは、ROM62に予め組み込まれて提供されていてもよい。
また、上記実施の形態の、情報処理装置10、情報処理装置10Bで実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、CD−R、メモリカード、DVD(Digital Versatile Disk)、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、上記実施の形態の、情報処理装置10、情報処理装置10Bで実行される上記処理を実行するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施の形態の、情報処理装置10、情報処理装置10Bで実行される上記処理を実行するためのプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。
以上、本発明の実施の形態を説明したが、これらの実施の形態は例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1、1A 情報処理システム
10、10B 情報処理装置
20 プロセッサ部
22、42 メモリアクセス制御部
23A 共有メモリ
24 タイマ部
25 ノンセキュア処理部
26、40 セキュア処理部
27、41 モニタ部
27A 切替部
28 ストレージ
29、70 メモリ管理部
40B 違反命令実行部
41B 違反検知部

Claims (15)

  1. ノンセキュアモードとセキュアモードとを切替えるモニタ部と、
    前記ノンセキュアモードで動作し、通信データを共有メモリに読み書きするノンセキュア処理部と、
    前記セキュアモードで動作し、前記通信データを前記共有メモリから読み出してストレージに書き込むセキュア処理部と、
    前記共有メモリ内の物理アドレスと、前記ノンセキュア処理部による書込を不可とし読取を可能とするロック状態または前記ロック状態の解除されたロック解除状態を示す状態情報と、を対応付けたメモリアクセス制御表に基づいて、前記ノンセキュア処理部および前記セキュア処理部からのアクセスを管理するメモリアクセス制御部と、
    を備える情報処理装置。
  2. 前記ノンセキュア処理部は、
    前記通信データを前記共有メモリに書込んだときに、前記ノンセキュアモードから前記セキュアモードへ切替える第1切替指示を前記モニタ部へ通知し、
    前記モニタ部は、
    前記第1切替指示を受付けたときに、前記ノンセキュアモードから前記セキュアモードへ切替え、前記メモリアクセス制御表における前記通信データの書込まれた物理アドレスに対応する前記状態情報を前記ロック状態に更新する、
    請求項1に記載の情報処理装置。
  3. 前記ノンセキュア処理部は、
    前記共有メモリに規定数の前記通信データが書込まれた場合に、前記第1切替指示を前記モニタ部へ通知する、
    請求項2に記載の情報処理装置。
  4. 前記モニタ部は、
    前記ノンセキュアモードから前記セキュアモードへ切替える第1切替指示を、タイマ部から受付けたときに、前記ノンセキュアモードから前記セキュアモードへ切替え、前記メモリアクセス制御表における、前記通信データの書込まれた物理アドレスに対応する前記状態情報を前記ロック状態に更新し、
    前記タイマ部は、前回の前記第1切替指示の送信から所定時間が経過した後に前記第1切替指示を前記モニタ部に送信する、
    請求項1に記載の情報処理装置。
  5. 前記セキュア処理部は、
    前記共有メモリに書込まれた前記通信データを前記ストレージへ記憶したときに、前記メモリアクセス制御表における、前記ストレージへ記憶した該通信データの物理アドレスに対応する前記状態情報を前記ロック解除状態に更新した後に、前記セキュアモードから前記ノンセキュアモードへ切替える第2切替指示を前記モニタ部へ通知し、
    前記モニタ部は、
    前記第2切替指示を受付けたときに、前記セキュアモードから前記ノンセキュアモードへ切替える、
    請求項1〜請求項4の何れか1項に記載の情報処理装置。
  6. 前記セキュア処理部は、
    前記共有メモリに規定数の前記通信データが書込まれた場合に、前記共有メモリに書き込まれた該通信データを前記ストレージへ記憶する、
    請求項5に記載の情報処理装置。
  7. 前記メモリアクセス制御部は、
    前記ノンセキュア処理部からの書込違反を判定した場合、書込違反と判定した物理アドレスおよび書込対象の前記通信データを含む違反情報を、前記セキュア処理部へ通知し、
    前記セキュア処理部は、
    前記違反情報に応じて、該違反情報に含まれる該物理アドレスに書込済の前記通信データを前記ノンセキュア処理部から読取不可とし、該違反情報に含まれる前記通信データを前記共有メモリに書込み且つ該通信データを前記ノンセキュア処理部から読取可能とする、違反時処理を実行する違反命令実行部を有する、
    請求項1〜請求項6の何れか1項に記載の情報処理装置。
  8. 前記セキュアモードと前記ノンセキュアモードとに選択的に切替えられ、各々のモードでデータ処理を行うプロセッサ部を備え、
    前記プロセッサ部は、
    前記ノンセキュア処理部からの書込違反を判定した場合、書込違反と判定した物理アドレスに書込済の前記通信データを前記ノンセキュア処理部から読取不可とし、該書込違反と判定した書込対象の前記通信データを前記共有メモリに書込み且つ該通信データを前記ノンセキュア処理部から読取可能とする、違反時処理を実行するメモリ管理部を有する、
    請求項1〜請求項6の何れか1項に記載の情報処理装置。
  9. 前記違反時処理は、
    書込対象の物理アドレスに書込済の前記通信データを、該物理アドレスとは異なる新たな物理アドレスに移動し、書込対象の前記通信データを書込対象の物理アドレスに書込み、書込んだ該物理アドレスに応じて、前記メモリアクセス制御表と、前記セキュア処理部の用いる仮想アドレスと物理アドレスとの対応を示すセキュアページテーブルと、を更新する処理である、
    請求項7または請求項8に記載の情報処理装置。
  10. 前記違反時処理は、
    書込対象の物理アドレスとは異なる新たな物理アドレスに、書込対象の前記通信データを書込み、書込んだ該物理アドレスに応じて、前記セキュア処理部の用いる仮想アドレスと物理アドレスとの対応を示すセキュアページテーブルと、前記ノンセキュア処理部の用いる仮想アドレスと物理アドレスとの対応を示すノンセキュアページテーブルと、を更新する処理である、
    請求項7または請求項8に記載の情報処理装置。
  11. 前記セキュア処理部または前記モニタ部は、起動時に、前記メモリアクセス制御表の前記状態情報を全て前記ロック解除状態に更新する、
    請求項1〜請求項10の何れか1項に記載の情報処理装置。
  12. 前記ノンセキュア処理部および前記セキュア処理部は、起動時に、メモリ部における前記共有メモリのアドレスをロードする、
    請求項1〜請求項10の何れか1項に記載の情報処理装置。
  13. 前記セキュア処理部は、終了時に、前記共有メモリに格納されている前記通信データをストレージに書込む、
    請求項1〜請求項12の何れか1項に記載の情報処理装置。
  14. ノンセキュアモードとセキュアモードとを切替えるステップと、
    前記ノンセキュアモードで動作し、通信データを共有メモリに読み書きするステップと、
    前記セキュアモードで動作し、前記通信データを前記共有メモリから読み出してストレージに書き込むステップと、
    前記共有メモリ内の物理アドレスと、ノンセキュア処理部による書込を不可とし読取を可能とするロック状態または前記ロック状態の解除されたロック解除状態を示す状態情報と、を対応付けたメモリアクセス制御表に基づいて、ノンセキュア処理部およびセキュア処理部からのアクセスを管理するステップと、
    を含む情報処理方法。
  15. ノンセキュアモードとセキュアモードとを切替えるステップと、
    前記ノンセキュアモードで動作し、通信データを共有メモリに読み書きするステップと、
    前記セキュアモードで動作し、前記通信データを前記共有メモリから読み出してストレージに書き込むステップと、
    前記共有メモリ内の物理アドレスと、ノンセキュア処理部による書込を不可とし読取を可能とするロック状態または前記ロック状態の解除されたロック解除状態を示す状態情報と、を対応付けたメモリアクセス制御表に基づいて、ノンセキュア処理部およびセキュア処理部からのアクセスを管理するステップと、
    をコンピュータに実行させるためのプログラム。
JP2017232039A 2017-12-01 2017-12-01 情報処理装置、情報処理方法、およびプログラム Active JP6762924B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017232039A JP6762924B2 (ja) 2017-12-01 2017-12-01 情報処理装置、情報処理方法、およびプログラム
US15/911,328 US10545885B2 (en) 2017-12-01 2018-03-05 Information processing device, information processing method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017232039A JP6762924B2 (ja) 2017-12-01 2017-12-01 情報処理装置、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2019101750A true JP2019101750A (ja) 2019-06-24
JP6762924B2 JP6762924B2 (ja) 2020-09-30

Family

ID=66659231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017232039A Active JP6762924B2 (ja) 2017-12-01 2017-12-01 情報処理装置、情報処理方法、およびプログラム

Country Status (2)

Country Link
US (1) US10545885B2 (ja)
JP (1) JP6762924B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10909270B2 (en) 2018-07-09 2021-02-02 Kabushiki Kaisha Toshiba Information processing device, mobile object, information processing method, and computer program product

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7006461B2 (ja) * 2018-04-02 2022-01-24 株式会社デンソー 電子制御装置および電子制御システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6117068A (ja) 1984-07-02 1986-01-25 Mitsubishi Heavy Ind Ltd ガスレ−トジヤイロのドリフト補正装置
US9065812B2 (en) * 2009-01-23 2015-06-23 Microsoft Technology Licensing, Llc Protecting transactions
US9256734B2 (en) * 2012-04-27 2016-02-09 Broadcom Corporation Security controlled multi-processor system
KR102017828B1 (ko) * 2012-10-19 2019-09-03 삼성전자 주식회사 보안 관리 유닛, 상기 보안 관리 유닛을 포함하는 호스트 컨트롤러 인터페이스, 상기 호스트 컨트롤러 인터페이스의 동작 방법, 및 상기 호스트 컨트롤러 인터페이스를 포함하는 장치들
JP2014089644A (ja) * 2012-10-31 2014-05-15 Toshiba Corp プロセッサ、プロセッサ制御方法及び情報処理装置
JP6067449B2 (ja) * 2013-03-26 2017-01-25 株式会社東芝 情報処理装置、情報処理プログラム
JP6117068B2 (ja) 2013-09-20 2017-04-19 株式会社東芝 情報処理装置、およびプログラム
JP2015170887A (ja) 2014-03-05 2015-09-28 富士通株式会社 パケット処理方法及びシステム
JP6181004B2 (ja) * 2014-06-20 2017-08-16 株式会社東芝 メモリ管理装置、プログラム、及び方法
JP6464777B2 (ja) 2015-01-30 2019-02-06 富士通株式会社 情報処理装置及びプログラム
US10657274B2 (en) * 2015-06-29 2020-05-19 Samsng Electronics Co., Ltd. Semiconductor device including memory protector

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10909270B2 (en) 2018-07-09 2021-02-02 Kabushiki Kaisha Toshiba Information processing device, mobile object, information processing method, and computer program product

Also Published As

Publication number Publication date
JP6762924B2 (ja) 2020-09-30
US20190171585A1 (en) 2019-06-06
US10545885B2 (en) 2020-01-28

Similar Documents

Publication Publication Date Title
KR102092660B1 (ko) Cpu 및 다중 cpu 시스템 관리 방법
JP6663032B2 (ja) 車載ゲートウェイ、鍵管理装置
JP2017059211A (ja) ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
CN101635679B (zh) 路由表的动态更新
JP2004287476A (ja) ノード装置におけるキャッシュ制御
JP6762924B2 (ja) 情報処理装置、情報処理方法、およびプログラム
EP3355181B1 (en) Method and apparatus for responding to request based on node controller
JP2005535002A (ja) 共有リソース・ドメイン
US10095629B2 (en) Local and remote dual address decoding using caching agent and switch
JP6194761B2 (ja) 情報処理方法、装置、及びプログラム
US11397834B2 (en) Methods and systems for data backup and recovery on power failure
US11734197B2 (en) Methods and systems for resilient encryption of data in memory
JP6776292B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6248822B2 (ja) 通信アドレス管理システム、ビル管理システム及び通信アドレス管理プログラム
JP5240872B2 (ja) 情報処理装置及び情報処理装置の動作方法
JP2020119325A (ja) ストレージシステム、及びストレージ制御装置
JP5754778B2 (ja) 記憶装置共用システム、管理装置、処理装置、記憶装置共用方法、管理方法、アクセス方法およびプログラム
JP7468652B2 (ja) 分散システム、通信端末、機能復旧方法、及びプログラム
CN117493026B (zh) 一种多主机与多计算快速链接内存设备系统及其应用设备
JP5434190B2 (ja) 端末装置、端末ネットワークシステム、端末装置のリモート電源制御方法、リモート電源制御プログラム
JP2006270581A (ja) 呼情報サーバの同期方法
JP2010016719A (ja) 通信制御装置、およびそれを搭載した受信装置
JP2006113833A (ja) ストレージ管理装置、ストレージネットワークシステム、ストレージ管理方法およびプログラム
JP2013200805A (ja) 信号振り分けシステム、信号振り分け方法及びコンピュータ・プログラム
JP2005515543A (ja) ドメイン間データ転送

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190814

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200722

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: 20200811

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200909

R151 Written notification of patent or utility model registration

Ref document number: 6762924

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151