Source: http://www.google.com/patents/US7734553?dq=5,566,337
Timestamp: 2015-07-03 22:50:43
Document Index: 424933596

Matched Legal Cases: ['Application No. 57835', 'Application No. 57835', 'art 1', 'Application No. 2004240210', 'Application No. 2003203649', 'Application No. 36815', 'Application No. 57835', 'Application No. 57835']

Patent US7734553 - Systems and methods using cryptography to protect secure computing environments - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsSecure computation environments are protected from bogus or rogue load modules, executables and other data elements through use of digital signatures, seals and certificates issued by a verifying authority. A verifying authority—which may be a trusted independent third party—tests the load modules...http://www.google.com/patents/US7734553?utm_source=gb-gplus-sharePatent US7734553 - Systems and methods using cryptography to protect secure computing environmentsAdvanced Patent SearchPublication numberUS7734553 B2Publication typeGrantApplication numberUS 11/894,327Publication dateJun 8, 2010Filing dateAug 20, 2007Priority dateAug 12, 1996Fee statusPaidAlso published asUS6157721, US6292569, US7120802, US7581092, US7761916, US7904707, US7925898, US20020023214, US20030041239, US20060248353, US20070288764, US20080031457, US20080031461, US20080033884, US20080034214, US20080034229, US20080077531, US20080114698, US20100023761, US20110131422Publication number11894327, 894327, US 7734553 B2, US 7734553B2, US-B2-7734553, US7734553 B2, US7734553B2InventorsVictor H. Shear, W. Olin Sibert, David M. Van WieOriginal AssigneeIntertrust Technologies Corp.Export CitationBiBTeX, EndNote, RefManPatent Citations (42), Non-Patent Citations (52), Referenced by (1), Classifications (74), Legal Events (1) External Links: USPTO, USPTO Assignment, EspacenetSystems and methods using cryptography to protect secure computing environments
US 7734553 B2Abstract
1. A method performed by an electronic appliance comprising a protected processing environment, the protected processing environment comprising a plurality of processing environments, the method comprising the steps of:
receiving a first digital signature associated with a first load module;
authenticating the first digital signature using a first key; and
conditionally executing the first load module based at least in part on a result of the authenticating step, including limiting access by the first load module to a first set of resources associated with a first processing environment of the plurality of processing environments;
wherein the protected processing environment is resistant to tampering by a user of the electronic appliance with at least the steps of authenticating the first digital signature and conditionally executing the first load module.
receiving a second digital signature associated with the first load module;
authenticating the second digital signature using a second key; and
conditionally executing the first load module based at least in part on a result of the step of authenticating the second digital signature, including limiting access by the first load module to a second set of resources associated with a second processing environment of the plurality of processing environments, the second processing environment having an assurance level that is different from an assurance level of the first processing environment.
receiving a second digital signature associated with a second load module;
conditionally executing the second load module based at least in part on a result of the step of authenticating the second digital signature, including limiting access by the second load module to a second set of resources associated with a second processing environment of the plurality of processing environments, the second processing environment having an assurance level that is different from an assurance level of the first processing environment.
5. The method claim 1, in which conditionally executing the first load module comprises conditionally executing the first load module to record an aspect of usage of a piece of electronic content.
6. The method of claim 1, in which conditionally executing the first load module comprises conditionally executing the first load module to prevent a user of the electronic appliance from making a copy of a piece of electronic content.
7. The method of claim 1, in which conditionally executing the first load module comprises conditionally executing the first load module to charge a user of the electronic appliance a fee for viewing a piece of electronic content.
8. The method of claim 1, in which conditionally executing the first load module comprises conditionally executing the first load module to enable the electronic appliance to play a piece of electronic content.
9. The method of claim 1, in which conditionally executing the first load module comprises conditionally executing the first load module to enable the electronic appliance to perform a financial transaction.
10. A computer-readable medium comprising program code, the program code being operable, when executed by an electronic appliance comprising a protected processing environment that is resistant to tampering by users of the electronic appliance, the protected processing environment comprising a plurality of processing environments, to cause the electronic appliance to perform steps comprising:
conditionally executing the first load module based at least in part on a result of the authenticating step, including limiting access by the first load module to a first set of resources associated with a first processing environment of the plurality of processing environments.
11. The computer-readable medium of claim 10, further including program code that is operable, when executed by the electronic appliance, to cause the electronic appliance to perform steps comprising:
12. The computer-readable medium of claim 10, further including program code that is operable, when executed by the electronic appliance, to cause the electronic appliance to perform steps comprising:
13. The computer-readable medium of claim 10, further including program code that is operable, when executed by the electronic appliance, to cause the electronic appliance to perform the step of:
14. The computer-readable medium of claim 10, further including the first load module, the first load module being operable, when executed by the electronic appliance, to cause the electronic appliance to perform at least one action selected from the group consisting of:
an electronic appliance comprising a protected processing environment, the protected processing environment comprising a plurality of processing environments;
means for receiving a first digital signature associated with a first load module;
means for authenticating the first digital signature using a first key; and
means for conditionally executing the first load module based at least in part on a result generated by the means for authenticating the first digital signature, including means for limiting access by the first load module to a first set of resources associated with a first processing environment of the plurality of processing environments;
wherein the protected processing environment is resistant to tampering by a user of the electronic appliance with at least the means for authenticating the first digital signature and the means for conditionally executing the first load module.
means for receiving a second digital signature associated with the first load module;
means for authenticating the second digital signature using a second key; and
means for conditionally executing the first load module based at least in part on a result generated by the means for authenticating the second digital signature, including means for limiting access by the first load module to a second set of resources associated with a second processing environment of the plurality of processing environments, the second processing environment having an assurance level that is different from an assurance level of the first processing environment.
means for receiving a second digital signature associated with a second load module;
means for conditionally executing the second load module based at least in part on a result generated by the means for authenticating the second digital signature, including means for limiting access by the second load module to a second set of resources associated with a second processing environment of the plurality of processing environments, the second processing environment having an assurance level that is different from an assurance level of the first processing environment.
means for distributing the first load module to a second electronic appliance, the second electronic appliance comprising a protected processing environment that is resistant to tampering by a user of the second electronic appliance, the second electronic appliance being operable to authenticate the first digital signature and to conditionally execute the first load module.
19. The system of claim 15, further comprising a computer-readable medium storing the first load module, the first load module being operable, when executed by the electronic appliance, to cause the electronic appliance to perform at least one action selected from the group consisting of: recording an aspect of usage of a piece of electronic content, preventing a user of the electronic appliance from making a copy of a piece of electronic content, and charging a user of the electronic appliance a fee for viewing a piece of electronic content.
20. The system of claim 15, further comprising a computer-readable medium storing the first load module, the first load module being operable, when executed by the electronic appliance, to cause the electronic appliance to perform at least one action selected from the group consisting of: enabling the electronic appliance to play a piece of electronic content, and enabling the electronic appliance to perform a financial transaction.
Encrypting and authenticating load modules whenever they are shared between protected processing environments via a communications path outside of a tamper-resistant barrier and/or passed between different virtual distribution environment participants; Using digital signatures to determine if load module executable content is intact and was created by a trusted source (i.e., one with a correct certificate for creating load modules); Strictly controlling initiation of load module execution by use of encryption keys, digital signatures and/or tags; a Carefully controlling the process of creating, replacing, updating or deleting load modules; and Maintaining shared secrets (e.g., cryptographic keys) within a tamper resistant enclosure that the owner of the electronic appliance cannot easily tamper with. Although the Ginter et al. patent specification comprehensively solves a host of load module (and other) security related problems, any computer system—no matter how secure—can be “cracked” if enough time, money and effort is devoted to the project. Therefore, even a very secure system such as that disclosed in Ginter et al. can be improved to provide even greater security and protection against attack.
Once verifying authority 100 is satisfied with load module 54, it affixes its digital “seal of approval” 106 to the load module. FIG. 4 illustrates the digital sealing process as being performed by a stamp 114—but in the preferred embodiment the digital sealing process is actually performed by creating a “digital signature” using a well known process. See Schneier, Applied Crvptography (2d Ed. John Wiley & Sons 1996) at Chapter 20 (pages 483-502). This digital signature, certificate or seal creation process is illustrated in FIG. 5.
A protected processing environment(s) of assurance level I protects itself (themselves) by executing only load modules 54 sealed with an assurance level I digital signature 106(1). Protected processing environment(s) 108 having an associated assurance level I is (are) securely issued a public key 124(1) that can “unlock” the level I digital signature. Similarly, a protected processing environment(s) of assurance level II protects itself (themselves) by executing only the same (or different) load module 54 sealed with a “Level II” digital signature 106(II). Such a protected processing environment 108 having an associated corresponding assurance level II possess a public key 124(II) used to “unlock” the level II digital signature. A protected processing environment(s) 108 of assurance level III protects itself (themselves) by executing only load modules 54 having a digital signature 106(III) for assurance level III. Such an assurance level III protected processing environment 108 possesses a corresponding assurance level 3 public key 124(III). Key management encryption (not signature) keys can allow this protection to work securely. In this example, electronic appliances 61 of different assurance levels can communicate with one another and pass load modules 54 between one another—an important feature providing a scaleable virtual distribution environment involving all sorts of different appliances (e.g., personal computers, laptop computers, handheld computers, television sets, media players, set top boxes, internet browser appliances, smart cards, mainframe computers, etc.) The present invention uses verifying authority 100 and the digital signatures it provides to compartmentalize the different electronic appliances depending on their level of security (e.g., work factor or relative tamper resistance). In particular, verifying authority 100 and the digital signatures it provides isolate appliances with significantly different work factors—preventing the security of high work factor appliances from collapsing into the security of low work factor appliances due to free exchange of load modules 54.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4672572May 21, 1984Jun 9, 1987Gould Inc.Protector system for computer access and useUS4799156Oct 1, 1986Jan 17, 1989Strategic Processing CorporationInteractive market management systemUS4823264May 27, 1986Apr 18, 1989Deming Gilbert RElectronic funds transfer systemUS4930073Jun 26, 1987May 29, 1990International Business Machines CorporationMethod to prevent use of incorrect program version in a computer systemUS5103476Nov 7, 1990Apr 7, 1992Waite David PSecure system for activating personal computer software at remote locationsUS5111390Aug 22, 1988May 5, 1992Unisys CorporationSoftware security system for maintaining integrity of compiled object code by restricting users ability to define compilersUS5224163Sep 28, 1990Jun 29, 1993Digital Equipment CorporationMethod for delegating authorization from one entity to another through the use of session encryption keysUS5253297Apr 27, 1992Oct 12, 1993International Computers LimitedData processing system with cryptographic facilityUS5319705Oct 21, 1992Jun 7, 1994International Business Machines CorporationMethod and system for multimedia access control enablementUS5343527Oct 27, 1993Aug 30, 1994International Business Machines CorporationHybrid encryption method and system for protecting reusable software componentsUS5421006Apr 20, 1994May 30, 1995Compaq Computer Corp.Method and apparatus for assessing integrity of computer system softwareUS5479509Apr 6, 1994Dec 26, 1995Bull Cp8Method for signature of an information processing file, and apparatus for implementing itUS5559884Jun 30, 1994Sep 24, 1996Microsoft CorporationMethod and system for generating and auditing a signature for a computer programUS5692047 *Dec 8, 1995Nov 25, 1997Sun Microsystems, Inc.System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sourcesUS5696827Jan 30, 1997Dec 9, 1997Brands; Stefanus AlfonsusSecure cryptographic methods for electronic transfer of informationUS5757914Oct 26, 1995May 26, 1998Sun Microsystems, Inc.System and method for protecting use of dynamically linked executable modulesUS5757915Aug 25, 1995May 26, 1998Intel CorporationParameterized hash functions for access controlUS5982891Nov 4, 1997Nov 9, 1999Intertrust Technologies Corp.Systems and methods for secure transaction management and electronic rights protectionUS6141753Feb 10, 1998Oct 31, 2000Fraunhofer GesellschaftSecure distribution of digital representationsUS6157721Aug 12, 1996Dec 5, 2000Intertrust Technologies Corp.Systems and methods using cryptography to protect secure computing environmentsUS6292569Oct 4, 2000Sep 18, 2001Intertrust Technologies Corp.Systems and methods using cryptography to protect secure computing environmentsUS6330670Jan 8, 1999Dec 11, 2001Microsoft CorporationDigital rights management operating systemUS6701433Mar 23, 1999Mar 2, 2004Novell, Inc.Method and apparatus for escrowing properties used for accessing executable modulesUS6983371Nov 13, 2000Jan 3, 2006International Business Machines CorporationSuper-distribution of protected digital contentUS7120802Aug 6, 2001Oct 10, 2006Intertrust Technologies Corp.Systems and methods for using cryptography to protect secure computing environmentsUS7133846 *Sep 17, 1999Nov 7, 2006Intertrust Technologies Corp.Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights managementUS7152045 *Sep 10, 2002Dec 19, 2006Indivos CorporationTokenless identification system for authorization of electronic transactions and electronic transmissionsUS7165174 *Dec 17, 1999Jan 16, 2007Intertrust Technologies Corp.Trusted infrastructure support systems, methods and techniques for secure electronic commerce transaction and rights managementUS7405724 *May 6, 2005Jul 29, 2008Diebold, IncorporatedAutomated banking machine and methodUS7581092Aug 20, 2007Aug 25, 2009Intertrust Technologies CorporationSystems and methods using cryptography to protect secure computing environmentsUS20060248016Apr 13, 2006Nov 2, 2006Intertrust Technologies Corp.Trusted infrastructure support systems, methods and techniques for secure electronic commerce, electronic transactions, commerce process control and automation, distributed computing, and rights managementUS20080077531Aug 20, 2007Mar 27, 2008Intertrust Technologies CorpSystems and methods using cryptography to protect secure computing environmentsEP0128672A1May 14, 1984Dec 19, 1984Ira Dennis GaleData security deviceEP0399822A2May 24, 1990Nov 28, 1990Hewlett-Packard CompanyMethod and apparatus for computer program encapsulationEP0421409A2Oct 4, 1990Apr 10, 1991International Business Machines CorporationTransaction system security method and apparatusEP0565314A2Apr 1, 1993Oct 13, 1993Addison M. FischerMethod and apparatus for creating, supporting, and using travelling programsGB2264796A Title not availableWO1990002382A1Aug 14, 1989Mar 8, 1990Indata CorpInformation distribution systemWO1992022870A1Jun 12, 1992Dec 23, 1992Icl Data AbMethod and system for revising data in a distributed data communication systemWO1994003859A1Jul 31, 1992Feb 17, 1994Int Standard Electric CorpApparatus and method for providing network securityWO1994006103A1Sep 7, 1993Mar 17, 1994Hnc IncFraud detection using predictive modelingWO1996027155A2Feb 13, 1996Sep 6, 1996Electronic Publishing ResourceSystems and methods for secure transaction management and electronic rights protection* Cited by examinerNon-Patent CitationsReference1"Multimedia Mixed Object Envelopes Supporting a Graduated Fee Scheme Via Encryption", IBM Technical Disclosure Bulletin, vol. 37, No. 3, 1 Mar. 1994, pp. 413-417.2"Transformer Rules Strategy for Software Distribution Mechanism-Support Products", IBM Technical Disclosure Bulletin, vol. 37, No. 48, Apr. 1994, pp. 523-525.3Advisory Action dated Jun. 1, 2006 issued in related U.S. Appl. No. 09/925,072, filed Aug. 6, 2001, Shear et al.4Comments Filed by Opponent dated Aug. 21, 2003 in related Australian Application No. 57835/01.5Decision of a Delagate of the Comm istion of Patents dated Apr. 20, 2004 in related Australian Application No. 57835/01.6Denning, D.E.R., "Cryptography and Data Security," Addison-Wesley Publishing Company, 1982, Reprinted with corrections, Jan. 1983.7Department of Defense Standard, "Department of Defense Trusted Computer System Evaluation Criteria," Dec. 1985, pp. 1-72.8Everett, D.B., "Smart Card Tutorial-Part 1," publisehd in sections between Sep. 1992 and Sep. 1994 at http://www.smartcard.co.uk/resources/tutorial.9Examination Report dated Feb. 28, 2007 issued in related Australian Application No. 2004240210.10Examination Report dated Nov. 29, 2004 issued in related Australian Application No. 2003203649.11Examination Report dated Nov. 30, 1999 issued in related Australian Application No. 36815/97.12Examiners First Report on Voluntary Request ot Amend dated Sep. 15. 2003 in related Australian Application No. 57835/01.13Final Office Action dated Jan. 5, 2009 issued in related U.S. Appl. No. 11/894,502, filed Aug. 20, 2007, Shear et al.14Fuchsberger et al., "Public-key Cryptography on Smart Cards," Lecture Notes in Computer Science, p. 250-269, 1995.15Gasser, M. et al., "The Digital Distributed System Security Architecture," Reprint from the Proceedings of 1989 National Computer Security Conference, 1989, pp. 113.16Herzberg, A. et al., "Public Protection of Software," ACM Transactions on Computer Systems, vol. 5, No. 4, Nov. 1987, pp. 371-393.17Microsoft and Verisign Provide First Technology for Secure Downloading of Software over the Internet, 20 Software Vendors Lead Industry in Adopting Microsoft Authenticode, Verisign Press Release, Technology, Aug. 7, 1996.18Mori, R. et al., "Superdistribution: The Concept and the Architecture," The Transactons of The EIEICE, V, E73, No. 7, Tokyo, Japan, Jul. 1990, pp. 1133-1146.19Non-Final Office Action dated Jul. 24, 2008 issued in related U.S. Appl. No. 11/894,502, filed Aug. 20, 2007, Shear et al.20Non-Final Office Action dated Nov. 25, 2008 issued in related U.S. Appl. No. 11/894,339, filed Aug. 20, 2007, Shear et al.21Notice of Allowance and Interview Summary dated Apr. 3, 2009 issued in related U.S. Appl. No. 11/894,502, filed Aug. 20, 2007, Shear et al.22Notice of Allowance dated Jul. 3, 2000 issued in related U.S. Appl. No. 08/689,754, filed Aug. 12, 1996, Shear et al.23Notice of Allowance dated Jun. 20, 2006 issued in related U.S. Appl. No. 09/925,072, filed Aug. 6, 2001, Shear et al.24Notice of Allowance dated Mar. 13, 2009 issued in related U.S. Appl. No. 11/894,339, filed Aug. 20, 2007, Shear et al.25Notice of Allowance dated May 29, 2009 issued in related U.S. Appl. No. 11/894,339, filed Aug. 20, 2007, Shear et al.26Notice of Allowance dated May 29, 2009 issued in related U.S. Appl. No. 11/894,502, filed Aug. 20, 2007, Shear et al.27Notice of Allowance dated May 8, 2001 issued in related U.S. Appl. No. 09/678,830, filed Oct. 4, 2000, Shear et al.28Office Action dated Apr. 19, 2006 issued in related U.S. Appl. No. 09/925,072, filed Aug. 6, 2001, Shear et al.29Office Action dated Aug. 1, 2005 issued in related U.S. Appl. No. 09/925,072, filed Aug. 6, 2001, Shear et al.30Office Action dated Dec. 1, 2009 issued in related U.S. Appl. No. 11/842,138, filed Aug. 21, 2007, Shear et al.31Office Action dated Dec. 15, 2009 issued in related U.S. Appl. No. 11/781,062, filed Jul. 20, 2007, Shear et al.32Office Action dated Feb. 20, 2009 issued in related U.S. Appl. No. 11/842,138, filed Aug. 21, 2007, Shear et al.33Office Action dated Jan. 4, 2000 issued in related U.S. Appl. No. 08/689,754, filed Aug. 12, 1996, Shear et al.34Office Action dated Jan. 5, 2001 issued in related U.S. Appl. No. 09/678,830, filed Oct. 4, 2000, Shear et al.35Office Action dated Jul. 9, 1999 issued in related U.S. Appl. No. 08/689,754, filed Aug. 12, 1996, Shear et al.36Office Action dated Oct. 1, 2009 issued in related U.S. Appl. No. 11/978,962, filed Oct. 29, 2007, Shear et al.37Office Action dated Oct. 15, 1998 issued in related U.S. Appl. No. 08/689,754, filed Aug. 12, 1996, Shear et al.38Office Action dated Oct. 26, 2009 issued in related U.S. Appl. No. 11/841,518, filed Aug. 20, 2007, Shear et al.39Office Action dated Oct. 29, 2009 issued in related U.S. Appl. No. 11/841,555, filed Aug. 20, 2007, Shear et al.40Office Action dated Sep. 14, 2009 issued in related U.S. Appl. No. 11/454,072, filed Jun. 14, 2006, Shear et al.41Office Action dated Sep. 29, 2009 issued in related U.S. Appl. No. 11/841,600, filed Aug. 20, 2007, Shear et al.42Office Action mailed Oct. 26, 2009 issued in related U.S. Appl. No. 11/841,446, filed Aug. 20, 2007, Shear et al.43Press, J. et al., "A New Approach to Crytographic Facility Design", ICL Technical Journal 8(3):429-505, May 1993.44Rouaix, "A Web Navigator with Applets in Caml," INRIA, May 8, 1996.45Schneier, B., "Applied Cryptography: Protocols, Algorithms, and Source Code in C," John Wiley & Sons, Inc., 1994.46Siuda, K., "Security Services in Telecommunications Networks," Seminar: Mapping New Applications Onto New Technologies, edited by B. Plattner and P. Gunzburger; Zurich, Mar. 8-10, 1988, pp. 45-52.47Statement of Grounds and Particulars in Support of Opposition dated Jul. 16, 2003 in related Australian Application No. 57835/01.48Tardo, "An Introduction to Safety and Security in Telescript," General Magic, Inc., 1995.49Tardo, "Mobile Agent Security and Telescript," COMPCON Spring '96, 41st IEEE International Computer Conference, Feb. 25-28, 1996.50Tygar, J.D. et al., "Dyad: A System for Using Physically Secure Coprocessors," School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, May 1991, p. 121-152.51Yee, B. et al., "Secure Coprocessors in Electronic Commerce Applications," Proceedings of the First Usenix Workshop on Electronic Commerce, New York, New York, Jul. 1995, 16 pages.52Zimmerman, Philip, Pretty Good Privacy: PGP User's Guide, revised Oct. 11, 1994. [See, for example, vol. 1, pp. 2, 4, 5, 7 ("Encrypting a Message to Multiple Recipients"), 10, 11, 14 and 16 and vol. 2, pp. 3, 6, 7, 8 and 21-29].Referenced byCiting PatentFiling datePublication dateApplicantTitleUS8997256Jun 25, 2014Mar 31, 2015Terbium Labs LLCSystems and methods for detecting copied computer code using fingerprintsClassifications U.S. Classification705/64, 345/156, 705/51, 713/167, 705/59, 713/153International ClassificationG06Q20/24, G06Q20/08, G06Q20/40, G06Q20/36, G06Q20/12, G06Q20/38, G06Q20/02, G11B27/031, G06F1/00, H04L12/40, G06F12/14, G11B27/32, G06F21/00, H04L12/64, H04L9/30, H04L9/32, G11B20/00Cooperative ClassificationG06Q20/3823, G06Q20/3825, G06Q20/085, G11B20/00543, G06F21/51, G11B20/0021, G06Q20/3674, G11B20/00173, G11B20/00557, G11B2220/216, G11B20/0071, G11B27/329, G11B20/00159, G11B20/00688, G06Q20/24, G06Q20/02, G11B2220/2575, G11B20/00768, G06Q20/401, G11B20/00188, G11B20/00086, G11B20/00195, G11B27/031, G06F2211/007, G11B2220/2562, H04L12/40117, G06Q20/12, H04L12/40104, G11B2220/218, G06F21/10, G06F12/1483European ClassificationG06F21/51, G11B20/00P10, G06Q20/02, G11B20/00P11B1B, G11B20/00P5, H04L12/40F10, G11B20/00P4, G06F21/10, G11B20/00P2C, G06Q20/24, H04L12/40F8, G06Q20/12, G06Q20/382, G11B27/32D2, G06Q20/401, G11B20/00P, G11B20/00P5G5, G11B27/031, G06Q20/085, G06Q20/3674Legal EventsDateCodeEventDescriptionDec 9, 2013FPAYFee paymentYear of fee payment: 4RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services