MXPA06000204A - Dual virtual machine and trusted platform module architecture for next generation media players - Google Patents
Dual virtual machine and trusted platform module architecture for next generation media playersInfo
- Publication number
- MXPA06000204A MXPA06000204A MXPA/A/2006/000204A MXPA06000204A MXPA06000204A MX PA06000204 A MXPA06000204 A MX PA06000204A MX PA06000204 A MXPA06000204 A MX PA06000204A MX PA06000204 A MXPA06000204 A MX PA06000204A
- Authority
- MX
- Mexico
- Prior art keywords
- virtual machine
- level
- further characterized
- computing environment
- providing
- Prior art date
Links
- 230000009977 dual effect Effects 0.000 title claims description 18
- 230000006870 function Effects 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 39
- 238000004891 communication Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 5
- 230000003287 optical effect Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000001850 reproductive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Abstract
A software computing based environment (10) for providing secured authentication of media (12) downloaded from a network or loaded from a media player includes two peer-mode operating virtual machines (22, 24). The low-level virtual machine (22) provides decoding and decryption functions whereas the high-level virtual machine (24) provides application levelfunctions such as user interface, input/output.
Description
DUAL VIRTUAL MACHINE AND MODULE D ARCHITECTURE? RELIABLE PLATFORM FOR MEDIA PLAYERS
NEXT GENERATION
FIELD OF THE INVENTION The description is related to the development of new security systems and methods, which include protection against copying for media players or removable media.
BACKGROUND OF THE INVENTION A virtual machine (VM) is a term used to describe software that acts as an interface between the compiler code and the microprocessor, (or "hardware platform") that simultaneously executes the program instructions. A compiler is a special program that processes written statements in a particular programming language and converts them into binary machine or "code" language used by computer processors. "Sun Microsystems", developer of the programming language and run-time environment "Java", is well known for its development of the "Java" Virtual Machine. A "Java" virtual machine interprets a compiled Java binary code (called byte code) for a computer processor (or "hardware platform") in such a way that it can interpret "Java" program instructions. Java was designed to allow the construction of application programs that can run on any platform without having to be rewritten or recompiled by the programmer for each platform separately. Once a Java virtual machine has been provided for a platform, any Java program can run on this platform. A Java virtual machine makes this possible because it is aware of the specific instructions of lengths and other features of the platform. A virtual machine is an abstract computing machine. Similar to a real computing machine, it has a set of instructions and manipulates several memory areas in a run time. It is common to reasonably implement a programming language that uses a virtual machine; the best-known virtual machine can be Pascal's UCSD-P machine code. A virtual machine can otherwise describe more generally and jointly an operating system or any program running on a computer. There has been a great need to develop improved methods of copy protection in next-generation media players, such as a DVD or CD player. A known content security system used for the DVD's Scramble Content System (CSS) since that way the data is encrypted on a DVD. The DVD player then decrypts the data as if it were reading the disc using a bit decryption key 40. However, a fatal CSS defect is to prove that its keys and algorithms are static. The encryption algorithm was reverse engineered, and every possible decryption key that could be reproduced and that exists on DVD discs becomes available. Once the secret escaped, the system was forever compromised although there was no way to renew the security algorithms or keys. Now there are many programs available to consumers which remove all the security of the contents of the DVD with a single "click". Content owners do not want this to happen again, especially when content fidelity increases. The next content security system should not be vulnerable in this way. Software vendors have also faced competition from piracy, but given the nature of computers, they have to take different paths that are used in the entertainment industry for DVDs. Historically, manufacturers of packaged software programs (ie, computer games) have protected their content with "procedural security." That is, there is no predefined static method to secure the programs, instead each software producer writes or procures a "security code" to secure its content. This code of security procedure varies in complexity and technique on a program through the base program, but more importantly, although each program has a different security software implementation, this is not possible to write a general-purpose "removal of security" program, such as those written to eliminate DVD security. Another known method of copy protection is written in specific hardware instructions. The problem with such a method is that it is extremely limiting. With this method, a different set of instructions must be reproduced for each hardware configuration. This is impractical. From the foregoing, a method is needed that provides copy protection for hardware such as that of media players, that is, a non-specific hardware is desired.
BRIEF DESCRIPTION OF THE INVENTION A system and method with independent platform procedure of protection against copy of media players is provided. The present disclosure proposes a solution such that a dual virtual machine architecture is provided for next generation media players. The present disclosure also proposes to use a hardware base with embedded security subsystems such as a Trusted Platform Module (TPM) as an interface with certain aspects of the virtual machine architecture. The dual virtual machine architecture according to the present description consists of a high-level virtual machine and a low-level virtual machine. The low-level virtual machine is designed to support decryption of low-level media and decoding functions, although the high-level virtual machine is designed to handle application activities in layers. Therefore the security software architecture in application software partitions. In general, a virtual machine that is the best placed for security procedures that more closely resembles the instruction set of a current CPU or hardware. That is, it supports pointers, and does not enhance the distinction made between executable code and data. This first type of virtual machine is called a "low-level VM", or "security-VM". The low-level virtual machine is designed to resemble a conventional CPU that supports software techniques that are resistant to modification. The similarity to the lower side of a virtual machine is that program errors or unexpected run-time conditions tend to be fatal. For a security system, it can be considered a strength, but for applications (which are much more complicated, and typically have less intensive test coverage) this is a weakness. For applications, a "high-level VM" that handles more of the "behind the scenes" computational details allows more dependent application programs to be developed that behave in a more robust and predictable manner. A typical example of a "high-level" virtual machine is Java. However, Java does not have support for the concepts of "pointer" or explicit memory handling (which are common sources of programming errors), but it does support "handling exceptions" which help programs and programmers to handle Unexpected run time in a predictable way. The high-level, or virtual level machine application is designed to be fully characterized, and is provided for a rich interface application.
From the above, it is ideal to combine the benefits of both low-level VM and high-level VM machines in order to provide a platform with independent security functions that work in combination with other applications. In addition, a reliable platform module that provides true root-based hardware for the security requirement and validation of the execution environment. In an exemplified embodiment, the present disclosure is used for the purpose of renewable security and copy protection in DVD and CD players. However, such an architecture also supports the reproduction of media stored on a hard disk, solid state memory or those which are sent by means of a communication network. As mentioned above, the low-level virtual machine is designed to support low-level decryption media and decoding functions. In applications of next generation media (NGM), this low-level virtual machine could also be responsible for the achievements of the high-level VM. The high-level VM handles applications in activity layers, such as advanced user interfaces, mise. 10, and communication network activities. The dual VM architecture of the present disclosure is novel. The dual VM architecture provides a "similar" relationship not similar to the conventional "VM stacked" relationship. An example of a stacked relationship of a VM run of one over another, could be a powerful PC (like a Mac) running a Windows® emulator (X86 or VM emulator), which in turn runs Java VM.
Although, the combination of such dual VM architecture with a hardware based on a reliable computing module is novel. The present disclosure extends to the use of security procedures for media such as DVD's and CD's. Consequently, the security procedure also allows the content itself to be much more flexible in the handling of rights than the declarative systems. This flexibility can be implemented for the total escape of Digital Rights Management (DRM) systems, as opposed to a simple copy protection (CP) provided by the static security systems of the prior art such as CSS. The foregoing and other objects, features, and advantages of the present disclosure will become apparent from reading the following detailed description of the embodiments exemplified therein, which illustrate the features and advantages of the description.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a diagram of the architecture of a media player in a computing environment according to a mode that is exemplified. Figure 2 is a block diagram that describes the interaction and functionalities of low-level virtual management and high-level virtual management according to a modality that is exemplified. It will be appreciated that for simplicity and clarity of illustration, elements are shown in the figures that have not necessarily been drawn to scale. For example, the dimensions of some of the elements are exaggerated in relation to another for clarity. Although, it was considered appropriate, the reference numbers have been repeated between the figures to indicate corresponding elements.
DETAILED DESCRIPTION OF THE INVENTION The detailed description is described here, however, it will be understood that the described modalities are mere examples of the invention, which can be modified in various ways. Accordingly, the specific structure and functional details described therein are not construed as limiting, but are the basis for the claims and as a representative basis for the teachings of one skilled in the art for various applications of the present disclosure in any structure in an appropriate and virtual way. The references will be made in detail to the description which are illustrated in the accompanying drawings (Figures 1-2). The system and method of the present disclosure provides a dual virtual machine architecture for use in media players. A VM is designed to support security functions such as decryption and decoding of media. In next-generation media applications, the low-level VM may be responsible for achieving the application at the VM level. The high-level or application level VM handles application activities in layers, such as advanced user interfaces, mise. 10, and communication network activities. Figures 1 and 2 represent a media player architecture in a computing environment (10) according to a mode that is exemplified. Specifically, a media source is shown in them
(ie, a DVD, an optical disk, a solid-state device, or a communication network) that includes the medium or content data (18), security codes
(12) to allow the medium to be reproduced in the reproductive medium, and transition codes (16). The media player device according to the present disclosure containing a central processing unit (26) that is capable of running at least one virtual machine (VM). The virtual machine, in a mode that is exemplified, is a dual virtual machine architecture, comprising a low-level VM (22) (ie, a? / M) and a high-level VM (24) run. ) on the CPU (26) (ie, a VM application). Programs that run in the VM can execute and apply the rules of use as well as update the cryptographic algorithms. The computing environment (10) may also include Application Program Interfaces (APIs) (40-44) which are a set of routines or protocols to allow communication of several programs with one another. In one aspect, none of the VMs (22 or 24) can control the other VM. In another aspect, the high-level and low-level virtual machines function as similar, in a non-hierarchical way, that pass messages among themselves. These messages can be implemented as "external function calls", where one virtual machine calls a routine in the other virtual machine, or as a conventional message that passes along a communication channel.
For example, the application VM (24) (or high-level VM) could call the security VM (22) (or low-level VM) in order to start the reproduction (and then decode in a transparent way) the content of the medium (18) Probably, the VM security code (22) could call the VM application (24) to let you know about synchronization events or decoding problems (for example, security or permission problems). For example, in the situation where the medium has been copied from its original optical medium, VM security
(22) could inform the VM application (24) that it needs a key in order to continue the deployment. In response, the VM application (24) could display a message, via the application level functions (25), that notify the user that he can "rent" this movie for a certain duration through the user interface (27) . If the user selects this, the user must participate in a transaction with a study server to obtain an "opaque message" (which only understands the VM) that contains the key. The VM application (24) then passes back the message containing the key to the VM security (22) and the copy protection algorithms (23) for the authentication. The media playback device further contains a processing module (32) (i.e., a reliable processing module TPM). The TPM specification is part of the Alliance of Trusted Computing Platforms (TCPA) created by the Trusted Computing Group (TCG) (http: // www. Trustedcomputinggroup.org). The TPM (32) contains the keys of decryption and management of cryptographic security computations. The media playback device also contains API's (40), (42) that allow any program to run in the Virtual Machine for the requirement of hardware I / O devices and TPM. This allows a program to run in the VM to make smart selections for usage rules. A decoding module (34) is further provided with an annex to the CPU (26), for unpacking the encoded audio / video streams. In general, a Trusted Platform enables an entity to determine the status of the software or computing environment (10) on that platform and to seal the data to a particular software environment on that platform. The entity deducts if the state of the computing environment is acceptable and executes some transaction with the platform. If the transaction involves sensitive data that can be stored on the platform, the entity can ensure that the data is maintained in a confidential format unless the state of the computing environment on that platform is acceptable to the entity. To enable this, a Trusted Platform provides information to enable the entity to deduce the software environment in a Trusted Platform. This information is measured in a real way and reported to the entity. At the same time, an authenticated platform provides a means to encrypt cryptographic keys and establish the software environment that must be in place before the keys can be decrypted.
A "reliable measure root" measures certain platform characteristics, records the measurement data in a measurement memory, and stores the final result in a TPM (which contains the authentication root to store and report the integrity metric). From the above, the TPM is a security memory location for all decryption keys. The TPM also handles more cryptographic computations and functions. The media playback device also has security, protected output inputs (28), the ability to communicate with other players (30), memory devices (i.e., RAM (36) and ROM (38)). Then, according to the modality that is exemplified, the separate virtual machines (VMs) run in the same computing environment that includes a CPU. The present partition architecture of two virtual selectors (example, the high-level or VM application and the low-level or VM security), where the application and virtual security select and communicate through standardized APIs. The functionality of the virtual application directs and even provides communication network services to the security code that is being executed in the security virtual administrator, although access to media and decoding functions are regulated by VM security in such a way that The security content is transparent for the applications of the authors. With respect to computational complexity, VM security has low impact on system sources, it is a simple and appropriate, lightweight, low-level, and secure software for these VMs that can be provided by security vendors. The VM application has a relatively larger CPU and impacts memory and is responsible for the user interface and the input and output functions. The present invention is not limited in the use of media players such as conventional CDs and DVD players, but can be expanded to run on a PC, or more generalized hardware systems which include functionality to play removable media. The above description of the preferred embodiments of the description have been presented for the purpose of illustration and description. Other objects, features, and advantages of the present disclosure will be apparent from reading the following appendix. It is not intended to be exhaustive or limiting of the description to a precisely described form. Many modifications and variations are possible in light of the teachings described above.
Claims (18)
1. - A dual virtual machine architecture that resides in a computing environment, the architecture comprises: a low-level virtual machine to execute at least one decoding function to a medium that provides security; and a high-level virtual machine to execute applications of level functions; where the low-level virtual machine has a similarity relationship with the high-level virtual machine.
2. - The dual virtual machine architecture according to claim 1, further characterized in that the high-level virtual machine includes an application program for interfacing with a user.
3. - The dual virtual machine architecture according to claim 1, further characterized in that the application of the level functions includes at least one to provide an interface to a user or communication with a communication network having the means.
4. - The dual virtual machine architecture according to claim 1, further characterized in that the security code of the medium is sent by the high-level virtual administrator to the low-level virtual administrator by decryption.
5. - The dual virtual machine architecture according to claim 4, further characterized in that the medium is available from at least one DVD, an optical disk, a communication network, or a solid-state device.
6. - The dual virtual machine architecture according to claim 1, further characterized in that it includes a process module that includes at least one decryption key.
7. - The dual virtual machine architecture according to claim 6, further characterized in that the processing module executes secure cryptographic computations.
8. - The dual virtual machine architecture according to claim 6, further characterized in that the process module is used to monitor the computing environment.
9. - The dual virtual machine architecture according to claim 1, characterized in that the communication environment includes a central processing unit (CPU).
10. - A method for providing a copy protection method for media players independent of a computing environment, the method comprises the steps of: providing a low-level virtual machine to perform security functions, providing a high-virtual machine level to execute user interface and application level functions; where the low-level virtual machine has a similarity relationship with the high-level virtual machine.
11. - A method for providing a copy protection method for media players independent of a computing environment according to claim 10, further characterized in that it includes an application program with the high-level virtual machine to interface with the user .
12. - A method for providing a copy protection method for media players independent of a computing environment according to claim 10, further characterized in that the application of the level functions includes at least one to provide an interface to a user or communication with a communication network that has the medium.
13. - A method for providing a copy protection method for media players independent of a computing environment according to claim 10, further characterized by including the sending of a security code, available from the medium, by means of the virtual administrator from high-level to low-level virtual administrator by decryption.
14. - A method for providing a copy protection method for media players independent of a computing environment according to claim 13, further characterized in that the medium is available from at least one DVD, an optical disk, a communication network, or a solid-state device.
15. - A method for providing a copy protection method for media players independent of a computing environment according to claim 10, further characterized in that it includes a process module that provides at least one decryption key.
16. - A method for providing a copy protection method for media players independent of a computing environment according to claim 15, further characterized in that the processing module executes secure cryptographic computations.
17. - A method for providing a copy protection method for media players independent of a computing environment according to claim 15, further characterized in that it includes the monitoring of the computing environment by means of the process module.
18. - A method for providing a copy protection method for media players independent of a computing environment according to claim 10, further characterized in that the computing environment includes a central processing unit (CPU).
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US60/481,034 | 2003-06-27 | ||
| US60/481,066 | 2003-07-07 | ||
| US60/493,072 | 2003-08-05 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| MXPA06000204A true MXPA06000204A (en) | 2006-12-13 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7469346B2 (en) | Dual virtual machine architecture for media devices | |
| EP1644802B1 (en) | Dual virtual machine and trusted platform module architecture for next generation media players | |
| JP4688805B2 (en) | Processor control with code obfuscation and emulation | |
| US11263311B2 (en) | Securing virtual-machine software applications | |
| KR100611687B1 (en) | Multi-token seal and thread release | |
| KR100946042B1 (en) | Method and system for running tamper-resident applications and computer readable storage media | |
| KR101091465B1 (en) | Method and apparatus for secure processing of confidential content in a virtual machine of a processor | |
| JP2007529044A5 (en) | ||
| JP2004038966A (en) | Secure and opaque type library for providing secure variable data protection | |
| Haupert et al. | Honey, i shrunk your app security: The state of android app hardening | |
| US20070189526A1 (en) | System and method for secure and flexible key schedule generation | |
| KR101604892B1 (en) | Method and devices for fraud prevention of android-based applications | |
| WO2006011888A1 (en) | Dual virtual machine architecture for media devices | |
| MXPA06000204A (en) | Dual virtual machine and trusted platform module architecture for next generation media players | |
| CN100451983C (en) | Dual virtual machine and trusted platform for next generation media player | |
| Kumbhar et al. | Hybrid Encryption for Securing SharedPreferences of Android Applications | |
| KR102326100B1 (en) | System and method for creating secure Android apps and installing/running apps on the Android platform | |
| Bertholon | CertiCloud and JShadObf. Towards Integrity and Software Protection in Cloud Computing Platforms | |
| Diquet | Digital Right Management on embedded systems; Protecting video content in players |