1. Field of the Invention
The present disclosure relates to methods and systems for protecting network computer systems and electronic content available through such network computer systems from unauthorized use or access.
2. Description of the Related Art
Various methods and systems exist for protecting computer networks from access by unauthorized individuals. Many such systems and methods rely on the use of a password or other authentication information entered by a computer user to authenticate access attempts. Access is permitted when authentication information supplied during an access attempt matches authentication information stored in the computer network and retrieved from storage in response to the attempted access. Such security protocols are vulnerable to unauthorized access by any person who is able to discover or correctly guess the authentication information associated with a particular user ID. Security breaches of such systems reportedly occur with alarming frequency, and sometimes result in serious harm.
More robust security systems are also known, that make use of special security devices such as hardware token authenticators, biometric data readers, and geographic locating devices. Information from such devices may be used together with password authenticators to authenticate access attempts and prevent unauthorized access to network resources. Such combination systems may increase network security, but at the cost of, and subject to proper operation of, additional hardware security devices. It would be desirable to enhance network security without requiring the use of additional hardware for authentication of access attempts.
The present technology uses a hardware fingerprint for one or more clients in a computer network system combined with traditional user identification/authentication information to authenticate access attempts and control access to network resources. The system utilizes at least one access control server in communication with one or more clients via a communications network, for controlling access to network resources. The server is configured to operate an Access Management Application (AMA) to perform authentication and authorization in connection with access requests received by the access control server.
The AMA may be configured to process input from an authenticated system administrator to create an access policy domain, comprising an authentication scheme, authorization rules, and network resource addresses. The authentication scheme may be implemented as an application module, stand-alone application, plug-in application, applet, or other executable code. The authentication scheme defines authentication process flow initiated in response to client requests for access to network resources. Network resources may comprise, for example, applications, web pages, electronic data, or any electronic data object that may be accessed by a client, including both executable applications and non-executable data.
Authorization rules and network resource addresses define parameters pertinent to operation of the authentication scheme. The authorization rules may define authorization levels, or authorization for use of specific network resources, to defined pairings of users and specific client machines. For example, the authorization rules may specify: (1) the highest access level to a known authorized user requesting access via a known registered client machine, (2) a provisional access level to a known authorized user requesting access via an unknown client machine, (3) a level restricted to user authentication resources to unknown user requests from a registered client, (4) a lower restricted access level to an unknown user requesting access via an unregistered client, and (5) no access to any user requesting access via a known unauthorized client. In the alternative, or in addition, the authorization rules may identify specific network resources that are authorized in connection with different user/client combinations as exemplified above. The authorization rules may be configured and maintained by a system administrator through the AMA to define the level of access granted to particular users, client machines, and user/machine pairs.
The network resource addresses may comprise Uniform Resource Locators (URL's) or other computer network addresses for locating any network resource to which the authorization rules apply. The AMA may be configured to recognize and apply the authorization rules to any request for a resource that uses the network resource address or addresses designated by the access policy domain. In some embodiments, the access policy domain may specify that all resources available to clients through the access control server are designated controlled resources, except for authorization resources such as login pages and hardware “fingerprint” comparison functions. In more secure environments, access to login resources may be permitted only to recognized client devices. In other embodiments, the access policy domain may specify a relatively small subset of network resources that are accessible through the access control server as the controlled network resources.
In any case, the network resources specified in the access policy domain should be exclusively available through the access control server, for example, by being stored in or served from nodes over which the access control server has exclusive control. Therefore, a client should be unable to access a controlled network resource except through the access control server. The access control server should therefore receive all requests for those resources that are capable of being fulfilled. The AMA should, in turn, apply the access control policy to determine which requests received by the access control server will be fulfilled, and which will be denied.
Registration of client machines is an important aspect of the present technology. The access control server maintains or has secure access to a registry of client identifiers. The client identifiers represent client hardware “fingerprints” gathered for each client entered in the client registry. A hardware fingerprint is characterized by being reliably reproducible by an application operating on a particular client machine, while being virtually irreproducible by any other means, and virtually impossible to guess using any systematic or brute force algorithm. In short, each fingerprint is a complex and unique data pattern generated from a stable system configuration of a particular client machine. Methods for generating a machine fingerprint are discussed in the detailed description below.
Registration of a client machine may be accomplished by generating a machine fingerprint on the machine as part of a secure session initiated through the AMA. For example, an authorized service technician may initiate a secure session using a client to be registered, with the resulting fingerprint stored in the client registry used by the access control server. The fingerprint need not be stored at the client device, and for greater system security, should not be stored anywhere except in the secure data registry and its secure data back-ups.
During an authentication session with the access control server, the AMA may generate a machine fingerprint by activating a fingerprint-generating application on the client machine. The fingerprint generating application may cooperate with the AMA to generate the fingerprint using a process that mirrors the fingerprint generating process used during registration of the client machine. Therefore, provided the client system configuration is unchanged, the resulting fingerprint will match the data in the client registry used by the AMA, positively identifying the client as a registered machine. The AMA may then apply the authorization rules to the specific access request or requests following successful authentication, in the manner described herein.
A more complete understanding of the system and method for network access control will be afforded to those skilled in the art, as well as a realization of additional advantages and objects thereof, by a consideration of the following detailed description. Reference will be made to the appended sheets of drawings which will first be described briefly.
Throughout the several figures and in the specification that follows, like element numerals are used to indicate like elements appearing in one or more of the figures.
The present technology provides network access control responsive to combinations of account (user) authenticated identifiers and client device identifiers to determine authorization for use of network resources.
Likewise, the server 102 may be configured with a server-side application file or files 116, for example an access management application (AMA), encoded in a computer-readable media of a data storage device 118. When loaded into the server memory 120 and subsequently into the server processor 122, the executable file or files causes the client device to perform the server-side processes and outputs as described in more detail herein. File or files 108 and 116 may be developed by writing programming code in any suitable programming language to perform the actions and provide the outputs consistent with the disclosure herein, and compiling the code to provide machine-executable code. Like the client device 104, the server 102 may comprise any one of various suitable programmable computing devices. In the alternative, server 102 may comprise a coordinated assembly of such computing devices, for example, a server farm.
Generally, both the server 102 and the client 104 may be configured as input-transforming machines, the very purpose of which is to receive physical input from at least one client-side user input device 124 and provide a responsive physical output via a client-side output device 126, such as an audio-video output. Input device 124 may comprise various devices, for example, a keyboard, mouse, microphone, or other physical transducer connected to client 104 and configured to transform physical input from a user into a data signal, which may be routed through an interface device 128 and provided as input to processor 114. The processor 114, operating an executable as described herein, responds to the input signal and provides output data through a video interface 130 to a display device 126. The processor 114 may further receive input data from the server 102 or provide output to the server via network interface 132 and communications network 106.
Conversely, server 102 may receive input data from the client 104 or provide output to the client via network interface 134 and communications network 106. Optionally, server 102 may comprise an input device 136 in communication with the processor 120 via an interface 138, and provide output via a video processor 140 to a display device 142.
Server 102 may be configured to control access to one or more network resources by any connected client, for example, by client 104. A network resource may comprise, for example, an information object 144 stored in the data storage device 118 or by a server or group of servers 146 allied to server 102. The information object may comprise, for example, one or more executable applications, digital data for use in an application, access to a portion of server hardware or memory, or any combination of the foregoing.
To implement an authentication scheme 206, the AMA may call a software module, for example, a software plug-in (or a set of multiple such plug-ins) that enables customization of authentication rules. If multiple plug-ins are used, they may be configured for chained authentication, such that a failure to authenticate by any one authentication module causes authentication to fail, and the modules are run sequentially so long as authentication succeeds. The module may execute authentication rules to provide an output specifying whether or not a particular access attempt should be authenticated based on authentication rules defined for the authentication scheme 206. These rules may receive account (user) identifiers and passwords as well as client machine identifiers (machine fingerprints) as inputs, and determine an authentication status based on a comparison of the received values to values stored in one or more registers. For example, the authentication scheme may compare a client machine identifier for a machine originating an access request to a registry, thereby obtaining one of three possible status values: “enabled,” “disabled,” or “not recognized.” If the returned status value is “disabled,” then the AMA may deny the access request. If the returned status value is “enabled,” then the AMA may also authenticate the user account for the request and proceed to authorization. If the returned status value is “not recognized,” then the AMA may route the request to a procedure for registration of the client machine, subject to authentication of the user account.
Following a successful authentication of an incoming request, the AMA may perform an authorization process applying the authorization rules 208 to determine whether a specific user, as determined using by a user identifier for the access request, is authorized to the use the network resource specified by the access request, for example, by a URL in an HTTP request. The authorization rules may operate using a variety of input parameters, for example, user group membership, client device group membership, resource group membership, subscription status, or use limitations, to determine if the user is authorized to access the requested resource. For example, authorization rules may be specifically written to determine whether or not an access request originates from a user belonging to a specific authorized user group and from a device belonging to a specific authorized group of devices. If both conditions are not met, the AMA may deny access. If both conditions are met, the AMA may authorize access to the network resource. If only one of the two conditions is met, the AMA may initiate other actions such as initiating a user registration process or device registration process.
Network resource addresses 210 may be mapped to the policy domain 204. This means that the authentication scheme and authorization rules apply to determine access to all resources identified in the list of controlled resources 210. Conversely, a particular authentication scheme 206 may be applied to more than one policy domain. Authorization rules may be configured with each policy domain.
An overview of process flow for authentication and authorization by an AMA in response to an access request received from a client device follows. First, a server configured with an operational AMA receives a URL or other address for a network resource from a client device, such as may be generated using a browser or other client-level application in response to user input. The server passes the access request to the AMA, which determines whether or not the requested resource is included in a policy domain recognized by the AMA. If the resource is not found in a defined policy domain, the AMA passes the request on to its designated address, which may provide the requested resource to the originating client without interference from the AMA. If the requested resource is included in a policy domain of the AMA, the AMA processes the access request using the authentication scheme. If the request does not pass authentication, the AMA denies access to the requested resource and invokes an appropriate failure routine. If the request passes authentication, the AMA invokes the authorization rules, which operate on the authenticated user and device identities, and optionally other factors, to determine whether or not the particular access request is authorized. If the request is authorized under the rule set, the AMA passes the request to the requested resource address as an authorized request. If the request is not authorized, the AMA denies the request and invokes an appropriate failure routine.
Network access control under the present technology may comprise three principal activities: (1) registration of user and client device identities, (2) authentication, and (3) authorization.
If a user account identifier and password have not been established, a user ID and password may be defined 304 by cooperation between the client and server, for example by exchange of secure data using one or more interactive forms. The process of defining a user identifier should ensure that the identifier is unique and relates to an identified individual, entity, or account. The process may also ensure that a password selected for the account is sufficiently robust to meet system security requirements. Once defined, user credentials may be registered 306 in a secure database by the server. Processes for defining user credentials are known in the art, and any suitable process may be used. Defining and registering user credentials is distinct from the subsequent process of defining and registering a client device identifier, with which
Defining and registering a client device identifier may comprise activating a client identification process 308 at a client device. In the use case shown in
The client may call an application for generating a device identifier, sometimes referred to herein as a “fingerprint,” from the server 418. In the alternative, the server may provide this application without waiting for a specific call, for example, the server may transmit a fingerprinting application with the registration page 412. The server transmits the fingerprinting application 420 to the client 402, which executes the application to generate a client machine identifier 422, also called a “fingerprint.”
To generate the fingerprint, the client device under control of the fingerprint application first reads 310 local system component parameter information according to a predefined algorithm to generate a data file, as shown in
In the alternative, the client may transmit only a selected portion of the fingerprint data to the server. In such alternative cases, the client may request information from a trusted source for defining a sampling protocol, i.e., a data template, for deriving a portion from the fingerprint data to generate a client machine identifier. The sample-defining template may comprise information defining a filter or other transformation to be applied to the original fingerprint data file to generate a device fingerprint. In some embodiments, the template defines a map for selecting designated portions of the fingerprint data file. For example, the template may specify one or more bytes of data, but less than all data, be selected from each data field in a particular order or position. In these embodiments, the client may process the fingerprint data using the sample-defining template to generate a resulting working machine fingerprint, which may be stored in a local buffering system. The client, the source of the sample-defining template, or both may store the sample-defining information in a secure file for future reference, optionally first encrypting it. The client may then provide the machine fingerprint to the server or any other device that needs the fingerprint to identify or authenticate the client device.
In some embodiments, a trusted server maintains a record of the entire fingerprint data for the client, while the sample-defining template used to generate a working machine fingerprint is discarded after each use. The server may generate the sample-defining template and confirm that the machine fingerprint generated by the client is consistent with both the fingerprint data and with the sample-defining template. By specifying different sample-defining template at different times, the server may thereby authenticate the client without requiring the client to transmit the entirety of the fingerprint data for each authentication instance. Instead, the entire fingerprint data may provided from the client to the server during a single initialization session, which may be initiated and secured by the server using appropriate security tools, if it is transmitted at all. Subsequent sessions need not be as secure because the entirety of the fingerprint data is not retransmitted. The utility of the client's machine fingerprint for authentication of device identity may be thereby maintained in a more secure form.
At least one application running on the client computing device or otherwise accessing the computing device's hardware and file system may generate a machine fingerprint. The application may generate the fingerprint data using a process that operates on data indicative of the client's configuration and hardware. The fingerprint data may be generated using, user-configurable machine parameters, non-user-configurable machine parameters, or both as input to a process that generates a fingerprint data file as binary data.
Each machine parameter indicates a state or identifier for a hardware component, software component, or data component of the client. To obtain stable fingerprint data, relatively stable or static machine parameters should be selected. The machine parameters may be selected such that the resulting fingerprint data has a very high probability (e.g., greater than 99.999%) of being unique to the client. In addition, the machine parameters may be selected such that the fingerprint data includes at least a stable unique portion up to and including the entire identifier that has a very high probability of remaining unchanged during normal operation of the client. The resulting fingerprint data should be highly specific, unique, reproducible and stable as a result of properly selecting the machine parameters.
For example, a client device may comprise a motherboard on which reside a CPU and one or more auxiliary processors. The CPU may comprise a cache memory in communication with a random access memory (RAM). A video processor may communicate with these components via Northbridge hub and provide video data through video RAM to a display device. Other components may communicate with the CPU via a Southbridge hub, such as, for example a BIOS read-only memory or flash memory device, one or more bus bridges, a network interface device, and a serial port. Each of these and other components may be characterized by some data or parameter settings that may be collected using the CPU and used to characterize the client device. The technology disclosed herein may also be implemented on more highly integrated portable clients having programmable processors, memories and means for communicating with a server. Such clients also have components with non-user-configurable settings that may be used in compiling a device fingerprint. Examples of integrated portable clients include application-capable mobile phones, media players, personal organizers, and netbooks.
To generate the fingerprint 312, the application may operate by performing a system scan to determine a present configuration of the computing device. The application may then select the machine parameters to be used as input for generating the unique fingerprint data. Selection of parameters may vary depending on the system configuration. Once the parameters are selected, the application may generate the identifier.
Illustrative examples of various machine parameters that may be accessible to an application or applications running on or interacting with a processor of the client machine include: machine model; machine serial number; machine copyright; machine ROM version; machine bus speed; machine details; machine manufacturer; machine ROM release date; machine ROM size; machine UUID; and machine service tag. For further example, these machine parameters may include: CPU ID; CPU model; CPU details; CPU actual speed; CPU family; CPU manufacturer; CPU voltage; and CPU external clock; memory model; memory slots; memory total; and memory details; video card or component model; video card or component details; display model; display details; audio model; and audio details; network model; network address; Bluetooth address; BlackBox model; BlackBox serial; BlackBox details; BlackBox damage map; BlackBox volume name; NetStore details; and NetStore volume name; optical drive model; optical drive serial; optical details; keyboard model; keyboard details; mouse model; mouse details; printer details; and scanner details; baseboard manufacturer; baseboard product name; baseboard version; baseboard serial number; and baseboard asset tag; chassis manufacturer; chassis type; chassis version; and chassis serial number; IDE controller; SATA controller; RAID controller; and SCSI controller; port connector designator; port connector type; port connector port type; and system slot type; cache level; cache size; cache max size; cache SRAM type; and cache error correction type; fan; PCMCIA; modem; portable battery; tape drive; USB controller; and USB hub; device model; device model IMEI; device model IMSI; and device model LCD; wireless 802.11; webcam; game controller; silicone serial; and PCI controller; machine model, processor model, processor details, processor speed, memory model, memory total, network model of each Ethernet interface, network MAC address of each Ethernet interface, BlackBox Model, BlackBox Serial (e.g., using Dallas Silicone Serial DS-2401 chipset or the like), OS install date, nonce value, and nonce time of day. The foregoing examples are merely illustrative, and any suitable machine parameters may be used.
Because many client devices are mass-produced, using hardware parameters limited to the client box may not always provide the desired level of assurance that a fingerprint is unique to the client device. Use of user-configurable parameters may ameliorate this risk considerably, but at the cost of less stability. In addition, sampling of physical, non-user configurable properties for use as parameter input may also lessen the risk of generating duplicate fingerprint data. Physical device parameters available for sampling may include, for example, unique manufacturer characteristics, carbon and silicone degradation and small device failures.
Measuring carbon and silicone degradation may be accomplished, for example, by measuring a processor chip's performance in processing complex mathematical computations, or its speed in response to intensive time variable computations. These measurements depend in part on the speed with which electricity travels through the semi-conductor material from which the processor is fabricated. Using variable offsets to compensate for factors such as heat and additional stresses placed on a chip during the sampling process may allow measurements at different times to reproduce the expected values within a designated degree of precision. Over the lifetime of the processor, however, such measurements may change due to gradual degradation of the semi-conductor material. Recalibration or rewriting the fingerprint data may be used to compensate for such changes.
In addition to the chip benchmarking and degradation measurements, the process for generating a fingerprint data may include measuring physical, non-user-configurable characteristics of disk drives and solid state memory devices. For example, each data storage device may have damaged or unusable data sectors that are specific to each physical unit. A damaged or unusable sector generally remains so, and therefore a map of damaged sectors at a particular point in time may be used to identify a specific hardware device later in time. Data of this nature may also be included in a fingerprint file.
The application may read parameters from operating system data files or other data stored on the client, or actively obtain the parameters by querying one of more hardware components in communication with a processor on which the application is operating. A client processor provided with at least one application operating in this fashion of gather the machine parameters may comprise a means for collecting and generating fingerprint data.
This process of generating a working machine fingerprint may include at least one irreversible transformation, such as, for example, a cryptographic hash function, such that the input machine parameters cannot be derived from the resulting fingerprint data. Each fingerprint data, to a very high degree of certainty, cannot be generated except by the suitably configured application operating or otherwise having had access to the same computing device for which the fingerprint data was first generated. Conversely, each fingerprint, again to a very high degree of certainty, can be successfully reproduced by the suitably configured application operating or otherwise having access to the same computing device on which the identifier was first generated.
Optionally, the client device may store the fingerprint in a local memory. However, in some embodiments the fingerprint is stored by the client device only temporarily to facilitate transmission to the server 424 with other registration information entered by the system administrator or authorized user. This approach may lessen the risk of the fingerprint data being discovered and used for an unauthorized purpose. The client may also implement a pattern masking algorithm as described elsewhere in the specification, so that only a portion of the fingerprint data is transmitted to the client. This may reduce the risk that fingerprint data will be somehow intercepted during or after transmission, and used for some unauthorized purpose.
After receiving registration data 424 including the client fingerprint and device ID, description, and status, the server may process the registration data 426 to confirm that the registration data is valid. This may include confirming that the registration data conforms to the expected template, does not contain duplicate or non-unique identifiers, and was received according to a legitimate protocol. The server may report registration data status 428 to the client device, which may display the status 430 using a client output device. If the registration data is not valid, this determination may be reported and acted on by the administrator or authorized user. For example, the administrator may supply different registration data or select an alternative mode of generating the client fingerprint.
If the registration data is valid, the server may register the data 432, 314 by recording the registration data in a database or other suitable data structure. The server may create a record in a database of registered client fingerprints, to which the server may add the client device fingerprint, device identifier, description, and status. Optionally, one or more entries in the client registry may be associated by the server with one or more user or account identifiers stored in the user account registry. This may be useful, for example, to restrict the use of particular client devices for accessing controlled network resources to one or more particular authorized users of those devices. Data stored in the registry may be obfuscated or encrypted using any suitable method to prevent unauthorized use. Once registration is completed, the server may transmit a message to the client to inform the administrator or authorized user that the registration has been completed.
Defining or modifying authorization rules 316 for a policy domain may be performed at any suitable time. In some embodiments, registration of a new user or new client device may comprise an event provoking modification of the authorization rules, for example by adding a new user or new device to one or more user or device groups with specified authorization levels. In the alternative, or in addition, generic authorization rules may be defined to set access rights based on specified user/device combinations. Examples of such combinations include: (1) user and device both belong to an authorized group, (2) the user belongs to an authorized group while the device does not, (3) the device belongs to an authorized group while the user does not, and (4) neither the user nor the device belong to an authorized group. Further possibilities arise from memberships in different groups having different authority levels, which may greatly increase the number of possible combinations. The authorization rules should specify the appropriate authorization level for every possible combination of users and client devices within the defined scheme of available group memberships, to enable an appropriate access control action in response to access requests from different user/device combinations. Authorization rules may be defined within one or more policy domains of the application access manager. As previously noted, these policy domains may also specify addresses for one or more network resources to which the domain applies.
Once registration has been completed and authorization rules defined, the AMA is ready to handle requests for access to controlled network resources, by authenticating and then authorizing access requests.
The server may check the network resource address 506 defined by the access request to determine whether or not the resource address is specified in any applicable domain policy; i.e., to determine whether or not access to the resource is controlled. If the resource is not controlled, the server may transmit the resource request 508 to the resource server for fulfillment. If the resource is controlled, the server may transmit a login page 510 to the client, with may display the page to the user. The page may include a control object, for example an ActiveX™ or other suitable object for calling a fingerprint generating algorithm. When the login page is opened at the client to provide a display 512, the control object may be activated, causing the fingerprint generating application to generate a machine fingerprint 516 at the client 402, in any suitable manner as described above. Meanwhile, the login page may accept entry of user authentication data 514, such as user name and password, from the user 403. After the authentication data is entered and generated at the client, it may be obfuscated and/or encrypted as known in the art for secure transmission, and transmitted 518 to the server 406. In the alternative, the server may first confirm user credentials 320 received from the client, as shown in
In either case, the server may confirm that the machine fingerprint is authentic may comparing to the registry of stored authentic machine fingerprints 324, as shown in
In the alternative, as diagrammed in
Referring to
If the outcome of the authorization policy indicates the user/client combination is authorized to use the requested resource 338, the AMA provides access to the requested resource 334. If the policy determination results in finding that the user/client combination is not authorized to use the requested resource 338, the AMA denies access 340, in any suitable fashion.
Having thus described a preferred embodiment of network access control, it should be apparent to those skilled in the art that certain advantages of the within system have been achieved. It should also be appreciated that various modifications, adaptations, and alternative embodiments thereof may be made without departing from the scope and spirit of the present technology. The following claims define the scope of what is claimed.
This application claims priority to U.S. Provisional Application No. 61/218,593 which was filed Jun. 19, 2009 and which is fully incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4246638 | Thomas | Jan 1981 | A |
4351982 | Miller et al. | Sep 1982 | A |
4658093 | Hellman | Apr 1987 | A |
4704610 | Smith et al. | Nov 1987 | A |
4779224 | Moseley et al. | Oct 1988 | A |
4796220 | Wolfe | Jan 1989 | A |
4891503 | Jewell | Jan 1990 | A |
4956863 | Goss | Sep 1990 | A |
5210795 | Lipner et al. | May 1993 | A |
5235642 | Wobber et al. | Aug 1993 | A |
5239166 | Graves | Aug 1993 | A |
5241594 | Kung | Aug 1993 | A |
5291598 | Grundy | Mar 1994 | A |
5414269 | Takahashi | May 1995 | A |
5418854 | Kaufman et al. | May 1995 | A |
5440635 | Bellovin et al. | Aug 1995 | A |
5490216 | Richardson, III | Feb 1996 | A |
5666415 | Kaufman | Sep 1997 | A |
5745879 | Wyman | Apr 1998 | A |
5754763 | Bereiter | May 1998 | A |
5790664 | Coley et al. | Aug 1998 | A |
5925127 | Ahmad | Jul 1999 | A |
5974150 | Kaish et al. | Oct 1999 | A |
6009401 | Horstmann | Dec 1999 | A |
6041411 | Wyatt | Mar 2000 | A |
6044471 | Colvin | Mar 2000 | A |
6158005 | Bharathan et al. | Dec 2000 | A |
6167517 | Gilchrist et al. | Dec 2000 | A |
6230199 | Revashetti et al. | May 2001 | B1 |
6233567 | Cohen | May 2001 | B1 |
6243468 | Pearce et al. | Jun 2001 | B1 |
6294793 | Brunfeld et al. | Sep 2001 | B1 |
6330608 | Stiles | Dec 2001 | B1 |
6330670 | England et al. | Dec 2001 | B1 |
6418472 | Mi et al. | Jul 2002 | B1 |
6449645 | Nash | Sep 2002 | B1 |
6536005 | Augarten | Mar 2003 | B1 |
6785825 | Colvin | Aug 2004 | B2 |
6799272 | Urata | Sep 2004 | B1 |
6826690 | Hind et al. | Nov 2004 | B1 |
6859793 | Lambiase | Feb 2005 | B1 |
6920567 | Doherty et al. | Jul 2005 | B1 |
6976009 | Tadayon et al. | Dec 2005 | B2 |
6981145 | Calvez et al. | Dec 2005 | B1 |
7032110 | Su et al. | Apr 2006 | B1 |
7069440 | Aull | Jun 2006 | B2 |
7069595 | Cognigni et al. | Jun 2006 | B2 |
7082535 | Norman et al. | Jul 2006 | B1 |
7083090 | Zuili | Aug 2006 | B2 |
7085741 | Lao et al. | Aug 2006 | B2 |
7100195 | Underwood | Aug 2006 | B1 |
7178025 | Scheidt et al. | Feb 2007 | B2 |
7181615 | Fehr et al. | Feb 2007 | B2 |
7188241 | Cronce et al. | Mar 2007 | B2 |
7203966 | Abburi et al. | Apr 2007 | B2 |
7206765 | Gilliam et al. | Apr 2007 | B2 |
7233997 | Leveridge et al. | Jun 2007 | B1 |
7234062 | Daum et al. | Jun 2007 | B2 |
7272728 | Pierson et al. | Sep 2007 | B2 |
7305562 | Bianco et al. | Dec 2007 | B1 |
7310813 | Lin et al. | Dec 2007 | B2 |
7319987 | Hoffman et al. | Jan 2008 | B1 |
7327280 | Bachelder et al. | Feb 2008 | B2 |
7337147 | Chen et al. | Feb 2008 | B2 |
7343297 | Bergler et al. | Mar 2008 | B2 |
7418665 | Savage | Aug 2008 | B2 |
7463945 | Kiesel et al. | Dec 2008 | B2 |
7590852 | Hatter et al. | Sep 2009 | B2 |
7653899 | Lindahi et al. | Jan 2010 | B1 |
7836121 | Elgressy et al. | Nov 2010 | B2 |
8171287 | Villela | May 2012 | B2 |
8327448 | Eldar et al. | Dec 2012 | B2 |
8484705 | Hoppe et al. | Jul 2013 | B2 |
20010034712 | Colvin | Oct 2001 | A1 |
20010044782 | Hughes et al. | Nov 2001 | A1 |
20020019814 | Ganesan | Feb 2002 | A1 |
20020065097 | Brockenbrough et al. | May 2002 | A1 |
20020082997 | Kobata et al. | Jun 2002 | A1 |
20020091937 | Ortiz | Jul 2002 | A1 |
20020116616 | Mi et al. | Aug 2002 | A1 |
20020161718 | Coley et al. | Oct 2002 | A1 |
20020178366 | Ofir | Nov 2002 | A1 |
20030001721 | Daum et al. | Jan 2003 | A1 |
20030056107 | Cammack et al. | Mar 2003 | A1 |
20030065918 | Willey | Apr 2003 | A1 |
20030097331 | Cohen | May 2003 | A1 |
20030116621 | Duncan | Jun 2003 | A1 |
20030120920 | Svensson | Jun 2003 | A1 |
20030125975 | Danz et al. | Jul 2003 | A1 |
20030156719 | Cronce | Aug 2003 | A1 |
20030172035 | Cronce et al. | Sep 2003 | A1 |
20030182428 | Li et al. | Sep 2003 | A1 |
20030204726 | Kefford et al. | Oct 2003 | A1 |
20040003228 | Fehr et al. | Jan 2004 | A1 |
20040024860 | Sato et al. | Feb 2004 | A1 |
20040026496 | Zuili | Feb 2004 | A1 |
20040030912 | Merkle et al. | Feb 2004 | A1 |
20040049685 | Jaloveczki | Mar 2004 | A1 |
20040059929 | Rodgers et al. | Mar 2004 | A1 |
20040107360 | Herrmann et al. | Jun 2004 | A1 |
20040117321 | Sancho | Jun 2004 | A1 |
20040143746 | Ligeti et al. | Jul 2004 | A1 |
20040149820 | Zuili | Aug 2004 | A1 |
20040172531 | Little et al. | Sep 2004 | A1 |
20040177255 | Hughes | Sep 2004 | A1 |
20040187018 | Owen et al. | Sep 2004 | A1 |
20050018687 | Cutler | Jan 2005 | A1 |
20050034115 | Carter et al. | Feb 2005 | A1 |
20050108173 | Stefik et al. | May 2005 | A1 |
20050138155 | Lewis | Jun 2005 | A1 |
20050166263 | Nanopoulos et al. | Jul 2005 | A1 |
20050172280 | Ziegler et al. | Aug 2005 | A1 |
20050182732 | Miller et al. | Aug 2005 | A1 |
20050268087 | Yasuda et al. | Dec 2005 | A1 |
20060005237 | Kobata et al. | Jan 2006 | A1 |
20060036766 | Baupin et al. | Feb 2006 | A1 |
20060072444 | Engel et al. | Apr 2006 | A1 |
20060080534 | Yeap et al. | Apr 2006 | A1 |
20060085310 | Mylet et al. | Apr 2006 | A1 |
20060090070 | Bade et al. | Apr 2006 | A1 |
20060095454 | Shankar et al. | May 2006 | A1 |
20060115082 | Kevenaar et al. | Jun 2006 | A1 |
20060161914 | Morrison et al. | Jul 2006 | A1 |
20060168580 | Harada et al. | Jul 2006 | A1 |
20060265337 | Wesinger, Jr. | Nov 2006 | A1 |
20060265446 | Elgressy et al. | Nov 2006 | A1 |
20060282511 | Takano et al. | Dec 2006 | A1 |
20070061566 | Bailey et al. | Mar 2007 | A1 |
20070078785 | Bush et al. | Apr 2007 | A1 |
20070094715 | Brown et al. | Apr 2007 | A1 |
20070113090 | Villela | May 2007 | A1 |
20070124689 | Weksel | May 2007 | A1 |
20070143073 | Richardson et al. | Jun 2007 | A1 |
20070143408 | Daigle | Jun 2007 | A1 |
20070143838 | Milligan et al. | Jun 2007 | A1 |
20070168288 | Bozeman | Jul 2007 | A1 |
20070174633 | Draper et al. | Jul 2007 | A1 |
20070198422 | Prahlad et al. | Aug 2007 | A1 |
20070198850 | Martin et al. | Aug 2007 | A1 |
20070203846 | Kavuri et al. | Aug 2007 | A1 |
20070207780 | McLean | Sep 2007 | A1 |
20070209064 | Qin et al. | Sep 2007 | A1 |
20070219917 | Liu et al. | Sep 2007 | A1 |
20070260883 | Giobbi et al. | Nov 2007 | A1 |
20070282615 | Hamilton et al. | Dec 2007 | A1 |
20080028455 | Hatter et al. | Jan 2008 | A1 |
20080052775 | Sandhu et al. | Feb 2008 | A1 |
20080065552 | Elazar et al. | Mar 2008 | A1 |
20080086423 | Waites | Apr 2008 | A1 |
20080104683 | Nagami et al. | May 2008 | A1 |
20080120195 | Shakkarwar | May 2008 | A1 |
20080120707 | Ramia | May 2008 | A1 |
20080147556 | Smith et al. | Jun 2008 | A1 |
20080152140 | Fascenda | Jun 2008 | A1 |
20080177997 | Morais et al. | Jul 2008 | A1 |
20080228578 | Mashinsky | Sep 2008 | A1 |
20080242405 | Chen et al. | Oct 2008 | A1 |
20080261562 | Jwa et al. | Oct 2008 | A1 |
20080268815 | Jazra et al. | Oct 2008 | A1 |
20080289025 | Schneider | Nov 2008 | A1 |
20080320607 | Richardson | Dec 2008 | A1 |
20090003600 | Chen et al. | Jan 2009 | A1 |
20090019536 | Green et al. | Jan 2009 | A1 |
20090083730 | Richardson | Mar 2009 | A1 |
20090083833 | Ziola et al. | Mar 2009 | A1 |
20090113088 | Illowsky et al. | Apr 2009 | A1 |
20090119744 | Lange et al. | May 2009 | A1 |
20090132813 | Schibuk | May 2009 | A1 |
20090138643 | Charles et al. | May 2009 | A1 |
20090138975 | Richardson | May 2009 | A1 |
20090198618 | Chan et al. | Aug 2009 | A1 |
20090271851 | Hoppe et al. | Oct 2009 | A1 |
20090300744 | Guo et al. | Dec 2009 | A1 |
20100197293 | Shem-Tov | Aug 2010 | A1 |
20100306038 | Harris | Dec 2010 | A1 |
20100332337 | Bullock | Dec 2010 | A1 |
20110093943 | Nakagawa et al. | Apr 2011 | A1 |
Number | Date | Country |
---|---|---|
678985 | Jun 1997 | AU |
101 55 755 | May 2003 | DE |
1 739 879 | Jun 2005 | EP |
1637958 | Mar 2006 | EP |
1637961 | Mar 2006 | EP |
1670188 | Jun 2006 | EP |
2312483 | Apr 2011 | EP |
2323062 | May 2011 | EP |
2355322 | Apr 2001 | GB |
2434724 | Aug 2007 | GB |
WO 9209160 | May 1992 | WO |
WO 9220022 | Nov 1992 | WO |
WO 9301550 | Jan 1993 | WO |
WO 9535533 | Dec 1995 | WO |
WO 0058895 | Oct 2000 | WO |
WO 0067095 | Nov 2000 | WO |
WO 0190892 | Nov 2001 | WO |
WO 03032126 | Apr 2003 | WO |
WO 2004054196 | Jun 2004 | WO |
WO 2005104686 | Nov 2005 | WO |
WO2007060516 | May 2007 | WO |
WO2008013504 | Jan 2008 | WO |
WO 2008127431 | Oct 2008 | WO |
WO2008157639 | Dec 2008 | WO |
WO2009039504 | Mar 2009 | WO |
WO2009065135 | May 2009 | WO |
WO2009076232 | Jun 2009 | WO |
WO2009105702 | Aug 2009 | WO |
WO2009143115 | Nov 2009 | WO |
WO 2009158525 | Dec 2009 | WO |
WO 2010093683 | Aug 2010 | WO |
WO 2011032605 | Mar 2011 | WO |
Entry |
---|
Posting from Slashdot.org on the article “Smart Cards for Windows XP Login ” Comment “Re: PIN” posted Dec. 3, 2001. http://ask.slashdot.org/comments.pl?sid=24411&cid=2648374. |
Wikipedia article for “Two-factor authentication” Article published Jun. 3, 2008 (7 pages) http://en.wikipedia.org/w/index.php?title=Two-factor—authentication&oldid=216794321. |
Williams, R., “A Painless Guide to CRC Error Detection Algorithms”, Ver. 3, Aug. 19, 1993. |
Angha, F. et al., “Securing Transportation Network Infrastructure with Patented Technology of Device Locking—Developed by Uniloc USA”, avail. at: http://www.dksassociates.com/admin/paperfile/ITS%20World%20Paper%20Submission—Uniloc%20—2—.pdf, Oct. 24, 2006. |
Econolite, “Econolite and Uniloc Partner to Bring Unmatched Infrastructure Security to Advanced Traffic Control Networks with Launch of Strongpoint”, avail. at: http://www.econolite.com/docs/press/20080304—Econolite—StrongPoint.pdf, Mar. 4, 2008. |
Choudhary et al., “A Cross-browser Web Application Testing Tool,” 26th IEEE International Conference on Software Maintenance, Issue Date Sep. 12-18, 2010. |
Housley et al., “Internet x.509 Public Key Infracstructure Certificate and CRL Profile,” The Internet Society, Network Working Group, 1999, 75 pages. [RFC 2459]. |
Jensen et al., “Assigning and Enforcing Security Policies on Handheld Devices,” 2002, 8 pages. |
Muncaster et al., “Continous Multimodal Authentication Using Dynamic Baysian Networks,” Second Workshop on Multimodal User Authentication, Toulouse, France, May 11-12, 2006. XP55003041. |
Sim et al. “Continous Verification Using Multimodal Biometrics”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 29, No. 4, Apr. 1, 2007, IEEE Serivce Center, Los Alamitos, CA, pp. 687-700. XP011168507. |
Wikipedia: “Software Extension,” May 28, 2009, Internet Article retrieved on Oct. 11, 2010. XP002604710. |
H. Williams, et al., “Web Database Applications with PHP & MySQL”, Chapter 1, “Database Applications and the Web”, ISBN 0-596-00041-3, O'Reilly & Associates, Inc., Mar. 2002, avail. at: http://docstore.mik.ua/orelly/webprog/webdb/ch01—01.htm. XP002603488. |
“Canon User Manual—Nikon Coolpix S52/S52c,” Apr. 21, 2008, entire manual. |
David J-L, “Cookieless Data Persistence in Possible,” Apr. 23, 2003, Internet Article retrieved on Sep. 21, 2010. XP002603490. |
Johnson et al. “Dynamic Source Routing in Ad Hoc Wireless Networks,” Mobile Computing, Kluwer Academic Publishers, 1996. |
Iovation, “Using Reputation of Devices to Detect and Prevent Online Retail Fraud,” White Paper, Apr. 2007. |
Iovation, “Controlling High Fraud Risk of International Transactions,” Iovation Reputation Services, White Paper, May 2007. |
Posting from Slashdot on the article “Smart Cards for Windows XP Login” Comment “Re: PIN” posted Dec. 3, 2001. http://en.wikipedia.org/w/index.php ?title=Two-factor—authentication&ildid=216794321. |
Number | Date | Country | |
---|---|---|---|
20100325710 A1 | Dec 2010 | US |
Number | Date | Country | |
---|---|---|---|
61218593 | Jun 2009 | US |