Access control

Information

  • Patent Grant
  • 7660994
  • Patent Number
    7,660,994
  • Date Filed
    Thursday, June 24, 2004
    20 years ago
  • Date Issued
    Tuesday, February 9, 2010
    14 years ago
Abstract
An administration entity controls access to an electronic device by generating credentials and a plurality of corresponding proofs, wherein no valid proofs are determinable given only the credentials and values for expired proofs. The electronic device receives the credentials and, if access is authorized at a particular time, the electronic device receives a proof corresponding to the particular time and confirms the proof using the credentials. A single administration entity may generate the credentials and generate the proofs and/or there may be a first administration entity that generates the credentials and other administration entities that generate 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.
Description
BACKGROUND OF THE INVENTION

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.


SUMMARY OF THE INVENTION

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.





BRIEF DESCRIPTION OF DRAWINGS


FIG. 1A is a diagram illustrating an embodiment that includes a connection, a plurality of electronic devices, an administration entity, and a proof distribution entity according to the system described herein.



FIG. 1B is a diagram illustrating an alternative embodiment that includes a connection, a plurality of electronic devices, an administration entity, and a proof distribution entity according to the system described herein.



FIG. 1C is a diagram illustrating an alternative embodiment that includes a connection, a plurality of electronic devices, an administration entity, and a proof distribution entity according to the system described herein.



FIG. 1D is a diagram illustrating an alternative embodiment that includes a connection, a plurality of electronic devices, an administration entity, and a proof distribution entity according to the system described herein.



FIG. 2 is a diagram showing an electronic device in more detail according to the system described herein.



FIG. 3 is a flow chart illustrating steps performed in connection with an electronic device determining whether to perform validation according to the system described herein.



FIG. 4 is a flow chart illustrating steps performed in connection with performing validation according to the system described herein.



FIG. 5 is a flow chart illustrating steps performed in connection with generating credentials according to the system described herein.



FIG. 6 is a flow chart illustrating steps performed in connection with checking proofs against credentials according to the system described herein.





DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS

Referring to FIG. 1A, a diagram 20 illustrates a general connection 22 having a plurality of electronic devices 24-26 coupled thereto. Although the diagram 20 shows three electronic devices 24-26, the system described herein may work with any number of electronic devices. The connection 22 may be implemented by a direct electronic data connection, a connection through telephone lines, a LAN, a WAN, the Internet, a virtual private network, or any other mechanism for providing data communication. The electronic devices 24-26 may represent one or more laptop computers, desktop computers (in an office or at an employees home or other location), PDA's, cellular telephones, disk drives, mass storage devices, or any other electronic devices in which it may be useful to restrict access thereto. In an embodiment herein, the electronic devices 24-26 represent desktop or laptop computers that are used by employees of an organization that wishes to restrict access thereto in case a user/employee leaves the organization and/or one of the computers is lost or stolen. Of course, there may be other reasons to restrict access to one or more of the electronic devices 24-26 and the system described herein may be used in connection with any appropriate implementation.


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 FIG. 1B, a diagram 20′ illustrates an alternative embodiment with a plurality of administrative entities 28a-28c. Although the diagram 20′ shows three administrative entities 28a-28c, the system described herein may work with any number of administrative entities. In the embodiment shown by the diagram 20′, it is possible for one of the administrative entities 28a-28c (e.g., the administrative entity 28a) to generate the credentials while other ones of the administrative entities 28a-28c (e.g., the administrative entities 28b, 28c) generate the proofs or all of the administrative entities 28a-28c generate the proofs. Optionally, the proof distribution entity 32 may be used.


Referring to FIG. 1C, a diagram 20″ illustrates an alternative embodiment with a plurality of proof distribution entities 32a-32c. Although the diagram 20″ shows three proof distribution entities 32a-32c, the system described herein may work with any number of proof distribution entities. The embodiment shown by the diagram 20″ may be implemented using technology provided by Akamai Technologies Incorporated, of Cambridge, Mass.


Referring to FIG. 1D, a diagram 20′″ illustrates an alternative embodiment with a plurality of administrative entities 28a-28c and a plurality of proof distribution entities 32a-32c. Although the diagram 20′″ shows three administration entities 28a-28c and three proof distribution entities 32a-32c, the system described herein may work with any number of administration entities and proof distribution entities. The embodiment shown by the diagram 20′″ combines features of the embodiment illustrated by FIG. 1B with features of the embodiment illustrated by FIG. 1C.


