JP6387908B2 - Authentication system - Google Patents
Authentication system Download PDFInfo
- Publication number
- JP6387908B2 JP6387908B2 JP2015124991A JP2015124991A JP6387908B2 JP 6387908 B2 JP6387908 B2 JP 6387908B2 JP 2015124991 A JP2015124991 A JP 2015124991A JP 2015124991 A JP2015124991 A JP 2015124991A JP 6387908 B2 JP6387908 B2 JP 6387908B2
- Authority
- JP
- Japan
- Prior art keywords
- computer
- data
- software
- update
- electronic signature
- 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
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Description
本発明は、保守装置の不正な利用を防止する認証システムに関する。 The present invention relates to an authentication system that prevents unauthorized use of a maintenance device.
近年、ソフトウェアの高度化にともない、携帯電話や車載コンピュータなどの組込み機器に、デバッグ機能や更新機能などの保守のための機能を搭載することが一般的になっている。デバッグ機能は、開発時に機器の動作を検証する目的や、故障した機器の解析を行うために使用される。また、更新機能は、不具合の修正や機能向上などのため、ソフトウェアやファームウェアを更新する際に使用される。 In recent years, with the advancement of software, it has become common to install maintenance functions such as a debug function and an update function in an embedded device such as a mobile phone or an in-vehicle computer. The debug function is used for the purpose of verifying the operation of the device during development and for analyzing the failed device. The update function is used when software or firmware is updated to correct a defect or improve the function.
これらの保守機能は、一般の利用者は使用しない機能であるため、利用者がアクセスできないように制限がかけられている場合が多い。特に、車載コンピュータ(Engine Control Unit、以下ECU)は、自動車の制御を受け持つという性質上、パラメータの安易な
変更が故障や事故につながる可能性がある。そのため、保守機能にアクセスするためには専用の機器(以下、保守装置と称する)を必要とし、一般の利用者が容易に触れることができない構造をとっている。
These maintenance functions are functions that are not used by general users, and are often restricted so that the users cannot access them. In particular, an in-vehicle computer (Engine Control Unit, hereinafter referred to as ECU) is in charge of controlling an automobile, so that an easy change in parameters may lead to a failure or an accident. For this reason, in order to access the maintenance function, a dedicated device (hereinafter referred to as a maintenance device) is required, and a general user cannot easily touch the maintenance function.
しかし、保守装置を悪意のある利用者が入手した場合、保守機能が不正に利用されるおそれがある。例えば、保守装置が、パーソナルコンピュータ上で動作するソフトウェアとして実装されている場合、不正にコピーしたソフトウェアを用いて、ECUにアクセスされてしまうおそれがある。
これを防ぐための技術として、例えば特許文献1に記載の発明がある。特許文献1に記載のシステムでは、保守装置が、管理サーバに対して自己が正当な装置であることを示し、管理サーバから証明を取得する。そして、当該証明をECUに送信し、ECUが更新の可否を判断する。このようにすることで、不正な保守装置の利用を防止することができる。
However, if a malicious user obtains the maintenance device, the maintenance function may be used illegally. For example, when the maintenance device is implemented as software that operates on a personal computer, there is a possibility that the ECU may be accessed using software copied illegally.
As a technique for preventing this, there is an invention described in
特許文献1に記載の発明によると、保守装置が正当なものであることを管理サーバが確認しない限り、保守機能が有効にならない。
しかし、保守装置が正当なものであっても、悪意のあるユーザが、改造を施した不正なソフトウェアを用いてECUの更新を行おうとした場合に、これを防止することができない。
According to the invention described in
However, even if the maintenance device is valid, it cannot be prevented when a malicious user attempts to update the ECU using unauthorized software that has been modified.
すなわち、このような利用を防止するためには、保守装置に対する正当性の確認(エンティティ認証)と、ECUに送信するデータに対する正当性の確認(データ認証)の双方を実行するような認証システムを構築する必要がある。 That is, in order to prevent such use, an authentication system that performs both confirmation of the validity of the maintenance device (entity authentication) and confirmation of the validity of the data transmitted to the ECU (data authentication). Need to build.
本発明は上記の問題点を考慮してなされたものであり、コンピュータの保守を行う保守
装置の不正な利用を防止することを目的とする。
The present invention has been made in consideration of the above-described problems, and an object thereof is to prevent unauthorized use of a maintenance device for maintaining a computer.
本発明の第一の形態に係る認証システムは、接続されたコンピュータのソフトウェア更新を制御する第一のコンピュータと、ソフトウェアを更新する対象である第二のコンピュータと、前記第二のコンピュータに適用される更新ソフトウェアを提供する管理サーバと、を含み、前記第二のコンピュータが、前記更新ソフトウェアの正当性を認証するシステムである。 An authentication system according to a first aspect of the present invention is applied to a first computer that controls software update of a connected computer, a second computer that is a target of software update, and the second computer. And a management server that provides the update software, wherein the second computer authenticates the validity of the update software.
第一のコンピュータは、第二のコンピュータの保守を行うための装置であり、例えば、パーソナルコンピュータと保守ソフトウェアの組み合わせであるが、専用のハードウェア等であってもよい。また、第二のコンピュータは、ソフトウェアの更新を行う対象となる装置であり、例えば、組込み機器や、車載コンピュータ(ECU)などである。 The first computer is a device for performing maintenance of the second computer. For example, the first computer is a combination of a personal computer and maintenance software, but may be dedicated hardware or the like. The second computer is a device for which software is updated, and is, for example, an embedded device or an in-vehicle computer (ECU).
本発明の第一の形態に係る認証システムは、より具体的には、前記管理サーバが、前記第一のコンピュータから送信された構成証明データに基づいて、前記第一のコンピュータのエンティティ認証を行い、前記第一のコンピュータが正当なものである場合に、前記第二のコンピュータに対応する更新ソフトウェアを含む第一のデータと、前記更新ソフトウェアに対応するダイジェストを含むデータに自己の電子署名を付加したデータである第二のデータと、を前記第一のコンピュータに送信する提供手段と、を有する。
また、前記第一のコンピュータが、自己の正当性を示すデータである構成証明データを取得し、前記管理サーバに送信する自己証明手段と、前記管理サーバから前記第一および第二のデータを取得し、前記第二のコンピュータに転送する転送手段と、を有する。
また、前記第二のコンピュータが、前記管理サーバに対応する公開鍵を用いて、前記第二のデータに含まれる電子署名を検証し、また、前記第二のデータに含まれるダイジェストを用いて、前記更新ソフトウェアを検証し、前記二種類の検証によって正当性が全て確認できた場合にソフトウェア更新を行う更新手段と、を有する。
More specifically, in the authentication system according to the first aspect of the present invention, the management server performs entity authentication of the first computer based on the configuration certification data transmitted from the first computer. When the first computer is legitimate, the electronic signature is added to the first data including the update software corresponding to the second computer and the data including the digest corresponding to the update software. Providing means for transmitting the second data, which is the processed data, to the first computer.
In addition, the first computer acquires configuration proof data, which is data indicating its own validity, and acquires the first and second data from the management server, and self-certification means that transmits the configuration proof data to the management server. And transfer means for transferring to the second computer.
Further, the second computer uses the public key corresponding to the management server to verify the electronic signature included in the second data, and uses the digest included in the second data, Updating means for verifying the update software and performing software update when all the validity is confirmed by the two types of verification.
本発明における第一のコンピュータは、管理サーバに対して、第二のコンピュータを更新するためのソフトウェアを要求する。この際、第一のコンピュータは、自己が正当なものであることを示すデータ(構成証明データ)を管理サーバに送信し、管理サーバがエンティティ認証を行う。エンティティ認証は、第一のコンピュータの正当性を確認できれば、どのような方法で行われてもよい。例えば、公開鍵暗号を利用して、第一のコンピュータが有するハードウェアやソフトウェアのハッシュを送信してもよい。
管理サーバは、第一のコンピュータが正当なものあると判断した場合に、第二のコンピュータを更新するためのソフトウェア(更新ソフトウェア)が含まれる第一のデータと、第一のデータを検証するための第二のデータを生成し、当該第一のデータと、第二のデータの二つを第一のコンピュータに送信する。
第二のデータとは、更新ソフトウェアに対応するダイジェストを含むデータに、管理サーバの電子署名を付加したデータである。ダイジェストとは、更新ソフトウェアの正当性を確認するための情報であり、例えば、更新ソフトウェアのハッシュ値などであるが、一方向であればこれに限られない。
The first computer in the present invention requests software for updating the second computer from the management server. At this time, the first computer transmits data (configuration certification data) indicating that it is valid to the management server, and the management server performs entity authentication. The entity authentication may be performed by any method as long as the validity of the first computer can be confirmed. For example, the hardware or software hash of the first computer may be transmitted using public key cryptography.
When the management server determines that the first computer is valid, the management server verifies the first data including software (update software) for updating the second computer and the first data. The second data is generated, and the first data and the second data are transmitted to the first computer.
The second data is data obtained by adding the electronic signature of the management server to data including a digest corresponding to the update software. The digest is information for confirming the validity of the update software. For example, the digest is a hash value of the update software. However, the digest is not limited to this as long as it is one-way.
第一のコンピュータに送信された二つのデータは、例えば、第一のコンピュータと第二のコンピュータを接続したタイミングで、第二のコンピュータへ転送される。 The two data transmitted to the first computer are transferred to the second computer, for example, at the timing when the first computer and the second computer are connected.
また、データを受信した第二のコンピュータは、まず、(1)管理サーバに対応する公開鍵を用いて、第二のデータに含まれる電子署名を検証し、(2)第二のデータに含まれるダイジェストを用いて、前記更新ソフトウェアを検証する。この二種類の検証により、第二のコンピュータは、更新ソフトウェアが管理サーバによって作成された正当なもので
あることを確認することができる。
The second computer that has received the data first (1) verifies the electronic signature included in the second data using the public key corresponding to the management server, and (2) is included in the second data. The updated software is verified using the digest. With these two types of verification, the second computer can confirm that the update software is a legitimate one created by the management server.
かかる構成によると、第二のコンピュータが、更新ソフトウェアの正当性を確認することができる。また、更新ソフトウェアは、第一のコンピュータが正当なものでない限り生成されないため、エンティティおよびデータの正当性を共に担保することができる。 With this configuration, the second computer can confirm the validity of the updated software. In addition, since the update software is not generated unless the first computer is valid, both the entity and the data can be ensured.
また、前記第一のコンピュータが有する自己証明手段は、自装置のプラットフォーム構成に対応するダイジェストを生成し、自己の電子署名を加えたデータを、構成証明データとして前記管理サーバに送信し、前記管理サーバは、前記電子署名およびダイジェストを検証することで、前記第一のコンピュータのエンティティ認証を行うことを特徴としてもよい。 Further, the self-certifying means included in the first computer generates a digest corresponding to the platform configuration of the self-device, transmits data to which the electronic signature is added to the management server as configuration certification data, and The server may perform the entity authentication of the first computer by verifying the electronic signature and the digest.
構成証明データとは、第一のコンピュータが有するプラットフォームが正当なものであることを示すためのデータであり、例えば、ソフトウェアやハードウェアのハッシュ値などであるが、これに限られない。対象のソフトウェアは、例えば、保守を行うソフトウェアのみであってもよいし、オペレーティングシステムのライブラリやカーネル、ミドルウェア等を含んだものであってもよい。また、ディスク装置に記憶されたソフトウェア全てであってもよい。 The configuration certification data is data for indicating that the platform of the first computer is valid, and is, for example, a hash value of software or hardware, but is not limited thereto. The target software may be, for example, only maintenance software or may include an operating system library, kernel, middleware, and the like. Moreover, all the software memorize | stored in the disk apparatus may be sufficient.
このように構成すると、仮に攻撃者が正規の通信ソフトウェアのプロトコルを解析し、攻撃用の保守ソフトウェアを作成した場合であっても、管理サーバから保守用のデータを受け取ることができなくなる。また、構成証明データの生成対象を、通信ソフトウェアだけでなく、オペレーティングシステムのカーネルやライブラリまで含むようにすれば、正規の通信ソフトウェアを不正にコピーするケースにも対応することができる。すなわち、攻撃に用いるコンピュータのカーネルやライブラリなどが、正当なコンピュータと少しでも異なれば認証を得ることが出来ないため、不正を防止することができる。 With this configuration, even if an attacker analyzes the protocol of legitimate communication software and creates maintenance software for attack, maintenance data cannot be received from the management server. Further, if the configuration proof data generation target includes not only the communication software but also the kernel and library of the operating system, it is possible to deal with a case where the legitimate communication software is illegally copied. In other words, since the authentication cannot be obtained if the kernel or library of the computer used for the attack is slightly different from the legitimate computer, fraud can be prevented.
また、前記第一のコンピュータが有する自己証明手段は、耐タンパ性デバイスによって実現されることを特徴としてもよい。 Further, the self-certifying means included in the first computer may be realized by a tamper resistant device.
耐タンパ性デバイスとは、情報の外部への取り出しや、情報の改変に対する防御力を持ったデバイスである。耐タンパデバイスには、例えばTPM(Trusted Platform Module
)を用いることができる。TPMとは、TCG(Trusted Computing Group)にて標準化さ
れた、耐タンパ性を持つセキュリティチップであり、秘密鍵の記憶、ハッシュの生成、電子署名の生成などを単体で行うことができる。TPMの内部で行われるハッシュや電子署名の生成には、外部から関与することができないため、データの改ざんや、不正な電子署名の生成を行うことができない。また、データや秘密鍵を物理的に取り出そうとすると自己破壊が起こるため、ハードウェアと切り離すこともできない。すなわち、第一のコンピュータが正当なものでない限り、正しい構成証明データを得ることができないため、管理サーバから更新プログラムを取得することもできなくなる。
A tamper-resistant device is a device that has a defense against taking out information or altering information. For tamper resistant devices, for example, TPM (Trusted Platform Module)
) Can be used. The TPM is a tamper-resistant security chip standardized by TCG (Trusted Computing Group), and can store a private key, generate a hash, generate an electronic signature, and the like alone. Since the generation of the hash and the electronic signature performed inside the TPM cannot be involved from the outside, the data cannot be falsified or an illegal electronic signature cannot be generated. In addition, if data or a secret key is physically extracted, self-destruction occurs, so it cannot be separated from hardware. That is, unless the first computer is legitimate, correct configuration certification data cannot be obtained, and an update program cannot be obtained from the management server.
また、前記第一のコンピュータは、前記第二のコンピュータに対してソフトウェアの更新を指示する更新制御手段をさらに有し、前記第二のデータは、前記ダイジェストと、前記第一のコンピュータに対応する公開鍵である第一の公開鍵と、に、前記管理サーバの電子署名を付加したデータであり、前記更新手段は、前記二種類の検証が共に成功した場合に、前記第二のデータに含まれる第一の公開鍵を用いて、前記第一のコンピュータとの秘匿通信に用いるセッション鍵を暗号化して前記第一のコンピュータに送信し、前記更新制御手段は、暗号化されたセッション鍵を自己の秘密鍵で復号することで、秘匿通信に用いるセッション鍵を取得し、前記第二のコンピュータとの秘匿通信を行うことを特徴としてもよい。 The first computer further includes update control means for instructing the second computer to update software, and the second data corresponds to the digest and the first computer. The first public key, which is a public key, and data obtained by adding the electronic signature of the management server, and the updating means is included in the second data when both of the two types of verification are successful The first public key is used to encrypt a session key used for the secret communication with the first computer, and the encrypted session key is transmitted to the first computer. The session key used for the secret communication is obtained by decrypting with the secret key, and the secret communication with the second computer is performed.
第一の公開鍵は、管理サーバによって認証された第一のコンピュータに対応するものである。すなわち、接続されている第一のコンピュータが不正なものである場合、第一のコンピュータはセッション鍵を取り出すことができず、以降の通信が不可能になる。
このように構成することで、第一のコンピュータと第二のコンピュータを接続したタイミングにおいても、第一のコンピュータのエンティティ認証を行うことができる。
The first public key corresponds to the first computer authenticated by the management server. That is, when the connected first computer is illegal, the first computer cannot extract the session key, and subsequent communication is impossible.
With this configuration, the entity authentication of the first computer can be performed even at the timing when the first computer and the second computer are connected.
また、前記セッション鍵は擬似乱数であることを特徴としてもよい。
擬似乱数は毎回変化するため、攻撃者が通信内容を傍受してもリプレイ攻撃を行うことができないという効果が得られる。
The session key may be a pseudo random number.
Since the pseudo random number changes every time, even if the attacker intercepts the communication contents, an effect that the replay attack cannot be performed is obtained.
また、本発明の第二の形態にかかる認証システムは、接続されたコンピュータのソフトウェア更新を制御する第一のコンピュータと、ソフトウェアを更新する対象である第二のコンピュータと、を含み、前記第二のコンピュータが、前記第一のコンピュータおよび更新ソフトウェアを認証するシステムである。 An authentication system according to a second aspect of the present invention includes a first computer that controls software update of a connected computer, and a second computer that is a target of software update, the second computer Is a system for authenticating the first computer and the update software.
具体的には、前記第一のコンピュータが、前記第二のコンピュータに対応する更新ソフトウェアを含む第一のデータと、前記更新ソフトウェアに対応する第一のダイジェストと、前記第一のコンピュータのプラットフォームに対応する第二のダイジェストと、を含むデータに、更新ソフトウェアの提供元の電子署名である第一の電子署名を付加したデータである第二のデータと、を取得し、前記第二のコンピュータに転送する転送手段と、自己の正当性を示すデータである構成証明データを取得し、前記第二のコンピュータに送信する自己証明手段と、前記第二のコンピュータが、前記更新ソフトウェアの提供元に対応する公開鍵を用いて、前記第二のデータに含まれる第一の電子署名を検証し、また、前記第二のデータに含まれる第一のダイジェストを用いて、前記更新ソフトウェアを検証し、また、前記第二のデータに含まれる第二のダイジェストを用いて前記構成証明データを検証し、前記三種類の検証によって正当性が全て確認できた場合にソフトウェア更新を行う更新手段を有することを特徴とする。 Specifically, the first computer includes first data including update software corresponding to the second computer, a first digest corresponding to the update software, and a platform of the first computer. And second data that is data obtained by adding the first electronic signature that is the electronic signature of the update software provider to the data that includes the corresponding second digest. The transfer means for transferring, the self-certification means for acquiring the configuration proof data, which is data indicating its own validity, and transmitting it to the second computer, and the second computer correspond to the provider of the update software The first digital signature included in the second data is verified using the public key to be used, and the first signature included in the second data is verified. The update software was verified using a digest, and the configuration proof data was verified using a second digest included in the second data, and the validity was confirmed by the three types of verification. In some cases, it has an update means for performing software update.
本発明の第二の形態に係る認証システムでは、更新ソフトウェアの提供を受ける際に、第一のコンピュータに対する認証を行わない。例えば、管理サーバによって事前に生成されたデータをオフラインで第一のコンピュータに投入するような形態である。
このような形態の場合、第二のコンピュータが、第一のコンピュータの真正性を確認する必要がある。そこで、本形態では、更新ソフトウェアの提供元が第二のデータを生成する際に、第一のコンピュータのプラットフォームに対応する第二のダイジェストを含ませる。また、第一のコンピュータが、構成証明データを第二のコンピュータに送信し、第二のコンピュータが、これらを突き合わせて第一のコンピュータの認証を行う。
かかる構成によると、更新ソフトウェアの提供元が想定している第一のコンピュータでしかソフトウェアの更新を行うことができなくなるため、第一の形態と同様に、セキュリティ性を確保することができる。
The authentication system according to the second aspect of the present invention does not authenticate the first computer when receiving the update software. For example, the data generated in advance by the management server is input to the first computer offline.
In such a form, the second computer needs to confirm the authenticity of the first computer. Therefore, in this embodiment, when the update software provider generates the second data, the second digest corresponding to the platform of the first computer is included. Further, the first computer transmits the configuration certification data to the second computer, and the second computer matches these to authenticate the first computer.
According to such a configuration, since the software can be updated only on the first computer assumed by the provider of the update software, the security can be ensured as in the first embodiment.
なお、本発明は、上記手段の少なくとも一部を含む認証システムとして特定することができる。また、前記認証システムが行う認証方法として特定することもできる。上記処理や手段は、技術的な矛盾が生じない限りにおいて、自由に組み合わせて実施することができる。 In addition, this invention can be specified as an authentication system containing at least one part of the said means. It can also be specified as an authentication method performed by the authentication system. The above processes and means can be freely combined and implemented as long as no technical contradiction occurs.
本発明によれば、コンピュータの保守を行う保守装置の不正な利用を防止することができる。 According to the present invention, unauthorized use of a maintenance device that performs computer maintenance can be prevented.
(第一の実施形態)
第一の実施形態における認証システムの概要について、図1を参照しながら説明する。第一の実施形態は、車両10と、車両10に搭載されたコンピュータ(ECU)に対する保守を行うための保守装置20と、管理サーバ30からなる認証システムである。保守装置20が本発明における第一のコンピュータであり、車両10に搭載されたECUが本発明における第二のコンピュータである。
(First embodiment)
An overview of the authentication system in the first embodiment will be described with reference to FIG. The first embodiment is an authentication system including a vehicle 10, a maintenance device 20 for performing maintenance on a computer (ECU) mounted on the vehicle 10, and a management server 30. The maintenance device 20 is the first computer in the present invention, and the ECU mounted on the vehicle 10 is the second computer in the present invention.
保守装置20は、車両に搭載されたECUに対してデータ解析やプログラムの更新を行うためのソフトウェアが動作するパーソナルコンピュータである。当該ソフトウェアを、本実施形態では通信ソフトウェアと称する。
第一の実施形態における保守装置20は、管理サーバ30に対して、車両10が有するECUを更新するためのソフトウェアを要求する。
この際、保守装置20は、構成証明データを生成して、電子署名とともに管理サーバに送信する。構成証明データとは、コンピュータが有するソフトウェアの正当性を示すデータであり、本実施形態では、コンピュータが記憶しているソフトウェアに対応するハッシュ値である。管理サーバは、電子署名を検証することで、送信されたデータが正当なものであること(すなわち正当なコンピュータから送信され、かつ偽造されたものでないこと)を確認し、ハッシュ値が正しいかを検証することで、コンピュータに記憶されたソフトウェアが偽造または改ざんされたものでないことを確認する。
The maintenance device 20 is a personal computer in which software for performing data analysis and program update on an ECU mounted on the vehicle operates. This software is referred to as communication software in this embodiment.
The maintenance device 20 in the first embodiment requests the management server 30 for software for updating the ECU of the vehicle 10.
At this time, the maintenance device 20 generates configuration certification data and transmits it to the management server together with the electronic signature. The configuration certification data is data indicating the validity of the software included in the computer, and in this embodiment, is a hash value corresponding to the software stored in the computer. The management server verifies the digital signature to confirm that the transmitted data is legitimate (that is, sent from a legitimate computer and not forged), and checks whether the hash value is correct. By verifying, it is confirmed that the software stored in the computer has not been forged or altered.
コンピュータ、およびコンピュータに記憶されたソフトウェアが正当なものであった場合、管理サーバは、更新パッケージを生成する。更新パッケージとは、車両10が有するECUを更新するために必要なデータの集合である。更新パッケージは、保守装置20を介して車両10に転送され、これを受信したECUが、更新パッケージが正当なものであるか否かを判定し、正当性が確認できた場合にのみ、保守装置に対して許可通知を行い、保守作業を開始する。
このように構成することで、更新ソフトウェアと保守装置の双方が正当なものであることを担保することができる。具体的なデータの内容および処理方法については後述する。
If the computer and the software stored in the computer are valid, the management server generates an update package. The update package is a set of data necessary for updating the ECU of the vehicle 10. The update package is transferred to the vehicle 10 via the maintenance device 20, and the ECU that receives the update package determines whether or not the update package is valid, and only when the validity can be confirmed, the maintenance device. A notification of permission is issued to start maintenance work.
With this configuration, it is possible to ensure that both the update software and the maintenance device are valid. Specific data contents and processing methods will be described later.
<システム構成>
以上に説明した機能を実現するための実施形態の詳細について説明する。
第一の実施形態に係る認証システムの構成を、図2〜4を参照しながら説明する。図2は車両10のシステム構成図、図3はコンピュータ20のシステム構成図、図4は管理サーバ30のシステム構成図である。
<System configuration>
Details of the embodiment for realizing the functions described above will be described.
The configuration of the authentication system according to the first embodiment will be described with reference to FIGS. 2 is a system configuration diagram of the vehicle 10, FIG. 3 is a system configuration diagram of the computer 20, and FIG. 4 is a system configuration diagram of the management server 30.
まず、車両10について説明する。車両10は、車両制御用のECUを複数搭載した自動車である。車両10には、エンジン、パワートレイン、ブレーキ、車両制御など機能別に複数のECUが備わっている。各ECUは、車内ネットワークを通して保守装置20と接続することによって、プログラムの更新やデータの解析などを行うことができるようになっている。なお、図2には、更新パッケージを取得し、その正当性を確認するための手段のみを図示し、ECUは図示していない。 First, the vehicle 10 will be described. The vehicle 10 is an automobile equipped with a plurality of vehicle control ECUs. The vehicle 10 includes a plurality of ECUs according to functions such as an engine, a power train, a brake, and vehicle control. Each ECU is connected to the maintenance device 20 through the in-vehicle network, so that the program can be updated and data can be analyzed. Note that FIG. 2 illustrates only a means for acquiring the update package and confirming its validity, and the ECU is not illustrated.
通信部11は、保守装置20と通信を行う手段である。具体的には、保守装置20から、更新パッケージを受信し、また、ソフトウェアの更新を行うためのコマンド(以下、保守コマンド)を受信する。自動車には、OBD2と呼ばれる規格の通信ポートが装備されており、通信部12は当該ポートを利用して保守装置20との有線接続を行う。
The
センタ公開鍵記憶部12は、管理サーバ30に対応する公開鍵であるセンタ公開鍵を記憶する手段である。本システムを利用する全ての車両が、対応するセンタ公開鍵を記憶している。
The center public
パッケージ検証部13は、保守装置20によって転送された更新パッケージの正当性を検証する手段である。具体的には、更新パッケージに含まれる情報(電子署名やハッシュ)を検証することで、当該更新パッケージが、管理サーバ30によって生成された真正なものであることを確認する。詳細な検証方法については後述する。
コマンド実行部14は、保守装置20から送信された保守コマンドを実行し、対象のECUに対して保守作業(例えばデータの解析やプログラムの更新など)を実行する手段である。
以上の手段は、演算処理装置(CPU)と記憶装置(ROM)を有する組込みコンピュータによって実現されてもよいし、専用に設計された電子回路によって実現されてもよい。
The
The
The above means may be realized by an embedded computer having an arithmetic processing unit (CPU) and a storage device (ROM), or may be realized by a dedicated electronic circuit.
保守装置20は、車両10に搭載されたECUと通信を行うための通信ソフトウェアが動作する、汎用のパーソナルコンピュータである。
通信部21は、前述したOBD2規格のコネクタを有する通信手段である。例えば、パーソナルコンピュータの拡張バスに装着されるインタフェースカードなどによって実現される。
通信部22は、管理サーバ30との通信を行う手段であり、移動体通信網やマルチチャネルアクセス無線を利用する通信モジュールなどによって実現される。管理サーバ30との通信は、無線通信であっても有線通信であってもよいが、セキュアな通信路を用いることが好ましい。
制御部23は、保守装置20の制御を司る手段であり、例えば、車両10に搭載されたECUに対する保守コマンドを生成および送信する機能や、管理サーバ30から取得した更新パッケージを車両10に転送する機能を実行する。
保守コマンドは、データ解析やソフトウェア更新を行うための命令であり、タッチパネルやキーボードといった入出力手段(不図示)を通して、利用者から受け付けた操作に基づいて生成される。
The maintenance device 20 is a general-purpose personal computer on which communication software for communicating with the ECU mounted on the vehicle 10 operates.
The
The
The
The maintenance command is an instruction for performing data analysis and software update, and is generated based on an operation received from a user through an input / output unit (not shown) such as a touch panel or a keyboard.
符号200は、TPMによって保護された領域を表す。TPMとは、前述したように、コンピュータに内蔵され、暗号演算に関する各種の機能を有するワンチップモジュールである。当該モジュールは、コンピュータのメインボードに直接装着されている。 Reference numeral 200 represents an area protected by the TPM. As described above, the TPM is a one-chip module that is built in a computer and has various functions related to cryptographic operations. The module is mounted directly on the computer main board.
TPM制御部201は、TPMが有する機能を制御するための手段である。本実施形態では、ソフトウェアの構成証明データの生成、および公開鍵暗号を用いた電子署名の生成を行う動作を制御する。また、TPM制御部201は、保守装置20に固有な秘密鍵(本
発明における第一の秘密鍵)を記憶している。第一の秘密鍵は、ソフトウェアおよびハードウェア的に保護された不揮発性メモリに記憶されており、電子署名の生成等に使用することはできるが、外部からのアクセス、物理的なメモリの取り出し等を行うことはできない。
構成証明生成部202は、構成証明データを生成する手段である。具体的には、保守装置20にインストールされたソフトウェアのハッシュ値を、SHA−1、SHA−256などのアルゴリズムによって計算する手段である。当該計算したハッシュ値が、本発明における構成証明データである。構成証明データを生成する具体的な例については後述する。
The TPM control unit 201 is a means for controlling the functions of the TPM. In the present embodiment, operations for generating software configuration certification data and generating an electronic signature using public key cryptography are controlled. Further, the TPM control unit 201 stores a secret key (first secret key in the present invention) unique to the maintenance device 20. The first private key is stored in software and hardware-protected non-volatile memory and can be used to generate electronic signatures, etc., but access from outside, physical memory retrieval, etc. Can not do.
The configuration
保守装置20では、以上の手段が、演算処理装置(CPU)、記憶装置(ROM)、TPM、およびその他のハードウェアによって実現される。 In the maintenance device 20, the above means is realized by an arithmetic processing unit (CPU), a storage device (ROM), a TPM, and other hardware.
管理サーバ30は、保守装置20と通信を行うサーバ装置である。
通信部31は、通信部22と同様のプロトコルを用いてデータを送受信する手段である。本実施形態では、保守装置20から構成証明データを受信し、生成した更新パッケージを保守装置20に送信する。
保守装置公開鍵記憶部32は、保守装置20に対応する公開鍵(以下、保守装置公開鍵。本発明における第一の公開鍵)を記憶する手段である。本実施形態では、保守装置公開鍵は、保守装置の個体ごとに異なり、管理サーバ30は、保守装置ごとに公開鍵を全て記憶している。なお、保守装置公開鍵は、複数の保守装置の間で共通であってもよい。
The management server 30 is a server device that communicates with the maintenance device 20.
The
The maintenance device public
構成証明検証部33は、保守装置20から送信された構成証明データの正当性を確認する手段である。具体的には、保守装置公開鍵を用いて、構成証明データに添付された電子署名を検証することで、その発信元を確認し、構成証明データを検証することで、保守装置20に記憶されているソフトウェアが正当なものであることを確認する。
このため、構成証明検証部33には、正当な保守装置が有するソフトウェアに対応するハッシュ値(以下、理想状態)が記憶されている。
The configuration
For this reason, the configuration
パッケージ生成部34は、車両に送信する更新パッケージを生成する手段である。
ここで、更新パッケージの構造について図5を参照しながら説明する。第一の実施形態では、更新パッケージは、第一のデータおよび第二のデータからなる。
第一のデータは、対象ECUのソフトウェアを更新するために用いられるバイナリファイル(本発明における更新ソフトウェア。以下、更新バイナリ)である。また、第二のデータは、更新パッケージを要求した保守装置20に対応する保守装置公開鍵と、更新バイナリのハッシュ値に、管理サーバの電子署名を付加したデータである。更新バイナリのハッシュ値は、SHA−1、SHA−256などのアルゴリズムによって計算されたものを使用する。また、パッケージ生成部34は、センタ秘密鍵記憶部35に記憶された自己の秘密鍵を用いて電子署名を生成し、追加する。
なお、本実施形態では、X.509v3による電子証明書を第二のデータとして使用する。当該規格は拡張領域を有し、更新バイナリのハッシュ値を格納することができるため、本実施形態に好適である。
The
Here, the structure of the update package will be described with reference to FIG. In the first embodiment, the update package includes first data and second data.
The first data is a binary file (update software in the present invention; hereinafter, update binary) used to update the software of the target ECU. The second data is data obtained by adding the electronic signature of the management server to the maintenance device public key corresponding to the maintenance device 20 that requested the update package and the hash value of the updated binary. The hash value of the update binary uses a value calculated by an algorithm such as SHA-1 or SHA-256. Further, the
In this embodiment, X. An electronic certificate according to 509v3 is used as the second data. This standard is suitable for this embodiment because it has an extension area and can store hash values of updated binaries.
センタ秘密鍵記憶部35は、管理サーバ30に固有な秘密鍵であるセンタ秘密鍵を記憶する手段である。
以上の構成は、演算処理装置(CPU)と記憶装置(ROM)を有するコンピュータによって構成されることが望ましいが、専用に設計されたハードウェアによって実現されてもよい。
The center secret
The above configuration is preferably configured by a computer having an arithmetic processing unit (CPU) and a storage unit (ROM), but may be realized by dedicated hardware.
<処理フロー>
次に、保守装置20が管理サーバ30に対して更新パッケージを要求する処理について説明する。図6は保守装置20が行う処理のフローチャートであり、図7は管理サーバ30が行う処理のフローチャートである。
<Processing flow>
Next, processing in which the maintenance device 20 requests an update package from the management server 30 will be described. 6 is a flowchart of processing performed by the maintenance device 20, and FIG. 7 is a flowchart of processing performed by the management server 30.
保守装置20が、対象のECUを更新する旨の指示をユーザから取得すると、図6に示した処理が開始される。
まず、ステップS11で、TPM制御部201が、構成証明生成部202を通して、自装置に対応する構成証明データを生成する。
When the maintenance device 20 obtains an instruction to update the target ECU from the user, the process shown in FIG. 6 is started.
First, in step S <b> 11, the TPM control unit 201 generates configuration certification data corresponding to its own device through the configuration
本ステップで生成する構成証明データについて詳しく説明する。
TPMは、プラットフォーム構成の計測に用いるPCR(プラットフォーム構成レジスタ:Platform Configuration Register)と呼ばれるレジスタを有している。PCRには
、現在のプラットフォームに対するハッシュ値が、プラットフォームを起動するごとに書き込まれる。PCRはハードウェアによって保護されており、利用者が任意の値に書き換えることはできない。すなわち、PCRに記録されたハッシュ値と、正当なプラットフォーム構成に対応するハッシュ値とを比較することで、プラットフォームの改ざんを検知することができる。この、PCRに記録されたハッシュ値が本発明における構成証明データである。構成証明データには、TPMに記憶されている秘密鍵(第一の秘密鍵)を用いて電子署名が付加される。この動作は構成証明(Attestation)と呼ばれ、TPMが標準で
有している機能である。TPMによって生成され、電子署名が付加された構成証明データは、外部から手を加えることができないため、第三者がこれを検証することで、プラットフォームの正当性を確認することができる。
第一の実施形態では、検証を行う対象のプラットフォームとは、保守装置20に記憶されている全てのソフトウェアを指す。すなわち、通信ソフトウェア、その他のアプリケーション、システムライブラリ、オペレーティングシステムのカーネル等を含む。
The configuration certification data generated in this step will be described in detail.
The TPM has a register called a PCR (Platform Configuration Register) used for measuring the platform configuration. In the PCR, a hash value for the current platform is written each time the platform is activated. The PCR is protected by hardware and cannot be rewritten to an arbitrary value by the user. In other words, platform tampering can be detected by comparing the hash value recorded in the PCR with the hash value corresponding to the valid platform configuration. The hash value recorded in the PCR is the configuration certification data in the present invention. An electronic signature is added to the configuration certification data using a secret key (first secret key) stored in the TPM. This operation is called “Attestation” and is a function that the TPM has as a standard. Since the configuration certification data generated by the TPM and attached with the electronic signature cannot be modified from the outside, the validity of the platform can be confirmed by a third party verifying it.
In the first embodiment, the platform to be verified refers to all software stored in the maintenance device 20. That is, communication software, other applications, system libraries, operating system kernels, and the like are included.
ステップS11の処理によって、構成証明データおよび電子署名が生成されると、制御部23は、当該データを、通信部22を介して管理サーバ30へ送信する(S12)。この際、更新対象のECUを識別するための情報を同時に送信してもよい。
When the configuration certification data and the electronic signature are generated by the process of step S11, the
ここで、図7を参照して、管理サーバ30が行う処理について説明する。管理サーバ30は、通信部31を通して構成証明データおよび電子署名を受信すると、保守装置20に対応する公開鍵を、保守装置公開鍵記憶部32から取得する(ステップS21)。前述したように、保守装置公開鍵記憶部32には、保守装置ごとに対応する公開鍵が記憶されており、受信した電子署名に対応する公開鍵を取得することができる。
Here, the processing performed by the management server 30 will be described with reference to FIG. When receiving the configuration certification data and the electronic signature through the
そして、構成証明検証部33が、構成証明データに添付された電子署名を検証する(ステップS22)。具体的には、受信データに含まれる電子署名を、取得した公開鍵を用いて復号し、受信データから得られるハッシュ値と一致するかを確認する。電子署名の検証が成功すれば、受信した構成証明データが、対応する保守装置20から送信されたものであり、改ざんされていないことが確認できる。電子署名の検証に失敗した場合、動作を終了する(S22−No)。
Then, the configuration
続いて、構成証明データに含まれるハッシュ値(保守装置が有するソフトウェアのハッシュ値)が、正当な保守装置が有するソフトウェアに対応するハッシュ値(すなわち理想状態)と一致しているかを確認する(ステップS23)。これらが一致すれば、保守装置20に記憶されているソフトウェアが正当なものであることが確認できる(S23−Yes)。ハッシュ値が一致しない場合、動作を終了する(S23−No)。
すなわち、ステップS22およびS23の結果がともにYesであれば、保守装置20が正当なものであることが確認できる。
Subsequently, it is confirmed whether the hash value (software hash value of the maintenance device) included in the configuration certification data matches the hash value (that is, ideal state) corresponding to the software of the valid maintenance device (step) S23). If they match, it can be confirmed that the software stored in the maintenance device 20 is valid (S23-Yes). If the hash values do not match, the operation ends (S23-No).
That is, if both the results of steps S22 and S23 are Yes, it can be confirmed that the maintenance device 20 is valid.
コンピュータの正当性が確認されると、パッケージ生成部34が、ECUを更新するための更新パッケージを生成する(ステップS24)。
ステップS24では、まず、保守装置へ送信する更新バイナリを選択し、第一のデータとする。次いで、当該更新バイナリに対応するハッシュ値を求める。次に、対象の保守装置20に対応する保守装置公開鍵を取得し、ハッシュ値と公開鍵からなるデータを生成したうえで、自己の秘密鍵を用いて電子署名を生成して付加する。生成されるデータの構造は図5のようになる。第一の実施形態では、このようにして生成されたデータ全体が更新パッケージとなる。
生成された更新パッケージは、通信部31を介して保守装置20へ送信される(ステップS25)。
When the validity of the computer is confirmed, the
In step S24, first, an update binary to be transmitted to the maintenance device is selected and set as first data. Next, a hash value corresponding to the updated binary is obtained. Next, a maintenance device public key corresponding to the target maintenance device 20 is acquired, data including a hash value and a public key is generated, and an electronic signature is generated and added using its own private key. The structure of the generated data is as shown in FIG. In the first embodiment, the entire data generated in this way is an update package.
The generated update package is transmitted to the maintenance device 20 via the communication unit 31 (step S25).
保守装置20が行う処理の説明(図6)に戻り、ステップS13から説明を続ける。保守装置20は、構成証明データを管理サーバ30へ送信した後、更新パッケージの受信を試みる(ステップS13)。このとき、一定時間以内に更新パッケージを受信した場合、当該更新パッケージを、通信部21を通して車両10へ転送する(ステップS14)。管理サーバからの応答がタイムアウトした場合(S13−No)、処理を終了させる。
ステップS14が完了すると、車両による更新パッケージの検証が行われ、その間、保守装置20は待ち状態となる。
Returning to the description of the processing performed by the maintenance device 20 (FIG. 6), the description will be continued from step S13. The maintenance device 20 attempts to receive the update package after transmitting the configuration certification data to the management server 30 (step S13). At this time, when the update package is received within a predetermined time, the update package is transferred to the vehicle 10 through the communication unit 21 (step S14). When the response from the management server times out (S13-No), the process is terminated.
When step S14 is completed, verification of the update package by the vehicle is performed, and during that time, the maintenance device 20 enters a waiting state.
ここで、図8を参照して、車両10が行う処理について説明する。
車両10が更新パッケージを受信すると、パッケージ検証部13が、更新パッケージに含まれる電子署名を、センタ公開鍵記憶部12に記憶されているセンタ公開鍵を用いて復号し、電子署名の検証を行う(ステップS31)。検証が失敗した場合(S32−No)、処理を終了させる。電子署名の検証が成功(S32−Yes)した場合、更新パッケージに含まれる第二のデータが、管理サーバ30から送信されたものであり、改ざんされていないことが確認できる。
次に、ステップS33で更新バイナリのハッシュ値を取得し、第二のデータに含まれるハッシュ値と一致することを確認する。ここで、ハッシュ値が一致しない場合、更新バイナリのみが書き換えられている可能性が疑われるため、処理を終了させる(S33−No)。ハッシュ値が一致した場合(S33−Yes)、受信した「更新バイナリ」「保守装置公開鍵」が共に正当なものであることがわかる。
Here, with reference to FIG. 8, the process which the vehicle 10 performs is demonstrated.
When the vehicle 10 receives the update package, the
Next, the hash value of the updated binary is acquired in step S33, and it is confirmed that it matches the hash value included in the second data. Here, if the hash values do not match, it is suspected that only the updated binary has been rewritten, so the processing is terminated (S33-No). If the hash values match (S33-Yes), it can be seen that the received "update binary" and "maintenance device public key" are both valid.
ステップS34では、パッケージ検証部13が、保守装置20との通信に用いるセッション鍵を生成する。セッション鍵には、任意の数値や文字列を使用してもよいが、リプレイ攻撃を防ぐため、セッションごとに生成した擬似乱数を用いることが好ましい。
次にステップS35で、生成したセッション鍵を、取得した保守装置公開鍵で暗号化し、保守装置20に送信する。このようにすると、更新パッケージに含まれる保守装置公開鍵に対応する保守装置でしかメッセージが復号できなくなる。すなわち、管理サーバが認識している保守装置と、車両に接続されている保守装置が同一のものでない限り、通信を行うことができなくなるため、不正な保守装置を用いた保守作業を防止することができる。
In step S <b> 34, the
In step S35, the generated session key is encrypted with the acquired maintenance device public key and transmitted to the maintenance device 20. In this way, the message can be decrypted only by the maintenance device corresponding to the maintenance device public key included in the update package. In other words, unless the maintenance device recognized by the management server and the maintenance device connected to the vehicle are the same, communication cannot be performed, thereby preventing maintenance work using an unauthorized maintenance device. Can do.
保守装置20が行う処理の説明(図6)に戻り、ステップS15から説明を続ける。
ステップS15では、車両10から、暗号化されたセッション鍵を取得し、自己の秘密鍵でこれを復号することでセッション鍵を取得する。そして、ステップS16で、保守作業を実行するためのコマンド(保守コマンド)を生成し、車両との通信を開始する。当該通信は、取得したセッション鍵を用いた秘匿通信である。
また、車両10は、保守装置20との接続が解除されるまで、当該保守装置から送信された保守コマンドを受け入れる状態となる。
Returning to the description of the processing performed by the maintenance device 20 (FIG. 6), the description will be continued from step S15.
In step S15, an encrypted session key is obtained from the vehicle 10, and a session key is obtained by decrypting the encrypted session key using its own secret key. In step S16, a command (maintenance command) for executing maintenance work is generated, and communication with the vehicle is started. The communication is a secret communication using the acquired session key.
Further, the vehicle 10 is in a state of accepting the maintenance command transmitted from the maintenance device until the connection with the maintenance device 20 is released.
<第一の実施形態の効果>
以上に示したように、本実施形態では、第一に、保守装置が構成証明データを管理サーバに送信し、管理サーバが保守装置を認証するという構成をとる。構成証明データの生成にはTPMを利用するため、攻撃者は管理サーバに対して偽りの情報を送信することができない。すなわち、保守装置のエンティティ認証を行うことができる。
また、第二に、管理サーバから送信された更新パッケージを車両が検証し、正当性を確認する。これにより、更新パッケージの差し替えによる不正利用を防ぐことができる。
また、第三に、更新パッケージに保守装置公開鍵を含ませ、当該公開鍵を用いてセッション鍵を伝送するという構成を取る。このため、管理サーバが認証した保守装置でない限り、車両との通信が行えなくなるため、接続時にもエンティティ認証を行うことができる。
このように、第一の実施形態では、データ認証とエンティティ認証を重ねて行うことで、不正な保守作業を防止することができる。
<Effect of the first embodiment>
As described above, in this embodiment, first, the maintenance device transmits the configuration certification data to the management server, and the management server authenticates the maintenance device. Since the TPM is used to generate the configuration certification data, the attacker cannot send false information to the management server. That is, the entity authentication of the maintenance device can be performed.
Second, the vehicle verifies the update package transmitted from the management server and confirms the validity. As a result, unauthorized use due to replacement of update packages can be prevented.
Third, the maintenance package public key is included in the update package, and the session key is transmitted using the public key. For this reason, unless it is a maintenance device that has been authenticated by the management server, communication with the vehicle cannot be performed, so that entity authentication can be performed even during connection.
As described above, in the first embodiment, unauthorized maintenance work can be prevented by performing data authentication and entity authentication repeatedly.
(第二の実施形態)
第一の実施形態では、保守装置20と管理サーバ30との間がオンラインで接続されており、管理サーバが保守装置を認証したうえで更新パッケージを生成した。
これに対して第二の実施形態は、管理サーバにて予め生成しておいた更新パッケージをオフラインで取り込む実施形態である。
(Second embodiment)
In the first embodiment, the maintenance device 20 and the management server 30 are connected online, and the update package is generated after the management server authenticates the maintenance device.
In contrast, the second embodiment is an embodiment in which an update package generated in advance by the management server is taken offline.
第二の実施形態では、管理サーバが、ソフトウェアの更新に用いる保守装置20を特定したうえで、事前に更新パッケージを生成する。図9は、第二の実施形態において生成される更新パッケージの構造を表した図である。第二の実施形態では、第二のデータに、第一の実施形態における「理想状態」、すなわち、真正な保守装置の構成証明によって得られるハッシュ値が追加される。 In the second embodiment, the management server specifies the maintenance device 20 used for software update, and then generates an update package in advance. FIG. 9 is a diagram showing the structure of the update package generated in the second embodiment. In the second embodiment, the “ideal state” in the first embodiment, that is, a hash value obtained by authenticating the configuration of the authentic maintenance device is added to the second data.
図10は、第二の実施形態における保守装置20の処理フローチャートである。なお、第一の実施形態と同様の処理を行うステップについては点線で図示し、説明を省略する。 FIG. 10 is a process flowchart of the maintenance device 20 in the second embodiment. In addition, about the step which performs the process similar to 1st embodiment, it shows with a dotted line and abbreviate | omits description.
ステップS11で構成証明データを生成した後、ステップS41で、管理サーバ30で生成された更新パッケージを、例えば外部記憶装置を介して保守装置20に取り込む。
そして、ステップS42で、更新パッケージと、ステップS11で生成した構成証明データを車両に送信する。
After generating the configuration certification data in step S11, in step S41, the update package generated by the management server 30 is taken into the maintenance device 20 via, for example, an external storage device.
In step S42, the update package and the configuration certification data generated in step S11 are transmitted to the vehicle.
図11は、第二の実施形態における車両10の処理フローチャートである。第二の実施形態では、車両10が、ステップS34を実行する前に、構成証明データが真正であることを確認する(ステップS51)。具体的には、第二のデータに含まれる保守装置公開鍵を用いて、取得した構成証明データの発信元を検証したうえで、更新パッケージに含まれる「理想状態」と、取得した構成証明データとを対比させ、一致しているか否かを確認する。
ここで両者が一致していない場合、保守装置20のソフトウェアが真正なものではない可能性があるため、処理を終了させる。
ステップS34およびステップS15以降の処理は、第一の実施形態と同様である。
FIG. 11 is a process flowchart of the vehicle 10 in the second embodiment. In the second embodiment, the vehicle 10 confirms that the configuration proof data is authentic before executing step S34 (step S51). Specifically, after verifying the source of the obtained configuration certification data using the maintenance device public key contained in the second data, the "ideal state" contained in the update package and the obtained configuration certification data And confirm whether they match.
Here, if the two do not match, the software of the maintenance device 20 may not be authentic, so the processing is terminated.
The processes after step S34 and step S15 are the same as those in the first embodiment.
以上説明したように、第二の実施形態では、更新パッケージに「理想状態」を含ませ、保守装置20の正当性を車両が確認する。仮に、理想状態を改ざんした場合、ステップS51にて行う検証が失敗し、また、構成証明データは、TPMモジュール内で生成されるため、改ざんすることができない。すなわち、第一の実施形態と同様に、保守装置が正当なものであることを確認することができる。 As described above, in the second embodiment, the “ideal state” is included in the update package, and the vehicle confirms the validity of the maintenance device 20. If the ideal state is tampered with, the verification performed in step S51 fails, and the configuration proof data is generated in the TPM module and cannot be tampered with. That is, as in the first embodiment, it can be confirmed that the maintenance device is valid.
(第三の実施形態)
第一および第二の実施形態では、保守装置20に記憶されている全てのソフトウェアを構成証明の対象とした。しかし、TPMが有しているプロセッサは、コンピュータに用いられている演算処理装置と比較すると低速であり、構成証明の対象が多くなると処理に時間がかかるという欠点がある。第三の実施形態は、構成証明の対象を絞ることで、ステップS11の処理時間を短縮する実施形態である。
(Third embodiment)
In the first and second embodiments, all software stored in the maintenance device 20 is the target of configuration certification. However, the processor possessed by the TPM is slower than an arithmetic processing unit used in a computer, and there is a drawback that it takes time to process if there are a large number of configuration verification targets. The third embodiment is an embodiment in which the processing time of step S11 is shortened by narrowing down the target of configuration certification.
図12は、構成証明の対象となるソフトウェアの範囲を示す図である。点線で示した範囲が、それぞれの形態における構成証明の対象範囲である。第一の実施形態では、構成証明の対象は、コンピュータに記憶されている全てのソフトウェアであるため、その範囲は図12(a)のようになる。
これに対し、通信ソフトウェアのみが正当であることを確認できればよい場合、構成証明の対象を図12(b)のように設定することができる。また、通信ソフトウェアに加えて、システムライブラリ、およびカーネルの正当性まで確認したい場合、構成証明の対象を図12(c)のように設定すればよい。
FIG. 12 is a diagram illustrating a range of software to be subject to configuration certification. The range indicated by the dotted line is the target range of the configuration proof in each form. In the first embodiment, since the target of the configuration proof is all software stored in the computer, the range is as shown in FIG.
On the other hand, if it is sufficient to confirm that only the communication software is valid, the configuration proof target can be set as shown in FIG. If it is desired to check the validity of the system library and the kernel in addition to the communication software, the configuration certification target may be set as shown in FIG.
また、ソフトウェアの改ざんを検出するソフトウェアを利用してもよい。記憶されたソフトウェアの変更を監視するソフトウェアを、オブザーバと称する。
図12(d)に示したオブザーバとは、ユーザアプリケーションの変更を検出するアプリケーションである。オブザーバは、実行を許可するアプリケーションのリストを保持し、アプリケーションが変更もしくは改ざんされた場合、即時検出することができる。アプリケーションの実行ファイルが変更されたことを検知する技術は公知であり、例えばホワイトリスト方式のアンチウイルスソフトに用いられている。そして、構成証明の対象を、オブザーバ、システムライブラリ、およびカーネルとすることで、保守装置20に記憶されている全てのソフトウェアについて変更を検知することができる。すなわち、図12(a)の範囲に対して構成証明を実施するのと同じ効果が得られる。もちろん、構成証明の対象をオブザーバのみとしてもよい。
Also, software that detects software tampering may be used. Software that monitors changes in stored software is called an observer.
The observer shown in FIG. 12D is an application that detects a change in the user application. The observer maintains a list of applications that are allowed to be executed, and can immediately detect when an application has been changed or tampered with. A technique for detecting that an execution file of an application has been changed is known, and is used in, for example, white list type anti-virus software. Then, by making the target of configuration certification the observer, the system library, and the kernel, it is possible to detect a change in all the software stored in the maintenance device 20. That is, the same effect as the configuration proof is performed for the range of FIG. Of course, the object of the configuration proof may be only the observer.
第一および第二の実施形態では、構成証明データの生成に時間がかかるという欠点があったが、第三の実施形態によると、短時間で構成証明データの生成を完了させることができる。 In the first and second embodiments, there is a drawback that it takes time to generate the configuration proof data. However, according to the third embodiment, the generation of the configuration proof data can be completed in a short time.
(変形例)
上記の実施形態はあくまでも一例であって、本発明はその要旨を逸脱しない範囲内で適宜変更して実施しうる。
例えば、各実施形態では、TPMを用いて構成証明を実施しているが、第一の秘密鍵を記憶し、ソフトウェアのハッシュ値を生成することができれば、必ずしもTPMを用いる必要は無い。例えば、任意のセキュアデバイスを用いてもよい。この他にも、ソフトウェアの正当性は、ハッシュ値以外によって確認してもよい。
(Modification)
The above embodiment is merely an example, and the present invention can be implemented with appropriate modifications within a range not departing from the gist thereof.
For example, in each embodiment, the configuration proof is performed using the TPM. However, if the first secret key can be stored and the hash value of the software can be generated, it is not always necessary to use the TPM. For example, any secure device may be used. In addition to this, the validity of the software may be confirmed by other than the hash value.
また、各実施形態では、管理サーバが保守装置公開鍵を、車両がセンタ公開鍵を保持し、電子署名による認証を行っているが、通信相手が正当であることを確認することができれば、他の方法を用いてもよい。例えば公開鍵証明書などを用い、その都度公開鍵を伝送してもよい。 Further, in each embodiment, the management server holds the maintenance device public key, the vehicle holds the center public key, and performs authentication by electronic signature. The method may be used. For example, the public key may be transmitted each time using a public key certificate.
また、第二の実施形態では、オフラインで更新パッケージを取得する例を挙げたが、更新パッケージの伝送はオンラインで行ってもよい。
また、各実施形態では、更新パッケージに保守装置公開鍵を含め、当該公開鍵を用いて
セッション鍵を伝送したが、保守装置公開鍵は必ずしも更新パッケージに含めなくても
よく、また、セッション鍵の利用も必須ではない。
また、ステップS34〜S35の処理を省略し、車両10が認証を完了した段階で、単独でソフトウェアの更新を行うようにしてもよい。
In the second embodiment, an example in which an update package is acquired offline has been described. However, an update package may be transmitted online.
In each embodiment, the maintenance device public key is included in the update package and the session key is transmitted using the public key. However, the maintenance device public key is not necessarily included in the update package, and the session key Use is not essential.
Further, the processing of steps S34 to S35 may be omitted, and the software may be updated independently when the vehicle 10 completes the authentication.
10 車両
11,21,22,31 通信部
12 センタ公開鍵記憶部
13 パッケージ検証部
14 コマンド実行部
20 保守装置
23 制御部
200 TPMモジュール
201 TPM制御部
202 構成証明生成部
30 管理サーバ
32 保守装置公開鍵記憶部
33 構成証明検証部
34 パッケージ生成部
35 センタ秘密鍵記憶部
DESCRIPTION OF SYMBOLS 10
Claims (10)
前記管理サーバが、
前記第一のコンピュータから送信された構成証明データに基づいて、前記第一のコンピュータのエンティティ認証を行い、前記第一のコンピュータが正当なものである場合に、前記第二のコンピュータに対応する更新ソフトウェアを含む第一のデータと、前記更新ソフトウェアに対応するダイジェストを含むデータに自己の電子署名を付加したデータである第二のデータと、を前記第一のコンピュータに送信する提供手段と、を有し、
前記第一のコンピュータが、
自己の正当性を示すデータである構成証明データを取得し、前記管理サーバに送信する自己証明手段と、
前記管理サーバから前記第一および第二のデータを取得し、前記第二のコンピュータに転送する転送手段と、
前記第二のコンピュータが、
前記管理サーバに対応する公開鍵を用いて、前記第二のデータに含まれる電子署名を検証し、また、前記第二のデータに含まれるダイジェストを用いて、前記更新ソフトウェアを検証し、前記二種類の検証によって正当性が全て確認できた場合にソフトウェア更新を行う更新手段と、を有する、
認証システム。 A first computer that controls software update of a connected computer; a second computer that is a target for software update; and a management server that provides update software applied to the second computer, The second computer is an authentication system for authenticating the validity of the updated software,
The management server is
Based on the configuration certification data transmitted from the first computer, entity authentication of the first computer is performed, and when the first computer is valid, the update corresponding to the second computer Providing means for transmitting to the first computer, first data including software, and second data which is data including a digest corresponding to the updated software and having its electronic signature added thereto. Have
The first computer is
Self-certification means for acquiring configuration certification data, which is data indicating the validity of the self, and transmitting the data to the management server;
Transfer means for acquiring the first and second data from the management server and transferring them to the second computer;
The second computer is
The electronic signature included in the second data is verified using a public key corresponding to the management server, the update software is verified using a digest included in the second data, and the second Updating means for performing software update when all the correctness can be confirmed by the type of verification;
Authentication system.
前記管理サーバは、前記電子署名およびダイジェストを検証することで、前記第一のコンピュータのエンティティ認証を行う、
請求項1に記載の認証システム。 The self-certifying means included in the first computer generates a digest corresponding to the platform configuration of its own device, and transmits data to which the electronic signature is added to the management server as configuration certification data.
The management server performs entity authentication of the first computer by verifying the electronic signature and digest.
The authentication system according to claim 1.
請求項2に記載の認証システム。 The self-certifying means included in the first computer is realized by a tamper-resistant device.
The authentication system according to claim 2.
前記第二のデータは、前記ダイジェストと、前記第一のコンピュータに対応する公開鍵である第一の公開鍵と、に、前記管理サーバの電子署名を付加したデータであり、
前記更新手段は、前記二種類の検証が共に成功した場合に、前記第二のデータに含まれる第一の公開鍵を用いて、前記第一のコンピュータとの秘匿通信に用いるセッション鍵を暗号化して前記第一のコンピュータに送信し、
前記更新制御手段は、暗号化されたセッション鍵を自己の秘密鍵で復号することで、秘匿通信に用いるセッション鍵を取得し、前記第二のコンピュータとの秘匿通信を行う、
請求項1から3のいずれかに記載の認証システム。 The first computer further includes update control means for instructing the second computer to update software,
The second data is data obtained by adding an electronic signature of the management server to the digest and a first public key that is a public key corresponding to the first computer.
The update means encrypts a session key used for secret communication with the first computer using the first public key included in the second data when both of the two types of verification succeed. To the first computer
The update control means obtains a session key used for secret communication by decrypting the encrypted session key with its own secret key, and performs secret communication with the second computer.
The authentication system according to any one of claims 1 to 3.
請求項4に記載の認証システム。 The session key is a pseudo-random number;
The authentication system according to claim 4.
ウェアを更新する対象である第二のコンピュータと、を含み、前記第二のコンピュータが、前記第一のコンピュータおよび更新ソフトウェアを認証する認証システムであって、
前記第一のコンピュータが、
前記第二のコンピュータに対応する更新ソフトウェアを含む第一のデータと、前記更新ソフトウェアに対応する第一のダイジェストと、前記第一のコンピュータのプラットフォームに対応する第二のダイジェストと、を含むデータに、更新ソフトウェアの提供元の電子署名である第一の電子署名を付加したデータである第二のデータと、を取得し、前記第二のコンピュータに転送する転送手段と、
自己の正当性を示すデータである構成証明データを取得し、前記第二のコンピュータに送信する自己証明手段と、
前記第二のコンピュータが、
前記更新ソフトウェアの提供元に対応する公開鍵を用いて、前記第二のデータに含まれる第一の電子署名を検証し、また、前記第二のデータに含まれる第一のダイジェストを用いて、前記更新ソフトウェアを検証し、また、前記第二のデータに含まれる第二のダイジェストを用いて前記構成証明データを検証し、前記三種類の検証によって正当性が全て確認できた場合にソフトウェア更新を行う更新手段を有する、
認証システム。 A first computer that controls software update of a connected computer; and a second computer that is a target for software update, wherein the second computer authenticates the first computer and the update software. An authentication system,
The first computer is
Data including first data including update software corresponding to the second computer, a first digest corresponding to the update software, and a second digest corresponding to the platform of the first computer. Transfer means for obtaining and transferring the second data, which is the data to which the first electronic signature that is the electronic signature of the update software provider is added, to the second computer;
Self-certification means for obtaining configuration proof data, which is data indicating the validity of the self, and transmitting the data to the second computer;
The second computer is
Using the public key corresponding to the provider of the updated software, verifying the first electronic signature included in the second data, and using the first digest included in the second data, The updated software is verified, and the configuration certification data is verified using the second digest included in the second data. When all the validity is confirmed by the three types of verification, the software update is performed. Having update means to perform,
Authentication system.
前記第一のコンピュータが有する自己証明手段は、自装置のプラットフォーム構成に対応する第三のダイジェストを生成し、自己の電子署名である第二の電子署名を加えたデータを、構成証明データとして前記第二のコンピュータに送信し、
前記更新手段は、前記第二の電子署名の検証と、前記第二のダイジェストおよび第三のダイジェストの同一性の確認と、を行うことで前記第一のコンピュータのエンティティ認証を行う、
請求項6に記載の認証システム。 The second data is data obtained by adding an electronic signature of a software provider to the first digest and the second digest,
The self-certifying means possessed by the first computer generates a third digest corresponding to the platform configuration of the self-device, and adds data to which the second electronic signature, which is its own electronic signature, is added as the configuration certification data. Send to the second computer,
The updating means performs entity authentication of the first computer by verifying the second electronic signature and confirming the identity of the second digest and the third digest.
The authentication system according to claim 6.
請求項7に記載の認証システム。 The self-certifying means included in the first computer is realized by a tamper-resistant device.
The authentication system according to claim 7.
前記第二のデータは、前記第一および第二のダイジェストと、前記第一のコンピュータに対応する公開鍵である第一の公開鍵と、に、前記更新ソフトウェアの提供元の電子署名を付加したデータであり、
前記更新手段は、前記三種類の検証が全て成功した場合に、前記第二のデータに含まれる第一の公開鍵を用いて、前記第一のコンピュータとの秘匿通信に用いるセッション鍵を暗号化して前記第一のコンピュータに送信し、
前記更新制御手段は、暗号化されたセッション鍵を自己の秘密鍵で復号することで、秘匿通信に用いるセッション鍵を取得し、前記第二のコンピュータとの秘匿通信を行う、
請求項6から8のいずれかに記載の認証システム。 The first computer further includes update control means for instructing the second computer to update software,
In the second data, an electronic signature of a provider of the update software is added to the first and second digests and a first public key that is a public key corresponding to the first computer. Data,
The update means encrypts a session key used for secret communication with the first computer using the first public key included in the second data when all of the three types of verification are successful. To the first computer
The update control means obtains a session key used for secret communication by decrypting the encrypted session key with its own secret key, and performs secret communication with the second computer.
The authentication system according to claim 6.
請求項9に記載の認証システム。 The session key is a pseudo-random number;
The authentication system according to claim 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015124991A JP6387908B2 (en) | 2015-06-22 | 2015-06-22 | Authentication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015124991A JP6387908B2 (en) | 2015-06-22 | 2015-06-22 | Authentication system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017011491A JP2017011491A (en) | 2017-01-12 |
JP6387908B2 true JP6387908B2 (en) | 2018-09-12 |
Family
ID=57764314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015124991A Active JP6387908B2 (en) | 2015-06-22 | 2015-06-22 | Authentication system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6387908B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6891571B2 (en) * | 2017-03-21 | 2021-06-18 | 株式会社リコー | Information processing system and information processing method |
JP6892504B2 (en) * | 2018-11-27 | 2021-06-23 | アドバンスド ニュー テクノロジーズ カンパニー リミテッド | Executing multi-party transactions using smart contracts |
JP7211189B2 (en) * | 2019-03-22 | 2023-01-24 | 住友電装株式会社 | Update processing system and update processing method |
CN113127020A (en) * | 2019-12-30 | 2021-07-16 | 华为技术有限公司 | Software upgrading method and device |
WO2022162797A1 (en) * | 2021-01-27 | 2022-08-04 | 日本電信電話株式会社 | Information processing device, program execution system, information processing method, and program |
JP2023160067A (en) | 2022-04-21 | 2023-11-02 | 株式会社デンソー | Electronic control device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3954271B2 (en) * | 2000-03-16 | 2007-08-08 | 本田技研工業株式会社 | Memory rewriting system for vehicle control device |
JP5101965B2 (en) * | 2007-09-25 | 2012-12-19 | 京セラ株式会社 | Receiver |
CN101645776B (en) * | 2009-08-28 | 2011-09-21 | 西安西电捷通无线网络通信股份有限公司 | Method for distinguishing entities introducing on-line third party |
JP5479408B2 (en) * | 2011-07-06 | 2014-04-23 | 日立オートモティブシステムズ株式会社 | In-vehicle network system |
-
2015
- 2015-06-22 JP JP2015124991A patent/JP6387908B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017011491A (en) | 2017-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11074371B2 (en) | Systems, methods and apparatuses for secure storage of data using a security-enhancing chip | |
US11876791B2 (en) | Message authentication with secure code verification | |
US9281949B2 (en) | Device using secure processing zone to establish trust for digital rights management | |
US9830456B2 (en) | Trust transference from a trusted processor to an untrusted processor | |
JP6387908B2 (en) | Authentication system | |
JP5703391B2 (en) | System and method for tamper resistant boot processing | |
EP2659373B1 (en) | System and method for secure software update | |
KR101795457B1 (en) | Method of initializing device and method of updating firmware of device having enhanced security function | |
JP5861597B2 (en) | Authentication system and authentication method | |
US10091183B2 (en) | Method and decision gateway for authorizing a function of an embedded control unit | |
JP6371919B2 (en) | Secure software authentication and verification | |
TW201732669A (en) | Controlled secure code authentication | |
US8756414B2 (en) | Information processing apparatus, software verification method, and software verification program | |
JP5937109B2 (en) | Method and engine control system for vehicle crime prevention | |
JP2004265026A (en) | Application authentication system and device | |
CN110795126A (en) | Firmware safety upgrading system | |
Plappert et al. | Evaluating the applicability of hardware trust anchors for automotive applications | |
NL2022902B1 (en) | Integrated circuit device for loT applications | |
JP2007535250A (en) | Authentication of equipment outside the vehicle | |
JP4321303B2 (en) | Program distribution system and in-vehicle gateway device | |
JP2015015542A (en) | Information processing system | |
Weimerskirch | Secure software flashing | |
CN115186286B (en) | Model processing method, device, equipment, readable storage medium and program product | |
Wolf | Vehicular security mechanisms | |
CN117892268A (en) | Distributed watermark embedding software protection method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180620 |
|
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: 20180717 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180730 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6387908 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |