RussianPatents.com

Method of multimedia data protection

Method of multimedia data protection
IPC classes for russian patent Method of multimedia data protection (RU 2449494):
Another patents in same IPC classes:
Device for processing data elements which can be reproduced to user Device for processing data elements which can be reproduced to user / 2446614
Device (DVR) is processing data elements which can be reproduced for user. Example of such device is digital videorecorder. The device (DVR) contains network interface (NWIC, NWIM) which connects the device (DVR) to network which contains other devices. Content analysis initiator (ECF) in the device (DVR) detects that other device comprising part of network contains content analyser. Content analysis initiator (ECF) applies content analyser (AVCA) of other device to data element (AVF).
Content download system, content download method, content supplying apparatus, content supplying method, content receiving apparatus, content receiving method, and programme Content download system, content download method, content supplying apparatus, content supplying method, content receiving apparatus, content receiving method, and programme / 2432686
Disclosed is a content download system comprises: a content supplying device, a content receiving device, a download apparatus designed to download encrypted content and playing control data necessary for playing said content from said content supplying device according to user operations; obtaining apparatus to confirm the existence of a license which includes a key for decrypting said encrypted content based on said playing control data when playing said downloaded content, and to obtain said license according to the confirmation result; and playing apparatus to play said encrypted content using said obtained license. Playing control metafile describes <content_title>, <drm_server_uri>, <license_id>, <license_type>, <license_description>, <user_confirmation>, <user_messsage>, and <price>. In the case when multiple licenses are set for a single content, the items <license_id> through <price> describe only the number of set licenses.
Method to grant license to client device corresponding to coded content and system of conversion to manage digital rights, applying this method Method to grant license to client device corresponding to coded content and system of conversion to manage digital rights, applying this method / 2421806
Method of a conversion system operation to manage digital rights to grant a license to a client's device corresponding to coded content consists in the following. The first content of the first type of digital rights content and the first license corresponding to the first content are converted to manage digital rights in order to generate the second content of the second type of digital rights content and the second license corresponding to the second content. A license request is received, corresponding to the second content distributed by means of superdistribution to a third party. The second license corresponding to the second content distributed by means of superdistribution is requested from a server corresponding to the second management of digital rights. The second license corresponding to the second content distributed by means of superdistribution is received and sent to a third party.
Method and device for processing dvb-h (digital video broadcasting - handheld) compliant transport stream Method and device for processing dvb-h (digital video broadcasting - handheld) compliant transport stream / 2418367
Invention proposes a method for processing a transport stream (TS) received as an input TS in a processing device (SDR), the transport stream comprising a plurality of elementary streams (ES), each ES being a set of TS packets having the same Packet IDentifier (PID), at least one of these ES being time-sliced so as to be sent in bursts, timing information indicating within a burst the time to the beginning of the next burst, applying a filtering operation to the input TS so as to filter out from the input TS part or all of one or more time- sliced ES; modifying the bursts scheduling of the input transport stream so as to generate a DVB-H compliant output TS from the filtered input TS.
Controlled communication system Controlled communication system / 2417534
First user can support one or more content "portals", which can be accessed by at least a subset of members of an online community. Access to content of any portal can be based on the level of confidentiality of the portal and the level of confidentiality, for example, access parametres provided to a person. The level of confidentiality and linking the content can be hierarchical and/or non-overlapping. That way, a user can transparently exchange data with several uses simultaneously independent of their context or level of confidentiality while preserving the confidentiality boundaries of each portal.
Method and system for provision of conditional access to data in broadcast system of mhp or ocap Method and system for provision of conditional access to data in broadcast system of mhp or ocap / 2411665
Request of subscription is created from viewer, in order to realise access to additional paid content, parametre of viewer identification is formed in receiver in response to request of viewer subscription, parametre of viewer identification is saved in receiver, parametre of viewer identification is sent, as well as request of viewer subscription from receiver to broadcasting station along feedback channel, viewer access is authorised to additional paid content, parametre of viewer identification is sent, which has been received at the stage, from broadcast station in transport DVB-stream substantially to all receivers in broadcasting system, a transport DVB-stream is received in receiver, and requested additional paid content is unlocked from transmitted transport DVB-stream in receiver with use of transmitted parametre of user identification and stored parametre of viewer identification.
Method and device to control access to coded data Method and device to control access to coded data / 2409002
Method includes the following stages: receipt of the first control message (ECM1), containing at least one control word (CW) and time score (TS); receipt of the second control message (ECM2), following the first control message (ECM1), besides, the second control message contains at least one control word (CW) and time score (TS); detection of duration of time period, corresponding to difference between time scores (TS) of two serial messages ECM1, ECM2; increasing counter of errors (CE) in case specified duration of time period is less than previously set duration (CP); reducing counter of errors (CE) in case specified duration of time period equals or exceeds specified previously set duration; return of control word (CW) into module of processing (STB) as waiting time expires, which depends on value of counter of errors (CE).
Method to control access to coded data Method to control access to coded data / 2408157
Invention relates to method of control of access to data (CT) coded by means of control words (CW) received by protection module in control messages (ECM) and returned to module of coded data processing. Control messages (ECM) contain at least the first control word (CW1) and the second control word (CW2), at the same time each of specified control words provides access to coded data (CT) during the specified period of time called cryptoperiod (CP). Method includes the following actions: transfer of coded data into at least one module of processing; and transfer of control messages (ECM) into specified processing module, besides, control messages (ECM) contain at least two specified control words (CW1, CW2) and are sent to processing module after transfer of data coded by means of the first control word (CW1) and prior to transfer of data coded by means of the second control word (CW2), time shift between transfer into module of processing of data coded by means of the first control word (CW1) and transfer of control message (ECM), containing the first control word (CW1) and the second control word (CW2), makes more than 75% of cryptoperiod.
Device and method for processing of data flow, having sequence of packets and information of synchronisation related to packets Device and method for processing of data flow, having sequence of packets and information of synchronisation related to packets / 2407214
Device (3400) for processing of coded data flow (3401), comprising a decoding module (3402) to generate decoded data flow (3403) from coded data flow (3401), detection module (3404) for detection of information on position of at least one intra-coded frame in coded data flow (3403) and substitution module (3405) for substitution on the basis of detected information on position of coded data flow (3401) parts with according parts of decoded data flow (3403).
Method and device for scheduled switching of reception between multimedia streams in wireless communication system Method and device for scheduled switching of reception between multimedia streams in wireless communication system / 2403683
Invention discloses a method for scheduled switching of reception between multimedia programs. For continued decoding, the wireless communication device continues to receive, decode, decompress and (optionally) visually display the current program even after a new program has been selected until privileged information has been received, which is required for decoding the new program. After receiving privileged information, the wireless communication device decodes the new program, but continues to decompress the current program.
Digital broadcast system and method for target propagation of audio information Digital broadcast system and method for target propagation of audio information / 2251818
User multimedia terminal saves preset identification number of target group of viewers in its memory. Cable signal being transmitted incorporates identification numbers of target groups of viewers apart from video item presented in the form of digital video signal and accompanying primary audio signal. Application program of user multimedia terminal finds out if alternative audio accompaniment signal is present in cable signal and compares preset identification number with those contained in cable signal to determine audio accompaniment signal to be reproduced in given video item.
Signal processing method and device Signal processing method and device / 2253189
Proposed signal processing method involves reception of digital input signal incorporating first component of scrambled signal and second component of scrambled signal; binding of input signal with detachable intelligent card unit for processing first scrambled signal component and generation of first descrambled signal which is internal with respect to intelligent card unit and for processing second scrambled signal component in case of response to first descrambled signal to generate second descrambled signal and to integrate first scrambled signal component of input signal and second descrambled signal so as to produce output signal; reception of output signal from intelligent card unit and processing of second descrambled signal to shape signal adapted for display.
System and method for close to real time scale data collection and indication of actions of large quantity of subscribers relatively to using television System and method for close to real time scale data collection and indication of actions of large quantity of subscribers relatively to using television / 2257014
Television add-on is provided with inner software, allowing to observe interesting events, and allowing other peripheral devices to connect thereto. In particular, add-on has three components, necessary for dispensing its basic functions: hardware, operating system and resident application. Each component provides separate set of application interfaces, which allow the application to query and direct hardware for performing certain functions, determine events observed by operating system, observe events taking place in resident program.
Device and method for encoding and storing digital images and sound signals Device and method for encoding and storing digital images and sound signals / 2257015
Device converts signals to digital video information. Compression device is made in such a way, that it receives digital video data, coming from source data generator, and compresses digital images. Encoding device receives compressed digital video data coming from compression device and encodes compressed digital video data. Recording device stores encoded compressed digital audio data at data carrier.
Broadcasting and receiving messages Broadcasting and receiving messages / 2257685
Method includes broadcasting of message, including text portion intended to reach user, while said message is transferred in form of conditional access message.
Device and method for decoding digital signals of image and sound Device and method for decoding digital signals of image and sound / 2257686
Device for storing information is made with possible receipt of data carrier, decoder is made with possible receipt of compressed encoded signals from data carrier and transmitting signals to decrypter. Decrypter is made with possible decryption of compressed encoded data encrypted data and transmitting these to decompressor. Decompressor is made with possible receipt of compressed encoded signals from decrypter and decompression of compressed encoded signals to reproduce the image.
Device for client receipt of digital tv broadcasting, providing protection of viewer from harmful psychic and physiological influences from tv programs Device for client receipt of digital tv broadcasting, providing protection of viewer from harmful psychic and physiological influences from tv programs / 2261533
Device has scaling block, two delay registers, block for forming pixel blocks, buffer register, block for calculating movement vectors, two subtracters, demultiplexer, enlargement block, pulsation filtering block, mathematical detectors block, multiplexer, reverse scaling block, as a result of interaction of which it is possible to detect and remove some series of TV frames from programs, which cause harmful effect to viewer, specifically pulsations of brightness signals and color signals with frequency 6-13 Hz.
Client device for receipt of signals of digital interactive television, providing precise measurement of viewer rating of tv programs Client device for receipt of signals of digital interactive television, providing precise measurement of viewer rating of tv programs / 2261534
Device has blocks: first interface block, providing receipt of data about switching of programs by subscriber, electronic watch block, first memory block for archiving data about time of viewing of each selected program, second memory block, containing electronic addresses of broadcast companies, block for rearranging data about viewing time, processor, forming packet of data about which TV program and time of its viewing, third interface block, providing output along phone network of data about viewing time of each TV program to server of company, which broadcast current TV program.
System and method for protected data transfer System and method for protected data transfer / 2271616
During distribution in encrypted form of data between distribution center and at least one user module, instead of transferring information necessary for decryption simultaneously with aforementioned data, this information is grouped into file of decryption data which contains also data, determining access conditions for aforementioned audio-video data. This file is stored independently of aforementioned data and can be utilized both in case of immediate and delayed utilization of data.
Method and device for renewing rights in system with several providers Method and device for renewing rights in system with several providers / 2273110
Parameters of decoder operation depend on receipt of EMM messages of at least one preferred operator. Under certain conditions aforementioned decoder should enter waiting mode. In the case when user mainly receives transmissions of operator requiring no confirmation of user rights, decoder receives no further renewing EMM messages. If needed to transfer decoder to waiting mode following operations are performed: switching of decoder to channel of preferred operator, receipt by decoder from subscription control center of EMM messages and their processing, determining of completion of full cycle of receipt of EMM messages and transferring to waiting mode.

