System for domain control validation

Information

  • Patent Grant
  • 9521138
  • Patent Number
    9,521,138
  • Date Filed
    Friday, June 14, 2013
    11 years ago
  • Date Issued
    Tuesday, December 13, 2016
    7 years ago
  • CPC
  • Field of Search
    • US
    • 726 004000
    • CPC
    • H04L63/10
    • H04L63/0823
    • H04L63/308
    • H04L9/321
    • H04L9/3263
  • International Classifications
    • H04L29/06
    • Disclaimer
      This patent is subject to a terminal disclaimer.
      Term Extension
      581
Abstract
A system and method for domain control validation is presented. At a certificate authority a request is received. The request includes a certificate signing request and a first Internet protocol address. The certificate signing request identifies a domain and a certificate. A second Internet protocol address for the domain is retrieved from a domain name system. When the first Internet protocol address is the same as the second Internet protocol address, the certificate is signed, and the signed certificate is transmitted to a requester of the request. When the first Internet protocol address is not the same as the second Internet protocol address, the certificate signing request is rejected.
Description
FIELD OF THE INVENTION

The present invention relates to a system for validating control of a domain.


BACKGROUND OF THE INVENTION

The Internet comprises a vast number of computers and computer networks that are interconnected through communication links. The interconnected computers exchange information using various services, such as electronic mail, Gopher, and the World Wide Web (WWW). The WWW service allows a server computer system (i.e., Web server or Web site) to send graphical Web pages of information to a remote client computer system. The remote client computer system can then display the Web pages. Each resource (e.g., computer or Web page) of the WWW is uniquely identifiable by a Uniform Resource Locator (URL). To view a specific Web page, a client computer system specifies the URL for the Web page in a request (e.g., a HyperText Transfer Protocol (HTTP) request). These follow the familiar format http://www.example.com uniquely identifying the particular resource. The request is forwarded to the Web server that supports that Web page to the client computer system. When the client computer system receives that Web page, it typically displays the Web page using a browser. A browser is a special-purpose application program that effects the requesting of Web pages and the displaying of Web pages.


The domain name system (DNS) is the world's largest distributed computing system that enables access to any resource in the Internet by translating user-friendly domain names to IP Addresses. The process of translating domain names to IP Addresses is called Name Resolution. A DNS name resolution is the first step in the majority of Internet transactions. The DNS is in fact a client-server system that provides this name resolution service through a family of servers called Domain Name Servers. The hierarchical domain space is divided into administrative units called zones. A zone usually consists of a domain (e.g., example.com) and possibly one or more sub domains (e.g., projects.example.com, services.example.com). The authoritative data needed for performing the name resolution service is contained in a file called the zone file and the DNS servers hosting this file are called the authoritative name servers for that zone. The DNS clients that make use of the services provided by authoritative name servers may be of two types. One type is called a stub resolver that formulates and sends a query every time it receives a request from an application that requires Internet service (e.g., a browser). The other type is called a caching (also called recursive/resolving) name server that caches the name resolution responses it has obtained from authoritative name servers and thus able to serve multiple stub resolvers.


Generally a web page's address or URL is made up of the name of the server along with the path to the file or the server. Rather than using a web hosting service's server name as their URL, most companies and many individuals and other entities prefer a “domain name” of their own choosing. In other words, the Ford Motor Company probably would prefer http://www.ford.com as its URL rather than, say, http://servername.com/.about.ford, where “servername” is the name of a Web hosting service whose server The Ford Motor Company uses. For this purpose then a “domain name,” e.g. “ford” can be registered, if available, and the hosting service will use that URL for its customer's web address.


As is well known, the Internet is used every day to execute a large number of transactions, many of which can be of a sensitive or confidential nature. Monetary transactions, for example, often involve the communication of sensitive financial data that should not be divulged to third parties. Other transactions may involve trade secrets, personal information, and the like, that should not be publicly available. When sensitive information is communicated via the Internet, in certain circumstances, it is sometimes possible for malicious third parties to access that information. Two common schemes for accessing such information involve 1) the malicious user creating a web site that imitates the identity of another, trusted, entity, and 2) a man-in-the-middle attack, where the malicious user intercepts the sensitive communication.


The first type of fraud involves the malicious operator of a web site hiding or obscuring their identity from their customers. Essentially, the operator of a web site takes advantage of the anonymity provided by the Internet, thereby making it difficult for customers to locate and punish a fraudulent web site operator. For example, a web site may purport to be from a known and trusted business when the web site is in fact operated by an unscrupulous individual. The malicious user may try to receive credit card numbers or pass off goods and services under another's trademark as part of their fraudulent scheme.


To increase the perceived validity of the malicious user's false web site, the malicious user may have inserted false information in the WHOIS database when registering their false domain name in order to hide their identity.


The second type of fraud involves malicious individuals intercepting confidential information, such as credit card numbers, transmitted over the Internet between a customer and a legitimate web site. This type of fraud is less common and can be prevented by transmitting confidential information only in a sufficiently strong encrypted format.


A common method for Internet businesses to protect their customers from these two types of fraud is to obtain a secure certificate, such as a Secure Sockets Layer (SSL) certificate, for their web sites. A secure certificate, once installed on a web site, lets customers know that the owner of the web site (that is, the holder of the certificate) has been verified by a trusted third party (e.g., a certificate authority or CA) and that confidential communications with the web site are or, at least, can be encrypted. SSL is a protocol for transmitting private documents via the Internet. SSL protects confidential information by using a private key to encrypt data transferred over an SSL connection. Many, many applications support the SSL protocol, and many web sites use the protocol to communicate confidential information with their customers.


