What is claimed is:
1. A universal mobile ID (UMID) system for use in a computer system including a client computer employed by a user and a server computer from which the client computer downloads content via a network, comprising:
a public PIN associated with the client computer; and at least one of:
user-specific information, including at least one of:
user preferences that can be used by the server to filter the content; and
access rights that can be used by the server to limit access of the user to the content; and
device-specific information, including at least one of:
device attributes of the client that can be used by the server to customize the content so that it is suitable for use on the client; and
date of birth (DOB) of the client; at least a subset of the user preferences, access rights and device attributes being dynamically modifiable by any combination of the user and a client program executing on the client computer; and
the public PIN, user-specific information and device-specific information being transmitted to the server by the client to enable the server to appropriately configure the content to be downloaded to the client.
2. The UMID system of claim 1, further comprising:
a secret PIN associated with the client accessible to the client and the server;
wherein the secret PIN is used by the server, when the content is encrypted, to generate a decryption factor with which the client, in conjunction with the secret PIN, can decrypt the encrypted content.
3. The UMID system of claim 2, wherein the secret PIN is stored on both the client and the server at birth.
4. The UMID system of claim 3, wherein:
the secret PIN stored on the client is encrypted prior to storage with an encryption key derived at least partially using biometric information taken from the user.
5. The UMID system of claim 1, wherein the secret PIN is generated by a client security program executing on the client and is transmitted to the server in a secure manner.
6. The UMID system of claim 5, wherein the secret PIN is generated using at least one of:
(1) hardwaresoftware configuration information assumed to be unique for the client,
(2) patterns of bits in selected files stored on the client; and
(3) a set of biometric information associated with the user.
7. The UMID system of claim 6, wherein the biometric information includes at least one of:
handwriting characteristics;
one or more fingerprints;
voice print;
retina pattern; and
typing pattern.
8. The UMID system of claim 6, wherein, when the secret PIN is generated using the biometric information, the secret PIN is not stored on the client.
9. The UMID system of claim 6, wherein the secret PIN is stored on the client in a secure manner.
10. The UMID of claim 9, wherein, when the secret PIN is derived using the biometric information, prior to storage the secret PIN is encrypted with an encryption key derived at least partially using the biometric information.
11. The UMID of claim 1, wherein the public PIN, user-specific information, device-specific information, and date of birth (DOB) are stored on the client at birth.
12. The UMID of claim 1, wherein the public PIN, user-specific information and device-specific information are generated by the server in response to questions answered by the user and then downloaded to the client.
13. The UMID of claim 1, wherein:
the user preferences include:
types of content in which the user is interested;
image type;
color depth;
image scaling;
display attributes;
the access rights include blocking rights; and
the device attributes include:
memory size;
connection speed to the network; and
client device locality.
14. A method for providing digital rights management in an open, networked environment wherein a client computer is employed by a user to download content from a server computer via a network, comprising:
assigning the client a secret PIN;
registering the secret PIN with the server;
assigning the client a universal mobile ID (UMID), which includes:
a public PIN associated with the client computer; and at least one of:
user-specific information, including at least one of:
user preferences that can be used by the server to filter the content; and
access rights that can be used by the server to limit access of the user to the content; and
device-specific information, including at least one of:
device attributes of the client that can be used by the server to customize the content so that it is suitable for use on the client; and
date of birth (DOB) of the client;
associating in the server the secret PIN and the public PIN;
determining content stored on the server to be downloaded to the client;
customizing content to be downloaded to the server using at least a subset of the UMID;
encrypting on the server the content to be downloaded;
downloading the encrypted content to the client; and
decrypting on the client the encrypted content using a decryption key derived from the secret PIN.
15. The digital rights management method of claim 14, further comprising:
associating with a content item a respective content key;
encrypting the content item with the respective content key;
determining from the content key associated with the content to be downloaded and the secret PIN of the user a decryption factor;
the client employing the decryption factor and the secret PIN to derive the decryption key without which the client cannot access the encrypted content.
16. The digital rights management method of claim 14, wherein the secret PIN assigning step comprises setting the secret ID at the time of manufacturing of the client.
17. The digital rights management method of claim 14, wherein the secret PIN assigning step comprises generating the secret PIN using a client security program executing on the client.
18. The digital rights management method of claim 17, wherein the secret PIN generating step comprises generating the PIN as a function of at least one of:
(1) hardwaresoftware configuration information assumed to be unique for the client;
(2) patterns of bits in selected files stored on the client; and
(3) a set of biometric information associated with the user.
19. The digital rights management method of claim 18, wherein the biometric information includes at least one of:
handwriting characteristics;
one or more fingerprints;
voice print;
retina pattern; and
typing pattern.
20. The digital rights management method of claim 14, further comprising storing the secret PIN on the client in a secure manner.
21. The digital rights management method of claim 24, wherein the step of storing the secret PIN on the client in a secure manner comprises:
when the secret PIN is derived using the biometric information, encrypting the secret PIN with an encryption key derived at least partially using the biometric information, neither the encryption key nor an associated decryption key ever being permanently stored on the client, such that, when necessary, the client derives the decryption key and the encryption key using the biometric information.
22. The digital rights management method of claim 14, wherein the UMID assigning step comprises the server generating the public PIN, user-specific information and device-specific information in response to questions answered by the user and then downloading the UMID to the client.
23. The digital rights management method of claim 14, wherein:
the user preferences include:
types of content in which the user is interested;
image type;
color depth;
image scaling;
display attributes;
the access rights include blocking rights; and
the device attributes include:
memory size;
connection speed to the network; and
client device locality.
24. The digital rights management method of claim 14, further comprising the step of:
allowing any combination of the user and a client program to dynamically modify at least a subset of the user preferences, access rights and device attributes.
25. The digital rights management method of claim 24, further comprising:
when the device attributes include memory size, allowing the client program to dynamically modify the memory size in accordance with memory available in the client; and
the server modifying the content accordingly so that the content downloaded from the server fits in the memory available in the client.
26. The digital rights management method of claim 24, further comprising:
when the device attributes include connection speed, allowing the client program to dynamically modify the connection speed in accordance with current speed of client connection to the network; and
the server modifying the content accordingly so that the content downloaded from the server is compatible with the connection speed.
27. The digital rights management method of claim 14, wherein the content is for-pay content, further comprising:
paying the server for the content prior to the downloading step.
28. A secret PIN associated with a client configured to download encrypted content from a server, wherein:
the secret PIN is accessible to the client and the server;
the secret PIN is used by the server to generate a decryption factor with which the client, in conjunction with the secret PIN, can decrypt the encrypted content;
the secret PIN is reliably generated by the client anytime it is needed; and
neither the secret PIN nor data used to generate the secret PIN are stored on the client.
29. The secret PIN of claim 28, wherein the secret PIN is generated by a client security program executing on the client and is transmitted to the server in a secure manner.
30. The secret PIN of claim 29, wherein the secret PIN is generated using a set of biometric information associated with the user.
31. The UMID system of claim 30, wherein the biometric information includes at least one of:
handwriting characteristics;
one or more fingerprints;
voice print;
retina pattern; and
typing pattern.
32. A dynamic, universal mobile ID for use in a client computer configured to download content from a server computer, comprising:
device information that describes configuration of the client;
at least a subset of the device information being dynamically modifiable by the client computer;
the dynamic universal mobile ID being transmitted to the server computer to enable the server computer to customize the content to be downloaded to the client computer;
33. The dynamic, universal mobile ID of claim 32, wherein the subset includes device parameters impacting at least one of:
size of the content that can be stored in client memory;
bandwidth of the content that can be transmitted between the client computer and the server computer;
complexity of the content that can be accessed by the client computer; and
geographic relevance of the content.
34. The dynamic, universal mobile ID of claim 32, wherein the device parameters include at least one of:
network connection speed between the client and server computers;
available network capacity;
processor capability;
available processor capacity;
available client memory;
client geographic position; and
client time zone.
35. The dynamic, universal mobile ID of claim 32, wherein the content is subscription content, further comprising:
subscription information indicating particular types of subscription content;
the server downloading the subscription content as appropriate in a push mode operation.
36. The dynamic, universal mobile ID of claim 35, further comprising:
payment information;
the server charging the client for downloaded subscription content using the payment information.
37. The dynamic, universal mobile ID of claim 35, wherein the server charges the client for downloaded subscription content using payment information forwarded to the server by the server in a separate registration operation.
38. A method for enabling a client computer to download and use encrypted content from a server computer, comprising:
a registration phase, including:
the client transmitting to the server a secret PIN associated with the client computer; and
the server associating with the secret PIN a public PIN associated with the client computer; and
a downloading phase, including:
the client issuing a request to the server for the encrypted content;
the client identifying itself as the source of the request using the public PIN;
the server looking up the secret PIN using the public PIN;
the server generating a decryption factor based on the secret PIN that can be used by the client in conjunction with the secret PIN to decrypt the encrypted content;
the server transmitting the encrypted content and the decryption factor to the client.
39. The method of claim 38, further comprising:
the client deriving a decryption key using the decryption factor and the secret PIN;
the client decrypting the encrypted content using the decryption key.
40. The method of claim 38, wherein:
the encrypted content is for-pay content;
the registration phase includes the client forwarding to the server payment information; and
the downloading phase includes the client authorizing payment for the for-pay content.
41. The method of claim 38, wherein:
the secret PIN is reliably generated by the client anytime it is needed; and
neither the secret PIN nor data used to generate the secret PIN are stored on the client.
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 circuit comprising:
a current source configured to (i) receive a first reference voltage, and (ii) supply an output current;
an inverter having a transconductance, wherein the inverter comprises
a first transistor having a source and a drain, wherein the source of the first transistor is connected to the current source, and wherein the source of the first transistor is configured to receive a portion of the output current, and
a second transistor having a source, wherein the source of the second transistor is connected to the drain of the first transistor; and
a device configured to select the first reference voltage such that the output current of the current source varies with changes in a temperature of the current source to (i) maintain the transconductance of the inverter at a same value, and (ii) prevent changes in respective transition frequencies of both the first transistor and the second transistor.
2. The circuit of claim 1, wherein:
for the first reference voltage, the output current of the current source varies at a first rate with the changes in the temperature of the current source; and
for a second reference voltage, the output current of the current source varies at a second rate with the changes in the temperature of the current source, wherein the second rate is different than the first rate.
3. The circuit of claim 1, wherein the device comprises the current source.
4. The circuit of claim 1, wherein:
in response to each of a plurality of voltages, the output current of the current source varies with the changes in the temperature of the current source such that (i) the transconductance of the inverter is maintained at the same value, and (ii) the respective transition frequencies of the first transistor and the second transistor are prevented from changing;
the device is configured to select the first reference voltage from the plurality of voltages; and
the first reference voltage is a lowest one of the plurality of voltages.
5. The circuit of claim 1, wherein:
the first transistor comprises a gate; and
the second transistor comprises a gate, wherein the source of the second transistor is connected to (i) the drain and the gate of the first transistor, and (ii) the gate of the second transistor.
6. The circuit of claim 1, wherein:
the current source comprises a variable resistance;
the current source is configured to (i) for a first scan of the current source, receive the first reference voltage, and (ii) in response to the first reference voltage, output a first level of current;
the current source is configured to (i) for a second scan of the current source, receive a second reference voltage instead of the first reference voltage, and (ii) in response to the second reference voltage, output a second level of current; and
the variable resistance is configured to, for a predetermined temperature of the current source, be adjusted from a first resistance to a second resistance to adjust the output current from the second level of current to the first level of current.
7. The circuit of claim 1, further comprising:
a buffer connected to the source of the first transistor, wherein the buffer is configured to (i) receive the first reference voltage, and (ii) generate a supply voltage in response to the first reference voltage; and
a divider configured to (i) receive an input signal, and (ii) based on the supply voltage and the input signal, generate an output signal.
8. The circuit of claim 1, wherein the current source comprises:
a buffer comprising a first input and a second input, wherein the first input of the buffer is configured to receive the first reference voltage, and wherein the buffer is configured to generate an output signal in response to the first reference voltage;
a third transistor comprising a gate and a drain, wherein the gate of the third transistor is configured to receive the output signal;
a variable resistor connected to the drain of the third transistor;
a fourth transistor connected to the variable resistor; and
a fifth transistor comprising a gate and a drain, wherein the gate of the fifth transistor is configured to receive the output signal, and wherein the drain of the fifth transistor is configured to provide the output current.
9. A method comprising:
receiving a first reference voltage at a current source;
generating, via the current source, an output current in response to the first reference voltage;
supplying a portion of the output current from the current source to an inverter, wherein the inverter has a transconductance, and wherein the inverter comprises
a first transistor having a source and a drain, wherein the source of the first transistor is connected to the current source, and wherein the source of the first transistor is configured to receive the portion of the output current, and
a second transistor having a source, wherein the source of the second transistor is connected to the drain of the first transistor; and
selecting the first reference voltage such that the output current of the current source varies with changes in a temperature of the current source to (i) maintain the transconductance of the inverter at a same value, and (ii) prevent changes in respective transition frequencies of both the first transistor and the second transistor.
10. The method of claim 9, wherein:
for the first reference voltage, the output current of the current source varies at a first rate with the changes in the temperature of the current source; and
for a second reference voltage, the output current of the current source varies at a second rate with the changes in the temperature of the current source, wherein the second rate is different than the first rate.
11. The method of claim 9, wherein:
in response to each of a plurality of voltages, the output current of the current source varies with the changes in the temperature of the current source such that (i) the transconductance of the inverter is maintained at the same value, and (ii) the respective transition frequencies of the first transistor and the second transistor are prevented from changing;
the first reference voltage is selected from the plurality of voltages; and
the first reference voltage is a lowest one of the plurality of voltages.
12. The method of claim 9, wherein:
the first transistor comprises a gate; and
the second transistor comprises a gate, wherein the source of the second transistor is connected to (i) the drain and the gate of the first transistor, and (ii) the gate of the second transistor.
13. The method of claim 9, wherein:
the current source comprises a variable resistance;
for a first scan of the current source, (i) receiving the first reference voltage at the current source, and (ii) in response to the first reference voltage, supplying a first level of current from the current source to the inverter;
for a second scan of the current source, (i) receiving a second reference voltage instead of the first reference voltage, and (ii) in response to the second reference voltage, supplying a second level of current from the current source to the inverter; and
for a predetermined temperature of the current source, adjusted the variable resistance from a first resistance to a second resistance to adjust the output current from the second level of current to the first level of current.
14. The method of claim 9, further comprising:
while the current source is receiving the first reference voltage, establishing a first current versus temperature relationship by recording output currents of the current source for a first range of temperatures, wherein the first current versus temperature relationship has a corresponding first slope;
while the current source is receiving a second reference voltage, establishing a second current versus temperature relationship by recording output currents of the current source for a second range of temperatures, wherein the second current versus temperature relationship has a corresponding second slope;
based on the first slope and the second slope, determining whether the second current versus temperature relationship provides less variance in the transconductance than the first current versus temperature relationship; and
selecting the second reference voltage in response to determining the second current versus temperature relationship provides less variance in the transconductance than the first current versus temperature relationship.
15. The method of claim 9, further comprising:
during a first scan and while the current source is receiving the first reference voltage, recording output currents of the current source for a plurality of temperatures;
during a second scan and while the current source is receiving a second reference voltage, recording output currents of the current source for the plurality of temperatures; and
tuning a variable resistance of the current source based on results of the first scan and the second scan.
16. The method of claim 9, further comprising:
during a first scan and while the current source is at a first temperature, recording output currents of the current source for a plurality of reference voltages;
during a second scan and while the current source is at a second temperature, recording output currents of the current source for the plurality of reference voltages; and
tuning a variable resistance of the current source based on results of the first scan and the second scan.
17. The method of claim 9, further comprising:
analyzing current versus temperature relationships for a plurality of reference voltages; and
selecting the first reference voltage based on results of the analyzing of the current versus temperature relationships,
each of the current versus temperature relationships has a corresponding slope; and
the first reference voltage corresponds to the current versus temperature relationship having a slope with a minimum corresponding variance in the transconductance.
18. A method comprising:
selecting a first reference voltage;
receiving the first reference voltage at a current source;
based on the reference voltage, generating a output current via the current source;
recording a level of current output from the current source while (i) the current source is at a predetermined temperature, and (ii) the current source is receiving the first reference voltage;
subsequent to recording the level of current, selecting a second reference voltage, wherein the second reference voltage is different than the first reference voltage;
supplying the second reference voltage instead of the first reference voltage to the current source; and
tuning a variable resistance of the current source to match (i) the output current of the current source generated while the temperature of the current source is at the predetermined temperature and while the current source is receiving the first reference voltage to (ii) the level of current output from the current source while the temperature of the current source was at the predetermined temperature and while the current source is receiving the second reference voltage.
19. The method of claim 18, further comprising:
while the current source is receiving the first reference voltage, establishing a first current versus temperature relationship by recording output currents of the current source for a first range of temperatures, wherein the first current versus temperature relationship has a corresponding first slope;
while the current source is receiving the second reference voltage, establishing a second current versus temperature relationship by recording output currents of the current source for a second range of temperatures, wherein the second current versus temperature relationship has a corresponding second slope;
based on the first slope and the second slope, determining whether the second current versus temperature relationship provides less variance in a transconductance than the first current versus temperature relationship, wherein the transconductance is of an inverter; and
selecting the second reference voltage in response to determining the second current versus temperature relationship provides less variance in the transconductance than the first current versus temperature relationship.
20. The method of claim 18, wherein the output current of the current source varies with changes in a temperature of the current source.
21. The method of claim 18, further comprising selecting the first reference voltage such that a predetermined criteria is satisfied, wherein:
the predetermined criteria includes the output current of the current source
varying with changes in a temperature of the current source, and
being at a level to (i) maintain a transconductance of an inverter at a same value, and (ii) prevent changes in transition frequencies of transistors of the inverter; and
a plurality of reference voltages satisfy the predetermined criteria; and
the first reference voltage is a lowest one of the plurality of reference voltages satisfying the predetermined criteria.
22. The method of claim 21, further comprising:
receiving the first reference voltage at a buffer;
generating, via the buffer, a supply voltage in response to the first reference voltage, wherein the buffer is connected to a source of one of the transistors of the inverter;
receiving an input signal at a divider; and
based on the supply voltage and the input signal, generating an output signal.
23. The method of claim 18, further comprising:
receiving the first reference voltage at a first input of a first buffer, wherein the current source comprises the first buffer;
generating, via the first buffer, an output signal in response to the first reference voltage;
receiving the output signal at a gate of a transistor of the current source; and
providing the output current from a drain of the transistor to a second buffer.