The present inventions generally relate to social networking websites and, more particularly, methods for verifying the authenticity of a social website account.
An example embodiment of a domain name control based social website account authentication method may comprise the steps of receiving a request (that may include a business name and a business email address) to verify the authenticity of a social website account, determining whether the domain name used by the business email address is registered to and under control of the business, and-if so-certifying the authenticity of the social website account.
An example embodiment of a public key certificate based social website account authentication method may comprise the steps of receiving a request (that may include a business name and a business email address) to verify the authenticity of a social website account and determining whether a public key certificate has been issued for the domain name used by the business email address. If a public key certificate has been issued, the method may further comprise determining whether the public key certificate identifies the business name and domain name provided in the original request. If so, the method may further comprise determining whether the business email address is under the control of the business and, if so, certifying the authenticity of the social website account.
An example embodiment of a business validation based social website account authentication method may comprise the steps of receiving a request (that may include a business name and a business email address) to verify the authenticity of a social website account, validating the business and business email address, and determining whether the domain name is registered to and under control of the business. If the business and business email address are both validated, and the domain name is registered to and under control of the business, the social website account's authenticity may be certified.
The features and advantages of the present inventions will be better understood from the following detailed description taken in conjunction with the accompanying drawings.
The present inventions will now be discussed in detail with regard to the attached drawing figures which were briefly described above. In the following description, numerous specific details are set forth illustrating the Applicant's best mode for practicing the inventions and enabling one of ordinary skill in the art to make and use the inventions. It will be obvious, however, to one skilled in the art that the present inventions may be practiced without many of these specific details. In other instances, well-known machines, structures, and method steps have not been described in particular detail in order to avoid unnecessarily obscuring the present inventions. Unless otherwise indicated, like parts and method steps are referred to with like reference numerals.
A network is a collection of links and nodes (e.g., multiple computers and/or other devices connected together) arranged so that information may be passed from one part of the network to another over multiple links and through various nodes. Examples of networks include the Internet, the public switched telephone network, the global Telex network, computer networks (e.g., an intranet, an extranet, a local-area network, or a wide-area network), wired networks, and wireless networks.
The Internet is a worldwide network of computers and computer networks arranged to allow the easy and robust exchange of information between computer users. Hundreds of millions of people around the world have access to computers connected to the Internet via Internet Service Providers (ISPs). Content providers place multimedia information (e.g., text, graphics, audio, video, animation, and other forms of data) at specific locations on the Internet referred to as webpages. Websites comprise a collection of connected, or otherwise related, webpages. The combination of all the websites and their corresponding webpages on the Internet is generally known as the World Wide Web (WWW) or simply the Web.
For Internet users and businesses alike, the Internet continues to be increasingly valuable. More people use the Web for everyday tasks, from social networking, shopping, banking, and paying bills to consuming media and entertainment. E-commerce is growing, with businesses delivering more services and content across the Internet, communicating and collaborating online, and inventing new ways to connect with each other.
Prevalent on the Web are multimedia websites, some of which may offer and sell goods and services to individuals and organizations. Websites may consist of a single webpage, but typically consist of multiple interconnected and related webpages. Websites, unless extremely large and complex or have unusual traffic demands, typically reside on a single server and are prepared and maintained by a single individual or entity. Menus and links may be used to move between different webpages within the website or to move to a different website as is known in the art. The interconnectivity of webpages enabled by the Internet can make it difficult for Internet users to tell where one website ends and another begins.
Websites may be created using HyperText Markup Language (HTML) to generate a standard set of tags that define how the webpages for the website are to be displayed. Users of the Internet may access content providers' websites using software known as an Internet browser, such as MICROSOFT INTERNET EXPLORER or MOZILLA FIREFOX. After the browser has located the desired webpage, it requests and receives information from the webpage, typically in the form of an HTML document, and then displays the webpage content for the user. The user then may view other webpages at the same website or move to an entirely different website using the browser.
Some Internet users, typically those that are larger and more sophisticated, may provide their own hardware, software, and connections to the Internet. But many Internet users either do not have the resources available or do not want to create and maintain the infrastructure necessary to host their own websites. To assist such individuals (or entities), hosting companies exist that offer website hosting services. These hosting providers typically provide the hardware, software, and electronic communication means necessary to connect multiple websites to the Internet. A single hosting provider may literally host thousands of websites on one or more hosting servers.
Browsers are able to locate specific websites because each website, resource, and computer on the Internet has a unique Internet Protocol (IP) address. Presently, there are two standards for IP addresses. The older IP address standard, often called IP Version 4 (IPv4), is a 32-bit binary number, which is typically shown in dotted decimal notation, where four 8-bit bytes are separated by a dot from each other (e.g., 64.202.167.32). The notation is used to improve human readability. The newer IP address standard, often called IP Version 6 (IPv6) or Next Generation Internet Protocol (IPng), is a 128-bit binary number. The standard human readable notation for IPv6 addresses presents the address as eight 16-bit hexadecimal words, each separated by a colon (e.g., 2EDC:BA98:0332:0000:CF8A:000C:2154:7313).
IP addresses, however, even in human readable notation, are difficult for people to remember and use. A Uniform Resource Locator (URL) is much easier to remember and may be used to point to any computer, directory, or file on the Internet. A browser is able to access a website on the Internet through the use of a URL. The URL may include a Hypertext Transfer Protocol (HTTP) request combined with the website's Internet address, also known as the website's domain name. An example of a URL with a HTTP request and domain name is: http://www.companyname.com. In this example, the “http” identifies the URL as a HTTP request and the “companyname.com” is the domain name.
Domain names are much easier to remember and use than their corresponding IP addresses. The Internet Corporation for Assigned Names and Numbers (ICANN) approves some Generic Top-Level Domains (gTLD) and delegates the responsibility to a particular organization (a “registry”) for maintaining an authoritative source for the registered domain names within a TLD and their corresponding IP addresses. For certain TLDs (e.g., .biz, .info, .name, and .org) the registry is also the authoritative source for contact information related to the domain name and is referred to as a “thick” registry. For other TLDs (e.g., .com and .net) only the domain name, registrar identification, and name server information is stored within the registry, and a registrar is the authoritative source for the contact information related to the domain name. Such registries are referred to as “thin” registries. Most gTLDs are organized through a central domain name Shared Registration System (SRS) based on their TLD.
The process for registering a domain name with .com, .net, .org, and some other TLDs allows an Internet user to use an ICANN-accredited registrar to register their domain name. For example, if an Internet user, John Doe, wishes to register the domain name “mycompany.com,” John Doe may initially determine whether the desired domain name is available by contacting a domain name registrar. The Internet user may make this contact using the registrar's webpage and typing the desired domain name into a field on the registrar's webpage created for this purpose. Upon receiving the request from the Internet user, the registrar may ascertain whether “mycompany.com” has already been registered by checking the SRS database associated with the TLD of the domain name. The results of the search then may be displayed on the webpage to thereby notify the Internet user of the availability of the domain name. If the domain name is available, the Internet user may proceed with the registration process. If the domain name is not available for registration, the Internet user may keep selecting alternative domain names until an available domain name is found.
Social websites may comprise Internet-based social networking services that focus on building online social networks for communities of people who may share interests and activities, wish to communicate with each other efficiently, and may be interested in exploring the interests and activities of others, and which necessitates the use of software applications. Most social websites are Internet based and provide a collection of various ways for users to interact, such as micro-blogging, blogging, chat, forums, instant messaging, email, video, voice chat, file sharing, discussion groups, etc. The main types of social networking services are those that contain directories of some categories (such as former classmates), means to connect and communicate with friends, and/or recommendation systems linked to trust. Popular social websites now combine many of these, with TWITTER, MYSPACE, FACEBOOK, YOUTUBE, LINKEDIN, and FLICKR being but a few examples.
Many social websites require their users to generate social website accounts to use the website. Among other purposes, the account may allow the social website to identify the user to other users online. The account generation process may include providing a variety of information that may be used to identify the user on the social website and/or generate a login/password combination for user authentication purposes. The information typically may be collected during a first-use registration process and may comprise requesting a broad array of information, perhaps ranging from no information to an email address to name, address, email address, and/or more specific information.
Generally, there is little or no verification of such user-provided information performed by the social website. Thus, an anonymous user may register as a famous person (or agent of a business or other organization) and participate on the social website as the famous person (or on behalf of the business or other organization). Applicant has therefore determined that presently-existing methods do not provide adequate means for verifying the authenticity of social website accounts. For these reasons, there is a need for the methods for authenticating social website accounts (and related functionality) as described herein.
Domain Name Control Based Social Website Account Authentication Methods
A request to verify the authenticity of a social website account may be received (Step 100) from any individual or entity that may provide an account-based social website. A social website may comprise any software application that may focus on building and verifying online social networks for communities of people who may share interests and activities, wish to communicate with each other efficiently, and may be interested in exploring the interests and activities of others, and which necessitates the use of software applications. TWITTER, FACEBOOK, MYSPACE, and LINKEDIN are a few well-known examples of social websites.
The software application may comprise any client-side, server-side, or other software application that utilizes screen names to identify users. As non-limiting examples, the software application may comprise a blog application, micro-blogging application, chat application, forum application, social networking website application, instant messaging application and/or any combination thereof.
A blog (i.e., weblog) application may comprise a hosted website, perhaps maintained by an individual with regular entries of written commentary, or other material such as graphics or video, perhaps related to a particular topic. The ability for blog readers to comment on blog entries in an interactive format is common functionality implemented with many blogs. Both the blogger and readers may be identified in the commentary section by screen names that may be selected and registered, perhaps with the blog application.
A micro-blogging application may comprise a particular type of blogging application that allows users to send brief text (or perhaps small-file-size multimedia) updates to a website to be viewed by Internet users. The content of a micro-blog differs from a traditional blog in that it is typically smaller in actual size and aggregate file size. Such micro-blogs may be submitted by varying means, including website text entry or multimedia file uploads, text messaging, instant messaging, and/or email. As with blogs, micro-bloggers may subscribe to a micro-blogging service (e.g., TWITTER) that may require participants to register a screen name to participate. TWITTER for example, allows users to register screen names called “Twitter Handles” in the following format: @screenname. Continuing with the example from above, John Doe (who works at My Company) may register the screen name (i.e., Twitter Handle) “@johndoe,” while official company micro-blogs may be posted under the screen name “@mycompany.”
An instant messaging application may comprise an instant messaging software application that allows one user to communicate with another over a network in real time. The instant messaging software application may comprise proprietary or third-party (e.g., MICROSOFT OFFICE COMMUNICATOR, JABBER, GTALK, SKYPE, MEEBO, ICQ, YAHOO! MESSENGER, MSN MESSENGER, PIDGIN, and/or AOL INSTANT MESSENGER) systems. Many instant messaging software applications allow users to register a screen name and subsequently generate a contact list by adding other user's screen names to the list. If a user is online, their screen name may be displayed indicating that user may be available for instant messaging. Clicking on a user's name may activate an instant messaging window in which messages may be typed and responses received. User comments are generally identified by the user's screen name.
A chat application may comprise an electronic discussion group software application (i.e., text chat) that allows users to join chat rooms and publicly communicate with many users at the same time. Example chat protocols that may be utilized include, as non-limiting examples, Internet Relay Chat (IRC) and/or eXtensible Messaging and Presence Protocol (XMPP). In many discussion group applications, users may join a pre-existing chat room or create a chat room about any topic. Once in the chat room, users may type messages that other users in the room can read, as well as respond to messages from others. Such Chat applications generally require users to register a screen name to participate. User comments are generally identified by the user's screen name.
A forum application may comprise an online group discussion website application for displaying and managing user-generated content, perhaps relating to a particular topic (or topics). The forum application may allow users to post comments (perhaps in text or multimedia format) regarding the topic(s) and may require Internet users to become members (i.e., register with the application) before being allowed to submit messages (“posts”). The registration process typically comprises age verification and agreement to the forum application's terms of service. Registered members may be assigned (or select) a screen name that may be displayed with the user's submitted post. Forum applications may be available for implementation on a website via the Internet and may be written in a variety of programming languages, such as PHP, Perl, Java, and/or ASP.
The term “social website account” is meant to be broadly construed to include any established relationship between a user and a website, computer, network, and/or other information service. Social websites may use such social website accounts to identify a user, perhaps by a screen name, which may comprise an alphanumeric, ASCII, or other sequence of characters, images, and/or file types used by a software application to identify a user to other users, such as on a social website. To log in to a social website account, the user may be required to authenticate himself with a password (possible his screen name) or other credentials for the purposes of accounting, security, logging, and resource management.
The request to verify a social website account may comprise any communication seeking verification of a social website account's authentication including, but not limited to, an electronic request received by the server computer including, but not limited to, a Hyper Text Transfer Protocol (HTTP) request, email message, Short Message Service (SMS) message (i.e., text message), and/or function call on an Applications Programming Interface (API). The request may include any information about the social website account that may be useful to the process of verifying the account's authenticity.
As a non-limiting example, the request may include information received from a user by the social website during a registration or account generation process. Such information may include the user's name, address, phone number, domain name, and/or email address. If the user is a business or business employee, the information may include the business name, business email address, business phone number, business domain name, and/or employee names. Alternatively, the request may comprise information that was not provided by the user. As a non-limiting example, such information may comprise information about the user obtained by or in the possession of the social website from other sources, such as publically-available information.
The illustrated embodiments place no limitation on the format the domain name may take. While future iterations of the DNS may establish alternate domain name formats (perhaps using different alphanumeric structures or file types such as image, audio, or video files functioning as a domain name or a similarly-functioning resource locator), which are explicitly contemplated by this patent application, the traditional domain name structure comprises a root name (i.e., “mycompany” in the domain name mycompany.com) concatenated to a top-level domain (i.e., “.com” in the domain name mycompany.com). In this construct, an email address may comprise a username concatenated to a domain name (e.g., user@mycompany.com). Software and/or scripts, perhaps running on the at least one server, may parse the domain name from any provided email to perform subsequent steps.
Whether the domain name is registered to and/or under control of the provided business name then may be determined (Step 110). This step may be accomplished by any method of verifying domain name registration and/or control known in the art or developed in the future. As a non-limiting example (and as illustrated in
The WHOIS system is a TCP-based (Transmission Control Protocol) transaction-oriented query/response protocol and system that is used to provide information services to Internet users. It is widely used for querying databases in order to determine the registrant, administrative contact, technical contact, or other information regarding a domain name. While originally used to provide “white pages” services and information about registered domain names, current deployments cover a much broader range of information services. The protocol delivers its content (WHOIS data) in a human-readable format. WHOIS data may be obtained by transmitting a request to a WHOIS server listening on a TCP port for requests from WHOIS clients. The WHOIS client may make a text request to the WHOIS server, which may reply in kind with text content. The WHOIS server may close its connection as soon as the output is finished. The closed TCP connection is the indication to the client that the response has been received. Once received, the domain name's WHOIS data may be analyzed (Step 200) and the administrative contact for the domain name may be identified (Step 210).
The domain name's administrative contact may then be contacted (Step 220) to ascertain whether the domain name is registered to and/or under control of the subject business. The administrative contact may be communicated with via any method or means of communication known in the art or developed in the future including, but not limited to direct, person-to-person, written, telephonic, and/or electronic communications means. As a non-limiting example, where the WHOIS data comprises an administrative contact email address, the administrative contact may be contacted by sending an email message, perhaps containing a hyperlink that, when received and clicked, may transmit a response, which will indicate email account control. Thus, as illustrated in
Alternatively, and as illustrated in
As a non-limiting example, the email message (or other communication as described above) may comprise at least one instruction to modify a CNAME record for the domain name. A CNAME record is a type of resource record in the DNS system that specifies whether the domain name is an alias of another domain name. Only an individual or entity having control over the domain name may modify the CNAME record. By determining whether the CNAME record was modified according to the email's instructions (perhaps by analyzing the domain name's DNS record), domain name registration and/or control may be determined (Step 110).
As another non-limiting example, the email message (or other communication as described above) may comprise at least one instruction to upload an HTML file (and/or any other file type that may be uploaded to-and detected on-a webpage) to a webpage resolving from the domain name. The email message may contain the HTML file itself, a hyperlink to the HTML file, or simply a file name for an HTML file. Once the HTML file has been uploaded, an Internet user may detect the file on the webpage (perhaps by accessing the webpage via a browser). If the file is detected, domain name registration and/or control has been demonstrated (Step 110).
Returning to
As a non-limiting example, such notification may be accomplished by transmitting a certification seal to the social website. The certification seal may indicate to social website users that the social website account they may be accessing has been validated. It may be in the form of a displayable image, perhaps a digital certificate for display on a webpage. The certification seal also may take the form of a change in appearance of the social website (or the URL bar in a browser) when it appears on a computer screen. It also could comprise an audible sound, such as an audio file that plays when the social website account is accessed (e.g., chimes).
Methods for providing a certification seal to a social website include, but are not limited to: (1) sending a piece of software to the social website (or other individual or entity) for installation on a hosting computer, server, website, database, or other storage device; (2) storing the certification seal on a computer, server, website, database, or other storage device from which the social website may retrieve the certification seal; or (3) sending the certification seal to a third party for storage on a computer, server, website, database, or other storage device from which the social website (or other individual or entity) may retrieve the certification seal.
Alternatively, the social website may be notified that the domain name is registered to and under control of the business by validating said social website account via the social website's Applications Programming Interface (API). An API is a software-to-software interface that specifies the protocol defining how independent computer programs interact or communicate with each other. The API may allow a requesting party's software to communicate and interact with the software application and/or its provider-perhaps over the network-through a series of function calls (requests for services). It may comprise an interface provided by the social website and/or its provider to support function calls made of the social website by other computer programs, perhaps those utilized by the requesting party to determine screen name availability. The API may comprise any API type known in the art or developed in the future including, but not limited to, request-style, Berkeley Sockets, Transport Layer Interface (TLI), Representational State Transfer (REST), SOAP, Remote Procedure Calls (RPC), Standard Query Language (SQL), file transfer, message delivery, and/or any combination thereof.
As a non-limiting example, the request may include information received from a user by the social website during a registration or account generation process. Such information may include the user's name, address, phone number, domain name, and/or email address. If the user is a business or business employee, the information may include the business name, business email address, business phone number, business domain name, and/or employee names. Alternatively, the request may comprise information that was not provided by the user. As a non-limiting example, such information may comprise information about the user obtained by or in the possession of the social website from other sources, such as publically-available information.
Subsequent to transmitting the request (Step 500), confirmation that the domain name is registered to and under control of the business name provided in the request may be received (Step 510). As a non-limiting example, and as illustrated in
Public Key Certificate Based Social Website Account Authentication Methods
As a non-limiting example, the public key certificate may comprise any digital certificate using the public key infrastructure, such as a Secure Sockets Layer (SSL) or Transport Layer Security (TLS) certificate. SSL includes a protocol for transmitting private documents via the Internet by using a private key to encrypt data transferred over an SSL connection. An SSL certificate lets users know that the website owner/operator has been verified by a trusted third party (a Certificate Authority) and that confidential communications with the website are encrypted. The SSL certificate typically includes an identification of the server (such as its hostname), the server's public key, a digital signature provided by the Certificate Authority, the subject domain name, and the individual or business to which the certificate has been issued. Common conventional browsers, such as INTERNET EXPLORER or MOZILLA FIREFOX, support the SSL protocol, and many websites use the protocol to obtain confidential user information from their Customers. By convention, Uniform Resource Locators (URLs) that require an SSL connection start with “https:” instead of “http:.”
Step 800 (determining whether a public key certificate has been issued for the domain name) may be accomplished by, as a non-limiting example, directly querying the hosting provider hosting the social website resolving from the domain name to determine whether an SSL certificate has been issued for the domain name. Alternatively, the domain name may be entered in a browser address bar subsequent to “https://.” If the domain name resolves to a website, it has been issued an SSL certificate. If an SSL certificate has been issued, the certificate may be analyzed to determine whether it identifies the business name received in Step 100 (Step 810). This step may be accomplished by parsing the SSL certificate into data fields and extracting the business name and/or other relevant information, such as the domain name. If the SSL certificate properly identifies both the business name and the domain name, the relationship between the business name and domain name may thereby be positively established.
The illustrated method may further comprise the step of determining whether the business email address is under the control of the business (Step 820). As illustrated in
Business Validation Based Social Website Account Authentication Methods
Following receipt of such a request, the social website account may be validated by validating the business (Step 1110), validating the business email address (Step 820), and determining whether the domain name is registered to and under control of the business (Step 110). These steps may be performed either in series or in parallel. Responsive to a determination that the business name and business email address are validated and that the domain name is registered to and under control of the business name, the authenticity of the social website account may be certified (Step 120). This method may provide a high-assurance guaranty that the social website account is authentic by combining the previously-described steps with a business validation element.
The business may be validated (Step 100) by any method known in the art or developed in the future of confirming that the business name provided in the request (Step 100) is a legal, existing business. As a non-limiting example, public business records (e.g., state corporation commission records, federal SEC records, business directories, and/or online phonebooks) may be searched to identify the business name. Alternatively, private databases (e.g., ZOOMINFO) may be accessed and searched. A positive result (i.e., an exact match of the provided business name in the directory) validates the business' existence. As shown in
In the alternate embodiment illustrated in
Such servers could comprise any computer or program that provides services to other computers, programs, or users either in the same computer or over a computer network. As non-limiting examples, servers may comprise application, communication, mail, database, proxy, fax, file, media, web, peer-to-peer, standalone, software, or hardware servers (i.e., server computers) and may use any server format known in the art or developed in the future (possibly a shared hosting server, a virtual dedicated hosting server, a dedicated hosting server, a cloud hosting solution, a grid hosting solution, or any combination thereof). Clients that may be used to connect to the network to use the illustrated embodiments may include a desktop computer, a laptop computer, a hand held computer, a terminal, a television, a television set top box, a cellular phone, a wireless phone, a wireless hand held device, an Internet access device, a rich client, thin client, or any other client functional with a client/server computing architecture.
The example embodiments herein place no limitation on network configuration or connectivity. Thus, as non-limiting examples, the network could comprise the Internet, the public switched telephone network, the global Telex network, computer networks (e.g., an intranet, an extranet, a local-area network, or a wide-area network), wired networks, wireless networks, or any combination thereof Examples of clients that may be used may include a desktop computer, a laptop computer, a hand held computer, a terminal, a television, a television set top box, a cellular phone, a wireless phone, a wireless hand held device, an Internet access device, a rich client, thin client, or any other client functional with a client/server computing architecture.
Servers and clients may be communicatively coupled to the network via any method of network connection known in the art or developed in the future including, but not limited to wired, wireless, modem, dial-up, satellite, cable modem, Digital Subscriber Line (DSL), Asymmetric Digital Subscribers Line (ASDL), Virtual Private Network (VPN), Integrated Services Digital Network (ISDN), X.25, Ethernet, token ring, Fiber Distributed Data Interface (FDDI), IP over Asynchronous Transfer Mode (ATM), Infrared Data Association (IrDA), wireless, WAN technologies (Ti, Frame Relay), Point-to-Point Protocol over Ethernet (PPPoE), and/or any combination thereof.
Other embodiments and uses of the above inventions will be apparent to those having ordinary skill in the art upon consideration of the specification and practice of the inventions disclosed herein. The specification and examples given should be considered exemplary only, and it is contemplated that the appended claims will cover any other such embodiments or modifications as fall within the true scope of the inventions.
The Abstract accompanying this specification is provided to enable the United States Patent and Trademark Office and the public generally to determine quickly from a cursory inspection the nature and gist of the technical disclosure and in no way intended for defining, determining, or limiting any of its embodiments.
This patent application is related to U.S. patent application Ser. No. ______ entitled: “Domain Name Control Based Social Website Account Authentication” concurrently filed herewith and also assigned to The Go Daddy Group, Inc. This patent application is related to U.S. patent application Ser. No. ______ entitled: “Business Validation Based Social Website Account Authentication” concurrently filed herewith and also assigned to The Go Daddy Group, Inc.