When connecting to a web site using the SSL protocol, the customer's browser accesses the web site's security certificate and retrieves information regarding the certificate authority that issued the web site's security certificate. The browser may then decide whether or not to trust the web site's security certificate based on which certificate authority issued the web site's security certificate, as well as other information contained within the security certificate.


Before a formal SSL certificate can be issued, a certificate authority is required to sign off on the identity of the holder of the certificate. As such, the certificate authority is required to confirm that the individual or business listed in the subject field of the certificate actually exists and is accurately described within the certificate.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram showing an example environment in which the present system and method may be implemented.



FIG. 2 is a flowchart illustrating a method for performing domain control validation in accordance with the present disclosure.



FIG. 3 depicts an example data flow through the environment of FIG. 1 demonstrating the present method for domain control validation.



FIG. 4 is a flow chart illustrating a method for a web hosting provider to issue a CSR to a certificate authority in accordance with the present disclosure.





DETAILED DESCRIPTION

The present disclosure provides a system and method for verifying control of a domain. The system and method may be used, for example, as part of the domain control validation process utilized in conjunction with the issuance of security certificates.


In one implementation, the present disclosure provides a method including receiving, at a certificate authority, a request including a certificate signing request and a first Internet protocol address. The certificate signing request identifies a domain and a certificate. The method includes retrieving a second Internet protocol address for the domain from a domain name system, and when the first Internet protocol address is the same as the second Internet protocol address, signing the certificate, and transmitting the signed certificate to a requester of the request. When the first Internet protocol address is not the same as the second Internet protocol address, the method includes rejecting the certificate signing request.


In another implementation, the present disclosure provides a method including providing an administrative interface for a hosted account. The hosted account is associated with a domain and a hosted website for the domain. The method includes receiving, via the administrative interface, a request for a security certificate for the hosted website, and generating a certificate signing request for the hosted website. The certificate signing request identifies the domain. The method includes determining an Internet protocol address for the hosted website of the domain, transmitting the certificate signing request and the Internet protocol address to a certificate authority, and receiving a response to the certificate signing request from the certificate authority.


In another implementation, the present disclosure provides a system including at least one server computer having a processor and being configured to receive a request including a certificate signing request and a first Internet protocol address. The certificate signing request identifies a domain and a certificate. The at least one server computer is configured to retrieve a second Internet protocol address for the domain from a domain name system, and when the first Internet protocol address is the same as the second Internet protocol address, sign the certificate, and transmit the signed certificate to a requester of the request. When the first Internet protocol address is not the same as the second Internet protocol address, the at least one server computer is configured to reject the certificate signing request.


In another implementation, the present disclosure provides a system including at least one server computer having a processor and being configured to provide an administrative interface for a hosted account. The hosted account is associated with a domain and a hosted website for the domain. The at least one server computer is configured to receive, via the administrative interface, a request for a security certificate for the hosted website, and generate a certificate signing request for the hosted website. The certificate signing request identifies the domain. The at least one server computer is configured to determine an Internet protocol address for the hosted website of the domain, transmit the certificate signing request and the Internet protocol address to a certificate authority, and receive a response to the certificate signing request from the certificate authority.



FIG. 1 is a block diagram showing an example environment in which the present system and method may be implemented. Web hosting provider 100 is configured to host one or more websites 108 for the domains of a number of subscribers, such as subscriber 106. Hosting provider 100 implements the hardware and software necessary to make the websites of subscribers of the services offered by hosting provider 100 available to users on the Internet.


In addition to providing website hosting services, web hosting provider 100 can provide administration services allowing subscriber 106 to modify one or more settings associated with the subscriber's website 108, modify the content thereof, and request additional of fewer services associated with the subscriber's website 108. Often these administration services are provided through web-based applications provided by the web hosting provider 100 and hosted by the servers of web hosting provider 100. To utilize the applications, the subscriber 106 must first login to an appropriate administration interface using a password or other authentication token or combination of tokens. Once authenticated, the subscriber 106 can utilize the administration interface to modify settings associated with the subscriber's domain, including modifying the hosted website content, changes services associated with the domain, and the like. Generally, the login credentials of the subscriber 106 are associated with a particular website 108, or collections of websites 108.


