Licensing For tv Applications En
Transcription
Licensing For tv Applications En
PMC Ciphers, Inc. ultimate encryption technology (1 PMC-Enhanced License Management for Pay TV applications White Paper Published: May 2007, first published in March 2004 (1 Arizona Microchip PIC622 microphotograph courtesy by Oliver Koemmerling. PMC-Enhanced License Management for Pay TV applications 1 PMC Ciphers, Inc. ultimate encryption technology PMC-Enhanced License Management for Pay TV applications White Paper Published: May 2007 For the latest information, please see http://www.pmc-ciphers.com PMC’s Enhanced License Management for Pay TV Applications Allows for encryption of the entire video stream, rather than just specific bits as is present in toady’s standard systems. Compiled crypto code creates minimum lag time, or time delay in the broadcasting of live events. The goal of the system is to make every piece of software unique. Attacks, which would break one system, wouldn’t work on another system. The Polymorphic Encryption Scheme allows for the creation of millions of unique ciphers, all with similar properties of strength and speed. Ciphers can be easily changed on a daily or by event basis. Introduction With more illegal viewers than paying customers, the European satellite broadcasting industry clearly seems to need new ways to protect from fraud. Although modern cryptographic systems are supposed to be secure, this shows clearly that this cannot be right. Surprisingly, our first customer, a German datacast provider with customers including Reuters Group plc, Consors Discountbroker AG, SEB AG and Citibank, came up with the idea to use compiled cryptocode to protect their already hacked software. Within a short time we came up with a solution that has reduced the fraud to zero since already three years and most probably for much longer. The goal was to make every piece of software unique. Attacks which would break one system wouldn’t work on another system. Oliver Koemmerling from Advanced Digital Security Research, Riedelberg, Germany and Markus G. Kuhn, University of Cambridge, UK, have shown in their paper “Design Principles for Tamper-Resistant Smartcard Processors” that commonly used technology that relies on fixed algorithms have sometimes decisive weaknesses. PMC-Enhanced License Management for Pay TV applications 2 PMC Ciphers, Inc. ultimate encryption technology State-of-the-art smart card technology The following is cited from Oliver Koemmerling and Markus G. Kuhn, “Design Principles for Tamper-Resistant Smartcard Processors”: “Since around 1994, almost every type of smartcard processor used in European, and later also American and Asian, pay-TV conditional-access systems has been successfully reverse engineered. Compromised secrets have been sold in the form of illicit clone cards that decrypt TV channels without revenue for the broadcaster. The industry has had to update the security processor technology several times already and the race is far from over.” Etched smart card processor showing the bit pattern of the microcode Photo courtesy by Oliver Koemmerling. The vias in this structure found in a ST16F48A form a permutation matrix between the memory readout column lines and the 16:1 demultiplexer. The applied mapping remains clearly visible. Photo courtesy by Oliver Koemmerling. PMC-Enhanced License Management for Pay TV applications 3 PMC Ciphers, Inc. ultimate encryption technology The implant-mask layout of a NAND ROM can be made visible by a dopant-selective crystallographic etch (Dash etchand). This image shows 16 x 14 bits plus parts of the row selector of a ROM found on an MC68HC05SC2x CPU. The threshold voltage of 0-bit p-channel transistors (stained dark here) was brought below 0V through ion implantation. Photo courtesy by Oliver Koemmerling. This image shows horizontal bus lines on a depackaged smartcard processor. A UV laser (355 nm, 5 ns) was used to remove small patches of the passivation layer over the eight data-bus lines to provide for microprobing access. . Photo courtesy by Oliver Koemmerling. View on polysilicon layer of etched Infineon SLE44 smart card. Photo courtesy by Oliver Koemmerling. PMC-Enhanced License Management for Pay TV applications 4 PMC Ciphers, Inc. ultimate encryption technology S. Chari, C. Jutla, J.R. Rao and P. Rohatgi have shown in “A cautionary Note Regarding Evaluation of AES Candidates on Smart-Cards” that it’s possible to crack straightforward Blowfish, Rijndael and other AES implementations by taking power samples from only 100 independent block encryptions to fully recover the 128-bit secret key (Blowfish 6805 code which was implemented on a ST16 smart card). PMC-Enhanced License Management The reason why attacks on current smart card crypto implementations are possible is that the cards share a common code. Consequently they are the target of attacks. Our PMC Lincensing Engine implementation for a German datacast company already used a totally variable concept. The company needed a piece of software which would fool skilled hackers. The key to that was the personalization of each individual copy of the data gathering tool of the company. Each user gets a different key which depends on the user’s name and other known registration data. The key is actually used to yield a predefined result internal to the software. As all users receive the same signal from the satellite, consequently all licenses must finally compute the same data from the ciphertext. The security of the secrecy system originates from its high degree of uniqueness that is preserved throughout the whole decryption process and from the multitude of similar-looking objects that are present on the system during runtime. In order to fool hackers, the software simply compiles a number of keys into machine code. As this machine code is pretty long (if necessary, several megabytes of machine instructions can be compiled), the average hacker gets lost in it. Professionals go beyond that point. They look at the results which are returned by the key functions within the software. Deprived of simple results, attackers must analyze in which way a set of globally used variables is affected and what the consequences for the entire software are. Faced with a lot of operations which cannot be classified properly as relevant or irrelevant for data decoding, a big part of the software is potentially relevant and must be understood in order to have a chance to find a way to crack it. The secrecy system as a whole doesn’t only rely on a couple of single yes/no decisions. It would be too easy to locate the machine instruction which is responsible for the message “you don’t have a valid license”. Instead, much better protection is achieved by working the licensensing functionality into the normal source code and by changing the way the software works in a way that is unnoticable even for the programmers of the software. Incorrect license keys simply lead to impaired behaviour of the software. A pay-per-view smart card application using PMC can work with a virtually infinite number of inexpensive cards that are in the field. Each card is personalized with a factory setting that is known to the service provider and that must not necessarily remain secret. The service provider sends a code via satellite that interacts with data stored on the card. The card itself generates this crypto algorithm. It is unique for each card but finally computes the required codes to enable the data stream decoder to decode the scrambled bits. Attackers can even open cards, read out all the data, but can do nothing to crack the protection system because main parts of the encryption algorithm are provided dynamically for each card by the service provider as a code number that compiles into crypto code. For their Disk Encryption product, PMC Ciphers have developed a special set of polymorphic functions that are extremely fast and they even protect the code from Differential Power Attack (DPA). In addition to large-scale power variations due to PMC-Enhanced License Management for Pay TV applications 5 PMC Ciphers, Inc. ultimate encryption technology the instruction sequence, which can easily be analyzed by measuring the current consumption of a microchip, there are effects correlated to data values being manipulated. These variations tend to be smaller and are sometimes overshadowed by measurement errors and other noise. In such cases, it is still often possible to break the system using statistical functions tailored to the target algorithm. Our DPA-resistant polymorphic functions are perfectly suited for smart card applications. Their speed outperforms conventional encryption algorithms by factor 10. This allows for the encryption of the entire video and audio stream, rather than just specific bits as is present in toady’s standard systems. Compiled crypto code creates minimum lag time, or time delay in the broadcasting of live events. Many hacked set top boxes have FTP, UDP and HTTP client/server functionality implemented. Codes that are recorded from an official smart card can be transmitted via UDP protocol through the internet to thousands or even millions of illegal “users”. Hacked boxes can thus be provided with the required data to decode the MPEG-2 stream just in time. This shows that a variable secrecy system must reach beyond the smart card! It is difficult to understand why all existing systems today are highly vulnerable to this kind of attack, because the designers of these systems must have been well aware of it. Self-compiling crypto code makes set top boxes secure Decoders are much easier to analyze and to reverse-engineer than smart cards as they consist mostly of standard hardware that is easily accessible and reprogrammable. It is very likely that a number of engineers who have developed a box or parts of it pass their knowledge to people who offer hacked software via internet. The possibility to program set top boxes and to add decryption software to such a device probably accounts for the mayority of the fraud. Set top boxes can be hardened by taking a number of precautions. Making the decryption algorithm dependent on serial numbers or other specifics of each single decoder device is decisive: The decryption system itself must make reverse-engineering a very hard and time consuming task that has to be performed on each and every set top box. Each individual copy of the decoding software is personalized with an activation key that represents constant data of the target computer through Laser-ROM or polysilicon fuses on the microprocessor or other unchangable information. PMC Ciphers has a unique solution to the problem of hiding device-specific data that is available to interested potential customers after signing an NDA or a cooperation agreement. Card and decoder form a unit that is mutually dependent and highly variable with changing algorithms as they are transmitted via satellite in form of comparably short code numbers. PMC-Enhanced License Management for Pay TV applications 6 PMC Ciphers, Inc. ultimate encryption technology Technical description of PMC Software License Management In 1949 C.E. Shannon describes the principles of data encryption as confusion and diffusion. He describes confusion as being “the use of enciphering transformations that complicate the determination of how the statistics of the ciphertext depend on the statistics of the plaintext”. Confusion is vital for a licensing engine as well. A strong concept must be implemented to prevent experts from generating valid keying information for the data stream decoder. Diffusion simply means spreading the influence of individual pieces of software over the full application. This concept has proved to be underdeveloped in existing Payper-view and Pay TV applications so far. PMC customizes software for every user or every target machine without the need to compile the software for each user. Registration data or simply the name of the user can be compiled into a useful piece of machine code at runtime. Incorrect input compiles into totally different machine code. A microprocessor which executes this machine code at some point of time yields completely different results leading to impaired function some time later during operation. Here’s a brief explanation of a simple PMC licensing engine employing the Polymorphic Cipher: Passphrase (user info, registration key, etc.) Crypto Compiler Compiled Crypto Code Building block 1 Data Array for the internal state. Building block 2 It contains a number of variables which are used by the application that is to be protected Building block 3 Building block 4 Building block 5 … propagated internal state Structure of a PMC object for use in a licensing engine The Polymorphic Cipher is a combined secrecy system that provides as many different ciphers as different keys are available in a certain keyspace. This constructs exponentially many conceptually different ciphering functions which opponents must engage in order to successfully crack the Polymorphic Cipher. Being able to choose from 2128 ciphers for a 128 bit encryption algorithm has the advantage that it renders known attacks, that require a static system, inapplicable. PMC-Enhanced License Management for Pay TV applications 7 PMC Ciphers, Inc. ultimate encryption technology In order to provide a significant number of different encryption algorithms for a Licensing Engine, a highly flexible base design relying on a set of freely stackable pseudorandom number generators can be chosen. This configuration is described subsequently. A passphrase consisting of registration information is compiled into machine code. The compiler simply assembles standardized pseudo-random number generators, the so-called building blocks, adjust addresses as well as entry and exit points to generate a piece of machine code which acts like a huge pseudo-random number generator that is working on the Internal State. The Internal State is a data array which is shared with the software application. A powerful implementation will combine a set of global variables used by the application software (which is to be protected) in this data array. After initializing the history data array with part of the passphrase, the instruction pointer of the microprocessor on the target machine is set to the start of the Compiled Crypto Code. After finishing the execution of the Compiled Crypto Code, the bit pattern stored in the history data array consists of near-random data. Without being noticeable by a hacker, the Internal State array can even be set to some predefined bit pattern. The Compiled Crypto Code can be pretty long and can affect a large number of variables depriving hackers of any chance to apply simple patches. Considerations for the implementation of PMC Software License Management Every copy protection and licensing system should be different. Otherwise, hackers get used to a certain class of algorithms and methods; this is why PMC Software License Management is defined in a different way for each application and for each customer. Even the complete mode of operation can be adapted. PMC License Management implemented in smart cards requires careful design of the card as well as the base station in order to prevent any kind of attack. It should be noted that Pay-per-View and Pay TV can still be hacked if the secrecy system is ONLY implemented in the smart card! Hackers move quickly to attacks based on distributing keying information via internet if a smart card proves to be resistant against DPA or more invasive attacks.This has already been a trend for the past months in Europe and it’s likely that this trend manifests itself as smart card chips are increasingly hardened. PMC-Enhanced License Management for Pay TV applications 8 PMC Ciphers, Inc. ultimate encryption technology PMC Ciphers, Inc. offer to test the PMC Licensing scheme with their product “TurboCrypt” The underlying scheme can basically be applied to digital rights management, software licensing and virtually any other related procedure designed to control and protect data distributions. PMC Ciphers secure their own software with a basic Polymorphic Licensing Engine. The Disk Encryption tool “TurboCrypt” that has been voted one of the 33 best tools in the world by the German PC Magazine, can be enabled to different grades. The Enterprise Edition sells for up to $199.95 per license. This is the download location of the evaluation version which can be enabled up to the highest level (Enterprise Edition): http://www.pmc-ciphers.com Registered users receive a key which enables the purchased license level. In order to compute license codes, we use a little “enabling assistant” tool, which is as well protected with this licensing engine Professional customers that are interested in testing our Licensing Engine receive a fully functional enabling assistant that expires after several days. Until the software expires, it generates as many valid keys for our best-selling software product as wanted. We explicitly invite interested experts who test the “enabling assistant” to crack the tool or TurboCrypt since 2004 ! We are very confident that this is impossible, mainly because a number of people have tried in the past to crack less secure versions without success. We are very confident that the implemented algorithms are secure. PMC-Enhanced License Management for Pay TV applications 9 PMC Ciphers, Inc. ultimate encryption technology Privacy statement Customer data is kept secret for at least 15 years on our standard non-disclosure policy procedure. This is especially true for the company name and for the products which are protected by using some or all of the features of PMC Software License Management. In return, we expect our customers to keep all information which is not publically known about PMC Software License Management undisclosed for at least 15 years after signing a non-disclosure agreement with us. PMC Ciphers, Inc reserves the right to adopt improvements and new features of PMC Software License Management, which are being conceived or invented in the course of a running development for one customer, in PMC Ciphers products including PMC Software License Management. For more information: http://www.pmc-ciphers.com This is a preliminary document and may be changed substantially prior to final commercial release. This document is provided for informational purposes only and PMC Ciphers, Inc makes no warranties, either express or implied, in this document. Information in this document is subject to change without notice. The entire risk of the use or the results of the use of this document remains with the user. The example companies, organizations, products, people and events depicted herein are fictitious. No association with any real company, organization, product, person or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of PMC Ciphers, Inc. PMC Ciphers, Inc may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from PMC Ciphers, Inc, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2000 – 2002 ciphers.de, © 2002 – 2007 PMC Ciphers, Inc., All rights reserved. Company and product names mentioned herein may be the trademarks of their respective owners. PMC-Enhanced License Management for Pay TV applications 10