Referring to FIG. 2, a diagram illustrates the electronic device 24 in more detail as including a validation unit 42, credential data 44 and proof data 46. The validation unit 42 may be implemented using hardware, software, firmware, or any combination thereof. Upon certain conditions, such as boot up, the validation unit 42 receives a start signal that causes the validation unit 42 to examine the credential data 44 and the proof data 46 and, based on the result thereof, generate a pass signal indicating that a legitimate proof has been presented or otherwise generate a fail signal. The output of the validation unit 42 is used by follow on processing/devices such as computer boot up firmware, to determine whether operation can proceed.


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 FIG. 3, a flow chart 70 illustrates steps performed in connection with determining whether to send the start signal to the validation unit 42 to determine if the validation unit 42 should examine the credential data 44 and the proof data 46 to generate a pass or fail signal. Processing begins at a first step 72 where it is determined if a boot up operation is being performed. In an embodiment herein, the proofs are always checked in connection with a boot-up operation. Accordingly, if it is determined at the test step 72 that a boot up is being performed, then control transfers from the step 72 to a step 74 where the start signal is sent to the validation unit 42. Following the step 74 is a step 76 where the process waits predetermined amount of time before cycling again. In an embodiment herein, the predetermined amount of time may be one day, although other amounts of time may also be used. Following step 76, control transfers back to the test step 72, discussed above.


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 FIG. 4, a flow chart 90 illustrates steps performed in connection with the validation unit 42 determining if a sufficient proof has been received. As discussed elsewhere herein, the validation unit 42 sends either a pass or a fail signal to follow on processing/devices (such as computer boot up firmware or disk drive firmware). Processing begins at a first step 92 where the validation unit 42 determines the necessary proof. The necessary proof is the proof determined by the validation unit 42 sufficient to be able to send a pass signal. The validation unit 42 determines the necessary proof by examining the credential data 44, the proof data 46, the time data 52, and perhaps even the internal/system clock. Following the step 92 is a test step 94 which determines if the appropriate proof is available locally (i.e., in the proof data 46) and if the locally provided proof meets the necessary requirements (discussed elsewhere herein). If so, then control transfers from the step 94 to a step 96 where the validation unit 42 issues a pass signal. Following the step 96, processing is complete.


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 FIG. 5, a flow chart 120 illustrates steps performed in connection with generating credentials used by the validation unit 42. The steps of the flow chart 120 may be performed by the administration entity 28 which generates the credentials (and a series of proofs) and provides the credentials to the electronic device 24. Other appropriate entities (e.g., entities authorized by the administration entity 28) may generate the credentials. The random value is used in connection with generating the credentials and the proofs and, in an embodiment herein, is generally unpredictable. Following the step 122 is a step 124 where an index variable, I, is set to one. In an embodiment herein, the credentials that are provided are used for an entire year and a new proof is needed each day so that three hundred and sixty five separate proofs may be generated in connection with generating the credentials. The index variable, I, is used to keep track of the number of proofs that are generated. Following step 124 is a step 126 where the initial proof value, Y(0) is set equal to the random value RV determined at the step 122.


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 FIG. 6, a flow chart 150 illustrates steps performed by the validation unit 42 in connection with determining the validity of a proof. Processing begins at a first step 152 where the validation unit 42 receives the proof (e.g., by reading the proof from the proof data 44). Following the step 152 is a step 154 where the validation unit 42 receives the credentials (e.g., by reading the credential data 46).


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.