FIELD: information technology.

SUBSTANCE: method of data transmission to client computer executing client program includes following steps: a) data transmission to client program, b) transmission of program code containing algorithm from protection server to client program where algorithm result is function of client program status, c) executing the mentioned code by client program and returning result to protection server and facilities connected with protection server, and d) determination by protection server or facilities connected with protection server whether the obtained result indicates absence of client program modification.

EFFECT: better protection against client modification.

29 cl, 5 dwg

 

The technical field to which the invention relates.

The present invention relates to the field of secure distribution of multimedia works that have a certain duration in time, such as movies, television programs, audio files, etc. In particular, the present invention relates to a system for secure delivery of such media to the user, preventing the users to obtain unauthorized copies. Aspects of the invention also have application in other applications, client-server, such as network banking, games, etc.

The level of technology

Illegal copying of artistic works is a perennial problem. In the era of the birth of the film industry, although it was possible to make illegal copies of movies, it was an expensive operation, feasible only for people who have access to special equipment. With the advent of home video recorders for producers emerged, a new market films and other records, and along with this came the opportunity for illegal copying and distribution of these records.

Today the DVD format, providing higher quality playback and more convenient and compact storage media is rapidly replacing videotapes. Additionally, with the advent of e is affordable broadband access to the Internet, there emerged a growing market downloads and streaming of films and other media products from remote servers on home computers.

When loading media products, a copy is saved on your computer's hard drive and can usually be re-visited by the user, similar to watching a video. Streaming content is transmitted in real time or in the record, viewed in the transfer process on the computer (as in a conventional television program) almost in real time (there is a slight delay due to the need to ensure buffering). It is well known that radio and some television stations offer content that way.

While these technological advances have helped to develop promising new market for media companies, has also raised the problem of preventing the production and distribution of unauthorized copies of media. At the present time, the possibility of burning a DVD is in the public domain even for a cheap home computers.

Have been developed to prevent such copying. In the traditional approach, the provider of media products, referred to here as the provider of the content ("content provider"), owns encoded media products such as films which will be the common name "media products" or "media". This media products must be submitted and presented to the client/viewer user so as to allow the user to create a copy of the encoded media products. Delivery may be made or streaming over the network, or by delivery of physical media such as a DVD-ROM to the client.

