throbber
United States Patent [191
`
`[11] Patent Number:
`
`5,319,705
`
`U8005319705A
`
`
`
`
`
` Halter et a1. [45] Date of Patent: Jun. 7, 1994
`
`[75]
`
`[54] METHOD AND SYSTEM FOR MULTIMEDIA
`ACCESS CONTROL ENABLEMENT
`Inventors: Bernard J. Halter, Longmont, C010,;
`Alphonse M. Bracco, Reston, Va.;
`Donald B. Johnson, Manassas, Va.;
`An v, Le, Manassas, Va.; Stephen M.
`Matyas, ManassaS, Va.; Rostislaw
`Prymak, deceased, late of Dumfries,
`by Nancy Prymak, administrator;
`James D. Randall, Herndon, Va.;
`John D. Wilkins, Somerville, Va.
`International Business Machines
`Corporation, Armonk, N.Y.
`
`[73] Assignee:
`
`[21] APPI- N05 954,324
`[22] Filed:
`Oct. 21’ 1992
`
`Int. Cl.5 ............................................... H04L 9/00
`[51]
`[52] US. Cl. .......................................... 380/4; 38()/21;
`380/23; 380/25; 380/295 380/435 3388(0//4590
`_
`[58] Field Of Search ................... 380/4, 21, 23, 25, 29,
`380/43’ 49’ 50; 340/825'31’ 82534
`References Cited
`IJ.S. l>x\'rlarq'r I)()(:Ilhdlilq175
`
`[56]
`
`4,168,396 9/1979 Best ......................................... 380/4
`
`4,278,837 7/l98l Best .....
`380/4
`2/1984 Best .........
`4,433,207
`380/4
`
`5/1984 Thomas .......
`. 395/425
`4,446,519
`
`4,658,093 4/1987 Hellman ..........
`380/25
`......
`.. 380/25
`4,757,534
`7/1988 Matyas et a1.
`
`........................... 380/4
`4,937,863
`6/1990 Robert et a1.
`
`4,999,806 3/1991 Chernow et a1. ................... 380/4 X
`Primary Examiner—Bernarr E. Gregory
`Attorney, Agent, or Firm—John E. Hoel.
`
`ABSTRACT
`[57]
`A method and system are disclosed for securely distrib-
`uting a plurality of software files from a software distri-
`bution processor to a user processor, while selectively
`enabling the user processor to only use a subset of a
`lesser plurality of the software files. This is achieved by
`employing a customer key which includes a clear cus-
`tomer number and a derived portion derived from‘the
`customer number. The customer key is transformed into
`a second customer key which serves as a key expression
`for encrypting a file encryption key specifically in-
`tended for a respective one of the plurality of files. A
`plurality of software files can be stored together, for
`example on a CD-ROM, with each file encrypted under
`a corresponding file encryption key. The CD-ROM can
`be distributed to many user processors. When a specific
`user processor needs to run one of the software files, a
`request Will be transmitted from the User processor to
`the software distribution processor. In response to that
`request, an encrypted file encryption key specific for
`the requested file, will be transmitted to the user proces-
`sor. This will enable the user processor to decrypt only
`the requested file from the CD-ROM. All other files on
`the CD-ROM remain in their encrypted form and can-
`not be decrypted and used by the file encryption key
`received from the software distribution processor.
`
`21 Claims, 14 Drawing Sheets
`
`Software Distribution Processor
`
`10
`
`encrypted
`cryptographic
` encrypted
`subsystem
`
`
`file
`file
`
`distribution
`generation
`170
`
`
`means
`160
`means
`
`
`
`
`
`key
`key
`
`
`
`distribution
`generation
`
`
`
`means
`180
`means
`150
`
`
`
`User Processor
`
`key distribution
`
`
`medium
`31
`
`
`
`
`cryptographic
`key recovery
`
`
`
`Subsystem
`means
`250
`
`
`encrypted file
`
`distribution
`
`
`medium
`30
`
`
`
`file recovery
`
`
`means
`260
`
`
`
`Petitioner Apple - EX. 1019
`
`Petitioner Apple - Ex. 1019
`
`

`

`US. Patent
`
`June 7, 1994
`
`Sheet 1 of 14
`
`5,319,705
`
`FIG /
`
`FIG. 2
`
`Software
`
`Distribution
`
`
`Processor 10
`
`Encrypted Multimedia Files
`
`Keys
`
`
`
`
`20
`
`
`’ User
`|
`
`Processor
`
`Software
`
`Distribution
`
`Processor 10
`
`Encrypted Multimedia Files
`
`Keys
`
`Third Party
`Merchant
`
`15.
`
`
`
`
`Encrypted Multimedia Files
`
`Keys
`
`User
`
`Processor
`
`20
`
`Pefifionerflqnfle-REX.1019
`
`Petitioner Apple - Ex. 1019
`
`

`

`US. Patent
`
`June 7,1994
`
`Sheet 2 of 14
`
`5,319,705
`
`
`
`
`
`0HLommmuoLmco_u=nwLumwomgngpom
`
`:owuznvgpmwu
`
`
`
`owfimcwwe
`
`me
`
`=o_umgm:mm
`
`
`
`omflmagma
`
`Amx
`
`covazawLumwu
`
`
`
`omfimcome
`
`kuazLucm
`
`m__$
`
`umuaxgucm
`
`w__¥
`
`cowumgmcmm
`
`
`
`oofimagma
`
`uwsamLmouazLu
`
`Emumxmazm
`
`m.Gfix
`
`
`
`m_whuuunzgucm
`
`cowu:a_Lumwc
`
`omE=_uma
`
`
`
`>Lm>oumgmpwh
`
`commzcma
`
`5535953.;
`
`S238:.
`
`LmemUOLQme:
`
`ommmzmus
`
`agm>ouwgAmx
`
`u?;amgm0ua>Lu
`
`Emumxmnzm
`
`Pefifionerflqnfle-REX.1019
`
`Petitioner Apple - Ex. 1019
`
`
`
`
`
`
`
`
`
`
`

`

`US. Patent
`
`June 7,1994
`
`Sheet 3 of 14
`
`5,319,705
`
`
`
`uLoumLuox,vgoumguxux.mpu.zu
`
`
`
`
`
`my
`
`«mamummemo
`
`
`ofiflm=o_gu:=m
`
`«muggammwa
`
`cLoumL-¥e¥
`
`
`
`mcwumgmcmo-zm¥Lam—9
`
`HNH__mymcHzmx
`
`mmuw>gmmHm<
`
`vLoqu-o¥
`
`mmfi
`
`NoH
`
`mamLmzmohexmums
`
`Lepwgmcmo2m
`
`
`
`
`
`oofiEwamzmnzmu_;qmgoouazLu
`
`
`
`ULoumL-o¥.mumu
`
`Amumuvoxm
`
`mmfi
`
`
`
`
`
`wiLm>gpwapgzLUCm
`
`modmamLO#m
`
`
`
`xmxLmummz
`
`
`
`
`
`
`
`ugoumg-o¥.ugoumg-¥u¥.mp0.20
`
`onv_uxm
`
`mmH
`
`
`
`xmxLmEoumzome_u
`
`_m:Lmu:~
`
`“Loquhwymums
`
`NHHmumxom
`
`MHHyou
`
`VHHmow
`
`mHHmumxum
`
`¥u>o
`
`a:
`
`%.bxk
`
`Pefifionerflqnfle-REX.1019
`
`Petitioner Apple - Ex. 1019
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`US. Patent
`
`June 7, 1994
`
`Sheet 4 of 14
`
`5,319,705
`
`F/G.5
` ——————_————‘
`
`KGKL
`
`KGKR
`
`KML + KGKLCV l
`
`KML + KGKRCV I
`
`KMR + KGKLCV I
`
`KMR + KGKRCV
`
`fl
`
`KML + KGKLCV a
`
`KML + KGKRCV a
`
`e*KM+C1(KGKL)
`
`_
`
`e*KM+C2(KGKR)
`
`Petitioner Apple - EX. 101,9
`
`Petitioner Apple - Ex. 1019
`
`

`

`US. Patent
`
`June 7, 1994
`
`Sheet 50f 14
`
`5,319,705
`
`FIG. 6
`
`KGKLCV:
`
`X'0055110003C00000'
`
`KGKRCV:
`
`X'0055110003A00000'
`
`KDCV:
`
`X'OOOO7DOOO3000OOO'
`
`Pefifionerflqnfle-REX.1019
`
`Petitioner Apple - Ex. 1019
`
`

`

`U.S. Patent
`
`June 7, 1994
`
`Sheet 6 of 14
`
`5,319,705
`
`m(
`
`U
`4.)
`>5
`.5:
`
`OH
`
`U)
`<1)
`4.)
`>,
`.0
`
`O.
`
`—-I
`
`m
`(U
`.4.)
`>5
`.0
`
`LO
`.—1
`
`U)
`(U
`4—)
`>5
`.0
`.
`L0
`1—4
`
`Q)
`+4
`>,
`.0
`
`u—i
`
`Petitioner Apple - EX. 1019
`
`
`
`‘Ur—
`O.)
`-~
`H—
`>3
`(U
`.54
`
`'0
`Q)
`4-3
`D.
`>5
`5..
`
`UCC
`
`l)
`
`'C
`Q)
`>
`5—
`0.)
`Ln
`‘1)
`L
`
`-
`C3503
`ran—4
`.—--
`H—x
`
`.0
`‘0
`
`LO U
`
`Q)
`Q:
`
`>4
`L9
`5!
`
`.
`Q:
`\
`‘l
`
`Petitioner Apple - Ex. 1019
`
`

