JP6992440B2 - Secure elements, terminals, verification systems, verification methods, and programs - Google Patents

Secure elements, terminals, verification systems, verification methods, and programs Download PDF

Info

Publication number
JP6992440B2
JP6992440B2 JP2017225063A JP2017225063A JP6992440B2 JP 6992440 B2 JP6992440 B2 JP 6992440B2 JP 2017225063 A JP2017225063 A JP 2017225063A JP 2017225063 A JP2017225063 A JP 2017225063A JP 6992440 B2 JP6992440 B2 JP 6992440B2
Authority
JP
Japan
Prior art keywords
data
verification
notification data
terminal device
external 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.)
Active
Application number
JP2017225063A
Other languages
Japanese (ja)
Other versions
JP2019097034A (en
Inventor
寛之 丹
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.)
Toppan Inc
Original Assignee
Toppan Inc
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 Toppan Inc filed Critical Toppan Inc
Priority to JP2017225063A priority Critical patent/JP6992440B2/en
Publication of JP2019097034A publication Critical patent/JP2019097034A/en
Application granted granted Critical
Publication of JP6992440B2 publication Critical patent/JP6992440B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、セキュアエレメント、端末装置、検証システム、検証方法、及びプログラムに関する。 The present invention relates to secure elements, terminal devices, verification systems, verification methods, and programs.

近年、センサなどを様々な場所に設置して、それぞれの場所の環境データや撮像データを取得するシステムが普及している。このようなシステムでは、端末装置からサーバ装置に対してデータが送信され、サーバ装置から端末装置に対して制御データが送信される。これらのデータの送受信がネットワークを介して行われる場合、悪意ある攻撃者がサーバ装置になりすまして端末装置からのセンシングデータを不正に取得したり、端末装置に対して不正な制御データを送信したりすることが起こり得る。このような不正を抑制するため、受信したデータを端末装置が検証する技術が開示されている(例えば、特許文献1)。 In recent years, a system in which sensors and the like are installed in various places to acquire environmental data and imaging data in each place has become widespread. In such a system, data is transmitted from the terminal device to the server device, and control data is transmitted from the server device to the terminal device. When these data are sent and received via the network, a malicious attacker impersonates the server device to illegally acquire the sensing data from the terminal device or send illegal control data to the terminal device. Can happen. In order to suppress such fraud, a technique for verifying received data by a terminal device is disclosed (for example, Patent Document 1).

特許第6183629号公報Japanese Patent No. 6183629

しかしながら、このようなシステムでは、端末装置のCPU(Central Processing Unit)は主にセンサを制御することを想定して設計されており、受信データを検証する処理能力を備えていない場合がほとんどである。このような場合に、端末装置に受信データを検証させようとすると、端末装置のCPUを高い処理能力を有するものにして設計し直したり、メモリを増設したりする必要があり端末装置の設計コストや装置コストが増大してしまう。 However, in such a system, the CPU (Central Processing Unit) of the terminal device is designed mainly for controlling the sensor, and in most cases, it does not have the processing ability to verify the received data. .. In such a case, if the terminal device is to verify the received data, it is necessary to redesign the CPU of the terminal device to have a high processing capacity or to increase the memory, which is the design cost of the terminal device. And the equipment cost will increase.

本発明は、このような状況に鑑みてなされたもので、その目的は、端末装置の設計コストや装置コストを抑制しつつ安全性を向上させることができるセキュアエレメント、端末装置、検証システム、検証方法、及びプログラムを提供することにある。 The present invention has been made in view of such a situation, and an object thereof is a secure element, a terminal device, a verification system, and a verification capable of improving safety while suppressing the design cost and device cost of the terminal device. To provide methods and programs.

上述した課題を解決するために、本発明の一態様は、外部装置と相互に通信可能な端末装置が備える通信モジュールと制御チップに接続可能なセキュアエレメントであって、前記外部装置から前記端末装置に通知され、前記通信モジュールから前記制御チップに対して通知する通知データを取得する取得部と、前記取得部により取得された前記通知データの正当性を検証する検証部と、前記検証部により検証された検証結果に基づいて、前記通知データが正当であると判定される場合には前記通知データを前記制御チップに対して出力し、前記通知データが正当でないと判定される場合には前記通知データを破棄するデータ処理部とを有し、前記検証部は、前記通知データに前記外部装置からの相互認証の要求を示すデータが含まれる場合、前記外部装置と相互認証を行い、前記相互認証の認証結果により前記外部装置が正当であると判定した場合、前記正当であると判定した前記外部装置から送信された前記通知データの正当性を検証することなく、前記制御チップに出力することを特徴とする。 In order to solve the above-mentioned problems, one aspect of the present invention is a secure element that can be connected to a communication module and a control chip included in a terminal device that can communicate with an external device, from the external device to the terminal device . The acquisition unit that acquires the notification data notified from the communication module to the control chip , the verification unit that verifies the validity of the notification data acquired by the acquisition unit, and the verification unit. If the notification data is determined to be valid, the notification data is output to the control chip , and if the notification data is determined to be invalid, the notification is output. It has a data processing unit that discards data, and when the notification data contains data indicating a request for mutual authentication from the external device, the verification unit performs mutual authentication with the external device and performs mutual authentication. When it is determined that the external device is valid based on the authentication result of the above, the notification data transmitted from the external device determined to be valid is output to the control chip without verifying the validity. It is a feature.

本発明によれば、端末装置の設計コストや装置コストを抑制しつつ安全性を向上させることができる。 According to the present invention, it is possible to improve the safety while suppressing the design cost and the device cost of the terminal device.

第1の実施形態の検証システム1の構成例を示すシステム構成図である。It is a system configuration diagram which shows the configuration example of the verification system 1 of 1st Embodiment. 第1の実施形態のセキュアエレメント40の構成例を示すプロック図である。It is a block diagram which shows the structural example of the secure element 40 of 1st Embodiment. 第1の実施形態のセキュアエレメント40のレイヤ構成例を示す図である。It is a figure which shows the layer composition example of the secure element 40 of 1st Embodiment. 第1の実施形態のSE40の動作例を示すフローチャートである。It is a flowchart which shows the operation example of SE40 of 1st Embodiment. 第1の実施形態のSE40の受信データ取得処理の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the received data acquisition processing of SE40 of 1st Embodiment. 第1の実施形態のSE40の受信データ検証処理の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the reception data verification processing of SE40 of 1st Embodiment. 第1の実施形態のSE40の受信データ処理の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the received data processing of SE40 of 1st Embodiment. 第1の実施形態の検証システム1の動作例を示すシーケンスチャートである。It is a sequence chart which shows the operation example of the verification system 1 of 1st Embodiment. 第1の実施形態の検証システム1の比較例として検証機能を有しないシステムの動作例を示すシーケンスチャートである。As a comparative example of the verification system 1 of the first embodiment, it is a sequence chart which shows the operation example of the system which does not have a verification function. 第2の実施形態のSE40Aの機能構成例を示すプロック図である。It is a block diagram which shows the functional composition example of SE40A of the 2nd Embodiment. 第2の実施形態のSE40Aの動作例を示すフローチャートである。It is a flowchart which shows the operation example of SE40A of 2nd Embodiment. 第2の実施形態のSE40Aの相互認証の処理の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the process of mutual authentication of SE40A of 2nd Embodiment. 第2の実施形態の検証システム1Aの動作例を示すシーケンスチャートである。It is a sequence chart which shows the operation example of the verification system 1A of the 2nd Embodiment. 第2の実施形態の検証システム1Aの検証を再開させる動作例を示すシーケンスチャートである。It is a sequence chart which shows the operation example which restarts the verification of the verification system 1A of the 2nd Embodiment.

以下、実施形態のセキュアエレメント、端末装置、検証システム、検証方法、及びプログラムを、図面を参照して説明する。 Hereinafter, the secure element, the terminal device, the verification system, the verification method, and the program of the embodiment will be described with reference to the drawings.

<第1の実施形態>
まず、第1の実施形態について説明する。
<First Embodiment>
First, the first embodiment will be described.

図1は、第1の実施形態の検証システム1の構成例を示すシステム構成図である。検証システム1は、例えば、サーバ装置10と端末装置30とを備える。サーバ装置10と端末装置30とは、通信ネットワーク20を介して互いに通信可能に接続される。端末装置30には検証機能を有するICチップ(以下、SE(セキュアエレメント、Secure Element)という)SE40が接続される。検証システム1では、端末装置30が送受信するデータの正当性をSE40により検証させることで、悪意ある不正なデータを排除し端末装置30の安全性を維持する。なお、SE40は、SE40が組み込まれたICカードと端末装置30とが着脱可能に接続されることにより、端末装置30と接続されていてもよい。ここで、サーバ装置10は、「外部装置」の一例である。 FIG. 1 is a system configuration diagram showing a configuration example of the verification system 1 of the first embodiment. The verification system 1 includes, for example, a server device 10 and a terminal device 30. The server device 10 and the terminal device 30 are connected to each other so as to be able to communicate with each other via the communication network 20. An IC chip (hereinafter referred to as SE (Secure Element)) SE40 having a verification function is connected to the terminal device 30. In the verification system 1, the legitimacy of the data transmitted / received by the terminal device 30 is verified by the SE 40, thereby eliminating malicious and unauthorized data and maintaining the safety of the terminal device 30. The SE 40 may be connected to the terminal device 30 by detachably connecting the IC card in which the SE 40 is incorporated and the terminal device 30. Here, the server device 10 is an example of an "external device".

サーバ装置10は、端末装置30から送信されたデータを蓄積する。サーバ装置10は、蓄積したデータに基づいて様々なサービスをユーザに提供する。また、サーバ装置10は、端末装置30に対して端末装置30の各機能部を制御する制御データを送信する。
サーバ装置10は単数あるいは複数のクラウドサーバであってもよい。サーバ装置10が複数のクラウドサーバである場合、例えば、サーバ装置10はネットワーク上に設けられた複数のクラウドサーバを互いに連携させることにより実現される。
The server device 10 stores the data transmitted from the terminal device 30. The server device 10 provides various services to the user based on the accumulated data. Further, the server device 10 transmits control data for controlling each functional unit of the terminal device 30 to the terminal device 30.
The server device 10 may be a single or a plurality of cloud servers. When the server device 10 is a plurality of cloud servers, for example, the server device 10 is realized by linking a plurality of cloud servers provided on the network with each other.