When products are sent across the network, its protection, as a rule, is provided by cryptographic means, preventing the interception and copying media products by a third party. In the future, this cryptographic protection will be called "encryption". (Encryption, which is the measure of protection, should be distinguished from coding through which convert media product and usually squeeze in a suitable effective to send the form.) Encryption technology is fairly well developed and provide the necessary level of protection during transmission across computer networks.

Before delivery of media products to the customer the owner of the content protects the encoded media product using cryptographic means. In the protected environment of the supplier" use the encryption tool to encrypt the media through "mediaclub"creating encrypted encoded media products, hereafter referred to as "encrypted using advanced industry standard is the media".

The above steps are performed with the intention that the client could use media product only if it has Mediacom that allows you to decrypt media product. It can be implemented in a client/viewer/player and/or media products, such as DVD players and DVD-ROM. (The client program/viewer/player can be a separate device or viewer on your computer.)

Another possibility, is illustrated schematically in figure 1, is to obtain mediaclub with 1 server license on demand. This feature allows you to stream media products. To support this model, the tool 2 encryption packages mediacloud together with additional information in the license 3, and sends the license 3 to the server 1 license. The client then retrieves the encrypted encoded media stream 4 to the streaming server 5, so that the specified thread must be decrypted in the tool 6 preview playback client. In order to view the encrypted film 7, the viewer requests containing mediacloud license from the license server (see "Initial phase" in figure 1).

After the viewer has licensed 3 (and, thus, mediacloud), the viewer connects spotakova server 5, which retrieves the encrypted encoded media stream 4. The viewer uses mediacloud to decrypt the encrypted encoded media stream and provides the media stream to the client (see "Phase stream" in figure 1).

A significant problem in the scenario described above is that the viewer is running in an environment controlled by the client. Thus, the viewer does not run in a trusted environment 8 (which was originally encrypted movie 9). Thus there is a risk that the client may modify the viewer. Even though usually the viewer decrypts and decodes only a part of the media stream, throughout the process of playing each part of the encrypted media stream at some point in time will be present in the memory viewer. Another danger is that the user can retrieve mediacloud, because the memory viewer must contain a key that will allow the user to make a copy of the unencrypted encoded media products.

The problem of modification exists for software only viewers and hardware view, such as specialized DVD players. Although modify hardware viewer harder than software environments is the primary objective in view, it is not impossible. Thus, there is a need for a system that addresses these deficiencies.

Disclosure of inventions

General requirements for any effective mechanism of protection include the following: the protection mechanism should be demanding to crack, so that the cost of hacking at least comparable to the cost of media products. Any successful attack should not be generalized for use in any other place. The protection mechanism should preferably facilitate detection. Various aspects of the invention described herein meets these requirements separately, and a preferred form of execution of the invention propose a system that meets all of these requirements.

