Systems and methods for recognizing a device
AssigneeAccertify, Inc.
InventorsGlenn S. Benson, Paul Marsolan, Christopher Guenther Moos
Life of this patent
Estimating the term…
Abstract
A system for detecting whether a device seeking communication with a server is a returning device that previously communicated with the server includes a database that stores groups of device attributes based on observable device characteristics and unique identifiers. The database is generally not accessible to the devices. Each attribute group and the associated device identifier (DID) can uniquely identify a particular device, and the associated DID is generally not derivable from the attributes. The database may satisfy a uniqueness property so that each attribute value in the database may also uniquely identify a device.
Claims20
A method, comprising:
- receiving, by at least one computing device, device data from a client device, the device data comprising a plurality of device attributes;
- identifying, by the at least one computing device, a key attribute and a set of other device attributes in the plurality of device attributes in response to an analysis of the plurality of device attributes, the key attribute comprising a public key used to validate a digital signature of a secured object sent from the client device;
- querying, by the at least one computing device, a database using the key attribute and the set of other device attributes;
- determining, by the at least one computing device, that the database contains at least one of at least one device attribute from the set of other device attributes and fails to include the key attribute;
- accessing, by the at least one computing device, a record that corresponds to the at least one device attribute from the set of other device attributes and comprises a device identifier (DID);
- updating, by the at least one computing device, the record with the public key for the client device;
- and
- providing, by the at least one computing device, the DID in the record as an identifier of the client device.
A system, comprising:
- at least one computing device;
- at least one application executable on the at least one computing device, wherein, when executed, the at least one application causes the at least one computing device to at least:
- receive device data from a client device, the device data comprising a plurality of device attributes;
- identify a key attribute and a set of other device attributes in the plurality of device attributes in response to an analysis of the plurality of device attributes, the key attribute comprising a public key used to validate a digital signature of a secured object sent from the client device;
- query a database using the key attribute and the set of other device attributes;
- determine that the database fails to include the key attribute and at least one of the set of other device attributes;
- create a device identifier (DID) and a record comprising the DID, the public key, and the set of other device attributes;
- determine a confidence score associated a risk for the client device based at least in part on an analysis of the set of other device attributes;
- associate the confidence score with the DID;
- store the record in the database;
- and
- provide the DID as an identifier of the client device.
A non-transitory computer-readable medium embodying a program executable in at least one computing device, wherein when executed, the program causes the at least one computing device to at least:
- receive device data from a client device, the device data comprising a plurality of device attributes;
- extract a key attribute and a set of other device attributes in the plurality of device attributes, the key attribute comprising a public key used to validate a digital signature of a secured object sent from the client device;
- query a database using the key attribute and the set of other device attributes;
- determine whether the database contains at least one of at least one device attribute from the set of other device attributes or the key attribute;
- access a record that corresponds to the at least one device attribute from the set of other device attributes and comprises a device identifier (DID);
- update the record with the public key for the client device;
- provide the DID in the record as an identifier of the client device;
- create a new DID and a new record comprising the new DID, the public key, and the set of other device attributes;
- store the new record in the database;
- and
- provide the new DID as the identifier of the client device,
- wherein accessing the record, updating the record, and providing the DID are performed in response to determining that the database contains the at least one device attribute from the set of other device attributes and that the database fails to include the public key, and
- wherein creating the new DID and the new record, storing the new DID, and providing the new DID are performed in response to determining that the database fails to contain the public key and the at least one device attribute from the set of other device attributes.
Dependencies are inferred from the claim text.