CA2373508C - Systems and methods for secure transaction management and electronic rights protection - Google Patents

Systems and methods for secure transaction management and electronic rights protection Download PDF

Info

Publication number
CA2373508C
CA2373508C CA002373508A CA2373508A CA2373508C CA 2373508 C CA2373508 C CA 2373508C CA 002373508 A CA002373508 A CA 002373508A CA 2373508 A CA2373508 A CA 2373508A CA 2373508 C CA2373508 C CA 2373508C
Authority
CA
Canada
Prior art keywords
content
vde
information
electronic
secure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CA002373508A
Other languages
French (fr)
Other versions
CA2373508A1 (en
Inventor
Karl L. Ginter
Victor H. Shear
W. Olin Sibert
Francis J. Spahn
David M. Van Wie
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intertrust Technologies Corp
Original Assignee
Intertrust Technologies Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/706,206 external-priority patent/US5892900A/en
Application filed by Intertrust Technologies Corp filed Critical Intertrust Technologies Corp
Priority to CA002480118A priority Critical patent/CA2480118C/en
Publication of CA2373508A1 publication Critical patent/CA2373508A1/en
Application granted granted Critical
Publication of CA2373508C publication Critical patent/CA2373508C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • G06F21/725Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • G06Q20/1235Shopping for digital content with control of digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/24Credit schemes, i.e. "pay after"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F9/00Details other than those peculiar to special kinds or types of apparatus
    • G07F9/02Devices for alarm or indication, e.g. when empty; Advertising arrangements in coin-freed apparatus
    • G07F9/026Devices for alarm or indication, e.g. when empty; Advertising arrangements in coin-freed apparatus for alarm, monitoring and auditing in vending machines or means for indication, e.g. when empty
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce

Abstract

The present invention provides systems and methods for electronic commerce including secure transaction management and electronic rights protection. Electronic appliances such as computers employed in accordance with the present invention help to ensure that information is accessed and used only in authorized ways, and maintain the integrity, availability, and/or confidentiality of the information. Secure subsystems used with such electronic appliances provide a distributed virtual distribution environment (VDE) that may enforce a secure chain of handling and control, for example, to control and/or meter or otherwise monitor use of electronically stored or disseminated information. Such a virtual distribution environment may be used to protect rights of various participants in electronic commerce and other electronic or electronic- facilitated transactions. Secure distributed and other operating system environments and architectures, employing, for example, secure semiconductor processing arrangements that may establish secure, protected environments at each node. These techniques may be used to support an end-to-end electronic information distribution capability that may be used, for example, utilizing the "electronic highway".

Description

DEMANDES OU BREVETS VOLUMINEUX
LA PRESENTE PARTIE DE CETTE DEMANDE OU CE BREVETS
COMPREND PLUS D'UN TOME.

NOTE: Pour les tomes additionels, veillez contacter 1e Bureau Canadien des Brevets.
JUMBO APPLICATIONS / PATENTS
THIS SECTION OF THE APPLICATION / PATENT CONTAINS MORE
THAN ONE VOLUME.

NOTE: For additional volumes please contact the Canadian Patent Office.

WO 98/09209 PGTlUS97/15243 SYSTEMS AND METHODS FOR SECURE TRANSACTION
MANAGEMENT AND ELECTRONIC RIGHTS PROTECTION
Fields) of the InventionEe) This invention generally relates to computer and/or electronic security.
More particularly, this invention relates to systems and techniques for secure transaction management. This invention also relates to computer-based and other electronic appliance-based technologies that help to ensure that information is accessed and/or otherwise used only in authorized ways, and maintains the integrity, availability, and/or confidentiality of such information and processes related to such use.
The invention also relates to systems and methods for protecting rights of various participants in electronic commerce and other electronic or electronically-facilitated transactions.
a The invention also relates to secure chains of handling and control for both information content and information employed to regulate the use of such content and consequences of such use. It also relates to systems and techniques that manage, including meter and/or limit and/or otherwise monitor use of electronically stored andlor disseminated information. The invention -I-wo ~zo9 PCT/US971I5243 particularly rela~es to transactions, conduct aad arrangements that make use of, including consequences of use of, such systems andlor techniques.
The invention also relates to distributed and other operating systems, environments and architectures. It also generally relates to secure architectures, including, for example, tamper-resistant hardware-based processors, that can be used to establish security at each node of a distributed system.
za Background and Summary of the Inveatioaf s) Telecommunications, financial transactions, government processes, business operations, entertainment, and personal .
business productivity all now depend on electronic appliances.
I5 Millions of these electronic appliances hare been electronically connected together. These interconnected electronic appliances comprise what is increasingly called the "information highway."
Many businesses, academicians, and government leaders are concerned about how to protect the rights of citizens and 20 organizations who use this information (also "electronic" or "digital") highway.
wo 9sro~zo9 rc°rnrs~~nsz~
Electronic Coataat Today, virtually anything that can be represented by words, numbers, graphics, or system of commands and instructions can be formatted into electronic digitai information.
Television, cable, satellite transmissions, and on-line services transmitted over telephone lines; compete to distribute digital information and entertainment to homes and businesses. The owners and marketers of this content include software developers, motion picture and recording companies, publishers I0 of books, magazines, and newspapers, and information database providers. The popularization of on-line services has also enabled the individual personal computer user to participate as a content provider. It is estimated that the worldwide market for electronic information in 1992 was approximately $40 billion and I5 is expected to grow to X200 billion by I99 r, according to Microsoft Corporation. The present invention can materially enhance the revenue of content providers, Lower the distribution.
costs and the costs for content, better support advertising and usage information gathering, and better satisfy the needs of 20 electronic information users: These improvements can lead to a significant increase in the amount and variety of electronic information and the methods by which such information is distributed.
_3_ w0 98109209 PCTIiTS97J15243 The inability of conventional products to be shaped to the needs of electronic information providers and users is sharply in contrast to the present invention. Despite the attention devoted by a cross-section of America's largest telecommunications, computer, entertainment and information,provider companies to some of the problems addressed by the present invention, only the present invention provides commercially secure, effective solutions for configurable, general purpose electronic commerce transactionldistribution control systems.
Controlling Electronic Content The present invention provides a new kind of "virtual distribution environment" (called "VDE" in this document) that secures, administers, and audits electronic information use.
I5 VDE also features fundamentally important capabilities for managing content that travels "across' the "information highway." These capabilities comprise a rights protection solution that serves all electronic community members. These members include content creators and distributors, financial service providers, end-users, and others. VDE is the first general purpose, configurable, transaction controUrights protection solution for users of computers, other electronic appliances, networks, and the information highway.

WO 98109209 PC'FIUS97l15243 A fundamental problem for 'electronic content providers is extending their ability to control the use of proprietary information. Content providers often need to limit use to ' authorized activities and amounts. Participants in a business model involving, for example, provision of movies and advertising on optical discs may include actors, directors, script and other writers, musicians, studios, publishers, distributors, retailers, advertisers, credit card services, and content end-users.
These participants need the ability to embody their range of 10. agreements and requirements, including use limitations, into an "extended" agreement comprising an overall electronic business model. This extended agreement is represented by electronic content control information that can automatically enforce agreed upon rights and obligations. Under v~E, such an ~5 extended agreement may comprise an electronic contract involving all business model participants. Such an agreement may alternatively, or in addition, be made up of electronic agreements between subsets of the business model participants.
Through the use of VDE, electronic commerce can function in the 20 same way as traditional commerce-that is commercial relationships regarding products and services can be shaped through the negotiation of one or more agreements between a variety of parties.

WO 98109209 PCT/US97115?A3 Commercial content providers are concerned with ensuring proper compensation for the use of their electronic information.
Electronic digital information, for example a CD recording, can today be copied relatively easily and inexpensively. Similarly, unauthorized copying and use of software programs deprives rightful owners of billions of dollars in annual revenue according to the International Intellectual Property Alliance: Content providers and distributors have devised a number of limited function. rights protection mechanisms to protect their rights Authorization passwords and protocols, license servers, "lock/unlock" distribution methods, and non-electronic contractual limitations imposed on users of shrink-wrapped software are a few of the more prevalent content protection schemes. In a commercial context, these efforts are inefficient and Limited solutions.
Providers of "electrorxic currency" have also created protections for their type of content. These systems are not sufficiently adaptable, efficient, nar flexible enough to support the generalized use of electronic currency. Furtherazore, they do not provide sophisticated auditing and control configuration capabilities. This means that current electronic currency tools lack the sophistication needed for many real-world financial business models. VDE provides means for anonymous currency wo 9pcT~s9~nsa,~
and for "conditionally" anonymous currency, wherein currency related zctivities remain anonymous except under special circumstances.
YDE Control Capabilities VDE allows the owners and distributors of electronic digital information to reliably bill for, and securely control, audit, and budget the use of, electronic information. It can reliably.
detect and monitor the use of commercial information products.
VDE uses a wide variety of different electronic information delivery means: including; for example, digital networks, digital broadcast, and physical storage media such as optical and magnetic disks. VDE can be used by major network providers, I5 hardware manufacturers, owners of electronic information, providers of such information, and clearinghouses that gather usage information regarding, and bill for the use of, electronic information.
VDE provides comprehensive and configurable transaction management, metering and monitoring technology. It can - change how electronic information products are protected, marketed, packaged, and distributed. When used, VDE should result in higher revenues for information pro~riders and greater _7_ user satisfaction and value. Use of VDE will normally result in lower usage costs, decreased transaction costs, more efficient access to electronic information, re-usability of rights protection and other transaction management implementations, greatly improved flexibility in the use of secured information, and greater standardization of tools and processes for electronic transaction management. VDE can be used to create an adaptable environment that fulfills the needs of electronic information owners, distributors, and users; financial IO ' clearinghouses; and usage information analyzers and resellers.
R,ighta and Control Information In general, the present invention can be used to protect the rights of parties who have:
(a) proprietary or confidentiality interests in electronic information. It can, for example, help ensure that information is used only in authorized ways;
20 (b) financial interests resulting from the use of electronically distributed information. It can help ensure that content providers will be paid for use of distributed information; and _g_ wo X09 rcT~~nsz~
(c) , interests in electronic credit and electronic currency storage, communication, and/or use -including electronic cash, banking, and purchasing.
Protecting the rights of electronic community members involves a broad range of technologies. VDE combines these technologies in a way that creates a "distributed" electronic rights protection "environment." This environment secures and protects transactions and other processes important for rights protection. VDE, for e:cample, provides the ability to prevent, or impede, interference with and/or observation of, important rights related transactions and processes. VDE, in its preferred embodiment, uses special purpose tamper resistant Secure Processing Units (SPUs) to help provide a high level of security I5 for VDE processes and information storage and communication The nights protection problems solved by the present invention are electronic versions of basic societal issues. These issues-include protecting property rights, protecting privacy rights, properly compensating people and organizations for their wflrk and risk, protecting money and credit, and generally protecting the security of information. VDE employs a system that uses a common set of processes to manage rights issues in- -an e~cient, trusted, and cost-effective way.
.g_ WO 98189209 PCTIUS97Ii5243 VDE can be used to protect the rights of parties who create electronic content such as, for example: records, games, movies, newspapers, electronic books and reference materials, personal electronic mail, and confidential records and communications.
The invention can also be used to protect the rights of parties who provide electronic products, such as publishers and distributors; the rights of parties who provide electronic credit and currency to pay for use of products, far example, credit clearinghouses and banks; the rights to privacy of parties who use electronic content (such as consumers, business people, governments); and the privacy rights of parties described by electronic information, such as privacy rights related to information contained in a medical record, taY record, or personnel record.
In general, the present invention can protect the rights of parties.who have:
(a) commercial interests in electronically distributed information -- the present invention can help ensure, for example, that parties, will be paid for use of distributed information in a manner consistent with their agreement;

wo rcT~~n~
(b) proprietary and/or confidentiality interests in electronic information -- the present invention can, for example, help ensure that data is used only in ' , authorized ways;
c) interests in electronic credit and~electronic currency storage, communication, and/or use -- this can include electronic cash, banking, and purchasing;
(d) interests in electronic information derived, at least in part, from use of other electronic information.
VDE Functional Properties 15 VDE is a cost-effective and e~cient rights protection solution that provides a unified, consistent system far securing and managing transaction processing. VDE can:
(a) audit and analyze the use of content, 2fl-(b) ensure that content is used only in authorized ways;
and w0 98!09209 . P~~g711S243 (c) allow information regarding content usage to be used only in ways approved by cantent users.
In addition, VDT:
(a) is very configurable, modif able, and re-usable;
(b) supports a wide range of useful capabilities that may be combined in different ways to accommodate '!p most potential applications;
(c) 'operates on a wide variety of electronic appliances ranging from hand-held inexpensive devices to large mainframe computers; , (d) is able to ensure the various rights of a number of different parties, and a number of different rights protection schemes, sirnuitaneously;
~ (e) is able to preserve the rights of parties through a series of transactions that may occur at different times and different locations;
-12_ (f) is able to flexibly accommodate different ways of securely cie3ivering information and reporting usage;
(g1 provides for electronic analogues to "real" money and credit, including anonymous electronic cash, to pay for products and services and to support personal (including home? banking and other financial activities.
~TDE economically and efficiently fulfills the rights protection needs of electronic community members. , Users of VDE will not require additional rights protection systems for different information highway products and rights problems-nor will they be required to install and learn a new system for each new information highway application.
VDE provides a unified solution that allows all content creators, providers, and users to employ the same electronic 2Q rights protection solution. Under authorized circumstances, the participants can freely exchange content and associated content control sets. This means that a user of VDE may, if allowed, use the same electronic system to work with different kinds of content having different sets of content control information. The WO 98/09209 PGTJUS9'1l15243 content and control information supplied by one group can be used by people who normally use content and control information supplied by a different group. VDE can allow content to be exchanged "universally" and users of an implementation of the present invention can interact electronically without fear of incompatibilities in content control, violation of rights, or the need to get, install, or learn a new content control system.
The VDE securely administers transactions that specify protection of rights. It can protect electronic rights including, for example:
(a) the property rights of authors of electronic content, (h) the commercial rights of distributors of content, (c) the rights of any parties who facilitated the distribution of content, (d) the privacy rights of users of content, (e) the privacy rights of parties portrayed by stored andlor distributed content, and (f) any other rights regarding enforcement of electrbnic agreements.
- VDE can enable a very broad variety of electronically enforced - 5 commercial and societal agreements. These agreements can include electronically implemented contracts, licenses, laws, regulations, and tax collection.
Contrast With Traditional Solntione IO Traditional content control mechanisms often require users to purchase more electronic information than the user needs or desires. For example, infrequent users of shrink-wrapped software are required to purchase a program at the same price as frequent users; even though they may receive 15 much less value from their less frequent use. Traditional systems do not scale cost according to the extent or character of usage and traditional systems can not attract potential customers who find that a fixed price is too b.igh. Systems using traditional mechanisms are also not normally particularly 20 . secure. For example, shrink-wrapping does not prevent the constant illegal pirating of software once removed from either its - physical or electronic package.
_I5_ WO 98109209 PCTIUS9?115243 Traditional electronic information rights protection systems are often inflexible and ine~.cient and may cause a content provider to choose costly distribution channels that increase a product's price. In general these mechanisms restrict product pricing, configuration, and marketing flexibility. These compromises are the result of techniques for controlling information which cannot accommodate both different content models and content models which reflect the many, varied requirements, such as content delivery strategies, of the model participants. This can limit a provider's ability to deliver sufficient overall value to justify a given product's cost in the eyes of many potential users: VDE allows content providers and distributors to create applications and distribution networks that reflect content providers' and users' preferred business models.
It offers users a uniquely cost effective and feature rich system that supports the ways providers want to distribute information and the ways users want to use such information. VDE
supports content control models that ensure rights and allow content delivery strategies to be shaped for maximum commercial results. ' , Chain of Handling and Control VDE can protect a collection of rights belonging to various parties having in rights in, or to, electronic information. This wo 98ro9ZO9 PCTIUS97115243 information may be at one location or. dispersed across (and/or moving between) multiple locations. The information may pass through a "chain" of distributors and a "chain" of users. Usage ' information may also be reported through one or more "chains" of parties. In general, VDE enables parties that (a) have rights in electronic information, and/or (b) act as direct or indirect agents for parties who have rights in electronic information; to ensure that the moving, accessing, modifying, or otherwise using of information can be securely controlled by rules regarding how, when, where, and by whom such activities can be performed.
VDE Applications and Software VDE is a secure system for regulating electronic conduct and commerce. Regulation is ensured by control information put i~ in place by one or more parties. These parties may include content providers, electronic hardware manufacturers, financial service providers, or electronic "infrastructure'' companies such as cable or telecommunications companies. The control information implements "Rights Applications." Rights applications "run on" the "base software" of the preferred embodiment. This base software serves as a secure, flexible, general purpose foundation that can accommodate many di~'erent rights applications, that is, many different business -models and their respective participant requirements.
- ~7 -WO gg~pg~ PCTIUS99115243 A rights application under VDE is made up of special purpose pieces, each of which: can correspond to one or more basic electronic processes needed for a rights protection - environment. These processes can be combined together like building blocks to create electronic agreements that can protect the rights, and may enforce fulfillment of the obligations, of electronic information users and providers. One or more providers of electronic information can easily combine selected building blocks to create a rights application that is unidue to a specific content distribution model. A group of these pieces can represent the capabilities needed to fulfill the agreements) between users and providers. These pieces accommodate many requirements of electronic commerce including:
~ the distribution of permissions to use electronic information;
the persistence of the control information and sets of control information managing these permissions;
~ configurable control set information that can be selected by users for use with such information;

~ data security and usage auditing of electronic information; and ~ a secure system for currency, compensation and debit management.
For electronic commerce, a rights application, under the preferred embodiment of the present invention, can provide electronic enforcement of the' business agreements between all participants. Since different' groups of components can be put together for different applications, the present invention can provide electronic control information for a wide variety of different products and markets. This means the present invention can provide a "unified," efficient, secure, and cost-effective system for electronic commerce and data security.
This allows VDE to serve as a single standard for electronic rights protection, data security, and electronic currency and banking.
In a VDE, the separation between a rights application and its foundation permits the efficient selection of sets of control information that are appropriate for each of many different types of applications and uses. These control sets can reflect both rights of electronic community members, as well as obligations .19_ (such as providing a history of one's use of a product or paying tapes on one's electronic purchases). VDE flexibility allows its users to electronically implement and enforce common social and commercial ethics and practices. By providing a unified control system, the present invention supports a vast range of possible transaction related interests and concerns of individuals, communities, businesses, and governments. Due to its open design, VDE allows (normally under securely controlled circumstances) applications using technology independently IO ~ created by users to be "added" to the system and used in conjunction with the foundatiowof the invention. In sum, VDE
provides a system that can fairly reflect and enforce agreements among parties. It is a broad ranging and systematic solution that answers the pressing need for a secure, cost-effective, and 15 fair electronic environment.
YDE Implementation The preferred embodiment of the present inveiztion includes various tools that enable system designers to directly 20 insert VDE capabilities into their products. These tools include an Application Programmer's Interface ("API") and a Rights Permissioning and Management Language ("RPML"). The RPML provides comprehensive and detailed control over the use of the invention's features. V13E also includes certain user interface subsystems for satisfying the needs of content providers, distributors, and users.
Inforr~aation distributed using VDE~ may take many forms:
_ 5 It may, for example, be "distributed" for use on an individual's own computer, that is the present invention can be used to provide security for locally stored data. Alternatively, VDE may be used with information that is dispersed by authors and/or publishers to one or more recipients. This information may take 14 many forms including: movies; audio recordings, games, electronic catalog shopping, multimedia, training materials, E-mail and personal documents, object oriented libraries, software programming resources., and reference!record keeping information resources (such as business, medical, Legal, 15 scientific, governmental, and consumer databases).
Electronic rights protection grovided by the present invention will also provide an important foundation for trusted and afficient home and commercial banking, electronic credit 20 processes, electronic purchasing, true ox conditionally anonymous electronic cash, and EDI (Electronic Data Interchange). VDE provides important enhancements for improving data security in organizations by providing "smart"
_21_ transaction management features that can be far more effective than key and password based "go/no go" technology.
VDE normally employs an integration of cryptbgraphic and other security technologies (e,g. encryption; digital signatures, etc. ), with other technologies including: component, distributed, and event driven operating system technology, and related communications, object container, database, smart agent, smart card, and semiconductor design technologies.
lo I. Overview A. VDE Solves Important Problems aad Fills Critical Needs The world is moving towards an integration of electronic information appliances. This interconnection of appliances provides a foundation for much greater electronic interaction and the evolution of electronic commerce. A variety of capabilities are required to implement an electronic commerce environment.
VDE is the first system that provides many of these capabilities 20 and therefore solves fundamental problems related to electronic dissemination of information.

wo 98!09209 PCTNS97/15243 Electronic Content VDE allows electronic arrangements to be created involving two or more parties. These agreements can themselves comprise a collection of agreements between participants in a - ~ commercial value chain and/or a data security chain model for handling, auditing, reporting; and payment. It can provide efficient, reusable, modifiable, and consistent means for secure electronic content: distribution; usage control, usage payment, usage auditing, and usage reporting. Content may, for example, include:
financial information such as electronic currency and credit;
I5 ~ commercially distributed electronic information such as reference databases, movies, gazn:es, and .
advertising; and ~ electronic properties produced by persons and organizations, such as documents, e-mail, and proprietary database information.

WO 98!09209 PGTlUS97115243 VDE enables an electronic commerce marketplace that supports differing, competitive business partnerships; agreements, and evolving overall business models.
'Ihe features of VDE allow it to function as the first trusted electronic information control environment that can conform to, and support, the bulk of conventional electronic commerce and data security requirements. In particular, VDE
enables the participants in a business value chain model to IO create an electronic version of traditional business agreement terms and conditions and further enables these participants to shape and evolve their electronic commerce models as they believe appropriate to their business requirements.
1~ VDE offers an architecture that avoids reflecting specific distribution biases, administrative and control perspectives, and content types. Instead, VDE provides a broad-spectrum, fundamentally configurable and portable, electronic transaction control, distributing, usage; auditing, reporting, and payment 20 operating environment. VDE is not limited to being an application or application specific toolset that covers only a limited subset of electronic interaction activities and participants. Rather, VDE supports systems by which such applications can be created; modified, andlor reused. As a result, w0 98/09209 PCTIUS97/15Z43 the present invention answers pressing, unsolved needs by .
o~'ering a system that supports a standardized control environment which facilitates interoperability of electronic ' appliances, interoperability of content containers, and efficient _ 5 creation of electronic commerce applications and models through the use of a programmable, secure electronic transactions management foundation and reusable and extensible executable components. VDE can support a single electronic "world" within which most forms of electronic transaction activities can be l.0 managed.
To answer the developing needs of rights owners and content providers and to provide a system that can accommodate the requirements and agreements of all parties that may be i5 involved in electronic business models tcreators, distributors, administrators, users, credit providers, etc. ~, VDE supplies an efficient, largely transparent, low cost and sufficiently secure system (supporting both hardware/ software and software only.
models). VDE provides the widely varying secure control and 20 administration capabilities required for:
1. Different types of electronic content, 2. Differing electronic content delivery schemes;
3. Differing electronic content usage schemes, 4. Different content usage platforms, and 5. Differing content marketing and model strategies.
VDE may be combined with, or integrated into, many separate computers and/or other electronic appliances. These appliances typically include a secure subsystem that can enable IO control of content use such as displaying, encrypting; decrypting,.
printing, copying, saving, e:~tracting, embedding, distributing, auditing usage, etc. The secure subsystem in the preferred embodiment comprises one or more "protected processing env-ironrnents", one or more secure databases, and secure I5 "component assemblies" and other items and processes that need to be kept secured. VDE can, for example, securely control electronic currency, payments, and/or credit management (including electronic credit and/or currency receipt, disbursement, encumbering, andlor allocation) using such a 20 "secure subsystem."
VDE provides a secure, distributed electronic transaction management system for controlling the distribution and/or other _ usage of electironically provided and/or stored information. VDE

WO 98/09209 PCT/US97l15243 controls auditing and reporting of electronic content and/or appliance usage. Users of VDE may include content creators who apply content usage, usage reporting, and/or usage payment related control information to electronic content andlor appliances for users such as end-user organizations, individuals, and content andlor appliance distributors. VDE also securely supports the payment of money otued (including money owed for content and/or appliance usage) by one or more parties to one or more other parties, in the form of electronic credit and/or currency.
Electronic appliances under control of VBE represent VDE
'nodes' that securely process and control; distributed electronic information and/or appliance usage, control information formulation, and related transactions. VDE can securely manage the integration of control information provided by two or more parties. As a result, YDE can construct an electronic agreement between VDE participants that represent a "negotiation" between, the control requirements of, twa or more parties and enacts terms and conditions of a resulting agreement. VDE ensures the rights of each party to an electronic agreement regarding a wide range of electronic activities related to electronic information and/or appliance usage.
-2?-wo 98ro9ZO9 PCTl~JS97I15243 Through use of VDE's control system, traditional content providers and users can create electronic relationships that reflect traditional; non-electronic relationships. They can shape and modify commercial relationships to accommodate the evolving needs of, and agreements among, themselves. VDE
does not require electronic content providers and users to modify their business practices and personal preferences to conform to a metering and control application program that supports limited, largely fixed functionality. Furthermore, VDE permits participants to develop business models not feasible with non-electronic commerce, for example, involving detailed reporting of content usage information, large numbers of distinct transactions at hitherto infeasibly low price points; "pass-along"
control information that is enforced without involvement or I5 advance knowledge of the participants, etc.
The present invention allows content providers and users to formulate their transaction environment to accomzriodate:
{1) desired content models, content control models, and content usage information pathways, (2) a complete range of electronic media and distribution means;

wo 9sronog pc~rrt~s~rn5aa3 (3) a broad range of pricing, payment, and auditing strategies, (4) very flexible privacy andlor reporting models, (5) practical and effective security architectures, and (6) other administrative procedures that together with steps (Z) through (5) can enable most"real world"
1~ electronic commerce and data security models, including models unique to the electronic world.
VDE's transaction management capabilities can enforce:
Z5 (I) privacy rights of users related to information regarding their usage of electronic information and/or appliances, (2) societal policy such as laws that protect rights of content users or require the collection of taxes derived from electronic transaction revenue, and 2g _ WO 98!09209 PGTlUS9T115243 (3) the proprietary and/or other rights of parties related to ownership ofdistribution of, and/or other commercial rights related to, electronic information.
VDE can support "real" commerce in an electronic form;
that is the progressive creation of commercial relationships that form, over time, a network of interrelated agreements representing a value chain business model. This is achieved in part by enabling content control information to develop through the interaction of (negotiation between? securely created and independently submitted sets of content and/or appliance control information. Different sets of content andior appliance control information can be submitted by different parties in an electronic business v clue chain enabled by the present invention. These parties create control information sets through the use of their respective VDE installations. Independently, sec~zreiy deliverable, component based control information allows e~cient interaction among control information sets supplied by different parties.
VDE permits multiple, separate electronic arrangements to be formed between subsets of parties in a VDE supported electronic value chain model. These multiple agreements together comprise a VDE value chain "extended" agreement.

VDE allows such constituent electronic agreements, and therefore overall VDE extended agreements; to evolve and reshape over time as additional VDE participants become involved in VDE content and/or appliance control information handling. VDE electronic agreements may also be extended as new control information is submitted by existing participants.
With YDE, electronic commerce participants are free to structure and restructure their electronic commerce business activities and relationships. As a result, the present invention allows a IO competitive electronic commerce marketplace to develop since the use of VDE enables different; widely varying business models using the same or shared content.
A significant facet of the present invention's ability to broadly support electronic commerce is its ability to securely manage independently delivered VDE component objects containing control information (normally in the form of VDE
objects containing one or more methods, data, or load module VDE components). This independently delivered control information can be integrated with senior and other pre-existing content control information to securely form derived control information using the negotiation mechanisms of the present invention. All requirements specified by this derived control w information must be satisfied before VDE controlled content can wo 98I09Z09 PCTIUS971152~t3 be accessed or otherwise used. This means that, for example, all load modules and any mediating data which are listed by the derived control information as required must be available and securely perform their required function. In combination with other aspects of the present invention, securely, independently delivered control components allow electronic commerce participants to freely stipulate their business requirements and trade offs. As a result, much as with traditional, non-electronic commerce, the present invention allows electronic commerce IO (through a progressive stipulation of various control requirements by VDE participants) to evolve into forms of business that are the most efficient, competitive and useful.
VDE provides capabilities that rationalize the support of I5 electronic commerce and electronic transaction management.
This rationalization stems from the reusability of control structures and user interfaces for a wide variety of transaction management related activities. As a result, content usage control, data security; information auditing, and electronic 20 financial activities, can be supported with tools that are reusable, convenient, consistent, and familiar. in addition, a rational approach-a transaction/distribution control standard-allows all participants in VDE the same foundation set of hardware control and security, authoring, administration, WO !9209 PCTIC1S97115243 and management tools to support widely varying types of .
information, business market model, andlor personal objectives.
Employing VDE as a general purpose electronic transaction/distribution control system allows users to maintain a single transaction management control arrangement on each of their computers, networks; communication nodes, and/or other electronic appliances. Such a general purpose system can serve the needs of many electronic transaction management applications without requiring distinct, different installations for different purposes. As a result, users of VDE can avoid the confusion and expense and other inefficiencies of different, limited purpose transaction control applications for each different content and/or business model. For example, VDE
allows content creators to use the same VDE foundation control arrangement for both content authoring and for licensing content from other content creators for inclusion into their products or for other use. Clearinghouses, distributors, content creators, and other VDE users can all interact, both with the applications running on their VDE installations, and with each other, in an entirely consistent manner, using and reusing (largely transparentiy~ the same distributed tools, mechanisms, and consistent user interfaces, regardless of the type of VDE activity. -_gg.

w0 ~~~ PCTNS97115243 VDE prevents many forms of unauthorized use of electronic information, by controlling and auditing land other administration of use) electronically stored and/or disseminated information. This includes, for example, commercially distributed content, electronic currency, electronic credit, business transactions (such as EDI), confidential communications, and the like. VDE can further be used to enable commercially provided electronic contentto be made available to users in user defined portions, rather than IO constraining the user to use portions of content that were "predetermined" by a content creator and/or other provider for billing purposes.
VDE, for example, can employ:
(I) Secure metering means for budgeting andlor auditing electronic content and/or appliance usage;
(2) Secure flexible means for enabling compensation and/or billing rates for content andlor appliance usage, including electronic credit andlor currency mechanisms for payment means;

wo 9s~a92o9 PCTIUS97/152d3-(3) Secure distributed database means for storing control and usage related information (and employing validated compartmentalization and tagging schemes);
(4) Secure electronic appliance control means;
(5) A distributed, secure, "virtual black box" comprised of nodes located at every user (including VDE
content container creators, other content providers, client users, and recipients of secuxe VDE content usage information) site. The nodes of said virtual black box normally include a secure subsystem having at least one secure hardware element (a semiconductor element or other hardware module for securely executing VDE control processes), said secure subsystems being distributed at nodes along a pathway of information storage, distribution, payment, usage, andlor auditing. In some embodiments, the functions of said hardware element, for certain or all nodes, may be performed by software, for example, in host processing environments of electronic appliances;

(6) Encryption and decryption means;
(7) Secure communications means employing authentication, digital signaturing, and encrypted transmissions: The secure subsystems at said user nodes utilize a protocol that establishes and authenticates each node's andlor participant's identity, and establishes one or more secure host-to-host encryption keys for communications IO between the secure subsystems; and (8) Secure control means that can allow each VDE
installation to perform VDE content authoring tplacing content into VDE containers with associated control informationt, content distribution, and content usage; as well as clearinghouse and other administrative and analysis activities employing content usage information.
VDE may be used to migrate most non-electronic, traditional information delivery models (including entertainment, reference materials, catalog shopping, etc.) into an adequately secure digital distribution and usage management _ 38 and payment context. The distribution and financial pathways-managed by a YDE arrangement map include:
content creator(s), ~ dist< ibutorts), a redistributor(s), client administrator(s), client user(s), financial and/or other clearinghouse(s), ~ and/or government agencies.
These distribution and financial pathways may also include:
~ . advertisers, a market survey organizations, and/or , a ~ other parties interested in the user usage of information securely delivered and/or stored using ~E.
Normally, participants in a V17E arrangement will employ the same secure VDE foundation. Alternate embodiments support VDE arrangements employing differing VDE foundations. Such alternate embodiments may employ procedures to ensure certain interoperability requirements are met.
-3?-WO 98/09209 PCTlUS97l15243 Secure VDE hardware (also known as SPUs for Secure Processing Units), or VDE installations that use software to substitute for; or complement; said hardware (grovided by Host Processing Environments (HPEs)), operate in conjunction with secure communications, systems integration software, and distributed software control information and support structures, to achieve the electronic contract/rights protection environment of the present invention. Together, these VDE components comprise a secure, virtual, distributed content and/or appliance IO control, auditing ( and other administration), reporting, and payment environment. In some embodiments and where commercially acceptable, certain VDE partzcipants, such as clearinghouses that normally maintain sufficiently physically secure non-VDE processing environments, may be allowed to employ HPEs rather VDE hardware elements and interoperate, for example, with VDE end-users and content providers. VDE
components together comprise a configurable, consistent, secure and "trusted" architecture for distributed, asynchronous control of electronic content and/or appliance usage. VDE supports a "universe wide" environment for electronic content delivery, broad dissemination, usage reporting, and usage related payment activities.
-38_ WO 98109209 PCT/US9'7115243 VDE provides generalized configurability. This results, in part, from decomposition of generalized requirements for supporting electronic commerce and data security into a broad range of constituent "atomic' and higher level components (such as load modules, data elements, and methods) that may be variously aggregated together to form control methods for electronic commerce applications, commercial electronic agreements, and data security arrangements. VDE provides a secure operating environment employing VDE foundation IO elements along with secure independently deliverable VDE
components that enable electronic commerce models and relationships to develop. VDE; specif cally supports the unfolding of distribution models in which content providers, aver time, can expressly agree to, or allow, subsequent content providers and/or users to participate in shaping the control information for, and consequences of, use of electronic content and/or appliances. A
very broad range of the functional attributes important for supporting simple to very complex electronic commerce and data security activities are supported by capabilities of the present invention. As a result, VDE supports most types of electronic information and/or appliance: usage control f including distribution), security, usage auditing, reporting, other administration, and payment arrangements.

