JP6988444B2 - 初期設定方法、セキュアエレメント、デバイス及びプログラム - Google Patents

初期設定方法、セキュアエレメント、デバイス及びプログラム Download PDF

Info

Publication number
JP6988444B2
JP6988444B2 JP2017244350A JP2017244350A JP6988444B2 JP 6988444 B2 JP6988444 B2 JP 6988444B2 JP 2017244350 A JP2017244350 A JP 2017244350A JP 2017244350 A JP2017244350 A JP 2017244350A JP 6988444 B2 JP6988444 B2 JP 6988444B2
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.)
Active
Application number
JP2017244350A
Other languages
English (en)
Other versions
JP2019113886A (ja
Inventor
正徳 浅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2017244350A priority Critical patent/JP6988444B2/ja
Publication of JP2019113886A publication Critical patent/JP2019113886A/ja
Application granted granted Critical
Publication of JP6988444B2 publication Critical patent/JP6988444B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、初期設定方法、セキュアエレメント、デバイス及びプログラムに関する。
近年、「モノのインターネット」と呼ばれるIoT(Internet of Things)の市場が急速に拡大している。しかしながら、IoTの「モノ」に相当するデバイス機器はセキュリティ上脆弱なことが多く、問題が顕在化している。
ところで、IoTに係るシステムの運用を開始するには、デバイスが適切に動作するように、OS(オペレーティングシステム)、アプリケーション等のソフトウェアのインストール、IPアドレス等のパラメータの設定など、何らかの初期設定が必要となることが多い。例えば特許文献1には、クライアント端末に対してOSをインストールするサーバ装置等が開示されている。
デバイスの初期設定は、デバイスの製造元で行うほかに、主としてビジネス上の要因により、IoTデバイスの運用者(例えばIoTサービスを提供する事業者、デバイスのエンドユーザ等)が行う場合もある。例えば独自のプロプライエタリ・ソフトウェアを組み込んだIoTデバイスを供給する場合、当該ソフトウェアのソースコードを製造元等に開示したくない場合がある。また、例えば運用者側でデバイスのソフトウェアの動作自体をカスタマイズしたい場合もあり得る。
しかし、運用者が自らソフトウェアをビルドしてデバイスに書き込むことは、技術的な難易度が高い。一般的に、初期設定作業は製造元の開発環境、又は量産環境として特殊なソフトウェアや機器を必要とするものであり、技術知識に乏しい運用者が初期設定を行うことは現実的ではない。
一方、コンピュータの仮想化、及びIaC(Infrastructure as Code)と呼ばれる概念により、仮想的な実行環境を自動的に構築する試みがなされている。例えばWebサーバ、データベースサーバなどの仮想サーバをPC等のハードウェア上に構築する場合、仮想サーバを構築可能な仮想化基盤を用意した上で、インストールすべきサーバプログラムの所在、コンフィグレーションの設定内容等を記述したテキストファイルをPCに与える。PCは、当該ファイルに記載された手順に従って動作し、仮想化基盤上に仮想サーバを自動的に構築する。
特開2005−107851号公報
上記の技術を、IoTデバイスの初期設定に応用することは技術的には可能である。しかしながら、上述のテキストファイルに記述された処理手順、又は処理内容(例えばインストールすべきプログラムの所在)が書き換えられることで、例えば運用者が意図しないプログラムが混入される虞があるなど、セキュリティ上の問題が生じることが予測される。
一つの側面では、セキュリティを確保しつつデバイスの初期設定を自動的に行うことができる初期設定方法等を提供することを目的とする。
一つの側面に係る初期設定方法は、入出力インターフェイスを介してデバイスに接続されたコンピュータ、前記デバイスに搭載されたセキュアエレメントから、該デバイスの初期設定手順を記述した初期設定ファイルを前記入出力インターフェイスを介して取得し、取得した前記初期設定ファイルを参照して、初期設定を行うための仮想環境を構築し、該仮想環境において、前記初期設定手順に従って前記デバイスの初期設定を行い、初期設定内容を前記デバイスの記憶領域に前記入出力インターフェイスを介して書き込む処理を実行することを特徴とする。
一つの側面に係るセキュアエレメントは、デバイスに搭載されるセキュアエレメントであって、仮想環境を構築し、該仮想環境において前記デバイスの初期設定を行う手順を記述した初期設定ファイルを格納する格納部と、前記デバイスに接続されたコンピュータに対し、前記初期設定ファイルを出力する出力部とを備えることを特徴とする。
一つの側面に係るデバイスは、セキュアエレメントを搭載したデバイスであって、前記セキュアエレメントは、仮想環境を構築し、該仮想環境において前記デバイスの初期設定を行う手順を記述した初期設定ファイルを格納する格納部と、前記デバイスに通信接続されたコンピュータに対し、前記初期設定ファイルを出力する出力部とを備えることを特徴とする。
一つの側面に係るプログラムは、デバイスに接続されたコンピュータに、前記デバイスに搭載されたセキュアエレメントから、該デバイスの初期設定手順を記述した初期設定ファイルを取得し、取得した前記初期設定ファイルを参照して、初期設定を行うための仮想環境を構築し、該仮想環境において、前記初期設定手順に従って前記デバイスの初期設定を行い、初期設定内容を前記デバイスの記憶領域に書き込む処理を実行させることを特徴とする。
一つの側面では、セキュリティを確保しつつデバイスの初期設定を自動的に行うことができる。
初期設定システムの構成例を示す模式図である。 デバイス及びPCの構成例を示すブロック図である。 初期設定ファイルの更新処理に関する説明図である。 初期設定ファイルの読出処理に関する説明図である。 仮想環境構築処理に関する説明図である。 対象ファイルの配布方法の一例を示す説明図である。 特段のセキュリティを要さない配布ケースを示す説明図である。 認証処理を伴う配布ケースを示す説明図である。 暗号化された対象ファイルを配布するケースを示す説明図である。 対象ファイルの検証処理を伴う配布ケースを示す説明図である。 対象ファイルを実行ファイルに変換する変換処理に関する説明図である。 初期設定内容の書き込み処理に関する説明図である。 初期設定システムが実行する処理手順の一例を示すフローチャートである。 データ更新のサブルーチンの一例を示すフローチャートである。 初期設定ファイル読出のサブルーチンの一例を示すフローチャートである。 仮想環境構築のサブルーチンの一例を示すフローチャートである。 ダウンロード処理のサブルーチンの一例を示すフローチャートである。 認証処理のサブルーチンの一例を示すフローチャートである。 復号処理のサブルーチンの一例を示すフローチャートである。 検証処理のサブルーチンの一例を示すフローチャートである。 ファイル変換のサブルーチンの一例を示すフローチャートである。 初期設定内容の書き込み処理のサブルーチンの一例を示すフローチャートである。 実施の形態2に係る暗号化ファイルの復号処理に関する説明図である。 実施の形態2に係る復号処理のサブルーチンの一例を示すフローチャートである。
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
(実施の形態1)
図1は、初期設定システムの構成例を示す模式図である。本実施の形態では、IoTデバイスであるデバイス1の初期設定処理を行うシステムについて説明する。初期設定システムは、デバイス1の初期設定作業を行うPC3と、初期設定に必要な各種データをPC3に配信する管理サーバ4及び配布サーバ5、5、5…とを有する。各装置は、インターネット等のネットワークNを介して通信接続されている。
デバイス1は、ネットワークNに接続されて種々の処理を行う電子機器であり、例えば監視カメラ、多機能端末、車両に搭載されたECU(Electronic Control Unit)、生産設備やインフラ設備の異常監視装置等、種々の機器であり得る。後述するように、デバイス1には耐タンパ性を有するセキュアエレメント20が予め搭載されており、セキュアエレメント20に、初期設定の手順を記述した初期設定ファイル271が格納されている(図2等参照)。PC3は、自装置に接続されたデバイス1のセキュアエレメント20から初期設定ファイル271を読み出し、初期設定ファイル271に記述された初期設定手順に従って管理サーバ4及び配布サーバ5、5、5…から各種データを取得し、初期設定作業を行う。PC3は、初期設定内容をデバイス1の記憶領域に書き込み、デバイス1を起動可能な状態にする。
PC3は、種々の情報処理、情報の送受信が可能なパーソナルコンピュータであり、デバイス1の運用者が操作する端末装置である。なお、運用者はIoTサービスを提供する事業者であってもよく、デバイス1のエンドユーザであってもよい。運用者は、PC3にデバイス1を接続し、初期設定に係る処理をPC3に実行させる。後述するように、PC3には仮想マシン(仮想環境)を構築するためのソフトウェア上、又はハードウェア上の仮想化基盤が用意されており、PC3は、仮想化基盤上に仮想マシンを構築し、仮想マシンにおいてデバイス1の初期設定を行う。
管理サーバ4は、本システムを管理する管理者のサーバ装置であり、最新の初期設定ファイル271等を管理する管理装置である。上述の如く、デバイス1のセキュアエレメント20には初期設定ファイル271が格納されているが、管理サーバ4は、当該初期設定ファイル271の最新データを保持している。デバイス1は、PC3に初期設定ファイル271をダウンロードさせる際に最新のファイルを管理サーバ4から取得し、PC3に出力する。
配布サーバ5は、初期設定に必要な対象ファイルをPC3に配布するサーバ装置であり、初期設定対象であるOS、アプリケーション等の実行ファイル、あるいはソースコードを保持している。PC3は、初期設定ファイル271の記述に従って配布サーバ5にアクセスし、各種ファイルをダウンロードして初期設定作業を行う。本実施の形態では、PC3は配布サーバ5a、5bからそれぞれ仮想マシンを構築するために必要なOSイメージ及びビルドツールをダウンロードすると共に、配布サーバ5c〜5fからそれぞれ、デバイス1に初期設定するOS、アプリケーション等の対象ファイルをダウンロードし、仮想マシン上に展開する。
図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)等の規格で相互に接続されている。
デバイス本体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が処理を実行するために必要な各種データを記憶する。
記憶部12の不揮発性メモリには、初期設定によって通常動作時のソフトウェアをインストールすべきインストール領域12aと、デバイス1の出荷前に製造者が書き込みを行うプリインストール領域12bとが用意されている。インストール領域12aは、デバイス1の基本動作を制御するOSや各種アプリケーションの実行ファイルが格納される記憶領域であり、デバイス1の出荷時には何も書き込まれていない。一方、プリインストール領域12bには、デバイス1を起動するためのブートローダ121のほか、初期設定を行うために最低限必要な通信機能に関わるソフトウェア等が書き込まれている。
内部I/F13は、セキュアエレメント20と情報の入出力を行うための内部インターフェイスであり、上述の如く、ISO7816、SPI等の規格で情報の入出力を行う。外部I/F14は、デバイス1外部と情報の入出力を行うための外部インターフェイスであり、例えばUSB、Ethernet(登録商標)、Wi−fi(登録商標)等の双方向通信が可能なインターフェイスである。
セキュアエレメント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との間で情報の入出力を行うインターフェイスである。
記憶部27は不揮発性メモリであり、初期設定ファイル271、ビルドスクリプト271a、PIN(Personal Identification Number)コード272、更新用鍵273、証明書274、認証用鍵275、暗号鍵276、検証用鍵277、シリアル番号278を記憶している。
初期設定ファイル271は、PC3上で仮想マシンの構築を行い、デバイス1の初期設定を自動で行うための手順を保持するファイルである。初期設定ファイル271に記述された初期設定手順には大別して、PC3に初期設定環境である仮想マシンを構築させる手順、初期設定に必要な各対象ファイルを配布サーバ5からダウンロードする手順、及びデバイス本体10に書き込む対象ファイルをビルドし、デバイス本体10にインストールする手順が含まれている。ビルドスクリプト271aは、上記で説明した対象ファイルのビルド及びインストールに係る具体的な処理手順を記述したスクリプトである。
PINコード272は、運用者認証部22が運用者の認証を行う際に照合する値であり、セキュアエレメント20毎に設定された個別の値である。更新用鍵273及び証明書274は、セキュアエレメント20と管理サーバ4との間でエンドツーエンドの秘匿通信路を確立するための鍵値及び証明書である。
認証用鍵275、暗号鍵276、及び検証用鍵277はそれぞれ、配布サーバ5との間で対象ファイルの送受信を行う際に必要な鍵情報である。認証用鍵275は、認証情報生成部23において認証情報を生成する際に用いる鍵値である。暗号鍵276は、復号部24が暗号化された対象ファイルを復号する際に用いる鍵値である。検証用鍵277は、検証部25が対象ファイルに添付された署名を検証する際に用いる鍵値である。
シリアル番号278は、セキュアエレメント20の個体識別情報であり、セキュアエレメント20毎に個別に付与される一意の番号である。シリアル番号278は、セキュアエレメント20(デバイス1)の工場出荷時に設定される変更不可能な値であり、セキュアエレメント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、その他のデータを記憶している。
以下では図3〜図12を用いて、デバイス1の初期設定処理の具体的な処理内容について説明する。図3は、初期設定ファイル271の更新処理に関する説明図である。PC3は、自装置に接続されたデバイス1のセキュアエレメント20から、初期設定作業に必要な初期設定ファイル271を読み出し、予め用意された仮想化基盤60上に仮想的な実行環境を構築して、当該仮想環境においてデバイス1の初期設定を行う。なお、仮想化基盤60については後述する。初期設定ファイル271を読み出す場合に、セキュアエレメント20はPC3を介して管理サーバ4と通信を行い、最新の初期設定ファイル271、及び最新の鍵情報を管理サーバ4からダウンロードし、各種データを更新する。
図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)。
読出要求を受け付けた場合、セキュアエレメント20の更新部21は、初期設定ファイル271の読み出しに先立ち、デバイス本体10及びPC3に対して管理サーバ4との間の通信路の開設を要求する(P4)。デバイス本体10及びPC3は、セキュアエレメント20からの要求に従い、セキュアエレメント20と管理サーバ4との間の通信路を開設する(P5)。通信路の確立方法は特に限定されないが、例えばセキュアエレメント20にIPアドレスを付与した上で、セキュアエレメント20及び管理サーバ4の間に、TCP(Transmission Control Protocol)に従って情報の伝送を行う通信路を確立する。
ここで更新部21は、更新用鍵273及び証明書274を用いて、通信路を秘匿化する(P6)。セキュアエレメント20及び管理サーバ4は、更新用鍵273及び証明書274を共有している。セキュアエレメント20及び管理サーバ4は、自身が送信するデータに対して更新用鍵273及び証明書274を含む電子署名を付して送信し、互いにデータを確認して通信を行うことで、通信内容を秘匿化した秘匿通信路を確立する。
セキュアエレメント20は、秘匿化した通信路を介して、最新の初期設定ファイル271を管理サーバ4からダウンロードし、初期設定ファイル271を更新する(P7)。図3の例では、ファイル更新により、配布サーバ5からダウンロードする対象ファイル(デバイス1にインストールするOSカーネル)のバージョンが「2.6.1」から「4.8.4」に変化している。これにより、後述するダウンロード時に、PC3は最新の対象ファイルをダウンロードする。
また、セキュアエレメント20は秘匿通信路を介して、初期設定作業に用いる最新の鍵情報を管理サーバ4からダウンロードし、鍵情報を更新する(P8)。鍵情報は、配布サーバ5との間で対象ファイルの送受信を行う際に用いる鍵値であり、上述の認証用鍵275、暗号鍵276、及び検証用鍵277である。セキュアエレメント20は、各種鍵の最新版を管理サーバ4からダウンロードし、自身が保持する鍵値を上書きする。セキュアエレメント20は、最新の鍵情報を用いて対象ファイルを配布サーバ5からダウンロードしていく。
図4は、初期設定ファイル271の読出処理に関する説明図である。初期設定ファイル271及び鍵情報の更新後、PC3は初期設定ファイル271の読み出しを開始する。図4において符号P21〜P27に示す処理プロセスについて、順に説明する。
PC3の制御部31は、運用者による操作入力を受け付け、デバイス1に対し初期設定ファイル271の読み出しを要求する(P21)。デバイス本体10は、PC3から受け付けた読出要求をセキュアエレメント20に転送する(P22)。
読出要求を受け付けた場合、セキュアエレメント20は、正当な運用者による読出要求であるか否かを確認するため、運用者情報の入力をPC3に要求する(P23)。例えばセキュアエレメント20は、PINコード272の入力を要求する。PINコード272は、正当な権限を有する運用者に予め通知されているコードであり、セキュアエレメント20毎に個別に設定された値である。セキュアエレメント20は、製造時においてPINコード272が設定され、内部の不揮発性メモリ(記憶部27)に保持してある。PINコード272の出力要求を受け付けた場合、PC3は、入力部35を介して運用者からPINコード272の入力を受け付け、セキュアエレメント20に出力する(P24)。
PINコード272をPC3から取得した場合、セキュアエレメント20の運用者認証部22は、取得したPINコード272と、自身が保持するPINコード272とを照合する(P25)。PINコード272が不一致である場合、セキュアエレメント20は処理を中断し、初期設定ファイル271の読み出しを行わない。
一方、PINコード272が一致した場合、セキュアエレメント20は、初期設定ファイル271を読み出してPC3に出力する(P26)。PC3は、取得した初期設定ファイル271を仮想化基盤60に解釈させ、初期設定ファイル271に基づく初期設定処理の実行を開始する(P27)。
仮想化基盤60は、デバイス1の初期設定を行う仮想環境を構築するためのハードウェア上及びソフトウェア上のコンピュータリソースであり、PC3内に予め用意されている。PC3は、セキュアエレメント20から取得した初期設定ファイル271をコンパイルし、仮想化基盤60に実行させる。これにより、後述する仮想マシン61が仮想化基盤60上に構築され、初期設定作業が可能となる。
なお、上記ではPINコード272を基に運用者の認証を行っているが、例えばパスワード、生体情報等のように、予め取り決められた運用者情報に基づいて運用者を認証可能であればよく、運用者の正当性を証明するための運用者情報はPINコード272に限定されない。
以降の処理でPC3は、初期設定ファイル271に記述された手順に従って動作する。なお、初期設定ファイル271の記述内容、文法等は設計事項であり、PC3は、初期設定ファイル271の手順に従って自動的に動作可能であればよい。
図5は、仮想環境構築処理に関する説明図である。初期設定ファイル271をダウンロードしたPC3はまず、初期設定作業を行うための仮想環境(仮想マシン61)を仮想化基盤60上に構築する。図3において符号P41〜43に示す処理プロセスについて、順に説明する。
PC3は、初期設定ファイル271に記述された、初期設定処理を実行する仮想環境を構築するための仮想環境用OSイメージ71をネットワークN経由でダウンロードする(P41)。図5の例では、PC3は初期設定ファイル271の「build−environment OS」の記述に従い、仮想環境用OSイメージ71を配布している配布サーバ5aにアクセスし、ダウンロードを行う。
PC3は、ダウンロードした仮想環境用OSイメージ71を仮想化基盤60上で展開し、仮想マシン61として起動する(P42)。
また、PC3は、初期設定ファイル271で指定されたビルドツール72をダウンロードし、起動した仮想マシン61内に格納する(P43)。ビルドツール72は、ソースコードで記述されたソースファイルをコンピュータが解釈可能な実行ファイルに変換(ビルド)するためのツールであり、後述するように、ソースコードで配布される対象ファイルを変換するためのツールである。図5の例では、PC3は初期設定ファイル271の「get build_tool」の記述に従い、ビルドツール72を配布している配布サーバ5bにアクセスし、ダウンロードを行う。
PC3は、上記のようにして初期設定作業用の仮想マシン61を構築し、仮想マシン61内で初期設定作業を行う。具体的には以下で説明するように、PC3は、デバイス1に初期設定するOS、アプリケーション等の各種対象ファイルを配布サーバ5c〜5fからダウンロードし、仮想マシン61内に展開して、デバイス1のインストール領域12aに書き込んでいく。ここで、本実施の形態では、対象ファイルの配布元である各配布サーバ5c〜5fのセキュリティポリシーに従い、対象ファイル毎に異なる配布方法を採用する。
図6は、対象ファイルの配布方法の一例を示す説明図である。図6に示す表では、PC3が配布サーバ5c〜5fからダウンロードする対象ファイルと、各対象ファイルのダウンロード時に「認証」、「暗号化」、及び「検証」で表す各セキュリティ対策が必要か否かと、対象ファイルの配布形態(ファイル形式)とを示してある。
「認証」は、対象ファイルのダウンロード時に配布サーバ5dが要求元(PC3の運用者)に対して認証を行い、正当な権限を有する運用者であるか否かを認証するケースを表す。「暗号化」は、配布サーバ5eが対象ファイルを暗号化した上でPC3に配信し、PC3側で対象ファイルの復号が要求されるケースを表す。「検証」は、配布サーバ5fが対象ファイルに電子署名を付した上で配信し、PC3側で電子署名を確認して、対象ファイルが改竄されているか否かを検証するケースを表す。なお、各ケースの具体的な処理内容については後述する。
配布形態は、対象ファイルをソースコード形式で配布するか、又は実行ファイル形式で配布するかを規定している。
図6に示すように、対象ファイルの配布元のポリシーに応じて、対象ファイルのダウンロード時に異なるシーケンスが必要となる。例えば「authorized_software」で示す対象ファイルをダウンロードする場合には運用者の認証を行う必要があるが、「proprietary_software」で示す対象ファイルをダウンロードする場合には対象ファイルの復号を行う必要がある。本実施の形態では、初期設定ファイル271に各配布元のポリシーに応じたダウンロード方法(取得手順)を記述しておき、PC3は、初期設定ファイル271の記述に従って異なる処理手順でダウンロードを行う。
図7は、特段のセキュリティを要さない配布ケースを示す説明図である。PC3は、初期設定ファイル271に記述された、「IoTデバイス用OS kernel」で示す対象ファイル73を配布サーバ5cからダウンロードする。図7の例では、PC3は「get OS_kernel 4.8.3」の記述に従ってダウンロードを行う。対象ファイル73のケースでは、後述する対象ファイル74〜76とは異なり、初期設定ファイル271においてセキュリティポリシーに関わるダウンロード手順(取得手順)が記述されていない。従って、PC3は特段のセキュリティ対策処理を行うことなく、ダウンロードした対象ファイル73をそのまま仮想マシン61に格納する。
図8は、認証処理を伴う配布ケースを示す説明図である。図8では、「authorized software」で示す対象ファイル74をダウンロードする場合に、PC3と配布サーバ5dとの間で認証処理を行う様子を図示している。図8において符号P61〜67で示す処理プロセスについて、順に説明する。
まずPC3(仮想化基盤60)は、初期設定ファイル271の記述に従い、対象ファイル74を配布している配布サーバ5dに対し、対象ファイル74の配信を要求する(P61)。図8の例では、PC3は「get authorized_software」の記述に従い、「authorized software」で示す対象ファイル74の背信を要求する。
PC3から配信要求を受け付けた場合、配布サーバ5dは、当該要求が正当な要求であるか否かを確認するため、PC3に対して認証情報の送信を要求する(P62)。認証情報は、配布サーバ5dとセキュアエレメント20との間で共有する秘密の情報に基づいてセキュアエレメント20が生成する情報である。本実施の形態では、セキュアエレメント20は配布サーバ5dとの間で秘密の認証用鍵275(鍵情報)を共有し、認証用鍵275を用いて認証情報を生成する。
なお、配布サーバ5dとセキュアエレメント20との間で共有する秘密情報はどのような種類の情報であってもよく、例えば上記のPINコード272、又はパスワード、MAC等であってもよい。
認証情報の送信要求を受け付けた場合、PC3は、セキュアエレメント20に対して認証情報の出力を要求する(P63)。図8の例では、PC3は、初期設定ファイル271の「――AuthWithSE」の記述に基づき、セキュアエレメント20から認証情報を取得する必要があることを確認する。PC3は当該記述に従い、デバイス本体10を介してセキュアエレメント20に対し、認証情報の出力要求を送信する。
認証情報の出力要求を受け付けた場合、セキュアエレメント20の認証情報生成部23は、自身が保持する秘密情報を基に認証情報を生成する(P64)。本実施の形態では、認証情報生成部23は、配布サーバ5dとの間で共有する認証用鍵275と、セキュアエレメント20の個体識別情報であるシリアル番号278とに基づいてMAC(Message Authentication Code)を生成し、シリアル番号278及びMACを認証情報としてPC3に出力する(P65)。
PC3は、セキュアエレメント20から出力された認証情報を配布サーバ5dに送信する(P66)。配布サーバ5dは、PC3から受信した認証情報を、自身が保持する認証用鍵275を用いて検証し、セキュアエレメント20が生成した正当な情報であるか否かを判定する。具体的には、配布サーバ5dは、認証情報として添付されているシリアル番号278から、自身が保持する認証用鍵275を用いてMACを計算し、PC3から送信されたものと同一のMACを計算できたか否かを確認する。同一のMACが計算できなかった場合、配布サーバ5dは対象ファイル74の配信を行わず、ダウンロードを拒否する。
正当な情報であると判定した場合、配布サーバ5dは、対象ファイル74をPC3に配信する(P67)。PC3は、上述の仮想環境用OSイメージ71、ビルドツール72と同様にダウンロードを行い、対象ファイル74を仮想マシン61に格納する。
なお、上記でセキュアエレメント20は、自身の個体識別情報であるシリアル番号278に基づいて認証情報を生成しているが、セキュアエレメント20ではなく、デバイス1の個体識別情報(製造番号等)によって認証情報を生成してもよい。また、認証情報の元となる個体識別情報は番号に限定されず、個体を一意に特定可能な情報であればよい。
図9は、暗号化された対象ファイル75を配布するケースを示す説明図である。図9では、配布サーバ5eから暗号化して配信された対象ファイル75をセキュアエレメント20が復号し、仮想マシン61に格納する様子を図示している。図9において符号P81〜86で示す処理プロセスについて、順に説明する。
PC3(仮想化基盤60)は、初期設定ファイル271の記述に従い、対象ファイル75を配信する配布サーバ5eにアクセスして、対象ファイル75の配信を要求する(P81)。図9の例では、PC3は「get proprietary_software」の記述に従い、「proprietary software」で示す対象ファイル75の配信を要求する。
配信要求を受け付けた場合、配布サーバ5eは、セキュアエレメント20との間で共有する暗号鍵276に基づいて対象ファイル75を暗号化した上で、PC3に配信する(P82)。暗号鍵276は、例えば共通鍵方式の共通鍵、公開鍵方式の秘密鍵等であるが、対象ファイル75を暗号化可能であればよく、暗号化の方式は特に限定されない。
暗号化された対象ファイル75を受信した場合、PC3は、対象ファイル75をセキュアエレメント20に送信し、対象ファイル75の復号を要求する(P83)。図9の例では、PC3は初期設定ファイル271の「――DecryptSE」の記述を参照して、セキュアエレメント20が対象ファイル75を復号すべきことを確認する。PC3は当該記述に従って、デバイス本体10を介してセキュアエレメント20に対し、対象ファイル75の復号要求を送信する。
復号要求を受け付けた場合、セキュアエレメント20の復号部24は、セキュアエレメント20が保持する暗号鍵276を用いて、対象ファイル75の復号を行う(P84)。セキュアエレメント20が保持する暗号鍵276は、配布サーバ5eが保持する鍵と同一の共通鍵、又は対応する公開鍵等であるが、配布サーバ5eが暗号化した対象ファイル75を復号可能であればよい。
セキュアエレメント20は、復号した対象ファイル75をPC3に返送する(P85)。PC3は、セキュアエレメント20から取得した対象ファイル75を仮想マシン61に格納する(P86)。
図10は、対象ファイルの検証処理を伴う配布ケースを示す説明図である。図10では、配布サーバ5fが対象ファイル75に改竄検証用の付加情報(例えば電子署名)を付して配信を行い、セキュアエレメント20が付加情報の検証を行い、検証結果に応じてPC3が仮想マシン61に対象ファイル75を格納する様子を図示している。図10において符号P101〜P107に示す処理プロセスについて、順に説明する。
PC3(仮想化基盤60)は、初期設定ファイル271の記述に従い、対象ファイル76の配信を配布サーバ5fに要求する(P101)。図10の例では、PC3は「get correct_software」の記述に基づき、「correct software」で示す対象ファイル76の配信を要求する。
配信要求を受け付けた場合、配布サーバ5fは、セキュアエレメント20との間で共有する検証用鍵277を用いて付加情報を生成し、対象ファイル76に付加する(P102)。例えば配布サーバ5fは秘密鍵を、セキュアエレメント20は公開鍵を検証用鍵277として保持している。配布サーバ5fは、自身が保持する秘密鍵を用いて、対象ファイル76の情報から電子署名を生成する。例えば配布サーバ5fは、対象ファイル76のハッシュ値を計算し、当該ハッシュ値に対して自身が保持する秘密鍵を用いて、電子署名を生成する。配布サーバ5fは、生成した電子署名を対象ファイル76に添付する。配布サーバ5fは、付加情報が付された対象ファイル76をPC3に配信する(P103)。
配布サーバ5fから対象ファイル76を取得した場合、PC3は、付加情報の検証をセキュアエレメント20に要求する(P104)。図10の例では、PC3は初期設定ファイル271の「――VerifySE」の記述を参照して、セキュアエレメント20が付加情報の検証を行うべきことを確認する。PC3は、付加情報と、対象ファイル76に関する情報とをセキュアエレメント20に送信し、検証を要求する。対象ファイル76に関する情報は、例えば対象ファイル76のハッシュ値であり、PC3はハッシュ値を計算してセキュアエレメント20に送信する。
検証要求を受け付けた場合、セキュアエレメント20の検証部25は、配布サーバ5fとの間で共有する検証用鍵277と、PC3から取得した対象ファイル76に関する情報とに基づき、PC3から取得した付加情報の検証を行う(P105)。例えばセキュアエレメント20は、自身が保持する公開鍵を用いて電子署名を復号し、PC3から取得した対象ファイル76のハッシュ値と照合して、対象ファイル76の改竄の有無を判定する。
セキュアエレメント20は、検証結果をPC3に返信する(P106)。PC3は、改竄が行われている旨の検証結果を取得した場合、対象ファイル76のダウンロードを中断する。一方、改竄が行われておらず、正当な対象ファイル76である旨の検証結果を取得した場合、PC3は、対象ファイル76を仮想マシン61に格納する(P107)。
図11は、対象ファイルを実行ファイルに変換する変換処理に関する説明図である。図11では、ソースコードで配布されている対象ファイルを実行ファイルに変換(ビルド)する様子を図示している。
図6で説明したように、各配布サーバ5から配布される対象ファイルは、配布形態(ファイル形式)も異なっている。具体的には、配布サーバ5c、5dはそれぞれ、他の配布サーバ5とは異なり、実行ファイルではなくソースファイルを配布している。ソースコードで記述された対象ファイルは、デバイス1がそのまま実行することができないため、実行ファイルに変換(ビルド)してデバイス1が実行可能にする必要がある。一般的に、当該変換作業はコンパイル(プログラム言語から機械言語への変換)と、リンク(ファイル間の呼び出し関係の解決)とから成り、複雑な作業となる。本実施の形態では、セキュアエレメント20に格納されているビルドスクリプト271aに当該変換作業の処理手順が記述されており、PC3はビルドスクリプト271aを参照して自動的に対象ファイルの変換を行う。
図11において符号P121〜123で示す処理プロセスについて、順に説明する。PC3(仮想化基盤60)はまず、初期設定ファイル271の記述に基づき、セキュアエレメント20に対してビルドスクリプト271aの出力を要求する(P121)。図11の例では、セキュアエレメント20は初期設定ファイル271の「copyFromSE build_scrypt」の記述に従い、ビルドスクリプト271aの出力を、デバイス本体10を経由してセキュアエレメント20に要求する。セキュアエレメント20は、ビルドスクリプト271aをPC3に出力する(P122)。
PC3は、初期設定ファイル271の記述に従い、仮想マシン61上でビルドスクリプト271aを実行して、ソースコードとして配布された対象ファイルを実行ファイルに変換する(P123)。図11の例では、PC3は初期設定ファイル271の「run build_scrypt」の記述に従ってビルドスクリプト271aを実行し、ビルドツール72を起動する。PC3はビルドツール72を用いて、ソースコードで配信された「IoTデバイス用OSイメージ」及び「authorized software」の対象ファイル73、74を実行ファイルに変換する。
図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の初期設定が完了する。
上記のように、安全なセキュアエレメント20に初期設定ファイル271を格納しておき、デバイス1に接続されたPC3がセキュアエレメント20を読み出し、初期設定ファイル271の手順に従って仮想環境(仮想マシン61)を構築して初期設定作業を行う。これにより、セキュリティを担保しつつ、デバイス1の初期設定を自動的に行うことができる。
なお、上記では初期設定ファイル271及びビルドスクリプト271aを別々のものとして図示及び説明を行ったが、上記の区別は本質的事項ではなく、PC3は、セキュアエレメント20に予め格納されているファイルに記述された設定手順に従って自動的に初期設定を行うことができればよい。
また、上記ではローカルPCであるPC3において初期設定作業を行ったが、クラウド上に仮想化基盤を用意しておき、クラウド上で仮想マシンを構築し、初期設定作業を行ってもよい。つまり、初期設定作業を行うコンピュータはデバイス1に直接的に接続されたコンピュータである必要はなく、ネットワーク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)。
制御部31は、初期設定ファイル271を参照して、仮想化基盤60上に仮想環境を構築する(ステップS13)。仮想環境は、PC3の通常のOSとは別のOSで動作する動作環境であり、PC3のソフトウェア及びハードウェア上のコンピュータリソースを用いて構築される仮想マシン61である。制御部31は、初期設定作業を行う仮想マシン61を構築するための仮想環境用OSイメージ71と、仮想マシン61内で対象ファイルのビルド(変換)を行うためのビルドツール72とを配布サーバ5から取得し、仮想マシン61を構築した上、ビルドツール72を仮想マシン61内に格納する。
制御部31は初期設定ファイル271を参照して、デバイス1に初期設定するOS、アプリケーション等の対象ファイルを各配布サーバ5から順次取得し、仮想環境に格納するダウンロード処理を実行する(ステップS14)。
制御部31は、ステップS14で仮想環境に格納した対象ファイルのうち、ソースコードで記述された対象ファイル(ソースファイル)を実行ファイルに変換する変換処理を実行する(ステップS15)。具体的には、制御部31は、仮想マシン61に格納したビルドツール72を起動し、対象ファイルをビルドする。制御部31は、仮想環境に格納された対象ファイルをデバイス1のインストール領域12a(記憶領域)に書き込み(ステップS16)、一連の処理を終了する。
図14は、データ更新のサブルーチンの一例を示すフローチャートである。図14に基づき、ステップS11のサブルーチンについて説明する。
PC3の制御部31は、運用者からの操作入力に従い、デバイス1のセキュアエレメント20に対して初期設定ファイル271の読み出しを要求する(ステップS21)。読出要求を受け付けた場合、セキュアエレメント20は、管理サーバ4との間でTCP等のプロトコルで動作する通信路を開設する(ステップS22)。
セキュアエレメント20は、管理サーバ4との間で予め共有している更新用鍵273と、証明書274とに基づき、通信路を秘匿化する処理を行う(ステップS23)。セキュアエレメント20は、更新用鍵273及び証明書274を更新部21に設定し、通信データに電子署名を付して管理サーバ4との間の通信を行う。
セキュアエレメント20は、管理サーバ4に対し、最新の初期設定ファイル271及び鍵情報の送信を要求する(ステップS24)。送信要求を受け付けた場合、管理サーバ4は、最新の初期設定ファイル271及び鍵情報をセキュアエレメント20に送信するステップS25)。
セキュアエレメント20は、自身が保持している初期設定ファイル271を、管理サーバ4から受信した最新の初期設定ファイル271に更新する(ステップS26)。また、セキュアエレメント20は、初期設定作業に用いる各種鍵情報を、管理サーバ4から受信した最新の鍵情報に更新する(ステップS27)。セキュアエレメント20は、サブルーチンをリターンする。
図15は、初期設定ファイル読出のサブルーチンの一例を示すフローチャートである。図15に基づき、ステップS12のサブルーチンの処理内容について説明する。
PC3の制御部31は、初期設定ファイル271の読み出しを要求する(ステップS41)。読出要求を受け付けた場合、セキュアエレメント20は、読出要求を行った運用者の認証を行うため、運用者情報の入力をPC3に要求する(ステップS42)。運用者情報は、例えばPINコード272のほか、パスワード、生体情報等のように、運用者の正当性を証明可能な情報である。運用者情報は、デバイス1(セキュアエレメント20)を購入した運用者と製造者との間で予め取り決められた情報であり、例えば製品出荷時にセキュアエレメント20に格納される。セキュアエレメント20は、運用者との間で予め取り決められた秘密の運用者情報に基づき、運用者の認証を行う。
運用者情報の出力要求を受け付けた場合、PC3の制御部31は、運用者情報(PINコード272等)の入力を受け付けてセキュアエレメント20に送信する(ステップS43)。セキュアエレメント20は、PC3から取得した運用者情報と、記憶部12に予め記憶してある運用者情報とを照合する(ステップS44)。
セキュアエレメント20は、運用者情報が一致したか否かを判定する(ステップS45)。一致しないと判定した場合(S45:NO)、セキュアエレメント20は初期設定ファイル271を出力せず、一連の処理を終了する。一致すると判定した場合(S45:YES)、セキュアエレメント20は初期設定ファイル271をPC3に出力する(ステップS46)。セキュアエレメント20から初期設定ファイル271を取得した場合、PC3の制御部31は、仮想化基盤60に初期設定ファイル271を解釈させて初期設定処理の実行を開始し(ステップS47)、サブルーチンをリターンする。
図16は、仮想環境構築のサブルーチンの一例を示すフローチャートである。図16に基づき、ステップS13のサブルーチンの処理内容について説明する。
PC3の制御部31は、初期設定ファイル271を参照して、初期設定処理を実行する仮想環境を構築するための仮想環境用OSイメージ71を配布サーバ5aから取得する(ステップS61)。仮想環境用OSイメージ71は、PC3内の仮想化基盤60上で動作する仮想マシン61のOSイメージである。制御部31は、取得した仮想環境用OSイメージ71に基づき、仮想環境を構築する(ステップS62)。すなわち制御部31は、仮想環境用OSイメージ71を展開して、仮想マシン61を起動する。
制御部31は、初期設定ファイル271を参照して、ソースコードを実行ファイルに変換(ビルド)するためのビルドツール72を配布サーバ5bから取得し、仮想環境に格納する(ステップS63)。制御部31は、サブルーチンをリターンする。
図17は、ダウンロード処理のサブルーチンの一例を示すフローチャートである。図17に基づき、ステップS14の処理内容について説明する。
PC3の制御部31は、初期設定ファイル271を参照して、設定手順(取得手順)に記述された対象ファイルが、ダウンロード時に認証処理を伴う対象ファイルであるか否かを判定する(ステップS81)。認証処理を伴う対象ファイルであると判定した場合(S81:YES)、制御部31は、セキュアエレメント20に認証情報を生成させて配布サーバ5dに送信し、配布サーバ5cで認証が成功した場合に対象ファイルをダウンロードする認証処理を実行する(ステップS82)。制御部31は、処理をステップS88に移行する。
認証処理を伴う対象ファイルでないと判定した場合(S81:NO)、制御部31は、設定手順に記述された対象ファイルが、暗号化して配信されるファイルであるか否かを判定する(ステップS83)。暗号化された対象ファイルであると判定した場合(S83:YES)、制御部31は、暗号化された対象ファイルを配布サーバ5eからダウンロードし、セキュアエレメント20に復号させる復号処理を実行する(ステップS84)。制御部31は、処理をステップS88に移行する。
暗号化された対象ファイルでないと判定した場合(S83:NO)、制御部31は、設定手順に記述された対象ファイルが、ファイル改竄の検証処理が必要な対象ファイルであるか否かを判定する(ステップS85)。検証処理が必要な対象ファイルであると判定した場合(S85:YES)、制御部31は、改竄検証用の付加情報が付された対象ファイルを配布サーバ5fからダウンロードし、セキュアエレメント20に付加情報を検証させる検証処理を実行する(ステップS86)。制御部31は、処理をステップS88に移行する。
検証処理が必要な対象ファイルでないと判定した場合(S85:NO)、制御部31は特段のセキュリティ処理を行わず、対象ファイルを配布サーバ5cから取得して仮想環境に格納する(ステップS87)。
制御部31は、初期設定ファイル271に規定された全ての対象ファイルをダウンロードしたか否かを判定する(ステップS88)。全ての対象ファイルをダウンロードしていないと判定した場合(S88:NO)、制御部31は処理をステップS81に戻し、次の設定手順に記述された対象ファイルを配布サーバ5からダウンロードする。全ての対象ファイルをダウンロードしたと判定した場合(S88:YES)、制御部31はサブルーチンをリターンする。
図18は、認証処理のサブルーチンの一例を示すフローチャートである。図18に基づき、ステップS82のサブルーチンの処理内容について説明する。
PC3の制御部31は、配布サーバ5dに対し、対象ファイル74の送信を要求する(ステップS101)。送信要求を受け付けた場合、配布サーバ5dは認証情報の出力をPC3に対して要求する(ステップS102)。認証情報は、対象ファイル74を要求する要求元の正当性を確認するための情報であり、セキュアエレメント20と配布サーバ5dとの間で共有される認証用鍵275と、セキュアエレメント20の個体識別情報であるシリアル番号278とに基づいて生成される。
配布サーバ5dから認証情報の出力要求を受け付けた場合、PC3の制御部31は、出力要求をセキュアエレメント20に転送する(ステップS103)。PC3から認証情報の出力要求を受け付けた場合、セキュアエレメント20は、記憶部12に記憶してある認証用鍵275と、シリアル番号278とに基づき、認証情報を生成する(ステップS104)。例えばセキュアエレメント20は、認証用鍵275及びシリアル番号278に基づいてMACを生成する。
セキュアエレメント20は、上記で生成したMACと、シリアル番号278とを認証情報としてPC3に出力する(ステップS105)。セキュアエレメント20から認証情報を取得した場合、PC3の制御部31は、当該認証情報を配布サーバ5dに送信する(ステップS106)。
PC3から認証情報を受信した場合、配布サーバ5dは当該認証情報に基づき、対象ファイル74の要求元の正当性を認証する認証処理を行う(ステップS107)。具体的には、配布サーバ5dはセキュアエレメント20と共有している認証用鍵275を用いてシリアル番号278からMACを生成(計算)し、PC3から受信したMACと同一の値を生成できたか否かを確認する。
配布サーバ5dは、認証に成功したか否かを判定する(ステップS108)。認証に成功しなかったと判定した場合(S108:NO)、配布サーバ5dは対象ファイル74をPC3に送信せず、サブルーチンをリターンする。認証に成功したと判定した場合(S108:YES)、配布サーバ5dは対象ファイル74をPC3に送信する(ステップS109)。制御部31は、配布サーバ5dから対象ファイル74を取得して仮想環境に格納し(ステップS110)、サブルーチンをリターンする。
図19は、復号処理のサブルーチンの一例を示すフローチャートである。図19に基づき、ステップS84のサブルーチンの処理内容について説明する。
PC3の制御部31は、対象ファイル75の送信を配布サーバ5eに要求する(ステップS121)。送信要求を受け付けた場合、配布サーバ5eは、セキュアエレメント20と共有している暗号鍵276を用いて対象ファイル75を暗号化する(ステップS122)。配布サーバ5eは、暗号化した対象ファイル75をPC3に送信する(ステップS123)。
配布サーバ5eから暗号化された対象ファイル75を取得した場合、PC3の制御部31は、当該対象ファイル75をセキュアエレメント20に転送し、対象ファイル75の復号を要求する(ステップS124)。復号要求を受け付けた場合、セキュアエレメント20は、自身が保持する暗号鍵276を用いて、対象ファイル75を復号する。(ステップS125)。セキュアエレメント20は、復号した対象ファイル75をPC3に返送する(ステップS126)。PC3の制御部31は、セキュアエレメント20が復号した対象ファイル75を仮想環境に格納し(ステップS127)、サブルーチンをリターンする。
図20は、検証処理のサブルーチンの一例を示すフローチャートである。図20に基づき、ステップS86のサブルーチンの処理内容について説明する。
PC3の制御部31は、対象ファイル76の送信を配布サーバ5fに要求する(ステップS141)。送信要求を受け付けた場合、配布サーバ5dは、セキュアエレメント20と共有している検証用鍵277と、配信対象である対象ファイル75に関する情報とに基づき、改竄検証用の付加情報を生成する(ステップS142)。例えば配布サーバ5dは、対象ファイル75のハッシュ値に対して秘密鍵(検証用鍵277)を用い、電子署名を生成する。
配布サーバ5fは、生成した付加情報を付して対象ファイル76をPC3に送信する(ステップS143)。配布サーバ5fから付加情報が付された対象ファイル76を取得した場合、PC3の制御部31は、付加情報及び対象ファイル76の情報をセキュアエレメント20に転送し、付加情報の検証を要求する(ステップS144)。
検証要求を受け付けた場合、セキュアエレメント20は、自身が保持してある検証用鍵277を用いて、付加情報から対象ファイル76に関する情報を復号する処理を行う(ステップS145)。例えばセキュアエレメント20は、配布サーバ5fが保持する秘密鍵に対応する公開鍵を用いて、電子署名から対象ファイル76のハッシュ値を復号する。セキュアエレメント20は、PC3から取得した対象ファイル76に関する情報(ハッシュ値)と、復号した情報とを照合することで、対象ファイル76の改竄の有無を検証する(ステップS146)。
セキュアエレメント20は、検証結果をPC3に返送する(ステップS147)。PC3の制御部31は、セキュアエレメント20から取得した検証結果を参照して、対象ファイル76が改竄されているか否かを判定する(ステップS148)。改竄されていると判定した場合(S148:YES)、制御部31は対象ファイル76を仮想環境に格納せず、サブルーチンをリターンする。改竄されていないと判定した場合(S148:NO)、制御部31は対象ファイル76を仮想環境に格納し(ステップS149)、サブルーチンをリターンする。
図21は、ファイル変換のサブルーチンの一例を示すフローチャートである。図21に基づき、ステップS15のサブルーチンの処理内容について説明する。
PC3の制御部31は、セキュアエレメント20に対し、対象ファイルのビルド及びインストールの処理手順を記述したビルドスクリプト271aの出力を要求する(ステップS161)。当該出力要求を受け付けた場合、セキュアエレメント20はビルドスクリプト271aを出力する(ステップS162)。PC3の制御部31は、ビルドスクリプト271aを実行し、ビルドツール72を起動してソースコードの対象ファイルを実行ファイルに変換する(ステップS163)。制御部31は、サブルーチンをリターンする。
図22は、初期設定内容の書き込み処理のサブルーチンの一例を示すフローチャートである。図22に基づき、ステップS16のサブルーチンの処理内容について説明する。
PC3の制御部31は、仮想環境に展開した対象ファイルをデバイス本体10に出力する(ステップS181)。対象ファイルは、デバイス1を動作させるOS、アプリケーション等の実行ファイルである。PC3から対象ファイルを取得した場合、デバイス本体10の制御部11は、不揮発性メモリ(記憶部12)のインストール領域12aに対象ファイルを書き込む(ステップS182)。また、制御部11はPC3からの指示に従い、インストール領域に記憶したデバイス1のOSカーネルを電源投入時に起動するようブートローダ121を設定し(ステップS183)、サブルーチンをリターンする。
なお、上記では簡潔のため、一の対象ファイルをダウンロード時に一のセキュリティ対策(ダウンロード時の認証、ファイルの暗号化等のいずれか)しか行わないものとして説明したが、複数のセキュリティ対策を組み合わせてもよい。
また、上記では別段説明しなかったが、PC3と配布サーバ5とは、セキュアエレメント20又はデバイス1の識別情報(例えばシリアル番号278)を送受信しながら通信を行い、個々のデバイス1毎に対象ファイルのダウンロードの手順又は内容を変更してもよい。例えばセキュリティ対策のために用いる鍵情報をセキュアエレメント20毎に個別化しておき、配布サーバ5はPC3からセキュアエレメント20の識別情報を受信して、個体毎に別々の鍵情報を用いてファイルの送受信を行う。また、例えば配布サーバ5は、セキュアエレメント20の識別情報に応じて異なるファイルをダウンロードさせるようにしてもよい。このように、配布サーバ5から対象ファイルをダウンロードする際にセキュアエレメント20の識別情報を送受信し、ダウンロードの手順又は内容を異ならせることで、より柔軟で安全なファイルのダウンロードを行うことができる。
以上より、本実施の形態1によれば、耐タンパ性を有するセキュアエレメント20に格納されている初期設定ファイル271を読み出し、当該ファイルに記述された手順で初期設定を行う。これにより、情報漏洩、停止、DoS攻撃等によって初期設定の手順や内容が書き換えられるような事態を防止し、セキュリティを担保しながらも、初期設定を自動化することができる。
また、本実施の形態1によれば、初期設定ファイル271で指定された対象ファイル73〜76をネットワークN経由で順次ダウンロードし、デバイス1のインストール領域12aに書き込むことができる。これにより、所望のソフトウェアをデバイス1へ自動的に組み込むことができ、適切な初期設定を行うことができる。
また、本実施の形態1によれば、セキュアエレメント20に保持してある鍵情報を用いてファイルの授受を行う。これにより、初期設定作業時の安全性を向上させることができる。特に本実施の形態では、対象ファイル毎に異なるセキュリティポリシーに合わせて初期設定ファイル271に各ファイルのダウンロード手順を規定し、別々の鍵を用いて別々の処理を行う。これにより、セキュリティポリシーが異なる各ファイルを柔軟に組み合わせて初期設定を行うことができる。
また、本実施の形態1によれば、対象ファイルのダウンロード時にセキュアエレメント20で認証情報を生成し、当該認証情報に基づく認証が成功した場合にファイルをダウンロード可能とする。これにより、デバイス1の正当な運用者のみにファイルの配布を限定することができ、かつ、認証用の鍵を適切に保護することができる。
また、本実施の形態1によれば、対象ファイルを暗号化して配布し、セキュアエレメント20においてファイルを復号する。これにより、内容を秘匿化したいファイルの解析を防止することができ、かつ、復号用の鍵を適切に保護することができる。
また、本実施の形態1によれば、対象ファイルに電子署名等の付加情報を付して配布し、セキュアエレメント20が検証用鍵277を用いて付加情報を復号し、照合を行う。これにより、デバイス1に初期設定されるソフトウェアの改竄を防止することができ、かつ、改竄検証用の鍵を適切に保護することができる。
また、本実施の形態1によれば、セキュアエレメント20(又はデバイス1)の識別情報を配布サーバ5との間で送受信し、製品個体毎に初期設定の手順や内容を異ならせてもよい。これにより、より柔軟で安全な初期設定を行うことができる。
また、本実施の形態1によれば、ソースコード(ソースファイル)で配布される対象ファイルを実行ファイルにビルドすることができ、配布形態の自由度を向上させることができる。
(実施の形態2)
実施の形態1では図9等において、暗号化された対象ファイル75をセキュアエレメント20が復号する形態について説明した。本実施の形態では、PC3がセキュアエレメント20から鍵情報を取得して対象ファイル75の復号を行う形態について述べる。なお、実施の形態1と重複する内容については同一の符号を付して説明を省略する。
図23は、実施の形態2に係る暗号化ファイルの復号処理に関する説明図である。図23では、配布サーバ5eが暗号鍵276から生成した派生鍵276aを用いて対象ファイル75の暗号化を行うと共に、セキュアエレメント20が派生鍵276aを生成してPC3に受け渡し、PC3が対象ファイル75を復号する様子を図示している。図23において符号P201〜P208で示す処理プロセスについて、順に説明する。
PC3(仮想化基盤60)は、初期設定ファイル271の記述「get proprietary_software――DerivedKeySE」に従い、対象ファイル75の配信を配布サーバ5eに要求する(P201)。ここで、図23に示すように、本実施の形態に係る初期設定ファイル271には、暗号化された対象ファイル75をダウンロードする際の処理手順として「――DerivedKeySE」と規定されている。当該記述は、後述する対象ファイル75の復号処理を、暗号鍵276から派生させた派生鍵276aを用いて行うべきことを示している。
PC3から配信要求を受け付けた場合、配布サーバ5eは、自身が保持する暗号鍵276を基に、暗号化を行うための派生鍵276aを生成する(P202)。配布サーバ5eは、派生鍵276aの秘匿性を維持しつつ、セキュアエレメント20側で生成する鍵との同一性を確保するため、例えばチャレンジ・レスポンス、Diffie−Hellman鍵交換などのアルゴリズムを用いて派生鍵276aを生成する。なお、簡潔のため、派生鍵276aの生成に関する詳細な図示及び説明は省略する。
配布サーバ5eは、生成した派生鍵276aを用いて対象ファイル75を暗号化する(P203)。配布サーバ5eは、暗号化した対象ファイル75をPC3に配信する(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)。
図24は、実施の形態2に係る復号処理のサブルーチンの一例を示すフローチャートである。図24に基づき、本実施の形態におけるステップS84(図17参照)の処理内容について説明する。
PC3の制御部31は、初期設定ファイル271の記述に従い、配布サーバ5eに対して対象ファイル75の送信を要求する(ステップS201)。送信要求を受け付けた場合、配布サーバ5eは、自身が保持している暗号鍵276を基に、派生鍵276aを生成する(ステップS202)。配布サーバ5eは、生成した派生鍵276aを用いて対象ファイル75を暗号化する(ステップS203)。配布サーバ5eは、暗号化した対象ファイル75をPC3に送信する(ステップS204)。
配布サーバ5eから対象ファイル75を取得した場合、PC3の制御部31は、派生鍵276aの出力をセキュアエレメント20に要求する(ステップS205)。派生鍵276aの出力要求を受け付けた場合、セキュアエレメント20は、自身が保持している暗号鍵276を用いて、派生鍵276aを生成する(ステップS206)。セキュアエレメント20は、生成した派生鍵276aをPC3に出力する(ステップS207)。
派生鍵276aをセキュアエレメント20から取得した場合、PC3の制御部31は、当該派生鍵276aを用いて対象ファイル75を復号する(ステップS208)。制御部31は、復号した対象ファイル75を仮想環境に格納し(ステップS209)、サブルーチンをリターンする。
以上より、本実施の形態2によれば、セキュアエレメント20内で対象ファイル75の復号を行うのではなく、セキュアエレメント20が出力した派生鍵276aを用いて、PC3において対象ファイル75の復号を行う。これにより、例えば対象ファイル75が数メガバイト〜数ギガバイトと大きく、セキュアエレメント20では復号が困難な場合にも対応することができ、大容量の対象ファイル75を暗号化して配布することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
1 デバイス
10 デバイス本体
20 セキュアエレメント
271 初期設定ファイル
271a ビルドスクリプト
272 PINコード(運用者情報)
273 更新用鍵
274 証明書
275 認証用鍵(鍵情報)
276 暗号鍵(鍵情報)
277 検証用鍵(鍵情報)
278 シリアル番号(個体識別情報)
3 PC
P プログラム
60 仮想化基盤
61 仮想マシン(仮想環境)
71 仮想環境用OSイメージ
72 ビルドツール
73〜76 対象ファイル

