JP2000138917A - 安全計算システム及び方法 - Google Patents

安全計算システム及び方法

Info

Publication number
JP2000138917A
JP2000138917A JP15032199A JP15032199A JP2000138917A JP 2000138917 A JP2000138917 A JP 2000138917A JP 15032199 A JP15032199 A JP 15032199A JP 15032199 A JP15032199 A JP 15032199A JP 2000138917 A JP2000138917 A JP 2000138917A
Authority
JP
Japan
Prior art keywords
program
secure
memory
security
verification
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.)
Abandoned
Application number
JP15032199A
Other languages
English (en)
Other versions
JP2000138917A5 (ja
Inventor
Sr Frank L Laczko
エル.ラクズコ シニア フランク
Ferguson Edward
ファーガソン エドワード
E Stith Donald
イー.ステイス ドナルド
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
Priority claimed from US09/087,229 external-priority patent/US5974495A/en
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JP2000138917A publication Critical patent/JP2000138917A/ja
Publication of JP2000138917A5 publication Critical patent/JP2000138917A5/ja
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

(57)【要約】 【課題】 秘密鍵により暗号化されたリアル・タイム・オ
ペレーティング・システムを記憶する安全計算システム
及び方法を提供する。 【解決手段】 外部からアクセスできないブートROM
(135)に初期化プログラム及び前記秘密鍵に対応す
る公開鍵を記憶し、初期化では、前記ブートROMが前
記プログラムの少なくとも検証部を復号し、検証合格で
は通常動作が使用可能にされ、一方検証不合格ではこの
システムが使用不能又はそのアプリケーション・プログ
ラムが使用不能にされる。暗号鍵(703)としてチッ
プ識別番号の少なくとも一部を使用して圧縮映像データ
を暗号化することにより、ファースト・イン・ファース
ト・アウト・メモリ・バッファに記憶された圧縮映像デ
ータの不正使用を防止する。映像伸張に必要なときは、
データをメモリ(705)から再読み出して復号する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明の技術分野は、安全計
算のシステム及び方法に関し、特に、選択したコンピュ
ータ・サービスの無許可の使用からユーザを防止するよ
うに保障された、製造後の分野から提供されるプログラ
ムを実行するコンピュータ・システム及び方法に関す
る。このコンピュータ・システムは、更に、安全な方法
により機能的に再プログラム可能とすることもできる。
【0002】
【従来の技術】現在、エア放送により送出する以外に、
ユーザのテレビジョンに映像プログラムを送出する多く
の方法が存在する。テレビジョン視聴者にこのようなプ
ログラムを供給するために多数のサービス・プロバイダ
が利用可能である。典型的には、基本料金に対する基本
サービス、及び追加料金に対して利用可能な追加サービ
スが存在する。これらの基本サービスは、典型的には、
放送網プログラム、ケーブル・スーパーステーション、
音楽及びスポーツ・プログラムが含まれる。これらの基
本プログラム・サービスは、典型的には、広告により維
持されている。従って、これらの基本プログラム・サー
ビスは、エア放送テレビジョンよるものと同一の経済性
に基づいて運用している。追加サービスは、典型的に
は、スポーツ及び映画のように、いわゆる「プレミア
ム」プログラムが含まれる。これらのプレミアム・プロ
グラム・サービスは、典型的には、広告者により維持さ
れていない。これらは、高価値のサービスとしてテレビ
ジョン・ユーザによって理解されており、テレビジョン
・ユーザは、これらのサービス・プロバイダにこれらの
サービスに対する追加料金を支払うことに異存はない。
サービス・プロバイダは、コンテンツ・プロバイダに対
してプログラムを供給する代償としてこの追加料金の大
部分を手渡している。サービス・プロバイダによって入
手可能にされたこれらのプレミアム・サービスに関して
1つ又は複数の段階が存在し得る。ペイ・パー・ビュー
・プログラムは、典型的には、時間的に微妙、かつテレ
ビジョン・ユーザにより非常に価値があると理解されて
いる音楽コンサート及びスポーツ・イベントを含む。更
に、ペイ・パー・ビューは、テレビジョン・ユーザが特
定の映画の配信を要求するビデオ・オン・デマンドも含
む。このような階層のサービスは、テレビジョン・ケー
ブルを含め、エア・マイクロ波放送及び直接衛星放送を
介してプログラムを送出する現在の全ての代替的な方法
に存在する。
【0003】このような代替的なプログラム・サービス
の受信は、ケーブル・テレビジョンの開始以来、ユーザ
が備えているテレビジョン受像機の及ばない付加的ハー
ドウェア装置を必要とした。最初、この付加的ハードウ
ェア装置は、送信周波数から放送テレビジョンで使用さ
れている標準周波数へ信号周波数を単純に変換してい
た。このような標準周波数は、ユーザが備えているテレ
ビジョン受像機により受信することができる。この付加
的ハードウェア装置は、テレビジョン受像機の上に通常
設置することに関連して、「セット・トップ・ボック
ス」として一般的に知られている。現在のセット・トッ
プ・ボックスは、前述した階層のセキュリティを取り扱
う。
【0004】
【発明が解決しようとする課題】従来、これらのセット
・トップ・ボックスは、固定機能のマシンであった。こ
れは、セット・トップ・ボックスの動作能力が製造時に
固定され、一旦設置すれば改変できないことを意味す
る。このようなセット・トップ・ボックスのセキュリテ
ィを損なうことを意図する者は、セキュリティ・プロト
コルのリバース・エンジニアリングのためにかなりのリ
ソースを必要とすることになる。従って、これらの固定
機能のセット・トップ・ボックスは安全とみなされる。
セット・トップ・ボックスの将来の提案は、危険におけ
るセキュリティを前提としている。現在想定している将
来のセット・トップ・ボックスは、更に能力のあるマシ
ンとなる。これらのセット・トップ・ボックスは、従来
知られていた映像プログラム・オプション、ディジタル
・ビデオ・ディスク(DVD)のような固定媒体に記憶
された映像プログラムを見ること、電話又はケーブル・
モデムを介するインターネットのブラウジング、及びモ
デム又は映像データ・ストリームを介してダウンロード
したビデオ・ゲームのプレーのように、複数のホーム娯
楽オプションを可能にさせることが期待されている。設
置後に、プログラムされたセット・トップ・ボックスを
使用可能にすると、セキュリティが非常に複雑になる。
当該技術分野では、階層の映像プログラム・セキュリテ
ィを損なうことなく、セット・トップ・ボックスのフィ
ールド再プログラミングを可能にさせる安全な方法を有
することが有用であると思われる。
【0005】
【課題を解決するための手段】本発明は、安全計算シス
テムである。プログラム、好ましくは、安全計算システ
ムのリアル・タイム・オペレーティング・システムは、
秘密鍵(private key)により暗号化され
る。データ・プロセッサは、集積回路の外部からアクセ
スできない同一集積回路上のブートROMを含む。この
ブートROMは、プログラムを暗号化するために使用さ
れる秘密鍵に対応する公開鍵(public key)
を含む。初期化において、ブートROMは、少なくとも
プログラムの検証部を復号する。これは、プログラムの
セキュリティについて検証合格、又は検証不合格が可能
である。ブートROMは、リアル・タイム・オペレーテ
ィング・システムの検証に続いてアプリケーション・プ
ログラムを検証するための付加的な公開鍵を記憶しても
よい。代わって、これらの付加的な公開鍵は、不揮発性
メモリに記憶されてもよい。
【0006】プログラムのセキュリティについて検証合
格では、通常の動作が使用可能にされる。検証不合格で
は、いくつかの修復措置が実行できる。このシステム
は、使用不能にすることもでき、又はリアル・タイム・オ
ペレーティング・システムの検証合格に続くアプリケー
ションについて検証不合格の場合に、そのアプリケーシ
ョン・プログラムのみを使用不能することもできる。こ
のシステムは安全計算システムのモデムを使用してシス
テム・ベンダーにセキュリティ違反について知らせるこ
ともできる。
【0007】診断プログラムはプログラムのセキュリテ
ィをチェックすることができる。このプログラムはメモ
リにおける所定の物理アドレスに記憶される。プログラ
ムを記憶しているこれらの物理アドレスの再配置は、阻
止される。診断プログラムをロードして、ある基準によ
り所定の物理アドレスにおけるプログラムをチェックす
る。次に、このプログラムが基準と一致すれば、診断プ
ログラムは、このプログラムを安全性に関して検証合格
にし、これが基準と一致しなければ、安全性に関して検
証不合格にする。
【0008】このプログラムは、特殊なテーブル・ルッ
ク・アサイド・バッファを使用して再配置不可能に作成
される。このテーブル・ルック・アサイド・バッファ
は、固定仮想アドレス・レジスタ及び複数の書き込み可
能仮想アドレス・レジスタを有する。これらの仮想アド
レス・レジスタは、それぞれが比較器及び対応する物理
アドレス・レジスタを有する。更に、固定仮想アドレス
・レジスタに対応する物理アドレス・レジスタも固定で
ある。固定仮想アドレス・レジスタ及び固定物理アドレ
ス・レジスタは、プログラムを記憶しているアドレスの
範囲を包含している。固定仮想アドレス・レジスタ及び
固定物理アドレス・レジスタは、好ましくは、金属層を
介して製造時にマスク・プログラマブルである。
【0009】固定仮想アドレス・レジスタ及び固定物理
アドレス・レジスタは、命令セット・アーキテクチャを
介して表面的に書き込み可能なレジスタであってもよ
い。この場合に、これらのレジスタに書き込む試みは、
これらの内容を改変させない。その上、これらのレジス
タに書き込む試みは、障害又は例外を発生させない。代
わって、固定仮想アドレス・レジスタ及び固定物理アド
レス・レジスタは、命令セット・アーキテクチャを介し
てアクセス不可であってもよい。
【0010】本発明は、セット・トップ・ボックスにお
けるファースト・イン・ファースト・アウト・メモリ・
バッファに記憶された圧縮映像データの無許可の使用を
防止する。現在の圧縮ビデオ技術は、データを均一に圧
縮しない。このために、均一に圧縮された映像データ・
レートは、均一に伸張された映像データ・レートに変換
されない。典型的なセット・トップ・ボックスは、オー
バーフロー又はアンダーフローから伸張処理を阻止する
ためにファースト・イン・ファースト・アウト(FIF
O)バッファとしてオフ・チップDRAMを用いてい
る。データ・プロセッサとFIFOバッファとして使用
されているメモリの部分との間のメモリ・バッファ・ト
ラヒックは、傍受及び無許可の使用の対象にされ易い。
【0011】本発明に使用されているデータ・プロセッ
サは、単一の集積回路上に配置される。このデータ・プ
ロセッサは、固有のチップ識別番号を記憶したチップ識
別読み出し専用レジスタを含む。この固有のチップ識別
番号は、製造中に、例えばチップ識別番号レジスタにお
けるヒューズ又はアンチヒューズ・リンクのレーザ・プ
ロービング又は選択的な作動により固定される。データ
・プロセッサは、暗号化鍵としてチップ識別番号の少な
くとも一部を使用することにより、圧縮映像データ・ス
トリームを暗号化する。この暗号化データは、FIFO
バッファとして使用するメモリ領域に記憶される。この
データは、ビデオ伸張に必要とされるときにメモリから
再読み出しされる。次いで、データ・プロセッサは、チ
ップ識別番号の少なくとも一部を復号鍵(decryp
tion key)として用い、再読み出しデータを復
号する。
【0012】固有のチップ識別番号を有する特定のデー
タ・プロセッサにより、FIFOバッファに圧縮形式に
より一時的に記憶された圧縮映像データ・ストリームを
単に読み出す技術を使用することもできる。チップ識別
番号は特定のデータ・プロセッサに固有なので、他の同
一セット・トップ・ボックス・システムであっても、他
のデータ・プロセッサによって、コードを破壊すること
なく、映像データを処理することは、不可能である。暗
号化及び復号化は、ユーザに対して透過性であり、デー
タ・プロセッサ内で付加的な小処理容量のみを必要とす
るだけである。
【0013】本発明の他の特徴は、プログラム開発に通
常用いるデバッガ/エミュレータ・ツールに使用される
ときに、コンピュータ・システムのセキュリティに関係
する。デバッガ/エミュレータ・ツールの動作を制限す
るように特殊な手順がなければ、コンピュータ・システ
ムのセキュリティは、損なわる。
【0014】本発明は、秘密暗号鍵及び公開復号鍵を用
いた暗号化システムを使用する。秘密暗号鍵は、プログ
ラム用の少なくとも検証トークンを暗号化するために使
用される。秘密暗号鍵に対応する公開復号鍵は、安全計
算システムに記憶される。安全計算システム用のデバッ
ガ/エミュレータを各初期化では、セキュリティ・スク
リーンが実行される。これは、そのプログラムは安全な
プログラムか、又は安全でないプログラムかの判断を含
む。安全計算システムは、秘密暗号鍵を用いた検証トー
クンを復号する。復号されたこの検証トークンは、プロ
グラムが安全なプログラムか、又は安全でないプログラ
ムかを表示する。プログラムが安全なプログラムであれ
ば、デバッガ/エミュレータは処理モードにより動作す
る。この処理モードは、デバッガ/エミュレータがプロ
グラムにアクセスするのを可能にし、一方、安全計算シ
ステムの少なくとも1つのセキュリティ機能に対するア
クセスを禁止する。プログラムが安全でないプログラム
であれば、デバッガ/エミュレータはロー(raw)モ
ードにより動作する。ロー・モードは、デバッガ/エミ
ュレータが安全計算システムの全機能に対するアクセス
を可能にする。
【0015】更なるセキュリティ・レイヤは、安全計算
システム用を意図したオペレーティング・システム開発
に使用される。各データ・プロセッサは、読み出し専用
識別レジスタに記憶された固有チップ識別番号を含む。
プログラムが安全なプログラムであれば、デバッガ/エ
ミュレータはチップ識別番号を読み取る。チップ識別番
号のあるサブセット及びこのサブセットのみは、デバッ
ガ/エミュレータが安全なプログラムのためにロー・モ
ードにより動作するのを可能にする。チップ識別番号が
このサブセット内に含まれていないのであれば、デバッ
ガ/エミュレータは処理モードによってのみ動作する。
【0016】本発明のこれら及び他の特徴は、図面に示
されている。
【0017】
【発明の実施の形態】将来のセット・トップ・ボックス
は、既知の映像プログラム・オプション、ディジタル・
ビデオ・ディスク(DVD)のように固定された媒体に
記憶された映像プログラムを見ること、電話又はケーブ
ル・モデムを介してインターネット・ブラウジングする
こと、及びモデム又は映像データ・ストリームを介して
ダウンロードしたビデオ・ゲームをプレーすることのよ
うに、複数のホーム娯楽オプションを可能にする。この
ような種々の能力は、ダウンロードしたプログラムを受
信しランさせることができる完全なプログラマブル・デ
ータ・プロセッサによってのみ提供することが可能とさ
れる。これは、ホストのセキュリティ問題が始まる。シ
ステムの多くのユティリティは、種々のアプリケーショ
ンをダウンロード可能なことに依存しているので、無許
可のアプリケーションをダウンロードしている可能性も
存在する。このような無許可のアプリケーションは、意
図的に書き込まれて階層のセキュリティを損なう恐れが
ある。
【0018】完全にプログラム可能なセット・トップ・
ボックスは、3つの主要な形式の攻撃に対して傷付けら
れ易い。無許可のアプリケーションは、オペレーティン
グ・システム、多分、セキュリティのバイパスと相互に
作用する。セット・トップ・ボックスの不揮発性メモリ
は、元のオペレーティング・システムでなく、改変され
た常駐アプリケーションと置換されてもよい。この不揮
発性メモリは、新しいオペレーティング・システム置換
されてもよい。保護すべき最も重要な事項は、オペレー
ティング・システムである。このオペレーティング・シ
ステムが損なわれると、無許可の者は、オペレーティン
グ・システムが損なわれているということを隠蔽するこ
とを含め、殆どどのようなことも行う可能性がある。
【0019】図1はプログラム可能な多用途のセット・
トップ・ボックス・システム100の複数部分を概要形
成により示す。セット・トップ・ボックス・システム1
00は、テレビジョン・ケーブル101、直接受信機フ
ロント・エンド103、ディジタル・ビデオ・ディスク
(DVD)105、通常の電話回線107、及び赤外線
リモート・コントロール109からの入力に応答する。
これらの入力は、通常的なものであり、ここで説明した
ことより更に詳細に説明する必要はない。これら通常の
入力と本発明の部分との相互的な作用を以下更に詳細に
説明する。
【0020】セット・トップ・ボックス・システム10
0の中央部分は、セット・トップ・ボックス110であ
る。セット・トップ・ボックス110は、テレビジョン
・ケーブル101に接続されてケーブル・モデムをオプ
ションとして含むことができるビデオ・アナログ・ディ
ジタル変換器111と、直接受信機フロント・エンド1
03に接続されたビデオ・アナログ・ディジタル変換器
113、DVD105を受け入れ、かつ読み出すことが
できるDVDプレーヤと、電話回線107に接続された
音声帯域モデム117と、赤外線リモート・コントロー
ル109からの赤外線信号を受信できる赤外線受信機1
19とを含む入力に対してインタフェースをする。
【0021】セット・トップ・ボックス110は、ディ
ジタル媒体プロセッサ130からの映像データ・ストリ
ームを受け取って、対応する映像信号をテレビジョン受
像機151に供給する。典型的には、所望の映像データ
・ストリームは、テレビジョン受像機151が通常に受
信できる周波数を有する搬送波により変調される。ディ
ジタル媒体プロセッサ130は、ビデオ・ディジタル・
アナログ変換器121と協調して複数のフォーマットに
より映像信号を発生できることを意図している。セット
・トップ・ボックス・システム100の設定では、用い
た特定のテレビジョン受像機151の能力に対応するよ
うに、特定のフォーマットが選択される。オーディオ・
ディジタル・アナログ変換器123は、ディジタル媒体
プロセッサ130からオーディオ・データ・ストリーム
を受け取り、かつオーディオ・システム153にベース
・バンド・音声信号を供給する。この音声信号は、複数
のオーディオ・チャネル(即ち、ステレオ用の左チャネ
ル及び右チャネル)を包含できることを意図している。
更に、特定する任意のビデオ・ソースは、代替的な言
語、記述的な映像、又は他のセパレート・オーディオ・
プログラム(SAP)のように、符号化された複数のオ
ーディオ・データ・ストリームを含めてもよいことを意
図している。更に、オーディオ・データ・ストリーム
は、典型的には、テレビジョン受像機151により受信
して復調するための映像信号と同一の搬送波により、変
調されていることに注意すべきである。
【0022】セット・トップ・ボックス110のインテ
リジェント部は、ディジタル媒体プロセッサ130であ
る。ディジタル媒体プロセッサ130は、好ましくは、
単一の集積回路に実施される。本発明が意図しているよ
うに、セット・トップ・ボックス110を十分に安全に
するために、中央処理装置131及びブートROM13
5は、同一の集積回路上に配置されなければならないこ
とに注意すべきである。ディジタル媒体プロセッサ13
0は中央処理装置131を含む。中央処理装置131は
概要的に示されており、用いた構造に制限することを意
図するものではない。中央処理装置は、好ましくは、動
作モード、チャネル同調、セキュリティ機能等を選択す
るために必要な制御機能用のデータ処理能力を含む。中
央処理装置は、好ましくは更に、圧縮された映像信号及
び音声信号を伸張し、暗号化された映像信号を復号し、
受信した映像信号をユーザのテレビジョン受像機のフォ
ーマットに変換し、「ソフトウェア」ケーブル・モデム
及び音声帯域モデムとして動作し、かつ赤外線リモート
・コントロール109からの信号を復調するディジタル
信号処理能力を含む。中央処理装置131は、マイクロ
プロセッサ及びディジタル信号プロセッサ、必要な全て
の機能を可能とする信号データ・プロセッサ、又はマル
チプロセッサを含むことができる。以下で述べる詳細を
除き、中央処理装置の厳密な特性は本発明に関係ない。
【0023】ディジタル媒体プロセッサ130は、更に
チップ識別レジスタ133を含む。チップ識別レジスタ
133は、ディジタル媒体プロセッサ130を実施して
いる集積回路に固有の識別番号を保持するプログラム可
能な読み出し可能レジスタである。この識別番号は、好
ましくは、「命令セット・レベルでマイクロプロセッサ
を固有に識別する回路、システム及び方法(Circu
its、Systems、and Methods f
or Uniquely Identifying a
Microprocessor at the In
struction Set Level)と題して1
997年3月7日に出願された米国特許出願第08/8
13、887号において教えているように、実施され
る。この出願において説明しているように、固有の識別
コードは、集積回路試験に続くレーザ・プロービングに
より読み出し専用データ・レジスタに形成される。固有
のチップ識別番号は、ヒューズ若しくはアンチヒューズ
・リンクの選択的な溶断、又は他の技術により指定され
てもよい。この識別番号は、プログラムがセット・トッ
プ・ボックス110に使用している特定のディジタル媒
体プロセッサ130の正確な識別を検証可能にする。
【0024】ディジタル媒体プロセッサ130は、ブー
ト読み出し専用メモリ(ROM)135を含む。ディジ
タル媒体プロセッサ130は、中央処理装置131が電
力の初期印加毎にブートROM内に記憶されているプロ
グラム命令を実行し始めるように構築されている。ブー
トROM135の例示的なメモリ・マップを図2に示
す。当該技術分野において習熟している者は、種々の部
分の正確な記憶順序が詳細なデータ形式の存在ほど重要
でないことを理解すべきである。ブートROM135は
セルフ・ブート・コード201を含む。セルフ・ブート
・コード201は、ディジタル媒体プロセッサ130に
電力をそれぞれ初期印加した際に、中央処理装置131
により初期的に実行されるプログラム命令である。コン
ピュータ・システムを初期化する既知の処理に加えて、
セルフ・ブート・コード201は検証プログラムコード
202も含む。検証プログラムコード202は、以下、
図5に関連して、セルフ・ブート・コード201を更に
説明する。更に、ブートROM135は公開署名鍵を含
む。これらの公開署名鍵は、リアル・タイム・オペレーテ
ィング・システム(RTOS)公開署名鍵203、第1
のアプリケーション公開署名鍵205、第2のアプリケ
ーション公開署名鍵206〜第Nのアプリケーション公
開署名鍵207を含む。これらの公開署名鍵は、以下で
更に説明するようにして、プログラム認証の検証に用い
られている。
【0025】ディジタル媒体プロセッサ130は、更
に、テーブル・ルック・アサイド・バッファ(TLB)
137を含む。テーブル・ルック・アサイド・バッファ
137は、以下で更に説明するようにして、仮想メモリ
動作中にセキュリティを強化するために用いられる。
【0026】セット・トップ・ボックス110は、ディ
ジタル媒体プロセッサ130に対して双方向に接続され
たフラッシュ(電気的にプログラム可能な読み出し専用
メモリ)EPROM141を含む。フラッシュEPRO
M141はセット・トップ・ボックス・システム100
用の不揮発性メモリとして利用される。これは、電力供
給がオフされたときにメモリの内容を保持するので、不
揮発性メモリとして知られている。不揮発性メモリはリ
アル・タイム・オペレーティング・システム(RTOS)
及び常駐アプリケーションに必要とされる。図3はフラ
ッシュEPROM141の例示的なメモリ・マップを示
す。フラッシュEPROM141は、リアル・タイム・オ
ペレーティング・システム(RTOS)210を含む。
RTOS210は、ディジタル媒体プロセッサ130が
種々のデータ・ストリームを受け取り、これらを受け取
るに従って、即ち「リアル」タイムで処理する。RTO
S210は、更に、赤外線リモート・コントロール10
9及び赤外線受信機119からのオペレータ制御に応答
するようにディジタル媒体プロセッサ130を使用可能
状態にする。RTOS210は、署名部211を含み、
その使用については以下で更に説明する。フラッシュE
PROM141は、第1の常駐アプリケーション220
用のプログラム・コードと、それに対応する署名部21
1とを含む。同様に、フラッシュEPROM141は、
第2の常駐アプリケーション230、及びそれに対応す
る署名部232と、第Mの常駐アプリケーション240
に対する他の常駐アプリケーション230用のプログラ
ム・コード、及びそれに対応する署名部241とを含
む。フラッシュEPROM141は、第N+1公開鍵2
51、第N+2公開鍵253〜第N+P公開鍵255を
オプションとして含む付加的な公開鍵を備えている。こ
れらの付加的な公開署名鍵は、ブートROM135に記
憶されたN公開署名鍵と同一である。これらの使用につ
いては、以下で詳細に説明する。
【0027】セット・トップ・ボックス110は、更
に、ディジタル媒体プロセッサ130に対して双方向に
接続されたダイナミック・ランダム・アクセス・メモリ
(DRAM)143を含む。DRAM143は、読み出
し/書き込みメモリとして使用される揮発性メモリであ
り、通常の動作中に過渡的なデータを一時的に記憶す
る。DRAM143は、好ましくは、RAMBUSイン
タフェースを用いた同期メモリにより実施される。図4
は、DRAM143の例示的なメモリ・マップを示す。
DRAM143は、リアル・タイム・オペレーティング・
システムのメモリ常駐部261を記憶する。当該技術分
野において知られているように、RTOSのこのメモリ
常駐部261は、セット・トップ・ボックス・システム
100の特定ステータスに従って、異なっていてもよ
い。DRAM143は、現在ラン中のアプリケーション
又は複数のアプリケーションのメモリ常駐部263を記
憶する。これらのアプリケーションは、フラッシュEP
ROM141に記憶された常駐アプリケーション、又は
DRAM143の他の部分に記憶された非常駐アプリケ
ーションであってもよい。
【0028】セット・トップ・ボックス・システム10
0のステータスに従って、ランする種々のアプリケーシ
ョンがあり得ると共に、これらを直接アクセス可能な部
分は、フラッシュEPROM141より速いアクセスの
ためにDRAM143に記憶される。この非常駐データ
256は、種々のアプリケーションにより使用される一
時記憶データと共に、ユーザにより赤外線リモート・コ
ントロール109及び赤外線受信機119を介して制御
される現在の制御ステータスを含む。DRAM143
は、第1の非常駐アプリケーション271、第2の非常
駐アプリケーション273〜第Qの非常駐アプリケーシ
ョン275のように、種々の非常駐アプリケーションの
プログラム・コードを記憶する。非常駐アプリケーショ
ンは、ケーブル・モデム111、音声帯域モデム117
又はDVDドライブ115であり、セット・トップ・ボ
ックス・システム100のカレント・セッション中での
み使用することを意図している。これらは、ビデオ・ゲ
ーム、インターネット・ブラウジング等を含み得る。こ
れらの非常駐アプリケーションは、使用される度にDR
AM143にロードされ、次いで廃棄される。DRAM
143は、更に、ファースト・イン・ファースト・アウ
ト(FIFO)バッファ280に、圧縮された映像を記
憶する。通常、テレビジョン・ケーブル101、直接受
信機フロント・エンド103、及びDVD105からの
映像データは、圧縮形式により送信される。これは、送
信帯域幅及び記憶スペースを節約する。ディジタル媒体
プロセッサ130のタスクのうちの1つは、映像データ
を伸張することである。現在のビデオ圧縮フォーマット
(例えば、MPEG2)及び意図する全てのビデオ圧縮
フォーマットは、非線形である。即ち、映像データ・ス
トリームの異なる部分は、異なる度合いに圧縮される。
従って、受信する映像データの定速度は、変動する映像
量を表す。ディジタル媒体プロセッサは、伸張の後、見
ようとする定速度で映像データを供給する必要がある。
圧縮されたビデオFIFOバッファ270は、入力速度
における変動を円滑にする必要がある。これは、過度に
圧縮されたデータによるオーバーフローでも、圧縮され
ないデータによるアンダーフローでもない伸張に対して
準備完了した伸張処理を可能にする。これは、圧縮映像
データ・ストリームが見ようとする定速度の映像データ
・ストリームを表しているので、可能である。従って、
総平均の圧縮映像データ速度は、一定のリアル・タイム
・ビューイング速度に対応する。
【0029】図5はブートROM135により制御され
たディジタル媒体プロセッサ130の動作例のフロー・
チャート300である。セット・トップ・ボックス・シ
ステム100に対する電力の初期投入により、ディジタ
ル媒体プロセッサは、ブートROM135内の所定位置
に記憶しているプログラムを実行し始める。ブートRO
M135内において本発明に関連した当該プログラムの
部分を図5に示す。プログラム300は、まず、ディジ
タル媒体プロセッサ130(処理ブロック301)を初
期化する。この処理は、当該技術分野において知られて
いるようにして、レジスタ及びキャッシュをクリアし、
初期化動作モードをセットすること等を含む。プロセッ
サの初期化に続いて、プログラム300はフラッシュE
PROM141に記憶しているRTOS210の署名部
211を読み出す(処理ブロック302)。次に、プロ
グラム300は、ブートROM135からRTOS公開
署名鍵203を読み出す(処理ブロック303)。次
に、プログラム300は、RTOS210の署名部21
1を検証する(処理ブロック304)。RSAアルゴリ
ズムのように既知技術による公開鍵の暗号化に従って、
署名部211は、秘密の公開署名鍵により全てのRTO
S210上で動作することにより、発生される。ブート
ROM135に記憶されているRTOS公開署名鍵20
3を用いた逆処理により、署名部211の元のデータが
復元される。この署名検証処理は、「落とし戸(tra
p door)」機能として知られているものを考慮し
ている。公開鍵のみを知ることにより特定の署名部を発
生させることは、非常に困難な処理である。RTOS公
開署名鍵203のみからは予測できないようにして、R
TOS210のいずれかの部分の変化が署名部211に
おける変化に帰結する可能性は高い。従って、署名部2
11を用いてRTOS210における何らかの変化を検
出することが可能である。
【0030】検証に続いて、プログラム300は、検証
された署名部分を検査してRTOS210が安全なアプ
リケーションをサポートするか否かを判断する(判断ブ
ロック305)。本発明は、セット・トップ・ボックス
のセキュリティを要求しないアプリケーションにディジ
タル媒体プロセッサ130を組み込めることを意図して
いる。このようなアプリケーションにおいて、検証され
た署名部211は、RTOSは安全が保証される必要な
しということを表示している。安全でないRTOSであ
っても検証された控えを有する必要があることに注意す
べきである。署名の検証の失敗は、RTOSが安全であ
ろうとなかろうと致命的である。プログラム300は、
署名部211が安全でない使用を表示しているのであれ
ば、他のステップをバイパスし、RTOS210を開始
する(処理ブロック310)。これは、典型的に、少な
くともRTOS210の一部をDRAM143にロード
することを含む。DRAM143はフラッシュEPRO
M141より遙かに速いメモリ・アクセスを可能にする
ことが予測されている。従って、RTOS210の複数
部分をDRAM143にロードすることにより、より速
い動作が可能となる。
【0031】RTOS210が安全なアプリケーション
をサポートすべきことを検証した署名部が表していると
きは(判断ブロック305)、プログラム300は、R
TOS210を正しいと検証できるか否かを判断するた
めの試験を行う(判断ブロック306)。以上で述べた
ように、公開鍵署名による秘密鍵署名の落とし戸機能
は、署名部211の予測不可能な改変を発生せずに、R
TOS210を改変するのを非常に困難にする。従っ
て、ブートROM135に記憶された初期プログラム
は、RTOS210の無許可の改変を殆ど確実に検出で
きる。このようなRTOS210の検証は、セット・ト
ップ・ボックスの販売者にシステムのセキュリティを確
信するのを可能にする。
【0032】検証された署名部が安全と検証されないと
きは、プログラム300は、RTOS210が安全でな
いことを表示する(処理ブロック307)。その後、プ
ログラム300は、修復措置を取る(処理ブロック30
8)。この修復措置は多くの形式を取り得る。最悪時で
は、この修復措置がセット・トップ・ボックス110の
完全な無能化であり得る。ディジタル媒体プロセッサ1
30を動作停止させると、ディジタル媒体プロセッサは
セット・トップ・ボックス110の知能であるので、セ
ット・トップ・ボックス110は無能化することにな
る。大抵の安全アプリケーションにおいて、検証されな
いRTOSをランさせることは、非常に危険とみなさ
れ、合理的な唯一の修復措置は、セット・トップ・ボッ
クス110を無能化することである。少数の場合に、軽
度の修復措置が適当なことがある。軽度の修復対策とし
て、ディジタル媒体プロセッサ130がテレビジョン・
ケーブル101、直接受信機フロント・エンド103及
び/又はDVD105からの映像データ・ストリームと
もはや相互作用しないようにプログラムされてもよい。
このモードは、ローカル専用の非常駐アプリケーション
をランさせるのを可能にしてもよい。修復措置は、セッ
ト・トップ・ボックス又はサービス・プロバイダがケー
ブル・モデム111又は音声帯域モデム117を介して
セキュリティ違反を信号することを含めてもよい。そこ
で、この通告を受信すると、このセキュリティ違反と自
動的に又は手動的に如何に対処するのかを決定してもよ
い。セキュリティ違反のこのような通告に応答する一方
法は、DRAM143に記憶するために許可されたRT
OSのコピーをケーブル・モデム111又は音声帯域モ
デム117を介してダウンロードして、無許可のコピー
に重ね書きすることである。他の方法は、セキュリティ
違反の範囲を検証し、かつ判断する診断プログラムをダ
ウンロードすることである。広告者支援のプログラム素
材のみを供給するサービス・プロバイダに最適な最も厳
しくないレベルは、セキュリティ違反を無視して、安全
でないRTOSの動作を可能にすることである。
【0033】検証された署名部が安全と検証されると、
プログラム300は、RTOS210が安全と検証され
たことを表示する(処理ブロック309)。その後、プ
ログラム300は、RTOS210の動作を開始する
(処理ブロック310)。以上で説明したように、これ
は、典型的には、RTOS210の少なくとも複数部分
をフラッシュEPROM141からDRAM143へコ
ピーすることを含む。このようなコピー処理後、プログ
ラム制御は、ジャンプ命令を介してDRAM143にお
けるRTOSコピーに転送される。
【0034】全RTOSは、単なる署名検証処理を用い
る代替として、秘密鍵を使用して暗号化されてもよい。
図5に示したステップは、署名部そのものよりも公開鍵
を使用して全RTOSを復号しなければならないことを
除き、同一となる。この事象では、検証により復号され
たRTOSをDRAM143のオペレーティング部にコ
ピーする。その後、プログラム制御は、ジャンプ命令を
介してブートROMプログラムからこのRTOSコピー
に渡される。この場合は、安全と検証されないRTOS
は、DRAM143の同一部分にコピーされたとして
も、動作しない。無許可のRTOS210の正しくない
復号は、多分に作動不能のオペレーティング・システム
に帰結する。従ってこの場合、修復措置はセット・トッ
プ・ボックス110を無能化することである。暗号化す
るために秘密鍵を使用し、また復号するために公開鍵を
使用することは、通常の秘密鍵/公開鍵システムの逆で
あることに注意すべきである。現在、RSAシステムの
みがこの逆使用を可能にすることが知られている。
【0035】図6は、常駐アプリケーションをロードし
てランするように要求されたときに、ディジタル媒体プ
ロセッサ130の動作例のフロー・チャート400であ
る。常駐アプリケーション・プログラムを開始させるコ
マンドに続いて(処理ブロック401)、プログラム4
00は、フラッシュEPROM141に記憶されている
常駐アプリケーションの対応する署名部を読み出す(処
理ブロック402)。次に、プログラム400は、ブー
トROM135又はフラッシュEPROM141から対
応する公開鍵を読み出す(処理ブロック403)。以上
で述べたように、ブートROM135及びフラッシュE
PROM141のメモリ・マップでは、常駐アプリケー
ション・プログラム用の公開鍵がブートROM135又
はフラッシュEPROM141に記憶されていてもよ
い。代わって、セット・トップ・ボックス・システム1
00は、いくつかの常駐アプリケーション用の公開鍵を
ブートROM135に記憶し、また残りの常駐アプリケ
ーション用の公開鍵をフラッシュEPROM141に記
憶するように、構築されてもよい。次に、プログラム4
00は、常駐アプリケーションの署名部を検証する(処
理ブロック404)。この署名検証処理は、RTOS2
10の検証に関連して既に説明した者と同一である。
【0036】検証の後、プログラム400は、検証され
た署名部を試験して、常駐アプリケーションがセキュリ
ティをサポートするか否かを判断する(判断ブロック4
05)。テレビジョン・ケーブル101、直接受信機フ
ロント・エンド103、又はDVD150から受信した
プログラム内容と相互に作用するどのような常駐アプリ
ケーションも、セキュリティを必要とすることを意図し
ている。他の常駐アプリケーションは、アプリケーショ
ン・プログラムの販売者のオプションでセキュリティを
必要としてもよい。プログラム400は、署名部が安全
でない使用を表示しているときは、他のステップをバイ
パスし、常駐アプリケーションをDRAM143にロー
ドし、かつアプリケーション・プログラムを開始する
(処理ブロック410)。
【0037】常駐アプリケーションが安全なアプリケー
ションをサポートすべきであるということを検証された
署名部が表示しているときは(判断ブロック405)、
プログラム400は、常駐アプリケーションを正しいと
検証することができるか否かを判断する試験をする。秘
密鍵の暗号化及び公開鍵の復号化の落とし戸機能は、署
名部の予測不可能な改変を発生せずに、常駐アプリケー
ション・プログラムを改変することを非常に困難なタス
クにするので、常駐アプリケーションの許可についての
検証を可能にする。
【0038】署名部が安全と検証されないのであれば、
プログラム400は、常駐アプリケーションは安全でな
いということを表示する(処理ブロック407)。その
後、プログラム400は、修復措置を取る(処理ブロッ
ク408)。この修復措置は、以上で述べた多くの形式
のうちのいずれであってもよい。
【0039】署名部が安全と検証されると、プログラム
400は、常駐アプリケーション安全と検証されたこと
を表示する(処理ブロック409)。その後、プログラ
ム400は、ジャンプ命令を介してDRAM143にそ
のプログラム・コードのうちの少なくとも一部を転送し
て制御を転送することにより、常駐アプリケーションを
開始する。常駐アプリケーション・プログラムは、RT
OS210を介してアクセス可能な全てのディジタル媒
体プロセッサ機能に対してアクセスを有することを意図
しているわけではない。
【0040】常駐アプリケーションの全体は、以上で述
べたように、秘密鍵を使用して暗号化されてもよい。図
6に示すステップは、常駐アプリケーションの全体を署
名部そのものよりも公開鍵を使用して復号される必要が
あることを除き、同一である。以上で述べたように、こ
の技術を使用することは、無許可のプログラムが多分、
セット・トップ・ボックス110を破壊し、作動不能に
することを意味する。
【0041】図7はダウンロード・プログラムの検証例
のフロー・チャートである。アプリケーション・プログ
ラムのダウンロードを開始するコマンドに続いて(処理
ブロック501)、プログラム500は、ダウンロード
され、DRAM143に記憶されたアプリケーションか
ら対応する署名部を読み出す(処理ブロック503)。
次に、プログラム500は、ブートROM135又はフ
ラッシュEPROM141から対応する公開鍵を読み出
す(処理ブロック504)。ブートROM135又はフ
ラッシュEPROM141のメモリ・マップについて以
上で述べたように、常駐アプリケーション・プログラム
用の公開鍵は、ブートROM135又はフラッシュEP
ROM141に記憶されてもよい。次に、プログラム5
00は、ダウンロードしたアプリケーション・プログラ
ム上で署名検証をランさせる(処理ブロック505)。
この署名検証処理は、RTOS210の検証に関連して
前に説明したと同一である。安全アプリケーション・プ
ログラムは、ダウンロードしたアプリケーション・プロ
グラム全体の検証を可能にする署名部を有する。安全で
ないアプリケーション・プログラムは検証可能な署名ス
タブを有する。
【0042】プログラム500は、次に、署名又は署名
スタブを検証したか否かを判断する試験をする(判断ブ
ロック506)。署名又は署名スタブが適正と検証され
なかったときは、プログラム500は、セキュリティ違
反を表示し(処理ブロック507)、かつ修復措置を取
る(処理ブロック508)。この修復措置は、以上で説
明した多くの形式のうちのいずれかでよい。加えて、こ
の例において他に可能な修復措置は、このアプリケーシ
ョンを更にダウンロードするようにさせることである。
従って、プログラム500は、処理ブロック502に戻
ってダウンロードを繰り返す。認可されたアプリケーシ
ョンがダウンロード中に例えば雑音等により破壊された
ときは、この修復措置が修復を可能にする。このオプシ
ョンを使用すると、所定数の署名検証が失敗した後は、
このループを廃棄するのが好ましい。
【0043】署名又は署名スタブの検証が成功した後、
プログラム500は安全と検証された署名部を試験して
ダウンロードしたアプリケーションがセキュリティをサ
ポートするか否かを判断する(判断ブロック509)。
プログラム500は、この署名部が安全でない使用を表
示するときは、他のステップをバイパスし、ダウンロー
ドしたアプリケーション・プログラムを記憶してランす
る(処理ブロック512)。ダウンロードしたアプリケ
ーション・プログラムは、他の常駐アプリケーションで
あることを意図しているのであれば、フラッシュEPR
OM141にロードされてもよく、又は非常駐アプリケ
ーションであることを意図しているのであれば、DRA
M143にロードされてもよいことに注意すべきであ
る。
【0044】検証された署名部が、ダウンロードしたア
プリケーション・プログラムは安全なアプリケーション
をサポートするということを表示するときは(判断ブロ
ック509)、プログラム500は、ダウンロードした
アプリケーション・プログラムを正しいと検証できるか
否かを判断する試験をする(判断ブロック510)。落
とし戸機能は、署名部の予測不能な改変を発生すること
なく、ダウンロードしたアプリケーション・プログラム
を改変するのを非常に困難なタスクにするので、ダウン
ロードしたアプリケーション・プログラムの許可につい
ての検証を可能にする。
【0045】ダウンロードしたアプリケーション・プロ
グラムが正しいと検証されないのであれば(判断ブロッ
ク510)、プログラム500は、ダウンロードしたア
プリケーションは非安全であることを表示する(処理ブ
ロック507)。その後、プログラム500は修復措置
を取る(処理ブロック508)。この修復措置は以上で
説明した多くの形式のうちのいずれかでよく、このアプ
リケーション・プログラムをダウンロードするように更
に試行させることを含む。
【0046】ダウンロードしたアプリケーションが正し
いと検証されたのであれば(判断ブロック510)、プ
ログラム500は、ダウンロードしたアプリケーション
が安全であることを表示する(処理ブロック511)。
その後、プログラム500はダウンロードしたアプリケ
ーション・プログラムを記憶してランする(処理ブロッ
ク512)。以上で説明したように、このメモリは、ア
プリケーションが常駐アプリケーションであれば、フラ
ッシュEPROM141に存在し、又はアプリケーショ
ンが非常駐アプリケーションであれば、DRAM143
に存在する。プログラム500は、そのプログラムのう
ちの少なくとも一部をDRAM143に転送し、かつジ
ャンプ命令を介して制御を転送することにより、ダウン
ロードしたアプリケーション・プログラムを開始する。
【0047】以上で述べたように、秘密鍵を使用してダ
ウンロードしたアプリケーション・プログラムの全体を
暗号化することができる。図7に示すステップは、署名
部を単に検証することよりも公開鍵を使用して、ダウン
ロードしたアプリケーション全体を復号する必要がある
ことを除き、同一である。以上で説明したように、この
技術を使用することは、無許可のプログラムが多分、セ
ット・トップ・ボックス110を破壊し、作動不能にす
ることを意味する。
【0048】このセキュリティ技術はブートROM13
5のセキュリティに依存している。ブートROM135
は、ディジタル媒体プロセッサ130の他の部分と同一
の集積回路上に配置され、かつ読み出し専用なので、こ
れに無許可の改変が行われることはない。従って、不正
なRTOSを真であると判断するように検証機能を改変
することはできない。従って、殆どのセキュリティ機能
を簡単に損なうことはできない。暗号化のために使用さ
れる秘密鍵は、RTOS供給者にのみ、又はディジタル
媒体プロセッサ130の製造者のみに知られているだけ
である。加えて、署名を検証するため、又はRTOSを
復号するために必要とされる公開鍵は、ブートROMに
も存在する。これは、ディジタル媒体プロセッサ130
に無許可のRTOSを検証させようとする際に、他の公
開鍵の置換を防止する。加えて、常駐アプリケーション
も安全である。常駐アプリケーション用の秘密鍵は、ア
プリケーションの所有者によって、又はアプリケーショ
ンを認証するサービス・プロバイダによってのみ、知る
ことが可能とされる。
【0049】以上の秘密鍵/公開鍵署名検証システム
は、大抵のセキュリティ攻撃に対する保護をする。しか
しながら、RTOSを認証するために使用される秘密鍵
が損なわれているのであれば、セキュリティは、RTO
Sをまだ信用できるように見える無許可のRTOSによ
り置き換えることにより、無効にされる恐れがある。
【0050】改変されたRTOSを検出する最も簡単な
方法は、認証されたプログラムに対して常駐RTOSを
チェックすることである。診断プログラムのようなアプ
リケーション・プログラムは、RTOS内のある程度の
メモリ位置を読み出して期待された値を含むか否かを調
べる。これは、他のRTOSの無許可の置換を常に明ら
かにするとは限らない。ディジタル媒体プロセッサ13
0を実施するために使用されるような多くの複雑なデー
タ・プロセッサは、仮想メモリをサポートする。仮想メ
モリ環境において、RTOSはそれ自身を完全に仮想化
することができる。従って、無許可のRTOSは、読み
出し試行を確認することの妨げ、診断アプリケーション
が正当なRTOSのコピーから期待する結果を戻す。し
かしながら、この無許可のRTOSは、元のRTOSの
代わりにランし、従ってセキュリティを損なうことにな
る。本発明は、アプリケーションがRTOSにより阻止
されると共に仮想アドレスに変換されることなく、直接
メモリの一部をアクセスすることができることを保証す
る技術を提供する。
【0051】図8は、本発明によるロックド・ページを
有するテーブル・ルック・アサイド・バッファ(TL
B)137を形成するブロック図を示す。仮想メモリ・
アプリケーションは、仮想アドレスを物理アドレスに変
換する。当該技術分野に知られているように、TLB1
37はバス601上の仮想アドレスを受け取り、バス6
02に対応する物理アドレスを供給する。仮想アドレス
の所定数の最上位アドレス・ビットが複数の比較器62
1、623、625及び627に供給される。バス60
1上の仮想アドレスの残りの最小アドレス・ビットは、
改変されることなくバス620上の物理アドレスの対応
するビットに渡される。各比較器621、623、62
5及び627は、それぞれ対応する仮想アドレス・レジ
スタ611、613、615及び617を有する。比較
器621、623、625及び627は、バス601上
の仮想アドレスの所定数の最上位ビットが対応する仮想
アドレス・レジスタ611、613、615及び617
の内容と一致するか否かを判断する。マルチプレクサ6
50は物理アドレス・レジスタ641、643、645
及び647のうちの1つから所定数の最上位ビットを供
給する。マルチプレクサ650により選択された物理ア
ドレス・レジスタは、一致を検出した比較器621、6
23、625及び627に対応する。マルチプレクサ6
50により選択されたこれらの最上位物理アドレス・ビ
ットは、バス602を介して物理アドレスの最上位ビッ
トに供給される。従って、TLB137は物理アドレス
の所定ビット数の物理アドレスを同一ビット数の仮想ア
ドレスに置換する。仮想アドレス・レジスタ及びこれに
対応する比較器及び物理アドレス・レジスタにより使用
可能にされた可能置換数は、レジスタ及びTLBにより
占有されたスペース量をアクセスするためにオペレーシ
ョン・コード空間を考慮することによってのみ、制限さ
れる。従来技術では、仮想アドレス・レジスタ611、
613、615及び617と、物理アドレス・レジスタ
641、643、645及び647とは、ソフトウェア
により入れ替え可能である。従ってリアル・タイム・オ
ペレーティング・システムは、仮想アドレス又は物理ア
ドレスのマッピングの制御を有する。
【0052】本発明において、仮想アドレス・レジスタ
のうちの1つ及び対応する物理アドレスは、製造時に固
定される。好ましい実施例において、このレジスタ対は
複数の金属層におけるプログラム可能なマスクであっ
て、ロックド・ページをTLB137を含む集積回路の
製造の際に選択可能にするが、製造後は改変不可能にす
る。図8は固定仮想アドレス・レジスタ611、及びこ
れに対応する固定物理アドレス・レジスタ641を示
す。好ましい実施例において、固定仮想アドレス・レジ
スタ611に記憶された固定仮想アドレスは、固定物理
アドレス・レジスタ641に記憶された物理アドレスに
等しい。好ましい実施例において、再配置から保護され
るべき臨界的なコードは、この仮想アドレス・レジスタ
に含まれる物理アドレスの境界内にあるフラッシュEP
ROM141に記憶される。固定仮想アドレス・レジス
タ611か、又は固定物理アドレス・レジスタ641に
対する書き込みの試行は、これらのレジスタがハードウ
ェアにより固定されているので、失敗に帰する。これら
のレジスタを改変する試みにより、障害及び誤りが発生
していないのが好ましい。代わって、固定仮想アドレス
・レジスタ611も固定物理アドレス・レジスタ641
も命令セット・アーキテクチャを介してアクセス可能で
ある。固定仮想アドレス・レジスタ611又は固定物理
アドレス・レジスタ641が固定されている理由は改造
を防止することなので、命令セット・アーキテクチャを
介するアクセスが常に必要とされない。
【0053】本発明の更なる構成を図8に示す。比較器
621からの一致表示は直接マルチプレクサ650に供
給されることに注意すべきである。比較器621からの
一致表示は、それぞれのANDゲート633、635及
び637に対する非反転入力を形成する。これらのAN
Dゲート633、635及び637は、それぞれ、反転
入力に比較器621からの一致表示を受け取っている。
従って、比較器621からの一致表示は、他の比較器か
らマルチプレクサ650へ一致表示の供給を禁止する。
これは、無許可のRTOSをメモリの再配置部分からラ
ンさせようと試行する間に、セキュリティ質問に応答す
るのに代わって、無許可の者が元のRTOSを抜け出す
のを阻止する。固定仮想アドレス・レジスタ611の物
理メモリ・アドレス、及び固定物理アドレス・レジスタ
641に対するメモリ・アクセスを再配置することはで
きないが、しかし元のRTOSの物理アドレスに向け
る。
【0054】本発明により、RTOSを再配置する不正
試行が発生しても、実際のアドレス変換は行われない。
従って、元のRTOSがこのメモリ領域に配置されると
きは常に、診断プログラムは、元の物理位置をアクセス
しているという保証のもとに署名位置を読み出すことが
できる。従って、診断プログラムは、RTOSが損なわ
れているか否かを判断し、かつ適切な修復措置を取るこ
とができる。この修復措置は、先に説明した修復措置の
いずれかを含むものであってもよい。
【0055】図1に示すセット・トップ・ボックス・シ
ステム100は、付加的な潜在セキュリティ問題を含
む。DRAM143は、復号されたけれども、伸張され
なかった映像データ・ストリームを記憶する。この映像
データは、圧縮映像FIFOバッファ280に記憶され
る。このデータがディジタル媒体プロセッサ130から
DRAM143へ転送されているとき、又はDRAM1
43からディジタル媒体プロセッサ130へ転送されて
いるときに、無許可の者がこのデータを傍受することは
可能である。これらのデータ転送は、ディジタル媒体プ
ロセッサ130とDRAM143との間の他のデータ・
トラヒックによりインタリーブされるが、しかし圧縮さ
れた映像データを分離するように実施することもでき
る。映像は圧縮されているので、このデータを記憶する
ためには最小量のメモリが必要とされる。いくつかのコ
ンテントプロバイダは、このような傍受からこれらプロ
バイダの映像プログラムを保護したい。この点で映像デ
ータ・ストリームの傍受は、複数の同一かつ直接見るこ
とができる映像のコピーの発生を可能にすることに注意
すべきである。
【0056】図9はこのような無許可の傍受を阻止する
処理をフロー・チャート形式により示す。映像データ・
ストリームを受信した後(処理ブロック701)、ディ
ジタル媒体プロセッサ130は、映像データ・ストリー
ムを復号する(処理ブロック702)。この復号は、ユ
ーザがこの映像データ・ストリームを見るのが許可され
るのを保証するために、セキュリティ手順の対象にされ
る。このソース・プログラム復号に続き、ディジタル媒
体プロセッサ130は、映像データ・ストリームを再び
暗号化する(処理ブロック703)。この例では、簡略
化DESアルゴリズムのような比較的に簡単な暗号化を
使用する。暗号鍵は、好ましくは、チップ識別レジスタ
133に記憶されているチップ識別番号から得られる。
この暗号化データは、圧縮映像FIFOバッファ280
に記憶される(処理ブロック704)。適当な時点で、
映像データは、圧縮映像FIFOバッファ280から再
び読み出される(処理ブロック705)。次いで、再び
読み出されたデータは、チップ識別番号から抽出された
暗号鍵を使用して復号される(処理ブロック706)。
そこで、このデータは更なる処理に対して準備完了とな
る(処理ブロック707)。
【0057】この技術は、特定のディジタル媒体プロセ
ッサ130によってのみ圧縮映像FIFOバッファ28
0に一時的に記憶された圧縮映像データ・ストリームを
読み出すことができるという利点がある。チップ識別番
号は特定のディジタル媒体プロセッサに固有である。こ
の映像データは、他の同様のセット・トップ・ボックス
・システム100であっても、コードを解読することな
く、他の手段により見ることはできない。これは、大抵
のコンテント・プロバイダにより適当なセキュリティと
信じられている。加えて、暗号化及び復号化はユーザに
対して透過性である。特定のアプリケーションの最小必
要条件を以外に唯一必要とすることは、ディジタル媒体
プロセッサ130内で利用可能な付加的な小さな処理能
力である。
【0058】他の潜在的な問題は、ハードウェア・デバ
ッガ/エミュレータから発生する。通常、ディジタル媒
体プロセッサ130の半導体製造者は、オペレーティン
グ・システム開発者を含め、アプリケーション・プログ
ラム開発者に更にハードウェア・デバッガ/エミュレー
タ・システムを販売することになる。一般的に、設計に
よるこのようなハードウェア・デバッガ/エミュレータ
・システムは、「個人」エリアを含む全てのメモリに対
して制限なしのアクセスを有する。従って、当該技術分
野において知られた形式のハードウェア・デバッガ/エ
ミュレータ・システムは、セット・トップ・ボックス・
システム100のセキュリティの無許可違反を可能にす
る。
【0059】ハードウェア・デバッガ/エミュレータ・
システムに関する次の改変は、この潜在的なセキュリテ
ィ問題に対するガードとなる。ハードウェア・デバッガ
/エミュレータ・システムは、処理モード及びロー・モ
ードの2モードにより動作する。処理モードでは、ハー
ドウェア・デバッガ/エミュレータが特定の処理又はア
プリケーション・プログラムのみをアクセスする。ロー
・モードでは、全てのシステム・アクセスが可能にされ
る。
【0060】図10はハードウェア・デバッガ/エミュ
レータにおけるモードを選択する処理を示すフロー・チ
ャートである。ハードウェア・デバッガ/エミュレータ
の開始すると(処理ブロック801)、処理800は、
フラッシュEPROM141に記憶されているRTOS
210の署名部211を読み出す(処理ブロック80
1)。次に、処理800は、ブートROM135からR
TOS公開署名キー203を読み出す(処理ブロック8
03)。次の処理800は、RTOS210の署名部2
11を検証する(処理ブロック804)。この検証に続
いて、処理800は、検証した署名部を試験してRTO
S210が安全アプリケーションをサポートしているか
否かを判断する(判断ブロック805)。以上で説明し
たように、ディジタル媒体プロセッサ130は、セット
・トップ・ボックスのセキュリティを必要としないアプ
リケーションに実施可能とされる。このようなアプリケ
ーションにおいて、検証された署名部211は、RTO
Sを安全確認する必要がないことを表示する。該当する
場合は、処理800は、他のステップをバイパスして、
ロー・モードによりハードウェア・デバッガ/エミュレ
ータを活性にする(処理ブロック806)。
【0061】RTOSが安全アプリケーションをサポー
トするときは(判断ブロック805)、処理800は、
チップ識別レジスタ133に記憶されているチップ識別
番号が安全アプリケーション用のロー・モードを可能に
する可能チップ識別番号のサブセットのものか否かを判
断するチェックを行う(判断ブロック807)。いくつ
かのプログラム開発者、特にRTOS開発者は、ハード
ウェア・デバッガ/エミュレータのロー・モードにアク
セスする必要がある。本発明は、チップ識別番号の可能
な符号化のうちの1ビット若しくは複数ビット、又はあ
るサブセットをその使用をサポートするハードウェア・
デバッガ/エミュレータ用に確保することを意図してい
る。従って、限定された一定数のディジタル媒体プロセ
ッサ130のみが以上で述べたセキュリティをサポート
する環境においてハードウェア・デバッガ/エミュレー
タのロー・モード動作を可能にする。ディジタル媒体プ
ロセッサ130の製造者は、信頼されたプログラム開発
者にのみこれら特定の識別チップを供給する。
【0062】チップ識別番号がロー・モード動作を許可
しないときは(判断ブロック807)、処理800は、
ハードウェア・デバッガ/エミュレータにおける開発に
より特定の処理又はアプリケーション・プログラムから
トークンを読み出す。次いで、処理800は、このトー
クンが正しいと検証されたか否かを判断する(判断ブロ
ック809)。この処理は、以上で述べた秘密鍵暗号化
及び公開鍵復号を使用して行ってもよく、又は他の検証
手順を用いてもよい。トークンが検証されなかったとき
は(判断ブロック809)、処理800は、適当な修復
措置を取る(処理ブロック810)。取り得る種々の形
式の修復措置は既に説明した。トークンが検証されると
(判断ブロック809)、処理800はハードウェア・
デバッガ/エミュレータを活性にする(処理ブロック8
11)。処理モードにおいて、ハードウェア・デバッガ
/エミュレータは、検証トークンに対応する特定の処理
又はアプリケーション・プログラムのみをアクセスでき
る。
【0063】この処理はユーザの全ての必要条件を満足
させる。安全でないアプリケーションであるディジタル
媒体プロセッサ130を使用するプログラム開発者は、
ハードウェア・デバッガ/エミュレータの機能に対して
完全なアクセスを有する。安全なアプリケーションであ
るディジタル媒体プロセッサ130を使用するプログラ
ム開発者は、限定されたアクセスを有する。これらプロ
グラム開発者の殆どは、安全RTOSを使用し、かつこ
れらに対応する秘密鍵により暗号化されたトークンによ
り識別されたときに、これら自身のプログラムに対して
のみアクセスを有する。RTOS開発者は、正しいチッ
プ識別番号を有する特定のディジタル媒体プロセッサの
みを除いて、完全なシステム・アクセスを有する。従っ
て、ディジタル媒体プロセッサ130の製造者は、セッ
ト・トップ・ボックス・システム100のセキュリティ
を保護するために、適正なレベルの制御を有することが
できる。
【0064】本出願のセキュリティ発明は、コンピュー
タ・セキュリティを必要とする特定形式のシステム、即
ちセット・トップ・ボックスに関連して説明された。当
該技術分野において習熟している者は、これらセキュリ
ティ技術の使用がこの例に限定されないことを認識すべ
きである。特に、いくつかの機能がある程度のセキュリ
ティを有することを要求する殆どのコンピュータ・シス
テムは、これらの技術を採用することが可能である。
【0065】以上の説明に関して更に以下の項を開示す
る。
【0066】(1) 安全計算システムにおいて、少な
くとも1つのプログラム用のプログラム・コードを記憶
した不揮発性メモリであって、前記プログラム・コード
は所定の秘密鍵により暗号化された検証コードを含む前
記不揮発性メモリと、集積回路上に配置されたプログラ
ム制御によりデータ操作するデータ・プロセッサであっ
て、電力の初期印加毎に所定のアドレスに記憶されてい
るプログラムを実行する前記データ・プロセッサと、前
記集積回路上に配置された読み出し専用メモリであっ
て、前記所定の秘密鍵に対応する公開鍵を記憶し、かつ
前記所定のアドレスで開始する初期化プログラムを記憶
する前記読み出し専用メモリであって、前記初期化プロ
グラムは、前記データ・プロセッサに(1)前記不揮発
性メモリに記憶されている前記少なくとも1つのプログ
ラムの前記検証コードを復号するために前記公開鍵を用
いるようにさせ、かつ(2)前記プログラムのセキュリ
ティの検証、又は前記プログラムのセキュリティの検証
不合格を表示させる複数の命令を含む前記読み出し専用
メモリとを備えた安全計算システム。
【0067】(2) 前記不揮発性メモリに記憶された
前記少なくとも1つのプログラムは、前記安全計算シス
テム用のリアル・タイム・オペレーティング・システムを
含む第1項記載の安全計算システム。
【0068】(3) 前記不揮発性メモリに記憶された
前記少なくとも1つのプログラムは、前記安全計算シス
テム用のリアル・タイム・オペレーティング・システム、
及び前記リアル・タイム・オペレーティング・システムと
協調するアプリケーション・プログラムを含み、前記ア
プリケーション・プログラムは所定の第2の秘密鍵によ
り暗号化された第2の検証コードを含み、前記読み出し
専用メモリは、前記所定の第2の秘密鍵に対応する第2
の公開鍵を記憶し、かつ前記初期化プログラムは、更に
前記データ・プロセッサに(1)前記不揮発性メモリに
記憶されている前記アプリケーション・プログラムの前
記第2の検証コードを復号するために前記第2の公開鍵
を採用させ、かつ(2)前記アプリケーション・プログ
ラムのセキュリティの検証又は前記アプリケーション・
プログラムのセキュリティの非検証を表示させる複数の
命令を含む第1項記載の安全計算システム。
【0069】(4) 前記不揮発性メモリに記憶された
前記少なくとも1つのプログラムは、前記安全計算シス
テム用のリアル・タイム・オペレーティング・システム及
び前記リアル・タイム・オペレーティング・システムと協
調する複数のアプリケーション・プログラムを含み、前
記アプリケーション・プログラムのそれぞれは、所定の
対応する秘密鍵により暗号化された対応する検証コード
を含み、前記読み出し専用メモリは前記所定の秘密鍵の
それぞれに対応する公開鍵を記憶し、かつ前記初期化プ
ログラムは更に前記データ・プロセッサに(1)前記不
揮発性メモリに記憶された前記複数のアプリケーション
・プログラムのそれぞれの前記検証コードを復号するた
めに前記対応する公開鍵を用いるようにさせ、かつ
(2)前記複数のアプリケーション・プログラムのそれ
ぞれのセキュリティの検証、又は前記アプリケーション
・プログラムのそれぞれのセキュリティの検証不合格を
表示させる複数の命令を含む第1項記載の安全計算シス
テム。
【0070】(5) 前記読み出し専用メモリに記憶さ
れた前記初期化プログラムは、前記データ・プロセッサ
に前記不揮発性メモリに記憶された前記プログラムのセ
キュリティの検証不合格により、前記プログラムのオペ
レーションを無能化させる複数の命令を含む第1項記載
の安全計算システム。
【0071】(6) データ及び/又は対応する複数の
アドレスにおける複数の命令を記憶するメモリと、前記
メモリにおけるデータ及び/又は命令をアクセスするた
めに第1の所定数のビットの仮想アドレスを発生するア
ドレス発生器と、前記アドレス発生器に接続され、前記
第1の所定数のビットより少ない第2の所定数のビット
の固定仮想アドレス・レジスタ、前記第2の所定数のビ
ットの複数の書き込み可能仮想アドレス・レジスタ、前
記アドレス発生器及び前記固定仮想アドレス・レジスタ
に接続され、前記第1の固定アドレス・レジスタの内容
を前記仮想アドレスの前記第2の所定数のビットと比較
して一致を表示する第1の比較器、対応する仮想アドレ
ス・レジスタ及び前記アドレス発生器にそれぞれ接続さ
れ、前記対応する仮想アドレス・レジスタの内容を前記
仮想アドレスの前記第2の所定数のビットと比較して一
致を表示する複数の第2の比較器、前記第2の所定数の
ビットの固定物理アドレス・レジスタ、前記第2の所定
数のビットの複数の書き込み可能物理アドレス・レジス
タ、及び前記メモリ、前記アドレス発生器、前記第1の
比較器、前記第2の比較器のそれぞれ、前記固定物理ア
ドレス・レジスタ、及び前記複数の書き込み可能物理ア
ドレス・レジスタのそれぞれに接続されたマルチプレク
サであって、前記比較器のうちの1つによる一致に応答
して、前記一致する比較器に対応する物理レジスタの内
容を前記仮想アドレスの最上位ビットに置き換えて前記
メモリ・アクセス用の前記メモリに供給される物理アド
レスを形成する前記マルチプレクサを有するテーブル・
ルック・アサイド・バッファとを備えた安全計算システ
ム。
【0072】(7) 前記マルチプレクサは、前記第2
の比較器のうちのいずれかによる一致の表示に係わら
ず、前記第1の比較器による一致の表示に応答して前記
固定物理レジスタの内容を前記仮想アドレスの最上位ビ
ットと置き換える第6項記載の安全計算システム。
【0073】(8) 前記固定仮想アドレス・レジスタ
及び前記固定物理アドレス・レジスタは、製造において
マスク・プログラマブルである第6項記載の安全計算シ
ステム。
【0074】(9) 前記複数の書き込み可能仮想アド
レス・レジスタ及び前記複数の書き込み可能物理アドレ
ス・レジスタは、前記安全計算システムによる命令の実
行により、書き込み可能であり、前記固定仮想アドレス
・レジスタ及び前記固定物理アドレス・レジスタは、前
記安全計算システムによる命令の実行により、表面的に
書き込み可能であり、前記命令により前記固定仮想アド
レス・レジスタか又は前記固定物理アドレス・レジスタ
に対する書き込みの試行は、前記レジスタの内容を改変
することに失敗し、かつ誤りなしメッセージ又は障害を
発生する第1項記載の安全計算システム。
【0075】(10) 単一の集積回路上に配置された
データ・プロセッサであって、固有のチップ識別番号を
記憶するチップ識別読み出し専用レジスタを含む前記デ
ータ・プロセッサと、前記データ・プロセッサに対して双
方向に接続されてデータを記憶するメモリとを備え、前
記データ・プロセッサは、暗号鍵として前記チップ識別
番号の少なくとも一部を用いてデータを暗号化し、前記
メモリに前記暗号化したデータを記憶し、前記メモリか
ら前記記憶したデータを再読み出し、かつ復号鍵として
前記チップ識別番号の少なくとも一部を用いて前記再読
み出しデータを復号するようにプログラムされている安
全計算システム。
【0076】(11) 前記データは映像データのスト
リームである第10項記載の安全計算システム。
【0077】(12) 安全計算の方法において、秘密
鍵によってプログラム用の検証トークンを暗号化するス
テップと、前記秘密鍵に対応する公開鍵を記憶するステ
ップと、安全計算システム用のデバッガ/エミュレータ
の各初期化により、前記プログラムが安全なプログラム
か又は安全でないプログラムかを判断するステップと、
前記プログラムが安全なプログラムであれば、前記デバ
ッガ/エミュレータにおける第1の動作モードを選択し
て前記プログラムに対するアクセスを可能にさせ、一方
前記安全計算システムの少なくとも1つのセキュリティ
機能に対するアクセスを禁止するステップと、前記プロ
グラムが非安全プログラムであれば、前記デバッガ/エ
ミュレータにおける第2の動作モードを選択して前記安
全計算システムの全ての機能に対するアクセスを可能に
するステップとを備えた安全計算の方法。
【0078】(13) 前記安全計算システム内のデー
タ・プロセッサに固有のチップ識別番号を記憶するステ
ップと、前記プログラムが安全プログラムであれば、前
記データ・プロセッサの前記固有のチップ識別番号が可
能チップ識別番号の所定のサブセット内にあるか否かを
判断する試験を行うステップと、前記データ・プロセッ
サの前記固有のチップ識別番号が前記可能チップ識別番
号の前記所定のサブセット内にあれば、前記デバッガ/
エミュレータにおける前記第2の動作モードを選択する
ステップと、前記データ・プロセッサの前記固有のチッ
プ識別番号が前記可能チップ識別番号の所定のサブセッ
ト内になければ、前記デバッガ/エミュレータにおける
前記第1の動作モードを選択するステップとを更に備え
た第12項記載の安全計算の方法。
【0079】(14) 前記プログラムが前記安全計算
システムのデータ・プロセッサ用のオペレーティング・
システムであり、アプリケーション・プログラムの少な
くとも検証トークンを第2の秘密鍵により暗号化するス
テップと、前記第2の秘密鍵に対応する第2の公開鍵を
記憶するステップと、復号鍵として前記公開鍵を用いて
前記アプリケーション・プログラムを復号するステップ
と、復号された前記アプリケーション・プログラムのセ
キュリティについて検証又は検証不合格を表示するステ
ップと、復号された前記アプリケーション・プログラム
が安全と検証されるときは、前記デバッガ/エミュレー
タにおける前記第1の動作モードを選択するステップと
を更に備えた第12項記載の安全計算の方法。
【0080】(15) 秘密鍵により暗号化されたプロ
グラム、好ましくは、リアル・タイム・オペレーティング・
システム210を記憶する安全計算システム100。デ
ータ・プロセッサと同一の集積回路上にあり、かつ外部
からアクセスできないブートROM135が初期化プロ
グラム、及び前記秘密鍵に対応する公開鍵を含む。初期
化では、前記ブートROMが前記プログラムの少なくと
も検証部を復号する。検証合格では、通常動作が使用可
能にされる。検証不合格では、このシステムが使用不能
にされるか、又はそのアプリケーション・プログラムが
使用不能にされる。メモリにおける予め定めた再配置不
可能な物理アドレスに診断プログラムが記憶される。こ
のプログラムは、固定仮想アドレス・レジスタ611及
び対応する固定物理アドレス・レジスタ641を有する
特殊なテーブル・ルック・アサイド・バッファ137を
使用して再配置不可能にされる。この安全計算システム
は、暗号鍵703としてチップ識別番号の少なくとも一
部を使用して圧縮映像データを暗号化することにより、
ファースト・イン・ファースト・アウト・メモリ・バッ
ファに記憶された圧縮映像データの不正使用を防止す
る。映像伸張に必要なときは、データをメモリ705か
ら再読み出して復号する。プログラム開発において一般
的に採用されているデバッガ/エミュレータ・ツール
は、プログラム用に少なくとも検証トークンを暗号化す
るために使用される秘密暗号鍵により保護される。デバ
ッガ/エミュレータの各初期化では、安全計算システム
は秘密暗号鍵805を復号してこのプログラムが安全か
又は安全でないかを表示する。
【図面の簡単な説明】
【図1】本発明の安全計算システムの一実施例のブロッ
ク図。
【図2】図1に示したディジタル媒体プロセッサのブー
ト読み出し専用メモリの例示的なメモリ・マップ図。
【図3】図1に示したセット・トップ・ボックスの不揮
発性メモリの例示的なメモリ・マップ図。
【図4】図1に示した読み出し書き込みメモリの例示的
なメモリ・マップ図。
【図5】図1に示したディジタル媒体プロセッサのオペ
レーティング・システム検証を含む初期動作のフロー・
チャート。
【図6】図1に示したセット・トップ・ボックスのアプ
リケーションを検証する処理のフロー・チャート。
【図7】ダウンロードされたアプリケーション・プログ
ラムを検証する処理のフロー・チャート。
【図8】図1のディジタル媒体プロセッサのあるページ
のメモリの仮想メモリ再配置を阻止するテーブル・ルッ
ク・アサイド・バッファの概要ブロック図。
【図9】ランダム・アクセス・メモリに一時記憶された
圧縮映像データを暗号化及び復号する処理のフロー・チ
ャート。
【図10】ハードウェア・デバッガ/エミュレータにお
いてモードを選択する処理のフロー・チャート。
【符号の説明】
100 セット・トップ・ボックス・システム 130 ディジタル媒体プロセッサ 131 中央処理装置 133 チップ識別レジスタ 135 ブートROM 137 TLB(ルック・アサイド・バッファ) 141 フラッシュEPROM 143 DRAM 210 RTOS(リアル・タイム・オペレーティング
・システム) 611 固定仮想アドレス・レジスタ 621、623、625、627 比較器 641 固定物理アドレス・レジスタ 650 マルチプレクサ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) H04N 7/24 H04N 7/13 Z 7/167 7/167 (31)優先権主張番号 087230 (32)優先日 平成10年5月29日(1998.5.29) (33)優先権主張国 米国(US) (72)発明者 ドナルド イー.ステイス アメリカ合衆国 テキサス,リチャードソ ン,クレストーバー ドライブ 328

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 安全計算システムにおいて、 少なくとも1つのプログラム用のプログラム・コードを
    記憶した不揮発性メモリであって、前記プログラム・コ
    ードは所定の秘密鍵により暗号化された検証コードを含
    む前記不揮発性メモリと、 集積回路上に配置されたプログラム制御によりデータ操
    作するデータ・プロセッサであって、電力の初期印加毎
    に所定のアドレスに記憶されているプログラムを実行す
    る前記データ・プロセッサと、 前記集積回路上に配置された読み出し専用メモリであっ
    て、前記所定の秘密鍵に対応する公開鍵を記憶し、かつ
    前記所定のアドレスで開始する初期化プログラムを記憶
    する前記読み出し専用メモリであって、前記初期化プロ
    グラムは、前記データ・プロセッサに(1)前記不揮発
    性メモリに記憶されている前記少なくとも1つのプログ
    ラムの前記検証コードを復号するために前記公開鍵を用
    いるようにさせ、かつ(2)前記プログラムのセキュリ
    ティの検証、又は前記プログラムのセキュリティの検証
    不合格を表示させる複数の命令を含む前記読み出し専用
    メモリとを備えた安全計算システム。
  2. 【請求項2】 安全計算の方法において、 秘密鍵によってプログラム用の検証トークンを暗号化す
    るステップと、 前記秘密鍵に対応する公開鍵を記憶するステップと、 安全計算システム用のデバッガ/エミュレータの各初期
    化により、前記プログラムが安全なプログラムか又は安
    全でないプログラムかを判断するステップと、 前記プログラムが安全なプログラムであれば、前記デバ
    ッガ/エミュレータにおける第1の動作モードを選択し
    て前記プログラムに対するアクセスを可能にさせ、一方
    前記安全計算システムの少なくとも1つのセキュリティ
    機能に対するアクセスを禁止するステップと、 前記プログラムが非安全プログラムであれば、前記デバ
    ッガ/エミュレータにおける第2の動作モードを選択し
    て前記安全計算システムの全ての機能に対するアクセス
    を可能にするステップとを備えた安全計算の方法。
