Referring now to the drawings,
The “universal age/gender-verification ID” (UAID) service of the present invention is intended to be a third party service offered to individuals (as “users” of the Internet) and organizations (as “owners” of websites). In general, an organization that subscribes to the UAID service of the present invention can then advertise their website(s) as utilizing an age- and/or gender-restricted policy, providing additional assurances to parents, educators and others that are concerned about controlling Internet access for young people, or keeping predators off of sites intended for only young people. Parents and/or educators and the like may then register each individual in the family (or a blanket registration for a school), where each individual will have: a) his/her own UAID created for use thereafter, and b) his/her personal secret string (SUS).
As will become apparent during the course of the following discussion, the age verification service of the present invention includes two distinct aspects: (1) the creation of a “universal age-verification ID” (UAID) for individuals who desire to register for the service; and (2) the subscription of websites for utilization of age/gender-based access for their websites. The following will first describe an exemplary process for creating a UAID for an individual, and then describe the subscription and use of UAIDs by website owners desiring to control access.
A. Individual Registration—Creation of a “Universal Age ID”
The process of obtaining a UAID begins with an individual submitting general identification information, along with their original birth certificate (or other “legally verifiable identity documents”), to the UAID service provider. Similar to the process of obtaining a passport, a critical component of the age verification service of the present invention is the submission of a tangible, physical document that may be separately authenticated by the service provider. The provided data may be stored by the service provider in tabular form, as showed below in Table I for an exemplary individual “James Doe”:
The process of creating a unique UAID for James Doe based on this information then proceeds by formatting this data into a standard string (SS) form as follows:
where the “underscore” character is used in each instance where a “blank” is required. It is to be understood that in its most general implementation, a subset of these data element values may be used to form the standard string (for example, “mother's first name” may be omitted from the standard string). The arrangement as shown above is considered as exemplary only. The next step, in accordance with the present invention, is to append a “pad string” to the standard string. The inclusion of a “pad string” known only by the UAID service provider avoids the creation of “fake” IDs by an untoward individual or entity misrepresenting themselves as a bona fide agent of this UAID service. In many ways, the pad string can be likened to a “private key” in a (public key, private key) pair. For the purposes of explanation, it is presumed that the UAID service is currently using the pad string: NowWeLearnOurABCs, appending this string to that shown above to form the complete string:
A key step in the formation of unique, verifiable UAID is to generate a one-way hash of the complete string, where a portion of the hash is then defined as that individual's unique UAID. Exemplary well-known hashes that may be used for this purpose include, but are not limited to, MD4, MD5 and SHA-1. The following discussion will utilize the MD5 hash to generate the translated string only for the purposes of further explaining the additional attributes of the present invention. For the complete string as shown above, the resultant MD5 hash is the 32 hexadecimal digit number shown below:
Seven digits (n=7) represents approximately the total population of the United States, and eight digits (n=8) represents approximately the world's population. For the purposes of the present invention, either of these two values would probably suffice. In order to minimize the possible future need to change (i.e., increase) the number of digits required to provide a unique UAID for all possible individuals, the value of nine digits (n=9) will be utilized for the preferred implementation of the UAID service of the present invention. Thus, for a particular embodiment of the present invention, the last nine digits of the MD5 hash string will be defined as James Doe's UAID. That is, recalling that the MD5 hash created by James Doe's personal information is as follows:
To provide further assurance of “unique-ness” of the assigned UAID, the age verification service of the present invention may first check the to-be-issued UAID against all previously-issued values. If a “match” is found (oftentimes referred to as a “hash collision” in the encryption arts), one digit of the UAID may simply be incremented (or decremented) one value, and the modified UAID again checked; with this process continuing until a truly “unique” UAID can be assigned and issued to James Doe. It is considered that the possibility of a collision will be rare, but if such an event does occur, the simple increment/decrement solution is available.
While this particular example utilizes the last nine digits of the hash, it is to be understood that any pre-defined set of nine digits (or other desired number of digits) may be used. For example, the first nine digits may be used to form the UAID, or the first five digits and the last four digits, or any other combination as dictated by the service provider.
When the UAID value is communicated to James Doe, the UAID service of the present invention will also provide a “secret user string” (i.e., password) that James Doe must use in conjunction with his UAID to gain access to various sites, as will be discussed in detail below. The number of bytes used to encode the secret user string will depend upon the security requirements of the UAID service provider. For example, a high security application might require a secret string of 1024 bytes, while a less secure application may need a secret key that is only 64 bits long. In this case, the keys can either be encoded as 16 hexadecimal digits (4 bits/character) or as 11 printable ASCII characters (6 bits/character). It is presumed that a secret user string as used in accordance with the present invention might need to be entered only once into a crypto key-ring (such as are available on personal computers running the Linux operating system) or other device (e.g., smartcard) for easy storage and use. For the purposes of the present invention, it is presumed that the “secret user string” nobodyknows is sent to James Doe to be used in conjunction with his UAID. Importantly, the UAID service provider stores the UAID/“secret string” pair in its database of registered users, where these values are later retrieved (as will be discussed in detail below) in each instance where an individual desires to access a website that has subscribed to the UAID service. In accordance with another aspect of the present invention, the age/gender verification service may periodically update or re-issue the secret key, based on factors such as time restrictions (i.e., “expiration date” of a key), user request, security needs, or the like.
A “secret user string” is then assigned to the generated UAID (step 160), and both the UAID and secret user string are stored in a UAID database under the control of the UAID service provider (step 170). The generated UAID, secret user string and original birth certificate (or other form of submitted authentication) are then delivered to the requester (step 180). It is presumed that some type of mail/e-mail direct delivery service is used to send the information to the requester. Once the individual has received his unique UAID and associated secret user string, he may use this identifying information to gain access to subscribed-to websites that permit person's of his current age. The process associated with obtaining access to subscriber websites is described in detail hereinbelow.
In one preferred implementation of the present invention, a generated UAID may be first checked against all previously-issued UAIDs to ensure that a “collision” will not occur (that is, that the same UAID is sent to two different individuals). As mentioned above, one intention of the present invention is that the UAID will be unique to each registered individual. The flowchart of
B. Website Owner Subscription and UAID Platform Architecture
Website subscriber database 16 also includes a plurality of separate records, where each record is associated with a particular registered website, or a registered partition of a particular website. Record 16-1, as shown, is in this case associated with website 20, and includes both its IP address (or URL), its age-defining information—“MIN” and “MAX”, and/or gender restrictions (“MALE” and “FEMALE”) when gender-based restriction policies are used. The website's age/gender restriction policies will then be used by platform 12 to determine if an individual will be permitted access to website 20. Various other means of defining the age limitations and other parameters associated with the subscribed websites may be utilized. Similarly, record 16-2 contains the information associated with website 22 and record 16-3 contains the information associated with website 24. It is presumed that website owners will be permitted to subscribe and unsubscribe, as need be.
C. Operation of Age Verification Service
With this understanding of the process of obtaining a UAID and the overall network architecture for implementing the UAID age verification service, the specific operation of this service will now be described in detail.
For the purposes of discussion, the flow will be described from the perspective of individual “Jr.” attempting to access each of the subscriber websites 20, 22 and 24 as defined above in association with
Presuming that website 20 is registered with the inventive service, the logon form will request that Jr. enter the following information: current time, UAID, URL, and a hash defined as: MD5 (time.UAID.secretuserstring.URL), where Jr.'s local computer will generate a hash of the italicized information. It is to be understood that the inclusion of data such as “time” and “URL” in the generated hash value will add to the overall security of the system. In its most basic implementation, it is possible to utilize only a hash of the “secret user string”, since this is the only data that is not transmitted in the clear and can be used as a validation check by the UAID platform. Other implementations using current time, URL of the website, and other data in the hash string may be used in applications requiring greater security.
Referring to
time, UAID, URL (of website), hash, IP address (of Jr.'s computer).
In accordance with the present invention, UAID platform will then perform a verification process, as outlined by the flowchart of
The flowchart of
Presuming that the hash matching is successful, the process continues (step 280) with the retrieval of the actual “birth date” information of this individual, as contained within his record in database 14. The actual “birth date” information is then used to calculate his current age (step 290). The age restriction information is then retrieved from the web subscriber database 16 (using the submitted IP address of the requesting website)—step 300, and the age restriction information is compared against the calculated age of the requesting individual (step 310).
A determination is made at step 320 regarding permission to access the website, where if the individual's current age falls outside of the defined age restriction information, an “access denied” message is sent to the website (step 330). Otherwise, an “access permitted” message is sent to the website (340). It is to be noted that in either case the individual retains his “anonymity” with respect to the database. That is, the returned message is either “permitted” or “denied”; the specific age or identity of the requesting individual is not divulged. Subsequently, internal service logs documenting the individual and website verification activity may be updated (step 350), and then be available for various audit and verification purposes.
Applying the steps outlined in
In contrast, if Jr. were attempting to enter an “over 21” website, such as website 22, the age verification service of the present invention will deny his access to that website. That is, once Jr.'s current is determined (i.e., “14’), this age would be compared against the age restriction policy for website 22, as stored in record 16-2 of database 16. As shown in
It is to be noted that in either case, Jr.'s actual age is not transmitted to the website, only a permit/deny access message. This is considered to further provide anonymity to the users of the service.
In a similar fashion, Sr.'s access to websites may be controlled through the application of the age/gender verification service of the present invention. For example, presuming that Sr desires to gain access to a “teen only” website, such as website 20, a calculation of his current age as “54” will deny him access. Thus, this application of the present invention is seen to provide the “predator” safeguard desired by parents, educators and others involved with youth. Furthermore, if at some future time convicted child molesters are required to register with the UAID service, this registration would further reduce the potential for sexual predators to misrepresent themselves and gain access to youth-related websites.
There exist many variations that may be utilized with the age/gender verification service of the present invention to further lessen the opportunity for “hackers” and non-legitimate users to gain access to either the UAID platform or the registered websites. For example and as mentioned above, the UAID platform may generate “tokens” on a regular basis that are supplied to registered websites. The use of tokens, as known in the art, may be utilized to provide time-sensitive control information to web-based interactions. That is, the tokens supplied to a registered website may have a “shelf life” of, for example, five hours. After that time period, the tokens will expire and anyone attempting to use expired tokens to gain access to the UAID platform will be denied. Further, tokens will only be able to be used a single time—thus defeating “replay” attacks where information is copied and re-submitted.
In accordance with this embodiment of the present invention, UAID platform 12 will first check the validity of the received token. If the token value has expired, or is not a valid token, an error message will be returned to website 20. If the token is found to be valid, the process will continue in the same manner as outlined above, performing further checks on both the UAID itself and the “hash” of the retrieved secret user string before calculating the individual's age and either permitting or denying access.
Other means of providing additional security to the age verification process of the present invention may involve an analysis of the “time” portion of the data transmitted to the UAID platform, where a repeated number of attempts to validate and process a UAID may signal the work of a hacker. In order to dissuade individuals from giving their UAID/secret string pair to others (similar to over-age young adults purchasing beer for their younger friends), the service of the present invention may require the individual to transmit his current IP address information to gain access to selected websites. This can be performed automatically using software provided by the verification service. If a particular UAID/secret user string pair is received from a multiple number of different IP addresses, it may be presumed that this information has been compromised and the UAID may be “frozen”. Additionally, at the option of both the verification service and the subscribers, various activity logs of individual and website verification requests can be created for review.
Other and further modifications and embellishments to the age verification service of the present invention will become apparent to those skilled in the art. Indeed, the subject matter of the present invention is intended to be limited in scope only by the claims appended hereto.
This application claims the benefit of U.S. Provisional Application No. 60/835,834, filed Aug. 4, 2006, which is herein incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60835834 | Aug 2006 | US |