Process and streaming server for encrypting a data stream to a virtual smart card client system
Abstract
Included is a method of encryption of data transfer (data stream) to protect the transmission of data for a single view, and protect the copyright of data transfer. Especially priloženpostupak to protect the transmission of multimedia content, entertainment and communication that is based on transmission over the Internet. Furthermore a component is attached to the streaming server is operably associated with the streaming server that interacts with a client system that includes a virtual smart card (smart card virtual - VSC) proveopostupak to the invention.

Term
Term ended
Projected expiry passed 1 September 2025, 1.1 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
27 claims: 5 independent, 22 dependent
- 1Sustav komuniciranja kojim se prijenose podaci preko mreži naznačen time da sadrži:klijentski uređaj koji je podešen da obavlja radnje, uključujući: omogućivanje zahtjeva za prijenos podataka;virtualnu pametnu karticu (virtual smart card - VSC-kartica) priključenu na klijentski uređaj, s time da je VSCkartica podešena da obavlja radnje uključujući: slanje tokena povezanog s zahtijevanim prijenosom podataka;primanje zahtijevanog prijenosa podataka, pri čemu je zahtijevani prijenos podataka šifriran;i omogućivanje mjerenja kontrole protoka povezanog s prijenosom podataka;te streaming server koji je podešen da obavlja radnje, uključujući: utvrđivanje valjanosti tokena za zahtijevani prijenos podataka, te ukoliko je token valjan za zahtijevani prijenos podataka, slanje šifriranog prijenosa podataka VSC-kartici, te upotreba mjerenja kontrole protoka s VSC-kartice , dijelom da se kontrolira protok šifriranih podataka preko mreže kako bi se održavao gotovo pun međuspremnik povezan s VSC-karticom.
- 2Sustav iz zahtjeva 1, naznačen time da VSC-kartica nadalje sadržava modul upravljanja tokenima koji je podešen da pregovara sa streaming serverom oko tokena.
- 3Sustav iz zahtjeva 1, naznačen time da utvrđivanje valjanosti tokena za zahtijevani prijenos podataka nadalje sadrži utvrđivanje valjanosti identifikatora koji je povezan sa smještajem prijenosa podataka za dani token.
- 4Sustav iz zahtjeva 1, naznačen time da VSC-kartica nadalje sadrži modul kontrole protoka koji je podešen da prati najmanje jednu od mrežnih statistika, te karakteristike međuspremnika da utvrdi mjerenje kontrole protoka.
- 5Sustav iz zahtjeva 1, naznačen time da VSC-kartica nadalje sadrži modul povezivanja koji je podešen da jedinstveno poveže VSC-karticu s uređajem klijenta.
- 6Sustav iz zahtjeva 1, naznačen time da je streaming server podešen za obavljanje daljih radnji, uključujući pregovaranje šifarskih ključeva s VSC-karticom za korištenje pri šifriranju zahtijevanog prijenosa podataka.
- 7Sustav iz zahtjeva 6, naznačen time da VSC-kartica nadalje sadrži modul upravljanja tokenima koji je podešen da međudjeluje sa streaming serverom kako bi dogovarala ključeve šifriranja.
- 8Sustav iz zahtjeva 7, naznačen time da VSC-kartica nadalje sadrži modul spremanja tokena koji je podešen za spremanje najmanje jednog između korisničke informacije, tokena, URI-identifikatora i ključeva šifriranja.
- 9Sustav iz zahtjeva 1, naznačen time da token nadalje sadrži digitalni certifikat.
- 10Sustav iz zahtjeva 1, naznačen time daje uređaju klijenta predan takav prijenos podataka koji je moguće vidjeti prije određeni hroj puta.
- 11Modulirani podatkovni signal za upravljanje prijenosom podataka, modulirani podatkovni signal naznačen time da sadrži:zahtjev za prijenosom podataka od klijenta koji ima VSC-karticu;dostavljanje, preko VSC-kartice, tokena koji je povezan sa zahtijevanim prijenosom podataka;omogućavanje utvrđivanja valjanosti tokena za zahtijevani prijenos podataka;ukoliko je token valjati za zahtijevani prijenos podataka, omogućavanje pregovaranja za ključ šifriranja za VSC-karticu;omogućavanje šifriranja prijenosa podataka za vrijeme prijenosa prema klijentu, pri čemu se prijenos podataka šifrira korištenjem ugovorenog ključa šifriranja;omogućavanje, pomoću VSC-kartice, mjeru za kontrolu podataka koja je povezana sa šifriranim prijenosom podataka;te kontroliranjem pomoću servera, preko mreže količine kojom teče šifrirani prijenos podataka prema klijentu, pri čemu server koristi mjeru za kontrolu protoka, dijelom da kontrolira količinu kojom se šifrirani podaci prenose klijentu kako bi se održavao približno pun međuspremnik klijenta.
- 12Modulirani podatkovni signal iz zahtjeva 11, naznačen time daje prijenos podataka podešen zajedno pojedinačno pregledavanje.
- 13Modulirani podatkovni signal iz zahtjeva 11, naznačen time da kontroliranje količine protoka nadalje podrazumijeva prenošenje šifriranog prijenosa podataka klijentu približno istom količinom kojom klijent prima šifrirani prijenos podataka.
- 14Modulirani podatkovni signal iz zahtjeva 11, naznačen time da uspostavljanje mjere za kontrolu protoka nadalje podrazumijeva praćenje najmanje jedne od mrežnih statistika, te karakteristike međuspremnika klijenta.
- 15Uređaj klijenta koji se koristi za primanje prijenosa podataka preko mreže, naznačen time da sadrži:korisničko sučelje koje je podešeno za obavljanje radnji uključujući: omogućivanje zahtjeva za prijenos podataka;i VSC-karticu, spojenu na korisničko sučelje, podešenu da obavlja radnje uključujući: pregovaranje oko tokena povezanog sa zahtijevanim prijenosom podataka;upotrebom tokena kako bi se omogućilo utvrđivanje valjanosti zahtjeva za prijenosom podataka;ukoliko je zahtjev valjan, primanje prijenosa podataka od servera, koji je podešen da isporučuje prijenos podataka u istoj količini koja održava približno pun međuspremnik klijenta u uređaju klijenta;te uspostavljanje mjerenja prema serveru, koje server može koristiti kako bi kontrolirao količinu kojom teče prijenos podataka kako bi se održavao približno puni međuspremnik klijenta.
- 16Uređaj klijenta iz zahtjeva 15, naznačen time da je korisničko sučelje podešeno da obavlja sljedeće radnje, uključujući:dodjeljivanje korisniku odabranog vremenskog ograničenja od strane servera za pristup prijenosu podataka, pri čemu je odabrano vremensko ograničenje korisnika povezano s dogovorenim tokenom tako daje pristup prijenosu podataka onemogućen nakon isteka vremenskog ograničenja.
- 17Uređaj klijenta iz zahtjeva 15, naznačen time da token uključuje korisnička ovlaštenja za zahtijevanim prijenosom podataka.
- 18Uređaj klijenta iz zahtjeva 17, naznačen time da informacija o korisniku uključuje informaciju o korisničkom računu.
- 19Uređaj klijenta iz zahtjeva 15, naznačen time da token uključuje odabrano vremensko ograničenje korisnika za pristupanje prijenosu podataka, pri čemu je pristup prijenosu podataka onemogućen nakon isteka odabranog vremenskog ograničenja.
- 20Uređaj klijenta iz zahtjeva 15, naznačen time da je primljeni prijenos podataka šifriran najmanje jednom od sljedećih načina šifriranja :DES, Triple-DES ili AES.
- 21Uređaj klijenta iz zahtjeva 15, naznačen time daje VSC-kartica jedinstveno povezana s uređajem klijenta.
- 22Uređaj klijenta iz zahtjeva 15, naznačen time da VSC-kartica nadalje sadrži modul zaštite od upada koji je podešen da otkrije i zaštite VSC-karticu od upada.
- 23Uređaj klijenta iz zahtjeva 15, naznačen time da VSC-kartica uključuje međuspremnik klijenta.
- 24Metoda prijenosa podataka preko mreže naznačena time da sadrži sljedeće radnje:zahtjev za prijenosom podataka;upotreba VSC-kartice koja je vezana na uređaj klijenta kako bi utvrdila token povezan sa zahtijevanim prijenosom podataka;upotreba utvrđenog tokena kako bi se omogućilo utvrđivanje valjanosti zahtjeva za prijenos podataka;ukoliko je zahtjev valjan, primanje prijenosa podataka sa servera koji je podešen da isporučuje prijenos podataka količinom koja održava međuspremnik klijenta približno punim;te ostvarivanje pomoću VSC-kartice mjere od strane servera kako bi se dijelom kontrolirala količina kojom se odvija prijenos podataka tako da se održava približno pun međuspremnik klijenta.
- 25Metoda iz zahtjeva 24, naznačena time da nadalje sadrži:upotreba modula upravljanja tokenima povezanog s VSC-karticom kako bi se međudjelovalo sa serverom pri utvrđivanju ključeva šifriranja koji se koriste pri šifriranju prijenosa podataka prilikom prijenosa podataka uređaju klijenta.
- 26Metoda iz zahtjeva 24, naznačena time da VSC-kartica nadalje sadrži modul spremanja tokena, koji je podešen tako da sprema najmanje jedno između sljedećeg:informacije o korisniku, token, URI-identifikator, i ključevi šifriranja.
- 27Uređaj za primanje prijenosa podataka preko mreže, naznačen time da sadrži:način zahtjeva za prijenosom podataka;način utvrđivanja tokena povezanog sa zahtijevanim prijenosom podataka, pri čemu se token koristi kako bi se omogućilo vrednovanje zahtjeva za primanjem prijenosa podataka;način primanja zahtijevanog prijenosa podataka, ukoliko je zahtjev valjan, pri čemu je zahtijevani prijenos šifriran;način za ostvarivanjem kontrolnog mjerenja protoka povezanog s primljenim prijenosom podataka;te način za primanje šifriranog prijenosa podataka u kontroliranom protoku od servera, pri čemu je server podešen da upotrijebi kontrolno mjerenje protoka, dijelom kako bi kontrolirao protok šifriranog prijenosa podataka preko mreže kako bi se održavao približno pun međuspremnik u uređaju. SAŽETAK
Independent claims27
102 paragraphs in 4 sections, as filed
DESCRIPTION OF THE INVENTION
Related applications
This patent application claims priority to US patent application no. No. 10957,081, filed Oct. 1, 2004, incorporated herein by reference.
Technical Field of the Invention
The present invention provides a process for encrypting (encrypting, encoding) data flows to protect the confidentiality of data flows and to protect the copyright of data flows. More specifically, the invention provides a method for protecting data transmission such as multimedia, entertainment and communication in the transmission of data over the Internet. Furthermore, the invention introduces a "virtual smart card" as part of a user system that interacts with a portion of a streaming server to enhance the process of the invention.
BACKGROUND OF THE INVENTION
The Internet has enabled a new communication method whereby data can be transmitted from server to user. It is up to the user to display downloaded content, usually an image, tone, or similar record. The server sends the data transmission to the user. Solutions developed by Real Networks and Microsoft provide data flow using UDP (wireless Internet Protocol), with another connection between the client and the server that controls the data transfer. This control link serves to prevent buffer overruri, and can adjust the data transfer to adjust the bandwidth differences. One problem with this method of transmission is that the data transmitted from the server to the client is unsecured and available to anyone online.
Because of this, there is a need for better protection against interception of data on a large network, such as the Internet. This need relates in particular to providing protection against unauthorized download and the possibility of copying while transmitting data over the Internet. There is currently no copyright protection mechanism in place.
Once data has been sent from the server and sent over the network and before the user receives it or someone intercepts it before the user retrieves it, there is no way to prevent the data from being retransmitted. Even if the data transfer is copyrighted, there is no way to protect or enforce copyright protection. The copyrighted entity that submits such content is aware that it has no control over what is being done with the content once it is submitted. Because of this, a method is needed that will allow copyright protection of the content once it is sent over the network. This invention is designed to meet both needs.
Currently, no content sending attempt encrypts (encrypts) data sent from the server to the user. One solution can satisfy this with existing technology, such as merging the SSL secure data protocol together with a data sending program, such as Quicktime. Unfortunately, Quicktime does not have full-screen capabilities. Therefore, a better method of sending videos needs to be developed.
SUMMARY OF THE INVENTION
The present invention provides a method of encrypting (encrypting) data transmission into encrypted data transmission for one-time only display, comprising:
a) Allows users to be selected for a data transfer
b) opening the connection to the streaming server and sending to the streaming server the URIs, token and user information, wherein the streaming server includes a module for linking the user's data to send blocks of data to the user, an encryption module that uses the cipher keys defined interacts with the user to encrypt the data transfer and rejoins the user data connection module, and a flow control module to control the amount of data flow to keep the user buffer full;
c) approval or disapproval of a valid, or invalid, URI and token.-combination on a data server, wherein the data server consists of a user interaction module for connecting users to a data flow server component, a verification module a user who has a user database whereby a user verification module in operation is connected to a module to interact with the user and validate the user, and a URI and token tag creation module that is paired with a user verification module that creates new URIs and token tags at the user's request; and
d) allows continuous encryption of data transmission to the user if a valid combination of URI and token is found.
The streaming server may further comprise a runtime buffer module coupled to a flow control module that loads data stored on the storage medium. However, data is not limited to this performance, and may include data from a number of other sources, such as electronic business transaction, interactive television source, including multicast services (multicast). ), and the like. The streaming server may also include a user communication interface module, in operation connected to a file system module or a data flow control module that sets server capabilities. The streaming server may further comprise a user server component comprising a data flow control module to establish an initial connection to the streaming server component, a decryption module that decrypts incoming data transmissions, an input buffer module to store incoming data transmissions, and a view control module to control the view of incoming data transmission. The user server component may further comprise a display module for displaying audio and image content.
The continuous encrypted data transfer capability in step (d) may further comprise a user interface module with a streaming server to allow for pausing, stopping, starting and restarting data transmission, or some other way of interacting with the data transmission and / or data source. In one embodiment, ASP (Active Server Page - programming language) encryption scripts are included in the transaction server.
The present invention further comprises a streaming server for encrypting data transmission, protecting data transmission, and allowing only individual browsing, including:
a) a streaming server component, wherein the streaming server component includes a module for connecting to the user in order to send data sets to the user; an encryption module that seeks to encrypt data transmission using a user-defined cipher key associated with the user connectivity module;
b) a transaction server component, wherein the transaction server component comprises a user interaction module for connecting the user to the transaction server component, a user verification module comprising a user database, wherein the user verification module in operation is connected to the user interaction module, and verifies (verifies) users, and a module to create the URI and combination token associated with the user verification module in operation to create new ones. The URI and combination token at the user's request.
The streaming server component may further comprise a load buffer module connected in operation to a data flow control module to load data from a data source on storage media. However, the data may also include data from an interactive source, such as interactive TV services and the like. The streaming server component may further include a user interface module, which in operation is connected to a file system module or a flow control module, to set server capabilities. The streaming server may further include a user server component comprising a data control protocol module for creating an initial connection to the streaming server component, a decryption module for decrypting incoming data transmission, an incoming buffer module for buffering incoming data transmissions, and a display control module for controlling transmission display data. The user server may further include a display module for displaying audio and visual content.
Short description of the drawing
Figure 1 is a schematic view of a user component that is capable of receiving and viewing encrypted data transmission. The user component includes a token save module 100, a transfer control protocol module 120, and a decryption module 160.
Figure 2 shows a schematic of a streaming server component comprising at least an encryption module 220 and a connection control module with a user 200 that sfigs for key negotiation and token verification.
Figure 3 shows a schematic of a transaction server component comprising a token creation module 330 and a user verification module 310.
Figure 4 shows a schematic of different user scenarios, showing the need for a token as hi unlocked (decrypted) the transmission of data for display.
Sfika 5 shows a streaming server processing scheme that shows the receipt of a user token, which triggers the negotiation of encryption keys to allow data to be viewed and received.
Figure 6 shows a transaction server processing scheme that allows for setting up user accounts and creating tokens.
Figure 7 shows the performance of a virtual smart card (VSC - virtual smart card) as part of a user device that is configured to communicate with the transaction server in order to control data transmission and operation in accordance with the present invention.
Detailed description of preferred embodiment
The present invention provides a process for encrypting data, such as multimedia entertainment and communications, over the Internet. Encrypted data transmission allows access to copyrighted material and multimedia content (eg analyst meetings, interactive television, movies) in a secure, pay-per-view manner and the like. The data transmission cannot be saved to the user's device for later viewing or further transmission. However, the user can view the data transmission as many times as he wishes within the specified time.
The encryption protocol includes, for example, a 192-bit key encryption algorithm (e.g., Triple DES), UDP (User Data Protocol, UDP), RTSP, rfc 2326 (Real Time Streaming Protocol) for real-time streaming), data transfer protocol, RTP, rfc 1889 (Real Time Protocol), and MPEGI video compression. However, the example of a preferred encryption protocol that follows will change depending on the advancement of these technologies over time. For example, one implementation could use the Advanced Encrpytion Standard, or a similar encryption algorithm.
One of the advantages of such an inventive process, with the use of streaming server and portable server, is that the user does not have to have fully optimized equipment. An individual user can run it from any machine at any time. The user's settings may be appropriate to view, for example, 30 fps (frame-per-second) 320x240 video and audio without being stunned. This allows for data transfer of approximately 250-300 kpa, a large buffer (of at least a few megabytes), and a Pentium II 350 MHz processor or higher, running Windows 98 or Windows NT. However, the user's system is not that tight, however, and virtually any user system configuration can be used. For example, a user system may include a set-top box, an interactive television capability, and the like.
A server, for example, can be a fully optimized, multi-threaded (Windows NT) service. Unlike an HTTP server, this allows the status to be saved to each user, and the server must maintain its status for each user.
definitions
The following terms have been used, with the meanings indicated.
User or user system indicates the computer to which the data stream was forwarded. The user is the person who executes the instructions sent to the "client".
The module contains a set of compiled code, written to perform a specific function, or a set of functions.
A URI (universal resource identifier) is an identifier associated with a location on a server that is sending a stream.
A token denotes a binary data set that provides information about the level of rights an individual user has for a particular data transfer.
Authentication means giving a certain level of credibility that a component, device, person, or other entity is / is claiming to be. In some situations, identification can be as much treatment as identification.
Authorization means giving a level of access, and is aimed at answering the question of what actions a particular entity is entitled to perform. For example, authorization may answer the question whether an entity has permission to access certain data, when, and for how long.
CAS (Conditional Acces Svstem). CAS stands for technology that aims at controlled access to services such as digital television, and the like, using encrypted portable programming. However, CAS is not just about television. It may include digital radio transmissions, digital data transmissions, non-broadcast information transmission, interactive services, and the like. Thus, CAS may include access to data transmission as described herein.
Rapid Recovery (Rapid RenewaD involves the generation of keys, new keys, and new security mechanisms to a user device, system, etc. In one embodiment, dynamic rapid recovery enables a renewed security mechanism on an arbitrary basis that creates an unpredictable environment and target for others, such as hackers .
PRM (Digital Rights Management) is an alternative file-based record protection mechanism. DRM includes, for example, protection of the content itself, such as data transmission. In one embodiment, a license file, or the like, is issued that allows the user to play the content, whether sent along with the content or when the user wishes to reproduce the content. Content, such as data transmission, can be encrypted and the encryption properties remain unchanged as the content travels between networks, servers and users. DRM as described herein may include a virtual smart card that allows content management and protection.
ECM (Entitlement Control Messages) denotes encrypted data that is associated with the title data, such as tokens, access links, content encryption keys, and so on.
EMM (Entitlement Management Messages') denotes encrypted data such as addressing, such as tokens, content encryption keys, and so on.
Intrusion Detection means mechanisms for detecting situations that may compromise the security policy of other security.
Non-Repudiation means mechanisms that ensure that the user, consumer, customer, etc. are unable to deny the validity of their digital signature. One design uses two separate keys. One key can be stored with a third party, and can be used for actions that do not require authorization. The second key, may be without a renewal mechanism, and can be used for approval. In this embodiment, where the user may be the only one controlling the approval key, non-rejection can be achieved by using verifiable exclusive data. When approval is critical, a separate key can be used, and that key can be exclusive data that can be verified by the key owner. In another embodiment, the key owner may refuse the validity of the authorization based on the ability of a sufficiently privileged entity to replicate the secret key.
In one embodiment of the invention and streaming server process, the video may be stored unencrypted on the server; the files will only be accessible through server software. The server of the invention will be in charge of (1) arranging a set of encryption keys; and (2) encrypting on-the-go data that will make the packets of data sent over the network useless to any computer other than the intended destination. One cipher standard is TRIPLE-DES with a 168-bit key. The server will use the UDP protocol to transmit data. Such a protocol requires significantly less network resources than other TCP protocols (for example, http).
The client software will be in charge of decrypting the data transmission and reproducing it. The encryption keys may be different each time data is accessed. Each time a client query is created, a different encryption key is created so that the client cannot play earlier data transmissions if they were somehow saved to disk.
Illustrative environment
Figure 1 shows a schematic of a single embodiment of a client component of a method of the invention and a streaming server that is allowed to receive and view and / or otherwise access encrypted data transmission. The client keeps a list of all current data transmissions and corresponding tokens- This information is stored on the token save module 100. This list will include the following three details: (1) URI - identifier, (2) token for that URI, and (3) expiration date set by the server. In one embodiment, it may be undesirable for the client to have any means of determining whether the token is correct or not. For this reason, and the need to remove expired tokens, the server returns a validity period. This information is used by the client to view the data. The validity period itself must never be returned to the server, and the server itself determines that the forwarded token is correct. Examples of devices that can be used as a token storage module are, for example, RAM, a secondary storage device (hard disk drive), and may be included in software that is used to save the token and monitor its expiration date.
The client communicates with the user interface 110. The client may have a standard user interface that provides a specific user experience. The interface will be able to view current valid data transmissions, or be able to connect to a server to search for other data transmissions that may be viewed. The user interface 110 communicates with the local display control module 130 and the transmission control protocol module 120. The client must be able to establish a communication connection with the server as well as control the flow of data from the server when the transmission is being viewed. Transmission Control Protocol Module 120 establishes an initial connection by connecting to the server, and forwards the requested URI, identifier, token, and user information. The transmission control protocol module 120 then determines a number of encryption keys and controls the flow of data from the server. An example device for a transfer control protocol 120 module within a client component that can be used to determine a set of encryption keys and control the flow of data from a server include, for example, a RAM and a network card or modem. The software can track the amount of data received by sending network statistics, clipboard information, including occupancy rate, free space percentage, etc., as well as other client features to the streaming server. The display control module 130 controls the display of data and has the ability to interrupt, stop, or restart data transmission. Examples of display control modules that are suitable for use within a client component include RAM and a graphics card. The software running on this module will convert the data sent from the server into a format that can be displayed to the user.
Display module 140 shows video and audio. The input buffer module 150 is a module that includes a data buffer. The data buffer may include a circular encrypted data buffer from which the view control module loads data and writes the data to the decryption module. An example of a device for a clipboard module that can be used as encrypted clipboard circuits include, for example, RAM. As data packets are received from the server, before the data is placed in the input buffer, the data within the packet is decrypted by the decryption module 160 using the keys agreed upon by the transmission control protocol module 120.
The decryption module 160 can be derived using almost any decryption mechanism, including commercially available ones. For example, SSL (Se citers Sockets Layer - Transport Protocol within TCP), DES, and RSA (encryption algorithm) modules may be available and may be used as a decryption module. Lastly, on the client components side is the data transmission receive module 170. This module manages to receive packets of data sent by the server.
Suitable modular devices that can be used as a module to receive data transfer within client components may be, for example, RAM. The software included in this module may store information received by the client in a format that can be used by the following modules.
According to Figure 2, the client connection control module 200 will control the client-server connection control. The client will send to the streaming server user information, URI and token via the link control module 200. With this module 200, the data sent to the client by streaming (i.e., interrupting, stopping or restarting) can be managed. Hardware devices within a streaming server that can be a client connection control module include RAM. These hardware components allow you to perform non-specific hardware operations. Such software is either included in the client connection control module or loaded there. The software works to create a process in which the client and server determine the current conditions on the network and adjust the flow of data accordingly.
The data connectivity module 210 operates by sending data packets to the client using a connectionless protocol to reduce server load. Hardware devices that are suitable for use as a module for connecting data to a client within a streaming server are RAM and network adapters (Network Interface Cards). Such software is either included in the data link module or loaded there. The software functions to create a process in which encrypted data is sent as data packets over the network to the client machine.
Encryption module 220 uses client / server negotiated keys to encrypt data transmission as it is sent to the client. This enables on-the-go encryption, and the encryption keys will be unique to each client / server connection. This allows the original data stored on the server to be unencrypted where appropriate. Hardware devices within a streaming server suitable for use as an encryption module include RAM and corresponding hardware encryption devices. Such hardware components include software that is used to really encrypt the data. Such software may also be included in or loaded into the encryption module. The software functions to create a process in which the data being sent is encrypted using keys originally identified with the client and the output data is in a form that can only be read after the client has decrypted it.
Flow control module 230 ensures that the server transmits data the same amount that the client uses the data. The client clipboard must be full at all times, but the data must not be overwritten at the same time. Because of this, the flow control module communicates with the encryption module 220, and uses feedback from the client connectivity control module 200. Hardware devices that are suitable for use as a flow control module in a streaming server include RAM. Such software may either be included in or loaded onto the flow control module. The software works by creating a process that regulates the flow of data from the server to the client.
The file system loading buffer 240 serves to serve the server. Small amounts of data loaded from a file can be stored in memory instead of constantly opening files from the system. The file system module 250 serves to load data from its source on some storage medium or elsewhere. The file system module communicates with the client connection control module 200 to open the URIs and the user interface module 260 according to the file path settings. Hardware devices that are suitable as a file system module within a streaming server include RAM. These hardware components include software that functions to allow access to data transmission. Such software can either be embedded in or loaded into the file system module. The software works by creating a process in which data stored on a secondary storage device can be loaded into RAM to be passed to the encryption module.
The streaming server further includes a simple user interface module 260 that adjusts server settings such as determining the network port (port) to be connected and the location of the data source. Hardware devices that are suitable as a file system module in a streaming server include RAM. Such software is either embedded in the file system module or loaded there. The software works by creating a process where the server software user can direct the file system module to look for data transfers.
According to Figure 3, the transaction server consists of four modular components. In order to access video transmission, the client must first reach a transaction token. A transaction token may be based on a pay-per-view system in which the token will be valid for a specified period of time. The amount of time a token is worth depends on what the user chooses and the options available for the selected transfer. The user establishes a connection to the transaction server, via the client interaction module 300, with user information and a URI. The transaction server will determine what time options are available for that token and present them to the user. After the user selects the required timeout, the request is forwarded to the user verification module 310. Hardware devices that are suitable for use as a client interaction module include RAM. Such software is either embedded in the client interaction module or loaded there. The software works by creating a process where user data is verified in a database, and a valid token is created, based, in part, on user-set options.
User Verification Module 310 checks user data that is compared with that in the database and is checked for correctness. The user database is stored in the memory of the user verification module. Hardware devices that are suitable for use as a user verification module within a transaction server include RAM. Such software is either embedded in the client interaction module or loaded there. The software works by initiating a process in which the passed token is checked. The URI creation module 320 and the token creation module 330 are linked, and the token created is based, in part, on the required URI, which means that the token is unique to the requested URI and cannot be used for any other transfer. This information is then returned to the client via module 300. Hardware devices that are suitable for use as the URI creation module and the token creation module, both housed within the transaction server, include RAM. Such hardware components may include software that runs inside RAM. Such software can either be included in the URI creation module or loaded there. The software works by initiating a process in which a valid URI is created to transmit user-selected content.
Illustrative operations
Looking at Figure 4, client 400 executes, and the client is loaded along with the URI and token 410. The client either double-clicks the client icon (no) or starts the media server (yes). If the media server started the client, then the URI and the token in the client command line will be required. Window 420 will show all purchased (and current) available data transfers for viewing, or any other interaction. The user will be able to access the data transfer by double clicking on the transfer title. Waiting for the input from the user (430) and selecting the data transfer or other housekeeping option. If the housekeeping option is selected, user 450 is executed and returned to video transmission using module 420.
If the user initiates a data transfer (selects yes to 410), the URI and the token are saved in purchased transfers so that it can be re-viewed later 460. A connection to the streaming server is opened and a URI, the token, are sent to the streaming server. and user information 470. The streaming server identifies the correct (or incorrect) combination of URIs and tokens 480. If the token is defective or expired, the server will close the connection and the client will return to display all available data transfers for viewing. If the server finds the correct combination of URIs and tokens, the client will start receiving data from the streaming server and displaying 490.
If the transfer is complete, or the user selects one of the transfer options such as pause, stop, play, or restart 500, the transfer will stop and wait for further instructions from the user. If the transfer has completed 510, the process returns to the list of available transmissions 420, or resumes displaying data transfer 490 by processing the request of user 520, and then returns to displaying transmission 490.
Looking at Figure 5 and the process running the streaming server, a connection is first made to the connection control module with client 200, 600 to allow the client to establish a connection to the streaming server. The client hands over the URI, token, and user information 610 from user 470. The streaming server determines if the token and URI are valid 620. If the token is defective or expired, the client connection closes with the corresponding error message 630. If the token is correct, a set of unique encryption keys is agreed with client 640. The URI identifier is opened, and the data transfer is loaded into clipboard 650.
Data Flow Control Module 230 allows the client and streaming server to establish a connection to establish data flow control to ensure that data transmission departs from the streaming server in the same amount as is loaded on client side 660. This refers to the amount of data that can be transferred. over time, as well as ensuring that the content in the client's clipboard is not deleted. Therefore, the client flow control mechanism 660 uses a client flow control module 230 to obtain feedback from the client data buffer 710, and to control the amount of data transferred to keep the client buffer as full as possible. If the client cannot receive more data at that point, it returns to the flow control module as indicated by 670 to slow or stop the data transmission. If the client can accept more data 680, the flow control client will first determine if there is more data to transfer 680. If there is no more data to transfer, the data transfer can be terminated and the client connection will be closed 690. If there is more data to send , then the data waiting in the send buffer is encrypted 700, and the encrypted data is sent to client 710.
Looking at Figure 6, which describes the transaction server scenarios, the client first connects to the transaction server, for example through the website 800. In one embodiment, the transaction server will also include ASP scripts. However, the invention is not so limited and virtually any mechanism can be used without leaving the scope or scope of the invention. The client sends a request for the URI and user information using ASP command line 810 and the user verification module on transaction server 310 will determine the time limit of available tokens and display them to the user for selection. The transaction server will check user data 820 in the database in user verification model 310. Examples of user data verification are whether the user has an account (e.g. the user account exists against the transaction server) 830. If the user does not have an account 840, a transaction is opened to create a new user account page and retrieve user data 840. Additionally, the user verification module on transaction server 310 will determine if the URI that was claimed without debt 850. If the URI is to be charged 860, then the user verification module on transaction server 310 generates a charge on the credit card that is in the user's database. This process will create a URI in the create module of URI 320 on the transaction server.
Once the URI is provided, whether paid or paid for free, a token 870 is created in the token creation module 330. The token created in this way will connect to the URI and a timeout of 880 will be selected. the browser on the client machine will return to the client with the URI and the token created.
Client Components with Illustrative Virtual Smart Card
The client components described above with reference to Figure 1 can be used in various client systems. Such client systems may include devices that typically connect using wired communications such as personal computers, multiprocessor systems, microprocessor or programmable consumer electronics, set top box digital devices, interactive TVs, point of deployment interfaces, and modules, online personal computers and the like. Such devices may also include devices typically coupled using wireless communications such as cell phones, smart phones, pagers, walkie talkies, radio frequency (RF) devices, infrared (IR) devices, CB (Citizen Banjo) devices, integrated devices that combine one or more of the above devices, or practically any mobile device and the like. Similarly, client systems that may include the client components of Figure 1 can be any device that can be connected using wired or wireless communication such as PDAs, POCKET PCs, laptops, or any other device that can communicate over a wired and / or wireless connection.
Such client systems may also be configured to use data transmissions for various uses, including entertainment movies, sound recordings and the like. In one embodiment, the transmitted content may include at least a portion of the data associated with an interactive television service. The uploaded content may even be related to banking, e-commerce, and the like.
In addition, the client components of Figure 1 can be complex in various configurations, and linked to different architectures. For example, in one embodiment, the client components of Figure 1 may be stacked within a client system having a virtual smart card (VSC). In addition, client components can be used in conjunction with an interactive television environment using VSC.
Figure 7 shows one embodiment of such an arrangement of a VSC card within a client device configured to operatively interact with the transaction server in substantially similar ways to that described previously in connection with Figures 2-6. The client system 7000 of Figure 7 may include many more components than shown. The components shown are, however, sufficient to describe an illustrative embodiment for the application of the invention, and variations in arrangement in the type of components that can be done without disrupting the spirit or scope of the invention.
Using the VSC card described above provides privacy (confidentiality), integrity, timeliness, access control (authorization), and identification as well as rapid renewal, cross-link copy protection or digital rights management (DRM), as well as greater capacity, flexibility and ability to connect devices to allow for increased security.
As shown in the figure, client system 7000 includes client device 7002. Client device 7002 includes VSCcard 7004, tamper detectors 7006, data transmission module 7170, display module (display module) 7140, local display control module 7130 , and the 7110 user interface. VSC Card 7004 includes connection and flow control modules 7010, security message management 7012, tamper protection 7014, client inbound 7150, token management 7016, cryptographic modules 7060, token storage module 7100, key generator 7018, and connection module 7020.
The user interface 7110 is essentially similar to the user interface 110 of Figure 1. The user interface 7110 may include a variety of client input devices including a mouse, keyboard, microphone, touch screen, remote control, and the like, which are configured to enable choosing to transfer data as well as to provide information.
Local View Control Module 7130 operates in substantive lines similar to Local View Control Module 130 in the image
First That is, the 7130 Local View Control module can be virtually any device, software, combination of software and hardware, and the like, which allows the control of data display, and the ability to stop, interrupt, restart, and restart data transmission.
The display module 7140 operates in substantive lines much like the display module 140 of Figure 1. That is, the display module 7140 allows the user to display data, including video, audio, and the like. The 7140 display module, for example, may enable interactive television transmission.
The data transmission module 7170 operates in substantially similar lines as the data transmission module 170 of FIG. 1. That is, the data transmission module 7170 is configured to control the reception of data packets associated with the data transmission sent by the server. The data receiving module 7170 may further be configured to route the received data packets to the communication and data flow control module 7010.
The token save module 7100 is configured to act in bit lines similar to the token save module 100 of Figure 1. That is, the 7100 save module is configured to allow secure storage of URIs, tokens associated with stored URIs, an expiration date that is associated with the token, and the like. In addition, the token storage module 7100 is further configured to provide a secure storage location that is firmly connected to the client device 7002. The 7100 token save module can be implemented as a file, folder, database or the like. Connecting to the client system is accomplished by using the 7020 connectivity module. Local security can be used by using one of the various encryption, blurring, and full utilization of various network resources.
Connection module 7020 is configured to uniquely identify client device 7002, server system, or the like. In one embodiment, this is achieved by the use of imprint (/ in ^ erprinf). An impression can be made of a number of elements inherent in each impression. Such elements are called reefs here. Each ridge includes an imprint element that provides information about the print making it different from other prints. Some examples of ridges include the size of physical memory and the like. Each ridge included in the fingerprint determines the identity of the system so that it can be uniquely identified within the system. Combinations of all prints can be made by a macro print (handprint) or a system footprint that uniquely identifies a personal computer, server, client device, set top box or similar device within the system. The order of each group of prints and individual ridges may affect the final print or macro print. This means that each user of the connection module can generate a unique print and subsequent macro print even when the information about the reef core is used.
Using the generated footprint connects VSC card 7004 to a special device, such as client device 7002, and one that will not function properly if cloned or attempting to boot from another device. This approach virtually eliminates the usual hacking approach of pirating a physical smart card.
In one embodiment, the VSC card 7004 may be combined with another device, such as a physical smart card, to further enhance the secure identity features of the physical card according to the device footprint while maintaining the flexibility and power of the VSC 7004. This can be done. for example, in a system where the identity of the device is inherently weak, where the cost and suitability of a physical card or other device is out of the question.
The 7010 Link and Flow Control Module is configured to allow connections and data flow control between the VSCcard 7004 and the portable and streaming servers. As such, the link and flow control module 7010 may perform bitwise operations similar to some operations performed by the transmission control protocol module 120 of Figure 1. This means that the 7010 connection and flow control module can establish an initial connection to the server and allow the requested URI, token and user information to be passed.
The data link and flow control module 7010 may also enable control of data flow from the server to ensure that the amount of data flow maintains a constant full client buffer (i.e., the client inbound buffer 7150), in bit lines similar to the transmission control protocol module 120 of Figure 1. The 7010 link and data flow control module can do this, for example, by monitoring various characteristics, such as the amount received, network statistics, inbound statistics, and so on. As such, the link and data flow control module 7010 may query the inbound buffer 7150 to determine its fill, the rate at which it is filled, the amount of buffer space remaining, and the like. The 7010 Link and Flow Control module can then provide flow control whose measurement is based on monitored server features, whether encrypted or unencrypted. If the information is provided in an encrypted manner, the communication and data flow control module 7010 may use the security message management 7012 to ensure the information is protected.
Security Message Management 7012 is set up to create a secure medium for messaging. Although not shown, Security Message Management 7012 interacts with various other components of VSC 7004 as required to ensure mutual end-user identification and to keep the privacy of messages.
Token Management 7016 is set up to manage receiving, storing, sending and interpreting tokens and similar objects. As such, token management 7016 can perform various actions associated with the transmission control protocol module 120 of Figure 1. For example, token management 7016 may pass to the server the requested URI, token, and user information. Token Management 7016 can also arrange a set of encryption keys with the server, using cryptographic modules 7060 and / or key generator 7018. In addition, token management 7016 can use security message management 7012 to allow secure communication between the server and client device 7002.
The tokens were briefly described earlier. In one embodiment, however, the token may also include a digital certificate, which may include information about identity, encryption keys, and the like, associated with, for example, certification authorization. The kind of token structure used by VSC-7004 enables a unique concept of authorization chains, which can grow into a business model beyond what is typically supported by the traditional Certification Authorization model. However, the invention is not so limited, and the structure of the token can use virtually any structure that is tuned to link the user's authority to a particular data transfer.
The cryptographic module 7060 is further able to receive protected content from the communication and data flow control module 7010, decrypt the protected content, and send the decrypted content to the client 7150 buffer.
The client inbound buffer operates in principal lines similar to the client inbound buffer 150 of Figure 1. This means that the client inbound buffer 7150 is stacked to include a transmission buffer. It is important to note that, although the 7150 input buffer is displayed within VSC 7004, the invention is not so limited. For example, the client buffer 7150 may be within client device 7002 and outside of VSC card 7004.
The 7060 cryptographic module is configured to create a variety of cryptographic keys, including symmetric or private keys, asymmetric or public keys, and the like. Although the cryptographic module 7060 may include virtually any cryptographic mechanism, in one embodiment, the cryptographic module 7060 uses AES for symmetric cryptography. In another embodiment, the cryptographic module 7060 uses RSA (public key cipher algorithm) for asymmetric cryptographic operations.
The key generator 7018 is configured to use the cryptographic module 7060 to enable the generation of cryptographic keys. Such generation may utilize, for example, a rapid renewal mechanism where a new generation of keys can be performed in a short span of time, compared to a traditional physical smart card and its key replacement mechanisms. In one embodiment, the 7018 key generator can enable the generation of new keys within hours instead of days, weeks, or even months. In one embodiment, in order to further hide the potential location of the attack, dynamic rapid recovery is used, where the generation of new keys, and the like, is performed on a random basis to create an unpredictable environment. In another embodiment, such dynamic rapid recovery may also be used to replace various software components that may further reduce the risk of attack. The use of such rapid renewals allows the use of a VSC card in various other situations, including banking, enterprise security, e-commerce, and content distribution studies.
Intrusion detection 7006 and intrusion protection 7014 can be applied at various points in the client system 7000 to provide high security infrastructure. Typically, some level of intrusion protection or resistance may be provided within the software and / or hardware of CSC Card 7004. As shown, VSC Card 7004 includes intrusion protection 7014 to provide intrusion protection or resistance, and similar hacking attempts. This protection may further include agents that are tuned to perform various actions, including channel emulation detection, debugger detection, debugger resistance, detection and protection against memory overflow, and similar detection and anti-piracy applications.
Intrusion detection 7006 is configured to detect intrusions by other systems, such as intrusions on client device 7002, and the like. For example, in an interactive television environment, intrusion protection can be used to monitor attempts to clone VSC cards and / or its various components. Intrusion protection 7006 can further provide a reliable source of browsing time, thus preventing restart attempts.
In operation, the VSC card may operate substantially similar to that described in Figure 4. For example, as described in Figure 4, the client is loaded together with its associated URI and token (see block 400 of Figure 4). This action can be initiated in Figure 7 by interacting with the communication and data flow control module 7010, as well as with user interface 7110, view module 7140, and the like.
If the user initiates the data transfer in block 410 of Figure 4, the process moves to block 460, where the URI and token are stored, using the token management module and the token storage module 7100. Moving to the next block 470, the communication and flow control module data 7010, along with the token management module 7016, sends the URI, token, and user information to the streaming server.
If, in block 480 of Figure 4, the server establishes a valid combination of URIs and tokens, the process moves to block 490 of Figure 4, where data is transmitted from the streaming server. Such a data transmission may receive a data transmission receiving module 7170, and may be sent to a communication and data flow control module 7010, where decryption of the received transmission can be performed using cryptographic modules 7060. The decrypted data transmission can then be placed in the client inbound buffer 7150, in an amount that keeps the client's inbound buffer almost full.
The above specification, examples and data give a complete description of the manufacture and use of the contents of the invention. Since many embodiments of the invention can be made without disturbing the spirit and scope of the invention, the invention rests on the claims set forth below.
PATENT REQUIREMENTS
Contents4
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
39 members in 19 offices
Priority claims8
| Document | Office | Kind | Date |
|---|---|---|---|
| 95708104 | United States of America | A | |
| 95708104 | United States of America | A | |
| 2005031353 | United States of America | W | |
| 2005031353 | United States of America | W | |
| 10957081 | – | – | – |
| PCTUS05031353 | – | – | – |
| US20040957081 | – | – | – |
| WO2005US31353 | – | – | – |
Members39
| Document | Office | Kind | |
|---|---|---|---|
| WO0135571A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2249401A | Australia | A | |
| US2002108037A1 | United States of America | A1 | |
| US6449719B1 | United States of America | B1 | |
| EP1266480A1 | European Patent Office (EPO) | A1 | |
| US2005120125A1 | United States of America | A1 | |
| US6965993B2 | United States of America | B2 | |
| EP1266480A4 | European Patent Office (EPO) | A4 | |
| EP1628187A1 | European Patent Office (EPO) | A1 | |
| US2006059563A1 | United States of America | A1 | |
| CN1756146A | China | A | |
| KR20060029588A | Republic of Korea | A | |
| CA2580463A1 | Canada | A1 | |
| WO2006039053A2 | World Intellectual Property Organization (WIPO) | A2 | |
| TW200612708A | Taiwan Province of China | A | |
| JP2006109391A | Japan | A | |
| HK1088410A1 | Hong Kong, China | A1 | |
| WO2006039053A3 | World Intellectual Property Organization (WIPO) | A3 | |
| HRP20070184A2This record | Croatia | A2 | |
| KR100747755B1 | Republic of Korea | B1 | |
| US7299292B2 | United States of America | B2 | |
| US7380117B2 | United States of America | B2 | |
| HRPK20070184B3 | Croatia | B3 | |
| EP1628187B1 | European Patent Office (EPO) | B1 | |
| AT400855T | Austria | T | |
| ATE400855T1 | Austria | T1 | |
| DE602005007973D1 | Germany | D1 | |
| DK1628187T3 | Denmark | T3 | |
| PT1628187E | Portugal | E | |
| LV13618B | Latvia | B | |
| ES2310321T3 | Spain | T3 | |
| PL1628187T3 | Poland | T3 | |
| TWI306344B | Taiwan Province of China | B | |
| MY137489A | Malaysia | A | |
| US2009327698A1 | United States of America | A1 | |
| CA2580463C | Canada | C | |
| US8055894B2 | United States of America | B2 | |
| US2012124377A1 | United States of America | A1 | |
| US8386771B2 | United States of America | B2 |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapse due to non-payment of renewal fee for consensual patentLapsedPBKO | PBKO | |
| Change of the applicant name, address/residencePNAN | PNAN | |
| Transfer of rightsPPPP | PPPP | |
| Renewal fee for the maintenance of a patentODRP | ODRP | |
| Consensual patent grantedGrantedPKB1 | PKB1 | |
| Publication of a request for the grant of a patent not including a substantive examination of a patent application (a consensual patent)GrantedAKOB | AKOB | |
| Publication of a patent applicationA1OB | A1OB |
Numbers
- Publication, DOCDB
- P20070184
- Publication, EPODOC
- HRP20070184
- Application
- 20070184
- Application, DOCDB
- P20070184
- Application, EPODOC
- HR2007P000184
Titles2
- English
- PROCESS AND STREAMING SERVER FOR ENCRYPTING A DATA STREAM TO A VIRTUAL SMART CARD CLIENT SYSTEM
- Croatian
- POSTUPAK I STREAMING SERVER ZA ŠIFRIRANJE PROTOKAPODATAKA PREMA KORISNIČKOM SUSTAVU BAZIRANOM NA VIRTUALNOJ PAMETNOJ KARTICI
Classification
- CPC, 22
- H04L63/0428
- H04L9/32
- G06F21/10
- G06F21/606
- G06F2221/2137
- H04L63/0457
- H04L63/061
- H04L63/0823
- H04L63/0853
- H04L2463/101
- H04N7/163
- H04N7/1675
- H04N7/17318
- H04N21/2347
- H04N21/25866
- H04N21/26606
- H04N21/47202
- H04N21/6125
- H04N21/6587
- H04L65/612
- H04L65/70
- H04L65/1101
- IPC, 8
- G06F15 16
- G06F1 00
- G06F21 00
- H04L9 00
- H04L29 06
- H04N7 16
- H04N7 167
- H04N7 173