JP2022050944A - 半導体装置及びそれを含むシステム - Google Patents

半導体装置及びそれを含むシステム Download PDF

Info

Publication number
JP2022050944A
JP2022050944A JP2020157148A JP2020157148A JP2022050944A JP 2022050944 A JP2022050944 A JP 2022050944A JP 2020157148 A JP2020157148 A JP 2020157148A JP 2020157148 A JP2020157148 A JP 2020157148A JP 2022050944 A JP2022050944 A JP 2022050944A
Authority
JP
Japan
Prior art keywords
secure
debug
key
debugger
semiconductor device
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.)
Granted
Application number
JP2020157148A
Other languages
English (en)
Other versions
JP7404205B2 (ja
Inventor
悠司 石川
Yuji Ishikawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Original Assignee
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Electronic Devices and Storage Corp filed Critical Toshiba Corp
Priority to JP2020157148A priority Critical patent/JP7404205B2/ja
Priority to US17/472,256 priority patent/US20220114077A1/en
Publication of JP2022050944A publication Critical patent/JP2022050944A/ja
Application granted granted Critical
Publication of JP7404205B2 publication Critical patent/JP7404205B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】セキュアなリモートデバッグを実現できる半導体装置、及びそれを含むシステムを提供する。【解決手段】一実施形態の半導体装置は、第1演算回路を含む第1システムと、第1システムにおけるデバッグ動作を制御する第2システムとを備える。半導体装置は、通常モードとデバッグモードとを含む。半導体装置がデバッグモードである場合、外部から受信した第1キーと、第2システムが保持する第2キーとが対応する場合に、第2システムは、第1演算回路にデバッグコマンドを送信する。【選択図】図1

Description

本発明の実施形態は、半導体装置及びそれを含むシステムに関する。
半導体装置において、プログラムのデバッグを行う技術が知られている。現在、半導体装置は、様々なシステムに組み込まれており、その例としては、車載システムや民生のシステム等が挙げられる。車載システムでは、高い信頼性及び安全性が求められるため、プログラムのデバッグを行う需要がある。また、民生のシステムにおいてもプログラムのデバッグを行う需要がある。
特許第4814319号公報
セキュアなリモートデバッグを実現できる半導体装置、及びそれを含むシステムを提供する。
本実施形態の半導体装置は、第1演算回路を含む第1システムと、第1システムにおけるデバッグ動作を制御する第2システムとを備える。半導体装置は、通常モードとデバッグモードとを含む。半導体装置がデバッグモードである場合、外部から受信した第1キーと、第2システムが保持する第2キーとが対応する場合に、第2システムは、第1演算回路にデバッグコマンドを送信する。
図1は、第1実施形態に係る半導体装置を含む車載システムのブロック図。 図2は、第1実施形態に係る半導体装置に含まれるセキュアストレージに記憶されているプログラム等を示す図。 図3は、第1実施形態に係る半導体装置の動作を示すフローチャート。 図4は、第1実施形態に係る半導体装置の動作を説明する図。 図5は、第1実施形態に係る半導体装置のデバッグ動作を示すフローチャート。 図6は、第1実施形態に係る半導体装置のデバッグ動作を説明する図。 図7は、第2実施形態に係る半導体装置に含まれるセキュアストレージに記憶されているプログラム等を示す図。 図8は、第2実施形態に係る半導体装置に含まれるセキュアストレージに記憶されているデバッグ情報テーブルの概念図。 図9は、第2実施形態に係る半導体装置のデバッグ動作を示すフローチャート。 図10は、第2実施形態に係る半導体装置のデバッグ動作を示すフローチャート。 図11は、第2実施形態に係る半導体装置のデバッグ動作を説明する図。 図12は、第3実施形態に係る半導体装置を含む車載システムのブロック図。
以下、図面を参照して実施形態について説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。
1.第1実施形態
第1実施形態に係る半導体装置について説明する。以下では、半導体装置として、画像認識等を行う車載システムに含まれるシステムLSI(以下、「Large Scale Integrated circuit:LSI」と表記する)を例に挙げて説明する。
1.1 構成
1.1.1 車載システムの全体構成
まず、本実施形態に係るLSIを含む車載システム(以下、単に「システム」と表記する)の全体構成について、図1を用いて説明する。図1は、本実施形態に係るLSIを含むシステムの全体構成を示すブロック図である。
図1に示すように、システム1は、LSI100及びホストPC(Personal Computer)200を含む。なお、図1に示すシステム1では、LSI100に入力画像を送信するカメラ、カメラからの入力画像を受信するLSI100内の画像入力インターフェース(I/F)、出力画像を送信するLSI100内の画像出力I/F、及びLSI100からの出力画像を表示するパネル等の構成要素は省略されている。LSI100は、特定のデータ処理(例えば画像認識等)、秘匿性が必要な処理(例えば暗号化等)、及びLSI100内のプログラムのデバッグ等を行う。ホストPC200は、図示せぬネットワークを介した通信によってLSI100に接続され、LSI100内のプログラムのデバッグを命令するコマンド(以下、「デバッグコマンド」と表記する)等をLSI100に送信する。
LSI100は、セキュアサブシステム110、ノンセキュアサブシステム120、ブリッジ130、及びデバッグバスブリッジ140を含む。なお、本実施形態に係るLSI100は、通常モードとデバッグモードとを含む。本明細書において、通常モードとは、アプリケーションプログラムの実行等の通常動作を行う動作モードであり、デバッグモードとは、ホストPC200等の外部デバイスからLSI100内のプログラムのデバッグを実行する動作モードである。
セキュアサブシステム110は、セキュアCPU111、セキュアストレージ115、セキュアRAM116、及びセキュアポート117を含む。セキュアCPU111、セキュアストレージ115、セキュアRAM116、及びセキュアポート117は、セキュアバスにそれぞれ接続されている。図1において、セキュアバスは実線で表されている。
セキュアサブシステム110は、例えばLSI100全体を管理するための処理、並びに暗号化処理、及び署名処理等を行う。また、セキュアサブシステム110は、例えばセキュアポート117を介してホストPC200と通信し、LSI100内のプログラムのデバッグの制御等を行う。セキュアサブシステム110は、電源投入時、ノンセキュアサブシステム120よりも先に起動する。
セキュアCPU111は、LSI100全体の動作を制御する。セキュアCPU111は、3つの機能(回路)ブロック(セキュアブートローダ112、セキュアサービス113、及びセキュアデバッガ114)を含む。なお、セキュアブートローダ112、セキュアサービス113、及びセキュアデバッガ114は、プログラム(ファームウェア)により実現される場合に限定されない。セキュアブートローダ112、セキュアサービス113、及びセキュアデバッガ114は、セキュアサブシステム110内に設けられた、セキュアCPU111とは別の専用回路で実現されてもよい。
電源投入時、セキュアCPU111は、セキュアブートローダ112の実行プログラムprog_loaderをセキュアストレージ115からセキュアRAM116にロードし、起動する。これにより、セキュアブートローダ112は動作を開始する。また、セキュアCPU111は、ノンセキュアサブシステム120内のアプリケーションCPU121を起動させる。アプリケーションCPU121の詳細は後述する。
セキュアブートローダ112は、セキュアストレージ115に記憶されたセキュアブートローダ112の実行プログラムprog_loaderに基づく演算処理を行う。
より具体的には、セキュアブートローダ112は、セキュアCPU111に、セキュアサービス113の実行プログラムprog_serviceをセキュアストレージ115からセキュアRAM116にロードさせ、アプリケーションプログラム及びライブラリをセキュアストレージ115からDRAM123にロードさせる。そして、セキュアブートローダ112は、ロードしたセキュアサービス113の実行プログラムprog_serviceをセキュアCPU111に起動させる。これにより、セキュアサービス113は動作を開始する。セキュアブートローダ112は、アプリケーションプログラム及びライブラリをアプリケーションCPU121に起動させる。また、セキュアブートローダ112は、デバッグモード時に、セキュアCPU111に、セキュアデバッガ114の実行プログラムprog_debugger及びデバッガキーをセキュアストレージ115からセキュアRAM116にロードさせる。デバッガキーの詳細は後述する。
セキュアサービス113は、セキュアストレージ115に記憶されたセキュアサービス113の実行プログラムprog_serviceに基づく演算処理を行う。
例えば、セキュアサービス113は、アプリケーションプログラムを実行しているアプリケーションCPU121からの要求に基づいて、暗号化処理、及び署名処理等を行う。
また、セキュアサービス113は、デバッグモード時に、セキュアデバッガ114の実行プログラムprog_debuggerをセキュアCPU111に起動させる。これにより、セキュアデバッガ114は動作を開始する。より具体的には、セキュアサービス113は、セキュアブートローダ112がホストPC200内の図示せぬデバッガユーザインターフェース(UI)からユーザキーを受信すると、セキュアRAM116にロードされているデバッガキーとを比較する。そして、セキュアサービス113は、ユーザキーとデバッガキーとが対応する場合、実行プログラムprog_debuggerをセキュアCPU111に起動させ、ユーザキーとデバッガキーとが対応しない場合、実行プログラムprog_debuggerをセキュアCPU111に起動させない。デバッガUIは、デバッグを行う際に、ユーザが情報の入力や受け取りを行うためのインターフェースである。ユーザキーは、セキュアポート117を介してホストPC200からアプリケーションプログラムのデバッグを実行しようとしているユーザが、実行プログラムprog_debuggerを起動するために入力するキーである。なお、本明細書において、「あるキーと別のキーとが対応する」とは、あるキーと別のキーとが一致する(完全一致)、あるキーの一部と別のキーとが一致する、またはあるキーの一部と別のキーの一部とが一致する等、あるキーと別のキーとが何らかの対応関係を有することを意味する。
セキュアデバッガ114は、セキュアストレージ115に記憶されたセキュアデバッガ114の実行プログラムprog_debuggerに基づく演算処理を行う。
例えば、セキュアデバッガ114は、デバッグモード時に、セキュアポート117を介してホストPC200からデバッグコマンドを受信すると、受信したデバッグコマンドをアプリケーションCPUに送信し、アプリケーションCPU121の動作を制御する。デバッグコマンドは、デバッグ対象のアドレス範囲等を指定する。
セキュアストレージ115は、不揮発性メモリであり、セキュアプログラム、及びアプリケーションプログラム等を記憶する。
セキュアRAM116は、揮発性メモリであり、セキュアストレージ115からロードされたセキュアプログラム、及びセキュアプログラム実行時の一時データ等を記憶する。
セキュアポート117は、ホストPC200等の外部デバイスとネットワークを介して通信する。通信に使用されるプロトコルの例としては、例えばCAN(Controller Area Network)等が挙げられる。
ノンセキュアサブシステム120は、アプリケーションCPU(以下、「App CPU」と表記する)121、ハードウェアアクセラレータ122、及びDRAM123を含む。App CPU121、ハードウェアアクセラレータ122、及びDRAM123は、メインバスにそれぞれ接続されている。図1において、メインバスは実線で表されている。ノンセキュアサブシステム120は、例えば図示せぬ画像入力I/Fを介して図示せぬカメラから入力画像を受信し、画像認識処理、及び人物検出処理等を行う。
App CPU121は、ノンセキュアサブシステム120の動作を制御する。App CPU121は、例えばセキュアストレージ115からDRAM123にロードされたアプリケーションプログラムを実行する。App CPU121は、例えばハードウェアアクセラレータ122の動作を制御する。また、App CPU121は、アプリケーションプログラムのデバッグを止めたり、デバッグ中の内部データを見るための機能ブロックとして、図示せぬデバッグユニットを含む。
ハードウェアアクセラレータ122は、例えば画像処理(特定の画像の変形、特定の画像の特徴点の抽出、及び画像認識等)を行う。ハードウェアアクセラレータ122の例としては、例えばDSP(Digital Signal Processor)等が挙げられる。
DRAM123は、揮発性メモリであり、セキュアストレージ115からロードされたアプリケーションプログラム、及びアプリケーションプログラム実行時の一時データ等を記憶する。
ブリッジ130は、セキュアバスとメインバスを接続する。ブリッジ130は、セキュアサブシステム110からノンセキュアサブシステム120へのアクセスを許可する。このため、セキュアサブシステム110は、ブリッジ130を介して、ノンセキュアサブシステム120内のプログラムの実行、ノンセキュアサブシステム120へのデータのロード、ノンセキュアサブシステム120からのデータの読み取り、及びノンセキュアサブシステム120へのデータの書き込み等を行うことができる。また、ブリッジ130は、ノンセキュアサブシステム120からセキュアサブシステム110へのアクセスを許可しない。このため、ノンセキュアサブシステム120は、セキュアサブシステム110内のプログラムの実行、セキュアサブシステム110へのデータのロード、セキュアサブシステム110からのデータの読み取り、及びセキュアサブシステム110へのデータの書き込み等を行うことができない。
デバッグバスブリッジ140は、セキュアバスとデバッグバスとを接続する。デバッグバスは、App CPU121及びメインバスに接続されている。図1において、デバッグバスは破線で表されている。デバッグバスブリッジ140は、セキュアサブシステム110からノンセキュアサブシステム120のデバッグバスへのアクセスを許可するが、ノンセキュアサブシステム120からセキュアサブシステム110へのアクセスを許可しない。デバッグモードのときに、セキュアバス、デバッグバスブリッジ140、及びデバッグバスを介して、セキュアサブシステム110からApp CPU121の動作の制御が可能となる。
ブリッジ130とデバッグバスブリッジ140には、それぞれ異なるアドレス範囲がマッピングされている。例えば、あるアドレス範囲は、ブリッジ130にマッピングされ、ブリッジ130を介したアクセスが可能であり、他のアドレス範囲は、デバッグバスブリッジ140にマッピングされ、デバッグバスブリッジ140を介したアクセスが可能である。
ホストPC200は、セキュアポート117との間でネットワークを介した通信を行う。ホストPC200は、例えばセキュアポート117にデバッグコマンド等を送信する。
1.1.2 セキュアストレージ115内のプログラム等
次に、本実施形態に係るLSI100に含まれるセキュアストレージ115に記憶されているプログラム等の詳細について、図2を用いて説明する。図2は、本実施形態に係るLSI100に含まれるセキュアストレージ115に記憶されているプログラム等の一例を示す図である。
セキュアストレージ115は、セキュアプログラム、デバッガキー、アプリケーションプログラム、及びライブラリを記憶する。
セキュアプログラムは、セキュアブートローダ112の実行プログラムprog_loader、セキュアサービス113の実行プログラムprog_service、及びセキュアデバッガ114の実行プログラムprog_debuggerを含む。セキュアCPU111は、セキュアストレージ115に記憶されたセキュアプログラムをセキュアRAM116に展開する。セキュアサブシステム110は、セキュアCPU111が、セキュアRAM116に展開されたセキュアプログラムを実行することにより、セキュアブートローダ112、セキュアサービス113、及びセキュアデバッガ114を備えるシステムとして機能する。
デバッガキーは、セキュアデバッガ114の実行プログラムprog_debuggerを起動するためのキーである。デバッガキーの例としては、例えば特定のユーザID、及びパスワード等が挙げられる。
アプリケーションプログラムは、アプリケーションタスク、スケジューラの実行プログラム、及びソフトウェアIP(Intellectual Property)を含む。スケジューラは、App CPU121内に含まれる機能ブロックであるが、図1では省略されている。なお、スケジューラは、ノンセキュアサブシステム120内に設けられた、App CPU121とは別の専用回路で実現されてもよい。スケジューラは、スケジューラの実行プログラムに基づく演算処理を行う。
アプリケーションタスクは、各種データ処理が実装されたものである。スケジューラの実行プログラムは、アプリケーションタスクの実行順序を管理するプログラムである。ソフトウェアIPは、特定のデータ処理が実装されたものである。
ライブラリは、アプリケーションプログラムに用いられる関数、及びサブルーチン等を集めたものである。
1.2 動作
次に、本実施形態に係るLSI100の動作について、図3及び図4を用いて説明する。図3は、LSI100の動作を示すフローチャートである。図4は、図3のステップS10~S15におけるLSI100の動作を説明する図である。
LSI100は、まず、電源投入時の動作(後述する図3のステップS10~S16)を行った後、通常動作(後述する図3のステップS17)、またはデバッグ動作(後述する図3のステップS18)を行う。
図3に示すように、電源投入時、セキュアCPU111は、セキュアブートローダ112の実行プログラムprog_loaderをロードする(ステップS10)。より具体的には、図4に示すように、セキュアCPU111は、セキュアストレージ115からセキュアRAM116に、セキュアブートローダ112の実行プログラムprog_loaderをロードする。そして、セキュアCPU111は、ロードしたセキュアブートローダ112の実行プログラムprog_loaderを起動する(ステップS11)。
次に、セキュアCPU111は、App CPU121を起動する(ステップS12)。
次に、セキュアブートローダ112は、セキュアCPU111に、セキュアサービス113の実行プログラムprog_service、アプリケーションプログラム、及びライブラリをロードさせる(ステップS13)。より具体的には、図4に示すように、セキュアブートローダ112は、セキュアCPU111に、セキュアサービス113の実行プログラムprog_serviceをセキュアストレージ115からセキュアRAM116にロードさせ、アプリケーションプログラム及びライブラリをセキュアストレージ115からDRAM123にロードさせる。そして、セキュアブートローダ112は、ロードしたセキュアサービス113の実行プログラムprog_serviceをセキュアCPU111に起動させ、ロードしたアプリケーションプログラム及びライブラリをApp CPU121に起動させる(ステップS14)。
次に、セキュアCPU111は、動作モードを選択する(ステップS15)。より具体的には、図4に示すように、一定期間(例えば数秒)の間に、セキュアブートローダ112が、ホストPC200からセキュアポート117を介してユーザキーを受信しなかった場合、セキュアCPU111は、通常モードを選択する。他方で、一定期間の間に、セキュアブートローダ112が、ホストPC200からセキュアポート117を介してユーザキーを受信した場合、セキュアCPU111は、デバッグモードを選択する。
通常モードが選択された場合(ステップS16、No)、LSI100は、通常動作を行う(ステップS17)。通常モード時、LSI100は、例えば図示せぬカメラからの入力画像の画像認識処理を行い、画像認識結果を暗号化して図示せぬ外部デバイスに送信する。より具体的には、まず、App CPU121は、ハードウェアアクセラレータ122を制御して、ハードウェアアクセラレータ122に、入力画像の画像認識処理を実行させる。App CPU121は、ハードウェアアクセラレータ122から画像認識結果を得る。次に、App CPU121は、DRAM123に、暗号化の要求を記述する。セキュアサービス113は、例えばポーリングを行うことによって、定期的にDRAM123に暗号化の要求が記述されているかどうかを確認する。なお、セキュアサービス113に、DRAM123に暗号化の要求が記述されているかどうかを確認させる方法は、ポーリングでなくてもよい。例えば、App CPU121が、DRAM123に暗号化の要求を記述した後、セキュアCPU111に割り込みを発行し、セキュアサービス113が、DRAM123に暗号化の要求が記述されているかどうかを確認する、という方法でもよい。App CPU121によって暗号化が要求されたことを知ると、セキュアサービス113は、画像認識結果を暗号化する。次に、セキュアサービス113は、暗号化した画像認識結果を、セキュアポート117を介して外部デバイスに送信する。
他方で、デバッグモードが選択された場合(ステップS16、Yes)、LSI100は、デバッグ動作を行う(ステップS18)。
以下、本実施形態に係るLSI100のデバッグ動作について、図5及び図6を用いて説明する。図5は、LSI100のデバッグ動作を示すフローチャートである。図6は、LSI100のデバッグ動作を説明する図である。
図5に示すように、セキュアブートローダ112は、セキュアCPU111に、セキュアデバッガ114の実行プログラムprog_debugger及びデバッガキーをロードさせる(ステップS20)。より具体的には、図6に示すように、セキュアブートローダ112は、セキュアCPU111に、セキュアデバッガ114の実行プログラムprog_debugger及びデバッガキーをセキュアストレージ115からセキュアRAM116にロードさせる。
次に、セキュアサービス113は、ユーザキーとデバッガキーとを比較(照合)する(ステップS21)。比較の結果、ユーザキーとデバッガキーとが対応する場合(ステップS21、Yes)、セキュアサービス113は、セキュアデバッガ114の実行プログラムprog_debuggerをセキュアCPU111に起動させる(ステップS22)。他方で、ユーザキーとデバッガキーとが対応しない場合(ステップS21、No)、セキュアサービス113は、セキュアデバッガ114の実行プログラムprog_debuggerをセキュアCPU111に起動させず(デバッグの実行を拒否し)、LSI100は、デバッグ動作を終了する。
次に、セキュアデバッガ114は、デバッグコマンドを受信する(ステップS23)。より具体的には、図6に示すように、セキュアデバッガ114は、ホストPC200からセキュアポート117を介してデバッグコマンドを受信する。ホストPC200からデバッグコマンドを受信すると、セキュアデバッガ114は、デバッグコマンドをApp CPU121に送信する(ステップS24)。セキュアデバッガ114からデバッグコマンドを受信すると、App CPU121は、アプリケーションプログラムのデバッグを実行する(ステップS25)。
1.3 効果
本実施形態に係るLSI100では、セキュアブートローダ112がホストPC200からデバッガキーと対応するユーザキーを受信した場合に、セキュアCPU111によってセキュアデバッガ114の実行プログラムprog_debuggerが起動され、セキュアデバッガ114がデバッグコマンドを受信可能となる。そして、セキュアデバッガ114は、受信したデバッグコマンドをApp CPU121に送信する。
この構成によれば、セキュアブートローダ112がデバッガキーと対応するユーザキーを受信しなければホストPC200からセキュアデバッガ114によるアプリケーションプログラムのデバッグを実行できない。よって、悪意のあるユーザによる、アプリケーションプログラムへのアクセス、及びアプリケーションプログラムの改変を防ぐことができるため、セキュアなリモートデバッグを実現できる。
2.第2実施形態
第2実施形態に係るLSI100について説明する。本実施形態に係るLSI100は、第1実施形態と異なり、セキュアストレージ115内に更にデバッグ情報テーブルが記憶されている。デバッグ情報テーブルの追加に伴い、セキュアブートローダ112の構成、セキュアブートローダ112の実行プログラムprog_loader、セキュアデバッガ114の構成、及びセキュアデバッガ114の実行プログラムprog_debuggerが、第1実施形態と異なる。以下では、第1実施形態と異なる点についてのみ説明する。
2.1 セキュアブートローダ112の構成
セキュアブートローダ112は、第1実施形態と同様に、セキュアストレージ115に記憶されたセキュアブートローダ112の実行プログラムprog_loaderに基づく演算処理を行う。例えば、セキュアブートローダ112は、デバッグモード時に、セキュアCPU111に、セキュアデバッガ114の実行プログラムprog_debugger、デバッガキー、及びデバッグ情報テーブルをセキュアストレージ115からセキュアRAM116にロードさせる。この動作を除いて、セキュアブートローダ112の動作は、第1実施形態と同じである。デバッグ情報テーブルの詳細は後述する。
2.2 セキュアデバッガ114の構成
セキュアデバッガ114は、第1実施形態と同様に、セキュアストレージ115に記憶されたセキュアデバッガ114の実行プログラムprog_debuggerに基づく演算処理を行う。
例えば、セキュアデバッガ114は、デバッグモード時に、セキュアポート117を介してホストPC200からデバッグコマンド及びアクセスキーを受信する。デバッグコマンド及びアクセスキーを受信すると、セキュアデバッガ114は、受信したデバッグコマンド、アクセスキー、及びデバッグ情報テーブルに基づいて、受信したデバッグコマンドをApp CPU121に送信する。これらの動作の詳細は後述する。アクセスキーは、セキュアポート117を介してホストPC200からアプリケーションプログラムのデバッグを実行しようとしているユーザが、アプリケーションプログラムにアクセスするために入力するキーである。例えば、ユーザが複数のアプリケーションプログラムのデバッグを実行する場合、ユーザは、各アプリケーションプログラムに対応する複数のアクセスキーを入力する。なお、セキュアデバッガ114が、デバッグコマンドを受信して、アクセスキーを受信していない場合があってもよい。この場合、例えば、セキュアデバッガ114がアクセスキーを受信しておらず、且つデバッグコマンドで指定されるデバッグ対象が、アクセスキーによるアクセス権限が要求されるアドレス範囲にある場合には、セキュアデバッガ114は、デバッグコマンドをApp CPU121に送信しない。他方で、セキュアデバッガ114はアクセスキーを受信していないが、デバッグコマンドで指定されるデバッグ対象が、アクセスキーによるアクセス権限が要求されるアドレス範囲にはない場合には、セキュアデバッガ114は、デバッグコマンドをApp CPU121に送信してもよい。
2.3 セキュアストレージ115内のプログラム等
本実施形態に係るLSI100に含まれるセキュアストレージ115に記憶されているプログラム等の詳細について、図7を用いて説明する。図7は、本実施形態に係るLSI100に含まれるセキュアストレージ115に記憶されているプログラム等の一例を示す図である。
セキュアストレージ115は、セキュアプログラム、デバッガキー、デバッグ情報テーブル、アプリケーションプログラム、及びライブラリを記憶する。
セキュアプログラムは、第1実施形態と同様に、セキュアブートローダ112の実行プログラムprog_loader、セキュアサービス113の実行プログラムprog_service、及びセキュアデバッガ114の実行プログラムprog_debuggerを含む。セキュアブートローダ112の実行プログラムprog_loaderは、セキュアブートローダ112の上述の機能を実現する。セキュアデバッガ114の実行プログラムprog_debuggerは、セキュアデバッガ114の上述の機能を実現する。セキュアサービス113の実行プログラムprog_service、デバッガキー、アプリケーションプログラム、及びライブラリは、第1実施形態と同じである。
デバッグ情報テーブルは、デバッグ対象のアプリケーションプログラムへのアクセスを許可するためのテーブルである。デバッグ情報テーブルの概念について、図8を用いて説明する。図8は、デバッグ情報テーブルの一例を示す概念図である。
図8に示すように、デバッグ情報テーブルは、複数(図8の例では3個)のエントリを有する。各エントリは、アプリケーションプログラム、アドレス範囲、及び許可キーを含む。アプリケーションプログラムは、アプリケーションプログラムの名称である。アドレス範囲は、対応するアプリケーションプログラムにおける、アクセスキーによるアクセス権限が要求されるアドレス範囲である。許可キーは、対応するアドレス範囲に対してアクセスを許可するキーである。
例えば、図8の例の場合、アプリケーションタスクtask001について、アクセスキーによるアクセス権限が要求されるアドレス範囲は、0x4000_000~0x4100_000であり、アクセスを許可する許可キーは、0x12345678である。アプリケーションタスクtask002について、アクセスキーによるアクセス権限が要求されるアドレス範囲は、0x4200_000~0x4300_000であり、アクセスを許可する許可キーは、0xaa55bb44である。ソフトウェアIP softIP001について、アクセスキーによるアクセス権限が要求されるアドレス範囲は、0x5000_000~0x5300_000、及び0x6000_000~0x6100_000であり、アクセスを許可する許可キーは、0x18273645である。
2.4 動作
次に、本実施形態に係るLSI100の動作について説明する。本実施形態に係るLSI100の動作は、デバッグ動作を除いて、第1実施形態と同じである。以下、本実施形態に係るLSI100のデバッグ動作について説明する。図9及び図10は、LSI100のデバッグ動作を示すフローチャートである。図11は、LSI100のデバッグ動作を説明する図である。
図9に示すように、セキュアブートローダ112は、セキュアCPU111に、セキュアデバッガ114の実行プログラムprog_debugger、デバッガキー及びデバッグ情報テーブルをロードさせる(ステップS30)。より具体的には、図11に示すように、セキュアブートローダ112は、セキュアCPU111に、セキュアデバッガ114の実行プログラムprog_debugger、デバッガキー、及びデバッグ情報テーブルをセキュアストレージ115からセキュアRAM116にロードさせる。
次に、セキュアサービス113は、ユーザキーとデバッガキーとを比較する(ステップS31)。比較の結果、ユーザキーとデバッガキーとが対応する場合(ステップS31、Yes)、セキュアサービス113は、セキュアデバッガ114の実行プログラムprog_debuggerをセキュアCPU111に起動させる(ステップS32)。他方で、ユーザキーとデバッガキーとが対応しない場合(ステップS31、No)、図10に示すように、セキュアサービス113は、実行プログラムprog_debuggerをセキュアCPU111に起動させず、LSI100は、デバッグ動作を終了する。
次に、セキュアデバッガ114は、デバッグコマンドを受信する(ステップS33)。より具体的には、図11に示すように、セキュアデバッガ114は、ホストPC200からセキュアポート117を介してデバッグコマンドを受信する。ホストPC200からデバッグコマンドを受信すると、セキュアデバッガ114は、デバッグコマンドで指定されるデバッグ対象が、アクセスキーによるアクセス権限が要求されるアドレス範囲かどうかを判断する(ステップS34)。より具体的には、例えば、セキュアデバッガ114は、デバッグ情報テーブルから、アクセスキーによるアクセス権限が要求されるアドレス範囲をOR演算し、演算結果がデバッグコマンドで指定されるデバッグ対象のアドレス範囲を含むかどうかを判断する。例えば、演算結果がデバッグコマンドで指定されるデバッグ対象のアドレス範囲を含む場合、セキュアデバッガ114は、デバッグ対象がアクセスキーによるアクセス権限が要求されるアドレス範囲であると判断する。また、演算結果がデバッグコマンドで指定されるデバッグ対象のアドレス範囲を含まない場合、セキュアデバッガ114は、デバッグ対象がアクセスキーによるアクセス権限が要求されるアドレス範囲ではないと判断する。
セキュアデバッガ114が、デバッグ対象がアクセスキーによるアクセス権限が要求されるアドレス範囲ではないと判断した場合(ステップS34、No)、図10に示すように、セキュアデバッガ114は、デバッグコマンドをApp CPU121に送信する(ステップS37)。セキュアデバッガ114からデバッグコマンドを受信すると、App CPU121は、アプリケーションプログラムのデバッグを実行する(ステップS38)。
他方で、セキュアデバッガ114が、デバッグ対象がアクセスキーによるアクセス権限が要求されるアドレス範囲であると判断した場合(ステップS34、Yes)、図10に示すように、セキュアデバッガ114は、アクセスキーを受信したかどうかを確認する(ステップS35)。より具体的には、図11に示すように、セキュアデバッガ114は、ホストPC200からセキュアポート117を介してアクセスキーを受信したかどうかを確認する。
セキュアデバッガ114がアクセスキーを受信していない場合(ステップS35、No)、セキュアデバッガ114は、デバッグコマンドをApp CPU121に送信せず(デバッグの実行を拒否し)、LSI100は、デバッグ動作を終了する。
他方で、セキュアデバッガ114がアクセスキーを受信した場合(ステップS35、Yes)、セキュアデバッガ114は、デバッグコマンドで指定されるアドレス範囲に対応するアプリケーションプログラムの許可キーと、アクセスキーとが対応するかどうかを確認する(ステップS36)。例えば、セキュアデバッガ114がホストPC200から2個以上のアクセスキーを受信した場合、セキュアデバッガ114は、各アクセスキーについて、デバッグコマンドで指定されるアドレス範囲に対応するアプリケーションプログラムの許可キーと、各アクセスキーとが対応するかどうかを確認する。
確認の結果、デバッグコマンドで指定されるアドレス範囲に対応するアプリケーションプログラムの許可キーと、アクセスキーとが対応する場合(ステップS36、Yes)、セキュアデバッガ114は、デバッグコマンドをApp CPU121に送信する(ステップS37)。セキュアデバッガ114からデバッグコマンドを受信すると、App CPU121は、アプリケーションプログラムのデバッグを実行する(ステップS38)。他方で、デバッグコマンドで指定されるアドレス範囲に対応するアプリケーションプログラムの許可キーと、アクセスキーとが対応しない場合(ステップS36、No)、セキュアデバッガ114は、デバッグコマンドをApp CPU121に送信せず(デバッグの実行を拒否し)、LSI100は、デバッグ動作を終了する。
2.5 効果
本実施形態に係るLSI100では、セキュアブートローダ112がデバッガキーと対応するユーザキーを受信した場合に、セキュアCPU111によってセキュアデバッガ114が起動され、セキュアデバッガ114がデバッグコマンドを受信可能となる。
また、本実施形態に係るLSI100では、セキュアデバッガ114がアクセスキーによるアクセス権限が要求されるアドレス範囲をデバッグ対象とするデバッグコマンドを受信した場合には、セキュアデバッガ114がアクセスキーを受信し、そのアクセスキーと、デバッグ情報テーブル内の、デバッグコマンドで指定されるアドレス範囲に対応するアプリケーションプログラムの許可キーとが対応する場合に、セキュアデバッガ114がApp CPU121にデバッグコマンドを送信可能となる。
この構成によれば、悪意のあるユーザによる、アクセス権限が要求されるアドレス範囲(秘匿したいアドレス範囲)を含むアプリケーションプログラムへのアクセス、及びアクセス権限が要求されるアドレス範囲を含むアプリケーションプログラムの改変を防ぐことができるため、セキュアなリモートデバッグを実現できる。また、アプリケーションプログラムごとに分業が敷かれている場合を想定して、アクセス権限の無いユーザが知的財産として保護されるべきソフトウェアIPを不正に読み取り・改変することを防ぐことができる。
3.第3実施形態
第3実施形態に係るLSI100について説明する。本実施形態に係るLSI100は、第1実施形態と比較し、LSI100内に更にスイッチが設けられている。以下では、第1実施形態と異なる点についてのみ説明する。
3.1 車載システムの全体構成
本実施形態に係るLSI100を含むシステムの全体構成について、図12を用いて説明する。図12は、本実施形態に係るLSIを含むシステムの全体構成を示すブロック図である。
図12に示すように、セキュアサブシステム110は、更にスイッチ118を含む。スイッチ118は、セキュアバスに接続されている。スイッチ118は、ユーザによって制御され、例えばオフに設定された場合、通常モードが選択され、オンに設定された場合、デバッグモードが選択される。スイッチ118の例としては、例えばディップスイッチ等が挙げられる。
3.2 動作
次に、本実施形態に係るLSI100の動作について説明する。本実施形態に係るLSI100の動作は、動作モードを選択する動作を除いて、第1実施形態と同じである。また、本実施形態に係るLSI100の動作を示すフローチャートは、図3及び図5と同じである。以下、本実施形態に係るLSI100が動作モードを選択する動作について説明する。
本実施形態では、セキュアCPU111は、電源投入時、スイッチ118がオン状態かオフ状態かに基づいて動作モードを選択する(図3のステップS15)。例えば、スイッチ118がオフ状態の場合、セキュアCPU111は、通常モードを選択し、通常動作を行う(図3のステップS17)。他方で、スイッチ118がオン状態の場合、セキュアCPU111は、デバッグモードを選択し、デバッグ動作を行う(図3のステップS18、及び図5のステップS20~S25)。
また、本実施形態では、セキュアCPU111は、電源オンの状態で、ユーザによってスイッチ118が切り替えられたとき、スイッチ118がオン状態かオフ状態かに基づいて動作モードを選択する。例えば、電源オンの状態で、ユーザによってスイッチ118がオフ状態からオン状態に切り替えられたとき、セキュアCPU111は、デバッグモードを選択し、デバッグ動作を行う。他方で、電源オンの状態で、ユーザによってスイッチ118がオン状態からオフ状態に切り替えられたとき、セキュアCPU111は、通常モードを選択し、通常動作を行う。
3.3 効果
本実施形態によれば、セキュアなリモートデバッグを実現できる。なお、本実施形態に係る構成を、第2実施形態に適用することもできる。
4.変形例等
上記のように、実施形態に係る半導体装置は、第1演算回路(121)を含む第1システム(120)と、第1システムにおけるデバッグ動作を制御する第2システム(110)とを備える。半導体装置は、通常モードとデバッグモードとを含む。半導体装置がデバッグモードである場合、外部から受信した第1キー(ユーザキー)と、第2システムが保持する第2キー(デバッガキー)とが対応する場合に、第2システムは、第1演算回路にデバッグコマンドを送信する。
なお、実施形態は上記説明した形態に限定されるものではなく、種々の変形が可能である。
上記では、デバッグモード時に、ユーザがデバッグコマンドを送信するたびにアクセスキーを送信する例について説明した。セキュアデバッガ114は、ユーザによってホストPC200から最後に送信されたアクセスキーを記憶しておいてもよい。この場合、ユーザは、デバッグコマンドを送信するたびにアクセスキーを送信しなくてよい。セキュアデバッガ114は、受信したデバッグコマンド、記憶しておいたアクセスキー、及びデバッグ情報テーブルに基づいて、デバッグコマンドをApp CPU121に送信することができる。
また、上記では、実施形態に係るLSIを車載システムに適用した例について説明したが、実施形態に係るLSIを民生のシステムにも適用できる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…車載システム、100…LSI、110…セキュアサブシステム、111…セキュアCPU、112…セキュアブートローダ、113…セキュアサービス、114…セキュアデバッガ、115…セキュアストレージ、116…セキュアRAM、117…セキュアポート、118…スイッチ、120…ノンセキュアサブシステム、121…アプリケーションCPU、122…ハードウェアアクセラレータ、123…DRAM、130…ブリッジ、140…デバッグバスブリッジ、200…ホストPC

Claims (9)

  1. 第1演算回路を含む第1システムと、
    前記第1システムにおけるデバッグ動作を制御する第2システムと
    を備える、半導体装置であって、
    前記半導体装置は、通常モードとデバッグモードとを含み、
    前記半導体装置が前記デバッグモードである場合、外部から受信した第1キーと、前記第2システムが保持する第2キーとが対応する場合に、前記第2システムは、前記第1演算回路にデバッグコマンドを送信する、半導体装置。
  2. 前記第2システムは、第2演算回路を含み、
    前記半導体装置が前記デバッグモードである場合、前記第1キーと、前記第2キーとが対応する場合に、前記第2演算回路は、前記第2システムを、外部から前記デバッグコマンドを受信可能な状態とする、請求項1記載の半導体装置。
  3. 前記第2システムは、外部とネットワークを介した通信を行う通信ポートを更に含み、
    前記第2システムは、前記通信ポートを介して外部から前記デバッグコマンドを受信する、請求項2記載の半導体装置。
  4. 前記デバッグコマンドで指定されるデバッグ対象が、アクセス権限が要求されるアドレス範囲ではない場合、前記第2システムは、前記第1演算回路にデバッグコマンドを送信し、
    前記デバッグコマンドで指定されるデバッグ対象が、アクセス権限が要求されるアドレス範囲である場合、前記第2システムは、外部から受信した第3キーに基づいて、前記第1演算回路にデバッグコマンドを送信する、請求項1乃至3のいずれか1項記載の半導体装置。
  5. 前記第2システムは、テーブルを更に含み、
    前記デバッグコマンドで指定されるデバッグ対象が、アクセス権限が要求されるアドレス範囲である場合、前記第3キーと、前記テーブル内の、前記デバッグコマンドで指定されるアドレス範囲に対応する第4キーとが対応する場合に、前記第2システムは、前記第1演算回路に前記デバッグコマンドを送信する、請求項4記載の半導体装置。
  6. 電源投入時、前記第1キーを受信しない場合、前記第2システムは前記通常モードを選択し、前記第1キーを受信した場合、前記第2システムは前記デバッグモードを選択する、請求項1乃至5のいずれか1項記載の半導体装置。
  7. 前記第2システムは、スイッチを更に含み、
    電源投入時、前記スイッチがオフ状態の場合、前記第2システムは前記通常モードを選択し、前記スイッチがオン状態の場合、前記第2システムは前記デバッグモードを選択する、請求項1乃至5のいずれか1項記載の半導体装置。
  8. 前記スイッチがオフ状態からオン状態に切り替えられた場合、前記第2システムは前記デバッグモードを選択し、前記スイッチがオン状態からオフ状態に切り替えられた場合、前記第2システムは前記通常モードを選択する、請求項7記載の半導体装置。
  9. 第1演算回路を含む第1システムと、
    前記第1システムにおけるデバッグ動作を制御する第2システムと
    を備える、半導体装置と、
    前記第2システムとの間でネットワークを介して通信可能なコンピュータと
    を備える、システムであって、
    前記半導体装置は、通常モードとデバッグモードとを含み、
    前記半導体装置が前記デバッグモードである場合、外部から受信した第1キーと、前記第2システムが保持する第2キーとが対応する場合に、前記第2システムは、前記第1演算回路にデバッグコマンドを送信する、システム。
JP2020157148A 2020-09-18 2020-09-18 半導体装置及びそれを含むシステム Active JP7404205B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020157148A JP7404205B2 (ja) 2020-09-18 2020-09-18 半導体装置及びそれを含むシステム
US17/472,256 US20220114077A1 (en) 2020-09-18 2021-09-10 Semiconductor device and system including semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020157148A JP7404205B2 (ja) 2020-09-18 2020-09-18 半導体装置及びそれを含むシステム

Publications (2)

Publication Number Publication Date
JP2022050944A true JP2022050944A (ja) 2022-03-31
JP7404205B2 JP7404205B2 (ja) 2023-12-25

Family

ID=80854751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020157148A Active JP7404205B2 (ja) 2020-09-18 2020-09-18 半導体装置及びそれを含むシステム

Country Status (2)

Country Link
US (1) US20220114077A1 (ja)
JP (1) JP7404205B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011022880A (ja) * 2009-07-17 2011-02-03 Sony Ericsson Mobilecommunications Japan Inc プログラム検証方法、プログラム検証装置、及び携帯端末装置
WO2012172976A1 (ja) * 2011-06-17 2012-12-20 シャープ株式会社 半導体集積装置、表示装置、および半導体集積装置のデバッグ方法
JP2015130001A (ja) * 2014-01-06 2015-07-16 凸版印刷株式会社 可搬型電子媒体、及び入出力制御方法
CN105025292A (zh) * 2015-07-06 2015-11-04 深圳Tcl数字技术有限公司 电视机、工厂调试的系统及方法
JP2017146804A (ja) * 2016-02-17 2017-08-24 株式会社キーエンス プログラマブル表示器及びこれを備えるプログラマブルシステム、プログラマブル表示器の操作方法、プログラマブル表示器操作プログラム及びコンピュータで読み取り可能な記録媒体並びに記憶した機器
JP2018128874A (ja) * 2017-02-08 2018-08-16 京セラドキュメントソリューションズ株式会社 電子機器

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592077A (en) * 1995-02-13 1997-01-07 Cirrus Logic, Inc. Circuits, systems and methods for testing ASIC and RAM memory devices
US5546562A (en) * 1995-02-28 1996-08-13 Patel; Chandresh Method and apparatus to emulate VLSI circuits within a logic simulator
US6173425B1 (en) * 1998-04-15 2001-01-09 Integrated Device Technology, Inc. Methods of testing integrated circuits to include data traversal path identification information and related status information in test data streams
US6385748B1 (en) * 1999-03-30 2002-05-07 Nec Electronics, Inc. Direct access logic testing in integrated circuits
JP2001176294A (ja) * 1999-12-17 2001-06-29 Hitachi Ltd メモリチップのテスト方法、製造方法およびテスト装置、メモリモジュールのテスト方法、製造方法およびテスト装置、ならびにコンピュータの製造方法
US6671844B1 (en) * 2000-10-02 2003-12-30 Agilent Technologies, Inc. Memory tester tests multiple DUT's per test site
US7020741B1 (en) * 2003-04-29 2006-03-28 Advanced Micro Devices, Inc. Apparatus and method for isochronous arbitration to schedule memory refresh requests
US7999383B2 (en) * 2006-07-21 2011-08-16 Bae Systems Information And Electronic Systems Integration Inc. High speed, high density, low power die interconnect system
CN103716028A (zh) * 2012-09-28 2014-04-09 中国航空工业集团公司第六三一研究所 开关切换调试/非调试模式和上下电状态的电路及方法
WO2017072664A1 (en) * 2015-10-27 2017-05-04 Marvell World Trade Ltd. System and method for establishing a trusted diagnosis/debugging agent over a closed commodity device
DE102017212994B3 (de) * 2017-05-31 2018-11-29 Apple Inc. INSTALLATION UND TESTEN EINES ELEKTRONISCHEN TEILNEHMERIDENTITÄTSMODULS (eSIM)
US11280829B1 (en) * 2019-12-19 2022-03-22 Xlnx, Inc. System-on-chip having secure debug mode
US20230125154A1 (en) * 2020-04-08 2023-04-27 Arris Enterprises Llc Intelligent upgrade to a debug load operation for an electronic device
WO2021232217A1 (en) * 2020-05-19 2021-11-25 Arris Enterprises Llc Automatic adjustment of logging level of electronic device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011022880A (ja) * 2009-07-17 2011-02-03 Sony Ericsson Mobilecommunications Japan Inc プログラム検証方法、プログラム検証装置、及び携帯端末装置
WO2012172976A1 (ja) * 2011-06-17 2012-12-20 シャープ株式会社 半導体集積装置、表示装置、および半導体集積装置のデバッグ方法
JP2015130001A (ja) * 2014-01-06 2015-07-16 凸版印刷株式会社 可搬型電子媒体、及び入出力制御方法
CN105025292A (zh) * 2015-07-06 2015-11-04 深圳Tcl数字技术有限公司 电视机、工厂调试的系统及方法
JP2017146804A (ja) * 2016-02-17 2017-08-24 株式会社キーエンス プログラマブル表示器及びこれを備えるプログラマブルシステム、プログラマブル表示器の操作方法、プログラマブル表示器操作プログラム及びコンピュータで読み取り可能な記録媒体並びに記憶した機器
JP2018128874A (ja) * 2017-02-08 2018-08-16 京セラドキュメントソリューションズ株式会社 電子機器

Also Published As

Publication number Publication date
US20220114077A1 (en) 2022-04-14
JP7404205B2 (ja) 2023-12-25

Similar Documents

Publication Publication Date Title
JP4288209B2 (ja) システム・オン・チップのためのセキュリティ・アーキテクチャ
JP5007867B2 (ja) 安全な環境におけるプロセッサ実行を制御するための装置
US8214630B2 (en) Method and apparatus for controlling enablement of JTAG interface
KR101281678B1 (ko) 이동 저장 장치에서 호스트 인증 방법, 호스트 인증을 위한정보 제공 방법, 장치, 및 기록매체
JP2011210129A (ja) 記憶装置、データ処理装置、登録方法、及びコンピュータプログラム
US9177117B2 (en) Secure module and information processing apparatus
KR20090095843A (ko) 보안 기능을 갖는 프로세서 장치
WO2016070847A1 (zh) 一种通过外部设备进行同步控制的方法及其装置
KR20150017844A (ko) 페이지 구성 방법 및 이를 지원하는 전자 장치
TWI625672B (zh) 可更新積體電路無線電
CN111797038B (zh) 烧录控制方法、系统、装置、设备及计算机可读存储介质
US20100153667A1 (en) Method, computer program and electronic device
US10505927B2 (en) Memory device and host device
US8863273B2 (en) Method of using an account agent to access superuser account shell of a computer device
JP2011248474A (ja) 記憶媒体、情報処理装置およびコンピュータプログラム
JP7404205B2 (ja) 半導体装置及びそれを含むシステム
JP6654714B1 (ja) 情報処理装置、及びセットアップ方法
KR101320739B1 (ko) 휴대용 단말의 메모리 보안 시스템
KR20160019780A (ko) 시스템 온 칩, 시스템 온 칩을 포함하는 전자 장치 및 시스템 온 칩의 동작 방법
US20090187898A1 (en) Method for securely updating an autorun program and portable electronic entity executing it
JPH0793241A (ja) ポータブルコンピュータシステム
JP7118212B1 (ja) サーバ装置、情報処理システム、情報処理装置、及び情報処理方法
US20220318434A1 (en) Method and device for secured deciphering of ciphering data
CN114329437B (zh) 一种数据处理方法、装置、设备以及存储介质
CN112560011B (zh) 一种基于加密芯片的外接适配设备安全认证系统和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220622

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20230106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230808

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231213

R150 Certificate of patent or registration of utility model

Ref document number: 7404205

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150