JP2018042203A - 情報処理装置、サーバ装置、情報処理システム、移動体、および情報処理方法 - Google Patents

情報処理装置、サーバ装置、情報処理システム、移動体、および情報処理方法 Download PDF

Info

Publication number
JP2018042203A
JP2018042203A JP2016176824A JP2016176824A JP2018042203A JP 2018042203 A JP2018042203 A JP 2018042203A JP 2016176824 A JP2016176824 A JP 2016176824A JP 2016176824 A JP2016176824 A JP 2016176824A JP 2018042203 A JP2018042203 A JP 2018042203A
Authority
JP
Japan
Prior art keywords
encryption key
unit
key
ecu
encryption
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.)
Pending
Application number
JP2016176824A
Other languages
English (en)
Inventor
雄一 駒野
Yuichi Komano
雄一 駒野
川端 健
Ken Kawabata
健 川端
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2016176824A priority Critical patent/JP2018042203A/ja
Priority to EP17158225.7A priority patent/EP3293720A1/en
Priority to US15/443,727 priority patent/US10193691B2/en
Publication of JP2018042203A publication Critical patent/JP2018042203A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】簡易な構成で、暗号鍵の危殆化を抑制する。【解決手段】ECU20Aは、変換部22と、暗号化部24Aと、送信部21Bと、を備える。変換部22は、GW10A(サーバ装置)との間で共有するマスタ鍵の生成に用いるための第1暗号鍵を、GW10Aとの暗号通信に現在用いているマスタ鍵としての第2暗号鍵の生成時に用いた第1変換規則とは異なる第2変換規則を用いて変換し、新たなマスタ鍵としての第3暗号鍵を生成する。暗号化部24Aは、第2暗号鍵および第3暗号鍵に基づいて、第3暗号鍵を導出するための暗号文を生成する。送信部21Bは、暗号文を、GW10Aへ送信する。【選択図】図3

Description

本発明の実施形態は、情報処理装置、サーバ装置、情報処理システム、移動体、および情報処理方法に関する。
複数の端末間で暗号通信を行う際に用いる暗号鍵には、送信側と受信側が同一の暗号鍵を用いる対称鍵暗号処理と、送信側と受信側が異なる暗号鍵を用いる非対称鍵暗号処理と、がある。対称鍵暗号処理は、非対称鍵暗号処理に比べて暗号化の際の計算量が小さく、小型端末の処理に適する。しかし、対称鍵暗号処理の場合、送信側と受信側で同一の暗号鍵を予め共有しておく必要がある。また、共有する暗号鍵の危殆化を抑制するために、定期的に暗号鍵を更新する必要がある。
例えば、特許文献1には、ホストコンピュータとICカードの各々に、正規プログラムは読書き可能だが外部から不正な読み書きのできない格納部を設けることが開示されている。そして、特許文献1には、ホストコンピュータとICカードの各々の該格納部にマスタ鍵を格納し、定期的に更新することが開示されている。
特開平10−171717号公報
しかし、従来では、正規プログラムは読書き可能だが外部から不正な読み書きのできない格納部を別途設ける必要があり、簡易な構成で暗号鍵の危殆化を抑制することは困難であった。
本発明が解決しようとする課題は、簡易な構成で、暗号鍵の危殆化を抑制することができる、情報処理装置、サーバ装置、情報処理システム、移動体、および情報処理方法を提供することである。
実施形態の情報処理装置は、変換部と、暗号化部と、送信部と、を備える。変換部は、サーバ装置との間で共有するマスタ鍵の生成に用いるための第1暗号鍵を、前記サーバ装置との暗号通信に現在用いている前記マスタ鍵としての第2暗号鍵の生成時に用いた第1変換規則とは異なる第2変換規則を用いて変換し、新たな前記マスタ鍵としての第3暗号鍵を生成する。暗号化部は、前記第2暗号鍵および前記第3暗号鍵に基づいて、前記第3暗号鍵を導出するための暗号文を生成する。送信部は、前記暗号文を、前記サーバ装置へ送信する。
情報処理システムの概要を示す模式図。 GWおよびECUのハードウェア構成例を示すブロック図。 GWおよびECUの機能的な構成例を示すブロック図。 マスタ鍵管理DBのデータ構成の一例を示す模式図。 初期設定処理の手順の一例を示すフローチャート。 更新処理の手順の一例を示すフローチャート。 更新処理の手順の一例を示すフローチャート。 更新処理の手順の一例を示すフローチャート。 GWおよびECUの機能的な構成例を示すブロック図。 初期設定処理の手順の一例を示すフローチャート。 更新処理の手順の一例を示すフローチャート。
実施形態の情報処理システムは、例えば、移動体の一例である自動車に搭載される車載ネットワークシステム(通信システム)に適用できる。以下では、車載ネットワークシステムに含まれる車載ゲートウェイ装置(以下、「GW」と略称する)を、実施形態のサーバ装置として構成した例を説明する。また、以下では、車載ネットワークシステムに含まれる電子制御装置(ECU:Electronic Control Unit、以下、「ECU」と略称する)を、実施形態の情報処理装置として構成した例を説明する。
なお、実施形態の情報処理システムを適用可能な装置やシステムは以下の例に限らない。実施形態の情報処理システムは、通信の送信側と受信側とで暗号通信する、様々なシステムに広く適用可能である。
(第1の実施の形態)
図1は、情報処理システム1Aの概要を示す模式図である。情報処理システム1Aは、図1に示すように、GW10Aと、1または複数のECU20Aとが、ネットワークを介して接続された構成である。GW10Aは、サーバ装置の一例である。ECU20Aは、情報処理装置の一例である。
本実施の形態では、GW10Aは、本来のゲートウェイとしての機能に加えて、後述する各処理を実行する。本来のゲートウェイとしての機能は、例えば、情報処理システム1A内のサブネットワーク間の通信の中継や、情報処理システム1Aと車外のネットワークとの間の通信の中継などである。同様に、ECU20Aは、自動車Vに搭載された電子機器としての本来の機能に加えて、後述する各処理を実行する。
なお、情報処理システム1Aの通信規格は限定されない。情報処理システム1Aの通信規格は、例えば、CAN(Controller Area Network)やFlexRay(登録商標)などである。
複数のECU20Aが連携して自動車Vの制御を実施する場合、これら複数のECU20AとGW10Aは、ネットワークを介した通信を行って制御信号を送受信する。ここでいう制御信号は、自動車Vの制御を実施するために、ECU20AとGW10Aとの間で送受信される信号の総称である。ECU20AとGW10Aとの間で制御信号を送受信する際には、誤った制御が行われないようにするために、通信の正当性が保証される必要がある。自動車Vの走行中における通信では、リアルタイム性が要求されるため、通信の正当性を保証するための処理に時間をかけることができない。そこで本実施の形態では、通信の認証を短時間で行うことができるMAC(Message Authentication Code)の認証技術を利用して、GW10AとECU20Aとの間の通信の正当性を保証するものとする。
MACの認証技術は、認証に必要なMAC値を導出するために、送信側と受信側とで事前に共有されたマスタ鍵を利用する。本実施の形態では、ECU20Aの各々が、ECU20AとGW10Aとの間で共有するマスタ鍵を、種となる第1暗号鍵から生成し、暗号通信に用いる(詳細後述)。なお、情報処理システム1Aが複数のECU20Aを備えた構成である場合、ECU20Aの各々は、それぞれ固有の第1暗号鍵を保有するものとする。
図2は、GW10AおよびECU20Aのハードウェア構成例を示すブロック図である。GW10AおよびECU20Aは、例えば、ネットワークI/F8と、マイクロコントローラ9と、を備える。ネットワークI/F8は、GW10およびECU20Aをネットワークに接続するためのインタフェースである。マイクロコントローラ9は、コンピュータシステムを集積回路として組み込んだものであり、コンピュータシステム上で動作するプログラム(ソフトウェア)に従って様々な制御を実行する。GW10AおよびECU20Aの各々では、マイクロコントローラ9がネットワークI/F8を利用しながらプログラムに応じた制御を実行することにより、後述する各種の機能を実現する。
図3は、本実施の形態の情報処理システム1Aに含まれるGW10AおよびECU20Aの各々の、機能的な構成例を示すブロック図である。なお、以下では、説明を簡略化するために、1台のECU20Aを想定して説明する。しかし、実際には、情報処理システム1Aに設けられたECU20Aの各々が、後述する処理を実行する。
―ECU20A―
まず、ECU20Aについて説明する。ECU20Aは、情報処理装置の一例である。ECU20Aは、暗号通信に関わる機能的な構成要素として、例えば、送受信部21と、変換部22と、更新部23と、暗号化部24Aと、暗号化通信部25と、記憶部26と、記憶部27と、を備える。
記憶部26は、読み出し専用のメモリである。記憶部26は、例えば、マスクROM(Read−Only Memory)、EEPROM(Electrically Erasable Programmable Read−Only Memory)などの不揮発性メモリである。
記憶部26は、第1暗号鍵を予め記憶する。第1暗号鍵は、ECU20Aが保有する暗号鍵であり、GW10Aとの間で共有するマスタ鍵(後述する、第2暗号鍵、第3暗号鍵)を生成するための種鍵として用いられる。
記憶部27は、データの消去および書き換えの可能なメモリである。記憶部27は、例えば、DRAM(Dynamic RAM(Random Access Memory))や、SRAM(Static RAM)である。
記憶部27は、第2暗号鍵と、GW10Aの公開鍵またはGW10Aとの事前共有鍵と、第1変換規則と、第2変換規則と、を記憶する。
第2暗号鍵は、GW10Aとの暗号通信に現在用いているマスタ鍵である。すなわち、第2暗号鍵は、GW10Aと該ECU20Aとの間で共有され、暗号通信や認証処理に利用される。
第2暗号鍵は、第3暗号鍵によって更新される(詳細後述)。第3暗号鍵は、GW10Aとの間で共有する新たなマスタ鍵として、第1暗号鍵から生成された暗号鍵である(詳細後述)。
GW10Aの公開鍵は、ECU20AとGW10Aとの間で予め共有される。GW10Aとの事前共有鍵は、GW10AとECU20Aとの間で事前に秘密裏に共有された、暗号鍵である。事前共有鍵は、例えば、GW10AとECU20Aとの製造者が、各々の製造時に、各々の記憶部(記憶部26または記憶部27、記憶部17)に秘密裏に予め書込んでおいてもよい。
第1変換規則は、第1暗号鍵から第2暗号鍵を生成する時に用いた、変換規則である。言い換えると、第1変換規則は、GW10Aとの間で現在共有するマスタ鍵としての第2暗号鍵を、第1暗号鍵から生成するときに用いた、変換規則である。
第2変換規則は、第1暗号鍵から第3暗号鍵を生成するときに用いる、変換規則である。すなわち、第2変換規則は、GW10Aとの間で新たに共有するマスタ鍵としての第3暗号鍵を、第1暗号鍵から生成するときに用いた、変換規則である。第2変換規則は、第1変換規則とは異なる変換規則である。
第1変換規則および第2変換規則には、例えば、ハッシュ関数や、行列演算などを用いる。具体的には、第1変換規則および第2変換規則は、第1暗号鍵とCNTを連結した情報を、SHA(Secure Hash Algorithm)などのハッシュ関数に入力して出力を求める、変換規則である。なお、CNTには、第2暗号鍵または第3暗号鍵を導出した回数、あるいは、第2暗号鍵または第3暗号鍵を導出したときの時刻情報を用いればよい。また、CNTの他に、第2暗号鍵あるいは第3暗号鍵を導出するときに、乱数RNDを生成し、第1暗号鍵やCNTとともに、ハッシュ関数の入力としてもよい。この場合には、記憶部27は、ハッシュ関数のアルゴリズム、CNT、および、RNDを、変換規則(第1変換規則、第2変換規則)として記憶すればよい。
なお、第1変換規則と第2変換規則が異なる変換規則である、とは、ハッシュ関数などの関数自体が異なる事を示すものであってもよいし、各々の変換規則に含まれる、CNTやRNDなどのパラメータの少なくとも1つが異なることを示すものであってもよい。
なお、ECU20Aは、第2暗号鍵と第3暗号鍵とが同一の第1暗号鍵(種鍵)から計算されたことを検証可能な、第1変換規則と第2変換規則を用いることが好ましい。
次に、送受信部21について説明する。送受信部21は、GW10Aや他のECU20Aとの間で通信を行う。送受信部21は、受信部21Aと、送信部21Bと、を含む。
受信部21Aは、鍵設定コマンドや鍵更新コマンドなどの各種データを、GW10Aから受信する。
鍵設定コマンドは、第2暗号鍵の設定要求を示すコマンドである。本実施の形態では、GW10Aは、第2暗号鍵を未設定のECU20Aに対して、第2暗号鍵の設定要求を示す鍵設定コマンドを送信する。ECU20Aの受信部21Aは、受信した鍵設定コマンドを、変換部22へ出力する。
鍵更新コマンドは、第2暗号鍵の更新要求を示すコマンドである。本実施の形態では、GW10Aは、第2暗号鍵を設定済のECU20Aに対して、定期的に、第2暗号鍵の更新要求を示す鍵更新コマンドを送信する。ECU20Aの受信部21Aは、受信した鍵更新コマンドを、変換部22へ出力する。
送信部21Bは、端末IDと暗号文、などの各種データを、GW10Aへ送信する。端末IDは、ECU20Aの識別情報である。送信部21BがGW10Aに送信する暗号文については、詳細を後述する。
変換部22は、記憶部26に記憶されている第1暗号鍵を、第2変換規則を用いて変換することによって、第3暗号鍵を生成する。暗号化部24Aは、GW10A側で第3暗号鍵を導出するための暗号文を生成する。本実施の形態では、暗号化部24Aは、第3暗号鍵を第2暗号鍵で暗号化して、暗号文を生成する(詳細後述)。更新部23は、変換部22で生成された第3暗号鍵、または該第3暗号鍵の生成に用いた第2変換規則を、第2暗号鍵または第1変換規則として記憶部27に記憶する。
次に、変換部22、更新部23、および暗号化部24Aが実行する、初期設定処理と更新処理の各々について説明する。
初期設定処理は、第2暗号鍵が未設定の状態のECU20AとGW10Aに、該ECU20AとGW10Aとの暗号通信に用いる第2暗号鍵を設定する処理である。更新処理は、ECU20AとGW10Aとに設定された第2暗号鍵を更新する処理である。
まず、ECU20Aの変換部22、更新部23、および暗号化部24Aが実行する、初期設定処理について説明する。
変換部22は、初期設定処理を開始するか否かを判断する。本実施の形態では、変換部22は、GW10Aから受信部21Aを介して鍵設定コマンドを受信した場合に、初期設定処理を開始すると判断する。なお、変換部22は、記憶部27に第2暗号鍵または第1変換規則が未設定であるなどの所定の条件を満たした場合に、初期設定処理を開始すると判断してもよい。また、変換部22は、送信部21Bを介してGW10Aへ送信したコマンドに対するレスポンスが、第2暗号鍵の設定要求を示す場合に、初期設定処理を開始すると判断してもよい。
初期設定処理を開始する場合、変換部22は、記憶部26から、第1暗号鍵を読み出す。また、変換部22は、記憶部27から、GW10Aの公開鍵と第2変換規則を読み出す。そして、変換部22は、第1暗号鍵を、第2変換規則を用いて変換することによって、第3暗号鍵を生成する。
ここで、ECU20Aが鍵設定コマンドを受信した段階では、GW10AとECU20Aの双方には、該ECU20Aに対応する第2暗号鍵が未設定(すなわち、未格納)である。すなわち、初期設定処理がなされる前の段階では、ECU20Aは第3暗号鍵を未生成であり、第2変換規則は記憶部27に未だ格納されていない。このため、変換部22は、記憶部27からハッシュ関数のアルゴリズムを読取り、新たなCNTおよびRNDなどのパラメータを該ハッシュ関数のアルゴリズムに入力することで、第2変換規則を生成する。これによって、変換部22は、第2変換規則を読み出せばよい。
そして、変換部22は、第1暗号鍵を、第2変換規則を用いて変換することによって、第3暗号鍵を生成する。
暗号化部24Aは、変換部22で生成された第3暗号鍵を暗号化し、暗号文を生成する。暗号化部24Aは、記憶部27に格納されているGW10Aの公開鍵またはGW10Aとの事前共有鍵を用いて、変換部22で生成した第3暗号鍵を暗号化し、暗号文を生成する。
送信部21Bは、暗号化部24Aで生成された暗号文と、該ECU20Aの端末IDと、をGW10Aへ送信する。
更新部23は、変換部22で生成された第3暗号鍵を、第2暗号鍵として記憶部27に格納する。本実施の形態では、更新部23は、この第3暗号鍵の生成に用いた第2変換規則を、第1変換規則として、記憶部27に格納する。これによって、更新部23は、第2暗号鍵の未設定であったECU20Aに、第2暗号鍵または第1変換規則を設定する。
次に、ECU20Aの変換部22、更新部23、および暗号化部24Aが実行する、更新処理について説明する。
変換部22は、更新処理を開始するか否かを判断する。本実施の形態では、変換部22は、GW10Aから受信部21Aを介して鍵更新コマンドを受信した場合に、更新処理を開始すると判断する。なお、変換部22は、所定時間が経過したことを判別することで、更新処理を開始すると判断してもよい。また、変換部22は、送信部21Bを介してGW10Aへ送信したコマンドに対するレスポンスが、第2暗号鍵の更新要求を示す場合に、更新処理を開始すると判断してもよい。
鍵更新コマンドを受信した場合、変換部22は、記憶部26から、第1暗号鍵を読み出す。また、変換部22は、記憶部27から、第1変換規則を読み出す。すなわち、変換部22は、GW10Aとの暗号通信に現在用いている第2暗号鍵の生成時に用いた、第1変換規則を読み出す。
次に、変換部22が、第1変換規則とは異なる第2変換規則を生成する。例えば、変換部22は、記憶部27からハッシュ関数のアルゴリズムを読取り、新たなCNTおよびRNDなどのパラメータを該ハッシュ関数のアルゴリズムに入力することで、第2変換規則を生成する。
そして、変換部22は、第1暗号鍵を、第1変換規則を用いて変換することによって、第2暗号鍵を生成する。なお、記憶部27に第2暗号鍵が格納されている場合には、変換部22は、記憶部27から第2暗号鍵を読み出せばよい。
また、変換部22は、第1暗号鍵を、第2変換規則を用いて変換することによって、第3暗号鍵を生成する。
暗号化部24Aは、変換部22で生成された第3暗号鍵を、第2暗号鍵を用いて暗号化し、暗号文を生成する。そして、送信部21Bは、暗号化部24Aで生成された暗号文と、該ECU20Aの端末IDと、をGW10Aへ送信する。
更新部23は、変換部22で生成された第3暗号鍵の生成に用いた第2変換規則を、第1変換規則として、記憶部27に格納する。これによって、更新部23は、記憶部27に格納されている第1変換規則を更新する。なお、上述したように、更新部23は、記憶部27に記憶されている第2暗号鍵を、第3暗号鍵で更新してもよい。
これらの処理によって、GW10Aとの間で共有するマスタ鍵としての第2暗号鍵が更新される。
暗号化通信部25は、記憶部27に格納されている第2暗号鍵を、GW10Aとの暗号通信に用いて、暗号通信や認証処理を行う。このため、暗号化通信部25は、更新部23によって第2暗号鍵が更新されると、更新された第2暗号鍵を用いて、暗号通信や認証処理を行うこととなる。なお、記憶部27に、第2暗号鍵に代えて第1変換規則が格納されている場合には、暗号化通信部25は、変換部22と同様にして、第1暗号鍵から第1変換規則を用いて第2暗号鍵を生成し、暗号通信や認証処理に用いればよい。
次に、GW10Aについて説明する。
―GW10A―
GW10Aは、サーバ装置の一例である。GW10Aは、暗号通信に関わる機能的な構成要素として、例えば、送受信部11と、比較部12と、復号部13Aと、更新部14と、例外処理部15と、暗号化通信部16と、記憶部17と、を備える。
記憶部17は、各種データを記憶する。記憶部17は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。
本実施の形態では、記憶部17は、マスタ鍵管理DB17Aを予め記憶する。マスタ鍵管理DB17Aは、GW10Aが暗号通信する対象のECU20Aの端末IDを予め登録したものである。
図4は、マスタ鍵管理DB17Aのデータ構成の一例を示す模式図である。マスタ鍵管理DB17Aは、端末IDと、第2暗号鍵と、を対応づけたものである。マスタ鍵管理DB17Aのデータ形式は限定されない。本実施の形態では、マスタ鍵管理DB17Aには、GW10Aが暗号通信する対象のECU20Aの端末IDが予め登録されているものとする。また、マスタ鍵管理DB17Aには、第2暗号鍵の設定済のECU20Aについては、該ECU20Aの端末IDに対応付けて第2暗号鍵が登録される。
図3に戻り、説明を続ける。また、記憶部17は、GW10Aの公開鍵、GW10Aの秘密鍵、事前共有鍵、を予め記憶する。GW10Aの公開鍵および事前共有鍵は、上記と同様である。GW10Aの秘密鍵は、GW10Aの該公開鍵に対応する秘密鍵である。GW10Aの秘密鍵は、復号部13Aによる復号処理時に用いられる。
送受信部11は、ECU20Aとの間で通信を行う。送受信部11は、受信部11Aと、送信部11Bと、を含む。
送信部11Bは、ECU20Aへ、鍵設定コマンド、および、鍵更新コマンド、などの各種データを送信する。また、送信部11Bは、ECU20Aへ、エラーを示すエラー信号などを送信する。
受信部11Aは、ECU20Aから、該ECU20Aの端末IDと暗号文を受信する。
比較部12は、ECU20Aから受信した端末IDがマスタ鍵管理DB17Aに登録されているか否かを判断する。マスタ鍵管理DB17Aに端末IDが登録されている場合、GW10Aは、該端末IDの送信元のECU20Aを、暗号通信対象のECU20Aとして認定する。
復号部13Aは、ECU20Aから受信部11Aを介して受信した、端末IDに対応する第2暗号鍵を、マスタ鍵管理DB17Aから読取る。
受信した端末IDに対応する第2暗号鍵がマスタ鍵管理DB17Aに未設定である場合、復号部13Aは、GW10Aの秘密鍵を記憶部17から読取る。そして、復号部13Aは、読取った秘密鍵を用いて、ECU20Aから受信した暗号文を復号し、第3暗号鍵を得る。なお、復号部13Aは、記憶部17に格納されている事前共有鍵を用いて、ECU20Aから受信した暗号文を復号し、第3暗号鍵を得てもよい。
そして、更新部14は、復号部13Aで得た第3暗号鍵を、該暗号文と共に受信した端末IDに対応づけて、第2暗号鍵としてマスタ鍵管理DB17Aへ登録する。この処理によって、GW10Aには、該ECU20Aとの暗号通信に用いるマスタ鍵としての第2暗号鍵が設定された状態となる。
一方、受信した端末IDに対応する第2暗号鍵がマスタ鍵管理DB17Aに設定済である場合、復号部13Aは、該第2暗号鍵を読取る。そして、復号部13Aは、読取った第2暗号鍵を用いて、ECU20Aから受信した暗号文を復号し、第3暗号鍵を得る。
この場合、更新部14は、復号部13Aで得た第3暗号鍵を、該暗号文と共に受信した端末IDに対応づけて、第2暗号鍵としてマスタ鍵管理DB17Aへ登録する。この処理によって、GW10Aは、該端末IDによって識別されるECU20Aとの暗号通信に用いる第2暗号鍵を、第3暗号鍵で更新する。
なお、上述したように、ECU20Aにおいて、第2暗号鍵と第3暗号鍵とが同一の第1暗号鍵(種鍵)から計算されたことを検証可能な、第1変換規則と第2変換規則を用いる場合がある。この場合、GW10Aの復号部13Aは、受信した端末IDに対応する第2暗号鍵と、復号によって得られた第3暗号鍵と、の一致すべき箇所が同じであるか否か、あるいは予め定めた所定の関係をみたすか否かを検証してもよい。そして、復号部13Aは、一致すべき箇所が同じであるか所定の関係をみたす場合、これらの第2暗号鍵と第3暗号鍵とが同じ種鍵(第1暗号鍵)から生成されたと検証してもよい。ここで、予め定めた所定の関係とは、例えば、該当するビットが相補的になっている、該当するビットをビット列とみたときに所定の規則でビット位置の入替が行われている、該当するビットをビット列とみたときに所定の規則で行列変換を行った結果となっている、などである。
この場合、ECU20Aは、GW10Aへの暗号文の送信時に、第2暗号鍵と第3暗号鍵との一致箇所を示すデータを併せて送信してもよい。また、ECU20AとGW10Aの双方に、第2暗号鍵と第3暗号鍵との一致箇所あるいは所定の関係を持つ箇所を示すデータを予め記憶してもよい。
そして、GW10Aの復号部13Aでは、この一致箇所あるいは所定の関係をみたす箇所を示すデータを用いて、受信した端末IDに対応する第2暗号鍵と、復号によって得られた第3暗号鍵と、の一致すべき箇所が同じであるか否か、あるいは所定の関係をみたす箇所が所定の関係をみたすか否かを検証すればよい。
なお、GW10Aの復号部13Aは、受信した端末IDに対応する第2暗号鍵と、復号によって得られた第3暗号鍵と、の一部が同じである場合あるいは所定の関係をみたす場合に、これらの第2暗号鍵と第3暗号鍵とが同じ種鍵(第1暗号鍵)から生成されたと検証してもよい。
例外処理部15は、エラー信号を、送信部11Bを介してECU20Aへ送信する。詳細には、比較部12によって、ECU20Aから受信した端末IDがマスタ鍵管理DB17Aに設定されていないと判断された場合、例外処理部15は、該ECU20Aへエラー信号を送信する。
暗号化通信部16は、マスタ鍵管理DB17Aに設定されている端末IDに対応する第2暗号鍵を用いて、各端末IDによって識別されるECU20Aの各々と、暗号通信や認証処理を行う。このため、暗号化通信部16は、更新部14によって第2暗号鍵が更新されると、更新された第2暗号鍵を用いて、暗号通信や認証処理を行う。
次に、本実施の形態におけるGW10AおよびECU20Aの動作例について説明する。まず、初期設定処理の手順の一例を説明する。
図5は、GW10AおよびECU20Aが実行する、初期設定処理の手順の一例を示す、フローチャートである。なお、図5に示す初期設定処理が実行される前の状態では、GW10Aと、該GW10Aと通信するECU20Aと、には、該ECU20Aの第2暗号鍵が未設定であるものとする。
まず、GW10Aの送信部11Bが、鍵設定コマンドをECU20Aに送信する(ステップS100)。ECU20Aの受信部21Aは、GW10Aから鍵設定コマンドを受信する(ステップS200)。ECU20Aの変換部22は、記憶部26から第1暗号鍵を読み出し、記憶部27からGW10Aの公開鍵を読み出す(ステップS202)。
次に、ECU20Aの変換部22は、第2変換規則を読み出す(ステップS204)。変換部22は、記憶部27からハッシュ関数のアルゴリズムを読取り、新たなCNTおよびRNDなどのパラメータを該ハッシュ関数のアルゴリズムに入力することで、第2変換規則を生成する。これによって、変換部22は、第2変換規則を読み出す。
そして、ECU20Aの変換部22は、ステップS202で読み出した第1暗号鍵を、ステップS204で読み出した第2変換規則を用いて変換することによって、第3暗号鍵を生成する(ステップS206)。
次に、ECU20Aの暗号化部24Aが、ステップS206で生成された第3暗号鍵を、ステップS202で読み出したGW10Aの公開鍵を用いて暗号化し、暗号文を生成する(ステップS208)。
次に、ECU20Aの送信部21Bは、ステップS208で生成された暗号文と、当該ECU20Aの端末IDと、をGW10Aへ送信する(ステップS210)。
次に、ECU20Aの更新部23は、ステップS206で生成された第3暗号鍵の生成に用いた第2変換規則を、第1変換規則として、記憶部27に格納する(ステップS212)。
一方、GW10Aの受信部11Aは、ステップS100で鍵設定コマンドを送信した送信先のECU20Aから、該ECU20Aの端末IDと暗号文を受信する(ステップS102)。
GW10Aの比較部12は、ステップS102で受信した端末IDがマスタ鍵管理DB17Aに登録されているか否かを判断する(ステップS104)。登録されている場合(ステップS104:Yes)、ステップS106へ進む。
ステップS106では、GW10Aの復号部13Aが、GW10Aの秘密鍵を記憶部17から読取る(ステップS106)。そして、復号部13Aは、読取った秘密鍵を用いて、ステップS102で受信した暗号文を復号し、第3暗号鍵を得る(ステップS108)。次に、更新部14は、ステップS108で得た第3暗号鍵を第2暗号鍵として、ステップS102で受信した端末IDに対応づけて、マスタ鍵管理DB17Aへ登録する(ステップS110)。ステップS110の処理によって、GW10Aには、該ECU20Aとの暗号通信に用いるマスタ鍵としての第2暗号鍵が設定された状態となる。
一方、上記ステップS104で否定判断すると(ステップS104:No)、ステップS112へ進む。ステップS112では、GW10Aの例外処理部15が、例外処理を実行する(ステップS112)。例えば、ステップS112では、例外処理部15は、ステップS102の暗号文の送信元のECU20Aに対して、エラー信号を送信する。
なお、上記ステップS208では、ECU20Aの暗号化部24Aが、ステップS206で生成された第3暗号鍵を、ステップS202で読み出したGW10Aの公開鍵を用いて暗号化し、暗号文を生成した。しかし、ECU20Aの暗号化部24Aは、GW10Aの公開鍵に代えて、GW10Aとの事前共有鍵を用いて第3暗号鍵を暗号化し、暗号文を生成してもよい。
次に、本実施の形態におけるGW10AおよびECU20Aで実行する、更新処理の手順の一例を説明する。
図6は、GW10AおよびECU20Aが実行する、更新処理の手順の一例を示す、フローチャートである。なお、図6に示す更新処理が実行される前の状態では、図5に示す初期設定処理が少なくとも実行済であるものとする。
まず、GW10Aの送信部11Bが、鍵更新コマンドをECU20Aに送信する(ステップS300)。ECU20Aの受信部21Aは、GW10Aから鍵更新コマンドを受信する(ステップS400)。ECU20Aの変換部22は、記憶部26から第1暗号鍵を読み出す(ステップS402)。
次に、ECU20Aの変換部22は、第1変換規則を記憶部27から読み出す(ステップS404)。次に、ECU20Aの変換部22は、第2変換規則を生成する(ステップS406)。変換部22は、記憶部27からハッシュ関数のアルゴリズムを読取り、新たなCNTおよびRNDなどのパラメータを該ハッシュ関数のアルゴリズムに入力することで、第2変換規則を生成する。
そして、ECU20Aの変換部22は、ステップS402で読み出した第1暗号鍵を、ステップS404で読み出した第1変換規則を用いて変換することによって、第2暗号鍵を生成する(ステップS408)。
次に、ECU20Aの変換部22は、ステップS402で読み出した第1暗号鍵を、ステップS406で生成した第2変換規則を用いて変換することによって、第3暗号鍵を生成する(ステップS410)。
次に、ECU20Aの暗号化部24Aが、ステップS410で生成された第3暗号鍵を、ステップS408で生成された第2暗号鍵を用いて暗号化し、暗号文を生成する(ステップS412)。
次に、ECU20Aの送信部21Bは、ステップS412で生成された暗号文と、当該ECU20Aの端末IDと、をGW10Aへ送信する(ステップS414)。
次に、ECU20Aの更新部23は、ステップS410で生成された第3暗号鍵の生成に用いた第2変換規則を、第1変換規則として、記憶部27に格納する(ステップS416)。これによって、ECU20Aの第2暗号鍵(本実施の形態では、第1変換規則)が更新される。
一方、GW10Aの受信部11Aは、ステップS300で鍵更新コマンドを送信した送信先のECU20Aから、該ECU20Aの端末IDと暗号文を受信する(ステップS302)。
GW10Aの比較部12は、ステップS302で受信した端末IDがマスタ鍵管理DB17Aに登録されているか否かを判断する(ステップS304)。登録されている場合(ステップS304:Yes)、ステップS306へ進む。
ステップS306では、GW10Aの復号部13Aが、ステップS302で受信した端末IDに対する第2暗号鍵を、記憶部17から読取る(ステップS306)。そして、復号部13Aは、読取った第2暗号鍵を用いて、ステップS302で受信した暗号文を復号し、第3暗号鍵を得る(ステップS308)。次に、更新部14は、ステップS308で得た第3暗号鍵を第2暗号鍵として、ステップS302で受信した端末IDに対応づけて、マスタ鍵管理DB17Aへ登録する(ステップS310)。ステップS310の処理によって、GW10Aにおける、該ECU20Aとの暗号通信に用いるマスタ鍵としての第2暗号鍵が、第3暗号鍵で更新される。
一方、上記ステップS304で否定判断すると(ステップS304:No)、ステップS312へ進む。ステップS312では、GW10Aの例外処理部15が、例外処理を実行する(ステップS312)。例えば、ステップS312では、例外処理部15は、ステップS302で受信した暗号文の送信元のECU20Aに対して、エラー信号を送信する。
以上説明したように、本実施の形態のECU20Aは、変換部22と、暗号化部24Aと、送信部21Bと、を備える。変換部22は、GW10A(サーバ装置)との間で共有するマスタ鍵の生成に用いるための第1暗号鍵を、GW10Aとの暗号通信に現在用いているマスタ鍵としての第2暗号鍵の生成時に用いた第1変換規則とは異なる第2変換規則を用いて変換し、新たなマスタ鍵としての第3暗号鍵を生成する。暗号化部24Aは、第2暗号鍵および第3暗号鍵に基づいて、第3暗号鍵を導出するための暗号文を生成する。送信部21Bは、暗号文を、GW10Aへ送信する。
このように、本実施の形態のECU20Aは、種鍵である第1暗号鍵を用いて生成した第2暗号鍵を、GW10Aとの間で共有するマスタ鍵として用いる。また、ECU20Aは、種鍵である第1暗号鍵を、第2暗号鍵の生成時に用いた第1変換規則とは異なる第2変換規則を用いて変換することで、新たなマスタ鍵としての第3暗号鍵を生成する。すなわち、本実施の形態のECU20Aは、種鍵である第1暗号鍵を更新するのではなく、第1暗号鍵から生成した第2暗号鍵をマスタ鍵として用い、該第2暗号鍵を更新する。
このため、本実施の形態のECU20Aでは、マスタ鍵としての第2暗号鍵の更新や設定のための安全な読書き可能なメモリ領域を必要とせず、簡易な構成で、暗号鍵(具体的には、第2暗号鍵)の危殆化を抑制することができる。
従って、本実施の形態のECU20Aは、簡易な構成で、暗号鍵の危殆化を抑制することができる。
また、本実施の形態のECU20Aは、小型端末の処理に適した対称鍵暗号処理において、GW10Aとの間で共有するマスタ鍵としての第2暗号鍵を、安全に更新することができる。
(第2の実施の形態)
本実施の形態では、第2暗号鍵と第3暗号鍵との差分情報を暗号通信する形態を説明する。
図3は、本実施の形態の情報処理システム1Bにおける、GW10BおよびECU20Bのハードウェア構成例を示すブロック図である。以下では、第1の実施の形態と共通する構成については、同一の符号を付与して重複した説明を適宜省略し、本実施の形態に特徴的な部分についてのみ説明する。
情報処理システム1Bは、GW10AおよびECU20Aに代えて、GW10BおよびECU20Bを備える点が、情報処理システム1Aと異なる。
ECU20Bは、送受信部21と、変換部22と、更新部23と、暗号化部24Bと、暗号化通信部25と、記憶部26と、記憶部27と、を備える。ECU20Bは、暗号化部24Aに代えて、暗号化部24Bを備えた以外は、第1の実施の形態のECU20Aと同様である。
本実施の形態では、暗号化部24Bは、変換部22で生成された第3暗号鍵と、GW10Bとの暗号通信に現在用いている第2暗号鍵と、の差分情報を、第2暗号鍵で暗号化して、暗号文を生成する。そして、送信部21Bは、この暗号文と、ECU20Bの端末IDと、をGW10Bへ送信する。
なお、本実施の形態で用いる第1変換規則および第2変換規則は、第1暗号鍵をこれらの変換規則を用いて変換することで生成される第2暗号鍵と第3暗号鍵の一部が同じとなるような変換規則であることが好ましい。
具体的には、本実施の形態では、第1変換規則および第2変換規則として、以下の関係を満たすハッシュ関数を用いることが好ましい。
第3暗号鍵=KDF(FK,CNTi−1,CNT
=Hash(FK,CNTi−1)||Hash(FK,CNT
・・・式(1)
式(1)中、KDFは、鍵導出関数を示し、FKは、第1暗号鍵を示す。また、式(1)中、CNTi−1は、第2暗号鍵の導出時に用いたCNT(カウント)の値を示し、CNTは、第3暗号鍵の導出時に用いたCNTの値を示す。
上記式(1)の関係を満たすハッシュ関数を第1変換規則および第2変換規則として用いることで、第1暗号鍵から第1変換規則を用いて生成した第2暗号鍵と、第1暗号鍵から第2変換規則を用いて生成した第3暗号鍵と、の差分情報は、Hash(FK,CNT)で表せる。
このように、本実施の形態のECU20Bでは、暗号文として、第3暗号鍵を第2暗号鍵で暗号化することで生成した暗号文に代えて、第3暗号鍵と第2暗号鍵との差分情報を、第2暗号鍵で暗号化することで生成した暗号文を、GW10Bへ送信する。
このため、本実施の形態のECU20Bでは、第1の実施の形態の効果に加えて、GW10Bに送信する暗号文のデータ量の削減を、図ることができる。
具体的には、第2暗号鍵および第3暗号鍵が128ビットであると仮定すると、上記ハッシュ関数を第1変換規則および第2変換規則として用いることで、64ビットの差分情報を暗号化した暗号文をGW10Bへ送信することとなる。このため、この場合、差分情報を用いることで、64ビット分のデータ量の削減を図ることができる。
なお、送信する暗号文のデータ量の削減を図る観点から、第1変換規則および第2変換規則として、ストリーム暗号を利用してもよい。
また、本実施の形態では、第1変換規則および第2変換規則として、以下の関係を満たすハッシュ関数を用いてもよい。
第3暗号鍵=KDF(FK,CNTi−1,CNT
=T(Hash(FK,CNTi−1)||Hash(FK,CNT
・・・式(2)
式(2)中、KDF、FK、CNTi−1、およびCNTは、式(1)と同様である。式(2)中、Tは、Hash関数、行列演算を伴うアフィン変換を表す。
なお、本実施の形態で用いる第1変換規則および第2変換規則は、ハッシュ関数以外を用いたものであってもよい。例えば、第1変換規則および第2変換規則は、行列演算によって示される変換規則であってもよい。
なお、本実施の形態では、暗号化部24Bは、変換部22で生成された1つの第3暗号鍵と、GW10Bとの暗号通信に現在用いている1つの第2暗号鍵と、の差分情報を暗号化する場合を説明する。しかし、暗号化部24Bは、変換部22で生成された第3暗号鍵と、GW10Bとの暗号通信に現在および過去に用いた複数の第2暗号鍵と、の差分情報を暗号化してもよい。第3暗号鍵と、複数の第2暗号鍵と、の差分情報を用いることで、送信するデータ量の削減を、更に図ることができる。
次に、GW10Bについて説明する。GW10Bは、送受信部11と、比較部12と、復号部13Bと、更新部14と、例外処理部15と、暗号化通信部16と、記憶部17と、を備える。GW10Bは、復号部13Aに代えて、復号部13Bを備えた以外は、第1の実施の形態のGW10Aと同様である。
復号部13Bは、ECU20Bから受信部11Aを介して受信した、端末IDに対応する第2暗号鍵を、マスタ鍵管理DB17Aから読取る。
受信した端末IDに対応する第2暗号鍵がマスタ鍵管理DB17Aに未登録である場合、復号部13Bは、第1の実施の形態の復号部13Aと同様の処理を行えばよい。
一方、受信した端末IDに対応する第2暗号鍵がマスタ鍵管理DB17Aに登録済である場合、復号部13Bは、該第2暗号鍵を読取る。そして、復号部13Bは、読取った第2暗号鍵を用いて、ECU20Bから受信した暗号文を復号し、差分情報を得る。
そして、復号部13Bは、読み取った第2暗号鍵と差分情報から、第3暗号鍵を計算する。
そして、更新部14は、第1の実施の形態と同様に、得られた第3暗号鍵を、該暗号文と共に受信した端末IDに対応づけて、第2暗号鍵としてマスタ鍵管理DB17Aへ登録する。この処理によって、GW10Bは、該端末IDによって識別されるECU20Bとの暗号通信に用いる第2暗号鍵を、第3暗号鍵で更新する。
次に、本実施の形態におけるGW10BおよびECU20Bの動作例について説明する。なお、初期設定処理の手順については、第1の実施の形態と同様であるため、説明を省略する。
図7は、GW10BおよびECU20Bが実行する、更新処理の手順の一例を示す、フローチャートである。なお、図7に示す更新処理が実行される前の状態では、初期設定処理が少なくとも実行済であるものとする。
まず、GW10Bの送信部11Bが、鍵更新コマンドをECU20Bに送信する(ステップS320)。ECU20Bの受信部21Aは、GW10Bから鍵更新コマンドを受信する(ステップS420)。ECU20Bの変換部22は、記憶部26から第1暗号鍵を読み出す(ステップS422)。
次に、ECU20Bの変換部22は、第1変換規則を記憶部27から読み出す(ステップS424)。次に、ECU20Bの変換部22は、第2変換規則を生成する(ステップS426)。そして、ECU20Bの変換部22は、ステップS422で読み出した第1暗号鍵を、ステップS424で読み出した第1変換規則を用いて変換することによって、第2暗号鍵を生成する(ステップS428)。
次に、ECU20Bの変換部22は、ステップS422で読み出した第1暗号鍵を、ステップS406で生成した第2変換規則を用いて変換することによって、第3暗号鍵を生成する(ステップS430)。
次に、ECU20Bの暗号化部24Bが、ステップS430で生成された第3暗号鍵と、ステップS428で生成された第2暗号鍵と、の差分情報を計算する(ステップS432)。そして、暗号化部24Bは、ステップS432で計算した差分情報を、ステップS428で生成した第2暗号鍵を用いて暗号化し、暗号文を生成する(ステップS434)。
次に、ECU20Bの送信部21Bは、ステップS434で生成された暗号文と、当該ECU20Bの端末IDと、をGW10Bへ送信する(ステップS436)。
次に、ECU20Bの更新部23は、ステップS430で生成された第3暗号鍵の生成に用いた第2変換規則を、第1変換規則として、記憶部27に格納する(ステップS438)。これによって、ECU20Bの第2暗号鍵(本実施の形態では、第1変換規則)が更新される。
一方、GW10Bの受信部11Aは、ステップS320で鍵更新コマンドを送信した送信先のECU20Bから、該ECU20Bの端末IDと暗号文を受信する(ステップS322)。
GW10Bの比較部12は、ステップS322で受信した端末IDがマスタ鍵管理DB17Aに登録されているか否かを判断する(ステップS324)。登録されている場合(ステップS324:Yes)、ステップS326へ進む。
ステップS326では、GW10Bの復号部13Bが、ステップS322で受信した端末IDに対する第2暗号鍵を、記憶部17から読取る(ステップS326)。そして、復号部13Bは、読取った第2暗号鍵を用いて、ステップS322で受信した暗号文を復号し、差分情報を得る(ステップS328)。次に、復号部13Bは、ステップS328で得られた差分情報と、ステップS326で読み取った第2暗号鍵と、から、第3暗号鍵を計算する(ステップS330)。
次に、更新部14は、ステップS330で得た第3暗号鍵を第2暗号鍵として、ステップS322で受信した端末IDに対応づけて、マスタ鍵管理DB17Aへ登録する(ステップS332)。ステップS332の処理によって、GW10Bにおける、該ECU20Bとの暗号通信に用いるマスタ鍵としての第2暗号鍵が、第3暗号鍵で更新される。
一方、上記ステップS324で否定判断すると(ステップS324:No)、ステップS334へ進む。ステップS334では、GW10Bの例外処理部15が、例外処理を実行する(ステップS334)。例えば、ステップS334では、例外処理部15は、ステップS322で受信した暗号文の送信元のECU20Bに対して、エラー信号を送信する。
以上説明したように、本実施の形態のECU20Bでは、暗号化部24Bが、第3暗号鍵と第2暗号鍵との差分情報を、第2暗号鍵で暗号化して、暗号文を生成する。そして、送信部21Bは、この暗号文を、GW10Bへ送信する。
このため、本実施の形態のECU20Bでは、第1の実施の形態の効果に加えて、通信データ量の削減を図ることができる。
(第3の実施の形態)
本実施の形態では、第3暗号鍵の正しさを検証するための検証データを更に用いる。
図3は、本実施の形態の情報処理システム1Cにおける、GW10CおよびECU20Cのハードウェア構成例を示すブロック図である。以下では、第1の実施の形態と共通する構成については、同一の符号を付与して重複した説明を適宜省略し、本実施の形態に特徴的な部分についてのみ説明する。
情報処理システム1Cは、GW10AおよびECU20Aに代えて、GW10CおよびECU20Cを備える点が、情報処理システム1Aと異なる。
ECU20Cは、送受信部21と、変換部22と、更新部23と、暗号化部24Cと、暗号化通信部25と、記憶部26と、記憶部27と、を備える。ECU20Cは、暗号化部24Aに代えて、暗号化部24Cを備えた以外は、第1の実施の形態のECU20Aと同様である。
本実施の形態では、暗号化部24Cは、変換部22で生成された第3暗号鍵と、GW10Cとの暗号通信に現在用いている第2暗号鍵と、の差分情報を計算する。さらに、暗号化部24Cは、第3暗号鍵の正しさを検証するための検証データを生成する。
検証データには、例えば、予め定めた固定値、差分情報の反転データ、差分情報から計算されるパリティビット、差分情報と第3暗号鍵から計算される認証子、などを用いる。
そして、暗号化部24Cは、検証データと、差分情報と、を第2暗号鍵で暗号化して、暗号文を生成する。そして、送信部21Bは、この暗号文と、ECU20Cの端末IDと、をGW10Cへ送信する。
なお、本実施の形態で用いる第1変換規則および第2変換規則は、第2の実施の形態と同様の変換規則を用いることが好ましい。
ここで、第2の実施の形態では、暗号化部24Bがブロック暗号を用いて暗号化する場合には、“0”などの固定データを追加して所定の長さのデータに変換した上で、暗号通信を行う必要があった。
一方、本実施の形態では、暗号化部24Cは、ブロック暗号を用いて暗号化する場合、“0”などの固定データを追加するべき位置に、検証データを埋め込んで暗号通信すればよい。
次に、GW10Cについて説明する。GW10Cは、送受信部11と、比較部12と、復号部13Cと、更新部14と、例外処理部15と、暗号化通信部16と、記憶部17と、を備える。GW10Cは、復号部13Aに代えて、復号部13Cを備えた以外は、第1の実施の形態のGW10Aと同様である。
復号部13Cは、ECU20Cから受信部11Aを介して受信した、端末IDに対応する第2暗号鍵を、マスタ鍵管理DB17Aから読取る。
受信した端末IDに対応する第2暗号鍵がマスタ鍵管理DB17Aに未登録である場合、復号部13Cは、第1の実施の形態の復号部13Aと同様の処理を行えばよい。
一方、受信した端末IDに対応する第2暗号鍵がマスタ鍵管理DB17Aに登録済である場合、復号部13Cは、該第2暗号鍵を読取る。そして、復号部13Cは、読取った第2暗号鍵を用いて、ECU20Cから受信した暗号文を復号し、差分情報と検証データを得る。
そして、復号部13Cは、読み取った第2暗号鍵と差分情報から、第3暗号鍵を計算する。さらに、復号部13Cは、計算した第3暗号鍵が正しいか否かを、検証データを検証することで検証する。
そして、更新部14は、第3暗号鍵を正しいと検証した場合、第1の実施の形態と同様に、得られた第3暗号鍵を、該暗号文と共に受信した端末IDに対応づけて、第2暗号鍵としてマスタ鍵管理DB17Aへ登録する。この処理によって、GW10Cは、該端末IDによって識別されるECU20Cとの暗号通信に用いる第2暗号鍵を、第3暗号鍵で更新する。
次に、本実施の形態におけるGW10CおよびECU20Cの動作例について説明する。なお、初期設定処理の手順については、第1の実施の形態と同様であるため、説明を省略する。
図8は、GW10CおよびECU20Cが実行する、更新処理の手順の一例を示す、フローチャートである。なお、図8に示す更新処理が実行される前の状態では、初期設定処理が少なくとも実行済であるものとする。
まず、GW10Cの送信部11Bが、鍵更新コマンドをECU20Cに送信する(ステップS340)。ECU20Cの受信部21Aは、GW10Cから鍵更新コマンドを受信する(ステップS440)。ECU20Cの変換部22は、記憶部26から第1暗号鍵を読み出す(ステップS442)。
次に、ECU20Cの変換部22は、第1変換規則を記憶部27から読み出す(ステップS444)。次に、ECU20Cの変換部22は、第2変換規則を生成する(ステップS446)。そして、ECU20Cの変換部22は、ステップS422で読み出した第1暗号鍵を、ステップS444で読み出した第1変換規則を用いて変換することによって、第2暗号鍵を生成する(ステップS448)。
次に、ECU20Cの変換部22は、ステップS442で読み出した第1暗号鍵を、ステップS446で生成した第2変換規則を用いて変換することによって、第3暗号鍵を生成する(ステップS450)。
次に、ECU20Cの暗号化部24Cが、ステップS450で生成された第3暗号鍵と、ステップS448で生成された第2暗号鍵と、の差分情報を計算する(ステップS452)。そして、さらに、暗号化部24Cは、ステップS450で生成された第3暗号鍵と、ステップS452で計算された差分情報と、を用いて、検証データを生成する(ステップS454)。
次に、ECU20Cの暗号化部24Bは、ステップS452およびステップS454で得られた、差分情報および検証データを、ステップS448で生成した第2暗号鍵を用いて暗号化し、暗号文を生成する(ステップS456)。
次に、ECU20Cの送信部21Bは、ステップS456で生成された暗号文と、当該ECU20Cの端末IDと、をGW10Cへ送信する(ステップS458)。
次に、ECU20Cの更新部23は、ステップS450で生成された第3暗号鍵の生成に用いた第2変換規則を、第1変換規則として、記憶部27に格納する(ステップS460)。これによって、ECU20Cの第2暗号鍵(本実施の形態では、第1変換規則)が更新される。
一方、GW10Cの受信部11Aは、ステップS340で鍵更新コマンドを送信した送信先のECU20Cから、該ECU20Cの端末IDと暗号文を受信する(ステップS342)。
GW10Cの比較部12は、ステップS342で受信した端末IDがマスタ鍵管理DB17Aに登録されているか否かを判断する(ステップS344)。登録されている場合(ステップS344:Yes)、ステップS346へ進む。
ステップS346では、GW10Cの復号部13Cが、ステップS342で受信した端末IDに対する第2暗号鍵を、記憶部17から読取る(ステップS346)。そして、復号部13Cは、読取った第2暗号鍵を用いて、ステップS342で受信した暗号文を復号し、差分情報と検証データを得る(ステップS348)。次に、復号部13Cは、ステップS348で得られた差分情報と、ステップS346で読み取った第2暗号鍵と、から、第3暗号鍵を計算する(ステップS350)。
次に、GW10Cの復号部13Cが、ステップS350で得られた第3暗号鍵を、ステップS348で得られた検証データを用いて検証する(ステップS352)。第3暗号鍵を正しいと検証した場合(ステップS354:Yes)、ステップS356へ進む。ステップS356では、GW10Cの更新部14が、ステップS350で得た第3暗号鍵を第2暗号鍵として、ステップS342で受信した端末IDに対応づけて、マスタ鍵管理DB17Aへ登録する(ステップS356)。ステップS356の処理によって、GW10Cにおける、該ECU20Cとの暗号通信に用いるマスタ鍵としての第2暗号鍵が、第3暗号鍵で更新される。
一方、上記ステップS354で否定判断すると(ステップS354:No)、ステップS358へ進む。ステップS358では、GW10Cの例外処理部15が、例外処理を実行する(ステップS358)。例えば、ステップS358では、例外処理部15は、ステップS342で受信した暗号文の送信元のECU20Cに対して、エラー信号を送信する。
同様に、上記ステップS344で否定判断すると(ステップS344:No)、ステップS360へ進む。ステップS360では、GW10Cの例外処理部15が、例外処理を実行する(ステップS360)。例えば、ステップS360では、例外処理部15は、ステップS342で受信した暗号文の送信元のECU20Cに対して、エラー信号を送信する。
以上説明したように、本実施の形態のECU20Cでは、暗号化部24Cが、第3暗号鍵と第2暗号鍵との差分情報と、第3暗号鍵の正しさを検証するための検証データと、を第2暗号鍵で暗号化して、暗号文を生成する。そして、送信部21Bは、この暗号文を、GW10Cへ送信する。
このため、本実施の形態のECU20Cでは、第1の実施の形態の効果に加えて、通信データ量の削減を図ることができると共に、第2暗号鍵を更新する第3暗号鍵の正当性を保証することができる。
(第4の実施の形態)
本実施の形態では、ECU20Dが、装置固有の固有データを出力するPUF(Physically Unclonable Function)部を搭載し、PUF部から出力された固有データを用いて、種鍵である第1暗号鍵を生成する。
図9は、本実施の形態の情報処理システム1Dにおける、GW10AおよびECU20Dの各々の、機能的な構成例を示すブロック図である。以下では、第1の実施の形態と共通する構成については、同一の符号を付与して重複した説明を適宜省略し、本実施の形態に特徴的な部分についてのみ説明する。
情報処理システム1Dは、ECU20Aに代えてECU20Dを備える点が、情報処理システム1Aと異なる。
ECU20Dは、送受信部21と、変換部22Dと、更新部23と、暗号化部24Aと、暗号化通信部25と、記憶部27と、PUF部28と、補正データ生成部29と、補正部30と、を備える。
ECU20Dは、記憶部26を備えない点がECU20Aと異なる。また、ECU20Dは、変換部22に代えて、変換部22Dを備える。また、ECU20Dは、PUF部28、補正データ生成部29、および補正部30を更に備える。これらの点以外は、ECU20Dは、第1の実施の形態のECU20Aと同様である。
PUF部28は、ECU20Dに固有の固有データを出力する。詳細には、PUF部28は、物理的複製困難関数である。物理的複製困難関数は、あるデバイスに搭載されると、同一の入力からそのデバイス固有の値(固有データ)を出力する関数である。すなわち、PUF部28は、ECU20Dに固有の固有データを出力する。
補正データ生成部29は、PUF部28から出力された固有データの補正データを生成する。補正データは、PUF部28から出力された固有データを用いて、安定した第1暗号鍵を生成するためのデータである。言い換えると、補正データは、PUF部28から新たに出力される固有データに基づいて生成される第1暗号鍵が、互いに同じ第1暗号鍵であることを保証する。
補正データには、例えば、ノイズを含むデータから安定して情報を抽出することが可能なFuzzy Extractorにおける、ヘルパデータ(Helper data)を用いればよい。
補正部30は、PUF部28から出力された固有データと、補正データ生成部29で生成した補正データと、を用いて、第1暗号鍵を生成する。例えば、補正部30は、PUF部28から出力された固有データと、補正データ(例えば、ヘルパデータ)と、を組み合わせることにより、予め定めたアルゴリズムに従って、第1暗号鍵を生成する。
なお、補正データ生成部29は、初期設定処理の段階で、補正データを生成しておく。そして、更新処理の段階では、補正部30は、この補正データと、PUF部28から新たに出力された固有データと、を用いて第1暗号鍵を生成する。
変換部22Dは、補正部30で生成された第1暗号鍵を用いる以外は、第1の実施の形態の変換部22と同様にして、第3暗号鍵を生成する。
このように、本実施の形態では、ECU20Dは、第1暗号鍵を予め記憶することなく、PUF部28から出力される固有データを用いて、第1暗号鍵を生成する。このため、種鍵として用いる第1暗号鍵を予め記憶するための記憶部26を設ける必要がなく、暗号鍵の危殆化を更に抑制することができる。
次に、本実施の形態におけるGW10AおよびECU20Dの動作例について説明する。まず、初期設定処理の手順の一例を説明する。
図10は、GW10AおよびECU20Dが実行する、初期設定処理の手順の一例を示す、フローチャートである。なお、図10に示す初期設定処理が実行される前の状態では、GW10Aと、該GW10Aと通信するECU20Dと、には、該ECU20Dの第2暗号鍵が未設定であるものとする。なお、GW10Aの処理は、第1の実施の形態と同様である。
まず、GW10Aの送信部11Bが、鍵設定コマンドをECU20Dに送信する(ステップS100)。
ECU20Dの受信部21Aは、GW10Aから鍵設定コマンドを受信する(ステップS500)。ECU20Dの補正データ生成部29は、PUF部28から固有データを読出し、記憶部27からGW10Aの公開鍵を読み出す(ステップS502)。
次に、ECU20Dの補正データ生成部29が、ステップS502で読み出した固有データの、補正データを生成する(ステップS504)。そして、補正データ生成部29は、生成した補正データを、記憶部27へ記憶する。
次に、ECU20Dの補正部30が、ステップS502で読み出した固有データと、ステップS504で生成された補正データと、を用いて、第1暗号鍵を生成する(ステップS506)。
次に、ECU20Dの変換部22Dが、第1の実施の形態の変換部22と同様にして、第2変換規則を読み出す(ステップS508)。そして、ECU20Dの変換部22Dは、ステップS506で生成された第1暗号鍵を、ステップS508で読み出した第2変換規則を用いて変換することによって、第3暗号鍵を生成する(ステップS510)。
次に、ECU20Dの暗号化部24Aが、ステップS510で生成された第3暗号鍵を、ステップS502で読み出したGW10Aの公開鍵を用いて暗号化し、暗号文を生成する(ステップS512)。
次に、ECU20Dの送信部21Bは、ステップS512で生成された暗号文と、当該ECU20Dの端末IDと、をGW10Aへ送信する(ステップS514)。
次に、ECU20Dの更新部23は、ステップS510で生成された第3暗号鍵の生成に用いた第2変換規則を、第1変換規則として、記憶部27に格納する(ステップS516)。
一方、GW10Aは、第1の実施の形態のステップS102〜ステップS112と同様の処理を行う(図5も参照)。
次に、本実施の形態のGW10AおよびECU20Dが実行する、更新処理の手順の一例を説明する。
図11は、GW10AおよびECU20Dが実行する、更新処理の手順の一例を示す、フローチャートである。なお、図11に示す更新処理が実行される前の状態では、図10に示す初期設定処理が少なくとも実行済であるものとする。
まず、GW10Aの送信部11Bが、鍵更新コマンドをECU20Dに送信する(ステップS300)。ECU20Dの受信部21Aは、GW10Aから鍵更新コマンドを受信する(ステップS600)。
ECU20Dの補正部30は、PUF部28から出力される固有データと、記憶部27に記憶されている補正データと、を読出す(ステップS602)。
次に、補正部30は、ステップS602で読出した固有データと補正データを用いて、第1暗号鍵を生成する(ステップS604)。
次に、ECU20Dの変換部22Dは、第1変換規則を記憶部27から読み出す(ステップS606)。次に、ECU20Dの変換部22Dは、第2変換規則を生成する(ステップS608)。ステップS608の処理は、第1の実施の形態のステップS406と同様である(図6参照)。
次に、ECU20Dの変換部22Dは、ステップS604で生成された第1暗号鍵を、ステップS606で読み出した第1変換規則を用いて変換することによって、第2暗号鍵を生成する(ステップS610)。
次に、ECU20Dの変換部22Dは、ステップS604で生成された第1暗号鍵を、ステップS608で生成した第2変換規則を用いて変換することによって、第3暗号鍵を生成する(ステップS612)。
次に、ECU20Dの暗号化部24Aが、ステップS612で生成された第3暗号鍵を、ステップS610で生成された第2暗号鍵を用いて暗号化し、暗号文を生成する(ステップS614)。次に、ECU20Dの送信部21Bは、ステップS614で生成された暗号文と、当該ECU20Dの端末IDと、をGW10Aへ送信する(ステップS616)。次に、ECU20Dの更新部23は、ステップS612で生成された第3暗号鍵の生成に用いた第2変換規則を、第1変換規則として、記憶部27に格納する(ステップS618)。これによって、ECU20Dの第2暗号鍵(本実施の形態では、第1変換規則)が更新される。
一方、GW10Aは、ECU20Dから端末IDと暗号文を受信すると、第1の実施の形態のステップS302〜ステップS312と同様の処理を行う(ステップS302〜ステップS312)。
以上説明したように、本実施の形態のECU20Dは、PUF部28から出力される固有データを用いて第1暗号鍵を生成する。このため、本実施の形態のECU20Dは、種鍵として用いる第1暗号鍵を予め記憶するための記憶部26を設ける必要がない。このため、本実施の形態のECU20Dは、暗号鍵の危殆化を更に抑制することができる。
従って、本実施の形態のECU20Dは、第1の実施の形態の効果に加えて、更に、暗号鍵の危殆化を抑制することができる。
また、本実施の形態のECU20Dは、ECU20Dに対する不正な攻撃などによって、第1暗号鍵が漏えいするリスクの低減を図ることができる。
なお、本実施の形態では、ECU20Dの補正データ生成部29が、PUF部28から読出した固有データの補正データを生成し、記憶部27へ記憶する場合を説明した。しかし、補正データ生成のタイミングは、ECU20Dの製造段階など、ECU20Dがシステムに組み込まれる前であってもよい。この場合、ECU20Dは、補正データ生成部29を搭載しない形態であってもよい。そして、この場合、記憶部27に、補正データを予め記憶すればよい。
(変形例)
なお、上記第4の実施の形態では、ECU20Dは、更新処理の段階において、PUF部28から出力された固有データの補正データと、PUF部28から新たに出力された固有データと、から第1暗号鍵を生成する形態を説明した。
しかし、ECU20Dは、PUF部28から出力される固有データを用いて、以下の方法により第1暗号鍵を生成してもよい。
具体的には、初期設定処理において、補正データ生成部29は、第4の実施の形態と同様にして、PUF部28から出力された固有データの、補正データ(以下、一次補正データと称する)を生成する。
そして、さらに、補正データ生成部29は、該固有データと、該一次補正データを用いて、暗号鍵(以下、一次暗号鍵と称する)を生成する。例えば、補正データ生成部29は、該固有データと、該一次補正データ(ヘルパデータ)と、を組み合わせることにより、予め定めたアルゴリズムなどに従って、一次暗号鍵を生成する。
そして、補正データ生成部29は、予め記憶した第1暗号鍵を読取る。この場合、ECU20Dは、ECU20Dの初期出荷時などの段階で、第1暗号鍵を予め記憶部27などに記憶しておけばよい。補正データ生成部29は、読取った第1暗号鍵を、一次暗号鍵を用いて暗号化し、暗号文(以下、一次暗号文と称する)を生成する。
そして、補正データ生成部29は、該一次補正データと該一次暗号文とを、記憶部27に記憶する。すなわち、補正データ生成部29は、初期設定処理の段階で、一次補正データと、一次暗号文と、を作成し、記憶部27に記憶する。
そして、更新処理時には、補正部30は、PUF部28から新たに出力された固有データと、記憶部27に記憶されている一次補正データと、を用いて、上記一次暗号鍵を生成する。例えば、補正部30は、PUF部28から新たに出力された固有データと、一次補正データ(ヘルパデータ)と、を組み合わせることにより、予め定めたアルゴリズムなどに従って、一次暗号鍵を生成する。
さらに、補正部30は、生成した一次暗号鍵を用いて、記憶部27にされている一次暗号文を復号することで、種鍵として用いる第1暗号鍵を生成する。
このように、ECU20Dは、PUF部28から出力される固有データに基づいて、第1暗号鍵を復号することで、第1暗号鍵を得てもよい。
なお、本変形例では、上記第4の実施の形態と同様に、補正データ生成のタイミングが、ECU20Dの製造段階など、ECU20Dがシステムに組み込まれる前であってもよい。この場合、ECU20Dは、補正データ生成部29を搭載しない形態であってもよい。
<補足説明>
なお、GW10A、10B、10C、ECU20A、20B、20C、20Dの上述した機能は、例えば、図2に示したハードウェアとソフトウェアとの協働により実現することができる。この場合、マイクロコントローラ9がネットワークI/F8を利用しながら、ソフトウェアとして提供されるプログラムに応じた制御を実行することにより、上述した機能的な構成要素が実現される。
GW10A、10B、10C、ECU20A、20B、20C、20Dの機能的な構成要素を実現するプログラムは、例えば、マイクロコントローラ9内のメモリ領域などに予め組み込んで提供される。また、上記プログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVDなどのコンピュータ読み取り可能な記録媒体に記録されて提供されるようにしてもよい。また、上記プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記プログラムを、インターネットなどのネットワーク経由で提供または配布するように構成してもよい。なお、GW10A、10B、10C、ECU20A、20B、20C、20Dにおける上述した機能的な構成要素は、その一部または全部を、ASICやFPGAなどの専用のハードウェアを用いて実現することも可能である。
以上、本発明の実施の形態を説明したが、これらの実施の形態は例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1A、1B、1C、1D 情報処理システム
10A、10B、10C GW
11A 受信部
13A、13B、13C 復号部
14 更新部
20A、20B、20C、20D ECU
21B 送信部
22、22D 変換部
23 更新部
24A、24B 暗号化部
28 PUF部
29 補正データ生成部
30 補正部

Claims (11)

  1. サーバ装置との間で共有するマスタ鍵の生成に用いるための第1暗号鍵を、前記サーバ装置との暗号通信に現在用いている前記マスタ鍵としての第2暗号鍵の生成時に用いた第1変換規則とは異なる第2変換規則を用いて変換し、新たな前記マスタ鍵としての第3暗号鍵を生成する変換部と、
    前記第2暗号鍵および前記第3暗号鍵に基づいて、前記第3暗号鍵を導出するための暗号文を生成する暗号化部と、
    前記暗号文を、前記サーバ装置へ送信する送信部と、
    を備える、情報処理装置。
  2. 前記暗号化部は、
    前記第3暗号鍵を前記第2暗号鍵で暗号化して前記暗号文を生成する、請求項1に記載の情報処理装置。
  3. 前記暗号化部は、
    前記第3暗号鍵と前記第2暗号鍵との差分情報を、前記第2暗号鍵で暗号化して、前記暗号文を生成する、請求項1に記載の情報処理装置。
  4. 前記暗号化部は、
    前記第3暗号鍵の正しさを検証するための検証データと、前記差分情報と、を前記第2暗号鍵で暗号化して、前記暗号文を生成する、請求項3に記載の情報処理装置。
  5. 前記情報処理装置に固有の固有データを出力するPUF(Physically Unclonable Function)部から出力された前記固有データと、前記固有データの補正データと、を用いて前記第1暗号鍵を生成する補正部を更に備え、
    前記変換部は、該第1暗号鍵を、前記第2変換規則を用いて変換し、前記第3暗号鍵を生成する、
    請求項1に記載の情報処理装置。
  6. 前記情報処理装置に固有の固有データを出力するPUF部から出力された前記固有データから前記固有データの補正データを用いて生成した暗号鍵を用いて、前記第1暗号鍵を暗号化することによって生成した暗号文と、前記補正データと、を含む第1補正データに基づいて、前記第1暗号鍵を生成する補正部を更に備え
    前記変換部は、該第1暗号鍵を、前記第2変換規則を用いて変換し、前記第3暗号鍵を生成する、
    請求項1に記載の情報処理装置。
  7. 前記第3暗号鍵を、前記第2暗号鍵として更新する更新部、を備える請求項1〜請求項6の何れか1項に記載の情報処理装置。
  8. 情報処理装置との間で共有するマスタ鍵の生成に用いるための第1暗号鍵を、前記情報処理装置との暗号通信に現在用いている前記マスタ鍵としての第2暗号鍵の生成時に用いた第1変換規則とは異なる第2変換規則を用いて変換した、新たな前記マスタ鍵としての第3暗号鍵と、前記第2暗号鍵と、に基づいて生成された、前記第3暗号鍵を導出するための暗号文を、前記情報処理装置から受信する受信部と、
    前記暗号文を、前記第2暗号鍵を用いて復号し、前記第3暗号鍵を得る復号部と、
    前記第3暗号鍵を、前記情報処理装置との間で共有する前記第2暗号鍵として更新する更新部と、
    を備える、サーバ装置。
  9. 請求項1〜請求項7の何れか1項に記載の情報処理装置と、
    前記サーバ装置と、
    を備えた情報処理システム。
  10. 請求項9に記載の情報処理システムを搭載した移動体。
  11. サーバ装置との間で共有するマスタ鍵の生成に用いるための第1暗号鍵を、前記サーバ装置との暗号通信に現在用いている前記マスタ鍵としての第2暗号鍵の生成時に用いた第1変換規則とは異なる第2変換規則を用いて変換し、新たな前記マスタ鍵としての第3暗号鍵を生成するステップと、
    前記第2暗号鍵および前記第3暗号鍵に基づいて、前記第3暗号鍵を導出するための暗号文を生成するステップと、
    前記暗号文を、前記サーバ装置へ送信するステップと、
    を含む情報処理方法。
JP2016176824A 2016-09-09 2016-09-09 情報処理装置、サーバ装置、情報処理システム、移動体、および情報処理方法 Pending JP2018042203A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016176824A JP2018042203A (ja) 2016-09-09 2016-09-09 情報処理装置、サーバ装置、情報処理システム、移動体、および情報処理方法
EP17158225.7A EP3293720A1 (en) 2016-09-09 2017-02-27 Information processing device, server device, information processing system, moving object and information processing method
US15/443,727 US10193691B2 (en) 2016-09-09 2017-02-27 Information processing device, server device, information processing system, moving object, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016176824A JP2018042203A (ja) 2016-09-09 2016-09-09 情報処理装置、サーバ装置、情報処理システム、移動体、および情報処理方法

Publications (1)

Publication Number Publication Date
JP2018042203A true JP2018042203A (ja) 2018-03-15

Family

ID=58192133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016176824A Pending JP2018042203A (ja) 2016-09-09 2016-09-09 情報処理装置、サーバ装置、情報処理システム、移動体、および情報処理方法

Country Status (3)

Country Link
US (1) US10193691B2 (ja)
EP (1) EP3293720A1 (ja)
JP (1) JP2018042203A (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016046719A (ja) * 2014-08-25 2016-04-04 株式会社東芝 データ生成装置、通信装置、移動体、データ生成方法およびプログラム
US10560263B2 (en) * 2017-03-24 2020-02-11 Micron Technology, Inc. Secure memory arrangements
DE102018213038A1 (de) * 2018-08-03 2020-02-06 Continental Teves Ag & Co. Ohg Verfahren zum fahrzeuginternen Verwalten von kryptographischen Schlüsseln
DE102018214354A1 (de) * 2018-08-24 2020-02-27 Robert Bosch Gmbh Erstes fahrzeugseitiges Endgerät, Verfahren zum Betreiben des ersten Endgeräts, zweites fahrzeugseitiges Endgerät und Verfahren zum Betreiben des zweiten fahrzeugseitigen Endgeräts
CN109698746B (zh) * 2019-01-21 2021-03-23 北京邮电大学 基于主密钥协商生成绑定设备的子密钥的方法和系统
US11838416B2 (en) * 2019-04-12 2023-12-05 Kabushiki Kaisha Tokai Rika Denki Seisakusho Communication system and control device
DE102019212959B3 (de) * 2019-08-28 2021-03-04 Volkswagen Aktiengesellschaft Verfahren zur geschützten Kommunikation eines Fahrzeugs mit einem externen Server, Vorrichtung zur Durchführung der Schlüsselableitung bei dem Verfahren sowie Fahrzeug
CN113806827A (zh) * 2020-06-15 2021-12-17 卓品智能科技无锡有限公司 一种基于sm2硬件加密的总线线控方法
SE2250569A1 (en) * 2022-05-11 2023-11-12 Scania Cv Ab Methods and control arrangements for replacing a compromised certificate authority asymmetric key pair used by vehicles
US20240118880A1 (en) * 2022-10-11 2024-04-11 Ford Global Technologies, Llc Transmission of authentication keys

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004222420A (ja) * 2003-01-15 2004-08-05 Kokusan Denki Co Ltd モータ駆動装置
JP2013003431A (ja) * 2011-06-20 2013-01-07 Renesas Electronics Corp 半導体装置及び半導体装置へのデータ書き込み方法
JP2014222420A (ja) * 2013-05-13 2014-11-27 株式会社メガチップス 半導体記憶装置及びデータ処理システム
JP2016134671A (ja) * 2015-01-16 2016-07-25 株式会社東芝 データ生成装置、通信装置、通信システム、移動体、データ生成方法およびプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10171717A (ja) 1996-12-05 1998-06-26 Matsushita Electric Ind Co Ltd Icカードおよびそれを用いた暗号通信システム
JP5392741B2 (ja) 2008-04-21 2014-01-22 独立行政法人産業技術総合研究所 Rsaをベースとしたパスワード認証方式及びその応用
JP5288901B2 (ja) 2008-06-23 2013-09-11 三菱電機株式会社 鍵管理サーバ、端末、通信システム、鍵配信方法、鍵配信プログラム、鍵受信方法及び鍵受信プログラム
CN103141055A (zh) 2011-01-25 2013-06-05 三洋电机株式会社 通信装置
JP5367039B2 (ja) * 2011-09-30 2013-12-11 株式会社東芝 サーバ装置及びプログラム
JP5395938B1 (ja) * 2012-09-25 2014-01-22 株式会社東芝 連携サービス提供システム及びサーバ装置
US8997198B1 (en) * 2012-12-31 2015-03-31 Emc Corporation Techniques for securing a centralized metadata distributed filesystem
GB201309577D0 (en) * 2013-05-29 2013-07-10 Barclays Bank Plc Linked registration
JP6178142B2 (ja) 2013-07-12 2017-08-09 株式会社東芝 生成装置、方法およびプログラム
JP6523143B2 (ja) 2015-11-13 2019-05-29 株式会社東芝 データ配布装置、通信システム、移動体およびデータ配布方法
JP6502832B2 (ja) 2015-11-13 2019-04-17 株式会社東芝 検査装置、通信システム、移動体および検査方法
US9946720B1 (en) * 2015-12-04 2018-04-17 Ionu Security, Inc. Searching data files using a key map

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004222420A (ja) * 2003-01-15 2004-08-05 Kokusan Denki Co Ltd モータ駆動装置
JP2013003431A (ja) * 2011-06-20 2013-01-07 Renesas Electronics Corp 半導体装置及び半導体装置へのデータ書き込み方法
JP2014222420A (ja) * 2013-05-13 2014-11-27 株式会社メガチップス 半導体記憶装置及びデータ処理システム
JP2016134671A (ja) * 2015-01-16 2016-07-25 株式会社東芝 データ生成装置、通信装置、通信システム、移動体、データ生成方法およびプログラム

Also Published As

Publication number Publication date
US10193691B2 (en) 2019-01-29
EP3293720A1 (en) 2018-03-14
US20180076959A1 (en) 2018-03-15

Similar Documents

Publication Publication Date Title
JP2018042203A (ja) 情報処理装置、サーバ装置、情報処理システム、移動体、および情報処理方法
JP6345157B2 (ja) 車載情報通信システム及び認証方法
US9054880B2 (en) Information processing device, controller, key issuing authority, method for judging revocation list validity, and key issuing method
US11082228B2 (en) Reuse system, key generation device, data security device, in-vehicle computer, reuse method, and computer program
CN106330856B (zh) 听力设备和听力设备通信的方法
US7657739B2 (en) Authentication system
CN108323229B (zh) 用于基于位置的服务的安全ble广播系统
JP5992104B2 (ja) 機器認証システム、メーカ鍵生成装置、機器鍵生成装置、製造機器、連携認証装置、機器再生鍵生成装置、機器認証方法および機器認証プログラム
WO2016098303A1 (ja) 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法
US20090316909A1 (en) Utilization apparatus, servicer apparatus, service utilization system, service utilization method, service utilization program, and integrated circuit
JP6523143B2 (ja) データ配布装置、通信システム、移動体およびデータ配布方法
JP6512023B2 (ja) 通信システム、送信ノード、及び受信ノード
CN109428715B (zh) 数据接收设备、数据传输系统和密钥生成设备
JP6625293B2 (ja) 鍵管理装置および通信機器
JP2005268931A (ja) 情報セキュリティ装置及び情報セキュリティシステム
US11853465B2 (en) Securing data stored in a memory of an IoT device during a low power mode
JP6888122B2 (ja) 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム
JP2021145205A (ja) 認証システム
CN108632037B (zh) 公钥基础设施的公钥处理方法及装置
CN110100412B (zh) 反向计算模糊提取器和用于认证的方法
JP2007215154A (ja) 電子機器、機器認証管理方法および機器認証管理プログラム
JP2018110355A (ja) システム及び情報の書込方法
JP4496506B2 (ja) 暗号化コンテンツ送信装置
JP6732698B2 (ja) 追加データ付き認証暗号システム、暗号化装置、復号装置、追加データ付き認証暗号方法、およびプログラム
JP2004112538A (ja) 鍵の更新が可能な利用者の識別情報に基づく鍵配送方法及び鍵配送システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190822

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200128