端末装置30は、通信ネットワーク20を介してデータを送信するIoT(Internet of Things)機器である。端末装置30は、例えば端末装置30が設けられた場所の周囲の映像を撮像してサーバ装置10に撮像データを送信するネットワークカメラである。
以下の説明において、端末装置30がネットワークカメラである場合を例示して説明するが、これに限定されることはない。端末装置30は、端末装置30が設けられた場所の温度や湿度などの環境データを取得するネットワークセンサであってもよいし、今いる場所の位置データを通知する携帯端末等であってもよい。端末装置30は、ネットワークを介してエアコンなどの電化製品の稼働の状況をユーザに通知したり、ユーザの操作により電化製品を起動又は停止させたりするスマート家電等であってもよい。
The terminal device 30 is an IoT (Internet of Things) device that transmits data via the communication network 20. The terminal device 30 is, for example, a network camera that captures an image of the surroundings of a place where the terminal device 30 is provided and transmits the captured data to the server device 10.
In the following description, the case where the terminal device 30 is a network camera will be described as an example, but the present invention is not limited thereto. The terminal device 30 may be a network sensor that acquires environmental data such as temperature and humidity at the place where the terminal device 30 is provided, or may be a mobile terminal or the like that notifies the position data of the current place. .. The terminal device 30 may be a smart home appliance or the like that notifies the user of the operating status of an electric appliance such as an air conditioner via a network, or starts or stops the electric appliance by the user's operation.

端末装置30は、例えば通信モジュール31と制御チップ32とセンサモジュール34(センサモジュール34-1、34-2、…34-N)(但し、Nは任意の自然数)とを備える。制御チップ32とセンサモジュール34の各々との間は、例えばシリアル通信によりデータの授受が行われる。シリアル通信には、例えばUART(Universal Asynchronous Receiver/Transmitter)、SPI(Serial Peripheral Interface)、I2C(I-squared-C、Inter-Integrated Circuit)等が用いられる。 The terminal device 30 includes, for example, a communication module 31, a control chip 32, and a sensor module 34 (sensor modules 34-1, 34-2, ... 34-N) (where N is an arbitrary natural number). Data is exchanged between the control chip 32 and each of the sensor modules 34, for example, by serial communication. For serial communication, for example, UART (Universal Asynchronous Receiver / Transmitter), SPI (Serial Peripheral Interface), I2C (I-squared-C, Inter-Integrated Circuit) and the like are used.

通信モジュール31は、例えばネットワーク通信モジュールである。
通信モジュール31は、サーバ装置10、その他の通信装置により端末装置30に対して送信されたデータを、通信ネットワーク20を介して受信する。通信モジュール31は、受信したデータを、SE40に出力する。
また、通信モジュール31は、センサモジュール34により検知されたセンシングデータを、制御チップ32を介して取得し、取得したセンシングデータをサーバ装置10に送信する。
The communication module 31 is, for example, a network communication module.
The communication module 31 receives data transmitted to the terminal device 30 by the server device 10 and other communication devices via the communication network 20. The communication module 31 outputs the received data to the SE 40.
Further, the communication module 31 acquires the sensing data detected by the sensor module 34 via the control chip 32, and transmits the acquired sensing data to the server device 10.

制御チップ32は、センサモジュール34を制御する。
制御チップ32は、SE40から、検証済みの正当なデータを取得する。制御チップ32は、SE40から取得したデータに基づいて、複数のセンサモジュール34のうち何れのセンサモジュール34でセンシングさせるか、あるいは何れの時間間隔によりセンシングさせるか等を制御する。
また、制御チップ32は、センサモジュール34の各々により検知されたセンシングデータを、センサモジュール34の各々から取得する。制御チップ32は取得したセンシングデータを、通信モジュール31を介してサーバ装置10に送信する。
The control chip 32 controls the sensor module 34.
The control chip 32 acquires verified valid data from the SE 40. The control chip 32 controls which of the plurality of sensor modules 34 the sensor module 34 is to be sensed, or which time interval is used for sensing, etc., based on the data acquired from the SE 40.
Further, the control chip 32 acquires the sensing data detected by each of the sensor modules 34 from each of the sensor modules 34. The control chip 32 transmits the acquired sensing data to the server device 10 via the communication module 31.

センサモジュール34は、例えば撮像機能を備えた撮像モジュールである。この場合、センサモジュール34は、周囲の光景を撮像し、撮像データを制御チップに出力する。また、センサモジュール34は、温度や湿度を検知する環境センサであってもよい。この場合、センサモジュール34は、周囲の温度や湿度を取得し、取得したデータを制御チップに出力する。
また、センサモジュール34は周囲の状況を取得するだけでなく、周囲に対し出力する機能を備えていてもよい。センサモジュール34は例えば、画像を表示するディスプレイ、音を出力するスピーカ等であってもよい。また、端末装置30がスマート家電である場合には、センサモジュール34は、制御チップ32の指示により家電を起動又は停止させたり、あるいは稼働状況を変更させたりする信号を出力してもよい。
The sensor module 34 is, for example, an image pickup module having an image pickup function. In this case, the sensor module 34 captures an image of the surrounding scene and outputs the captured data to the control chip. Further, the sensor module 34 may be an environment sensor that detects temperature and humidity. In this case, the sensor module 34 acquires the ambient temperature and humidity, and outputs the acquired data to the control chip.
Further, the sensor module 34 may have a function of not only acquiring the surrounding situation but also outputting to the surroundings. The sensor module 34 may be, for example, a display for displaying an image, a speaker for outputting sound, or the like. When the terminal device 30 is a smart home appliance, the sensor module 34 may output a signal for starting or stopping the home appliance or changing the operating status according to the instruction of the control chip 32.

SE40は、例えば、検証機能又は暗号化機能を備える検証チップである。SE40は、例えば、セキュアICチップ、セキュアチップ、セキュアIC等と称される。SE40は、外部からの悪意ある攻撃から情報を守る堅牢な構造を持ち耐タンパ性を備えてもよい。ただし、SE40は、検証機能又は暗号化機能を有していればよく、耐タンパ性を備えたセキュアICチップに限定されることはない。例えば、SE40は、暗号ライブラリを備えたICチップであってもよい。
また、SE40は、例えばプラスチック等のカード機材に、SE40が実装されたICカード、又はSIMカード(Subscriber Identity Module Card)であってもよい。この場合、SE40は、ICカード、又はSIMカードのコンタクト部を介して端末装置30と通信を行う。コンタクト部は、ICカード又はSIMカードが動作するために必要な各種信号の端子を有している。各種信号の端子は、端末装置30から電源電圧、クロック信号、リセット信号の供給を受ける端子、及び端末装置30と通信を行うシリアルデ―タ入出力端子である。
The SE40 is, for example, a verification chip having a verification function or an encryption function. The SE40 is referred to as, for example, a secure IC chip, a secure chip, a secure IC, or the like. The SE40 may have a robust structure that protects information from malicious attacks from the outside and may have tamper resistance. However, the SE40 may have a verification function or an encryption function, and is not limited to a secure IC chip having tamper resistance. For example, the SE40 may be an IC chip with a cryptographic library.
Further, the SE40 may be an IC card or a SIM card (Subscriber Identity Module Card) in which the SE40 is mounted on a card device such as plastic. In this case, the SE 40 communicates with the terminal device 30 via the contact portion of the IC card or the SIM card. The contact unit has terminals for various signals necessary for the IC card or SIM card to operate. The terminals of various signals are terminals that receive power supply voltage, clock signal, and reset signal from the terminal device 30, and serial data input / output terminals that communicate with the terminal device 30.

図2は、第1の実施形態のSE40の構成例を示すプロック図である。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. 2 is a block diagram showing a configuration example of SE40 according to the first embodiment. The SE 40 includes a communication unit 400, a control unit 410, and a storage unit 420. Each part shown in FIG. 2 is realized by using the hardware of SE40.
The hardware of the SE40 includes, for example, a UART (Universal Asynchronous Receiver Transmitter), a CPU, a ROM (Read Only Memory), a RAM (Random Access Memory), and an EEPROM (Electrically Erasable Programmable ROM). It is connected via an internal bus.

通信部400は、例えば、UARTと、CPUと、ROMに記憶されているプログラムとにより実現され、端末装置30の間で通信を行う。通信部400は、コマンドを端末装置30から受信するとともに、コマンドに対するレスポンスを端末装置30に送信する。通信部400は、端末装置30から受信した受信データを記憶部420に記憶させる。また、通信部400は、記憶部420に記憶されている送信データを、端末装置30に送信する。 The communication unit 400 is realized by, for example, a UART, a CPU, and a program stored in a ROM, and communicates between the terminal device 30. The communication unit 400 receives the command from the terminal device 30, and also transmits the response to the command to the terminal device 30. The communication unit 400 stores the received data received from the terminal device 30 in the storage unit 420. Further, the communication unit 400 transmits the transmission data stored in the storage unit 420 to the terminal device 30.

制御部410は、例えば、CPUと、RAMと、ROM又はEEPROMとにより実現され、SE40を統括的に制御する。制御部410は、コマンド処理部411と、取得部412と、検証部413と、データ処理部414とを備える。
コマンド処理部411は、端末装置30の受信データに含まれるコマンドを解釈し、SE40における種々の処理に対応する各部の制御を行う。
取得部412は端末装置30の受信データを取得する。取得部412は取得した受信データを検証部413に出力する。
The control unit 410 is realized by, for example, a CPU, a RAM, and a ROM or EEPROM, and controls the SE40 in an integrated manner. The control unit 410 includes a command processing unit 411, an acquisition unit 412, a verification unit 413, and a data processing unit 414.
The command processing unit 411 interprets the command included in the received data of the terminal device 30, and controls each unit corresponding to various processing in the SE 40.
The acquisition unit 412 acquires the received data of the terminal device 30. The acquisition unit 412 outputs the acquired received data to the verification unit 413.

検証部413は、受信データの正当性を検証する。検証部413は、サーバ装置10から端末装置30に対して送信されたデータが、端末装置30により受信されるまでに改ざんされていない場合に受信データが正当であると判定する。検証部413は、端末装置30により受信されたデータが、サーバ装置10等の通信先として想定された装置からのデータである場合に受信データが正当であると判定する。
検証部413は、例えば一方向性のハッシュ関数(MD5、SHA1、SHA2等)や、共通鍵、公開鍵等の暗号鍵などを用いて受信データの正当性を検証する。検証部413は、受信データの正当性を検証した検証結果をデータ処理部414に出力する。
なお、検証部413は、受信データの正当性を検証すればよく、上述したハッシュ関数の他、電子署名、及びメッセージ認証などを算出することにより受信データの正当性を検証してもよい。検証部413が電子署名、及びメッセージ認証を用いて受信データの正当性を検証する場合、検証部413は、受信データから電子署名、及びメッセージ認証を算出し、算出した値と、端末装置30により付加(付随)される電子署名、及びメッセージ認証に相当する値とを、比較、検証することにより、受信データが正当であるか否かを検証する。
データ処理部414は、検証部413の検証結果に基づいて受信データを処理する。データ処理部414は、受信データが正当であると判定された場合には受信データを制御チップ32に出力する。受信データが正当でないと判定された場合には受信データを破棄する。
The verification unit 413 verifies the validity of the received data. The verification unit 413 determines that the received data is valid when the data transmitted from the server device 10 to the terminal device 30 has not been tampered with by the time the data is received by the terminal device 30. The verification unit 413 determines that the received data is valid when the data received by the terminal device 30 is data from a device assumed as a communication destination such as the server device 10.
The verification unit 413 verifies the validity of the received data by using, for example, a unidirectional hash function (MD5, SHA1, SHA2, etc.), a common key, an encryption key such as a public key, or the like. The verification unit 413 outputs the verification result of verifying the validity of the received data to the data processing unit 414.
The verification unit 413 may verify the validity of the received data, and may verify the validity of the received data by calculating the electronic signature, message authentication, and the like in addition to the hash function described above. When the verification unit 413 verifies the validity of the received data by using the electronic signature and the message authentication, the verification unit 413 calculates the electronic signature and the message authentication from the received data, and the calculated value and the terminal device 30 are used. By comparing and verifying the added (accompanying) electronic signature and the value corresponding to the message authentication, it is verified whether or not the received data is valid.
The data processing unit 414 processes the received data based on the verification result of the verification unit 413. The data processing unit 414 outputs the received data to the control chip 32 when it is determined that the received data is valid. If it is determined that the received data is not valid, the received data is discarded.

