JP2019113886A - Initialization method, secure element, device and program - Google Patents

Initialization method, secure element, device and program Download PDF

Info

Publication number
JP2019113886A
JP2019113886A JP2017244350A JP2017244350A JP2019113886A JP 2019113886 A JP2019113886 A JP 2019113886A JP 2017244350 A JP2017244350 A JP 2017244350A JP 2017244350 A JP2017244350 A JP 2017244350A JP 2019113886 A JP2019113886 A JP 2019113886A
Authority
JP
Japan
Prior art keywords
file
initial setting
secure element
target file
information
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.)
Granted
Application number
JP2017244350A
Other languages
Japanese (ja)
Other versions
JP6988444B2 (en
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 JP2017244350A priority Critical patent/JP6988444B2/en
Publication of JP2019113886A publication Critical patent/JP2019113886A/en
Application granted granted Critical
Publication of JP6988444B2 publication Critical patent/JP6988444B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

To provide an initialization method and the like capable of automatically performing an initialization of a device while securing security.SOLUTION: An initialization method is characterized to cause a computer connected to a device 1 to perform a processing to acquire an initialization file 271 describing an initialization procedure of the device 1 from a secure element 20 installed on the device 1, to refer to the acquired initialization file 271 to construct a virtual environment for initialization, to initialize the device 1 according to the initialization procedure in the virtual environment, and to write a content of initialization to a storage area of the device 1.SELECTED DRAWING: Figure 2

Description

本発明は、初期設定方法、セキュアエレメント、デバイス及びプログラムに関する。   The present invention relates to an initialization method, a secure element, a device and a program.

近年、「モノのインターネット」と呼ばれるIoT(Internet of Things)の市場が急速に拡大している。しかしながら、IoTの「モノ」に相当するデバイス機器はセキュリティ上脆弱なことが多く、問題が顕在化している。   In recent years, the Internet of Things (IoT) market called "Internet of Things" has been rapidly expanding. However, device devices that are equivalent to IoT's "things" are often vulnerable to security, and problems are emerging.

ところで、IoTに係るシステムの運用を開始するには、デバイスが適切に動作するように、OS(オペレーティングシステム)、アプリケーション等のソフトウェアのインストール、IPアドレス等のパラメータの設定など、何らかの初期設定が必要となることが多い。例えば特許文献1には、クライアント端末に対してOSをインストールするサーバ装置等が開示されている。   By the way, in order to start the operation of the system related to IoT, some initial settings such as installation of software such as OS (operating system) and applications, setting of parameters such as IP address, etc. are necessary so that the device operates properly It is often For example, Patent Document 1 discloses a server apparatus or the like for installing an OS on a client terminal.

デバイスの初期設定は、デバイスの製造元で行うほかに、主としてビジネス上の要因により、IoTデバイスの運用者(例えばIoTサービスを提供する事業者、デバイスのエンドユーザ等)が行う場合もある。例えば独自のプロプライエタリ・ソフトウェアを組み込んだIoTデバイスを供給する場合、当該ソフトウェアのソースコードを製造元等に開示したくない場合がある。また、例えば運用者側でデバイスのソフトウェアの動作自体をカスタマイズしたい場合もあり得る。   In addition to the device manufacturer, initial settings of the device may be performed by an IoT device operator (e.g., an IoT service provider, an end user of the device, etc.) mainly due to business factors. For example, in the case of supplying an IoT device incorporating proprietary proprietary software, it may not be desirable to disclose the source code of the software to a manufacturer or the like. Also, for example, there may be a case where the operator wants to customize the operation of software of the device.

しかし、運用者が自らソフトウェアをビルドしてデバイスに書き込むことは、技術的な難易度が高い。一般的に、初期設定作業は製造元の開発環境、又は量産環境として特殊なソフトウェアや機器を必要とするものであり、技術知識に乏しい運用者が初期設定を行うことは現実的ではない。   However, it is technically difficult for operators to build their own software and write them to devices. Generally, the initial setting operation requires special software or equipment as a manufacturer's development environment or mass production environment, and it is not realistic for an operator with little technical knowledge to perform initial setting.

一方、コンピュータの仮想化、及びIaC(Infrastructure as Code)と呼ばれる概念により、仮想的な実行環境を自動的に構築する試みがなされている。例えばWebサーバ、データベースサーバなどの仮想サーバをPC等のハードウェア上に構築する場合、仮想サーバを構築可能な仮想化基盤を用意した上で、インストールすべきサーバプログラムの所在、コンフィグレーションの設定内容等を記述したテキストファイルをPCに与える。PCは、当該ファイルに記載された手順に従って動作し、仮想化基盤上に仮想サーバを自動的に構築する。   On the other hand, attempts have been made to automatically construct a virtual execution environment by computer virtualization and a concept called Infrastructure as Code (IaC). For example, when building a virtual server such as a Web server or a database server on hardware such as a PC, after preparing a virtualization base on which a virtual server can be constructed, the location of the server program to be installed and the setting contents of configuration Give the PC a text file describing the etc. The PC operates according to the procedure described in the file, and automatically builds a virtual server on the virtualization infrastructure.

特開2005−107851号公報JP 2005-107851 A

上記の技術を、IoTデバイスの初期設定に応用することは技術的には可能である。しかしながら、上述のテキストファイルに記述された処理手順、又は処理内容(例えばインストールすべきプログラムの所在)が書き換えられることで、例えば運用者が意図しないプログラムが混入される虞があるなど、セキュリティ上の問題が生じることが予測される。   It is technically possible to apply the above techniques to the initial setup of an IoT device. However, there is a risk that, for example, a program not intended by the operator may be mixed by rewriting the processing procedure described in the above-mentioned text file or the processing content (for example, the location of the program to be installed). Problems are expected to occur.

一つの側面では、セキュリティを確保しつつデバイスの初期設定を自動的に行うことができる初期設定方法等を提供することを目的とする。   In one aspect, it is an object of the present invention to provide an initial setting method and the like which can automatically perform initial setting of a device while securing security.

一つの側面に係る初期設定方法は、デバイスに接続されたコンピュータに、前記デバイスに搭載されたセキュアエレメントから、該デバイスの初期設定手順を記述した初期設定ファイルを取得し、取得した前記初期設定ファイルを参照して、初期設定を行うための仮想環境を構築し、該仮想環境において、前記初期設定手順に従って前記デバイスの初期設定を行い、初期設定内容を前記デバイスの記憶領域に書き込む処理を実行させることを特徴とする。   According to an aspect of the present invention, there is provided an initialization method, wherein a computer connected to a device acquires, from a secure element mounted on the device, an initialization file describing an initialization procedure of the device, and acquiring the initialization file To create a virtual environment for performing initial setting, perform initial setting of the device according to the initial setting procedure in the virtual environment, and execute processing for writing initial setting contents in the storage area of the device It is characterized by

一つの側面に係るセキュアエレメントは、デバイスに搭載されるセキュアエレメントであって、仮想環境を構築し、該仮想環境において前記デバイスの初期設定を行う手順を記述した初期設定ファイルを格納する格納部と、前記デバイスに接続されたコンピュータに対し、前記初期設定ファイルを出力する出力部とを備えることを特徴とする。   The secure element according to one aspect is a secure element mounted on a device, and a storage unit that stores an initialization file that describes a procedure for constructing a virtual environment and initializing the device in the virtual environment. An output unit configured to output the initial setting file to a computer connected to the device.

一つの側面に係るデバイスは、セキュアエレメントを搭載したデバイスであって、前記セキュアエレメントは、仮想環境を構築し、該仮想環境において前記デバイスの初期設定を行う手順を記述した初期設定ファイルを格納する格納部と、前記デバイスに通信接続されたコンピュータに対し、前記初期設定ファイルを出力する出力部とを備えることを特徴とする。   The device according to one aspect is a device equipped with a secure element, and the secure element stores a initialization file describing a procedure for constructing a virtual environment and initializing the device in the virtual environment. A storage unit, and an output unit configured to output the initial setting file to a computer communicably connected to the device.

一つの側面に係るプログラムは、デバイスに接続されたコンピュータに、前記デバイスに搭載されたセキュアエレメントから、該デバイスの初期設定手順を記述した初期設定ファイルを取得し、取得した前記初期設定ファイルを参照して、初期設定を行うための仮想環境を構築し、該仮想環境において、前記初期設定手順に従って前記デバイスの初期設定を行い、初期設定内容を前記デバイスの記憶領域に書き込む処理を実行させることを特徴とする。   A program according to one aspect acquires, from a secure element installed in the device, a computer connected to the device, and acquires an initialization file describing an initialization procedure of the device, and refers to the acquired initialization file Configure a virtual environment for performing initial setting, and in the virtual environment, execute the process of performing initial setting of the device according to the initial setting procedure and writing initial setting contents in the storage area of the device It features.

一つの側面では、セキュリティを確保しつつデバイスの初期設定を自動的に行うことができる。   In one aspect, device initialization can be performed automatically while securing security.

初期設定システムの構成例を示す模式図である。It is a schematic diagram which shows the structural example of an initialization system. デバイス及びPCの構成例を示すブロック図である。It is a block diagram showing an example of composition of a device and PC. 初期設定ファイルの更新処理に関する説明図である。It is explanatory drawing regarding the update process of an initialization file. 初期設定ファイルの読出処理に関する説明図である。FIG. 10 is an explanatory diagram of a process of reading an initialization file. 仮想環境構築処理に関する説明図である。It is an explanatory view about virtual environment construction processing. 対象ファイルの配布方法の一例を示す説明図である。It is explanatory drawing which shows an example of the delivery method of an object file. 特段のセキュリティを要さない配布ケースを示す説明図である。It is explanatory drawing which shows the distribution case which does not require special security. 認証処理を伴う配布ケースを示す説明図である。It is explanatory drawing which shows the distribution case accompanied by an authentication process. 暗号化された対象ファイルを配布するケースを示す説明図である。It is an explanatory view showing the case where the object file which was encrypted is distributed. 対象ファイルの検証処理を伴う配布ケースを示す説明図である。It is explanatory drawing which shows the distribution case accompanied by the verification process of an object file. 対象ファイルを実行ファイルに変換する変換処理に関する説明図である。It is explanatory drawing regarding the conversion process which converts an object file into an execution file. 初期設定内容の書き込み処理に関する説明図である。It is explanatory drawing regarding the writing process of the initial setting content. 初期設定システムが実行する処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence which an initialization system performs. データ更新のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of data update. 初期設定ファイル読出のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of an initialization file read. 仮想環境構築のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of virtual environment construction. ダウンロード処理のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of a download process. 認証処理のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of an authentication process. 復号処理のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of a decoding process. 検証処理のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of verification processing. ファイル変換のサブルーチンの一例を示すフローチャートである。It is a flowchart which shows an example of the subroutine of file conversion. 初期設定内容の書き込み処理のサブルーチンの一例を示すフローチャートである。It is a flow chart which shows an example of a subroutine of writing processing of initial setting contents. 実施の形態2に係る暗号化ファイルの復号処理に関する説明図である。FIG. 18 is an explanatory diagram of decryption processing of the encrypted file according to the second embodiment. 実施の形態2に係る復号処理のサブルーチンの一例を示すフローチャートである。FIG. 16 is a flowchart illustrating an example of a subroutine of decoding processing according to Embodiment 2. FIG.

以下、本発明をその実施の形態を示す図面に基づいて詳述する。
(実施の形態1)
図1は、初期設定システムの構成例を示す模式図である。本実施の形態では、IoTデバイスであるデバイス1の初期設定処理を行うシステムについて説明する。初期設定システムは、デバイス1の初期設定作業を行うPC3と、初期設定に必要な各種データをPC3に配信する管理サーバ4及び配布サーバ5、5、5…とを有する。各装置は、インターネット等のネットワークNを介して通信接続されている。
Hereinafter, the present invention will be described in detail based on the drawings showing the embodiments.
Embodiment 1
FIG. 1 is a schematic view showing a configuration example of an initial setting system. In the present embodiment, a system for performing an initial setting process of the device 1 which is an IoT device will be described. The initial setting system has a PC 3 for performing an initial setting operation of the device 1, a management server 4 for distributing various data necessary for the initial setting to the PC 3, and distribution servers 5, 5,. The respective devices are communicably connected via a network N such as the Internet.

デバイス1は、ネットワークNに接続されて種々の処理を行う電子機器であり、例えば監視カメラ、多機能端末、車両に搭載されたECU(Electronic Control Unit)、生産設備やインフラ設備の異常監視装置等、種々の機器であり得る。後述するように、デバイス1には耐タンパ性を有するセキュアエレメント20が予め搭載されており、セキュアエレメント20に、初期設定の手順を記述した初期設定ファイル271が格納されている(図2等参照)。PC3は、自装置に接続されたデバイス1のセキュアエレメント20から初期設定ファイル271を読み出し、初期設定ファイル271に記述された初期設定手順に従って管理サーバ4及び配布サーバ5、5、5…から各種データを取得し、初期設定作業を行う。PC3は、初期設定内容をデバイス1の記憶領域に書き込み、デバイス1を起動可能な状態にする。   The device 1 is an electronic device connected to the network N to perform various processing, such as a monitoring camera, a multifunctional terminal, an ECU (Electronic Control Unit) mounted on a vehicle, an abnormality monitoring device for production facilities and infrastructure facilities, etc. , And various devices. As will be described later, the tamper resistant secure element 20 is mounted in advance in the device 1, and the secure element 20 stores an initial setting file 271 in which the procedure of the initial setting is described (see FIG. 2 etc.) ). The PC 3 reads the initial setting file 271 from the secure element 20 of the device 1 connected to the own device, and according to the initial setting procedure described in the initial setting file 271, various data from the management server 4 and the distribution servers 5, 5,. Get and do initial setup work. The PC 3 writes the initial setting contents in the storage area of the device 1 to make the device 1 ready to be activated.

PC3は、種々の情報処理、情報の送受信が可能なパーソナルコンピュータであり、デバイス1の運用者が操作する端末装置である。なお、運用者はIoTサービスを提供する事業者であってもよく、デバイス1のエンドユーザであってもよい。運用者は、PC3にデバイス1を接続し、初期設定に係る処理をPC3に実行させる。後述するように、PC3には仮想マシン(仮想環境)を構築するためのソフトウェア上、又はハードウェア上の仮想化基盤が用意されており、PC3は、仮想化基盤上に仮想マシンを構築し、仮想マシンにおいてデバイス1の初期設定を行う。   The PC 3 is a personal computer capable of various information processing and transmission / reception of information, and is a terminal device operated by the operator of the device 1. The operator may be an operator who provides an IoT service, or may be an end user of the device 1. The operator connects the device 1 to the PC 3 and causes the PC 3 to execute processing relating to the initial setting. As will be described later, a virtualization infrastructure on software or hardware for constructing a virtual machine (virtual environment) is prepared for PC 3, and PC 3 constructs a virtual machine on the virtualization infrastructure, Perform initial setting of device 1 in the virtual machine.

管理サーバ4は、本システムを管理する管理者のサーバ装置であり、最新の初期設定ファイル271等を管理する管理装置である。上述の如く、デバイス1のセキュアエレメント20には初期設定ファイル271が格納されているが、管理サーバ4は、当該初期設定ファイル271の最新データを保持している。デバイス1は、PC3に初期設定ファイル271をダウンロードさせる際に最新のファイルを管理サーバ4から取得し、PC3に出力する。   The management server 4 is a server device of a manager who manages the present system, and is a management device which manages the latest initial setting file 271 and the like. As described above, although the initial setting file 271 is stored in the secure element 20 of the device 1, the management server 4 holds the latest data of the initial setting file 271. When downloading the initial setting file 271 to the PC 3, the device 1 acquires the latest file from the management server 4 and outputs it to the PC 3.

配布サーバ5は、初期設定に必要な対象ファイルをPC3に配布するサーバ装置であり、初期設定対象であるOS、アプリケーション等の実行ファイル、あるいはソースコードを保持している。PC3は、初期設定ファイル271の記述に従って配布サーバ5にアクセスし、各種ファイルをダウンロードして初期設定作業を行う。本実施の形態では、PC3は配布サーバ5a、5bからそれぞれ仮想マシンを構築するために必要なOSイメージ及びビルドツールをダウンロードすると共に、配布サーバ5c〜5fからそれぞれ、デバイス1に初期設定するOS、アプリケーション等の対象ファイルをダウンロードし、仮想マシン上に展開する。   The distribution server 5 is a server device that distributes a target file necessary for initial setting to the PC 3 and holds an OS, an executable file such as an application, or a source code that is a target of initial setting. The PC 3 accesses the distribution server 5 according to the description of the initial setting file 271, downloads various files, and performs initial setting work. In this embodiment, the PC 3 downloads an OS image and a build tool necessary for constructing a virtual machine from the distribution servers 5a and 5b, respectively, and initializes the device 1 from the distribution servers 5c to 5f, respectively. Download target files such as applications and deploy them on a virtual machine.

図2は、デバイス1及びPC3の構成例を示すブロック図である。
デバイス1は、デバイス本体10と、セキュアエレメント20とを有する。デバイス本体10は、SoC(System on Chip)により構成され、デバイス1の多く又は全部の機能を実現するデバイス1の本体部分である。セキュアエレメント20は、デバイス本体10とは物理的又は論理的に分離されたハードウェアであり、外部からの攻撃に対して耐タンパ性を有するチップである。セキュアエレメント20は内部に不揮発性メモリを有し、データを安全に保管する。なお、セキュアエレメント20はUICC(Universal Integrated Circuit Card)のように、デバイス1に対して着脱自在な構成であってもよい。デバイス本体10及びセキュアエレメント20は、例えばISO(International Organization Standardization)7816、SPI(Serial Peripheral Interface)等の規格で相互に接続されている。
FIG. 2 is a block diagram showing a configuration example of the device 1 and the PC 3.
The device 1 has a device body 10 and a secure element 20. The device body 10 is a body portion of the device 1 configured by a SoC (System on Chip) and implementing many or all of the functions of the device 1. The secure element 20 is hardware physically or logically separated from the device body 10, and is a chip having tamper resistance against external attacks. The secure element 20 has a non-volatile memory inside, and securely stores data. The secure element 20 may be configured to be removable from the device 1 like a universal integrated circuit card (UICC). The device body 10 and the secure element 20 are mutually connected by a standard such as, for example, ISO (International Organization Standardization) 7816, SPI (Serial Peripheral Interface).

デバイス本体10は、制御部11、記憶部12、内部I/F13、及び外部I/F14を備える。
制御部11は、一又は複数のCPU(Central Processing Unit)、MPU(Micro-Processing Unit)等の演算処理装置を有し、デバイス1に係る種々の情報処理、制御処理を行う。記憶部12は、RAM(Random Access Memory)等の揮発性メモリ、及びROM(Read Only Memory)等の不揮発性メモリを有し、制御部11が処理を実行するために必要な各種データを記憶する。
The device body 10 includes a control unit 11, a storage unit 12, an internal I / F 13, and an external I / F 14.
The control unit 11 includes an arithmetic processing unit such as one or a plurality of central processing units (CPUs) and a micro processing unit (MPU), and performs various information processing and control processes related to the device 1. The storage unit 12 has volatile memory such as random access memory (RAM) and non-volatile memory such as read only memory (ROM), and stores various data necessary for the control unit 11 to execute processing. .

記憶部12の不揮発性メモリには、初期設定によって通常動作時のソフトウェアをインストールすべきインストール領域12aと、デバイス1の出荷前に製造者が書き込みを行うプリインストール領域12bとが用意されている。インストール領域12aは、デバイス1の基本動作を制御するOSや各種アプリケーションの実行ファイルが格納される記憶領域であり、デバイス1の出荷時には何も書き込まれていない。一方、プリインストール領域12bには、デバイス1を起動するためのブートローダ121のほか、初期設定を行うために最低限必要な通信機能に関わるソフトウェア等が書き込まれている。   The non-volatile memory of the storage unit 12 is provided with an installation area 12a to which the software in the normal operation should be installed by initialization and a pre-installation area 12b to which the manufacturer writes before shipping the device 1. The installation area 12 a is a storage area for storing an OS for controlling the basic operation of the device 1 and executable files of various applications, and nothing is written when the device 1 is shipped. On the other hand, in addition to the boot loader 121 for activating the device 1, software and the like relating to the communication function at least necessary for performing the initial setting are written in the pre-install area 12b.

内部I/F13は、セキュアエレメント20と情報の入出力を行うための内部インターフェイスであり、上述の如く、ISO7816、SPI等の規格で情報の入出力を行う。外部I/F14は、デバイス1外部と情報の入出力を行うための外部インターフェイスであり、例えばUSB、Ethernet(登録商標)、Wi−fi(登録商標)等の双方向通信が可能なインターフェイスである。   The internal I / F 13 is an internal interface for performing input and output of information with the secure element 20, and as described above, performs input and output of information according to a standard such as ISO 7816 and SPI. The external I / F 14 is an external interface for inputting and outputting information with the outside of the device 1, and is an interface capable of bi-directional communication such as USB, Ethernet (registered trademark), Wi-fi (registered trademark), etc. .

セキュアエレメント20は、更新部21、運用者認証部22、認証情報生成部23、復号部24、検証部25、入出力I/F26、及び記憶部27を備える。
更新部21は、管理サーバ4から最新の初期設定ファイル271を取得し、初期設定ファイル271の更新を行う。運用者認証部22は、初期設定ファイル271をPC3に出力(ダウンロード)する際に、アクセス者が正当な権限を有する運用者であることを確認する認証処理を行う。認証情報生成部23は、PC3が配布サーバ5から対象ファイルをダウンロードする際、配布サーバ5が行う認証に必要な認証情報を生成する。復号部24は、PC3が配布サーバ5から暗号化された対象ファイルをダウンロードした場合に、当該ファイルの復号処理を行う。検証部25は、PC3が配布サーバ5から署名(付加情報)付きの対象ファイルをダウンロードした場合に、当該署名の検証処理を行う。入出力I/F26は、デバイス本体10との間で情報の入出力を行うインターフェイスである。
The secure element 20 includes an update unit 21, an operator authentication unit 22, an authentication information generation unit 23, a decryption unit 24, a verification unit 25, an input / output I / F 26, and a storage unit 27.
The updating unit 21 acquires the latest initial setting file 271 from the management server 4 and updates the initial setting file 271. When outputting (downloading) the initial setting file 271 to the PC 3, the operator authentication unit 22 performs an authentication process to confirm that the accessor is an operator having a valid right. The authentication information generation unit 23 generates authentication information necessary for authentication performed by the distribution server 5 when the PC 3 downloads a target file from the distribution server 5. When the PC 3 downloads the encrypted target file from the distribution server 5, the decryption unit 24 decrypts the file. When the PC 3 downloads a target file with a signature (additional information) from the distribution server 5, the verification unit 25 verifies the signature. The input / output I / F 26 is an interface that inputs / outputs information to / from the device body 10.

記憶部27は不揮発性メモリであり、初期設定ファイル271、ビルドスクリプト271a、PIN(Personal Identification Number)コード272、更新用鍵273、証明書274、認証用鍵275、暗号鍵276、検証用鍵277、シリアル番号278を記憶している。   The storage unit 27 is a non-volatile memory, and includes an initial setting file 271, a build script 271a, a PIN (Personal Identification Number) code 272, an update key 273, a certificate 274, an authentication key 275, an encryption key 276, and a verification key 277. , Serial number 278 is stored.

初期設定ファイル271は、PC3上で仮想マシンの構築を行い、デバイス1の初期設定を自動で行うための手順を保持するファイルである。初期設定ファイル271に記述された初期設定手順には大別して、PC3に初期設定環境である仮想マシンを構築させる手順、初期設定に必要な各対象ファイルを配布サーバ5からダウンロードする手順、及びデバイス本体10に書き込む対象ファイルをビルドし、デバイス本体10にインストールする手順が含まれている。ビルドスクリプト271aは、上記で説明した対象ファイルのビルド及びインストールに係る具体的な処理手順を記述したスクリプトである。   The initial setting file 271 is a file that holds a procedure for constructing a virtual machine on the PC 3 and automatically performing initial setting of the device 1. The initial setting procedure described in the initial setting file 271 can be roughly divided into a procedure for causing the PC 3 to build a virtual machine that is the initial setting environment, a procedure for downloading each target file necessary for the initial setting from the distribution server 5, and a device main body A procedure for building a target file to be written to 10 and installing it on the device body 10 is included. The build script 271a is a script that describes a specific processing procedure related to the build and installation of the target file described above.

PINコード272は、運用者認証部22が運用者の認証を行う際に照合する値であり、セキュアエレメント20毎に設定された個別の値である。更新用鍵273及び証明書274は、セキュアエレメント20と管理サーバ4との間でエンドツーエンドの秘匿通信路を確立するための鍵値及び証明書である。   The PIN code 272 is a value to be collated when the operator authentication unit 22 authenticates the operator, and is an individual value set for each secure element 20. The update key 273 and the certificate 274 are key values and a certificate for establishing an end-to-end secret communication path between the secure element 20 and the management server 4.

認証用鍵275、暗号鍵276、及び検証用鍵277はそれぞれ、配布サーバ5との間で対象ファイルの送受信を行う際に必要な鍵情報である。認証用鍵275は、認証情報生成部23において認証情報を生成する際に用いる鍵値である。暗号鍵276は、復号部24が暗号化された対象ファイルを復号する際に用いる鍵値である。検証用鍵277は、検証部25が対象ファイルに添付された署名を検証する際に用いる鍵値である。   The authentication key 275, the encryption key 276, and the verification key 277 are key information necessary for transmitting and receiving a target file to and from the distribution server 5, respectively. The authentication key 275 is a key value used when the authentication information generation unit 23 generates authentication information. The encryption key 276 is a key value used when the decryption unit 24 decrypts the encrypted target file. The verification key 277 is a key value used when the verification unit 25 verifies the signature attached to the target file.

シリアル番号278は、セキュアエレメント20の個体識別情報であり、セキュアエレメント20毎に個別に付与される一意の番号である。シリアル番号278は、セキュアエレメント20(デバイス1)の工場出荷時に設定される変更不可能な値であり、セキュアエレメント20の個体識別に利用される。   The serial number 278 is individual identification information of the secure element 20, and is a unique number individually assigned to each secure element 20. The serial number 278 is an immutable value set at the factory shipment of the secure element 20 (device 1), and is used for individual identification of the secure element 20.

PC3は、制御部31、主記憶部32、通信部33、表示部34、入力部35、入出力I/F36、及び補助記憶部37を備える。
制御部31は、一又は複数のCPU、MPU等の演算装置を備え、PC3に係る種々の情報処理、制御処理を行う。主記憶部32は、RAM等の揮発性メモリであり、制御部31が処理を実行する上で必要なデータを一時的に記憶する。通信部33は、通信に関する処理を行う処理回路等を有し、ネットワークNを介して管理サーバ4、配布サーバ5等と通信を行う。表示部34は、液晶ディスプレイ等の表示装置であり、制御部31から与えられた画像を表示する。入力部35は、キーボード、マウス等の操作インターフェイスであり、運用者による操作入力を受け付ける。入出力I/F36は、デバイス本体10の外部I/F14に接続される通信インターフェイスである。補助記憶部37は、ROM等の不揮発性メモリであり、PC3が処理を行うために必要なプログラムP、その他のデータを記憶している。
The PC 3 includes a control unit 31, a main storage unit 32, a communication unit 33, a display unit 34, an input unit 35, an input / output I / F 36, and an auxiliary storage unit 37.
The control unit 31 includes an arithmetic device such as one or more CPUs and MPUs, and performs various information processing and control processes related to the PC 3. The main storage unit 32 is a volatile memory such as a RAM, and temporarily stores data necessary for the control unit 31 to execute processing. The communication unit 33 includes a processing circuit that performs processing related to communication, and communicates with the management server 4 and the distribution server 5 via the network N. The display unit 34 is a display device such as a liquid crystal display, and displays an image given from the control unit 31. The input unit 35 is an operation interface such as a keyboard and a mouse, and receives an operation input by the operator. The input / output I / F 36 is a communication interface connected to the external I / F 14 of the device body 10. The auxiliary storage unit 37 is a non-volatile memory such as a ROM, and stores a program P necessary for the PC 3 to perform processing and other data.

以下では図3〜図12を用いて、デバイス1の初期設定処理の具体的な処理内容について説明する。図3は、初期設定ファイル271の更新処理に関する説明図である。PC3は、自装置に接続されたデバイス1のセキュアエレメント20から、初期設定作業に必要な初期設定ファイル271を読み出し、予め用意された仮想化基盤60上に仮想的な実行環境を構築して、当該仮想環境においてデバイス1の初期設定を行う。なお、仮想化基盤60については後述する。初期設定ファイル271を読み出す場合に、セキュアエレメント20はPC3を介して管理サーバ4と通信を行い、最新の初期設定ファイル271、及び最新の鍵情報を管理サーバ4からダウンロードし、各種データを更新する。   Hereinafter, specific processing contents of the initial setting process of the device 1 will be described with reference to FIGS. 3 to 12. FIG. 3 is an explanatory diagram of the updating process of the initial setting file 271. The PC 3 reads the initial setting file 271 necessary for the initial setting operation from the secure element 20 of the device 1 connected to the own device, and constructs a virtual execution environment on the virtualization base 60 prepared in advance. Initial setting of the device 1 is performed in the virtual environment. The virtualization platform 60 will be described later. When reading the initial setting file 271, the secure element 20 communicates with the management server 4 via the PC 3, downloads the latest initial setting file 271 and the latest key information from the management server 4, and updates various data. .

図3において符号P1〜P8で示す処理プロセスについて、順に説明する。なお、図3では図示の便宜のため、デバイス本体10の内部I/F13及び外部I/F14、セキュアエレメント20の入出力I/F26、並びにPC3の入出力I/F36を点線の矩形枠で図示している。
まず運用者は、デバイス1をPC3に接続してデバイス1の電源を投入し、入力部35を介して初期設定ファイル271の読出要求に係る操作入力を行う(P1)。PC3の制御部31は、入力された読出要求をデバイス本体10に出力する(P2)。読出要求を受け付けた場合、デバイス本体10は、読出要求をセキュアエレメント20に転送する(P3)。
The processing processes indicated by reference signs P1 to P8 in FIG. 3 will be described in order. In FIG. 3, for convenience of illustration, the internal I / F 13 and external I / F 14 of the device main body 10, the input / output I / F 26 of the secure element 20, and the input / output I / F 36 of the PC 3 It shows.
First, the operator connects the device 1 to the PC 3 to turn on the power of the device 1, and performs an operation input relating to a read request for the initial setting file 271 via the input unit 35 (P1). The control unit 31 of the PC 3 outputs the input read request to the device body 10 (P2). When the read request is received, the device body 10 transfers the read request to the secure element 20 (P3).

読出要求を受け付けた場合、セキュアエレメント20の更新部21は、初期設定ファイル271の読み出しに先立ち、デバイス本体10及びPC3に対して管理サーバ4との間の通信路の開設を要求する(P4)。デバイス本体10及びPC3は、セキュアエレメント20からの要求に従い、セキュアエレメント20と管理サーバ4との間の通信路を開設する(P5)。通信路の確立方法は特に限定されないが、例えばセキュアエレメント20にIPアドレスを付与した上で、セキュアエレメント20及び管理サーバ4の間に、TCP(Transmission Control Protocol)に従って情報の伝送を行う通信路を確立する。   When receiving the read request, the update unit 21 of the secure element 20 requests the device body 10 and the PC 3 to open a communication path with the management server 4 before reading the initial setting file 271 (P4) . The device body 10 and the PC 3 establish a communication path between the secure element 20 and the management server 4 according to the request from the secure element 20 (P5). The method of establishing a communication path is not particularly limited. For example, after assigning an IP address to the secure element 20, a communication path for transmitting information according to TCP (Transmission Control Protocol) between the secure element 20 and the management server 4 is used. Establish.

ここで更新部21は、更新用鍵273及び証明書274を用いて、通信路を秘匿化する(P6)。セキュアエレメント20及び管理サーバ4は、更新用鍵273及び証明書274を共有している。セキュアエレメント20及び管理サーバ4は、自身が送信するデータに対して更新用鍵273及び証明書274を含む電子署名を付して送信し、互いにデータを確認して通信を行うことで、通信内容を秘匿化した秘匿通信路を確立する。   Here, the update unit 21 uses the update key 273 and the certificate 274 to conceal the communication path (P6). The secure element 20 and the management server 4 share the update key 273 and the certificate 274. The secure element 20 and the management server 4 attach an electronic signature including the update key 273 and the certificate 274 to the data transmitted by itself, transmit the data, and mutually communicate by confirming the data. Establish a secret communication channel in which

セキュアエレメント20は、秘匿化した通信路を介して、最新の初期設定ファイル271を管理サーバ4からダウンロードし、初期設定ファイル271を更新する(P7)。図3の例では、ファイル更新により、配布サーバ5からダウンロードする対象ファイル(デバイス1にインストールするOSカーネル)のバージョンが「2.6.1」から「4.8.4」に変化している。これにより、後述するダウンロード時に、PC3は最新の対象ファイルをダウンロードする。   The secure element 20 downloads the latest initial setting file 271 from the management server 4 via the concealed communication path, and updates the initial setting file 271 (P7). In the example of FIG. 3, the version of the target file (OS kernel installed on the device 1) to be downloaded from the distribution server 5 is changed from “2.6.1” to “4.8.4” due to the file update. . Thereby, the PC 3 downloads the latest target file at the time of download described later.

