(58)【調査した分野】(Int.Cl.,DB名)
制御対象の機器からの信号が入力される入力部と、クロック信号を計数する計数部と、該計数部が計数する計数値の取得を繰り返し行い、複数の計数値を記憶する記憶部と、該記憶部に記憶した複数の計数値に基づいて所定ビット長の擬似乱数を生成する擬似乱数生成部とを備える制御装置において、
前記入力部には、さらに前記機器における物理量が入力されており、
前記入力部に信号が入力される都度、入力された信号の種類を判別する判別部と、
該判別部による判別結果に基づき、同じ種類の信号が所定回数以上連続しているか否かを判定する判定部と
を備え、
前記記憶部は、前記入力部に信号が入力された場合、前記判定部により連続していないと判定したときに、前記計数部から計数値を取得して記憶し、且つ、前記判定部により連続していると判定したときに、前記計数部が計数する計数値を記憶せず前記入力部に入力された物理量を記憶するようにしてあることを特徴とする制御装置。
前記擬似乱数生成部は、擬似乱数を生成する際に、前記計数部から取得する計数値及び前記記憶部に記憶した複数の計数値を結合して擬似乱数を生成するようにしてあることを特徴とする請求項1又は2に記載の制御装置。
【背景技術】
【0002】
近年、自動車の分野においては、車輌の高機能化が益々進んでおり、多種多様な機器が車輌に搭載され、これら車載機器を制御するための制御装置、所謂ECU(Electronic Control Unit)が多数搭載されている。例えば、ユーザのスイッチ操作などに応じてドアロックの施錠/開錠、ヘッドライトのオン/オフ、及びワイパーのオン/オフ等の制御を行うECU等の種々のECUが車輌には搭載されている。
【0003】
ECUは、自己に接続された車載機器の制御だけでなく、車載LANを通して他のECUとの間でも連携して車載機器の複雑な制御を実現している。また、キーレスエントリーシステムでは、携帯通信キーとECUとの間で通信してドアロックの施錠/開錠及びエンジン始動を実現する。このように車載機器に対する制御の高機能化、更には車輌の情報通信化に伴い、車載機器間及び外部装置との間の通信は益々重要な役割を果たすことになり、通信速度及び通信品質の向上はもとより、車輌に適した通信セキュリティ技術の開発が求められている。
【0004】
特許文献1には、チャレンジ・レスポンス型の機器間認証に用いられる長いビット長のチャレンジデータと呼ばれる擬似乱数を生成する擬似乱数生成装置が記載されている。この擬似乱数生成装置では、例えば16ビット長のフリーランカウンタと、64ビット長のシフトレジスタとを備え、認証要求が入力されると、シフトレジスタ上のデータを末尾側へシフトして16ビット分を廃棄し、先頭側にフリーランカウンタから16ビットのデータを補充する。この擬似乱数生成装置は、シフトレジスタ上に生成された新たな64ビット長のデータをチャレンジデータ(擬似乱数)として出力することにより、小規模な回路で擬似乱数を生成することができるというものである。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の擬似乱数生成装置では、擬似乱数生成のためにフリーランカウンタを用いており、一定間隔で認証要求が入力されると、フリーランカウンタの出力データが一定のインクリメント値を持つようになる。このとき、シフトレジスタ上には、インクリメント値が一定のデータが並ぶことになり、規則性が表われてしまう。特許文献1に記載の擬似乱数生成装置は、シフトレジスタ上のデータを擬似乱数として出力するものであるが、上記のように一定間隔で認証要求が入力されると、規則性を有するデータを擬似乱数として出力してしまうという問題点があった。
【0007】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、機器に対する制御を行い、規則性を抑制して擬似乱数を生成することができる制御装置を提供することにある。
【課題を解決するための手段】
【0008】
本発明に係る制御装置は、制御対象の機器からの信号が入力される入力部と、クロック信号を計数する計数部と、該計数部が計数する計数値の取得を繰り返し行い、複数の計数値を記憶する記憶部と、該記憶部に記憶した複数の計数値に基づいて所定ビット長の擬似乱数を生成する擬似乱数生成部とを備える制御装置において、
前記入力部には、さらに前記機器における物理量が入力されており、前記入力部に信号が入力される都度、入力された信号の種類を判別する判別部と、該判別部による判別結果に基づき、同じ種類の信号が所定回数以上連続しているか否かを判定する判定部とを備え、前記記憶部は、前記入力部に信号が入力された
場合、
前記判定部により連続していないと判定したときに、前記計数部から計数値を取得し
て記憶
し、且つ、前記判定部により連続していると判定したときに、前記計数部が計数する計数値を記憶せず前記入力部に入力された物理量を記憶するようにしてあることを特徴とする。
【0009】
本発明に係る制御装置は、
制御対象の機器からの信号が入力される入力部と、クロック信号を計数する計数部と、該計数部が計数する計数値の取得を繰り返し行い、複数の計数値を記憶する記憶部と、該記憶部に記憶した複数の計数値に基づいて所定ビット長の擬似乱数を生成する擬似乱数生成部とを備える制御装置において、前記入力部に信号が入力される都度、入力された信号の種類を判別する判別部と、
該判別部による判別結果に基づき、同じ種類の信号が所定回数以上連続しているか否かを判定する判定部とを備え、
前記記憶部は、前記入力部に信号が入力された場合、前記判定部により連続していないと判定したときに、前記計数部から計数値を取得して記憶し、且つ、前記判定部により連続していると判定した
ときに
、前記計数部が計数する計数値を記憶
せず前記入力部に入力された信号とは異なる信号について前記記憶部に記憶してある計数値を記憶するようにしてあることを特徴とする。
【0011】
本発明に係る制御装置は、前記擬似乱数生成部が、擬似乱数を生成する際に、前記計数部から取得する計数値及び前記記憶部に記憶した複数の計数値を結合して擬似乱数を生成するようにしてあることを特徴とする。
【0012】
本発明においては、計数部によりクロック信号に基づいて計数し、計数する計数値の取得を繰り返し行い複数の計数値を記憶部に記憶し、記憶した複数の計数値に基づいて所定ビット長の擬似乱数を生成する。制御対象の機器からの信号が入力部に入力されたときに、記憶部は、計数部から計数値を取得し記憶する。これにより、制御対象の機器からの信号入力により計数値を記憶して擬似乱数を生成することで、規則性を抑制することができる。
【0013】
本発明においては、入力部に信号が入力される都度、判別部により、入力された信号の種類を判別し、判別結果に基づき、判定部により、同じ種類の信号が所定回数以上連続しているか否かを判定する。記憶部は、判定部により連続していると判定した場合に、計数部が計数する計数値を記憶しないようにしてある。これにより、連続して同じ種類の信号が入力された場合には、計数値の記憶をしないことで、生成する擬似乱数に組み込まないようにすることができる。例えば、意図的に一定時間間隔でドアを開閉するなどして入力部に入力されるスイッチ信号に基づいて擬似乱数が生成されることを防ぐことができる。
【0014】
本発明においては、入力部には、さらに機器における物理量が入力されており、判定部により連続していると判定した場合に、記憶部は、入力部に入力された物理量を記憶するようにしてある。これにより、連続して同じ種類の信号が入力された場合、計数部による計数値の代わりに機器における物理量を擬似乱数に組み込むようにする。
【0015】
本発明においては、擬似乱数生成部は、擬似乱数を生成する際に、計数部から取得する計数値及び記憶部に記憶した複数の計数値を結合して擬似乱数を生成するようにしてある。これにより、擬似乱数を生成する際に取得する計数値を含む擬似乱数を生成することができる。
【発明の効果】
【0016】
本発明による場合は、計数部によりクロック信号に基づいて計数し、計数する計数値の取得を繰り返し行い複数の計数値を記憶部に記憶し、記憶した複数の計数値に基づいて所定ビット長の擬似乱数を生成する。制御対象の機器からの信号が入力部に入力されたときに、記憶部は、計数部から計数値を取得し記憶するので、制御対象の機器からの信号入力により計数値を記憶して擬似乱数を生成することで、規則性を抑制することができる。
【発明を実施するための形態】
【0018】
(実施の形態1)
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。
図1は、本発明の実施の形態に係る制御装置100(以下、「ECU100」と表記する)の構成を示すブロック図である。
図1では車載制御装置の例を示すが、本発明は、家庭用電気製品、産業用機器等の様々な電気機器において用いられる制御装置について適用可能である。ECU100は、接続されている車載機器8に対する制御を行い、車載LANを介して通信接続された他のECU101,102との間で情報を交換し、他のECU101,102に接続された車載機器(図示略)の制御を行う。車載機器8は、例えば、車内照明、ヘッドライト、警報器、ドアロック機構、メータ類、カーナビゲーション装置等である。
【0019】
また、ECU100は、他のECU101,102から受信した乱数生成要求に対して、擬似乱数を生成し、当該乱数生成要求を送信したECUへ生成した擬似乱数を送信する。ECU100は、自ら使用するためにも擬似乱数を生成する。生成した擬似乱数は、例えば、チャレンジ・レスポンス方式に基づいて、イモビライザ制御を行うECU101がキー9を認証するために用いる。この他、スマートエントリー制御や、エンジンスタート制御を行うECUにおいても、擬似乱数が用いられる。
【0020】
ECU100は、CPU(Central Processing Unit)1、記憶部2、ROM(Read Only Memory)3、計数部4、入出力インタフェース(以下、入出力I/Fと表記する)5、A/D変換部6及び通信インタフェース(以下、通信I/Fと表記する)7等を備えて構成されている。車載機器8は、ECU100の入出力I/F5及びA/D変換部6にケーブルなどを介して接続されている。入出力I/F5は、車載機器8のスイッチ81から入力された信号をCPU1(又は記憶部2)へ与え、CPU1から与えられた制御信号をアクチュエータ82へ出力する。A/D変換部6は、センサ83により計測される車載機器8における物理量、例えば、水温、電池電圧等がアナログ信号として入力され、入力されたアナログ信号をデジタル信号に変換し、CPU1(又は記憶部2)へ与える。
【0021】
CPU1は、ROM3に予め記憶された制御プログラムを読み出して実行することにより、入出力I/F5に接続された車載機器8の制御処理を行うとともに、擬似乱数を生成する処理を行う。またCPU1は、制御処理を行う過程の演算などにて発生した一時的なデータを記憶部2に記憶しながら処理を進める。ROM3は、例えばEEPROM(Electrically Erasable Programmable ROM)等の不揮発性のメモリ素子で構成され、制御プログラム等が予め記憶されている。記憶部2は、SRAM(Static RAM)又はDRAM(Dynamic RAM)、フラッシュメモリ等のメモリ素子で構成されており、CPU1の処理過程で発生する種々のデータ等を一時的に、又は書換え可能に記憶する。
【0022】
通信I/F7は、車輌に搭載された他のECUに車載LANを介して接続されており、CAN(Controller Area Network)などのプロトコルに従って他のECUとデータの送受信を行う。通信I/F7は、CPU1から与えられたデータを送信し、他のECUから受信したデータをCPU1へ与える。これによりECU100は、他のECUに接続された車載機器から得られる情報を通信I/F7の通信によって取得することができると共に、他のECUに接続された車載機器への動作命令などを送信して制御することができる。
【0023】
計数部4は、入力するクロック信号を計数する所定ビット長(例えば、16ビット長)のフリーランカウンタである。計数部4は、所定ビット長の最大値まで計数すると、0値に戻って計数を繰り返す。
【0024】
図2は、
図1のCPU1が実現する擬似乱数生成機能を説明するための模式図である。CPU1は、制御プログラムによる擬似乱数生成処理を実行することにより、入力監視部11、記憶処理制御部12、及び擬似乱数生成部13による機能を実現している。
【0025】
入力監視部11は、入出力I/F5及び通信I/F7に信号が入力されるかどうかを監視する。入力監視部11は、入出力I/F5及び通信I/F7に信号が入力されると、記憶処理制御部12へ、記憶処理要求を出力する。具体的には、入力監視部11は、乗員が操作するスイッチ(ドア施錠/開錠スイッチ、エンジンスタートスイッチ等)及び状態検知スイッチ(ドア開閉検知スイッチシートベルトバックル装着状態検知スイッチ等)などのスイッチから入出力I/F5に信号が入力されるかを監視する。また、入力監視部11は、通信I/F7にECU間の制御信号が入力されるかを監視する。さらに、入力監視部11は、必要に応じてA/D変換部6から物理量のデジタル値を取得するが、これについては後述する。
【0026】
入力監視部11は、信号種類判別部11a及び判定部11b等を有している。信号種類判別部11aは、入出力I/F5及び通信I/F7に入力された信号の種類を判別する。信号種類判別部11aは、例えば、スイッチが接続された入出力I/F5のポート番号により、どのスイッチからの信号か判別することができる。信号種類判別部11aは、判別した入力信号の種類を信号毎に予め定めた識別コードにより判定部11bへ出力する。
【0027】
判定部11bは、
信号種別判別部11aから同じ識別コードが連続して所定回数(n回)入力されるかどうかを判定する。判定部11bは、信号種類判別部11aから入力された識別コードが前回入力された識別コードと同じであるかどうかを判定し、同じであればカウント値k(初期状態は0)に1を加算し、同じでなければカウント値kを0にする。入力監視部11は、判定部11bが同じ種類の信号がn回以上連続していると判定した場合、A/D変換部6から物理量(デジタル値)を取得し、記憶処理要求を出力せずに、取得した物理量を記憶処理制御部12へ出力する。また、入力監視部11は、判定部11bが同じ種類の信号がn回以上連続していると判定した場合、別の種類の信号に関し、過去に取得して記憶してある計数値を取得し、記憶処理制御部12へ出力する。なお、所定回数であるnは、例えば、擬似乱数を生成する際に使用する記憶データが3個である場合には、n=2とすることにより、全ての記憶データが同じ種類の信号をトリガにして記憶部2に記憶されることを防ぐことができる。
【0028】
記憶処理制御部12は、入力監視部11から記憶処理要求が入力されると、計数部4から計数値を取得し、取得した計数値を記憶部2に記憶させる。なお、記憶処理制御部12は、計数部4から計数値を出力させ、出力された計数値を直接記憶部2に記憶させるようにしてあってもよい。また、記憶処理制御部12は、入力監視部11から物理量が入力されると、入力された物理量を記憶部2へ出力する。
図3は、記憶処理制御及び擬似乱数生成について説明するための模式図である。記憶部2は、計数値または物理量を3個の記憶データ(記憶データ01、記憶データ02、記憶データ03)に順次記憶する。記憶処理制御部12は、計数値または物理量を記憶部2に記憶させる際に、記憶データ番号を番号順に順次選択し、記憶部2に指示する。具体的には、記憶処理制御部12は、今回、計数値または物理量を記憶データ01へ記憶させた場合、次回は記憶データ02へ記憶させ、その次は記憶データ03へ、さらにその次は記憶データ01へ記憶させる。なお、各記憶データには、最初は初期値が記憶されているものとする。また、上述の例では、記憶データの数を3個としているが、これに限られず、3個以外の複数個とすることができる。
【0029】
擬似乱数生成部13は、乱数生成要求を受けて擬似乱数を生成する。擬似乱数生成部13は、擬似乱数を生成する際に、記憶部2から記憶データを取得するとともに、計数部4から計数値を取得し、これらをビット結合して擬似乱数とする。記憶処理制御部12からは、最新の記憶データ番号を取得する。擬似乱数生成部13は、擬似乱数を作成する際に、記憶部2から取得した各データ及び計数部4から取得した計数値の並び順を決定する(
図3参照)。
図3では、計数値を上位に置き、続いて、記憶データを最新のものから順に並べるようにしてある。例えば、擬似乱数生成部13は、記憶処理制御部12から取得した記憶データ番号が01である場合、計数値、記憶データ01、記憶データ03、記憶データ02のように上位から下位へ順に並べ、ビット結合して擬似乱数を生成する。擬似乱数生成部13は、乱数生成要求を発したECUへ生成した擬似乱数を出力する。
【0030】
次に、制御装置1による擬似乱数を生成する処理手順について説明する。
図4は、制御装置1により計数値等を記憶する処理の手順を示すフローチャートである。制御装置1は、入力監視部11により、入出力I/F5及び通信I/F7に信号が入力されたか否かを判定し(ステップS01)、入力されていないと判定した場合(S01:NO)、ステップS01の判定を繰り返し、信号の入力を監視する。制御装置1は、入力監視部11により、信号が入力されたと判定した場合(S01:YES)、信号種類判別部11aにより、入出力I/F5及び通信I/F7に入力された信号の種類を判別する(ステップS02)。
【0031】
信号種類判別部11aは、ステップS02で判別した入力信号の種類を信号毎に予め定めた識別コードにより判定部11bへ出力する。判定部11bは、入力された識別コードが前回入力された識別コードと同じであるかどうかを判定し、同じであればカウント値k(初期状態は0)に1を加算し、同じでなければカウント値kを0にする。そして、判定部11bは、同じ種類の信号がn回以上連続しているか否かを判定する(ステップS03)。判定部11bが、同じ種類の信号がn回以上連続していないと判定した場合(S03:NO)、制御装置1は、入力監視部11により、記憶処理制御部12へ記憶処理要求を出力する。記憶処理制御部12は、入力監視部11から記憶処理要求が入力されると、計数部4から計数値を取得し(ステップS04)、取得した計数値を記憶部2に記憶させる(ステップS05)。
【0032】
一方、判定部11bが、同じ種類の信号がn回以上連続していると判定した場合(S03:YES)、制御装置1は、入力監視部11により、A/D変換部6から物理量を取得するか、または別の種類の信号に関し過去に取得して記憶してある計数値を取得し(ステップS06)、取得した値を記憶処理制御部12へ出力する。
図5は、過去に取得した計数値(最新計数値)を記憶するテーブルを示す図表である。各信号の種別は、上述のように識別コードにより識別され、例えば、信号01(信号コード:01)が直近に入力されたときに計数部4から取得した最新計数値がテーブル内に記憶してあり、信号01の場合「3A28」である。制御装置1は、記憶処理制御部12により、取得した物理量または計数値を記憶部2に記憶させる(ステップS05)。なお、ステップS05においては、記憶処理制御部12は、上述のとおり、記憶データ01、記憶データ02、及び記憶データ03の順に繰り返し指定し、記憶部2は、指定された番号の記憶データに計数値または物理量を記憶する。ステップS5の実行により、入出力に入力された1つの信号に対する記憶処理制御を完了する。
【0033】
次に、制御装置1により擬似乱数を生成する処理の手順について説明する。
図6は制御装置1により擬似乱数を生成する処理の手順を示すフローチャートである。制御装置1は、擬似乱数生成部13により、乱数生成要求を受信したか否かを判定する(ステップS11)。擬似乱数生成部13は、乱数生成要求を受信していないと判定した場合(S11:NO)、判定を繰り返し、乱数生成要求の受信を監視する。擬似乱数生成部13により、乱数生成要求を受信したと判定した場合(S11:YES)、制御装置1は、擬似乱数生成部13により、計数部4から計数値を取得し(ステップS12)、記憶部2に記憶した複数の記憶データを取得する(ステップS13)。
【0034】
制御装置1は、擬似乱数生成部13により、記憶部から取得した複数の記憶データをビット結合し(ステップS14)、計数部4から取得した計数値をさらにビット結合して擬似乱数を生成する(ステップS15)。制御装置1は、擬似乱数生成部13により、乱数生成要求を発したECUへ生成した擬似乱数を出力する(ステップS16)。なお、擬似乱数生成部13は、記憶処理制御部12からは、最新の記憶データ番号を取得し、擬似乱数を作成する際に、記憶部2から取得した各データ及び計数部4から取得した計数値の並び順を決定する(
図3参照)。ステップS16にて、生成した擬似乱数を出力することにより、1つの乱数生成要求に対する擬似乱数の生成処理を完了する。
【0035】
以上のとおり、本実施形態によれば、計数部4はクロック信号に基づいて計数し、記憶部2は、計数部4が計数する計数値の取得を繰り返し行い、複数の計数値を記憶データ01、記憶データ02、及び記憶データ03として記憶する。記憶データ01、記憶データ02、及び記憶データ03として記憶した複数の計数値に基づいて、擬似乱数生成部13は所定ビット長の擬似乱数を生成する。制御対象である車載機器8からの信号が入出力I/F5に入力されたときに、記憶部2は、計数部4から計数値を取得し記憶する。これにより、制御対象の車載機器8からの信号入力により計数値を記憶して擬似乱数を生成することで、規則性を抑制することができる。
【0036】
また、本実施形態によれば、入出力I/F5に信号が入力される都度、信号種類判別部11aにより、入力された信号の種類を判別し、判別結果に基づき、判定部11bにより、同じ種類の信号が所定回数以上連続しているか否かを判定する。記憶部2は、判定部11bにより連続していると判定した場合に、計数部4が計数する計数値を記憶しないようにしてある。これにより、連続して同じ種類の信号が入力された場合には、計数値の記憶をしないことで、生成する擬似乱数に組み込まないようにすることができる。例えば、意図的に一定時間間隔でドアを開閉するなどして入出力I/F5に入力されるスイッチ信号に基づいて擬似乱数が生成されることを防ぐことができる。
【0037】
また、本実施形態によれば、A/D変換部6に、車載機器8における物理量が入力されており、判定部11bにより同じ種類の信号が所定回数連続していると判定した場合に、記憶部2は、A/D変換部6に入力された物理量を記憶するようにしてある。これにより、所定回数連続して同じ種類の信号が入力された場合、計数部4による計数値の代わりに車載機器8における物理量を擬似乱数に組み込むようにする。
【0038】
また、本実施形態によれば、擬似乱数生成部13は、擬似乱数を生成する際に、計数部4から取得する計数値及び記憶部2に記憶した複数の計数値(記憶データ01、記憶データ02、及び記憶データ03)を結合して擬似乱数を生成するようにしてある。これにより、擬似乱数を生成する際に取得する計数値を含む擬似乱数を生成することができる。また、擬似乱数生成部13は、擬似乱数を生成する際に、記憶部2に記憶した複数の計数値(記憶データ01、記憶データ02、及び記憶データ03)を結合して擬似乱数を生成するようにしてもよい。
【0039】
なお、開示された実施の形態は、全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上述の説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。