JP2007156904A - マイコンシステム - Google Patents

マイコンシステム Download PDF

Info

Publication number
JP2007156904A
JP2007156904A JP2005352341A JP2005352341A JP2007156904A JP 2007156904 A JP2007156904 A JP 2007156904A JP 2005352341 A JP2005352341 A JP 2005352341A JP 2005352341 A JP2005352341 A JP 2005352341A JP 2007156904 A JP2007156904 A JP 2007156904A
Authority
JP
Japan
Prior art keywords
program
memory
external memory
microcomputer
built
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.)
Withdrawn
Application number
JP2005352341A
Other languages
English (en)
Inventor
Tsutomu Kawabata
勉 川畑
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005352341A priority Critical patent/JP2007156904A/ja
Publication of JP2007156904A publication Critical patent/JP2007156904A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】機器組込みマイコンシステムにおいて外部メモリのプログラム改竄によるマイコン内蔵メモリのプログラム漏洩を防止する。
【解決手段】外部メモリに配置したプログラムに対して内部メモリに配置される補正値を加えた後に一方向関数を適用して算出した証明書と、外部メモリに配置されるプログラムに内部メモリに配置される補正値を加えた後に一方向関数を適用して算出される外部メモリに配置された証明書との一致を比較する(406)。
【選択図】図4

Description