また、セキュアエレメント20は秘匿通信路を介して、初期設定作業に用いる最新の鍵情報を管理サーバ4からダウンロードし、鍵情報を更新する(P8)。鍵情報は、配布サーバ5との間で対象ファイルの送受信を行う際に用いる鍵値であり、上述の認証用鍵275、暗号鍵276、及び検証用鍵277である。セキュアエレメント20は、各種鍵の最新版を管理サーバ4からダウンロードし、自身が保持する鍵値を上書きする。セキュアエレメント20は、最新の鍵情報を用いて対象ファイルを配布サーバ5からダウンロードしていく。   Also, the secure element 20 downloads the latest key information used for the initial setting work from the management server 4 via the secret communication path, and updates the key information (P8). The key information is a key value used when transmitting and receiving a target file to and from the distribution server 5, and is the authentication key 275, the encryption key 276, and the verification key 277 described above. The secure element 20 downloads the latest version of each key from the management server 4 and overwrites the key value held by itself. The secure element 20 downloads the target file from the distribution server 5 using the latest key information.

図4は、初期設定ファイル271の読出処理に関する説明図である。初期設定ファイル271及び鍵情報の更新後、PC3は初期設定ファイル271の読み出しを開始する。図4において符号P21〜P27に示す処理プロセスについて、順に説明する。
PC3の制御部31は、運用者による操作入力を受け付け、デバイス1に対し初期設定ファイル271の読み出しを要求する(P21)。デバイス本体10は、PC3から受け付けた読出要求をセキュアエレメント20に転送する(P22)。
FIG. 4 is an explanatory diagram related to reading processing of the initial setting file 271. After updating the initial setting file 271 and the key information, the PC 3 starts reading the initial setting file 271. The processing processes indicated by reference numerals P21 to P27 in FIG. 4 will be described in order.
The control unit 31 of the PC 3 receives an operation input from the operator, and requests the device 1 to read out the initial setting file 271 (P21). The device body 10 transfers the read request received from the PC 3 to the secure element 20 (P22).

読出要求を受け付けた場合、セキュアエレメント20は、正当な運用者による読出要求であるか否かを確認するため、運用者情報の入力をPC3に要求する(P23)。例えばセキュアエレメント20は、PINコード272の入力を要求する。PINコード272は、正当な権限を有する運用者に予め通知されているコードであり、セキュアエレメント20毎に個別に設定された値である。セキュアエレメント20は、製造時においてPINコード272が設定され、内部の不揮発性メモリ(記憶部27)に保持してある。PINコード272の出力要求を受け付けた場合、PC3は、入力部35を介して運用者からPINコード272の入力を受け付け、セキュアエレメント20に出力する(P24)。   When the read request is received, the secure element 20 requests the PC 3 to input the operator information in order to confirm whether the read request is made by a valid operator (P23). For example, the secure element 20 requests input of the PIN code 272. The PIN code 272 is a code notified in advance to an operator having a proper authority, and is a value individually set for each secure element 20. At the time of manufacture, the PIN code 272 is set in the secure element 20 and held in an internal non-volatile memory (storage unit 27). When the output request for the PIN code 272 is received, the PC 3 receives the input of the PIN code 272 from the operator via the input unit 35, and outputs the input to the secure element 20 (P24).

PINコード272をPC3から取得した場合、セキュアエレメント20の運用者認証部22は、取得したPINコード272と、自身が保持するPINコード272とを照合する(P25)。PINコード272が不一致である場合、セキュアエレメント20は処理を中断し、初期設定ファイル271の読み出しを行わない。   When the PIN code 272 is acquired from the PC 3, the operator authentication unit 22 of the secure element 20 collates the acquired PIN code 272 with the PIN code 272 held by itself (P 25). If the PIN code 272 does not match, the secure element 20 interrupts the process and does not read the initialization file 271.

一方、PINコード272が一致した場合、セキュアエレメント20は、初期設定ファイル271を読み出してPC3に出力する(P26)。PC3は、取得した初期設定ファイル271を仮想化基盤60に解釈させ、初期設定ファイル271に基づく初期設定処理の実行を開始する(P27)。   On the other hand, when the PIN code 272 matches, the secure element 20 reads the initial setting file 271 and outputs it to the PC 3 (P26). The PC 3 causes the virtualization infrastructure 60 to interpret the acquired initial setting file 271 and starts executing the initial setting process based on the initial setting file 271 (P27).

仮想化基盤60は、デバイス1の初期設定を行う仮想環境を構築するためのハードウェア上及びソフトウェア上のコンピュータリソースであり、PC3内に予め用意されている。PC3は、セキュアエレメント20から取得した初期設定ファイル271をコンパイルし、仮想化基盤60に実行させる。これにより、後述する仮想マシン61が仮想化基盤60上に構築され、初期設定作業が可能となる。   The virtualization infrastructure 60 is a computer resource on hardware and software for constructing a virtual environment for performing initial setting of the device 1 and is prepared in advance in the PC 3. The PC 3 compiles the initialization file 271 acquired from the secure element 20 and causes the virtualization infrastructure 60 to execute it. As a result, a virtual machine 61, which will be described later, is constructed on the virtualization platform 60, and the initial setting work becomes possible.

なお、上記ではPINコード272を基に運用者の認証を行っているが、例えばパスワード、生体情報等のように、予め取り決められた運用者情報に基づいて運用者を認証可能であればよく、運用者の正当性を証明するための運用者情報はPINコード272に限定されない。   In the above, the authentication of the operator is performed based on the PIN code 272, but it may be possible to authenticate the operator based on the pre-arranged operator information, such as a password, biometric information, etc., The operator information for certifying the operator's legitimacy is not limited to the PIN code 272.

以降の処理でPC3は、初期設定ファイル271に記述された手順に従って動作する。なお、初期設定ファイル271の記述内容、文法等は設計事項であり、PC3は、初期設定ファイル271の手順に従って自動的に動作可能であればよい。   In the subsequent processing, the PC 3 operates according to the procedure described in the initialization file 271. The contents of the initial setting file 271 and the syntax and the like are design items, and the PC 3 may be capable of operating automatically according to the procedure of the initial setting file 271.

図5は、仮想環境構築処理に関する説明図である。初期設定ファイル271をダウンロードしたPC3はまず、初期設定作業を行うための仮想環境(仮想マシン61)を仮想化基盤60上に構築する。図3において符号P41〜43に示す処理プロセスについて、順に説明する。
PC3は、初期設定ファイル271に記述された、初期設定処理を実行する仮想環境を構築するための仮想環境用OSイメージ71をネットワークN経由でダウンロードする(P41)。図5の例では、PC3は初期設定ファイル271の「build−environment OS」の記述に従い、仮想環境用OSイメージ71を配布している配布サーバ5aにアクセスし、ダウンロードを行う。
FIG. 5 is an explanatory diagram about virtual environment construction processing. The PC 3 having downloaded the initial setting file 271 first constructs a virtual environment (virtual machine 61) for performing initial setting work on the virtualization base 60. The processing processes indicated by reference numerals P41 to P43 in FIG. 3 will be described in order.
The PC 3 downloads a virtual environment OS image 71 described in the initial setting file 271 for constructing a virtual environment for executing the initial setting process via the network N (P41). In the example of FIG. 5, the PC 3 accesses the distribution server 5 a distributing the OS image 71 for virtual environment according to the description of “build-environment OS” of the initial setting file 271 and performs download.

PC3は、ダウンロードした仮想環境用OSイメージ71を仮想化基盤60上で展開し、仮想マシン61として起動する(P42)。   The PC 3 deploys the downloaded OS image 71 for virtual environment on the virtualization base 60 and starts up as a virtual machine 61 (P42).

また、PC3は、初期設定ファイル271で指定されたビルドツール72をダウンロードし、起動した仮想マシン61内に格納する(P43)。ビルドツール72は、ソースコードで記述されたソースファイルをコンピュータが解釈可能な実行ファイルに変換(ビルド)するためのツールであり、後述するように、ソースコードで配布される対象ファイルを変換するためのツールである。図5の例では、PC3は初期設定ファイル271の「get build_tool」の記述に従い、ビルドツール72を配布している配布サーバ5bにアクセスし、ダウンロードを行う。   The PC 3 also downloads the build tool 72 specified by the initial setting file 271 and stores it in the activated virtual machine 61 (P43). The build tool 72 is a tool for converting (building) a source file described in source code into an executable file that can be interpreted by a computer, and converts the target file distributed in the source code as described later. Tools. In the example of FIG. 5, the PC 3 accesses the distribution server 5b distributing the build tool 72 according to the description of "get build_tool" of the initialization file 271, and performs download.

PC3は、上記のようにして初期設定作業用の仮想マシン61を構築し、仮想マシン61内で初期設定作業を行う。具体的には以下で説明するように、PC3は、デバイス1に初期設定するOS、アプリケーション等の各種対象ファイルを配布サーバ5c〜5fからダウンロードし、仮想マシン61内に展開して、デバイス1のインストール領域12aに書き込んでいく。ここで、本実施の形態では、対象ファイルの配布元である各配布サーバ5c〜5fのセキュリティポリシーに従い、対象ファイル毎に異なる配布方法を採用する。   The PC 3 constructs the virtual machine 61 for the initial setting work as described above, and performs the initial setting work in the virtual machine 61. Specifically, as described below, the PC 3 downloads various target files such as an OS and an application to be initially set in the device 1 from the distribution servers 5 c to 5 f and develops them in the virtual machine 61. Write to the installation area 12a. Here, in the present embodiment, a different distribution method is adopted for each target file in accordance with the security policy of each of the distribution servers 5c to 5f that are the distribution sources of the target file.

図6は、対象ファイルの配布方法の一例を示す説明図である。図6に示す表では、PC3が配布サーバ5c〜5fからダウンロードする対象ファイルと、各対象ファイルのダウンロード時に「認証」、「暗号化」、及び「検証」で表す各セキュリティ対策が必要か否かと、対象ファイルの配布形態(ファイル形式)とを示してある。   FIG. 6 is an explanatory diagram of an example of the distribution method of the target file. In the table shown in FIG. 6, target files that the PC 3 downloads from the distribution servers 5c to 5f, and whether each security measure represented by “authentication”, “encryption”, and “verification” is necessary when downloading each target file , And the distribution format (file format) of the target file.

「認証」は、対象ファイルのダウンロード時に配布サーバ5dが要求元(PC3の運用者)に対して認証を行い、正当な権限を有する運用者であるか否かを認証するケースを表す。「暗号化」は、配布サーバ5eが対象ファイルを暗号化した上でPC3に配信し、PC3側で対象ファイルの復号が要求されるケースを表す。「検証」は、配布サーバ5fが対象ファイルに電子署名を付した上で配信し、PC3側で電子署名を確認して、対象ファイルが改竄されているか否かを検証するケースを表す。なお、各ケースの具体的な処理内容については後述する。   "Authentication" represents a case where the distribution server 5d authenticates the request source (operator of the PC 3) at the time of downloading the target file and authenticates whether or not the operator has a valid right. "Encryption" represents a case where the distribution server 5e encrypts the target file and distributes it to the PC 3, and the PC 3 side requests decryption of the target file. "Verification" represents a case where the distribution server 5f attaches a digital signature to the target file and distributes it, confirms the digital signature on the PC 3 side, and verifies whether the target file is falsified. The specific processing contents of each case will be described later.

配布形態は、対象ファイルをソースコード形式で配布するか、又は実行ファイル形式で配布するかを規定している。   The distribution form specifies whether the target file is distributed in source code form or executable file form.

図6に示すように、対象ファイルの配布元のポリシーに応じて、対象ファイルのダウンロード時に異なるシーケンスが必要となる。例えば「authorized_software」で示す対象ファイルをダウンロードする場合には運用者の認証を行う必要があるが、「proprietary_software」で示す対象ファイルをダウンロードする場合には対象ファイルの復号を行う必要がある。本実施の形態では、初期設定ファイル271に各配布元のポリシーに応じたダウンロード方法(取得手順)を記述しておき、PC3は、初期設定ファイル271の記述に従って異なる処理手順でダウンロードを行う。   As shown in FIG. 6, according to the policy of the distribution source of the target file, a different sequence is required when downloading the target file. For example, when downloading the target file indicated by "authorized_software", it is necessary to authenticate the operator, but when downloading the target file indicated by "proprietary_software", it is necessary to decrypt the target file. In the present embodiment, the downloading method (acquisition procedure) corresponding to the policy of each distribution source is described in the initial setting file 271, and the PC 3 performs downloading in different processing procedures according to the description of the initial setting file 271.

図7は、特段のセキュリティを要さない配布ケースを示す説明図である。PC3は、初期設定ファイル271に記述された、「IoTデバイス用OS kernel」で示す対象ファイル73を配布サーバ5cからダウンロードする。図7の例では、PC3は「get OS_kernel 4.8.3」の記述に従ってダウンロードを行う。対象ファイル73のケースでは、後述する対象ファイル74〜76とは異なり、初期設定ファイル271においてセキュリティポリシーに関わるダウンロード手順(取得手順)が記述されていない。従って、PC3は特段のセキュリティ対策処理を行うことなく、ダウンロードした対象ファイル73をそのまま仮想マシン61に格納する。   FIG. 7 is an explanatory view showing a distribution case requiring no special security. The PC 3 downloads the target file 73 described in “OS kernel for IoT device” described in the initial setting file 271 from the distribution server 5c. In the example of FIG. 7, the PC 3 performs the download according to the description of “get OS_kernel 4.8.3”. In the case of the target file 73, unlike the target files 74 to 76 described later, the download procedure (acquisition procedure) related to the security policy is not described in the initial setting file 271. Therefore, the PC 3 stores the downloaded target file 73 in the virtual machine 61 as it is without performing special security countermeasure processing.

図8は、認証処理を伴う配布ケースを示す説明図である。図8では、「authorized software」で示す対象ファイル74をダウンロードする場合に、PC3と配布サーバ5dとの間で認証処理を行う様子を図示している。図8において符号P61〜67で示す処理プロセスについて、順に説明する。   FIG. 8 is an explanatory view showing a distribution case involving an authentication process. FIG. 8 illustrates how authentication processing is performed between the PC 3 and the distribution server 5d when the target file 74 indicated by "authorized software" is downloaded. Processing processes indicated by reference numerals P61 to P67 in FIG. 8 will be sequentially described.

まずPC3(仮想化基盤60)は、初期設定ファイル271の記述に従い、対象ファイル74を配布している配布サーバ5dに対し、対象ファイル74の配信を要求する(P61)。図8の例では、PC3は「get authorized_software」の記述に従い、「authorized software」で示す対象ファイル74の背信を要求する。   First, the PC 3 (virtual infrastructure 60) requests the distribution server 5d distributing the object file 74 to distribute the object file 74 according to the description of the initial setting file 271 (P61). In the example of FIG. 8, the PC 3 requests the contradiction of the target file 74 indicated by “authorized software” according to the description of “get authorized_software”.

PC3から配信要求を受け付けた場合、配布サーバ5dは、当該要求が正当な要求であるか否かを確認するため、PC3に対して認証情報の送信を要求する(P62)。認証情報は、配布サーバ5dとセキュアエレメント20との間で共有する秘密の情報に基づいてセキュアエレメント20が生成する情報である。本実施の形態では、セキュアエレメント20は配布サーバ5dとの間で秘密の認証用鍵275(鍵情報)を共有し、認証用鍵275を用いて認証情報を生成する。   When the distribution request is received from the PC 3, the distribution server 5d requests the PC 3 to transmit the authentication information in order to confirm whether the request is a valid request (P62). The authentication information is information generated by the secure element 20 based on the secret information shared between the distribution server 5 d and the secure element 20. In the present embodiment, the secure element 20 shares the secret authentication key 275 (key information) with the distribution server 5d, and generates authentication information using the authentication key 275.

なお、配布サーバ5dとセキュアエレメント20との間で共有する秘密情報はどのような種類の情報であってもよく、例えば上記のPINコード272、又はパスワード、MAC等であってもよい。   The secret information shared between the distribution server 5d and the secure element 20 may be any type of information, and may be, for example, the above-described PIN code 272, a password, or a MAC.

認証情報の送信要求を受け付けた場合、PC3は、セキュアエレメント20に対して認証情報の出力を要求する(P63)。図8の例では、PC3は、初期設定ファイル271の「――AuthWithSE」の記述に基づき、セキュアエレメント20から認証情報を取得する必要があることを確認する。PC3は当該記述に従い、デバイス本体10を介してセキュアエレメント20に対し、認証情報の出力要求を送信する。   When receiving the transmission request of the authentication information, the PC 3 requests the secure element 20 to output the authentication information (P63). In the example of FIG. 8, the PC 3 confirms that it is necessary to acquire authentication information from the secure element 20 based on the description of “-AuthWithSE” of the initialization file 271. The PC 3 transmits an output request for the authentication information to the secure element 20 via the device body 10 according to the description.

