Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 6 and 7 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Regarding claim 6, claim 6 recites "the hashID attributes from the ID token." There is insufficient antecedent basis for this limitation in the claim. The term also renders the claim indefinite because its scope cannot be determined with reasonable certainty. The term "hashID attributes" appears in the specification only in the summary passage that repeats the claim language verbatim; the detailed description does not use the term, and instead describes the fallback lookup as performed "using attributes from the ID token" (step S431). The ID token described in the specification (Figure 3) contains user personal identification attributes such as a name and email address, and contains no hashID; the specification places the hashID in the access token of Figure 5 instead. It is therefore unclear whether the recited lookup uses (a) the attributes contained in the ID token, (b) a hashID together with attributes from the ID token, or (c) some hashID-type attribute within the ID token, and these readings differ materially in scope. For purposes of applying prior art, the limitation is interpreted as "the attributes from the ID token," consistent with the specification's description of the fallback lookup ("The Domain A authenticator performs a lookup using attributes from the ID token to match with the attributes in the attribute database (step S431)").
Regarding claim 7, claim 7 depends from claim 6 and fails to cure the deficiency of its parent claim and, therefore, inherits the rejection.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The references relied upon in the following rejections are:
Huang et al. (US-11765182-B2), hereinafter "Huang."
Agarwal (US-20190289017-A1), hereinafter "Agarwal."
Yang et al. (CN-111447073-A), hereinafter "Yang."
Applicant's Admitted Prior Art (Figures 2A-2B and the associated description), hereinafter "AAPA."
Applicant's specification describes the login sequence of Figures 2A and 2B as conventional (see the Brief Description of Drawings, describing Figure 2A as "an example of an OIDC browser user provisioning/login sequence using a federated identity provider (IdP) in a conventional system," and the Detailed Description, "In contrast to the conventional approach shown in Figures 2A, 2B"). This admitted conventional subject matter is relied upon as prior art below. Note also that the paragraph numbering in Huang restarts between the Background/Summary section and the Description section; citations below therefore identify the section, e.g., "Huang, Summary (10)" or "Huang, Description (60)."
Claims 1-5, 8-11, 13, and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Huang in view of Agarwal.
Regarding claim 1, claim 1 recites "receiving, by a first domain attribute database from a user device, first data." Huang provides for this limitation because Huang discloses the identity server causing the geolocation acquisition module of the user device to gather and send the user device's current geolocation data to the identity server (Huang, Description (60); Description (64), arrow 457). Under the broadest reasonable interpretation, the first domain attribute database reads on the identity server's store of registered user account information (Huang, Summary (7); Description (59)). Agarwal likewise provides for the authentication system receiving a geolocation previously supplied by the user, sensed by the user's mobile computing device (Agarwal, [0023]).
Claim 1 further recites "determining, based on the first data, a value of a location-dependent parameter for the user device." Huang provides for this limitation because Huang discloses obtaining the geolocation from GPS, a Wi-Fi access point, or a Bluetooth-connected device (Huang, Summary (15)). Agarwal further provides for determining a quantized geolocation value (latitude and longitude groups) from the measured geolocation (Agarwal, [0021], [0034]).
Claim 1 further recites "computing, by the first domain attribute database, a first hashID for a user of the user device, based on the value of the location-dependent parameter." However, Huang does not expressly provide for "computing, by the first domain attribute database, a first hashID for a user of the user device, based on the value of the location-dependent parameter" in the manner recited; Huang's server instead evaluates the received geolocation against a geofence (Huang, Description (60)). Agarwal provides for the missing hash-computation technique because Agarwal discloses the authentication management system computing a cryptographic hash value whose inputs include a geolocation-based value retrieved from the user's profile in the system's repository and a quantized time from the system's own clock (Agarwal, [0023]; [0054] "quantized timestamp of the authentication server 52"; claim 16, "generating... an expected limited-use authentication credential based on a value indicative of a valid geolocation of the user, a current time obtained by the authentication application, and the shared secret"). The claim recites computing the hashID "based on" the location value; Agarwal expressly states that "based on" encompasses the condition being "one factor among a plurality of factors" (Agarwal, [0101]), and Applicant's own specification likewise computes the hash from the location value optionally together with other inputs (specification, description of Figures 4A and 6).
Claim 1 further recites "mapping, by the first domain attribute database, the first hashID to one or more user attributes stored in the first domain attribute database." Agarwal provides for this limitation because Agarwal discloses the repository storing user profiles that associate a user identifier with the values from which the expected credential is computed, including the shared secret and the geographic-area value (Agarwal, [0050], [0023]). Huang further provides for retrieving user information associated with the identifier (Huang, Summary (7); claim 12). In the combined system the computed hash value is thereby associated with the user's stored profile attributes.
Claim 1 further recites "receiving, by the first domain attribute database from an authenticator for the first domain, a lookup request comprising a second hashID." Agarwal provides for this limitation because Agarwal discloses the application server establishing a back channel of communication with the authorization server and requesting authentication of the user based on the supplied values (Agarwal, [0065]), the authorization server receiving the limited-use authentication credential that was generated at the device (Agarwal, [0086]), and the received request including the user identifier, a password-based value, and the limited-use credential (Agarwal, claim 16). Huang likewise provides for the application gathering the user-entered data and forwarding the data and request to the identity server (Huang, Description (63)). The application server hosting the first domain's application is the authenticator for the first domain; the device-generated hash value is the second hashID.
Claim 1 further recites "in the event that the first domain attribute database determines the second hashID to match the first hashID, using the mapping between the first hashID and the one or more stored user attributes to return the one or more stored user attributes." Agarwal provides for the match determination because Agarwal discloses the authorization server generating the expected credential and authenticating the user in response to the expected credential corresponding to (matching) the received credential (Agarwal, [0087]; [0053], the received TLOTP "must match that calculated by the credential validator based on information in a user's profile"). Huang provides for returning the stored user attributes because Huang discloses generating a data structure storing data related to the information associated with the identifier and causing the data structure to be sent to the application (Huang, claim 1, elements (ii)-(iii); claim 12; Description (60)).
Agarwal is relied upon only for its technique of computing and comparing hash values derived from a stored geolocation value and a quantized time. Agarwal is not relied upon for the cross-domain identity-management environment recited in the claims. Huang provides the claim-specific environment - the identity server holding registered user information, the retrieval of user information associated with the identifier, and the return of the data structure containing that information to the application - while Agarwal provides the general hash-computation and hash-comparison technique applied to the location value within that environment.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Huang's location-aware authentication system to include Agarwal's computation and comparison of hash values derived from a stored geolocation value and a quantized time because doing so increases the entropy of the authentication credential and hardens the system against brute-force attacks (Agarwal, [0004], [0025]). Huang already provides for gathering the device's current geolocation at authentication, verifying that geolocation at the identity server, and deleting the precise geolocation afterward to protect the user's privacy (Huang, Description (60), (61); Summary (10)). Agarwal provides for computing the verifying value as a cryptographic hash of the stored geolocation value and a quantized time, and for authenticating the user upon that value matching the value presented by the device (Agarwal, [0022], [0023], [0087]). Applying Agarwal's feature to Huang's system would allow the identity server to verify the user's location by comparing hash values, so that the location is verified without the server receiving or storing it in unencrypted form at authentication (Agarwal, [0023]), extending the location-privacy objective Huang already pursues while adding the credential-entropy benefit Huang does not obtain. Thus, the combination provides for the limitations of claim 1.
Regarding claim 2, claim 2 depends from claim 1 and further recites "forwarding, by the authenticator for the first domain to the user device, an access token with which to access the first domain." The Huang/Agarwal system provides for this limitation because Huang discloses the verification result stored in a data structure (e.g., a token) sent to the application directly or indirectly through the user agent, and the result packaged in a token upon which the application grants the login (Huang, Description (60), (71)), and Agarwal discloses an authentication token provided to the browser as a query parameter, which the browser includes in requests to the application server for access during the authenticated session (Agarwal, [0041]-[0043]).
Regarding claim 3, claim 3 depends from claim 1 and further recites that the first hashID is computed by the first domain attribute database "using the value of the location-dependent parameter and a timestamp indicating a time of receipt of the value of the location-dependent parameter by the first domain attribute database." The Huang/Agarwal system provides for this limitation because Agarwal discloses the hash taking as input a quantized measure of time and a quantized measure of geolocation (Agarwal, [0022]) and the authentication management system computing its hash using a time output of its own clock (Agarwal, [0023]), the authenticator clock generating a quantized timestamp of the authentication server (Agarwal, [0054]). In the combined system, the server's quantized clock reading when the location value is received and processed supplies the recited timestamp; Agarwal discloses that the quantization interval and phase are selected so that small clock or network-latency differences yield the same quantized timestamp (Agarwal, [0054]).
Regarding claim 4, claim 4 depends from claim 1 and further recites "receiving, by the first domain attribute database, at a later point in time, an updated value of the location-dependent parameter for the user device; and re-computing the first hashID using the updated value." The Huang/Agarwal system provides for this limitation because Huang discloses that upon expiration of the data structure or a detected IP address change, the computing system sends a second geolocation data request, the device gathers and sends its current geolocation data again, and a second data structure is generated (Huang, Summary (13)-(14); Description (65); claim 15), and Agarwal discloses a second request to generate a credential based on another measured geolocation at a different time, with the server computing its expected credential from the current values at each authentication (Agarwal, [0076], [0023]).
Regarding claim 5, claim 5 depends from claim 4 and further recites that the re-computed first hashID is computed using the updated value and a timestamp indicating a time of receipt of the updated value. The Huang/Agarwal system provides for this limitation for the reasons set forth for claims 4 and 3 above; each re-computation per Agarwal uses the server's quantized clock time together with the then-current geolocation value (Agarwal, [0022], [0023], [0054]).
Regarding claim 8, claim 8 recites "providing, by a user of a user device to a federated identity provider, user authentication credentials and a value of a location-dependent parameter." Huang provides for this limitation because Huang discloses the user agent redirected to a login interface provided by the identity server, through which the user enters their identifier and credentials (Huang, Description (59)), and the user device gathering and sending its current geolocation data to the identity server (Huang, Description (60), (64)). The identity server is a federated identity provider: it provides identity management, authorization, and authentication services to other applications and/or APIs (Huang, Description (57), (30)), and Huang describes identity federation as relying on federated identity to authenticate a user (Huang, Summary (2)); Agarwal likewise discloses the application server handing off authentication to the authorization server, for example by implementing an OAuth protocol (Agarwal, [0065]).
Claim 8 further recites "receiving, by the user device from the federated identity provider, and in response to being authenticated by the federated identity provider, a first hashID, the first hashID being computed based on the value of the location-dependent parameter." Huang provides for the identity server, after verification, sending the resulting data structure to the application directly or indirectly through the user agent (Huang, Description (60), (65)), such that the user device receives it from the identity provider following authentication. However, Huang does not expressly provide for the received identifier "being computed based on the value of the location-dependent parameter" in the manner recited. Agarwal provides for the missing hash-computation technique, disclosing the credential being one or more cryptographic hash values based on the geolocation value and a quantization of time (Agarwal, [0022], [0075]) and for the user receiving the generated credential for submission (Agarwal, [0086]). In the combined system, the value the user device receives from the identity provider is the location-based hash value; this is a result of the combination and is asserted as such.
Claim 8 further recites "forwarding, by the user device, the first hashID to an authenticator for a first domain." Huang provides for this limitation because Huang discloses the data structure passing through the user agent to the application (Huang, Description (60)); Agarwal further provides for the credential being input at the browser and received by the application server (Agarwal, [0086]).
Claim 8 further recites "receiving, from the authenticator for the first domain, an access token with which to access the first domain." Huang provides for this limitation because Huang discloses the result packaged in a token upon which the application grants the login (Huang, Description (71)); Agarwal further provides for the authentication token supplied to the browser for access to the application server (Agarwal, [0041]-[0042]).
The motivation to combine Huang and Agarwal is the same as set forth above with respect to claim 1.
Regarding claim 9, claim 9 depends from claim 8 and further recites that the first hashID is computed based on the value of the location-dependent parameter "and a time at which the value of the location-dependent parameter was forwarded to the federated identity provider." The Huang/Agarwal system provides for this limitation because Agarwal discloses the credential based on both a geolocation and "a time determined by the remote computing device" (Agarwal, claim 16), the hash input being a quantized measure of time determined by the user's mobile computing device (Agarwal, [0022]), and the verifier alternatively using a quantized time associated with the sent credential (Agarwal, [0023]).
Regarding claim 10, claim 10 depends from claim 8 and further recites providing an updated value at a subsequent point in time, receiving a second hashID computed based on the updated value, forwarding the second hashID to an authenticator for a second domain, and receiving from the authenticator for the second domain an access token with which to access the second domain. The Huang/Agarwal system provides for this limitation because Huang discloses the identity server providing identity services to other applications and/or APIs, with different accounts for different applications managed for the user(Huang, Description (57), (76)), and Agarwal discloses the same user identifier shared across multiple application servers posting multiple web applications (Agarwal, [0050]), an authentication system serving more than 50 different application servers at distinct web domains (Agarwal, [0028]), and authentication to single-sign-on systems as an express use case (Agarwal, [0025]). The second hashID computed from the updated value is provided for by Agarwal's second credential generated from another measured geolocation and a new quantized time (Agarwal, [0076], [0022]); the token from the second domain's authenticator is provided for by Huang, Description (71), applied to the further application.
Regarding claim 11, claim 11 depends from claim 10 and further recites that the second hashID is computed based on the updated value and a time at which the updated value was forwarded. The Huang/Agarwal system provides for this limitation for the same reasons set forth above with respect to claims 10 and 9.
Regarding claim 13, claim 13 recites a computer system comprising one or more computing devices configured to execute the method according to claim 1, and is rejected for the same reasons set forth above with respect to claim 1. The Huang/Agarwal system provides for the recited computing devices because Huang discloses a computing system comprising one or more hardware processors and one or more hardware storage devices storing computer-executable instructions (Huang, claim 1).
Regarding claim 14, claim 14 recites a non-transitory computer readable medium comprising computer executable instructions that cause one or more computing devices to carry out the method of claim 1, and is rejected for the same reasons set forth above with respect to claim 1. The Huang/Agarwal system provides for the recited medium because Huang discloses a computer program product comprising one or more hardware storage devices storing computer-executable instructions (Huang, claim 14) and Agarwal discloses a non-transitory computer readable storage medium storing the program instructions (Agarwal, [0093]; claim 16).
Claims 6 and 7 are rejected under 35 U.S.C. 103 as being unpatentable over Huang in view of Agarwal as applied to claim 5 above, and further in view of Applicant's Admitted Prior Art (Figures 2A-2B and the associated description; "AAPA").
Regarding claim 6, claim 6 depends from claim 5 and, as best understood in view of the interpretation set forth in the 112(b) rejection above, further recites the steps performed in the event that the first domain attribute database fails to match the second hashID with the first hashID or any other previously received hashID.
Claim 6 recites the condition that the first domain attribute database "fails to match the second hashID with the first hashID or any other previously received hashID." Agarwal provides for this condition because Agarwal discloses the authentication management system calculating a matrix of candidate credential values for adjacent quantization intervals in time and space and authenticating only when the received credential matches one of the candidates (Agarwal, [0024]; claims 17-18), authenticating when the supplied credential matches a credential calculated for any one of the stored geographic areas or adjacent areas (Agarwal, [0050]), and blocking access when the measured geolocation is not in any permitted area (Agarwal, [0076]).
Claim 6 further recites "issuing, by the authenticator for the first domain, a request for an ID token from a federated identity provider with whom the user has previously authenticated themselves" and "receiving, by the authenticator for the first domain, the ID token." The Huang/Agarwal system does not expressly provide for an ID-token exchange with the identity provider. AAPA provides for these limitations because Applicant admits it was conventional for the Domain A authenticator to use the authorization code to obtain a unique ID token from the Keycloak IdP with whom the user's credentials were authenticated (specification, description of Figure 2A, steps S211-S219).
Claim 6 further recites "performing, by the identity provider, a location update using the first hashID on the first domain attribute database." The Huang/Agarwal system provides for this limitation because Huang discloses the identity-server side causing the device to gather and send its current geolocation data again and generating a second data structure (Huang, Summary (13)-(14); Description (65)); in the combined system this updates the stored location value, and the hash re-computed from it per Agarwal, in the user's profile record at the attribute database (Agarwal, [0050], [0023]).
Claim 6 further recites "performing, by the first domain attribute database, a lookup of the one or more stored user attributes using the [attributes] from the ID token" and "returning, by the first domain attribute database, the one or more stored user attributes to the authenticator for the first domain." AAPA provides for these limitations because Applicant admits it was conventional for the authenticator to perform a lookup using attributes from the ID token to match with the attributes in the attribute database, thereby identifying the user and matching a local user ID (specification, description of Figure 2A, steps S221-S223); Huang further provides for returning the data structure containing the user-associated information to the application (Huang, claim 1, elements (ii)-(iii)).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the Huang/Agarwal system to include AAPA's authorization-code and ID-token exchange with attribute lookup because that exchange supplies a path to authenticate the user when the location-based hash comparison fails. The Huang/Agarwal system already provides for denying authentication when the presented credential matches no candidate value (Agarwal, [0024], [0076]) and for re-gathering the device's current geolocation when the prior verification is no longer valid (Huang, Summary (13)-(14)). AAPA provides for the authenticator obtaining an ID token from the identity provider with whom the user previously authenticated and performing the attribute lookup using attributes from that token (specification, description of Figure 2A, steps S211-S223). Applying AAPA's feature to the Huang/Agarwal system would allow a legitimate user whose stored location record is out of date to be authenticated through the admitted conventional lookup rather than denied, while the re-gathering of the current geolocation restores the stored record for subsequent verifications. Thus, the combination provides for the limitations of claim 6.
Regarding claim 7, claim 7 depends from claim 6 and further recites "receiving, by the first domain attribute database from the federated identity provider, an updated value of the location-dependent parameter for the user device." The Huang/Agarwal/AAPA system provides for this limitation because Huang discloses the identity server sending the geolocation data request and the updated geolocation data being gathered and sent to the identity-server side, where the second data structure is generated (Huang, Summary (13)-(14); Description (64)-(65)); in the combined system the attribute database thereby receives the updated value from the identity-provider side.
Claim 12 is rejected under 35 U.S.C. 103 as being unpatentable over Huang in view of Agarwal as applied to claim 1 above, and further in view of Yang.
Regarding claim 12, claim 12 depends from claim 1 and further recites "wherein the value of the location-dependent parameter is propagated to the first domain attribute database via a network hosting a distributed ledger." The Huang/Agarwal system does not expressly provide for propagating the value via a network hosting a distributed ledger.
Yang provides for propagating attribute values to entity databases via a block-chain network because Yang discloses an identity management system with an identity provider, a user, and a service provider, in which the identity provider creates attribute tokens carrying the attribute content in a value field and stores them on the block chain through the Attribute Repository Contract (Yang, attribute token creation, Steps S1 and S3-S4: "attribute token type field, value field, hash field is function input"; "stores the mapping of the attribute token identifier to the attribute token into the ARC contract and issues a token creation event"; Yang, claim 2, the attribute warehouse contract "used for storing attribute token"); entity local clients monitor the chain events, receive the token information, and store it in their local database modules (Yang, hidden token creation, Steps sb8-sb11; claim 3, "the database module allows the identity provider to store the related information of the attribute token ... the user will also store the received relevant information ... to the local database"); and the service provider queries the attribute content from the ARC contract (Yang, identity information authentication, Step sc1). Yang describes the block chain as distributed database technology in which "any person can manage the distributed account book," with the consensus mechanism ensuring "the correctness and consistency of the transaction operation result" and avoiding problems of centralized databases such as "single point fault" (Yang, Background). Yang is reasonably pertinent to the problem addressed by the claimed invention: distributing identity attribute values to relying entities without a centralized channel while keeping the association between the attribute and the user private (Yang, Contents of the Invention).
Yang is relied upon only for its technique of propagating attribute values to entity databases over a block-chain network. Yang does not provide for computing a location-derived identifier or for the location-based authentication environment recited in the claims. The Huang/Agarwal combination set forth for claim 1 provides the claim-specific environment and the location value being propagated, while Yang provides the general distributed-ledger propagation technique.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the Huang/Agarwal system to include Yang's propagation of attribute values over a block-chain network because the consensus mechanism of that network ensures the correctness and consistency of the propagated value and eliminates the single point of failure of a centralized update channel (Yang, Background). The Huang/Agarwal system already provides for the location value being received and stored for the user at the attribute database and used to compute the verifying hash value (Huang, Description (60); Agarwal, [0023], [0050]). Yang provides for writing an attribute value into a contract on the block chain and for entity local clients to monitor the resulting event and store the received value in their local database modules (Yang, attribute token creation, Steps S1 and S3-S4; hidden token creation, Steps sb8-sb11). Applying Yang's feature to the Huang/Agarwal system would deliver the same location value to each domain's attribute database over the ledger network. Thus, the combination provides for the limitations of claim 12.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ZAIN J AHMED whose telephone number is (571)270-0251. The examiner can normally be reached 8am - 4pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Jeffrey L Nickerson can be reached at (469) 295-9235. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Jeffrey Nickerson/Supervisory Patent Examiner, Art Unit 2432