In further consideration of media products media products is with the length of time, i.e. media products contains a number of repro steps that must be executed in a specific order. Steps often are computationally independent of each other and can be processed independently. In most cases, a complete reproduction takes considerable time (many minutes or a few hours in the case of the film.

According to the first aspect of the present invention proposes a method of transmitting media products to the client, containing the th following steps:

(a) the encrypted media using a sequence of different keys corresponding to respective distributed in time segments of the media

(b) the secure transmission of the first key with the protected server to the client and sending a corresponding segment from the server to the client

(c) use the client first key for decrypting the corresponding segment,

(d) the reproduction of the decrypted part in the viewers,

(e) repeating steps (b) no (d) in respect of subsequent segments and keys.

The invention can be applied to any kind of media products (as listed above), extended in time, and is especially useful for the distribution of movies, for example, streaming over the Internet.

Using separation media into a sequence of segments is achieved by the impossibility of copying more than a small part, because each key can decrypt only one segment, that is, the keys are functionally independent. Thus, it may be copied only one segment of the film at a time. Moreover, there should be a master key that could unlock other keys, i.e. the keys preferably should be structurally independent. Preferably, for a film of normal length are thousands of different keys, and each of the keys corresponds to a segment of a certain length, for example a few seconds, less than approximately two or three seconds, and most preferably less than one second. Most of the media products has significant value only in the case of completion. For example, the film, which lacks the last few minutes, usually has very little value. Thus, someone intending to illegally copy the movie, will be forced to decrypt each of the segments.

To maintain a continuous stream of decrypted data, in some embodiments, implementation of the present invention, the client can request the current key and the next key (these keys) and cached in memory a small number of keys (for example, 2, 3, 4, and so on).

Usually a protected server to be removed from the viewer and hereinafter referred to as "server protection".

Encryption of a movie usually takes place in a trusted environment. Preferably created during the encryption keys are delivered to the protection server, which is trusted environment provider. However, when the keys are transmitted from the server protection in the viewer, the film or other media product can be transferred from anywhere. For example, film or other media product can be streamed from a separate server outside the trusted environment. Thus, in one of the preferred embodiments after TRG is, as the film was encrypted in a trusted environment, it can be transmitted by unprotected streaming server.

Thus, in this scheme, the client can be running on a remote computer (e.g. a personal computer) the browser communicates with the server security to get the keys (called here medialocate), and with a separate streaming server.

Mediacracy preferably transmitted to the client upon request from a client, and this transfer is preferably performed using the key exchange Protocol that uses a random number generator and known means of viewing the server's public key protection.

In one implementation, if necessary, get the next mediaclub, the client generates random data and encrypts them with the public key of the security server. The encrypted data can then be included in the next request mediaclub, preferably together with the identifiable client data that is sent to a protection server. Upon receiving the request, the protection server checks whether the client is eligible to receive media products, decrypts and extracts the random data and performs the encryption operation using these data and the requested key using the random data. In one and the options can be applied to the exclusive OR operation. The result is sent back to the client. Upon receipt of the client, it can retrieve the requested key from the result by performing the corresponding functions, such as performing an exclusive OR with the same random data, which were provided in the original request key. Thus, the encrypted encoded media stream can be decoded without any secret keys, hidden in the source code viewer.

The public key is preferably included in the checksum calculation to prevent "attacks intermediary" (man in the middle), which is a substitution of the public key.

In a preferred variant of the Protocol steps are taken to ensure that the audited mobile remedy client is the same client that generates random data. This can be accomplished by expanding the input data to checksum in such a way as to include is used to query mediaclub random data. Thus, the input to the checksum can include code from the client, the server's public key protection and random data sent with the request key.

Since the external entropy sources can be monitored and used to generate a random number source of entropy can realised Atisa the runtime, on the basis of how planned and interrupted tasks. Thus, the process of generating random data may consist of creating multiple threads that perform various computational tasks that can be fed to the input of the algorithm is a secure hash (secure hash algorithm) together with the data on the current state of viewers and running mobile remedies.

The need for customer continuous sequence of keys can be used to force the user to cooperate. Thus, if the customer does not meet certain required supplier step, the delivery of the keys may be terminated. As will be described in detail hereinafter, this step may be the integrity of the client, and, preferably, the request for a new key shall be satisfied only after the so-called "mobile agent security" indicates that the viewer has not been modified.

In the case of mobile remedies it is possible to generate random numbers used in the preferred Protocol key exchange described above, instead of the actual client viewer/program playback.

You should take into account that such coercion to cooperation is possible because the provider is receiving controls the media products and because media products has a length in time, so media products can be delivered in smaller chunks, and requires user cooperation for subsequent parts. This contrasts with conventional systems in which the license unlocks the full media product, virtually eliminating the property length in time.

In an alternate embodiment of the present invention trusted environment expanded so that it includes the streaming server. After such expansion, it becomes possible to use the streaming server to generate mediacracy and encryption of the media stream on the fly. It provides encryption of each media stream unique set mediacracy. This means that known mediacloud cannot be used to decrypt another copy of the same movie. To promote mediacracy the streaming server sends the keys to the protection server, which gives to the viewer, as described above. The disadvantage of this approach is that you must trust another component and that the encryption on the fly requires a high computational cost. Thus, there is a compromise between a very high level of security, on the one hand, and the complexity of the trusted computing environment and costs, on the other hand.

The invention is not limited by a scheme in katariinavapola streamed from a remote server. Because the encrypted media product, may be distributed in any convenient manner. Thus, the encrypted media product can be provided to the client from a local server or on physical media (such as DVD). Media product can then be transmitted from the local server or the physical media to the viewer and decoded in the manner described above.

Although this diagram represents a significant improvement compared with the prior art, however, the risk remains of changes in the viewer, so that the encrypted media product (film, etc. can be recorded and copied. Thus, preferably, the invention further comprises means to verify the integrity of the viewers to ensure that the viewer has not been subjected to unauthorized interference. This can be achieved by programming the viewers so that they sent a signal, such as a checksum, to the protection server at regular time intervals and/or when the request key. Such a signal would be formed to depend on the state of the viewer, so that any modification of the viewers would fluctuate signal.

However, the risk remains of overcoming such measures by programming the modified viewers thus, h is usually used to send the "correct" signal regardless of the true state of the viewer. Preferably, the method further requires that the protection server interviewed viewer through a number of different tests that change over time. In a particularly preferred embodiment, the tests include the use of randomly generated algorithms that will return the correct result only in the absence of modification of the viewers. In addition, failure to answer or abnormal delay in response can be taken as an indication of the modification of the viewers.

Thus, preferably the server protection is designed to stop the delivery of the keys if the detected modification of viewers and/or if the integrity check viewers unsuccessful.

The most preferred scheme involves the transfer of algorithms protection server to the client in the form of program code (such as machine code). The code can be called "mobile agent security", which is described next.

Such a system integrity is regarded as an independent concept of the invention and, therefore, the following aspect can be a method of transferring data to the client, containing the following steps:

(a) transmitting data to the client

(b) transmission code containing the algorithm, with the protection server to the client, and resultaatgerichte is a function of the status of the client

(c) executing the code of the client

(d) returning the result to the protection server, and

(e) determining whether the result of the lack of modification of the viewers.

The data may represent the media products that are transmitted stream to the client, for example, via the Internet, or delivered from the local server, DVD or other media, as discussed above. However, as will be discussed below in more detail, it can be any data type that can be passed between server and client. The client may be an executable on a computer program or a hardware device such as a television STB. Mentioned in step (b), the algorithm can be transmitted before the transmission of any part of the media or all media product in whole or in part may be transferred before the algorithm. Preferably, the media product not seen before will not be executed step (e).

Depending on the result of step (e) can be taken the appropriate action. In the case of streaming media products, if there is no modification of the viewers, the transmission of media products and any necessary for decryption keys, usually can be continued. However, it may present an additional step (f) cessation of transmission media products and/or n is required to decrypt the media products of keys in case if the result does not indicate that the client is not modified. Preferably, if the result from mobile protection is not received, it is considered that this also indicates that the modification of the client.

In the case of transmission media products from a local source, such as a local server, DVD, etc. taking action can be the termination of the transfer is required to decrypt the works of keys.

Alternatively, if it is discovered that the client was modified, can be taken other actions. For example, the transmission can be continued and collected materials to identify the user. This may be appropriate in the case of intention to take legal action or to investigate, for example, to detect criminal activity or to prevent illegal copying of media products in the future.

As stated above, undertaken in response to detection of the modification of the client action may constitute an interruption of transmission of the decryption keys. You should take into account that the method can additionally include the separation of media products in many distributed over time segments, which are encrypted using different keys. These keys may be issued to the customer consistently, preferably as described above. Thisway, upon termination of the issuance of keys remaining portion of the media cannot be decrypted.

The method preferably is implemented using a randomly generated secret algorithms in the code (as described above). These so-called algorithms coercion generate the result based on the condition of the client (e.g., viewers), but the correct result cannot be guessed by the user due to the presence of randomness. Preferably, they include the checksum calculation, the input of which is the code of the viewers. Although the algorithm as a whole is secret, the checksum calculation can be well-known algorithm such as Message Digest Algorithm 5 (MD5) (RFC1321, www.fags.org/rfcs/rfc1321.html), which can be used in combination with a randomized modification of the input data.

Modification of the input data is the creation of a modifier randomly, which rearranges the data, which is input data checksum. In one embodiment, when generating the code (referred to here as "mobile defense") is determined by a random sequence. When the algorithm is executed, the input code viewer is divided into n blocks of equal size. Then the blocks are mixed in the above-mentioned random effects is successive, and the result is fed as input to the checksum algorithm. Although in this scheme the checksum algorithm is known, the result is a function of the order in which the n blocks is fed to the input of the algorithm. This order is known to the protection server, and thus the protection server may determine whether the received result on the preservation of the viewer.

An alternative approach create a filter input data checksum is the decomposition of a well-known algorithm checksum and his recovery so that he read the input data in sequence.

Instead of using filtering input data to generate the function checksum from the very beginning. Thus, the input data can be divided into the I-word (32-bit) and created the function f, which reads the first words on the sign and m words from the variable region, which produces words. The function may include a random number of assignments that are executed one after the other, and the checksum may be the sum modulo 232all results of applying f.

The formation of the functions has the advantage that almost all of the code algorithm, a checksum is generated randomly, which leads to greater structural diversity in the code. Because the building blocks are small enough, topazolite to facilitate interleaving with other algorithms.

The code also preferably includes additional algorithms that may be classified or unclassified. They are preferably functionally and/or spatially mixed with a secret algorithm. Thus, the client computer/viewer can be made to perform additional algorithms, because otherwise secret algorithm will fail. Additional algorithms can be used, for example, to verify the integrity of the hardware view.

Because mobile remedy is in the same environment as the viewer, it is potentially vulnerable to attack. The user can try to modify the mobile remedy with the intention to circumvent the implemented remedy remedies. Automated attacks on mobile remedy can be prevented by ensuring that mobile protection was created partly randomly, as described above. Additionally, mobile remedies can be applied transformations obfuscation (intentional obfuscation of code and data). Mobile remedy can hide the checksum in the closed structure of the data, which alternate checksum specific to mobile protection. Variables can is to be located randomly in the memory of the mobile defenses additionally, team mobile remedies can be divided into blocks, also randomly placed in memory. This preferably includes the entry point of the mobile remedies. In fact, the entry point of one of the mobile remedies may be granted to previous remedies.

If you follow these steps it is necessary to attack the person to overcome obfuscation before it can be started any automated attack. This approach inevitably takes considerable time and, provided short "confidence interval" between successive mobile protection approach will not be effective. In other words, because mobile remedies often change for the implementation of the attack is still not enough time. Thus, the process of obfuscation protects mobile protection from unauthorized interference in the interval of time that passes before their replacement by other mobile means of protection.

There is a risk that the observer monitors the memory locations in the computer in which to store the decoded data of the film. When using the known sites of memory data can be copied. Therefore, unwanted predictability detection code by identifying specific sites of memory (based what I location identification), and preferably, if the location was used, it should not be reused. Identifying the pattern, when you can find the code by searching for sequences similar to the MPEG headers, preferably also should be prevented.

Viewer, thereby preferably secure mobile anti determine the condition through observation. To ensure that mobile protection means preferably further include one or more protective algorithms to protect against such attacks. To achieve this, mobile remedies can perform tasks obfuscation in the client (for example, in the viewer), which is referred to herein as "obfuscation run-time on the viewer", that is, the obfuscation is performed on the viewer in the process of their work. Such protection changes the display in memory functioning viewers.

Such obfuscation run-time to viewers is interpreted as a further idea of the invention and according to yet another aspect, the invention is a method of obfuscation running viewers, including randomization display memory running viewers.

Obfuscation timing viewers can in locate one or more of the following methods.

Move the code involves moving blocks of code in memory. As program execution mobile protection move code into other parts of memory, which will continue to run. This algorithm is preferably closely interspersed with checksum calculation.

Preferably, the movement code is implemented through (1) identification of all major structural modules of the program and its division into small segments that can be moved; (2) during the execution of the mobile remedies, these segments can be moved in memory in random positions; (3) modification of all teams transition to meet the new provisions of the code. As a result, the attacker will face memory mapping, changing in the process of complete mobile protection. Because the position of the segments is determined by the mobile protection provided by the protection server, the situation is unpredictable for the attacker, which thus may not rely on the assumption that certain provisions in memory that contain the specified data.

Data movement involves moving data and modifying commands to access them. New layout again can be determined in a random way.

Data hiding addresses the problem of the position and Eden is eficacia pattern. One approach is to use the duplex function to change the appearance of data, in fact, the masking data. Preferably, uses a simple one-time addition. This may be in the newly created function of the modulus, which creates the index in the array of random data. Random data can be used to modify sensitive data by applying XOR to random and vulnerable. Preferably, the exclusive OR operation is applied between these data and the part of your sensitive data.

One approach is to scrambling (disguise) and descrambling data so that sensitive data is stored in scrambled form, descramblers if necessary, and then re-scribblenauts or destroyed. However, this approach leaves a small period of time when the data descramblers.

However, you can use the thread to lay diskriminirovaniya up until the data will not appear in the registers of the processor.

Thus, the content decoder can be modified to perform the last operation of decryption at the time when he will need new data. This means that in main memory will not be present decrypted data. This can be achieved in the ri using the following steps:

a) mobile protection tool modifies the decoder to perform the last step of decryption as needed;

b) comes the following encrypted segment;