認証情報の出力要求を受け付けた場合、セキュアエレメント20の認証情報生成部23は、自身が保持する秘密情報を基に認証情報を生成する(P64)。本実施の形態では、認証情報生成部23は、配布サーバ5dとの間で共有する認証用鍵275と、セキュアエレメント20の個体識別情報であるシリアル番号278とに基づいてMAC(Message Authentication Code)を生成し、シリアル番号278及びMACを認証情報としてPC3に出力する(P65)。   When the output request of the authentication information is received, the authentication information generation unit 23 of the secure element 20 generates authentication information based on the secret information held by itself (P64). In the present embodiment, the authentication information generation unit 23 performs MAC (Message Authentication Code) based on the authentication key 275 shared with the distribution server 5d and the serial number 278 which is individual identification information of the secure element 20. And the serial number 278 and the MAC as authentication information (P65).

PC3は、セキュアエレメント20から出力された認証情報を配布サーバ5dに送信する(P66)。配布サーバ5dは、PC3から受信した認証情報を、自身が保持する認証用鍵275を用いて検証し、セキュアエレメント20が生成した正当な情報であるか否かを判定する。具体的には、配布サーバ5dは、認証情報として添付されているシリアル番号278から、自身が保持する認証用鍵275を用いてMACを計算し、PC3から送信されたものと同一のMACを計算できたか否かを確認する。同一のMACが計算できなかった場合、配布サーバ5dは対象ファイル74の配信を行わず、ダウンロードを拒否する。   The PC 3 transmits the authentication information output from the secure element 20 to the distribution server 5d (P66). The distribution server 5d verifies the authentication information received from the PC 3 using the authentication key 275 held by itself and determines whether the information is valid information generated by the secure element 20 or not. Specifically, the distribution server 5d calculates the MAC from the serial number 278 attached as the authentication information, using the authentication key 275 held by itself, and calculates the same MAC as that transmitted from the PC 3 Check if you can. If the same MAC can not be calculated, the distribution server 5d does not distribute the target file 74 and rejects the download.

正当な情報であると判定した場合、配布サーバ5dは、対象ファイル74をPC3に配信する(P67)。PC3は、上述の仮想環境用OSイメージ71、ビルドツール72と同様にダウンロードを行い、対象ファイル74を仮想マシン61に格納する。   If it is determined that the information is valid, the distribution server 5d distributes the target file 74 to the PC 3 (P67). The PC 3 performs download in the same manner as the virtual environment OS image 71 and the build tool 72 described above, and stores the target file 74 in the virtual machine 61.

なお、上記でセキュアエレメント20は、自身の個体識別情報であるシリアル番号278に基づいて認証情報を生成しているが、セキュアエレメント20ではなく、デバイス1の個体識別情報(製造番号等)によって認証情報を生成してもよい。また、認証情報の元となる個体識別情報は番号に限定されず、個体を一意に特定可能な情報であればよい。   Although the secure element 20 generates the authentication information based on the serial number 278 which is the individual identification information of itself in the above, the authentication is performed not by the secure element 20 but by the individual identification information (production number etc.) of the device 1. Information may be generated. Moreover, the individual identification information which becomes the origin of authentication information is not limited to a number, What is necessary is just the information which can identify an individual uniquely.

図9は、暗号化された対象ファイル75を配布するケースを示す説明図である。図9では、配布サーバ5eから暗号化して配信された対象ファイル75をセキュアエレメント20が復号し、仮想マシン61に格納する様子を図示している。図9において符号P81〜86で示す処理プロセスについて、順に説明する。   FIG. 9 is an explanatory view showing a case of distributing the encrypted target file 75. As shown in FIG. FIG. 9 illustrates the secure element 20 decrypting the target file 75 encrypted and distributed from the distribution server 5 e and storing the target file 75 in the virtual machine 61. Processing processes indicated by reference numerals P81 to P86 in FIG. 9 will be described in order.

PC3(仮想化基盤60)は、初期設定ファイル271の記述に従い、対象ファイル75を配信する配布サーバ5eにアクセスして、対象ファイル75の配信を要求する(P81)。図9の例では、PC3は「get proprietary_software」の記述に従い、「proprietary software」で示す対象ファイル75の配信を要求する。   The PC 3 (virtualization infrastructure 60) accesses the distribution server 5e which distributes the target file 75 according to the description of the initial setting file 271, and requests distribution of the target file 75 (P81). In the example of FIG. 9, the PC 3 requests the delivery of the target file 75 indicated by "proprietary software" according to the description of "get proprietary".

配信要求を受け付けた場合、配布サーバ5eは、セキュアエレメント20との間で共有する暗号鍵276に基づいて対象ファイル75を暗号化した上で、PC3に配信する(P82)。暗号鍵276は、例えば共通鍵方式の共通鍵、公開鍵方式の秘密鍵等であるが、対象ファイル75を暗号化可能であればよく、暗号化の方式は特に限定されない。   When the distribution request is received, the distribution server 5e encrypts the target file 75 based on the encryption key 276 shared with the secure element 20, and distributes it to the PC 3 (P82). The encryption key 276 is, for example, a common key scheme common key, a public key scheme private key, etc., but the encryption scheme is not particularly limited as long as the target file 75 can be encrypted.

暗号化された対象ファイル75を受信した場合、PC3は、対象ファイル75をセキュアエレメント20に送信し、対象ファイル75の復号を要求する(P83)。図9の例では、PC3は初期設定ファイル271の「――DecryptSE」の記述を参照して、セキュアエレメント20が対象ファイル75を復号すべきことを確認する。PC3は当該記述に従って、デバイス本体10を介してセキュアエレメント20に対し、対象ファイル75の復号要求を送信する。   When the encrypted target file 75 is received, the PC 3 sends the target file 75 to the secure element 20, and requests decryption of the target file 75 (P83). In the example of FIG. 9, the PC 3 refers to the description of “—DecryptSE” of the initialization file 271 and confirms that the secure element 20 should decrypt the target file 75. The PC 3 transmits the decryption request of the target file 75 to the secure element 20 via the device body 10 according to the description.

復号要求を受け付けた場合、セキュアエレメント20の復号部24は、セキュアエレメント20が保持する暗号鍵276を用いて、対象ファイル75の復号を行う(P84)。セキュアエレメント20が保持する暗号鍵276は、配布サーバ5eが保持する鍵と同一の共通鍵、又は対応する公開鍵等であるが、配布サーバ5eが暗号化した対象ファイル75を復号可能であればよい。   When the decryption request is received, the decryption unit 24 of the secure element 20 decrypts the target file 75 using the encryption key 276 held by the secure element 20 (P84). The encryption key 276 held by the secure element 20 is the same common key as the key held by the distribution server 5e, or a corresponding public key, but if the distribution file 5e can decrypt the target file 75, the encryption key 276 is the same. Good.

セキュアエレメント20は、復号した対象ファイル75をPC3に返送する(P85)。PC3は、セキュアエレメント20から取得した対象ファイル75を仮想マシン61に格納する(P86)。   The secure element 20 sends the decrypted target file 75 back to the PC 3 (P85). The PC 3 stores the target file 75 acquired from the secure element 20 in the virtual machine 61 (P86).

図10は、対象ファイルの検証処理を伴う配布ケースを示す説明図である。図10では、配布サーバ5fが対象ファイル75に改竄検証用の付加情報(例えば電子署名)を付して配信を行い、セキュアエレメント20が付加情報の検証を行い、検証結果に応じてPC3が仮想マシン61に対象ファイル75を格納する様子を図示している。図10において符号P101〜P107に示す処理プロセスについて、順に説明する。   FIG. 10 is an explanatory diagram of a distribution case accompanied by verification processing of a target file. In FIG. 10, the distribution server 5f adds additional information (for example, an electronic signature) for tampering verification to the target file 75 for distribution, and the secure element 20 verifies the additional information, and the PC 3 virtualizes in accordance with the verification result. It is illustrated that the target file 75 is stored in the machine 61. The processing processes shown by reference numerals P101 to P107 in FIG. 10 will be described in order.

PC3(仮想化基盤60)は、初期設定ファイル271の記述に従い、対象ファイル76の配信を配布サーバ5fに要求する(P101)。図10の例では、PC3は「get correct_software」の記述に基づき、「correct software」で示す対象ファイル76の配信を要求する。   The PC 3 (virtualization infrastructure 60) requests the distribution server 5f to distribute the target file 76 according to the description of the initial setting file 271 (P101). In the example of FIG. 10, the PC 3 requests the delivery of the target file 76 indicated by “correct software” based on the description of “get correct_software”.

配信要求を受け付けた場合、配布サーバ5fは、セキュアエレメント20との間で共有する検証用鍵277を用いて付加情報を生成し、対象ファイル76に付加する(P102)。例えば配布サーバ5fは秘密鍵を、セキュアエレメント20は公開鍵を検証用鍵277として保持している。配布サーバ5fは、自身が保持する秘密鍵を用いて、対象ファイル76の情報から電子署名を生成する。例えば配布サーバ5fは、対象ファイル76のハッシュ値を計算し、当該ハッシュ値に対して自身が保持する秘密鍵を用いて、電子署名を生成する。配布サーバ5fは、生成した電子署名を対象ファイル76に添付する。配布サーバ5fは、付加情報が付された対象ファイル76をPC3に配信する(P103)。   When the distribution request is received, the distribution server 5f generates additional information using the verification key 277 shared with the secure element 20, and adds the additional information to the target file 76 (P102). For example, the distribution server 5 f holds the secret key as the verification key 20, and the secure element 20 holds the public key as the verification key 277. The distribution server 5 f generates a digital signature from the information of the target file 76 using the secret key held by itself. For example, the distribution server 5f calculates a hash value of the target file 76, and generates a digital signature using a secret key held by itself with respect to the hash value. The distribution server 5f attaches the generated electronic signature to the target file 76. The distribution server 5 f distributes the target file 76 with the additional information to the PC 3 (P 103).

配布サーバ5fから対象ファイル76を取得した場合、PC3は、付加情報の検証をセキュアエレメント20に要求する(P104)。図10の例では、PC3は初期設定ファイル271の「――VerifySE」の記述を参照して、セキュアエレメント20が付加情報の検証を行うべきことを確認する。PC3は、付加情報と、対象ファイル76に関する情報とをセキュアエレメント20に送信し、検証を要求する。対象ファイル76に関する情報は、例えば対象ファイル76のハッシュ値であり、PC3はハッシュ値を計算してセキュアエレメント20に送信する。   When the target file 76 is obtained from the distribution server 5f, the PC 3 requests the secure element 20 to verify the additional information (P104). In the example of FIG. 10, the PC 3 refers to the description of “--VerifySE” of the initialization file 271 to confirm that the secure element 20 should verify additional information. The PC 3 sends the additional information and the information on the target file 76 to the secure element 20 and requests verification. The information on the target file 76 is, for example, a hash value of the target file 76, and the PC 3 calculates the hash value and transmits it to the secure element 20.

検証要求を受け付けた場合、セキュアエレメント20の検証部25は、配布サーバ5fとの間で共有する検証用鍵277と、PC3から取得した対象ファイル76に関する情報とに基づき、PC3から取得した付加情報の検証を行う(P105)。例えばセキュアエレメント20は、自身が保持する公開鍵を用いて電子署名を復号し、PC3から取得した対象ファイル76のハッシュ値と照合して、対象ファイル76の改竄の有無を判定する。   When the verification request is received, the verification unit 25 of the secure element 20 adds the additional information acquired from the PC 3 based on the verification key 277 shared with the distribution server 5 f and the information on the target file 76 acquired from the PC 3. Verify (P105). For example, the secure element 20 decrypts the electronic signature using the public key held by itself, and collates it with the hash value of the target file 76 acquired from the PC 3 to determine whether the target file 76 has been tampered with.

セキュアエレメント20は、検証結果をPC3に返信する(P106)。PC3は、改竄が行われている旨の検証結果を取得した場合、対象ファイル76のダウンロードを中断する。一方、改竄が行われておらず、正当な対象ファイル76である旨の検証結果を取得した場合、PC3は、対象ファイル76を仮想マシン61に格納する(P107)。   The secure element 20 sends the verification result back to the PC 3 (P106). When the PC 3 obtains the verification result that tampering has been performed, the PC 3 interrupts the download of the target file 76. On the other hand, when the falsification has not been performed and the verification result that the file is a valid target file 76 is acquired, the PC 3 stores the target file 76 in the virtual machine 61 (P107).

図11は、対象ファイルを実行ファイルに変換する変換処理に関する説明図である。図11では、ソースコードで配布されている対象ファイルを実行ファイルに変換(ビルド)する様子を図示している。   FIG. 11 is an explanatory diagram of conversion processing for converting a target file into an execution file. FIG. 11 illustrates conversion (build) of a target file distributed in source code into an executable file.

図6で説明したように、各配布サーバ5から配布される対象ファイルは、配布形態(ファイル形式)も異なっている。具体的には、配布サーバ5c、5dはそれぞれ、他の配布サーバ5とは異なり、実行ファイルではなくソースファイルを配布している。ソースコードで記述された対象ファイルは、デバイス1がそのまま実行することができないため、実行ファイルに変換(ビルド)してデバイス1が実行可能にする必要がある。一般的に、当該変換作業はコンパイル(プログラム言語から機械言語への変換)と、リンク(ファイル間の呼び出し関係の解決)とから成り、複雑な作業となる。本実施の形態では、セキュアエレメント20に格納されているビルドスクリプト271aに当該変換作業の処理手順が記述されており、PC3はビルドスクリプト271aを参照して自動的に対象ファイルの変換を行う。   As described in FIG. 6, the target files distributed from each distribution server 5 are also different in distribution form (file format). Specifically, each of the distribution servers 5c, 5d distributes source files, not executable files, unlike the other distribution servers 5. Since the target file described in the source code can not be executed as it is by the device 1, it is necessary to convert (build) it into an executable file and make the device 1 executable. In general, the conversion work consists of compilation (conversion from programming language to machine language) and linking (resolution of calling relationships between files), which is a complicated work. In this embodiment, the processing procedure of the conversion work is described in the build script 271a stored in the secure element 20, and the PC 3 automatically converts the target file with reference to the build script 271a.

図11において符号P121〜123で示す処理プロセスについて、順に説明する。PC3(仮想化基盤60)はまず、初期設定ファイル271の記述に基づき、セキュアエレメント20に対してビルドスクリプト271aの出力を要求する(P121)。図11の例では、セキュアエレメント20は初期設定ファイル271の「copyFromSE build_scrypt」の記述に従い、ビルドスクリプト271aの出力を、デバイス本体10を経由してセキュアエレメント20に要求する。セキュアエレメント20は、ビルドスクリプト271aをPC3に出力する(P122)。   The process shown by reference numerals P121 to P123 in FIG. 11 will be described in order. First, the PC 3 (virtualization infrastructure 60) requests the secure element 20 to output the build script 271a based on the description of the initialization file 271 (P121). In the example of FIG. 11, the secure element 20 requests the output of the build script 271 a from the secure element 20 via the device body 10 according to the description of “copyFromSE build_scrypt” of the initialization file 271. The secure element 20 outputs the build script 271a to the PC 3 (P122).

PC3は、初期設定ファイル271の記述に従い、仮想マシン61上でビルドスクリプト271aを実行して、ソースコードとして配布された対象ファイルを実行ファイルに変換する(P123)。図11の例では、PC3は初期設定ファイル271の「run build_scrypt」の記述に従ってビルドスクリプト271aを実行し、ビルドツール72を起動する。PC3はビルドツール72を用いて、ソースコードで配信された「IoTデバイス用OSイメージ」及び「authorized software」の対象ファイル73、74を実行ファイルに変換する。   The PC 3 executes the build script 271a on the virtual machine 61 according to the description of the initial setting file 271 to convert the target file distributed as source code into an executable file (P123). In the example of FIG. 11, the PC 3 executes the build script 271 a according to the description of “run build_scrypt” of the initialization file 271 and starts the build tool 72. The PC 3 uses the build tool 72 to convert target files 73 and 74 of the “OS image for IoT device” and “authorized software” distributed in source code into executable files.

