JP2019113886A - Initialization method, secure element, device and program - Google Patents
Initialization method, secure element, device and program Download PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
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,
デバイスの初期設定は、デバイスの製造元で行うほかに、主としてビジネス上の要因により、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.
上記の技術を、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.
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
(実施の形態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.
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
デバイス1は、ネットワークNに接続されて種々の処理を行う電子機器であり、例えば監視カメラ、多機能端末、車両に搭載されたECU(Electronic Control Unit)、生産設備やインフラ設備の異常監視装置等、種々の機器であり得る。後述するように、デバイス1には耐タンパ性を有するセキュアエレメント20が予め搭載されており、セキュアエレメント20に、初期設定の手順を記述した初期設定ファイル271が格納されている(図2等参照)。PC3は、自装置に接続されたデバイス1のセキュアエレメント20から初期設定ファイル271を読み出し、初期設定ファイル271に記述された初期設定手順に従って管理サーバ4及び配布サーバ5、5、5…から各種データを取得し、初期設定作業を行う。PC3は、初期設定内容をデバイス1の記憶領域に書き込み、デバイス1を起動可能な状態にする。
The
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
管理サーバ4は、本システムを管理する管理者のサーバ装置であり、最新の初期設定ファイル271等を管理する管理装置である。上述の如く、デバイス1のセキュアエレメント20には初期設定ファイル271が格納されているが、管理サーバ4は、当該初期設定ファイル271の最新データを保持している。デバイス1は、PC3に初期設定ファイル271をダウンロードさせる際に最新のファイルを管理サーバ4から取得し、PC3に出力する。
The
配布サーバ5は、初期設定に必要な対象ファイルをPC3に配布するサーバ装置であり、初期設定対象であるOS、アプリケーション等の実行ファイル、あるいはソースコードを保持している。PC3は、初期設定ファイル271の記述に従って配布サーバ5にアクセスし、各種ファイルをダウンロードして初期設定作業を行う。本実施の形態では、PC3は配布サーバ5a、5bからそれぞれ仮想マシンを構築するために必要なOSイメージ及びビルドツールをダウンロードすると共に、配布サーバ5c〜5fからそれぞれ、デバイス1に初期設定するOS、アプリケーション等の対象ファイルをダウンロードし、仮想マシン上に展開する。
The
図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
The
デバイス本体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
The
記憶部12の不揮発性メモリには、初期設定によって通常動作時のソフトウェアをインストールすべきインストール領域12aと、デバイス1の出荷前に製造者が書き込みを行うプリインストール領域12bとが用意されている。インストール領域12aは、デバイス1の基本動作を制御するOSや各種アプリケーションの実行ファイルが格納される記憶領域であり、デバイス1の出荷時には何も書き込まれていない。一方、プリインストール領域12bには、デバイス1を起動するためのブートローダ121のほか、初期設定を行うために最低限必要な通信機能に関わるソフトウェア等が書き込まれている。
The non-volatile memory of the
内部I/F13は、セキュアエレメント20と情報の入出力を行うための内部インターフェイスであり、上述の如く、ISO7816、SPI等の規格で情報の入出力を行う。外部I/F14は、デバイス1外部と情報の入出力を行うための外部インターフェイスであり、例えばUSB、Ethernet(登録商標)、Wi−fi(登録商標)等の双方向通信が可能なインターフェイスである。
The internal I /
セキュアエレメント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
The updating
記憶部27は不揮発性メモリであり、初期設定ファイル271、ビルドスクリプト271a、PIN(Personal Identification Number)コード272、更新用鍵273、証明書274、認証用鍵275、暗号鍵276、検証用鍵277、シリアル番号278を記憶している。
The
初期設定ファイル271は、PC3上で仮想マシンの構築を行い、デバイス1の初期設定を自動で行うための手順を保持するファイルである。初期設定ファイル271に記述された初期設定手順には大別して、PC3に初期設定環境である仮想マシンを構築させる手順、初期設定に必要な各対象ファイルを配布サーバ5からダウンロードする手順、及びデバイス本体10に書き込む対象ファイルをビルドし、デバイス本体10にインストールする手順が含まれている。ビルドスクリプト271aは、上記で説明した対象ファイルのビルド及びインストールに係る具体的な処理手順を記述したスクリプトである。
The
PINコード272は、運用者認証部22が運用者の認証を行う際に照合する値であり、セキュアエレメント20毎に設定された個別の値である。更新用鍵273及び証明書274は、セキュアエレメント20と管理サーバ4との間でエンドツーエンドの秘匿通信路を確立するための鍵値及び証明書である。
The
認証用鍵275、暗号鍵276、及び検証用鍵277はそれぞれ、配布サーバ5との間で対象ファイルの送受信を行う際に必要な鍵情報である。認証用鍵275は、認証情報生成部23において認証情報を生成する際に用いる鍵値である。暗号鍵276は、復号部24が暗号化された対象ファイルを復号する際に用いる鍵値である。検証用鍵277は、検証部25が対象ファイルに添付された署名を検証する際に用いる鍵値である。
The
シリアル番号278は、セキュアエレメント20の個体識別情報であり、セキュアエレメント20毎に個別に付与される一意の番号である。シリアル番号278は、セキュアエレメント20(デバイス1)の工場出荷時に設定される変更不可能な値であり、セキュアエレメント20の個体識別に利用される。
The
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
The
以下では図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
図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 /
First, the operator connects the
読出要求を受け付けた場合、セキュアエレメント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
ここで更新部21は、更新用鍵273及び証明書274を用いて、通信路を秘匿化する(P6)。セキュアエレメント20及び管理サーバ4は、更新用鍵273及び証明書274を共有している。セキュアエレメント20及び管理サーバ4は、自身が送信するデータに対して更新用鍵273及び証明書274を含む電子署名を付して送信し、互いにデータを確認して通信を行うことで、通信内容を秘匿化した秘匿通信路を確立する。
Here, the
セキュアエレメント20は、秘匿化した通信路を介して、最新の初期設定ファイル271を管理サーバ4からダウンロードし、初期設定ファイル271を更新する(P7)。図3の例では、ファイル更新により、配布サーバ5からダウンロードする対象ファイル(デバイス1にインストールするOSカーネル)のバージョンが「2.6.1」から「4.8.4」に変化している。これにより、後述するダウンロード時に、PC3は最新の対象ファイルをダウンロードする。
The
また、セキュアエレメント20は秘匿通信路を介して、初期設定作業に用いる最新の鍵情報を管理サーバ4からダウンロードし、鍵情報を更新する(P8)。鍵情報は、配布サーバ5との間で対象ファイルの送受信を行う際に用いる鍵値であり、上述の認証用鍵275、暗号鍵276、及び検証用鍵277である。セキュアエレメント20は、各種鍵の最新版を管理サーバ4からダウンロードし、自身が保持する鍵値を上書きする。セキュアエレメント20は、最新の鍵情報を用いて対象ファイルを配布サーバ5からダウンロードしていく。
Also, the
図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
The
読出要求を受け付けた場合、セキュアエレメント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
PINコード272をPC3から取得した場合、セキュアエレメント20の運用者認証部22は、取得したPINコード272と、自身が保持するPINコード272とを照合する(P25)。PINコード272が不一致である場合、セキュアエレメント20は処理を中断し、初期設定ファイル271の読み出しを行わない。
When the
一方、PINコード272が一致した場合、セキュアエレメント20は、初期設定ファイル271を読み出してPC3に出力する(P26)。PC3は、取得した初期設定ファイル271を仮想化基盤60に解釈させ、初期設定ファイル271に基づく初期設定処理の実行を開始する(P27)。
On the other hand, when the
仮想化基盤60は、デバイス1の初期設定を行う仮想環境を構築するためのハードウェア上及びソフトウェア上のコンピュータリソースであり、PC3内に予め用意されている。PC3は、セキュアエレメント20から取得した初期設定ファイル271をコンパイルし、仮想化基盤60に実行させる。これにより、後述する仮想マシン61が仮想化基盤60上に構築され、初期設定作業が可能となる。
The
なお、上記ではPINコード272を基に運用者の認証を行っているが、例えばパスワード、生体情報等のように、予め取り決められた運用者情報に基づいて運用者を認証可能であればよく、運用者の正当性を証明するための運用者情報はPINコード272に限定されない。
In the above, the authentication of the operator is performed based on the
以降の処理でPC3は、初期設定ファイル271に記述された手順に従って動作する。なお、初期設定ファイル271の記述内容、文法等は設計事項であり、PC3は、初期設定ファイル271の手順に従って自動的に動作可能であればよい。
In the subsequent processing, the
図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
The
PC3は、ダウンロードした仮想環境用OSイメージ71を仮想化基盤60上で展開し、仮想マシン61として起動する(P42)。
The
また、PC3は、初期設定ファイル271で指定されたビルドツール72をダウンロードし、起動した仮想マシン61内に格納する(P43)。ビルドツール72は、ソースコードで記述されたソースファイルをコンピュータが解釈可能な実行ファイルに変換(ビルド)するためのツールであり、後述するように、ソースコードで配布される対象ファイルを変換するためのツールである。図5の例では、PC3は初期設定ファイル271の「get build_tool」の記述に従い、ビルドツール72を配布している配布サーバ5bにアクセスし、ダウンロードを行う。
The
PC3は、上記のようにして初期設定作業用の仮想マシン61を構築し、仮想マシン61内で初期設定作業を行う。具体的には以下で説明するように、PC3は、デバイス1に初期設定するOS、アプリケーション等の各種対象ファイルを配布サーバ5c〜5fからダウンロードし、仮想マシン61内に展開して、デバイス1のインストール領域12aに書き込んでいく。ここで、本実施の形態では、対象ファイルの配布元である各配布サーバ5c〜5fのセキュリティポリシーに従い、対象ファイル毎に異なる配布方法を採用する。
The
図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
「認証」は、対象ファイルのダウンロード時に配布サーバ5dが要求元(PC3の運用者)に対して認証を行い、正当な権限を有する運用者であるか否かを認証するケースを表す。「暗号化」は、配布サーバ5eが対象ファイルを暗号化した上でPC3に配信し、PC3側で対象ファイルの復号が要求されるケースを表す。「検証」は、配布サーバ5fが対象ファイルに電子署名を付した上で配信し、PC3側で電子署名を確認して、対象ファイルが改竄されているか否かを検証するケースを表す。なお、各ケースの具体的な処理内容については後述する。
"Authentication" represents a case where the
配布形態は、対象ファイルをソースコード形式で配布するか、又は実行ファイル形式で配布するかを規定している。 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
図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
図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
まずPC3(仮想化基盤60)は、初期設定ファイル271の記述に従い、対象ファイル74を配布している配布サーバ5dに対し、対象ファイル74の配信を要求する(P61)。図8の例では、PC3は「get authorized_software」の記述に従い、「authorized software」で示す対象ファイル74の背信を要求する。
First, the PC 3 (virtual infrastructure 60) requests the
PC3から配信要求を受け付けた場合、配布サーバ5dは、当該要求が正当な要求であるか否かを確認するため、PC3に対して認証情報の送信を要求する(P62)。認証情報は、配布サーバ5dとセキュアエレメント20との間で共有する秘密の情報に基づいてセキュアエレメント20が生成する情報である。本実施の形態では、セキュアエレメント20は配布サーバ5dとの間で秘密の認証用鍵275(鍵情報)を共有し、認証用鍵275を用いて認証情報を生成する。
When the distribution request is received from the
なお、配布サーバ5dとセキュアエレメント20との間で共有する秘密情報はどのような種類の情報であってもよく、例えば上記のPINコード272、又はパスワード、MAC等であってもよい。
The secret information shared between the
認証情報の送信要求を受け付けた場合、PC3は、セキュアエレメント20に対して認証情報の出力を要求する(P63)。図8の例では、PC3は、初期設定ファイル271の「――AuthWithSE」の記述に基づき、セキュアエレメント20から認証情報を取得する必要があることを確認する。PC3は当該記述に従い、デバイス本体10を介してセキュアエレメント20に対し、認証情報の出力要求を送信する。
When receiving the transmission request of the authentication information, the
認証情報の出力要求を受け付けた場合、セキュアエレメント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
PC3は、セキュアエレメント20から出力された認証情報を配布サーバ5dに送信する(P66)。配布サーバ5dは、PC3から受信した認証情報を、自身が保持する認証用鍵275を用いて検証し、セキュアエレメント20が生成した正当な情報であるか否かを判定する。具体的には、配布サーバ5dは、認証情報として添付されているシリアル番号278から、自身が保持する認証用鍵275を用いてMACを計算し、PC3から送信されたものと同一のMACを計算できたか否かを確認する。同一のMACが計算できなかった場合、配布サーバ5dは対象ファイル74の配信を行わず、ダウンロードを拒否する。
The
正当な情報であると判定した場合、配布サーバ5dは、対象ファイル74をPC3に配信する(P67)。PC3は、上述の仮想環境用OSイメージ71、ビルドツール72と同様にダウンロードを行い、対象ファイル74を仮想マシン61に格納する。
If it is determined that the information is valid, the
なお、上記でセキュアエレメント20は、自身の個体識別情報であるシリアル番号278に基づいて認証情報を生成しているが、セキュアエレメント20ではなく、デバイス1の個体識別情報(製造番号等)によって認証情報を生成してもよい。また、認証情報の元となる個体識別情報は番号に限定されず、個体を一意に特定可能な情報であればよい。
Although the
図9は、暗号化された対象ファイル75を配布するケースを示す説明図である。図9では、配布サーバ5eから暗号化して配信された対象ファイル75をセキュアエレメント20が復号し、仮想マシン61に格納する様子を図示している。図9において符号P81〜86で示す処理プロセスについて、順に説明する。
FIG. 9 is an explanatory view showing a case of distributing the
PC3(仮想化基盤60)は、初期設定ファイル271の記述に従い、対象ファイル75を配信する配布サーバ5eにアクセスして、対象ファイル75の配信を要求する(P81)。図9の例では、PC3は「get proprietary_software」の記述に従い、「proprietary software」で示す対象ファイル75の配信を要求する。
The PC 3 (virtualization infrastructure 60) accesses the
配信要求を受け付けた場合、配布サーバ5eは、セキュアエレメント20との間で共有する暗号鍵276に基づいて対象ファイル75を暗号化した上で、PC3に配信する(P82)。暗号鍵276は、例えば共通鍵方式の共通鍵、公開鍵方式の秘密鍵等であるが、対象ファイル75を暗号化可能であればよく、暗号化の方式は特に限定されない。
When the distribution request is received, the
暗号化された対象ファイル75を受信した場合、PC3は、対象ファイル75をセキュアエレメント20に送信し、対象ファイル75の復号を要求する(P83)。図9の例では、PC3は初期設定ファイル271の「――DecryptSE」の記述を参照して、セキュアエレメント20が対象ファイル75を復号すべきことを確認する。PC3は当該記述に従って、デバイス本体10を介してセキュアエレメント20に対し、対象ファイル75の復号要求を送信する。
When the
復号要求を受け付けた場合、セキュアエレメント20の復号部24は、セキュアエレメント20が保持する暗号鍵276を用いて、対象ファイル75の復号を行う(P84)。セキュアエレメント20が保持する暗号鍵276は、配布サーバ5eが保持する鍵と同一の共通鍵、又は対応する公開鍵等であるが、配布サーバ5eが暗号化した対象ファイル75を復号可能であればよい。
When the decryption request is received, the
セキュアエレメント20は、復号した対象ファイル75をPC3に返送する(P85)。PC3は、セキュアエレメント20から取得した対象ファイル75を仮想マシン61に格納する(P86)。
The
図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
PC3(仮想化基盤60)は、初期設定ファイル271の記述に従い、対象ファイル76の配信を配布サーバ5fに要求する(P101)。図10の例では、PC3は「get correct_software」の記述に基づき、「correct software」で示す対象ファイル76の配信を要求する。
The PC 3 (virtualization infrastructure 60) requests the
配信要求を受け付けた場合、配布サーバ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
配布サーバ5fから対象ファイル76を取得した場合、PC3は、付加情報の検証をセキュアエレメント20に要求する(P104)。図10の例では、PC3は初期設定ファイル271の「――VerifySE」の記述を参照して、セキュアエレメント20が付加情報の検証を行うべきことを確認する。PC3は、付加情報と、対象ファイル76に関する情報とをセキュアエレメント20に送信し、検証を要求する。対象ファイル76に関する情報は、例えば対象ファイル76のハッシュ値であり、PC3はハッシュ値を計算してセキュアエレメント20に送信する。
When the
検証要求を受け付けた場合、セキュアエレメント20の検証部25は、配布サーバ5fとの間で共有する検証用鍵277と、PC3から取得した対象ファイル76に関する情報とに基づき、PC3から取得した付加情報の検証を行う(P105)。例えばセキュアエレメント20は、自身が保持する公開鍵を用いて電子署名を復号し、PC3から取得した対象ファイル76のハッシュ値と照合して、対象ファイル76の改竄の有無を判定する。
When the verification request is received, the
セキュアエレメント20は、検証結果をPC3に返信する(P106)。PC3は、改竄が行われている旨の検証結果を取得した場合、対象ファイル76のダウンロードを中断する。一方、改竄が行われておらず、正当な対象ファイル76である旨の検証結果を取得した場合、PC3は、対象ファイル76を仮想マシン61に格納する(P107)。
The
図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
図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
PC3は、初期設定ファイル271の記述に従い、仮想マシン61上でビルドスクリプト271aを実行して、ソースコードとして配布された対象ファイルを実行ファイルに変換する(P123)。図11の例では、PC3は初期設定ファイル271の「run build_scrypt」の記述に従ってビルドスクリプト271aを実行し、ビルドツール72を起動する。PC3はビルドツール72を用いて、ソースコードで配信された「IoTデバイス用OSイメージ」及び「authorized software」の対象ファイル73、74を実行ファイルに変換する。
The
図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
The
上記のように、安全なセキュアエレメント20に初期設定ファイル271を格納しておき、デバイス1に接続されたPC3がセキュアエレメント20を読み出し、初期設定ファイル271の手順に従って仮想環境(仮想マシン61)を構築して初期設定作業を行う。これにより、セキュリティを担保しつつ、デバイス1の初期設定を自動的に行うことができる。
As described above, the
なお、上記では初期設定ファイル271及びビルドスクリプト271aを別々のものとして図示及び説明を行ったが、上記の区別は本質的事項ではなく、PC3は、セキュアエレメント20に予め格納されているファイルに記述された設定手順に従って自動的に初期設定を行うことができればよい。
Although the
また、上記ではローカル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
図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
制御部31は、初期設定ファイル271を参照して、仮想化基盤60上に仮想環境を構築する(ステップS13)。仮想環境は、PC3の通常のOSとは別のOSで動作する動作環境であり、PC3のソフトウェア及びハードウェア上のコンピュータリソースを用いて構築される仮想マシン61である。制御部31は、初期設定作業を行う仮想マシン61を構築するための仮想環境用OSイメージ71と、仮想マシン61内で対象ファイルのビルド(変換)を行うためのビルドツール72とを配布サーバ5から取得し、仮想マシン61を構築した上、ビルドツール72を仮想マシン61内に格納する。
The
制御部31は初期設定ファイル271を参照して、デバイス1に初期設定するOS、アプリケーション等の対象ファイルを各配布サーバ5から順次取得し、仮想環境に格納するダウンロード処理を実行する(ステップS14)。
The
制御部31は、ステップS14で仮想環境に格納した対象ファイルのうち、ソースコードで記述された対象ファイル(ソースファイル)を実行ファイルに変換する変換処理を実行する(ステップS15)。具体的には、制御部31は、仮想マシン61に格納したビルドツール72を起動し、対象ファイルをビルドする。制御部31は、仮想環境に格納された対象ファイルをデバイス1のインストール領域12a(記憶領域)に書き込み(ステップS16)、一連の処理を終了する。
The
図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
セキュアエレメント20は、管理サーバ4との間で予め共有している更新用鍵273と、証明書274とに基づき、通信路を秘匿化する処理を行う(ステップS23)。セキュアエレメント20は、更新用鍵273及び証明書274を更新部21に設定し、通信データに電子署名を付して管理サーバ4との間の通信を行う。
The
セキュアエレメント20は、管理サーバ4に対し、最新の初期設定ファイル271及び鍵情報の送信を要求する(ステップS24)。送信要求を受け付けた場合、管理サーバ4は、最新の初期設定ファイル271及び鍵情報をセキュアエレメント20に送信するステップS25)。
The
セキュアエレメント20は、自身が保持している初期設定ファイル271を、管理サーバ4から受信した最新の初期設定ファイル271に更新する(ステップS26)。また、セキュアエレメント20は、初期設定作業に用いる各種鍵情報を、管理サーバ4から受信した最新の鍵情報に更新する(ステップS27)。セキュアエレメント20は、サブルーチンをリターンする。
The
図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
運用者情報の出力要求を受け付けた場合、PC3の制御部31は、運用者情報(PINコード272等)の入力を受け付けてセキュアエレメント20に送信する(ステップS43)。セキュアエレメント20は、PC3から取得した運用者情報と、記憶部12に予め記憶してある運用者情報とを照合する(ステップS44)。
When receiving the output request of the operator information, the
セキュアエレメント20は、運用者情報が一致したか否かを判定する(ステップS45)。一致しないと判定した場合(S45:NO)、セキュアエレメント20は初期設定ファイル271を出力せず、一連の処理を終了する。一致すると判定した場合(S45:YES)、セキュアエレメント20は初期設定ファイル271をPC3に出力する(ステップS46)。セキュアエレメント20から初期設定ファイル271を取得した場合、PC3の制御部31は、仮想化基盤60に初期設定ファイル271を解釈させて初期設定処理の実行を開始し(ステップS47)、サブルーチンをリターンする。
The
図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
制御部31は、初期設定ファイル271を参照して、ソースコードを実行ファイルに変換(ビルド)するためのビルドツール72を配布サーバ5bから取得し、仮想環境に格納する(ステップS63)。制御部31は、サブルーチンをリターンする。
The
図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
認証処理を伴う対象ファイルでないと判定した場合(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
暗号化された対象ファイルでないと判定した場合(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
検証処理が必要な対象ファイルでないと判定した場合(S85:NO)、制御部31は特段のセキュリティ処理を行わず、対象ファイルを配布サーバ5cから取得して仮想環境に格納する(ステップS87)。
If it is determined that the target file is not a target file requiring verification processing (S85: NO), the
制御部31は、初期設定ファイル271に規定された全ての対象ファイルをダウンロードしたか否かを判定する(ステップS88)。全ての対象ファイルをダウンロードしていないと判定した場合(S88:NO)、制御部31は処理をステップS81に戻し、次の設定手順に記述された対象ファイルを配布サーバ5からダウンロードする。全ての対象ファイルをダウンロードしたと判定した場合(S88:YES)、制御部31はサブルーチンをリターンする。
The
図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
配布サーバ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
セキュアエレメント20は、上記で生成したMACと、シリアル番号278とを認証情報としてPC3に出力する(ステップS105)。セキュアエレメント20から認証情報を取得した場合、PC3の制御部31は、当該認証情報を配布サーバ5dに送信する(ステップS106)。
The
PC3から認証情報を受信した場合、配布サーバ5dは当該認証情報に基づき、対象ファイル74の要求元の正当性を認証する認証処理を行う(ステップS107)。具体的には、配布サーバ5dはセキュアエレメント20と共有している認証用鍵275を用いてシリアル番号278からMACを生成(計算)し、PC3から受信したMACと同一の値を生成できたか否かを確認する。
When the authentication information is received from the
配布サーバ5dは、認証に成功したか否かを判定する(ステップS108)。認証に成功しなかったと判定した場合(S108:NO)、配布サーバ5dは対象ファイル74をPC3に送信せず、サブルーチンをリターンする。認証に成功したと判定した場合(S108:YES)、配布サーバ5dは対象ファイル74をPC3に送信する(ステップS109)。制御部31は、配布サーバ5dから対象ファイル74を取得して仮想環境に格納し(ステップS110)、サブルーチンをリターンする。
The
図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
配布サーバ5eから暗号化された対象ファイル75を取得した場合、PC3の制御部31は、当該対象ファイル75をセキュアエレメント20に転送し、対象ファイル75の復号を要求する(ステップS124)。復号要求を受け付けた場合、セキュアエレメント20は、自身が保持する暗号鍵276を用いて、対象ファイル75を復号する。(ステップS125)。セキュアエレメント20は、復号した対象ファイル75をPC3に返送する(ステップS126)。PC3の制御部31は、セキュアエレメント20が復号した対象ファイル75を仮想環境に格納し(ステップS127)、サブルーチンをリターンする。
When the
図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
配布サーバ5fは、生成した付加情報を付して対象ファイル76をPC3に送信する(ステップS143)。配布サーバ5fから付加情報が付された対象ファイル76を取得した場合、PC3の制御部31は、付加情報及び対象ファイル76の情報をセキュアエレメント20に転送し、付加情報の検証を要求する(ステップS144)。
The
検証要求を受け付けた場合、セキュアエレメント20は、自身が保持してある検証用鍵277を用いて、付加情報から対象ファイル76に関する情報を復号する処理を行う(ステップS145)。例えばセキュアエレメント20は、配布サーバ5fが保持する秘密鍵に対応する公開鍵を用いて、電子署名から対象ファイル76のハッシュ値を復号する。セキュアエレメント20は、PC3から取得した対象ファイル76に関する情報(ハッシュ値)と、復号した情報とを照合することで、対象ファイル76の改竄の有無を検証する(ステップS146)。
When the verification request is received, the
セキュアエレメント20は、検証結果をPC3に返送する(ステップS147)。PC3の制御部31は、セキュアエレメント20から取得した検証結果を参照して、対象ファイル76が改竄されているか否かを判定する(ステップS148)。改竄されていると判定した場合(S148:YES)、制御部31は対象ファイル76を仮想環境に格納せず、サブルーチンをリターンする。改竄されていないと判定した場合(S148:NO)、制御部31は対象ファイル76を仮想環境に格納し(ステップS149)、サブルーチンをリターンする。
The
図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
図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
なお、上記では簡潔のため、一の対象ファイルをダウンロード時に一のセキュリティ対策(ダウンロード時の認証、ファイルの暗号化等のいずれか)しか行わないものとして説明したが、複数のセキュリティ対策を組み合わせてもよい。 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
以上より、本実施の形態1によれば、耐タンパ性を有するセキュアエレメント20に格納されている初期設定ファイル271を読み出し、当該ファイルに記述された手順で初期設定を行う。これにより、情報漏洩、停止、DoS攻撃等によって初期設定の手順や内容が書き換えられるような事態を防止し、セキュリティを担保しながらも、初期設定を自動化することができる。
As described above, according to the first embodiment, the
また、本実施の形態1によれば、初期設定ファイル271で指定された対象ファイル73〜76をネットワークN経由で順次ダウンロードし、デバイス1のインストール領域12aに書き込むことができる。これにより、所望のソフトウェアをデバイス1へ自動的に組み込むことができ、適切な初期設定を行うことができる。
Further, according to the first embodiment, the target files 73 to 76 specified by the
また、本実施の形態1によれば、セキュアエレメント20に保持してある鍵情報を用いてファイルの授受を行う。これにより、初期設定作業時の安全性を向上させることができる。特に本実施の形態では、対象ファイル毎に異なるセキュリティポリシーに合わせて初期設定ファイル271に各ファイルのダウンロード手順を規定し、別々の鍵を用いて別々の処理を行う。これにより、セキュリティポリシーが異なる各ファイルを柔軟に組み合わせて初期設定を行うことができる。
Further, according to the first embodiment, the file is exchanged using the key information stored in the
また、本実施の形態1によれば、対象ファイルのダウンロード時にセキュアエレメント20で認証情報を生成し、当該認証情報に基づく認証が成功した場合にファイルをダウンロード可能とする。これにより、デバイス1の正当な運用者のみにファイルの配布を限定することができ、かつ、認証用の鍵を適切に保護することができる。
Further, according to the first embodiment, the authentication information is generated by the
また、本実施の形態1によれば、対象ファイルを暗号化して配布し、セキュアエレメント20においてファイルを復号する。これにより、内容を秘匿化したいファイルの解析を防止することができ、かつ、復号用の鍵を適切に保護することができる。
Further, according to the first embodiment, the target file is encrypted and distributed, and the
また、本実施の形態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
また、本実施の形態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
また、本実施の形態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
図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
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
PC3から配信要求を受け付けた場合、配布サーバ5eは、自身が保持する暗号鍵276を基に、暗号化を行うための派生鍵276aを生成する(P202)。配布サーバ5eは、派生鍵276aの秘匿性を維持しつつ、セキュアエレメント20側で生成する鍵との同一性を確保するため、例えばチャレンジ・レスポンス、Diffie−Hellman鍵交換などのアルゴリズムを用いて派生鍵276aを生成する。なお、簡潔のため、派生鍵276aの生成に関する詳細な図示及び説明は省略する。
When a distribution request is received from the
配布サーバ5eは、生成した派生鍵276aを用いて対象ファイル75を暗号化する(P203)。配布サーバ5eは、暗号化した対象ファイル75をPC3に配信する(P204)。
The
配布サーバ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
図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
配布サーバ5eから対象ファイル75を取得した場合、PC3の制御部31は、派生鍵276aの出力をセキュアエレメント20に要求する(ステップS205)。派生鍵276aの出力要求を受け付けた場合、セキュアエレメント20は、自身が保持している暗号鍵276を用いて、派生鍵276aを生成する(ステップS206)。セキュアエレメント20は、生成した派生鍵276aをPC3に出力する(ステップS207)。
When the
派生鍵276aをセキュアエレメント20から取得した場合、PC3の制御部31は、当該派生鍵276aを用いて対象ファイル75を復号する(ステップS208)。制御部31は、復号した対象ファイル75を仮想環境に格納し(ステップS209)、サブルーチンをリターンする。
When the derived key 276a is obtained from the
以上より、本実施の形態2によれば、セキュアエレメント20内で対象ファイル75の復号を行うのではなく、セキュアエレメント20が出力した派生鍵276aを用いて、PC3において対象ファイル75の復号を行う。これにより、例えば対象ファイル75が数メガバイト〜数ギガバイトと大きく、セキュアエレメント20では復号が困難な場合にも対応することができ、大容量の対象ファイル75を暗号化して配布することができる。
As described above, according to the second embodiment, instead of decrypting the
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。 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
273 Renewal key 274
276 Encryption key (key information)
277 Verification key (key information)
278 Serial Number (Individual Identification Information)
3 PC
71 OS image for
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.
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)
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)
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 |
-
2017
- 2017-12-20 JP JP2017244350A patent/JP6988444B2/en active Active
Patent Citations (9)
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)
Title |
---|
小俣 三郎: "組込み機器向け認証・暗号システムのプロトタイプ実装", マルチメディア,分散,協調とモバイル(DICOMO2008)シンポジウム論文集 情報処理学会シンポジ, vol. 第2008巻, JPN6021033161, 9 July 2008 (2008-07-09), JP, pages 506 - 512, ISSN: 0004582277 * |
Cited By (3)
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 |