JP2023154299A - Secure component, device, execution platform, and process execution management method - Google Patents
Secure component, device, execution platform, and process execution management method Download PDFInfo
- Publication number
- JP2023154299A JP2023154299A JP2022063547A JP2022063547A JP2023154299A JP 2023154299 A JP2023154299 A JP 2023154299A JP 2022063547 A JP2022063547 A JP 2022063547A JP 2022063547 A JP2022063547 A JP 2022063547A JP 2023154299 A JP2023154299 A JP 2023154299A
- Authority
- JP
- Japan
- Prior art keywords
- execution
- secure component
- constraint
- platform
- verification
- 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
- 238000000034 method Methods 0.000 title claims abstract description 235
- 230000008569 process Effects 0.000 title claims abstract description 218
- 238000007726 management method Methods 0.000 title claims abstract description 56
- 238000012795 verification Methods 0.000 claims abstract description 91
- 238000004891 communication Methods 0.000 claims description 126
- 238000012790 confirmation Methods 0.000 claims description 49
- 230000006870 function Effects 0.000 claims description 30
- 238000012546 transfer Methods 0.000 claims description 8
- 230000006399 behavior Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101000686031 Homo sapiens Proto-oncogene tyrosine-protein kinase ROS Proteins 0.000 description 1
- 102100023347 Proto-oncogene tyrosine-protein kinase ROS Human genes 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
Description
本発明は、セキュアコンポーネント、デバイス、実行基盤及びプロセス実行管理方法に関する。 The present invention relates to a secure component, a device, an execution infrastructure, and a process execution management method.
近年、機械学習と連動させた自動運転技術、二足歩行ロボット、ドローン等、ロボティクス技術に基づくロボットの自動制御の社会浸透が進展している。ロボティクス用の汎用ミドルウェアとしてROS(Robot Operating System)が最も勢力を拡大していると言える。特許文献1には、ROSアークテクチャに基づいて情報を統合・共有する分散システムが開示されている。
In recent years, automatic control of robots based on robotics technology, such as automatic driving technology linked to machine learning, bipedal robots, and drones, has become more prevalent in society. It can be said that ROS (Robot Operating System) is the most popular general-purpose middleware for robotics.
一方で、ロボティクス技術の社会浸透を進める際の大きな課題として、セキュリティが挙げられる。ROS1の後継であるROS2では、DDS(Data Distribution Service)に組み込まれているセキュリティ機構を利用し、各コンポーネントの認証や暗号化が実施されている。さらに昨今では、ロボティクスのセキュリティメカニズムに対して、ハードウェアセキュリティコンポーネントの適用が議論されている。 On the other hand, security is a major issue in promoting the penetration of robotics technology into society. ROS2, which is the successor to ROS1, utilizes a security mechanism built into DDS (Data Distribution Service) to perform authentication and encryption of each component. Furthermore, recently, the application of hardware security components to robotics security mechanisms has been discussed.
現状のロボティクスシステムにおける鍵管理システムでは、全プロセス(Node)の鍵(例えば、公開鍵ペア、秘密鍵)が、同一のファイルシステム上に存在するため、各プロセスは他のプロセスの鍵にアクセスすることが可能である。このため、OSレベルで鍵へのアクセス制限を設定するのが一般的である。しかし、ROSのようなオープンソースソフトウェア(OSS)のエコシステム上では、ロボット内のソフトウェア提供者(参加者)は多様化する。一方で、ソフトウェア提供者の全てが信頼できるとは限らず、また信頼できるソフトウェア提供者であっても、独自実装によるプロセスの振る舞いが問題となる場合がある。 In the current key management system in robotics systems, the keys (e.g., public key pair, private key) of all processes (Nodes) exist on the same file system, so each process has access to the keys of other processes. Is possible. For this reason, it is common to set access restrictions to keys at the OS level. However, in an open source software (OSS) ecosystem such as ROS, the software providers (participants) within the robot become diverse. On the other hand, not all software providers are reliable, and even if the software provider is reliable, the behavior of processes caused by proprietary implementations may pose problems.
本発明は、斯かる事情に鑑みてなされたものであり、システムの各参加者が実装するプロセスの振る舞いを制御できるセキュアコンポーネント、デバイス、実行基盤及びプロセス実行管理方法を提供することを目的とする。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a secure component, a device, an execution infrastructure, and a process execution management method that allow each participant in a system to control the behavior of a process implemented. .
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、セキュアコンポーネントは、実行基盤が稼動するデバイスに搭載されるセキュアコンポーネントであって、前記実行基盤上で動作するプロセスから前記プロセスに課される実行制約を取得する取得部と、取得した実行制約を検証する検証部と、実行制約の検証結果を前記実行基盤へ出力する出力部とを備える。 The present application includes a plurality of means for solving the above problems, and to give one example, a secure component is a secure component installed in a device on which an execution platform operates, and a process that operates on the execution platform. The apparatus includes an acquisition unit that acquires an execution constraint imposed on the process from the process, a verification unit that verifies the acquired execution constraint, and an output unit that outputs a verification result of the execution constraint to the execution platform.
本発明によれば、システムの各参加者が実装するプロセスの振る舞いを制御できる。 According to the present invention, the behavior of processes implemented by each participant in the system can be controlled.
以下、本発明をその実施の形態を示す図面に基づいて説明する。図1はプロセス管理システムの構成の一例を示す図である。プロセス管理システムは、デバイス(IoTデバイス)100、セキュアコンポーネント管理サーバ200、モータメーカ管理サーバ300、及び制御プログラム管理サーバ400を備える。デバイス100は、セキュアコンポーネントを搭載し、センサ61、モータ62等の機器を制御する機能を有する。デバイス100は、ロボティクス(システム)のセキュリティメカニズムに対してハードウェア・セキュリティ・コンポーネントとしての一要素であることが想定されている。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below based on drawings showing embodiments thereof. FIG. 1 is a diagram showing an example of the configuration of a process management system. The process management system includes a device (IoT device) 100, a secure
セキュアコンポーネント管理サーバ200は、セキュアコンポーネントを開発・製造したメーカが運営する、セキュアコンポーネントを遠隔管理可能なサーバである。モータメーカ管理サーバ300は、デバイス100内のモータ62、及びモータ制御用プロセス(Node03)を開発・製造したメーカが管理するサーバである。制御プログラム管理サーバ400は、デバイス100内で、他のプロセスとの連携動作を制御するプロセス(Node02)を開発・製造したメーカが管理するサーバである。
The secure
デバイス100内には、後述の通り3つのプロセスが動作しているが、各プロセスを開発・製造したメーカが個々にサーバを持ち、一定の制約下でプロセスはサーバと通信を行う構成になっている。なお、センサ61及びセンサ制御用プロセス(Node01)を開発・製造したメーカは自らサーバを運営しておらず、セキュアコンポーネント開発メーカに鍵管理を委任するという構成にしている。これは製造メーカが遠隔管理を能動的に実施しない場合や、プロセス提供元がオープンソースソフトウェア(OSS)コミュニティの場合などに採用される構成である。
There are three processes operating in the
デバイス100は、プロセス10(センサ制御用Node01)、署名付Node01実行制約11、プロセス20(全体制御用Node02)、署名付Node02実行制約21、プロセス30(モータ制御用Node03)、署名付Node03実行制約31、実行基盤40、セキュアコンポーネント50、センサ61、及びモータ62を備える。
The
セキュアコンポーネント50は、各プロセスの実行制約を検証する、耐タンパ性を有するコンポーネントである。セキュアコンポーネント50は、ソフトウェア、ハードウェアいずれの形態で実装されていてもよい。セキュアコンポーネント50は、専用のI/F(インタフェース)を介して実行基盤40と通信できる。
The
センサ61は、デバイス100が搭載しているセンサであり、本実施形態では、プロセス10(Node01)を開発したメーカによって製造されている。
The
モータ62は、デバイス100が搭載しているモータであり、本実施形態では、プロセス30(Node03)を開発したメーカによって製造されている。モータ62に代えて、他のアクチュエータを搭載してもよい。
The
実行基盤40は、デバイス100上のプロセス実行、実行権限制御、およびデバイス通信等のハードウェア制御を行う基本ソフトウェアである。実行基盤40は、OS(Operating System)、OS上で実行されるミドルウェア、あるいはDocker(商標)、Kubernetes(商標)のようなコンテナ基盤でもよい。
The
プロセス10、20、30は、デバイス100上で、連携して機能実現を行うプロセスである。プロセスは、ソフトウェアモジュールでもよい。Node01はセンサ制御(例えば、センサ値の読み出し)、Node03はモータ制御(例えば、アクチュエータの駆動)、Node02
は全体制御を行うプロセスとして構成され、各Nodeが通信することで機能実現する。プロセス10、20、30は、実行基盤40上で実行される処理の単位である。本実施形態では、プロセス10、20、30は、OS上で実行されるプログラムのインスタンスを想定しているが、コンテナ基盤を実行基盤とする場合はコンテナが相当する。
The
is configured as a process that performs overall control, and functions are realized by communication between each node. The
署名付き実行制約11、21、31は、各プロセスに紐づけられた実行制約に対し、各メーカが保持する秘密鍵により署名を施したものであり、プロセスとともに添付、配布される。実行制約の規定内容は、例えば、内部通信、外部通信、使用デバイスとすることができる。内部通信は、デバイス100内で通信可能なプロセス(Node)を指定する。実行制約で指定されていないプロセスとは通信できない。外部通信は、デバイス100外と通信が許可されているか否かを指定する。実行制約で許可されている場合は通信を許可するドメインまたはホスト名が指定される。使用デバイスは、デバイス100内で制御を許可されているデバイスを指定する。
The signed
図1の例では、プロセス10の実行制約は、内部通信がNode02であり、外部通信がなし、使用デバイスがセンサの如く指定されている。プロセス20の実行制約は、内部通信がNode01、及びNode03であり、外部通信がControllerMaker(制御プログラム管理サーバ400)、使用デバイスがなしの如く指定されている。プロセス30の実行制約は、内部通信がNode02であり、外部通信がMotorMaker(モータメーカ管理サーバ300)、使用デバイスがモータの如く指定されている。なお、プロセスの実行制約は、図1の例に限定されない。
In the example of FIG. 1, the execution constraints of the
各プロセスは、メーカにて開発時に、メーカの設計意図、セキュリティポリシーに応じて実行制約が規定される。実行制約は、署名を付されプロセスとともに配布される。各プロセスは、それぞれの実行制約に従って動作することが期待され、システムの各参加者が実装するプロセスの振る舞いを制御できる。実行制約に対する署名は、実行制約のデータに対して秘密鍵を用いて署名を行うことで生成される。署名方式は、例えば、ECDSA(Elliptic Curve Digital Signature Algorithm)等、一般に用いられている方式でよい。 When each process is developed by a manufacturer, execution constraints are defined according to the manufacturer's design intent and security policy. Execution constraints are signed and distributed with the process. Each process is expected to operate according to its own execution constraints, and each participant in the system can control the behavior of the processes it implements. A signature for an execution constraint is generated by signing the execution constraint data using a private key. The signature method may be a commonly used method such as ECDSA (Elliptic Curve Digital Signature Algorithm).
セキュアコンポーネント50は、秘匿通信部51、実行制約検証部52、及び実行制約テーブル53を備える。
The
秘匿通信部51は、セキュアコンポーネント50がセキュアコンポーネント管理サーバ200と直接秘匿通信をする機能を有する。
The
実行制約検証部52は、デバイス100上のプロセス10、20、30から、実行基盤40経由で署名付き実行制約11、21、31を受信した上で検証を行う機能を有する。実行制約検証部52は、自身又はセキュアコンポーネント50が保持する各Nodeの公開鍵(Node01公開鍵、Node02公開鍵、Node03公開鍵)を用いて署名を検証し、かつ実行制約テーブル53と照合することで、当該実行制約の正当性を検証する。
The execution
実行制約テーブル53は、公開鍵にて行う署名検証に加えて、各プロセスの実行制約に特段の制限を設ける場合に用いられるテーブルである。実行制約テーブル53は、Nodeごとに制約確認事項の有無を指定している。図1の例では、Node01、Node02は制約確認事項があり、Node03は制約確認事項がなし、となっている。Node01確認事項531は、内部通信がNode02のみ、外部通信が禁止、使用デバイスがセンサ以外使用禁止となっている。また、Node02確認事項532は、内部通信が特になし、外部通信がControllerMakerのみ、使用デバイスが使用禁止となっている。なお、制約確認事項は一例であって、図1の例に限定されない。実行制約テーブル53は、各プロセス10、20、30に対して順守すべき実行制約を、セキュアコンポーネント50側で定義するために使うデータ構造である。本実施形態では、プロセスごとに確認事項の有無を示したテーブルと、プロセスごとの具体的な確認事項を示したテーブルの2つから構成されているが、このような構成に限定されるものではない。
The execution constraint table 53 is a table used to set special constraints on the execution constraints of each process in addition to signature verification performed using a public key. The execution constraint table 53 specifies the presence or absence of constraint confirmation items for each node. In the example of FIG. 1, Node01 and Node02 have constraint confirmation items, and Node03 has no constraint confirmation items. The
セキュアコンポーネント50は、実行基盤40に対して独立し、かつ通信路経由で実行基盤40及びプロセス10、20、30と通信できる、という2点を満たしていれば、ハードウェア実装(例えば、セキュアエレメント、TPM:トラステッド・プラットフォーム・モジュール)でもソフトウェア実装(例えば、トラステッド実行環境)でもよい。本実施例では、セキュアコンポーネント50は、外付けセキュアエレメントであるとして説明する。
If the
実行基盤40は、ネットワークI/F41、セキュアコンポーネントI/F42、プロセス間通信I/F43、及びデバイスアクセスI/F44を備える。
The
ネットワークI/F41は、デバイス100外のセキュアコンポーネント管理サーバ200、モータメーカ管理サーバ300、及び制御プログラム管理サーバ400とネットワーク経由で通信を行う際のインタフェースである。ネットワークI/F41は、例えば、TCP/IP(Transmission Control Protocol / Internet Protocol)通信を提供するSocket APIなどが相当する。
The network I/
セキュアコンポーネントI/F42は、デバイス100に内蔵されたセキュアコンポーネント50と通信するためのインタフェースである。セキュアコンポーネントI/F42は、例えば、PC/SC(Personal Computer/Smart Card) APIなどが相当する。
The secure component I/
プロセス間通信I/F43は、実行基盤40上のプロセスがお互いに通信するためのインタフェースである。プロセス間通信I/F43は、例えば、パイプ、ブローカ(各プロセスからpublish/subscribeを受け付けるインタフェース)が相当する。
The inter-process communication I/
デバイスアクセスI/F44は、デバイス100に搭載されているセンサ61、モータ62(アクチュエータ)を制御するためのインタフェースである。デバイスアクセスI/F44は、例えば、SPI(Serial Peripheral Interface)やI2C(Inter-Integrated Circuit)のドライバなどが相当する。
The device access I/
実行基盤40は、その上で動くプロセスに対して、ネットワーク、ハードウェア、セキュリティコンポーネントを使用するためのインタフェースを提供する。各インタフェースは、実行基盤40から制御を受けており、実行基盤40からの明示的な許可がない限りプロセスから利用できないようになっている。各プロセスが各インタフェースを使用する場合、通信先の相手を特定した上で、通信元-通信先の組み合わせについて実行基盤40から明示的な許可を受けることで初めて利用可能になる。実行基盤40は、例えば、狭義のOS(Windows、Linux(登録商標)等)、ロボッティクスフレームワーク(ROS等)のようなミドルウェア、DockerやKubernetesのようなコンテナ実行基盤などを含む。
セキュアコンポーネント管理サーバ200は、署名生成部210、秘匿通信部220、Node01実行制約230、及びNode01確認事項240を備える。
The secure
署名生成部210は、自身が保持する秘密鍵を用いて、プロセスに対して署名付き実行制約を生成する。
The
秘匿通信部220は、秘匿通信鍵を用いて、セキュアコンポーネント50と直接秘匿通信路を開設する機能を有する。Node01実行制約230、及びNode01確認事項240は、デバイス100内の署名付きNode01実行制約11、及びセキュアコンポーネント50内のNode01確認事項531の内容と同様である。
The
本実施形態では、セキュアコンポーネント管理サーバ200は、センサ製造元からセンサ制御用プロセス(Node01)の秘密鍵を受領し、Node01に対する署名付きNode01実行制約11を生成する機能を担っている。署名生成部210が、Node01に対する署名付きNode01実行制約11を生成する。
In this embodiment, the secure
モータメーカ管理サーバ300は、署名生成部310、及びNode通信部320を備える。制御プログラム管理サーバ400は、署名生成部410、及びNode通信部420を備える。
The motor manufacturer management server 300 includes a
署名生成部310、410は、自身が保持する秘密鍵を用いて、プロセスに対して署名付き実行制約を生成する機能を有する。署名生成部310、410の機能は、セキュアコンポーネント管理サーバ200の署名生成部210と同一である。Node02(全体制御用)の開発メーカや、Node03(モータ制御用)の開発メーカは、自身の秘密鍵を自ら管理し、新たな署名付き実行制約が必要となった場合、それぞれ自信の秘密鍵をもとに自ら署名を行ってプロセスに添付する。
The
Node通信部320、420は、デバイス100内の対応するプロセスと通信するための機能を有する。Node通信部320、420は、デバイス100内の各Nodeとの通信を実現する機能を有し、その機能は、デバイス100の用途などによって異なる。
The
デバイス100に搭載されているハードウェア、ソフトウェアメーカの一部は、自ら、モータメーカ管理サーバ300や制御プログラム管理サーバ400などの各メーカの管理サーバを構築し、デバイス100と通信する手段を具備している。これにより、メーカの一部は、デバイス100上のプロセスを管理することができる。
Some of the hardware and software manufacturers installed in the
プロセス管理システムでは、Node秘密鍵、Node公開鍵、Node通信鍵、秘匿通信鍵などの鍵情報を使用する。Node秘密鍵は、プロセスに対する署名付き実行制約を新たに生成するための署名生成鍵である。各メーカが公開鍵ペアとしてNode公開鍵とともに生成する。秘密鍵は各メーカが保持し秘匿する。 The process management system uses key information such as Node private key, Node public key, Node communication key, and secret communication key. The Node private key is a signature generation key for newly generating a signed execution constraint for a process. Each manufacturer generates a public key pair along with the Node public key. The private key is held and kept secret by each manufacturer.
Node公開鍵は、セキュアコンポーネント50に入力された署名付き実行制約を検証するための署名検証鍵である。各メーカが公開鍵ペアとしてNode秘密鍵とともに生成し、公開鍵のみをセキュアコンポーネント50に予め書き込んでおく。
The Node public key is a signature verification key for verifying the signed execution constraint input to the
Node通信鍵は、各メーカの管理サーバと各メーカが開発したプロセスがネットワーク通信するための鍵である。Node通信鍵は、公開鍵ペアでも共通鍵でもよいが、各メーカの管理サーバ、セキュアコンポーネント50、各メーカのプロセス以外には秘匿すべき値として取り扱われる。本実施形態において、Node通信鍵は、「セキュアコンポーネント50内に格納され、対応するプロセスの中だけで安全に使用されるクレデンシャル」を表現するための代表例として定義している。
The Node communication key is a key for network communication between each manufacturer's management server and the processes developed by each manufacturer. The Node communication key may be a public key pair or a common key, but it is treated as a value that should be kept secret from all parties other than each manufacturer's management server,
秘匿通信鍵は、セキュアコンポーネント50がセキュアコンポーネント管理サーバ200と独立した秘匿通信路を開設するために用いる鍵である。
The secret communication key is a key used by the
本実施形態のプロセス管理システムの基本的なユースケースは、以下の3つを含む。
(1)プロセスが署名付き実行制約を提示して検証を受け、実行基盤40上で制約を受けながら動作する(ネットワークを用いた外部通信を行う場合でも、通信相手を実行制約に指定して検証を受ける)
(2)開発・製造メーカが署名付き実行制約を更新する
(3)セキュアコンポーネント50の内部情報を更新する
以降、これらを順に説明する。
The basic use cases of the process management system of this embodiment include the following three.
(1) A process presents a signed execution constraint, receives verification, and operates while being constrained on the execution platform 40 (even when performing external communication using a network, the communication partner is specified as an execution constraint and verified). )
(2) The developer/manufacturer updates the signed execution constraint. (3) Updates the internal information of the
図2は外部通信がない場合の署名付き実行制約に対する検証を示す図である。実行基盤40上で動作するプロセスは、具体的な動作に先立ち、実行基盤40経由でセキュアコンポーネント50に対して署名付き実行制約の検証を受ける。ここでは、Node01に対する署名付き実行制約の検証フローを例示する。Node01は外部との通信を行わず、Node02およびセンサ61との通信のみを行うプロセスである。以下、図中の各処理を#1~#10として説明する。
FIG. 2 is a diagram showing verification of signed execution constraints when there is no external communication. Before a process running on the
#1(署名付き実行制約の読み出し):プロセス10は、自身が有している署名付きNode01実行制約11を読み出す。
#1 (Reading of signed execution constraints): The
#2(セキュアコンポーネントI/Fの呼び出し):プロセス10は、署名付きNode01実行制約11を実行基盤40が提供しているセキュアコンポーネントI/F42に渡し、実行制約の検証を依頼する。
#2 (Call secure component I/F): The
#3(セキュアコンポーネントへの転送):実行基盤40は、署名付きNode01実行制約11をセキュアコンポーネント50に渡し、セキュアコンポーネント50の実行制約検証部52を呼び出す。
#3 (Transfer to secure component): The
#4(実行制約の署名検証):セキュアコンポーネント50は、受信した署名付きNode01実行制約11に対応するプロセス10の公開鍵を読み出し、読み出した公開鍵を用いて署名付きNode01実行制約11の署名検証を行う。署名検証に失敗した場合は、ここで処理を終了して検証失敗を実行基盤40に伝達し、実行基盤40はプロセス10を動作させない。署名検証に成功した場合は次の#5の処理に進む。
#4 (Signature verification of execution constraint): The
#5(制約確認事項の有無のチェック):セキュアコンポーネント50は、自身の実行制約テーブル53を参照し、検証対象のプロセスに対する制約確認事項の有無を確認する。図2の例では、Node01に対する制約確認事項が存在するので、制約確認事項の内容を確認する。
#5 (Checking whether there are any constraint confirmation items): The
#6(制約確認事項の確認):セキュアコンポーネント50は、Node01に対するNode01確認事項531を照合し、署名付きNode01実行制約11の内容がNode01確認事項531の内容と合致しているか否かを確認する。図2の例では、(1)内部通信はNode02以外禁止、(2)外部通信は禁止、(3)使用デバイスはセンサ以外使用禁止の3条件が全て満たされているため、署名付きNode01実行制約11の内容はNode01確認事項531の内容と合致していると判定される。合致していない場合は、ここで処理を終了して検証失敗を実行基盤40に伝達し、実行基盤40はプロセス10を動作させない。合致した場合は次の#7の処理に進む。
#6 (Confirmation of constraint confirmation items): The
#7(実行基盤への結果返送):セキュアコンポーネント50は、実行制約検証結果を実行基盤40に返送する。
#7 (result return to execution platform): The
#8(各I/Fに対する通信許可):実行基盤40は、実行制約検証が成功した場合、検証を要求したプロセス10に対して、実行制約に対応したI/Fの利用を許可する。図2の例では、(1)プロセス間通信I/F43に、Node01とNode02との通信を許可し、かつ(2)デバイスアクセスI/F44に、Node01からセンサ61を利用できるよう許可する。
#8 (Communication permission for each I/F): If the execution constraint verification is successful, the
#9(プロセスへの結果返送):実行基盤40は、実行制約検証結果をプロセス10に返送する。
#9 (result return to process): The
#10(許可された通信とデバイスアクセスを実施):プロセス10は、実行制約に基づき、Node02(プロセス20)との通信を開始するとともに、センサ61に対してアクセスを行い、定められた機能を実行する。
#10 (Performs authorized communication and device access):
図3は外部通信がある場合の署名付き実行制約に対する検証を示す図である。図2の例では、Node01は外部サーバとの通信は不要であり、セキュアコンポーネント50内の秘密情報(通信鍵)の利用も不要であった。一方、外部サーバとの通信をセキュアコンポーネント50内の秘密情報をもとに行うプロセスに対しては、当該情報をプロセスに出力しつつ、ネットワークI/F41の利用を許可することで外部通信を可能にできる。当該動作を行うNode02の実行制約検証に関する各処理を#1~#12として説明する。
FIG. 3 is a diagram showing verification of signed execution constraints when there is external communication. In the example of FIG. 2, Node01 does not need to communicate with an external server, and does not need to use the secret information (communication key) within the
#1(署名付き実行制約の読み出し):プロセス20(Node02)は、自身が有している署名付きNode02実行制約21を読み出す。
#1 (Reading of signed execution constraints): The process 20 (Node02) reads its own signed
#2(セキュアコンポーネントI/Fの呼び出し):プロセス20は、署名付きNode02実行制約21を実行基盤40が提供しているセキュアコンポーネントI/F42に渡し、実行制約の検証を依頼する。
#2 (Call secure component I/F): The
#3(セキュアコンポーネントへの転送):実行基盤40は、署名付きNode02実行制約21をセキュアコンポーネント50に渡し、セキュアコンポーネント50の実行制約検証部52を呼び出す。
#3 (Transfer to secure component): The
#4(実行制約の署名検証):セキュアコンポーネント50は、受信した署名付きNode02実行制約21に対応するプロセス20の公開鍵を読み出し、読み出した公開鍵を用いて署名付きNode02実行制約21の署名検証を行う。署名検証に失敗した場合は、ここで処理を終了して検証失敗を実行基盤40に伝達し、実行基盤40はプロセス20を動作させない。署名検証に成功した場合は次の#5の処理に進む。
#4 (Signature verification of execution constraint): The
#5(制約確認事項の有無のチェック):セキュアコンポーネント50は、自身の実行制約テーブル53を参照し、検証対象のプロセスに対する制約確認事項の有無を確認する。図3の例では、Node02に対する制約確認事項が存在するので、制約確認事項の内容を確認する。
#5 (Checking whether there are any constraint confirmation items): The
#6(制約確認事項の確認):セキュアコンポーネント50は、Node02に対するNode02確認事項532を照合し、署名付きNode02実行制約21の内容がNode02確認事項532の内容と合致しているか否かを確認する。図3の例では、(1)内部通信に対する制約はない(すなわち、Node01、Node03との通信は可能)、(2)外部通信はControllerMakerのみ、(3)使用デバイスは使用禁止の3条件が全て満たされているため、署名付きNode02実行制約21の内容はNode02確認事項532の内容と合致していると判定される。合致していない場合は、ここで処理を終了して検証失敗を実行基盤40に伝達し、実行基盤40はプロセス20を動作させない。合致した場合は次の#7の処理に進む。
#6 (Confirmation of constraint confirmation items): The
#7(秘密情報の読み出し):セキュアコンポーネント50は、実行制約検証が成功となった場合、要求元プロセス20に紐づく秘密情報を読み出す。図3の例では、セキュアコンポーネント50は、Node02に対応したNode02通信鍵を秘密情報として読み出す。
#7 (Reading secret information): If the execution constraint verification is successful, the
#8(実行基盤への結果返送):セキュアコンポーネント50は、実行制約検証結果と、読み出した秘密情報(Node02通信鍵)を実行基盤40に返送する。
#8 (result return to execution platform): The
#9(各I/Fに対する通信許可):実行基盤40は、実行制約検証が成功した場合、検証を要求したプロセス20に対して、実行制約に対応したI/Fの利用を許可する。図3の例では、(1)プロセス間通信I/F43に、Node02とNode01、Node02とNode03との通信を許可し、かつ(2)ネットワークI/F41に、Node02からControllerMaker(制御プログラム管理サーバ400)への通信を許可するよう指示する。
#9 (Communication permission for each I/F): If the execution constraint verification is successful, the
#10(プロセスへの結果返送):実行基盤40は、実行制約検証結果と読み出した秘密情報(Node02通信鍵)をプロセス20に返送する。
#10 (result return to process): The
#11(許可された内部通信を実施):プロセス20は、実行制約に基づき、Node01(プロセス10)、Node03(プロセス30)とのプロセス間通信を開始する。
#11 (Perform permitted internal communication): The
#12(許可された外部通信を実施):プロセス20は、実行制約に基づき、読み出した秘密情報(Node02通信鍵)を元に、ネットワークI/F41を通し、外部のControllerMaker(制御プログラム管理サーバ400)と通信を行い、遠隔監視や遠隔管理等の機能を実現する。
#12 (Performing authorized external communication): Based on the execution constraints, the
上述のように、セキュアコンポーネント50の実行制約検証部52は、実行基盤40上で動作するプロセスから当該プロセスに課される実行制約を取得する取得部としての機能、取得した実行制約を検証する検証部としての機能、及び実行制約の検証結果を実行基盤40へ出力する出力部としての機能を備える。
As described above, the execution
これにより、システムの各参加者が実装するプロセスの振る舞いを制御できる。 This allows each participant in the system to control the behavior of the processes they implement.
より具体的には、セキュアコンポーネント50は、署名検証鍵(各Node公開鍵)を記憶する記憶部を備え、実行制約検証部52は、署名付き実行制約を取得し、署名検証鍵を用いて署名付き実行制約を検証する。
More specifically, the
また、セキュアコンポーネント50は、実行基盤40上で動作するプロセスに関する制約確認情報(実行制約テーブル53)を記憶する記憶部を備える。実行制約検証部52は、取得した実行制約と、実行制約が課されるプロセスに関する制約確認事項とに基づいて、実行制約を検証する。
The
このように、プロセスの動作条件として、プロセスが従う署名付き実行制約の提示を要求し、セキュアコンポーネント50にて検証することにより、プロセス製造元によって認められ、かつセキュアコンポーネント50が許容する実行制約に従ったプロセスであることを、セキュアコンポーネント50内で検証することで、実行制約確認行為に対する改ざんや攻撃を防止できる。また、システムの各参加者が実装するプロセスの振る舞いを制御できる。
In this way, by requesting the presentation of signed execution constraints that the process follows as a process operating condition and verifying them in the
上述の#9のように、ネットワークI/F41は、提供部としての機能を有し、取得した実行制約がプロセスによるデバイス100外との外部通信を許可してあり、当該実行制約の検証が成功した場合、外部通信に必要な情報及び機能の少なくとも1つを当該プロセスに提供することができる。また、ネットワークI/F41は、禁止部としての機能を有し、取得した実行制約がプロセスによるデバイス100外との外部通信を許可してあり、当該実行制約の検証が失敗した場合、当該プロセスによる外部通信を禁止することができる。また、上述の#9のように、プロセス間通信I/F43は、提供部としての機能を有し、取得した実行制約がプロセスによるデバイス100内のプロセス間通信を許可してあり、当該実行制約の検証が成功した場合、プロセス間通信に必要な情報及び機能の少なくとも1つを当該プロセスに提供することができる。また、プロセス間通信I/F43は、禁止部としての機能を有し、取得した実行制約がプロセスによるデバイス100内のプロセス間通信を許可してあり、当該実行制約の検証が失敗した場合、当該プロセスによるプロセス間通信を禁止することができる。通信に必要な情報は、例えば鍵情報を含み、通信に必要な機能は、通信に必要な認証演算等の機能を含む。
As in #9 above, the network I/
実行基盤40のセキュアコンポーネントI/F42は、転送部、取得部としての機能を有し、プロセスに課される実行制約を当該プロセスから取得してセキュアコンポーネント50へ転送し、実行制約の検証結果をセキュアコンポーネント50から取得する。実行基盤40のネットワークI/F41、プロセス間通信I/F43、及びデバイスアクセスI/F44は、制御部としての機能を有し、取得した検証結果に応じてプロセスの動作を制御することができる。
The secure component I/
また、本実施形態のプロセス実行管理方法において、プロセスは、実行基盤40を介して、当該プロセスに課される実行制約をセキュアコンポーネント50へ出力し、セキュアコンポーネント50は、当該実行制約を取得し、取得した実行制約を検証し、実行制約の検証結果を実行基盤40へ出力する。実行基盤40は、検証結果に応じて当該プロセスの動作を制御することができる。
Further, in the process execution management method of the present embodiment, the process outputs the execution constraints imposed on the process to the
このように、セキュアコンポーネント50が認めた実行制約を実行基盤40によってプロセスに強制させることにより、セキュアコンポーネント50単体では確保が困難な強制力を実行基盤40との連携により確保できる。また、システムの各参加者が実装するプロセスの振る舞いを制御できる。
In this way, by forcing the process to execute the execution constraints recognized by the
図4は実行制約の効果を示す図である。図2及び図3に例示した、署名付き実行制約を各プロセスに課すことで、例えば、(1)各プロセスに許可されていない実行制約を不正に付加することを禁止できる、(2)実行制約に許可されていない挙動をプロセスが行うことを防止できる、(3)プロセスとは独立して、セキュアコンポーネント50上で実行制約の検証を行うことができる、(4)各プロセス固有の秘密情報の拡散範囲を限定できる、等の利点が得られる。
FIG. 4 is a diagram showing the effect of execution constraints. By imposing the signed execution constraints illustrated in FIGS. 2 and 3 on each process, for example, (1) unauthorized addition of execution constraints that are not permitted to each process can be prohibited; (2) execution constraints; (3) Execution constraints can be verified on the
図4には、以下の4つの状況を図示している。すなわち、(1)Node01の実行制約が第三者によって(Node01秘密鍵を用いずに)不正に改ざんされた、(2)Node02の実行制約がNode02秘密鍵を用いているものの不適切に変更された、(3)Node03が実行制約に規定されていない、センサ61へのアクセスを実行しようとした、(4)Node03が実行制約に規定されていない、制御プログラム管理サーバ400へのアクセスを実行しようとした。なお、Node03は、モータメーカ管理サーバ300との通信のみは許可されている。
FIG. 4 illustrates the following four situations. In other words, (1) Node01's execution constraints have been illegally altered by a third party (without using Node01's private key), (2) Node02's execution constraints have been inappropriately changed even though they use Node02's private key. (3) Node03 attempts to access the
しかし、本実施形態のセキュアコンポーネント50と実行基盤40との組み合わせによって、各問題動作は、以下のように抑止される。
(問題動作#1):実行制約の改ざんによる情報漏洩攻撃
(問題動作#1への対応):セキュアコンポーネント50において、実行制約に対する署名検証に失敗し、プロセスの動作は実行基盤40によってブロックされる。
However, by the combination of the
(Problem behavior #1): Information leak attack by falsifying execution constraints (Response to problem behavior #1): In the
(問題動作#2):不適切な実行制約の指定による誤動作
(問題動作#2への対応):セキュアコンポーネント50において、実行制約の確認事項上許可されていない実行制約が検出され、実行制約検証に失敗し、プロセスの動作は実行基盤40によってブロックされる。
(Problem behavior #2): Malfunction due to inappropriate execution constraint specification (Response to problem behavior #2): In the
(問題動作#3):許可されていないデバイスへのアクセス
(問題動作#3への対応):実行基盤40のデバイスアクセスI/F44によって、許可のない通信としてブロックされる。このように、デバイスアクセスI/F44は、提供部としての機能を有し、取得した実行制約がプロセスによるデバイス100内のペリフェラルとの通信を許可してあり、当該実行制約の検証が成功した場合、当該通信に必要な情報及び機能の少なくとも1つを当該プロセスに提供することができる。また、デバイスアクセスI/F44は、禁止部としての機能を有し、取得した実行制約がプロセスによるデバイス100内のペリフェラルとの通信を許可してあり、当該実行制約の検証が失敗した場合、当該プロセスによる当該通信を禁止することができる。通信に必要な情報は、例えば鍵情報を含み、通信に必要な機能は、通信に必要な認証演算等の機能を含む。
(Problem operation #3): Unauthorized access to a device (Correspondence to problem operation #3): Blocked as an unauthorized communication by the device access I/
(問題動作#4):許可されていない外部サーバへの通信
(問題動作#4への対応):実行基盤40のネットワークI/F41によって、許可のない通信としてブロックされる。
(Problem operation #4): Unauthorized communication to an external server (Correspondence to problem operation #4): Blocked by the network I/
本実施形態によれば、プロセスがセキュアコンポーネント50から取り出した秘密情報の漏洩先を最小限化することもできる。本実施例では、Node02通信鍵とNode03通信鍵が秘密情報であるが、例えば、この秘密情報を詐取すべく、Node03がNode02の署名付きNode02実行制約をそのまま利用して不正に検証を受けたとする。この検証自体は成功するため、Node03はNode02の秘密情報であるNode02通信鍵を入手することになるが、実行制約によって許可されるのは、Node02の製造元が許可した通信相手のみである。例えば、制御プログラム管理サーバ(ControllerMaker)400以外のサーバと通信して、詐取したNode02通信鍵を漏洩させることはできない。よって、漏洩はデバイス100内の特定プロセス内で抑止されることになる。これは署名検証の範囲を実行制約のみに限定した、最小限のセキュリティ機構である。セキュリティポリシーに応じて、プロセス全体のハッシュ値を署名検証に含めたり、利用者認証を併用する等、既知のメカニズムを併用することで強力な保護をかけることも可能である。
According to this embodiment, it is also possible to minimize the leakage destinations of the secret information extracted from the
また、本実施形態によれば、実行制約が適切に検証されえたプロセスに対してのみ、当該プロセスに関係するセキュアコンポーネント50の機能や情報を共有することにより、セキュアコンポーネント50の機能、情報の共有範囲を、実行制約に基づいて制限することができる。また、システムの各参加者が実装するプロセスの振る舞いを制御できる。
Further, according to the present embodiment, by sharing the functions and information of the
図5は署名付き実行制約の更新を示す図である。署名付き実行制約は、デバイス100にプロセスを供給する際に、メーカが事前に生成して添付することが想定されるが、後日、機能拡張等の理由で新たな実行制約をプロセスに対して適用することも可能である。この場合は、各メーカが保持する秘密鍵を用いて、新たな実行制約に対して署名を行い配布すればよい。メーカが直接署名を管理せず、セキュアコンポーネント製造者に署名生成を委託することも可能である。以下、図中の各処理を#1~#3として説明する。
FIG. 5 is a diagram showing updating of signed execution constraints. It is assumed that the manufacturer generates and attaches the signed execution constraints in advance when supplying the process to the
#1(実行制約の更新):セキュアコンポーネント管理サーバ200は、自身が管理するNode01実行制約230を変更する。図の例では、内部通信にNode03が追加されている。
#1 (updating execution constraints): The secure
#2(署名の付与):セキュアコンポーネント管理サーバ200は、変更したNode01実行制約230に対して、自身が預かるメーカ秘密鍵で署名し、署名付きNode01実行制約11を生成する。ここでは、Node01秘密鍵を使用して署名を生成する。
#2 (Adding a signature): The secure
#3(デバイスへの配布):セキュアコンポーネント管理サーバ200は、生成した署名付きNode01実行制約11をデバイス100(上のプロセス10)に配布する。配布はオンラインでもよく、USBメモリ等の記録媒体を使ってオフラインで配布してもよい。
#3 (Distribution to devices): The secure
図6はセキュアコンポーネント50の内部情報更新を示す図である。図5に例示したように、実行制約を更新しても、セキュアコンポーネント50側の情報によって、更新した実行制約が正しく検証されないことも発生し得る。図5の例では、Node01はNode01だけでなくNode03とも通信可能となるように実行制約が更新されたが、セキュアコンポーネント50側の制約確認において、Node01はNode02との通信しか許可されておらず、実行制約検証に失敗する。このような場合、セキュアコンポーネント50は、セキュアコンポーネント管理サーバ200と秘匿通信路による通信を行い、セキュアコンポーネント管理サーバ200から内部情報を更新すればよい。以下、図中の各処理を#1~#4として説明する。
FIG. 6 is a diagram showing internal information update of the
#1(確認事項の更新):セキュアコンポーネント管理サーバ200は、自身が管理するNode01確認事項240(制約確認事項)を更新する。ここでは、図5における手順で更新した実行制約に合わせ、Node03との通信を許可するように変更する。
#1 (Update of confirmation items): The secure
#2(秘匿通信部への送信):セキュアコンポーネント管理サーバ200は、更新したNode01確認事項240をセキュアコンポーネント50へ送るべく、秘匿通信部220へ送信する。
#2 (Transmission to the secure communication unit): The secure
#3(秘匿通信路の開設):セキュアコンポーネント管理サーバ200は、デバイス100のネットワークI/F41経由で、セキュアコンポーネント50に対し、秘匿通信鍵を用いて秘匿通信路を開設する。
#3 (Establishing a secret communication path): The secure
#4(確認事項の更新):セキュアコンポーネント管理サーバ200は、開設した秘匿通信路経由で新たなNode01確認事項531をセキュアコンポーネント50へ送る。セキュアコンポーネント50は、受信した新たな値でNode01確認事項531を更新する。
#4 (updating confirmation items): The secure
この手順により、Node01の実行制約と、セキュアコンポーネント50内の制約確認事項の平仄が取れ(Node03への通信が許可され)、Node01は開発者の意図通り振る舞うことが可能となる。
Through this procedure, the execution constraints of Node01 and the constraint confirmation items in the
プロセス側に付随する署名付き実行制約と、セキュアコンポーネント50に格納している制約確認事項の2つを個別に更新することで、プロセス側の修正を容易にしつつ、必要に応じてセキュアコンポーネント50のレベルで実行権限を独立管理し、プロセスの適切な振る舞いを確保できる。
By updating the signed execution constraints attached to the process side and the constraint confirmation items stored in the
上述のように、セキュアコンポーネント50において、プロセスに課される実行制約は、管理サーバ(セキュアコンポーネント管理サーバ200)によって更新可能である。また、セキュアコンポーネント50において、管理サーバとの間で秘匿通信路を開設し、開設した秘匿通信路を介して、実行制約を検証する際に使用する情報(制約確認事項が更新可能である。
As described above, in the
このように、セキュアコンポーネント50が許容する実行制約や鍵等、認証に使用する内部情報を、独立した秘匿通信路で遠隔から変更可能にすることで、デバイス100や実行基盤40から独立した管理を行うことで、悪意のあるプロセスからの認証条件改ざんを防止しつつ、遠隔での管理を可能とすることができる。
In this way, the internal information used for authentication, such as the execution constraints and keys allowed by the
(付記1)本実施形態のセキュアコンポーネントは、実行基盤が稼動するデバイスに搭載されるセキュアコンポーネントであって、前記実行基盤上で動作するプロセスから前記プロセスに課される実行制約を取得する取得部と、取得した実行制約を検証する検証部と、実行制約の検証結果を前記実行基盤へ出力する出力部とを備える。 (Additional Note 1) The secure component of this embodiment is a secure component installed in a device on which an execution platform operates, and includes an acquisition unit that acquires execution constraints imposed on a process from a process running on the execution platform. and a verification unit that verifies the acquired execution constraints, and an output unit that outputs the verification results of the execution constraints to the execution platform.
(付記2)本実施形態のセキュアコンポーネントは、付記1のセキュアコンポーネントにおいて、署名検証鍵を記憶する記憶部を備え、前記取得部は、署名付き実行制約を取得し、前記検証部は、前記署名検証鍵を用いて前記署名付き実行制約を検証する。
(Additional Note 2) The secure component of this embodiment is the secure component of
(付記3)本実施形態のセキュアコンポーネントは、付記1又は付記2のセキュアコンポーネントにおいて、前記実行基盤上で動作するプロセスに関する制約確認情報を記憶する記憶部を備え、前記検証部は、取得した実行制約と、前記実行制約が課されるプロセスに関する制約確認事項とに基づいて、前記実行制約を検証する。
(Additional Note 3) The secure component of this embodiment, in the secure component of
(付記4)本実施形態のセキュアコンポーネントは、付記1から付記3のいずれかのセキュアコンポーネントにおいて、取得した実行制約が前記プロセスによる前記プロセス外との通信を許可してあり、前記実行制約の検証が成功した場合、前記通信に必要な情報及び機能の少なくとも1つを前記プロセスに提供する提供部を備える。
(Additional Note 4) In the secure component of this embodiment, in any of the secure components described in
(付記5)本実施形態のセキュアコンポーネントは、付記1から付記4のいずれかのセキュアコンポーネントにおいて、取得した実行制約が前記プロセスによる前記プロセス外との通信を許可してあり、前記実行制約の検証が失敗した場合、前記プロセスによる通信を禁止する禁止部を備える。
(Additional Note 5) In the secure component of this embodiment, in any of the secure components of
(付記6)本実施形態のセキュアコンポーネントは、付記1から付記5のいずれかのセキュアコンポーネントにおいて、前記プロセスに課される実行制約は、管理サーバによって更新可能である。
(Additional Note 6) In the secure component of the present embodiment, in any of the secure components set forth in
(付記7)本実施形態のセキュアコンポーネントは、付記1から付記6のいずれかのセキュアコンポーネントにおいて、管理サーバとの間で秘匿通信路を開設する開設部を備え、前記秘匿通信路を介して、実行制約を検証する際に使用する情報が更新可能である。
(Additional Note 7) The secure component of the present embodiment is the secure component according to any one of
(付記8)本実施形態のセキュアコンポーネントは、付記1から付記7のいずれかのセキュアコンポーネントにおいて、セキュアエレメント、トラステッド・プラットフォーム・モジュール又はトラステッド実行環境のいずれかにより構成される。
(Additional Note 8) The secure component of this embodiment is configured by any one of a secure element, a trusted platform module, or a trusted execution environment in any one of the secure components of
(付記9)本実施形態のデバイスは、セキュアコンポーネントを搭載し、プロセスが動作可能な実行基盤が稼動するデバイスであって、前記プロセスは、前記実行基盤を介して、前記プロセスに課される実行制約を前記セキュアコンポーネントへ出力する出力部を備え、前記セキュアコンポーネントは、前記実行制約を取得する取得部と、取得した実行制約を検証する検証部と、実行制約の検証結果を前記実行基盤へ出力する出力部とを備え、前記実行基盤は、前記検証結果に応じて前記プロセスの動作を制御する制御部を備える。 (Additional Note 9) The device of the present embodiment is a device that is equipped with a secure component and runs an execution platform on which a process can operate, and the process is configured to execute the execution imposed on the process via the execution platform. The secure component includes an output unit that outputs a constraint to the secure component, and the secure component includes an acquisition unit that acquires the execution constraint, a verification unit that verifies the acquired execution constraint, and outputs a verification result of the execution constraint to the execution platform. The execution platform includes a control unit that controls the operation of the process according to the verification result.
(付記10)本実施形態の実行基盤は、セキュアコンポーネントを搭載したデバイスで稼働し、プロセスが動作可能な実行基盤であって、前記プロセスに課される実行制約を前記プロセスから取得して前記セキュアコンポーネントへ転送する転送部と、前記実行制約の検証結果を前記セキュアコンポーネントから取得する取得部と、取得した検証結果に応じて前記プロセスの動作を制御する制御部とを備える。 (Additional Note 10) The execution platform of this embodiment is an execution platform that runs on a device equipped with a secure component and on which a process can operate, and acquires execution constraints imposed on the process from the process to secure the secure component. A transfer unit that transfers to a component, an acquisition unit that acquires a verification result of the execution constraint from the secure component, and a control unit that controls the operation of the process according to the acquired verification result.
(付記11)本実施形態のプロセス実行管理方法は、セキュアコンポーネントを搭載し、プロセスが動作可能な実行基盤が稼動するデバイスによるプロセス実行管理方法であって、前記プロセスは、前記実行基盤を介して、前記プロセスに課される実行制約を前記セキュアコンポーネントへ出力し、前記セキュアコンポーネントは、前記実行制約を取得し、取得した実行制約を検証し、実行制約の検証結果を前記実行基盤へ出力し、前記実行基盤は、前記検証結果に応じて前記プロセスの動作を制御する。 (Additional Note 11) The process execution management method of the present embodiment is a process execution management method using a device equipped with a secure component and running an execution platform on which a process can operate, wherein the process is executed via the execution platform. , outputting an execution constraint imposed on the process to the secure component, the secure component acquiring the execution constraint, verifying the acquired execution constraint, and outputting a verification result of the execution constraint to the execution platform; The execution infrastructure controls the operation of the process according to the verification result.
各実施形態に記載した事項は相互に組み合わせることが可能である。また、特許請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、特許請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載してもよい。 Items described in each embodiment can be combined with each other. Moreover, the independent claims and dependent claims recited in the claims may be combined with each other in any and all combinations, regardless of the form in which they are cited. Further, although the scope of claims uses a format in which claims refer to two or more other claims (multi-claim format), the invention is not limited to this format. It may be written using a multi-claim format that cites at least one multi-claim.
10 Node01
11 署名付きNode01実行制約
20 Node02
21 署名付きNode02実行制約
30 Node03
31 署名付きNode03実行制約
40 実行基盤
41 ネットワークI/F
42 セキュアコンポーネントI/F
43 プロセス間通信I/F
44 デバイスアクセスI/F
50 セキュアコンポーネント
51 秘匿通信部
52 実行制約検証部
53 実行制約テーブル
531 Node01確認事項
532 Node02確認事項
61 センサ
62 モータ
100 デバイス
200 セキュアコンポーネント管理サーバ
210 署名生成部
220 秘匿通信部
230 Node01実行制約
240 Node01確認事項
300 モータメーカ管理サーバ
400 制御プログラム管理サーバ
310、410 署名生成部
320、420 Node通信部
10 Node01
11 Signed
21 Signed
31 Signed
42 Secure component I/F
43 Inter-process communication I/F
44 Device access I/F
50
Claims (11)
前記実行基盤上で動作するプロセスから前記プロセスに課される実行制約を取得する取得部と、
取得した実行制約を検証する検証部と、
実行制約の検証結果を前記実行基盤へ出力する出力部と
を備える、
セキュアコンポーネント。 A secure component installed in a device running an execution platform,
an acquisition unit that acquires an execution constraint imposed on the process from a process running on the execution platform;
a verification unit that verifies the obtained execution constraints;
an output unit that outputs the verification result of the execution constraint to the execution platform;
Secure component.
前記取得部は、
署名付き実行制約を取得し、
前記検証部は、
前記署名検証鍵を用いて前記署名付き実行制約を検証する、
請求項1に記載のセキュアコンポーネント。 comprising a storage unit that stores a signature verification key;
The acquisition unit includes:
Get the signed execution constraint,
The verification section includes:
verifying the signed execution constraint using the signature verification key;
A secure component according to claim 1.
前記検証部は、
取得した実行制約と、前記実行制約が課されるプロセスに関する制約確認事項とに基づいて、前記実行制約を検証する、
請求項1又は請求項2に記載のセキュアコンポーネント。 comprising a storage unit that stores constraint confirmation information regarding processes that operate on the execution platform,
The verification section includes:
verifying the execution constraint based on the acquired execution constraint and constraint confirmation items regarding the process to which the execution constraint is imposed;
A secure component according to claim 1 or claim 2.
請求項1又は請求項2に記載のセキュアコンポーネント。 a providing unit that provides at least one of information and functions necessary for the communication to the process if the acquired execution constraint permits the process to communicate with a device outside the process and the execution constraint is successfully verified; Equipped with
A secure component according to claim 1 or claim 2.
請求項1又は請求項2に記載のセキュアコンポーネント。 a prohibition unit that prohibits communication by the process when the acquired execution constraint permits the process to communicate with a device outside the process and verification of the execution constraint fails;
A secure component according to claim 1 or claim 2.
請求項1又は請求項2に記載のセキュアコンポーネント。 execution constraints imposed on the process are updatable by a management server;
A secure component according to claim 1 or claim 2.
前記秘匿通信路を介して、実行制約を検証する際に使用する情報が更新可能である、
請求項1又は請求項2に記載のセキュアコンポーネント。 Equipped with an opening section that opens a confidential communication channel with the management server,
Information used when verifying execution constraints can be updated via the secret communication channel;
A secure component according to claim 1 or claim 2.
請求項1又は請求項2に記載のセキュアコンポーネント。 consisting of either a secure element, a trusted platform module, or a trusted execution environment;
A secure component according to claim 1 or claim 2.
前記プロセスは、
前記実行基盤を介して、前記プロセスに課される実行制約を前記セキュアコンポーネントへ出力する出力部を備え、
前記セキュアコンポーネントは、
前記実行制約を取得する取得部と、
取得した実行制約を検証する検証部と、
実行制約の検証結果を前記実行基盤へ出力する出力部と
を備え、
前記実行基盤は、
前記検証結果に応じて前記プロセスの動作を制御する制御部を備える、
デバイス。 A device equipped with a secure component and running an execution platform on which processes can operate,
The process includes:
an output unit that outputs an execution constraint imposed on the process to the secure component via the execution platform,
The secure component is
an acquisition unit that acquires the execution constraints;
a verification unit that verifies the obtained execution constraints;
an output unit that outputs execution constraint verification results to the execution platform;
The execution platform is
comprising a control unit that controls the operation of the process according to the verification result;
device.
前記プロセスに課される実行制約を前記プロセスから取得して前記セキュアコンポーネントへ転送する転送部と、
前記実行制約の検証結果を前記セキュアコンポーネントから取得する取得部と、
取得した検証結果に応じて前記プロセスの動作を制御する制御部と
を備える、
実行基盤。 An execution platform that runs on a device equipped with a secure component and on which processes can operate,
a transfer unit that obtains an execution constraint imposed on the process from the process and transfers it to the secure component;
an acquisition unit that acquires a verification result of the execution constraint from the secure component;
and a control unit that controls the operation of the process according to the obtained verification result.
Execution base.
前記プロセスは、
前記実行基盤を介して、前記プロセスに課される実行制約を前記セキュアコンポーネントへ出力し、
前記セキュアコンポーネントは、
前記実行制約を取得し、
取得した実行制約を検証し、
実行制約の検証結果を前記実行基盤へ出力し、
前記実行基盤は、
前記検証結果に応じて前記プロセスの動作を制御する、
プロセス実行管理方法。 A process execution management method using a device equipped with a secure component and running an execution platform on which processes can operate, the method comprising:
The process includes:
outputting execution constraints imposed on the process to the secure component via the execution infrastructure;
The secure component is
obtain the execution constraints;
Verify the obtained execution constraints,
outputting the verification results of the execution constraints to the execution platform;
The execution platform is
controlling the operation of the process according to the verification result;
Process execution management method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022063547A JP2023154299A (en) | 2022-04-06 | 2022-04-06 | Secure component, device, execution platform, and process execution management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022063547A JP2023154299A (en) | 2022-04-06 | 2022-04-06 | Secure component, device, execution platform, and process execution management method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023154299A true JP2023154299A (en) | 2023-10-19 |
Family
ID=88372583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022063547A Pending JP2023154299A (en) | 2022-04-06 | 2022-04-06 | Secure component, device, execution platform, and process execution management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023154299A (en) |
-
2022
- 2022-04-06 JP JP2022063547A patent/JP2023154299A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7018109B2 (en) | Secure provisioning and management of equipment | |
US11882224B2 (en) | Generic code signing client with downloadable modules | |
CA2923740C (en) | Software code signing system and method | |
CN112422532B (en) | Service communication method, system and device and electronic equipment | |
CN109937419B (en) | Initialization method for security function enhanced device and firmware update method for device | |
CN102165457B (en) | The safety of ticket authorization is installed and is guided | |
US20220114249A1 (en) | Systems and methods for secure and fast machine learning inference in a trusted execution environment | |
EP3676743B1 (en) | Application certificate | |
US9154504B2 (en) | Device apparatus, control method, and relating storage medium | |
JP2010537270A (en) | Virtual token for implicit self-installing security environment | |
JPH11355264A (en) | Host system element for international cryptographic system | |
CN113196266A (en) | Method for executing one or more vehicle applications using a vehicle computing unit of a vehicle, vehicle computing unit, method for providing a license information list for a vehicle application, license information list for a vehicle application and computer program | |
US9652599B2 (en) | Restricted code signing | |
CN115113970A (en) | Data processing method based on container engine and related equipment | |
US10771462B2 (en) | User terminal using cloud service, integrated security management server for user terminal, and integrated security management method for user terminal | |
CN113614720A (en) | Device and method for dynamically configuring access control of trusted application program | |
CN111783051B (en) | Identity authentication method and device and electronic equipment | |
CN118159967A (en) | Control of access to computing resources implemented in an isolated environment | |
CN115037480A (en) | Method, device, equipment and storage medium for equipment authentication and verification | |
CN112136133A (en) | Method and network node for managing access to a block chain | |
US7743145B2 (en) | Verifying measurable aspects associated with a module | |
JP2023154299A (en) | Secure component, device, execution platform, and process execution management method | |
Henriques | Secure Over-the-Air Vehicle Updates using Trusted Execution Environments (TEE) | |
CN117527267B (en) | Method and system for controlling remote data based on secret calculation | |
Albayati et al. | Profile Based Access Control Model Using JSON Web Tokens |