Claims (23)

  1. 入出力インターフェイスを介してデバイスに接続されたコンピュータ
    前記デバイスに搭載されたセキュアエレメントから、該デバイスの初期設定手順を記述した初期設定ファイルを前記入出力インターフェイスを介して取得し、
    取得した前記初期設定ファイルを参照して、初期設定を行うための仮想環境を構築し、
    該仮想環境において、前記初期設定手順に従って前記デバイスの初期設定を行い、
    初期設定内容を前記デバイスの記憶領域に前記入出力インターフェイスを介して書き込む
    処理を実行することを特徴とする初期設定方法。
  2. 前記初期設定ファイルに従って前記デバイスに初期設定する対象ファイルを、該対象ファイルを配信するサーバからネットワークを介して取得し、
    取得した前記対象ファイルを前記仮想環境に格納し、
    前記仮想環境に格納した前記対象ファイルを、前記入出力インターフェイスを介して前記記憶領域に書き込む
    処理を前記コンピュータが実行することを特徴とする請求項1に記載の初期設定方法。
  3. 前記セキュアエレメントは、前記サーバとの間で共有された鍵情報を保持してあり、
    前記サーバから前記対象ファイルを取得する場合、前記鍵情報に基づいて前記対象ファイルの送受信を行う
    処理を前記コンピュータが実行することを特徴とする請求項2に記載の初期設定方法。
  4. 前記セキュアエレメントに対し、前記鍵情報に基づく認証情報の生成を要求し、
    前記入出力インターフェイスを介して前記セキュアエレメントから前記認証情報を取得し、
    前記サーバに対し、前記認証情報を転送して前記対象ファイルの送信を要求し、
    前記サーバで前記認証情報に基づく認証に成功した場合、前記対象ファイルを取得する
    処理を前記コンピュータが実行することを特徴とする請求項3に記載の初期設定方法。
  5. 前記認証情報は、前記セキュアエレメント、又は前記デバイスの個体識別情報に基づいて生成される
    ことを特徴とする請求項4に記載の初期設定方法。
  6. 前記サーバから、前記鍵情報に基づき暗号化された前記対象ファイルを取得し、
    前記鍵情報に基づいて復号した前記対象ファイルを前記仮想環境に格納する
    処理を前記コンピュータが実行することを特徴とする請求項3〜5のいずれか1項に記載の初期設定方法。
  7. 前記対象ファイルを取得した場合、前記セキュアエレメントに対し、前記対象ファイルの復号を要求し、
    前記セキュアエレメントが復号した前記対象ファイルを前記仮想環境に格納する
    処理を前記コンピュータが実行することを特徴とする請求項6に記載の初期設定方法。
  8. 前記対象ファイルを取得した場合、前記セキュアエレメントに対し、前記鍵情報に基づく派生鍵の生成を要求し、
    前記セキュアエレメントが生成した前記派生鍵を用いて、前記対象ファイルを復号し、
    復号した前記対象ファイルを前記仮想環境に格納する
    処理を前記コンピュータが実行することを特徴とする請求項6に記載の初期設定方法。
  9. 前記サーバから、前記対象ファイルと、前記鍵情報を用いて該対象ファイルから生成された付加情報とを取得し、
    前記セキュアエレメントに対し、前記付加情報と、前記対象ファイルの情報とを出力して、前記鍵情報を用いて前記付加情報を復号し、前記対象ファイルの情報と照合するよう要求し、
    前記セキュアエレメントによる照合結果に応じて、前記対象ファイルを前記仮想環境に格納する
    処理を前記コンピュータが実行することを特徴とする請求項3〜7のいずれか1項に記載の初期設定方法。
  10. 前記対象ファイルを取得する場合、前記セキュアエレメントの識別情報、又は前記デバイスの識別情報を送信して前記対象ファイルの送受信を行う
    処理を前記コンピュータが実行することを特徴とする請求項2〜8のいずれか1項に記載の初期設定方法。
  11. 前記初期設定ファイルには、前記対象ファイルがソースコードで記述されたソースファイルである場合に、該ソースファイルを前記デバイスが実行可能な実行ファイルに変換する処理手順が記述されており、
    取得した前記対象ファイルが前記ソースファイルである場合、前記処理手順に従って前記ソースファイルを変換する
    処理を前記コンピュータが実行することを特徴とする請求項2〜10のいずれか1項に記載の初期設定方法。
  12. デバイスに搭載されるセキュアエレメントであって、
    仮想環境を構築し、該仮想環境において前記デバイスの初期設定を行う手順を記述した初期設定ファイルを格納する格納部と、
    前記デバイスに接続されたコンピュータに対し、前記初期設定ファイルを出力する出力部と
    を備えることを特徴とするセキュアエレメント。
  13. 前記初期設定ファイルには、前記デバイスに初期設定する対象ファイルを配信元から取得する取得手順が記述されており、
    前記格納部は、前記配信元との間で共有されており、前記対象ファイルの取得手順に応じて用いる鍵情報を格納してある
    ことを特徴とする請求項12に記載のセキュアエレメント。
  14. 前記配信元との間での認証処理を伴う前記対象ファイルの取得手順が前記初期設定ファイルに記述されている場合、前記コンピュータからの要求に応じて、前記鍵情報に基づき認証情報を生成する生成部を備え、
    前記出力部は、生成した前記認証情報を前記コンピュータに出力する
    ことを特徴とする請求項13に記載のセキュアエレメント。
  15. 前記鍵情報に基づき暗号化された前記対象ファイルを前記コンピュータが取得した場合、前記コンピュータからの要求に応じて、前記鍵情報に基づき前記対象ファイルの復号を行う復号部を備え、
    前記出力部は、復号した前記対象ファイルを前記コンピュータに出力する
    ことを特徴とする請求項14に記載のセキュアエレメント。
  16. 前記鍵情報に基づき暗号化された前記対象ファイルを前記コンピュータが取得した場合、前記コンピュータからの要求に応じて、前記対象ファイルの復号に用いる派生鍵を前記鍵情報から生成する派生鍵生成部を備え、
    前記出力部は、生成した前記派生鍵を前記コンピュータに出力する
    ことを特徴とする請求項13又は14に記載のセキュアエレメント。
  17. 前記対象ファイルと、前記鍵情報を用いて該対象ファイルから生成された付加情報とを前記コンピュータが取得した場合、前記コンピュータからの要求に応じて前記付加情報を復号し、前記コンピュータが取得した前記対象ファイルの情報と照合する照合部を備え、
    前記出力部は、前記照合部による照合結果を前記コンピュータに出力する
    ことを特徴とする請求項13〜16のいずれか1項に記載のセキュアエレメント。
  18. 前記コンピュータから前記初期設定ファイルの出力要求を受け付けた場合、最新の前記初期設定ファイルを管理する管理サーバに対し、該最新の初期設定ファイルの送信を要求する最新ファイル要求部と、
    前記管理サーバから前記最新の初期設定ファイルを取得する取得部と
    を備え、
    前記出力部は、前記最新の初期設定ファイルを前記コンピュータに出力する
    ことを特徴とする請求項13〜17のいずれか1項に記載のセキュアエレメント。
  19. 前記取得部は、前記最新の初期設定ファイルと共に、最新の前記鍵情報を取得する
    ことを特徴とする請求項18に記載のセキュアエレメント。
  20. 前記格納部は、前記管理サーバとの間で共有された鍵値及び証明書を格納してあり、
    前記鍵値及び証明書に基づき、前記管理サーバとの間で通信内容を秘匿化した秘匿通信路を確立する通信路確立部を備え、
    前記取得部は、前記秘匿通信路を介して前記最新の初期設定ファイルを取得する
    ことを特徴とする請求項18又は19に記載のセキュアエレメント。
  21. 前記格納部は、運用者の認証に必要な運用者情報を格納してあり、
    前記コンピュータから前記初期設定ファイルの出力要求を受け付けた場合、前記運用者情報の出力を要求する運用者情報要求部と、
    前記コンピュータから出力された前記運用者情報と、前記格納部に格納してある前記運用者情報とを照合する運用者照合部と
    を備え、
    前記出力部は、前記運用者照合部による照合結果に応じて前記初期設定ファイルを出力する
    ことを特徴とする請求項12〜20のいずれか1項に記載のセキュアエレメント。
  22. セキュアエレメントを搭載したデバイスであって、
    前記セキュアエレメントは、
    仮想環境を構築し、該仮想環境において前記デバイスの初期設定を行う手順を記述した初期設定ファイルを格納する格納部と、
    前記デバイスに通信接続されたコンピュータに対し、前記初期設定ファイルを出力する出力部と
    を備えることを特徴とするデバイス。
  23. デバイスに接続されたコンピュータに、
    前記デバイスに搭載されたセキュアエレメントから、該デバイスの初期設定手順を記述した初期設定ファイルを取得し、
    取得した前記初期設定ファイルを参照して、初期設定を行うための仮想環境を構築し、
    該仮想環境において、前記初期設定手順に従って前記デバイスの初期設定を行い、
    初期設定内容を前記デバイスの記憶領域に書き込む
    処理を実行させることを特徴とするプログラム。
JP2017244350A 2017-12-20 2017-12-20 初期設定方法、セキュアエレメント、デバイス及びプログラム Active JP6988444B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017244350A JP6988444B2 (ja) 2017-12-20 2017-12-20 初期設定方法、セキュアエレメント、デバイス及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017244350A JP6988444B2 (ja) 2017-12-20 2017-12-20 初期設定方法、セキュアエレメント、デバイス及びプログラム

Publications (2)

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

Family

ID=67223320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017244350A Active JP6988444B2 (ja) 2017-12-20 2017-12-20 初期設定方法、セキュアエレメント、デバイス及びプログラム

Country Status (1)

Country Link
JP (1) JP6988444B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112331052B (zh) * 2020-11-03 2023-03-07 武汉慧联无限科技有限公司 物联网演示系统确定方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4027482B2 (ja) * 1997-12-24 2007-12-26 富士通株式会社 暗号復元を行う翻訳装置およびその方法
JP2005107451A (ja) * 2003-10-02 2005-04-21 Canon Inc 3次元構造体の製造方法
JP5136012B2 (ja) * 2007-11-16 2013-02-06 富士通株式会社 データ送付方法
JP2010141639A (ja) * 2008-12-12 2010-06-24 Dainippon Printing Co Ltd 通信システムおよび通信方法
US8589302B2 (en) * 2009-11-30 2013-11-19 Intel Corporation Automated modular and secure boot firmware update
FR2993682B1 (fr) * 2012-07-20 2014-08-22 Oberthur Technologies Mise a jour d'un systeme d'exploitation pour element securise
JP2015205499A (ja) * 2014-04-23 2015-11-19 キヤノン株式会社 画像処理装置、画像処理装置の制御方法およびプログラム
JP6238939B2 (ja) * 2015-08-24 2017-11-29 Kddi株式会社 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
JP2019113886A (ja) 2019-07-11

Similar Documents

Publication Publication Date Title
US9766914B2 (en) System and methods for remote maintenance in an electronic network with multiple clients
CN100594692C (zh) 信息处理装置、服务器装置、信息处理装置的方法及服务器装置的方法
US11882224B2 (en) Generic code signing client with downloadable modules
CN101442527B (zh) 使用装置标识符的远程供应
US20110283104A1 (en) Domain Access System
CN103119560A (zh) 用于服务处理器复合体中的数据存储的基于需求的usb代理
JP2004265026A (ja) アプリケーション認証システムと装置
US20080189695A1 (en) Updating of Data Instructions
CN103577206A (zh) 一种应用软件的安装方法和装置
US8638932B2 (en) Security method and system and computer-readable medium storing computer program for executing the security method
EP3862899A1 (en) Information communication apparatus, authentication program for information communication apparatus, and authentication method
US20150047001A1 (en) Application program execution device
JP6988444B2 (ja) 初期設定方法、セキュアエレメント、デバイス及びプログラム
US20240111907A1 (en) A device and a communication method
WO2021205889A1 (ja) 情報処理方法、プログラム、情報処理装置、及び、データ構造
JP5290863B2 (ja) ターミナルサーバ、シンクライアントシステム、及びコンピュータ資源割り当て方法
JP2012058803A (ja) シンクライアントシステム、およびオペレーティングシステム更新方法
CN112424777B (zh) 工业个人计算机装置及其操作方法
US9467298B1 (en) Device for and method of multilevel chain of trust/revision
KR20150074128A (ko) 적어도 하나의 소프트웨어 구성요소를 컴퓨팅 디바이스에 다운 로딩하는 방법, 관련 컴퓨터 프로그램 제조물, 컴퓨팅 디바이스, 컴퓨터 시스템
JP7313232B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
US20220417032A1 (en) Distributed signing system
EP4354792A1 (en) A device and a method for performing a cryptographic operation
JP4453678B2 (ja) データ処理方法およびデータ処理システム
Jadhav Evaluation and implementation of zero-touch onboarding solutions for IIoT

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 Written amendment

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