Claims
  • 1. A method for at least one administration entity to control access to an electronic device, comprising: the at least one administration entity generating credentials and a plurality of proofs for the electronic device, wherein the proofs are not determinable as valid given only the credentials and values for expired proofs, the expired proofs being no longer valid;the electronic device receiving the credentials;if access is authorized at a particular time, the electronic device receiving a corresponding proof corresponding to the particular time; andthe electronic device confirming the corresponding proof using the credentials, wherein the corresponding proof is a result of applying a one way function to a subsequent one of the plurality of proofs received at the electronic device, wherein the credentials are a digital certificate that includes a final value that is a result of applying the one way function to a first one of the plurality of proofs, and wherein said access is access to data on the electronic device.
  • 2. The method, according to claim 1, wherein the at least one administration entity generates the plurality of proofs after generating the credentials.
  • 3. The method, according to claim 1, wherein a single administration entity generates the credentials and generates the plurality of proofs.
  • 4. The method, according to claim 1, wherein there is a first administration entity that generates the credentials and other administration entities that generate the plurality of proofs.
  • 5. The method, according to claim 4, wherein the first administration entity also generates the plurality of proofs.
  • 6. The method, according to claim 4, wherein only the other administration entities generate the plurality of proofs.
  • 7. The method, according to claim 1, wherein the digital certificate includes an identifier for the electronic device.
  • 8. The method, according to claim 1, wherein the credentials include an identifier for the electronic device.
  • 9. The method, according to claim 1, wherein the electronic device is a computer.
  • 10. The method, according to claim 9, further comprising: the computer booting up only if access is authorized.
  • 11. The method, according to claim 1, wherein the electronic device is a disk drive.
  • 12. The method, according to claim 1, further comprising: providing the plurality of proofs using at least one proof distribution entity separate from the at least one administration entity.
  • 13. The method, according to claim 12, wherein there is a single proof distribution entity.
  • 14. The method, according to claim 12, wherein there are a plurality of proof distribution entities.
  • 15. The method, according to claim 1, further comprising: providing the plurality of proofs using a connection to the electronic device.
  • 16. The method, according to claim 15, wherein the connection is the Internet.
  • 17. The method, according to claim 1, wherein at least one of the proofs is stored locally on the electronic device.
  • 18. The method, according to claim 17, further comprising: if the corresponding proof corresponding to the particular time is not available locally on the electronic device, the electronic device requests the plurality of proofs via an external connection.
  • 19. The method, according to claim 1, wherein each of the plurality of proofs is associated with a particular time interval.
  • 20. The method, according to claim 19, wherein, after the particular time interval associated with a particular one of the plurality of proofs has passed, the electronic device receives a new proof.
  • 21. The method, according to claim 20, wherein the particular time interval is one day.
  • 22. A method for an electronic device to control access thereto, comprising: receiving credentials and at least one of a plurality of proofs for the electronic device, wherein the at least one of the plurality of proofs is not determinable as valid given only the credentials and values for expired proofs, the expired proofs being no longer valid; andtesting, using at least one processor, the at least one of the plurality of proofs using the credentials, wherein, if access is authorized at a particular time, the at least one the plurality of proofs corresponds to the particular time, and wherein the at least one of the plurality of proofs is a result of applying a one way function to a subsequent one of the plurality of proofs, wherein the credentials are a digital certificate that includes a final value that is a result of applying the one way function to a first one of the plurality of proofs, and wherein said access is access to data on the electronic device.
  • 23. The method, according to claim 22, wherein the digital certificate includes an identifier for the electronic device.
  • 24. The method, according to claim 22, wherein the credentials include an identifier for the electronic device.
  • 25. The method, according to claim 22, wherein the electronic device is a computer.
  • 26. The method, according to claim 25, further comprising: the computer booting up only if access is authorized.
  • 27. The method, according to claim 22, wherein the electronic device is a disk drive.
  • 28. The method, according to claim 22, further comprising: obtaining the at least one of the plurality of proofs using a connection to the electronic device.
  • 29. The method, according to claim 28, wherein the connection is the Internet.
  • 30. The method, according to claim 22, wherein at least one of the plurality of proofs is stored locally on the electronic device.
  • 31. The method, according to claim 30, further comprising: if the at least one of the plurality of proofs corresponding to the particular time is not available locally, the electronic device requests the at least one of the plurality of proofs via an external connection.
  • 32. The method, according to claim 22, wherein each of the plurality of proofs is associated with a particular time interval.
  • 33. The method, according to claim 32, wherein, after the particular time interval associated with a particular one of the plurality of proofs has passed, the electronic device receives a new proof.
  • 34. The method, according to claim 33, wherein the particular time interval is one day.
  • 35. A method of controlling access to an electronic device, comprising: providing credentials to the electronic device; andif access is allowed at a particular time, providing a proof from a plurality of proofs to the electronic device corresponding to the particular time, wherein the proof is not determinable as valid given only the credentials and values for expired proofs, the expired proofs being no longer valid, and wherein the proof provided to the electronic device is a result of applying, using at least one processor, a one way function to a subsequent proof provided to the electronic device, wherein the credentials are a digital certificate that includes a final value that is a result of applying the one way function to a first one of the plurality of proofs, and wherein said access is access to data on the electronic device.
  • 36. The method, according to claim 35, wherein the digital certificate includes an identifier for the electronic device.
  • 37. The method, according to claim 35, wherein the credentials include an identifier for the electronic device.
  • 38. The method, according to claim 35, wherein the electronic device is a computer.
  • 39. The method, according to claim 38, further comprising: the computer booting up only if access is authorized.
  • 40. The method, according to claim 35, wherein the electronic device is a disk drive.
  • 41. The method, according to claim 35, further comprising: providing the proof using at least one proof distribution entity separate from at least one administration entity that generates the proof.
  • 42. The method, according to claim 41, wherein there is a single proof distribution entity.
  • 43. The method, according to claim 41, wherein there are a plurality of proof distribution entities.
  • 44. The method, according to claim 35, further comprising: providing the proof using a connection to the electronic device.
  • 45. The method, according to claim 44, wherein the connection is the Internet.
  • 46. The method, according to claim 35, wherein the proof is stored locally on the electronic device.
  • 47. The method, according to claim 46, further comprising: if the proof not available locally, the electronic device requests the proof via an external connection.
  • 48. The method, according to claim 35, wherein the proof is associated with a particular time interval.
  • 49. The method, according to claim 48, wherein, after the particular time interval associated with the proof has passed, the electronic device receives a new proof.
  • 50. The method, according to claim 49, wherein the particular time interval is one day.
CROSS-REFERENCE TO RELATED APPLICATIONS

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.

US Referenced Citations (159)
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
Foreign Referenced Citations (14)
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
Related Publications (1)
Number Date Country
20050010783 A1 Jan 2005 US
Provisional Applications (2)
Number Date Country
60482179 Jun 2003 US
60006038 Oct 1995 US
Continuations (4)
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
Continuation in Parts (1)
Number Date Country
Parent 09915180 Jul 2001 US
Child 10876275 US