JP2023154299A - Secure component, device, execution platform, and process execution management method - Google Patents

Secure component, device, execution platform, and process execution management method Download PDF

Info

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
Application number
JP2022063547A
Other languages
Japanese (ja)
Inventor
正徳 浅野
Masanori Asano
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2022063547A priority Critical patent/JP2023154299A/en
Publication of JP2023154299A publication Critical patent/JP2023154299A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

To provide a secure component, device, execution platform, and process execution management method, which allow each participant in a system to control behavior of an implemented process.SOLUTION: A secure component is mounted in a device in which an execution platform operates, and comprises an acquisition unit for acquiring execution constraints imposed on a process from the process operating on the execution platform, a verification unit for verifying the acquired execution constraints, and an output unit for outputting a verification result of the execution constraints to the execution platform.SELECTED DRAWING: Figure 1

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. Patent Document 1 discloses a distributed system that integrates and shares information based on the ROS architecture.

一方で、ロボティクス技術の社会浸透を進める際の大きな課題として、セキュリティが挙げられる。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.

特開2019-8158号公報JP 2019-8158 Publication

現状のロボティクスシステムにおける鍵管理システムでは、全プロセス(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.

プロセス管理システムの構成の一例を示す図である。FIG. 1 is a diagram showing an example of the configuration of a process management system. 外部通信がない場合の署名付き実行制約に対する検証を示す図である。FIG. 7 is a diagram illustrating verification of signed execution constraints when there is no external communication. 外部通信がある場合の署名付き実行制約に対する検証を示す図である。FIG. 7 is a diagram illustrating verification of signed execution constraints when there is external communication. 実行制約の効果を示す図である。FIG. 3 is a diagram showing the effect of execution constraints. 署名付き実行制約の更新を示す図である。FIG. 3 is a diagram illustrating updating of signed execution constraints. セキュアコンポーネントの内部情報更新を示す図である。FIG. 3 is a diagram illustrating updating of internal information of a secure component.

以下、本発明をその実施の形態を示す図面に基づいて説明する。図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 component management server 200, a motor manufacturer management server 300, and a control program management server 400. The device 100 is equipped with a secure component and has a function of controlling devices such as a sensor 61 and a motor 62. The device 100 is envisioned as a hardware security component for the security mechanisms of robotics (systems).

セキュアコンポーネント管理サーバ200は、セキュアコンポーネントを開発・製造したメーカが運営する、セキュアコンポーネントを遠隔管理可能なサーバである。モータメーカ管理サーバ300は、デバイス100内のモータ62、及びモータ制御用プロセス(Node03)を開発・製造したメーカが管理するサーバである。制御プログラム管理サーバ400は、デバイス100内で、他のプロセスとの連携動作を制御するプロセス(Node02)を開発・製造したメーカが管理するサーバである。 The secure component management server 200 is a server that is operated by the manufacturer that developed and manufactured the secure component and is capable of remotely managing the secure component. The motor manufacturer management server 300 is a server managed by the manufacturer that developed and manufactured the motor 62 in the device 100 and the motor control process (Node03). The control program management server 400 is a server managed by a manufacturer that developed and manufactured a process (Node02) that controls cooperative operations with other processes within the device 100.

デバイス100内には、後述の通り3つのプロセスが動作しているが、各プロセスを開発・製造したメーカが個々にサーバを持ち、一定の制約下でプロセスはサーバと通信を行う構成になっている。なお、センサ61及びセンサ制御用プロセス(Node01)を開発・製造したメーカは自らサーバを運営しておらず、セキュアコンポーネント開発メーカに鍵管理を委任するという構成にしている。これは製造メーカが遠隔管理を能動的に実施しない場合や、プロセス提供元がオープンソースソフトウェア(OSS)コミュニティの場合などに採用される構成である。 There are three processes operating in the device 100, as described below, but each manufacturer that developed and manufactured each process has its own server, and the processes are configured to communicate with the server under certain restrictions. There is. Note that the manufacturer that developed and manufactured the sensor 61 and the sensor control process (Node01) does not operate the server itself, but delegates key management to the secure component developer. This configuration is adopted when the manufacturer does not actively perform remote management, or when the process provider is an open source software (OSS) community.

デバイス100は、プロセス10(センサ制御用Node01)、署名付Node01実行制約11、プロセス20(全体制御用Node02)、署名付Node02実行制約21、プロセス30(モータ制御用Node03)、署名付Node03実行制約31、実行基盤40、セキュアコンポーネント50、センサ61、及びモータ62を備える。 The device 100 includes a process 10 (Node 01 for sensor control), a signed Node 01 execution constraint 11, a process 20 (Node 02 for overall control), a signed Node 02 execution constraint 21, a process 30 (Node 03 for motor control), and a signed Node 03 execution constraint. 31, an execution platform 40, a secure component 50, a sensor 61, and a motor 62.

セキュアコンポーネント50は、各プロセスの実行制約を検証する、耐タンパ性を有するコンポーネントである。セキュアコンポーネント50は、ソフトウェア、ハードウェアいずれの形態で実装されていてもよい。セキュアコンポーネント50は、専用のI/F(インタフェース)を介して実行基盤40と通信できる。 The secure component 50 is a tamper-resistant component that verifies the execution constraints of each process. The secure component 50 may be implemented in either software or hardware form. The secure component 50 can communicate with the execution platform 40 via a dedicated I/F (interface).

センサ61は、デバイス100が搭載しているセンサであり、本実施形態では、プロセス10(Node01)を開発したメーカによって製造されている。 The sensor 61 is a sensor mounted on the device 100, and in this embodiment is manufactured by the manufacturer that developed the process 10 (Node01).

モータ62は、デバイス100が搭載しているモータであり、本実施形態では、プロセス30(Node03)を開発したメーカによって製造されている。モータ62に代えて、他のアクチュエータを搭載してもよい。 The motor 62 is a motor mounted on the device 100, and in this embodiment is manufactured by the manufacturer that developed the process 30 (Node03). Instead of the motor 62, another actuator may be installed.

実行基盤40は、デバイス100上のプロセス実行、実行権限制御、およびデバイス通信等のハードウェア制御を行う基本ソフトウェアである。実行基盤40は、OS(Operating System)、OS上で実行されるミドルウェア、あるいはDocker(商標)、Kubernetes(商標)のようなコンテナ基盤でもよい。 The execution platform 40 is basic software that executes processes on the device 100, controls execution authority, and controls hardware such as device communication. The execution platform 40 may be an OS (Operating System), middleware executed on the OS, or a container platform such as Docker (trademark) or Kubernetes (trademark).

プロセス10、20、30は、デバイス100上で、連携して機能実現を行うプロセスである。プロセスは、ソフトウェアモジュールでもよい。Node01はセンサ制御(例えば、センサ値の読み出し)、Node03はモータ制御(例えば、アクチュエータの駆動)、Node02
は全体制御を行うプロセスとして構成され、各Nodeが通信することで機能実現する。プロセス10、20、30は、実行基盤40上で実行される処理の単位である。本実施形態では、プロセス10、20、30は、OS上で実行されるプログラムのインスタンスを想定しているが、コンテナ基盤を実行基盤とする場合はコンテナが相当する。
The processes 10, 20, and 30 are processes that cooperate to realize functions on the device 100. A process may be a software module. Node01 is sensor control (e.g. reading sensor values), Node03 is motor control (e.g. driving actuator), Node02 is
is configured as a process that performs overall control, and functions are realized by communication between each node. The processes 10, 20, and 30 are units of processing executed on the execution platform 40. In this embodiment, the processes 10, 20, and 30 are assumed to be instances of programs executed on the OS, but if the execution platform is a container platform, they correspond to containers.

署名付き実行制約11、21、31は、各プロセスに紐づけられた実行制約に対し、各メーカが保持する秘密鍵により署名を施したものであり、プロセスとともに添付、配布される。実行制約の規定内容は、例えば、内部通信、外部通信、使用デバイスとすることができる。内部通信は、デバイス100内で通信可能なプロセス(Node)を指定する。実行制約で指定されていないプロセスとは通信できない。外部通信は、デバイス100外と通信が許可されているか否かを指定する。実行制約で許可されている場合は通信を許可するドメインまたはホスト名が指定される。使用デバイスは、デバイス100内で制御を許可されているデバイスを指定する。 The signed execution constraints 11, 21, and 31 are execution constraints associated with each process that are signed using a private key held by each manufacturer, and are attached and distributed together with the process. The specified contents of the execution constraint can be, for example, internal communication, external communication, and device used. Internal communication specifies processes (nodes) that can communicate within the device 100. It is not possible to communicate with processes that are not specified by execution constraints. External communication specifies whether communication with outside the device 100 is permitted. If permitted by execution constraints, the domain or host name to which communication is permitted is specified. The used device specifies a device within the device 100 that is permitted to be controlled.

図1の例では、プロセス10の実行制約は、内部通信がNode02であり、外部通信がなし、使用デバイスがセンサの如く指定されている。プロセス20の実行制約は、内部通信がNode01、及びNode03であり、外部通信がControllerMaker(制御プログラム管理サーバ400)、使用デバイスがなしの如く指定されている。プロセス30の実行制約は、内部通信がNode02であり、外部通信がMotorMaker(モータメーカ管理サーバ300)、使用デバイスがモータの如く指定されている。なお、プロセスの実行制約は、図1の例に限定されない。 In the example of FIG. 1, the execution constraints of the process 10 are that internal communication is Node 02, there is no external communication, and the device to be used is specified, such as a sensor. The execution constraints of the process 20 specify that internal communication is Node01 and Node03, external communication is ControllerMaker (control program management server 400), and the device used is none. The execution constraints of the process 30 specify that internal communication is Node 02, external communication is MotorMaker (motor maker management server 300), and the device used is a motor. Note that the process execution constraints are not limited to the example shown in FIG.

各プロセスは、メーカにて開発時に、メーカの設計意図、セキュリティポリシーに応じて実行制約が規定される。実行制約は、署名を付されプロセスとともに配布される。各プロセスは、それぞれの実行制約に従って動作することが期待され、システムの各参加者が実装するプロセスの振る舞いを制御できる。実行制約に対する署名は、実行制約のデータに対して秘密鍵を用いて署名を行うことで生成される。署名方式は、例えば、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 secure component 50 includes a secret communication section 51, an execution constraint verification section 52, and an execution constraint table 53.

秘匿通信部51は、セキュアコンポーネント50がセキュアコンポーネント管理サーバ200と直接秘匿通信をする機能を有する。 The secure communication unit 51 has a function that allows the secure component 50 to directly perform secure communication with the secure component management server 200.

実行制約検証部52は、デバイス100上のプロセス10、20、30から、実行基盤40経由で署名付き実行制約11、21、31を受信した上で検証を行う機能を有する。実行制約検証部52は、自身又はセキュアコンポーネント50が保持する各Nodeの公開鍵(Node01公開鍵、Node02公開鍵、Node03公開鍵)を用いて署名を検証し、かつ実行制約テーブル53と照合することで、当該実行制約の正当性を検証する。 The execution constraint verification unit 52 has a function of receiving signed execution constraints 11 , 21 , 31 from the processes 10 , 20 , 30 on the device 100 via the execution platform 40 and then verifying the signed execution constraints 11 , 21 , 31 . The execution constraint verification unit 52 verifies the signature using the public keys of each node (Node01 public key, Node02 public key, Node03 public key) held by itself or the secure component 50, and checks against the execution constraint table 53. Then, verify the validity of the execution constraint.

実行制約テーブル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 Node01 confirmation item 531 indicates that internal communication is limited to Node02, external communication is prohibited, and the use of devices other than sensors is prohibited. Further, the Node02 confirmation items 532 include that there is no internal communication, only external communication is with ControllerMaker, and the devices used are prohibited. Note that the constraint confirmation items are just one example, and are not limited to the example in FIG. The execution constraint table 53 is a data structure used by the secure component 50 to define execution constraints to be observed for each process 10, 20, 30. In this embodiment, the table is composed of two tables: a table indicating whether there are check items for each process, and a table indicating specific check items for each process, but the table is not limited to this configuration. do not have.

セキュアコンポーネント50は、実行基盤40に対して独立し、かつ通信路経由で実行基盤40及びプロセス10、20、30と通信できる、という2点を満たしていれば、ハードウェア実装(例えば、セキュアエレメント、TPM:トラステッド・プラットフォーム・モジュール)でもソフトウェア実装(例えば、トラステッド実行環境)でもよい。本実施例では、セキュアコンポーネント50は、外付けセキュアエレメントであるとして説明する。 If the secure component 50 satisfies the following two points: it is independent from the execution platform 40 and can communicate with the execution platform 40 and the processes 10, 20, and 30 via a communication path, , TPM (Trusted Platform Module) or a software implementation (eg, Trusted Execution Environment). In this embodiment, the secure component 50 will be described as an external secure element.

実行基盤40は、ネットワークI/F41、セキュアコンポーネントI/F42、プロセス間通信I/F43、及びデバイスアクセスI/F44を備える。 The execution platform 40 includes a network I/F 41, a secure component I/F 42, an inter-process communication I/F 43, and a device access I/F 44.

ネットワークI/F41は、デバイス100外のセキュアコンポーネント管理サーバ200、モータメーカ管理サーバ300、及び制御プログラム管理サーバ400とネットワーク経由で通信を行う際のインタフェースである。ネットワークI/F41は、例えば、TCP/IP(Transmission Control Protocol / Internet Protocol)通信を提供するSocket APIなどが相当する。 The network I/F 41 is an interface for communicating with the secure component management server 200, the motor manufacturer management server 300, and the control program management server 400 outside the device 100 via the network. The network I/F 41 corresponds to, for example, a Socket API that provides TCP/IP (Transmission Control Protocol/Internet Protocol) communication.

セキュアコンポーネントI/F42は、デバイス100に内蔵されたセキュアコンポーネント50と通信するためのインタフェースである。セキュアコンポーネントI/F42は、例えば、PC/SC(Personal Computer/Smart Card) APIなどが相当する。 The secure component I/F 42 is an interface for communicating with the secure component 50 built into the device 100. The secure component I/F 42 corresponds to, for example, a PC/SC (Personal Computer/Smart Card) API.

プロセス間通信I/F43は、実行基盤40上のプロセスがお互いに通信するためのインタフェースである。プロセス間通信I/F43は、例えば、パイプ、ブローカ(各プロセスからpublish/subscribeを受け付けるインタフェース)が相当する。 The inter-process communication I/F 43 is an interface through which processes on the execution platform 40 communicate with each other. The inter-process communication I/F 43 corresponds to, for example, a pipe or a broker (an interface that accepts publish/subscribe from each process).

デバイスアクセスI/F44は、デバイス100に搭載されているセンサ61、モータ62(アクチュエータ)を制御するためのインタフェースである。デバイスアクセスI/F44は、例えば、SPI(Serial Peripheral Interface)やI2C(Inter-Integrated Circuit)のドライバなどが相当する。 The device access I/F 44 is an interface for controlling the sensor 61 and motor 62 (actuator) installed in the device 100. The device access I/F 44 corresponds to, for example, an SPI (Serial Peripheral Interface) or I2C (Inter-Integrated Circuit) driver.

実行基盤40は、その上で動くプロセスに対して、ネットワーク、ハードウェア、セキュリティコンポーネントを使用するためのインタフェースを提供する。各インタフェースは、実行基盤40から制御を受けており、実行基盤40からの明示的な許可がない限りプロセスから利用できないようになっている。各プロセスが各インタフェースを使用する場合、通信先の相手を特定した上で、通信元-通信先の組み合わせについて実行基盤40から明示的な許可を受けることで初めて利用可能になる。実行基盤40は、例えば、狭義のOS(Windows、Linux(登録商標)等)、ロボッティクスフレームワーク(ROS等)のようなミドルウェア、DockerやKubernetesのようなコンテナ実行基盤などを含む。 Execution infrastructure 40 provides an interface for using network, hardware, and security components for processes running on it. Each interface is controlled by the execution platform 40 and cannot be used by a process without explicit permission from the execution platform 40. When each process uses each interface, it can only be used after specifying the communication destination and receiving explicit permission from the execution platform 40 for the combination of communication source and communication destination. The execution platform 40 includes, for example, a narrowly defined OS (Windows, Linux (registered trademark), etc.), middleware such as a robotics framework (ROS, etc.), a container execution platform such as Docker or Kubernetes, and the like.

セキュアコンポーネント管理サーバ200は、署名生成部210、秘匿通信部220、Node01実行制約230、及びNode01確認事項240を備える。 The secure component management server 200 includes a signature generation section 210, a secret communication section 220, Node01 execution constraints 230, and Node01 confirmation items 240.

署名生成部210は、自身が保持する秘密鍵を用いて、プロセスに対して署名付き実行制約を生成する。 The signature generation unit 210 generates a signed execution constraint for the process using a private key that it holds.

秘匿通信部220は、秘匿通信鍵を用いて、セキュアコンポーネント50と直接秘匿通信路を開設する機能を有する。Node01実行制約230、及びNode01確認事項240は、デバイス100内の署名付きNode01実行制約11、及びセキュアコンポーネント50内のNode01確認事項531の内容と同様である。 The secure communication unit 220 has a function of establishing a secure communication path directly with the secure component 50 using the secure communication key. The Node01 execution constraints 230 and the Node01 confirmation items 240 are the same as the signed Node01 execution constraints 11 in the device 100 and the Node01 confirmation items 531 in the secure component 50.

本実施形態では、セキュアコンポーネント管理サーバ200は、センサ製造元からセンサ制御用プロセス(Node01)の秘密鍵を受領し、Node01に対する署名付きNode01実行制約11を生成する機能を担っている。署名生成部210が、Node01に対する署名付きNode01実行制約11を生成する。 In this embodiment, the secure component management server 200 has the function of receiving the secret key of the sensor control process (Node01) from the sensor manufacturer and generating the signed Node01 execution constraint 11 for Node01. The signature generation unit 210 generates a signed Node01 execution constraint 11 for Node01.

モータメーカ管理サーバ300は、署名生成部310、及びNode通信部320を備える。制御プログラム管理サーバ400は、署名生成部410、及びNode通信部420を備える。 The motor manufacturer management server 300 includes a signature generation section 310 and a node communication section 320. The control program management server 400 includes a signature generation section 410 and a node communication section 420.

署名生成部310、410は、自身が保持する秘密鍵を用いて、プロセスに対して署名付き実行制約を生成する機能を有する。署名生成部310、410の機能は、セキュアコンポーネント管理サーバ200の署名生成部210と同一である。Node02(全体制御用)の開発メーカや、Node03(モータ制御用)の開発メーカは、自身の秘密鍵を自ら管理し、新たな署名付き実行制約が必要となった場合、それぞれ自信の秘密鍵をもとに自ら署名を行ってプロセスに添付する。 The signature generation units 310 and 410 have a function of generating signed execution constraints for processes using private keys that they hold. The functions of the signature generation units 310 and 410 are the same as the signature generation unit 210 of the secure component management server 200. The developer and manufacturer of Node02 (for overall control) and Node03 (for motor control) manage their own private keys themselves, and when a new signed execution constraint is required, each manufacturer releases their own private key. Sign it yourself and attach it to the process.

Node通信部320、420は、デバイス100内の対応するプロセスと通信するための機能を有する。Node通信部320、420は、デバイス100内の各Nodeとの通信を実現する機能を有し、その機能は、デバイス100の用途などによって異なる。 The Node communication units 320 and 420 have a function of communicating with corresponding processes within the device 100. The Node communication units 320 and 420 have a function of realizing communication with each node within the device 100, and the function differs depending on the purpose of the device 100 and the like.

デバイス100に搭載されているハードウェア、ソフトウェアメーカの一部は、自ら、モータメーカ管理サーバ300や制御プログラム管理サーバ400などの各メーカの管理サーバを構築し、デバイス100と通信する手段を具備している。これにより、メーカの一部は、デバイス100上のプロセスを管理することができる。 Some of the hardware and software manufacturers installed in the device 100 build their own management servers, such as the motor manufacturer management server 300 and the control program management server 400, and are equipped with means for communicating with the device 100. ing. This allows some manufacturers to manage processes on the device 100.

プロセス管理システムでは、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 secure component 50. Each manufacturer generates a public key pair together with a Node private key, and only the public key is written in the secure component 50 in advance.

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, secure component 50, and each manufacturer's process. In this embodiment, the Node communication key is defined as a representative example to express "credentials stored within the secure component 50 and used securely only within the corresponding process."

秘匿通信鍵は、セキュアコンポーネント50がセキュアコンポーネント管理サーバ200と独立した秘匿通信路を開設するために用いる鍵である。 The secret communication key is a key used by the secure component 50 to open a secret communication path independent of the secure component management server 200.

本実施形態のプロセス管理システムの基本的なユースケースは、以下の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 secure component 50. These steps will be explained in order.

図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 execution platform 40 performs a specific operation, a signed execution constraint is verified against the secure component 50 via the execution platform 40. Here, we will exemplify the verification flow of signed execution constraints for Node01. Node01 is a process that does not communicate with the outside, but only communicates with Node02 and the sensor 61. Each process in the figure will be described below as #1 to #10.

#1(署名付き実行制約の読み出し):プロセス10は、自身が有している署名付きNode01実行制約11を読み出す。 #1 (Reading of signed execution constraints): The process 10 reads its own signed Node01 execution constraints 11.

#2(セキュアコンポーネントI/Fの呼び出し):プロセス10は、署名付きNode01実行制約11を実行基盤40が提供しているセキュアコンポーネントI/F42に渡し、実行制約の検証を依頼する。 #2 (Call secure component I/F): The process 10 passes the signed Node01 execution constraint 11 to the secure component I/F 42 provided by the execution infrastructure 40 and requests verification of the execution constraint.

#3(セキュアコンポーネントへの転送):実行基盤40は、署名付きNode01実行制約11をセキュアコンポーネント50に渡し、セキュアコンポーネント50の実行制約検証部52を呼び出す。 #3 (Transfer to secure component): The execution platform 40 passes the signed Node01 execution constraint 11 to the secure component 50 and calls the execution constraint verification unit 52 of the secure component 50.

#4(実行制約の署名検証):セキュアコンポーネント50は、受信した署名付きNode01実行制約11に対応するプロセス10の公開鍵を読み出し、読み出した公開鍵を用いて署名付きNode01実行制約11の署名検証を行う。署名検証に失敗した場合は、ここで処理を終了して検証失敗を実行基盤40に伝達し、実行基盤40はプロセス10を動作させない。署名検証に成功した場合は次の#5の処理に進む。 #4 (Signature verification of execution constraint): The secure component 50 reads the public key of the process 10 corresponding to the received signed Node01 execution constraint 11, and uses the read public key to verify the signature of the signed Node01 execution constraint 11. I do. If the signature verification fails, the process is ended here, the verification failure is transmitted to the execution platform 40, and the execution platform 40 does not operate the process 10. If the signature verification is successful, proceed to the next step #5.

#5(制約確認事項の有無のチェック):セキュアコンポーネント50は、自身の実行制約テーブル53を参照し、検証対象のプロセスに対する制約確認事項の有無を確認する。図2の例では、Node01に対する制約確認事項が存在するので、制約確認事項の内容を確認する。 #5 (Checking whether there are any constraint confirmation items): The secure component 50 refers to its own execution constraint table 53 and checks whether there are any constraint confirmation items for the process to be verified. In the example of FIG. 2, there are constraint confirmation items for Node01, so the contents of the constraint confirmation items are confirmed.

#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 secure component 50 checks the Node01 confirmation items 531 against Node01, and confirms whether the contents of the signed Node01 execution constraints 11 match the contents of the Node01 confirmation items 531. . In the example in Figure 2, all three conditions are met: (1) internal communication is prohibited except for Node02, (2) external communication is prohibited, and (3) use of devices other than sensors is prohibited, so the signed Node01 execution constraint is satisfied. It is determined that the contents of Node01 confirmation item 531 match the contents of Node01 confirmation item 531. If they do not match, the process is ended here, the verification failure is transmitted to the execution platform 40, and the execution platform 40 does not operate the process 10. If they match, proceed to the next step #7.

#7(実行基盤への結果返送):セキュアコンポーネント50は、実行制約検証結果を実行基盤40に返送する。 #7 (result return to execution platform): The secure component 50 returns the execution constraint verification result to the execution platform 40.

#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 execution platform 40 permits the process 10 that requested the verification to use the I/F corresponding to the execution constraint. In the example of FIG. 2, (1) the inter-process communication I/F 43 is allowed to communicate between Node01 and Node02, and (2) the device access I/F 44 is allowed to use the sensor 61 from Node01.

#9(プロセスへの結果返送):実行基盤40は、実行制約検証結果をプロセス10に返送する。 #9 (result return to process): The execution platform 40 returns the execution constraint verification result to the process 10.

#10(許可された通信とデバイスアクセスを実施):プロセス10は、実行制約に基づき、Node02(プロセス20)との通信を開始するとともに、センサ61に対してアクセスを行い、定められた機能を実行する。 #10 (Performs authorized communication and device access): Process 10 starts communication with Node02 (process 20) based on the execution constraints, accesses sensor 61, and performs the specified function. Execute.

図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 secure component 50. On the other hand, for a process that communicates with an external server based on secret information in the secure component 50, external communication is possible by outputting the information to the process and allowing use of the network I/F 41. Can be done. Each process related to execution constraint verification of Node02 that performs the operation will be described as #1 to #12.

#1(署名付き実行制約の読み出し):プロセス20(Node02)は、自身が有している署名付きNode02実行制約21を読み出す。 #1 (Reading of signed execution constraints): The process 20 (Node02) reads its own signed Node02 execution constraints 21.

#2(セキュアコンポーネントI/Fの呼び出し):プロセス20は、署名付きNode02実行制約21を実行基盤40が提供しているセキュアコンポーネントI/F42に渡し、実行制約の検証を依頼する。 #2 (Call secure component I/F): The process 20 passes the signed Node02 execution constraint 21 to the secure component I/F 42 provided by the execution platform 40, and requests verification of the execution constraint.

#3(セキュアコンポーネントへの転送):実行基盤40は、署名付きNode02実行制約21をセキュアコンポーネント50に渡し、セキュアコンポーネント50の実行制約検証部52を呼び出す。 #3 (Transfer to secure component): The execution platform 40 passes the signed Node02 execution constraint 21 to the secure component 50 and calls the execution constraint verification unit 52 of the secure component 50.

#4(実行制約の署名検証):セキュアコンポーネント50は、受信した署名付きNode02実行制約21に対応するプロセス20の公開鍵を読み出し、読み出した公開鍵を用いて署名付きNode02実行制約21の署名検証を行う。署名検証に失敗した場合は、ここで処理を終了して検証失敗を実行基盤40に伝達し、実行基盤40はプロセス20を動作させない。署名検証に成功した場合は次の#5の処理に進む。 #4 (Signature verification of execution constraint): The secure component 50 reads the public key of the process 20 corresponding to the received signed Node02 execution constraint 21, and uses the read public key to verify the signature of the signed Node02 execution constraint 21. I do. If the signature verification fails, the process is ended here, the verification failure is transmitted to the execution platform 40, and the execution platform 40 does not operate the process 20. If the signature verification is successful, proceed to the next step #5.

#5(制約確認事項の有無のチェック):セキュアコンポーネント50は、自身の実行制約テーブル53を参照し、検証対象のプロセスに対する制約確認事項の有無を確認する。図3の例では、Node02に対する制約確認事項が存在するので、制約確認事項の内容を確認する。 #5 (Checking whether there are any constraint confirmation items): The secure component 50 refers to its own execution constraint table 53 and checks whether there are any constraint confirmation items for the process to be verified. In the example of FIG. 3, there are constraint confirmation items for Node02, so the contents of the constraint confirmation items are confirmed.

#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 secure component 50 checks the Node02 confirmation items 532 for Node02 and confirms whether the contents of the signed Node02 execution constraints 21 match the contents of the Node02 confirmation items 532. . In the example in Figure 3, all three conditions are met: (1) there are no restrictions on internal communication (that is, communication with Node01 and Node03 is possible), (2) external communication is limited to ControllerMaker, and (3) use of devices is prohibited. Since it is satisfied, it is determined that the contents of the signed Node02 execution constraint 21 match the contents of the Node02 confirmation item 532. If they do not match, the process is ended here, the verification failure is transmitted to the execution platform 40, and the execution platform 40 does not operate the process 20. If they match, proceed to the next step #7.

#7(秘密情報の読み出し):セキュアコンポーネント50は、実行制約検証が成功となった場合、要求元プロセス20に紐づく秘密情報を読み出す。図3の例では、セキュアコンポーネント50は、Node02に対応したNode02通信鍵を秘密情報として読み出す。 #7 (Reading secret information): If the execution constraint verification is successful, the secure component 50 reads the secret information linked to the requesting process 20. In the example of FIG. 3, the secure component 50 reads out the Node02 communication key corresponding to Node02 as secret information.

#8(実行基盤への結果返送):セキュアコンポーネント50は、実行制約検証結果と、読み出した秘密情報(Node02通信鍵)を実行基盤40に返送する。 #8 (result return to execution platform): The secure component 50 returns the execution constraint verification result and the read secret information (Node02 communication key) to the execution platform 40.

#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 execution platform 40 permits the process 20 that requested the verification to use the I/F corresponding to the execution constraint. In the example of FIG. 3, (1) the inter-process communication I/F 43 allows communication between Node02 and Node01, and Node02 and Node03, and (2) the network I/F 41 allows communication from Node02 to ControllerMaker (control program management server 400). ) to allow communication.

#10(プロセスへの結果返送):実行基盤40は、実行制約検証結果と読み出した秘密情報(Node02通信鍵)をプロセス20に返送する。 #10 (result return to process): The execution platform 40 returns the execution constraint verification result and the read secret information (Node02 communication key) to the process 20.

#11(許可された内部通信を実施):プロセス20は、実行制約に基づき、Node01(プロセス10)、Node03(プロセス30)とのプロセス間通信を開始する。 #11 (Perform permitted internal communication): The process 20 starts inter-process communication with Node01 (process 10) and Node03 (process 30) based on execution constraints.

#12(許可された外部通信を実施):プロセス20は、実行制約に基づき、読み出した秘密情報(Node02通信鍵)を元に、ネットワークI/F41を通し、外部のControllerMaker(制御プログラム管理サーバ400)と通信を行い、遠隔監視や遠隔管理等の機能を実現する。 #12 (Performing authorized external communication): Based on the execution constraints, the process 20 communicates with the external ControllerMaker (control program management server 400) through the network I/F 41 based on the read secret information (Node02 communication key). ) to realize functions such as remote monitoring and remote management.

上述のように、セキュアコンポーネント50の実行制約検証部52は、実行基盤40上で動作するプロセスから当該プロセスに課される実行制約を取得する取得部としての機能、取得した実行制約を検証する検証部としての機能、及び実行制約の検証結果を実行基盤40へ出力する出力部としての機能を備える。 As described above, the execution constraint verification unit 52 of the secure component 50 functions as an acquisition unit that acquires execution constraints imposed on a process from a process running on the execution infrastructure 40, and performs verification to verify the acquired execution constraints. and an output unit that outputs the verification results of execution constraints to the execution platform 40.

これにより、システムの各参加者が実装するプロセスの振る舞いを制御できる。 This allows each participant in the system to control the behavior of the processes they implement.

より具体的には、セキュアコンポーネント50は、署名検証鍵(各Node公開鍵)を記憶する記憶部を備え、実行制約検証部52は、署名付き実行制約を取得し、署名検証鍵を用いて署名付き実行制約を検証する。 More specifically, the secure component 50 includes a storage unit that stores a signature verification key (each node public key), and the execution constraint verification unit 52 acquires a signed execution constraint and performs signature verification using the signature verification key. Verify execution constraints with

また、セキュアコンポーネント50は、実行基盤40上で動作するプロセスに関する制約確認情報(実行制約テーブル53)を記憶する記憶部を備える。実行制約検証部52は、取得した実行制約と、実行制約が課されるプロセスに関する制約確認事項とに基づいて、実行制約を検証する。 The secure component 50 also includes a storage unit that stores constraint confirmation information (execution constraint table 53) regarding processes that operate on the execution platform 40. The execution constraint verification unit 52 verifies the execution constraints based on the acquired execution constraints and the constraint confirmation items regarding the process to which the execution constraints are imposed.

このように、プロセスの動作条件として、プロセスが従う署名付き実行制約の提示を要求し、セキュアコンポーネント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 secure component 50, it is possible to ensure that the process follows the execution constraints that are approved by the process manufacturer and allowed by the secure component 50. By verifying within the secure component 50 that the process is a valid process, tampering and attacks on the execution constraint confirmation can be prevented. It also allows each participant in the system to control the behavior of the processes it implements.

上述の#9のように、ネットワークI/F41は、提供部としての機能を有し、取得した実行制約がプロセスによるデバイス100外との外部通信を許可してあり、当該実行制約の検証が成功した場合、外部通信に必要な情報及び機能の少なくとも1つを当該プロセスに提供することができる。また、ネットワークI/F41は、禁止部としての機能を有し、取得した実行制約がプロセスによるデバイス100外との外部通信を許可してあり、当該実行制約の検証が失敗した場合、当該プロセスによる外部通信を禁止することができる。また、上述の#9のように、プロセス間通信I/F43は、提供部としての機能を有し、取得した実行制約がプロセスによるデバイス100内のプロセス間通信を許可してあり、当該実行制約の検証が成功した場合、プロセス間通信に必要な情報及び機能の少なくとも1つを当該プロセスに提供することができる。また、プロセス間通信I/F43は、禁止部としての機能を有し、取得した実行制約がプロセスによるデバイス100内のプロセス間通信を許可してあり、当該実行制約の検証が失敗した場合、当該プロセスによるプロセス間通信を禁止することができる。通信に必要な情報は、例えば鍵情報を含み、通信に必要な機能は、通信に必要な認証演算等の機能を含む。 As in #9 above, the network I/F 41 has a function as a provider, and the acquired execution constraint allows the process to communicate externally with the outside of the device 100, and the verification of the execution constraint is successful. If so, the process may be provided with at least one of the information and functionality necessary for external communication. In addition, the network I/F 41 has a function as a prohibition unit, and if the acquired execution constraint allows a process to communicate externally with the outside of the device 100, and the verification of the execution constraint fails, the process External communication can be prohibited. Further, as in #9 above, the inter-process communication I/F 43 has a function as a providing unit, and the acquired execution constraint permits inter-process communication within the device 100 by the process, and the execution constraint If the verification of is successful, the process may be provided with at least one of the information and functionality necessary for interprocess communication. Further, the inter-process communication I/F 43 has a function as a prohibition unit, and if the obtained execution constraint permits inter-process communication within the device 100 by a process and the verification of the execution constraint fails, the Processes can be prohibited from interprocess communication. Information necessary for communication includes, for example, key information, and functions necessary for communication include functions such as authentication calculation necessary for communication.

実行基盤40のセキュアコンポーネントI/F42は、転送部、取得部としての機能を有し、プロセスに課される実行制約を当該プロセスから取得してセキュアコンポーネント50へ転送し、実行制約の検証結果をセキュアコンポーネント50から取得する。実行基盤40のネットワークI/F41、プロセス間通信I/F43、及びデバイスアクセスI/F44は、制御部としての機能を有し、取得した検証結果に応じてプロセスの動作を制御することができる。 The secure component I/F 42 of the execution platform 40 has functions as a transfer unit and an acquisition unit, and acquires execution constraints imposed on a process from the process, transfers it to the secure component 50, and transmits the verification results of the execution constraints. Obtained from the secure component 50. The network I/F 41, inter-process communication I/F 43, and device access I/F 44 of the execution platform 40 have a function as a control unit, and can control the operation of the process according to the obtained verification result.

また、本実施形態のプロセス実行管理方法において、プロセスは、実行基盤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 secure component 50 via the execution infrastructure 40, and the secure component 50 acquires the execution constraints, The acquired execution constraints are verified, and the execution constraint verification results are output to the execution platform 40. The execution platform 40 can control the operation of the process according to the verification result.

このように、セキュアコンポーネント50が認めた実行制約を実行基盤40によってプロセスに強制させることにより、セキュアコンポーネント50単体では確保が困難な強制力を実行基盤40との連携により確保できる。また、システムの各参加者が実装するプロセスの振る舞いを制御できる。 In this way, by forcing the process to execute the execution constraints recognized by the secure component 50 using the execution platform 40, enforcement power that is difficult to secure with the secure component 50 alone can be secured through cooperation with the execution platform 40. It also allows each participant in the system to control the behavior of the processes it implements.

図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 secure component 50 independently of the process; (4) Secret information unique to each process can be verified. Advantages such as being able to limit the diffusion range can be obtained.

図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 sensor 61 that is not specified in the execution constraints; (4) Node03 attempts to access the control program management server 400 that is not specified in the execution constraints. And so. Note that Node03 is only permitted to communicate with the motor manufacturer management server 300.

しかし、本実施形態のセキュアコンポーネント50と実行基盤40との組み合わせによって、各問題動作は、以下のように抑止される。
(問題動作#1):実行制約の改ざんによる情報漏洩攻撃
(問題動作#1への対応):セキュアコンポーネント50において、実行制約に対する署名検証に失敗し、プロセスの動作は実行基盤40によってブロックされる。
However, by the combination of the secure component 50 and the execution platform 40 of this embodiment, each problematic operation is suppressed as follows.
(Problem behavior #1): Information leak attack by falsifying execution constraints (Response to problem behavior #1): In the secure component 50, the signature verification for the execution constraint fails, and the operation of the process is blocked by the execution infrastructure 40. .

(問題動作#2):不適切な実行制約の指定による誤動作
(問題動作#2への対応):セキュアコンポーネント50において、実行制約の確認事項上許可されていない実行制約が検出され、実行制約検証に失敗し、プロセスの動作は実行基盤40によってブロックされる。
(Problem behavior #2): Malfunction due to inappropriate execution constraint specification (Response to problem behavior #2): In the secure component 50, an execution constraint that is not permitted based on the execution constraint confirmation items is detected, and execution constraint verification is performed. , and the operation of the process is blocked by the execution infrastructure 40.

(問題動作#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/F 44 of the execution platform 40. In this way, the device access I/F 44 has a function as a provider, and if the acquired execution constraint permits the process to communicate with the peripherals in the device 100 and the verification of the execution constraint is successful. , may provide the process with at least one of the information and functionality necessary for the communication. In addition, the device access I/F 44 has a function as a prohibition unit, and if the acquired execution constraint permits the process to communicate with a peripheral in the device 100 and the verification of the execution constraint fails, the device access I/F 44 Such communication by a process can be prohibited. Information necessary for communication includes, for example, key information, and functions necessary for communication include functions such as authentication calculation necessary for communication.

(問題動作#4):許可されていない外部サーバへの通信
(問題動作#4への対応):実行基盤40のネットワークI/F41によって、許可のない通信としてブロックされる。
(Problem operation #4): Unauthorized communication to an external server (Correspondence to problem operation #4): Blocked by the network I/F 41 of the execution platform 40 as an unauthorized communication.

本実施形態によれば、プロセスがセキュアコンポーネント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 secure component 50 by the process. In this example, the Node02 communication key and the Node03 communication key are confidential information. For example, in order to steal this secret information, it is assumed that Node03 uses Node02's signed Node02 execution constraint as is and receives unauthorized verification. . Since this verification itself is successful, Node03 obtains Node02's communication key, which is Node02's secret information, but due to execution constraints, only communication partners permitted by Node02's manufacturer are allowed. For example, it is impossible to communicate with a server other than the control program management server (ControllerMaker) 400 and leak the stolen Node02 communication key. Therefore, leakage will be suppressed within a specific process within the device 100. This is a minimal security mechanism that limits the scope of signature verification to execution constraints only. Depending on the security policy, it is possible to provide strong protection by using known mechanisms such as including the hash value of the entire process in signature verification or using user authentication.

また、本実施形態によれば、実行制約が適切に検証されえたプロセスに対してのみ、当該プロセスに関係するセキュアコンポーネント50の機能や情報を共有することにより、セキュアコンポーネント50の機能、情報の共有範囲を、実行制約に基づいて制限することができる。また、システムの各参加者が実装するプロセスの振る舞いを制御できる。 Further, according to the present embodiment, by sharing the functions and information of the secure component 50 related to the process only for processes whose execution constraints have been appropriately verified, the functions and information of the secure component 50 can be shared. The scope can be limited based on execution constraints. It also allows each participant in the system to control the behavior of the processes it implements.

図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 device 100, but new execution constraints may be applied to the process at a later date for reasons such as functional expansion. It is also possible to do so. In this case, the new execution constraint may be signed and distributed using a private key held by each manufacturer. It is also possible for the manufacturer not to directly manage signatures, but to outsource signature generation to the secure component manufacturer. Each process in the figure will be described below as #1 to #3.

#1(実行制約の更新):セキュアコンポーネント管理サーバ200は、自身が管理するNode01実行制約230を変更する。図の例では、内部通信にNode03が追加されている。 #1 (updating execution constraints): The secure component management server 200 changes the Node01 execution constraints 230 that it manages. In the example shown in the figure, Node03 is added to internal communication.

#2(署名の付与):セキュアコンポーネント管理サーバ200は、変更したNode01実行制約230に対して、自身が預かるメーカ秘密鍵で署名し、署名付きNode01実行制約11を生成する。ここでは、Node01秘密鍵を使用して署名を生成する。 #2 (Adding a signature): The secure component management server 200 signs the changed Node01 execution constraint 230 with the manufacturer's private key that it keeps, and generates the signed Node01 execution constraint 11. Here, we will generate a signature using the Node01 private key.

#3(デバイスへの配布):セキュアコンポーネント管理サーバ200は、生成した署名付きNode01実行制約11をデバイス100(上のプロセス10)に配布する。配布はオンラインでもよく、USBメモリ等の記録媒体を使ってオフラインで配布してもよい。 #3 (Distribution to devices): The secure component management server 200 distributes the generated signed Node01 execution constraint 11 to the device 100 (process 10 above). Distribution may be done online or offline using a recording medium such as a USB memory.

図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 secure component 50. As illustrated in FIG. 5, even if the execution constraints are updated, the updated execution constraints may not be correctly verified depending on the information on the secure component 50 side. In the example of FIG. 5, the execution constraints have been updated so that Node01 can communicate not only with Node01 but also with Node03, but when checking the constraints on the secure component 50 side, Node01 is only permitted to communicate with Node02. Execution constraint validation fails. In such a case, the secure component 50 may communicate with the secure component management server 200 via a secret communication path and update internal information from the secure component management server 200. Each process in the figure will be described below as #1 to #4.

#1(確認事項の更新):セキュアコンポーネント管理サーバ200は、自身が管理するNode01確認事項240(制約確認事項)を更新する。ここでは、図5における手順で更新した実行制約に合わせ、Node03との通信を許可するように変更する。 #1 (Update of confirmation items): The secure component management server 200 updates the Node01 confirmation items 240 (constraint confirmation items) that it manages. Here, the execution constraints updated in the procedure shown in FIG. 5 are changed to permit communication with Node03.

#2(秘匿通信部への送信):セキュアコンポーネント管理サーバ200は、更新したNode01確認事項240をセキュアコンポーネント50へ送るべく、秘匿通信部220へ送信する。 #2 (Transmission to the secure communication unit): The secure component management server 200 transmits the updated Node01 confirmation item 240 to the secure communication unit 220 in order to send it to the secure component 50.

#3(秘匿通信路の開設):セキュアコンポーネント管理サーバ200は、デバイス100のネットワークI/F41経由で、セキュアコンポーネント50に対し、秘匿通信鍵を用いて秘匿通信路を開設する。 #3 (Establishing a secret communication path): The secure component management server 200 opens a secret communication path to the secure component 50 via the network I/F 41 of the device 100 using the secret communication key.

#4(確認事項の更新):セキュアコンポーネント管理サーバ200は、開設した秘匿通信路経由で新たなNode01確認事項531をセキュアコンポーネント50へ送る。セキュアコンポーネント50は、受信した新たな値でNode01確認事項531を更新する。 #4 (updating confirmation items): The secure component management server 200 sends new Node01 confirmation items 531 to the secure component 50 via the established secret communication channel. The secure component 50 updates the Node01 confirmation item 531 with the received new value.

この手順により、Node01の実行制約と、セキュアコンポーネント50内の制約確認事項の平仄が取れ(Node03への通信が許可され)、Node01は開発者の意図通り振る舞うことが可能となる。 Through this procedure, the execution constraints of Node01 and the constraint confirmation items in the secure component 50 are reconciled (communication to Node03 is permitted), and Node01 is able to behave as intended by the developer.

プロセス側に付随する署名付き実行制約と、セキュアコンポーネント50に格納している制約確認事項の2つを個別に更新することで、プロセス側の修正を容易にしつつ、必要に応じてセキュアコンポーネント50のレベルで実行権限を独立管理し、プロセスの適切な振る舞いを確保できる。 By updating the signed execution constraints attached to the process side and the constraint confirmation items stored in the secure component 50 individually, it is possible to easily modify the process side while also updating the secure component 50 as necessary. Execution privileges can be independently managed at different levels to ensure proper process behavior.

上述のように、セキュアコンポーネント50において、プロセスに課される実行制約は、管理サーバ(セキュアコンポーネント管理サーバ200)によって更新可能である。また、セキュアコンポーネント50において、管理サーバとの間で秘匿通信路を開設し、開設した秘匿通信路を介して、実行制約を検証する際に使用する情報(制約確認事項が更新可能である。 As described above, in the secure component 50, the execution constraints imposed on processes can be updated by the management server (secure component management server 200). In addition, in the secure component 50, a confidential communication path is established with the management server, and information (constraint confirmation items) used when verifying execution constraints can be updated via the established confidential communication path.

このように、セキュアコンポーネント50が許容する実行制約や鍵等、認証に使用する内部情報を、独立した秘匿通信路で遠隔から変更可能にすることで、デバイス100や実行基盤40から独立した管理を行うことで、悪意のあるプロセスからの認証条件改ざんを防止しつつ、遠隔での管理を可能とすることができる。 In this way, the internal information used for authentication, such as the execution constraints and keys allowed by the secure component 50, can be changed remotely through an independent secret communication channel, thereby allowing management independent of the device 100 and the execution platform 40. By doing so, it is possible to prevent authentication conditions from being tampered with by a malicious process, and to enable remote management.

(付記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 Addendum 1, and includes a storage unit that stores a signature verification key, the acquisition unit acquires the signed execution constraint, and the verification unit acquires the signed execution constraint. The signed execution constraint is verified using a verification key.

(付記3)本実施形態のセキュアコンポーネントは、付記1又は付記2のセキュアコンポーネントにおいて、前記実行基盤上で動作するプロセスに関する制約確認情報を記憶する記憶部を備え、前記検証部は、取得した実行制約と、前記実行制約が課されるプロセスに関する制約確認事項とに基づいて、前記実行制約を検証する。 (Additional Note 3) The secure component of this embodiment, in the secure component of Addendum 1 or 2, includes a storage unit that stores constraint confirmation information regarding processes that operate on the execution platform, and the verification unit is configured to The execution constraint is verified based on the constraint and constraint confirmation items regarding the process to which the execution constraint is imposed.

(付記4)本実施形態のセキュアコンポーネントは、付記1から付記3のいずれかのセキュアコンポーネントにおいて、取得した実行制約が前記プロセスによる前記プロセス外との通信を許可してあり、前記実行制約の検証が成功した場合、前記通信に必要な情報及び機能の少なくとも1つを前記プロセスに提供する提供部を備える。 (Additional Note 4) In the secure component of this embodiment, in any of the secure components described in Appendixes 1 to 3, the acquired execution constraint allows the process to communicate with a device outside the process, and the execution constraint is verified. and a providing unit that provides at least one of information and functionality necessary for the communication to the process if the communication is successful.

(付記5)本実施形態のセキュアコンポーネントは、付記1から付記4のいずれかのセキュアコンポーネントにおいて、取得した実行制約が前記プロセスによる前記プロセス外との通信を許可してあり、前記実行制約の検証が失敗した場合、前記プロセスによる通信を禁止する禁止部を備える。 (Additional Note 5) In the secure component of this embodiment, in any of the secure components of Appendixes 1 to 4, the acquired execution constraint permits the process to communicate with a device outside the process, and the execution constraint is verified. The process includes a prohibition unit that prohibits communication by the process if the process fails.

(付記6)本実施形態のセキュアコンポーネントは、付記1から付記5のいずれかのセキュアコンポーネントにおいて、前記プロセスに課される実行制約は、管理サーバによって更新可能である。 (Additional Note 6) In the secure component of the present embodiment, in any of the secure components set forth in Additions 1 to 5, the execution constraints imposed on the process can be updated by the management server.

(付記7)本実施形態のセキュアコンポーネントは、付記1から付記6のいずれかのセキュアコンポーネントにおいて、管理サーバとの間で秘匿通信路を開設する開設部を備え、前記秘匿通信路を介して、実行制約を検証する際に使用する情報が更新可能である。 (Additional Note 7) The secure component of the present embodiment is the secure component according to any one of Appendices 1 to 6, and includes an opening unit that opens a secret communication path with the management server, and via the secret communication path, Information used when validating execution constraints can be updated.

(付記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 Addendums 1 to 7.

(付記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 Node01 execution constraint 20 Node02
21 Signed Node02 execution constraint 30 Node03
31 Signed Node03 execution constraint 40 Execution infrastructure 41 Network I/F
42 Secure component I/F
43 Inter-process communication I/F
44 Device access I/F
50 Secure component 51 Confidential communication unit 52 Execution constraint verification unit 53 Execution constraint table 531 Node01 confirmation items 532 Node02 confirmation items 61 Sensor 62 Motor 100 Device 200 Secure component management server 210 Signature generation unit 220 Confidential communication unit 230 Node01 execution constraints 240 Node01 confirmation Items 300 Motor manufacturer management server 400 Control program management server 310, 410 Signature generation section 320, 420 Node communication section

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つを前記プロセスに提供する提供部を備える、
請求項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.
JP2022063547A 2022-04-06 2022-04-06 Secure component, device, execution platform, and process execution management method Pending JP2023154299A (en)

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)

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