`

`I US. Patent
`
`June 7, 1994
`
`Sheet 7 of 14
`
`5,319,705
`
`F/G.8
`
`KD
`
`KML + KDCV .
`
`KMR + KDCV n
`
`KML + KDCV I
`
`e*KM¥C3(KD)
`
`Petitioner Apple - EX. 1019
`
`Petitioner Apple - Ex. 1019
`
`

`

`US. Patent
`
`4m79
`
`m
`
`4
`
`5,319,705
`
`mm.%\K
`
`nugoummox
`
`s>QQ¥ax
`umagma0Hweeks9HmmgznOH
`um>memL w“>nH
`um>memLu_m_+Louum>_ogacouu_mw%xmxumugzLucm
`
`
`
`
`
`
`mm_e
`
`.mfi.x
`
`mmuxnma
`
`Petitioner Apple - EX. 1019
`
`Petitioner Apple - Ex. 1019
`
`

`

`US. Patent
`
`June 7, 1994
`
`Sheet 9 of 14
`
`5,319,705
`
`If?/62.
`
`IZ7
`
`KD
`
`KCL' I
`
`a a
`
`e*KC'(KD)
`
`Petitioner Apple - EX. 1019
`
`Petitioner Apple - Ex. 1019
`
`

`

`US. Patent
`
`June 7, 1994
`
`Sheet 10 of 14
`
`5,319,705
`
`xogo:\¥o
`
`ox
`
`Hmm
`
`
`
`x»_Lm>zmxLusoumzu
`
`
`
`Aaxv.uxm.U¥
`
`xoHo:\xo
`
`mmmNewmsumo
`
`
`
`>¥_Lm>zmxmums
`
`xmxmama
`
`
`
`AQXV.0¥m,Ux
`
`umo_mgaamxmama
`
`mmm
`
`eflmm:o_gu==u
`
`_mcgmu:H
`
`NHNmumxom
`
`\\“3K
`
`mmuw>gmmHm<
`
`
`
`oomEmumxmnsmuwsaMLuouazLu
`
`
`
`
`
`Amumuvoxm.AD¥V.U¥Q.Ux
`
`mama
`
`
`
`uazLumowumomfimmomxum
`
`oflm¥u>w
`
`Pefifionerflqnfle-REX.1019
`
`Petitioner Apple - Ex. 1019
`
`
`
`
`
`
`
`
`

`

