1. Technical Field
This application relates to the field of security, and more particularly to the field of security for computers and related items.
2. Description of Related Art
Corporate desktop and laptop computers often contain sensitive information that should not be exposed outside of the company. Boot and Login passwords along with the encrypting file system of recent versions of Microsoft operating systems can sometimes protect laptop data in the event of computer theft, but such features are often left unused because of configuration difficulties and IT maintenance hassles. Furthermore, the most serious threat of computer and data theft comes not from random airport thieves, but from disgruntled or recently terminated employees. There is no current technology in place to prevent terminated employees from accessing all corporate data still stored on their laptops or home computers.
It is desirable to provide a solution that addresses the these difficulties in a way that does not require additional extraordinary security measures or procedures, especially in the case of laptop computers, which may be legitimately operated far from corporate IT facilities that manage the laptops.
According to the present invention, at least one administration entity controls access to an electronic device by the at least one administration entity generating credentials and a plurality of corresponding proofs for the electronic device, wherein no valid proofs are determinable given only the credentials and values for expired proofs, the electronic device receiving the credentials, if access is authorized at a particular time, the electronic device receiving a proof corresponding to the particular time, and the electronic device confirming the proof using the credentials. The at least one administration entity may generate proofs after generating the credentials. A single administration entity may generate the credentials and generate the proofs. There may be a first administration entity that generates the credentials and other administration entities that generate proofs. The first administration entity may also generate proofs or may not. The credentials may be a digital certificate that includes a final value that is a result of applying a one way function to a first one of the proofs. Each of the proofs may be a result of applying a one way function to of a future one of the proofs. The digital certificate may include an identifier for the electronic device. The credentials may include a final value that is a result of applying a one way function to a first one of the proofs. Each of the proofs may be a result of applying a one way function to a future one of the proofs. The credentials may include an identifier for the electronic device. The electronic device may be a computer, which may boot up only if access is authorized. The electronic device may be a disk drive. At least one administration entity controlling access to an electronic device may include providing proofs using at least one proof distribution entity separate from the at least one administrative entity. There may be a single proof distribution entity or a plurality of proof distribution entities. At least one administration entity controlling access to an electronic device may include providing proofs using a connection to the electronic device. The connection may be the Internet. At least some of the proofs may be stored locally on the electronic device. At least one administration entity controlling access to an electronic device may include, if the proof corresponding to the time is not available locally, the electronic device requesting the proofs via an external connection. Each of the proofs may be associated with a particular time interval. After a particular time interval associated with a particular one of the proofs has passed, the electronic device may receive a new proof. The time interval may be one day.
According further to the present invention, an electronic device controls access thereto by receiving credentials and at least one of a plurality of corresponding proofs for the electronic device, wherein no valid proofs are determinable given only the credentials and values for expired proofs and testing the at least one of a plurality of proofs using the credentials. The credentials may be a digital certificate that includes a final value that is a result of applying a one way function to a first one of the proofs. Each of the proofs may be a result of applying a one way function to a future one of the proofs. The digital certificate may include an identifier for the electronic device. The credentials may include a final value that is a result of applying a one way function to a first one of the proofs. Each of the proofs may be a result of applying a one way function to a future one of the proofs. The credentials may include an identifier for the electronic device. The electronic device may be a computer. An electronic device controlling access thereto may also include the computer booting up only if access is authorized. The electronic device may be a disk drive. An electronic device controlling access thereto may also include obtaining proofs using a connection to the electronic device. The connection may be the Internet. At least some of the proofs may be stored locally on the electronic device. An electronic device controlling access thereto may also include, if the proof corresponding to the time is not available locally, the electronic device requesting the proofs via an external connection. Each of the proofs may be associated with a particular time interval. After a particular time interval associated with a particular one of the proofs has passed, the electronic device may receive a new proof. The time interval may be one day.
According further to the present invention, controlling access to an electronic device includes providing credentials to the electronic device and, if access is allowed at a particular time, providing a proof to the electronic device corresponding to the particular time, wherein the proof is not determinable given only the credentials and values for expired proofs. The credentials may be a digital certificate that includes a final value that is a result of applying a one way function to a first one of the proofs. Each of the proofs may be a result of applying a one way function to a future one of the proofs. The digital certificate may include an identifier for the electronic device. The credentials may include a final value that is a result of applying a one way function to a first one of the proofs. Each of the proofs may be a result of applying a one way function to a future one of the proofs. The credentials may include an identifier for the electronic device. The electronic device may be a computer. Controlling access to an electronic device may include the computer booting up only if access is authorized. The electronic device may be a disk drive. Controlling access to an electronic device may include providing proofs using at least one proof distribution entity separate from the at least one administrative entity. There may be a single proof distribution entity. There may be a plurality of proof distribution entities. Controlling access to an electronic device may include providing proofs using a connection to the electronic device. The connection may be the Internet. At least some of the proofs may be stored locally on the electronic device. Controlling access to an electronic device may include, if the proof corresponding to the time is not available locally, the electronic device requesting the proofs via an external connection. Each of the proofs may be associated with a particular time interval. After a particular time interval associated with a particular one of the proofs has passed, the electronic device may receive a new proof. The time interval may be one day.
The present invention provides a solution that virtually guarantees that access to all corporate computers (office, remote and even disconnected laptops) be limited to currently authorized employees. A terminated employee will be unable to log in to his or her computer either immediately or within hours of losing authorization—even if that laptop is kept at home and not connected to the network. The added security can be made completely invisible to legitimate users. The present invention may provide seamless integration with existing Windows login management infrastructure and may be invisible to end users under normal operation. Access revocation to a particular computer may not require any network connection works with all disconnected computers. An administrator may set scheduled access rights by user or group. The present invention may provide easy recovery from inadvertent shut-outs.
The present invention provides massive scalability (on the order of hundreds of millions or more users). The present invention does not require secure distributed servers (since the issued proofs can be stored and distributed to unsecured computers), which can save significantly over the costs of a traditional large-scale security system. The present invention provides fast response time on average because the validation operation takes no time at log-in when the proofs are already stored locally and because retrieving a proof from the network is a sub-second operation almost everywhere in the world. The present invention also provides for minimal connectivity requirements since an electronic device using the invention may only need to receive a twenty-byte proof once every time-interval via any non-secure method. All wired and wireless connections are acceptable as well as SMS, pagers, IR, FM radio, cell phones, etc. Once an electronic device is reported stolen, it does not need to connect to any network to be revoked. The present invention also provides enhanced security because the proofs are integrity protected and unforgeable, the responders don't contain any sensitive code or data, and the distribution system is massively distributed. These factors make the system very robust and protect against the vast majority of spoofing, hacking and denial of service attacks.
Referring to
An administration entity 28 sets a policy for allowing access by users to the electronic devices 24-26. For example, the administration entity 28 may determine that a particular user, U1, may no longer have access to any of the electronic devices 24-26 while another user U2, may access the electronic device 24 but not to the other electronic devices 25, 26. The administrative entity 28 may use any policy for setting user access.
The administrative entity 28 provides a plurality of proofs that are transmitted to the electronic devices 24-26 via the connection 22. The proofs may be provided to the electronic devices 24-26 by other means, which are discussed in more detail below. The electronic devices 24-26 receive the distributed proofs and, using credentials stored internally (described in more detail elsewhere herein), determine if access thereto should be allowed. Optionally, a proof distribution entity 32 may also be coupled to the connection 22 and to the administration entity 28. The proof distribution entity 32 provides proofs to the electronic devices 24-26. In an embodiment herein, a proof would only be effective for one user and one of the electronic devices 24-26 and, optionally, only for a certain date or range of dates.
The proofs may be provided using a mechanism like that disclosed in U.S. Pat. No. 5,666,416, which is incorporated by reference herein, where each of the electronic devices 24-26 receives, as credentials, a digital certificate signed by the administrative entity 28 (or other authorized entity) where the digital certificate contains a special value representing an initial value having a one way function applied thereto N times. At each new time interval, the electronic devices may be presented with a proof that consists of a one of the values in the set of N values obtained by the applying the one way function. In such a case, the electronic devices 24-26 may confirm that the proof is legitimate by applying the one way function a number of times to obtain the special value provided in the digital certificate. This and other possible mechanisms are described in more detail elsewhere herein.
It is also possible to use one or more of the products provided by CoreStreet, Ltd. Of Cambridge, Mass. to provide the appropriate credentials and proofs as set forth herein or use any other mechanism for generating unique proofs that 1) could only have been generated by an administrative authority (absent an administrative security breech); and 2) can not be used to generate any other proofs. Accordingly, the proofs are such that, given a legitimate proof P1, an unauthorized user may not generate another seemingly legitimate proof P2 for a different purpose (e.g., for a different time interval, different device, etc.). Thus, issued proofs may be stored and distributed in an unsecure manner, which substantially reduces the costs associated with the system. Of course, it is advantageous to maintain proper security for the entity or entities that generate the credentials and/or proofs as well as maintaining appropriate security for any unissued (e.g., future) proofs.
In addition, an unauthorized user in possession of legitimate proofs P1-PN may not generate a new proof PN+1. This is advantageous in a number of instances. For example, a terminated employee may not himself generate new proofs to provide unauthorized access to his corporate laptop after termination even though he is still in possession of all of the previous legitimate proofs he used for the laptop while he was still employed by the corporation.
In an embodiment herein, the electronic devices 24-26 are computers having firmware and/or operating system software that performs the processing described herein where the proofs are used to prevent unauthorized login and/or access thereto. Upon booting up and/or after a sufficient amount of time has passed, the computers would require an appropriate proof in order to operate. In this embodiment, functionality described herein may be integrated with the standard Windows login system (as well as BIOS or PXE environments). The administration entity 28 may be integrated with the normal user-administration tools of corporate Microsoft networks and to allow administrators to set login policies for each user. In many cases, the administration entity 28 may be able to derive all needed information from existing administrative information making this new functionality almost transparent to the administrator and reducing training and adoption costs. The administration entity 28 may run within a corporate network or be hosted as an ASP model by a laptop manufacturer, BIOS maker or other trusted partner. The proof distribution entity 32 may run partially within the corporate network and partially at a global site. Since proofs are not sensitive information, globally-accessible repositories of the proof distribution system may run as web services, thereby making the proofs available to users outside of their corporate networks.
In an embodiment herein, each of the computers would require a new proof each day. However, it will be appreciated by one of ordinary skill in the art that the time increment may be changed so that, for example, the computers may require a new proof every week or require a new proof every hour.
In addition, it is also possible to take advantage of a little-used feature of IDE hard drives which allows setting of a password on a drive which must be presented to the drive before it will spin up and allow access to the contents. If the firmware for the drive were modified to use the system described herein, it is possible that access to a hard drive may be restricted so that, for example, it would not be possible to gain access to a computer hard drive even by placing it in a different computer. This feature may be implemented with other types of hard drives.
In other implementations, the system may be used in connection with accessing data files, physical storage volumes, logical volumes, etc. In some instances, such as restricting access to files, it may be useful to provide appropriate modifications to the corresponding operating system.
Referring to
Referring to
Referring to
Referring to
In an embodiment herein, the electronic device 24 includes an external interface 48 which is controlled by the validation unit 42. As with the validation unit 42, the external interface 48 may be implemented using hardware, software, firmware, or any combination thereof. The external interface 48 is coupled to, for example, the connection 22, and is used to fetch new proofs that may be stored in the proof data 46. Thus, if the validation unit 42 determines that the proofs stored in the proof data 46 are not sufficient (e.g., have expired), the validation unit 42 provides a signal to the external interface 48 to cause the external interface 48 request new proofs via the connection 22. Of course, if the electronic 24 has been lost and/or stolen or if the user is a terminated employee or if there is any other reason not to allow access to the electronic device 24, then the external interface 48 will not be able to obtain a valid proof. In some embodiments, the external interface 48 prompts a user to make an appropriate electronic connection (e.g., connect a laptop to a network).
In an embodiment herein, time data 52 provides information to the validation unit 42 to indicate the last time that a valid proof was presented to the validation unit 42. This information may be used to prevent requesting of proof too frequently and, at the same time prevent waiting too long before requesting a new proof. Interaction and use of the validation unit 42, the external interface 48, the credential data 44, the proof data 46, and the time data 52 is described in more detail elsewhere herein.
Referring to
If it is determined at the test step 72 that a boot up operation is not being performed, then control transfers from the test step 72 to a test step 78 where it is determined if the a predetermined amount of time has elapsed since the last running of the validation unit 42. This is determined using the time data element 52 and perhaps the current system time. In an embodiment herein, the predetermined amount of time used at the test step 78 is one day. If it is determined at the test step 78 that the amount of time since the last running of the validation unit 42 is greater than the predetermined amount of time, then control transfers from the test step 78 to the step 74 where the start signal is sent to the validation unit 42. Following the step 74 or following the test step 78 if the amount of time is not greater than the predetermined amount of time, is the step 76, discussed above.
Referring to
In some embodiments, it may be possible and desirable to obtain and store future proofs in the proof data 46. For example, a user that expects to be without a connection to the administration entity 28 and/or the proof distribution entity 32 may obtain and store future proofs. In these embodiments, the electronic device may automatically poll for future proofs when connected to the administration entity 28 and/or the proof distribution entity 32, which may be provided according to a predefined policy. Alternatively (or in addition), it may be possible for a user and/or electronic device to specifically request future proofs which may or may not be provided according to governing policy.
If it is determined at the test step 94 that the appropriate proof is not locally available (i.e., in the proof data 46), then control transfers from the test step 94 to a test step 98 where the validation unit 42 determines if an appropriate proof is available externally by, for example, providing a signal to cause the external interface 48 to attempt to fetch the proof, as discussed above. If it is determined that the test step 98 that the externally-provided proof meets the necessary requirements (discussed elsewhere here), then control transfers from the test step 98 to the step 96, discussed above, where the validation unit 42 issues a pass signal. In an embodiment herein, the externally-provided proof is stored in the proof data 46.
If it is determined at the test step 98 that an appropriate proof is not available externally, either because there is no appropriate connection or for some other reason, then control transfers from the test step 98 to a step 102 where the user is prompted to enter an appropriate proof. In an embodiment herein, if a user is at a location without an appropriate electrical connection, the user may call a particular phone number and receive an appropriate proof in the form of a number that may be entered manually into the electronic device in connection with the prompt provided at the step 102. Of course, the user may receive the proof by other means, such as being handwritten or typed or even published in a newspaper (e.g., in the classified section).
Following the step 102 is a test 104 which determines if the user has entered a proof meeting the necessary requirements (as described elsewhere herein). If so, then control transfers from the test step 104 to the step 96, discussed above, where the validation unit 42 issues a pass signal. Otherwise, control transfer from the test step 104 to a step 106 where the validation unit 42 issues a fail signal. Following the step 106, processing is complete.
Referring to
Following the step 126 is a test step 128 which determines if the index variable, I, is greater than an ending value, IEND. As discussed above, in an embodiment herein, three hundred and sixty five proofs are generated in connection with generating the credentials so that, in this embodiment, IEND, is three hundred and sixty five. However, for other embodiments it is possible to set IEND to any number.
If it is determined at the test step 128 that the value of I is not greater than IEND, then control transfers from the step 128 to a step 132 where Y(I) is set equal to the one way function applied to Y(I−1). The one way function used at the step 132 is such that, given the result of applying the one way function, it is nearly impossible to determine the value that was input to the one way function. Thus, for the one way function used at the step 132, given Y(I), it is very difficult, if not impossible, to ascertain the value of the input (in this case Y(I−1)). As used herein, the term one way function includes any function or operation that appropriately provides this property, including, without limitation, conventional one way hash functions and digital signatures. This property of the one way function used at the step 132 is useful in connection with being able to store and distribute issued proofs in an unsecure manner, as discussed elsewhere herein. The credentials and the proofs may be generated at different times or the proofs may be regenerated at a later date by the entity that generated the credentials or by another entity. Note that, for other embodiments, it is possible to have Y(I) not be a function of Y(I−1) or any other Y's for that matter.
Processing begins at a first step 122 where a random value, RV, is generated. Following the step 132 is a step 134 where the index variable, I, is incremented. Following the step 134, control transfers back to the test step 128, discussed above. If it is determined at the test step 128 that I is greater than IEND, then control transfers from the test step 128 to a step 136 where a final value, FV, is set equal to Y(I−1). Note that one is subtracted from I because I was incremented beyond IEND. Following the step 136 is a step 138 where the administration entity 28 (or some other entity that generates the proofs and the credentials) digitally signs the final value, the current date, and other information that is used in connection with the proofs. In an embodiment herein, the other information may be used to identify the particular electronic device (e.g., laptop), the particular user, or any other information that binds the credentials and the proof to a particular electronic device and/or user and/or some other property. Optionally, the date and/or the FV may be combined with the other information. For example, it is possible to use an OCSP-like signed message that simply says, “device #123456 is valid on Jan. 1, 2004” or have a bit in a miniCRL that corresponds to a specific device be on or off. In those case, the credential on the device may authenticate the device (i.e., determine that the device really is device #123456, etc.). OCSP and miniCRL's are know in the art. Following the step 138, processing is complete.
Referring to
Following step 154 is a test step 156 which determines if the other information that is provided with the credentials is okay. As discussed elsewhere herein, the other information includes, for example, an identification of the electronic device, an identification of the user, or other property identifying information. If it is determined at the test step 156 that the other information associated with the credentials does not match the particular property described by the other information (e.g., the credentials are for a different electronic device or different user), then control transfers from the test step 156 to a step 158 where a fail signal is provided. Following the step 158, processing is complete.
If it is determined at the test step 156 that the other information associated with the credentials is okay, then control transfers from the test step 156 to a step 162 where a variable N is set equal to the current date minus the date associated with the credentials (i.e., the number of days since the credentials were issued). Following the step 162 is a step 164 where the proof value provided at the step 152 has a one way function applied thereto N times. The one way function used at the step 164 corresponds to the one way function used at the step 132, discussed above.
Following step 164 is a test step 166 which determines if the result obtained at the step 164 equals the final value FV that is part of the credentials received at the step 154. If so, then control transfers from the test step 166 to a step 168 where a pass signal is provided by the validation unit 42. Otherwise, if it is determined at the test step 166 that the result obtained at the step 164 does not equal the final value FV provided with the credentials at the step 154, then control transfers from the test step 166 to a step 172 where a fail signal is provided by the validation unit 42. Following step 172, processing is complete.
While the invention has been disclosed in connection with various embodiments, modifications thereon will be readily apparent to those skilled in the art. Accordingly, the spirit and scope of the invention is set forth in the following claims.
This application claims priority to U.S. provisional patent application No. 60/482,179 filed on Jun. 24, 2003, which is incorporated by reference herein, and is a continuation-in-part of U.S. patent application Ser. No. 09/915,180 filed on Jul. 25, 2001 now U.S. Pat. No. 6,766,450, which is a continuation of is a continuation of U.S. patent application Ser. No. 09/483,125 filed Jan. 14, 2000 (now U.S. Pat. No. 6,292,893), which is a continuation of U.S. patent application Ser. No. 09/356,745 filed Jul. 19, 1999 (abandoned), which is a continuation of U.S. patent application Ser. No. 08/823,354 filed Mar. 24, 1997 (now U.S. Pat. No. 5,960,083), which is a continuation of U.S. patent application Ser. No. 08/559,533 filed Nov. 16, 1995 (now U.S. Pat. No. 5,666,416) which claims priority to U.S. provisional patent application Ser. No. 60/006,038 filed on Oct. 24, 1995.
Number | Name | Date | Kind |
---|---|---|---|
4200770 | Hellman et al. | Apr 1980 | A |
4218582 | Hellman et al. | Aug 1980 | A |
4309569 | Merkle | Jan 1982 | A |
4326098 | Bouricius et al. | Apr 1982 | A |
4825052 | Chemin et al. | Apr 1989 | A |
4879747 | Leighton et al. | Nov 1989 | A |
4881264 | Merkle | Nov 1989 | A |
4888801 | Foster et al. | Dec 1989 | A |
4926480 | Chaum | May 1990 | A |
4943707 | Boggan | Jul 1990 | A |
4944009 | Micali et al. | Jul 1990 | A |
4995081 | Leighton et al. | Feb 1991 | A |
5003597 | Merkle | Mar 1991 | A |
5005200 | Fischer | Apr 1991 | A |
5016274 | Micali et al. | May 1991 | A |
5097504 | Camion et al. | Mar 1992 | A |
5136646 | Haber et al. | Aug 1992 | A |
5136647 | Haber et al. | Aug 1992 | A |
5157726 | Merkle et al. | Oct 1992 | A |
5214702 | Fischer | May 1993 | A |
5231666 | Matyas | Jul 1993 | A |
5261002 | Perlman et al. | Nov 1993 | A |
5276737 | Micali | Jan 1994 | A |
5299263 | Beller et al. | Mar 1994 | A |
5307411 | Anvret et al. | Apr 1994 | A |
5315657 | Abadi et al. | May 1994 | A |
5315658 | Micali et al. | May 1994 | A |
5340969 | Cox | Aug 1994 | A |
5351302 | Micali et al. | Sep 1994 | A |
5371794 | Diffie et al. | Dec 1994 | A |
5396624 | Campbell, Jr. | Mar 1995 | A |
RE34954 | Haber et al. | May 1995 | E |
5420927 | Micali | May 1995 | A |
5432852 | Leighton et al. | Jul 1995 | A |
5434919 | Chaum | Jul 1995 | A |
5450493 | Maher | Sep 1995 | A |
5497422 | Tysen et al. | Mar 1996 | A |
5499296 | Micali | Mar 1996 | A |
5519778 | Leighton et al. | May 1996 | A |
5537475 | Micali | Jul 1996 | A |
5544322 | Cheng et al. | Aug 1996 | A |
5551027 | Choy et al. | Aug 1996 | A |
5553145 | Micali | Sep 1996 | A |
5604804 | Micali | Feb 1997 | A |
5606617 | Brands et al. | Feb 1997 | A |
5610982 | Micali | Mar 1997 | A |
5615268 | Bisbee et al. | Mar 1997 | A |
5615269 | Micali | Mar 1997 | A |
5629982 | Micali | May 1997 | A |
5638447 | Micali | Jun 1997 | A |
5659616 | Sudia | Aug 1997 | A |
5659617 | Fischer | Aug 1997 | A |
5666414 | Micali | Sep 1997 | A |
5666415 | Kaufman | Sep 1997 | A |
5666416 | Micali | Sep 1997 | A |
5666420 | Micali | Sep 1997 | A |
5677955 | Doggett et al. | Oct 1997 | A |
5687235 | Perlman et al. | Nov 1997 | A |
5699431 | Van Oorschot et al. | Dec 1997 | A |
5717757 | Micali | Feb 1998 | A |
5717758 | Micali | Feb 1998 | A |
5717759 | Micali | Feb 1998 | A |
5742035 | Kohut | Apr 1998 | A |
RE35808 | Micali | May 1998 | E |
5748738 | Bisbee et al. | May 1998 | A |
5768379 | Girault et al. | Jun 1998 | A |
5774552 | Grimmer | Jun 1998 | A |
5790665 | Micali | Aug 1998 | A |
5790790 | Smith et al. | Aug 1998 | A |
5793868 | Micali | Aug 1998 | A |
5799086 | Sudia | Aug 1998 | A |
5812670 | Micali | Sep 1998 | A |
5825880 | Sudia et al. | Oct 1998 | A |
5826262 | Bui et al. | Oct 1998 | A |
5841865 | Sudia | Nov 1998 | A |
5850442 | Muftic | Dec 1998 | A |
5850451 | Sudia | Dec 1998 | A |
5857022 | Sudia | Jan 1999 | A |
5867578 | Brickell et al. | Feb 1999 | A |
5875894 | Stromme | Mar 1999 | A |
5903651 | Kocher | May 1999 | A |
5903882 | Asay et al. | May 1999 | A |
5960083 | Micali | Sep 1999 | A |
5982898 | Hsu et al. | Nov 1999 | A |
5995625 | Sudia et al. | Nov 1999 | A |
6009177 | Sudia | Dec 1999 | A |
6026163 | Micali | Feb 2000 | A |
6044462 | Zubeldia et al. | Mar 2000 | A |
6061448 | Smith et al. | May 2000 | A |
6097811 | Micali | Aug 2000 | A |
6119137 | Smith et al. | Sep 2000 | A |
RE36918 | Micali | Oct 2000 | E |
6134326 | Micali et al. | Oct 2000 | A |
6137884 | Micali | Oct 2000 | A |
6141750 | Micali | Oct 2000 | A |
6151675 | Smith | Nov 2000 | A |
6189103 | Nevarez et al. | Feb 2001 | B1 |
6192407 | Smith et al. | Feb 2001 | B1 |
6209091 | Sudia et al. | Mar 2001 | B1 |
6216231 | Stubblebine | Apr 2001 | B1 |
6223284 | Novoa et al. | Apr 2001 | B1 |
6263446 | Kausik et al. | Jul 2001 | B1 |
6292893 | Micali | Sep 2001 | B1 |
6301659 | Micali | Oct 2001 | B1 |
6385655 | Smith et al. | May 2002 | B1 |
6397329 | Aiello et al. | May 2002 | B1 |
6404337 | Van Till et al. | Jun 2002 | B1 |
6442689 | Kocher | Aug 2002 | B1 |
6470086 | Smith | Oct 2002 | B1 |
6487599 | Smith et al. | Nov 2002 | B1 |
6487658 | Micali | Nov 2002 | B1 |
6502191 | Smith et al. | Dec 2002 | B1 |
6516411 | Smith | Feb 2003 | B2 |
6529956 | Smith et al. | Mar 2003 | B1 |
6532540 | Kocher | Mar 2003 | B1 |
6609196 | Dickinson, III et al. | Aug 2003 | B1 |
6651166 | Smith et al. | Nov 2003 | B1 |
6658568 | Ginter et al. | Dec 2003 | B1 |
6671805 | Brown et al. | Dec 2003 | B1 |
6725381 | Smith et al. | Apr 2004 | B1 |
6748529 | Smith et al. | Jun 2004 | B2 |
6766450 | Micali | Jul 2004 | B2 |
6826609 | Smith et al. | Nov 2004 | B1 |
7000249 | Lee et al. | Feb 2006 | B2 |
7124302 | Ginter et al. | Oct 2006 | B2 |
20010011255 | Asay et al. | Aug 2001 | A1 |
20010050990 | Sudia | Dec 2001 | A1 |
20020013898 | Sudia et al. | Jan 2002 | A1 |
20020029200 | Dulin et al. | Mar 2002 | A1 |
20020029337 | Sudia et al. | Mar 2002 | A1 |
20020062438 | Asay et al. | May 2002 | A1 |
20020107814 | Micali | Aug 2002 | A1 |
20020165824 | Micali | Nov 2002 | A1 |
20020184182 | Kwan | Dec 2002 | A1 |
20030014365 | Inada et al. | Jan 2003 | A1 |
20030065921 | Chang | Apr 2003 | A1 |
20030105725 | Hoffman | Jun 2003 | A1 |
20030191751 | Vora et al. | Oct 2003 | A1 |
20030212888 | Wildish et al. | Nov 2003 | A1 |
20030221101 | Micali | Nov 2003 | A1 |
20040049675 | Micali et al. | Mar 2004 | A1 |
20040111607 | Yellepeddy | Jun 2004 | A1 |
20040237031 | Micali et al. | Nov 2004 | A1 |
20050010783 | Libin et al. | Jan 2005 | A1 |
20050033962 | Libin et al. | Feb 2005 | A1 |
20050044376 | Libin et al. | Feb 2005 | A1 |
20050044386 | Libin et al. | Feb 2005 | A1 |
20050044402 | Libin et al. | Feb 2005 | A1 |
20050055548 | Micali | Mar 2005 | A1 |
20050055567 | Libin et al. | Mar 2005 | A1 |
20050114653 | Sudia | May 2005 | A1 |
20050114666 | Sudia | May 2005 | A1 |
20050154878 | Engberg et al. | Jul 2005 | A1 |
20050154879 | Engberg et al. | Jul 2005 | A1 |
20050154918 | Engberg | Jul 2005 | A1 |
20050193204 | Engberg et al. | Sep 2005 | A1 |
20050204129 | Sudia et al. | Sep 2005 | A1 |
20060987843 | Libin | May 2006 | |
20060179031 | Lewis | Aug 2006 | A1 |
Number | Date | Country |
---|---|---|
0 618 550 | Mar 1994 | EP |
0 723 251 | Jan 1996 | EP |
0 798 671 | Feb 1997 | EP |
1 024 239 | Jan 1999 | EP |
2 774 833 | Feb 1998 | FR |
WO 9826385 | Jun 1998 | WO |
WO 9843152 | Oct 1998 | WO |
WO0010286 | Feb 2000 | WO |
WO 0022787 | Apr 2000 | WO |
WO 0106701 | Jan 2001 | WO |
WO 0111812 | Feb 2001 | WO |
WO 0111843 | Feb 2001 | WO |
WO0111843 | Feb 2001 | WO |
WO 0125874 | Apr 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20050010783 A1 | Jan 2005 | US |
Number | Date | Country | |
---|---|---|---|
60482179 | Jun 2003 | US | |
60006038 | Oct 1995 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09483125 | Jan 2000 | US |
Child | 09915180 | US | |
Parent | 09356745 | Jul 1999 | US |
Child | 09483125 | US | |
Parent | 08823354 | Mar 1997 | US |
Child | 09356745 | US | |
Parent | 08559533 | Nov 1995 | US |
Child | 08823354 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09915180 | Jul 2001 | US |
Child | 10876275 | US |