c) comes mediacloud for encrypted segment;

d) is generated decrypted stream and placed in random positions in the memory according to the way that has been modified decoder;

e) the decoder then reads the byte or word at a time, and decrypts them as needed.

Diversification code includes the operations performed by the mobile protection on client program at runtime. Operations modify the code so that it consists of other teams without changing the semantics of your code. This prevents the identification pattern. Can be performed one or more of the following steps.

Can be inserted context-independent commands. They are commands, the input context which can be shared with contexts in the program, but the output context which is different from any input context in the program. Because these commands cannot influence any input context of the program, no matter what they handle.

Contextual commands can be replaced with commands that perform the same functions. You should take into account that to achieve this more difficult, but is shown the replacement also more effective because these commands can not be identified by analyzing the data stream.

Functionally independent of changes that can be made include changing the order of the commands, insert commands with temporary variables or without them, reordering commands in memory and changes in progress.

Functionally dependent changes require care to maintain the functions and side effects the same. These changes include the replacement command functional equivalents, the introduction of identical functions, the introduction of operators such that literal values are replaced by commands that initialize the value in an arbitrary manner, and performing the operation of the correction values on the original literal meaning. Can also be typed variables, so that the copy in the destination information are replaced with copies of the newly created variables.

In the embodiment that uses a hardware implementation of the viewers, such as television STB, distributor viewers not only controls the software viewers, but also the environment of the viewer, i.e. hardware and operating system. Therefore, the hardware view can be usually checked mobile means to protect what s much more fully, than pure software solution. In this embodiment, the checksum algorithm in mobile remedies not limited to verification of the software viewers, but can also test various aspects of the operating system and hardware.

Thus, the system can be used in two ways in connection with the hardware view. First, it can be used for replacement solutions based on expensive protected from unauthorized use of the equipment. Secondly, the system can provide additional protection, which begin to operate when protected from unauthorized use of the equipment is compromised.

Next will be seen that the invention preferably relates to the combination of individually encrypted segments of the media and use the concept of "mobile protection". Thus, in another aspect, the invention provides a method of transferring media products to the client, containing the following steps:

(a) the encrypted media using a sequence of different keys corresponding to respective distributed in time segments of the media

(b) the transfer of the program code comprising an algorithm with protection server to the client, and the al is aritma is a function of the status of the client

(c) executing the code of the client and returning the result to the server security

(d) determining whether the result of the lack of modification of the viewers

(e) transmission segment from the server to the viewer,

(f) protected streaming key corresponding to the transmitted segment from a secure remote server to a viewer if the result indicates no modification viewers,

(g) decrypting the segment by key.

It should be understood that, although steps can be performed in the above sequence, at least some of the steps can be performed in a different order, or simultaneously. For example, step (e) may be performed simultaneously with steps (b), (C), (d) or (f), so that the segments are transmitted before, together or after the key. However, the keys must be available to decrypt the segment.

In one variant embodiment, the method comprises an additional step (h), which repeat steps (b) through (g).

However, as a rule, the transmitted code has a certain "time of life" or "confidence interval", for example less than 30 seconds. On the other hand, the segments usually are transmitted more frequently compared with the lifetime of the program code, for example, one segment per second. Essentially, the new code will not need to pass each the first time in the transmission segment, but, as a rule, should be passed only after a time the life of existing software code. Thus, steps (e) through (g), as a rule, are repeated until needed in the new code, when repeated step (b). Thus, a single instance of the software code (cell protection) protects the delivery of many keys.