`US. Patent
`
`June 7, 1994
`
`Sheet ll-of 14
`
`5,319,705
`
`Software Distribution Processor 10:
`
`User Processor 20:
`
`FIG. /2
`
`passphrase
`302
`
`
`clear
`KGK
`
`
`instaii
`121
`
`
`
`
`
`key
`generate
`124
`
`
`customer
`ciear
`customer key:
`
`
`customer
`KC
`key
`
`
`
`verify
`
`
`221
`
`
`
`
`KGK-record
`
`customer number
`counter
`
`KC
`
`
`
`
`
`
`e*KC'(KD)
`
`
`
`
`key
`Iibrary
`
`KC,
`
`
`encrypted KD:
`e*KCKKD)
`e*KC'(KD) key
`
`generate
`
`122
`
` V K
`
`D-record
`
`
`
`KC, e*KC'(KD)
`
`[:: KD-record
`
`
`data
`encrypt
`encrypted data:
`eKD(0,data)
`with
`
`verify
`
`123
`
`
`
`
`KC, e*KC'(KD)
`
`Petitioner Apple - EX. 1019
`
`Petitioner Apple - Ex. 1019
`
`

`

`US. Patent
`
`mJ
`
`11
`
`m"
`
`an
`
`teeLuS
`
`11
`
`o.
`
`5,319,705
`
`4funBibs3.5-8E
`
`3.5cm3.533.5a33cc
`
`4m:H3.59.3.8.8
`
`
`Lotm0auxLesoumsugum
`
` mu.pmuuw
`
`mm.“a:H:newmm:7...
`IIIIIIIIaBI
`
`wincm3.5S3.5w3.53
`
`Pefifionerflqnfle-REX.1019
`
`
`
`xux«buLusoumau
`
`fim>cou L253:
`v:in;9mm
`uu>.Cwa398:3
`
`
`fix“3k
`
`
`
`"MHHfixuov>mxLmsoumzuuumgmcmu
`
`
`
`
`
`Petitioner Apple - Ex. 1019
`
`
`
`

