JP2019101807A - Device, secure element, program, information processing system, and information processing method - Google Patents

Device, secure element, program, information processing system, and information processing method Download PDF

Info

Publication number
JP2019101807A
JP2019101807A JP2017232691A JP2017232691A JP2019101807A JP 2019101807 A JP2019101807 A JP 2019101807A JP 2017232691 A JP2017232691 A JP 2017232691A JP 2017232691 A JP2017232691 A JP 2017232691A JP 2019101807 A JP2019101807 A JP 2019101807A
Authority
JP
Japan
Prior art keywords
unit
parameter
secure
learned model
parameters
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
JP2017232691A
Other languages
Japanese (ja)
Other versions
JP7052325B2 (en
Inventor
正徳 浅野
Masanori Asano
正徳 浅野
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2017232691A priority Critical patent/JP7052325B2/en
Publication of JP2019101807A publication Critical patent/JP2019101807A/en
Priority to JP2021175553A priority patent/JP7419325B2/en
Application granted granted Critical
Publication of JP7052325B2 publication Critical patent/JP7052325B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

To provide a device or the like capable of safely executing processing using machine learning results.SOLUTION: A device 1 includes an execution unit configured to execute arithmetic processing and, as a component that is more secure than the execution unit, a secure unit configured to store parameters for developing a learned model generated by machine learning. The execution unit acquires the parameters from the secure unit, develops the learned model in a memory on the basis of the acquired parameters, and executes arithmetic processing on the basis of the developed learned model.SELECTED DRAWING: Figure 1

Description

本発明は、デバイス、セキュアエレメント、プログラム、情報処理システム及び情報処理方法に関する。   The present invention relates to a device, a secure element, a program, an information processing system, and an information processing method.

近年、IoT(Internet of Things)技術が急速に普及し、様々なデバイスがインターネットに接続されるようになっている。一方で、インターネットに接続されるデバイスが拡大することによって、デバイスの脆弱性に起因するセキュリティ上の問題が顕在化している。   In recent years, IoT (Internet of Things) technology has rapidly spread and various devices are connected to the Internet. On the other hand, with the expansion of devices connected to the Internet, security problems resulting from device vulnerabilities have become apparent.

また、IoTに限らず、ディープラーニングに代表される機械学習への関心が高まっている。これに伴い、機械学習技術をIoTに係るクラウドコンピューティングに適用し、データセンタであるクラウドサーバが機械学習を行って学習済みモデルを構築し、学習結果をIoTデバイスに提供して種々の処理を行うシステムが検討されている(例えば特許文献1)。   In addition, interest in machine learning represented by deep learning as well as IoT is increasing. Along with this, machine learning technology is applied to cloud computing related to IoT, the cloud server which is a data center performs machine learning, builds a learned model, provides learning results to the IoT device, and performs various processing A system to perform is being studied (for example, Patent Document 1).

一方で、クラウド上に全てのデータ及び機能を集約するクラウドコンピューティングでは、ユーザとクラウドサーバとの間の通信距離が長くなることから、レイテンシー(処理速度)の遅延が避けられないとの問題がある。この問題に対し、クラウドサーバが行う処理の一部を、よりユーザに近いクライアント側で行うことで、通信距離を短縮してレイテンシーを向上させるエッジコンピューティングの技術が注目を集めている。   On the other hand, in cloud computing where all data and functions are integrated on the cloud, there is a problem that latency (processing speed) delay can not be avoided because the communication distance between the user and the cloud server becomes long. is there. In order to address this problem, edge computing technology that shortens the communication distance and improves latency has attracted attention by performing a part of the processing performed by the cloud server on the client side closer to the user.

上記の機械学習とエッジコンピューティングとの相補についても注目を集めている。すなわち、クライアントであるIoTデバイスに機械学習演算の一部を委譲することで、クラウドコンピューティングに比べて演算結果を早くユーザに伝達する、という考え方である。例えばクラウドサーバが機械学習を行って学習結果をIoTデバイスに配信し、IoTデバイスが学習結果である学習済みモデルをメモリ上に展開して、学習済みモデルに基づく種々の処理を実行する。   Attention has also been drawn to the complementation of machine learning and edge computing described above. That is, by delegating a part of the machine learning operation to the IoT device which is the client, it is an idea that the operation result is transmitted to the user earlier than in cloud computing. For example, a cloud server performs machine learning and distributes learning results to an IoT device, and the IoT device develops a learned model, which is a learning result, on a memory, and executes various processes based on the learned model.

特開2017−142654号公報Unexamined-Japanese-Patent No. 2017-142654

しかしながら、上述の如くIoTデバイスでのセキュリティの問題から、デバイス上に展開された学習済みモデルを第三者により盗難、模倣される等の課題が顕在化するであろうことが予測される。   However, as described above, it is predicted from the security problem in the IoT device that a problem such as theft or imitation by a third party of the learned model developed on the device will be apparent.

一つの側面では、機械学習結果を利用した処理を安全に実行することができるデバイス等を提供することを目的とする。   In one aspect, it is an object of the present invention to provide a device or the like capable of safely executing processing using machine learning results.

一つの側面に係るデバイスは、演算処理を実行する実行部と、該実行部よりもセキュアなコンポーネントであって、機械学習により生成された学習済みモデルを展開するためのパラメータを格納するセキュア部とを備え、前記実行部は、前記セキュア部から前記パラメータを取得し、取得した前記パラメータに基づき、前記学習済みモデルをメモリ上に展開し、展開した前記学習済みモデルに基づいて演算処理を実行することを特徴とする。   A device according to one aspect is an execution unit that executes arithmetic processing, and a secure unit that is a component that is more secure than the execution unit and that stores parameters for developing a learned model generated by machine learning. And the execution unit acquires the parameter from the secure unit, expands the learned model on a memory based on the acquired parameter, and executes arithmetic processing based on the expanded learned model. It is characterized by

一つの側面に係るセキュアエレメントは、デバイスに搭載されるセキュアエレメントであって、機械学習により生成された学習済みモデルを展開するために必要なパラメータを記憶する記憶部と、前記学習済みモデルをメモリ上に展開し、該学習済みモデルに基づく演算処理を実行するデバイス本体に対して、前記パラメータを出力する出力部とを備えることを特徴とする。   A secure element according to one aspect is a secure element mounted on a device, wherein the storage unit stores parameters necessary for developing a learned model generated by machine learning, and the learned model is stored in a memory. The device body is characterized by comprising: an output unit that outputs the parameter with respect to a device body that is developed on top and that executes arithmetic processing based on the learned model.

一つの側面に係るプログラムは、セキュアエレメントを搭載したコンピュータに、機械学習により生成された学習済みモデルを展開するためのパラメータを格納する前記セキュアエレメントから、前記パラメータを取得し、取得した前記パラメータに基づき、前記学習済みモデルを展開し、展開した前記学習済みモデルに基づいて演算を行う処理を実行させることを特徴とする。   A program according to one aspect is a computer equipped with a secure element, which acquires the parameter from the secure element storing the parameter for expanding a learned model generated by machine learning, and acquires the acquired parameter Based on the learning model, the learning model is expanded, and a process of performing an operation based on the expanded learning model is executed.

一つの側面に係るプログラムは、コンピュータに、機械学習により生成された学習済みモデルを展開するためのパラメータを、該学習済みモデルに基づく演算処理を実行する実行環境よりもセキュアなトラステッド実行環境に格納し、該トラステッド実行環境から前記パラメータを取得し、取得した前記パラメータに基づき、前記実行環境に前記学習済みモデルを展開し、展開した前記学習済みモデルに基づいて演算を行う処理を実行させることを特徴とする。   A program according to one aspect stores in a computer a parameter for deploying a learned model generated by machine learning in a trusted execution environment that is more secure than an execution environment that executes arithmetic processing based on the learned model. And acquiring the parameter from the trusted execution environment, expanding the learned model in the execution environment based on the acquired parameter, and executing a process to perform an operation based on the expanded learned model. It features.

一つの側面に係る情報処理システムは、デバイスと、該デバイスの動作状況を管理する管理装置とを備えた情報処理システムであって、前記デバイスは、演算処理を実行する実行部と、該実行部よりもセキュアなコンポーネントであって、機械学習により生成された学習済みモデルを展開するためのパラメータを格納するセキュア部とを備え、前記実行部は、前記セキュア部から前記パラメータを取得し、取得した前記パラメータに基づき、前記学習済みモデルをメモリ上に展開し、展開した前記学習済みモデルに基づいて演算処理を実行し、前記管理装置は、前記セキュア部から、前記学習済みモデルに基づく前記デバイスの動作状況に関する情報と、該デバイスの識別情報とを取得する動作状況取得部と、前記動作状況に関する情報を、前記識別情報と対応付けて記憶する記憶部とを備えることを特徴とする。   An information processing system according to one aspect is an information processing system including a device and a management apparatus that manages an operation state of the device, wherein the device is an execution unit that executes arithmetic processing, and the execution unit. And a secure unit that stores a parameter for expanding a learned model generated by machine learning, and the execution unit acquires the parameter from the secure unit and acquires the parameter. Based on the parameters, the learned model is expanded on a memory, and arithmetic processing is performed based on the expanded learned model, and the management apparatus is configured to, from the secure unit, execute the device based on the learned model. An operation status acquisition unit for acquiring information on an operation status, identification information of the device, and information on the operation status, Characterized in that it comprises a storage unit that stores in association with the serial identifier.

一つの側面に係る情報処理方法は、演算処理を実行する実行部と、該実行部よりもセキュアなコンポーネントであって、機械学習により生成された学習済みモデルを展開するためのパラメータを格納するセキュア部とを備えたデバイスに、前記実行部が、前記セキュア部から前記パラメータを取得し、取得した前記パラメータに基づき、前記学習済みモデルをメモリ上に展開し、展開した前記学習済みモデルに基づいて演算を行う処理を実行させることを特徴とする。   An information processing method according to one aspect includes an execution unit that executes arithmetic processing and a component that is more secure than the execution unit and that stores parameters for expanding a learned model generated by machine learning. And the execution unit acquires the parameter from the secure unit, and the learning model is expanded on a memory based on the acquired parameter, and the learning model is expanded based on the expanded model. A feature of the present invention is to execute a process of performing an operation.

一つの側面では、機械学習結果を利用した処理を安全に実行することができる。   In one aspect, processing using machine learning results can be performed safely.

IoTシステムの構成例を示すブロック図である。It is a block diagram showing an example of composition of an IoT system. 推論モデルの展開処理に関する説明図である。It is explanatory drawing regarding expansion processing of an inference model. 推論モデルの基本構造に関する説明図である。It is explanatory drawing regarding the basic structure of an inference model. 学習パラメータの適用処理に関する説明図である。It is an explanatory view about application processing of a learning parameter. 推論モデル展開処理の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of an inference model expansion | deployment process. 推論処理の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of an inference process. 動作管理DBのレコードレイアウトの一例を示す説明図である。It is explanatory drawing which shows an example of the record layout of operation management DB. 検証処理に関する説明図である。It is explanatory drawing regarding a verification process. 検証処理の処理手順の一例を示すフローチャートである。It is a flow chart which shows an example of processing procedure of verification processing. 更新処理に関する説明図である。It is explanatory drawing regarding an update process. 更新処理の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of an update process. 実施の形態4に係る更新処理を説明するための説明図である。FIG. 21 is an explanatory diagram for describing an update process according to a fourth embodiment. 実施の形態4に係る更新処理の処理手順の一例を示すフローチャートである。21 is a flowchart illustrating an example of a processing procedure of update processing according to the fourth embodiment. 上述した形態のIoTシステムの動作を示す機能ブロック図である。It is a functional block diagram which shows operation | movement of the IoT system of the form mentioned above.

以下、本発明をその実施の形態を示す図面に基づいて詳述する。
(実施の形態1)
図1は、IoTシステムの構成例を示すブロック図である。本実施の形態では、IoT端末であるデバイス1に機械学習の成果物である推論モデル121をインストールし、デバイス1が推論モデル121を利用して、入力データから適切な出力データを推論する推論処理を行う形態について述べる。なお、本明細書において「推論」とは機械学習結果を利用した処理全般を表す文言として用い、「推論モデル」とは機械学習により生成された学習済みモデルを表す文言として用いる。
Hereinafter, the present invention will be described in detail based on the drawings showing the embodiments.
Embodiment 1
FIG. 1 is a block diagram showing an example of the configuration of an IoT system. In the present embodiment, an inference process is performed in which an inference model 121, which is a product of machine learning, is installed in a device 1 as an IoT terminal, and the device 1 infers appropriate output data from input data using the inference model 121. Describe the form in which In the present specification, “inference” is used as a term representing the whole process using machine learning results, and “inference model” is used as a term representing a learned model generated by machine learning.

IoTシステムは、デバイス1と、サーバ3とを有する。デバイス1は、インターネットであるネットワークNに接続された電子機器であり、例えば監視カメラ、車両に搭載されたECU(Electronic Control Unit)、生産設備やインフラ設備の異常監視装置等、種々の機器であり得る。本実施の形態においてデバイス1は監視カメラであるものとして説明する。   The IoT system has a device 1 and a server 3. The device 1 is an electronic device connected to the network N which is the Internet, and is, for example, various devices such as a monitoring camera, an ECU (Electronic Control Unit) mounted on a vehicle, and an abnormality monitoring device for production facilities and infrastructure facilities. obtain. In the present embodiment, the device 1 is described as a surveillance camera.

サーバ3は、デバイス1の動作状況を管理する管理装置であり、ネットワークNを介してデバイス1に通信接続されている。本実施の形態では、サーバ3が機械学習を行って推論モデル121を生成し、生成した推論モデル121のデータ(図1に示す最新モデル用パラメータ341)をデバイス1に配信する。デバイス1は、当該データに基づいて推論モデル121を自装置のメモリ上に展開し、推論処理を行う。例えばデバイス1が監視カメラである場合、デバイス1は撮像画像に含まれる物体が何であるかを推論(推定)し、推論結果をサーバ3等に通知する。   The server 3 is a management device that manages the operation status of the device 1 and is communicably connected to the device 1 via the network N. In the present embodiment, the server 3 performs machine learning to generate the inference model 121, and distributes data of the generated inference model 121 (the latest model parameter 341 shown in FIG. 1) to the device 1. The device 1 develops the inference model 121 on the memory of the own device based on the data and performs inference processing. For example, when the device 1 is a surveillance camera, the device 1 infers (estimates) what object is included in the captured image, and notifies the server 3 or the like of the inference result.

また、サーバ3は、推論モデル121に基づくデバイス1の動作状況に関するデータを収集し、データベース上でデバイス1の動作状況を管理する。なお、本実施の形態ではデバイス1側での処理について説明し、サーバ3の処理内容については実施の形態2以降で詳述する。   Also, the server 3 collects data on the operation status of the device 1 based on the inference model 121, and manages the operation status of the device 1 on a database. In the present embodiment, the processing on the device 1 side will be described, and the processing content of the server 3 will be described in detail in the second and subsequent embodiments.

デバイス1は、デバイス本体10と、セキュアエレメント(セキュア部)20とを有する。デバイス本体10は、SoC(System on Chip)により構成され、デバイス1の多く又は全部の機能を実現するデバイス1の本体部分である。セキュアエレメント20は、デバイス本体10とは物理的又は論理的に分離されたハードウェアであり、外部からの攻撃に対して耐タンパ性を有するチップである。セキュアエレメント20は内部に不揮発性メモリを有し、データを安全に保管する。なお、セキュアエレメント20はUICC(Universal Integrated Circuit Card)のように、デバイス1に対して着脱自在な構成であってもよい。デバイス本体10及びセキュアエレメント20は、例えばISO(International Organization Standardization)7816、SPI(Serial Peripheral Interface)等の規格で相互に接続されている。   The device 1 has a device body 10 and a secure element (secure unit) 20. The device body 10 is a body portion of the device 1 configured by a SoC (System on Chip) and implementing many or all of the functions of the device 1. The secure element 20 is hardware physically or logically separated from the device body 10, and is a chip having tamper resistance against external attacks. The secure element 20 has a non-volatile memory inside, and securely stores data. The secure element 20 may be configured to be removable from the device 1 like a universal integrated circuit card (UICC). The device body 10 and the secure element 20 are mutually connected by a standard such as, for example, ISO (International Organization Standardization) 7816, SPI (Serial Peripheral Interface).

デバイス本体10は、制御部11、記憶部12、入出力I/F13、通信部14、入力部15、及び撮像部16を備える。
制御部11は、一又は複数のCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を有し、記憶部12に記憶されたプログラムP1を読み出して実行することにより、デバイス1に係る種々の情報処理、制御処理を行う。記憶部12は、RAM(Random Access Memory)、ROM(Read Only Memory)等を有し、制御部11が演算処理を実行するために必要なプログラムP1、その他のデータを記憶する。また、記憶部12は、後述するように、セキュアエレメント20に格納された推論モデル用パラメータ241に基づき構築した推論モデル121を記憶する。
The device body 10 includes a control unit 11, a storage unit 12, an input / output I / F 13, a communication unit 14, an input unit 15, and an imaging unit 16.
The control unit 11 includes an arithmetic processing unit such as one or more central processing units (CPUs), a micro-processing unit (MPU), and a graphics processing unit (GPU), and reads out the program P1 stored in the storage unit 12 By performing the processing, various information processing and control processing related to the device 1 are performed. The storage unit 12 includes a random access memory (RAM), a read only memory (ROM), and the like, and stores a program P1 necessary for the control unit 11 to execute arithmetic processing and other data. In addition, the storage unit 12 stores an inference model 121 constructed based on the inference model parameters 241 stored in the secure element 20, as described later.

入出力I/F13は、セキュアエレメント20と情報の入出力を行うためのインターフェイスであり、上述の如く、ISO7816、SPI等の規格で情報の入出力を行う。通信部14は、インターネット通信に関する処理を行うための処理回路、アンテナ等を含み、ネットワークNを介してサーバ3等と情報の送受信を行う。入力部15は、ユーザから情報の入力を受け付ける入力インターフェイスであり、デバイス1の種類に応じて、例えばメカニカルキー、タッチパネル、音声入力マイク等、種々の形態であり得る。撮像部16は、CMOS(Complementary Metal Oxide Semiconductor)センサ等を有する撮像機構であり、画像の撮像を行う。   The input / output I / F 13 is an interface for performing input and output of information with the secure element 20, and as described above, performs input and output of information according to a standard such as ISO 7816 and SPI. The communication unit 14 includes a processing circuit for performing processing related to Internet communication, an antenna, and the like, and transmits and receives information with the server 3 and the like through the network N. The input unit 15 is an input interface that receives an input of information from the user, and may be in various forms such as a mechanical key, a touch panel, a voice input microphone, or the like according to the type of the device 1. The imaging unit 16 is an imaging mechanism having a Complementary Metal Oxide Semiconductor (CMOS) sensor or the like, and captures an image.

セキュアエレメント20は、読出部21、認証部22、入出力I/F23、及び記憶部24を備える。
読出部21は、記憶部24からデータを読み出してデバイス本体10に出力する。認証部22は、後述するように、デバイス本体10から入力される認証情報の確認を行う。入出力I/F23は、デバイス本体10の入出力I/F13との間でデータの入出力を行う。記憶部24は不揮発性メモリであり、後述するように、デバイス本体10が推論モデル121を展開するために必要な推論モデル用パラメータ241を記憶している。
The secure element 20 includes a reading unit 21, an authentication unit 22, an input / output I / F 23, and a storage unit 24.
The reading unit 21 reads data from the storage unit 24 and outputs the data to the device body 10. The authentication unit 22 confirms authentication information input from the device main body 10 as described later. The input / output I / F 23 performs data input / output with the input / output I / F 13 of the device body 10. The storage unit 24 is a non-volatile memory, and stores inference model parameters 241 necessary for the device body 10 to expand the inference model 121 as described later.

サーバ3は、制御部31、主記憶部32、通信部33、及び補助記憶部34を備える。
制御部31は、一又は複数のCPU、MPU等の演算装置を備え、サーバ3に係る種々の情報処理、制御処理を行う。主記憶部32は、RAM等の揮発性メモリであり、制御部31が処理を実行する上で必要なデータを一時的に記憶する。通信部33は、通信に関する処理を行う処理回路等を有し、ネットワークNを介してデバイス1等と通信を行う。
The server 3 includes a control unit 31, a main storage unit 32, a communication unit 33, and an auxiliary storage unit 34.
The control unit 31 includes arithmetic devices such as one or more CPUs and MPUs, and performs various information processing and control processes related to the server 3. The main storage unit 32 is a volatile memory such as a RAM, and temporarily stores data necessary for the control unit 31 to execute processing. The communication unit 33 includes a processing circuit that performs processing related to communication, and communicates with the device 1 and the like via the network N.

補助記憶部34は、大容量メモリ、ハードディスク等であり、サーバ3が処理を行うために必要なプログラムP2、その他のデータを記憶している。また、補助記憶部34は、最新モデル用パラメータ341及び動作管理DB342を記憶している。最新モデル用パラメータ341は、デバイス1に配信する最新の推論モデル121のデータであり、デバイス1が推論モデル121を展開する上で必要なパラメータである。動作管理DB342は、デバイス1の動作状況を管理するデータベースである。   The auxiliary storage unit 34 is a large capacity memory, a hard disk or the like, and stores a program P2 necessary for the server 3 to perform processing and other data. Further, the auxiliary storage unit 34 stores the latest model parameter 341 and the operation management DB 342. The latest model parameter 341 is data of the latest inference model 121 distributed to the device 1, and is a parameter necessary for the device 1 to deploy the inference model 121. The operation management DB 342 is a database that manages the operation status of the device 1.

なお、補助記憶部34はサーバ3に接続された外部記憶装置であってもよい。また、サーバ3は複数のコンピュータからなるマルチサーバであってもよく、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。   The auxiliary storage unit 34 may be an external storage device connected to the server 3. Also, the server 3 may be a multi server consisting of a plurality of computers, or may be a virtual machine virtually constructed by software.

図2は、推論モデル121の展開処理に関する説明図である。図2では、デバイス本体10がセキュアエレメント20から推論モデル用パラメータ241を読み出し、当該パラメータに基づいて推論モデル121をメモリ上に展開する様子を概念的に図示している。
上述の如く、セキュアエレメント20は記憶部24に、機械学習により生成された推論モデル121を展開するための推論モデル用パラメータ241を記憶している。本実施の形態において推論モデル121は、ディープラーニングにより生成されたニューラルネットワークであるものとして説明する。なお、機械学習のアルゴリズムはディープラーニングに限定されるものではなく、例えば回帰法、決定木学習、ベイズ法、クラスタリング等であってもよく、また、推論モデル121はニューラルネットワークに限定されるものではなく、線形モデル、決定木、ベイジアンネットワーク等であってもよい。
FIG. 2 is an explanatory diagram of expansion processing of the inference model 121. As shown in FIG. FIG. 2 conceptually illustrates how the device body 10 reads the inference model parameter 241 from the secure element 20 and develops the inference model 121 on the memory based on the parameter.
As described above, the secure element 20 stores the inference model parameter 241 for expanding the inference model 121 generated by machine learning in the storage unit 24. In the present embodiment, the inference model 121 is described as a neural network generated by deep learning. Note that the machine learning algorithm is not limited to deep learning, and may be, for example, regression method, decision tree learning, Bayesian method, clustering, etc. Further, if the inference model 121 is limited to a neural network Instead, they may be linear models, decision trees, Bayesian networks, etc.

例えばサーバ3は、定期的に推論モデル121のアップデート(学習)を行い、最新モデル用パラメータ341をデバイス1に配信する。デバイス1は、サーバ3から配信された最新モデル用パラメータ341を、推論モデル用パラメータ241としてセキュアエレメント20に格納しておく。なお、機械学習は、パラメータの配信元であるサーバ3が主体となって行うものでもよく、他のコンピュータが機械学習を行って学習結果をサーバ3に保存しておいてもよい。   For example, the server 3 periodically updates (learns) the inference model 121 and distributes the latest model parameter 341 to the device 1. The device 1 stores the latest model parameter 341 distributed from the server 3 in the secure element 20 as the inference model parameter 241. The machine learning may be performed mainly by the server 3 that is the distribution source of the parameter, or another computer may perform machine learning and store the learning result in the server 3.

推論モデル用パラメータ241は、ハイパーパラメータ241aと、学習パラメータ241bと、バージョン情報241cとから成るデータ群である。ハイパーパラメータ241aは、コンピュータに機械学習を行わせるために手動設定される設定値であり、推論モデル121の基本構造を一意に特定可能なパラメータである。例えば推論モデル121がニューラルネットワークである場合、ハイパーパラメータ241aは、各ニューロン層に入力される入力数、各ニューロン層から出力される出力数、ニューロン間の層間結合、各ニューロンの演算処理に用いられる活性化関数等を指し示す情報である。   The inference model parameter 241 is a data group including a hyper parameter 241a, a learning parameter 241b, and version information 241c. The hyper parameter 241 a is a setting value manually set to cause the computer to perform machine learning, and is a parameter that can uniquely identify the basic structure of the inference model 121. For example, when the inference model 121 is a neural network, the hyperparameters 241a are used for the number of inputs input to each neuron layer, the number of outputs output from each neuron layer, interlayer connection between neurons, and arithmetic processing of each neuron Information indicating an activation function or the like.

学習パラメータ241bは、ハイパーパラメータ241aで規定されるネットワーク構造の下、機械学習によりコンピュータが学習した学習値である。例えば推論モデル121がニューラルネットワークである場合、学習パラメータ241bは、各ニューロンの重み付け係数、バイアス値等のパラメータである。サーバ3は、正解値付きの教師データの入力を受け、各ニューロンに適用する学習パラメータ241bを学習する。
なお、機械学習は教師なし学習、半教師学習等であってもよい。また、機械学習は強化学習であってもよく、この場合、推論モデル用パラメータ241はQ値(Q(s,a);sは状態、aは行動)であってもよい。
The learning parameter 241 b is a learning value learned by a computer by machine learning under the network structure defined by the hyper parameter 241 a. For example, when the inference model 121 is a neural network, the learning parameter 241 b is a parameter such as a weighting coefficient or bias value of each neuron. The server 3 receives the input of the teacher data with the correct value, and learns the learning parameter 241 b to be applied to each neuron.
Machine learning may be unsupervised learning, semi-supervised learning, or the like. The machine learning may be reinforcement learning, and in this case, the inference model parameter 241 may be a Q value (Q (s, a); s is a state, a is an action).

バージョン情報241cは、推論モデル121のバージョン数を表す情報である。上述の如く、サーバ3は定期的に推論モデル121をアップデートし、最新モデル用パラメータ341を配信する。バージョン情報241cは、当該アップデートによるバージョン数を表す。   The version information 241 c is information indicating the number of versions of the inference model 121. As described above, the server 3 periodically updates the inference model 121 and distributes the latest model parameters 341. The version information 241 c indicates the number of versions according to the update.

図2において符号P1〜P8で示す処理プロセスについて、順に説明する。なお、初期段階でデバイス本体10には推論モデル121が未展開であるものとする。
例えばデバイス1の起動時、又は推論を伴うアプリケーションの動作開始時等に、デバイス本体10の制御部11は、セキュアエレメント20に対して推論モデル用パラメータ241の読み出しを要求する(P1)。
The processing processes indicated by reference numerals P1 to P8 in FIG. 2 will be described in order. It is assumed that the inference model 121 is not developed in the device body 10 at the initial stage.
The control unit 11 of the device body 10 requests the secure element 20 to read out the inference model parameter 241 (P1), for example, at the time of activation of the device 1, or at the start of operation of the application involving inference.

読出要求を受け付けた場合、セキュアエレメント20の読出部21はまず、当該読出要求が正当なものであるか否か、運用者認証を行う。読出部21は認証部22に対し、運用者(デバイス1のユーザ等)の認証に必要な認証情報を確認するよう要求する(P2)。当該要求を受け付けた場合、認証部22はデバイス本体10に対し、認証情報の出力を要求する(P3)。   When a read request is received, the read unit 21 of the secure element 20 first performs operator authentication to determine whether the read request is valid. The reading unit 21 requests the authenticating unit 22 to confirm the authentication information necessary for authenticating the operator (the user of the device 1 or the like) (P2). When the request is received, the authentication unit 22 requests the device body 10 to output the authentication information (P3).

認証情報の出力要求を受け付けた場合、デバイス本体10の制御部11は、セキュアエレメント20に対して認証情報を出力する(P4)。認証情報は例えば、入力部15を介して入力されるPIN(Personal Identification Number)コード、パスワード、生体情報等である。なお、認証情報はこれらに限定されるものではなく、運用者の正当性を適切に確認することができればよい。認証部22は認証情報を基に認証を行う。   When the output request for the authentication information is received, the control unit 11 of the device body 10 outputs the authentication information to the secure element 20 (P4). The authentication information is, for example, a PIN (Personal Identification Number) code input via the input unit 15, a password, biometric information and the like. The authentication information is not limited to these, as long as the legitimacy of the operator can be appropriately confirmed. The authentication unit 22 performs authentication based on the authentication information.

認証に失敗した場合、セキュアエレメント20は推論モデル用パラメータ241を出力せず、一連の処理を終了する。認証に成功した場合、認証部22は認証が完了した旨をセキュアエレメント20内に保持すると共に、認証が完了した旨をデバイス本体10に通知する。   If the authentication fails, the secure element 20 does not output the inference model parameter 241 and ends the series of processes. If the authentication is successful, the authentication unit 22 holds that the authentication is completed in the secure element 20 and notifies the device body 10 that the authentication is completed.

認証完了の通知を受けた場合、デバイス本体10の制御部11は再度、パラメータの読出要求を行う(P5)。読出要求を受け付けた場合、セキュアエレメント20の読出部21は、記憶部24から推論モデル用パラメータ241を読み出す(P6)。読出部21は、読み出したパラメータをデバイス本体10に出力する(P7)。   When the notification of the authentication completion is received, the control unit 11 of the device main body 10 makes a read request of the parameter again (P5). When the reading request is received, the reading unit 21 of the secure element 20 reads the inference model parameter 241 from the storage unit 24 (P6). The reading unit 21 outputs the read parameter to the device body 10 (P7).

デバイス本体10の制御部11は、セキュアエレメント20から取得した当該パラメータに基づき、推論モデル121をメモリ上に展開する(P8)。具体的には以下に説明するように、制御部11は、推論モデル用パラメータ241のうち、ハイパーパラメータ241aに基づいてニューラルネットワークの基本構造を決定し、基本構造を決定したニューラルネットワークの各ニューロンに対して学習パラメータ241bを適用することで、推論モデル121を展開する。   The control unit 11 of the device body 10 deploys the inference model 121 on the memory based on the parameters acquired from the secure element 20 (P8). Specifically, as described below, the control unit 11 determines the basic structure of the neural network based on the hyper parameter 241a of the inference model parameters 241, and determines each neuron of the neural network whose basic structure has been determined. The inference model 121 is developed by applying the learning parameter 241 b to the above.

図3は、推論モデル121の基本構造に関する説明図である。図3では、ハイパーパラメータ241aに基づいてニューラルネットワークの基本構造を決定する様子を概念的に図示している。ハイパーパラメータ241aは、各ニューロン層の入力数、出力数、層間結合等を規定するデータであり、ニューロン層毎に構造を一意に特定可能なように規定されている。   FIG. 3 is an explanatory diagram of the basic structure of the inference model 121. As shown in FIG. FIG. 3 conceptually illustrates how the basic structure of the neural network is determined based on the hyper parameter 241a. The hyper parameter 241 a is data defining the number of inputs, the number of outputs, interlayer coupling and the like of each neuron layer, and is defined so as to uniquely identify the structure for each neuron layer.

図3の例では、第0層(入力層)の入力数は「3」に規定されているため、デバイス本体10の制御部11は、入力値x0〜x2を想定する。また、第0層の出力数は「3」であるため、制御部11は、ニューロンを3つ配置する。また、層間結合は「全結合」であるため、制御部11は、第0層の全てのニューロンの出力値を、次の層(第1層)の全てのニューロンに対して入力する。さらに、第0層の活性化関数はReLU(Rectified Linear Unit)で定義されているため、制御部11は、第0層の各ニューロンにおいて、ReLU関数を用いて出力値を演算する。   In the example of FIG. 3, since the number of inputs of the 0th layer (input layer) is defined as “3”, the control unit 11 of the device body 10 assumes input values x0 to x2. Further, since the number of outputs of the zeroth layer is “3”, the control unit 11 arranges three neurons. Further, since the interlayer coupling is “all coupling”, the control unit 11 inputs the output value of all neurons in the zeroth layer to all neurons in the next layer (first layer). Furthermore, since the activation function of the 0th layer is defined by ReLU (Rectified Linear Unit), the control unit 11 calculates the output value using the ReLU function in each neuron of the 0th layer.

以下同様にして、制御部11は、各ニューロン層における構造を決定する。これによって制御部11は、図3に示すように、入力から出力に至るニューラルネットワークの基本構造を決定する。   Likewise, the control unit 11 determines the structure in each neuron layer in the same manner. The control unit 11 thereby determines the basic structure of the neural network from the input to the output as shown in FIG.

図4は、学習パラメータ241bの適用処理に関する説明図である。図4では、図3で示したニューラルネットワークの基本構造に対し、機械学習結果に応じた学習パラメータ241bを適用する様子を図示している。
例えばセキュアエレメント20には、ハイパーパラメータ241aで規定する第0〜3層のニューロン層に対応して、各ニューロン層に適用する学習パラメータ241bが保持されている。具体的には、セキュアエレメント20は各ニューロンに対して適用する重み付け係数、バイアス値等のパラメータを格納しており、制御部11は、当該パラメータを各々のニューロンに対して適用する。
FIG. 4 is an explanatory diagram of an application process of the learning parameter 241b. FIG. 4 illustrates how the learning parameters 241b according to the machine learning result are applied to the basic structure of the neural network shown in FIG.
For example, in the secure element 20, learning parameters 241b to be applied to each neuron layer are held corresponding to the 0th to 3rd neuron layers defined by the hyper parameter 241a. Specifically, the secure element 20 stores parameters such as weighting factors and bias values to be applied to each neuron, and the control unit 11 applies the parameters to each neuron.

図2、図4の表では、「from/to」で示す表部分の値が重み付け係数に該当する。なお、「from」は入力元である入力値x0〜x2、あるいは前層のニューロンを、「to」は入力対象となるニューロンを示している。例えば第0層において、(from,to)=(0,0)のとき、表の値は0.1である。この値は、0番目の入力(x0)が0番目のニューロンに入力される際の重み付け係数を示している。従って、制御部11は入力値x0が0番目のニューロンに対して入力される際の重みを0.1として計算する。以下同様にして、制御部11は、入力値x0が1番目のニューロンに対して入力される際の重みを0.2、入力値x0が2番目のニューロンに対して入力される際の重みを0.3、入力値x1が0番目のニューロンに対して入力される際の重みを0.1、…として設定する。   In the tables of FIG. 2 and FIG. 4, the value of the table portion indicated by “from / to” corresponds to the weighting factor. Note that "from" indicates input values x0 to x2 as input sources, or neurons in the anterior layer, and "to" indicates neurons to be input targets. For example, in the 0th layer, when (from, to) = (0, 0), the value in the table is 0.1. This value indicates the weighting factor when the 0th input (x0) is input to the 0th neuron. Therefore, the control unit 11 calculates the weight when the input value x0 is input to the zeroth neuron as 0.1. Likewise, the control unit 11 sets the weight when the input value x0 is input to the first neuron to 0.2 and the weight when the input value x0 is input to the second neuron. The weight when the input value x1 is input to the 0-th neuron is set to 0.1,.

また、図2、図4の表における「bias」は、各ニューロンにおいて、重み付け係数を乗算後の入力値に対して加えるバイアス値を示す。例えば第0層におけるバイアス値は全て0.6である。従って、制御部11は、バイアス値0.6を第0層の各ニューロンに対して設定する。   Also, “bias” in the tables of FIG. 2 and FIG. 4 indicates a bias value to be applied to the input value after multiplication of the weighting coefficient in each neuron. For example, the bias values in the zeroth layer are all 0.6. Therefore, the control unit 11 sets a bias value of 0.6 for each neuron in the zeroth layer.

以下同様にして、制御部11は第1〜3層のニューロン層についても、重み付け係数及びバイアス値を設定する。これによって制御部11は、学習パラメータをネットワーク全体に展開し、入力値x0〜x2から出力値y0〜y2を演算するニューラルネットワークを生成する。   Likewise, the control unit 11 also sets weighting coefficients and bias values for the first to third neuron layers. Thus, the control unit 11 develops a learning parameter throughout the network, and generates a neural network that calculates output values y0 to y2 from input values x0 to x2.

デバイス本体10は、上記のようにして展開した推論モデル121(ニューラルネットワーク)を利用して、所定の推論処理を行う。詳細な図示及び説明は省略するが、例えばデバイス1が監視カメラである場合、デバイス本体10は、撮像部16で撮像した画像を入力データとして取得し、当該入力データを推論モデル121に入力して、画像内に含まれる物体を推定(推論)する処理を行う。デバイス本体10は、撮像画像の各画素の色度、輝度等の値を入力値として推論モデル121に入力し、出力値を演算する。例えば出力値は、画像内に含まれる物体が、機械学習時にその特徴量を学習した特定の物体である確率を示す値である。デバイス本体10は、当該出力値を、サーバ3やその他の装置に出力する。例えば画像から不審物を特定した場合、デバイス本体10は、不審物を発見した旨を報知する。   The device body 10 performs predetermined inference processing using the inference model 121 (neural network) developed as described above. Although detailed illustration and description are omitted, for example, when the device 1 is a surveillance camera, the device body 10 acquires an image captured by the imaging unit 16 as input data, and inputs the input data to the inference model 121. , And perform processing of estimating (inferring) an object included in the image. The device body 10 inputs values such as chromaticity and luminance of each pixel of the captured image as input values into the inference model 121, and calculates output values. For example, the output value is a value indicating the probability that the object included in the image is a specific object for which the feature amount has been learned at the time of machine learning. The device body 10 outputs the output value to the server 3 or another device. For example, when the suspicious object is specified from the image, the device body 10 notifies that the suspicious object has been found.

上記のようにデバイス1は、デバイス本体10とは物理的又は論理的に分離されたセキュアエレメント20に推論モデル用パラメータ241を格納しておき、セキュアエレメント20から推論モデル用パラメータ241を読み出して推論モデル121を展開する。デバイス本体10よりセキュアなコンポーネントに推論モデル用パラメータ241を保持しておくことで、第三者による推論モデル121の盗難、模倣等の可能性を低減することができる。   As described above, the device 1 stores the inference model parameter 241 in the secure element 20 physically or logically separated from the device body 10, reads out the inference model parameter 241 from the secure element 20, and performs inference Expand the model 121. By holding the inference model parameter 241 in a more secure component than the device body 10, the possibility of theft, imitation, etc. of the inference model 121 by a third party can be reduced.

なお、上記でデバイス1は、セキュアエレメント20からハイパーパラメータ241a及び学習パラメータ241bの両方を読み出して推論モデル121を展開しているが、本実施の形態はこれに限定されるものではない。例えばデバイス1は、ハイパーパラメータ241aはデバイス本体10に保持しておき、学習パラメータ241bはセキュアエレメント20に格納しておいて、デバイス本体10がセキュアエレメント20から学習パラメータ241bのみを読み出して推論モデル121を展開するようにしてもよい。このように、推論モデル用パラメータ241の一部のみをセキュアエレメント20で保管するようにしてもよい。   Although the device 1 reads out both the hyper parameter 241 a and the learning parameter 241 b from the secure element 20 and develops the inference model 121 in the above, the present embodiment is not limited to this. For example, the device 1 holds the hyper parameter 241 a in the device body 10 and stores the learning parameter 241 b in the secure element 20, and the device body 10 reads out only the learning parameter 241 b from the secure element 20. May be expanded. As described above, only part of the inference model parameters 241 may be stored in the secure element 20.

図5は、推論モデル展開処理の処理手順の一例を示すフローチャートである。図5に基づき、デバイス1が実行する処理内容について説明する。
例えばデバイス1は、自装置の起動時、又は推論処理を伴うアプリケーションの起動時等、所定のタイミングで以下の処理を実行する。デバイス本体10の制御部11は、推論モデル121を展開するために必要なパラメータを保持するセキュアエレメント20に対し、当該パラメータの読み出しを要求する(ステップS11)。上述の如く、セキュアエレメント20は耐タンパ性を有するチップであり、デバイス本体10とは物理的に分離され、推論モデル用のパラメータを安全に保持する。
FIG. 5 is a flowchart showing an example of the procedure of inference model expansion processing. The processing content which the device 1 executes will be described based on FIG.
For example, the device 1 executes the following processing at a predetermined timing, such as when the device 1 is activated or when an application involving inference processing is activated. The control unit 11 of the device body 10 requests the secure element 20 holding parameters necessary for developing the inference model 121 to read the parameters (step S11). As described above, the secure element 20 is a chip having tamper resistance, is physically separated from the device body 10, and securely holds parameters for the inference model.

デバイス本体10からパラメータの読出要求を受け付けた場合、セキュアエレメント20は、デバイス本体10に対し、運用者認証に必要な認証情報の出力を要求する(ステップS12)。認証情報の出力要求を受け付けた場合、デバイス本体10の制御部11は、入力部15を介して認証情報の入力を受け付け、セキュアエレメント20に出力する(ステップS13)。認証情報は、例えばPINコード、パスワード、生体情報等であるが、運用者の正当性を適切に確認可能な情報であればよい。   When receiving the parameter read request from the device body 10, the secure element 20 requests the device body 10 to output authentication information required for operator authentication (step S12). When receiving the output request of the authentication information, the control unit 11 of the device main body 10 receives the input of the authentication information through the input unit 15, and outputs the input to the secure element 20 (step S13). The authentication information is, for example, a PIN code, a password, biometric information, etc., but may be any information that can properly confirm the legitimacy of the operator.

セキュアエレメント20は、認証情報に基づく運用者認証を行う(ステップS14)。セキュアエレメント20は、運用者認証が成功したか否かを判定する(ステップS15)。認証に失敗した場合(S15:NO)、セキュアエレメント20はパラメータの読み出しを行わず、一連の処理を終了する。認証が成功した場合(S15:YES)、セキュアエレメント20は推論モデル用パラメータ241を記憶部24から読み出す(ステップS16)。例えば推論モデル121がディープラーニングにより生成されるニューラルネットワークである場合、セキュアエレメント20は、ニューラルネットワークの基本構造を規定するハイパーパラメータ241aと、各ニューロン層に適用する学習パラメータ241bとを読み出す。セキュアエレメント20は、読み出したパラメータをデバイス本体10に出力する(ステップS17)。   The secure element 20 performs operator authentication based on the authentication information (step S14). The secure element 20 determines whether the operator authentication is successful (step S15). If the authentication fails (S15: NO), the secure element 20 does not read the parameter and ends the series of processes. If the authentication is successful (S15: YES), the secure element 20 reads out the inference model parameter 241 from the storage unit 24 (step S16). For example, when the inference model 121 is a neural network generated by deep learning, the secure element 20 reads out hyper parameters 241 a defining the basic structure of the neural network and learning parameters 241 b applied to each neuron layer. The secure element 20 outputs the read parameter to the device body 10 (step S17).

セキュアエレメント20からパラメータの出力を受けた場合、デバイス本体10の制御部11は、当該パラメータに基づき、推論モデル121を記憶部12に展開する(ステップS18)。具体的には、制御部11はハイパーパラメータ241aに従ってニューラルネットワークを構築し、各ニューロンに学習パラメータ241bを適用して推論モデル121を展開する。制御部11は、一連の処理を終了する。   When receiving the output of the parameter from the secure element 20, the control unit 11 of the device body 10 develops the inference model 121 in the storage unit 12 based on the parameter (step S18). Specifically, the control unit 11 constructs a neural network according to the hyper parameter 241 a, applies the learning parameter 241 b to each neuron, and develops the inference model 121. The control unit 11 ends the series of processes.

図6は、推論処理の処理手順の一例を示すフローチャートである。図6に基づき、デバイス1が実行する推論処理の処理内容について説明する。
デバイス本体10の制御部11は、推論モデル121に入力する入力データを取得する(ステップS21)。例えばデバイス1が監視カメラである場合、デバイス1の撮像部16が画像を撮像する。制御部11は、当該撮像画像を入力データとして取得する。なお、当然ながら入力データはデバイス1の種類に応じて異なり、例えばセンシングデバイスで検知したパラメータ、テキストデータ、音声データ等であってもよい。
FIG. 6 is a flowchart showing an example of the procedure of the inference process. The processing content of the inference processing performed by the device 1 will be described based on FIG.
The control unit 11 of the device body 10 acquires input data to be input to the inference model 121 (step S21). For example, when the device 1 is a surveillance camera, the imaging unit 16 of the device 1 captures an image. The control unit 11 acquires the captured image as input data. As a matter of course, the input data differs depending on the type of the device 1, and may be, for example, a parameter detected by the sensing device, text data, voice data or the like.

制御部11は、当該入力データを推論モデル121に入力して出力値を演算し、入力データから最適な出力データを推論する推論処理を実行する(ステップS22)。例えば制御部11は、撮像画像内の各画素データを入力値として推論モデル121に入力し、画像に含まれる物体が特定の物体である確率を出力値として計算することで、当該撮像画像に含まれる物体を推定(推論)する。制御部11は、推論結果(演算結果)を出力し(ステップS23)、一連の処理を終了する。   The control unit 11 inputs the input data to the inference model 121, calculates an output value, and executes an inference process of inferring optimal output data from the input data (step S22). For example, the control unit 11 inputs each pixel data in the captured image as an input value to the inference model 121, and calculates the probability that the object included in the image is a specific object as an output value, thereby including the pixel in the captured image. Estimate the inferred object. The control unit 11 outputs the inference result (calculation result) (step S23), and ends the series of processing.

なお、上記でデバイス1は、デバイス本体10とはハードウェア上分離されたセキュアエレメント20を搭載し、セキュアエレメント20に推論モデル用パラメータ241を格納しているが、本実施の形態はこれに限定されるものではない。例えばデバイス1は、デバイス1の基本的機能を実現する通常実行環境(いわゆるREE;Rich Execution Environment)とはソフトウェア的に分離されたトラステッド実行環境(TEE;Trusted Execution Environment)を用意しておき、トラステッド実行環境に推論モデル用パラメータ241を格納しておいてもよい。すなわちデバイス1は、汎用的なOS、アプリケーションを実行する実行環境からは認識不可能な仮想領域を構築しておき、当該領域に推論モデル用パラメータ241を保存しておく。デバイス1は、トラステッド実行環境からパラメータを読み出し、通常実行環境に推論モデル121を展開して、推論処理に係る演算を行う。通常実行環境からは認識不可能であることから、当該構成によっても推論モデル用パラメータ241を安全に保管しておくことができる。   In the above, the device 1 has the secure element 20 separated in hardware from the device body 10, and the inference model parameter 241 is stored in the secure element 20, but the embodiment is limited to this. It is not something to be done. For example, device 1 prepares a trusted execution environment (TEE; Trusted Execution Environment) separated in software from a normal execution environment (so-called REE; Rich Execution Environment) that realizes the basic functions of device 1; The inference model parameters 241 may be stored in the execution environment. That is, the device 1 constructs a virtual area that can not be recognized from a general-purpose OS and an execution environment for executing an application, and stores the inference model parameter 241 in the area. The device 1 reads parameters from the trusted execution environment, develops the inference model 121 in the normal execution environment, and performs an operation related to inference processing. Since it can not be recognized from the normal execution environment, the inference model parameter 241 can be safely stored even by the configuration.

上記のように、デバイス1は、基本的、汎用的な演算処理を行うコンポーネント(実行部)と、当該コンポーネントよりもセキュアなコンポーネントとを備え、前者が後者からパラメータを読み出して推論モデル121をメモリ上に展開し、推論処理を実行することができればよい。上記セキュアなコンポーネントは、耐タンパ性を有するセキュアエレメント20であってもよく、トラステッド実行環境のように、通常実行環境とは異なるセキュアな仮想領域であってもよい。   As described above, the device 1 includes a component (executing unit) that performs basic, general-purpose arithmetic processing and a component that is more secure than the component, and the former reads the parameters from the latter and stores the inference model 121 as a memory. It is sufficient if it can be expanded above and inference processing can be performed. The secure component may be a tamper-resistant secure element 20, or may be a secure virtual area different from a normal execution environment, such as a trusted execution environment.

以上より、本実施の形態1によれば、デバイス1は、セキュアなコンポーネントに推論モデル用パラメータ241を格納しておき、当該セキュアなコンポーネントからパラメータを取得して推論モデル121を展開する。セキュアなコンポーネントにパラメータを保持しておくことで、第三者による盗難、模倣等を防止し、セキュリティ上の安全性を確保することができる。   As described above, according to the first embodiment, the device 1 stores the inference model parameter 241 in a secure component, acquires the parameter from the secure component, and develops the inference model 121. By holding parameters in a secure component, it is possible to prevent theft and imitation by a third party, and secure security.

また、本実施の形態1によれば、上記セキュアなコンポーネントとして、耐タンパ性を有するセキュアエレメント20、あるいは通常実行環境(REE)よりセキュアなトランステッド実行環境(TEE)を採用することができる。   Further, according to the first embodiment, as the above-mentioned secure component, it is possible to adopt the tamper-resistant secure element 20 or the transposed execution environment (TEE) that is more secure than the normal execution environment (REE).

また、本実施の形態1によれば、セキュアエレメント20はパラメータをデバイス本体10へ出力する前に運用者の認証を行うことから、安全性をさらに高めることができる。   Further, according to the first embodiment, since the secure element 20 authenticates the operator before outputting the parameter to the device main body 10, the security can be further enhanced.

(実施の形態2)
本実施の形態では、デバイス1がメモリ上に展開した推論モデル121の改竄防止等のため、推論モデル用パラメータ241の検証を行う形態について述べる。なお、実施の形態1と重複する内容については同一の符号を付して説明を省略する。
図7は、動作管理DB242のレコードレイアウトの一例を示す説明図である。動作管理DB242は、デバイスID列、最終更新日列、動作状況列を含む。デバイスID列は、サーバ3とパラメータを同期する各デバイス1を識別するための識別情報を記憶している。最終更新日列は、デバイスIDと対応付けて、各デバイス1が推論モデル用パラメータ241を更新した最終更新日時を記憶している。動作状況列は、デバイスIDと対応付けて、各デバイス1の動作の正常又は異常を検証した検証結果を記憶している。本実施の形態においてサーバ3は、デバイス1の動作状況に関する情報として後述するパラメータの照合結果を取得し、当該照合結果に応じて、デバイス1の動作の正常又は異常を動作管理DB342に格納する。
Second Embodiment
In this embodiment, an embodiment will be described in which the inference model parameter 241 is verified to prevent the inference model 121 developed in the memory by the device 1 from being tampered with. The same reference numerals as in the first embodiment denote the same parts as in the first embodiment, and a description thereof will be omitted.
FIG. 7 is an explanatory view showing an example of the record layout of the operation management DB 242. As shown in FIG. The operation management DB 242 includes a device ID column, a last update date column, and an operation status column. The device ID column stores identification information for identifying each device 1 that synchronizes parameters with the server 3. The last update date column stores the last update date and time when each device 1 updated the inference model parameter 241 in association with the device ID. The operation status column stores, in association with the device ID, a verification result obtained by verifying normality or abnormality of the operation of each device 1. In the present embodiment, the server 3 acquires a comparison result of parameters to be described later as information related to the operation status of the device 1 and stores normal or abnormal operation of the device 1 in the operation management DB 342 according to the comparison result.

図8は、検証処理に関する説明図である。図8では、セキュアエレメント20が、デバイス本体10に展開済みの推論モデル121に適用されている推論モデル用パラメータ241を、自身が保持してあるパラメータと照合することで、推論モデル121の検証を行う様子を図示している。なお、図8では図示の便宜上、デバイス本体10の入出力I/F13、及びセキュアエレメント20の入出力I/F23を矩形点線で図示している。   FIG. 8 is an explanatory diagram of the verification process. In FIG. 8, verification of the inference model 121 is performed by the secure element 20 collating the inference model parameter 241 applied to the inference model 121 expanded in the device body 10 with the parameters held by itself. It shows how to do it. In FIG. 8, for convenience of illustration, the input / output I / F 13 of the device body 10 and the input / output I / F 23 of the secure element 20 are illustrated by rectangular dotted lines.

本実施の形態に係るセキュアエレメント20は、照合部25、通信路開設部26を備える。照合部25は、デバイス本体10から検証用に出力される推論モデル用パラメータ241と、セキュアエレメント20の記憶部24に格納されている推論モデル用パラメータ241との照合を行う。通信路開設部26は、デバイス1とサーバ3との間の秘匿通信路41の開設を行う。   The secure element 20 according to the present embodiment includes a check unit 25 and a communication path establishment unit 26. The collation unit 25 collates the inference model parameter 241 output from the device body 10 for verification with the inference model parameter 241 stored in the storage unit 24 of the secure element 20. The communication path establishment unit 26 establishes the secret communication path 41 between the device 1 and the server 3.

図8において符号P21〜P28で示す処理プロセスについて、順に説明する。まずデバイス本体10の制御部11は、メモリ上に展開済みであり、現在動作している推論モデル121のデータから、推論モデル用パラメータ241を抽出する(P21)。パラメータの抽出は、実施の形態1で述べた推論モデル121の展開処理と逆の手順で行えばよい。制御部11は、抽出したパラメータを、セキュアエレメント20が照合可能な所定形式の値に変換してセキュアエレメント20に出力し、推論モデル121の照合を要求する(P22)。具体的には、制御部11はパラメータそのものではなく、パラメータをハッシュ値に変換した上で出力する。なお、パラメータの変換形式はハッシュ値に限定されるものではなく、第三者がパラメータを解析困難なように変換できればよい。   Processing processes indicated by reference numerals P21 to P28 in FIG. 8 will be described in order. First, the control unit 11 of the device body 10 extracts the inference model parameter 241 from the data of the inference model 121 which has been expanded on the memory and is currently operating (P21). The extraction of the parameters may be performed in the reverse procedure of the expansion processing of the inference model 121 described in the first embodiment. The control unit 11 converts the extracted parameter into a value of a predetermined format that the secure element 20 can collate, outputs the value to the secure element 20, and requests the inference model 121 to collate (P22). Specifically, the control unit 11 converts not a parameter itself but a parameter into a hash value and outputs it. The conversion format of the parameter is not limited to the hash value, as long as a third party can convert the parameter so as to be difficult to analyze.

デバイス本体10から照合要求を受け付けた場合、照合部25は、セキュアエレメント20で保持している推論モデル用パラメータ241を、デバイス本体10から出力されたパラメータと照合し、一致するか否かを判定する(P23)。例えば照合部25は、上述の如くデバイス本体10からハッシュ値で出力されるパラメータの比較を行う。パラメータが一致する場合、照合部25は、推論モデル121が改竄等されておらず、正常に動作しているものと判断する。一方で、パラメータが不一致である場合、照合部25は推論モデル121が改竄されているものと判断する。   When a collation request is received from the device body 10, the collation unit 25 collates the inference model parameter 241 held in the secure element 20 with the parameter output from the device body 10, and determines whether or not they match. Yes (P23). For example, the collation unit 25 compares the parameters output as the hash value from the device body 10 as described above. If the parameters match, the matching unit 25 determines that the inference model 121 has not been tampered with, and is operating normally. On the other hand, if the parameters do not match, the matching unit 25 determines that the inference model 121 has been falsified.

照合部25は、パラメータの照合結果(検証結果)をデバイス本体10に通知する(P24)。通知された照合結果がパラメータの不一致を示す場合、例えばデバイス本体10の制御部11は、推論モデル121に基づく推論処理を停止する。このように、デバイス本体10は、セキュアエレメント20におけるパラメータの照合結果に応じて推論処理の実行の可否を判定し、第三者による自装置の不正利用を防止する。   The collation unit 25 notifies the device main body 10 of the collation result (verification result) of the parameter (P24). If the notified collation result indicates that the parameters do not match, for example, the control unit 11 of the device body 10 stops the inference processing based on the inference model 121. As described above, the device body 10 determines whether or not the inference process can be performed according to the result of the parameter comparison in the secure element 20, and prevents unauthorized use of the own device by a third party.

また、照合部25はデバイス本体10に対してだけでなく、サーバ3に対しても照合結果を通知する。具体的には、照合部25は通信路開設部26に対して、照合結果の通知を要求する(P25)。通知要求を受け付けた場合、通信路開設部26はまず、デバイス1とサーバ3との間で、エンドツーエンドの秘匿通信路41を開設する(P26)。秘匿通信路41は、例えばTLS(Transport Layer Security)のプロトコルで通信内容を暗号化した通信路である。通信路開設部26は、デバイス本体10におけるネットワークNとの通信インターフェイスである通信部14を経由して、サーバ3との間の秘匿通信路41を開設する。   Further, the verification unit 25 notifies the server 3 of the verification result as well as the device body 10. Specifically, the collation unit 25 requests the communication path establishment unit 26 to notify of the collation result (P25). When the notification request is received, the communication channel establishment unit 26 first establishes an end-to-end confidential communication channel 41 between the device 1 and the server 3 (P26). The secret communication path 41 is, for example, a communication path in which the communication content is encrypted by a protocol of TLS (Transport Layer Security). The communication path establishment unit 26 establishes the secret communication path 41 with the server 3 via the communication unit 14 which is a communication interface with the network N in the device main body 10.

なお、秘匿通信路41は通信内容を秘匿可能であればよく、例えばSSL(Secure Sockets Layer)等のプロトコルを採用してもよい。また、上記ではデバイス本体10の物理的な通信手段(通信部14)を経由して秘匿通信路41を確立しているが、セキュアエレメント20がサーバ3との間で秘匿通信路41を開設可能であればよく、セキュアエレメント20自体が物理的な通信手段(LAN、Wi−Fi(登録商標)等)を有する場合、セキュアエレメント20はサーバ3との間で秘匿通信路41を直接確立してもよい。   The secret communication path 41 may be any type as long as the communication content can be concealed, and for example, a protocol such as SSL (Secure Sockets Layer) may be adopted. Further, although the secret communication path 41 is established through the physical communication means (communication unit 14) of the device main body 10 in the above, the secure element 20 can establish the secret communication path 41 with the server 3 If the secure element 20 itself has physical communication means (LAN, Wi-Fi (registered trademark), etc.), the secure element 20 directly establishes the secret communication path 41 with the server 3. It is also good.

通信路開設部26は秘匿通信路41を介して照合結果をサーバ3に通知する(P27)。具体的には、通信路開設部26は、自装置に係るデバイスIDと、推論モデル用パラメータ241の一致又は不一致を示す照合結果とをサーバ3に通知する。サーバ3の制御部31は、当該通知を受信した場合、デバイス1の動作状況が正常又は異常である旨を、デバイスIDと対応付けて動作管理DB342に記憶する(P28)。以上より、サーバ3におけるデバイス1の遠隔監視も可能となり、例えば改竄防止のためデバイス1の遠隔制御を行う等、有効な対策を行うことができる。   The communication path establishment unit 26 notifies the server 3 of the collation result via the secret communication path 41 (P27). Specifically, the communication path establishment unit 26 notifies the server 3 of the device ID relating to the own device and the collation result indicating matching or non-coincidence of the inference model parameter 241. When the control unit 31 of the server 3 receives the notification, the control unit 31 stores that the operation status of the device 1 is normal or abnormal in the operation management DB 342 in association with the device ID (P28). As described above, the remote monitoring of the device 1 in the server 3 is also possible, and effective measures can be taken, such as remote control of the device 1 for preventing tampering.

なお、上記でセキュアエレメント20は、パラメータの一致又は不一致に関わらず照合結果をデバイス本体10及びサーバ3に通知しているが、パラメータが一致する場合は動作に問題がないことから、パラメータが不一致の場合のみ通知を行うようにしてもよい。   Although the secure element 20 notifies the device body 10 and the server 3 of the comparison result regardless of whether the parameters match or not match, if the parameters match, there is no problem in operation, so the parameters do not match. Notification may be made only in the case of.

図9は、検証処理の処理手順の一例を示すフローチャートである。図9に基づき、実施の形態2に係るIoTシステムが実行する処理内容について説明する。
デバイス本体10の制御部11は、メモリ(記憶部12)上に展開済みの推論モデル121のデータから、推論モデル用パラメータ241を抽出する(ステップS31)。制御部11は、抽出したパラメータを所定形式の値(例えばハッシュ値)に変換する(ステップS32)。制御部11は、変換したパラメータをセキュアエレメント20に出力し、当該パラメータの照合を要求する(ステップS33)。
FIG. 9 is a flowchart illustrating an example of a processing procedure of verification processing. The contents of processing performed by the IoT system according to the second embodiment will be described based on FIG.
The control unit 11 of the device body 10 extracts the inference model parameter 241 from the data of the inference model 121 developed on the memory (storage unit 12) (step S31). The control unit 11 converts the extracted parameter into a value of a predetermined format (for example, a hash value) (step S32). The control unit 11 outputs the converted parameter to the secure element 20 and requests collation of the parameter (step S33).

セキュアエレメント20は、記憶部24から推論モデル用パラメータ241を読み出し、デバイス本体10から出力された推論モデル用パラメータ241と照合する(ステップS34)。セキュアエレメント20は、照合結果(検証結果)をデバイス本体10に通知する(ステップS35)。   The secure element 20 reads the inference model parameter 241 from the storage unit 24 and collates the inference model parameter 241 output from the device body 10 (step S34). The secure element 20 notifies the device body 10 of the verification result (verification result) (step S35).

デバイス本体10の制御部11は、セキュアエレメント20から通知された照合結果を参照して、パラメータが不一致であるか否かを判定する(ステップS36)。パラメータが不一致でないと判定した場合(S36:NO)、制御部11は、一連の処理を終了する。パラメータが不一致であると判定した場合(S36:YES)、制御部11は、推論モデル121に基づく処理動作を停止し(ステップS37)、一連の検証処理を終了する。   The control unit 11 of the device body 10 refers to the collation result notified from the secure element 20 and determines whether or not the parameters do not match (step S36). If it is determined that the parameters do not match (S36: NO), the control unit 11 ends the series of processes. When it is determined that the parameters do not match (S36: YES), the control unit 11 stops the processing operation based on the inference model 121 (step S37), and ends the series of verification processing.

ステップS35を実行後、セキュアエレメント20は、デバイス1とサーバ3との間の秘匿通信路41を開設する(ステップS38)。例えばセキュアエレメント20は、サーバ3との間でTLSのプロトコルにより通信内容を暗号化する秘匿通信路41を開設する。セキュアエレメント20は、秘匿通信路41を介して、パラメータの照合結果をサーバ3に通知する(ステップS39)。サーバ3の制御部31は、セキュアエレメント20(デバイス1)から通知された照合結果を、当該セキュアエレメント20に係るデバイスIDと対応付けて動作管理DB342に記憶する(ステップS40)。   After executing step S35, the secure element 20 establishes the secret communication path 41 between the device 1 and the server 3 (step S38). For example, the secure element 20 establishes a secret communication path 41 for encrypting communication contents with the server 3 by the protocol of TLS. The secure element 20 notifies the server 3 of the comparison result of the parameters via the secret communication path 41 (step S39). The control unit 31 of the server 3 stores the collation result notified from the secure element 20 (device 1) in the operation management DB 342 in association with the device ID of the secure element 20 (step S40).

以上より、本実施の形態2によれば、セキュアエレメント20は、デバイス本体10で稼働している推論モデル121のパラメータを、自身が保持するパラメータと照合することで、稼働中の推論モデル121の検証を行う。セキュアエレメント20に保存されているパラメータに基づいて検証を行うことで、確実に検証を行うことができる。また、デバイス本体10ではなく、セキュアエレメント20内で検証を行うことで、検証結果自体の改竄も防止することができる。このように、デバイス1は第三者による推論モデル121の改竄等を検知することができ、安全性をより高めることができる。   As described above, according to the second embodiment, the secure element 20 compares the parameters of the inference model 121 operating in the device main body 10 with the parameters held by itself, whereby the secure element 20 is able to Perform verification. By performing verification based on the parameters stored in the secure element 20, verification can be performed reliably. Further, by performing verification in the secure element 20 instead of the device body 10, it is possible to prevent falsification of the verification result itself. In this manner, the device 1 can detect tampering or the like of the inference model 121 by a third party, and security can be further enhanced.

また、本実施の形態2によれば、ハッシュ値等の形式に変換してパラメータの照合を行うことで、単純にパラメータの完全一致を確認する場合と比較して、検証に係る安全性を高めることができる。   Further, according to the second embodiment, by converting into a format such as a hash value and comparing the parameters, the security relating to the verification is enhanced compared to the case where the complete match of the parameters is simply confirmed. be able to.

また、本実施の形態2によれば、検証結果(照合結果)をサーバ3に通知し、サーバ3において検証結果を記憶しておくことで、サーバ3が生成した推論モデル121に基づいて稼働するデバイス1の遠隔監視等が可能となり、安全性をさらに高めることができる。   Further, according to the second embodiment, the verification result (collation result) is notified to the server 3, and the verification result is stored in the server 3 to operate based on the inference model 121 generated by the server 3. Remote monitoring of the device 1 can be performed, and security can be further enhanced.

また、本実施の形態2によれば、秘匿通信路41を介して検証結果を通知することで、第三者がサーバ3への動作状況の通知を妨害する、あるいは通知内容を改竄する等の事態を防止することができる。   Further, according to the second embodiment, by notifying the verification result via the secret communication path 41, the third party interferes with the notification of the operation status to the server 3, or the notification content is altered, etc. It can prevent the situation.

(実施の形態3)
本実施の形態では、セキュアエレメント20に格納されている推論モデル用パラメータ241を、最新モデル用パラメータ341に更新する形態について述べる。
図10は、更新処理に関する説明図である。図10では、セキュアエレメント20がサーバ3との間で通信を行い、推論モデル用パラメータ241を更新する様子を概念的に図示している。なお、図10では図示の便宜上、デバイス本体10の通信部14、及びサーバ3の通信部33を矩形点線で図示している。
Third Embodiment
In the present embodiment, a form will be described in which the inference model parameter 241 stored in the secure element 20 is updated to the latest model parameter 341.
FIG. 10 is an explanatory diagram of the updating process. FIG. 10 conceptually shows that the secure element 20 communicates with the server 3 and updates the inference model parameter 241. In FIG. 10, for convenience of illustration, the communication unit 14 of the device body 10 and the communication unit 33 of the server 3 are illustrated by rectangular dotted lines.

本実施の形態に係るセキュアエレメント20は、更新部27を備える。更新部27は、サーバ3から最新モデル用パラメータ341を取得し、記憶部24に格納してあるパラメータを更新する。   The secure element 20 according to the present embodiment includes the updating unit 27. The update unit 27 acquires the latest model parameters 341 from the server 3 and updates the parameters stored in the storage unit 24.

図10において符号P31〜P38に示す処理プロセスについて、順に説明する。まずデバイス本体10がセキュアエレメント20に対し、推論モデル121が最新のデータに更新済みであるか否かをサーバ3に確認するよう要求する(P31)。確認要求を受け付けた場合、セキュアエレメント20の更新部27は、通信路開設部26に対して秘匿通信路41の開設を要求する(P32)。当該要求を受け付けた場合、通信路開設部26は、秘匿通信路41を開設する(P33)。なお、秘匿通信路41については実施の形態2と同様なので、ここでは説明を省略する。   The processing processes indicated by reference numerals P31 to P38 in FIG. 10 will be described in order. First, the device body 10 requests the secure element 20 to confirm to the server 3 whether the inference model 121 has been updated to the latest data (P31). When the confirmation request is received, the updating unit 27 of the secure element 20 requests the communication channel opening unit 26 to open the secret communication channel 41 (P32). When the request is received, the communication path establishment unit 26 establishes the secret communication path 41 (P33). The concealment channel 41 is the same as that of the second embodiment, so the description is omitted here.

更新部27は、秘匿通信路41を介してサーバ3に対しパラメータの更新要求を行う(P34)。具体的には、更新部27は、セキュアエレメント20で保持している現在の推論モデル用パラメータ241のバージョン情報241cと、自装置に係るデバイスIDとを送信する。   The update unit 27 requests the server 3 to update the parameter via the secret communication path 41 (P34). Specifically, the updating unit 27 transmits version information 241 c of the current inference model parameter 241 held by the secure element 20 and the device ID of the own device.

セキュアエレメント20(デバイス1)から更新要求を受け付けた場合、サーバ3は、要求元であるデバイス1において推論モデル121を更新済みであるか否かを判定する(P35)。具体的には、サーバ3は、セキュアエレメント20から送信されたバージョン情報241cと、最新モデル用パラメータ341のバージョン情報341c(図10参照)とを照合する。バージョン情報が最新のものと一致する場合、デバイス1の推論モデル121は最新モデルに更新済みであるため、サーバ3は特段の処理を行わず、一連の処理を終了する。一方、バージョン情報が最新のものと不一致の場合、サーバ3は最新モデル用パラメータ341を、秘匿通信路41を介してデバイス1に送信する(P36)。また、サーバ3は、最新モデル用パラメータ341を送信した場合、バージョン情報と共に受信したデバイスIDと対応付けて、デバイス1の推論モデル121を更新した旨を示す更新情報を動作管理DB342に記憶する(P37)。例えばサーバ3は、現在の日時を最終更新日時として動作管理DB342に記憶する。なお、サーバ3は、更新された旨をデータベース上で格納することができればよく、例えば最新モデルのバージョン情報341cを記憶しておくなど、日時以外の情報を更新情報として記憶しておいてもよい。   When receiving the update request from the secure element 20 (device 1), the server 3 determines whether the inference model 121 has been updated in the device 1 as the request source (P35). Specifically, the server 3 collates the version information 241 c transmitted from the secure element 20 with the version information 341 c (see FIG. 10) of the latest model parameter 341. If the version information matches the latest one, the inference model 121 of the device 1 has been updated to the latest model, and the server 3 does not perform any particular processing, and ends the series of processing. On the other hand, if the version information does not match the latest version, the server 3 transmits the latest model parameter 341 to the device 1 via the secret communication path 41 (P36). In addition, when transmitting the latest model parameter 341, the server 3 stores update information indicating that the inference model 121 of the device 1 has been updated in the operation management DB 342 in association with the device ID received together with the version information ( P37). For example, the server 3 stores the current date and time in the operation management DB 342 as the final update date and time. The server 3 may store information that has been updated on the database, and may store information other than date and time as update information, such as storing version information 341c of the latest model, for example. .

セキュアエレメント20の更新部27は、サーバ3から送信された最新モデル用パラメータ341に記憶部24に格納し、パラメータの更新を行う(P38)。例えば更新部27は、パラメータのダウンロード直後に当該パラメータをデバイス本体10に出力し、デバイス本体10は、当該パラメータを基に推論モデル121を更新(再構築)する。なお、パラメータのダウンロード直後に推論モデル121の更新を行うことなく、デバイス1の次回起動時、アプリケーションの次回実行時等、任意のタイミングで更新を行ってよい。以上より、IoTデバイスに格納されているデータを最新のものに更新することができ、陳腐化を防止する等、更新のニーズに応えることができる。   The update unit 27 of the secure element 20 stores the latest model parameter 341 transmitted from the server 3 in the storage unit 24 and updates the parameter (P38). For example, the updating unit 27 outputs the parameter to the device body 10 immediately after downloading the parameter, and the device body 10 updates (reconstructs) the inference model 121 based on the parameter. Note that the updating may be performed at any timing such as the next activation of the device 1 or the next execution of the application without updating the inference model 121 immediately after downloading the parameter. As described above, the data stored in the IoT device can be updated to the latest one, and it is possible to meet the update needs, such as preventing obsolescence.

なお、上記ではデバイス本体10からのリクエストに従って一連の処理を開始しているが、例えば実施の形態2に係る検証時に併せて更新を行う、あるいはサーバ3が動作管理DB342から古いバージョンで稼働しているデバイス1を検知し、サーバ3側からデバイス1側へパラメータの更新要求を行うなど、任意のタイミングでモデルの更新処理を開始してよい。   In the above, a series of processing is started according to a request from the device main body 10, but, for example, updating is performed together with the verification according to the second embodiment, or the server 3 is operated with the old version from the operation management DB 342 The model update process may be started at an arbitrary timing, such as detecting the existing device 1 and making a parameter update request from the server 3 side to the device 1 side.

図11は、更新処理の処理手順の一例を示すフローチャートである。図11に基づき、本実施の形態に係るIoTシステムが実行する処理内容について説明する。
デバイス本体10の制御部11は、推論モデル121の最新のモデルであるか否かをサーバ3に確認するよう、セキュアエレメント20に要求する(ステップS61)。当該要求を受け付けた場合、セキュアエレメント20はサーバ3との間で秘匿通信路41を開設する(ステップS62)。セキュアエレメント20は秘匿通信路41を介して、推論モデル用パラメータ241の更新要求を行う(ステップS63)。例えばセキュアエレメント20は、上記のように、記憶部24に格納してあるパラメータのバージョン情報241cと、自装置のデバイスIDとをサーバ3へ送信する。
FIG. 11 is a flowchart illustrating an example of the processing procedure of the update processing. The contents of processing performed by the IoT system according to the present embodiment will be described based on FIG.
The control unit 11 of the device body 10 requests the secure element 20 to confirm to the server 3 whether it is the latest model of the inference model 121 (step S61). When the request is received, the secure element 20 establishes the secret communication path 41 with the server 3 (step S62). The secure element 20 makes an update request for the inference model parameter 241 via the secret communication path 41 (step S63). For example, as described above, the secure element 20 transmits the version information 241c of the parameter stored in the storage unit 24 and the device ID of the own device to the server 3.

更新要求を受け付けた場合、サーバ3の制御部31は、更新要求を行ったデバイス1において推論モデル用パラメータ241を更新済みであるか否かを判定する(ステップS64)。例えば制御部31は、最新モデルのバージョン情報341cが、セキュアエレメント20から送信されたバージョン情報241cと一致するか否かを判定する。更新済みであると判定した場合(S64:YES)、制御部31は一連の処理を終了する。   If the update request has been received, the control unit 31 of the server 3 determines whether the inference model parameter 241 has been updated in the device 1 that has made the update request (step S64). For example, the control unit 31 determines whether the version information 341c of the latest model matches the version information 241c transmitted from the secure element 20. If it is determined that the update has been completed (S64: YES), the control unit 31 ends the series of processing.

更新済みでないと判定した場合(S64:NO)、制御部31は秘匿通信路41を介して、最新モデル用パラメータ341をセキュアエレメント20に送信する(ステップS65)。また、最新モデル用パラメータ341を送信した場合、制御部31は、デバイス1の推論モデル121を更新した旨を示す更新情報を動作管理DB342に記憶し(ステップS66)、一連の処理を終了する。   When it is determined that the update is not completed (S64: NO), the control unit 31 transmits the latest model parameter 341 to the secure element 20 via the secret communication path 41 (step S65). When the latest model parameter 341 is transmitted, the control unit 31 stores update information indicating that the inference model 121 of the device 1 has been updated in the operation management DB 342 (step S66), and ends the series of processing.

最新モデル用パラメータ341をサーバ3から受信した場合、セキュアエレメント20は、当該パラメータを記憶部24に格納し(ステップS67)、一連の処理を終了する。   When the latest model parameter 341 is received from the server 3, the secure element 20 stores the parameter in the storage unit 24 (step S67), and ends the series of processing.

なお、上記ではバージョン情報241c、341cがバージョン数、つまりバージョンを表す番号であるものとして図示及び説明を行ったが、本実施の形態はこれに限定されるものではない。例えばバージョン情報241c、341cは、パラメータの更新が行われた日付等の時間を表す情報であってもよい。また、例えばサーバ3は、デバイス1に展開されている推論モデル121と、最新の推論モデル121とのハッシュ値の比較を行って最新バージョンであるか否かを判定するようにしてもよい。このように、サーバ3は推論モデル121の新旧を判定可能な情報に基づいて推論モデル用パラメータ241を更新することができればよく、バージョン情報241c、341cは番号に限定されない。   Although the version information 241c and 341c are illustrated and described as being the version number, that is, the number indicating the version in the above, the present embodiment is not limited to this. For example, the version information 241 c and 341 c may be information representing a time such as a date when the parameter was updated. Also, for example, the server 3 may compare the hash value of the inference model 121 developed in the device 1 with the latest inference model 121 to determine whether or not the latest version. Thus, the server 3 only needs to be able to update the inference model parameter 241 based on the information that can determine the new and old of the inference model 121, and the version information 241c and 341c are not limited to numbers.

以上より、本実施の形態3によれば、セキュアエレメント20が最新モデル用パラメータ341をサーバ3から取得し、記憶部24に格納しておくことで、推論モデル121の陳腐化等を防ぎ、適切に推論モデル121の更新を行うことができる。   As described above, according to the third embodiment, the secure element 20 acquires the latest model parameter 341 from the server 3 and stores the latest model parameter 341 in the storage unit 24, thereby preventing obsolescence of the inference model 121, etc. The inference model 121 can be updated.

また、本実施の形態3によれば、秘匿通信路41を介してパラメータの授受を行うことで、安全性を確保しつつモデル更新を行うことができる。   Further, according to the third embodiment, by exchanging parameters via the secret communication path 41, model update can be performed while securing security.

また、実施の形態2、3で説明したように、サーバ3はセキュアエレメント20から、パラメータの照合結果、バージョン情報等、デバイス1で現在稼働している推論モデル121の動作状況に関するデータを取得し、動作管理DB342に記憶する。これにより、サーバ3と推論モデル121を同期するデバイス1の動作状況を遠隔監視することができる。特に、デバイス1から送信される情報はセキュアエレメント20が送信元であるデータであることから、通信経路の秘匿化も併せることで、信頼性の高い遠隔監視を行うことができる。   Also, as described in the second and third embodiments, the server 3 acquires, from the secure element 20, data on the operation status of the inference model 121 currently operating on the device 1, such as the result of parameter comparison, version information, etc. , Stored in the operation management DB 342. As a result, the operation status of the device 1 that synchronizes the server 3 and the inference model 121 can be remotely monitored. In particular, since the information transmitted from the device 1 is data transmitted from the secure element 20, highly reliable remote monitoring can be performed by combining the concealment of the communication path.

(実施の形態4)
実施の形態3では、デバイス1で稼働している推論モデル121を更新する形態について述べた。本実施の形態では、当該更新処理の実際的な運用形態について説明する。
図12は、実施の形態4に係る更新処理を説明するための説明図である。図12では、デバイス1の運用者(ユーザ)からの更新要求に従って、デバイス1内の推論モデル121を更新する様子を図示している。
Embodiment 4
In the third embodiment, the form has been described in which the inference model 121 operating on the device 1 is updated. In the present embodiment, a practical operation form of the update processing will be described.
FIG. 12 is an explanatory diagram for explaining an update process according to the fourth embodiment. FIG. 12 illustrates how the inference model 121 in the device 1 is updated according to the update request from the operator (user) of the device 1.

図12において符号5で示す装置は、デバイス1の運用者(ユーザ)が使用する運用者端末5である。本実施の形態においてサーバ3は、運用者端末5等を介して運用者から推論モデル121の更新要求を受け付け、当該更新要求があった場合に最新モデル用パラメータ341をデバイス1に配信する。   An apparatus indicated by reference numeral 5 in FIG. 12 is an operator terminal 5 used by an operator (user) of the device 1. In the present embodiment, the server 3 receives an update request for the inference model 121 from the operator via the operator terminal 5 or the like, and distributes the latest model parameter 341 to the device 1 when there is the update request.

まずデバイス1のセキュアエレメント20は、実施の形態3と同様にデバイス本体10から推論モデル121の更新確認要求を受け付けた場合、あるいはサーバ3から最新モデルへの更新要求を受け付けた場合等、所定のタイミングでバージョン情報241cをサーバ3に送信する。サーバ3は、デバイス1から送信されたバージョン情報241cを最新モデルのバージョン情報341cと比較し、デバイス1が最新モデルへ更新済みであるか否かを確認する。   First, the secure element 20 of the device 1 receives the update confirmation request for the inference model 121 from the device main body 10 as in the third embodiment, or receives the update request for the latest model from the server 3, etc. The version information 241 c is transmitted to the server 3 at timing. The server 3 compares the version information 241c transmitted from the device 1 with the version information 341c of the latest model, and confirms whether the device 1 has been updated to the latest model.

未更新である場合、サーバ3は、最新モデルへの更新を行うか否かを運用者に確認するため、運用者端末5へ所定のアップデート通知を行う。なお、サーバ3はアップデート対象であるデバイス1自体に通知を行ってもよい。   If not updated, the server 3 sends a predetermined update notification to the operator terminal 5 in order to confirm to the operator whether or not to update to the latest model. The server 3 may notify the device 1 itself which is the update target.

運用者は運用者端末5を介してアップデート通知を受け取り、運用しているデバイス1の推論モデル121を更新するか否かをサーバ3へ返信する。更新する旨の返信を受信し、推論モデル121の更新要求を受け付けた場合、サーバ3は、最新モデル用パラメータ341をデバイス1に送信する。   The operator receives the update notification via the operator terminal 5 and sends back to the server 3 whether to update the inference model 121 of the device 1 being operated. If the server 3 receives the response to update and receives the update request of the inference model 121, the server 3 transmits the latest model parameter 341 to the device 1.

この場合にサーバ3は、推論モデル121を更新する対価として、所定のアップデート料金の支払いを運用者に対して要求しても良い。例えばサーバ3は、デバイスIDと対応付けて、運用者の情報(個人名、会社名等の名前や住所など)、アップデート料金の支払方法(口座番号、引き落とし設定等)などを動作管理DB342に記憶しておく。サーバ3は、運用者から更新要求を受け付け、パラメータの配信を行った後、当該情報に従ってアップデート料金の支払請求処理を実行する。例えばサーバ3は、クレジット会社等のサーバ装置、あるいはその他の装置に対して、顧客(運用者)、支払額等を示す情報を通知し、アップデート料金の支払いを請求する。   In this case, the server 3 may request the operator to pay a predetermined update fee as compensation for updating the inference model 121. For example, the server 3 stores, in the operation management DB 342, information of the operator (personal name, company name, name, address, etc.), update fee payment method (account number, withdrawal setting, etc.) in association with the device ID. Keep it. The server 3 receives the update request from the operator, distributes the parameters, and executes the payment request processing of the update fee according to the information. For example, the server 3 notifies a server device such as a credit company or other devices of information indicating a customer (operator), a payment amount and the like, and requests payment of an update fee.

なお、本実施の形態では推論モデル121のアップデートの対価として料金の請求を行うことにしたが、料金の請求処理は必須ではなく、例えば不具合対応時等のように、無償でアップデートを行ってもよい。また、請求処理を実行するタイミングはパラメータの配信後に限定されず、例えばパラメータの配信前に請求処理を行って決済が完了してからパラメータを配信する等、任意のタイミングで実行して良い。   In the present embodiment, although it is decided to charge a fee as compensation for the update of the inference model 121, charge processing of the fee is not essential. Good. Further, the timing for executing the billing process is not limited after the distribution of the parameter, and may be performed at any timing, for example, the billing process may be performed before the delivery of the parameter and the settlement may be completed after the settlement is completed.

図13は、実施の形態4に係る更新処理の処理手順の一例を示すフローチャートである。図13に基づき、実施の形態4に係る更新処理の内容について説明する。
デバイス1のセキュアエレメント20は、記憶部24に格納してある推論モデル用パラメータ241のバージョン情報241cを読み出し、サーバ3に送信する(ステップS81)。例えばセキュアエレメント20は、実施の形態3と同様に、デバイス本体10からの要求をトリガとしてバージョン情報を送信する。
FIG. 13 is a flowchart of an example of the process procedure of the update process according to the fourth embodiment. The contents of the update process according to the fourth embodiment will be described based on FIG.
The secure element 20 of the device 1 reads the version information 241 c of the inference model parameter 241 stored in the storage unit 24 and transmits the version information 241 c to the server 3 (step S 81). For example, the secure element 20 transmits version information triggered by a request from the device body 10 as in the third embodiment.

デバイス1からバージョン情報241cを取得した場合、サーバ3の制御部31は、当該バージョン情報241cを最新モデルのバージョン情報341cと比較して、デバイス1の推論モデル121が最新モデルに更新済みであるか否かを判定する(ステップS82)。更新済みであると判定した場合(S82:YES)、制御部31は一連の処理を終了する。   When the version information 241c is acquired from the device 1, the control unit 31 of the server 3 compares the version information 241c with the version information 341c of the latest model, and is the inference model 121 of the device 1 updated to the latest model? It is determined whether or not it is (step S82). If it is determined that the update has been completed (S82: YES), the control unit 31 ends the series of processing.

更新済みでないと判定した場合(S82:NO)、制御部31は、デバイス1の推論モデル121を更新するか否かを運用者に確認するアップデート通知を行う(ステップS83)。例えば制御部31は、運用者が使用する運用者端末5等に通知してもよく、あるいはアップデート対象であるデバイス1自体に通知してもよい。   If it is determined that the inference model 121 has not been updated (S82: NO), the control unit 31 sends an update notification that confirms with the operator whether to update the inference model 121 of the device 1 (step S83). For example, the control unit 31 may notify the operator terminal 5 or the like used by the operator, or may notify the device 1 itself as an update target.

制御部31は、運用者から推論モデル121の更新要求を受け付ける(ステップS84)。制御部31は、更新要求があったか否かを判定する(ステップS85)。更新要求がなかったと判定した場合(S85:NO)、制御部31は一連の処理を終了する。更新要求があったと判定した場合(S85:YES)、制御部31は、最新モデル用パラメータ341をデバイス1に送信する(ステップS86)。デバイス1のセキュアエレメント20は、当該パラメータを取得して記憶部24に格納し(ステップS87)、一連の処理を終了する。   The control unit 31 receives an update request for the inference model 121 from the operator (step S84). The control unit 31 determines whether an update request has been made (step S85). If it is determined that the update request has not been made (S85: NO), the control unit 31 ends the series of processes. If it is determined that an update request has been made (S85: YES), the control unit 31 transmits the latest model parameter 341 to the device 1 (step S86). The secure element 20 of the device 1 acquires the parameter and stores the parameter in the storage unit 24 (step S87), and ends the series of processing.

最新モデル用パラメータ341を送信した後(ステップS86)、サーバ3の制御部31は、推論モデル121の更新に伴うアップデート料金の支払いを運用者に対して請求する請求処理を実行する(ステップS88)。例えばサーバ3は、動作管理DB342において、デバイスIDと対応付けて運用者の情報、支払方法等を格納しておく。サーバ3は、当該支払方法に従って、例えばクレジット会社のサーバ装置等に対し、顧客(運用者)、支払額等を示す請求通知を送信する。制御部31は、一連の処理を終了する。   After transmitting the latest model parameter 341 (step S86), the control unit 31 of the server 3 executes a billing process for billing the operator for the payment of the update fee accompanying the update of the inference model 121 (step S88). . For example, the server 3 stores the information of the operator, the payment method, and the like in the operation management DB 342 in association with the device ID. In accordance with the payment method, the server 3 transmits, for example, a billing notification indicating a customer (operator), a payment amount, and the like to a server device or the like of a credit company. The control unit 31 ends the series of processes.

以上より、本実施の形態4によれば、サーバ3は、セキュアエレメント20からバージョン情報241cを取得し、バージョン情報241cに応じてデバイス1の推論モデル121が最新モデルに更新済みであるか否かを判定し、更新済みでないと判定した場合、デバイス1の運用者に更新を行うか否かを確認するアップデート通知を行う。サーバ3は、運用者から更新すべき旨の更新要求を受け付けた場合、最新モデル用パラメータ341をデバイス1のセキュアエレメント20に送信する。また、最新モデル用パラメータ341を送信する場合、サーバ3は、更新の対価であるアップデート料金を運用者に請求する請求処理を実行する。これにより、推論モデル121を生成するために投入したコンピュータリソースの投入コストを補うことができ、商業的、実務的な面で本システムの実際的な運用を実現することができる。   As described above, according to the fourth embodiment, the server 3 acquires the version information 241 c from the secure element 20 and determines whether the inference model 121 of the device 1 has been updated to the latest model according to the version information 241 c. If it is determined that the update has not been completed, an update notification is performed to confirm to the operator of the device 1 whether or not to perform the update. When the server 3 receives an update request for updating from the operator, the server 3 transmits the latest model parameter 341 to the secure element 20 of the device 1. In addition, when transmitting the latest model parameter 341, the server 3 executes a billing process for billing the operator for the update fee, which is the price for the update. As a result, it is possible to compensate for the input cost of computer resources input for generating the inference model 121, and it is possible to realize the practical operation of this system in a commercial and practical aspect.

なお、上記では推論モデル121の更新をデータ配信により行っているが、本実施の形態はこれに限定されるものではない。例えばセキュアエレメント20が着脱自在なUICC等のチップである場合、推論モデル121の更新は、新規のセキュアエレメント20を発行することで行ってもよい。例えばサーバ3は、デバイス1の運用者に対してアップデート通知を行い、アップデート料金の支払いを受けた場合、最新モデル用パラメータ341を格納したセキュアエレメント20を発行するよう、セキュアエレメント20の発行者に通知する。例えばサーバ3は、顧客(運用者)の情報、バージョン情報、及び発行を許可する旨の許可情報を、発行者のサーバ又はその他の装置に送信する。上記の構成であっても、データ配信を行う場合と同様の効果を奏する。   Although the inference model 121 is updated by data distribution in the above, the present embodiment is not limited to this. For example, when the secure element 20 is a chip such as a removable UICC, the inference model 121 may be updated by issuing a new secure element 20. For example, the server 3 issues an update notification to the operator of the device 1 and, when having received a payment for the update fee, issues the secure element 20 that issues the secure element 20 storing the latest model parameter 341 to the issuer of the secure element 20 Notice. For example, the server 3 transmits the information of the customer (operator), the version information, and the permission information for permitting the issuance to the server of the issuer or another device. Even if it is said structure, the same effect as the case of performing data delivery is produced.

(実施の形態5)
図14は、上述した形態のIoTシステムの動作を示す機能ブロック図である。制御部11がプログラムP1を実行することにより、デバイス1は以下のように動作する。実行部141は、演算処理を実行する。セキュア部142は、該実行部141よりもセキュアなコンポーネントであって、機械学習により生成された学習済みモデルを展開するためのパラメータを格納する。実行部141は、前記セキュア部142から前記パラメータを取得し、取得した前記パラメータに基づき、前記学習済みモデルをメモリ上に展開し、展開した前記学習済みモデルに基づいて演算処理を実行する。
Fifth Embodiment
FIG. 14 is a functional block diagram showing the operation of the IoT system of the embodiment described above. When the control unit 11 executes the program P1, the device 1 operates as follows. The execution unit 141 executes arithmetic processing. The secure unit 142 is a component that is more secure than the execution unit 141, and stores parameters for developing a learned model generated by machine learning. The execution unit 141 acquires the parameter from the secure unit 142, expands the learned model on a memory based on the acquired parameter, and executes arithmetic processing based on the expanded learned model.

また、制御部31がプログラムP2を実行することにより、サーバ3は以下のように動作する。動作状況取得部143は、前記セキュア部142から、前記学習済みモデルに基づく前記デバイス1の動作状況に関する情報と、該デバイス1の識別情報とを取得する。記憶部144は、前記動作状況に関する情報を、前記識別情報と対応付けて記憶する。   In addition, when the control unit 31 executes the program P2, the server 3 operates as follows. The operation status acquisition unit 143 acquires, from the secure unit 142, information on the operation status of the device 1 based on the learned model and identification information of the device 1. The storage unit 144 stores information on the operation status in association with the identification information.

本実施の形態5は以上の如きであり、その他は実施の形態1から4と同様であるので、対応する部分には同一の符号を付してその詳細な説明を省略する。   The fifth embodiment is as described above, and the other parts are the same as the first to fourth embodiments. Therefore, the corresponding parts are denoted with the same reference numerals and the detailed description thereof will be omitted.

今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。   It should be understood that the embodiments disclosed herein are illustrative in all respects and not restrictive. The scope of the present invention is indicated not by the meaning described above but by the claims, and is intended to include all modifications within the meaning and scope equivalent to the claims.

1 デバイス
10 デバイス本体
121 推論モデル(学習済みモデル)
20 セキュアエレメント(セキュア部)
241 推論モデル用パラメータ
3 サーバ(管理装置)
341 最新モデル用パラメータ
342 動作管理DB
1 device 10 device body 121 inference model (learned model)
20 Secure Element (Secure Department)
241 Parameters for Inference Model 3 Server (Management Device)
341 Parameter for latest model 342 Operation Management DB

Claims (19)

演算処理を実行する実行部と、
該実行部よりもセキュアなコンポーネントであって、機械学習により生成された学習済みモデルを展開するためのパラメータを格納するセキュア部と
を備え、
前記実行部は、
前記セキュア部から前記パラメータを取得し、
取得した前記パラメータに基づき、前記学習済みモデルをメモリ上に展開し、
展開した前記学習済みモデルに基づいて演算処理を実行する
ことを特徴とするデバイス。
An execution unit that executes arithmetic processing;
And a secure unit that is more secure than the execution unit, and stores parameters for developing a learned model generated by machine learning.
The execution unit is
Obtain the parameters from the secure unit,
Based on the acquired parameters, the learned model is expanded in memory,
A device characterized by performing arithmetic processing based on the expanded learned model.
前記セキュア部は、耐タンパ性を有するセキュアエレメントである
ことを特徴とする請求項1に記載のデバイス。
The device according to claim 1, wherein the secure unit is a tamper-resistant secure element.
前記セキュア部は、前記実行部が処理を実行する実行環境とは異なる仮想領域であって、前記実行環境よりもセキュアなトラステッド実行環境であり、
前記実行部は、前記トラステッド実行環境から取得した前記パラメータに基づき、前記実行環境に前記学習済みモデルを展開する
ことを特徴とする請求項1に記載のデバイス。
The secure unit is a virtual area different from an execution environment in which the execution unit executes processing, and is a trusted execution environment that is more secure than the execution environment,
The device according to claim 1, wherein the execution unit develops the learned model in the execution environment based on the parameter acquired from the trusted execution environment.
前記学習済みモデルに入力する入力値を取得する取得部を備え、
前記実行部は、前記入力値を前記学習済みモデルに入力して出力値を演算し、
演算結果を出力する出力部を備える
ことを特徴とする請求項1〜3のいずれか1項に記載のデバイス。
An acquisition unit for acquiring an input value to be input to the learned model;
The execution unit inputs the input value to the learned model and calculates an output value.
The device according to any one of claims 1 to 3, further comprising an output unit configured to output an operation result.
運用者認証に必要な認証情報を取得する認証情報取得部を備え、
前記認証情報に基づく運用者認証に成功した場合、前記セキュア部は前記パラメータを出力する
ことを特徴とする請求項1〜4のいずれか1項に記載のデバイス。
An authentication information acquisition unit that acquires authentication information required for operator authentication, and
The device according to any one of claims 1 to 4, wherein when the operator authentication based on the authentication information succeeds, the secure unit outputs the parameter.
前記実行部が展開した前記学習済みモデルから、前記パラメータを抽出する抽出部と、
抽出した前記パラメータを前記セキュア部に出力するパラメータ出力部と
を備え、
前記セキュア部は、前記パラメータ出力部が出力した前記パラメータと、格納してある前記パラメータとを照合する
ことを特徴とする請求項1〜5のいずれか1項に記載のデバイス。
An extraction unit that extracts the parameter from the learned model developed by the execution unit;
A parameter output unit that outputs the extracted parameter to the secure unit;
The device according to any one of claims 1 to 5, wherein the secure unit collates the parameter output from the parameter output unit with the stored parameter.
前記パラメータ出力部は、前記パラメータを所定形式の値に変換して出力し、
前記セキュア部は、前記所定形式の値を照合する
ことを特徴とする請求項6に記載のデバイス。
The parameter output unit converts the parameter into a value of a predetermined format and outputs it.
The device according to claim 6, wherein the secure unit collates the value of the predetermined format.
前記セキュア部は、前記パラメータの照合結果を前記実行部に通知し、
前記実行部は、通知された照合結果に応じて、前記学習済みモデルに基づく演算処理の実行の可否を判定する
ことを特徴とする請求項6又は7に記載のデバイス。
The secure unit notifies the execution unit of the comparison result of the parameter,
The device according to claim 6, wherein the execution unit determines whether or not execution of the arithmetic processing based on the learned model is possible in accordance with the notified collation result.
前記セキュア部は、デバイスの動作状況を管理する管理装置に対し、前記パラメータの照合結果を通知する
ことを特徴とする請求項6〜8のいずれか1項に記載のデバイス。
The device according to any one of claims 6 to 8, wherein the secure unit notifies a management device that manages an operation state of the device of a comparison result of the parameter.
前記セキュア部は、
前記パラメータと関連付けて、該パラメータに対応する前記学習済みモデルのバージョン情報を格納してあり、
前記バージョン情報を、デバイスの動作状況を管理する管理装置に通知し、
前記バージョン情報に応じて、最新の前記学習済みモデルに対応する前記パラメータを前記管理装置から取得し、
取得した前記パラメータを格納する
ことを特徴とする請求項1〜9のいずれか1項に記載のデバイス。
The secure unit
Version information of the learned model corresponding to the parameter is stored in association with the parameter;
The version information is notified to a management device that manages the operation status of the device,
Acquiring the parameter corresponding to the latest learned model from the management device according to the version information;
The device according to any one of claims 1 to 9, wherein the acquired parameter is stored.
前記セキュア部は、
前記管理装置との間で、通信内容を暗号化した秘匿通信路を開設し、
該秘匿通信路を介してデータの送受信を行う
ことを特徴とする請求項9又は10に記載のデバイス。
The secure unit
Establishing a secret communication path in which the communication content is encrypted with the management apparatus;
11. The device according to claim 9, wherein transmission and reception of data are performed via the secret communication path.
デバイスに搭載されるセキュアエレメントであって、
機械学習により生成された学習済みモデルを展開するために必要なパラメータを記憶する記憶部と、
前記学習済みモデルをメモリ上に展開し、該学習済みモデルに基づく演算処理を実行するデバイス本体に対して、前記パラメータを出力する出力部と
を備えることを特徴とするセキュアエレメント。
A secure element mounted on the device,
A storage unit for storing parameters necessary for developing a learned model generated by machine learning;
A secure element comprising: an output unit that develops the learned model on a memory and outputs the parameter to a device body that executes arithmetic processing based on the learned model.
セキュアエレメントを搭載したコンピュータに、
機械学習により生成された学習済みモデルを展開するためのパラメータを格納する前記セキュアエレメントから、前記パラメータを取得し、
取得した前記パラメータに基づき、前記学習済みモデルを展開し、
展開した前記学習済みモデルに基づいて演算を行う
処理を実行させることを特徴とするプログラム。
On computers equipped with Secure Element,
Obtaining the parameters from the secure element storing parameters for developing a learned model generated by machine learning;
Developing the learned model based on the acquired parameters;
A program that executes processing for performing operations based on the expanded learned model.
コンピュータに、
機械学習により生成された学習済みモデルを展開するためのパラメータを、該学習済みモデルに基づく演算処理を実行する実行環境よりもセキュアなトラステッド実行環境に格納し、
該トラステッド実行環境から前記パラメータを取得し、
取得した前記パラメータに基づき、前記実行環境に前記学習済みモデルを展開し、
展開した前記学習済みモデルに基づいて演算を行う
処理を実行させることを特徴とするプログラム。
On the computer
Storing parameters for developing a learned model generated by machine learning in a trusted execution environment that is more secure than an execution environment that executes arithmetic processing based on the learned model,
Obtaining the parameters from the trusted execution environment;
Developing the learned model in the execution environment based on the acquired parameters;
A program that executes processing for performing operations based on the expanded learned model.
デバイスと、該デバイスの動作状況を管理する管理装置とを備えた情報処理システムであって、
前記デバイスは、
演算処理を実行する実行部と、
該実行部よりもセキュアなコンポーネントであって、機械学習により生成された学習済みモデルを展開するためのパラメータを格納するセキュア部と
を備え、
前記実行部は、
前記セキュア部から前記パラメータを取得し、
取得した前記パラメータに基づき、前記学習済みモデルをメモリ上に展開し、
展開した前記学習済みモデルに基づいて演算処理を実行し、
前記管理装置は、
前記セキュア部から、前記学習済みモデルに基づく前記デバイスの動作状況に関する情報と、該デバイスの識別情報とを取得する動作状況取得部と、
前記動作状況に関する情報を、前記識別情報と対応付けて記憶する記憶部と
を備えることを特徴とする情報処理システム。
An information processing system comprising: a device; and a management device that manages an operation state of the device,
The device is
An execution unit that executes arithmetic processing;
And a secure unit that is more secure than the execution unit, and stores parameters for developing a learned model generated by machine learning.
The execution unit is
Obtain the parameters from the secure unit,
Based on the acquired parameters, the learned model is expanded in memory,
Perform arithmetic processing based on the expanded learned model,
The management device is
An operation status acquisition unit that acquires, from the secure unit, information related to the operation status of the device based on the learned model, and identification information of the device;
A storage unit that stores information related to the operation status in association with the identification information.
前記デバイスは、
前記実行部が展開した前記学習済みモデルから、前記パラメータを抽出する抽出部と、
抽出した前記パラメータを前記セキュア部に出力するパラメータ出力部と
を備え、
前記セキュア部は、
前記パラメータ出力部が出力した前記パラメータと、格納してある前記パラメータとを照合し、
照合結果を前記管理装置に通知し、
前記動作状況取得部は、前記照合結果を取得し、
前記記憶部は、前記識別情報と対応付けて、前記照合結果を記憶する
ことを特徴とする請求項15に記載の情報処理システム。
The device is
An extraction unit that extracts the parameter from the learned model developed by the execution unit;
A parameter output unit that outputs the extracted parameter to the secure unit;
The secure unit
Collating the parameter output from the parameter output unit with the stored parameter;
Notifying the management device of the collation result,
The operation status acquisition unit acquires the collation result.
The information processing system according to claim 15, wherein the storage unit stores the matching result in association with the identification information.
前記セキュア部は、
前記パラメータと関連付けて、該パラメータに対応する前記学習済みモデルのバージョン情報を格納してあり、
前記バージョン情報を前記管理装置に通知し、
前記動作状況取得部は、前記バージョン情報を取得し、
前記管理装置は、取得した前記バージョン情報に応じて、最新の前記学習済みモデルに対応する前記パラメータを送信する送信部を備え、
前記パラメータを送信した場合、前記記憶部は、前記デバイスにおいて前記学習済みモデルを更新した旨を示す更新情報を記憶し、
前記セキュア部は、
前記パラメータを前記管理装置から取得し、
取得した前記パラメータを格納する
ことを特徴とする請求項15又は16に記載の情報処理システム。
The secure unit
Version information of the learned model corresponding to the parameter is stored in association with the parameter;
Notifying the version information to the management device;
The operation status acquisition unit acquires the version information.
The management apparatus includes a transmission unit that transmits the parameter corresponding to the latest learned model according to the acquired version information.
When the parameter is transmitted, the storage unit stores update information indicating that the learned model has been updated in the device;
The secure unit
Acquiring the parameter from the management device;
The information processing system according to claim 15, wherein the acquired parameter is stored.
演算処理を実行する実行部と、該実行部よりもセキュアなコンポーネントであって、機械学習により生成された学習済みモデルを展開するためのパラメータを格納するセキュア部とを備えたデバイスに、
前記実行部が、
前記セキュア部から前記パラメータを取得し、
取得した前記パラメータに基づき、前記学習済みモデルをメモリ上に展開し、
展開した前記学習済みモデルに基づいて演算を行う
処理を実行させることを特徴とする情報処理方法。
A device comprising: an execution unit that executes arithmetic processing; and a secure unit that is more secure than the execution unit and that stores parameters for expanding a learned model generated by machine learning.
The execution unit
Obtain the parameters from the secure unit,
Based on the acquired parameters, the learned model is expanded in memory,
An information processing method comprising: executing a process based on the expanded learned model.
前記セキュア部は、前記パラメータと関連付けて、該パラメータに対応する前記学習済みモデルのバージョン情報を格納してあり、
前記セキュア部が、
前記バージョン情報を、デバイスの動作状況を管理する管理装置に通知し、
前記バージョン情報に応じて、最新の前記学習済みモデルに対応する前記パラメータを前記管理装置から取得し、
取得した前記パラメータを格納する
ことを特徴とする請求項18に記載の情報処理方法。
The secure unit stores version information of the learned model corresponding to the parameter in association with the parameter;
The secure unit
The version information is notified to a management device that manages the operation status of the device,
Acquiring the parameter corresponding to the latest learned model from the management device according to the version information;
The information processing method according to claim 18, wherein the acquired parameter is stored.
JP2017232691A 2017-12-04 2017-12-04 Devices, secure elements, programs, information processing systems and information processing methods Active JP7052325B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017232691A JP7052325B2 (en) 2017-12-04 2017-12-04 Devices, secure elements, programs, information processing systems and information processing methods
JP2021175553A JP7419325B2 (en) 2017-12-04 2021-10-27 Devices, programs and information processing methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017232691A JP7052325B2 (en) 2017-12-04 2017-12-04 Devices, secure elements, programs, information processing systems and information processing methods

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021175553A Division JP7419325B2 (en) 2017-12-04 2021-10-27 Devices, programs and information processing methods

Publications (2)

Publication Number Publication Date
JP2019101807A true JP2019101807A (en) 2019-06-24
JP7052325B2 JP7052325B2 (en) 2022-04-12

Family

ID=66973780

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017232691A Active JP7052325B2 (en) 2017-12-04 2017-12-04 Devices, secure elements, programs, information processing systems and information processing methods
JP2021175553A Active JP7419325B2 (en) 2017-12-04 2021-10-27 Devices, programs and information processing methods

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021175553A Active JP7419325B2 (en) 2017-12-04 2021-10-27 Devices, programs and information processing methods

Country Status (1)

Country Link
JP (2) JP7052325B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021005846A (en) * 2019-06-27 2021-01-14 オリンパス株式会社 Stacked imaging device, imaging device, imaging method, learning method, and image readout circuit
WO2021054478A1 (en) * 2019-09-22 2021-03-25 株式会社リョーワ Quality determination system, server and program
DE112020005424T5 (en) 2020-01-07 2022-09-01 Mitsubishi Electric Corporation INFORMATION PROCESSING ESTABLISHMENT, INFORMATION PROCESSING PROCEDURE AND INFORMATION PROCESSING PROGRAM

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003065225A1 (en) * 2002-01-31 2003-08-07 Matsushita Electric Industrial Co., Ltd. Memory device, terminal apparatus, and data repair system
JP2010176583A (en) * 2009-01-30 2010-08-12 Dainippon Printing Co Ltd Apparatus, method, program and system for processing information
US20160321543A1 (en) * 2013-12-31 2016-11-03 Intel Corporation Trusted predictive analytic execution middleware
JP2017033248A (en) * 2015-07-31 2017-02-09 パナソニックIpマネジメント株式会社 Processing device, car onboard terminal device, method for activating processing device, and program for activating processing device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9864953B2 (en) 2013-05-30 2018-01-09 President And Fellows Of Harvard College Systems and methods for Bayesian optimization using integrated acquisition functions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003065225A1 (en) * 2002-01-31 2003-08-07 Matsushita Electric Industrial Co., Ltd. Memory device, terminal apparatus, and data repair system
JP2010176583A (en) * 2009-01-30 2010-08-12 Dainippon Printing Co Ltd Apparatus, method, program and system for processing information
US20160321543A1 (en) * 2013-12-31 2016-11-03 Intel Corporation Trusted predictive analytic execution middleware
JP2017033248A (en) * 2015-07-31 2017-02-09 パナソニックIpマネジメント株式会社 Processing device, car onboard terminal device, method for activating processing device, and program for activating processing device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021005846A (en) * 2019-06-27 2021-01-14 オリンパス株式会社 Stacked imaging device, imaging device, imaging method, learning method, and image readout circuit
WO2021054478A1 (en) * 2019-09-22 2021-03-25 株式会社リョーワ Quality determination system, server and program
JP2021051404A (en) * 2019-09-22 2021-04-01 株式会社リョーワ Quality determination system, server and quality determination method
JP7006954B2 (en) 2019-09-22 2022-01-24 株式会社リョーワ Pass / Fail Judgment System, Server and Pass / Fail Judgment Method
DE112020005424T5 (en) 2020-01-07 2022-09-01 Mitsubishi Electric Corporation INFORMATION PROCESSING ESTABLISHMENT, INFORMATION PROCESSING PROCEDURE AND INFORMATION PROCESSING PROGRAM

Also Published As

Publication number Publication date
JP7052325B2 (en) 2022-04-12
JP2022009575A (en) 2022-01-14
JP7419325B2 (en) 2024-01-22

Similar Documents

Publication Publication Date Title
JP6655762B2 (en) Machine learning model fraud detection system and fraud detection method
JP7419325B2 (en) Devices, programs and information processing methods
US11550935B2 (en) Method, apparatus, and electronic device for blockchain-based recordkeeping
US20220417739A1 (en) Secure data communication
US11917074B2 (en) Electronic signature authentication system based on biometric information and electronic signature authentication method
CN110912712B (en) Service operation risk authentication method and system based on block chain
CN105453103B (en) Start according to the secure operating system encapsulated with reference to platform inventory and data
JP2019219780A (en) Personal information management system, and service providing system, method and program
CN107004080A (en) Environment sensing security token
JP2019121141A (en) Device, secure element, program, information processing system and information processing method
CN110597837A (en) Service data processing method, device, storage medium and computer equipment
JP6650157B1 (en) Information management system, information management method and information management program
AU2019204711B2 (en) Securely performing cryptographic operations
CN111222865A (en) Resource data transfer method, device, storage medium and computer equipment
CN114925141B (en) Cloud primary automation deployment management system and method based on block chain
CN114207613A (en) Techniques for an energized intrusion detection system
JP6954084B2 (en) Devices, secure elements, programs, information processing methods and information processing systems
KR101876672B1 (en) Digital signature method using block chain and system performing the same
GB2567715A (en) Authentication system, method and program
EP4040720A1 (en) Secure identity card using unclonable functions
CN112020718A (en) Integrity check of electronic device
CN110599332A (en) Block chain-based user intention determination method, device, equipment and storage medium
JP4749017B2 (en) Pseudo biometric authentication system and pseudo biometric authentication method
US11954215B1 (en) System and method for security suite concatenating validation elements for blockchain binding operations
Majd et al. Secure and Cost Effective IoT Authentication and Data Storage Framework using Blockchain NFT

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211027

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220314

R150 Certificate of patent or registration of utility model

Ref document number: 7052325

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150