For example, to enable communications through the website of subscriber 106 to be secured, subscriber 106 may utilize an administration interface supplied by the web hosting provider 100 to request secure communication services (e.g., SSL services) for the web site 108. In one case, this request may be submitted through an appropriate web-based interface provided by hosting provider 100 using a computer accessible to subscriber 106 (e.g., the subscriber's computer).


In order to provide secure communication services, a security certificate is generated for the website of subscriber 106. The certificate may include a key pair, including a private key (maintained in secrecy) and a public key (made publicly available on the website of subscriber 106). With reference to FIG. 1, therefore, the subscriber 106, the web hosting provider 100, or another entity associated with the website of subscriber 106 may generate the key pair. The public and private keys, as is known in the art, can be utilized to encrypt communications between a customer (and other users) and the website of subscriber 100 and form part of the security certificate.


Before a security certificate can be utilized to authoritatively identify a particular entity (e.g., the entity that is affiliated with a particular website), the certificate should be signed by a certificate authority, such as certificate authority 102. In order to generate a signed security certificate for a particular website, therefore, a certificate signing request (CSR) is generated and transmitted to certificate authority 18. The CSR includes a copy of the subscriber's certificate, as well as additional information identifying the subscriber (or entity requesting that the certificate be signed) and the domain for which the certificate will be issued. The CSR represents a formal request that certificate authority 102 certify the identity of the purported certificate holder and, if that identity is certified, sign the public key included in the CSR. The CSR includes information describing the key pair as well as information describing the entity to whom the security certificate will be issued (i.e., the requester) as well as the domain being secured. Table 2, below, shows example contents of a CSR.










TABLE 1





Field
Description







Distinguished Name (DN)
The domain name being secured


Subject
The entity (either business or individual)



associated with the certificate


Departmental Name/
A department of the Subject that may be


Organizational Unit
associated with the certificate


Town/City
Location of the Subject


Province, Region, County,
Location of the Subject


or State



Country
Country of the Subject


Email Address
Email address for the Subject









Upon receipt of the CSR, certificate authority 102 attempts to verify the identity of the requester by, for example, asking for copies of identification documents or by asking for information not publicly available regarding the requester. If the identity of the requester was successfully verified, the certificate authority 102 creates and signs the certificate, which is then transmitted to subscriber 106 or hosting provider 108. The signed security certificate can then be installed on subscriber 106's web site 14.


Once the signed certificate is installed on website 108, a third party, such as a customer of subscriber 106 desiring to purchase goods and services from subscriber 106, may use a browser to access the subscriber's SSL-compliant web site 108. The browser will request from the web site 108 the web site's signed SSL certificate, which includes the identity of the certificate authority that issued the certificate. Browsers that support the SSL protocol have a list of trusted certificate authorities and the browser will compare the certificate authority that issued the certificate to the list of trusted certificate authorities. This procedure allows the customer's browser to both inspect and verify the identity of the holder of the certificate and ensure that the holder's identity has been validated by a trusted source.


In some implementations, certificate authority 102 and web hosting provider 100 can have a trusted relationship. That is, web hosting provider 100 may have demonstrated to certificate authority 102 that it can be trusted to provide none-fraudulent information to certificate authority 102 with a CSR or in conjunction with the transmission of the same. In some cases, this trust relationship can be developed by certificate authority 102 performing an investigation into web hosting provider 100 (e.g., checking business credentials, interviewing business leaders and/or owners, investing business history, investigating in place security procedures and mechanisms, reviewing hiring practices, and the like). Alternatively, the trusted relationship may be established because both web hosting provider 100 and certificate authority 102 are, in fact, the same entity or managed by the same entity. In some cases, certificate authority 102 may also trust requests issued by a web hosting provider regardless of whether a pre-existing trusted relationship exists.


In some cases the trusted relationship enables the certificate authority to delegate some of its responsibilities to the web hosting provider, which can operate as an affiliate of the certificate authority. In such a case, the processes employed by the certificate authority in delegating such responsibility may be required to satisfy various process and/or qualification requirements as set out by a body responsible for governing the issuance of SSL certificates. For example, the certificate authority may additionally undertake to verify that the delegated-to web hosting provider's personnel involved in the issuance of a certificate meet certain training and skills requirements.


In establishing the trusted relationship, certain expectations can be set for the operations of the web hosting provider. For example, the terms of the relationship may require that the web hosting provider prevent the creation of multiple web hosting accounts that all claim to be associated with the same domain (e.g., multiple users cannot each create accounts for the domain ‘bank.com’ with the same web hosting provider). If this restriction were not in place, the multiple accounts could each potentially be hosted on the same server having the same IP address. In that case, both non-fraudulent and fraudulent accounts could share the same IP address.


Another restriction that may be put into place as part of the trusted relationship may that the web hosting provider exercise full control of the servers the provider uses to host content. This restriction ensures that multiple, different, web hosting providers cannot each host web sites that are stored on the same server (and therefore have the same IP address). This would prevent two different accounts that are each associated with different web hosting providers from being associated with the same IP address (should the two web hosting providers utilize the same server to host content). If that condition were permissible, a fraudulent account (mimicking a non-fraudulent account with a first hosting provider) could be created on a second hosting provider, where both the first and second hosting providers use the same server (and therefore IP address) to host content. In such a case, both the fraudulent and non-fraudulent accounts would be associated with the same IP address.


Referring to FIG. 1, the depicted environment includes DNS system 104. DNS system 104 communicates via en electronic network (e.g., the Internet) to perform Name Resolution activities.


Because a security certificate, once signed by a certificate authority, is trusted by the general public, it is important that the entity identified in the CSR be verified as the entity in control of the domain. Without such a validation, it may be possible for individuals to request signed certificate for domains that belong to other entities. For example, an individual having nothing to do with the organization may request a signed certificate for a bank's domain (e.g., bankofamerica.com). If the certificate authority should fail to detect that the individual issuing the CSR is not in control of that domain and should sign the certificate in the CSR, that individual may then be able to use that signed certificate to fool others into believing that they are communicating with bankofamerica.com.


A number of techniques exist for validating that entities submitting CSRs are the controlling entities for the domains identified in the CSR. In some cases, upon receiving a CSR, the certificate authority will access WHOIS records for the identified domain to identify the administrative contact for the domain. The certificate authority can then communicate with the identified administrative contact (or any other contact listed in the WHOIS records) to verify that the CSR is valid and requested by the administrative contact, or another appropriate entity. Alternatively, the certificate authority can demand that the requester modify the DNS records associated with the domain in order to demonstrate that the requester has sufficient control over the domain to properly issue the CSR. Another technique involves demanding that the requester modify content hosted at the domain identified in the CSR. If the requester is able to modify the hosted content (e.g., by inserting a hidden code into the web page) that modification demonstrates that the requester has sufficient control to properly issue the CSR.


These existing techniques all require that the requester of the CSR take some specific action to demonstrate to the certificate authority sufficient control for the certificate authority to sign the certificate.


In the present system and method, a certificate authority can validate that the requester of a CSR has control over the identified domain without requiring additional actions from the requester, in contrast to existing validation mechanisms.



FIG. 2 is a flowchart illustrating a method for performing domain control validation in accordance with the present disclosure. The method illustrated in FIG. 2 may be executed in the environment depicted in FIG. 1, though it will be appreciated that other environments may instead be utilized.


In step 202 subscriber 106 logs into an administration account for a host account that is associated with a domain (e.g., example.com) and has a website hosted by web hosting provider 100. This login procedure requires that subscriber 106 provide authentication credentials (e.g., password, one-time use token, and the like) before subscriber 106 will be granted access to the administration account. Because subscriber 106 is required to provide acceptable credentials before access is granted, the act of the user logging-in to the administration interface in step 202 indicates that the subscriber is an authorized user having sufficient rights to modify settings associated with the account and, thereby, can request a signed certificate for the domain.


Accordingly, in step 204 subscriber 106, having logged into the administration account requests a signed security certificate for the domain associated with the administration account. This request may be initiated, for example by the subscriber initiating a request through the administration interface provided by web hosting provider 100. In step 206, a CSR is generated for the subscriber's domain. The content of the CSR may be collected from one or more user databases (such as customer information databases) maintained by the web hosting provider. Alternatively, subscriber 106 may be prompted to supply the information necessary to complete the CSR.


In step 208, web hosting provider 100 transmits the CSR generated in step 206 to certificate authority 102 for consideration. Along with the CSR, web hosting provider 108 also transmits the IP address of the subscriber's hosted account. Because web hosting provider 108 hosts the subscriber's domain, this IP address will point to one of the web servers of web hosting provider 108 that is currently hosting the website of the subscriber's domain. The IP address of the subscriber's hosted account, therefore, is determined by, and in the control of, web hosting provider 108. The subscriber cannot select or designate the IP address that will be utilized to host the subscriber's account.


After receiving both the CSR and IP address of the associated website, certificate authority 102 inspects the CSR to determine the domain name for which the security certificate is requested. Certificate authority 102 then accesses DNS system 104 to identify the IP address stored in the DNS system 104 for the domain. The IP address received from DNS system 104 is then compared to the IP address provided by web hosting provider 100 in step 210.


If the IP address received from DNS system 104 matches the IP address received from web hosting provider 100 in step 208, it is determined that the subscriber is authorized to request the signed security certificate. As such, in step 212 certificate authority 102 will sign the certificate contained within the CSR and return the signed certificate to web hosting provider 100. The signed certificate may then be installed into the subscriber's website and utilized to enable secure communications with the same.


If the IP address received from DNS system 104 does not match the IP address received from web hosting provider 100 in step 208, it is determined that the subscriber is not authorized to request the signed security certificate and the request is rejected. In the case that a request is rejected, a notification may be transmitted to the web hosting provider containing information explaining why the request was rejected.


In some cases, when the IP addresses do not match and the request is rejected, alternative methods of domain control validation (such as by issuing an email to an administrative contact identified in WHOIS records or prompting the requester to modify a DNS entry associated with the domain or modify web content hosted at the domain) may be utilized in an attempt to complete the signing request.


In general, the method illustrated in FIG. 2 establishes two criteria that must be met before a security certificate can be signed by a certificate authority, namely 1) that the requester has sufficient authority to request a signed certificate for the target domain that is hosted on the web hosting provider, and 2) that the target domain identified in the CSR is actually hosted with the web hosting provider. The satisfaction of these two criteria prevents a malicious user from creating a fake account with a hosting provider that claims to be the hosting account for another entity's domain. FIG. 3 depicts an example data flow through the environment of FIG. 1 demonstrating the present method for domain control validation.


