1. Field of the Invention
The present invention relates generally to network-based computer security and, more particularly, methods of and systems for authenticating a device for computer network security.
2. Description of the Related Art
Device identification through device keys, i.e., though a collection of hardware and system configuration attributes, has proven to be invaluable in recent years to such technologies as security and digital rights management. In security, authentication of a person can be restricted to a limited number of previously authorized devices that are recognized by their device keys. In digital rights management, use of copyrighted or otherwise proprietary subject matter can be similarly restricted to a limited number of previously authorized devices that are recognized by their device keys.
Device keys, sometimes referred to as digital fingerprints, should be globally unique and difficult to spoof. Accordingly, IP and MAC addresses make insecure identifiers. In addition, some operating systems limit access to device configuration details, making derivation of a globally unique identifiers of a large population of similar devices particularly challenging.
What is needed is a way to identify and authenticate a device using information of the device that is highly likely to be unique and is accessible to user space applications.
In accordance with the present invention, a device authentication server authenticates a remotely located device using a detailed history of movement of the device. Such movement history is represented by data representing a history of the external state of the device within a physical environment, examples of which include accelerometer logs, orientation logs, and magnetic field logs.
For example, acceleration of the device through space represents rates of change of velocity of the device through space, which in turn is a measure of rates of change of the position of the device in space. Position, velocity, and acceleration of the device in and through space are external states of the device as “external state” is used herein. Orientation of the device is a measure of the angular deviation of the device the device from perfectly flat (display screen parallel to the surface of the earth) with the top pointed toward magnetic North. Such orientation is an external state of the device. In addition, the external state of the device includes the earth's magnetic field at the physical location of the device measured across three dimensions of device 102: x-, y-, and z-axes.
All of these external states of the device are direct or indirect results of external forces being applied to the device, such as being physically carried by a person, being transported in a vehicle, or being acted upon by gravity and a physical collision with an immovable object at the end of a fall, for example. For example, physically carrying the device causes (i) acceleration of device as the device is accelerated to move through space and eventually decelerated to stop, (ii) changes in orientation of the device unless extreme care is taken to avoid even minute changes in the orientation of the device (entirely impractical if carried by a person), and (iii) changes in the earth's magnetic field across the three axes of the device as the physical location and orientation of the device changes.
Data representing these external states of the device is recorded in various logs, including an accelerometer log, an orientation log, and a magnetic field log, for example. These logs represent a history of external states of the device as the device has moved through physical space. The manner in which the device moves through physical space is even more unique than the user of the device herself since each movement of the device is likely to be unique, even if the same user moves the device attempts to move the device exactly the same. Thus, the history of external states of the device is highly likely to be unique among very large populations of devices.
For subsequent authentication of the device, the device provides the device authentication server with a history of external states, sometimes reference to as device environmental data, of the device to store and use subsequently as reference device environmental data.
In subsequent authentication of the device, the device authentication server sends a device key challenge to the device. The device key challenge specifies a randomized selection of device attribute parts to be collected from the device and the manner in which the device attribute parts are to be combined to form a device key. The device key is data that identifies and authenticates the device and includes a device identifier and device environmental data.
The device authentication server authenticates the device when the device identifier of the device key identifies the device and the device environmental data is consistent with the reference device environmental data.
Other systems, methods, features and advantages of the invention will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the accompanying claims. Component parts shown in the drawings are not necessarily to scale, and may be exaggerated to better illustrate the important features of the invention. In the drawings, like reference numerals may designate like parts throughout the different views, wherein:
In accordance with the present invention, a device authentication server 108 (
As used herein, an external state is independent of any state within a device but is limited to aspects of the physical environment that is external to device 102. For example, acceleration of device 102 through space represents rates of change of velocity of device 102 through space, which in turn is a measure of rates of change of the position of device 102 in space. Position, velocity, and acceleration of device 102 in and through space are external states of device 102 as “external state” is used herein. Orientation of device 102 is a measure of the angular deviation of device 102 from perfectly flat (display screen parallel to the surface of the earth) with the top pointed toward magnetic North. Such orientation is an external state of device 102. In addition, the external state of device 102 includes the earth's magnetic field at the physical location of device 102 measured across three dimensions of device 102: x-, y-, and z-axes. All of these external states of device 102 are direct or indirect results of external forces being applied to device 102, such as being physically carried by a person, being transported in a vehicle, or being acted upon by gravity and a physical collision with an immovable object at the end of a fall, for example. For example, physically carrying device 102 causes (i) acceleration of device as device 102 is accelerated to move through space and eventually decelerated to stop, (ii) changes in orientation of device 102 unless extreme care is taken to avoid even minute changes in the orientation of device 102 (entirely impractical if carried by a person), and (iii) changes in the earth's magnetic field across the three axes of device 102 as the physical location and orientation of device 102 changes.
In this illustrative embodiment, device 102 is a mobile device that includes accelerometers 1114 (
Accelerometers 1214, orientation sensors 1216, and magnetic field sensors 1218 can measure their respective environmental states at rates of 100 MHz or more. Accordingly, a large amount of data can be gathered relatively quickly. In addition, the manner in which device 102 moves through its environment is even more unique than the user of device 102 herself since each movement of device 102 is likely to be unique, even if the same user moves device 102 attempts to move device 102 exactly the same. Thus, the environmental data stored in accelerometer log 1150, orientation log 1152, and magnetic field log 1154 is highly likely to be unique among very large populations of devices.
Device authentication system 100 (
Device attributes are described briefly to facilitate understanding and appreciation of the present invention. In this illustrative embodiment, logged environmental data of device 102 is combined with other attributes of device 102 to form a digital fingerprint of device 102. Such other attributes include hardware and system configuration attributes of device 102 that make up an internal state of device 102. Known device record 500 (
For subsequent authentication of device 102, registration in the manner illustrated in transaction flow diagram 200 (
In step 202, device 102 sends a request for registration to device authentication server 108. The request can be in the form of a URL specified by the user of device 102 using a web browser 1120 (
In step 204 (
The request sent to device 102 includes content that causes web browser 1120 (
The content that causes web browser 1120 (
Step 206 for gathering attribute data regarding logged environmental data is shown in greater detail as logic flow diagram 206 (
Each of accelerometer log 1150 (
Time stamp 410 specifies the time at which the measurements of environmental record 402 were captured. The start and end times determined by device 102 in step 702 (
In step 704 (
In step 706, device 102 forms a device identifier from the extracted logged environmental data. In this illustrative embodiment, device 102 forms the device identifier from the extracted logged environmental data in combination with other device attribute data. The device identifier can be a hash of all, or selected parts, of collected device attributed data, for example. After step 706, processing according to logic flow diagram 206, and therefore step 206 (
In this illustrative embodiment, device 102—in particular, web browser plug-in 1122 (
In step 208 (
In step 210, device authentication logic 1020 (
In step 212 (
Known device record 500 (
In this illustrative embodiment, value 508 stores the appropriate log data in the form of environmental log 400. In alternative embodiments, value 508 can store an abstraction of the log data. For example, value 508 can store a hash of the log data. Alternatively, value 508 can store data representing the total distance device 102 has moved using accelerometer log data, the cumulative angle of rotation of device 102 using orientation log data, and the cumulative change in magnetic field of device 102 using the magnetic field data.
Device attribute 504 (
Extraction logic 510 specifies the manner in which the subject device attribute is extracted by device 102. Logic flow diagram 206 (
Comparison logic 512 specifies the manner in which the subject device attribute is compared to a corresponding device attribute to determine whether device attributes match one another. For example, if environmental log data is gathered with a specific time range, the comparison can be equivalence of the environmental log data received for authentication with that stored in value 508 for the specific time range. If the environmental log data is gathered in its entirety and represented as a cumulative change in state, the environmental log data received for authentication should be greater that stored in value 508 by an amount roughly predicted by the rate of change in the state over time.
Alert logic 514 can specify alerts of device matches or mismatches or other events. Examples of alert logic 514 include e-mail, SMS messages, and such to the owner of device 102 and/or to a system administrator responsible for proper functioning of device 102.
Adjustment logic 516 specifies the manner in which the subject device attribute is to be adjusted after authentication. For example, if the environmental log data received for authentication includes environmental log data that is not already stored in value 508, adjustment logic 516 can cause value 508 to be updated to include the additional environmental log data. Similarly, if the environmental log data received for authentication is a cumulative representation of the environmental log data, adjustment logic 516 can cause value 508 to be updated to include the newly received cumulative representation.
Device attribute 504 is shown to include the elements previously described for ease of description and illustration. However, it should be appreciated that a device attribute 504 for a given device can include only identifier 506 and value 508, while a separate device attribute specification can include extraction logic 510, comparison logic 512, alert logic 514, and adjustment logic 516. In addition, all or part of extraction logic 510, comparison logic 512, alert logic 514, and adjustment logic 516 can be common to attributes of a given type and can therefore be defined for the given type.
Transaction flow diagram 300 (
In step 302, device 102 sends a request for a log-in web page to server 106 by which the user can authenticate herself. The request can be in the form of a URL specified by the user of device 102 using web browser 1120 (
In step 304 (
In step 306, web browser 1120 (
In step 308 (
In step 312 (
In response to the request, device authentication server 108 generates and cryptographically signs a session key. Session keys and their generation are known and are not described herein. In addition, device authentication server 108 creates a device key challenge and encrypts the device key challenge using a public key of device 102 and PKI.
To create the device key challenge, device authentication server 108 retrieves the known device record 500 (
In step 316 (
In step 318, server 106 sends a “device authenticating” page to device 102 along with the device key challenge. The “device authenticating” page includes content that provides a message to the user of device 102 that authentication of device 102 is underway and content that causes device 102 to produce a dynamic device key in the manner specified by the device key challenge.
The device key challenge causes web browser 1120 (
The device key challenge specifies the manner in which DDK 1142 is to be generated from the attributes of device 102 represented in device attributes 504 (
The device key challenge specifies items of information to be collected from hardware and system configuration attributes of device 102 and the manner in which those items of information are to be combined to form DDK 1142. In this embodiment, the challenge specifies one or more attributes related to logged environmental data of device 102, e.g., accelerometer log 1150, orientation log 1152, and/or magnetic field log 1154.
The device key challenge can specify multiple parts of a device attribute to include in the device key. For example, the device key challenge can specify that the total distance device 102 moved in the month of February and the first quarter of the year (including February twice) is to be derived from accelerometer log data and included in the device key. Similarly, the device key challenge can specify that orientation log data from orientation log 1152 for five small time intervals randomly selected from the entirety of orientation log 1152.
To provide greater security, DDK 1142 includes data representing the logged environmental data obfuscated using a nonce included in the challenge. While use of randomized parts of the logged environmental data precludes capture of any single DDK to be used in subsequent authentication, use of the nonce thwarts collection of randomized parts of the logged environmental data over time to recreate enough of environmental log 400 (
In step 320 (
In step 802, device 102 determines start and end times for logged environmental data to be collected. The start and end times are specified in the device key challenge and the device key challenge can include multiple start/end time pairs.
In step 804 (
In step 806, device 102 packages the extracted logged environmental data in the manner specified in the device key challenge. As noted above, the device key challenge can specify that the an abstraction of the extracted logged environmental data, such as cumulative change in environmental state over time for example. After step 806, processing according to logic flow diagram 320, and therefore step 320 (
Once DDK 1142 (
In step 322 (
In step 326, device authentication logic 1020 of device authentication server 108 decrypts and authenticates the received DDK. Step 326 is shown in greater detail as logic flow diagram 326 (
In step 602, device authentication logic 1020 identifies device 102. In this illustrative embodiment, the received DDK includes a device identifier corresponding to device identifier 502 (
In test step 604 (
In step 606, device authentication logic 1020 authenticates the received DDK using the known device record 500 (
In test step 608 (
If the received DDK does not authenticate device 102, processing transfers to step 614 and authentication fails or, alternatively, to step 314 (
In step 610, device authentication logic 1020 determines that device 102 is successfully authenticated.
In test step 612 (
In step 614, device authentication logic 1020 determines that device 102 is not authentic, i.e., that authentication according to logic flow diagram 326 fails.
In step 616, device authentication logic 1020 logs the failed authentication and, in step 618, applies alert logic 514 (
In step 328 (
In step 330, server 106 determines whether to continue to interact with device 102 and in what manner according to the device authentication results received in step 328.
Server computer 106 is shown in greater detail in
CPU 902 and memory 904 are connected to one another through a conventional interconnect 906, which is a bus in this illustrative embodiment and which connects CPU 902 and memory 904 to network access circuitry 912. Network access circuitry 912 sends and receives data through computer networks such as wide area network 104 (
A number of components of server 106 are stored in memory 904. In particular, web server logic 920 and web application logic 922, including authentication logic 924, are all or part of one or more computer processes executing within CPU 902 from memory 904 in this illustrative embodiment but can also be implemented using digital logic circuitry.
Web server logic 920 is a conventional web server. Web application logic 922 is content that defines one or more pages of a web site and is served by web server logic 920 to client devices such as device 102. Authentication logic 924 is a part of web application logic 922 that causes client devices and their users to authenticate themselves in the manner described above.
Device authentication server 108 is shown in greater detail in
A number of components of device authentication server 108 (
Device 102 is a personal computing device and is shown in greater detail in
CPU 1102 and memory 1104 are connected to one another through a conventional interconnect 1106, which is a bus in this illustrative embodiment and which connects CPU 1102 and memory 1104 to one or more input devices 1108, output devices 1110, and network access circuitry 1112. Input devices 1108 can include, for example, a keyboard, a keypad, a touch-sensitive screen, a mouse, a microphone, and one or more cameras. Output devices 1110 can include, for example, a display—such as a liquid crystal display (LCD)—and one or more loudspeakers. Network access circuitry 1112 sends and receives data through computer networks such as wide area network 104 (
Accelerometers 1114 measure physical acceleration of device 102 in three dimensions and report measured acceleration through interconnect 1106 to CPU 1102 for storage in accelerometer log 1150. Accelerometers 1114 are known and are not described further herein.
Orientation sensors 1116 measure orientation of device 102 in three dimensions and report measured orientation through interconnect 1106 to CPU 1102 for storage in orientation log 1152. Orientation sensors 1116 are known and are not described further herein.
Magnetic field sensors 1118 measure the earth's magnetic field around device 102 along three dimensions and report measured magnetic fields through interconnect 1106 to CPU 1102 for storage in magnetic field log 1154. Magnetic field sensors 1118 are known and are not described further herein.
A number of components of device 102 are stored in memory 1104. In particular, web browser 1120 is all or part of one or more computer processes executing within CPU 1102 from memory 1104 in this illustrative embodiment but can also be implemented using digital logic circuitry. As used herein, “logic” refers to (i) logic implemented as computer instructions and/or data within one or more computer processes and/or (ii) logic implemented in electronic circuitry. Web browser plug-ins 1122 are each all or part of one or more computer processes that cooperate with web browser 1120 to augment the behavior of web browser 1120. The manner in which behavior of a web browser is augmented by web browser plug-ins is conventional and known and is not described herein.
Operating system 1130 is all or part of one or more computer processes executing within CPU 1102 from memory 1104 in this illustrative embodiment but can also be implemented using digital logic circuitry. An operating system (OS) is a set of programs that manage computer hardware resources and provide common services for application software such as web browser 1120, web browser plug-ins 1122, and DDK generator 1140.
DDK generator 1140 is all or part of one or more computer processes executing within CPU 1102 from memory 1104 in this illustrative embodiment but can also be implemented using digital logic circuitry. DDK generator 1140 facilitates authentication of device 102 in the manner described above.
Dynamic device key 1142, accelerometer log 1150, orientation log 1152, and magnetic field log 1154 are each data stored persistently in memory 1104 and each can be organized as all or part of one or more databases.
The above description is illustrative only and is not limiting. The present invention is defined solely by the claims which follow and their full range of equivalents. It is intended that the following appended claims be interpreted as including all such alterations, modifications, permutations, and substitute equivalents as fall within the true spirit and scope of the present invention.
This application claims priority to U.S. Provisional Application 61/780,289, which was filed Mar. 13, 2013, and which is fully incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4246638 | Thomas | Jan 1981 | A |
4779224 | Moseley et al. | Oct 1988 | 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 |
5666415 | Kaufman | Sep 1997 | A |
6041411 | Wyatt | Mar 2000 | A |
6161185 | Guthrie et al. | Dec 2000 | A |
6167517 | Gilchrist et al. | Dec 2000 | A |
6243468 | Pearce et al. | Jun 2001 | B1 |
6330608 | Stiles | Dec 2001 | B1 |
6418472 | Mi et al. | Jul 2002 | B1 |
6539479 | Wu | Mar 2003 | B1 |
6799272 | Urata | Sep 2004 | B1 |
6826690 | Hind et al. | Nov 2004 | B1 |
6981145 | Calvez et al. | Dec 2005 | B1 |
7082535 | Norman et al. | Jul 2006 | B1 |
7083090 | Zuili | Aug 2006 | B2 |
7100195 | Underwood | Aug 2006 | B1 |
7178025 | Scheidt et al. | Feb 2007 | B2 |
7181615 | Fehr et al. | Feb 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 |
7418665 | Savage | Aug 2008 | B2 |
7590852 | Hatter et al. | Sep 2009 | B2 |
7819322 | Hammad et al. | Oct 2010 | B2 |
7836121 | Elgressy et al. | Nov 2010 | B2 |
8171287 | Villela | May 2012 | B2 |
8181032 | Prakash et al. | May 2012 | B2 |
8205795 | Kurasaki et al. | Jun 2012 | B2 |
8327448 | Eldar et al. | Dec 2012 | B2 |
8484705 | Hoppe et al. | Jul 2013 | B2 |
8667265 | Hamlet et al. | Mar 2014 | B1 |
20020065097 | Brockenbrough et al. | May 2002 | A1 |
20020091937 | Ortiz | Jul 2002 | A1 |
20020112186 | Ford et al. | Aug 2002 | A1 |
20020116616 | Mi et al. | Aug 2002 | A1 |
20020178366 | Ofir | Nov 2002 | A1 |
20020181747 | Topping | Dec 2002 | A1 |
20030001721 | Daum et al. | Jan 2003 | A1 |
20030056107 | Cammack et al. | Mar 2003 | A1 |
20030061518 | Yamaguchi et al. | Mar 2003 | A1 |
20030065918 | Willey | Apr 2003 | A1 |
20030074568 | Kinsella et al. | Apr 2003 | A1 |
20030097331 | Cohen | May 2003 | A1 |
20030120920 | Svensson | Jun 2003 | A1 |
20030156719 | Cronce et al. | Aug 2003 | A1 |
20030159044 | Doyle et al. | Aug 2003 | A1 |
20030182428 | Li et al. | Sep 2003 | A1 |
20040003228 | Fehr et al. | Jan 2004 | A1 |
20040010685 | Sakaguchi et al. | Jan 2004 | A1 |
20040026496 | Zuili | Feb 2004 | A1 |
20040030912 | Merkle et al. | Feb 2004 | A1 |
20040049685 | Jaloveczki | 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 |
20040153483 | Cox | Aug 2004 | A1 |
20040172531 | Little et al. | Sep 2004 | A1 |
20040172558 | Callahan 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 |
20050166263 | Nanopoulos et al. | Jul 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 |
20060080534 | Yeap et al. | Apr 2006 | A1 |
20060085310 | Mylet et al. | Apr 2006 | A1 |
20060090070 | Bade et al. | Apr 2006 | A1 |
20060115082 | Kevenaar et al. | Jun 2006 | A1 |
20060161914 | Morrison et al. | Jul 2006 | A1 |
20060168580 | Harada et al. | Jul 2006 | A1 |
20060248600 | O'Neill | Nov 2006 | A1 |
20060265446 | Elgressy et al. | Nov 2006 | A1 |
20070050850 | Katoh et al. | Mar 2007 | 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 |
20070126550 | Richardson | Jun 2007 | A1 |
20070143408 | Daigle | Jun 2007 | A1 |
20070143838 | Milligan et al. | Jun 2007 | A1 |
20070174633 | Draper et al. | Jul 2007 | A1 |
20070198850 | Martin et al. | Aug 2007 | A1 |
20070207780 | McLean | Sep 2007 | A1 |
20070209064 | Qin et al. | Sep 2007 | A1 |
20070214093 | Colella | Sep 2007 | A1 |
20070219917 | Liu et al. | Sep 2007 | A1 |
20070234409 | Eisen | Oct 2007 | A1 |
20070260883 | Giobbi et al. | Nov 2007 | A1 |
20080010673 | Makino et al. | Jan 2008 | A1 |
20080028455 | Hatter et al. | Jan 2008 | A1 |
20080052775 | Sandhu et al. | Feb 2008 | A1 |
20080104683 | Nagami et al. | May 2008 | A1 |
20080120195 | Shakkarwar | May 2008 | A1 |
20080120707 | Ramia | May 2008 | A1 |
20080152140 | Fascenda | Jun 2008 | A1 |
20080177997 | Morais et al. | Jul 2008 | A1 |
20080226142 | Pennella et al. | Sep 2008 | A1 |
20080242405 | Chen et al. | Oct 2008 | A1 |
20080261562 | Jwa et al. | Oct 2008 | A1 |
20080268815 | Jazra et al. | Oct 2008 | A1 |
20080276321 | Svancarek et al. | Nov 2008 | A1 |
20080289025 | Schneider | Nov 2008 | A1 |
20090019536 | Green et al. | Jan 2009 | A1 |
20090083833 | Ziola et al. | Mar 2009 | A1 |
20090101707 | Kurasaki et al. | Apr 2009 | A1 |
20090113088 | Illowsky et al. | Apr 2009 | A1 |
20090132813 | Schibuk | May 2009 | A1 |
20090138643 | Charles et al. | May 2009 | A1 |
20090198618 | Chan et al. | Aug 2009 | A1 |
20090271851 | Hoppe et al. | Oct 2009 | A1 |
20090287938 | Prakash et al. | Nov 2009 | A1 |
20090300744 | Guo et al. | Dec 2009 | A1 |
20100197293 | Shem-Tov | Aug 2010 | A1 |
20100306038 | Harris | Dec 2010 | A1 |
20110093943 | Nakagawa et al. | Apr 2011 | A1 |
20110244829 | Kase | Oct 2011 | A1 |
20110271109 | Schilling et al. | Nov 2011 | A1 |
20120030771 | Pierson et al. | Feb 2012 | A1 |
20120284499 | Prakash et al. | Nov 2012 | A1 |
20130031619 | Waltermann et al. | Jan 2013 | A1 |
20130174231 | Stavropoulos et al. | Jul 2013 | A1 |
20130183936 | Smtih et al. | Jul 2013 | A1 |
Number | Date | Country |
---|---|---|
1 739 879 | Jun 2005 | EP |
1 637 958 | Mar 2006 | EP |
2282474 | Feb 2011 | EP |
2312483 | Apr 2011 | EP |
2355322 | Apr 2001 | GB |
WO 9209160 | May 1992 | WO |
WO 0058895 | Oct 2000 | WO |
WO 0190892 | Nov 2001 | WO |
WO 03032126 | Apr 2003 | WO |
WO 2004054196 | Jun 2004 | WO |
WO 2005104686 | Nov 2005 | WO |
WO 2008013504 | Jan 2008 | WO |
WO 2008127431 | Oct 2008 | WO |
Entry |
---|
Martinez et al.; Environmental sensor networks; Published in: Computer (vol. 37 , Issue: 8 ); Date of Publication : Aug. 2004; pp. 50-56; IEEE Xplore. |
Pottie et al.; Wireless integrated network sensors;Published in: Magazine Communications of the ACM CACM Homepage archive; vol. 43 Issue 5, May 2000; pp. 51-58; ACM Digital Library. |
“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. |
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. |
Jensen et al., “Assigning and Enforcing Security Policies on Handheld Devices,” 2002, 8 pages. |
Johnson et al. “Dynamic Source Routing in Ad Hoc Wireless Networks,” Mobile Computing, Kluwer Academic Publishers, 1996. |
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. |
Wikipedia: “Software Extension,” May 28, 2009, Internet Article retrieved on Oct. 11, 2010. XP002604710. |
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 | |
---|---|---|---|
20140282933 A1 | Sep 2014 | US |
Number | Date | Country | |
---|---|---|---|
61780289 | Mar 2013 | US |