図12は、初期設定内容の書き込み処理に関する説明図である。図12では、PC3が仮想マシン61で設定した初期設定内容をデバイス1のインストール領域12aに書き込む様子を図示している。
PC3は、初期設定ファイル271(ビルドスクリプト271a)の記述に基づき、仮想マシン61に展開した対象ファイルをデバイス1のインストール領域12aに書き込む(P141)。図12の例では、PC3は、ビルドスクリプト271aの「copy to IoT Device all」の記述に従い、「IoTデバイス用OS kernel」で示すデバイス1用のOSカーネル(対象ファイル73)と、各種アプリケーションの実行ファイル(対象ファイル74〜76)とをデバイス本体10に出力する。デバイス本体10は、対象ファイル73〜76を、不揮発性メモリ(記憶部12)内のインストール領域12aに格納する。また、PC3は、デバイス1の電源投入時にインストール領域12aに格納したOSカーネルを起動するよう、プリインストール領域12bのブートローダ121を設定する(P142)。以上より、デバイス1の初期設定が完了する。
FIG. 12 is an explanatory diagram of a process of writing initial setting contents. FIG. 12 illustrates how the PC 3 writes the initial setting contents set by the virtual machine 61 in the installation area 12 a of the device 1.
The PC 3 writes the target file expanded in the virtual machine 61 in the installation area 12a of the device 1 based on the description of the initial setting file 271 (build script 271a) (P141). In the example of FIG. 12, the PC 3 executes the OS kernel (target file 73) for the device 1 indicated by "OS kernel for IoT device" and various applications according to the description of "copy to IoT Device all" of the build script 271a. The files (target files 74 to 76) are output to the device body 10. The device body 10 stores the target files 73 to 76 in the installation area 12 a in the non-volatile memory (storage unit 12). In addition, the PC 3 sets the boot loader 121 of the pre-install area 12 b to boot the OS kernel stored in the install area 12 a when the power of the device 1 is turned on (P 142). From the above, the initial setting of the device 1 is completed.

上記のように、安全なセキュアエレメント20に初期設定ファイル271を格納しておき、デバイス1に接続されたPC3がセキュアエレメント20を読み出し、初期設定ファイル271の手順に従って仮想環境(仮想マシン61)を構築して初期設定作業を行う。これにより、セキュリティを担保しつつ、デバイス1の初期設定を自動的に行うことができる。   As described above, the initial setting file 271 is stored in the secure element 20, and the PC 3 connected to the device 1 reads the secure element 20, and the virtual environment (virtual machine 61) is set according to the procedure of the initial setting file 271. Build and do initial setup work. Thereby, the initial setting of the device 1 can be automatically performed while securing security.

なお、上記では初期設定ファイル271及びビルドスクリプト271aを別々のものとして図示及び説明を行ったが、上記の区別は本質的事項ではなく、PC3は、セキュアエレメント20に予め格納されているファイルに記述された設定手順に従って自動的に初期設定を行うことができればよい。   Although the initialization file 271 and the build script 271a are illustrated and described separately as described above, the above distinction is not an essential matter, and the PC 3 is described in a file stored in advance in the secure element 20. It is sufficient if the initial setting can be performed automatically according to the setting procedure.

また、上記ではローカルPCであるPC3において初期設定作業を行ったが、クラウド上に仮想化基盤を用意しておき、クラウド上で仮想マシンを構築し、初期設定作業を行ってもよい。つまり、初期設定作業を行うコンピュータはデバイス1に直接的に接続されたコンピュータである必要はなく、ネットワークNを介して通信接続されたコンピュータであってもよい。   Further, although the initial setting work is performed in the local PC PC3 in the above description, a virtualization platform may be prepared on the cloud, a virtual machine may be constructed on the cloud, and the initial setting work may be performed. That is, the computer that performs the initial setting operation does not have to be a computer directly connected to the device 1 and may be a computer connected via communication with the network N.

図13は、初期設定システムが実行する処理手順の一例を示すフローチャートである。図13に基づき、本実施の形態の全般的な処理フローについて説明する。
例えばデバイス1がPC3に接続され、デバイス1の電源が投入された場合、本システムは一連の処理をスタートする。デバイス1のセキュアエレメント20は、接続されたPC3を介して管理サーバ4とネットワーク通信を行い、管理サーバ4から最新の初期設定ファイル271及び鍵情報を取得して、自身が保持する各種データを更新する(ステップS11)。初期設定ファイル271は、デバイス1の初期設定手順が記述されたファイルである。鍵情報は、PC3と配布サーバ5との間で対象ファイルの送受信を行う際に用いる鍵値であり、認証用鍵275、暗号鍵276、検証用鍵277を含む。PC3の制御部31は、更新後の初期設定ファイル271をセキュアエレメント20から読み出す(ステップS12)。
FIG. 13 is a flowchart illustrating an example of a processing procedure executed by the initial setting system. A general processing flow of the present embodiment will be described based on FIG.
For example, when the device 1 is connected to the PC 3 and the power of the device 1 is turned on, the system starts a series of processes. The secure element 20 of the device 1 performs network communication with the management server 4 via the connected PC 3, acquires the latest initial setting file 271 and key information from the management server 4, and updates various data held by itself. (Step S11). The initialization file 271 is a file in which an initialization procedure of the device 1 is described. The key information is a key value used when transmitting and receiving a target file between the PC 3 and the distribution server 5, and includes an authentication key 275, an encryption key 276, and a verification key 277. The control unit 31 of the PC 3 reads the updated initial setting file 271 from the secure element 20 (step S12).

制御部31は、初期設定ファイル271を参照して、仮想化基盤60上に仮想環境を構築する(ステップS13)。仮想環境は、PC3の通常のOSとは別のOSで動作する動作環境であり、PC3のソフトウェア及びハードウェア上のコンピュータリソースを用いて構築される仮想マシン61である。制御部31は、初期設定作業を行う仮想マシン61を構築するための仮想環境用OSイメージ71と、仮想マシン61内で対象ファイルのビルド(変換)を行うためのビルドツール72とを配布サーバ5から取得し、仮想マシン61を構築した上、ビルドツール72を仮想マシン61内に格納する。   The control unit 31 constructs a virtual environment on the virtualization infrastructure 60 with reference to the initial setting file 271 (step S13). The virtual environment is an operating environment that operates with an OS different from the normal OS of the PC 3 and is a virtual machine 61 constructed using computer resources on the software and hardware of the PC 3. The control unit 31 distributes an OS image 71 for virtual environment for constructing a virtual machine 61 on which initial setting work is performed, and a build tool 72 for building (converting) a target file in the virtual machine 61. , Build the virtual machine 61, and store the build tool 72 in the virtual machine 61.

制御部31は初期設定ファイル271を参照して、デバイス1に初期設定するOS、アプリケーション等の対象ファイルを各配布サーバ5から順次取得し、仮想環境に格納するダウンロード処理を実行する(ステップS14)。   The control unit 31 refers to the initial setting file 271 to sequentially obtain target files such as an OS and an application to be initially set in the device 1 from each distribution server 5, and executes download processing to be stored in the virtual environment (step S14) .

制御部31は、ステップS14で仮想環境に格納した対象ファイルのうち、ソースコードで記述された対象ファイル(ソースファイル)を実行ファイルに変換する変換処理を実行する(ステップS15)。具体的には、制御部31は、仮想マシン61に格納したビルドツール72を起動し、対象ファイルをビルドする。制御部31は、仮想環境に格納された対象ファイルをデバイス1のインストール領域12a(記憶領域)に書き込み(ステップS16)、一連の処理を終了する。   The control unit 31 executes a conversion process of converting the target file (source file) described in the source code among the target files stored in the virtual environment in step S14 into an executable file (step S15). Specifically, the control unit 31 activates the build tool 72 stored in the virtual machine 61, and builds the target file. The control unit 31 writes the target file stored in the virtual environment in the installation area 12a (storage area) of the device 1 (step S16), and ends the series of processes.

図14は、データ更新のサブルーチンの一例を示すフローチャートである。図14に基づき、ステップS11のサブルーチンについて説明する。
PC3の制御部31は、運用者からの操作入力に従い、デバイス1のセキュアエレメント20に対して初期設定ファイル271の読み出しを要求する(ステップS21)。読出要求を受け付けた場合、セキュアエレメント20は、管理サーバ4との間でTCP等のプロトコルで動作する通信路を開設する(ステップS22)。
FIG. 14 is a flowchart showing an example of a data update subroutine. The subroutine of step S11 will be described based on FIG.
The control unit 31 of the PC 3 requests the secure element 20 of the device 1 to read the initial setting file 271 according to the operation input from the operator (step S21). When receiving the read request, the secure element 20 establishes a communication path operating with a protocol such as TCP with the management server 4 (step S22).

セキュアエレメント20は、管理サーバ4との間で予め共有している更新用鍵273と、証明書274とに基づき、通信路を秘匿化する処理を行う(ステップS23)。セキュアエレメント20は、更新用鍵273及び証明書274を更新部21に設定し、通信データに電子署名を付して管理サーバ4との間の通信を行う。   The secure element 20 performs processing to conceal the communication path based on the update key 273 and the certificate 274 shared in advance with the management server 4 (step S23). The secure element 20 sets the update key 273 and the certificate 274 in the update unit 21, attaches a digital signature to the communication data, and communicates with the management server 4.

セキュアエレメント20は、管理サーバ4に対し、最新の初期設定ファイル271及び鍵情報の送信を要求する(ステップS24)。送信要求を受け付けた場合、管理サーバ4は、最新の初期設定ファイル271及び鍵情報をセキュアエレメント20に送信するステップS25)。   The secure element 20 requests the management server 4 to transmit the latest initial setting file 271 and key information (step S24). When the transmission request is received, the management server 4 transmits the latest initial setting file 271 and key information to the secure element 20 (step S25).

セキュアエレメント20は、自身が保持している初期設定ファイル271を、管理サーバ4から受信した最新の初期設定ファイル271に更新する(ステップS26)。また、セキュアエレメント20は、初期設定作業に用いる各種鍵情報を、管理サーバ4から受信した最新の鍵情報に更新する(ステップS27)。セキュアエレメント20は、サブルーチンをリターンする。   The secure element 20 updates the initial setting file 271 held by itself to the latest initial setting file 271 received from the management server 4 (step S26). Further, the secure element 20 updates various key information used for the initial setting work to the latest key information received from the management server 4 (step S27). The secure element 20 returns a subroutine.

図15は、初期設定ファイル読出のサブルーチンの一例を示すフローチャートである。図15に基づき、ステップS12のサブルーチンの処理内容について説明する。
PC3の制御部31は、初期設定ファイル271の読み出しを要求する(ステップS41)。読出要求を受け付けた場合、セキュアエレメント20は、読出要求を行った運用者の認証を行うため、運用者情報の入力をPC3に要求する(ステップS42)。運用者情報は、例えばPINコード272のほか、パスワード、生体情報等のように、運用者の正当性を証明可能な情報である。運用者情報は、デバイス1(セキュアエレメント20)を購入した運用者と製造者との間で予め取り決められた情報であり、例えば製品出荷時にセキュアエレメント20に格納される。セキュアエレメント20は、運用者との間で予め取り決められた秘密の運用者情報に基づき、運用者の認証を行う。
FIG. 15 is a flowchart showing an example of a subroutine for reading an initial setting file. The processing content of the subroutine of step S12 will be described based on FIG.
The control unit 31 of the PC 3 requests reading of the initial setting file 271 (step S41). When the read request is received, the secure element 20 requests the PC 3 to input the operator information in order to authenticate the operator who made the read request (step S42). The operator information is information that can prove the legitimacy of the operator, such as a password, biometric information, etc. in addition to the PIN code 272, for example. The operator information is information pre-arranged between the operator who purchased the device 1 (secure element 20) and the manufacturer, and is stored in the secure element 20, for example, at the time of product shipment. The secure element 20 authenticates the operator based on secret operator information pre-arranged with the operator.

運用者情報の出力要求を受け付けた場合、PC3の制御部31は、運用者情報(PINコード272等)の入力を受け付けてセキュアエレメント20に送信する(ステップS43)。セキュアエレメント20は、PC3から取得した運用者情報と、記憶部12に予め記憶してある運用者情報とを照合する(ステップS44)。   When receiving the output request of the operator information, the control unit 31 of the PC 3 receives the input of the operator information (PIN code 272 etc.) and transmits it to the secure element 20 (step S43). The secure element 20 collates the operator information acquired from the PC 3 with the operator information stored in advance in the storage unit 12 (step S44).

セキュアエレメント20は、運用者情報が一致したか否かを判定する(ステップS45)。一致しないと判定した場合(S45:NO)、セキュアエレメント20は初期設定ファイル271を出力せず、一連の処理を終了する。一致すると判定した場合(S45:YES)、セキュアエレメント20は初期設定ファイル271をPC3に出力する(ステップS46)。セキュアエレメント20から初期設定ファイル271を取得した場合、PC3の制御部31は、仮想化基盤60に初期設定ファイル271を解釈させて初期設定処理の実行を開始し(ステップS47)、サブルーチンをリターンする。   The secure element 20 determines whether the operator information matches (step S45). If it is determined that they do not match (S45: NO), the secure element 20 does not output the initialization file 271, and ends the series of processes. If it is determined that they match (S45: YES), the secure element 20 outputs the initial setting file 271 to the PC 3 (step S46). When the initial setting file 271 is acquired from the secure element 20, the control unit 31 of the PC 3 causes the virtualization board 60 to interpret the initial setting file 271 and starts execution of the initial setting processing (step S47), and returns the subroutine .

図16は、仮想環境構築のサブルーチンの一例を示すフローチャートである。図16に基づき、ステップS13のサブルーチンの処理内容について説明する。
PC3の制御部31は、初期設定ファイル271を参照して、初期設定処理を実行する仮想環境を構築するための仮想環境用OSイメージ71を配布サーバ5aから取得する(ステップS61)。仮想環境用OSイメージ71は、PC3内の仮想化基盤60上で動作する仮想マシン61のOSイメージである。制御部31は、取得した仮想環境用OSイメージ71に基づき、仮想環境を構築する(ステップS62)。すなわち制御部31は、仮想環境用OSイメージ71を展開して、仮想マシン61を起動する。
FIG. 16 is a flowchart showing an example of a subroutine of virtual environment construction. The processing content of the subroutine of step S13 will be described based on FIG.
The control unit 31 of the PC 3 refers to the initial setting file 271 and acquires from the distribution server 5a an OS image 71 for virtual environment for constructing a virtual environment for executing the initial setting process (step S61). The virtual environment OS image 71 is an OS image of the virtual machine 61 operating on the virtualization platform 60 in the PC 3. The control unit 31 constructs a virtual environment based on the acquired virtual environment OS image 71 (step S62). That is, the control unit 31 deploys the virtual environment OS image 71 and activates the virtual machine 61.

制御部31は、初期設定ファイル271を参照して、ソースコードを実行ファイルに変換(ビルド)するためのビルドツール72を配布サーバ5bから取得し、仮想環境に格納する(ステップS63)。制御部31は、サブルーチンをリターンする。   The control unit 31 refers to the initial setting file 271, acquires a build tool 72 for converting (building) the source code into an executable file from the distribution server 5b, and stores the build tool 72 in the virtual environment (step S63). The control unit 31 returns a subroutine.

図17は、ダウンロード処理のサブルーチンの一例を示すフローチャートである。図17に基づき、ステップS14の処理内容について説明する。
PC3の制御部31は、初期設定ファイル271を参照して、設定手順(取得手順)に記述された対象ファイルが、ダウンロード時に認証処理を伴う対象ファイルであるか否かを判定する(ステップS81)。認証処理を伴う対象ファイルであると判定した場合(S81:YES)、制御部31は、セキュアエレメント20に認証情報を生成させて配布サーバ5dに送信し、配布サーバ5cで認証が成功した場合に対象ファイルをダウンロードする認証処理を実行する(ステップS82)。制御部31は、処理をステップS88に移行する。
FIG. 17 is a flowchart showing an example of a subroutine of download processing. The processing content of step S14 is demonstrated based on FIG.
The control unit 31 of the PC 3 refers to the initial setting file 271 to determine whether the target file described in the setting procedure (acquisition procedure) is a target file accompanied by an authentication process at the time of download (step S81). . If it is determined that the file is a target file accompanied by the authentication process (S81: YES), the control unit 31 causes the secure element 20 to generate authentication information and transmits it to the distribution server 5d, and the authentication by the distribution server 5c is successful. An authentication process for downloading the target file is executed (step S82). The control unit 31 shifts the process to step S88.

認証処理を伴う対象ファイルでないと判定した場合(S81:NO)、制御部31は、設定手順に記述された対象ファイルが、暗号化して配信されるファイルであるか否かを判定する(ステップS83)。暗号化された対象ファイルであると判定した場合(S83:YES)、制御部31は、暗号化された対象ファイルを配布サーバ5eからダウンロードし、セキュアエレメント20に復号させる復号処理を実行する(ステップS84)。制御部31は、処理をステップS88に移行する。   When it is determined that the file is not a target file accompanied by the authentication process (S81: NO), the control unit 31 determines whether the target file described in the setting procedure is a file to be distributed by encryption (step S83). ). When it is determined that the file is an encrypted target file (S83: YES), the control unit 31 downloads the encrypted target file from the distribution server 5e, and executes decryption processing to make the secure element 20 decrypt (step S84). The control unit 31 shifts the process to step S88.

暗号化された対象ファイルでないと判定した場合(S83:NO)、制御部31は、設定手順に記述された対象ファイルが、ファイル改竄の検証処理が必要な対象ファイルであるか否かを判定する(ステップS85)。検証処理が必要な対象ファイルであると判定した場合(S85:YES)、制御部31は、改竄検証用の付加情報が付された対象ファイルを配布サーバ5fからダウンロードし、セキュアエレメント20に付加情報を検証させる検証処理を実行する(ステップS86)。制御部31は、処理をステップS88に移行する。   If it is determined that the target file is not an encrypted target file (S83: NO), the control unit 31 determines whether the target file described in the setting procedure is a target file for which file tampering verification processing is required. (Step S85). If it is determined that the target file needs verification processing (S85: YES), the control unit 31 downloads the target file to which the additional information for tampering verification is added from the distribution server 5f, and adds the additional information to the secure element 20. A verification process is performed to verify (step S86). The control unit 31 shifts the process to step S88.

検証処理が必要な対象ファイルでないと判定した場合(S85:NO)、制御部31は特段のセキュリティ処理を行わず、対象ファイルを配布サーバ5cから取得して仮想環境に格納する(ステップS87)。   If it is determined that the target file is not a target file requiring verification processing (S85: NO), the control unit 31 acquires a target file from the distribution server 5c and stores it in the virtual environment without performing special security processing (step S87).

制御部31は、初期設定ファイル271に規定された全ての対象ファイルをダウンロードしたか否かを判定する(ステップS88)。全ての対象ファイルをダウンロードしていないと判定した場合(S88:NO)、制御部31は処理をステップS81に戻し、次の設定手順に記述された対象ファイルを配布サーバ5からダウンロードする。全ての対象ファイルをダウンロードしたと判定した場合(S88:YES)、制御部31はサブルーチンをリターンする。   The control unit 31 determines whether all target files defined in the initial setting file 271 have been downloaded (step S88). When it is determined that all target files have not been downloaded (S88: NO), the control unit 31 returns the process to step S81, and downloads the target file described in the next setting procedure from the distribution server 5. If it is determined that all target files have been downloaded (S88: YES), the control unit 31 returns a subroutine.

図18は、認証処理のサブルーチンの一例を示すフローチャートである。図18に基づき、ステップS82のサブルーチンの処理内容について説明する。
PC3の制御部31は、配布サーバ5dに対し、対象ファイル74の送信を要求する(ステップS101)。送信要求を受け付けた場合、配布サーバ5dは認証情報の出力をPC3に対して要求する(ステップS102)。認証情報は、対象ファイル74を要求する要求元の正当性を確認するための情報であり、セキュアエレメント20と配布サーバ5dとの間で共有される認証用鍵275と、セキュアエレメント20の個体識別情報であるシリアル番号278とに基づいて生成される。
FIG. 18 is a flowchart illustrating an example of a subroutine of the authentication process. The processing content of the subroutine of step S82 will be described based on FIG.
The control unit 31 of the PC 3 requests the distribution server 5d to transmit the target file 74 (step S101). When the transmission request is received, the distribution server 5d requests the PC 3 to output the authentication information (step S102). The authentication information is information for confirming the legitimacy of the request source that requests the target file 74, and the authentication key 275 shared between the secure element 20 and the distribution server 5d, and individual identification of the secure element 20. It is generated based on the serial number 278 which is information.

配布サーバ5dから認証情報の出力要求を受け付けた場合、PC3の制御部31は、出力要求をセキュアエレメント20に転送する(ステップS103)。PC3から認証情報の出力要求を受け付けた場合、セキュアエレメント20は、記憶部12に記憶してある認証用鍵275と、シリアル番号278とに基づき、認証情報を生成する(ステップS104)。例えばセキュアエレメント20は、認証用鍵275及びシリアル番号278に基づいてMACを生成する。   When receiving the output request of the authentication information from the distribution server 5d, the control unit 31 of the PC 3 transfers the output request to the secure element 20 (step S103). When receiving an output request for authentication information from the PC 3, the secure element 20 generates authentication information based on the authentication key 275 stored in the storage unit 12 and the serial number 278 (step S 104). For example, the secure element 20 generates a MAC based on the authentication key 275 and the serial number 278.

セキュアエレメント20は、上記で生成したMACと、シリアル番号278とを認証情報としてPC3に出力する(ステップS105)。セキュアエレメント20から認証情報を取得した場合、PC3の制御部31は、当該認証情報を配布サーバ5dに送信する(ステップS106)。   The secure element 20 outputs the MAC generated above and the serial number 278 as authentication information to the PC 3 (step S105). When the authentication information is acquired from the secure element 20, the control unit 31 of the PC 3 transmits the authentication information to the distribution server 5d (step S106).

PC3から認証情報を受信した場合、配布サーバ5dは当該認証情報に基づき、対象ファイル74の要求元の正当性を認証する認証処理を行う(ステップS107)。具体的には、配布サーバ5dはセキュアエレメント20と共有している認証用鍵275を用いてシリアル番号278からMACを生成(計算)し、PC3から受信したMACと同一の値を生成できたか否かを確認する。   When the authentication information is received from the PC 3, the distribution server 5d performs an authentication process for authenticating the legitimacy of the request source of the target file 74 based on the authentication information (step S107). Specifically, the distribution server 5d generates (calculates) a MAC from the serial number 278 using the authentication key 275 shared with the secure element 20, and generates the same value as the MAC received from the PC 3 Make sure.

配布サーバ5dは、認証に成功したか否かを判定する(ステップS108)。認証に成功しなかったと判定した場合(S108:NO)、配布サーバ5dは対象ファイル74をPC3に送信せず、サブルーチンをリターンする。認証に成功したと判定した場合(S108:YES)、配布サーバ5dは対象ファイル74をPC3に送信する(ステップS109)。制御部31は、配布サーバ5dから対象ファイル74を取得して仮想環境に格納し(ステップS110)、サブルーチンをリターンする。   The distribution server 5d determines whether the authentication has succeeded (step S108). When it is determined that the authentication is not successful (S108: NO), the distribution server 5d does not transmit the target file 74 to the PC 3, and returns a subroutine. When it is determined that the authentication is successful (S108: YES), the distribution server 5d transmits the target file 74 to the PC 3 (step S109). The control unit 31 acquires the target file 74 from the distribution server 5d and stores it in the virtual environment (step S110), and returns the subroutine.

図19は、復号処理のサブルーチンの一例を示すフローチャートである。図19に基づき、ステップS84のサブルーチンの処理内容について説明する。
PC3の制御部31は、対象ファイル75の送信を配布サーバ5eに要求する(ステップS121)。送信要求を受け付けた場合、配布サーバ5eは、セキュアエレメント20と共有している暗号鍵276を用いて対象ファイル75を暗号化する(ステップS122)。配布サーバ5eは、暗号化した対象ファイル75をPC3に送信する(ステップS123)。
FIG. 19 is a flowchart illustrating an example of a subroutine of the decoding process. The processing content of the subroutine of step S84 will be described based on FIG.
The control unit 31 of the PC 3 requests the distribution server 5e to transmit the target file 75 (step S121). When the transmission request is received, the distribution server 5e encrypts the target file 75 using the encryption key 276 shared with the secure element 20 (step S122). The distribution server 5e transmits the encrypted target file 75 to the PC 3 (step S123).

配布サーバ5eから暗号化された対象ファイル75を取得した場合、PC3の制御部31は、当該対象ファイル75をセキュアエレメント20に転送し、対象ファイル75の復号を要求する(ステップS124)。復号要求を受け付けた場合、セキュアエレメント20は、自身が保持する暗号鍵276を用いて、対象ファイル75を復号する。(ステップS125)。セキュアエレメント20は、復号した対象ファイル75をPC3に返送する(ステップS126)。PC3の制御部31は、セキュアエレメント20が復号した対象ファイル75を仮想環境に格納し(ステップS127)、サブルーチンをリターンする。   When the encrypted target file 75 is acquired from the distribution server 5e, the control unit 31 of the PC 3 transfers the target file 75 to the secure element 20 and requests decryption of the target file 75 (step S124). When the decryption request is received, the secure element 20 decrypts the target file 75 using the encryption key 276 held by itself. (Step S125). The secure element 20 sends the decrypted target file 75 back to the PC 3 (step S126). The control unit 31 of the PC 3 stores the target file 75 decrypted by the secure element 20 in the virtual environment (step S127), and returns the subroutine.

図20は、検証処理のサブルーチンの一例を示すフローチャートである。図20に基づき、ステップS86のサブルーチンの処理内容について説明する。
PC3の制御部31は、対象ファイル76の送信を配布サーバ5fに要求する(ステップS141)。送信要求を受け付けた場合、配布サーバ5dは、セキュアエレメント20と共有している検証用鍵277と、配信対象である対象ファイル75に関する情報とに基づき、改竄検証用の付加情報を生成する(ステップS142)。例えば配布サーバ5dは、対象ファイル75のハッシュ値に対して秘密鍵(検証用鍵277)を用い、電子署名を生成する。
FIG. 20 is a flowchart illustrating an example of a subroutine of verification processing. The processing content of the subroutine of step S86 will be described based on FIG.
The control unit 31 of the PC 3 requests the distribution server 5f to transmit the target file 76 (step S141). When the transmission request is received, the distribution server 5d generates additional information for tampering verification based on the verification key 277 shared with the secure element 20 and the information on the target file 75 to be distributed (step S142). For example, the distribution server 5d generates a digital signature using the secret key (verification key 277) for the hash value of the target file 75.

配布サーバ5fは、生成した付加情報を付して対象ファイル76をPC3に送信する(ステップS143)。配布サーバ5fから付加情報が付された対象ファイル76を取得した場合、PC3の制御部31は、付加情報及び対象ファイル76の情報をセキュアエレメント20に転送し、付加情報の検証を要求する(ステップS144)。   The distribution server 5f adds the generated additional information and transmits the target file 76 to the PC 3 (step S143). When acquiring the target file 76 to which the additional information is added from the distribution server 5f, the control unit 31 of the PC 3 transfers the additional information and the information on the target file 76 to the secure element 20 and requests verification of the additional information (step S144).

検証要求を受け付けた場合、セキュアエレメント20は、自身が保持してある検証用鍵277を用いて、付加情報から対象ファイル76に関する情報を復号する処理を行う(ステップS145)。例えばセキュアエレメント20は、配布サーバ5fが保持する秘密鍵に対応する公開鍵を用いて、電子署名から対象ファイル76のハッシュ値を復号する。セキュアエレメント20は、PC3から取得した対象ファイル76に関する情報(ハッシュ値)と、復号した情報とを照合することで、対象ファイル76の改竄の有無を検証する(ステップS146)。   When the verification request is received, the secure element 20 performs a process of decrypting the information related to the target file 76 from the additional information, using the verification key 277 held by itself (step S145). For example, the secure element 20 decrypts the hash value of the target file 76 from the electronic signature using the public key corresponding to the secret key held by the distribution server 5 f. The secure element 20 verifies the presence or absence of falsification of the target file 76 by collating the information (hash value) on the target file 76 acquired from the PC 3 with the decrypted information (step S146).

セキュアエレメント20は、検証結果をPC3に返送する(ステップS147)。PC3の制御部31は、セキュアエレメント20から取得した検証結果を参照して、対象ファイル76が改竄されているか否かを判定する(ステップS148)。改竄されていると判定した場合(S148:YES)、制御部31は対象ファイル76を仮想環境に格納せず、サブルーチンをリターンする。改竄されていないと判定した場合(S148:NO)、制御部31は対象ファイル76を仮想環境に格納し(ステップS149)、サブルーチンをリターンする。   The secure element 20 returns the verification result to the PC 3 (step S147). The control unit 31 of the PC 3 refers to the verification result acquired from the secure element 20, and determines whether the target file 76 is tampered (step S148). If it is determined that the file is tampered (S148: YES), the control unit 31 does not store the target file 76 in the virtual environment, and returns a subroutine. If it is determined that the file is not tampered (S148: NO), the control unit 31 stores the target file 76 in the virtual environment (step S149), and returns the subroutine.

図21は、ファイル変換のサブルーチンの一例を示すフローチャートである。図21に基づき、ステップS15のサブルーチンの処理内容について説明する。
PC3の制御部31は、セキュアエレメント20に対し、対象ファイルのビルド及びインストールの処理手順を記述したビルドスクリプト271aの出力を要求する(ステップS161)。当該出力要求を受け付けた場合、セキュアエレメント20はビルドスクリプト271aを出力する(ステップS162)。PC3の制御部31は、ビルドスクリプト271aを実行し、ビルドツール72を起動してソースコードの対象ファイルを実行ファイルに変換する(ステップS163)。制御部31は、サブルーチンをリターンする。
FIG. 21 is a flowchart showing an example of a file conversion subroutine. The processing content of the subroutine of step S15 will be described based on FIG.
The control unit 31 of the PC 3 requests the secure element 20 to output the build script 271a describing the processing procedure of the build and installation of the target file (step S161). When the output request is received, the secure element 20 outputs the build script 271a (step S162). The control unit 31 of the PC 3 executes the build script 271a, activates the build tool 72, and converts the target file of the source code into an executable file (step S163). The control unit 31 returns a subroutine.

図22は、初期設定内容の書き込み処理のサブルーチンの一例を示すフローチャートである。図22に基づき、ステップS16のサブルーチンの処理内容について説明する。
PC3の制御部31は、仮想環境に展開した対象ファイルをデバイス本体10に出力する(ステップS181)。対象ファイルは、デバイス1を動作させるOS、アプリケーション等の実行ファイルである。PC3から対象ファイルを取得した場合、デバイス本体10の制御部11は、不揮発性メモリ(記憶部12)のインストール領域12aに対象ファイルを書き込む(ステップS182)。また、制御部11はPC3からの指示に従い、インストール領域に記憶したデバイス1のOSカーネルを電源投入時に起動するようブートローダ121を設定し(ステップS183)、サブルーチンをリターンする。
FIG. 22 is a flowchart showing an example of a subroutine of the process of writing the initial setting contents. The processing content of the subroutine of step S16 will be described based on FIG.
The control unit 31 of the PC 3 outputs the target file expanded in the virtual environment to the device body 10 (step S181). The target file is an executable file such as an OS or an application that operates the device 1. When the target file is acquired from the PC 3, the control unit 11 of the device body 10 writes the target file in the installation area 12 a of the non-volatile memory (storage unit 12) (step S 182). Further, the control unit 11 sets the boot loader 121 so as to start up the OS kernel of the device 1 stored in the installation area at the time of power on according to the instruction from the PC 3 (step S183), and returns the subroutine.

なお、上記では簡潔のため、一の対象ファイルをダウンロード時に一のセキュリティ対策(ダウンロード時の認証、ファイルの暗号化等のいずれか)しか行わないものとして説明したが、複数のセキュリティ対策を組み合わせてもよい。   In the above description, for the sake of brevity, it has been described that only one security measure (any one of authentication at download, file encryption, etc.) is performed when downloading one target file, but combining multiple security measures It is also good.

また、上記では別段説明しなかったが、PC3と配布サーバ5とは、セキュアエレメント20又はデバイス1の識別情報(例えばシリアル番号278)を送受信しながら通信を行い、個々のデバイス1毎に対象ファイルのダウンロードの手順又は内容を変更してもよい。例えばセキュリティ対策のために用いる鍵情報をセキュアエレメント20毎に個別化しておき、配布サーバ5はPC3からセキュアエレメント20の識別情報を受信して、個体毎に別々の鍵情報を用いてファイルの送受信を行う。また、例えば配布サーバ5は、セキュアエレメント20の識別情報に応じて異なるファイルをダウンロードさせるようにしてもよい。このように、配布サーバ5から対象ファイルをダウンロードする際にセキュアエレメント20の識別情報を送受信し、ダウンロードの手順又は内容を異ならせることで、より柔軟で安全なファイルのダウンロードを行うことができる。   Further, although not separately described above, the PC 3 and the distribution server 5 communicate while transmitting and receiving the identification information (for example, the serial number 278) of the secure element 20 or the device 1, and target files for each device 1 You may change the download procedure or content of For example, key information used for security measures is individualized for each secure element 20, and the distribution server 5 receives identification information of the secure element 20 from the PC 3, and transmits and receives files using different key information for each individual I do. Also, for example, the distribution server 5 may download different files according to the identification information of the secure element 20. As described above, when the target file is downloaded from the distribution server 5, the identification information of the secure element 20 is transmitted and received, and the download procedure or contents are made different, whereby more flexible and safe file download can be performed.

