throbber
(12) United States Patent
`England et al.
`
`111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US006327652Bl
`US 6,327,652 Bl
`Dec. 4, 2001
`
`(10) Patent No.:
`(45) Date of Patent:
`
`(54) LOADING AND IDENTIFYING A DIGITAL
`RIGHTS MANAGEMENT OPERATING
`SYSTEM
`
`(75)
`
`Inventors: Paul England, Bellvue; John D.
`DeTreville, Seattle, both of WA (US);
`Butler W. Lampson, Cambridge, MA
`(US)
`
`(73) Assignee: Microsoft Corporation, Redmond, WA
`(US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 09/227,611
`
`(22) Filed:
`
`Jan. 8, 1999
`
`Related U.S. Application Data
`(60) Provisional application No. 60/105,891, filed on Oct. 26,
`1998.
`
`(51)
`
`Int. Cl? ...................................................... G06F 9/445
`
`(52) U.S. Cl. ................................................. 713/2; 713/200
`(58) Field of Search .................................... 713/1, 2, 155,
`713/164-167, 200; 717!11
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,827,508
`4,969,189
`4,977,594
`5,050,213
`5,140,634
`5,276,311
`5,410,598
`5,473,690
`5,473,692
`5,544,246
`5,654,746
`5,721,781
`5,796,824
`5,812,662
`
`5/1989 Shear .
`11/1990 Ohta eta!..
`12/1990 Shear .
`9/1991 Shear .
`8/1992 Guillou et a!. .
`1!1994 Hennige.
`4/1995 Shear .
`12/1995 Grimonprez et a!. .
`12/1995 Davis.
`8/1996 Mandelbaum et a!. .
`8/1997 McMullan, Jr. et a!. .
`2/1998 Deo eta!..
`8/1998 Hasebe eta!..
`9/1998 Hsu eta!..
`
`5,812,980
`5,892,900
`5,910,987
`5,915,019
`5,917,912
`5,920,861
`5,933,498
`5,940,504
`5,943,422
`5,949,876
`5,953,502 *
`5,982,891
`5,991,876
`6,006,332
`6,009,274
`6,009,401
`
`9/1998
`4/1999
`6/1999
`6/1999
`6/1999
`7/1999
`8/1999
`8/1999
`8/1999
`9/1999
`9/1999
`11/1999
`11/1999
`12/1999
`* 12/1999
`12/1999
`
`Asai.
`Ginter.
`Ginter eta!..
`Ginter eta!..
`Ginter eta!..
`Hallet a!. .
`Schneck et a!. .
`Griswold.
`VanWie eta!..
`Ginter eta!..
`Helbig, Sr ............................ 713/200
`Ginter eta!..
`Johnson et a!. .
`Rabne eta!..
`Fletcher et a!. ...................... 713/1 X
`Horstmann.
`
`(List continued on next page.)
`
`OTHER PUBLICATIONS
`
`Abadi et al., "Authentication and Delegations with Smart(cid:173)
`cards", Jul. 30, 1992, 30 pages.
`
`(List continued on next page.)
`Primary Examiner-Thomas M. Heckler
`(74) Attorney, Agent, or Firm-Lee & Hayes, PLLC
`ABSTRACT
`(57)
`
`The identity of an operating system running on a computer
`is determined from an identity associated with an initial
`component for the operating system, combined with iden(cid:173)
`tities of additional components that are loaded afterwards.
`Loading of a digital rights management operating system on
`a subscriber computer is guaranteed by validating digital
`signatures on each component to be loaded and by deter(cid:173)
`mining a trust level for each component. A trusted identity
`is assumed by the digital rights management operating
`system when only components with valid signatures and a
`pre-determined trust level are loaded. Otherwise, the oper(cid:173)
`ating system is associated with an untrusted identity. Both
`the trusted and untrusted identities are derived from the
`components that were loaded. Additionally, a record of the
`loading of each component is placed into a boot log that is
`protected from tampering through a chain of public-private
`key pairs.
`
`31 Claims, 10 Drawing Sheets
`
`Petitioner Apple Inc. - Ex. 1009, p. 1
`
`

`
`US 6,327,652 Bl
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`6,073,124
`6,112,181
`6,138,119
`6,148,402
`6,157,721
`6,185,683
`
`6/2000 Krishnan et a!. .
`8/2000 Shear et a!. .
`10/2000 Hall et a!. .
`11/2000 Campbell .
`12/2000 Shear et a!. .
`2/2001 Ginter et a!. .
`
`01HER PUBLICATIONS
`
`Murphy et al., "Preventing Pirvacy: Authorization Software
`May Ease Hollywood's Fear of the Net", Internet World
`Magazine, Apr. 1, 2000, 3 pages.
`"Internet Security: SanDisk Products and New Microsoft
`Technology Provide Copy Protected Music for Internet
`Music Player Market. (Product Announcement)", Edge:
`Work Group Computing Report, Apr. 19, 1999, 2 pages.
`
`Arbaugh et al., "A Secure and Reliable Bootstrap Architec(cid:173)
`ture", Distributed Systems Laboratory, Philadelphia, PA,
`1997, pp. 65-71.
`
`Lampson et al., "Authentication in Distributed Systems:
`Theory and Practice", Digital Equipment Corporation,ACM
`Transactions on Computer Systems, vol. 10, No. 4, Nov.
`1992, pp 265-310.
`
`Clark et al., "Bits: A Smartcard Protected Operation Sys(cid:173)
`tem", Communications of the ACM, vol. 37, No. 11, Nov.
`1994, pp. 66-70, 94.
`
`Yee, "Using Secure Coprocessors", School of Computer
`Science, Carnegie Mellon University, 1994, 104 pages.
`
`* cited by examiner
`
`Petitioner Apple Inc. - Ex. 1009, p. 2
`
`

`
`1--"
`~
`N
`(It
`'0-,
`""-l
`N
`~
`0'1
`rJ'l
`
`e
`
`'"""' c
`'"""' 0 .....,
`~ .....
`'JJ. =(cid:173)~
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`,-------------------------~:~~
`
`48
`
`21
`
`SYSTEM BUS
`
`ADAPTER
`
`VIDEO
`
`UNIT
`
`PROCESSING
`
`37
`
`.-I _O_T_H_E_R-----.1-'
`
`PROGRAMS
`APPLICATION
`
`SYSTEM
`
`OPERATING
`
`26
`
`I
`
`24
`
`BIOS
`
`I
`(ROM)
`
`22
`
`SYSTEM MEMORY
`
`PROGRAMS
`APPLICATION
`
`40
`
`36
`
`c::JD
`
`=
`
`42
`
`I
`______ _j
`I
`
`-~------
`
`54
`
`-
`
`I
`I
`I
`I
`
`47
`
`L------------_,-_,.-J'--------"',----~----------------·--
`
`INTERFACE
`
`INTERFACE
`
`PORT
`SERIAL
`
`DRIVE
`
`OPTICAL
`
`INTERFACE
`DISK DRIVE
`MAGNETIC
`
`INTERFACE
`
`DRIVE
`
`HARD DISK
`
`PROGRAM r
`
`24
`
`I
`~======~ 38
`
`DATA
`
`MODULES
`PROGRAM
`
`'Jut, lr!
`
`DATA
`
`PROGRAMS MODULES
`
`SYSTEM
`
`OPERATING I APPLICATION I p~~~~~M I PROGRAM
`_,.-"'_,.
`c3s ',
`'
`'
`'
`'
`',
`29
`0
`
`'-
`
`c3?
`
`I
`
`c36
`
`I
`
`'
`
`'
`'
`
`c35
`
`I
`
`/
`
`t'
`
`/
`
`_,.-"'
`
`_,.-"'
`
`/
`
`_,.-"'
`
`_,.-"'
`
`_,.-"'
`
`Petitioner Apple Inc. - Ex. 1009, p. 3
`
`

`
`U.S. Patent
`
`Dec. 4, 2001
`
`Sheet 2 of 10
`
`US 6,327,652 Bl
`
`140
`
`Suscriber Unit 124
`
`160
`
`CPU
`
`Processor
`
`Cryptography
`Accelerator
`
`Key Pair
`(Kcpu•KCPU -1
`
`)
`
`Mfr. Certificate
`
`S/W ID Reg.
`
`Boot Stack
`
`Nonvolatile
`Memory
`
`Operating
`System
`
`Boot Block
`
`S/W
`Program(s)
`
`Key
`
`180
`
`146
`
`Volatile Memory
`
`Network Interface
`
`Sound System
`
`Display
`
`Petitioner Apple Inc. - Ex. 1009, p. 4
`
`

`
`U.S. Patent
`
`Dec. 4, 2001
`
`Sheet 3 of 10
`
`US 6,327,652 Bl
`
`r 200
`202
`,201
`l::l- 1--'
`CPU
`210
`v
`r-209
`L=v~---'
`
`9
`
`APPL
`
`8 2i r-205
`L=-
`DRMOS
`
`1
`
`206
`1.--- v
`
`3
`4
`5
`6
`
`[220
`
`221 """'\
`
`222\ {223
`
`CONTENT
`
`L2o3
`.........,
`.--r
`.........
`. /
`
`7
`
`"- ---
`
`_./
`
`207 ~
`
`.........
`
`'---
`
`...._
`
`Petitioner Apple Inc. - Ex. 1009, p. 5
`
`

`
`U.S. Patent
`
`Dec. 4, 2001
`
`Sheet 4 of 10
`
`US 6,327,652 Bl
`
`301
`
`303
`
`EXECUTE
`BOOT
`LOADER
`
`CHECK
`COMPONENT
`SIGNATURE
`
`305
`
`307
`
`CHECK TRUST
`LEVEL
`
`LOAD
`COMPONENT
`
`ASSUME
`IDENTITY
`
`RENOUNCE
`TRUSTED
`IDENTITY
`
`Petitioner Apple Inc. - Ex. 1009, p. 6
`
`

`
`U.S. Patent
`
`Dec. 4, 2001
`
`Sheet 5 of 10
`
`US 6,327,652 Bl
`
`400~
`
`r 403
`40 ~ NAME
`
`r 405
`VERSION
`
`r 407
`SIGNER
`
`•
`•
`•
`•
`•
`
`600~
`
`605
`
`601
`
`[BOOT BLOCK]
`
`[COMPONENTS]
`
`606
`k1
`k2
`
`k -1
`0
`
`•
`•
`•
`
`Petitioner Apple Inc. - Ex. 1009, p. 7
`
`

`
`U.S. Patent
`
`Dec. 4, 2001
`
`Sheet 6 of 10
`
`US 6,327,652 Bl
`
`501
`
`503
`
`505
`
`507
`
`509
`
`511
`
`GET 1ST KEY
`PAIR
`
`LOAD&
`RECORD BOOT
`BLOCK
`
`GET NEW KEY
`PAIR
`
`RECORD NEW
`PUBLIC KEY IN
`LOG
`
`515
`
`LOAD&
`RECORD
`COMPONENTS
`
`SIGN LOG WITH
`PREV. PRIVATE
`KEY
`
`DELETE
`PREVIOUS
`PRIVATE KEY
`
`513
`
`CREATE
`SENTINEL &
`DEL. KEYS
`
`Petitioner Apple Inc. - Ex. 1009, p. 8
`
`

`
`U.S. Patent
`
`Dec. 4, 2001
`
`Sheet 7 of 10
`
`US 6,327,652 Bl
`
`701~
`
`703~
`
`705~
`
`710
`
`71 1
`BASIC BOOT CODE 715 PUB. 719 SIGN. 723
`'--
`KEY -
`(_ BOOT CODE
`71
`
`SIGN. 725
`
`717 PUB. 721
`-
`KEY
`
`(727
`
`(729
`
`COMPONENT SIGN.
`
`c731
`
`c733
`
`I COMPONENT
`
`c735
`c737
`c739
`I SIGN.
`I CERT.
`
`Petitioner Apple Inc. - Ex. 1009, p. 9
`
`

`
`1--"
`~
`N
`(It
`'0-,
`-.....l
`N
`~
`0'1
`rJ'l
`
`e
`
`"'""' c
`......,
`0
`00
`~ .....
`'JJ. =-~
`
`"'""'
`N c c
`
`~,J;;..
`!"l
`~
`~
`
`~ = ......
`
`......
`~
`~
`•
`\Jl
`d •
`
`'Ju;, B'
`
`CPU LEVEL
`
`GENERATE KEY FUNCTION
`
`r
`
`r
`
`800 \
`
`---------------------------f----------
`
`SEED 823
`
`SEED 813
`
`817\
`
`811
`KEY
`APPL
`
`USER LEVEL
`
`825
`
`815
`
`KEY
`
`GENMY'
`
`KEY
`
`~"'GENAPP
`
`SEED 833
`HASHED
`
`ID
`
`831
`
`OS LEVEL
`
`FUNC.
`
`KEY-HASH
`
`SEED 827
`HASHED
`
`829\
`
`SEED 819
`HASHED
`
`_)
`
`828
`
`FUNCTION
`
`FUNCTION
`
`HASH
`
`HASH
`
`ONE-WAY
`
`ONE-WAY
`
`·---------------------r--------------
`801
`SKEY
`
`SEED 803
`
`.. GEN KEY
`
`~
`
`(805
`
`0
`
`Petitioner Apple Inc. - Ex. 1009, p. 10
`
`

`
`U.S. Patent
`
`Dec. 4, 2001
`
`Sheet 9 of 10
`
`US 6,327,652 Bl
`
`900~
`
`STANDARD
`DIGITAL
`CERTIFICATE
`FIELDS
`
`901
`906 .......
`
`1\
`
`I
`
`905
`
`PROPERTY1
`
`ARGUMENTS1
`
`905
`
`PROPERTY1
`
`ARGUMENTS2
`
`.---
`
`907
`
`I
`
`I
`
`•
`•
`•
`•
`
`Petitioner Apple Inc. - Ex. 1009, p. 11
`
`

`
`U.S. Patent
`
`Dec. 4, 2001
`
`Sheet 10 of 10
`
`US 6,327,652 Bl
`
`1000~
`
`1001
`
`BASIC TRUST LEVEL ID
`
`1003
`
`EXTENDED TRUST LEVEL ID1
`
`1003
`
`EXTENDED TRUST LEVEL ID2
`
`•
`•
`•
`
`1100~
`
`1101
`
`1103
`
`1105
`
`1107
`
`USAGE COUNTER
`
`DERIVATION RIGHTS
`
`EXPIRATION COUNTER
`
`SUBLICENSE RIGHTS
`
`•
`•
`•
`
`Petitioner Apple Inc. - Ex. 1009, p. 12
`
`

`
`US 6,327,652 Bl
`
`10
`
`1
`LOADING AND IDENTIFYING A DIGITAL
`RIGHTS MANAGEMENT OPERATING
`SYSTEM
`
`RELATED APPLICATIONS
`
`This application is a continuation-in-part of U.S. provi(cid:173)
`sional patent application Ser. No. 60/105,891 filed on Oct.
`26, 1998, which is herein incorporated by reference, and is
`related to co-pending and co-filed applications titled "Sys(cid:173)
`tem and Method for Authenticating an Operating System to
`a Central Processing Unit, Providing the CPU/OS with
`Secure Storage, and Authenticating the CPU/OS to a Third
`Party" (Ser. No. 09/266,207, filed Mar. 10, 1999, "Key(cid:173)
`based Secure Storage" (Ser. No. 09/227,568, filed Jan. 8,
`1999, Digital Rights Management Using One Or More
`Access Predicates, Rights 1999, and "Digital Rights Man(cid:173)
`ager Certificates, And Licenses" (Ser. No. 09/227,559, filed
`Jan. 8, 1999).
`
`FIELD OF THE INVENTION
`
`This invention relates generally to computer operating
`systems, and more particularly to booting and identifying an
`operating system that enforces digital rights.
`
`COPYRIGHT NOTICE/PERMISSION
`
`A portion of the disclosure of this patent document
`contains material which is subject to copyright protection.
`The copyright owner has no objection to the facsimile
`reproduction by anyone of the patent document or the patent
`disclosure as it appears in the Patent and Trademark Office
`patent file or records, but otherwise reserves all copyright
`rights whatsoever. The following notice applies to the soft(cid:173)
`ware and data as described below and in the drawings
`hereto: Copyright © 1998, Microsoft Corporation, All
`Rights Reserved.
`
`BACKGROUND OF THE INVENTION
`
`15
`
`20
`
`2
`without permission. A publisher could also adjust pricing
`according to whether the client is allowed to make a per(cid:173)
`sistent copy, or is just allowed to view the content online as
`it is delivered. These scenarios reveal a peculiar arrange-
`s ment. The user that possesses the digital bits often does not
`have full rights to their use; instead, the provider retains at
`least some of the rights. In a very real sense, the legitimate
`user of a computer can be an adversary of the data or content
`provider.
`"Digital rights management" is therefore fast becoming a
`central requirement if online commerce is to continue its
`rapid growth. Content providers and the computer industry
`must quickly provide technologies and protocols for ensur(cid:173)
`ing that digital content is properly handled in accordance
`with the rights granted by the publisher. If measures are not
`taken, traditional content providers may be put out of
`business by widespread theft, or, more likely, will refuse
`altogether to deliver content online.
`Traditional security systems ill serve this problem. There
`are highly secure schemes for encrypting data on networks,
`authenticating users, revoking certificates, and storing data
`securely. Unfortunately, none of these systems address the
`assurance of content security after it has been delivered to a
`client's machine. Traditional uses of smart cards offer little
`25 help. Smart cards merely provide authentication, storage,
`and encryption capabilities. Ultimately, useful content must
`be assembled within the host machine for display, and again,
`at this point the bits are subject to theft. Cryptographic
`coprocessors provide higher-performance cryptographic
`30 operations, and are usually programmable but again,
`fundamentally, any operating system or sufficiently privi(cid:173)
`leged application, trusted or not, can use the services of the
`cryptographic processor.
`There appear to be three solutions to this problem. One
`35 solution is to do away with general-purpose computing
`devices and use special-purpose tamper-resistant boxes for
`delivery, storage, and display of secure content. This is the
`approach adopted by the cable industry and their set-top
`boxes, and looks set to be the model for DVD-video
`40 presentation. The second solution is to use secret, propri(cid:173)
`etary data formats and applications software, or to use
`tamper-resistant software containers, in the hope that the
`resulting complexity will substantially impede piracy. The
`third solution is to modify the general-purpose computer to
`45 support a general model of client-side content security and
`digital rights management.
`This invention is directed to a system and methodology
`that falls generally into the third category of solutions.
`A fundamental building block for client-side content
`so security is a secure operating system. If a computer can be
`booted only into an operating system that itself honors
`content rights, and allows only compliant applications to
`access rights-restricted data, then data integrity within the
`machine can be assured. This stepping-stone to a secure
`ss operating system is sometimes called "Secure Boot." If
`secure boot cannot be assured, then whatever rights man(cid:173)
`agement system the secure OS provides, the computer can
`always be booted into an insecure operating system as a step
`to compromise it.
`Secure boot of an operating system is usually a multi(cid:173)
`stage process. A securely booted computer runs a trusted
`program at startup. The trusted program loads an initial layer
`of the operating system and checks its integrity (by using a
`code signature or by other means) before allowing it to run.
`This layer will in turn load and check the succeeding layers.
`This proceeds all the way to loading trusted (signed) device
`drivers, and finally the trusted application(s).
`
`More and more content is being delivered in digital form,
`and more and more digital content is being delivered online
`over private and public networks, such as Intranets, the
`Internet and cable TV networks. For a client, digital form
`allows more sophisticated content, while online delivery
`improves timeliness and convenience. For a publisher, digi(cid:173)
`tal content also reduces delivery costs. Unfortunately, these
`worthwhile attributes are often outweighed in the minds of
`publishers by the corresponding disadvantage that online
`information delivery makes it relatively easy to obtain
`pristine digital content and to pirate the content at the
`expense and harm of the publisher.
`Piracy of digital content, especially online digital content,
`is not yet a great problem. Most premium content that is
`available on the Web is of low value, and therefore casual
`and organized pirates do not yet see an attractive business
`stealing and reselling content. Increasingly, though, higher(cid:173)
`value content is becoming available. Books and audio
`recordings are available now, and as bandwidths increase,
`video content will start to appear. With the increase in value
`of online digital content, the attractiveness of organized and 60
`casual theft increases.
`The unusual property of digital content is that the pub(cid:173)
`lisher (or reseller) gives or sells the content to a client, but
`continues to restrict rights to use the content even after the
`content is under the sole physical control of the client. For 65
`instance, a publisher will typically retain copyright to a work
`so that the client cannot reproduce or publish the work
`
`Petitioner Apple Inc. - Ex. 1009, p. 13
`
`

`
`US 6,327,652 Bl
`
`3
`An article by B. Lampson, M. Abadi, and M. Burrows,
`entitled "Authentication in Distributed Systems: Theory and
`Practice," ACM Transactions on Computer Systems vlO,
`265, 1992, describes in general terms the requirements for
`securely booting an operating system. The only hardware
`assist is a register that holds a machine secret. When boot
`begins this register becomes readable, and there's a hard(cid:173)
`ware operation to make this secret unreadable. Once it's
`unreadable, it stays unreadable until the next boot. The boot
`code mints a public-key pair and a certificate that the
`operating system can use to authenticate itself to other
`parties in order to establish trust. We note that in this
`scheme, a malicious user can easily subvert security by
`replacing the boot code.
`Clark and Hoffman's BITS system is designed to support
`secure boot from a smart card. P. C. Clark and L. J. Hoffman, 15
`"BITS: A Smartcard Operating System," Comm. ACM. 37,
`66, 1994. In their design, the smart card holds the boot
`sector, and PCs are designed to boot from the smart card.
`The smart card continues to be involved in the boot process
`(for example, the smart card holds the signatures or keys of 20
`other parts of the OS).
`Bennet Yee describes a scheme in which a secure proces(cid:173)
`sor first gets control of the booting machine. B. Yee, "Using
`Secure Coprocessors", Ph.D. Thesis, Carnegie Mellon
`University, 1994. The secure processor can check code 25
`integrity before loading other systems. One of the nice
`features of this scheme is that there is a tamper-resistant
`device that can later be queried for the details of the running
`operating system.
`Another secure boot model, known as AEGIS, is dis- 30
`closed by W. Arbaugh, D. G. Farber, and J. M Smith in a
`paper entitled "A Secure and Reliable Bootstrap
`Architecture", Univ. of Penn. Dept. of CIS Technical Report,
`IEEE Symposium on Security and Privacy, page 65, 1997.
`This AEGIS model requires a tamper-resistant BIOS that has 35
`hard-wired into it the signature of the following stage. This
`scheme has the very considerable advantage that it works
`well with current microprocessors and the current PC
`architecture, but has three drawbacks. First, the set of trusted
`operating systems or trusted publishers must be wired into 40
`the BIOS. Second, if the content is valuable enough (for
`instance, e-cash or Hollywood videos), users will find a way
`of replacing the BIOS with one that permits an insecure
`boot. Third, when obtaining data from a network server, the
`client has no way of proving to the remote server that it is 45
`indeed running a trusted system.
`On the more general subject of client-side rights
`management, several systems exist or have been proposed to
`encapsulate data and rights in a tamper-resistant software
`package. An early example is IBM's Cryptolope. Another 50
`existent commercial implementation of a rights management
`system has been developed by Intertrust. In the audio
`domain, AT&T Research have proposed their "A2b" audio
`rights management system based on the PolicyMaker rights
`management system.
`Therefore, there is a need in the art for guaranteeing that
`a digital rights management operating system has been
`properly loaded on a computer. Furthermore, such a digital
`rights management operating system must be readily dis(cid:173)
`cernable from a non-trusted operating system executing on 60
`the same computer.
`
`55
`
`SUMMARY OF THE INVENTION
`The above-mentioned shortcomings, disadvantages and
`problems are addressed by the present invention, which will
`be understood by reading and studying the following speci(cid:173)
`fication.
`
`4
`The identity of an operating system running on a com(cid:173)
`puter is determined from an identity associated with an
`initial component for the operating system, combined with
`identities of additional components that are loaded after-
`5 wards. Loading of a digital rights management operating
`system on a subscriber computer is guaranteed by validating
`digital signatures on each component to be loaded and by
`determining a trust level for each component. A trusted
`identity is held by the digital rights management operating
`10 system when only components with valid signatures and a
`pre-determined trust level are loaded. Otherwise, the oper(cid:173)
`ating system is associated with an untrusted identity. Both
`the trusted and untrusted identities are derived from the
`components that were loaded.
`The initial component is described variously as a boot
`block, or a set of components required to boot the operating
`system.
`In another aspect of the invention, a record of the loading
`of each component is placed into a boot log. The boot log is
`protected from tampering through a chain of public-private
`key pairs. The contents of the boot log are used to determine
`whether the operating system is to be considered trusted or
`untrusted.
`Use of a special public-private key pair to validate a boot
`block and to alleviate replacement issues should a standard
`key pair be compromised is also disclosed.
`The guaranteed loading of a digital lights management
`operating system on a general-purpose personal computer
`ensures that downloaded content can be protected from
`unauthorized access. Furthermore, the generation of an
`identity for an operating system based on its loaded com(cid:173)
`ponents allows a content provider to knowledgeably deter(cid:173)
`mine whether to trust content to the subscriber computer.
`The present invention describes systems, clients, servers,
`methods, and computer-readable media of varying scope. In
`addition to the aspects and advantages of the present inven(cid:173)
`tion described in this summary, further aspects and advan(cid:173)
`tages of the invention will become apparent by reference to
`the drawings and by reading the detailed description that
`follows.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG lA is a diagram of the hardware and operating
`environment in conjunction with which exemplary embodi(cid:173)
`ments of the invention may be practiced;
`FIG. lB is a diagram of a client computer for use with
`exemplary embodiments of the invention;
`FIG. 2 is a diagram illustrating a system-level overview of
`an exemplary embodiment of the invention;
`FIG. 3 is a flowchart of a method to be performed by a
`client when booting or loading system components accord(cid:173)
`ing to an exemplary embodiment of the invention;
`FIG. 4 is a diagram of a certificate revocation list data
`structure for use in an exemplary implementation of the
`invention;
`FIG. 5 is a flowchart of a method to be performed by a
`client to create a boot log according to an exemplary
`embodiment of the invention;
`FIG. 6 is a block diagram of an exemplary boot log
`created using the method of FIG. 5;
`FIGS. 7A, 7B and 7C are block diagrams of boot blocks
`65 for use in an exemplary embodiment of the invention;
`FIG. 8 is a block diagram of key generation functions
`according to an exemplary embodiment of the invention;
`
`Petitioner Apple Inc. - Ex. 1009, p. 14
`
`

`
`US 6,327,652 Bl
`
`5
`FIG. 9 is a diagram of a rights manager certificate data
`structure for use in an exemplary implementation of the
`invention;
`FIG. 10 is a diagram of a required properties access
`control list data structure for use in an exemplary imple(cid:173)
`mentation of the invention; and
`FIG. 11 is a diagram of a license data structure for use in
`an exemplary implementation of the invention.
`
`DETAILED DESCRIPTION OF 1HE
`INVENTION
`
`In the following detailed description of exemplary
`embodiments of the invention, reference is made to the
`accompanying drawings, which form a part hereof, and in
`which is shown by way of illustration specific exemplary
`embodiments in which the invention may be practiced.
`These embodiments are described in sufficient detail to
`enable those skilled in the art to practice the invention, and
`it is to be understood that other embodiments may be utilized
`and that logical, mechanical, electrical and other changes
`may be made without departing from the spirit or scope of
`the present invention. The following detailed description is,
`therefore, not to be taken in a limiting sense, and the scope
`of the present invention is defined only by the appended
`claims.
`The detailed description is divided into four sections. In
`the first section, the hardware and the operating environment
`in conjunction with which embodiments of the invention
`may be practiced are described. In the second section, a
`system level overview of the invention is presented. The
`third section described methods and data structures
`employed by various exemplary embodiments of the inven(cid:173)
`tion. Finally, in the fourth section, a conclusion of the
`detailed description is provided.
`
`Hardware and Operating Environment
`
`FIG. 1A is a diagram of the hardware and operating
`environment in conjunction with which embodiments of the
`invention may be practiced. The description of FIG. 1A is
`intended to provide a brief, general description of suitable
`computer hardware and a suitable computing environment in
`conjunction with which the invention may be implemented.
`Although not required, the invention is described in the
`general context of computer-executable instructions, such as
`program modules, being executed by a computer, such as a
`personal computer. Generally, program modules include
`routines, programs, objects, components, data structures,
`etc. that perform particular tasks or implement particular
`abstract data types.
`Moreover, those skilled in the art will appreciate that the
`invention may be practiced with other computer system
`configurations, including hand-held devices, multiprocessor
`systems, microprocessor-based or programmable consumer
`electronics, network PCs, minicomputers, mainframe
`computers, and the like. The invention may also be practiced
`in distributed computing environments where tasks are
`performed by remote processing devices that are linked
`through a communications network. In a distributed com(cid:173)
`puting environment, program modules may be located in
`both local and remote memory storage devices.
`The exemplary hardware and operating environment of
`FIG. 1A for implementing the invention includes a general
`purpose computing device in the form of a computer 20,
`including a processing unit 21, a system memory 22, and a
`system bus 23 that operatively couples various system
`
`5
`
`6
`components, including the system memory 22, to the pro(cid:173)
`cessing unit 21. There may be only one or there may be more
`than one processing unit 21, such that the processor of
`computer 20 comprises a single central-processing unit
`(CPU), or a plurality of processing units, commonly referred
`to as a parallel processing environment. The computer may
`be a conventional computer, a distributed computer, or any
`other type of computer; the invention is not so limited.
`The system bus 23 may be any of several types of bus
`10 structures including a memory bus or memory controller, a
`peripheral bus, and a local bus using any of a variety of bus
`architectures. The system memory may also be referred to as
`simply the memory, and includes read only memory (ROM)
`24 and random access memory (RAM) 25. A basic input/
`15 output system (BIOS) 26, containing the basic routines that
`help to transfer information between elements within the
`computer 20, such as during start-up, is stored in ROM 24.
`The computer 20 further includes a hard disk drive 27 for
`reading from and writing to a hard disk, not shown, a
`20 magnetic disk drive 28 for reading from or writing to a
`removable magnetic disk 29, and an optical disk drive 30 for
`reading from or writing to a removable optical disk 31 such
`as a CD ROM or other optical media.
`The hard disk drive 27, magnetic disk drive 28, and
`25 optical disk drive 30 are connected to the system bus 23 by
`a hard disk drive interface 32, a magnetic disk drive inter(cid:173)
`face 33, and an optical disk drive interface 34, respectively.
`The drives and their associated computer-readable media
`provide nonvolatile storage of computer-readable
`30 instructions, data structures, program modules and other
`data for the computer 20. It should be appreciated by those
`skilled in the art that any type of computer-readable media
`that can store data that is accessible by a computer, such as
`magnetic cassettes, flash memory cards, digital video disks,
`35 Bernoulli cartridges, random access memories (RAMs),
`read only memories (ROMs), and the like, may be used in
`the exemplary operating environment.
`A number of program modules may be stored on the hard
`disk, magnetic disk 29, optical disk 31, ROM 24, or RAM
`40 25, including an operating system 35, one or more applica(cid:173)
`tion programs 36, other program modules 37, and program
`data 38. A user may enter commands and information into
`the personal computer 20 through input devices such as a
`keyboard 40 and pointing device 42. Other input devices
`45 (not shown) may include a microphone, joystick, game pad,
`satellite dish, scanner, or the like. These and other input
`devices are often connected to the processing unit 21
`through a serial port interface 46 that is coupled to the
`system bus, but may be connected by other interfaces, such
`50 as a parallel port, game port, or a universal serial bus (USB).
`A monitor 47 or other type of display device is also
`connected to the system bus 23 via an interface, such as a
`video adapter 48. In addition to the monitor, computers
`typically include other peripheral output devices (not
`55 shown), such as speakers and printers.
`The computer 20 may operate in a networked environ(cid:173)
`ment using logical connections to one or more remote
`computers, such as remote computer 49. These logical
`connections are achieved by a communication device
`60 coupled to or a part of the computer 20; the invention is not
`limited to a particular type of communications device. The
`remote computer 49 may be another computer, a server, a
`router, a network PC, a client, a peer device or other
`common network node, and typically includes many or all of
`65 the elements described above relative to the computer 20,
`although only a memory storage device 50 has been illus(cid:173)
`trated in FIG. 1. The logical connections depicted in FIG. 1
`
`Petitioner Apple Inc. - Ex. 1009, p. 15
`
`

`
`US 6,327,652 Bl
`
`8
`the private key "Kcpu-b In this way, only the CPU knows
`the CPU private key Kcpu-\ the same key is not issued to
`other CPUs and the manufacturer keeps no record of it. The
`certificate can in principle be stored on a separate physical
`5 device associated with the processor but still logically
`belongs to the processor with the corresponding key.
`The manufacturer has a pair of public and private signing
`1
`1 is known
`keys, KMFR and KMFR -
`. The private key KMFR -
`only to the manufacturer, while the public key KMFR is made
`10 available to the public. The manufacturer certificate 166
`contains the manufacturer's public key KMRF• the CPU's
`public key KcPu• and the above testimony. The manufacture
`1
`signs the certificate using its private signing key, KMRF -
`, as
`follows:
`
`7
`include a local-area network (LAN) 51 and a wide-area
`network (WAN) 52. Such networking environments are
`commonplace in offices, enterprise-wide computer
`networks, intranets and the Internet.
`When used in aLAN-networking environment, the com(cid:173)
`puter 20 is connected to the local network 51 through a
`network interface or adapter 53, which is one type of
`communications device. When used in a WAN-networking
`environment, the computer 20 typically includes a modem
`54, a type of communications device, or any other type of
`communications device for establishing communications
`over the wide area network 52, such as the Internet. The
`modem 54, which may be internal or external, is connected
`to the system bus 23 via the serial port interface 46. In a
`networked environment, program modules depicted relative 15
`to the personal computer 20, or portions thereof, may be
`stored in the remote memory storage device. It is appreciated
`that the network connections shown arc exemplary and other
`means of and communications devices for establ

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