本発明はプログラム改竄防止を行う機器組み込みマイコンシステムに関する。
従来、プログラムコードの改竄防止システムとして特許文献1に開示されたシステムがある。この改竄防止システムは、図5に示すように、プログラム制御によって動作するデータ処理装置500と、ファイル装置510とから構成されている。データ処理装置500は非暗号プログラム読み込み手段501と、暗号鍵算出手段502と、暗号化プログラム読み込み手段503と、暗号解除手段504とからなり、ファイル装置510は非暗号プログラム記憶手段511と、暗号化プログラム記憶手段512とからなる。
上記構成のプログラムコードの改竄防止システムにおいて、非暗号プログラム記憶手段511には暗号化されていないプログラムが格納され、暗号化プログラム記憶手段512に暗号化されたプログラムコード#1〜#nが複数のブロック#1〜#nにそれぞれ分割されて格納されている。これらは非暗号プログラム記憶手段511に格納された暗号化されていないプログラムコード、暗号化されたブロック#1〜#nの順に、データ処理装置500に読み込まれるものとする。
非暗号プログラム読み込み手段501は非暗号プログラム記憶手段511から暗号化されていないプログラムコードを図示しない主記憶上に読み込む。暗号鍵算出手段502はこの主記憶上に読み込んだプログラムに一方向関数(ハッシュ関数など)を適用し、これから読み込まれる暗号化されたプログラムコードブロックを平文化するための暗号鍵を生成する。暗号化プログラム読み込み手段503は暗号化プログラム記憶手段512から次に実行する暗号化されたプログラムコードを主記憶上に読み込む。暗号化解除手段504は暗号鍵算出手段502で算出した暗号鍵を使用し、暗号化されたプログラムコードの暗号を解除する。
特開2000−122861号公報
上述した従来のプログラムコードの改竄防止システムでは、上記のようなプログラムコードの暗号解除処理を繰り返すため、暗号化が施されたプログラムコードを実行する際の実行速度がプログラムコードに暗号化を施さない場合と比較して遅くなるという問題がある。また、従来のプログラムコードの改竄防止システムでは、プログラムコードを逆アセンブラツールなどの解析ツールで解析し、どういった機構でプログラムの改竄を判定しているかを解析し、その解析結果に基づいてプログラムを改竄できる問題があった。
機器組込みマイコンにおいてはプログラムを記憶する手段としていくつかの方法が考えられる。その方法の一つにマイコン内蔵メモリが想定できるが、マイコン内蔵メモリの容量が限られているため、昨今の製品仕様の複雑化と高度化に対応する上でのプログラムサイズ増加に対して、全てのプログラムをマイコン内蔵メモリに配置することができないという問題がある。これに対処するため、機器組み込みマイコンの外部に不揮発性半導体メモリなどを用いた外部メモリを設けると、その外部メモリにプログラムを配置することで全プログラムを配置可能となるが、簡単にプログラムの読み出しが可能となるため、例えば、著作権保護制御などのような機密対象となるプログラムの読み出しにより著作権保護アルゴリズムを解読され、デジタルコンテンツの不正コピーが可能になるなど機密情報の隠蔽の点で問題となる。
また、図6に示すように機器組込みマイコンの内蔵メモリ101と外部メモリ102の両方にプログラムを配置する方法もあるが、機器組み込みマイコンによるプログラムの実行において、外部メモリ102にプログラムカウンタが遷移するため、その遷移先のプログラムを改竄することにより、マイコン内蔵メモリ101内のプログラムを読み出すことが可能になるという問題がある。
本発明は、機器組込みマイコンにより著作権保護制御と著作権保護処理以外の製品仕様を実現する外部メモリを備えたシステムにおいて、外部メモリのプログラム改竄によるマイコン内蔵メモリのプログラム漏洩を防止することができるマイコンシステムを提供することを目的とする。
本発明は、機器組込みマイコンと前記マイコンに接続される外部メモリとを備えるシステムにおいて、前記外部メモリに著作権保護処理以外の製品仕様制御プログラムが配置され、前記マイコンに内蔵される内部メモリに前記外部メモリに配置するプログラムに対する改竄防止処理プログラムが配置される。これにより、増大する製品仕様制御プログラムに対応するとともに、外部メモリのプログラム改竄によるマイコン内蔵メモリのプログラム漏洩を防止する。
前記改竄防止プログラムは、前記外部メモリに配置したプログラムに対して一方向関数を適用して算出した証明書と、前記製品仕様制御プログラムに一方向関数を適用して算出される前記外部メモリに配置された証明書との一致を条件に以降のプログラムを実行させる。より詳しくは、前記外部メモリに配置したプログラムに対して前記内部メモリに配置される補正値を加えた後に一方向関数を適用して算出した証明書と、前記外部メモリに配置されるプログラムに前記内部メモリに配置される補正値を加えた後に一方向関数を適用して算出される前記外部メモリに配置された証明書との一致を比較する。
本発明によれば、増大する製品仕様制御プログラムに対応するとともに、外部メモリのプログラム改竄によるマイコン内蔵メモリのプログラム漏洩を防止することができ、プログラム改竄を防止するロバスト性の高いシステムを構築することができる。
図1は本発明の実施形態に係るマイコンシステムのブロック図である。図1において、100は機器組込みマイコン、101は著作権保護制御プログラムとプログラム改竄を判断する処理を配置するマイコン内蔵メモリ、102は製品仕様制御プログラムを配置する外部メモリである。機器組み込みマイコン100と外部メモリ102は機器組み込みマイコン100のアドレスバス及びデータバスで接続されており、機器組込みマイコン100はマイコン内蔵メモリ101と外部メモリ102のそれぞれに配置したプログラムを実行することが可能である。上記構成において、マイコン内蔵メモリ101に著作権保護制御のような厳秘情報にまつわるプログラムを配置することで、プログラムの隠蔽が可能となり、プログラムの外部への流出を防止ことができる。一方、外部メモリ102はマイコン内蔵メモリ101に比べて一般に大容量のメモリサイズの選択が可能なことから、製品仕様制御用のプログラムを外部メモリ102に配置することで、製品仕様実現のために増大するプログラムサイズに対応可能となる。
図2はマイコン内蔵メモリ101および外部メモリ102に配置するプログラム構成図である。機器組み込みマイコン100のリセットスタート後に実行されるマイコン内蔵メモリ101のメモリ領域R1には、外部メモリ102のプログラムの改竄を判定する処置を配置する。マイコン内蔵メモリ101のメモリ領域R2には、外部メモリ102のプログラムが改竄されたと判定したときに、以降のプログラム実行を受付けないようにする無限ループ処理などのプログラムを配置する。マイコン内蔵メモリ101のメモリ領域R3には、著作権保護制御用プログラムを配置する。マイコン内蔵メモリのメモリ領域R4には、外部メモリ102のプログラム改竄を判定するために用いる補正値を配置する。外部メモリ102のメモリ領域R10には製品仕様制御用プログラムを配置する。外部メモリ102のメモリ領域R11には、そのプログラムの改竄をマイコン内蔵メモリ101のプログラムから改竄判定が可能とするために、製品仕様制御用プログラムに対して一方向関数(ハッシュ関数など)を使用して求めた証明書(ハッシュ値など)の値をデータとして配置する。
図3は外部メモリ102のプログラム改竄を判定するためにマイコン内蔵メモリ101に配置するプログラムのフローチャートである。機器組み込みマイコン100のリセットスタート時には、まずマイコン内蔵メモリ101のメモリ領域R1のプログラムが実行される。メモリ領域R1には外部メモリ102のプログラムの改竄を判定するプログラムが配置されており、改竄されていないと判定した場合(ステップ301でNO)は、図2のメモリ領域R3の著作権保護制御プログラムもしくはメモリ領域R10の製品仕様制御プログラムにジャンプする(ステップ302)。改竄されていると判定した場合(ステップ301でYES)は、メモリ領域R2に配置した無限ループ処理にジャンプすることで、以降のプログラム実行を停止する(ステップ303)。以上の処理により、外部メモリ102内のプログラムが改竄されていない場合にのみ外部メモリ102へのアクセス、すなわちプログラムカウンタの外部メモリ102のアドレスへの遷移が可能となる。
図4は外部メモリ102のプログラム改竄の判定方法を示すフローチャートである。図4において、まず外部メモリ102のメモリ領域R10に配置した製品仕様制御プログラムを機器組み込みマイコン100のアドレスバス及びデータバスを介して読み込む(ステップ401)。読み込むデータサイズは、機器組み込みマイコンが退避可能なメモリサイズ及び一方向関数演算に要する時間を考慮し、マイコンシステムに最適なデータサイズを読み込むこととする。次に読み込んだ製品仕様制御用プログラムに対して、メモリ領域R4に配置した補正値を読み出し(ステップ402)、先に読み出しを行った製品仕様制御用プログラムに加算する(ステップ403)。その補正結果に対して、一方向関数(ハッシュ関数など)を使用して外部メモリのプログラムに対する証明書(ハッシュ値など)を算出する(ステップ404)。次に外部メモリ102のメモリ領域R11に配置された証明書を読み出し(ステップ405)、先に算出した証明書の値と比較し、比較結果が一致した場合(ステップ406でYES)は外部メモリ102のプログラムは改竄されていないと判断する。比較結果が不一致の場合(ステップ406でNO)は、外部メモリ102のプログラムは改竄されていると判断し、以降のプログラム実行を停止する。以上の方法により、外部メモリに配置した製品仕様制御プログラムの改竄による機器組込みマイコンの内蔵メモリに配置した著作権保護制御プログラムの読み出しを防ぐことができ、更には製品仕様制御プログラムの増加に対応することができるようになる。
本発明のマイコンシステムは、増大する製品仕様制御プログラムに対応するとともに、外部メモリのプログラム改竄によるマイコン内蔵メモリのプログラム漏洩を防止することができ、プログラム改竄を防止するロバスト性の高いシステムを構築することができるという効果を有し、プログラム改竄防止を行う機器組み込みマイコンシステム等に有用である。例として、IEEE1394、MOSTといった情報系LAN規格により接続されたシステムでは、DTCP規格に従ったデジタルコンテンツ送受信を行うが、その際の著作権保護規格であるDTCP制御及び製品仕様制御は機器組込みマイコンにより実施される場合が多く、本発明適用の可能性があるといえる。
本発明の一実施の形態に係るマイコンシステムを示すブロック図。 本発明の一実施の形態に係るマイコンシステムにおけるマイコン内蔵メモリ及び外部メモリのプログラム配置を示す図。 本発明の一実施の形態に係るマイコンシステムにおける外部メモリのプログラム改竄判定プログラムのフローチャート。 本発明の一実施の形態に係るマイコンシステムにおける外部メモリのプログラム改竄の判定方法を示すフローチャート。 従来のシステム構成を示すブロック図。 従来の機器組込みマイコンにおけるマイコン内蔵メモリと外部メモリ内のプログラムを実行する際のプログラムカウンタの遷移を示す図。
符号の説明
100 機器組込みマイコン
101 マイコン内蔵メモリ
102 外部メモリ
401〜406 プログラム改竄判定方法のステップ
R1 プログラム改竄判定プログラムを配置するメモリ領域
R2 無限ループなどのプログラムを配置するメモリ領域
R3 著作権保護制御用プログラムを配置するメモリ領域
R4 プログラム改竄判定時に用いる補正値を配置するメモリ領域
R10 製品仕様制御プログラムを配置するメモリ領域
R11 製品仕様制御プログラムに対する証明書を配置するメモリ領域

Claims (3)

  1. 機器組込みマイコンと前記マイコンに接続される外部メモリとを備えるシステムにおいて、前記外部メモリに著作権保護処理以外の製品仕様制御プログラムが配置され、前記マイコンに内蔵される内部メモリに前記外部メモリに配置するプログラムに対する改竄防止処理プログラムが配置されたマイコンシステム。
  2. 前記改竄防止プログラムは、前記外部メモリに配置したプログラムに対して一方向関数を適用して算出した証明書と、前記製品仕様制御プログラムに一方向関数を適用して算出される前記外部メモリに配置された証明書との一致を条件に以降のプログラムを実行させる請求項1記載のマイコンシステム。
  3. 前記改竄防止プログラムは、前記外部メモリに配置したプログラムに対して前記内部メモリに配置される補正値を加えた後に一方向関数を適用して算出した証明書と、前記外部メモリに配置されるプログラムに前記内部メモリに配置される補正値を加えた後に一方向関数を適用して算出される前記外部メモリに配置された証明書との一致を比較する請求項2記載のマイコンシステム。
JP2005352341A 2005-12-06 2005-12-06 マイコンシステム Withdrawn JP2007156904A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005352341A JP2007156904A (ja) 2005-12-06 2005-12-06 マイコンシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005352341A JP2007156904A (ja) 2005-12-06 2005-12-06 マイコンシステム

Publications (1)

Publication Number Publication Date
JP2007156904A true JP2007156904A (ja) 2007-06-21

Family

ID=38241178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005352341A Withdrawn JP2007156904A (ja) 2005-12-06 2005-12-06 マイコンシステム

Country Status (1)

Country Link
JP (1) JP2007156904A (ja)

Similar Documents

Publication Publication Date Title
JP4475894B2 (ja) 暗号化データを復号して実行用メモリ空間に配置する装置、およびその方法
KR100692348B1 (ko) 휴면 보호
KR100792287B1 (ko) 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치
KR101427646B1 (ko) 펌웨어의 무결성 검사 방법 및 장치
US20030196096A1 (en) Microcode patch authentication
US20070294534A1 (en) Apparatuses and methods for decrypting encrypted data and locating the decrypted data in a memory space used for execution
US8769675B2 (en) Clock roll forward detection
JP5097130B2 (ja) 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム
US20120066515A1 (en) Electronic device, key generation program, recording medium, and key generation method
JP4844102B2 (ja) サブプログラム及びそのサブプログラムを実行する情報処理装置
WO2013142517A1 (en) Method and system for process working set isolation
JP2006295872A (ja) 機器固有鍵の生成方法、これを用いた機密情報処理機能を備えた機密情報lsi、これを搭載したホスト機器、これに用いられる認証機能付き記録媒体、および認証機能を備えた記録媒体付き携帯端末
JP4791250B2 (ja) マイクロコンピュータおよびそのソフトウェア改竄防止方法
JP2000122861A (ja) データ等の不正改竄防止システム及びそれと併用される 暗号化装置
JP2002244989A (ja) デバイスドライバ作動方法
US7636838B2 (en) Method and system for handling operation of multiple devices within a single system-on-chip (SoC) integrated circuit (IC)
US9166783B2 (en) Protection method, decryption method, player, storage medium, and encryption apparatus of digital content
KR101405915B1 (ko) 데이터의 암호화 저장 방법 및 암호화된 데이터의 판독방법
JP2007156904A (ja) マイコンシステム
JP5776480B2 (ja) 情報処理装置、正当性検証方法、正当性検証プログラム
JP2011164858A (ja) ライセンス設定システムおよびライセンス設定方法
CN114816549B (zh) 一种保护bootloader及其环境变量的方法及系统
JP5180362B1 (ja) コンテンツ再生装置およびコンテンツ再生プログラム
CN111291389B (zh) 一种计算机核心程序全生命周期的保护方法及系统
US20050210274A1 (en) Apparatus and method for intellectual property protection using the microprocessor serial number

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071113

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071120

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090303