以上より、本実施の形態1によれば、耐タンパ性を有するセキュアエレメント20に格納されている初期設定ファイル271を読み出し、当該ファイルに記述された手順で初期設定を行う。これにより、情報漏洩、停止、DoS攻撃等によって初期設定の手順や内容が書き換えられるような事態を防止し、セキュリティを担保しながらも、初期設定を自動化することができる。   As described above, according to the first embodiment, the initialization file 271 stored in the tamper-resistant secure element 20 is read, and initialization is performed according to the procedure described in the file. In this way, it is possible to prevent the situation where the procedure and contents of the initial setting are rewritten due to information leakage, stop, DoS attack, etc., and to automate the initial setting while securing security.

また、本実施の形態1によれば、初期設定ファイル271で指定された対象ファイル73〜76をネットワークN経由で順次ダウンロードし、デバイス1のインストール領域12aに書き込むことができる。これにより、所望のソフトウェアをデバイス1へ自動的に組み込むことができ、適切な初期設定を行うことができる。   Further, according to the first embodiment, the target files 73 to 76 specified by the initial setting file 271 can be sequentially downloaded via the network N and written to the installation area 12 a of the device 1. Thereby, desired software can be automatically incorporated into the device 1 and appropriate initial settings can be performed.

また、本実施の形態1によれば、セキュアエレメント20に保持してある鍵情報を用いてファイルの授受を行う。これにより、初期設定作業時の安全性を向上させることができる。特に本実施の形態では、対象ファイル毎に異なるセキュリティポリシーに合わせて初期設定ファイル271に各ファイルのダウンロード手順を規定し、別々の鍵を用いて別々の処理を行う。これにより、セキュリティポリシーが異なる各ファイルを柔軟に組み合わせて初期設定を行うことができる。   Further, according to the first embodiment, the file is exchanged using the key information stored in the secure element 20. Thereby, the safety at the time of the initial setting operation can be improved. In particular, in the present embodiment, the download procedure of each file is defined in the initial setting file 271 in accordance with the security policy different for each target file, and separate processing is performed using different keys. In this way, it is possible to flexibly combine the files having different security policies and perform initialization.

また、本実施の形態1によれば、対象ファイルのダウンロード時にセキュアエレメント20で認証情報を生成し、当該認証情報に基づく認証が成功した場合にファイルをダウンロード可能とする。これにより、デバイス1の正当な運用者のみにファイルの配布を限定することができ、かつ、認証用の鍵を適切に保護することができる。   Further, according to the first embodiment, the authentication information is generated by the secure element 20 when the target file is downloaded, and the file can be downloaded when the authentication based on the authentication information is successful. As a result, the distribution of the file can be limited only to the authorized operator of the device 1, and the key for authentication can be appropriately protected.

また、本実施の形態1によれば、対象ファイルを暗号化して配布し、セキュアエレメント20においてファイルを復号する。これにより、内容を秘匿化したいファイルの解析を防止することができ、かつ、復号用の鍵を適切に保護することができる。   Further, according to the first embodiment, the target file is encrypted and distributed, and the secure element 20 decrypts the file. As a result, it is possible to prevent the analysis of the file whose contents are to be concealed, and to appropriately protect the decryption key.

また、本実施の形態1によれば、対象ファイルに電子署名等の付加情報を付して配布し、セキュアエレメント20が検証用鍵277を用いて付加情報を復号し、照合を行う。これにより、デバイス1に初期設定されるソフトウェアの改竄を防止することができ、かつ、改竄検証用の鍵を適切に保護することができる。   Further, according to the first embodiment, additional information such as an electronic signature is attached to the target file and distributed, and the secure element 20 decrypts the additional information using the verification key 277 to perform collation. As a result, it is possible to prevent the falsification of the software initially set in the device 1, and to properly protect the falsification verification key.

また、本実施の形態1によれば、セキュアエレメント20(又はデバイス1)の識別情報を配布サーバ5との間で送受信し、製品個体毎に初期設定の手順や内容を異ならせてもよい。これにより、より柔軟で安全な初期設定を行うことができる。   Further, according to the first embodiment, the identification information of the secure element 20 (or the device 1) may be transmitted to and received from the distribution server 5, and the procedure and contents of the initial setting may be different for each product. This allows more flexible and safe initial settings.

また、本実施の形態1によれば、ソースコード(ソースファイル)で配布される対象ファイルを実行ファイルにビルドすることができ、配布形態の自由度を向上させることができる。   Further, according to the first embodiment, the target file distributed by the source code (source file) can be built into the executable file, and the degree of freedom of the distribution mode can be improved.

(実施の形態2)
実施の形態1では図9等において、暗号化された対象ファイル75をセキュアエレメント20が復号する形態について説明した。本実施の形態では、PC3がセキュアエレメント20から鍵情報を取得して対象ファイル75の復号を行う形態について述べる。なお、実施の形態1と重複する内容については同一の符号を付して説明を省略する。
Second Embodiment
In the first embodiment, the form in which the secure element 20 decrypts the encrypted target file 75 has been described with reference to FIG. 9 and the like. In this embodiment, an embodiment will be described in which the PC 3 acquires key information from the secure element 20 and decrypts the target file 75. The same reference numerals as in the first embodiment denote the same parts as in the first embodiment, and a description thereof will be omitted.

図23は、実施の形態2に係る暗号化ファイルの復号処理に関する説明図である。図23では、配布サーバ5eが暗号鍵276から生成した派生鍵276aを用いて対象ファイル75の暗号化を行うと共に、セキュアエレメント20が派生鍵276aを生成してPC3に受け渡し、PC3が対象ファイル75を復号する様子を図示している。図23において符号P201〜P208で示す処理プロセスについて、順に説明する。   FIG. 23 is an explanatory diagram of decryption process of the encrypted file according to the second embodiment. In FIG. 23, the distribution server 5e encrypts the target file 75 using the derived key 276a generated from the encryption key 276, and the secure element 20 generates the derived key 276a and passes it to the PC 3, and the PC 3 generates the target file 75. It illustrates how to decode the. Processing processes indicated by reference numerals P201 to P208 in FIG. 23 will be sequentially described.

PC3(仮想化基盤60)は、初期設定ファイル271の記述「get proprietary_software――DerivedKeySE」に従い、対象ファイル75の配信を配布サーバ5eに要求する(P201)。ここで、図23に示すように、本実施の形態に係る初期設定ファイル271には、暗号化された対象ファイル75をダウンロードする際の処理手順として「――DerivedKeySE」と規定されている。当該記述は、後述する対象ファイル75の復号処理を、暗号鍵276から派生させた派生鍵276aを用いて行うべきことを示している。   The PC 3 (virtualization infrastructure 60) requests the distribution server 5e to distribute the target file 75 in accordance with the description "get proprietary_software-DerivedKeySE" of the initialization file 271 (P201). Here, as shown in FIG. 23, in the initial setting file 271 according to the present embodiment, "-DerivedKeySE" is defined as the processing procedure when downloading the encrypted target file 75. The description indicates that the decryption processing of the target file 75 described later should be performed using a derived key 276 a derived from the encryption key 276.

PC3から配信要求を受け付けた場合、配布サーバ5eは、自身が保持する暗号鍵276を基に、暗号化を行うための派生鍵276aを生成する(P202)。配布サーバ5eは、派生鍵276aの秘匿性を維持しつつ、セキュアエレメント20側で生成する鍵との同一性を確保するため、例えばチャレンジ・レスポンス、Diffie−Hellman鍵交換などのアルゴリズムを用いて派生鍵276aを生成する。なお、簡潔のため、派生鍵276aの生成に関する詳細な図示及び説明は省略する。   When a distribution request is received from the PC 3, the distribution server 5e generates a derived key 276a for performing encryption based on the encryption key 276 held by itself (P202). The distribution server 5e is derived using an algorithm such as challenge response, Diffie-Hellman key exchange, etc., in order to ensure the identity with the key generated on the secure element 20 side while maintaining the secrecy of the derived key 276a. Generate key 276a. Note that, for the sake of brevity, detailed illustration and description regarding generation of the derived key 276a will be omitted.

配布サーバ5eは、生成した派生鍵276aを用いて対象ファイル75を暗号化する(P203)。配布サーバ5eは、暗号化した対象ファイル75をPC3に配信する(P204)。   The distribution server 5e encrypts the target file 75 using the generated derived key 276a (P203). The distribution server 5e distributes the encrypted target file 75 to the PC 3 (P204).

配布サーバ5eから対象ファイル75を取得した場合、PC3は、セキュアエレメント20に対して派生鍵276aの出力を要求する(P205)。出力要求を受け付けた場合、セキュアエレメント20の復号部24は、セキュアエレメント20で保持する暗号鍵276を用い、派生鍵276aを生成する(P206)。セキュアエレメント20における派生鍵276aの生成は、配布サーバ5eが行う派生鍵276aの生成アルゴリズムと同じ手順で行えばよい。復号部24は、生成した派生鍵276aをPC3に出力する(P207)。セキュアエレメント20から派生鍵276aを取得した場合、PC3は、当該派生鍵276aを用いて対象ファイル75を復号し、仮想マシン61に格納する(P208)。   When the target file 75 is obtained from the distribution server 5e, the PC 3 requests the secure element 20 to output the derived key 276a (P205). When the output request is received, the decryption unit 24 of the secure element 20 generates a derived key 276a using the encryption key 276 held by the secure element 20 (P206). The generation of the derived key 276a in the secure element 20 may be performed in the same procedure as the generation algorithm of the derived key 276a performed by the distribution server 5e. The decryption unit 24 outputs the generated derived key 276a to the PC 3 (P207). When the derived key 276a is obtained from the secure element 20, the PC 3 decrypts the target file 75 using the derived key 276a, and stores the file in the virtual machine 61 (P208).

図24は、実施の形態2に係る復号処理のサブルーチンの一例を示すフローチャートである。図24に基づき、本実施の形態におけるステップS84(図17参照)の処理内容について説明する。
PC3の制御部31は、初期設定ファイル271の記述に従い、配布サーバ5eに対して対象ファイル75の送信を要求する(ステップS201)。送信要求を受け付けた場合、配布サーバ5eは、自身が保持している暗号鍵276を基に、派生鍵276aを生成する(ステップS202)。配布サーバ5eは、生成した派生鍵276aを用いて対象ファイル75を暗号化する(ステップS203)。配布サーバ5eは、暗号化した対象ファイル75をPC3に送信する(ステップS204)。
FIG. 24 is a flowchart illustrating an example of a subroutine of decoding processing according to the second embodiment. The processing content of step S84 (refer to FIG. 17) in the present embodiment will be described based on FIG.
The control unit 31 of the PC 3 requests the distribution server 5e to transmit the target file 75 according to the description of the initial setting file 271 (step S201). When receiving the transmission request, the distribution server 5e generates a derived key 276a based on the encryption key 276 held by itself (step S202). The distribution server 5e encrypts the target file 75 using the derived key 276a generated (step S203). The distribution server 5e transmits the encrypted target file 75 to the PC 3 (step S204).

配布サーバ5eから対象ファイル75を取得した場合、PC3の制御部31は、派生鍵276aの出力をセキュアエレメント20に要求する(ステップS205)。派生鍵276aの出力要求を受け付けた場合、セキュアエレメント20は、自身が保持している暗号鍵276を用いて、派生鍵276aを生成する(ステップS206)。セキュアエレメント20は、生成した派生鍵276aをPC3に出力する(ステップS207)。   When the target file 75 is acquired from the distribution server 5e, the control unit 31 of the PC 3 requests the secure element 20 to output the derived key 276a (step S205). When the output request for the derived key 276a is received, the secure element 20 generates the derived key 276a using the encryption key 276 held by itself (step S206). The secure element 20 outputs the generated derived key 276a to the PC 3 (step S207).

派生鍵276aをセキュアエレメント20から取得した場合、PC3の制御部31は、当該派生鍵276aを用いて対象ファイル75を復号する(ステップS208)。制御部31は、復号した対象ファイル75を仮想環境に格納し(ステップS209)、サブルーチンをリターンする。   When the derived key 276a is obtained from the secure element 20, the control unit 31 of the PC 3 decrypts the target file 75 using the derived key 276a (step S208). The control unit 31 stores the decrypted target file 75 in the virtual environment (step S209), and returns the subroutine.

以上より、本実施の形態2によれば、セキュアエレメント20内で対象ファイル75の復号を行うのではなく、セキュアエレメント20が出力した派生鍵276aを用いて、PC3において対象ファイル75の復号を行う。これにより、例えば対象ファイル75が数メガバイト〜数ギガバイトと大きく、セキュアエレメント20では復号が困難な場合にも対応することができ、大容量の対象ファイル75を暗号化して配布することができる。   As described above, according to the second embodiment, instead of decrypting the target file 75 in the secure element 20, the PC 3 decrypts the target file 75 using the derived key 276a output from the secure element 20. . As a result, for example, the target file 75 is large, such as several megabytes to several gigabytes, and the secure element 20 can cope with the case where decryption is difficult, and the large-capacity target file 75 can be encrypted and distributed.

今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。   It should be understood that the embodiments disclosed herein are illustrative in all respects and not restrictive. The scope of the present invention is indicated not by the meaning described above but by the claims, and is intended to include all modifications within the meaning and scope equivalent to the claims.

1 デバイス
10 デバイス本体
20 セキュアエレメント
271 初期設定ファイル
271a ビルドスクリプト
272 PINコード(運用者情報)
273 更新用鍵
274 証明書
275 認証用鍵(鍵情報)
276 暗号鍵(鍵情報)
277 検証用鍵(鍵情報)
278 シリアル番号(個体識別情報)
3 PC
P プログラム
60 仮想化基盤
61 仮想マシン(仮想環境)
71 仮想環境用OSイメージ
72 ビルドツール
73〜76 対象ファイル
1 device 10 device body 20 secure element 271 initialization file 271a build script 272 PIN code (operator information)
273 Renewal key 274 Certificate 275 Authentication key (Key information)
276 Encryption key (key information)
277 Verification key (key information)
278 Serial Number (Individual Identification Information)
3 PC
P program 60 virtualization platform 61 virtual machine (virtual environment)
71 OS image for virtual environment 72 Build tool 73-76 Target file

Claims (23)

