Cryptographic security functions based on anticipated changes in dynamic minutiae
First Claim
1. A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a system to perform operations comprising:
- selecting a combination of minutia from a plurality of dynamically changing minutia comprising hardware minutia, firmware minutia, software minutia, geo-location data, calling app data, user secrets, or biometric information;
for a particular device, sending a challenge to the particular device, wherein;
the challenge includes information from which the particular device can collect actual values of minutia corresponding to the selected combination of minutia chosen from the plurality of dynamically changing minutia;
user customization of the particular device results in user-specific values for the collected actual values of minutia; and
based on the challenge and the collected actual values, the particular device can compute an actual response to the challenge;
pre-processing a set of responses to the challenge based on anticipating changes to the plurality of dynamically changing minutia from which the selected combination of minutia is chosen, wherein;
the set of pre-processed responses covers a range of all actual responses possible to be received from the particular device, whether or not an anticipated change has occurred to one or more of the collected actual values, when the combination of the particular device with collected actual values of minutia is valid; and
the set of pre-processed responses comprises information from known updates such that a pre-processed response that matches the actual response detects presence or absence of anticipated changes in the collected actual values;
comparing the actual response from the particular device to the set of pre-processed responses;
validating the combination of the particular device with the collected actual values when the actual response is included in the set of pre-processed responses for the particular device; and
differentiating the particular device from other devices based on the actual response due to the actual response depending on the user-specific values.
1 Assignment
0 Petitions
Accused Products
Abstract
Dynamic key cryptography validates mobile device users to cloud services by uniquely identifying the user'"'"'s electronic device using a very wide range of hardware, firmware, and software minutiae, user secrets, and user biometric values found in or collected by the device. Processes for uniquely identifying and validating the device include: selecting a subset of minutia from a plurality of minutia types; computing a challenge from which the user device can form a response based on the selected combination of minutia; computing a set of pre-processed responses that covers a range of all actual responses possible to be received from the device if the combination of the particular device with the device'"'"'s collected actual values of minutia is valid; receiving an actual response to the challenge from the device; determining whether the actual response matches any of the pre-processed responses; and providing validation, enabling authentication, data protection, and digital signatures.
-
Citations
20 Claims
-
1. A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a system to perform operations comprising:
-
selecting a combination of minutia from a plurality of dynamically changing minutia comprising hardware minutia, firmware minutia, software minutia, geo-location data, calling app data, user secrets, or biometric information; for a particular device, sending a challenge to the particular device, wherein; the challenge includes information from which the particular device can collect actual values of minutia corresponding to the selected combination of minutia chosen from the plurality of dynamically changing minutia; user customization of the particular device results in user-specific values for the collected actual values of minutia; and based on the challenge and the collected actual values, the particular device can compute an actual response to the challenge; pre-processing a set of responses to the challenge based on anticipating changes to the plurality of dynamically changing minutia from which the selected combination of minutia is chosen, wherein; the set of pre-processed responses covers a range of all actual responses possible to be received from the particular device, whether or not an anticipated change has occurred to one or more of the collected actual values, when the combination of the particular device with collected actual values of minutia is valid; and the set of pre-processed responses comprises information from known updates such that a pre-processed response that matches the actual response detects presence or absence of anticipated changes in the collected actual values; comparing the actual response from the particular device to the set of pre-processed responses; validating the combination of the particular device with the collected actual values when the actual response is included in the set of pre-processed responses for the particular device; and differentiating the particular device from other devices based on the actual response due to the actual response depending on the user-specific values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
selecting a varying combination of minutia from a plurality of dynamically changing minutia reflecting user personalization associated with a device, the dynamically changing minutia comprising hardware minutia, firmware minutia, software minutia, geo-location data, calling app data, user secrets, or biometric information; for the device, sending a challenge to the device, wherein; the challenge includes information from which the device can collect actual values of minutia corresponding to the selected combination of minutia chosen from the plurality of dynamically changing minutia, the collected actual values of minutia comprising user-specific values for the collected actual values of minutia due to user customization of the device; and from which the device can compute an actual response to the challenge based on the challenge and the collected actual values; pre-processing a set of responses to the challenge based on anticipating changes to the plurality of dynamically changing minutia from which the selected combination of minutia is chosen, wherein; the set of pre-processed responses covers a range of all actual responses possible to be received from the device when the combination of the device with collected actual values of minutia is valid; the set of pre-processed responses comprises information from known updates of the plurality of dynamically changing minutia such that a preprocessed response of the set of pre-processed responses that matches the actual response indicates presence or absence of changes in the collected actual values; and the set of pre-processed responses is used to differentiate the device from other devices based on user customization of the device due to the actual response depending on the user-specific values; comparing the actual response from the device to the set of pre-processed responses; and validating the combination of the device with the collected actual values when the actual response is included in the set of pre-processed responses for the device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system comprising a server configured to communicate with a device, wherein:
-
the server variably selects a combination of minutia from a plurality of dynamically changing minutia comprising hardware minutia, firmware minutia, software minutia, geo-location data, calling app data, user secrets, or biometric information; for the device, the server sends a challenge to the device, wherein; the challenge includes information from which the device can collect actual values of minutia corresponding to the selected combination of minutia chosen from the plurality of dynamically changing minutia; user customization of the device results in user-specific values for the collected actual values of minutia; and based on the challenge and the collected actual values, the device computes an actual response to the challenge; the server pre-processes a set of responses to the challenge based on anticipating changes to the plurality of dynamically changing minutia from which the selected combination of minutia is chosen, wherein; the set of pre-processed responses covers a range of all actual responses possible to be received from the device when the combination of the device with collected actual values of minutia is valid; and processing the set of pre-processed responses applies knowledge from tracking known updates so that changes in the collected actual values are detected from the actual response without the actual response carrying any information about the actual values; the server compares the actual response from the device to the set of pre-processed responses wherein the user customization of the device is used to differentiate the device from other devices based on the actual response due to the actual response depending on the user-specific values; and the server validates the combination of the device with the collected actual values when the actual response is included in the set of pre-processed responses for the device, wherein the actual response contains no information as to what are the collected actual values.
-
Specification