The invention relates to a system for allowing information providers to prepare digital information for secure electronic commerce via the internet, including dynamic encryption of the information, and for allowing customers to browse and purchase secured, purchasable data or simply to unlock secured correspondence that is intended for a some customers and not others without having to preload fulfillment software.
Demand for network-based distribution of protected and unprotected data is increasing dramatically. Yet, many challenges exist that need to be addressed to effectively distribute data via electronic commerce such as: (1) conducting reliable, secure transactions necessary to build confidence with both information providers (e.g., data publishers) and data customers; (2) ensuring that data can be located, accessed and purchased in a timely manner; and (3) ensuring that information providers or publishers can specify access controls and that the administration of the posting of datasets which are capable of changing dynamically is not unwieldy and unmanageable.
A need exists for a data distribution infrastructure which addresses the aforementioned challenges and which overcomes a number of disadvantages associated with existing distributed data commerce systems. Traditional distributed data commerce systems are implemented behind a firewall so that secure transactions can be made. These systems, however, are characterized by high installation and maintenance costs for both software and hardware. Another disadvantage associated with many existing distributed data commerce systems is the requirement of a customer to load special fulfillment software onto the customer computer prior to the acquisition of any secure data. The fulfillment software enables the customer to order, purchase and decrypt secure data. Another disadvantage of many existing distributed data commerce systems arises from the static encryption of datasets. Information providers typically encrypt datasets to be distributed as secure datasets and store the secured datasets on a web server prior to any demand for the datasets by customers. Thus, modification of the datasets and overall administration of the posting of the datasets is less efficient since the data is already encrypted.
In accordance with an aspect of the present invention, a data distribution system is provided which transmits secured information, which is to be sold as a purchasable item or sent as secure correspondence, to a customer with an embedded executable. The embedded executable facilitates the acquisition of release codes or keys to decrypt the secured information, while obviating the need to load fulfillment software on the customer computer prior to requests for or receipt of secured information.
In accordance with another aspect of the present invention, server technology is provided to permit an information provider to dynamically encrypt information that is to be transmitted to a customer for purchase or as secure correspondence. The server technology encrypts data to be secured and which has been selected by a customer just prior to transmitting the data to the customer. In other words, encryption at the information provider's website is performed on-the-fly. Accordingly, individual pieces of content are provided in a secure commerce container.
These and other features and advantages of the present invention will be more readily comprehended from the following detailed description when read in connection with the appended drawings, which form a part of this original disclosure, and wherein:
A data distribution system (DDS) 10 is provided in accordance with the present invention to allow information providers (IPs) to prepare digital information hereinafter referred to as “content”) for commerce, as well as to perform data retrieval and transmission, and transactional services. A number of embodiments are described below which provide different electronic commerce functions. For example, a desktop encryption/decryption system (DES) is described in connection with
In addition, server-based technology is provided which permits dynamic encryption of content and which permits customers and IPs to otherwise engage in internet commerce (i.e., to request, preview, download and purchase selected secured content), as will be described below in connection with FIG. 9. Finally, a distributed framework is provided which can be adopted by IPs as a standardized framework from which to build a universal data distribution infrastructure, as shown in
Desktop Encryption/Decryption System (DES)
The DES provides an IP 12 with means to create secured content in the form of purchasable items or secured correspondence. The DES preferably comprises software operating on a IP computer (e.g., a Web Server 16) which generates screens 16 and 18, as depicted in
In addition to using a secure wrapper for encryption, the DES provides the encrypted content with an embedded executable in accordance with the present invention. The executable translates application-wide and OS-wide calls such as “file open”, “read”, “write” and “close” into DES events such as saving selected data as a purchasable item, or providing customers with preview and purchasing dialogue, in the OS and one or more of the applications being run on the IP 12 computer or customer 14 computer. Thus, the fulfillment software required to preview, request a release code, purchase a release code and to decrypt selected content via the release code is provided to a customer computer following transmission of the selected secure content. The DES is therefore advantageous because a customer need not have previously installed fulfillment software prior to the request or receipt of the selected secure content.
With regard to an IP, the DES stores content saved as purchasable content on a hard drive 26 or other memory device as a protected file. The encryption is preferably in accordance with the encryption method described in the above-referenced application Ser. No. 08/670,846, filed Jun. 28, 1996, which generates machine-dependent release codes. Other encryption algorithms, however, can be used. The special handlers of the DES assign a product code for the protected file containing the purchasable item and create a release code or key to decrypt or unlock the protected file. With reference to
In the DES, a customer 14 can obtain a release code for a selected purchasable item or for secure correspondence directed to the customer via a telephone order or a facsimile modem or transaction in accordance with one embodiment of the present invention. The DES preferably provides a two layer approach to providing protected content for commerce. First, encrypted files are browsed and downloaded by the customer 14. Second, the customer 14 subsequently initiates a transaction to unlock selected ones of the encrypted file(s). Thus, the content to be protected in the present example is statically encrypted, that is, it is encrypted and stored at an IP 12 or provided on a physically distributed memory medium such as a CD even before a customer 14 has decided to unlock and, if necessary, download or purchase the content. A method of dynamically encrypting the content in accordance with another aspect of the present invention is described in connection with FIG. 9.
The purchase transaction supported by the DES is illustrated in FIG. 4. With reference to block 36 in
As indicated by the communication paths 52 and 54 illustrated in
With continued reference to
As illustrated by the data path 55 in FIG. 1 and the block 40 in
With reference to blocks 44, 46 and 48 in
Server-based Technology for Commerce-enabling a Website
In accordance with another aspect of the present invention, the DDS 10 uses server-based technology to implement internet commerce at an IP website. As shown in
The encryption server retrieves the selected purchasable items from a data repository 90 wherein the data is not necessarily encrypted in any way. The retrieved purchasable items are encrypted on-the-fly by the encryption module 88 by preferably using the machine or hardware-dependent release codes as described in the application Serial No. 08/670,846, filed Jun. 28, 1996. The key is then stored in the database 28 via a SQL server 92. The requested, encrypted files are then provided to the server 16 for downloading to the customer 14. After viewing the encrypted files via Shopping Basket pages, the customer can enter an BC order page 94. BC server ASPs are provided to obtain the corresponding key or release code from the key database 28 and any available customer data from a customer database 96 via the SQL server 92. The EC server ASPs 88 also perform transactional services such as a credit card transaction to pay for the requested, encrypted item. Once payment is verified, the IP Website sends the release code to the customer to unlock the desired content.
The process of generating release codes will now be described in further detail for illustrative purposes. Raw and unencrypted data in a digital format is stored in independent data files at, for example, an information provider data processing facility. The data is encrypted using a selected encryption algorithm. The key for encrypting and decrypting the data can be generated cryptographically using a random number generator, for example. The encrypted data is then stored in a database at a particular location. The encrypted data can be stored, for example, as a dataset on a CD-ROM accessed at an HTTP server or at a customer computer. A unique dataset code is assigned to the dataset and is preferably generated using a hash algorithm on the location of the dataset. The location of the dataset, the key and the hashed dataset code are then stored in a key management database maintained at the fulfillment center, and the encrypted data is distributed on the CD-ROM, for example, or made available on the network.
A user can select a dataset and initiate a request by clicking on an item in a preview screen, for example. A hardware-dependent digital signature (HDDS) can be generated in response to the dataset request. The signature can be based on a card number of a board within the customer computer or other computer-specific device. The location of the selected dataset is determined by the computer using a table on the CD-ROM or available via the network and preferably hashed. The hashed location is then concatenated with the HDDS and compressed to present the user with a product code corresponding to the selected dataset.
The product code is forwarded to the fulfillment center, where it is processed to decompress the product code, and to extract the hashed location of the selected dataset and the HDDS. The hashed location is used to find the key within the key management database for decrypting the requested dataset. The HDDS is then hashed and encrypted along with the key. The encrypted key is concatenated with the hashed dataset code, compressed, and sent as a release code to the customer.
Universal Data Distribution Infrastructure
In accordance with the present invention and with reference to
As shown in
The Requesters in the Requester layers 100a and 100b provide three services: messaging, bulk delivery and resource exploration. For messaging, a Requester allows different pieces of software to communicate with each other and can therefore be used extensively throughout an entire system for requests, posting of results and small data transfers. Requester messaging is similar to packet delivery in a network in that messages are routed from one object to others on the same computer or across the internet 102. Bulk delivery operations via Requesters are implemented on top of a messaging architecture to provide managed flows of data based on a connection-oriented mechanism. Requester bulk delivery is efficient because it allows dynamic link profiling, which uses minimum bandwidth while maximizing throughput, automatic bit width selection, failure recovery, compression and advanced flow control. Thus, downloading of large amounts of data is efficient and reliable for the user and easier for an IP since the data can be dumped into a stream or named pipe. Requester resource exploration enables the system to transform a collection of distinct elements into a single entity. Resource exploration permits software to explore what is available using lists, indices and directories, which are automatically generated and updated. Thus, Requester resource exploration significantly reduces maintenance, as well as facilitates the integration of advanced software agents that can dynamically probe large amounts of data in search of specific data entities.
In the exemplary system illustrated in
The relationships with consumers 12 is becoming more prevalent since profiles can be built on consumer data preferences as a consumer browses and accesses data. Profiles are an effective means for target marketing through advertisements and special offers. Preferred types of data, purchasing patterns and other information allow companies to identify who their customers are and therefore to more effectively sell their data or create relationships with re-sellers 112 to sell their data. Relationships between sellers and re-sellers for value-added data products based on many suppliers' data, percentages or fixed sums of transactions can be automatically routed by the framework illustrated in
With reference to
With reference to
Specifications are also provided for a query server 110 to provide guidelines for query systems for searching of data to be distributed. Query server specifications define basic functionality and commands that must be implemented, how the query server interacts with the requester layer 100, and advanced capabilities, such as automated index generation and resource detection. The specification can be used to create a layer on top of a current search engine to allow the search engine to become a seamless part of a cohesive system. Specifications for query servers can include how query servers advertise their presence, how indexed data can be accessed and discovered automatically, and can provide guidelines for searching data, as well as query initiated methods, list formats and requester interfaces.
Similarly, transaction server 114 specifications provide access control systems guidelines by defining basic functionality and commands that must be implemented, as well as defining how a transaction server interacts with a requester layer. Existing transaction servers are easily provided to a system with the addition of a layer such that interfaces with financial networks can be provided by financial transaction servers which is a subset of a transaction server specification. The system illustrated in
While certain advantageous embodiments have been chosen to illustrate the invention, it will be understood by those skilled in the art that various changes and modifications can be made therein without departing from the scope of the invention as defined in the appended claims.
This application is a continuation of U.S. patent application Ser. No. 09/031,536, filed Feb. 27, 1998, now abandoned which is a continuation-in-part of U.S. patent application Ser. No. 08/670,846, filed Jun. 28, 1996, now issued as U.S. Pat. No. 5,809,145, the entire subject of which are hereby incorporated herein by reference for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
4713753 | Boebert et al. | Dec 1987 | A |
4736423 | Matyas | Apr 1988 | A |
4888798 | Earnest | Dec 1989 | A |
4897874 | Lidinsky et al. | Jan 1990 | A |
4926476 | Covey | May 1990 | A |
5010571 | Katznelson | Apr 1991 | A |
5058162 | Santon et al. | Oct 1991 | A |
5218638 | Matsumoto et al. | Jun 1993 | A |
5222134 | Waite et al. | Jun 1993 | A |
5247575 | Sprague et al. | Sep 1993 | A |
5297206 | Orton | Mar 1994 | A |
5319705 | Halter et al. | Jun 1994 | A |
5337357 | Chou et al. | Aug 1994 | A |
5341429 | Stringer et al. | Aug 1994 | A |
5369702 | Shanton | Nov 1994 | A |
5386369 | Christiano | Jan 1995 | A |
5400403 | Fahn et al. | Mar 1995 | A |
5410598 | Shear | Apr 1995 | A |
5414772 | Naccache et al. | May 1995 | A |
5457746 | Dolphin | Oct 1995 | A |
5499295 | Cooper | Mar 1996 | A |
5504814 | Miyahara | Apr 1996 | A |
5509070 | Schull | Apr 1996 | A |
5511122 | Atkinson | Apr 1996 | A |
5557796 | Fehskens et al. | Sep 1996 | A |
5615264 | Kazmierczak et al. | Mar 1997 | A |
5634012 | Stefik et al. | May 1997 | A |
5646992 | Subler et al. | Jul 1997 | A |
5708709 | Rose | Jan 1998 | A |
5907617 | Ronning | May 1999 | A |
5918213 | Bernard et al. | Jun 1999 | A |
5956709 | Xue | Sep 1999 | A |
Number | Date | Country | |
---|---|---|---|
20020162007 A1 | Oct 2002 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09031536 | Feb 1998 | US |
Child | 10126974 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 08670846 | Jun 1996 | US |
Child | 09031536 | US |