(57)【要約】【課題】従来よりもセキュリティ性を向上可能な電子制御装置を提供する。【解決手段】メインクロックで動作する主集積回路と、前記主集積回路と通信可能に接続され、前記メインクロックとは異なるサブクロックで動作する副集積回路と、を具備し、前記副集積回路は、前記主集積回路の要求に応じて前記サブクロックのクロック論理を取得し、該取得したクロック論理を前記主集積回路へ送信するクロック論理取得部を備え、前記主集積回路は、前記副集積回路から受信した前記クロック論理に基づいて乱数を生成する乱数生成部を備える。【選択図】図１
2012093635.tif 000002
【特許請求の範囲】
【請求項１】
メインクロックで動作する主集積回路と、
前記主集積回路と通信可能に接続され、前記メインクロックとは異なるサブクロックで動作する副集積回路と、を具備し、
前記副集積回路は、前記主集積回路の要求に応じて前記サブクロックのクロック論理を取得し、該取得したクロック論理を前記主集積回路へ送信するクロック論理取得部を備え、
前記主集積回路は、前記副集積回路から受信した前記クロック論理に基づいて乱数を生成する乱数生成部を備える、
ことを特徴とする電子制御装置。
【請求項２】
メインクロックで動作する主集積回路と、
前記主集積回路と通信可能に接続され、前記メインクロックとは異なるサブクロックで動作する複数の副集積回路と、を具備し、
前記複数の副集積回路の内、少なくとも１つの副集積回路は、前記主集積回路の要求に応じて前記サブクロックのクロック論理を取得し、該取得したクロック論理を前記主集積回路へ送信するクロック論理取得部を備え、
前記主集積回路は、前記クロック論理取得部を備える副集積回路から受信した前記クロック論理に基づいて乱数を生成する乱数生成部を備える、
ことを特徴とする電子制御装置。
【請求項３】
前記乱数生成部は、受信した前記クロック論理を所定の規則に従って組み合わせて得られるビットデータを用いて乱数を生成することを特徴とする請求項１または２に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置に関する。
【背景技術】
【０００２】
従来から車両の盗難を防止する技術として、キーに内蔵された電子チップが保有する暗証コードと、車両側コントローラが保有する暗証コードとを照合し、両者が一致する場合にエンジン始動を許可する車両盗難防止システム（所謂イモビライザー）が知られている。
近年では、より高いセキュリティ性を確保するために、キー固有の暗証コードの照合に加えて、定期的に生成した乱数を暗号化して得られる乱数コードの照合を行う車両盗難防止システムも実用化されている。
【０００３】
例えば、下記特許文献１には、意図的に操作することが困難なエンジン制御用のアナログ信号（冷却水温、吸気管圧力、バッテリ電圧、ＥＣＵ内温度、ＥＣＵ電源電圧等）をＡ／Ｄ変換して得られたデジタルデータの下位２ビットを順番に組み合わせて乱数を生成する機能をエンジンＥＣＵに持たせることにより、車両盗難に対して高いセキュリティ性を確保する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３８９３７５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１の技術では、悪意の第３者によってエンジンＥＣＵに擬似アナログ信号が入力され、エンジンＥＣＵ内で生成された乱数と擬似アナログ信号との関連性を解析された場合、エンジン制御用のアナログ信号に基づく乱数生成手法が悪意の第３者に漏洩し、車両盗難に悪用される虞があった。
【０００６】
本発明は上述した事情に鑑みてなされたものであり、従来よりもセキュリティ性を向上可能な電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明では、電子制御装置に係る第１の解決手段として、メインクロックで動作する主集積回路と、前記主集積回路と通信可能に接続され、前記メインクロックとは異なるサブクロックで動作する副集積回路と、を具備し、前記副集積回路は、前記主集積回路の要求に応じて前記サブクロックのクロック論理を取得し、該取得したクロック論理を前記主集積回路へ送信するクロック論理取得部を備え、前記主集積回路は、前記副集積回路から受信した前記クロック論理に基づいて乱数を生成する乱数生成部を備えることを特徴とする。
【０００８】
また、本発明では、電子制御装置に係る第２の解決手段として、メインクロックで動作する主集積回路と、前記主集積回路と通信可能に接続され、前記メインクロックとは異なるサブクロックで動作する複数の副集積回路と、を具備し、前記複数の副集積回路の内、少なくとも１つの副集積回路は、前記主集積回路の要求に応じて前記サブクロックのクロック論理を取得し、該取得したクロック論理を前記主集積回路へ送信するクロック論理取得部を備え、前記主集積回路は、前記クロック論理取得部を備える副集積回路から受信した前記クロック論理に基づいて乱数を生成する乱数生成部を備えることを特徴とする。
【０００９】
また、本発明では、電子制御装置に係る第３の解決手段として、上記第１または第２の解決手段において、前記乱数生成部は、受信した前記クロック論理を所定の規則に従って組み合わせて得られるビットデータを用いて乱数を生成することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、電子制御装置に外部から入力される信号を使用することなく、電子制御装置内で乱数生成が完結するため、従来技術と比較してセキュリティ性を向上することができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態におけるエンジン制御用ＥＣＵ（電子制御装置）１の構成概略図（ａ）及びエンジン制御用ＥＣＵ１の乱数生成動作を表すフローチャート（ｂ）である。
【図２】エンジン制御用ＥＣＵ１の乱数生成動作を表すタイミングチャートである。
【図３】第２実施形態におけるエンジン制御用ＥＣＵ２の構成概略図（ａ）及びエンジン制御用ＥＣＵ２の乱数生成動作を表すタイミングチャート（ｂ）である。
【図４】第３実施形態におけるエンジン制御用ＥＣＵ３の構成概略図（ａ）及びエンジン制御用ＥＣＵ３の乱数生成動作を表すタイミングチャート（ｂ）である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態について、図面を参照しながら説明する。なお、以下では、本発明に係る電子制御装置として、車両に搭載されてエンジン制御を行うエンジン制御用ＥＣＵ（Electronic Control Unit）を例示して説明する。
〔第１実施形態〕
まず、本発明の第１実施形態について説明する。図１（ａ）に示すように、第１実施形態におけるエンジン制御用ＥＣＵ１は、メインクロックＣＬＫ＿Ａで動作するＣＰＵ（主集積回路：Central Processing Unit）１０と、このＣＰＵ１０と通信可能に接続され、メインクロックＣＬＫ＿Ａとは異なるサブクロックＣＬＫ＿１で動作するＩＣ（副集積回路：Integrated Circuit）２０＿１とを備えている。
【００１３】
ＣＰＵ１０は、不図示の不揮発性メモリに記憶されたエンジン制御プログラムに従って、エンジン制御（燃料噴射制御、燃料ポンプ制御及び点火制御）を行う集積回路であり、ＩＣ２０＿１と通信を行う通信部１０ａと、該通信部１０ａを介してＩＣ２０＿１から受信したクロック論理に基づいて乱数を生成する乱数生成部１０ｂを備えている。また、このＣＰＵ１０は、上記乱数を利用して不正なエンジン始動操作が為されたか否かを判断し、否の場合（正規のエンジン始動操作が為された場合）にのみエンジン始動制御を実施する車両盗難防止機能を備えている。なお、乱数を利用した車両盗難防止機能については、特許文献１（特許第３８９３７５８号公報）に記載された技術など公知の技術を適用できるため、本実施形態では詳細な説明を省略する。
【００１４】
ＩＣ２０＿１は、ＣＰＵ１０と連携しながら車両走行に関わる制御（例えばミッション制御やダンパー制御など）を行う集積回路であり、ＣＰＵ１０と通信を行う通信部２０ａと、該通信部２０ａを介して受信したＣＰＵ１０の要求に応じてサブクロックＣＬＫ＿１のクロック論理を取得し、該取得したクロック論理を通信部２０ａを介してＣＰＵ１０へ送信するクロック論理取得部２０ｂを備えている。
【００１５】
続いて、上記のように構成されたエンジン制御用ＥＣＵ１の乱数生成動作について詳細に説明する。図１（ｂ）は、ＣＰＵ１０とＩＣ２０＿１が連携しながら（通信しながら）実行する乱数生成処理を示すフローチャートである。なお、ＣＰＵ１０及びＩＣ２０＿１は、図１（ｂ）に示す乱数生成処理を定周期で繰り返し実行する。
【００１６】
この図１（ｂ）に示すように、ＣＰＵ１０の乱数生成部１０ｂは、まず、通信部１０ａを介してＩＣ２０＿１へクロック論理の要求信号を送信する（ステップＳ１）。一方、ＩＣ２０＿１のクロック論理取得部２０ｂは、通信部２０ａを介してＣＰＵ１０からクロック論理の要求信号を受信すると、サブクロックＣＬＫ＿１のクロック論理（「０」或いは「１」）を取得し（ステップＳ１１）、該取得したクロック論理を通信部２０ａを介してＣＰＵ１０へ送信する（ステップＳ１２）。
【００１７】
一方、ＣＰＵ１０の乱数生成部１０ｂは、通信部１０ａを介してＩＣ２０＿１からクロック論理を受信すると（ステップＳ２）、該受信したクロック論理を用いて乱数Ｂｉｔを作成する（ステップＳ３）。ここで、乱数Ｂｉｔとは、受信したクロック論理を所定の規則に従って組み合わせて得られる例えば１６ビットのビットデータである。この乱数Ｂｉｔは、エンジン制御用ＥＣＵ１の電源投入時（イグニションオン時）に全ビットが「０」に初期化されており、乱数生成部１０ｂは、ＩＣ２０＿１からクロック論理を受信する毎に、そのクロック論理を乱数ＢｉｔのＬＳＢ（最下位ビット）側から順番にセットすることで１６ビットの乱数Ｂｉｔを作成する。
【００１８】
そして、ＣＰＵ１０の乱数生成部１０ｂは、乱数Ｂｉｔが完成したか否か、つまりＩＣ２０＿１から受信したクロック論理によって乱数Ｂｉｔの全１６ビットがセットされたか否かを判定し（ステップＳ４）、「Ｎｏ」の場合には乱数生成処理を終了する一方、「Ｙｅｓ」の場合には完成した乱数Ｂｉｔから乱数を生成する（ステップＳ５）。ここで、乱数の生成には、混合合同法、平方採中法或いは線形合同法などの一般的な乱数生成手法に基づく乱数生成式を用いることができる。最後に、ＣＰＵ１０の乱数生成部１０ｂは、上記のように生成した乱数をメモリ（図示省略）に格納する（ステップＳ６）。
【００１９】
図２は、ＣＰＵ１０及びＩＣ２０＿１が上記の乱数生成処理を実行することで、乱数Ｂｉｔが作成される様子をタイミングチャートで表したものである。この図２に示すように、ＣＰＵ１０とＩＣ２０＿１は、定周期で乱数通信（図１（ｂ）のステップＳ１、Ｓ２、Ｓ１１、Ｓ１２によって実現されるクロック論理の送受信）を実施するが、その間には乱数通信以外の通信（例えば、電源投入時の初期化処理や故障診断処理用の通信など）も実施する。
【００２０】
例えば、図２中の時刻ｔ１において、ＩＣ２０＿１のクロック論理取得部２０ｂが、サブクロックＣＬＫ＿１のクロック論理（ここでは「１」）を取得してＣＰＵ１０へ送信したと仮定する。この時、ＣＰＵ１０の乱数生成部１０ｂは、メインクロックＣＬＫ＿Ａに同期してクロック論理「１」を受信し、該受信したクロック論理「１」を乱数ＢｉｔのＬＳＢにセットする。この時点では乱数Ｂｉｔが完成していないため、一旦、乱数生成処理は終了する。
【００２１】
続いて、例えば、図２中の時刻ｔ２において、ＩＣ２０＿１のクロック論理取得部２０ｂが、サブクロックＣＬＫ＿１のクロック論理（ここでは「０」）を取得してＣＰＵ１０へ送信したと仮定する。この時、ＣＰＵ１０の乱数生成部１０ｂは、メインクロックＣＬＫ＿Ａに同期してクロック論理「０」を受信し、該受信したクロック論理「０」を乱数Ｂｉｔの下位２ビット目にセットする。この時点では乱数Ｂｉｔが完成していないため、一旦、乱数生成処理は終了する。
【００２２】
続いて、例えば、図２中の時刻ｔ３において、ＩＣ２０＿１のクロック論理取得部２０ｂが、サブクロックＣＬＫ＿１のクロック論理（ここでは「１」）を取得してＣＰＵ１０へ送信したと仮定する。この時、ＣＰＵ１０の乱数生成部１０ｂは、メインクロックＣＬＫ＿Ａに同期してクロック論理「１」を受信し、該受信したクロック論理「１」を乱数Ｂｉｔの下位３ビット目にセットする。この時点では乱数Ｂｉｔが完成していないため、一旦、乱数生成処理は終了する。
【００２３】
以下同様に、乱数通信が実施される毎に、ＩＣ２０＿１側で取得されたサブクロックＣＬＫ＿１のクロック論理が乱数Ｂｉｔに順次セットされ、乱数通信が１６回実施された時点で乱数Ｂｉｔが完成することになる。ＣＰＵ１０の乱数生成部１０ｂは、乱数Ｂｉｔが完成すると、上記ステップＳ５、Ｓ６の処理を実行して乱数を生成すると共に、該生成した乱数をメモリに格納する。
【００２４】
以上のように、本実施形態によれば、エンジン制御用ＥＣＵ１に外部から入力される信号を使用することなく、エンジン制御用ＥＣＵ１内で乱数生成が完結するため、従来技術と比較してセキュリティ性を向上することができる。
また、サブクロックＣＬＫ＿１とメインクロックＣＬＫ＿Ａは非同期のため、ＩＣ２０＿１側で取得されるサブクロックＣＬＫ＿１のクロック論理にはバラツキが発生する。さらに、ＣＰＵ１０とＩＣ２０＿１の間で乱数通信及び乱数通信以外の通信が実施されることも、クロック論理にバラツキが発生する要因となる。つまり、本実施形態によれば、悪意の第３者にとって、乱数生成の基となるクロック論理を特定することが極めて困難となるため、より高いセキュリティ性を確保することができる。
【００２５】
〔第２実施形態〕
次に、本発明の第２実施形態について説明する。図３（ａ）に示すように、第２実施形態におけるエンジン制御用ＥＣＵ２は、メインクロックＣＬＫ＿Ａで動作するＣＰＵ１０と、このＣＰＵ１０と通信可能に接続され、メインクロックＣＬＫ＿Ａとは異なるサブクロックＣＬＫ＿１、ＣＬＫ＿２、…、ＣＬＫ＿ｎで動作する複数（ｎ個）のＩＣ２０＿１、２０＿２、…、２０＿ｎとを備えている。なお、ｎは２以上の整数である。
【００２６】
本実施形態では、全てのＩＣ２０＿１、２０＿２、…、２０＿ｎがＣＰＵ１０と通信を行う通信部２０ａを備えている一方、ＩＣ２０＿１のみがＣＰＵ１０の要求に応じてサブクロックＣＬＫ＿１のクロック論理を取得するクロック論理取得部２０ｂを備えている。
つまり、本実施形態では、全てのＩＣ２０＿１、２０＿２、…、２０＿ｎとＣＰＵ１０の間で乱数通信以外の通信が実施されるが、乱数通信はＩＣ２０＿１とＣＰＵ１０の間でのみ実施される。
【００２７】
なお、本実施形態では、クロック論理取得部２０ｂを備えるＩＣ２０＿１が使用するサブクロックＣＬＫ＿１のみがメインクロックＣＬＫ＿Ａと異なれば良く、各サブクロックＣＬＫ＿１、ＣＬＫ＿２、…、ＣＬＫ＿ｎは同じクロックを用いても良い。
【００２８】
続いて、上記のように構成されたエンジン制御用ＥＣＵ２の乱数生成動作について説明する。なお、以下では、ＣＰＵ１０とＩＣ２０＿１が連携しながら実行する乱数生成処理については図１（ｂ）と同じであるので説明を省略し、この乱数生成処理によって乱数Ｂｉｔが作成される様子を図３（ｂ）のタイミングチャートを参照しながら説明する。
【００２９】
この図３（ｂ）に示すように、ＣＰＵ１０とＩＣ２０＿１の間で乱数通信が定周期で実施されるが、全てのＩＣ２０＿１、２０＿２、…、２０＿ｎとＣＰＵ１０の間で乱数通信以外の通信も実施される。
例えば、図中の時刻ｔ１１において、ＩＣ２０＿１のクロック論理取得部２０ｂが、サブクロックＣＬＫ＿１のクロック論理（ここでは「１」）を取得してＣＰＵ１０へ送信したと仮定する。この時、ＣＰＵ１０の乱数生成部１０ｂは、メインクロックＣＬＫ＿Ａに同期してクロック論理「１」を受信し、該受信したクロック論理「１」を乱数ＢｉｔのＬＳＢにセットする。この時点では乱数Ｂｉｔが完成していないため、一旦、乱数生成処理は終了する。
【００３０】
続いて、例えば、図中の時刻ｔ１２において、ＩＣ２０＿１のクロック論理取得部２０ｂが、サブクロックＣＬＫ＿１のクロック論理（ここでは「０」）を取得してＣＰＵ１０へ送信したと仮定する。この時、ＣＰＵ１０の乱数生成部１０ｂは、メインクロックＣＬＫ＿Ａに同期してクロック論理「０」を受信し、該受信したクロック論理「０」を乱数Ｂｉｔの下位２ビット目にセットする。この時点では乱数Ｂｉｔが完成していないため、一旦、乱数生成処理は終了する。
【００３１】
続いて、例えば、図中の時刻ｔ１３において、ＩＣ２０＿１のクロック論理取得部２０ｂが、サブクロックＣＬＫ＿１のクロック論理（ここでは「１」）を取得してＣＰＵ１０へ送信したと仮定する。この時、ＣＰＵ１０の乱数生成部１０ｂは、メインクロックＣＬＫ＿Ａに同期してクロック論理「１」を受信し、該受信したクロック論理「１」を乱数Ｂｉｔの下位３ビット目にセットする。この時点では乱数Ｂｉｔが完成していないため、一旦、乱数生成処理は終了する。
【００３２】
以下同様に、乱数通信が実施される毎に、ＩＣ２０＿１側で取得されたサブクロックＣＬＫ＿１のクロック論理が乱数Ｂｉｔに順次セットされ、１６回乱数通信が実施された時点で乱数Ｂｉｔが完成することになる。ＣＰＵ１０の乱数生成部１０ｂは、乱数Ｂｉｔが完成すると、上記ステップＳ５、Ｓ６の処理を実行して乱数を生成すると共に、該生成した乱数をメモリに格納する。
【００３３】
以上のように、本実施形態によれば、第１実施形態と同様に、エンジン制御用ＥＣＵ２に外部から入力される信号を使用することなく、エンジン制御用ＥＣＵ２内で乱数生成が完結するため、従来技術と比較してセキュリティ性を向上することができる。
また、サブクロックＣＬＫ＿１とメインクロックＣＬＫ＿Ａは非同期のため、ＩＣ２０＿１側で取得されるサブクロックＣＬＫ＿１のクロック論理にはバラツキが発生する。さらに、ＣＰＵ１０と全てのＩＣ２０＿１、２０＿２、…、２０＿ｎの間で乱数通信及び乱数通信以外の通信が実施されることも、クロック論理にバラツキが発生する要因となる。つまり、本実施形態によれば、第１実施形態と同様に、悪意の第３者にとって、乱数生成の基となるクロック論理を特定することが極めて困難となるため、より高いセキュリティ性を確保することができる。
【００３４】
〔第３実施形態〕
次に、本発明の第３実施形態について説明する。図４（ａ）に示すように、第３実施形態におけるエンジン制御用ＥＣＵ３は、メインクロックＣＬＫ＿Ａで動作するＣＰＵ１０と、このＣＰＵ１０と通信可能に接続され、メインクロックＣＬＫ＿Ａとは異なるサブクロックＣＬＫ＿１、ＣＬＫ＿２、…、ＣＬＫ＿ｎで動作する複数（ｎ個）のＩＣ２０＿１、２０＿２、…、２０＿ｎとを備えている。なお、ｎは２以上の整数である。
【００３５】
本実施形態では、全てのＩＣ２０＿１、２０＿２、…、２０＿ｎがＣＰＵ１０と通信を行う通信部２０ａと、ＣＰＵ１０の要求に応じてサブクロックＣＬＫ＿１、ＣＬＫ＿２、…、ＣＬＫ＿ｎのクロック論理を取得するクロック論理取得部２０ｂを備えている。つまり、本実施形態では、全てのＩＣ２０＿１、２０＿２、…、２０＿ｎとＣＰＵ１０の間で乱数通信及び乱数通信以外の通信が実施される。
【００３６】
続いて、上記のように構成されたエンジン制御用ＥＣＵ３の乱数生成動作について説明する。なお、以下では、ＣＰＵ１０と各ＩＣ２０＿１、２０＿２、…、２０＿ｎが連携しながら実行する乱数生成処理については図１（ｂ）と同じであるので説明を省略し、この乱数生成処理によって乱数Ｂｉｔが作成される様子を図４（ｂ）のタイミングチャートを参照しながら説明する。
【００３７】
この図４（ｂ）に示すように、ＣＰＵ１０と各ＩＣ２０＿１、２０＿２、…、２０＿ｎの間で乱数通信が定周期で実施されるが、乱数通信以外の通信も実施される。
例えば、図中の時刻ｔ２１において、ＩＣ２０＿１のクロック論理取得部２０ｂが、サブクロックＣＬＫ＿１のクロック論理（ここでは「１」）を取得してＣＰＵ１０へ送信したと仮定する。この時、ＣＰＵ１０の乱数生成部１０ｂは、メインクロックＣＬＫ＿Ａに同期してクロック論理「１」を受信し、該受信したクロック論理「１」を乱数ＢｉｔのＬＳＢにセットする。この時点では乱数Ｂｉｔが完成していないため、一旦、乱数生成処理は終了する。
【００３８】
続いて、例えば、図中の時刻ｔ２２において、ＩＣ２０＿２のクロック論理取得部２０ｂが、サブクロックＣＬＫ＿２のクロック論理（ここでは「０」）を取得してＣＰＵ１０へ送信したと仮定する。この時、ＣＰＵ１０の乱数生成部１０ｂは、メインクロックＣＬＫ＿Ａに同期してクロック論理「０」を受信し、該受信したクロック論理「０」を乱数Ｂｉｔの下位２ビット目にセットする。この時点では乱数Ｂｉｔが完成していないため、一旦、乱数生成処理は終了する。
【００３９】
続いて、例えば、図中の時刻ｔ２３において、ＩＣ２０＿３のクロック論理取得部２０ｂが、サブクロックＣＬＫ＿３のクロック論理（ここでは「１」）を取得してＣＰＵ１０へ送信したと仮定する。この時、ＣＰＵ１０の乱数生成部１０ｂは、メインクロックＣＬＫ＿Ａに同期してクロック論理「１」を受信し、該受信したクロック論理「１」を乱数Ｂｉｔの下位３ビット目にセットする。この時点では乱数Ｂｉｔが完成していないため、一旦、乱数生成処理は終了する。
【００４０】
続いて、例えば、図中の時刻ｔ２４において、ＩＣ２０＿ｎのクロック論理取得部２０ｂが、サブクロックＣＬＫ＿ｎのクロック論理（ここでは「１」）を取得してＣＰＵ１０へ送信したと仮定する。この時、ＣＰＵ１０の乱数生成部１０ｂは、メインクロックＣＬＫ＿Ａに同期してクロック論理「１」を受信し、該受信したクロック論理「１」を乱数Ｂｉｔの下位１５ビット（上位２ビット目）にセットする。この時点では乱数Ｂｉｔが完成していないため、一旦、乱数生成処理は終了する。
【００４１】
続いて、例えば、図中の時刻ｔ２５において、ＩＣ２０＿１のクロック論理取得部２０ｂが、サブクロックＣＬＫ＿１のクロック論理（ここでは「０」）を取得してＣＰＵ１０へ送信したと仮定する。この時、ＣＰＵ１０の乱数生成部１０ｂは、メインクロックＣＬＫ＿Ａに同期してクロック論理「１」を受信し、該受信したクロック論理「１」を乱数ＢｉｔのＭＳＢ（最上位ビット）にセットする。この時点で１６ビットデータの乱数Ｂｉｔが完成する。
【００４２】
このように、乱数通信が実施される毎に、各ＩＣ２０＿１、２０＿２、…、２０＿ｎで取得されたクロック論理が乱数Ｂｉｔに順次セットされ、１６回乱数通信が実施された時点で乱数Ｂｉｔが完成することになる。ＣＰＵ１０の乱数生成部１０ｂは、乱数Ｂｉｔが完成すると、上記ステップＳ５、Ｓ６の処理を実行して乱数を生成すると共に、該生成した乱数をメモリに格納する。
【００４３】
以上のように、本実施形態によれば、第１及び第２実施形態と同様に、エンジン制御用ＥＣＵ２に外部から入力される信号を使用することなく、エンジン制御用ＥＣＵ３内で乱数生成が完結するため、従来技術と比較してセキュリティ性を向上することができる。
また、各サブクロックＣＬＫ＿１、ＣＬＫ＿２、…、ＣＬＫ＿ｎとメインクロックＣＬＫ＿Ａは非同期のため、各ＩＣ２０＿１、２０＿２、…、２０＿ｎで取得されるクロック論理にはバラツキが発生する。さらに、ＣＰＵ１０と全てのＩＣ２０＿１、２０＿２、…、２０＿ｎの間で乱数通信及び乱数通信以外の通信が実施されることも、クロック論理にバラツキが発生する要因となる。つまり、本実施形態によれば、第１及び第２実施形態と比較して、悪意の第３者にとって、乱数生成の基となるクロック論理を特定することが極めて困難となるため、より高いセキュリティ性を確保することができる。
【００４４】
なお、本発明は上記実施形態に限定されず、以下のような変形例が挙げられる。
（１）上記実施形態では、ＣＰＵ１０の乱数生成部１０ｂが、「ＬＳＢ側から順番に１６ビット分セットする」という規則に従ってクロック論理を組み合わせて得られるビットデータ（乱数Ｂｉｔ）を用いて乱数を生成する場合を例示したが、クロック論理の組み合わせの規則はこれに限定されない。
【００４５】
例えば、「ＭＳＢ側から順番に１６ビット分セットする」という規則に従ってクロック論理を組み合わせても良い。或いは、「ＬＳＢ側から順番に１６ビット分セットする」という規則に従って作成したビットデータと、「ＭＳＢ側から順番に１６ビット分セットする」という規則に従って作成したビットデータとを加算（若しくは減算、乗算、除算、ＡＮＤ演算、ＯＲ演算など）して得られるビットデータを用いて乱数を生成しても良い。
【００４６】
（２）上記第２実施形態では、ＣＰＵ１０と通信可能に接続されたｎ個のＩＣ２０＿１、２０＿２、…、２０＿ｎの内、ＩＣ２０＿１の１つだけがクロック論理取得部２０ｂを備える場合を例示し、上記第３実施形態では、ＣＰＵ１０と通信可能に接続された全てのＩＣ２０＿１、２０＿２、…、２０＿ｎがクロック論理取得部２０ｂを備える場合を例示したが、ＣＰＵ１０と通信可能に接続されたＩＣ２０＿１、２０＿２、…、２０＿ｎの内、少なくとも１つのＩＣがクロック論理取得部２０ｂを備えていれば、本発明によってセキュリティ性向上の効果を得ることができる。
【００４７】
（３）上記実施形態では、本発明に係る電子制御装置としてエンジン制御用ＥＣＵを例示して説明したが、車両盗難を防止できる電子制御装置、例えばドアの自動施錠及び解錠を制御するキーレスエントリーＥＣＵにも本発明を適用することができる。
【符号の説明】
【００４８】
１、２、３…エンジン制御用ＥＣＵ（電子制御装置）、１０…ＣＰＵ（主集積回路）、ＩＣ２０＿１〜２０＿ｎ…ＩＣ（副集積回路）、１０ａ、２０ａ…通信部、１０ｂ…乱数生成部、２０ｂ…クロック論理取得部
【図１】
2012093635.tif 000003
【図２】
2012093635.tif 000004
【図３】
2012093635.tif 000005
【図４】
2012093635.tif 000006