JPH08221268A - マルチメディア・タイトルの保護頒布のための方法及びシステム - Google Patents
マルチメディア・タイトルの保護頒布のための方法及びシステムInfo
- Publication number
- JPH08221268A JPH08221268A JP7316966A JP31696695A JPH08221268A JP H08221268 A JPH08221268 A JP H08221268A JP 7316966 A JP7316966 A JP 7316966A JP 31696695 A JP31696695 A JP 31696695A JP H08221268 A JPH08221268 A JP H08221268A
- Authority
- JP
- Japan
- Prior art keywords
- program
- creating
- location
- data
- hash value
- 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
- 238000000034 method Methods 0.000 title claims description 127
- 238000009826 distribution Methods 0.000 title description 5
- 238000012545 processing Methods 0.000 claims abstract description 84
- 238000012795 verification Methods 0.000 claims description 114
- 238000003860 storage Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 13
- 238000005070 sampling Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 70
- 238000004422 calculation algorithm Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 238000010200 validation analysis Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 102100022825 Disintegrin and metalloproteinase domain-containing protein 22 Human genes 0.000 description 2
- 102100022818 Disintegrin and metalloproteinase domain-containing protein 23 Human genes 0.000 description 2
- 101000756722 Homo sapiens Disintegrin and metalloproteinase domain-containing protein 22 Proteins 0.000 description 2
- 101000756727 Homo sapiens Disintegrin and metalloproteinase domain-containing protein 23 Proteins 0.000 description 2
- 101000581326 Homo sapiens Mediator of DNA damage checkpoint protein 1 Proteins 0.000 description 2
- 102100027643 Mediator of DNA damage checkpoint protein 1 Human genes 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
- G06F2211/008—Public Key, Asymmetric Key, Asymmetric Encryption
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
メディア・プログラムをチェックし、許可されてないマ
ルチメディア・プログラムを検出するための方法及びシ
ステムを提供する。 【解決手段】本発明は、プログラムを検証するための検
証ストラクチャを作成する。検証ストラクチャはそのプ
ログラムに組み込まれ、そして、プログラムの開始に応
答して、そのプログラムが許可されたプログラムである
かどうかに関する決定が行われる。その決定は検証スト
ラクチャを使用して行われる。
Description
良されたデータ処理システムに関するものであり、詳し
くいえば、マルチメディア・プログラムを頒布するため
の方法及びシステムに関するものである。更に詳しく云
えば、本発明は、データ処理システムにおいて、許可さ
れたマルチメディア・プログラムをチェックし、許可さ
れてないマルチメディア・プログラムを検出するための
方法及びシステムに関するものである。
タ処理システムは、音声、図形、動画、及びテキストを
利用して情報をデータの形でユーザに提供する。データ
及び情報をこの形式でユーザに提供するプログラムはマ
ルチメディア・タイトルとも呼ばれる。一般に、ソフト
ウエア会社はマルチメディア・タイトルの製作及び供給
のためのソフトウエア・システムを開発し、販売してい
る。そのようなソフトウエア・システムは、マルチメデ
ィア・タイトルのためのマルチメディア・スクリプトを
構成する場合に使用される。一般に、そのソフトウエア
・システムは、開発者によるマルチメディア・タイトル
の製作のためのオーサリング(authoring)ツ
ール・セット及びそのマルチメディア・タイトルをエン
ド・ユーザに提供するための実行時環境(RTE)を含
んでいる。一般に、RTEは種々の計算機プラットフォ
ームにおいて実行するように設計され、開発者にとって
望ましいソフトウエア・システムのためのオーサリング
・ツールを作っている。一般に、開発者は、オーサリン
グ・ツールを使用するためのローヤルティを支払って、
RTE上でランすべきマルチメディア・タイトルを開発
している。しかし、無法な開発者は、RTEにおいて使
用するためのマルチメディア・タイトルの製作におい
て、許可されないタイトルを製作したり、ローヤルティ
の支払を回避したりすることがある。従って、許可され
たタイトルがデータ処理システムにおいて実行すること
を可能にし且つ許可されてないタイトルを実行しようと
する試みを検出するための方法及びシステムを持つこと
は有益であろう。
テムにおいて、許可されたマルチメディア・プログラム
に対するチェックを行い、許可されてないマルチメディ
ア・プログラムを検出するための方法及びシステムを提
供することにある。
ステムにおいて、許可されたマルチメディア・プログラ
ムを検出するための方法及びシステムを提供する。本発
明は、マルチメディア・プログラムを検証するための検
証ストラクチャを作成する。その検証ストラクチャはマ
ルチメディア・プログラムに組み込まれ、そしてマルチ
メディア・プログラムの開始に応答して、そのマルチメ
ディア・プログラムが許可されたマルチメディア・プロ
グラムであるかどうかに関する決定が行われる。その決
定は、検証ストラクチャを使用して行われる。
ラムのうちの数セクション(以下、データ・オブジェク
トと呼ばれる)が選択され、その選択されたデータ・オ
ブジェクトの各々に関する暗号ハッシュ値が作成され、
又は計算される。その暗号ハッシュ値及び選択されたデ
ータ・オブジェクトのロケーションは、検証ストラクチ
ャ内にデータ・レコードとして記憶される。更に、シグ
ナチャが検証ストラクチャに含まれ、或いはそれと関連
付けられる。そのシグナチャは、本発明の好適な実施例
によれば、公開キー暗号アルゴリズムを使用して、その
検証ストラクチャに基づいて計算される。
マルチメディア・プログラムであるかどうかの決定は、
そのマルチメディア・プログラムにおけるデータ・オブ
ジェクトのサブセットを選択すること及びそのマルチメ
ディア・プログラムに記憶された検証ストラクチャを使
用してその選択されたデータ・オブジェクトを検証する
ことによって達成される。これは、検証ストラクチャに
おいてリストされたデータ・レコードの定義されたセッ
トの中からそのデータ・オブジェクトの一部分を無作為
に選択するステップ、その検証ストラクチャに記憶され
たロケーション情報を使用してマルチメディア・プログ
ラムからその選択されたデータ・オブジェクトを読み取
るステップ、及びその検証ストラクチャに記憶された検
証情報を使用してその選択されたデータ・オブジェクト
を検証するステップを含む。各選択されたデータ・オブ
ジェクトに対して、その検証ストラクチャに記憶された
ロケーション情報がアクセスされ、その選択されたデー
タ・オブジェクトをマルチメディア・プログラムから読
み取るために使用される。
オブジェクトに基づいて計算され、しかる後、その検証
ストラクチャに記憶された対応する「基準のハッシュ
値」と等しいかどうかを得るために比較される。その選
択されたデータ・オブジェクトが有効であるためには、
それらハッシュ値は等しくなければならない。更に、公
開キー暗号アルゴリズムを使用して、検証ストラクチャ
において前に計算されそして検証ストラクチャ内に記憶
されたシグナチャの使用を通して、その検証ストラクチ
ャ自身が検証される。そのシグナチャ、検証ストラクチ
ャ、及び選択されたデータ・オブジェクトのサブセット
が有効なものである場合、そのマルチメディア・プログ
ラムは許可されたマルチメディア・プログラムであると
見なされる。許可されたマルチメディア・プログラムは
正規に実行することを許される。それとは異なり、マル
チメディア・プログラムが許可されたプログラムでない
という決定に応答して、マルチメディア・プログラムの
実行は禁止されるか、又はマルチメディア・プログラム
の限定された実行を許すことも可能である。
記の詳細な説明において明らかになるであろう。
本発明が使用可能なデータ処理システム、即ち、パーソ
ナル・コンピュータ・システム10が示される。図示の
ように、パーソナル・コンピュータ・システム10は、
相互接続された多数のコンポーネントより成る。更に詳
しくいえば、システム・ユニット12はオプショナル・
モニタ14(通常のビデオ・ディスプレイのような)に
接続され、そのオプショナル・ユニットを駆動すること
ができる。又、システム・ユニット12は、PCキーボ
ード16又はマウス18のような入力装置に選択的に接
続可能である。マウス18は右及び左のボタンを有す
る。左のボタンは、一般に、メイン・セレクタ・ボタン
として使用され、第1マウス・ボタン又はマウス・ボタ
ン1と呼ばれる。右のボタンは、一般に、後述のように
補助的な機能を選択するために使用される。右のボタン
は、第2マウス・ボタン又はマウス・ボタン2と呼ばれ
る。プリンタ20のようなオプショナル出力装置も、シ
ステム・ユニット12に接続可能である。結局、システ
ム・ユニット12は、ディスケット・ドライブ22のよ
うな1つ又は複数個の大容量記憶装置を含み得るもので
ある。
は、PCキーボード16、マウス18、又はローカル・
エリア・ネットワーク・インターフェースのような入力
装置に応答する。更に、フロッピ・ディスク・ドライブ
22、ディスプレイ14、プリンタ20、及びローカル
・エリア・ネットワーク通信システムのような入出力
(I/O)装置が周知の態様でシステム・ユニット12
に接続される。勿論、当業者には明らかなように、他の
通常のコンポーネントもシステム・ユニット12との相
互作用のために、そのシステム・ユニットに接続可能で
ある。本発明によれば、パーソナル・コンピュータ・シ
ステム10は、ランダム・アクセス・メモリ(RA
M)、読取り専用メモリ(ROM)、及び複数個のI/
O装置に相互接続されたシステム・プロセッサを含む。
タ・システム10は、サーバのような小グループのユー
ザ又は単独のユーザに独立のコンピューティング・パワ
ーを与えるように設計可能であり、個人又は小企業によ
る購入のために安価に価格付けされている。操作におい
ては、システム・プロセッサは、IBM社のOS/2オ
ペレーティング・システム(OS/2はIBM社の商
標)又はDOSのようなオペレーティング・システムの
下で機能する。このタイプのオペレーティング・システ
ムは、I/O装置とオペレーティング・システムとの間
に基本入出力システム(BIOS)インターフェースを
含む。マザーボード又はプレーナ上のROMに記憶可能
なそのBIOSは、POSTと呼ばれるパワー・オン自
己検査セクションに含まれた診断ルーチンを有する。
ーソナル・コンピュータ・システムの一般的なオペレー
ションの要約は、復習するに値するであろう。図2を参
照すると、本発明によるパーソナル・コンピュータ・シ
ステム10の種々のコンポーネントを表すパーソナル・
コンピュータ・システム10のブロック図が示される。
更に、図2は、プレーナ11のコンポーネント、及びI
/Oスロット46a−46d及びパーソナル・コンピュ
ータ・システム10の他のハードウエアに対するプレー
ナ11の接続を示す。プレーナ11には、マイクロプロ
セッサより成るシステム中央処理装置(CPU)26が
接続される。そのマイクロプロセッサは、高速度のCP
Uローカル・バス24により、バス制御のタイミング装
置38を介してメモリ制御装置50に接続される。その
メモリ制御装置は、更に、揮発性のランダム・アクセス
・メモリ(RAM)58に接続される。CPU26のた
めに任意の適当なマイクロプロセッサが使用可能である
けれども、1つの適当なマイクロプロセッサは、インテ
ル社によって販売されているPentiumマイクロプ
ロセッサ(「Pentium」はインテル社の商標)で
ある。
照して本発明を説明するけれども、本発明による装置及
び方法が他のハード・ウエア構成のプレーナ・ボードで
もって使用可能であると考えられ、それは、以下の説明
に当たって理解すべきことである。例えば、システム・
プロセッサはインテル80286、80386、又は8
0486マイクロプロセッサであってもよい。これらの
特定のマイクロプロセッサは実アドレシング・モード或
いは保護アドレシング・モードにおいて動作することが
できる。各モードは、マイクロプロセッサのメモリの種
々の領域をアクセスするためのアドレシング方法を与え
る。
24(データ、アドレス、及び制御コンポーネントより
成る)は、CPU26,オプショナル数値計算補助プロ
セッサ27、キャッシュ・コントローラ28、及びキャ
ッシュ・メモリ30の接続に備えている。バッファ32
は、低速度(CPUローカル・バスに比べて)のシステ
ム・バス34に接続される。システム・バス34も、デ
ータ、アドレス及び制御コンポーネントより成る。シス
テム・バス34は、バッファ32と更なるバッファ36
との間に延びている。システム・バス34は、更に、バ
ス制御及びタイミング装置38及びダイレクト・メモリ
・アクセス(DMA)装置40に接続される。DMA装
置40は中央アービトレーション装置(アービタ)48
及びDMAコントローラ41より成る。バッファ36
は、システム・バス34とマイクロ・チャネル・バス4
4(「マイクロ・チャネル」はIBM社の商標)のよう
なオプショナル・フィーチャ・バスとの間のインターフ
ェースを提供する。バス44には複数個のI/Oスロッ
ト46a−46dが接続される。それらスロットは、更
にI/O装置又はメモリに接続されるマイクロ・チャネ
ル・アダプタ・カードを受けるためのものである。図示
の例では、I/Oスロット46aはアダプタ・カード上
のROMをそれに接続され、I/Oスロット46bはC
D−ROMドライブをそれに接続され,そしてI/Oス
ロット46cはハード・ディスク・ドライブをそれに接
続される。モデムのような他の装置もI/Oスロットに
接続可能である。
Aコントローラ41及び中央アービトレーション装置4
8をI/Oスロット46a−46d及びディスケット
(フロッピ・ディスク)アダプタ82に接続する。更
に、システム・バス34には、メモリ制御バス50が接
続される。そのメモリ制御バスは、メモリ・コントロー
ラ52、アドレス・マルチプレクサ54、及びデータ・
バッファ56より成る。メモリ制御装置50は、更に、
RAMモジュール58によって代表されるようなランダ
ム・アクセス・メモリに接続される。メモリ・コントロ
ーラ52は、CPUへの及びCPUからのアドレスをR
AM58の特定の領域にマップするためのロジックを含
む。基本的な1メガバイトRAMモジュールによるパー
ソナル・コンピュータ10が示されるけれども、図2に
おけるオプショナル・メモリ・モジュール60乃至64
によって示されるような追加のメモリが相互接続可能で
あることは勿論である。
ス68の間には、更なるバッファ66が接続される。プ
レーナI/Oバス68は、それぞれ、アドレス、データ
及び制御コンポーネントを含む。プレーナ・バス68に
沿って、ディスプレイ・アダプタ70(オプショナル・
ディスプレイ14をドライブするために使用される)、
クロック72、不揮発性RAM74(以下、「NVRR
AM」と呼ぶ)、RS232アダプタ76、並列アダプ
タ78、複数個のタイマ80、ディスケット・アダプタ
82、PCキーボード/マウス・コントローラ84、及
び読取り専用メモリ(ROM)86のような種々のI/
Oアダプタ及び周辺コンポーネントが接続される。RO
M86は、多くのI/O装置相互間のユーザ透明のコミ
ュニケーションを提供するBIOSを含む。
る。NVRAM74は、システム構成データを記憶する
ために使用される。即ち、そのNVRAMは、システム
の現在の構成を記述した値を含むであろう。例えば、N
VRAM74は、固定ディスク又はディスケットの容
量、ディスプレイのタイプ、メモリの容量等を記述した
情報を含む。特に重要なこととして、NVRAM74
は、システム・コンソール構成、即ち、PCキーボード
がキーボード/マウス・コントローラ84に接続されて
いるかどうか、ディスプレイ・コントローラが使用可能
であるかどうか、或いはASCII端末がRS232ア
ダプタ76に接続されているかどうかを記述するために
使用されるデータを含むであろう。更に、これらデータ
は、特別の構成プログラムが実行される時にいつもNV
RAM74に記憶される。その構成プログラムの目的
は、システムの電源が切られる時に保存されるこのシス
テムの構成を特徴づける値をNVRAM74に記憶する
ことである。
は、ポートA及びBが接続される。これらのポートはP
Cキーボード(ASCII端末に対立するものとして)
及びマウスをそのPCシステムに接続するために使用さ
れる。RS232アダプタ装置76には、RS232コ
ネクタが接続される。オプショナルASCII端末がこ
のコネクタを通してシステムに接続可能である。
・システム10は、IBM PS/2コンピュータ或い
はIBM RISC SISTEM/6000(どちら
もIBM社の製品)のような任意の適当なコンピュータ
を利用して実施可能である(なお、「RISK SYS
TEM/6000」及び「PS/2」はIBM社の商
標)。
(以下、「マルチメディア・タイトル」と呼ぶ)の頒布
は、オーサリング・ツールとマルチメディア会社により
提供される実行時環境(RTE)とを使用してマルチメ
ディア・タイトルを製作するアプリケーション開発者、
及びそのRTEを実行するコンピュータ或いはコンピュ
ータ・プラットフォームにおける実行のためにマルチメ
ディア・タイトルを購入するユーザに影響する。本発明
の好適な実施例によれば、許可されたマルチメディア・
タイトルに関してチェックすること及び許可されてない
マルチメディア・タイトルを検出することは、公開キー
・アルゴリズム使用するディジタル・シグナチャのスキ
ームに影響する。「公開キー」は、情報を暗号化したい
人にとって利用可能にされたキーである。公開キー暗号
化では、公開キーが暗号化のために使用されそして専用
キーが暗号解読のために使用されるという公開キー・ア
ルゴリズムが使用される。公開キー暗号化の基本は、個
々の対数、因数分解、及びナップザック問題を含む。各
許可されたマルチメディア・タイトルは、そのマルチメ
ディア・タイトルがデータ処理システムにおける実行を
許される前にRTEにより検証可能な組み込まれたディ
ジタル・シグナチャ・トークンを含む。
・トークン生成プロセス及びシグナチャ・トークン検証
プロセスを容易にするために、2つの暗号サブシステム
が使用される。1つの暗号サブシステムは、許可された
マルチメディア・タイトルに組み込まれた時にこれらタ
イトルが検証されることを許容するシグナチャ・トーク
ンの生成を可能にする。もう1つの暗号サブシステムは
シグナチャ・トークンを検証するために使用される。こ
の態様では、許可されたマルチメディア・タイトルは、
許可されてないマルチメディア・タイトルから区別可能
である。
マルチメディア・タイトルに対する作成及び頒布プロセ
スのブロック図が本発明の好適な実施例に従って示され
る。当業者には明らかなように、本発明は、マルチメデ
ィア・タイトルがCD−ROM媒体以外の媒体を通して
頒布されるという実現方法において実施可能である。マ
ルチメディア・タイトルは、開発者がオーサリング・ツ
ール300を使用することによって開発される。そこ
で、マルチメディア・タイトルは、シグナチャ・トーク
ン生成モジュール302を使用して処理される。このモ
ジュールはマルチメディア・タイトルのためのシグナチ
ャ・トークンを生成する。シグナチャ・トークンはその
マルチメディア・タイトルに組み込まれる。
まれたマルチメディア・タイトルは、マスタCD−RO
M304を作成する開発者に返送される。別の方法とし
て、シグナチャ・トークン及びマルチメディア・タイト
ルが開発者に返送され、その際、そのシグナチャ・トー
クンがマルチメディア・タイトルに組み込まれ、マスタ
CD−ROM304が開発者によって作成される。その
マルチメディア・タイトル及び組み込まれたシグナチャ
・トークンを含むCD−ROM306がマスタCD−R
OM304から作られる。CD−ROM306は、本発
明の好適な実施例によればシグナチャ・トークン・モジ
ュールを持ったRTEを含むデータ処理システム308
内に配される。そのタイトルがデータ処理システム30
8において実行されるべき時、RTEはCD−ROMか
らシグナチャ・トークンを読み取り、シグナチャ・トー
クン検証モジュールを使用してそのシグナチャ・トーク
ンとCD−ROMから読み取られたデータ・オブジェク
トの選択された部分とを検証する。
レイするには約1時間を必要とし、約650メガバイト
のデータを含んでいる。その結果、マルチメディア・タ
イトルにおける各バイトを読み取り及びチェックするこ
とによってそのマルチメディア・タイトルを検証するこ
とは非能率的である。本発明の好適な実施例によれば、
マルチメディア・タイトルは、それに含まれたデータの
一部分をチェックすることによって検証される。
ディア・タイトルを検証するためにデータのランダム・
サンプリングが使用される。サンプルされるべきデータ
・ロケーションが検証の或る瞬間から次の瞬間まで一定
であった場合、そのマルチメディア・タイトルの小さな
部分だけしかチェックされないであろう。そのような状
況では、違法タイトルの方がより容易に構成可能であ
る。しかし、サンプルするためのデータ・ロケーション
を無作為に選択することによって、模擬マルチメディア
・タイトルの可能性は大きく減少する。
ンプリングを利用する。検証されるべきデータのキー部
分を識別するためにマルチメディア・タイトルそのもの
の論理的ストラクチャが使用される場合、マルチメディ
ア・タイトルの検証における大きな改良が得られる。例
えば、好ましいチェック方法は、マルチメディア・タイ
トルの各ファイルに対する内容テーブルにおけるチェッ
ク部分のデータ又はすべてのデータに基づくものが可能
である。マルチメディア・タイトルは1つ又は複数個の
ファイルより成り、各ファイルはそれ自身の内容テーブ
ルを含む。多くの場合、マルチメディア・タイトルは唯
一のそのようなファイルを含む。ファイルがオープンさ
れる時、内容テーブルは読み取られるべき第1の項目で
ある。
に従って、内容テーブルにおけるエントリが示される。
内容テーブル400はエントリ402−408を含む。
各エントリはオブジェクト識別子、属性識別子、タイ
プ、及びロケーション(オフセット及び長さ)を含む。
その結果、特定のエントリは、ディスク上の特定のオフ
セットにおいて、この多くのバイトに対して、このタイ
プのこのIDを持ったオブジェクトに属するこのIDを
持った特性が位置指定されることを表す。内容テーブル
がオブジェクトID及び属性IDに基づいてデータを参
照するため、参照されたデータ・オブジェクトはオブジ
ェクト−属性(OP)の対によって参照される云われ、
そのデータ・オブジェクトはOPデータと呼ばれる。勿
論、内容テーブルに対する他のフォーマット及び仕様が
本発明の好適な実施例に従って利用可能である。内容テ
ーブルは、それのフォーマット、ストラクチャ、及びセ
マンティックスに関係なく、本発明の好適な実施例に従
ってマルチメディア・タイトルを効果的に検証するため
に使用可能である。一般に、マルチメディア・タイトル
では、内容テーブルは、マルチメディア・タイトルの他
の部分のほとんどによる固有の従属性を持った比較的短
い且つ容易に識別可能な情報片の一例である。内容テー
ブルは記号テーブル、連係マップ等の形式をとることが
できるが、厳密に指定され、高度に構造化される。
て、一般に、最初の幾つかの表示されたスクリーンはタ
イトルの名称及びそれのバージョンを含む。その結果、
これらのスクリーンを保護することが望ましくなる。従
って、チェック方法は、ユーザに表示されるデータのう
ちの最初の数スクリーンをチェックすることを含むこと
があるので、例えば、「深淵の悪魔(Demons f
or the Deep)」という名称の模擬タイトル
は、それがピギー・バックしているタイトルの名称、例
えば、「砂漠のウオーゲーム(Desert Warg
ames)」の表示を強いられるであろう。
て、及び各マルチメディア・ファイルに対するタイトル
の名称及びそれのバージョンを含む最初の幾つかの表示
されたスクリーンを検証することによって、及びマルチ
メディア・タイトルにおけるデータ・オブジェクトのサ
ブセットを検証することによってマルチメディア・タイ
トルを検証するための方法及びシステムを提供する。本
発明の好適な実施例によれば、これらデータ・オブジェ
クトは無作為に選択される。しかし、当業者には明らか
なように、データ・オブジェクトは、本発明の精神から
離れることなく、無作為でない好適な方法を使用して選
択可能である。
の図が、本発明の好適な実施例に従って示される。シグ
ナチャ・トークン500はシグナチャ・トークン生成モ
ジュール(図5には図示されていない)によって構成さ
れる。シグナチャ・トークンはそのシグナチャ・トーク
ン生成モジュールにサービス・リクエストを繰り返し行
うことによってステップ状に構成される。シグナチャ・
トークン500は、一旦作成されると、それを生成した
マルチメディア・タイトルに組み込まれる。シグナチャ
・トークンはRTEにおけるシグナチャ・トークン検証
モジュールによって検証される。その検証では、シグナ
チャ・トークンはシグナチャ・トークン検証モジュール
に対して反復してサービス・リクエスト行うことによっ
てステップ状に検証される。
2及び選択されそして検証されるマルチメディア・タイ
トルにおけるデータ又はデータ・オブジェクトに対応し
たデータ・レコード1乃至nを含む。シグナチャ・トー
クンにおけるそれらデータ・レコード1乃至nは、直接
的な対応はあるけれども、マルチメディア・タイトルに
おけるデータ・オブジェクトとは異なる。更に、シグナ
チャ・トークン500は、そのシグナチャ・トークンに
おけるヘッダ及び一連のデータ・レコード1乃至nを検
証するために使用されるディジタル・シグナチャ504
を含む。シグナチャ・トークン500における各データ
・レコードはロケーション特殊情報L及び暗号ハッシュ
値Hを含む。ロケーション特殊情報は、そのデータにお
ける検証されるべきロケーションをシグナチャ・トーク
ン検証モジュールに知らせる。暗号ハッシュ値はLによ
って参照される特殊マルチメディア・データに基づいて
計算される。
ハッシュ値は、片方向関数を使用して計算される。片方
向関数は、Xの暗号ハッシュ値がYの暗号ハッシュ値に
等しくなるように2つの異なる入力X及びYを見つける
ことが計算上は実行不可能である関数である。用語「計
算上は実行不可能」は、非常に多数の計算上のステップ
が必要とされるために、実用的な意味では遂行すること
ができない数学的手順を記述するために従来技術で使用
されたものでる。しかし、その用語は、それ以上の数の
計算が計算上実行不可能であると云われ且つそれ以下の
数の計算が計算上実行可能であると云われる規定の数の
計算がない場合には正確ではない。一般に、必要な計算
を行うためのコスト又は時間が妥当な人的手段を超えて
いる場合、例えば、一緒にリンクした世界におけるコン
ピュータが数十億年においても問題を解くことができな
い場合、計算上実行不可能であると云われる。
ークン50に記憶されたロケーション特殊情報とアルゴ
リズム的に得られたロケーション特殊情報との組合せで
あってもよい。マルチメディア・タイトルにおける内容
テーブルは、シグナチャ・トークン500から省くこと
ができるロケーション特殊情報の一例である。換言すれ
ば、標準的な開始ポイントを与えられた内容テーブルを
いつでも見つけることができる簡単な手順が存在するた
め、シグナチャ・トークン500は内容テーブルのアド
レス又はロケーションを記憶する必要がない。
タ・レコード1乃至nの一部分は、マルチメディア・タ
イトルにおける1つ又は複数個のデータ・オブジェクト
内のデータを参照するであろう。シグナチャ・トークン
生成モジュールは、検証されるべきマルチメディア・タ
イトルから種々なデータ・オブジェクトのサブセットを
選択するためのプロセスを使用する。このプロセスにつ
いては、更に詳しく後述することにする。厳密に云え
ば、このプロセスにおける無作為性は必要ないけれど
も、このプロセスにおいて無作為性の要素を持つことは
望ましいことである。一旦マルチメディア・タイトルに
おけるデータ・オブジェクトのサブセットが識別されて
しまうと、各データ・オブジェクトにおけるサブポーシ
ョンが選択される。これらデータのサブポーションのロ
ケーション(L1,L2,・・・,Ln)は、各サブポ
ーションと関連したデータを読み取るためにシグナチャ
・トークン生成モジュールによって使用される。
ールは暗号サブシステムにサービス・リクエストを発生
して、ロケーション情報Liによって参照されるデータ
の各サブポーションにおける暗号ハッシュ値Hiを生成
させる。そこで、暗号ハッシュ値Hiはロケーション情
報Liと共にデータ・レコードiに記憶される。ヘッダ
及びデータ・レコード1乃至nが作成されてしまうと、
シグナチャ・トークン生成モジュールは暗号サブシステ
ムにサービス・リクエストを発生して、ディジタル・シ
グナチャ以外のそのシグナチャ・トークンに関する暗号
ハッシュ値を計算させる。そこで、シグナチャ・トーク
ン生成モジュールは暗号サブシステムにサービス・リク
エストを発生し、そのシグナチャ・トークン及びマルチ
メディア会社の専用キーに基づいて計算された暗号ハッ
シュ値を使用して、そのシグナチャ・トークンに関する
ディジタル・シグナチャを計算させる。しかる後、その
ディジタル・シグナチャはシグナチャ・トークンに記憶
される。
グナチャ・トークンにおけるデータ・レコードのサブセ
ットを無作為に選択しそして検証し、従って、本発明の
好適な実施例に従って検証プロセスに無作為の要素を導
入する。一旦データ・レコードのサブセットが無作為に
選択されてしまうと、シグナチャ・トークン検証モジュ
ールは各データ・レコードをレコード毎に処理するであ
ろう。データ・レコードにおけるロケーション特殊情報
Lは参照データをCD−ROMから読み出すために使用
される。そこで、サービス・リクエストが暗号サブシス
テムに発生され、その参照データに基づいて暗号ハッシ
ュ値Hを生成させる。そこで、この計算された暗号ハッ
シュ値は、データ・レコードに記憶された基準暗号ハッ
シュ値Hと等しいかどうかを得るために比較される。そ
れら暗号ハッシュ値が等しい場合、プロセスは継続す
る。それらが等しくない場合、検証が失敗したという表
示を行うと共に、処理は停止される。
ナチャ・トークン検証モジュールは暗号サブシステムに
サービス・リクエストを発生して、それが以前にそのマ
ルチメディア・タイトルから読み出したシグナチャ・ト
ークン(ディジタル・シグナチャ以外の)を暗号的にハ
ッシュさせる。そこで、サービス・リクエストが暗号サ
ブシステムに発生されてディジタル・シグナチャを検証
させる。本発明の好適な実施例によれば、ディジタル・
シグナチャは、シグナチャ・トークン検証モジュールに
記憶されたマルチメディア会社の公開キーでもって暗号
化される。ディジタル・シグナチャの暗号化された値
は、有効なシグナチャ・トークンに基づいて前に計算さ
れた基準のハッシュ値を含んでいる。そこで、その計算
されたハッシュ値は、そのように得られた基準のハッシ
ュ値と等しいかどうかを得る比較される。それらハッシ
ュ値が等しい場合、シグナチャ・トークン及びディジタ
ル・シグナチャは有効である。それらが等しくない場
合、シグナチャ・トークン及びディジタル・シグナチャ
は有効ではない。当業者には明らかなように、本発明
は、本発明の精神から離れることなく、任意のディジタ
ル・シグナチャ方法を使用して実施可能である。
値のツリーのルート、例えば、「ディジタル・シグナチ
ャを与える方法」と題した米国特許第4,309,569
号に開示された暗号ハッシュ値のバイナリ・ツリーのル
ートを表す暗号ハッシュ値に基づいて計算することがで
きる。n−1個の追加の中間的暗号ハッシュ値をシグナ
チャ・トークンに記憶することによって、そのシグナチ
ャ・トークンにおけるn個の可能なデータ・オブジェク
トのうちのm個が、n個のハッシュ・オペレーションの
代わりに「m*log2n」個のハッシュ・オペレーショ
ンを使用して検証可能である。これは、小さいnに対し
ては更に有利である。暗号ハッシュ値のツリーを計算す
る方法は、前記米国特許第4,309,569号及び「会
計記録を更新するための暗号化方法」と題した米国特許
第5,231,668号に開示されている。
生成モジュール及びシグナチャ・トークン検証モジュー
ルのブロック図が本発明の好適な実施例に従って示され
る。シグナチャ・トークン生成モジュール600は生成
プログラム602及び暗号サブシステム604を含む。
シグナチャ・トークン検証モジュール606は検証プロ
グラム608及び暗号サブシステム610を含む。シグ
ナチャ・トークン生成モジュール600における生成プ
ログラム602は、マルチメディア・タイトルにおける
検証されるべきデータ(無作為に選択されたデータ・オ
ブジェクトにおけるデータを含む)を選択する。生成プ
ログラム602はマルチメディア・タイトルからデータ
を読み取り、反復したサービス・リクエストを暗号サブ
システム604に発生することによってそのデータを処
理する。データを処理するためのこれら反復したサービ
ス・リクエストはシグナチャ・トークンを形成するため
に使用される。同様に、シグナチャ・トークン検証モジ
ュール606における検証プログラム608は、シグナ
チャ・トークン生成モジュール600によって生成され
たシグナチャ・トークンにおけるデータ・レコードのサ
ブセットを無作為に選択する(その後の処理及び検証の
ため)。このデータはCD−ROMから読み取られ、シ
グナチャ・トークンを検証するための反復したサービス
・リクエストを発生することによって処理される。
602に次のような暗号サービスを提供する。即ち、 (1)乱数発生器を初期化する。 (2)乱数を発生する。 (3)ハッシュ値を発生する。 (4)ディジタル・シグナチャを生成する。 (5)ディジタル・シグナチャを検証する。 一旦シグナチャ・トークンが生成されると、そのシグナ
チャ・トークンが暗号サブシステム610及びシグナチ
ャ・トークン検証モジュール606によって正しく処理
されことを補償するために生成プログラム602がその
シグナチャ・トークンを検証するディジタル・シグナチ
ャ検証機能が与えられる。そのような検証機能は、シグ
ナチャ・トークンを組み込まれたマルチメディア・タイ
トルの作成において高い整合性のプロセスを与える。シ
グナチャ・トークン検証モジュール606における暗号
サブシステム610は、次のようなサービスを提供する
ことによって検証プログラム608をサポートする。即
ち、 (1)乱数発生器を初期化する。 (2)乱数を発生する。 (3)ハッシュ値を発生する。 (4)ディジタル・シグナチャを検証する。 乱数発生器は、検証されるべきシグナチャ・トークンに
おけるデータ・レコードを無作為に選択するために使用
される。乱数を発生するための、ハッシュ値を発生する
ための、及びディジタル・シグナチャを生成及び検証す
るためのアルゴリズム及び手順は従来技術においてよく
知られている。
(FIPS)186の付則3において指定されたような
米国規格協会(ANSI)標準 X9.17「金融協会キ
ー管理(卸売り)」の付則Cにおいて与えられた擬似乱
整数発生器を使用して実施可能である。
を乱数発生器において発生させる機能、又は別の方法で
それを乱数発生器への入力として供給させる機能であ
る。乱数発生器を初期化するための簡単な方法は、ワー
クステーション・キーボード及びディスプレイを介して
乱数発生器初期化機能と対話する人への一連のリクエス
トと組み合わせてフリー・ホイーリング・カウンタを使
用することである。ユーザは、キーボードにおいて文字
を入力するように繰り返しプロンプトされる。乱数発生
機能が制御を得る時、それはフリー・ホイール・カウン
タを読み取り、そしてこの値はアキュムレータに記憶さ
れた値と結合される。最終的なアキュムレータ値は機密
のシード値と見なされる。人の応答時間のわずかな相異
のために、フリー・ホイール・カウンタの値は予測でき
ないものであり、従って、その結果生じるシード値は無
作為なものとなろう。
機能に基づく修正検出コードを使用したデータ承認」と
題した米国特許第4,908,861号に開示されたMD
C−2又はMDC−4アルゴリズムを含む幾つかのアル
ゴリズムのうちの1つを使用して、又はFIPS180
「安全ハッシュ標準」におけるハッシュ・アルゴリズム
を使用して実施可能である。
ジタル・シグナチャ検証機能は、ISO標準9796
「メッセージ回復を行うディジタル・シグナチャ方法」
を使用するRSA公開キー・アルゴリズムによって、又
はFIPS186「ディジタル・シグナチャ標準」にお
けるシグナチャ生成及びシグナチャ検証アルゴリズムを
使用することによって実施可能である。
公開キー・アルゴリズムを使用するけれども、ディジタ
ル・シグナチャは、データ暗号化標準(DES)のよう
な対称アルゴリズムに基づくものでよい。
生成モジュールにおいてシグナチャ・トークンを生成す
るためのプロセスのフローチャートが本発明の好適な実
施例に従って示される。そのプロセスは、シグナチャ・
トークンを持たないマルチメディア・タイトルを受け取
ることによって開始する(ステップ700)。しかる
後、プロセスは、Nが作られるべきシグナチャ・トーク
ンに対して作成されるデータ・レコードの最大数であ
り、Mが各選択されたデータ・オブジェクトのバイトに
おける最大レコード・データ長であるような変数N及び
Mを固定する(ステップ702)。例えば、N=100
0及びM=1000がN及びMに対する可能な値であ
る。そこで、プロセスは、そのマルチメディア・タイト
ルに含まれた内容テーブル又は同等の情報を見つけて読
み出す(ステップ704)。本発明の好適な実施例によ
れば、MDC1と呼ばれる128ビットMDCがデータ
D1に基づいて計算される(ステップ705)。必要に
応じて内容テーブルを使用して、第1ロゴ・スクリーン
がそのマルチメディア・タイトルから見つけられ、読み
出される(ステップ706)。ロゴ・スクリーンはその
マルチメディア・タイトルの名称を含み、「D2」とし
て指定される。MDC2と呼ばれる128ビットMDC
がデータD2に基づいて計算される(ステップ70
7)。
マルチメディア・タイトルに含まれる中間的なオブジェ
クト−属性の対の数Sを決定する(ステップ708)。
オブジェクト−属性は、内容テーブルにおけるオブジェ
クト−属性エントリによって指定されたデータである。
Sは、S<1>+S<2>+・・・+S<T> として
計算される。但し、S<i>はマルチメディア・オブジ
ェクト「i」と関連した属性の数を表し、「T」はマル
チメディア・タイトルにおけるマルチメディア・オブジ
ェクトの数を表す。そこで、プロセスは、n=min
(N,M)、即ち、N及びMの最小値をセットする(ス
テップ710)。一般に、Sは、N=nが真を維持する
ようにNよりもずっと大きいであろう。そこで、プロセ
スは、R=n−2及びX=1をセットする(ステップ7
12)。しかる後、オブジェクト−属性の対がマルチメ
ディア・タイトルから無作為に選択される。各オブジェ
クト−属性の対に対応するデータが見つけられて読み出
され、そしてそのデータのロケーションが保存される
(ステップ714)。「D3」は、無作為に選択された
オブジェクト−属性におけるオブジェクト−属性の対に
対応する情報(又は、最初のnバイトの情報)を表す。
L3は、無作為に選択されたオブジェクト−属性の対に
対応するデータを見つけて読み出すために使用される内
容テーブルにおける情報を表す。実際には、プロセスは
S個のオブジェクト−属性の対(内容テーブル及びロゴ
・スクリーンを除く)の1つを選択し、しかる後、次の
反復時に、前に選択されたオブジェクト−属性の対を除
いたS−1個の残りの相異なるオブジェクト−属性の対
のうちの1つを無作為に選択する。
ェクト−属性の対によって参照されるデータ又はデータ
・オブジェクトに基づいてMDCを計算する(ステップ
716)。本発明の好適な実施例によれば、前記米国特
許第4,908,861号に開示された方法を使用して、
128ビットMDCがオブジェクト−属性の対と関連し
たデータに基づき計算される。値D3乃至Dnに基づい
て計算されたMDC値は、そのプロセスがループする
時、それぞれ、MDC3乃至MDCnとして表される
(ステップ714及び716)。プロセスは、X=Rで
あるかどうかを決定する(ステップ718)。XがRに
等しくない時、プロセスはX=X+1にセットし(ステ
ップ720)、ステップ712に戻る。これは、R=n
−2個の異なるオブジェクト−属性の対が処理されてし
まうまで継続する。
個のデータ・レコード、及びディジタル・シグナチャよ
り成る図5に示されたシグナチャ・トークン500のよ
うなシグナチャ・トークンの作成に進む(ステップ72
2)。トークン・タイプ(例えば、「マルチメディア・
シグナチャ・トークン」)及びn(データ・レコードの
数)がそのヘッダ内に記憶される。第1のデータ・レコ
ードでは、データ・ロケーション及びハッシュ値が、そ
れぞれ、一定値「内容テーブル」及びMDC1の計算値
にセットされる。本発明の好適な実施例によれば、シグ
ナチャ・トークン検証モジュールがいつも内容テーブル
のロケーションを知っているため、用語「内容テーブ
ル」が、ロケーション情報の代わりにデータ・ロケーシ
ョン・サブフィールドに記憶される。そのシグナチャ・
トークンにおける第2データ・レコードでは、データ・
ロケーション及びハッシュ値が、それぞれ、一定値「ロ
ゴ・スクリーン」及びMDC2の計算値にセットされ
る。本発明の好適な実施例によれば、シグナチャ・トー
クン検証モジュールが内容テーブルにおいて見つけられ
た情報からロゴ・スクリーンのロケーションを計算する
ことができるため、用語「ロゴ・スクリーン」が、ロケ
ーション情報の代わりにデータ・ロケーション・サブフ
ィールドに記憶される。データ・レコード3、4、・・
・、nにおけるデータ・ロケーション及びハッシュ値
は、それぞれ、(L3,MDC3)、(L4,MDC
4)、・・・、(Ln,MDCn)にセットされる。シ
グナチャ・トークンにおけるデータ・レコード1乃至n
におけるハッシュ値H1乃至HnはMDC値、即ち、M
DC1乃至MDCnにそれぞれ等しい。
好適な実施例に従って、ディジタル・シグナチャに対す
るスペースも含む。ISO標準9796に基づくRSA
ディジタル・シグナチャは、一般に、512ビットから
2048ビットまでの記憶スペースを必要とする。FI
PS186に基づくDSSディジタル・シグナチャは3
20ビットの記憶スペースを必要とする。ステップ72
2において、シグナチャ・トークンのディジタル・シグ
ナチャ部分は、その時、初期化されていない。しかる
後、プロセスは、マルチメディア会社の専用キーでもっ
てそのシグナチャ・トークンに対するディジタル・シグ
ナチャを計算する(ステップ724)。更に詳しく云え
ば、128ビットMDCは、ヘッダ及びn個のデータ・
レコードより成るそのシグナチャ・トークンの部分に基
づいて計算される。この計算は、前記米国特許第4,9
08,861号に開示されたプロセスを使用して行うこ
とが可能である。
ば、マルチメディア会社の専用キーを使用して、ディジ
タル・シグナチャがMDC値に基づいて計算される。デ
ィジタル・シグナチャは、ISO標準9796に従って
RSA専用キーでもって、又はFIPS186に従って
DSA専用キーでもって計算可能である。当業者には明
らかなように、ディジタル・シグナチャを計算するため
には、種々の長さの専用キーが使用可能であり、本発明
の好適な実施例によれば、種々の長さのディジタル・シ
グナチャがそのシグナチャ・トークンに記憶可能であ
る。しかる後、ディジタル・シグナチャはそのシグナチ
ャ・トークンに記憶され、プロセスは終了する。
てマルチメディア・タイトルを検証するためのプロセス
のフローチャートが本発明の好適な実施例に従って示さ
れる。このプロセスは図6のシグナチャ・トークン検証
モジュール606において使用される。プロセスは、組
み込まれたシグナチャ・トークンを持ったマルチメディ
ア・タイトルを受け取ることによって開始する(ステッ
プ800)。そこで、プロセスは変数Rを固定する(ス
テップ802)。但し、このフローチャートにおけるR
は無作為に承認されるべきデータ・レコードの数であ
る。例えば、Rは3、4、5等のような任意の値でよい
が、一般には、必要な処理時間を最小にするために小さ
い値になるであろう。しかる後、プロセスはその組み込
まれたシグナチャ・トークンを読み出す(ステップ80
4)。本発明の好適な実施例によれば、内容テーブル
は、その組み込まれたシグナチャ・トークンを見つけて
読み出すために使用可能である。
のマルチメディア・タイトルに含まれた等価情報を見つ
けて読み出す(ステップ806)。この情報は「D1」
と呼ばれる。そこで、プロセスは内容テーブルにおける
128ビットMDC、即ち、D1を計算する(ステップ
808)。この計算は種々の方法で遂行可能である。例
えば、前記米国特許第4,908,861号に開示された
プロセスが使用可能である。そこで、プロセスは、その
シグナチャ・トークンに記憶された基準のMDCに対し
て、内容テーブルに基づいて計算されたMDCを検証す
る(ステップ810)。ステップ808において計算さ
れた128ビットMDCがそのシグナチャ・トークンの
第1データ・レコードにおけるH1と比較される。そこ
で、プロセスは、それら2つの値が等しいかどうかを決
定する(ステップ812)。MDCがH1に等しくない
場合、プロセスは、そのタイトルが無効であることを表
示する(ステップ814)。本発明の好適な実施例によ
れば、シグナチャ・トークン検証モジュールによってそ
のように検出された無効マルチメディア・タイトルはイ
ンディケータ又は表示をセットさせるが、処理を停止し
ない。しかし、本発明は、無効条件が検出されると直ち
に処理が停止されるという方法を使用して実施すること
も可能である。
セスは、そのマルチメディア・タイトルにおけるユーザ
に表示される第1ロゴ・スクリーンを見つけて読み出す
(ステップ816)。内容テーブルは、このロゴ・スク
リーンを見つけるために使用可能である。ロゴ・スクリ
ーンはマルチメディア・タイトルの名称を含み、この情
報は「D2」と呼ばれる。次に、そのロゴ・スクリーン
を構成するデータに基づいてMDCが計算される(ステ
ップ818)。本発明の好適な実施例によれば、128
ビットMDCが計算される。そこで、プロセスは、シグ
ナチャ・トークンに記憶されたMDCに対して、ロゴ・
スクリーンに基づいて計算されたMDCを検証する(ス
テップ820)。ステップ818において計算された1
28ビットMDCが、そのシグナチャ・トークンの第2
データ・レコードにおけるH2と比較される。そこで、
プロセスは、それら2つの値が等しいかどうかを決定す
る(ステップ822)。MDCがH2に等しくない場
合、プロセスは、そのタイトルが無効であることを表示
する(ステップ824)。そこで、プロセスはY=1に
セットする(ステップ826)。
もY=1にセットする(ステップ826)。そこで、プ
ロセスは、そのシグナチャ・トークンにおけるn−2個
の残りのデータ・レコードの1つを無作為に選択し、読
み出す(ステップ828)。そのデータ・レコードは、
データ・レコード3乃至データ・レコードnから選択さ
れる。各データ・レコードは、そのマルチメディア・タ
イトルにおける単一のオブジェクト−属性の対に対する
データのすべて又は一部分と関連付けられ、それを参照
する。そこで、プロセスは、その選択されたデータ・レ
コードによって指示されたオブジェクト−属性の対と関
連したデータOP1を読み出す(ステップ830)。そ
のデータ・レコードにおけるデータ・ロケーション情報
は、そのマルチメディア・タイトルにおける基準のオブ
ジェクト−属性の対と関連したデータOP1を見つけて
読み出すために使用される。
P1に基づいて128ビットMDCを計算する(ステッ
プ832)。そこで、プロセスは、そのデータOP1に
基づいて計算された128ビットMDCを、そのシグナ
チャ・トークンから読み取られたデータ・レコードに記
憶された対応するMDC又はハッシュ値に対して検証す
る(ステップ834)。ステップ834では、ステップ
832において計算された128ビットMDCが、その
データ・レコードから取り出された対応するMDC又は
ハッシュ値Hと比較される。その計算されたMDC及び
記憶されたMDCが等しい場合、制御はステップ838
に送られる。それらMDCの値が等しくない場合、プロ
セスは、そのタイトルが無効であることを表示し(ステ
ップ836)、制御はステップ838に送られる。そこ
で、プロセスは、Y=Rであるかどうかを決定する(ス
テップ838)。YがRに等しくない場合、プロセス
は、Y=Y+1にセットし(ステップ839)、ステッ
プ828に戻る。これは、R個のデータ・レコードがそ
のシグナチャ・トークンにおけるデータ・レコード3乃
至nの中から無作為に選択され、処理されてしまうまで
継続する。Y=Rの時、プロセスは、そのディジタル・
シグナチャ及びシグナチャ・トークンを検証するように
進行する。次に、プロセスは、そのシグナチャ・トーク
ンにおけるディジタル・シグナチャを読み出す(ステッ
プ840)。
クン検証モジュールにおいて一定値として記憶されたマ
ルチメディア会社の公開キーをアクセスする(ステップ
842)。そこで、プロセスは、その公開キーを使用し
てそのシグナチャを検証する(ステップ844)。ヘッ
ダ及びn個のデータ・レコードより成るそのシグナチャ
・トークンの部分に基づいて128ビットMDCが計算
される。RSAディジタル・シグナチャが使用される場
合、RSA公開キーを利用すると共にISO標準979
6で規定されたプロセスを使用して、元の128ビット
・ハッシュ値HがRSAディジタル・シグナチャから取
り出される。しかる後、ヘッダ及びn個のデータ・レコ
ードを含むシグナチャ・トークンに基づいて計算された
128ビットMDCがその128ビット・ハッシュ値H
と比較される。これらのMDCが等しい場合、そのマル
チメディア・タイトルは有効なものとして受け付けられ
る。それらが等しくない場合、プロセスは、そのタイト
ルが無効であることを表す。FIPS186に基づくデ
ィジタル・シグナチャが使用される場合、そのシグナチ
ャは、RSAディジタル・シグナチャを検証するために
使用されたものとは異なるFIPS186において略述
されたステップを実行することによって検証される。
けるか、又はタイトル無効状態を処理する(ステップ8
46)。そのタイトルが無効であるとして表された場
合、本発明の好適な実施例によれば、幾つかのアクショ
ンをとることが可能である。例えば、そのマルチメディ
ア・タイトルを拒否することが可能であり、或いは受容
することが可能であるが、ユーザに最初からやり直すこ
とを要求することも可能である。勿論、内容テーブル、
ロゴ・スクリーン、及び無作為に選択されたデータ・レ
コードが本発明の好適な実施例に従ってチェックされる
前に、シグナチャを検証することも可能である。その実
施方法によっては、内容テーブル又はロゴ・スクリーン
以外の他の論理的ストラクチャをチェックしてもよい
し、或いはしなくてもよい。
び図2に示されたデータ処理システムにおいて、当業者
により実施可能である。又、本発明のプロセスは、デー
タ処理システムによって読み取り可能なプログラム記憶
装置において実施可能である。その場合、プログラム記
憶装置は、本発明のプロセスに対して、データ処理シス
テムが実行可能な命令コーディングをエンコードする。
プログラム記憶装置は、例えば、ハード・ディスク・ド
ライブ、フロッピ・ディスク、光ディスク、ROM、及
びEPROMを含む種々の形式をとり得るが、それに限
定されるものでもない。それは当業者には知られている
ことである。プログラム記憶装置に記憶されたプロセス
は、データ処理システムと共にプログラム記憶装置を使
用することによって活動化されるまで休止状態にある。
例えば、本発明に対するデータ処理システムが実行し得
る命令を含むハード・ディスク・ドライブはデータ処理
システムに接続可能であり、本発明に対するデータ処理
システムが実行し得る命令を含むフロッピ・ディスクは
そのデータ処理システムにおけるフロッピ・ディスク・
ドライブに挿入可能であり、或いは本発明に対するデー
タ処理システムが実行し得る命令を含むROMはI/O
スロットに接続されたカード又はアダプタを介してその
データ処理システムに接続可能である。
の事項を開示する。
れてないプログラムを検出するための方法にして、検証
すべきプログラムから選択されたデータに基いて、前記
プログラムを検証するための検証ストラクチャを作成す
るステップと、前記検証ストラクチャを前記プログラム
に組み込むステップと、前記プログラムの開始に応答し
て、前記プログラムが許可されてないプログラムである
かどうかを前記ストラクチャを使用して決定するステッ
プと、を含む方法。 (2)前記プログラムが許可されてないものであるとい
う決定に応答して前記プログラムの実行を防ぐステップ
を含むことを特徴とする上記(1)に記載の方法。 (3)前記プログラムが許可されてないものであるとい
う決定に応答して前記プログラムの限定された実行を許
すステップを含むことを特徴とする上記(1)に記載の
方法。 (4)記決定するステップは、前記検証ストラクチャの
一部分を無作為に選択するステップと、前記プログラム
が許可されてないプログラムであるかどうかを、前記検
証ストラクチャの前記無作為に選択された部分を使用し
て決定するステップとを含むことを特徴とする上記
(1)に記載の方法。 (5)前記作成するステップは前記プログラムから無作
為にデータを選択するステップを含むことを特徴とする
上記(1)に記載の方法。 (6)前記作成するステップは、前記プログラムから複
数個のセクションを無作為に選択するステップと、前記
プログラムにおける前記複数個の無作為に選択されたセ
クションから、各選択されたセクションに対する暗号ハ
ッシュ値を作成するステップと、前記暗号ハッシュ値及
び各選択されたセクションに対するロケーション値を、
データ・レコードとして検証ストラクチャに記憶するス
テップとを含み、前記ロケーション値によって表された
ロケーションは前記プログラムにおける前記選択された
セクションのロケーションであることを特徴とする上記
(5)に記載の方法。 (7)前記作成するステップは、前記検証ストラクチャ
に対するシグナチャを作成するステップと、前記シグナ
チャを前記検証ストラクチャと関連付けるステップと、
を含み、前記シグナチャは前記検証ストラクチャに基づ
いて計算された暗号ハッシュ値であることを特徴とする
上記(6)に記載の方法。 (8)前記関連付けるステップは前記シグナチャを前記
検証ストラクチャに配置するステップを含むことを特徴
とする上記(7)に記載の方法。 (9)前記決定するステップは、前記検証ストラクチャ
から多数のデータ・レコードを無作為に選択するステッ
プと、前記無作為に選択されたデータ・レコードの各々
に対して、前記無作為に選択されたデータ・レコードに
対するロケーション値によって表されたロケーションに
おけるセクションに基づいて暗号ハッシュ値を作成する
ステップと、前記作成された暗号ハッシュ値と前記無作
為に選択されたデータ・レコードにおけるハッシュ値と
を比較するステップとを含むことを特徴とする上記
(1)に記載の方法。 (10)前記決定するステップは、前記検証ストラクチ
ャに対する暗号ハッシュ値を作成するステップと、前記
作成された暗号ハッシュ値を前記検証ストラクチャに対
するシグナチャと比較するステップと、を含むことを特
徴とする上記(9)に記載の方法。 (11)許可されてないプログラムを検出するためのデ
ータ処理システムにして、検証すべきプログラムから選
択されたデータに基いて、前記プログラムを検証するた
めの検証ストラクチャを作成するための作成手段と、前
記検証ストラクチャを前記プログラムに組み込むための
組込み手段と、前記プログラムの開始に応答して、前記
プログラムが許可されてないプログラムであるかどうか
を決定するための決定手段と、を含むデータ処理システ
ム。 (12)前記プログラムが許可されてないものであると
いう決定に応答して前記プログラムの実行を防ぐための
手段を含むことを特徴とする上記(11)に記載のデー
タ処理システム。 (13)前記プログラムが許可されてないものであると
いう決定に応答して前記プログラムの限定された実行を
許すための手段を含むことを特徴とする上記(11)に
記載のデータ処理システム。 (14)前記決定手段は、前記検証ストラクチャの一部
分を無作為に選択するための無作為選択手段と、前記プ
ログラムが許可されてないプログラムであるかどうか
を、前記検証ストラクチャの前記無作為に選択された部
分を使用して決定するための決定手段とを含むことを特
徴とする上記(11)に記載のデータ処理システム。 (15)前記作成手段は、前記プログラムから複数個の
セクションを無作為に選択するための第2無作為選択手
段と、前記プログラムにおける前記複数個の無作為に選
択されたセクションから、各選択されたセクションに対
する暗号ハッシュ値を作成するための第2作成手段と、
前記暗号ハッシュ値及び各選択されたセクションに対す
るロケーション値を、データ・レコードとして検証スト
ラクチャに記憶するための記憶手段とを含み、前記ロケ
ーション値によって表されたロケーションは前記プログ
ラムにおける前記選択されたセクションのロケーション
であることを特徴とする上記(11)に記載のデータ処
理システム。 (16)前記作成手段は、前記検証ストラクチャに対す
るシグナチャを作成するための第3作成手段と、前記シ
グナチャを前記検証ストラクチャと関連付けるための関
連付け手段と、を含み、前記シグナチャは前記暗号ハッ
シュ値に基づいて計算されることを特徴とする上記(1
4)に記載のデータ処理システム。 (17)前記関連付け手段は前記シグナチャを前記検証
ストラクチャに配置するための配置手段を含むことを特
徴とする上記(16)に記載のデータ処理システム。 (18)前記決定手段は、前記検証ストラクチャから多
数のデータ・レコードを無作為に選択するための無作為
選択手段と、前記無作為に選択されたデータ・レコード
の各々に対して、前記無作為に選択されたデータ・レコ
ードに対するロケーション値によって表されたロケーシ
ョンにおけるセクションに基づいて暗号ハッシュ値を作
成するための作成手段と、前記作成された暗号ハッシュ
値と前記無作為に選択されたデータ・レコードにおける
ハッシュ値とを比較するための比較手段とを含むことを
特徴とする上記(16)に記載のデータ処理システム。 (19)前記決定手段は、前記検証ストラクチャに対す
る暗号ハッシュ値を作成するための作成手段と、前記作
成された暗号ハッシュ値を前記シグナチャでもって検証
するための検証手段と、を含むことを特徴とする上記
(18)に記載のデータ処理システム。 (20)プログラムの検証において使用するための検証
ストラクチャを作成するためのデータ処理システムにお
ける方法にして、前記プログラムから複数個のセクショ
ンを選択するステップと、前記プログラムにおける前記
複数個の選択されたセクションから、各選択されたセク
ションに対する暗号ハッシュ値を作成するステップと、
前記暗号ハッシュ値及び各選択されたセクションに対す
るロケーション値を、データ・レコードとして検証スト
ラクチャに記憶するステップとを含み、前記ロケーショ
ン値によって表されたロケーションは前記プログラムに
おける前記選択されたセクションのロケーションである
ことを特徴とする方法。 (21)前記選択するステップは前記プログラムから複
数個のセクションを無作為に選択するステップを含むこ
とを特徴とする上記(20)に記載の方法。 (22)前記作成するステップは、前記検証ストラクチ
ャに対するシグナチャを作成するステップと、前記シグ
ナチャを前記検証ストラクチャと関連付けるステップと
を含むことを特徴とする上記(20)に記載の方法。 (23)前記関連付けるステップは前記シグナチャを前
記検証ストラクチャに配置するステップ含むことを特徴
とする上記(22)に記載の方法。 (24)プログラムの検証において使用するための検証
ストラクチャを作成するためのデータ処理システムにし
て、前記プログラムから複数個のセクションを無作為に
選択するための無作為選択手段と、前記プログラムにお
ける前記複数個の無作為に選択されたセクションから、
各選択されたセクションに対する暗号ハッシュ値を作成
するための作成手段と、前記暗号ハッシュ値及び各選択
されたセクションに対するロケーション値を、データ・
レコードとして検証ストラクチャに記憶するための記憶
手段とを含み、前記ロケーション値によって表されたロ
ケーションは前記プログラムにおける前記選択されたセ
クションのロケーションであることを特徴とするデータ
処理システム。 (25)前記作成手段は、前記検証ストラクチャに対す
るシグナチャを作成するための第2作成手段と、前記シ
グナチャを前記検証ストラクチャと関連付けるための関
連付け手段と、を含むことを特徴とする上記(24)に
記載のデータ処理システム。 (26)前記関連付け手段は前記シグナチャを前記検証
ストラクチャに配置するための配置手段を含むことを特
徴とする上記(25)に記載のデータ処理システム。 (27)データ処理システムにおいてプログラムを検証
するための方法にして、前記プログラムは複数個のデー
タ・レコードを有する検証ストラクチャを含み、前記複
数個のデータ・レコードにおける各データ・レコードは
前記プログラムのセクションに対する暗号ハッシュ値及
びロケーション値を含み、前記ロケーション値は前記セ
クションのロケーションを表すものにおいて、前記検証
ストラクチャから多数のデータ・レコードを無作為に選
択するステップと、前記無作為に選択されたデータ・レ
コードの各々に対して、前記無作為に選択されたデータ
・レコードに対するロケーション値によって表されたロ
ケーションにおけるセクションに基づいて暗号ハッシュ
値を作成するステップと、前記作成された暗号ハッシュ
値と前記無作為に選択されたデータ・レコードにおける
ハッシュ値とを比較するステップとを含む方法。 (28)プログラムを検証するためのデータ処理システ
ムにして、前記プログラムは複数個のデータ・レコード
を有する検証ストラクチャを含み、前記複数個のデータ
・レコードにおける各データ・レコードは前記プログラ
ムのセクションに対する暗号ハッシュ値及びロケーショ
ン値を含み、前記ロケーション値は前記セクションのロ
ケーションを表すものにおいて、前記検証ストラクチャ
から多数のデータ・レコードを無作為に選択するための
無作為選択手段と、前記無作為に選択されたデータ・レ
コードの各々に対して、前記無作為に選択されたデータ
・レコードに対するロケーション値によって表されたロ
ケーションにおけるセクションに基づいて暗号ハッシュ
値を作成するための作成手段と、前記作成された暗号ハ
ッシュ値と前記無作為に選択されたデータ・レコードに
おけるハッシュ値とを比較するための比較手段と、を含
むデータ処理システム。 (29)データ処理システムによって読み取り可能であ
り、データ処理システムが実行可能な命令をエンコード
する記憶装置にして、前記プログラムから複数個のセク
ションを無作為に選択するための選択手段と、前記プロ
グラムにおける前記複数個の選択されたセクションか
ら、各選択されたセクションに対する暗号ハッシュ値を
作成するための作成手段と、前記暗号ハッシュ値及び各
選択されたセクションに対するロケーション値を、デー
タ・レコードとして検証ストラクチャに記憶するための
記憶手段とを含み、前記ロケーション値によって表され
たロケーションは前記プログラムにおける前記選択され
たセクションのロケーションであること、及び前記記憶
装置がデータ処理システムに接続され且つデータ処理シ
ステムによってアクセスされる時、前記各手段が活動化
されることを特徴とする記憶装置。 (30)前記記憶装置はハードディスク・ドライブ、デ
ータ処理装置による使用のためのROMまたはフロッピ
・ディスクであることを特徴とする上記(29)に記載
の記憶装置。 (31)データ処理システムによって読み取り可能であ
り、データ処理システムが実行可能なプログラム検証の
ための命令をエンコードする記憶装置にして、前記プロ
グラムは複数個のデータ・レコードを有する検証ストラ
クチャを含み、前記複数個のデータ・レコードにおける
各データ・レコードは前記プログラムのセクションに対
する暗号ハッシュ値及びロケーション値を含み、前記ロ
ケーション値は前記セクションのロケーションを表すも
のにおいて、無作為に選択されたデータ・レコードの各
々に対して、前記無作為に選択されたデータ・レコード
に対するロケーション値によって表されたロケーション
におけるセクションに基づいて暗号ハッシュ値を作成す
るための作成手段と、前記作成された暗号ハッシュ値と
前記無作為に選択されたデータ・レコードにおけるハッ
シュ値とを比較するための比較手段と、を含み、前記記
憶手段がデータ処理システムに接続され且つデータ処理
システムによってアクセスされる時、前記各手段が活動
化されることを特徴とする記憶装置。 (32)前記記憶装置はハードディスク・ドライブ、デ
ータ処理装置による使用のためのROMまたはフロッピ
・ディスクであることを特徴とする上記(31)に記載
の記憶装置。
の形式のデータ処理システムを示す。
テムの種々なコンポーネントを示すパーソナル・コンピ
ュータ・システムのブロック図である。
ROMにおけるマルチメディア・タイトルのための作成
及び配分プロセスのブロック図である。
けるエントリの表示である。
チャ・トークン生成モジュールのブロック図である。
チャ・トークン検証モジュールのブロック図である。
チャ・トークン生成モジュールにおいてシグナチャ・ト
ークンを生成するためのプロセスのフローチャートであ
る。
チャ・トークン検証モジュールにおいてマルチメディア
・タイトルを検証するためのプロセスのフローチャート
である。
Claims (32)
- 【請求項1】データ処理システムにおいて許可されてな
いプログラムを検出するための方法にして、 検証すべきプログラムから選択されたデータに基いて、
前記プログラムを検証するための検証ストラクチャを作
成するステップと、 前記検証ストラクチャを前記プログラムに組み込むステ
ップと、 前記プログラムの開始に応答して、前記プログラムが許
可されてないプログラムであるかどうかを前記ストラク
チャを使用して決定するステップと、 を含む方法。 - 【請求項2】前記プログラムが許可されてないものであ
るという決定に応答して前記プログラムの実行を防ぐス
テップを含むことを特徴とする請求項1に記載の方法。 - 【請求項3】前記プログラムが許可されてないものであ
るという決定に応答して前記プログラムの限定された実
行を許すステップを含むことを特徴とする請求項1に記
載の方法。 - 【請求項4】前記決定するステップは、 前記検証ストラクチャの一部分を無作為に選択するステ
ップと、 前記プログラムが許可されてないプログラムであるかど
うかを、前記検証ストラクチャの前記無作為に選択され
た部分を使用して決定するステップとを含むことを特徴
とする請求項1に記載の方法。 - 【請求項5】前記作成するステップは前記プログラムか
ら無作為にデータを選択するステップを含むことを特徴
とする請求項1に記載の方法。 - 【請求項6】前記作成するステップは、 前記プログラムから複数個のセクションを無作為に選択
するステップと、 前記プログラムにおける前記複数個の無作為に選択され
たセクションから、各選択されたセクションに対する暗
号ハッシュ値を作成するステップと、 前記暗号ハッシュ値及び各選択されたセクションに対す
るロケーション値を、データ・レコードとして検証スト
ラクチャに記憶するステップとを含み、前記ロケーショ
ン値によって表されたロケーションは前記プログラムに
おける前記選択されたセクションのロケーションである
ことを特徴とする請求項5に記載の方法。 - 【請求項7】前記作成するステップは、 前記検証ストラクチャに対するシグナチャを作成するス
テップと、 前記シグナチャを前記検証ストラクチャと関連付けるス
テップと、 を含み、前記シグナチャは前記検証ストラクチャに基づ
いて計算された暗号ハッシュ値であることを特徴とする
請求項6に記載の方法。 - 【請求項8】前記関連付けるステップは前記シグナチャ
を前記検証ストラクチャに配置するステップを含むこと
を特徴とする請求項7に記載の方法。 - 【請求項9】前記決定するステップは、 前記検証ストラクチャから多数のデータ・レコードを無
作為に選択するステップと、 前記無作為に選択されたデータ・レコードの各々に対し
て、前記無作為に選択されたデータ・レコードに対する
ロケーション値によって表されたロケーションにおける
セクションに基づいて暗号ハッシュ値を作成するステッ
プと、 前記作成された暗号ハッシュ値と前記無作為に選択され
たデータ・レコードにおけるハッシュ値とを比較するス
テップとを含むことを特徴とする請求項1に記載の方
法。 - 【請求項10】前記決定するステップは、 前記検証ストラクチャに対する暗号ハッシュ値を作成す
るステップと、 前記作成された暗号ハッシュ値を前記検証ストラクチャ
に対するシグナチャと比較するステップと、 を含むことを特徴とする請求項9に記載の方法。 - 【請求項11】許可されてないプログラムを検出するた
めのデータ処理システムにして、 検証すべきプログラムから選択されたデータに基いて、
前記プログラムを検証するための検証ストラクチャを作
成するための作成手段と、 前記検証ストラクチャを前記プログラムに組み込むため
の組込み手段と、 前記プログラムの開始に応答して、前記プログラムが許
可されてないプログラムであるかどうかを決定するため
の決定手段と、 を含むデータ処理システム。 - 【請求項12】前記プログラムが許可されてないもので
あるという決定に応答して前記プログラムの実行を防ぐ
ための手段を含むことを特徴とする請求項11に記載の
データ処理システム。 - 【請求項13】前記プログラムが許可されてないもので
あるという決定に応答して前記プログラムの限定された
実行を許すための手段を含むことを特徴とする請求項1
1に記載のデータ処理システム。 - 【請求項14】前記決定手段は、 前記検証ストラクチャの一部分を無作為に選択するため
の無作為選択手段と、 前記プログラムが許可されてないプログラムであるかど
うかを、前記検証ストラクチャの前記無作為に選択され
た部分を使用して決定するための決定手段とを含むこと
を特徴とする請求項11に記載のデータ処理システム。 - 【請求項15】前記作成手段は、 前記プログラムから複数個のセクションを無作為に選択
するための第2無作為選択手段と、 前記プログラムにおける前記複数個の無作為に選択され
たセクションから、各選択されたセクションに対する暗
号ハッシュ値を作成するための第2作成手段と、 前記暗号ハッシュ値及び各選択されたセクションに対す
るロケーション値を、データ・レコードとして検証スト
ラクチャに記憶するための記憶手段とを含み、前記ロケ
ーション値によって表されたロケーションは前記プログ
ラムにおける前記選択されたセクションのロケーション
であることを特徴とする請求項11に記載のデータ処理
システム。 - 【請求項16】前記作成手段は、 前記検証ストラクチャに対するシグナチャを作成するた
めの第3作成手段と、 前記シグナチャを前記検証ストラクチャと関連付けるた
めの関連付け手段と、 を含み、 前記シグナチャは前記暗号ハッシュ値に基づいて計算さ
れることを特徴とする請求項14に記載のデータ処理シ
ステム。 - 【請求項17】前記関連付け手段は前記シグナチャを前
記検証ストラクチャに配置するための配置手段を含むこ
とを特徴とする請求項16に記載のデータ処理システ
ム。 - 【請求項18】前記決定手段は、 前記検証ストラクチャから多数のデータ・レコードを無
作為に選択するための無作為選択手段と、 前記無作為に選択されたデータ・レコードの各々に対し
て、前記無作為に選択されたデータ・レコードに対する
ロケーション値によって表されたロケーションにおける
セクションに基づいて暗号ハッシュ値を作成するための
作成手段と、 前記作成された暗号ハッシュ値と前記無作為に選択され
たデータ・レコードにおけるハッシュ値とを比較するた
めの比較手段とを含むことを特徴とする請求項16に記
載のデータ処理システム。 - 【請求項19】前記決定手段は、 前記検証ストラクチャに対する暗号ハッシュ値を作成す
るための作成手段と、 前記作成された暗号ハッシュ値を前記シグナチャでもっ
て検証するための検証手段と、 を含むことを特徴とする請求項18に記載のデータ処理
システム。 - 【請求項20】プログラムの検証において使用するため
の検証ストラクチャを作成するためのデータ処理システ
ムにおける方法にして、 前記プログラムから複数個のセクションを選択するステ
ップと、 前記プログラムにおける前記複数個の選択されたセクシ
ョンから、各選択されたセクションに対する暗号ハッシ
ュ値を作成するステップと、 前記暗号ハッシュ値及び各選択されたセクションに対す
るロケーション値を、データ・レコードとして検証スト
ラクチャに記憶するステップとを含み、前記ロケーショ
ン値によって表されたロケーションは前記プログラムに
おける前記選択されたセクションのロケーションである
ことを特徴とする方法。 - 【請求項21】前記選択するステップは前記プログラム
から複数個のセクションを無作為に選択するステップを
含むことを特徴とする請求項20に記載の方法。 - 【請求項22】前記作成するステップは、 前記検証ストラクチャに対するシグナチャを作成するス
テップと、 前記シグナチャを前記検証ストラクチャと関連付けるス
テップとを含むことを特徴とする請求項20に記載の方
法。 - 【請求項23】前記関連付けるステップは前記シグナチ
ャを前記検証ストラクチャに配置するステップ含むこと
を特徴とする請求項22に記載の方法。 - 【請求項24】プログラムの検証において使用するため
の検証ストラクチャを作成するためのデータ処理システ
ムにして、 前記プログラムから複数個のセクションを無作為に選択
するための無作為選択手段と、 前記プログラムにおける前記複数個の無作為に選択され
たセクションから、各選択されたセクションに対する暗
号ハッシュ値を作成するための作成手段と、 前記暗号ハッシュ値及び各選択されたセクションに対す
るロケーション値を、データ・レコードとして検証スト
ラクチャに記憶するための記憶手段とを含み、前記ロケ
ーション値によって表されたロケーションは前記プログ
ラムにおける前記選択されたセクションのロケーション
であることを特徴とするデータ処理システム。 - 【請求項25】前記作成手段は、 前記検証ストラクチャに対するシグナチャを作成するた
めの第2作成手段と、 前記シグナチャを前記検証ストラクチャと関連付けるた
めの関連付け手段と、 を含むことを特徴とする請求項24に記載のデータ処理
システム。 - 【請求項26】前記関連付け手段は前記シグナチャを前
記検証ストラクチャに配置するための配置手段を含むこ
とを特徴とする請求項25に記載のデータ処理システ
ム。 - 【請求項27】データ処理システムにおいてプログラム
を検証するための方法にして、前記プログラムは複数個
のデータ・レコードを有する検証ストラクチャを含み、
前記複数個のデータ・レコードにおける各データ・レコ
ードは前記プログラムのセクションに対する暗号ハッシ
ュ値及びロケーション値を含み、前記ロケーション値は
前記セクションのロケーションを表すものにおいて、 前記検証ストラクチャから多数のデータ・レコードを無
作為に選択するステップと、 前記無作為に選択されたデータ・レコードの各々に対し
て、前記無作為に選択されたデータ・レコードに対する
ロケーション値によって表されたロケーションにおける
セクションに基づいて暗号ハッシュ値を作成するステッ
プと、 前記作成された暗号ハッシュ値と前記無作為に選択され
たデータ・レコードにおけるハッシュ値とを比較するス
テップとを含む方法。 - 【請求項28】プログラムを検証するためのデータ処理
システムにして、前記プログラムは複数個のデータ・レ
コードを有する検証ストラクチャを含み、前記複数個の
データ・レコードにおける各データ・レコードは前記プ
ログラムのセクションに対する暗号ハッシュ値及びロケ
ーション値を含み、前記ロケーション値は前記セクショ
ンのロケーションを表すものにおいて、 前記検証ストラクチャから多数のデータ・レコードを無
作為に選択するための無作為選択手段と、 前記無作為に選択されたデータ・レコードの各々に対し
て、前記無作為に選択されたデータ・レコードに対する
ロケーション値によって表されたロケーションにおける
セクションに基づいて暗号ハッシュ値を作成するための
作成手段と、 前記作成された暗号ハッシュ値と前記無作為に選択され
たデータ・レコードにおけるハッシュ値とを比較するた
めの比較手段と、 を含むデータ処理システム。 - 【請求項29】データ処理システムによって読み取り可
能であり、データ処理システムが実行可能な命令をエン
コードする記憶装置にして、 前記プログラムから複数個のセクションを無作為に選択
するための選択手段と、 前記プログラムにおける前記複数個の選択されたセクシ
ョンから、各選択されたセクションに対する暗号ハッシ
ュ値を作成するための作成手段と、 前記暗号ハッシュ値及び各選択されたセクションに対す
るロケーション値を、データ・レコードとして検証スト
ラクチャに記憶するための記憶手段とを含み、 前記ロケーション値によって表されたロケーションは前
記プログラムにおける前記選択されたセクションのロケ
ーションであること、及び前記記憶装置がデータ処理シ
ステムに接続され且つデータ処理システムによってアク
セスされる時、前記各手段が活動化されることを特徴と
する記憶装置。 - 【請求項30】前記記憶装置はハードディスク・ドライ
ブ、データ処理装置による使用のためのROMまたはフ
ロッピ・ディスクであることを特徴とする請求項29に
記載の記憶装置。 - 【請求項31】データ処理システムによって読み取り可
能であり、データ処理システムが実行可能なプログラム
検証のための命令をエンコードする記憶装置にして、前
記プログラムは複数個のデータ・レコードを有する検証
ストラクチャを含み、前記複数個のデータ・レコードに
おける各データ・レコードは前記プログラムのセクショ
ンに対する暗号ハッシュ値及びロケーション値を含み、
前記ロケーション値は前記セクションのロケーションを
表すものにおいて、 無作為に選択されたデータ・レコードの各々に対して、
前記無作為に選択されたデータ・レコードに対するロケ
ーション値によって表されたロケーションにおけるセク
ションに基づいて暗号ハッシュ値を作成するための作成
手段と、 前記作成された暗号ハッシュ値と前記無作為に選択され
たデータ・レコードにおけるハッシュ値とを比較するた
めの比較手段と、 を含み、前記記憶手段がデータ処理システムに接続され
且つデータ処理システムによってアクセスされる時、前
記各手段が活動化されることを特徴とする記憶装置。 - 【請求項32】前記記憶装置はハードディスク・ドライ
ブ、データ処理装置による使用のためのROMまたはフ
ロッピ・ディスクであることを特徴とする請求項31に
記載の記憶装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US35470094A | 1994-12-13 | 1994-12-13 | |
US354700 | 1994-12-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08221268A true JPH08221268A (ja) | 1996-08-30 |
JP3579154B2 JP3579154B2 (ja) | 2004-10-20 |
Family
ID=23394550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31696695A Expired - Lifetime JP3579154B2 (ja) | 1994-12-13 | 1995-12-05 | マルチメディア・タイトルの保護頒布のための方法及びシステム |
Country Status (4)
Country | Link |
---|---|
US (2) | US5745678A (ja) |
EP (1) | EP0717337B1 (ja) |
JP (1) | JP3579154B2 (ja) |
DE (1) | DE69521977T2 (ja) |
Families Citing this family (295)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6658568B1 (en) | 1995-02-13 | 2003-12-02 | Intertrust Technologies Corporation | Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management |
US5943422A (en) | 1996-08-12 | 1999-08-24 | Intertrust Technologies Corp. | Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels |
US6157721A (en) | 1996-08-12 | 2000-12-05 | Intertrust Technologies Corp. | Systems and methods using cryptography to protect secure computing environments |
US6948070B1 (en) | 1995-02-13 | 2005-09-20 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
US7069451B1 (en) * | 1995-02-13 | 2006-06-27 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5892900A (en) | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
EP2110732A3 (en) * | 1995-02-13 | 2009-12-09 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
US7133846B1 (en) | 1995-02-13 | 2006-11-07 | Intertrust Technologies Corp. | Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management |
US6076078A (en) * | 1996-02-14 | 2000-06-13 | Carnegie Mellon University | Anonymous certified delivery |
US6560656B1 (en) | 1998-02-26 | 2003-05-06 | Sun Microsystems, Inc. | Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system |
US6446070B1 (en) | 1998-02-26 | 2002-09-03 | Sun Microsystems, Inc. | Method and apparatus for dynamic distributed computing over a network |
US6247026B1 (en) | 1996-10-11 | 2001-06-12 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of delegation certificates in a distributed system |
US6237024B1 (en) | 1998-03-20 | 2001-05-22 | Sun Microsystem, Inc. | Method and apparatus for the suspension and continuation of remote processes |
US6272559B1 (en) | 1997-10-15 | 2001-08-07 | Sun Microsystems, Inc. | Deferred reconstruction of objects and remote loading for event notification in a distributed system |
US6466947B2 (en) | 1998-03-20 | 2002-10-15 | Sun Microsystems, Inc. | Apparatus and method for dynamically verifying information in a distributed system |
US6938263B2 (en) | 1996-04-23 | 2005-08-30 | Sun Microsystems, Inc. | System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space |
US6708171B1 (en) | 1996-04-23 | 2004-03-16 | Sun Microsystems, Inc. | Network proxy |
US6182083B1 (en) | 1997-11-17 | 2001-01-30 | Sun Microsystems, Inc. | Method and system for multi-entry and multi-template matching in a database |
US6832223B1 (en) | 1996-04-23 | 2004-12-14 | Sun Microsystems, Inc. | Method and system for facilitating access to a lookup service |
US6598094B1 (en) | 1998-03-20 | 2003-07-22 | Sun Microsystems, Inc. | Method and apparatus for determining status of remote objects in a distributed system |
US6138238A (en) * | 1997-12-11 | 2000-10-24 | Sun Microsystems, Inc. | Stack-based access control using code and executor identifiers |
US6487607B1 (en) | 1998-02-26 | 2002-11-26 | Sun Microsystems, Inc. | Methods and apparatus for remote method invocation |
US6578044B1 (en) | 1997-11-17 | 2003-06-10 | Sun Microsystems, Inc. | Method and system for typesafe attribute matching |
US6393497B1 (en) | 1998-03-20 | 2002-05-21 | Sun Microsystems, Inc. | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system |
US6438614B2 (en) | 1998-02-26 | 2002-08-20 | Sun Microsystems, Inc. | Polymorphic token based control |
US6463446B1 (en) | 1998-02-26 | 2002-10-08 | Sun Microsystems, Inc. | Method and apparatus for transporting behavior in an event-based distributed system |
US6421704B1 (en) | 1998-03-20 | 2002-07-16 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of group membership in a distributed system |
US6185611B1 (en) | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
US6978370B1 (en) * | 1996-09-03 | 2005-12-20 | Cryptography Research, Inc. | Method and system for copy-prevention of digital copyright works |
US6728737B2 (en) | 1996-10-11 | 2004-04-27 | Sun Microsystems, Inc. | Method and system for leasing storage |
US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
US6237009B1 (en) | 1996-10-11 | 2001-05-22 | Sun Microsystems, Inc. | Lease renewal service |
US5920861A (en) * | 1997-02-25 | 1999-07-06 | Intertrust Technologies Corp. | Techniques for defining using and manipulating rights management data structures |
FR2760865B1 (fr) * | 1997-03-13 | 1999-04-23 | Gemplus Card Int | Procede de controle de l'etancheite d'applications chargees dans un terminal multi-applicatif et terminal pour la mise en oeuvre |
US6421733B1 (en) * | 1997-03-25 | 2002-07-16 | Intel Corporation | System for dynamically transcoding data transmitted between computers |
US6108420A (en) * | 1997-04-10 | 2000-08-22 | Channelware Inc. | Method and system for networked installation of uniquely customized, authenticable, and traceable software application |
US6073256A (en) * | 1997-04-11 | 2000-06-06 | Preview Systems, Inc. | Digital product execution control |
US6272636B1 (en) * | 1997-04-11 | 2001-08-07 | Preview Systems, Inc | Digital product execution control and security |
JP2002502524A (ja) * | 1997-05-29 | 2002-01-22 | サン・マイクロシステムズ・インコーポレーテッド | オブジェクトに署名し、封印する方法とその装置 |
US6000032A (en) * | 1997-07-15 | 1999-12-07 | Symantec Corporation | Secure access to software modules |
US6442276B1 (en) | 1997-07-21 | 2002-08-27 | Assure Systems, Inc. | Verification of authenticity of goods by use of random numbers |
US6061794A (en) * | 1997-09-30 | 2000-05-09 | Compaq Computer Corp. | System and method for performing secure device communications in a peer-to-peer bus architecture |
US6957427B1 (en) | 1997-10-15 | 2005-10-18 | Sun Microsystems, Inc. | Remote object activation in a distributed system |
US6253256B1 (en) | 1997-10-15 | 2001-06-26 | Sun Microsystems, Inc. | Deferred reconstruction of objects and remote loading in a distributed system |
US6023764A (en) * | 1997-10-20 | 2000-02-08 | International Business Machines Corporation | Method and apparatus for providing security certificate management for Java Applets |
US6330549B1 (en) * | 1997-10-30 | 2001-12-11 | Xerox Corporation | Protected shareware |
US7092914B1 (en) * | 1997-11-06 | 2006-08-15 | Intertrust Technologies Corporation | Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information |
US6192476B1 (en) * | 1997-12-11 | 2001-02-20 | Sun Microsystems, Inc. | Controlling access to a resource |
US7268700B1 (en) | 1998-01-27 | 2007-09-11 | Hoffberg Steven M | Mobile communication device |
CN1298514A (zh) | 1998-02-26 | 2001-06-06 | 太阳微系统公司 | 确定性散列识别远程方法的方法和系统 |
US6604127B2 (en) | 1998-03-20 | 2003-08-05 | Brian T. Murphy | Dynamic lookup service in distributed system |
US6415385B1 (en) * | 1998-07-29 | 2002-07-02 | Unisys Corporation | Digital signaturing method and system for packaging specialized native files for open network transport and for burning onto CD-ROM |
US7110984B1 (en) * | 1998-08-13 | 2006-09-19 | International Business Machines Corporation | Updating usage conditions in lieu of download digital rights management protected content |
US6154747A (en) * | 1998-08-26 | 2000-11-28 | Hunt; Rolf G. | Hash table implementation of an object repository |
US6763370B1 (en) * | 1998-11-16 | 2004-07-13 | Softricity, Inc. | Method and apparatus for content protection in a secure content delivery system |
US7017188B1 (en) * | 1998-11-16 | 2006-03-21 | Softricity, Inc. | Method and apparatus for secure content delivery over broadband access networks |
US6901518B1 (en) | 1999-04-08 | 2005-05-31 | Sun Microsystems, Inc. | Method and system for establishing trust in downloaded proxy code |
US7370071B2 (en) | 2000-03-17 | 2008-05-06 | Microsoft Corporation | Method for serving third party software applications from servers to client computers |
US7730169B1 (en) | 1999-04-12 | 2010-06-01 | Softricity, Inc. | Business method and system for serving third party software applications |
US6363429B1 (en) * | 1999-04-20 | 2002-03-26 | 3Com Corporation | Method and system for automatic determination of priority data streams on computer networks |
US6389537B1 (en) * | 1999-04-23 | 2002-05-14 | Intel Corporation | Platform and method for assuring integrity of trusted agent communications |
US8099758B2 (en) * | 1999-05-12 | 2012-01-17 | Microsoft Corporation | Policy based composite file system and method |
EP1055989A1 (en) * | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | System for digitally signing a document |
EP1056014A1 (en) | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | System for providing a trustworthy user interface |
JP3580478B2 (ja) * | 1999-05-31 | 2004-10-20 | 日本ビクター株式会社 | コンテンツ販売システムにおける販売先端末 |
US6845393B1 (en) | 1999-06-14 | 2005-01-18 | Sun Microsystems, Inc. | Lookup discovery service in a distributed system having a plurality of lookup services each with associated characteristics and services |
US6877163B1 (en) | 1999-06-14 | 2005-04-05 | Sun Microsystems, Inc. | Method and system for dynamic proxy classes |
US6882979B1 (en) * | 1999-06-18 | 2005-04-19 | Onadine, Inc. | Generating revenue for the use of softgoods that are freely distributed over a network |
AU5470600A (en) * | 1999-06-20 | 2001-01-09 | Thinkpulse, Inc. | Method and system of performing a security check of a smart device description file |
US6681214B1 (en) * | 1999-06-29 | 2004-01-20 | Assure Systems, Inc. | Secure system for printing authenticating digital signatures |
AU6614600A (en) * | 1999-07-29 | 2001-02-19 | Intertrust Technologies Corp. | Systems and methods for using cryptography to protect secure and insecure computing environments |
US7243236B1 (en) * | 1999-07-29 | 2007-07-10 | Intertrust Technologies Corp. | Systems and methods for using cryptography to protect secure and insecure computing environments |
ATE306098T1 (de) * | 1999-07-30 | 2005-10-15 | Intertrust Tech Corp | Verfahren und systeme zur transaktionsaufzeichnungsübertragung unter anwendung von schwellen und einem mehrstufigen protokoll |
EP1076279A1 (en) | 1999-08-13 | 2001-02-14 | Hewlett-Packard Company | Computer platforms and their methods of operation |
US7406603B1 (en) * | 1999-08-31 | 2008-07-29 | Intertrust Technologies Corp. | Data protection systems and methods |
US6565443B1 (en) * | 1999-09-14 | 2003-05-20 | Innovative Gaming Corporation | System and method for verifying the contents of a mass storage device before granting access to computer readable data stored on the device |
US6957195B1 (en) * | 1999-09-18 | 2005-10-18 | Wildtangent | Player-centric method and apparatus for creating, distributing, and consuming content |
US6985885B1 (en) * | 1999-09-21 | 2006-01-10 | Intertrust Technologies Corp. | Systems and methods for pricing and selling digital goods |
GB9922665D0 (en) | 1999-09-25 | 1999-11-24 | Hewlett Packard Co | A method of enforcing trusted functionality in a full function platform |
DE10002203B4 (de) * | 2000-01-19 | 2009-12-10 | Robert Bosch Gmbh | Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung des Mikrorechner-Systems gespeicherten Daten |
US7325145B1 (en) * | 2000-02-18 | 2008-01-29 | Microsoft Corporation | Verifying the presence of an original data storage medium |
WO2001080161A1 (en) * | 2000-04-17 | 2001-10-25 | Icard International | Financial transaction card |
US7370091B1 (en) | 2000-05-09 | 2008-05-06 | Sun Microsystems, Inc. | Method and apparatus for obtaining space advertisements |
US8082491B1 (en) | 2000-05-09 | 2011-12-20 | Oracle America, Inc. | Dynamic displays in a distributed computing environment |
US6868447B1 (en) | 2000-05-09 | 2005-03-15 | Sun Microsystems, Inc. | Mechanism and apparatus for returning results of services in a distributed computing environment |
US7260543B1 (en) | 2000-05-09 | 2007-08-21 | Sun Microsystems, Inc. | Automatic lease renewal with message gates in a distributed computing environment |
US6898618B1 (en) | 2000-05-09 | 2005-05-24 | Sun Microsystems, Inc. | Client-specified display services in a distributed computing environment |
US7243356B1 (en) | 2000-05-09 | 2007-07-10 | Sun Microsystems, Inc. | Remote method invocation with secure messaging in a distributed computing environment |
US6918084B1 (en) | 2000-05-09 | 2005-07-12 | Sun Microsystems, Inc. | Spawning new repository spaces using information provided in advertisement schema messages |
US6862594B1 (en) | 2000-05-09 | 2005-03-01 | Sun Microsystems, Inc. | Method and apparatus to discover services using flexible search criteria |
US6792466B1 (en) | 2000-05-09 | 2004-09-14 | Sun Microsystems, Inc. | Trusted construction of message endpoints in a distributed computing environment |
US7188251B1 (en) | 2000-05-09 | 2007-03-06 | Sun Microsystems, Inc. | System and method for secure message-based leasing of resources in a distributed computing environment |
US6917976B1 (en) | 2000-05-09 | 2005-07-12 | Sun Microsystems, Inc. | Message-based leasing of resources in a distributed computing environment |
US7577834B1 (en) | 2000-05-09 | 2009-08-18 | Sun Microsystems, Inc. | Message authentication using message gates in a distributed computing environment |
US7395333B1 (en) | 2000-05-09 | 2008-07-01 | Sun Microsystems, Inc. | Method and apparatus to obtain negotiated service advertisement |
US7200848B1 (en) | 2000-05-09 | 2007-04-03 | Sun Microsystems, Inc. | Migrating processes using data representation language representations of the processes in a distributed computing environment |
US6973493B1 (en) | 2000-05-09 | 2005-12-06 | Sun Microsystems, Inc. | Mechanism and apparatus for security of newly spawned repository spaces in a distributed computing environment |
US6950875B1 (en) | 2000-05-09 | 2005-09-27 | Sun Microsystems, Inc. | Message conductors in a distributed computing environment |
US6789126B1 (en) | 2000-05-09 | 2004-09-07 | Sun Microsystems, Inc. | Addressing message gates in a distributed computing environment |
US7080078B1 (en) | 2000-05-09 | 2006-07-18 | Sun Microsystems, Inc. | Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment |
US7016966B1 (en) | 2000-05-09 | 2006-03-21 | Sun Microsystems, Inc. | Generating results gates in a distributed computing environment |
US7716492B1 (en) | 2000-05-09 | 2010-05-11 | Oracle America, Inc. | Method and apparatus to obtain service capability credentials |
US6789077B1 (en) | 2000-05-09 | 2004-09-07 | Sun Microsystems, Inc. | Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment |
US7072967B1 (en) | 2000-05-09 | 2006-07-04 | Sun Microsystems, Inc. | Efficient construction of message endpoints |
US6970869B1 (en) | 2000-05-09 | 2005-11-29 | Sun Microsystems, Inc. | Method and apparatus to discover services and negotiate capabilities |
US6850979B1 (en) | 2000-05-09 | 2005-02-01 | Sun Microsystems, Inc. | Message gates in a distributed computing environment |
US7010573B1 (en) | 2000-05-09 | 2006-03-07 | Sun Microsystems, Inc. | Message gates using a shared transport in a distributed computing environment |
US8135796B1 (en) | 2000-05-09 | 2012-03-13 | Oracle America, Inc. | Mechanism and apparatus for accessing and addressing services in a distributed computing environment |
US7065574B1 (en) | 2000-05-09 | 2006-06-20 | Sun Microsystems, Inc. | Messaging system using pairs of message gates in a distributed computing environment |
US6643650B1 (en) | 2000-05-09 | 2003-11-04 | Sun Microsystems, Inc. | Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment |
US8001232B1 (en) | 2000-05-09 | 2011-08-16 | Oracle America, Inc. | Event message endpoints in a distributed computing environment |
US6865657B1 (en) | 2000-06-02 | 2005-03-08 | Sun Microsystems, Inc. | Garbage collector for a virtual heap |
US6957237B1 (en) | 2000-06-02 | 2005-10-18 | Sun Microsystems, Inc. | Database store for a virtual heap |
US6941410B1 (en) | 2000-06-02 | 2005-09-06 | Sun Microsystems, Inc. | Virtual heap for a virtual machine |
US6760815B1 (en) * | 2000-06-02 | 2004-07-06 | Sun Microsystems, Inc. | Caching mechanism for a virtual heap |
US6763440B1 (en) | 2000-06-02 | 2004-07-13 | Sun Microsystems, Inc. | Garbage collection using nursery regions for new objects in a virtual heap |
US6854115B1 (en) | 2000-06-02 | 2005-02-08 | Sun Microsystems, Inc. | Process persistence in a virtual machine |
JP4973899B2 (ja) * | 2000-07-06 | 2012-07-11 | ソニー株式会社 | 送信装置、送信方法、受信装置、受信方法、記録媒体、および通信システム |
US20020019938A1 (en) * | 2000-08-04 | 2002-02-14 | Aarons Michael Thomas | Method and apparatus for secure identification for networked environments |
US7181625B2 (en) * | 2000-10-17 | 2007-02-20 | Vidius Inc. | Secure distribution of digital content |
AU2001294168A1 (en) * | 2000-10-03 | 2002-04-15 | Vidius Inc. | Secure distribution of digital content |
US7266767B2 (en) * | 2000-11-27 | 2007-09-04 | Parker Philip M | Method and apparatus for automated authoring and marketing |
AU2002232817A1 (en) * | 2000-12-21 | 2002-07-01 | Digimarc Corporation | Methods, apparatus and programs for generating and utilizing content signatures |
US6948065B2 (en) | 2000-12-27 | 2005-09-20 | Intel Corporation | Platform and method for securely transmitting an authorization secret |
US7296275B2 (en) | 2001-01-04 | 2007-11-13 | Sun Microsystems, Inc. | Method and system for passing objects in a distributed system using serialization contexts |
US20020112163A1 (en) * | 2001-02-13 | 2002-08-15 | Mark Ireton | Ensuring legitimacy of digital media |
US7987510B2 (en) | 2001-03-28 | 2011-07-26 | Rovi Solutions Corporation | Self-protecting digital content |
WO2002086684A2 (en) | 2001-04-24 | 2002-10-31 | Hewlett-Packard Company | An information security system |
US7085845B2 (en) | 2001-05-09 | 2006-08-01 | Gene Fein | Method, apparatus and computer program product for identifying a playing media file and tracking associated user preferences |
GB2376313A (en) | 2001-06-04 | 2002-12-11 | Hewlett Packard Co | Indicating to a user if they are connected to a trusted computer platform |
US7756969B1 (en) | 2001-09-07 | 2010-07-13 | Oracle America, Inc. | Dynamic provisioning of identification services in a distributed system |
US7660887B2 (en) * | 2001-09-07 | 2010-02-09 | Sun Microsystems, Inc. | Systems and methods for providing dynamic quality of service for a distributed system |
US20030051029A1 (en) * | 2001-09-07 | 2003-03-13 | Reedy Dennis G. | Dynamic provisioning of sevice components in a distributed system |
US7512975B2 (en) | 2002-08-16 | 2009-03-31 | Intel Corporation | Hardware-assisted credential validation |
US7546452B2 (en) | 2002-08-20 | 2009-06-09 | Intel Corporation | Hardware-based credential management |
GB2392262A (en) | 2002-08-23 | 2004-02-25 | Hewlett Packard Co | A method of controlling the processing of data |
US9818136B1 (en) | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
US6967565B2 (en) * | 2003-06-27 | 2005-11-22 | Hx Lifespace, Inc. | Building automation system |
WO2005008385A2 (en) | 2003-07-07 | 2005-01-27 | Cryptography Research, Inc. | Reprogrammable security for controlling piracy and enabling interactive content |
US7792874B1 (en) | 2004-01-30 | 2010-09-07 | Oracle America, Inc. | Dynamic provisioning for filtering and consolidating events |
US7500108B2 (en) * | 2004-03-01 | 2009-03-03 | Microsoft Corporation | Metered execution of code |
US7590589B2 (en) | 2004-09-10 | 2009-09-15 | Hoffberg Steven M | Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference |
JP4901164B2 (ja) * | 2005-09-14 | 2012-03-21 | ソニー株式会社 | 情報処理装置、情報記録媒体、および方法、並びにコンピュータ・プログラム |
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
US11620327B2 (en) | 2005-10-26 | 2023-04-04 | Cortica Ltd | System and method for determining a contextual insight and generating an interface with recommendations based thereon |
US10380267B2 (en) | 2005-10-26 | 2019-08-13 | Cortica, Ltd. | System and method for tagging multimedia content elements |
US11386139B2 (en) | 2005-10-26 | 2022-07-12 | Cortica Ltd. | System and method for generating analytics for entities depicted in multimedia content |
US10380623B2 (en) | 2005-10-26 | 2019-08-13 | Cortica, Ltd. | System and method for generating an advertisement effectiveness performance score |
US10191976B2 (en) | 2005-10-26 | 2019-01-29 | Cortica, Ltd. | System and method of detecting common patterns within unstructured data elements retrieved from big data sources |
US11403336B2 (en) | 2005-10-26 | 2022-08-02 | Cortica Ltd. | System and method for removing contextually identical multimedia content elements |
US10360253B2 (en) | 2005-10-26 | 2019-07-23 | Cortica, Ltd. | Systems and methods for generation of searchable structures respective of multimedia data content |
US10380164B2 (en) | 2005-10-26 | 2019-08-13 | Cortica, Ltd. | System and method for using on-image gestures and multimedia content elements as search queries |
US11019161B2 (en) | 2005-10-26 | 2021-05-25 | Cortica, Ltd. | System and method for profiling users interest based on multimedia content analysis |
US10614626B2 (en) * | 2005-10-26 | 2020-04-07 | Cortica Ltd. | System and method for providing augmented reality challenges |
US10621988B2 (en) | 2005-10-26 | 2020-04-14 | Cortica Ltd | System and method for speech to text translation using cores of a natural liquid architecture system |
US8326775B2 (en) | 2005-10-26 | 2012-12-04 | Cortica Ltd. | Signature generation for multimedia deep-content-classification by a large-scale matching system and method thereof |
US10742340B2 (en) * | 2005-10-26 | 2020-08-11 | Cortica Ltd. | System and method for identifying the context of multimedia content elements displayed in a web-page and providing contextual filters respective thereto |
US11216498B2 (en) | 2005-10-26 | 2022-01-04 | Cortica, Ltd. | System and method for generating signatures to three-dimensional multimedia data elements |
US9477658B2 (en) | 2005-10-26 | 2016-10-25 | Cortica, Ltd. | Systems and method for speech to speech translation using cores of a natural liquid architecture system |
US10776585B2 (en) | 2005-10-26 | 2020-09-15 | Cortica, Ltd. | System and method for recognizing characters in multimedia content |
US9372940B2 (en) | 2005-10-26 | 2016-06-21 | Cortica, Ltd. | Apparatus and method for determining user attention using a deep-content-classification (DCC) system |
US10193990B2 (en) | 2005-10-26 | 2019-01-29 | Cortica Ltd. | System and method for creating user profiles based on multimedia content |
US10691642B2 (en) | 2005-10-26 | 2020-06-23 | Cortica Ltd | System and method for enriching a concept database with homogenous concepts |
US10848590B2 (en) | 2005-10-26 | 2020-11-24 | Cortica Ltd | System and method for determining a contextual insight and providing recommendations based thereon |
US11003706B2 (en) | 2005-10-26 | 2021-05-11 | Cortica Ltd | System and methods for determining access permissions on personalized clusters of multimedia content elements |
US11604847B2 (en) | 2005-10-26 | 2023-03-14 | Cortica Ltd. | System and method for overlaying content on a multimedia content element based on user interest |
US10949773B2 (en) | 2005-10-26 | 2021-03-16 | Cortica, Ltd. | System and methods thereof for recommending tags for multimedia content elements based on context |
US10387914B2 (en) | 2005-10-26 | 2019-08-20 | Cortica, Ltd. | Method for identification of multimedia content elements and adding advertising content respective thereof |
US11032017B2 (en) | 2005-10-26 | 2021-06-08 | Cortica, Ltd. | System and method for identifying the context of multimedia content elements |
US10585934B2 (en) | 2005-10-26 | 2020-03-10 | Cortica Ltd. | Method and system for populating a concept database with respect to user identifiers |
US10180942B2 (en) | 2005-10-26 | 2019-01-15 | Cortica Ltd. | System and method for generation of concept structures based on sub-concepts |
US9384196B2 (en) | 2005-10-26 | 2016-07-05 | Cortica, Ltd. | Signature generation for multimedia deep-content-classification by a large-scale matching system and method thereof |
US10372746B2 (en) | 2005-10-26 | 2019-08-06 | Cortica, Ltd. | System and method for searching applications using multimedia content elements |
US9953032B2 (en) | 2005-10-26 | 2018-04-24 | Cortica, Ltd. | System and method for characterization of multimedia content signals using cores of a natural liquid architecture system |
US9646005B2 (en) | 2005-10-26 | 2017-05-09 | Cortica, Ltd. | System and method for creating a database of multimedia content elements assigned to users |
US8312031B2 (en) | 2005-10-26 | 2012-11-13 | Cortica Ltd. | System and method for generation of complex signatures for multimedia data content |
US8818916B2 (en) | 2005-10-26 | 2014-08-26 | Cortica, Ltd. | System and method for linking multimedia data elements to web pages |
US20160321253A1 (en) | 2005-10-26 | 2016-11-03 | Cortica, Ltd. | System and method for providing recommendations based on user profiles |
US10607355B2 (en) | 2005-10-26 | 2020-03-31 | Cortica, Ltd. | Method and system for determining the dimensions of an object shown in a multimedia content item |
US11361014B2 (en) | 2005-10-26 | 2022-06-14 | Cortica Ltd. | System and method for completing a user profile |
US7992203B2 (en) | 2006-05-24 | 2011-08-02 | Red Hat, Inc. | Methods and systems for secure shared smartcard access |
US8180741B2 (en) | 2006-06-06 | 2012-05-15 | Red Hat, Inc. | Methods and systems for providing data objects on a token |
US8495380B2 (en) * | 2006-06-06 | 2013-07-23 | Red Hat, Inc. | Methods and systems for server-side key generation |
US8332637B2 (en) | 2006-06-06 | 2012-12-11 | Red Hat, Inc. | Methods and systems for nonce generation in a token |
US8098829B2 (en) * | 2006-06-06 | 2012-01-17 | Red Hat, Inc. | Methods and systems for secure key delivery |
US20080022088A1 (en) * | 2006-06-06 | 2008-01-24 | Red Hat, Inc. | Methods and systems for key escrow |
US8364952B2 (en) * | 2006-06-06 | 2013-01-29 | Red Hat, Inc. | Methods and system for a key recovery plan |
US7822209B2 (en) | 2006-06-06 | 2010-10-26 | Red Hat, Inc. | Methods and systems for key recovery for a token |
US8412927B2 (en) * | 2006-06-07 | 2013-04-02 | Red Hat, Inc. | Profile framework for token processing system |
US8099765B2 (en) | 2006-06-07 | 2012-01-17 | Red Hat, Inc. | Methods and systems for remote password reset using an authentication credential managed by a third party |
US9769158B2 (en) * | 2006-06-07 | 2017-09-19 | Red Hat, Inc. | Guided enrollment and login for token users |
US8589695B2 (en) * | 2006-06-07 | 2013-11-19 | Red Hat, Inc. | Methods and systems for entropy collection for server-side key generation |
US8707024B2 (en) * | 2006-06-07 | 2014-04-22 | Red Hat, Inc. | Methods and systems for managing identity management security domains |
US8787566B2 (en) * | 2006-08-23 | 2014-07-22 | Red Hat, Inc. | Strong encryption |
US8806219B2 (en) | 2006-08-23 | 2014-08-12 | Red Hat, Inc. | Time-based function back-off |
US9038154B2 (en) * | 2006-08-31 | 2015-05-19 | Red Hat, Inc. | Token Registration |
US8356342B2 (en) | 2006-08-31 | 2013-01-15 | Red Hat, Inc. | Method and system for issuing a kill sequence for a token |
US8977844B2 (en) * | 2006-08-31 | 2015-03-10 | Red Hat, Inc. | Smartcard formation with authentication keys |
US8074265B2 (en) * | 2006-08-31 | 2011-12-06 | Red Hat, Inc. | Methods and systems for verifying a location factor associated with a token |
US10733326B2 (en) | 2006-10-26 | 2020-08-04 | Cortica Ltd. | System and method for identification of inappropriate multimedia content |
US8693690B2 (en) * | 2006-12-04 | 2014-04-08 | Red Hat, Inc. | Organizing an extensible table for storing cryptographic objects |
US8813243B2 (en) * | 2007-02-02 | 2014-08-19 | Red Hat, Inc. | Reducing a size of a security-related data object stored on a token |
US8639940B2 (en) * | 2007-02-28 | 2014-01-28 | Red Hat, Inc. | Methods and systems for assigning roles on a token |
US8832453B2 (en) | 2007-02-28 | 2014-09-09 | Red Hat, Inc. | Token recycling |
US9081948B2 (en) * | 2007-03-13 | 2015-07-14 | Red Hat, Inc. | Configurable smartcard |
JP2009043357A (ja) * | 2007-08-10 | 2009-02-26 | Toshiba Corp | 半導体記憶装置 |
US8127235B2 (en) | 2007-11-30 | 2012-02-28 | International Business Machines Corporation | Automatic increasing of capacity of a virtual space in a virtual world |
US20090164919A1 (en) | 2007-12-24 | 2009-06-25 | Cary Lee Bates | Generating data for managing encounters in a virtual world environment |
EP2232397B1 (en) * | 2008-01-20 | 2011-10-05 | NDS Limited | Secure data utilization |
US20090193265A1 (en) * | 2008-01-25 | 2009-07-30 | Sony Ericsson Mobile Communications Ab | Fast database integrity protection apparatus and method |
KR101426270B1 (ko) * | 2008-02-13 | 2014-08-05 | 삼성전자주식회사 | 소프트웨어의 전자 서명 생성 방법, 검증 방법, 그 장치,및 그 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로읽을 수 있는 기록매체 |
JP5159375B2 (ja) | 2008-03-07 | 2013-03-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メタバースにおけるオブジェクトの真贋判断システム、方法及びそのコンピュータ・プログラム |
US20100088745A1 (en) * | 2008-10-06 | 2010-04-08 | Fujitsu Limited | Method for checking the integrity of large data items rapidly |
US9205328B2 (en) | 2010-02-18 | 2015-12-08 | Activision Publishing, Inc. | Videogame system and method that enables characters to earn virtual fans by completing secondary objectives |
US9682324B2 (en) | 2010-05-12 | 2017-06-20 | Activision Publishing, Inc. | System and method for enabling players to participate in asynchronous, competitive challenges |
US10137376B2 (en) | 2012-12-31 | 2018-11-27 | Activision Publishing, Inc. | System and method for creating and streaming augmented game sessions |
US10322351B2 (en) | 2014-07-03 | 2019-06-18 | Activision Publishing, Inc. | Matchmaking system and method for multiplayer video games |
US11351466B2 (en) | 2014-12-05 | 2022-06-07 | Activision Publishing, Ing. | System and method for customizing a replay of one or more game events in a video game |
US10118099B2 (en) | 2014-12-16 | 2018-11-06 | Activision Publishing, Inc. | System and method for transparently styling non-player characters in a multiplayer video game |
US10286314B2 (en) | 2015-05-14 | 2019-05-14 | Activision Publishing, Inc. | System and method for providing continuous gameplay in a multiplayer video game through an unbounded gameplay session |
US10315113B2 (en) | 2015-05-14 | 2019-06-11 | Activision Publishing, Inc. | System and method for simulating gameplay of nonplayer characters distributed across networked end user devices |
US10486068B2 (en) | 2015-05-14 | 2019-11-26 | Activision Publishing, Inc. | System and method for providing dynamically variable maps in a video game |
US10668367B2 (en) | 2015-06-15 | 2020-06-02 | Activision Publishing, Inc. | System and method for uniquely identifying physical trading cards and incorporating trading card game items in a video game |
US10471348B2 (en) | 2015-07-24 | 2019-11-12 | Activision Publishing, Inc. | System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks |
US10099140B2 (en) | 2015-10-08 | 2018-10-16 | Activision Publishing, Inc. | System and method for generating personalized messaging campaigns for video game players |
US11185784B2 (en) | 2015-10-08 | 2021-11-30 | Activision Publishing, Inc. | System and method for generating personalized messaging campaigns for video game players |
US10232272B2 (en) | 2015-10-21 | 2019-03-19 | Activision Publishing, Inc. | System and method for replaying video game streams |
US10245509B2 (en) | 2015-10-21 | 2019-04-02 | Activision Publishing, Inc. | System and method of inferring user interest in different aspects of video game streams |
US10376781B2 (en) | 2015-10-21 | 2019-08-13 | Activision Publishing, Inc. | System and method of generating and distributing video game streams |
US10694352B2 (en) | 2015-10-28 | 2020-06-23 | Activision Publishing, Inc. | System and method of using physical objects to control software access |
US11195043B2 (en) | 2015-12-15 | 2021-12-07 | Cortica, Ltd. | System and method for determining common patterns in multimedia content elements based on key points |
WO2017105641A1 (en) | 2015-12-15 | 2017-06-22 | Cortica, Ltd. | Identification of key points in multimedia data elements |
US10226703B2 (en) | 2016-04-01 | 2019-03-12 | Activision Publishing, Inc. | System and method of generating and providing interactive annotation items based on triggering events in a video game |
US10226701B2 (en) | 2016-04-29 | 2019-03-12 | Activision Publishing, Inc. | System and method for identifying spawn locations in a video game |
US10179289B2 (en) | 2016-06-21 | 2019-01-15 | Activision Publishing, Inc. | System and method for reading graphically-encoded identifiers from physical trading cards through image-based template matching |
US10573065B2 (en) | 2016-07-29 | 2020-02-25 | Activision Publishing, Inc. | Systems and methods for automating the personalization of blendshape rigs based on performance capture data |
US10463964B2 (en) | 2016-11-17 | 2019-11-05 | Activision Publishing, Inc. | Systems and methods for the real-time generation of in-game, locally accessible heatmaps |
US10709981B2 (en) | 2016-11-17 | 2020-07-14 | Activision Publishing, Inc. | Systems and methods for the real-time generation of in-game, locally accessible barrier-aware heatmaps |
US10500498B2 (en) | 2016-11-29 | 2019-12-10 | Activision Publishing, Inc. | System and method for optimizing virtual games |
US10055880B2 (en) | 2016-12-06 | 2018-08-21 | Activision Publishing, Inc. | Methods and systems to modify a two dimensional facial image to increase dimensional depth and generate a facial image that appears three dimensional |
US10861079B2 (en) | 2017-02-23 | 2020-12-08 | Activision Publishing, Inc. | Flexible online pre-ordering system for media |
US10395036B2 (en) * | 2017-03-16 | 2019-08-27 | Dell Products, L.P. | Continued runtime authentication of information handling system (IHS) applications |
WO2019008581A1 (en) | 2017-07-05 | 2019-01-10 | Cortica Ltd. | DETERMINATION OF DRIVING POLICIES |
WO2019012527A1 (en) | 2017-07-09 | 2019-01-17 | Cortica Ltd. | ORGANIZATION OF DEPTH LEARNING NETWORKS |
US10818060B2 (en) | 2017-09-05 | 2020-10-27 | Activision Publishing, Inc. | Systems and methods for guiding motion capture actors using a motion reference system |
US10974150B2 (en) | 2017-09-27 | 2021-04-13 | Activision Publishing, Inc. | Methods and systems for improved content customization in multiplayer gaming environments |
US10561945B2 (en) | 2017-09-27 | 2020-02-18 | Activision Publishing, Inc. | Methods and systems for incentivizing team cooperation in multiplayer gaming environments |
US11040286B2 (en) | 2017-09-27 | 2021-06-22 | Activision Publishing, Inc. | Methods and systems for improved content generation in multiplayer gaming environments |
US10537809B2 (en) | 2017-12-06 | 2020-01-21 | Activision Publishing, Inc. | System and method for validating video gaming data |
US10463971B2 (en) | 2017-12-06 | 2019-11-05 | Activision Publishing, Inc. | System and method for validating video gaming data |
US10981051B2 (en) | 2017-12-19 | 2021-04-20 | Activision Publishing, Inc. | Synchronized, fully programmable game controllers |
US10864443B2 (en) | 2017-12-22 | 2020-12-15 | Activision Publishing, Inc. | Video game content aggregation, normalization, and publication systems and methods |
US10596471B2 (en) | 2017-12-22 | 2020-03-24 | Activision Publishing, Inc. | Systems and methods for enabling audience participation in multi-player video game play sessions |
US11278813B2 (en) | 2017-12-22 | 2022-03-22 | Activision Publishing, Inc. | Systems and methods for enabling audience participation in bonus game play sessions |
US10846544B2 (en) | 2018-07-16 | 2020-11-24 | Cartica Ai Ltd. | Transportation prediction system and method |
US11126870B2 (en) | 2018-10-18 | 2021-09-21 | Cartica Ai Ltd. | Method and system for obstacle detection |
US20200133308A1 (en) | 2018-10-18 | 2020-04-30 | Cartica Ai Ltd | Vehicle to vehicle (v2v) communication less truck platooning |
US11181911B2 (en) | 2018-10-18 | 2021-11-23 | Cartica Ai Ltd | Control transfer of a vehicle |
US10839694B2 (en) | 2018-10-18 | 2020-11-17 | Cartica Ai Ltd | Blind spot alert |
US11700356B2 (en) | 2018-10-26 | 2023-07-11 | AutoBrains Technologies Ltd. | Control transfer of a vehicle |
US11263670B2 (en) | 2018-11-19 | 2022-03-01 | Activision Publishing, Inc. | Systems and methods for dynamically modifying video game content based on non-video gaming content being concurrently experienced by a user |
US11192028B2 (en) | 2018-11-19 | 2021-12-07 | Activision Publishing, Inc. | Systems and methods for the real-time customization of video game content based on player data |
US10789535B2 (en) | 2018-11-26 | 2020-09-29 | Cartica Ai Ltd | Detection of road elements |
US11115712B2 (en) | 2018-12-15 | 2021-09-07 | Activision Publishing, Inc. | Systems and methods for indexing, searching for, and retrieving digital media |
US11679330B2 (en) | 2018-12-18 | 2023-06-20 | Activision Publishing, Inc. | Systems and methods for generating improved non-player characters |
US11305191B2 (en) | 2018-12-20 | 2022-04-19 | Activision Publishing, Inc. | Systems and methods for controlling camera perspectives, movements, and displays of video game gameplay |
US11643005B2 (en) | 2019-02-27 | 2023-05-09 | Autobrains Technologies Ltd | Adjusting adjustable headlights of a vehicle |
US11285963B2 (en) | 2019-03-10 | 2022-03-29 | Cartica Ai Ltd. | Driver-based prediction of dangerous events |
US11694088B2 (en) | 2019-03-13 | 2023-07-04 | Cortica Ltd. | Method for object detection using knowledge distillation |
US11132548B2 (en) | 2019-03-20 | 2021-09-28 | Cortica Ltd. | Determining object information that does not explicitly appear in a media unit signature |
US10796444B1 (en) | 2019-03-31 | 2020-10-06 | Cortica Ltd | Configuring spanning elements of a signature generator |
US11488290B2 (en) | 2019-03-31 | 2022-11-01 | Cortica Ltd. | Hybrid representation of a media unit |
US11222069B2 (en) | 2019-03-31 | 2022-01-11 | Cortica Ltd. | Low-power calculation of a signature of a media unit |
US10789527B1 (en) | 2019-03-31 | 2020-09-29 | Cortica Ltd. | Method for object detection using shallow neural networks |
US10776669B1 (en) | 2019-03-31 | 2020-09-15 | Cortica Ltd. | Signature generation and object detection that refer to rare scenes |
US11344808B2 (en) | 2019-06-28 | 2022-05-31 | Activision Publishing, Inc. | Systems and methods for dynamically generating and modulating music based on gaming events, player profiles and/or player reactions |
US11097193B2 (en) | 2019-09-11 | 2021-08-24 | Activision Publishing, Inc. | Methods and systems for increasing player engagement in multiplayer gaming environments |
US11423605B2 (en) | 2019-11-01 | 2022-08-23 | Activision Publishing, Inc. | Systems and methods for remastering a game space while maintaining the underlying game simulation |
US11712627B2 (en) | 2019-11-08 | 2023-08-01 | Activision Publishing, Inc. | System and method for providing conditional access to virtual gaming items |
US10748022B1 (en) | 2019-12-12 | 2020-08-18 | Cartica Ai Ltd | Crowd separation |
US11593662B2 (en) | 2019-12-12 | 2023-02-28 | Autobrains Technologies Ltd | Unsupervised cluster generation |
US11537209B2 (en) | 2019-12-17 | 2022-12-27 | Activision Publishing, Inc. | Systems and methods for guiding actors using a motion capture reference system |
US11420122B2 (en) | 2019-12-23 | 2022-08-23 | Activision Publishing, Inc. | Systems and methods for controlling camera perspectives, movements, and displays of video game gameplay |
US11563774B2 (en) | 2019-12-27 | 2023-01-24 | Activision Publishing, Inc. | Systems and methods for tracking and identifying phishing website authors |
US11590988B2 (en) | 2020-03-19 | 2023-02-28 | Autobrains Technologies Ltd | Predictive turning assistant |
US11827215B2 (en) | 2020-03-31 | 2023-11-28 | AutoBrains Technologies Ltd. | Method for training a driving related object detector |
US11756424B2 (en) | 2020-07-24 | 2023-09-12 | AutoBrains Technologies Ltd. | Parking assist |
US11351459B2 (en) | 2020-08-18 | 2022-06-07 | Activision Publishing, Inc. | Multiplayer video games with virtual characters having dynamically generated attribute profiles unconstrained by predefined discrete values |
US11524234B2 (en) | 2020-08-18 | 2022-12-13 | Activision Publishing, Inc. | Multiplayer video games with virtual characters having dynamically modified fields of view |
US11724188B2 (en) | 2020-09-29 | 2023-08-15 | Activision Publishing, Inc. | Methods and systems for selecting a level of detail visual asset during the execution of a video game |
US11717753B2 (en) | 2020-09-29 | 2023-08-08 | Activision Publishing, Inc. | Methods and systems for generating modified level of detail visual assets in a video game |
US11833423B2 (en) | 2020-09-29 | 2023-12-05 | Activision Publishing, Inc. | Methods and systems for generating level of detail visual assets in a video game |
US11439904B2 (en) | 2020-11-11 | 2022-09-13 | Activision Publishing, Inc. | Systems and methods for imparting dynamic and realistic movement to player-controlled avatars in video games |
US11794107B2 (en) | 2020-12-30 | 2023-10-24 | Activision Publishing, Inc. | Systems and methods for improved collision detection in video games |
US11853439B2 (en) | 2020-12-30 | 2023-12-26 | Activision Publishing, Inc. | Distributed data storage system providing enhanced security |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2379221A (en) * | 1942-10-09 | 1945-06-26 | Bell Telephone Labor Inc | Communication system |
GB570123A (en) * | 1943-08-17 | 1945-06-22 | Waterbury Button Company | Improvements in or relating to buttons |
US4309569A (en) * | 1979-09-05 | 1982-01-05 | The Board Of Trustees Of The Leland Stanford Junior University | Method of providing digital signatures |
US4295039A (en) * | 1979-12-03 | 1981-10-13 | International Business Machines Corporation | Method and apparatus for achieving secure password verification |
US4658093A (en) * | 1983-07-11 | 1987-04-14 | Hellman Martin E | Software distribution system |
US4789863A (en) * | 1985-10-02 | 1988-12-06 | Bush Thomas A | Pay per view entertainment system |
US4908861A (en) * | 1987-08-28 | 1990-03-13 | International Business Machines Corporation | Data authentication using modification detection codes based on a public one way encryption function |
US5247575A (en) * | 1988-08-16 | 1993-09-21 | Sprague Peter J | Information distribution system |
US5065429A (en) * | 1989-04-03 | 1991-11-12 | Lang Gerald S | Method and apparatus for protecting material on storage media |
US5241671C1 (en) * | 1989-10-26 | 2002-07-02 | Encyclopaedia Britannica Educa | Multimedia search system using a plurality of entry path means which indicate interrelatedness of information |
US5191613A (en) * | 1990-11-16 | 1993-03-02 | Graziano James M | Knowledge based system for document authentication |
AU662805B2 (en) * | 1992-04-06 | 1995-09-14 | Addison M. Fischer | A method for processing information among computers which may exchange messages |
US5231666A (en) * | 1992-04-20 | 1993-07-27 | International Business Machines Corporation | Cryptographic method for updating financial records |
US5421006A (en) * | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
ATE177857T1 (de) * | 1992-05-15 | 1999-04-15 | Addison M Fischer | Verfahren und vorrichtung zur sicherheit eines computersystem mit programmberechtigungsdatenstrukturen |
US5432939A (en) * | 1992-05-27 | 1995-07-11 | International Business Machines Corp. | Trusted personal computer system with management control over initial program loading |
US5224166A (en) * | 1992-08-11 | 1993-06-29 | International Business Machines Corporation | System for seamless processing of encrypted and non-encrypted data and instructions |
US5319705A (en) * | 1992-10-21 | 1994-06-07 | International Business Machines Corporation | Method and system for multimedia access control enablement |
US5276738A (en) * | 1992-12-17 | 1994-01-04 | Bull Hn Information Systems Inc. | Software data protection mechanism |
US5379343A (en) * | 1993-02-26 | 1995-01-03 | Motorola, Inc. | Detection of unauthorized use of software applications in communication units |
US5343527A (en) * | 1993-10-27 | 1994-08-30 | International Business Machines Corporation | Hybrid encryption method and system for protecting reusable software components |
US5450489A (en) * | 1993-10-29 | 1995-09-12 | Time Warner Entertainment Co., L.P. | System and method for authenticating software carriers |
US5553143A (en) * | 1994-02-04 | 1996-09-03 | Novell, Inc. | Method and apparatus for electronic licensing |
US5553139A (en) * | 1994-04-04 | 1996-09-03 | Novell, Inc. | Method and apparatus for electronic license distribution |
US5530751A (en) * | 1994-06-30 | 1996-06-25 | Hewlett-Packard Company | Embedded hidden identification codes in digital objects |
US5535188A (en) * | 1994-10-03 | 1996-07-09 | International Business Machines Corporation | Data security protection for information recorded on a rewritable storage medium using a write-once read-many storage medium |
US5485577A (en) * | 1994-12-16 | 1996-01-16 | General Instrument Corporation Of Delaware | Method and apparatus for incremental delivery of access rights |
-
1995
- 1995-11-28 EP EP95308527A patent/EP0717337B1/en not_active Expired - Lifetime
- 1995-11-28 DE DE69521977T patent/DE69521977T2/de not_active Expired - Lifetime
- 1995-12-05 JP JP31696695A patent/JP3579154B2/ja not_active Expired - Lifetime
-
1997
- 1997-08-18 US US08/914,911 patent/US5745678A/en not_active Ceased
-
2000
- 2000-04-27 US US09/560,334 patent/USRE38375E1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0717337B1 (en) | 2001-08-01 |
DE69521977T2 (de) | 2002-04-04 |
USRE38375E1 (en) | 2003-12-30 |
EP0717337A1 (en) | 1996-06-19 |
DE69521977D1 (de) | 2001-09-06 |
JP3579154B2 (ja) | 2004-10-20 |
US5745678A (en) | 1998-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3579154B2 (ja) | マルチメディア・タイトルの保護頒布のための方法及びシステム | |
AU716912B2 (en) | Electronic copy protection mechanism | |
US6961852B2 (en) | System and method for authenticating software using hidden intermediate keys | |
JP3713141B2 (ja) | プログラムの不正実行防止方法 | |
US5995625A (en) | Electronic cryptographic packing | |
JP4651947B2 (ja) | 時間および重みに基づく柔軟で耐性のあるハードウエアidを提供するシステムおよび方法 | |
JP3363379B2 (ja) | 安全な記憶領域内のアプリケーション・データを保護する方法及び装置 | |
US6343280B2 (en) | Distributed execution software license server | |
JP4498735B2 (ja) | オペレーティングシステムおよびカスタマイズされた制御プログラムとインタフェースする安全なマシンプラットフォーム | |
RU2351978C2 (ru) | Способ обеспечения целостности набора записей данных | |
MXPA04002025A (es) | Identificacion de hardware de verbosidad para unir un paquete de software a un sistema de computadora que tiene tolerancia para cambios de hardware. | |
MXPA04002023A (es) | Identificacion de hardware compacto para unir un paquete de software a un sistema de computadora que tiene tolerancia para cambios de hardware. | |
AU2004200683B2 (en) | System for binding secrets to a computer system having tolerance for hardware changes | |
US6651169B1 (en) | Protection of software using a challenge-response protocol embedded in the software | |
JPH1031587A (ja) | データ端末装置およびコンピュータプログラム | |
US20130022230A1 (en) | Digital content management system, verification device, program thereof, and data processing method | |
US20030046537A1 (en) | Method and system for authorization control of displayed content | |
CN116910816B (zh) | 一种提高隐私保护下的多方资产协同管理方法及装置 | |
CN104751042A (zh) | 基于密码哈希与生物特征识别的可信性检测方法 | |
JPH11234262A (ja) | 利用資格検証装置 | |
CN111881147A (zh) | 计算任务的处理方法和装置、存储介质及处理器 | |
JP2000076064A (ja) | プログラムへの透かしの挿入方法及びシステム | |
JP4017149B2 (ja) | プログラムの不正実行防止機能付きプロセッサ | |
CN109167785B (zh) | 一种虚拟可信根的调用方法和业务服务器 | |
CN115296821B (zh) | 一种用于数字藏品管理的数据处理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20040428 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040428 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040616 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20040714 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040715 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070723 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080723 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080723 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090723 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100723 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110723 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110723 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120723 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130723 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130723 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130723 Year of fee payment: 9 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |