JP2022085148A - Information processor, information processing system, and program - Google Patents
Information processor, information processing system, and program Download PDFInfo
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
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.
推論処理を行う演算装置には、コンテナ型仮想化を利用できるものがある。この場合、情報処理装置は、コンテナのイメージデータに推論モデルを含め、イメージデータに基づいて演算装置にコンテナを起動させることで、当該推論モデルによる推論処理を演算装置に実行させることができる。 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の実施の形態]
第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
記憶部11は、コンテナのイメージデータ20を記憶する。イメージデータ20は、推論モデル21とプログラムモジュール22とを含む。推論モデル21は、機械学習により作成され画像認識による物体検知などの推論処理に用いられる。推論モデル21は、例えばニューラルネットワークを表す情報である。推論モデル21には、開発環境のシステムにおいて、導入先の特定の運用環境に合わせたパラメータ調整が行われ得る。プログラムモジュール22は、例えば推論処理の実行に用いられるフレームワークおよびライブラリの少なくとも一方を含む。推論処理を行う演算装置にイメージデータ20をロードすることで、当該演算装置上でコンテナを起動し、推論モデル21に応じた推論処理を実行させることができる。例えば、開発環境で作成されたイメージデータ20が処理部12により取得され、記憶部11に格納される。
The
処理部12は、鍵30(第1の鍵)を用いてイメージデータ20を暗号化することで暗号化イメージデータ40を生成し、暗号化イメージデータ40を出力する。暗号化アルゴリズムには、例えば、AES(Advanced Encryption Standard)などの共通鍵暗号アルゴリズムが用いられる。
The
情報処理装置10は、イメージデータ20に代えて暗号化イメージデータ40を運用環境に配布したり、保管させたりすることができる。例えば、暗号化イメージデータ40の配布先では、鍵30がなければ暗号化イメージデータ40の復号を行えない。したがって、暗号化イメージデータ40のみが盗難などによって流出したとしても、推論モデル21やプログラムモジュール22が不正に利用されたり、改ざんされたりする可能性を抑制できる。こうして、推論処理に用いられる資源を安全に利用可能にすることができる。
The
なお、イメージデータ20に含まれる推論モデル21は、予め暗号化されていてもよい。この場合、資源の中でも重要なコンポーネントである推論モデル21の流出を一層抑えられる。
The
また、情報処理装置10または暗号化イメージデータ40および鍵30の配布先の装置は、鍵30の秘匿性を高めて管理することも考えられる。例えば、情報処理装置10は、自装置に固有の鍵を用いて、鍵30を暗号化して管理してもよい。固有の鍵の管理および固有の鍵を用いた暗号処理は、例えば、情報処理装置10が有するTPM(Trusted Platform Module)などの暗号処理部により実行される。暗号化イメージデータ40および鍵30の配布先の装置でも同様に鍵30を暗号化して管理することができる。これにより、暗号化イメージデータ40および鍵30を暗号化した暗号化済鍵データが流出したとしても、暗号化イメージデータ40の復号は困難になる。こうして、推論処理に用いられる資源をより一層安全に利用可能にすることもできる。
Further, it is conceivable that the
[第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
情報処理システム50は、推論モデルの開発を行う開発環境のシステムである。推論モデルは、AIモデル、AI推論モデルあるいは学習モデルなどと呼ばれてもよい。推論モデルの雛形データは、例えば、インターネットを介してクラウドサーバから情報処理システム50にダウンロードされる。情報処理システム50は、ダウンロードした雛形データに、運用環境におけるパラメータ調整を行い、運用環境に適した推論モデルを作成する。情報処理システム50は、推論モデルの開発に用いられる演算装置を含む。
The
情報処理システム60は、情報処理システム50で作成された推論モデルに基づく推論処理を行う運用環境のシステムである。情報処理システム60は、推論処理のアクセラレータとして用いられる演算装置を含む。演算装置の一例として、JETSON(登録商標)が挙げられる。運用環境における演算装置上の推論処理は、コンテナ型仮想化の技術を用いて実現される。コンテナ型仮想化を実現するソフトウェアには、例えば、Docker(登録商標)がある。
The
図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
PCIeブリッジコントローラ51は、情報処理装置100および演算装置200,200aの通信を中継する中継装置である。情報処理装置100および演算装置200,200aは、PCIeブリッジコントローラ51により実現されるPCIeによる接続構成上で、仮想的にIP(Internet Protocol)による通信を行う。例えば、情報処理装置100は、演算装置200,200aそれぞれとデータを送受信することができる。
The
情報処理装置100は、プロセッサ101、RAM102、HDD103、TPM104、PCIeインタフェース105、画像信号処理部106、入力信号処理部107、媒体リーダ108およびNIC(Network Interface Card)109を有する。
The
プロセッサ101は、プログラムの命令を実行する。プロセッサ101は、例えばCPU、GPU、MPU、DSP、ASIC、FPGAまたはPLDなどである。また、プロセッサは、CPU、GPU、MPU、DSP、ASIC、FPGAおよびPLDのうちの2以上の要素の組み合わせでもよい。プロセッサ101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、プロセッサ101は複数のプロセッサコアを含んでもよい。また、情報処理装置100は複数のプロセッサを有してもよい。以下で説明する処理は複数のプロセッサまたはプロセッサコアを用いて並列に実行されてもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
The
RAM102は、プロセッサ101が実行するプログラムやプロセッサ101が演算に用いるデータを一時的に記憶する主記憶装置である。なお、情報処理装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
The
HDD103は、OSやミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する補助記憶装置である。なお、情報処理装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。情報処理装置100のOSには、例えばWindows(登録商標)またはその他のOSを用いることができる。
The
TPM104は、情報処理装置100の固有の鍵を保持し、プロセッサ101とは別個にデータに対する暗号処理を行うセキュアモジュールである。
PCIeインタフェース105は、PCIeブリッジコントローラ51と接続するインタフェースである。情報処理装置100は、複数のPCIeインタフェースを備えてもよい。
The
The
画像信号処理部106は、プロセッサ101からの命令に従って、情報処理装置100に接続されたディスプレイ71に画像を出力する。ディスプレイ71としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。
The image
入力信号処理部107は、情報処理装置100に接続された入力デバイス72から入力信号を取得し、プロセッサ101に出力する。入力デバイス72としては、マウス、タッチパネル、タッチパッド、トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、情報処理装置100に、複数の種類の入力デバイスが接続されていてもよい。
The input
媒体リーダ108は、記録媒体73に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体73として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
The
媒体リーダ108は、例えば、記録媒体73から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、プロセッサ101によって実行される。なお、記録媒体73は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体73やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。
The
NIC109は、ネットワーク70に接続され、ネットワーク70を介して他のコンピュータと通信を行うインタフェースである。NIC109は、例えば、スイッチやルータなどの通信装置とケーブルで接続される。
NIC109 is an interface that is connected to the
演算装置200は、プロセッサ201、RAM202およびPCIeインタフェース203を有する。
プロセッサ201は、プログラムの命令を実行する。プロセッサ201は例えばCPU、GPU、MPU、DSP、ASIC、FPGAまたはPLDにより実現されてもよく、これらのうちの2以上の要素の組合せでもよい。
The
RAM202は、プロセッサ201が実行するプログラムやプロセッサ201が演算に用いるデータを一時的に記憶する主記憶装置である。
PCIeインタフェース203は、PCIeブリッジコントローラ51と接続するインタフェースである。
The
The
なお、演算装置200は、演算装置200で実行されるOSを記憶する不揮発性メモリを備えてもよい。演算装置200のOSには、例えばUbuntu(登録商標)またはその他のOSを用いることができる。
The
演算装置200aも演算装置200と同様のハードウェアにより実現される。情報処理システム60も情報処理装置および1つまたは複数の演算装置を有しており、情報処理システム50と同様のハードウェアにより実現される。情報処理システム50,60の各々における情報処理装置と演算装置とは、L2スイッチ、L3スイッチおよびルータなどを含むIPネットワークを介して接続されてもよい。情報処理装置100および情報処理システム60の情報処理装置は、例えばコンピュータによって実現される。
The
図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
記憶部210は、開発環境で作成された推論モデルを記憶する。記憶部210は、モデル暗号化部220およびコンテナイメージ生成部230の処理に用いられるデータを記憶する。
The
モデル暗号化部220は、推論モデルをモデル用暗号鍵により暗号化することで、暗号化推論モデルを生成する。暗号化アルゴリズムには例えばAESが用いられる。モデル暗号化部220は、例えばユーザにより入力されるパスワードに基づいてモデル用暗号鍵を生成する。モデル暗号化部220は、暗号化推論モデルおよびモデル用暗号鍵を記憶部210に格納する。
The
コンテナイメージ生成部230は、モデル暗号化部220により生成された暗号化推論モデルを取得し、暗号化推論モデルを含むコンテナのイメージデータを生成する。イメージデータには、暗号化推論モデルを復号するためのモデル復号ツールやコンテナ実行サーバ上にイメージデータに含まれる推論モデルをロードするためのモデルロードスクリプトが含まれる。また、イメージデータには、推論処理のためのデータ入出力や処理起動/実行などに用いられるライブラリやフレームワークなどのプログラムモジュール群が含まれる。ここで、推論処理に用いられるフレームワークを推論FW(FrameWork)と略記する。コンテナイメージ生成部230は、イメージデータを記憶部210に格納する。
The container
なお、演算装置200aも演算装置200と同様の機能を有する。
情報処理装置100は、記憶部110および処理部120を有する。記憶部110には、RAM102やHDD103の記憶領域が用いられる。処理部120は、プロセッサ101により実現される。処理部120は、イメージ取得部121およびイメージ暗号化部122を有する。イメージ取得部121およびイメージ暗号化部122は、プロセッサ101によりRAM102に格納されたプログラムが実行されることで実現される。
The
The
記憶部110は、処理部120の処理に用いられるデータを記憶する。
イメージ取得部121は、演算装置200で生成されたコンテナのイメージデータとモデル用暗号鍵とを演算装置200から取得し、記憶部110に格納する。
The
The
イメージ暗号化部122は、記憶部110に記憶されたイメージデータをイメージ用暗号鍵により暗号化することで、暗号化イメージデータを生成する。暗号化アルゴリズムには例えばAESが用いられる。イメージ暗号化部122は、例えばユーザにより入力されるパスワードに基づいてイメージ用暗号鍵を生成する。イメージ暗号化部122は、暗号化イメージデータおよびイメージ用暗号鍵を記憶部110に格納する。
The
暗号化イメージデータおよびイメージ用暗号鍵は、例えば、USB(Universal Serial Bus)メモリなどの可搬型記録媒体を用いて、運用環境の情報処理システム60に配布される。あるいは、暗号化イメージデータおよびイメージ用暗号鍵は、ネットワーク70を介して、情報処理システム60に配布されてもよい。同様にモデル用暗号鍵も情報処理システム60に配布される。
The encrypted image data and the encryption key for the image are distributed to the
図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
The
記憶部310は、処理部320の処理に用いられるデータを記憶する。記憶部310が記憶するデータは、配布された暗号化イメージデータ、イメージ用暗号鍵およびモデル用暗号鍵を管理する管理テーブルを含む。ただし、イメージ用暗号鍵は、後述されるようにTPM304により暗号化された上で、管理テーブルにより管理される。
The
暗号化イメージ管理部321は、情報処理システム50から配布された暗号化イメージデータおよびモデル用暗号鍵を記憶部310に格納する。また、暗号化イメージ管理部321は、情報処理システム50から配布されたイメージ用暗号鍵をTPM304により装置固有鍵を用いて暗号化させることで、暗号化済鍵データを取得する。暗号化済鍵データは、イメージ用暗号鍵が装置固有鍵で暗号化されたデータである。暗号化アルゴリズムには例えばAESが用いられる。暗号化イメージ管理部321は、暗号化イメージデータ、イメージ用暗号鍵およびモデル用暗号鍵の対応関係を、管理テーブルを用いて管理する。
The encrypted
また、暗号化イメージ管理部321は、イメージロードのコマンドを受け付けると、管理テーブルに基づいて、コマンドで指定された暗号化イメージデータとモデル用暗号鍵とを記憶部310から読み出す。暗号化イメージ管理部321は、暗号化されたイメージ用暗号鍵を記憶部310から読み出し、暗号処理部340に復号させる。暗号化イメージ管理部321は、イメージ復号部322に暗号化イメージデータの復号を実行させる。暗号化イメージ管理部321は、暗号化イメージデータが復号されて得られたコンテナのイメージデータを、モデル用暗号鍵とともに配備部323に提供し、演算装置400に対するイメージデータの配備を配備部323に指示する。
When the encrypted
イメージ復号部322は、暗号化イメージ管理部321から暗号化イメージデータとイメージ用暗号鍵とを取得し、イメージ用暗号鍵を用いて暗号化イメージデータを復号することで、コンテナのイメージデータを生成する。
The
配備部323は、暗号化イメージ管理部321からイメージデータの配備を指示されると、当該イメージデータおよびモデル用暗号鍵を演算装置400に送信し、イメージデータを用いて演算装置400によりコンテナを起動させる。
When the
装置固有鍵記憶部330は、情報処理装置300が保持する固有情報に基づいて生成された装置固有鍵を記憶する。情報処理装置300の固有情報には、情報処理装置300の装置識別番号やMAC(Media Access Control)アドレスなどが考えられる。装置固有鍵記憶部330は、処理部320からアクセス不可能である。装置固有鍵をTPM304の外部から取り出せないようにするため、TPM304は例えば耐タンパ性を有する。
The device-specific
暗号処理部340は、装置固有鍵記憶部330に装置固有鍵を保持し、装置固有鍵記憶部330に記憶された装置固有鍵を用いて、イメージ用暗号鍵を暗号化することで、暗号化済鍵データを生成する。なお、装置固有鍵記憶部330は、暗号処理部340に含まれると考えてもよい。
The
演算装置400は、記憶部410、コンテナ実行部420および推論処理部430を有する。記憶部410には、演算装置400が有するRAMの記憶領域が用いられる。コンテナ実行部420および推論処理部430は、演算装置400が有するプロセッサにより演算装置400のRAMに格納されたプログラムが実行されることで実現される。
The
記憶部410は、コンテナ実行部420および推論処理部430の処理に用いられるデータを記憶する。
コンテナ実行部420は、イメージデータに基づいてコンテナを実行開始し、推論処理部430を起動させる。コンテナ実行部420は、イメージデータに含まれる復号ツールおよびモデル用暗号鍵を用いて、イメージデータに含まれる暗号化推論モデルを復号することで、推論モデルを得る。コンテナ実行部420は、モデルロードスクリプトにより、演算装置400のRAM上に推論モデルをロードし、推論処理部430を起動する。
The
The
推論処理部430は、推論モデル、推論FWおよびライブラリなどのプログラムモジュール群により実現される。推論処理部430は、画像認識による物体検知などの推論モデルに応じた推論処理を実行する。
The
情報処理システム60が他の演算装置を有する場合、当該他の演算装置も演算装置400と同様の機能を有する。
例えば、コンテナ型仮想化機構として、Dockerを用いる場合、情報処理装置300がDockerクライアントとして機能し、演算装置400がDockerサーバとして機能する。
When the
For example, when Docker is used as a container-type virtualization mechanism, the
次に、各装置におけるデータ処理例を説明する。まず、演算装置200によるコンテナのイメージデータの生成例を説明する。
図6は、コンテナのイメージデータの生成例を示す図である。
Next, an example of data processing in each device will be described. First, an example of generating container image data by the
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
コンテナイメージ生成部230は、暗号化推論モデルeM1、モデル復号ツール81、モデルロードスクリプト82およびプログラムモジュール群90を取得する。プログラムモジュール群90は、推論処理に用いられるライブラリ91や推論FW92を含む。コンテナイメージ生成部230は、暗号化推論モデルeM1、モデル復号ツール81、モデルロードスクリプト82およびプログラムモジュール群90を含むコンテナのイメージデータD1を生成する。
The container
次に、情報処理装置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
FIG. 7 is a diagram showing an example of encryption of image data.
The
情報処理装置100が出力する暗号化イメージデータeD1およびイメージ用暗号鍵K2は、情報処理装置300に提供される。また、演算装置200が出力するモデル用暗号鍵K1も、情報処理装置300に提供される。
The encrypted image data eD1 and the image encryption key K2 output by the
次に、情報処理装置300による暗号化イメージデータの管理例を説明する。
図8は、暗号化イメージデータの管理例を示す図である。
情報処理装置300は、イメージ用暗号鍵K2、暗号化イメージデータeD1およびモデル用暗号鍵K1を取得する。
Next, an example of managing encrypted image data by the
FIG. 8 is a diagram showing a management example of encrypted image data.
The
暗号化イメージ管理部321は、イメージ用暗号鍵K2の暗号化を暗号処理部340に指示する。暗号処理部340は、装置固有鍵記憶部330に記憶された装置固有鍵を用いて、イメージ用暗号鍵K2を生成し、暗号化済鍵データeK2を生成する。暗号処理部340は、暗号化イメージ管理部321に暗号化済鍵データeK2を出力する。暗号化イメージ管理部321は、暗号化イメージデータeD1およびモデル用暗号鍵K1に対応付けて、記憶部310に記憶された管理テーブル311に、暗号化済鍵データeK2を登録する。なお、暗号化イメージ管理部321は、イメージ用暗号鍵K2を消去する。
The encryption
管理テーブル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
管理テーブル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
次に、情報処理装置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
FIG. 9 is a diagram showing an example of decryption of encrypted image data.
The encrypted
暗号化イメージ管理部321は、コマンドC1および管理テーブル311に基づいて、暗号化済鍵データeK2、モデル用暗号鍵K1および暗号化イメージデータeD1を、記憶部310から読み出す。
The encrypted
暗号化イメージ管理部321は、暗号化済鍵データeK2を暗号処理部340に出力し、暗号化済鍵データeK2の復号を暗号処理部340に指示する。暗号処理部340は、装置固有鍵記憶部330に記憶された装置固有鍵を用いて暗号化済鍵データeK2を復号することで、イメージ用暗号鍵K2を生成し、暗号化イメージ管理部321に出力する。
The encrypted
暗号化イメージ管理部321は、イメージ用暗号鍵K2を暗号処理部340から取得し、イメージ用暗号鍵K2と暗号化イメージデータeD1とをイメージ復号部322に出力して、暗号化イメージデータeD1の復号を指示する。イメージ復号部322は、イメージ用暗号鍵K2を用いて暗号化イメージデータeD1を復号することで、イメージデータD1を生成し、イメージデータD1を暗号化イメージ管理部321に出力する。
The encrypted
暗号化イメージ管理部321は、イメージデータD1とモデル用暗号鍵K1とを配備部323に出力し、演算装置400へのイメージデータD1の配備を指示する。
次に、情報処理装置100によるイメージデータD1の暗号化処理の手順を説明する。
The encrypted
Next, the procedure of the encryption processing of the image data D1 by the
図10は、イメージデータの暗号化処理例を示すフローチャートである。
(S10)イメージ暗号化部122は、演算装置200で生成されたコンテナのイメージデータD1を取得する。
FIG. 10 is a flowchart showing an example of image data encryption processing.
(S10) The
(S11)イメージ暗号化部122は、ユーザによるパスワードP1の入力を受け付ける。
(S12)イメージ暗号化部122は、パスワードP1に基づくイメージ用暗号鍵K2を用いてイメージデータD1を暗号化する。その結果、暗号化イメージデータeD1が生成される。
(S11) The
(S12) The
(S13)イメージ暗号化部122は、イメージ用暗号鍵K2と暗号化イメージデータeD1とを出力する。
なお、演算装置200で生成されたコンテナのイメージデータD1に含まれる推論モデルは、前述のように演算装置200によって暗号化されていてもよい。
(S13) The
The inference model included in the image data D1 of the container generated by the
次に、情報処理装置300による暗号化イメージデータeD1の管理処理の手順を説明する。
図11は、暗号化イメージデータの管理処理例を示すフローチャートである。
Next, the procedure of the management process of the encrypted image data eD1 by the
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
(S21) The encryption
(S22)暗号化イメージ管理部321は、暗号化済鍵データeK2を暗号化イメージデータeD1に対応付けて記憶部310に記憶された管理テーブル311に登録する。
次に、情報処理装置300によるイメージデータD1の配備処理の手順を説明する。
(S22) The encrypted
Next, the procedure for deploying the image data D1 by the
図12は、配備処理例を示すフローチャートである。
(S30)暗号化イメージ管理部321は、イメージロードのコマンドC1を受け付ける。
FIG. 12 is a flowchart showing an example of deployment processing.
(S30) The encrypted
(S31)暗号化イメージ管理部321は、コマンドC1のパラメータと管理テーブル311とに基づいて暗号化イメージデータeD1と暗号化済鍵データeK2とを記憶部310から読み出す。
(S31) The encrypted
(S32)暗号化イメージ管理部321は、TPM304の暗号処理部340に暗号化済鍵データeK2の復号を指示する。暗号処理部340は、装置固有鍵記憶部330に記憶された装置固有鍵で暗号化済鍵データeK2を復号し、イメージ用暗号鍵K2を生成する。
(S32) The encrypted
(S33)暗号化イメージ管理部321は、ステップS32で得られたイメージ用暗号鍵K2と暗号化イメージデータeD1とを、イメージ復号部322に出力し、暗号化イメージデータeD1の復号を指示する。イメージ復号部322は、イメージ用暗号鍵K2により暗号化イメージデータeD1を復号し、イメージデータD1を生成する。
(S33) The encrypted
(S34)暗号化イメージ管理部321は、ステップS33で得られたイメージデータD1の配備を配備部323に指示する。配備部323は、イメージデータD1を演算装置400に送信し、イメージデータD1に基づいて、演算装置400によりコンテナを起動させる。
(S34) The encrypted
なお、前述のように、イメージデータ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
コンテナ実行部420は、イメージデータD1に基づいてコンテナを実行開始し、推論処理部430を起動させる。コンテナ実行部420は、イメージデータD1に含まれるモデル復号ツール81およびモデル用暗号鍵K1を用いて、イメージデータD1に含まれる暗号化推論モデルeM1を復号することで、推論モデルM1を得る。コンテナ実行部420は、モデルロードスクリプト82により、演算装置400のRAM上に推論モデルM1をロードし、推論処理部430を起動する。こうして、推論処理部430によるライブラリ91、推論FW92および推論モデルM1を用いた推論処理が実行可能になる。
The
ここで、暗号化イメージデータ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
また、イメージデータ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
なお、第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
例えば、情報処理装置100は、次の機能を有してもよい。
記憶部110は、推論モデルM1と推論モデルM1を用いた推論処理の実行に用いられるプログラムモジュールとを含むコンテナのイメージデータD1を記憶してもよい。処理部120は、イメージ用暗号鍵K2(第1の鍵)を用いてイメージデータD1を暗号化することで暗号化イメージデータeD1を生成してもよい。
For example, the
The
これにより、推論処理に用いられる資源を安全に利用可能にすることができる。
また、情報処理装置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
これにより、推論処理に用いられる資源を一層安全に利用可能にすることができる。
そして、処理部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
このように、推論モデル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
これにより、推論処理のための資源の中でも重要である推論モデル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
なお、処理部120は、モデル用暗号鍵K1(第3の鍵)を用いて暗号化された推論モデル(暗号化推論モデルeM1)を含むコンテナのイメージデータD1を取得し、イメージ用暗号鍵K2(第1の鍵)を用いてイメージデータD1を暗号化してもよい。
The
これにより、推論処理のための資源の中でも重要である推論モデル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
演算装置400は、コンテナに含まれる推論モデル、および、推論モデルによる推論処理に用いられ、コンテナに含まれるプログラムモジュールに基づいて推論処理を実行する。情報処理装置300は、コンテナのイメージデータD1がイメージ用暗号鍵K2(第1の鍵)を用いて暗号化された暗号化イメージデータeD1とイメージ用暗号鍵K2とを取得する。情報処理装置300は、イメージ用暗号鍵K2を用いて暗号化イメージデータeD1を復号することでイメージデータD1を生成し、イメージデータD1を用いて、演算装置400によりコンテナを起動させる。
The
これにより、推論処理に用いられる資源を安全に利用可能にすることができる。
情報処理装置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
これにより、推論処理に用いられる資源を一層安全に利用可能にすることができる。
そして、情報処理装置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
このように、推論モデル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
これにより、推論処理のための資源の中でも重要である推論モデル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
なお、情報処理システム50も情報処理システム60と同様の機能を有してもよい。例えば、前述のように、1つの情報処理装置が、イメージデータD1の暗号化による暗号化イメージデータeD1の生成と暗号化イメージデータeD1の管理と暗号化イメージデータeD1の復号と演算装置へのイメージデータD1の配備とを実行してもよい。
The
ところで、第1の実施の形態の情報処理は、処理部12にプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体73に記録できる。
By the way, the information processing of the first embodiment can be realized by causing the
例えば、プログラムを記録した記録媒体73を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体73に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
For example, the program can be distributed by distributing the
10 情報処理装置
11 記憶部
12 処理部
20 イメージデータ
21 推論モデル
22 プログラムモジュール
30 鍵
40 暗号化イメージデータ
10
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.
前記処理部は、前記暗号化イメージデータを前記記憶部に保存し、前記暗号化イメージデータに対応する前記推論モデルの識別情報に対応付けて前記暗号化済鍵データを前記記憶部に保存する、
請求項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記載の情報処理装置。 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.
請求項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の鍵を出力する、
請求項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.
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) |
-
2020
- 2020-11-27 JP JP2020196667A patent/JP2022085148A/en active Pending
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 |