(57)【要約】【課題】  デバッガが接続された際にも、外付けメモリなどに保持されたデータを流出させない、すなわちデータを保護する制御装置およびデータ漏洩防止方法を提供する。【解決手段】  制御装置１は、マイクロプロセッサ４と、マイクロプロセッサ４が実行するプログラムを含むデータを保持し、所定の指令が与えられることによりデータを揮発する記憶部７と、プログラムをデバッグするデバッガ２を接続する接続部３と、接続部３にデバッガ２が接続されたことを検出する接続検出部１１と、該接続検出部１１によってデバッガ２の接続が検出されると、所定の指令を記憶部７に与え、記憶部７のデータを揮発させる制御部５と、により構成される。【選択図】図１
2014059635.tif 000002
【特許請求の範囲】
【請求項１】
マイクロプロセッサと、
前記マイクロプロセッサが実行するプログラムを含むデータを保持し、所定の指令が与えられることにより前記データを揮発する記憶部と、
前記プログラムをデバッグするデバッガを接続する接続部と、
前記接続部に前記デバッガが接続されたことを検出する接続検出部と、
該接続検出部によって前記デバッガの接続が検出されると、前記所定の指令を前記記憶部に与え、前記記憶部のデータを揮発させる制御部と、
を備えることを特徴とする制御装置。
【請求項２】
前記所定の指令は前記記憶部をパワーダウンモードに移行させる指令であることを特徴とする請求項１記載の制御装置。
【請求項３】
前記制御部は、
所定のコードが前記マイクロプロセッサから与えられると、この与えられた所定のコードと予め保持されている解除コードとを比較し、この比較結果が等しいとき、前記所定の指令の出力を解除することを特徴とする請求項１記載の制御装置。
【請求項４】
前記制御部は、
外部ピンを有するプログラマブルデバイス素子で構成され、その外部ピンに入力されるビットパターンが予め保持されている解除コードと等しいとき、前記所定の指令の出力を解除することを特徴とする請求項１記載の制御装置。
【請求項５】
モードを変更する機能を有する記憶部に、マイクロプロセッサが実行するプログラムを含むデータを保持させた制御装置のデータ漏洩防止方法であって、
前記プログラムをデバッグするデバッガが接続されたことを検出すると、前記記憶部をパワーダウンモードに変更させて、前記記憶部のデータを揮発することを特徴とするデータ漏洩防止方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶部を備える制御装置、およびその記憶部に記憶されたデータの漏洩防止方法に関する。
【背景技術】
【０００２】
電力変換装置などの組み込みシステムではデバック機能としてＪＴＡＧ（Joint  Test  Action  Group）機能を搭載することが主流になっている。
ＰＣ（Personal  Computer）等、汎用のコンピュータシステムは勿論のこと、各種組込みシステムにおいて、プログラムやデータ等、ソフトウェアの保護は重要である。しかしながら、上記したＪＴＡＧを用いると、メモリに保持されたプログラムやデータを自由に読みだすことができる。
【０００３】
従来、第三者によるＪＴＡＧインタフェースを介したプログラムやデータの読み出しができないような仕組みが開発され提案されている。例えば、特許文献１には、内蔵フラッシュＲＯＭにセキュリティビットを設け、このセキュリティビットをＯＮすることでＪＴＡＧインタフェースの機能を禁止してフラッシュＲＯＭに保持されたプログラムの読出しができない仕組みが開示されている。また、特許文献２には、ＪＴＡＧインタフェースにＩＣＥ等のデバッグ機器が接続されているときは、内蔵ＲＡＭのアクセスを禁止することで内蔵ＲＡＭに保持されたプログラムの読み出しができない仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３２２６７号公報。
【特許文献２】特開２００９−２５９０７号公報。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のようにプログラムやデータの保護が重要になって来ているが、特許文献１や特許文献２に開示されているように、従来はＪＴＡＧインタフェースからプログラムやデータの読み出しを防止する対象がマイクロプロセッサに内蔵されたメモリを対象としたものである。従って、外付けメモリを対象としたものではなく、マイクロプロセッサに外付けメモリを接続した場合でもＪＴＡＧインタフェースを介してプログラムやデータの漏洩を防止することが望まれている。
【０００６】
本発明は、上記を鑑みて考案されたものであり、その目的はデバッガが接続された際にも、外付けメモリなどに保持されたデータを流出させない、すなわちデータを保護する制御装置およびデータ漏洩防止方法を提供することにある。
【課題を解決するための手段】
【０００７】
課題を解決するための請求項１記載の発明は、マイクロプロセッサと、前記マイクロプロセッサが実行するプログラムを含むデータを保持し、所定の指令が与えられることにより前記データを揮発する記憶部と、前記プログラムをデバッグするデバッガを接続する接続部と、前記接続部に前記デバッガが接続されたことを検出する接続検出部と、該接続検出部によって前記デバッガの接続が検出されると、前記所定の指令を前記記憶部に与え、前記記憶部のデータを揮発させる制御部と、を備えることを特徴とする制御装置である。
【０００８】
請求項２記載の発明は、前記所定の指令は前記記憶部をパワーダウンモードに移行させる指令であることを特徴とする請求項１記載の制御装置である。
請求項３記載の発明は、前記制御部は所定のコードが前記マイクロプロセッサから与えられると、この与えられた所定のコードと予め保持されている解除コードとを比較し、この比較結果が等しいとき、前記所定の指令の出力を解除することを特徴とする請求項１記載の制御装置である。
【０００９】
請求項４記載の発明は、前記制御部は外部ピンを有するプログラマブルデバイス素子で構成され、その外部ピンに入力されるビットパターンが予め保持されている解除コードと等しいとき、前記所定の指令の出力を解除することを特徴とする請求項１記載の制御装置である。
【００１０】
請求項５記載の発明は、モードを変更する機能を有する記憶部に、マイクロプロセッサが実行するプログラムを含むデータを保持させた制御装置のデータ漏洩防止方法であって、前記プログラムをデバッグするデバッガが接続されたことを検出すると、前記記憶部をパワーダウンモードに変更させて、前記記憶部のデータを揮発することを特徴とするデータ漏洩防止方法である。
【発明の効果】
【００１１】
本発明によれば、制御部は、デバッガの接続が検出されると所定の指令を記憶部に与えて記憶部のデータを揮発させる。このため、デバッガが接続された際にも外付けメモリなどに保持されたデータの流出を防止することができ、したがって外付けメモリ等に保持されたデータの保護が可能になる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係る制御装置の一実施形態を示すブロック図。
【図２】本発明に係る制御装置の制御部の一例を示すブロック図。
【図３】ＳＤＲＡＭのリフレッシュ動作を示すタイミングチャート。
【図４】本発明に係るデバッガが未接続の際のＳＤＲＡＭのリフレッシュ動作を示すタイミングチャート。
【図５】本発明に係るデバッガが接続された際にＳＤＲＡＭのデータを揮発させる動作を示すタイミングチャート。
【発明を実施するための形態】
【００１３】
以下、この発明の実施の形態について図面を参照して詳細に説明する。
図１は、本発明に係る制御装置の一例を示すブロック図、図２は、同じく制御装置の制御部の一例を示すブロック図である。ここで制御装置とは、例えば、パワーエレクトロニクス技術を応用した電力変換装置等をいう。
【００１４】
図１において制御装置１は、システムバス（アドレスバス８、データバス９）を介してマイクロプロセッサ４、ＰＬＤ５、フラッシュＲＯＭ６、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）７が接続されている。ＳＤＲＡＭ７はクロックに同期して動作する同期メモリであり、本発明ではＳＤＲ−ＳＤＲＡＭ、ＤＤＲ−ＳＤＲＡＭ、ＤＤＲ２−ＳＤＲＡＭ、ＤＤＲ３−ＳＤＲＡＭ等を総称している。また、ＳＤＲＡＭ７への入出力信号やコマンドは、ＪＥＤＥＣ半導体技術協会（英国:ＪＥＤＥＣ  Solid  State  Technology  Association）によって規格化されている。
【００１５】
制御装置１はデバッガ２（ＪＴＡＧ−ＩＣＥ（In  Circuit  Emulator））を接続するＪＴＡＧポート３（接続部）を有する。フラッシュＲＯＭ６にはマイクロプロセッサ４が実行するプログラムが保持されており、当該プログラムは予め暗号化されている。ＳＤＲＡＭ７にはフラッシュＲＯＭ６の暗号化プログラムを復号した復号後のプログラムが保持されているし。マイクロプロセッサ４はＳＤＲＡＭ７に保持された復号後のプログラムを参照して装置全体の動作を制御する。なお、フラッシュＲＯＭ６やＳＤＲＡＭ７には、プログラムの他、各種テーブルや設定データなどのデータが含まれている。後に詳述するが、ＰＬＤ５は外部ピンを有するプログラマブルデバイス素子であり、フラッシュＲＯＭ６やＳＤＲＡＭ７に保持されたデータを保護する機能が搭載されている。ＰＬＤ５を制御部ともいう。
【００１６】
ＪＴＡＧポート３とマイクロプロセッサ４、そしてＰＬＤ５とはＪＴＡＧ制御信号１０ａ、ＪＴＡＧデータ入力１０ｂによって接続されている。また、ＪＴＡＧポート３はＪＴＡＧデータ出力信号１０ｃを介してマイクロプロセッサ４と接続されている。さらに、マイクロプロセッサ４はライン１０ｄ：制御信号ＲＥＡＤ（読出し信号）、１０ｅ：制御信号ＣＳＰＬＤ（ＰＬＤをチップセレクトする信号）、１０ｋ：制御信号ＨＯＬＤＲＥＱ（マイクロプロセッサ４へのバス解放要求信号）、１０ｉ：制御信号ＳＤＣＫＥ（マイクロプロセッサ４から入力されるＣＫイネーブル）を介してＰＬＤ５に接続されている。
【００１７】
さらに、マイクロプロセッサ４と外付けフラッシュＲＯＭ６とは、ライン１０ｆ：制御信号ＣＳＲＯＭ（読出しを防止したいメモリのチップセレクト信号）、１０ｇ：制御信号ＣＳＲＡＭ（ＳＤＲＡＭをチップセレクトする信号）によって接続されている。さらに、マイクロプロセッサ４とＳＤＲＡＭ７は、ライン１０ｇ：制御信号ＣＳＲＡＭ（ＳＤＲＡＭをチップセレクトする信号）、ライン１０ｈ：制御信号ＢＵＳＣＬＫ（バスクロック(ＳＤＲＡＭのクロック）)によって接続されている。ＰＬＤ５とＳＤＲＡＭ７は、ライン１０ｊ：制御信号ＳＤＣＫＥ２（ＳＤＲＡＭ７へ出力するＣＫイネーブル）によって接続されている。
【００１８】
図２に示すように、ＰＬＤ５（Programmable  Logic  Device）は、ＪＴＡＧポート３にデバッガ２が接続されたことを検出するＪＴＡＧ接続検出部１１（接続検出部）を有する。また、ＰＬＤ５は、ＳＤＲＡＭ７等に保持されているデータを保護する機能としてソフト保護機能制御部１２と、当該ソフト保護機能制御部の機能を無効化するかどうかを判定する無効化判定部１３を有する。さらにＰＬＤ５は、ＨＯＬＤＲＥＱ信号をマイクロプロセッサ４に出力するＨＯＬＤＲＥＱ出力部１４と、マイクロプロセッサ４が出力したＳＤＣＫＥ信号（ＣＫイネーブル）を受けＳＤＣＫＥ２信号として出力するＣＫＥ制御部１５を有している。
【００１９】
ＪＴＡＧ接続検出部１１は、ＪＴＡＧ制御信号と、ＪＴＡＧデータを入力し接続検出信号を出力する。ソフト保護機能制御部はＪＴＡＧ接続検出部１１から出力された接続検出信号と無効化判定部１３の無効化信号を受け保護動作許可信号を出力する。ＨＯＬＤＲＥＱ出力部１４は、保護動作許可信号を受けマイクロプロセッサ４にＨＯＬＤＲＥＱ信号を出力する。また、ＣＫＥ制御部１５は、保護動作許可信号を受けＳＲＡＭ７にＳＤＣＫＥ２信号を出力する。
【００２０】
このような構成をもつ制御装置１の動作について、以下に、図３乃至図５のタイミングチャートを用いて詳細に説明する。図３は、ＳＤＲＡＭ７の動作を説明する図である。ＣＫはクロック入力であり、図１のＢＵＳＣＬＫ信号である。ＳＤＲＡＭ７はこのクロックに同期して動作する。ＣＫＥはパワーダウンモードへの切替えやセルフリフレッシュモードへの切り替えを目的とした信号であり、図１のＳＤＣＫＥ信号に相当する。なお、図１のＳＤＣＫＥ信号は、図３では、直接ＳＤＲＡＭ７のＣＫＥ端子に入力されていると仮定して説明する。
【００２１】
ＳＤＲＡＭ７はＣＫＥ信号がアサート（Ｈレベル）のとき、入力されたクロックを有効とみなし、ＣＫＥ信号がネゲート（Ｌレベル）のとき入力されたクロックを無効扱いする。ＳＤＲＡＭ７はＣＫＥがネゲート（Ｌレベル）されることでＳＤＲＡＭ内部のクロックを停止状態にして、消費電力を抑えることができる。その反面、そのまま放置すると常温では数秒程度でＤＲＡＭセルの内容は揮発する。
【００２２】
このため、ＳＤＲＡＭ７は、ＣＫＥがネゲートされている間でもＤＲＡＭセルの内容が揮発しないようにセルフリフレッシュ機能を有している。セルフリフレッシュ機能は図３のタイミングチャートのようにＣＫＥのネゲート（Ｈ→Ｌ）に同期してＳＲＥ（Self  Refresh  Entry）コマンドをＳＤＲＡＭ７に与えることで成される。一方、ＣＫＥのアサート（Ｌ→Ｈ）に同期してＳＲＸ（Self  Refresh  Exit）コマンドをＳＤＲＡＭ７に与えることでＳＤＲＡＭ７はセルフリフレッシュ機能を解除する。なお、ＳＲＥやＳＲＸなどのコマンドは、不図示であるがＳＤＲＡＭ７に供給される制御信号（ＣＳ／ＲＡＳ／ＣＡＳ／ＷＥ）を組み合わせたコードである。
【００２３】
このようにして本発明の制御装置１は、デバッガが接続されない通常時の動作において、ＳＤＲＡＭ７をパワーダウンモードにしてもデータが消失しないようにセルフリフレッシュ機能を活用している。
【００２４】
以下、制御装置１のデータ保護機能について、図４，図５のタイミングチャートを用い、ＰＬＤ５の動作を交えながら説明する。なお、図４，図５に示す信号は図２に示す信号と同じであるがコマンドは図３に示すコマンドと同様である。
【００２５】
『デバッガ２が未接続の場合の動作』
デバッガ２がＪＴＡＧポート２に未接続の場合、ＰＬＤ５のＪＴＡＧ接続検出部１１は、接続検出信号１０ｌをネゲート（Ｌ）する。接続検出信号１０ｌがネゲートすると、ソフト保護機能制御部１２は保護動作許可信号１０ｎをネゲートする。保護動作許可信号１０ｎがネゲートのとき、ＣＫＥ制御部１５は、マイクロプロセッサ４から受けたＳＤＣＫＥ信号１０ｉをＳＤＣＫＥ２信号１０ｊとしてそのまま出力する。図４ではデバッガ２がＪＴＡＧポート２に未接続なので、保護動作許可信号１０ｎはネゲートの状態であり、ＳＤＣＫＥ２信号１０ｊは、ＳＤＣＫＥ信号１０ｉがアサートすることによりアサートし、ＳＤＣＫＥ信号１０ｉがネゲートすればネゲートしている。
【００２６】
このように、制御装置１にデバッガが接続されず保護動作許可信号１０ｎがネゲートしているとき、ＳＤＣＫＥ信号１０ｉとＳＤＣＫＥ２信号１０ｊとは連動して動作する。
また、図４においてＳＲＥコマンドやＳＲＸコマンドは、図３同様ＳＤＣＫＥ信号１０ｉとＳＤＣＫＥ２信号１０ｊの変化に同期して与えられている。このため、ＤＲＡＭセルの内容が揮発することはない。従って、マイクロプロセッサ４は、フラッシュＲＯＭ６やＳＤＲＡＭ７からプログラムやワーク変数を正常に読出すことができる。このようにすることによって、マイクロプロセッサ４は例えばＳＤＲＡＭ７に記憶されたコンピュータプログラムに従ってソフトウェア処理を実行することができる。
【００２７】
『デバッガ２が接続された場合の動作』
一方、デバッガ２がＪＴＡＧポート２に接続された場合、ＰＬＤ５のＪＴＡＧ接続検出部１１は接続検出信号１０ｌをアサート（Ｈ）する。接続検出信号１０ｌがアサートすると、ソフト保護機能制御部１２は保護動作許可信号１０ｎをアサートする。ＣＫＥ制御部１５は、保護動作許可信号１０ｎがアサートすると、ＳＤＣＫＥ信号１０ｉの状態に係わらず、ＳＤＣＫＥ２信号１０ｊを強制的にネゲートしてＳＤＲＡＭをパワーダウンモードにする。ＳＤＣＫＥ２信号１０ｊがネゲートされると、数秒程度でＳＤＲＡＭセルは揮発するためＳＤＲＡＭ７に保持されたデータは不定状態になる。従って、マイクロプロセッサ４は、ＳＤＲＡＭ７からプログラムやワーク変数を正常に読出すことができなくなる。このようにすることによって本発明はＳＤＲＡＭ７に記憶された正規のデータの流出を防止できる（すなわちデータの保護が可能である）。
【００２８】
図５では、デバッガ２がＪＴＡＧポート２に接続されたことに伴い、保護動作許可信号１０ｎが途中でアサートされ、これに連動してＳＤＣＫＥ２信号１０ｊがネゲートしている。このように保護動作許可信号１０ｎがアサートされると、ＳＤＣＫＥ２信号１０ｊはＳＤＣＫＥ信号１０ｉの状態に係わらず、ＳＤＣＫＥ２信号１０ｊを強制的にネゲートする。よって、ＳＤＲＡＭ７に保持されたデータは揮発する。尚、本発明において、デバッガ２の接続はマイクロプロセッサ４が動作していないとき（例えば、制御装置１を起動する前）に行われることを前提としている。つまり、デバッガ２が接続された時にＳＲＥコマンドは発行されない。
【００２９】
次にデータ保護を解除する場合の動作について説明する。デバッガ２が接続された場合の動作は上記と同じであるが、所定の条件を満たせばデータの保護状態を解除することができる。すなわち、無効化判定部１３（図２）は、予め定められているビットパターン（ＰＬＤ５に予め設定された解除コード）とＰＬＤ５の外部ピンに設定されたビットパターンを比較し、一致する場合に無効化信号１０ｍをアサートする。もしくは、別の方法として無効化判定部１３（図２）は、前述予め定められているビットパターンとユーザがデバッガ２を介してＰＬＤ５の内部レジスタに書込んだ値（ビットパターン）を比較し、一致する場合に無効化信号１０ｍをアサートする。
【００３０】
無効化信号１０ｍがアサートされるとソフト保護機能制御部１２は、保護動作許可信号１０ｎをネゲートする。保護動作許可信号１０ｎのネゲートに伴いＳＤＣＫＥ２信号１０ｊはＳＤＣＫＥ１０ｉと連動するようになる。以降の動作は、デバッガ２が未接続の場合と同じである。すなわち、ＤＲＡＭセルの内容が揮発することはなく、従って、マイクロプロセッサ４は、フラッシュＲＯＭ６やＳＤＲＡＭ７からプログラムやワーク変数を正常に読出すことができるようになる。このようにデータ保護を解除することにより、マイクロプロセッサ４は、例えばＳＤＲＡＭ７に記憶されたコンピュータプログラムに従ってソフトウェア処理を実行することができる。
【００３１】
尚、以上に説明した制御装置１は、ＳＤＲＡＭ７をパワーダウンモードに移行させ、セルフリフレッシュ機能を解除する（データを揮発させる）ことによってデータの保護を行うものとして説明した。別の方法として本発明は、マイクロプロセッサ４のＨＯＬＤＲＥＱ信号を活用することもできる。この方法は、デバッガ２が接続されたら、マイクロプロセッサ４にＨＯＬＤＲＥＱ信号をアサートし、マイクロプロセッサ４のバス使用権を剥奪することである。
【００３２】
すなわち、本発明の別方法として、ＰＬＤ５の動きは次のようになる。デバッガ２がＪＴＡＧポート２接続されると、ＪＴＡＧ接続検出部１１は接続検出信号１０ｌをアサートし、これに伴いソフト保護機能制御部１２は保護動作許可信号１０ｎをアサートする。保護動作許可信号１０ｎのアサートに基づき、ＨＯＬＤＲＥＱ出力部はＨＯＬＤＲＥＱ信号１０ｋアサートしてマイクロプロセッサ４に与える。こうすることにより、マイクロプロセッサ４はアドレスバス８やデータバス９を解放するため、当該マイクロプロセッサ４はフラッシュＲＯＭ６やＳＤＲＡＭ７のアクセスを実行しない。このような別の方法を採っても、本発明はデータ保護を実現できる。
【００３３】
逆に、デバッガ２がＪＴＡＧポート２に未接続のときは、ＨＯＬＤＲＥＱ信号１０ｋがネゲートする。よって、マイクロプロセッサ４はバス使用権を獲得できるため、フラッシュＲＯＭ６やＳＤＲＡＭ７へのアクセスが実行できるようになる。
【００３４】
尚、本発明の「所定の命令」とはＳＤＲＡＭ７のＣＫＥ端子に入力される信号、すなわち、ＳＤＲＡＭ７のモード切り替えを目的とした信号を指す。
【符号の説明】
【００３５】
１…制御装置、２…デバッガ、３…ＪＴＡＧポート、４…マイクロプロセッサ、５…ＰＬＤ（制御部）、６…外付けフラッシュＲＯＭ、７…ＳＤＲＡＭ、１１…ＪＴＡＧ接続検出部、１２…ソフト保護機能制御部、１３…無効化判定部、１４…ＨＯＬＤＲＥＱ出力部、１５…ＣＫＥ制御部。
【図１】
2014059635.tif 000003
【図２】
2014059635.tif 000004
【図３】
2014059635.tif 000005
【図４】
2014059635.tif 000006
【図５】
2014059635.tif 000007