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
Application number
JP7316966A
Other languages
English (en)
Other versions
JP3579154B2 (ja
Inventor
Amir Herzberg
アミール・ハルツベルグ
Hugo M Krawczyk
ヒューゴ・マリオ・クロウジック
Shay Kutten
シャイ・カットン
Le An Van
アン・ヴァン・リ
Stephen M Matyas
ステファン・マイケル・マティアス
Marcel M Yung
マーセル・モーデチャイ・ヤン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH08221268A publication Critical patent/JPH08221268A/ja
Application granted granted Critical
Publication of JP3579154B2 publication Critical patent/JP3579154B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • G06F2211/008Public 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

(57)【要約】 【課題】データ処理システムにおいて許可されたマルチ
メディア・プログラムをチェックし、許可されてないマ
ルチメディア・プログラムを検出するための方法及びシ
ステムを提供する。 【解決手段】本発明は、プログラムを検証するための検
証ストラクチャを作成する。検証ストラクチャはそのプ
ログラムに組み込まれ、そして、プログラムの開始に応
答して、そのプログラムが許可されたプログラムである
かどうかに関する決定が行われる。その決定は検証スト
ラクチャを使用して行われる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、概して云えば、改
良されたデータ処理システムに関するものであり、詳し
くいえば、マルチメディア・プログラムを頒布するため
の方法及びシステムに関するものである。更に詳しく云
えば、本発明は、データ処理システムにおいて、許可さ
れたマルチメディア・プログラムをチェックし、許可さ
れてないマルチメディア・プログラムを検出するための
方法及びシステムに関するものである。
【0002】
【発明が解決しようとする課題】マルチメディア・デー
タ処理システムは、音声、図形、動画、及びテキストを
利用して情報をデータの形でユーザに提供する。データ
及び情報をこの形式でユーザに提供するプログラムはマ
ルチメディア・タイトルとも呼ばれる。一般に、ソフト
ウエア会社はマルチメディア・タイトルの製作及び供給
のためのソフトウエア・システムを開発し、販売してい
る。そのようなソフトウエア・システムは、マルチメデ
ィア・タイトルのためのマルチメディア・スクリプトを
構成する場合に使用される。一般に、そのソフトウエア
・システムは、開発者によるマルチメディア・タイトル
の製作のためのオーサリング(authoring)ツ
ール・セット及びそのマルチメディア・タイトルをエン
ド・ユーザに提供するための実行時環境(RTE)を含
んでいる。一般に、RTEは種々の計算機プラットフォ
ームにおいて実行するように設計され、開発者にとって
望ましいソフトウエア・システムのためのオーサリング
・ツールを作っている。一般に、開発者は、オーサリン
グ・ツールを使用するためのローヤルティを支払って、
RTE上でランすべきマルチメディア・タイトルを開発
している。しかし、無法な開発者は、RTEにおいて使
用するためのマルチメディア・タイトルの製作におい
て、許可されないタイトルを製作したり、ローヤルティ
の支払を回避したりすることがある。従って、許可され
たタイトルがデータ処理システムにおいて実行すること
を可能にし且つ許可されてないタイトルを実行しようと
する試みを検出するための方法及びシステムを持つこと
は有益であろう。
【0003】従って、本発明の目的は、データ処理シス
テムにおいて、許可されたマルチメディア・プログラム
に対するチェックを行い、許可されてないマルチメディ
ア・プログラムを検出するための方法及びシステムを提
供することにある。
【0004】
【課題を解決するための手段】本発明は、データ処理シ
ステムにおいて、許可されたマルチメディア・プログラ
ムを検出するための方法及びシステムを提供する。本発
明は、マルチメディア・プログラムを検証するための検
証ストラクチャを作成する。その検証ストラクチャはマ
ルチメディア・プログラムに組み込まれ、そしてマルチ
メディア・プログラムの開始に応答して、そのマルチメ
ディア・プログラムが許可されたマルチメディア・プロ
グラムであるかどうかに関する決定が行われる。その決
定は、検証ストラクチャを使用して行われる。
【0005】検証ストラクチャの作成では、そのプログ
ラムのうちの数セクション(以下、データ・オブジェク
トと呼ばれる)が選択され、その選択されたデータ・オ
ブジェクトの各々に関する暗号ハッシュ値が作成され、
又は計算される。その暗号ハッシュ値及び選択されたデ
ータ・オブジェクトのロケーションは、検証ストラクチ
ャ内にデータ・レコードとして記憶される。更に、シグ
ナチャが検証ストラクチャに含まれ、或いはそれと関連
付けられる。そのシグナチャは、本発明の好適な実施例
によれば、公開キー暗号アルゴリズムを使用して、その
検証ストラクチャに基づいて計算される。
【0006】マルチメディア・プログラムが許可された
マルチメディア・プログラムであるかどうかの決定は、
そのマルチメディア・プログラムにおけるデータ・オブ
ジェクトのサブセットを選択すること及びそのマルチメ
ディア・プログラムに記憶された検証ストラクチャを使
用してその選択されたデータ・オブジェクトを検証する
ことによって達成される。これは、検証ストラクチャに
おいてリストされたデータ・レコードの定義されたセッ
トの中からそのデータ・オブジェクトの一部分を無作為
に選択するステップ、その検証ストラクチャに記憶され
たロケーション情報を使用してマルチメディア・プログ
ラムからその選択されたデータ・オブジェクトを読み取
るステップ、及びその検証ストラクチャに記憶された検
証情報を使用してその選択されたデータ・オブジェクト
を検証するステップを含む。各選択されたデータ・オブ
ジェクトに対して、その検証ストラクチャに記憶された
ロケーション情報がアクセスされ、その選択されたデー
タ・オブジェクトをマルチメディア・プログラムから読
み取るために使用される。
【0007】暗号ハッシュ値はその選択されたデータ・
オブジェクトに基づいて計算され、しかる後、その検証
ストラクチャに記憶された対応する「基準のハッシュ
値」と等しいかどうかを得るために比較される。その選
択されたデータ・オブジェクトが有効であるためには、
それらハッシュ値は等しくなければならない。更に、公
開キー暗号アルゴリズムを使用して、検証ストラクチャ
において前に計算されそして検証ストラクチャ内に記憶
されたシグナチャの使用を通して、その検証ストラクチ
ャ自身が検証される。そのシグナチャ、検証ストラクチ
ャ、及び選択されたデータ・オブジェクトのサブセット
が有効なものである場合、そのマルチメディア・プログ
ラムは許可されたマルチメディア・プログラムであると
見なされる。許可されたマルチメディア・プログラムは
正規に実行することを許される。それとは異なり、マル
チメディア・プログラムが許可されたプログラムでない
という決定に応答して、マルチメディア・プログラムの
実行は禁止されるか、又はマルチメディア・プログラム
の限定された実行を許すことも可能である。
【0008】本発明の上記目的、特徴、及び利点は、下
記の詳細な説明において明らかになるであろう。
【0009】
【発明の実施の形態】図面、特に、図1を参照すると、
本発明が使用可能なデータ処理システム、即ち、パーソ
ナル・コンピュータ・システム10が示される。図示の
ように、パーソナル・コンピュータ・システム10は、
相互接続された多数のコンポーネントより成る。更に詳
しくいえば、システム・ユニット12はオプショナル・
モニタ14(通常のビデオ・ディスプレイのような)に
接続され、そのオプショナル・ユニットを駆動すること
ができる。又、システム・ユニット12は、PCキーボ
ード16又はマウス18のような入力装置に選択的に接
続可能である。マウス18は右及び左のボタンを有す
る。左のボタンは、一般に、メイン・セレクタ・ボタン
として使用され、第1マウス・ボタン又はマウス・ボタ
ン1と呼ばれる。右のボタンは、一般に、後述のように
補助的な機能を選択するために使用される。右のボタン
は、第2マウス・ボタン又はマウス・ボタン2と呼ばれ
る。プリンタ20のようなオプショナル出力装置も、シ
ステム・ユニット12に接続可能である。結局、システ
ム・ユニット12は、ディスケット・ドライブ22のよ
うな1つ又は複数個の大容量記憶装置を含み得るもので
ある。
【0010】後述するように、システム・ユニット12
は、PCキーボード16、マウス18、又はローカル・
エリア・ネットワーク・インターフェースのような入力
装置に応答する。更に、フロッピ・ディスク・ドライブ
22、ディスプレイ14、プリンタ20、及びローカル
・エリア・ネットワーク通信システムのような入出力
(I/O)装置が周知の態様でシステム・ユニット12
に接続される。勿論、当業者には明らかなように、他の
通常のコンポーネントもシステム・ユニット12との相
互作用のために、そのシステム・ユニットに接続可能で
ある。本発明によれば、パーソナル・コンピュータ・シ
ステム10は、ランダム・アクセス・メモリ(RA
M)、読取り専用メモリ(ROM)、及び複数個のI/
O装置に相互接続されたシステム・プロセッサを含む。
【0011】正規の使用では、パーソナル・コンピュー
タ・システム10は、サーバのような小グループのユー
ザ又は単独のユーザに独立のコンピューティング・パワ
ーを与えるように設計可能であり、個人又は小企業によ
る購入のために安価に価格付けされている。操作におい
ては、システム・プロセッサは、IBM社のOS/2オ
ペレーティング・システム(OS/2はIBM社の商
標)又はDOSのようなオペレーティング・システムの
下で機能する。このタイプのオペレーティング・システ
ムは、I/O装置とオペレーティング・システムとの間
に基本入出力システム(BIOS)インターフェースを
含む。マザーボード又はプレーナ上のROMに記憶可能
なそのBIOSは、POSTと呼ばれるパワー・オン自
己検査セクションに含まれた診断ルーチンを有する。
【0012】上記の構造を本発明に関連付ける前に、パ
ーソナル・コンピュータ・システムの一般的なオペレー
ションの要約は、復習するに値するであろう。図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」はインテル社の商標)で
ある。
【0013】以下で、図2のシステム・ブロック図を参
照して本発明を説明するけれども、本発明による装置及
び方法が他のハード・ウエア構成のプレーナ・ボードで
もって使用可能であると考えられ、それは、以下の説明
に当たって理解すべきことである。例えば、システム・
プロセッサはインテル80286、80386、又は8
0486マイクロプロセッサであってもよい。これらの
特定のマイクロプロセッサは実アドレシング・モード或
いは保護アドレシング・モードにおいて動作することが
できる。各モードは、マイクロプロセッサのメモリの種
々の領域をアクセスするためのアドレシング方法を与え
る。
【0014】図2を参照すると、CPUローカル・バス
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スロットに
接続可能である。
【0015】アービトレーション制御バス42は、DM
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
によって示されるような追加のメモリが相互接続可能で
あることは勿論である。
【0016】システム・バス34及びプレーナI/Oバ
ス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を含む。
【0017】クロック72は時刻計算のために使用され
る。NVRAM74は、システム構成データを記憶する
ために使用される。即ち、そのNVRAMは、システム
の現在の構成を記述した値を含むであろう。例えば、N
VRAM74は、固定ディスク又はディスケットの容
量、ディスプレイのタイプ、メモリの容量等を記述した
情報を含む。特に重要なこととして、NVRAM74
は、システム・コンソール構成、即ち、PCキーボード
がキーボード/マウス・コントローラ84に接続されて
いるかどうか、ディスプレイ・コントローラが使用可能
であるかどうか、或いはASCII端末がRS232ア
ダプタ76に接続されているかどうかを記述するために
使用されるデータを含むであろう。更に、これらデータ
は、特別の構成プログラムが実行される時にいつもNV
RAM74に記憶される。その構成プログラムの目的
は、システムの電源が切られる時に保存されるこのシス
テムの構成を特徴づける値をNVRAM74に記憶する
ことである。
【0018】キーボード/マウス・コントローラ84に
は、ポートA及びBが接続される。これらのポートはP
Cキーボード(ASCII端末に対立するものとして)
及びマウスをそのPCシステムに接続するために使用さ
れる。RS232アダプタ装置76には、RS232コ
ネクタが接続される。オプショナルASCII端末がこ
のコネクタを通してシステムに接続可能である。
【0019】詳しくいえば、パーソナル・コンピュータ
・システム10は、IBM PS/2コンピュータ或い
はIBM RISC SISTEM/6000(どちら
もIBM社の製品)のような任意の適当なコンピュータ
を利用して実施可能である(なお、「RISK SYS
TEM/6000」及び「PS/2」はIBM社の商
標)。
【0020】マルチメディア・プログラム又はタイトル
(以下、「マルチメディア・タイトル」と呼ぶ)の頒布
は、オーサリング・ツールとマルチメディア会社により
提供される実行時環境(RTE)とを使用してマルチメ
ディア・タイトルを製作するアプリケーション開発者、
及びそのRTEを実行するコンピュータ或いはコンピュ
ータ・プラットフォームにおける実行のためにマルチメ
ディア・タイトルを購入するユーザに影響する。本発明
の好適な実施例によれば、許可されたマルチメディア・
タイトルに関してチェックすること及び許可されてない
マルチメディア・タイトルを検出することは、公開キー
・アルゴリズム使用するディジタル・シグナチャのスキ
ームに影響する。「公開キー」は、情報を暗号化したい
人にとって利用可能にされたキーである。公開キー暗号
化では、公開キーが暗号化のために使用されそして専用
キーが暗号解読のために使用されるという公開キー・ア
ルゴリズムが使用される。公開キー暗号化の基本は、個
々の対数、因数分解、及びナップザック問題を含む。各
許可されたマルチメディア・タイトルは、そのマルチメ
ディア・タイトルがデータ処理システムにおける実行を
許される前にRTEにより検証可能な組み込まれたディ
ジタル・シグナチャ・トークンを含む。
【0021】本発明の好適な実施例に従ってシグナチャ
・トークン生成プロセス及びシグナチャ・トークン検証
プロセスを容易にするために、2つの暗号サブシステム
が使用される。1つの暗号サブシステムは、許可された
マルチメディア・タイトルに組み込まれた時にこれらタ
イトルが検証されることを許容するシグナチャ・トーク
ンの生成を可能にする。もう1つの暗号サブシステムは
シグナチャ・トークンを検証するために使用される。こ
の態様では、許可されたマルチメディア・タイトルは、
許可されてないマルチメディア・タイトルから区別可能
である。
【0022】図3を参照すると、CD−ROMにおける
マルチメディア・タイトルに対する作成及び頒布プロセ
スのブロック図が本発明の好適な実施例に従って示され
る。当業者には明らかなように、本発明は、マルチメデ
ィア・タイトルがCD−ROM媒体以外の媒体を通して
頒布されるという実現方法において実施可能である。マ
ルチメディア・タイトルは、開発者がオーサリング・ツ
ール300を使用することによって開発される。そこ
で、マルチメディア・タイトルは、シグナチャ・トーク
ン生成モジュール302を使用して処理される。このモ
ジュールはマルチメディア・タイトルのためのシグナチ
ャ・トークンを生成する。シグナチャ・トークンはその
マルチメディア・タイトルに組み込まれる。
【0023】しかる後、シグナチャ・トークンを組み込
まれたマルチメディア・タイトルは、マスタCD−RO
M304を作成する開発者に返送される。別の方法とし
て、シグナチャ・トークン及びマルチメディア・タイト
ルが開発者に返送され、その際、そのシグナチャ・トー
クンがマルチメディア・タイトルに組み込まれ、マスタ
CD−ROM304が開発者によって作成される。その
マルチメディア・タイトル及び組み込まれたシグナチャ
・トークンを含むCD−ROM306がマスタCD−R
OM304から作られる。CD−ROM306は、本発
明の好適な実施例によればシグナチャ・トークン・モジ
ュールを持ったRTEを含むデータ処理システム308
内に配される。そのタイトルがデータ処理システム30
8において実行されるべき時、RTEはCD−ROMか
らシグナチャ・トークンを読み取り、シグナチャ・トー
クン検証モジュールを使用してそのシグナチャ・トーク
ンとCD−ROMから読み取られたデータ・オブジェク
トの選択された部分とを検証する。
【0024】一般に、マルチメディア・タイトルは、プ
レイするには約1時間を必要とし、約650メガバイト
のデータを含んでいる。その結果、マルチメディア・タ
イトルにおける各バイトを読み取り及びチェックするこ
とによってそのマルチメディア・タイトルを検証するこ
とは非能率的である。本発明の好適な実施例によれば、
マルチメディア・タイトルは、それに含まれたデータの
一部分をチェックすることによって検証される。
【0025】本発明の好適な実施例によれば、マルチメ
ディア・タイトルを検証するためにデータのランダム・
サンプリングが使用される。サンプルされるべきデータ
・ロケーションが検証の或る瞬間から次の瞬間まで一定
であった場合、そのマルチメディア・タイトルの小さな
部分だけしかチェックされないであろう。そのような状
況では、違法タイトルの方がより容易に構成可能であ
る。しかし、サンプルするためのデータ・ロケーション
を無作為に選択することによって、模擬マルチメディア
・タイトルの可能性は大きく減少する。
【0026】更に、本発明はデータ・コンテキスト・サ
ンプリングを利用する。検証されるべきデータのキー部
分を識別するためにマルチメディア・タイトルそのもの
の論理的ストラクチャが使用される場合、マルチメディ
ア・タイトルの検証における大きな改良が得られる。例
えば、好ましいチェック方法は、マルチメディア・タイ
トルの各ファイルに対する内容テーブルにおけるチェッ
ク部分のデータ又はすべてのデータに基づくものが可能
である。マルチメディア・タイトルは1つ又は複数個の
ファイルより成り、各ファイルはそれ自身の内容テーブ
ルを含む。多くの場合、マルチメディア・タイトルは唯
一のそのようなファイルを含む。ファイルがオープンさ
れる時、内容テーブルは読み取られるべき第1の項目で
ある。
【0027】図4を参照すると、本発明の好適な実施例
に従って、内容テーブルにおけるエントリが示される。
内容テーブル400はエントリ402−408を含む。
各エントリはオブジェクト識別子、属性識別子、タイ
プ、及びロケーション(オフセット及び長さ)を含む。
その結果、特定のエントリは、ディスク上の特定のオフ
セットにおいて、この多くのバイトに対して、このタイ
プのこのIDを持ったオブジェクトに属するこのIDを
持った特性が位置指定されることを表す。内容テーブル
がオブジェクトID及び属性IDに基づいてデータを参
照するため、参照されたデータ・オブジェクトはオブジ
ェクト−属性(OP)の対によって参照される云われ、
そのデータ・オブジェクトはOPデータと呼ばれる。勿
論、内容テーブルに対する他のフォーマット及び仕様が
本発明の好適な実施例に従って利用可能である。内容テ
ーブルは、それのフォーマット、ストラクチャ、及びセ
マンティックスに関係なく、本発明の好適な実施例に従
ってマルチメディア・タイトルを効果的に検証するため
に使用可能である。一般に、マルチメディア・タイトル
では、内容テーブルは、マルチメディア・タイトルの他
の部分のほとんどによる固有の従属性を持った比較的短
い且つ容易に識別可能な情報片の一例である。内容テー
ブルは記号テーブル、連係マップ等の形式をとることが
できるが、厳密に指定され、高度に構造化される。
【0028】更に、マルチメディア・タイトルに対し
て、一般に、最初の幾つかの表示されたスクリーンはタ
イトルの名称及びそれのバージョンを含む。その結果、
これらのスクリーンを保護することが望ましくなる。従
って、チェック方法は、ユーザに表示されるデータのう
ちの最初の数スクリーンをチェックすることを含むこと
があるので、例えば、「深淵の悪魔(Demons f
or the Deep)」という名称の模擬タイトル
は、それがピギー・バックしているタイトルの名称、例
えば、「砂漠のウオーゲーム(Desert Warg
ames)」の表示を強いられるであろう。
【0029】本発明は、内容テーブルの一部分又はすべ
て、及び各マルチメディア・ファイルに対するタイトル
の名称及びそれのバージョンを含む最初の幾つかの表示
されたスクリーンを検証することによって、及びマルチ
メディア・タイトルにおけるデータ・オブジェクトのサ
ブセットを検証することによってマルチメディア・タイ
トルを検証するための方法及びシステムを提供する。本
発明の好適な実施例によれば、これらデータ・オブジェ
クトは無作為に選択される。しかし、当業者には明らか
なように、データ・オブジェクトは、本発明の精神から
離れることなく、無作為でない好適な方法を使用して選
択可能である。
【0030】図5を参照すると、シグナチャ・トークン
の図が、本発明の好適な実施例に従って示される。シグ
ナチャ・トークン500はシグナチャ・トークン生成モ
ジュール(図5には図示されていない)によって構成さ
れる。シグナチャ・トークンはそのシグナチャ・トーク
ン生成モジュールにサービス・リクエストを繰り返し行
うことによってステップ状に構成される。シグナチャ・
トークン500は、一旦作成されると、それを生成した
マルチメディア・タイトルに組み込まれる。シグナチャ
・トークンはRTEにおけるシグナチャ・トークン検証
モジュールによって検証される。その検証では、シグナ
チャ・トークンはシグナチャ・トークン検証モジュール
に対して反復してサービス・リクエスト行うことによっ
てステップ状に検証される。
【0031】シグナチャ・トークン500はヘッダ50
2及び選択されそして検証されるマルチメディア・タイ
トルにおけるデータ又はデータ・オブジェクトに対応し
たデータ・レコード1乃至nを含む。シグナチャ・トー
クンにおけるそれらデータ・レコード1乃至nは、直接
的な対応はあるけれども、マルチメディア・タイトルに
おけるデータ・オブジェクトとは異なる。更に、シグナ
チャ・トークン500は、そのシグナチャ・トークンに
おけるヘッダ及び一連のデータ・レコード1乃至nを検
証するために使用されるディジタル・シグナチャ504
を含む。シグナチャ・トークン500における各データ
・レコードはロケーション特殊情報L及び暗号ハッシュ
値Hを含む。ロケーション特殊情報は、そのデータにお
ける検証されるべきロケーションをシグナチャ・トーク
ン検証モジュールに知らせる。暗号ハッシュ値はLによ
って参照される特殊マルチメディア・データに基づいて
計算される。
【0032】本発明の好適な実施例によれば、その暗号
ハッシュ値は、片方向関数を使用して計算される。片方
向関数は、Xの暗号ハッシュ値がYの暗号ハッシュ値に
等しくなるように2つの異なる入力X及びYを見つける
ことが計算上は実行不可能である関数である。用語「計
算上は実行不可能」は、非常に多数の計算上のステップ
が必要とされるために、実用的な意味では遂行すること
ができない数学的手順を記述するために従来技術で使用
されたものでる。しかし、その用語は、それ以上の数の
計算が計算上実行不可能であると云われ且つそれ以下の
数の計算が計算上実行可能であると云われる規定の数の
計算がない場合には正確ではない。一般に、必要な計算
を行うためのコスト又は時間が妥当な人的手段を超えて
いる場合、例えば、一緒にリンクした世界におけるコン
ピュータが数十億年においても問題を解くことができな
い場合、計算上実行不可能であると云われる。
【0033】ロケーション特殊情報は、シグナチャ・ト
ークン50に記憶されたロケーション特殊情報とアルゴ
リズム的に得られたロケーション特殊情報との組合せで
あってもよい。マルチメディア・タイトルにおける内容
テーブルは、シグナチャ・トークン500から省くこと
ができるロケーション特殊情報の一例である。換言すれ
ば、標準的な開始ポイントを与えられた内容テーブルを
いつでも見つけることができる簡単な手順が存在するた
め、シグナチャ・トークン500は内容テーブルのアド
レス又はロケーションを記憶する必要がない。
【0034】シグナチャ・トークン500におけるデー
タ・レコード1乃至nの一部分は、マルチメディア・タ
イトルにおける1つ又は複数個のデータ・オブジェクト
内のデータを参照するであろう。シグナチャ・トークン
生成モジュールは、検証されるべきマルチメディア・タ
イトルから種々なデータ・オブジェクトのサブセットを
選択するためのプロセスを使用する。このプロセスにつ
いては、更に詳しく後述することにする。厳密に云え
ば、このプロセスにおける無作為性は必要ないけれど
も、このプロセスにおいて無作為性の要素を持つことは
望ましいことである。一旦マルチメディア・タイトルに
おけるデータ・オブジェクトのサブセットが識別されて
しまうと、各データ・オブジェクトにおけるサブポーシ
ョンが選択される。これらデータのサブポーションのロ
ケーション(L1,L2,・・・,Ln)は、各サブポ
ーションと関連したデータを読み取るためにシグナチャ
・トークン生成モジュールによって使用される。
【0035】そこで、シグナチャ・トークン生成モジュ
ールは暗号サブシステムにサービス・リクエストを発生
して、ロケーション情報Liによって参照されるデータ
の各サブポーションにおける暗号ハッシュ値Hiを生成
させる。そこで、暗号ハッシュ値Hiはロケーション情
報Liと共にデータ・レコードiに記憶される。ヘッダ
及びデータ・レコード1乃至nが作成されてしまうと、
シグナチャ・トークン生成モジュールは暗号サブシステ
ムにサービス・リクエストを発生して、ディジタル・シ
グナチャ以外のそのシグナチャ・トークンに関する暗号
ハッシュ値を計算させる。そこで、シグナチャ・トーク
ン生成モジュールは暗号サブシステムにサービス・リク
エストを発生し、そのシグナチャ・トークン及びマルチ
メディア会社の専用キーに基づいて計算された暗号ハッ
シュ値を使用して、そのシグナチャ・トークンに関する
ディジタル・シグナチャを計算させる。しかる後、その
ディジタル・シグナチャはシグナチャ・トークンに記憶
される。
【0036】シグナチャ・トークン検証モジュールはシ
グナチャ・トークンにおけるデータ・レコードのサブセ
ットを無作為に選択しそして検証し、従って、本発明の
好適な実施例に従って検証プロセスに無作為の要素を導
入する。一旦データ・レコードのサブセットが無作為に
選択されてしまうと、シグナチャ・トークン検証モジュ
ールは各データ・レコードをレコード毎に処理するであ
ろう。データ・レコードにおけるロケーション特殊情報
Lは参照データをCD−ROMから読み出すために使用
される。そこで、サービス・リクエストが暗号サブシス
テムに発生され、その参照データに基づいて暗号ハッシ
ュ値Hを生成させる。そこで、この計算された暗号ハッ
シュ値は、データ・レコードに記憶された基準暗号ハッ
シュ値Hと等しいかどうかを得るために比較される。そ
れら暗号ハッシュ値が等しい場合、プロセスは継続す
る。それらが等しくない場合、検証が失敗したという表
示を行うと共に、処理は停止される。
【0037】各データ・レコードが処理された後、シグ
ナチャ・トークン検証モジュールは暗号サブシステムに
サービス・リクエストを発生して、それが以前にそのマ
ルチメディア・タイトルから読み出したシグナチャ・ト
ークン(ディジタル・シグナチャ以外の)を暗号的にハ
ッシュさせる。そこで、サービス・リクエストが暗号サ
ブシステムに発生されてディジタル・シグナチャを検証
させる。本発明の好適な実施例によれば、ディジタル・
シグナチャは、シグナチャ・トークン検証モジュールに
記憶されたマルチメディア会社の公開キーでもって暗号
化される。ディジタル・シグナチャの暗号化された値
は、有効なシグナチャ・トークンに基づいて前に計算さ
れた基準のハッシュ値を含んでいる。そこで、その計算
されたハッシュ値は、そのように得られた基準のハッシ
ュ値と等しいかどうかを得る比較される。それらハッシ
ュ値が等しい場合、シグナチャ・トークン及びディジタ
ル・シグナチャは有効である。それらが等しくない場
合、シグナチャ・トークン及びディジタル・シグナチャ
は有効ではない。当業者には明らかなように、本発明
は、本発明の精神から離れることなく、任意のディジタ
ル・シグナチャ方法を使用して実施可能である。
【0038】ディジタル・シグナチャも、暗号ハッシュ
値のツリーのルート、例えば、「ディジタル・シグナチ
ャを与える方法」と題した米国特許第4,309,569
号に開示された暗号ハッシュ値のバイナリ・ツリーのル
ートを表す暗号ハッシュ値に基づいて計算することがで
きる。n−1個の追加の中間的暗号ハッシュ値をシグナ
チャ・トークンに記憶することによって、そのシグナチ
ャ・トークンにおけるn個の可能なデータ・オブジェク
トのうちのm個が、n個のハッシュ・オペレーションの
代わりに「m*log2n」個のハッシュ・オペレーショ
ンを使用して検証可能である。これは、小さいnに対し
ては更に有利である。暗号ハッシュ値のツリーを計算す
る方法は、前記米国特許第4,309,569号及び「会
計記録を更新するための暗号化方法」と題した米国特許
第5,231,668号に開示されている。
【0039】図6を参照すると、シグナチャ・トークン
生成モジュール及びシグナチャ・トークン検証モジュー
ルのブロック図が本発明の好適な実施例に従って示され
る。シグナチャ・トークン生成モジュール600は生成
プログラム602及び暗号サブシステム604を含む。
シグナチャ・トークン検証モジュール606は検証プロ
グラム608及び暗号サブシステム610を含む。シグ
ナチャ・トークン生成モジュール600における生成プ
ログラム602は、マルチメディア・タイトルにおける
検証されるべきデータ(無作為に選択されたデータ・オ
ブジェクトにおけるデータを含む)を選択する。生成プ
ログラム602はマルチメディア・タイトルからデータ
を読み取り、反復したサービス・リクエストを暗号サブ
システム604に発生することによってそのデータを処
理する。データを処理するためのこれら反復したサービ
ス・リクエストはシグナチャ・トークンを形成するため
に使用される。同様に、シグナチャ・トークン検証モジ
ュール606における検証プログラム608は、シグナ
チャ・トークン生成モジュール600によって生成され
たシグナチャ・トークンにおけるデータ・レコードのサ
ブセットを無作為に選択する(その後の処理及び検証の
ため)。このデータはCD−ROMから読み取られ、シ
グナチャ・トークンを検証するための反復したサービス
・リクエストを発生することによって処理される。
【0040】暗号サブシステム604は生成プログラム
602に次のような暗号サービスを提供する。即ち、 (1)乱数発生器を初期化する。 (2)乱数を発生する。 (3)ハッシュ値を発生する。 (4)ディジタル・シグナチャを生成する。 (5)ディジタル・シグナチャを検証する。 一旦シグナチャ・トークンが生成されると、そのシグナ
チャ・トークンが暗号サブシステム610及びシグナチ
ャ・トークン検証モジュール606によって正しく処理
されことを補償するために生成プログラム602がその
シグナチャ・トークンを検証するディジタル・シグナチ
ャ検証機能が与えられる。そのような検証機能は、シグ
ナチャ・トークンを組み込まれたマルチメディア・タイ
トルの作成において高い整合性のプロセスを与える。シ
グナチャ・トークン検証モジュール606における暗号
サブシステム610は、次のようなサービスを提供する
ことによって検証プログラム608をサポートする。即
ち、 (1)乱数発生器を初期化する。 (2)乱数を発生する。 (3)ハッシュ値を発生する。 (4)ディジタル・シグナチャを検証する。 乱数発生器は、検証されるべきシグナチャ・トークンに
おけるデータ・レコードを無作為に選択するために使用
される。乱数を発生するための、ハッシュ値を発生する
ための、及びディジタル・シグナチャを生成及び検証す
るためのアルゴリズム及び手順は従来技術においてよく
知られている。
【0041】乱数発生機能は、米国の連邦情報処理標準
(FIPS)186の付則3において指定されたような
米国規格協会(ANSI)標準 X9.17「金融協会キ
ー管理(卸売り)」の付則Cにおいて与えられた擬似乱
整数発生器を使用して実施可能である。
【0042】乱数発生器初期化機能は、機密のシード値
を乱数発生器において発生させる機能、又は別の方法で
それを乱数発生器への入力として供給させる機能であ
る。乱数発生器を初期化するための簡単な方法は、ワー
クステーション・キーボード及びディスプレイを介して
乱数発生器初期化機能と対話する人への一連のリクエス
トと組み合わせてフリー・ホイーリング・カウンタを使
用することである。ユーザは、キーボードにおいて文字
を入力するように繰り返しプロンプトされる。乱数発生
機能が制御を得る時、それはフリー・ホイール・カウン
タを読み取り、そしてこの値はアキュムレータに記憶さ
れた値と結合される。最終的なアキュムレータ値は機密
のシード値と見なされる。人の応答時間のわずかな相異
のために、フリー・ホイール・カウンタの値は予測でき
ないものであり、従って、その結果生じるシード値は無
作為なものとなろう。
【0043】ハッシュ発生機能は、「公開片方向暗号化
機能に基づく修正検出コードを使用したデータ承認」と
題した米国特許第4,908,861号に開示されたMD
C−2又はMDC−4アルゴリズムを含む幾つかのアル
ゴリズムのうちの1つを使用して、又はFIPS180
「安全ハッシュ標準」におけるハッシュ・アルゴリズム
を使用して実施可能である。
【0044】ディジタル・シグナチャ生成機能及びディ
ジタル・シグナチャ検証機能は、ISO標準9796
「メッセージ回復を行うディジタル・シグナチャ方法」
を使用するRSA公開キー・アルゴリズムによって、又
はFIPS186「ディジタル・シグナチャ標準」にお
けるシグナチャ生成及びシグナチャ検証アルゴリズムを
使用することによって実施可能である。
【0045】図示の実施例は非対称アルゴリズムである
公開キー・アルゴリズムを使用するけれども、ディジタ
ル・シグナチャは、データ暗号化標準(DES)のよう
な対称アルゴリズムに基づくものでよい。
【0046】図7を参照すると、シグナチャ・トークン
生成モジュールにおいてシグナチャ・トークンを生成す
るためのプロセスのフローチャートが本発明の好適な実
施例に従って示される。そのプロセスは、シグナチャ・
トークンを持たないマルチメディア・タイトルを受け取
ることによって開始する(ステップ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)。
【0047】内容テーブルを使用して、プロセスはその
マルチメディア・タイトルに含まれる中間的なオブジェ
クト−属性の対の数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つを無作為に選択する。
【0048】そこで、プロセスはその選択されたオブジ
ェクト−属性の対によって参照されるデータ又はデータ
・オブジェクトに基づいて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個の異なるオブジェクト−属性の対が処理されてし
まうまで継続する。
【0049】X=Rである時、プロセスは、ヘッダ、n
個のデータ・レコード、及びディジタル・シグナチャよ
り成る図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にそれぞれ等しい。
【0050】更に、シグナチャ・トークンは、本発明の
好適な実施例に従って、ディジタル・シグナチャに対す
るスペースも含む。ISO標準9796に基づくRSA
ディジタル・シグナチャは、一般に、512ビットから
2048ビットまでの記憶スペースを必要とする。FI
PS186に基づくDSSディジタル・シグナチャは3
20ビットの記憶スペースを必要とする。ステップ72
2において、シグナチャ・トークンのディジタル・シグ
ナチャ部分は、その時、初期化されていない。しかる
後、プロセスは、マルチメディア会社の専用キーでもっ
てそのシグナチャ・トークンに対するディジタル・シグ
ナチャを計算する(ステップ724)。更に詳しく云え
ば、128ビットMDCは、ヘッダ及びn個のデータ・
レコードより成るそのシグナチャ・トークンの部分に基
づいて計算される。この計算は、前記米国特許第4,9
08,861号に開示されたプロセスを使用して行うこ
とが可能である。
【0051】しかる後、本発明の好適な実施例によれ
ば、マルチメディア会社の専用キーを使用して、ディジ
タル・シグナチャがMDC値に基づいて計算される。デ
ィジタル・シグナチャは、ISO標準9796に従って
RSA専用キーでもって、又はFIPS186に従って
DSA専用キーでもって計算可能である。当業者には明
らかなように、ディジタル・シグナチャを計算するため
には、種々の長さの専用キーが使用可能であり、本発明
の好適な実施例によれば、種々の長さのディジタル・シ
グナチャがそのシグナチャ・トークンに記憶可能であ
る。しかる後、ディジタル・シグナチャはそのシグナチ
ャ・トークンに記憶され、プロセスは終了する。
【0052】図8を参照すると、検証プログラムにおい
てマルチメディア・タイトルを検証するためのプロセス
のフローチャートが本発明の好適な実施例に従って示さ
れる。このプロセスは図6のシグナチャ・トークン検証
モジュール606において使用される。プロセスは、組
み込まれたシグナチャ・トークンを持ったマルチメディ
ア・タイトルを受け取ることによって開始する(ステッ
プ800)。そこで、プロセスは変数Rを固定する(ス
テップ802)。但し、このフローチャートにおけるR
は無作為に承認されるべきデータ・レコードの数であ
る。例えば、Rは3、4、5等のような任意の値でよい
が、一般には、必要な処理時間を最小にするために小さ
い値になるであろう。しかる後、プロセスはその組み込
まれたシグナチャ・トークンを読み出す(ステップ80
4)。本発明の好適な実施例によれば、内容テーブル
は、その組み込まれたシグナチャ・トークンを見つけて
読み出すために使用可能である。
【0053】そこで、プロセスは内容テーブル或いはそ
のマルチメディア・タイトルに含まれた等価情報を見つ
けて読み出す(ステップ806)。この情報は「D1」
と呼ばれる。そこで、プロセスは内容テーブルにおける
128ビットMDC、即ち、D1を計算する(ステップ
808)。この計算は種々の方法で遂行可能である。例
えば、前記米国特許第4,908,861号に開示された
プロセスが使用可能である。そこで、プロセスは、その
シグナチャ・トークンに記憶された基準のMDCに対し
て、内容テーブルに基づいて計算されたMDCを検証す
る(ステップ810)。ステップ808において計算さ
れた128ビットMDCがそのシグナチャ・トークンの
第1データ・レコードにおけるH1と比較される。そこ
で、プロセスは、それら2つの値が等しいかどうかを決
定する(ステップ812)。MDCがH1に等しくない
場合、プロセスは、そのタイトルが無効であることを表
示する(ステップ814)。本発明の好適な実施例によ
れば、シグナチャ・トークン検証モジュールによってそ
のように検出された無効マルチメディア・タイトルはイ
ンディケータ又は表示をセットさせるが、処理を停止し
ない。しかし、本発明は、無効条件が検出されると直ち
に処理が停止されるという方法を使用して実施すること
も可能である。
【0054】しかし、MDCがH1に等しい場合、プロ
セスは、そのマルチメディア・タイトルにおけるユーザ
に表示される第1ロゴ・スクリーンを見つけて読み出す
(ステップ816)。内容テーブルは、このロゴ・スク
リーンを見つけるために使用可能である。ロゴ・スクリ
ーンはマルチメディア・タイトルの名称を含み、この情
報は「D2」と呼ばれる。次に、そのロゴ・スクリーン
を構成するデータに基づいてMDCが計算される(ステ
ップ818)。本発明の好適な実施例によれば、128
ビットMDCが計算される。そこで、プロセスは、シグ
ナチャ・トークンに記憶されたMDCに対して、ロゴ・
スクリーンに基づいて計算されたMDCを検証する(ス
テップ820)。ステップ818において計算された1
28ビットMDCが、そのシグナチャ・トークンの第2
データ・レコードにおけるH2と比較される。そこで、
プロセスは、それら2つの値が等しいかどうかを決定す
る(ステップ822)。MDCがH2に等しくない場
合、プロセスは、そのタイトルが無効であることを表示
する(ステップ824)。そこで、プロセスはY=1に
セットする(ステップ826)。
【0055】プロセスは、MDCがH2に等しい場合に
もY=1にセットする(ステップ826)。そこで、プ
ロセスは、そのシグナチャ・トークンにおけるn−2個
の残りのデータ・レコードの1つを無作為に選択し、読
み出す(ステップ828)。そのデータ・レコードは、
データ・レコード3乃至データ・レコードnから選択さ
れる。各データ・レコードは、そのマルチメディア・タ
イトルにおける単一のオブジェクト−属性の対に対する
データのすべて又は一部分と関連付けられ、それを参照
する。そこで、プロセスは、その選択されたデータ・レ
コードによって指示されたオブジェクト−属性の対と関
連したデータOP1を読み出す(ステップ830)。そ
のデータ・レコードにおけるデータ・ロケーション情報
は、そのマルチメディア・タイトルにおける基準のオブ
ジェクト−属性の対と関連したデータOP1を見つけて
読み出すために使用される。
【0056】次に、プロセスはその選択されたデータO
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)。
【0057】しかる後、プロセスは、シグナチャ・トー
クン検証モジュールにおいて一定値として記憶されたマ
ルチメディア会社の公開キーをアクセスする(ステップ
842)。そこで、プロセスは、その公開キーを使用し
てそのシグナチャを検証する(ステップ844)。ヘッ
ダ及びn個のデータ・レコードより成るそのシグナチャ
・トークンの部分に基づいて128ビットMDCが計算
される。RSAディジタル・シグナチャが使用される場
合、RSA公開キーを利用すると共にISO標準979
6で規定されたプロセスを使用して、元の128ビット
・ハッシュ値HがRSAディジタル・シグナチャから取
り出される。しかる後、ヘッダ及びn個のデータ・レコ
ードを含むシグナチャ・トークンに基づいて計算された
128ビットMDCがその128ビット・ハッシュ値H
と比較される。これらのMDCが等しい場合、そのマル
チメディア・タイトルは有効なものとして受け付けられ
る。それらが等しくない場合、プロセスは、そのタイト
ルが無効であることを表す。FIPS186に基づくデ
ィジタル・シグナチャが使用される場合、そのシグナチ
ャは、RSAディジタル・シグナチャを検証するために
使用されたものとは異なるFIPS186において略述
されたステップを実行することによって検証される。
【0058】そこで、プロセスはそのタイトルを受け付
けるか、又はタイトル無効状態を処理する(ステップ8
46)。そのタイトルが無効であるとして表された場
合、本発明の好適な実施例によれば、幾つかのアクショ
ンをとることが可能である。例えば、そのマルチメディ
ア・タイトルを拒否することが可能であり、或いは受容
することが可能であるが、ユーザに最初からやり直すこ
とを要求することも可能である。勿論、内容テーブル、
ロゴ・スクリーン、及び無作為に選択されたデータ・レ
コードが本発明の好適な実施例に従ってチェックされる
前に、シグナチャを検証することも可能である。その実
施方法によっては、内容テーブル又はロゴ・スクリーン
以外の他の論理的ストラクチャをチェックしてもよい
し、或いはしなくてもよい。
【0059】図3乃至図8に示されたプロセスは図1及
び図2に示されたデータ処理システムにおいて、当業者
により実施可能である。又、本発明のプロセスは、デー
タ処理システムによって読み取り可能なプログラム記憶
装置において実施可能である。その場合、プログラム記
憶装置は、本発明のプロセスに対して、データ処理シス
テムが実行可能な命令コーディングをエンコードする。
プログラム記憶装置は、例えば、ハード・ディスク・ド
ライブ、フロッピ・ディスク、光ディスク、ROM、及
びEPROMを含む種々の形式をとり得るが、それに限
定されるものでもない。それは当業者には知られている
ことである。プログラム記憶装置に記憶されたプロセス
は、データ処理システムと共にプログラム記憶装置を使
用することによって活動化されるまで休止状態にある。
例えば、本発明に対するデータ処理システムが実行し得
る命令を含むハード・ディスク・ドライブはデータ処理
システムに接続可能であり、本発明に対するデータ処理
システムが実行し得る命令を含むフロッピ・ディスクは
そのデータ処理システムにおけるフロッピ・ディスク・
ドライブに挿入可能であり、或いは本発明に対するデー
タ処理システムが実行し得る命令を含むROMはI/O
スロットに接続されたカード又はアダプタを介してその
データ処理システムに接続可能である。
【0060】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0061】(1)データ処理システムにおいて許可さ
れてないプログラムを検出するための方法にして、検証
すべきプログラムから選択されたデータに基いて、前記
プログラムを検証するための検証ストラクチャを作成す
るステップと、前記検証ストラクチャを前記プログラム
に組み込むステップと、前記プログラムの開始に応答し
て、前記プログラムが許可されてないプログラムである
かどうかを前記ストラクチャを使用して決定するステッ
プと、を含む方法。 (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)に記載
の記憶装置。
【図面の簡単な説明】
【図1】本発明を使用し得るパーソナル・コンピュータ
の形式のデータ処理システムを示す。
【図2】本発明によるパーソナル・コンピュータ・シス
テムの種々なコンポーネントを示すパーソナル・コンピ
ュータ・システムのブロック図である。
【図3】本発明の好適な実施例に従って示されたCD−
ROMにおけるマルチメディア・タイトルのための作成
及び配分プロセスのブロック図である。
【図4】本発明の好適な実施例による内容テーブルにお
けるエントリの表示である。
【図5】本発明の好適な実施例に従って示されたシグナ
チャ・トークン生成モジュールのブロック図である。
【図6】本発明の好適な実施例に従って示されたシグナ
チャ・トークン検証モジュールのブロック図である。
【図7】本発明の好適な実施例に従って示されたシグナ
チャ・トークン生成モジュールにおいてシグナチャ・ト
ークンを生成するためのプロセスのフローチャートであ
る。
【図8】本発明の好適な実施例に従って示されたシグナ
チャ・トークン検証モジュールにおいてマルチメディア
・タイトルを検証するためのプロセスのフローチャート
である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ヒューゴ・マリオ・クロウジック アメリカ合衆国ニューヨーク州、ブロンク ス、ネザーランド・アベニュー 2600、ア パートメント・501 (72)発明者 シャイ・カットン アメリカ合衆国ニュージャージ州、ロック アウェイ、レノックス・ストリート 41 (72)発明者 アン・ヴァン・リ アメリカ合衆国カリフォルニア州、サニー ベイル、イースト・ホームステッド・ロー ド 783 (72)発明者 ステファン・マイケル・マティアス アメリカ合衆国ニューヨーク州、プウキー プシー、ヴァルキル・ドライブ 25 (72)発明者 マーセル・モーデチャイ・ヤン アメリカ合衆国ニューヨーク州、ニューヨ ーク、ダブリュ・ワンハンドレット・トゥ ウェルフス・ストリート 605、アパート メント・4−エイチ

