JP2022085148A - Information processor, information processing system, and program - Google Patents

Information processor, information processing system, and program Download PDF

Info

Publication number
JP2022085148A
JP2022085148A JP2020196667A JP2020196667A JP2022085148A JP 2022085148 A JP2022085148 A JP 2022085148A JP 2020196667 A JP2020196667 A JP 2020196667A JP 2020196667 A JP2020196667 A JP 2020196667A JP 2022085148 A JP2022085148 A JP 2022085148A
Authority
JP
Japan
Prior art keywords
image data
key
encrypted
unit
inference
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.)
Pending
Application number
JP2020196667A
Other languages
Japanese (ja)
Inventor
浩樹 寺本
Hiroki Teramoto
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.)
Fujitsu Client Computing Ltd
Original Assignee
Fujitsu Client Computing 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 Fujitsu Client Computing Ltd filed Critical Fujitsu Client Computing Ltd
Priority to JP2020196667A priority Critical patent/JP2022085148A/en
Publication of JP2022085148A publication Critical patent/JP2022085148A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

To allow a safe usage of resources used for inference processing.SOLUTION: An information processor 10 includes a storage unit 11 and a processing unit 12. The storage unit 11 stores image data 20 of a container including an inference model 21 and a program module 22 used to execute the inference processing using the inference model 21. For example, the program module 22 includes at least one of a framework and a library used to execute the inference processing. The processing unit 12 generates encryption image data 40 by encrypting the image data 20 using a key 30.SELECTED DRAWING: Figure 1

Description

本発明は情報処理装置、情報処理システムおよびプログラムに関する。 The present invention relates to an information processing apparatus, an information processing system and a program.

現在、AI(Artificial Intelligence)を用いた推論処理を行うシステムが利用されている。情報処理装置は、推論処理が要求された場合に、推論処理に適した演算装置に、当該推論処理を実行させることがある。推論処理は、機械学習により生成される推論モデルに基づいて実行される。推論モデルはAIモデルや学習済モデルなどと呼ばれることもある。例えば、推論処理に適した複数のアクセラレータに処理負荷を適宜分散させ、推論処理を効率的に行う推論処理システムが提案されている。 Currently, a system that performs inference processing using AI (Artificial Intelligence) is being used. When the inference process is requested, the information processing apparatus may cause an arithmetic unit suitable for the inference process to execute the inference process. The inference process is executed based on the inference model generated by machine learning. The inference model is sometimes called an AI model or a trained model. For example, an inference processing system has been proposed in which the processing load is appropriately distributed to a plurality of accelerators suitable for inference processing to efficiently perform inference processing.

ところで、コンピュータにおける仮想化技術の1つにコンテナ型仮想化と呼ばれる技術がある。コンテナ型仮想化では、ソフトウェアの実行に用いられるライブラリなどの資源を纏めたコンテナが、ソフトウェアの実行環境として定義される。例えば、コンピュータは、OS(Operating System)のカーネル上でコンテナを起動し、コンテナを用いてソフトウェアを実行する。 By the way, one of the virtualization techniques in a computer is a technique called container-type virtualization. In container-type virtualization, a container that collects resources such as libraries used to execute software is defined as the software execution environment. For example, a computer starts a container on the kernel of an OS (Operating System) and executes software using the container.

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

推論処理を行う演算装置には、コンテナ型仮想化を利用できるものがある。この場合、情報処理装置は、コンテナのイメージデータに推論モデルを含め、イメージデータに基づいて演算装置にコンテナを起動させることで、当該推論モデルによる推論処理を演算装置に実行させることができる。 Some arithmetic units that perform inference processing can use container-type virtualization. In this case, the information processing device includes the inference model in the image data of the container, and by invoking the container in the arithmetic unit based on the image data, the arithmetic unit can execute the inference processing by the inference model.

一方、イメージデータには、推論モデルや推論処理の実行に用いられるプログラムモジュールといった資源が含まれる。このため、イメージデータが不正に取得された場合に、イメージデータに含まれる資源が流出する可能性がある。 On the other hand, image data includes resources such as inference models and program modules used to execute inference processing. Therefore, if the image data is illegally acquired, the resources contained in the image data may be leaked.

1つの側面では、本発明は、推論処理に用いられる資源を安全に利用可能にする情報処理装置、情報処理システムおよびプログラムを提供することを目的とする。 In one aspect, it is an object of the present invention to provide information processing devices, information processing systems and programs that make the resources used for inference processing safely available.

1つの態様では、情報処理装置が提供される。情報処理装置は、記憶部と処理部とを有する。記憶部は、推論モデルと推論モデルを用いた推論処理の実行に用いられるプログラムモジュールとを含むコンテナのイメージデータを記憶する。処理部は、第1の鍵を用いてイメージデータを暗号化することで暗号化イメージデータを生成する。 In one aspect, an information processing device is provided. The information processing device has a storage unit and a processing unit. The storage unit stores the image data of the container including the inference model and the program module used for executing the inference process using the inference model. The processing unit generates encrypted image data by encrypting the image data using the first key.

また、1つの態様では、情報処理システムが提供される。情報処理システムは、演算装置と情報処理装置とを有する。演算装置は、コンテナに含まれる推論モデル、および、推論モデルによる推論処理に用いられ、コンテナに含まれるプログラムモジュールに基づいて推論処理を実行する。情報処理装置は、コンテナのイメージデータが第1の鍵を用いて暗号化された暗号化イメージデータと第1の鍵とを取得し、第1の鍵を用いて暗号化イメージデータを復号することでイメージデータを生成し、イメージデータを用いて、演算装置によりコンテナを起動させる。 Also, in one aspect, an information processing system is provided. The information processing system includes an arithmetic unit and an information processing device. The arithmetic unit is used for the inference model included in the container and the inference process by the inference model, and executes the inference process based on the program module included in the container. The information processing device acquires the encrypted image data in which the image data of the container is encrypted using the first key and the first key, and decrypts the encrypted image data using the first key. Generate image data with, and use the image data to start the container by the arithmetic unit.

また、1つの態様では、プログラムが提供される。 Also, in one aspect, the program is provided.

1つの側面では、推論処理に用いられる資源を安全に利用可能にする。 On one side, it makes the resources used for inference processing safe to use.

第1の実施の形態の情報処理装置を説明する図である。It is a figure explaining the information processing apparatus of 1st Embodiment. 第2の実施の形態のシステム例を示す図である。It is a figure which shows the system example of the 2nd Embodiment. 情報処理システムのハードウェア例を示す図である。It is a figure which shows the hardware example of an information processing system. 開発環境の情報処理システムの機能例を示す図である。It is a figure which shows the functional example of the information processing system of a development environment. 運用環境の情報処理システムの機能例を示す図である。It is a figure which shows the functional example of the information processing system of an operating environment. コンテナのイメージデータの生成例を示す図である。It is a figure which shows the generation example of the image data of a container. イメージデータの暗号化例を示す図である。It is a figure which shows the encryption example of image data. 暗号化イメージデータの管理例を示す図である。It is a figure which shows the management example of the encrypted image data. 暗号化イメージデータの復号例を示す図である。It is a figure which shows the decryption example of the encrypted image data. イメージデータの暗号化処理例を示すフローチャートである。It is a flowchart which shows the example of the encryption process of image data. 暗号化イメージデータの管理処理例を示すフローチャートである。It is a flowchart which shows the management processing example of the encrypted image data. 配備処理例を示すフローチャートである。It is a flowchart which shows the deployment processing example.

以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
The first embodiment will be described.

図1は、第1の実施の形態の情報処理装置を説明する図である。
情報処理装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部12は、例えばCPU(Central Processing Unit)などのプロセッサにより実現される。処理部12は、GPU(Graphics Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)またはPLD(Programmable Logic Device)などを含み得る。「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。
FIG. 1 is a diagram illustrating an information processing apparatus according to the first embodiment.
The information processing device 10 has a storage unit 11 and a processing unit 12. The storage unit 11 may be a volatile storage device such as a RAM (Random Access Memory) or a non-volatile storage device such as an HDD (Hard Disk Drive) or a flash memory. The processing unit 12 is realized by a processor such as a CPU (Central Processing Unit). The processing unit 12 includes a GPU (Graphics Processing Unit), an MPU (Micro Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), a PLD (Programmable Logic Device), or the like. Can include. A "processor" may also include a set of multiple processors (multiprocessors).

記憶部11は、コンテナのイメージデータ20を記憶する。イメージデータ20は、推論モデル21とプログラムモジュール22とを含む。推論モデル21は、機械学習により作成され画像認識による物体検知などの推論処理に用いられる。推論モデル21は、例えばニューラルネットワークを表す情報である。推論モデル21には、開発環境のシステムにおいて、導入先の特定の運用環境に合わせたパラメータ調整が行われ得る。プログラムモジュール22は、例えば推論処理の実行に用いられるフレームワークおよびライブラリの少なくとも一方を含む。推論処理を行う演算装置にイメージデータ20をロードすることで、当該演算装置上でコンテナを起動し、推論モデル21に応じた推論処理を実行させることができる。例えば、開発環境で作成されたイメージデータ20が処理部12により取得され、記憶部11に格納される。 The storage unit 11 stores the image data 20 of the container. The image data 20 includes an inference model 21 and a program module 22. The inference model 21 is created by machine learning and is used for inference processing such as object detection by image recognition. The inference model 21 is information representing, for example, a neural network. In the inference model 21, parameters can be adjusted in the system of the development environment according to the specific operating environment of the introduction destination. The program module 22 includes, for example, at least one of the frameworks and libraries used to perform inference processing. By loading the image data 20 into the arithmetic unit that performs the inference processing, it is possible to start the container on the arithmetic unit and execute the inference processing according to the inference model 21. For example, the image data 20 created in the development environment is acquired by the processing unit 12 and stored in the storage unit 11.

処理部12は、鍵30(第1の鍵)を用いてイメージデータ20を暗号化することで暗号化イメージデータ40を生成し、暗号化イメージデータ40を出力する。暗号化アルゴリズムには、例えば、AES(Advanced Encryption Standard)などの共通鍵暗号アルゴリズムが用いられる。 The processing unit 12 generates encrypted image data 40 by encrypting the image data 20 using the key 30 (first key), and outputs the encrypted image data 40. As the encryption algorithm, for example, a common key encryption algorithm such as AES (Advanced Encryption Standard) is used.

