The invention relates to techniques of implementing a unique identifier for individual integrated circuit chips for use in data encryption and decryption. The disclosure describes use of a unique identifier to increase the security of content to be stored on long-term storage media in a personal video recorder type system.
When audio/video data is processed by various circuits and components that provide functionality in a personal video recorder type system, some or all of the data is typically stored on a long-term storage device such as a hard disk. In order to provide copyright and licensing protection, it is desirable to provide encryption to protect the data from unauthorized copying and use. Typically, standard algorithms for data scrambling are used so that the security strength of the algorithm is well known and widely accepted. It is therefore the key(s) used by these algorithms that largely govern the security level of the whole system.
One common encryption algorithm is the Data Encryption Standard (DES, or Single-DES). However, Single-DES can be “cracked” within a few hours using commonly available computing resources. A further refinement referred to as Triple-DES provides significant strength improvement (a factor of 256). See, for example, Kaufman, Perlman and Speciner “Network Security,” Ch. 3, page 63, March, 1995 by Prentice Hall. Another well-known encryption algorithm is the Advanced Encryption System (AES). See, for example, Elaine Barker “NIST Cryptographic Toolkit”, published Oct. 16, 2000.
The hardware (e.g., integrated circuit) implementation of standard cryptographic algorithms is well known. However, in many situations, for example, personal video recording, each system must be uniquely distinguishable so that data written to the storage device of a system cannot be copied and used by another system, that may or may not be authorized. In other words, it is desirable that each system encrypt the data stored by that system with a key that is different from other systems. Furthermore, such unique keys can also be used to encrypt and protect movement of shared/public/group keys outside of an integrated circuit.
The unique key or ID must be securely stored either on the integrated circuit or on a secure device outside the integrated circuit. If the key is stored on an external device a secure transfer between the device and the integrated circuit performing the cryptographic operations must be provided.
In general, keys that are used to encrypt content to be stored on long-term and/or removable storage devices require a higher degree of protection. This is because, unlike broadcast communication scrambling systems, these keys do not change as often with time. Such keys are typically used for the life of the system or a session of the system. Architectures in which keys change over time require that the key be stored, typically on an external memory device. It is this memory that then becomes the weak point of the system.
The invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.
a is a block diagram of an integrated circuit and a read-only memory (ROM) to store a unique ID on a common die.
b is a block diagram of an integrated circuit and a read-only memory to store a unique identifier on different die in a single package.
c is a block diagram of an integrated control circuit having a unique identifier stored in an array of fuses on the integrated circuit.
d is a block diagram of the implementation of unique ID in which the integrated circuit obtains the ID from an external source.
e is a block diagram of an integrated circuit that derives a unique ID from a system value.
f is a block diagram of an integrated circuit that obtains a unique ID from an external smart device.
a is a block diagram of multiple personal audio/video systems sharing a common storage.
b is a block diagram of multiple personal audio/video systems sharing a common storage and using smart media to authorize encryption and decryption.
Techniques for secure storage of audio/video content in a personal audio/video recorder-type system are described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention can be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the invention.
The invention provides techniques for storing content securely in personal video recorder type systems. The storage device can be a hard disk, a removable storage medium, or any other type of storage medium. The integrated circuit (IC) to interface with the storage device uses a unique ID to encrypt or decrypt the content. Several embodiments are disclosed herein that maintain the secrecy of the unique ID such that is not easily accessible thereby defeating the encryption scheme.
A/V system 100 includes processing, storage, and communication devices that provide audio/video reception, playback, audio/video data processing, and data storage functionality. A/V system 100 includes control circuit 110 to control data flow and to provide necessary interfaces to communicate with other devices/components. In one embodiment, control circuit 110 is an application specific integrated circuit (ASIC); however, in other embodiments, control circuit can be implemented as multiple integrated circuits and/or can be a general-purpose control circuit. The processing capabilities of control circuit 110 generally include transport data decryption, program de-multiplexing, MPEG/DV decoding, video scaling, graphics functions, blending, color space and format conversion, audio mixing and cross-fading, and content encryption/decryption.
A/V system 100 includes audio/video reception device 120 that provides compressed or uncompressed audio/video data stream to control circuit 110. The A/V reception device 120 can include, but is not limited to, satellite/terrestrial tuners, IEEE 1394 devices, audio/video decoder devices, etc. Control circuit 110 provides the output signals to A/V play device 180 which can be a high-definition or NTSC/PAL television, a monitor, or any other type of device capable of displaying video and playing audio.
A/V system 100 includes read-only memory (ROM) 130 (or other static storage device) to store static information and instructions. This, for example, could be instructions required for booting up system 100 and initialize the components to their proper state and configuration. A/V system 100 further includes memory 140 to store transient information and instructions to be executed by control circuit 110 or any other component of system 100. Memory 140 can also be used to store temporary variables of other intermediate information generated by control circuit 110 in processing audio/video data. Memory 140 can be any type of dynamic memory known in the art e.g., SDRAM or DDR.
Control circuit 110 may also be coupled to, or provide an interface for, input/output devices 160. Input/output devices 160 can include, but are not limited to, smart cards (e.g., for user entitlement control functions), infrared control devices (e.g., remote controls), and other storage and processing devices that can be controlled by standard interfaces (e.g., general purpose input/output (GPIO), local bus, PC). In order to facilitate content sharing, A/V system 100 can also include network interface 170. Network interface 170 can be any type of network interface (e.g., PCI bus, USB) that allows additional media to provide a source of audio/video data stream to the control circuit 110.
Storage device 150 is used to store audio/video content that is processed by control circuit 110 and can be any storage device known in the art, for example, magnetic disks or optical discs with corresponding drives. As described in greater detail below, storage device 150 is used to store audio/video content for delayed playback. In the embodiment of
Control circuit 110 uses unique ID 115 to encrypt data to be sent to storage device 150 for long-term storage. Various embodiments and techniques for implementing unique ID 115 are described in greater detail below.
In one embodiment, control circuit 110 includes an implementation of a Triple DES or AES encryption/decryption algorithm. The key used for the encryption/decryption operations is a 128-bit key stored as unique ID 115. Other key lengths can also be used. Control circuit 110 can use the unique ID 115 itself as the key value in the encryption operations and causes encrypted data to be stored on the storage device 150. Whenever required encrypted data retrieved from storage device 150 is decrypted using the unique ID 115.
a is a block diagram of an integrated circuit and a read-only memory (ROM) to store a unique ID on a common die. Integrated circuit 210 can be any type of circuit that provides functionality in addition to encryption/decryption and an interface to the storage device as described herein. Integrated circuit 210 causes encrypted data to be used by the personal audio/video system to be stored on a storage device.
Encryption is provided by using the unique ID 225, which is transferred from the ROM to the IC whenever required. This interface for the transfer of the ID is buried in the die and is not easily accessible. In one embodiment, unique ID 225 is used as a private key to be used in Triple DES or AES encryption algorithms. In alternate embodiments, other encryption algorithms and/or multiple IDs can be used. In one embodiment, ID 225 is unique among all personal audio/video devices. In an alternate embodiment, ID 225 is not absolutely unique, but sufficiently unique that the likelihood of two systems having the same ID interact is acceptably low.
In the embodiment of
b is a block diagram of an integrated circuit and a read-only memory to store a unique identifier on different die in a single package. The interface between the ASIC and the ROM is hidden inside the package. In one embodiment, ROM die 310 is manufactured to include unique ID 315 using a manufacturing process independent of the ASIC die 320. Both dies are enclosed in a single package 300.
Unique ID 315 is programmed during the manufacture of ROM die 310. The embodiment of
The embodiment of
c is a block diagram of the unique ID stored in an array of fuses within the integrated circuit. ASIC die 410 is manufactured with an array of fuses 420 which are later appropriately blown to program an appropriate value. The fuses can be set, for example, by burning the fuses with a laser. The implementation of unique ID in the embodiment of
This implementation of unique ID would require custom design of the fuse cell arrays. Manufacturing is complex using current technology because the barrier metal of the fuse array is difficult to blow reliably. The embodiment of
d is a block diagram of an integrated circuit obtaining the unique ID from an external device 500. In the embodiment of
External device 500 may be a standard or a proprietary one and is connected to the control circuit 510 using any appropriate interconnection scheme, whether proprietary or standard. For example, an I2C bus can be used, an ISO 7816-3 interface, or a SCSI Parallel Interface (SPI)-type link can be used. The I2C (Inter-IC) bus is a bi-directional two-wire serial bus that commonly used to provide a communication link between integrated circuits. Specifications and products related to the I2C bus are available from Phillips Corporation. There are three data transfer speeds for the I2C bus: standard, fast-mode, and high-speed mode. Standard is 100 kbps. Fast-mode is 400 kbps, and high-speed mode supports speeds up to 3.4 Mbps.
The ISO 7816 interface is described in detail in a document entitled “Integrated circuit(s) cards with contacts—Part 3: Electronic signals and transmission protocols,” published by the International Organization for Standardization as document number 7816-3 in December 1997. One embodiment of a SPI is described in detail in the SCSI specifications available from IEEE.
Because the movement of the unique ID is in the clear, the embodiment of
e is a block diagram of a scheme in which the integrated circuit derives the unique ID from a system value. The system value can be, for example, a serial number from either a hardware component of the system or from a software application installed on the system.
In the embodiment of
The disadvantage of the embodiment of
f is a block diagram that illustrates a secure scheme of transferring the unique ID from an external “smart” device to the control circuit. To avoid attacks on the interface between control circuit 700 and “smart” storage device 750, the unique ID itself is encrypted and only then transferred on the interface by the following scheme, as an example. Control circuit 700 is coupled with “smart” storage device 750, which includes an encrypt/decrypt engine 760. In one embodiment, engine 760 is a Triple-DES encryption/decryption engine; however, other encryption techniques known in the art, for example, AES can be used. The two devices (700 and 750) share a common secret (i.e., the paired ID, S) that is used to protect the movement of the unique ID, K, from the storage device 750 to the control circuit 700. This common secret could be programmed, at system-install time by, for example, the content provider. The weak point in the embodiment of
In one embodiment, the connection between storage device 750 and control circuit 700 complies to a standard interface known in the art, for example, I2C, ISO 7816-3 or SPI. In alternate embodiments, other standard interfaces or a proprietary interface can be used.
Control circuit 700 includes encrypt/decrypt engine 720 that operates using the same encryption technique as engine 760 of device 750. In one embodiment, engine 720 of control circuit 700 is implemented as hardware and engine 760 of storage device 750 is implemented as micro-controlled firmware. In alternate embodiments, any combination of hardware and/or firmware implementations can be used. Control circuit 700 also includes random number generator 730 that generates random number (R). Any random number generator known in the art can be used.
Control circuit 700 and storage device 750 share a common secret number (S), which is stored in the control circuit (ID 710) as well as the “smart” storage device (ID 780). In one embodiment, the number S is a 64-bit number; however, any size can be used. As described in greater detail below, storage device 750 provides an encrypted copy of unique ID (K) 770 to the control circuit 700, thereby making the transfer of the unique ID secure. Control circuit 700 then uses this unique ID 770 to encrypt A/V data as described above.
One embodiment of a technique for secure transfer of the unique ID 770 to control circuit 700 is described. Variations of the technique can also be used. On boot-up, control circuit 700 generates a random number (R) using the random number generator 730. This random number is encrypted using the paired ID (S) 710 with the encrypt/decrypt engine 720 and is transmitted to the device 750. Device 750 then decrypts random number, R, with encrypt/decrypt engine 760 and using the paired ID, S. Then “smart” storage device 750 encrypts unique ID (K) 770 with encrypt/decrypt engine 760 and using the random number R before sending it to control circuit 700. Control circuit 700 decrypts the unique ID, K, using encrypt/decrypt engine 720 and the random number R. It must be noted that since random numbers are used, the transfer of unique ID over the interface will look different to a hacker every time its transferred at the beginning of a session.
a is a block diagram of multiple personal audio/video systems sharing a storage device. It is illustrated how unique ID can be useful in preventing unauthorized content sharing, despite the storage being shared by the two systems. This system interconnection, as illustrated in
Communications network 880 couples storage device 890 with A/V system 800 and A/V system 850. Communications network 880 can be any type of medium, whether wired or wireless, capable of communicating data between electronic devices. For example, communications network 880 can be one or more network cables, or communications medium can be one or more wireless network devices (e.g., IEEE 802.11 wireless LAN, HomeRF, Bluetooth). Any number of storage devices and/or A/V systems can be coupled with the communications network 880.
Storage device 890 can be any type of storage device capable of storing A/V content, whether fixed or removable. Storage device 890 can be part of a larger system (e.g., a server) or storage device 890 can be a stand-alone storage device.
A/V system 800 includes control circuit 810 and unique ID 815. The implementation of control circuit 810 and unique ID 815 can be any of the configurations described above. A/V system 800 can also include components in addition to those illustrated in
Similarly, A/V system 850 includes control circuit 860 and unique ID 865. The implementation of control circuit 860 and unique ID 865 can be any of the configurations described above. A/V system 850 can also include components in addition to those illustrated in
A/V system 800 and A/V system 850 can operate independently to record, playback, store, and/or otherwise use A/V data. When the A/V content is to be stored on shared storage 890 in a secure manner, the unique IDs of each A/V system are used to encrypt the content before writing out to storage 890. In a simple embodiment, A/V system 800 and A/V system 850 do not share encrypted data stored on storage device 890. In other words, content stored by A/V system 800 is not usable by A/V system 850 because A/V system 850 does not have access to the unique ID 815.
In more sophisticated embodiments, A/V system 800 and A/V system 850 are capable of sharing encrypted data stored on storage device 890. For example, ID 815 and ID 865 can be the same number (thereby not being unique), or techniques can be used whereby unique IDs can be shared between A/V system 800 and A/V system 850.
b is a block diagram of multiple personal audio/video systems sharing a storage device and using smart media to authorize encryption and decryption. It is illustrated how unique ID can be employed to facilitate content sharing securely. As described above, communications network 980 and storage device 990 can be any type of communications medium and storage device, respectively. Also, any number of A/V systems and storage devices can be supported. One of the things that the scheme of content sharing is hinged on is the smart-cards, that under the control of content provider is required to issue shared/family key(s) dynamically. For example, in the embodiment of
A/V system 900 includes control circuit 920 which in turn contains a unique ID 925. The configuration of control circuit 920 and unique ID 925 can be any of the configurations described above. In one embodiment, A/V system 900 also includes an interface to communicate with the smart card 910. The smart-card is programmed at install time with ID 912 same as that of the control circuit. Under the control of the content provider the smart-card is capable of issuing shared key, K, 911 common among a group of systems.
Smart card 910 is coupled with integrated circuit 920 via a secure link. The secure link can be any type of secure communications path between smart card 910 and integrated circuit 920, for example, the secure links described above. In one embodiment, the shared key, K, passed over the secure link from smart card 910 to control circuit 920 and is encrypted using unique ID 912, that is, “Encrypt(K,UID912)”.
By passing the shared key to control circuit 920 using the unique ID 912, the shared key 911 can be then used to encrypt the content before storing it on the shared storage device 990. Once control circuit 920 obtains the shared key, control circuit 920 stores the shared key in some internal register or memory such that the shared key is not easily accessible to an unauthorized party, thereby maintaining the security of the encrypted data.
Likewise, A/V system 950 includes control circuit 970 with a unique ID 975 that is paired with a smart-card 960 containing the same unique ID 952. The configuration of control circuit 970 and unique ID 975 can be any of the configurations described above. In one embodiment, A/V system 950 also includes an interface to communicate with the smart card 960, which is programmed with the unique ID 952 same as that of the control circuit 970. In an alternate embodiment, another type of media other than a smart card can be used to store unique ID 952.
In one embodiment, smart card 960 is coupled with control circuit 970 via a secure link. The secure link can be any type of secure communications path between smart card 960 and control circuit 970, for example, the secure links described above. In one embodiment, shared key (K) 961 is passed over the secure link from smart card 960 to control circuit 970 and is encrypted using unique ID 952, that is “Encrypt(K, UID952)”.
Content communicated between A/V system 900 and storage device 990 as well as between A/V system 950 and storage device 990 is encrypted using the shared key, that is (“E(content, K)”). Furthermore, every movement of keys across two components is protected by suitably encrypting the value with the unique ID. Content stored on storage device 990 is encrypted using K. Since both A/V systems 900 and 950 have a copy of K, any content stored on the shared storage 990 and encrypted using K can be used by both A/V systems 900 and 950.
Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes can be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
This utility patent application is a Continuation of U.S. patent application Ser. No. 10/371,313, now U.S. Pat. No. 7,835,520, filed on Feb. 20, 2003, the benefit of which is claimed under 35 U.S.C. §120, and is further incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5222133 | Chou et al. | Jun 1993 | A |
5237614 | Weiss | Aug 1993 | A |
5416840 | Cane et al. | May 1995 | A |
5563950 | Easter et al. | Oct 1996 | A |
5590192 | Lovett et al. | Dec 1996 | A |
5652838 | Lovett et al. | Jul 1997 | A |
5706292 | Merritt | Jan 1998 | A |
5719943 | Amada et al. | Feb 1998 | A |
5742512 | Edge et al. | Apr 1998 | A |
5768382 | Schneier et al. | Jun 1998 | A |
5784459 | Devarakonda et al. | Jul 1998 | A |
5799080 | Padmanabhan et al. | Aug 1998 | A |
5881155 | Rigal | Mar 1999 | A |
5896499 | McKelvey | Apr 1999 | A |
5933497 | Beetcher et al. | Aug 1999 | A |
5937395 | Iwamura | Aug 1999 | A |
5970143 | Schneier et al. | Oct 1999 | A |
6061451 | Muratani et al. | May 2000 | A |
6067622 | Moore | May 2000 | A |
6219157 | Shikakura et al. | Apr 2001 | B1 |
6233567 | Cohen | May 2001 | B1 |
6278782 | Ober et al. | Aug 2001 | B1 |
6347846 | Nakamura | Feb 2002 | B1 |
6398245 | Gruse et al. | Jun 2002 | B1 |
6418421 | Hurtado et al. | Jul 2002 | B1 |
6470454 | Challener et al. | Oct 2002 | B1 |
6550011 | Sims, III | Apr 2003 | B1 |
6647328 | Walker | Nov 2003 | B2 |
6654465 | Ober et al. | Nov 2003 | B2 |
6691149 | Yokota et al. | Feb 2004 | B1 |
6711264 | Matsumoto et al. | Mar 2004 | B1 |
6799277 | Colvin | Sep 2004 | B2 |
6895504 | Zhang et al. | May 2005 | B1 |
6914637 | Wolf et al. | Jul 2005 | B1 |
6986063 | Colvin | Jan 2006 | B2 |
6986150 | Spruit et al. | Jan 2006 | B2 |
6993137 | Fransdonk | Jan 2006 | B2 |
7080039 | Marsh | Jul 2006 | B1 |
7107458 | Oishi et al. | Sep 2006 | B2 |
7107462 | Fransdonk | Sep 2006 | B2 |
7124938 | Marsh | Oct 2006 | B1 |
7174568 | Chatani et al. | Feb 2007 | B2 |
7181129 | Saito | Feb 2007 | B2 |
7228182 | Healy et al. | Jun 2007 | B2 |
7228427 | Fransdonk | Jun 2007 | B2 |
7228567 | Serkowski et al. | Jun 2007 | B2 |
7231050 | Harris | Jun 2007 | B1 |
7237255 | Fransdonk | Jun 2007 | B2 |
7246246 | Kupka et al. | Jul 2007 | B2 |
7313828 | Holopainen | Dec 2007 | B2 |
7356709 | Gunyakti et al. | Apr 2008 | B2 |
7404084 | Fransdonk | Jul 2008 | B2 |
7664709 | Chatani et al. | Feb 2010 | B2 |
7818067 | Healy et al. | Oct 2010 | B2 |
20010030932 | Spruit et al. | Oct 2001 | A1 |
20010034712 | Colvin | Oct 2001 | A1 |
20010044780 | Miyazaki et al. | Nov 2001 | A1 |
20010051928 | Brody | Dec 2001 | A1 |
20010051996 | Cooper et al. | Dec 2001 | A1 |
20020010863 | Mankefors | Jan 2002 | A1 |
20020031352 | Saito | Mar 2002 | A1 |
20020053082 | Weaver et al. | May 2002 | A1 |
20020064188 | Mizobata | May 2002 | A1 |
20020076204 | Nakano et al. | Jun 2002 | A1 |
20020080960 | Kanayama et al. | Jun 2002 | A1 |
20020095382 | Taoka et al. | Jul 2002 | A1 |
20020104019 | Chatani et al. | Aug 2002 | A1 |
20020114461 | Shimada et al. | Aug 2002 | A1 |
20020114466 | Tanaka et al. | Aug 2002 | A1 |
20020116632 | Itoh et al. | Aug 2002 | A1 |
20020150251 | Asano et al. | Oct 2002 | A1 |
20020164022 | Strasser et al. | Nov 2002 | A1 |
20020164034 | Asano et al. | Nov 2002 | A1 |
20020164035 | Yokota et al. | Nov 2002 | A1 |
20020166056 | Johnson et al. | Nov 2002 | A1 |
20030009681 | Harada et al. | Jan 2003 | A1 |
20030046566 | Holopainen | Mar 2003 | A1 |
20030061477 | Kahn et al. | Mar 2003 | A1 |
20030076955 | Alve et al. | Apr 2003 | A1 |
20030079042 | Yamanaka et al. | Apr 2003 | A1 |
20030081786 | Nakano et al. | May 2003 | A1 |
20030081788 | Simpson et al. | May 2003 | A1 |
20030081792 | Nakano et al. | May 2003 | A1 |
20030098911 | Fujii et al. | May 2003 | A1 |
20030110375 | Colvin | Jun 2003 | A1 |
20030140227 | Asano et al. | Jul 2003 | A1 |
20030142824 | Asano et al. | Jul 2003 | A1 |
20030142826 | Asano | Jul 2003 | A1 |
20030154390 | Yamauchi et al. | Aug 2003 | A1 |
20030161335 | Fransdonk | Aug 2003 | A1 |
20030161473 | Fransdonk | Aug 2003 | A1 |
20030161474 | Matsuzaki et al. | Aug 2003 | A1 |
20030161476 | Fransdonk | Aug 2003 | A1 |
20030163684 | Fransdonk | Aug 2003 | A1 |
20030163712 | LaMothe et al. | Aug 2003 | A1 |
20030165241 | Fransdonk | Sep 2003 | A1 |
20030167392 | Fransdonk | Sep 2003 | A1 |
20030177093 | Hirano et al. | Sep 2003 | A1 |
20030177401 | Arnold et al. | Sep 2003 | A1 |
20030182565 | Nakano et al. | Sep 2003 | A1 |
20030204738 | Morgan | Oct 2003 | A1 |
20040010643 | Thomas, III | Jan 2004 | A1 |
20040025038 | Eiserling et al. | Feb 2004 | A1 |
20040034775 | Desjardins et al. | Feb 2004 | A1 |
20040034785 | Tai et al. | Feb 2004 | A1 |
20040044631 | Walker et al. | Mar 2004 | A1 |
20040044901 | Serkowski et al. | Mar 2004 | A1 |
20040068648 | Lewis et al. | Apr 2004 | A1 |
20040125954 | Riebe et al. | Jul 2004 | A1 |
20040165725 | Kumar et al. | Aug 2004 | A1 |
20050100161 | Husemann et al. | May 2005 | A1 |
20050203582 | Healy et al. | Sep 2005 | A1 |
20050264472 | Rast | Dec 2005 | A1 |
Number | Date | Country |
---|---|---|
1253740 | Oct 2002 | EP |
0193000 | Dec 2001 | WO |
0229565 | Apr 2002 | WO |
02102075 | Dec 2002 | WO |
Entry |
---|
Office Communication for European Patent Application No. 04713370.7, dated Jun. 20, 2008. |
Analog Devices, ADSP-2141L Data Sheet, Jan. 20, 2000. |
International Search Report and Written Opinion for International Patent Application No. PCT/US04/005121, mailed Nov. 18, 2004. |
Number | Date | Country | |
---|---|---|---|
20110058669 A1 | Mar 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10371313 | Feb 2003 | US |
Child | 12945721 | US |