As shown in FIG. 3, a malicious user 302 may wish to acquire a signed security certificate for the domain “bank.com”. In an attempt to acquire the certificate, the malicious user 302 creates an account 304 with a first web hosting provider 306. The account 304 created by malicious user 302 purports to be the hosted account for “bank.com”. As shown in FIG. 3, the IP address of the hosted account is 123.123.123.123, which is an IP address that refers to one of the server utilized by web hosting provider 306 to host the account 304 and its content.


The correct bank.com account 314 is, in fact, hosted by a different hosting provider 316. The IP address of the correct bank.com account 314 is 1.1.1.1, which is also stored in the records of DNS system 312.


Once the malicious account 304 is created. The user 302 may then attempt to request, through web hosting provider 306, a signed certificate for the false account 304. For example, user 302 may log into an administrator account for account 304 via an administrative interface provided by web hosting provider 306. Using the administrative account, user 302 may be able to initiate a request for a signed certificate for the domain associated with account 304. If the signed certificate is ultimately issued, the user 302 will be in possession of a valid, signed certificate for the domain “bank.com”. The present method prevents a malicious requester from acquiring such a fraudulent certificate.


In the present system and method, the first criterion is satisfied by the web hosting provider 306. For example, through the execution of step 202 of FIG. 2 (the requester logging into an administration account associated with the hosted domain), the web hosting provider 306 can determine that the user 302 is an administrator for the hosted account 304. In the present example, the malicious user 302 is an administrator for the account associated with the fraudulent “bank.com” domain (after all, the user 302 created the account). Accordingly, after logging into the hosting provider's 306 administrative account, the user 302 is able to request a signed certificate through web hosting provider 306.


The second criterion is then satisfied by the certificate authority (for example, in step 210 of the method of FIG. 2). Accordingly, if the certificate authority has a trusted relationship with the web hosting provider, the certificate authority can determine whether both criteria are satisfied without any additional input from the requester.


In the present example, after the signed certificate is requested by the malicious user, a CSR is transmitted to the certificate authority 310. As described in step 208 of FIG. 2, the CSR is transmitted along with the IP address of the malicious bank.com domain of the hosting provider (see arrow 308). Upon receiving the CSR, the certificate authority 310 issues a request to DNS system 312 to retrieve the IP address for the domain identified in the CSR (i.e., bank.com). DNS system 312 then responds with its stored IP address (in this case, 1.1.1.1). Certificate authority 310 can then compare the IP address of the fraudulent bank.com account (received along with the CSR) and compare that IP address to the IP address of the correct bank.com domain (retrieved from DNS system 312). Because the two IP addresses will not match, the request can be rejected.


