×

Distributed password verification

  • US 9,628,472 B1
  • Filed: 11/07/2016
  • Issued: 04/18/2017
  • Est. Priority Date: 12/22/2015
  • Status: Expired due to Fees
First Claim
Patent Images

1. A computer system for distributed password verification to prevent unauthorized access to an account, the computer program product comprising:

  • a processor set; and

    a computer readable storage medium;

    wherein;

    the processor set is structured, located, connected, and/or programmed to execute instructions stored on the computer readable storage medium; and

    the instructions include;

    first instructions executable by a device to cause the device to receive, from a client, a first set of client identifiers for the client, wherein the first set of client identifiers includes;

    a first username for the client,a first hashed password for the client, anda first hashed server identifier;

    second instructions executable by a device to cause the device to create an account for the client based on the username for the client;

    third instructions executable by a device to cause the device to create a first token on a first server based on;

    an encryption key,a device identifier for a device used by the client, andthe first set of client identifiers for the client;

    fourth instructions executable by a device to cause the device to transmit the first token from the first server to the client;

    fifth instructions executable by a device to cause the device to add, to a honeychecker registry on a second server, the username for the client, wherein the honeychecker registry is a list of valid usernames;

    sixth instructions executable by a device to cause the device to delete the first token from the first server;

    seventh instructions executable by a device to cause the device to delete the first set of client identifiers from the first server;

    eighth instructions executable by a device to cause the device to receive, on the first server, a second token, wherein;

    the second token is encrypted, andthe second token is equivalent to the first token;

    ninth instructions executable by a device to cause the device to receive, on the first server, a second set of client identifiers for the client, wherein the second set of client identifiers includes;

    a second username,a second hashed password, anda second hashed server identifier;

    tenth instructions executable by a device to cause the device to decrypt the second token using a decryption key to reveal the first set of client identifiers;

    eleventh instructions executable by a device to cause the device to verify the second token with a comparison of;

    the second hashed server identifier, andthe first hashed server identifier in the second token;

    twelfth instructions executable by a device to cause the device to validate an identity of the client with a comparison of;

    the second hashed password, andthe first hashed password for the client in the second token;

    thirteenth instructions executable by a device to cause the device to log the second username to an authentication log;

    fourteenth instructions executable by a device to cause the device to determine that the second username does not appear in the honeychecker registry;

    fifteenth instructions executable by a device to cause the device to, responsive to fourteenth instructions to determine that the second username does not appear in the honeychecker registry, deny, to the client, access to the account to prevent an unauthorized access;

    sixteenth instructions executable by a device to cause the device to, responsive to fourteenth instructions to determine that the second username does not appear in the honeychecker registry, lock the account to prevent a future unauthorized access;

    seventeenth instructions executable by a device to cause the device to, responsive to fourteenth instructions to determine that the second username does not appear in the honeychecker registry, determine the first server is compromised; and

    eighteenth instructions executable by a device to cause the device to, responsive to fourteenth instructions to determine the first server is compromised, transmit an alert to the client that the first server is compromised.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×