情報処理装置10は、イメージデータ20に代えて暗号化イメージデータ40を運用環境に配布したり、保管させたりすることができる。例えば、暗号化イメージデータ40の配布先では、鍵30がなければ暗号化イメージデータ40の復号を行えない。したがって、暗号化イメージデータ40のみが盗難などによって流出したとしても、推論モデル21やプログラムモジュール22が不正に利用されたり、改ざんされたりする可能性を抑制できる。こうして、推論処理に用いられる資源を安全に利用可能にすることができる。 The information processing apparatus 10 can distribute or store the encrypted image data 40 in the operating environment instead of the image data 20. For example, at the distribution destination of the encrypted image data 40, the encrypted image data 40 cannot be decrypted without the key 30. Therefore, even if only the encrypted image data 40 is leaked due to theft or the like, the possibility that the inference model 21 or the program module 22 is illegally used or falsified can be suppressed. In this way, the resources used for inference processing can be safely made available.

なお、イメージデータ20に含まれる推論モデル21は、予め暗号化されていてもよい。この場合、資源の中でも重要なコンポーネントである推論モデル21の流出を一層抑えられる。 The inference model 21 included in the image data 20 may be encrypted in advance. In this case, the outflow of the inference model 21, which is an important component among the resources, can be further suppressed.

また、情報処理装置10または暗号化イメージデータ40および鍵30の配布先の装置は、鍵30の秘匿性を高めて管理することも考えられる。例えば、情報処理装置10は、自装置に固有の鍵を用いて、鍵30を暗号化して管理してもよい。固有の鍵の管理および固有の鍵を用いた暗号処理は、例えば、情報処理装置10が有するTPM(Trusted Platform Module)などの暗号処理部により実行される。暗号化イメージデータ40および鍵30の配布先の装置でも同様に鍵30を暗号化して管理することができる。これにより、暗号化イメージデータ40および鍵30を暗号化した暗号化済鍵データが流出したとしても、暗号化イメージデータ40の復号は困難になる。こうして、推論処理に用いられる資源をより一層安全に利用可能にすることもできる。 Further, it is conceivable that the information processing device 10 or the device to which the encrypted image data 40 and the key 30 are distributed is managed by increasing the confidentiality of the key 30. For example, the information processing device 10 may encrypt and manage the key 30 by using a key unique to its own device. The management of the unique key and the encryption processing using the unique key are executed by, for example, an encryption processing unit such as a TPM (Trusted Platform Module) included in the information processing apparatus 10. Similarly, the key 30 can be encrypted and managed by the device to which the encrypted image data 40 and the key 30 are distributed. As a result, even if the encrypted image data 40 and the encrypted key data in which the key 30 is encrypted leak out, it becomes difficult to decrypt the encrypted image data 40. In this way, the resources used for inference processing can be made available more safely.

