WO2006133059A2 - Content protection system and method for memory cards in electronic devices - Google Patents

Content protection system and method for memory cards in electronic devices Download PDF

Info

Publication number
WO2006133059A2
WO2006133059A2 PCT/US2006/021685 US2006021685W WO2006133059A2 WO 2006133059 A2 WO2006133059 A2 WO 2006133059A2 US 2006021685 W US2006021685 W US 2006021685W WO 2006133059 A2 WO2006133059 A2 WO 2006133059A2
Authority
WO
WIPO (PCT)
Prior art keywords
memory
content
card
program
decryption
Prior art date
Application number
PCT/US2006/021685
Other languages
French (fr)
Other versions
WO2006133059A3 (en
Inventor
David Munn
John L. Douglas
Robert D. Widergren
Paul Germeraad
Edmond Sisler
Original Assignee
Mo-Dv, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mo-Dv, Inc. filed Critical Mo-Dv, Inc.
Publication of WO2006133059A2 publication Critical patent/WO2006133059A2/en
Publication of WO2006133059A3 publication Critical patent/WO2006133059A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Definitions

  • Multimedia cards and other storage card formats are well known today as a means of providing external memory capacity for storing information of interest to a user. Such cards are used principally in handheld devices, such as digital cameras, cell phones and personal digital assistants (PDAs).
  • PDAs personal digital assistants
  • a disadvantage associated with these cards is their reliance on the software loaded in the handheld device to process (e.g., decode, expand, etc.) the content (e.g., digital photographs, video games, etc.) that the cards contain.
  • processing programs must be in the memory of the handheld device to which the cards are attached. This means that the handheld device must have sufficient memory to retain the processing program. It also means that the handheld device must have a processing program capable of decoding/decrypting the particular encoding/encryption format of the content in the card.
  • FIG. 1 illustrates a memory card 10 according to an embodiment of the present invention.
  • the memory card includes a controller 20, which may be implemented by hardware or software, operable to communicate with a presentation device (not shown in FIG. 1) via an interface portion 30 that, in an embodiment, includes at least one contact pin known in the art.
  • the controller 20 is coupled to a memory portion 40.
  • the card 10 in varying embodiments, may be characterized, for example, as a read-only memory (ROM) or Read/Write (e.g., flash) card.
  • the controller 20 is further coupled to an identification register 80 that stores a unique identification number, such as a manufacturer's serial or batch number (discussed below in greater detail), associated with the card 10.
  • a unique identification number such as a manufacturer's serial or batch number (discussed below in greater detail)
  • Each component of the card 10 is disposed within or on a housing 90.
  • the card 10 is of a standard physical form factor used in many hardware devices such as cell phones, personal digital assistant devices, cameras, etc.
  • a multimedia content file 50 Prior to being loaded into the memory portion 40, a multimedia content file 50, such as, for example, an audio clip, video clip, or video game, is encoded and/or encrypted according to an appropriate scheme or schemes. For ease of discussion, the following exemplary description will assume that both encryption and encoding are applied to a given multimedia file, although embodiments of the present invention contemplate application of only one of encoding or encryption, as appropriate.
  • the file 50 After being encoded and encrypted, the file 50, as illustrated in FIG. 2, is loaded into the memory portion 40. Also as illustrated in FIG. 2, a plurality of player/decoder program files 60a-60c and a plurality of decryption program files 70a-70c may also be loaded into the memory portion 40.
  • the card may include a plurality of memory portions and the file 50 may be stored on a memory portion separate from the memory portion on which the programs 60, 70 are stored. Moreover, it should be appreciated that more than one file 50 and corresponding programs 60, 70 may be stored on a single card 10.
  • Each program 60a-60c is a different version of the same decoder software and is compatible with a respective different type of electronic system with which the card 10 may cooperate, and/or is compatible with a respective different operating system employable by an electronic system.
  • the decoder of which each program 60a-60c is a different version, corresponds to the scheme used to encode the file 50, and is thus required in order to decode the file 50.
  • each program 70a-70c is a different version of the same decryption software and is compatible with a respective different type of electronic system with which the card 10 may cooperate, and/or is compatible with a respective different operating system employable by an electronic system.
  • the decryption software of which each program 70a-70c is a different version, corresponds to the scheme used to encrypt the file 50, and is thus required in order to decrypt the file 50.
  • decoder/player programs 60a-60c and decryption programs 70a-70c are illustrated in FIG. 2, it should be appreciated that the number of decoder/player programs 60 and decryption programs 70 that the memory portion 40 may store is limited only by practicability. As such, the memory portion 40 may store decoder/player programs 60 and decryption programs 70 compatible with all commercially available handheld-device operating systems, enabling the card 10 to cooperate with a wide variety of devices equipped to present visual and/or auditory information.
  • the controller 20 may be employed to read and write content, such as the file 50, stored on the card 10.
  • This controller 20 is useful because the applications envisioned for an embodiment of the card 10 may involve multiple read cycles (e.g., in the many thousands), and many fewer write cycles (e.g., of one to one hundred times). Such applications may further require reading and writing the identification number of the card 10 as the player/decoder program files 60 and/or decryption program files 70 are loaded on those cards 10 of the read/write type.
  • the manufacturer assigns a code thereto. If the card 10 is rewritable, the card 10 typically is assigned an individual serial number code. If the card 10 is of the masked ROM type, the card 10 typically is given a batch code. Each of these codes may be stored in a register included in the card 10. During the process of loading the programs 60, 70 on a card 10, the manufacturer's code associated with that card 10 is linked to the file 50 and/or programs 60, 70 by associating the code with the file 50 and/or programs 60, 70.
  • the programs 60, 70 will optionally decode, not decode and/or decrypt the content stored on the card.
  • This feature of an embodiment of the invention serves to discourage unauthorized copying of programs 60, 70 and files 50 from card to card. In this manner, the card 10, itself, can perform the function of a dongle.
  • Handheld device operating systems typically contain instructions enabling an inserted or associated memory card to run an autoexecute/autoload program on the device.
  • the card 10 is partially formatted using a file allocation table (FAT) format per the standard for an MMC card.
  • FAT file allocation table
  • a directory 150 (FIG. 2) is made and named for a host device (e.g., PocketPC 2577), such as the electronic system 100 with which the card 10 will cooperate.
  • This directory 150 includes at least one autoloading program 160 compatible with the particular type of electronic system 100 and may include several programs 160, each of which may be compatible with a respective different electronic system 100 and/or operating system associated therewith.
  • a user of the electronic system 100 docks the card 10 with the interface 101. In such an embodiment, at least a portion of the housing 90 is receivable by the interface 101.
  • An autoloading program 160 compatible with the system 100 and executed by the processor 110, queries the register 80 ( Figure 1 ) in order to verify that the number stored therein matches the number associated with the file 50 and/or programs 60, 70 during the prior encoding and/or encryption of the file 50.
  • the autoloading program 160 may be executed by the controller 20 ( Figure 1 ) in order to perform this verification function. If the numbers do not match, indicating that the contents of the memory 40 have been copied to the card 10 without authorization, the loading process is optionally halted. If, however, the numbers do match, the program 160 identifies at least one characteristic of the system 100, such as, for example, the type of operating system 140 employed by the system 100, and verifies desired read/write capabilities associated with the card 10.
  • the electronic system 100 may then present on the display 130 a menu (not shown) of multimedia content stored on the card 10 that may be available to the user.
  • a menu (not shown) of multimedia content stored on the card 10 that may be available to the user.
  • an input device such as, for example, a stylus or cursor control, the user then selects the desired entertainment content for presentation.
  • a decoder program 60 and decryption program 70 are loaded into the memory 120 for execution by the processor 110.
  • execution of the programs 60 and 70 by the processor 110 produces a decoded and decrypted version of the file 50 for presentation to the user.
  • the video and/or audio decoding algorithm 60 supplied with the file 50 may be an improved version that is less complex and may process information faster with higher throughput than the algorithms sometimes found on the existing electronic systems 100 themselves (i.e., an originally installed decoder, if any).
  • the supplied algorithm 60 may have a higher video throughput than the algorithm on the electronic system 100.
  • the decoder/player programs 60 and decryption programs 70 are stored from the card 10 into the memory 120 of the electronic system 100 during operation, and thus do not go through a formal program install. As such, the programs 60, 70 disappear from the memory 120 when the player/decoding and/or decryption process is terminated/completed or the card 10 removed.
  • the OS 140 of the electronic system 100 allocates the used program memory back into a scratch pool on completion.
  • the decoder/player programs 60 and decryption programs 70 are not accessible to all but the most sophisticated programmers for copying. This feature is advantageous in that it makes consumer pirating of the content file 50 more difficult.
  • the decoder program 60 will function as a "rolling" decoder. This means that when the file 50 is compressed it will be so with a unique code-table format. The code-table format is changed with respect to each file 50 compressed. There may be a finite set of different code tables (e.g., 128), each set up for a particular version of the decoder program 60.
  • each compression format serves as a form of encryption and the decoder program 60 serves as the key.
  • a rolling decrypter may be employed in an embodiment of the invention. In a rolling decrypter implementation, the physical encryption process is changed with respect to each file 50 encrypted. This is alternatively or additionally implemented by interchanging data fields within the compressed data in a random or approximately random pattern specified by a key that is used by the decrypter program to place data fields in the correct order.
  • protection of content is achieved through the use of systematically or randomly encrypted occasional bytes. This is useful because decryption of all content, decoder, or controller software requires significant processor power. For example, if video content is encrypted, the processor power required for decoding is significant.
  • An embodiment of the present invention includes encrypting only occasional pieces of the file 50 that the decoder and or player-decoder code recognizes (hidden message) in order to play the following frame / short audio/video sequence correctly.
  • This encryption is thus, in an embodiment, a multi-level multi-key encryption (rolling decoder feature) comprising a 1st level "soft" encryption that is done to all bits of digital content and a 2nd level “hard” encryption done to selected portions of the file 50 (e.g. select bytes of video key-frames).
  • This method reduces processing overhead and lowers the impact of decryption on playback efficiency.
  • This method further makes a user's playback of any straight (undecrypted) content impossible. Attempts by a user to play back content without the rolling decoder player program will not yield playback.
  • a set of keys is used to encrypt/decrypt each content file 50.
  • the rolling decoder is separate from 128-bit rolling encryption/decryption and also watermarking technologies already developed and in the public domain and which may, in an embodiment, also be utilized. To illustrate, the decoder for video "A" on one card production run would not decode the video on the video "B" card run even assuming that the encryption was broken.
  • Rewritable storage cards can be written to multiple times (100,000 to 1 million) before they will fail.
  • a controller circuit within the card restricts the writing to one time or a few times (i.e., 2 to 100,000) only.
  • the data is etched into the memory at the manufacturing site and write circuitry is not provided.
  • the controller circuit restricts the writing to only once. There are controller circuits that count the write cycles and limit them to a particular number. MMC cards of this class are utilized in an embodiment of the present invention.
  • MMC cards of this class are utilized in an embodiment of the present invention.
  • the controller circuit allows this functionality. Out of every batch of flash memory that should allow tens of thousands of rewrites, there is defective memory produced that can be written to only 1000 times or fewer. This memory is typically considered defective and thrown away. As such this lower-capability memory is available at a lower cost than the fully capable memory. An embodiment of the present invention uses these lower- capability flash memory cards to reduce cost.
  • the controller circuit is implemented as a processor 20 executing a program adjusted to limit the number of times that the card 10 can be written.
  • An embodiment of the present invention employs a controller program or circuit 20 that utilizes memory 40 capable of only a limited number of write operations otherwise considered defective because the memory 40 can only accept a limited number of write cycles or has a low write-data rate.
  • the feature of the card 10 capable of more than one write operation is particularly useful to video and audio content vendors. For example, in the music business, when some audio, or alternatively video cards don't sell, the cards can be returned by the distributor or retailer for re-loading of a file 50 and decoder 60 with an alternative, preferably a newer, more saleable, set of audio or video tracks with decoder. For these cards returned for reprocessing, new content loading can be used to put a different, likely newer song or video on the same card.
  • One function of the CPS is that it is self-enabled to detect that it has been placed on a flash memory card (a card capable of multiple writes). When this state is detected by the CPS code, the CPS code may interact with the content decoder program such that the card content is prevented from playing on a hardware device.
  • the well-known Sissler Video Correction Fully Automatic Encoding Algorithm takes the raw video and makes it easier to encode using motion blur technologies. With SVCFAEA, if there is not enough power in the computer to process the video playback at full frame speed, then the video content is modified so it visually looks nearly the same and yet takes less memory and can be decoded at visually pleasing speeds.
  • the SVCFAEA algorithm is used to modify the file 50 to be loaded on the card 10 by using a series of varying filters. These filters are applied by measurement of the amount of quantitization to be retained in the file 50. This process is designed to reduce the data rate required of the decoder such that frames are not dropped by the decoder during the decoding operation.
  • the SVCFAEA process is particularly useful as it is an automated manufacturing process as opposed to a manual process. This reduces the cost of manufacture of the files 50.
  • Preparation of a card 10 carrying a file 50 may be achieved, in an embodiment, in a particular manner. An application is assessed to determine the appropriate type of storage card (e.g., flash or read only).
  • a permutation of a rolling decoder may be selected. Audio/video in digital form accessible to a PC workstation may be obtained.
  • the Video may be preprocessed to acceptable dimensions. Nominally this may be 240 lines by 320 pixels.
  • the frame rate may be reduced to one half of the original with a target of 15-20 frames per second.
  • the complexity of the video may be assessed with respect to both intra-frame detail and inter-frame motion.
  • Frame-by-frame filtering may be performed where deemed appropriate.
  • Brightness may be adjusted by computing the histogram of the luma pixels and adding sufficient bias to each pixel such that no more than 5%, for example, of all luma pixels are above a nominal saturation level.
  • the audio/video sequence may be encoded with rate control imposed. The average required quantization levels may be recorded.
  • Periods of heavy quantization (combining of individual data items into fewer data items to reduce heavy decoding requirements) may be ascertained. These may be candidate areas for further filtering.
  • the encoded data may be transferred to a test card with an embedded AC player program.
  • the video may be played. The complete video may be monitored, paying particular attention to the heavily quantized areas, brightness saturation and audio quality. Parameters may be readjusted and the coding/testing process from above may be repeated.
  • embodiments of the invention may be realized in the use of compact discs (CDs), digital video discs (DVDs), any flash or read only (non-volatile memory), floppy disks, Flash Drives, smart cards or any storage media that supports digital storage. Consequently, the electronic storage system 100 may alternatively include personal computers, workstations, or any other device operable to process digital media.
  • CDs compact discs
  • DVDs digital video discs
  • any flash or read only non-volatile memory
  • floppy disks floppy disks
  • Flash Drives smart cards or any storage media that supports digital storage.
  • the electronic storage system 100 may alternatively include personal computers, workstations, or any other device operable to process digital media.
  • an embodiment of the invention may be achieved by modulating a signal to carry the multimedia file 50, along with the player/decoder and/or decryption programs required to process the file.
  • a content protection solution utilizing the above-described embodiments provides a user of a mobile viewing device, such as, for example, a personal digital assistant (PDA) or mobile telephone (e.g., cellular, or cell, phone), the same ease of use that he has at home with a medium such as DVD or video tape, .namely plug the medium in and it plays. No contact with a wireless carrier or web connection for validation to play need be made, nor are there any codes to enter.
  • PDA personal digital assistant
  • mobile telephone e.g., cellular, or cell, phone
  • Content protection is described in the following in relation to the following two areas: 1 ) Technical Protection as it relates to a portable or removable data-storage medium, such as memory card media, and mobile devices; and 2) Administrative Protection covering physical security and distribution accountability.
  • embodiments of the invention may be described in terms of elements for content protection and anti-copying, with such embodiments relating to memory cards for cell phones and PDAs. At least some of these elements are described in U.S. Provisional Appln. No. 60/471 ,151 entitled “MULTIMEDIA CARD WITH MEMORY AND DECODER” filed May 16, 2003, and U.S. Appln. No. 10/848,224 entitled “MULTIMEDIA STORAGE SYSTEMS AND METHODS” filed May 17, 2004, each of which is incorporated herein by reference.
  • An embodiment of the invention combines the "Player” (which contains the proprietary codec) on the memory card along with the data, which provides numerous advantages. Being separate from a software "player” preloaded in a Cellular/PDA device such as Microsoft's Media Player®, RealPlayer® or a 3GPP/ MPEG-4 Player, like DivX, the on-card player in this embodiment of the invention permits serial number matching, encryption variability, and proprietary codec implementation:
  • This embodiment enables the use of serial number matching (described below) as a principal anticopy method.
  • Unique serial numbers stamped on the memory cards are used to distinguish original files from copied filed when the stamped ID is also input into the content stream, as will be described in more detail below.
  • This embodiment also allows independent control of the decryption functions.
  • the on-card player enables execution of the Rolling Decrypter (described in more detail for this embodiment below) and its algorithms as well as key decipherment/placement for further protection against unauthorized play.
  • Any pre-loaded player would be restricted to using pre-loaded in-device DRM techniques, none of which has been adopted by any device makers or carriers, which without adoption make such decryption unavailable. See, e.g., "http://www.theregister.co.Uk/2005/201711/gsma_drm_challenge/.”
  • This embodiment also Implement a proprietary codec, with the player implementation of this codec providing further protection against unauthorized play.
  • This embodiment also utilizes rolling encryption/decryption, which is a dynamic process whereby the actual encryption elements are varied from content batch to content batch. These changes and variations cause encryption compromisers to be required to code break for each title/batch to get new content.
  • the elements such as the unique encryption algorithm selection or, at a minimum, key handling, parsing and location functions within the same encryption algorithm framework will be made to orderly vary on a batch basis or, in the case of rewritable cards, could even be varied from card to card at load time.
  • There are multiple general purpose encryption algorithms/systems which provide a good level of security. These include U.S. Government's approved Advanced Encryption Standard (AES), Triple Data Encryption Standard(DES), and several others.
  • the content can be uniquely encrypted by changing the actual encryption algorithm used to encrypt the programs and content or by changing the key structure/length within the same algorithm.
  • An embodiment of the invention uses keys lengths which insure good protection. Improved security can be achieved by varying the encryption keys of the selected encryption algorithms. By changing the length, parsing, distribution and location of the hidden keys and spreading these minute amounts of information over a very large block of storage, typically in the hundreds of millions of bytes will yield security. This information will be available for retrieval through the Player for control of the decryption. Those decrypting parameters within any given algorithm selection will be known to the Player through computation. The parameters would be by the batch in the case of ROM or it could be used at the individual card level for Flash memory loadings.
  • Rolling encryption/decryption provides a dynamic framework for preventing a single compromise of the encryption process to yield compromises of entire generations of encrypted content without enormous continuing effort.
  • a compromise under Rolling Encryption yields only content on one batch of cards (or one card) rather than compromised generations of content.
  • Each individual Flash Memory card and each batch of Read-Only Memory cards contain unique serial numbers stamped on the card and known as CID's, just as the hard drive on your desktop has a unique serial number.
  • An anti copy solution utilizes the CID to prevent card copying and playing. This is accomplished by placing the actual CID as read by the Cell/PDA's card device driver into the content data stream hidden and parsed among hundreds of megabytes of data and read in as part of the content data. By comparing the CID of the card to that in the data stream and testing for a match, the Player will sense whether a copy has been made.
  • a proprietary video codec has performance characteristics similar to better known video codecs such as MPEG -4, Real Player® and Windows Media Player®. This codec performs nearly as well, though it is not as complex in implementation as H-264 (MPEG-4 Part 10) codec.
  • the H264 codec cannot be implemented to operate on most mobile devices with their limited on-board computing power.
  • the significant advantage of a proprietary codec in content protection is that it serves as another level of encryption in that the bit stream may not be decoded by any other known or commercially available codec. Should all the encryption and security be compromised, an unlikely case, use of the proprietary codec will prevent viewing of the content on devices other than the intended mobile device and will prevent widespread viewing of the content.
  • a content protection solution according to an embodiment of the invention is based on an "Everything is on the Card" approach whereby there are no dependencies on the cell phone/PDA save for those obvious ones of providing an operating system, a card slot, a fast enough internal CPU processor, a display screen, and audio output. Nor is there dependence on Wireless Cellular Carriers or the Internet for decryption key accesses.
  • An approach according to an embodiment of the invention requires no pre-installed DRM or decryption processes. These could not accommodate rolling decryption anyway. Further any video player pre installed would not be able to provide those content protection advantages of the Player on the card approach described earlier.
  • An embodiment of the invention also includes a watermark with a to-be- defined number of characters added to the encoded content prior to encryption. This will provide the ability to trace the physical origins of any illegally hacked content in the unlikely event the content is hacked.
  • the unique watermark may define the encoding house details, date, and other required information
  • An embodiment of the invention provides for secure facilities to encode the content into its proprietary video format for transfer to the cards in the actual production facilities, such as Motion Picture Association of America (MPAA) approved production facility.
  • MPAA Motion Picture Association of America
  • Content may be transferred from a studio to the approved encode/ production facility where standard industry procedures involving logs and safes will be utilized.
  • the content may be encoded at differing resolutions as the pixel density on cell phones becomes greater.
  • the initial ranges are 208 x 176 and 320 x 240 and resolutions up to VGA are anticipated.
  • the content may be secured prior to card loading using the appropriate encryption algorithms and key structure.
  • AES and Triple DES may be among the encrypting algorithms.
  • a unique decryption key may be generated for each card/card batch and these will be maintained separate from the content.
  • all content processed may be uniquely watermarked for each distribution point that the content is transferred to.
  • the appropriate card/card batch specific modifications to the Player may be required to implement the Rolling Decrypter and Serialization processes at card load time.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

