JP2010160765A - System lsi and debugging method thereof - Google Patents
System lsi and debugging method thereof Download PDFInfo
- Publication number
- JP2010160765A JP2010160765A JP2009003985A JP2009003985A JP2010160765A JP 2010160765 A JP2010160765 A JP 2010160765A JP 2009003985 A JP2009003985 A JP 2009003985A JP 2009003985 A JP2009003985 A JP 2009003985A JP 2010160765 A JP2010160765 A JP 2010160765A
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- card
- system lsi
- processor
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、オンチップデバッグを実現するオンチップJTAG(Joint Test Action Group)インタフェース回路、及びこのJTAGインタフェース回路を用いて内部回路の挙動の不正取得を防止するためのセキュリティ機能を有するシステムLSI(Large Scale Integrated circuit) と、このシステムLSIのデバッグ方法に関し、特に、IC(Integrated Circuit)カードを用いた認証を行い、システムLSIにおけるオンチップJTAGインタフェース回路の接続制御を行う技術に関するものである。 The present invention relates to an on-chip JTAG (Joint Test Action Group) interface circuit for realizing on-chip debugging, and a system LSI (Large) having a security function for preventing unauthorized acquisition of the behavior of an internal circuit using the JTAG interface circuit. In particular, the present invention relates to a technique for performing authentication using an IC (Integrated Circuit) card and controlling connection of an on-chip JTAG interface circuit in the system LSI.
近年、電子商取引等あらゆる分野で、よりセキュリティの高いシステムLSIが求められている。システムLSIとは、組み込みシステム製品の中核をなすマイクロコントローラのことである。特に、逆解析(リバースエンジニアリング)を用いて、システムLSIの内部回路の挙動を解析し、システムLSIを用いた装置の開発者の不本意な用途に悪用されることがある。このため、システムLSIの解析機能を悪用されないことが求められている。 In recent years, system LSIs with higher security have been demanded in various fields such as electronic commerce. A system LSI is a microcontroller that forms the core of an embedded system product. In particular, the behavior of the internal circuit of the system LSI is analyzed using reverse analysis (reverse engineering), and may be abused for an unintended use by a developer of a device using the system LSI. For this reason, it is required not to abuse the analysis function of the system LSI.
このようなセキュリティ機能を有するシステムLSIに関する技術は、例えば、下記の特許文献1〜4に開示されている。
Technologies relating to such a system LSI having a security function are disclosed in, for example, the following
特許文献1には、JTAGインタフェース回路において、この開発時に、JTAGインタフェース回路を有効にし、運用時に、電子フューズ等の物理的な手段で、JTAGインタフェース回路を切断することで、JTAGインタフェース回路を無効にして、不正な第3者の逆解析を防止する技術が開示されている。
特許文献2には、中央処理装置(以下「CPU」という。)等を有するマイクロコンピュータ(以下「マイコン」という)のプログラム及びこのプログラムを格納したメモリの内容の変更に関し、認証用のICカードを用いてこのICカードが認証された場合にメモリ内のプログラムの変更を行うことが開示されている。
特許文献3には、マイコン内の情報を解析、改竄されないように、SDメモリカードに識別情報を持たせ、この識別情報によってリードライト装置で認証された場合に、マイコン内のプログラムのデバッグを行うことが開示されている。デバッグとは、デバッガに接続されたマイコン等をこの内部のプログラムやデータを用いて動作させることでプログラムのバグを見つけて修正することであり、このデバッグを行うツール(即ち、デバッグを支援するプログラム)がデバッガである。
In
しかしながら、例えば、特許文献1〜3に開示された従来の技術では、以下の(a)〜(c)のような課題があった。
However, for example, the conventional techniques disclosed in
(a) 特許文献1
特許文献1の技術では、運用時に、物理的にJTAGインタフェース回路を無効にし、不正な第3者が、システムLSIの解析をできないようにしている。しかし、正規のユーザがフィールドバグ等でシテムLSIの解析を行う必要がある場合も、解析することができない。そこで、この代替方法として、開発用のシステムLSIを用いて解析を行っているが、運用環境との違い等から解析が困難である。又、システムLSIの開発者側は、物理的に異なる2種類のシステムLSIを用意する必要があり、コストアップ要因にもなっている。
(A)
In the technique of
(b) 特許文献2
特許文献2の技術は、ICカードを用いてこのICカードが認証された場合に、プログラム変更等を行っている。しかし、この技術は、完成されたマイコン製品に対して更なるバージョンアップ等の行為を行うためにICカードの認証を行い、この認証後に、マイコンに接続された外部装置からデータを受信してメモリ内容を変更するようになっている。そのため、この技術を用いて、マイコン製品の完成前に、確認等のためのプログラムのデバッグを行うことができない。
(B)
The technique of
(c) 特許文献3
特許文献3の技術では、SDメモリカードに持たせた識別情報によってリードライト装置で認証を行い、認証結果をマイコンに通知することで、マイコン内のプログラムのデバッグを行うようになっているので、マイコン内で承認を行うとともにオンチップデバッグを実現する構成ではなく、リードライト装置からマイコンへ送受信される認証済みのデータを解析され、またこの解析結果をもとにデバッグ情報をも解析されてしまう可能性が高い。
(C)
In the technique of
従って、未だ技術的に十分満足できるオンチップデバッグで且つセキュリティ機能の優れたシステムLSI及びこのデバッグ方法を実現することが困難であった。 Therefore, it has been difficult to realize a system LSI and an on-chip debugging which is sufficiently technically satisfactory and has an excellent security function and this debugging method.
本発明は、このような従来の課題を解決し、ICカード認証を利用したセキュリティ機能の優れるデバッグ認証技術と、JTAGインタフェース手段を有するシステムLSIを開発時と運用時で物理的に同一なものとし、不正な第3者の解析を防止しつつ、正規のユーザにはデバッグ機能を提供できるシステムLSI及びこのデバッグ方法を実現することを目的とする。 The present invention solves such a conventional problem and makes the debug authentication technology with excellent security function using IC card authentication and the system LSI having the JTAG interface means physically the same at the time of development and operation. An object of the present invention is to realize a system LSI capable of providing a debugging function to a legitimate user while preventing analysis by an unauthorized third party, and this debugging method.
本発明のシステムLSIは、演算及び制御機能を有するICカードを用いた認証手段と、外部のデバッグ手段に対するシリアル通信のインタフェース機能を有するJTAGインタフェース手段と、前記認証手段による認証を受けた後に前記デバッグ手段に対する前記JTAGインタフェース手段の接続制御を行う制御手段とを有することを特徴とする。 The system LSI of the present invention includes an authentication unit using an IC card having a calculation and control function, a JTAG interface unit having an interface function of serial communication with an external debug unit, and the debug after receiving authentication by the authentication unit Control means for controlling connection of the JTAG interface means to the means.
本発明のシステムLSIのデバッグ方法は、演算制御機能を有するメインプロセッサと、演算及び制御機能を有するICカードを用いた認証機能を有するサブプロセッサと、外部のデバッグ手段に対するシリアル通信のインタフェース機能を有するJTAGインタフェース手段と、を備えたシステムLSIのデバッグ方法であって、前記サブプロセッサが立ち上がって認証を行った後に、前記メインプロセッサが起動して、前記デバッグ手段により、前記JTAGインタフェース手段を介して前記システムLSIのデバッグを行うことを特徴とする。 The system LSI debugging method of the present invention has a main processor having an arithmetic control function, a sub-processor having an authentication function using an IC card having an arithmetic and control function, and an interface function for serial communication with an external debugging means. A debugging method for a system LSI, comprising: a JTAG interface unit, wherein the main processor is started after the sub-processor is started and authenticated, and the debugging unit causes the debugging to be performed via the JTAG interface unit. The system LSI is debugged.
本発明のシステムLSI及びこのデバッグ方法によれば、ICカードを用いた認証を行った後に、JTAGインタフェースを有効にしてデバッグを行うようにしたので、セキュリティ機能の優れるシステムLSI及びこのデバッグ方法を実現できる。これにより、JTAGインタフェース手段を有するシステムLSIを、開発時と運用時で物理的に同一なものとし、不正な第3者の解析を防止しつつ、正規のユーザにはデバッグ機能を提供できる。 According to the system LSI and the debugging method of the present invention, the authentication using the IC card is performed, and then the JTAG interface is enabled for debugging, so that the system LSI with excellent security function and the debugging method are realized. it can. As a result, the system LSI having the JTAG interface means is physically the same at the time of development and at the time of operation, and a debugging function can be provided to a legitimate user while preventing unauthorized third party analysis.
本発明を実施するための形態は、以下の好ましい実施例の説明を添付図面と照らし合わせて読むと、明らかになるであろう。但し、図面はもっぱら解説のためのものであって、本発明の範囲を限定するものではない。 Modes for carrying out the present invention will become apparent from the following description of the preferred embodiments when read in light of the accompanying drawings. However, the drawings are only for explanation and do not limit the scope of the present invention.
(実施例1の構成)
図1は、本発明の実施例1におけるシステムLSI及びこの外部装置を示す概略の構成図である。
(Configuration of Example 1)
FIG. 1 is a schematic configuration diagram showing a system LSI and an external device according to the first embodiment of the present invention.
本実施例1のシステムLSI10は、ICカード認証を利用したセキュリティ機能を有する集積回路であり、マイコン等で構成された演算制御機能を有するメインプロセッサ11と、フラッシュメモリ等の認証鍵用メモリ12と、ICカードインタフェース手段であるICカードインタフェース回路(以下「ICカードI/F回路」という。)13aを有し、マイコン等で構成された演算機能を有するサブプロセッサ13と、このサブプロセッサ13により制御される制御手段(例えば、JTAG接続制御回路)14と、このJTAG接続制御回路14により制御されるJTAGインタフェース手段(例えば、オンチップJTAGインタフェース回路)15等とを備え、これらがシステムバス16等により接続されている。サブプロセッサ13及びICカードI/F回路13aにより、認証手段が構成されている。
The
メインプロセッサ11は、例えば、これが動作する前に、サブプロセッサ13が動作し、認証プロセスが完了するまでこのメインプロセッサ11が動作しない構成になっている。サブプロセッサ13は、認証プロセスを制御し、例えば、パスワードの認証に用いられる方式の1つであるISO7816−4規格に準拠したチャレンジアンドレスポンス(Challenge & Response)方式による認証機能を持ち、基板内にCPU及びメモリ等を内蔵したICカード20との通信は、例えば、ISO7816−3規格に準拠し、ICカードI/F回路13aを通じてICカード20と通信を行う構成になっている。更に、サブプロセッサ13では、認証プロセスで正規の認証が行われた場合に、JTAG接続制御回路14に対してJTAG接続を許可し、不正の認証の場合は、JTAG接続制御回路14に対してJTAG接続を許可しない機能を有している。
For example, the
メインプロセッサ チャレンジアンドレスポンス方式とは、サーバから送られてくる暗号鍵(チャレンジ)を受け取り、これに演算処理を組み合わせたデータ(レスポンス)を返すことによって認証を行う方式である。この方式では、先ず、サーバ(例えば、システムLSI10)がクライアント(例えば、ICカード20)に対して「チャレンジ」と呼ばれる値を送る。チャレンジを受け取ったクライアントは、チャレンジの値にそれぞれ保有しているパスワード(例えば、共通鍵)を掛け合わせて演算処理を行い、この演算処理により生成されたハッシュ値(例えば、暗号文)を「レスポンス」として返す。サーバは、クライアントから返送されてきたハッシュ値と、サーバ自身が生成したレスポンスとを照合し、2つのレスポンスの値が一致していれば認証を通す。チャレンジアンドレスポンス方式の利点は、チャレンジとして送られてくる値が毎回ランダムな値で変更され、生成されるレスポンスの値も毎回異なるので、仮に、チャレンジやレスポンスが第3者に不正取得されたとしても、認証上の致命的な問題が生じない。 The main processor challenge-and-response method is a method in which authentication is performed by receiving an encryption key (challenge) sent from a server and returning data (response) combined with arithmetic processing. In this method, first, a server (eg, system LSI 10) sends a value called “challenge” to a client (eg, IC card 20). The client that has received the challenge performs a calculation process by multiplying the challenge value by the password (for example, a common key), and the hash value (for example, ciphertext) generated by the calculation process is “response”. ". The server compares the hash value returned from the client with the response generated by the server itself, and passes authentication if the two response values match. The advantage of the challenge and response method is that the value sent as a challenge is changed with a random value each time, and the value of the generated response is different every time, so if a challenge or response is illegally acquired by a third party However, there is no fatal problem in authentication.
メインプロセッサ 本実施例1では、チャレンジアンドレスポンス方式による認証のため、例えば、システムLSI10とICカード20とは、2つの共有鍵Ka,Kmを保持している。更に、システムLSI10の認証鍵用メモリ12には、アクセス可能なICカード20のシリアル番号SDBが、セキュリティが確保された環境で予め保持されると共に、ICカード20にも、内部のメモリのデータ領域にユニークなシリアル番号Snと共有鍵Kbを保持している。即ち、システムLSI10側の認証鍵用メモリ12には、2つの共有鍵Ka,Kmとアクセス可能なICカード20のシリアル番号SDBとがデータベースとして保持され、ICカード20内のメモリにも、3つの共有鍵Ka,Kb,Kmとユニークなシリアル番号Snとが保持されている。
Main Processor In the first embodiment, for example, the
メインプロセッサ オンチップJTAGインタフェース回路15は、例えば、認証後、JTAG接続制御回路14によってデバッグ手段(例えば、デバッガ)30との接続が許可されると、IEEE1149.1規格に準拠したシリアル通信をデバッガ30との間で行う機能を有している。デバッガ30は、オンチップJTAGインタフェース回路15を介して、メインプロセッサ11を動作させ、プログラムのデバッグを行う機能を有している。
For example, if the JTAG
メインプロセッサ (実施例1のデバッグ方法)
本実施例1のシステムLSI10におけるデバッグ方法では、以下のような認証プロセス(認証プロセス動作(1)、端末認証シーケンス(2)、カード認証シーケンス(3)、動作モードシーケンス(4))を実行した後、デバッガ30によるプログラムのデバッグ処理(5)が行われる。
Main processor (debugging method of the first embodiment)
In the debugging method in the
メインプロセッサ (1) 認証プロセス動作
図2は、図1のシステムLSI10における認証プロセスの動作を示すフローチャートである。
Main Processor (1) Authentication Process Operation FIG. 2 is a flowchart showing the operation of the authentication process in the
メインプロセッサ システムLSI10における認証プロセスは、このシステムLSI10内に格納された認証プログラムに従い、サブプロセッサ13の動作により、以下の3段階[端末認証(ステップST1)、カード認証(ステップST3)、動作モード認証(ステップST5)]の認証を行う。
The authentication process in the main
動作が開始(START)されると、サブプロセッサ13が立ち上がり、システムLSI10の真正性の確認のために端末認証を行い(ステップST1)、端末認証されたか否かを判定し(ステップST2)、認証されなければ(NG)、不正な認証と判定し(ステップS8)、認証動作を終了(END)する。
When the operation is started (START), the
先ず、ステップS1で端末認証されれば(OK)、サブプロセッサ13は、次に、ICカード20の真正性の確認のためにカード認証を行い(ステップST3)、カード認証されたか否かを判定し(ステップST4)、認証されなければ(NG)、不正な認証と判定して認証動作を終了する(ステップST8)。 First, if terminal authentication is performed in step S1 (OK), the sub-processor 13 next performs card authentication for confirming the authenticity of the IC card 20 (step ST3), and determines whether or not the card is authenticated. If it is not authenticated (NG), it is determined that the authentication is unauthorized, and the authentication operation is terminated (step ST8).
ステップS4でカード認証されれば、サブプロセッサ13は、最後の動作モード認証を行い(ステップST5)、動作モード認証されたか否かを判定し(ステップST6)、認証されなければ(NG)、不正な認証と判定して認証動作を終了する(ステップST8)。 If the card is authenticated in step S4, the sub-processor 13 performs the last operation mode authentication (step ST5), determines whether the operation mode is authenticated (step ST6), and if not authenticated (NG), It is determined that the authentication is successful, and the authentication operation is terminated (step ST8).
ステップST6で動作モード認証が正規の認証であれば(OK)、サブプロセッサ13は、JTAG接続有効と判定し(ステップST7)、JTAG接続制御回路14に対してJTAG接続を許可し、認証動作を終了する。なお、サブプロセッサ13は、認証プロセスの実動作中も他の動作を行うため、認証が終わった段階で休止状態になることはない。
If the operation mode authentication is regular authentication in step ST6 (OK), the
その後、JTAG接続制御回路14によってチップオンJTAGインタフェース回路15がオン状態になり、デバッガ30によるデバッグが行われる。
Thereafter, the chip-on
(2) 端末認証シーケンス
図3は、図2中の端末認証ステップST1のシーケンス動作を示す図である。
(2) Terminal Authentication Sequence FIG. 3 is a diagram showing a sequence operation of terminal authentication step ST1 in FIG.
端末認証は、システムLSI10内の認証鍵用メモリ12とICカード20とで共有鍵Kaを保持し、例えば、ISO7816−4規格に準拠したチャレンジアンドレスポンス方式による認証を行う。
In terminal authentication, the authentication
先ず、システムLSI10内のサブプロセッサ13は、ICカードI/F回路13aを介して、例えば、ISO7816−3規格に準拠したシリアル通信により、ICカード20ヘ取得チャレンジ命令(GET CHALLENGEコマンド)のチャレンジS1を送信する。
First, the
ICカード20は、チャレンジS1を受信すると、乱数生成処理ST1−21により乱数Raを生成し、受信したチャレンジS1に対する応答として、その乱数Raのレスポンス(Res(Ra))S2を、システムLSI10内のICカードI/F回路13aを介してサブプロセッサ13へ返す。ICカード20は、暗号文生成処理ST1−22により、生成した乱数Raを共有鍵Kaで暗号アルゴリズムFにて暗号化し、暗号文Racを生成する。
Upon receiving the challenge S1, the
システムLSI10内のサブプロセッサ13は、暗号文生成処理ST1−11により、受信したレスポンスS2の乱数Raを共有鍵Kaで暗号アルゴリズムFにて暗号化して暗号文Ralを生成し、この暗号文Ralを外部認識命令(EXTERNAL AUTHENTICATEコマンド)のチャレンジ(EXTERNAL AUTHENTICATE(Ral))S2で、ICカード20へ送信する。
The
ICカード20は、比較処理ST1−23により、受信したチャレンジS3の暗号文Ralと、暗号文生成手段22により生成された暗号文Racとを比較し、比較結果が一致すればOK、不一致であればNGを、レスポンス(Res(OK/NG))S4としてシステムLSI10内のサブプロセッサ13へ返す。
The
システムLSI10内のサブプロセッサ13は、受信したレスポンスS4の端末認証がOKであれば、下記のカード認証へ進む。
If the terminal authentication of the received response S4 is OK, the
(3) カード認証シーケンス
図4は、図2中のカード認証ステップST3のシーケンス動作を示す図である。
(3) Card Authentication Sequence FIG. 4 is a diagram showing a sequence operation of the card authentication step ST3 in FIG.
システムLSI10内のサブプロセッサ13は、読み出し命令(READ RECORD コマンド)のチャレンジS11をICカード20へ送り、ICカード20内のメモリのある特定の領域に書かれたシリアル番号Sn(例えば、0001)を読み出し、これをICカード20からのレスポンス(Res(Sn))S12の形で受信する。システムLSI10には、予め、セキュリティが確保された環境で、許可されたICカード20のシリアル番号SDBが、認証鍵用メモリ12に登録されている。サブプロセッサ13は、比較処理ST3−11により、ICカード20から読み出されたシリアル番号Snと、認識鍵用メモリ12内のデータベースに登録されたICカード20のシリアル番号SDBとを比較する。
The sub-processor 13 in the
サブプロセッサ13は、カード認証鍵生成処理ST3−12により、読み出されたシリアル番号Snが、データベースに登録されたシリアル番号SDBと同一(OK)であれば、カード認証鍵の生成を行う。このカード認証鍵の生成では、暗号アルゴリズムFを用いて、受信したシリアル番号Snを共有鍵Kaで復号し、復号文からなる共有鍵Kbを生成する。更に、サブプロセッサ13は、乱数生成処理ST3−13により、乱数Rbを生成し、この乱数Rbを内部認識命令(INTERNAL AUTHENTICATEコマンド)のチャレンジS13で、ICカード20へ送信する。同時に、サブプロセッサ13は、暗号文生成処理ST3−14により、生成された共有鍵Kbで乱数Rbを暗号化して暗号文Rblを生成する。
If the read serial number Sn is the same as the serial number SDB registered in the database (OK) in the card authentication key generation process ST3-12, the
ICカード20は、暗号文生成処理ST3−21により、サブプロセッサ13から受信したチャレンジS13の乱数Rbを、保持している共有鍵Kbで暗号化して暗号文Rbcを生成し、この暗号文Rbcをレスポンス(Res(Rbc))S14としてシステムLSI10内のサブプロセッサ13へ返す。
The
システムLSI10内のサブプロセッサ13は、比較処理ST3−15により、受信した暗号文Rbcと生成された暗号文Rblとを比較し、両者が一致すれば、下記の動作モード認証へ進む。
The sub-processor 13 in the
なお、前記カード認証鍵生成処理ST3−12の詳細について、以下説明する。
システムLSI10のカード認証鍵(共有鍵Kb)の生成は、管理上の容易性を考慮して、ICカード固有のシリアル番号Sn(例えば、0001)を利用する。シリアル番号Snは、共有鍵Kaで暗号アルゴリズムFを用いて、暗号化した値とする。
Details of the card authentication key generation process ST3-12 will be described below.
The generation of the card authentication key (shared key Kb) of the
これは、カード認証鍵Kbは、一般的に乱数を用いて生成される。このため、許可されたICカード20の鍵をシステムLSI10に登録する場合、登録対象の全てのカード認証鍵を登録する必要がある。又、既に使われた鍵が登録されないことを管理する必要があるが、鍵が、乱数のため管理が大変である。
The card authentication key Kb is generally generated using a random number. For this reason, when registering the authorized
ICカード固有のシリアル番号Snであれば、連続する番号なので全てを登録する必要は無い。例えば、登録するシリアル番号Snの最大値と最小値だけを登録し、その連続する番号を許可する等で、登録件数を減らすことが可能になる。 If the serial number Sn is unique to the IC card, it is not necessary to register all of them because they are consecutive numbers. For example, it is possible to reduce the number of registrations by registering only the maximum value and the minimum value of the serial number Sn to be registered and allowing the consecutive numbers.
ここで、ICカード固有のシリアル番号Snを元にICカード認証鍵(Kb)を生成することに関して、不正な第3者の解析に対するセキュリティ上の問題があるとの懸念がある。しかし、不正な第3者は、先ずシリアル番号Snを元にカード認証鍵(Kb)を生成していることを知らなければならないこと、もし知り得たとしても、図2の端末認証(ステップST1)後でなければ図2のカード認証(ステップST3)は行われないため、偽造カードを生成することが困難と思われること、又、使われている暗号アルゴリズムFを特定する必要があること、暗号アルゴリズムFが特定できたとして、入手できるのは暗号文Rblだけであり、暗号文Rb1だけから鍵(Kb)を特定することは、一般的に安全と言われている暗号アルゴリズムを用いていれば、現実的な時間の範囲で鍵を特定することは困難と言われていること等から、セキュリティ上の問題は無い。 Here, regarding the generation of the IC card authentication key (Kb) based on the serial number Sn unique to the IC card, there is a concern that there is a security problem with the analysis of an unauthorized third party. However, an unauthorized third party must first know that the card authentication key (Kb) has been generated based on the serial number Sn. 2) Since the card authentication (step ST3) in FIG. 2 is not performed after that, it seems difficult to generate a forged card, and it is necessary to specify the encryption algorithm F being used. Assuming that the encryption algorithm F can be specified, only the ciphertext Rbl can be obtained, and specifying the key (Kb) from only the ciphertext Rb1 can be performed using an encryption algorithm that is generally said to be secure. For example, it is said that it is difficult to specify a key within a realistic time range, and there is no security problem.
(4) 動作モードシーケンス
図5は、図2中の動作モード認証ステップST5のシーケンス動作を示す図である。
(4) Operation Mode Sequence FIG. 5 is a diagram showing a sequence operation of the operation mode authentication step ST5 in FIG.
動作モード認証では、先ず、システムLSI10内のサブプロセッサ13が、乱数生成処理ST5−11により、乱数Rcを生成し、内部認識命令(INTERNAL AUTHENTICATEコマンド)のチャレンジ(INTERNAL AUTHENTICATE(Rc))S21で、乱数RcをICカード20へ送信する。同時に、サブプロセッサ13は、暗号文生成処理ST5−12により、保持している共有鍵Kmで、生成された乱数Rcを暗号化して暗号文Rclを生成する。
In the operation mode authentication, first, the
ICカード20は、暗号文生成処理ST5−21により、システムLSI10から受信したチャレンジS21の乱数Rcを、保持している共有鍵Kmで暗号化して暗号文Rccを生成し、前記チャレンジS21の応答として、暗号文RccのレスポンスS22をシステムLSI10内のサブプロセッサ13へ返す。
The
システムLSI内のサブプロセッサ13は、比較処理ST5−13により、受信したレスポンスS22の暗号文Rccと、生成された暗号文Rclとの比較を行う。比較結果が一致すれば、JTAG接続可能モードとして、JTAG接続制御回路14にてJTAG接続を有効にし、下記のデバッグ処理へ進む。前記比較結果が不一致のときは、不正な認証としてJTAG接続を有効にしない。
The
(5) デバッグ処理
JTAG接続制御回路14によってチップオンJTAGインタフェース回路15がオン状態になると共に、メインプロセッサ11が起動し、デバッガ30から入力されたテストプログラによりメインプロセッサ11が動作し、システムLSI10に対するデバッグが行われる。
(5) Debugging processing The chip-on
(実施例1の効果)
本実施例1によれば、次の(a)〜(d)のような効果がある。
(a) 端末認証、カード認証によりシステムLSI10とICカード20との相互認証を行った後に、JTAG接続を有効にするようにしたので、安全性を確保できる。これにより、ICカード20を用いた安全な方法で認証された環境で、システムLSI10におけるオンチップJTAGインタフェース回路15とデバッグ30との接続を許可することが可能となる。従って、ICカード認証を利用したセキュリティ機能の優れるデバッグ方法を実現でき、これにより、オンチップJTAGインタフェース回路を有するシステムLSIを、開発時と運用時で物理的に同一なものとし、不正な第3者の解析を防止しつつ、正規のユーザにはデバッグ機能を提供できる。
(Effect of Example 1)
According to the first embodiment, there are the following effects (a) to (d).
(A) Since the JTAG connection is validated after mutual authentication between the
(b) システムLSI10のカード認証鍵(Kb)として、ICカード固有の暗号化したシリアル番号(Sn)を使用するので、システムLSI10に登録するカード認証鍵に対するデータ量を削減でき、カード認証鍵の登録の管理が容易になる。
(B) Since the encrypted serial number (Sn) unique to the IC card is used as the card authentication key (Kb) of the
(c) サブプロセッサ13が立ち上がって認証を行った後に、メインプロセッサ11が起動してデバッグが行われる。この際、サブプロセッサ13は、メインプロセッサ11の実動作中も他の動作を行うため、認証動作が終わった段階で休止状態にはならず、動作状態が維持される。このようなサブプロセッサ13を設けることにより、メインプロセッサ11の実動作中における処理の分担が可能になり、システムLSI10の動作を高速且つ安定に行うことができる。
(C) After the sub-processor 13 starts up and performs authentication, the
(d) 前記(c)に関して、特許文献4には、オンチップJTAGインタフェース回路を有するシステムLSIにおいて、ホストプロセッサと専用プロセッサとの2つのプロセッサを搭載した例が開示されているが、ICカードによる認証については記載されておらず、それに伴う動作についても何ら開示されていない。これに対し、本実施例1では、ICカード20を用いた安全な方法で認証を行い、サブプロセッサ13とメインプロセッサ11の2つを巧みに用いることにより、前記のような顕著な作用効果を奏するものである。
(D) Regarding (c),
(変形例)
本発明は、上記実施例1に限定されず、種々の利用形態や変形が可能である。この利用形態や変形例としては、例えば、次の(i)〜(iv)のようなものがある。
(Modification)
The present invention is not limited to the first embodiment, and various usage forms and modifications are possible. For example, the following forms (i) to (iv) are used as the usage form and the modification examples.
(i) システムLSI10は、図1の構成や機能に限定されず、他の構成や機能に変更したり、あるいは、他の回路や機能を付加することも可能である。
(I) The
(ii) 前記(i)において、例えば、サブプロセッサ13は、マイコンで構成する必要はなく、少なくとも、ICカード20によって認証されたことを識別でき、この識別をトリガにしてオンチップJTAGインタフェース回路に接続するようメインプロセッサ11に信号を与えることが可能なものであれば、マイコン等の演算機能を有するものでなくても代替が可能である。但し、代替した場合は、前記実施例1の効果(c)のような、実動作中のメインプロセッサ11との処理の分担効果が得られない。
(Ii) In the above (i), for example, the sub-processor 13 does not need to be configured by a microcomputer, can at least identify that it has been authenticated by the
(iii) 前記(i)において、例えば、サブプロセッサ13を省略し、このサブプロセッサ13の機能をメインプロセッサ11に持たせる構成しても良い。このような構成にしても、前記実施例1の効果(a)、(b)が得られる。
(Iii) In (i), for example, the
(iv) 実施例1におけるICカード20を用いた認証方法は、他の処理手順に変更することも可能である。例えば、実施例1では、動作モード認証後の認証で、JTAG許可を判定し、2つの動作モードのみとしているが、複数の動作モードを動作モードで判定しても良い。又、動作モード認証前の例えばICカード認証の結果を用いて判定することも可能である。
(Iv) The authentication method using the
10 システムLSI
11 メインプロセッサ
12 認証鍵用メモリ
13 サブプロセッサ
13a ICカードI/F回路
14 JTAG接続制御回路
15 オンチップJTAGインタフェース回路
20 ICカード
30 デバッガ
10 System LSI
DESCRIPTION OF
Claims (12)
外部のデバッグ手段に対するシリアル通信のインタフェース機能を有するJTAGインタフェース手段と、
前記認証手段による認証を受けた後に前記デバッグ手段に対する前記JTAGインタフェース手段の接続制御を行う制御手段と、
を有することを特徴とするシステムLSI。 An authentication means using an IC card having a calculation and control function;
JTAG interface means having an interface function of serial communication with external debugging means;
Control means for controlling connection of the JTAG interface means to the debug means after receiving authentication by the authentication means;
A system LSI characterized by comprising:
前記ICカードに対する通信のインタフェース機能を有するICカードインタフェース手段と、
システムLSI全体をプログラム制御する演算制御機能、及び前記ICカードインタフェース手段を介して前記ICカードを用いた認証機能を有するプロセッサと、
により構成されていることを特徴とする請求項1記載のシステムLSI。 The authentication means includes
IC card interface means having an interface function of communication with the IC card;
An arithmetic control function for program-controlling the entire system LSI, and a processor having an authentication function using the IC card via the IC card interface means;
The system LSI according to claim 1, comprising:
前記演算制御機能を有するメインプロセッサと、
前記認証機能を有するサブプロセッサと、
により構成されていることを特徴とする請求項2記載のシステムLSI。 The processor is
A main processor having the arithmetic control function;
A sub-processor having the authentication function;
The system LSI according to claim 2, comprising:
演算機能を有することを特徴とする請求項3記載のシステムLSI。 The sub-processor is
4. The system LSI according to claim 3, further comprising an arithmetic function.
前記ICカードによって認証されたことを識別し、この識別をトリガに前記JTAGインタフェース手段に接続するよう前記メインプロセッサに信号を与える機能を有することを特徴とする請求項3記載のシステムLSI。 The sub-processor is
4. The system LSI according to claim 3, wherein the system LSI has a function of identifying the authentication by the IC card and giving a signal to the main processor to connect to the JTAG interface means using the identification as a trigger.
前記システムLSIの真正性を確認する端末認証と、前記ICカードの真正性を確認するカード認証とにより、前記システムLSIと前記ICカードとの相互認証を行うことを特徴とする請求項1〜5のいずれか1項に記載のシステムLSI。 The authentication function is:
6. The mutual authentication between the system LSI and the IC card is performed by terminal authentication for confirming authenticity of the system LSI and card authentication for confirming authenticity of the IC card. The system LSI according to any one of the above.
オンチップJTAGインタフェース回路であることを特徴とする請求項1〜7のいずれか1項に記載のシステムLSI。 The TAG interface means includes:
The system LSI according to claim 1, wherein the system LSI is an on-chip JTAG interface circuit.
演算及び制御機能を有するICカードを用いた認証機能を有するサブプロセッサと、
外部のデバッグ手段に対するシリアル通信のインタフェース機能を有するJTAGインタフェース手段と、
を備えたシステムLSIのデバッグ方法であって、
前記サブプロセッサが立ち上がって認証を行った後に、前記メインプロセッサが起動して、前記デバッグ手段により、前記JTAGインタフェース手段を介して前記システムLSIのデバッグを行うことを特徴とするシステムLSIのデバッグ方法。 A main processor having an arithmetic control function;
A sub-processor having an authentication function using an IC card having a calculation and control function;
JTAG interface means having an interface function of serial communication with external debugging means;
A system LSI debugging method comprising:
A method of debugging a system LSI, wherein the main processor is activated after the sub-processor is started and authenticated, and the debugging unit debugs the system LSI via the JTAG interface unit.
前記システムLSIの真正性を確認する端末認証と、前記ICカードの真正性を確認するカード認証とにより、前記システムLSIと前記ICカードとの相互認証を行うことを特徴とする請求項9記載のシステムLSIのデバッグ方法。 In the authentication,
10. The mutual authentication between the system LSI and the IC card is performed by terminal authentication for confirming authenticity of the system LSI and card authentication for confirming authenticity of the IC card. System LSI debugging method.
前記共通鍵を用いてチャレンジアンドレスポンス方式により前記認証を行うことを特徴とする請求項9〜11のいずれか1項に記載のシステムLSIのデバッグ方法。 The system LSI and the IC card hold a common key,
The system LSI debugging method according to claim 9, wherein the authentication is performed by a challenge and response method using the common key.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009003985A JP2010160765A (en) | 2009-01-09 | 2009-01-09 | System lsi and debugging method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009003985A JP2010160765A (en) | 2009-01-09 | 2009-01-09 | System lsi and debugging method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010160765A true JP2010160765A (en) | 2010-07-22 |
Family
ID=42577861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009003985A Pending JP2010160765A (en) | 2009-01-09 | 2009-01-09 | System lsi and debugging method thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010160765A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013050109A1 (en) * | 2011-10-07 | 2013-04-11 | Giesecke & Devrient Gmbh | Method for accessing a permanent memory of a portable data carrier |
JP2016016804A (en) * | 2014-07-10 | 2016-02-01 | 公益財団法人鉄道総合技術研究所 | Onboard database update system and onboard database update method |
US20170012774A1 (en) * | 2014-03-26 | 2017-01-12 | Continental Teves Ag & Co. Ohg | Method and system for improving the data security during a communication process |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1032570A (en) * | 1996-07-15 | 1998-02-03 | N T T Data Tsushin Kk | Electronic signature system |
JP2002024046A (en) * | 2000-07-11 | 2002-01-25 | Mitsubishi Electric Corp | Microcomputer, its memory contents changing system and memory contents changing method |
JP2002032267A (en) * | 2000-07-18 | 2002-01-31 | Oki Micro Design Co Ltd | Semiconductor circuit |
JP2003177938A (en) * | 2001-12-07 | 2003-06-27 | Fujitsu Ltd | Electronic device and its debugging authentication method |
JP2003186693A (en) * | 2001-12-18 | 2003-07-04 | Mitsubishi Electric Corp | Microcontroller having emulating function |
JP2004094451A (en) * | 2002-08-30 | 2004-03-25 | Mitsubishi Electric Corp | On-chip jtag interface circuit and system lsi |
JP2004240536A (en) * | 2003-02-04 | 2004-08-26 | Matsushita Electric Ind Co Ltd | Information processor |
JP2006012025A (en) * | 2004-06-29 | 2006-01-12 | Toppan Forms Co Ltd | Information transmitting set and information management system using it |
JP2007072957A (en) * | 2005-09-09 | 2007-03-22 | Matsushita Electric Ind Co Ltd | Read/write device and debugging system |
JP2008269388A (en) * | 2007-04-23 | 2008-11-06 | Nec Electronics Corp | Semiconductor device |
-
2009
- 2009-01-09 JP JP2009003985A patent/JP2010160765A/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1032570A (en) * | 1996-07-15 | 1998-02-03 | N T T Data Tsushin Kk | Electronic signature system |
JP2002024046A (en) * | 2000-07-11 | 2002-01-25 | Mitsubishi Electric Corp | Microcomputer, its memory contents changing system and memory contents changing method |
JP2002032267A (en) * | 2000-07-18 | 2002-01-31 | Oki Micro Design Co Ltd | Semiconductor circuit |
JP2003177938A (en) * | 2001-12-07 | 2003-06-27 | Fujitsu Ltd | Electronic device and its debugging authentication method |
JP2003186693A (en) * | 2001-12-18 | 2003-07-04 | Mitsubishi Electric Corp | Microcontroller having emulating function |
JP2004094451A (en) * | 2002-08-30 | 2004-03-25 | Mitsubishi Electric Corp | On-chip jtag interface circuit and system lsi |
JP2004240536A (en) * | 2003-02-04 | 2004-08-26 | Matsushita Electric Ind Co Ltd | Information processor |
JP2006012025A (en) * | 2004-06-29 | 2006-01-12 | Toppan Forms Co Ltd | Information transmitting set and information management system using it |
JP2007072957A (en) * | 2005-09-09 | 2007-03-22 | Matsushita Electric Ind Co Ltd | Read/write device and debugging system |
JP2008269388A (en) * | 2007-04-23 | 2008-11-06 | Nec Electronics Corp | Semiconductor device |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013050109A1 (en) * | 2011-10-07 | 2013-04-11 | Giesecke & Devrient Gmbh | Method for accessing a permanent memory of a portable data carrier |
US20170012774A1 (en) * | 2014-03-26 | 2017-01-12 | Continental Teves Ag & Co. Ohg | Method and system for improving the data security during a communication process |
US10680816B2 (en) * | 2014-03-26 | 2020-06-09 | Continental Teves Ag & Co. Ohg | Method and system for improving the data security during a communication process |
JP2016016804A (en) * | 2014-07-10 | 2016-02-01 | 公益財団法人鉄道総合技術研究所 | Onboard database update system and onboard database update method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2248063B1 (en) | Method and apparatus for controlling system access during protected modes of operation | |
JP5342649B2 (en) | System and method for hardware-based security | |
JP5572705B2 (en) | System and method for managing electronic assets | |
JP5502198B2 (en) | System and method for performing device serialization | |
CN101116070B (en) | System and method to lock TPM always 'on' using a monitor | |
US9129536B2 (en) | Circuit for secure provisioning in an untrusted environment | |
JP5419776B2 (en) | Semiconductor device and data processing method | |
US20190050598A1 (en) | Secure data storage | |
US9094205B2 (en) | Secure provisioning in an untrusted environment | |
JP2009521772A (en) | Protected port for electronic access to embedded devices | |
CN100578473C (en) | Embedded system and method for increasing embedded system security | |
JP2017215808A (en) | Information-processing equipment, data processing system, data processing method, and computer program | |
CN103201746A (en) | Techniques for security management provisioning at a data storage device | |
JP2005516288A (en) | Management system, method and apparatus for authorized delivery and billing of electronic circuits | |
CN109977702A (en) | A kind of FPGA device encrypted authentication system and method based on DS2432 chip | |
JP2017102853A (en) | Functional device, and controller | |
JP2010182070A (en) | Apparatus, method and program for processing information | |
KR102324328B1 (en) | security element | |
US20200389325A1 (en) | In-vehicle-function access control system, in-vehicle apparatus, and in-vehicle-function access control method | |
JP2010160765A (en) | System lsi and debugging method thereof | |
CN100440180C (en) | Processor, storage device, computer system, LSI system and method for transferring data | |
CN107330318A (en) | A kind of binding encryption method of digital signal panel card and its debugging system | |
JP5761880B2 (en) | Automobile | |
JP5603993B2 (en) | Electrical unit and data processing method | |
CN116881985A (en) | Access method based on chip PID or register and corresponding electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120106 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130312 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130702 |