JP2019097034A - Secure element, terminal device, verification system, verification method, and program - Google Patents

Secure element, terminal device, verification system, verification method, and program Download PDF

Info

Publication number
JP2019097034A
JP2019097034A JP2017225063A JP2017225063A JP2019097034A JP 2019097034 A JP2019097034 A JP 2019097034A JP 2017225063 A JP2017225063 A JP 2017225063A JP 2017225063 A JP2017225063 A JP 2017225063A JP 2019097034 A JP2019097034 A JP 2019097034A
Authority
JP
Japan
Prior art keywords
data
verification
unit
terminal device
valid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017225063A
Other languages
Japanese (ja)
Other versions
JP6992440B2 (en
Inventor
寛之 丹
Hiroyuki Tan
寛之 丹
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 Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toppan Printing Co Ltd filed Critical Toppan Printing Co Ltd
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

Abstract

To provide a terminal device capable of improving safety while suppressing design cost or device cost of the terminal device.SOLUTION: The present invention relates to a secure element connectable between a first function part and a second function part communicating with each other. The secure element comprises: an acquisition part for acquiring notice data of which the second function part is notified from the first function part; a verification part for verifying validity of the data acquired by the acquisition part; and a data processing part by which, due to a verification result verified by the verification part, in a case where the notice data are discriminated valid, the notice data are outputted to the second function part and in a case where the notice data are discriminated invalid, the notice data are discarded.SELECTED DRAWING: Figure 1

Description

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

近年、センサなどを様々な場所に設置して、それぞれの場所の環境データや撮像データを取得するシステムが普及している。このようなシステムでは、端末装置からサーバ装置に対してデータが送信され、サーバ装置から端末装置に対して制御データが送信される。これらのデータの送受信がネットワークを介して行われる場合、悪意ある攻撃者がサーバ装置になりすまして端末装置からのセンシングデータを不正に取得したり、端末装置に対して不正な制御データを送信したりすることが起こり得る。このような不正を抑制するため、受信したデータを端末装置が検証する技術が開示されている(例えば、特許文献1)。   BACKGROUND In recent years, systems that install sensors and the like at various places and acquire environmental data and imaging data of the respective places have 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 transmission and reception of these data is performed via a network, a malicious attacker spoofs the server device and illegally acquires sensing data from the terminal device, or transmits illegal control data to the terminal device. It can happen. In order to suppress such fraud, there is disclosed a technique in which a terminal device verifies received data (for example, Patent Document 1).

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

しかしながら、このようなシステムでは、端末装置のCPU(Central Processing Unit)は主にセンサを制御することを想定して設計されており、受信データを検証する処理能力を備えていない場合がほとんどである。このような場合に、端末装置に受信データを検証させようとすると、端末装置のCPUを高い処理能力を有するものにして設計し直したり、メモリを増設したりする必要があり端末装置の設計コストや装置コストが増大してしまう。   However, in such a system, the CPU (Central Processing Unit) of the terminal device is designed mainly to control the sensor, and in most cases, it does not have the processing capability to verify received data. . In such a case, if the terminal device is to verify received data, the CPU of the terminal device needs to be redesigned with a high processing capability, and it is necessary to add a memory, which is a design cost of the terminal device. And equipment costs 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, verification that can improve the safety while suppressing the design cost and the device cost of the terminal device. A method and a program are provided.

上述した課題を解決するために、本発明の一態様は、相互に通信する第1機能部と第2機能部との間に接続可能なセキュアエレメントであって、前記第1機能部から前記第2機能部に対して通知する通知データを取得する取得部と、前記取得部により取得されたデータの正当性を検証する検証部と、前記検証部により検証された検証結果に基づいて、前記通知データが正当であると判定される場合には前記通知データを前記第2機能部に対して出力し、前記通知データが正当でないと判定される場合には前記通知データを破棄するデータ処理部とを有することを特徴とする。   In order to solve the problems described above, an aspect of the present invention is a secure element connectable between a first functional unit and a second functional unit that communicate with each other, the first functional unit including the first functional unit The notification based on the verification result verified by the verification unit, the verification unit verifying the validity of the data acquired by the acquisition unit that acquires notification data notified to the two functional units, and the verification unit A data processing unit that outputs the notification data to the second function unit when it is determined that the data is valid, and discards the notification data when it is determined that the notification data is not valid It is characterized by having.

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

第1の実施形態の検証システム1の構成例を示すシステム構成図である。It is a system configuration figure showing an example of composition of verification system 1 of a 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 showing an example of layer composition of secure element 40 of a 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 reception data acquisition process of SE40 of 1st Embodiment. 第1の実施形態のSE40の受信データ検証処理の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the reception data verification process of SE40 of 1st Embodiment. 第1の実施形態のSE40の受信データ処理の動作例を示すフローチャートである。It is a flowchart which shows the operation example of reception data processing of SE40 of 1st Embodiment. 第1の実施形態の検証システム1の動作例を示すシーケンスチャートである。It is a sequence chart which shows the operation example of verification system 1 of a 1st embodiment. 第1の実施形態の検証システム1の比較例として検証機能を有しないシステムの動作例を示すシーケンスチャートである。It is a sequence chart which shows the operation example of the system which does not have a verification function as a comparative example of verification system 1 of a 1st embodiment. 第2の実施形態のSE40Aの機能構成例を示すプロック図である。It is a block diagram showing an example of functional composition of SE40A of a 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 verification system 1A of a 2nd embodiment. 第2の実施形態の検証システム1Aの検証を再開させる動作例を示すシーケンスチャートである。It is a sequence chart which shows the operation example which restarts verification of verification system 1A of a 2nd embodiment.

以下、実施形態のセキュアエレメント、端末装置、検証システム、検証方法、及びプログラムを、図面を参照して説明する。   Hereinafter, a secure element, a terminal device, a verification system, a verification method, and a program according to 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 a 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 communicably connected to each other via the communication network 20. The terminal device 30 is connected to an IC chip (hereinafter referred to as SE (Secure Element)) SE 40 having a verification function. In the verification system 1, by making the SE 40 verify the legitimacy of data transmitted and received by the terminal device 30, malicious unauthorized data is excluded and the security of the terminal device 30 is maintained. 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 the “external device”.

サーバ装置10は、端末装置30から送信されたデータを蓄積する。サーバ装置10は、蓄積したデータに基づいて様々なサービスをユーザに提供する。また、サーバ装置10は、端末装置30に対して端末装置30の各機能部を制御する制御データを送信する。
サーバ装置10は単数あるいは複数のクラウドサーバであってもよい。サーバ装置10が複数のクラウドサーバである場合、例えば、サーバ装置10はネットワーク上に設けられた複数のクラウドサーバを互いに連携させることにより実現される。
The server device 10 accumulates data transmitted from the terminal device 30. The server device 10 provides various services to the user based on the stored 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 one or more cloud servers. When the server device 10 is a plurality of cloud servers, for example, the server device 10 is realized by causing a plurality of cloud servers provided on the network to cooperate 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 around the location where the terminal device 30 is provided and transmits imaging data to the server device 10.
In the following description, although the case where terminal device 30 is a network camera is illustrated and explained, it is not limited to this. The terminal device 30 may be a network sensor that acquires environmental data such as temperature and humidity of a place where the terminal device 30 is provided, or may be a portable terminal or the like that notifies location data of the place where the user is present. . The terminal device 30 may be a smart home appliance or the like that notifies the user of the operation status of an appliance such as an air conditioner via a network or starts or stops the appliance by the operation of the user.

端末装置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 exchange is performed between the control chip 32 and each of the sensor modules 34 by, for example, serial communication. For serial communication, for example, a universal asynchronous receiver / transmitter (UART), a serial peripheral interface (SPI), an I-squared-C (I-squared-C), or the like is 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 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, based on the data acquired from the SE 40, which sensor module 34 of the plurality of sensor modules 34 causes sensing, or which time interval causes sensing, and the like.
The control chip 32 also acquires 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 imaging module having an imaging function. In this case, the sensor module 34 captures an image of a surrounding scene and outputs imaging data to the control chip. The sensor module 34 may also be an environmental 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.
Also, the sensor module 34 may have a function of outputting to the surroundings as well as acquiring the surrounding situation. The sensor module 34 may be, for example, a display that displays an image, a speaker that outputs a sound, or the like. In addition, 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 operation status according to an 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 SE 40 is, for example, a verification chip provided with a verification function or an encryption function. The SE 40 is called, for example, a secure IC chip, a secure chip, a secure IC or the like. The SE 40 may have a robust structure that protects information from external malicious attacks, and may be tamper resistant. However, the SE 40 only needs to have a verification function or an encryption function, and is not limited to a tamper-resistant secure IC chip. For example, the SE 40 may be an IC chip provided with a cryptographic library.
In addition, the SE 40 may be, for example, an IC card in which the SE 40 is mounted on a card device such as plastic, or a SIM card (Subscriber Identity Module Card). In this case, the SE 40 communicates with the terminal device 30 via the contact portion of the IC card or SIM card. The contact portion has terminals for various signals necessary for the operation of the IC card or SIM card. The terminals of the various signals are terminals for receiving the supply of the power supply voltage, the clock signal and the reset signal from the terminal device 30, and serial data input / output terminals for communicating 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 an example of the configuration of the SE 40 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 using the hardware of SE 40.
The hardware of the SE 40 includes, for example, configurations of a Universal Asynchronous Receiver Transmitter (UART), a CPU, a Read Only Memory (ROM), a Random Access Memory (RAM), and an Electrically Erasable Programmable ROM (EEPROM). 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 the ROM, and performs communication between the terminal devices 30. The communication unit 400 receives a command from the terminal device 30 and transmits a 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. Also, 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 an EEPROM, and controls the SE 40 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 a command included in the received data of the terminal device 30, and controls each unit corresponding to various processes in the SE 40.
The acquisition unit 412 acquires reception 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 legitimacy 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 until the terminal device 30 receives the data. 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 of the server device 10 or the like.
The verification unit 413 verifies the legitimacy of the received data using, for example, a one-way 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 obtained by 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 an 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 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 It is verified whether the received data is valid or not by comparing and verifying the attached (attached) electronic signature and the value corresponding to the message authentication.
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 an EEPROM, and stores a basic program for the control unit 410 to operate. The storage unit 420 stores various programs necessary for verification processing. The storage unit 420 includes a storage area as a work area temporarily used by 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 verification processing 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 an example of the layer configuration of the SE 40 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 includes 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 SE 40, and other applications 452 for realizing other functions of the SE 40. Be done.
The software control layer 460 manages various libraries (encryption library 461 and IO library 462) for calling functions implemented in the hardware control layer 470 from the application layer 450, and manages various applications implemented in the application layer 450. Functions (application management 463 and other APIs 464) are implemented.
The hardware control layer 470 includes a cryptographic processor 471 implemented as a hardware circuit, and a memory control 472 for controlling a storage area in which various programs corresponding to the storage function unit (storage unit 420) of the SE 40 are stored. Control 473 is implemented. Further, in the hardware control layer 470, an interface 474 responsible for communication with the outside corresponding to the communication function unit (communication unit 400) of the SE 40 is mounted.
In the verification system 1, the SE 40 transmits and receives data to and from each unit (the communication module 31 and the control chip 32) of the terminal device 30 by serial communication via the interface 474.
The data received by 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 legitimacy 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 to the control chip 32 via the interface 474.

ここで、SE40の動作について図4から図7を用いて説明する。
図4は、第1の実施形態のSE40の動作例を示すフローチャートである。
図4に示すように、まず、SE40は、取得部412により受信データを取得する受信データ取得処理を行う(ステップS110)。次に、SE40は、検証部413により受信データを検証する受信データ検証処理を行う(ステップS120)。そして、SE40は、データ処理部414により受信データを破棄又は出力する受信データ処理を行う(ステップS130)。以下、ステップS110、S120、S130の各処理について詳細を説明する。
Here, the operation of the SE 40 will be described using FIGS. 4 to 7.
FIG. 4 is a flowchart showing an operation example of the SE 40 of the first embodiment.
As shown in FIG. 4, first, the SE 40 performs received data acquisition processing for acquiring received data by the acquisition unit 412 (step S110). Next, the SE 40 performs received data verification processing to verify the received data by the verification unit 413 (step S120). Then, the SE 40 performs received data processing to discard or output 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 reception data acquisition process of the SE 40 of the first embodiment.
As shown in FIG. 5, the acquisition unit 412 waits for reception of reception 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 received data is written in the received data storage unit 421 (step S112).
When the reception data is written in the reception data storage unit 421, the acquisition unit 412 outputs the reception data to the verification unit 413 (step S113).
On the other hand, when the reception data is not written in the reception data storage unit 421, the acquisition unit 412 returns to step S111 and waits for reception of the reception 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 received data verification processing of the SE 40 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 feature of the received data. Therefore, when the received data is falsified, the hash value of the falsified received data becomes information different from the hash value of the valid received data that is not falsified. On the other hand, the verification information storage unit 422 stores a hash value of valid received data.
The verification unit 413 determines whether the calculated hash value (calculation result) matches the hash value stored in the verification information storage unit 422 (step S122).
If 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, when 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 to the data processing unit 414 together with the determination result (step S125).

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

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

(ステップ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 the SE 40 of the first embodiment.
As shown in FIG. 7, the data processing unit 414 determines whether 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 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. Determines that the received data is not valid.
If 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 SE 40 waits for an instruction (transmission instruction) for transmitting reception data (step S133). The transmission instruction is acquired by the control chip 32 via the communication unit 400 by the command processing unit 411. The command processing unit 411 outputs a signal indicating an instruction to transmit the reception data stored in the transmission data storage unit 423 to the terminal device 30 to the communication unit 400 based on the acquired transmission instruction.
The communication unit 400 transmits the reception 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, if the received data is not valid, the data processing unit 414 discards the received data (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 (the communication module 31, the control chip 32, the sensor module 34, and the SE 40) is activated based on a signal instructing the 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 legitimacy of the received data (step S206). The SE 40 verifies the legitimacy of the data by executing the processing of each of the steps S110, S120, and S130 described above. Hereinafter, each of steps S207 to S213 is processing when the data is valid. If the legitimacy of the data can not be confirmed in step S206, the data is discarded, and the processing of steps S207 to S213 is not executed.
If the legitimacy 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 process result data to be notified as a result of the process 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 legitimacy of the data (step S210). The SE 40 verifies the legitimacy of the data by executing the processing of each of the steps S110, S120, and S130 described above. Thereby, for example, even if the processing result data created by the control chip 32 is illegally rewritten by a person who illegally obtained the ID and password of the terminal device 30, the illegal processing result data is sent to the server device 10. Control that it is sent.
If the legitimacy 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 SE 40 of the first embodiment can connect the SE 40 (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. Acquisition unit 412 for acquiring notification data to be notified from the communication module 31 to the control chip 32, a verification unit 413 for verifying the validity of the data acquired by the acquisition unit 412, and a verification unit 413. The data processing unit 414 outputs the data to the control chip 32 when it is determined that the data is valid based on the verification result, and discards the data when it is determined that the data is not valid. Have.
As a result, the SE 40 according to the first embodiment verifies the validity of the data by the verification unit 413, and can output only the data determined to be valid to the control chip 32, and the data determined to be invalid is not valid. It can be destroyed. Therefore, the SE 40 according to the first embodiment can suppress the transmission and reception of unauthorized data between the communication module 31 of the terminal device 30 and the control chip 32, thereby improving the safety of the terminal device 30. It can be done. Further, since the legitimacy of the data is verified by the SE 40, the processing load on the control chip 32 does not increase, and therefore, it is not necessary to use an expensive chip in order to enhance the processing capability of the control chip 32. That is, the device cost of the terminal device 30 can be suppressed.
The SE 40 according to the first embodiment is an SE 40 connectable between the communication module 31 and the control chip 32 of the terminal device 30 that can mutually communicate with the server device 10 via the communication network 20, and is obtained The unit 412 acquires data transmitted from the server device 10 to the terminal device 30. Thus, the SE 40 according to the first embodiment can determine the legitimacy of the data notified via the communication network 20, and thus determines that the SE 40 is not valid, for example, when the data has been falsified on the network. Data can be discarded, and the malicious attack on the terminal device 30 via the communication network 20 can be suppressed, and the security thereof can be improved.
In addition, in SE 40 of the first embodiment, the verification unit 413 determines whether the received data is valid by calculating a hash value of the received data. As a result, the verification unit 413 can verify the legitimacy of the received data by a simple method of comparing the calculated hash value with the hash value of valid received data for which the received data has not been falsified.

ここで、第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 according to 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 the SE 40.
As shown in FIG. 9, in the system not having the verification function, the terminal device 30 is first activated (step S301). For the activation of the terminal device 30, processing similar to that of step S201 described above is performed. However, since the terminal apparatus is not provided with the SE 40, the SE 40 is not activated. The unauthorized server device 100 generates unauthorized 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 illegitimate data transmitted by the illegitimate server device 100 (step S304). The communication module 31 extracts a data area from the received illegitimate data, and outputs the extracted illegitimate data to the control chip 32 (step S305).
The control chip 32 executes an unauthorized process based on the content of the unauthorized data received from the communication module 31 (step S306). As a result, in the terminal device not having the verification function, the operation of the sensor module 34 is illegally changed, and an illegal process is performed.
Thereafter, 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 illegal result. The control chip 32 outputs incorrect processing result data to the SE 40 (step S312). The communication module 31 receives invalid data from the control chip 32, and transmits the invalid data to the server device 10 (step S314).

このように、検証機能を有しないシステムでは、不正なサーバ装置100などにより送信された不正なデータに基づいた処理が実行されてしまい、不正なデータがサーバ装置10に送信されてしまう。不正なデータがサーバ装置10に送信されてしまうことで、サービスの停止などの事態に繋がる可能性がある。
これに対し、実施形態1の検証システム1においては、端末装置30が不正なデータを受信した場合であっても、SE40が不正なデータを破棄するため、制御チップ32が不正なデータを取得することはない。このため、センサモジュール34に対し不正な処理が行われることがない。
As described above, in a system that does not have the 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. The transmission of illegal data to the server device 10 may lead to a situation such as a stop of service.
On the other hand, in the verification system 1 according to the first embodiment, even if the terminal device 30 receives the illegal data, the SE 40 discards the illegal data, so the control chip 32 acquires the illegal data. There is nothing to do. For this reason, the sensor module 34 is not subjected to an unauthorized process.

<第2の実施形態>
次に、第2の実施形態について説明する。
第2の実施形態では、サーバ装置10Aが端末装置30Aに対して相互認証を要求する点において上記第1の実施形態の構成と相違する。ここで、相互認証とは、相互に通信を行う装置の双方が互いに相手の正当性を認証することである。例えば、サーバ装置10Aと端末装置30Aとが相互に通信を行う場合、サーバ装置10Aは端末装置30Aの正当性を認証し、端末装置30Aはサーバ装置10Aの正当性を認証する。
Second Embodiment
Next, a second embodiment will be described.
The second embodiment differs from the configuration of the first embodiment in that the server device 10A requests the terminal device 30A for mutual authentication. 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 legitimacy of the terminal device 30A, and the terminal device 30A authenticates the legitimacy of the server device 10A.

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

また、第2の実施形態では、データの検証が一時的に停止されている場合に、相互認証済みのサーバ装置10Aが検証の再開を要求する点において上記第1の実施形態の構成と相違する。相互認証済みのサーバ装置10Aの要求に応じて、検証を再開させることでシステムの安全性を向上させることが可能となる。   The second embodiment is different from the configuration of the first embodiment in that the mutually authenticated server device 10A requests resumption of verification when verification of data is temporarily stopped. . The security of the system can be improved by resuming 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 an example of a functional configuration of the SE 40A of the second embodiment. As shown in FIG. 10, in the second embodiment, the verification unit 413A of the SE 40A performs processing different from that of the first embodiment. In addition, the SE 40A includes a verification stop information storage unit 424.
The verification stop information storage unit 424 stores a verified flag. The verified flag is a variable indicating whether or not mutual authentication is completed, and is a variable stored for each device that has transmitted data to the terminal device 30A. In the initial state where mutual authentication has not been performed or when mutual authentication has been performed but the legitimacy of the communication destination has not been verified, “0” is stored in the verified flag. As a result of performing mutual authentication, when the legitimacy of the communication destination is verified, “1” is stored as the verified 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 for requesting mutual authentication, the verification unit 413A verifies the legitimacy of the server device 10A. For example, the verification unit 413A acquires a server certificate from data transmitted from the server device 10A, and compares the acquired server certificate with a certificate of a valid server stored in advance in the verification information storage unit 422. The validity of the server device 10A is verified by If the verification unit 413A determines that the server device 10A is valid, the verification unit 413A writes “1” in the verification completed flag and stores the result.
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に報告する。   If the verification unit 413A determines that the server device 10A is not valid, the verification unit 413A reports that the server device 10A is not valid (illegal connection) to the control chip 32 via the communication unit 400.

また、検証部413Aは、検証済みフラグに「1」が記憶されている場合であって、サーバ装置10Aから送信されたデータに検証の再開を要求するデータが含まれていた場合、検証済みフラグに「0」を書込んで記憶させる。
検証部413Aは、検証済みフラグに「0」が記憶されている場合、上記第1の実施形態と同様に、サーバ装置10Aから送信されたデータを検証し、データが正当であると判定する場合に当該データを制御チップ32に出力する。
In addition, in the case where the verification unit 413A stores “1” in the verified flag, and the data transmitted from the server device 10A includes data for requesting resumption of verification, the verified flag 413A is verified. Write “0” to and store it.
When “0” is stored in the verified flag, the verifying unit 413A verifies the data transmitted from the server device 10A as in the first embodiment, and determines that the data is valid. And output the data 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 SE 40A of the second embodiment will be described using FIG. 11 and FIG.
FIG. 11 is a flowchart showing an operation example of the SE 40A of the second embodiment.
As shown in FIG. 11, first, the SE 40A performs reception data acquisition processing for acquiring reception 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 it is indicated that the request for mutual authentication is required at a predetermined portion of the received data, the verification unit 413A determines that the received data requires mutual authentication.
If the verification unit 413A determines that the received data requires mutual authentication, the verification unit 413A performs mutual authentication processing to perform mutual authentication with the server device 10A (step S401).
The verification unit 413A determines whether the mutual authentication has ended normally (step S402). When the mutual authentication ends normally, 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 the same (step S404). Then, the verification unit 413A reports to the control chip 32 that there is an unauthorized connection in which the mutual authentication is not normally completed (Step S405).

検証部413Aは、ステップS400において、受信データが相互認証を要求するものでない場合、受信データが検証の再開を要求するものか否かを判定する(ステップS406)。検証部413Aは、受信データが検証の再開を要求するものである場合、相互認証済みフラグに「0」を書込んで記憶させる(ステップS407)。   In step S400, if the received data does not require mutual authentication in step S400, the verifying unit 413A determines whether the received data requests resumption of verification (step S406). If the received data is a request to restart 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, if the received data does not require resumption of verification, the verification unit 413A determines whether the mutual authentication completion flag is “1” (step S408). If the received data does not request mutual authentication and does not request to restart verification, the received data is control data that controls each functional unit (for example, sensor module 34) of the terminal device 30A.
When the mutual authentication completion 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 completion flag is “0”, the verification unit 413A performs the verification process of step S120 of the first embodiment to verify the legitimacy of the received data.

図12は、第2の実施形態のSE40Aの相互認証の処理の動作例を示すフローチャートである。
図12に示すように、相互認証を行う場合、検証部413Aは、まず、受信データに含まれるサーバ装置10Aの相互認証データを検証する(ステップS500)。検証部413Aは、サーバ装置10Aの相互認証データに施された暗号を共通鍵で復号してサーバ証明書を取得し、取得したサーバ証明書が、検証情報記憶部422に記憶させたサーバ証明書と一致した場合にサーバ装置10Aが正当な通信先であると判定し、相互認証データの検証が正常に終了したと判定する。また、乱数を用いて相互認証を行ってもよい。
FIG. 12 is a flowchart illustrating an operation example of the mutual authentication process of the SE 40A according to 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 decrypts the encryption performed on the mutual authentication data of the server device 10A with the common key to acquire a server certificate, and the server certificate in which the acquired server certificate is stored in the verification information storage unit 422. When it agrees with the above, it is determined that the server device 10A is a valid communication destination, and it is determined that the verification of the mutual authentication data has ended normally. Also, 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)。
When the verification of the mutual authentication data ends normally, the verification unit 413A creates mutual authentication data on the terminal device 30A side to transmit to the server device 10A, and creates the created mutual authentication data as the communication unit 400, and the communication module 31 to the server apparatus 10A (step S502).
After transmitting the mutual authentication data on the terminal device 30A side to the server device 10A, the verification unit 413A 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 the received data is a response to the mutual authentication data transmitted to the server device 10A (step S504). If the received data is a response to the transmitted mutual authentication data, the verifying unit 413A determines whether the response indicates normal termination (step S505). Then, if the verification unit 413A indicates that the response has ended normally, the verification unit 413A determines that the mutual authentication has ended normally (step S506).

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

また、検証部413Aは、ステップS504において、受信データが送信した相互認証データに対する応答でない場合、受信データが端末装置30Aの各機能部(例えば、センサモジュール34)を制御する制御データであるとみなし、上記第1の実施形態のステップS120の検証処理を行い、受信データの正当性を検証する。   If the received data is not a response to the transmitted mutual authentication data in step S504, the verifying unit 413A determines that the received data is control data for controlling each functional unit (for example, sensor module 34) of the terminal device 30A. The verification process of step S120 of the first embodiment is performed to verify the legitimacy 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-described mutual authentication is performed between the server device 10A and the SE 40A (step S601). After the mutual authentication ends normally, 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 SE 40A (step S605).
The SE 40A receives the data transmitted by the communication module 31, and outputs the data to the control chip 32 (step S607) without verifying the legitimacy of the received data (step S606).
The control chip 32 executes a process based on the content of the data received from the SE 40A (step S608). The control chip 32 creates process result data to be notified as a result of the process executed to the server device 10A. The control chip 32 outputs the created processing result data to the SE 40A (step S609).

SE40Aは、制御チップ32により送信された処理結果データを受信し、データの正当性を検証することなく(ステップS610)、通信モジュール31に出力する(ステップS611)。
通信モジュール31は、SE40Aにより出力されたデータを受信する(ステップS612)。通信モジュール31は、受信したデータを、通信ネットワーク20の通信プロトコルに従ってサーバ装置10Aに送信する(ステップS613)。
The SE 40A receives the processing result data transmitted by the control chip 32, and outputs it to the communication module 31 (step S611) without verifying the validity of the data (step S610).
The communication module 31 receives the data output by the SE 40A (step S612). The communication module 31 transmits the received data to the server device 10A in accordance with 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 a process of restarting verification of the verification system 1A of the second embodiment.
As shown in FIG. 14, first, the above-described mutual authentication is performed between the server device 10A and the SE 40A (step S601).
After the mutual authentication ends normally, the server device 10A generates data for requesting the terminal device 30A to resume 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 SE 40A (step S605).
The SE 40A receives the data transmitted by the communication module 31, and sets the mutual authentication completion flag to “0” based on the received data for requesting resumption of verification (step S706). The SE 40A creates response data to the received data requesting restart of verification (step S708). The SE 40A outputs the created response data to the communication module 31 (step S709).
The communication module 31 receives the data output by the SE 40A (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 SE 40A 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. Then, it is determined whether or not the server device 10A is valid. Thus, in SE 40A of the second embodiment, it can be determined whether or not the server device 10A is a valid communication destination.
Further, in the terminal device 30A according to the second embodiment, the verification unit 413A outputs the determination result to the terminal device 30A when the mutual authentication determines that the server device 10A is not valid. Thereby, in the SE 40A of the second embodiment, the terminal device 30A is made to recognize that there is a possibility that an attack is not made from a device not supposed to be a valid communication destination, that is, an unauthorized server device. Can.
Further, in SE 40A of the second embodiment, if the verification unit 413A determines that the server device 10A is valid based on the authentication result of the mutual authentication, it is determined 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 legitimacy.
Thereby, in SE 40A of the second embodiment, the verification unit 413A determines whether the communication partner is a valid device, and the verification processing can be omitted when the communication partner is a valid device, so verification 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, the verification unit 413A determines that the data transmitted from the server device 10A to the terminal device 30A includes data for requesting verification of the validity of the data. And verifies the legitimacy of the received data, and when it is determined that the received data is valid, the received data is output to the terminal device 30A. Thus, in the SE 40A of the second embodiment, the verification is resumed even if the verification process is omitted after it is determined from the server device 10A whether or not the communication partner is a valid device according to a request. 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 embodiment described above, the case where the server device 10 (10A) and the terminal device 30 (30A) communicate with each other via the communication network 20 is described as an example, but the invention is not limited thereto. . The server device 10 (10A) may be an 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.
In addition, the communication network 20 is a mobile telephone network such as 3G (3rd Generation), 4G (4th Generation), LTE (Long Term Evolution), a transmission path of wireless communication such as Wi-Fi, Bluetooth (registered trademark), and USB. It may be a transmission path of 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 path of the wireless communication and the wired communication.

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

また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。   The program may be transmitted from a computer system in which the program is stored in a storage device or the like to another computer system via a transmission medium or by transmission waves in the transmission medium. Here, the “transmission medium” for transmitting the program is 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 a part of the functions described above. Furthermore, 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 certain embodiments of the present invention have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the invention. These embodiments can be implemented in other various forms, and various omissions, replacements, and modifications can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the invention described in the claims and the equivalents thereof as well as included in the scope and the gist of the invention.

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

Claims (13)

相互に通信する第1機能部と第2機能部との間に接続可能なセキュアエレメントであって、
前記第1機能部から前記第2機能部に対して通知する通知データを取得する取得部と、
前記取得部により取得されたデータの正当性を検証する検証部と、
前記検証部により検証された検証結果に基づいて、前記通知データが正当であると判定される場合には前記通知データを前記第2機能部に対して出力し、前記通知データが正当でないと判定される場合には前記通知データを破棄するデータ処理部と
を有することを特徴とするセキュアエレメント。
A secure element connectable between a first function unit and a second function unit that communicate with each other, the secure element comprising:
An acquisition unit for acquiring notification data to be notified from the first functional unit to the second functional unit;
A verification unit that verifies the legitimacy of the data acquired by the acquisition unit;
When it is determined that the notification data is valid based on the verification result verified by the verification unit, the notification data is output to the second function unit, and it is determined that the notification data is not valid. And a data processing unit that discards the notification data, if any.
外部装置と相互に通信可能な端末装置の通信モジュールと制御チップとの間に接続可能なセキュアエレメントであって、
前記取得部は、前記外部装置から前記端末装置に送信された受信データを前記通知データとして取得する
ことを特徴とする請求項1に記載のセキュアエレメント。
A secure element connectable between a communication module of a terminal device capable of mutually communicating with an external device and a control chip,
The secure element according to claim 1, wherein the acquisition unit acquires, as the notification data, reception data transmitted from the external device to the terminal device.
前記検証部は、前記取得部により取得されたデータのハッシュ値、電子署名、及びメッセージ認証のうち少なくとも一つを算出する前記データが正当であるか否かを判定する
を更に備えることを特徴とする請求項1又は請求項2に記載のセキュアエレメント。
The verification unit may further include determining whether the data for calculating at least one of a hash value of the data acquired by the acquisition unit, an electronic signature, and a message authentication is valid. The secure element according to claim 1 or claim 2.
前記検証部は、前記受信データに前記外部装置からの相互認証の要求を示すデータが含まれる場合、前記外部装置との間で相互認証を行い、前記外部装置が正当であるか否かを判定する
ことを特徴とする請求項2に記載のセキュアエレメント。
When the received data includes data indicating a request for mutual authentication from the external device, the verification unit performs mutual authentication with the external device, and determines whether the external device is valid. The secure element according to claim 2, characterized in that:
前記検証部は、前記相互認証の認証結果により前記外部装置が正当でないと判定した場合、前記制御チップに対して判定結果を出力する
ことを特徴とする請求項4に記載のセキュアエレメント。
The secure element according to claim 4, wherein the verification unit outputs the determination result to the control chip when it determines that the external device is not valid based on the authentication result of the mutual authentication.
前記検証部は、前記相互認証の認証結果により前記外部装置が正当であると判定した場合、前記受信データのうち、前記正当であると判定した前記外部装置から送信されたデータについて、その正当性を検証することなく前記制御チップに出力する
ことを特徴とする請求項4又は請求項5に記載のセキュアエレメント。
If the verification unit determines that the external device is valid based on the authentication result of the mutual authentication, the validity of the data transmitted from the external device determined to be valid among the received data is determined. The secure element according to claim 4 or 5, wherein the secure element is output to the control chip without verifying.
前記検証部は、前記受信データに、データの正当性の検証を要求するデータが含まれていた場合、前記外部装置が正当であると判定したか否かに関わらず、前記受信データの正当性を検証し、前記受信データが正当であると判定した場合に前記受信データを前記制御チップに出力する
ことを特徴とする請求項6に記載のセキュアエレメント。
If the verification unit determines that the external device is valid when the received data includes data requiring verification of the validity of the received data, the validity of the received data is determined. The secure element according to claim 6, wherein the received data is output to the control chip if it is determined that the received data is valid.
外部装置と相互に通信可能な端末装置であって、
請求項1から請求項7のいずれかに記載のセキュアエレメントと、
前記セキュアエレメントに対してデータを出力し、前記セキュアエレメントにより正当であると判定された前記データを前記セキュアエレメントから取得する制御チップと、
を備えることを特徴とする端末装置。
A terminal device that can communicate with an external device,
A secure element according to any of claims 1 to 7;
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 comprising:
前記端末装置は、通信ネットワークを介して前記外部装置と相互に通信する
ことを特徴とする請求項8に記載の端末装置。
The terminal device according to claim 8, wherein the terminal device mutually communicates with the external device via a communication network.
請求項8又は請求項9に記載の端末装置と、
前記端末装置に対し、前記端末装置との相互認証を要求するデータ、又は前記端末装置が受信した受信データの正当性を検証させるか否かを命令するデータの少なくとも一方を含むデータを送信する外部装置と
を備えることを特徴とする検証システム。
A terminal device according to claim 8 or 9;
An external device that transmits data including at least one of data requesting mutual authentication with the terminal device, and data instructing whether the terminal device is to verify the legitimacy of received data, to the terminal device And a device.
前記外部装置は、通信ネットワークを介して前記端末装置にデータを送信する
ことを特徴とする請求項10に記載の検証システム。
The verification system according to claim 10, wherein the external device transmits data to the terminal device via a communication network.
相互に通信する第1機能部と第2機能部との間に接続可能なセキュアエレメントの検証方法であって、
取得部が、前記第1機能部から前記第2機能部に対して通知する通知データを取得する取得工程と、
検証部が、前記取得工程により取得されたデータの正当性を検証する検証工程と、
データ処理部が、前記検証工程により検証された検証結果に基づいて、前記通知データが正当であると判定される場合には前記通知データを前記第2機能部に対して出力し、前記通知データが正当でないと判定される場合には前記通知データを破棄する工程と
を有する検証方法。
A verification method of a secure element connectable between a first function unit and a second function unit that communicate with each other, comprising:
An acquiring step of acquiring notification data to be notified from the first functional unit to the second functional unit;
A verification process in which a verification unit verifies the correctness of the data acquired by the acquisition process;
The data processing unit outputs the notification data to the second function unit when it is determined that the notification data is valid based on the verification result verified by the verification step, and the notification data is output. And c. Discarding the notification data if it is determined that the notification data is not valid.
相互に通信する第1機能部と第2機能部との間に接続可能なセキュアエレメントのコンピュータに、
前記第1機能部から前記第2機能部に対して通知する通知データを取得する取得工程と、
前記取得工程により取得されたデータの正当性を検証する検証工程と、
前記検証工程により検証された検証結果に基づいて、前記通知データが正当であると判定される場合には前記通知データを前記第2機能部に対して出力し、前記通知データが正当でないと判定される場合には前記通知データを破棄する工程と
を実行させるプログラム。
In the computer of the secure element connectable between the first function unit and the second function unit that communicate with each other,
An acquiring step of acquiring notification data to be notified from the first functional unit to the second functional unit;
A verification step of verifying the correctness of data acquired by the acquisition step;
When it is determined that the notification data is valid based on the verification result verified in the verification step, the notification data is output to the second function unit, and it is determined that the notification data is not valid. Discarding the notification data, if any.
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 true JP2019097034A (en) 2019-06-20
JP6992440B2 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
JP6992440B2 (en) 2022-01-13

Similar Documents

Publication Publication Date Title
US9386045B2 (en) Device communication based on device trustworthiness
CN107592964B (en) System, apparatus and method for multi-owner transfer of ownership of a device
CN111542822B (en) Electronic device and method for sharing screen data
CN114556865A (en) Electronic device and method for managing block chain address by using same
US8397274B2 (en) Method for authenticating device capabilities to a verified third party
US10984084B2 (en) System, device management system, and methods for the same
KR20200104043A (en) Electronic device for storing user identification information and method thereof
US20150365827A1 (en) Methods and systems for authentication of a communication device
JP2023509896A (en) DEVICE SHARING METHODS AND ELECTRONIC DEVICES
KR20190033380A (en) Authenticating a networked camera using a certificate having device binding information
CN113826137A (en) Electronic device and method for receiving push messages stored in blockchain
CN114450663A (en) Electronic device for updating firmware by using secure integrated circuit and operation method thereof
CN107223322B (en) Signature verification method, device and system
JP2018067807A (en) Electronic signature system, electronic signature client, electronic signature program, server, and electronic signature method
JP6992440B2 (en) Secure elements, terminals, verification systems, verification methods, and programs
EP4044500B1 (en) Electronic device for ensuring integrity of electronic device intrinsic information, and operating method therefor
EP2407904B1 (en) Method for authenticating device capabilities to a verified third party
US11921857B2 (en) Electronic device for providing service by using secure element, and operating method thereof
CN115146253A (en) Mobile App login method, mobile device and system
JP7106845B2 (en) Terminal device and verification method
CN105323287B (en) Third-party application program login method and system
CN112020065B (en) Information processing method, terminal equipment, server and storage medium
CN109671229B (en) Cash register and safety verification method thereof
JP2018113504A (en) Secure element, UIM card, authentication method, and authentication program
KR20240003681A (en) Electronic device for providing encryption service and method of operating the same

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 Request for written amendment filed

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