記憶部420は、例えば、EEPROMにより構成された記憶部であり、制御部410が動作するための基本のプログラムを記憶する。記憶部420は、検証の処理に必要な各種のプログラムを記憶する。記憶部420は、制御部410が動作するために一時的に使用するワークエリアとしての記憶領域を備える。記憶部420は、受信データ記憶部421と、検証情報記憶部422と、送信データ記憶部423とを備える。受信データ記憶部421は、SE40により受信されたデータを記憶する。検証情報記憶部422は、ハッシュ値、共通鍵、公開鍵等の暗号鍵など検証の処理で用いる情報を記憶する。送信データ記憶部423は、SE40から送信されるデータが記憶される。 The storage unit 420 is, for example, a storage unit configured by EEPROM, and stores a basic program for operating the control unit 410. The storage unit 420 stores various programs required for the verification process. The storage unit 420 includes a storage area as a work area temporarily used for the control unit 410 to operate. The storage unit 420 includes a reception data storage unit 421, a verification information storage unit 422, and a transmission data storage unit 423. The received data storage unit 421 stores the data received by the SE 40. The verification information storage unit 422 stores information used in the verification process, such as a hash value, a common key, and an encryption key such as a public key. The transmission data storage unit 423 stores data transmitted from the SE 40.

図3は、第1の実施形態のSE40のレイヤ構成例を示す図である。図3に示すように、SE40は、アプリケーションレイヤ450と、ソフトウェア制御レイヤ460と、ハードウェア制御レイヤ470とに分類される。
アプリケーションレイヤ450には、SE40の検証機能部(取得部412、検証部413、及びデータ処理部414)に相当する通信データ検証アプリ451、SE40のその他の機能を実現する、その他のアプリ452が実装される。
ソフトウェア制御レイヤ460には、アプリケーションレイヤ450からハードウェア制御レイヤ470に実装されている機能を呼び出すための各種ライブラリ(暗号ライブラリ461、IOライブラリ462)と、アプリケーションレイヤ450に実装された各種アプリケーションを管理するための機能(アプリ管理463、及びその他のAPI464)が実装される。
ハードウェア制御レイヤ470には、ハードウェア回路として実装された暗号プロセッサ471や、SE40の記憶機能部(記憶部420)に相当する種々のプログラムが記憶される記憶領域を制御するメモリ制御472、その他の制御473が実装される。また、ハードウェア制御レイヤ470には、SE40の通信機能部(通信部400)に相当する外部との通信を担うインターフェース474が実装される。
検証システム1では、SE40は、インターフェース474を介したシリアル通信により、端末装置30の各部(通信モジュール31、制御チップ32)との間でデータを送受信する。
インターフェース474に受信されたデータは、アプリ管理463を介して通信データ検証アプリ451に出力される。
通信データ検証アプリ451は、暗号ライブラリ461等を用いて受信データのハッシュ値を算出することで受信データの正当性を検証する。通信データ検証アプリ451は、受信データが正当であると判定された場合、インターフェース474を介して制御チップ32に受信データを端末装置30に出力する。
FIG. 3 is a diagram showing a layer configuration example of SE40 of the first embodiment. As shown in FIG. 3, the SE 40 is classified into an application layer 450, a software control layer 460, and a hardware control layer 470.
The application layer 450 is equipped with a communication data verification application 451 corresponding to the verification function unit (acquisition unit 412, verification unit 413, and data processing unit 414) of the SE40, and another application 452 that realizes other functions of the SE40. Will be done.
The software control layer 460 manages various libraries (encryption library 461, IO library 462) for calling the functions implemented in the hardware control layer 470 from the application layer 450, and various applications implemented in the application layer 450. Functions for this (app management 463, and other API 464) are implemented.
The hardware control layer 470 includes a cryptographic processor 471 mounted as a hardware circuit, a memory control 472 that controls a storage area in which various programs corresponding to the storage function unit (storage unit 420) of the SE40 are stored, and the like. Control 473 is implemented. Further, the hardware control layer 470 is equipped with an interface 474 that corresponds to the communication function unit (communication unit 400) of the SE40 and is responsible for communication with the outside.
In the verification system 1, the SE 40 transmits / receives data to / from each part (communication module 31, control chip 32) of the terminal device 30 by serial communication via the interface 474.
The data received on the interface 474 is output to the communication data verification application 451 via the application management 463.
The communication data verification application 451 verifies the validity of the received data by calculating the hash value of the received data using the encryption library 461 or the like. When the communication data verification application 451 determines that the received data is valid, the communication data verification application 451 outputs the received data to the terminal device 30 via the interface 474 to the control chip 32.

ここで、SE40の動作について図4から図7を用いて説明する。
図4は、第1の実施形態のSE40の動作例を示すフローチャートである。
図4に示すように、まず、SE40は、取得部412により受信データを取得する受信データ取得処理を行う(ステップS110)。次に、SE40は、検証部413により受信データを検証する受信データ検証処理を行う(ステップS120)。そして、SE40は、データ処理部414により受信データを破棄又は出力する受信データ処理を行う(ステップS130)。以下、ステップS110、S120、S130の各処理について詳細を説明する。
Here, the operation of SE40 will be described with reference to FIGS. 4 to 7.
FIG. 4 is a flowchart showing an operation example of SE40 of the first embodiment.
As shown in FIG. 4, first, the SE 40 performs a received data acquisition process of acquiring received data by the acquisition unit 412 (step S110). Next, the SE 40 performs a reception data verification process for verifying the reception data by the verification unit 413 (step S120). Then, the SE 40 performs a received data process of discarding or outputting the received data by the data processing unit 414 (step S130). Hereinafter, each process of steps S110, S120, and S130 will be described in detail.

(ステップS110について)
図5は、第1の実施形態のSE40の受信データ取得処理の動作例を示すフローチャートである。
図5に示すように、取得部412は、受信データの受信を待機する(ステップS111)。受信データは、通信モジュール31により、通信部400を介して、受信データ記憶部421に書込まれる。
取得部412は、定期的に受信データ記憶部421を参照し、受信データ記憶部421に受信データが書き込まれたか否かを判定する(ステップS112)。
取得部412は、受信データ記憶部421に受信データが書き込まれた場合、検証部413に受信データを出力する(ステップS113)。
一方、取得部412は、受信データ記憶部421に受信データが書き込まれていない場合、ステップS111に戻り受信データの受信を待機する。
(About step S110)
FIG. 5 is a flowchart showing an operation example of the received data acquisition process of SE40 according to the first embodiment.
As shown in FIG. 5, the acquisition unit 412 waits for the reception of the received data (step S111). The received data is written to the received data storage unit 421 by the communication module 31 via the communication unit 400.
The acquisition unit 412 periodically refers to the received data storage unit 421 and determines whether or not the received data has been written to the received data storage unit 421 (step S112).
When the received data is written in the received data storage unit 421, the acquisition unit 412 outputs the received data to the verification unit 413 (step S113).
On the other hand, if the received data is not written in the received data storage unit 421, the acquisition unit 412 returns to step S111 and waits for the reception of the received data.

(ステップS120について)
図6は、第1の実施形態のSE40の受信データ検証処理の動作例を示すフローチャートである。
図6に示すように、検証部413は、取得部412により出力された受信データのハッシュ値を算出する(ステップS121)。受信データのハッシュ値は受信データの特徴を表す情報である。このため、受信データが改ざんされている場合、改ざんされた受信データのハッシュ値は、改ざんされていない正当な受信データのハッシュ値とは異なる情報となる。一方、検証情報記憶部422には、正当な受信データのハッシュ値が記憶されている。
検証部413は、算出したハッシュ値(算出結果)が検証情報記憶部422に記憶されたハッシュ値と一致するか否かを判定する(ステップS122)。
検証部413は、算出結果が検証情報記憶部422に記憶されたハッシュ値と一致する場合、受信データが正当であると判定する(ステップS123)。
一方、検証部413は、算出結果が検証情報記憶部422に記憶されたハッシュ値と一致しない場合、受信データが正当でないと判定する(ステップS124)。
検証部413は、受信データを判定結果とともにデータ処理部414に出力する(ステップS125)。
(About step S120)
FIG. 6 is a flowchart showing an operation example of the reception data verification process of SE40 of the first embodiment.
As shown in FIG. 6, the verification unit 413 calculates the hash value of the received data output by the acquisition unit 412 (step S121). The hash value of the received data is information representing the characteristics of the received data. Therefore, when the received data is falsified, the hash value of the falsified received data is different from the hash value of the legitimate received data that has not been falsified. On the other hand, the verification information storage unit 422 stores a hash value of legitimate received data.
The verification unit 413 determines whether or not the calculated hash value (calculation result) matches the hash value stored in the verification information storage unit 422 (step S122).
When the calculation result matches the hash value stored in the verification information storage unit 422, the verification unit 413 determines that the received data is valid (step S123).
On the other hand, if the calculation result does not match the hash value stored in the verification information storage unit 422, the verification unit 413 determines that the received data is not valid (step S124).
The verification unit 413 outputs the received data together with the determination result to the data processing unit 414 (step S125).

なお、データからハッシュ値を算出することができるが、ハッシュ値から元のデータを復元することはできない。つまり、検証情報記憶部422に記憶されたハッシュ値から、正当な受信データを得ることはできない。このため、検証情報記憶部422にハッシュ値が記憶されている場合でも、端末装置30は受信データを受信する必要がある。 Although the hash value can be calculated from the data, the original data cannot be restored from the hash value. That is, legitimate received data cannot be obtained from the hash value stored in the verification information storage unit 422. Therefore, even when the hash value is stored in the verification information storage unit 422, the terminal device 30 needs to receive the received data.