デバイスに接続されたコンピュータに、
前記デバイスに搭載されたセキュアエレメントから、該デバイスの初期設定手順を記述した初期設定ファイルを取得し、
取得した前記初期設定ファイルを参照して、初期設定を行うための仮想環境を構築し、
該仮想環境において、前記初期設定手順に従って前記デバイスの初期設定を行い、
初期設定内容を前記デバイスの記憶領域に書き込む
処理を実行させることを特徴とする初期設定方法。
On the computer connected to the device,
An initialization file describing an initialization procedure of the device is acquired from a secure element mounted on the device,
Refer to the acquired initialization file to construct a virtual environment for performing initialization,
Performing initial setting of the device according to the initial setting procedure in the virtual environment;
An initialization method characterized by executing a process of writing initialization contents into a storage area of the device.
前記初期設定ファイルに従って前記デバイスに初期設定する対象ファイルを、該対象ファイルを配信するサーバからネットワークを介して取得し、
取得した前記対象ファイルを前記仮想環境に格納し、
前記仮想環境に格納した前記対象ファイルを、前記記憶領域に書き込む
ことを特徴とする請求項1に記載の初期設定方法。
Acquiring a target file to be initially set in the device according to the initial setting file from a server distributing the target file via a network;
Storing the acquired target file in the virtual environment;
The initial setting method according to claim 1, wherein the target file stored in the virtual environment is written to the storage area.
前記セキュアエレメントは、前記サーバとの間で共有された鍵情報を保持してあり、
前記サーバから前記対象ファイルを取得する場合、前記鍵情報に基づいて前記対象ファイルの送受信を行う
ことを特徴とする請求項2に記載の初期設定方法。
The secure element holds key information shared with the server,
The initial setting method according to claim 2, wherein when the target file is acquired from the server, the target file is transmitted and received based on the key information.
前記セキュアエレメントに対し、前記鍵情報に基づく認証情報の生成を要求し、
前記セキュアエレメントから前記認証情報を取得し、
前記サーバに対し、前記認証情報を転送して前記対象ファイルの送信を要求し、
前記サーバで前記認証情報に基づく認証に成功した場合、前記対象ファイルを取得する
ことを特徴とする請求項3に記載の初期設定方法。
Requesting the secure element to generate authentication information based on the key information;
Acquiring the authentication information from the secure element;
Requesting the server to transmit the target file by transferring the authentication information;
The initial setting method according to claim 3, wherein the target file is acquired when the authentication based on the authentication information succeeds in the server.
前記認証情報は、前記セキュアエレメント、又は前記デバイスの個体識別情報に基づいて生成される
ことを特徴とする請求項4に記載の初期設定方法。
The initialization method according to claim 4, wherein the authentication information is generated based on the secure element or individual identification information of the device.
前記サーバから、前記鍵情報に基づき暗号化された前記対象ファイルを取得し、
前記鍵情報に基づいて復号した前記対象ファイルを前記仮想環境に格納する
ことを特徴とする請求項3〜5のいずれか1項に記載の初期設定方法。
Acquiring the target file encrypted based on the key information from the server;
The initial setting method according to any one of claims 3 to 5, wherein the target file decrypted based on the key information is stored in the virtual environment.
前記対象ファイルを取得した場合、前記セキュアエレメントに対し、前記対象ファイルの復号を要求し、
前記セキュアエレメントが復号した前記対象ファイルを前記仮想環境に格納する
ことを特徴とする請求項6に記載の初期設定方法。
When the target file is obtained, the secure element is requested to decrypt the target file,
The initial setting method according to claim 6, wherein the target file decrypted by the secure element is stored in the virtual environment.
前記対象ファイルを取得した場合、前記セキュアエレメントに対し、前記鍵情報に基づく派生鍵の生成を要求し、
前記セキュアエレメントが生成した前記派生鍵を用いて、前記対象ファイルを復号し、
復号した前記対象ファイルを前記仮想環境に格納する
ことを特徴とする請求項6に記載の初期設定方法。
When the target file is acquired, generation of a derived key based on the key information is requested to the secure element,
Decrypting the target file using the derived key generated by the secure element;
The initial setting method according to claim 6, wherein the decrypted target file is stored in the virtual environment.
前記サーバから、前記対象ファイルと、前記鍵情報を用いて該対象ファイルから生成された付加情報とを取得し、
前記セキュアエレメントに対し、前記付加情報と、前記対象ファイルの情報とを出力して、前記鍵情報を用いて前記付加情報を復号し、前記対象ファイルの情報と照合するよう要求し、
前記セキュアエレメントによる照合結果に応じて、前記対象ファイルを前記仮想環境に格納する
ことを特徴とする請求項3〜7のいずれか1項に記載の初期設定方法。
Acquiring the target file and additional information generated from the target file using the key information from the server;
Requesting the secure element to output the additional information and the information of the target file, decrypt the additional information using the key information, and collate the information with the target file;
The initial setting method according to any one of claims 3 to 7, wherein the target file is stored in the virtual environment according to the collation result by the secure element.
前記対象ファイルを取得する場合、前記セキュアエレメントの識別情報、又は前記デバイスの識別情報を送信して前記対象ファイルの送受信を行う
ことを特徴とする請求項2〜8のいずれか1項に記載の初期設定方法。
The identification information of the secure element or the identification information of the device is transmitted to transmit and receive the object file when acquiring the object file. Initial setting method.
前記初期設定ファイルには、前記対象ファイルがソースコードで記述されたソースファイルである場合に、該ソースファイルを前記デバイスが実行可能な実行ファイルに変換する処理手順が記述されており、
取得した前記対象ファイルが前記ソースファイルである場合、前記処理手順に従って前記ソースファイルを変換する
ことを特徴とする請求項2〜10のいずれか1項に記載の初期設定方法。
In the initial setting file, when the target file is a source file described in source code, a processing procedure for converting the source file into an executable file executable by the device is described.
The initial setting method according to any one of claims 2 to 10, wherein when the acquired target file is the source file, the source file is converted according to the processing procedure.
デバイスに搭載されるセキュアエレメントであって、
仮想環境を構築し、該仮想環境において前記デバイスの初期設定を行う手順を記述した初期設定ファイルを格納する格納部と、
前記デバイスに接続されたコンピュータに対し、前記初期設定ファイルを出力する出力部と
を備えることを特徴とするセキュアエレメント。
A secure element mounted on the device,
A storage unit that stores an initial setting file that describes a procedure for constructing a virtual environment and performing initial setting of the device in the virtual environment;
A secure element comprising: an output unit that outputs the initialization file to a computer connected to the device.
前記初期設定ファイルには、前記デバイスに初期設定する対象ファイルを配信元から取得する取得手順が記述されており、
前記格納部は、前記配信元との間で共有されており、前記対象ファイルの取得手順に応じて用いる鍵情報を格納してある
ことを特徴とする請求項12に記載のセキュアエレメント。
An acquisition procedure for acquiring a target file to be initially set to the device from a distribution source is described in the initial setting file,
The secure element according to claim 12, wherein the storage unit is shared with the distribution source, and stores key information used according to the acquisition procedure of the target file.
前記配信元との間での認証処理を伴う前記対象ファイルの取得手順が前記初期設定ファイルに記述されている場合、前記コンピュータからの要求に応じて、前記鍵情報に基づき認証情報を生成する生成部を備え、
前記出力部は、生成した前記認証情報を前記コンピュータに出力する
ことを特徴とする請求項13に記載のセキュアエレメント。
When an acquisition procedure of the target file accompanied by an authentication process with the distribution source is described in the initial setting file, generation of generating authentication information based on the key information in response to a request from the computer Equipped with
The secure element according to claim 13, wherein the output unit outputs the generated authentication information to the computer.
前記鍵情報に基づき暗号化された前記対象ファイルを前記コンピュータが取得した場合、前記コンピュータからの要求に応じて、前記鍵情報に基づき前記対象ファイルの復号を行う復号部を備え、
前記出力部は、復号した前記対象ファイルを前記コンピュータに出力する
ことを特徴とする請求項14に記載のセキュアエレメント。
When the computer acquires the target file encrypted based on the key information, the computer further comprises a decryption unit that decrypts the target file based on the key information in response to a request from the computer.
The secure element according to claim 14, wherein the output unit outputs the decrypted target file to the computer.
前記鍵情報に基づき暗号化された前記対象ファイルを前記コンピュータが取得した場合、前記コンピュータからの要求に応じて、前記対象ファイルの復号に用いる派生鍵を前記鍵情報から生成する派生鍵生成部を備え、
前記出力部は、生成した前記派生鍵を前記コンピュータに出力する
ことを特徴とする請求項13又は14に記載のセキュアエレメント。
A derivative key generation unit configured to generate from the key information a derived key used to decrypt the target file in response to a request from the computer when the computer acquires the target file encrypted based on the key information; Equipped
The secure element according to claim 13 or 14, wherein the output unit outputs the generated derived key to the computer.
前記対象ファイルと、前記鍵情報を用いて該対象ファイルから生成された付加情報とを前記コンピュータが取得した場合、前記コンピュータからの要求に応じて前記付加情報を復号し、前記コンピュータが取得した前記対象ファイルの情報と照合する照合部を備え、
前記出力部は、前記照合部による照合結果を前記コンピュータに出力する
ことを特徴とする請求項13〜16のいずれか1項に記載のセキュアエレメント。
When the computer acquires the target file and additional information generated from the target file using the key information, the additional information is decrypted according to a request from the computer, and the computer acquires the additional information. It has a matching unit that matches the information of the target file,
The secure element according to any one of claims 13 to 16, wherein the output unit outputs the verification result by the verification unit to the computer.
前記コンピュータから前記初期設定ファイルの出力要求を受け付けた場合、最新の前記初期設定ファイルを管理する管理サーバに対し、該最新の初期設定ファイルの送信を要求する最新ファイル要求部と、
前記管理サーバから前記最新の初期設定ファイルを取得する取得部と
を備え、
前記出力部は、前記最新の初期設定ファイルを前記コンピュータに出力する
ことを特徴とする請求項13〜17のいずれか1項に記載のセキュアエレメント。
A latest file request unit for requesting transmission of the latest initial setting file to a management server that manages the latest initial setting file, when receiving an output request for the initial setting file from the computer;
An acquisition unit for acquiring the latest initial setting file from the management server;
The secure element according to any one of claims 13 to 17, wherein the output unit outputs the latest initial setting file to the computer.
前記取得部は、前記最新の初期設定ファイルと共に、最新の前記鍵情報を取得する
ことを特徴とする請求項18に記載のセキュアエレメント。
The secure element according to claim 18, wherein the acquisition unit acquires the latest key information together with the latest initialization file.
前記格納部は、前記管理サーバとの間で共有された鍵値及び証明書を格納してあり、
前記鍵値及び証明書に基づき、前記管理サーバとの間で通信内容を秘匿化した秘匿通信路を確立する通信路確立部を備え、
前記取得部は、前記秘匿通信路を介して前記最新の初期設定ファイルを取得する
ことを特徴とする請求項18又は19に記載のセキュアエレメント。
The storage unit stores key values and certificates shared with the management server,
A communication path establishing unit for establishing a concealed communication path in which the communication content is concealed with the management server based on the key value and the certificate;
The secure element according to claim 18 or 19, wherein the acquisition unit acquires the latest initial setting file via the secret communication path.
前記格納部は、運用者の認証に必要な運用者情報を格納してあり、
前記コンピュータから前記初期設定ファイルの出力要求を受け付けた場合、前記運用者情報の出力を要求する運用者情報要求部と、
前記コンピュータから出力された前記運用者情報と、前記格納部に格納してある前記運用者情報とを照合する運用者照合部と
を備え、
前記出力部は、前記運用者照合部による照合結果に応じて前記初期設定ファイルを出力する
ことを特徴とする請求項12〜20のいずれか1項に記載のセキュアエレメント。
The storage unit stores operator information necessary for authenticating the operator;
An operator information request unit for requesting an output of the operator information when receiving an output request for the initial setting file from the computer;
An operator verification unit for collating the operator information output from the computer with the operator information stored in the storage unit;
The secure element according to any one of claims 12 to 20, wherein the output unit outputs the initial setting file according to the collation result by the operator collating unit.
セキュアエレメントを搭載したデバイスであって、
前記セキュアエレメントは、
仮想環境を構築し、該仮想環境において前記デバイスの初期設定を行う手順を記述した初期設定ファイルを格納する格納部と、
前記デバイスに通信接続されたコンピュータに対し、前記初期設定ファイルを出力する出力部と
を備えることを特徴とするデバイス。
A device equipped with a secure element,
The secure element is
A storage unit that stores an initial setting file that describes a procedure for constructing a virtual environment and performing initial setting of the device in the virtual environment;
An output unit for outputting the initial setting file to a computer communicably connected to the device.
デバイスに接続されたコンピュータに、
前記デバイスに搭載されたセキュアエレメントから、該デバイスの初期設定手順を記述した初期設定ファイルを取得し、
取得した前記初期設定ファイルを参照して、初期設定を行うための仮想環境を構築し、
該仮想環境において、前記初期設定手順に従って前記デバイスの初期設定を行い、
初期設定内容を前記デバイスの記憶領域に書き込む
処理を実行させることを特徴とするプログラム。
On the computer connected to the device,
An initialization file describing an initialization procedure of the device is acquired from a secure element mounted on the device,
Refer to the acquired initialization file to construct a virtual environment for performing initialization,
Performing initial setting of the device according to the initial setting procedure in the virtual environment;
A program for executing a process of writing initial setting contents in a storage area of the device.
JP2017244350A 2017-12-20 2017-12-20 Initial setup method, secure element, device and program Active JP6988444B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017244350A JP6988444B2 (en) 2017-12-20 2017-12-20 Initial setup method, secure element, device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017244350A JP6988444B2 (en) 2017-12-20 2017-12-20 Initial setup method, secure element, device and program

Publications (2)

Publication Number Publication Date
JP2019113886A true JP2019113886A (en) 2019-07-11
JP6988444B2 JP6988444B2 (en) 2022-01-05

Family

ID=67223320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017244350A Active JP6988444B2 (en) 2017-12-20 2017-12-20 Initial setup method, secure element, device and program

Country Status (1)

Country Link
JP (1) JP6988444B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112331052A (en) * 2020-11-03 2021-02-05 武汉慧联无限科技有限公司 Internet of things demonstration system determination method and device
JP2021164054A (en) * 2020-03-31 2021-10-11 大日本印刷株式会社 Device, secure element and key sharing method
JP7530865B2 (en) 2021-06-04 2024-08-08 Vaio株式会社 Terminal setup method, program, terminal management method, and terminal management system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11184690A (en) * 1997-12-24 1999-07-09 Fujitsu Ltd Translation device restoring deciphered code and method therefor
JP2005107451A (en) * 2003-10-02 2005-04-21 Canon Inc Method of manufacturing three-dimensional structure
JP2009124520A (en) * 2007-11-16 2009-06-04 Fujitsu Ltd Data transmission method, and electronic apparatus
JP2010141639A (en) * 2008-12-12 2010-06-24 Dainippon Printing Co Ltd Communication system and communication method
JP2011118873A (en) * 2009-11-30 2011-06-16 Intel Corp Automated modular and secure boot firmware update
US20140025940A1 (en) * 2012-07-20 2014-01-23 Oberthur Technologies Updating an operating system for secure element
JP2015205499A (en) * 2014-04-23 2015-11-19 キヤノン株式会社 Image processing device, control method and program of image processing device
JP2017046038A (en) * 2015-08-24 2017-03-02 Kddi株式会社 On-vehicle computer system, vehicle, management method, and computer program

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11184690A (en) * 1997-12-24 1999-07-09 Fujitsu Ltd Translation device restoring deciphered code and method therefor
JP2005107451A (en) * 2003-10-02 2005-04-21 Canon Inc Method of manufacturing three-dimensional structure
JP2009124520A (en) * 2007-11-16 2009-06-04 Fujitsu Ltd Data transmission method, and electronic apparatus
JP2010141639A (en) * 2008-12-12 2010-06-24 Dainippon Printing Co Ltd Communication system and communication method
JP2011118873A (en) * 2009-11-30 2011-06-16 Intel Corp Automated modular and secure boot firmware update
US20140025940A1 (en) * 2012-07-20 2014-01-23 Oberthur Technologies Updating an operating system for secure element
JP2014029688A (en) * 2012-07-20 2014-02-13 Oberthur Technologies Updating operating system for secure element
JP2015205499A (en) * 2014-04-23 2015-11-19 キヤノン株式会社 Image processing device, control method and program of image processing device
JP2017046038A (en) * 2015-08-24 2017-03-02 Kddi株式会社 On-vehicle computer system, vehicle, management method, and computer program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小俣 三郎: "組込み機器向け認証・暗号システムのプロトタイプ実装", マルチメディア,分散,協調とモバイル(DICOMO2008)シンポジウム論文集 情報処理学会シンポジ, vol. 第2008巻, JPN6021033161, 9 July 2008 (2008-07-09), JP, pages 506 - 512, ISSN: 0004582277 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021164054A (en) * 2020-03-31 2021-10-11 大日本印刷株式会社 Device, secure element and key sharing method
CN112331052A (en) * 2020-11-03 2021-02-05 武汉慧联无限科技有限公司 Internet of things demonstration system determination method and device
JP7530865B2 (en) 2021-06-04 2024-08-08 Vaio株式会社 Terminal setup method, program, terminal management method, and terminal management system

Also Published As

Publication number Publication date
JP6988444B2 (en) 2022-01-05

Similar Documents

Publication Publication Date Title
US11882224B2 (en) Generic code signing client with downloadable modules
US10659234B2 (en) Dual-signed executable images for customer-provided integrity
CN100594692C (en) Information processing apparatus, a server apparatus, a method of an information processing apparatus, a method of a server apparatus
TW201820132A (en) Unified programming environment for programmable devices
TWI420339B (en) Software authorization system and method
US11373762B2 (en) Information communication device, authentication program for information communication device, and authentication method
WO2011119300A2 (en) System and methods for remote maintenance in an electronic network with multiple clients
CN111522809B (en) Data processing method, system and equipment
EP3555786B1 (en) Secure provisioning of unique time-limited certificates to virtual application instances in dynamic and elastic systems
JP6988444B2 (en) Initial setup method, secure element, device and program
CN101194229A (en) Updating of data instructions
CN116601912A (en) Post-secret provisioning service providing encryption security
CN111538977B (en) Cloud API key management method, cloud platform access method, cloud API key management device, cloud platform access device and server
US8638932B2 (en) Security method and system and computer-readable medium storing computer program for executing the security method
EP3048553B1 (en) Method for distributing applets, and entities for distributing applets
CN113630374A (en) Method for realizing safety communication with target device through network
US12034569B2 (en) Gateway for remote provisioning of software
CN116724309A (en) Apparatus and communication method
US9467299B1 (en) Device for and method of controlled multilevel chain of trust/revision
JP5290863B2 (en) Terminal server, thin client system, and computer resource allocation method
US20220417032A1 (en) Distributed signing system
WO2021205889A1 (en) Information processing method, program, information processing device, and data structure
US20220231846A1 (en) System functionality activation using distributed ledger
US9467298B1 (en) Device for and method of multilevel chain of trust/revision
KR20150074128A (en) Method for downloading at least one software component onto a computing device, and associated computer program product, computing device and computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211026

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211115

R150 Certificate of patent or registration of utility model

Ref document number: 6988444

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150