JP15032199A 1998-05-29 1999-05-28 安全計算システム及び方法 Abandoned JP2000138917A (ja)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US8719598P 1998-05-29 1998-05-29
US8723098A 1998-05-29 1998-05-29
US8726298A 1998-05-29 1998-05-29
US087262 1998-05-29
US087195 1998-05-29
US09/087,229 US5974495A (en) 1994-11-01 1998-05-29 Using a back-off signal to bridge a first bus to a second bus
US087229 1998-05-29
US087230 1998-05-29

Publications (2)

Publication Number Publication Date
JP2000138917A true JP2000138917A (ja) 2000-05-16
JP2000138917A5 JP2000138917A5 (ja) 2006-07-13

Family

ID=27492114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15032199A Abandoned JP2000138917A (ja) 1998-05-29 1999-05-28 安全計算システム及び方法

Country Status (1)

Country Link
JP (1) JP2000138917A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002244756A (ja) * 2001-02-19 2002-08-30 Sony Corp データ処理方法、半導体回路および認証用装置
JP2006164273A (ja) * 2004-12-09 2006-06-22 Samsung Electronics Co Ltd 保安ブート装置及び方法
JP2009049847A (ja) * 2007-08-22 2009-03-05 Panasonic Corp デジタル放送受信機
JP2009163701A (ja) * 2007-12-31 2009-07-23 Toshiba Corp 記憶装置の耐タンパー方法及び装置
JP2010541084A (ja) * 2007-10-02 2010-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション セキュア・カーネル設計による安全基準の差別化
US8141057B2 (en) 2001-02-16 2012-03-20 Sony Corporation Data processing apparatus and associated method
CN111310209A (zh) * 2015-11-03 2020-06-19 质子世界国际公司 电子电路的安全启动
WO2020262347A1 (ja) * 2019-06-27 2020-12-30 京セラドキュメントソリューションズ株式会社 画像形成装置、ファームウェアの改竄防止方法及び改竄防止プログラムを記憶したコンピューター読取可能な非一時的な記録媒体
JP2021523494A (ja) * 2018-08-17 2021-09-02 オムロン株式会社 産業用pcデバイスの動作方法及び産業用pcデバイス
US11768968B2 (en) 2020-06-10 2023-09-26 Proton World International N.V. Secure starting of an electronic circuit

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8141057B2 (en) 2001-02-16 2012-03-20 Sony Corporation Data processing apparatus and associated method
JP2002244756A (ja) * 2001-02-19 2002-08-30 Sony Corp データ処理方法、半導体回路および認証用装置
JP2006164273A (ja) * 2004-12-09 2006-06-22 Samsung Electronics Co Ltd 保安ブート装置及び方法
JP2009049847A (ja) * 2007-08-22 2009-03-05 Panasonic Corp デジタル放送受信機
JP2010541084A (ja) * 2007-10-02 2010-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション セキュア・カーネル設計による安全基準の差別化
JP2009163701A (ja) * 2007-12-31 2009-07-23 Toshiba Corp 記憶装置の耐タンパー方法及び装置
CN111310209A (zh) * 2015-11-03 2020-06-19 质子世界国际公司 电子电路的安全启动
CN111310209B (zh) * 2015-11-03 2024-03-05 质子世界国际公司 电子电路的安全启动
JP2021523494A (ja) * 2018-08-17 2021-09-02 オムロン株式会社 産業用pcデバイスの動作方法及び産業用pcデバイス
JP7044201B2 (ja) 2018-08-17 2022-03-30 オムロン株式会社 産業用pcデバイスの動作方法及び産業用pcデバイス
US11640468B2 (en) 2018-08-17 2023-05-02 Omron Corporation Method for operating an industrial PC device and industrial PC device
WO2020262347A1 (ja) * 2019-06-27 2020-12-30 京セラドキュメントソリューションズ株式会社 画像形成装置、ファームウェアの改竄防止方法及び改竄防止プログラムを記憶したコンピューター読取可能な非一時的な記録媒体
JPWO2020262347A1 (ja) * 2019-06-27 2020-12-30
JP7184188B2 (ja) 2019-06-27 2022-12-06 京セラドキュメントソリューションズ株式会社 画像形成装置、ファームウェアの改竄防止方法及び改竄防止プログラムを記憶したコンピューター読取可能な非一時的な記録媒体
US11768968B2 (en) 2020-06-10 2023-09-26 Proton World International N.V. Secure starting of an electronic circuit