上述した図6のフローチャートでは、検証部413がハッシュ値を算出することにより受信データを検証する場合を例示して説明したが、これに限定されることはない。検証部413は、例えば、サーバ装置10と端末装置30とに共通する共通鍵を用いた共通鍵暗号方式(例えば、暗号アルゴリズム情報であるDESや、AES等を用いた暗号方式)、公開鍵暗号による証明書による検証等を行うことにより、受信データの正当性を検証するようにしてもよい。 In the flowchart of FIG. 6 described above, the case where the verification unit 413 verifies the received data by calculating the hash value has been described as an example, but the present invention is not limited to this. The verification unit 413 uses, for example, a common key cryptosystem using a common key common to the server device 10 and the terminal device 30 (for example, a cryptosystem using DES, which is encryption algorithm information, AES, etc.), and public key cryptography. The validity of the received data may be verified by performing verification with a certificate based on the above.

(ステップS130について)
図7は、第1の実施形態のSE40のデータ処理の動作例を示すフローチャートである。
図7に示すように、データ処理部414は、検証部413により出力された受信データが正当であるか否かを判定する(ステップS131)。データ処理部414は、検証部413により受信データとともに出力された判定結果に従い、判定結果が正当であることを示す場合に受信データが正当であると判定し、判定結果が正当でないことを示す場合に受信データが正当でないと判定する。
データ処理部414は、受信データが正当である場合、受信データを送信データ記憶部423に記憶させる(ステップS132)。
SE40の通信部400は、受信データを送信する命令(送信命令)を待機する(ステップS133)。送信命令は、制御チップ32により、通信部400を介して、コマンド処理部411に取得される。コマンド処理部411は、取得した送信命令に基づいて、通信部400に送信データ記憶部423に記憶された受信データを端末装置30に送信する指示を示す信号を出力する。
通信部400は、コマンド処理部411からの信号に基づいて、送信データ記憶部423に記憶された受信データを端末装置30に送信する(ステップS135)。
一方、ステップS131において、データ処理部414は、受信データが正当でない場合、受信データを破棄する(ステップS136)。
(About step S130)
FIG. 7 is a flowchart showing an operation example of data processing of SE40 according to the first embodiment.
As shown in FIG. 7, the data processing unit 414 determines whether or not the received data output by the verification unit 413 is valid (step S131). The data processing unit 414 determines that the received data is valid when it indicates that the determination result is valid according to the determination result output together with the received data by the verification unit 413, and indicates that the determination result is not valid. Judges that the received data is not valid.
When the received data is valid, the data processing unit 414 stores the received data in the transmission data storage unit 423 (step S132).
The communication unit 400 of the SE40 waits for an instruction (transmission instruction) to transmit received data (step S133). The transmission command is acquired by the control chip 32 to the command processing unit 411 via the communication unit 400. The command processing unit 411 outputs a signal indicating an instruction to transmit the received data stored in the transmission data storage unit 423 to the terminal device 30 in the communication unit 400 based on the acquired transmission command.
The communication unit 400 transmits the received data stored in the transmission data storage unit 423 to the terminal device 30 based on the signal from the command processing unit 411 (step S135).
On the other hand, in step S131, the data processing unit 414 discards the received data if the received data is not valid (step S136).

図8は、第1の実施形態の検証システム1の動作例を示すシーケンスチャートである。
図8に示すように、まず、端末装置30が起動する(ステップS201)。端末装置30は、サーバ装置10からの起動を命じる信号に基づいて、各部(通信モジュール31、制御チップ32、センサモジュール34、及びSE40)が起動する。
サーバ装置10は、端末装置30に送信するデータを生成する(ステップS202)。サーバ装置10は、生成したデータを、通信ネットワーク20の通信プロトコルに従って端末装置30に送信する(ステップS203)。
通信モジュール31は、サーバ装置10により送信されたデータを受信する(ステップS204)。通信モジュール31は、受信したデータからデータ領域を抽出し、抽出したデータを、シリアル通信の通信プロトコルに従ってSE40に出力する(ステップS205)。
FIG. 8 is a sequence chart showing an operation example of the verification system 1 of the first embodiment.
As shown in FIG. 8, first, the terminal device 30 is activated (step S201). In the terminal device 30, each unit (communication module 31, control chip 32, sensor module 34, and SE40) is activated based on a signal commanding activation from the server device 10.
The server device 10 generates data to be transmitted to the terminal device 30 (step S202). The server device 10 transmits the generated data to the terminal device 30 according to the communication protocol of the communication network 20 (step S203).
The communication module 31 receives the data transmitted by the server device 10 (step S204). The communication module 31 extracts a data area from the received data, and outputs the extracted data to the SE 40 according to the communication protocol of serial communication (step S205).

SE40は、通信モジュール31により送信されたデータを受信し、受信したデータの正当性を検証する(ステップS206)。SE40は、上述したステップS110、S120、及びS130の各々の処理を実行することにより、データの正当性を検証する。以下、ステップS207~S213までの各々では、データが正当であった場合の処理である。ステップS206において、データの正当性が確認できない場合はデータが破棄され、ステップS207~S213までの処理は実行されない。
SE40は、データの正当性が確認できた場合、データを制御チップ32に出力する(ステップS207)。
制御チップ32は、SE40から受け取ったデータの内容に基づいて、処理を実行する(ステップS208)。制御チップ32は、サーバ装置10に対して実行した処理の結果として通知する処理結果データを作成する。制御チップ32は、作成した処理結果データをSE40に出力する(ステップS209)。
The SE 40 receives the data transmitted by the communication module 31 and verifies the validity of the received data (step S206). The SE40 verifies the validity of the data by executing each of the processes of steps S110, S120, and S130 described above. Hereinafter, each of steps S207 to S213 is a process when the data is valid. If the validity of the data cannot be confirmed in step S206, the data is discarded and the processes of steps S207 to S213 are not executed.
When the validity of the data can be confirmed, the SE 40 outputs the data to the control chip 32 (step S207).
The control chip 32 executes the process based on the content of the data received from the SE 40 (step S208). The control chip 32 creates processing result data to be notified as a result of the processing executed to the server device 10. The control chip 32 outputs the created processing result data to the SE 40 (step S209).

SE40は、制御チップ32により送信された処理結果データを受信し、データの正当性を検証する(ステップS210)。SE40は、上述したステップS110、S120、及びS130の各々の処理を実行することにより、データの正当性を検証する。これにより、例えば、端末装置30のIDやパスワードを不正に入手した者により制御チップ32が作成した処理結果データが不正に書き換えられた場合であっても、不正な処理結果データがサーバ装置10に対して送信されてしまうことを抑制する。
SE40は、データの正当性が確認できた場合、処理結果データを通信モジュール31に出力する(ステップS211)。
通信モジュール31は、SE40により出力されたデータを受信する(ステップS212)。通信モジュール31は、受信したデータを、通信ネットワーク20の通信プロトコルに従ってサーバ装置10に送信する(ステップS213)。
The SE 40 receives the processing result data transmitted by the control chip 32 and verifies the validity of the data (step S210). The SE40 verifies the validity of the data by executing each of the processes of steps S110, S120, and S130 described above. As a result, for example, even if the processing result data created by the control chip 32 is illegally rewritten by a person who illegally obtains the ID and password of the terminal device 30, the illegal processing result data is transmitted to the server device 10. It suppresses the transmission.
When the validity of the data can be confirmed, the SE 40 outputs the processing result data to the communication module 31 (step S211).
The communication module 31 receives the data output by the SE 40 (step S212). The communication module 31 transmits the received data to the server device 10 according to the communication protocol of the communication network 20 (step S213).

以上説明したように、第1の実施形態のSE40は、相互に通信する通信モジュール31(第1機能部)と制御チップ32(第2機能部)との間に接続可能なSE40(セキュアエレメント)であって通信モジュール31から制御チップ32に対して通知する通知データを取得する取得部412と、取得部412により取得されたデータの正当性を検証する検証部413と、検証部413により検証された検証結果に基づいて、データが正当であると判定される場合にはデータを制御チップ32に対して出力し、データが正当でないと判定される場合にはデータを破棄するデータ処理部414とを有する。
これにより、第1の実施形態のSE40は、検証部413によりデータの正当性を検証し、正当であると判定したデータのみを制御チップ32に出力することができ、正当でないと判定したデータを破棄することができる。このため、第1の実施形態のSE40は、端末装置30の通信モジュール31と制御チップ32との間で正当でないデータが送受信されることを抑制することができ、端末装置30の安全性を向上させることができる。また、SE40によりデータの正当性が検証されることから、制御チップ32の処理負担が増大することがないため、制御チップ32の処理能力を高めるために高価なチップを用いる必要がない。つまり、端末装置30の装置コストを抑制させることができる。
また、第1の実施形態のSE40は、通信ネットワーク20を介してサーバ装置10と相互に通信可能な端末装置30の通信モジュール31と制御チップ32との間に接続可能なSE40であって、取得部412は、サーバ装置10から端末装置30に送信されたデータを取得する。これにより、第1の実施形態のSE40は、通信ネットワーク20を介して通知されたデータの正当性を検証することができるためデータがネットワーク上で改ざんされてしまった場合など、正当でないと判定したデータを破棄することができ、通信ネットワーク20を介して端末装置30に悪意ある攻撃が行われることを抑制し、その安全性を向上させることができる。
また、第1の実施形態のSE40では、検証部413は、受信データのハッシュ値を算出することにより受信データが正当であるか否かを判定する。これにより、検証部413は、算出したハッシュ値を、受信データが改ざんされていない正当な受信データのハッシュ値と比較するという簡単な方法で受信データの正当性を検証することができる。
As described above, the SE40 of the first embodiment is an SE40 (secure element) that can be connected between the communication module 31 (first functional unit) and the control chip 32 (second functional unit) that communicate with each other. This is verified by the acquisition unit 412 that acquires the notification data notified from the communication module 31 to the control chip 32, the verification unit 413 that verifies the validity of the data acquired by the acquisition unit 412, and the verification unit 413. Based on the verification result, if the data is determined to be valid, the data is output to the control chip 32, and if the data is determined to be invalid, the data is discarded with the data processing unit 414. Have.
As a result, the SE 40 of the first embodiment can verify the validity of the data by the verification unit 413 and output only the data determined to be valid to the control chip 32, and the data determined to be invalid can be output to the control chip 32. Can be discarded. Therefore, the SE 40 of the first embodiment can suppress the transmission and reception of invalid data between the communication module 31 of the terminal device 30 and the control chip 32, and improve the safety of the terminal device 30. Can be made to. Further, since the validity of the data is verified by the SE 40, the processing load of the control chip 32 does not increase, so that it is not necessary to use an expensive chip in order to increase the processing capacity of the control chip 32. That is, the device cost of the terminal device 30 can be suppressed.
Further, the SE40 of the first embodiment is an SE40 that can be connected between the communication module 31 of the terminal device 30 and the control chip 32 that can communicate with the server device 10 via the communication network 20. The unit 412 acquires the data transmitted from the server device 10 to the terminal device 30. As a result, the SE 40 of the first embodiment can verify the validity of the data notified via the communication network 20, and thus it is determined that the data is not valid, such as when the data has been tampered with on the network. Data can be discarded, it is possible to suppress a malicious attack on the terminal device 30 via the communication network 20, and it is possible to improve the safety thereof.
Further, in the SE40 of the first embodiment, the verification unit 413 determines whether or not the received data is valid by calculating the hash value of the received data. As a result, the verification unit 413 can verify the validity of the received data by a simple method of comparing the calculated hash value with the hash value of the legitimate received data whose received data has not been tampered with.

