(57)【要約】【課題】機密性の高い処理に用いる命令コードやデータを隠蔽することができるシステムＬＳＩを実現する。【解決手段】本発明のシステムＬＳＩは、機密性の高い処理を行うプロセッサ２１と、プロセッサ２１が接続されるオンチップバス１２と、プロセッサ２１が処理した機密性の高いデータを記憶する作業メモリ２２と、オンチップバス１２と作業メモリ２２の間に接続され、オンチップバス１２と作業メモリ２２とのデータ転送がプロセッサ２１により制御されるメモリインターフェース回路２３を有する。【選択図】図１
2010067089.tif 000002
【特許請求の範囲】
【請求項１】
機密性の高い処理を行うプロセッサと、
前記プロセッサが接続されるオンチップバスと、
前記プロセッサが処理した機密性の高いデータを記憶する作業メモリと、
前記オンチップバスと前記作業メモリの間に接続され、前記オンチップバスと前記作業メモリとのデータ転送が前記プロセッサにより制御されるメモリインターフェース回路を有することを特徴とするシステムＬＳＩ。
【請求項２】
前記プロセッサは前記メモリインターフェース回路を制御するための制御レジスタを備え、前記メモリインターフェース回路を制御する信号は前記制御レジスタから前記メモリインターフェース回路への直接配線で伝達されることを特徴とする請求項１に記載のシステムＬＳＩ。
【請求項３】
前記メモリインターフェース回路は前記オンチップバスとのデータ転送を制御するための制御レジスタを備え、前記制御レジスタの値は前記プロセッサにより設定されることを特徴とする請求項１に記載のシステムＬＳＩ。
【請求項４】
デバッグ時にデバッガが接続されるデバッグインターフェース回路と、
前記デバッグインターフェース回路が接続される別のオンチップバスと、
前記オンチップバスと前記別のオンチップバスとを接続するバスブリッジをさらに備え、
前記バスブリッジにおけるデータ転送が前記デバッグインターフェース回路からのデバッグモード信号によって制御されることを特徴とする請求項１に記載のシステムＬＳＩ。
【請求項５】
特定の処理を行う回路モジュールと、
前記オンチップバスまたは前記別のオンチップバスと前記回路モジュールとの間に接続され、前記オンチップバスまたは前記ペツノ音チップバスと前記回路モジュールとのデータ転送が前記デバッグモード信号により制御されるモジュールインターフェース回路をさらに有することを特徴とする請求項４に記載のシステムＬＳＩ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機密性の高い処理を行うシステムＬＳＩに関する。
【背景技術】
【０００２】
システムＬＳＩでは、その用途によってはシステムＬＳＩ内のプロセッサやＩＰ（特定の処理を行う回路モジュール。）の動作を隠蔽する必要があるものが存在する。特に、暗復号化処理等の機密性の高い処理を要するシステムＬＳＩでは、機密性の高い処理を行うプロセッサの処理を解析されるのを避ける必要がある（例えば、「特許文献１」を参照。）。また、機密性の高い処理を行う際に用いるデータの扱い方にも注意を要する。例えば、メインプロセッサに加え、専用の暗復号化処理回路を有する従来のシステムＬＳＩでは、暗復号化処理に関するアルゴリズムが記述された命令コードや、暗復号化処理に用いる鍵データ等の機密データは、暗復号化回路内のローカルメモリに記憶するか、システムＬＳＩの汎用メモリに記憶させ、メインプロセッサにアクセスさせる方法が主流であった。
【０００３】
しかしながら、前者の方法では、メインプロセッサの暗復号化回路内部へのアクセスを要するため、セキュリティ上好ましくないという問題があった。また、汎用メモリに機密データを記憶させる後者の手法では、どの回路モジュールからも機密データにアクセス可能になるため、同様のセキュリティ上の問題があった。さらに、デバッグ時においては、暗復号化処理で用いられる機密データを保護するためには、暗復号化処理回路の処理内容を通常のデバッガで解析されない工夫を施す必要があるという問題があった。
【特許文献１】特開２００２−３５８１３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、機密性の高い処理に用いる命令コードやデータを隠蔽することができるシステムＬＳＩを提供する。
【課題を解決するための手段】
【０００５】
本発明の一態様によれば、機密性の高い処理を行うプロセッサと、前記プロセッサが接続されるオンチップバスと、前記プロセッサが処理した機密性の高いデータを記憶する作業メモリと、前記オンチップバスと前記作業メモリの間に接続され、前記オンチップバスと前記作業メモリとのデータ転送が前記プロセッサにより制御されるメモリインターフェース回路を有することを特徴とするシステムＬＳＩが提供される。
【発明の効果】
【０００６】
本発明によれば、機密データを隠蔽することができるので、高いセキュリティを実現することができる。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照しながら、本発明の実施例を説明する。
【実施例】
【０００８】
図１は、本発明の実施例に係わるシステムＬＳＩを示す回路ブロック図である。ここでは、主に、暗復号化処理等の機密性の高い処理にかかわる部分を示した。
【０００９】
本発明の実施例に係わるシステムＬＳＩは、オンチップバスとしてのメインバス１１およびサブバス１２（以下、メインバス１１またはサブバス１２を「オンチップバス」とも言う。）、メインプロセッサ１３、メインメモリ１４、２つのデバッグインターフェース回路１５および１６（以下、「Ｄｅｂｕｇ-Ｉ/Ｆ１５および１６」という。）、特定の処理を実行する２つの回路モジュール１７および１８（以下、「ＩＰ１７および１８」という。）、ＩＰ１７のモジュールインターフェース回路１９（以下、「ＩＰ-Ｉ/Ｆ１９」という。）、ＩＰ１８のモジュールインターフェース回路２０（以下、「ＩＰ-Ｉ/Ｆ２０」という。）、サブプロセッサ２１、作業メモリ２２、作業メモリ２２のインターフェース回路２３（以下、「ＳＲＡＭ-Ｉ/Ｆ２３」という。）、およびメインバス１１とサブバス１２とを接続するバスブリッジ２４を備えている。
【００１０】
メインプロセッサ１３、メインメモリ１４、Ｄｅｂｕｇ-Ｉ/Ｆ１５のそれぞれの入出力はメインバス１１に接続され、ＩＰ１７の入出力はＩＰ-Ｉ/Ｆ１９の第１の入出力に接続され、ＩＰ-Ｉ/Ｆ１９の第２の入出力はメインバス１１に接続され、バスブリッジ２４の第１の入出力はメインバス１１に接続されている。
【００１１】
サブプロセッサ２１の入出力はサブバス１２に接続され、作業メモリ２２の入出力はＳＲＡＭ-Ｉ/Ｆ２３の第１の入出力に接続され、ＳＲＡＭ-Ｉ/Ｆ２３の第２の入出力はサブバス１２に接続され、Ｄｅｂｕｇ-Ｉ/Ｆ１６の入出力はサブバス１２に接続され、ＩＰ１８の入出力はＩＰ-Ｉ/Ｆ２０の第１の入出力に接続され、ＩＰ-Ｉ/Ｆ２０の第２の入出力はサブバス１２に接続され、バスブリッジ２４の第２の入出力はサブバス１２に接続されている。
【００１２】
Ｄｅｂｕｇ-Ｉ/Ｆ１５は、システムＬＳＩ全体のデバッグ時に、ＩＣＥ（In Circuit Emulator）に代表されるデバッガが接続されるインターフェース回路である。
【００１３】
Ｄｅｂｕｇ-Ｉ/Ｆ１６は、サブプロセッサ１３のデバッグに用いられる専用ＩＣＥが接続されるインターフェース回路である。
【００１４】
ＩＰ-Ｉ/Ｆ１９、２０は、オンチップバスとＩＰ１７、１８を接続するインターフェース回路であり、デバッグ時には必要に応じてオンチップバスとＩＰ１７、１８の接続を遮断できるようになっている。このＩＰ-Ｉ/Ｆ１９、２０における制御の詳細は図４を用いて後述する。
【００１５】
サブプロセッサ２１は、暗復号化処理等の機密性の高い処理を行う専用のプロセッサである。
【００１６】
作業メモリ２２は、サブプロセッサ２１が暗復号化処理等を行う際に用いられる専用メモリであり、ＳＲＡＭが使用されている。
【００１７】
ＳＲＡＭ-Ｉ/Ｆ２３は、作業メモリ２２とサブバス１２を接続するインターフェース回路であり、必要に応じて作業メモリ２２とサブバス１２の接続を遮断できるようになっている。このＳＲＡＭ-Ｉ/Ｆ２３における制御の詳細は、図２および図３を用いて後述する。
【００１８】
バスブリッジ２４は、メインバス１１とサブバス１２間でプロトコルを変換してデータ転送を行う回路であり、デバッグ時には必要に応じてメインバス１１とサブバス１２の接続を遮断できるようになっている。このバスブリッジ２４における制御の詳細は図４を用いて後述する。
【００１９】
図２は、本発明の実施例に係わるシステムＬＳＩにおけるＳＲＡＭ-Ｉ/Ｆ２３の制御方法を示す回路ブロック図である。  
図２に示したように、サブプロセッサ２１には、サブプロセッサ２１内で処理されるデータを格納するローカルメモリ３１、およびＳＲＡＭ-Ｉ/Ｆ２３を制御するための制御レジスタ３２が備わっている。ＳＲＡＭ-Ｉ/Ｆ２３と制御レジスタ３２は、直接配線によってハードウエアで接続されている。
【００２０】
図３は、本発明の実施例に係わるシステムＬＳＩにおける別のＳＲＡＭ-Ｉ/Ｆ２３の制御方法を示す回路ブロック図である。  
図３に示したように、この制御方法では、サブプロセッサ２１内で処理されるデータを格納するローカルメモリ３３がサブプロセッサ２１に備えられ、ＳＲＡＭ-Ｉ/Ｆ２３を制御するための制御レジスタ３４がＳＲＡＭ-Ｉ/Ｆ２３に備えられている。
【００２１】
図４は、本発明の実施例に係わるシステムＬＳＩにおけるデバッグ時の制御方法を示す回路ブロック図である。  
図４に示したように、Ｄｅｂｕｇ-Ｉ/Ｆ１５の出力はデバッグモード信号４１としてＩＰ-Ｉ/Ｆ１９の入力、ＩＰ-Ｉ/Ｆ２０の入力、およびバスブリッジ２４の入力にそれぞれ接続されている。デバッグモード信号４１は、デバッグ時にＩＰ１７、ＩＰ１８、およびサブバス１２を必要に応じて隠蔽する。
【００２２】
次に、上述した構成を持つシステムＬＳＩの動作について説明する。  
まず、サブプロセッサ２１を用いた暗復号化処理におけるデータ隠蔽手法について説明する。
【００２３】
サブプロセッサ２１は、メインプロセッサ１３からの復号化処理コマンドをバスブリッジ２４を経由して、サブバス１２より受け取る。サブプロセッサ２１は復号化処理を行う暗号データを取得するため、バスブリッジ２４を介してメインメモリ１４にアクセスする。
【００２４】
暗号データはバスブリッジ２４を介してサブプロセッサ２１内のローカルメモリ３１または３３に書き込まれる。サブプロセッサ２１内は、外部のモジュールからアクセス不可能であるため、サブプロセッサ２１は復号化処理をサブプロセッサ２１内で行い、復号された機密データをサブバス１２経由で作業メモリ２２に書き込む。
【００２５】
暗復号化処理の際に生成される機密データは作業メモリ２２で記憶される。その際、サブプロセッサ２１以外のモジュールによる機密データへのアクセスを禁止するため、サブプロセッサ２１は、唯一ＳＲＡＭ-Ｉ/Ｆ２３を制御する制御レジスタ３２または３４を設定する機能を有する。
【００２６】
メインプロセッサ１３は、処理済みの機密データを取得する際、バスブリッジ２４を経由してサブプロセッサ２１へＳＲＡＭ-Ｉ/Ｆ２３を開くよう指示するための特定のコマンドを送信する。
【００２７】
特定のコマンドを受信したサブプロセッサ２１は、サブプロセッサ２１内に備わる制御レジスタ３２にアクセスを許可する値を書き込むことで、ＳＲＡＭ-Ｉ/Ｆ２３を開いて作業メモリ２２へのアクセスを可能にする。（図２の制御方法）
または、特定のコマンドを受信したサブプロセッサ２１は、サブバス１２経由でＳＲＡＭ-Ｉ/Ｆ２３の制御レジスタ３４にアクセスを許可する値を書き込むことで、ＳＲＡＭ-Ｉ/Ｆ２３を開いて作業メモリ２２へのアクセスを可能にする。（図３の制御方法。）
前者の制御方法では、ＳＲＡＭ-Ｉ/Ｆ２３の制御はサブプロセッサ２１のみに限られるが、外部から制御レジスタ３２が見えることがないため安全である。
【００２８】
後者の制御方法では、サブプロセッサ２１およびＳＲＡＭ-Ｉ/Ｆ２３が直接結線されていないため、互いに依存関係のない個別のモジュールとして実装することができる。また、制御レジスタ３４の仕様を非公開にするか、制御レジスタ３４へのアクセスに特別な手順を設けることにより、サブプロセッサ２１以外のモジュールが制御レジスタ３４へアクセスすることを制限する。
【００２９】
上記の手続きの結果、つまり、図５に示したように、制御レジスタ３２が正しく設定されている（ＳＴ５１）、または、制御レジスタ３４が正しく設定されている（ＳＴ５２）場合に（“ｔｒｕｅ”）、ＳＲＡＭ-Ｉ/Ｆ２３が開いて（ＳＴ５３）メインプロセッサ１３から作業メモリ２２までのデータパスが有効になる。すなわち、メインプロセッサ１３はＳＲＡＭ-Ｉ/Ｆ２３を通じて機密データにアクセスすることが可能になる。
【００３０】
もし、制御レジスタ３２および３４がともに正しく設定されていなければ（“ｆａｌｓｅ”）、ＳＲＡＭ-Ｉ/Ｆ２３は閉じられており、メインプロセッサ１３が作業メモリ２２にアクセスすることはできない。
【００３１】
メインプロセッサ１３による機密データの処理が終了した後、ＳＲＡＭ-Ｉ/Ｆ２３へのアクセスを再び制限するため、メインプロセッサ１３はサブプロセッサ２１にＳＲＡＭ-Ｉ/Ｆ２３を制御するための特定のコマンドを送信する。特定のコマンドを受けたサブプロセッサ２１は、制御レジスタ３２または３４を初期化するよう設定することによって、作業メモリ２２へのアクセスを再び制限する。
【００３２】
次に、デバッグ時の動作について説明する。  
サブプロセッサ２１以外のモジュールのデバッグは、メインバス１１に接続されたＤｅｂｕｇ-Ｉ/Ｆ１５を使用することで実現される。
【００３３】
デバッグにおける各回路の動作の隠蔽方法には、大きく分けて、ＩＰごとに動作を隠蔽する方法と、バスブリッジ２４に接続されるバス単位で動作を隠蔽する方法の２通りがある。  デバッグ時において、ＩＰ１７およびＩＰ１８の動作を隠蔽したい場合には、各ＩＰとオンチップバス間に接続されたＩＰ-Ｉ/Ｆ１９およびＩＰ-Ｉ/Ｆ２０を、Ｄｅｂｕｇ-Ｉ/Ｆ１５からのデバッグモード信号４１を用いて制御し、各ＩＰへのアクセスを制限する。
【００３４】
バスブリッジ２４を制御して、サブバス１２に接続された全てのモジュールをバス単位で隠蔽したい場合には、Ｄｅｂｕｇ-Ｉ/Ｆ１５にデバッガ（ＩＣＥ等）が接続された際に、Ｄｅｂｕｇ-Ｉ/Ｆ１５からのデバッグモード信号４１を用いてバスブリッジ２４を制御する。
【００３５】
すなわち、バスブリッジ２４はサブバス１２がアクセス不能であることを疑似的に返し、これにより、サブバス１２に接続されているＩＰ１８、サブプロセッサ２１、および作業メモリ２２はＤｅｂｕｇ-Ｉ/Ｆ１５に接続されたデバッガからは参照できなくなる。
【００３６】
したがって、暗復号化処理を行うサブプロセッサ２１が処理を行う際、サブプロセッサ２１、作業メモリ２２間の転送データはＤｅｂｕｇ-Ｉ/Ｆ１５に接続されたデバッガからは参照できなくなる。このため、サブプロセッサ２１が扱う機密データをデバッグ時に隠蔽することができる。
【００３７】
一方、サブプロセッサ２１のデバッグは、サブバス１２に接続されているサブプロセッサ２１専用のデバッガを接続するＤｅｂｕｇ-Ｉ/Ｆ１６を用いることで実現される。サブプロセッサ２１専用デバッガによるサブプロセッサ２１のデバッグは、専用デバッガを有効にするセキュアな手続きを設けることにより、安全性を確保することができる。
【００３８】
このように、暗復号化処理で用いられる機密データを保持する専用の作業メモリ２２を設け、さらに、サブバス１２と作業メモリ２２間にＳＲＡＭ-Ｉ/Ｆ２３を設け、サブプロセッサ２１のみがＳＲＡＭ-Ｉ/Ｆ２３を制御できるようにしている。これにより、暗復号化処理を行うサブプロセッサ２１が許した場合のみ、他のモジュールが作業メモリ２２の保持する機密データへアクセスできるよう制御している。このため、メインメモリ１４に機密データを書き込まなくてはならない危険性を回避でき、作業メモリ２２内に保持される機密データを保護することが可能となる。
【００３９】
また、上記の構成により、メインプロセッサ１３がサブプロセッサ２１内にアクセスする必要がなくなる。したがって、サブプロセッサ２１内を他のモジュールからアクセス不可能なモジュールとして設計でき、暗復号化処理等の機密性の高い処理を行う際の安全性向上が可能になる。
【００４０】
さらに、デバッグ時においては、Ｄｅｂｕｇ-Ｉ/Ｆ１５にデバッガを接続してデバッグを行う際、Ｄｅｂｕｇ-Ｉ/Ｆ１５が出力するデバッグモード信号４１を用い、ＩＰ１７、ＩＰ１８へのアクセスを制御するＩＰ-Ｉ/Ｆ１９、ＩＰ-Ｉ/Ｆ２０、およびメインバス１１とサブバス１２間を接続するバスブリッジ２４を制御している。これにより、デバッグ動作時に各ＩＰ単位での処理の隠蔽が可能となり、また、サブバス１２に接続されたモジュール群の動作およびデータがバス単位で隠蔽可能になる。
【００４１】
上記実施例によれば、機密性の高い命令コードやデータを隠蔽することができるので、システムＬＳＩにおける高いセキュリティを実現することができる。
【００４２】
また、上記実施例によれば、暗復号化処理などでの機密データを保持する作業メモリ２２へのセキュアなデータアクセスおよびセキュアなデバッグを実現することができる。
【００４３】
さらに、上記実施例によれば、デバッグ時において、隠蔽したい処理およびデータをＩＰ（回路モジュール）単位で保護することができる。
【００４４】
さらに、上記実施例によれば、デバッグ時において、機密処理を行うプロセッサやＩＰの動作および処理に用いたデータをオンチップバス単位で隠蔽することができる。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施例に係わるシステムＬＳＩを示す回路ブロック図。
【図２】本発明の実施例に係わるシステムＬＳＩにおけるＳＲＡＭ-Ｉ/Ｆ２３の制御方法を示す回路ブロック図。
【図３】本発明の実施例に係わるシステムＬＳＩにおける別のＳＲＡＭ-Ｉ/Ｆ２３の制御方法を示す回路ブロック図。
【図４】本発明の実施例に係わるシステムＬＳＩにおけるデバッグ時の制御方法を示す回路ブロック図。
【図５】本発明の実施例に係わるシステムＬＳＩにおけるデバッグ時の制御方法を示すフロー図。
【符号の説明】
【００４６】
１１  メインバス
１２  サブバス
１３  メインプロセッサ
１４  メインメモリ
１５、１６  デバッグインターフェース回路（Ｄｅｂｕｇ-Ｉ/Ｆ）
１７、１８  回路モジュール（ＩＰ）
１９、２０  モジュールインターフェース回路（ＩＰ-Ｉ/Ｆ）
２１  サブプロセッサ
２２  作業メモリ
２３  メモリインターフェース回路（ＳＲＡＭ-Ｉ/Ｆ）
２４  バスブリッジ
３１、３３  ローカルメモリ
３２、３４  制御レジスタ
４１  デバッグモード信号
【図１】
2010067089.tif 000003
【図２】
2010067089.tif 000004
【図３】
2010067089.tif 000005
【図４】
2010067089.tif 000006
【図５】
2010067089.tif 000007