Behaviometric Signature Authentication System and Method
Abstract
The present invention discloses a method of verifying the authenticity of a provided signature, comprising the steps of: receiving a set of sampled data points, each sampled data point being associated with a different position along the signature; identifying a set of characterising nodes within the set of sampled data points using a set of predetermined characterising nodes comprised in a pre-stored user profile; determining if each identified characterising node lies within a predetermined threshold range of a corresponding predetermined characterising node; and generating a positive verification when the characterising nodes lie within the predetermined threshold range. A system arranged to carry out the method is also disclosed.
Claims
exact text as granted — not AI-modified1 - 49 . (canceled)
50 . A method of verifying the authenticity of a provided signature, the method comprising the steps of:
receiving a set of sampled data points, each sampled data point being associated with a different position along the signature; identifying a set of characterising nodes within the set of sampled data points using a set of predetermined characterising nodes comprised in a pre-stored user profile; determining if each identified characterising node lies within a predetermined threshold range of a corresponding predetermined characterising node; and generating a positive verification when the characterising nodes lie within the predetermined threshold range.
51 . The method of claim 50 , wherein each sampled data point comprises a time component represented by a time coordinate value, and the receiving step comprises for each sampled data point:
calculating a time interval between the sampled data point and an adjacently located sampled data point, by comparing the time coordinate values associated with respectively the sampled data point and the adjacently located sampled data point; determining if the time interval lies within a predetermined time interval threshold value; and interpolating the position and time coordinate of one or more further data points located between the sampled data point and the adjacently located sampled data point when the calculated time interval exceeds the predetermined time interval threshold value, the interpolated position being selected such that the time interval between the sampled data point and the interpolated time coordinate associated with the one or more further data points lies within the predetermined time interval threshold value.
52 . The method of claim 50 , wherein the receiving step comprises:
calculating a distance of separation between a sampled data point and an adjacently located sampled data point; determining if the distance of separation between the sampled data point and the adjacently located sampled data point lies within a predetermined distance interval threshold value; and interpolating the position of one or more further data points located between the sampled data point and the adjacently located sampled data point, when the calculated distance of separation exceeds the predetermined distance interval threshold value, such that the distance of separation between the sampled and the interpolated position associated with the one or more further data points lies within the predetermined distance interval threshold value.
53 . The method of claim 50 , wherein the identifying step comprises obtaining the set of predetermined characterising nodes comprised in the pre-stored user profile, and identifying the sampled data point which is most correlated with each predetermined characterising node from the set of sampled data points, using optimization matching.
54 . The method of claim 50 , wherein each sampled data point associated with a visible portion of the signature and each characterising node is represented by a vector comprising a time component and a spatial component, the spatial component being indicative of a relative position of the vector along the signature.
55 . The method of claim 53 , wherein the optimization matching comprises:
selecting a first predetermined characterising node from the set of predetermined characterising nodes; calculating a vector dot product value between the selected first predetermined characterising node and each sampled data point comprised within the set of sampled data points; identifying the sampled data point associated with the largest vector dot product value as the data point that is most correlated with the first predetermined characterising node, and designating the sampled data point as a characterising node comprised within the set of identified characterising nodes; and repeating the previous steps for each predetermined characterising node.
56 . The method of claim 55 , wherein the most correlated sampled data point is the data point which is oriented in substantially the same direction as the predetermined characterising node, such that an angle of divergence θ j between the two vectors associated with respectively the predetermined characterising node and the sampled data point is minimised.
57 . The method of claim 56 , wherein the optimization matching comprises using a matching function M j to identify the sampled data point which is most correlated with the predetermined characterising node, the matching function being a function of three differentiable functions F(θ j ), G(d j ,d j+1 ), and Q(r j *d j ), where the following definitions apply:
θ j is the angle formed between the vector associated with the predetermined characterising node and the vector associated with the sampled data point;
r j is the scalar component of the vector associated with the predetermined characterising node;
d j is the scalar component of the vector associated with the sampled data point;
d j+1 is the scalar component of the vector associated with an adjacent sampled data point;
F(θ j ) and G(d j ,d j+1 ) are positive and have an upper positive value; and
Q(r j *d j ) is a convex function selected such that whilst it is monotonically increasing, its derivative monotonically decreases to zero.
58 . The method of claim 57 , wherein the matching function M j is proportional to the product of the functions F(θ j ), G(d j ,d j+1 ), and Q(r j *d j ), such that
M j =F (θ j )* G ( d j ,d j+1 )* Q ( r j *d j ).
59 . The method of claim 50 , further comprising:
selecting a first one of the identified characterising nodes; calculating a geometric relationship of the selected first characterising node with respect to one or more adjacently located identified characterising nodes; the determining step comprises verifying if each calculated geometric relationship lies within a predetermined threshold value range comprised in the pre-stored user profile; and wherein a positive verification result is generated when one or more calculated geometric relationships lie within the predetermined threshold value range.
60 . The method of claim 59 , wherein the geometric relationship is calculated between the identified characterising node and each one of two adjacent, sequentially-located identified characterising nodes, in order to define two different geometric relationships associated with the identified characterising node.
61 . The method of claim 59 , wherein the geometric relationship is calculated between the identified characterising node and each one of seven adjacent, sequentially-located identified characterising nodes, in order to define seven different geometric relationships associated with the identified characterising node.
62 . The method of claim 59 , wherein the number of identified characterising nodes m is less than or equal to half the number of sampled data points n:
m
≤
m
2
63 . The method of claim 59 , wherein the number of identified characterising nodes m is less than or equal to a quarter the number of sampled data points n:
m
≤
m
4
64 . The method of claim 50 , comprising:
sampling the provided signature with a variable sampling rate, such that at least a portion of the sampled data points comprised in the set of received sampled data points are associated with different sampling rates.
65 . The method of claim 64 , wherein the method comprises:
generating a hash value on the basis of the set of sampled data points; comparing the generated hash value with a set of pre-stored hash values to determine if the generated hash value is unique; and wherein a positive verification result is generated when the generated hash value is unique.
66 . The method of claim 64 , wherein the sampling step comprises normalising the provided signature.
67 . The method of claim 50 , wherein the method comprises:
calculating a lapsed time interval between each identified node; determining if the calculated time lapse value lies within a predetermined threshold value range comprised in the pre-stored user profile; and generating the positive verification result when the calculated time lapse value lies within the predetermined threshold value range.
68 . The method of claim 50 , wherein the method comprises:
calculating a velocity vector for each identified characterising node, using spatial coordinates and a temporal coordinate associated with each characterising node; determining if each calculated velocity vector lies within a predetermined threshold value range comprised in the pre-stored user profile; and generating the positive verification result when the calculated velocity vectors lie within the predetermined threshold value range.
69 . The method of claim 50 , wherein the method comprises:
calculating an acceleration vector for each identified characterising node, using spatial coordinates and a temporal coordinate associated with each characterising node; determining if each calculated acceleration vector lies within a predetermined threshold value range comprised in the pre-stored user profile; and generating the positive verification result when the calculated acceleration vectors lie within the predetermined threshold value range.
70 . The method of claim 50 , comprising:
calculating first order and second order derivatives associated with line segments present between adjacent sampled data points comprised in the set of sampled data points; defining a geometrical complexity rating of the provided signature on the basis of the calculated first and second order derivatives; and rejecting the received signature when the defined geometrical complexity rating is below a minimum predetermined required geometrical complexity rating threshold.
71 . The method of claim 50 , comprising:
maintaining a record of characterising node values that resulted in positive verification results, the characterising node values being associated with a plurality of different received sets of sampled data points associated with different copies of the same signature; calculating a statistical variance between the characterising node values and the corresponding predetermined characterising nodes for each different provided copy of the same signature; and amending the predetermined threshold value range of the corresponding predetermined characterising node to be consistent with the calculated statistical variance.
72 . The method of claim 71 , wherein the statistical variance is calculated using the characterising node values that resulted in positive verification results associated with different copies of the same signature provided over the course of a time period.
73 . The method of claim 50 , used to authorise a transaction between two remotely located entities.
74 . A system for verifying the authenticity of a provided signature, the system comprising:
an input device arranged to receive a set of sampled data points, each sampled data point being associated with a different position along the signature; a processor arranged to:
identify a set of characterising nodes within the set of sampled data points using a set of predetermined characterising nodes comprised in a pre-stored user profile;
determine if each identified characterising node lies within a predetermined threshold value range of a corresponding predetermined characterising node; and
generate a positive verification result when the characterising nodes lie within the predetermined threshold value range.
75 . The system of claim 74 , wherein the processor is arranged to obtain the set of predetermined characterising nodes comprised in the pre-stored user profile, and identify the sampled data point which is most correlated with each predetermined characterising node from the set of sampled data points, using optimization matching.
76 . The system of claim 75 , wherein the processor is arranged to execute the following optimization matching steps:
select a first predetermined characterising node from the set of predetermined characterising nodes; calculate a vector dot product value between the selected first predetermined characterising node and each sampled data point comprised within the set of sampled data points; identify the sampled data point associated with the largest vector dot product value as the data point that is most correlated with the first predetermined characterising node and designating the sampled data point as a characterising node comprised within the set of identified characterising nodes; and repeat the previous steps for each predetermined characterising node.
77 . The system of claim 76 , wherein the processor is arranged to identify the most correlated sampled data point as the data point which is oriented in substantially the same direction as the predetermined characterising node, such that an angle of divergence θ j between the two vectors associated with respectively the characterising node and the sampled data point is minimised.
78 . The system of claim 77 , wherein the processor is arranged to use a matching function M j to identify the sampled data point which is most correlated with the predetermined characterising node, the matching function being a function of three differentiable functions F(θ j ), G(d j ,d j+1 ), and Q(r j *d j ), where the following definitions apply:
θ j is the angle formed between the vector associated with the predetermined characterising node and the vector associated with the sampled data point;
r j is the scalar component of the vector associated with the predetermined characterising node;
d j is the scalar component of the vector associated with the sampled data point;
d j+1 is the scalar component of the vector associated with an adjacent sampled data point;
F(θ j ) and G(d j ,d j+1 ) are positive and have an upper positive value; and
Q(r j *d j ) is a convex function selected such that whilst it is monotonically increasing, its derivative monotonically decreases to zero.
79 . The system of claim 78 , wherein the matching function M j that the processor is arranged to use is proportional to the product of the functions F(θ j ), G(d j ,d j+1 ), and Q(r j *d j ), such that
M j =F (θ j )* G ( d j ,d j+1 )* Q ( r j *d j ).
80 . The system of claim 74 , comprising an interpolator operatively coupled to the input, and arranged to interpolate one or more data points.
81 . The system of claim 80 , wherein the receiver is arranged to calculate a time interval between a sampled data point and an adjacently located sampled data point, by comparing a time coordinate value associated with respectively the sampled data point and the adjacently located sampled data point, and determine if the time interval lies within a predetermined time interval threshold value; and
the interpolator is arranged to interpolate the position and time coordinate of one or more further data points located between the sampled data point and the adjacently located sampled data point when the calculated time interval exceeds the predetermined time interval threshold value, the interpolator being arranged to interpolate the interpolated position such that the time interval between the sampled data point and the interpolated time coordinate associated with the one or more further data points lies within the predetermined time interval threshold value.
82 . The system claim 80 , wherein the input is arranged to calculate a distance of separation between a sampled data point and an adjacently located sampled data point, determine if the distance of separation between the sampled data point and the adjacently located sampled data point lies within a predetermined distance interval threshold value; and
the interpolator is arranged to interpolate the position of one or more further data points located between the sampled data point and the adjacently located sampled data point, when the calculated distance of separation exceeds the predetermined distance interval threshold value, such that the distance of separation between the sampled and the interpolated position associated with the one or more further data points lies within the predetermined distance interval threshold value.
83 . The system of claim 74 , wherein the verification device is arranged to select a first one of the identified characterising nodes, calculate a geometric relationship of the selected first characterising node with respect to one or more adjacently located identified characterising nodes, determine if each calculated geometric relationship lies within a predetermined threshold value range comprised in the pre-stored user profile, and generate a positive verification result when one or more calculated geometric relationships lie within the predetermined threshold value range.
84 . The system of claim 74 , comprising:
a sampling device operatively coupled to the input, the sampling device being arranged to sample the provided signature with a variable sampling rate, such that at least a portion of the sampled data points comprised in the set of sampled data points received by the receiver are associated with different sampling rates.
85 . The system of claim 84 , wherein the sampling device is arranged to generate a hash value on the basis of the set of sampled data points;
the processor is arranged to compare the generated hash value with a set of pre-stored hash values to determine if the generated hash value is unique, and generate a positive verification result when the generated hash value is unique.
86 . The system of claim 84 , wherein the sampling device is arranged to normalise the provided signature.
87 . The system of any claim 74 , wherein the input and the processor are comprised in separate devices.
88 . The system of claim 87 , wherein the processor is comprised in a server located remotely to the input, and the server is operatively coupled to the input via a communication channel.
89 . The system of claim 88 , wherein the input comprises a touch-pad arranged to receive a signature.
90 . The system of claim 88 , wherein the input comprises a mobile telephone provided with a touch-sensitive screen.
91 . The system of claim 88 , wherein the input comprises a personal computer.
92 . The system of claim 88 , wherein the input comprises a tablet computer.
93 . The system of claim 74 , wherein the system is used to control access to a secure resource.
94 . The system of claim 93 , wherein the secure resource is a bank account.
95 . The system of claim 93 , wherein the secure resource is an automobile configured with a touch-pad arranged to receive the signature.
96 . The system of claim 74 , wherein the system is used to control a transaction between two remotely located entities.
97 . The system of claim 96 , wherein the transaction is a financial transaction.
98 . The system of claim 96 , wherein the two remotely located entities comprise a payee and a recipient.
99 . The system of claim 96 , wherein the system is located on an intermediary device operatively coupled to the two remotely located entities.
100 . A mobile telephone arranged to carry out the method of claim 50 .
101 . A personal computer arranged to carry out the method of claim 50 .
102 . A tablet computer arranged to carry out the method of claim 50 .Join the waitlist — get patent alerts
Track US2015248567A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.