ここで、第1の実施形態の端末装置30の効果について図9を用いて説明する。
図9は、検証機能を有しないシステムの動作例を示すシーケンスチャートである。検証機能を有しないシステムでは、端末装置がSE40を備えていない。
図9に示すように、検証機能を有しないシステムにおいても、まず、端末装置30が起動する(ステップS301)。端末装置30の起動は、上述したステップS201と同様な処理が行われる。ただし、端末装置がSE40を備えていないため、SE40が起動することはない。不正なサーバ装置100は、端末装置に送信する不正なデータを生成する(ステップS302)。不正なサーバ装置100は、生成したデータを端末装置に送信する(ステップS303)。通信モジュール31は、不正なサーバ装置100により送信された不正なデータを受信する(ステップS304)。通信モジュール31は、受信した不正なデータからデータ領域を抽出し、抽出した不正なデータを制御チップ32に出力する(ステップS305)。
制御チップ32は、通信モジュール31から受け取った不正なデータの内容に基づいて、不正な処理を実行する(ステップS306)。この結果、検証機能を有しない端末装置は、センサモジュール34の動作が不正に変更される等、不正な処理が行われてしまう。
その後、サーバ装置10は、端末装置に送信するデータを生成する(ステップS307)。サーバ装置10は、生成したデータを端末装置30に送信する(ステップS308)。
通信モジュール31は、サーバ装置10により送信されたデータを受信する(ステップS309)。通信モジュール31は、受信したデータからデータ領域を抽出し、抽出したデータを制御チップ32に出力する(ステップS310)。
制御チップ32は、通信モジュール31から受け取ったデータの内容に基づいて処理を実行する(ステップS311)。しかしながら、上述したステップS306で、端末装置には不正な処理が行われた後であるため、制御チップ32がステップS311により行った処理は不正な結果となる。制御チップ32は、不正な処理結果データをSE40に出力する(ステップS312)。通信モジュール31は、制御チップ32から不正なデータを受信し、不正なデータをサーバ装置10に送信してしまう(ステップS314)。
Here, the effect of the terminal device 30 of the first embodiment will be described with reference to FIG.
FIG. 9 is a sequence chart showing an operation example of a system having no verification function. In a system without a verification function, the terminal device does not have SE40.
As shown in FIG. 9, even in a system having no verification function, the terminal device 30 is first activated (step S301). The terminal device 30 is activated in the same manner as in step S201 described above. However, since the terminal device does not have the SE40, the SE40 will not start. The rogue server device 100 generates rogue data to be transmitted to the terminal device (step S302). The unauthorized server device 100 transmits the generated data to the terminal device (step S303). The communication module 31 receives the illegal data transmitted by the illegal server device 100 (step S304). The communication module 31 extracts a data area from the received invalid data, and outputs the extracted illegal data to the control chip 32 (step S305).
The control chip 32 executes an illegal process based on the content of the illegal data received from the communication module 31 (step S306). As a result, the terminal device having no verification function is subjected to illegal processing such as an illegal change in the operation of the sensor module 34.
After that, the server device 10 generates data to be transmitted to the terminal device (step S307). The server device 10 transmits the generated data to the terminal device 30 (step S308).
The communication module 31 receives the data transmitted by the server device 10 (step S309). The communication module 31 extracts a data area from the received data and outputs the extracted data to the control chip 32 (step S310).
The control chip 32 executes processing based on the content of the data received from the communication module 31 (step S311). However, since the terminal device has been subjected to an illegal process in step S306 described above, the process performed by the control chip 32 in step S311 has an incorrect result. The control chip 32 outputs the invalid processing result data to the SE 40 (step S312). The communication module 31 receives the illegal data from the control chip 32 and transmits the illegal data to the server device 10 (step S314).

このように、検証機能を有しないシステムでは、不正なサーバ装置100などにより送信された不正なデータに基づいた処理が実行されてしまい、不正なデータがサーバ装置10に送信されてしまう。不正なデータがサーバ装置10に送信されてしまうことで、サービスの停止などの事態に繋がる可能性がある。
これに対し、実施形態1の検証システム1においては、端末装置30が不正なデータを受信した場合であっても、SE40が不正なデータを破棄するため、制御チップ32が不正なデータを取得することはない。このため、センサモジュール34に対し不正な処理が行われることがない。
As described above, in a system having no verification function, processing based on the illegal data transmitted by the illegal server device 100 or the like is executed, and the illegal data is transmitted to the server device 10. If invalid data is transmitted to the server device 10, it may lead to a situation such as a service stop.
On the other hand, in the verification system 1 of the first embodiment, even when the terminal device 30 receives the illegal data, the SE 40 discards the illegal data, so that the control chip 32 acquires the illegal data. There is no such thing. Therefore, no illegal processing is performed on the sensor module 34.

<第2の実施形態>
次に、第2の実施形態について説明する。
第2の実施形態では、サーバ装置10Aが端末装置30Aに対して相互認証を要求する点において上記第1の実施形態の構成と相違する。ここで、相互認証とは、相互に通信を行う装置の双方が互いに相手の正当性を認証することである。例えば、サーバ装置10Aと端末装置30Aとが相互に通信を行う場合、サーバ装置10Aは端末装置30Aの正当性を認証し、端末装置30Aはサーバ装置10Aの正当性を認証する。
<Second embodiment>
Next, the second embodiment will be described.
The second embodiment differs from the configuration of the first embodiment in that the server device 10A requires mutual authentication from the terminal device 30A. Here, mutual authentication means that both devices communicating with each other authenticate each other's legitimacy. For example, when the server device 10A and the terminal device 30A communicate with each other, the server device 10A authenticates the validity of the terminal device 30A, and the terminal device 30A authenticates the validity of the server device 10A.

また、第2の実施形態では、端末装置30Aに対してデータを送信してきた装置との間で相互認証が行われる点、及びSE40Aがサーバ装置10Aと相互認証済みの場合にサーバ装置10Aからのデータの検証を一時的に停止して制御チップ32にデータを出力する点において上記第1の実施形態の構成と相違する。
第2の実施形態では、SE40Aが、相互認証済みの装置から送信されたデータに対してその正当性の検証を省略することで、システムの安全性を維持しつつ、検証にかかる処理負荷の増加を抑制する。
Further, in the second embodiment, mutual authentication is performed with the device that has transmitted data to the terminal device 30A, and when the SE40A has been mutually authenticated with the server device 10A, the server device 10A has already been authenticated. It differs from the configuration of the first embodiment in that the verification of the data is temporarily stopped and the data is output to the control chip 32.
In the second embodiment, the SE40A omits the verification of the validity of the data transmitted from the mutually authenticated device, thereby maintaining the safety of the system and increasing the processing load for the verification. Suppress.

また、第2の実施形態では、データの検証が一時的に停止されている場合に、相互認証済みのサーバ装置10Aが検証の再開を要求する点において上記第1の実施形態の構成と相違する。相互認証済みのサーバ装置10Aの要求に応じて、検証を再開させることでシステムの安全性を向上させることが可能となる。 Further, the second embodiment is different from the configuration of the first embodiment in that the mutually authenticated server device 10A requests the restart of the verification when the verification of the data is temporarily stopped. .. It is possible to improve the safety of the system by restarting the verification in response to the request of the mutually authenticated server device 10A.

図10は、第2の実施形態のSE40Aの機能構成例を示すプロック図である。図10に示すように、第2の実施形態では、SE40Aの検証部413Aが第1の実施形態と異なる処理を行う。また、SE40Aは、検証停止情報記憶部424を備える。
検証停止情報記憶部424は、検証済みフラグを記憶する。検証済みフラグは、相互認証済みか否かを示す変数であり、端末装置30Aに対してデータを送信してきた装置ごとに記憶される変数である。相互認証が行われていない初期状態か、又は相互認証を行ったが通信先の正当性が検証されなかった場合、検証済みフラグには「0」が記憶される。相互認証を行った結果、通信先の正当性が検証された場合、当該通信先に対応する証済みフラグは「1」が記憶される。
FIG. 10 is a block diagram showing a functional configuration example of the SE40A of the second embodiment. As shown in FIG. 10, in the second embodiment, the verification unit 413A of the SE40A performs a process different from that of the first embodiment. The SE40A also includes a verification stop information storage unit 424.
The verification stop information storage unit 424 stores the verified flag. The verified flag is a variable indicating whether or not mutual authentication has been performed, and is a variable stored for each device that has transmitted data to the terminal device 30A. If the initial state is not mutual authentication, or if mutual authentication is performed but the validity of the communication destination is not verified, "0" is stored in the verified flag. When the validity of the communication destination is verified as a result of mutual authentication, "1" is stored as the proven flag corresponding to the communication destination.

検証部413Aは、端末装置30Aに対してデータを送信してきた装置と、相互認証を行う。以下、サーバ装置10Aが端末装置30Aに対してデータを送信した場合を例示して説明する。
検証部413Aは、サーバ装置10Aから送信されたデータに相互認証を要求するデータが含まれていた場合、サーバ装置10Aの正当性を検証する。検証部413Aは、例えば、サーバ装置10Aから送信されたデータからサーバ証明書を取得し、取得したサーバ証明書と検証情報記憶部422に予め記憶させた正当なサーバの証明書とを比較することによりサーバ装置10Aの正当性を検証する。検証部413Aは、サーバ装置10Aが正当であると判定した場合、検証済みフラグに「1」を書込んで記憶させる。
検証部413Aは、検証済みフラグに「1」が記憶されている場合、サーバ装置10Aから送信されたデータを、検証することなく制御チップ32に出力する。
The verification unit 413A performs mutual authentication with the device that has transmitted data to the terminal device 30A. Hereinafter, a case where the server device 10A transmits data to the terminal device 30A will be described as an example.
When the data transmitted from the server device 10A includes data requesting mutual authentication, the verification unit 413A verifies the validity of the server device 10A. For example, the verification unit 413A acquires a server certificate from the data transmitted from the server device 10A, and compares the acquired server certificate with a valid server certificate stored in advance in the verification information storage unit 422. Verify the validity of the server device 10A. When the verification unit 413A determines that the server device 10A is valid, the verification unit 413A writes "1" in the verified flag and stores it.
When "1" is stored in the verified flag, the verification unit 413A outputs the data transmitted from the server device 10A to the control chip 32 without verification.

