JP2996331B2 - ソフトウェア配布システム及びソフトウェア配布方法 - Google Patents

ソフトウェア配布システム及びソフトウェア配布方法

Info

Publication number
JP2996331B2
JP2996331B2 JP5210510A JP21051093A JP2996331B2 JP 2996331 B2 JP2996331 B2 JP 2996331B2 JP 5210510 A JP5210510 A JP 5210510A JP 21051093 A JP21051093 A JP 21051093A JP 2996331 B2 JP2996331 B2 JP 2996331B2
Authority
JP
Japan
Prior art keywords
key
customer
software
file
encrypted
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.)
Expired - Lifetime
Application number
JP5210510A
Other languages
English (en)
Other versions
JPH0793148A (ja
Inventor
バーナード・ジェー・ハルター
アルフォンソ・エム・ブラッコ
ドナルド・ビー・ジョンソン
アン・ブイ・リ
ステファン・エム・マトヤス
ロテイスロウ・プリマック
ジェームス・デイー・ランドール
ジョン・デイー・ウイルキンス
Original Assignee
インターナショナル・ビジネス・マシーンズ・コーポレイション
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 インターナショナル・ビジネス・マシーンズ・コーポレイション filed Critical インターナショナル・ビジネス・マシーンズ・コーポレイション
Publication of JPH0793148A publication Critical patent/JPH0793148A/ja
Application granted granted Critical
Publication of JP2996331B2 publication Critical patent/JP2996331B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/605Copy protection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、安全保護(セキュリテ
イ)を強化するように暗号技術を利用した、ソフトウェ
ア配布システム及び方法に係る。
【0002】
【従来の技術】本発明に関係する従来の技術として以下
の米国特許及び米国特許出願があり、本明細書ではこれ
らを援用する。 米国特許第4386234号 米国特許第4238854号 米国特許第4203166号 米国特許第4757534号 米国特許第4850017号 米国特許第4941176号 米国特許第4918728号 米国特許第4908861号 米国特許出願第07/755709号(91年9月6日
出願)。
【0003】ディジタル形式のデータ処理システムは、
その基本的な構成要素として、プロセッサ、メモリ及び
I/O装置を備えている。メモリ装置はアドレス可能な
プログラム及びデータを保持し、プロセッサはメモリの
記憶情報をフェッチ及び処理し、I/O装置はプロセッ
サの制御下でメモリと通信してその記憶情報を授受す
る。I/O装置には、マルチメディアの適用業務を支援
しうる種々の型のものがあって、ビデオ表示装置、ライ
ト・ペン、音声合成装置、マイクロフォン、キーボー
ド、マウス、プリンタ、通信アダプタ等が含まれる。
【0004】マルチメディア・プログラムやデータを作
成ないし販売することは、計算機用機器の販売会社やマ
ルチメディア・プログラム及びデータの販売会社にとっ
て、営業上の重要な機会を意味する。マルチメディアの
適用業務には、マルチメディア・ハンドラ・プログラム
を含むものがあり、このプログラムは1以上のマルチメ
ディア・オブジェクトの表示を支援する。かかるマルチ
メディア・オブジェクトの各々は、それぞれ別個のデー
タ・ファイルである場合がある。多種多様なマルチメデ
ィア・オブジェクト(データ・ファイル)は、文字及び
非文字オブジェクトの両方を含む単一のマルチメディア
表示へ連係することができる。非文字オブジェクトに
は、イメージ、グラフィックス、定様式データ、フォン
ト、音声、ビデオ及び動画のようなオブジェクトが含ま
れる。マルチメディア・ハンドラ・プログラムは、任意
のマルチメディア・オブジェクトを動的に更新すること
ができるように、かかるオブジェクトに対する一般化さ
れた連係を与える。かかる動的な更新能力を利用する
と、マルチメディア表示の編集や、新しいバージョンの
作成が簡単になる。この一般化された連係の概念は、前
掲の米国特許出願に記述されている。
【0005】マルチメディア・プログラムやデータ(以
下「ソフトウェア」と総称)の配布は、種々の方法で行
うことができる。例えば、かかるソフトウェアをハード
ウェアと抱き合わせにして販売したり、デイスケットや
テープのような物理的な媒体に記録してこれを独立のパ
ッケージとして販売したり、或いは中央のソフトウェア
配布用プロセッサから電話線、TVケーブル、衛星又は
無線放送を介して各ユーザのプロセッサへ配布すること
もできる。最近、ソフトウェア販売会社は、コンパクト
・デイスク式読取専用メモリ(CD−ROM)又は光学
式読取専用メモリ(OROM)のような高密度の媒体を
使用して、ソフトウェアを配布することに興味を示すよ
うになってきた。CD−ROMは600メガバイト程度
の記憶容量を有するから、これを使用すれば数百本もの
ソフトウェア・ファイルを記録することができる。かか
る配布形態が特に魅力的であるのは、配布量が増えるに
つれて配布コストが著しく減少するためである。
【0006】しかし、ソフトウェアをオープン・チャン
ネル(例えば、電話線、TVケーブル、衛星又は無線放
送)を介して配布したり、高密度の媒体(例えば、CD
−ROM又はOROM)に記録して配布するような場合
には、これを発注もしなかったし、見る必要もなかった
人達に多数のソフトウェアが誤って配布されてしまうこ
とがあるから、これらの人達がかかるソフトウェアを簡
単にアクセスしてその使用許諾契約の条項や著作権上の
制限に違反してしまい、この結果、ソフトウェアの作成
者、出版社及び販売会社に不測の損害を及ぼす、という
問題がある。即ち、このような配布形態に特有の問題
は、ソフトウェアの「承認されていない」複製や使用と
いった、通常の配布形態に伴う問題とは異なっている。
これは本発明が解決すべき問題ではないが、従来技術の
ソフトウェア保護方法と本発明との相違点を明白にする
ために、敢えて本明細書で言及した。
【0007】従来技術では、通信ネットワークを介して
伝送されるデータの安全保護及びプライバシーを改良す
るために、ディジタル情報を暗号化する多くのシステム
が知られている。かかるデータは、通信セッション中に
2台の暗号化プロセッサ間で伝送されるメッセージであ
る場合もあるし、送信用プロセッサから受信用プロセッ
サへ伝送されるデータ・ファイルに含まれるデータであ
る場合もある。かかるデータ・ファイルは、実行可能な
プログラムのほかに、純データを含むことがある。ファ
イル暗号化システムの例は、米国特許第4386234
号、同第4238854号及び同第4203166号に
記述されている。これらのシステムでは、暗号化された
ファイルを一度でも非暗号化(暗号解読)すると、この
ファイルに保持されているプログラム又はデータを、通
常のアクセス制御方法を使用して保護しなければならな
い。しかし、かかるアクセス制御方法は、非暗号化した
プログラムやデータを、複数のユーザが共有することを
禁止していない。
【0008】プログラムの「承認されていない」複製や
使用に関する問題は、従来技術において既に検討されて
いる。例えば、米国特許第4120030号に開示され
た計算機ソフトウェアの安全保護システムでは、1組の
計算機命令を命令メモリへロードする前に、これらの命
令のデータ・アドレス部分を予定の暗号化キーに従って
スクランブルするようにしている。プログラムに含まれ
るデータを別個のデータ・メモリへロードする際、この
データは、(元の)非スクランブル化されたプログラム
によって指定されたデータ・メモリのアドレスに置かれ
る。このため、暗号化キーに従って動作する非スクラン
ブル化回路は、データ・メモリのアドレス入力線と直列
に結合される。
【0009】米国特許第4168396号に開示された
マイクロプロセッサは、(承認されていない計算機内の
実行を阻止するように)作成時点で暗号化されたプログ
ラムを実行する。米国特許第4278837号に開示さ
れた暗号化マイクロプロセッサ・チップは、固有の暗号
化キー又はテーブルを使用してプログラムを非暗号化す
ることにより、或るチップで実行可能なプログラムを他
のマイクロプロセッサでは実行できないようにしてい
る。米国特許第4433207号に開示された集積回路
デコーダは、暗号形式で複数のユーザに配布した許諾プ
ログラムを、マイクロ計算機のユーザがアクセスできる
ようにしている。「許可コード」と呼ばれる暗号化され
たキーをこのデコーダ・チップへ与えると、このデコー
ダ・チップは許諾プログラムを非暗号化することができ
るようになる。
【0010】米国特許第4446519号に開示された
計算機プログラム用の安全保護方法は、プログラム・パ
ッケージの各購入者に電子式の安全保護装置を提供し、
これを購入者の計算機に接続させるようにしている。こ
のプログラムが問い合わせ信号を安全保護装置へ送る
と、この安全保護装置は、問い合わせ信号を処理して応
答信号をプログラムに伝送する。このプログラムが予定
の安全保護基準に従ってこの応答信号を認識しない限
り、このプログラムを実行することはできない。
【0011】米国特許第4757534号に開示された
暗号方法は、購入済みプログラムの複製及び共有を防止
するためのものであって、暗号化されたプログラムを指
定計算機だけで実行することを許容するか、又は指定さ
れたスマート・カードをユーザが所有する場合にのみ、
このプログラムを任意の計算機で実行することを許容す
るようにしている。ソフトウェア販売会社が販売する各
プログラムは、固有のファイル・キーを使用して暗号化
された後、デイスケットに書き込まれる。かかるデイス
ケットを購入したユーザは、最初にソフトウェア販売会
社からパスワードを入手しなければならない。このパス
ワードを入手すると、適正に実現され且つ初期設定され
た暗号機能を持つ指定計算機で、前記の暗号化されたプ
ログラムを回復することができる。即ち、暗号機能はこ
のパスワードを利用して当該プログラムのファイル・キ
ーを非暗号化し、かくて前記の暗号化されたプログラム
が適正な計算機へロードされるとき、このプログラム又
はその一部を自動的に非暗号化して保護されたメモリへ
書き込む。このプログラム又はその一部はこのメモリだ
けから実行可能であり、実行以外の目的のためにはアク
セスすることができない。
【0012】
【発明が解決しようとする課題】本明細書で引用した従
来技術から明らかなように、プログラムの「承認されて
いない」複製や使用といった伝統的な問題は、プログラ
ムを安全保護用の暗号プロセッサ内部で非暗号化した
後、その一部又は全部を更に複製することを困難にして
いた。かかる複製を行うには、非暗号化チップ自体でこ
のプログラムを実行するか、或いは非暗号化したプログ
ラム又はその指定部分を、安全保護用の暗号プロセッサ
から保護されたメモリへ転送すればよい。しかし、オー
プン・チャンネル又は高密度の媒体を使用したソフトウ
ェアの配布に関連する諸問題は、これまで看過されるか
又は無視されていた。
【0013】従って、本発明の目的は、オープン・チャ
ンネル又は高密度の媒体を使用してソフトウェア・ファ
イルを配布する、改良されたソフトウェア配布システム
及び方法を提供することにある。
【0014】本発明の他の目的は、オープン・チャンネ
ル又は高密度の媒体を使用して配布されるソフトウェア
・ファイルへのアクセスを制御することにより、承認さ
れたユーザが自ら購入した許諾ファイルをアクセス(即
ち、非暗号化及び回復)できるようにする一方、承認さ
れていないユーザが自ら購入しなかった非許諾ファイル
をアクセスできないようにすることにある。
【0015】本発明の他の目的は、(顧客キー及びデー
タ・キーから成る)暗号化キーを使用して、暗号化され
たソフトウェア・ファイルへのアクセスを制御すること
にある。
【0016】本発明の他の目的は、一の顧客キーを特定
の顧客又はユーザへ関連付け且つこれを追跡(トレー
ス)する手段を提供することにより、複数のユーザが顧
客キーを共有したり、これらのキーを計算機の電子掲示
板に記入したりするのを防止することにある。
【0017】本発明の他の目的は、各顧客に対し固有の
顧客番号を割り当てるとともに、この顧客番号を顧客キ
ーの一部とすることにより、顧客と顧客キーとの間の対
応関係を追跡するための手段を提供することにある。
【0018】本発明の他の目的は、ソフトウェア・ファ
イルを回復する能力を備えたユーザ・プロセッサを除
き、暗号化されたファイルを非暗号化することができな
いようにする手段を提供することにある。即ち、暗号化
されたファイル及びこのファイルを非暗号化するのに必
要なキー(顧客キー及び暗号化されたデータ・キー)が
与えられただけでは、このファイルを非暗号化するのに
不十分である。
【0019】本発明の他の目的は、著作権で保護された
機能を使用する、ソフトウェア・ファイルの回復手順を
提供することにある。この機能は、(一般に入手可能な
文献には全く記述されていないという意味で)この回復
手順に特有の新規なものであり、(この機能を直接的に
複製することを除けばその文書化は困難であるという意
味で)複雑であり、しかも(この機能を複製してこれを
計算機の電子掲示板に記入すれば、そのサイズのために
目立つという意味で)適度なサイズを有するものであ
る。
【0020】本発明の他の目的は、暗号化キー自体に内
蔵された確認(authentication)情報に基づいて、これ
らの暗号化キーの自己確認を行うための手段を提供する
ことにある。
【0021】本発明の他の目的は、中央にあるソフトウ
ェア配布センタからのソフトウェアの配布を支援した
り、ソフトウェア販売会社と接触してソフトウェアの購
入者に与えるべき生成済みのキーを受け取るような第三
者的な小売業者からのソフトウェアの配布を支援するた
めの、キー管理方式を提供することにある。
【0022】
【課題を解決するための手段】多くの従来技術とは異な
り、本発明は、ソフトウェアの「承認されていない」複
製や使用という、伝統的な問題を解決せんとするもので
はない。即ち、受け取ったソフトウェアをユーザ・プロ
セッサで非暗号化した後の、当該ソフトウェアの「承認
されていない」複製の問題は、通常の使用許諾契約及び
著作権上の問題であって、本発明の解決課題ではないの
である。
【0023】そうではなくて、本発明は、オープン・チ
ャンネル又は高密度の媒体を使用して配布されるソフト
ウェアを保護するための暗号手段を意図する。ユーザが
購入したソフトウェア・ファイルについて、本発明は、
これらのファイルをユーザ・プロセッサにおいて非暗号
化し且つ回復するための簡易な手段を与える。本発明の
基礎をなすのは、ソフトウェア配布プロセッサによって
ユーザへ発行される暗号化キーを使用することである。
これらの暗号化キーがユーザ・プロセッサ内で初期設定
されると、ファイルの回復を行うことができる。本発明
によれば、ユーザは、少なくとも、顧客に固有のキー
(これを「顧客キー」と呼ぶ)を所有するとともに、暗
号化されたファイルを非暗号化するのに必要な正しい暗
号化されたデータ・キーを所有しない限り、安全保護を
回避して暗号化されたファイルを非暗号化することは困
難である。
【0024】各ソフトウェア・ファイルの暗号化は、秘
密のデータ・キー(KD)を使用して行われる。もし、
複数のファイル間に(例えば、これらのファイルを1単
位としてグループ化し、販売するというような)或る種
の論理的な関連があれば、同じデータ・キーを使用して
これらのファイルを暗号化することができる。暗号化さ
れたファイルは、オープン・チャンネル又は高密度の媒
体を使用して配布される。当業者によれば、本発明はこ
のような配布形態に限定されるものではなく、かかる配
布形態に関係する一の問題を解決せんとするものである
ことが明らかであろう。
【0025】ソフトウェアを購入する顧客(ユーザ)の
各々は、固有の顧客キーを与えられる。この顧客キーに
含まれる顧客に固有の顧客番号は、本発明の要旨に関係
のない手段を使用してこの顧客に割り当てられる。本発
明によれば、一の顧客に対し、複数の顧客番号及び複数
の顧客キーを与えることができる。例えば、大企業の顧
客は多数の顧客番号を有することがあるから、ソフトウ
ェアの発注も多数のグループ又は事業所から個別に行う
ことができる。
【0026】顧客がソフトウェア配布センタからソフト
ウェア・ファイルを購入する場合、この顧客はその顧客
番号を提示する。顧客キーを生成するために使用される
1組の変数は、割り当てられた顧客番号と、カウンタ
(ゼロへ適当に設定される)と、ソフトウェア配布セン
タにのみ知られている秘密のキー生成用キー(KGK)
とから成る。著作権で保護されている特別の「機能
(f)手段」は、可変顧客キー生成手段とも呼ばれ、こ
の顧客キーを使用して可変顧客キー(KC' )を生成す
る。この顧客が購入したファイルに関連するデータ・キ
ーは、この可変顧客キーを使用して暗号化される。顧客
キー及び暗号化されたデータ・キーは、例えばソフトウ
ェア配布プロセッサからユーザ・プロセッサへ電子的に
伝送したり、デイスケットに書き込んで顧客へ郵送した
り、又は電話を介して口頭で伝えたりして、顧客へ提供
される。ユーザ・プロセッサでは、これらのキー及び暗
号化されたファイルが初期設定されて、ファイル回復プ
ログラムに利用可能となる。ファイル回復プログラム
は、これらのファイルを非暗号化して回復するためのも
のである。顧客が追加のファイルを購入する場合、この
顧客は、暗号化されたファイルを回復しうるように1以
上の暗号化されたデータ・キーを受け取る。顧客キーは
以前のものと同じであるので、顧客キーが提供される場
合もあるし、提供されない場合もある。本発明のシステ
ムは以前に入力された顧客キーを回復可能であり、従っ
てユーザがこの顧客キーを再入力することは不要とな
る。もちろん、ユーザが望むなら、この顧客キーを再入
力しても構わない。
【0027】独立の小売業者からソフトウェア・ファイ
ルを購入する場合、顧客は、前以てこの小売業者に対し
発行されていた生成済みの顧客キーを受け取る。この顧
客キーは、ソフトウェア配布センタ(例えば、IBM社
のソフトウェア配布センタ)から小売業者に事前に供給
されていたものである。例えば、200本の「OS/
2」について使用許諾契約を申込んだ小売業者は、20
0枚のCD−ROMと収縮包装した200個の使用許諾
パケットを受け取るのが普通である。各使用許諾パケッ
トには、顧客キーを印刷した1枚の紙面を含めることが
できる。各小売業者に与えられる顧客キーを生成するに
は、1組の変数を使用する。これらの変数には、この小
売業者に顧客が提示する割り当て済みの顧客番号と、こ
の小売業者に関連する増分用(インクレメント用)のカ
ウンタと、秘密のキー生成用キーがある。一の小売業者
のために顧客キーを生成する場合、カウンタは各使用許
諾を発行する度に増分されるから、この小売業者は20
0種類もの顧客キーを受け取ることがある。この場合、
ソフトウェア配布センタは、各小売業者に対し発行され
る顧客キーの数だけを追跡する必要があるに過ぎない。
顧客キーの前にある、この小売業者の顧客番号は、生成
済みの顧客キーの各々について同じになるはずである。
【0028】
【実施例】以下では、ユーザがソフトウェア販売会社か
らソフトウェアを直接的に購入する場合、又はユーザが
独立の小売業者からソフトウェアを購入する場合の、ソ
フトウェアの配布形態について説明する(なお、参考の
ために、以下の説明と図面で使用した略語を本明細書の
末尾に一括して掲げておく)。
【0029】図1には、例えばIBM社のようなソフト
ウェア販売会社に属するソフトウェア配布プロセッサ1
0から、ユーザに属するユーザ・プロセッサ20へ、ソ
フトウェアを配布する形態が示されている。購入済み
の、使用許諾を受けたソフトウェアは、1以上の暗号化
されたファイル及び1組の暗号化キーとして配布する。
これらの暗号化キーは、暗号化されたファイルを、ユー
ザ・プロセッサ20において非暗号化し且つこれを回復
することを可能にするものである。
【0030】図2には、ソフトウェア販売会社に属する
ソフトウェア配布プロセッサ10から第三者の小売業者
15へ、次いでそこからユーザに属するユーザ・プロセ
ッサ20へ、ソフトウェアを配布する形態が示されてい
る。この場合の小売業者は、ソフトウェア販売会社から
ソフトウェアを卸値で購入して、これをユーザへ小売値
で再販売することを意図している。この小売業者はソフ
トウェア販売会社の顧客であり、一方、ユーザはこの小
売業者の顧客である。
【0031】図3には、ソフトウェア販売会社(例え
ば、IBM社)に属するソフトウェア配布プロセッサ1
0から、ユーザに属するユーザ・プロセッサ20へ、ソ
フトウェア・ファイルを配布する形態が一層詳細に示さ
れている。以下の説明を簡潔にするため、配布するソフ
トウェア・ファイルを「ファイル」と称し、「暗号化さ
れたファイル」を「暗号化ファイル」と称することにす
る。
【0032】ソフトウェア配布プロセッサ10は、デー
タ暗号化及び他のキー管理サービスを遂行する暗号サブ
システム100と、キーを生成するキー生成手段150
と、ファイルを暗号化する暗号化ファイル生成手段16
0と、暗号化ファイルをパッケージ化して伝送する暗号
化ファイル配布手段170と、複数のキーをパッケージ
化して伝送するキー配布手段180を含んでいる。キー
生成手段150は、暗号サブシステム100を呼び出し
て、キー管理サービスを実行する。暗号化ファイル生成
手段160は、暗号サブシステム100を呼び出して、
ファイルを暗号化する。ユーザ・プロセッサ20は、デ
ータの非暗号化及び他のキー管理サービスを遂行する
(暗号サブシステム100と同様の)暗号サブシステム
200と、複数のキーの妥当性検査を行い且つこれを非
暗号化するキー回復手段250と、暗号化ファイルを非
暗号化するファイル回復手段260を含んでいる。キー
回復手段250は、暗号サブシステム200を呼び出し
て、キー管理サービスを実行する。ファイル回復手段2
60は、暗号サブシステム200を呼び出して、ファイ
ルを非暗号化する。暗号化ファイルは、ソフトウェア配
布プロセッサ10から、暗号化ファイル配布媒体30を
介して、ユーザ・プロセッサ20へ配布する。同様に、
暗号化キーは、ソフトウェア配布プロセッサ10から、
キー配布媒体31を介して、ユーザ・プロセッサ10へ
配布する。
【0033】図3のソフトウェア配布プロセッサ10内
で一のファイルを暗号化するには、先ず、キー生成手段
150から一のデータ・キーを要求する。一のデータ・
キーを生成するには、暗号サブシステム100が提供す
る暗号サービスを呼び出す。これに応答して、キー生成
手段150が一のデータ・キーを生成すると、そのコピ
ーを暗号化ファイル生成手段160へ与えるとともに、
キー配布手段180による後の使用に備えて、キー生成
手段150内に保管する。次に、暗号化ファイル生成手
段160は、生成済みのデータ・キーを使用して指定フ
ァイルを暗号化し、この暗号化ファイルを暗号化ファイ
ル配布手段170による後の使用に備えて、暗号化ファ
イル生成手段160内に保管する。データの暗号化は、
暗号サブシステム100が提供する暗号サービスを呼び
出して行われる。もし、暗号化ファイル配布媒体30が
CD−ROMのような高密度の媒体であれば、暗号化フ
ァイル配布手段170は、CD−ROMの生産及び配布
方法を含むことになる。例えば、CD−ROMの生産
は、1組のファイルを選択し、暗号化ファイル生成手段
160を使用してこれらのファイルを暗号化し、配布す
べきCD−ROMのコピーを製造する、というステップ
を含むことになる。かかるCD−ROMは、郵便サービ
ス又はこれと同様の宅配便サービスを利用して配布する
ことができ、或いは特定の配布地点へ出荷してそこで顧
客がピック・アップできるようにしてもよい。
【0034】もし、暗号化ファイル配布媒体30がオー
プン・チャンネルであれば、暗号化ファイル配布手段1
70は、前述のようにして生産した暗号化ファイルを、
ソフトウェア販売会社の予定のスケジュールに従って、
オープン・チャンネル(電話線、TVケーブル、衛星又
は無線放送)を介して伝送する。何れの場合でも、暗号
化ファイル配布手段170は、暗号化ファイルを効率的
に且つ適切なタイミングで顧客へ配布しなければならな
い。
【0035】一の顧客が(1以上のファイルから成る)
ソフトウェアを発注した場合、キー生成手段150は、
この顧客が提示する固有の顧客番号を含む情報に基づい
て、この顧客に固有の顧客キーを生成する。顧客キーの
生成は、暗号サブシステム100が提供する暗号サービ
スを呼び出して行われる。キー生成手段150は、生成
済みの顧客キーに基づいて、可変顧客キーを生成する。
次に、この可変顧客キーを使用して、1以上のデータ・
キーを暗号化する。データ・キーの暗号化は、暗号サブ
システム100が提供する暗号サービスを呼び出して行
われる。暗号化されたデータ・キーは、購入済みのファ
イルに関連するデータ・キー、即ちこのファイルを暗号
化するために最初に使用されたデータ・キーである。キ
ー配布手段180は、前述のようにして生成された顧客
キー及び暗号化されたデータ・キーを受け取り、これら
のキーを、キー配布媒体31を介してユーザ・プロセッ
サ20へ伝送する。
【0036】キー配送媒体31は、これらのキーをソフ
トウェア配布プロセッサ10からユーザ・プロセッサ2
0へ電子的に伝送可能な通信チャンネルとするか、これ
らのキーを郵便サービス又はこれと同様の宅配便サービ
スを介して配布可能なデイスケットとするか、或いはこ
れらのキーを口頭で伝達可能な電話接続とすることがで
きる。本発明の実施例では、キーの伝達に自動手段を使
用しているため、ユーザがこれらのキーを紙面に書き留
めたり又はキー・パッドを使用してキーを入力すること
は不要となる。しかし、本発明ではこのような手動的な
キー処理技術を排除していないから、本発明を実施する
ためにかかる技術を必要に応じて利用することもでき
る。
【0037】暗号化ファイル配布媒体30を介して各暗
号化ファイルを伝送する度に、キー配布媒体31を介し
て暗号化された一のデータ・キーを伝送し、また各暗号
化ファイルと一緒に一のファイル識別子を伝送するよう
にしているので、この暗号化されたデータ・キーを、該
当する暗号化ファイルと正しく関連付けることができ
る。ソフトウェアが単一のファイル又は複数のファイル
のどちらから構成されるかに依存して、一のデータ・キ
ーを単一の又は複数の暗号化ファイルと関連付けること
ができる。ここで、ファイル識別子は本発明の重要な要
素ではなく、本発明の実現形態ではファイル識別子を種
々の方法で定義できる、という点に注意すべきである。
【0038】ユーザ・プロセッサ20は、キー及びファ
イルの回復を次のようにして行う。最初に、キー回復手
段250は、キー配布媒体31を介して受け取った顧客
キー及び暗号化されたデータ・キーの各々を確認する。
これらのキーの確認は、暗号サブシステム200が提供
する暗号サービスを呼び出して行われる。ここではキー
の確認が成功するものと仮定するが、もしこの確認に失
敗すれば、キーを廃棄する。回復すべき暗号化ファイル
の各々ごとに、この暗号化ファイルに関連するファイル
識別子を使用して、非暗号化すべき暗号化されたデータ
・キーを識別する。識別済みの暗号化されたデータ・キ
ーを非暗号化するため、キー回復手段250は、キー配
布媒体31を介して受け取った顧客キーに基づき、可変
顧客キーを生成し且つこれを使用する。データ・キーの
非暗号化は、暗号サブシステム200が提供する暗号サ
ービスを呼び出して行われる。このようにして回復した
クリアなデータ・キー(非暗号化されたデータ・キー)
をファイル回復手段260へ与え、そこでこのキーを使
用することにより、ファイル配布媒体30を介して受け
取った暗号化ファイルを非暗号化する。データの非暗号
化は、暗号サブシステム200が提供する暗号サービス
を呼び出して行われる。このようにして回復したファイ
ルを、ユーザ・プロセッサ20へ与える。かくして、こ
のファイル回復プロセスは、各暗号化ファイルの非暗号
化が完了するまで継続する。
【0039】容易に理解しうるように、このファイル回
復プロセスは単一のバッチ動作として行うことができ、
その場合には、ファイル配布媒体30を介して受け取っ
た各暗号化ファイルを非暗号化してユーザ・プロセッサ
20へ1つの単位として与える。逆に、このファイル回
復プロセスを一層動的な態様で行う場合には、一のファ
イルへのアクセスが必要となるときに、このファイルを
回復すればよい。この場合、回復済みのファイルのコピ
ーをクリアな形式(暗号化されていない形式)でユーザ
・プロセッサ20の内部に記憶しておけば、このファイ
ルが後で必要となったとき、このファイルのクリアな記
憶済みコピーをアクセスすることができる。同様に、回
復済みのファイルを一旦使用した後にこれを廃棄するこ
とが可能となるのは、このファイルが後で必要となると
きに、ファイル回復プロセスを再び呼び出す(即ち、デ
ータ・キーを非暗号化し、クリアなデータ・キーを使用
してこのファイルを再び非暗号化する)ようになってい
る場合である。
【0040】図4には、暗号サブシステム100の構成
がブロック形式で示されている。この暗号サブシステム
100に含まれるのは、暗号化及び非暗号化の基本動作
を行うことが可能なデータ暗号化アルゴリズム(DE
A)手段101と、キー生成プロセスで使用する64ビ
ットの乱数を生成する乱数(RN)生成手段102と、
128ビットのマスタ・キー(KM)を記憶するマスタ
・キー記憶装置103と、ソフトウェア配布プロセッサ
10が必要とするデータ暗号化及びキー管理機能を行う
ためのAPI呼び出し可能な1組のAPIサービス手段
120と、APIサービス手段120によって呼び出さ
れ且つAPIサービス手段120間の一貫性を維持する
とともに、その内部的な処理の冗長性を排除する1組の
内部機能手段110である。
【0041】DEA手段101は、データ暗号化アルゴ
リズム(DEA)のコピーを含んでいる。DEAは、6
4ビットの平文を64ビットのキーで暗号化して、64
ビットの暗号文を生成するような、ブロック暗号であ
る。「eK(X)」という表記は、64ビットの平文
(X)を、64ビットのキー(K)を用いて、暗号化す
ることを表す。「e*K(X)」という表記は、64ビ
ットの平文(X)を、128ビットのキー(K)を用い
て、暗号化することを表す。即ち、記号*は、2倍長の
キーで暗号化することを表す。キーを構成する64ビッ
トのうち、56ビットは独立のキー・ビットであり、残
りの8ビット(7、15、23、31、39、47、5
5、63)はパリテイ検査のために使用することができ
る。例えば、ビット7はバイト1が奇数パリテイを有す
るように設定され、ビット15はバイト2が奇数パリテ
イを有するように設定され、以下同様である。
【0042】乱数生成手段102は、真の乱数の生成手
段とすることもできるし、疑似乱数の生成手段とするこ
ともできる。
【0043】マスタ・キー記憶装置103は、固定数の
マスタ・キーを含んでいる。しかし、このマスタ・キー
を、暗号サブシステム100の内部で初期設定されるよ
うな変数とすることも可能であり、その場合には、ケー
ブル接続したキー・パッドを通して手動的に入力するこ
とができる。このようなマスタ・キーの入力方法は、米
国特許第4941176号に開示されている。
【0044】APIサービス手段120に含まれるの
は、クリア・キー生成用キー導入手段121と、データ
・キー生成手段122と、暗号化兼検査手段123と、
クリア顧客キー生成手段124と、データ・キー出力手
段125である。当業者には明らかなように、暗号サブ
システム100が含むことのできる他のAPIサービス
手段には、このサブシステムをその使用前に初期設定す
るような暗号サブシステム初期設定サービス手段と、こ
のサブシステム内で一のマスタ・キーを初期設定又は変
更可能とするマスタ・キー更新サービス手段と、一のデ
ータ・キーを確認するためにユーザ・プロセッサ20が
使用するような非常に高度な整合性(インテグリティ)
を持つ検査値を計算するデータ暗号化検査サービス手段
である。これらのサービス手段は、暗号サブシステム1
00の有用性を強化するけれども、本発明の重要な部分
ではない。
【0045】内部機能手段110に含まれるのは、ハッ
シュ・パスフレーズ(HP)手段111と、データ・キ
ー・エラー検査用ビット設定(SDKECB)手段11
2と、顧客キー生成(GCK)手段113と、派生部生
成(GDP)手段114と、顧客キー・エラー検査用ビ
ット設定(SCKECB)手段115と、可変顧客キー
生成(GVCK)手段116である。
【0046】クリア・キー生成用キー導入手段121
は、ハッシュ・パスフレーズ(HP)手段111を使用
して、1文字〜80文字の入力パスフレーズから、12
8ビットのキー生成用キー(KGK)を生成する。HP
手段111の機能は、以下のステップから成る。
【0047】1. 設定 X1:=パスフレーズ。 2. X1(右側)を十分な空白文字でパッドして、X
1を80文字の長さにする。 3. 暗号ブロック・チェーニング(CBC)モードの
DEA暗号化を用いて、キーX '0101010101
010101' 及び初期チェーニング値X'00000
00000000000' で、キーX1を暗号化する。
CBCモードの暗号化は、米国特許第4918728号
に記述されている。
【0048】4. 設定 KGKL:=X1の左側8バ
イト。 5. 設定 X2:=パスフレーズ。 6. X2(右側)を十分な空白文字でパッドして、X
2を80文字の長さにする。 7. CBCモードのDEA暗号化を用いて、キーX '
1010101010101010' 及び初期チェーニ
ング値X '0000000000000000' で、キ
ーX2を暗号化する。 8. 設定 KGKR:=X2の右側8バイト。 9. 設定 KGK:=KGKL及びKGKRの連結。 10.奇数パリテイ用にKGKを調整する(即ち、ビッ
ト0、1、・・・、127をカウントし、ビット0、
2、・・・、7が奇数個の1ビットを有するようにビッ
ト7を設定し、ビット8、9、・・・、15が奇数個の
1ビットを有するようにビット15を設定し、以下同様
である。)。 11.KGKをキー生成用キーとして出力する。
【0049】前述のようにして生ぜられたキー生成用キ
ー(KGK)を暗号化するには、可変キーを使用する。
一方、この可変キーを生成するには、マスタ・キー(K
M)と、このキー生成用キーに関連する制御ベクトルを
使用する。この点に関連して図5を参照するに、キー生
成用キーの左側64ビット部分(KGKL)を暗号化す
るには、可変キー(KML+KGKLCV)及び(KM
R+KGKLCV)を使用する。但し、(KML+KG
KLCV)は、マスタ・キーの左側64ビット部分(K
ML)とキー生成用キーの左側64ビット部分(KGK
L)に関連する64ビットの制御ベクトル(KGKLC
V)との排他的論理和演算の結果であり、(KMR+K
GKLCV)は、マスタ・キーの右側64ビット部分
(KMR)と前記制御ベクトル(KGKLCV)との排
他的論理和演算の結果である。この暗号化プロセスは、
(KGKL)を(KML+KGKLCV)で暗号化し、
その結果を(KMR+KGKLCV)で非暗号化し、次
いでその結果を(KML+KGKLCV)で暗号化する
ことから成る。
【0050】キー生成用キーの右側64ビット部分(K
GKR)を暗号化するには、前記と同様に、可変キー
(KML+KGKRCV)及び(KMR+KGKRC
V)を使用する。但し、(KML+KGKRCV)は、
マスタ・キーの左側64ビット部分(KML)とキー生
成用キーの右側64ビット部分(KGKR)に関連する
64ビットの制御ベクトル(KGKRCV)との排他的
論理和演算の結果であり、(KMR+KGKRCV)
は、マスタ・キーの右側64ビット部分(KMR)と前
記制御ベクトル(KGKRCV)との排他的論理和演算
の結果である。この暗号化プロセスは、(KGKR)を
(KML+KGKRCV)で暗号化し、その結果を(K
MR+KGKRCV)で非暗号化し、次いでその結果を
(KML+KGKRCV)で暗号化することから成る。
【0051】図6の上段及び中段には、キー生成用キー
の左側64ビット部分(KGKL)及び右側64ビット
部分(KGKR)にそれぞれ関連する64ビットの制御
ベクトル(KGKLCV)及び(KGKRCV)の仕様
が示されている。図4には示されていないが、これらの
制御ベクトルの値は固定数であって、これを暗号サブシ
ステム100内に記憶する。このようにして暗号化され
たキー生成用キー(KGK)を、該当するKGKレコー
ドに記憶し、一の出力として戻す。
【0052】図7には、KGKレコードの形式が示され
ている。このKGKレコードを構成するのは、1バイト
のフラグ(=X '19' )と、15バイトの予約フィー
ルドと、128ビットの暗号化されたキー生成用キー
(KGK)を含む16バイトのキー・フィールドと、K
GKL(即ち、KGKの左側64ビット部分)に関連す
る8バイトの制御ベクトル(KGKLCV)を、KGK
R(即ち、KGKの右側64ビット部分)に関連する8
バイトの制御ベクトル(KGKRCV)と連結したもの
を含む16バイトの制御ベクトル・フィールドと、16
バイトの予約フィールドである。
【0053】図4のデータ・キー生成手段122は、6
4ビットの暗号化されたデータ・キーを生成し、このキ
ーをデータ・キー・レコード(KDレコード)に記憶
し、これを一の出力として戻すものである。64ビット
のデータ・キーを生成するには、RN生成手段102か
ら64ビットの乱数(RN)を要求し、次いでデータ・
キー・エラー検査用ビット設定(SDKECB)手段1
12を使用して、エラー検査用ビットを乱数で設定す
る。SDKECB手段112への入力は64ビットの乱
数(RN)であり、その出力はエラー検査用ビットを設
定された64ビットのデータ・キーである。SDKEC
B手段112の機能は、以下のステップから成る。
【0054】1.設定 K:=RN AND X 'FE
FEFEFEFEFEFEFE'。 2.設定 MAC:=固定キーX '012345678
9ABCDEF' を用いて、Kについて計算した、64
ビットのメッセージ確認コード。この場合のメッセージ
確認コードは、平文Kを、キーX '012345678
9ABCDEF' で暗号化して生成した64ビットの暗
号文である。64ビットのメッセージ確認コードを計算
する手順又はアルゴリズムは、米国特許第491872
8号に記述されている。 3.設定 Z:=MAC AND X'0101010
101010101'。 4.設定 KD:=K XOR Z。 5.KDをデータ・キーとして出力する。
【0055】但し、「AND」という表記は周知のビッ
ト単位の論理積演算を表し、「XOR」という表記は排
他的論理和演算、即ちビット単位のモジュロ2加算を表
す。このようにして生成されたデータ・キーを暗号化す
るには、マスタ・キーとこのデータ・キーに関連する一
の制御ベクトルから生成された一の可変キーを使用す
る。この点に関連して図8を参照するに、データ・キー
(KD)を暗号化するには、可変キーの(KML+KD
CV)及び(KMR+KDCV)を使用する。但し、
(KML+KDCV)は、マスタ・キーの左側64ビッ
ト部分(KML)とこのデータ・キー(KD)に関連す
る64ビットの制御ベクトル(KDCV)との排他的論
理和演算の結果であり、(KMR+KDCV)は、マス
タ・キーの右側64ビット部分(KMR)と前記制御ベ
クトル(KDCV)との排他的論理和演算の結果であ
る。この暗号化プロセスは、データ・キー(KD)を
(KML+KDCV)で暗号化し、その結果を(KMR
+KDCV)で非暗号化し、次いでその結果を(KML
+KDCV)で暗号化することから成る。
【0056】図6の下段には、データ・キー(KD)に
関連する64ビットの制御ベクトル(KDCV)の仕様
が示されている。図9に示されているように、KDレコ
ードを構成するのは、1バイトのフラグ(=X '19'
)と、15バイトの予約フィールドと、64ビットの
暗号化されたデータ・キーを含む16バイトのキー・フ
ィールドと、このデータ・キー(KD)に関連する8バ
イトの制御ベクトル(KDCV)を含む16バイトの制
御ベクトル・フィールドと、16バイトの予約フィール
ドである。
【0057】図4の暗号化兼検査手段123は、入力さ
れたデータ・キー・レコード(KDレコード)に含まれ
るデータ・キーを使用して入力データを暗号化すること
により、「eKD(0、データ)」という形式を持つ暗
号化データを生成する。但し、「0」は初期チェーニン
グ値を表し、「データ」は64ビット・ブロックから成
るデータを表す。データを暗号化するには、暗号ブロッ
ク・チェーニング(CBC)モードのDEA暗号化にお
いて、ゼロの初期チェーニング値(又は初期設定ベクト
ル)を使用する。
【0058】データ・キー(KD)を使用する前に、入
力されたKDレコードからこのデータ・キーを検索して
これを非暗号化しなければならない。暗号化されたデー
タ・キーを非暗号化するには、マスタ・キーとこのデー
タ・キーに関連する制御ベクトルとから生成された、可
変キーを使用する。この非暗号化プロセスは、図8に示
した暗号化プロセスの逆である。即ち、データ・キー
(KD)の暗号化された値を(KML+KDCV)で非
暗号化し、その結果を(KMR+KDCV)で暗号化
し、その結果を(KML+KDCV)で非暗号化してデ
ータ・キー(KD)を回復する。
【0059】入力データを暗号化するプロセスは、
(1)データをKDで暗号化し、(2)暗号化データを
KDで非暗号化し、(3)非暗号化データを元のデータ
と比較して両者の同一性を調べ、(4)両者の比較が成
功する場合にのみ暗号化データを出力として戻す、とい
うステップから成る。データに関するこの種の検査は、
CD−ROM上の暗号化データを非暗号化できない、と
いう不測の事態を減少させるための、予防的措置として
行われるものである。なぜなら、CD−ROMのコピー
を多数生産した後になって、CD−ROM上の暗号化デ
ータを非暗号化できないということが判れば、非常な混
乱を招くだけでなく、経済的損害も大きくなるからであ
る。
【0060】図4のクリア顧客キー生成手段124は、
128ビットのクリアな顧客キーを生成するための入力
として、10桁の10進数で表される顧客番号(CN)
と、32ビットのカウンタ値(CTR)と、KGKレコ
ードに含まれるキー生成用キー(KGK)を受け取る。
クリアな顧客キーを生成するプロセスは、以下のステッ
プから成る。
【0061】1.入力されたKGKレコードからキー生
成用キー(KGK)の暗号化された値を検索し、これを
マスタ・キーで非暗号化する。キー生成用キー(KG
K)の暗号化された値を非暗号化するには、マスタ・キ
ー及びこのキー生成用キー(KGK)に関連する一の制
御ベクトルから生成した一の可変キーを用いる。この非
暗号化プロセスは、図5の暗号化プロセスの逆である。 2.設定 KC:=顧客キー生成(GCK)手段113
により生成した128ビットの値。但し、GCK手段1
13への入力は、10桁の10進数で表した一の顧客番
号と、32ビットのカウンタと、ステップ1で回復した
128ビットのキー生成用キー(KGK)である。 3.KCを顧客キーとして出力する。
【0062】顧客キー生成(GCK)手段113は、1
28ビットの顧客キー(KC)を生成するため、10桁
の10進数で表した一の顧客番号(CN)と、32ビッ
トのカウンタ(CTR)と、128ビットのキー生成用
キー(KGK)を入力として使用する。GCK手段11
3の機能は、以下のステップから成る。
【0063】1.顧客番号の10進桁の各々を4ビット
の「ニブル」(即ち、0=B '0000' 、1=B '0
001' 、2=B '0010' 等)へ変換し、10個の
4ビット・ニブルを連結し、その結果得られる40ビッ
トの値を顧客番号(CN)として記憶する。 2.設定 KCL:=CN、CTR、X 'FF' 及びX
'0000' の連結。但し、CTRは、32ビットの入
力カウンタ値である。 3.設定 KCR:=CN、CTR及びKGKを入力と
して用いる、派生部生成(GDP)手段114によって
生成した64ビットの中間値DP。 4.設定 KC:=顧客キー・エラー検査用ビット設定
(SCKECB)手段115によって生成した128ビ
ットの値。但し、SCKECB手段115への入力は、
(ステップ2で生成した)KCLと(ステップ3で生成
した)KCRとの連結として生成した、128ビット値
のキー・インである。 5.KCを顧客キーとして出力する。
【0064】図4の派生部生成(GDP)手段114
は、64ビットの中間値(DP)を生成するために、4
0ビットの顧客番号(CN)と、32ビットのカウンタ
(CTR)と、128ビットのキー生成用キー(KG
K)を入力として使用する。中間値(DP)は、一の顧
客キーの生成に使用する。GDP手段114の機能は、
以下のステップから成る。
【0065】1.設定 X1:=64ビット・ブロック
を形成するように、右側にゼロ・ビットをパッドしたC
Nの値。 2.設定 X2:=64ビット・ブロックを形成するよ
うに、左側にゼロ・ビットをパッドしたCTRの値。 3.設定 X:=X1及びX2の連結。 4.設定 Y:=CBCモードのDEA暗号化を用い
て、KGKL(即ち、KGKの左側64ビット部分)及
び初期チェーニング値X '0000000000000
000' でXを暗号化することにより生成した、暗号文
の最終64ビット・ブロック。 5.設定 DP:=YをKGKR(即ち、KGKの右側
64ビット部分)で非暗号化し、その結果をKGKL
(即ち、KGKの左側64ビット部分)で暗号化するこ
とにより生成した値。 6.中間値である派生部(DP)を出力する。
【0066】図4の顧客キー・エラー検査用ビット設定
(SCKECB)手段115は、128ビットの顧客キ
ー内に、エラー検査用ビットを設定するものである。S
CKECB手段115への入力は、(クリア顧客キー生
成手段124が生成した一の中間値である)128ビッ
ト値のキー・インであり、その出力は、エラー検査用ビ
ットを設定された128ビットの顧客キー(KC)であ
る。SCKECB手段115の機能は、以下のステップ
から成る。
【0067】1.設定 K:=キー・イン AND X
'FFFFFFFFFFFF0000FEFEFEFE
FEFEFEFE'。 2.設定 MAC:=固定のキーX '01234567
89ABCDEF' を用いて、Kについて計算した64
ビットのメッセージ確認コード。メッセージ確認コード
を計算する手順は、米国特許第4918728号に記述
されている。 3.設定 Y:=MAC AND X'0000000
00000FFFF'。 4.設定 KL':= KL XOR Y。但し、KLは
Kの左側64ビット部分である。 5.設定 MAC':= 電子コード・ブック(ECB)
モードのDEA暗号化を用いて、キーX '012345
6789ABCDEF' でMACを暗号化することによ
り生成した値。電子コード・ブック(ECB)モードの
DEA暗号化は、米国特許第4918728号に記述さ
れている。 6.設定 Z:=KR XOR Z。但し、KRはKの
右側64ビット部分である。 7.設定 KR':= KR XOR Z。但し、KRは
Kの右側64ビット部分である。 8.設定 KC:=KL' 及びKR' の連結。 9.KCを顧客キーとして出力する。
【0068】図4のデータ・キー出力手段125は、デ
ータ・キー(KD)を128ビットの可変顧客キー(K
C')で暗号化したものとして定義される、「e*KC'
(KD)」という形式の暗号化されたデータ・キーを生
成するため、10桁の10進数で表される一の顧客番号
(CN)と、32ビットのカウンタ(CTR)と、64
バイトのKGKレコードに含まれる128ビットのキー
生成用キー(KGK)と、64バイトのKDレコードに
含まれる64ビットのデータ・キー(KD)を入力とし
て使用する。 e*KC'(KD)を生成するプロセス
は、以下のステップから成る。
【0069】1.入力のKGKレコードからKGKの暗
号化された値を検索し、これをマスタ・キーで非暗号化
する。KGKの暗号化された値を非暗号化するには、マ
スタ・キーとKGKに関連する一の制御ベクトルとから
生成した一の可変キーを用いる。この非暗号化プロセス
は、図5の暗号化プロセスと逆である。 2.入力のKDレコードからKDの暗号化された値を検
索し、これをマスタ・キーで非暗号化する。KDの暗号
化された値を非暗号化するためには、マスタ・キーとK
Dに関連する一の制御ベクトルとから生成した一の可変
キーを用いる。この非暗号化プロセスは、図8の暗号化
プロセスと逆である。 3.設定 KC:=顧客キー生成(GCK)手段113
によって生成した128ビットの値。但し、GCK手段
113への入力は、10桁の10進数で表す顧客番号
と、32ビットのカウンタと、ステップ1で回復した1
28ビットのKGKである。 4.設定 KC':= 可変顧客キー生成(GVCK)手
段116によって生成した128ビットの値。但し、G
VCK手段116への入力は、顧客キー(KC)であ
る。 5.設定 e*KC'(KD):= 図10のプロセスを
用いて、KDをKC' で暗号化することにより生成した
値。このプロセスは、KDを(KC' の左側64ビット
である)KCL' で暗号化し、その結果を(KC' の右
側64ビットである)KCR' で非暗号化し、その結果
をKCL' で暗号化することから成る。 6.e*KC'(KD)を暗号化されたデータ・キーと
して出力する。
【0070】図4の可変顧客キー生成(GVCK)手段
116は、128ビットの顧客キー(KC)から、12
8ビットの可変顧客キー(KC' )を生成する。本明細
書において、このGVCK手段116の機能は、「機能
f」とも呼ばれる。最も簡単な場合には、機能fを、K
C':= KCと設定するような一致機能とすることがで
きる。事実、機能fを、1方向の機能又は2方向の機能
を含む、所望の任意の機能とすることができる。後者の
場合には、「KC:=f−inv(KC)」であるよう
な、反転機能「f−inv」が存在する。本発明の実施
例では、機能fは1方向の機能である(暗号化機能では
ない)から、実際問題としてKC' からKCを計算する
ことは困難であると考えられる。こうすることにより、
機能fを含む製品について米国政府の輸出ライセンスを
得る、という潜在的な問題を回避することができる。何
れにしても、機能fの目的は、1方向の機能又は2方向
の機能によって達成することができる。機能fの目的と
は、次の通りである。
【0071】1.本発明によって指定されるようなファ
イルの回復能力を備えたユーザ・プロセッサを除き、暗
号化ファイルを非暗号化できないようにする手段を提供
すること。即ち、暗号化ファイルとこれを非暗号化する
に必要な顧客キー及び暗号化されたデータ・キーを与え
られただけでは、このファイルを非暗号化するには不十
分である。
【0072】2.著作権で保護された「機能f」を使用
するような、ファイル回復手順を提供すること。この
「機能f」は、(一般に入手可能な文献には全く記述さ
れていないという意味で)この回復手順に特有の新規な
ものであり、(この機能を直接的に複製することを除け
ばその文書化は困難であるという意味で)複雑であり、
しかも(この機能を複製してこれを計算機内部に記憶す
れば、これを容易に隠せないという意味で)適度なサイ
ズを有するものである。
【0073】ここで注意すべきは、顧客キー(KC)の
左側64ビット部分を直接的に可変顧客キー(KC' )
の左側64ビット部分とすることができるのに対し、顧
客キー(KC)の右側64ビット部分は可変顧客キー
(KC' )の右側64ビット部分を生成するために使用
される、という点である。顧客キーの左側64ビット部
分はKCLと呼ばれ、顧客キーの右側64ビット部分は
KCRと呼ばれる。可変顧客キーの左側64ビット部分
はKCL' と呼ばれ、可変顧客キーの右側64ビット部
分はKCR' と呼ばれる。
【0074】また、後述する例の全ては、大きなファイ
ル(例えば、8000バイト)を使用していて、そこに
「COPYRIGHT BY IBM」のような著作権表示情報や他のデ
ータを含んでいるものとする。このファイルを構成する
一の目標は、これを圧縮して一層短くした形式で記憶す
ることを困難にする、ということである。これを達成す
る一の方法は、ファイル中の多くのデータをランダムに
するか又はランダムに見えるようにすることである。ラ
ンダムであるように見えるデータは、高度に構造化され
たクリア・ファイル(これ自体も著作権で保護されてい
る)を暗号化することによって生成することができる。
この場合の暗号化キーは秘密であって、このファイルの
作成者にのみ知られているに過ぎない。その目標とする
処は、可変顧客キーを導出するプロセスをシミュレート
してこの大きなファイル又は派生ファイルを使用するこ
とによりシミュレートされた計算を行うという試みを困
難にし、かくて著作権の侵害を知らしめるということに
ある。この大きなファイルを、以下では「著作権ファイ
ル」と呼ぶことにする。
【0075】機能fの最初の例は、著作権ファイル上
で、電子コード・ブック(ECB)モードのDEA暗号
化を使用することである。顧客キー(KC)の右側64
ビット部分は、暗号化キーである。次いで、暗号文を1
方向のプロセスを介して必要なサイズへ減縮して、可変
顧客キーの右側64ビット部分を生成する。これを行う
には、例えば、排他的論理和演算又はモジュロ2**6
4演算を利用することができる。但し、記号「**」は
指数を示す。最終ステップとして、奇数バイト・パリテ
イを有するようにこの値を調整する。他の結合機能も可
能である。この場合、可変顧客キーの左側64ビット部
分を、顧客キーの左側64ビット部分に等しくなるよう
に設定する。
【0076】機能fの第2の例は、著作権ファイル上
で、暗号ブロック・チェーニング(CBC)モードのD
EA暗号化を使用することである。顧客キー(KC)の
右側64ビット部分は、この著作権ファイルを暗号化す
るための暗号化キーとして使用する。暗号文の最後の6
4ビット・ブロックは、奇数バイト・パリテイの調整を
行った後、可変顧客キーの右側64ビット部分として使
用する。この場合、可変顧客キーの左側64ビット部分
を、顧客キーの左側64ビット部分に等しくなるように
設定する。
【0077】機能fの第3の例は、著作権ファイルを、
顧客キー(KC)の値でプレフィクスし、その結果につ
いてMDC−2又はMDC−4を実行することにより、
128ビットのMDCを生成することである。この12
8ビットのMDCは、キー・パリテイの調整を行った
後、可変顧客キーの値となるものである。MDC−2又
はMDC−4の説明については、従来技術の項で掲げた
米国特許第4908861号を参照されたい。
【0078】第4の例では、著作権ファイルを、以下に
示す混合プロセス用のキーとして使用する。
【0079】1.アキュムレータ・レジスタを、顧客キ
ー(KC)の値へ設定する。 2.著作権ファイルのビット・ポインタを、当該ファイ
ルの第1ビットへ設定する。 a.ビット・ポインタに対応する著作権ファイルのビッ
トの値を読み取る。 b.もし、このビットがゼロの値を有するなら、アキュ
ムレータ・レジスタの内容について置換機能1を実行す
る。 c.さもなければ、アキュムレータ・レジスタの内容に
ついて置換機能2を実行する。 d.アキュムレータ・レジスタの内容について順列機能
1を実行する。 e.もし、ビット・ポインタが著作権ファイルの終わり
にあれば、当該ループを出る。この時点のアキュムレー
タ・レジスタの内容は、奇数バイト・パリテイについて
調整を行った後の、可変顧客キーの値である。 f.さもなければ、ビット・ポインタの値を増分し、当
該ループの最上部へ進んで著作権ファイル内にある次の
ビットの値を読み取る。
【0080】置換機能1と置換機能2とはそれぞれ異な
る機能であって、アキュムレータ・レジスタの各バイト
を調べ、それを他の値で置き換えるというものである。
例えば、置換機能1は、次の表1に示すように定義する
ことができる。但し、以下の全ての値は10進数であ
る。
【0081】
【表1】 S1入力 S2出力 0 -15 204 63 211 90 168 161 231 225 103 118 154 206 120 201 235 71 16 -31 88 219 200 128 102 224 125 241 177 160 45 21 78 23 19 183 32 -47 194 113 232 1 130 159 133 234 202 170 137 127 39 22 35 131 48 -63 101 51 176 10 227 3 73 157 209 83 20 179 172 218 248 222 64 -79 62 56 165 163 190 5 32 217 230 104 150 64 42 184 249 171 80 -95 85 121 180 117 220 189 245 75 8 98 188 77 87 17 53 6 96 -111 129 210 247 213 72 187 114 115 55 111 93 156 105 126 44 41 112-127 34 254 186 253 228 110 97 91 82 255 119 238 152 173 136 11 128-143 174 58 7 240 46 199 76 30 233 169 29 26 16 162 149 237 144-159 196 239 176 138 108 74 242 36 182 37 89 221 164 205 94 68 160-175 175 96 250 50 99 140 243 70 100 122 12 66 146 43 109 216 176-191 81 132 236 135 139 79 95 84 166 151 142 148 67 18 65 192 192-207 144 123 92 38 31 158 185 214 27 28 208 59 191 49 244 252 208-223 198 223 141 107 1 95 124 153 229 197 5 86 207 147 226 145 224-239 60 54 61 212 25 134 24 193 52 0 40 33 167 15 13 2 240-255 14 4 80 143 155 47 251 215 106 112 69 246 48 116 203 181 例えば、0、1及び2についての置換は、それぞれ1
4、204及び63である。
【0082】置換機能2は、次の表2に示すように定義
することができる。但し、以下の全ての値は16進数で
ある。
【0083】
【表2】 S2入力 S2出力 0 -15 214 158 73 249 112 104 179 91 229 87 143 207 243 204 34 133 16 -31 56 219 109 157 114 79 139 11 28 82 184 245 240 163 6 254 32 -47 218 135 174 200 30 66 52 59 255 132 75 37 76 41 70 176 48 -63 164 149 5 216 153 23 122 250 113 165 166 42 31 198 247 145 64 -79 120 144 160 173 80 208 63 203 185 236 202 209 210 48 55 152 80 -95 15 12 77 215 239 62 47 58 156 123 39 21 140 134 213 115 96 -111 205 168 253 36 242 0 251 169 226 17 171 196 83 124 106 182 112-127 129 211 96 177 241 2 65 90 189 89 71 192 32 146 45 116 128-143 93 121 170 40 100 35 94 131 137 74 60 43 167 161 223 148 144-159 92 51 69 155 225 111 72 78 88 103 248 191 235 27 107 119 160-175 227 188 238 127 154 197 190 232 237 180 147 101 187 150 19 16 176-191 81 8 130 125 25 194 105 7 38 9 24 95 199 252 228 138 192-207 49 1 141 151 186 221 117 234 33 206 50 224 178 222 233 22 208-223 10 172 175 230 13 84 183 231 26 220 118 54 102 18 195 136 224-239 98 3 212 99 246 44 85 14 162 128 201 126 20 86 110 159 240-255 53 142 61 68 97 64 29 244 4 108 46 57 67 193 181 217 置換機能S1及びS2は、1対1の機能とすることが望
ましい。
【0084】順列機能P1は、入力中の全てのビットを
混合して出力を生成する。例えば、順列機能P1を、次
の表3に示すものとすることができる。
【0085】
【表3】 P1入力 P2出力 0 ..15 11 54 27 22 38 32 61 24 56 44 48 58 55 5 21 34 16 ..31 52 14 20 36 59 63 49 4 6 18 39 35 43 19 50 2 32 ..47 42 53 23 40 9 1 17 33 60 30 3 51 26 12 45 62 48 ..63 29 10 25 41 13 0 31 16 7 46 28 47 8 57 15 37 前記の例では、入力中のビット・オフセット0の値は、
出力中のビット・オフセット11の値である。
【0086】この置換及び順列のプロセスにより、入力
ビットの完全な混合を行うことができる。著作権ファイ
ルはこの計算を決定するために必要であるから、これを
排除したり著しく減縮することはできない。
【0087】本発明の代替的な実施例では、これらの置
換機能は、アキュムレータ・レジスタ中の諸バイトのサ
ブセットを処理することができる。例えば、これらの置
換機能を16バイトのうちの第1バイトのみについて遂
行したり、第1及び第2バイトについてのみ遂行した
り、又は他の任意所望のサブセットについて遂行したり
することができる。これは性能を改善するために行うこ
とができる。
【0088】他の実施例では、顧客キーの右側8バイト
のみをアキュムレータ・レジスタへロードし、この8バ
イトのサブセットについて置換機能を遂行する。この場
合、最終的な結果は可変顧客キーの右側8バイトとして
定義し、可変顧客キーの左側8バイトは顧客キーの左側
8バイトと等しく設定する。
【0089】クリアな顧客キー及び暗号化されたデータ
・キーをユーザのために生成する場合、即ちこれらのキ
ーの配布が図1のプロトコルを介して行われる場合、図
4のクリア顧客キー生成手段124及びデータ・キー出
力手段125への入力として与えられる32ビットのカ
ウンタをゼロに設定する(CTR=0)。クリアな顧客
キー及び暗号化されたデータ・キーを図2に示したプロ
トコルを介して第三者の小売業者のために生成する場
合、32ビットのカウンタを増分用カウンタ(CTR=
1、CTR=2、等)として使用する。
【0090】図11には、暗号サブシステム200が示
されている。暗号サブシステム200に含まれるのは、
暗号化及び非暗号化の基本演算を遂行可能なデータ暗号
化アルゴリズム(DEA)手段201と、非暗号化した
データ・キーを記憶するデータ・キー・キャッシュ20
2と、ユーザ・プロセッサ20が必要とするデータ非暗
号化及びキー管理機能を遂行するAPI呼び出し可能な
1組のAPIサービス手段220と、APIサービス手
段220によって呼び出され且つAPIサービス手段2
20間の一貫性を維持するとともに、その内部的な処理
の冗長性を排除する1組の内部機能手段210である。
APIサービス手段220に含まれるのは、顧客キー検
査手段221と、データ・キー検査手段222と、デー
タ・キー・プリロード手段223と、データ非暗号化手
段224である。当業者には明らかなように、暗号サブ
システム200が含むことのできる他のAPIサービス
手段には、例えばデータの非暗号化に使用する前の一の
データ・キーを検査するための、非常に高度な整合性
(インテグリティ)を持つデータ非暗号化検査(VD
D)サービス手段がある。例えば、このVDDサービス
手段は暗号化された値を非暗号化し、この値を暗号サブ
システム200に記憶した基準値と比較して両者が一致
するか否かを検査することができる。このようなサービ
ス手段は暗号サブシステム200の有用性を強化する
が、本発明の要部には関係ない。
【0091】内部機能手段210に含まれるのは、デー
タ・キー・エラー検査用ビット設定(SDKECB)手
段212と、顧客キー・エラー検査用ビット設定(SC
KECB)手段215と、可変顧客キー生成(GVC
K)手段216である。
【0092】図11の顧客キー検査手段221は、入力
された顧客キー(KC)内のエラー検査用ビットを確認
し、この確認が成功したことを示す値(例えば、戻りコ
ード=0)又は失敗したことを示す値(例えば、戻りコ
ード=8)を戻す。エラー検査用ビットを確認するプロ
セスは、以下のステップから成る。
【0093】1.設定 X:=KC(即ち、KCの第2
のコピーを作る)。 2.設定 Y:=Xを128ビットの入力として用い
る、SCKECB手段215によって生成した128ビ
ットの値。ユーザ・プロセッサ20の暗号サブシステム
200内にあるSCKECB手段215は、ソフトウェ
ア配布プロセッサ10の暗号サブシステム100内にあ
るSCKECB手段115と機能的に同じである。 3.もし、Y=KCであれば、戻りコード:=0(成
功)を設定し、さもなければ、戻りコード:=8(失
敗)を設定する。 4.戻りコードの値を出力する。
【0094】データ・キー検査手段222は、入力顧客
キー(KC)から生成した可変顧客キー(KC')を使
用して、e*KC'(KD)の形式を有する暗号化され
たデータ・キーを非暗号化し、KD中のエラー検査用ビ
ットを確認するとともに、この確認が成功したことを示
す値(例えば、戻りコード=0)又は失敗したことを示
す値(例えば、戻りコード=8)を戻す。この手段22
2の機能は、以下のステップから成る。
【0095】1.設定 KC':= KC' を入力として
用いる可変顧客キー生成(GVCK)手段216によっ
て生成した128ビットの可変顧客キー。ユーザ・プロ
セッサ20の暗号サブシステム200内にあるGVCK
手段216は、ソフトウェア配布プロセッサ10の暗号
サブシステム100内にあるGVCK手段116と機能
的に同じである。 2.ステップ1で生成した可変顧客キー KC' で、e
*KC'(KD)を非暗号化する。この非暗号化プロセ
スは、図10の暗号化プロセスの逆である。即ち、e*
KC'(KD)を、 KC' の左側64ビットであるKC
L' で非暗号化し、その結果を、KC' の右側64ビッ
トであるKCR' で暗号化し、その結果をKCL' で非
暗号化する。 3.設定 X:=KD(即ち、KDの第2のコピーを作
成する)。 4.設定 Y:=Xを64ビットの入力として用いるS
DKECB手段212によって生成した64ビットの
値。暗号サブシステム200内にあるこのSDKECB
手段212は、暗号サブシステム100内にあるSDK
ECB手段112と機能的に同じである。 5.もし、Y=KDであれば、戻りコード:=0(成
功)を設定し、さもなければ、戻りコード:=8(失
敗)を設定する。 6.戻りコードの値を出力する。
【0096】データ・キー・プリロード手段223は、
入力顧客キー(KC)から生成した可変顧客キーKC'
を使用して、e*KC'(KD)の形式を有する暗号化
されたデータ・キーを非暗号化し、KC、 e*KC'
(KD)及びKDから成る一のキャッシュ・レコードを
作成し、このレコードをデータ・キー・キャッシュ20
2内に記憶する。この手段223の機能は、以下のステ
ップから成る。
【0097】1.設定 KC':= KCを入力として用
いる可変顧客キー生成(GVCK)手段216によって
生成した128ビットの可変顧客キー。 2.ステップ1で生成した可変顧客キー KC' で、e
*KC'(KD)を非暗号化する。この非暗号化プロセ
スは、図10の暗号化プロセスの逆である。即ち、e*
KC'(KD)を KC' の左側64ビットであるKC
L' で非暗号化し、その結果をKC' の右側64ビット
であるKCR' で暗号化し、その結果をKCL' で非暗
号化する。 3.設定 キャッシュ・レコード:=KC、e*KC'
(KD)、KDの連結。 4.このようにして生成したキャッシュ・レコードを、
データ・キー・キャッシュ202内に記憶する。この顧
客キー及び暗号化されたデータ・キーを、対応するデー
タ・キー(KD)がデータ・キー・キャッシュ202内
に記憶されているか否かを決定するための、識別子とし
て用いる。
【0098】データ非暗号化手段224は、暗号化ブロ
ック・チェーニング(CBC)モードのDEA非暗号化
を使用して、eKD(0、データ)の形式を有する暗号
化データを非暗号化する。但し、「0」は初期チェーニ
ング値0を表し、「データ」は64ビットのデータ・ブ
ロックを表す。実際の実現形態では、nの最大値を定め
ることができ、例えばその最大値を2**32と定める
ことができる。実現される暗号サブシステムの物理的な
制限があるために、nに関する上限を定める必要が生ず
る場合もある。データ非暗号化手段224への入力に
は、顧客キー(KC)と、暗号化された顧客キーである
eKC'(KD)と、暗号化データであるeKD(0、
データ)とがある。データ非暗号化手段224の出力
は、非暗号化されたデータである。データ非暗号化手段
224の機能は、以下のステップから成る。
【0099】1.KC及びeKC'(KD)を識別子と
して用い、KC、eKC'(KD)及びKDを含む一の
キャッシュ・レコードについてデータ・キー・キャッシ
ュ202を探索する。もし、一のキャッシュ・レコード
が見出されるなら、回復したこのレコードからKDを抽
出して、ステップ4へジャンプし、さもなければ、継続
する(即ち、暗号化されたKDを非暗号化する)。 2.設定 KC':= 入力としてのKCを用いる可変顧
客キー生成(GVCK)手段216によって生成した、
128ビットの可変顧客キー。 3.ステップ2で生成した可変顧客キー(KC')で、
e*KC'(KD)を非暗号化する。この非暗号化プロ
セスは、図10の暗号化プロセスの逆である。即ち、
e*KC'(KD)をKC' の左側64ビットであるK
CL' で非暗号化し、その結果をKC' の右側64ビッ
トであるKCR' で暗号化し、その結果をKCL' で非
暗号化する。 4.設定 データ:=CBCモードのDEA非暗号化を
用いて、(ステップ1又はステップ3で得た)KD及び
初期チェーニング値=0で、eKD(0、データ)を非
暗号化することにより回復した平文。 5.データを出力する。
【0100】図12には、ソフトウェア配布プロセッサ
10からユーザ・プロセッサ20へソフトウェアを配布
するために遂行せねばならない、APIサービス手段の
シーケンスが示されている。図12を参照するに、ソフ
トウェア配布プロセッサ10では、ステップ300で、
データ・キー生成手段122を呼び出して、一の暗号化
されたデータ・キーを含む64バイトのデータ・キー・
レコード(KDレコード)を生成する。ステップ300
は、1単位として販売及び使用許諾すべき各ファイル又
はファイル・グループごとに、固有のKDレコードを生
成するに必要な回数だけ、反復することができる。
【0101】ステップ301において、n個の64ビッ
ト・データブロック及び前述のようにして生成した64
バイトのKDレコードを暗号化兼検査手段123の入力
として与えると、この手段は、暗号化データであるeK
D(0、データ)を、n個の64ビット・ブロックとし
て生成する。「eKD(0、データ)」という表記は、
「データ」として指定した入力データを、CBCモード
のDEA暗号化を使用し、データ・キー(KD)及び初
期チェーニング値0で暗号化することを示す。
【0102】ステップ302において、1文字〜80文
字のパスフレーズをクリア・キー生成用キー導入手段1
21の入力として与えると、この手段は、128ビット
の暗号化されたキー生成用キーを含む64バイトのキー
生成用キー・レコード(KGKレコード)を生成する。
ステップ302は、生成した複数の顧客キー間の暗号分
離を与えるためにキー管理システムが必要とする固有の
KGKを生成するに必要な回数だけ、反復することがで
きる。
【0103】ステップ303において、このようにして
生成したKGKレコードと、10桁の10進数で表され
る顧客番号と、32ビットのカウンタをクリア顧客キー
生成手段124の入力として与えると、この手段は12
8ビットの顧客キー(KC)を生成する。
【0104】ステップ304において、ステップ302
で生成した複数のKGKレコードのうち1つのレコード
と、10桁の10進数で表される顧客番号と、32ビッ
トのカウンタと、ステップ300で生成した複数のKD
レコードのうち1つのレコードをデータ・キー出力手段
125の入力として与えると、この手段は、e*KC'
(KD)の形式を有する一の暗号化されたデータ・キー
を生成する。「e*KC'(KD)」という表記は、6
4ビットのデータ・キー(KD)を、128ビットの可
変顧客キー(KC' )で暗号化することを示す。
【0105】このようにして、顧客キー(KC)と、暗
号化されたデータ・キーであるe*KC'(KD)と、
暗号化データである eKD(0、データ)が、ソフト
ウェア配布プロセッサ10からユーザ・プロセッサ20
へ伝送される。この顧客キー及び暗号化されたデータ・
キーがキー配布媒体31を介して伝送されるのに対し、
暗号化データは暗号化ファイル配布媒体30を介して伝
送される(図3参照)。
【0106】ユーザ・プロセッサ20では、受け取った
顧客キー(KC)を、ステップ310で顧客キー検査手
段221へ入力することにより、顧客キー内にあるエラ
ー検査用ビットの確認を行わしめる。もし、このエラー
検査用ビットが正しければ、この手段は成功を示す値
(戻りコード=0)を戻し、かくて顧客キー(KC)は
後の使用に備えてキー・ライブラリ内に記憶されること
になる。もし、このエラー検査用ビットが正しくなけれ
ば、この手段は失敗を示す値(戻りコード=8)を戻
し、かくして顧客キーは拒否されることになる。もし、
顧客キーを適正に確認することに失敗すれば、エラー回
復手順(図12には図示せず)を実行する。当業者には
明らかなように、エラー回復には多数の方法及びプロト
コルがあり、その1つはソフトウェア配布プロセッサ1
0へメッセージを送信して顧客キーの再送を要求するこ
とを含んでいる。かかるエラー回復手順は本発明の要部
ではないが、本発明の実際の実現形態については必要な
部分となる。
【0107】ステップ311では、確認済みのKCと、
これに関連する受け取り済みの暗号化されたデータ・キ
ーである e*KC'(KD)を、データ・キー検査手段
222へ入力することにより、データ・キー(KD)中
のエラー検査用ビットを確認する。もちろん、こうする
には、暗号化されたデータ・キーを、先ず可変顧客キー
(KC' )で非暗号化することが必要である。この可変
顧客キー(KC' )は、前記確認済みの入力顧客キー
(KC)から生成したものである。もし、このエラー検
査用ビットが正しければ、この手段は成功を示す値(戻
りコード=0)を戻し、かくて暗号化されたデータ・キ
ーである e*KC'(KD)が後の使用に備えてキー・
ライブラリ内に記憶されることになる。一方、このエラ
ー検査用ビットが正しくなければ、この手段は失敗を示
す値(戻りコード=8)を戻し、かくて暗号化されたデ
ータ・キーである e*KC'(KD)が拒否されてキー
・ライブラリには記憶されないことになる。もし、暗号
化されたデータ・キーを適正に確認することに失敗すれ
ば、前述のようなエラー回復手順を実行する。説明の便
宜上、ここではデータ・キー(KD)中のエラー検査用
ビットが適正に確認されるものと仮定する。
【0108】当業者には明らかなように、キー・ライブ
ラリを実現する方法は多数あり、かかるキー管理の側面
は本発明の実施には影響しない。しかし、一の顧客キー
(KC)及びこれに関連する暗号化されたデータ・キー
である e*KC'(KD)がキー・ライブラリ内に記憶
される場合、この暗号化されたデータ・キーから対応す
る顧客キーへ一のリンクを与えることにより、これが暗
号化されたデータ・キーを非暗号化するのに使用できる
ようにしなければならない。これは多くの異なる方法で
達成することができ、そのうちの簡単なアプローチはK
C及びe*KC'(KD) を一のキー対として単一のレ
コード内に記憶することである。しかし、この欠点は、
同じKCがキー・ライブラリ内に何度も記憶される、と
いうことにある。複数の顧客キーを別個のサブ・ライブ
ラリ内に記憶するとともに、暗号化されたデータ・キー
からその関連する顧客キーへリンク又はポインタを与え
れば、必要な記憶スペースの点で一層経済的となり、特
に多数のキーがキー・ライブラリ内に記憶される場合は
そうである。
【0109】ステップ312では、前述のようにして確
認した暗号化されたデータ・キーである e*KC'(K
D)及びこれに関連する確認済みの顧客キー(KC)
を、データ・キー・プリロード手段223へ入力する。
この手段223は、(1)入力KCから生成した一の可
変顧客キー(KC' )で、 e*KC'(KD)を非暗号
化し、(2)KC、 e*KC'(KD)及びKDの連結
から成る一のキャッシュ・レコードを生成し、(3)こ
のキャッシュ・レコードを図11のデータ・キー・キャ
ッシュ202内に記憶する。
【0110】ステップ313では、前述のようにして確
認した e*KC'(KD)と、前述のようにして関連付
け且つ確認したKCと、前述のようにして関連付け且つ
受け取った暗号化データのn個の64ビット・ブロック
であるeKD(0、データ)を、データ非暗号化手段2
24へ入力し、かくてこの手段から暗号化データのn個
の64ビット・ブロックを生ぜしめる。eKD(0、デ
ータ)を非暗号化するために使用するデータ・キー(K
D)を回復するには、データ・キー・キャッシュ202
からこれを行うか、又は e*KC'(KD)を入力KC
から生成したKC' で非暗号化することにより行う。
【0111】図13には、図4に示したソフトウェア配
布プロセッサ10の暗号サブシステム100内にある顧
客キー生成(GCK)手段113により、一の顧客キー
を生成するためのプロセスが示されている。ステップ3
20において、派生部生成手段114に、10桁の10
進数で表した顧客番号(CN)と、32ビットのカウン
タ(CTR)と、128ビットのキー生成用キー(KG
K)を入力すると、この手段は、64ビットの派生部を
生成する。このようにして生成した派生部は、中間キー
(340)の右側64ビットとして記憶する。また、1
0桁の10進数で表した顧客番号(CN)を変換手段
(330)にも入力することにより、各10進桁を4ビ
ット・ニブル(即ち、0=B '0000' 、1=B '0
001' 、2=B '0010' 等)へそれぞれ変換し、
10個のニブルを連結して40ビット値(CN)を形成
し、この40ビット値(CN)を中間キー(340)の
左側40ビットとして記憶する。この中間キー(34
0)のビット40〜47は定数X 'FF' に設定される
のに対し、そのビット48〜63は初期設定されない。
というのは、これらのビットは、後に顧客キー・エラー
検査用ビット設定(SCKECB)手段115により初
期設定されるからである。なお、中間キー(340)の
ビットは、最上位から最下位の順に0、1、・・・、1
27と番号付けられている。
【0112】このようにして生成した中間キー(34
0)を、SCKECB手段115へ入力して、この手段
から顧客キー(350)を生ぜしめる。中間キー(34
0)と顧客キー(350)との違いは、前者ではエラー
検査用の24ビットが初期設定されないのに対し、後者
ではこれらのビットが初期設定される、ということにあ
る。エラー検査用(EC)ビットは、顧客キー(35
0)のビット位置48〜63と、ビット位置71、7
9、87、103、119及び127に置かれる。
【0113】図13から明らかなように、顧客キー(3
50)には、一のクリアな顧客番号(CN)が含まれて
いる。かくして、一の顧客キーを図3のキー配布媒体3
1を介して伝送する場合、又は一の顧客キーを図12に
示したユーザ・プロセッサ20のキー・ライブラリ内に
記憶する場合、その顧客番号(これは当該顧客キーのサ
ブ・フィールドである)はクリアな形式で現れるから、
これを監視することができ、またこのキーを割り当てら
れていた元のユーザへ当該キーをトレース・バックする
ための手段として使用することができる。更に、この顧
客キーを図3のキー配布媒体31を介して伝送する場
合、これは先ず16文字(即ち、128ビットの値)か
ら32個の16進の固有文字(例えば、ASCII文
字)へ変換されるから、この顧客キー内の各10進桁を
単一の文字として表すことができる。かくて、もしこの
顧客キーを紙面に印刷するのであれば、その顧客番号は
当該顧客キー内ではっきりと視認することができる。な
ぜなら、顧客番号(CN)は顧客キー(350)中の最
初のフィールドとして位置づけられていて、その直後に
定数 'FF' が続くからである。例えば、一の顧客キー
を印刷した内容が '0009735124FF3A02
D52AB99128C8F634' として現れる場
合、その顧客番号は、'0009735124' であ
る。
【0114】図14には、ソフトウェア配布プロセッサ
10からユーザ・プロセッサ20へ、ソフトウェアを配
布する場合のブロック図が示されている。ソフトウェア
配布プロセッサ10では、i番目のファイルFILEi
を含む複数のファイル(FILE1、FILE2、・・
・、FILEmax)を暗号化するため、i番目のファ
イル暗号化キー(KDi)を含む対応する複数のファイ
ル暗号化キー(KD1、KD2、・・・、KDmax)
を、暗号化手段(400)で使用し、これによりi番目
の暗号化ファイルeKDi(FILEi)を含む複数の
暗号化ファイルeKD1(FILE1)、eKD2(F
ILE2)、・・・、eKDmax(FILEmax)
を生成する。このようにして生成した複数の暗号化ファ
イルのサブセットが、ソフトウェア配布プロセッサ10
から暗号化ファイル配布媒体30を介してユーザ・プロ
セッサ20へ伝送される。ソフトウェア(例えばFIL
Ei)に対する顧客の発注に応答して、第1の顧客キー
KC1(350)を生成する。次に、このようにして生
成した顧客キーを、変換機能f手段(355)へ入力し
て、第2の顧客キーKC2(351)を生ぜしめる。
【0115】変換機能f手段(355)は、図4の可変
顧客キー生成(GVCK)手段116に相当し、第1の
顧客キーKC1(350)は、図13の顧客キー(35
0)に相当し、第2の顧客キーKC2(351)は、G
VCK手段116を使用して一の顧客キーから生成され
るような、可変顧客キーに相当する。
【0116】このようにして生成した第2の顧客キーK
C2(351)及びi番目のデータ・キーKDiを暗号
化手段(352)へ入力して、一の暗号化されたデータ
・キーe*KC2(KDi)を生ぜしめる。変換機能f
手段(355)で第2の顧客キーKC2(351)を生
成し且つ暗号化手段352を介してKC2でKDiを暗
号化するプロセスは、主として、図4のデータ・キー出
力手段125によって遂行される機能である。このよう
にして生成した第1の顧客キーKC1及び暗号化された
i番目のファイル暗号化キーeKC2(KDi)は、ソ
フトウェア配布プロセッサ10からキー配布媒体31を
介してユーザ・プロセッサ20へ伝送される。
【0117】ユーザ・プロセッサ20は、受け取った第
1の顧客キーKC1(350)を前述と同様の、変換機
能f手段(355)へ入力して、第2の顧客キーKC2
(351)を生ぜしめる。このようにして生成した第2
の顧客キーKC2(351)及び受け取られたi番目の
暗号化されたデータ・キーeKC2(KDi)を、非暗
号化手段(353)へ入力する。非暗号化手段(35
3)は、eKC2(KDi)を、KC2で非暗号化する
ことにより、KDiのクリアな値を生成する。このよう
にして生成したi番目のデータ・キーKDi及び受け取
られたi番目の暗号化ファイルeKDi(FILEi)
を非暗号化手段(354)へ入力して、FILEiを生
ぜしめる。FILEiは、ユーザ・プロセッサ20への
出力として戻される。変換機能f手段(355)を使用
してKC1からKC2を生成するプロセスと、KC2で
eKC2(KDi)を非暗号化するプロセスは、図11
のデータ・キー・プリロード手段223によって遂行さ
れる動作である。
【0118】<第三者の小売業者> 一のソフトウェア販売会社から一のユーザへソフトウェ
アを配布する方法を部分的に変更すると、これを別の配
布形態、即ちソフトウェア販売会社から第三者の小売業
者へソフトウェアを配布し、そこから更に一のユーザへ
配布する、という形態へ容易に適応させることができ
る。このようなソフトウェア配布方法の概念は、図2に
示されている。
【0119】第三者の小売業者がソフトウェア販売会社
(例えば、IBM社)に接触してCD−ROM上のソフ
トウェアを購入することを要請する場合、ソフトウェア
販売会社は、この小売業者に対し、CD−ROM及び予
め生成した複数のキーを含むパッケージを供給する。こ
こで、この小売業者が図15に示すように大量のソフト
ウェア・プログラム(即ち、200本の「OS/2
2.0」と、100本の「OS/2 2.0拡張サービ
ス」と、500本の「OS/2用WordPerfec
t」と、50本のプログラムAと、100本のプログラ
ムB)を発注することを希望しており、またこの全ての
ソフトウェア・プログラムが1枚のCD−ROM上にパ
ッケージ化されていて、その全てが本発明の暗号化方法
を使用して保護されているものと仮定する。この場合、
ソフトウェア配布プロセッサ10は、「OS/2」用の
200個のキーを生成し、これらのキーを予め番号を打
たれた1枚の紙面又は特殊フォーム上に以下のように印
刷することができる。各紙面は、その窓を通して小売業
者の住所を外から視認しうるが、このフォームを開封し
ない限り、キーを読み取ることができないようにしなけ
ればならない。ソフトウェア販売会社は、CD−ROM
と、キーを印刷した紙面と、使用許諾情報と、他の紙面
をパッケージ内に入れて、これを収縮包装することがで
きる。
【0120】顧客キーの生成は、これをユーザへ直接的
に配布するのか、又はこれを先ず小売業者へ配布し次に
ユーザへ配布するのか、ということに応じて異なってい
る。ユーザのために顧客キーを生成するような状況で
は、クリア顧客キー生成手段124及びデータ・キー出
力手段125への入力として与える32ビットのカウン
タ(CTR)を、ゼロへ設定する。しかし、小売業者の
ために顧客キーを生成するような場合は、この32ビッ
トのカウンタ(CTR)を、値1から開始して、各キー
ごとに1ずつ増分する。こうすることにより、多数且つ
多種類の顧客キーを生成して、これを単一の顧客番号を
有する同一の小売業者へ配布することができるようにな
る。このカウンタを各キーごとに増分するようにしてい
るので、各顧客キーはそれぞれ相違するはずであり、か
くて暗号化されたデータ・キーである e*KC'(K
D)も、各収縮包装パッケージ内のプログラムごとに相
違するはずである。このキーにより非暗号化されるソフ
トウェア・プログラムを、このパッケージの外部包装上
ではっきりと識別できるようにするのが望ましい。
【0121】前記と同じ手順は、「OS/2 2.0拡
張サービス」のような、それぞれ異なるソフトウェア・
プログラム又は製品の各々ごとに複数のキーを生成する
ために、使用することができる。例えば、ソフトウェア
配布プロセッサ10は、100組のキー(顧客キー及び
暗号化されたデータ・キー)を生成するに際し、最後の
値(この場合は200)へ設定したカウンタを使用する
ことができる。これらのキーをCD−ROMとともにパ
ッケージ化し、当該製品の識別名で以てはっきりとマー
クすることが望ましい。残りの製品についても同様であ
る。結局、小売業者は、購入ソフトウェア・プログラム
の総数に等しい、950枚のCD−ROMと950組の
キーを受け取ることになろう。全てのパッケージを、2
1.6x28cmのサイズで、収縮包装するのが望まし
い。各パッケージには、計算機フォームの縁部に印刷し
た赤い番号のように、一の番号を予め印刷しておくこと
が望ましい。
【0122】顧客が小売業者の店にやって来て「OS/
2」を購入することを要求する場合、この小売業者は
「OS/2」パッケージの1つを販売する。この小売業
者は、この顧客へ販売した製品を示すものとして、前記
予め印刷された番号を記録することを選択する場合もあ
るし、選択しない場合もある。もし、この顧客がその業
務に戻って、「OS/2 2.0拡張サービス」ソフト
ウェアが余分に必要であることが判れば、これを取得す
るための幾つかのオプションがある。即ち、顧客が小売
業者に電話する場合は、この小売業者は他の収縮包装パ
ッケージを開封して、この顧客に対し、電話で「OS/
2 2.0拡張サービス」ソフトウェア用の1組のキー
を連絡することができる。また、この顧客は小売業者の
店へ来て、1組のキーを貰うこともできる。更に、この
顧客は他の小売業者を訪れて、「OS/2 2.0拡張
サービス」ソフトウェアを購入することもできる。この
時点における全てのトランザクションは、小売業者と顧
客との間で行われる。恐らく、失われたキーを検査し且
つこれを置き換える方法を与えることを除けば、ソフト
ウェア販売会社がこのトランザクションに介在する必要
はない。しかし、顧客がソフトウェア販売会社に直接に
電話をかけて、電話を介して1組のキーを発行して貰っ
てもよいことはもちろんである。
【0123】このようなキー管理方法は、小売業者がキ
ー生成機器を備えることを不要にする。また、ソフトウ
ェア販売会社と小売業者との間の、会計上の清算業務を
簡単にする。小売業者は必要な在庫を購入し、その代価
を支払う。ソフトウェア販売会社は、売れ残りの在庫を
処理するために、未開封のパッケージを引取るような手
段を講じてもよい。この場合には、ソフトウェア販売会
社は小売業者を顧客として扱うことになる。
【0124】図16には、高密度の媒体501(例え
ば、CD−ROM)を含む収縮包装パッケージ500が
示されている。媒体501に含まれるのは、(1)i番
目の暗号化ファイルeKDi(FILEi)503、即
ちi番目のファイル暗号化キーKDiで暗号化されたフ
ァイルiと、(2)一のクリアな顧客キーKC 504
及び暗号化されたi番目のデータ・キー e*KC'(K
Di)505を印刷した1枚の紙面502である。但
し、KC' はKC 505から生成した可変顧客キーで
ある。
【0125】前述のように、複数のキーを印刷した紙面
502は、収縮包装パッケージ500を開封しない限り
(即ち、このパッケージを購入しない限り)、これらの
キーを視認できないようになっている。KC 504は
32個の16進文字(例えば、ASCII)として書か
れており、 e*KC'(KDi)505は16個の16
進文字(例えば、ASCII)として書かれている。一
のユーザが、「OS/2」のようなソフトウェアの収縮
包装パッケージ500を小売業者から購入する場合、複
数のキー(顧客キー504及び暗号化されたデータ・キ
ー505)は、ユーザ・プロセッサ20へ手動的に入力
されねばならない。一旦、ユーザ・プロセッサ20で初
期設定が行われると、ソフトウェア販売会社から一のユ
ーザへのソフトウェアを配布するのと同様の方法で、キ
ー処理及びファイル回復を行うことができる。事実上、
手順に関する唯一の違いは、キー及びファイルの配布に
小売業者が介在する場合は、複数のキーがソフトウェア
配布プロセッサ10から受け取られるのではなくて、第
三者の小売業者からキー配布媒体31を介して受け取ら
れる、という点にある。同様に、暗号化ファイルは、ソ
フトウェア配布プロセッサ10から受け取られるのでは
なくて、第三者の小売業者から暗号化ファイル配布媒体
30を介して受け取られる。第三者の小売業者へ与える
顧客キーを、ゼロのカウンタ値(CTR=0)で以て生
成するのではなくて、増分用カウンタCTRで以て生成
するという事実は、ユーザ・プロセッサ20で遂行され
るキー及びファイル回復プロセスに対し、透明である。
【0126】なお、本発明の理解を容易にするため、明
細書中の実施例の説明及び図面中で使用した略語を以下
に一括して掲げておく。
【0127】 + ・・・・・・・・排他的論理和演算 C1 ・・・・・・・連結(KGKLCV、KGKLCV)に等しい128ビッ ト値 C2 ・・・・・・・連結(KGKRCV、KGKRCV)に等しい128ビッ ト値 C3 ・・・・・・・連結(KDCV、KDCV)に等しい128ビット値 CBC ・・・・・・暗号ブロック・チェーニング CN ・・・・・・・10桁の10進数で表した顧客番号 CTR ・・・・・・32ビットのカウンタ値 d ・・・・・・・・DEA非暗号化(暗号解読) DEA ・・・・・・データ暗号化アルゴリズム e ・・・・・・・・DEA暗号化 eK(X) ・・・・キーKを用いて暗号化されたX e*KC'(KD)・128ビットの可変顧客キーKC'を用いて暗号化されたデ ータ・キーKD ECB ・・・・・・電子コード・ブック GCK ・・・・・・顧客キー生成 GDP ・・・・・・派生部生成 GVCK ・・・・・可変顧客キー生成 HP ・・・・・・・ハッシュ・パスフレーズ KC ・・・・・・・128ビットの顧客キー KC1 ・・・・・・第1の顧客キー KC2 ・・・・・・第2の顧客キー KCL ・・・・・・顧客キーKCの左側64ビット KCR ・・・・・・顧客キーKCの右側64ビット KC' ・・・・・・128ビット(16バイト)の可変顧客キー KCL' ・・・・・可変顧客キーKC'の左側64ビット KCR' ・・・・・可変顧客キーKC'の右側64ビット KD ・・・・・・・64ビットのデータ・キー KDCV ・・・・・データ・キーKDに関連する64ビットの制御ベクトル KGK ・・・・・・128ビット(16バイト)のキー生成用キー KGKL ・・・・・キー生成用キーKGKの左側64ビット KGKR ・・・・・キー生成用キーKGKの右側64ビット KGKLCV ・・・キー生成用キーKGKの左側64ビットに関連する64ビ ットの制御ベクトル KGKRCV ・・・キー生成用キーKGKの右側64ビットに関連する64ビ ットの制御ベクトル KML ・・・・・・マスタ・キーKMの左側64ビット KMR ・・・・・・マスタ・キーKMの右側64ビット RN ・・・・・・・64ビットの乱数 SCKECB ・・・顧客キー・エラー検査用ビット設定 SDKECB ・・・データ・キー・エラー検査用ビット設定
【0128】
【発明の効果】以上のように、本発明によれば、複数の
ファイルをソフトウェア配布プロセッサからユーザ・プ
ロセッサへ安全確実に配布するとともに、前記ファイル
のサブセットをユーザ・プロセッサに選択的に使用させ
ることができる。
【図面の簡単な説明】
【図1】ソフトウェア配布プロセッサからユーザ・プロ
セッサへの、ソフトウェアの配布形態を示すブロック図
である。
【図2】ソフトウェア配布プロセッサから小売業者のプ
ロセッサへ、次いでそこからユーザ・プロセッサへの、
ソフトウェアの配布形態を示すブロック図である。
【図3】ソフトウェア販売会社に属するソフトウェア配
布プロセッサからユーザに属するユーザ・プロセッサへ
の、ソフトウェアの配布形態を一層詳細に示すブロック
図である。
【図4】ソフトウェア配布プロセッサ10の暗号サブシ
ステム100の構成を示すブロック図である。
【図5】マスタ・キー(KM)とキー生成用キー(KG
K)に関連する制御ベクトルとから生成された可変キー
を使用して、キー生成用キー(KGK)を暗号化するた
めの方法を示すブロック図である。
【図6】キー生成用キー(KGK)の左側及び右側64
ビット部分にそれぞれ関連する制御ベクトル(KGKL
CV)及び(KGKRCV)の仕様を示す図である。
【図7】KGKレコードの形式を示すブロック図であ
る。
【図8】マスタ・キー(KM)とデータ・キー(KD)
に関連する制御ベクトルとから生成された可変キーを使
用して、データ・キー(KD)を暗号化するための方法
を示すブロック図である。
【図9】KDレコードの形式を示すブロック図である。
【図10】可変顧客キー(KC' )を使用してデータ・
キー(KD)を暗号化するための方法を示すブロック図
である。
【図11】ユーザ・プロセッサ20の暗号サブシステム
200の構成を示すブロック図である。
【図12】ソフトウェア配布プロセッサ10からユーザ
・プロセッサ20へソフトウェアを配布するのに遂行し
なければならない、API呼び出し可能な一連のAPI
サービスを示すブロック図である。
【図13】ソフトウェア配布プロセッサ10の暗号サブ
システム100で利用可能な顧客キー生成(GCK)手
段113を使用して、顧客キー(KC)を生成するため
の方法を示すブロック図である。
【図14】ソフトウェア配布プロセッサ10からユーザ
・プロセッサ20への、ソフトウェアの配布形態を示す
ブロック図である。
【図15】ソフトウェア販売会社から購入すべきソフト
ウェアのリストの例を示す図である。
【図16】高密度の記録媒体と、クリアな顧客キー(K
C)及び暗号化されたi番目のデータ・キー e*KC'
(KDi)を印刷した1枚の紙面を含む、収縮包装され
たパッケージを示す図である。
【符号の説明】
10・・・・ソフトウェア配布プロセッサ 20・・・・ユーザ・プロセッサ 30・・・・キー配布媒体 31・・・・暗号化ファイル配布媒体 100・・・暗号サブシステム 150・・・キー生成手段 160・・・暗号化ファイル生成手段 170・・・暗号化ファイル配布手段 180・・・キー配布手段 200・・・暗号サブシステム 250・・・キー回復手段 260・・・ファイル回復手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アルフォンソ・エム・ブラッコ アメリカ合衆国バージニア州、レスト ン、ランニング・シーダ・ロード11407 番地 (72)発明者 ドナルド・ビー・ジョンソン アメリカ合衆国バージニア州、マナサ ス、クリスタル・クリーク・レーン 11635番地 (72)発明者 アン・ブイ・リ アメリカ合衆国バージニア州、マナサ ス、バトルフィールド・ドライブ10227 番地 (72)発明者 ステファン・エム・マトヤス アメリカ合衆国バージニア州、マナサ ス、シーダ・リッジ・ドライブ10298番 地 (72)発明者 ロテイスロウ・プリマック アメリカ合衆国バージニア州、ダムフラ イズ、フェアウエイ・ドライブ15900番 地 (72)発明者 ジェームス・デイー・ランドール アメリカ合衆国バージニア州、ハーンド ン、シェーカー・ドライブ1237番地 (72)発明者 ジョン・デイー・ウイルキンス アメリカ合衆国バージニア州、ソマービ ル、ピー・オー・ボックス8 (56)参考文献 特開 平3−83132(JP,A) 特開 平1−177229(JP,A)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 ソフトウェア・ファイルをソフトウェア
    配布プロセッサからユーザ・プロセッサへ安全に配布す
    るソフトウェア配布システムであって、 (a)一のソフトウェア・ファイルを、前記ソフトウェ
    ア配布プロセッサの内部に記憶する手段と、 (b)前記ソフトウェア・ファイルに対応するファイル
    暗号化キーを、前記ソフトウェア配布プロセッサの内部
    に記憶する手段と、 (c)前記ソフトウェア・ファイルを、前記ファイル暗
    号化キーを使用して暗号化することにより、暗号化され
    たファイルを前記ソフトウェア配布プロセッサの内部で
    生成する手段と、 (d)前記暗号化されたソフトウェア・ファイルを、前
    記ソフトウェア配布プロセッサから前記ユーザ・プロセ
    ッサへ伝送する手段と、 (e)前記ソフトウェア・ファイルの購入を要求する顧
    客の顧客番号が提示されることに応答して、当該顧客番
    号の暗号化されていない表示を含んでいる第1の部分及
    び当該顧客番号の暗号化された表示を含んでいる第2の
    部分から成る第1の顧客キーを、前記ソフトウェア配布
    プロセッサの内部で生成する手段であって、前記第1の
    顧客キーの前記第2の部分が、暗号化されたカウンタ値
    を含んでおり、このカウンタ値が再使用許諾を受けた顧
    客の数を表すようにした第1の顧客キー生成手段と、 (f)前記第1の顧客キーを変換機能を使用して変換す
    ることにより、前記ソフトウェア配布プロセッサの内部
    で第2の顧客キーを生成する手段と、 (g)前記ファイル暗号化キーを、前記第2の顧客キー
    を使用して暗号化することにより、暗号化されたファイ
    ル暗号化キーを生成する手段と、 (h)前記第1の顧客キーを、前記ソフトウェア配布プ
    ロセッサから前記ユーザ・プロセッサへ伝送する手段
    と、 (i)前記暗号化されたファイル暗号化キーを、前記ソ
    フトウェア配布プロセッサから前記ユーザ・プロセッサ
    へ伝送する手段と、 (j)前記ユーザ・プロセッサで受け取られた前記第1
    の顧客キーを、前記ソフトウェア配布プロセッサ内の前
    記変換機能と同等の変換機能を使用して前記ユーザ・プ
    ロセッサ内で独立に変換することにより、前記第2の顧
    客キーを生成する手段と、 (k)前記ユーザ・プロセッサで受け取られた前記暗号
    化されたファイル暗号化キーを、前記第2の顧客キーを
    使用して非暗号化することにより、前記ファイル暗号化
    キーを回復する手段と、 (l)前記ユーザ・プロセッサで受け取られた前記暗号
    化されたソフトウェア・ファイルを、前記回復されたフ
    ァイル暗号化キーを使用して非暗号化することにより、
    前記ソフトウェア・ファイルを生成する手段と、 を備えて成る、ソフトウェア配布システム。
  2. 【請求項2】 ソフトウェア・ファイルをソフトウェア
    配布プロセッサからユーザ・プロセッサへ安全に配布す
    るソフトウェア配布方法であって、 (a)一のソフトウェア・ファイルを、前記ソフトウェ
    ア配布プロセッサの内部に記憶するステップと、 (b)前記ソフトウェア・ファイルに対応するファイル
    暗号化キーを、前記ソフトウェア配布プロセッサの内部
    に記憶するステップと、 (c)前記ソフトウェア・ファイルを、前記ファイル暗
    号化キーを使用して暗号化することにより、暗号化され
    たファイルを前記ソフトウェア配布プロセッサの内部で
    生成するステップと、 (d)前記暗号化されたソフトウェア・ファイルを、前
    記ソフトウェア配布プロセッサから前記ユーザ・プロセ
    ッサへ伝送するステップと、 (e)前記ソフトウェア・ファイルの購入を要求する顧
    客の顧客番号が提示されることに応答して、当該顧客番
    号の暗号化されていない表示を含んでいる第1の部分及
    び当該顧客番号の暗号化された表示を含んでいる第2の
    部分から成る第1の顧客キーを、前記ソフトウェア配布
    プロセッサの内部で生成するステップであって、前記第
    1の顧客キーの前記第2の部分が、暗号化されたカウン
    タ値を含んでおり、このカウンタ値が再使用許諾を受け
    た顧客の数を表すようにした、第1の顧客キー生成ステ
    ップと、 (f)前記第1の顧客キーを変換機能を使用して変換す
    ることにより、前記ソフトウェア配布プロセッサの内部
    で第2の顧客キーを生成するステップと、 (g)前記ファイル暗号化キーを、前記第2の顧客キー
    を使用して暗号化することにより、暗号化されたファイ
    ル暗号化キーを生成するステップと、 (h)前記第1の顧客キーを、前記ソフトウェア配布プ
    ロセッサから前記ユーザ・プロセッサへ伝送するステッ
    プと、 (i)前記暗号化されたファイル暗号化キーを、前記ソ
    フトウェア配布プロセッサから前記ユーザ・プロセッサ
    へ伝送するステップと、 (j)前記ユーザ・プロセッサで受け取られた前記第1
    の顧客キーを、前記ソフトウェア配布プロセッサ内の前
    記変換機能と同等の変換機能を使用して前記ユーザ・プ
    ロセッサ内で独立に変換することにより、前記第2の顧
    客キーを生成するステップと、 (k)前記ユーザ・プロセッサで受け取られた前記暗号
    化されたファイル暗号化キーを、前記第2の顧客キーを
    使用して非暗号化することにより、前記ファイル暗号化
    キーを回復するステップと、 (l)前記ユーザ・プロセッサで受け取られた前記暗号
    化されたソフトウェア・ファイルを、前記回復されたフ
    ァイル暗号化キーを使用して非暗号化することにより、
    前記ソフトウェア・ファイルを生成するステップとから
    成る、ソフトウェア配布方法。
JP5210510A 1992-10-21 1993-08-25 ソフトウェア配布システム及びソフトウェア配布方法 Expired - Lifetime JP2996331B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US964324 1992-10-21
US07/964,324 US5319705A (en) 1992-10-21 1992-10-21 Method and system for multimedia access control enablement

Publications (2)

Publication Number Publication Date
JPH0793148A JPH0793148A (ja) 1995-04-07
JP2996331B2 true JP2996331B2 (ja) 1999-12-27

Family

ID=25508414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5210510A Expired - Lifetime JP2996331B2 (ja) 1992-10-21 1993-08-25 ソフトウェア配布システム及びソフトウェア配布方法

Country Status (2)

Country Link
US (1) US5319705A (ja)
JP (1) JP2996331B2 (ja)

Families Citing this family (478)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847611B1 (en) 1990-12-10 2005-01-25 At&T Corp. Traffic management for frame relay switched data service
US6134324A (en) * 1991-07-31 2000-10-17 Lsi Logic Corporation Method and system for distributing a plurality of software products, and limiting access thereto
US7028187B1 (en) 1991-11-15 2006-04-11 Citibank, N.A. Electronic transaction apparatus for electronic commerce
US5557518A (en) 1994-04-28 1996-09-17 Citibank, N.A. Trusted agents for open electronic commerce
US5428685A (en) * 1992-01-22 1995-06-27 Fujitsu Limited IC memory card and method of protecting data therein
WO1994007204A1 (en) * 1992-09-21 1994-03-31 Uniloc (Singapore) Private Limited System for software registration
US5509070A (en) * 1992-12-15 1996-04-16 Softlock Services Inc. Method for encouraging purchase of executable and non-executable software
US7089212B2 (en) * 1992-12-15 2006-08-08 Sl Patent Holdings Llc System and method for controlling access to protected information
US6266654B1 (en) 1992-12-15 2001-07-24 Softlock.Com, Inc. Method for tracking software lineage
US7831516B2 (en) * 1992-12-15 2010-11-09 Sl Patent Holdings Llc System and method for redistributing and licensing access to protected information among a plurality of devices
US5434850A (en) 1993-06-17 1995-07-18 Skydata Corporation Frame relay protocol-based multiplex switching scheme for satellite
US6771617B1 (en) 1993-06-17 2004-08-03 Gilat Satellite Networks, Ltd. Frame relay protocol-based multiplex switching scheme for satellite mesh network
EP0632397A3 (en) * 1993-07-02 1995-08-16 Nippon Telegraph & Telephone Book data service system with data delivery by broadcast.
US5416840A (en) * 1993-07-06 1995-05-16 Phoenix Technologies, Ltd. Software catalog encoding method and system
US5646992A (en) * 1993-09-23 1997-07-08 Digital Delivery, Inc. Assembly, distribution, and use of digital information
US5625690A (en) * 1993-11-15 1997-04-29 Lucent Technologies Inc. Software pay per use system
SE9303817L (sv) * 1993-11-17 1994-11-14 Telub Teknik Ab System för läsning av krypterad information samt en enhet för användning i ett sådant system
US6122403A (en) 1995-07-27 2000-09-19 Digimarc Corporation Computer system linked by using information in data objects
US6449377B1 (en) * 1995-05-08 2002-09-10 Digimarc Corporation Methods and systems for watermark processing of line art images
US5553143A (en) * 1994-02-04 1996-09-03 Novell, Inc. Method and apparatus for electronic licensing
JPH07230380A (ja) * 1994-02-15 1995-08-29 Internatl Business Mach Corp <Ibm> 適用業務プログラムの利用管理方法およびシステム
US5394469A (en) * 1994-02-18 1995-02-28 Infosafe Systems, Inc. Method and apparatus for retrieving secure information from mass storage media
US5530752A (en) * 1994-02-22 1996-06-25 Convex Computer Corporation Systems and methods for protecting software from unlicensed copying and use
US5420925A (en) * 1994-03-03 1995-05-30 Lectron Products, Inc. Rolling code encryption process for remote keyless entry system
US6298441B1 (en) 1994-03-10 2001-10-02 News Datacom Ltd. Secure document access system
IL111151A (en) * 1994-10-03 1998-09-24 News Datacom Ltd Secure access systems
JPH07271865A (ja) * 1994-04-01 1995-10-20 Mitsubishi Corp データベース著作権管理方法
US7036019B1 (en) * 1994-04-01 2006-04-25 Intarsia Software Llc Method for controlling database copyrights
US6744894B1 (en) * 1994-04-01 2004-06-01 Mitsubishi Corporation Data management system
US5553139A (en) * 1994-04-04 1996-09-03 Novell, Inc. Method and apparatus for electronic license distribution
US6088797A (en) * 1994-04-28 2000-07-11 Rosen; Sholom S. Tamper-proof electronic processing device
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US6473793B1 (en) * 1994-06-08 2002-10-29 Hughes Electronics Corporation Method and apparatus for selectively allocating and enforcing bandwidth usage requirements on network users
US6701370B1 (en) * 1994-06-08 2004-03-02 Hughes Electronics Corporation Network system with TCP/IP protocol spoofing
AU706160B2 (en) 1994-06-08 1999-06-10 Hughes Electronics Corporation Apparatus and method for hybrid network access
EP1244306B1 (en) 1994-07-08 2008-02-06 Sony Corporation Receiving controlled-access broadcast signals for more than one playback
US5586186A (en) * 1994-07-15 1996-12-17 Microsoft Corporation Method and system for controlling unauthorized access to information distributed to users
US5719938A (en) * 1994-08-01 1998-02-17 Lucent Technologies Inc. Methods for providing secure access to shared information
JP3395863B2 (ja) * 1994-08-10 2003-04-14 富士通株式会社 ソフトウエア管理モジュール、ソフトウエア再生管理装置およびソフトウエア再生管理システム
JP2970739B2 (ja) * 1994-09-30 1999-11-02 日本ビクター株式会社 光ディスクの再生制御方法
DE69532153T2 (de) * 1994-09-30 2004-09-02 Mitsubishi Corp. Datenurheberrechtsverwaltungssystem
US7302415B1 (en) * 1994-09-30 2007-11-27 Intarsia Llc Data copyright management system
US6741991B2 (en) * 1994-09-30 2004-05-25 Mitsubishi Corporation Data management system
US6449717B1 (en) 1994-09-30 2002-09-10 Mitsubishi Corporation Data copyright management system
US6424715B1 (en) * 1994-10-27 2002-07-23 Mitsubishi Corporation Digital content management system and apparatus
EP0715241B1 (en) * 1994-10-27 2004-01-14 Mitsubishi Corporation Apparatus for data copyright management system
US6789197B1 (en) 1994-10-27 2004-09-07 Mitsubishi Corporation Apparatus for data copyright management system
EP1691315A1 (en) 1994-10-27 2006-08-16 Intarsia Software LLC Data copyright management system
US5652795A (en) 1994-11-14 1997-07-29 Hughes Electronics Method and apparatus for an adapter card providing conditional access in a communication system
US5727065A (en) * 1994-11-14 1998-03-10 Hughes Electronics Deferred billing, broadcast, electronic document distribution system and method
US6963859B2 (en) * 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
US6865551B1 (en) 1994-11-23 2005-03-08 Contentguard Holdings, Inc. Removable content repositories
JPH08263438A (ja) * 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US20050149450A1 (en) * 1994-11-23 2005-07-07 Contentguard Holdings, Inc. System, method, and device for controlling distribution and use of digital works based on a usage rights grammar
EP0717337B1 (en) * 1994-12-13 2001-08-01 International Business Machines Corporation Method and system for the secured distribution of programs
MY128742A (en) * 1994-12-22 2007-02-28 Sony Corp Recording medium for protecting copyrighted data
SE504085C2 (sv) * 1995-02-01 1996-11-04 Greg Benson Sätt och system för att hantera dataobjekt i enlighet med förutbestämda villkor för användare
US7505945B2 (en) * 1995-02-08 2009-03-17 Cryptomathic A/S Electronic negotiable documents
US7133845B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
US8639625B1 (en) 1995-02-13 2014-01-28 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US6948070B1 (en) * 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
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
US7095854B1 (en) * 1995-02-13 2006-08-22 Intertrust Technologies Corp. 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
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
CN100365535C (zh) * 1995-02-13 2008-01-30 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US20120166807A1 (en) 1996-08-12 2012-06-28 Intertrust Technologies Corp. Systems and Methods Using Cryptography to Protect Secure Computing Environments
US5754761A (en) * 1995-03-06 1998-05-19 Willsey; John A. Universal sofeware key process
US6760463B2 (en) * 1995-05-08 2004-07-06 Digimarc Corporation Watermarking methods and media
JPH08335040A (ja) * 1995-06-02 1996-12-17 Fujitsu Ltd 暗号化処理方式
US5745886A (en) * 1995-06-07 1998-04-28 Citibank, N.A. Trusted agents for open distribution of electronic money
DE69636842T2 (de) 1995-06-30 2007-10-18 Sony Corp. Datenaufzeichnungsverfahren und -Einrichtung, Aufzeichnungsmedium, Datenwiedergabeverfahren und Einrichtung
JPH0922352A (ja) * 1995-07-07 1997-01-21 Mitsubishi Electric Corp 著作権管理装置
US5852664A (en) * 1995-07-10 1998-12-22 Intel Corporation Decode access control for encoded multimedia signals
NO302388B1 (no) * 1995-07-13 1998-02-23 Sigurd Sigbjoernsen Fremgangsmåte og anordning for å beskytte programvare mot bruk uten tillatelse
JPH0934841A (ja) * 1995-07-21 1997-02-07 Fujitsu Ltd 記憶媒体のオンライン暗号解除システムおよび方法
JP3507594B2 (ja) * 1995-07-31 2004-03-15 株式会社東芝 コンピュータ
US5978482A (en) * 1995-08-21 1999-11-02 International Business Machines Corporation Method and system for protection of digital information
FR2740885B1 (fr) * 1995-11-03 1997-12-26 Sirbu Cornel Procede et appareil pour la gestion et l'execution des applications de securite
NZ503211A (en) * 1995-08-21 2001-12-21 Cornel Sirbu Smart card processing done in periphery before sending encrypted access code to computer terminal
US5878141A (en) * 1995-08-25 1999-03-02 Microsoft Corporation Computerized purchasing system and method for mediating purchase transactions over an interactive network
GB2342768B (en) 1995-08-27 2000-07-05 Aliroo Ltd Document processing
US5935004A (en) * 1995-08-28 1999-08-10 Mediaone Group, Inc. System and method for scheduled delivery of a software program over a cable network
US5671280A (en) * 1995-08-30 1997-09-23 Citibank, N.A. System and method for commercial payments using trusted agents
JP3688356B2 (ja) * 1995-08-31 2005-08-24 富士通株式会社 ライセンシー通知システム
US5758068A (en) * 1995-09-19 1998-05-26 International Business Machines Corporation Method and apparatus for software license management
JPH0991133A (ja) * 1995-09-20 1997-04-04 Fujitsu Ltd 不正申告検出システム
US6226678B1 (en) * 1995-09-25 2001-05-01 Netspeak Corporation Method and apparatus for dynamically defining data communication utilities
US6108704A (en) * 1995-09-25 2000-08-22 Netspeak Corporation Point-to-point internet protocol
US8595502B2 (en) * 1995-09-29 2013-11-26 Intarsia Software Llc Data management system
US6061656A (en) * 1995-10-06 2000-05-09 Pace; Michael Computer-based trading card system and method
US5689561A (en) * 1995-10-06 1997-11-18 Pace; Michael Computer-based trading card system and method
JP4033901B2 (ja) * 1995-10-09 2008-01-16 松下電器産業株式会社 データ送信デバイス、データ受信デバイス、情報処理装置およびデータ送信方法
US7047241B1 (en) 1995-10-13 2006-05-16 Digimarc Corporation System and methods for managing digital creative works
US6807534B1 (en) * 1995-10-13 2004-10-19 Trustees Of Dartmouth College System and method for managing copyrighted electronic media
US5787175A (en) * 1995-10-23 1998-07-28 Novell, Inc. Method and apparatus for collaborative document control
US6023506A (en) * 1995-10-26 2000-02-08 Hitachi, Ltd. Data encryption control apparatus and method
US7801817B2 (en) * 1995-10-27 2010-09-21 Makoto Saito Digital content management system and apparatus
US6577734B1 (en) * 1995-10-31 2003-06-10 Lucent Technologies Inc. Data encryption key management system
US5857021A (en) * 1995-11-07 1999-01-05 Fujitsu Ltd. Security system for protecting information stored in portable storage media
US5694469A (en) * 1995-11-17 1997-12-02 Le Rue; Charles Method and system for disseminating stored programs and data
JP3416007B2 (ja) * 1995-12-06 2003-06-16 インターナショナル・ビジネス・マシーンズ・コーポレーション オーディオビジュアル・マテリアルをスクリーニングする装置及び方法
US5892825A (en) * 1996-05-15 1999-04-06 Hyperlock Technologies Inc Method of secure server control of local media via a trigger through a network for instant local access of encrypted data on local media
US6185306B1 (en) 1995-12-07 2001-02-06 Hyperlock Technologies, Inc. Method of secure server control of local media via a trigger through a network for local access of encrypted data on an internet webpage
US5974307A (en) * 1995-12-21 1999-10-26 Pitney Bowes Inc. Method and system communicating with a voice response unit over a cellular telephone network
US5765106A (en) * 1995-12-22 1998-06-09 Pitney Bowes Inc. Authorized cellular telephone communication access and verification control system
US5812945A (en) * 1995-12-22 1998-09-22 Pitney Bowes Inc. Metered payment cellular telephone communication system
US5768383A (en) * 1995-12-22 1998-06-16 Pitney Bowes Inc. Authorized cellular voice messaging and/or analog or digital data communication access and verification control system
US6035043A (en) * 1995-12-22 2000-03-07 Pitney Bowes Inc. Cellular telephone manifest system
US5740247A (en) * 1995-12-22 1998-04-14 Pitney Bowes Inc. Authorized cellular telephone communication payment refill system
US5787169A (en) * 1995-12-28 1998-07-28 International Business Machines Corp. Method and apparatus for controlling access to encrypted data files in a computer system
WO1997024699A1 (en) * 1995-12-29 1997-07-10 S. E. Axis Limited Authentication of articles
JP3176030B2 (ja) 1996-01-08 2001-06-11 株式会社東芝 複製制御方法及び複製制御装置
JP2000503154A (ja) * 1996-01-11 2000-03-14 エムアールジェイ インコーポレイテッド デジタル所有権のアクセスと分配を制御するためのシステム
US20010011253A1 (en) 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
US5758069A (en) * 1996-03-15 1998-05-26 Novell, Inc. Electronic licensing system
US5905860A (en) * 1996-03-15 1999-05-18 Novell, Inc. Fault tolerant electronic licensing system
EP0826288B1 (en) 1996-03-18 2000-09-13 News Datacom Ltd. Smart card chaining in pay television systems
US5790783A (en) * 1996-03-28 1998-08-04 Advanced Micro Devices, Inc. Method and apparatus for upgrading the software lock of microprocessor
US5790663A (en) * 1996-03-28 1998-08-04 Advanced Micro Devices, Inc. Method and apparatus for software access to a microprocessor serial number
US5933620A (en) * 1996-03-28 1999-08-03 Advanced Micro Devices, Inc. Method and apparatus for serializing microprocessor identification numbers
US5774544A (en) * 1996-03-28 1998-06-30 Advanced Micro Devices, Inc. Method an apparatus for encrypting and decrypting microprocessor serial numbers
US5673316A (en) * 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
WO1997044736A1 (en) * 1996-05-23 1997-11-27 Apple Computer, Inc. Method and apparatus for two-level copy protection
EP0978022B1 (en) * 1996-06-14 2002-02-27 Erland Wittkötter Apparatus and method for the protected transmission and representation of electronically published documents
DE19625635C1 (de) 1996-06-26 1997-12-04 Fraunhofer Ges Forschung Verschlüsselung und Entschlüsselung von Multimediadaten
DE19744293C1 (de) * 1996-06-26 1999-07-01 Fraunhofer Ges Forschung Verschlüsselung und Entschlüsselung von Multimediadaten
US5809145A (en) * 1996-06-28 1998-09-15 Paradata Systems Inc. System for distributing digital information
US7770230B2 (en) * 2002-04-22 2010-08-03 Arvato Digital Services Canada, Inc. System for dynamically encrypting content for secure internet commerce and providing embedded fulfillment software
US7010697B2 (en) * 1996-06-28 2006-03-07 Protexis, Inc. System for dynamically encrypting information for secure internet commerce and providing embedded fulfillment software
JP3093678B2 (ja) * 1996-06-28 2000-10-03 株式会社東芝 暗号化方法、復号方法、記録再生装置、復号装置、復号化ユニット装置及び記録媒体の製造方法
US7356847B2 (en) * 1996-06-28 2008-04-08 Protexis, Inc. System for dynamically encrypting content for secure internet commerce and providing embedded fulfillment software
NO304049B1 (no) * 1996-07-18 1998-10-12 Rnsen Sigurd Sigbj FremgangsmÕte og anordning for Õ hindre utvalgte opplysninger i en database fra Õ bli utnyttet uten tillatelse, samt fremgangsmÕte og anordning for Õ gj°re det mulig Õ utnytte innhold i en database bare sammen med en tilh°rende tillatelse
US7590853B1 (en) 1996-08-12 2009-09-15 Intertrust Technologies Corporation Systems and methods using cryptography to protect secure computing environments
US6373947B1 (en) 1996-08-26 2002-04-16 Aliroo Ltd. Document processing
US6237020B1 (en) * 1996-10-01 2001-05-22 International Business Machines Corporation Task-oriented automatic distribution of software
US5784460A (en) * 1996-10-10 1998-07-21 Protocall Technolgies, Inc. Secured electronic information delivery system having a three-tier structure
US5884158A (en) * 1996-10-15 1999-03-16 Pitney Bowes Inc. Cellular telephone authentication system using a digital certificate
JPH10133955A (ja) * 1996-10-29 1998-05-22 Matsushita Electric Ind Co Ltd 可搬型メディア駆動装置とその方法、及び可搬型メディアとネットワークの連携装置とその方法
CA2271012A1 (en) * 1996-11-25 1998-06-04 Hyperlock Technologies, Inc. Method for securely triggering the playing of crippled local media through the web
US6006228A (en) * 1996-12-11 1999-12-21 Ncr Corporation Assigning security levels to particular documents on a document by document basis in a database
US6839842B1 (en) * 1996-12-27 2005-01-04 Intel Corporation Method and apparatus for authenticating information
US5920861A (en) 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
US6233684B1 (en) * 1997-02-28 2001-05-15 Contenaguard Holdings, Inc. System for controlling the distribution and use of rendered digital works through watermaking
US6173403B1 (en) * 1997-04-30 2001-01-09 Achates Reference Publishing, Inc. Method and apparatus for distributing information products
JP4545240B2 (ja) * 1997-04-30 2010-09-15 インターシア ソフトウェア エルエルシー データコンテンツ流通システム
GB2324935A (en) * 1997-05-01 1998-11-04 Motorola Ltd Prevention of unauthorised data download
US5923754A (en) * 1997-05-02 1999-07-13 Compaq Computer Corporation Copy protection for recorded media
US6268845B1 (en) 1997-06-11 2001-07-31 Compaq Computer Corporation Bezel button controls over USB
US6289466B1 (en) * 1997-06-11 2001-09-11 Compaq Computer Corporation Usage of monitor bezel buttons to control and indicate multimedia functions
US6356704B1 (en) 1997-06-16 2002-03-12 Ati Technologies, Inc. Method and apparatus for detecting protection of audio and video signals
US6606450B1 (en) * 1997-06-16 2003-08-12 Ati International Srl Method and apparatus for processing video signals having associated access restriction data
CA2295150A1 (en) * 1997-06-26 1999-01-07 Michael John Kenning Data communications
US6081524A (en) 1997-07-03 2000-06-27 At&T Corp. Frame relay switched data service
JP3657396B2 (ja) * 1997-07-07 2005-06-08 株式会社日立製作所 鍵管理システム、鍵管理装置、情報暗号化装置、情報復号化装置、およびプログラムを記憶した記憶媒体
WO1999003277A2 (en) * 1997-07-11 1999-01-21 Koninklijke Philips Electronics N.V. Arrangement for independently requesting a playing authorization for a reproduced encrypted information signal
US5903896A (en) * 1997-07-15 1999-05-11 Microsoft Corporation Method for installing a file on demand using a preview
WO1999008411A2 (en) * 1997-08-08 1999-02-18 Jonathan Stiebel New operation for key insertion with folding
AUPO899697A0 (en) * 1997-09-05 1997-10-02 Bardell, Norman John Charles Data dissemination system for computer networks
US20090043907A1 (en) * 1997-09-11 2009-02-12 Digital Delivery Networks, Inc. Local portal
US6249866B1 (en) 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
US6134593A (en) * 1997-09-30 2000-10-17 Cccomplete, Inc. Automated method for electronic software distribution
US6112181A (en) 1997-11-06 2000-08-29 Intertrust Technologies Corporation Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
AU8251998A (en) * 1998-01-05 1999-07-26 Chew Wah Lui A computer software activation system and a method of authenticating computer software
ES2175936T3 (es) 1998-01-16 2002-11-16 Macrovision Corp Sistema y metodo para autenticar componentes homologos.
US6148342A (en) * 1998-01-27 2000-11-14 Ho; Andrew P. Secure database management system for confidential records using separately encrypted identifier and access request
US7268700B1 (en) 1998-01-27 2007-09-11 Hoffberg Steven M Mobile communication device
US6742120B1 (en) * 1998-02-03 2004-05-25 Mondex International Limited System and method for controlling access to computer code in an IC card
US7246246B2 (en) * 1998-04-17 2007-07-17 Iomega Corporation System for keying protected electronic data to particular media to prevent unauthorized copying using a compound key
US7096358B2 (en) * 1998-05-07 2006-08-22 Maz Technologies, Inc. Encrypting file system
US6389541B1 (en) * 1998-05-15 2002-05-14 First Union National Bank Regulating access to digital content
US6223288B1 (en) 1998-05-22 2001-04-24 Protexis Inc. System for persistently encrypting critical software file to prevent installation of software program on unauthorized computers
US6157392A (en) * 1998-07-20 2000-12-05 Micron Technology, Inc. Animation packager for an on-line book
JP3216607B2 (ja) * 1998-07-29 2001-10-09 日本電気株式会社 デジタル著作物流通システム及び方法、デジタル著作物再生装置及び方法、並びに記録媒体
EP1014618A1 (en) * 1998-07-30 2000-06-28 Sony Corporation Content processing system
US6438235B2 (en) * 1998-08-05 2002-08-20 Hewlett-Packard Company Media content protection utilizing public key cryptography
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6611812B2 (en) 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
US6959288B1 (en) 1998-08-13 2005-10-25 International Business Machines Corporation Digital content preparation system
US7110984B1 (en) 1998-08-13 2006-09-19 International Business Machines Corporation Updating usage conditions in lieu of download digital rights management protected content
US6983371B1 (en) 1998-10-22 2006-01-03 International Business Machines Corporation Super-distribution of protected digital content
US6389403B1 (en) 1998-08-13 2002-05-14 International Business Machines Corporation Method and apparatus for uniquely identifying a customer purchase in an electronic distribution system
US6453300B2 (en) * 1998-08-31 2002-09-17 Cd Coupon, Llc Personalized greeting card with electronic storage media and method of personalizing same
JP4206529B2 (ja) * 1998-09-17 2009-01-14 ソニー株式会社 コンテンツ管理方法及びコンテンツ記憶システム
US6976265B1 (en) * 1998-10-08 2005-12-13 Ati International Srl Method and apparatus for controlling display of content signals
JP4763866B2 (ja) 1998-10-15 2011-08-31 インターシア ソフトウェア エルエルシー 2重再暗号化によりデジタルデータを保護する方法及び装置
EP1121780A4 (en) 1998-10-23 2003-08-13 L 3 Comm Corp DEVICE AND METHOD FOR KEY MANAGEMENT IN HETEROGENEOUS CRYPTODATA STRUCTURES
US7068787B1 (en) 1998-10-23 2006-06-27 Contentguard Holdings, Inc. System and method for protection of digital works
US6279114B1 (en) * 1998-11-04 2001-08-21 Sandisk Corporation Voltage negotiation in a single host multiple cards system
US6901457B1 (en) 1998-11-04 2005-05-31 Sandisk Corporation Multiple mode communications system
US6434535B1 (en) 1998-11-13 2002-08-13 Iomega Corporation System for prepayment of electronic content using removable media and for prevention of unauthorized copying of same
US6751670B1 (en) * 1998-11-24 2004-06-15 Drm Technologies, L.L.C. Tracking electronic component
US6938075B1 (en) 1998-12-24 2005-08-30 Computer Associates Think, Inc. Method and apparatus for hierarchical software distribution packages including composite packages
US7216348B1 (en) 1999-01-05 2007-05-08 Net2Phone, Inc. Method and apparatus for dynamically balancing call flow workloads in a telecommunications system
US7127515B2 (en) * 1999-01-15 2006-10-24 Drm Technologies, Llc Delivering electronic content
US6802006B1 (en) 1999-01-15 2004-10-05 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
AU2515800A (en) * 1999-01-26 2000-08-07 Infolio, Inc. Universal mobile id system and method for digital rights management
US6934255B1 (en) 1999-02-02 2005-08-23 Packeteer, Inc. Internet over satellite apparatus
US7130831B2 (en) 1999-02-08 2006-10-31 Copyright Clearance Center, Inc. Limited-use browser and security system
US7143067B1 (en) * 1999-02-09 2006-11-28 Lenovo (Singapore) Pte. Ltd. System and method for installing personal computer software
US6868497B1 (en) 1999-03-10 2005-03-15 Digimarc Corporation Method and apparatus for automatic ID management
US7103574B1 (en) 1999-03-27 2006-09-05 Microsoft Corporation Enforcement architecture and method for digital rights management
US6973444B1 (en) * 1999-03-27 2005-12-06 Microsoft Corporation Method for interdependently validating a digital content package and a corresponding digital license
US7383205B1 (en) 1999-03-27 2008-06-03 Microsoft Corporation Structure of a digital content package
US20020012432A1 (en) * 1999-03-27 2002-01-31 Microsoft Corporation Secure video card in computing device having digital rights management (DRM) system
US6829708B1 (en) * 1999-03-27 2004-12-07 Microsoft Corporation Specifying security for an element by assigning a scaled value representative of the relative security thereof
US7051005B1 (en) 1999-03-27 2006-05-23 Microsoft Corporation Method for obtaining a black box for performing decryption and encryption functions in a digital rights management (DRM) system
US7319759B1 (en) 1999-03-27 2008-01-15 Microsoft Corporation Producing a new black box for a digital rights management (DRM) system
US20020019814A1 (en) * 2001-03-01 2002-02-14 Krishnamurthy Ganesan Specifying rights in a digital rights license according to events
US6816596B1 (en) 2000-01-14 2004-11-09 Microsoft Corporation Encrypting a digital object based on a key ID selected therefor
US7024393B1 (en) 1999-03-27 2006-04-04 Microsoft Corporation Structural of digital rights management (DRM) system
US7073063B2 (en) * 1999-03-27 2006-07-04 Microsoft Corporation Binding a digital license to a portable device or the like in a digital rights management (DRM) system and checking out/checking in the digital license to/from the portable device or the like
US7136838B1 (en) * 1999-03-27 2006-11-14 Microsoft Corporation Digital license and method for obtaining/providing a digital license
US7356688B1 (en) 1999-04-06 2008-04-08 Contentguard Holdings, Inc. System and method for document distribution
US7286665B1 (en) 1999-04-06 2007-10-23 Contentguard Holdings, Inc. System and method for transferring the right to decode messages
US6937726B1 (en) 1999-04-06 2005-08-30 Contentguard Holdings, Inc. System and method for protecting data files by periodically refreshing a decryption key
US6859533B1 (en) 1999-04-06 2005-02-22 Contentguard Holdings, Inc. System and method for transferring the right to decode messages in a symmetric encoding scheme
JP4238411B2 (ja) * 1999-04-12 2009-03-18 ソニー株式会社 情報処理システム
US6889208B1 (en) * 1999-04-15 2005-05-03 Victor Company Of Japan, Ltd. Contents sale system
JP4362888B2 (ja) * 1999-05-18 2009-11-11 ソニー株式会社 情報処理装置および方法、並びに記録媒体
US6690880B1 (en) * 1999-05-21 2004-02-10 Ati International, Srl Method and apparatus for copy protection detection in a video signal
WO2000072160A1 (en) * 1999-05-25 2000-11-30 Freeflyr Llc Disk dispensing and retrieval system with automated quality control and internet usage feedback
US6687375B1 (en) * 1999-06-02 2004-02-03 International Business Machines Corporation Generating user-dependent keys and random numbers
US6940976B1 (en) 1999-06-02 2005-09-06 International Business Machines Corporation Generating user-dependent RSA keys
US6460023B1 (en) * 1999-06-16 2002-10-01 Pulse Entertainment, Inc. Software authorization system and method
AU6199500A (en) * 1999-06-25 2001-01-31 Centura Software Securing databases using mutual consent access
JP4127587B2 (ja) 1999-07-09 2008-07-30 株式会社東芝 コンテンツ管理方法およびコンテンツ管理装置および記録媒体
US7152165B1 (en) * 1999-07-16 2006-12-19 Intertrust Technologies Corp. Trusted storage systems and methods
WO2001006374A2 (en) 1999-07-16 2001-01-25 Intertrust Technologies Corp. System and method for securing an untrusted storage
US6928163B1 (en) 1999-07-20 2005-08-09 International Business Machines Corporation Methods, systems and computer program products for generating user-dependent RSA values without storing seeds
US7650504B2 (en) * 1999-07-22 2010-01-19 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
US7243236B1 (en) * 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
WO2001009702A2 (en) 1999-07-30 2001-02-08 Intertrust Technologies Corp. Methods and systems for transaction record delivery using thresholds and multi-stage protocol
US7171567B1 (en) * 1999-08-02 2007-01-30 Harris Interactive, Inc. System for protecting information over the internet
US8810582B2 (en) * 1999-08-06 2014-08-19 Sony Corporation Hair caching optimization techniques for use in a hair/fur pipeline
US8717362B2 (en) * 1999-08-06 2014-05-06 Sony Corporation Sub-patch optimization techniques for use in a hair/fur pipeline
US7880744B2 (en) * 1999-08-06 2011-02-01 Sony Corporation Geometric instance techniques for use in a hair/fur pipeline
US8624889B2 (en) 1999-08-06 2014-01-07 Sony Corporation Multiple instantiable effects in a hair/fur pipeline
US9070228B2 (en) * 1999-08-06 2015-06-30 Sony Corporation Instanced hair database for use in a hair/fur pipeline
US6952218B1 (en) * 1999-08-06 2005-10-04 Sony Corporation Method and apparatus for the digital creation of fur effects
US8711151B2 (en) * 1999-08-06 2014-04-29 Sony Corporation Hair motion compositor system for use in a hair/fur pipeline
US8624888B2 (en) * 1999-08-06 2014-01-07 Sony Corporation Screen space optimization techniques for use in a hair/fur pipeline
US6886098B1 (en) * 1999-08-13 2005-04-26 Microsoft Corporation Systems and methods for compression of key sets having multiple keys
US7065216B1 (en) 1999-08-13 2006-06-20 Microsoft Corporation Methods and systems of protecting digital content
WO2001015162A2 (en) * 1999-08-13 2001-03-01 Microsoft Corporation Methods and systems of protecting digital content
US7406603B1 (en) 1999-08-31 2008-07-29 Intertrust Technologies Corp. Data protection systems and methods
US6985885B1 (en) * 1999-09-21 2006-01-10 Intertrust Technologies Corp. Systems and methods for pricing and selling digital goods
US20060195400A1 (en) * 2000-10-13 2006-08-31 Patrick Patterson Controlling access to electronic content
AU7895900A (en) * 1999-10-20 2001-04-30 George J Tomko System and method for secure data handling over a network
US6885748B1 (en) 1999-10-23 2005-04-26 Contentguard Holdings, Inc. System and method for protection of digital works
GB9925227D0 (en) 1999-10-25 1999-12-22 Internet Limited Data storage retrieval and access system
WO2001031527A1 (en) * 1999-10-26 2001-05-03 Fraser Robert E Method for dynamically wrapping files for downloading
US7213005B2 (en) * 1999-12-09 2007-05-01 International Business Machines Corporation Digital content distribution using web broadcasting services
US6834110B1 (en) 1999-12-09 2004-12-21 International Business Machines Corporation Multi-tier digital TV programming for content distribution
EP1245009A1 (en) * 1999-12-17 2002-10-02 Chantilley Corporation Limited Secure transaction systems
JP2001175606A (ja) * 1999-12-20 2001-06-29 Sony Corp データ処理装置、データ処理機器およびその方法
DE19962902A1 (de) * 1999-12-23 2001-07-05 Erland Wittkoetter Vorrichtung zum Passwort-geschützten Handhaben eines elektronischen Dokuments
US6460140B1 (en) 1999-12-30 2002-10-01 Starnet Communications Corporation System for controlling the use of licensed software
US6654888B1 (en) 1999-12-31 2003-11-25 International Business Machines Corporation Installing and controlling trial software
US6772340B1 (en) 2000-01-14 2004-08-03 Microsoft Corporation Digital rights management system operating on computing device and having black box tied to computing device
AU2000269232A1 (en) * 2000-01-14 2001-07-24 Microsoft Corporation Specifying security for an element by assigning a scaled value representative ofthe relative security thereof
US7353209B1 (en) 2000-01-14 2008-04-01 Microsoft Corporation Releasing decrypted digital content to an authenticated path
US6912528B2 (en) * 2000-01-18 2005-06-28 Gregg S. Homer Rechargeable media distribution and play system
JP2001223384A (ja) * 2000-02-08 2001-08-17 Toshiba Corp 半導体発光素子
US20030018581A1 (en) * 2000-02-16 2003-01-23 Bratton Timothy R. Delivering media data to portable computing devices
US7200230B2 (en) * 2000-04-06 2007-04-03 Macrovision Corporation System and method for controlling and enforcing access rights to encrypted media
WO2001088817A1 (en) * 2000-05-17 2001-11-22 Smart Modular Technologies, (Ma) Inc. Fee management for programming of electronic devices
US10127518B2 (en) 2000-05-25 2018-11-13 Redbox Automated Retail, Llc System and kiosk for commerce of optical media through multiple locations
JP2001359070A (ja) * 2000-06-14 2001-12-26 Canon Inc データ処理装置、データ処理方法及びコンピュータ可読記憶媒体
US7024696B1 (en) 2000-06-14 2006-04-04 Reuben Bahar Method and system for prevention of piracy of a given software application via a communications network
WO2002001271A1 (en) * 2000-06-29 2002-01-03 Koninkl Philips Electronics Nv Multiple encryption of a single document providing multiple level access privileges
JP4973899B2 (ja) * 2000-07-06 2012-07-11 ソニー株式会社 送信装置、送信方法、受信装置、受信方法、記録媒体、および通信システム
US6438232B1 (en) 2000-07-14 2002-08-20 John Ga 1T Media, Inc. Method of securing the playback of a DVD-ROM via triggering data sent via a cable network
US20020031230A1 (en) * 2000-08-15 2002-03-14 Sweet William B. Method and apparatus for a web-based application service model for security management
US7010808B1 (en) * 2000-08-25 2006-03-07 Microsoft Corporation Binding digital content to a portable storage device or the like in a digital rights management (DRM) system
US7237125B2 (en) * 2000-08-28 2007-06-26 Contentguard Holdings, Inc. Method and apparatus for automatically deploying security components in a content distribution system
US6931545B1 (en) 2000-08-28 2005-08-16 Contentguard Holdings, Inc. Systems and methods for integrity certification and verification of content consumption environments
US7743259B2 (en) 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
US7073199B1 (en) 2000-08-28 2006-07-04 Contentguard Holdings, Inc. Document distribution management method and apparatus using a standard rendering engine and a method and apparatus for controlling a standard rendering engine
WO2002019147A1 (en) 2000-08-28 2002-03-07 Emotion, Inc. Method and apparatus for digital media management, retrieval, and collaboration
US6725303B1 (en) 2000-08-31 2004-04-20 At&T Corp. Method and apparatus for establishing a personalized connection with a network
US6978375B1 (en) 2000-09-08 2005-12-20 International Business Machines Corporation System and method for secure authentication of external software modules provided by third parties
US7222233B1 (en) * 2000-09-14 2007-05-22 At&T Corp. Method for secure remote backup
US6742028B1 (en) 2000-09-15 2004-05-25 Frank Wang Content management and sharing
US7039615B1 (en) 2000-09-28 2006-05-02 Microsoft Corporation Retail transactions involving digital content in a digital rights management (DRM) system
US7149722B1 (en) 2000-09-28 2006-12-12 Microsoft Corporation Retail transactions involving distributed and super-distributed digital content in a digital rights management (DRM) system
US7362868B2 (en) * 2000-10-20 2008-04-22 Eruces, Inc. Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US7343324B2 (en) 2000-11-03 2008-03-11 Contentguard Holdings Inc. Method, system, and computer readable medium for automatically publishing content
FI113898B (fi) * 2000-11-21 2004-06-30 Nokia Corp Menetelmä sisällön tuottamiseksi langattomaan viestintälaitteeseen
US7266704B2 (en) * 2000-12-18 2007-09-04 Digimarc Corporation User-friendly rights management systems and methods
US8055899B2 (en) * 2000-12-18 2011-11-08 Digimarc Corporation Systems and methods using digital watermarking and identifier extraction to provide promotional opportunities
US6912294B2 (en) 2000-12-29 2005-06-28 Contentguard Holdings, Inc. Multi-stage watermarking process and system
US7028009B2 (en) * 2001-01-17 2006-04-11 Contentguardiholdings, Inc. Method and apparatus for distributing enforceable property rights
US20030220880A1 (en) * 2002-01-17 2003-11-27 Contentguard Holdings, Inc. Networked services licensing system and method
US8069116B2 (en) 2001-01-17 2011-11-29 Contentguard Holdings, Inc. System and method for supplying and managing usage rights associated with an item repository
CN101369299B (zh) 2001-01-17 2010-06-09 康坦夹德控股股份有限公司 管理数字内容使用权利的方法和装置
US7774279B2 (en) 2001-05-31 2010-08-10 Contentguard Holdings, Inc. Rights offering and granting
US7206765B2 (en) * 2001-01-17 2007-04-17 Contentguard Holdings, Inc. System and method for supplying and managing usage rights based on rules
US6754642B2 (en) 2001-05-31 2004-06-22 Contentguard Holdings, Inc. Method and apparatus for dynamically assigning usage rights to digital works
US20070219918A1 (en) * 2001-01-19 2007-09-20 Jonathan Schull System and method for controlling access to protected information
KR100406630B1 (ko) * 2001-03-13 2003-11-20 엘지전자 주식회사 데모용 데이터의 기록 및 재생방법과, 그에 따른 기록매체
KR20020072934A (ko) * 2001-03-13 2002-09-19 엘지전자 주식회사 데모용 데이터가 기록된 재생전용 광디스크와, 그 재생방법
JP2002297477A (ja) * 2001-03-28 2002-10-11 Sony Computer Entertainment Inc 配信システム及び配信方法
US20030043852A1 (en) * 2001-05-18 2003-03-06 Bijan Tadayon Method and apparatus for verifying data integrity based on data compression parameters
US6973445B2 (en) * 2001-05-31 2005-12-06 Contentguard Holdings, Inc. Demarcated digital content and method for creating and processing demarcated digital works
US6976009B2 (en) 2001-05-31 2005-12-13 Contentguard Holdings, Inc. Method and apparatus for assigning consequential rights to documents and documents having such rights
US7152046B2 (en) * 2001-05-31 2006-12-19 Contentguard Holdings, Inc. Method and apparatus for tracking status of resource in a system for managing use of the resources
US8001053B2 (en) 2001-05-31 2011-08-16 Contentguard Holdings, Inc. System and method for rights offering and granting using shared state variables
US7725401B2 (en) * 2001-05-31 2010-05-25 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US8275709B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US6895503B2 (en) * 2001-05-31 2005-05-17 Contentguard Holdings, Inc. Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
US8099364B2 (en) 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US6876984B2 (en) 2001-05-31 2005-04-05 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US7222104B2 (en) * 2001-05-31 2007-05-22 Contentguard Holdings, Inc. Method and apparatus for transferring usage rights and digital work having transferrable usage rights
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US6824051B2 (en) * 2001-06-07 2004-11-30 Contentguard Holdings, Inc. Protected content distribution system
EP1340134A4 (en) * 2001-06-07 2004-07-28 Contentguard Holdings Inc METHOD AND DEVICE FOR SUPPORTING MULTIPLE TRUST ZONES IN A MANAGEMENT SYSTEM FOR DIGITAL RIGHTS
US7774280B2 (en) * 2001-06-07 2010-08-10 Contentguard Holdings, Inc. System and method for managing transfer of rights using shared state variables
BR0210932A (pt) * 2001-06-07 2004-06-08 Contentguard Holdings Inc Método e aparelho para gerenciar a transferência de direitos
FR2825877B1 (fr) * 2001-06-12 2003-09-19 Canal Plus Technologies Procede de controle d'acces a un programme crypte
US7239708B2 (en) * 2001-06-27 2007-07-03 Microsoft Corporation Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client
US6948073B2 (en) 2001-06-27 2005-09-20 Microsoft Corporation Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client
US7103912B2 (en) * 2001-06-29 2006-09-05 International Business Machines Corporation User authorization management system using a meta-password and method for same
JP4292733B2 (ja) * 2001-08-10 2009-07-08 コニカミノルタビジネステクノロジーズ株式会社 画像配布システム、画像データ配布装置、画像配布方法ならびに画像データ配布装置用プログラムおよびこれを記録したコンピュータ読み取り可能な記録媒体
US20030037003A1 (en) * 2001-08-16 2003-02-20 Parker Gillian Elizabeth ERushes rights
US7062045B2 (en) * 2001-09-06 2006-06-13 Clwt, Llc Media protection system and method
JP4226816B2 (ja) * 2001-09-28 2009-02-18 株式会社東芝 マイクロプロセッサ
US7562232B2 (en) 2001-12-12 2009-07-14 Patrick Zuili System and method for providing manageability to security information for secured items
USRE41546E1 (en) 2001-12-12 2010-08-17 Klimenty Vainstein Method and system for managing security tiers
US7930756B1 (en) 2001-12-12 2011-04-19 Crocker Steven Toye Multi-level cryptographic transformations for securing digital assets
US7783765B2 (en) 2001-12-12 2010-08-24 Hildebrand Hal S System and method for providing distributed access control to secured documents
US7631184B2 (en) 2002-05-14 2009-12-08 Nicholas Ryan System and method for imposing security on copies of secured items
US7921450B1 (en) 2001-12-12 2011-04-05 Klimenty Vainstein Security system using indirect key generation from access rules and methods therefor
US7921284B1 (en) 2001-12-12 2011-04-05 Gary Mark Kinghorn Method and system for protecting electronic data in enterprise environment
US7921288B1 (en) 2001-12-12 2011-04-05 Hildebrand Hal S System and method for providing different levels of key security for controlling access to secured items
US10360545B2 (en) 2001-12-12 2019-07-23 Guardian Data Storage, Llc Method and apparatus for accessing secured electronic data off-line
US10033700B2 (en) 2001-12-12 2018-07-24 Intellectual Ventures I Llc Dynamic evaluation of access rights
US7565683B1 (en) 2001-12-12 2009-07-21 Weiqing Huang Method and system for implementing changes to security policies in a distributed security system
US8065713B1 (en) 2001-12-12 2011-11-22 Klimenty Vainstein System and method for providing multi-location access management to secured items
US7178033B1 (en) 2001-12-12 2007-02-13 Pss Systems, Inc. Method and apparatus for securing digital assets
US7260555B2 (en) 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
US7478418B2 (en) 2001-12-12 2009-01-13 Guardian Data Storage, Llc Guaranteed delivery of changes to security policies in a distributed system
US7380120B1 (en) 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US7681034B1 (en) 2001-12-12 2010-03-16 Chang-Ping Lee Method and apparatus for securing electronic data
US8006280B1 (en) 2001-12-12 2011-08-23 Hildebrand Hal S Security system for generating keys from access rules in a decentralized manner and methods therefor
US7950066B1 (en) 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
US8176334B2 (en) 2002-09-30 2012-05-08 Guardian Data Storage, Llc Document security system that permits external users to gain access to secured files
US7343493B2 (en) 2002-03-28 2008-03-11 Lenovo (Singapore) Pte. Ltd. Encrypted file system using TCPA
US8613102B2 (en) 2004-03-30 2013-12-17 Intellectual Ventures I Llc Method and system for providing document retention using cryptography
US7680743B2 (en) * 2002-05-15 2010-03-16 Microsoft Corporation Software application protection by way of a digital rights management (DRM) system
US8909777B2 (en) 2002-06-26 2014-12-09 Intel Corporation Systems and methods for dynamic access to program features
US20040006541A1 (en) * 2002-07-08 2004-01-08 International Business Corporation Method and system for purchasing broadcast content
US9349411B2 (en) * 2002-07-16 2016-05-24 Digimarc Corporation Digital watermarking and fingerprinting applications for copy protection
US7274792B2 (en) * 2002-08-09 2007-09-25 Broadcom Corporation Methods and apparatus for initialization vector processing
US7343398B1 (en) 2002-09-04 2008-03-11 Packeteer, Inc. Methods, apparatuses and systems for transparently intermediating network traffic over connection-based authentication protocols
US7512810B1 (en) 2002-09-11 2009-03-31 Guardian Data Storage Llc Method and system for protecting encrypted files transmitted over a network
JP4027776B2 (ja) * 2002-10-25 2007-12-26 有限会社クリプトソフトウエア データ処理システム、処理装置及びコンピュータプログラム
US7836310B1 (en) 2002-11-01 2010-11-16 Yevgeniy Gutnik Security system that uses indirect password-based encryption
US7878908B2 (en) * 2002-11-14 2011-02-01 Nintendo Co., Ltd. Multiplexed secure video game play distribution
US7577838B1 (en) 2002-12-20 2009-08-18 Alain Rossmann Hybrid systems for securing digital assets
US7890990B1 (en) 2002-12-20 2011-02-15 Klimenty Vainstein Security system with staging capabilities
US7383586B2 (en) 2003-01-17 2008-06-03 Microsoft Corporation File system operation and digital rights management (DRM)
US7181016B2 (en) * 2003-01-27 2007-02-20 Microsoft Corporation Deriving a symmetric key from an asymmetric key for file encryption or decryption
US8181265B2 (en) * 2003-01-31 2012-05-15 Microsoft Corporation Secure machine counting
US7644442B2 (en) * 2003-01-31 2010-01-05 Microsoft Corporation Systems and methods for using machine attributes to deter software piracy in an enterprise environment
US7356709B2 (en) * 2003-01-31 2008-04-08 Microsoft Corporation Systems and methods for deterring software piracy in a volume license environment
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US7251832B2 (en) * 2003-03-13 2007-07-31 Drm Technologies, Llc Secure streaming container
US7089425B2 (en) 2003-03-18 2006-08-08 Ci4 Technologies, Inc. Remote access authorization of local content
DE10315526A1 (de) * 2003-04-04 2004-10-28 Siemens Ag Verfahren und Einrichtung zur sicheren Betriebsartenumschaltung einer industriellen Steuerung oder Regelung für Werkzeug- oder Produktionsmaschinen
DE10317037A1 (de) * 2003-04-14 2004-11-04 Orga Kartensysteme Gmbh Verfahren zum Schutz von Daten gegen unberechtigte Benutzung auf einem Mobilfunkgerät
US8707034B1 (en) 2003-05-30 2014-04-22 Intellectual Ventures I Llc Method and system for using remote headers to secure electronic files
JP4881538B2 (ja) * 2003-06-10 2012-02-22 株式会社日立製作所 コンテンツ送信装置およびコンテンツ送信方法
US7132953B2 (en) * 2003-06-26 2006-11-07 Lear Corporation Spring sensor assembly for a vehicle seat cushion
US7555558B1 (en) 2003-08-15 2009-06-30 Michael Frederick Kenrich Method and system for fault-tolerant transfer of files across a network
US7681035B1 (en) 2003-09-10 2010-03-16 Realnetworks, Inc. Digital rights management handler and related methods
IL157886A0 (en) * 2003-09-11 2009-02-11 Bamboo Mediacasting Ltd Secure multicast transmission
IL158158A (en) * 2003-09-29 2012-05-31 Bamboo Mediacasting Ltd Distribution of multicast data to users
US8127366B2 (en) 2003-09-30 2012-02-28 Guardian Data Storage, Llc Method and apparatus for transitioning between states of security policies used to secure electronic documents
US7703140B2 (en) 2003-09-30 2010-04-20 Guardian Data Storage, Llc Method and system for securing digital assets using process-driven security policies
US8103592B2 (en) * 2003-10-08 2012-01-24 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf of first process
US7979911B2 (en) * 2003-10-08 2011-07-12 Microsoft Corporation First computer process and second computer process proxy-executing code from third computer process on behalf of first process
US7788496B2 (en) * 2003-10-08 2010-08-31 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf thereof
WO2005043802A1 (en) 2003-10-20 2005-05-12 Drm Technologies, Llc Securing digital content system and method
JP4982031B2 (ja) 2004-01-16 2012-07-25 株式会社日立製作所 コンテンツ送信装置、コンテンツ受信装置およびコンテンツ送信方法、コンテンツ受信方法
JP4608886B2 (ja) * 2004-01-16 2011-01-12 株式会社日立製作所 コンテンツ送信装置および方法
US7500108B2 (en) * 2004-03-01 2009-03-03 Microsoft Corporation Metered execution of code
JP4645049B2 (ja) * 2004-03-19 2011-03-09 株式会社日立製作所 コンテンツ送信装置およびコンテンツ送信方法
US20060259191A1 (en) 2005-04-22 2006-11-16 Lowe J M System and method for vending vendible media products
US7234609B2 (en) * 2004-04-15 2007-06-26 Redbox Automated Retail, L.L.C. Article dispensing system and method for same
US7447605B2 (en) * 2004-04-15 2008-11-04 Redbox Automated Retail, Llc System and method for calibrating a vending apparatus
US20060242406A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US7681042B2 (en) * 2004-06-17 2010-03-16 Eruces, Inc. System and method for dis-identifying sensitive information and associated records
JP4333494B2 (ja) * 2004-06-17 2009-09-16 ソニー株式会社 コンテンツ再生装置,コンテンツ再生方法,コンテンツ管理装置,コンテンツ管理方法およびコンピュータプログラム。
US7707427B1 (en) 2004-07-19 2010-04-27 Michael Frederick Kenrich Multi-level file digests
US7590589B2 (en) 2004-09-10 2009-09-15 Hoffberg Steven M Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference
US20060080257A1 (en) * 2004-10-08 2006-04-13 Level 3 Communications, Inc. Digital content distribution framework
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US7805611B1 (en) * 2004-12-03 2010-09-28 Oracle America, Inc. Method for secure communication from chip card and system for performing the same
US7899189B2 (en) * 2004-12-09 2011-03-01 International Business Machines Corporation Apparatus, system, and method for transparent end-to-end security of storage data in a client-server environment
US7536016B2 (en) * 2004-12-17 2009-05-19 Microsoft Corporation Encrypted content data structure package and generation thereof
US7890428B2 (en) * 2005-02-04 2011-02-15 Microsoft Corporation Flexible licensing architecture for licensing digital application
US20070172053A1 (en) * 2005-02-11 2007-07-26 Jean-Francois Poirier Method and system for microprocessor data security
US9224137B1 (en) 2005-03-01 2015-12-29 Redbox Automated Retail, Llc System for an automated dispensing and retrieval kiosk for recorded media
US20060247606A1 (en) * 2005-03-09 2006-11-02 Batch Richard M System and method for controlling access to features of a medical instrument
US7549051B2 (en) * 2005-03-10 2009-06-16 Microsoft Corporation Long-life digital certification for publishing long-life digital content or the like in content rights management system or the like
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8738536B2 (en) * 2005-04-14 2014-05-27 Microsoft Corporation Licensing content for use on portable device
US7856404B2 (en) * 2005-04-14 2010-12-21 Microsoft Corporation Playlist burning in rights-management context
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US8060247B2 (en) 2005-04-22 2011-11-15 Redbox Automated Retail, Llc System and method for communicating secondary vending options
US8290874B2 (en) * 2005-04-22 2012-10-16 Microsoft Corporation Rights management system for streamed multimedia content
US7693280B2 (en) 2005-04-22 2010-04-06 Microsoft Corporation Rights management system for streamed multimedia content
US9507919B2 (en) 2005-04-22 2016-11-29 Microsoft Technology Licensing, Llc Rights management system for streamed multimedia content
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US8091142B2 (en) * 2005-04-26 2012-01-03 Microsoft Corporation Supplementary trust model for software licensing/commercial digital distribution policy
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US9652637B2 (en) 2005-05-23 2017-05-16 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for allowing no code download in a code download scheme
US20060271915A1 (en) * 2005-05-24 2006-11-30 Contentguard Holdings, Inc. Usage rights grammar and digital works having usage rights created with the grammar
US7684566B2 (en) 2005-05-27 2010-03-23 Microsoft Corporation Encryption scheme for streamed multimedia content protected by rights management system
US20070038518A1 (en) * 2005-06-08 2007-02-15 Canon Kabushiki Kaisha Image processing apparatus and method
US7438078B2 (en) * 2005-08-05 2008-10-21 Peter Woodruff Sleeping bag and system
US8321690B2 (en) * 2005-08-11 2012-11-27 Microsoft Corporation Protecting digital media of various content types
WO2007028241A2 (en) * 2005-09-07 2007-03-15 Universal Data Protection Corporation Method and system for data security of recording media
US20070078775A1 (en) * 2005-09-14 2007-04-05 Huapaya Luis M System and method for preventing unauthorized use of digital works
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
GB2431249A (en) * 2005-10-11 2007-04-18 Hewlett Packard Development Co Removable data storage item and key distribution
US20070143216A1 (en) * 2005-12-16 2007-06-21 Benaloh Josh D Data Signal with a Database and a Compressed Key
US20070162390A1 (en) * 2005-12-22 2007-07-12 Macrovision Corporation Techniques for distributing and monitoring content
US9397837B2 (en) * 2006-01-06 2016-07-19 Sicpa Holding Sa Secure access to information associated with a value item
JP2007202001A (ja) * 2006-01-30 2007-08-09 Kyocera Corp 携帯通信機器およびその制御方法
US9177176B2 (en) * 2006-02-27 2015-11-03 Broadcom Corporation Method and system for secure system-on-a-chip architecture for multimedia data processing
US9904809B2 (en) 2006-02-27 2018-02-27 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for multi-level security initialization and configuration
US20070239605A1 (en) * 2006-04-06 2007-10-11 Peter Munguia Supporting multiple key ladders using a common private key set
US20090048860A1 (en) * 2006-05-08 2009-02-19 Corbis Corporation Providing a rating for digital media based on reviews and customer behavior
US20070271202A1 (en) * 2006-05-08 2007-11-22 Corbis Corporation Determining content pricing for categories of use based on extrinsic and intrinsic factors
US8775319B2 (en) * 2006-05-15 2014-07-08 The Directv Group, Inc. Secure content transfer systems and methods to operate the same
US9489318B2 (en) 2006-06-19 2016-11-08 Broadcom Corporation Method and system for accessing protected memory
US10073743B2 (en) * 2006-07-26 2018-09-11 Hewlett Packard Enterprise Development Lp Data storage arrangement and key distribution
JP4930028B2 (ja) * 2006-12-13 2012-05-09 ソニー株式会社 情報処理装置、情報処理方法、プログラム
DE112006004173T5 (de) * 2006-12-15 2009-11-12 Agere Systems, Inc. Schutz eines programmierbaren Speichers gegen unberechtigte Veränderung
US7933765B2 (en) * 2007-01-25 2011-04-26 Corbis Corporation Cross-lingual information retrieval
US8073828B2 (en) 2007-06-14 2011-12-06 Curbis Corporation Licensed rights clearance and tracking for digital assets
WO2009002847A1 (en) * 2007-06-22 2008-12-31 Corbis Corporation Distributed media reviewing for conformance to criteria
EP2009587A1 (en) * 2007-06-29 2008-12-31 Deutsche Thomson OHG Method for distributing display information to a remote display device, a corresponding display device, a system for distributing display information and a signal comprising display information
JP2009027525A (ja) * 2007-07-20 2009-02-05 Nec Corp 光伝送システムおよび光伝送方法
US8681996B2 (en) * 2007-07-31 2014-03-25 Lsi Corporation Asymmetric key wrapping using a symmetric cipher
US8219494B1 (en) 2007-08-16 2012-07-10 Corbis Corporation End-to-end licensing of digital media assets
US9412125B2 (en) 2007-09-12 2016-08-09 Sony Corporation Open market content distribution
US8712872B2 (en) 2012-03-07 2014-04-29 Redbox Automated Retail, Llc System and method for optimizing utilization of inventory space for dispensable articles
US9886809B2 (en) 2007-09-28 2018-02-06 Redbox Automated Retail, Llc Article dispensing machine and method for auditing inventory while article dispensing machine remains operational
US8768789B2 (en) 2012-03-07 2014-07-01 Redbox Automated Retail, Llc System and method for optimizing utilization of inventory space for dispensable articles
US8341195B1 (en) 2007-10-04 2012-12-25 Corbis Corporation Platform for managing media assets for multi-model licensing over multi-level pricing and asset grouping
US8566960B2 (en) * 2007-11-17 2013-10-22 Uniloc Luxembourg S.A. System and method for adjustable licensing of digital products
EP2066069A1 (fr) * 2007-11-27 2009-06-03 Nagravision S.A. Méthode d'enregistrement et de restitution d'un contenu chiffré par une unité de traitement
CA2659016A1 (en) * 2009-03-23 2010-09-23 Doug P. Horsley Polychromatic harmonica
US9633183B2 (en) 2009-06-19 2017-04-25 Uniloc Luxembourg S.A. Modular software protection
US8423473B2 (en) * 2009-06-19 2013-04-16 Uniloc Luxembourg S. A. Systems and methods for game activation
US9104990B2 (en) 2009-09-05 2015-08-11 Redbox Automated Retail, Llc Article vending machine and method for exchanging an inoperable article for an operable article
US8996162B2 (en) 2009-09-05 2015-03-31 Redbox Automated Retail, Llc Article vending machine and method for exchanging an inoperable article for an operable article
US20110075537A1 (en) * 2009-09-25 2011-03-31 General Electric Company Holographic disc with improved features and method for the same
US20100185868A1 (en) * 2010-03-21 2010-07-22 William Grecia Personilized digital media access system
US8402555B2 (en) 2010-03-21 2013-03-19 William Grecia Personalized digital media access system (PDMAS)
US8538581B2 (en) 2010-09-03 2013-09-17 Redbox Automated Retail, Llc Article vending machine and method for authenticating received articles
US9569911B2 (en) 2010-08-23 2017-02-14 Redbox Automated Retail, Llc Secondary media return system and method
WO2012174171A2 (en) 2011-06-14 2012-12-20 Redbox Automated Retail, Llc System and method for substituting a media article with alternative media
EP2734972A4 (en) 2011-07-20 2014-12-03 Redbox Automated Retail Llc SYSTEM AND METHOD FOR PRESENTING THE IDENTIFICATION OF DIFFUSION MACHINES OF ARTICLES THAT ARE THE NEAREST GEOGRAPHICALLY
WO2013019818A2 (en) 2011-08-02 2013-02-07 Redbox Automated Retail, Llc System and method for generating notifications related to new media
WO2013025392A2 (en) 2011-08-12 2013-02-21 Redbox Automated Retail, Llc System and method for applying parental control limits from content providers to media content
US9747253B2 (en) 2012-06-05 2017-08-29 Redbox Automated Retail, Llc System and method for simultaneous article retrieval and transaction validation
US9922488B2 (en) 2013-10-16 2018-03-20 Redbox Automated Retail, Llc Wireless communication for consumer-operated kiosks
US10043015B2 (en) 2014-11-20 2018-08-07 At&T Intellectual Property I, L.P. Method and apparatus for applying a customer owned encryption
WO2017056150A1 (ja) * 2015-09-28 2017-04-06 三菱電機株式会社 メッセージ認証子生成装置、メッセージ認証子生成方法及びメッセージ認証子生成プログラム
US10694352B2 (en) 2015-10-28 2020-06-23 Activision Publishing, Inc. System and method of using physical objects to control software access

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4168396A (en) * 1977-10-31 1979-09-18 Best Robert M Microprocessor for executing enciphered programs
US4278837A (en) * 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4446519A (en) * 1981-05-26 1984-05-01 Corban International, Ltd. Method and apparatus for providing security for computer software
US4433207A (en) * 1981-09-10 1984-02-21 Best Robert M Cryptographic decoder for computer programs
US4658093A (en) * 1983-07-11 1987-04-14 Hellman Martin E Software distribution system
CA1238427A (en) * 1984-12-18 1988-06-21 Jonathan Oseas Code protection using cryptography
US4999806A (en) * 1987-09-04 1991-03-12 Fred Chernow Software distribution system
JPH0618367B2 (ja) * 1988-01-05 1994-03-09 日本電気株式会社 キー配送方式
US4937863A (en) * 1988-03-07 1990-06-26 Digital Equipment Corporation Software licensing management system
JPH0383132A (ja) * 1989-08-28 1991-04-09 Fujitsu Ltd ソフトウェア保護制御方式

Also Published As

Publication number Publication date
JPH0793148A (ja) 1995-04-07
US5319705A (en) 1994-06-07

Similar Documents

Publication Publication Date Title
JP2996331B2 (ja) ソフトウェア配布システム及びソフトウェア配布方法
US6636966B1 (en) Digital rights management within an embedded storage device
CA2212813C (en) Method and apparatus for cryptographically protecting data
US5428685A (en) IC memory card and method of protecting data therein
KR100188505B1 (ko) 화일 액세스 보호방법 및 컴퓨터 액세스 가능 메모리 매체
US4757534A (en) Code protection using cryptography
KR100200443B1 (ko) 소프트웨어 객체 배포 방법
JP3073590B2 (ja) 電子化データ保護システム、使用許諾者側装置および使用者側装置
KR100200445B1 (ko) 파일 액세스 보안유지 방법 및 장치
KR100200444B1 (ko) 소프트웨어 객체 배포 방법
JP3733026B2 (ja) 電子著作物販売装置
EP1855281B1 (en) Apparatus for writing data to a medium
US20030002671A1 (en) Delivery of electronic content over a network using a hybrid optical disk for authentication
JP2002251325A (ja) ソフトウェア・オブジェクトの配布を可能にするための方法および装置
JPH07129513A (ja) トランザクシヨン処理システム
JPH0820848B2 (ja) 検証方法及び装置
JPH08106382A (ja) ソフトウエア管理モジュール、ソフトウエア再生管理装置およびソフトウエア再生管理システム
EP0121853A2 (en) Data processing system having public encryption and private decryption keys
JPH0383132A (ja) ソフトウェア保護制御方式
KR100352782B1 (ko) 소프트웨어 암호화 방법, 소프트웨어 암호화 시스템 및 소프트웨어 복호화 시스템
US6424953B1 (en) Encrypting secrets in a file for an electronic micro-commerce system
JPS61264371A (ja) デ−タ保護方式
JPH05250268A (ja) コピーガード装置
JPS59123954A (ja) 記憶デ−タの不正使用防止方式
WO2007128418A1 (en) Apparatus for writing data to a medium

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071029

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081029

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091029

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101029

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101029

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111029

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121029

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121029

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 14

EXPY Cancellation because of completion of term