JP7106845B2 - Terminal device and verification method - Google Patents
Terminal device and verification method Download PDFInfo
- Publication number
- JP7106845B2 JP7106845B2 JP2017225064A JP2017225064A JP7106845B2 JP 7106845 B2 JP7106845 B2 JP 7106845B2 JP 2017225064 A JP2017225064 A JP 2017225064A JP 2017225064 A JP2017225064 A JP 2017225064A JP 7106845 B2 JP7106845 B2 JP 7106845B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- terminal device
- unit
- server device
- control chip
- 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.)
- Active
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Description
本発明は、端末装置、及び検証方法に関する。 The present invention relates to a terminal device and verification method.
近年、センサなどを様々な場所に設置し、その場所の環境データや、撮像データなどを取得するシステムが普及している。このようなシステムでは、通信ネットワークを介し、センサが搭載された端末装置と、データを集約するサーバ装置との間でデータが送受信される。端末装置には、スレーブとしての複数のセンサと、複数のセンサを制御するマスタとしての制御チップが搭載される。サーバ装置からセンサに対してデータが送信された場合、端末装置では制御チップを介してセンサへの設定がなされる。また、センサは、検知したデータを、制御チップを介してサーバ装置に送信する。つまり、端末装置では、サーバ装置とセンサとの間のデータの送受信が、常に制御チップを介して行われる。
このため、センサが増設されたり、センサに対する制御処理が頻繁に行われたりした場合には、サーバ装置とセンサとの間のデータの送受信が増大し、制御チップの負荷が増加してしまう。この対策として、サーバ装置とセンサとが、制御チップを介さずに、直接、データを送信することが考えられる。
特許文献1では、異なるファームウェアプログラムで動作する二以上のプロセッサを備える装置において、プロセッサ間でマスタとスレーブとの役割を交代させながら、装置の運用を継続させつつ、それぞれのファームウェアプログラムを更新させる技術が開示されている。
2. Description of the Related Art In recent years, a system in which sensors or the like are installed at various locations to acquire environmental data, imaging data, and the like of the locations has become widespread. In such a system, data is transmitted and received between a terminal device equipped with a sensor and a server device that collects data via a communication network. A terminal device is equipped with a plurality of sensors as slaves and a control chip as a master for controlling the plurality of sensors. When data is transmitted from the server device to the sensor, the terminal device sets the sensor via the control chip. The sensor also transmits the detected data to the server device via the control chip. In other words, in the terminal device, data transmission/reception between the server device and the sensor is always performed via the control chip.
Therefore, when sensors are added or when control processing for sensors is frequently performed, the amount of data transmitted and received between the server device and the sensors increases, increasing the load on the control chip. As a countermeasure, it is conceivable that the server device and the sensor directly transmit data without going through the control chip.
In
通信ネットワークを介したデータの送受信では、ネットワーク上でデータが改ざんされるなど悪意ある攻撃を受けることがあり得る。サーバ装置が送信したデータが不正に改ざんされ、その改ざんされたデータをセンサが取得した場合、センサが不正に制御されてしまう可能性がある。このため、センサが取得するデータの正当性を検証する必要があるが、センサ自体にはデータの正当性を検証する機能が備えられていない場合がほとんどである。 Transmission and reception of data over a communication network may be subject to malicious attacks such as falsification of data on the network. If the data transmitted by the server device is illegally falsified and the sensor acquires the falsified data, the sensor may be illegally controlled. Therefore, it is necessary to verify the validity of the data acquired by the sensor, but in most cases the sensor itself does not have a function to verify the validity of the data.
本発明は、このような状況に鑑みてなされたもので、その目的は、制御チップの処理負
担を抑制しつつ、不正なデータか否かを把握することができる端末装置、及び検証方法を提供することにある。
SUMMARY OF THE INVENTION The present invention has been made in view of such circumstances, and an object of the present invention is to provide a terminal device and a verification method capable of grasping whether or not the data is illegal while suppressing the processing load on the control chip. is to provide
上述した課題を解決するために、本発明の一態様は、通信ネットワークを介してサーバ装置と通信する端末装置であって、マスタチップと、前記マスタチップからの指示に基づいて、前記マスタチップとの間で通信を行うスレーブチップと、セキュアエレメントと、を備え、前記マスタチップは、前記端末装置により受信された受信データを取得する第1の取得部と、前記受信データに基づいて、前記受信データの送信先を判定し、前記送信先が前記スレーブチップである場合、前記セキュアエレメントに前記受信データの正当性を検証させ、その検証結果に基づいて、前記受信データが正当であると判定される場合、前記受信データを前記スレーブチップに転送するデータ処理部と、を有し、前記セキュアエレメントは、前記マスタチップから前記受信データを取得する第2の取得部と、前記第2の取得部により取得された前記受信データの正当性を検証し、前記受信データが正当か否かを示す検証結果を前記マスタチップに出力する検証部と、を有する端末装置である。 To solve the above-described problems, one aspect of the present invention is a terminal device that communicates with a server device via a communication network , comprising: a master chip; a slave chip that communicates with a master chip; and a secure element. determining a destination of the received data, and if the destination is the slave chip, causing the secure element to verify the validity of the received data, and determining that the received data is valid based on the verification result. a data processing unit that transfers the received data to the slave chip, the secure element includes a second acquisition unit that acquires the received data from the master chip; and a verifying unit that verifies the validity of the received data acquired by the acquiring unit of and outputs a verification result indicating whether or not the received data is valid to the master chip .
本発明によれば、制御チップの処理負担を抑制しつつ、不正なデータか否かを把握することができる。 According to the present invention, it is possible to grasp whether or not the data is illegal while reducing the processing load on the control chip.
以下、実施形態のセキュアエレメント、端末装置、サーバ装置、検証方法、及びプログラムを、図面を参照して説明する。 A secure element, a terminal device, a server device, a verification method, and a program according to embodiments will be described below with reference to the drawings.
図1は、実施形態の処理システム1の構成例を示すシステム構成図である。
処理システム1は、例えば、サーバ装置10と端末装置30とを備える。サーバ装置10と端末装置30とは、通信ネットワーク20を介して互いに通信可能に接続される。
FIG. 1 is a system configuration diagram showing a configuration example of a
The
サーバ装置10は、端末装置30からデータを取得する。サーバ装置10は、端末装置30から取得した撮像データ等のデータを蓄積し、蓄積したデータに基づいてユーザの操作に応じた画像を表示する等し、様々なサービスを提供する。
また、サーバ装置10は、端末装置30に対してデータを送信する。サーバ装置10から端末装置30に対して送信されるデータは、例えば端末装置30に対する制御を行うためのデータである。
The
The
端末装置30は、通信モジュール31と、制御チップ32と、センサモジュール34(センサモジュール34-1、…34-N)(但し、Nは任意の自然数)と、SE(セキュアエレメント、Secure Element)40とを備える。
通信モジュール31は、通信ネットワーク20を介して、サーバ装置10や、その他の通信装置により端末装置30に対して送信されたデータを受信する。通信モジュール31は、受信したデータを、制御チップ32に出力する。また、通信モジュール31は、制御チップ32の制御により、センサモジュール34により取得されたデータをサーバ装置10に送信する。
The
The
制御チップ32は、端末装置30の他の機能部(通信モジュール31、センサモジュール34、及びSE40)を制御する。制御チップ32は、端末装置30の機能を実現させるために端末装置30の各機能部が連携して動作する際に、他の機能部を制御するマスタ側として動作する。つまり、制御チップ32は、「マスタチップ」の一例である。一方、端末装置30の他の機能部は、端末装置30の機能を実現させるために端末装置30の各機能部が連携して動作する際に、制御チップ32により制御されるスレーブ側として動作する。つまり、通信モジュール31、センサモジュール34、及びSE40は、「スレーブチップ」の一例である。
The
センサモジュール34は、例えば撮像機能を備えた撮像モジュールである。センサモジュール34は、温度や湿度を検知する環境センサであってもよい。また、センサモジュール34はデータを出力する機能を備えていてもよい。例えば、端末装置30がスマート家電である場合には、センサモジュール34は、制御チップ32の指示により家電を起動又は停止させたり、あるいは稼働状況を変更させたりする信号を出力してもよい。端末装置30が携帯端末である場合には、センサモジュール34は画像を表示するディスプレイ、音を出力するスピーカ等であってもよい。
The
SE40は、検証機能又は暗号化機能を備える検証チップである。SE40は、例えば、セキュアICチップ、セキュアチップ、セキュアIC等と称される。SE40は、外部からの悪意ある攻撃から情報を守る堅牢な構造を持ち耐タンパ性を備えていてもよい。ただし、SE40は、検証機能又は暗号化機能を有するICチップであればよく、セキュアICチップ等に限定されることはない。例えば、SE40は、暗号ライブラリを備えたICチップであってもよい。
また、SE40は、例えばプラスチック等のカード機材に、SE40が実装されたICカード、又はSIMカード(Subscriber Identity Module Card)であってもよい。この場合、SE40は、ICカード、又はSIMカードのコンタクト部を介して端末装置30と通信を行う。コンタクト部は、ICカード又はSIMカードが動作するために必要な各種信号の端子を有している。各種信号の端子は、端末装置30から電源電圧、クロック信号、リセット信号の供給を受ける端子、及び端末装置30と通信を行うシリアルデ―タ入出力端子である。
SE 40 is a verification chip with verification or encryption functions. The SE 40 is called, for example, a secure IC chip, a secure chip, a secure IC, or the like. The
Also, the
図2は、実施形態のサーバ装置10の構成例を示すブロック図である。
サーバ装置10は、サーバ通信部11と、サーバ制御部12と、出力部13とを備える。サーバ通信部11は、通信ネットワーク20に接続され、通信ネットワーク20を介して、端末装置30、及び他の通信装置と通信を行う。サーバ制御部12は、サーバ通信部11を介して端末装置30等から取得したデータを、サーバ装置10の記憶部(不図示)に記憶させる。出力部13は、サーバ装置10の入力部(不図示)にユーザの操作等により入力された情報に基づいて、記憶部に記憶させた情報からユーザの所望の情報を出力する。
FIG. 2 is a block diagram showing a configuration example of the
The
また、サーバ制御部12は、端末装置30に対して送信するデータを生成する。
本実施形態では、サーバ制御部12は、端末装置30に対して送信するデータに、送信先を示す情報(送信先情報)を含めて送信する。つまり、サーバ制御部12は、端末装置30に対して送信するデータに、端末装置30の制御チップ32に対して送信するデータであるのか、センサモジュール34に対して送信するデータであるのか、その他の機能部に対して送信するデータなのか、を含めて送信する。サーバ制御部12は、例えば、端末装置30に対して送信するデータの特定の箇所に、端末装置30の各機能部に対応するアドレス情報や識別番号を設定することにより、送信先情報を通知する。
The
In this embodiment, the
また、サーバ装置10は、端末装置30にデータを送信する際、データとともに認証コード(例えば、MAC(Message Authentication Code))を送信する。認証コードは、データに基づいて導出される所定の符号であって、例えば、サーバ装置10と端末装置30との間で予め定めた共通の暗号鍵(共通鍵)とデータとに基づいて導出される符号である。端末装置30が受信したデータと、共通鍵とを用いて導出された認証コードが、端末装置30が受信した認証コードと一致した場合、端末装置30が受信したデータは、サーバ装置10側で生成されたデータと同じデータであり、通信の途中で改ざんされていないデータ、つまり正当なデータであると判定できる。一方で、端末装置30側で導出された認証コードと、端末装置30側で受信された認証コードとが不一致であった場合、端末装置30が受信したデータは、途中で改ざんされた不正なデータであると判定することができる。
Further, when transmitting data to the
図3は、実施形態の制御チップ32の構成例を示すブロック図である。
制御チップ32は、通信部320と、記憶部322と、制御部324とを備える。
通信部320は、通信モジュール31、センサモジュール34、及びSE40と通信を行う。通信部320は、例えば、通信モジュール31等との通信において、マスタ側として動作する。通信部320は、通信モジュール31等の他の機能部に通信の開始を要求し、要求に応じた機能部に対し通信を行う。
通信部320は、通信モジュール31等の他の機能部からデータを取得し、取得したデータを記憶部322の受信データを記憶させる領域(受信バッファ)(不図示)に記憶させる。また、通信部320は、通信モジュール31等の他の機能部から取得したデータを制御部324に出力する。また、通信部320は、制御部324の指示により、記憶部322の送信データを記憶させる領域(送信バッファ)に記憶されたデータを通信モジュール31等に対してデータを出力する。
FIG. 3 is a block diagram showing a configuration example of the
The
The
The
記憶部322は、制御チップ32の各種処理を実行するためのプログラム、及びデータ等を記憶する。記憶部322は、例えば、通信情報記憶部323を備える。通信情報記憶部323は、通信モードを記憶する。
通信モードは、端末装置30におけるデータの通信の方法を示すモードである。通信モードには、少なくともマスタモードと、スレーブモードとの二つのモードがある。
マスタモードでは、制御チップ32が主体となって他の機能部を制御する。マスタモードでは、制御チップ32がサーバ装置10から端末装置30に送信された全てデータの内容を解釈し、解釈した内容に応じて他の機能部を制御する。
スレーブモードでは、マスタモードにて制御チップ32が行う処理の一部を、他の機能部に行わせる。スレーブモードでは、制御チップ32は、サーバ装置10から他の機能部(センサモジュール34等)に対して送信されたデータについては、そのデータの内容を解釈することなく、送信先の他の機能部(センサモジュール34等)にデータを転送する。
The
The communication mode is a mode indicating a data communication method in the
In the master mode, the
In the slave mode, part of the processing performed by the
制御部324は、制御チップ32を統括的に制御する。制御部324は、取得部325と、データ処理部326と、割り込み処理部327とを備える。
取得部325は、サーバ装置10から端末装置30に対して送信されたデータを、通信モジュール31及び通信部320を介して取得する。データ処理部326は、取得したデータの送信先を判定し、判定した送信先の応じた処理を行う。具体的には、データ処理部326は、取得したデータの送信先が制御チップ32である場合、マスタモードにてデータの処理を行う。この場合、データ処理部326は、通信情報記憶部323の通信モードに「0」を記憶させる。また、データ処理部326は、取得したデータの送信先が制御チップ32ではない他の機能部(例えば、センサモジュール34)である場合、スレーブモードにてデータの処理を行う。この場合、データ処理部326は、通信情報記憶部323の通信モードに「1」を記憶させる。
The
The
データ処理部326は、マスタモードの場合、取得したデータの内容を解釈し、解釈したデータの内容に基づいた設定を行う。マスタモードの場合、データには制御チップ32に対する制御の内容が示されている。マスタモードの場合、データ処理部326は、データに示された制御の内容を解釈し、解釈した内容に応じて制御チップ32の設定を行う。
In the case of the master mode, the
データ処理部326は、スレーブモードの場合、取得したデータの内容を解釈することなく、取得したデータを送信先の機能部(例えば、センサモジュール34)に転送する。スレーブモードの場合、データには制御チップ32ではない他の機能部(例えば、センサモジュール34)に対する制御の内容が示されている。スレーブモードの場合、データ処理部326は、データに示された制御の内容を解釈することなく、取得したデータを送信先に転送する。データ処理部326は、データを送信先に転送する場合、記憶部322のセンサモジュール34に対応する送信バッファ(不図示)に、取得したデータを記憶させ、通信部320にデータの送信を指示する。データ処理部326がデータの内容を解釈しないことで、制御チップ32の処理負担を軽減させることが可能となる。
In the slave mode, the
また、データ処理部326は、スレーブモードの場合、SE40に取得したデータの正当性を検証させる。具体的には、データ処理部326は、取得したデータをSE40に出力する。データ処理部326は、記憶部322のSE40に対応する送信バッファ(不図示)に、取得したデータを記憶させ、通信部320にデータの送信を指示する。そして、データ処理部326は、SE40からの検証結果を、通信部320を介して取得し、検証結果によりデータが正当であることが示された場合に、当該データをセンサモジュール34に出力する。これにより、正当性が保障された安全なデータをセンサモジュール34に転送することが可能となる。
Also, in the slave mode, the
データ処理部326は、SE40にデータの正当性を検証させた場合、その検証結果に基づいて、データが正当である場合にはデータをセンサモジュール34に転送し、データが正当でない場合にはデータを破棄するようにしてもよい。データ処理部326が正当でないデータを破棄することで、センサモジュール34が正当でない不正なデータにより不正に制御されることを抑止することが可能となる。
When having the
なお、上記では、データ処理部326は、取得部325からデータを取得する都度、データの正当性を検証する場合を例示して説明したが、これに限定されることはない。データ処理部326は、サーバ装置10と端末装置30との間で通信が連続して行われる場合などにおいて、最初のデータの正当性を検証した結果、データが正当であると判定された場合には、その後に続くデータについては、データが正当であるとして、検証を省くようにしてもよい。サーバ装置10と端末装置30との間で通信が連続して行われる場合とは、例えば、一連のデータが複数のデータブロックに分割され、順に送信される場合である。
In the above description, the
データ処理部326は、例えば、取得部325からデータを取得した場合、データが一連のデータの一部のデータブロックであるか否かを判定する。データ処理部326は、取得したデータが、データブロックである場合には、最初のデータブロックか否かを判定する。そして、データ処理部326は、最初のデータブロックでない場合には、通信情報記憶部323を参照し、通信モードに「1」が記憶されていた場合、データを検証することなく、センサモジュール34に転送する。
For example, when data is acquired from the
割り込み処理部327は、センサモジュール34や、他の機能部からの割り込み信号が出力された場合に、当該割り込み信号に応じた処理を行う。センサモジュール34が、所定の閾値を超えたデータを取得した場合などに、不定期にセンサモジュール34からサーバ装置10に対してデータを送信することがある。このような場合、センサモジュール34は、制御チップに対して割り込み信号を出力する。割り込み信号は、例えば、通信部320を介して割り込み処理部327に通知される。割り込み処理部327は、通知された割り込み信号に応じた処理を行う。
割り込み処理部327は、例えば、センサモジュール34からサーバ装置10に対してデータを送信することを示す割り込み信号を取得した場合、通信部320を介してセンサモジュール34に対してデータを要求する信号を出力し、センサモジュール34からデータを取得する。割り込み処理部327は、取得したデータを、データ処理部326に出力する。
When an interrupt signal is output from the
For example, when the interrupt
図4は、実施形態のセンサモジュール34の構成例を示すブロック図である。センサモジュール34は、通信部340と、センサ制御部341と、センサ部342とを備える。
通信部340は、制御チップ32と通信を行う。通信部340は、制御チップ32との通信において、スレーブ側として動作する。通信部340は、制御チップ32から通信の要求があった場合、その要求に応じて制御チップ32との通信を行う。
通信部340は、制御チップ32からデータを送信する要求があった場合、センサモジュール34の記憶部(不図示)の送信データを記憶させる領域(送信バッファ)に記憶されたデータを、制御チップ32に対して送信する。
FIG. 4 is a block diagram showing a configuration example of the
The
When receiving a request to transmit data from the
また、通信部340は、制御チップ32の指示により、制御チップ32に対して割り込み信号を出力、割り込み信号の応じた制御チップ32から通信部340に対して通信の要求をさせることにより、制御チップ32との通信を行う。
センサ制御部341は、センサモジュール34を統括的に制御する。センサ制御部341は、通信部340を介して制御チップ32からデータを取得し、取得したデータの内容を解釈し、解釈した内容に応じた設定等を行う。また、センサ制御部341は、センサ部342により取得されたデータを、送信バッファに記憶させる。
センサ部342は、撮像データ等を取得する。センサ部342は、取得した撮像データをセンサ制御部341に出力する。
In addition, the
The
The
図5は、実施形態のSE40の構成例を示すブロック図である。図5に示す通り、SE40は、通信部400と制御部410と記憶部420とを備える。
図2に示す各部は、SE40のハードウェアを用いて実現される。SE40のハードウェアは、例えば、UART(Universal Asynchronous Receiver Transmitter)、CPU、ROM(Read Only Memory)、RAM(Random Access Memory)、及びEEPROM(Electrically Erasable Programmable ROM)の各構成を備え、各構成は、内部バスを介して接続されている。
FIG. 5 is a block diagram showing a configuration example of the
Each unit shown in FIG. 2 is implemented using hardware of the
通信部400は、例えば、UARTと、CPUと、ROMに記憶されているプログラムとにより実現され、制御チップ32の間で通信を行う。通信部400は、制御チップ32との通信において、スレーブ側として動作する。通信部400は、コマンドを制御チップ32から受信するとともに、コマンドに対するレスポンスを制御チップ32に送信する。通信部400は、制御チップ32から受信した受信データを記憶部420の受信データ記憶部421に記憶させる。また、通信部400は、記憶部420の送信データ記憶部423に記憶されている送信データを、制御チップ32に送信する。
The
制御部410は、例えば、CPUと、RAMと、ROM、又はEEPROMとにより実現され、SE40を統括的に制御する。制御部410は、コマンド処理部411と、取得部412と、検証部413とを備える。
コマンド処理部411は、端末装置30の受信データに含まれるコマンドを解釈し、SE40における種々の処理に対応する各部の制御を行う。
取得部412は端末装置30の受信データを取得する。取得部412は取得した受信データを検証部413に出力する。
The
The
検証部413は、受信データの正当性を検証する。検証部413は、サーバ装置10から端末装置30に対して送信されたデータが、端末装置30により受信されるまでに改ざんされていない場合に受信データが正当であると判定する。検証部413は、端末装置30により受信されたデータが、サーバ装置10等の通信先として想定された装置からのデータである場合に受信データが正当であると判定する。
検証部413は、受信データに含まれるデータ部分のデータと、検証情報記憶部422に記憶された共通鍵とに基づいて、認証コードを導出する。検証部413は、導出した認証コードと、受信データに含まれる認証コードとを比較することにより、受信データの正当性を検証する。検証部413は、受信データの正当性を検証した検証結果を、コマンドに対するレスポンスとして、送信データ記憶部423に記憶させる。
なお、検証部413は、データの正当性を検証できればよく、上述した認証コードを用いた検証方法に限定されることはない。検証部413は、例えば一方向性のハッシュ関数(MD5、SHA1、SHA2等)や、共通鍵、公開鍵等の暗号鍵などを用いて受信データの正当性を検証するようにしてもよいし、サーバ装置10側で公開鍵により暗号化された認証コードを、端末装置30側で検証部413が秘密鍵を用いて復号することにより、データの正当性を検証するようにしてもよい。
It should be noted that the
記憶部420は、例えば、EEPROMにより構成された記憶部であり、制御部410のプログラム、及びデータ等を記憶する。記憶部420は、受信データ記憶部421と、検証情報記憶部422と、送信データ記憶部423とを備える。受信データ記憶部421は、通信部400を介して受信されたデータを記憶する。検証情報記憶部422は、共通鍵、公開鍵等の暗号鍵など検証の処理で用いる情報を記憶する。送信データ記憶部423は、通信部400を介してSE40から送信されるデータが記憶される。
The
図6は、実施形態の制御チップ32の動作例を示すフローチャートである。図6のフローチャートは、サーバ装置10から端末装置30に対してデータが送信された場合の制御チップ32の動作例を示す。
FIG. 6 is a flow chart showing an operation example of the
まず、制御チップ32は、通信部320により通信モジュール31を介してサーバ装置10からのデータを受信したか否かを判定する(ステップS100)。
制御チップ32は、サーバ装置10からデータを受信した場合、データ処理部326によりデータを、マスタモードで処理するか、スレーブモードで処理するかを判定させる(ステップS101)。制御チップ32は、取得部325によりサーバ装置10から受信したデータを取得し、データ処理部326により取得したデータの特定の箇所に設けられた送信先情報を参照することで、データの送信先を判定する。データ処理部326は、送信先情報に制御チップ32が示されていた場合、データをマスタモードで処理すると判定する。データ処理部326は、送信先情報に制御チップ32ではない他の機能部(センサモジュール34等)が示されていた場合、データをスレーブモードで処理すると判定する。
制御チップ32は、データをスレーブモードで処理すると判定する場合、データをSE40に転送する(ステップS102)。SE40は、制御チップ32から受信したデータの正当性を検証する。SE40は、データの正当性を検証した検証結果を制御チップ32に送信する。
制御チップ32は、取得部325により通信部320を介してSE40から検証結果を取得する(ステップS103)。データ処理部326は、検証結果に基づいてデータが正当であるか否かを判定する(ステップS104)。データ処理部326は、データが正当であると判定する場合、データを送信先(例えば、センサモジュール34)に出力する(ステップS105)。一方、データ処理部326は、データが正当でないと判定する場合、データを破棄する(ステップS107)。
一方、制御チップ32は、ステップS101により、データをマスタモードで処理すると判定する場合、データの内容を解釈し、解釈した内容に応じた制御を行う(ステップS106)。
First, the
When receiving data from the
If the
The
On the other hand, when the
図7は、実施形態の処理システム1の動作例を示すシーケンスチャートである。図7のシーケンスチャートは、サーバ装置10から端末装置30に対してデータが送信された場合の処理システム1の動作例を示す。なお、図7のシーケンスチャートでは、通信モジュール31を省略しているが、実際には、サーバ装置10と制御チップ32との通信には、通信モジュール31が介在している。
FIG. 7 is a sequence chart showing an operation example of the
まず、サーバ装置10は、端末装置30に送信するデータを作成する(ステップS301)。サーバ装置10は、端末装置30に送信するデータに、送信先情報を含めて作成する。
次に、サーバ装置10は、データと共通鍵とを用いて、認証コードを作成する(ステップS302)。サーバ装置10は、データと認証コードとを、端末装置30に送信する(ステップS303)。
制御チップ32は、サーバ装置10から端末装置30に対して送信されたデータを受信する(ステップS304)。制御チップ32は、受信したデータをSE40に転送する(ステップS305)。SE40は、転送されたデータの正当性を検証する(ステップS306)。SE40は、検証結果を制御チップ32に出力する(ステップS307)。制御チップ32は、検証チップから受信した検証結果に基づいて、データが正当であると判定された場合、通信モードをスレーブモードに設定する(ステップS308)。制御チップ32は、データをセンサモジュール34に転送する(ステップS309)。
First, the
Next, the
The
図8、図9は、実施形態の処理システム1の他の動作例を示すシーケンスチャートである。図8、図9のシーケンスチャートは、サーバ装置10に対して端末装置30からデータを送信する場合の処理システム1の他の動作例を示す。なお、図8、図9のシーケンスチャートでは、通信モジュール31を省略しているが、実際には、サーバ装置10と制御チップ32との通信には、通信モジュール31が介在している。
また、図8、及び図9のシーケンスチャートは、センサモジュール34から制御チップ32に対して割り込み信号を出力することにより、センサモジュール34からサーバ装置10にデータを送信する場合の例を示している。
8 and 9 are sequence charts showing other operation examples of the
The sequence charts of FIGS. 8 and 9 show an example of transmitting data from the
まず、図8のシーケンスチャートに示す処理を説明する。センサモジュール34は、データを取得する(ステップS401)。センサモジュール34は、取得したデータをサーバ装置10に対して送信する場合、制御チップ32に対して、割り込み信号を出力する(ステップS402)。
制御チップ32は、センサモジュール34からの割り込み信号を取得し(ステップS403)、サーバに対して通信を要求する通信要求を送信する(ステップS404)。
サーバ装置10は、通信要求に対する応答データとともに認証コードを作成する(ステップS405)。サーバ装置10は、応答データと認証コードとを、端末装置30に対して送信する(ステップS406)。
First, the processing shown in the sequence chart of FIG. 8 will be described. The
The
The
制御チップ32は、データを受信する(ステップS407)。制御チップ32は、受信したデータをSE40に転送する(ステップS408)。SE40は、転送されたデータの正当性を検証する(ステップS409)。SE40は、検証結果を制御チップ32に出力する(ステップS410)。制御チップ32は、検証チップから受信した検証結果に基づいて、データが正当であると判定された場合、通信モードをスレーブモードに設定する(ステップS411)。制御チップ32は、サーバ装置10に対して通信モードをスレーブモードに設定するモード変更を完了した旨の通知を行う(ステップS412)。
The
次に、図9のシーケンスチャートに示す処理を説明する。図9は、図8に示すシーケンスチャートに対応する処理が行われ、通信モードがスレーブモードに切り替わった後に、サーバ装置10からセンサモジュール34に対して処理を要求するデータ(図9では、処理要求データと記載)が送信された場合に、各機能部において行われる動作の流れを示している。
Next, the processing shown in the sequence chart of FIG. 9 will be described. FIG. 9 shows data for requesting processing from the
サーバ装置10は、センサモジュール34に対して処理要求データを作成する(ステップS413)。サーバ装置10は、処理要求データを、端末装置30に対して送信する(ステップS414)。
制御チップ32は、処理要求データを受信する(ステップS415)。制御チップ32は、受信した処理要求データを、データの解釈を行うことなく、SE40に出力する(ステップS416)。SE40は、制御チップ32より取得した処理要求データの正当性を検証する(ステップS417)。SE40は、検証結果を制御チップ32に出力する(ステップS418)。
The
The
制御チップ32は、SE40から受信した検証結果に基づいて、データが正当であると判定された場合、処理要求データをセンサモジュール34に出力する(ステップS420)。センサモジュール34は、制御チップ32より取得した処理要求データに基づいて、処理を実行する(ステップS421)。センサモジュール34は、処理を実行した処理結果を示すデータを制御チップ32に出力する(ステップS422)。
制御チップ32は、センサモジュール34より取得した処理結果を示すデータを、データの解釈を行うことなく、SE40に出力する(ステップS424)。SE40は、制御チップ32より取得した処理結果を示すデータを暗号化する、又は/及び、署名を付与する等するデータ処理を行う(ステップS425)。SE40は、暗号化等のデータ処理を行ったデータを制御チップ32に出力する(ステップS426)。
制御チップ32は、SE40より暗号化等のデータ処理が施されたデータを取得し(ステップS427)、取得したデータをサーバ装置10に対して送信する(ステップS428)。
The
The
The
以上、説明したように、実施形態のSE40は、通信ネットワーク20を介してサーバ装置10と通信する端末装置30に接続可能なSE40であって、端末装置30により受信され、送信先が端末装置30のセンサモジュール34(「スレーブチップ」の一例)である受信データを、端末装置30の制御チップ32(「マスタチップ」の一例)より取得する取得部412と、取得部412により取得されたデータの正当性を検証し、データが正当か否かを示す検証結果を制御チップ32に出力する検証部413と、を備える。これにより、実施形態のSE40は、制御チップ32がセンサモジュール34に転送するデータについて、その正当性を検証し、検証した結果を出力することができる。このため、制御チップ32は正当性が検証されたデータについて、その内容を解釈せずに、センサモジュール34に転送することができ、制御チップ32の処理負担を抑制しつつ、不正なデータか否かを把握することが可能となる。
As described above, the
また、実施形態のSE40では、取得部412は、センサモジュール34から制御チップ32に対して出力された、サーバ装置10に送信する送信データを取得する。これにより、実施形態のSE40は、センサモジュール34から出力されたデータの正当性を検証し、検証した結果を出力することができる。このため、制御チップ32は、センサモジュール34から出力されたデータについて、正当性が検証されたデータを、サーバ装置10に対して送信することができ、サーバ装置10が不正なデータが送信されることを抑制することが可能となる。
Further, in SE40 of the embodiment, the
また、実施形態の端末装置30は、通信ネットワーク20を介してサーバ装置10と通信する端末装置30であって、制御チップ32と、制御チップ32からの指示に基づいて、制御チップ32との間で通信を行うセンサモジュール34と、上述のSE40と、を備え、制御チップ32は、端末装置30により受信された受信データを取得する取得部325と、受信データに基づいて、受信データの送信先を判定し、送信先がセンサモジュール34である場合、SE40に受信データの正当性を検証させ、その検証結果に基づいて、受信データが正当であると判定される場合、受信データをセンサモジュール34に転送するデータ処理部326と、を有する。これにより、実施形態の端末装置30は、サーバ装置10から受信したデータのうち、送信先が制御チップ32ではないデータについて、そのデータが正当であると判定された場合に、データをセンサモジュール34に転送することができる。このため、端末装置30は、不正なデータか否かを把握することが可能となる。また、制御チップ32は、SE40にデータの正当性を検証させることができ、且つ、データの内容を解釈することなくセンサモジュール34に転送することができるため、制御チップの処理負担を軽減させることが可能となる。
Further, the
また、実施形態のサーバ装置10は、通信ネットワーク20を介して端末装置30と通信するサーバ装置10であって、端末装置30に対して送信するデータに、端末装置30の制御チップ32に対して送信するデータか否かを示す送信先情報、及び認証コード(「データに基づいて導出される所定の符号」の一例)を含めて送信する。これにより、実施形態のサーバ装置10は、端末装置30に対して送信したデータの送信先が制御チップ32なのか否かを、端末装置30に通知することができる。このため、端末装置30は、送信先に応じた対応をすることができる。例えば、端末装置30は、送信先の機能部にデータの解釈を行わせることで、制御チップ32が全てのデータの解釈を行う場合よりも、端末装置30の機能を実現させるための処理を分散させることができ、制御チップ32の処理を低減させることが可能となる。また、データの送信先に応じて、データの正当性を検証することができるため、不正なデータが入力されることで攻撃を受け得る機能部には、正当と判定されたデータのみを出力することができ、不正なデータか否かを把握することが可能となる。
Further, the
なお、本発明におけるSE40、端末装置30、サーバ装置10の全部又は一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませて実行することにより処理を行なってもよい。
なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
A program for realizing all or part of the functions of the
It should be noted that the "computer system" referred to here includes hardware such as an OS and peripheral devices.
Also, the "computer system" includes a WWW system provided with a home page providing environment (or display environment). The term "computer-readable recording medium" refers to portable media such as flexible discs, magneto-optical discs, ROMs and CD-ROMs, and storage devices such as hard discs incorporated in computer systems. In addition, "computer-readable recording medium" means a volatile memory (RAM) inside a computer system that acts as a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. , includes those that hold the program for a certain period of time.
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。 Further, the above program may be transmitted from a computer system storing this program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in a transmission medium. Here, the "transmission medium" for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. Further, the program may be for realizing part of the functions described above. Further, it may be a so-called difference file (difference program) that can realize the above-described functions in combination with a program already recorded in the computer system.
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。 While several embodiments of the invention have been described, these embodiments have been presented by way of example and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and modifications can be made without departing from the scope of the invention. These embodiments and their modifications are included in the scope and spirit of the invention, as well as the scope of the invention described in the claims and equivalents thereof.
1…処理システム、10…サーバ装置、12…サーバ制御部、20…通信ネットワーク、30…端末装置、325…取得部、326…データ処理部、323…通信情報記憶部、40…SE、412…取得部、413…検証部。
DESCRIPTION OF
Claims (5)
マスタチップと、
前記マスタチップからの指示に基づいて、前記マスタチップとの間で通信を行うスレーブチップと、
セキュアエレメントと、を備え、
前記マスタチップは、
前記端末装置により受信された受信データを取得する第1の取得部と
前記受信データに基づいて、前記受信データの送信先を判定し、前記送信先が前記スレーブチップである場合、前記セキュアエレメントに前記受信データの正当性を検証させ、その検証結果に基づいて、前記受信データが正当であると判定される場合、前記受信データを前記スレーブチップに転送するデータ処理部と、を有し、
前記セキュアエレメントは、
前記マスタチップから前記受信データを取得する第2の取得部と、
前記第2の取得部により取得された前記受信データの正当性を検証し、前記受信データが正当か否かを示す検証結果を前記マスタチップに出力する検証部と、を有する
ことを特徴とする端末装置。 A terminal device that communicates with a server device via a communication network,
a master chip;
a slave chip that communicates with the master chip based on instructions from the master chip;
a secure element;
The master chip is
a first acquisition unit for acquiring reception data received by the terminal device; determining a transmission destination of the reception data based on the reception data; a data processing unit that verifies the validity of the received data and transfers the received data to the slave chip when the received data is determined to be valid based on the verification result;
The secure element is
a second acquisition unit that acquires the received data from the master chip;
a verification unit that verifies validity of the received data acquired by the second acquisition unit and outputs a verification result indicating whether or not the received data is valid to the master chip. Terminal equipment.
ことを特徴とする請求項1に記載の端末装置。 The terminal device according to claim 1 , wherein the data processing unit causes the secure element to determine whether the received data is valid based on an authentication code included in the received data.
前記データ処理部は、前記サーバ装置から取得した認証コードに基づいて、前記受信データが正当であるか否かを前記セキュアエレメントに判定させ、認証コードが正当であると判定された場合、前記送信データを前記サーバ装置に送信する
ことを特徴とする請求項1又は請求項2に記載の端末装置。 the first acquiring unit acquires an authentication code from the server device when acquiring transmission data output from the slave chip to the master chip and to be transmitted to the server device;
The data processing unit causes the secure element to determine whether the received data is valid based on the authentication code acquired from the server device, and if the authentication code is determined to be valid, the transmission 3. The terminal device according to claim 1 , wherein data is transmitted to said server device.
前記データ処理部は、前記一連のデータの最初の前記データブロックである先頭ブロックに含まれる認証コードに基づいて、前記先頭ブロックが正当であるか否かを前記セキュアエレメントに判定させ、前記先頭ブロックが正当であると判定された場合、前記一連のデータのうち、前記先頭ブロックではない前記データブロックを、前記セキュアエレメントにその正当性を検証させることなく、前記スレーブチップに転送する
ことを特徴とする請求項1から請求項3のいずれか一項に記載の端末装置。 The first acquisition unit sequentially acquires data blocks obtained by dividing a series of data from the server device,
The data processing unit causes the secure element to determine whether or not the leading block is valid based on an authentication code included in the leading block, which is the first data block of the series of data. is determined to be valid, of the series of data, the data block other than the leading block is transferred to the slave chip without having the secure element verify the validity thereof. The terminal device according to any one of claims 1 to 3 .
前記マスタチップの第1の取得部が、前記端末装置により受信された受信データを取得する工程と、
前記マスタチップのデータ処理部が、前記受信データに基づいて、前記受信データの送信先を判定し、前記送信先が前記スレーブチップである場合、前記セキュアエレメントに前記受信データの正当性を検証させ、その検証結果に基づいて、前記受信データが正当であると判定される場合、前記受信データを前記スレーブチップに転送する工程と、
前記セキュアエレメントの第2の取得部が、前記マスタチップから前記受信データを取得する工程と、
前記セキュアエレメントの検証部が、前記第2の取得部により取得された前記受信データの正当性を検証し、前記受信データが正当か否かを示す検証結果を前記マスタチップに出力する工程と、
を有する検証方法。 A terminal device that communicates with a server device via a communication network, the terminal device comprising a master chip, a slave chip that communicates with the master chip based on instructions from the master chip, and a secure element. A verification method for performing
a step in which a first acquisition unit of the master chip acquires reception data received by the terminal device;
The data processing unit of the master chip determines a transmission destination of the reception data based on the reception data, and causes the secure element to verify the validity of the reception data when the transmission destination is the slave chip. transferring the received data to the slave chip if the received data is determined to be valid based on the verification result;
a second acquisition unit of the secure element acquiring the received data from the master chip;
a verification unit of the secure element verifying the validity of the received data acquired by the second acquisition unit, and outputting a verification result indicating whether or not the received data is valid to the master chip;
A verification method with
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017225064A JP7106845B2 (en) | 2017-11-22 | 2017-11-22 | Terminal device and verification method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017225064A JP7106845B2 (en) | 2017-11-22 | 2017-11-22 | Terminal device and verification method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019096069A JP2019096069A (en) | 2019-06-20 |
JP7106845B2 true JP7106845B2 (en) | 2022-07-27 |
Family
ID=66971791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017225064A Active JP7106845B2 (en) | 2017-11-22 | 2017-11-22 | Terminal device and verification method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7106845B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017017616A (en) | 2015-07-03 | 2017-01-19 | Kddi株式会社 | Software distribution processing unit, vehicle, software distribution processing method and computer program |
JP2017120984A (en) | 2015-12-28 | 2017-07-06 | Kddi株式会社 | On-vehicle computer system, vehicle, management method and computer program |
-
2017
- 2017-11-22 JP JP2017225064A patent/JP7106845B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017017616A (en) | 2015-07-03 | 2017-01-19 | Kddi株式会社 | Software distribution processing unit, vehicle, software distribution processing method and computer program |
JP2017120984A (en) | 2015-12-28 | 2017-07-06 | Kddi株式会社 | On-vehicle computer system, vehicle, management method and computer program |
Also Published As
Publication number | Publication date |
---|---|
JP2019096069A (en) | 2019-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9509502B2 (en) | Symmetric keying and chain of trust | |
US9768951B2 (en) | Symmetric keying and chain of trust | |
US9521125B2 (en) | Pseudonymous remote attestation utilizing a chain-of-trust | |
JP5521764B2 (en) | Information processing apparatus, authentication system, authentication method, authentication program, and recording medium | |
KR20110020800A (en) | Integrated circuit with secured software image and method therefor | |
US20070136820A1 (en) | Server apparatus, client apparatus, control method therefor, and computer program | |
WO2007003078A1 (en) | A method for implementing encryption and the device thereof | |
US20170265081A1 (en) | Wireless communication device, wireless communication method, and computer readable storage medium | |
KR102643372B1 (en) | Electronic device for performing discovery device and method thereof | |
US10970016B2 (en) | Image processing system, method for image processing, and image forming apparatus that are provided with security function of image | |
JP5905087B2 (en) | Application program execution device | |
US10389913B2 (en) | Information management control apparatus, image processing apparatus, and information management control system | |
JP6192495B2 (en) | Semiconductor device, information terminal, semiconductor element control method, and information terminal control method | |
WO2016081404A1 (en) | Symmetric keying and chain of trust | |
JP7106845B2 (en) | Terminal device and verification method | |
EP2650816B1 (en) | User authentication | |
EP4044500B1 (en) | Electronic device for ensuring integrity of electronic device intrinsic information, and operating method therefor | |
EP3866033A1 (en) | Information processing device and information processing system | |
JP6992440B2 (en) | Secure elements, terminals, verification systems, verification methods, and programs | |
EP3220622B1 (en) | Image processing apparatus, image processing method and computer program product | |
JP2016174326A (en) | Information processing device, information processing program, and information processing system | |
CN105323287B (en) | Third-party application program login method and system | |
CN210515296U (en) | Data security processing device, system, hardware encryption device and portable device | |
CN110784308B (en) | Information processing method, information processing system, and communication apparatus | |
CN109671229B (en) | Cash register and safety verification method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201021 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210721 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210831 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211027 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220405 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220601 |
|
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: 20220614 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220627 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7106845 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |