(57)【要約】【課題】予測困難な擬似乱数を生成すること。【解決手段】ＣＰＵ１０１は、シードに基づいて擬似乱数を生成する車載用擬似乱数生成装置として機能する。ＣＰＵ１０１は、乱数演算部１と、時間変数生成部２と、シード生成部３と、選択部４とを備える。乱数演算部１は、乱数生成アルゴリズム１〜乱数生成アルゴリズム８を備えている。これらは、それぞれ異なる擬似乱数演算のアルゴリズムである。選択部４は、時間の経過とともに変化するバッテリの電圧値や電流値、パワー捨てアルング装置のトルクセンサ値等に基づいて、乱数生成アルゴリズム１〜乱数生成アルゴリズム８の一つを選択し、シードＳを与える。これによって、選択された乱数生成アルゴリズムが擬似乱数を生成する。【選択図】        図３
2009031853.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載されて、シードに基づいて擬似乱数を生成する車載用擬似乱数生成装置において、
前記シードから擬似乱数を生成する、複数の異なる擬似乱数演算手段と、
時間の経過とともに変化する情報に基づいて、複数の異なる前記擬似乱数演算手段から一つを選択する選択手段と、
を含むことを特徴とする車載用擬似乱数生成装置。
【請求項２】
前記情報は、前記車両に搭載される、物理量の検出手段の検出値であることを特徴とする請求項１に記載の車載用擬似乱数生成装置。
【請求項３】
前記検出手段は、アナログ値を検出するものであることを特徴とする請求項２に記載の車載用擬似乱数生成装置。
【請求項４】
選択された前記擬似乱数演算手段によって生成された擬似乱数を用いて、前記シードを生成することを特徴とする請求項１〜３のいずれか１項に記載の車載用擬似乱数生成装置。
【請求項５】
前記情報に基づいて、初回の前記シードを生成することを特徴とする請求項１〜４のいずれか１項に記載の車載用擬似乱数生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載されて、擬似乱数を生成する車載用擬似乱数生成装置に関する。
【背景技術】
【０００２】
シードに基づき擬似乱数を生成する擬似乱数生成方法は、例えば、通信等の分野におけるセキュリティチェック等に利用されている。また、車両においては、セキュリティを向上させるための暗号化等に擬似乱数生成方法が利用されている。例えば、特許文献１には、少なくとも演算処理の処理経過情報を記憶するプログラムレジスタの値に基づいて設定したシードに基づいて、擬似乱数生成演算を行う擬似乱数生成方法が開示されている。
【０００３】
【特許文献１】特開２００５−２７６１１３号公報、段落番号００１４〜００１８、図２
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に開示されている技術は、擬似乱数生成演算のアルゴリズムが固定されているため、シードが変化したとしても、ある時点で擬似乱数の生成方法が判明するおそれが高い。
【０００５】
本発明は、上記に鑑みてなされたものであって、擬似乱数を生成する方法の予測を困難にして、予測困難な擬似乱数を生成することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決して、本発明の目的を達成するために、本発明に係る車載用擬似乱数生成装置は、車両に搭載されて、シードに基づいて擬似乱数を生成する車載用擬似乱数生成装置において、前記シードから擬似乱数を生成する、複数の異なる擬似乱数演算手段と、時間の経過とともに変化する情報に基づいて、複数の異なる前記擬似乱数演算手段から一つを選択する選択手段と、を含むことを特徴とする。
【０００７】
本発明の望ましい態様としては、前記情報は、前記車両に搭載される、物理量の検出手段の検出値であることが好ましい。
【０００８】
本発明の望ましい態様としては、前記検出手段は、アナログ値を検出するものであることが好ましい。
【０００９】
本発明の望ましい態様としては、選択された前記擬似乱数演算手段によって生成された擬似乱数を用いて、前記シードを生成することが好ましい。
【００１０】
本発明の望ましい態様としては、前記情報に基づいて、初回の前記シードを生成することが好ましい。
【発明の効果】
【００１１】
本発明に係る車載用擬似乱数生成装置は、擬似乱数を生成する方法の予測を困難にして、予測困難な擬似乱数を生成できる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明につき図面を参照しつつ詳細に説明する。なお、以下に説明する発明を実施するための最良の形態（以下実施形態という）により本発明が限定されるものではない。
【００１３】
本実施形態は、車載用の擬似乱数生成装置であって、複数の異なる擬似乱数演算手段を備え、時間の経過とともに変化する情報に基づいて、複数の異なる擬似乱数演算手段のうち一つを選択して、擬似乱数を生成する点に特徴がある。
【００１４】
図１は、車載通信システムの一例を示す説明図である。この車載通信システム６０は、共通通信線６１に複数のコンピュータを接続するバス型ネットワーク形式で構成されている。共通通信線６１には、ＥＰＳ（Electric Power Steering：電動パワーステアリング装置）制御装置５０、エンジンコントロールユニット５１、ＡＴ（Automatic Transmission）コントローラ５２、ゲートウェイコンピュータ５３のようなコンピュータ類や、外部機器接続用コネクタ５４が接続されている。
【００１５】
ＥＰＳ制御装置５０、エンジンコントロールユニット５１、ＡＴ（Automatic Transmission）コントローラ５２、ゲートウェイコンピュータ５３は、共通通信線６１を介して相互にデータをやり取りすることができる。また、外部機器接続用コネクタ５４に診断装置やデータ書き込み装置等の外部機器を接続して、ＥＰＳ制御装置５０やエンジンコントロールユニット５１等に記録された運転上の不具合等を診断したり、これらの制御用コンピュータプログラムを書き換えたりする。本実施形態においては、車載通信システム６０の共通通信線６１に接続されているＥＰＳ制御装置５０、エンジンコントロールユニット５１、ＡＴコントローラ５２等の機器が擬似乱数生成装置（車載用擬似乱数生成装置）を備えている。次に、ＥＰＳ制御装置５０を例として、本実施形態に係る擬似乱数生成装置を説明する。
【００１６】
図２は、図１に示す車載通信システムに接続されるＥＰＳ制御装置のハードウェア構成を示す装置構成図である。ＥＰＳ制御装置５０は、図２に示すように、ＭＣＵ（Micro Control Unit）１００と、ＦＥＴ（Field Effect Transistor）プリドライバ回路１１０と、モータ駆動回路（インバータ）１２０と、電流検出回路１３０と、位置検出回路１４０等とを備えている。ＭＣＵ１００は、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、ＥＥＰＲＯＭ（不揮発性メモリ）１０４、Ａ／Ｄ変換器１０５、インターフェース１０６、バス１０７等を備えている。ＣＰＵ１０１は、ＲＯＭ１０２に格納された各種プログラムを実行して、電動パワーステアリング装置のモータ９を制御する。
【００１７】
ＲＯＭ１０２は、ＣＰＵ１０１が実行する各種コンピュータプログラムを格納する。具体的には、ＲＯＭ１０２には、モータ９を制御するモータ制御処理（アシスト処理）を実行するためのモータ制御コンピュータプログラム、本実施形態に係る擬似乱数生成方法を実現するコンピュータプログラム等が格納されている。なお、以下において、コンピュータプログラムは、単にプログラムという。
【００１８】
ＲＡＭ１０３は、ＣＰＵ１０１がプログラムを実行する場合にその作業領域として使用され、プログラムの処理過程で必要とするデータや処理結果等が記憶されるものである。ＥＥＰＲＯＭ１０４は、ＥＰＳ制御装置５０の電源遮断後においても記憶内容を保持可能な不揮発性メモリであり、ＣＰＵ１０１が、電動パワーステアリング装置の制御で使用する制御データやＥＥＰＲＯＭ１０４に格納される制御データのエラー発生回数等が格納される。なお、ここでは、不揮発性メモリとして、ＥＥＰＲＯＭを使用することとしたが、本実施形態においてはこれに限られるものではなく、ＦＬＡＳＨ−ＲＯＭ、ＳＤＲＡＭ等の他の不揮発性メモリを使用することにしてもよい。
【００１９】
Ａ／Ｄ変換器１０５は、トルクセンサ１０からの操舵トルクＴ、車速センサ１２からの車速Ｖｃ、電圧センサ１４で検出されるバッテリ１１の電圧Ｅｂ、電流センサ１６で検出されるバッテリ１１の電流Ｉｂ、電圧電流検出回路１３０からのモータ９の電流検出値Ｉｍ、及び位置検出回路１４０からのモータ回転角信号θ等が入力され、これらの入力をディジタル信号に変換する。上記構成において、ＣＰＵ１０１が、ＲＯＭ１０２に格納された擬似乱数生成プログラムを実行することにより、擬似乱数生成装置として機能する。
【００２０】
ＦＥＴプリドライバ回路１１０は、ＭＣＵ１００から入力されるＵＶＷ各相のＰＷＭ（Pulse Width Modulation）制御信号を、各相正負の通電信号（Ｕp、Ｕn、Ｖp、Ｖn、Ｗp、Ｗn）に変換して、モータ駆動回路１２０に出力する。モータ駆動回路１２０は、一対のＦＥＴスイッチング素子からなるブリッジ回路をＵ相用、Ｖ相用、Ｗ相用として３相分備えており、各ＦＥＴスイッチング素子には還流ダイオードが並列接続されている。このブリッジ回路には、バッテリ１１から電源リレー１３を介して直流電圧が印加される。各ＦＥＴスイッチング素子の制御端子（ゲート端子）には、ＦＥＴプリドライバ回路１１０から通電信号が入力される。
【００２１】
モータ駆動回路１２０に印加される直流電圧は、モータ駆動回路１２０内のＦＥＴスイッチング素子のスイッチング動作によって３相の交流電圧に変換され、それによりモータ９が駆動される。このブリッジ回路には、シャント抵抗Ｒ１、Ｒ２が接続されている。このシャント抵抗Ｒ１、Ｒ２に電流検出回路１３０が接続され、これによって、モータ９の電流検出値Ｉｍを検出するようになっている。位置検出回路１４０は、位置センサ２１に励磁電流を与えるとともに、位置センサ２１からの出力信号をモータ回転角信号θとして、Ａ／Ｄ変換器１０５に出力する。
【００２２】
図３は、本実施形態に係る擬似乱数生成装置の機能を示す機能ブロック図である。上述したように、本実施形態では、ＣＰＵ１０１が擬似乱数生成プログラムを実行することにより、擬似乱数生成装置として機能する。擬似乱数生成装置として機能するＣＰＵ１０１は、擬似乱数演算手段を複数備える乱数演算部１と、時間変数生成手段である時間変数生成部２と、シード生成手段であるシード生成部３と、選択手段である選択部４と、を含んでいる。
【００２３】
乱数演算部１が備える擬似乱数演算手段は、線形合同法、混合合同法、平方採中法等の擬似乱数を生成するために用いる擬似乱数生成アルゴリズム（以下、必要に応じて乱数生成アルゴリズムという）である。本実施形態において、乱数演算部１は、乱数生成アルゴリズム１（Ａ１）〜乱数生成アルゴリズム８（Ａ８）までの８個の乱数生成アルゴリズムを備える。なお、乱数演算部１が備える乱数生成アルゴリズムは、８個に限定されるものではない。選択部４は、時間の経過とともに変化する情報（以下経時情報という）に基づいて、シード生成部によって生成される擬似乱数の種、すなわちシードＳを与える乱数生成アルゴリズムを選択する。時間変数生成部２は、経時情報を選択部４に与える。
【００２４】
本実施形態においては、経時情報として、トルクセンサ１０や電圧センサ１４等のような、物理量の検出手段によって検出されるアナログ量を用いることが好ましい。アナログ値には必ずホワイトノイズが含まれるので、アナログ値の発生パターンを予測することは極めて困難である。このため、アナログ値は、シードＳを与える乱数生成アルゴリズムを選択する際に用いる情報として好ましい。本実施形態において、経時情報としては、バッテリ１１の電圧値Ｅ１、バッテリ１１の電流値Ｅ２、トルクセンサ１０で検出されるトルクセンサ値Ｅ３、車速センサ１２で検出される車速センサ値Ｅ４といったアナログ値を用いる。そして、これらのアナログ値を、図２に示すＭＣＵ１００が備えるＡ／Ｄ変換器１０５によってディジタル値に変換し、経時情報として用いる。
【００２５】
なお、経時情報はこれらに限定されるものではなく、例えば、図２に示す電流検出回路１３０から出力されるモータ９の電流検出値Ｉｍや、位置検出回路から出力されるモータ回転角信号θを用いてもよい。また、図２に示すＭＣＵ１００が、ＲＡＭ１０３をリフレッシュするためのリフレッシュアジャスタを備える場合、このリフレッシュアジャスタの値を、経時情報として用いてもよい。
【００２６】
図４は、シードを与える乱数生成アルゴリズムを選択する際の手法の一例を示す説明図である。例えば、図４に示すように、Ａ／Ｄ変換をした後における経時情報が８ｂｉｔで表される場合、選択部４は、Ａ／Ｄ変換した後における複数の経時情報（電圧値Ｅ１、電流値Ｅ２、トルクセンサ値Ｅ３、車速センサ値Ｅ４）の総和の下位３ｂｉｔの情報を用いて生成した時間変数Ｘによって、乱数演算部１が備える乱数生成アルゴリズム１〜乱数生成アルゴリズム８のうちの一つを選択する。
【００２７】
３ｂｉｔは、０００、００１、０１０、０１１、１００、１０１、１１０、１１１の計８個の情報を有する。本実施形態に係る乱数演算部１は、乱数生成アルゴリズム１〜乱数生成アルゴリズム８の計８個のアルゴリズムを備える。この場合、例えば、乱数生成アルゴリズム１〜乱数生成アルゴリズム８に、０００、００１、０１０、０１１、１００、１０１、１１０、１１１をそれぞれの識別番号として割り当てておく。そして、時間変数生成部２は、Ａ／Ｄ変換をした後における経時情報の下位３ｂｉｔの値から時間変数Ｘを生成する。選択部４は、時間変数生成部２が生成した時間変数Ｘを用いてシードＳを与える乱数生成アルゴリズムを選択する。これによって、経時情報に基づいて、シードＳを与える乱数生成アルゴリズムが選択される。
【００２８】
なお、上記説明においては、経時情報をＡ／Ｄ変換した後における下位ｂｉｔの情報を用いて生成した時間変数Ｘを用いてシードＳを与えるアルゴリズムを選択したが、時間変数Ｘの生成に用いる情報は、下位３ｂｉｔに限定されるものではない。しかし、下位ｂｉｔほど、ばらつきが大きいため、その発生パターンを予測することは上位ｂｉｔを用いるよりも困難である。したがって、経時情報をＡ／Ｄ変換した後における最下位のｂｉｔから所定のｂｉｔまでの情報を用いて時間変数Ｘを生成し、これを用いてシードＳを与える乱数生成アルゴリズムを選択することが好ましい。また、Ａ／Ｄ変換器１０５自体にも動作のばらつきが存在するため、Ａ／Ｄ変換後のディジタル値を用いて時間変数Ｘを生成すると、乱数生成アルゴリズムを選択する際の予測がより困難になるので、より予測が困難な擬似乱数を生成できる。
【００２９】
なお、時間変数Ｘの生成方法は、上述したものに限定されるものではない。例えば、複数の経時情報をすべて加算又は減算し、その加算値又は減算値を乱数演算部１が備える乱数生成アルゴリズムの数ｎで割った余りの最下位ｂｉｔから所定のｂｉｔ数を選択し、時間変数Ｘとして用いてもよい。また、複数存在する経時情報の中から一つを選択して時間変数Ｘを生成してもよい。
【００３０】
さらに、複数存在する経時情報の中から少なくとも二つを選択し、それらの加算値又は減算値を用いて時間変数Ｘを生成してもよい。複数存在する経時情報の中から少なくとも一つを選択する場合、時間変数生成部２で生成した時間変数Ｘに基づいて、例えば、下位３ｂｉｔを用いて対応する情報を選択する等の手法により、情報を選択してもよい。このようにすれば、乱数演算部１で演算される擬似乱数がより予測困難なものになるので好ましい。
【００３１】
乱数演算部１から乱数生成アルゴリズムを選択するにあたっては、時間変数生成部２で生成された時間変数Ｘを選択部４が取得する。この場合、乱数生成アルゴリズムの切替が煩雑にならないように、選択部４は所定の時間間隔Δｔで時間変数Ｘを取得する。なお、時間変数生成部２が、所定の時間間隔Δｔで時間変数Ｘを生成するとともに、生成した時間変数Ｘを選択部４へ出力してもよい。所定の時間間隔Δｔは一定の時間としてもよいし、時間の経過とともに所定の時間間隔Δｔを変更してもよい。この場合、時間変数生成部２で生成された時間変数Ｘを用いて所定の時間間隔Δｔを変更してもよい。時間の経過とともに所定の時間間隔Δｔを変更すれば、乱数演算部１で演算される擬似乱数がより予測困難なものになるので好ましい。
【００３２】
選択部４は、取得した時間変数Ｘに基づいて乱数演算部１の乱数生成アルゴリズムを選択する。そして、選択した乱数生成アルゴリズムにシード生成部３で生成されたシードＳを与える。選択された乱数演算部１の乱数生成アルゴリズムは、与えられたシードＳを用いて擬似乱数ＲＮＯを生成し、出力する。乱数演算部１が生成した擬似乱数ＲＮＯは、暗号化処理やデータ転送に用いられるとともに、シード生成部３へ与えられ、シードＳの生成に用いられる。
【００３３】
これによって、シードＳも予測は極めて困難になるので、乱数演算部１で演算される擬似乱数がより予測困難なものになり、より好ましい。なお、時間変数Ｘは、シード生成部３へ与えられ、初回（例えば、ＥＰＳ制御装置５０へ電源が投入されてから、初めて擬似乱数を生成する場合）のシードＳの生成に用いられる。時間変数Ｘは、アナログ情報に基づいて生成されるので、規則性はほとんど存在しない。これによって、シードＳの予測は極めて困難になるので、乱数演算部１で演算される擬似乱数がより予測困難なものになる。
【００３４】
例えば、混合合同法は、式（１）のａ、ｐ、ｑに適当な数値を代入し、得られたａ’の中間あたりの必要な桁数を擬似乱数ＲＮＯとして採用し、それを新たなａとして再び式（１）に代入することによって、擬似乱数ＲＮＯを得る。混合合同法において、時間変数Ｘを用いてシードＳを生成する場合、３個の時間変数Ｘを数値に変換し、それぞれをａ、ｐ、ｑとして式（１）に与える。このａ、ｐ、ｑから求められるａ’が、次回のシードＳとなる。
ａ×ｐ＋ｑ＝ａ’・・・（１）
ここで、混合合同法を用いる場合、ａは今回のシードＳとなり、ａ’は擬似乱数ＲＮＯであるとともには次回のシードＳとなる。なお、ｐ、ｑは、適切な値であれば、固定値でもよい。
【００３５】
上述したように、本実施形態においては、図１に示す車載通信システム６０の共通通信線６１に接続されているＥＰＳ制御装置５０、エンジンコントロールユニット５１、ＡＴコントローラ５２等の機器が擬似乱数生成装置を備えている。外部機器接続用コネクタ５４を介して共通通信線６１上のデータをモニタすることにより、ＥＰＳ制御装置５０やエンジンコントロールユニット５１等の制御ロジックを解析されるおそれがある。
【００３６】
このため、共通通信線６１に接続されている機器に本実施形態に係る擬似乱数生成装置を搭載し、この擬似乱数生成装置によって得られた擬似乱数を用いて共通通信線６１上のデータの解析を困難にする。例えば、データに擬似乱数を加算したり乗算したりすることにより、データを推測しにくくする。これによって、共通通信線６１に接続されるＥＰＳ制御装置５０やエンジンコントロールユニット５１等への不正アクセスの防止、データ書き込み防止に有効である。
【００３７】
また、盗難防止機能を向上させるために、共通通信線６１に接続されている機器同士が互いに認証し合ったときに、車両の走行が可能になるようなセキュリティシステムを構築した場合、本実施形態に係る擬似乱数生成装置によって生成した擬似乱数を用いて認証用のパスワードやＩＤ、あるいは暗号等を作成する。
【００３８】
本実施形態に係る擬似乱数生成装置は、経時情報に基づいて、複数の異なる擬似乱数生成アルゴリズムを選択し、擬似乱数を生成する。これによって、パターン化されない幅広い質のよい擬似乱数を生成することができる。すなわち、本実施形態に係る擬似乱数生成装置は、予測の困難な擬似乱数を生成することができる。その結果、本実施形態に係る擬似乱数生成装置によって得られた擬似乱数を用いることにより、共通通信線６１上のデータの解析をさらに困難にすることができ、また、セキュリティをさらに向上させることができる。
【００３９】
以上、本実施形態では、経時情報に基づいて複数の異なる擬似乱数生成アルゴリズムを選択し、選択した擬似乱数生成アルゴリズムによって、擬似乱数を生成する。これによって、時間の変化とともに、擬似乱数を生成する擬似乱数生成アルゴリズムが変化するので、予測の困難な擬似乱数を生成することができる。
【００４０】
また、本実施形態では、上記手法によって生成した擬似乱数を用いてシードを作成するので、シードの予測も困難になる。これによって、さらに予測の困難な擬似乱数を生成することができる。
【００４１】
さらに、本実施形態においては、経時情報として、予測することが極めて困難なアナログ値を用いるので、複数の異なる擬似乱数生成アルゴリズムからいずれの擬似乱数生成アルゴリズムが選択されるかを予測することは極めて困難である。これによって、擬似乱数の予測をさらに困難なものとすることができる。
【産業上の利用可能性】
【００４２】
以上のように、本発明に係る車載用擬似乱数生成装置は、車両に搭載されて擬似乱数を生成することに有用であり、特に、予測の困難な擬似乱数を生成することに適している。
【図面の簡単な説明】
【００４３】
【図１】車載通信システムの一例を示す説明図である。
【図２】図１に示す車載通信システムに接続されるＥＰＳ制御装置のハードウェア構成を示す装置構成図である。
【図３】本実施形態に係る擬似乱数生成装置の機能を示す機能ブロック図である。
【図４】選択部がシードを与えるアルゴリズムを選択する際の手法の一例を示す説明図である。
【符号の説明】
【００４４】
１  乱数演算部
２  時間変数生成部
３  シード生成部
４  選択部
１０  トルクセンサ
１１  バッテリ
１２  車速センサ
１４  電圧センサ
１６  電流センサ
５０  ＥＰＳ制御装置
５１  エンジンコントロールユニット
５２  コントローラ
５３  ゲートウェイコンピュータ
５４  外部機器接続用コネクタ
６０  車載通信システム
６１  共通通信線
１００  ＭＣＵ
１０１  ＣＰＵ
【図１】
2009031853.tif 000003
【図２】
2009031853.tif 000004
【図３】
2009031853.tif 000005
【図４】
2009031853.tif 000006