wo ~o9zo9 , rcrrUS9~nsz~s3 VDE, in its preferred embodiment, employs object software technology and uses object technology to form "containers" for delivery of information that is (at least in part) encrypted or otherwise secured. These containers may contain electronic content products or other electronic information and some or all of their associated permissions (control) information. These container objects may be distributed along pathways involving content providers and/or content users: They may be securely moved among nodes of a Virtual Distribution Environment CVDE) arrangement, which nodes operate VDE foundation software and execute control methods to enact electronic information usage control anrllor administration models. The containers delivered through use of the preferred embodiment of the present invention may be employed both for distributing i~ VDE control instructions (information) and/or to encapsulate and electronically distribute content that has been at least partially secured.
Content providers whoemploy the present invention may include, for example, software application and game publishers, database publishers, cable, television, and radio broadcasters, electronic shopping vendors, and distributors of information in electronic document, book, periodical, e-mail and/or other forms.
Corporations, government agencies, and/or individual WO 98/09209 PCT/US97/i5243 "end-users" who act as storers of, and/or distributors of, electronic information, may also be VDE content providers (in a restricted model, a user provides content only to himself and , employs VDE to secure his own confidential information against - 5 unauthorized use by other parties). Electronic information may include proprietary and/or confidential information for personal or internal organization use, as well as information, such as software applications, documents, entertainment materials, and/or reference information, which may be provided to other IO parties. Distribution may be by, for example, physical media delivery, broadcast and/or telecommunication means, and in the form of "static" files and/or streams of data. VDE may also be used, for example, for multi-site "real-time" interaction such as teleconferencing, interactive games, or on-line bulletin boards, 15 where restrictions on, andlor auditing of, the use of all or portions of communicated information is enforced.
ODE provides important mechanisms for both enforcing commercial agreements and enabling the protection of privacy 20 rights: VDE can securely deliver information from one party to another concerning the use of commercially distributed electronic content. Even if parties are separated by several "steps" in a chain (pathway) of handling for such content usage information, such information is protected by VDE through encryption and/or _4I_ wo saroszos pcrrt~~rlnsz~
other secure processing. Because of that protection, the accuracy of such information is guaranteed by VDE, and the information can be trusted by all parties to whom it is delivered.
Furthermore, VDE guarantees that all parties can trust that such information cannot be received by anyone other than the intended, authorized, party(ies) because it is encrypted such that only an authorized party, or her agents, can decrypt it. Such information may also be derived through a secure VDE process at a previous pathway-of :handling location to produce secure IQ VDE reporting information that is then communicated securely to its intended recipient's VDE secure subsystem. Because VDE
can deliver such information securely, parties to an electronic agreement need not trust the accuracy of commercial usage and/or other information delivered through means other than - those under control of VDE.
VDE participants in a commercial value chain can be "commercially" confident (that is, sufficiently confident for commercial purposes) that the, direct (constituent) andlor "extended" electronic agreements they entered into through the use of VDE can be enforced reliably. These agreements may have both "dynamic" transaction management related aspects, such as content usage control information enforced through budgeting, metering, and/or reporting of electronic information andlor appliance use, andlor they may include "static" electronic assertions, such as an end-user using the system to assert his or her agreement to pay for services, not to pass to unauthorized parties electronic information derived from usage of content or systems, and/or agreeing to observe copyright laws. Not only can electronically reported transaction related information be trusted under the present invention; but payment may be automated by the passing of payment tokens through a pathway of payment (which may or may not be the same as a pathway for reporting).
Such payment can be contained within a VDE container created automatically by a VDE installation in response to control information (located, in the preferred embodiment, in one or more permissions records) stipulating the "withdrawal" of credit or electronic currency (such as tokens) from an electronic account (for example, an account securely maintained by a user's VDE
installation secure subsystem) based upon usage of VDE
controlled electronic content and/or appliances (such as governments, financial credit providers, and users).
2fl VDE allows the needs of electronic commerce participants to be served and it can bind such participants together in a universe wide, trusted commercial network that can be secure enough to support very large amounts of commerce. VDE's , -security and metering secure subsystem core wall be present at wo 9s~oa~o9 ~c~rms~~ysza3 all physical locations where VISE related content is (a) assigned usage related control information (rules and mediating data), andJor (b) used. This core can perform security and auditing functions (including metering) that operate within a "virtual black box," a collection of distributed, very secure VDE related hardware instances that are interconnected by secured information exchange (for example, telecommunication) processes and distributed database means. V'DE further includes highly conf gurable transaction operating system technalagy, one or more associated libraries of load modules along with affiliated data, VDE related administration, data preparation, and analysis applications, as well as system software designed to enable VDE integration into host environments and applications. VDE's usage control .
information, for example, provide for property content and/or appliance related: usage authorization, usage auditing (which may include audit reduction), usage billing, usage payment;
privacy filtering, reporting, and security related communication and encryption techniques.
V'~E extensively employs methods in the form of software objects to augment configurability, portability, and security of the VDE environment. It also employs a software object architecture for VDE content containers that carries protected WO 98/09209 PCTlUS97115?d3 content and may also carry both freely available information (e.g, summary, table of contents) and secured content control information which ensures the performance of control information. Content control information governs content usage according to criteria set by holders of rights to an object's contents and/or according to parties who otherwise have rights associated with distributing such content (such as governments;
financial credit providers, and users).
In part, security is enhanced by object methods employed by the present invention because the encryption schemes used to protect an object can efficiently be further used to protect the associated content control information (software control information and relevant datai from modification. Said object techniques also enhance portability between various computer and/or other appliance environments because electronic information in the form of content can be inserted along with (for example, in the same object container as) content control information (for said content) to produce a "published" object.
As a result, various portions of said control information may be specifically adapted for different environments, such as for - diverse computer platforms and operating systems, and said ' various porticns may all be carried by a VDE container.

An objective of VDE is supporting a transactionldistribution control standard. Development of such a standard has many obstacles, given the security requirements and related hardware and communications issues, widely differing environments, information types, types of information usage, business and/or data security goals, varieties of participants, and properties of delivered information. A
significant feature of VDE accommodates the many, var-,~ing distribution and other transaction variables by, in part, decomposing electronic commerce and data security functions into generalized capability modules executable within a secure .
hardware SPU andlor corresponding software subsystem and further allowing extensii a flexibility in assembling, modifving, and/or replacing, such modules (e.g. load modules andlor i5 methods) in applications run on a VvE installation foundation.
This configurability and reconfigurability allows .electronic commerce and data security participants to reflect their priorities and requirements through a process of iteratively shaping an evolving extended electronic agreement (electronic control model). This shaping can occur as content control information passes from one VDE participant to another and to the extent allowed by "in place" content control information.
This process allows users of VDE to repast existing control wo 9srogzo9 rc~rrtrsg~ns~
information and/or add new control information as necessary.
(including the elimination of no longer required elements).
VDE supports trusted (sufficiently secure) electronic information distribution and usage control models for both commercial electronic content distribution and data security applications. It can be configured to meet the diverse requirements of a network of interrelated participants that may include content creators, content distributors, client administrators, end users, andJor clearinghouses and/or other content usage information users. These parties may constitute a network of participants involved in simple to complex electronic content dissemination, usage control, usage reporting, andlor usage payment. Disseminated content may include both 1i; originally provided and VDE generated information (such as content usage information) and content control information may persist through both chains (one or more pathways) of content and content control information handling, as well as the direct usage of content. The configvsability provided by the present invention is particularly critical for supporting electronic commerce, that is enabling businesses to create relationships - and evolve strategies that offer: competitive value. Electronic ' commerce tools that are not inherently configurable and interoperable will ultimately fail to produce products (and .. w0 9$109209 PCTIIJS9'7115243 services) that meet both basic requirements and evolving needs of mast commerce applications.
VDE's fundamental configurability will allow a broad range of competitive electronic commerce business models to flourish. It allows business models to be shaped to maitimize revenues sources, end-user product value, and operating efficiencies. VDE can be employed to support multiple, differing models, take advantage of new revenue opportunities, and deliver product configurations most desired by users. Electronic commerce technologies that do not, as the present invention does:
a support a broad range of possible, complementary revenue activities, a offer a flexible array of content usage features most desired by customers, and exploit opportunities for operating efficiencies, will result in products that are often intrinsically more cflstly and Iess appealing and therefore less competitive in the marketplace.
Some of the key factors contributing to the configurability intrinsic to the present invention include:
-4$-WO 98J~9209 PCTlUS99/is243 (a) integration into the fundamental control environment of a broad range of electronic appliances through portable API and programming language tools that efficiently support merging of control and auditing capabilities in nearly any electronic appliance environment while maintaining overall system security;
(b)- modular data structures;
(c) generic content model;
(d) general modularity and independence of foundation architectural components;
(e) modular security structures;
(f) variable length and multiple branching chains of control; and (g) independent, modular control structures in the form of executable load modules that can be maintained ' in one or more libraries, and assembled into control' methods and models, and where such model control ~49 wo ~ rcrwsmns~
schemes can "evolve" as control information passes through the VDE installations of participants of a pathway of VDE content control information handling.
Because of the breadth of issues resolved by the present invention, it can provide the emerging "electronic highway" with a single transactioaldistribution control system that can, for a very broad range of commercial and data security models, ensure ZO against unauthorized use of confidential andlor proprietary information and commercial electronic transactions. VDE's electronic transaction management mechanisms can enforce the electronic rights and agreements of all parties participating in widely varying business and data security models, and this can be efficiently achieved through a single VDE implementation within each VDE participant's electronic appliance. VDE
supports widely varying business and/or data security models that can involve a broad range of participants at various "levels"
of VDE content and/or content control information pathways of handling. Different content control andJor auditing models and agreements may be available on the same VDE installation.
These models and agreements may contxol content in relationship to, for example, VDE installations and/or users in general; certain specific users; installations; classes and/or other , wo m , rcr~s~nsa.~
groupings of installations andlor users; as well as to electronic content generally on a given installation, to specific properties, property portions; classes and/or other groupings of content.
- 5 Distribution using VDE may package both the electronic content and control information into the same VDE container;
and/or may involve the delivery to an end-user site of different pieces of the same VDE managed property from plural separate remote locations andlor in plural separate VDE content i0 containers andlor employing plural different delivery means.
Content cor_trol information may be partially or fully delivered separately from its associated content to a user VDE installation in one or more V17E administrative objects. 'Portions of said control information may be delivered from one or more sources.
15 . Control information may also be available for use by access from a user's VDE installation secure sub-system to one or more remote VDE secure sub-systems and/or VDE compatible, certified secure remote locations. VDE control processes such as metering, budgeting, decrypting and/or fingerprinting, may as 20 relates to a certain user content usage activity, be performed in a user's local VDE installation secure subsystem; or said processes ' may be divided amongst plural' secure subsystems which may be located in the same user VDE installations andlor in a network server and in the user installation. For example, a local VDE

PCTIUS971i5243 installation may perform decryption and save any, or all of, usage metering information dated to content analor electronic appliance usage at such user installation could be performed at the server employing secure (e.g., encrypted) communications between said secure subsystems. Said server location may also he used for near real time, frequent; or more periodic secure receipt of content usage information from said user installation;
with, for example, metered information being maintained only temporarily at a local user installation.
Delivery means for VDE managed content may include electrnnic data storage means such as optical disks for delivering one portion of said information and broadcasting and/or telecommnnicating means for other portions of said information.
Electronic data storage means may include magnetic media, optical media, combined magneto-optical systems, flash R.AM
memory, bubble memory, and/or other memory storage means such as huge capacity optical storage systems employing holographic, frequency, andlor polarity data starage techniques:
Data storage means may also employ layered disc techniques, such as the use of generallytransparent and/or traxisiucent materials that pass light through layers of data carrying discs which themselves are physically packaged together as one _ g~ _ WO 98109209 PCT1US97l15243 thicker disc. Data carrying locations on such discs may be, at least in part, opaque.
YDE supports a general purpose foundation for secure transaction management; including usage control, auditing, reporting, and/or payment. This general purpose foundation is called "VDE Functions" ("V'DEFs"). VDE also supports a collection of "atomic" application elements (e.g.; load modules) that can be selectively aggregated together to form various VDEF capabilities called control methods and which serve as VDEF applications and operating system functions. When a host operating environment of an electronic appliance includes VDEF
capabilities, it is called a "Rights Operating System' (ROS).
VDEF load modules, associated data, and methods form a body of .15 information that for the purposes of the present invention are called "control information." VDEF control information may be specifically associated with one. or more pieces of electronic content and/or it may be employed as a general component of the operating.system capabilities of a VDE installation:
VDEF transaction control elements reflect and enact content specific and/or more generalized administrative (for example, general operating system) control information. VDEF
capabilities which can generally take the form of applications _53_ wo 98I09z09 PCTlUS9'11i5243 (application models) that have more or less configurability which .
can be shaped by VDE participants; through the use; for example, of VDE templates, to employ specific capabilities, along, for example, with capability parameter data to reflect the elements of one or more express electronic agreements between VDE participants in regards to the use of electronic content such as commercially distributed products. These control capabilities manage the use of, and/or auditing of use of, electronic content, as well as reporting information based upon content use, and any payment for said use. VDEF capabilities may "evolve" to reflect the requirements of one or more successive parties who receive -or otherwise contribute to a given set of control information.
Frequently, for a VDE application for a given content model (such as distribution of entertainment on CD-ROM, content 15- delivery from an Internet repository, or electronic catalog shopping and advertising; or some combination of the above) participants would be able to securely select from amongst available, alternative control methods and apply related parameter data, wherein. such selection of control method and/or submission of data would constitute their "contribution" of control information. Alternatively,- or in addition, certain control methods that have been expressly certified as securely interoperable and compatible with said application may be independently submitted by a; participant as part of such a wo 9srono~ rcntrsrrnsz43 contribution. In the most general example, a generally certified load module (certified far a given VDE arrangement and/or content class) may be used v~ith many or any VDE application . that operates in nodes of said arrangement. These parties, to, the extent they are allowed, can lindependently and securely add, delete, and/or otherwise modify the specification of load modules and methods, as well as add, delete or otherwise modify related information.
. Normally the party who creates a VDE content container defines the general nature of the STDEF capabilities that will and/or may apply to certain electronic information. A VDE
content container is an object; that contains both content ( for example, commercially distributed electronic information products such as computer software programs, movies, electronic publications or reference materials, etc.) and certain control information related to the use of the object's content. A creating party may make a VDE container available to other parties.
Control information delivered' by, andlor otherwise available for use with, VDE content containers comprise (for commercial content distribution purposes) VDEF control capabilities ( and any associated parameter data) for electronic content. These capabilities may constitute one or mope "proposed" electronic agreements (and/or agreement functions available for selection °

WO 98Ifl9209 . PCTIUS97t15243 andlor use with parameter data) that manage the use and/or the consequences of use of such content and which can enact the terms and conditions of agreements involving multiple parties and their various rights and obligations.
A VDE electronic agreement may be explicit, through a user interface acceptance by one or more parties, for example by a "junior" party who has received control information from a "senior" party, or it may be a process amongst equal parties who individually assert their agreement. Agreement may also result from an automated electronic process during which terms and conditions are "evaluated" by certain VDE participant control information that assesses whether certain other electronic terms and conditions attached to content and/or submitted by another 1~ party are acceptable (do not violate acceptable control information criteria). Such an evaluation process may be quite simple, for example a comparison to ensure compatibility between a portion of, or all senior; control terms and conditions in a table of terms and conditions and the submitted control information of a subsequent participant zn a pathway of content control information handling, or it may be a more elaborate process that evaluates the potential outcome of, andlor implements a negotiation process between, two or more sets of control information submitted by two or more parties. VDE also ~56_ WO ggpp92flg PCTlU897i15243 accommodates a semi-automated process during which one or -more VDE participants directly, through user interface means, resoive "disagreements" betareen control information sets by accepting andlor proposing certain control information that tray be acceptable to control information representing one or more other parties interests and/or responds to certain user interface queries for selection of certain alternative choices and/or for certain parameter information, the responses being adopted if acceptable to applicable senior control information. -When another party (other than the first applier of rules), perhaps through .a negotiation process, accepts, andlor adds to and/or otherwise modifies, "in place" content control information;
a VDE agreement between two or more parties related to the use of such electronic content may be created (so long as any modifications are consistent with senior control information).
Acceptance of terms and conditions related to certain electronic content may be direct and express; or it may be implicit as a result of use of content (depending, for example, on legal 2~ requirements; previous exposure to such terms and conditions, and requirements of in place control information).
VDEF capa~iiiities may be employed, and a V'DE
agreement may be entered into, by a plurality of parties without WO 98!09209 PCT/US91115Z43 the VDEF capabilities being directly associated with the , controlling of certain, specific electronic information. For example, certain one or more VDEF capabilities may be present at a VDE installation, and certain VDE agreements may have bean entered into during the registration process for a content distribution application, to be used by such installation for securely controlling VDE content usage, auditing, reporting and/or payment. Similarly, a specific VDE participant may enter into a VDE user agreement with a VDE content or electronic IO . appliance provider when the user andlor her appliance register with such provider as a VDE installation and/or user. In such events, VDEF in place control information available to the user VDE installation may require that certain VDEF methods are employed, for example in a certain sequence, in order to be abh to use all and/or certain classes, of electronic content and/or VDE
applications.
VDE ensures that certain prerequisites necessary for a given transaction to occur are rnet. This includes the secure 2fl execution of any required load' modules and the availability of any required, associated data. For example, required load modules and data (e.g. in the form of a method) might specify that sufficient credit from an authorized source must be confirmed as available. It might further require certain one or more load modules execute as processes at an appropriate time to ensure that such credit will be used in order to pay far user use of the content. A certain content provider might, for example, require metering the number of copies made for distribution to employees of a given software program (a portion of the program, might be maintained in encrypted form and require the presence of a VDE installation to rvxn). This would require the execution of a metering method for copying of the property each time a copy was made for another employee. This same pro~,~ider might also charge fees based on the total number of different properties licensed from them by the user and a metering history of their licensing of properties might be required to maintain this information.
VDE provides organization, community, and/or universe wide secure environments whose integrity is assured by processes securely controlled in VDE participant user installations (nodes). VDE installations, in the preferred embodiment, may include both software and tamper resistant hardware semiconductor elements. Such a semiconductor arrangement comprises, at least in part; special purpose circuitry that has been designed to protect against tampering with, ar unauthorized observation of, the information and functions used in performing the VDE's control functions. The special purpose secure circuitry provided by the present invention includes at least one of a dedicated semiconductor arrangement known as a Secure Processing Unit (SPU) and/or a standard microprocessor, microcontroller., and/or other processing logic t?aat accommodates the requirements of the present invention and functions as an SPU. VDE's secure hardware may 3~e found incorporated into, for example; a fax/modem chipor chip pack; I/O controller, video display controller, andJor other available digital processing arrangements. It is anticipated that portions of the present invention's VDE secure hardware capabilities may ultimately be standard design elements of central processing units (CPUs) for computers and various other electronic devices.
Designing VDE capabilities into one or more standard microprocessor, niicrocontroller and/or other digital processing cpmponents may materially reduce VDE related hardware costs by employing the same hardware resources for both the transaction management usescontemplated by the present invention and for other, host electronic appliance functions.. This means that a V'DE $PU can employ (share) circuitry elements of a "standard" CPU. For exampie; if a "standard" processor can operate in protected mode and can execute VDE related instructions as a protected activity; then such an embodiment may provide sufficient hardware security for a variety of wo ssro9zo9 rcrrtrsmns~
applications and the expense of a special purpose processor might be avoided. Under one preferred embodiment of the present invention, certain memory (e.g., RAM, ROM, NVRAM) is maintained during VDE related instruction processing in a protected mode (for example, as supported by protected mode microprocessors). This memory i.s located in the same package as the processing logic f e.g. processor). Desirably, the packaging and memory of such a processor would be designed using security techniques that enhance its resistance to tampering.

