IP Library Granted Patent US 10,621,337
Granted Patent B1
US 10,621,337 · App. 15/787,104 · Granted Apr 14, 2020

Application-to-application device ID sharing

Inventors: Adi Sharabani (Palo Alto, CA); Yair Amit (Tel-Aviv, IL); Daniel Kandel (Tel-Aviv, IL)
Assignee: CA, Inc.
G06F21/53G06F21/121G06F21/62H04W4/02G06F16/00G06F2221/2113
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,621,337
App. No.
15/787,104
Granted
Apr 14, 2020
Kind
B1
Abstract

Systems and methods are provided for sharing a device identifier between two applications installed on an unmanaged device. An enterprise application running on a device may execute client-side code received from an ID matching server to generate a target data set characterizing the device. The enterprise application may send the target data set to the ID matching server. The ID matching server may interact with a Mobile Threat Defense (MTD) server to determine a device ID that the MTD server may use to identify the device. The ID matching server may send the device identifier to an Identity Management (IdM) server. The IdM server may send an API request for security information about the target device to the MTD server, which may send the requested security information in response. The IdM server may determine an authorization level based on the security information.

Claims (76)

1. A method for operating a device-ID matching system, the method comprising:

receiving, via a network from a first server, a message that includes a user identifier and a target data set collected by an enterprise application running on a target computing device, wherein the target data set characterizes the target computing device;

determining a device identifier associated with the target computing device based on the user identifier and the target data set, wherein determining the device identifier includes:

identifying a plurality of candidate devices associated with the user identifier, wherein the plurality of candidate devices includes the target computing device; and

for each candidate device in the plurality of candidate devices:

sending, via the network to an instance of a client-side Mobile Threat Defense (MTD) application running locally on the candidate device, a request for a candidate data set characterizing the candidate device; and

receiving, via the network from the candidate device in response to the request for the candidate data set, the requested candidate data set;

sending the device identifier to the first server via the network in response to the message;

receiving, from a second server via the network, a request for one or more security values associated with the target computing device, wherein the request includes the device identifier;

determining the one or more security values based on a device profile associated with the device identifier; and

sending the one or more security values to the second server via the network in response to the request.

2. The method of claim 1 , wherein determining the device identifier associated with the target computing device further comprises:

comparing the candidate data sets received from the candidate devices to the target data set to determine which of the candidate devices is the target computing device; and

determining the device identifier from a device profile associated with the target computing device.

3. The method of claim 2 , wherein comparing the candidate data sets received from the candidate devices to the target data set to determine which of the candidate devices is the target computing device comprises:

comparing a set of properties in a first candidate data set to a target set of properties in the target data set; and

upon determining the set of properties in the first candidate data set matches the target set of properties, identifying the candidate device from which the first candidate data set was received as the target computing device.

4. The method of claim 2 , wherein comparing the candidate data sets received from the candidate devices to the target data set to determine which of the candidate devices is the target computing device comprises:

comparing a first sensor datum in a first candidate data set to a second sensor datum in the target data set; and

upon determining that a difference between the first sensor datum and the second sensor datum does not exceed a predefined threshold value, identifying the candidate device from which the first candidate data set was received as the target computing device.

5. The method of claim 1 , wherein determining the device identifier associated with the target computing device further comprises:

comparing the candidate data sets to the target data set to determine which of the respective candidate devices is the target computing device;

determining, based on the comparison, that more than one of the candidate data sets matches the target data set; and

sending a notification to the first server indicating that the device identifier could not be determined based on the target data set.

6. The method of claim 1 , wherein the target data set includes at least one of: an Internet Protocol (IP) address, a central processing unit (CPU) class, a model number, a serial number, a screen size, or a screen resolution of the target computing device.

7. A non-transitory computer-readable storage medium containing instructions that, when executed by one or more processors, perform an operation for operating a device-ID matching system, the operation comprising:

receiving, via a network from a first server, a message that includes a user identifier and a target data set collected by an enterprise application running on a target computing device, wherein the target data set characterizes the target computing device;

determining a device identifier associated with the target computing device based on the user identifier and the target data set, wherein determining the device identifier includes:

identifying a plurality of candidate devices associated with the user identifier, wherein the plurality of candidate devices includes the target computing device; and

for each candidate device in the plurality of candidate devices:

sending, via the network to an instance of a client-side Mobile Threat Defense (MTD) application running locally on the candidate device, a request for a candidate data set characterizing the candidate device; and

receiving, via the network from the candidate device in response to the request for the candidate data set, the requested candidate data set;

sending the device identifier to the first server via the network in response to the message;

receiving, from a second server via the network, a request for one or more security values associated with the target computing device, wherein the request includes the device identifier;

determining the one or more security values based a device profile associated with the device identifier; and

sending the one or more security values to the second server via the network in response to the request.

8. The non-transitory computer-readable storage medium of claim 7 , wherein determining the device identifier associated with the target computing device further comprises:

comparing the candidate data sets received from the candidate devices to the target data set to determine which of the candidate devices is the target computing device; and

determining the device identifier from a device profile associated with the target computing device.

9. The non-transitory computer-readable storage medium of claim 8 , wherein comparing the candidate data sets received from the candidate devices to the target data set to determine which of the candidate devices is the target computing device comprises:

comparing a set of properties in a first candidate data set to a target set of properties in the target data set; and

upon determining the set of properties in the first candidate data set matches the target set of properties, identifying the candidate device from which the first candidate data set was received as the target computing device.

10. The non-transitory computer-readable storage medium of claim 8 , wherein comparing the candidate data sets received from the candidate devices to the target data set to determine which of the candidate devices is the target computing device comprises:

comparing a first sensor datum in a first candidate data set to a second sensor datum in the target data set; and

upon determining that a difference between the first sensor datum and the second sensor datum does not exceed a predefined threshold value, identifying the candidate device from which the first candidate data set was received as the target computing device.

11. The non-transitory computer-readable storage medium of claim 7 , wherein determining the device identifier associated with the target computing device further comprises:

comparing the candidate data sets to the target data set to determine which of the respective candidate devices is the target computing device;

determining, based on the comparison, that more than one of the candidate data sets matches the target data set; and

sending a notification to the first server indicating that the device identifier could not be determined based on the target data set.

12. The non-transitory computer-readable storage medium of claim 7 , wherein the target data set includes at least one of: an Internet Protocol (IP) address, a central processing unit (CPU) class, a model number, a serial number, a screen size, or a screen resolution of the target computing device.

13. A system comprising:

one or more processors; and

a memory storing one or more applications that, when executed on the one or more processors, perform an operation for operating a device-ID matching system, the operation comprising:

receiving, via a network from a first server, a message that includes a user identifier and a target data set collected by an enterprise application running on a target computing device, wherein the target data set characterizes the target computing device;

determining a device identifier associated with the target computing device based on the user identifier and the target data set, wherein determining the device identifier includes:

identifying a plurality of candidate devices associated with the user identifier, wherein the plurality of candidate devices includes the target computing device; and

for each candidate device in the plurality of candidate devices:

sending, via the network to an instance of a client-side Mobile Threat Defense (MTD) application running locally on the candidate device, a request for a candidate data set characterizing the candidate device; and

receiving, via the network from the candidate device in response to the request for the candidate data set, the requested candidate data set;

sending the device identifier to the first server via the network in response to the message;

receiving, from a second server via the network, a request for one or more security values associated with the target computing device, wherein the request includes the device identifier;

determining the one or more security values based a device profile associated with the device identifier; and

sending the one or more security values to the second server via the network in response to the request.

14. The system of claim 13 , wherein determining the device identifier associated with the target computing device further comprises:

comparing the candidate data sets received from the candidate devices to the target data set to determine which of the candidate devices is the target computing device; and

determining the device identifier from a device profile associated with the target computing device.

15. The system of claim 14 , wherein comparing the candidate data sets received from the candidate devices to the target data set to determine which of the candidate devices is the target computing device comprises:

comparing a set of properties in a first candidate data set to a target set of properties in the target data set; and

upon determining the set of properties in the first candidate data set matches the target set of properties, identifying the candidate device from which the first candidate data set was received as the target computing device.

16. The system of claim 14 , wherein comparing the candidate data sets received from the candidate devices to the target data set to determine which of the candidate devices is the target computing device comprises:

comparing a first sensor datum in a first candidate data set to a second sensor datum in the target data set; and

upon determining that a difference between the first sensor datum and the second sensor datum does not exceed a predefined threshold value, identifying the candidate device from which the first candidate data set was received as the target computing device.

17. The system of claim 13 , wherein determining the device identifier associated with the target computing device further comprises:

comparing the candidate data sets to the target data set to determine which of the respective candidate devices is the target computing device;

determining, based on the comparison, that more than one of the candidate data sets matches the target data set; and

sending a notification to the first server indicating that the device identifier could not be determined based on the target data set.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
MERGER Recorded Apr 17, 2018
From: SKYCURE LTD
To: SYMANTEC SECURITY (ISRAEL) LTD
Reel/Frame 045563/0605 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2018
From: SYMANTEC SECURITY (ISRAEL) LTD
To: SYMANTEC CORPORATION
Reel/Frame 045564/0244 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2017
From: SHARABANI, ADI; AMIT, YAIR; KANDEL, DANIEL
To: SYMANTEC CORPORATION
Reel/Frame 043894/0929 →
Continuity (1)
Provisional Application 62409461 · Oct 18, 2016