Field of the Invention
The present invention relates generally to computer security and, more particularly, methods of and systems for securely authenticating devices.
Description of the Related Art
Digital certificates are used in cryptographic systems, particularly those using PKI (Public Key Infrastructure), to authenticate data in various contexts. For example, device drivers often require authentication using a certificate of the source of the particular driven device before a computer will permit installation of the device driver to ensure that the device will behave properly. In addition, certificates can be used to identify computers as authorized to access secure content.
One of the shortcomings of certificates today is that copies of certificates can be kept in many storage locations, making copying and improper use of a certificate a significant risk to security.
In accordance with the present invention, a device-bound certificate authority binds a certificate to one or more devices by including digital fingerprints of the devices in the certificate. A device only uses a device-bound certificate if the digital fingerprint of the device is included in the certificate and is verified. Thus, a certificate is only usable by one or more devices to which the certificate is explicitly bound.
Such device-bound certificates can be used for various purposes served by certificates generally such as device driver authentication and authorization of access to secure content, for example.
Should a certificate have its security compromised, the effect of such compromise is limited to just those explicitly authorized devices to which the certificate is bound. The certificate cannot be used by unauthorized devices to which the certificate might be distributed. As a result, any malicious programming injected into code authenticated by a compromised certificate that is distributed by some entity other than a duly authorized device-bound certificate authority will not be executed by devices that require device-bound certificates.
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, digital certificates 802 (
In this illustrative embodiment, device-bound certificate authority 108 binds certificate 802 (
Prior to using certificate 802, client computer 102 always verifies that authorized device data 804 indicates that client computer 102 is authorized to use certificate 802. As described more completely below, such indicates that client computer 102 received certificate 802 from a device-bound certificate authority that client computer 102 trusts and with which client computer 102 has registered.
Before describing the management and use of device-bound certificates in accordance with the present invention, some elements of client computer 102 (
Client computer 102 is shown in greater detail in
CPU 308 and memory 306 are connected to one another through a conventional interconnect 310, which is a bus in this illustrative embodiment and which connects CPU 308 and memory 306 to one or more input devices 302, output devices 304, and network access circuitry 322. Input devices 302 can include, for example, a keyboard, a keypad, a touch-sensitive screen, a mouse, and a microphone. Output devices 304 can include, for example, a display—such as a liquid crystal display (LCD)—and one or more loudspeakers. Network access circuitry 322 sends and receives data through a wide area network 106 (
A number of components of client computer 102 are stored in memory 306. In particular, certificate API 312, device driver installation logic 314, and secure networking logic 316 are each all or part of one or more computer processes executing within CPU 308 from memory 306 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. Certificates 320 are data stored persistently in memory 306. In this illustrative embodiment, certificates 320 are organized as a database.
Device-bound certificate authority 108 (
A number of components of DBCA 108 are stored in memory 406. In particular, certificate serving logic 412 is all or part of one or more computer processes executing within CPU 408 from memory 406 in this illustrative embodiment but can also be implemented using digital logic circuitry. Digital fingerprint registry 414 and certificates 416 are data stored persistently in memory 406. In this illustrative embodiment, digital fingerprint registry 414 and certificates 416 are each organized as a database.
In one embodiment, DBCA 108 also serves as a conventional certificate authority and maintains certificates 416 in a conventional manner in addition to the device-bound certificate management described herein. In an alternative embodiment, DBCA 108 uses a remotely-located certificate authority to obtain authentic copies of certificates in a conventional manner and maintains certificates 416 for local device binding in the manner described herein. DBCA 108 can also maintain certificates 416 for limited periods of time as a cache of device-bound certificates to more efficiently serve repeated requests for the same device-bound certificates in a relatively short amount of time.
Digital fingerprint registry 414 stores a number of digital fingerprint records such as digital fingerprint record 902 (
Prior to use of DBCA 108, a device must register with DBCA 108. For example, client computer 102 (
In an alternative embodiment, DBCA 108 directs a device to produce a digital fingerprint of itself when DBCA 108 does not already have a digital fingerprint of the device. In other words, DBCA 108 can implement dynamic registration. In particular, upon determining that DBCA 108 requires a digital fingerprint of a given device and does not have one, DBCA 108 requests that the device send DBCA 108 a digital fingerprint of the device. In response to such a request, client computer 102 generates a digital fingerprint of itself and sends the digital certificate to DBCA 108.
In some embodiments, client computer 102 creates the digital fingerprint of itself using logic in certificate API 312 (
For example, DBCA 108 can provide the logic directly or can provide a URL to the logic so as to direct client computer 102 to access the logic using the URL. The URL can identify logic to be obtained from DBCA 108 directly or can identify other computers reachable through wide area network 106. In addition, client computer 102 can execute the logic by receiving and installing the logic as client computer 102 would install software generally or client computer 102 can execute the logic as active content in a web page displayed by a browser of client computer 102.
Subsequently to registration with DBCA 108 as described above or in conjunction with dynamic registration as described above, client computer 102 can retrieve device-bound certificates from DBCA 108 in a manner illustrated in transaction flow diagram 200 (
In step 204, DBCA 108 retrieves the certificate of the entity whose certificate is requested in step 202. DBCA 108 retrieves the certificate from certificates 416 (
In step 206, DBCA 108 retrieves the digital fingerprint of client computer 102 using the identifier of the request. The retrieved digital fingerprint is the one associated with the received identifier in digital fingerprint registry 414 (
In step 206 (
In step 208 (
In step 210 (
In step 212, client computer 102 accepts and uses certificate 802 only if at least one digital fingerprint of authorized device data 804 matches the digital fingerprint of client computer 102. Conversely, if no digital fingerprint of authorized device data 804 matches the digital fingerprint of client computer 102, client computer 102 rejects certificate 802 and refuses to perform any tasks that require certificate 802. In another embodiment, client computer 102 may reject certificate 802 if it detects more than one match of the digital fingerprint.
An example of such a task is the installation of a cryptographically signed device driver and is illustrated in transaction diagram 500 (
Device drivers are known and are only described briefly to facilitate appreciation and understanding of the present invention. Various peripheral devices 104 (
Many device drivers are cryptographically signed by the manufacturer/supplier of the driven peripheral device. Such is intended to prevent tampering with the device driver as such tampering can enable injection of malicious behavior. If the security provided by a conventional certificate is compromised, the compromised security affects all devices that can rely on the compromised certificate. However, certificates that are bound to one or more devices can only be relied upon by that device or those devices, significantly limiting the harm that can be caused by compromised security of such certificates.
In step 502 (
In step 506, client computer 102 installs device driver 318 (
Another example of a task that is made more secure by device-bound certificates is the establishment of access to secure content and is illustrated in transaction flow diagram 600 (
In this illustrative example of the establishment of access to secure content as shown in transaction flow diagram 600, client computer 102 requests access to secure content within a server computer 120 (
Server computer 120 includes a CPU 708, memory 706, interconnect 710, input devices 702, output devices 704, and network access circuitry 722 that are directly analogous to CPU 408 (
A number of components of server computer 120 are stored in memory 706. In particular, serving logic 712 is all or part of one or more computer processes executing within CPU 708 from memory 706 in this illustrative embodiment but can also be implemented using digital logic circuitry. Serving logic 712 provides the server functionality designed into server computer 120 and includes authentication logic 714 that implements the authentication illustrated in transaction flow diagram 600 (
White list 716 identifies all devices with which server computer 120 is permitted to grant access to one or more categories of secure content, i.e., content to which access is to be limited. Alternatively, white list 716 can identify all devices for which server computer 120 is permitted to offer various services. In this illustrative embodiment, white list 716 is generally of the same structure as digital fingerprint registry 414 (
In step 602 (
In response to the request and in step 604 (
In step 606 (
In this manner, server computer 120 leverages from the trustworthiness of DBCA 108 and its registration process to implement device-bound two-factor authentication.
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.
Number | Date | Country | Kind |
---|---|---|---|
2011100168 | Feb 2011 | AU | national |
This application is a continuation of U.S. patent application Ser. No. 13/179,387, filed Jul. 8, 2011, which claims priority to U.S. Provisional Application 61/443,048, filed Jan. 14, 2011. These applications are 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 | Cargile | Oct 1988 | A |
4796220 | Wolfe | Jan 1989 | A |
4891503 | Jewell | Jan 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 |
5260999 | Wyman | Nov 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 |
6029141 | Bezos et al. | Feb 2000 | A |
6044471 | Colvin | Mar 2000 | A |
6158005 | Bharathan 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 |
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 |
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 |
7085741 | Lao et al. | Aug 2006 | B2 |
7100195 | Underwood | Aug 2006 | B1 |
7178025 | Scheidt 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 |
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 |
7418665 | Savage | Aug 2008 | B2 |
7343297 | Bergler et al. | Nov 2008 | B2 |
7463945 | Kiesel et al. | Dec 2008 | B2 |
7653899 | Lindahl et al. | Jan 2010 | B1 |
7836121 | Elgressy et al. | Nov 2010 | B2 |
8171287 | Villela | May 2012 | 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 |
20020161718 | Coley et al. | Oct 2002 | A1 |
20030065918 | Wiley | Apr 2003 | A1 |
20030116621 | Duncan | Apr 2003 | A1 |
20030097331 | Cohen | May 2003 | A1 |
20030156719 | Cronce et al. | Aug 2003 | A1 |
20030172035 | Cronce et al. | Sep 2003 | A1 |
20030182428 | Li et al. | Sep 2003 | A1 |
20040024860 | Sato et al. | Feb 2004 | A1 |
20040030912 | Merkle et al. | Feb 2004 | A1 |
20040049685 | Jaloveczki | Mar 2004 | A1 |
20040059929 | Rodgers et al. | Mar 2004 | A1 |
20040059938 | Hughes et al. | Mar 2004 | A1 |
20040107360 | Herrmann et al. | Jun 2004 | A1 |
20040117321 | Sancho | Jun 2004 | A1 |
20040143746 | Ligeti et al. | Jul 2004 | A1 |
20040172531 | Little et al. | Sep 2004 | A1 |
20040172558 | Callahan et al. | Sep 2004 | A1 |
20040187018 | Owen et al. | Sep 2004 | A1 |
20050033833 | Baldiga et al. | Feb 2005 | A1 |
20050034115 | Carter et al. | Feb 2005 | A1 |
20050172280 | Ziegler et al. | Apr 2005 | A1 |
20050108173 | Stefik et al. | May 2005 | A1 |
20050138155 | Lewis | Jun 2005 | A1 |
20050166263 | Nanopoulos et al. | Jul 2005 | A1 |
20050265446 | Elgressy et al. | Nov 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 |
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 |
20070113090 | Villela | May 2007 | A1 |
20070124689 | Weksel | May 2007 | A1 |
20070143408 | Daigle | Jun 2007 | A1 |
20070168288 | Bozeman | Jul 2007 | A1 |
20070174633 | Draper et al. | Jul 2007 | A1 |
20070198422 | Prahlad 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 |
20080022103 | Brown et al. | Jan 2008 | A1 |
20080052775 | Sandhu et al. | Feb 2008 | A1 |
20080065552 | Elazar et al. | Mar 2008 | A1 |
20080086423 | Waites | Apr 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 |
20090132813 | Schibuk | May 2009 | A1 |
20090138643 | Charles et al. | May 2009 | A1 |
20090138975 | Richardson | May 2009 | A1 |
20090150674 | Richardson et al. | Jun 2009 | A1 |
20090198618 | Chan et al. | Aug 2009 | A1 |
20090300744 | Guo et al. | Dec 2009 | A1 |
20100211795 | Brown et al. | Aug 2010 | A1 |
20100306038 | Harris | Dec 2010 | A1 |
20120030771 | Pierson et al. | Feb 2012 | A1 |
Number | Date | Country |
---|---|---|
678985 | Jun 1997 | AU |
1 637 958 | Mar 2006 | EP |
1 637 961 | Mar 2006 | EP |
1 670 188 | Jun 2006 | EP |
2355322 | Apr 2001 | GB |
WO 199209160 | May 1992 | WO |
WO 1992020022 | Nov 1992 | WO |
WO 1993001550 | Jan 1993 | WO |
WO 1995035533 | Dec 1995 | WO |
WO 2000058895 | Oct 2000 | WO |
WO 2000067095 | Nov 2000 | WO |
WO 2001090892 | Nov 2001 | WO |
WO 2003032126 | Apr 2003 | WO |
WO 2004054196 | Jun 2004 | WO |
WO 2005104686 | Nov 2005 | WO |
WO 2007060516 | May 2007 | WO |
WO 2008013504 | Jan 2008 | WO |
WO 2008127431 | Oct 2008 | WO |
WO 2008157639 | Dec 2008 | WO |
WO 2009039504 | Mar 2009 | WO |
WO 2009065135 | May 2009 | WO |
WO 2009076232 | Jun 2009 | WO |
WO 2009105702 | Aug 2009 | WO |
WO 2009143115 | Nov 2009 | WO |
WO 2009158525 | Dec 2009 | WO |
WO 2010093683 | Aug 2010 | WO |
Entry |
---|
“Technical Details on Microsoft Product Activation for Windows XP,” Internet Citation, XP002398930, Aug. 13, 2001. |
“How Microsoft Product Activation (WPA) Works in Windows XP and Windows Vista,” PCBUYERBEWARE, retrieved from the Internet on May 10, 2008. XP002613942. |
Angha et al.; “Securing Transportation Network Infrastructure with Patented Technology of Device Locking—Developed by Uniloc USA”, http://www.dkassociates.com/admin/paperfile/ITS%20World%20Paper%20Submission_Uniloc%20_2_.pdf; Oct. 24, 2006. |
“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. |
Econolite and Uniloc Partner to Bring Unmatched Infrastructure Security to Advanced Traffic Control Networks with Launch to StrongPoint. http://www.econolite.com/docs/press/20080304_Econolite_StronPoint.pdf; Mar. 4, 2008. |
Housley et al., “Internet x.509 Public Key Infracstructure Certificate and CRL Profile,” The Internet Society, Network Working Group, Sep. 1999, 75 pages. [RFC 2459]. |
Jensen et al., “Assigning and Enforcing Security Policies on Handheld Devices,” 2002, 8 pages. |
Johnson et al. “Dimensions of Online Behavior: Toward a User Typology,” Cyberpsycology and Behavior, vol. 10, No. 6, pp. 773-779, 2007. XP002617349. |
Johnson et al. “Dynamic Source Routing in Ad Hoc Wireless Networks,” Mobile Computing, Kluwer Academic Publishers, 1996. |
Klein, M., “How to Use a Loyalty Analysis,” Loyalty Builders, pp. 1-6, 2003. XP002617371. |
Lallous, “Changing Volume's Serial Number,” Code Project Feb. 17, 2008, retreived from the internet on Dec. 14, 2010. XP002614149. |
Lee P, “Oracle Adaptive Access Manager Reference Guide, Release 10g (10.1.4.5),” May 2009, Internet Article retrieved on Sep. 27, 2010. XP002603489. |
Wikipedia: “Device Fingerprint,” May 5, 2009, modified Jan. 20, 2011, Internet Article retrieved on Apr. 19, 2011. XP-002603492. |
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. |
Williams, R., “A Painless Guide to CRC Error Detection Algorithms,” Aug. 13, 1993, 33 pages, www.ross.net/crc/download/crc_v3.txt. |
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. |
International Search Report and Written Opinion dated Mar. 15, 2013, for PCT Application No. PCT/US2012/037837. |
Number | Date | Country | |
---|---|---|---|
20130212382 A1 | Aug 2013 | US |
Number | Date | Country | |
---|---|---|---|
61433048 | Jan 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13179387 | Jul 2011 | US |
Child | 13791006 | US |