The degree of overall security of the VDE system is primarily dependent on the degree of tamper resistance and concealment of VDE control process execution and related data storage activities. Employing special purpose semiconductor I5 packaging techniaues can significantly contribute to the degree of security. Concealment and tamper-resistance in semiconductor memory (e.g., RAlhi, RONI, N~TR.A.~1~I) can be achieved, in part, by employing such memory within an SPU _ package, by encrypting data before it is sent to external memory 20 (such as an external RAM package) and decrypting encrypted data within the CPU/R,AlVI package before it is executed. This process is used for important VDE related data when such data is stored on unprotected media, for example, standard host storage, such as random access memory, mass storage, etc. In p~/(~597115243 that event, a VDE SPU would encrypt data that results from a secure VDE execution before such data was stored in eternal memory.
~ Summary of Some Important Features Provided by VDE in Accordance With the Present laueafioa VDE employs a variety of capabilities that serve as a foundation for a general purpose, sufficiently secure distributed electronic commerce solution. VDE enables an electronic IO -commerce marketplace that supports divergent, competitive business partnerships; agreements; and evolving overall business models. For example, VDE includes features that:
"sufficiently" impede unauthorized and/or 15 uncompensated use of electronic information andlor appliances through the use of secure communication, storage, and transaction management technologies. VDE supports a model wide, distributed security implementation which 20 creates a single secure "virtual" transaction processing and information storage environment.
VDE enables distributed VDE installations to securely store and communicate information and w remotely control the execution processes and the character of use of electronic information at other .
VDE installations and in a wide variety of ways;
support low-cost, eff dent, and effective security architectures for transaction control, auditing, reporting, and related communications and information storage. VDE may employ tagging related security techniques, the time-ageing of encryption keys, the compartmentalization of both stored control information (including differentially tagging such stored information to ensure against substitution and tampering] and distributed content (to, for many content applications. employ one or more content encryption keys that a_re unique to the 1~ specific VDE installation andior user], private key techniques such as triple DES to encrypt content, public key techniques such as RSA to protect communications and to provide the benefits of digital signature and authentication to securely bind together the nodes of a VDE arrangement, secure processing of important transaction management executable code, and a combining of a small amount of highly secure, hardware protected storage space with a much larger "exposed" mass media storage wv ~a~2o9 rcrrvs~rnsa~
space storing secured (normally encrypted and tagged) control and audit information. VDE
employs special purpose hardware distributed throughout some or all locations of a VDE
implementation: a) said hardware controlling important elements of-. content preparation (such as causing such content to be placed in a VDE content container and associating content control ~'armation withsaid content), content and/or electronic appliance usage auditing, content usage . analysis, as well as content usage control; and b) said hardware having been designed to securely handle processing load module control activities, wherein said control processing activities may involve a sequence of required control factors;
support dynamic user selection of information subsets of a VDE electronic information product (VDE controlled content). This contrasts with the ~ constraints of having to use a few high level individual, pre-defined content provider information increments such as being required to select a whole information product or product section in order to acquire or otherwise use a portion of such product or wo 9sro~12o9 PCTlITS9711S243 section. VDE supports metering and usage control over a variety of increments (including "atomic"
increments, and combinations of different increment types) that are selected ad hoc by a user and represent a collection of pre-identified one or more increments (such as one or more blocks of a preidentified nature, e.g., bytes, images, logically related blocks) that form a generally arbitrary, but logical to a user, content "deliverable." VDE control information (including budgeting, pricing and metering) can be configured so that it can specifically apply, as appropriate, to ad hoc selection of different, unanticipated variable user selected aggregations of information increments and pricing 15- levels can be, at least in part, based on quantities and/or nature of mixed increment selections (for example, a certain quantity of certain text could mean associated images might be discounted by 15%; a greater quantity of text in the "mixed"
increment selection might mean the images are discounted 20%). Such user selected aggregated ' information increments can reflect the actual requirements of a user for information and is more flexible than being limited to a single, or a few; high wo rcrnJSmns~
level, (e.g. product, document, database record) predetermined increments. Such high level increments may include quantities of information not desired by the user and as a result be more costly than the subset of information needed by the user if such a subset was available. In sum, the present invention allows information contained in electronic information products to be supplied according to user specification. Tailoring to user IO specification allows the present invention to provide the greatest value to users, which in turn will generate the greatest amount of electronic commerce activity. The user, for example, would be able to define an aggregation of content derived from various portions of an available content product, but which, as a deliverable for use by the user, is an entirely unique aggregated increment. The user may, for example, select certain numbers of bytes of information from various portions of an information product, such as a reference work, and copy them to disc in unencrygted form and be billed based on total number of bytes plus a surcharge on the number of "articles" that provided the bytes. A
content provider might reasonably charge less for _66_ WO 98109209 PCTIUS97l15243 such a user defined information increment since the user does not require all of the content from all of the articles that contained desired information. This process of defining a user desired information increment may involve artificial intelligence database search tools that contribute to the location of the most relevant portions of information from an information product and cause the automatic display to the user of information describing search criteria . hits for user selection or the automatic e.rtraction and delivery of such portions to the user. VDE
further supports a wide variety of predefined increment types including:
bytes, I5 s images, ~ content over time for audio or video, or any other increment that can be identified by content provider data mapping efforts, such as:
~ sentences, ~ paragraphs, ~ articles, ~ database records, and byte offsets representing increments of logically related information.
-6?-WO 98109209 PGTl~JS971152~i3 VDE supports as many simultaneous predefined increment types as may be practical for a given type of content and business model.
b ~ securely store at a user's site potentially highly detailed information reflective of a user's usage of a variety of different content segment types and employing both inexpensive "exposed" host mass storage for maintaining detailed information in the form of encrypted data and maintaining summary information for security testing in highly secure special purpose VDE installation nonvolatile memory (if availablei.
1.6 ~ support trusted chain of handling capahilities for pathways of distributed. electronic information andJor for content visage related information. Such chains may extend, for example, from a content creator, to a distributor, a redistributor, a client 2~ user, and then may provide a pathway for securely reporting the same and/or differing usage information to one or more auditors, such as to one ar more independent clearinghouses and then back to the content providers, including content creators.

W0 98109209 PGTIUS97f15243 The same and/or different pathways employed for certain content handling, and related content control information and reporting information handling, may also be~employed as one or more pathways for ' electronic payment handling (payment is characterized in the present invention as administrative content) for electronic content and/or appliance usage. These pathways are used for conveyance of all or portions of content, and/or I0 content related control information. Content creators and other providers can specify the pathways that, partially or fully, must be used to disseminate commercially distributed property content, content control information, payment administrative content, andlor associated usage reporting information. Control information specified by content providers may also specify which specific . parties must or may tincluding, for example, a group of eligible parties from which a selection may be 20 made ) handle conveyed information. It may also specify what transmission means (for example telecommunication carriers or media types) and ' transmission hubs must or may be used.
_gg_ WO 98/9209 , . P(,'r1US97/15~43 a support flexible auditing mechanisms, such as employing "bitmap meters," that achieve a high .
degree of efficciency of operation and throughput and allow, in a practical manner; the retention and ready recall of information related to previous usage activities and related patterns. This flexibility is .
adaptable to a wide variety of billing and security - control strategies such as:
upgrade pricing (e.g. suite purchases?, IO ~ pricing discounts (including quantity discounts), ~ billing related time duration variables such as discounting new purchases based on the timing of past purchases, and I5 ~ security budgets based on quantity of different; logically related units of electronic information used over an interval of time.
Use of bitmap meters (including "regular'' and 20 "wide" bitmap meters) to record usage and/or purchase of information,-in conjunction with other elements of the preferred embodiment of the present invention, uniquely supports efficient maintenance of usage history for: (a) rental, (b) flat fee licensing wo gs~o9zo9 pc~rnlsmnszas or purchase, (c) licensing or purchase discounts based upon historical usage variables, and (d) reporting to users in a manner enabling users to determine whether a certain item was acquired, or _ 5 acquired within a certain time period (without requiring the use of conventional database mechanisms, which are highly inefficient for these applications). Bitmap meter methods record activities associated with electronic appliances, i0 properties, objects, or portions thereof, .andlor administrative activities that are independent of spec properties, objects, etc., performed by a user and/or electronic appliance such that a content and/or appliance provider and/or controller of an I5 administrative activity can determine whether-a certain activity has occurred at some point, or during a certain period, in the past (far example, certain use of a commercial electronic content product and/or appliance). Such determinations can 20 then be used as part of pricing and/or control ' strategies of a content and/or appliance provider, and/or controller of an administrative activity. For example, the content provider may choose to charge only once for access to a portion of a property, WO 98109209 PCTlUS97115243 regardless of the number of iirnes that portion of the property is accessed by a user.
~ support ~launchable" content, that is content that can be provided by a content provider to an .
end-user, who can then copy or.pass aiang the content to other end-user parties without requiring the direct participation of a content provider to register andlar otherwise initialize the content for use. This content goes "out of (the traditional distribution) channel" in the form of a "traveling object." Traveling objects are containers that securely carry at least some permissions information.
andlor methods that are required for their use (such 1~ methods need not be carried by traveling objects if the required methods will be available at, or directly available to, a destination YDE installation).
Certain travelling objects may be used at same or all ~.
~E installations of a given VDE arrangement since 2p they can make available the content control information necessary for content use without requiring the involvement of a commercial VDE
value chain participant or data security administrator (e.g. a control officer or network _72_ _ administrator?. As long as traveling object control information requirements are available at the user VDE installation secure subsystem (such as the presence of a sufficient quantity of financial credit from an authorized credit provider), at least some travelling object content may be used by a receiving party without the need to establish a connection with a remote VDE authority (until, for example, budgets are exhausted or a time content usage 1~ reporting interval has occurred). Traveling objects can travel "out-of channel," allowing, for example, a user to give a copy of a traveling object whose content is a software program, a movie or a game, to a neighbor, the neighbor being able to use the traveling object if appropriate credit (e:g.'an electronic clearinghouse account from a clearinghouse such as VISA or AT&T) is available.
Similarly, electronic information that is generally available on an Internet, or a similar network, repository might be provided in the form of a traveling object that can be downloaded and subsequently copied by the initial downloader and then passed along to other parties who may pass the object on to additional parties.

wo 9s~onog rcrrusrrnsa,~3 ~ provide very flexible and extensible user identification according to individuals, installations;
by groups such as classes, and by function and hierarchical identification employing a hierarchy of levels of client identification (far example, client organisation ID, client department ID, client network ID, client project ID, and client employee ID, or any appropriate subset of the .above).
~ provide a general purpose, secure, component based content control and distribution system that functions as a foundation transaction operating system environment that empiovs executable code pieces crafted for transaction control and auditing.
These code pieces can be reused to optimize e~ciency in creation and operation of trusted, distributed transaction management arrangements.
VDE supports providing such executable code in the ..
form of "atomic" load modules and associated data.
2fl Many such load modules are inherently configurable, aggregatable, portable, and extensible and singularly, or in combination (along with associated data), run as control methods under the VDE transaction operating environment. VDE can WO 98109209 PCTlUS97l1S243 satisfy the requirements of widely differing electronic commerce and data security applications by, in Part, employing this general purpose transaction management foundation to securely process VDE transaction related control methods.
Control methods are created primarily through the use of one or more of said executable, reusable load module code pieces (normally in the farm of executable object components) and associated data.
The component nature of control methods allows the present invention to efficiently operate as a highly configurable content control system. Under the present invention, content control models can be iteratively and asynchronously shaped, and otherwise updated to accommodate the needs of VDE participants to the extent that such shaping and otherwise updating conforms to constraints applied by a VDE application, if any (e.g., whether new component assemblies are accepted and, if so, what certification requirements exist for such component assemblies or whether any or certain participants may shape any or certain control information by selection amongst optional control information (permissions record) control methods.

This iterative (or concurrent) multiple participant process occurs as a result of the submission and use of secure, control information components (executable code such as load modules andlor methods, and/or associated data). These components may be contributed independently by secure communication between each control information influencing VDE participant's VDE
installation and may require certification for use with a given application, where such certification was provided by a certification service manager for the VDE arrangement who ensures secure interoperability andlor reliability (e.g., bug control resulting from interaction) between appliances and submitted control methods. The transaction management control functions of a VDE electronic appliance transaction operating environment interact with non-secure transaction management operating system functions to properly direct transaction processes and data related to electronic information security, usage control, auditing, and usage reporting. VDE provides the capability to manages resources related to secure VDE content -?6-wo ~9aa~ ~rms~ns~
and/or appliance control information execution and data storage.
~ facilitate creation of application andlor system functionality under 'VDE and to facilitate integration into electronic appliance environments of load modules and methods created under the present invention. To achieve this; VDE employs an Application Programmer's Interface (API) andlor a IO transaction operating system (such as a ROS) programming language with incorporated functions, both of which support the use of capabilities and can be used to efficiently arid tightly integrate VDE
functionality into commercial and user applications.
35 .
~ support user interaction through: (a) "Pop-Up"
applications which,. for example, provide messages to users and enable users to take specific actions such 20 as approving a transaction, (b) stand-alone VDE
_ applications that provide administrative environments for user activities such as: end-user . preference specifications for limiting the price per transaction, unit of time, and/or session, for _77_ WO PGT/US9~I15243 accessing history information concerning previous transactions, for reviewing financial information such as budgets, expenditures (e.g. detailed ancUor summary) and usage analysis information, and (c) VDE aware applications which, as a result of the use of a VDE API andlor a transaction management (for example, ROS based) programming language embeds VDE "awareness" into commercial or internal software (application programs, games, etc.) lfl so that VDE user control information and services are seamlessly integrated into such software and can be directly accessed by a user since the underlying functionality has been integrated into the commercial software's native design. For I5 example, in a ~FDE aware word processor application, a user may be able to "print" a document into a VDE content container object, applying specific control information by selecting from amongst a series of different menu templates 20 for different purposes (for example, a confidential memo template for internal organization purposes may restrict the ability to "keep," that is to make an electronic copy of the memo).

WO 9$109209 PCTlUS97li5263 a employ "templates" to ease the process of configuring capabilities of the present invention as they relate to specific industries or businesses. Templates are applications or application add-ons under the present invention. Templates support the eff cient specification andlor manipulation of criteria related -to specific content types, distribution approaches, pricing mechanisms, user interactions with content and/or administrative activities, andlor the Iike.
I0 Given the very large range of capabilities and configurations supported by the present invention, reducing the xange of configuration opportunities to a manageable subset particularly appropriate for a given business model allows the full configurable power of the present invention to be easily employed by "typical" users who would be otherwise burdened with complex programming and/or configuration design responsibilities template applications can also help ensure that VDE related processes are 20 secure and optimally bug free by reducing the risks associated with the contribution of independently . developed load modules, including unpredictable ' aspects of code interaction between independent modules and applications, as well as security risks wo gs. rcT~s9~m associated with possible presence of viruses in such modules. VDE, through the use of templates, reduces typical user configuration responsibilities to an appropriately focused set of activities including selection of method types (e.g. functionality) through , menu choices such as multiple choice, icon selection, and/or prompting for method parameter data (such as identification information, prices, budget limits, dates, periods of time, access rights to specific IQ content, etc.) that supply appropriate and/or necessary data for control information purposes. By limiting the typical (non-programming? user to a limited subset of configuration activities whose general conftguration environment (template) has been preset to reflect general requirements corresponding to that user, or a content or other business model can very substantially limit difficulties associated with content containerization (including placing initial control information on 2p content), distribution, client administration, electronic agreement implementation, end user interaction, and clearinghouse activities, including associated interoperability problems (such as conflicts resulting from security, operating system, WO 98109209 PCTlUS97I152d3 andlor certif catian incompatibilities). Use of appropriate YDE templates can assure users that their activities related to content V13E
- containerization, contribution of other control information, communications, encryption techniques andlor keys, etc. will be in compliance with specifications for their distributed VDE
arrangement. VDE templates constitute preset - configurations that can normally be recanfigurable to allow for new andlor modified templates that reflect adaptation into new industries as they evolve or to reflect the evolution or other change of an existing industry. For example, the template concept may be used to provide individual, overall I5 frameworks for organizations and individuals that create, modify, market, distribute, consume, and/or otherwise use movies, audio recordings and live performances; magazines; telephony based retail sales, catalogs, computer software, information data bases, multimedia, commercial communications, advertisements, market surveys, infomercials, games, CADICAM services for numerically controlled machines, and the like. As .the context surrounding these templates changes or evolves, wo 9srona9 rcrr~s~~usza3 template applications provided under the present invention may be modified to mast these changes for broad use, or for more focused'activities. A given PDE participant may have a plurality of templates available for different tasks. A par ty that places content in its initial VDE container may have a variety of different, configurable templates depending on the type of content andlor business model related to the content. An end-user may have different configurable templates that can be applied to different document types (e-mail, secure internal documents, database records, etc. ) and/or subsets of users (applying differing general sets of control information to difFerent bodies of users; for example, selecting a list of users who may, under certain preset criteria, use a certain document). Of course, templates may, under certain circumstaaces have fixed control information and not provide for user selections or parameter data entry.
support plural, different control models regulating the use and/or auditing of either the same specific copy of electronic information content and/or differently regulating di$erent copies (occurrences) w0 98109209 PGTIUS97I15Z43 of the same electronic information content.
Differing models for billing, auditing, and security ' can be applied to the same piece of electronic information content and such differing sets of control information may employ, for control purposes, the same, or differing, granularities of electronic information control increments. This includes supporting variable control information far budgeting arid auditing usage as applied to a variety of predefined increments of electronic information, including employing a variety of different budgets and/or metering increments for a given electronic information deliverable for: billing units of measure, credit limit. security budget Limit and security content metering increments, and/or market surveying and customer profiling content metering increments. For example, a CD-ROM disk with a database of scientific articles might be in part billed according to a formula based on the number of bytes decrypted, number of articles containing said bytes decrypted, while a security budget might limit the use of said database to no more than ~% of the database per month for users on the wide area , network it is installed on.

wo X09 rc rnrsg~ns~
provide mechanisms to persistently maintain trusted content usage and reporting control information through both a sufficiently secure chain of handling of content and content control information and through various forms of usage of such content wherein said persistence of control may survive such t~se. Persistence of control includes the ability to extract infoz~oaation from a VDE container object by creating a new container whose contents are at least in part secured and that contains bath the extracted content and at least a portion of the control information which control information of the original container and/or are at least in part Z5 produced by control information of the original container for this purpose and/or VDE installation control infarhiation stipulates should persist and/or control usage of content in the newly formed container. Such control. information can continue to manage usage of container content if the container is "embedded" into another VDE managed object, ' such as an object which contains plural embedded VIE containers, each of which contains content derived (extracted) from a different source.
_$4y WO 98/09209 , PCTIUS97115243 a enables users, other value chain participants (such as clearinghouses and government agencies?, and/or user organizations, to specify preferences or requirements related to their use of electronic content and/or appliances. Content users, such as end-user customers using commercially distributed content (games, information resources, software programs, etc.); can define; if allowed by senior control information, budgets, and/or other control information, to manage their own internal use of content. Uses include, for example, a user setting a limit on the price for electronic documents that the user is willing to pay without prior express user ' authorization, and the user establishing the character of metering information he or she is willing to allow to be collected (privacy protection).
This includes providing the means for content users to protect the privacy of information derived from their use of a VDE installation and content andlor appliance usage auditing. In particular, VDE can ;
_ prevent information related to a participant's usage of electronic content, from being provided to other parties without the participant's tacit or explicit agree~:ent.
.gg_ wo ~sro~ao9 " pc~rrt~s~~nsaa3 ~ provide mechanisms that allow control information to "evolve" and be modified according, at Ieast in part, to independently, securely delivered further control information: Said control information may include executable code (e.g., load modules) that has been certified as acceptable (e.g., reliable and trusted) for use with a specific VDE application, class of applications, and/or a VDE distributed arrangement. This modification (evolution) of control information can occur upon content control information (load modules and any associated data) circulating to one or more VDE participants in a pathway of handling of control information, or it may occur upon control information being received from a VDE participant. Handlers in a pathway of handling of content control information, to the extent each is authorized, can establish, modify, and/or contribute to, permission, auditing, payment, and reporting control information related to 2~ . controlling, analyzing, paying for, and/or reporting usage of, electronic content and/or appliances (for example, as related to usage of VDE controlled , _ property content). Independently delivered (from an independent source which is independent except in -as-wo 9s~o9zo9 rcrnrs9~~rsza3 regards to certification), xt Ieast in part secure, control information can be employed to securely modify content control information when content ' control information has flowed from one party to another party in a sequence of VDE content control information handling. This modification employs, for example, one or more VDE component assemblies being securely processed in a VDE secure ubsystem. In an alternate embodiment, control 14 information may be mod.if ed by a senior party through use of their VDE installation secure sub-system after receiving submitted, at least in part secured, control information from a "junior"
party, normally in the form of a 4'DE administrative I5 object. Control, information passing along VDE .
pathways can represent a mi.~ed control set; in that it may include: control information that persisted through a sequence of control information handlers;
other control information that was allowed to be 20 modified, and further control information representing new control information and/or mediating data. Such a control set represents an ' evolution of control information for disseminated content. In this example the overall content control _87_ wo ~sro~o9 rcrrUSmnsaas set for a VDE content container is "evolving" as it securely (e.g. communicated in encrypted form and ' using authentication and digital signaturing techniques) passes, at least in part, to a new participant's VDE installation where the proposed control information is securely received and handled. The received control information maybe integrated {through use of the receiving parties' VDE installation secure sub-system) wzth in-place control information through a negotiation process involving both control information sets. For example, the modification, within the secure sub-system of a content provider s VDE installation, of content control information for a certain VDE
I5 content container may have occurred as a result of the incorporation of required control information provided by a financial credit provider. Said credit provider may have employed their VDE installation to prepare and securely communicate (directly or indirectly) said required control information to said content provider. Incorporating said required control information enables a content provider to allow .the credit provider's credit to be employed by a content end-user to compensate for the end-user's WO 9$109209 PCTII3S97115243 use of VDE controlled content andlor appliances, so long as said end-user has a credit account with said ' financial credit provider and said cxedit account has sufficient credit available. Similarly, control . 5 information requiring the payment of taxes andlor the provision. of revenue information resulting from electronic commerce activities may be securely _ received by a content provider. This control information may be received, for example, from a government agency. Content providers might be required by law to incorporate such control information into the control information for commercially distributed content and/or services related to appliance usage. Proposed control information is used to an extent allowed by senior control information and as determined by any negotiation trade-offs that satisfy priorities stipulated by each set (the received set and the proposed set). VDE also accommodates different control schemes specifically applying to different participants (e.g.; individual participants andlor ~ participant classes (types)) in a network of VIE
~ content handling participants.
_89_ WO 9~I092~19 PCT/US97tf5?~13 a support multiple simultaneous control models for the same content property aad/or property portion.
This allows, for example, for concurrent business actidities which are dependent an electronic commercial product content distribution, such as acquiring detailed market survey information and/or supporting advertising, both of which can increase revenue and result in lower content costs to users and greater value to content providers. Such control information andlor overall control models may be applied, as determined or allowed by control information, in differing manners to different participants in a pathway of content, reporting, payment, and/or related control information handling. VDE supports applying different content control information to the same andlor different content and/or appliance usage related activities, and/or to different parties in a content andlor appliance usage model, such that different parties (or classes of VDE users, for example) are subject to differing control information managing their use of electronic izrformation content. For example, differing control models based on the category of a user as a distributor of a VDE controlled content WO ~~~ PCTNS97l15243 object or an end-user of such content may result in different budgets being applied. Alternatively, for example, a one distributor may have the right to distribute a different array of properties than another distributor (from a common content collection provided, for example, on optical disc). An individual, and/or a class or other grouping of end-users, may have different costs (for example, a student; senior citizen; andlor poor citizen user of Ifl content who may be provided wiih the same or differing discounts) than a "typical" content user.
~ support provider revenue information resulting from customer use of content and/or appliances, and/or provider and/or end-user payment of taxes, through the transfer of credit andlor electronic currency from said end-user andlor provider to a government agency, might occur "automatically" as a result of such received control information causing the generation of a VDE content container whose content includes customer content usage information reflecting secure, trusted revenue summary - iliformation and/or detailed user transaction listings (level of detail might depend, for example on type or wo ~o~os rcrrtrs~rns~
size of transaction-information regarding a bank interest payment to a customer or a transfer of a large (e.g. over $10,000) might be, by law, automatically reported to the governm.ent). Such summary andlor detailed information related to taxable events and/or currency, and/or creditor currency transfer, may be passed along a pathway of reporting andlor payment to the government in a VDE container. Such a container may also be used 1Q for other VDE related content usage reporting informs tion.
~ suppon the flowing of content control information through different "branches" of content control information handling so as to accommodate, under the present invention's preferred embodiment, diverse controlled distributions of VDE controlled content. This allows different parties to employ the same initial electronic content with differing 0 (Perhaps competitive) control strategies. In this instance, a party who first placed control information on content can make certain control assumptions and these assumptions would evolve into more specific and/or extensive cflntrol wo Los PCTlIJ597115Z43 assumptions. These contxoi assumptions can evolve during the branching sequence upon content model participants submitting control inforuation changes, ' ' for example, for use in "negotiating" with "in place"
d content control information. This can result in new .
or modified content control information and/or it might involve the selection of certain one or more already "in-place" content usage control methods over in-place alternative methods, as well as the submission of relevant control information parameter data. This form of evolution of different control information sets applied to different copies of the same electronic property content andlor appliance results from VDE control information I5 , flowing "down" through different branches in an overall pathway of handling and control and being modified differently as it diverges down these different pathway branches. This ability of the present invention to support multiple pathway 24 branches for the flow of both VDE content contrnl information and VDE managed content enables an . eiectroni,c commerce marketplace which supports diverging, competitive business partnerships, -agreements, and evolving overall business models _g3_ wo 9sro~zo9 ~crms~rn~as which can employ the same content properties combined, for example, in differing collections of content representing differing at least in part competitive groducts.
~ enable a user to securely extract, through the use of the secure subsystem at the user's VDE installation, at least a portion of the content included within a VDE content container to produce,a new, secure 20 object (content container, such that the extracted information is maintained in a continually secure manner through the extraction process. Formation of the new VDE container containing such extracted content shall result in control information consistent 1b with, or specified by, the source VDE content container, andlor local VDE installation secure subsystem as appropriate; content control information. Relevant control information, such as security and administrative information, derived; at 20 least in part, from the parent (source) object's control information, will normally be automatically inserted into a new VDE content container object containing extracted VDE content. This process typically occurQ .under the control framework of a WO 98109249 PCTItT897115243 parent object andlor VDE installation control infor~.ation executing at the user's VDE installation ' secure subsystem (with, for example, at least a portion of this inserted control information being - 5 stored securely in encrypted form in one or more permissions records). In an alternative embodiment, the derived content control information applied to extracted content may be in part or whole derived from, or employ, content control information stored IO remotely from the VDE installation that performed the secure e:ctraction such as at a remote server location. As with the content control information for most VDE managed content, features of the present invention allows the content's control information to:

(aJ "evolve," for example, the extractor of content may add new control methods andlor modify control parameter data, such as VDE
application compliant methods, to the extent 20 allowed by the content's in-place control information. Such new control information might specify, for example, who may use at least a portion of the new object, and/or how said at least a portion of said extracted _g~_ content may be used (e.g. when at least a portion may be used, or what portion or quantity of portions may be used);
{b) allow a user to combine additional content with at least a portion of said extracted content, such as material authored by the extractor and/or content (for example, images, video, audio, and/or text) extracted from one or more other VDE container objects for placement directly into the new container:
(c) allow a user to securely edit at least a portion of said content while maintaining said content 1~ in a secure form within said VDE content container;
{d) append extracted content to a pre-existing VDE content container object and attach 20 associated control information -- in these cases, user added information may be secured, e.g., encrypted, in part; or as a whole, and may be subject to usage and/or auditing control information that differs from the those applied to previously in place object content;
(e) preserve VDE control over one or more portions of extracted content after various forms of usage of said portions, for example, maintain content in securely stored form while allowing "temporary" on screen display of content or allowing a software program to be maintained in secure form but transientiy decrypt any encrypted executing portion of said program (all, or only a portion, of said program may be encrypted to secure the ~ program).
Generally, the extraction features of the present .
invention allow users to aggregate and/or disseminate and/or otherwise use protected electronic content information extracted from 2fl content container sources while maintaining secure VDE capabilities thus preserving the rights of - providers in said content information after various ' content usage processes.

WO 98109209 PCTlUS97I15243 ~ support the aggregation of portions of VDE
controlled content, such portions being subject to differing VDE content container control information, 'wherein various of said portions may have been provided by independent, different content providers from ene or more different locations remote to the user performing the aggregation. Such aggregation, in the preferred embodiment of the present invention, may involve preserving at least a portion of the control information (e.g., executable code such as load modules) for each of various of said portions by, for example, embedding some or all of such portions individually as VDE content container objects within an overall VDE content container andlor embedding some or all of such portions directly into a VDE content container. In the latter case, content control information of said content container may apply differing control information sets to various of such portions based upon said portions original control information reduirements before aggregation. Each of such embedded VDE
content containers may have its own control information in the form of one or more permissions records. Alternatively, a negotiation between _g$_ WO 98109209 PCTltJS97115243 control information associated with various aggregated portions of electronic content, rnay produce a control information set that would govern same or all of the aggregated content portions. The ~ VDE content control information produced by the negotiation may be uniform (such as hawing the same Ioad modules andlor component assemblies, andlor it may apply differing such content control information to two or more portions that constitute an aggregation of VDE controlled content such as differing metering; budgeting, billing and/or payment models. For example, content usage payment may be automatically made, either through a clearinghouse, or directly, to different content 1~ providers for different potions.
enable flexible metering of, or other collection of information related to, use of electronic content and/or electronic appliances. A feature of the present invention enables such flexibility of metering control mechanisms to accommodate a simultaneous, broad array of: (a) different ' parameters related to electronic information content use; (b) different increment units (bytes, documents, propez-ties, paragraphs, images, etc.) and/or other organisations of such electronic content; and/or (c) different categories of user and/or VDE installation types, such as client organizations, departments, projects, networks, and/or individual users, etc.
This feature of the present invention can be employed for content security, usage analysis (for example, market surveying), and/or compensation based upon the use and/or exposure to VDE
managed content. Such metering is a flexible basis for ensuring payment for content royalties, licensing, purchasing, and/or advertising. A feature of the present invention provides for payment means supporting fle:~ble electronic currency and credit mechanisms, including the ability to securely maintain audit trails reflecting information related to use of such currency or credit. VDE supports multiple differing hierarchies of client organization control information wherein an organization client administrator distributes control information specifying the usage rights of departments, users, andlor projects. Likewise, a department (division) network manager can function as a distributor WO 98/09209 PCTIUS9?115243 (budgets, access rights, etc.) for department networks, projects; andlor users, etc.
~ provide scalable, integratabie, standardized control means for use on electronic appliances ranging from inexpensive consumer (for example, teiwision set-top appliances) and professional devices (and hand-held PDAs) to servers, mainframes, communication switches, etc. The scalable transaction management/auditing technology of the present invention will result in more efficient and ' .
reliable interoperability amongst devices functioning in electronic commerce and/or data security environments. As standardized physical containers have become essential to the shipping of physical goods around the world, allowing these physical containers to universally "fit" unloading equipment, efficiently use truck and train space, and accommodate known arrays of objects (for example, boxes) in an efficient manner, so VDE electronic content containers may, as provided by the present invention, be able to efficiently move electronic information content (such as commercially published properties, electronic currency and credit, and content audit information), and associated content control information, around the world.
Interoperability is fundamental to efficient electronic commerce. The design of the ~'DE
foundation, VDE load modules, and VDE containers, are important features that enable the VDE node operating environment to be compatible with a very broad range of electronic appliances. The ability, for example, for control methods based on load modules " 10 to execute in very "small" and inexpensive secure sub-system environments, such as environments with very little readlwrite memory, while also being able to execute in large memory sub-systems that may be used in more expensive electronic appliances, supports consistency across many machines. This consistent VDE operating environment, including~its control structures and .
container architecture, enables the use of standardized VDE content containers across a broad range of device types and host operating environments. Since VDE capabilities can be seamlessly integrated as extensions, additions, andlor modifications to fundamental capabilities of electronic appliances and host operating systems, WO 98!09209 PCTIUS97/15243 VDE containers, content control information, and the VDE foundation will be able to work with many device types and these device types will be able to consistently and efficiently interpret and enforce ' S VDE control information. Through this integration users can also benefit from a transparent interaction with many of the capabilities of VDE. VDE
integration with software operating on a host electronic appliance supports a variety of capabilities that would be unavailable or less secure without such integration. Through integration with one or more device applications andlor device operating environments, many capabilities of the present invention can be presented as inherent I~ capabilities of a given electronic appliance, operating system; or appliance application. For example, features of the present invention include:
(a) ODE system software to in part extend and/or modify host operating systems such that they ~0 possesses VDE capabilities, such as enabling secure . transaction processing and electronic information storage; (b) one or more application programs that in . part represent tools associated with VDE operation;
and/or (c) code to be integrated into application WO 981ft9209 PCTIUS9'1JISZ43 programs, wherein such code incorporates references into ODE system software to integrate ~TDE
capabilities and makes such applications VDE
aware (for example, word processors, database retrieval applications, spreadsheets, multimedia presentation authoring tools, film editing software, music editing software such as MIDI applications and the Iike, robotics control systems such as those associated with CAD/CAlI~I environments and NCM
software and the like, electronic mail systems, teleconferencing software, and other data authoring, creating, handling, and/or usage applications including combinations of the above). These one or more features (which may also be implemented in firmware or hardware) may be employed in conjunction with a VDE node secure hardware processing capability, such as a microcontroller(s), microprocessor(s), other CPUs) or other digital processing logic.
employ audit reconciliation and usage pattern evaluation processes that assess, through certain, normally network based, transaction processing reconciliation and threshold checking activities, whether certain violations of security of a VDE
arrangement have occurred. These processes are performed remote to VDE controlled content end-user VDE locations by assessing, for example, . ~ purchases, and/or requests, for electronic properties by a given VDE installation. Applications for such reconciliation activities include assessing whether the quantity of remotely delivered VDE controlled content corresponds to the amount of financial credit IO ' andlor electronic currency employed for the use of such content. A trusted organization can acquire information from content providers concerning the cost for content provided to a given VDE installation and/or user and compare this cost for content with 15 the credit andlor electronic currency disbursements for that installation andlor user. Fnconsistencies in the amount of content delivered versus the amount of disbursement can prove, andlor indicate, depending on the circumstances, whether the Iocal 20 VDE installation has been, at least to some degree;
compromised (for example, certain important system - security functions, such as breaking encryption for at least some portion of the secure subsystem andlor VDE controlled content by uncovering ane or more keys). Determining whether irregular patterns (e.g.
unusually high demand) of content usage; or requests for delivery of certain kinds of VDE
controlled information during a certain time period by one or more VDE installations andlor users (including, for example, groups of related users whose aggregate pattern of usage is suspicious) may alsa be useful in determining whether security at such one or mflre installations, and/or by such one or Ia more users, has been compromised, particularly when used in combination. with an assessment of electronic credit and/or currency provided to one or more VDE users andlor installations, by same or all of their credit andiar currency suppliers, compared I5 with the disbursements made by such users and/or installations.
supgart security techniques that materially increase the time required to "break" a system's integrity.
20 This includes using a collection of techniques that minimizes the damage resulting from comprising some aspect of the security features of the present inventions.
- lOf -WD 98109209 PCTIUS97i15243 provide a family of authoring, administrative, reporting, payment, and billing tool user applications that comprise components of the ' present invention's trusted/secure, universe wide, distributed transaction control and administration system. These components support VDE related:
object creation (including placing control information on content), secure object distribution and management (including distribution control ~p information, financial related, and other usage analysis), client internal VDE activities administration and control, security management, user interfaces, payment disbursement, and clearinghouse related functions. These components are designed to support highly secure, uniform, consistent, and standardized: electronic commerce and/or data security pathways su of handling, reporting, and/or payment; content control and administration; and human factors (e.g. user 20 interfaces).
~ support the operation of a plurality of - clearinghouses, including, for example, both financial and user clearinghouse activities, such as those performed by a client administrator in a large organization to assist in the organization's use of a VDE arrangement, including usage information analysis, and control of VIE activities by individuals and groups of employees such as specifying budgets and the character of usage rights available under VDE for certain groups of and/or individual, client personnel, subject to control information series to control information submitted by the client administrator. At a clearinghouse, one or more VDE installations may operate together with a trusted distributed database environment (which may include concurrent database processing means). A financial clearinghouse normally receives at its location securely delivered content usage information, and user requests (such as requests for further credit, electronic currency, and/or higher credit limit). Reporting of usage information and user requests can be used for supporting electronic currency, billing, payment and credit related activities, and/or for user profile analysis and/or broader market survey analysis and marketing (consolidated) list generation or other information derived, at least in part, from said usage -10s wo 98b9Z09 PGTIU597115243 information. this information can be provided to content providers or other parties, through secure, ' authenticated encrypted communication to the VDE
installation secure subsystems. Clearinghouse processing means would normally be connected to specialized I/O means, which may include high speed telecommunication switching means that may be used for secure communications between a c3earinghouse and other VDE pathway participants.
xo securely support electronic currency and credit usage control, storage, and communication at, and between, VDE installations. VDE further supports automated passing of,electronic currency and/or credit information, including payment tokens (such as in the form of electronic currency or credit) or other payment information, through a pathway of payment, which said pathway may or may not be the same as a pathway for content usage information reporting. Such payment may be placed into a VDE
container created automatically by a VDE
installation in response to control information stipulating the "withdrawal" of credit or electronic currency from an electronic credit or currency xo9 -wo X09 rc~rn~nsaa3 account based upon an amount owed resulting from usage of VDE controlled electronic content and/or appliances. Payment credit or currency may then be automatically communicated in protected (at least in part encrypted) form through telecommunication of a VDE container to an appropriate party such as a clearinghouse, provider of original property content or appliance, or an agent for such provider (other than a clearinghouse). Payment information may be packaged in said VDE content container with, or without, related content usage information, such as metering information. An aspect of the present invention further enables certain information regarding currency use to be specified as unavailable to certain, some, or all VDE parties '("conditionally" to fully anonymous currency) and/or further can regulate certain content information, such as currency and/or credit use related information (and/or other electronic information - 20 usage data) to be available only under certain strict circumstances, such as a court order (which may itself require authorization through the use of a court controlled VDE installation that may be required to securely access "conditionally"

WO 98109209 PCTlUS97l15243 anonymous information). Currency and credit information, under the preferred embodiment of the present invention, is treated as administrative content;
support fingerprinting (also known as watermarking) for embedding in content such that when content protected under the present invention is released in clear form from a VDE object 1p (displayed, printed, communicated, extracted, andlor saved), information representing the identification of the user andlor VDE installation responsible for transforming the content into clear form is embedded into the released content. Fingerprinting is useful in providing an ability to identify who extracted information in clear form a VDE
container, or who made a copy of a VDE object or a portion of its contents. Since the identity of the user andlor other identifying information may be 2fl embedded in an obscure or generally concealed manner, in VDE container content and/or control information, potential copyright violators may he deterred from unauthorized extraction or copying.
Fingerprinting normally is embedded into unencrypted electronic content or control information, though it can be embedded into encrypted content and later placed in unencrypted content in a secure VDE installation sub-system as the encrypted content carrying the fingerprinting information is decrypted. Electronic information, such as the content of a VDE container, may be fingerprinted as it leaves a network (such as Internet) location bound for a receiving party. Such repository information may be maintained in unencrypted form prior to communication and be encrypted as it leaves the repository. Fingerprinting would preferably take place as the content leaves the repository, but before the encryption step.
I5 Encrypted repository content can be decrypted, for example in a secure VDE sub-system, fingerprint information can be inserted, and then the content can be re-encrypted for transmission. Embedding identification information of the intended recipient user andlor VDE installation into content as it leaves, for example, an Internet repository, would provide important information that would identify or assist in identifying any party that managed to compromise the security of a VDE installation or the PCTJUS97lf5243 WO ~1092U9 delivered content. If a party produces an authorized clear form copy of VDE controlled content, including _ making unauthorized copies of an authorized clear form copy, fingerprint information would point back to that individual andlor his or her VDE
installation. Such hidden information will act as a strong disincentive that should dissuade a substantial portion of potential content "pirates"
Wi=n stealing other parties electronic information.. , 1p Fingerprint information identifying a receiving party and/or VDE installation can be embedded into a VDE object before, or during, decryption, replication, or communication of VDE content objects to receivers. Fingerprinting electronic-I5 context before it is encrypted for transfer to a customer or other user provides information that can be very useful fox identifying who received certain content which may have then been distributed or made available in unencrypted form..
24 This information would be useful in tracking who may have "broken" the security of a VDE
installation and was illegally making certain electronic content available to others.
Fingerprinting znaY provide additional, available wo 981U9209 PCTIUS971i5243 information such as time and/or date of the release (for example extraction) of said content information.
Locations for inserting fingerprints may be specified by VDE installation and/or content container control information. This information may specify that certain areas and/or precise locations within properties should be used for fuigerprinting, such as one or more certain fields of information or information types. Fingerprinting information may IO be incorporated into a property by modifying in a normally undetectable way color frequency and/or the brightness of certain image pixels, by slightly modifying certain audio signals as to frequency, by modifying font character formation, etc.
Fingerprint information, itself, should be encrypted so as to make it particularly difficult for tampered fingerprints to be interpreted as valid. Variations in fingerprint locations for different copies of the same property; "false" fingerprint information; and multiple copies of fingerprint information within a specific property or other content which copies employ different fingerprinting techniques such as information distribution patterns, frequency and/or brightness manipulation, and encryption related techniques, are features of the present invention for increasing the di~culty of an unauthorized individual identifying fiagergrint locations and ' erasing and/or modifying fingerprint information.
s provide smart object agents that can carry requests, data, andJor methods, including budgets, authorizations, credit or currency, and content. For v example, smart objects may travel to and/or from remote information resource locations and fulfill requests for electronic infornnation content. Smart objects can, for example, be transmitted to a remote location to perform a specified database search on behalf of a user or otherwise "intelligently" search 1b remote one or more repositories of information far user desired information. After identifying desired information at one or more .remote locations, by for example, performing one or more database searches, a smart object may return via communication to the user in the form of a secure "return object"
containing retrieved information. A user may be . charged for the remote retrieving of information, the returning of information to the user's VDE
installation, andJor the use of such information. In - ~.i~ -W0 98109209 PCTNS9?115243 the latter case, a user may be charged only for the information in the return object that the user actually uses. Smart objects may have the means to request use of one or more services and/or resources.
Services include locating other services andlor resources such as information resources, language or format translation, processing, credit (or additional credit) authorization, etc. Resources include reference databases, networks, high powered or specialized computing resources (the smart object may carry information to another computer to be efficiently processed and then return the information to the sending VDE installation), remote object repositories, etc. Smart objects can make efficient use of remote resources (e.g.
centralized databases, super computers, etc.? while providing a secure means for charging users based ' on information ancUor resources actually used.
~ support both "translations" of VDE electronic agreements elements into modern language printed agreement elements (such as English language agreements) and translations of electronic rights protectionltransaction management modern wo 98109209 PCTlUS97115243 language agreement elements to electronic VDE
agreement elements. This feature requires maintaining a library of textual language that corresponds to VDE load modules andlor methods andlor component assemblies. As V'DE methods are proposed andlor employed for VDE agreements, a listing of textual terms and conditions can be produced by a VDE user application which, in a preferred embodiment, provides phrases, sentences and/or paragraphs that have been stored and correspond to said methods and/or assemblies. This feature preferably employs artificial intelligence capabilities to analyze and automatically determine, andlor assist one or more users to determine, the proper order and relationship between the library elements corresponding to the chosen methods and/or assemblies so as to compose some or all portions of a legal or descriptive document. One or more users, and/or preferably an attorney (if the document a legal, binding agreement), would review the generated document material upon completion and employ such additional textual information and/or editing as necessary to describe non ' electronic transaction elements of the agreement -Ii?-WO 98109209 PCTIUS971i5243 and make any other improvements that may be necessary. These features fiu~ther support employing modern language tools that allow one or more users to make selections from choices and provide answers to questions and to produce a ODE
electronic agreement from such a process. This process can be interactive and the VDE agreement formulation process may employ artificial intelligence expert system technology that learns from responses and, where appropriate and based at Ieast in part on said responses, provides further choices and/or questions which "evolves" the desired VDE electronic agreement.
a support the use of multiple VDE secure subsystems in a single VDE installation. carious security and/or performance advantages may be realized by employing a distributed VDE design within a single VDE installation. For example, designing a hardware based VDE secure subsystem into an electronic appliance YDE display device, and designing said subsystem's integration with said display device so that it is as close as possible to the point of display, will increase the security for video w0 98109209 PCTIUS97I15243 materials by making it materially more di:~cult to, "steal" decrypted video information as it moves from outside to inside the: video system. Ideally, for ' example, a VDE secure hardware module would be in the same physical package as the actual display monitor, such as within the packaging of a video monitor or other display device, and such device would be designed, to the extent commercially practical, to be as tamper resistant as reasonable.
i0 As another example, embedding a VDE hardware module into an I/0 peripheral may have certain advantages from the standpoint of overall system throughput. If multiple VDE instances are employed within the same VDE installation, these 15 instances will ideally share resources to the e.~tent practical, such as VDE instances storing certain control information and content and/or appliance usage information on the same mass storage device and in the same VDE management database.
s requiring reporting and payment compliance by _ employing exhaustion of budgets and time ageing of keys. For example, a VDE commercial arrangement and associated content control information may wo qsrono9 Pc~rnrs~rns~
involve a content provider's content and the use of ' clearinghouse credit for payment for end-user usage of said content. Control information regarding said arrangement may be delivered to a user's (of said content) VDE i~~stallatiow andlor said financial clearinghouse's YDE installation. Said control information might require said clearinghouse to prepare and telecommunicate to said content provider both content usage based information in a certain form. and content usage payment in the forrri of electronic credit (such credit might be "owned" by the provider after receipt and used in lieu of the availability or adequacy of electronic currency) and/or electronic currency. This delivery of I5 information and payment may employ trusted VDE
installation secure subsystems to securely, and in some embodiments, automatically, provide in the manner specified by said control information, said usage information and payment content. Features of the present invention help ensure that a requirement that a clearinghouse report such usage information and payment content will be observed.
For example, if one participant to a VDE electronic agreement fails to observe such information pGTlUS9?!15243 reporting andlor payiag obligation, another p~cip~t can stop the delinquent party from ' successfully participating in VDE activities related to such agreement. For example, if required usage ~ information and payment was not reported as specified by content control information, the "injured" party can fail to provide, through failiing to securely communicate from his VDE installation secure subsystem, one or morepieces of secure 3.0 information necessary for the continuance of one or more critical processes. For example, failure to report information and/or payment from a clearinghouse to a content provider (as well as any ' security failures or other disturbing irregularities) 15 can result in the content provider not providing key and/or buriget refresh information to the clearinghouse, which information can be necessary to authorize use of the clearinghouse's credit for usage of the provider's content and which the 20 clearinghouse would communicate to end-user's during a content usage reporting communication between the clearinghouse and end-user. As another example, a distributor that failed to make payments andlQr report usage information to a wo 9sr~zo9 rc~rruss~msa~
content provider might find that their budget for ' creating permissions records -to distribute the content provider's content to users, andlor a security budget limiting one or more other aspect of their use of the provider's content, are not being refreshed by the content provider, once exhausted or timed-out (for example, at a predetermined date). In these and other cases, the offended party might decide not to refresh time ageing keys that had "aged out." Such a use of time aged keys has a similar impact as failing to refresh budgets or time-aged authorizations.
~ suppozt smart card implementations of the present Z~ invention in the form of portable electronic appliances, including cards that can be employed as secure credit, banking, and/or money cards. A
feature of the present invention is the use of portable VDEs as transaction cards at retail and 2fl other establishments, wherein such cards can "dock"
with an establishment terminal that has a VDE
secure sub-system andlor an online connection to a VDE secure andJor otherwise secure and compatible .
subsystem, such as a "tx-usted" financial clearinghouse (e.g., V'ISA, lrIastercardl. The VDE
card and the terminal (andJor online connection) can securely exchange information related to a transaction, with credit and/or electronic currency being transferred to a merchant and/or clearinghouse and transaction information flowing back to the card. Such a card can be used for transaction activities of all sorts. A docking station, such as a PC~ICIA connector on an electronic appliance, such as a personal computer, can receive a consumer's VDE card at home. Such a stationlcard combination can be used for on-line transactions in the same manner as a VDE
installation that is permanently installed in such an electronic appliance. The card can be used as an "electronic wallet" and contain electronic currency as well as credit provided by a clearinghouse. The card can act as a convergence point for financial activities of a consumer regarding many, if not all, merchant, banking, and on-line financial transactions, including supporting home banking activities. A
consumer can receive his paycheck and/or investment earnings and/or "authentic" VDE content container secured detailed information on such wo 9sro42o~ ~ rcrms~nsza3 receipts, through on-Line connections. A user can send digital currency to another party with a VDE
arrangement, including giving away such currency.
A VDE card can retain details of transactions in a highly secure and database organized fashion so that financially related information is both consolidated and very easily retrieved and/or analyzed. Because of the VDE security, including use of effective encryption, authentication, digital signaturing, and secure database structures, the records contained within a VDE card arrangement may be accepted as valid transaction records for government and/or corporate recordkeeping requirements. In some embodiments of the present ' I5 , invention a VDE card may employ docking station and/or electronic appliance storage means and/or share other VDE arrangement means Local to said appliance and/or available across a network, to augment the information storage capacity of the '~TDE card; by for example, storing dated, and/or archived; backup information. Taxes relating to some or all of an individual's financial activities may be automatically computed based on "authentic"
information securely stored and available to said VDE card. Said information may be stored in said card, in said docking station, in an associated electronic appliance, and/or other device operatively attached thereto, and/or remotely, such as at a remote server site. A card's data, e.g. transaction history, can be backed up to an individual's personal computer or other electronic appliance and such an .appliance may have an integrated VDE installation of its own. .4 current transaction, recent transactions (for redundancy), or all or other selected card data may be backed up to a remote backup repository, such a VDE compatible repository at a financial clearinghouse, during each or periodic docking for a financial transaction and/or ~.5 information communication such as a userlmerchant transaction. Backing up at least the current transaction during a connection with another party's VDE installation (for example a VDE installation that is also on a financial or general purpose electronic network), by posting transaction information to a remote clearinghouse and/or bank, can ensure that sufficient backup is conducted to enable complete reconstruction of VDE card internal information in the event of a card failure or loss.

wo 9rcrmsmns~
support certification processes that ensure authorized interoperability betoceen various VDE
installations so as to prevent VDE arrangements and/or installations that unacceptably deviate in specification protocols from other VDE
arrangements andlor installations from interoperating in a manner that may introduce security (integrity andlor confidentiality of VDE
secured information), process control, and/or .
software compatibility problems. Certification validates the identity of VDE installations and/or their components, as well as V'DE users.
Certification data can also serve as information that contributes to determining the decommissioning or other change related to VDE sites:
~ support the separation of fundamental transaction control processes through the use of event (triggered) based method control mechanisms.
These event methods trigger one or more other VDE
methods (which are available to a secure VDE
sub-system) and are used to carry out VDE managed transaction related processing. These triggered methods include independently (separably) and wo qsroszo9 pc~r~rns~
securely processable component billing management methods, budgeting management methods, metering management methods, and related auditing management processes. As a result of this feature of the present invention, independent triggering of metering, auditing, billing, and budgeting methods, the present invention is able to afficiexf'dy, concurrently support multiple financial currencies (e.g. dollars, marks, yen) and content related budgets, and/or billing increments as well as very flexible content distribution models.
support, complete, modular separation of the control structures related to ( 1 ~ content event triggering, (2) auditing, (3) budgeting tincluding specifying no right of use or unlimited right of uses, (~) billing, and (5) user identity (VDE installation, client name, department, network, and/or user, etc.).- The independence of these VDE control structures provides a flexible system which allows plural relationships between two or more of these structures, for example, the ability to associate a ~~cia1 budget with different event trigger structures (that are put in place to enable - 12'1-WO 98/09289 PCTlUS97115243 controlling content based on its logical portions).
Without such separation between these basic VDE
capabilities, it would be more difficult to efficiently maintain separate metering, budgeting, identification, and/or billing activities which involve the same, differing (including overiappingj, or entirely different; portions of content for metering, billing, budgeting, and user identification, for example, paying fees associated with usage of content, performing home banking, managing advertising services, etc. VDE modular separation of these basic capabilities supports the programming of plural, "arbitrary" relationships between. one or differing content portions (andior portion units) and budgeting; auditing, andlor billing control information. For example, under VDE, a budget limit of $200 dollars or 300 German l~Iarks a month may be enforced for decryption of a certain database and 2 U.S. Dollars or 3 German Marks may be charged for each record of said database decrypted (depending .on user selected currency). Such usage can be metered while an additional audit for user profile purposes can be prepared recording the identity of each filed displayed. Additionally, further metering can be conducted regarding the number of said database bytes that have bean - decrypted, and a related security budged may prevent the decrypting of more than 5% of the total _ 5 bytes of said database per year. The user may also, under VDE (if allowed by senior control information), collect audit information reflecting usage of database fields by different individuals and client organization departments and ensure that 1p differing rights of access and differing budgets limiting database usage can be applied to these client individuals and groups. Enabling content providers and users to practically employ such diverse sets of user identification, metering, 15 budgeting, and billing control information results, in part, from the use of such independent control capabilities. As a result, VDE can support great configurability in creation of plural control models applied to the same electronic property and the 20 same and/or plural control models applied to differing or entirely different content models (for - example, home banking versus electronic shopping).

Methods, Other Control Information, aad VDE Objects VDE control information (e.g., methods) that collectively _ control use of VDE managed properties (database, document, individual commercial product), axe either shipped with the content itself (for example, in a content container) and/or one or more portions of such control information is shipped to distributors and/or other users in separably deliverable "administrative objects." A subset of the methods for a property may in part be delivered with each property while one or more IO other subsets of methods can be delivered separately to a user or otherwise made available for use (such as being available remotely by telecommunication means). Required methods (methods listed as required for property and/or appliance use) must be available as specified if VDE controlled content (such as intellectual property distributed within a VDE content container) is to be used. Methods that control content may apply to a plurality of VDE container objects, such as a class or other grouping of such objects. Methods may also be required by certain users or classes of users and/or VDE installations and/or classes of installations for such parties to use one or more specific, or classes of, objects.
A feature of V'I3E provided by the present invention is that certain one or more methods can be specified as required in order WO 98109209 PCTlUS97115243 for a VDE installation and/or user to be able to use certain and/or all content. For example, a distributor of a certain type of content might be allowed by "senior" participants (by content creators, for example) to require a method which prohibits end-users from electronically saving decrypted content, a provider of credit for VDE transactions might require an audit method that records the time of an electronic purchase, and/or a user might require a method that summarizes usage information for reporting to a clearinghouse (e.g. billing information) in a way that does not convey confidential, personal information regarding detailed usage behavior.
A further feature of VDE provided by the present invention is that creators, distributors, and users of content can select from among a set of predefined methods fif available) to control container content usage and distribution functions and/or they may have the right to provide new customized methods to control at least certain usage functions tsuch "new" methods may be required to be certified for trustedness and interoperability to the VDE installation and/or for of a group of VDE applications).
As a result, ~TDE provides a very high degree of configurability ' witb respect to how the distribution and other usage of each property or object (or one or more portions of objects or properties as desired and/or applicable) will be controlled. Each VDE

WO 98!09209 PCTIUS97l15Z43 particigant in a VDE pathway of content control information may set methods for same or aIi of the content in a VDE
container, so long as such control information does not conflict with senior control information already in place with respect to:
(1) certain or all VDE managed content, (2) certain one or more VDE users and/or groupings of users, .
(3) certain one or more VDE nodes and/or groupings of nodes, and/or (4) certain one or more VDE applications and/or I ~ arrangements.
For example, a content creator's VDE control information for certain content can take precedence over other submitted VDE participant control information and, for example, if allowed by senior control information, a content distributor's control information may itself take precedence over a client administrator's control information, which may take precedence over as end-user's control information. A path-of distribution P~~pant's ability to set such electronic content control PCT/US9'7/15243 information can be limited to certain control information (for example, method mediating data such as pricing andlor sales dates) or it may be limited only to the extent that one or more of the participant's proposed control information conflicts with _ 5 control information set by senior control information submitted previously by participants in a chain of handling of the property, or managed in said participant's VDE secure subsystem.
VDE control information may, in part or in full, (a) IO represent control information directly put in place by VDE
content control information pathway participants, and/or (b) comprise control information put in place by such a participant , on behalf of a party who does not directly handle electronic ' content (or electronic appliance) permissions records information I5 (for example control information inserted by a participant on behalf of a financial clearinghouse or government agency). Such control information methods (and/or load modules and/or mediating data andlor component assemblies) may also be put in place by either an electronic automated, or a semi-automated 20 and human assisted, control information (control set) negotiating process that assesses whether the use of one or more pieces of submitted control information will be integrated into and/or replace existing control information (and/or chooses between alternative control.information based upon interaction with wo X09 PCTNS97I15243 in-place control information) and how such control information may be used.
Control information may be provided by a party who does not directly participate in the handling of electronic content (and/or appliance) andlor control information for such content (andJor appliance). Such control information may be provided in secure form using VDE installation, secure sub-system managed communications (including, for example, authenticating the deliverer of at least in part encrypted control information) between such not directly participating one or more parties' VDE
installation secure subsystems; and a pathway of VDE content control information participant's VDE installation secure subsystem. This control information may relate to, for example, the right. to access credit supplied by a financial services provider, the enforcement of regulations or laws enacted by a government agency, or the requirements of a customer of VDE
managed content usage information (reflecting usage of content by one or more parties other than such customer) relating to the creation, handling and/or manner of reporting of usage .
information received by such customer. Such control information may; for example, enforce societal requirements such as Iaws .-related to electronic commerce.

WO 98109209 PCT/US9?l15243 VDE content control information may apply differently to different pathway of content and/or control information handling participants. Furthermore, permissions records rights may be added, altered, and/or removed by a VDE participant if they are 6 allowed to take such action. Rights of VDE participants may be defined in relation to specific parties and/or categories of parties andlor other groups of parties in a chain of handling of content and/or content control information (e.g., permissions records).
Modifications to control information that may be made by a given, eligible party or parties, may be Limited in the number of modifications, andlor degree of modification, they rnay make.
At least one secure subsystem in electronic appliances of creators, distributors, auditors, clearinghouses, client I5 administrators, and end-users (understanding that two or more of the above classifications may describe a single user) provides a "sufficiently" secure (for the intended applications) environment for:
1. Decrypting properties and control information;
2. Storing control and metering related information;
3. Managing communications;

WO 98109209 PCTlUS97115243 4. Processing core control programs, along with associated data, that constitute control information for electronic content and/or appliance rights protection, including the enforcing of preferences and requirements of VDE participants.
Normally, most usage, audit, reporting, payment, and distribution control methods are themselves at least in part encrypted and are executed by the secure subsystem of a VDE
installation. Thus, for example, billing and metering records can be securely generated and updated, and encryption and decryption keys are securely utilized, within a secure subsystem.
Since VDE also employs secure (e.g. encrypted and authenticated) communications when passing information between the participant location (nodes) secure subsystems of a VDE arrangement, important components of a VDE electronic agreement can be reliably enforced with sufficient security (suffciently trusted) for the intended commercial purposes. A
VDE electronic agreement for a value chain can be composed, at least in. part, of one or more subagreements betvc~een one or more subsets of the value chain participants. These subagreements are comprised of one or more electronic contract "compliance"
elements (methods including associated parameter data) that ensure the protection of the rights of VDE participants.

wo o9 rcrr~~nsaas The degree of trustedness of a VDE arrangement will be primarily based on whether hardware SPUs are employed at participant location secure subsystems and the effectiveness of the SPU hardware security architecture, software security techniques when an SPU is emulated in software, and the encryption algorithm(s) and keys that are employed for securing content, control information, communications, and access to VDE
node (VDE installation) secure subsystems. Physical facility and user identity authentication security procedures may be used x0 instead of hardware SPUs at certain nodes; such as at an established financial clearinghouse, where such procedures may provide sufficient security for trusted interoperability with a VDE arrangement employing hardware SPUs at user nodes.
The updating of property management files at each location of a VDE arrangement, to accommodate new or modified control information, is performed in the YDE secure subsystem and under the contmT of secure management file updating programs executed by the protected subsystem. Since all secure communications are at least in part encrypted and the processing inside the secure subsystem is concealed from outside observation and interference, the. present invention ensures that content control information can be enforced. As a result; the creator and/or distributor and/or client administrator andfor WO 98109209 . PCT/US9'7l15243 other contributor of secure control information for each property (for example, an end-user restricting the kind of audit information he or she will allow to be reported and/or a financial clearinghouse establishing certain criteria for use of its credit for payment for use of distributed content) can be confident that their contributed and accepted control information will'be enforced (within the security limitations of a given VDE security implementation design). This control information can determine, for example:
(1) How and/or to whom electronic content can be provided, for example, how an electronic property can be distributed;
1~ (2) How one or more objects and/or properties, or portions of an object or property, can be directly used, such as decrypted, displayed, printed, etc;
(3) How payment for usage of such content and/or content portions may or must be handled; and (4) How audit information about usage information related to at least a portion of a property should be collected, reported, and/or used.

Seniority of contributed control 'information, including resolution of conflicts between content control information submitted by multiple parties, is normally established by:
(1~ the sequence in which cflntrol information is put in place by various parties (in place control information normally takes precedence over subsequently submitted control information), (2) the specifics of VDE content and/or appliance control information. For example, in-place control ' information can stipulate which subsequent one or more piece of control from one or more parties or class of parties will take precedence over control information submitted by one or more yet different parties and/or classes of parties, and/or (3) negotiation between control information sets from plural parties, which negotiation establishes what control information shall constitute the resulting control information set for a given piece of VDE
_ managed content and/or VDE installation.

wo ~a~onos rcrrus9~nsZas Fiectroaic Agreements and Rights Protection An important feature of VDE is that it can be used to assure the administration of; and adequacy of security and rights protection for, electronic agreements implemented through the use of the present invention. Such agreements may involve one or more of:
(1) creators; publishers, and othex distributors, of electronic information, 10~
(2) financial service (e.g. credit) providers, (3) users of (other than financial sez~,-ice providers) information arising from content usage such as I5 content specific demographic information and user specific descriptive information. Such users may include market analysts, marketing list compilers for direct and directed marketing, and government agencies, (4) end users of content, (~) infrastructure service and device providers such as telecommunication companies and hardware WO 98/092fl9 PCTIUS97115243 manufacturers (semiconductor and electronic appliance andlor other computer system manufacturers) who receive compensation based upon the use of their services and/or devices, and (6) certain parties described by electronic information.
VDE supports commercially secure "extended" value chain electronic agreements. VDE can be configured to support the various underlying agreements between parties that comprise this extended agreement. These agreements can define important electronic commerce considerations including:
( 1. ) security, (2) content use control; including electronic distribution, (3) privacy (regarding, for example, information concerning parties described by medical, credit, tax, personal, and/or of other forms of confidential information); -(4) management of financial processes, and wo X09 pCTlUS9'1115243 (~) pathways of handling for electronic content, content and/or appliance control information, electronic content and/or appliance usage information and payment and/or credit.
VDE agreements may define the electronic commerce relationship of two ar more parties of a value chain, but such agreements may, at times, not directly obligate or otherwise directly involve other VDE value chain participants. For example, an electronic agreement between a content creator and a distributor may establish both the price to the distributor for a creator's content (such as for a property distributed in a VDE
container object) and the number of copies of this object that this distributor may distribute to end-users over a given period of 1~ time. In a second agreement, a value chain end-user may be involved in a three party agreement in which the end-user agrees to certain requirements for using the distributed product such as accepting distributor charges for content use and agreeing to observe the copyright rights of the creator. A thud 2fl agreement might exist between the distributor and a financial clearinghouse that allows the distributor to employ the , clearinghouse's credit for payment for the product if the end-user has a separate (fourth? agreement directly with the clearinghouse extending credit to the end-user. A fifth, evolving WO 98109209 PCTJUS97lf52A3 agreement may develop between ail value chain participants as content control information passes along its chain of handling.
This evolving agreement can establish the rights of all parties to content usage information, including, for example, the nature of information to be received by each party and the pathway of handling of content usage information and related procedures. A
sixth agreement in this example, may involve all parties to the agreement and establishes certain general assumptions, such as security techniques and degree of trustedness (for example, , commercial integrity of the system may require each V'DE
installation secure subsystem to electronically warrant that their VDE node meets certain interoperability requirements). In the above example; these si.~c agreements could comprise agreements of an e.~tended agreement for this commercial value chain instance.
VDE agreements support evolving ("living'') electronic agreement arrangements that.can be modified by current andlor new participants through very simple to sophisticated "negotiations" between newly proposed content control information interacting with control information already in place andlor by negotiation between concurrently proposed content w control information submitted by a plurality of parties. A given model may be asynchronously and progressively modified over WO 98!09209 PCTItTS9'1115243 time in accordance with existing senior rules and such modification may be apglied to all, to classes of, andlor to specific content, andlor to classes and/or specific users and/or user nodes.
A given piece of content may be subject to different control information at different times ox places of handling, depending on the evolution of its content control information (ancUor on differing, applicable VDE installation content contml information). The evolution of control information can occur during the passing along of oae or more VDE control information containing objects, that is control information may be modified at one or more points along a chain of contra! information handling, so Iong as such modification is allowed. rls a result, VDE
managed content may have different control information applied at both different "locations" in a chain of content handling and at similar locations in differing chains of the handling of such content. Such different application of control information may also result from content control information specifying that a certain party or group of parties shall be subject to content control information that differs from another party or group of parties. For example, content control information for a given piece of content may be stipulated as senior information and therefore not changeable, might be put in place by a content creator and might stipulate that national distributors of a given piece of their content may be permitted to make 100,000 copies WO 98I09Z09 PCTlUS97115243 per calendar quarter, so long as such copies are provided to boni fide end-users, but may pass only a single copy of such content to - a Iocal retailers and the control information limits such a retailer to making nn more than 1,000 copies per month for retail sales to . 5 end-users. In addition, for example, an end-user of such content might be limited by the same content control information to making three copies of such content, one for each of three different computers he or she uses (one desktop computer at work, one for a desktop computer at home, and one for a portable computer).
Electronic agreements supported by the preferred embodiment of the present invention can vary from very simple to very elaborate. They can support widely diverse information I5 management models that provide for electronic information security, usage administration, and communication and may support:
(a) secure electronic distribution of information, for example commercial literary properties, (b? secure electronic information usage monitoz-in:g and reporting, wo rcrnrrssnnsz~3 (c) secure financial transaction capabilities related to both electronic information and/or appIiaace usage and other electronic credit andlor currency usage and administration capabilities, (d) privacy protection for usage information a user does not wish .to release, and (e) "living" electronic information content dissemination models that flexibly accommodate:
( I) a breadth. of participants, (2) one or more pathways (chains) for: the handling of content, content andlor appliance control information, reporting of content and/or appliance usage related information, and/or payment, fl (3) supporting an evolution of terms and conditions incorporated into content control information; including use of .electronic -negotiation capabilities, y~0 PCT/US97115243 (4) support the combination of multiple pieces of ' content to form new content aggregations, and (5) multiple concurrent models.
Secure Processing Units An important part of VDE prnvided by the present invention is the core secure transaction control arrangement, herein called an SPU for SPUs), that typically must be present in each user's computer, other electronic appliance, or network.
SPUs provide a trusted environment for generating decryption keys, encrypting and decrvpting information, managing the secure communication of keys and other information between electronic appliances (i:e: betweQn VDE installations and/or i5 between plural VDE instances within a single VDE installation), securely accumulating and managing audit trai3, reporting, and budget information in secure and/or non-secure non-volatile memory, maintaining a secure database of control information management instructions, and providing a secure environment 2fl for performing certain other control and administrative functions.
A hardware SPU (rather than a software emulation) within a VDE node is necessary if a highly trusted environment - x.47 -WO ~~~ PGTlUS97I15243 for performing certain VDE activities is required. Such a trusted environment may be created thrnugh the use of certain contrnl software, one or more tamper resistant hardware modules such as a semiconductor or semiconductor chipset (including, for example, a tamper resistant hardware electronic appliance periplz~eral device?> for use within, and/or operatively connected to, an electronic appliance. With the present invention, the trustedness of a hardware SPU can be enhanced by enclosing some or all of its hardware elements within tamper resistant packaging and/or by employing other tamper resisting techniques (e.g. microfusing and/or thin wire detection techniques). A trusted environment of the present invention implemented, in part, through the use of tamper resistant semiconductor design, contains control logic, such as a 1~ microprocessor, that securely executes VDE processes.
A VDE node's hardware SPU is a core component of a VDE
secure subsystem and may employ some or all of an electronic appliance's primary control logic, such as a microcontroller, 2fl microcomputer or other CPU arrangement. This primary control logic may be otherv~rise employed for non, VDE purposes such as the control of some or alI of an electronic apgliance's non-VDE
functions. When operating in a hardware SPU mode, said primary control logic must be suffciently secure so as to protect WO 98109209 PCTlUS97IL~243 and conceal important VDE prncesses. For example, a hardware SPU may employ a host electronic appliance microcomputer operating in protected mode while performing VDE related activities, thus allowing portions of VDE processes to ezecute with a certain degree of security. This alternate embodiment is in contrast to the preferred embodiment wherein a trusted environment is created using a combination of one or more tamper resistant semiconductors that are not part of said primary control logic. in either embodiment, certain control information (software and parameter data) must be securely maintained within the SPU, and further control information can be stored' externally and securely (e.g. in encrypted and tagged form) and loaded into said hardware SPU when needed. In many cases, and in particular with microcomputers, the preferred embodiment approach of employing special purpose secure hardware for executing said VDE processes, rather than using said primary control logic; may be more secure and efficient. The level of security and tamper resistance required for trusted SPU hardware processes depends on the commercial requirements of particular markets or market niches, and may vary widely.

BRIEF DESCRIPTION OF ~'HE DRAWINGS
These and other features and advantages provided by the present inventions) may be better and mare completely understood by referring to the foliowiaag detailed description of presently preferred example embodiments in connection with the drawings,'of which:
FIGURE 1 illustrates as example of a "Virtual Distribution Environment" provided in accordance with a IO preferred examplelembodiment of this invention;
FIGURE 1A is a more detailed illustration of an example of the "Information Utility" shown ire FIGURE I;
I5 FIGURE 2 illustrates an example of a chain of handling and control;
FIGURE 2A illustrates one example of how rules and control information may persist from one participant to another 20 in the Figure 2 chain of handling and control;
FIGURE 3 shows one examgle of different control information that may be provided;
-15~-WO 9g~~ PCTJUS97I15243 FIGURE 4 illustrates examples of some digerent types of rules- aad/ar control information;
FIGURES 5A and ~8 show an example of an "object";
FIGURE 6 shows an example of a Secure Processing Unit ("SPU");
FIGURE 7 shows an example of an electronic appliance;
FIGUA,E 8 is a more detailed block diagram of an example of the electronic appliance shown in FIGURE 7;
FIGURE 9 is a detailed view of an example of the Secure Processing Unit (SPU) shown in FIGURES 6 and 8;
Figure 9A shows as example combined secure processing wait and control processing unit;
Figure 9B shows an example secure processing unit integrated with a standard CPU;

pcT~rs9~ns~3 FIGURE 10 shows an example of a "Rights Operating System" ("ROS") architecture provided by the Victual Distribution Environment;
FIGURES IIA-IIC show examples of functional relationships) between applications and the Rights Operating System;
FIGURES I1D-I1J show examples of "components" and component assemblies";
FIGURE 12 is a more detailed diagram of an example.of the Rights Operating System shown in FIGURE I0;
FIGURE I2A shows aw example of how "objects" can be created;
FIGURE 13 is a detailed block diagram of an example the software architecture for a "protected processing environment"
shown in FIGLTi~,E 12;
FIGURES 14A.-I4C are examples of SPU memory maps provided by the protected processing environment shown in FIGURE 13;

WO 98/09209 PCTIUS97I152d3 FIGURE 15 illustrates an example of how the channel services manager and load module execution manager of FIGURE 13 can support a channel;
FIGURE 1~A is an example of a channel header and channel detail records shown in FIGURE i5;
FIGURE 15B is a flowchart of an example of program control steps that may be performed by the FIGURE I3 protected processing environment to create a channel;
FIGURE I6 is a block diagram of an example of a secure data base structure;
I5 FIGURE I7 is an illustration of an example of a logical object structure;
FIGURE 18 shows an example of a stationary object structure;
FIGURE I9 shows an example of a traveling object structure;

WO 98!09209 PGT~US9~n3243 FIGURE 20 shows an example of a content object structure;
FIGURE 21 shows an example of an admiaistrative object structure;
FIGURE 22 shows an example of a method core structure;
FIGURE 23 shows an example of a load module structure;
FIGURE 24 shows an example of a User Data Element (UDE) andlor Method Data Element (MDE) structure;
FIGURES 25A-25C show examples of "map meters";
FIGURE 26 shows an example of a permissions record (PERC) structure:
FIGURES 26A and 26B together show a more detailed example of a permissions record structure;
FIGURE 27 shows an example of a shipping table structure;

wo 9sro~e9 ~ecr~rs9~ns~
FIGURE 2$ shows an example of a receiving table structure;
FIGURE 29 shows an example of an administrative event log structure;
FIGURE 30 shows an example inter-relationship between and use of the object registration table, subject table and user rights table shown in the FIGURE 16 secure database;
FIGURE 31 is a more detailed example of an. object registration table shown in FIGURE 18;
FIGURE 32 is a more detailed example of subject table shown in FIGITRE 16;
FIGURE 33 is a more detailed example of a user rights table shown in FIGURE 16;
FIGURE 34 shows a specific example of how a site record table and group record table may track portions of the secure database shown in FIGURE 16;

wo 9~J~zo9 PCTlUS97liSZ43 FIGURE 34A is an example of a FIGURE 34 site record table structure;
FIGURE 34B is an example of a FIGURE 34 group record table structure;
FIGURE 35 shows an example of a process for updating the secure database;
IO FIGURE 36 shows an example of how new elements may be inserted into the FIGURE 16 secure data base;
FFGURE 3? shows an example of how an element of the ' secure database may be accessed;
FIGURE 38 is a flowchart'example of hove to protect a secure database element;
FIGURE 39 is a flowchart example of hou~ to back up a secure database;
FIGURE 40 is a flowchart example of how to recover a secure database from a backup;

wo rcrnJSmns2a3 FIGURES 41A-41D are a set of examples showing how a "chain of handling and control" map be enabled using "reciprocal methods";
S FIGURES 42A-42D show an example of a "reciprocal"
BUDGET method;
FIGURES 43A-43D show an example of a "reciprocal"
REGISTER method;
i0 FIGURES 44A-44C show an example of a "reciprocal"
AUDIT method;
FIGURES 45-48 show examples of several methods being 15 used together to control release of content or other information;
FIGURES 49, 49A-49F show an example OPEN method;
FIGURES 50, 50A-50F show an example of a READ
20 method;
FIGURES 51, 51A-51F show an example of a WF,ITE
_ anethod;

wo 98109209 PCTIUS97115243 FIGURE 52 shows an example of a CLOSE method;
FIGURES 53A-53B show an example of an EVENT
method;
FIGURE 53C shows an example of a BILLING method;
FIGURE 54 shows an example of an ACCESS method;
~ FIGURES 55A-5~B show examples of DECRYPT and ENCRYPT methods:
FIGURE 56 shows an example of a CONTENT method;
FIGURES 5 r A and 57B show examples of EXTRACT and EMBED methods;
FIGURE 58A shows an example of an OBSCURE method;
FIGURES 58B, 58C show examples of a FINGERPRINT
method;
FIGURE 59 shows an example of a DESTROY method;

WO 98109209 PCTlUS97115243 FIGURE 60 shows an example of ~a PArIIC method;
FIGURE 61 shows an example of a METER method;
~ FIGURE 62 shows an example of a key "convolution"
process;
FIGURE 63 shows an example of how different keys may be generated using a key convolution process to determine a I0 "true" key;
FIGURES 64 and 8~ show an example of how protected processing environment keys may be initialized;
15 FIGURES 66 and 67 show example processes fox decrypting information contained within stationary and traveling objects, respectively;
Figures 67A and 67B show example techniques for cracking a software-based protected processing environment;
FIGURE 68 shows an example of how a protected processing environment may be initialized;

WO 98!09209 PGT/I3S97115243 FIGURE 69 shows an example of how firmware may be downloaded into a protected processing environment;
Figure 69A shows an example technique for distributing protected processing environment software;
Figure 69B-69C show an example installation routine for installing a software-based protected processing environment;
Figure 69D shows example techniques for embedding cryptographic keys at random locations within structure-based protected processing environment operational materials;
Figure 69E shows example locations for PPE operational materials random modifications and/or digital fingerprints;
Figure 69F shows an example customized static storage layout for PPE operational materials;
Figv.re 69G shows example electronic appliance signature locations;
Figure 69H shows example sequence dependent and independent processes;

WO 98ff192U9 PCTIUS97115243 Figures 69I and 69J show example static code and data storage organizations;
Figures 69K 69L together show example steps for - fi providing dynamic protection mechanisms;
Figure 69M shows an example initialization time check.
routine;
Figure 69N shows an example time check routine;
Figure 690 shows example time check data structures;
FIGURE 70 shows an example of multiple VDE electronic appliances connected together with a network or other communications means;
Figure 70A shows how content may be prepared for printing and encrypted inside a PPE, then decrypted inside a printer;
' Figure 70B shows how characters may be selected from - slightly different fonts in order to place an electronic fingerprint or watermark into printed output;
- is1-WO 98N?9209 PCTIUS971i5243 Figure 70C shows how characters in a font may be permuted to render a printed page unusable without the corresponding scrambled font;
FIGURE 7I shows an example of a portable VDE
electronic appliance;
FIGURES 72A-72D show examples of "pop-up" displays that may be generated by the user aotificatioa and exception interface;
FIGURE ?3 shov~rs an example of a "smart object";
' FIGURE r4 shows an example of a process using "smart objects";
FIGURES 75A-75D show examples of data structures used for electronic negotiation;
FIGURES 75E-75F show example structures relating to an electronic agreement;
FIGURES 76A-?6B show examples of electronic negotiation processes;

wo 9sro~o~ rc~r~us9~n5~
FIGURE 7? shows a further example of a chain of handling aad control;
_ FIGURE 78 shows an example of a VDE "repository";
FIGURES 79-83 show an example illustrating a chain of handling and control to evolve and transform VDE managed content and control information;
IO FIGURE 84 shows a further example of a chain of handling and control involving several categories of VDE
participants;
FIGURE 8~ shows a further example of a chain of 15 distribution and Handling within an organization;
Figures 86 and 8fiA show a further example of a chain of handling and control; and 20 Figure 87 shows an example of a virtual silicon container model.
MOftE DET~LED DESGRIPTIOrT

Figures 1-7 and the discussion below provides an 9v~v,~gw of some aspects of features provided by this invention. Following this overview is a more technical "detail description" of example embodiments in accordance with the invention.
Overview Figure 1 shows a "Virtual Distribution Environment"
("VDE") 100 that may be provided in accordance with this invention. In Figure 1, an i~forination utility 200 connects to communications means 202 such as telephone or cable TV lines for example. Telephone or cable TV lines 202 may, be part of an "elgctron~,c highway' that carries electronic information from place to place. Lines 202 connect information utility 200 to other 1~ people such as for example a consumer 208, an office 210, a video production studio 204, and a publishing house 214. Each of the people connected to information utility 200 may be called a "V'DE-participant" because they can participate in transactions occurring within the virtual distribution environment 100.
.Almost any sort of transaction you can think of can be supported by virtual distribution environment 100. A few of many examples of transactions that can be supported by «.rtual distribution environment 100 include:

wo 9siono9 rcrrt,~s~nsZa3 ~ home banking and electronic payments;
electronic legal contracts;
~ distribution of "content" such as electronic printed matter, . video, audio, images and computer programs; and ~ secure communication of private information such as medical records and financial information.
V'irtuai distribution environment 100 is "virtual" because it does not require many of the physical "things" that used to be necessary to protect rights; ensure reliable and predictable distribution, and ensure proper compensation to content creators and distributors. For example, in the past, information was distributed on records or disks that were difficult to copy. In the past, private or secret content was distributed in sealed 7.5 envelopes or locked briefcases delivered by courier. To ensure appropriate compensation, consumers received goods and services only after they handed cash over to a seller. Although information utility 200 may deliver information by transferring physical "things" such as electronic storage media, the virtual distribution environment I00 facilitates a completely electronic "chain of handling and control."
VDE Fleribility Supports Traasactions - IfiS -wo ~ono9 rcTrUSmnsza3 Information utility 200 flexibly supports many different kinds of information transactions. Different VDE participants may define and/or participate in different parts of a transaction.
Information utzlity 200 may assist with delivering information about a transaction, or it may be one of the transaction participants.
For example, the video production studio 204 in the upper right-hand corner of Figure 1 may create video/television programs. Video production studio 204 may send these programs over lines 202, or may use other paths such as satellite link 205 and CD R4bs delivery service 216. Video production studio 204 coin send the programs directly to consumers 20fi, 208, . 210, or it can send the programs to information utility 200 which may store and later send them to the consumers, for example.
Consumers 206, 208, 210 are each capable of receiving and using the programs created by video production studio 204--assuming, that is, that the video production studio or information utility 200 has arranged for these consumers to have appropriate "rules and controls" (control information? that give the consumers rights to use the programs.
Even if a consumer has a copy of a video program, she cannot watch or copy the program unless she has "rules and WO 98109209 PCT/US9'1~15243 controls" that authorize use of the program. She can use the program only as permitted by the "rules and controls."
For example, video production studio 204 might release a - 5 half hour exercise video in the hope that as many viewers as possible will view it. The video production studio 204 wishes to receive $2.00 per viewing. Video production studio 204 may, through information utility 200, make the exercise video available in "protected" form to all consumers 206, 208, 210.
Video production studio 204 may also provide "rules and controls" for the video. These "rules and controls" may specify for example:
(1) any consumer who has good credit of at least $2.00 based on a credit account with independent financial provider 212 (such as Mastercard or VISA) may watch the video, (2) virtual distribution environment 100 will "meter" each time a consumer watches the video, and report usage to video production studio 204 from time to time, and (3) financial provider 2I2 may electronically collect payment ($2.00) from the credit account of each consumer - 1s7 -wo 9sro~na9 rcTnTSmns2~
who watches the video, and transfer these payments to the video production studio 204.
Information utility 200 allows even a small video production studio to market videos to consumers and receive compensation for its efforts. Moxeover, the videos can, with appropriate payment to the video production studio, be made available to other video publishers who may add value and/or act as repackagers or redistributors.
Figure 1 also shows a publishing house 214. Publishing house 214 may act as a distributor for an author 206. The publishing house 21.4 may distribute ~,-'ights to use "content" (such as computer software, electronic newspapers,-the video produced 1~ by publishing house 214, audio, or any other data) to consumers such as office 210. The use rights may be defined by "rules and controls" distributed by publishing house 216. Publishing house 216 may distribute these "rules and controls" ~-ith the content, but this is not necessary. Because the content can be used only by consumers that have the appropriate "rules and controls,"
content and its associated "rules and controls" may be distributed at different times, in different ways, by different VDE participants. The ability of VDE to securely distribute and - i68 -PCTlUS97115243 enforce "rules and controls" separately from the content they apply to provides great advantages.
Use rights distributed by publishing house 2I4 may, for - ~ example, permit office 210 to make and distribute copies of the content to its employees. Office 210 may act as a redistributor by extending a "chain of handling and control" to its employees.
The office 210 may add or modify "rules and controls" (consistent with the "rules and controls" it receives from publishing house 214) to provide office-internal control information and mechanisms. For example, office 210 may set a maximum usage budget for each individual user and/or group within the office, or it may permit only specified employees andlor groups to access certain information.
1~
Figure 1 also shows an information delivery service 21fi delivering electronic storage media such as "CD ROM" disks to consumers 206. Even though the electronic storage media themselves are not delivered electronically by information utility 200 over lines, 202, they are still part of the virtual distribution environment 100. The electronic storage media may be used to distribute content, "rules and controls," or other information.

Ezampls of Whafa Inside Informatioa Utility 200 "Information utility" 200 in Figure I can be a collection of participants that may act as distributors, financial clearinghouses, and administrators. Figure 1A shows an example of what may be inside one example of information utility 200. Information utility participants 200a-200g could each be an independent organizationlbusiness. There can be any number of each of participants 200a-200g. In this example, electronic "switch" 200a connects internal parts of information IO ~ utility 200 to each other and to outside participants, and may also connect outside participants to one another.
Information utility 200 may include a "transaction processor" 200b that processes transactions (to transfer electronic funds, for example) based on requests from participants and/or report receiver 200e. It may also include a "usage analyst" 200c that analyzes reported usage information.
A "report creator" 200d may create reports based on usage for example, and may provide these reports to outside participants and/or to participants within information utility 200. A "report receiver" 200e may receive reports such as usage reports from content users. A "perrnissioning agent" 200f may distribute "rules and controls" granting usage or distribution permissions based on a profile of a consumer's credit worthiness, for example.

An administrator 200h may provide information that keeps the virtual distribution environment 100 operating properly. A
' content and message storage 200g may store information for use by participants within or outside of information utility 200.
Eiample of Distributing Content' Uaing A Chain of Handbag and ControlD
As explained above, virtual distribution environment 100 can be used to manage almost any sort of transaction. One type of important transaction that virtual distribution environment 100 may be used to manage is the distribution or communication of "content" or other important information. Figure 2 more abstractly shows a "model" of how the Figure 1 rirtual distribution environment 100 may be used to prol-ide a "chain of handling and control" for distributing content. Each of the blocks in Figure 2 may correspond to one or more of the VDE
participants shown in Figure 1.
In the Figure 2 example, a VDE content creator 102 creates "contend." The content creator 102 may also specify "rules and controls" for distributine the content. These distribution-related "rules and controls' can specify who has permission to distribute the rights to use content, and how many users are allowed to use the content.

Arrow 104 shows the content creator 102 sending the "rules and controls" associated with the content to a VDE 'tea distributor 106 ("distributors) over an electronic highwav I08 (or by some other path such as an optical disk sent by a delivery service such as U. S. mail). The content can be distributed over the same or different path used to send the "rules and controls."
The distributor 106 generates her own "rules and controls" that relate to usage of the content. The usage-related "rules and controls" may, for example, specify what a user can and can't do I0 with the content and how much it costs to use the content. These usage-related "rules and controls" must be consistent with the "rules and controls" specified by content creator 102.
Arrow 110 shows the distributor 106 distributing rights to use the content by sending the content's "rules and controls" to a content user 112 such as a consumer. The content user 112 uses the content in accordance with the usage-related "rules and controls."
In this Figure 2 e$ample, information relating to content use is, as shown by arrow 114, ,~en~ to a f~
clearinghouse 17.6. Based on this "reporting," the financial clearinghouse 116 may generate a b~l~ and send it to the content user 112 over a "re orts an ,,na,~s_" network 118. Arrow 120 - 1?2 -shows the content user 112 providing ~ for content usage to the financial clearinghouse 116. Based on the reports and payments it receives, the financial clearinghouse 116 may provide reports and/or payments to the distributor 106. The _ 5 distributor 106 may, as shown by arrow 122, provide reports and/or payments to the content creator 102. The clearinghouse /I6 may provide reports and payments directly to the creator 102. Reporting and/or payments may be done differently. For example, clearinghouse 116 may directly or through an agent, provide reports and/or payments to each of VDE content creators i02, and rights distributor 106, as well as reports to content user 112.
The distributor 106 and the content creator 102 may be I5 the same person, or then may be different people. For example, a musical performing group may act as both content creator 102 and distributor 106 by creating and distributing its own musical recordings. As another example, a publishing house may act as a distributor 106 to distribute rights to use works created by an author content creator I02. Content creators 102 may use a distributor I06 to efficiently manage the financial end of content distribution.

The "financial clearinghouse" 1I6 shown in Figure 2 may also be a "VDE administrator." Financial clearinghouse llfi in its VDE administrator role sends "administrative" information to the VDE participants. This administrative information helps to keep the virtual distribution environment 100 operating properly. The "VDE administrator" and financial clearinghouse roles may be performed by different people or companies, and there can be more than one of each.
More about f~ules and Controls' The virtual distribution environment 100 prevents use of protected information except as permitted by the "rules and controls" (control informationi. For example, the "rules and controls" shown in Figure 2 may grant specific individuals or classes of content users 112 "permission" to use certain content.
They may specify what kinds of content usage are permitted, and what kinds are not. They may specify how content usage is to be paid for and how much it costs. As another e:cample, "rules and controls" may require content usage information to be reported back to the distributor 106 andlor content creator 102.
Every VDE participant in "chain of handling and control"
is normally subject to "rules and controls." "Rules and controls"
define the respective rights and obligations of each of the various WO 98109209 PCT/US97i152d3 VDE participants. "Rules and controls' provide information and mechanisms that may establish interdependencies and relationships between the participants. "Rules and controls" are flexible, and permit "virtual distribution environment" 100 to . ~ support most "traditional" business transactions. For example:
~ "Rules and controls" array specify which financial clearinghouses) 116 may process payments, ~ "Rules and controls" may specify which participants) receive what kind of usage report, and 1p ~ "Rules and controls" rnay specify that certain information is revealed to certain participants, and that other information is kept secret from them.
"Rules and controls" rnay self limit if and how they may be 15 changed. Often, "rules and controls" specified by one VDE
participant cannot be changed by another ODE participant. For example, a content user 112 generally can't change "roles and controls" specified by a distributor 106 that require the user to pay for content usage at a certain rate. "Rules and controls" may 20 "persist" as they pass through a "chain of handling a.-~d control,"
and may be "inherited" as they are passed down from one VDE
participant to the next.
- 17~ -WO 98/09209 PCTJUS97/15?,~13 Depending upon their needs, VDE participants can specify that their "rules and controls" can be changed under conditions specified by the same or other "rules and controls." For example, "rules and controls" specified by the content creator 102 may permit the distributor 106 to "mark up" the usage price just as retail stores "mark up" the wholesale price of goods. Figure 2A
shows an example in which certain "rules and controls" persist unchanged from content creator 102 to content user 112; other "rules and controls" are modified or deleted by distributor 106;
and still other "rules and controls" are added by the distributor.
"R,ules and controls" can be used to protect the content user's privacy by limiting the information that is reported to other VDE participants. As one example, °rules and controls"
can cause content usage information to be reported anonymously without revealing content user identity, or it can reveal only certain information to certain participants (for example, information derived from usage) with appropriate permission, if required. This ability to securely control what information is revealed and what VDE participants) it is revealed to allows the privacy rights ofall VDE participants to be protected.

wo 98/492209 PCTIUS97/15243 Rules and Contents' Can Be 8egarately Delivered As mentioned above, virtual distribution environment 100 "associates" content with corresponding "rules and controls," and prevents the content from being used or accessed unless a set of corresponding "rules and controls" is available. The distributor 106 doesn't need to deliver content to control the content's distribution. The preferred embodiment can securely protect content by protecting corresponding, usage enabling "rules and controls" against unauthorized distribution and use.
1o In some examples, "rules and controls" may travel with the content they apply to. Virtual distribution environment 100 also allows "rules and controls" to be delivered separately from content. Since no one can use or access protected content without "permission" from corresponding "rules and controls,"
the distributor 106 can contTOl use of content that has already been (or will in the future be) delivered. "Rules and controls"
may be delivered over a path difFerent from the one used for content delivery. "R,ules and controls" may also be delivered at some other time. The content creator 102 might deliver content to content user II2 aver the electronic highway 108, or could make the content available to anyone on the highway. Content may be used at the time it is delivered, or it may be stored for later use or reuse.
-177_ WO 98I~9209 PCTlUS97115243 The virtual distribution environmeat 100 also allows payment and reporting means to be delivered separately. For example, the content user 112 may have a virtual "credit card"
that extends credit (up to a certain limit) to pay for usage of any content. A "credit transaction" can take place at the user's site without requiring any "online" connection or farther authorization. This invention can he used to help securely protect the virtual "credit card" against unauthorized use.
Rules and Contents' Define Processes Figure 3 shows an e:~ample of an overall process based on "rules and controls:" It includes an "events" process 402, a meter process 404, a billing process 406, and a budget process 408. Not all of the processes shown in Figure 3 will be used for every set of "rules and controls."
The "events process" 402 detects things that happen ("events") and determines which of those "events" need action by the other "processes." The "events" may include, for example, a request to use content or generate a usage permission. Some events may need additional processing, anti others may not.
Whether an "event" needs more processing depends on the "rules and controls" corresponding to the content. For example, a user who lacks permission wilt not have her request satisfied ("No -1?8-WO 98109209 PCTlUS97115Z43 Go"). As another example, each user request to turn to a new page of an electronic book may be satisfied ("Ga"), but it may not be necessary to meter, bill ar budget those requests. A user who.
has purchased a copy of a novel may be permitted to open and d read the novel as many times as she wants to without any further metering, billing or budgeting. In this simple example, the "event process" 402 may request metering, billing and/or budgeting processes the first time the user asks to open the protected novel (so the purchase price can be charged to the IO ' user), and treat all later requests to open the same navel as "insignificant events." Other content (for example, searching an .
electronic telephone directory) may require the user to pay a fee far each access.
la "Meter" process 404 keeps track of events, and may report usage to distributor 106 and/or other appropriate VDE
participant(s). Figure 4 shows that process 404 can 'ae based on a number of different factors such as:
(a) type of usage to charge for, 20 (b) what kind of unit to base charges on, (c) how much to charge per unit, WO 98109209 PCTIUS9'7J15243 (d) when to report, and (e) how to gay.
These factors may be specified by the "rules and controls" that control,the meter process.
Billing process 406 determines how much to charge for events. It records and reports payment information.
Budget process 408 limits how much content usage is permitted. For example, budget process 408 may limit the number of times content may be accessed or copied, or it may limit the number of pages or other amount of content that can be used based on, for example, the number of dollars available in a credit account. Budget process 408 records and reports financial I5 and other transaction information associated with such limits.
Content may be supplied to the user once these processes have been successfully performed.
Containers and Objects' Figure 5A shows how the virtual distribution environment I00, in a preferred embodiment, may package information elements (content? into a "container" 302 so the information can't be accessed except as provided by its "rules and controls."

wo ~o~io9 rcrrtrs~~nsaa3 Normally, the container 302 is ~lec,~trflni~ rather than physical.
Electronic container 302 in one example comprises "digital"
information having a well defined structure. Container 302 and its contents can be called an "object 300."
The Figure 5A example shows items "within" and enclosed by container 302. However, container 302 may "contain" items without those items actually being stored within the container.
For example; the container 302 may reference items that are available elsewhere such as in other containers at remote sites.
Container 302 may reference items available at different times or only during limited tunes. Some items may be too large to store ~~ithin container 302. Items may, for example, be delivered to the user in the form of a "live feed" of video at a certain time.
Even then, the container 302 "contains" the live feed (by reference) in this example.
Container 302 may contain information content 304 in r nic (such as "digital") form. Information content 304 could be the text of a novel, a picture; sound such as a musical performance or a reading, a movie or other video, camputer software, or just about any other kind of electronic information you can think ef. Other types of "objects" 300 (such as -i81-"administrative objects") may contain "administrative" or other information instead of or in addition to information content 304.
In the Figure 5A example, container 302 niay also contain "rules and controls" in the form o~
(a) a "permissions record" 808;
(b) "budgets" 308; and (c) "other methods" 1000.
. Figure 58 gives some additional detail about permissions record 808, budgets 308 and other methods 1000. The "permissions record" gOB specifies the rights associated with the object 300 such as, for example, who can open the container 302, who can use the object's contents, who can distribute the object, and what other control mechanisms must be active. For example, permissions record 808 may specify a user's rights to use, distribute and/or administer the container 302 and its content. Permissions record 808 may also specify requirements to be applied by the budgets 308 and "other methods" 1000.
Permissions record 808 may also contain security related information such as scrambling and descrambling "keys."
'Budgets" 308 shown in Figure 5B are a special type of "method" 1000 that may specify, among other things, limitations WO 981092U9 PCTNS971l5243 on usage of information content 304, and how usage will be paid for. Budgets 308 can specify; for example, how much of the total information content 304 can be used andlor copied. The methods 310 may prevent use of more than the amount specified by a specific budget.
"Other methods" 1000 define basic operations used by "rules and controls." Such "methods" 1000 may include, for , example, how usage is to be "metered," if and how content 304 and other information is to be scrambled and descrambled, and other processes associated with handling and controlling information content 304. For example, methods 1000 may record the identity of anyone who opens the electronic container 302, and can also control how information content is to be charged based on "metering." Methods 1000 may apply to one or several different information contents 304 and associated containers 302, as well as to all or specific portions of information content 304.
Secure Processing Unit (SPU) The '' ODE participants" may each have an "g~ect~gnic a~,nli~." The appliance may be or contain a computer. The appliances may communicate over the electronic highway 108.
Figure 6 shows a secure processing Lnit ("SPU"? 500 portion of the "electronic appliance" used in this example by each VDE
participant. SPU 500 processes information in a secure processLng envj,~onment 503, and stores important information securely. SPU 500 may be emulated by software operating in a host electronic appliance.
SPU 500 is enclosed within and protected by a "tarnver resistant security barrier" 502. Security barrier 502 separates the secure environment 503 from the rest of the world. It prevents information and processes within the secure environment 503 from being observed, interfered with and leaving except under appropriate secure conditions. Barrier 502 also controls external access to secure resources, processes and information within SPU 500. In one example, tamper resistant security barrier 502 is formed by security features such as "encryption," and hardware that detects tampering and/flr destroys sensitive information within secure environment 503 when tampering is detected.
SPU 500 in this example is an integrated circuit ("IC") "chip" 504 including " ardw " 506 and "firmware" 508. SPU
500 cox~x~ects to the rest of the electronic appliance through an "ate I~ ianc~ink" 510. SPU "firmware" 508 in this example is "software" such as a "computer program(s)" "embedded" within WO 98109209 PCTlUS97J15243 chip 504. Firmware 508 makes the hardware 506 work.
Hardware 506 preferably contains a processor to perform instructions specified by fumware 508. "Hardware" 506 also contains long-term and short-term memories to store information securely so it can't be tampered with. SPU 500 may also have a protected clocklcalendar used far timing events. The SPU
hardware 506 in this example may include special purpose electronic circuits that are specially designed to perform certain processes tsuch as "encryption" and "decryption") rapidly and efficiently.
The particular context in which SPU 500 is being used will determine how much processing capabilities SPU 500 should have. SPU hardware 506, in this example, provides at least enough processing capabilities to support the secure parts of processes shown in Figure 3. In some conte~-ts, the functions of SPU 500 may be increased so the SPU can perform ali the electronic appliance processing; and can be incorporated into a general purpose processor. In other contexts, SPU 500 may work alongside a general purpose processor, and therefore only needs to have enough processing capabilities to handle secure processes.

VDE Electronic Appliaace and Rights Operating 8pstem' Figure 7 shows an example of an electronic appliance 600 including SPU 500. Electronic appliance 600 may be practically any kind of electrical or electronic device; such as:
~ a computer ~ a T.V. "set top" control box ~ a pager ~ a telephone ~ a sound system a video reproduction system ~ a video game player ~ a "smart" credit card Electronic appliance fi00 in this example may include a keyboard or keypad 612, a voice recognizes 6I3, and a display 614. A
human user can input commands through keyboard 612 and/or voice recognizes 613, and may view information on display 614.
Appliance 600 may communicate with the outside world through any of the connections/devices normally used within an electronic appliance. The connections/devices shown along the bottom of the drawing are examples:
a "modem" 6I8 or other telecommunications link;
a CD ROM disk 620 or other storage medium or device;

WO 98109209 PCTlUS97115243 a printer 622;
broadcast reception 624;
. a document scanner 626; and a "cable" 628 connecting the appliance with a "network."
Virtual distribution environment 100 provides a "~gh~t , oneratin~ system" 602 that manages appliance 600 and SPU 500 by controlling their hardware resources. The operating system 602 may also support at Ieast one "anuliT 'canon" 608. Generally, 30 . "application" 608 is hardware and/or software specific to the context of appliance 600. For example, if appliance 600 is a personal computer, then "application" 608 could be a program loaded by the user, for instance, a word processor, a communications system or a sound recorder. If appliance 600 is a television controller box, then application 608 might be hardware or software that allows a user to order videos on demand and perform other functions such as fast forward and rewind. In this example, operating system 602 provides a standardized, well defined, generalized "interface" that could support and work with many different "applications" 608.
Opera~iing system 602 in this example provides "rig is and ' ~l~~~ting~per~ting svstgm functions" 604 and "other operating sxstgm functions" 606. The "rights and auditing operating WO 98!09209 PCT/US97115243 system functions" 604 securely handle tasks that relate to virtual distribution environment i00. SPU X00 provides or supports many of the security functions of the "rights and auditing operating system functions" 402. The "other operating system functions" 606 handle general appliance functions. Overall operating system 602 may be designed from the begT~n~ng to include the "rights and auditing operating system functions" 604 plus the "other operating system functions" 606, or the "rights and auditing operating system functions" may be an add-on to a preexisting operating system providing the "other operating system functions."
"R,ights operating system" 602 in this example can work with many different types of appliances 600. For example, it can work with large mainframe computers, "minicomputers" and "microcomputers" such as personal computers and portable computing devices. It can also work in control boxes on the tap of television sets; small portable "pagers," desktop radios, stereo sound systems, telephones, telephone swiiches, or any other electronic appliance. This ability to work on big appliances as well as little appliances is called "scalable." A "scalable"
operating system 602 means that there can be a standardized interface across many different appliances performing a wide variety of tasks.
- i$$ -The "rights operating system functions" 604 are "~L~es-based" in this example. For example, "rights operating system functions" 604 handle summary requests from application 608 rather than requiring the application to always make more . 5 detailed "subrequests" or otherwise get involved with the underlying complexities involved in satisfying a summary request. For example, application 608 may simply ask to read specified information; "rights operating system functions" 604 can then decide whether the desired information is VDE-protected content and, if it is, perform processes needed to make the information available. This feature is called "transparency." ' "Transparency" makes tasks easy for the application 608.
"Rights operating system functions" 604 can support applications 608 that "know" nothing about virtual distribution environment 100. Applications 608 that are "aware" of virtual distribution environment 100 may be able to make more detailed use of virtual distribution environment 100.
Tn this example, "rights operating system functions" 604 are "event driven". Rather than repeatedly examining the state of electronic appliance 600 to determine whether a condition has arisen, the "rights operating system functions" 604 may respond directly to "events" or "happenings" within appliance 600.
- 1$9 -WO 9$/09209 PGTIITS97I15243 In this example, some of the services performed by "rights operating system functions" 604 may be extended based on additional "components" delivered to operating system 602.
"R,ights operating system functions" 804 can collect together and use "components" sent by different participants at di~'erent times. The "components" help to make the operating system 602 "scalable." Same components can change how services work on little appliances versus how they work on big appliances (e.g., mufti-user). Other components are designed to work with 30 specific applications or classes of applications (e.g., some types of meters and some topes of budgets).
Electronic Appliance 600 An electronic appliance 600 provided by the preferred 18 embodiment may, for example, be any electronic apparatus that contains one or more microprocessors andlor microcontrollers and/or other devices which perform logical and/or mathematical calculations. This may include computers; computer terminals;
device controllers for use with computers; peripheral devices for 20 use with computers; digital display devices; televisions; video and audio/videv projection systems; channel selectors and/or decoders for use with broadcast and/or cable transmissions;
remote control devices; video and/or audio recorders; media players including compact disc players, videodisc players and WO 909209 PCTNS9~115243 tape players; audio andlor video amplifiers; virtual reality machines; electronic game players; multimedia players; radios;
telephones; videophones; facsimile machines; robots; numerically . controlled machines including machine tools and the like; and _ other devices containing one or more microcomputers andlor microcontrollers andJor other CPUs, including those not yet in existence.
Figure 8 shows an example of an electronic appliance 600.
This example of electronic appliance 600 includes a system bus 653. In this example, one or more conventional general purpose central processing units ("CPUs")' 654 are connected to bus 653.
Bus 653 connects CPUs) 654 to RAM 656, ROM 658, and Il0 controller 660. One or more SPUs 500 inay also be co~ected to system bus 653. System bus 653 may permit SPU(s? 500 to communicate with CPUs) 654, and also may allow both the CPUs) and the SPU(s) to corrimunicate (e:g., over shared address and data lines) with RAM 656, I3,OM 658 and Il0 controller 660: A power supply 659 may provide power to SPU
500, CPU 654 and the other system components shown.
In the example shown, Il0 controller 660 is connected to secondary storage device 652, a keyboard/display 612,614, a communications controller 666, and a backup storage device 668.

WO 98109209 PGTNS9711S2~t3 Backup storage device 668 may; for exampie, store information on mass media such as a tape 670; a floppy disk, a removable memory card, etc. Communications controller 666 may allow electronic appliance 600 to communicate with other electronic appliances via network 672 or other telecommunications lini~s.
Different electronic appliances 600 may interoperate even if they use different CPUs and different instances of ROS 602, so long as they typically use compatible communication protocols andlor security methods. In this example, Il0 controller 860 permits IO CPU 654 and SPU 500 to read from and write to secondary storage 662, l~eyboard/display 612, 614, communications controller 666, and backup storage device 668.
Secondary storage 662 may comprise the same one or I5 more non-secure secondary storage devices (such as a magnetic disk and a CD-ROM drive as one example? that electronic appliance 600 uses for general secondary storage functions. In some implementations, part or all of secondary storage 652 may comprise a secondary storage devices) that is physically enclosed 20 within a secure enclosure. However, since it may not be practical or cost-effective to physically secure secondary storage 652 in many implementations, secondary storage 652 may be used to store information in a secure manner by encrypting information before storing it in secondary storage 652. If information is -192_ WO 98/09209 PG"Tl(TS97I151A3 encrypted before it is stored, physical access to secondary storage 652 or its contents does not readily reveal or compromise the - information.
Secondary storage 652 in this example stores code and data used by CPU 654 andlor SPU 500 to control the overall operation of electronic appliance 600. For example, Figure 8 shows that "Rights Operating System" ("ROS") 602 (including a portion 604 of ROS that provides VDE functions and a portion . 606 that provides other OS functions) shown in Figure 7 may be stored on secondary storage 652. Secondary storage 652 may also store one or more VDE objects 300. Figure 8 also shows that the secure files 610 shown in Figure 7 may be stored on secondary storage 652 in the form of a "secure database" or management file system 610. This secure database 610 may store and organize information used by R0S 602 to perform VDE
functions 604. Thus, the code thatis executed to perform VDE
and other OS functions 604, 606, and secure files 610 (as well as VDE objects 300) associated with those functions may be stored in secondary storage 652. Secondary storage 652 may also store "other information" 673 such as, for example, information used . by other operating system functions 606 for task management, ' non-VDE files, etc. Portions of the elements indicated in secondary storage 652 may also be stored in ROM 658, so long as wo 98/09209 PCTItTS971i57~43 those elements do not require changes (except when ROM 658 is replaced). Portions of ROS 602 in particular may desirably be included in RO1LI 658 (e.g., "bootstrap" routines, POST routines, etc. for use in establishing an operating environment for electronic appliance 600 when power is applied).
Figure 8 shows that secondary storage 652 may also be used to store code ("application programs") providing user applications) 608 shown in Figure l. Figure 8 shows that there may be two general types of application programs 608: "VDE
aware" applications 608a, and Non-VDE aware applications 608b. VDE aware applications 608a may have been at least in part designed specifically with VDE 100 in mind to access and take detailed adv antage of VDE functions 604. Because of the "transparency" features of ROS 602, non-VDE ow are applications 608b (e.g., applications not specifically designed for VDE 100) can also access and take advantage of VDE functions 604.

Each VDE node or other electronic appliance 600 in the preferred embodiment may include one or more SPUs 500. SPUs 500 may be used to perform all secure processing for VDE 100.
For example, SPU 500 is used for decrypting (or otherwise WO 98109209 PCT1t1S9'1115243 unsecuring) VDE projected objects 300. It is also used for managing encrypted and/or otherwise secured communication (such as by employing authentication andJor error-correction validation of information). SPU 500 may also perform secure - 5 data management processes including governing usage of,.
auditing of, and where appropriate, payment for VDE objects 300 (through the use of prepayments, credits, real-time electronic debits from bank accounts and/or VDE node currency token deposit accounts). SPU 500 may perform other transactions related to such VDE objects 300.
SPU Physical Packaging and Security Barrier 502 A.s shown Figure fi, in the preferred embodiment, an SPU
500 may be implemented as a single integrated circuit "chip" 505 to provide a secure processing environment in which confidential and/or commercially valuable information can be safely processed, encrypted andlor decrypted. IC chip 505 may, for example, comprise a small semiconductor "die" about the size of a thumbnail. This semiconductor die may include semiconductor and metal conductive pathways. These pathways define the circuitry, and thus the functionality; of SPU 500. Some of these - pathways are electrically connected to the external "pins" 504 of ' the chip 505.

W0 98!09209 PCTlUS97115?~3 As shown in Figures 6 aad 9, SPU 504 may be surrounded by a tamper-resistant hardware security barrier 502. Part of this security barrzer 502 is formed by a plastic or other package in which an SPU "die" is encased. Because the processing occurring within, and information stored by, SPU 504 are not easily accessible to the outside world, they are relatively secure from unauthorized access and tampering. All signals cross barrier 502 thxough a secure, controlled path provided by BIU 534 that restricts the outside world's access to the internal components within SPU 500. This secure, controlled path resists attempts from the outside world to access secret information and resources within SPU 500.
It is possible to remove the plastic package of an IC chip I5 and gain access to the "die." It is also possible to analyze and "reverse engineer" the "die" itself te.g., using various types of logic analyzers and microprobes to collect and analyze signals on the die while the circuitry is operating, using acid etching or other techniques to remove semiconductor layers to expose other layers, viewing and photographing the die using an electron microscope, etc. ) Although no system or circuit is absolutely impervious to such attacks, SPU barrier 502 may include additional hardware protections that make successful attacks exceedingly ~ostiy and time consuming. For example, ion WO 98109209 PCTlUS97115243 implantation andlor other fabrication techniques may be used to make it very difficult to visually discern SPU die conductive pathways, and SfU internal circuitry may be fabricated in such - a way that it "self destructs" when exposed to air andlor light.
SPU 500 may store secret information in internal memory that loses its contents when power is lost. Circuitry may be incorporated within SPU 500 that detects microprobing or other tampering, and self destructs for destroys other parts of the SPU) when tampering is detected. These and other hardware-IO based physical security techniques contribute to tamper-resistant hardware security barrier 502.
To increase the security of security barrier 502 even further, it is possible to encase or include SPU 500 in one or more further physical enclosures such as, for example: epoxy or other "potting compound"; further module enclosures including additional self destruct, self-disabling or other features activated when tampering is detected; further modules providing additional security protections such as requiring password or other authentication to operate; and the like. In addition, .
further layers of metal may be added to the die to complicate ' acid etching, micro probing, and the like; circuitry designed to "zeroize" memory may be included as an aspect of self destruct processes; the plastic package itself may be designed to resist -197_ WO 98109289 PCTlUS977i5243 chemical as well as physical "attacks"; and memories internal to SPU 500 may have specialized addressing and refresh circuitry that "shuffles" the location of bits to complicate efforts to electrically determine the value of memory locations. These and other techniques may contribute to the security of barrier 502.
In some electronic appliances 600, SPU 500 may be integrated together with the device microcontroller or equivalent or with a device UO or communications microcontroller into a common chip (or chip set) 505. For example, in one preferred embodiment, Sl'U 500 may be integrated together with one or more other CPUs) (e.g., a CPU 654 of an electronic appliance) in a single component or package. The other CPUs) 654 may be any centrally controlling Iogic arrangement, such as for example;
a microprocessor, other microcontroller; and/or array or other parallel processor. This integrated configuration may result in lower overall cost, smaller overall size, and potentially faster interaction between an SPU 500 and a CPU 654. Integration may also provide wider distribution if an integrated SPU/CPU
component is a standard feature of a widely distributed microprocessor line. Merging an SPU 500 into a main CPU 'S54 of an electronic appliance 600 (or into another appliance or -appliance peripheral microcomputer or other microcontroller) may substantially reduce the overhead cost of implementing wo ~ ~-r~smnsa~
VDE 100. Integration considerations may include cost of implementation, cost of manufacture, desired degree of security, and value of compactness.
S SPU 500 may also be integrated with devices other than CPUs. For example, for video and multimedia applications; some performance and/or security advantages (depending on overall design) could result from integrating an SPU 500 into a video controller chip or chipset. SPU 500 can also be integrated directly into a network communications chip or chipset or the Iike. Certain performance advantages in high speed communications applications may also result from integrating an SPU 500 with a modem chip or chipset. This may facilitate incorporation of an SPU X00 into communication appliances such as stand-alone fax machines. SPU 500 may also be integrated into other peripheral devices, such as CD-ROM devices, set-top cable devices, game devices, and a wide variety of other electronic appliances that use, allow access to, perform transactions related to, or consume, distributed information.
. SPU 60a Internal Architectare Figure 9 is a detailed diagram of the internal structure within an example of SPU 500. SPU 500 in this example includes a single microprocessor 520 and a limited amount of wo 9ar~zo9 rcr~s9~ns2a3 memory configured as ROM 532 and RAM 534. In more detail, this example of SPU 500 includes microprocessor 520, an encrypt/decrypt engine 522, a DMA controller 526, a real-time clock 528, a bus interface unit ('~IU") 530, a read only memory (ROM) 532, a random access memory (RAM) 534, and a memory management unit (nMMLT") 540. DMA controller 528 and MMU
540 are optional, but the performance of SPU 500 may suffer if they are not present. SPU 500 may also include an optional pattern matching engine 524; an optional random number generator 542, an optional arithmetic accelerator circuit 544, and optional compression/decompression circuit 546. A shared address/data bus arrangement 536 may transfer information between these various components under control of microprocessor 520 and/or DMA controller 526. Additional or alternate dedicated paths 538 may connect microprocessor 520 to the other components (e.g., encrypt/decrypt engine 522 via line 538a, real-time clock 528 via line 538b, bus interface unit 530 via line 538c, DMA controller via line 538d, and memory management unit (MMU) 540 via line 538e).
The following section discusses each of these SPU
components in more detail.
- 200 .

WO 98109209 PGTIUS9'7l15243 Microprocessor b20 Microprocessor 520 is the "brain" of SPU 500. In this example, it executes a sequence of steps specified by code stored (at least temporarily) within ROM 532 and/or RAM 534:
Microprocessor 520 in the preferred embodiment comprises a dedicated central processing arrangement (e.g., a RISC and/or CISC processor unit, a microcontroller, and/or other central processing means or, less desirably in most applications, process specific dedicated control logic) for executing instructions stared in the ROM 532 and/or other memory. Microprocessor 520 may be separate elements of a circuitry layout, or may be separate packages Within a secure SPU 500.
In the preferred embodiment, microprocessor 520 normally I5 handles the most security sensitive aspects of the operation of electronic appliance 600. For example, microprocessor 520 may manage VDE decrypting, encrypting, certain content and/or appliance usage control information, keeping track of usage of ~1'DE secured content, and other VDE usage contxol related functions.
' Stored in each SPU 500 and/or electronic appliance secondary memory 652 may be; for example, an instance of ROS
602 software, application programs 608, objects 300 containing WO 98109209 PCTlUS97115243 VDE controlled property content and related information, and management database 610 that stores both information associated with objects and VDE control information. ROS 602 includes software intended for execution by SPU microprocessor 520 for, in part, controlling usage of VDE related objects 300 by electronic appliance 600. As will be explained, these SPU
programs include "load modules" for performing basic control functions. These various programs and associated data are executed and manipulated primarily by microprocessor 520.
Real Time Clock (RTC) b28 In the preferred embodiment; SPU 500 includes a real time clock circuit ("RTC"i 328 that serves as a reliable, tamper resistant time base for the SPU. RTC 528 keeps track of time of day and date (e.g., month, day and years in the preferred embodiment, and thus may comprise a combination calendar and clock. A reliable time base is important for implementing time based usage metering methods, "time aged decryption keys," and other time based SPU functions.
The RTC 528 must receive power in order to operate.
Optimally, the RTC 528 power source could comprise a small battery located within SPU 500 or other secure enclosure.
However, the RTC 528 may employ a power source such as an wo 98ro9209 PCT/US97/15243 externally located battery that is external to the SPU 500. Such an externally located battery may provide relatively ' uninterrupted power to RTC 528, and may also maintain as non-volatile at least a portion of the otherwise volatile RAM 534 within SPU 500.
In one implementation, electronic appliance power supply 6~9 is also used to power SPU 500. Using any external power supply as the only power source for RTC 528 may significantly reduce the usefulness of time based security techniques unless, at minimum, SPU 500 recognizes any interruption (or any material interruption) of the supply of external power, records such interruption, and responds as may be appropriate such as disabling the ability of the SPU 500 to perform certain or all VDE processes. Recognizing a power interruption may, for example, be accomplished by employing a circuit whach is activated by power failure. The power failure sensing circuit may power another circuit that includes associated logic for recording one or more power fail events. Capacitor discharge circuitry may provide the necessary temporary power to operate this logic. In addition or alternatively, SPU a00 may from time ' to time compare an output of RTC 528 to a clock output of a host electronic appliance 600, if available. In the event a discrepancy is detected, SPU 500 may respond as appropriate, including WD gg~gZ~g PCTJUS99II5243 recording the discrepancy andlor disabling at least some portion of processes performed by SPU 500 under at least some circumstances.
If a power failure and/or RTC 528 discrepancy andlor other event indicates the possibility of tampering, SPU 500 may automatically destroy, or render inaccessible without privileged intervention, one or more portions of sensitive information it stores, such as execution related information and/or encryption key related information. To provide further SPU operation, such destroyed information would have to be replaced by a VDE
clearinghouse, administrator and/or distributor, as may be appropriate. This may be achieved by remotely downloading update and/or replacement data and/or code. In the event of a disabling and/or destruction of processes andlor information as described above, the electronic appliance 600 may require a secure VDE communication with an administrator, clearinghouse, andlor distributor as appropriate in order to reinitialize the RTC 528. Some or all secure SPU 500 processes may not operate until then.
It may be desirable to provide a mechanism for setting and/or synchronizing RTC 528. In the preferred embodiment, when communication occurs between VDE electronic appliance 'WU 98109209 PCTlUS97I15243 fi00 and another VDE appliance, an output of RTC 528 may be compared to a controlled RTC 528 output time under control of ' the party authorized to be "senior" and controlling. In the event . of a discrepancy, appropriate action may be taken, including resetting the RTC 528 of the "junior" controlled participant in the communication.
SPT3 EncrygtlDecrppt Engine b22 In the preferred embodiment, SPU encryptJdecrypt engine ' 522 provides special purpose hardware (e.g., a hardware state machine) for rapidly and eff ciently encrypting andlor decrypting data. In some implementations, the encryptldecrypt functions may be performed instead by microprocessor 520 under software control, but providing special purpose encrypt/decrypt hardware engine 522 will, in general, provide increased performance.
Microprocessor 520 may, if desired, comprise a combination of processor circuitry and dedicated encryptionldecryptioa logic that may be integrated together in the same circuitry layout so as to, for example, optimally share one or more circuit elements.
. Generally, it is preferable that a computationally efficient but highly secure "bulk" encryption/decryption technique should - be used to protect most of the data and objects handled by SPU
5a0. It is preferable that an extremely secure wo ~no9 rcrrtrsmnsa,~
encryptionldecryption technique be used as an aspect of authenticating the identity of electronic appliances 600 that are establishing a communication channel and securing any transferred permission, method, and administrative information.
In the preferred embodiment, the encryptJdecrypt engine 522 includes both a symmetric key encryptionldecryption circuit (e.g.
DES, SkipjackJCIipper, IDEA, RC-2, RC-4, etc.) and an antisymmetric (asynunetric) or Public Key ("PK") encryption/decryption circuit. The publiclprivate key encryption/decryption circuit is used principally as an aspect of secure communications between an SPU 500 and VDE
administrators, or other electronic appliances 600, that is between VDE secure subsystems. A symmetric eneryption/decryption circuit may be used for ''bulk" encrypting I5 and decrypting most data stored in secondar~.~ storage 662 of electronic appliance 600 in which SPU 500 resides. The symmetric key encryptionldecryption circuit may also be used for encrypting and decrypting content stored within VDE objects 300.
DES or publiclprivate key methods may be used for all encryption functions. In alternate embodiments, encryption and decryption mEthods other than the DES and public/private ksy methods could be used for the various encryption related functions. For instance, other types of symmetric encryptionldecryption techniques in which the same key is used ' for encryption and decryption could be used in place of DES
encryption and decryption. The preferred embodiment can support a plurality of decryption/encryption techniques using multiple dedicated circuits within encryptldecrypt engine 522 and/or the processing arrangement within SPU 500.
Pattern Matchiag Engine 524 IO Optional pattern matching engine 524 may provide special purpose hardware for performing pattern matching functions.
One of the functions SPU 500 may perform is to validatelauthenticate VDE objects 300 and other iiems.
Validation/authentication often involves comparing long data I5 strings to determine whether they compare in a predetermined way. In addition, certain forms of usage (such as logical and/or physical (contiguous) relatedness of accessed elements) may require searching potentially long strings of data for certain bit patterns or other significant pattern related metrics. Although 20 pattern matching can be performed by SPU microprocessor 520 under software control, providing special purpose hardware pattern matching engine 524 may speed up the pattern matching process.

WU 981fl9209 PCT/US9?!15243 CompressionlDecompressioa Engine fi46 An optional compression/decompression engine 546 may be provided witb~n an SPU 600 to, for example, compress and/or decompress content stored in, or released from, VDE objects 300.
Compression/decompression engine 546 may implement one or more compression algorithms using hardware circuitry to improve the performance of compression/decompression operations that would otherurise be performed by software operating on microprocessor 520, or outside SPU 500.
I0 . Decompression is important in the release of data such as video and audio that is usually compressed before distribution and whose decompression speed is important. In some cases, information that is useful for usage monitoring purposes (such as record separators or other delimiters) is "hidden" under a I5 compression layer that must be removed before this information can be detected and used inside SPU 500.
Random Number Generator 642 Optional random number generator 542 may provide 20 specialized hardware circuitry for generating random values (e.g., from inherently unpredictable physical processes such as quantum noise). Such random values are particularly useful for constructing encryption keys or unique identifiers, and for initializing the generation of pseudo-random sequences.

W0 98109209 PCTlUS9?115243 Random number generator 542 may produce values of any ' convenient length, including as small as a single bit per use. A
random number of arbitrary size may be constructed by concatenating values produced by random number generator 542. A cryptographically strong pseudo-random sequence may be generated from a random key and seed generated with random number generator 542 and repeated encryption either with the encryptldecrypt engine 522 or cryptographic algorithms in SPU 500. Such sequences may be used, for example, in private headers to frustrate efforts to determine an encryption key through cryptoanalysis.
Arithmetic Accelerator 544 An optional arithmetic accelerator 544 may be pro~~ided within an SPU 500 in the form of hardware circuitry that can rapidly perform mathematical calculations such as multiplication and exponentiation involving large numbers.
These calculations can, for example, be requested by microprocessor 520 or encrvpt/decrypt engine 522, to assist in the computations required for certain asymmetric encryptionldecryption operations. Such arithmetic accelerators - are well-known to those skilled in the art. In some implementations, a separate arithmetic accelerator 544 may be omitted and any necessary calculations may be performed by microprocessor 520 under software control.
DMA Controller 526 DMA controller 526 controls information transfers over address/data bus 536 without requiring microprocessor 520 to process each individual data transfer. Z'ypically, microprocessor 520 may write to DMA controller 526 target and destination addresses and the number of bytes to transfer, and DMA
controller 526 may then automatically transfer a block of data between components of SPU 500 (e.g., from ROM 532 to RAM
534, between encrvpt/decrypt engine 522 and R.AM 534, between bus interface unit 530 and R.4.~I 534, etc. r. DyL~1 controller 526 may have multiple channels to handle multiple transfers simultaneously. In some implementations, a separate DMA
controller 528 may be omitted, and ay necessan~ data movements may be performed by microprocessor 520 under software control.
Bns Interface Unit (BIU) 530 Bus interface unit (BIU) 530 communicates information between SPU 500 and the outside world across the security barrier 502. BIU 530 shown in Figure 9 plus appropriate driver softyare may comprise the "appliance link" 510 shown in Figure 6. Bus interface unit 530 may be modelled after a USAR,~' or PCI
bus interface in the preferred embodiment. In this example, BIU
~ 530 connects SPU 500 to electronic appliance system bus 653 shown in Figure 8. BIU 530 is designed to prevent unauthorized access to internal components within SPU 500 and their contents. It does this by only allowing signals associated with an SPU 500 to be processed by control programs running on microprocessor 52fl and not supporting direct access to the internal elements of an SPU 500.
Memory Management Unit 540 Memory l~lanagement Unit (MMU) 540. if present, provides hardware support for memory management and virtual memory management functions. It may' also provide heightened security by enforcing hardware compartmentalization of the secure execution space (e.g., to prevent a less trusted task from modifying a more trusted task). More details are provided below in connection with a discussion of the architecture of a Secure Processing Environment ("SPE") 503 supported by SPU 500:
MMU 540 may also provide hardware-Ievel support functions reiatzd to memory management such as, for example, address mapping.

wo 9srono9 pc~crt,~srmsza3 SPU Memory Architecture in the preferred embodiment, SPU 500 uses three general kinds of memory:
(I) internal ROM 532;
(2) internal RAM 534; and (3) external memory (typically RAM and/or disk supplied by a host electronic appliance).
The internal ROM 532 and RAM 534 within SPU 5010 provide a secure operating environment and execution space.
Because of cyst limitations, chip fabrication size, complexity and other limitations, it may not be possible to provide sufficient memory within SPU 500 to store all information that an SPU
needs to process in a secure manner. Due to the practical limits on the amount of ROM 532 and RAM 534 that may be included within SPU 500, SPU 500 may store information in memory external to it, and move this information into and out of its secure internal memory space on an as needed basis. In these cases, secure processing steps performed by an SPU typically must be segmented into small, securely packaged elements that may be "paged in" and "paged out" of the linuted available internal memory space. Memory external to an SPU 500 may not be secure. Since the external memory may not be secure, SPU 500 may encrypt and cryptographically seal code and other WO 98109209 PCTlUS97115243 information before storing it in external memory. Similarly, SPU 500 must typically decrypt code and other information . obtained from external memory in encrypted form before processing (e.g., executing) based on it. In the preferred embodiment, there are two general approaches used to address potential memory limitations in a SPU 500. In the first case, the small, securely packaged elements represent information contained in secure database 610. In the second case, such elements may represent protected (e.g., encrypted? virtual memory pages. Although virtual memory pages may correspond to information elements stored in secure database 610, this is not required in this example of a SPU memory architecture.
The following is a more detailed discussion of each of these 16 three SPU memory resources.
SPU Internal ROM
SPU 500 read only memory (ROM) 532 or comparable purpose device provides secure internal non-volatile storage for certain grograms and other information. For example, ROM 532 may store "kernel" programs such as SPU control firmware 508 and, if desired, encryption key information and certain fundamental "load modules." The "kernel" programs, load module information, and encryption key information enable the control of certain basic functions of the SPU 500. Those components that are at least in part dependent on device configuration (e.g.; POST, memory allocation, and a dispatcher) may be loaded in ROM 532 along with additional Ioad modules that have been determined to be required for specific installations or applications.
In-the preferred embodiment, ROM 532 may comprise a combination of a masked ROM 532a and an EEPROM and/or I0 equiv alent "flash" memory 532b. EEPROM or flash memory 532b is used to store items that need to be updated and/or initialized, such as for example, certain encryption keys. An additional benefit of pro4zding EEPROIYI ancfor flash memory 532b is the ability to optimize any load modules and library functions persistently stored .w-ithin SPL' S00 based on typical usage at a specific site. Although these items could also be stored in NVRAM 534b, EEPROM andior flash memory 532b may be more.cost effective.
Masked ROM 532a may cost less than flash andJor EEPROM 532b, and can be used to store permanent portions of SPU software/firmware. Such permanent portions may include, for example, code that interfaces to hardware elements such as the RTC 528, encryption/decryption engine 522, interrupt w0 98!09209 PCTNS9'7I15Z43 handlers, key generators, etc. Some of the operating system, library calls, libraries, and many of the core services provided by ' SPU 500 may also be in masked ROM 532a. in addition, some of the more commonly used executables are also good candidafies for inclusion in masked ROM 532a. Items that need to be updated or that need to disappear when power is removed from SPU 500 should not be stored in masked ROM 532a.
Under some circumstances, RAM 534a andlor NVR.AM
534b (rTVR.A.M 534b may, for example, be constantly powered conventional RAM) may perform at least part of the role of ROM
532.
SPU Internal RAM
I5 SPU 500 general purpose RAM 534 provides, among other things, secure execution space for secure processes. In the preferred embodiment, RAM 534 is comprised of different types of RAM such as a combination of high-speed RA.M 534a and an 1'fiTR.AM ("non-volatile RAM") 534b. RAM 534a may be volatile, while NVR.AM 534b is preferably battery backed or otherwise arranged so as to be non-volatile (i.e., it does not lose its contents ' when power is turned off).

WO 98!09209 PCTlUS9'1~15243 High-speed RAM 534a stores active code to be executed and associated data structures.
NYRAM 534b preferably contains certain keys and summary values that are preloaded as part of an initialization process in which SPU 500 communicates with a VDE
administrator, and may also store changeable or changing information associated with the operation of SPU 500. For security reasons, certain highly sensitive information (e.g., certain Iaad modules and certain encryption key related information such as internally generated private keys) needs to be loaded into or generated internally by SPU 500 from tune to time but, once loaded or generated internally, should never leave the SPU. In this preferred embodiment, the SPU 500 non-volatile random access memory (NVRAM) 534b may be used for securely storing such highly sensitive information. NVR,AM
534b is also used by SPU 500 to store data that rnay change frequently but which preferably should not be lost in a power down or power fail mode.
NVRAM 534b is preferably a Bash memory array, but may in addition or alternatively be electrically erasable programmable read only memory (EEPROM), static RAM
(SRAM), bubble memory, three dimensional holographic or other -21~-PGTlUS97115243 electro-optical memory, or the like, or any other Writable (e.g., randomly accessible) non-volatile memory of sufficient speed and cost-effectiveness.
SPU Eztexnal Mam.ory The SPU 500 can store certain information on memory devices external to the SPU. If available, electronic appliance 600 memory can also be used to support any device external portions of SPU 500 software. Certain advantages may be ' gained by allowing the SPU 500 to use external memory. As one example, memory internal to SPU 500 may be reduced in size by using non-volatile read/write memory in the host electronic appliance fi00 such as a non-volatile portion of RAM 656 andlor R4M 658.
Such external memory may be used to store SPU
programs, data and/or other information. For example, a VDE
control program may be, at least in part, loaded into the memory and communicated to and decrypted within SPU 500 prior to execution. Such control programs may be re-encrypted and communicated back to external memory where they may be ' stored for later execution by SPU 500. "Kernel" programs and/or ' c some or all of the non-kernel "load modules" may be stored by SPU 500 in memory external to it. Since a seoure database 610 WO 98!09209 PCTlU897115243 may be relatively large, SPU 500 can store some or all of secure database 610 in external memory and call portions into the SPU
500 as needed.
As mentioned above, memory external to SPU 500 may not be secure. Therefore, when security is required, SPU 500 meat encrypt secure information before writing it to external memory, and decrypt secure information read from external memory before using it. Inasmuch as the encryption layer relies on i0 secure processes and information (e.g., encryption algorithms and keys) present «within SPU 500, the encryption layer effectively "extends" the SPU security barrier 502 to protect information the SPU 500 stores in memory ehrternal to it.
SPU 500 can use a wide variety of different types of external memory. For example, external memory may comprise electronic appliance secondary storage 652 such as a di sk;
external EEPROM or flash memory 658; and/or external R.AM
656. External R.AM 65fi may comprise an external nonvolatile (e.g. constantly powered) R..4M and/or cache R.AM.
Using external R.AM local to SPU 500 can significantly improve access times to information stored externally to an SPU.
For example, external R~SM may be used:

W0 98/0929 PCT/US9'1115243 ~ to buffer memory image pages and data structures prior to their storage in flash memory or on an external hard disk (assuming transfer to flash or hard disk can occur in _ significant power or system failure cases);
- 5 ~ provide encryption and decryption buffers for data being released from VDE objects 300.
~ to cache "swap blocks" and VDE data structures currently in use as an aspect of providing a secure virtual memory environment for SPU X00.
~ to cache other information in order to, for example, reduce frequency of access by an SPU to secondary storage 6d2 and/or for other reasons.
Dual ported external R.Ai''VI can be particularly effective in improving SPU 500 performance, since it can decrease the data movement overhead of the SPU bus interface unit 530 and SPU
microprocessor 520.
Using external flash memory local to SPU 500 can be used to significantly improve access times to virtually all data structures. Since most available flash storage devices have limited write lifetimes, flash storage needs to take into account the number of writes that will occur during the lifetime of the flash memory. Hence, flash storage of frequently written temporary items is not recommended. If external R.AM is non-WO 98109209 PCT/U59?115243 volatile, then transfer to flash (or hard disk) may not be necessary.
External memory used by SPU 500 may include two categories:
~ external memory dedicated to SPU 500, and ~ memory shared with electronic appliance 600.
For some VDE impiemer~tations, sharing memory (e.g., electronic appliance R,AM 656, ROM 658 anchor secondary storage 652) with CPU 654 or other elements of an electronic appliance 600 may be the most cost effective way to store VDE
secure database management files 610 and information that needs to be stored external to SPU 500. A host system hard disk secondary memory 652 used for general purpose file storage can, for example; also be used to store 'ODE management files 610.
SPU 500 may be given exclusive access to the external memory (e.g., over a local bus high speed connection provided by BILT
530). Both dedicated and shared external memory may be provided.
SPU Inte~ated Withia CPU y As discussed above, it may be desirable to integrate CPU
654 and SPU 5d0 into the same integrated circuit andlor device.

SPU 500 shown in Figure 9 includes a microprocessor o20 that may be similar or identical to a standard microprocessor available off the-shelf from a variety of manufacturers Similarly, the SPU DMA controller 526 and certain other microprocessor support circuitry may be standard implementations available in off the-shelf microprocessor and/or microcomputer chips. Since many of the general control and processing requirements provided by SPU 500 in the preferred embodiment can be satisfied using certain generic CPU and/or microcontroller components, it may be desirable to integrate SPU
VDE functionality into a standard generic CPU or micracontrolier chip. Such an integrated solution can result in a very cost-effective "dual mode" component that is capable of ' performing all of the generic processing of a standard CPU as well as the secure processing of an SPU. :~~Iany of the control Iogic functions perforrued by the preferred embodiment SPU can be performed by generic CPU andlor micro-controller logic so that at least a portion of the control logic does not have to be duplicated. Additional cost savings (e.g., in terms of reducing manufacturing costs, inventory costs and printed circuit board real estate requirements) may also be obtained by not requiring an additional, separate physical SPU 500 device or pacl~age.
Figure 9A shows one example architecture of a combination CPU/SPU 2650. CPUISPU 2650 may include a standard PCTlIJS97i152d3 microprocessor or microcontroller 26b2, a standard bus interE'ace unit (BIU) 2656, and a standard (optional) DMA controller 2854;
as well as various other standard I/0 controllers, computation circuitry, etc. as may be found in a typical off the-shelf microprocessor/microcontroher. Real time clock 528 may be added to the standard architecture to give the CPU/SPU 2650 acxess to the real time clock functions as discussed above in connection with Figure 9. R,eai-time clock 528 must be protected from tampering in order to be secure. Such protections may include internal or e:cternal backup power, an indication that its power (and thus its operation) has been interrupted, and/or an indication that the external clock signalus~i from which it derives its timing have been interfered with (e.~.. sped up, slowed down).
Similarly, an encrvptldecrypt engine X23. pattern matching ~ engine 524, compressionldecompression engine 546 andlor arithmetic accelerator 544 may be added if desired to provide greater efficiencies, or the functions performed b~~ these components could be provided instead by soft«~are executing on microprocessor 2652. An optional memory management unit 540 may also be provided if desired. A true random number generator 542 may be provided also if desired. Connections shown between mode interface switch 2858 and other ..
components can carry both data and control information, specifically control information that determines what security-WO 98/09209 PCTlUS97115243 relevant aspects of the other components are available for access and/or manipulation.
In addition, secure ROM 532 and/or secure RAM 534 may be provided within CPUISPU 2650 along with a "mode interface switch" 2658a, 2658b. Mode interface switch 2658 selectively provides microprocessor 2652 with access to secure memory 532;
534 and other secure components tblocks 522, 546; 524, 542, 544, 528) depending upon the "mode" CPU/SPU 2650 is operating in.
CPU/SPU 2650 in this example may operate in two different modes:
~ an "SPU" mode, or ~ a "normal" mode.
In the "normal" mode, CPU/SPLT 260 operates I5 substantially identically to a standard off the-shelf CPU while also protecting the security of the content, state, and operations of security-relevant components included in CPU/SPU 2650.
Such security-relevant components may include the secure memories 532, 534; the encryptldecrypt engine 522, the optional pattern-matching engine 524, random number generator 542, . arithmetic accelerator 544, the SPU-not-initialized flag 2671, the secure mode interface switch 2658, the real-time clock 528, the _ DMA controller 2654, the MMU 540, compress/decompress block WO 98109209 °' , PCTIUS9711S243 546, and/or any other components that may affect security of the operation of the CPU/SPU in "SPU" mode.
Tn this example, CPUISPU 2650 operating in the "normal"
mode controls mode interface switch 2fi5$ to effectively "disconnect" (i.e., block unsecure access to) the security-relevant components, or to the security-relevant aspects of the operations of such components as have a function for both "normal" and "SPU" mode. In the "normal" mode, for example, microprocessor 2652 could access information from standard registers or other internal RAM and/or ROM (not Shawn), execute instructions in a "normal" way, and perform any other tasks as are provided within a standard CPU -- but could not access or compromise the contents of secure memary 532, 534 or access blocks 522, 524;
i5 542, 544, 546. In this example "normal" mode, mode interface switch 2658 would effectively prevent any access (e.g., both read and write access) to secure memory 532, 534 so as to prevent the information stored within that secure memory from being compromised.
When CPUISPU 2650 operates in the "SPU" mode, mode interface switch 2658 allows microprocessor 2652 to access secure memory 532, 634, and to control security-relevant aspects of other components in the CPU/SPU. The "SPU" mode in this example requires all instructions executed by microprocessor 2652 to be fetched from secure memory 532, 534 -- preventing execution based on "mixed" secure and non-secure instructions.
In the "SPU" mode, mode interface switch 2658 may, in one example embodiment, disconnect or otherwise block external accesses carried over bus 652 from outside CPUISPU 2650 (e.g., DMA accesses, cache coherency control accesses) to ensure that the microprocessor 2652 is controlled entirely by instructions carried within or derived from the secure memory 532, 534.
Mode interface switch 2658 may also disconnect or otherwise block access by microgrocessor 2652 to same external memory and/or other functions carried over bus 652. ilrlode interface switch 2658 in this example prevents other CPU
operationslinstructions from exposing the contents of secure memory 532, 534.
in the example shown in Figure 9A, the made control of mode interface switch 2658 is based on a "made" control signal provided by microprocessor 2652. In this example, microprocessor 2652 may be slightly modified so it can execute two "new" instructions:
- 225 .

~ "enable 'SPU' mode" instruction, and ~ "disable 'SPU' mode" instruction.
When microprocessor 2652 executes the "enable 'SPU' mode" instruction, it sends an appropriate "mode" control signal to mode interface switch 2658 to "switch" the interface switch into the "SPU" mode of operation. When microprocessor 2652 executes the "disable 'SPU' mode" instruction, it sends an appropriate "mode" control signal to mode interface switch 2658 IO to disable the "SPL"' mode of operation.
When CPU/SPI~ 260 begins operating in the "SPU" mode (based on microprocessor 2652 executing the "enable "SPU"
mode" instruction, mode interface suritch 2658 forces I5 microprocessor '?6~2 to begin fetching instructions from secure memory 532, 534 (e.g., beginning at some fi..~ed address) in one example. When CPU/SPU 2650 begins operating in this example "SPU" mode, mode interface switch 2658 may force microprocessor 2652 to load its registers from some fixed address 20 in secure memory 532, 534 and may begin execution based on such register content. Once operating in the "SPU" mode, microprocessor 2652 may provide encryptionldecryption and other control capabilities based upon the code and other content of secure memory 532, 534 needed to provide the VDE

functionality of SPU 500 described above. For example, microprocessor 2652 operating under control of information within secure memory 532, 534 may read encrypted information from bus 652 via bus interface unit 2656, write decrypted information to the bus interface unit, and meter and limit decryption of such information based on values stored in the secure memory.
At the end of secure processing, execution by microprocessor 2652 of the "disable SPU mode" instruction may cause the contents of all registers and other temporary storage locations used by microprocessor 2652 that are not within secure memory 532, 534 to be destroyed or copied into secure memory 532, 534 before "opening" mode interface s~c-itch 2658. Once mode interface switch 2658 is "open," the microprocessor 262 no longer has access to secure memory 532, 53-~ or the information it contained, or to control or modify the state of any other security-relevant components or functions contained within CPU/SPU 2650 to which access is controlled by mode interface switch 2658.
Whenever CPU/SPU 2650 enters or leaves the "SPU"
mode, the transition is performed in such a way that no , information contained in the~secure memory 532, 534 or derived wo 98/09209 PCTlUS97I15243 from it (e.g., stored in registers or a cache memory associated with microprocessor 2652 ) while in the "SPU" mode can be exposed by microprocessor 2652 operations that occur in the "normal" mode. This may be accomplished either by hardware mechanisms that protect against such exposure, software instructions executed in "SPU" mode that clear, reinitialize, and otherwise reset during such transitions, or a combination of both.
In some example implementations, interrupts may be enabled while CPU/SPU 2650 is operating in the "SPLr" mode similarly interrupts and returns from interrupts while in the "SPU'" mode may allow transitions from "SPU" mode to "normal"
mode and back to "SPU" mode without exposing the content of secure memory 532, 534 or the content of registers or other memory associated with microprocessor 2652 that may contain information derived from secure mode operation.
In some example implementations, there may be CPUISPU
activities such as DMA transfers between e.Yternal memory andlor devices and secure memory 532, 534 that are initiated by microprocessor 2652 but involve autonomous activity by DMA
controller 2654 and, optiona3ly, encryptJdecrypt engine 522 and/or compressldecompress engine 546. In such r implementations, mode interface switch 2658 and its associated control signals may be configured to permit such pending activities (e:g. DMA transfers) to continue to completion even after CPU/SPU 2650 leaves "SPU" mode, provided that upon completion, all required clearing, reinitialization, and/or reset activities occur, and provided that no access or interference is permitted with the pending activities except when CPU/SPU
2650 is operating in "SPU" mode.
In an additional example embodiment, . encryption/decryption logic may be connected between microprocessor 2652 and secure memory 532, 354. This additional encryption/decryption logic may be connected "in parallel" to mode interface switch 2658. The additional encryption/decryption logic may allow certain accesses by microprocessor 2652 to the secure memon,~ 532, 534 when CPU/SPU 2650 is operating in.the "normal" mode. In this alternate embodiment, reads from secure memory 532, 534 when CPUISPU 2650 is operating in the "normal" mode automatically result in the read information being encrypted before it is delivered to microprocessor 26b2 (and similariy, and writes to the secure memory may result in the written information being decrypted before it is deposited into the secure memory). This alternative embodiment may permit access to secure memory 532, 534 (which may an this example store the information in WO 98!09209 PCTIUS97115Z43 "clear" form) by microprocessor 2652 when CPUISPU 2650 is operating in the "non-secure normal" mode, but only reveals the secure memory contents to microprocessor 2652 in unencrypted form when the CPU/SPU is operating in the "SPU" mode. Such access may also be protected by cryptographic authentication techniques (e.g., message authentication codes) to prevent modification or replay attacks that modify encrypted data stored in secure memory 532, 534. Such protection may be performed utilizing either or both of software and/or hardware cryptographic techniques.
All of the components shown in Figure 9A may be disposed within a single integrated circuit package. Alternatively, mode interface switch 2658 and secure memory 532, 534, and other security-relevant components might be placed within an integrated circuit chip package andlor other package separate from the rest of CPU/SPU 2fi50: In this two-package version, a private bus could be used to connect microprocessor 2652 to he mode interface switch 2fi58 and associated secure memory 532, 534. To maintain security in such mufti-package versions, it may be necessary to enclose alI the packages and their interconnections in an external; physical tamper-resistant barrier.

WO 98/09209 PCTlUS9'7/15243 Initialization of Integrated CPUlSPU
Instructions and/or data may need to be loaded into CPU/SPU 2650 before it can operate effectively as an SPU X00.
This may occur during the manufacture of CPU/SPU 2650 or subsequently at a CPUISPU initialization facility. Security of such initialization may depend on physical control of access to the CPUISPU component(s), on cryptographic means, or on some combination of both. Secure initialization may be performed in plural steps under the control of different parties, such that an initialization step to be performed by party B is preconditioned on successful performance of a step by party A. Different initialization steps may be protected using different security techniques (e.g. physical access, cryptography i.

In this example, switch 2658 may expose an external control signal 2670 that requests operation in "SPU" mode rather than "normal" mode after a power-on reset. This signal would be combined (e.g., by a logical AND 2672) with a non-volatile storage element 2671 internal to CPU/SPU 2650. If both of these signals are asserted, AND gate 2672 would cause CPU/SPU 2650 to begin operating in SPU mode, either executing existing instructions from an address in SPU memory 532, executing -instructions from main memory 2665 or otherwise external o the WO 98!09209 PGTIUS97l15243 CPU/SPU. The instructions thus executed would permit v arbitrary initialization and other functions to be performed in "SPU" mode without necessarily requiring any instructions to be previously resident in the SPU memory 532.
Once initialized, the SPU would, under control of its initialization program, indicate to switch 2658 that the flag 26?1 is to be cleared. Clearing flag 26?1 would permanently disable this initialization capability because no mechanism would be : provided to set flag 26? 1 back to its initial value.
if flag 26?Z is clear, ar control signal 2670 is not asserted, CPU/SPU 2650 would behave precisely as does microprocessor 2fi~2 with respect to power-on reset and other external conditions. Under such conditions, only execution of the "enable SPU mode" instruction or otherwise requesting SPU mode under program control would cause "SPU" mode to be entered.
Additionally, a mechanism could be provided to permit microprocessor 2652 and/or control signal 2672 to reinitialize the flag 26?1. Such reinitialization would be performed in a manner that cleared secure memory 532, 534 of any security-relevant information and reinitialized the state of all security-relevant components. This reznitialization mechanism would permit CPUISPU 2650 to be initialized several times, facilitating testing wo 9srono9 ~ rcrnssmns~
andlor re-use for different applications, while protecting alI
security-relevant aspects of its operation.
In the preferred embodiment, CPU/SPU 2650 would, when SPU mode has not yet been established, begin operating in SPU
mode by fetching instructions from secure non-voiatiie memory 632, thereby ensuring a consistent initialization sequence and preventing SPU dependence on any information held outside CPU/SPU 2650. This approach permits secret initialization IO information (e.g., keys for validating digital signatures on additional information to be loaded into secure memory 532, 534) to be held internally to CPU/SPU 2650 so that it is never exposed to outside access. Such information could even be supplied by a ' hardware "mask" used in the semiconductor fabrication process.
x5 CPUISPU Integrated With Unmodified Microprocessor Figure 9B shows an additional example embodiment, in which a completely standard microprocessor 2652 integrated circuit chip could be transformed into a CPU/SPU 2650 by 20 adding an SPU chip 2660 that mediates access to external UO
devices and memory. In such an embodiment, the microprocessor 2652 would be connected to the SPU chip 2860 by a private memory bus 2661, and ali thxee such components PC'TJUS97115243 would be contained within hardware tamper-resistant barrier 502.
In this embodiment, SPU chip 2660 may have the same secure components as in Figure 9, i.e., it may have a ROMIEEPROM 532, a RAM 532, an RTC 528, an (optional) encryption/decrvption engine 522, an (optional) random number generator (RNG) 542, an (optional) arithmetic accelerator 544, and a (optional) compressionldecompression engine 546, and a (optional) pattern matching circuit 524. Microprocessor 520 is omitted from SPU chip 2660 since the standard microprocessor 2650 performs the processing functions instead. In addition, SPU chip 2660 may include, a flag 26 l 1 and AND gate Logic 26?2 for the initialization purposes discussed above.

In addition, SPU chip 2660 includes an enhanced switch 2663 that provides the same overall (bus enhanced) functionality performed by the switch 2658 in the Figure 9A embodiment.
Enhanced switch 2663 would perform the functions of a bus repeater, mediator and interpreter. For eXample, enhanced switch 2663 may act as a bus repeater that enables microprocessor 2652's memory accesses made over internal memory bus 2661 to be reflected to external memory bus 2664 WO 98J09Z09 PCT/tTS97/15243 and performed on main memory 2665. Enhanced s=witch 2663 may also act as a bus repeater similarly for internal I/O bus 2662 to external UO bus 266 in the event that microprocessor 2652 ' performs UO operations distinctly from memory operations:
Enhanced switch 2863 may also perform the function of a mediator for microprocessor control functions 2666 (e.g., non-maskable interrupt, reset) with respect to externally requested control functions 2667. Enhanced switch 2663 may also provide mediation for access to SPU-protected resources such as ROM 532, RA~'~I 534, encrypt/decrypt engine 522 (if present), random number generator 542 (if present), arithmetic accelerator 544 (if present), pattern matching engine 524 (if present?, and real-time clock 528 ( if present). Enhanced switch 2663 may also act as an interpreter of control signals received from microprocessor 2652 indicating entry to, exit from, and control of SPU mode.
Switch 2663 in this example recognizes a specific indication (e.g., an instruction fetch access to a designated address in the secure memory 532) as the equivalent to the "enable 'SPU' mode" instruction. Upon recognizing such an indication, it may isolate the CPUISPU 265Q from external buses and interfaces 2664, 2665, and 2667 such that any external activity, such as DMA cycles, Would be "held" until the switch wo ~ono9 rcrnrs9~n~
2663 permits access again. After this, switch 2663 permits a single access to a specific location in secure memory 532 to complete.
The single instruction fetched from the designated location performs a control operation (a cache flush, for example), that can only be performed in microprocessor 2652's most privileged operating mode, and that has an effect visible to switch 2663.
Switch 2663 awaits the occurrence of this event, and if it does not occur within the expected number of cycles, does not enter "SPU" mode.
Occurrence of the control operation demonstrates that microprocessor 2652 is executing in its most privileged "normal"
~ mode and therefore can be trusted to execute successfully the "enter'SPU' mode" sequence of instructions stored in secure memory 532. If microprocessor 2652 were not executing in its most privileged mode, there would be no assurance that those instructions would execute successfully. Because switch 2663 isolates microprocessor 2652 from external signals (e.g., interrupts) until "SPU" mode is successfully initialized, the entry instructions can be guaranteed to complete successfully.

wo 9sro~o9 rcrnrsmns~
Followis~g the initial instruction, switch 2683 can enter "partial SPU mode," in which, a restricted area of ROM 532 and RA.M 534 may be accessible. Subsequent instructions in secure memory 532 may then be executed by microprocessor 2652 to place it into a known state such that it can perform SPU
functions -- saving any previous state in the restricted area of RAM 534 that is accessible. After the known state is established, an instruction may be executed to deliver a further indication (e.g., a reference to another designated memory location) to IO sW itch 2663, which would enter "SPU" mode. If this further indication is not received within the expected interval, switch 2663 will not enter "SPU" mode. Once in "SPU" mode, switch 2663 permits access to all of ROM 532, RA.~yI 534, and other devices in SPU chip 2660.
The instructions executed during "partial SPU" made must be carefully selected to ensure that no similar combination of instructions and processor state could result in a control transfer out of the protected SPU code in ROM 532 or RAM 534. For 2fl example, internal debugging features of microprocessor 2652 must be disabled to ensure that a malicious program could not set up a breakpoint Iater within protected SPU code and receive control. Similarly, all address translation must be disabled or reinitialized to ensure that previously created MMU data WO 98!U9209 PCTIUS9~115243 structures would root permit SPU memory accesses to be compromised. The requirement that the instructions for "partial SPU mode" run in the microprocessor 2652's most privileged mode is necessary to ensure that all its processor control functions can be effectively disabled.
The switch 2683 provides additional protection against tampering by ensuring that the expected control signals occur after an appropriate number of clock cycles. Because the "partial SPU" initialization sequence is entirely deterministic, it is not feasible for malicious software to interfere with it and still retain the same timing characteristics, even if malicious software is nlrining in microprocessor 2652's most privileged mode.
Once in "SPU'' mode, switch 2663 may respond to additional indications or signals generated by microprocessor 2652 (e.g., references to specific memory addresses) controlling features of SPU mode. These might include enabling access to external buses 2664 and 2665 so that SPU-protected code could reference external memory or devices. Any attempts by components outside CPUISPU 2650 to perform operations (e.g., accesses to memory, interrupts, or other control functions) may be prevented by switch 2663 unless they had been explicitly enabled by instructions executed after "SPU" mode is entered.

wo ~no9 rcrrtts9~nszas To leave SPU mode and return to normal operation, the instructions executing in "SPU" mode may provide a speci.~c indication to switch 2663 (e.g., a transfer to a designated memory address). This indication may be recognized by switch 2663 as indicating a return to '°normal mode," and it may again restrict access to ROM 532, R.AM 534, and all other devices within SPU
chip 2660, while re-enabling external buses and control lines 2664, 2665, and 2667. The instructions executed subsequently may restore the CPU state to that which was saved on entry to SPU mode, so that microprocessor 2652 may continue to perform functions in progress when the SPU was invoked.
In an alternate embodiment, the entrv into SPU mode may be conditioned on an indication recognized by switch 2663, but the switch may then use a hardware mechanism (e.g., the processor's RESET signal) to reinitialize microprocessor 2562. In such an embodiment, switch 2663 may not implement partial SPU mode, but may instead enter SPU mode directly and ensure that the address from which instructions would be fetched by microprocessor 2652 (specific to microprocessor 26v2's architecture) results in accesses to appropriate locations in the SPU memory, 532. This could reduce the complexity of the SPU
mode entry mechanisms in switch 2663, but could incur an wo ~ono~ pcrnrs9~~xs2a~
additional processing cost from using a different reinitialization mechanism for.microprocessor 2652.
SPU chip 2660 may be customized to operate in conjunction with a particular commercial microprocessor. In this example, the SPU may be customized to contain at least the specialized "enter SPU mode" instnaction sequences to reinitialize the processor's state and, to recognize special indications for SPU control operations. S.PU chip 2660 may also be made electrically compatible with microprocessor 2652's external bus interfaces. This compatibility would permit CPU/SPU 2650 to be substituted for microprocessor 2652 v~ithout change either to software or hardware elsewhere in a computer system.
In other alternate embodiments, the functions described above for SPZ3 chip 2600, microprocessor 2652, and internal buses 2661, 2662, and 2666 could aiI be combined within a single integrated circuit package; and/or on a single silicon die. This could reduce packaging complexity andlor simplify establishment of the hardware tamper-resistant barrier 502. , * * *

WO 981Q9209 PCTIU89~115243 The hardware configuration of an example of electronic appiiance 600 bas been described above. The following section describes an example of the software architecture of electronic appliance 600 provided by the preferred embodiment, including the structure and operation of preferred embodiment "flights Operating System" ("ROS") 602.
Rights Operating System 602 Rights Operating System ("ROS"? 602 in the preferred embodiment is a compact, secure, event-driven, services-based, "component" oriented, distributed multiprocessing operating system environment that integrates VDE information security control information, components and protocols with traditional operating system concepts. Like traditional operating systems, ROS 602 provided by the preferred embodiment is a piece of software that manages hardware resources of a computer system and extends management functions to input and/or output devices, including communications devices. Also like traditional operating systems, preferred embodiment ROS 602 provides a coherent set of basic functions and abstraction layers for hiding the differences between, and many of the detailed complexities of, particular hardware impiementations. In addition to these - characteristics found in many or most operating systems, ROS
802 provides secure VDE transaction management and other 2~1 -advantageous features not found in other operating systems.
The following is a non-exhaustive list of some of the advantageous features provided by R4S 602 in the preferred embodiment:

~ simplifies programming ~ the same application can rtui on many different glatforms ,,vent driven IO ~ ~ eases functional decomposition ~ extendible accommodates state transition and/or process oriented events ~ simplifies task management la ~ simplifies inter-process communications ~g~~
~ allows simplified and transparent scalability ~ simplifies multiprocessor support ~ hides machine dependencies 20 ~ eases network management and support Com~pent Based A,~~,~tecture ~ processing based on independentiy deliverable secure -components WO 98109209 . P~~S97115243 component model of processing control allows different sequential steps that are reconfigurable based on requirements components can be added, deleted or modified (subject to permissioning) full control information over pre-defined and user-defined application events events can be individually controlled with independent executables to : ~

secure communications secure control functions secure virtual memory management information control structures protected from exposure data elements are validated, correlated and access controlled components are encrypted and validated independently components are tightly correlated to prevent unauthorized -use of elements control structures and secured executables are validated prior to use to protect against tampering integrates security considerations at the I/O level -provides on-the-fly decryption of information at release time WO 98!09209 PCTJUS971152d3 enables a secure commercial transaction network ~ ffexibie key management features Scalaeble ~ highly scalaeble across many different platforms o ~ supports concurrent processing in a multiprocessor environment ~ supports multiple cooperating processors ~ any number of host or security processors can be supported ~ control structures and kernel are easily portable to various host platforms and to different processors within a target platform without recorripilation ~ supports remote processing ~ Remote Procedure Calls may be used for internal OS
comrnunicanons I5 ~ghiv Integratable can be highly integrated with host platforms as an additional operating system layer ~ permits non-secure storage of secuxed components and information using an OS layer "on top of traditional OS
platforms ~ can be seamlessly integrated with a host operating system to provide a common-usage paradigm for transaction _.
management and content access PCTNS97l15243 integration may take many forms: operating system layers for desktops te.g., D4S, Windows, tl~Iacin.tosh);
- device drivers and operating system interfaces far network services (e.g, Unix and Netwarei; and dedicated component drivers for "low end" set tops are a few of many examples ~ can be integrated in traditional and real t~:me operating systems -T~stributed provides distribution of control information and reciprocal control information and mechanisms ~ supports conditional e~cecution of controlled processes ~th~ y VDE node in a distributed, asynchronous arrangement ~ controlled delegation of rights in a distributed environment ~ supports chains of handling and control management environment for distributed, occasionally connected but otherwise asynchronous networked database 20 ~ real time and time independent data management ~ supports "agent" processes 'i'ra_ns~nare _n_t ~ can be seamlessly integrated into existing operating , systems ~ can support applications not specifically written to use it Network fri .n~ii~ -~ internal OS structures may use RPCs to distribute processing ~ subnets may seamlessly operate as a single node or independently General Background Regarding Operating 5yatema ~n "operating system" provides a control meclZanism far IO organizing computer system resources that allows programmers to create applications for computer systems more easily. An operating system does this by providing commonly used functions, and by helping to ensure compatibility between different computer hardware and architectures (which may; for 15 example, be manufactured by different vendors. Operating systems also enable computer 'peripheral device" manufacturers to far more easily supply compatible equipment to computer manufacturers and users:
20 Computer systems are usually made up of several different hardware components. These hardware components include, for e~ple:
a central processing unit (CPU) for executing instructions;

W0 9$109209 - PCTIUS971152A3 an array of main memory cells (e.g.,'rRA:M" or ''ROM") for staring instructions for, execution and data acted upon or - parameterizing those instructions; and one or more secondary storage devices (e.g., hard disk drive, floppy disk drive, CD-ROM drive, tape reader, card reader, or "flash" memory) organized to reflect named elements ( a "file system") for storing images of main memory cells. . , Most computer systems also include input/output devices such as keyboards, mice. ~zdeo systems, printers, scanners and communications devices.
To organize the CPU's execution capabilities with available R.4.M, ROM and secondary storage devices, and to provide commonly used functions for use by programmers, a piece of software called an operating system" is usually included with the other components. Typically, this piece of software is designed to begin executing after power is applied to the computer system and hardv~rare diagnostics are completed.
Thereafter, all use of the CPU, main memory and secondary memory devices is normally managed by this "operating system"
software. Most computer.operating systems also typically include a mechanism for extending their management functions WO 98/09209 PCTNS9?65243 to LO and other peripheral devices, including commonly used functions associated with these devices.
By managing the CPU, memory and peripheral devices through the operating system, a coherent set of basic functions and abstraction layers for hiding hardware details allows programmers to more easily create sophisticated applications. In addition, managing the computer's hardware resources with an operating system allows many differences in design and I0 equipment requirements between different manufacturers to be hidden. Furthermore, applications can be more easily shared with other computer users who have the same operating system, with significantly less work to support different manufacturers' base hardware and peripheral devices.
FtOS 602 is 8a Operating Sgetem Providing Sigaiiicant Advaatagee SOS 602 is an "o en rating system." It manages the resources of electronic appliance 600, and provides a commonly used set of functions for programmers writing applications 608 for the electronic appliance. ROS 602 in the preferred embodiment manages the hardware (e.g., CPU(s), memory(ies), secure RTC(s), and encrypddecrypt engines) within SPU 500.
RQS may also manage the hardware (e.g., CPU(s) and DEMANDES OU BREVETS VOLUMINEUX
LA PRESENTE PARTIE DE CETTE DEMANDE OU CE BREVETS
COMPREND PLUS D'UN TOME.

NOTE: Pour les tomes additionels, veillez contacter 1e Bureau Canadien des Brevets.
JUMBO APPLICATIONS / PATENTS
THIS SECTION OF THE APPLICATION / PATENT CONTAINS MORE
THAN ONE VOLUME.

NOTE: For additional volumes please contact the Canadian Patent Office.

Claims (18)

1. A virtual distribution environment comprising:
a first host processing environment, said first host processing environment comprising a registry containing one or more installation keys;
a second host processing environment comprising:
a central processing unit;
an operating system;
main memory operatively connected to said central processing unit;
mass storage operatively connected to said central processing unit and said main memory;
a communications port; and secure software, said secure software including:
encrypted operational materials and installation materials said installation materials including:
encrypted installation materials, said encrypted installation materials including: programming which causes at least certain portions of said operational materials to be decrypted, and confounding algorithm programming which uses at least one confounding algorithm to create critical values required for correct operation of said operational materials on said second host processing environment;
at least one of said confounding algorithms constituting the MD5 algorithm, and unencrypted installation materials, said unencrypted installation materials including:
programming which causes the decryption of said encrypted installation materials, programming which uses said communications port to establish communication with said first host processing environment, programming which includes a secure key exchange protocol, programming which receives an installation key from said registry, and programming which uses said installation key to decrypt at least a portion of said encrypted installation materials; and one or more storage locations including one or more memory locations allocated by an operating system to a boot record file, but not used by such file, said memory locations being located after the end of said file but before the end of the memory sector allocated by said operating system to said file, said one or more storage locations storing variables used as inputs to said confounding algorithm, said one or more storage locations including a storage location on a writeable, non-volatile semiconductor memory device, which storage location is normally allocated for firmware;
whereby, said installation materials are decrypted and installed and cause said operational materials to be decrypted and installed.
2. The virtual distribution environment of Claim 1, in which at least one of the critical values constitutes a cryptographic key.
3. The virtual distribution environment of Claim 1, in which at least one of the critical values includes a plurality of fields; and in which the confounding algorithm programming includes critical value creation programming that uses the confounding algorithm to generate a different value for each field of the plurality of fields and combines the plurality of fields to create the critical value.
4. The virtual distribution environment of Claim 1, in which the at least one confounding algorithm includes a multiplicity of algorithms, each of said algorithms being operable to terminate with a different value stored in a predefined register.
5. The virtual distribution environment of Claim 1, in which the confounding algorithm programming uses at least one different input variable in the generation of each of the different values.
6. The virtual distribution environment of Claim 1, further comprising:

one or more storage locations storing cryptographic keys.
7. The virtual distribution environment of Claim 1, wherein at least one of the one or more storage locations comprises:
a disk sector marked as damaged.
8. The virtual distribution environment of Claim 1, wherein at least one of the one or more storage locations comprises:
a disk sector designated as an alternative disk sector to be used to replace disk sectors marked as damaged.
9. The virtual distribution environment of Claim 1, wherein at least one of the one or more storage locations comprises:
a disk sector reserved for non-general purpose use.
10. The virtual distribution environment of Claim 9, wherein the disk sector further comprises:
a disk sector reserved for firmware storage.
11. The virtual distribution environment of Claim 9, wherein the disk sector further comprises:
a disk sector reserved for storage of information generated during testing.
12. The virtual distribution environment of Claim 1, wherein the one or more storage locations comprise:
at least one storage location on a writeable, non-volatile semiconductor memory device, the storage location being allocated for configuration data.
13. The virtual distribution environment of Claim 1, wherein the one or more storage locations comprise:
at least one storage location on a writeable, non-volatile semiconductor memory device, the storage location being allocated for BIOS.
14. The virtual distribution environment of Claim 1, wherein the one or more storage locations comprise:
one or more memory locations allocated by an operating system to a file, but not used by such file.
15. The virtual distribution environment of Claim 1, wherein the one or more storage locations comprise:
at least one unused storage location allocated to a file allocation map.
16. The virtual distribution environment of Claim 1, wherein the one or more storage locations comprise:
at least one unused storage location allocated to a directory.
17. The virtual distribution environment of Claim 1, further comprising:
one or more secure containers comprising secure contents and one or more rules governing the use of said secure contents.
18. A virtual distribution environment comprising:
a first host processing environment said first host processing environment comprising a registry containing one or more installation keys;
a second host processing environment comprising:
a central processing unit;
a clock, main memory operatively connected to said central processing unit;
mass storage operatively connected to said central processing unit and said main memory;
a communications port; and secure software, said secure software including:
encrypted operational materials and installation materials, said installation materials including:

encrypted installation materials, said encrypted installation materials comprising:
programming which causes at least certain portions of said operational materials to be decrypted, and trusted server time programming comprising programming which controls said communications port to contact a trusted server and programming which obtains a time value from said trusted server, and clock initialization programming which synchronizes said clock to said time value obtained from said trusted value, said clock initialization programming determining whether said time value specified by said clock is the same or within a specified range as the time value obtained from said trusted server, if said determination results in an affirmative conclusion, said clock initialization programming setting an indication indicating that said clock has been synchronized with said time value obtained from said trusted server, and if said determination results in a negative conclusion, said clock initialization programming performing at least one of the following actions:
setting said time value specified by said clock to be the same as or within a specified range of the time value obtained from said trusted server, or storing a time offset value indicating the difference between said time value specified by said clock and the time value obtained from said trusted server; and unencrypted installation materials said unencrypted installation materials including:
programming which causes the decryption of said encrypted installation materials, programming which uses said communications port to establish communication with said first host processing environment;
programming which includes a secure key exchange protocol;
programming which receives an installation key from said registry; and programming which uses said installation key to decrypt at least a portion of said encrypted installation materials;

whereby, said installation materials are decrypted and installed and cause said operational materials to be decrypted and installed.
CA002373508A 1996-08-30 1997-08-29 Systems and methods for secure transaction management and electronic rights protection Expired - Lifetime CA2373508C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA002480118A CA2480118C (en) 1996-08-30 1997-08-29 Systems and methods for secure transaction management and electronic rights protection

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/706,206 US5892900A (en) 1996-08-30 1996-08-30 Systems and methods for secure transaction management and electronic rights protection
US08/706,206 1996-08-30
PCT/US1997/015243 WO1998009209A1 (en) 1996-08-30 1997-08-29 Systems and methods for secure transaction management and electronic rights protection

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CA002265473A Division CA2265473C (en) 1996-08-30 1997-08-29 Systems and methods for secure transaction management and electronic rights protection

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CA002480118A Division CA2480118C (en) 1996-08-30 1997-08-29 Systems and methods for secure transaction management and electronic rights protection

Publications (2)

Publication Number Publication Date
CA2373508A1 CA2373508A1 (en) 1998-03-05
CA2373508C true CA2373508C (en) 2007-04-10

Family

ID=38007264

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002373508A Expired - Lifetime CA2373508C (en) 1996-08-30 1997-08-29 Systems and methods for secure transaction management and electronic rights protection

Country Status (1)

Country Link
CA (1) CA2373508C (en)

Also Published As

Publication number Publication date
CA2373508A1 (en) 1998-03-05

Similar Documents

Publication Publication Date Title
CA2373542C (en) Systems and methods for secure transaction management and electronic rights protection
CA2683230C (en) Systems and methods for secure transaction management and electronic rights protection
US7120800B2 (en) Systems and methods for secure transaction management and electronic rights protection
US7133845B1 (en) System and methods for secure transaction management and electronic rights protection
US7095854B1 (en) Systems and methods for secure transaction management and electronic rights protection
US7844835B2 (en) Systems and methods for secure transaction management and electronic rights protection
US20030191719A1 (en) Systems and methods for secure transaction management and electronic rights protection
CA2373508C (en) Systems and methods for secure transaction management and electronic rights protection
CA2480118C (en) Systems and methods for secure transaction management and electronic rights protection
CA2619600A1 (en) Systems and methods for secure transaction management and electronic rights protection

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20170829