JP2003091459A - 半導体デバイス内のコードとデータにセキュリティを与えるためのシステムと方法 - Google Patents

半導体デバイス内のコードとデータにセキュリティを与えるためのシステムと方法

Info

Publication number
JP2003091459A
JP2003091459A JP2002213552A JP2002213552A JP2003091459A JP 2003091459 A JP2003091459 A JP 2003091459A JP 2002213552 A JP2002213552 A JP 2002213552A JP 2002213552 A JP2002213552 A JP 2002213552A JP 2003091459 A JP2003091459 A JP 2003091459A
Authority
JP
Japan
Prior art keywords
memory
password
data
semiconductor device
processor core
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
Application number
JP2002213552A
Other languages
English (en)
Inventor
Thiru Gnanasabapathy
グナナサバパシー シル
David P Foley
ピー、フォリー デイヴィッド
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JP2003091459A publication Critical patent/JP2003091459A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 半導体デバイスのソフトウエアへの無許可の
アクセスを防ぐシステムと方法を提供する。 【解決手段】 本発明の半導体デバイスはデバイスのプ
ロセッサ・コア(12)とメモリ(14)の間のデータ
経路内にメモリ・バッファ(18)を含む。データ経路
内で自由に通信できるようにするパスワードをメモリ内
の所定の位置(22)に記憶する。メモリ位置(22)
を読み取ると、コードセキュリティモジュール(20)
にパスワードを与える。コードセキュリティモジュール
(20)に与えたパスワードとキー・レジスタ(28)
内のユーザが与えたデータ・ストリングとを比較する。
パスワードとデータ・ストリングが一致する場合は、メ
モリとプロセッサ・コアの間の通信に用いられるパスワ
ード・データ経路は開く。パスワードとデータ・ストリ
ングとが一致しない場合は、メモリとプロセッサ・コア
の間の通信に用いられるパスワード・データ経路は閉じ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般に半導体デバイ
スの分野に関するもので、特に、半導体デバイス内のメ
モリまたはその他の要素にセキュリティを与える装置に
関するものである。
【0002】
【従来の技術】ディジタル信号処理プロセッサまたはプ
ロセッサを組み込んだ任意の他の半導体デバイス用のア
プリケーション・ソフトウエアが、デバイスのオンチッ
プ・フラッシュ・メモリまたはROMメモリ内に記憶さ
れる。アプリケーション・ソフトウエアは価値のあるも
のなので、アプリケーション・ソフトウエアへのアクセ
スは制限しなければならない。多くのアプリケーション
では、アプリケーション・コードの開発を完了して製作
に移した後は、コードのセキュリティを保証する必要が
高まっている。この場合のセキュリティは、オンチップ
・プログラム・メモリへの読取りアクセスに関するもの
である。プロセッサ・コア以外の半導体デバイスの構成
要素によるデバイスのアプリケーション・ソフトウエア
へのアクセスを制限しないと、オンチップ・メモリ内に
記憶されている専有アプリケーション・ソフトウエアを
デバイスの顧客が変更または複写する可能性がある。半
導体デバイスのアプリケーション・ソフトウエアに対し
て無許可の変更が可能であれば、デバイスの操作に悪い
影響を与えかねない。アプリケーション・ソフトウエア
の無許可の複写が可能であれば、半導体デバイス内に記
憶されているアプリケーション・ソフトウエアまたはア
ルゴリズムをデバイスの顧客またはユーザが他の半導体
デバイスまたはアプリケーションに複写することを許す
ことになる。
【0003】
【発明が解決しようとする課題】デバイスのアプリケー
ション・ソフトウエアに無許可でアクセスする問題を解
決する1つの方法は、アプリケーション・ソフトウエア
をデバイスのオンチップ・メモリにロードした後で装置
を物理的にまたは論理的に一旦密封することである。こ
の方法はデバイスのアプリケーション・ソフトウエアへ
の無許可のアクセスを防ぐことはできるが、許可された
アクセスも阻止するので、必然的に無許可のユーザも許
可されたユーザもアプリケーション・ソフトウエアを変
更することができなくなる。一旦デバイスを密封した後
では、メーカはデバイスのプログラム空間と通信して故
障の分析やその他のデバッグ機能を行うことができな
い。非可逆的なセキュリティ方式を用いると、プログラ
ム空間のソフトウエアを変更することが全くできなくな
る。
【0004】
【課題を解決するための手段】したがって、半導体デバ
イスのメモリにセキュリティを与える方法と装置が必要
である。本発明の教示に従って半導体デバイスのメモリ
にセキュリティを与える方法と装置は、従来の方法が持
つ欠点と問題点を除きまたは減らすものである。
【0005】本発明の1つの実施の形態では、ディジタ
ル信号プロセッサ(DSP)などの半導体デバイスはデ
バイスのプロセッサ・コアとオンチップ・メモリまたは
ローカル・メモリとの間にメモリ・バッファを備える。
このメモリ・バッファはセキュリティモジュールから信
号を受ける。デバイスを安全モードにすると、データを
メモリからプロセッサ・コアに送ることができない。メ
モリ内の所定の位置にはパスワードが設けられている。
半導体デバイスを非安全モードにしてメモリとプロセッ
サ・コアの間で通信できるようにするには、プロセッサ
・コアはまずパスワード・データを記憶するメモリ内の
位置の読取りを実行しなければならない。このデータ
を、コード安全モードのレジスタ(ロック・レジスタと
も呼ぶ)に複写する。次に、ロック・レジスタの内容と
第2のレジスタ(キー・レジスタと呼ぶ)の内容とを比
較する。キー・レジスタの内容はユーザが指定してよ
い。ロック・レジスタの内容とキー・レジスタの内容が
等しい場合は、半導体デバイスを非安全状態にしてデバ
イスのメモリからデバイスのプロセッサ・コアへのデー
タの転送を許可する。
【0006】本発明の重要な技術的利点は、半導体デバ
イスのメモリに記憶されているソフトウエアのセキュリ
ティである。本発明のセキュリティプロトコルでは半導
体デバイスのメモリへの無許可のアクセスを阻止する。
本発明の別の技術的利点は、半導体デバイスのメモリ上
にあるソフトウエアへのアクセスは、パスワードを用い
てデバイスにアクセスすれば許可されることである。こ
のように、デバイスのソフトウエアの設計やデバッグを
行い且つ必要なセキュリティパスワードを使うことが可
能なユーザは、デバイスのメモリのソフトウエアを変更
または複写することができる。半導体デバイスのメモリ
はここに示すセキュリティプロトコルで保護されるが、
このセキュリティシステムは許可されたユーザのアクセ
スを可能にする。
【0007】本発明の別の重要な技術的利点は、ここに
開示するセキュリティシステムと方法とにより、半導体
デバイスのメモリへのアクセスは阻止するが、デバイス
の他の部分へのアクセスを許可する。したがって、アク
セスが制限されている間はデバイスのメモリにアクセス
することはできないが、デバイスの他の部分は動作可能
であって、JTAGまたは同様なリンクを用いてデバイ
スの他の部分をデバッグすることができる。
【0008】本発明の別の大きな技術的利点は、半導体
デバイスのセキュリティを行うシステムと方法は、デバ
イスのプロセッサ・コアとデバイスのオンチップ・メモ
リの間にセキュリティチェック・ポイントを備えること
である。セキュリティチェック・ポイントはデバイスの
プロセッサ・コアとデバイスのオンチップ・メモリの間
に安全なデータ経路を確立する。このように、デバイス
のプロセッサ・コアとデバイスのオンチップ・メモリと
の間に確立されるデータ経路は1つだけである。この経
路上にセキュリティチェック・ポイントを備えることに
より半導体デバイスの他の構成要素を安全なデータ経路
上のプロセッサ・コアの反対側に置くことができるの
で、半導体デバイスのオンチップ・メモリと共にかかる
構成要素を安全にすることができる。
【0009】
【発明の実施の形態】本発明は、オンチップまたは組み
込みのプロセッサを有する半導体デバイスのプログラム
空間またはその他のメモリ空間の内容へのアクセスを制
限するセキュリティ方式に関するものである。このセキ
ュリティ方式ではオンチップ・メモリ空間と埋込みプロ
セッサとの間のデータ経路を監視する。許可された期間
(例えばプロセッサ・コアがオンチップ・メモリ内のソ
フトウエアを実行するアプリケーション・モードの間)
を除いて、データ経路は閉じている。プロセッサ・コア
とメモリとの間のデータ経路が閉じているとき、このセ
キュリティ方式を有する半導体デバイスは安全であると
称される。この安全モードでは、プロセッサ・コアは半
導体デバイスのメモリに読取りまたは書込み動作を行う
ことができないし、JTAGも他の外部のデバッグ・ツ
ールも半導体デバイスの保護されたメモリ空間にアクセ
スすることができない。本発明の半導体デバイスが非安
全モードのときは、プログラム・コアがデバイスのメモ
リ空間に読取りアクセスを行っても阻止されない。この
とき、プロセッサ・コアとメモリの間のデータ経路は開
いている。本発明のセキュリティ方式はパスワードに基
づいて、半導体デバイスのメモリ内に記憶されている2
個のレジスタを比較するものである。
【0010】図1は、一般に10で示すディジタル信号
処理プロセッサ(DSP)の機能ブロック図を示す。D
SP10はプロセッサ・コア12とオンチップ・メモリ
空間14を含む。オンチップ・メモリ空間はオンチップ
ROM、フラッシュ・メモリ、または他の形式のローカ
ル・メモリでよい。メモリ空間14は不揮発性メモリで
あって、揮発性で図1に示されていないオンチップRA
Mとは異なる。プロセッサ・コア12とメモリ空間14
の間にデータ経路16があり、これはメモリ・バッファ
18を含む。メモリ・バッファ18はプロセッサ・コア
12とメモリ空間14とコードセキュリティモジュール
20との間で通信を行う。メモリ14はパスワード・レ
ジスタ22を含む。これはソフトウエアセキュリティ方
式のパスワードを記憶する専用のメモリ位置である。
【0011】図1の例では、メモリ空間14のパスワー
ド・レジスタ22は4語のデータで構成される。フラッ
シュ・デバイスでは、パスワード・レジスタ22のパス
ワード・ビットはユーザによって選ばれ、また自由に変
えられる。ROMデバイスでは、パスワード・レジスタ
22のパスワード・ビットはやはりユーザが指定する
が、デバイスを製作した後で変えることはできない。パ
スワード・レジスタ22の全てのビットが1の場合は、
デフォルトの条件として、このデバイスは非安全であ
る。フラッシュ・デバイスを消去すると一般に全てが1
にリセットされるので、フラッシュ・メモリを消去した
後、これらのデバイスの初期状態は非安全である。1と
0の任意の組合わせが安全または非安全のデフォルトの
条件になるようにセキュリティプロトコルを実現するこ
とができる。例えば或る形態では、パスワード・レジス
タ22が全て1の場合にそのデバイスは非安全であり、
パスワード・レジスタ22が全て0の場合にそのデバイ
スは安全である。第2の形態では、パスワード・レジス
タ22が全て1または全て0の場合にそのデバイスは非
安全である。
【0012】コードセキュリティモジュール20の機能
は、データがメモリ14からプロセッサ・コア12へ通
過する時に識別するための信号をメモリ・バッファ18
に与えることである。コードセキュリティパスワードを
メモリ14のパスワード・レジスタ22から読み取る
と、パスワード・レジスタ22の内容の複写をコードセ
キュリティモジュール20のロック・レジスタ24にロ
ードする。比較器26は任意の形の組合わせ論理または
逐次論理を用いて、ロック・レジスタ24の内容とキー
・レジスタ28の内容とを比較する。ロック・レジスタ
24の内容とキー・レジスタ28の内容が一致する場合
は、コードセキュリティモジュール20はメモリ・バッ
ファ18に命じて、メモリ14からプロセッサ・コア1
2にデータを送ることを許可する。ロック・レジスタ2
4の内容とキー・レジスタ28の内容が一致しない場合
は、コードセキュリティモジュール20はメモリ・バッ
ファ18に命じて、メモリ14からプロセッサ・コア1
2にデータを送ることを阻止する。要するに、メモリ1
4とプロセッサ・コア12との間のデータ経路を開くた
めには、パスワード・レジスタ22を読み取り、キー・
レジスタ28に書き込み、そしてロック・レジスタ24
の内容とキー・レジスタ28の内容とが一致することが
必要である。
【0013】メモリ14とプロセッサ・コア12の間の
データ経路16を半導体デバイスの開発と作動のいくつ
かの段階で開く(すなわち非安全モードにする)必要が
ある。デバイスのメモリとプロセッサ・コアの間の非安
全な通信の環境の一例はデバッグ環境である。開発中
は、データ経路を非安全にしてソフトウエアの開発とデ
バッグを可能にしなければならない。非安全な通信の環
境の別の例はフラッシュ・プログラミング環境である。
普通、コードの開発と試験中はこの環境にある。メモリ
とプログラム・コアの間の非安全な通信の環境の別の例
は任意の顧客プログラミング環境である。これはブート
ROM内のオンチップ・ブート・コードを用いてフラッ
シュ・メモリにプログラムする場合や、デバイスの外部
のメモリからのコードを実行するときにフラッシュ・メ
モリにアクセスする必要がある場合などである。上に述
べた全ての開放環境においてデバイスを開く(すなわち
非安全モードにする)プロセスは同じであり、これを図
2のパスワード一致の流れ図に示す。
【0014】図2に示す一連の方法のステップをパスワ
ード一致フローと呼ぶ。図2のステップ30で、最初、
デバイスは安全モードである。ステップ32に示すよう
に、ロック・レジスタ24の値とキー・レジスタ28の
値は未知である。ステップ34で、メモリ24のパスワ
ード・レジスタ22に読取り動作を行う。ステップ34
の読取り動作はいわゆるダミー読取り動作でよい。その
唯一の目的は、パスワード・レジスタの内容を捕らえて
ロック・レジスタ24に複写できるように、メモリ14
とメモリ・バッファ18の間のデータ経路内にパスワー
ド・レジスタ22の内容を置くことである。ステップ3
6で、パスワード・レジスタ22の内容をロック・レジ
スタ24に複写する。
【0015】パスワードの長さは、パスワード・レジス
タ22とロック・レジスタ24とキー・レジスタ28の
ビット長とを決定し、コードを試行錯誤で解読するのに
必要な時間とパスワード・データを記憶し処理するため
の専用のメモリと回路の量とを勘案して選択される。コ
ードを解読するのに必要な時間とパスワード・データを
記憶し処理するのに必要なゲート数から見て、64ビッ
トのビット長を有するパスワードが適当であることが分
かった。56ビットまたは128ビットのビット長を有
するパスワードも適当である。一般に、パスワードのビ
ット長が大きくなるに従って、試行錯誤方法により解読
するのが困難になる。どのビット長が好ましいというこ
とはないが、ビット長がさらに長くなると、パスワード
を解読するのに要する時間は理論的に不可能になる。
【0016】ステップ38で、ロック・レジスタの内容
と、全てが1というデフォルトの条件とを比較する。ス
テップ39で、ロック・レジスタの内容が全て1と判定
した場合は、ステップ40でデフォルトの動作としてデ
バイスを非安全にし、デバイスのプロセッサ・コアがメ
モリ14にアクセスできるようにする。ロック・レジス
タ24の内容の全てが1でない場合は、ステップ42で
パスワードをキー・レジスタ28に書き込む。ステップ
44で、ロック・レジスタ24の内容とキー・レジスタ
28の内容とを比較する。ロック・レジスタ24の内容
とキー・レジスタ28の内容とが一致する場合は、ステ
ップ40でデバイスを非安全にする。ロック・レジスタ
24の内容とキー・レジスタ28の内容とが等しくない
場合は、図2のパスワード一致フローはステップ42に
戻り、必要であれば次のキー・レジスタ28への書込み
を行う。
【0017】図2のパスワード一致フローは、デバイス
が安全モードにある環境でも適用される。最終顧客のア
プリケーションではデバイスは非安全モードで動作し、
プロセッサ・コアはデバイスのメモリ空間内に記憶され
ているプログラム・コードを実行することができる。デ
バイスが非安全モードのときにJTAGデバイスなどの
コード・デバッガを半導体デバイスに結合すると、コー
ドセキュリティモジュールは直ちにデバイスを安全モー
ドにする。半導体デバイスをリセットしてデバイスをマ
イクロプロセッサ・モードにすると、デフォルトの値に
よりデバイスは安全モードになる。デバイスのマイクロ
プロセッサ・モードの特徴は、デバイスが外部フラッシ
ュなどの外部メモリ位置からのコードを実行することが
可能なことである。この場合はデバイスを安全モードに
し、プロセッサ・コアがデバイスの不揮発性メモリ空間
にアクセスできるように非安全にしなければならない。
同様に、オンチップ・ブートROMを呼び出す場合は、
デバイスを安全モードに切り替える。
【0018】エンド・ユーザの半導体デバイス内で用い
るアプリケーション・コードの開発が完了すると、パス
ワードを選択してデバイスのメモリ空間のパスワード・
レジスタに書き込まなければならない。エンド・ユーザ
に配布する前に、デバイスは必ずアプリケーション・モ
ードまたはランタイム・モードでリセットまたはブート
するためにセットする。このように、デバイスがアプリ
ケーション・モードにある間はデバイスは非安全であ
り、デバイスのプロセッサ・コアとメモリの間で自由に
通信することができる。しかしデバッグ・ツールをデバ
イスに結合する場合、またはデバイスをブートするため
にリセットしてプロセッサが外部メモリ資源またはブー
トROMからのデータを実行する場合は、デバイスは直
ちに安全モードになってデバイスのメモリへのアクセス
を阻止する。デバイスのパスワードを選択してここに説
明したセキュリティ方式に従って動作させるのではな
く、メモリ内のパスワード・レジスタを全て1にセット
してコードセキュリティ機能性を働かせないまま、ここ
に説明したコードセキュリティ機能を持つ半導体デバイ
スを動作させてもよい。パスワード・レジスタを全て1
にセットした場合は、メモリのパスワード・レジスタを
読み取るとデバイスはデフォルトの条件として安全モー
ドから非安全モードに切り替わる。
【0019】また理解すべきであるが、半導体デバイス
の他の構成要素は、安全なデータ経路上でプロセッサ・
コアの反対側にこれらの構成要素を置くことにより安全
になる。コードセキュリティモジュール20とメモリ・
バッファ18はデータ経路16上にセキュリティチェッ
ク・ポイントを形成する。このように、データ経路16
上でプロセッサ・コア12の反対側に置かれた全ての構
成要素は、本発明の教示に従って安全モードまたは非安
全モードにすることができる。例えば、周辺ポートがデ
ータ経路16を通してプロセッサ・コア18と通信のみ
できるように半導体デバイス10を設計した場合は、コ
ードセキュリティモジュール20とメモリ・バッファ1
8を用いて周辺ポートを安全または非安全にすることが
できる。周辺ポートへのアクセスを非安全にするパスワ
ードをメモリ空間14内に記憶して、コードセキュリテ
ィモジュール20内でキー・レジスタ28に書き込まれ
たパスワードと比較する。本発明の方法を用いれば、安
全なデータ経路16を用いて、プロセッサ・コア12の
反対側に置いた任意の構成要素のアクセス経路をセキュ
リティの目的で制限することができる。
【0020】本発明について詳細に説明したが、特許請
求の範囲に規定されている本発明の範囲から逸れること
なく、ここに説明した教示に対する種々の変更や修正や
代替が可能であることが理解される。
【0021】以上の説明に関して更に以下の項を開示す
る。 (1) 半導体デバイスのプロセッサ・コアにより該半
導体デバイスのローカル・メモリへのアクセスを制御す
る方法であって、第1のメモリ位置への読取り動作を行
うステップと、前記第1のメモリ位置の内容を前記半導
体デバイスと前記ローカル・メモリの間に結合するデー
タ・バス上に置くステップと、前記第1のメモリ位置の
内容と第2のメモリ位置の内容とを比較するステップ
と、前記第1のメモリ位置の内容が前記第2のメモリ位
置の内容に等しい場合は前記プロセッサ・コアがデータ
を前記ローカル・メモリから受けることを許可するステ
ップと、を含む、前記方法。
【0022】(2) 前記第1のメモリ位置の内容をパ
スワード・レジスタに書き込むステップを更に含み、前
記第1のメモリ位置の内容と前記第2のメモリ位置の内
容とを比較する前記ステップは前記パスワード・レジス
タの内容と前記第2のメモリ位置の内容とを比較するス
テップを含む、第1項記載の半導体デバイスのプロセッ
サ・コアによる前記半導体デバイスのローカル・メモリ
へのアクセスを制御する方法。
【0023】(3) 前記第1のメモリ位置の内容をパ
スワード・レジスタに書き込むステップを更に含み、前
記第1のメモリ位置の内容と前記第2のメモリ位置の内
容とを比較する前記ステップは前記パスワード・レジス
タの内容とキー・レジスタの内容とを比較するステップ
を含む、第1項記載の半導体デバイスのプロセッサ・コ
アにより前記半導体デバイスのローカル・メモリへのア
クセスを制御する方法。
【0024】(4) 前記第1のメモリ位置の内容をパ
スワード・レジスタに書き込むステップを更に含み、前
記第1のメモリ位置の内容と前記第2のメモリ位置の内
容とを比較する前記ステップは前記パスワード・レジス
タの内容とキー・レジスタの内容とを比較するステップ
を含み、前記第1のメモリ位置の内容が前記第2のメモ
リ位置の内容に等しい場合は前記プロセッサ・コアがデ
ータを前記ローカル・メモリから受けることを許可する
前記ステップは前記パスワード・レジスタの内容と前記
キー・レジスタの内容との比較を表す信号をメモリ・バ
ッファに受けるステップを含む、第1項記載の半導体デ
バイスのプロセッサ・コアにより前記半導体デバイスの
ローカル・メモリへのアクセスを制御する方法。
【0025】(5) 前記第1のメモリ位置が所定のデ
フォルトの内容を含む場合は前記第2のメモリ位置の内
容に関わらず前記プロセッサ・コアがデータを前記ロー
カル・メモリから受けることを許可することを更に含
む、第1項記載の半導体デバイスのプロセッサ・コアに
より前記半導体デバイスのローカル・メモリへのアクセ
スを制御する方法。 (6) 前記第1のメモリ位置が全て1を含む場合は前
記第2のメモリ位置の内容に関わらず前記プロセッサ・
コアがデータを前記ローカル・メモリから受けることを
許可することを更に含む、第1項記載の半導体デバイス
のプロセッサ・コアにより前記半導体デバイスのローカ
ル・メモリへのアクセスを制御する方法。
【0026】(7) プロセッサ・コアと、メモリと、
前記プロセッサ・コアとローカル・メモリの間に設けら
れたメモリ・バッファと、を含む半導体デバイスであっ
て、前記メモリ・バッファは、第1組のデータと第2組
のデータとを比較した後、前記メモリと前記プロセッサ
の間でデータを送受することを許可し、データの前記第
1の集合はメモリ内に記憶されたパスワード・データの
第1の集合を含み、前記第2組のデータは第2組のパス
ワード・データを含み、パスワード前記第1組のデータ
が前記第2組のパスワード・データに等しい場合は、前
記メモリ・バッファはデータをメモリから前記プロセッ
サ・コアに送ることを許可する、半導体デバイス。
【0027】(8) 前記第1組のデータはメモリ内に
記憶された第1組のパスワード・データを含み、前記第
2組のデータは第2組のパスワード・データを含み、前
記第1組のパスワード・データが前記第2組のパスワー
ド・データに等しくない場合は、前記メモリ・バッファ
はメモリから前記プロセッサ・コアへのデータの送出を
阻止する、第7項記載の半導体デバイス。 (9) 前記第1組のデータはメモリ内に記憶された第
1組のパスワード・データを含み、前記第2組のデータ
は第2組のパスワード・データを含み、前記第1組のパ
スワード・データが前記第2組のパスワード・データに
等しくない場合は、前記メモリ・バッファはメモリから
前記プロセッサ・コアへのデータの送出を阻止し、前記
メモリから前記プロセッサ・コアへのデータの送出が阻
止されても、前記半導体デバイスの他の構成要素へのア
クセスは許可される、第7項記載の半導体デバイス。 (10) 半導体デバイスのソフトウエアへの無許可の
アクセスを防ぐシステムと方法を提供する。本発明の半
導体デバイスはデバイスのプロセッサ・コア(12)と
デバイスのメモリ(14)の間のデータ経路内にメモリ
・バッファ(18)を含む。データ経路内で自由に通信
できるようにするパスワードをメモリ内の所定の位置
(22)に記憶する。メモリ位置(22)を読み取る
と、コードセキュリティモジュール(20)にパスワー
ドを与える。コードセキュリティモジュール(20)に
与えたパスワードとキー・レジスタ(28)内のユーザ
が与えたデータ・ストリングとを比較する。パスワード
とデータ・ストリングが一致する場合は、メモリとプロ
セッサ・コアの間の通信に用いられるパスワード・デー
タ経路は開く。パスワードとデータ・ストリングとが一
致しない場合は、メモリとプロセッサ・コアの間の通信
に用いられるパスワード・データ経路は閉じる。
【図面の簡単な説明】
添付の図面を参照すれば本発明の完全な理解が得られ
る。各図の同じ参照番号は同じ機能を示す。
【図1】ディジタル信号処理プロセッサのソフトウエア
セキュリティ構成要素の機能的ブロック図を示す。
【図2】本発明によるパスワード一致フローの流れ図を
示す。
【符号の説明】
12 プロセッサ・コア 14 メモリ 18 メモリ・バッファ 20 コードセキュリティモジュール 22 メモリ内のパスワード位置 28 キー・レジスタ
フロントページの続き (72)発明者 デイヴィッド ピー、フォリー アメリカ合衆国 テキサス、ヒュースト ン、 ヴィスタモント ドライブ 15019 Fターム(参考) 5B017 AA03 BA05 CA13 CA15 5B076 FC01 FC08

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 半導体デバイスのプロセッサ・コアによ
    り該半導体デバイスのローカル・メモリへのアクセスを
    制御する方法であって、 第1のメモリ位置への読取り動作を行うステップと、 前記半導体デバイスと前記ローカル・メモリとの間を結
    合するデータ・バス上に前記第1のメモリ位置の内容を
    置くステップと、 前記第1のメモリ位置の内容と第2のメモリ位置の内容
    とを比較するステップと、 前記第1のメモリ位置の内容が前記第2のメモリ位置の
    内容に等しい場合は前記プロセッサ・コアがデータを前
    記ローカル・メモリから受けることを許可するステップ
    と、を含む、前記方法。
  2. 【請求項2】 プロセッサ・コアと、 メモリと、 前記プロセッサ・コアと前記ローカル・メモリの間に設
    けられたメモリ・バッファと、を含む半導体デバイスで
    あって、 前記メモリ・バッファは、第1組のデータと第2組のデ
    ータとを比較した後、前記メモリと前記プロセッサ・コ
    アの間でデータを送受することを許可し、前記第1組の
    データは前記メモリ内に記憶された第1組のパスワード
    ・データを含み、 前記第2組のデータは第2組のパスワード・データを含
    み、前記第1組のパスワード・データデータが前記第2
    組のパスワード・データに等しい場合は、前記メモリ・
    バッファはデータを前記メモリから前記プロセッサ・コ
    アに送ることを許可する、前記半導体デバイス。
JP2002213552A 2001-07-24 2002-07-23 半導体デバイス内のコードとデータにセキュリティを与えるためのシステムと方法 Pending JP2003091459A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US30768301P 2001-07-24 2001-07-24
US307683 2001-07-24
US10/157,552 US7444476B2 (en) 2001-07-24 2002-05-29 System and method for code and data security in a semiconductor device
US157552 2002-05-29

Publications (1)

Publication Number Publication Date
JP2003091459A true JP2003091459A (ja) 2003-03-28

Family

ID=26854234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002213552A Pending JP2003091459A (ja) 2001-07-24 2002-07-23 半導体デバイス内のコードとデータにセキュリティを与えるためのシステムと方法

Country Status (3)

Country Link
US (1) US7444476B2 (ja)
EP (1) EP1280038B1 (ja)
JP (1) JP2003091459A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006042289A (ja) * 2004-06-24 2006-02-09 Toshiba Corp マイクロプロセッサ
JP2009123051A (ja) * 2007-11-16 2009-06-04 Ricoh Co Ltd 半導体集積回路、機密保護方法、機密保護プログラム及び記録媒体

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904493B2 (en) * 2002-07-11 2005-06-07 Animeta Systems, Inc. Secure flash memory device and method of operation
EP1550341B1 (en) * 2002-10-07 2007-01-03 Telefonaktiebolaget LM Ericsson (publ) Security and privacy enhancements for security devices
EP1556992B1 (en) * 2002-10-31 2016-10-19 Telefonaktiebolaget LM Ericsson (publ) Secure implementation and utilization of device-specific security data
JP4347582B2 (ja) * 2003-02-04 2009-10-21 パナソニック株式会社 情報処理装置
US8112618B2 (en) * 2004-04-08 2012-02-07 Texas Instruments Incorporated Less-secure processors, integrated circuits, wireless communications apparatus, methods and processes of making
JP3804670B2 (ja) * 2004-04-21 2006-08-02 セイコーエプソン株式会社 半導体装置、電子機器及び半導体装置のアクセス制御方法
JP4612461B2 (ja) * 2004-06-24 2011-01-12 株式会社東芝 マイクロプロセッサ
KR100666328B1 (ko) * 2005-02-11 2007-01-09 삼성전자주식회사 온 칩 메모리를 이용한 기밀 정보 보안 장치 및 보안 방법
US7813507B2 (en) * 2005-04-21 2010-10-12 Intel Corporation Method and system for creating random cryptographic keys in hardware
EP1845470B1 (en) * 2006-04-13 2016-11-09 STMicroelectronics (Research & Development) Limited Multiple purpose integrated circuit
JP2008165534A (ja) * 2006-12-28 2008-07-17 Oki Electric Ind Co Ltd 半導体装置
US8156317B2 (en) * 2008-05-16 2012-04-10 Ati Technologies Ulc Integrated circuit with secure boot from a debug access port and method therefor
EP2618284B8 (en) * 2010-09-15 2019-05-22 Fujitsu Client Computing Limited Information processing device, method of controlling information processing device, information processing device control program and computer readable recording medium with information processing device control program recorded thereon
US8813174B1 (en) 2011-05-03 2014-08-19 Symantec Corporation Embedded security blades for cloud service providers
US8539602B2 (en) 2011-06-23 2013-09-17 Texas Instruments Incorporated Microcontroller with secure feature for multiple party code development
US20160006526A1 (en) * 2014-07-03 2016-01-07 Qualcomm Incorporated Systems and methods of network clock comparison

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293610A (en) * 1989-08-04 1994-03-08 Motorola, Inc. Memory system having two-level security system for enhanced protection against unauthorized access
KR940005696B1 (ko) * 1991-11-25 1994-06-22 현대전자산업 주식회사 보안성 있는 롬(rom)소자
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
JP3277730B2 (ja) * 1994-11-30 2002-04-22 株式会社日立製作所 半導体メモリ装置、及び、それを用いた情報処理装置
JPH11282671A (ja) * 1998-03-31 1999-10-15 Texas Instr Japan Ltd コンピュータシステム
FI981232A (fi) * 1998-06-01 1999-12-02 Nokia Mobile Phones Ltd Menetelmä sulautetun järjestelmän ohjelmiston suojaamiseksi ja sulautettu järjestelmä
US6460139B1 (en) * 1998-11-20 2002-10-01 Compaq Information Technologies Group, L.P. Apparatus and method for programmably and flexibly assigning passwords to unlock devices of a computer system intended to remain secure
US6754784B1 (en) * 2000-02-01 2004-06-22 Cirrus Logic, Inc. Methods and circuits for securing encached information
JP2002082902A (ja) * 2000-09-08 2002-03-22 Nec Eng Ltd アクセス競合制御回路

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006042289A (ja) * 2004-06-24 2006-02-09 Toshiba Corp マイクロプロセッサ
JP4559794B2 (ja) * 2004-06-24 2010-10-13 株式会社東芝 マイクロプロセッサ
US8191155B2 (en) 2004-06-24 2012-05-29 Kabushiki Kaisha Toshiba Microprocessor
JP2009123051A (ja) * 2007-11-16 2009-06-04 Ricoh Co Ltd 半導体集積回路、機密保護方法、機密保護プログラム及び記録媒体