`

`U.S. Patent
`
`June 7, 1994
`
`Sheet 13 of 14
`
`5,319,705
`
`first customer
`key
`
`FIG. ,4
`
`ciear
`cust no.
`
`derived from
`cust. no.
`
`clear
`cust no.
`
`derived from
`cust. no.
`
`
`
`350
`
`transformation
`function f 355
`
`second
`
`customer
`
`key
`
`ith file
`
`transformation
`function f 355
`
`'
`
`351
`
`
`
`
`encryption
`
`352
`means
`
`
`
`eKC2(KDi)
`
`decryption
`means
`353
`
`encrypting key
`
`KDi
`
`
`
`: encrypted
`eKC2(KDi)
`ith fiie encryption key
`
`31
`
`
`
`A plurality of fiies
`'
`
`FILEl
`FILE2
`
`FILEmax
`
`K01
`
`K02
`
`KDmax
`
`encryption
`means
`
`
`
`400
`
`decryption
`means
`354
`
`FILEi
`
`30
`
`A pluraiity of
`file encryption
`keys
`
`.
`
`.
`
`eKDl(FILE1)
`,
`eKDl(FILE2)
`
`eKDmax(FILEmax)
`
`Petitioner Apple - EX. 1019
`
`Petitioner Apple - Ex. 1019
`
`

`

`US. Patent
`
`June 7, 1994
`
`Sheet 14 of 14
`
`5,319,705
`
`FIG. /5
`
`Quantity
`
` Software
`
`
`
`
`200
`OS/2 2.0
`100
`05/2 2.0 ES (Extended Services)
`
`WordPerfect for 08/2
`500
`
`Program A
`50
`
`100
`Program 8
`
`
`
`
`
`FIG. /6
`
`Shrink-Wrapped Package
`
`500
`
`Stamped Medium 501
`
`Paper
`
`504
`.
`KC
`0009735124FF3A02
`
`052A899128C8F634
`
`BZ5071ADQC7FD3E6
`
`eKDi(Fi1e i)
`
`eKC'(KD)
`
`505
`
`503
`
`Petitioner Apple - EX. 1019
`
`Petitioner Apple - Ex. 1019
`
`