Similar Documents

Publication Publication Date Title
US6775778B1 (en) Secure computing device having boot read only memory verification of program code
US6567906B2 (en) Secure computing device including virtual memory table look-aside buffer with non-relocatable page of memory
US6711683B1 (en) Compresses video decompression system with encryption of compressed data stored in video buffer
EP0961193A2 (en) Secure computing device
US6757829B1 (en) Program debugging system for secure computing device having secure and non-secure modes
US7313705B2 (en) Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory
US5778070A (en) Method and apparatus for protecting flash memory
US6735696B1 (en) Digital content protection using a secure booting method and apparatus
KR100809977B1 (ko) 집적 시스템 내에서의 보안 운영의 활성화 방법, 보안 운영의 초기화 방법, 암호화된 데이터의 변환 방법 및 집적 시스템 기능의 복원 방법
US7874009B2 (en) Data processing device
AU2010201896B2 (en) Secure read-write storage device
EP2706478B1 (en) Protecting secure software in a multi-security-CPU system
US9483626B2 (en) Multi-security-CPU system
US20050268174A1 (en) Semiconductor device, electronic apparatus, and access control method of the semiconductor device
TWI490724B (zh) 用於加載至少一個軟體模組的代碼的方法
KR20030095301A (ko) 보안 부트 로더에서의 해싱의 사용
JP2002318719A (ja) 高信頼計算機システム
CN113656086A (zh) 安全存储及加载固件的方法及电子装置
US9171170B2 (en) Data and key separation using a secure central processing unit
JP2004213216A (ja) 情報セキュリティマイクロコンピュータ、そのプログラム開発装置およびそれらを含んだプログラム開発システム
US20020069316A1 (en) Method and apparatus for protecting flash memory
JP2002526822A (ja) セキュリティ処理環境を提供するための装置
JP2000138917A (ja) 安全計算システム及び方法
EP1465038B1 (en) Memory security device for flexible software environment
US20090285280A1 (en) Method and Apparatus for Securing Digital Content

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060529

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060529

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20090916