Partial pattern recognition in a stream of symbols
AssigneeMicrosoft Technology Licensing, LLC
InventorsAmer Aref Hassan, Wei-Chen Chen
Life of this patent
Estimating the term…
Abstract
Systems and methods may be used for providing more secure authentication attempts by implementing authentication systems with credentials that include interspersed noise symbols in positions selected, for example by a user. These systems and methods secure against eavesdroppers such as shoulder-surfers or man-in-the middle attacks as it is difficult for an eavesdropper to separate the noise symbols from legitimate credential symbols. Some systems and methods may use a subset of a credential with the interspersed noise symbols.
Claims20
A device for verifying a password entered, the device comprising:
- one or more hardware processors;
- a memory, storing instructions, which when executed, cause the one or more hardware processors to perform operations comprising:
- receiving a set of characters as part of an access request procedure to access an access-controlled resource;
- determining that no subset of the set of characters exactly matches a stored password;
- accessing a plurality of ordered vectors, each comprising an ordered subset of characters of the stored password, the plurality of ordered vectors each having a length less than a length of the stored password;
- creating a plurality of check vectors based on the received set of characters, the plurality of check vectors each having a length corresponding to a length of an ordered vector of the plurality of ordered vectors, wherein each vector of the plurality of check vectors comprises a different ordered combination of the received set of characters in a same order as characters in the received set of characters;
- determining a set of distances between each respective vector of the plurality of check vectors and each of the plurality of ordered vectors;
- selecting a vector of the set of check vectors corresponding to a smallest distance of the set of distances;
- and
- causing access to be granted to the access-controlled resource based on a comparison of a value corresponding to the selected vector and a threshold.
A method for verifying a password, the method comprising:
- receiving a set of characters as part of an access request procedure to access an access-controlled resource;
- determining that no subset of the set of characters exactly matches a stored password;
- accessing a plurality of ordered vectors, each comprising an ordered subset of characters of the stored password, the plurality of ordered vectors each having a length less than a length of the stored password;
- creating a plurality of check vectors based on the received set of characters, the plurality of check vectors each having a length corresponding to a length of an ordered vector of the plurality of ordered vectors, wherein each vector of the plurality of check vectors comprises a different ordered combination of the received set of characters in a same order as characters in the received set of characters;
- determining a set of distances between each respective vector of the plurality of check vectors and each of the plurality of ordered vectors;
- selecting a vector of the set of check vectors corresponding to a smallest distance of the set of distances;
- and
- causing access to be granted to the access-controlled resource based on a comparison of a value corresponding to the selected vector and a threshold.
A device for verifying a password entered, the device comprising:
- means for receiving a set of characters as part of an access request procedure to access an access-controlled resource;
- means for determining that no subset of the set of characters exactly matches a stored password;
- means for accessing a plurality of ordered vectors, each comprising an ordered sub set of characters of the stored password, the plurality of ordered vectors each having a length less than a length of the stored password;
- means for creating a plurality of check vectors based on the received set of characters, the plurality of check vectors each having a length corresponding to a length of an ordered vector of the plurality of ordered vectors, wherein each vector of the plurality of check vectors comprises a different ordered combination of the received set of characters in a same order as characters in the received set of characters;
- means for determining a set of distances between each respective vector of the plurality of check vectors and each of the plurality of ordered vectors;
- means for selecting a vector of the set of check vectors corresponding to a smallest distance of the set of distances;
- and
- means for causing access to be granted to the access-controlled resource based on a comparison of a value corresponding to the selected vector and a threshold.
Dependencies are inferred from the claim text.