検証部413Aは、サーバ装置10Aが正当でないと判定した場合、サーバ装置10Aが正当でないこと(不正接続)を、通信部400を介して制御チップ32に報告する。 When the verification unit 413A determines that the server device 10A is not valid, the verification unit 413A reports to the control chip 32 that the server device 10A is not valid (illegal connection) via the communication unit 400.

また、検証部413Aは、検証済みフラグに「1」が記憶されている場合であって、サーバ装置10Aから送信されたデータに検証の再開を要求するデータが含まれていた場合、検証済みフラグに「0」を書込んで記憶させる。
検証部413Aは、検証済みフラグに「0」が記憶されている場合、上記第1の実施形態と同様に、サーバ装置10Aから送信されたデータを検証し、データが正当であると判定する場合に当該データを制御チップ32に出力する。
Further, when the verification unit 413A stores "1" in the verification flag and the data transmitted from the server device 10A includes data requesting the restart of verification, the verification unit 413A indicates the verification flag. Write "0" in and memorize it.
When "0" is stored in the verified flag, the verification unit 413A verifies the data transmitted from the server device 10A and determines that the data is valid, as in the first embodiment. The data is output to the control chip 32.

第2の実施形態のSE40Aの動作について図11、図12を用いて説明する。
図11は、第2の実施形態のSE40Aの動作例を示すフローチャートである。
図11に示すように、まず、SE40Aは、上記第1の実施形態と同様に、取得部412により受信データを取得する受信データ取得処理を行う(ステップS110)。
次に、検証部413Aは、受信データが相互認証を要求するものであるか否かを判定する(ステップS400)。検証部413Aは、受信データの所定箇所に相互認証を要求することが示されていた場合、受信データが相互認証を要求するものであると判定する。
検証部413Aは、受信データが相互認証を要求するものであると判定する場合、サーバ装置10Aとの間で相互認証を行う相互認証処理を行う(ステップS401)。
検証部413Aは、相互認証が正常に終了したか否かを判定する(ステップS402)。検証部413Aは、相互認証が正常に終了した場合、相互認証済みフラグに「1」を書込んで記憶させる(ステップS403)。
一方、検証部413Aは、相互認証が正常に終了なかった場合、相互認証済みフラグに「0」を書込んで記憶させる(ステップS404)。そして、検証部413Aは、相互認証が正常に終了しない不正接続があったことを、制御チップ32に報告する(ステップS405)。
The operation of the SE40A of the second embodiment will be described with reference to FIGS. 11 and 12.
FIG. 11 is a flowchart showing an operation example of the SE40A of the second embodiment.
As shown in FIG. 11, first, the SE40A performs a received data acquisition process for acquiring received data by the acquisition unit 412, as in the first embodiment (step S110).
Next, the verification unit 413A determines whether or not the received data requires mutual authentication (step S400). When the verification unit 413A indicates that mutual authentication is required at a predetermined location of the received data, the verification unit 413A determines that the received data requires mutual authentication.
When the verification unit 413A determines that the received data requires mutual authentication, the verification unit 413A performs a mutual authentication process for mutual authentication with the server device 10A (step S401).
The verification unit 413A determines whether or not mutual authentication has been completed normally (step S402). When the mutual authentication is normally completed, the verification unit 413A writes "1" in the mutual authentication completed flag and stores it (step S403).
On the other hand, when the mutual authentication is not completed normally, the verification unit 413A writes "0" in the mutual authentication completed flag and stores it (step S404). Then, the verification unit 413A reports to the control chip 32 that there is an unauthorized connection in which mutual authentication is not normally completed (step S405).

検証部413Aは、ステップS400において、受信データが相互認証を要求するものでない場合、受信データが検証の再開を要求するものか否かを判定する(ステップS406)。検証部413Aは、受信データが検証の再開を要求するものである場合、相互認証済みフラグに「0」を書込んで記憶させる(ステップS407)。 In step S400, the verification unit 413A determines whether or not the received data requires resumption of verification when the received data does not require mutual authentication (step S406). When the received data requests the resumption of verification, the verification unit 413A writes "0" in the mutual authentication completed flag and stores it (step S407).

検証部413Aは、ステップS406において、受信データが検証の再開を要求するものでない場合、相互認証済みフラグが「1」であるか否かを判定する(ステップS408)。受信データが相互認証を要求するものでなく、且つ検証の再開を要求するものでない場合、受信データは、端末装置30Aの各機能部(例えば、センサモジュール34)を制御する制御データである。
検証部413Aは、相互認証済みフラグが「1」である場合、受信データを検証することなく制御チップ32に出力する。
一方、検証部413Aは、相互認証済みフラグが「0」である場合、上記第1の実施形態のステップS120の検証処理を行い、受信データの正当性を検証する。
In step S406, the verification unit 413A determines whether or not the mutual authentication completed flag is "1" when the received data does not request the resumption of verification (step S408). When the received data does not require mutual authentication and does not require resumption of verification, the received data is control data that controls each functional unit (for example, the sensor module 34) of the terminal device 30A.
When the mutual authentication completed flag is "1", the verification unit 413A outputs the received data to the control chip 32 without verifying it.
On the other hand, when the mutual authentication completed flag is "0", the verification unit 413A performs the verification process of step S120 of the first embodiment to verify the validity of the received data.

図12は、第2の実施形態のSE40Aの相互認証の処理の動作例を示すフローチャートである。
図12に示すように、相互認証を行う場合、検証部413Aは、まず、受信データに含まれるサーバ装置10Aの相互認証データを検証する(ステップS500)。検証部413Aは、サーバ装置10Aの相互認証データに施された暗号を共通鍵で復号してサーバ証明書を取得し、取得したサーバ証明書が、検証情報記憶部422に記憶させたサーバ証明書と一致した場合にサーバ装置10Aが正当な通信先であると判定し、相互認証データの検証が正常に終了したと判定する。また、乱数を用いて相互認証を行ってもよい。
FIG. 12 is a flowchart showing an operation example of the mutual authentication process of SE40A of the second embodiment.
As shown in FIG. 12, when performing mutual authentication, the verification unit 413A first verifies the mutual authentication data of the server device 10A included in the received data (step S500). The verification unit 413A obtains a server certificate by decrypting the encryption applied to the mutual authentication data of the server device 10A with a common key, and the obtained server certificate is stored in the verification information storage unit 422. If it matches, it is determined that the server device 10A is a legitimate communication destination, and it is determined that the verification of the mutual authentication data has been completed normally. Further, mutual authentication may be performed using random numbers.

検証部413Aは、相互認証データの検証が正常に終了した場合、サーバ装置10Aに対して送信する端末装置30A側の相互認証データを作成し、作成した相互認証データを通信部400、及び通信モジュール31を介してサーバ装置10Aに送信する(ステップS502)。
検証部413Aは、サーバ装置10Aに対して端末装置30A側の相互認証データを送信した後、サーバ装置10Aから送信されたデータを、通信モジュール31等を介して受信する(ステップS503)。
検証部413Aは、受信データがサーバ装置10Aに対して送信した相互認証データに対する応答であるか否かを判定する(ステップS504)。検証部413Aは、受信データが送信した相互認証データに対する応答である場合、応答が正常終了を示すものであるか否かを判定する(ステップS505)。そして、検証部413Aは、応答が正常に終了したことを示すものである場合、相互認証は正常に終了したと判定する(ステップS506)。
The verification unit 413A creates mutual authentication data on the terminal device 30A side to be transmitted to the server device 10A when the verification of the mutual authentication data is completed normally, and the created mutual authentication data is used in the communication unit 400 and the communication module. It is transmitted to the server device 10A via 31 (step S502).
The verification unit 413A transmits the mutual authentication data on the terminal device 30A side to the server device 10A, and then receives the data transmitted from the server device 10A via the communication module 31 or the like (step S503).
The verification unit 413A determines whether or not the received data is a response to the mutual authentication data transmitted to the server device 10A (step S504). When the received data is a response to the transmitted mutual authentication data, the verification unit 413A determines whether or not the response indicates a normal end (step S505). Then, the verification unit 413A determines that the mutual authentication has been completed normally when it indicates that the response has been completed normally (step S506).

一方、検証部413Aは、ステップS501においてサーバ装置10Aからの相互認証データの検証が正常に終了しない場合、及びステップS505においてサーバ装置10Aからの応答が正常に終了しないことを示す場合、相互認証は正常に終了しなかったと判定する(ステップS507)。 On the other hand, when the verification unit 413A indicates that the verification of the mutual authentication data from the server device 10A is not normally completed in step S501 and the response from the server device 10A is not normally completed in step S505, the mutual authentication is performed. It is determined that the process was not completed normally (step S507).

また、検証部413Aは、ステップS504において、受信データが送信した相互認証データに対する応答でない場合、受信データが端末装置30Aの各機能部(例えば、センサモジュール34)を制御する制御データであるとみなし、上記第1の実施形態のステップS120の検証処理を行い、受信データの正当性を検証する。 Further, in step S504, when the received data is not a response to the transmitted mutual authentication data, the verification unit 413A considers that the received data is control data for controlling each functional unit (for example, the sensor module 34) of the terminal device 30A. , The verification process of step S120 of the first embodiment is performed to verify the validity of the received data.

図13は、第2の実施形態の検証システム1Aの動作例を示すシーケンスチャートである。
図13に示すように、まず、サーバ装置10AとSE40Aとの間で上述した相互認証が行われる(ステップS601)。相互認証が正常に終了した後、サーバ装置10Aは、端末装置30Aに送信するデータを生成する(ステップS602)。サーバ装置10Aは、生成したデータを端末装置30Aに送信する(ステップS603)。
通信モジュール31は、サーバ装置10Aにより送信されたデータを受信する(ステップS604)。通信モジュール31は、受信したデータからデータ領域を抽出し、抽出したデータをSE40Aに出力する(ステップS605)。
SE40Aは、通信モジュール31により送信されたデータを受信し、受信したデータの正当性を検証することなく(ステップS606)、制御チップ32に出力する(ステップS607)。
制御チップ32は、SE40Aから受け取ったデータの内容に基づいて、処理を実行する(ステップS608)。制御チップ32は、サーバ装置10Aに対して実行した処理の結果として通知する処理結果データを作成する。制御チップ32は、作成した処理結果データをSE40Aに出力する(ステップS609)。
FIG. 13 is a sequence chart showing an operation example of the verification system 1A of the second embodiment.
As shown in FIG. 13, first, the above-mentioned mutual authentication is performed between the server device 10A and the SE40A (step S601). After the mutual authentication is normally completed, the server device 10A generates data to be transmitted to the terminal device 30A (step S602). The server device 10A transmits the generated data to the terminal device 30A (step S603).
The communication module 31 receives the data transmitted by the server device 10A (step S604). The communication module 31 extracts a data area from the received data and outputs the extracted data to the SE40A (step S605).
The SE40A receives the data transmitted by the communication module 31 and outputs the data to the control chip 32 (step S607) without verifying the validity of the received data (step S606).
The control chip 32 executes the process based on the content of the data received from the SE40A (step S608). The control chip 32 creates the processing result data to be notified as the result of the processing executed to the server device 10A. The control chip 32 outputs the created processing result data to the SE40A (step S609).