`

`1
`
`5,319,705
`
`METHOD AND SYSTEM FOR MULTIMEDIA
`ACCESS CONTROL ENABLEMENT
`
`DESCRIPTION
`1. Technical Field
`
`The invention disclosed broadly relates to data pro-
`cessing systems and methods and more particularly
`relates to cryptographic systems and methods for use in
`data processing systems to enhance security.
`2. Background Art
`The following patents and patent applications are
`related to this invention and are incorporated herein by
`reference:
`
`W. F. Ehrsam, et al., “Cryptographic Communica-
`tion and File Security Using Terminals,” US. Pat. No.
`4,386,234, issued May 31, 1983, assigned to IBM Corpo-
`ration and incorporated herein by reference.
`W. F. Ehrsam, et al., “Cryptographic File Security
`For Single Domain Networks,” US. Pat. No. 4,238,854,
`issued Dec. 9, 1980, assigned to IBM Corporation and
`incorporated herein by reference.
`W. F. Ehrsam, et al., “Cryptographic File Security
`For Multiple Domain Networks,” US. Pat. No.
`4,203,166, issued May 13, 1980, assigned to IBM Corpo-
`ration and incorporated herein by reference.
`R. M. Best, “Cryptographic Decoder for Computer
`Programs,” US. Pat. No. 4,433,207,
`issued Feb. 21,
`1984.
`
`R. M. Best, “Crypto Microprocessor that Executes
`Enciphered Programs,” US. Pat. No. 4,465,901, issued
`Aug. 14, 1984.
`Richard Johnstone., “Computer Software Security
`System,” US. Pat. No. 4,120,030, issued Oct. 10, 1978.
`S. M. Matyas, et al., “Code Protection Using Cryp-
`tography," US. Pat. No. 4,757,534, issued Jul. 12, 1988,
`assigned to IBM Corporation and incorporated herein
`by reference.
`B. Brachtl, et al., “Controlled Use of Cryptographic
`Keys Via Generating Stations Established Control Val-
`ues,” US. Pat. No. 4,850,017, issued Jul. 18, 1989, as-
`signed to IBM Corporation and incorporated herein by
`reference.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`S. M. Matyas, et al., “Secure Management of Keys
`Using Control Vectors,” US. Pat. No. 4,941,176, issued
`Jul. 10, 1990, assigned to IBM Corporation and incorpo-
`rated herein by reference.
`S. M. Matyas, et al., “Data Cryptography Operations
`Using Control Vectors,” US. Pat. No. 4,918,728, issued
`Apr. 17, 1990, assigned to IBM Corporation and incor-
`porated herein by reference.
`B. Brachtl, eta1., “Data Authentication Using Modi-
`fication Detection Codes Based on a Public One Way
`Encryption Function,” US. Pat. No. 4,908,861, issued
`Mar. 13, 1990, assigned to IBM Corporation and incor-
`porated herein by reference.
`A. S. Cutlip-Cohen, et al., “Data processing method
`to provide a generalized link from a reference point in
`an on-line book to an arbitrary multimedia object which
`can be dynamically updated”, Ser. No. 07/755,709, Sep.
`6, 1991, assigned to IBM Corporation and incorporated
`herein by reference.
`A digital data processing system contains three basic
`elements: a processor element, a memory element, and
`an input/output element. The memory element contains
`addressable software programs and data. The processor
`element fetches and processes information stored in the
`memory element. The input/output element, under
`
`45
`
`50
`
`55
`
`65
`
`2
`control of the processor element, communicates with
`the memory element, storing and retrieving information
`from the memory element. The input/output element
`itself can consist of several different types of units capa-
`ble of supporting multimedia applications, including a
`video display,
`light pen, sound synthesizer, micro-
`phone, keyboard, mouse, printer, and communication
`adapter enabling networking communications to take
`place.
`Generation and sales of multimedia programs and
`data represents a significant business opportunity for
`companies who sell computing equipment and for com-
`panies who sell multimedia programs and data alone. A
`multimedia application can consist of a multimedia han-
`dler program that supports the presentation of one or
`more multimedia objects, where each multimedia object
`may be a separate multimedia data file. Many different
`multimedia objects, or data files, can be linked into a
`single multimedia presentation, including both text and
`non-text objects. Non-text objects includes image ob-
`jects, graphics objects, formatted data objects, font
`objects, voice objects, video objects, and animation
`objects. The multimedia handler program provides
`generalized links to arbitrary multimedia objects, such
`that the multimedia objects or data files can be updated
`dynamically. Such dynamic update capability simplifies
`the creation of a new version or edition of the multime-
`dia presentation. The concept of a generalize link is
`described in
`IBM patent
`application Ser. No.
`07/755,709.
`Delivery of multimedia programs and data files
`(termed “software”) can be done in several ways. The
`software can be bundled and sold with the hardware. It
`can be sold as a separately-priced package,
`i.e., the
`software is distributed on a physical medium such as a
`diskette or tape. It can also be distributed to each cus-
`tomer or user processor from a central software distri-
`bution processor via telephone lines, TV-cable, satellite
`or radio broadcast. More recently, software vendors
`have expressed an interest in distributing software by
`using a stamped medium such as a Compact Disk Read
`Only Memory (CD-ROM) or an Optical Read Only
`Memory (OROM). A CD-ROM can hold about 600
`megabytes of data —- enough storage to hold several
`hundred program or data files. Such a distribution
`mechanism is particularly attractive, since production
`costs decrease significantly with higher volumes. How-
`ever, when software is distributed over an open channel
`(e.g., telephone lines, TV-cable, satellite or radio broad-
`cast) or via a high-density stamped medium (e.g., CD-
`ROM or OROM), much software is literally “put into
`the hands” of tens or hundreds of thousands of others
`who did not request the software and who have no need
`or wish to see the software, but who now have easy
`access to the software and who may be tempted to
`violate licence and copyright restrictions. The net ex-
`pected result of such violations is a loss of revenues to
`software authors, publishers, and vendors. Thus, the
`distribution of software over an open channel or via a
`high-density stamped medium creates a problem quite
`unique and different from the more traditional problem
`of unauthorized copying and use of software. Although
`this is not the problem addressed by the present inven-
`tion, it is nevertheless described herein in order to con-
`trast the present invention with more traditional soft-
`ware protection methods existing in the prior art.
`
`Petitioner Apple - EX. 1019
`
`Petitioner Apple - Ex. 1019
`
`

`

`3
`The prior art describes various systems for encipher-
`ing digital
`information to improve the security and
`privacy of data transmitted over communications net-
`works. Such data may be messages transmitted during a
`communication session between two encryption proces-
`sors or it may be data contained in a data file transmitted
`from a sending processor to a receiving processor. Such
`data files can contain executable program as well as
`pure data. Examples of file encryption systems can be
`found in U.S. Pat. Nos. 4,386,234, 4,238,854, and
`4,203,166 to Ehrsam et a]. In all cases, once an en-
`crypted file is decrypted the program or data con-
`tained in the file must be protected using more tradi~
`tional access control methods. However, such access
`control methods do not prevent one user from sharing
`decrypted programs and data with other users.
`The problem of unauthorized copying and use of
`program has been addressed by the prior art. U.S. Pat.
`No. 4,120,030 to Johnstone discloses a computer soft-
`ware security system wherein the data address portions
`of a set of computer instructions are scrambled in accor-
`dance with a predetermined cipher key before the in-
`structions are loaded into an instruction memory. The
`data involved in the program is loaded into a separate
`data memory at the addresses specified in the original,
`unscrambled program. An unscrambler circuit, which
`operates in accordance with the cipher key, is coupled
`in series with the data memory address input conduc-
`tors.
`
`U.S. Pat. No. 4,168,396 to Best discloses a micro-
`processor for executing computer programs which
`have been enciphered during manufacture to deter the
`execution of the programs in unauthorized computers.
`U.S. Pat. No. 4,278,837 to Best discloses a crypto-
`microprocessor chip that uses a unique cipher key or
`tables for deciphering a program so that a program that
`can be executed in one chip cannot be run in any other
`microprocessor. U.S. Pat. No. 4,433,207 to Best dis-
`closes an integrated circuit decoder for providing micro
`computer users with access to several proprietary pro-
`grams that have been distributed to users in cipher. The
`decoder chip can decipher a program when an enci-
`phered key called a “permit code” is presented to the
`decoder chip.
`U.S. Pat. No. 4,446,519 to Thomas discloses a method
`for providing security for computer software by pro-
`viding each purchaser of a software package with an
`electronic security device which must be operatively
`connected to the purchaser’s computer. The software
`sends coded interrogation signals to the electronic secu-
`rity device which processes the interrogation signals
`and transmits coded response signals to the software.
`The programs will not be executed unless the software
`recognizes the response signals according to prese-
`lected security criteria.
`U.S. Pat. No. 4,757,534 to Matyas, et al., discloses a
`cryptographic method for discouraging the copying
`and sharing of purchased software programs while al-
`lowing an encrypted program to be run on only a desig-
`nated computer or, alternatively, to be run on any com-
`puter but only by the user possessing a designated smart
`card. Each program offering sold by the software ven-
`dor is encrypted with a unique file key and then written
`on a diskette. A user who purchases a diskette having
`written thereon an encrypted program must first obtain
`a secret password from the software vendor. This pass-
`word will allow the encrypted program to be recovered
`at a prescribed, designated computer having a properly
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`5,319,705
`
`4
`implemented and initialized encryption feature. The
`encryption feature decrypts the file key of the program
`from the password, and when the encrypted program is
`loaded at the proper computer, the program or a por-
`tion of it is automatically decrypted and written into a
`protected memory from which it can only be executed
`and not accessed for non-execution purposes.
`As the reader will see from the cited prior art, the
`traditional problem of unauthorized copying and use of
`programshasbeentomakeithard,orinsomecases
`difficult, to copy part or all of the program once it has
`been decrypted within the secure cryptographic proces-
`sor. This can be done by executing the program on the
`decryption chip itself or by transferring the decrypted
`program, or a designated portion of the decrypted pro-
`gram, from the secure cryptographic processor to a
`protected memory it is executed. Problems associated
`with software distribution over an open channel or
`using high-density stamped media are overlooked or
`neglected.
`OBJECTS OF THE INVENTION
`
`It is therefore an object of the invention to provide an
`improved method of multimedia software distribution
`over an open channel or using high-density stamped
`media.
`It is another object of the invention to provide a
`cryptographic method for the protection of multimedia
`program and data files distributed over an open channel
`or using high-density stamped media.
`It is another object of the invention to provide a
`means for controlling access to multimedia programs
`and data files distributed over an open channel or using
`high-density stamped media so that an authorized user
`can access (i.e., decrypt and recover) files he/she has
`purchased and licensed but an unauthorized user cannot
`access (i.e., decrypt and recover) files he/she has not
`purchased and licensed.
`It is another object of the invention to provide a
`means for using cryptographic keys — consisting of
`customer and data keys — to control access to en-
`crypted multimedia files.
`It is another object of the invention to provide a
`means for associating and tracing a customer key to a
`particular customer or user, thereby discouraging users
`from sharing keys or posting them on a computer bulle-
`tin board.
`It is another object of the invention to provide a
`means for tracing customer keys to customers by assign-
`ing a unique customer number to each customer and by
`making the customer number a sub-portion of the clear
`customer key.
`It is another object of the invention to provide a
`means whereby encrypted multimedia files cannot be
`decrypted except at a user processor with a capability
`for multimedia file recovery, as specified by the inven-
`tion. That is, an encrypted file and the keys needed for
`decrypting the file are not, by themselves, enough to
`decrypt the file.
`‘
`It is another object of the invention to provide a
`multimedia file recovery procedure that makes use of a
`copyright-protected function which is new and unique
`to the file recovery procedure (i.e., the function does
`not exist in any book or printed literature to which a
`user can easily be directed), which is complex (i.e., one
`cannot easily provide a written description of the func-
`tion except by directly copying it), and which is of
`modest size (i.e., if the function is copied, and possibly
`
`Petitioner Apple - EX. 1019
`
`Petitioner Apple - Ex. 1019
`
`

`

`5
`posted on a computer bulletin board, it will be conspicu-
`ous because of its size).
`It is another object of the invention to provide a
`means for cryptographic keys to be self-authenticating
`based on authentication information stored within the
`keys themselves. This will help to minimize cases of
`incorrectly initialized keys and incorrectly decrypted
`files.
`
`It is another object of the invention to provide a key
`management scheme that supports software distribution
`from both a central software distribution facility and
`from merchants who contract with the software vendor
`and receive the necessary pre-calculated keys to be
`given to customers who purchase multimedia software.
`SUMMARY OF THE INVENTION
`
`These and other objects, features, and advantages are
`accomplished by the invention disclosed herein.
`Unlike much of the prior art, the present invention
`does not solve, or attempt to solve, the traditional prob-
`lem of unauthorized copying and use of programs. That
`is, the invention does not solve the problem of copying
`software once it has been received and decrypted at a
`user processor. An assumption is made that ordinary
`software licences and copyright protection law are
`sufficient to deter such unauthorized copying and use of
`programs once they have been received and decrypted.
`Instead,
`the invention describes a cryptographic
`means for protecting software distributed over an open
`channel or via a high-density stamped medium. For
`software files purchased by a user, the method provides
`an easy means to decrypt and recover the software files
`at a user processor. The method is based on the use of
`encryption keys issued to the user by the software distri-
`bution processor. These encryption keys, when initial-
`ized in the user processor, enable file recovery to take
`place. The method is also such that it is difficult for a
`user to circumvent security and decrypt an encrypted
`file without possessing a customer-unique key (called a
`customer key) and without possessing the correct en-
`crypted file key needed to “unlock” or decrypt the
`encrypted file.
`Each multimedia file is encrypted with a secret data
`key (KD). The same data key can encrypt multiple files
`if there is some logical association of the files (e.g., files
`are grouped and sold as a unit).
`The encrypted files are distributed over an open
`channel or via high-density stamped media. Those
`skilled in the art will recognize that the invention is not
`limited to only these two methods of software distribu-
`tion, but that the invention is aimed at solving a problem
`particular to these two methods of software distribu-
`tion.
`Each customer who purchases multimedia software is
`given a unique customer key. The customer key con-
`tains a customer-unique customer number, which is
`assigned and provided to the customer using means
`outside the scope of the present invention. The inven-
`tion permits multiple customer numbers and customer
`keys to be provided to a single customer. For example,
`a large customer like General Motors may have many
`customer numbers, so that software orders can be
`placed by many groups or areas within a single large
`corporation or business.
`When a customer purchases multimedia software
`from a software distribution facility, the customer pro-
`vides his/her customer number. The customer key is
`produced from a set of variables consisting of an as-
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`65
`
`5,319,705
`
`6
`'signed customer number, a counter (arbitrarily set to
`zero), and a secret key-generating key (KGK) known
`only to the software distribution center. A special copy-
`right-protected function (f) is then used to derive a
`variant customer key (KC') from the customer key. The
`data key(s) associated with the multimedia file(s) pur-
`chased by the customer are then encrypted with the
`variant customer key. The clear customer key and the
`encrypted file key(s) are provided to the customer (e.g.,
`transmitted electronically from the software distribu-
`tion processor to the user processor, written on a dis-
`kette and mailed to the customer, or orally transmitted
`over a telephone). At the user processor, the keys and
`encrypted file(s) are initialized and made available to
`the file recovery program. The file recovery program
`decrypts and recovers the file(s). When a customer
`purchases additional software, he/she will receive one
`or more encrypted data keys to permit the encrypted
`files to be recovered. As the clear customer key will be
`the same as before, a clear customer key may or may not
`be provided. The system will be able to recover the
`previously entered customer key to avoid having the
`user being required to re-enter it. Altemately, the user
`can enter it, as desired.
`When software is purchased from an independent
`merchant, the customer will receive a pre-generated
`customer key issued in advance to the merchant. The
`pre-generated customer keys are supplied to the mer-
`chant by the software distribution center (e.g., IBM
`software distribution center). For example, a merchant
`who orders 200 08/2 licenses would receive 200 CD-
`ROMs and 200 shrink-wrapped license packets. Each
`license packet would have a sheet of paper with a cus-
`tomer key printed on it. The customer keys given to
`each merchant are produced from a set of variables
`consisting of an assigned customer number given to the
`merchant, an incrementing counter associated with the
`merchant, and a secret key-generating key. When the
`keys are generated for a merchant, the counter is incre-
`mented for each license issued and thus, the merchant
`would receive 200 different customer keys. In this case,
`the software distribution center must only keep track of
`the number of keys issued to each merchant. The mer-
`chant’s customer number, at the front of the customer
`key, would be the same for each generated key.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`These and other objects, features, and advantages of
`the invention will be more fully appreciated with refer-
`ence to the accompanying figures.
`FIG. 1 is a block diagram illustrating multimedia
`software distribution from a software distribution pro-
`cessor to a user processor.
`FIG. 2 is a block diagram illustrating multimedia
`software distribution from a software distribution pro-
`cessor to a merchant processor and from the merchant
`processor to a user processor.
`FIG. 3 is a block diagram further amplifying and
`illustrating multimedia software distribution from a
`software distribution processor belonging to a software
`vendor to a user processor belonging to a user.
`FIG. 4 is a block diagram illustration of crypto-
`graphic subsystem 100 at software distribution proces-
`sor 10.
`FIG. 5 is a block diagram illustration of the method
`for encrypting a key-generating key using a variant key
`produced from the master key KM and a control vector
`associated with the key-generating key.
`
`Petitioner Apple - EX. 1019
`
`Petitioner Apple - Ex. 1019
`
`

`

`7
`FIG. 6 contains a specification for the control vectors
`KGKLCV and KGKRCV associated with the left and
`
`right 64‘bit parts of key-generating key KGK.
`FIG. 7 is a block diagram illustration of a KGK re-
`cord.
`
`5
`
`FIG. 8 is a block diagram illustration of the method
`for encrypting a data key using a variant key produced
`from the master key KM and a control vector associ-
`ated with the data key.
`FIG. 9 is a block diagram illustration of a KD-record.
`FIG. 10 is a block diagram illustration of the method
`for encrypting a data key with a variant customer key
`KC’.
`
`FIG. 11 is a block diagram illustration of crypto-
`graphic subsystem 200 at user processor 20.
`FIG. 12 is a block diagram illustration of the se-
`quence of API-callable services that must be performed
`to accomplish software distribution from software dis-
`tribution center 10 to user processor 20.
`FIG. 13 is a block diagram illustration of the process
`for producing a customer key with the Generate Cus-
`tomer Key (GCK) internal function 113 available in
`cryptographic subsystem 100 of software distribution
`processor 10, as shown in FIG. 4.
`FIG. 14 is a block diagram illustration of software
`distribution from a software distribution processor 10 to
`a user processor 20.
`FIG. 15 is an example list of software to be purchased
`from a software vendor.
`
`FIG. 16 is an illustration of a shrink wrapped package
`containing a stamped medium and a piece of paper on
`which is printed a clear customer key KC and an en-
`crypted ith file key e‘KC’(KDi), where RC is the vari-
`ant customer key produced from KC.
`DESCRIPTION OF THE BEST MODE FOR
`CARRYING OUT THE INVENTION
`
`The invention describes a method for multimedia
`
`software distribution in situations where a user pur-
`chases software directly from a software vendor or
`where a user purchases software from an independent
`merchant who purchases the software from a software
`vendor.
`FIG. 1 is a block diagram illustrating multimedia
`software distribution from a software distribution pro-
`cessor 10 belonging to a software vendor such as IBM
`to a user processor 20 belonging to a user. The pur-
`chased/licensed multimedia software is distributed as
`one or more encrypted multimedia files and a set of
`cryptographic keys that permit the encrypted multime-
`dia files to be decrypted and recovered at the user pro
`cessor.
`
`FIG. 2 is a block diagram illustrating multimedia
`software distribution from a software distribution pro-
`cessor 10 belonging to a software vendor to a third
`party merchant 15 and thence from the third party
`merchant 15 to a user processor 20 belonging to a user.
`In this case, the merchant purchases software from the
`software vendor at a wholesale price for subsequent
`re-sale to users at a retail price. The merchant is a cus-
`tomer of the software vendor and the user is a customer
`of the merchant.
`FIG. 3 is a block diagram further amplifying and
`illustrating multimedia software distribution from a
`software distribution processor 10 belonging to a soft-
`ware vendor (e.g., IBM) to a user processor 20 belong-
`ing to a user. The multimedia programs and files distrib-
`uted via this method shall be referred to as files or multi-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`65
`
`5,319,705
`
`media files. Software distribution processor 10 contains
`a cryptographic subsystem 100 for performing data
`encryption and other key management services, a key
`generation means 150 for generating keys, an encrypted
`file generation means 160 for encrypting files, a

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket