IP Library › Granted Patent US 10,873,641
Granted Patent B2
US 10,873,641 · App. 16/449,899 · Granted Dec 22, 2020

Systems and methods for recognizing a device

Inventors: Glenn S. Benson (Newton, MA); Paul Marsolan (Santa Monica, CA); Christopher Guenther Moos (Scottsdale, AZ)
Assignee: INAUTH, INC.
H04L67/22H04L63/08H04L63/102H04L67/303
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,873,641
App. No.
16/449,899
Granted
Dec 22, 2020
Kind
B2
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.

Claims (64)

1. A method for identifying a device seeking communication with a server, the method comprising the steps of:

receiving at the server, from the device, device data comprising a plurality of device attributes;

determining by analyzing the device attributes that (i) the device is not classified as a risky device, and that (ii) the plurality of device attributes comprises a key attribute comprising a public key for the device, and a set of other device attributes;

querying a database with the public key;

when the database contains the public key:

accessing from the database a record that corresponds to the public key and comprises a device identifier (DID); and

providing the DID in the record as an identifier of the device;

otherwise:

querying the database with the set of other device attributes;

when the database contains at least one device attribute from the set of other device attributes:

accessing from the database a record that corresponds to the at least one device attribute and comprises a device identifier (DID);

updating the record with the public key for the device;

providing the DID in the record as an identifier of the device;

otherwise:

creating a new DID and a new record comprising the new DID, the public key for the device, and the set of other device attributes;

storing the new record in the database; and

providing the new DID as the identifier of the device.

2. The method of claim 1 , wherein the accessed database record comprises a plurality of stored device attributes, the method further comprising:

comparing the set of other device attributes with the stored attributes;

determining that a first attribute from the set of other device attributes fails to match with a corresponding stored attribute; and

updating the corresponding stored attribute with the first attribute.

3. The method of claim 1 , wherein creating the new DID comprises generating the new DID using at least one of a random number generator or a pseudo-random number generator.

4. The method of claim 1 , wherein the new DID is generated independently of any of the plurality of device attributes.

5. The method of claim 1 , wherein a device attribute in the plurality of device attributes is based on at least one of: a phone number, a mobile equipment identifier, a parameter of an operating system installed on the device, a model number of the device, a serial number of the device, a device characteristic, a public key allocated to the device, or a public key installed on the device.

6. The method of claim 1 , wherein the receiving step comprises receiving the device data via a digitally signed message.

7. The method of claim 6 , wherein the message comprises: (i) an information object comprising the plurality of device attributes, (ii) a header object comprising an anti-replay header or an anti-tamper header, and (iii) an integrity object comprising a signature associated with the information object and the header object, the method further comprising:

validating the information object based on the digital signature.

8. The method of claim 7 , further comprising:

performing by the server at least one of: (i) an anti-replay check, or (ii) an anti-tamper check; and

validating the information object according to a result of at least one of: (i) the antireplay check, or (ii) the anti-tamper check.

9. A system for identifying a device seeking communication with a server, the system comprising:

a first processor; and

a first memory in electrical communication with the first processor, the first memory comprising instructions which, when executed by a processing unit included in the server and comprising at least one of the first processor or a second processor, and in electronic communication with a memory module comprising at least one of the first memory or a second memory, program the processing unit to:

receive from the device, device data comprising a plurality of device attributes;

determine by analyzing the device attributes that (i) the device is not classified as a risky device, and that (ii) the plurality of device attributes comprises a key attribute comprising a public key for the device, and a set of other device attributes;

query a database with the public key;

when the database contains the public key:

access from the database a record that corresponds to the public key and comprises a device identifier (DID); and

provide the DID in the record as an identifier of the device;

otherwise:

query the database with the set of other device attributes;

when the database contains at least one device attribute from the set of other device attributes:

access from the database a record that corresponds to the at least one device attribute and comprises a device identifier (DID);

update the record with the public key for the device;

provide the DID in the record as an identifier of the device;

otherwise:

create a new DID and a new record comprising the new DID, the public key for the device, and the set of other device attributes;

store the new record in the database; and

provide the new DID as the identifier of the device.

10. The system of claim 9 , wherein:

the accessed database record comprises a plurality of stored device attributes; and the instructions further program the processing unit to:

compare the set of other device attributes with the stored attributes;

determine that a first attribute from the set of other device attributes fails to match with a corresponding stored attribute; and

update the corresponding stored attribute with the first attribute.

11. The system of claim 9 , wherein to create the new DID, the instructions program the processing unit to generate the new DID using at least one of a random number generator or a pseudo-random number generator.

12. The system of claim 9 , wherein the instructions program the processing unit to generate the new DID independently of any of the plurality of device attributes.

13. The system of claim 9 , wherein a device attribute in the plurality of device attributes is based on at least one of: a phone number, a mobile equipment identifier, a parameter of an operating system installed on the device, a model number of the device, a serial number of the device, a device characteristic, a public key allocated to the device, or a public key installed on the device.

14. The system of claim 9 , wherein a digitally signed message comprises the device data being received.

15. The system of claim 14 , wherein:

the message comprises: (i) an information object comprising the plurality of device attributes, (ii) a header object comprising an anti-replay header or an anti-tamper header, and (iii) an integrity object comprising a signature associated with the information object and the header object; and

the instructions further program the processing unit to validate the information object based on the digital signature.

16. The system of claim 15 , wherein the instructions further program the processing unit to:

perform least one of: (i) an anti-replay check, or (ii) an anti-tamper check; and

validate the information object according to a result of at least one of: (i) the anti-replay check, or (ii) the anti-tamper check.

Assignments (3)
SECURITY INTEREST Recorded May 1, 2024
From: ACCERTIFY, INC.
To: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 067278/0512 →
MERGER AND CHANGE OF NAME Recorded May 12, 2021
From: INAUTH, INC.; ACCERTIFY, INC.
To: ACCERTIFY, INC.
Reel/Frame 056219/0932 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2020
From: BENSON, GLENN S.; MARSOLAN, PAUL; MOOS, CHRIS G.
To: INAUTH, INC.
Reel/Frame 052346/0830 →
Continuity (2)
Continuation 15053362 · Feb 25, 2016
Related Publication 20190312942A1 · Oct 10, 2019
Cited By (1)
US 12,602,485