JP7419325B2 - デバイス、プログラム及び情報処理方法 - Google Patents

デバイス、プログラム及び情報処理方法 Download PDF

Info

Publication number
JP7419325B2
JP7419325B2 JP2021175553A JP2021175553A JP7419325B2 JP 7419325 B2 JP7419325 B2 JP 7419325B2 JP 2021175553 A JP2021175553 A JP 2021175553A JP 2021175553 A JP2021175553 A JP 2021175553A JP 7419325 B2 JP7419325 B2 JP 7419325B2
Authority
JP
Japan
Prior art keywords
parameters
parameter
model
secure
trained model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021175553A
Other languages
English (en)
Other versions
JP2022009575A (ja
Inventor
正徳 浅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2021175553A priority Critical patent/JP7419325B2/ja
Publication of JP2022009575A publication Critical patent/JP2022009575A/ja
Application granted granted Critical
Publication of JP7419325B2 publication Critical patent/JP7419325B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、デバイス、セキュアエレメント、プログラム及び情報処理方法に関する。
近年、IoT(Internet of Things)技術が急速に普及し、様々なデバイスがインターネットに接続されるようになっている。一方で、インターネットに接続されるデバイスが拡大することによって、デバイスの脆弱性に起因するセキュリティ上の問題が顕在化している。
また、IoTに限らず、ディープラーニングに代表される機械学習への関心が高まっている。これに伴い、機械学習技術をIoTに係るクラウドコンピューティングに適用し、データセンタであるクラウドサーバが機械学習を行って学習済みモデルを構築し、学習結果をIoTデバイスに提供して種々の処理を行うシステムが検討されている(例えば特許文献1)。
一方で、クラウド上に全てのデータ及び機能を集約するクラウドコンピューティングでは、ユーザとクラウドサーバとの間の通信距離が長くなることから、レイテンシー(処理速度)の遅延が避けられないとの問題がある。この問題に対し、クラウドサーバが行う処理の一部を、よりユーザに近いクライアント側で行うことで、通信距離を短縮してレイテンシーを向上させるエッジコンピューティングの技術が注目を集めている。
上記の機械学習とエッジコンピューティングとの相補についても注目を集めている。すなわち、クライアントであるIoTデバイスに機械学習演算の一部を委譲することで、クラウドコンピューティングに比べて演算結果を早くユーザに伝達する、という考え方である。例えばクラウドサーバが機械学習を行って学習結果をIoTデバイスに配信し、IoTデバイスが学習結果である学習済みモデルをメモリ上に展開して、学習済みモデルに基づく種々の処理を実行する。
特開2017-142654号公報
しかしながら、上述の如くIoTデバイスでのセキュリティの問題から、デバイス上に展開された学習済みモデルを第三者により盗難、模倣される等の課題が顕在化するであろうことが予測される。
一つの側面では、機械学習結果を利用した処理を安全に実行することができるデバイス等を提供することを目的とする。
一つの側面に係るデバイスは、演算処理を実行する実行部と、該実行部とは物理的又は論理的に分離され、前記実行部よりもセキュアなコンポーネントであって、機械学習により生成された学習済みモデルを展開するためのパラメータを格納するセキュア部とを備え、前記パラメータは、前記学習済みモデルの基本構造を特定可能な第1パラメータと、前記学習済みモデルにおける学習値である第2パラメータとを含み、前記実行部は、前記セキュア部から前記パラメータを取得し、取得した前記第1パラメータに基づき前記学習済みモデルの基本構造を決定し前記第2パラメータを適用することで前記学習済みモデルを前記実行部内のメモリ上に展開し、展開した前記学習済みモデルに基づいて演算処理を実行することを特徴とする。
一つの側面に係るセキュアエレメントは、デバイスに搭載されるセキュアエレメントであって、機械学習により生成された学習済みモデルを展開するために必要なパラメータを記憶する記憶部と、前記学習済みモデルをメモリ上に展開し、該学習済みモデルに基づく演算処理を実行するデバイス本体に対して、前記パラメータを出力する出力部とを備え、 前記パラメータは、前記学習済みモデルの基本構造を特定可能な第1パラメータと、前記学習済みモデルにおける学習値である第2パラメータとを含むことを特徴とする。
一つの側面に係るプログラムは、セキュアエレメントを搭載したコンピュータに、機械学習により生成された学習済みモデルを展開するためのパラメータを格納する前記セキュアエレメントから、前記パラメータを取得し、取得した前記パラメータに基づき、前記学習済みモデルを展開し、展開した前記学習済みモデルに基づいて演算を行う処理であって、前記パラメータは、前記学習済みモデルの基本構造を特定可能な第1パラメータと、前記学習済みモデルにおける学習値である第2パラメータとを含み、前記第1パラメータに基づき前記学習済みモデルの基本構造を決定し、前記第2パラメータを適用することで前記学習済みモデルをメモリ上に展開する処理を実行させることを特徴とする。
一つの側面に係るプログラムは、機械学習により生成された学習済みモデルを展開するためのパラメータを、該学習済みモデルに基づく演算処理を実行する実行環境よりもセキュアなトラステッド実行環境に格納し、該トラステッド実行環境から前記パラメータを取得し、取得した前記パラメータに基づき、前記実行環境に前記学習済みモデルを展開し、展開した前記学習済みモデルに基づいて演算を行う処理であって、前記パラメータは、前記学習済みモデルの基本構造を特定可能な第1パラメータと、前記学習済みモデルにおける学習値である第2パラメータとを含み、前記第1パラメータに基づき前記学習済みモデルの基本構造を決定し、前記第2パラメータを適用することで前記学習済みモデルを前記実行環境に展開する処理コンピュータに実行させることを特徴とする。
一つの側面に係る情報処理方法は、演算処理を実行する実行部と、該実行部とは物理的又は論理的に分離され、前記実行部よりもセキュアなコンポーネントであって、機械学習により生成された学習済みモデルを展開するためのパラメータを格納するセキュア部とを備えたデバイスにあって前記パラメータは、前記学習済みモデルの基本構造を特定可能な第1パラメータと、前記学習済みモデルにおける学習値である第2パラメータとを含み、前記実行部が、前記セキュア部から前記パラメータを取得し、取得した前記第1パラメータに基づき前記学習済みモデルの基本構造を決定し前記第2パラメータを適用することで前記学習済みモデルを前記実行部内のメモリ上に展開し、展開した前記学習済みモデルに基づいて演算を行う処理を実行ることを特徴とする。
一つの側面では、機械学習結果を利用した処理を安全に実行することができる。
IoTシステムの構成例を示すブロック図である。 推論モデルの展開処理に関する説明図である。 推論モデルの基本構造に関する説明図である。 学習パラメータの適用処理に関する説明図である。 推論モデル展開処理の処理手順の一例を示すフローチャートである。 推論処理の処理手順の一例を示すフローチャートである。 動作管理DBのレコードレイアウトの一例を示す説明図である。 検証処理に関する説明図である。 検証処理の処理手順の一例を示すフローチャートである。 更新処理に関する説明図である。 更新処理の処理手順の一例を示すフローチャートである。 実施の形態4に係る更新処理を説明するための説明図である。 実施の形態4に係る更新処理の処理手順の一例を示すフローチャートである。 上述した形態のIoTシステムの動作を示す機能ブロック図である。
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
(実施の形態1)
図1は、IoTシステムの構成例を示すブロック図である。本実施の形態では、IoT端末であるデバイス1に機械学習の成果物である推論モデル121をインストールし、デバイス1が推論モデル121を利用して、入力データから適切な出力データを推論する推論処理を行う形態について述べる。なお、本明細書において「推論」とは機械学習結果を利用した処理全般を表す文言として用い、「推論モデル」とは機械学習により生成された学習済みモデルを表す文言として用いる。
IoTシステムは、デバイス1と、サーバ3とを有する。デバイス1は、インターネットであるネットワークNに接続された電子機器であり、例えば監視カメラ、車両に搭載されたECU(Electronic Control Unit)、生産設備やインフラ設備の異常監視装置等、種々の機器であり得る。本実施の形態においてデバイス1は監視カメラであるものとして説明する。
サーバ3は、デバイス1の動作状況を管理する管理装置であり、ネットワークNを介してデバイス1に通信接続されている。本実施の形態では、サーバ3が機械学習を行って推論モデル121を生成し、生成した推論モデル121のデータ(図1に示す最新モデル用パラメータ341)をデバイス1に配信する。デバイス1は、当該データに基づいて推論モデル121を自装置のメモリ上に展開し、推論処理を行う。例えばデバイス1が監視カメラである場合、デバイス1は撮像画像に含まれる物体が何であるかを推論(推定)し、推論結果をサーバ3等に通知する。
また、サーバ3は、推論モデル121に基づくデバイス1の動作状況に関するデータを収集し、データベース上でデバイス1の動作状況を管理する。なお、本実施の形態ではデバイス1側での処理について説明し、サーバ3の処理内容については実施の形態2以降で詳述する。
デバイス1は、デバイス本体10と、セキュアエレメント(セキュア部)20とを有する。デバイス本体10は、SoC(System on Chip)により構成され、デバイス1の多く又は全部の機能を実現するデバイス1の本体部分である。セキュアエレメント20は、デバイス本体10とは物理的又は論理的に分離されたハードウェアであり、外部からの攻撃に対して耐タンパ性を有するチップである。セキュアエレメント20は内部に不揮発性メモリを有し、データを安全に保管する。なお、セキュアエレメント20はUICC(Universal Integrated Circuit Card)のように、デバイス1に対して着脱自在な構成であってもよい。デバイス本体10及びセキュアエレメント20は、例えばISO(International Organization Standardization)7816、SPI(Serial Peripheral Interface)等の規格で相互に接続されている。
デバイス本体10は、制御部11、記憶部12、入出力I/F13、通信部14、入力部15、及び撮像部16を備える。
制御部11は、一又は複数のCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を有し、記憶部12に記憶されたプログラムP1を読み出して実行することにより、デバイス1に係る種々の情報処理、制御処理を行う。記憶部12は、RAM(Random Access Memory)、ROM(Read Only Memory)等を有し、制御部11が演算処理を実行するために必要なプログラムP1、その他のデータを記憶する。また、記憶部12は、後述するように、セキュアエレメント20に格納された推論モデル用パラメータ241に基づき構築した推論モデル121を記憶する。
入出力I/F13は、セキュアエレメント20と情報の入出力を行うためのインターフェイスであり、上述の如く、ISO7816、SPI等の規格で情報の入出力を行う。通信部14は、インターネット通信に関する処理を行うための処理回路、アンテナ等を含み、ネットワークNを介してサーバ3等と情報の送受信を行う。入力部15は、ユーザから情報の入力を受け付ける入力インターフェイスであり、デバイス1の種類に応じて、例えばメカニカルキー、タッチパネル、音声入力マイク等、種々の形態であり得る。撮像部16は、CMOS(Complementary Metal Oxide Semiconductor)センサ等を有する撮像機構であり、画像の撮像を行う。
セキュアエレメント20は、読出部21、認証部22、入出力I/F23、及び記憶部24を備える。
読出部21は、記憶部24からデータを読み出してデバイス本体10に出力する。認証部22は、後述するように、デバイス本体10から入力される認証情報の確認を行う。入出力I/F23は、デバイス本体10の入出力I/F13との間でデータの入出力を行う。記憶部24は不揮発性メモリであり、後述するように、デバイス本体10が推論モデル121を展開するために必要な推論モデル用パラメータ241を記憶している。
サーバ3は、制御部31、主記憶部32、通信部33、及び補助記憶部34を備える。
制御部31は、一又は複数のCPU、MPU等の演算装置を備え、サーバ3に係る種々の情報処理、制御処理を行う。主記憶部32は、RAM等の揮発性メモリであり、制御部31が処理を実行する上で必要なデータを一時的に記憶する。通信部33は、通信に関する処理を行う処理回路等を有し、ネットワークNを介してデバイス1等と通信を行う。
補助記憶部34は、大容量メモリ、ハードディスク等であり、サーバ3が処理を行うために必要なプログラムP2、その他のデータを記憶している。また、補助記憶部34は、最新モデル用パラメータ341及び動作管理DB342を記憶している。最新モデル用パラメータ341は、デバイス1に配信する最新の推論モデル121のデータであり、デバイス1が推論モデル121を展開する上で必要なパラメータである。動作管理DB342は、デバイス1の動作状況を管理するデータベースである。
なお、補助記憶部34はサーバ3に接続された外部記憶装置であってもよい。また、サーバ3は複数のコンピュータからなるマルチサーバであってもよく、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。
図2は、推論モデル121の展開処理に関する説明図である。図2では、デバイス本体10がセキュアエレメント20から推論モデル用パラメータ241を読み出し、当該パラメータに基づいて推論モデル121をメモリ上に展開する様子を概念的に図示している。
上述の如く、セキュアエレメント20は記憶部24に、機械学習により生成された推論モデル121を展開するための推論モデル用パラメータ241を記憶している。本実施の形態において推論モデル121は、ディープラーニングにより生成されたニューラルネットワークであるものとして説明する。なお、機械学習のアルゴリズムはディープラーニングに限定されるものではなく、例えば回帰法、決定木学習、ベイズ法、クラスタリング等であってもよく、また、推論モデル121はニューラルネットワークに限定されるものではなく、線形モデル、決定木、ベイジアンネットワーク等であってもよい。
例えばサーバ3は、定期的に推論モデル121のアップデート(学習)を行い、最新モデル用パラメータ341をデバイス1に配信する。デバイス1は、サーバ3から配信された最新モデル用パラメータ341を、推論モデル用パラメータ241としてセキュアエレメント20に格納しておく。なお、機械学習は、パラメータの配信元であるサーバ3が主体となって行うものでもよく、他のコンピュータが機械学習を行って学習結果をサーバ3に保存しておいてもよい。
推論モデル用パラメータ241は、ハイパーパラメータ241aと、学習パラメータ241bと、バージョン情報241cとから成るデータ群である。ハイパーパラメータ241aは、コンピュータに機械学習を行わせるために手動設定される設定値であり、推論モデル121の基本構造を一意に特定可能なパラメータである。例えば推論モデル121がニューラルネットワークである場合、ハイパーパラメータ241aは、各ニューロン層に入力される入力数、各ニューロン層から出力される出力数、ニューロン間の層間結合、各ニューロンの演算処理に用いられる活性化関数等を指し示す情報である。
学習パラメータ241bは、ハイパーパラメータ241aで規定されるネットワーク構造の下、機械学習によりコンピュータが学習した学習値である。例えば推論モデル121がニューラルネットワークである場合、学習パラメータ241bは、各ニューロンの重み付け係数、バイアス値等のパラメータである。サーバ3は、正解値付きの教師データの入力を受け、各ニューロンに適用する学習パラメータ241bを学習する。
なお、機械学習は教師なし学習、半教師学習等であってもよい。また、機械学習は強化学習であってもよく、この場合、推論モデル用パラメータ241はQ値(Q(s,a);sは状態、aは行動)であってもよい。
バージョン情報241cは、推論モデル121のバージョン数を表す情報である。上述の如く、サーバ3は定期的に推論モデル121をアップデートし、最新モデル用パラメータ341を配信する。バージョン情報241cは、当該アップデートによるバージョン数を表す。
図2において符号P1~P8で示す処理プロセスについて、順に説明する。なお、初期段階でデバイス本体10には推論モデル121が未展開であるものとする。
例えばデバイス1の起動時、又は推論を伴うアプリケーションの動作開始時等に、デバイス本体10の制御部11は、セキュアエレメント20に対して推論モデル用パラメータ241の読み出しを要求する(P1)。
読出要求を受け付けた場合、セキュアエレメント20の読出部21はまず、当該読出要求が正当なものであるか否か、運用者認証を行う。読出部21は認証部22に対し、運用者(デバイス1のユーザ等)の認証に必要な認証情報を確認するよう要求する(P2)。当該要求を受け付けた場合、認証部22はデバイス本体10に対し、認証情報の出力を要求する(P3)。
認証情報の出力要求を受け付けた場合、デバイス本体10の制御部11は、セキュアエレメント20に対して認証情報を出力する(P4)。認証情報は例えば、入力部15を介して入力されるPIN(Personal Identification Number)コード、パスワード、生体情報等である。なお、認証情報はこれらに限定されるものではなく、運用者の正当性を適切に確認することができればよい。認証部22は認証情報を基に認証を行う。
認証に失敗した場合、セキュアエレメント20は推論モデル用パラメータ241を出力せず、一連の処理を終了する。認証に成功した場合、認証部22は認証が完了した旨をセキュアエレメント20内に保持すると共に、認証が完了した旨をデバイス本体10に通知する。
認証完了の通知を受けた場合、デバイス本体10の制御部11は再度、パラメータの読出要求を行う(P5)。読出要求を受け付けた場合、セキュアエレメント20の読出部21は、記憶部24から推論モデル用パラメータ241を読み出す(P6)。読出部21は、読み出したパラメータをデバイス本体10に出力する(P7)。
デバイス本体10の制御部11は、セキュアエレメント20から取得した当該パラメータに基づき、推論モデル121をメモリ上に展開する(P8)。具体的には以下に説明するように、制御部11は、推論モデル用パラメータ241のうち、ハイパーパラメータ241aに基づいてニューラルネットワークの基本構造を決定し、基本構造を決定したニューラルネットワークの各ニューロンに対して学習パラメータ241bを適用することで、推論モデル121を展開する。
図3は、推論モデル121の基本構造に関する説明図である。図3では、ハイパーパラメータ241aに基づいてニューラルネットワークの基本構造を決定する様子を概念的に図示している。ハイパーパラメータ241aは、各ニューロン層の入力数、出力数、層間結合等を規定するデータであり、ニューロン層毎に構造を一意に特定可能なように規定されている。
図3の例では、第0層(入力層)の入力数は「3」に規定されているため、デバイス本体10の制御部11は、入力値x0~x2を想定する。また、第0層の出力数は「3」であるため、制御部11は、ニューロンを3つ配置する。また、層間結合は「全結合」であるため、制御部11は、第0層の全てのニューロンの出力値を、次の層(第1層)の全てのニューロンに対して入力する。さらに、第0層の活性化関数はReLU(Rectified Linear Unit)で定義されているため、制御部11は、第0層の各ニューロンにおいて、ReLU関数を用いて出力値を演算する。
以下同様にして、制御部11は、各ニューロン層における構造を決定する。これによって制御部11は、図3に示すように、入力から出力に至るニューラルネットワークの基本構造を決定する。
図4は、学習パラメータ241bの適用処理に関する説明図である。図4では、図3で示したニューラルネットワークの基本構造に対し、機械学習結果に応じた学習パラメータ241bを適用する様子を図示している。
例えばセキュアエレメント20には、ハイパーパラメータ241aで規定する第0~3層のニューロン層に対応して、各ニューロン層に適用する学習パラメータ241bが保持されている。具体的には、セキュアエレメント20は各ニューロンに対して適用する重み付け係数、バイアス値等のパラメータを格納しており、制御部11は、当該パラメータを各々のニューロンに対して適用する。
図2、図4の表では、「from/to」で示す表部分の値が重み付け係数に該当する。なお、「from」は入力元である入力値x0~x2、あるいは前層のニューロンを、「to」は入力対象となるニューロンを示している。例えば第0層において、(from,to)=(0,0)のとき、表の値は0.1である。この値は、0番目の入力(x0)が0番目のニューロンに入力される際の重み付け係数を示している。従って、制御部11は入力値x0が0番目のニューロンに対して入力される際の重みを0.1として計算する。以下同様にして、制御部11は、入力値x0が1番目のニューロンに対して入力される際の重みを0.2、入力値x0が2番目のニューロンに対して入力される際の重みを0.3、入力値x1が0番目のニューロンに対して入力される際の重みを0.1、…として設定する。
また、図2、図4の表における「bias」は、各ニューロンにおいて、重み付け係数を乗算後の入力値に対して加えるバイアス値を示す。例えば第0層におけるバイアス値は全て0.6である。従って、制御部11は、バイアス値0.6を第0層の各ニューロンに対して設定する。
以下同様にして、制御部11は第1~3層のニューロン層についても、重み付け係数及びバイアス値を設定する。これによって制御部11は、学習パラメータをネットワーク全体に展開し、入力値x0~x2から出力値y0~y2を演算するニューラルネットワークを生成する。
デバイス本体10は、上記のようにして展開した推論モデル121(ニューラルネットワーク)を利用して、所定の推論処理を行う。詳細な図示及び説明は省略するが、例えばデバイス1が監視カメラである場合、デバイス本体10は、撮像部16で撮像した画像を入力データとして取得し、当該入力データを推論モデル121に入力して、画像内に含まれる物体を推定(推論)する処理を行う。デバイス本体10は、撮像画像の各画素の色度、輝度等の値を入力値として推論モデル121に入力し、出力値を演算する。例えば出力値は、画像内に含まれる物体が、機械学習時にその特徴量を学習した特定の物体である確率を示す値である。デバイス本体10は、当該出力値を、サーバ3やその他の装置に出力する。例えば画像から不審物を特定した場合、デバイス本体10は、不審物を発見した旨を報知する。
上記のようにデバイス1は、デバイス本体10とは物理的又は論理的に分離されたセキュアエレメント20に推論モデル用パラメータ241を格納しておき、セキュアエレメント20から推論モデル用パラメータ241を読み出して推論モデル121を展開する。デバイス本体10よりセキュアなコンポーネントに推論モデル用パラメータ241を保持しておくことで、第三者による推論モデル121の盗難、模倣等の可能性を低減することができる。
なお、上記でデバイス1は、セキュアエレメント20からハイパーパラメータ241a及び学習パラメータ241bの両方を読み出して推論モデル121を展開しているが、本実施の形態はこれに限定されるものではない。例えばデバイス1は、ハイパーパラメータ241aはデバイス本体10に保持しておき、学習パラメータ241bはセキュアエレメント20に格納しておいて、デバイス本体10がセキュアエレメント20から学習パラメータ241bのみを読み出して推論モデル121を展開するようにしてもよい。このように、推論モデル用パラメータ241の一部のみをセキュアエレメント20で保管するようにしてもよい。
図5は、推論モデル展開処理の処理手順の一例を示すフローチャートである。図5に基づき、デバイス1が実行する処理内容について説明する。
例えばデバイス1は、自装置の起動時、又は推論処理を伴うアプリケーションの起動時等、所定のタイミングで以下の処理を実行する。デバイス本体10の制御部11は、推論モデル121を展開するために必要なパラメータを保持するセキュアエレメント20に対し、当該パラメータの読み出しを要求する(ステップS11)。上述の如く、セキュアエレメント20は耐タンパ性を有するチップであり、デバイス本体10とは物理的に分離され、推論モデル用のパラメータを安全に保持する。
デバイス本体10からパラメータの読出要求を受け付けた場合、セキュアエレメント20は、デバイス本体10に対し、運用者認証に必要な認証情報の出力を要求する(ステップS12)。認証情報の出力要求を受け付けた場合、デバイス本体10の制御部11は、入力部15を介して認証情報の入力を受け付け、セキュアエレメント20に出力する(ステップS13)。認証情報は、例えばPINコード、パスワード、生体情報等であるが、運用者の正当性を適切に確認可能な情報であればよい。
セキュアエレメント20は、認証情報に基づく運用者認証を行う(ステップS14)。セキュアエレメント20は、運用者認証が成功したか否かを判定する(ステップS15)。認証に失敗した場合(S15:NO)、セキュアエレメント20はパラメータの読み出しを行わず、一連の処理を終了する。認証が成功した場合(S15:YES)、セキュアエレメント20は推論モデル用パラメータ241を記憶部24から読み出す(ステップS16)。例えば推論モデル121がディープラーニングにより生成されるニューラルネットワークである場合、セキュアエレメント20は、ニューラルネットワークの基本構造を規定するハイパーパラメータ241aと、各ニューロン層に適用する学習パラメータ241bとを読み出す。セキュアエレメント20は、読み出したパラメータをデバイス本体10に出力する(ステップS17)。
セキュアエレメント20からパラメータの出力を受けた場合、デバイス本体10の制御部11は、当該パラメータに基づき、推論モデル121を記憶部12に展開する(ステップS18)。具体的には、制御部11はハイパーパラメータ241aに従ってニューラルネットワークを構築し、各ニューロンに学習パラメータ241bを適用して推論モデル121を展開する。制御部11は、一連の処理を終了する。
図6は、推論処理の処理手順の一例を示すフローチャートである。図6に基づき、デバイス1が実行する推論処理の処理内容について説明する。
デバイス本体10の制御部11は、推論モデル121に入力する入力データを取得する(ステップS21)。例えばデバイス1が監視カメラである場合、デバイス1の撮像部16が画像を撮像する。制御部11は、当該撮像画像を入力データとして取得する。なお、当然ながら入力データはデバイス1の種類に応じて異なり、例えばセンシングデバイスで検知したパラメータ、テキストデータ、音声データ等であってもよい。
制御部11は、当該入力データを推論モデル121に入力して出力値を演算し、入力データから最適な出力データを推論する推論処理を実行する(ステップS22)。例えば制御部11は、撮像画像内の各画素データを入力値として推論モデル121に入力し、画像に含まれる物体が特定の物体である確率を出力値として計算することで、当該撮像画像に含まれる物体を推定(推論)する。制御部11は、推論結果(演算結果)を出力し(ステップS23)、一連の処理を終了する。
なお、上記でデバイス1は、デバイス本体10とはハードウェア上分離されたセキュアエレメント20を搭載し、セキュアエレメント20に推論モデル用パラメータ241を格納しているが、本実施の形態はこれに限定されるものではない。例えばデバイス1は、デバイス1の基本的機能を実現する通常実行環境(いわゆるREE;Rich Execution Environment)とはソフトウェア的に分離されたトラステッド実行環境(TEE;Trusted Execution Environment)を用意しておき、トラステッド実行環境に推論モデル用パラメータ241を格納しておいてもよい。すなわちデバイス1は、汎用的なOS、アプリケーションを実行する実行環境からは認識不可能な仮想領域を構築しておき、当該領域に推論モデル用パラメータ241を保存しておく。デバイス1は、トラステッド実行環境からパラメータを読み出し、通常実行環境に推論モデル121を展開して、推論処理に係る演算を行う。通常実行環境からは認識不可能であることから、当該構成によっても推論モデル用パラメータ241を安全に保管しておくことができる。
上記のように、デバイス1は、基本的、汎用的な演算処理を行うコンポーネント(実行部)と、当該コンポーネントよりもセキュアなコンポーネントとを備え、前者が後者からパラメータを読み出して推論モデル121をメモリ上に展開し、推論処理を実行することができればよい。上記セキュアなコンポーネントは、耐タンパ性を有するセキュアエレメント20であってもよく、トラステッド実行環境のように、通常実行環境とは異なるセキュアな仮想領域であってもよい。
以上より、本実施の形態1によれば、デバイス1は、セキュアなコンポーネントに推論モデル用パラメータ241を格納しておき、当該セキュアなコンポーネントからパラメータを取得して推論モデル121を展開する。セキュアなコンポーネントにパラメータを保持しておくことで、第三者による盗難、模倣等を防止し、セキュリティ上の安全性を確保することができる。
また、本実施の形態1によれば、上記セキュアなコンポーネントとして、耐タンパ性を有するセキュアエレメント20、あるいは通常実行環境(REE)よりセキュアなトランステッド実行環境(TEE)を採用することができる。
また、本実施の形態1によれば、セキュアエレメント20はパラメータをデバイス本体10へ出力する前に運用者の認証を行うことから、安全性をさらに高めることができる。
(実施の形態2)
本実施の形態では、デバイス1がメモリ上に展開した推論モデル121の改竄防止等のため、推論モデル用パラメータ241の検証を行う形態について述べる。なお、実施の形態1と重複する内容については同一の符号を付して説明を省略する。
図7は、動作管理DB242のレコードレイアウトの一例を示す説明図である。動作管理DB242は、デバイスID列、最終更新日列、動作状況列を含む。デバイスID列は、サーバ3とパラメータを同期する各デバイス1を識別するための識別情報を記憶している。最終更新日列は、デバイスIDと対応付けて、各デバイス1が推論モデル用パラメータ241を更新した最終更新日時を記憶している。動作状況列は、デバイスIDと対応付けて、各デバイス1の動作の正常又は異常を検証した検証結果を記憶している。本実施の形態においてサーバ3は、デバイス1の動作状況に関する情報として後述するパラメータの照合結果を取得し、当該照合結果に応じて、デバイス1の動作の正常又は異常を動作管理DB342に格納する。
図8は、検証処理に関する説明図である。図8では、セキュアエレメント20が、デバイス本体10に展開済みの推論モデル121に適用されている推論モデル用パラメータ241を、自身が保持してあるパラメータと照合することで、推論モデル121の検証を行う様子を図示している。なお、図8では図示の便宜上、デバイス本体10の入出力I/F13、及びセキュアエレメント20の入出力I/F23を矩形点線で図示している。
本実施の形態に係るセキュアエレメント20は、照合部25、通信路開設部26を備える。照合部25は、デバイス本体10から検証用に出力される推論モデル用パラメータ241と、セキュアエレメント20の記憶部24に格納されている推論モデル用パラメータ241との照合を行う。通信路開設部26は、デバイス1とサーバ3との間の秘匿通信路41の開設を行う。
図8において符号P21~P28で示す処理プロセスについて、順に説明する。まずデバイス本体10の制御部11は、メモリ上に展開済みであり、現在動作している推論モデル121のデータから、推論モデル用パラメータ241を抽出する(P21)。パラメータの抽出は、実施の形態1で述べた推論モデル121の展開処理と逆の手順で行えばよい。制御部11は、抽出したパラメータを、セキュアエレメント20が照合可能な所定形式の値に変換してセキュアエレメント20に出力し、推論モデル121の照合を要求する(P22)。具体的には、制御部11はパラメータそのものではなく、パラメータをハッシュ値に変換した上で出力する。なお、パラメータの変換形式はハッシュ値に限定されるものではなく、第三者がパラメータを解析困難なように変換できればよい。
デバイス本体10から照合要求を受け付けた場合、照合部25は、セキュアエレメント20で保持している推論モデル用パラメータ241を、デバイス本体10から出力されたパラメータと照合し、一致するか否かを判定する(P23)。例えば照合部25は、上述の如くデバイス本体10からハッシュ値で出力されるパラメータの比較を行う。パラメータが一致する場合、照合部25は、推論モデル121が改竄等されておらず、正常に動作しているものと判断する。一方で、パラメータが不一致である場合、照合部25は推論モデル121が改竄されているものと判断する。
照合部25は、パラメータの照合結果(検証結果)をデバイス本体10に通知する(P24)。通知された照合結果がパラメータの不一致を示す場合、例えばデバイス本体10の制御部11は、推論モデル121に基づく推論処理を停止する。このように、デバイス本体10は、セキュアエレメント20におけるパラメータの照合結果に応じて推論処理の実行の可否を判定し、第三者による自装置の不正利用を防止する。
また、照合部25はデバイス本体10に対してだけでなく、サーバ3に対しても照合結果を通知する。具体的には、照合部25は通信路開設部26に対して、照合結果の通知を要求する(P25)。通知要求を受け付けた場合、通信路開設部26はまず、デバイス1とサーバ3との間で、エンドツーエンドの秘匿通信路41を開設する(P26)。秘匿通信路41は、例えばTLS(Transport Layer Security)のプロトコルで通信内容を暗号化した通信路である。通信路開設部26は、デバイス本体10におけるネットワークNとの通信インターフェイスである通信部14を経由して、サーバ3との間の秘匿通信路41を開設する。
なお、秘匿通信路41は通信内容を秘匿可能であればよく、例えばSSL(Secure Sockets Layer)等のプロトコルを採用してもよい。また、上記ではデバイス本体10の物理的な通信手段(通信部14)を経由して秘匿通信路41を確立しているが、セキュアエレメント20がサーバ3との間で秘匿通信路41を開設可能であればよく、セキュアエレメント20自体が物理的な通信手段(LAN、Wi-Fi(登録商標)等)を有する場合、セキュアエレメント20はサーバ3との間で秘匿通信路41を直接確立してもよい。
通信路開設部26は秘匿通信路41を介して照合結果をサーバ3に通知する(P27)。具体的には、通信路開設部26は、自装置に係るデバイスIDと、推論モデル用パラメータ241の一致又は不一致を示す照合結果とをサーバ3に通知する。サーバ3の制御部31は、当該通知を受信した場合、デバイス1の動作状況が正常又は異常である旨を、デバイスIDと対応付けて動作管理DB342に記憶する(P28)。以上より、サーバ3におけるデバイス1の遠隔監視も可能となり、例えば改竄防止のためデバイス1の遠隔制御を行う等、有効な対策を行うことができる。
なお、上記でセキュアエレメント20は、パラメータの一致又は不一致に関わらず照合結果をデバイス本体10及びサーバ3に通知しているが、パラメータが一致する場合は動作に問題がないことから、パラメータが不一致の場合のみ通知を行うようにしてもよい。
図9は、検証処理の処理手順の一例を示すフローチャートである。図9に基づき、実施の形態2に係るIoTシステムが実行する処理内容について説明する。
デバイス本体10の制御部11は、メモリ(記憶部12)上に展開済みの推論モデル121のデータから、推論モデル用パラメータ241を抽出する(ステップS31)。制御部11は、抽出したパラメータを所定形式の値(例えばハッシュ値)に変換する(ステップS32)。制御部11は、変換したパラメータをセキュアエレメント20に出力し、当該パラメータの照合を要求する(ステップS33)。
セキュアエレメント20は、記憶部24から推論モデル用パラメータ241を読み出し、デバイス本体10から出力された推論モデル用パラメータ241と照合する(ステップS34)。セキュアエレメント20は、照合結果(検証結果)をデバイス本体10に通知する(ステップS35)。
デバイス本体10の制御部11は、セキュアエレメント20から通知された照合結果を参照して、パラメータが不一致であるか否かを判定する(ステップS36)。パラメータが不一致でないと判定した場合(S36:NO)、制御部11は、一連の処理を終了する。パラメータが不一致であると判定した場合(S36:YES)、制御部11は、推論モデル121に基づく処理動作を停止し(ステップS37)、一連の検証処理を終了する。
ステップS35を実行後、セキュアエレメント20は、デバイス1とサーバ3との間の秘匿通信路41を開設する(ステップS38)。例えばセキュアエレメント20は、サーバ3との間でTLSのプロトコルにより通信内容を暗号化する秘匿通信路41を開設する。セキュアエレメント20は、秘匿通信路41を介して、パラメータの照合結果をサーバ3に通知する(ステップS39)。サーバ3の制御部31は、セキュアエレメント20(デバイス1)から通知された照合結果を、当該セキュアエレメント20に係るデバイスIDと対応付けて動作管理DB342に記憶する(ステップS40)。
以上より、本実施の形態2によれば、セキュアエレメント20は、デバイス本体10で稼働している推論モデル121のパラメータを、自身が保持するパラメータと照合することで、稼働中の推論モデル121の検証を行う。セキュアエレメント20に保存されているパラメータに基づいて検証を行うことで、確実に検証を行うことができる。また、デバイス本体10ではなく、セキュアエレメント20内で検証を行うことで、検証結果自体の改竄も防止することができる。このように、デバイス1は第三者による推論モデル121の改竄等を検知することができ、安全性をより高めることができる。
また、本実施の形態2によれば、ハッシュ値等の形式に変換してパラメータの照合を行うことで、単純にパラメータの完全一致を確認する場合と比較して、検証に係る安全性を高めることができる。
また、本実施の形態2によれば、検証結果(照合結果)をサーバ3に通知し、サーバ3において検証結果を記憶しておくことで、サーバ3が生成した推論モデル121に基づいて稼働するデバイス1の遠隔監視等が可能となり、安全性をさらに高めることができる。
また、本実施の形態2によれば、秘匿通信路41を介して検証結果を通知することで、第三者がサーバ3への動作状況の通知を妨害する、あるいは通知内容を改竄する等の事態を防止することができる。
(実施の形態3)
本実施の形態では、セキュアエレメント20に格納されている推論モデル用パラメータ241を、最新モデル用パラメータ341に更新する形態について述べる。
図10は、更新処理に関する説明図である。図10では、セキュアエレメント20がサーバ3との間で通信を行い、推論モデル用パラメータ241を更新する様子を概念的に図示している。なお、図10では図示の便宜上、デバイス本体10の通信部14、及びサーバ3の通信部33を矩形点線で図示している。
本実施の形態に係るセキュアエレメント20は、更新部27を備える。更新部27は、サーバ3から最新モデル用パラメータ341を取得し、記憶部24に格納してあるパラメータを更新する。
図10において符号P31~P38に示す処理プロセスについて、順に説明する。まずデバイス本体10がセキュアエレメント20に対し、推論モデル121が最新のデータに更新済みであるか否かをサーバ3に確認するよう要求する(P31)。確認要求を受け付けた場合、セキュアエレメント20の更新部27は、通信路開設部26に対して秘匿通信路41の開設を要求する(P32)。当該要求を受け付けた場合、通信路開設部26は、秘匿通信路41を開設する(P33)。なお、秘匿通信路41については実施の形態2と同様なので、ここでは説明を省略する。
更新部27は、秘匿通信路41を介してサーバ3に対しパラメータの更新要求を行う(P34)。具体的には、更新部27は、セキュアエレメント20で保持している現在の推論モデル用パラメータ241のバージョン情報241cと、自装置に係るデバイスIDとを送信する。
セキュアエレメント20(デバイス1)から更新要求を受け付けた場合、サーバ3は、要求元であるデバイス1において推論モデル121を更新済みであるか否かを判定する(P35)。具体的には、サーバ3は、セキュアエレメント20から送信されたバージョン情報241cと、最新モデル用パラメータ341のバージョン情報341c(図10参照)とを照合する。バージョン情報が最新のものと一致する場合、デバイス1の推論モデル121は最新モデルに更新済みであるため、サーバ3は特段の処理を行わず、一連の処理を終了する。一方、バージョン情報が最新のものと不一致の場合、サーバ3は最新モデル用パラメータ341を、秘匿通信路41を介してデバイス1に送信する(P36)。また、サーバ3は、最新モデル用パラメータ341を送信した場合、バージョン情報と共に受信したデバイスIDと対応付けて、デバイス1の推論モデル121を更新した旨を示す更新情報を動作管理DB342に記憶する(P37)。例えばサーバ3は、現在の日時を最終更新日時として動作管理DB342に記憶する。なお、サーバ3は、更新された旨をデータベース上で格納することができればよく、例えば最新モデルのバージョン情報341cを記憶しておくなど、日時以外の情報を更新情報として記憶しておいてもよい。
セキュアエレメント20の更新部27は、サーバ3から送信された最新モデル用パラメータ341に記憶部24に格納し、パラメータの更新を行う(P38)。例えば更新部27は、パラメータのダウンロード直後に当該パラメータをデバイス本体10に出力し、デバイス本体10は、当該パラメータを基に推論モデル121を更新(再構築)する。なお、パラメータのダウンロード直後に推論モデル121の更新を行うことなく、デバイス1の次回起動時、アプリケーションの次回実行時等、任意のタイミングで更新を行ってよい。以上より、IoTデバイスに格納されているデータを最新のものに更新することができ、陳腐化を防止する等、更新のニーズに応えることができる。
なお、上記ではデバイス本体10からのリクエストに従って一連の処理を開始しているが、例えば実施の形態2に係る検証時に併せて更新を行う、あるいはサーバ3が動作管理DB342から古いバージョンで稼働しているデバイス1を検知し、サーバ3側からデバイス1側へパラメータの更新要求を行うなど、任意のタイミングでモデルの更新処理を開始してよい。
図11は、更新処理の処理手順の一例を示すフローチャートである。図11に基づき、本実施の形態に係るIoTシステムが実行する処理内容について説明する。
デバイス本体10の制御部11は、推論モデル121の最新のモデルであるか否かをサーバ3に確認するよう、セキュアエレメント20に要求する(ステップS61)。当該要求を受け付けた場合、セキュアエレメント20はサーバ3との間で秘匿通信路41を開設する(ステップS62)。セキュアエレメント20は秘匿通信路41を介して、推論モデル用パラメータ241の更新要求を行う(ステップS63)。例えばセキュアエレメント20は、上記のように、記憶部24に格納してあるパラメータのバージョン情報241cと、自装置のデバイスIDとをサーバ3へ送信する。
更新要求を受け付けた場合、サーバ3の制御部31は、更新要求を行ったデバイス1において推論モデル用パラメータ241を更新済みであるか否かを判定する(ステップS64)。例えば制御部31は、最新モデルのバージョン情報341cが、セキュアエレメント20から送信されたバージョン情報241cと一致するか否かを判定する。更新済みであると判定した場合(S64:YES)、制御部31は一連の処理を終了する。
更新済みでないと判定した場合(S64:NO)、制御部31は秘匿通信路41を介して、最新モデル用パラメータ341をセキュアエレメント20に送信する(ステップS65)。また、最新モデル用パラメータ341を送信した場合、制御部31は、デバイス1の推論モデル121を更新した旨を示す更新情報を動作管理DB342に記憶し(ステップS66)、一連の処理を終了する。
最新モデル用パラメータ341をサーバ3から受信した場合、セキュアエレメント20は、当該パラメータを記憶部24に格納し(ステップS67)、一連の処理を終了する。
なお、上記ではバージョン情報241c、341cがバージョン数、つまりバージョンを表す番号であるものとして図示及び説明を行ったが、本実施の形態はこれに限定されるものではない。例えばバージョン情報241c、341cは、パラメータの更新が行われた日付等の時間を表す情報であってもよい。また、例えばサーバ3は、デバイス1に展開されている推論モデル121と、最新の推論モデル121とのハッシュ値の比較を行って最新バージョンであるか否かを判定するようにしてもよい。このように、サーバ3は推論モデル121の新旧を判定可能な情報に基づいて推論モデル用パラメータ241を更新することができればよく、バージョン情報241c、341cは番号に限定されない。
以上より、本実施の形態3によれば、セキュアエレメント20が最新モデル用パラメータ341をサーバ3から取得し、記憶部24に格納しておくことで、推論モデル121の陳腐化等を防ぎ、適切に推論モデル121の更新を行うことができる。
また、本実施の形態3によれば、秘匿通信路41を介してパラメータの授受を行うことで、安全性を確保しつつモデル更新を行うことができる。
また、実施の形態2、3で説明したように、サーバ3はセキュアエレメント20から、パラメータの照合結果、バージョン情報等、デバイス1で現在稼働している推論モデル121の動作状況に関するデータを取得し、動作管理DB342に記憶する。これにより、サーバ3と推論モデル121を同期するデバイス1の動作状況を遠隔監視することができる。特に、デバイス1から送信される情報はセキュアエレメント20が送信元であるデータであることから、通信経路の秘匿化も併せることで、信頼性の高い遠隔監視を行うことができる。
(実施の形態4)
実施の形態3では、デバイス1で稼働している推論モデル121を更新する形態について述べた。本実施の形態では、当該更新処理の実際的な運用形態について説明する。
図12は、実施の形態4に係る更新処理を説明するための説明図である。図12では、デバイス1の運用者(ユーザ)からの更新要求に従って、デバイス1内の推論モデル121を更新する様子を図示している。
図12において符号5で示す装置は、デバイス1の運用者(ユーザ)が使用する運用者端末5である。本実施の形態においてサーバ3は、運用者端末5等を介して運用者から推論モデル121の更新要求を受け付け、当該更新要求があった場合に最新モデル用パラメータ341をデバイス1に配信する。
まずデバイス1のセキュアエレメント20は、実施の形態3と同様にデバイス本体10から推論モデル121の更新確認要求を受け付けた場合、あるいはサーバ3から最新モデルへの更新要求を受け付けた場合等、所定のタイミングでバージョン情報241cをサーバ3に送信する。サーバ3は、デバイス1から送信されたバージョン情報241cを最新モデルのバージョン情報341cと比較し、デバイス1が最新モデルへ更新済みであるか否かを確認する。
未更新である場合、サーバ3は、最新モデルへの更新を行うか否かを運用者に確認するため、運用者端末5へ所定のアップデート通知を行う。なお、サーバ3はアップデート対象であるデバイス1自体に通知を行ってもよい。
運用者は運用者端末5を介してアップデート通知を受け取り、運用しているデバイス1の推論モデル121を更新するか否かをサーバ3へ返信する。更新する旨の返信を受信し、推論モデル121の更新要求を受け付けた場合、サーバ3は、最新モデル用パラメータ341をデバイス1に送信する。
この場合にサーバ3は、推論モデル121を更新する対価として、所定のアップデート料金の支払いを運用者に対して要求しても良い。例えばサーバ3は、デバイスIDと対応付けて、運用者の情報(個人名、会社名等の名前や住所など)、アップデート料金の支払方法(口座番号、引き落とし設定等)などを動作管理DB342に記憶しておく。サーバ3は、運用者から更新要求を受け付け、パラメータの配信を行った後、当該情報に従ってアップデート料金の支払請求処理を実行する。例えばサーバ3は、クレジット会社等のサーバ装置、あるいはその他の装置に対して、顧客(運用者)、支払額等を示す情報を通知し、アップデート料金の支払いを請求する。
なお、本実施の形態では推論モデル121のアップデートの対価として料金の請求を行うことにしたが、料金の請求処理は必須ではなく、例えば不具合対応時等のように、無償でアップデートを行ってもよい。また、請求処理を実行するタイミングはパラメータの配信後に限定されず、例えばパラメータの配信前に請求処理を行って決済が完了してからパラメータを配信する等、任意のタイミングで実行して良い。
図13は、実施の形態4に係る更新処理の処理手順の一例を示すフローチャートである。図13に基づき、実施の形態4に係る更新処理の内容について説明する。
デバイス1のセキュアエレメント20は、記憶部24に格納してある推論モデル用パラメータ241のバージョン情報241cを読み出し、サーバ3に送信する(ステップS81)。例えばセキュアエレメント20は、実施の形態3と同様に、デバイス本体10からの要求をトリガとしてバージョン情報を送信する。
デバイス1からバージョン情報241cを取得した場合、サーバ3の制御部31は、当該バージョン情報241cを最新モデルのバージョン情報341cと比較して、デバイス1の推論モデル121が最新モデルに更新済みであるか否かを判定する(ステップS82)。更新済みであると判定した場合(S82:YES)、制御部31は一連の処理を終了する。
更新済みでないと判定した場合(S82:NO)、制御部31は、デバイス1の推論モデル121を更新するか否かを運用者に確認するアップデート通知を行う(ステップS83)。例えば制御部31は、運用者が使用する運用者端末5等に通知してもよく、あるいはアップデート対象であるデバイス1自体に通知してもよい。
制御部31は、運用者から推論モデル121の更新要求を受け付ける(ステップS84)。制御部31は、更新要求があったか否かを判定する(ステップS85)。更新要求がなかったと判定した場合(S85:NO)、制御部31は一連の処理を終了する。更新要求があったと判定した場合(S85:YES)、制御部31は、最新モデル用パラメータ341をデバイス1に送信する(ステップS86)。デバイス1のセキュアエレメント20は、当該パラメータを取得して記憶部24に格納し(ステップS87)、一連の処理を終了する。
最新モデル用パラメータ341を送信した後(ステップS86)、サーバ3の制御部31は、推論モデル121の更新に伴うアップデート料金の支払いを運用者に対して請求する請求処理を実行する(ステップS88)。例えばサーバ3は、動作管理DB342において、デバイスIDと対応付けて運用者の情報、支払方法等を格納しておく。サーバ3は、当該支払方法に従って、例えばクレジット会社のサーバ装置等に対し、顧客(運用者)、支払額等を示す請求通知を送信する。制御部31は、一連の処理を終了する。
以上より、本実施の形態4によれば、サーバ3は、セキュアエレメント20からバージョン情報241cを取得し、バージョン情報241cに応じてデバイス1の推論モデル121が最新モデルに更新済みであるか否かを判定し、更新済みでないと判定した場合、デバイス1の運用者に更新を行うか否かを確認するアップデート通知を行う。サーバ3は、運用者から更新すべき旨の更新要求を受け付けた場合、最新モデル用パラメータ341をデバイス1のセキュアエレメント20に送信する。また、最新モデル用パラメータ341を送信する場合、サーバ3は、更新の対価であるアップデート料金を運用者に請求する請求処理を実行する。これにより、推論モデル121を生成するために投入したコンピュータリソースの投入コストを補うことができ、商業的、実務的な面で本システムの実際的な運用を実現することができる。
なお、上記では推論モデル121の更新をデータ配信により行っているが、本実施の形態はこれに限定されるものではない。例えばセキュアエレメント20が着脱自在なUICC等のチップである場合、推論モデル121の更新は、新規のセキュアエレメント20を発行することで行ってもよい。例えばサーバ3は、デバイス1の運用者に対してアップデート通知を行い、アップデート料金の支払いを受けた場合、最新モデル用パラメータ341を格納したセキュアエレメント20を発行するよう、セキュアエレメント20の発行者に通知する。例えばサーバ3は、顧客(運用者)の情報、バージョン情報、及び発行を許可する旨の許可情報を、発行者のサーバ又はその他の装置に送信する。上記の構成であっても、データ配信を行う場合と同様の効果を奏する。
(実施の形態5)
図14は、上述した形態のIoTシステムの動作を示す機能ブロック図である。制御部11がプログラムP1を実行することにより、デバイス1は以下のように動作する。実行部141は、演算処理を実行する。セキュア部142は、該実行部141よりもセキュアなコンポーネントであって、機械学習により生成された学習済みモデルを展開するためのパラメータを格納する。実行部141は、前記セキュア部142から前記パラメータを取得し、取得した前記パラメータに基づき、前記学習済みモデルをメモリ上に展開し、展開した前記学習済みモデルに基づいて演算処理を実行する。
また、制御部31がプログラムP2を実行することにより、サーバ3は以下のように動作する。動作状況取得部143は、前記セキュア部142から、前記学習済みモデルに基づく前記デバイス1の動作状況に関する情報と、該デバイス1の識別情報とを取得する。記憶部144は、前記動作状況に関する情報を、前記識別情報と対応付けて記憶する。
本実施の形態5は以上の如きであり、その他は実施の形態1から4と同様であるので、対応する部分には同一の符号を付してその詳細な説明を省略する。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
1 デバイス
10 デバイス本体
121 推論モデル(学習済みモデル)
20 セキュアエレメント(セキュア部)
241 推論モデル用パラメータ
3 サーバ(管理装置)
341 最新モデル用パラメータ
342 動作管理DB

Claims (5)

  1. 演算処理を実行する実行部と、
    該実行部とは物理的又は論理的に分離され、前記実行部よりもセキュアであり外部からの攻撃に対して耐タンパ性を有するコンポーネントであって、機械学習により生成された学習済みモデルを展開するためのパラメータを格納するセキュア部と
    を備え、
    前記パラメータは、前記機械学習を行うために手動設定された設定値であり前記学習済みモデルの基本構造を特定可能な第1パラメータと、前記学習済みモデルにおける学習値である第2パラメータとを含み、
    前記実行部は、
    前記セキュア部から前記パラメータを取得し、
    取得した前記第1パラメータに基づき前記学習済みモデルの基本構造を決定し、前記第2パラメータを適用することで前記学習済みモデルを前記実行部内のメモリ上に展開し、
    展開した前記学習済みモデルに基づいて演算処理を実行する
    ことを特徴とするデバイス。
  2. 前記セキュア部は、前記実行部が処理を実行する実行環境とは異なる仮想領域であって、前記実行環境よりもセキュアなトラステッド実行環境であり、
    前記実行部は、前記トラステッド実行環境から取得した前記パラメータに基づき、前記実行環境に前記学習済みモデルを展開する
    ことを特徴とする請求項1に記載のデバイス。
  3. 外部からの攻撃に対して耐タンパ性を有するセキュアエレメントを搭載したコンピュータに、
    機械学習により生成された学習済みモデルを展開するためのパラメータを格納する前記セキュアエレメントから、前記パラメータを取得し、
    取得した前記パラメータに基づき、前記学習済みモデルを展開し、
    展開した前記学習済みモデルに基づいて演算を行う
    処理であって、
    前記パラメータは、前記機械学習を行うために手動設定された設定値であり前記学習済みモデルの基本構造を特定可能な第1パラメータと、前記学習済みモデルにおける学習値である第2パラメータとを含み、
    前記第1パラメータに基づき前記学習済みモデルの基本構造を決定し、前記第2パラメータを適用することで前記学習済みモデルをメモリ上に展開する
    処理を実行させることを特徴とするプログラム。
  4. 機械学習により生成された学習済みモデルを展開するためのパラメータを、該学習済みモデルに基づく演算処理を実行する実行環境よりもセキュアであり外部からの攻撃に対して耐タンパ性を有するトラステッド実行環境に格納し、
    該トラステッド実行環境から前記パラメータを取得し、
    取得した前記パラメータに基づき、前記実行環境に前記学習済みモデルを展開し、
    展開した前記学習済みモデルに基づいて演算を行う
    処理であって、
    前記パラメータは、前記機械学習を行うために手動設定された設定値であり前記学習済みモデルの基本構造を特定可能な第1パラメータと、前記学習済みモデルにおける学習値である第2パラメータとを含み、
    前記第1パラメータに基づき前記学習済みモデルの基本構造を決定し、前記第2パラメータを適用することで前記学習済みモデルを前記実行環境に展開する
    処理をコンピュータに実行させることを特徴とするプログラム。
  5. 演算処理を実行する実行部と、該実行部とは物理的又は論理的に分離され、前記実行部よりもセキュアであり外部からの攻撃に対して耐タンパ性を有するコンポーネントであって、機械学習により生成された学習済みモデルを展開するためのパラメータを格納するセキュア部とを備えたデバイスにあって、
    前記パラメータは、前記機械学習を行うために手動設定された設定値であり前記学習済みモデルの基本構造を特定可能な第1パラメータと、前記学習済みモデルにおける学習値である第2パラメータとを含み、
    前記実行部が、
    前記セキュア部から前記パラメータを取得し、
    取得した前記第1パラメータに基づき前記学習済みモデルの基本構造を決定し、前記第2パラメータを適用することで前記学習済みモデルを前記実行部内のメモリ上に展開し、
    展開した前記学習済みモデルに基づいて演算を行う
    処理を実行することを特徴とする情報処理方法。
JP2021175553A 2017-12-04 2021-10-27 デバイス、プログラム及び情報処理方法 Active JP7419325B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021175553A JP7419325B2 (ja) 2017-12-04 2021-10-27 デバイス、プログラム及び情報処理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017232691A JP7052325B2 (ja) 2017-12-04 2017-12-04 デバイス、セキュアエレメント、プログラム、情報処理システム及び情報処理方法
JP2021175553A JP7419325B2 (ja) 2017-12-04 2021-10-27 デバイス、プログラム及び情報処理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017232691A Division JP7052325B2 (ja) 2017-12-04 2017-12-04 デバイス、セキュアエレメント、プログラム、情報処理システム及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2022009575A JP2022009575A (ja) 2022-01-14
JP7419325B2 true JP7419325B2 (ja) 2024-01-22

Family

ID=66973780

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017232691A Active JP7052325B2 (ja) 2017-12-04 2017-12-04 デバイス、セキュアエレメント、プログラム、情報処理システム及び情報処理方法
JP2021175553A Active JP7419325B2 (ja) 2017-12-04 2021-10-27 デバイス、プログラム及び情報処理方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017232691A Active JP7052325B2 (ja) 2017-12-04 2017-12-04 デバイス、セキュアエレメント、プログラム、情報処理システム及び情報処理方法

Country Status (1)

Country Link
JP (2) JP7052325B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021005846A (ja) * 2019-06-27 2021-01-14 オリンパス株式会社 積層型撮像デバイス、撮像装置、撮像方法、学習方法及び画像読み出し回路
JP7006954B2 (ja) * 2019-09-22 2022-01-24 株式会社リョーワ 良否判定システム、サーバ及び良否判定方法
DE112020005424T5 (de) 2020-01-07 2022-09-01 Mitsubishi Electric Corporation Informationsverarbeitungseinrichtung, informationsverarbeitungsverfahren und informationsverarbeitungsprogramm

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176583A (ja) 2009-01-30 2010-08-12 Dainippon Printing Co Ltd 情報処理装置、情報処理方法、情報処理プログラム及び情報処理システム
JP2016523402A (ja) 2013-05-30 2016-08-08 プレジデント アンド フェローズ オブ ハーバード カレッジ ベイズの最適化を実施するためのシステムおよび方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003065225A1 (fr) * 2002-01-31 2003-08-07 Matsushita Electric Industrial Co., Ltd. Dispositif de memoire, appareil terminal et systeme de reparation de donnees
CN103761263A (zh) * 2013-12-31 2014-04-30 武汉传神信息技术有限公司 向用户推荐信息的方法
JP6422059B2 (ja) * 2015-07-31 2018-11-14 パナソニックIpマネジメント株式会社 処理装置、車載端末装置、処理装置の起動方法、及び処理装置の起動プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176583A (ja) 2009-01-30 2010-08-12 Dainippon Printing Co Ltd 情報処理装置、情報処理方法、情報処理プログラム及び情報処理システム
JP2016523402A (ja) 2013-05-30 2016-08-08 プレジデント アンド フェローズ オブ ハーバード カレッジ ベイズの最適化を実施するためのシステムおよび方法

Also Published As

Publication number Publication date
JP7052325B2 (ja) 2022-04-12
JP2022009575A (ja) 2022-01-14
JP2019101807A (ja) 2019-06-24

Similar Documents

Publication Publication Date Title
JP7419325B2 (ja) デバイス、プログラム及び情報処理方法
JP6655762B2 (ja) 機械学習モデル不正検知システム及び不正検知方法
CN110912712B (zh) 基于区块链的业务操作风险认证方法和系统
US20210091960A1 (en) Tracking and verification of physical assets
US11917074B2 (en) Electronic signature authentication system based on biometric information and electronic signature authentication method
JP2019121141A (ja) デバイス、セキュアエレメント、プログラム、情報処理システム及び情報処理方法
CN113487042B (zh) 一种联邦学习方法、装置及联邦学习系统
GB2581315A (en) Secure data communication
CN109614769A (zh) 按照参考平台清单和数据封装的安全操作系统启动
US11356243B2 (en) Information management system with blockchain authentication
CN111222865A (zh) 资源数据转移方法、装置、存储介质和计算机设备
CN114207613A (zh) 用于激励式入侵检测系统的技术
JP6954084B2 (ja) デバイス、セキュアエレメント、プログラム、情報処理方法及び情報処理システム
KR101876672B1 (ko) 블록 체인을 이용한 전자 서명 방법 및 이를 실행하는 시스템
CN113205342A (zh) 基于多端支付的用户身份验证方法及装置
GB2567715A (en) Authentication system, method and program
KR20220106619A (ko) 하드웨어 보안 아키텍쳐를 이용하여 연합 학습을 수행하는 전자 장치 및 이를 이용한 연합 학습 방법
US11693991B2 (en) Checking the integrity of an electronic device
CN110826034B (zh) 一种文件签名方法、装置、电子设备及可读存储介质
CN115345729A (zh) 信用卡的发卡方法、装置、电子设备及存储介质
JP4749017B2 (ja) 擬似生体認証システム、及び擬似生体認証方法
US11954215B1 (en) System and method for security suite concatenating validation elements for blockchain binding operations
US20210399887A1 (en) Secure Bio Signature
EP3868068B1 (en) Distributing analysis models
WO2024042583A1 (ja) 情報処理装置、aiモデル認証システム、aiモデル認証方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230602

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230612

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20230623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240110

R150 Certificate of patent or registration of utility model

Ref document number: 7419325

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150