[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態のシステム例を示す図である。
[Second Embodiment]
Next, a second embodiment will be described.
FIG. 2 is a diagram showing a system example of the second embodiment.

情報処理システム50,60は、ネットワーク70に接続されている。ネットワーク70は、LAN(Local Area Network)でもよいし、WAN(Wide Area Network)やインターネットなどでもよい。 The information processing systems 50 and 60 are connected to the network 70. The network 70 may be a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, or the like.

情報処理システム50は、推論モデルの開発を行う開発環境のシステムである。推論モデルは、AIモデル、AI推論モデルあるいは学習モデルなどと呼ばれてもよい。推論モデルの雛形データは、例えば、インターネットを介してクラウドサーバから情報処理システム50にダウンロードされる。情報処理システム50は、ダウンロードした雛形データに、運用環境におけるパラメータ調整を行い、運用環境に適した推論モデルを作成する。情報処理システム50は、推論モデルの開発に用いられる演算装置を含む。 The information processing system 50 is a development environment system for developing an inference model. The inference model may be called an AI model, an AI inference model, a learning model, or the like. The template data of the inference model is downloaded from the cloud server to the information processing system 50 via the Internet, for example. The information processing system 50 adjusts parameters in the operating environment for the downloaded template data, and creates an inference model suitable for the operating environment. The information processing system 50 includes an arithmetic unit used for developing an inference model.

情報処理システム60は、情報処理システム50で作成された推論モデルに基づく推論処理を行う運用環境のシステムである。情報処理システム60は、推論処理のアクセラレータとして用いられる演算装置を含む。演算装置の一例として、JETSON(登録商標)が挙げられる。運用環境における演算装置上の推論処理は、コンテナ型仮想化の技術を用いて実現される。コンテナ型仮想化を実現するソフトウェアには、例えば、Docker(登録商標)がある。 The information processing system 60 is an operating environment system that performs inference processing based on the inference model created by the information processing system 50. The information processing system 60 includes an arithmetic unit used as an accelerator for inference processing. As an example of the arithmetic unit, JETSON (registered trademark) can be mentioned. Inference processing on the arithmetic unit in the operating environment is realized by using the technology of container-type virtualization. Software that realizes container-type virtualization includes, for example, Docker (registered trademark).

図3は、情報処理システムのハードウェア例を示す図である。
情報処理システム50は、PCIe(Peripheral Component Interconnect Express、登録商標)ブリッジコントローラ51、情報処理装置100および演算装置200,200aを有する。
FIG. 3 is a diagram showing a hardware example of an information processing system.
The information processing system 50 includes a PCIe (Peripheral Component Interconnect Express, registered trademark) bridge controller 51, an information processing device 100, and arithmetic units 200, 200a.

PCIeブリッジコントローラ51は、情報処理装置100および演算装置200,200aの通信を中継する中継装置である。情報処理装置100および演算装置200,200aは、PCIeブリッジコントローラ51により実現されるPCIeによる接続構成上で、仮想的にIP(Internet Protocol)による通信を行う。例えば、情報処理装置100は、演算装置200,200aそれぞれとデータを送受信することができる。 The PCIe bridge controller 51 is a relay device that relays communication between the information processing device 100 and the arithmetic units 200, 200a. The information processing device 100 and the arithmetic units 200, 200a virtually perform IP (Internet Protocol) communication on the connection configuration by PCIe realized by the PCIe bridge controller 51. For example, the information processing apparatus 100 can transmit and receive data to and from the arithmetic units 200 and 200a, respectively.

情報処理装置100は、プロセッサ101、RAM102、HDD103、TPM104、PCIeインタフェース105、画像信号処理部106、入力信号処理部107、媒体リーダ108およびNIC(Network Interface Card)109を有する。 The information processing apparatus 100 includes a processor 101, a RAM 102, an HDD 103, a TPM 104, a PCIe interface 105, an image signal processing unit 106, an input signal processing unit 107, a medium reader 108, and a NIC (Network Interface Card) 109.

プロセッサ101は、プログラムの命令を実行する。プロセッサ101は、例えばCPU、GPU、MPU、DSP、ASIC、FPGAまたはPLDなどである。また、プロセッサは、CPU、GPU、MPU、DSP、ASIC、FPGAおよびPLDのうちの2以上の要素の組み合わせでもよい。プロセッサ101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、プロセッサ101は複数のプロセッサコアを含んでもよい。また、情報処理装置100は複数のプロセッサを有してもよい。以下で説明する処理は複数のプロセッサまたはプロセッサコアを用いて並列に実行されてもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。 The processor 101 executes the instruction of the program. The processor 101 is, for example, a CPU, GPU, MPU, DSP, ASIC, FPGA or PLD. Further, the processor may be a combination of two or more elements of CPU, GPU, MPU, DSP, ASIC, FPGA and PLD. The processor 101 loads at least a part of the programs and data stored in the HDD 103 into the RAM 102 and executes the program. The processor 101 may include a plurality of processor cores. Further, the information processing device 100 may have a plurality of processors. The processes described below may be performed in parallel using multiple processors or processor cores. Also, a set of multiple processors may be referred to as a "multiprocessor" or simply a "processor".

RAM102は、プロセッサ101が実行するプログラムやプロセッサ101が演算に用いるデータを一時的に記憶する主記憶装置である。なお、情報処理装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。 The RAM 102 is a main storage device that temporarily stores a program executed by the processor 101 and data used by the processor 101 for calculation. The information processing apparatus 100 may include a type of memory other than the RAM, or may include a plurality of memories.

HDD103は、OSやミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する補助記憶装置である。なお、情報処理装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。情報処理装置100のOSには、例えばWindows(登録商標)またはその他のOSを用いることができる。 The HDD 103 is an auxiliary storage device that stores software programs such as an OS, middleware, and application software, and data. The information processing device 100 may be provided with other types of storage devices such as a flash memory and an SSD (Solid State Drive), or may be provided with a plurality of non-volatile storage devices. For the OS of the information processing apparatus 100, for example, Windows (registered trademark) or other OS can be used.

TPM104は、情報処理装置100の固有の鍵を保持し、プロセッサ101とは別個にデータに対する暗号処理を行うセキュアモジュールである。
PCIeインタフェース105は、PCIeブリッジコントローラ51と接続するインタフェースである。情報処理装置100は、複数のPCIeインタフェースを備えてもよい。
The TPM 104 is a secure module that holds a unique key of the information processing apparatus 100 and performs encryption processing on data separately from the processor 101.
The PCIe interface 105 is an interface for connecting to the PCIe bridge controller 51. The information processing device 100 may include a plurality of PCIe interfaces.

画像信号処理部106は、プロセッサ101からの命令に従って、情報処理装置100に接続されたディスプレイ71に画像を出力する。ディスプレイ71としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。 The image signal processing unit 106 outputs an image to the display 71 connected to the information processing device 100 in accordance with a command from the processor 101. As the display 71, any kind of display such as a CRT (Cathode Ray Tube) display, a liquid crystal display (LCD: Liquid Crystal Display), a plasma display, and an organic EL (OEL: Organic Electro-Luminescence) display can be used.

入力信号処理部107は、情報処理装置100に接続された入力デバイス72から入力信号を取得し、プロセッサ101に出力する。入力デバイス72としては、マウス、タッチパネル、タッチパッド、トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、情報処理装置100に、複数の種類の入力デバイスが接続されていてもよい。 The input signal processing unit 107 acquires an input signal from the input device 72 connected to the information processing device 100 and outputs the input signal to the processor 101. As the input device 72, a mouse, a touch panel, a touch pad, a pointing device such as a trackball, a keyboard, a remote controller, a button switch, or the like can be used. Further, a plurality of types of input devices may be connected to the information processing apparatus 100.

媒体リーダ108は、記録媒体73に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体73として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。 The medium reader 108 is a reading device that reads programs and data recorded on the recording medium 73. As the recording medium 73, for example, a magnetic disk, an optical disk, a magneto-optical disk (MO: Magneto-Optical disk), a semiconductor memory, or the like can be used. The magnetic disk includes a flexible disk (FD) and an HDD. Optical discs include CDs (Compact Discs) and DVDs (Digital Versatile Discs).

媒体リーダ108は、例えば、記録媒体73から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、プロセッサ101によって実行される。なお、記録媒体73は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体73やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。 The medium reader 108, for example, copies a program or data read from the recording medium 73 to another recording medium such as the RAM 102 or the HDD 103. The read program is executed, for example, by the processor 101. The recording medium 73 may be a portable recording medium and may be used for distribution of programs and data. Further, the recording medium 73 and the HDD 103 may be referred to as a computer-readable recording medium.

NIC109は、ネットワーク70に接続され、ネットワーク70を介して他のコンピュータと通信を行うインタフェースである。NIC109は、例えば、スイッチやルータなどの通信装置とケーブルで接続される。 NIC109 is an interface that is connected to the network 70 and communicates with other computers via the network 70. The NIC 109 is connected to a communication device such as a switch or a router by a cable.

演算装置200は、プロセッサ201、RAM202およびPCIeインタフェース203を有する。
プロセッサ201は、プログラムの命令を実行する。プロセッサ201は例えばCPU、GPU、MPU、DSP、ASIC、FPGAまたはPLDにより実現されてもよく、これらのうちの2以上の要素の組合せでもよい。
The arithmetic unit 200 has a processor 201, a RAM 202, and a PCIe interface 203.
Processor 201 executes the instructions of the program. The processor 201 may be realized by, for example, a CPU, GPU, MPU, DSP, ASIC, FPGA or PLD, or may be a combination of two or more of these elements.

RAM202は、プロセッサ201が実行するプログラムやプロセッサ201が演算に用いるデータを一時的に記憶する主記憶装置である。
PCIeインタフェース203は、PCIeブリッジコントローラ51と接続するインタフェースである。
The RAM 202 is a main storage device that temporarily stores a program executed by the processor 201 and data used by the processor 201 for calculation.
The PCIe interface 203 is an interface for connecting to the PCIe bridge controller 51.

なお、演算装置200は、演算装置200で実行されるOSを記憶する不揮発性メモリを備えてもよい。演算装置200のOSには、例えばUbuntu(登録商標)またはその他のOSを用いることができる。 The arithmetic unit 200 may include a non-volatile memory for storing the OS executed by the arithmetic unit 200. For the OS of the arithmetic unit 200, for example, Ubuntu (registered trademark) or other OS can be used.

演算装置200aも演算装置200と同様のハードウェアにより実現される。情報処理システム60も情報処理装置および1つまたは複数の演算装置を有しており、情報処理システム50と同様のハードウェアにより実現される。情報処理システム50,60の各々における情報処理装置と演算装置とは、L2スイッチ、L3スイッチおよびルータなどを含むIPネットワークを介して接続されてもよい。情報処理装置100および情報処理システム60の情報処理装置は、例えばコンピュータによって実現される。 The arithmetic unit 200a is also realized by the same hardware as the arithmetic unit 200. The information processing system 60 also has an information processing device and one or more arithmetic units, and is realized by the same hardware as the information processing system 50. The information processing device and the arithmetic device in each of the information processing systems 50 and 60 may be connected via an IP network including an L2 switch, an L3 switch, a router, and the like. The information processing apparatus of the information processing apparatus 100 and the information processing system 60 is realized by, for example, a computer.

図4は、開発環境の情報処理システムの機能例を示す図である。
演算装置200は、記憶部210、モデル暗号化部220およびコンテナイメージ生成部230を有する。記憶部210には、RAM202の記憶領域が用いられる。モデル暗号化部220およびコンテナイメージ生成部230は、プロセッサ201によりRAM202に格納されたプログラムが実行されることで実現される。
FIG. 4 is a diagram showing a functional example of an information processing system in a development environment.
The arithmetic unit 200 has a storage unit 210, a model encryption unit 220, and a container image generation unit 230. The storage area of the RAM 202 is used for the storage unit 210. The model encryption unit 220 and the container image generation unit 230 are realized by executing the program stored in the RAM 202 by the processor 201.

記憶部210は、開発環境で作成された推論モデルを記憶する。記憶部210は、モデル暗号化部220およびコンテナイメージ生成部230の処理に用いられるデータを記憶する。 The storage unit 210 stores the inference model created in the development environment. The storage unit 210 stores data used for processing of the model encryption unit 220 and the container image generation unit 230.

モデル暗号化部220は、推論モデルをモデル用暗号鍵により暗号化することで、暗号化推論モデルを生成する。暗号化アルゴリズムには例えばAESが用いられる。モデル暗号化部220は、例えばユーザにより入力されるパスワードに基づいてモデル用暗号鍵を生成する。モデル暗号化部220は、暗号化推論モデルおよびモデル用暗号鍵を記憶部210に格納する。 The model encryption unit 220 generates an encryption inference model by encrypting the inference model with the model encryption key. For example, AES is used as the encryption algorithm. The model encryption unit 220 generates a model encryption key based on, for example, a password entered by the user. The model encryption unit 220 stores the encryption inference model and the model encryption key in the storage unit 210.

コンテナイメージ生成部230は、モデル暗号化部220により生成された暗号化推論モデルを取得し、暗号化推論モデルを含むコンテナのイメージデータを生成する。イメージデータには、暗号化推論モデルを復号するためのモデル復号ツールやコンテナ実行サーバ上にイメージデータに含まれる推論モデルをロードするためのモデルロードスクリプトが含まれる。また、イメージデータには、推論処理のためのデータ入出力や処理起動/実行などに用いられるライブラリやフレームワークなどのプログラムモジュール群が含まれる。ここで、推論処理に用いられるフレームワークを推論FW(FrameWork)と略記する。コンテナイメージ生成部230は、イメージデータを記憶部210に格納する。 The container image generation unit 230 acquires the encryption inference model generated by the model encryption unit 220, and generates image data of the container including the encryption inference model. The image data includes a model decryption tool for decrypting the encrypted inference model and a model load script for loading the inference model contained in the image data on the container execution server. In addition, the image data includes a group of program modules such as libraries and frameworks used for data input / output for inference processing and processing start / execution. Here, the framework used for inference processing is abbreviated as inference FW (FrameWork). The container image generation unit 230 stores the image data in the storage unit 210.

なお、演算装置200aも演算装置200と同様の機能を有する。
情報処理装置100は、記憶部110および処理部120を有する。記憶部110には、RAM102やHDD103の記憶領域が用いられる。処理部120は、プロセッサ101により実現される。処理部120は、イメージ取得部121およびイメージ暗号化部122を有する。イメージ取得部121およびイメージ暗号化部122は、プロセッサ101によりRAM102に格納されたプログラムが実行されることで実現される。
The arithmetic unit 200a also has the same function as the arithmetic unit 200.
The information processing device 100 has a storage unit 110 and a processing unit 120. The storage area of the RAM 102 or the HDD 103 is used for the storage unit 110. The processing unit 120 is realized by the processor 101. The processing unit 120 has an image acquisition unit 121 and an image encryption unit 122. The image acquisition unit 121 and the image encryption unit 122 are realized by executing a program stored in the RAM 102 by the processor 101.

記憶部110は、処理部120の処理に用いられるデータを記憶する。
イメージ取得部121は、演算装置200で生成されたコンテナのイメージデータとモデル用暗号鍵とを演算装置200から取得し、記憶部110に格納する。
The storage unit 110 stores data used for processing by the processing unit 120.
The image acquisition unit 121 acquires the image data of the container generated by the arithmetic unit 200 and the model encryption key from the arithmetic unit 200 and stores them in the storage unit 110.

イメージ暗号化部122は、記憶部110に記憶されたイメージデータをイメージ用暗号鍵により暗号化することで、暗号化イメージデータを生成する。暗号化アルゴリズムには例えばAESが用いられる。イメージ暗号化部122は、例えばユーザにより入力されるパスワードに基づいてイメージ用暗号鍵を生成する。イメージ暗号化部122は、暗号化イメージデータおよびイメージ用暗号鍵を記憶部110に格納する。 The image encryption unit 122 generates encrypted image data by encrypting the image data stored in the storage unit 110 with an image encryption key. For example, AES is used as the encryption algorithm. The image encryption unit 122 generates an image encryption key based on, for example, a password entered by the user. The image encryption unit 122 stores the encrypted image data and the image encryption key in the storage unit 110.

暗号化イメージデータおよびイメージ用暗号鍵は、例えば、USB(Universal Serial Bus)メモリなどの可搬型記録媒体を用いて、運用環境の情報処理システム60に配布される。あるいは、暗号化イメージデータおよびイメージ用暗号鍵は、ネットワーク70を介して、情報処理システム60に配布されてもよい。同様にモデル用暗号鍵も情報処理システム60に配布される。 The encrypted image data and the encryption key for the image are distributed to the information processing system 60 in the operating environment by using a portable recording medium such as a USB (Universal Serial Bus) memory. Alternatively, the encrypted image data and the image encryption key may be distributed to the information processing system 60 via the network 70. Similarly, the model encryption key is also distributed to the information processing system 60.

図5は、運用環境の情報処理システムの機能例を示す図である。
情報処理システム60は、情報処理装置300および演算装置400を有する。
情報処理装置300は、記憶部310、処理部320、装置固有鍵記憶部330および暗号処理部340を有する。記憶部310には、情報処理装置300が有するRAMやHDDなどの記憶領域が用いられる。処理部320は、情報処理装置300が有するプロセッサにより実現される。処理部320は、暗号化イメージ管理部321、イメージ復号部322および配備部323を有する。暗号化イメージ管理部321、イメージ復号部322および配備部323は、情報処理装置300のプロセッサにより情報処理装置300のRAMに格納されたプログラムが実行されることで実現される。また、装置固有鍵記憶部330および暗号処理部340は、TPM304により実現される。
FIG. 5 is a diagram showing a functional example of an information processing system in an operating environment.
The information processing system 60 includes an information processing device 300 and an arithmetic unit 400.
The information processing device 300 includes a storage unit 310, a processing unit 320, a device-specific key storage unit 330, and an encryption processing unit 340. A storage area such as a RAM or an HDD included in the information processing apparatus 300 is used for the storage unit 310. The processing unit 320 is realized by the processor included in the information processing apparatus 300. The processing unit 320 has an encrypted image management unit 321 and an image decryption unit 322 and a deployment unit 323. The encrypted image management unit 321 and the image decryption unit 322 and the deployment unit 323 are realized by executing the program stored in the RAM of the information processing device 300 by the processor of the information processing device 300. Further, the device-specific key storage unit 330 and the encryption processing unit 340 are realized by the TPM 304.

記憶部310は、処理部320の処理に用いられるデータを記憶する。記憶部310が記憶するデータは、配布された暗号化イメージデータ、イメージ用暗号鍵およびモデル用暗号鍵を管理する管理テーブルを含む。ただし、イメージ用暗号鍵は、後述されるようにTPM304により暗号化された上で、管理テーブルにより管理される。 The storage unit 310 stores data used for processing by the processing unit 320. The data stored in the storage unit 310 includes the distributed encrypted image data, the image encryption key, and the management table for managing the model encryption key. However, the image encryption key is encrypted by TPM304 and managed by the management table as described later.

暗号化イメージ管理部321は、情報処理システム50から配布された暗号化イメージデータおよびモデル用暗号鍵を記憶部310に格納する。また、暗号化イメージ管理部321は、情報処理システム50から配布されたイメージ用暗号鍵をTPM304により装置固有鍵を用いて暗号化させることで、暗号化済鍵データを取得する。暗号化済鍵データは、イメージ用暗号鍵が装置固有鍵で暗号化されたデータである。暗号化アルゴリズムには例えばAESが用いられる。暗号化イメージ管理部321は、暗号化イメージデータ、イメージ用暗号鍵およびモデル用暗号鍵の対応関係を、管理テーブルを用いて管理する。 The encrypted image management unit 321 stores the encrypted image data distributed from the information processing system 50 and the model encryption key in the storage unit 310. Further, the encrypted image management unit 321 acquires the encrypted key data by encrypting the image encryption key distributed from the information processing system 50 by the TPM 304 using the device-specific key. The encrypted key data is data in which the image encryption key is encrypted with the device-specific key. For example, AES is used as the encryption algorithm. The encrypted image management unit 321 manages the correspondence between the encrypted image data, the image encryption key, and the model encryption key by using the management table.

また、暗号化イメージ管理部321は、イメージロードのコマンドを受け付けると、管理テーブルに基づいて、コマンドで指定された暗号化イメージデータとモデル用暗号鍵とを記憶部310から読み出す。暗号化イメージ管理部321は、暗号化されたイメージ用暗号鍵を記憶部310から読み出し、暗号処理部340に復号させる。暗号化イメージ管理部321は、イメージ復号部322に暗号化イメージデータの復号を実行させる。暗号化イメージ管理部321は、暗号化イメージデータが復号されて得られたコンテナのイメージデータを、モデル用暗号鍵とともに配備部323に提供し、演算装置400に対するイメージデータの配備を配備部323に指示する。 When the encrypted image management unit 321 receives the image load command, the encrypted image management unit 321 reads out the encrypted image data specified by the command and the model encryption key from the storage unit 310 based on the management table. The encrypted image management unit 321 reads the encrypted image encryption key from the storage unit 310 and causes the encryption processing unit 340 to decrypt the encryption key. The encrypted image management unit 321 causes the image decryption unit 322 to decrypt the encrypted image data. The encrypted image management unit 321 provides the image data of the container obtained by decrypting the encrypted image data to the deployment unit 323 together with the encryption key for the model, and deploys the image data to the arithmetic unit 400 to the deployment unit 323. Instruct.

イメージ復号部322は、暗号化イメージ管理部321から暗号化イメージデータとイメージ用暗号鍵とを取得し、イメージ用暗号鍵を用いて暗号化イメージデータを復号することで、コンテナのイメージデータを生成する。 The image decryption unit 322 acquires the encrypted image data and the image encryption key from the encrypted image management unit 321 and decrypts the encrypted image data using the image encryption key to generate the image data of the container. do.

配備部323は、暗号化イメージ管理部321からイメージデータの配備を指示されると、当該イメージデータおよびモデル用暗号鍵を演算装置400に送信し、イメージデータを用いて演算装置400によりコンテナを起動させる。 When the deployment unit 323 is instructed to deploy the image data by the encrypted image management unit 321, the deployment unit 323 transmits the image data and the encryption key for the model to the arithmetic unit 400, and the arithmetic unit 400 starts the container using the image data. Let me.

装置固有鍵記憶部330は、情報処理装置300が保持する固有情報に基づいて生成された装置固有鍵を記憶する。情報処理装置300の固有情報には、情報処理装置300の装置識別番号やMAC(Media Access Control)アドレスなどが考えられる。装置固有鍵記憶部330は、処理部320からアクセス不可能である。装置固有鍵をTPM304の外部から取り出せないようにするため、TPM304は例えば耐タンパ性を有する。 The device-specific key storage unit 330 stores the device-specific key generated based on the unique information held by the information processing device 300. The unique information of the information processing apparatus 300 may include a device identification number of the information processing apparatus 300, a MAC (Media Access Control) address, and the like. The device-specific key storage unit 330 is inaccessible from the processing unit 320. The TPM 304 has, for example, tamper resistance so that the device-specific key cannot be taken out from the outside of the TPM 304.

暗号処理部340は、装置固有鍵記憶部330に装置固有鍵を保持し、装置固有鍵記憶部330に記憶された装置固有鍵を用いて、イメージ用暗号鍵を暗号化することで、暗号化済鍵データを生成する。なお、装置固有鍵記憶部330は、暗号処理部340に含まれると考えてもよい。 The encryption processing unit 340 holds the device-specific key in the device-specific key storage unit 330, and encrypts the image encryption key by using the device-specific key stored in the device-specific key storage unit 330. Generate finished key data. The device-specific key storage unit 330 may be considered to be included in the encryption processing unit 340.

演算装置400は、記憶部410、コンテナ実行部420および推論処理部430を有する。記憶部410には、演算装置400が有するRAMの記憶領域が用いられる。コンテナ実行部420および推論処理部430は、演算装置400が有するプロセッサにより演算装置400のRAMに格納されたプログラムが実行されることで実現される。 The arithmetic unit 400 has a storage unit 410, a container execution unit 420, and an inference processing unit 430. The storage area of the RAM included in the arithmetic unit 400 is used for the storage unit 410. The container execution unit 420 and the inference processing unit 430 are realized by executing the program stored in the RAM of the arithmetic unit 400 by the processor included in the arithmetic unit 400.

記憶部410は、コンテナ実行部420および推論処理部430の処理に用いられるデータを記憶する。
コンテナ実行部420は、イメージデータに基づいてコンテナを実行開始し、推論処理部430を起動させる。コンテナ実行部420は、イメージデータに含まれる復号ツールおよびモデル用暗号鍵を用いて、イメージデータに含まれる暗号化推論モデルを復号することで、推論モデルを得る。コンテナ実行部420は、モデルロードスクリプトにより、演算装置400のRAM上に推論モデルをロードし、推論処理部430を起動する。
The storage unit 410 stores data used for processing of the container execution unit 420 and the inference processing unit 430.
The container execution unit 420 starts executing the container based on the image data, and activates the inference processing unit 430. The container execution unit 420 obtains an inference model by decrypting the encryption inference model included in the image data by using the decryption tool and the encryption key for the model included in the image data. The container execution unit 420 loads the inference model on the RAM of the arithmetic unit 400 by the model load script, and starts the inference processing unit 430.

推論処理部430は、推論モデル、推論FWおよびライブラリなどのプログラムモジュール群により実現される。推論処理部430は、画像認識による物体検知などの推論モデルに応じた推論処理を実行する。 The inference processing unit 430 is realized by a group of program modules such as an inference model, an inference FW, and a library. The inference processing unit 430 executes inference processing according to an inference model such as object detection by image recognition.

情報処理システム60が他の演算装置を有する場合、当該他の演算装置も演算装置400と同様の機能を有する。
例えば、コンテナ型仮想化機構として、Dockerを用いる場合、情報処理装置300がDockerクライアントとして機能し、演算装置400がDockerサーバとして機能する。
When the information processing system 60 has another arithmetic unit, the other arithmetic unit also has the same function as the arithmetic unit 400.
For example, when Docker is used as a container-type virtualization mechanism, the information processing device 300 functions as a Docker client, and the arithmetic device 400 functions as a Docker server.

次に、各装置におけるデータ処理例を説明する。まず、演算装置200によるコンテナのイメージデータの生成例を説明する。
図6は、コンテナのイメージデータの生成例を示す図である。
Next, an example of data processing in each device will be described. First, an example of generating container image data by the arithmetic unit 200 will be described.
FIG. 6 is a diagram showing an example of generating image data of a container.

モデル暗号化部220は、推論モデルM1およびユーザにより入力されたパスワードP1を取得する。モデル暗号化部220は、例えばパスワードP1をシフト演算などによって加工することで難読化し、モデル用暗号鍵K1を生成する。モデル暗号化部220は、モデル用暗号鍵K1を用いて推論モデルM1を暗号化することで、暗号化推論モデルeM1を生成する。なお、モデル暗号化部220は、暗号化推論モデルeM1が適正に復号できたことを確認可能にするために、推論モデルM1に対してチェックサムなどの誤り検出符号を生成して、モデル用暗号鍵K1とともに出力してもよい。 The model encryption unit 220 acquires the inference model M1 and the password P1 input by the user. The model encryption unit 220 obfuscates the password P1 by processing it by, for example, a shift operation, and generates a model encryption key K1. The model encryption unit 220 generates an encryption inference model eM1 by encrypting the inference model M1 using the model encryption key K1. The model encryption unit 220 generates an error detection code such as a checksum for the inference model M1 in order to make it possible to confirm that the encryption inference model eM1 has been properly decrypted, and encrypts the model. It may be output together with the key K1.

コンテナイメージ生成部230は、暗号化推論モデルeM1、モデル復号ツール81、モデルロードスクリプト82およびプログラムモジュール群90を取得する。プログラムモジュール群90は、推論処理に用いられるライブラリ91や推論FW92を含む。コンテナイメージ生成部230は、暗号化推論モデルeM1、モデル復号ツール81、モデルロードスクリプト82およびプログラムモジュール群90を含むコンテナのイメージデータD1を生成する。 The container image generation unit 230 acquires the encryption inference model eM1, the model decryption tool 81, the model load script 82, and the program module group 90. The program module group 90 includes a library 91 and an inference FW 92 used for inference processing. The container image generation unit 230 generates image data D1 of the container including the encryption inference model eM1, the model decryption tool 81, the model load script 82, and the program module group 90.

次に、情報処理装置100によるイメージデータの暗号化例を説明する。
図7は、イメージデータの暗号化例を示す図である。
イメージ暗号化部122は、演算装置200により生成されたイメージデータD1およびユーザにより入力されたパスワードP2を取得する。イメージ暗号化部122は、モデル暗号化部220と同様にパスワードP2を難読化し、イメージ用暗号鍵K2を生成する。イメージ暗号化部122は、イメージ用暗号鍵K2を用いてイメージデータD1を暗号化することで、暗号化イメージデータeD1を生成する。なお、イメージ暗号化部122は、イメージデータD1に対してチェックサムなどの誤り検出符号を生成して、イメージ用暗号鍵K2とともに出力してもよい。
Next, an example of encrypting image data by the information processing apparatus 100 will be described.
FIG. 7 is a diagram showing an example of encryption of image data.
The image encryption unit 122 acquires the image data D1 generated by the arithmetic unit 200 and the password P2 input by the user. The image encryption unit 122 obfuscates the password P2 and generates the image encryption key K2 in the same manner as the model encryption unit 220. The image encryption unit 122 generates encrypted image data eD1 by encrypting the image data D1 using the image encryption key K2. The image encryption unit 122 may generate an error detection code such as a checksum for the image data D1 and output it together with the image encryption key K2.

情報処理装置100が出力する暗号化イメージデータeD1およびイメージ用暗号鍵K2は、情報処理装置300に提供される。また、演算装置200が出力するモデル用暗号鍵K1も、情報処理装置300に提供される。 The encrypted image data eD1 and the image encryption key K2 output by the information processing apparatus 100 are provided to the information processing apparatus 300. Further, the model encryption key K1 output by the arithmetic unit 200 is also provided to the information processing device 300.

次に、情報処理装置300による暗号化イメージデータの管理例を説明する。
図8は、暗号化イメージデータの管理例を示す図である。
情報処理装置300は、イメージ用暗号鍵K2、暗号化イメージデータeD1およびモデル用暗号鍵K1を取得する。
Next, an example of managing encrypted image data by the information processing apparatus 300 will be described.
FIG. 8 is a diagram showing a management example of encrypted image data.
The information processing apparatus 300 acquires the image encryption key K2, the encrypted image data eD1, and the model encryption key K1.

暗号化イメージ管理部321は、イメージ用暗号鍵K2の暗号化を暗号処理部340に指示する。暗号処理部340は、装置固有鍵記憶部330に記憶された装置固有鍵を用いて、イメージ用暗号鍵K2を生成し、暗号化済鍵データeK2を生成する。暗号処理部340は、暗号化イメージ管理部321に暗号化済鍵データeK2を出力する。暗号化イメージ管理部321は、暗号化イメージデータeD1およびモデル用暗号鍵K1に対応付けて、記憶部310に記憶された管理テーブル311に、暗号化済鍵データeK2を登録する。なお、暗号化イメージ管理部321は、イメージ用暗号鍵K2を消去する。 The encryption image management unit 321 instructs the encryption processing unit 340 to encrypt the image encryption key K2. The encryption processing unit 340 uses the device-specific key stored in the device-specific key storage unit 330 to generate the image encryption key K2 and generate the encrypted key data eK2. The encryption processing unit 340 outputs the encrypted key data eK2 to the encryption image management unit 321. The encrypted image management unit 321 registers the encrypted key data eK2 in the management table 311 stored in the storage unit 310 in association with the encrypted image data eD1 and the model encryption key K1. The encrypted image management unit 321 erases the image encryption key K2.

管理テーブル311は、モデル名、バージョン、暗号化済鍵データ、モデル用暗号鍵および暗号化イメージデータ名の項目を有する。モデル名の項目には、推論モデルの名称が登録される。バージョンの項目には、推論モデルのバージョンが登録される。暗号化済鍵データの項目には、暗号化済鍵データが登録される。モデル用暗号鍵の項目には、モデル用暗号鍵が登録される。暗号化イメージデータ名の項目には、暗号化イメージデータのファイル名が登録される。 The management table 311 has items of a model name, a version, encrypted key data, a model encryption key, and an encrypted image data name. The name of the inference model is registered in the item of model name. The version of the inference model is registered in the version item. The encrypted key data is registered in the encrypted key data item. The model encryption key is registered in the model encryption key item. The file name of the encrypted image data is registered in the item of the encrypted image data name.

例えば、管理テーブル311にはモデル名「ssd_model」、バージョン「v2.0」、暗号化済鍵データ「xxxx」、モデル用暗号鍵「BLOB_A」、暗号化イメージデータ名「sample_image.tar.gz」のレコードが登録される。当該レコードにおけるイメージデータ名は、暗号化イメージデータeD1のファイル名である。例えば、情報処理装置300における所定のフォルダの当該ファイル名のファイルが暗号化イメージデータeD1に該当する。また、モデル名「ssd_model」およびバージョン「v2.0」は、推論モデルM1に対して付された識別情報の一例である。モデル名「ssd_model」およびバージョン「v2.0」は、情報処理装置300のユーザによって入力されたものでもよいし、情報処理装置100により暗号化イメージデータeD1に平文で付されたものでもよい。また、「xxxx」は、暗号化済鍵データeK2に相当する。更に、「BLOB_A」は、モデル用暗号鍵K1に相当する。 For example, in the management table 311, the model name "ssd_model", the version "v2.0", the encrypted key data "xxxx", the model encryption key "BLOB_A", and the encrypted image data name "sample_image.tar.gz" are displayed. The record is registered. The image data name in the record is the file name of the encrypted image data eD1. For example, the file with the file name of the predetermined folder in the information processing apparatus 300 corresponds to the encrypted image data eD1. Further, the model name "ssd_model" and the version "v2.0" are examples of the identification information attached to the inference model M1. The model name "ssd_model" and the version "v2.0" may be input by the user of the information processing apparatus 300, or may be attached to the encrypted image data eD1 by the information processing apparatus 100 in plain text. Further, "xxxxxx" corresponds to the encrypted key data eK2. Further, "BLOB_A" corresponds to the model encryption key K1.

管理テーブル311には、推論モデル名が「ssd_model」である推論モデルの他のバージョンのレコードや、他の推論モデルに関するレコードも登録される。
なお、モデル用暗号鍵は管理テーブル311とは別個に、推論モデルに対応付けて管理されてもよい。例えば記憶部310以外の記憶部にモデル用暗号鍵が保存されてもよい。
Records of other versions of the inference model whose inference model name is "ssd_model" and records related to other inference models are also registered in the management table 311.
The model encryption key may be managed separately from the management table 311 in association with the inference model. For example, the model encryption key may be stored in a storage unit other than the storage unit 310.

次に、情報処理装置300による暗号化イメージデータeD1の復号例を説明する。
図9は、暗号化イメージデータの復号例を示す図である。
暗号化イメージ管理部321は、イメージロードのコマンドC1の入力を受け付ける。例えば、コマンドC1は、ロード先アドレス「192.168.1.6」、モデル名「ssd_model」、バージョン「v2.0」を含む。ロード先アドレス「192.168.1.6」は、演算装置400のIPアドレスであるとする。
Next, an example of decryption of the encrypted image data eD1 by the information processing apparatus 300 will be described.
FIG. 9 is a diagram showing an example of decryption of encrypted image data.
The encrypted image management unit 321 accepts the input of the image load command C1. For example, the command C1 includes a load destination address "192.168.1.6", a model name "ssd_model", and a version "v2.0". It is assumed that the load destination address "192.168.1.6" is the IP address of the arithmetic unit 400.

暗号化イメージ管理部321は、コマンドC1および管理テーブル311に基づいて、暗号化済鍵データeK2、モデル用暗号鍵K1および暗号化イメージデータeD1を、記憶部310から読み出す。 The encrypted image management unit 321 reads the encrypted key data eK2, the model encryption key K1 and the encrypted image data eD1 from the storage unit 310 based on the command C1 and the management table 311.

暗号化イメージ管理部321は、暗号化済鍵データeK2を暗号処理部340に出力し、暗号化済鍵データeK2の復号を暗号処理部340に指示する。暗号処理部340は、装置固有鍵記憶部330に記憶された装置固有鍵を用いて暗号化済鍵データeK2を復号することで、イメージ用暗号鍵K2を生成し、暗号化イメージ管理部321に出力する。 The encrypted image management unit 321 outputs the encrypted key data eK2 to the encryption processing unit 340, and instructs the encryption processing unit 340 to decrypt the encrypted key data eK2. The encryption processing unit 340 generates an image encryption key K2 by decrypting the encrypted key data eK2 using the device-specific key stored in the device-specific key storage unit 330, and causes the encryption image management unit 321 to generate the encryption key K2. Output.

暗号化イメージ管理部321は、イメージ用暗号鍵K2を暗号処理部340から取得し、イメージ用暗号鍵K2と暗号化イメージデータeD1とをイメージ復号部322に出力して、暗号化イメージデータeD1の復号を指示する。イメージ復号部322は、イメージ用暗号鍵K2を用いて暗号化イメージデータeD1を復号することで、イメージデータD1を生成し、イメージデータD1を暗号化イメージ管理部321に出力する。 The encrypted image management unit 321 acquires the image encryption key K2 from the encryption processing unit 340, outputs the image encryption key K2 and the encrypted image data eD1 to the image decryption unit 322, and outputs the encrypted image data eD1 to the encrypted image data eD1. Instruct decryption. The image decoding unit 322 generates image data D1 by decrypting the encrypted image data eD1 using the image encryption key K2, and outputs the image data D1 to the encrypted image management unit 321.

暗号化イメージ管理部321は、イメージデータD1とモデル用暗号鍵K1とを配備部323に出力し、演算装置400へのイメージデータD1の配備を指示する。
次に、情報処理装置100によるイメージデータD1の暗号化処理の手順を説明する。
The encrypted image management unit 321 outputs the image data D1 and the model encryption key K1 to the deployment unit 323, and instructs the arithmetic unit 400 to deploy the image data D1.
Next, the procedure of the encryption processing of the image data D1 by the information processing apparatus 100 will be described.

図10は、イメージデータの暗号化処理例を示すフローチャートである。
(S10)イメージ暗号化部122は、演算装置200で生成されたコンテナのイメージデータD1を取得する。
FIG. 10 is a flowchart showing an example of image data encryption processing.
(S10) The image encryption unit 122 acquires the image data D1 of the container generated by the arithmetic unit 200.

(S11)イメージ暗号化部122は、ユーザによるパスワードP1の入力を受け付ける。
(S12)イメージ暗号化部122は、パスワードP1に基づくイメージ用暗号鍵K2を用いてイメージデータD1を暗号化する。その結果、暗号化イメージデータeD1が生成される。
(S11) The image encryption unit 122 accepts the input of the password P1 by the user.
(S12) The image encryption unit 122 encrypts the image data D1 by using the image encryption key K2 based on the password P1. As a result, the encrypted image data eD1 is generated.

(S13)イメージ暗号化部122は、イメージ用暗号鍵K2と暗号化イメージデータeD1とを出力する。
なお、演算装置200で生成されたコンテナのイメージデータD1に含まれる推論モデルは、前述のように演算装置200によって暗号化されていてもよい。
(S13) The image encryption unit 122 outputs the image encryption key K2 and the encrypted image data eD1.
The inference model included in the image data D1 of the container generated by the arithmetic unit 200 may be encrypted by the arithmetic unit 200 as described above.

次に、情報処理装置300による暗号化イメージデータeD1の管理処理の手順を説明する。
図11は、暗号化イメージデータの管理処理例を示すフローチャートである。
Next, the procedure of the management process of the encrypted image data eD1 by the information processing apparatus 300 will be described.
FIG. 11 is a flowchart showing an example of management processing of encrypted image data.

(S20)暗号化イメージ管理部321は、暗号化イメージデータeD1とイメージ用暗号鍵K2とを取得する。
(S21)暗号化イメージ管理部321は、TPM304の暗号処理部340にイメージ用暗号鍵K2の暗号化を指示する。暗号処理部340は、TPM304内の装置固有鍵記憶部330に記憶された装置固有鍵でイメージ用暗号鍵K2を暗号化し、暗号化済鍵データeK2を生成する。
(S20) The encrypted image management unit 321 acquires the encrypted image data eD1 and the image encryption key K2.
(S21) The encryption image management unit 321 instructs the encryption processing unit 340 of the TPM 304 to encrypt the image encryption key K2. The encryption processing unit 340 encrypts the image encryption key K2 with the device-specific key stored in the device-specific key storage unit 330 in the TPM 304, and generates the encrypted key data eK2.

(S22)暗号化イメージ管理部321は、暗号化済鍵データeK2を暗号化イメージデータeD1に対応付けて記憶部310に記憶された管理テーブル311に登録する。
次に、情報処理装置300によるイメージデータD1の配備処理の手順を説明する。
(S22) The encrypted image management unit 321 associates the encrypted key data eK2 with the encrypted image data eD1 and registers it in the management table 311 stored in the storage unit 310.
Next, the procedure for deploying the image data D1 by the information processing apparatus 300 will be described.

図12は、配備処理例を示すフローチャートである。
(S30)暗号化イメージ管理部321は、イメージロードのコマンドC1を受け付ける。
FIG. 12 is a flowchart showing an example of deployment processing.
(S30) The encrypted image management unit 321 receives the image load command C1.

(S31)暗号化イメージ管理部321は、コマンドC1のパラメータと管理テーブル311とに基づいて暗号化イメージデータeD1と暗号化済鍵データeK2とを記憶部310から読み出す。 (S31) The encrypted image management unit 321 reads the encrypted image data eD1 and the encrypted key data eK2 from the storage unit 310 based on the parameters of the command C1 and the management table 311.

(S32)暗号化イメージ管理部321は、TPM304の暗号処理部340に暗号化済鍵データeK2の復号を指示する。暗号処理部340は、装置固有鍵記憶部330に記憶された装置固有鍵で暗号化済鍵データeK2を復号し、イメージ用暗号鍵K2を生成する。 (S32) The encrypted image management unit 321 instructs the encryption processing unit 340 of the TPM 304 to decrypt the encrypted key data eK2. The encryption processing unit 340 decrypts the encrypted key data eK2 with the device-specific key stored in the device-specific key storage unit 330, and generates an image encryption key K2.

(S33)暗号化イメージ管理部321は、ステップS32で得られたイメージ用暗号鍵K2と暗号化イメージデータeD1とを、イメージ復号部322に出力し、暗号化イメージデータeD1の復号を指示する。イメージ復号部322は、イメージ用暗号鍵K2により暗号化イメージデータeD1を復号し、イメージデータD1を生成する。 (S33) The encrypted image management unit 321 outputs the image encryption key K2 and the encrypted image data eD1 obtained in step S32 to the image decryption unit 322, and instructs the image decryption unit 322 to decrypt the encrypted image data eD1. The image decoding unit 322 decodes the encrypted image data eD1 with the image encryption key K2 and generates the image data D1.

(S34)暗号化イメージ管理部321は、ステップS33で得られたイメージデータD1の配備を配備部323に指示する。配備部323は、イメージデータD1を演算装置400に送信し、イメージデータD1に基づいて、演算装置400によりコンテナを起動させる。 (S34) The encrypted image management unit 321 instructs the deployment unit 323 to deploy the image data D1 obtained in step S33. The deployment unit 323 transmits the image data D1 to the arithmetic unit 400, and the arithmetic unit 400 starts the container based on the image data D1.

なお、前述のように、イメージデータD1には暗号化推論モデルeM1が含まれている。このため、暗号化イメージ管理部321には、情報処理システム50からモデル用暗号鍵K1も提供される。暗号化イメージ管理部321は、モデル用暗号鍵K1を記憶部310に保存して管理し、イメージデータD1とともにモデル用暗号鍵K1を配備部323に提供する。配備部323は、イメージデータD1とモデル用暗号鍵K1とを演算装置400に送信し、演算装置400により、イメージデータD1に含まれる暗号化推論モデルeM1をモデル用暗号鍵K1により復号させることで、推論モデルM1を取得させる。 As described above, the image data D1 includes the encryption inference model eM1. Therefore, the information processing system 50 also provides the encryption image management unit 321 for the model encryption key K1. The encryption image management unit 321 stores and manages the model encryption key K1 in the storage unit 310, and provides the model encryption key K1 together with the image data D1 to the deployment unit 323. The deployment unit 323 transmits the image data D1 and the model encryption key K1 to the arithmetic unit 400, and the arithmetic apparatus 400 decrypts the encryption inference model eM1 included in the image data D1 by the model encryption key K1. , The inference model M1 is acquired.

コンテナ実行部420は、イメージデータD1に基づいてコンテナを実行開始し、推論処理部430を起動させる。コンテナ実行部420は、イメージデータD1に含まれるモデル復号ツール81およびモデル用暗号鍵K1を用いて、イメージデータD1に含まれる暗号化推論モデルeM1を復号することで、推論モデルM1を得る。コンテナ実行部420は、モデルロードスクリプト82により、演算装置400のRAM上に推論モデルM1をロードし、推論処理部430を起動する。こうして、推論処理部430によるライブラリ91、推論FW92および推論モデルM1を用いた推論処理が実行可能になる。 The container execution unit 420 starts executing the container based on the image data D1 and activates the inference processing unit 430. The container execution unit 420 obtains an inference model M1 by decrypting the encryption inference model eM1 included in the image data D1 by using the model decryption tool 81 included in the image data D1 and the model encryption key K1. The container execution unit 420 loads the inference model M1 on the RAM of the arithmetic unit 400 by the model load script 82, and starts the inference processing unit 430. In this way, the inference processing using the library 91, the inference FW92, and the inference model M1 by the inference processing unit 430 can be executed.

ここで、暗号化イメージデータeD1の配布先では、イメージ用暗号鍵K2がなければ暗号化イメージデータeD1の復号を行えない。したがって、暗号化イメージデータeD1のみが盗難などによって流出したとしても、推論モデルM1や、ライブラリ91および推論FW92などのプログラムモジュールが不正に利用されたり、改ざんされたりする可能性を抑制できる。こうして、推論処理に用いられる資源を安全に利用可能にすることができる。 Here, at the distribution destination of the encrypted image data eD1, the encrypted image data eD1 cannot be decrypted without the image encryption key K2. Therefore, even if only the encrypted image data eD1 is leaked due to theft or the like, it is possible to suppress the possibility that the inference model M1, the library 91, the inference FW92, and other program modules are illegally used or tampered with. In this way, the resources used for inference processing can be safely made available.

また、イメージデータD1に含まれる推論モデルM1は、予め暗号化されていてもよい。この場合、暗号化イメージデータeD1およびイメージ用暗号鍵K2が流出したとしても、モデル用暗号鍵K1がなければ推論モデルM1を復号できないので、資源の中でも重要なコンポーネントである推論モデルM1の流出を一層抑えられる。 Further, the inference model M1 included in the image data D1 may be encrypted in advance. In this case, even if the encrypted image data eD1 and the image encryption key K2 are leaked, the inference model M1 cannot be decrypted without the model encryption key K1, so that the inference model M1 which is an important component among the resources is leaked. It is further suppressed.

また、情報処理装置300は、イメージ用暗号鍵K2の秘匿性を高めて管理することができる。具体的には、情報処理装置300は、情報処理装置300に固有の装置固有鍵を用いて、イメージ用暗号鍵K2を暗号化して管理してもよい。装置固有鍵は、TPM304に保持され、装置固有鍵を用いた暗号処理は、TPM304によって実行される。これにより、暗号化イメージデータeD1および暗号化済鍵データeK2が流出したとしても、情報処理装置300以外の装置での暗号化イメージデータeD1の復号は困難になる。こうして、推論処理に用いられる資源をより一層安全に利用可能にすることもできる。 Further, the information processing apparatus 300 can improve the confidentiality of the image encryption key K2 and manage it. Specifically, the information processing device 300 may encrypt and manage the image encryption key K2 by using the device-specific key unique to the information processing device 300. The device-specific key is held in the TPM304, and the encryption process using the device-specific key is executed by the TPM304. As a result, even if the encrypted image data eD1 and the encrypted key data eK2 are leaked, it becomes difficult to decrypt the encrypted image data eD1 by a device other than the information processing device 300. In this way, the resources used for inference processing can be made available more safely.

なお、第2の実施の形態の例では、開発環境と運用環境とを別個にして説明したが、開発環境が運用環境と兼用でもよい。例えば、情報処理装置100が、記憶部310、処理部320およびTPM304の機能を有してもよく、演算装置200,200aがイメージデータD1の配備先となってコンテナを起動し、推論処理を実行してもよい。 In the example of the second embodiment, the development environment and the operating environment have been described separately, but the development environment may also be used as the operating environment. For example, the information processing device 100 may have the functions of the storage unit 310, the processing unit 320, and the TPM 304, and the arithmetic units 200 and 200a act as the deployment destination of the image data D1 to start the container and execute the inference process. You may.

例えば、情報処理装置100は、次の機能を有してもよい。
記憶部110は、推論モデルM1と推論モデルM1を用いた推論処理の実行に用いられるプログラムモジュールとを含むコンテナのイメージデータD1を記憶してもよい。処理部120は、イメージ用暗号鍵K2(第1の鍵)を用いてイメージデータD1を暗号化することで暗号化イメージデータeD1を生成してもよい。
For example, the information processing apparatus 100 may have the following functions.
The storage unit 110 may store the image data D1 of the container including the inference model M1 and the program module used for executing the inference process using the inference model M1. The processing unit 120 may generate the encrypted image data eD1 by encrypting the image data D1 using the image encryption key K2 (first key).

これにより、推論処理に用いられる資源を安全に利用可能にすることができる。
また、情報処理装置100は、情報処理装置100(自装置)に固有の装置固有鍵(第2の鍵)を保持し、装置固有鍵を用いてイメージ用暗号鍵K2を暗号化することで暗号化済鍵データeK2を生成する暗号処理部を更に有してもよい。当該暗号処理部は、TPM104により実現されてもよい。この場合、処理部120は、暗号化イメージデータeD1を記憶部110に保存し、暗号化イメージデータeD1に対応する推論モデルM1の識別情報に対応付けて暗号化済鍵データeK2を記憶部110に保存する。
This makes it possible to safely use the resources used for inference processing.
Further, the information processing device 100 holds a device-specific key (second key) unique to the information processing device 100 (own device), and encrypts the image encryption key K2 using the device-specific key. It may further have an encryption processing unit that generates the converted key data eK2. The encryption processing unit may be realized by TPM104. In this case, the processing unit 120 stores the encrypted image data eD1 in the storage unit 110, and stores the encrypted key data eK2 in the storage unit 110 in association with the identification information of the inference model M1 corresponding to the encrypted image data eD1. save.

これにより、推論処理に用いられる資源を一層安全に利用可能にすることができる。
そして、処理部120は、推論モデルM1の識別情報が指定されると、指定された識別情報に対応する暗号化済鍵データeK2を記憶部110から取得する。処理部120は、情報処理装置100の暗号処理部により暗号化済鍵データeK2を復号させることでイメージ用暗号鍵K2を取得する。処理部120は、取得したイメージ用暗号鍵K2を用いて暗号化イメージデータeD1を復号することでイメージデータD1を生成し、イメージデータD1を用いて、推論処理を行う演算装置200または演算装置200aによりコンテナを起動させる。
As a result, the resources used for inference processing can be used more safely.
Then, when the identification information of the inference model M1 is designated, the processing unit 120 acquires the encrypted key data eK2 corresponding to the designated identification information from the storage unit 110. The processing unit 120 acquires the image encryption key K2 by decrypting the encrypted key data eK2 by the encryption processing unit of the information processing apparatus 100. The processing unit 120 generates image data D1 by decrypting the encrypted image data eD1 using the acquired image encryption key K2, and performs inference processing using the image data D1 in the arithmetic unit 200 or the arithmetic unit 200a. Start the container with.

このように、推論モデルM1の識別情報の指定に応じて、暗号化イメージデータeD1の復号からコンテナの起動までの一連の手順を自動的に行うことで、ユーザにイメージ用暗号鍵K2や装置固有鍵の存在を意識させずに平易な操作で推論処理を開始可能にできる。このため、ユーザに利用し易い運用環境を提供することができる。 In this way, by automatically performing a series of steps from decryption of the encrypted image data eD1 to startup of the container according to the designation of the identification information of the inference model M1, the user is given the image encryption key K2 and the device unique. It is possible to start inference processing with a simple operation without being aware of the existence of the key. Therefore, it is possible to provide an operating environment that is easy for the user to use.

また、暗号化される前のイメージデータD1に含まれる推論モデルM1は、モデル用暗号鍵K1(第3の鍵)を用いて暗号化されていてもよい。この場合、処理部120は、イメージデータD1を用いてコンテナを起動させる演算装置200または演算装置200aにモデル用暗号鍵K1を出力する。 Further, the inference model M1 included in the image data D1 before being encrypted may be encrypted using the model encryption key K1 (third key). In this case, the processing unit 120 outputs the model encryption key K1 to the arithmetic unit 200 or the arithmetic unit 200a that activates the container using the image data D1.

これにより、推論処理のための資源の中でも重要である推論モデルM1が流出する可能性を一層抑えられる。また、演算装置200または演算装置200aにおいて、イメージデータD1に含まれる暗号化推論モデルeM1を、モデル用暗号鍵K1を用いて適切に復号できる。 As a result, the possibility that the inference model M1, which is an important resource for inference processing, will leak out can be further suppressed. Further, in the arithmetic unit 200 or the arithmetic unit 200a, the encryption inference model eM1 included in the image data D1 can be appropriately decrypted by using the model encryption key K1.

なお、処理部120は、モデル用暗号鍵K1(第3の鍵)を用いて暗号化された推論モデル(暗号化推論モデルeM1)を含むコンテナのイメージデータD1を取得し、イメージ用暗号鍵K2(第1の鍵)を用いてイメージデータD1を暗号化してもよい。 The processing unit 120 acquires the image data D1 of the container including the inference model (encryption inference model eM1) encrypted using the model encryption key K1 (third key), and the image encryption key K2. The image data D1 may be encrypted using (the first key).

これにより、推論処理のための資源の中でも重要である推論モデルM1が流出する可能性を一層抑えられる。
また、情報処理システム60は次の機能を有してもよい。
As a result, the possibility that the inference model M1, which is an important resource for inference processing, will leak out can be further suppressed.
Further, the information processing system 60 may have the following functions.

演算装置400は、コンテナに含まれる推論モデル、および、推論モデルによる推論処理に用いられ、コンテナに含まれるプログラムモジュールに基づいて推論処理を実行する。情報処理装置300は、コンテナのイメージデータD1がイメージ用暗号鍵K2(第1の鍵)を用いて暗号化された暗号化イメージデータeD1とイメージ用暗号鍵K2とを取得する。情報処理装置300は、イメージ用暗号鍵K2を用いて暗号化イメージデータeD1を復号することでイメージデータD1を生成し、イメージデータD1を用いて、演算装置400によりコンテナを起動させる。 The arithmetic unit 400 is used for the inference model included in the container and the inference process by the inference model, and executes the inference process based on the program module included in the container. The information processing apparatus 300 acquires the encrypted image data eD1 and the image encryption key K2 in which the image data D1 of the container is encrypted using the image encryption key K2 (first key). The information processing apparatus 300 generates image data D1 by decrypting the encrypted image data eD1 using the image encryption key K2, and activates the container by the arithmetic unit 400 using the image data D1.

これにより、推論処理に用いられる資源を安全に利用可能にすることができる。
情報処理装置300は、情報処理装置300(自装置)に固有の装置固有鍵(第2の鍵)を保持し、装置固有鍵を用いてイメージ用暗号鍵K2を暗号化することで暗号化済鍵データeK2を生成する暗号処理部340を更に有してもよい。暗号処理部340は、TPM304により実現されてもよい。この場合、情報処理装置300は、暗号化イメージデータeD1に対応する推論モデルM1の識別情報に対応付けて暗号化済鍵データeK2を記憶部310に保存する。
This makes it possible to safely use the resources used for inference processing.
The information processing device 300 holds a device-specific key (second key) unique to the information processing device 300 (own device), and has been encrypted by encrypting the image encryption key K2 using the device-specific key. It may further have an encryption processing unit 340 that generates key data eK2. The encryption processing unit 340 may be realized by the TPM 304. In this case, the information processing apparatus 300 stores the encrypted key data eK2 in the storage unit 310 in association with the identification information of the inference model M1 corresponding to the encrypted image data eD1.

これにより、推論処理に用いられる資源を一層安全に利用可能にすることができる。
そして、情報処理装置300は、推論モデルM1の識別情報が指定されると、指定された識別情報に対応する暗号化済鍵データeK2を記憶部310から取得する。情報処理装置300は、暗号処理部340により暗号化済鍵データeK2を復号させることでイメージ用暗号鍵K2を取得する。情報処理装置300は、取得したイメージ用暗号鍵K2を用いて暗号化イメージデータeD1を復号することでイメージデータD1を生成し、イメージデータD1を用いて、推論処理を行う演算装置400によりコンテナを起動させる。
As a result, the resources used for inference processing can be used more safely.
Then, when the identification information of the inference model M1 is designated, the information processing apparatus 300 acquires the encrypted key data eK2 corresponding to the designated identification information from the storage unit 310. The information processing apparatus 300 acquires the image encryption key K2 by decrypting the encrypted key data eK2 by the encryption processing unit 340. The information processing apparatus 300 generates image data D1 by decrypting encrypted image data eD1 using the acquired image encryption key K2, and uses the image data D1 to generate a container by an arithmetic apparatus 400 that performs inference processing. Start it.

このように、推論モデルM1の識別情報の指定に応じて、暗号化イメージデータeD1の復号からコンテナの起動までの一連の手順を自動的に行うことで、ユーザにイメージ用暗号鍵K2や装置固有鍵の存在を意識させずに平易な操作で推論処理を開始可能にできる。このため、ユーザに利用し易い運用環境を提供することができる。 In this way, by automatically performing a series of steps from decryption of the encrypted image data eD1 to startup of the container according to the designation of the identification information of the inference model M1, the user is given the image encryption key K2 and the device unique. It is possible to start inference processing with a simple operation without being aware of the existence of the key. Therefore, it is possible to provide an operating environment that is easy for the user to use.

また、イメージデータD1に含まれる推論モデルM1は、モデル用暗号鍵K1(第3の鍵)を用いて暗号化されていてもよい。この場合、情報処理装置300は、イメージデータD1を用いてコンテナを起動させる演算装置400にモデル用暗号鍵K1を出力する。 Further, the inference model M1 included in the image data D1 may be encrypted using the model encryption key K1 (third key). In this case, the information processing apparatus 300 outputs the model encryption key K1 to the arithmetic unit 400 that activates the container using the image data D1.

これにより、推論処理のための資源の中でも重要である推論モデルM1が流出する可能性を一層抑えられる。また、演算装置400において、イメージデータD1に含まれる暗号化推論モデルeM1を、モデル用暗号鍵K1を用いて適切に復号できる。 As a result, the possibility that the inference model M1, which is an important resource for inference processing, will leak out can be further suppressed. Further, in the arithmetic unit 400, the encryption inference model eM1 included in the image data D1 can be appropriately decrypted by using the model encryption key K1.

なお、情報処理システム50も情報処理システム60と同様の機能を有してもよい。例えば、前述のように、1つの情報処理装置が、イメージデータD1の暗号化による暗号化イメージデータeD1の生成と暗号化イメージデータeD1の管理と暗号化イメージデータeD1の復号と演算装置へのイメージデータD1の配備とを実行してもよい。 The information processing system 50 may also have the same functions as the information processing system 60. For example, as described above, one information processing device generates encrypted image data eD1 by encrypting image data D1, manages encrypted image data eD1, decrypts encrypted image data eD1, and images to an arithmetic device. Data D1 deployment and may be performed.

ところで、第1の実施の形態の情報処理は、処理部12にプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体73に記録できる。 By the way, the information processing of the first embodiment can be realized by causing the processing unit 12 to execute the program. Further, the information processing of the second embodiment can be realized by causing the processor 101 to execute the program. The program can be recorded on a computer-readable recording medium 73.

例えば、プログラムを記録した記録媒体73を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体73に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。 For example, the program can be distributed by distributing the recording medium 73 on which the program is recorded. Alternatively, the program may be stored in another computer and distributed via the network. For example, the computer may store (install) a program recorded on the recording medium 73 or a program received from another computer in a storage device such as RAM 102 or HDD 103, read the program from the storage device, and execute the program. good.

10 情報処理装置
11 記憶部
12 処理部
20 イメージデータ
21 推論モデル
22 プログラムモジュール
30 鍵
40 暗号化イメージデータ
10 Information processing device 11 Storage unit 12 Processing unit 20 Image data 21 Inference model 22 Program module 30 Key 40 Encrypted image data

Claims (10)

推論モデルと前記推論モデルを用いた推論処理の実行に用いられるプログラムモジュールとを含むコンテナのイメージデータを記憶する記憶部と、
第1の鍵を用いて前記イメージデータを暗号化することで暗号化イメージデータを生成する処理部と、
を有する情報処理装置。
A storage unit that stores image data of a container including an inference model and a program module used to execute an inference process using the inference model, and a storage unit.
A processing unit that generates encrypted image data by encrypting the image data using the first key,
Information processing device with.
自装置に固有の第2の鍵を保持し、前記第2の鍵を用いて前記第1の鍵を暗号化することで暗号化済鍵データを生成する暗号処理部を更に有し、
前記処理部は、前記暗号化イメージデータを前記記憶部に保存し、前記暗号化イメージデータに対応する前記推論モデルの識別情報に対応付けて前記暗号化済鍵データを前記記憶部に保存する、
請求項1記載の情報処理装置。
It further has an encryption processing unit that holds a second key unique to its own device and generates encrypted key data by encrypting the first key using the second key.
The processing unit stores the encrypted image data in the storage unit, and stores the encrypted key data in the storage unit in association with the identification information of the inference model corresponding to the encrypted image data.
The information processing apparatus according to claim 1.
前記処理部は、
前記推論モデルの前記識別情報が指定されると、指定された前記識別情報に対応する前記暗号化済鍵データを前記記憶部から取得し、前記暗号処理部により前記暗号化済鍵データを復号させることで前記第1の鍵を取得し、
取得した前記第1の鍵を用いて前記暗号化イメージデータを復号することで前記イメージデータを生成し、前記イメージデータを用いて、前記推論処理を行う演算装置により前記コンテナを起動させる、
請求項2記載の情報処理装置。
The processing unit
When the identification information of the inference model is specified, the encrypted key data corresponding to the designated identification information is acquired from the storage unit, and the encryption processing unit decrypts the encrypted key data. By doing so, the first key is obtained,
The image data is generated by decrypting the encrypted image data using the acquired first key, and the container is started by an arithmetic unit that performs the inference process using the image data.
The information processing apparatus according to claim 2.
暗号化される前の前記イメージデータに含まれる前記推論モデルは第3の鍵を用いて暗号化されており、
前記処理部は、前記演算装置に前記第3の鍵を出力する、
請求項3記載の情報処理装置。
The inference model contained in the image data before being encrypted is encrypted using a third key.
The processing unit outputs the third key to the arithmetic unit.
The information processing apparatus according to claim 3.
前記処理部は、第3の鍵を用いて暗号化された前記推論モデルを含む前記コンテナの前記イメージデータを取得する、
請求項1記載の情報処理装置。
The processing unit acquires the image data of the container including the inference model encrypted using the third key.
The information processing apparatus according to claim 1.
コンテナに含まれる推論モデルと前記推論モデルによる推論処理に用いられ、前記コンテナに含まれるプログラムモジュールとに基づいて前記推論処理を実行する演算装置と、
前記コンテナのイメージデータが第1の鍵を用いて暗号化された暗号化イメージデータと前記第1の鍵とを取得し、前記第1の鍵を用いて前記暗号化イメージデータを復号することで前記イメージデータを生成し、前記イメージデータを用いて、前記演算装置により前記コンテナを起動させる情報処理装置と、
を有する情報処理システム。
An arithmetic unit that executes the inference processing based on the inference model included in the container and the program module included in the container, which is used for the inference processing by the inference model.
By acquiring the encrypted image data encrypted by using the first key and the first key, and decrypting the encrypted image data by using the first key. An information processing device that generates the image data and activates the container by the arithmetic device using the image data.
Information processing system with.
前記情報処理装置は、
自装置に固有の第2の鍵を保持し、前記第2の鍵を用いて前記第1の鍵を暗号化することで暗号化済鍵データを生成する暗号処理部を有し、
前記暗号化イメージデータに対応する前記推論モデルの識別情報に対応付けて前記暗号化済鍵データを記憶部に保存する、
請求項6記載の情報処理システム。
The information processing device is
It has an encryption processing unit that holds a second key unique to its own device and generates encrypted key data by encrypting the first key using the second key.
The encrypted key data is stored in the storage unit in association with the identification information of the inference model corresponding to the encrypted image data.
The information processing system according to claim 6.
前記情報処理装置は、
前記推論モデルの前記識別情報が指定されると、指定された前記識別情報に対応する前記暗号化済鍵データを前記記憶部から取得し、前記暗号処理部により前記暗号化済鍵データを復号させることで前記第1の鍵を取得し、
取得した前記第1の鍵を用いて前記暗号化イメージデータを復号することで前記イメージデータを生成し、生成した前記イメージデータを用いて、前記演算装置により前記コンテナを起動させる、
請求項7記載の情報処理システム。
The information processing device is
When the identification information of the inference model is specified, the encrypted key data corresponding to the designated identification information is acquired from the storage unit, and the encryption processing unit decrypts the encrypted key data. By doing so, the first key is obtained,
The image data is generated by decrypting the encrypted image data using the acquired first key, and the container is started by the arithmetic unit using the generated image data.
The information processing system according to claim 7.
前記イメージデータに含まれる前記推論モデルは第3の鍵を用いて暗号化されており、
前記情報処理装置は、前記演算装置に前記第3の鍵を出力する、
請求項8記載の情報処理システム。
The inference model included in the image data is encrypted using a third key, and is encrypted.
The information processing device outputs the third key to the arithmetic unit.
The information processing system according to claim 8.
コンピュータに、
推論モデルと前記推論モデルを用いた推論処理の実行に用いられるプログラムモジュールとを含むコンテナのイメージデータを取得し、
第1の鍵を用いて前記イメージデータを暗号化することで暗号化イメージデータを生成する、
処理を実行させるプログラム。
On the computer
Obtain the image data of the container including the inference model and the program module used to execute the inference process using the inference model.
Encrypted image data is generated by encrypting the image data using the first key.
A program that executes processing.
JP2020196667A 2020-11-27 2020-11-27 Information processor, information processing system, and program Pending JP2022085148A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020196667A JP2022085148A (en) 2020-11-27 2020-11-27 Information processor, information processing system, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020196667A JP2022085148A (en) 2020-11-27 2020-11-27 Information processor, information processing system, and program

Publications (1)

Publication Number Publication Date
JP2022085148A true JP2022085148A (en) 2022-06-08

Family

ID=81892646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020196667A Pending JP2022085148A (en) 2020-11-27 2020-11-27 Information processor, information processing system, and program

Country Status (1)

Country Link
JP (1) JP2022085148A (en)

Similar Documents

Publication Publication Date Title
RU2759331C2 (en) Unsealing data with sealing enclave
US9230113B2 (en) Encrypting and decrypting a virtual disc
US20240126930A1 (en) Secure Collaboration Between Processors And Processing Accelerators In Enclaves
EP3198779B1 (en) Secure virtualised data volumes
US8694786B2 (en) Virtual machine images encryption using trusted computing group sealing
CN110178136A (en) The signature verification of field programmable gate array program
JP6985385B2 (en) Secure services hosted within a virtual security environment
US8108940B2 (en) Method for protecting data from unauthorised access
US20170103192A1 (en) Secure code delivery
JP2011048661A (en) Virtual server encryption system
KR101695639B1 (en) Method and system for providing application security service based on cloud
Busch et al. Unearthing the {TrustedCore}: A Critical Review on {Huawei’s} Trusted Execution Environment
TWI737172B (en) Computer system, computer program product and computer implement method for incremental decryption and integrity verification of a secure operating system image
US20230134324A1 (en) Managing storage of secrets in memories of baseboard management controllers
US8627434B2 (en) Cross security-domain identity context projection within a computing environment
US10223538B1 (en) Preventing persistent storage of cryptographic information
US11163902B1 (en) Systems and methods for encrypted container image management, deployment, and execution
US20190278918A1 (en) Protecting cognitive code and client data in a public cloud via deployment of data and executables into a secure partition with persistent data
TWI540456B (en) Methods for securing an account-management application and apparatuses using the same
US10685106B2 (en) Protecting cognitive code and client data in a public cloud via deployment of data and executables into a stateless secure partition
JP2022085148A (en) Information processor, information processing system, and program
US20210224393A1 (en) Method and system for dynamic application of storage encryption
Cabiddu et al. The trusted platform agent
Ratov Integration with the software interface of the com server for authorized user
US20240160750A1 (en) Transforming container images into confidential workloads