Claims (32)

    【特許請求の範囲】
  1. 【請求項1】データ処理システムにおいて許可されてな
    いプログラムを検出するための方法にして、 検証すべきプログラムから選択されたデータに基いて、
    前記プログラムを検証するための検証ストラクチャを作
    成するステップと、 前記検証ストラクチャを前記プログラムに組み込むステ
    ップと、 前記プログラムの開始に応答して、前記プログラムが許
    可されてないプログラムであるかどうかを前記ストラク
    チャを使用して決定するステップと、 を含む方法。
  2. 【請求項2】前記プログラムが許可されてないものであ
    るという決定に応答して前記プログラムの実行を防ぐス
    テップを含むことを特徴とする請求項1に記載の方法。
  3. 【請求項3】前記プログラムが許可されてないものであ
    るという決定に応答して前記プログラムの限定された実
    行を許すステップを含むことを特徴とする請求項1に記
    載の方法。
  4. 【請求項4】前記決定するステップは、 前記検証ストラクチャの一部分を無作為に選択するステ
    ップと、 前記プログラムが許可されてないプログラムであるかど
    うかを、前記検証ストラクチャの前記無作為に選択され
    た部分を使用して決定するステップとを含むことを特徴
    とする請求項1に記載の方法。
  5. 【請求項5】前記作成するステップは前記プログラムか
    ら無作為にデータを選択するステップを含むことを特徴
    とする請求項1に記載の方法。
  6. 【請求項6】前記作成するステップは、 前記プログラムから複数個のセクションを無作為に選択
    するステップと、 前記プログラムにおける前記複数個の無作為に選択され
    たセクションから、各選択されたセクションに対する暗
    号ハッシュ値を作成するステップと、 前記暗号ハッシュ値及び各選択されたセクションに対す
    るロケーション値を、データ・レコードとして検証スト
    ラクチャに記憶するステップとを含み、前記ロケーショ
    ン値によって表されたロケーションは前記プログラムに
    おける前記選択されたセクションのロケーションである
    ことを特徴とする請求項5に記載の方法。
  7. 【請求項7】前記作成するステップは、 前記検証ストラクチャに対するシグナチャを作成するス
    テップと、 前記シグナチャを前記検証ストラクチャと関連付けるス
    テップと、 を含み、前記シグナチャは前記検証ストラクチャに基づ
    いて計算された暗号ハッシュ値であることを特徴とする
    請求項6に記載の方法。
  8. 【請求項8】前記関連付けるステップは前記シグナチャ
    を前記検証ストラクチャに配置するステップを含むこと
    を特徴とする請求項7に記載の方法。
  9. 【請求項9】前記決定するステップは、 前記検証ストラクチャから多数のデータ・レコードを無
    作為に選択するステップと、 前記無作為に選択されたデータ・レコードの各々に対し
    て、前記無作為に選択されたデータ・レコードに対する
    ロケーション値によって表されたロケーションにおける
    セクションに基づいて暗号ハッシュ値を作成するステッ
    プと、 前記作成された暗号ハッシュ値と前記無作為に選択され
    たデータ・レコードにおけるハッシュ値とを比較するス
    テップとを含むことを特徴とする請求項1に記載の方
    法。
  10. 【請求項10】前記決定するステップは、 前記検証ストラクチャに対する暗号ハッシュ値を作成す
    るステップと、 前記作成された暗号ハッシュ値を前記検証ストラクチャ
    に対するシグナチャと比較するステップと、 を含むことを特徴とする請求項9に記載の方法。
  11. 【請求項11】許可されてないプログラムを検出するた
    めのデータ処理システムにして、 検証すべきプログラムから選択されたデータに基いて、
    前記プログラムを検証するための検証ストラクチャを作
    成するための作成手段と、 前記検証ストラクチャを前記プログラムに組み込むため
    の組込み手段と、 前記プログラムの開始に応答して、前記プログラムが許
    可されてないプログラムであるかどうかを決定するため
    の決定手段と、 を含むデータ処理システム。
  12. 【請求項12】前記プログラムが許可されてないもので
    あるという決定に応答して前記プログラムの実行を防ぐ
    ための手段を含むことを特徴とする請求項11に記載の
    データ処理システム。
  13. 【請求項13】前記プログラムが許可されてないもので
    あるという決定に応答して前記プログラムの限定された
    実行を許すための手段を含むことを特徴とする請求項1
    1に記載のデータ処理システム。
  14. 【請求項14】前記決定手段は、 前記検証ストラクチャの一部分を無作為に選択するため
    の無作為選択手段と、 前記プログラムが許可されてないプログラムであるかど
    うかを、前記検証ストラクチャの前記無作為に選択され
    た部分を使用して決定するための決定手段とを含むこと
    を特徴とする請求項11に記載のデータ処理システム。
  15. 【請求項15】前記作成手段は、 前記プログラムから複数個のセクションを無作為に選択
    するための第2無作為選択手段と、 前記プログラムにおける前記複数個の無作為に選択され
    たセクションから、各選択されたセクションに対する暗
    号ハッシュ値を作成するための第2作成手段と、 前記暗号ハッシュ値及び各選択されたセクションに対す
    るロケーション値を、データ・レコードとして検証スト
    ラクチャに記憶するための記憶手段とを含み、前記ロケ
    ーション値によって表されたロケーションは前記プログ
    ラムにおける前記選択されたセクションのロケーション
    であることを特徴とする請求項11に記載のデータ処理
    システム。
  16. 【請求項16】前記作成手段は、 前記検証ストラクチャに対するシグナチャを作成するた
    めの第3作成手段と、 前記シグナチャを前記検証ストラクチャと関連付けるた
    めの関連付け手段と、 を含み、 前記シグナチャは前記暗号ハッシュ値に基づいて計算さ
    れることを特徴とする請求項14に記載のデータ処理シ
    ステム。
  17. 【請求項17】前記関連付け手段は前記シグナチャを前
    記検証ストラクチャに配置するための配置手段を含むこ
    とを特徴とする請求項16に記載のデータ処理システ
    ム。
  18. 【請求項18】前記決定手段は、 前記検証ストラクチャから多数のデータ・レコードを無
    作為に選択するための無作為選択手段と、 前記無作為に選択されたデータ・レコードの各々に対し
    て、前記無作為に選択されたデータ・レコードに対する
    ロケーション値によって表されたロケーションにおける
    セクションに基づいて暗号ハッシュ値を作成するための
    作成手段と、 前記作成された暗号ハッシュ値と前記無作為に選択され
    たデータ・レコードにおけるハッシュ値とを比較するた
    めの比較手段とを含むことを特徴とする請求項16に記
    載のデータ処理システム。
  19. 【請求項19】前記決定手段は、 前記検証ストラクチャに対する暗号ハッシュ値を作成す
    るための作成手段と、 前記作成された暗号ハッシュ値を前記シグナチャでもっ
    て検証するための検証手段と、 を含むことを特徴とする請求項18に記載のデータ処理
    システム。
  20. 【請求項20】プログラムの検証において使用するため
    の検証ストラクチャを作成するためのデータ処理システ
    ムにおける方法にして、 前記プログラムから複数個のセクションを選択するステ
    ップと、 前記プログラムにおける前記複数個の選択されたセクシ
    ョンから、各選択されたセクションに対する暗号ハッシ
    ュ値を作成するステップと、 前記暗号ハッシュ値及び各選択されたセクションに対す
    るロケーション値を、データ・レコードとして検証スト
    ラクチャに記憶するステップとを含み、前記ロケーショ
    ン値によって表されたロケーションは前記プログラムに
    おける前記選択されたセクションのロケーションである
    ことを特徴とする方法。
  21. 【請求項21】前記選択するステップは前記プログラム
    から複数個のセクションを無作為に選択するステップを
    含むことを特徴とする請求項20に記載の方法。
  22. 【請求項22】前記作成するステップは、 前記検証ストラクチャに対するシグナチャを作成するス
    テップと、 前記シグナチャを前記検証ストラクチャと関連付けるス
    テップとを含むことを特徴とする請求項20に記載の方
    法。
  23. 【請求項23】前記関連付けるステップは前記シグナチ
    ャを前記検証ストラクチャに配置するステップ含むこと
    を特徴とする請求項22に記載の方法。
  24. 【請求項24】プログラムの検証において使用するため
    の検証ストラクチャを作成するためのデータ処理システ
    ムにして、 前記プログラムから複数個のセクションを無作為に選択
    するための無作為選択手段と、 前記プログラムにおける前記複数個の無作為に選択され
    たセクションから、各選択されたセクションに対する暗
    号ハッシュ値を作成するための作成手段と、 前記暗号ハッシュ値及び各選択されたセクションに対す
    るロケーション値を、データ・レコードとして検証スト
    ラクチャに記憶するための記憶手段とを含み、前記ロケ
    ーション値によって表されたロケーションは前記プログ
    ラムにおける前記選択されたセクションのロケーション
    であることを特徴とするデータ処理システム。
  25. 【請求項25】前記作成手段は、 前記検証ストラクチャに対するシグナチャを作成するた
    めの第2作成手段と、 前記シグナチャを前記検証ストラクチャと関連付けるた
    めの関連付け手段と、 を含むことを特徴とする請求項24に記載のデータ処理
    システム。
  26. 【請求項26】前記関連付け手段は前記シグナチャを前
    記検証ストラクチャに配置するための配置手段を含むこ
    とを特徴とする請求項25に記載のデータ処理システ
    ム。
  27. 【請求項27】データ処理システムにおいてプログラム
    を検証するための方法にして、前記プログラムは複数個
    のデータ・レコードを有する検証ストラクチャを含み、
    前記複数個のデータ・レコードにおける各データ・レコ
    ードは前記プログラムのセクションに対する暗号ハッシ
    ュ値及びロケーション値を含み、前記ロケーション値は
    前記セクションのロケーションを表すものにおいて、 前記検証ストラクチャから多数のデータ・レコードを無
    作為に選択するステップと、 前記無作為に選択されたデータ・レコードの各々に対し
    て、前記無作為に選択されたデータ・レコードに対する
    ロケーション値によって表されたロケーションにおける
    セクションに基づいて暗号ハッシュ値を作成するステッ
    プと、 前記作成された暗号ハッシュ値と前記無作為に選択され
    たデータ・レコードにおけるハッシュ値とを比較するス
    テップとを含む方法。
  28. 【請求項28】プログラムを検証するためのデータ処理
    システムにして、前記プログラムは複数個のデータ・レ
    コードを有する検証ストラクチャを含み、前記複数個の
    データ・レコードにおける各データ・レコードは前記プ
    ログラムのセクションに対する暗号ハッシュ値及びロケ
    ーション値を含み、前記ロケーション値は前記セクショ
    ンのロケーションを表すものにおいて、 前記検証ストラクチャから多数のデータ・レコードを無
    作為に選択するための無作為選択手段と、 前記無作為に選択されたデータ・レコードの各々に対し
    て、前記無作為に選択されたデータ・レコードに対する
    ロケーション値によって表されたロケーションにおける
    セクションに基づいて暗号ハッシュ値を作成するための
    作成手段と、 前記作成された暗号ハッシュ値と前記無作為に選択され
    たデータ・レコードにおけるハッシュ値とを比較するた
    めの比較手段と、 を含むデータ処理システム。
  29. 【請求項29】データ処理システムによって読み取り可
    能であり、データ処理システムが実行可能な命令をエン
    コードする記憶装置にして、 前記プログラムから複数個のセクションを無作為に選択
    するための選択手段と、 前記プログラムにおける前記複数個の選択されたセクシ
    ョンから、各選択されたセクションに対する暗号ハッシ
    ュ値を作成するための作成手段と、 前記暗号ハッシュ値及び各選択されたセクションに対す
    るロケーション値を、データ・レコードとして検証スト
    ラクチャに記憶するための記憶手段とを含み、 前記ロケーション値によって表されたロケーションは前
    記プログラムにおける前記選択されたセクションのロケ
    ーションであること、及び前記記憶装置がデータ処理シ
    ステムに接続され且つデータ処理システムによってアク
    セスされる時、前記各手段が活動化されることを特徴と
    する記憶装置。
  30. 【請求項30】前記記憶装置はハードディスク・ドライ
    ブ、データ処理装置による使用のためのROMまたはフ
    ロッピ・ディスクであることを特徴とする請求項29に
    記載の記憶装置。
  31. 【請求項31】データ処理システムによって読み取り可
    能であり、データ処理システムが実行可能なプログラム
    検証のための命令をエンコードする記憶装置にして、前
    記プログラムは複数個のデータ・レコードを有する検証
    ストラクチャを含み、前記複数個のデータ・レコードに
    おける各データ・レコードは前記プログラムのセクショ
    ンに対する暗号ハッシュ値及びロケーション値を含み、
    前記ロケーション値は前記セクションのロケーションを
    表すものにおいて、 無作為に選択されたデータ・レコードの各々に対して、
    前記無作為に選択されたデータ・レコードに対するロケ
    ーション値によって表されたロケーションにおけるセク
    ションに基づいて暗号ハッシュ値を作成するための作成
    手段と、 前記作成された暗号ハッシュ値と前記無作為に選択され
    たデータ・レコードにおけるハッシュ値とを比較するた
    めの比較手段と、 を含み、前記記憶手段がデータ処理システムに接続され
    且つデータ処理システムによってアクセスされる時、前
    記各手段が活動化されることを特徴とする記憶装置。
  32. 【請求項32】前記記憶装置はハードディスク・ドライ
    ブ、データ処理装置による使用のためのROMまたはフ
    ロッピ・ディスクであることを特徴とする請求項31に
    記載の記憶装置。
JP31696695A 1994-12-13 1995-12-05 マルチメディア・タイトルの保護頒布のための方法及びシステム Expired - Lifetime JP3579154B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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