Also Published As

Publication number Publication date
EP1280038A2 (en) 2003-01-29
US20030023871A1 (en) 2003-01-30
US7444476B2 (en) 2008-10-28
EP1280038B1 (en) 2014-10-08
EP1280038A3 (en) 2009-05-27

Similar Documents

Publication Publication Date Title
JP2003091459A (ja) 半導体デバイス内のコードとデータにセキュリティを与えるためのシステムと方法
JP5419776B2 (ja) 半導体装置及びデータ処理方法
JP4245662B2 (ja) マイクロプロセッサのシリアル番号へのソフトウェアアクセスのための方法および装置
EP0890151B1 (en) Method and apparatus for encrypting and decrypting microprocessor serial numbers
US5911778A (en) Processing system security
US9104894B2 (en) Hardware enablement using an interface
US6622184B1 (en) Information processing system
US7133990B2 (en) System and method for controlling access to protected data stored in a storage unit
EP0514289B1 (en) Computer protection system
EP0892954B1 (en) Method and apparatus for upgrading the software lock of a microprocessor
JP5114617B2 (ja) 秘密鍵を保護する、セキュア端末、プログラム、および方法
US5991880A (en) Overridable data protection mechanism for PLDs
US20070237325A1 (en) Method and apparatus to improve security of cryptographic systems
US6968420B1 (en) Use of EEPROM for storage of security objects in secure systems
US20080148001A1 (en) Virtual Secure On-Chip One Time Programming
WO1999059288A1 (en) A method and apparatus for hardware block locking in a nonvolatile memory
JPH04229346A (ja) プログラムコード保護用に使用すべきアドレスした情報のストリームのエンクリプション
JP2001356963A (ja) 半導体装置およびその制御装置
KR20060135467A (ko) 보호된 비휘발성 메모리를 사용하는 시스템 및 방법
CN109656869B (zh) 用于管理产品返回以供分析的方法和相应的产品
EP1410143A2 (en) Processor with protected test and debug mode
WO2005029272A2 (en) Method and device for data protection and security in a gaming machine
US7058980B1 (en) Device and method for protecting memory data against illicit access
US5657444A (en) Microprocessor with secure programmable read only memory circuit
JP5761880B2 (ja) 自動車

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090605