JP5930030B2 - 通信プログラム、通信装置、および通信方法 - Google Patents

通信プログラム、通信装置、および通信方法 Download PDF

Info

Publication number
JP5930030B2
JP5930030B2 JP2014522348A JP2014522348A JP5930030B2 JP 5930030 B2 JP5930030 B2 JP 5930030B2 JP 2014522348 A JP2014522348 A JP 2014522348A JP 2014522348 A JP2014522348 A JP 2014522348A JP 5930030 B2 JP5930030 B2 JP 5930030B2
Authority
JP
Japan
Prior art keywords
key
identification information
keys
server
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014522348A
Other languages
English (en)
Other versions
JPWO2014002280A1 (ja
Inventor
丸山 秀史
秀史 丸山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2014002280A1 publication Critical patent/JPWO2014002280A1/ja
Application granted granted Critical
Publication of JP5930030B2 publication Critical patent/JP5930030B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)

Description

本発明は、通信プログラム、通信装置、および通信方法に関する。
従来、サーバおよびクライアント間で、共通鍵暗号方式を用いて通信を行う技術がある。たとえば、クライアントサーバシステムにおいて、世代の異なる複数の所定の共通鍵を格納するための鍵格納手段をクライアントとサーバが有し、複数の所定の共通鍵のうちの1つの共通鍵を用いて通信を行う技術がある。
また、関連する技術として、たとえば、車両内の車載器とサーバの通信において、車載機の情報の書換え資格の認証に携帯機を用いるものがある。また、電話回線網やInternet Protocol(IP)通信網を利用する情報通信装置から車載器に通信状態を移行させる、または車載器から情報通信装置に通信状態を移行させる技術がある。
また、サーバと通信端末間、および通信端末と制御対象となる装置間で共通鍵暗号方式を用いる技術がある。また、サーバと通信端末間で共通鍵を用いて通信し、サーバは、通信端末からの接続要求があり、かつ、通信端末が共通鍵を保有していないことが確認された場合に、共通鍵を送信する技術がある。また、サーバと通信端末間において、データに対する共通鍵が更新された場合、更新後の共通鍵を更新前の共通鍵で暗号化し通信端末に送信する技術が開示されている(たとえば、下記特許文献1〜6を参照。)。
特開2003−174444号公報 特開2008−59450号公報 特開2009−267562号公報 特開2001−249899号公報 特開2003−244123号公報 特開2008−67074号公報
しかしながら、従来技術において、同じ共通鍵を用いて通信先と通信するほど、その共通鍵が第3者に漏洩する可能性が高まる。このため、共通鍵の変更時に、通信先との通信に繰り返し用いられた共通鍵を用いて次の共通鍵を暗号化して送信すると、次の共通鍵が第3者に漏洩する可能性が高まる。
1つの側面では、本発明は、通信の安全性を向上させることを目的とする。
一態様の通信プログラムは、共通鍵暗号方式に用いられる複数の鍵のうちのいずれかの鍵を用いて暗号化された暗号化データといずれかの鍵の識別情報とを通信先装置から受け付け、受け付けたいずれかの鍵の識別情報から、複数の鍵の各々の鍵ごとに各々の鍵と各々の鍵の識別情報とを記憶する記憶部を参照して、いずれかの鍵の識別情報に対応付けていずれかの鍵の次に用いる鍵の識別情報が記憶されているか否かを判定し、次に用いる鍵の識別情報が記憶されていない場合、記憶部に記憶されている複数の鍵のうちのいずれかの鍵とは異なる他の鍵と他の鍵の識別情報とを取得し、記憶部に記憶されているいずれかの鍵の識別情報に対応付けて、取得した他の鍵の識別情報を格納し、取得した他の鍵と他の鍵の識別情報とを、記憶部に記憶されているいずれかの鍵を用いて暗号化し、暗号化した他の鍵と、暗号化した他の鍵の識別情報と、いずれかの鍵の識別情報とを通信先装置に送信する。
本発明の一態様によれば、通信の安全性を向上させるという効果を奏する。
図1は、本実施の形態にかかる通信システムの動作例を示す説明図である。 図2は、通信システムの接続例を示す説明図である。 図3は、通信システムのハードウェア構成例を示すブロック図である。 図4は、サーバ基盤データ管理テーブルの記憶内容の一例を示す説明図である。 図5は、サーバ位置付け管理テーブルの記憶内容の一例を示す説明図である。 図6は、端末基盤データ管理テーブルの記憶内容の一例を示す説明図である。 図7は、端末位置付け管理テーブルの記憶内容の一例を示す説明図である。 図8は、初期登録処理による初期登録情報の記憶内容の一例を示す説明図である。 図9は、通信システムのメッセージフォーマットの一例を示す説明図である。 図10は、車載器からサーバへのメッセージデータのフォーマットの一例を示す説明図である。 図11は、サーバから車載器へのメッセージデータのフォーマットの一例を示す説明図である。 図12は、サーバの機能例を示すブロック図である。 図13は、ECU情報登録時の動作例を示す説明図である。 図14は、鍵の世代番号更新時の動作例を示す説明図である。 図15は、新規世代番号の基盤データをサーバと車載器間で共有する際の動作例を示す説明図である。 図16は、新規世代番号の基盤データの共有完了をサーバに送信する際の動作例を示す説明図である。 図17は、サーバによる初期登録処理手順の一例を示すフローチャートである。 図18は、車載器による初期登録処理手順の一例を示すフローチャートである。 図19は、利用者端末によるメッセージ処理手順の一例を示すフローチャートである。 図20は、サーバからの返信メッセージに対する車載器による処理手順の一例を示すフローチャートである。 図21は、車載器によるECU情報登録要求生成処理手順の一例を示すフローチャートである。 図22は、車載器によるECU情報登録要求メッセージ送信処理手順の一例を示すフローチャートである。 図23は、車載器によるサーバからの返信メッセージに対する改ざん検出処理手順の一例を示すフローチャートである。 図24は、サーバによるメッセージ処理手順の一例を示すフローチャートである。 図25は、サーバによる通常メッセージ処理手順の一例を示すフローチャートである。 図26は、サーバによる新規世代番号設定処理手順の一例を示すフローチャートである。 図27は、サーバによる基盤データ生成処理手順の一例を示すフローチャートである。 図28は、サーバによる変更後世代番号設定メッセージ送信処理手順の一例を示すフローチャートである。 図29は、サーバによる新規世代番号設定メッセージ送信処理手順の一例を示すフローチャートである。 図30は、サーバによる返信メッセージ送信処理手順の一例を示すフローチャートである。 図31は、サーバによるサーバ改ざん検出処理手順の一例を示すフローチャートである。
以下に添付図面を参照して、開示の通信プログラム、通信装置、および通信方法の実施の形態を詳細に説明する。また、本実施の形態にかかる通信装置の例として、本実施の形態にかかる通信システムに含まれるサーバを用いて説明を行う。
図1は、本実施の形態にかかる通信システムの動作例を示す説明図である。本実施の形態にかかる通信システム100は、サーバ101と、通信先装置となり車両内にある車載器102とを含む。サーバ101と車載器102は、共通鍵暗号方式によりデータをやり取りする。共通鍵暗号方式とは、データを暗号化する処理と暗号化したデータを復号する処理とにおいて同一内容の鍵を用いる暗号方式である。本実施の形態にかかる通信システム100は、Electric Control Unit(ECU)情報の送受信に適用した場合の例を用いて説明する。
始めに、サーバ101は、現在用いている共通鍵として、鍵111−1#Sと鍵111−1を識別する識別情報112−1#Sを記憶する。また、車載器102は、鍵111−1#Cと、鍵111−1を識別する識別情報112−1#Cを記憶する。識別情報112−1#S、識別情報112−1#Cは、鍵111−1を識別する情報として、たとえば、「1」というデータが格納されている。
以下、「#S」と「#C」について、「#S」が付与された情報はサーバ101に記憶されていることを意味し、「#C」が付与された情報は車載器102に記憶されていることを意味する。また、「#S」と「#C」の前の符号が同一である場合、同一データであることとする。たとえば、鍵111−1#Sと鍵111−1#Cは同一データである。また、図1〜図31にて、ハッチがかかっているデータは、暗号化されているデータとする。
図1の(A)にて、サーバ101は、車載器102から、鍵111−1#Cを用いてECU情報120を暗号化した暗号化データ121と、識別情報112−1#Cを受け付ける。受け付けた後、サーバ101は、識別情報112−1#Cから、識別情報112−1の次に用いる鍵の識別情報が記憶されているかを判断する。
図1の(B)にて、サーバ101は、識別情報112−1の次に用いる鍵の識別情報が記憶されていないことを判断し、次の鍵として、鍵111−2#Sと鍵111−2を識別する識別情報112−2#Sを取得する。識別情報112−2#Sは、鍵111−2を識別する情報として、たとえば、「2」というデータが格納されている。
また、具体的な取得方法は、予めサーバ101の記憶領域内に生成してあった鍵と鍵を識別する識別情報を取得してもよいし、次に用いる鍵の識別情報が記憶されていないことを判断した後に、鍵を生成してもよい。サーバ101は、取得した鍵111−2#Sと鍵111−2を識別する識別情報112−2#Sをサーバ101の記憶領域に格納する。
図1の(C)にて、サーバ101は、鍵111−2#Sと、識別情報112−2#Sとを、鍵111−1#Sを用いて暗号化し、暗号化したデータ122と、識別情報112−1#Sとを車載器102に送信する。
このように、本実施の形態にかかる通信システム100は、通信先からの暗号文の受信の度に、いずれかの鍵の次の鍵が無ければ次の鍵を設定して次の鍵をいずれかの鍵で暗号化して送信する。続けて、図2〜図31を用いて、通信システム100に関する説明を行う。
図2は、通信システムの接続例を示す説明図である。通信システム100は、サーバ101と、車載器102と、利用者端末201と、を含む。サーバ101と、利用者端末201は、ネットワーク211で相互に接続されている。また、利用者端末201は、ネットワーク211と無線通信を行っている。また、利用者端末201と車載器102は、近距離無線通信を行っている。または、利用者端末201と車載器102は、有線接続を行ってもよい。また、車載器102は、車両Bに取り付けられている。車両Bは、原動機を搭載する自動車でもよいし、原動機を搭載した二輪車でもよい。また、車載器102は、通信システム100内に複数あってもよい。
サーバ101は、ECU情報を記憶する装置である。また、サーバ101は、利用者端末201からのECU情報の登録要求に応答する。さらに、サーバ101は、利用者端末201からのECU情報の参照要求に応答して、ECU情報を暗号化して利用者端末201に送信する。
車載器102は、車両Bに関するECU情報を生成する装置である。具体的に、車載器102は、車両B内の原動機の回転数、燃料消費量等を含むECU情報を生成する。また、車載器102は、原動機以外の情報として、車両Bのワイパーの動作回数等をECU情報に含めてもよい。
利用者端末201は、利用者Aによって操作される装置である。具体的に、利用者端末201は、利用者の操作により、ECU情報の登録要求を発行する。また、利用者端末201は、利用者の操作により、ECU情報の参照要求を発行する。
(通信システム100のハードウェア)
図3は、通信システムのハードウェア構成例を示すブロック図である。サーバ101は、Central Processing Unit(CPU)301と、Read‐Only Memory(ROM)302と、Random Access Memory(RAM)303と、を含む。また、サーバ101は、ディスクドライブ304と、ディスク305と、通信インターフェース306と、を含む。また、CPU301〜通信インターフェース306はバス307によってそれぞれ接続されている。
CPU301は、サーバ101の全体の制御を司る演算処理装置である。ROM302は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM303は、CPU301のワークエリアとして使用される揮発性メモリである。
ディスクドライブ304は、CPU301の制御に従ってディスク305に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ304には、たとえば、磁気ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク305は、ディスクドライブ304の制御で書き込まれたデータを記憶する不揮発性メモリである。たとえばディスクドライブ304が磁気ディスクドライブである場合、ディスク305には、磁気ディスクを採用することができる。また、ディスクドライブ304がソリッドステートドライブである場合、ディスク305には、半導体素子メモリを採用することができる。
通信インターフェース306は、ネットワーク211と内部のインターフェースを司り、ネットワーク211からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース306は、通信回線を通じてネットワーク211となるLocal Area Network(LAN)、Wide Area Network(WAN)、インターネットなどに接続され、ネットワーク211を介して他の装置に接続される。通信インターフェース306には、たとえば、モデムやLANアダプタなどを採用することができる。また、サーバ101は、光ディスクドライブ、光ディスク、キーボード、マウスを有していてもよい。
また、車載器102は、CPU311と、ROM312と、RAM313と、ディスクドライブ314と、ディスク315と、通信インターフェース316と、を含む。また、CPU311〜通信インターフェース316はバス317によってそれぞれ接続されている。
CPU311は、車載器102の全体の制御を司る演算処理装置である。ROM312は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM313は、CPU311のワークエリアとして使用される揮発性メモリである。
ディスクドライブ314は、CPU311の制御に従ってディスク315に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ314には、たとえば、磁気ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク315は、ディスクドライブ314の制御で書き込まれたデータを記憶する不揮発性メモリである。
通信インターフェース316は、ネットワーク211と内部のインターフェースを司り、ネットワーク211からのデータの入出力を制御する制御装置である。通信インターフェース306には、たとえば、モデムや無線LANアダプタなどを採用することができる。次に、図4〜図7にて、サーバ101と車載器102にて記憶している記憶内容を説明する。
図4は、サーバ基盤データ管理テーブルの記憶内容の一例を示す説明図である。サーバ基盤データ管理テーブル401は、車載器102に用いる鍵ごとの情報を記憶するテーブルである。具体的に、図4に示すサーバ基盤データ管理テーブル401は、レコード401−1〜401−11を記憶する。また、サーバ基盤データ管理テーブル401は、サーバ101が記憶する。
サーバ基盤データ管理テーブル401は、端末IDentification(ID)、世代番号、基盤データ長、基盤データ、共有フラグ、適用開始時刻、新規世代番号、切替前世代番号という8つのフィールドを含む。端末IDフィールドには、車載器102を一意に識別する情報が格納される。世代番号フィールドには、ECU情報を暗号化する鍵を一意に識別する情報が格納される。基盤データ長フィールドには、鍵の生成元となる基盤データのデータ長が格納される。基盤データフィールドには、鍵の生成元となる基盤データが格納される。また、鍵の生成元となる基盤データが無い場合、基盤データフィールドには、"(null)"が格納される。基盤データは、どのような値でもよいが、たとえば、乱数から生成されたデータである。
共有フラグフィールドには、基盤データフィールドに格納されている対象の基盤データが車載器102と共有しているか否かを示す識別子が格納される。具体的に、共有フラグフィールドには、対象の基盤データがサーバ101と車載器102とで共有中であることを示す"完了"識別子と、対象の基盤データが車載器102と共有していないことを示す"未完"識別子と、のいずれかの識別子が格納される。適用開始時刻フィールドには、対象の基盤データが初めて用いられた時刻が格納される。具体的に、適用開始時刻フィールドには、対象の基盤データに切り替わった後、最初に車載器102からメッセージを受信したときの時刻が格納される。なお、対象の基盤データがまだ用いられていない場合、適用開始時刻フィールドには、"(null)"が格納される。
新規世代番号フィールドには、対象の基盤データの次に用いる基盤データの世代番号が格納される。次に用いる基盤データが無い場合、新規世代番号フィールドには、0が格納される。切替前世代番号フィールドには、対象の基盤データの前に用いられていた基盤データの世代番号が格納される。前に用いられていた基盤データが無い場合、切替前世代番号フィールドには、0が格納される。
たとえば、レコード401−1は、端末IDが1となる車載器102との通信に用いる鍵についての情報を示している。具体的に、レコード401−1は、基盤データが"abc…"から生成される鍵が、世代番号が1であり、基盤データ長が128ビットであり、車載器102と共有しており、2012年1月1日の12時00分に用いられ始めたことを示す。
図5は、サーバ位置付け管理テーブルの記憶内容の一例を示す説明図である。サーバ位置付け管理テーブル501は、車載器102ごとに、複数の鍵のうちの、車載器102が現在用いている鍵についての情報を示す。また、サーバ位置付け管理テーブル501は、サーバ101が記憶する。
サーバ位置付け管理テーブル501は、端末ID、暗号方式、世代番号最大値、初期共有済世代数、1世代有効期間、現使用世代番号という6つのフィールドを含む。端末IDフィールドには、車載器102を一意に識別する情報が格納される。暗号方式フィールドには、暗号方式の名称が格納される。たとえば、暗号方式フィールドには、Data Encryption Standard(DES)を暗号化、復号、暗号化という順に三度繰り返すトリプルDESを示す"トリプルDES"や、Advanced Encryption Standard(AES)を示す"AES"が格納される。
世代番号最大値フィールドには、鍵を記憶する最大数が格納される。初期共有済世代数フィールドには、初期登録処理にて共有される鍵の個数が格納される。1世代有効期間フィールドには、1つの鍵を利用開始してから終了するまでの時間が格納される。現使用世代番号フィールドには、車載器102が現在用いている鍵の世代番号が格納される。
たとえば、レコード501−1は、端末IDが1となる車載器102との通信に用いる鍵についての情報を示している。具体的に、レコード501−1は、暗合方式がAESであり、鍵を最大10個記憶し、初期登録処理にて鍵を3個記憶し、1つの鍵の有効期間が1時間であり、現在用いている鍵の世代番号が1であることを示している。
図6は、端末基盤データ管理テーブルの記憶内容の一例を示す説明図である。端末基盤データ管理テーブル601は、車載器102に用いる鍵ごとの情報を記憶するテーブルである。具体的に、図6に示す端末基盤データ管理テーブル601は、レコード601−1〜601−10を記憶する。また、端末基盤データ管理テーブル601は、車載器102が記憶する。
端末基盤データ管理テーブル601は、世代番号、基盤データ長、基盤データ、新規世代番号という4つのフィールドを含む。世代番号〜新規世代番号の4つのフィールドについては、サーバ基盤データ管理テーブル401の同名のフィールドと同一の定義となるため、説明を省略する。
図7は、端末位置付け管理テーブルの記憶内容の一例を示す説明図である。端末位置付け管理テーブル701は、複数の鍵のうちの、車載器102が現在用いている鍵についての情報を示す。具体的に、端末位置付け管理テーブル701は、レコード701−1を記憶する。また、端末位置付け管理テーブル701は、車載器102が記憶する。
端末位置付け管理テーブル701は、端末ID、暗号方式、世代番号最大値、現使用世代番号という4つのフィールドを含む。端末ID〜現使用世代番号の4つのフィールドについては、サーバ位置付け管理テーブル501の同名のフィールドと同一の定義となるため、説明を省略する。
図8は、初期登録処理による初期登録情報の記憶内容の一例を示す説明図である。図8では、初期登録処理の終了時に出力する初期登録情報801の記憶内容の一例を示す。具体的に、図8に示す初期登録情報801は、レコード801−1〜801−3を記憶する。
初期登録情報801は、端末ID、暗号方式、世代番号、基盤データ長、基盤データという5つのフィールドを含む。端末ID〜基盤データの5つのフィールドについては、サーバ基盤データ管理テーブル401、サーバ位置付け管理テーブル501の同名のフィールドと同一の定義となるため、説明を省略する。
図9は、通信システムのメッセージフォーマットの一例を示す説明図である。本実施の形態にかかる通信システム100では、車載器への指示メッセージ901と、車載器からのECU情報登録要求メッセージ902という2つのフォーマットを用いてサーバ101と車載器102のメッセージをやり取りする。
車載器への指示メッセージ901は、先頭のフィールドとして、メッセージタイプフィールドを有する。車載器への指示メッセージ901は、メッセージタイプの値に応じて後続のフィールドが異なる。メッセージタイプが"ECU情報登録要求メッセージ"を示す1である場合、車載器への指示メッセージ901は、2つ目のフィールドとして、現在時刻フィールドを有する。現在時刻フィールドは、利用者端末201がメッセージを中継したときの時刻が格納される。
メッセージタイプが"返信メッセージ受信指示"を示す2である場合、車載器への指示メッセージ901は、2つ目のフィールドとして、サーバから車載器へのメッセージデータ912を格納するフィールドを有する。メッセージデータ912については、図11にて後述する。
たとえば、車載器への指示メッセージ901−1は、メッセージタイプが1であり、利用者端末201が車載器への指示メッセージ901−1を中継した際の時刻が2012年1月1日の13時01分であることを示す。また、車載器への指示メッセージ901−2は、メッセージタイプが2であり、メッセージデータ912を有することを示す。
ECU情報登録要求メッセージ902は、先頭のフィールドとして、復帰コードフィールドを有する。また、ECU情報登録要求メッセージ902は、2番目のフィールドとして、車載器からサーバへのメッセージデータ911を格納するフィールドを有する。復帰コードフィールドには、ECU情報登録要求が正常に行われた場合、0が格納される。なんらかのエラーが検出されてECU情報登録要求を生成できなかった場合、フィールドにはエラーコードが格納される。復帰コードフィールドの値が0でない場合、メッセージデータ911を格納するフィールドは無効である。メッセージデータ911については、図10にて後述する。
たとえば、ECU情報登録要求メッセージ902−1は、復帰コードが0であり、メッセージデータ911を有することを示す。また、ECU情報登録要求メッセージ902−2は、復帰コードが1であることを示す。
図10は、車載器からサーバへのメッセージデータのフォーマットの一例を示す説明図である。メッセージデータ911は、メッセージ送信時刻_平文、端末ID_平文、現使用世代番号_平文、メッセージ送信時刻、端末ID、現使用世代番号、共有済世代番号、ECU情報という8つのフィールドを含む。車載器102は、メッセージ送信時刻フィールド〜ECU情報フィールドを、現使用世代番号_平文が指定する基盤データから生成された鍵を用いて暗号化する。車載器102は、メッセージ送信時刻〜ECU情報の各フィールドごとに暗号化してもよいし、メッセージ送信時刻フィールド〜ECU情報フィールドの各値を1つのデータとして暗号化してもよい。
メッセージ送信時刻_平文フィールドには、対象のメッセージの送信時刻が格納される。端末ID_平文フィールドには、対象のメッセージの送信元となる車載器102の端末IDが格納される。現使用世代番号_平文フィールドには、現在用いている鍵の世代番号が格納される。メッセージ送信時刻フィールドには、メッセージ送信時刻_平文フィールドの値と同一の値が格納される。端末IDフィールドには、端末ID_平文フィールドの値と同一の値が格納される。現使用世代番号フィールドには、現使用世代番号_平文フィールドの値と同一の値が格納される。
共有済世代番号フィールドには、サーバ101と新たに共有した鍵の世代番号が格納される。具体的に、共有済世代番号フィールドには、対象のメッセージを送信する前に、利用者端末201から受信したサーバからの車載器からのメッセージデータ912の新規世代番号フィールドの値が格納される。メッセージデータ912を受信していない場合、また、メッセージデータ912の新規世代番号フィールドの値が0であれば、共有済世代番号フィールドには、0が格納される。ECU情報フィールドには、ECU情報が格納される。
たとえば、メッセージデータ1001−1は、送信時刻が2012年1月1日13時01分であり、端末IDが1となる車載器102により生成されており、世代番号が1に対応する鍵によって、暗号化されたデータである。また、メッセージデータ1001−1の暗号化前の情報1001−1'は、サーバ101と新たに共有した鍵が無く、ECU情報が"xxx"であることを示す。
図11は、サーバから車載器へのメッセージデータのフォーマットの一例を示す説明図である。メッセージデータ912は、メッセージ送信時刻_平文、現使用世代番号_平文、メッセージ送信時刻、現使用世代番号、変更後世代番号、新規世代番号、新規世代番号基盤データ長、新規世代番号基盤データ、復帰コードという9つのフィールドを含む。サーバ101は、メッセージ送信時刻フィールド〜復帰コードフィールドを、現使用世代番号_平文が指定する基盤データから生成された鍵を用いて暗号化する。サーバは、メッセージ送信時刻〜復帰コードの各フィールドごとに暗号化してもよいし、メッセージ送信時刻フィールド〜復帰コードフィールドの各値を1つのデータとして暗号化してもよい。
メッセージ送信時刻_平文フィールドには、対象のメッセージの送信時刻が格納される。現使用世代番号_平文フィールドには、対象のメッセージの送信先となる車載器102の端末IDが格納される。メッセージ送信時刻フィールドには、対象のメッセージの送信時刻フィールドの値と同一の値が格納される。現使用世代番号フィールドには、現在用いている鍵の世代番号が格納される。変更後世代番号フィールドには、対象のメッセージの現使用世代番号の有効期間が終了している場合に、現在用いている鍵の世代番号が格納される。対象のメッセージの現使用世代番号の有効期間が終了していない場合、変更後世代番号フィールドには、0が格納される。
新規世代番号フィールドには、車載器102と新たに共有する鍵の世代番号が格納される。新たに共有する鍵が無い場合、新規世代番号フィールドには、0が格納される。具体的に、新たに共有する鍵がある状態になる場合とは、対象のメッセージの前のメッセージにて、変更後世代番号フィールドに0以外の値が入っており、車載器102から、変更後世代番号フィールドの値で暗号化されたメッセージを受信した場合である。
また、変更後世代番号フィールドと新規世代番号フィールドに、共に0以外の値が入ることは無い。以下、変更後世代番号フィールドに0以外の値が設定されたメッセージを、「変更後世代番号設定メッセージ」と呼称する。また、新規世代番号フィールドに0以外の値が設定されたメッセージを、「新規世代番号設定メッセージ」と呼称する。
新規世代番号基盤データ長フィールドには、新たに共有する鍵の基盤データのデータ長が格納される。新規世代番号基盤データフィールドには、新たに共有する鍵の基盤データが格納される。復帰コードフィールドには、ECU情報登録要求に処理結果を示すコードが格納される。
たとえば、メッセージデータ1101−1は、送信時刻が2012年1月1日13時02分であり、端末IDが1となる車載器102に対して送信し、世代番号が1に対応する鍵によって、暗号化されたデータである。また、メッセージデータ1101−1の暗号化前の情報1101−1'は、変更後世代番号フィールドと新規世代番号フィールドが共に0であることを示す。
(サーバ101の機能)
次に、サーバ101の機能について説明する。図12は、サーバの機能例を示すブロック図である。サーバ101は、受付部1201と、判定部1202と、特定部1203と、削除部1204と、取得部1205と、判断部1206と、格納部1207と、暗号化部1208と、送信制御部1209と、通信部1210を含む。制御部となる受付部1201〜送信制御部1209は、記憶装置に記憶されたプログラムをCPU301が実行することにより、受付部1201〜送信制御部1209の機能を実現する。記憶装置とは、具体的には、たとえば、図3に示したROM302、RAM303、ディスク305などである。または、通信インターフェース306を経由して他のCPUが実行することにより、受付部1201〜送信制御部1209の機能を実現してもよい。
また、通信部1210は、通信インターフェース306でもよいし、通信インターフェース306の動作を制御するデバイスドライバを含んでもよい。デバイスドライバは、記憶装置に記憶されており、CPU301が実行することにより、通信インターフェース306の動作を制御する。
また、サーバ101は、サーバ基盤データ管理テーブル401にアクセス可能である。サーバ基盤データ管理テーブル401は、複数の鍵の各々の鍵ごとに各々の鍵と各々の鍵の識別情報とを記憶する。サーバ基盤データ管理テーブル401は、RAM303、ディスク305といった記憶装置に格納されている。
受付部1201は、共通鍵暗号方式に用いられる複数の鍵のうちのいずれかの鍵を用いて暗号化された暗号化データといずれかの鍵の識別情報とを通信先装置から受け付ける。鍵とは、共通鍵そのものであってもよいし、共通鍵の生成元のデータでもよい。本実施の形態では、鍵は、共通鍵の生成元である基盤データとなる。また、受付部1201は、暗号化データといずれかの鍵の識別情報とを、通信部1210から受け付けてもよい。または、受付部1201は、通信部1210が暗号化データといずれかの鍵の識別情報を書き込んだバッファを定期的に参照してもよい。なお、受け付けたデータは、RAM303、ディスク305などの記憶領域に記憶される。
判定部1202は、サーバ基盤データ管理テーブル401を参照して、いずれかの鍵の識別情報に対応付けていずれかの鍵の次に用いる鍵の識別情報が記憶されているか否かを判定する。たとえば、判定部1202は、世代番号が1となる鍵に対応付けて、世代番号が1となる鍵の次に用いる鍵の識別情報が記憶されているか否かを判定する。また、次に用いる鍵の識別情報は、サーバ基盤データ管理テーブル401の新規世代番号フィールドに格納されている。判定部1202は、新規世代番号フィールドの値が0であるときに次に用いる鍵の識別情報が記憶されていないと判定し、0以外であるときに次に用いる鍵の識別情報が記憶されていると判定する。判定結果は、RAM303、ディスク305などの記憶領域に記憶される。
特定部1203は、判定部1202によって次に用いる鍵の識別情報が記憶されていないと判定された場合、サーバ基盤データ管理テーブル401の記憶内容に基づいて、いずれかの鍵の前に通信先装置が用いた前の鍵を特定する。具体的には、特定部1203は、サーバ基盤データ管理テーブル401の世代番号フィールドと、新規世代番号フィールドを用いて特定する。
たとえば、サーバ基盤データ管理テーブル401が、世代番号フィールドの値が1、新規世代番号フィールドの値が2である第1のレコードと、世代番号フィールドの値が2、新規世代番号フィールドの値が0である第2のレコードと、を記憶しているとする。また、判定部1202が、新規世代番号フィールドの値が0であるため、世代番号2に対応する鍵の次に用いる鍵の識別情報が記憶されていないと判定したとする。このとき、特定部1203は、世代番号2が新規世代番号フィールドの値に設定されている第1のレコードを検出する。特定部1203は、世代番号1に対応する鍵を、前の鍵として特定する。また、特定部1203は、前述の処理を繰り返し、2つ前の鍵を特定してもよいし、さらに遡って前の鍵を特定してもよい。なお、特定した鍵の識別情報は、RAM303、ディスク305などの記憶領域に記憶される。
削除部1204は、サーバ基盤データ管理テーブル401に記憶されている複数の鍵のうちの、特定部1203が特定した前の鍵と前の鍵の識別情報とを削除する。たとえば、削除部1204は、特定した世代番号1に対応する鍵と、鍵の識別情報を削除する。
取得部1205は、判定部1202によって次に用いる鍵の識別情報が記憶されていないと判定された場合、サーバ基盤データ管理テーブル401に記憶されている複数の鍵のうちのいずれかの鍵とは異なる他の鍵と他の鍵の識別情報とを取得する。たとえば、取得部1205は、判定部1202が世代番号2に対応する鍵の識別情報が記憶されていないと判定した場合、複数の鍵のうちの世代番号2に対応する鍵とは異なる世代番号3に対応する鍵と世代番号3に対応する鍵の識別情報を取得する。なお、取得した鍵の識別情報は、RAM303、ディスク305などの記憶領域に記憶される。
また、取得部1205は、サーバ基盤データ管理テーブル401に記憶されている複数の鍵のうちのいずれかの鍵および特定部1203が特定した鍵とは異なる他の鍵と他の鍵の識別情報とを取得してもよい。たとえば、判定部1202が世代番号2に対応する鍵の識別情報が記憶されていないと判定し、特定部1203が、前の鍵として、世代番号1に対応する鍵を特定したとする。このとき、取得部1205は、複数の鍵のうちの、世代番号2に対応する鍵および世代番号1に対応する鍵とは異なる世代番号3に対応する鍵と世代番号3に対応する鍵の識別情報を取得する。なお、取得したデータは、RAM303、ディスク305などの記憶領域に記憶される。
判断部1206は、次に用いる鍵の識別情報が記憶されていると判断した場合、いずれかの鍵が最初に用いられてからの経過時間またはいずれかの鍵が用いられた回数に基づいて、いずれかの鍵が有効か否かを判断する。たとえば、判断部1206は、いずれかの鍵が最初に用いられてから1時間以上経過していた場合、いずれかの鍵を有効でないとして判断する。または、判断部1206は、いずれかの鍵が100回以上暗号化に用いられた場合、いずれかの鍵を有効でないとして判断する。
また、判断部1206は、いずれかの鍵がサーバ101で最初に用いられた経過時間に基づいて判断してもよいし、いずれかの鍵が車載器102で最初に用いられた経過時間に基づいて判断してもよい。回数についても同様で、判断部1206は、いずれかの鍵がサーバ101で用いられた回数に基づいて判断してもよいし、いずれかの鍵が車載器102で用いられた回数に基づいて判断してもよい。また、判断部1206は、いずれかの鍵がサーバ101と車載器102で用いられた回数に基づいて判断してもよい。なお、取得したデータは、RAM303、ディスク305などの記憶領域に記憶される。
格納部1207は、サーバ基盤データ管理テーブル401に記憶されているいずれかの鍵の識別情報に対応付けて、取得部1205によって取得された他の鍵の識別情報を格納する。たとえば、格納部1207は、世代番号1に対応する鍵の識別情報に対応付けて、取得部1205によって取得された世代番号2に対応する鍵の識別情報を格納する。
暗号化部1208は、取得部1205によって取得された他の鍵と他の鍵の識別情報とを、サーバ基盤データ管理テーブル401に記憶されているいずれかの鍵を用いて暗号化する。たとえば、暗号化部1208は、次に用いる世代番号2に対応する鍵と、世代番号2に対応する鍵の識別情報とを、世代番号1に対応する鍵を用いて暗号化する。
また、暗号化部1208は、判断部1206によっていずれかの鍵が有効でないと判断された場合、次に用いる鍵の識別情報を、サーバ基盤データ管理テーブル401に記憶されているいずれかの鍵を用いて暗号化してもよい。たとえば、暗号化部1208は、次に用いる世代番号2に対応する鍵の識別情報を、世代番号1に対応する鍵を用いて暗号化する。暗号化したデータは、RAM303、ディスク305などの記憶領域に記憶される。
送信制御部1209は、通信部1210を制御して、暗号化部1208によって暗号化された次に用いる鍵の識別情報と、いずれかの鍵の識別情報とを通信先装置に送信する。たとえば、送信制御部1209は、暗号化した次に用いる世代番号2に対応する鍵と、暗号化した世代番号2に対応する鍵の識別情報と、世代番号1に対応する鍵の識別情報を、車載器102に送信する。
また、送信制御部1209は、通信部1210を制御して、暗号化部1208によって暗号化した次に用いる鍵の識別情報と、いずれかの鍵の識別情報とを通信先装置に送信してもよい。たとえば、送信制御部1209は、世代番号1に対応する鍵を用いて暗号化した世代番号2に対応する鍵の識別情報を、車載器102に送信する。
通信部1210は、車載器102と通信する。また、通信部1210は、利用者端末201を経由して車載器102と通信してもよい。また、サーバ101は、通信部1210と通信制御部1209を含む送信部を有してもよい。次に、図13〜図16を用いて、ECU情報登録時の処理を、サーバ基盤データ管理テーブル401、サーバ位置付け管理テーブル501、端末基盤データ管理テーブル601、端末位置付け管理テーブル701の記憶内容を用いて説明する。また、ECU情報登録要求は、利用者端末201上で実行するアプリケーションソフトウェアによって発行される。以下、アプリケーションソフトウェアを、「アプリ」と称する。
図13は、ECU情報登録時の動作例を示す説明図である。サーバ101と車載器102の現使用世代番号は1である。この状態にて、(1)番目の処理として、利用者端末201は、メッセージタイプで"ECU情報登録要求メッセージ"を設定した車載器への指示ECU情報登録要求メッセージを車載器102に送信する。車載器への指示メッセージを受信した車載器102は、(2)番目の処理として、ECU情報を含むECU情報登録要求メッセージ1301を生成し、世代番号1で指定される基盤データから生成される鍵を用いてECU情報登録要求メッセージ1301を暗号化する。続けて、車載器102は、利用者端末201を経由して、サーバ101に暗号化したECU情報登録要求メッセージ1301をサーバ101に送信する。ECU情報登録要求メッセージ1301は、ECU情報登録要求メッセージ902のフォーマットに従っている。
図14は、鍵の世代番号更新時の動作例を示す説明図である。図14で示す通信システム100の状態は、図13で示した(2)番目の処理終了後の状態である。サーバ101は、(1)番目の処理として、受信したECU情報登録要求メッセージ1301の世代番号1で指定される鍵の有効期間が終了しているか否かを判断する。鍵の有効期間が終了していない場合、サーバ101は、ECU情報登録要求メッセージ1301を復号し、ECU情報を登録して、車載器102にECU情報が正常に登録できた旨を伝える返信メッセージを送信する。
有効期間が終了している場合、サーバ101は、(2)番目の処理として、現使用世代番号以外に共有フラグフィールドの値が完了となっているレコードのうちのいずれかのレコードを選択し、現使用世代番号フィールドを新たな現使用世代番号に更新する。図14の例では、サーバ101は、世代番号フィールドの値が1以外であり、共有フラグフィールド値が完了となっているレコード401−2、401−3のうち、レコード401−2を選択し、現使用世代番号フィールドを2に更新する。
次に、サーバ101は、(3)番目の処理として、選択したレコードの切替前世代番号フィールドを、今まで設定していた世代番号に設定する。図14の例では、サーバ101は、レコード401−2の切替前世代番号フィールドを、0から1に更新する。続けて、サーバ101は、(4)番目の処理として、変更後世代番号が2となる変更後世代番号設定メッセージ1401を、世代番号1で指定される鍵にて暗号化し、利用者端末201を経由して、車載器102に送信する。変更後世代番号設定メッセージ1401は、車載器への指示メッセージ901のフォーマットに従っている。
変更後世代番号設定メッセージ1401を受信した車載器102は、(5)番目の処理として、現使用世代番号フィールドを、変更後世代番号設定メッセージ1401の現使用世代番号に更新する。図14の例では、車載器102は、現使用世代番号フィールドを、1から2に更新する。
図15は、新規世代番号の基盤データをサーバと車載器間で共有する際の動作例を示す説明図である。図15で示す通信システム100の状態は、図14にて示した(5)番目の処理終了後の状態である。サーバ101は、車載器102が生成した、世代番号2で指定される鍵にて暗号化されたECU情報登録要求メッセージ1501を受信する。ECU情報登録要求メッセージ1501は、ECU情報登録要求メッセージ902のフォーマットに従っている。
次に、サーバ101は、(1)番目の処理として、ECU情報登録要求メッセージ1501の暗号化に用いられた鍵が初めて暗号化に用いられたか否かを判断する。初めて暗号化に用いられたか否かを判断するため、サーバ101は、サーバ基盤データ管理テーブル401内の、ECU情報登録要求メッセージ1501内の現使用世代番号_平文フィールドの値と同一のレコードを検索する。続けて、サーバ101は、検索により発見したレコードの新規世代番号フィールドが0か否かを判断する。0である場合、該当の世代番号で指定される鍵が、初めて暗号化に用いられたことを意味する。
図15の例では、サーバ101は、世代番号フィールドに2が設定されているレコード401−2の新規世代番号フィールドの値が0であるため、世代番号2で指定される鍵が初めて暗号化に用いられたと判断する。初めて暗号化に用いられた鍵がある場合、サーバ101は、(2)番目の処理として、新しい基盤データを生成し、共有フラグフィールドが未完となっているレコードの基盤データフィールドに、新しい基盤データを設定する。図15の例では、サーバ101は、新たな基盤データ"jkl…"を生成し、レコード401−4の基盤データフィールドに新たな基盤データ"jkl…"を設定する。
続けて、サーバ101は、(3)番目の処理として、サーバ基盤データ管理テーブル401内の、現使用世代番号が示すレコードの新規世代番号フィールドに、新たな基盤データを設定したレコードの世代番号を設定する。図15の例では、サーバ101は、レコード401−2の新規世代番号フィールドに4を設定する。
次に、サーバ101は、(4)番目の処理として、サーバ基盤データ管理テーブル401内の、現使用世代番号が示すレコードの切替前世代番号の値と同一の値が世代番号フィールドに設定されているレコードを検索する。続けて、サーバ101は、検索して発見したレコードの基盤データを削除する。また、サーバ101は、発見したレコードの共有フラグを未完に設定する。図15の例では、サーバ101は、レコード401−1の基盤データ"abc…"を削除し、レコード401−1の共有フラグフィールドを未完に設定する。
続けて、サーバ101は、(5)番目の処理として、新規世代番号が4となる新規世代番号設定メッセージ1502を、世代番号2で指定される鍵にて暗号化し、利用者端末201を経由して、車載器102に送信する。また、新規世代番号設定メッセージ1502の新規世代番号基盤データフィールドには、新たな基盤データ"jkl…"が格納される。また、新規世代番号設定メッセージ1502は、ECU情報登録要求メッセージ901のフォーマットに従っている。
新規世代番号設定メッセージ1502を受信した車載器102は、(6)番目の処理として、端末基盤データ管理テーブル601内の、新規世代番号設定メッセージ1502の新規世代番号フィールドの値と同一の値が世代番号フィールドにあるレコードを検索する。続けて、車載器102は、検索して発見したレコードの基盤データフィールドに、新規世代番号設定メッセージ1502の新規世代番号基盤データフィールドに格納された値を格納する。図15の例では、車載器102は、レコード601−4の基盤データフィールドに、"jkl…"を格納する。
次に、車載器102は、(7)番目の処理として、端末基盤データ管理テーブル601内の、現使用世代番号が示すレコードの新規世代番号フィールドに、新規世代番号設定メッセージ1502の新規世代番号フィールドの値を設定する。図15の例では、車載器102は、レコード601−2の新規世代番号フィールドを0から4に更新する。
図16は、新規世代番号の基盤データの共有完了をサーバに送信する際の動作例を示す説明図である。図16で示す通信システム100の状態は、図15にて示した(7)番目の処理終了後の状態である。
(1)番目の処理として、車載器102は、共有済世代番号フィールドに4が格納されており、世代番号2で指定される鍵にて暗号化されたECU情報登録要求メッセージ1601を送信する。ECU情報登録要求メッセージ1601は、ECU情報登録要求メッセージ902のフォーマットに従っている。
ECU情報登録要求メッセージ1601を受信したサーバ101は、(2)番目の処理として、サーバ基盤データ管理テーブル401内の、ECU情報登録要求メッセージ1601の共有済世代番号フィールドの値と同一の値が世代番号フィールドに設定されているレコードを検索する。続けて、サーバ101は、検索して発見したレコードの共有フラグを完了に設定する。図16の例では、サーバ101は、レコード401−4の共有フラグフィールドを完了に設定する。次に、図13〜図16に示した動作を行うフローチャートを図17〜図31にて説明する。
図17は、サーバによる初期登録処理手順の一例を示すフローチャートである。サーバによる初期登録処理は、鍵をサーバ101に登録する処理である。また、サーバによる初期登録処理は、通信システム100の運用開始時に、利用者端末201の開発者の操作によって、実行開始する。さらに、サーバによる初期登録処理は、利用者端末201の開発者の操作の入力により、端末ID、暗号方式、初期共有済世代数、世代番号最大値、1世代有効期間の各値を受け付けている。
サーバ101は、サーバ位置付け管理テーブル501内の、入力された端末IDの値と同一の値が端末IDフィールドに設定されたレコードを削除する(ステップS1701)。次に、サーバ101は、サーバ位置付け管理テーブル501に、入力パラメータに従ったレコードを追加する(ステップS1702)。また、サーバ101は、追加したレコードの現使用世代番号に1を設定する。続けて、サーバ101は、世代番号のカウンタとして用いる変数iに1を設定する(ステップS1703)。
次に、サーバ101は、変数iが入力パラメータの世代番号最大値より大きいか否かを判断する(ステップS1704)。変数iが入力パラメータの世代番号最大値以下の場合(ステップS1704:No)、サーバ101は、サーバ基盤データ管理テーブル内の、世代番号フィールドの値が変数iとなるレコードを初期化する(ステップS1705)。ここで、初期化として、サーバ101は、レコードの各フィールドを以下のように設定する。
サーバ101は、対象レコードの端末IDフィールドに、入力パラメータの端末IDを設定する。また、サーバ101は、対象レコードの世代番号フィールドに、変数iを設定する。また、サーバ101は、対象レコードの基盤データフィールドに、乱数から生成した値を設定する。また、サーバ101は、対象レコードの基盤データ長フィールドに、基盤データフィールドに設定した値のデータ長を設定する。また、サーバ101は、対象レコードの共有フラグフィールドに、未完を設定する。また、サーバ101は、対象レコードの適用開始時刻に(null)を設定する。また、サーバ101は、対象レコードの新規世代番号フィールドと切替前世代番号フィールドに、0を設定する。
初期化終了後、サーバ101は、変数iが入力パラメータの初期共有済世代数より大きいか否かを判断する(ステップS1706)。変数iが入力パラメータの初期共有済世代数以下である場合(ステップS1706:No)、サーバ101は、設定したレコードの、端末ID、暗号方式、世代番号、基盤データ長、基盤データ、の各フィールドの値を初期登録情報801として出力する(ステップS1707)。続けて、サーバ101は、サーバ基盤データ管理テーブル401内の、世代番号フィールドの値がiとなるレコードの、共有フラグを完了に設定する(ステップS1708)。ステップS1706の処理終了後、または、変数iが入力パラメータの初期共有済世代数より大きい場合(ステップS1706:Yes)、サーバ101は、変数iをインクリメントする(ステップS1709)。ステップS1709の処理終了後、サーバ101は、ステップS1704の処理に移行する。
変数iが入力パラメータの世代番号最大値より大きい場合(ステップS1704:Yes)、サーバ101は、サーバによる初期登録処理を終了する。サーバによる初期登録処理を実行することにより、通信システム100は、運用開始時に使用する鍵をサーバ101に設定することができる。
図18は、車載器による初期登録処理手順の一例を示すフローチャートである。車載器による初期登録処理は、サーバによる初期登録処理で出力された初期登録情報801を読み込んで、鍵を車載器102に登録する処理である。また、車載器による初期登録処理は、通信システム100の運用開始時に、利用者端末201の開発者の操作によって、実行開始する。また、車載器による初期登録処理は、利用者端末201の開発者の操作の入力により、端末ID、世代番号最大値、初期登録情報801を受け付けている。
車載器102は、端末位置付け管理テーブル701内のレコードを削除する(ステップS1801)。次に、車載器102は、端末位置付け管理テーブル701に、入力パラメータに従ったレコードを追加する(ステップS1802)。続けて、車載器102は、初期登録情報801を読み込む(ステップS1803)。次に、車載器102は、読み込んだ初期登録情報801の先頭のレコードを選択する(ステップS1804)。
続けて、車載器102は、端末基盤データ管理テーブル601内の、選択したレコードの世代番号の値と同一の値となるレコードの、端末ID、基盤データ長、基盤データ、の各フィールドに、選択したレコードの各フィールドの値を設定する(ステップS1805)。また、車載器102は、新規世代番号フィールドに0を設定する。次に、車載器102は、初期登録情報801の全てのレコードを選択したか否かを判断する(ステップS1806)。まだ選択していないレコードがある場合(ステップS1806:No)、車載器102は、初期登録情報801の次のレコードを選択する(ステップS1807)。ステップS1807の終了後、車載器102は、ステップS1805の処理に移行する。
全てのレコードを選択した場合(ステップS1806:Yes)、車載器102は、車載器による初期登録処理を終了する。車載器による初期登録処理を実行することにより、通信システム100は、運用開始時に使用する鍵を車載器102に設定することができる。
図19は、利用者端末によるメッセージ処理手順の一例を示すフローチャートである。利用者端末によるメッセージ処理は、サーバ101および車載器102から通知される返信メッセージの処理を行う。
利用者端末201は、利用者端末201上のアプリによるECU情報登録要求に応じて、メッセージタイプで"ECU情報登録要求メッセージ"を指定して車載器への指示メッセージ901を作成する(ステップS1901)。次に、利用者端末201は、車載器への指示メッセージ901を車載器102に送信する(ステップS1902)。続けて、利用者端末201は、車載器102から返信メッセージを受信する(ステップS1903)。
次に、利用者端末201は、返信メッセージがエラーメッセージか否かを判断する(ステップS1904)。返信メッセージがエラーメッセージでない場合(ステップS1904:No)、利用者端末201は、返信メッセージ(ECU情報登録要求メッセージ)をサーバ101に送信する(ステップS1905)。続けて、利用者端末201は、サーバ101から返信メッセージを受信する(ステップS1906)。次に、利用者端末201は、サーバ101からの返信メッセージを車載器102に送信する(ステップS1907)。続けて、利用者端末201は、車載器102から返信メッセージを受信する(ステップS1908)。
次に、利用者端末201は、返信メッセージがエラーメッセージか否かを判断する(ステップS1909)。返信メッセージがエラーメッセージでない場合(ステップS1909:No)、利用者端末201は、返信メッセージが世代変更を行ったことを示すメッセージか否かを判断する(ステップS1910)。
返信メッセージが世代変更を行ったことを示すメッセージでない場合(ステップS1910:No)、利用者端末201は、正常終了をアプリに通知する(ステップS1911)。世代変更を行ったことを示すメッセージである場合(ステップS1910:Yes)、利用者端末201は、ECU情報登録の再実行を勧める旨のコードを、アプリに通知する(ステップS1912)。返信メッセージがエラーメッセージである場合(ステップS1904:Yes、ステップS1909:Yes)、利用者端末201は、エラー終了を、アプリに通知する(ステップS1913)。ステップS1911、ステップS1912、ステップS1913、の終了後、利用者端末201は、利用者端末によるメッセージ処理を終了する。利用者端末によるメッセージ処理を実行することにより、通信システム100は、ECU情報登録を行うことができる。
図20は、サーバからの返信メッセージに対する車載器による処理手順の一例を示すフローチャートである。車載器による返信メッセージ処理は、利用者端末201から受信したサーバからの返信メッセージに対する処理である。車載器102は、端末位置付け管理テーブル701の中の現使用世代番号と世代番号最大値を読み込む(ステップS2001)。次に、車載器102は、利用者端末201からサーバからの返信メッセージを受信する(ステップS2002)。ステップS2002のサーバからの返信メッセージは、車載器への指示メッセージ901のフォーマットに従っている。続けて、車載器102は、受信した車載器への指示メッセージのメッセージタイプを確認する(ステップS2003)。
車載器への指示メッセージのメッセージタイプがECU情報登録要求メッセージである場合(ステップS2003:ECU情報登録要求メッセージ)、車載器102は、ECU情報登録要求生成処理を実行する(ステップS2004)。ECU情報登録要求生成処理の詳細は、図21にて後述する。ECU情報登録要求生成処理終了後、車載器102は、ステップS2002の処理に移行する。
車載器への指示メッセージのメッセージタイプが返信メッセージ受信指示である場合(ステップS2003:返信メッセージ受信指示)、車載器102は、端末改ざん検出処理を実行する(ステップS2005)。端末改ざん検出処理は、図23にて後述する。次に、車載器102は、サーバからの返信メッセージが改ざんされていなく、かつ、エラーメッセージでないか否かを判断する(ステップS2006)。サーバからの返信メッセージが改ざんされている場合、またはエラーメッセージである場合(ステップS2006:No)、車載器102は、利用者端末201にエラーメッセージを送信する(ステップS2007)。ステップS2007の処理終了後、車載器102は、ステップS2002の処理に移行する。
サーバからの返信メッセージが改ざんされていなく、かつ、エラーメッセージでない場合(ステップS2006:Yes)、車載器102は、サーバからの返信メッセージが変更後世代番号設定メッセージか否かを判断する(ステップS2008)。サーバからの返信メッセージが変更後世代番号設定メッセージである場合(ステップS2008:Yes)、車載器102は、端末位置付け管理テーブル701の現使用世代番号フィールドに、サーバからの返信メッセージの変更後世代番号フィールドの値を設定する(ステップS2009)。次に、車載器102は、利用者端末201に世代変更を行ったことを示すメッセージを送信する(ステップS2010)。ステップS2010の処理終了後、車載器102は、ステップS2002の処理に移行する。
サーバからの返信メッセージが変更後世代番号設定メッセージでない場合(ステップS2008:No)、車載器102は、サーバからの返信メッセージが新規世代番号設定メッセージか否かを判断する(ステップS2011)。サーバからの返信メッセージが新規世代番号設定メッセージである場合(ステップS2011:Yes)、車載器102は、端末基盤データ管理テーブル601内の、世代番号フィールドの値が、サーバからの返信メッセージの新規世代番号の値と一致するレコードを検索する(ステップS2012)。次に、車載器102は、検索したレコードの基盤データ長フィールドに、サーバからの返信メッセージの新規世代番号基盤データ長の値を設定する(ステップS2013)。続けて、車載器102は、検索したレコードの基盤データフィールドに、サーバからの返信メッセージの新規世代番号基盤データの値を設定する(ステップS2014)。
ステップS2014の処理終了後、または、サーバからの返信メッセージが新規世代番号設定メッセージでない場合(ステップS2011:No)、車載器102は、利用者端末201に正常終了メッセージを受信したことを示すメッセージを送信する(ステップS2015)。ステップS2015の処理終了後、車載器102は、ステップS2002の処理に移行する。このように、サーバからの返信メッセージに対する車載器による処理を実行することにより、通信システム100は、安全性が向上した鍵を用いてECU情報をサーバ101に送信することができる。
図21は、車載器によるECU情報登録要求生成処理手順の一例を示すフローチャートである。ECU情報登録要求生成処理は、ECU情報登録要求メッセージの生成を行う処理である。車載器102は、ECU情報を基に、ECU情報登録要求メッセージを作成する(ステップS2101)。次に、車載器102は、端末基盤データ管理テーブル601内の、世代番号フィールドの値が現使用世代番号と同一となるレコードを選択する(ステップS2102)。続けて、車載器102は、選択したレコードの新規世代番号フィールドが0か否かを判断する(ステップS2103)。新規世代番号フィールドが0でない場合(ステップS2103:No)、車載器102は、作成したECU情報登録要求メッセージの共有済世代番号フィールドに、選択したレコードの新規世代番号フィールドの値を設定する(ステップS2104)。
ステップS2104の終了後、または、新規世代番号フィールドが0である場合(ステップS2103:Yes)、車載器102は、ECU情報登録要求メッセージ送信処理を実行する(ステップS2105)。ECU情報登録要求メッセージ送信処理の詳細は、図22にて後述する。ステップS2105の処理実行後、車載器102は、車載器によるECU情報登録要求生成処理を終了する。車載器によるECU情報登録要求生成処理を実行することにより、通信システム100は、ECU情報登録要求メッセージの生成を行うことができる。
図22は、車載器によるECU情報登録要求メッセージ送信処理手順の一例を示すフローチャートである。車載器によるECU情報登録要求メッセージ送信処理は、ECU情報登録要求メッセージを作成して、サーバ101に送信する処理である。車載器102は、ECU情報登録要求メッセージのメッセージ送信時刻フィールドに、現在時刻を設定する(ステップS2201)。なお、車載器102に現在時刻を取得する方法が無い場合、図20のステップS2002の処理にて受信したサーバからの返信メッセージの現在時刻フィールドの値を、現在時刻フィールドに設定してもよい。次に、車載器102は、ECU情報登録要求メッセージの端末IDフィールドに、端末位置付け管理テーブル701の端末IDフィールドの値を設定する(ステップS2202)。
続けて、車載器102は、ECU情報登録要求メッセージの現使用世代番号フィールドに、端末位置付け管理テーブル701の現使用世代番号フィールドの値を設定する(ステップS2203)。次に、車載器102は、端末基盤データ管理テーブル601内の、端末位置付け管理テーブル701の現使用世代番号フィールドと同一の値が世代番号フィールドに設定されたレコードを選択する(ステップS2204)。続けて、車載器102は、選択したレコードの基盤データフィールドの値から、共通鍵を生成する(ステップS2205)。
次に、車載器102は、生成した共通鍵を用いて、ECU情報登録要求メッセージを暗号化する(ステップS2206)。続けて、車載器102は、暗号化したECU情報登録要求メッセージを利用者端末201に送信する(ステップS2207)。ステップS2207の実行終了後、車載器102は、車載器によるECU情報登録要求メッセージ送信処理を終了する。車載器によるECU情報登録要求メッセージ送信処理を実行することにより、通信システム100は、ECU情報登録要求メッセージを生成して、サーバ101に送信することができる。
図23は、車載器によるサーバからの返信メッセージに対する改ざん検出処理手順の一例を示すフローチャートである。車載器による端末改ざん検出処理は、サーバからの返信メッセージの改ざんを検出する処理である。車載器102は、端末基盤データ管理テーブル601内の、サーバからの返信メッセージの現使用世代番号フィールドと同一の値が世代番号フィールドに設定されているレコードを検索する(ステップS2301)。次に、車載器102は、検索したレコードの基盤データフィールドの値を用いて、共通鍵を生成する(ステップS2302)。続けて、車載器102は、生成した共通鍵を用いて、受信したサーバからの返信メッセージ内の、暗号化領域を復号する(ステップS2303)。
次に、車載器102は、受信したサーバからの返信メッセージのメッセージ送信時刻フィールド_平文と、復号したメッセージ送信時刻フィールドの値が同一か否かを判断する(ステップS2304)。同一である場合(ステップS2304:Yes)、車載器102は、受信したサーバからの返信メッセージの現使用世代番号フィールド_平文と、復号した現使用世代番号フィールドの値が同一か否かを判断する(ステップS2305)。
同一である場合(ステップS2305:Yes)、車載器102は、サーバからの返信メッセージが改ざんされていないことを出力する(ステップS2306)。同一でない場合(ステップS2304:No、ステップS2305:No)、車載器102は、サーバからの返信メッセージが改ざんされていることを出力する(ステップS2307)。ステップS2306、またはステップS2307の実行終了後、車載器102は、車載器による端末改ざん検出処理を終了する。車載器によるサーバからの返信メッセージに対する改ざん検出処理を実行することにより、通信システム100は、サーバからの返信メッセージが改ざんされたか否かを判断することができる。
図24は、サーバによるメッセージ処理手順の一例を示すフローチャートである。サーバによるメッセージ処理は、利用者端末201から受信したECU情報登録要求メッセージに対する処理である。サーバ101は、サーバ位置付け管理テーブル501から初期共有済世代数、世代番号最大値、1世代有効期間、暗号方式を読み込む(ステップS2401)。次に、サーバ101は、利用者端末201からECU情報登録要求メッセージを受け付ける(ステップS2402)。
続けて、サーバ101は、受信したECU情報登録要求メッセージの端末IDに対する処理の排他区間を開始する(ステップS2403)。次に、サーバ101は、サーバ基盤データ管理テーブル401内の、受信したECU情報登録要求メッセージの端末ID_平文フィールドと、受信したECU情報登録要求メッセージの現使用世代番号_平文フィールドと同一の値を有する第1のレコードを検索する(ステップS2404)。続けて、サーバ101は、サーバ位置付け管理テーブル501内の、受信したECU情報登録要求メッセージの端末ID_平文と同一の値を有する第2のレコードを検索する(ステップS2405)。
次に、サーバ101は、第1および第2のレコードが存在するか否かを判断する(ステップS2406)。第1および第2のレコードが存在する場合(ステップS2406:Yes)、サーバ101は、受信したECU情報登録要求メッセージの現使用世代番号_平文フィールドの値が、第2のレコードの現使用世代番号フィールドの値と同一か否かを判断する(ステップS2407)。異なる場合(ステップS2407:No)、サーバ101は、受信したECU情報登録要求メッセージの端末IDフィールドの値と現使用世代番号_平文フィールドの値を指定して、サーバ改ざん検出処理を実行する(ステップS2408)。サーバ改ざん検出処理の詳細は、図31にて後述する。
ステップS2408の実行終了後、サーバ101は、受信したECU情報登録要求メッセージが改ざんされていると検出されたか否かを判断する(ステップS2409)。改ざんされていない場合(ステップS2409:No)、サーバ101は、変更後世代番号設定メッセージ送信処理を実行する(ステップS2410)。
同一である場合(ステップS2407:Yes)、サーバ101は、第2のレコードの端末IDフィールドの値と現使用世代番号フィールドの値を指定して、サーバ改ざん検出処理を実行する(ステップS2411)。次に、サーバ101は、受信したECU情報登録要求メッセージが改ざんされていると検出されたか否かを判断する(ステップS2412)。改ざんされていない場合(ステップS2412:No)、サーバ101は、通常メッセージ処理を実行する(ステップS2413)。
第1または第2のレコードが存在しない場合(ステップS2406:No)、または改ざんされていると検出した場合(ステップS2409:Yes、ステップS2412:Yes)、サーバ101は、エラーを示すメッセージを利用者端末201に送信する(ステップS2414)。
ステップS2410、ステップS2413、またはステップS2414のいずれかの処理を実行終了後、サーバ101は、受信したECU情報登録要求メッセージの端末IDに対する処理の排他区間を終了する(ステップS2415)。ステップS2415の実行終了後、サーバ101は、ステップS2402の処理に移行する。サーバによるメッセージ処理を実行することにより、通信システム100は、共通鍵を用いて車載器102と通信できる。
図25は、サーバによる通常メッセージ処理手順の一例を示すフローチャートである。サーバによる通常メッセージ処理は、ECU情報登録要求メッセージが改ざんされていなく、かつ、サーバ101の現使用世代番号で指定される鍵で暗号化されたECU情報登録要求メッセージに対する処理である。
なお、図25〜図31において、サーバ基盤データ管理テーブル401内のレコードを検索する処理については、受信したECU情報登録要求メッセージと端末IDフィールドの値が同一であるかという条件が付与されるため、記述を省略する。
サーバ101は、利用者端末201からの要求に応じた処理を実行し、返信データを作成する(ステップS2501)。返信データとは、利用者端末201からの要求に応じた処理の戻り値となるデータである。たとえば、ECU情報登録要求を利用者端末201から受け付けていた場合、返信データは、たとえば、登録成功、登録失敗といった値となる。
次に、サーバ101は、第1のレコードの新規世代番号フィールドが0か否かを判断する(ステップS2502)。0である場合(ステップS2502:Yes)、サーバ101は、新規世代番号設定処理を実行する(ステップS2503)。新規世代番号設定処理は、図26にて後述する。ステップS2503の処理終了後、サーバ101は、サーバによる通常メッセージ処理を終了する。
0でない場合(ステップS2502:No)、サーバ101は、現在時刻が、第1のレコードの適用開始時刻+1世代有効期間より大きいか否かを判断する(ステップS2504)。大きい場合(ステップS2504:Yes)、サーバ101は、サーバ基盤データ管理テーブル401内の、世代番号フィールドの値が第2のレコードの現使用世代番号以外であり、かつ、共有フラグフィールドの値が完了となる第3のレコードを検索する(ステップS2505)。
次に、サーバ101は、第3のレコードの切替前世代番号フィールドに、第2のレコードの現使用世代番号フィールドの値を設定する(ステップS2506)。続けて、サーバ101は、第2のレコードの現使用世代番号フィールドに、第3のレコードの世代番号フィールドの値を設定する(ステップS2507)。次に、サーバ101は、変更後世代番号設定メッセージ送信処理を実行する(ステップS2508)。変更後世代番号設定メッセージ送信処理の詳細は、図28にて後述する。ステップS2508の処理終了後、サーバ101は、サーバによる通常メッセージ処理を終了する。
以下となる場合(ステップS2504:No)、サーバ101は、受信したECU情報登録要求メッセージの共有済世代番号フィールドの値が0以外であり、受信したECU情報登録要求メッセージの共有済世代番号フィールドの値と第1のレコードの新規世代番号の値が一致するか否かを判断する(ステップS2509)。一致する場合(ステップS2509:Yes)、サーバ101は、サーバ基盤データ管理テーブル401内の、世代番号フィールドの値がECU情報登録要求メッセージの共有済世代番号フィールドの値と同一となるレコードの共有フラグフィールドの値を、完了に設定する(ステップS2510)。なお、ステップS2509:Yesとなる場合、ECU情報登録要求メッセージの新規世代番号フィールドの値が示す世代番号で指定される基盤データが、サーバ101と車載器102で共有できたことを示す。
次に、サーバ101は、返信メッセージ送信処理を実行する(ステップS2511)。返信メッセージ送信処理の詳細は、図30にて後述する。ステップS2511の処理終了後、サーバ101は、サーバによる通常メッセージ処理を終了する。
一致しない場合(ステップS2509:No)、サーバ101は、サーバ基盤データ管理テーブル401内の、第1のレコードの新規世代番号フィールドの値と同一の値が世代番号フィールドに設定された第4のレコードを検索する(ステップS2512)。なお、ステップS2509:Noとなる状態とは、ECU情報登録要求メッセージの共有済世代番号が設定されていない状態である。このような状態となるケースとしては、たとえば、サーバ101から送信した新規世代番号の基盤データが車載器102にまだ届いていないときである。したがって、サーバ101は、新規世代番号の基盤データを再送する。
次に、サーバ101は、第4のレコードを用いて、新規世代番号設定メッセージ送信処理を実行する(ステップS2513)。新規世代番号設定メッセージ送信処理の詳細は、図29にて後述する。ステップS2513の実行終了後、サーバ101は、サーバによる通常メッセージ処理を終了する。サーバによる通常メッセージ処理を実行することにより、通信システム100は、返信メッセージが改ざんされていなく、かつ、サーバ101の現使用世代番号で指定される鍵で暗号化された返信メッセージに対する処理を行える。
図26は、サーバによる新規世代番号設定処理手順の一例を示すフローチャートである。サーバによる新規世代番号設定処理は、サーバ基盤データ管理テーブル401に、新たな基盤データを設定する処理である。
サーバ101は、第1のレコードの適用開始時刻フィールドに、現在時刻を設定する(ステップS2601)。次に、サーバ101は、サーバ基盤データ管理テーブル401内の、第1のレコードの切替前世代番号フィールドの値と同一の値が世代番号フィールドに設定された第5のレコードを特定する(ステップS2602)。続けて、サーバ101は、サーバ基盤データ管理テーブル401内の、第5のレコードの新規世代番号フィールドの値と同一の値が世代番号フィールドに設定された第6のレコードを特定する(ステップS2603)。
次に、サーバ101は、第6のレコードの共有フラグフィールドが未完か否かを判断する(ステップS2604)。未完である場合(ステップS2604:Yes)、サーバ101は、第6のレコードを処理対象として基盤データ生成処理を実行する(ステップS2605)。基盤データ生成処理の詳細は、図27にて後述する。ステップS2605の実行終了後、または、完了である場合(ステップS2604:No)、サーバ101は、第5のレコードの共有フラグフィールドを未完に設定する(ステップS2606)。
次に、サーバ101は、第5のレコードを処理対象として基盤データ生成処理を実行する(ステップS2607)。続けて、サーバ101は、サーバ基盤データ管理テーブル401内の、共有フラグフィールドが未完に設定された第7のレコードを検索する(ステップS2608)。次に、サーバ101は、第7のレコードの世代番号フィールドの値を、第1のレコードの新規世代番号フィールドに設定する(ステップS2609)。続けて、サーバ101は、第7のレコードを用いて、新規世代番号設定メッセージ送信処理を実行する(ステップS2610)。ステップS2610の実行終了後、サーバ101は、サーバによる新規世代番号設定処理を終了する。サーバによる新規世代番号設定処理を実行することにより、通信システム100は、有効期間が終了し、用いられなくなった基盤データを消去して、新たな基盤データを用意することになるため、限られたメモリ領域の範囲で、新たな基盤データを次々用意できる。
図27は、サーバによる基盤データ生成処理手順の一例を示すフローチャートである。サーバによる基盤データ生成処理は、基盤データを生成する処理である。サーバ101は、対象レコードの適用開始時刻、新規世代番号、切替前世代番号の各フィールドの値を消去する(ステップS2701)。次に、サーバ101は、新たな乱数から生成した基盤データを取得する(ステップS2702)。続けて、サーバ101は、対象レコードの基盤データフィールドに、取得した基盤データを格納する(ステップS2703)。続けて、サーバ101は、対象レコードの基盤データ長フィールドに、取得した基盤データのデータサイズを設定する(ステップS2704)。ステップS2704の実行終了後、サーバ101は、サーバによる基盤データ生成処理を終了する。サーバによる基盤データ生成処理を実行することにより、通信システム100は、新たな基盤データを用意することができる。
図28は、サーバによる変更後世代番号設定メッセージ送信処理手順の一例を示すフローチャートである。サーバによる変更後世代番号設定メッセージ送信処理は、変更後世代番号設定メッセージを生成し、車載器102に送信する処理である。サーバ101は、返信メッセージのメッセージ送信時刻フィールドに、現在時刻を設定する(ステップS2801)。次に、サーバ101は、返信メッセージの現使用世代番号フィールドに、受信したメッセージの現使用世代番号_平文フィールドの値を設定する(ステップS2802)。なお、サーバ101は、返信メッセージ内の、メッセージ送信時刻_平文フィールドと、現使用世代番号_平文フィールドとについて、メッセージ送信時刻フィールドと現使用世代番号フィールドとの値を設定する。
続けて、サーバ101は、返信メッセージの変更後世代番号フィールドに、第2のレコードの現使用世代番号フィールドの値を設定する(ステップS2803)。次に、サーバ101は、返信メッセージの新規世代番号フィールドに、0を設定する(ステップS2804)。続けて、サーバ101は、サーバ基盤データ管理テーブル401内の、受信したメッセージの現使用世代番号_平文フィールドの値と同一の値が世代番号フィールドに設定されたレコードを選択する(ステップS2805)。次に、サーバ101は、選択したレコードの基盤データフィールドの値から、共通鍵を生成する(ステップS2806)。
続けて、サーバ101は、生成した共通鍵を用いて、返信メッセージを暗号化する(ステップS2807)。次に、サーバ101は、暗号化した返信メッセージを利用者端末201に送信する(ステップS2808)。ステップS2808の実行終了後、通信システム100は、変更後世代番号設定メッセージを車載器102に送信することができる。
図29は、サーバによる新規世代番号設定メッセージ送信処理手順の一例を示すフローチャートである。サーバによる新規世代番号設定メッセージ送信処理は、新規世代番号設定メッセージを生成し、車載器102に送信する処理である。また、図29のステップS2901、ステップS2902、ステップS2908〜ステップS2910は、ステップS2801、ステップS2802、ステップS2806〜ステップS2808と同一の処理であるため、説明を省略する。
ステップS2902の実行終了後、サーバ101は、返信メッセージの変更後世代番号フィールドに、0を設定する(ステップS2903)。次に、サーバ101は、返信メッセージの新規世代番号フィールドに、対象レコードの世代番号の値を設定する(ステップS2904)。続けて、サーバ101は、返信メッセージの新規世代番号基盤データ長フィールドに、対象レコードの基盤データ長の値を設定する(ステップS2905)。次に、サーバ101は、返信メッセージの新規世代番号基盤データフィールドに、対象レコードの基盤データの値を設定する(ステップS2906)。
続けて、サーバ101は、サーバ基盤データ管理テーブル401内の、サーバ位置付け管理テーブル501の現使用世代番号フィールドの値と同一の値が世代番号フィールドに設定されたレコードを選択する(ステップS2907)。ステップS2907の実行終了後、サーバ101は、ステップS2908の処理を実行する。サーバによる新規世代番号設定メッセージ送信処理を実行することにより、通信システム100は、新規世代番号設定メッセージを車載器102に送信することができる。
図30は、サーバによる返信メッセージ送信処理手順の一例を示すフローチャートである。サーバによる返信メッセージ送信処理は、返信メッセージを生成し、車載器102に送信する処理である。また、図30のステップS3001、ステップS3002、ステップS3005〜ステップS3007は、ステップS2801、ステップS2802、ステップS2806〜ステップS2808と同一の処理であるため、説明を省略する。
ステップS3002の実行終了後、サーバ101は、返信メッセージの変更後世代番号と、新規世代番号フィールドに、0を設定する(ステップS3003)。次に、サーバ101は、サーバ基盤データ管理テーブル401内の、受信したメッセージの現使用世代番号_平文フィールドの値と同一の値が世代番号フィールドに設定されたレコードを選択する(ステップS3004)。ステップS3004の終了後、サーバ101は、ステップS3005の処理を実行する。サーバによる返信メッセージ送信処理を実行することにより、通信システム100は、返信メッセージを車載器102に送信することができる。
図31は、サーバによるサーバ改ざん検出処理手順の一例を示すフローチャートである。サーバによるサーバ改ざん検出処理は、ECU情報登録要求メッセージの改ざんを検出する処理である。また、図31のステップS3102〜ステップS3105、ステップS3107、ステップS3108は、ステップS2302〜ステップS2307と比較すると、実行主体が車載器102からサーバ101になり、処理内容は同一であるため、説明を省略する。
サーバ101は、サーバ基盤データ管理テーブル401内の、世代番号と同一の値が世代番号フィールドに設定されているレコードを検索する(ステップS3101)。ステップS3101の実行終了後、サーバ101は、ステップS3102の処理を実行する。
ステップS3105:Yesとなった場合、サーバ101は、受信したECU情報登録要求メッセージの端末IDフィールド_平文と、復号した端末IDフィールドの値が同一か否かを判断する(ステップS3106)。同一である場合(ステップS3106:Yes)、サーバ101は、ステップS3107の処理を実行する。同一でない場合(ステップS3106:No)、サーバ101は、ステップS3108の処理を実行する。サーバによる端末改ざん検出処理を実行することにより、通信システム100は、ECU情報登録要求メッセージが改ざんされたか否かを判断することができる。
以上説明したように、サーバ101によれば、通信先からの暗号文の受信の度に、いずれかの鍵の次の鍵が無ければ次の鍵を設定して次の鍵をいずれかの鍵で暗号化して送信する。これにより、通信システム100は、1度のみ暗号化に使われたいずれかの鍵で次の鍵を暗号化するため、安全性を向上できる。たとえば、いずれかの鍵が有効でなくなった場合に、いずれかの鍵を用いて暗号化して次の鍵を送信すると、既にいずれかの鍵が第3者に導出されている場合、次の鍵も第3者が取得することができてしまうことになる。本実施の形態にかかる通信方法では、初めて暗号化に用いられた鍵にて、次の鍵を暗号化して送信するため、第3者によって導出されている可能性を小さくすることができるため、安全性を向上できる。
また、サーバ101によれば、いずれかの鍵が有効でない場合に、次に用いる鍵の識別情報を、いずれかの鍵を用いて暗号化して車載器102に送信してもよい。これにより、次に用いる鍵は事前に車載器102に送信してあるため、サーバ101が次に用いる鍵に切り替える際、次に用いる鍵を送信しなくともよくなり、通信システム100は、通信の安全性を向上できる。
また、サーバ101によれば、次に用いる鍵の識別情報が記憶されていない場合、前に用いられた前の鍵を特定し、サーバ基盤データ管理テーブル401が記憶している複数の鍵のうちの、前の鍵とは異なる鍵を、次の鍵として取得してもよい。これにより、サーバ101が過去に用いられた鍵をもう一度暗号化に用いることがなくなり、通信システム100は、通信の安全性を向上できる。
また、サーバ101によれば、次に用いる鍵の識別情報が記憶されていない場合、前に用いられた前の鍵と前の鍵の識別情報をサーバ基盤データ管理テーブル401から削除してもよい。これにより、サーバ101は、鍵を記憶する記憶領域を削減できる。また、サーバ101は、鍵を検索する場合、検索対象となるレコード数が減少するため、検索にかかる処理時間を短縮することができる。
また、サーバ101は、共通鍵が初めて暗号化に用いられたか否かを、次に用いる鍵の識別情報が記憶されているか否かで判断しているため、共通鍵が何回用いられたか計数しなくてもよい。また、サーバ101は、共通鍵が用いられた回数を計数し、特定の回数になったら次に用いる鍵を取得してもよい。また、サーバ101は、特定の回数を、鍵ごとに変えてもよい。
また、共通鍵暗号方式以外の暗号方式として、公開鍵暗号方式もある。しかし、公開鍵暗号方式は、暗号処理のオーバーヘッドが大きいため、車載器102のような処理能力が低い装置では、暗号処理に時間がかかってしまう。本実施の形態にかかる通信方法は、共通鍵暗号方式であるため、車載器102のような処理能力が低い装置でも、短い処理時間で暗号処理を実行できる。
また、本実施の形態にかかる通信システム100は、共通鍵そのものは送信せず、共通鍵の生成元となる基盤データをやり取りする。したがって、第3者が基盤データを導出したとしても、第3者が基盤データから共通鍵を生成する方法が特定できなければ、通信システム100は、通信の安全性を維持できる。
また、本実施の形態にかかる通信システム100は、自動車のECU情報のやり取り以外にも、家電機器の情報や、医療器具の情報、または消費者に利用されている機器の動作上の情報をやり取りする際に適用することができる。また、本実施の形態にかかる通信システム100は、利用者端末201を介さないシステムであってもよい。
なお、本実施の形態で説明した通信方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本通信プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本通信プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
共通鍵暗号方式に用いられる複数の鍵のうちのいずれかの鍵を用いて暗号化された暗号化データと前記いずれかの鍵の識別情報とを通信先装置から受け付け、
受け付けた前記いずれかの鍵の識別情報から、前記複数の鍵の各々の鍵ごとに前記各々の鍵と前記各々の鍵の識別情報とを記憶する記憶部を参照して、前記いずれかの鍵の識別情報に対応付けて前記いずれかの鍵の次に用いる鍵の識別情報が記憶されているか否かを判定し、
前記次に用いる鍵の識別情報が記憶されていない場合、前記記憶部に記憶されている前記複数の鍵のうちの前記いずれかの鍵とは異なる他の鍵と前記他の鍵の識別情報とを取得し、
前記記憶部に記憶されている前記いずれかの鍵の識別情報に対応付けて、取得した前記他の鍵の識別情報を格納し、
取得した前記他の鍵と前記他の鍵の識別情報とを、前記記憶部に記憶されている前記いずれかの鍵を用いて暗号化し、
暗号化した前記他の鍵と、暗号化した前記他の鍵の識別情報と、前記いずれかの鍵の識別情報とを前記通信先装置に送信する、
処理を実行させることを特徴とする通信プログラム。
(付記2)前記コンピュータに、
前記次に用いる鍵の識別情報が記憶されている場合、前記いずれかの鍵が最初に用いられてからの経過時間または前記いずれかの鍵が用いられた回数に基づいて、前記いずれかの鍵が有効か否かを判断し、
前記いずれかの鍵が有効でない場合、前記次に用いる鍵の識別情報を、前記記憶部に記憶されている前記いずれかの鍵を用いて暗号化し、
暗号化した前記次に用いる鍵の識別情報と、前記いずれかの鍵の識別情報とを前記通信先装置に送信する、
処理を実行させることを特徴とする付記1に記載の通信プログラム。
(付記3)前記コンピュータに、
前記次に用いる鍵の識別情報が記憶されていない場合、前記記憶部の記憶内容に基づいて、前記いずれかの鍵の前に前記通信先装置が用いた前の鍵を特定する処理を実行させ、
前記取得する処理は、
前記記憶部に記憶されている前記複数の鍵のうちの前記いずれかの鍵および前記特定した鍵とは異なる他の鍵と前記他の鍵の識別情報とを取得することを特徴とする付記1または2に記載の通信プログラム。
(付記4)前記コンピュータに、
前記次に用いる鍵の識別情報が記憶されていない場合、前記記憶部の記憶内容に基づいて、前記いずれかの鍵の前に前記通信先装置が用いた前の鍵を特定し、
前記記憶部に記憶されている前記複数の鍵のうちの、特定した前記前の鍵と前記前の鍵の識別情報とを削除する処理を実行させ、
前記取得する処理は、
削除した削除後の前記記憶部に記憶されている鍵のうちの前記いずれかの鍵とは異なる他の鍵と前記他の鍵の識別情報とを取得することを特徴とする付記1〜3のいずれか一つに記載の通信プログラム。
(付記5)共通鍵暗号方式に用いられる複数の鍵のうちのいずれかの鍵を用いて暗号化された暗号化データと前記いずれかの鍵の識別情報とを通信先装置から受け付け、
受け付けた前記いずれかの鍵の識別情報から、前記複数の鍵の各々の鍵ごとに前記各々の鍵と前記各々の鍵の識別情報とを記憶する記憶部を参照して、前記いずれかの鍵の識別情報に対応付けて前記いずれかの鍵の次に用いる鍵の識別情報が記憶されているか否かを判定し、
前記次に用いる鍵の識別情報が記憶されていない場合、前記記憶部に記憶されている前記複数の鍵のうちの前記いずれかの鍵とは異なる他の鍵と前記他の鍵の識別情報とを取得し、
前記記憶部に記憶されている前記いずれかの鍵の識別情報に対応付けて、取得した前記他の鍵の識別情報を格納し、
取得した前記他の鍵と前記他の鍵の識別情報とを、前記記憶部に記憶されている前記いずれかの鍵を用いて暗号化し、
暗号化した前記他の鍵と、暗号化した前記他の鍵の識別情報と、前記いずれかの鍵の識別情報とを前記通信先装置に送信する、
処理をコンピュータに実行させる通信プログラムを記録したことを特徴とする記録媒体。
(付記6)共通鍵暗号方式に用いられる複数の鍵のうちのいずれかの鍵を用いて暗号化された暗号化データと前記いずれかの鍵の識別情報とを通信先装置から受け付ける受付部と、
前記受付部によって受け付けられた前記いずれかの鍵の識別情報から、前記複数の鍵の各々の鍵ごとに前記各々の鍵と前記各々の鍵の識別情報とを記憶する記憶部を参照して、前記いずれかの鍵の識別情報に対応付けて前記いずれかの鍵の次に用いる鍵の識別情報が記憶されているか否かを判定する判定部と、
前記判定部によって前記次に用いる鍵の識別情報が記憶されていないと判定された場合、前記記憶部に記憶されている前記複数の鍵のうちの前記いずれかの鍵とは異なる他の鍵と前記他の鍵の識別情報とを取得する取得部と、
前記記憶部に記憶されている前記いずれかの鍵の識別情報に対応付けて、前記取得部によって取得された前記他の鍵の識別情報を格納する格納部と、
前記取得部によって取得された前記他の鍵と前記他の鍵の識別情報とを、前記記憶部に記憶されている前記いずれかの鍵を用いて暗号化する暗号化部と、
前記暗号化部によって暗号化された前記他の鍵と、暗号化した前記他の鍵の識別情報と、前記いずれかの鍵の識別情報とを前記通信先装置に送信する送信制御部と、
を有することを特徴とする通信装置。
(付記7)共通鍵暗号方式に用いられる複数の鍵のうちのいずれかの鍵を用いて暗号化された暗号化データと前記いずれかの鍵の識別情報とを通信先装置から受け付ける受付部と、
前記受付部によって受け付けられた前記いずれかの鍵の識別情報から、前記複数の鍵の各々の鍵ごとに前記各々の鍵と前記各々の鍵の識別情報とを記憶する記憶部を参照して、前記いずれかの鍵の識別情報に対応付けて前記いずれかの鍵の次に用いる鍵の識別情報が記憶されているか否かを判定する判定部と、
前記判定部によって前記次に用いる鍵の識別情報が記憶されていないと判定された場合、前記記憶部に記憶されている前記複数の鍵のうちの前記いずれかの鍵とは異なる他の鍵と前記他の鍵の識別情報とを取得する取得部と、
前記記憶部に記憶されている前記いずれかの鍵の識別情報に対応付けて、前記取得部によって取得された前記他の鍵の識別情報を格納する格納部と、
前記取得部によって取得された前記他の鍵と前記他の鍵の識別情報とを、前記記憶部に記憶されている前記いずれかの鍵を用いて暗号化する暗号化部と、
前記暗号化部によって暗号化された前記他の鍵と、暗号化した前記他の鍵の識別情報と、前記いずれかの鍵の識別情報とを前記通信先装置に送信する送信制御部と、
を有するコンピュータを含むことを特徴とする通信装置。
(付記8)コンピュータが、
共通鍵暗号方式に用いられる複数の鍵のうちのいずれかの鍵を用いて暗号化された暗号化データと前記いずれかの鍵の識別情報とを通信先装置から受け付け、
受け付けた前記いずれかの鍵の識別情報から、前記複数の鍵の各々の鍵ごとに前記各々の鍵と前記各々の鍵の識別情報とを記憶する記憶部を参照して、前記いずれかの鍵の識別情報に対応付けて前記いずれかの鍵の次に用いる鍵の識別情報が記憶されているか否かを判定し、
前記次に用いる鍵の識別情報が記憶されていない場合、前記記憶部に記憶されている前記複数の鍵のうちの前記いずれかの鍵とは異なる他の鍵と前記他の鍵の識別情報とを取得し、
前記記憶部に記憶されている前記いずれかの鍵の識別情報に対応付けて、取得した前記他の鍵の識別情報を格納し、
取得した前記他の鍵と前記他の鍵の識別情報とを、前記記憶部に記憶されている前記いずれかの鍵を用いて暗号化し、
暗号化した前記他の鍵と、暗号化した前記他の鍵の識別情報と、前記いずれかの鍵の識別情報とを前記通信先装置に送信する、
処理を実行することを特徴とする通信方法。
100 通信システム
101 サーバ
102 車載器
401 サーバ基盤データ管理テーブル
1201 受付部
1202 判定部
1203 特定部
1204 削除部
1205 取得部
1206 判断部
1207 格納部
1208 暗号化部
1209 送信制御部
1210 通信部

Claims (6)

  1. コンピュータに、
    共通鍵暗号方式に用いられる複数の鍵のうちのいずれかの鍵を用いて暗号化された暗号化データと前記いずれかの鍵の識別情報とを通信先装置から受け付け、
    受け付けた前記いずれかの鍵の識別情報から、前記複数の鍵の各々の鍵ごとに前記各々の鍵と前記各々の鍵の識別情報とを記憶する記憶部を参照して、前記いずれかの鍵の識別情報に対応付けて前記いずれかの鍵の次に用いる鍵の識別情報が記憶されているか否かを判定し、
    前記次に用いる鍵の識別情報が記憶されていない場合、前記記憶部に記憶されている前記複数の鍵のうちの前記いずれかの鍵とは異なる他の鍵と前記他の鍵の識別情報とを取得し、
    前記記憶部に記憶されている前記いずれかの鍵の識別情報に対応付けて、取得した前記他の鍵の識別情報を格納し、
    取得した前記他の鍵と前記他の鍵の識別情報とを、前記記憶部に記憶されている前記いずれかの鍵を用いて暗号化し、
    暗号化した前記他の鍵と、暗号化した前記他の鍵の識別情報と、前記いずれかの鍵の識別情報とを前記通信先装置に送信する、
    処理を実行させることを特徴とする通信プログラム。
  2. 前記コンピュータに、
    前記次に用いる鍵の識別情報が記憶されている場合、前記いずれかの鍵が最初に用いられてからの経過時間または前記いずれかの鍵が用いられた回数に基づいて、前記いずれかの鍵が有効か否かを判断し、
    前記いずれかの鍵が有効でない場合、前記次に用いる鍵の識別情報を、前記記憶部に記憶されている前記いずれかの鍵を用いて暗号化し、
    暗号化した前記次に用いる鍵の識別情報と、前記いずれかの鍵の識別情報とを前記通信先装置に送信する、
    処理を実行させることを特徴とする請求項1に記載の通信プログラム。
  3. 前記コンピュータに、
    前記次に用いる鍵の識別情報が記憶されていない場合、前記記憶部の記憶内容に基づいて、前記いずれかの鍵の前に前記通信先装置が用いた前の鍵を特定する処理を実行させ、
    前記取得する処理は、
    前記記憶部に記憶されている前記複数の鍵のうちの前記いずれかの鍵および前記特定した鍵とは異なる他の鍵と前記他の鍵の識別情報とを取得することを特徴とする請求項1または2に記載の通信プログラム。
  4. 前記コンピュータに、
    前記次に用いる鍵の識別情報が記憶されていない場合、前記記憶部の記憶内容に基づいて、前記いずれかの鍵の前に前記通信先装置が用いた前の鍵を特定し、
    前記記憶部に記憶されている前記複数の鍵のうちの、特定した前記前の鍵と前記前の鍵の識別情報とを削除する処理を実行させ、
    前記取得する処理は、
    削除した削除後の前記記憶部に記憶されている鍵のうちの前記いずれかの鍵とは異なる他の鍵と前記他の鍵の識別情報とを取得することを特徴とする請求項1〜3のいずれか一つに記載の通信プログラム。
  5. 共通鍵暗号方式に用いられる複数の鍵のうちのいずれかの鍵を用いて暗号化された暗号化データと前記いずれかの鍵の識別情報とを通信先装置から受け付ける受付部と、
    前記受付部によって受け付けられた前記いずれかの鍵の識別情報から、前記複数の鍵の各々の鍵ごとに前記各々の鍵と前記各々の鍵の識別情報とを記憶する記憶部を参照して、前記いずれかの鍵の識別情報に対応付けて前記いずれかの鍵の次に用いる鍵の識別情報が記憶されているか否かを判定する判定部と、
    前記判定部によって前記次に用いる鍵の識別情報が記憶されていないと判定された場合、前記記憶部に記憶されている前記複数の鍵のうちの前記いずれかの鍵とは異なる他の鍵と前記他の鍵の識別情報とを取得する取得部と、
    前記記憶部に記憶されている前記いずれかの鍵の識別情報に対応付けて、前記取得部によって取得された前記他の鍵の識別情報を格納する格納部と、
    前記取得部によって取得された前記他の鍵と前記他の鍵の識別情報とを、前記記憶部に記憶されている前記いずれかの鍵を用いて暗号化する暗号化部と、
    前記暗号化部によって暗号化された前記他の鍵と、暗号化した前記他の鍵の識別情報と、前記いずれかの鍵の識別情報とを前記通信先装置に送信する送信制御部と、
    を有することを特徴とする通信装置。
  6. コンピュータが、
    共通鍵暗号方式に用いられる複数の鍵のうちのいずれかの鍵を用いて暗号化された暗号化データと前記いずれかの鍵の識別情報とを通信先装置から受け付け、
    受け付けた前記いずれかの鍵の識別情報から、前記複数の鍵の各々の鍵ごとに前記各々の鍵と前記各々の鍵の識別情報とを記憶する記憶部を参照して、前記いずれかの鍵の識別情報に対応付けて前記いずれかの鍵の次に用いる鍵の識別情報が記憶されているか否かを判定し、
    前記次に用いる鍵の識別情報が記憶されていない場合、前記記憶部に記憶されている前記複数の鍵のうちの前記いずれかの鍵とは異なる他の鍵と前記他の鍵の識別情報とを取得し、
    前記記憶部に記憶されている前記いずれかの鍵の識別情報に対応付けて、取得した前記他の鍵の識別情報を格納し、
    取得した前記他の鍵と前記他の鍵の識別情報とを、前記記憶部に記憶されている前記いずれかの鍵を用いて暗号化し、
    暗号化した前記他の鍵と、暗号化した前記他の鍵の識別情報と、前記いずれかの鍵の識別情報とを前記通信先装置に送信する、
    処理を実行することを特徴とする通信方法。
JP2014522348A 2012-06-29 2012-06-29 通信プログラム、通信装置、および通信方法 Active JP5930030B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/066814 WO2014002280A1 (ja) 2012-06-29 2012-06-29 通信プログラム、記録媒体、通信装置、および通信方法

Publications (2)

Publication Number Publication Date
JPWO2014002280A1 JPWO2014002280A1 (ja) 2016-05-30
JP5930030B2 true JP5930030B2 (ja) 2016-06-08

Family

ID=49782503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014522348A Active JP5930030B2 (ja) 2012-06-29 2012-06-29 通信プログラム、通信装置、および通信方法

Country Status (5)

Country Link
US (1) US9525670B2 (ja)
EP (1) EP2869492B1 (ja)
JP (1) JP5930030B2 (ja)
CN (1) CN104429018B (ja)
WO (1) WO2014002280A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106593120A (zh) * 2017-01-12 2017-04-26 武汉世纪金桥安全技术有限公司 一种即时无线供电的电子锁工作方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6093503B2 (ja) * 2012-01-31 2017-03-08 株式会社東海理化電機製作所 電子キー登録方法
WO2014075293A1 (en) * 2012-11-16 2014-05-22 Nokia Corporation Transmission of motion data
SG11201508725SA (en) * 2013-04-25 2015-11-27 Treebox Solutions Pte Ltd Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication
JP6188672B2 (ja) * 2014-10-29 2017-08-30 Kddi株式会社 鍵管理システム
JP6192673B2 (ja) * 2015-03-04 2017-09-06 Kddi株式会社 鍵管理システム、鍵管理方法およびコンピュータプログラム
US10218702B2 (en) * 2015-11-09 2019-02-26 Silvercar, Inc. Vehicle access systems and methods
DE102015121861A1 (de) * 2015-12-15 2017-06-22 Endress + Hauser Flowtec Ag Zugangsschlüssel für ein Feldgerät
CN105635177A (zh) * 2016-02-23 2016-06-01 苏州元禾医疗器械有限公司 一种加密数据传输方法、装置及系统
JP6436123B2 (ja) * 2016-03-30 2018-12-12 マツダ株式会社 車両用情報通信システム、車両用情報通信方法、車載情報装置用プログラムおよびアプリケーションプログラム
JP6260067B1 (ja) 2016-08-09 2018-01-17 Kddi株式会社 管理システム、鍵生成装置、車載コンピュータ、管理方法、及びコンピュータプログラム
JP6454919B2 (ja) * 2017-10-10 2019-01-23 Kddi株式会社 管理システム、データ提供装置、車載コンピュータ、管理方法、及びコンピュータプログラム
US20190190899A1 (en) * 2017-12-18 2019-06-20 Thorsten Wilmer Secure storage of monotonic odo value inside a secure hardware elements update counter
JP6954141B2 (ja) * 2018-01-16 2021-10-27 トヨタ自動車株式会社 電子キーシステム及び電子キー管理装置
EP3865822A1 (en) * 2018-05-15 2021-08-18 Mobileye Vision Technologies Ltd. Systems and methods for autonomous vehicle navigation
US11496445B2 (en) * 2018-05-23 2022-11-08 Sideassure, Inc. Electronic device for secure communications with an automobile
US11038698B2 (en) * 2018-09-04 2021-06-15 International Business Machines Corporation Securing a path at a selected node
JP2020088836A (ja) * 2018-11-15 2020-06-04 Kddi株式会社 車両メンテナンスシステム、メンテナンスサーバ装置、管理サーバ装置、車載装置、メンテナンスツール、コンピュータプログラム及び車両メンテナンス方法
KR20220000537A (ko) * 2020-06-26 2022-01-04 현대자동차주식회사 차량 네트워크 기반의 데이터 송수신 시스템 및 그 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11136234A (ja) * 1997-10-30 1999-05-21 Nec Corp 利用者認証方式および利用者認証方法
JP4644900B2 (ja) 2000-03-07 2011-03-09 ソニー株式会社 通信手段を介したサービス提供システム、サービス提供方法、およびサービス仲介装置、並びにプログラム提供媒体
JP2003110549A (ja) * 2001-09-28 2003-04-11 Sony Corp 情報伝送システム、受信装置、暗号鍵検索装置及び暗号鍵検索方法
JP3919519B2 (ja) 2001-12-06 2007-05-30 日本信号株式会社 クライアントサーバシステム
JP3770173B2 (ja) 2002-02-14 2006-04-26 日本電気株式会社 共通鍵管理システムおよび共通鍵管理方法
US8369525B2 (en) * 2002-10-24 2013-02-05 At&T Mobility Ii Llc Dynamic password update for wireless encryption system
JP4649865B2 (ja) * 2003-11-06 2011-03-16 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP4784131B2 (ja) * 2005-04-11 2011-10-05 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2008059450A (ja) 2006-09-01 2008-03-13 Denso Corp 車両情報書換えシステム
JP4921899B2 (ja) 2006-09-07 2012-04-25 日本放送協会 暗号化装置、復号化装置及び暗号鍵更新方法
JP5270955B2 (ja) 2008-04-23 2013-08-21 パナソニック株式会社 車載装置、サーバ装置および通信システム
US9240883B2 (en) * 2008-09-04 2016-01-19 Intel Corporation Multi-key cryptography for encrypting file system acceleration
JP5119137B2 (ja) * 2008-12-05 2013-01-16 日立コンシューマエレクトロニクス株式会社 ディジタル放送信号記録再生装置、ディジタル放送信号記録再生方法、ディジタル放送信号記録方法、ディジタル情報記録再生装置、ディジタル情報記録再生方法、および、ディジタル情報記録方法
JP2010273181A (ja) * 2009-05-22 2010-12-02 Denso Corp 車載デバイス管理システム
US8630416B2 (en) * 2009-12-21 2014-01-14 Intel Corporation Wireless device and method for rekeying with reduced packet loss for high-throughput wireless communications
US20120155647A1 (en) * 2010-12-21 2012-06-21 General Instrument Corporation Cryptographic devices & methods

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106593120A (zh) * 2017-01-12 2017-04-26 武汉世纪金桥安全技术有限公司 一种即时无线供电的电子锁工作方法