In some cases, to provide load balancing websites may be hosted on a number of different servers or are otherwise addressable by a number of different IP address. For example, in a round-robin DNS configuration, DNS servers are configured to return one of a number of candidate IP addresses for a particular domain in response to a lookup request. By returning different IP addresses in response to lookup requests, the requests issued to the domain can be spread out amongst a number of different servers, lessening the load on one particular server.


With regards to the present disclosure, if it is the case that the domain for which a CSR is issued can be accessed through a number of different IP addresses, in step 208 of FIG. 2, all of those potential IP addresses are forwarded to the certificate authority. After determining that the incoming request received from the web hosting provider includes multiple IP addresses, the certificate authority is put on notice that a number of IP addresses may be associated with the domain in question.


Accordingly, in step 210 the certificate authority, having been put on notice that the domain in question may be referred to by a number of IP addresses, may retrieve a listing of all IP addresses associated with the domain from DNS system 104 (though in other implementations, only a single IP address may be retrieved from the DNS system and then compared to the listing provided by the web hosting provider). Then, if one of the IP addresses in the list received from web hosting provider 100 matches one of the IP addresses in the list received from DNS system 104, the certificate authority signs the certificate and returns the signed certificate to web hosting provider 100. If there is no match, it is determined that the subscriber is not authorized to request the signed security certificate and the request is rejected.



FIG. 4 is a flow chart illustrating a method for a web hosting provider to issue a CSR to a certificate authority in accordance with the present disclosure. In step 402 a user attempting to login to an administrative interface for a particular domain is authenticated. This may involve the web hosting provider collecting a username and password for a user and authenticating the user based upon the combination of username and password. In other implementations, different security tokens may be used.


If the user is authenticated, in step 404 a request is received from the user for a security certificate for a domain that is under the control of the authenticated user via the administrative interface. In step 406, after receiving the request a CSR is created for the domain.


In step 408, all IP addresses for the hosted account or website for the domain are identified. In this step, the web hosting provider hosting the user's account will generate a list of the IP addresses that identify servers upon which the user's website may reside. In some cases this will be a single IP address, but, as described above, in some server implementations the list may include multiple IP addresses.


In step 410 the CSR generated in step 406 and the list of IP addresses generated in step 408 are transmitted to a certificate authority. The certificate authority can use the information transmitted in this step to determine whether a security certificate should be issued in response to the request. Accordingly, in step 412 a response is received from the certificate authority. If the one of the IP addresses transmitted in step 410 matching an IP addresses stored for the domain in a DNS system, the response may include a signed certificate. If there is no match, the response may include an indication that the request was denied.


As a non-limiting example, the steps described above (and all methods described herein) may be performed by any central processing unit (CPU) or processor in any computer or computing system, such as a microprocessor running on a server computer, and executing instructions stored (perhaps as applications, scripts, apps, and/or other software) in computer-readable media accessible to the CPU or processor, such as a hard disk drive on a server computer, which may be communicatively coupled to a network (including the Internet). Such software may include server-side software, client-side software, browser-implemented software (e.g., a browser plugin), and other software configurations.


The present disclosure describes preferred embodiments with reference to the Figures, in which like numbers represent the same or similar elements. Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment,” “in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.


The described features, structures, or characteristics of the invention may be combined in any suitable manner in one or more embodiments. In the description, numerous specific details are recited to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.


The schematic flow chart diagrams included are generally set forth as logical flow-chart diagrams. As such, the depicted order and labeled steps are indicative of one embodiment of the presented method. Other steps and methods may be conceived that are equivalent in function, logic, or effect to one or more steps, or portions thereof, of the illustrated method. Additionally, the format and symbols employed are provided to explain the logical steps of the method and are understood not to limit the scope of the method. Although various arrow types and line types may be employed in the flow-chart diagrams, they are understood not to limit the scope of the corresponding method. Indeed, some arrows or other connectors may be used to indicate only the logical flow of the method. For instance, an arrow may indicate a waiting or monitoring period of unspecified duration between enumerated steps of the depicted method. Additionally, the order in which a particular method occurs may or may not strictly adhere to the order of the corresponding steps shown.


The present invention has been described in terms of one or more preferred embodiments, and it should be appreciated that many equivalents, alternatives, variations, and modifications, aside from those expressly stated, are possible and within the scope of the invention.

Claims
  • 1. A system, comprising: at least one server computer having a processor and being configured to: receive a request including a certificate signing request and a first Internet protocol address, the certificate signing request identifying a domain and a certificate;retrieve a second Internet protocol address for the domain from a domain name system;when the first Internet protocol address is the same as the second Internet protocol address: sign the certificate, andtransmit the signed certificate to a requester of the request; andwhen the first Internet protocol address is not the same as the second Internet protocol address, reject the certificate signing request.
  • 2. The system of claim 1, wherein the request is received from a web hosting provider.
  • 3. The system of claim 2, wherein rejecting the certificate signing request includes transmitting a notification to the web hosting provider.
  • 4. The system of claim 2, wherein the at least one server computer is hosted by a certificate authority and the certificate authority and the web hosting provider have a pre-established trusted relationship.
  • 5. The system of claim 4, wherein the certificate authority and the web hosting provider are the same entity.
  • 6. The system of claim 4, wherein the certificate authority and the web hosting provider are different entities.
  • 7. The system of claim 1, wherein the at least one server computer is configured to: determine whether the request includes a first plurality of Internet protocol addresses; andwhen the request includes the first plurality of Internet protocol addresses, retrieve a second plurality of Internet protocol addresses for the domain from a domain name system server.
  • 8. The system of claim 7, wherein the first Internet protocol address is selected from the first plurality of Internet protocol addresses and the second Internet protocol address is selected from the second plurality of Internet protocol addresses.
  • 9. The system of claim 1, wherein, when the first Internet protocol address is not the same as the second Internet protocol address, the at least one server computer is configured to initiate an alternative method for performing domain control validation for the domain.
  • 10. A system, comprising: at least one server computer having a processor and being configured to: receive a request from a second server computer, the second server computer operating an administration account for a domain, the request including a certificate signing request and a first Internet protocol address of a third server computer hosting a website for the domain, the certificate signing request identifying the domain and a certificate;retrieve a second Internet protocol address for the domain from a domain name system;when the first Internet protocol address is the same as the second Internet protocol address: sign the certificate, andtransmit the signed certificate to a requester of the request; andwhen the first Internet protocol address is not the same as the second Internet protocol address, reject the certificate signing request.