SE40Aは、制御チップ32により送信された処理結果データを受信し、データの正当性を検証することなく(ステップS610)、通信モジュール31に出力する(ステップS611)。
通信モジュール31は、SE40Aにより出力されたデータを受信する(ステップS612)。通信モジュール31は、受信したデータを、通信ネットワーク20の通信プロトコルに従ってサーバ装置10Aに送信する(ステップS613)。
The SE40A receives the processing result data transmitted by the control chip 32 and outputs the data to the communication module 31 without verifying the validity of the data (step S610) (step S611).
The communication module 31 receives the data output by the SE40A (step S612). The communication module 31 transmits the received data to the server device 10A according to the communication protocol of the communication network 20 (step S613).

図14は、第2の実施形態の検証システム1Aの検証を再開させる処理の動作例を示すシーケンスチャートである。
図14に示すように、まず、サーバ装置10AとSE40Aとの間で上述した相互認証が行われる(ステップS601)。
相互認証が正常に終了した後、サーバ装置10Aは、端末装置30Aに対し検証の再開を要求するデータを生成する(ステップS702)。サーバ装置10Aは、生成したデータを端末装置30Aに送信する(ステップS703)。
通信モジュール31は、サーバ装置10Aにより送信されたデータを受信する(ステップS604)。通信モジュール31は、受信したデータからデータ領域を抽出し、抽出したデータをSE40Aに出力する(ステップS605)。
SE40Aは、通信モジュール31により送信されたデータを受信し、受信した検証の再開を要求するデータに基づいて、相互認証済みフラグを「0」とする(ステップS706)。SE40Aは、受信した検証の再開を要求するデータに対する応答データを作成する(ステップS708)。SE40Aは、作成した応答データを通信モジュール31に出力する(ステップS709)。
通信モジュール31は、SE40Aにより出力されたデータを受信する(ステップS710)。通信モジュール31は、受信したデータをサーバ装置10Aに送信する(ステップS711)。
FIG. 14 is a sequence chart showing an operation example of the process of restarting the verification of the verification system 1A of the second embodiment.
As shown in FIG. 14, first, the above-mentioned mutual authentication is performed between the server device 10A and the SE40A (step S601).
After the mutual authentication is normally completed, the server device 10A generates data requesting the terminal device 30A to restart the verification (step S702). The server device 10A transmits the generated data to the terminal device 30A (step S703).
The communication module 31 receives the data transmitted by the server device 10A (step S604). The communication module 31 extracts a data area from the received data and outputs the extracted data to the SE40A (step S605).
The SE40A receives the data transmitted by the communication module 31, and sets the mutual authentication flag to “0” based on the data requesting the restart of the received verification (step S706). The SE40A creates response data for the received data requesting resumption of verification (step S708). The SE40A outputs the created response data to the communication module 31 (step S709).
The communication module 31 receives the data output by the SE40A (step S710). The communication module 31 transmits the received data to the server device 10A (step S711).

以上説明したように、第2の実施形態のSE40Aでは、検証部413Aは、受信データにサーバ装置10Aからの相互認証の要求を示すデータが含まれる場合、サーバ装置10Aとの間で相互認証を行い、サーバ装置10Aが正当であるか否かを判定する。これにより、第2の実施形態のSE40Aでは、サーバ装置10Aが正当な通信先か否かを判定することができる。
また、第2の実施形態の端末装置30Aでは、検証部413Aは、相互認証によりサーバ装置10Aが正当でないと判定した場合、端末装置30Aに対して判定結果を出力する。これにより、第2の実施形態のSE40Aはでは、自身が正当な通信先として想定されていない装置、つまり不正なサーバ装置から攻撃を受けている可能性があることを端末装置30Aに認識させることができる。
また、第2の実施形態のSE40Aでは、検証部413Aは、相互認証の認証結果によりサーバ装置10Aが正当であると判定した場合、端末装置30Aに受信された受信データのうち、正当であると判定したサーバ装置10Aから端末装置30Aに対して送信されたデータについて、その正当性を検証することなく端末装置30Aに出力する。
これにより、第2の実施形態のSE40Aでは、検証部413Aが、通信相手が正当な装置であるか否かを判定し、通信相手が正当な装置である場合に検証処理を省略できるため、検証処理の処理負荷を低減させることができる。
As described above, in the SE40A of the second embodiment, when the received data includes data indicating a request for mutual authentication from the server device 10A, the verification unit 413A performs mutual authentication with the server device 10A. This is done to determine if the server device 10A is legitimate. Thereby, in the SE40A of the second embodiment, it is possible to determine whether or not the server device 10A is a legitimate communication destination.
Further, in the terminal device 30A of the second embodiment, when the verification unit 413A determines that the server device 10A is not valid by mutual authentication, the verification unit 413A outputs the determination result to the terminal device 30A. As a result, in the SE40A of the second embodiment, the terminal device 30A is made to recognize that it may be attacked by a device that is not supposed to be a legitimate communication destination, that is, an unauthorized server device. Can be done.
Further, in the SE40A of the second embodiment, when the verification unit 413A determines that the server device 10A is valid based on the authentication result of the mutual authentication, the verification unit 413A determines that the received data received by the terminal device 30A is valid. The data transmitted from the determined server device 10A to the terminal device 30A is output to the terminal device 30A without verifying its validity.
As a result, in the SE40A of the second embodiment, the verification unit 413A determines whether or not the communication partner is a legitimate device, and if the communication partner is a legitimate device, the verification process can be omitted. The processing load of processing can be reduced.

また、第2の実施形態の端末装置30Aでは、検証部413Aは、サーバ装置10Aから端末装置30Aに対して送信されたデータに、データの正当性の検証を要求するデータが含まれていた場合、受信データの正当性を検証し、受信データが正当であると判定した場合に受信データを端末装置30Aに出力する。これにより、第2の実施形態のSE40Aでは、サーバ装置10Aから要求により、通信相手が正当な装置であるか否かを判定した後に検証処理を省略した場合であっても、検証を再開させることができ、より安全性を向上させることが可能となる。 Further, in the terminal device 30A of the second embodiment, when the verification unit 413A includes data requesting verification of the validity of the data in the data transmitted from the server device 10A to the terminal device 30A. , The validity of the received data is verified, and when it is determined that the received data is valid, the received data is output to the terminal device 30A. As a result, in the SE40A of the second embodiment, even if the verification process is omitted after determining whether or not the communication partner is a legitimate device by the request from the server device 10A, the verification is restarted. It is possible to improve the safety.

上述した実施形態においては、通信ネットワーク20を介して、サーバ装置10(10A)と端末装置30(30A)とが相互に通信する場合を例示して説明したが、これに限定されることはない。サーバ装置10(10A)は、端末装置30(30A)と通信する外部機器であればよく、端末装置30(30A)と同等構成を有する他の端末装置30(30A)であってもよいし、その他の汎用コンピュータ端末、スマートフォン、タブレット等であってもよい。
また、通信ネットワーク20は、3G(3rd Generation)、4G(4th Generation)、LTE(Long Term Evolution)などの携帯電話網、Wi-Fi、ブルートゥース(登録商標)などの無線通信の伝送路、及びUSB(Universal Serial Bus)、LAN(Local Area Network)ケーブル等による接続等、有線通信の伝送路であってもよく、上記無線通信の伝送路と上記有線通信の組み合わせであってもよい。
In the above-described embodiment, the case where the server device 10 (10A) and the terminal device 30 (30A) communicate with each other via the communication network 20 has been described as an example, but the present invention is not limited thereto. .. The server device 10 (10A) may be any external device that communicates with the terminal device 30 (30A), and may be another terminal device 30 (30A) having the same configuration as the terminal device 30 (30A). Other general-purpose computer terminals, smartphones, tablets, etc. may be used.
The communication network 20 includes a mobile phone network such as 3G (3rd Generation), 4G (4th Generation), LTE (Long Term Evolution), a wireless communication transmission line such as Wi-Fi and Bluetooth (registered trademark), and a USB. It may be a transmission line for wired communication such as connection by (Universal Serial Bus), LAN (Local Area Network) cable, or the like, or may be a combination of the transmission line for wireless communication and the wired communication.

なお、本発明における検証システム1の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませて実行することにより処理を行なってもよい。
なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
A program for realizing the function of the verification system 1 in the present invention is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read by the computer system and executed. You may.
The term "computer system" as used herein includes hardware such as an OS and peripheral devices.
Further, the "computer system" shall also include a WWW system provided with a homepage providing environment (or display environment). Further, the "computer-readable recording medium" refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, or a CD-ROM, and a storage device such as a hard disk built in a computer system. Furthermore, a "computer-readable recording medium" is a volatile memory (RAM) inside a computer system that serves 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. In addition, it shall include those that hold the program for a certain period of time.

また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。 Further, the program may be transmitted from a computer system in which this program is stored in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the "transmission medium" for transmitting a 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 above program may be for realizing a part of the above-mentioned functions. Further, it may be a so-called difference file (difference program) that can realize the above-mentioned function in combination with a program already recorded in the computer system.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。 Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and variations thereof are included in the scope of the invention described in the claims and the equivalent scope thereof, as are included in the scope and gist of the invention.

1…検証システム、10…サーバ装置、20…通信ネットワーク、30…端末装置、40…SE、412…取得部、413…検証部、414…データ処理部。 1 ... Verification system, 10 ... Server device, 20 ... Communication network, 30 ... Terminal device, 40 ... SE, 412 ... Acquisition unit, 413 ... Verification unit, 414 ... Data processing unit.

Claims (10)

