(57)【特許請求の範囲】
【請求項１】
ソフトウェアを書換えるためのリプロソフトによりソフトウェアが書込まれるリプロ時にソフトウェアが書込まれることでソフトウェアが書換えられる書換え領域（３）と、ソフトウェアが一旦書込まれた後ではソフトウェアが書換え不可となる非書換え領域（４）と、を有する不揮発性メモリ（２）を内蔵したマイクロコンピュータ（１）において、
前記書換え領域に書換え領域用のセキュリティ設定フラグ（５）が設けられると共に、前記非書換え領域に非書換え領域用のセキュリティ設定フラグ（６）が設けられ、
前記書換え領域用のセキュリティ設定フラグ及び前記非書換え領域用のセキュリティ設定フラグのそれぞれの設定値により、書込み対象のソフトウェアが平文及び暗号文の何れであるかを判断して書込みの可否を判断する機能であるセキュリティ機能の有効と無効とが切替えられ、前記セキュリティ機能が無効であるときには、書込み対象の平文のソフトウェアをそのまま書込み可能であり、前記セキュリティ機能が有効であるときには、書込み対象の暗号文のソフトウェアを平文に復号化して書込み可能であることを特徴とするマイクロコンピュータ。
【請求項２】
請求項１に記載したマイクロコンピュータにおいて、
前記非書換え領域用のセキュリティ設定フラグがオン設定とされることで、前記書換え領域用のセキュリティ設定フラグの設定値に拘らずセキュリティ機能が有効とされることを特徴とするマイクロコンピュータ。
【請求項３】
請求項１又は２に記載したマイクロコンピュータにおいて、
前記非書換え領域用のセキュリティ設定フラグがオフ設定とされることで、前記書換え領域用のセキュリティ設定フラグの設定値が切替えられることに応じてセキュリティ機能の有効と無効とが切替えられることを特徴とするマイクロコンピュータ。
【請求項４】
請求項１から３の何れか一項に記載したマイクロコンピュータにおいて、
第１の期間では、前記非書換え領域用のセキュリティ設定フラグがオフ設定とされ、前記第１の期間よりもソフトウェアが書換えられる頻度が低い第２の期間では、前記非書換え領域用のセキュリティ設定フラグがオン設定とされることを特徴とするマイクロコンピュータ。
【請求項５】
請求項１から４の何れか一項に記載したマイクロコンピュータと、
前記非書換え領域用のセキュリティ設定フラグの設定値を設定する第１の設定手段（１０）と、
前記書換え領域用のセキュリティ設定フラグの設定値を設定する第２の設定手段（１２）と、を備えたことを特徴とするセキュリティ設定システム（１４）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リプロ時にソフトウェアが書換えられる書換え領域と、ソフトウェアが一旦書込まれた後では書換え不可となる非書換え領域とを有する不揮発性メモリを内蔵したマイクロコンピュータ、及びマイクロコンピュータのセキュリティ機能を設定するセキュリティ設定システムに関する。
【背景技術】
【０００２】
従来より、リプロ（リプログラミング、再プログラミング）時にソフトウェアが書換えられる書換え領域と、ソフトウェアが一旦書込まれた後では書換え不可となる非書換え領域とを有する不揮発性メモリを内蔵したマイクロコンピュータが供されている。この種のマイクロコンピュータでは、セキュリティ機能を設定するためのセキュリティ設定フラグを不揮発性メモリの内部に保有している。そして、そのセキュリティ設定フラグの設定値により、セキュリティ機能の有効と無効とを切替えている。セキュリティ設定フラグを書換え領域に保有するマイコンでは、ソフトウェアの書換え時にセキュリティ設定フラグをオフ設定すると、ソフトウェアの平文での書換えが可能となる。そのため、量産時のリプロではセキュリティの脆弱性が懸念される。一方、セキュリティ設定フラグを非書換え領域に保有するマイコンでは、ソフトウェアの書換え時にセキュリティ設定フラグを一旦オン設定すると、以降はオフ設定に変更不可となる。そのため、セキュリティの脆弱性が懸念されることはない。しかしながら、デバック用途でソフトウェアを頻繁に書換える開発時のリプロでは、一旦暗号文でリプロした以降では平文でのリプロ評価が不可となる。そのため、ハードウェア共通で仕向けの異なるソフトウェアの暗号文でのリプロ評価を実施する際には、仕向けに応じたハードウェアの単体数を準備する必要がある。一方、データを暗号化する技術として、特許文献１に開示されている技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２０１５１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示されている技術では、上記した量産時のリプロにおいてセキュリティの脆弱性が懸念される問題や、開発時のリプロにおいてセキュリティ機能の有効と無効とを切替不可により生じる問題を解決するには至らない。
【０００５】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、リプロを行う段階に応じてセキュリティ機能の有効と無効とを適切に切替えることができるマイクロコンピュータ及びセキュリティ設定システムを提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載した発明によれば、マイクロコンピュータに内蔵されている不揮発性メモリにおいて、ソフトウェアを書換えるためのリプロソフトによりソフトウェアが書込まれるリプロ時にソフトウェアが書込まれることでソフトウェアが書換えられる書換え領域に、書換え領域用のセキュリティ設定フラグが設けられている。又、ソフトウェアが一旦書込まれた後ではソフトウェアが書換え不可となる非書換え領域に、非書換え領域用のセキュリティ設定フラグが設けられている。即ち、書換え領域と非書換え領域との双方に、それぞれセキュリティ設定フラグが設けられている。そして、書換え領域用のセキュリティ設定フラグ及び非書換え領域用のセキュリティ設定フラグのそれぞれの設定値により、セキュリティ機能の有効と無効とが切替えられる。
【０００７】
これにより、開発時のリプロにおいては、非書換え領域のセキュリティ設定フラグをオフ設定とし、書換え領域のセキュリティ設定フラグをオン設定とオフ設定との間で切替えることで、セキュリティ機能の有効と無効とが切替えることができる。その結果、例えば開発の初期では、書込む対象のソフトウェアが平文で与えられる場合に、書換え領域のセキュリティ設定フラグをオフ設定とし、セキュリティ機能を無効とすることで、その与えられた平文のソフトウェアをそのまま書込むことができる。又、例えば開発の後期では、書込む対象のソフトウェアが秘匿性を保つために暗号文で与えられる場合に、書換え領域のセキュリティ設定フラグをオン設定とし、セキュリティ機能を有効とすることで、その与えられた暗号文のソフトウェアを平文に復号化して書込むことができる。即ち、書換え領域のセキュリティ設定フラグをオン設定とオフ設定との間で自在に切替えることで、一旦暗号文でリプロした以降で平文でのリプロ評価が不可となることはない。又、量産時のリプロにおいては、非書換え領域のセキュリティ設定フラグをオン設定（オン固定）とすることで、書換え領域のセキュリティ設定フラグの設定値に拘らずセキュリティ機能を有効に維持し続けることができ、セキュリティの脆弱性が懸念されることがなくなる。このようにリプロを行う段階が開発時であるか量産時であるかに応じてセキュリティ機能の有効と無効とを適切に切替えることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態を示す機能ブロック図
【図２】シリアル通信用のライタとの接続を示す図
【図３】ＣＡＮ通信用のライタとの接続を示す図
【図４】セキュリティ機能の有効・無効を示す図
【図５】フローチャート
【発明を実施するための形態】
【０００９】
以下、本発明を、車両に搭載されたＥＣＵ（Electronic Control Unit））に搭載されているマイクロコンピュータに適用した一実施形態について図面を参照して説明する。マイクロコンピュータ１は、フラッシュＲＯＭ２（不揮発性メモリ、フラッシュメモリ）を内蔵している。フラッシュＲＯＭ２は、リプロ時にソフトウェアが書換えられる書換え領域３と、ソフトウェアが一旦書込まれた後では書換え不可となる非書換え領域４とを有する。書換え領域３には、書換え領域用のセキュリティ設定フラグ５が設けられている。非書換え領域４には、非書換え領域用のセキュリティ設定フラグ６が設けられている。即ち、書換え領域３と非書換え領域４との双方に、それぞれセキュリティ設定フラグ５、６が設けられている。セキュリティ設定フラグ５、６は、それぞれの設定値をオン設定（「１」）とオフ設定（「０」）との間で切替可能である。又、非書換え領域４には、ソフトウェアを書換えるためのリプロソフト７を格納可能な領域が設けられている。
【００１０】
マイクロコンピュータ１は、外部との通信インタフェースとして、シリアル通信用のインタフェースを成立させるためのシリアル通信用の接続端子８と、ＣＡＮ（Controller Area Network）通信用のインタフェースを成立させるためのＣＡＮ通信用の接続端子９とを有する。マイクロコンピュータ１は、図２に示すように、シリアル通信用のライタ１０（第１の設定手段）を接続するシリアル通信用の通信ケーブル１１がシリアル通信用の接続端子８に接続されることで、シリアル通信用のライタ１０からデータ（ビット列）を入力可能となる。シリアル通信用のライタ１０が接続されている状態では、作業者がリプロソフト７の書込み操作を行うと、予めフラッシュＲＯＭ２に格納されているファームウェアが起動することで、リプロソフト７を構成するデータがフラッシュＲＯＭ２に転送され、リプロソフト７が非書換え領域４に格納される。又、シリアル通信用のライタ１０が接続されている状態では、作業者は非書換え領域４のセキュリティ設定フラグ６の設定値をオン設定又はオフ設定とする（切替える）ことが可能である。
【００１１】
又、マイクロコンピュータ１は、図３に示すように、ＣＡＮ通信用のライタ１２（第２の設定手段）を接続するＣＡＮ通信用の通信ケーブル１３がＣＡＮ通信用の接続端子９に接続されることで、ＣＡＮ通信用のライタ１２からデータ（ビット列）を入力可能となる。ＣＡＮ通信用のライタ１２が接続されている状態では、作業者がソフトウェアの書込み操作を行うと、非書換え領域４に格納されているリプロソフト７が起動することで、書込み対象のソフトウェアを構成するデータがフラッシュＲＯＭ２に転送され、書込み対象のソフトウェアが書換え領域３に書込まれる。又、ＣＡＮ通信用のライタ１２が接続されている状態では、作業者は書換え領域３のセキュリティ設定フラグ５の設定値をオン設定又はオフ設定とする（切替える）ことが可能である。尚、マイクロコンピュータ１と、セキュリティ設定フラグ６の設定値を設定可能なシリアル通信用のライタ１０と、セキュリティ設定フラグ５の設定値を設定可能なＣＡＮ通信用のライタ１２とにより、セキュリティ設定システム１４が構成される。
【００１２】
作業者は書換え領域３のセキュリティ設定フラグ５及び非書換え領域４のセキュリティ設定フラグ６を、リプロを行う段階に応じて図４に示すように設定する。即ち、作業者は、開発（市場への出荷前）の工程（第１の期間）では非書換え領域４のセキュリティ設定フラグ６をオフ設定とすることで、書換え領域３のセキュリティ設定フラグ５をオン設定とオフ設定との間で切替可能とし、セキュリティ機能を有効と無効との間で切替可能とする。作業者は開発の初期では書換え領域３のセキュリティ設定フラグ５をオフ設定とすることで、セキュリティ機能を無効とする。又、作業者は開発の後期では書換え領域３のセキュリティ設定フラグ５をオン設定とすることで、セキュリティ機能を有効とする。一方、作業者は、開発の工程よりもソフトウェアを書換える頻度が低い量産（市場への出荷後）の工程（第２の期間）では非書換え領域４のセキュリティ設定フラグ６をオン設定（オン固定）とすることで書換え領域３のセキュリティ設定フラグ５の設定値に拘らずセキュリティ機能を有効とする。
【００１３】
セキュリティ機能は、書込み対象のソフトウェアが平文及び暗号文の何れであるかを判断して書込みの可否を判断する機能である。セキュリティ機能が無効であるときには、書込み対象の平文のソフトウェアをそのまま書込み可能であり、セキュリティ機能が有効であるときには、書込み対象の暗号文のソフトウェアを平文に復号化して書込み可能である。
【００１４】
作業者は、最初にシリアル通信用のライタ１０をマイクロコンピュータ１に接続することで、セキュリティ設定フラグ６の設定値を設定し、リプロソフト７を書込む。作業者は、続いてＣＡＮ通信用のライタ１２をマイクロコンピュータ１に接続することで、セキュリティ設定フラグ５の設定値を工程の段階に応じて切替え、書込み対象のソフトウェアを書込む。即ち、作業者は、セキュリティ設定フラグ６の設定値をオフ設定とし、且つセキュリティ設定フラグ５の設定値をオフ設定とすることで、セキュリティ機能を無効とすることができ、書込み対象の平文のソフトウェアをそのまま書込むことができる。一方、作業者は、セキュリティ設定フラグ６の設定値をオフ設定とし、且つセキュリティ設定フラグ５の設定値をオン設定とすることで、セキュリティ機能を有効とすることができ、書込み対象の暗号文のソフトウェアを平文に復号化して書込むことができる。
【００１５】
リプロソフト７は図５に示すように動作する。
リプロソフト７は、ＣＡＮ通信用のライタ１２から書込み対象のソフトウェアが与えられるのを待機している（Ｓ１）。リプロソフト７は、ＣＡＮ通信用のライタ１２から書込み対象のソフトウェアが与えられたと判定すると（Ｓ１：ＹＥＳ）、書換え領域３のセキュリティ設定フラグ５及び非書換え領域４のセキュリティ設定フラグ６のそれぞれの設定値を参照する（Ｓ２）。そして、リプロソフト７は、それぞれの設定値を参照した結果により、セキュリティ機能が有効であるか無効であるかを判定する（Ｓ３）。
【００１６】
リプロソフト７は、非書換え領域４のセキュリティ設定フラグ６がオフ設定であり、且つ書換え領域３のセキュリティ設定フラグ５がオフ設定であるときには、セキュリティ機能が無効であると判定する。一方、リプロソフト７は、非書換え領域４のセキュリティ設定フラグ６がオフ設定であり、且つ書換え領域３のセキュリティ設定フラグ５がオン設定であるときには、セキュリティ機能が有効であると判定する。又、リプロソフト７は、非書換え領域４のセキュリティ設定フラグ６がオン設定であるときには、書換え領域３のセキュリティ設定フラグ５の設定値に拘らずセキュリティ機能が有効であると判定する。
【００１７】
リプロソフト７は、セキュリティ機能が無効であると判定すると、ＣＡＮ通信用のライタ１２から与えられた平文のソフトウェアをそのまま書込む（Ｓ４）。一方、リプロソフト７は、セキュリティ機能が有効であると判定すると、ＣＡＮ通信用のライタ１２から与えられた暗号文のソフトウェアを平文に復号化して（暗号文から平文に変換して）書込む（Ｓ５）。
【００１８】
以上に説明したように本実施形態によれば、次に示す効果を得ることができる。
マイクロコンピュータ１において、不揮発性メモリ２の書換え領域３と非書換え領域４との双方に、それぞれセキュリティ設定フラグ５、６を設け、それぞれの設定値により、セキュリティ機能の有効と無効とを切替えるようにした。これにより、開発時のリプロにおいては、非書換え領域４のセキュリティ設定フラグ６をオフ設定とし、書換え領域３のセキュリティ設定フラグ５をオン設定とオフ設定との間で切替えることで、セキュリティ機能の有効と無効とを切替えることができる。その結果、例えば開発の初期では、書換え領域３のセキュリティ設定フラグ５をオフ設定とし、セキュリティ機能を無効とすることで、平文のソフトウェアをそのまま書込むことができる。又、例えば開発の後期では、書換え領域３のセキュリティ設定フラグ５をオン設定とし、セキュリティ機能を有効とすることで、暗号文のソフトウェアを平文に復号化して書込むことができる。即ち、書換え領域３のセキュリティ設定フラグ５をオン設定とオフ設定との間で切替えることで、平文のソフトウェアの書込みと暗号文のソフトウェアの書込みとを自在に切替えることができる。よって、一旦暗号文でリプロした以降で平文でのリプロ評価が不可となることはない。又、量産時のリプロにおいては、非書換え領域４のセキュリティ設定フラグ６をオン設定（オン固定）とすることで、セキュリティ機能を有効に維持し続けることができ、セキュリティの脆弱性が懸念されることがなくなる。このようにリプロを行う段階が開発時であるか量産時であるかに応じてセキュリティ機能の有効と無効とを適切に切替えることができる。
【００１９】
本発明は、上記した実施形態にのみ限定されるものではなく、以下のように変形又は拡張することができる。
ＥＣＵに搭載されているマイクロコンピュータ１に適用した構成に限らず、他の用途の機器に搭載されているマイクロコンピュータに適用しても良い。
マイクロコンピュータ１とシリアル通信用のライタ１０との間のシリアル通信としては、マイクロコンピュータ１がサポートする他の通信プロトコル（ＵＡＲＴ、ＣＳＩ、ＮＥＸＵＳ等）を採用することができる。又、マイクロコンピュータ１とＣＡＮ通信用のライタ１２との間のＣＡＮ通信としては、リプロソフト７がサポートする他の通信プロトコル（ＦｌｅｘＲａｙ（登録商標）、Ｅｔｈｅｒｎｅｔ（登録商標）等）を採用することができる。
【符号の説明】
【００２０】
図面中、１はマイクロコンピュータ、２は不揮発性メモリ、３は書換え領域、４は非書換え領域、５は書換え領域用のセキュリティ設定フラグ、６は非書換え領域用のセキュリティ設定フラグ、７はリプロソフト、１０はシリアル通信用のライタ（第１の設定手段）、１２はＣＡＮ通信用のライタ（第２の設定手段）、１４はセキュリティ設定システムである。
【図１】
0006298732.tif 000002
【図２】
0006298732.tif 000003
【図３】
0006298732.tif 000004
【図４】
0006298732.tif 000005
【図５】
0006298732.tif 000006