(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記のような電子キーシステムでは、車両自体に侵入して、装置内部の動作状況を解析してチャレンジレスポンス認証に必要な情報を取得するサイドチャネル攻撃がある。例えば、チャレンジレスポンス認証のレスポンスの生成方法を解析されるおそれがある。そして、サイドチャネル攻撃を受けた場合には、電子キーを携帯しない第三者によって取得された情報が通信されてチャレンジレスポンス認証が成立することで、第三者によって勝手に車両ドアの解錠やエンジンの始動が許可又は実行されるおそれがある。そこで、サイドチャネル攻撃を受けたとしても、不正なチャレンジレスポンス認証を防ぐことができる電子キーシステムが求められている。
【0005】
本発明は、こうした実情に鑑みてなされたものであり、その目的は、サイドチャネル攻撃による不正なチャレンジレスポンス認証を防ぐことができる電子キーシステムを提供することにある。
【課題を解決するための手段】
【0006】
以下、上記課題を解決するための手段及びその作用効果について説明する。
上記課題を解決する電子キーシステムは、電子キーと通信対象とのチャレンジレスポンス認証が成立したことに基づいて当該通信対象の制御が可能となる電子キーシステムにおいて、前記通信対象が、チャレンジと、当該チャレンジを暗号鍵によって暗号化したレスポンスとのペアを予め複数生成して、これらチャレンジとレスポンスとの複数のペアを記憶しておき、記憶しておいたチャレンジを送信するとともに、当該チャレンジとペアであるレスポンスを読み出し、前記通信対象から送信された前記チャレンジを受信した前記電子キーが暗号鍵によって暗号化したレスポンスを送信し、前記通信対象に記憶していた前記レスポンスと前記電子キーから送信された前記レスポンスとが一致したときにチャレンジレスポンス認証が成立したと前記通信対象が判断することをその要旨としている。
【0007】
サイドチャネル攻撃では、チャレンジを送信した後に、通信対象が暗号鍵によって該チャレンジを暗号化することでレスポンスを生成する際の消費電力等を解析して、暗号鍵が解析される。そこで、上記構成によれば、チャレンジとレスポンスとのペアを予め複数生成して記憶しておいて、記憶しておいたチャレンジとレスポンスとを読み出して、チャレンジレスポンス認証を行う。このため、チャレンジを送信した後にレスポンスを生成するための暗号化が行われないので、該チャレンジを暗号化する際の消費電力等を取得されることを防ぐことができる。よって、サイドチャネル攻撃による不正なチャレンジレスポンス認証を防ぐことができる。
【0008】
上記電子キーシステムについて、前記通信対象は、記憶したチャレンジとレスポンスとの複数のペアからランダムに読み出して使用することが好ましい。
チャレンジとレスポンスとを予め生成する際に、消費電力等が取得された上で、記憶したチャレンジとレスポンスとのペアから順番に読み出すと、取得した消費電力等が、どのチャレンジを暗号化した際のものであるかを特定できるため、サイドチャネル攻撃による暗号鍵解読のおそれがある。そこで、上記構成によれば、チャレンジとレスポンスとの複数のペアからランダムに読み出すことで、読み出す順番に規則性がなくなることとなる。このため、予め生成して記憶したチャレンジとレスポンスとの順番からレスポンスの生成方法が解析されることを防ぐことができる。
【0009】
上記電子キーシステムについて、前記通信対象は、ハミング重みが同じであるチャレンジと、当該チャレンジとペアとなるレスポンスとを複数記憶することが好ましい。
例えば、ハミング重みの異なる複数のチャレンジを生成した際には、サイドチャネルアタックの解析によってはハミング重みの違いからチャレンジを推測され、取得した消費電力等がどのチャレンジを暗号化する際のものであるかを特定されるおそれがある。そこで、上記構成によれば、ハミング重みが同じチャレンジとそのペアとなるレスポンスとを記憶するので、ハミング重みの違いからレスポンスの生成方法が解析されることを防ぐことができる。
【0010】
上記電子キーシステムについて、前記通信対象は、記憶されたチャレンジとレスポンスとのペアが所定値に達していないことを条件に、記憶されたチャレンジとレスポンスとのペアが前記所定値に達するまでチャレンジとレスポンスとのペアを生成して記憶することが好ましい。
【0011】
上記構成によれば、記憶されたチャレンジとレスポンスとのペアが所定値に達しないときに、所定値に達するまでチャレンジとレスポンスとのペアを生成して記憶する。このため、チャレンジとレスポンスとのペアが所定値記憶されている状態を多くの期間維持することができ、チャレンジとレスポンスとのペアを読み出すときには、複数のペアから選択することができる。
【0012】
上記電子キーシステムについて、前記通信対象は、チャレンジを送信した直後に、記憶されたチャレンジとレスポンスとのペアが前記所定値あるか否か確認することが好ましい。
【0013】
上記構成によれば、チャレンジを送信した直後に、記憶されたチャレンジとレスポンスとのペアが所定値あるか否か確認するので、所定値なければ、チャレンジを送信した直後にチャレンジとレスポンスとのペアを生成することとなる。このため、送信したチャレンジと、生成したチャレンジとレスポンスとのペアとを混在させることとなるので、サイドチャネル攻撃による解析を妨げることができる。
【0014】
上記電子キーシステムについて、前記通信対象は、予め決めたタイミングでチャレンジとレスポンスとのペアを生成して、生成したチャレンジとレスポンスとのペアと、記憶されたチャレンジとレスポンスとのペアとを置き換えることが好ましい。
【0015】
上記構成によれば、記憶されたチャレンジとレスポンスとのペアを生成したチャレンジとレスポンスとのペアと置き換える。このため、記憶されていたチャレンジとレスポンスとのペアの数量に加えて、置き換えたチャレンジとレスポンスとのペアの数量が存在することとなる。よって、第三者がチャレンジを傍受して、消費電力等を総当たりで選択して試す場合に、総当たりの数量が増えることとなり、取得した消費電力等がどのチャレンジを暗号化する際のものであるか特定することを更に困難にすることができる。
【発明の効果】
【0016】
本発明によれば、サイドチャネル攻撃による不正なチャレンジレスポンス認証を防ぐことができる。
【発明を実施するための形態】
【0018】
以下、
図1〜
図3を参照して、電子キーシステムの一実施形態について説明する。
図1に示されるように、通信対象である車両20は、電子キー10と無線によりID照合を行う電子キーシステムが搭載されている。電子キーシステムは、例えば車両20からの通信を契機に狭域無線によりID照合を実行するシステムである。なお、以降は、電子キーシステムのID照合を「スマート照合」と記し、その通信を「スマート通信」と記す。
【0019】
電子キー10は、電子キー10の動作を制御するキー制御部11と、電子キー10において電波受信を可能とする受信アンテナ12と、電子キー10において電波送信を可能とする送信アンテナ13とを備えている。キー制御部11のメモリ11aには、電子キー10の固有IDとして電子キーIDが書き込み保存されている。受信アンテナ12は、例えばLF(Low Frequency)帯の電波を受信可能である。送信アンテナ13は、例えばUHF(Ultra High Frequency)帯の電波を送信可能である。
【0020】
車両20は、電子キー10と各種照合を実行する照合ECU(Electric Control Unit)21と、車載電装品の電源を管理するボディECU22と、エンジン24を制御するエンジンECU23とを備えている。これらは、車内の通信線25を通じて電気接続されている。通信線25は、例えばCAN(Controller Area Network)やLIN(Local Interconnect Network)である。照合ECU21のメモリ21aには、車両20に登録された電子キー10のID(電子キーID)が書き込み保存されている。
【0021】
車両20は、ID照合の通信において車外に電波を送信可能な車外送信機26と、ID照合の通信において車内に電波を送信可能な車内送信機27と、ID照合の通信において電子キー10から送信される電波を受信可能な車両受信機28とを備えている。これらは、照合ECU21に電気接続されている。車外送信機26及び車内送信機27は、例えばLF帯の電波を送信可能である。車両受信機28は、例えばUHF帯の電波を受信可能である。
【0022】
車両20は、車両ドアの施解錠を切り替えるメカ機構としてドアロック機構29を備えている。ボディECU22は、照合ECU21のID照合の照合結果に基づき、ドアロック機構29の施解錠を切り替える。車両20のドアには、ドアの施解錠のトリガとなるドアボタン40が備えられている。
【0023】
車両20は、車両20の電源状態を切り替えるときに操作されるエンジンスイッチ30を備える。エンジンスイッチ30は、エンジンスイッチ30への例えばプッシュ操作(オン操作)を検出する操作検出部31を備えている。操作検出部31は、スイッチ(例えばマイクロスイッチ)や、センサ(磁気センサや光学センサ)のいずれでもよい。操作検出部31は、エンジンスイッチ30が操作されると、その操作信号Sswを照合ECU21に出力する。エンジンスイッチ30の操作時に出力される操作信号Sswは、例えばオン信号である。
【0024】
照合ECU21は、操作検出部31から入力する操作信号Sswを基に、車両20の電源状態を判定する。照合ECU21は、電源状態の判定結果を基に車両20の電源状態を切り替える。車両20の電源状態は、例えばIGオフ、ACCオン、IGオン、エンジンスタートのいずれかの状態に切り替えられる。
【0025】
車外送信機26が車外にLF電波の通信エリアを形成するとき、この通信エリアに電子キー10が進入すると、車外スマート通信が実行される。具体的には、車外送信機26から送信されたウェイク信号を電子キー10が受信すると、電子キー10が起動してアックを返信し、続く通信課程において、車両コード照合、チャレンジレスポンス認証、電子キーID照合の各種照合を実行する。車両コード照合は、車両20の固有IDである車両コードを電子キー10に送信し、電子キー10に車両コードを確認させる照合である。チャレンジレスポンス認証は、送信の度にコードが毎回変わるチャレンジコード(以下、チャレンジ)を車両20から電子キー10に送信し、電子キー10の暗号鍵によってレスポンスコード(以下、レスポンス)を生成し、このレスポンスを車両20に返信させる。続いて、チャレンジレスポンス認証は、車両20において同様に演算したレスポンスと電子キー10のレスポンスとが一致するか否かを確認する照合である。電子キーID照合は、電子キー10の電子キーIDを車両20に送信し、車両20において電子キーIDを確認する照合である。照合ECU21は、これら照合が全て成立することを確認すると、車外スマート照合が成立したとして、ボディECU22による車両ドアの施解錠を許可又は実行する。
【0026】
電子キー10が車内に進入すると、車外送信機26に代えて今度は車外送信機26が車内に通信エリアを形成することにより、車外スマート照合と同様の車内スマート照合が実行される。照合ECU21は、車内に位置する電子キー10との間で車内スマート照合が成立することを確認すると、エンジンスイッチ30による車両電源の切り替え(エンジン始動の切り替え)を許可又は実行する。
【0027】
電子キーシステムは、電子キー10に電池がなくとも車両20との無線によるID照合を可能となるイモビライザーシステムを備えている。イモビライザーシステムの通信は、例えば近距離無線(例えば、通信距離が数〜数十cmのRFID(Radio Frequency IDentification))である。また、以降は、イモビライザーシステムの通信を「イモビライザー通信」と記し、その通信によるID照合を「イモビライザー照合」と記す。
【0028】
車両20は、車両20において近距離無線の電波を送受信可能な通信アンテナ32を備えている。また、電子キー10は、電子キー10において近距離無線の電波を送受信可能な通信アンテナ14を備えている。各メモリ11a,21aには、イモビライザーシステムにおいて確認されるトランスポンダIDが書き込み保存されている。通信アンテナ32は、例えばエンジンスイッチ30の外周に設けられたボビンなどである。
【0029】
電子キー10が電池切れになったとき、狭域無線通信は使用することができないので、イモビライザー照合を行う。このとき、電子キー10を車両20の通信アンテナ32にかざすと、例えば負荷変調の通信により、電子キー10のトランスポンダIDが車両20に送信される。照合ECU21は、電子キー10のトランスポンダIDと自身に登録されたトランスポンダIDとを比較し、これらが一致すれば、例えばエンジンスイッチ30による車両電源の切り替え(エンジン始動の切り替え)を許可する。
【0030】
ここで、電子キーシステムでは、車両20自体に侵入されることで、装置内部の動作状況が解析されてチャレンジレスポンス認証に必要な例えばレスポンスの生成方法を解析されるサイドチャネル攻撃を受けるおそれがある。そこで、車両20の照合ECU21は、チャレンジとレスポンスとのペアを予め複数生成して記憶しておいて、記憶しておいたチャレンジとレスポンスとを読み出して、チャレンジレスポンス認証を行う。このようにすることで、チャレンジを送信した後にレスポンスを生成しないので、送信されたチャレンジに対応するレスポンスを生成する際の消費電力等が取得されることを防ぐことができる。
【0031】
さらに、照合ECU21は、予め複数生成して記憶しておいたチャレンジとレスポンスとのペアを生成した順ではなく、ランダムに読み出して使用する。このようにすることで、万が一レスポンスを予め複数生成する際に、消費電力等が取得されていたとしても、読み出す順を読み出すことで、サイドチャネル攻撃による暗号鍵が解析されることを防ぐことができる。
【0032】
さらに、照合ECU21は、ハミング重みが同じであるチャレンジを予め生成して記憶する。このようにすることで、ハミング重みの違いから取得した消費電力等がどのチャレンジを暗号化する際のものであるかを特定されることを防ぐことができる。
【0033】
照合ECU21は、特定の条件が成立したときにチャレンジとレスポンスとのペアを所定値に達するまで生成して記憶する。特定の条件とは、車両20の電源が投入されたとき、すなわちバッテリが接続されたことや、チャレンジを送信したことに加えて、記憶されたチャレンジとレスポンスとのペアが所定値に満たないことである。
【0034】
次に、
図2及び
図3を参照して、上記のように構成された電子キーシステムの動作について説明する。
まず、
図2を参照して、チャレンジC及びレスポンスRの生成処理について説明する。
【0035】
照合ECU21は、車両20の電源が投入されたことや、チャレンジCを送信したことをトリガとしてチャレンジCとレスポンスRとのペアを生成する。ここで、車両20の電源が投入されたときには、メモリ21aにはチャレンジCとレスポンスRとのペアは記憶されていない。また、チャレンジCを送信したときには、チャレンジCを使用しているので、チャレンジCとレスポンスRとのペアの数量(記憶数)が所定値Nから少なくとも1つ減っている。このため、このようなときには、チャレンジCとレスポンスRとのペアを所定値Nまで生成してメモリ21aに記憶する必要がある。
【0036】
照合ECU21は、トリガとして車両20の電源の投入や、チャレンジCの送信があると、チャレンジCを生成する(ステップS11)。すなわち、照合ECU21は、ハミング重みが同じとなる値の中からランダムに選択した値をチャレンジCとする。ここで、生成するチャレンジCは、ハミング重みが全て同じとなるものに限る。このようにすることで、N個の消費電力等を取得された場合でも、チャレンジCのハミング重みの違いによってN個の消費電力等のうちいずれを暗号化する際のものであるかを特定されることを防ぐことができる。
【0037】
続いて、照合ECU21は、レスポンスRを生成する(ステップS12)。すなわち、照合ECU21は、先に生成したチャレンジCを暗号鍵によって暗号化することでレスポンスRを生成する。
【0038】
続いて、照合ECU21は、チャレンジCとレスポンスRとのペアを記憶する(ステップS13)。照合ECU21は、チャレンジCとレスポンスRとのペアが生成できると、チャレンジCとレスポンスRとのペアを生成した順にメモリ21aに記憶する。
【0039】
続いて、照合ECU21は、記憶したチャレンジCとレスポンスRとのペアの数量(記憶数)が所定値Nよりも小さいか否かを判断する(ステップS14)。すなわち、照合ECU21は、メモリ21aにチャレンジCとレスポンスRとのペアが所定値N記憶されている状態にしたいので、チャレンジCとレスポンスRとのペアの数量(記憶数)が所定値N未満であるか否かを判断する。
【0040】
その結果、照合ECU21は、記憶したチャレンジCとレスポンスRとのペアの数量が所定値Nよりも小さいと判断した場合には(ステップS14:YES)、ステップS11に移行する。すなわち、照合ECU21は、チャレンジCとレスポンスRとのペアの数量が所定値Nに達していないということなので、チャレンジCとレスポンスRとのペアをさらに生成して記憶するためにステップS11に戻る。
【0041】
一方、照合ECU21は、記憶したチャレンジCとレスポンスRとのペアの数量が所定値N以上であると判断した場合には(ステップS14:NO)、処理を終了する。すなわち、照合ECU21は、チャレンジCとレスポンスRとのペアの数量が所定値Nに達しているということなので、チャレンジCとレスポンスRとの生成を止める。
【0042】
次に、
図3を参照して、チャレンジレスポンス認証の処理について説明する。
照合ECU21は、車両20のドアに設けられたドアボタン40又はエンジンスイッチ30に対して操作があったことをトリガとしてID照合を行う。ここでは、ID照合として、車両コード照合及び電子キーID照合の説明を割愛し、チャレンジレスポンス認証のみを説明する。
【0043】
照合ECU21は、トリガとしてドアボタン40又はエンジンスイッチ30に対して操作があると、メモリ21aに記憶したチャレンジCをランダムに選択する(ステップS21)。すなわち、照合ECU21は、メモリ21aに記憶した順と異なる順となるようにランダムにチャレンジCとレスポンスRとのペアを選択して読み出す。
【0044】
続いて、照合ECU21は、選択したチャレンジCを送信する(ステップS22)。すなわち、照合ECU21は、選択したチャレンジCとレスポンスRとのペアのチャレンジCを、ドアボタン40が操作されたのであれば車外送信機26から送信し、エンジンスイッチ30が操作されたのであれば車内送信機27から送信する。
【0045】
続いて、照合ECU21は、記憶していたペアのレスポンスRと受信したレスポンスRとを比較する(ステップS23)。すなわち、照合ECU21は、メモリ21aに記憶していた送信したチャレンジCとペアであるレスポンスRを読み出し、送信したチャレンジCを受信した電子キー10から返信されたレスポンスRを受信して、これらレスポンスRを比較する。
【0046】
続いて、照合ECU21は、記憶していたレスポンスRと受信したレスポンスRとが一致するか否かを判断する(ステップS24)。すなわち、照合ECU21は、メモリ21aから読み出したレスポンスRと、受信したレスポンスRとが一致するか否かを確認する。
【0047】
その結果、照合ECU21は、レスポンスRが一致しないと判断した場合には(ステップS24:NO)、処理を終了する。すなわち、照合ECU21は、他の車両20に対応する電子キー10からのレスポンスR等を受信しているので、チャレンジレスポンス認証が成立せず、要求を実行することなく終了する。
【0048】
一方、照合ECU21は、レスポンスRが一致すると判断した場合には(ステップS24:YES)、要求を実行する(ステップS25)。すなわち、照合ECU21は、チャレンジレスポンス認証が成立したので、ドアボタン40が操作されたのであればドアの施解錠を許可又は実行し、エンジンスイッチ30が操作されたのであれば車両電源の変更を許可又は実行する。
【0049】
このように、チャレンジCとレスポンスRとのペアを予め複数生成して記憶しておくことで、チャレンジCを送信した後にレスポンスRを生成しないので、チャレンジCに対応するレスポンスRの生成方法を解析されることを防ぐことができる。
【0050】
以上説明したように、本実施形態によれば、以下の効果を奏することができる。
(1)チャレンジCとレスポンスRとのペアを予め複数生成して記憶しておいて、記憶しておいたチャレンジCとレスポンスRとを読み出して、チャレンジレスポンス認証を行う。このため、チャレンジCを送信した後にレスポンスRを生成するための暗号化が行われないので、チャレンジCを暗号化する際の消費電力等を取得されることを防ぐことができる。よって、サイドチャネル攻撃による不正なチャレンジレスポンス認証を防ぐことができる。
【0051】
(2)チャレンジCとレスポンスRとの複数のペアからランダムに読み出すことで、読み出す順番に規則性がなくなることとなる。このため、予め生成して記憶したチャレンジCとレスポンスRとの順番からチャレンジCと消費電力等との組み合せを特定されることを防ぐことができる。
【0052】
(3)ハミング重みが同じチャレンジCとそのペアとなるレスポンスRとを記憶するので、ハミング重みの違いからチャレンジCと消費電力等との組み合せを特定されることを防ぐことができる。
【0053】
(4)記憶されたチャレンジCとレスポンスRとのペアが所定値Nに達しないときに、所定値Nに達するまでチャレンジCとレスポンスRとのペアを生成して記憶する。このため、チャレンジCとレスポンスRとのペアが所定値N記憶されている状態を多くの期間維持することができ、チャレンジCとレスポンスRとのペアを読み出すときには、複数のペアから選択することができる。
【0054】
(5)チャレンジCを送信した直後に、記憶されたチャレンジCとレスポンスRとのペアが所定値Nあるか否か確認するので、所定値Nなければ、チャレンジCを送信した直後にチャレンジCとレスポンスRとのペアを生成することとなる。このため、送信したチャレンジCと、生成したチャレンジCとレスポンスRとのペアとを混在させることとなるので、サイドチャネル攻撃による解析を妨げることができる。
【0055】
なお、上記実施形態は、これを適宜変更した以下の形態にて実施することもできる。
・上記実施形態では、車両20の電源が投入されたことや、チャレンジCを送信したことをトリガとしてチャレンジCとレスポンスRとのペアを生成して記憶した。しかしながら、ステップS11の前に、トリガとして、チャレンジCとレスポンスRとのペアの記憶数が所定値Nよりも小さいか否かを判定して、ペアの記憶数が所定値Nよりも小さいときにチャレンジCとレスポンスRとのペアを生成して記憶してもよい。
【0056】
・上記実施形態では、チャレンジを送信したときにチャレンジCとレスポンスRとを生成して記憶したが、レスポンスを受信したときにチャレンジCとレスポンスRとを生成して記憶してもよい。
【0057】
・上記実施形態では、チャレンジCとレスポンスRとのペアの記憶数が所定値Nよりも小さいときにチャレンジCとレスポンスRとのペアを生成して記憶した。しかしながら、所定値Nによらず、チャレンジCを送信する度にチャレンジCとレスポンスRとのペアを生成して記憶してもよい。また、所定値Nによらず、レスポンスRを読み出す度にチャレンジCとレスポンスRとのペアを生成して記憶してもよい。
【0058】
・上記実施形態では、ハミング重みが同じとなるレスポンスRを生成して記憶した。しかしながら、ハミング重みの違いによるレスポンスRの推測のおそれがなければ、ハミング重みが異なるレスポンスRを生成して記憶してもよい。
【0059】
・上記実施形態では、チャレンジCとレスポンスRとのペアを順に記憶して、記憶した順と異なる順となるようにランダムにチャレンジCとレスポンスRとのペアを読み出した。しかしながら、チャレンジCとレスポンスRとのペアをランダムに記憶して、記憶してある順にチャレンジCとレスポンスRとのペアを読み出してもよい。
【0060】
・上記実施形態では、記憶したチャレンジCとレスポンスRとの複数のペアからランダムに読み出して使用した。しかしながら、記憶したチャレンジCとレスポンスRとの複数のペアの順番から推測されるおそれがなければ、記憶したチャレンジCとレスポンスRとの複数のペアから順に読み出して使用してもよい。
【0061】
・上記実施形態において、記憶されたチャレンジCとレスポンスRとのペアを予め決められたタイミングで生成したチャレンジCとレスポンスRとのペアと置き換えてもよい。例えば、記憶されていたチャレンジCとレスポンスRとのペアの数量がN個のときに、置き換えたチャレンジCとレスポンスRとのペアの数量がn個存在すると仮定する。このような場合には、第三者がいずれかのチャレンジCを傍受して、消費電力等を総当たりで選択して試す場合に、総当たりの数量がN個に加えてn個必要となり(N+n個)、取得した消費電力等がどのチャレンジCを暗号化する際のものであるか特定することを更に困難にすることができる。
【0062】
・上記実施形態では、スマート通信におけるスマート照合に対して適用したが、イモビライザー通信におけるイモビライザー照合に対して適用してもよい。
・上記実施形態では、車両に備えられる電子キーシステムに適用したが、住宅等の建物に備えられる電子キーシステムに適用してもよい。