JP2022107344A - Device, debugging instrument, secure component, debugging system, and debugging method - Google Patents
Device, debugging instrument, secure component, debugging system, and debugging method Download PDFInfo
- Publication number
- JP2022107344A JP2022107344A JP2021002228A JP2021002228A JP2022107344A JP 2022107344 A JP2022107344 A JP 2022107344A JP 2021002228 A JP2021002228 A JP 2021002228A JP 2021002228 A JP2021002228 A JP 2021002228A JP 2022107344 A JP2022107344 A JP 2022107344A
- Authority
- JP
- Japan
- Prior art keywords
- debug
- secure component
- authentication
- unit
- probe
- 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
- 238000000034 method Methods 0.000 title abstract description 52
- 238000004891 communication Methods 0.000 claims description 93
- 239000004065 semiconductor Substances 0.000 claims description 11
- 239000000523 sample Substances 0.000 description 195
- 238000011161 development Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 30
- 238000012545 processing Methods 0.000 description 26
- 238000012795 verification Methods 0.000 description 26
- 230000005540 biological transmission Effects 0.000 description 11
- 238000012790 confirmation Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 1
Images
Abstract
Description
本発明は、デバイス、デバッグ機器、セキュアコンポーネント、デバッグシステム及びデバッグ方法に関する。 The present invention relates to devices, debugging equipment, secure components, debugging systems and debugging methods.
近年、組み込みデバイス開発におけるデバッグはリモートデバッグが主流になりつつある。リモートデバッグは、例えば、デバッグ対象デバイスの内部にデバッグ機能の専用回路を搭載し、デバッグプローブを介して外部の開発用PCとデバッグ信号のやり取りをする。 In recent years, remote debugging has become the mainstream of debugging in embedded device development. In remote debugging, for example, a dedicated circuit for a debugging function is mounted inside a device to be debugged, and debug signals are exchanged with an external development PC via a debug probe.
また、特許文献1には、組み込みデバイスが組み込まれ、デバッグ対象のプロセスが起動されるターゲットマシンと、開発者がデバッグ操作に利用するホストマシンとが、ネットワーク又はシリアルケーブル等の通信回線を介して接続され、リモートデバッグを実現するデバッグ支援装置が開示されている。
Further, in
組み込みデバイスのリモートデバッグでは、依然として、不特定多数の開発用PCから平文のデバッグ信号の授受が可能であるのが実態である。このため、第三者から容易にデバッグ信号を組み込みデバイスに送ることができ、組み込みデバイスの不正な遠隔操作は勿論、解析によって組み込みデバイス内のソフトウェアを不正に読み出し、あるいは改ざんが行われるおそれがある。 In remote debugging of embedded devices, it is still possible to send and receive plaintext debug signals from an unspecified number of development PCs. Therefore, a debug signal can be easily sent to the embedded device from a third party, and there is a risk that the software in the embedded device may be illegally read or tampered with by analysis as well as unauthorized remote control of the embedded device. ..
また、組み込みデバイスの場合、デバッグ機能が内部に搭載されているため、デバッグ機能の無効化やデバッグ専用PINを物理的又は論理的に潰さない限り、出荷後もデバッグ機能を悪用した攻撃に晒される可能性がある。一方で、組み込みデバイスは、一般的にUI(ユーザ・インタフェース)が乏しいため、動作検証や故障解析の際のデバッグ機能の有用性は高いが、デバッグ機能の無効化等が十分になされておらず、セキュリティ脆弱性となっている場合も多い。 In addition, embedded devices have a built-in debug function, so unless the debug function is disabled or the debug PIN is physically or logically crushed, the device will be exposed to attacks that abuse the debug function even after shipment. there is a possibility. On the other hand, embedded devices generally lack a UI (user interface), so the debug function is highly useful for operation verification and failure analysis, but the debug function is not sufficiently disabled. , It is often a security vulnerability.
本発明は、斯かる事情に鑑みてなされたものであり、第三者によるデバッグ機能の悪用可能性を最小限化することができるデバイス、デバッグ機器、セキュアコンポーネント、デバッグシステム及びデバッグ方法を提供することを目的とする。 The present invention has been made in view of such circumstances, and provides a device, a debugging device, a secure component, a debugging system, and a debugging method capable of minimizing the possibility of misuse of the debugging function by a third party. The purpose is.
本発明の実施の形態に係るデバイスは、デバッグ対象を有するデバイスであって、前記デバッグ対象をデバッグするためのデバッグ機器に備えられた機器側セキュアコンポーネントと相互認証を行う認証部を有するデバイス側セキュアコンポーネントを備え、前記デバイス側セキュアコンポーネントは、前記認証部で相互認証が成功した場合、前記機器側セキュアコンポーネントとの間でデバッグ信号の授受を行う。 The device according to the embodiment of the present invention is a device having a debug target, and is a device-side secure having an authentication unit that performs mutual authentication with a device-side secure component provided in the debug device for debugging the debug target. The device-side secure component includes a component, and when mutual authentication is successful in the authentication unit, the device-side secure component sends and receives a debug signal to and from the device-side secure component.
本発明の実施の形態に係るデバッグ機器は、デバッグ対象をデバッグするためのデバッグ機器であって、前記デバッグ対象を有するデバイスに備えられたデバイス側セキュアコンポーネントと相互認証を行う認証部を有する機器側セキュアコンポーネントを備え、前記機器側セキュアコンポーネントは、前記認証部で相互認証が成功した場合、前記デバイス側セキュアコンポーネントとの間でデバッグ信号の授受を行う。 The debug device according to the embodiment of the present invention is a debug device for debugging a debug target, and is a device side having an authentication unit that performs mutual authentication with a device-side secure component provided in the device having the debug target. The device-side secure component includes a secure component, and when the mutual authentication is successful in the authentication unit, the device-side secure component sends and receives a debug signal to and from the device-side secure component.
本発明の実施の形態に係るセキュアコンポーネントは、デバッグ対象を有するデバイスに搭載されるセキュアコンポーネントであって、前記デバッグ対象をデバッグするためのデバッグ機器に備えられた機器側のセキュアコンポーネントと相互認証を行う認証部を備え、前記認証部で相互認証が成功した場合、前記機器側のセキュアコンポーネントとの間でデバッグ信号の授受を行う。 The secure component according to the embodiment of the present invention is a secure component mounted on a device having a debug target, and mutually authenticates with the secure component on the device side provided in the debug device for debugging the debug target. It is provided with an authentication unit to perform, and when mutual authentication is successful in the authentication unit, a debug signal is exchanged with the secure component on the device side.
本発明の実施の形態に係るセキュアコンポーネントは、デバッグ対象をデバッグするためのデバッグ機器に搭載されるセキュアコンポーネントであって、前記デバッグ対象を有するデバイスに備えられたデバイス側のセキュアコンポーネントと相互認証を行う認証部を備え、前記認証部で相互認証が成功した場合、前記デバイス側のセキュアコンポーネントとの間でデバッグ信号の授受を行う。 The secure component according to the embodiment of the present invention is a secure component mounted on a debugging device for debugging a debug target, and mutually authenticates with the device-side secure component provided in the device having the debug target. It is provided with an authentication unit to perform, and when mutual authentication is successful in the authentication unit, a debug signal is exchanged with the secure component on the device side.
本発明の実施の形態に係るデバッグシステムは、デバッグ対象を有するデバイスと、デバッグ対象をデバッグするためのデバッグ機器とを備えるデバッグシステムであって、前記デバイスは、前記デバッグ機器に備えられた機器側セキュアコンポーネントと相互認証を行うデバイス側認証部を有するデバイス側セキュアコンポーネントを備え、前記デバッグ機器は、前記デバイスに備えられたデバイス側セキュアコンポーネントと相互認証を行う機器側認証部を有する機器側セキュアコンポーネントを備え、前記デバイス側認証部及び機器側認証部それぞれで相互認証が成功した場合、前記デバイス側セキュアコンポーネントと前記機器側セキュアコンポーネントとの間でデバッグ信号の授受を行う。 The debug system according to the embodiment of the present invention is a debug system including a device having a debug target and a debug device for debugging the debug target, and the device is a device side provided in the debug device. The debug device is provided with a device-side secure component having a device-side authentication unit that performs mutual authentication with the secure component, and the debug device is a device-side secure component having a device-side authentication unit that performs mutual authentication with the device-side secure component provided in the device. When mutual authentication is successful in each of the device-side authentication unit and the device-side authentication unit, a debug signal is exchanged between the device-side secure component and the device-side secure component.
本発明の実施の形態に係るデバッグ方法は、デバッグ対象を有するデバイスに搭載されたデバイス側セキュアコンポーネントは、前記デバッグ対象をデバッグするためのデバッグ機器に搭載された機器側セキュアコンポーネントと相互認証を行い、前記機器側セキュアコンポーネントは、前記デバイス側セキュアコンポーネントと相互認証を行い、前記相互認証それぞれが成功した場合、前記デバイス側セキュアコンポーネントと前記機器側セキュアコンポーネントとの間でデバッグ信号の授受を行う。 In the debugging method according to the embodiment of the present invention, the device-side secure component mounted on the device having the debug target performs mutual authentication with the device-side secure component mounted on the debug device for debugging the debug target. The device-side secure component performs mutual authentication with the device-side secure component, and if each of the mutual authentications is successful, a debug signal is exchanged between the device-side secure component and the device-side secure component.
本発明によれば、第三者によるデバッグ機能の悪用可能性を最小限化することができる。 According to the present invention, the possibility of misuse of the debugging function by a third party can be minimized.
(第1実施形態)
以下、本発明をその実施の形態を示す図面に基づいて説明する。図1は第1実施形態のデバッグシステムの構成の一例を示す模式図である。デバッグシステムは、デバッグ対象を有するデバイス50、デバッグ機器としてのプローブ30を備える。デバッグシステムは、さらに、組み込み開発用PC20、デバッグ環境管理サーバ10を備えてもよい。
(First Embodiment)
Hereinafter, the present invention will be described with reference to the drawings showing the embodiments thereof. FIG. 1 is a schematic diagram showing an example of the configuration of the debug system of the first embodiment. The debug system includes a
デバイス50は、組み込み開発の対象となるデバイスである。デバイス50は、デバッグ対象CPU/SoC60、デバッグI/F51、及びセキュアコンポーネント70を備える。デバッグI/F51は、プローブ30に接側するためのインタフェースであり、例えば、JTAG(Joint Test Action Group)/SWD(Serial Wire Debug)等のインタフェースを使用することができる。
The
デバッグ対象CPU/SoC60は、デバイス50上でデバッグ対象プログラム61(「デバッグ対象」とも称する)を動かすCPU又はSoC(System on chip)である。デバッグ対象プログラム61は、デバッグ対象CPU/SoC60上で動作しているプログラムである。デバッグ対象CPU/SoC60は、上述のデバッグ対象プログラム61の他に、CPU/SoC内デバッグ機能62を備える。
The debug target CPU /
CPU/SoC内デバッグ機能62は、デバッグ対象CPU/SoC内部に実装されているデバッガであり、デバッグ対象プログラム61の状態の取得、ブレークポイントによる停止等の動作制御を行う。CPU/SoC内デバッグ機能62は、暗号化機能63及び鍵共有機能64を備える。
The
暗号化機能63は、暗号化された操作指示(デバッグ信号)の復号、指示結果(デバッグ信号)の暗号化などを行う機能である。本明細書において、デバッグ信号は、デバッグに関連する信号であり、プローブ30とデバイス50との間で授受される信号である。
The
鍵共有機能64は、セキュアコンポーネント70と鍵共有を行うための機能である。また、CPU/SoC内デバッグ機能62は、機能実現のために、CA公開鍵と証明書などを保持する。CA公開鍵と証明書は、公開鍵証明書を作成したCA(Certificate Authority)の公開鍵と証明書であり、デバイス側公開鍵の正当性を証明するために用いる。本実施例では、セキュアコンポーネント70の製造元の公開鍵と、当該製造元を証明する証明書とする。
The
セキュアコンポーネント70は、ハードウェア又はソフトウェア耐タンパ性を有し、秘密鍵等の秘匿情報を保護するためのコンポーネントである。セキュアコンポーネント70は、ハードウェア実装(例えば、セキュアエレメント、TPM(Trusted Platform Module)等)、又はソフトウェア実装(トラステッド実行環境等)のいずれで実装されていてもよい。セキュアコンポーネント70は、暗号化機能71、相互認証機能72、利用者認証機能73、秘匿通信機能74、認証許可リスト75などを備える。
The
暗号化機能71は、プローブ30内のセキュアコンポーネント40との暗号化通信を行うための機能である。相互認証機能72は、プローブ30内のセキュアコンポーネント40と相互認証を行うための機能である。利用者認証機能73は、PIN等により利用者の個人認証を行うための機能である。秘匿通信機能74は、デバッグ環境管理サーバ10と秘匿通信路を開設するための機能である。認証許可リスト75は、セキュアコンポーネント70が相互認証を許可する対象の個体IDをリスト化したものである。セキュアコンポーネント70は、相互認証を行う際、認証相手のセキュアコンポーネントが認証許可リスト75に登録されている場合のみ認証を許可する。
The
セキュアコンポーネント70は、機能実現のために、デバイス側秘密鍵、デバイス側公開鍵と証明書、CA公開鍵と証明書、個人認証情報、秘匿通信路鍵、セッション鍵などの秘匿情報を保持する。デバイス側秘密鍵は、相互認証機能72で使用する秘密鍵である。デバイス側公開鍵と証明書は、相互認証機能72で使用する公開鍵と、セキュアコンポーネント70の個体ID及びデバイス側公開鍵の証明書である。本実施例では、セキュアコンポーネントの製造元をCAとする証明書である。CA公開鍵と証明書は、プローブ側公開鍵証明書を作成したCAの公開鍵と証明書であり、プローブ側公開鍵の正当性を証明するために用いる。個人認証情報は、利用者認証機能73で用いられ、利用者の正当性を確認するための情報であり、例えば、PINを用いることができる。秘匿通信路鍵は、秘匿通信機能74で利用され、デバッグ環境管理サーバ10と秘匿通信を行うための鍵である。図示していないが、セッション鍵は、プローブ30内のセキュアコンポーネント40との暗号化通信を行う際に一時的に生成される鍵である。
The
プローブ30は、組み込み機器開発PC20によるデバッグを行うため、デバイス50に接続してデバッグ信号を授受するための機器である。プローブ30は、PC側デバッガI/F31、デバッグI/F32、セキュアコンポーネント40を備える。
The
PC側デバッガI/F31は、組み込み機器開発PC20に接続するためのインタフェースであり、例えば、USB等を用いることができる。デバッグI/F32は、デバイス50に接続するためのインタフェースであり、例えば、JTAG(Joint Test Action Group)/SWD(Serial Wire Debug)等のインタフェースを使用することができる。
The PC-side debugger I / F31 is an interface for connecting to the embedded
セキュアコンポーネント40は、ハードウェア又はソフトウェア耐タンパ性を有し、秘密鍵等の秘匿情報を保護するためのコンポーネントである。セキュアコンポーネント40は、ハードウェア実装(例えば、セキュアエレメント、TPM(Trusted Platform Module)等)、又はソフトウェア実装(トラステッド実行環境等)のいずれで実装されていてもよい。セキュアコンポーネント40は、セキュアコンポーネント70と同様の構成を有し、暗号化機能43、相互認証機能44、利用者認証機能42、秘匿通信機能41、認証許可リスト45などを備える。
The
暗号化機能43は、デバイス50内のセキュアコンポーネント70との暗号化通信を行うための機能である。相互認証機能44は、デバイス50内のセキュアコンポーネント70と相互認証を行うための機能である。利用者認証機能42は、PIN等により利用者の個人認証を行うための機能である。秘匿通信機能41は、デバッグ環境管理サーバ10と秘匿通信路を開設するための機能である。認証許可リスト45は、セキュアコンポーネント40が相互認証を許可する対象の個体IDをリスト化したものである。セキュアコンポーネント40は、相互認証を行う際、認証相手のセキュアコンポーネントが認証許可リスト45に登録されている場合のみ認証を許可する。
The
セキュアコンポーネント40は、機能実現のために、プローブ側秘密鍵、プローブ側公開鍵と証明書、CA公開鍵と証明書、個人認証情報、秘匿通信路鍵、セッション鍵などの秘匿情報を保持する。プローブ側秘密鍵は、相互認証機能44で使用する秘密鍵である。プローブ側公開鍵と証明書は、相互認証機能44で使用する公開鍵と、セキュアコンポーネント40の個体ID及びプローブ側公開鍵の証明書である。本実施例では、セキュアコンポーネントの製造元をCAとする証明書である。CA公開鍵と証明書は、デバイス側公開鍵証明書を作成したCAの公開鍵と証明書であり、デバイス側公開鍵の正当性を証明するために用いる。個人認証情報は、利用者認証機能42で用いられ、利用者の正当性を確認するための情報であり、例えば、PINを用いることができる。秘匿通信路鍵は、秘匿通信機能41で利用され、デバッグ環境管理サーバ10と秘匿通信を行うための鍵である。図示していないが、セッション鍵は、デバイス50内のセキュアコンポーネント70との暗号化通信を行う際に一時的に生成される鍵である。
The
組み込み機器開発PC20は、組み込み開発上の各種作業(例えば、コーディング、テスト、デバッグ等)を行うため、プログラマ等が使用するPC(パーソナルコンピュータ)である。組み込み機器開発PC20は、IDE(Integrated Development Environment
)、CLI(Command Line Interface)等のデバッグ操作環境21、PC側デバッガ22、プローブ30とのインタフェース機能を有するデバッグプローブI/F23を備える。
The embedded
), A
デバッグ環境管理サーバ10は、秘匿通信機能11を備え、セキュアコンポーネント40、70が保持する秘匿情報を管理する。
The debug
次に、本実施の形態のデバッグシステムの処理について説明する。 Next, the processing of the debug system of the present embodiment will be described.
図2はデバッグ開始指示の処理フローの一例を示す模式図である。デバッグ開始タイミングは、適宜設定できるが、例えば、プログラマがデバッグ開始をツールに伝達することによりデバッグ機能を有効にしてデバッグを行うことができる。以下、図中の各処理を#1~#4として説明する。 FIG. 2 is a schematic diagram showing an example of the processing flow of the debug start instruction. The debug start timing can be set as appropriate, but for example, the programmer can enable the debug function and perform debugging by transmitting the debug start to the tool. Hereinafter, each process in the figure will be described as # 1 to # 4.
#1(プログラマによるデバッグ開始指示):プログラマは、組み込み機器開発PC20で動作するデバッグ操作環境21に対して、デバッグ開始を指示する。
# 1 (Instruction to start debugging by the programmer): The programmer instructs the
#2(プローブへのデバッグ開始指示送信):デバッグ操作環境21は、プローブ30に対してデバッグ開始指示を送信する。
# 2 (Send debug start instruction to probe): The
#3(デバイスへのデバッグ開始指示送信):プローブ30は、デバイス50に対し、デバッグI/F32を介してデバッグ開始指示を送信する。
# 3 (Send debug start instruction to device): The
#4(デバッグ対象CPU/SoCへのデバッグ開始指示送信):デバイス50は、受信したデバッグ開始指示をデバッグ対象CPU/SoC60に送信する。
# 4 (Send debug start instruction to debug target CPU / SoC): The
デバイス側のセキュアコンポーネント70とデバッグ対象CPU/SoC60とが同一基板上での別々の半導体チップとして実装されている場合、悪意のある攻撃者は、チップ間配線に干渉(例えば、配線プロービングや切断等)することで、両チップ間の信号を傍受し、あるいはセキュアコンポーネントをバイパスしたデバッグの実施が可能になる場合がある。本実施例では、以下に示すように、プローブ30によるデバッグの開始に先立って、デバイス側のセキュアコンポーネント70とデバッグ対象CPU/SoC60との間で暗号化された通信路を確立する。
When the
図3はセキュアコンポーネント70とデバッグ対象CPU/SoC60との間の暗号通信路確立の処理フローの一例を示す模式図である。以下、図中の各処理を#1~#6として説明する。
FIG. 3 is a schematic diagram showing an example of a processing flow for establishing an encrypted communication path between the
#1(デバッグ対象CPU/SoCによる鍵共有手順開始):デバッグ対象CPU/SoC60はセキュアコンポーネント70に対する認証要求を行う。
# 1 (Start of key sharing procedure by debug target CPU / SoC): The debug target CPU /
#2(公開鍵及び証明書の出力):セキュアコンポーネント70は、デバッグ対象CPU/SoC60に対して、自身が保持するデバイス側公開鍵と証明書を送信する。
# 2 (output of public key and certificate): The
#3(公開鍵、証明書の検証):デバッグ対象CPU/SoC60は、受信したデバイス側公開鍵と証明書に対して検証を行う。具体的には、デバッグ対象CPU/SoC60は、自身が保持するCA公開鍵を用いて、デバイス側証明書内の公開鍵署名を検証する。ここで検証に失敗した場合、不正なデバイス側公開鍵及び証明書とみなして処理を終了する。検証に成功した場合、デバイス側公開鍵及び証明書を送信したセキュアコンポーネント70は、信頼できるものとして処理を進める。
# 3 (Verification of public key and certificate): The debuggee CPU / SoC60 verifies the received device-side public key and certificate. Specifically, the debug target CPU / SoC60 verifies the public key signature in the device-side certificate by using the CA public key held by itself. If the verification fails here, it is regarded as an invalid device-side public key and certificate, and the process ends. If the verification is successful, the
#4(乱数の生成と返送):デバッグ対象CPU/SoC60は、自ら(又は乱数生成器等を用いて)乱数を生成し、生成した暗号化乱数をセキュアコンポーネント70の公開鍵で暗号化してセキュアコンポーネント70に返送する。
# 4 (Random number generation and return): The debuggee CPU / SoC60 generates a random number by itself (or using a random number generator or the like), and encrypts the generated encrypted random number with the public key of the
#5(セキュアコンポーネント側セッション鍵の生成):セキュアコンポーネント70は、受信した暗号化乱数を自身の秘密鍵で復号し、復号して得られた乱数からCPU/SoCセッション鍵を生成する。セキュアコンポーネント70は、暗号化乱数の復号、CPU/SoCセッション鍵の生成が正常に終了したことをデバッグ対象CPU/SoC60に通知する。
# 5 (Generation of session key on the secure component side): The
#6(CPU/SoC側との鍵共有完了):デバッグ対象CPU/SoC60は、セキュアコンポーネント70から正常終了通知を受信すると、自身が生成した乱数からCPU/SoCセッション鍵を生成する。生成したCPU/SoCセッション鍵は、セキュアコンポーネント70が生成したCPU/SoCセッション鍵と同じものである。以降、デバッグ対象CPU/SoC60は生成したCPU/SoCセッション鍵を用いてセキュアコンポーネント70との間で暗号通信を行う。
# 6 (Completion of key sharing with CPU / SoC side): When the debug target CPU /
上述の例では、片方向の認証を用いて鍵共有を行っているが、鍵共有で使用するアルゴリズムは、上述の例に限定されるものではない。なお、デバイス側のセキュアコンポーネント70とデバッグ対象CPU/SoC60とが同じ半導体チップとして実装されている場合(例えば、デバッグ対象CPU/SoC60内にセキュアコンポーネント70が内蔵されている場合)、悪意のある攻撃者が、チップ間配線に干渉することができないので、図3に例示した暗号通信路の確立は不要となる。
In the above example, key sharing is performed using one-way authentication, but the algorithm used for key sharing is not limited to the above example. When the
図3に例示した処理によって、デバイス50内においてセキュアコンポーネント70とデバッグ対象CPU/SoC60とはセキュリティ上密結合となった。以下では、デバイス側のセキュアコンポーネント70とプローブ側のセキュアコンポーネント40とがデバッグが許可されている組み合わせであることを確認する処理について説明する。
By the process illustrated in FIG. 3, the
図4はセキュアコンポーネント間の相互認証の処理フローの一例を示す模式図である。以下、図中の各処理を#1~#9として説明する。 FIG. 4 is a schematic diagram showing an example of the processing flow of mutual authentication between secure components. Hereinafter, each process in the figure will be described as # 1 to # 9.
#1(プローブ認証情報とプローブ側公開鍵と証明書の送付):プローブ側のセキュアコンポーネント40は、自身が保持するプローブ側秘密鍵を用いて認証情報を生成し、プローブ側公開鍵と証明書とともに生成した認証情報をデバイス側のセキュアコンポーネント70に送付する。ここで、認証情報は、認証相手(この場合、プローブ側のセキュアコンポーネント40)が秘密鍵を保持していることを確認できる内容であればよく、例えば、プローブID:Probe-0001をプローブ側秘密鍵で暗号化したものなどを用いることができる。また、後述のプローブセッション鍵生成のため、認証情報に乱数要素を含めてもよい。
# 1 (Sending probe authentication information and probe side public key and certificate): The probe side
#2(公開鍵と証明書の検証):デバイス側のセキュアコンポーネント70は、受信したプローブ側公開鍵と証明書の検証を行う。具体的には、セキュアコンポーネント70は、自身が保持するCA公開鍵を用いて、プローブ側証明書内の公開鍵署名を検証する。ここで検証に失敗した場合、不正なプローブ側公開鍵及び証明書とみなして処理を終了する。検証に成功した場合、プローブ側公開鍵及び証明書を送信したセキュアコンポーネント40は、信頼できるものとして処理を進める。
# 2 (Public key and certificate verification): The device-side
#3(認証許可リストの確認):セキュアコンポーネント70は、プローブ側証明書に格納されているプローブIDが、自身が保持する認証許可リスト75に指定されているかを確認する。当該プローブIDが認証許可リスト75に存在しない場合、無許可のプローブとみなし、処理を終了する。
# 3 (Confirmation of authentication permission list): The
#4(プローブ認証情報の検証):セキュアコンポーネント70は、セキュアコンポーネント40から受信した認証情報を、プローブ側公開鍵を用いて復号し、所定の情報(ここでは、証明書に指定されているプローブID)であることを検証する。検証に失敗した場合はここで処理を終了する。
# 4 (Verification of probe authentication information): The
#5(デバイス認証情報とデバイス側公開鍵と証明書の送付):デバイス側のセキュアコンポーネント70は、自身が保持するデバイス側秘密鍵を用いて認証情報を生成し、デバイス側公開鍵と証明書とともに生成した認証情報をプローブ側のセキュアコンポーネント40に送付する。ここで、認証情報は、認証相手(この場合、デバイス側のセキュアコンポーネント70)が秘密鍵を保持していることを確認できる内容であればよく、例えば、デバイスID:Device-0001をデバイス側秘密鍵で暗号化したものなどを用いることができる。また、後述のプローブセッション鍵生成のため、認証情報に乱数要素を含めてもよい。
# 5 (Sending device authentication information and device side public key and certificate): The device side
#6(公開鍵と証明書の検証):プローブ側のセキュアコンポーネント40は、受信したデバイス側公開鍵と証明書の検証を行う。具体的には、セキュアコンポーネント40は、自身が保持するCA公開鍵を用いて、デバイス側証明書内の公開鍵署名を検証する。ここで検証に失敗した場合、不正なデバイス側公開鍵及び証明書とみなして処理を終了する。検証に成功した場合、デバイス側公開鍵及び証明書を送信したセキュアコンポーネント70は、信頼できるものとして処理を進める。
# 6 (Public key and certificate verification): The probe-side
#7(認証許可リストの確認):セキュアコンポーネント40は、デバイス側証明書に格納されているデバイスIDが、自身が保持する認証許可リスト45に指定されているかを確認する。当該デバイスIDが認証許可リスト45に存在しない場合、無許可のプローブとみなし、処理を終了する。
# 7 (Confirmation of authentication permission list): The
#8(デバイス認証情報の検証):セキュアコンポーネント40は、セキュアコンポーネント70から受信した認証情報を、デバイス側公開鍵を用いて復号し、所定の情報(ここでは、証明書に指定されているデバイスID)であることを検証する。検証に失敗した場合はここで処理を終了する。
# 8 (Verification of device authentication information): The
#9(プローブセッション鍵の生成):セキュアコンポーネント40及びセキュアコンポーネント70は、授受した乱数要素を元に、各々同一のプローブセッション鍵を生成し保持する。
# 9 (Generation of probe session key): The
上述のように、デバッグ対象プログラム61(デバッグ対象)を有するデバイス50は、デバッグ対象をデバッグするためのプローブ30(デバッグ機器)に備えられたセキュアコンポーネント40と相互認証を行う相互認証機能72(認証部)を有するセキュアコンポーネント70を備え、セキュアコンポーネント70は、相互認証機能72で相互認証が成功した場合、セキュアコンポーネント40との間でデバッグ信号の授受を行う。
As described above, the
また、デバッグ対象プログラム61(デバッグ対象)をデバッグするためのプローブ30(デバッグ機器)は、デバッグ対象を有するデバイス50に備えられたセキュアコンポーネント70と相互認証を行う相互認証機能44(認証部)を有するセキュアコンポーネント40を備え、セキュアコンポーネント40は、相互認証機能44で相互認証が成功した場合、セキュアコンポーネント70との間でデバッグ信号の授受を行う。
Further, the probe 30 (debug device) for debugging the debug target program 61 (debug target) has a mutual authentication function 44 (authentication unit) that performs mutual authentication with the
プローブ30(デバッグ機器)に搭載されるセキュアコンポーネント40は、デバッグ対象を有するデバイス50に備えられたセキュアコンポーネント70と相互認証を行う相互認証機能44(認証部)を備え、相互認証機能44で相互認証が成功した場合、セキュアコンポーネント70との間でデバッグ信号の授受を行う。
The
また、デバッグ対象プログラム61(デバッグ対象)を有するデバイス50に搭載されるセキュアコンポーネント70は、デバッグ対象プログラム61をデバッグするためのプローブ30(デバッグ機器)に備えられたセキュアコンポーネント40と相互認証を行う相互認証機能44(認証部)を備え、相互認証機能44で相互認証が成功した場合、セキュアコンポーネント40との間でデバッグ信号の授受を行う。
Further, the
デバッグ対象プログラム61(デバッグ対象)を有するデバイス50と、デバッグ対象プログラム61をデバッグするためのプローブ30(デバッグ機器)とを備えるデバッグシステム又はデバッグ方法において、デバイス50は、プローブ30に備えられたセキュアコンポーネント40と相互認証を行う相互認証機能72(デバイス側認証部)を有するセキュアコンポーネント70を備え、プローブ30は、デバイス50に備えられたセキュアコンポーネント70と相互認証を行う相互認証機能44(機器側認証部)を有するセキュアコンポーネント40を備え、相互認証機能72、44それぞれで相互認証が成功した場合、セキュアコンポーネント70とセキュアコンポーネント40との間でデバッグ信号の授受を行う。
In a debugging system or a debugging method including a
上述のように、デバッグ実施前に、デバイス50とプローブ30との間で相互認証を実施し、正当なデバイス50とプローブ30との組み合わせであることを確認することにより、デバイス50をデバッグできるプローブ30を物理的に限定することができ、第三者によるデバッグ機能の悪用可能性を最小限化することができる。
As described above, a probe capable of debugging the
相互認証のアルゴリズムは、上述の例に限定されるものではなく、好適なアルゴリズムを採用することができるが、プローブ30(セキュアコンポーネント40)、デバイス50(セキュアコンポーネント70)の正当性確認に当たっては、上述のとおり、公開鍵と秘密鍵の2組の鍵を用いる非対称鍵アルゴリズムを適用するのが望ましい。 The mutual authentication algorithm is not limited to the above example, and a suitable algorithm can be adopted. However, in confirming the validity of the probe 30 (secure component 40) and the device 50 (secure component 70), As mentioned above, it is desirable to apply an asymmetric key algorithm that uses two sets of keys, a public key and a private key.
図4に例示した処理によって、デバイス50とプローブ30との間で相互認証が成功し、相互に正当な組み合わせであることが確認されたので、デバイス50とプローブ30との間の通信のセキュリティポリシーによっては、この状態で平文通信を行ってデバッグを実施してもよい。以下では、平文通信を用いたデバッグについて説明する。
By the process illustrated in FIG. 4, mutual authentication between the
図5はプローブ30とデバイス50間の平文通信の処理フローの一例を示す模式図である。以下、図中の各処理を#1~#12として説明する。
FIG. 5 is a schematic diagram showing an example of a processing flow of plaintext communication between the
#1(デバッグ操作):プログラマは、デバッグ操作環境21にデバッグ操作指示を行う。
# 1 (Debug operation): The programmer gives a debug operation instruction to the
#2(プローブへ操作指示を送信):デバッグ操作環境21は、プローブ30に対して操作指示を送信する。
# 2 (Send operation instruction to probe): The
#3(デバイスへ操作指示を送信):プローブ30は、デバッグI/F32を介してデバイス50に対し操作指示を送信する。デバイス50は、受信した操作指示をセキュアコンポーネント70に入力する。
# 3 (Send operation instruction to device): The
#4(デバイス側セキュアコンポーネントによる暗号化送信):セキュアコンポーネント70は、受信した操作指示を、CPU/SoCセッション鍵で暗号化し、暗号化操作指示をCPU/SoC内デバッグ機能62に送信する。
# 4 (encrypted transmission by the device-side secure component): The
#5(CPU/SoC側で操作指示を復号):CPU/SoC内デバッグ機能62は、受信した暗号化操作指示をCPU/SoCセッション鍵で復号し、操作指示を得る。
# 5 (Decrypt operation instruction on the CPU / SoC side): The
#6(デバッグ対象プログラムを操作):CPU/SoC内デバッグ機能62は、指示された内容でデバッグ対象CPU/SoC60を操作し、デバッグ対象プログラム61を操作するか、情報取得を行う。
# 6 (Operate the debug target program): The
#7(指示結果を返送):CPU/SoC内デバッグ機能62は、前述の#6の処理の指示結果を受け取る。
# 7 (returns the instruction result): The CPU /
#8(CPU/SoC側による暗号化送信):CPU/SoC内デバッグ機能62は、受信した指示結果を、CPU/SoCセッション鍵で暗号化し、暗号化指示結果をセキュアコンポーネント70に送信する。
# 8 (encrypted transmission by the CPU / SoC side): The CPU / SoC
#9(デバイス側セキュアコンポーネントによる復号):セキュアコンポーネント70は、受信した暗号化指示結果をCPU/SoCセッション鍵で復号し、指示結果を得る。
# 9 (Decryption by the device-side secure component): The
#10(プローブへ指示結果を返送):デバイス50は、セキュアコンポーネント70から指示結果を取得し、プローブ30へ返送する。
# 10 (Returning the instruction result to the probe): The
#11(組み込み機器開発PCへ指示結果を返送):プローブ30は、デバイス50から受け取った指示結果を、組み込み機器開発PC20へ返送する。
# 11 (Returning the instruction result to the embedded device development PC): The
#12(指示結果を表示):組み込み機器開発PC20は、プローブ30から受け取った指示結果をデバッグ操作環境21に反映し、プログラマに見せる。
# 12 (Display instruction result): The embedded
上述のような平文通信に代えて、以下に示すように、プローブ30とデバイス50との間の通信内容を秘匿化して保護を図ることもできる。
Instead of the plaintext communication as described above, as shown below, the communication content between the
図6はプローブ30とデバイス50間の暗号通信の処理フローの一例を示す模式図である。以下、図中の各処理を#1~#18として説明する。
FIG. 6 is a schematic diagram showing an example of a processing flow of encrypted communication between the
#1(デバッグ操作):プログラマは、デバッグ操作環境21にデバッグ操作指示を行う。
# 1 (Debug operation): The programmer gives a debug operation instruction to the
#2(プローブへ操作指示を送信):デバッグ操作環境21は、プローブ30に対して操作指示を送信する。
# 2 (Send operation instruction to probe): The
#3(セキュアコンポーネントへ操作指示を出力):プローブ30は、受信した操作指示をセキュアコンポーネント40に出力する。
# 3 (Output operation instruction to the secure component): The
#4(操作指示の暗号化):セキュアコンポーネント40は、自身のプローブセッション鍵を用いて、取得した操作指示を暗号化する。
# 4 (encryption of operation instruction): The
#5(暗号化操作指示の送信):プローブ30は、デバッグI/F32を介して暗号化された操作指示をデバイス50に送信する。デバイス50は、受信した暗号化操作指示をセキュアコンポーネント70に送信する。
# 5 (Transmission of encryption operation instruction): The
#6(デバイス側セキュアコンポーネントによる復号):セキュアコンポーネント70は、受信した暗号化操作指示を、自身が保持するプローブセッション鍵で復号する。
# 6 (Decryption by the device-side secure component): The
#7(再暗号化を送信):セキュアコンポーネント70は、復号した操作指示を、CPU/SoCセッション鍵で再度暗号化し、暗号化操作指示をCPU/SoC内デバッグ機能62に送信する。
# 7 (Transmit re-encryption): The
#8(CPU/SoC側で操作指示を復号):CPU/SoC内デバッグ機能62は、受信した暗号化操作指示をCPU/SoCセッション鍵で復号し、操作指示を得る。
# 8 (decrypt operation instruction on the CPU / SoC side): The
#9(デバッグ対象プログラムを操作):CPU/SoC内デバッグ機能62は、指示された内容でデバッグ対象CPU/SoC60を操作し、デバッグ対象プログラム61を操作するか、情報取得を行う。
# 9 (Operate the debug target program): The
#10(指示結果を受信):CPU/SoC内デバッグ機能62は、前述の#6の処理の指示結果を受け取る。
# 10 (Receive instruction result): The
#11(CPU/SoC側による暗号化と送信):CPU/SoC内デバッグ機能62は、受信した指示結果を、CPU/SoCセッション鍵で暗号化し、暗号化指示結果をセキュアコンポーネント70に送信する。
# 11 (encryption and transmission by the CPU / SoC side): The CPU / SoC
#12(デバイス側セキュアコンポーネントによる復号):セキュアコンポーネント70は、受信した暗号化指示結果をCPU/SoCセッション鍵で復号し、指示結果を得る。
# 12 (Decryption by the device-side secure component): The
#13(再暗号化):セキュアコンポーネント70は、復号した指示結果を、プローブセッション鍵で再度暗号化する。
# 13 (re-encryption): The
#14(プローブへ指示結果を返送):デバイス50は、セキュアコンポーネント70から暗号化した指示結果を取得し、プローブ30へ返送する。
# 14 (Returning the instruction result to the probe): The
#15(セキュアコンポーネントへ転送):プローブ30は、デバイス50から受け取った指示結果をセキュアコンポーネント40へ送信する。
# 15 (Transfer to secure component): The
#16(操作指示の復号):セキュアコンポーネント40は、受け取った指示結果をプローブセッション鍵で復号する。
# 16 (Decryption of operation instruction): The
#17(組み込み機器開発PCへ指示結果を返送):プローブ30は、セキュアコンポーネント40から受け取った指示結果を、組み込み機器開発PC20へ返送する。
# 17 (Returning the instruction result to the embedded device development PC): The
#18(指示結果を表示):組み込み機器開発PC20は、プローブ30から受け取った指示結果をデバッグ操作環境21に反映し、プログラマに見せる。
# 18 (Display instruction result): The embedded
上述のように、セキュアコンポーネント70は、暗号化機能71(暗号化部、復号部)を備え、暗号化機能71は、相互認証機能72で相互認証が成功した場合、セキュアコンポーネント40に対して送出するデバッグ信号を暗号化し、暗号化機能71は、相互認証機能72で相互認証が成功した場合、セキュアコンポーネント40から取得する、暗号化されたデバッグ信号を復号する。
As described above, the
また、セキュアコンポーネント40は、暗号化機能43(暗号化部、復号部)を備え、暗号化機能43は、相互認証機能44で相互認証が成功した場合、セキュアコンポーネント70に対して送出するデバッグ信号を暗号化し、暗号化機能43は、相互認証機能44で相互認証が成功した場合、セキュアコンポーネント70から取得する、暗号化されたデバッグ信号を復号する。
Further, the
このように、デバイス50とプローブ30との間のデバッグ通信を、セキュアコンポーネント40、70が直接暗号化し、他方のセキュアコンポーネントと授受することで暗号化通信を実現することにより、暗号化通信をサポートしていない旧来のデバイスに対しても、プロトコルを仲介する形でセキュアコンポーネントが暗号化手段を提供することができる。
In this way, the
デバッグ機能の利用に先立って、プローブ30内のセキュアコンポーネント40が利用者(プログラマや保守運用者など)の認証を行い、正当な利用者のみにデバッグ機能を利用させることもできる。以下、利用者の認証について説明する。
Prior to using the debug function, the
図7はプローブ30の利用者認証の処理フローの一例を示す模式図である。以下、利用者のうち、プログラマを例に挙げて、図中の各処理を#1~#6として説明する。保守運用者などの他の利用者の認証も同様である。
FIG. 7 is a schematic diagram showing an example of the processing flow of user authentication of the
#1(デバッグ操作):プログラマは、デバッグ操作環境21にデバッグ操作指示を行う。
# 1 (Debug operation): The programmer gives a debug operation instruction to the
#2(プローブ認証状態確認):デバッグ操作環境21は、プローブ30に対してデバッグ操作が可能であるか(利用者認証が完了しているか)を問い合わせ、認証実施前の状態である旨を得てプログラマに示す。
# 2 (Probe authentication status confirmation): The
#3(利用者認証情報の入力):プログラマは、個人認証情報をデバッグ操作環境21に入力する。個人認証情報は、例えば、PIN(personal identification number)等の情報を用いることができるが、これに限定されるものではなく、指紋、掌紋等の生体情報や、セキュリティトークンが生成した認証情報などの所有物情報でもよい。
# 3 (input of user authentication information): The programmer inputs personal authentication information into the
#4(利用者認証情報の送信):デバッグ操作環境21は、プローブ30に対して個人認証情報を送信する。プローブ30は、内部のセキュアコンポーネント40に個人認証情報を送信する。
# 4 (Transmission of user authentication information): The
#5(利用者認証情報の照合):セキュアコンポーネント40は、受信した個人認証情報を、自身が保持する個人認証情報と照合する。
# 5 (Verification of user authentication information): The
#6(認証結果の送信):セキュアコンポーネント40は、プローブ30を介して認証結果を組み込み機器開発PC20に返送する。このとき、認証に成功している場合は、プローブ30の機能をアンロックし、デバッグ機能を利用できるようにする。認証に成功しなかった場合は、プローブ30の機能をアンロックしたままとし、デバッグ機能を利用できないようにする。
# 6 (Transmission of authentication result): The
上述の例では、プローブ30側で利用者認証を行う構成であるが、以下にように、デバイス50側で利用者認証を行って、デバッグ機能のロック、アンロックを行ってもよい。
In the above example, the user authentication is performed on the
図8はデバイス50の利用者認証の処理フローの一例を示す模式図である。以下、図中の各処理を#1~#6として説明する。
FIG. 8 is a schematic diagram showing an example of the processing flow of user authentication of the
#1(デバッグ操作):プログラマは、デバッグ操作環境21にデバッグ操作指示を行う。
# 1 (Debug operation): The programmer gives a debug operation instruction to the
#2(プローブ認証状態確認):デバッグ操作環境21は、プローブ30経由でデバイス50に対してデバッグ操作が可能であるか(利用者認証が完了しているか)を問い合わせ、認証実施前の状態である旨を得てプログラマに示す。
# 2 (Probe authentication status confirmation): The
#3(利用者認証情報の入力):プログラマは、事前に設定済みの個人認証情報をデバッグ操作環境21に入力する。
# 3 (input of user authentication information): The programmer inputs preset personal authentication information into the
#4(利用者認証情報の送信):デバッグ操作環境21は、プローブ30経由でデバイス50に対して個人認証情報を送信する。デバイス50は、内部のセキュアコンポーネント70に個人認証情報を送信する。
# 4 (Transmission of user authentication information): The
#5(利用者認証情報の照合):セキュアコンポーネント70は、受信した個人認証情報を、自身が保持する個人認証情報と照合する。
# 5 (Verification of user authentication information): The
#6(認証結果の送信):セキュアコンポーネント70は、プローブ30を介して認証結果を組み込み機器開発PC20に返送する。このとき、認証に成功している場合は、デバイス50の機能をアンロックし、デバッグ機能を利用できるようにする。認証に成功しなかった場合は、デバイス50の機能をアンロックしたままとし、デバッグ機能を利用できないようにする。
# 6 (Transmission of authentication result): The
上述のように、セキュアコンポーネント70は、個人認証情報(利用者認証情報)を取得する利用者認証機能73(取得部)と、取得した個人認証情報に基づいて個人認証を行う利用者認証機能73(利用者認証部)とを備え、利用者認証機能73で個人認証が成功した場合、デバッグ信号の授受を可能にする。
As described above, the
また、セキュアコンポーネント40は、個人認証情報(利用者認証情報)を取得する利用者認証機能42(取得部)と、取得した個人認証情報に基づいて個人認証を行う利用者認証機能42(利用者認証部)とを備え、利用者認証機能42で個人認証が成功した場合、デバッグ信号の授受を可能にする。
In addition, the
上述の構成により、プローブ30とデバイス50、及び利用者の三者を、セキュアコンポーネント40、70により適切に認証することで、セキュリティとしては堅牢な、セキュアなデバッグ環境を実現することができる。一方で、認証許可リスト等によって紐づけされていないデバイスに対してはデバッグを実施できないなど、組み込み機器開発環境としては柔軟性に欠く場合がある。以下では、セキュアコンポーネントが外部サーバと独立して開設可能な秘匿通信路経由でセキュアコンポーネント内部の秘匿情報を更新することによって、柔軟性を付与する例について説明する。
With the above configuration, a secure debugging environment that is robust in terms of security can be realized by appropriately authenticating the
図9は秘匿通信路経由のプローブ側のデバッグ機能操作の処理フローの一例を示す模式図である。図9の例では、デバッグ環境管理サーバ10とセキュアコンポーネント40との間で鍵情報を共有した上で、両者でTLS(Transport Layer Security)等の秘匿通信路を開設し、開設した秘匿通信路を経由してデバッグ環境管理サーバ10がセキュアコンポーネント40内部の秘匿情報を更新する。以下、図中の各処理を#1~#2として説明する。
FIG. 9 is a schematic diagram showing an example of a processing flow of the debug function operation on the probe side via the secret communication path. In the example of FIG. 9, after sharing the key information between the debug
#1(秘匿通信路開設):デバッグ環境管理サーバ10は、セキュアコンポーネント40が持つ秘匿通信機能41と通信し、両者が共有する秘匿通信路鍵を用いて秘匿通信路を開設する。
# 1 (Open secret communication path): The debug
#2(セキュアコンポーネントの情報更新):デバッグ環境管理サーバ10は、開設した秘匿通信路経由でセキュアコンポーネント40内の情報(例えば、秘匿情報)を更新する。
# 2 (Update of secure component information): The debug
更新対象とする情報によって、プローブ30の機能の有効・無効、あるいはデバイスとの組み合わせを変化させることができる。例えば、個人認証情報を更新対象とする場合、プローブ30を使用することができる個人を変更することができる。この場合には、プローブ30の認証に使用可能な認証情報種別(PIN、生体認証、所有者認証など)を変更する。
Depending on the information to be updated, the function of the
認証許可リスト45を更新対象とする場合、プローブ30でデバッグ可能なデバイスを変更することができる。また、プローブ側秘密鍵、プローブ側公開鍵と証明書を更新対象とすると、プローブ側の鍵が陳腐化又は漏洩した際の鍵更新を行うことができる。これにより、プローブ30内の鍵を失効させ、プローブ30のデバッグ機能を無効化するとともに、逆に有効化することができる。
When the
上述の例では、組み込み機器開発PC20を経由してプローブ30とデバッグ環境管理サーバ10とを接続しているが、プローブ30やセキュアコンポーネント40が自ら通信可能な機能を有している場合(例えば、IPアドレスが付与されている場合など)、独立して通信を行ってもよい。また、セキュアコンポーネント40内の情報タイミングは、適宜設定することができ、例えば、利用者が必要に応じて更新処理の開始を要求してもよく、あるいは所要のタイミングで自動更新を行ってもよい。
In the above example, the
上述の例では、デバッグ機能操作をプローブ30に対して実行する構成であるが、以下のように、デバイス50に対して実行してもよい。
In the above example, the debug function operation is executed on the
図10は秘匿通信路経由のデバイス側のデバッグ機能操作の処理フローの一例を示す模式図である。図10の例では、デバッグ環境管理サーバ10とデバイス50側のセキュアコンポーネント70との間で鍵情報を共有した上で、両者でTLS等の秘匿通信路を開設し、開設した秘匿通信路を経由してデバッグ環境管理サーバ10がセキュアコンポーネント70内部の秘匿情報を更新する。以下、図中の各処理を#1~#2として説明する。
FIG. 10 is a schematic diagram showing an example of the processing flow of the debug function operation on the device side via the secret communication path. In the example of FIG. 10, after sharing the key information between the debug
#1(秘匿通信路開設):デバッグ環境管理サーバ10は、セキュアコンポーネント70が持つ秘匿通信機能74と通信し、両者が共有する秘匿通信路鍵を用いて秘匿通信路を開設する。
# 1 (Open secret communication path): The debug
#2(セキュアコンポーネントの情報更新):デバッグ環境管理サーバ10は、開設した秘匿通信路経由でセキュアコンポーネント70内の情報(例えば、秘匿情報)を更新する。
# 2 (Update of secure component information): The debug
更新対象とする情報によって、デバイス50側のデバッグ機能を変更することができる。例えば、個人認証情報を更新対象とする場合、デバイス50をデバッグできる個人を変更することができる。この場合には、デバイス50の認証に使用可能な認証情報種別(PIN、生体認証、所有者認証など)を変更する。
The debug function on the
認証許可リスト75を更新対象とする場合、デバイス50をデバッグ可能なプローブを変更することができる。また、デバイス側秘密鍵、デバイス側公開鍵と証明書を更新対象とすると、デバイス50側の鍵が陳腐化又は漏洩した際の鍵更新を行うことができる。これにより、デバイス50内の鍵を失効させ、デバイス50のデバッグ機能を無効化するとともに、逆に有効化することができる。
When the
上述のように、セキュアコンポーネント70は、セキュアコンポーネント40との相互認証に関する情報を含む秘匿情報を記憶するセキュアコンポーネント70の内部(記憶部)と、デバッグ環境管理サーバ10(外部装置)との間で秘匿通信路を開設する秘匿通信機能74(開設部)とを備え、秘匿通信機能74が開設した秘匿通信路を介して、セキュアコンポーネント70の内部に記憶した秘匿情報を更新可能とする。
As described above, the
また、セキュアコンポーネント40は、セキュアコンポーネント70との相互認証に関する情報を含む秘匿情報を記憶するセキュアコンポーネント40の内部(記憶部)と、デバッグ環境管理サーバ10(外部装置)との間で秘匿通信路を開設する秘匿通信機能41(開設部)とを備え、秘匿通信機能41が開設した秘匿通信路を介して、セキュアコンポーネント40の内部に記憶した秘匿情報を更新可能とする。
Further, the
このように、デバイス50に搭載されたセキュアコンポーネント70とプローブ30に搭載されたセキュアコンポーネント40それぞれのデバッグ機能や相互認証鍵等の内部状態を、当該セキュアコンポーネント40、70が有する独立した秘匿通信路経由で変更できるので、デバイス50を強固に保護するため、デバイス50のデバッグ機能を完全に無効化すること、あるいは、デバイス50とプローブ30の正当な組み合わせを動的に変更することができ、プローブ30を有効活用することができる。
In this way, the
セキュアコンポーネント40、70は、セキュアエレメント、トラステッド・プラットフォーム・モジュール(TPM)又はトラステッド実行環境のいずれかにより構成してもよい。
デバッグに関連する情報(例えば、相互認証に必要な鍵など)をセキュアコンポーネントに格納することにより、デバイス50やプローブ30の解析による鍵漏洩を利用した第三者によるデバッグ機能の悪用を防止できる。また、鍵の個別化を行うことで、デバイス50やプローブ30の危殆化に対応できる。また、耐タンパ性を有するセキュアエレメントを使用すれば、市場出荷後も長期に亘ってデバッグ機能を脆弱性にせず、運用保守目的で有効活用できる。
By storing information related to debugging (for example, a key required for mutual authentication) in a secure component, it is possible to prevent misuse of the debugging function by a third party using key leakage by analysis of the
(第2実施形態)
図11は第2実施形態のデバッグシステムの構成の一例を示す模式図である。第1実施形態では、プローブ30と組み込み機器開発PC20とは別々の装置(機器)であったが、この構成に限定されるものではない。第2実施形態では、組み込み機器開発PC20がプローブ30の機能を内蔵し、組み込み機器開発PC20がプローブとして機能する構成でもよい。
(Second Embodiment)
FIG. 11 is a schematic diagram showing an example of the configuration of the debug system of the second embodiment. In the first embodiment, the
図11に示すように、組み込み機器開発PC20は、デバッグ操作環境21、PC側デバッガ22、デバイス50とのインタフェース機能を有するデバッガ-デバイスI/F25、セキュアコンポーネント40を備える。図1に例示した組み込み機器開発PC20との相違は、セキュアコンポーネント40及びデバッガ-デバイスI/F25を具備する点、及びデバッグプローブI/F23を具備しない点である。デバッグ操作環境21、PC側デバッガ22、及びセキュアコンポーネント40の機能や処理は第1実施形態と同様であるので説明は省略する。
As shown in FIG. 11, the embedded
また、デバイス50は、デバッグI/F51に代えて、PC-CPU/SoCデバッグI/F52を備える点以外は、第1実施形態と同様である。組み込み機器開発PC20とデバイス50とは、USB等の汎用ポートを介してアクセスすることができる。
Further, the
(第3実施形態)
図12は第3実施形態のデバッグシステムの構成の一例を示す模式図である。第1実施形態では、デバイス50内のデバッグ対象CPU/SoC60とセキュアコンポーネント70とは、別の半導体チップとして実装される構成であったが、これに限定されるものではない。第3実施形態では、デバッグ対象CPU/SoC60内にセキュアコンポーネント70を内蔵する構成を示す。デバッグ対象CPU/SoC60内部にセキュアコンポーネント70が存在する場合、両者は物理的に一体となっていることから、両者の通信を暗号化する必要性は低くなり得る。従って、CPU/SoC内デバッグ機能62とセキュアコンポーネント70との間の通信を平文で実施することも可能である。この場合、デバッグ操作時に、CPU/SoC内デバッグ機能62とセキュアコンポーネント70との間の暗号化処理が不要となり、処理速度を高速化することができる。以下、プローブ30とデバイス50との間の暗号通信について説明する。
(Third Embodiment)
FIG. 12 is a schematic diagram showing an example of the configuration of the debug system of the third embodiment. In the first embodiment, the debug target CPU / SoC60 and the
図13は第3実施形態の場合のプローブ30とデバイス50間の暗号通信の処理フローの一例を示す模式図である。以下、図中の各処理を#1~#14として説明する。
FIG. 13 is a schematic diagram showing an example of a processing flow of encrypted communication between the
#1(デバッグ操作):プログラマは、デバッグ操作環境21にデバッグ操作指示を行う。
# 1 (Debug operation): The programmer gives a debug operation instruction to the
#2(プローブへ操作指示を送信):デバッグ操作環境21は、プローブ30に対して操作指示を送信する。
# 2 (Send operation instruction to probe): The
#3(セキュアコンポーネントへ操作指示を出力):プローブ30は、受信した操作指示をセキュアコンポーネント40に出力する。
# 3 (Output operation instruction to the secure component): The
#4(操作指示の暗号化):セキュアコンポーネント40は、自身のプローブセッション鍵を用いて、取得した操作指示を暗号化する。
# 4 (encryption of operation instruction): The
#5(暗号化操作指示の送信):プローブ30は、デバッグI/F32を介して暗号化された操作指示をデバイス50に送信する。デバイス50は、受信した暗号化操作指示をセキュアコンポーネント70に送信する。
# 5 (Transmission of encryption operation instruction): The
#6(デバイス側セキュアコンポーネントによる復号):セキュアコンポーネント70は、受信した暗号化操作指示を、自身が保持するプローブセッション鍵で復号する。
# 6 (Decryption by the device-side secure component): The
#7(デバッグ対象プログラムを操作):セキュアコンポーネント70は、復号した操作指示をCPU/SoC内デバッグ機能62経由でデバッグ対象CPU/SoC60内のCPU/SoCに送り、CPU/SoCを操作する。これにより、デバッグ対象プログラム61を操作するか、情報取得を行うことができる。
# 7 (Operate the debug target program): The
#8(指示結果を返送):セキュアコンポーネント70は、CPU/SoC内デバッグ機能62経由で前述の#7での処理の指示結果を受け取る。
# 8 (returns the instruction result): The
#9(指示結果を暗号化):セキュアコンポーネント70は、受け取った指示結果を、プローブセッション鍵で暗号化する。
# 9 (encrypt the instruction result): The
#10(プローブへ指示結果を返送):デバイス50は、セキュアコンポーネント70から暗号化した指示結果を取得し、プローブ30へ返送する。
# 10 (Returning the instruction result to the probe): The
#11(セキュアコンポーネントへ指示結果を返送):プローブ30は、デバイス50から受け取った指示結果をセキュアコンポーネント40へ送信する。
# 11 (Returning the instruction result to the secure component): The
#12(操作指示の復号):セキュアコンポーネント40は、受け取った指示結果をプローブセッション鍵で復号する。
# 12 (Decryption of operation instruction): The
#13(組み込み機器開発PCへ指示結果を返送):プローブ30は、セキュアコンポーネント40から受け取った指示結果を、組み込み機器開発PC20へ返送する。
# 13 (Returning the instruction result to the embedded device development PC): The
#14(指示結果を表示):組み込み機器開発PC20は、プローブ30から受け取った指示結果をデバッグ操作環境21に反映し、プログラマに見せる。
# 14 (Display instruction result): The embedded
なお、CPU/SoC内デバッグ機能62とセキュアコンポーネント70との間の通信を暗号化で保護することも可能であり、暗号化によって、例えば、サイドチャネル攻撃を防止できる。
It is also possible to protect the communication between the
(第4実施形態)
前述の各実施形態では、プローブ30又は組み込み機器開発PC20とデバイス50との間の暗号通信における暗号化・復号をセキュアコンポーネント40、70が実施する構成であるが、デバッグ環境上ではリアルタイム性が要求されることが多い。セキュアコンポーネント40、70における処理能力にもよるが、セキュアコンポーネント40、70による暗号化・復号がデバッグ作業の時間的なボトルネックになる可能性がある。第4実施形態は、セキュアコンポーネント40、70は相互認証のみ行い、合意したプローブセッション鍵をプローブ30又は組み込み機器開発PC20とデバッグ対象CPU/SoC60それぞれに外部出力した上で、両者で直接暗号化・復号を行う構成を示す。
(Fourth Embodiment)
In each of the above-described embodiments, the
図14は第4実施形態の場合のセキュアコンポーネント間の相互認証の処理フローの一例を示す模式図である。以下、図中の各処理を#1~#9として説明する。なお、ここでは、第1実施形態のデバッグシステムを用いて説明する。 FIG. 14 is a schematic diagram showing an example of a processing flow of mutual authentication between secure components in the case of the fourth embodiment. Hereinafter, each process in the figure will be described as # 1 to # 9. Here, the debugging system of the first embodiment will be used for description.
#1(プローブ認証情報とプローブ側公開鍵と証明書の送付):プローブ側のセキュアコンポーネント40は、自身が保持するプローブ側秘密鍵を用いて認証情報を生成し、プローブ側公開鍵と証明書とともに生成した認証情報をデバイス側のセキュアコンポーネント70に送付する。ここで、認証情報は、認証相手(この場合、プローブ側のセキュアコンポーネント40)が秘密鍵を保持していることを確認できる内容であればよく、例えば、プローブID:Probe-0001をプローブ側秘密鍵で暗号化したものなどを用いることができる。また、後述のプローブセッション鍵生成のため、認証情報に乱数要素を含めてもよい。
# 1 (Sending probe authentication information and probe side public key and certificate): The probe side
#2(公開鍵と証明書の検証):デバイス側のセキュアコンポーネント70は、受信したプローブ側公開鍵と証明書の検証を行う。具体的には、セキュアコンポーネント70は、自身が保持するCA公開鍵を用いて、プローブ側証明書内の公開鍵署名を検証する。ここで検証に失敗した場合、不正なプローブ側公開鍵及び証明書とみなして処理を終了する。検証に成功した場合、プローブ側公開鍵及び証明書を送信したセキュアコンポーネント40は、信頼できるものとして処理を進める。
# 2 (Public key and certificate verification): The device-side
#3(認証許可リストの確認):セキュアコンポーネント70は、プローブ側証明書に格納されているプローブIDが、自身が保持する認証許可リスト75に指定されているかを確認する。当該プローブIDが認証許可リスト75に存在しない場合、無許可のプローブとみなし、処理を終了する。
# 3 (Confirmation of authentication permission list): The
#4(プローブ認証情報の検証):セキュアコンポーネント70は、セキュアコンポーネント40から受信した認証情報を、プローブ側公開鍵を用いて復号し、所定の情報(ここでは、証明書に指定されているプローブID)であることを検証する。検証に失敗した場合はここで処理を終了する。
# 4 (Verification of probe authentication information): The
#5(デバイス認証情報とデバイス側公開鍵と証明書の送付):デバイス側のセキュアコンポーネント70は、自身が保持するデバイス側秘密鍵を用いて認証情報を生成し、デバイス側公開鍵と証明書とともに生成した認証情報をプローブ側のセキュアコンポーネント40に送付する。ここで、認証情報は、認証相手(この場合、デバイス側のセキュアコンポーネント70)が秘密鍵を保持していることを確認できる内容であればよく、例えば、デバイスID:Device-0001をデバイス側秘密鍵で暗号化したものなどを用いることができる。また、後述のプローブセッション鍵生成のため、認証情報に乱数要素を含めてもよい。
# 5 (Sending device authentication information and device side public key and certificate): The device side
#6(公開鍵と証明書の検証):プローブ側のセキュアコンポーネント40は、受信したデバイス側公開鍵と証明書の検証を行う。具体的には、セキュアコンポーネント40は、自身が保持するCA公開鍵を用いて、デバイス側証明書内の公開鍵署名を検証する。ここで検証に失敗した場合、不正なデバイス側公開鍵及び証明書とみなして処理を終了する。検証に成功した場合、デバイス側公開鍵及び証明書を送信したセキュアコンポーネント70は、信頼できるものとして処理を進める。
# 6 (Public key and certificate verification): The probe-side
#7(認証許可リストの確認):セキュアコンポーネント40は、デバイス側証明書に格納されているデバイスIDが、自身が保持する認証許可リスト45に指定されているかを確認する。当該デバイスIDが認証許可リスト45に存在しない場合、無許可のプローブとみなし、処理を終了する。
# 7 (Confirmation of authentication permission list): The
#8(デバイス認証情報の検証):セキュアコンポーネント40は、セキュアコンポーネント70から受信した認証情報を、デバイス側公開鍵を用いて復号し、所定の情報(ここでは、証明書に指定されているデバイスID)であることを検証する。検証に失敗した場合はここで処理を終了する。
# 8 (Verification of device authentication information): The
#9(プローブセッション鍵の生成):セキュアコンポーネント40及びセキュアコンポーネント70は、授受した乱数要素を元に、各々同一のプローブセッション鍵を生成し、生成したプローブセッション鍵をプローブ30及びデバッグ対象CPU/SoC60に出力する。
# 9 (Generation of probe session key): The
セキュアコンポーネント40、70それぞれが生成したプローブセッション鍵を、プローブ30及びデバッグ対象CPU/SoC60などに外部出力することにより、プローブ30とデバッグ対象CPU/SoC60とが直接暗号化通信を行うことができる。これにより、暗号化による保護とデバッグ環境のパフォーマンス確保をバランスよく両立することができる。なお、セキュアコンポーネント40及びプローブ30を纏めてプローブ側(機器側)と称し、セキュアコンポーネント70及びデバッグ対象CPU/SoC60を纏めてデバイス側と称する。この場合、機器側におけるデバッグ信号の送受信の主体は、セキュアコンポーネント40又はプローブ30のいずれでもよい。また、デバイス側におけるデバッグ信号の送受信の主体は、セキュアコンポーネント70又はデバッグ対象CPU/SoC60のいずれでもよい。
By externally outputting the probe session keys generated by the
図15は第4実施形態のプローブ30とデバッグ対象CPU/SoC60との間の暗号通信の処理フローの一例を示す模式図である。以下、図中の各処理を#1~#14として説明する。
FIG. 15 is a schematic diagram showing an example of a processing flow of encrypted communication between the
#1(デバッグ操作):プログラマは、デバッグ操作環境21にデバッグ操作指示を行う。
# 1 (Debug operation): The programmer gives a debug operation instruction to the
#2(プローブへ操作指示を送信):デバッグ操作環境21は、プローブ30に対して操作指示を送信する。
# 2 (Send operation instruction to probe): The
#3(デバイスへ操作指示を出力):プローブ30は、受信した操作指示を暗号化機能33に出力する。
# 3 (output operation instruction to device): The
#4(操作指示の暗号化):暗号化機能33は、プローブセッション鍵を用いて、取得した操作指示を暗号化する。ここで、プロセッション鍵は、図14に例示した処理でセキュアコンポーネント40により生成されたものである。
# 4 (encryption of operation instruction): The
#5(暗号化操作指示の送信):プローブ30は、デバッグI/F32を介して暗号化された操作指示をデバイス50に送信する。デバイス50は、受信した暗号化操作指示をデバッグ対象CPU/SoC60のCPU/SoC内デバッグ機能62に送信する。
# 5 (Transmission of encryption operation instruction): The
#6(デバイス側セキュアコンポーネントによる復号):CPU/SoC内デバッグ機能62は、受信した暗号化操作指示を、自身が保持するプローブセッション鍵で復号する。ここで、プロセッション鍵は、図14に例示した処理でセキュアコンポーネント70により生成されたものである。
# 6 (Decryption by the secure component on the device side): The
#7(デバッグ対象プログラムを操作):CPU/SoC内デバッグ機能62は、指示された内容でデバッグ対象CPU/SoC60を操作し、デバッグ対象プログラム61を操作するか、情報取得を行う。
# 7 (Operate the debug target program): The
#8(指示結果を受信):CPU/SoC内デバッグ機能62は、前述の#7の処理の指示結果を受け取る。
# 8 (Receive instruction result): The
#9(暗号化):CPU/SoC内デバッグ機能62は、受信した指示結果を、プロセッション鍵で暗号化する。
# 9 (encryption): The CPU /
#10(プローブへ指示結果を返送):CPU/SoC内デバッグ機能62は、暗号化した指示結果をプローブ30へ返送する。
# 10 (Returns the instruction result to the probe): The CPU /
#11(暗号化機能へ転送):プローブ30は、デバイス50から受け取った指示結果を暗号化機能33へ転送する。
# 11 (Transfer to encryption function): The
#12(操作指示の復号):暗号化機能33は、受け取った指示結果をプローブセッション鍵で復号する。
# 12 (Decryption of operation instruction): The
#13(組み込み機器開発PCへ指示結果を返送):プローブ30は、復号した指示結果を、組み込み機器開発PC20へ返送する。
# 13 (Returning the instruction result to the embedded device development PC): The
#14(指示結果を表示):組み込み機器開発PC20は、プローブ30から受け取った指示結果をデバッグ操作環境21に反映し、プログラマに見せる。
# 14 (Display instruction result): The embedded
上述のように、デバイス50は、暗号化機能63(デバイス暗号化部、デバイス復号部)を備え、セキュアコンポーネント70は、プローブ30とデバイス50間のプローブセッション鍵(セッション鍵)を生成する相互認証機能72(鍵生成部)と、相互認証機能72で相互認証が成功した場合、生成したプローブセッション鍵をCPU/SoC内デバッグ機能62(デバイス50側)に提供する相互認証機能72(提供部)とを備え、暗号化機能63は、当該プローブセッション鍵を用いて、プローブ30に対して送出するデバッグ信号を暗号化し、暗号化機能63は、当該プローブセッション鍵を用いて、プローブ30から取得する、暗号化されたデバッグ信号を復号する。
As described above, the
また、プローブ30は、暗号化機能33(デバイス暗号化部、デバイス復号部)を備え、セキュアコンポーネント40は、プローブ30とデバイス50間のプローブセッション鍵(セッション鍵)を生成する相互認証機能44(鍵生成部)と、相互認証機能44で相互認証が成功した場合、生成したプローブセッション鍵をプローブ30側に提供する相互認証機能44(提供部)とを備え、暗号化機能33は、当該プローブセッション鍵を用いて、デバイス50に対して送出するデバッグ信号を暗号化し、暗号化機能33は、当該プローブセッション鍵を用いて、デバイス50から取得する、暗号化されたデバッグ信号を復号する。
Further, the
このように、デバイス50とプローブ30の相互認証後、セキュアコンポーネント40、70がそれぞれセッション鍵をプローブ30、デバイス50に提供し、両者の暗号化通信を支援することにより、セキュアコンポーネント40、70をデバッグの時間的ボトルネックにせずに、セキュリティを確保することができる。
In this way, after mutual authentication between the
上述の例では、プローブ30とデバイス50の両方において、セキュアコンポーネントからプローブセッション鍵の外部出力を行っているが、プローブ30とデバイス50のいずれか一方のみにおいて外部出力を実施してもよい。また、第1実施形態から第4実施形態の各例は、組み合わせて実施してもよい。例えば、プローブ機能を内蔵する組み込み機器開発PC20から、デバッグ対象CPU/SoC60内にセキュアコンポーネント70を内蔵するデバイス50をデバッグすることもできる。
In the above example, the external output of the probe session key is performed from the secure component in both the
本実施の形態のデバイスは、デバッグ対象を有するデバイスであって、前記デバッグ対象をデバッグするためのデバッグ機器に備えられた機器側セキュアコンポーネントと相互認証を行う認証部を有するデバイス側セキュアコンポーネントを備え、前記デバイス側セキュアコンポーネントは、前記認証部で相互認証が成功した場合、前記機器側セキュアコンポーネントとの間でデバッグ信号の授受を行う。 The device of the present embodiment is a device having a debug target, and includes a device-side secure component having a device-side secure component provided in the debug device for debugging the debug target and a device-side secure component having an authentication unit for mutual authentication. When the mutual authentication is successful in the authentication unit, the device-side secure component sends and receives a debug signal to and from the device-side secure component.
本実施の形態のデバイスにおいて、前記デバイス側セキュアコンポーネントは、暗号化部と、復号部とを備え、前記暗号化部は、前記認証部で相互認証が成功した場合、前記機器側セキュアコンポーネントに対して送出するデバッグ信号を暗号化し、前記復号部は、前記認証部で相互認証が成功した場合、前記機器側セキュアコンポーネントから取得する、暗号化されたデバッグ信号を復号する。 In the device of the present embodiment, the device-side secure component includes an encryption unit and a decryption unit, and the encryption unit refers to the device-side secure component when mutual authentication is successful in the authentication unit. The decryption unit decodes the encrypted debug signal acquired from the device-side secure component when the mutual authentication is successful in the authentication unit.
本実施の形態のデバイスは、デバイス暗号化部と、デバイス復号部とを備え、前記デバイス側セキュアコンポーネントは、前記デバッグ機器とデバイス間のセッション鍵を生成する鍵生成部と、前記認証部で相互認証が成功した場合、前記鍵生成部で生成したセッション鍵をデバイス側に提供する提供部とを備え、前記デバイス暗号化部は、前記セッション鍵を用いて、前記デバッグ機器に対して送出するデバッグ信号を暗号化し、前記デバイス復号部は、前記セッション鍵を用いて、前記デバッグ機器から取得する、暗号化されたデバッグ信号を復号する。 The device of the present embodiment includes a device encryption unit and a device decryption unit, and the device-side secure component is a mutual key generation unit that generates a session key between the debug device and the device, and the authentication unit. When the authentication is successful, the device encryption unit includes a provider unit that provides the session key generated by the key generation unit to the device side, and the device encryption unit uses the session key to send a debug to the debug device. The signal is encrypted, and the device decoding unit uses the session key to decrypt the encrypted debug signal acquired from the debug device.
本実施の形態のデバイスにおいて、前記デバイス側セキュアコンポーネントは、利用者認証情報を取得する取得部と、前記取得部で取得した利用者認証情報に基づいて利用者認証を行う利用者認証部とを備え、前記利用者認証部で利用者認証が成功した場合、デバッグ信号の授受を可能にする。 In the device of the present embodiment, the device-side secure component includes an acquisition unit that acquires user authentication information and a user authentication unit that performs user authentication based on the user authentication information acquired by the acquisition unit. In preparation for this, if the user authentication is successful in the user authentication unit, a debug signal can be sent and received.
本実施の形態のデバイスにおいて、前記デバイス側セキュアコンポーネントは、前記機器側セキュアコンポーネントとの相互認証に関する情報を含む秘匿情報を記憶する記憶部と、外部装置との間で秘匿通信路を開設する開設部とを備え、前記開設部が開設した秘匿通信路を介して、前記記憶部に記憶した秘匿情報を更新可能とする。 In the device of the present embodiment, the device-side secure component establishes a secret communication path between a storage unit that stores confidential information including information related to mutual authentication with the device-side secure component and an external device. It is provided with a unit, and the confidential information stored in the storage unit can be updated via the secret communication path established by the establishment unit.
本実施の形態のデバイスにおいて、前記デバイス側セキュアコンポーネントは、前記デバッグ対象を有する半導体チップとは別の半導体チップ内に構成され、秘匿通信路を介して前記デバッグ対象を有する半導体チップと接続される。 In the device of the present embodiment, the device-side secure component is configured in a semiconductor chip different from the semiconductor chip having the debug target, and is connected to the semiconductor chip having the debug target via a secret communication path. ..
本実施の形態のデバイスにおいて、前記デバイス側セキュアコンポーネントは、前記デバッグ対象を有する半導体チップ内に構成されている。 In the device of the present embodiment, the device-side secure component is configured in the semiconductor chip having the debug target.
本実施の形態のデバッグ機器は、デバッグ対象をデバッグするためのデバッグ機器であって、前記デバッグ対象を有するデバイスに備えられたデバイス側セキュアコンポーネントと相互認証を行う認証部を有する機器側セキュアコンポーネントを備え、前記機器側セキュアコンポーネントは、前記認証部で相互認証が成功した場合、前記デバイス側セキュアコンポーネントとの間でデバッグ信号の授受を行う。 The debug device of the present embodiment is a debug device for debugging the debug target, and is a device-side secure component having an authentication unit that performs mutual authentication with the device-side secure component provided in the device having the debug target. When the mutual authentication is successful in the authentication unit, the device-side secure component sends and receives a debug signal to and from the device-side secure component.
本実施の形態のデバッグ機器において、前記機器側セキュアコンポーネントは、暗号化部と、復号部とを備え、前記暗号化部は、前記認証部で相互認証が成功した場合、前記デバイス側セキュアコンポーネントに対して送出するデバッグ信号を暗号化し、前記復号部は、前記認証部で相互認証が成功した場合、前記デバイス側セキュアコンポーネントから取得する、暗号化されたデバッグ信号を復号する。 In the debugging device of the present embodiment, the device-side secure component includes an encryption unit and a decryption unit, and the encryption unit becomes the device-side secure component when mutual authentication is successful in the authentication unit. The debug signal transmitted to the device is encrypted, and the decryption unit decodes the encrypted debug signal acquired from the device-side secure component when the mutual authentication is successful in the authentication unit.
本実施の形態のデバッグ機器は、デバッグ機器暗号化部と、デバッグ機器復号部とを備え、前記機器側セキュアコンポーネントは、前記デバイスとデバッグ機器間のセッション鍵を生成する鍵生成部と、前記認証部で相互認証が成功した場合、前記鍵生成部で生成したセッション鍵を機器側に提供する提供部とを備え、前記デバッグ機器暗号化部は、前記セッション鍵を用いて、前記デバイスに対して送出するデバッグ信号を暗号化し、前記デバッグ機器復号部は、前記セッション鍵を用いて、前記デバイスから取得する、暗号化されたデバッグ信号を復号する。 The debug device of the present embodiment includes a debug device encryption unit and a debug device decryption unit, and the device-side secure component includes a key generation unit that generates a session key between the device and the debug device, and the authentication. When the mutual authentication is successful in the unit, the unit includes a provider unit that provides the session key generated by the key generation unit to the device side, and the debug device encryption unit uses the session key to the device. The transmitted debug signal is encrypted, and the debug device decoding unit decodes the encrypted debug signal acquired from the device by using the session key.
本実施の形態のデバッグ機器において、前記機器側セキュアコンポーネントは、利用者認証情報を取得する取得部と、前記取得部で取得した利用者認証情報に基づいて利用者認証を行う利用者認証部とを備え、前記利用者認証部で利用者認証が成功した場合、デバッグ信号の授受を可能にする。 In the debug device of the present embodiment, the device-side secure component includes an acquisition unit that acquires user authentication information and a user authentication unit that performs user authentication based on the user authentication information acquired by the acquisition unit. When the user authentication is successful in the user authentication unit, a debug signal can be sent and received.
本実施の形態のデバッグ機器において、前記機器側セキュアコンポーネントは、前記デバイス側セキュアコンポーネントとの相互認証に関する情報を含む秘匿情報を記憶する記憶部と、外部装置との間で秘匿通信路を開設する開設部とを備え、前記開設部が開設した秘匿通信路を介して、前記記憶部に記憶した秘匿情報を更新可能とする。 In the debug device of the present embodiment, the device-side secure component establishes a secret communication path between a storage unit that stores confidential information including information related to mutual authentication with the device-side secure component and an external device. It is provided with an opening unit, and the confidential information stored in the storage unit can be updated via the secret communication path established by the opening unit.
本実施の形態のセキュアコンポーネントは、デバッグ対象を有するデバイス又はデバッグ対象をデバッグするためのデバッグ機器に搭載されるセキュアコンポーネントであって、前記デバイス又は前記デバッグ機器に備えられた他のセキュアコンポーネントと相互認証を行う認証部を備え、前記認証部で相互認証が成功した場合、前記他のセキュアコンポーネントとの間でデバッグ信号の授受を行う。 The secure component of the present embodiment is a secure component mounted on a device having a debug target or a debug device for debugging the debug target, and is mutually with the device or another secure component provided on the debug device. It is provided with an authentication unit that performs authentication, and when mutual authentication is successful in the authentication unit, a debug signal is exchanged with the other secure component.
本実施の形態のセキュアコンポーネントは、暗号化部と、復号部とを備え、前記暗号化部は、前記認証部で相互認証が成功した場合、前記他のセキュアコンポーネントに対して送出するデバッグ信号を暗号化し、前記復号部は、前記認証部で相互認証が成功した場合、前記他のセキュアコンポーネントから取得する、暗号化されたデバッグ信号を復号する。 The secure component of the present embodiment includes an encryption unit and a decryption unit, and the encryption unit sends a debug signal to the other secure component when mutual authentication is successful in the authentication unit. The encryption unit decrypts the encrypted debug signal acquired from the other secure component when the mutual authentication is successful in the authentication unit.
本実施の形態のセキュアコンポーネントは、前記デバッグ機器とデバイス間のセッション鍵を生成する鍵生成部と、前記認証部で相互認証が成功した場合、前記鍵生成部で生成したセッション鍵を、前記セキュアコンポーネントを搭載する前記デバイス又は前記デバッグ機器に提供する提供部とを備える。 The secure component of the present embodiment secures the key generation unit that generates the session key between the debug device and the device, and the session key generated by the key generation unit when mutual authentication is successful in the authentication unit. It includes a providing unit provided to the device or the debugging device on which the component is mounted.
本実施の形態のセキュアコンポーネントは、利用者認証情報を取得する取得部と、前記取得部で取得した利用者認証情報に基づいて利用者認証を行う利用者認証部とを備え、前記利用者認証部で利用者認証が成功した場合、デバッグ信号の授受を可能にする。 The secure component of the present embodiment includes an acquisition unit that acquires user authentication information and a user authentication unit that performs user authentication based on the user authentication information acquired by the acquisition unit, and the user authentication If the user authentication is successful in the department, the debug signal can be sent and received.
本実施の形態のセキュアコンポーネントは、前記他のセキュアコンポーネントとの相互認証に関する情報を含む秘匿情報を記憶する記憶部と、外部装置との間で秘匿通信路を開設する開設部とを備え、前記開設部が開設した秘匿通信路を介して、前記記憶部に記憶した秘匿情報を更新可能とする。 The secure component of the present embodiment includes a storage unit that stores confidential information including information related to mutual authentication with the other secure component, and an opening unit that establishes a secret communication path between the external device and the above. The confidential information stored in the storage unit can be updated via the confidential communication path established by the establishment unit.
本実施の形態のセキュアコンポーネントは、セキュアエレメント、トラステッド・プラットフォーム・モジュール又はトラステッド実行環境のいずれかにより構成される。 The secure component of this embodiment is composed of either a secure element, a trusted platform module, or a trusted execution environment.
本実施の形態のデバッグシステムは、デバッグ対象を有するデバイスと、デバッグ対象をデバッグするためのデバッグ機器とを備えるデバッグシステムであって、前記デバイスは、前記デバッグ機器に備えられた機器側セキュアコンポーネントと相互認証を行うデバイス側認証部を有するデバイス側セキュアコンポーネントを備え、前記デバッグ機器は、前記デバイスに備えられたデバイス側セキュアコンポーネントと相互認証を行う機器側認証部を有する機器側セキュアコンポーネントを備え、前記デバイス側認証部及び機器側認証部それぞれで相互認証が成功した場合、前記デバイス側と前記機器側との間でデバッグ信号の授受を行う。 The debug system of the present embodiment is a debug system including a device having a debug target and a debug device for debugging the debug target, and the device is a device-side secure component provided in the debug device. The debug device includes a device-side secure component having a device-side authentication unit that performs mutual authentication, and the debug device includes a device-side secure component having a device-side authentication unit that performs mutual authentication with the device-side secure component provided in the device. When mutual authentication is successful in each of the device-side authentication unit and the device-side authentication unit, a debug signal is exchanged between the device side and the device side.
本実施の形態のデバッグ方法は、デバッグ対象を有するデバイスに搭載されたデバイス側セキュアコンポーネントは、前記デバッグ対象をデバッグするためのデバッグ機器に搭載された機器側セキュアコンポーネントと相互認証を行い、前記機器側セキュアコンポーネントは、前記デバイス側セキュアコンポーネントと相互認証を行い、前記相互認証それぞれが成功した場合、前記デバイス側と前記機器側との間でデバッグ信号の授受を行う。 In the debugging method of the present embodiment, the device-side secure component mounted on the device having the debug target performs mutual authentication with the device-side secure component mounted on the debug device for debugging the debug target, and the device. The side secure component performs mutual authentication with the device side secure component, and if each of the mutual authentications is successful, a debug signal is exchanged between the device side and the device side.
10 デバッグ環境管理サーバ
11 秘匿通信機能
20 組み込み機器開発PC
21 デバッグ操作環境
22 PC側デバッガ
23 デバッグプローブI/F
25 デバッガ-デバイスI/F
30 プローブ
31 PC側デバッガI/F
32 デバッグI/F
40 セキュアコンポーネント
41 秘匿通信機能
42 利用者認証機能
43 暗号化機能
44 相互認証機能
45 認証許可リスト
50 デバイス
51 デバッグI/F
52 PC-CPU/SoCデバッグI/F
60 デバッグ対象CPU/SoC
61 デバッグ対象プログラム
62 CPU/SoC内デバッグ機能
63 暗号化機能
64 鍵共有機能
70 セキュアコンポーネント
71 暗号化機能
72 相互認証機能
73 利用者認証機能
74 秘匿通信機能
75 認証許可リスト
10 Debug
21
25 Debugger-Device I / F
30
32 Debug I / F
40
52 PC-CPU / SoC Debug I / F
60 Debug target CPU / SoC
61
Claims (20)
前記デバッグ対象をデバッグするためのデバッグ機器に備えられた機器側セキュアコンポーネントと相互認証を行う認証部を有するデバイス側セキュアコンポーネントを備え、
前記デバイス側セキュアコンポーネントは、
前記認証部で相互認証が成功した場合、前記機器側セキュアコンポーネントとの間でデバッグ信号の授受を行う、
デバイス。 A device that has a debug target
It is provided with a device-side secure component provided in the debug device for debugging the debug target and a device-side secure component having an authentication unit for mutual authentication.
The device-side secure component is
If the mutual authentication is successful in the authentication unit, a debug signal is exchanged with the secure component on the device side.
device.
暗号化部と、
復号部と
を備え、
前記暗号化部は、
前記認証部で相互認証が成功した場合、前記機器側セキュアコンポーネントに対して送出するデバッグ信号を暗号化し、
前記復号部は、
前記認証部で相互認証が成功した場合、前記機器側セキュアコンポーネントから取得する、暗号化されたデバッグ信号を復号する、
請求項1に記載のデバイス。 The device-side secure component is
The encryption part and
Equipped with a decryption section
The encryption unit
If mutual authentication is successful in the authentication unit, the debug signal sent to the device-side secure component is encrypted.
The decoding unit
If the mutual authentication is successful in the authentication unit, the encrypted debug signal acquired from the device-side secure component is decrypted.
The device according to claim 1.
デバイス復号部と
を備え、
前記デバイス側セキュアコンポーネントは、
前記デバッグ機器とデバイス間のセッション鍵を生成する鍵生成部と、
前記認証部で相互認証が成功した場合、前記鍵生成部で生成したセッション鍵をデバイス側に提供する提供部と
を備え、
前記デバイス暗号化部は、
前記セッション鍵を用いて、前記デバッグ機器に対して送出するデバッグ信号を暗号化し、
前記デバイス復号部は、
前記セッション鍵を用いて、前記デバッグ機器から取得する、暗号化されたデバッグ信号を復号する、
請求項1に記載のデバイス。 Device encryption unit and
Equipped with a device decryption unit
The device-side secure component is
A key generator that generates a session key between the debug device and the device,
If the mutual authentication is successful in the authentication unit, the device is provided with a provider unit that provides the session key generated by the key generation unit to the device side.
The device encryption unit
Using the session key, the debug signal sent to the debug device is encrypted.
The device decoding unit
The session key is used to decrypt the encrypted debug signal obtained from the debug device.
The device according to claim 1.
利用者認証情報を取得する取得部と、
前記取得部で取得した利用者認証情報に基づいて利用者認証を行う利用者認証部と
を備え、
前記利用者認証部で利用者認証が成功した場合、デバッグ信号の授受を可能にする、
請求項1から請求項3のいずれか一項に記載のデバイス。 The device-side secure component is
The acquisition department that acquires user authentication information,
It is equipped with a user authentication unit that authenticates users based on the user authentication information acquired by the acquisition unit.
If the user authentication is successful in the user authentication unit, it is possible to send and receive debug signals.
The device according to any one of claims 1 to 3.
前記機器側セキュアコンポーネントとの相互認証に関する情報を含む秘匿情報を記憶する記憶部と、
外部装置との間で秘匿通信路を開設する開設部と
を備え、
前記開設部が開設した秘匿通信路を介して、前記記憶部に記憶した秘匿情報を更新可能とする、
請求項1から請求項4のいずれか一項に記載のデバイス。 The device-side secure component is
A storage unit that stores confidential information including information related to mutual authentication with the device-side secure component, and a storage unit.
It has an opening section that opens a secret communication channel with an external device.
The confidential information stored in the storage unit can be updated via the confidential communication path established by the establishment unit.
The device according to any one of claims 1 to 4.
請求項1から請求項5のいずれか一項に記載のデバイス。 The device-side secure component is configured in a semiconductor chip different from the semiconductor chip having the debug target, and is connected to the semiconductor chip having the debug target via a secret communication path.
The device according to any one of claims 1 to 5.
請求項1から請求項5のいずれか一項に記載のデバイス。 The device-side secure component is configured in the semiconductor chip having the debug target.
The device according to any one of claims 1 to 5.
前記デバッグ対象を有するデバイスに備えられたデバイス側セキュアコンポーネントと相互認証を行う認証部を有する機器側セキュアコンポーネントを備え、
前記機器側セキュアコンポーネントは、
前記認証部で相互認証が成功した場合、前記デバイス側セキュアコンポーネントとの間でデバッグ信号の授受を行う、
デバッグ機器。 A debugging device for debugging the debug target,
It is provided with a device-side secure component provided in the device having the debug target and a device-side secure component having an authentication unit that performs mutual authentication.
The device-side secure component is
If mutual authentication is successful in the authentication unit, a debug signal is exchanged with the device-side secure component.
Debugging equipment.
暗号化部と、
復号部と
を備え、
前記暗号化部は、
前記認証部で相互認証が成功した場合、前記デバイス側セキュアコンポーネントに対して送出するデバッグ信号を暗号化し、
前記復号部は、
前記認証部で相互認証が成功した場合、前記デバイス側セキュアコンポーネントから取得する、暗号化されたデバッグ信号を復号する、
請求項8に記載のデバッグ機器。 The device-side secure component is
The encryption part and
Equipped with a decryption section
The encryption unit
If mutual authentication is successful in the authentication unit, the debug signal sent to the device-side secure component is encrypted.
The decoding unit
If the mutual authentication is successful in the authentication unit, the encrypted debug signal acquired from the device-side secure component is decrypted.
The debug device according to claim 8.
デバッグ機器復号部と
を備え、
前記機器側セキュアコンポーネントは、
前記デバイスとデバッグ機器間のセッション鍵を生成する鍵生成部と、
前記認証部で相互認証が成功した場合、前記鍵生成部で生成したセッション鍵を機器側に提供する提供部と
を備え、
前記デバッグ機器暗号化部は、
前記セッション鍵を用いて、前記デバイスに対して送出するデバッグ信号を暗号化し、
前記デバッグ機器復号部は、
前記セッション鍵を用いて、前記デバイスから取得する、暗号化されたデバッグ信号を復号する、
請求項8に記載のデバッグ機器。 Debug device encryption part and
Equipped with a debug device decoding unit
The device-side secure component is
A key generator that generates a session key between the device and the debug device,
If the mutual authentication is successful in the authentication unit, the device is provided with a provider unit that provides the session key generated by the key generation unit to the device side.
The debug device encryption unit
The session key is used to encrypt the debug signal sent to the device.
The debug device decoding unit
The session key is used to decrypt the encrypted debug signal obtained from the device.
The debug device according to claim 8.
利用者認証情報を取得する取得部と、
前記取得部で取得した利用者認証情報に基づいて利用者認証を行う利用者認証部と
を備え、
前記利用者認証部で利用者認証が成功した場合、デバッグ信号の授受を可能にする、
請求項8から請求項10のいずれか一項に記載のデバッグ機器。 The device-side secure component is
The acquisition department that acquires user authentication information,
It is equipped with a user authentication unit that authenticates users based on the user authentication information acquired by the acquisition unit.
If the user authentication is successful in the user authentication unit, it is possible to send and receive debug signals.
The debug device according to any one of claims 8 to 10.
前記デバイス側セキュアコンポーネントとの相互認証に関する情報を含む秘匿情報を記憶する記憶部と、
外部装置との間で秘匿通信路を開設する開設部と
を備え、
前記開設部が開設した秘匿通信路を介して、前記記憶部に記憶した秘匿情報を更新可能とする、
請求項8から請求項11のいずれか一項に記載のデバッグ機器。 The device-side secure component is
A storage unit that stores confidential information including information related to mutual authentication with the device-side secure component, and a storage unit.
It has an opening section that opens a secret communication channel with an external device.
The confidential information stored in the storage unit can be updated via the confidential communication path established by the establishment unit.
The debug device according to any one of claims 8 to 11.
他のデバッグ機器又は他のデバイスに備えられた他のセキュアコンポーネントと相互認証を行う認証部を備え、
前記認証部で相互認証が成功した場合、前記他のセキュアコンポーネントとの間でデバッグ信号の授受を行う、
セキュアコンポーネント。 A secure component installed in a device that has a debug target or a debug device for debugging the debug target.
It has an authentication unit that performs mutual authentication with other secure components provided in other debug devices or other devices.
If mutual authentication is successful in the authentication unit, a debug signal is exchanged with the other secure component.
Secure component.
復号部と
を備え、
前記暗号化部は、
前記認証部で相互認証が成功した場合、前記他のセキュアコンポーネントに対して送出するデバッグ信号を暗号化し、
前記復号部は、
前記認証部で相互認証が成功した場合、前記他のセキュアコンポーネントから取得する、暗号化されたデバッグ信号を復号する、
請求項13に記載のセキュアコンポーネント。 The encryption part and
Equipped with a decryption section
The encryption unit
If mutual authentication is successful in the authentication unit, the debug signal sent to the other secure component is encrypted.
The decoding unit
If the mutual authentication is successful in the authentication unit, the encrypted debug signal obtained from the other secure component is decrypted.
The secure component according to claim 13.
前記認証部で相互認証が成功した場合、前記鍵生成部で生成したセッション鍵を、前記セキュアコンポーネントを搭載する前記デバイス又は前記デバッグ機器に提供する提供部と
を備える、
請求項13に記載のセキュアコンポーネント。 A key generator that generates a session key between the debug device and the device,
When the mutual authentication is successful in the authentication unit, the session key generated by the key generation unit is provided with a providing unit that provides the device equipped with the secure component or the debugging device.
The secure component according to claim 13.
前記取得部で取得した利用者認証情報に基づいて利用者認証を行う利用者認証部と
を備え、
前記利用者認証部で利用者認証が成功した場合、デバッグ信号の授受を可能にする、
請求項13から請求項15のいずれか一項に記載のセキュアコンポーネント。 The acquisition department that acquires user authentication information,
It is equipped with a user authentication unit that authenticates users based on the user authentication information acquired by the acquisition unit.
If the user authentication is successful in the user authentication unit, it is possible to send and receive debug signals.
The secure component according to any one of claims 13 to 15.
外部装置との間で秘匿通信路を開設する開設部と
を備え、
前記開設部が開設した秘匿通信路を介して、前記記憶部に記憶した秘匿情報を更新可能とする、
請求項13から請求項16のいずれか一項に記載のセキュアコンポーネント。 A storage unit that stores confidential information including information related to mutual authentication with the other secure component, and a storage unit.
It has an opening section that opens a secret communication channel with an external device.
The confidential information stored in the storage unit can be updated via the confidential communication path established by the establishment unit.
The secure component according to any one of claims 13 to 16.
請求項13から請求項17のいずれか一項に記載のセキュアコンポーネント。 Consists of either a secure element, a trusted platform module, or a trusted execution environment,
The secure component according to any one of claims 13 to 17.
前記デバイスは、
前記デバッグ機器に備えられた機器側セキュアコンポーネントと相互認証を行うデバイス側認証部を有するデバイス側セキュアコンポーネントを備え、
前記デバッグ機器は、
前記デバイスに備えられたデバイス側セキュアコンポーネントと相互認証を行う機器側認証部を有する機器側セキュアコンポーネントを備え、
前記デバイス側認証部及び機器側認証部それぞれで相互認証が成功した場合、前記デバイス側と前記機器側との間でデバッグ信号の授受を行う、
デバッグシステム。 A debugging system equipped with a device having a debugging target and a debugging device for debugging the debugging target.
The device
A device-side secure component having a device-side authentication unit that performs mutual authentication with the device-side secure component provided in the debug device is provided.
The debug device is
A device-side secure component having a device-side authentication unit that performs mutual authentication with the device-side secure component provided in the device is provided.
When mutual authentication is successful in each of the device-side authentication unit and the device-side authentication unit, a debug signal is exchanged between the device side and the device side.
Debug system.
前記デバッグ対象をデバッグするためのデバッグ機器に搭載された機器側セキュアコンポーネントと相互認証を行い、
前記機器側セキュアコンポーネントは、前記デバイス側セキュアコンポーネントと相互認証を行い、
前記相互認証それぞれが成功した場合、前記デバイス側と前記機器側との間でデバッグ信号の授受を行う、
デバッグ方法。 The device-side secure component installed in the device to be debugged is
Mutual authentication is performed with the device-side secure component installed in the debug device for debugging the debug target.
The device-side secure component performs mutual authentication with the device-side secure component, and the device-side secure component performs mutual authentication.
If each of the mutual authentications is successful, a debug signal is exchanged between the device side and the device side.
How to debug.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021002228A JP2022107344A (en) | 2021-01-08 | 2021-01-08 | Device, debugging instrument, secure component, debugging system, and debugging method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021002228A JP2022107344A (en) | 2021-01-08 | 2021-01-08 | Device, debugging instrument, secure component, debugging system, and debugging method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022107344A true JP2022107344A (en) | 2022-07-21 |
Family
ID=82457430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021002228A Pending JP2022107344A (en) | 2021-01-08 | 2021-01-08 | Device, debugging instrument, secure component, debugging system, and debugging method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022107344A (en) |
-
2021
- 2021-01-08 JP JP2021002228A patent/JP2022107344A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7155616B1 (en) | Computer network comprising network authentication facilities implemented in a disk drive | |
TWI489315B (en) | System and method for temporary secure boot of an electronic device | |
CN100447798C (en) | Method and system for using a portable computing device as a smart key device | |
JP5860815B2 (en) | System and method for enforcing computer policy | |
KR100879907B1 (en) | System and method for security of computing devices | |
US7215771B1 (en) | Secure disk drive comprising a secure drive key and a drive ID for implementing secure communication over a public network | |
JP4550050B2 (en) | Usage authentication method, usage authentication program, information processing apparatus, and recording medium | |
US8909932B2 (en) | Method and apparatus for security over multiple interfaces | |
US20050283826A1 (en) | Systems and methods for performing secure communications between an authorized computing platform and a hardware component | |
US7228430B2 (en) | Security system for preventing a personal computer from being used by an unauthorized people | |
CN109410406A (en) | A kind of authorization method, device and system | |
US8953805B2 (en) | Authentication information generating system, authentication information generating method, client apparatus, and authentication information generating program for implementing the method | |
JP2004040717A (en) | Equipment authentication system | |
JP2004213216A (en) | Information security microcomputer and its program developing device and program development system | |
CN106603487A (en) | Method for safe improvement of TLS protocol processing based on CPU space-time isolation mechanism | |
JP2001118034A (en) | Ic card using device, ic card, and storage medium | |
JP4409497B2 (en) | How to send confidential information | |
CN110740036A (en) | Anti-attack data confidentiality method based on cloud computing | |
JP2022107344A (en) | Device, debugging instrument, secure component, debugging system, and debugging method | |
CN113297563B (en) | Method and device for accessing privileged resources of system on chip and system on chip | |
JP2011199594A (en) | Initial setting method and initial setting apparatus for terminal | |
JP2002247021A (en) | Method and device for displaying access limited contents | |
CN112311752A (en) | Internet of things smart meter safety system and implementation method | |
Brauchler et al. | Multi-level access protection for future IEEE P1687. 1 IJTAG networks | |
JP2002232410A (en) | Equipment and method for communicating ciphered data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231128 |