US Referenced Citations (215)
Number Name Date Kind
5075787 Shaughnessy et al. Dec 1991 A
5247497 Cohn Sep 1993 A
5657390 Elgamal et al. Aug 1997 A
5825890 Elgamal et al. Oct 1998 A
5892904 Atkinson et al. Apr 1999 A
5903882 Asay et al. May 1999 A
6233577 Ramasubramani et al. May 2001 B1
6308277 Vaeth Oct 2001 B1
6311207 Mighdoll et al. Oct 2001 B1
6321339 French et al. Nov 2001 B1
6370249 Van Oorschot Apr 2002 B1
6430688 Kohl et al. Aug 2002 B1
6591265 Erickson et al. Jul 2003 B1
6751600 Wolin Jun 2004 B1
6785810 Lirov et al. Aug 2004 B1
6792531 Heiden et al. Sep 2004 B2
6856963 Hurwitz Feb 2005 B1
6928167 Maeda et al. Aug 2005 B1
6950933 Cook et al. Sep 2005 B1
6968571 Devine et al. Nov 2005 B2
6981139 Enokida Dec 2005 B2
6986049 Delany Jan 2006 B2
7003661 Beattie et al. Feb 2006 B2
7073057 Moses et al. Jul 2006 B2
7111162 Bagepalli et al. Sep 2006 B1
7114177 Rosenberg et al. Sep 2006 B2
7120929 Beattie et al. Oct 2006 B2
7149892 Freed et al. Dec 2006 B2
7152104 Musante et al. Dec 2006 B2
7155723 Swildens et al. Dec 2006 B2
7233978 Overton et al. Jun 2007 B2
7289971 O'Neil et al. Oct 2007 B1
7373500 Ramelson et al. May 2008 B2
7433710 Bodnar et al. Oct 2008 B2
7437558 Fenton et al. Oct 2008 B2
7467206 Moore et al. Dec 2008 B2
7516418 Herley et al. Apr 2009 B2
7526649 Wiseman et al. Apr 2009 B2
7552466 Rosenberg Jun 2009 B2
7562212 Beattie et al. Jul 2009 B2
7599847 Block et al. Oct 2009 B2
7627896 Herrmann Dec 2009 B2
7647494 Wray et al. Jan 2010 B2
7649854 Piper Jan 2010 B2
7653577 Warner Jan 2010 B2
7673331 Kido et al. Mar 2010 B2
7702902 Thayer et al. Apr 2010 B2
7707404 Thayer et al. Apr 2010 B2
7757074 Sundarrajan et al. Jul 2010 B2
7788495 Anthe, II et al. Aug 2010 B2
7804982 Howard et al. Sep 2010 B2
7814141 Parsons et al. Oct 2010 B2
7860755 Warner Dec 2010 B2
7870213 Parsons et al. Jan 2011 B2
7870214 Parsons et al. Jan 2011 B2
7899187 Messerges et al. Mar 2011 B2
7912906 Thayer Mar 2011 B2
7970858 Adelman et al. Jun 2011 B2
7996512 Adelman et al. Aug 2011 B2
8024578 Geosimonian Sep 2011 B2
8046578 Trudeau et al. Oct 2011 B1
8086848 Thayer et al. Dec 2011 B2
8103761 Adelman et al. Jan 2012 B2
8112310 Yehoshua et al. Feb 2012 B1
8117439 Rodriguez Feb 2012 B2
8145707 Thayer et al. Mar 2012 B2
8156190 Thayer et al. Apr 2012 B2
8185741 Agrawal et al. May 2012 B1
8275671 Warner Sep 2012 B2
8285816 Adelman et al. Oct 2012 B2
8352742 Thayer et al. Jan 2013 B2
8355528 Bladel et al. Jan 2013 B2
8364771 Thayer et al. Jan 2013 B2
8370407 Devarajan et al. Feb 2013 B1
8370444 Thayer et al. Feb 2013 B2
8370940 Holloway et al. Feb 2013 B2
20010011255 Asay et al. Aug 2001 A1
20010049786 Harrison et al. Dec 2001 A1
20020031230 Sweet et al. Mar 2002 A1
20020059144 Meffert et al. May 2002 A1
20020069129 Akutsu et al. Jun 2002 A1
20020133365 Grey et al. Sep 2002 A1
20020138725 Moses et al. Sep 2002 A1
20020169842 Christensen et al. Nov 2002 A1
20020184493 Rees Dec 2002 A1
20020198824 Cook Dec 2002 A1
20020198866 Kraft et al. Dec 2002 A1
20020199119 Dunnion et al. Dec 2002 A1
20030005287 Wray et al. Jan 2003 A1
20030023878 Rosenberg et al. Jan 2003 A1
20030028762 Trilli et al. Feb 2003 A1
20030037261 Meffert et al. Feb 2003 A1
20030065921 Chang Apr 2003 A1
20030115475 Russo et al. Jun 2003 A1
20030120649 Uchino et al. Jun 2003 A1
20030126431 Beattie et al. Jul 2003 A1
20030154371 Filipi-Martin et al. Aug 2003 A1
20030172059 Andrei Sep 2003 A1
20030182573 Toneguzzo et al. Sep 2003 A1
20030217165 Buch et al. Nov 2003 A1
20040030887 Harrisville-Wolff et al. Feb 2004 A1
20040049675 Micali et al. Mar 2004 A1
20040068650 Resnitzky et al. Apr 2004 A1
20040122926 Moore et al. Jun 2004 A1
20040138975 Engel et al. Jul 2004 A1
20040148505 Qiu Jul 2004 A1
20040172340 Bishop et al. Sep 2004 A1
20040177120 Kirsch Sep 2004 A1
20040181665 Houser Sep 2004 A1
20040210663 Phillips et al. Oct 2004 A1
20040250075 Anthe et al. Dec 2004 A1
20050015586 Brickell et al. Jan 2005 A1
20050069136 Thornton et al. Mar 2005 A1
20050071630 Thornton et al. Mar 2005 A1
20050076199 Thornton et al. Apr 2005 A1
20050080899 Vogel et al. Apr 2005 A1
20050081026 Thornton et al. Apr 2005 A1
20050085931 Willeby Apr 2005 A1
20050086175 Brique et al. Apr 2005 A1
20050114652 Swedor et al. May 2005 A1
20050125319 Johnson Jun 2005 A1
20050132221 Marcjan Jun 2005 A1
20050166262 Beattie et al. Jul 2005 A1
20050172128 Little et al. Aug 2005 A1
20050228881 Reasor et al. Oct 2005 A1
20050228998 Chan et al. Oct 2005 A1
20050246534 Kirkup et al. Nov 2005 A1
20050246771 Hunt et al. Nov 2005 A1
20050257261 Shraim et al. Nov 2005 A1
20050273781 Nakamura et al. Dec 2005 A1
20050283837 Olivier et al. Dec 2005 A1
20060005009 Ball et al. Jan 2006 A1
20060009994 Hogg et al. Jan 2006 A1
20060015472 Ahlander et al. Jan 2006 A1
20060015716 Thornton et al. Jan 2006 A1
20060015722 Rowan et al. Jan 2006 A1
20060015729 Novack et al. Jan 2006 A1
20060015942 Judge et al. Jan 2006 A1
20060015943 Mahieu Jan 2006 A1
20060031314 Brahms et al. Feb 2006 A1
20060031492 Thayer et al. Feb 2006 A1
20060041761 Neumann et al. Feb 2006 A1
20060047950 Thayer Mar 2006 A1
20060047951 Reilly et al. Mar 2006 A1
20060047965 Thayer et al. Mar 2006 A1
20060069697 Shraim et al. Mar 2006 A1
20060095404 Adelman et al. May 2006 A1
20060095586 Adelman et al. May 2006 A1
20060143442 Smith Jun 2006 A1
20060161644 Adelman et al. Jul 2006 A1
20060168116 Adelman et al. Jul 2006 A1
20060174334 Perlin et al. Aug 2006 A1
20060200487 Adelman et al. Sep 2006 A1
20060206890 Shenfield et al. Sep 2006 A1
20060212925 Shull et al. Sep 2006 A1
20060212930 Shull et al. Sep 2006 A1
20060253458 Dixon et al. Nov 2006 A1
20060253583 Dixon Nov 2006 A1
20060253584 Dixon et al. Nov 2006 A1
20060282335 Hanks et al. Dec 2006 A1
20070005564 Zehner Jan 2007 A1
20070006321 Bantz et al. Jan 2007 A1
20070022162 Thayer et al. Jan 2007 A1
20070022292 Thayer et al. Jan 2007 A1
20070022477 Larson Jan 2007 A1
20070067465 Blinn et al. Mar 2007 A1
20070101400 Freeman et al. May 2007 A1
20070174630 Shannon et al. Jul 2007 A1
20070174635 Jones Jul 2007 A1
20070208940 Adelman et al. Sep 2007 A1
20070244974 Chasin Oct 2007 A1
20080021890 Adelman et al. Jan 2008 A1
20080022013 Adelman et al. Jan 2008 A1
20080028100 Adelman et al. Jan 2008 A1
20080028443 Adelman et al. Jan 2008 A1
20080059348 Glassman et al. Mar 2008 A1
20080077517 Sappington Mar 2008 A1
20080143548 Grimmelmann et al. Jun 2008 A1
20080182561 Kim et al. Jul 2008 A1
20080183551 Jain Jul 2008 A1
20080201575 van der Rijn Aug 2008 A1
20080209208 Parkinson Aug 2008 A1
20080235806 Bantz et al. Sep 2008 A1
20080270209 Mauseth et al. Oct 2008 A1
20080271143 Stephens et al. Oct 2008 A1
20080282338 Beer Nov 2008 A1
20080287094 Keeler et al. Nov 2008 A1
20080307339 Boro et al. Dec 2008 A1
20080320591 Fenton et al. Dec 2008 A1
20090007229 Stokes Jan 2009 A1
20090100263 Leonard Apr 2009 A1
20090164598 Nelson et al. Jun 2009 A1
20090210444 Bailey et al. Aug 2009 A1
20090248595 Lu et al. Oct 2009 A1
20100037314 Perdisci et al. Feb 2010 A1
20100111300 Kido et al. May 2010 A1
20100281539 Burns et al. Nov 2010 A1
20100293371 Thayer et al. Nov 2010 A1
20110055248 Consuegra et al. Mar 2011 A1
20110055923 Thomas Mar 2011 A1
20110173149 Schon Jul 2011 A1
20110179275 Thayer et al. Jul 2011 A1
20110179362 Craddock et al. Jul 2011 A1
20110185172 Thayer et al. Jul 2011 A1
20110307696 Masuda Dec 2011 A1
20120023090 Holloway et al. Jan 2012 A1
20120066763 McHugh et al. Mar 2012 A1
20120114191 Bladel et al. May 2012 A1
20120116896 Holloway et al. May 2012 A1
20120117641 Holloway et al. May 2012 A1
20120174196 Bhogavilli et al. Jul 2012 A1
20130066673 Rose et al. Mar 2013 A1
20130111609 Resch et al. May 2013 A1
20140108802 Clevy et al. Apr 2014 A1
20140136655 Oshima May 2014 A1
Foreign Referenced Citations (1)
Number Date Country
03049358 Jun 2003 WO
Non-Patent Literature Citations (33)
Entry
Internet print-out of http://web.archive.org/web/20000901042248/http://www.datex.net/ecommerce/glossary.htm, Internet archive of datex.net, Sep. 1, 2000.
Meyers, X.509 Internet Public Key Infrastructure, Online Certificate Status Protocol—OCSP, RFC 2560, Jun. 1999, http://www.ietf.org/rfc/rfc2560.txt.
PKCS #10: Certification Request Syntax Specification. RFC 2986, Nov. 2000, http://www.ietf.org/rfc/rfc2986.txt.
Pew Internet Project Data Memo. http://www.pewinternet.org/pdfs/PIP—Datamemo—Reputation.pdf.
Secure In-band Update of Trusted Certificates, IEEE 1999, 8th International Workshops on Jun. 16-18, 1999; pp. 168-173.
Certificate Validation Service using XKMS for Computational Grid, Proceedings of the 2003 ACM workshop on XML security; pp. 112-120.
Sun Microsystems, Inc., iPlanet Certificate Management System 4.2-SP2 Installation and Setup Guide, Chapter 17 Scheduling Automated Jobs, Apr. 2, 2001.
Sun Microsystems, Inc., iPlanet Certificate Management System 4.2-SP2 Installation and Setup Guide, Chapter 24 Issuing and Managing Server Certificates, Apr. 2, 2001.
Sun Microsystems, Inc., iPlanet Certificate Management System Installation and Setup Guide. Chapter 1 Introduction to Certificate Management System, Apr. 2, 2001.
Valicert Ships Third Generation Validation Authority Solution, Oct. 18, 1999.
SSL Certificate Validation Procedures (Webpage print-out from Xramp.com), Jul. 22, 2006.
Technical Information—Root Expiry. Entrust.Net. 2000. http://www.auznic.net/digcerts/rootexpiry.pdf.
Reputation-Based Mail Flow Control. IronPort Systems, Inc. http://www.ironport.com/pdf/ironport—c60—rep—based—paper.pdf, 2002.
Fratto, Certificate Revocation: When Not to Trust. Network Computing. Jun. 26, 2000. http://www.networkcomputing.com/1112/1112ws1.html.
Reputation Network Analysis for Email Filtering. http://www.ceas.cc/papers-2004/177.pdf, 2004.
Communigatepro, WebUser Interface: Secure Mail (S/MIME), unknown date.
Maximilien et al., “Conceptual Model of Web Service Reputation”, 2002.
Josang et al., “The Beta Reputation System”, 2002.
How to Obtain Your Own SSL Certificate; pp. 1-6. http://web.archive.org/web/200301 07071637/http://www.teamits.com/interneUsupporUdigital-id.html, 2003.
Dictionary.com, “Register,” in Dictionary.com Unabridged. Source location: Random House, Inc., Jul. 16, 2010.
Dictionary.com, “Reputation,” in Dictionary.com Unabridged. Source location: Random House, Inc., Jul. 16, 2010.
Dictionary.com, “Satisfactory,” in Dictionary.com Unabridged. Source location: Random House, Inc., Jul. 16, 2010.
Dictionary.com, “Subscribe,” in Dictionary.com Unabridged. Source location: Random House, Inc., Jul. 16, 2010.
Ramaswamy Chandramouli and Scott Rose “Challenges in Securing the Domain Name System”, IEEE Security & Privacy, 2006, pp. 84-87.
Internet printed out https:/lwww.usps.com/postalinspectors/fraud/MailFraudComplaint.htm, Mail Fraud Complaint Form, Aug. 2003.
Title “VhostTaskForce” found on the Internet @ http://wiki.cacert.org/wiki/VhostTaskForce.
Register.com to Issue Baltimore Digital Certificates Making e-Security Accessible to All e-Businesses, Nov. 20, 2008, Register.com, pp. 1.
PCT Application Publication WO 02/101620 A1 to In, Hyoung-Woo, International Publication Date Dec. 19, 2002.
Farmer, Felanie Austria; “VeriSign buys Network Solutions in $21 billion dear”; Mar. 7, 2000; CNET News.
“NIST/SEMATECH e-Handbook of Statistical Methods, § 7.2.5.2 Percentiles,http://www.itl.nist.gov/div898/handbook/prc/section2/prc252.htm (2003)”.
O Hasan, L Brunie, JM Pierson, & E Bertino. Elimination of Subjectivity from Trust Recommendation. The 3rd IFIP International Conference on Trust Management (TM 2009), West Lafay, IN Jun. 15-19, 2009.
What is “domain control validation”?; CoolHandle Hosting; https://support.coolhandle.com/index.php?—m=knowledgebase&—a=viewarticle&kbarticleid=1769; Retrieved Jun. 23, 2015; Last updated Jan. 26, 2010.
The Inconvenient Truth About Web Certificates; Nevena Vratonjic et al.; Economics of Information Security and Privacy III; pp. 79-117; Jul. 27, 2012.
Related Publications (1)
Number Date Country
20140373097 A1 Dec 2014 US