A method of storing content in a memory, with the memory having a corresponding memory identification, includes encoding content that is to be stored in the memory. The encoded content is encrypted and the encrypted encoded content is stored in memory. A decryption program is stored in the memory and the decryption program is operable, when executed, to decrypt the encrypted encoded content to provide the encoded content. A decoding program is stored in the memory and is operable, when executed, to decode the encoded content. At least one of the encrypted and encoded content, decryption program, and encryption program is linked to the memory identification.

Description

CONTENT PROTECTION SYSTEM AND METHOD FOR MEMORY CARDS IN
ELECTRONIC DEVICES
CROSS REFERENCE TO RELATED APPLICATIONS
[001] The present application claims priority from U.S. Provisional Application 60/687,396 (Attorney Docket No. 2233-003-02) filed on 3 June 2005, which is incorporated herein by reference.
BACKGROUND
[002] Multimedia cards (MMCs) and other storage card formats are well known today as a means of providing external memory capacity for storing information of interest to a user. Such cards are used principally in handheld devices, such as digital cameras, cell phones and personal digital assistants (PDAs).
[003] A disadvantage associated with these cards is their reliance on the software loaded in the handheld device to process (e.g., decode, expand, etc.) the content (e.g., digital photographs, video games, etc.) that the cards contain. Such processing programs must be in the memory of the handheld device to which the cards are attached. This means that the handheld device must have sufficient memory to retain the processing program. It also means that the handheld device must have a processing program capable of decoding/decrypting the particular encoding/encryption format of the content in the card.
SUMMARY OF THE INVENTION
[004] According to one aspect of the present invention, a method of storing content in a memory, with the memory having a corresponding memory identification, includes encoding content that is to be stored in the memory. The encoded content is encrypted and the encrypted encoded content is stored in memory. A decryption program is stored in the memory and the decryption program is operable, when executed, to decrypt the encrypted encoded content to provide the encoded content. A decoding program is stored in the memory and is operable, when executed, to decode the encoded content. At least one of the encrypted and encoded content, decryption program, and encryption program is linked to the memory identification.
BRIEF DESCRIPTION OF THE DRAWINGS
[005] FIG. 1 is a logical block diagram of a memory card according to an embodiment of the present invention; FIG. 2 is a logical block diagram of a memory portion of the card of FIG.
1 according to an embodiment of the present invention; and
FIG. 3 is a logical block diagram of an electronic system operable to cooperate with the card of FIG. 1 according to an embodiment of the present invention.
DETAILED DESCRIPTION
[006] An embodiment of the present invention enables many different devices to present a non-compressed, compressed, expanded and/or encrypted multimedia file stored on a single-format storage device. This may be achieved by storing the multimedia file, along with the player/decoder and/or decryption programs required to process the file, on the same device. [007] FIG. 1 illustrates a memory card 10 according to an embodiment of the present invention. The memory card includes a controller 20, which may be implemented by hardware or software, operable to communicate with a presentation device (not shown in FIG. 1) via an interface portion 30 that, in an embodiment, includes at least one contact pin known in the art. [008] The controller 20 is coupled to a memory portion 40. Depending on the nature of the memory portion 40, the card 10, in varying embodiments, may be characterized, for example, as a read-only memory (ROM) or Read/Write (e.g., flash) card. [009] The controller 20 is further coupled to an identification register 80 that stores a unique identification number, such as a manufacturer's serial or batch number (discussed below in greater detail), associated with the card 10. Each component of the card 10 is disposed within or on a housing 90. [010] Preferably, the card 10 is of a standard physical form factor used in many hardware devices such as cell phones, personal digital assistant devices, cameras, etc. As such, these hardware devices are enabled to read data off the card 10 because of existing industry input/output standards, such as the MMC form factor specified by the MMC association. [011] Prior to being loaded into the memory portion 40, a multimedia content file 50, such as, for example, an audio clip, video clip, or video game, is encoded and/or encrypted according to an appropriate scheme or schemes. For ease of discussion, the following exemplary description will assume that both encryption and encoding are applied to a given multimedia file, although embodiments of the present invention contemplate application of only one of encoding or encryption, as appropriate.
[012] After being encoded and encrypted, the file 50, as illustrated in FIG. 2, is loaded into the memory portion 40. Also as illustrated in FIG. 2, a plurality of player/decoder program files 60a-60c and a plurality of decryption program files 70a-70c may also be loaded into the memory portion 40. In an alternative embodiment, the card may include a plurality of memory portions and the file 50 may be stored on a memory portion separate from the memory portion on which the programs 60, 70 are stored. Moreover, it should be appreciated that more than one file 50 and corresponding programs 60, 70 may be stored on a single card 10.
[013] Each program 60a-60c is a different version of the same decoder software and is compatible with a respective different type of electronic system with which the card 10 may cooperate, and/or is compatible with a respective different operating system employable by an electronic system. Moreover, the decoder, of which each program 60a-60c is a different version, corresponds to the scheme used to encode the file 50, and is thus required in order to decode the file 50. Similarly, each program 70a-70c is a different version of the same decryption software and is compatible with a respective different type of electronic system with which the card 10 may cooperate, and/or is compatible with a respective different operating system employable by an electronic system. Moreover, the decryption software, of which each program 70a-70c is a different version, corresponds to the scheme used to encrypt the file 50, and is thus required in order to decrypt the file 50.
[014] Although only three decoder/player programs 60a-60c and decryption programs 70a-70c are illustrated in FIG. 2, it should be appreciated that the number of decoder/player programs 60 and decryption programs 70 that the memory portion 40 may store is limited only by practicability. As such, the memory portion 40 may store decoder/player programs 60 and decryption programs 70 compatible with all commercially available handheld-device operating systems, enabling the card 10 to cooperate with a wide variety of devices equipped to present visual and/or auditory information. [015] The controller 20 may be employed to read and write content, such as the file 50, stored on the card 10. This controller 20 is useful because the applications envisioned for an embodiment of the card 10 may involve multiple read cycles (e.g., in the many thousands), and many fewer write cycles (e.g., of one to one hundred times). Such applications may further require reading and writing the identification number of the card 10 as the player/decoder program files 60 and/or decryption program files 70 are loaded on those cards 10 of the read/write type.
[016] During manufacture of the card 10, the manufacturer assigns a code thereto. If the card 10 is rewritable, the card 10 typically is assigned an individual serial number code. If the card 10 is of the masked ROM type, the card 10 typically is given a batch code. Each of these codes may be stored in a register included in the card 10. During the process of loading the programs 60, 70 on a card 10, the manufacturer's code associated with that card 10 is linked to the file 50 and/or programs 60, 70 by associating the code with the file 50 and/or programs 60, 70. As such, and as further discussed below, if the code stored in a register of a card does not correspond to the code linked to the programs 60, 70 stored thereon, the programs 60, 70 will optionally decode, not decode and/or decrypt the content stored on the card. This feature of an embodiment of the invention serves to discourage unauthorized copying of programs 60, 70 and files 50 from card to card. In this manner, the card 10, itself, can perform the function of a dongle.
[017] FIG. 3 illustrates cooperation between the card 10 and an electronic system 100, such as a handheld device, according to an embodiment of the present invention. The card 10 may be physically coupled (e.g., docked) to the electronic system 100 by means of an interface 101. Optionally, the card 10 may be coupled to the electronic system 100 (associated) by means of a wireless interface 101. As such, the interface 101 is coupleable to each component of the card 10. The electronic system 100 may include a processor 110, a memory 120 and a display device 130, such as a liquid crystal display (LCD). An operating system (OS) 140, such as, for example, Palm OS®, Microsoft® Pocket PC, Symbian, or Linux, is stored in the memory 120.
[018] Handheld device operating systems typically contain instructions enabling an inserted or associated memory card to run an autoexecute/autoload program on the device. According to an embodiment of the present invention, the card 10 is partially formatted using a file allocation table (FAT) format per the standard for an MMC card. Using this file format, a directory 150 (FIG. 2) is made and named for a host device (e.g., PocketPC 2577), such as the electronic system 100 with which the card 10 will cooperate. This directory 150 includes at least one autoloading program 160 compatible with the particular type of electronic system 100 and may include several programs 160, each of which may be compatible with a respective different electronic system 100 and/or operating system associated therewith. [019] In operation, according to an embodiment of the invention, a user of the electronic system 100 docks the card 10 with the interface 101. In such an embodiment, at least a portion of the housing 90 is receivable by the interface 101.
[020] An autoloading program 160, compatible with the system 100 and executed by the processor 110, queries the register 80 (Figure 1 ) in order to verify that the number stored therein matches the number associated with the file 50 and/or programs 60, 70 during the prior encoding and/or encryption of the file 50. Alternatively, the autoloading program 160 may be executed by the controller 20 (Figure 1 ) in order to perform this verification function. If the numbers do not match, indicating that the contents of the memory 40 have been copied to the card 10 without authorization, the loading process is optionally halted. If, however, the numbers do match, the program 160 identifies at least one characteristic of the system 100, such as, for example, the type of operating system 140 employed by the system 100, and verifies desired read/write capabilities associated with the card 10.
[021] The electronic system 100 may then present on the display 130 a menu (not shown) of multimedia content stored on the card 10 that may be available to the user. Using an input device, such as, for example, a stylus or cursor control, the user then selects the desired entertainment content for presentation.
[022] A decoder program 60 and decryption program 70, each corresponding to the selected file 50 and the detected OS 140 and/or type of electronic system 100, are loaded into the memory 120 for execution by the processor 110. In turn, and in a known manner, execution of the programs 60 and 70 by the processor 110 produces a decoded and decrypted version of the file 50 for presentation to the user.
[023] In an embodiment of the invention, the video and/or audio decoding algorithm 60 supplied with the file 50 may be an improved version that is less complex and may process information faster with higher throughput than the algorithms sometimes found on the existing electronic systems 100 themselves (i.e., an originally installed decoder, if any). The supplied algorithm 60 may have a higher video throughput than the algorithm on the electronic system 100. [024] In an embodiment, the decoder/player programs 60 and decryption programs 70 are stored from the card 10 into the memory 120 of the electronic system 100 during operation, and thus do not go through a formal program install. As such, the programs 60, 70 disappear from the memory 120 when the player/decoding and/or decryption process is terminated/completed or the card 10 removed. The OS 140 of the electronic system 100 allocates the used program memory back into a scratch pool on completion. As such, the decoder/player programs 60 and decryption programs 70 are not accessible to all but the most sophisticated programmers for copying. This feature is advantageous in that it makes consumer pirating of the content file 50 more difficult. [025] In an embodiment of the invention, the decoder program 60 will function as a "rolling" decoder. This means that when the file 50 is compressed it will be so with a unique code-table format. The code-table format is changed with respect to each file 50 compressed. There may be a finite set of different code tables (e.g., 128), each set up for a particular version of the decoder program 60. Consequently, only a particular decoder program 60 that is loaded on a card 10 can be used to decompress an associated file 50 stored on the card 10. As such, each compression format serves as a form of encryption and the decoder program 60 serves as the key. [026] Similarly, a rolling decrypter may be employed in an embodiment of the invention. In a rolling decrypter implementation, the physical encryption process is changed with respect to each file 50 encrypted. This is alternatively or additionally implemented by interchanging data fields within the compressed data in a random or approximately random pattern specified by a key that is used by the decrypter program to place data fields in the correct order.
[027] In an embodiment of the present invention, protection of content is achieved through the use of systematically or randomly encrypted occasional bytes. This is useful because decryption of all content, decoder, or controller software requires significant processor power. For example, if video content is encrypted, the processor power required for decoding is significant. An embodiment of the present invention includes encrypting only occasional pieces of the file 50 that the decoder and or player-decoder code recognizes (hidden message) in order to play the following frame / short audio/video sequence correctly. [028] This encryption is thus, in an embodiment, a multi-level multi-key encryption (rolling decoder feature) comprising a 1st level "soft" encryption that is done to all bits of digital content and a 2nd level "hard" encryption done to selected portions of the file 50 (e.g. select bytes of video key-frames). This method reduces processing overhead and lowers the impact of decryption on playback efficiency. This method further makes a user's playback of any straight (undecrypted) content impossible. Attempts by a user to play back content without the rolling decoder player program will not yield playback. [029] In an embodiment, rather than use a single key, a set of keys is used to encrypt/decrypt each content file 50. An algorithm is used to select the correct key from the set at any given time. Further, using multiple keys increases the difficulty in reverse engineering the encryption algorithm. [030] Another benefit of this on-the-fly decryption is that the entire file 50 is never decrypted at once into memory 120 and can thus not be copied easily by a user into another unencrypted file for subsequent non-encrypted playback. [031] The rolling decoder is separate from 128-bit rolling encryption/decryption and also watermarking technologies already developed and in the public domain and which may, in an embodiment, also be utilized. To illustrate, the decoder for video "A" on one card production run would not decode the video on the video "B" card run even assuming that the encryption was broken. This is because the key set and/or encryption technique and content encoder algorithm are changeable for each released card product through the concept of the rolling decoder. This is possible since each product is shipped with a matching player program in binary form on the same card. This technique reduces the impact of unauthorized acquisition or discovery of a previous card's key set or content encoder algorithm.
[032] In varying embodiments, the above-discussed encryption and / or digital rights methods can be used in combination or alone.
[033] Rewritable storage cards can be written to multiple times (100,000 to 1 million) before they will fail. In a "write once" or "write multiple" card, a controller circuit within the card restricts the writing to one time or a few times (i.e., 2 to 100,000) only. In a masked memory card, the data is etched into the memory at the manufacturing site and write circuitry is not provided.
[034] Where a write once controller circuit is used, the controller circuit restricts the writing to only once. There are controller circuits that count the write cycles and limit them to a particular number. MMC cards of this class are utilized in an embodiment of the present invention. [035] In contrast, as an example, one can write present-day flash memory many times, almost without limit, and the controller circuit allows this functionality. Out of every batch of flash memory that should allow tens of thousands of rewrites, there is defective memory produced that can be written to only 1000 times or fewer. This memory is typically considered defective and thrown away. As such this lower-capability memory is available at a lower cost than the fully capable memory. An embodiment of the present invention uses these lower- capability flash memory cards to reduce cost. In this case, the controller circuit is implemented as a processor 20 executing a program adjusted to limit the number of times that the card 10 can be written.
[036] An embodiment of the present invention employs a controller program or circuit 20 that utilizes memory 40 capable of only a limited number of write operations otherwise considered defective because the memory 40 can only accept a limited number of write cycles or has a low write-data rate. The feature of the card 10 capable of more than one write operation is particularly useful to video and audio content vendors. For example, in the music business, when some audio, or alternatively video cards don't sell, the cards can be returned by the distributor or retailer for re-loading of a file 50 and decoder 60 with an alternative, preferably a newer, more saleable, set of audio or video tracks with decoder. For these cards returned for reprocessing, new content loading can be used to put a different, likely newer song or video on the same card. This reprocessing and reloading of additional and / or essentially different content and decoder allows vendors and distributors to reuse the cards 10 to lower their costs. [037] The feature of a controller 20 that allows only a limited number of write operations is further useful because a limited write capability is part of the digital rights management strategy of industries such as music, video, gaming, etc. Compliance with the digital rights management strategy of these industries may be accomplished by placing a third software component on the card 10. This software is called content protection software (CPS). It is placed on the card 10 so people cannot easily copy the content in a first card to a second card and have the content play correctly from the second card.
[038] One function of the CPS is that it is self-enabled to detect that it has been placed on a flash memory card (a card capable of multiple writes). When this state is detected by the CPS code, the CPS code may interact with the content decoder program such that the card content is prevented from playing on a hardware device. [039] With reference to video encoding, the well-known Sissler Video Correction Fully Automatic Encoding Algorithm (SVCFAEA) takes the raw video and makes it easier to encode using motion blur technologies. With SVCFAEA, if there is not enough power in the computer to process the video playback at full frame speed, then the video content is modified so it visually looks nearly the same and yet takes less memory and can be decoded at visually pleasing speeds. In an embodiment of the present invention, the SVCFAEA algorithm is used to modify the file 50 to be loaded on the card 10 by using a series of varying filters. These filters are applied by measurement of the amount of quantitization to be retained in the file 50. This process is designed to reduce the data rate required of the decoder such that frames are not dropped by the decoder during the decoding operation. The SVCFAEA process is particularly useful as it is an automated manufacturing process as opposed to a manual process. This reduces the cost of manufacture of the files 50. [040] Preparation of a card 10 carrying a file 50 may be achieved, in an embodiment, in a particular manner. An application is assessed to determine the appropriate type of storage card (e.g., flash or read only). A permutation of a rolling decoder may be selected. Audio/video in digital form accessible to a PC workstation may be obtained. The Video may be preprocessed to acceptable dimensions. Nominally this may be 240 lines by 320 pixels. The frame rate may be reduced to one half of the original with a target of 15-20 frames per second. The complexity of the video may be assessed with respect to both intra-frame detail and inter-frame motion. Frame-by-frame filtering may be performed where deemed appropriate. Brightness may be adjusted by computing the histogram of the luma pixels and adding sufficient bias to each pixel such that no more than 5%, for example, of all luma pixels are above a nominal saturation level. The audio/video sequence may be encoded with rate control imposed. The average required quantization levels may be recorded. Periods of heavy quantization (combining of individual data items into fewer data items to reduce heavy decoding requirements) may be ascertained. These may be candidate areas for further filtering. The encoded data may be transferred to a test card with an embedded AC player program. Using a handheld device, the video may be played. The complete video may be monitored, paying particular attention to the heavily quantized areas, brightness saturation and audio quality. Parameters may be readjusted and the coding/testing process from above may be repeated. [041] It should be appreciated that implementations of embodiments described herein need not be limited to memory storage cards. For example, embodiments of the invention may be realized in the use of compact discs (CDs), digital video discs (DVDs), any flash or read only (non-volatile memory), floppy disks, Flash Drives, smart cards or any storage media that supports digital storage. Consequently, the electronic storage system 100 may alternatively include personal computers, workstations, or any other device operable to process digital media.
[042] It should further be appreciated that an embodiment of the invention may be achieved by modulating a signal to carry the multimedia file 50, along with the player/decoder and/or decryption programs required to process the file.
[043] A content protection solution utilizing the above-described embodiments provides a user of a mobile viewing device, such as, for example, a personal digital assistant (PDA) or mobile telephone (e.g., cellular, or cell, phone), the same ease of use that he has at home with a medium such as DVD or video tape, .namely plug the medium in and it plays. No contact with a wireless carrier or web connection for validation to play need be made, nor are there any codes to enter.
[044] Content protection is described in the following in relation to the following two areas: 1 ) Technical Protection as it relates to a portable or removable data-storage medium, such as memory card media, and mobile devices; and 2) Administrative Protection covering physical security and distribution accountability.
[045] With regard to Technical Protection, embodiments of the invention may be described in terms of elements for content protection and anti-copying, with such embodiments relating to memory cards for cell phones and PDAs. At least some of these elements are described in U.S. Provisional Appln. No. 60/471 ,151 entitled "MULTIMEDIA CARD WITH MEMORY AND DECODER" filed May 16, 2003, and U.S. Appln. No. 10/848,224 entitled "MULTIMEDIA STORAGE SYSTEMS AND METHODS" filed May 17, 2004, each of which is incorporated herein by reference. [046] These elements for content protection and anti-copying and their combinations include the player and content being both contained a memory card, rolling encryption as described above, memory card serial-number matching, proprietary video/audio codecs, independence from device platform digital rights management (DRM), and watermarking for accountability,
Unique DRM elements and the combination of such elements contained in embodiments of the invention make it extremely difficult to copy and play content or to separate content from a card and player for independent use. [047] An embodiment of the invention combines the "Player" (which contains the proprietary codec) on the memory card along with the data, which provides numerous advantages. Being separate from a software "player" preloaded in a Cellular/PDA device such as Microsoft's Media Player®, RealPlayer® or a 3GPP/ MPEG-4 Player, like DivX, the on-card player in this embodiment of the invention permits serial number matching, encryption variability, and proprietary codec implementation:
[048] This embodiment enables the use of serial number matching (described below) as a principal anticopy method. Unique serial numbers stamped on the memory cards are used to distinguish original files from copied filed when the stamped ID is also input into the content stream, as will be described in more detail below.
[049] This embodiment also allows independent control of the decryption functions. The on-card player enables execution of the Rolling Decrypter (described in more detail for this embodiment below) and its algorithms as well as key decipherment/placement for further protection against unauthorized play. Any pre-loaded player would be restricted to using pre-loaded in-device DRM techniques, none of which has been adopted by any device makers or carriers, which without adoption make such decryption unavailable. See, e.g., "http://www.theregister.co.Uk/2005/05/11/gsma_drm_challenge/." [050] This embodiment also Implement a proprietary codec, with the player implementation of this codec providing further protection against unauthorized play. No version of the proprietary codec is available to the public. This means that if the encryption is ever compromised by a threat, the compromisers would have to take on the enormously difficult task of additionally reverse engineering the proprietary video/audio codecs to play the content. This contrasts with any content which was coded with a standard codec such as DivX/MPEG-4, Microsoft Media Player®, or RealNetworks® Player, all of which are widely available to play any decrypted content.
[051] This embodiment also utilizes rolling encryption/decryption, which is a dynamic process whereby the actual encryption elements are varied from content batch to content batch. These changes and variations cause encryption compromisers to be required to code break for each title/batch to get new content. The elements such as the unique encryption algorithm selection or, at a minimum, key handling, parsing and location functions within the same encryption algorithm framework will be made to orderly vary on a batch basis or, in the case of rewritable cards, could even be varied from card to card at load time. [052] There are multiple general purpose encryption algorithms/systems which provide a good level of security. These include U.S. Government's approved Advanced Encryption Standard (AES), Triple Data Encryption Standard(DES), and several others. The content can be uniquely encrypted by changing the actual encryption algorithm used to encrypt the programs and content or by changing the key structure/length within the same algorithm. An embodiment of the invention uses keys lengths which insure good protection. Improved security can be achieved by varying the encryption keys of the selected encryption algorithms. By changing the length, parsing, distribution and location of the hidden keys and spreading these minute amounts of information over a very large block of storage, typically in the hundreds of millions of bytes will yield security. This information will be available for retrieval through the Player for control of the decryption. Those decrypting parameters within any given algorithm selection will be known to the Player through computation. The parameters would be by the batch in the case of ROM or it could be used at the individual card level for Flash memory loadings. As the loading of memory cards can be implemented through several processes, changing the actual encryption algorithm from AES to Triple DES or other prior to encrypting after encoding and changing the key locations, parsing and handling for any algorithm within the data stream can be easily implemented at card loading time.
[053] It is generally acknowledged that there is no perfect encryption scheme. The question in compromising encryption becomes how difficult it is going to initially be and to assess the difficulty of continuing to compromise new content after a single encryption compromise has been completed. Should the compromiser be subjected to going through the same difficulty the second and subsequent times as for the first. With embodiments of the present invention, in order to obtain content for each new piece, an unauthorized party will have to assess whether this will be worth the effort. Rolling Encryption should make that decision easy.
[054] Rolling encryption/decryption provides a dynamic framework for preventing a single compromise of the encryption process to yield compromises of entire generations of encrypted content without enormous continuing effort. A compromise under Rolling Encryption yields only content on one batch of cards (or one card) rather than compromised generations of content.
[055] Each individual Flash Memory card and each batch of Read-Only Memory cards contain unique serial numbers stamped on the card and known as CID's, just as the hard drive on your desktop has a unique serial number. An anti copy solution according to an embodiment of the invention utilizes the CID to prevent card copying and playing. This is accomplished by placing the actual CID as read by the Cell/PDA's card device driver into the content data stream hidden and parsed among hundreds of megabytes of data and read in as part of the content data. By comparing the CID of the card to that in the data stream and testing for a match, the Player will sense whether a copy has been made.
Insuring that there is actually a card in the device through the device driver and reading the actual data on the card for the CID comparison prevents any potential of copy to the hard drive.
[056] Even if a perfect bit-for-bit copy of a card has been completed, the CID's will be different. By having the player and data on the same card, this implementation possible. [057] When using Flash rewritable cards, the exact content of each separate card will be separate from the physical CID available from the card. Read-only memory cards would be batch encoded with common CID and single encryption/decryption and key scheme for any given ROM batch output. [058] A proprietary video codec according to an embodiment of the invention has performance characteristics similar to better known video codecs such as MPEG -4, Real Player® and Windows Media Player®. This codec performs nearly as well, though it is not as complex in implementation as H-264 (MPEG-4 Part 10) codec. The H264 codec cannot be implemented to operate on most mobile devices with their limited on-board computing power. The significant advantage of a proprietary codec in content protection is that it serves as another level of encryption in that the bit stream may not be decoded by any other known or commercially available codec. Should all the encryption and security be compromised, an unlikely case, use of the proprietary codec will prevent viewing of the content on devices other than the intended mobile device and will prevent widespread viewing of the content.
[059] A content protection solution according to an embodiment of the invention is based on an "Everything is on the Card" approach whereby there are no dependencies on the cell phone/PDA save for those obvious ones of providing an operating system, a card slot, a fast enough internal CPU processor, a display screen, and audio output. Nor is there dependence on Wireless Cellular Carriers or the Internet for decryption key accesses. An approach according to an embodiment of the invention requires no pre-installed DRM or decryption processes. These could not accommodate rolling decryption anyway. Further any video player pre installed would not be able to provide those content protection advantages of the Player on the card approach described earlier.
[060] An embodiment of the invention also includes a watermark with a to-be- defined number of characters added to the encoded content prior to encryption. This will provide the ability to trace the physical origins of any illegally hacked content in the unlikely event the content is hacked. The unique watermark may define the encoding house details, date, and other required information [061] An embodiment of the invention provides for secure facilities to encode the content into its proprietary video format for transfer to the cards in the actual production facilities, such as Motion Picture Association of America (MPAA) approved production facility. There may be provisions for transferring the encoded, encrypted and watermarked content along with all software required for the Player Serialization processor and decryption with key handling. Content may be transferred from a studio to the approved encode/ production facility where standard industry procedures involving logs and safes will be utilized.
[062] According to these embodiments of the present invention, the content may be encoded at differing resolutions as the pixel density on cell phones becomes greater. The initial ranges are 208 x 176 and 320 x 240 and resolutions up to VGA are anticipated. Following encoding, the content may be secured prior to card loading using the appropriate encryption algorithms and key structure. AES and Triple DES may be among the encrypting algorithms. A unique decryption key may be generated for each card/card batch and these will be maintained separate from the content. In support of accountability, all content processed may be uniquely watermarked for each distribution point that the content is transferred to. The appropriate card/card batch specific modifications to the Player may be required to implement the Rolling Decrypter and Serialization processes at card load time.
[063] The preceding discussion is presented to enable a person skilled in the art to make and use the invention. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the generic principles herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.

Claims

WHAT IS CLAIMED IS:
1. A method storing content in a memory, the memory having a corresponding memory identification and the method comprising: encoding content that is to be stored in the memory; encrypting the encoded content; storing in the memory the encrypted encoded content; storing a decryption program in the memory, the decryption program operable, when executed, to decrypt the encrypted encoded content to provide the encoded content; storing a decoding program in the memory, the decoding program operable, when executed, to decode the encoded content; and linking at least one of the encrypted and encoded content, decryption program, and encryption program to the memory identification.
2. The method of claim 1 further comprising: reading the memory identification of the memory; reading at least one of the decryption and decoding programs from the memory; and determining from the read memory identification and each read one of the decryption and decoding programs whether the program or content is properly linked to the card; and when the program or content is properly linked, decrypting and decoding the content; and when the program or content is not properly linked, taking an alternative action.
3. The method of claim 1 wherein taking an alternative action includes not decrypting and/or not decoding the content.
4. The method of claim 1 wherein the memory comprises a memory card and wherein the method further comprises: providing rolling encoding by encoding the content in different ways for different memory cards; and for each memory card, storing a corresponding decoding program that is operable, when executed, to decode the corresponding encoded content.
5. The method of claim 1 wherein the memory comprises a memory card and wherein the method further comprises: providing rolling encryption by encrypting the content in different ways for different memory cards; and for each memory card, storing a corresponding decrypting program that is operable, when executed, to decrypt the corresponding encrypted and encoded content.
6. The method of claim 5 wherein the operation of encoding content is done to the entire content and the operation of encryption is done only to selected portions of the encoded content.
7. The method of claim 1 wherein the operation of encrypting utilizes a key selected from a set of keys to encrypt the content.
8. The method of claim 1 wherein the memory comprises a memory card and wherein the memory identification comprises a serial number assigned to each memory card or a batch number assigned to a group of memory cards.
9. An article of manufacture, comprising: a machine-readable medium having stored thereon: encrypted and encoded content; a decryption program operable, when executed, to decrypt the encrypted encoded content to provide encoded content; a decoding program operable, when executed, to decode the encoded content; and linking data that links at least one of the encrypted and encoded content, decryption program, and encryption program to the memory identification.
10. The article of claim 9 wherein the content comprises multimedia content.
11. The article of claim 9 wherein the linking data comprises a manufacturer's serial number associated with the article.
PCT/US2006/021685 2005-06-03 2006-06-05 Content protection system and method for memory cards in electronic devices WO2006133059A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US68739605P 2005-06-03 2005-06-03
US60/687,396 2005-06-03

Publications (2)

Publication Number Publication Date
WO2006133059A2 true WO2006133059A2 (en) 2006-12-14
WO2006133059A3 WO2006133059A3 (en) 2007-08-16

Family

ID=37498983

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/021685 WO2006133059A2 (en) 2005-06-03 2006-06-05 Content protection system and method for memory cards in electronic devices

Country Status (1)

Country Link
WO (1) WO2006133059A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010126695A1 (en) * 2009-04-28 2010-11-04 Sandisk Corporation Memory device and method for adaptive protection of content
WO2011081732A1 (en) * 2009-12-31 2011-07-07 Sandisk Corporation Storage device and method for providing a scalable content protection system
CN113014965A (en) * 2021-03-03 2021-06-22 成都知了汇智科技有限公司 Video processing method in TF card

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028699A1 (en) * 2001-08-02 2003-02-06 Michael Holtzman Removable computer with mass storage

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028699A1 (en) * 2001-08-02 2003-02-06 Michael Holtzman Removable computer with mass storage

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TOSHIBA: 'Toshiba's SD-Card-Based Digital Rights Management System Open up Full Potential of Digital Content Distribution Market' 17 September 2003, pages 1 - 2 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010126695A1 (en) * 2009-04-28 2010-11-04 Sandisk Corporation Memory device and method for adaptive protection of content
CN102460456A (en) * 2009-04-28 2012-05-16 桑迪士克科技股份有限公司 Memory device and method for adaptive protection of content
US9075999B2 (en) 2009-04-28 2015-07-07 Sandisk Technologies Inc. Memory device and method for adaptive protection of content
CN102460456B (en) * 2009-04-28 2015-07-15 桑迪士克科技股份有限公司 Memory device and method for adaptive protection of content
WO2011081732A1 (en) * 2009-12-31 2011-07-07 Sandisk Corporation Storage device and method for providing a scalable content protection system
US9032535B2 (en) 2009-12-31 2015-05-12 Sandisk Technologies Inc. Storage device and method for providing a scalable content protection system
CN113014965A (en) * 2021-03-03 2021-06-22 成都知了汇智科技有限公司 Video processing method in TF card

Also Published As

Publication number Publication date
WO2006133059A3 (en) 2007-08-16

Similar Documents

Publication Publication Date Title
US9921746B2 (en) Multimedia storage systems and methods
CN1267801C (en) Method and apparatus for protection of recorded digital data
JP4740157B2 (en) Protect digital data content
JP4219681B2 (en) System, method and device for playing audio, video or other content recorded from non-volatile memory card, compact disc or other media
US6691229B1 (en) Method and apparatus for rendering unauthorized copies of digital content traceable to authorized copies
US20070162982A1 (en) Method and system for providing copy-protection on a storage medium and storage medium for use in such a system
MXPA01003577A (en) Copy protection system and method.
CN100403435C (en) Reliable storage medium access control method and device
KR20020042868A (en) Method and device for controlling distribution and use of digital works
US20090217055A1 (en) Apparatus and Method for Preventing Unauthorized Copying
KR20010043582A (en) Copy-protection on a storage medium by randomizing locations and keys upon write access
JP2000228060A (en) Data recording/reproducing device using portable storage medium
CN1554087A (en) Record carrier for storing a digital work
WO2006133059A2 (en) Content protection system and method for memory cards in electronic devices
US20020168068A1 (en) Method of and system for encrypting digital data, method of and apparatus for reproducing digital data, and computer product
KR100974449B1 (en) Method for managing a copy protection information of optical disc
CN101587723B (en) Anti-copy optical storage medium and manufacturing method thereof
US8397303B2 (en) Memory controller, nonvolatile storage system, and data management method
Rejani et al. Digital data protection using steganography
US20130042102A1 (en) Information processing device and information processing method, and program
US7808867B2 (en) System with read protecting function
MXPA00011118A (en) A method and system for providing copy-protection on a storage medium and storage medium for use in such a system
KR20070059586A (en) Data processing method for device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06772111

Country of ref document: EP

Kind code of ref document: A2