外部装置と相互に通信可能な端末装置が備える通信モジュールと制御チップに接続可能なセキュアエレメントであって、
前記外部装置から前記端末装置に通知され、前記通信モジュールから前記制御チップに対して通知する通知データを取得する取得部と、
前記取得部により取得された前記通知データの正当性を検証する検証部と、
前記検証部により検証された検証結果に基づいて、前記通知データが正当であると判定される場合には前記通知データを前記制御チップに対して出力し、前記通知データが正当でないと判定される場合には前記通知データを破棄するデータ処理部と
を有し、
前記検証部は、前記通知データに前記外部装置からの相互認証の要求を示すデータが含まれる場合、前記外部装置と相互認証を行い、前記相互認証の認証結果により前記外部装置が正当であると判定した場合、前記正当であると判定した前記外部装置から送信された前記通知データの正当性を検証することなく、前記制御チップに出力する
ことを特徴とするセキュアエレメント。
It is a secure element that can be connected to the communication module and control chip of the terminal device that can communicate with the external device .
An acquisition unit that acquires notification data notified from the external device to the terminal device and notified from the communication module to the control chip .
A verification unit that verifies the validity of the notification data acquired by the acquisition unit, and
When the notification data is determined to be valid based on the verification result verified by the verification unit, the notification data is output to the control chip , and the notification data is determined to be invalid. In some cases, it has a data processing unit that discards the notification data.
When the notification data includes data indicating a request for mutual authentication from the external device, the verification unit performs mutual authentication with the external device, and the authentication result of the mutual authentication indicates that the external device is valid. When determined, the secure element is characterized in that it is output to the control chip without verifying the validity of the notification data transmitted from the external device determined to be valid .
前記検証部は、前記取得部により取得された前記通知データのハッシュ値、電子署名、及びメッセージ認証のうち少なくとも一つを算出することにより、前記通知データが正当であるか否かを判定する
とを特徴とする請求項1に記載のセキュアエレメント。
The verification unit determines whether or not the notification data is valid by calculating at least one of the hash value, the electronic signature, and the message authentication of the notification data acquired by the acquisition unit.
The secure element according to claim 1 .
前記検証部は、前記相互認証の認証結果により前記外部装置が正当でないと判定した場合、前記制御チップに対して判定結果を出力する
ことを特徴とする請求項1又は請求項2に記載のセキュアエレメント。
The secure according to claim 1 or 2 , wherein when the verification unit determines that the external device is not valid based on the authentication result of the mutual authentication, the verification unit outputs the determination result to the control chip. element.
前記検証部は、前記通知データに、前記通知データの正当性の検証を要求するデータが含まれていた場合、前記外部装置が正当であると判定したか否かに関わらず、前記通知データの正当性を検証し、前記通知データが正当であると判定した場合に前記通知データを前記制御チップに出力する
ことを特徴とする請求項1から請求項3のいずれか一項に記載のセキュアエレメント。
When the notification data includes data requesting verification of the validity of the notification data , the verification unit determines that the external device is valid, regardless of whether or not the notification data is valid. The secure element according to any one of claims 1 to 3 , wherein the notification data is output to the control chip when the validity is verified and the notification data is determined to be valid. ..
外部装置と相互に通信可能な端末装置であって、
請求項1から請求項のいずれかに記載のセキュアエレメントと、
前記セキュアエレメントに対してデータを出力し、前記セキュアエレメントにより正当であると判定された前記データを前記セキュアエレメントから取得する制御チップと、
を備えることを特徴とする端末装置。
A terminal device that can communicate with an external device.
The secure element according to any one of claims 1 to 4 ,
A control chip that outputs data to the secure element and acquires the data determined to be valid by the secure element from the secure element.
A terminal device characterized by being provided with.
前記端末装置は、通信ネットワークを介して前記外部装置と相互に通信する
ことを特徴とする請求項に記載の端末装置。
The terminal device according to claim 5 , wherein the terminal device communicates with the external device via a communication network.
請求項又は請求項に記載の端末装置と、
前記端末装置との相互認証を要求するデータ、又は前記端末装置が受信した受信データの正当性を検証させるか否かを命令するデータの少なくとも一方を含むデータを送信する外部装置と
を備えることを特徴とする検証システム。
The terminal device according to claim 5 or 6 ,
Provided with an external device for transmitting data including at least one of data requesting mutual authentication with the terminal device or data instructing whether or not to verify the validity of the received data received by the terminal device. A featured verification system.
前記外部装置は、通信ネットワークを介して前記端末装置にデータを送信する
ことを特徴とする請求項に記載の検証システム。
The verification system according to claim 7 , wherein the external device transmits data to the terminal device via a communication network.
外部装置と相互に通信可能な端末装置が備える通信モジュールと制御チップに接続可能なセキュアエレメントの検証方法であって、
取得部が、前記外部装置から前記端末装置に通知され、前記通信モジュールから前記制御チップに対して通知する通知データを取得
検証部が、前記取得により取得された前記通知データの正当性を検証する検証工程と、
データ処理部が、前記検証により検証された検証結果に基づいて、前記通知データが正当であると判定される場合には前記通知データを前記制御チップに対して出力し、前記通知データが正当でないと判定される場合には前記通知データを破棄する工程と
を有し、
前記検証部は、前記通知データに前記外部装置からの相互認証の要求を示すデータが含まれる場合、前記外部装置と相互認証を行い、前記相互認証の認証結果により前記外部装置が正当であると判定した場合、前記正当であると判定した前記外部装置から送信された前記通知データの正当性を検証することなく、前記制御チップに出力する
検証方法。
It is a verification method of the secure element that can be connected to the communication module and control chip of the terminal device that can communicate with the external device .
The acquisition unit acquires the notification data notified from the external device to the terminal device and notified from the communication module to the control chip .
A verification process in which the verification unit verifies the validity of the notification data acquired by the acquisition unit , and
When the data processing unit determines that the notification data is valid based on the verification result verified by the verification unit , the data processing unit outputs the notification data to the control chip , and the notification data is valid. If it is determined that the notification data is not, the notification data is discarded .
When the notification data includes data indicating a request for mutual authentication from the external device, the verification unit performs mutual authentication with the external device, and the authentication result of the mutual authentication indicates that the external device is valid. A verification method for outputting to the control chip without verifying the validity of the notification data transmitted from the external device determined to be valid when the determination is made .
外部装置と相互に通信可能な端末装置が備える通信モジュールと制御チップに接続可能なセキュアエレメントのコンピュータに、
前記外部装置から前記端末装置に通知され、通信モジュールから前記制御チップに対して通知する通知データを取得する取得工程と、
前記取得工程により取得された前記通知データの正当性を検証する検証工程と、
前記検証工程により検証された検証結果に基づいて、前記通知データが正当であると判定される場合には前記通知データを前記制御チップに対して出力し、前記通知データが正当でないと判定される場合には前記通知データを破棄する工程と
を実行させるプログラムであって、
前記検証工程では、前記通知データに前記外部装置からの相互認証の要求を示すデータが含まれる場合、前記外部装置と相互認証を行い、前記相互認証の認証結果により前記外部装置が正当であると判定した場合、前記正当であると判定した前記外部装置から送信された前記通知データの正当性を検証することなく、前記制御チップに出力する
プログラム
For computers with secure elements that can be connected to the communication modules and control chips of terminal devices that can communicate with external devices .
An acquisition step of acquiring notification data notified from the external device to the terminal device and notified from the communication module to the control chip .
A verification process for verifying the validity of the notification data acquired by the acquisition process, and
When the notification data is determined to be valid based on the verification result verified by the verification step, the notification data is output to the control chip , and the notification data is determined to be invalid. In some cases, it is a program that executes the process of discarding the notification data.
In the verification step, when the notification data includes data indicating a request for mutual authentication from the external device, mutual authentication is performed with the external device, and the external device is justified by the authentication result of the mutual authentication. If it is determined, it is output to the control chip without verifying the validity of the notification data transmitted from the external device determined to be valid.
Program .
JP2017225063A 2017-11-22 2017-11-22 Secure elements, terminals, verification systems, verification methods, and programs Active JP6992440B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017225063A JP6992440B2 (en) 2017-11-22 2017-11-22 Secure elements, terminals, verification systems, verification methods, and programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017225063A JP6992440B2 (en) 2017-11-22 2017-11-22 Secure elements, terminals, verification systems, verification methods, and programs

Publications (2)

Publication Number Publication Date
JP2019097034A JP2019097034A (en) 2019-06-20
JP6992440B2 true JP6992440B2 (en) 2022-01-13

Family

ID=66972108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017225063A Active JP6992440B2 (en) 2017-11-22 2017-11-22 Secure elements, terminals, verification systems, verification methods, and programs

Country Status (1)

Country Link
JP (1) JP6992440B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014212860A (en) 2013-04-23 2014-11-17 グローリー株式会社 Game management system, and game management method
JP2016072675A (en) 2014-09-26 2016-05-09 Kddi株式会社 Management device, vehicle, management method and computer program
US20170041290A1 (en) 2015-08-05 2017-02-09 Samsung Electronics Co., Ltd. Apparatus and method for transparent, secure element-based mediation of on-board diagnostic operations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014212860A (en) 2013-04-23 2014-11-17 グローリー株式会社 Game management system, and game management method
JP2016072675A (en) 2014-09-26 2016-05-09 Kddi株式会社 Management device, vehicle, management method and computer program
US20170041290A1 (en) 2015-08-05 2017-02-09 Samsung Electronics Co., Ltd. Apparatus and method for transparent, secure element-based mediation of on-board diagnostic operations

Also Published As

Publication number Publication date
JP2019097034A (en) 2019-06-20

Similar Documents

Publication Publication Date Title
CN111542822B (en) Electronic device and method for sharing screen data
US9386045B2 (en) Device communication based on device trustworthiness
US20240171569A1 (en) User Authentication Systems and Methods
EP3032845A1 (en) Hearing device configured to authenticate a mode request and related method
US20200084552A1 (en) Hearing device with service mode and related method
KR20200104043A (en) Electronic device for storing user identification information and method thereof
JP2023509896A (en) DEVICE SHARING METHODS AND ELECTRONIC DEVICES
JP5905087B2 (en) Application program execution device
CN114450663A (en) Electronic device for updating firmware by using secure integrated circuit and operation method thereof
KR102643372B1 (en) Electronic device for performing discovery device and method thereof
CN111859361B (en) Communication method, communication device, electronic equipment and storage medium
CN107223322B (en) Signature verification method, device and system
JP6992440B2 (en) Secure elements, terminals, verification systems, verification methods, and programs
KR102657388B1 (en) Electronic device for selecting key used for encryption based on an information quantity of data to be encrypted and method for the same
JP2018067807A (en) Electronic signature system, electronic signature client, electronic signature program, server, and electronic signature method
EP4044500B1 (en) Electronic device for ensuring integrity of electronic device intrinsic information, and operating method therefor
US11921857B2 (en) Electronic device for providing service by using secure element, and operating method thereof
JP7106845B2 (en) Terminal device and verification method
JP2011197912A (en) Thin client system, integrity verification server, program, storage medium, and thin client communication relay method
CN112020065B (en) Information processing method, terminal equipment, server and storage medium
CN105323287B (en) Third-party application program login method and system
WO2021176814A1 (en) Authentication system, communication device, information device, and authentication method
KR20240003681A (en) Electronic device for providing encryption service and method of operating the same
JP2018113504A (en) Secure element, UIM card, authentication method, and authentication program
KR20200099339A (en) Electronic device and system for uploading and/or downloading content and operating 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: 20210714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210921

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211122

R150 Certificate of patent or registration of utility model

Ref document number: 6992440

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150