JP2021021966A - 半導体装置、及び情報アクセス方法 - Google Patents
半導体装置、及び情報アクセス方法 Download PDFInfo
- Publication number
- JP2021021966A JP2021021966A JP2019136088A JP2019136088A JP2021021966A JP 2021021966 A JP2021021966 A JP 2021021966A JP 2019136088 A JP2019136088 A JP 2019136088A JP 2019136088 A JP2019136088 A JP 2019136088A JP 2021021966 A JP2021021966 A JP 2021021966A
- Authority
- JP
- Japan
- Prior art keywords
- information
- address
- memory
- address information
- 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
Links
Images
Abstract
Description
図1は、実施形態1に係る半導体装置を示す。本実施形態において、半導体装置はマイコンである。マイコン10は、中央処理演算部(CPU)11、記憶部(メモリ)20、周辺モジュールA51、周辺モジュールB52、及び周辺モジュールC53を有する。マイコン10において、これらの要素はバスを介して相互に接続される。
マイコン10のユーザは、動作プログラムの作成時に、動作プログラムが格納されるアドレス範囲内に未使用領域を作成する。未使用領域は、アドレス情報24が示すアドレスを含む。未使用領域は、動作プログラムによって使用されない領域を意味する。具体的には、未使用領域は、変数の値(データ)を格納するためには使用されない。また、未使用領域は、動作プログラムの命令コードを格納するためには使用されない。秘密情報23は、未使用領域に記憶される。
図5は、メモリ領域21のメモリマップを示す。メモリ領域21は、プログラム領域25、未使用領域26、及び未使用領域27を含む。プログラム領域25は、動作プログラムの命令コード、及び変数が格納される領域である。未使用領域26及び27は、動作プログラムによって使用されない領域である。未使用領域27は、プログラム領域25のアドレス範囲の外部に存在する未使用領域である。未使用領域26は、プログラム領域25のアドレス範囲の内部に存在する未使用領域である。未使用領域26は、上記した手法を用いて、コンパイル時に意図的に作成できる。図3の例では、未使用領域26は、アドレス22番地、及びアドレス23番地に作成されている。
図7は、アドレス情報の具体例を示す。アドレス情報24は、メモリ領域22(図2を参照)に格納される。アドレス情報24は、例えば先頭アドレスi、及びデータ長jを含む。先頭アドレスiは、データを取得する場合の先頭アドレスを示す。データ長jは、秘密情報23のデータ長を示す。
次いで、処理手順を説明する。図8は、マイコン10に秘密情報を記憶する際の手順を示す。ユーザは、メモリ領域21のどのアドレスに秘密情報23を記憶するかを決定する。ユーザは、決定したアドレス及び秘密情報23のデータ長に基づいて、アドレス情報24の内容を決定する(ステップA1)。例えば、ユーザは、秘密情報23のデータ長が1バイトで、秘密情報の記憶するアドレスが23番地である場合、アドレス情報を「610」と決定する。
本実施形態では、メモリ領域22は、アドレス情報24を記憶する。CPU11は、秘密情報23が必要な場合、メモリ領域22からアドレス情報24を読み出す。CPU11は、アドレス情報24に基づいて、秘密情報23を読み出す。メモリ領域21は、秘密情報23を、アドレス情報24が示すアドレスに記憶する。メモリ領域21は、ユーザによって読み書きが可能なメモリ領域である。このため、ユーザは、自身によって秘密情報23をメモリ領域21に書き込むことができる。また、ユーザは、秘密情報23の内容を、自身によって更新することができる。このため、ユーザは、製造メーカと秘密情報を共有する必要がない。
次いで、本開示の実施形態2を説明する。本実施形態に係る半導体装置の構成は、図1に示される実施形態1に係る半導体装置の構成と同様でよい。本実施形態において、メモリ領域21は、複数の秘密情報を記憶する。他の点は、実施形態1と同様でよい。
本実施形態では、メモリ領域21は複数の秘密情報を記憶する。この場合、動作プログラムは、複数の秘密情報を読み出して処理に利用することができる。他の効果は、実施形態1における効果と同様である。
続いて、本開示の実施形態3を説明する。本実施形態に係る半導体装置の構成は、図1に示される実施形態1に係る半導体装置の構成と同様でよい。本実施形態において、メモリ領域21は、秘密情報を記憶する未使用領域は、プログラムとは無関係な情報(以下、ダミーデータとも呼ぶ)を更に記憶する。他の点は、実施形態1又は実施形態2と同様でよい。
図12は、未使用領域における秘密情報の配置を示す。ユーザは、コンパイラを用いてメモリ領域21(プログラム領域25)に動作プログラムを書き込んだ後、未使用領域26に秘密情報23を書き込む。ユーザは、例えばアドレス23番地に秘密情報23を書き込む。また、ユーザは、未使用のアドレス22番地には、プログラム及び秘密情報23と無関係なダミーデータ28を書き込む。ダミーデータ28の内容は、ユーザが任意に決定できる。
図13は、本実施形態において用いられるアドレス情報の具体例を示す。本実施形態において、アドレス情報24は、秘密情報23とダミーデータ28を識別するための情報を含む。アドレス情報24は、例えば先頭アドレスi、及びデータ長jに加えて、ダミービット長kを含む。先頭アドレスi及びデータ長jは、実施形態1におけるそれらと同様である。ダミービット長kは、秘密情報23とダミーデータ28を識別するための情報である。ダミーデータ28のデータ長(ビット長)は、例えばk×8[bit]により計算される。
本実施形態では、未使用領域26は、秘密情報23とダミーデータ28とを記憶する。CPU11は、秘密情報23とダミーデータ28とを含むデータをメモリ領域21から読み出す。CPU11は、読み出したデータから、秘密情報23を取り出す。ダミーデータ28が記憶されることにより、他者は、秘密情報23の配置場所を特定しにくくなる。これにより、CPU11が取得したデータから秘密情報23を取り出すための処理が指数関数的に増加し、悪意のある解析に対して難読性を向上させることができる。他の効果は、実施形態1又は実施形態2における効果と同様である。
本開示の実施形態4を説明する。図14は、実施形態4に係る半導体装置の構成を示す。本実施形態において、メモリ領域22は、マイコン10に接続される外部メモリである。他の点は、実施形態1、実施形態2、又は実施形態3と同様でよい。
本実施形態では、CPU11は、外部のメモリ領域22から取得したアドレス情報を用いて、メモリ領域21に記憶される秘密情報を取得する。本実施形態では、メモリ領域22をマイコン10に対して外付けとすることにより、物理的な実装が容易となる。他の効果は、実施形態1、実施形態2、又は実施形態3における効果と同様である。
本開示の実施形態5を説明する。本実施形態に係る半導体装置の構成は、図1に示される実施形態1に係る半導体装置の構成と同様でよい。図15は、本実施形態におけるメモリ配置を示す。本実施形態において、メモリ領域22は、アドレス情報(アドレス情報A)24を記憶する。メモリ領域21は、秘密情報23とアドレス情報(アドレス情報B)29を記憶する。本実施形態では、CPU11は、アドレス情報24を用いてメモリ領域21からアドレス情報29を取得する。CPU11は、アドレス情報29を用いてメモリ領域21から秘密情報を取得する。他の点は、実施形態1、実施形態2、実施形態3、又は実施形態4と同様でよい。
本実施形態では、CPU11は、アドレス情報24を用いてアドレス情報29を取得し、アドレス情報29を用いて秘密情報23を取得する。アドレス情報24は、製造メーカによりメモリ領域22に記憶され、ユーザ側で書き換えることができない。これに対し、ユーザは、メモリ領域21に記憶されるアドレス情報29を書き換えることができる。従って、ユーザは、アドレス情報29の内容を変更することにより、秘密情報23を記憶する未使用領域(アドレス)などを変更できる。他の効果は、実施形態1、実施形態2、実施形態3、又は実施形態4における効果と同様である。
実施形態6を説明する。本実施形態では、動作プログラム及び秘密情報の更新が説明される。図16は、動作プログラム更新時のメモリ領域21のメモリ配置を示す。メモリ領域21のプログラム領域25には、既に動作プログラム(現プログラム)が記憶されている。また、プログラム領域25内の未使用領域26には、秘密情報(現秘密情報)23が記憶されている。
本実施形態では、秘密情報23はメモリ領域21に記憶される。このため、秘密情報23は、マイコン10の製造後でも更新可能である。これにより、ユーザの利便性が向上する。
11:中央処理演算部(CPU)
20:記憶部(メモリ)
21、22:メモリ領域
23:秘密情報
24、29:アドレス情報
25:プログラム領域
26、27:未使用領域
28:ダミーデータ
29:アドレス情報
30:新プログラム
Claims (17)
- 動作プログラム、及び前記動作プログラムから読み出される1以上の情報を記憶する第1のメモリと、
前記第1のメモリと電気的に接続され、前記動作プログラムに従って処理を実行するプロセッサと、を有し、
前記第1のメモリは、前記動作プログラムによって使用されない未使用領域に前記1以上の情報を記憶し、
前記プロセッサは、前記動作プログラムの実行時に、
前記第1のメモリ内のアドレスを示す第1のアドレス情報を記憶する第2のメモリから前記第1のアドレス情報を取得し、
前記第1のアドレス情報を用いて前記第1のメモリから前記情報を読み出す、半導体装置。 - 前記第1のメモリは前記半導体装置の外部からアクセス可能なメモリ、前記第2のメモリは前記半導体装置の外部からアクセスできないメモリである請求項1に記載の半導体装置。
- 前記動作プログラム及び前記情報は前記半導体装置の外部から書き換え可能である請求項1に記載の半導体装置。
- 前記第1のメモリは、前記動作プログラムを記憶するアドレス範囲に包含される未使用領域に前記情報を記憶する請求項1に記載の半導体装置。
- 前記第1のアドレス情報は、前記第1のメモリにおいて前記情報が記憶されるアドレスを示す請求項1に記載の半導体装置。
- 前記第1のアドレス情報は、先頭アドレス、及び前記情報のデータ長を含む請求項1に記載の半導体装置。
- 前記プロセッサは、前記第1のアドレス情報に対して所定の演算を行うことにより、前記第1のメモリにおいて前記情報が記憶されるアドレス範囲を特定する請求項1に記載の半導体装置。
- 前記第1のメモリは、前記情報を記憶する未使用領域にダミーデータを更に記憶する請求項1に記載の半導体装置。
- 前記第1のアドレス情報は、先頭アドレス、前記情報のデータ長、及び前記ダミーデータのデータ長を含む請求項8に記載の半導体装置。
- 前記第1のメモリは前記情報を複数記憶する請求項1に記載の半導体装置。
- 前記第2のメモリは、前記複数の情報のそれぞれに対応した複数の前記第1のアドレス情報を記憶する請求項10に記載の半導体装置。
- 前記第1のメモリは、更に前記第1のメモリにおいて前記情報が記憶されるアドレスを示す第2のアドレス情報を前記未使用領域に記憶し、かつ、前記第1のアドレス情報は、前記第1のメモリにおいて前記第2のアドレス情報が記憶されるアドレスを示し、
前記プロセッサは、前記第1のアドレス情報を用いて前記第1のメモリから前記第2のアドレス情報を取得し、前記第2のアドレス情報を用いて前記第1のメモリから前記情報を読み出す請求項1に記載の半導体装置。 - 前記第2のメモリを更に有する請求項1に記載の半導体装置。
- 前記第2のメモリは外部メモリである請求項1に記載の半導体装置。
- 動作プログラム、及び該動作プログラムから読み出される1以上の情報を記憶する第1のメモリ内のアドレスを示す第1のアドレス情報を記憶する第2のメモリから前記第1のアドレス情報を取得し、
前記第1のアドレス情報を用いて、前記第1のメモリから前記情報を読み出し、
前記第1のメモリは、前記動作プログラムによって使用されない未使用領域に前記1以上の情報を記憶している、情報アクセス方法。 - 前記情報を読み出すことは、前記第1のアドレス情報に対して所定の演算を行うことにより、前記第1のメモリにおいて前記情報が記憶されるアドレス範囲を特定することを含む請求項15に記載の情報アクセス方法。
- 前記第1のメモリは、更に前記第1のメモリにおいて前記情報が記憶されるアドレスを示す第2のアドレス情報を前記未使用領域に記憶し、かつ、前記第1のアドレス情報は、前記第1のメモリにおいて前記第2のアドレス情報が記憶されるアドレスを示し、
前記情報を読み出すことは、前記第1のアドレス情報に基づいて前記第1のメモリから前記第2のアドレス情報を取得すること、及び、前記第2のアドレス情報に基づいて前記第1のメモリから前記情報を読み出すことを含む請求項15に記載の情報アクセス方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019136088A JP7178971B2 (ja) | 2019-07-24 | 2019-07-24 | 半導体装置、及び情報アクセス方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019136088A JP7178971B2 (ja) | 2019-07-24 | 2019-07-24 | 半導体装置、及び情報アクセス方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021021966A true JP2021021966A (ja) | 2021-02-18 |
JP7178971B2 JP7178971B2 (ja) | 2022-11-28 |
Family
ID=74574249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019136088A Active JP7178971B2 (ja) | 2019-07-24 | 2019-07-24 | 半導体装置、及び情報アクセス方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7178971B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004303315A (ja) * | 2003-03-31 | 2004-10-28 | Funai Electric Co Ltd | Dvd機器および所定情報記録方法 |
JP2009163738A (ja) * | 2008-01-02 | 2009-07-23 | Arm Ltd | 非安全アプリケーションへの安全サービスの提供 |
JP2017041145A (ja) * | 2015-08-20 | 2017-02-23 | 株式会社ソシオネクスト | プロセッサ及びプロセッサシステム |
-
2019
- 2019-07-24 JP JP2019136088A patent/JP7178971B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004303315A (ja) * | 2003-03-31 | 2004-10-28 | Funai Electric Co Ltd | Dvd機器および所定情報記録方法 |
JP2009163738A (ja) * | 2008-01-02 | 2009-07-23 | Arm Ltd | 非安全アプリケーションへの安全サービスの提供 |
JP2017041145A (ja) * | 2015-08-20 | 2017-02-23 | 株式会社ソシオネクスト | プロセッサ及びプロセッサシステム |
Also Published As
Publication number | Publication date |
---|---|
JP7178971B2 (ja) | 2022-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Anand et al. | A compiler-level intermediate representation based binary analysis and rewriting system | |
US20110225564A1 (en) | Cross-Module Inlining Candidate Identification | |
JP6902584B2 (ja) | ブートプログラム、情報処理装置、情報処理システム、情報処理方法、半導体装置、およびプログラム | |
CN107548492B (zh) | 具有增强指令集的中央处理单元 | |
JP2018049506A (ja) | 判定装置及び判定方法 | |
WO2019148816A1 (en) | Method and apparatus for data compilation, electronic device and computer readable storage medium | |
CN108319856A (zh) | 用于恶意软件检测的对应用的通用拆包 | |
JP4632666B2 (ja) | コンパイラ生成プログラムコードの最適化 | |
TWI237759B (en) | Method for data accessing in a computer and the computer thereof | |
JP2011118909A (ja) | メモリアクセス命令のベクトル化 | |
TW201818237A (zh) | 仿真裝置、仿真方法及儲存仿真程式的儲存媒體 | |
JP2020526825A (ja) | ベクトル要素内のビット値のテスト | |
JP2015103253A (ja) | 構造体を生成する方法および対応する構造体 | |
JP7371034B2 (ja) | マスク関数を用いるコンパイラデバイス | |
TW201833421A (zh) | 可更新韌體的電子鎖系統 | |
JP7178971B2 (ja) | 半導体装置、及び情報アクセス方法 | |
JP2003242030A (ja) | メモリ管理装置及びメモリ管理方法 | |
US20130275688A1 (en) | Data processing device and method | |
KR20050061287A (ko) | 서브시스템 장치를 마더보드에 바인딩하는 방법 및 구조물 | |
JP2005165919A (ja) | プログラム実行方法、プログラム作成方法、情報処理装置及びプログラム | |
CN113127283B (zh) | 芯片修复系统、方法、装置、计算机设备和存储介质 | |
US10275228B2 (en) | Relaxing user-specified register constraints for improving register allocation | |
JP2009009537A (ja) | プログラム作成方法及び情報処理装置ならびにマイコン | |
JP7369701B2 (ja) | 処理回路上で実行されるべきプログラムをデバッグするときにメタデータにアクセスする方法 | |
TW201324151A (zh) | 配置檔案保護方法及系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220107 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220921 |
|
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: 20221018 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221115 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7178971 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |