1. A system for identifying a group of content players, comprising:
a programmed hardware processor configured to:
determine a number of encryptions and related content encryption keys used to track and transmit these related content encryption keys into individual content players;
produce a plurality of copies of selected critical data content packets, each copy of which is separately encrypted using any one of said previously determined encryptions and any of said related content encryption keys, where said related content encryption keys are sub-title keys;
incrementally encrypt data content frames through the use of a plurality of said sub-title keys prior to transmission of encrypted content;
transmit the related set of content encryption keys as device keys and data describing key relationship and content player identity to a previously determined license management agency,
identify by the content encryption keys a non-authorized content player which leaked the content encryption keys when the content encryption keys are exposed, and
creates and disseminates by the license management agency a plurality of Sequence keys related to said device keys;
transmit the incrementally encrypted content to a plurality of individual players, each player of which receives content encrypted by an incrementally different set of content encryption keys from said set of related content encryption keys,
where said incremental encryption is performed on frame headers of content identified as critical content; and
where said processor writes the transmitted encrypted content to a receiving device or file, or streams the encrypted content to an individual player for non-synchronous playback.
2. The system as in claim 1, where said license management agency creates and disseminates a plurality of Sequence keys related to said device keys.
3. A method as in claim 1, where said license management agency creates and disseminates a plurality of Key Variants.
4. The system as in claim 1, where said content encryption keys are related by an algorithm that assigns a different content encryption key to each nibble of a device key.
5. The system as in claim 1, where each nibble of a device key serves as a pointer to derive a Key Variant value based on shared device keys; and each Key Variant is used to construct a sub-title key.
6. The system as in claim 1, where encryption of content occurs in the transport layer prior to transmission of any encrypted content.
7. The system as in claim 1, where said incremental encryption is performed on frame headers of content identified as selected critical data.
8. The system as in claim 1, where selected critical data comprises at least I-frames for MPEG encoded content.
9. A non-transitory computer readable storage medium storing instructions which, when executed on a programmed processor, carry out a process of preventing identifying a source of content encryption keys, comprising:
disseminating a previously determined, related set of device keys into individual content players;
determining a number of encryptions and a number of content encryption keys to use in encrypting content;
producing a plurality of copies of selected critical data content packets, each copy of which is separately encrypted using any one of said previously determined encryptions and any one of related content encryption keys;
incrementally encrypting data content frames prior to transmission of encrypted content, where said incremental encrypting is performed on frame headers of content identified as critical content;
transmitting a related set of content encryption keys and data describing key relationship and content player identity to a previously determined license management agency, where the content encryption keys identify a non-authorized content player which leaked the content encryption keys when the content encryption keys are exposed, and where said license authority creates and disseminates a plurality of Sequence keys related to said device keys;
transmitting encrypted content to a plurality of individual players, each player of which receives content encrypted by an incrementally different set of content encryption keys from said set of related content encryption keys; and
where said transmitted encrypted content is written to a receiving device or file, or streamed to an individual player for non-synchronous playback.
10. The non-transitory computer readable storage medium storing instructions of claim 9 which, when executed on a programmed processor, carry out a process of identifying a player that leaks encryption keys, where encryption of content occurs in the transport layer prior to transmission of any encrypted content.
11. The non-transitory computer readable storage medium storing instructions of claim 10 which, when executed on a programmed processor, causes the derivation of content encryption keys which if exposed would identify the non-authorized content player which leaked the content encryption keys, wherein said set of device keys have been previously created by a license authority.
12. The non-transitory computer readable storage medium storing instructions of claim 10 which, when executed on a programmed processor, causes the derivation of content encryption keys which if exposed would identify the non-authorized content player which leaked the content encryption keys, where said license management agency creates and disseminates a plurality of Key Variants.
13. The non-transitory computer readable storage medium storing instructions of claim 10 which, causes the derivation of content encryption keys which if exposed would identify the non-authorized content player which leaked the content encryption keys, where said content encryption keys are related by an algorithm that assigns a different content encryption key to each nibble of the device key.
14. The non-transitory computer readable storage medium storing instructions of claim 13 which, when executed on a programmed processor, carry out a process of identifying a player that leaks encryption keys, where said algorithm comprises a binary tree relationship.
15. The non-transitory computer readable storage medium storing instructions of claim 10 which, when executed on a programmed processor, causes the derivation of content encryption keys which if exposed would identify the non-authorized content player which leaked the content encryption keys, where each nibble of a device key serves as a pointer to derive a Key Variant value based on shared device keys; and each Key Variant is used to construct a sub-title key.
16. The non-transitory computer readable storage medium storing instructions of claim 10 which, when executed on a programmed processor, causes the derivation of content encryption keys which if exposed would identify the non-authorized content player which leaked the content encryption keys, where said determining is provided by a license authority, and comprises at least three of said related keys.
17. The non-transitory computer readable storage medium storing instructions of claim 10 which, when executed on a programmed processor, causes the derivation of content encryption keys which if exposed would identify the non-authorized content player which leaked the content encryption keys, where said data describing key relationship and content player identity are sufficient to identify at least a group of players for said selected critical data after transmission to said players.
18. The non-transitory computer readable storage medium storing instructions of claim 9 which, when executed on a programmed processor, carry out a process of identifying a player that leaks encryption keys, where the selected critical data content packet comprises at least I-frames for MPEG encoded content.
19. The non-transitory computer readable storage medium storing instructions of claim 9 which, when executed on a programmed processor, carry out a process of identifying a player that leaks encryption keys, further comprising instructions that:
cause a processor to select an encryption key; and
encrypts a first portion of content with said selected encryption key; and
testing an encryption key list to determine if a key just used is the last key in a set of selected encryption keys; then
if the key just used is the last key in the set of the selected encryption keys, select the first key in the set of the selected encryption keys again;
if the key just used is not the last key in the set of the selected encryption keys, select the next key in the set of the selected encryption keys; then
the processor tests to see if all content has been encrypted.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method comprising:
forming a plurality of floating gate patterns and floating gate oxide patterns spaced apart on a semiconductor substrate;
forming a trench in the semiconductor substrate in the space between the floating gate patterns;
forming a control gate pattern in the trench by depositing a control gate material in the trench and then performing a first etching process on the control gate material such that after the first etching process the control gate pattern comprises a first control gate pattern portion extending parallel to the sidewalls of the floating gate patterns and a second control gate pattern portion extending perpendicular to the sidewalls of the floating gate patterns and over the floating gate patterns;
forming a dielectric layer pattern on the control gate pattern after forming the trench;
simultaneously forming a pair of second control gate patterns and a second trench between the second control gate patterns by performing a second etching process on the control gate pattern to expose a portion of the semiconductor substrate in the trench, wherein the dielectric layer pattern is formed before simultaneously forming the pair of second control gate patterns and the second trench;
forming a first oxide layer on a respective sidewall of the second control gate patterns provided in the trench;
forming a source region in the exposed portion of the semiconductor substrate in the second trench; and then
forming a metal layer filling the second trench and on a portion of the uppermost surface of the second control gate patterns.
2. The method of claim 1, further comprising, after forming the plurality of floating gate patterns and floating gate oxide patterns and before forming the trench:
forming a second oxide layer on the floating gate patterns by performing an oxidation process on the floating gate patterns;
forming spacers composed of the second oxide layer on sidewalls of the floating gate patterns;
forming a third oxide layer on the uppermost surface of the floating gate patterns.
3. The method of claim 1, further comprising, after forming the trench and before forming the control gate pattern:
forming a fourth oxide layer on the uppermost surface of the trench.
4. The method of claim 1, wherein the metal layer comprises aluminum.
5. The method of claim 1, wherein electrically insulating the source line pattern comprises:
forming the first oxide layer by performing an oxidation process on the second control gate patterns.
6. A method comprising:
forming a plurality of floating gate patterns spaced apart on a semiconductor substrate;
forming a plurality of oxide layer patterns covering the upper, bottom and side walls of the floating gate patterns;
forming a trench in the semiconductor substrate in the space between an adjacent pair of the floating gate patterns;
forming a control gate pattern by depositing a control gate material in the trench and then performing a first etching process on the control gate material such that after the first etching process the control gate pattern includes a first control gate pattern portion formed in the trench between the adjacent pair of floating gate patterns and a second control gate pattern portion connected to the first control gate pattern and over the floating gate patterns and also over and contacting the oxide layer patterns formed on the upper walls of the adjacent floating gate patterns;
forming a pair of second control gate patterns spaced apart by performing a second etching process on the control gate pattern to expose a portion of the semiconductor substrate at the trench;
forming a source region in the exposed portion of the semiconductor substrate; and then
forming a source electrode in the space between the second control gate patterns, the source electrode including a first source electrode portion extending parallel to the sidewalls of the second control gate patterns and a second source electrode portion extending parallel to and over the upper surface of second control gate patterns.
7. A method comprising:
forming a plurality of floating gate patterns on a semiconductor substrate;
forming a plurality of oxide layer patterns covering the floating gate patterns;
forming a trench in the semiconductor substrate in a space between an adjacent pair of the floating gate patterns;
depositing a control gate material in the trench and over the semiconductor substrate;
forming a control gate pattern by performing a first etching process on the control gate material such that after the first etching process the control gate pattern includes a first control gate pattern portion formed in the trench and a second control gate pattern portion connected to the first control gate pattern, wherein the second control gate pattern has an uppermost surface that lies in a plane above the uppermost surface of the oxide layer patterns and the floating gate patterns;
forming a pair of second control gate patterns spaced apart by performing a second etching process on the control gate pattern to expose a portion of the semiconductor substrate at the trench;
forming a source region in the exposed portion of the semiconductor substrate; and then
forming a source electrode in the space between the second control gate patterns.