Although the code execution and determining whether the result of the lack of modifications viewers (steps C and d), can be performed more than once for each piece of code, as a rule, you must perform these steps only once during the lifetime of the program code. Essentially, the steps (C) and (d) will be repeated only after repeating step (b).

In another aspect the invention provides a method of transferring media products to the client, containing the following steps:

(a) the encrypted media using a sequence of different keys corresponding to respective distributed in time segments of the media

(b) the transfer of the program code comprising an algorithm with protection server to the client, and the result of the algorithm is a function of the status of the client

(c) executing the code of the client and returning the result to the server security

(d) determining whether the result of the lack of modification the AI viewers,

and further comprises the following steps:

(e) transmission segment from the server to the viewer,

(f) protected streaming key corresponding to the transmitted segment from a secure remote server in the viewer if the result indicates no modification viewers,

(g) decrypting the segment obtained by mediaclub,

(h) if step (d) indicates a modification of the viewers, stopping further transmission of the keys, otherwise repeating steps (e) through (g).

Preferably, the method further comprises step (i) repeating steps (b) through (d).

It should be understood that although the steps can be performed in the above sequence, at least some of the steps can be performed in a different order, or simultaneously. In fact, some steps may be performed more times than the others.

Steps (b) through (d) can be performed independently of steps (e) through (h), and is preferably performed simultaneously with them. As mentioned earlier, the code usually is the time of life, covering a parcel of many segments and keys. In this regard, the repetition of steps (b) through (d)referred to in step (i)will, as a rule, be performed less frequently than the repetition of steps (e) through (g)referred to in step (h). Preferably, the AG (i) is performed only if the expiration time code. The invention also concerns a device which has a capability of functioning described above, and comprising a client configured to receipt of the media stream, and the server both in combination and separately. Thus, in another aspect the invention provides a system for delivery of media products to the client that contains:

(a) means for transmission of media products to the customer,

(b) means for transmitting the program code comprising an algorithm with protection server to the client, the result of the algorithm is a function of the status of the client

(c) related to the protection server means receiving the results and determine whether the result obtained in the absence of modifications viewers.

Another aspect of the invention offers the customer, such as a viewer for playing media products, such as film, while the client is configured to obtain media products and receive program code comprising an algorithm from a remote source; the execution of the algorithm by the client; and return the result of the algorithm on a remote source, thereby demonstrating the integrity of the client a distant source and allowing the playback of media.

The client preferably makes it possible to play media through its decryption or potenzirovania segment of the media using the key, sent to a client from a remote source. Preferably, the client is configured to request a sequence of keys and use the keys sequentially to decrypt subsequent sections of the media, which are then reproduced in a continuous manner. Preferably, as discussed above, the provision of keys depends on the demonstration of the client's integrity source.

The invention also extends to a combination of systems for the delivery of media products as described above and the client, in which the media is delivered to the client and can be reproduced only if the viewer will demonstrate the integrity of the source.

It will be seen that unlike software solutions of the prior art, the present invention does not rely on information contained in the available user data, secret information in the program code or in media products. This allows early detection of attempts to copy and allows the content provider to take countermeasures before it can be copied a substantial part of the media.

It was also found that the concept of integrity checking system using mobile remedies have other uses besides transferring media to the client. It can use the result in General for integrity and authentication are performed in an uncontrolled environment code, which performs calculations on the input data. It can be used to prevent hidden changes the way data is processed by a third party. Thus, the discussion above regarding viewers of media products can be applied to any client program. Applications include games, banking, audio, etc.

Thus, in another aspect the invention provides a transmission code (such as a mobile means of protection) from a protected source on a client computer running the client software, and the software code includes an algorithm, the result of which is a function of the state of the client program; code execution and return of the source, whereby the source can determine the integrity of the client program. The invention also extends to a device which has a capability of functioning in accordance with this method.

In this aspect of the invention may use any or all of the issues discussed above preferred features, in particular regarding mobile remedies. The above references to media products similarly applied to useful information, the length of time that is sent between the server and the client. Thus, the service provider may compel the cooperation of the client user in the same manner and may refuse further useful data, if there is cooperation or found tampering.

Thus, it should be understood that it is possible to check the integrity of any client that communicates with the server on a regular basis. The invention thus allows to trust the client, which operates in an uncontrolled environment. If it is determined that the integrity of the client is compromised, can be taken. For example, can be interrupted communication with the client, suspended filing of decryption keys (as in the case discussed above to transfer the media stream) and/or the steps taken to collect the materials (for example, in the case of suspected fraudulent attacks on the banking system).

The invention is useful in the context of distributed computing, where, although confidentiality and dishonesty are usually not a problem, is the problem of the proper implementation of the programmes. Thus, mobile protection tool can be used to protect against intentional or unintentional modification of the client as its software and, if required, hardware. Thus, running the distributed computing task object may use mobile protection to verify the correct functioning clients on the imp the sequence of remote computing nodes.

In the context of online gaming modification of the client program may allow cheating, which in the absence of control can cause customer dissatisfaction and can lead to loss of income. Used data are not confidential and their record doesn't make much sense (compared to media products), therefore, it is usually enough to check the integrity of the client software. In the case of the operation of a game schema-based client-server mobile security can be applied, as described above. If the user does not allow cooperation with mobile remedy, he may be permitted to update the global game state.

In the case of domestic banking mobile security can be used to ensure that third parties do not have access to confidential data. While the average user is usually not interested in the modification of the client program, he may be a victim of the "attack of the mediator". Bank server can use mobile protection tool to verify the integrity and authenticity of home banking client, and may also contain the public key of the Bank's server. This public key is used to encrypt all transmitted with domashnego Bank customer Bank data server, and because the integrity of the mobile protections guaranteed, the user can be assured of the confidentiality of their data.

The invention applies to devices made with the possibility of using the above-described methods, and software products, which contain instructions for the computer in this way. The invention also extends to a combination of client-server and/or network, where data is delivered to the client in accordance with the discussion above aspects of the invention.

Brief description of drawings

Further by means of examples describe certain embodiments of the invention with reference to the accompanying drawings.

Figure 1 is a schematic illustration of a transmission system of the media stream prior art described above;

Figure 2 is a schematic illustration of a first variant implementation of the present invention;

Figure 3 is a schematic diagram showing used in the embodiment, a randomly-generated checksum algorithm;

Figure 4 is a block diagram showing the operation of a variant embodiment of the invention;

Figure 5 is a block diagram used in the embodiment of the invention the algorithm server is.

The implementation of the invention

As you can see in figure 2, the client has the tool 10 view, which can be used to view media products (such as movies)that are streamed from the streaming server 11 or alternative to local storage media products such as CD-ROM 12. Each of these system components is outside the trusted environment 13. Within a trusting environment is unencrypted film 14 used to generate the protected film 16 tool 15 protection, and the server 17 protection.

