JP6697404B2 - System and method of writing information - Google Patents
System and method of writing information Download PDFInfo
- Publication number
- JP6697404B2 JP6697404B2 JP2017000740A JP2017000740A JP6697404B2 JP 6697404 B2 JP6697404 B2 JP 6697404B2 JP 2017000740 A JP2017000740 A JP 2017000740A JP 2017000740 A JP2017000740 A JP 2017000740A JP 6697404 B2 JP6697404 B2 JP 6697404B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- ciphertext
- message
- information
- processor
- 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
Links
Images
Description
本発明は、装置への鍵の書込処理を実行するシステムに関する。 The present invention relates to a system for executing a key writing process to a device.
自動車の車載機器等のモジュールが、サーバと安全に通信をするためには、車載機器がサーバと秘密情報を共有することが必要になる。車載機器及びサーバは、共有する秘密情報を鍵として用いて、暗号通信により安全に通信を行うことができる。 In order for a module such as an in-vehicle device of an automobile to communicate safely with a server, the in-vehicle device needs to share secret information with the server. The vehicle-mounted device and the server can safely communicate by cryptographic communication using the shared secret information as a key.
共有する鍵は、製造工場で車載機器に書き込むことができる。例えば、製造工場で車載機器に鍵を書き込む技術として、特許文献1に記載の技術が知られている。
The shared key can be written in the in-vehicle device at the manufacturing plant. For example, a technique described in
特許文献1には、「秘密鍵登録システムは、電子キー2として、例えばマスターキーや複数のサブキーを車両に登録する際に使用するシステムである。外部センター200は、登録に必要な情報である車載器センター鍵22及び電子キーセンター鍵23を内部センター20に配信する。内部センター20は、乱数生成器31により秘密鍵を生成する。内部センター20は、生成した秘密鍵を車載器センター鍵22及び電子キーセンター鍵23で暗号化処理し、当該処理した秘密鍵を車両及び電子キー2へ配信する。」ことが記載されている。
In
また、車載機器への鍵の書き込み方法として、非特許文献1の方法が知られている。非特許文献1には、鍵の生成者が、鍵を暗号化したメッセージを生成し、メッセージを復号せずにモジュールに送り、また、モジュールが、内部で鍵を復号し、当該鍵を書き込むことが記載されている。また、非特許文献1には、モジュールが検証用メッセージを出力し、鍵の生成者は検証用メッセージに基づいて、鍵が書き込まれたか否かを検証することを確認することが記載されている。非特許文献1に記載の技術を用いることによって、セキュアに鍵をモジュールに書き込むことができる。
Further, the method of Non-Patent
自動車等の製品の製造工程においては、自動車メーカーが自動車のモジュールを製造するとは限らず、サプライヤが自動車のモジュールを製造し、自動車メーカーに当該モジュールを供給する場合がある。モジュールに書き込む鍵は、利用者以外には開示されないことが望ましい。しかし、サプライヤのモジュール製造工場において、自動車メーカーが生成した鍵をモジュールに書き込む場合、特許文献1の方法では、鍵をサプライヤ製造工場に配布する必要があるため、サプライヤに鍵が開示される可能性がある。
In a manufacturing process of a product such as an automobile, an automobile manufacturer does not always manufacture an automobile module, and a supplier may produce an automobile module and supply the automobile module to the automobile manufacturer. It is desirable that the key written in the module is not disclosed to anyone other than the user. However, in the module manufacturing factory of the supplier, when the key generated by the automobile manufacturer is written in the module, in the method of
非特許文献1の方法を用いれば、サプライヤに鍵が開示される可能性はない。しかし、サプライヤは、モジュールに正しく鍵が書き込まれたことを確認するために、サプライヤのシステムと自動車メーカーのシステムとを接続し、モジュールが出力する検証用メッセージを自動車メーカーに送信する必要がある。
If the method of Non-Patent
前述のシステム構成では、サプライヤは、自動車メーカーによる検証結果を待つ必要があり、検証結果を受け取るまで製造ラインの停止等させる必要がある。また、モジュールの製造を行った後に検証結果を受け取る場合、鍵の書込処理のエラーに伴うモジュールの回収及びモジュールの再設定等を行う必要がある。したがって、前述のシステム構成では、モジュールの製造ラインの安定性を低下させる要因となり、モジュールの製造コストを増加させる。 In the system configuration described above, the supplier needs to wait for the verification result by the automobile manufacturer, and needs to stop the production line or the like until the verification result is received. Further, when the verification result is received after manufacturing the module, it is necessary to collect the module and reset the module due to an error in the key writing process. Therefore, the system configuration described above is a factor that reduces the stability of the module manufacturing line and increases the module manufacturing cost.
本発明は、モジュール等の装置へのセキュアな情報の書込みを実現するとともに、装置を製造するシステム内で情報の書込処理の成否を検証することできるシステムを提供することを目的とする。 An object of the present invention is to provide a system capable of securely writing information to a device such as a module and verifying the success or failure of the information writing process in a system for manufacturing the device.
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、装置の製造を管理する第1の計算機、及び前記第1の計算機に接続され、前記装置に設定する設定情報を管理する第2の計算機を備えるシステムであって、前記第1の計算機は、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、及び前記第1のプロセッサに接続される第1のネットワークインタフェースを有し、前記第2の計算機は、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、及び前記第2のプロセッサに接続される第2のネットワークインタフェースを有し、前記第2のメモリは、前記装置及び前記第2の計算機によって共有され、暗号化処理及び復号処理に使用する鍵情報を格納し、前記第2のプロセッサは、前記鍵情報を用いて前記設定情報を暗号化した第1の暗号文を含む第1のメッセージを生成して、前記第1の計算機を介して前記装置に送信し、前記鍵情報を用いて前記設定情報に含まれる一部のデータを暗号化した第2の暗号文を含む第2のメッセージを生成して、前記第1の計算機に送信し、前記第1のプロセッサは、前記第1の暗号文を復号化することによって取得された前記設定情報を格納した前記装置から、前記鍵情報を用いて前記設定情報に含まれる一部の情報を暗号化した第3の暗号文を含む第3のメッセージを受信し、前記第2のメッセージ及び前記第3のメッセージを比較することによって、前記設定情報の書込処理が成功したか否かを検証することを特徴とする。 A typical example of the invention disclosed in the present application is as follows. That is, a system including a first computer that manages manufacturing of a device, and a second computer that is connected to the first computer and that manages setting information set in the device, wherein the first computer is , A first processor, a first memory connected to the first processor, and a first network interface connected to the first processor, and the second computer is a second processor. A second memory connected to the second processor, and a second network interface connected to the second processor, the second memory being provided by the device and the second computer. Key information that is shared and that is used for encryption processing and decryption processing is stored, and the second processor sends a first message including a first ciphertext in which the setting information is encrypted using the key information. A second message including a second ciphertext that is generated and transmitted to the device via the first computer, and uses the key information to encrypt a part of the data included in the setting information. Generated and transmitted to the first computer, the first processor uses the key information from the device that stores the setting information acquired by decrypting the first ciphertext. By receiving a third message including a third ciphertext obtained by encrypting a part of information included in the setting information, and comparing the second message and the third message with each other. It is characterized by verifying whether or not the writing process of is successful.
本発明によれば、第2の計算機は、第1の計算機に秘匿した状態で、装置に鍵等の設定情報を書き込むことができ、また、第1の計算機は、第2の計算機に問い合わせることなく設定情報の書込処理の成否を検証できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。 According to the present invention, the second computer can write the setting information such as the key to the device in a state of being hidden from the first computer, and the first computer can inquire the second computer. Therefore, the success or failure of the writing process of the setting information can be verified. Problems, configurations and effects other than those described above will be clarified by the following description of the embodiments.
以下、本発明の実施例について図面を参照して詳細に説明する。各図において共通の構成には同一の参照符号が付されている。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In each drawing, the same reference numerals are given to common configurations.
図1は、実施例1のシステムの構成例を示す図である。 FIG. 1 is a diagram illustrating a configuration example of a system according to the first embodiment.
実施例1のシステムは、センタ鍵管理サーバ100、工場鍵管理サーバ110、製造ライン端末120、及び装置130から構成される。なお、工場鍵管理サーバ110、製造ライン端末120、及び装置130は、製造工場に含まれる構成である。また、拠点とセンタ鍵管理サーバ100を含むシステムは、異なるシステムを構成する。
The system according to the first embodiment includes a center
センタ鍵管理サーバ100及び工場鍵管理サーバ110は、第1のネットワーク150を介して接続される。工場鍵管理サーバ110及び製造ライン端末120は、第2のネットワーク160を介して接続される。また、製造ライン端末120及び装置130は、第3のネットワーク170を介して接続される。
The center
第1のネットワーク150、第2のネットワーク160、及び第3のネットワーク170は、例えば、WAN(Wide Area Network)及びLAN(Local Area Network)等が考えられる。なお、本実施例は、ネットワークの種別及び接続方式(有線又は無線)に限定されない。
The
本実施例では、センタ鍵管理サーバ100は、オンプレミスなものとして記載しているが、クラウドシステムを用いてセンタ鍵管理サーバ100を実現してもよい。本実施例では、工場鍵管理サーバ110及び製造ライン端末120を別々の装置として記載しているが、各計算機が有する機能を一つの計算機にまとめてもよい。
In the present embodiment, the center
本実施例では、装置130の製造工程において、製造工場の外部に設置されたセンタ鍵管理サーバ100によって発行されたアプリケーション鍵を書き込む鍵書込工程を例に説明する。
In this embodiment, a key writing process of writing an application key issued by the center
装置130は、製造工場において生産される車載機器等の部品(モジュール)である。センタ鍵管理サーバ100は、装置130に書込む鍵を生成する。工場鍵管理サーバ110は、製造工場全体を管理する。また、工場鍵管理サーバ110は、センタ鍵管理サーバ100によって生成された鍵を受信し、製造ライン端末120を介して、装置130に当該鍵を送信する。製造ライン端末120は、工場鍵管理サーバ110及び装置130の間を中継する端末である。
The
図2は、実施例1のセンタ鍵管理サーバ100のハードウェア構成及びソフトウェア構成の一例を示す図である。
FIG. 2 is a diagram illustrating an example of a hardware configuration and a software configuration of the center
センタ鍵管理サーバ100は、ハードウェアとして、プロセッサ201、メモリ202、記憶装置203、ネットワークインタフェース204、及びI/Oインタフェース205を有する。各構成は、バス等を介して接続される。
The center
プロセッサ201は、メモリ202に格納されるプログラムを実行する。プロセッサ201がプログラムにしたがって処理を実行することによって所定の機能を有するモジュールとして動作する。以下の説明では、モジュールを主語に説明する場合、プロセッサ201が当該モジュールを実現するプログラムを実行していることを示す。
The
メモリ202は、プロセッサ201が実行するプログラム及び当該プログラムが使用する情報を格納する。また、メモリ202は、ワークエリア等の記憶領域を含む。メモリ202に格納されるプログラムについては後述する。
The memory 202 stores a program executed by the
記憶装置203は、データを永続的に格納する。記憶装置203は、例えば、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等が考えられる。記憶装置203に格納されるデータについては後述する。
The
ネットワークインタフェース204は、ネットワークを介して外部の装置と通信するためのインタフェースである。本実施例では、センタ鍵管理サーバ100は、ネットワークインタフェース204を介して第1のネットワーク150に接続する。
The
I/Oインタフェース205は、入力装置206及び出力装置207等の外部装置と接続するためのインタフェースである。なお、入力装置206は、キーボード、マウス、及びタッチパネル等を含み、また、出力装置207は、ディスプレイ及びタッチパネル等を含む。
The I / O interface 205 is an interface for connecting to external devices such as the
センタ鍵管理サーバ100のメモリ202は、制御モジュール210を実現するプログラムを格納する。
The memory 202 of the center
制御モジュール210は、センタ鍵管理サーバ100全体を制御する。また、制御モジュール210は、データの暗号化処理及び復号処理を実行する。なお、本実施例では、共通鍵暗号方式にしたがった暗号化処理及び復号処理が実行されるものとする。
The
制御モジュール210は、鍵生成モジュール211、第1の暗号化モジュール212、第1のMAC生成モジュール213、第2の復号モジュール214、第2のMAC検証モジュール215、鍵導出モジュール226、及び第2の暗号化モジュール217を含む。なお、制御モジュール210は、鍵生成モジュール211、第1の暗号化モジュール212、第1のMAC生成モジュール213、第2の復号モジュール214、第2のMAC検証モジュール215、鍵導出モジュール226、及び第2の暗号化モジュール217を一つの暗号演算モジュールとして含んでもよい。
The
鍵生成モジュール211は、暗号化等に使用する鍵として、ランダムなビット列を生成する。
The
第1の暗号化モジュール212は、共通鍵暗号方式の鍵を用いて平文を暗号化することによって暗号文を生成する。具体的には、第1の暗号化モジュール212は、式(1)に示すように、共通鍵暗号方式の鍵及び平文を変数とする第1の暗号化関数Enc1を用いて暗号文を算出する。 The first encryption module 212 generates a ciphertext by encrypting the plaintext using a common key cryptosystem key. Specifically, the first encryption module 212 calculates the ciphertext by using the key of the common key cryptosystem and the first encryption function Enc1 having the plaintext as variables, as shown in Expression (1). ..
ここで、kは共通鍵暗号方式の鍵を表し、pは平文を表し、また、cは暗号文を表す。 Here, k represents a key of the common key cryptosystem, p represents plaintext, and c represents ciphertext.
第1のMAC生成モジュール213は、共通鍵暗号方式の鍵を用いてMAC生成対象データのMAC値を生成する。具体的には、第1のMAC生成モジュール213は、式(2)に示すように、共通鍵暗号方式の鍵及びMAC生成対象データを変数とする第1のMAC生成関数GenMAC1を用いてMAC値を算出する。 The first MAC generation module 213 generates the MAC value of the MAC generation target data using the key of the common key cryptosystem. Specifically, the first MAC generation module 213 uses the first MAC generation function GenMAC1 having variables of the key of the common key cryptosystem and the MAC generation target data, as shown in Expression (2), to generate a MAC value. To calculate.
ここで、mはMAC生成対象データを表し、tはMAC値を表す。 Here, m represents the MAC generation target data, and t represents the MAC value.
第2の復号モジュール214は、共通鍵暗号方式の鍵を用いて暗号文を復号することによって平文を生成する。具体的には、第2の復号モジュール214は、式(3)に示すように、共通鍵暗号方式の鍵及び暗号文を変数とする第2の復号関数Dec2を用いて平文を算出する。
The
第2のMAC検証モジュール215は、共通鍵暗号方式の鍵を用いて、MAC対象データ及びMAC値の組の正当性を検証する。具体的には、第2のMAC検証モジュール215は、式(4)に示すように、共通鍵暗号方式の鍵、MAC対象データ、及びMAC値を変数とする第2のMAC検証関数VerifyMAC2を用いてMAC値の検証を行う。 The second MAC verification module 215 verifies the validity of the set of the MAC target data and the MAC value using the key of the common key cryptosystem. Specifically, the second MAC verification module 215 uses a second MAC verification function VerifyMAC2 having variables of the key of the common key cryptosystem, the MAC target data, and the MAC value, as shown in Expression (4). Then, the MAC value is verified.
ここで、vは検証結果を表す。なお、算出結果vは「0」又は「1」のいずれかとなる。「0」は失敗を示し、「1」は成功を示す。 Here, v represents the verification result. The calculation result v is either “0” or “1”. "0" indicates failure and "1" indicates success.
鍵導出モジュール216は、共通鍵暗号方式のオリジナル鍵及び付加データを用いて導出鍵を生成する。具体的には、鍵導出モジュール216は、式(5)に示すように、共通鍵暗号方式の鍵のオリジナル鍵及び付加データを変数とする鍵導出関数KDFを用いて導出鍵を算出する。 The key derivation module 216 generates a derivation key using the original key of the common key cryptosystem and the additional data. Specifically, the key derivation module 216 calculates the derived key by using the key derivation function KDF with the variables of the original key of the key of the common key cryptosystem and the additional data, as shown in Expression (5).
ここで、kは共通鍵暗号方式の鍵のオリジナル鍵を表し、Dataは付加データを表し、また、k_derivedは導出鍵を表す。 Here, k represents the original key of the key of the common key cryptosystem, Data represents the additional data, and k_derived represents the derived key.
第2の暗号化モジュール217は、共通鍵暗号方式の鍵を用いて平文を暗号化することによって暗号文を生成する。第2の暗号化モジュール217は、第1の暗号化モジュール212と同様の機能であるが、暗号化に使用する関数が異なる。なお、第2の暗号化モジュール217は後述する第2の暗号化モジュール514と同一のものであるため、第2の暗号化モジュール217が使用する関数については、装置130の構成の説明において示す。
The second encryption module 217 generates a ciphertext by encrypting the plaintext using the key of the common key cryptosystem. The second encryption module 217 has the same function as the first encryption module 212, but the function used for encryption is different. Since the second encryption module 217 is the same as the
センタ鍵管理サーバ100の記憶装置203は、装置鍵情報250及び第1の鍵管理メッセージ情報260を格納する。装置鍵情報250の詳細は図6を用いて説明する。また、第1の鍵管理メッセージ情報260の詳細は図7を用いて説明する。なお、装置鍵情報250及び第1の鍵管理メッセージ情報260は、メモリ202に格納されてもよい。
The
図3は、実施例1の工場鍵管理サーバ110のハードウェア構成及びソフトウェア構成の一例を示す図である。
FIG. 3 is a diagram illustrating an example of a hardware configuration and a software configuration of the factory
工場鍵管理サーバ110は、ハードウェアとして、プロセッサ301、メモリ302、記憶装置303、ネットワークインタフェース304、及びI/Oインタフェース305を有する。各構成は、バス等を介して接続される。また、I/Oインタフェース305には、入力装置306及び出力装置307が接続される。
The factory
プロセッサ301、メモリ302、記憶装置303、ネットワークインタフェース304、及びI/Oインタフェース305は、プロセッサ201、メモリ202、記憶装置203、ネットワークインタフェース204、及びI/Oインタフェース205と同様のものである。また、入力装置306及び出力装置307は、入力装置206及び出力装置207と同様のものである。
The
工場鍵管理サーバ110のメモリ302は、制御モジュール310を実現するプログラムを格納する。
The
制御モジュール310は、工場鍵管理サーバ110全体を制御する。また、制御モジュール310は、アプリケーション鍵の書込処理の成否を検証するメッセージ検証モジュール311を含む。
The
メッセージ検証モジュール311は、二つのメッセージを比較することによって、アプリケーション鍵の書込処理が成功したか否かを判定する。具体的には、メッセージ検証モジュール311は、二つのメッセージが一致している場合、アプリケーション鍵の書込処理の成功と判定する。 The message verification module 311 determines whether or not the writing process of the application key has succeeded by comparing the two messages. Specifically, when the two messages match, the message verification module 311 determines that the application key writing process has succeeded.
工場鍵管理サーバ110の記憶装置303は、第2の鍵管理メッセージ情報350を格納する。第2の鍵管理メッセージ情報350は、第1の鍵管理メッセージ情報260と同様のデータ構造である。なお、第2の鍵管理メッセージ情報350は、メモリ302に格納されてもよい。
The
図4は、実施例1の製造ライン端末120のハードウェア構成及びソフトウェア構成の一例を示す図である。
FIG. 4 is a diagram illustrating an example of a hardware configuration and a software configuration of the
製造ライン端末120は、ハードウェアとして、プロセッサ401、メモリ402、記憶装置403、ネットワークインタフェース404、及びI/Oインタフェース405を有する。各構成は、バス等を介して接続される。また、I/Oインタフェース405には、入力装置406及び出力装置407が接続される。
The
プロセッサ401、メモリ402、記憶装置403、ネットワークインタフェース404、及びI/Oインタフェース405は、プロセッサ201、メモリ202、記憶装置203、ネットワークインタフェース204、及びI/Oインタフェース205と同様のものである。また、入力装置406及び出力装置407は、入力装置206及び出力装置207と同様のものである。
The
製造ライン端末120のメモリ402は、製造ライン端末120全体を制御する制御モジュール410を実現するプログラムを格納する。
The
製造ライン端末120の記憶装置403は、工場鍵管理サーバ110から受信した書込用メッセージ440、及び装置130から受信した検証用メッセージ450を格納する。なお、書込用メッセージ440及び検証用メッセージ450は、メモリ402に格納されてもよい。
The storage device 403 of the
図5は、実施例1の装置130のハードウェア構成及びソフトウェア構成の一例を示す図である。
FIG. 5 is a diagram illustrating an example of a hardware configuration and a software configuration of the
装置130は、ハードウェアとして、プロセッサ501、メモリ502、記憶装置503、及びネットワークインタフェース504を有する。各構成は、バス等を介して接続される。
The
プロセッサ501、メモリ502、記憶装置503、及びネットワークインタフェース504は、プロセッサ201、メモリ202、記憶装置203、及びネットワークインタフェース204と同様のものである。
The processor 501, the
装置130のメモリ502は、制御モジュール510を実現するプログラムを格納する。
The
制御モジュール510は、装置130全体を制御する。また、制御モジュール510は、データの暗号化処理及び復号処理を実行する。なお、本実施例では、共通鍵暗号方式にしたがった暗号化処理及び復号処理が実行されるものとする。
The control module 510 controls the
制御モジュール510は、第1の復号モジュール511、第1のMAC検証モジュール512、書込モジュール513、第2の暗号化モジュール514、第2のMAC生成モジュール515、及び鍵導出モジュール516を含む。なお、制御モジュール510は、第1の復号モジュール511、第1のMAC検証モジュール512、書込モジュール513、第2の暗号化モジュール514、第2のMAC生成モジュール515、及び鍵導出モジュール516を一つの暗号演算モジュールとして含んでもよい。
The control module 510 includes a first decryption module 511, a first MAC verification module 512, a
第1の復号モジュール511は、共通鍵暗号方式の鍵を用いて暗号文を復号することによって平文を生成する。具体的には、第1の復号モジュール511は、式(6)に示すように、共通鍵暗号方式の鍵及び暗号文を変数とする第1の復号関数Dec1を用いて平文を算出する。 The first decryption module 511 produces a plaintext by decrypting the ciphertext using the key of the common key cryptosystem. Specifically, the first decryption module 511 calculates the plaintext by using the first decryption function Dec1 having the common key cryptosystem key and the ciphertext as variables, as shown in Expression (6).
ここで、kは共通鍵暗号方式の鍵を表し、cは暗号文を表し、また、pは平文を表す。 Here, k represents a key of the common key cryptosystem, c represents ciphertext, and p represents plaintext.
なお、第1の暗号化関数Enc1と第1の復号関数Dec1との間には、式(7)に示す関係が成り立つ。 Note that the relationship shown in Expression (7) holds between the first encryption function Enc1 and the first decryption function Dec1.
第1のMAC検証モジュール512は、共通鍵暗号方式の鍵を用いて、MAC対象データ及びMAC値の組の正当性を検証する。具体的には、第1のMAC検証モジュール512は、式(8)に示すように、共通鍵暗号方式の鍵、MAC対象データ、及びMAC値を変数とする第1のMAC検証関数VerifyMAC1を用いて検証を行う。 The first MAC verification module 512 verifies the validity of the set of the MAC target data and the MAC value using the key of the common key cryptosystem. Specifically, the first MAC verification module 512 uses a first MAC verification function VerifyMAC1 having variables of the key of the common key cryptosystem, the MAC target data, and the MAC value as shown in Expression (8). And verify.
ここで、mはMAC対象データを表し、tはMAC値を表し、また、vは検証結果を表す。なお、算出結果vは「0」又は「1」のいずれかとなる。「0」は失敗を示し、「1」は成功を示す。 Here, m represents MAC target data, t represents a MAC value, and v represents a verification result. The calculation result v is either “0” or “1”. "0" indicates failure and "1" indicates success.
式(8)は第1のMAC生成関数GenMAC1を用いて式(9)のように変形できる。 Expression (8) can be transformed into Expression (9) using the first MAC generation function GenMAC1.
ここで、関数Compareは比較関数を表し、比較関数Compare(a,b)の値は、a及びbが一致する場合「1」となり、a及びbが一致しない場合「0」となる。 Here, the function Compare represents a comparison function, and the value of the comparison function Compare (a, b) is “1” when a and b match and “0” when a and b do not match.
書込モジュール513は、共通鍵暗号方式の鍵及び当該鍵が書き込まれた回数(カウンタ値)を書き込む。
The
第2の暗号化モジュール514は、共通鍵暗号方式の鍵を用いて平文を暗号化することによって暗号文を生成する。具体的には、第2の暗号化モジュール514は、式(10)に示すように、共通鍵暗号方式の鍵及び平文を変数とする第2の暗号化関数Enc2を用いて暗号文を算出する。
The
なお、第2の暗号化関数Enc2と第2の復号関数Dec2との間には、式(11)に示す関係が成り立つ。 Note that the relationship shown in Expression (11) is established between the second encryption function Enc2 and the second decryption function Dec2.
第2のMAC生成モジュール515は、共通鍵暗号方式の鍵を用いてMAC生成対象データのMAC値を生成する。具体的には、第2のMAC生成モジュール515は、式(12)に示すように、共通鍵暗号方式の鍵及びMAC生成対象データを変数とする第2のMAC生成関数GenMAC2を用いてMAC値を算出する。
The second
なお、式(4)は第2のMAC生成関数GenMAC2を用いて式(13)のように変形できる。 The expression (4) can be transformed into the expression (13) by using the second MAC generation function GenMAC2.
鍵導出モジュール516は、共通鍵暗号方式のオリジナル鍵及び付加データを用いて導出鍵を生成する。鍵導出モジュール516は、鍵導出モジュール216と同一の鍵導出関数KDFを用いて導出鍵を生成する。
The
記憶装置503は、装置ID550、認証鍵560、アプリケーション鍵570、及びカウンタ値580を格納する。
The
装置ID550は、装置130を一意に識別するための識別情報である。装置ID550は、予め、装置130に設定される。本実施例では、センタ鍵管理サーバ100は、アプリケーション鍵の書込処理の開始前に、各装置130の装置ID550を把握しているものとする。
The
認証鍵560は、暗号化処理及び復号処理に用いられる鍵である。認証鍵560は、アプリケーション鍵の書込処理の開始前に、センタ鍵管理サーバ100及び装置130との間で共有される。
The
アプリケーション鍵570は、装置130に書き込まれたアプリケーション鍵である。なお、アプリケーション鍵は、装置130上で稼働するアプリケーションが使用する鍵である。後述するように、センタ鍵管理サーバ100によって、アプリケーション鍵が装置130に書き込まれる。なお、アプリケーション鍵の書き込み時に、古いアプリケーション鍵570が存在する場合、書込モジュール513は、古いアプリケーション鍵570を新しいアプリケーション鍵570に更新する。
The application key 570 is an application key written in the
カウンタ値580は、装置130にアプリケーション鍵570が書き込まれた回数である。アプリケーション鍵の書込処理の開始前、センタ鍵管理サーバ100及び装置130が保持するカウンタ値は同一の値である。
The
図6は、実施例1の装置鍵情報250の一例を示す図である。
FIG. 6 is a diagram illustrating an example of the device
装置鍵情報250は、装置ID601、認証鍵602、アプリケーション鍵603、アプリケーション鍵カウンタ604、及び状態605から構成されるレコードを含む。一つのレコードが一つの装置130に対応する。
The device
装置ID601及び認証鍵602は、センタ鍵管理サーバ100及び装置130が共有する装置ID及び認証鍵を格納するカラムである。
The
アプリケーション鍵603は、装置130に書き込むアプリケーション鍵を格納するカラムである。
The
アプリケーション鍵カウンタ604は、アプリケーション鍵の書き込み回数(カウンタ値)を格納するカラムである。
The application
状態605は、アプリケーション鍵の書込処理の状態を格納するカラムである。状態605には、「生成済み」、「書込済み」、及び「エラー」のいずれかが格納される。
The
「生成済み」は、センタ鍵管理サーバ100によって生成されたアプリケーション鍵の書込処理の成否について検証されていない状態を示す。「書込済み」は、アプリケーション鍵の書込処理の成否の検証結果が成功であることを示す。「エラー」は、アプリケーション鍵の書込処理の成否の検証結果が失敗であることを示す。
“Generated” indicates a state where the success or failure of the writing process of the application key generated by the center
図7は、実施例1の第1の鍵管理メッセージ情報260の一例を示す図である。 FIG. 7 is a diagram illustrating an example of the first key management message information 260 according to the first embodiment.
第1の鍵管理メッセージ情報260は、装置ID701、書込用メッセージ702、事前検証用メッセージ703、検証用メッセージ704、及び検証結果705から構成されるレコードを含む。一つのレコードが一つの装置130に対応する。
The first key management message information 260 includes a record including a
なお、第2の鍵管理メッセージ情報350のデータ構造は、第1の鍵管理メッセージ情報260と同一である。ただし、第1の鍵管理メッセージ情報260はセンタ鍵管理サーバ100によって管理され、第2の鍵管理メッセージ情報350は工場鍵管理サーバ110によって管理されるため、アプリケーション鍵の書込処理の実行中は、各情報は非同期で更新される。
The data structure of the second key management message information 350 is the same as that of the first key management message information 260. However, since the first key management message information 260 is managed by the center
装置ID701は、装置ID601と同一のものである。
The
書込用メッセージ702は、アプリケーション鍵の書込処理に用いられる書込用メッセージを格納するカラムである。
The
事前検証用メッセージ703は、工場鍵管理サーバ110がアプリケーション鍵の書込処理の成否を検証するための事前検証用メッセージを格納するカラムである。後述するように、事前検証用メッセージは、センタ鍵管理サーバ100によって生成される。
The
検証用メッセージ704は、センタ鍵管理サーバ100がアプリケーション鍵の書込処理の成否を検証するための検証用メッセージを格納するカラムである。検証用メッセージ704は、装置130によって生成される。
The
検証結果705は、アプリケーション鍵の書込処理の成否の検証結果を格納するカラムである。なお、第1の鍵管理メッセージ情報260の検証結果705には、センタ鍵管理サーバ100が行った検証の結果が格納され、第2の鍵管理メッセージ情報350の検証結果705には、工場鍵管理サーバ110が行った検証の結果が格納される。
The
ここで、本実施例において用いられる、書込用メッセージ、事前検証用メッセージ、及び検証用メッセージのフォーマットについて説明する。以下の説明では、書込用メッセージを表す記号を「M」、検証用メッセージを表す記号を「M’」、事前検証用メッセージを表す記号を「M’_pre」と定義する。 Here, the formats of the writing message, the preverification message, and the verification message used in this embodiment will be described. In the following description, the symbol indicating the writing message is defined as “M”, the symbol indicating the verification message is defined as “M ′”, and the symbol indicating the pre-verification message is defined as “M′_pre”.
まず、書込用メッセージのフォーマットについて説明する。 First, the format of the writing message will be described.
書込用メッセージは、式(14)に示すように、ID部、暗号文部、及びMAC部の三つの部分から構成される。 The write message is composed of three parts, an ID part, a ciphertext part, and a MAC part, as shown in Expression (14).
ここで、M_IDはID部を表し、M_encは暗号文部を表し、M_macはMAC部を表す。また、記号「||」は、データの結合を示す記号である。 Here, M_ID represents an ID part, M_enc represents a ciphertext part, and M_mac represents a MAC part. Further, the symbol "||" is a symbol indicating a combination of data.
ID部は、式(15)に示すように、装置ID及び付加IDから生成される。 The ID part is generated from the device ID and the additional ID as shown in Expression (15).
ここで、ID_modは装置IDを表し、ID_additiona1は付加IDを表す。 Here, ID_mod represents a device ID, and ID_additiona1 represents an additional ID.
認証鍵又はアプリケーション鍵が複数存在する場合、付加IDには、各鍵を一意に識別するための情報を含める。付加IDは、例えば、式(16)のように与えられる。 When there are a plurality of authentication keys or application keys, the additional ID includes information for uniquely identifying each key. The additional ID is given, for example, as in Expression (16).
ここで、ID_AuthKeyは認証鍵を特定するIDを表し、ID_AppKeyはアプリケーション鍵を特定するIDを表す。 Here, ID_AuthKey represents an ID that identifies the authentication key, and ID_AppKey represents an ID that identifies the application key.
暗号文部は、式(17)に示すように、暗号化に用いる鍵、並びに、カウンタ値及びアプリケーション鍵を結合した値を変数とする第1の暗号化関数Enc1を用いて生成される。なお、暗号化に用いる鍵は、式(18)に示すように、認証鍵及び第1の固定値を変数とする鍵導出関数KDFを用いて算出される。 The ciphertext part is generated using a key used for encryption and a first encryption function Enc1 having a value obtained by combining a counter value and an application key as variables, as shown in Expression (17). The key used for encryption is calculated using the authentication key and the key derivation function KDF having the first fixed value as a variable, as shown in Expression (18).
ここで、CNT_appはカウンタ値を表し、k_appはアプリケーション鍵を表し、k_authは認証鍵を表し、また、Const_1は第1の固定値を表す。 Here, CNT_app represents a counter value, k_app represents an application key, k_auth represents an authentication key, and Const_1 represents a first fixed value.
MAC部(MAC値)は、式(19)に示すように、MAC値を算出するための鍵、並びに、ID部及び暗号文部を結合した値を変数とする第1のMAC生成関数GenMAC1を用いて生成される。なお、MAC値を算出するための鍵は、式(20)に示すように、認証鍵及び第2の固定値を変数とする鍵導出関数KDFを用いて算出される。 As the MAC unit (MAC value), as shown in Expression (19), a key for calculating the MAC value and a first MAC generation function GenMAC1 that uses a value obtained by combining the ID unit and the ciphertext unit as variables are used. Generated. The key for calculating the MAC value is calculated using the authentication key and the key derivation function KDF having the second fixed value as a variable, as shown in Expression (20).
ここで、Const_2は第2の固定値を表す。 Here, Const_2 represents a second fixed value.
次に、事前検証用メッセージ及び検証用メッセージのフォーマットについて説明する。 Next, the formats of the pre-verification message and the verification message will be described.
検証用メッセージは、式(21)に示すように、ID部、暗号文部、及びMAC部の三つの部分から構成される。 The verification message is composed of three parts, an ID part, a ciphertext part, and a MAC part, as shown in Expression (21).
ここで、M’_IDはID部を表し、M’_encは暗号文部を表し、M’_macはMAC部を表す。 Here, M'_ID represents an ID part, M'_enc represents a ciphertext part, and M'_mac represents a MAC part.
事前検証用メッセージは、検証用メッセージの暗号文部である。すなわち、式(22)に示すような関係となる。 The preverification message is the ciphertext part of the verification message. That is, the relationship is as shown in equation (22).
ID部は、式(23)に示すように、装置ID及び付加IDから生成される。 The ID part is generated from the device ID and the additional ID as shown in Expression (23).
ここで、ID_modは装置ID550を表し、ID_additionalは付加IDを表す。検証用メッセージのID部は、書込用メッセージのID部と同一の値となる。
Here, ID_mod represents the
暗号文部は、式(24)に示すように、暗号化に用いる鍵及びカウンタ値を変数とする第2の暗号化関数Enc2から生成される。なお、暗号化に用いる鍵は、式(25)に示すように、アプリケーション鍵及び第3の固定値を変数とする鍵導出関数KDFを用いて算出される。 The ciphertext part is generated from the second encryption function Enc2 in which the key used for encryption and the counter value are variables, as shown in Expression (24). The key used for encryption is calculated by using the key derivation function KDF having the application key and the third fixed value as variables, as shown in Expression (25).
ここで、CNT_appはカウンタ値を表し、k_appはアプリケーション鍵を表し、Const_3は第3の固定値を表す。 Here, CNT_app represents a counter value, k_app represents an application key, and Const_3 represents a third fixed value.
MAC部(MAC値)は、式(26)に示すように、MAC値を算出するための鍵、並びに、ID部及び暗号文部を結合した値を変数とする第2のMAC生成関数GenMAC2を用いて算出される。なお、MAC値を算出するための鍵は、式(27)に示すように、アプリケーション鍵及び第4の固定値を変数とする鍵導出関数KDFを用いて算出される。 The MAC unit (MAC value) uses a key for calculating the MAC value and a second MAC generation function GenMAC2 having a variable obtained by combining the ID unit and the ciphertext unit, as shown in Expression (26). Calculated. The key for calculating the MAC value is calculated using the application key and the key derivation function KDF having the fourth fixed value as variables, as shown in Expression (27).
ここで、Const_4は第4の固定値を表す。 Here, Const_4 represents a fourth fixed value.
以上が書込用メッセージ、事前検証用メッセージ、及び検証用メッセージのフォーマットの説明である。 The above is the description of the formats of the write message, the preverification message, and the verification message.
次に、鍵書込工程に処理について説明する。 Next, the process of the key writing step will be described.
図8は、実施例1の鍵書込工程の概要を説明するフローチャートである。 FIG. 8 is a flowchart illustrating the outline of the key writing process of the first embodiment.
鍵書込工程では、システムは、まず、鍵生成/鍵配信フェーズに移行する(ステップS801)。当該フェーズでは、以下のような処理が実行される。 In the key writing step, the system first shifts to the key generation / key distribution phase (step S801). In the phase, the following processing is executed.
センタ鍵管理サーバ100の管理者等が、センタ鍵管理サーバ100にアプリケーション鍵を発行する装置130の装置IDを登録する。センタ鍵管理サーバ100は、登録された装置IDの数だけ、書込用メッセージ及び事前検証用メッセージを生成する。すなわち、一つの装置IDに対して書込用メッセージ及び事前検証用メッセージの組が一つ生成される。センタ鍵管理サーバ100は、書込用メッセージ及び事前検証用メッセージを工場鍵管理サーバ110に送信する。
The administrator of the center
次に、システムは、鍵書込フェーズに移行する(ステップS802)。当該フェーズでは、以下のような処理が実行される。 Next, the system shifts to the key writing phase (step S802). In the phase, the following processing is executed.
工場鍵管理サーバ110は、受信した書込用メッセージを製造ライン端末120に送信する。製造ライン端末120は、アプリケーション鍵を装置130に書き込むために、受信した書込用メッセージを対象の装置130に送信する。装置130は、アプリケーション鍵の書込処理を実行した後、製造ライン端末120を介して検証用メッセージを工場鍵管理サーバ110に送信する。工場鍵管理サーバ110は、検証用メッセージの暗号文部及び事前検証用メッセージを比較することによって、アプリケーション鍵の書込処理の成否を検証する。
The factory
次に、システムは、センタ登録フェーズに移行する(ステップS803)。当該フェーズでは、以下のような処理が実行される。 Next, the system shifts to the center registration phase (step S803). In the phase, the following processing is executed.
工場鍵管理サーバ110は、センタ鍵管理サーバ100に検証用メッセージを送信する。センタ鍵管理サーバ100は、検証用メッセージを用いてアプリケーション鍵の書込処理の成否を検証する。また、センタ鍵管理サーバ100は、検証結果に基づいて装置鍵情報250を更新する。
The factory
本実施例の鍵書込工程では、製造ラインが稼働するのは鍵書込フェーズのみである。鍵書込フェーズにおいて、工場鍵管理サーバ110は、センタ鍵管理サーバ100と通信を行うことなく、アプリケーション鍵の書込処理の成否を検証することができる。また、アプリケーション鍵の書込処理の成否の検証において、書込用メッセージに含まれるアプリケーション鍵は暗号化されており、センタ鍵管理サーバ100及び装置130のみが復号できる。すなわち、工場鍵管理サーバ110及び製造ライン端末120にアプリケーション鍵を秘匿したまま、装置130へアプリケーション鍵を書き込むことができる。
In the key writing process of this embodiment, the production line operates only in the key writing phase. In the key writing phase, the factory
図9A及び図9Bは、実施例1の鍵書込工程における処理の流れを説明するシーケンス図である。 9A and 9B are sequence diagrams illustrating the flow of processing in the key writing process of the first embodiment.
ステップS901からステップS904までの処理は、鍵生成/鍵配信フェーズにおいて実行される処理である。 The processes from step S901 to step S904 are processes executed in the key generation / key distribution phase.
まず、センタ鍵管理サーバ100は、N個の装置130に対するアプリケーション鍵の発行要求を受け付ける(ステップS901)。当該発行要求は、例えば、管理者が入力装置206を操作することによって入力される。なお、当該発行要求には、対象となる装置130の装置IDが含まれる。
First, the center
センタ鍵管理サーバ100は、メッセージ生成処理を実行する(ステップS902)。メッセージ生成処理では、各装置130の書込用メッセージ及び事前検証用メッセージが生成される。なお、メッセージ生成処理の詳細は図10を用いて説明する。
The center
センタ鍵管理サーバ100は、工場鍵管理サーバ110に、各装置130の装置ID、書込用メッセージ、及び事前検証用メッセージを送信する(ステップS903)。
The center
工場鍵管理サーバ110は、センタ鍵管理サーバ100からメッセージを受信した場合、第2の鍵管理メッセージ情報350を更新する(ステップS904)。
Upon receiving the message from the center
具体的には、制御モジュール310は、第2の鍵管理メッセージ情報350にレコードを追加し、追加されたレコードの装置ID701、書込用メッセージ702、及び事前検証用メッセージ703に、受信した装置ID、書込用メッセージ、及び事前検証用メッセージを設定する。すでに、受信した装置IDに対応するレコードが存在する場合、制御モジュール310は、当該レコードの装置ID701、書込用メッセージ702、及び事前検証用メッセージ703に、受信した装置ID、書込用メッセージ、及び事前検証用メッセージを上書きする。
Specifically, the
ステップS911からステップS923までの処理は、鍵書込フェーズにおいて実行される処理である。 The processing from step S911 to step S923 is processing executed in the key writing phase.
製造ライン端末120は、所定のタイミングで、工場鍵管理サーバ110に、メッセージ要求を送信する(ステップS911)。当該メッセージ要求には、アプリケーション鍵を書き込む装置130の装置IDが含まれる。
The
工場鍵管理サーバ110は、メッセージ要求を受信した場合、第2の鍵管理メッセージ情報350から対象の装置130の書込用メッセージを取得し、製造ライン端末120を介して装置130に、当該書込用メッセージを送信する(ステップS912)。具体的には、以下のような処理が実行される。
When the factory
制御モジュール310が、第2の鍵管理メッセージ情報350を参照し、装置ID701がメッセージ要求に含まれる装置IDと一致するレコードを検索する。制御モジュール310は、装置IDとともに、検索されたレコードの書込用メッセージ702に設定された書込用メッセージを製造ライン端末120に送信する。
The
製造ライン端末120は、書込用メッセージを受信した場合、当該書込用メッセージともに受信した装置IDに対応する装置130に、書込用メッセージを送信する。以上が、ステップS912の処理の説明である。
When the
装置130は、製造ライン端末120を介して、工場鍵管理サーバ110から書込用メッセージを受信した場合、アプリケーション鍵の書込処理を実行する(ステップS913)。アプリケーション鍵の書込処理では、書込用メッセージの検証及びアプリケーション鍵の書込が行われる。アプリケーション鍵の書込処理の詳細は図11を用いて説明する。
When the
アプリケーション鍵の書込処理が失敗した場合、すなわち、装置130にアプリケーション鍵が書き込まれなかった場合、装置130は、製造ライン端末120を介して工場鍵管理サーバ110に、エラー通知を送信する(ステップS914)。
When the writing process of the application key fails, that is, when the application key is not written in the
製造ライン端末120は、エラー通知を受信した場合、不具合工程に移行し(ステップS915)、また、第2の鍵管理メッセージ情報350を更新する(ステップS916)。
When the
具体的には、制御モジュール310は、第2の鍵管理メッセージ情報350を参照し、装置ID701が、エラー通知を送信した装置130の装置IDに一致するレコードを検索する。制御モジュール310は、検索されたレコードの検証結果705に「書込用メッセージエラー」を設定する。
Specifically, the
アプリケーション鍵の書込処理が成功した場合、すなわち、装置130にアプリケーション鍵が書き込まれた場合、装置130は、検証用メッセージ生成処理を実行する(ステップS917)。また、装置130は、製造ライン端末120を介して工場鍵管理サーバ110に、検証用メッセージを送信する(ステップS918)。検証用メッセージ生成処理の詳細は図12を用いて説明する。
When the application key writing process is successful, that is, when the application key is written in the
工場鍵管理サーバ110は、検証用メッセージを受信した場合、アプリケーション鍵の書込処理の検証処理を実行する(ステップS919)。アプリケーション鍵の書込処理の検証処理の詳細は図13を用いて説明する。
Upon receiving the verification message, the factory
検証結果が失敗である場合、工場鍵管理サーバ110は、失敗を通知する検証結果を製造ライン端末120に送信する(ステップS920)。製造ライン端末120は、当該検証結果を受信した場合、アプリケーション鍵の書込処理が失敗した装置130を不具合工程へ移行させる(ステップS921)。
When the verification result is failure, the factory
検証結果が成功である場合、工場鍵管理サーバ110は、成功を通知する検証結果を製造ライン端末120に送信する(ステップS922)。製造ライン端末120は、当該検証結果を受信した場合、装置130を次に工程に移行させる(ステップS923)。
When the verification result is successful, the factory
ステップS924からステップS926までの処理は、センタ登録フェーズにおいて実行される処理である。 The processing from step S924 to step S926 is processing executed in the center registration phase.
工場鍵管理サーバ110は、センタ鍵管理サーバ100に、受信した全ての検証用メッセージを送信する(ステップS924)。
The factory
具体的には、工場鍵管理サーバ110は、第2の鍵管理メッセージ情報350から、検証結果705が「成功」であるレコードの装置ID701及び検証用メッセージ704をセンタ鍵管理サーバ100に送信する。このとき、工場鍵管理サーバ110は、検証結果705が「書込用メッセージエラー」又は「失敗」であるレコードの装置ID701等をセンタ鍵管理サーバ100に送信してもよい。なお、当該レコードの通知は、別のタイミングで行ってもよい。
Specifically, the factory
センタ鍵管理サーバ100は、検証用メッセージを受信した場合、第1の鍵管理メッセージ情報260を更新する(ステップS925)。
When the center
具体的には、制御モジュール210は、第1の鍵管理メッセージ情報260を参照し、装置ID701が検証用メッセージとともに受信した装置IDに一致するレコードを検索する。制御モジュール210は、検索されたエントリの検証用メッセージ704に受信した検証用メッセージを設定する。
Specifically, the
なお、制御モジュール210は、検証結果705が「書込用メッセージエラー」又は「失敗」であるレコードの通知を受信した場合、対応するレコードの検証結果705に「書込用メッセージエラー」又は「失敗」を設定する。
When the
センタ鍵管理サーバ100は、アプリケーション鍵の書込処理の検証処理を実行する(ステップS926)。アプリケーション鍵の書込処理の検証処理の詳細は図14を用いて説明する。
The center
図10は、実施例1のセンタ鍵管理サーバ100が実行するメッセージ生成処理の一例を説明するフローチャートである。
FIG. 10 is a flowchart illustrating an example of a message generation process executed by the center
制御モジュール210は、アプリケーション鍵の発行要求に含まれる装置IDの中からターゲット装置IDを選択する(ステップS1001)。
The
次に、制御モジュール210は、装置鍵情報250を参照し、装置ID601がターゲット装置IDに一致するレコードを検索する(ステップS1002)。
Next, the
制御モジュール210は、ターゲット装置IDに対応する装置130のアプリケーション鍵を生成する(ステップS1003)。
The
具体的には、制御モジュール210が、鍵生成モジュール211を呼び出し、アプリケーション鍵の生成を指示する。鍵生成モジュール211は、アプリケーション鍵を生成する。
Specifically, the
次に、制御モジュール210は、装置鍵情報250から検索されレコードを更新する(ステップS1004)。
Next, the
具体的には、制御モジュール210は、検索されたレコードのアプリケーション鍵603に生成されたアプリケーション鍵を設定し、また、当該レコードのアプリケーション鍵カウンタ604の値に「1」を加算する。
Specifically, the
次に、制御モジュール210は、書込用メッセージを生成する(ステップS1005)。具体的には、以下のような処理が実行される。
Next, the
制御モジュール210は、式(15)に示すように、付加ID及び検索されたレコードの装置ID601の値を結合することによって、書込用メッセージのID部を算出する。
The
制御モジュール210は、鍵導出モジュール216を呼び出し、暗号化に使用する鍵の生成を指示する。鍵導出モジュール216は、第1の固定値及び検索されたレコードの認証鍵602の値を代入した式(18)にしたがって、暗号化に使用する鍵を算出する。制御モジュール210は、第1の暗号化モジュール212を呼び出し、書込用メッセージの暗号文部の生成を指示する。第1の暗号化モジュール212は、暗号化に使用する鍵、並びに、検索されたレコードのアプリケーション鍵603及びアプリケーション鍵カウンタ604を結合した値を代入した式(17)にしたがって、書込用メッセージの暗号文部を算出する。
The
制御モジュール210は、鍵導出モジュール216を呼び出し、暗号化に使用する鍵の生成を指示する。鍵導出モジュール216は、第2の固定値及び特定されたレコードの認証鍵602の値を代入した式(20)にしたがって、暗号化に使用する鍵を算出する。制御モジュール210は、第1のMAC生成モジュール213を呼び出し、書込用メッセージのMAC部の生成を指示する。第1のMAC生成モジュール213は、暗号化に使用する鍵、並びに、ID部及び暗号文部を結合した値を代入した式(19)にしたがって、MAC部を算出する。
The
制御モジュール210は、式(14)に示すように、ID部、暗号文部、及びMAC部を結合することによって、書込用メッセージを生成する。以上がステップS1005の処理の説明である。
The
次に、制御モジュール210は、事前検証用メッセージを生成する(ステップS1006)。具体的には、以下のような処理が実行される。
Next, the
制御モジュール210は、鍵導出モジュール216を呼び出し、暗号化に使用する鍵の生成を指示する。鍵導出モジュール216は、第3の固定値及び検索されたレコードのアプリケーション鍵603の値を代入した式(25)にしたがって、暗号化に使用する鍵を算出する。制御モジュール210は、第2の暗号化モジュール217を呼び出し、事前検証用メッセージの生成を指示する。第2の暗号化モジュール217は、暗号化に使用する鍵、及び、検索されたレコードのアプリケーション鍵カウンタ604の値を代入した式(24)にしたがって、事前検証用メッセージを算出する。
The
次に、制御モジュール210は、第1の鍵管理メッセージ情報260を更新する(ステップS1007)。具体的には、以下のような処理が実行される。
Next, the
制御モジュール210は、第1の鍵管理メッセージ情報260を参照し、装置ID701が、ターゲット装置IDと一致するレコードを検索する。
The
レコードが存在しない場合、制御モジュール210は、第1の鍵管理メッセージ情報260にレコードを追加し、追加されたレコードの装置ID701に、ターゲット装置IDを設定する。また、制御モジュール210は、追加されたレコードの書込用メッセージ702及び事前検証用メッセージ703に、生成された書込用メッセージ及び事前検証用メッセージを設定する。
If the record does not exist, the
レコードが存在する場合、制御モジュール210は、検索されたレコードの書込用メッセージ702及び事前検証用メッセージ703に、生成された書込用メッセージ及び事前検証用メッセージを設定する。以上がステップS1007の処理の説明である。
When the record exists, the
次に、制御モジュール210は、装置鍵情報250を更新する(ステップS1008)。
Next, the
具体的には、制御モジュール210は、ターゲット装置IDに対応するレコードの状態605に「生成済み」を設定する。
Specifically, the
次に、制御モジュール210は、アプリケーション鍵の発行要求に含まれる全ての装置IDについて処理が完了した否かを判定する(ステップS1009)。
Next, the
ステップS1009の判定結果がNOである場合、制御モジュール210は、ステップS1001に戻り、同様の処理を実行する。
If the decision result in the step S1009 is NO, the
ステップS1009の判定結果がYESである場合、制御モジュール210は、メッセージ生成処理を終了する。
When the determination result of step S1009 is YES, the
図11は、実施例1の装置130が実行するアプリケーション鍵の書込処理の一例を説明するフローチャートである。
FIG. 11 is a flowchart illustrating an example of an application key writing process executed by the
制御モジュール510は、書込用メッセージのID部の検証結果が成功か否かを判定する(ステップS1101)。 The control module 510 determines whether or not the verification result of the ID part of the writing message is successful (step S1101).
具体的には、制御モジュール510は、書込用メッセージのID部及び装置ID550を比較し、式(15)の関係を満たすか否かを判定する。式(15)の関係を満たす場合、制御モジュール510は、書込用メッセージのID部の検証結果が成功であると判定する。
Specifically, the control module 510 compares the ID part of the writing message with the
書込用メッセージのID部の検証結果が失敗であると判定された場合、制御モジュール510は、ステップS1106に進む。 When it is determined that the verification result of the ID part of the writing message is unsuccessful, the control module 510 proceeds to step S1106.
書込用メッセージのID部の検証結果が成功であると判定された場合、制御モジュール510は、書込用メッセージからアプリケーション鍵及びカウンタ値を取得する(ステップS1102)。具体的には、以下のような処理が実行される。 When it is determined that the verification result of the ID part of the writing message is successful, the control module 510 acquires the application key and the counter value from the writing message (step S1102). Specifically, the following processing is executed.
制御モジュール510は、鍵導出モジュール516を呼び出して、導出鍵の生成を指示する。鍵導出モジュール516は、認証鍵560を代入した式(18)にしたがって、導出鍵を算出する。
The control module 510 calls the
制御モジュール510は、第1の復号モジュール511を呼び出して、書込用メッセージの暗号文部の復号を指示する。第1の復号モジュール511は、導出鍵及び書込用メッセージの暗号文部を代入した式(6)にしたがって、暗号文部を復号する。これによって、制御モジュール510は、アプリケーション鍵及びカウンタ値を取得できる。以上がステップS1102の処理の説明である。 The control module 510 calls the first decryption module 511 to instruct decryption of the ciphertext part of the writing message. The first decryption module 511 decrypts the ciphertext part according to the equation (6) in which the derivation key and the ciphertext part of the writing message are substituted. As a result, the control module 510 can acquire the application key and the counter value. The above is the description of the process of step S1102.
次に、制御モジュール510は、カウンタ値の検証結果が成功であるか否かを判定する(ステップS1103)。 Next, the control module 510 determines whether or not the verification result of the counter value is successful (step S1103).
具体的には、制御モジュール510は、書込用メッセージから取得したカウンタ値が、記憶装置503に格納されるカウンタ値580より大きいか否かを判定する。書込用メッセージから取得したカウンタ値が、カウンタ値580より大きい場合、制御モジュール510は、カウンタ値の検証結果が成功であると判定する。
Specifically, the control module 510 determines whether the counter value acquired from the writing message is larger than the
カウンタ値の検証結果が失敗であると判定された場合、制御モジュール510は、ステップS1106に進む。 When the verification result of the counter value is determined to be unsuccessful, the control module 510 proceeds to step S1106.
カウンタ値の検証結果が成功であると判定された場合、制御モジュール510は、書込用メッセージのMAC部の検証結果が成功か否かを判定する(ステップS1104)。具体的には、以下のような処理が実行される。 When it is determined that the verification result of the counter value is successful, the control module 510 determines whether the verification result of the MAC part of the writing message is successful (step S1104). Specifically, the following processing is executed.
制御モジュール510は、鍵導出モジュール516を呼び出して、MAC値を算出するための鍵の生成を指示する。鍵導出モジュール516は、認証鍵560及び第2の固定値を代入した式(20)にしたがって、MAC値を算出するための鍵を算出する。
The control module 510 calls the
制御モジュール510は、第1のMAC検証モジュール512を呼び出し、書込用メッセージのMAC部の検証を指示する。第1のMAC検証モジュール512は、MAC値を算出するための鍵、MAC生成対象データ、及び書込用メッセージのMAC部を代入した式(8)及び式(9)にしたがって、書込用メッセージのMAC部の検証を行う。以上がステップS1104の処理の説明である。 The control module 510 calls the first MAC verification module 512 and instructs the verification of the MAC part of the write message. The first MAC verification module 512 writes the message for writing according to the equation (8) and the equation (9) in which the key for calculating the MAC value, the MAC generation target data, and the MAC part of the message for writing are substituted. Verify the MAC part of the. The above is the description of the process of step S1104.
書込用メッセージのMAC部の検証結果が失敗であると判定された場合、制御モジュール510は、ステップS1106に進む。 When the verification result of the MAC part of the writing message is determined to be unsuccessful, the control module 510 proceeds to step S1106.
書込用メッセージのMAC部の検証結果が成功であると判定された場合、制御モジュール510は、書込用メッセージから取得されたアプリケーション鍵及びカウンタ値を記憶装置503に保存する(ステップS1105)。その後、制御モジュール510は、アプリケーション鍵の書込処理を終了する。 When it is determined that the verification result of the MAC part of the writing message is successful, the control module 510 stores the application key and the counter value acquired from the writing message in the storage device 503 (step S1105). After that, the control module 510 ends the application key writing process.
具体的には、制御モジュール510は、書込モジュール513を呼び出し、記憶装置503へのアプリケーション鍵及びカウンタ値の書込を指示する。書込モジュール513は、記憶装置503にアプリケーション鍵及びカウンタ値を書き込む。なお、既にアプリケーション鍵570及びカウンタ値580が存在する場合、書込モジュール513は、各値を上書きする。
Specifically, the control module 510 calls the
ステップS1101、ステップS1103、及びステップS1104の判定結果がNOである場合、制御モジュール510は、製造ライン端末120にエラー通知を送信する(ステップS1106)。その後、制御モジュール510は、アプリケーション鍵の書込処理を終了する。 When the determination result of step S1101, step S1103, and step S1104 is NO, the control module 510 transmits an error notification to the production line terminal 120 (step S1106). After that, the control module 510 ends the application key writing process.
図12は、実施例1の装置130が実行する検証用メッセージ生成処理の一例を説明するフローチャートである。
FIG. 12 is a flowchart illustrating an example of the verification message generation process executed by the
制御モジュール510は、検証用メッセージのID部を生成する(ステップS1201)。 The control module 510 generates the ID part of the verification message (step S1201).
具体的には、制御モジュール510は、式(23)に示すように、付加ID及び装置ID550を結合することによって、検証用メッセージのID部を算出する。
Specifically, the control module 510 calculates the ID part of the verification message by combining the additional ID and the
制御モジュール510は、検証用メッセージの暗号文部を生成する(ステップS1202)。具体的には、以下のような処理が実行される。 The control module 510 generates the ciphertext part of the verification message (step S1202). Specifically, the following processing is executed.
制御モジュール510は、鍵導出モジュール516を呼び出し、暗号化に使用する鍵の生成を指示する。鍵導出モジュール516は、第3の固定値及びアプリケーション鍵570を代入した式(25)にしたがって、暗号化に使用する鍵を算出する。
The control module 510 calls the
制御モジュール210は、第2の暗号化モジュール514を呼び出し、書込用メッセージの暗号文部の生成を指示する。第2の暗号化モジュール514は、暗号化に使用する鍵、及びカウンタ値580を代入した式(24)にしたがって、検証用メッセージの暗号文部を算出する。
The
制御モジュール510は、検証用メッセージのMAC部を生成する(ステップS1203)。具体的には、以下のような処理が実行される。 The control module 510 generates the MAC part of the verification message (step S1203). Specifically, the following processing is executed.
制御モジュール510は、鍵導出モジュール516を呼び出し、MAC値を算出するための鍵の生成を指示する。鍵導出モジュール516は、第4の固定値及びアプリケーション鍵570を代入した式(27)にしたがって、MAC値を算出するための鍵を算出する。
The control module 510 calls the
制御モジュール510は、第2のMAC生成モジュール515を呼び出し、検証用メッセージのMAC部の生成を指示する。第2のMAC生成モジュール515は、MAC値を算出するための鍵、並びに、ID部及び暗号文部を結合した値を代入した式(26)にしたがって、MAC部を算出する。
The control module 510 calls the second
制御モジュール510は、検証用メッセージを生成する(ステップS1204)。 The control module 510 generates a verification message (step S1204).
具体的には、制御モジュール510は、式(21)に示すように、ID部、暗号文部、及びMAC部を結合することによって、検証用メッセージを生成する。 Specifically, the control module 510 generates a verification message by combining the ID part, the ciphertext part, and the MAC part as shown in Expression (21).
図13は、実施例1の工場鍵管理サーバ110が実行するアプリケーション鍵の書込処理の検証処理の一例を説明するフローチャートである。
FIG. 13 is a flowchart illustrating an example of the verification process of the application key writing process executed by the factory
制御モジュール310は、検証用メッセージを受信した場合、第2の鍵管理メッセージ情報350を参照し、検証用メッセージを送信した装置130に対応するレコードを検索する(ステップS1301)。このとき、制御モジュール310は、検索されたレコードの検証用メッセージ704に受信した検証用メッセージを設定する。
When the verification message is received, the
制御モジュール310は、検証用メッセージの検証結果が成功であるか否かを判定する(ステップS1302)。具体的には、以下のような処理が実行される。
The
制御モジュール310は、メッセージ検証モジュール311を呼び出して、検証用メッセージの検証を指示する。
The
メッセージ検証モジュール311は、検証用メッセージの暗号文部を取得する。また、メッセージ検証モジュール311は、特定されたレコードの事前検証用メッセージ703に設定された事前検証用メッセージを取得する。メッセージ検証モジュール311は、検証用メッセージの暗号文部及び事前検証用メッセージが一致するか否かを判定する。検証用メッセージの暗号文部及び事前検証用メッセージが一致する場合、メッセージ検証モジュール311は、検証用メッセージの検証結果として成功を出力する。以上が、ステップS1302に処理の説明である。
The message verification module 311 acquires the ciphertext part of the verification message. The message verification module 311 also acquires the pre-verification message set in the
検証用メッセージの検証結果が成功であると判定された場合、制御モジュール310は、レコードを更新し(ステップS1303)、また、成功を通知する検証結果を送信する(ステップS1304)。その後、制御モジュール310は、アプリケーション鍵の書込処理の検証処理を終了する。
When it is determined that the verification result of the verification message is successful, the
具体的には、制御モジュール310は、検索されたレコードの検証結果705に「成功」を設定する。
Specifically, the
検証用メッセージの検証結果が失敗であると判定された場合、制御モジュール310は、レコードを更新し(ステップS1305)、また、失敗を通知する検証結果を送信する(ステップS1306)。その後、制御モジュール310は、アプリケーション鍵の書込処理の検証処理を終了する。
When it is determined that the verification result of the verification message is failure, the
具体的には、制御モジュール310は、レコードの検証結果705に「失敗」を設定する。
Specifically, the
ステップS1302の検証方法は一例であって、以下のような検証方法も考えられる。 The verification method in step S1302 is an example, and the following verification method is also possible.
事前検証用メッセージと検証用メッセージの暗号文部との相違が1ビットである場合、制御モジュール310は、検証結果を出力せずに、再度、センタ鍵管理サーバ100にメッセージの再送要求を送信する。すなわち、事前検証用メッセージ及び検証用メッセージが再度生成される。
When the difference between the preverification message and the ciphertext part of the verification message is 1 bit, the
暗号化において、平文(鍵及びメッセージ)が1ビットでも異なる場合、当該相違は暗号化されたデータの全てビットに反映されるという性質がある。そのため、平文の相違に起因して、事前検証用メッセージ及び検証用メッセージの1ビットのみが異なる可能性は考えにくい。この場合、いずれかのメッセージに伝送エラーに伴うビット反転エラーが発生している可能性が高く、かつ、鍵の書込処理は成功している可能性が高い。そのため、制御モジュール310は、事前検証用メッセージと検証用メッセージの暗号文部との相違が1ビットである場合、センタ鍵管理サーバ100にメッセージの再送要求を送信する。センタ鍵管理サーバ100は、当該要求を受信した場合、ステップS902及びステップS903の処理を実行し、また、工場鍵管理サーバ110は、受信した書込用メッセージを装置130に送信する。
In encryption, if the plaintext (key and message) is different even by 1 bit, the difference is reflected in all the bits of the encrypted data. Therefore, it is unlikely that only one bit of the pre-verification message and the verification message may be different due to the difference in plaintext. In this case, it is highly likely that a bit inversion error associated with a transmission error has occurred in any of the messages, and the key writing process is likely to have succeeded. Therefore, when the difference between the preverification message and the ciphertext part of the verification message is 1 bit, the
一方、事前検証用メッセージと検証用メッセージの暗号文部との相違が2ビット以上である場合、制御モジュール310は、ステップS1305に進む。
On the other hand, when the difference between the preverification message and the ciphertext part of the verification message is 2 bits or more, the
図14は、実施例1のセンタ鍵管理サーバ100が実行する検証処理の一例を説明するフローチャートである。
FIG. 14 is a flowchart illustrating an example of the verification process executed by the center
制御モジュール210は、検証用メッセージを受信した場合、第1の鍵管理メッセージ情報260を更新する(ステップS1401)。
When receiving the verification message, the
具体的には、制御モジュール210は、装置ID601が検証用メッセージとともに受信した装置IDに一致するレコードを検索し、当該レコードの検証用メッセージ704に、受信した検証用メッセージを格納する。
Specifically, the
次に、制御モジュール210は、検証用メッセージを受信した装置130の中から、ターゲット装置130を選択する(ステップS1402)。
Next, the
具体的には、制御モジュール210は、検証用メッセージ704に検証用メッセージが格納されるレコードの中からターゲットレコードを選択する。
Specifically, the
次に、制御モジュール210は、検証用メッセージのID部の検証結果が成功であるか否かを判定する(ステップS1403)。
Next, the
具体的には、制御モジュール210は、検証用メッセージのID部及びターゲットレコードの装置ID701を比較し、式(23)の関係を満たすか否かを判定する。式(23)の関係を満たす場合、制御モジュール210は、検証用メッセージのID部の検証結果が成功であると判定する。
Specifically, the
検証用メッセージのID部の検証結果が失敗であると判定された場合、制御モジュール210は、ステップS1409に進む。
When the verification result of the ID part of the verification message is determined to be unsuccessful, the
検証用メッセージのID部の検証結果が成功であると判定された場合、制御モジュール210は、検証用メッセージからカウンタ値を取得する(ステップS1404)。具体的には、以下のような処理が実行される。
When it is determined that the verification result of the ID part of the verification message is successful, the
制御モジュール210は、装置鍵情報250を参照し、装置ID601がターゲットレコードの装置ID701に一致するレコードを検索し、検索されたレコードのアプリケーション鍵603に設定されたアプリケーション鍵を取得する。
The
制御モジュール210は、鍵導出モジュール216を呼び出し、暗号化に使用する鍵の生成を指示する。鍵導出モジュール216は、アプリケーション鍵を代入した式(25)にしたがって、暗号化に使用する鍵を算出する。
The
制御モジュール210は、第2の復号モジュール214を呼び出し、検証用メッセージの暗号文部の復号を指示する。第2の復号モジュール214は、暗号化に使用する鍵及び検証用メッセージの暗号文部を代入した式(3)にしたがって検証用メッセージの暗号文部を復号し、平文からカウンタ値を取得する。以上がステップS1404の処理の説明である。
The
次に、制御モジュール210は、カウンタ値の検証結果が成功であるか否かを判定する(ステップS1405)。具体的には、以下のような処理が実行される。
Next, the
制御モジュール210は、装置鍵情報250を参照し、装置ID601がターゲットレコードの装置ID701に一致するレコードを検索し、検索されたレコードのアプリケーション鍵カウンタ604の値を取得する。
The
制御モジュール210は、検証用メッセージから取得したカウンタ値がアプリケーション鍵カウンタ604の値と一致するか否かを判定する。検証用メッセージから取得したカウンタ値がアプリケーション鍵カウンタ604の値と一致する場合、制御モジュール210は、カウンタ値の検証結果が成功であると判定する。以上がステップS1405の処理の説明である。
The
カウンタ値の検証結果が失敗であると判定された場合、制御モジュール210は、ステップS1409に進む。
When the verification result of the counter value is determined to be unsuccessful, the
カウンタ値の検証結果が成功であると判定された場合、制御モジュール210は、検証用メッセージのMAC部の検証結果が成功であるか否かを判定する(ステップS1406)。具体的には、以下のような処理が実行される。
When it is determined that the verification result of the counter value is successful, the
制御モジュール210は、鍵導出モジュール216を呼び出して、MAC値を算出するための鍵の生成を指示する。鍵導出モジュール216は、ステップS1405において取得したアプリケーション鍵及び第2の固定値を代入した式(27)にしたがって、MAC値を算出するための鍵を算出する。
The
制御モジュール510は、第2のMAC検証モジュール215を呼び出し、検証用メッセージのMAC部の検証を指示する。第2のMAC検証モジュール215は、MAC値を算出するための鍵、MAC生成対象データ、及び検証用メッセージのMAC部を代入した式(4)及び式(13)にしたがって、検証用メッセージのMAC部の検証を行う。以上がステップS1406の処理の説明である。 The control module 510 calls the second MAC verification module 215 and instructs the verification of the MAC part of the verification message. The second MAC verification module 215 substitutes the key for calculating the MAC value, the MAC generation target data, and the MAC of the verification message into the MAC of the verification message according to the expressions (4) and (13). Verify the department. The above is the description of the process of step S1406.
検証用メッセージのMAC部の検証結果が失敗であると判定された場合、制御モジュール210は、ステップS1409に進む。
When it is determined that the verification result of the MAC part of the verification message is failure, the
検証用メッセージのMAC部の検証結果が成功であると判定された場合、制御モジュール210は、装置鍵情報250及び第1の鍵管理メッセージ情報260を更新する(ステップS1407)。その後、制御モジュール210は、ステップS1408に進む。
When it is determined that the verification result of the MAC part of the verification message is successful, the
具体的には、制御モジュール210は、装置鍵情報250を参照し、ターゲット装置130に対応するレコードの状態605に「書込済み」を設定する。また、制御モジュール210は、第1の鍵管理メッセージ情報260を参照し、ターゲット装置130に対応するレコードの検証結果705に「成功」を設定する。
Specifically, the
ステップS1403、ステップS1405、及びステップS1406の判定結果がNOである場合、制御モジュール210は、装置鍵情報250及び第1の鍵管理メッセージ情報260を更新する(ステップS1409)。その後、制御モジュール210は、ステップS1408に進む。
When the determination result of step S1403, step S1405, and step S1406 is NO, the
具体的には、制御モジュール210は、装置鍵情報250を参照し、ターゲット装置130に対応するレコードの状態605に「エラー」を設定する。また、制御モジュール210は、第1の鍵管理メッセージ情報260を参照し、ターゲット装置130に対応するレコードの検証結果705に「失敗」を設定する。
Specifically, the
ステップS1407又はステップS1409の処理が完了した後、制御モジュール210は、選択可能な全ての装置130について処理が完了したか否かを判定する(ステップS1408)。
After the processing of step S1407 or step S1409 is completed, the
具体的には、制御モジュール210は、検証用メッセージ704に検証用メッセージが格納される全てのレコードの検証結果705に検証結果が格納されているか否かを判定する。
Specifically, the
選択可能な全ての装置130について処理が完了していないと判定された場合、制御モジュール210は、ステップS1402に戻り、同様の処理を実行する。
When it is determined that the processing has not been completed for all the
選択可能な全ての装置130について処理が完了したと判定された場合、制御モジュール210は、アプリケーション鍵の書込処理の検証処理を終了する。
When it is determined that the processing has been completed for all the
本実施例では、装置130の製造工場を例に説明したが、本実施例の適用先はこれに限定されない。例えば、自動車のディーラーや出荷港であってもよい。この場合、工場鍵管理サーバ110の代わりにディーラー又は港の鍵管理サーバが用いられ、製造ライン端末120の代わりに自動車の保守用ツールが用いられる。なお、各機器の構成と機能は、それぞれ図3及び図4で説明したものと同様の構成である。
In the present embodiment, the manufacturing factory of the
本実施例の装置130の一例として、Secure Hardware Extension(SHE)に対応した装置が考えられる。
As an example of the
SHEに対応した装置130の場合、書込用メッセージは、SHEのMemory Update ProtocolのメッセージM1、M2、M3を結合したものに相当する。なお、書込用メッセージのID部はM1に、暗号文部はM2に、MAC部はM3に対応する。さらに、SHEのMemory Update ProtocolのM4、M5を結合したものが、検証用メッセージに相当する。なお、検証用メッセージのID部と暗号文部を結合したものがM4に対応し、MAC部がM5に対応する。また、事前検証用メッセージはSHEのMemory Update ProtocolのM4*(M4の暗号文部)に相当する。また、認証鍵は、例えば、SHEのMASTER_ECU_KEYが考えられ、アプリケーション鍵は、例えば、SHEのKEY<1>が考えられる。
In the case of the SHE-
従来技術では、装置は、装置へのアプリケーション鍵の書込処理の成否を検証するために、ID部、暗号文部、及びMAC部から構成される検証用メッセージを生成する。検証用メッセージの暗号文部は、式(24)に示すようにアプリケーション鍵から生成された鍵を用いてカウンタ値を暗号化することによって生成され、また、MAC部は、式(26)に示すようにアプリケーション鍵から生成された別の鍵、装置ID部、及び暗号文部から生成される。そのため、暗号文部及びMAC値は、アプリケーション鍵及びカウンタ値を知らないと復号できない。 In the related art, the device generates a verification message including an ID part, a ciphertext part, and a MAC part in order to verify the success or failure of the writing process of the application key to the device. The ciphertext part of the verification message is generated by encrypting the counter value using the key generated from the application key as shown in formula (24), and the MAC part is expressed as shown in formula (26). Is generated from another key generated from the application key, the device ID part, and the ciphertext part. Therefore, the ciphertext part and the MAC value cannot be decrypted without knowing the application key and the counter value.
従来の鍵書込工程における鍵の書込処理の成否の検証処理では、暗号文部及びMAC値の検証を行う必要があるが、工場鍵管理サーバは、アプリケーション鍵及びカウンタ値を知らない。そのため、センタ鍵管理サーバに問い合わせを行う必要があった。 In the verification process of the success or failure of the key writing process in the conventional key writing process, it is necessary to verify the ciphertext part and the MAC value, but the factory key management server does not know the application key and the counter value. Therefore, it was necessary to make an inquiry to the center key management server.
本実施例では、アプリケーション鍵及びカウンタ値を知っているセンタ鍵管理サーバ100が、製造ラインの稼働前に、生成した暗号文部を事前検証用メッセージとして工場鍵管理サーバ110に登録する。工場鍵管理サーバ110は、装置130によって生成された検証用メッセージの暗号文部と事前検証用メッセージとを比較することよって、鍵の書込処理の成否の検証を行うことができる。アプリケーション鍵又はカウンタ値のいずれかが一致しない場合、暗号処理の特性から、検証用メッセージの暗号文部と事前検証用メッセージは一致しないためである。
In the present embodiment, the center
したがって、本実施例によれば、工場鍵管理サーバ110は、センタ鍵管理サーバ100に問い合わせることなくアプリケーション鍵の書込処理の成否を検証することができる。これによって、製造コストを削減できる。
Therefore, according to the present embodiment, the factory
なお、工場鍵管理サーバ110は、暗号文である事前検証用メッセージからアプリケーション鍵及びカウンタ値を取得できないため、MAC部を算出することができない。また、工場鍵管理サーバ110が鍵の書込処理が行われたように偽装するために事前検証用メッセージを送信してもMAC部の検証が失敗する。これによって、センタ鍵管理サーバ100は、前述の偽装を検知することができる。したがって、本実施例では、事前検証用メッセージの送信に伴うセキュリティの問題は発生しない。
The factory
以上で説明したように、実施例1によれば、装置130へのセキュアな鍵の書込を実現でき、また、工場鍵管理サーバ110がセンタ鍵管理サーバ100に等合わせることなく鍵の書込処理の成否を検証できる。
As described above, according to the first embodiment, secure key writing to the
実施例2は、鍵生成/鍵配信フェーズの装置IDの扱い方が異なる。以下では、実施例1との差異を中心に、実施例2について説明する。 The second embodiment is different in how to handle the device ID in the key generation / key distribution phase. Hereinafter, the second embodiment will be described focusing on the differences from the first embodiment.
実施例2のシステム構成は、実施例1のシステム構成と同一である。また、実施例2の各装置の構成は、実施例1の各装置の構成と同一である。ただし、実施例2では、装置鍵情報250、並びに、第1の鍵管理メッセージ情報260及び第2の鍵管理メッセージ情報350のデータ構造が一部異なる。
The system configuration of the second embodiment is the same as the system configuration of the first embodiment. The configuration of each device of the second embodiment is the same as the configuration of each device of the first embodiment. However, in the second embodiment, the device
図15は、実施例2の装置鍵情報250の一例を示す図である。図16は、実施例2の第1の鍵管理メッセージ情報260の一例を示す図である。
FIG. 15 is a diagram illustrating an example of the device
実施例2では、装置鍵情報250のレコードはレコード番号1501を含む。また、第1の鍵管理メッセージ情報260のレコードはレコード番号1601を含む。
In the second embodiment, the record of the device
実施例2では、センタ鍵管理サーバ100及び工場鍵管理サーバ110は、事前に装置130の装置IDを保持していない。したがって、装置鍵情報250及び第1の鍵管理メッセージ情報260の各レコードの装置ID601には初期値「0」が設定される。
In the second embodiment, the center
実施例2では、ステップS901からステップS904までの処理、及びステップS911からステップS913までの処理において、センタ鍵管理サーバ100及び工場鍵管理サーバ110は、装置鍵情報250及び第1の鍵管理メッセージ情報260の全てのレコードの装置IDが「0」として処理を実行する。
In the second embodiment, in the processing from step S901 to step S904 and the processing from step S911 to step S913, the center
また、実施例2では、認証鍵は、書込対象の全ての装置130においてオール0の値をとるものとする。認証鍵がオール0の値は、センタ鍵管理サーバ100及び装置130の間で事前に共有している。
Further, in the second embodiment, the authentication key has a value of all 0 in all the write-
ステップS914以降の処理では、各装置130が保持する装置IDが用いられる。工場鍵管理サーバ110は、ステップS918において受信した検証用メッセージに含まれるID部から装置IDを取得し、第2の鍵管理メッセージ情報350の対応するレコードの装置ID701に当該装置IDを設定する。センタ鍵管理サーバ100は、ステップS924において受信した検証用メッセージに含まれるID部から装置IDを取得し、装置鍵情報250の対応するレコードの装置ID601に当該装置IDを設定し、また、第1の鍵管理メッセージ情報260の対応するレコードの装置ID701に当該装置IDを設定する。
In the processing from step S914, the device ID held by each
なお、実施例2では、ステップS1101及びステップS1403の処理は省略される。 In the second embodiment, the processes of step S1101 and step S1403 are omitted.
実施例2によれば、センタ鍵管理サーバ100は、事前に、装置IDを知らない場合でも、鍵の書込処理を実行することができる。
According to the second embodiment, the center
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。 It should be noted that the present invention is not limited to the above-described embodiments, but includes various modifications. In addition, for example, the above-described embodiment is a detailed description of the configuration in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to one having all the configurations described. Further, a part of the configuration of the embodiment can be added, deleted, or replaced with another configuration.
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるCPUが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。 Further, each of the above-mentioned configurations, functions, processing units, processing means, etc. may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. The present invention can also be realized by a program code of software that realizes the functions of the embodiments. In this case, a storage medium recording the program code is provided to the computer, and the CPU included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the function of the above-described embodiment, and the program code itself and the storage medium storing the program code constitute the present invention. As a storage medium for supplying such a program code, for example, a flexible disk, a CD-ROM, a DVD-ROM, a hard disk, an SSD (Solid State Drive), an optical disk, a magneto-optical disk, a CD-R, a magnetic tape, A non-volatile memory card, ROM or the like is used.
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。 The program code that implements the functions described in the present embodiment can be implemented in a wide range of programs or script languages such as assembler, C / C ++, perl, Shell, PHP, and Java (registered trademark).
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるCPUが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。 Furthermore, by distributing the program code of the software that realizes the functions of the embodiments via a network, the program code is stored in a storage means such as a hard disk or a memory of a computer or a storage medium such as a CD-RW or a CD-R. Alternatively, the CPU included in the computer may read and execute the program code stored in the storage unit or the storage medium.
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。 In the above-described embodiments, the control lines and information lines are shown to be necessary for explanation, and not all the control lines and information lines on the product are necessarily shown. All configurations may be connected to each other.
100 センタ鍵管理サーバ
110 工場鍵管理サーバ
120 製造ライン端末
130 装置
150、160、170 ネットワーク
201、301、401、501 プロセッサ
202、302、402、502 メモリ
203、303、403、503 記憶装置
204、304、404、504 ネットワークインタフェース
205 I/Oインタフェース
206、306、406 入力装置
207、307、407 出力装置
210、310、410、510 制御モジュール
211 鍵生成モジュール
212 第1の暗号化モジュール
213 第1のMAC生成モジュール
214 第2の復号モジュール
215 第2のMAC検証モジュール
216、516 鍵導出モジュール
217、514 第2の暗号化モジュール
250 装置鍵情報
260 第1の鍵管理メッセージ情報
311 メッセージ検証モジュール
320 データ検証モジュール
350 第2の鍵管理メッセージ情報
440 書込用メッセージ
450 検証用メッセージ
511 第1の復号モジュール
512 第1のMAC検証モジュール
513 書込モジュール
515 第2のMAC生成モジュール
100 Center
Claims (12)
前記第1の計算機は、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、及び前記第1のプロセッサに接続される第1のネットワークインタフェースを有し、
前記第2の計算機は、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、及び前記第2のプロセッサに接続される第2のネットワークインタフェースを有し、
前記第2のメモリは、前記装置及び前記第2の計算機によって共有され、暗号化処理及び復号処理に使用する鍵情報を格納し、
前記第2のプロセッサは、
前記鍵情報を用いて前記設定情報を暗号化した第1の暗号文を含む第1のメッセージを生成して、前記第1の計算機を介して前記装置に送信し、
前記鍵情報を用いて前記設定情報に含まれる一部のデータを暗号化した第2の暗号文を含む第2のメッセージを生成して、前記第1の計算機に送信し、
前記第1のプロセッサは、
前記第1の暗号文を復号化することによって取得された前記設定情報を格納した前記装置から、前記鍵情報を用いて前記設定情報に含まれる一部の情報を暗号化した第3の暗号文を含む第3のメッセージを受信し、
前記第2のメッセージ及び前記第3のメッセージを比較することによって、前記設定情報の書込処理が成功したか否かを検証することを特徴とするシステム。 A system comprising a first computer that manages manufacturing of a device, and a second computer that is connected to the first computer and manages setting information set in the device,
The first computer has a first processor, a first memory connected to the first processor, and a first network interface connected to the first processor;
The second computer has a second processor, a second memory connected to the second processor, and a second network interface connected to the second processor,
The second memory stores key information which is shared by the device and the second computer, and which is used for encryption processing and decryption processing.
The second processor is
Generating a first message including a first ciphertext obtained by encrypting the setting information using the key information, and transmitting the first message to the device via the first computer;
A second message including a second ciphertext obtained by encrypting a part of the data included in the setting information using the key information is generated and transmitted to the first computer,
The first processor is
A third ciphertext obtained by encrypting a part of the information included in the setting information by using the key information from the device that stores the setting information acquired by decrypting the first ciphertext. Received a third message containing
A system for verifying whether or not the writing process of the setting information has succeeded by comparing the second message and the third message.
前記第1のプロセッサは、
前記第2の暗号文と前記第3の暗号文とが一致するか否かを判定し、
前記第2の暗号文と前記第3の暗号文とが一致する場合、前記設定情報の書込処理が成功したと判定することを特徴とするシステム。 The system of claim 1, wherein
The first processor is
Determining whether or not the second ciphertext and the third ciphertext match,
A system, wherein when the second ciphertext and the third ciphertext match, it is determined that the writing process of the setting information has succeeded.
前記第1のプロセッサは、前記第2の暗号文と前記第3の暗号文との相違が1ビットのみである場合、前記第2の計算機に、前記第1のメッセージの再送要求を送信することを特徴とするシステム。 The system of claim 2, wherein
The first processor transmits a resend request for the first message to the second computer when the difference between the second ciphertext and the third ciphertext is only 1 bit. System characterized by.
前記設定情報は、秘密情報及び前記秘密情報の書込回数を示すカウンタ値を含み、
前記第1の暗号文は、前記鍵情報から生成された第1の暗号鍵情報と、前記秘密情報及び前記カウンタ値を結合した値と、を変数とする第1の関数を用いて生成され、
前記第2の暗号文は、前記鍵情報から生成された第2の暗号鍵情報と、前記カウンタ値と、を変数とする第2の関数を用いて生成され、
前記第3の暗号文は、前記鍵情報から生成した第3の暗号鍵情報と、前記カウンタ値と、を変数とする第3の関数を用いて生成されることを特徴とするシステム。 The system of claim 3, wherein
The setting information includes secret information and a counter value indicating the number of times the secret information has been written,
The first ciphertext is generated using a first function having variables of first cipher key information generated from the key information and a value obtained by combining the secret information and the counter value,
The second ciphertext is generated by using a second function having variables of the second cipher key information generated from the key information and the counter value,
The system is characterized in that the third ciphertext is generated using a third function in which the third cipher key information generated from the key information and the counter value are variables.
前記第3のメッセージは、前記鍵情報及び前記設定情報から生成された検証値を含み、
前記第2のプロセッサは、
前記鍵情報を用いて前記第3の暗号文を復号化することによって前記カウンタ値を取得し、
前記第1の暗号文の生成時に用いたカウンタ値と、前記第3の暗号文から取得したカウンタ値とが一致するか否かを判定し、
前記第1の暗号文の生成時に用いたカウンタ値と、前記第3の暗号文から取得したカウンタ値とが一致すると判定された場合、前記検証値を用いて前記設定情報の書込処理が成功したか否かを判定することを特徴とするシステム。 The system according to claim 4, wherein
The third message includes a verification value generated from the key information and the setting information,
The second processor is
Obtaining the counter value by decrypting the third ciphertext using the key information,
It is determined whether or not the counter value used at the time of generating the first ciphertext and the counter value obtained from the third ciphertext match.
When it is determined that the counter value used when generating the first ciphertext and the counter value obtained from the third ciphertext match, the writing process of the setting information succeeds using the verification value. A system characterized by determining whether or not.
前記第1の暗号文は、Secure Hardware ExtensionのM2であり、
前記第2の暗号文は、Secure Hardware ExtensionのM4の暗号文部であり、
前記検証値は、Secure Hardware ExtensionのM5であることを特徴とするシステム。 The system according to claim 5, wherein
The first ciphertext is Secure Hardware Extension M2,
The second ciphertext is the M4 ciphertext part of Secure Hardware Extension.
The system is characterized in that the verification value is M5 of Secure Hardware Extension.
前記第1の計算機は、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、及び前記第1のプロセッサに接続される第1のネットワークインタフェースを有し、
前記第2の計算機は、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、及び前記第2のプロセッサに接続される第2のネットワークインタフェースを有し、
前記第2のメモリは、前記装置および前記第2の計算機によって共有され、暗号化処理及び復号処理に使用する鍵情報を格納し、
前記情報の書込方法は
前記第2のプロセッサが、前記鍵情報を用いて前記設定情報を暗号化した第1の暗号文を含む第1のメッセージを生成して、前記第1の計算機を介して前記装置に送信する第1のステップと、
前記第2のプロセッサが、前記鍵情報を用いて前記設定情報に含まれる一部のデータを暗号化した第2の暗号文を含む第2のメッセージを生成して、前記第1の計算機に送信する第2のステップと、
前記第1のプロセッサが、前記第1の暗号文を復号化することによって取得された前記設定情報を格納した前記装置から、前記鍵情報を用いて前記設定情報に含まれる一部の情報を暗号化した第3の暗号文を含む第3のメッセージを受信する第3のステップと、
前記第1のプロセッサが、前記第2のメッセージ及び前記第3のメッセージを比較することによって、前記設定情報の書込処理が成功したか否かを検証する第4のステップと、を含むことを特徴とする情報の書込方法。 A method of writing information in a system including a first computer that manages the manufacture of a device, and a second computer that is connected to the first computer and that manages setting information set in the device,
The first computer has a first processor, a first memory connected to the first processor, and a first network interface connected to the first processor;
The second computer has a second processor, a second memory connected to the second processor, and a second network interface connected to the second processor,
The second memory stores key information that is shared by the device and the second computer and is used for encryption processing and decryption processing,
In the method of writing the information, the second processor generates a first message including a first ciphertext obtained by encrypting the setting information by using the key information, and transmits the first message via the first computer. The first step of transmitting to the device,
The second processor generates a second message including a second ciphertext obtained by encrypting a part of data included in the setting information using the key information, and transmits the second message to the first computer. The second step to do,
The first processor encrypts a part of the information included in the setting information using the key information from the device that stores the setting information acquired by decrypting the first ciphertext. A third step of receiving a third message containing the encrypted third ciphertext,
A fourth step in which the first processor verifies whether or not the writing process of the setting information has succeeded by comparing the second message and the third message. How to write characteristic information.
前記第4のステップは、
前記第1のプロセッサが、前記第2の暗号文と前記第3の暗号文とが一致するか否かを判定するステップと、
前記第2の暗号文と前記第3の暗号文とが一致する場合、前記第1のプロセッサが、前記設定情報の書込処理が成功したと判定するステップと、を含むことを特徴とする情報の書込方法。 A method for writing information according to claim 7, wherein
The fourth step is
The first processor determining whether or not the second ciphertext and the third ciphertext match;
The first processor determines that the writing process of the setting information has succeeded when the second ciphertext and the third ciphertext match. How to write.
前記第4のステップは、前記第1のプロセッサが、前記第2の暗号文と前記第3の暗号文との相違が1ビットのみである場合、前記第2の計算機に、前記第1のメッセージの再送要求を送信するステップを含むことを特徴とする情報の書込方法。 A method for writing information according to claim 8, wherein
In the fourth step, when the first processor determines that the difference between the second ciphertext and the third ciphertext is only 1 bit, the second message is transmitted to the second computer. A method of writing information, comprising the step of transmitting a resend request.
前記設定情報は、秘密情報及び前記秘密情報の書込回数を示すカウンタ値を含み、
前記第1の暗号文は、前記鍵情報から生成された第1の暗号鍵情報と、前記秘密情報及び前記カウンタ値を結合した値と、を変数とする第1の関数を用いて生成され、
前記第2の暗号文は、前記鍵情報から生成された第2の暗号鍵情報と、前記カウンタ値と、を変数とする第2の関数を用いて生成され、
前記第3の暗号文は、前記鍵情報から生成した第3の暗号鍵情報と、前記カウンタ値と、を変数とする第3の関数を用いて生成されることを特徴とする情報の書込方法。 A method for writing information according to claim 9, wherein
The setting information includes secret information and a counter value indicating the number of times the secret information has been written,
The first ciphertext is generated using a first function having variables of first cipher key information generated from the key information and a value obtained by combining the secret information and the counter value,
The second ciphertext is generated using a second function having variables of the second cipher key information generated from the key information and the counter value,
Writing the information characterized in that the third ciphertext is generated by using a third function having variables of the third cipher key information generated from the key information and the counter value. Method.
前記第3のメッセージは、前記鍵情報及び前記設定情報から生成された検証値を含み、
前記情報の書込方法は、
前記第2のプロセッサが、前記鍵情報を用いて前記第3の暗号文を復号化することによって前記カウンタ値を取得するステップと、
前記第2のプロセッサが、前記第1の暗号文の生成時に用いたカウンタ値と、前記第3の暗号文から取得したカウンタ値とが一致するか否かを判定するステップと、
前記第1の暗号文の生成時に用いたカウンタ値と、前記第3の暗号文から取得したカウンタ値とが一致すると判定された場合、前記第2のプロセッサが、前記検証値を用いて前記設定情報の書込処理が成功したか否かを判定するステップと、を含むことを特徴とする情報の書込方法。 The method for writing information according to claim 10, wherein
The third message includes a verification value generated from the key information and the setting information,
The information writing method is
The second processor obtains the counter value by decrypting the third ciphertext using the key information;
A step in which the second processor determines whether or not the counter value used when generating the first ciphertext and the counter value acquired from the third ciphertext match;
When it is determined that the counter value used when generating the first ciphertext and the counter value acquired from the third ciphertext match, the second processor uses the verification value to perform the setting. And a step of determining whether or not the information writing process has succeeded.
前記第1の暗号文は、Secure Hardware ExtensionのM2であり、
前記第2の暗号文は、Secure Hardware ExtensionのM4の暗号文部であり、
前記検証値は、Secure Hardware ExtensionのM5であることを特徴とする情報の書込方法。 The method for writing information according to claim 11,
The first ciphertext is Secure Hardware Extension M2,
The second ciphertext is the M4 ciphertext part of Secure Hardware Extension.
The information writing method, wherein the verification value is M5 of Secure Hardware Extension.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017000740A JP6697404B2 (en) | 2017-01-05 | 2017-01-05 | System and method of writing information |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017000740A JP6697404B2 (en) | 2017-01-05 | 2017-01-05 | System and method of writing information |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018110355A JP2018110355A (en) | 2018-07-12 |
| JP6697404B2 true JP6697404B2 (en) | 2020-05-20 |
Family
ID=62844545
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017000740A Active JP6697404B2 (en) | 2017-01-05 | 2017-01-05 | System and method of writing information |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6697404B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021048518A (en) * | 2019-09-19 | 2021-03-25 | 株式会社東芝 | Information processing device, information processing system, and control method of information processing device |
| CN115484078B (en) * | 2022-08-31 | 2024-11-26 | 中汽创智科技有限公司 | Time synchronization method, device, electronic device and storage medium |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4546099B2 (en) * | 2004-01-14 | 2010-09-15 | 日立マクセル株式会社 | Information processing system |
| JP4973642B2 (en) * | 2008-11-04 | 2012-07-11 | 株式会社デンソー | In-vehicle electronic control unit |
| CN102549595B (en) * | 2010-07-23 | 2016-04-20 | 松下电器产业株式会社 | Information processing device, controller, key issuing station, method for judging validity of revocation list, and key issuing method |
-
2017
- 2017-01-05 JP JP2017000740A patent/JP6697404B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018110355A (en) | 2018-07-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6345157B2 (en) | In-vehicle information communication system and authentication method | |
| US11082228B2 (en) | Reuse system, key generation device, data security device, in-vehicle computer, reuse method, and computer program | |
| US7496756B2 (en) | Content usage-right management system and management method | |
| EP3474488A1 (en) | System, certification authority, vehicle-mounted computer, vehicle, public key certificate issuance method, and program | |
| US10193691B2 (en) | Information processing device, server device, information processing system, moving object, and information processing method | |
| CN108496322A (en) | Carried-on-vehicle computer system, vehicle, key generating device, management method, key generation method and computer program | |
| JP5380583B1 (en) | Device authentication method and system | |
| JP6888122B2 (en) | Semiconductor device, update data provision method, update data reception method and program | |
| JP3880957B2 (en) | Root certificate distribution system, root certificate distribution method, computer executable root certificate distribution program, server device, and client device | |
| CN111034116A (en) | Key management device, communication apparatus, and key sharing method | |
| CN112513844A (en) | Secure element for processing and authenticating digital keys and method of operation thereof | |
| CN110032874A (en) | A kind of date storage method, device and equipment | |
| CN115225248A (en) | Authentication method and signature generation method of encryption device and system including the same | |
| JP2023506661A (en) | Certificate application method and device | |
| CN116032613A (en) | Blockchain digital credential exchange method, file storage access method and system | |
| JP2018019415A (en) | System, certificate authority, in-vehicle computer, public key certificate issuing method, and program | |
| CN107659409B (en) | Method for providing an authenticated connection between at least two communication partners | |
| KR20190112959A (en) | Operating method for machine learning model using encrypted data and apparatus based on machine learning model | |
| JP6697404B2 (en) | System and method of writing information | |
| CN113316916A (en) | Apparatus and method for updating anti-theft token in digital key sharing system | |
| WO2021022802A1 (en) | Secure startup method, controller, and control system | |
| JP2017108212A (en) | Key generation method, key generation system, and computer program | |
| JP7211519B2 (en) | Owner identity confirmation system, terminal and owner identity confirmation method | |
| JP7412691B2 (en) | Authentication systems, authentication modules, and certification programs | |
| JP6188744B2 (en) | Management system, vehicle and management method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190528 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200330 |
|
| 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: 20200407 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200424 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6697404 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |