(57)【要約】【課題】デバッグ用ポートを通じた不正アクセスに対する、被保護システムのセキュリティを向上する。【解決手段】集積回路システム１は、ＣＰＵ１０と、ＣＰＵ１０のＪＴＡＧポートＰ１における信号変化を検出し、ＣＰＵ１０に対して割込み信号を送信する割込信号発生回路２０を備える。割込信号発生回路２０は、ＪＴＡＧポートＰ１に信号変化があるとＣＰＵ１０に割込み信号を送信するので、ＣＰＵ１０は、不正アクセスに対して集積回路システム１をプロテクトする処理を実行することができる。【選択図】図１
2008299717.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
前記ＣＰＵのデバッグ用ポートに対する入出力信号の変化を検出する検出手段と、
前記検出手段により信号変化が検出された場合に、前記ＣＰＵに対して割込み信号を送信する送信手段と、
を含むことを特徴とする集積回路システム。
【請求項２】
請求項１に記載の集積回路システムにおいて、
前記ＣＰＵは、
前記割込み信号を受信した際に、当該ＣＰＵをリセットする処理、メモリに記憶されるデータの全部又は一部を消去する処理、当該ＣＰＵの電源を断する処理、不正なアクセスがあったことを示すデータを送信する処理のうちのいずれか少なくとも１つを実行するプロテクト処理手段、
を含むことを特徴とする集積回路システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路システムに関し、特に被保護システムのセキュリティを向上できる集積回路システムに関する。
【背景技術】
【０００２】
ＣＰＵを含む集積回路には、デバッグ用ポートとして、ＪＴＡＧ(Joint Test Action Group)規格に準拠したＪＴＡＧポートがよく用いられる。ＪＴＡＧポートは、バウンダリスキャンテストを行う際、テストデータの入出力や制御を行うために用いられるものである。
【０００３】
デバッグ用ポートを介せば、メモリの読み書きを含むＣＰＵの実行制御を行うことができるが、これは、ＣＰＵやメモリ（以下、これらを被保護システムと総称する。）への不正アクセスができてしまうということを意味する。そこで、工場で一旦テストが終了すれば当面デバッグ用ポートは不要になることに鑑み、通常、工場からの出荷時に、デバッグ用ポートを使用不能にする処理が行われる。
特許文献１及び特許文献２には、上記処理の具体例が記載されている。以下、それぞれについて簡単に説明する。
【０００４】
特許文献１には、ＪＴＡＧポートの後段にスイッチを設けておき、テスト終了後にはスイッチをオフにすることによりＪＴＡＧポートを使用不能にする集積回路が開示されている。ただし、この集積回路は、ＪＴＡＧポートに特定のデータ（アドレスＡＤ２とデータＤＴ２）が入力された場合だけスイッチがオンになるようにすることにより、使用不能にした後に、再度使用可能に戻すことを可能としている。
【０００５】
特許文献２には、セキュリティキーを記憶しておき、ＩＣデバッグインターフェイス（デバッグ用ポート）から記憶しているセキュリティキーが入力されない限り、ＩＣデバッグインターフェイス経由でのアクセスを制限することにより、ＩＣデバッグインターフェイスを使用不能にするマイクロコンピュータが開示されている。逆に言えば、ＩＣデバッグインターフェイスからセキュリティキーが入力されると、ＩＣデバッグインターフェイスは使用可能に戻る。
【特許文献１】特開２００２−１８３１０８号公報
【特許文献２】特表２００６−５０５０２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記各特許文献に記載の技術は不正アクセスを遮断するためのものであり、不正アクセスがあった場合であっても、遮断以上の不正アクセス防護処理が行われるものではない。例えば、被保護システム内に通信用の暗号鍵が記憶されている場合、不正アクセスが試みられている間、その暗号鍵は記憶されたままである。これでは暗号鍵が不正に取得されてしまうおそれが拭えず、セキュリティ上問題があった。
【０００７】
従って、本発明の目的の一つは、デバッグ用ポートを通じた不正アクセスに対する、被保護システムのセキュリティを向上することのできる集積回路システムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するための本発明にかかる集積回路システムは、ＣＰＵと、前記ＣＰＵのデバッグ用ポートに対する入出力信号の変化を検出する検出手段と、前記検出手段により信号変化が検出された場合に、前記ＣＰＵに対して割込み信号を送信する送信手段と、を含むことを特徴とする。
【０００９】
これによれば、ＣＰＵは、割込み信号によって不正アクセスがあったことを知り、メモリ内の重要なデータの全部又は一部を消去してしまう、当該ＣＰＵをリセットする、当該ＣＰＵの電源を断する、不正なアクセスがあったことを示すデータを送信する、などの対応を取ることができる。従って、デバッグ用ポートを通じた不正アクセスに対する、被保護システムのセキュリティが向上する。
【００１０】
また、上記集積回路システムにおいて、前記ＣＰＵは、前記割込み信号を受信した際に、当該ＣＰＵをリセットする処理、メモリに記憶されるデータの全部又は一部を消去する処理、当該ＣＰＵの電源を断する処理、不正なアクセスがあったことを示すデータを送信する処理のうちのいずれか少なくとも１つを実行するプロテクト処理手段、を含むこととしてもよい。
【発明を実施するための最良の形態】
【００１１】
本発明の実施の形態について、図面を参照しながら説明する。
図１は、本実施の形態にかかる集積回路システム１のシステム構成を示す図である。同図に示すように、集積回路システム１は、ＣＰＵ(Central Processing Unit：中央処理装置)１０と、割込信号発生回路２０と、を含んで構成される。なお、本実施の形態では、ＣＰＵ１０を被保護システムとしている。
【００１２】
まず、ＣＰＵ１０について説明する。ＣＰＵ１０は、ここでは、ＬＡＮ(Local Area Network)などのネットワークを制御するためのネットワークチップ用途で用いられるものである。構成としては処理部１１及びメモリ１２を含み、さらに入出力ポートとして、ＪＴＡＧポートＰ１の他、割込ポートＰ２、通信ポートＰ３を備えて構成される。
【００１３】
メモリ１２は、ＣＰＵ１０の各機能を実現するためのプログラムやデータを記憶している。処理部１１は、メモリ１２からプログラムやデータを読み出し、読み出したプログラムに従って各種の処理を行う。
【００１４】
メモリ１２が記憶しているデータの中には暗号鍵が含まれる。処理部１１は、通信ポートＰ３経由で外部と通信データの送受信を行うが、その際、通信データを暗号化又は復号するために上記暗号鍵を用いる。
【００１５】
また、処理部１１は、割込ポートＰ２から所定の割込み信号の入力を受け付けると、それまで行っていた処理を一時中断し、割込み信号の内容に応じた割込み処理を開始する。
さらに、処理部１１は、ＪＴＡＧポートＰ１から所定のテスト用信号の入力を受け付けると、該テスト用信号の内容に応じた各種の処理を行う。なお、ＪＴＡＧポートＰ１は、テスト用信号（ＪＴＡＧ規格ではＪＴＡＧ信号という。）の入出力のために備えられるデバッグ用ポートの一種である。本実施の形態にかかるＪＴＡＧポートＰ１は、５つのコネクタピンを備えている。各コネクタピンは、図１に示すように、それぞれｎＴＲＳＴ(負論理Test Reset)、ＴＤＯ(Test Data Out)、ＴＤＩ(Test Data In)、ＴＭＳ(Test Mode Select)、ＴＣＫ(Test Clock)と呼ばれる。ＪＴＡＧポートＰ１経由でＣＰＵ１０にアクセスしようとする場合、ＴＤＩ、ＴＭＳ、ＴＣＫのいずれか少なくとも１つに上記ＪＴＡＧ信号を流すことになる。
【００１６】
他に、処理部１１はメモリ１２に記憶されるプログラムを更新する処理も行う。この処理では、処理部１１は、まず通信ポートＰ３経由で外部から新プログラムを受信する。すると、処理部１１は、メモリ１２に記憶されるプログラムを、受信された新プログラムで更新する。なお、上記プログラムの更新処理は、プログラム全部ではなく、その一部を更新するものも含む。
【００１７】
このプログラム更新は、例えば工場出荷時に行われる。すなわち、工場内ではＪＴＡＧポートＰ１経由でバウンダリスキャンテスト等のデバッグ試験を行う必要があるが、工場出荷後にはその必要はなくなる。そこで、製造時点では、ＪＴＡＧポートＰ１経由での外部からのアクセスを許容し、そのアクセスによって入力された信号（ＪＴＡＧ信号）に応じたデバッグ処理を行うためのプログラム（以下、第１プログラムという。）がメモリ１２に記憶される。そして、工場出荷時には、ＪＴＡＧポートＰ１経由での外部からのアクセスを禁止するためのプログラム（以下、第２プログラムという。）に更新される。その結果、工場出荷後の処理部１１は、上述したＪＴＡＧ信号の内容に応じた各種の処理を行わないことになる。
【００１８】
次に、割込信号発生回路２０について説明する。割込信号発生回路２０は、ＪＴＡＧポートＰ１の各コネクタピンのうち、少なくともＴＤＩ、ＴＭＳ、ＴＣＫに接続される。この接続位置は、後述するように、割込信号発生回路２０がＪＴＡＧポートＰ１への不正アクセスを検出するためのものであるので、できるだけＣＰＵ１０に近い位置であることが望ましい。ただし、割込信号発生回路２０をＣＰＵ１０と同一のチップ上に構成しなければならないわけでは必ずしもなく、ＪＴＡＧポートＰ１への不正アクセスを検出できる構成であれば、割込信号発生回路２０はＣＰＵ１０と異なるチップ上に位置していてもよい。なお、悪意のある者が割込信号発生回路２０自体を壊したり接続点を引き離したりすることのないよう、割込信号発生回路２０及び接続点を物理的なカバーで覆うなどの破壊防止手段を講ずることが望ましい。
【００１９】
そして、割込信号発生回路２０は、接続されているＪＴＡＧポートＰ１の各コネクタピン（ここではＴＤＩ、ＴＭＳ、ＴＣＫ）に対する入出力信号の変化を検出する検出手段として機能する。
【００２０】
図２は、検出手段の具体的な構成例を示す図である。同図の例では、検出手段は、ＤＦ（Ｄ型フリップフロップ回路）２１〜２４と、ノット回路２５と、アンド回路２６及び２８と、オア回路２７と、を含んで構成される。この回路は、割込信号発生回路２０が接続されているコネクタピンごとに設けられている。また、ＤＦ２１〜２４には、集積回路システム１が備えているクロック生成部（図示せず）により生成されるクロックが入力される。
【００２１】
まず、コネクタピンを流れる信号がＤＦ２１の入力信号となる。ここでは、入力信号はハイ又はローのいずれかである。ＤＦ２１は、入力信号を１クロック分保持し、ＤＦ２２及びノット回路２５に出力する。ＤＦ回路２２は、ＤＦ２１からの入力信号を１クロック分保持し、アンド回路２６に出力する。ノット回路２５は、ＤＦ２１からの入力信号の否定を取得し、アンド回路２６に出力する。アンド回路２６は、ＤＦ回路２２及びノット回路２５からの各入力信号の論理積を取得し、ＤＦ２３に出力する。ＤＦ２３は、アンド回路２６からの入力信号を１クロック分保持し、オア回路２７に出力する。オア回路２７は、ＤＦ２３からの入力信号と、後述するＤＦ２４からの入力信号と、の論理和を取得し、アンド回路２８に出力する。アンド回路２８は、ハイ又はローのいずれかであるクリア信号の入力を受け付け、オア回路２７からの入力信号との論理積を取得し、ＤＦ２４に出力する。ＤＦ２４は、アンド回路２８からの入力信号を１クロック分保持し、図示しない後段の回路及びオア回路２７へ出力する。
【００２２】
検出手段においては、以上の各構成要素の動作により、入力信号がハイからローに変化した場合に、ＤＦ２４の出力信号がハイに保持される。なお、クリア信号をローにすることで、ＤＦ２４の出力信号をローに戻すことが可能である。以上のようにして、検出手段は、各コネクタピンに対する入出力信号の変化を検出して保持している。
【００２３】
また、割込信号発生回路２０はＣＰＵ１０の割込ポートＰ２に接続されており、上述のようにして信号変化を検出した場合に、所定内容の割込み信号（以下、ＪＴＡＧアクセス検出信号と称する。）を生成し、割込ポートＰ２に対して送信する送信手段としても機能する。
【００２４】
以上説明した各機能により、割込信号発生回路２０は、ＪＴＡＧポートＰ１への入力信号（ＪＴＡＧ信号）をＪＴＡＧアクセス検出信号に変換し、割込ポートＰ２に入力する処理を行っている。
【００２５】
以下、上記ＪＴＡＧアクセス検出信号の入力を受け付けたＣＰＵ１０の動作について説明する。ここで、以下の各処理は処理部１１によって実行されるものであり、上記第２プログラムに記述されているものである。デバッグ処理を行う第１プログラムがメモリ１２に記憶されているときには、以下の処理は実行されない。
【００２６】
ＣＰＵ１０の処理部１１は、割込ポートＰ２から上記ＪＴＡＧアクセス検出信号の入力を受け付けると、メモリ１２に記憶される上記第２プログラム以外のプログラムに基づいて行っていた処理を一時中断し、所定のプロテクト処理を実行するプロテクト処理手段として機能する。このプロテクト処理には、当該ＣＰＵ１０をリセットする処理、メモリ１２に記憶されるデータの全部又は一部を消去する処理、当該ＣＰＵ１０の電源を断する処理、不正なアクセスがあったことを示すデータを送信する処理のいずれか少なくとも１つが含まれる。
【００２７】
このうち、メモリ１２に記憶されるデータの全部又は一部を消去する処理は、メモリ１２に記憶されるデータの上書きにより実現できる。当該ＣＰＵ１０をリセットする処理は、例えばＣＰＵ１０内のレジスタ（不図示）にリセット用のビットを書き込むことや、メモリ１２のゼロ番地アクセスを実施することにより実現できる。また、不正なアクセスがあったことを示すデータを送信する処理は、該データを内部に記憶しておき、通信ポートＰ３を介して送信することにより実現できる。
【００２８】
プロテクト処理を行うことによる効果について、ここで触れておく。メモリ１２に記憶されるデータの全部又は一部（上記暗号鍵など）を消去することにより、これらのデータの不正取得を防止できる。また、当該ＣＰＵ１０をリセットする処理や電源を断する処理を行うことにより、当該ＣＰＵ１０の動作状態（上記レジスタの記憶内容等）の不正取得を防止できる。また、不正なアクセスがあったことを示すデータを生成し、外部の表示機器へ送信することにより、例えば外部の表示機器の発光によるアラート表示が実行できる。
【００２９】
図３は、処理部１１の処理フローを示すフロー図である。同図に示すように、第２プログラムに従う処理を開始した処理部１１は、まず割込み許可のための処理を行う（ステップＳ１）。すなわち、ＪＴＡＧアクセス検出信号が割込ポートＰ２に入力されることの監視を開始する。
【００３０】
そして、処理部１１は、メイン処理（上記プロテクト処理以外の処理）を行っている間、割込ポートＰ２経由でのＪＴＡＧアクセス検出信号の入力を監視し（ステップＳ２，Ｓ３）、ＪＴＡＧアクセス検出信号が入力されると、処理部１１は、上記プロテクト処理を実行する（ステップＳ４）。
【００３１】
以上説明したように、集積回路システム１によれば、ＣＰＵ１０は、ＪＴＡＧアクセス検出信号によって不正アクセスがあったことを知り、重要なデータの全部又は一部を消去してしまう、当該ＣＰＵをリセットする、当該ＣＰＵの電源を断する、不正なアクセスがあったことを示すデータを生成し送信する、などの対応を取ることができる。従って、デバッグ用ポートを通じた不正アクセスに対する、被保護システムのセキュリティが向上している。
【００３２】
以上本発明の実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明は、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
【００３３】
例えば、ＣＰＵ１０の外部にあるメモリをも被保護システムに含め、そのメモリに記憶されるデータの全部又は一部を消去する処理も、上記プロテクト処理に含めることとしてもよい。なお、内部にメモリを有しないＣＰＵにも本発明を適用できることは勿論である。
【００３４】
また、上記実施の形態では、第１プログラムと第２プログラムを入れ替えることによりプロテクト処理実行の有無を切り替えていたが、ハード的又はソフト的なスイッチ手段をＣＰＵ１０内部又は外部に設け、そのスイッチ手段の切り替えによりプロテクト処理実行の有無を切り替えることとしてもよい。
【００３５】
また、上記実施の形態では、ＣＰＵ１０がネットワークチップ用途で用いられるものである例を取り上げて説明したが、その他の用途に用いられるもの、例えばデジタル信号処理装置（ＤＳＰ：Digital Signal Processor）として用いられるものであってもよいのは勿論である。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施の形態にかかる集積回路システムのシステム構成を示す図である。
【図２】本発明の実施の形態にかかる検出手段の具体的な構成例を示す図である。
【図３】本発明の実施の形態にかかる処理部の処理フローを示す図である。
【符号の説明】
【００３７】
１  集積回路システム、１０  ＣＰＵ、１１  処理部、１２  メモリ、２０  割込信号発生回路、２１〜２４  ＤＦ、２５  ノット回路、２６，２８  アンド回路、２７  オア回路、Ｐ１  ＪＴＡＧポート、Ｐ２  割込ポート、Ｐ３  通信ポート。
【図１】
2008299717.tif 000003
【図２】
2008299717.tif 000004
【図３】
2008299717.tif 000005