Like in the prior art, depicted in figure 1, the owner of the content protects the encoded media product before its delivery to the client. However, instead of using only mediaclub, the tool 15 protection encrypts the film a very large number (thousands) mediacracy 20. The resulting encrypted encoded film 16. Mediacracy 20 are distributed in such a way that they are distributed over time; during playback of the media keys securely streamed to the client on one key at a time intervals, upon request, as will be described in detail below. The media product is passed separately. Each key contains only a few bytes (about sixteen), so is necessary for the transmission key is her stream of resources create a low additional load.

Each key can decrypt only the order of seconds or at most a few seconds of the film, so that only one key is of little value.

In the first embodiment of the invention protected by the film is delivered to the client in the form of a data flow path And through the streaming server 11 and the media stream 18. In further embodiments, the implementation uses physical media such as CD-ROM or DVD-ROM 12.

The tool 10 scan is performed in the client computer system and configured to obtain a secure film 16 with the streaming server 11 through the media stream 18 (or from a CD/DVD in other embodiments). During playback, the tool 10 view communicates with the server 17 protection for the load required to decrypt the protected film 16 mediacracy 20.

Additionally, the tool 10 also view loads the code snippets, called mobile means 19 protection (MRZ), at regular intervals of about 30 seconds. Each of the mobile remedies contains an embedded secret information in the form of an algorithm created in the server 17 protection. The implementation of these algorithms is necessary for use of the transferred data stream 18. When each mobile tool 19 protection is passed to the viewer, it performs calculations, determine Jaimie secret algorithm, and returns the result to the protection server. Mobile remedy is structured in such a way that the calculation result is true only in the absence of unauthorized interference in the viewer. The result of secret algorithm contains a checksum, proving the server protect the integrity of the viewer.

Mobile remedy may also contain other additional algorithms that are functionally and spatially mixed with a secret algorithm. Thus, the client/viewer may be forced to perform additional algorithms, because otherwise secret algorithm will not be realized. Thus, the viewer can be fully tested.

If the returned mobile remedy to the server 17 protection result does not match with the expected result, the protection server stops the supply mediacracy 20 in the viewer. The same thing happens if the tool 10 viewing refuses mobile remedies, or if the correct result is not received within a certain time. Protocol key exchange will be explained in detail next.

Secret algorithms are based on computing the checksum, having a high probability of detecting changes in the scanned data (that eats whom in the code viewer). As can be seen in figure 3, the randomly generated algorithm 21 checksum (for use in mobile protection tool) uses the checksum calculation, divided into two steps: modified 22 input data is carried out randomly, and known calculation 23 checksum performed on the modified input data. These steps together form a randomized secret checksum algorithm.

Modification of the input data is the creation of random modifier, which rearranges the input data for the calculation of 23 checksum. When generation mobile protection server protection is determined by the random sequence. When the viewer algorithm 21 checksum, the input code viewer is divided into n blocks of the same size. Next, the blocks are shuffled in a specified random sequence in step 22 of the modification of the input data. The result is passed to step 23 checksum. The checksum calculation uses the well-known MD5 algorithm. Then you calculate the checksum, and the result is returned to the protection server.

It should be understood that although the checksum algorithm is known, the result of the algorithm is a function of the order in to the or blocks are sent to the input of the algorithm. This order is known to the protection server, and thus the protection server may determine whether the returned result on intact viewer.

Mobile remedy need to be protected from unauthorized interference from tracking its internal functioning. The first aspect of the protection mobile protection is to create a random new versions every time the need arises verification viewer. Secondly, the lifetime of mobile protection in the environment of the viewer briefly (less than 30 seconds). Although human (i.e. intellectual, unlike automated) attacks on mobile remedy is theoretically possible that such an attack will take considerable time. Due to the fact that each mobile agent protection has calculated in seconds expire, attacks involving human subjects become virtually impossible, because mobile protection tool becomes obsolete long before the end of any such attacks.

Mobile remedy is hidden, as discussed earlier, for protection against automated attacks.

Mobile remedy endomysium memory mapping functioning of the viewer, which is hereinafter referred to as "obfuscation run-time on the viewer. The area code, and e is the R viewer rearranged and stack scramblies. This process is described in detail below.

The result of obfuscation run-time on the viewer is the ability to run solely intellectual attacks on the display in the memory viewer, because it randomizers and thereby hidden provisions in memory decrypted decoded stream.

For randomization of the positions, where the memory access mobile protection tool modifies the structure of the code viewer and the data area. Code and data area is divided into logical segments. Carefully traced to the boundaries of the segments were not inside the engine codes.

Once downloaded mobile remedy gets control and before decryption of the stream, mobile protection tool moves the segments in the new provisions. This process involves the modification of the code segments is similar to the relocation, ongoing dynamic linkers (linkers) to ensure that

1) the transition team and branching (conditional move) delegate the management of a displaced position;

2) command read / write access data in moved positions.

After moving the mobile segments remedy works until its replacement with the following mobile environments is the your protection.

Mobile remedy need to know the entry points of certain functions in the viewer. New positions of segments known to the server protection and feature mobile security feature. Thus, there is no need to transfer information between two mobile protection on the client side.

As for the scrambling of the stack, the stack contains the return address of the previous function calls. This information can be used to monitor progress or changes progress viewer by changing the return address on the stack. When a similar attack when the program execution should go back to the calling function, the program may instead transfer the management of potentially hostile code.

For stack protection from such attacks use the method consistently scramblase stack as you add in new stack of return addresses. After calling the function check code transfers control scramblase functions in mobile protection tool, which scramblase new return address on the stack before returning control back to the calling function. For diskriminirovaniya stack before using the return address is called the corresponding descrambling function in mobile protection tool.

Implementation of RCDs is mamiraua function uses the advantage of mobile remedies are created as needed to verify viewer. This allows you to create unique scramblers and descramblers function in each mobile remedy. Scramblers function basically consists of a set of random data generated by the protection server and is contained in the mobile protection tool that is exclusive OR together with return addresses in the stack. To select what part of random data to use, there is a simple mathematical function to calculate the index set of random data.

The viewer is thereby protected mobility vehicle tracking protection (as discussed earlier) for its state (including the position in the progress and contents of variables).

Mediacracy transmitted to a viewer at a rate of approximately one key per second. The transfer is performed by the key exchange Protocol using random data and the known viewer server's public key protection. When you get the next mediacloud, the tool 10 view generates sixteen bytes of random data and encrypts them with the public key server 17 protection. The encrypted data is then included in the sent to the server security key request.

The protection server checks the query and approve it only if, if the mobile remedy indicates that the viewer; it's all right. If the mobile remedy confirms that everything is in order, the protection server retrieves random data, applies the exclusive OR of the random data and the requested key and sends the result back to the viewer.

Upon receipt of the viewer, the viewer retrieves the requested key from the result by applying the XOR result and the same random data, which were sent in the original request key.

The Protocol provides a method for decrypting the encrypted encoded media stream without any hidden in the source code viewer secret keys. The key lifetime is just a few seconds, which prevents the occurrence in protected streaming process is a single point of vulnerability to retrieve one or more secret keys.

It should be understood that client are actually two separate threads, as indicated by the flowchart in figure 4.

The first thread is a verification. The mobile client receives the remedy, which then verifies the client program. After confirmation of verification, the key number n can be obtained during the subsequent interval Dov is the right time to end functioning mobile protection. Then the process should be repeated with a new mobile remedy.

In parallel with the specified stream is the stream playback. For each key is received, decrypted and reproduced segment of the media stream.

The server's operation is illustrated in figure 5. Upon receipt of the key request, the server sends the key to the client if and only if mobile is the remedy still valid (i.e. if it is still within the confidence interval of this mobile protection). If the mobile protection tool has finished running, the client is sent a new mobile protection tool that is used to verify the client. If the result is incorrect, the client is exposed to an unauthorized interference and key stops. When a satisfactory result begins a new confidence interval, during which the keys are sent to the client.

1. A method of transferring data to the client computer executing the client program contains the following steps:
a) transmitting data to the client program,
b) transfer the software code containing the algorithm from server to client protection program, and the result of the algorithm is a function of the state of the client program,
c) execute the specified code, the client program and at the gates of the server protection or means, related to the protection server, and
d) determining by the server protection or tools associated with the protection server, specifies whether the result obtained in the absence of modification of the client program.

2. The method according to claim 1, characterized in that the data represent the media products.

3. The method according to claim 2, characterized in that the data represent one of the set of distributed time segments of media products, with each segment is encrypted using the encryption key before it is transmitted to the client program.

4. The method according to claim 3, characterized in that only in the case if in step (d) the result indicates no modification of the client program, the method further comprises the step of transmitting a client program decryption key corresponding to the transmitted segment.

5. The method according to 4, characterized in that it further comprises step (e) cessation of transmission of data and/or keys required to decrypt the data, if the received result indicates no modification of the client program.

6. The method according to claim 1 or 2, characterized in that the code includes the checksum calculation, the input of which is the code of the client program and/or the display in the memory of the client program.

7. The method according to claim 6, characterized those who, what in the input data to calculate the checksum enabled random number.

8. The method according to claim 7, characterized in that the client program or passed the code generates a random number to calculate the checksum, the client program encrypts the random number by the public key of the server protection, encrypted random number is passed to the server together with the request key and the computed checksum; protection server decrypts the random number and uses it to encrypt the key contained in the server protection; protection server performs its own calculation of the checksum using the specified random number; and a protection server then compares the checksum value received from the client program, and own the calculated checksum value.

9. The method of claim 8, wherein the encrypted key is passed to the client program to decrypt it key only in the case of coincidence of these two values being compared checksum.

10. The method according to claim 9, characterized in that in case of discrepancy between these two values being compared checksum in the protection server determines that the client program has undergone unauthorized intervention.

11. The method according to claim 1 or 2, characterized in that the criminal code of the above code performs the task or tasks obfuscation regarding client program.

12. The method according to claim 11, characterized in that task or tasks obfuscation include randomization in-memory map of a running client programs.

13. The method according to claim 11, characterized in that task obfuscation include one or more of the following tasks: move code, diversification code, data movement and data hiding.

14. The method according to claim 1 or 2, characterized in that transferred from server protection client software code subject to obfuscation.

15. The method according to claim 1 or 2, characterized in that it further comprises a step of encryption of data using a sequence of different keys corresponding to respective distributed in time segments of data, which is performed before data transmission, and the step of transmitting data to a client application includes the transfer of one of the distributed time segments, in this case, if in step (d) the result indicates no modification of the client program, the method further comprises the following steps:
e) protected streaming key corresponding to the transmitted segment from a secure remote server, the client program; and
f) decrypting the segment by the specified key.

16. The method according to item 15, characterized in that it contains repeating steps (b) through (f).

17. The method according to item 15 or 16, from which causesa fact, each contains the algorithm code has a corresponding confidence interval, and the set of keys is streamed to the client program within the specified confidence interval.

18. The method according to any one of claims 1 to 4, characterized in that steps (b) through (d) again, in this case the algorithm change.

19. The method according to any one of claims 1 to 4, characterized in that the algorithm form randomly.

20. The method according to claim 1, wherein the client program is used in one of the following areas: banking services through the Internet, online games and distributed computing.

21. A method of transferring media products on a client computer that is running the client program contains the following steps:
(a) encryption media products using a sequence of different keys corresponding to respective distributed in time segments of media products,
(b) the transfer of the program code comprising an algorithm from server to client protection program, and the result of the algorithm is a function of the state of the client program,
(c) executing the specified code to the client program and returning the result to the server protection or resources associated with the server security
(d) determining protection server or tools associated with the protection server, specifies whether the result of the lack of m is the modification of the client program, and
additionally contains the following steps:
(e) passing the first segment from the server to the client program,
(f) protected streaming the first key corresponding to the transmitted segment from a secure remote server client program,
(g) decrypting the first segment received through the first key,
(h) if step (d) indicates a modification of the client program, the cessation of the transmission of the subsequent keys, otherwise repeating steps (e) through (g) in respect of subsequent segments and keys.

22. The method according to item 21, characterized in that it further comprises the step (i) repeating steps (b) through (d).

23. The method of checking the integrity of a client program containing the following steps: transmission of software code from a protected source on a client computer that is running the client program, this code contains the algorithm that depend on the state of the client program; the execution of the program code and return the result in the specified source, whereby the source can determine the integrity of the client program.

24. The method according to item 23, wherein the client program is used in one of the following areas: banking services through the Internet, online games and distributed computing.

25. Device for transmission of data is x on the client computer, executing a client application configured to implement the method described in any one of claims 1 to 20.

26. Device for checking the integrity of a client program configured to implement the method described in item 23 or 24.

27. Device for the transmission of media products on a client computer executing a client program that contains:
(a) means for transmission of ensuring the client program,
(b) means for transmitting software code containing the algorithm from server to client protection program, and the result of the algorithm is a function of the state of the client program, and
(c) means contained in the protection server, or funds related to the protection server, to receive the result, and determine whether the result obtained in the absence of modification of the client program.

28. The method of receiving data, implemented by a client computer executing the client program contains the following steps:
(a) receiving data,
(b) receiving a program code containing an algorithm from a remote source, and the result of the algorithm is a function of the state of the client program,
(c) executing the algorithm and return the result to the remote source, thus the result indicates the presence or absence of modifications the AI client programs.

29. A method of transferring data to the client computer executing the client program contains the following steps:
(a) data transfer client program,
(b) transmission code containing the algorithm from server to client protection program, and the result of the algorithm is a function of the state of the client program,
(c) receiving protection server or tools associated with the protection server, the result of the execution of the specified code of the client program, and
(d) determining protection server or tools associated with the protection server, specifies whether the result obtained in the absence of modification of the client program.

 

© 2013-2014 Russian business network RussianPatents.com - Special Russian commercial information project for world wide. Foreign filing in English.