Also Published As

Publication number Publication date
EP2869492A4 (en) 2015-08-12
EP2869492A1 (en) 2015-05-06
US9525670B2 (en) 2016-12-20
EP2869492B1 (en) 2017-05-24
CN104429018B (zh) 2017-09-26
WO2014002280A1 (ja) 2014-01-03
JPWO2014002280A1 (ja) 2016-05-30
CN104429018A (zh) 2015-03-18
US20150113280A1 (en) 2015-04-23

Similar Documents

Publication Publication Date Title
JP5930030B2 (ja) 通信プログラム、通信装置、および通信方法
CN113591119B (zh) 跨域标识解析节点数据隐私保护与安全共享方法及系统
JP6721266B2 (ja) 鍵管理システム、通信機器および鍵共有方法
CN103392178A (zh) 数据库加密系统、方法和程序
JP3939453B2 (ja) 情報仲介システム
CN117118754B (zh) 物联网设备的信息交互管理方法、装置、设备及介质
KR102358833B1 (ko) 차량에서 기록된 이벤트 데이터를 수집 및 관리하는 방법 및 시스템
CN113961893A (zh) 基于区块链的用户登录方法、装置、电子设备及存储介质
CN110995720A (zh) 加密方法、装置、主机端及加密芯片
CN115150109B (zh) 认证方法、装置及相关设备
EP2286610B1 (en) Techniques for peforming symmetric cryptography
CN113783687B (zh) 一种汽车电子防盗码的生成与加解密方法和系统
CN111295656A (zh) 隐私保护日志分析
CN115567271A (zh) 鉴权方法和装置、页面跳转方法和装置、电子设备及介质
CN116264513A (zh) 隐私信息保护方法、装置、设备及存储介质
CN114662140A (zh) 基于区块链的允许确认身分的匿名公开暨多对多承认的系统及其方法
CN112804364B (zh) 公务用车安全管控方法及系统
CN117353993A (zh) 基于权限级别的通信加密方法及设备
CN113723913B (zh) 核电厂文件管理方法、装置、设备及存储介质
CN114244823B (zh) 一种基于Http请求自动变形的渗透测试方法及系统
CN116257887B (zh) 数据查询方法、装置、系统、设备及存储介质
CN109861958B (zh) 基于Nginx的数据收集系统及方法
CN118450386A (zh) 设备指纹的加密、解密方法、装置、电子设备及存储介质
JP4448058B2 (ja) サービス提供システム、サービス提供方法およびサービス提供プログラム
JP4886880B2 (ja) 遊技機の個別管理システム、遊技機の個別管理方法、遊技機の稼働状況監視システム及び遊技機の稼働状況監視方法

Legal Events

Date Code Title Description
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: 20160405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160418

R150 Certificate of patent or registration of utility model

Ref document number: 5930030

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150