Device authentication using touch interface

By entering the same path on the touch interface of the electronic device and comparing the path information, the problem of users' difficulty in determining the correct device is solved, safe and independent device authentication is achieved, and the risk of incorrect connection is reduced.

CN114730227BActive Publication Date: 2025-02-14INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202080080322.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-11-19
Filing Date
2020-11-16
Publication Date
2025-02-14
Estimated Expiration
2040-11-16

AI Technical Summary

Technical Problem

When wireless connections between electronic devices, it is difficult for users to determine which device is the right device, resulting in the risk of accidentally connecting to the wrong device. The prior art may be complex and requires memory passwords and does not provide independent authentication of another device.

Method used

The path information is compared to the device authentication based on the similarity by entering the same path on the touch interface of each electronic device and transmitting a portion of the path information to another device.

Benefits of technology

It enables device authentication without the need for complex passwords, allowing each device to perform authentication independently, reducing the risk of incorrect connections.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114730227B_ABST
    Figure CN114730227B_ABST
Patent Text Reader

Abstract

A method for authentication is provided. The method includes storing, by a first electronic device, first path information in a memory. The first path information includes data representing a first path of an input on a touch interface associated with the first electronic device. One or more first portions of the first path information are transmitted to a second electronic device. One or more second portions of the second path information are received from the second electronic device. The one or more second portions are compared to the first path information. The second electronic device is authenticated based on a similarity between the one or more second portions and the first path information. The method may allow separate authentication to be performed by each device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to authentication of electronic devices, and more particularly, to authentication of devices using a touch interface. Background Art

[0002] When making a wireless connection between electronic devices, a user may select a specific device from a list of nearby devices. It may be difficult for the user to determine which device is the correct device. This creates a risk of accidentally connecting to the wrong device. Existing techniques for preventing wrong connections may be cumbersome and require remembering passwords. Some existing techniques do not provide for two electronic devices to perform independent authentication of the other device. Therefore, there is a need in the art to solve the above problems. Summary of the invention

[0003] From a first aspect, the present invention provides a computer-implemented method, comprising: storing first path information in a memory by a first electronic device, the first path information comprising data representing a first path of input on a touch interface associated with the first electronic device; transmitting one or more first parts of the first path information to a second electronic device; receiving one or more second parts of the second path information from the second electronic device; comparing the one or more second parts with the first path information; and authenticating the second electronic device by the first electronic device based on the similarity between the one or more second parts and the first path information.

[0004] From another aspect, the present invention provides a system comprising: one or more processors; and a computer-readable storage medium communicatively coupled to the one or more processors, the computer-readable storage medium comprising program instructions executable by the one or more processors to enable the one or more processors to perform a method, the method comprising: storing first path information in a memory by a first electronic device, the first path information comprising data representing a first path of input on a touch interface associated with the first electronic device; transmitting one or more first parts of the first path information to a second electronic device; receiving one or more second parts of the second path information from the second electronic device; comparing the one or more second parts with the first path information; and authenticating the second electronic device by the first electronic device based on the similarity between the one or more second parts and the first path information.

[0005] From another aspect, the present invention provides a computer program product, comprising a computer-readable storage medium having a program code embodied therewith, the program code being executable by a processor to cause the processor to perform a method, the method comprising: storing, by a first electronic device, first path information in a memory, the first path information comprising data representing a first path of input on a touch interface associated with the first electronic device; transmitting one or more first parts of the first path information to a second electronic device; receiving one or more second parts of the second path information from the second electronic device; comparing the one or more second parts with the first path information; and authenticating, by the first electronic device, the second electronic device based on a similarity between the one or more second parts and the first path information.

[0006] Viewed from another aspect, the present invention provides a computer program product for authenticating a device using a touch interface, the computer program product comprising a computer-readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit to perform a method for performing the steps of the present invention.

[0007] From another aspect, the invention provides a computer program stored on a computer readable medium and loadable into the internal memory of a digital computer, comprising software code portions for executing the steps of the invention when the program is run on the computer.

[0008] According to an embodiment of the present disclosure, a method for authentication is provided. The method includes storing first path information in a memory by a first electronic device. The first path information includes data representing a first path of input on a touch interface associated with the first electronic device. One or more first parts of the first path information are transmitted to a second electronic device. One or more second parts of the second path information are received from the second electronic device. The one or more second parts are compared with the first path information. The second electronic device is authenticated based on the similarity between the one or more second parts and the first path information. The method can allow separate authentication to be performed by each device.

[0009] According to a further embodiment of the method, points in the first path are referenced by angles and relative distances calculated based on a set of reference points. This may allow comparison across devices with different touch interfaces.

[0010] According to another embodiment of the method, a total number of points in the second path information is received from a second electronic device. The total number of points in the second path information is compared to the total number of points in the first path information. A curve fitting algorithm is used to generate missing data points based on the difference between the total number of points in the second path information and the total number of points in the first path information. This can allow comparisons across devices with differences in touch interface accuracy.

[0011] According to further embodiments of the present disclosure, a system and a computer program product for executing the method are provided.

[0012] The above summary is not intended to describe each illustrated embodiment or every implementation of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] The accompanying drawings included in this application are incorporated into the specification and form a part of the specification. They show embodiments of the present disclosure and are used to explain the principles of the present disclosure together with the specification. The accompanying drawings only illustrate certain embodiments and do not limit the present disclosure.

[0014] Figure 1 Depicted is a block diagram of an example system for authenticating an electronic device using a touch interface in accordance with an embodiment.

[0015] Figure 2 Depicted is an example information flow diagram according to an embodiment.

[0016] Figure 3 Depicted is a flow chart of an example method for authenticating an electronic device in accordance with an embodiment.

[0017] Figure 4 Depicted is a flow chart of a second example method for authenticating an electronic device in accordance with an embodiment.

[0018] Figure 5 Depicted is an example information flow diagram for authenticating three electronic devices according to an embodiment.

[0019] Fig. 6A Depicted is a diagram of an example method for a user to enter a path on two devices, according to an embodiment.

[0020] Figure 6B An illustrative diagram depicting path inputs being compared across electronic devices in accordance with various embodiments.

[0021] Figure 7 Depicted is an example table for storing path information according to an embodiment.

[0022] Figure 8 Depicted are example path inputs according to an embodiment.

[0023] Fig. 9 is a high-level block diagram of an example computer system according to an embodiment.

[0024] The present invention may have various modifications and alternative forms, and its details are shown by way of example in the accompanying drawings and will be described in detail. However, it is to be understood that its purpose is not to limit the present invention to the specific embodiments described. On the contrary, the present invention covers all modifications, equivalents and substitutions that fall within the scope of the present invention. DETAILED DESCRIPTION

[0025] Aspects of the present disclosure relate to authentication of electronic devices, and more particularly to authentication of devices using touch interfaces. Although the present disclosure is not necessarily limited to such applications, various aspects of the present disclosure may be understood through discussion of various examples using this context.

[0026] Embodiments of the present disclosure provide for authenticating two devices by comparing the similarity of paths input on the touch interface of each electronic device. A user can input the same path on the touch interface of each device. As used herein, a touch interface can be any interface for sensing touch input. For example, the touch interface can be a touch screen or a touchpad. Each electronic device can transmit one or more portions of path data from the path input on their respective touch interfaces to another electronic device. Each electronic device can compare portions of path data received from other devices with path data from the path input on their touch interfaces. Each electronic device can authenticate another electronic device based on the similarity of the portion of the received path data and the path data stored therein.

[0027] The user can use the user interface of the electronic device to initiate the authentication process. For example, the user can request a wireless connection to a second electronic device or can request to send data to the second electronic device. The user can then enter the same path on the touch interface associated with each device. The user can enter the path on each touch interface at the same time. In order to enter the same path on each touch interface, the user can arrange each electronic device so that the user can draw the path using different fingers on one hand while maintaining the relative position between the same fingers. The user can enter the path on the electronic device using a finger, a stylus, a pen, or any other suitable object or device for providing input on a touch interface.

[0028] In response to receiving a user input of a path, each electronic device may store the path information in a memory. In some embodiments, the path data input by the user may be standardized to create path information to allow comparison between devices with touch interfaces having differences (e.g., resolution or orientation). Standardization may be based on a set of reference points. For example, the coordinates of each data point input on the touch interface may be converted to a relative distance from a reference point and an angle from a reference line. In some embodiments, the reference point is the starting point or end point of the path input by the user, and the reference line is the line between the starting point and the end point.

[0029] The electronic device may select one or more portions of the stored path information and exchange these portions with other electronic devices. In some embodiments, the exchange may occur substantially simultaneously. In some embodiments, the first electronic device may transmit their portions to the second electronic device, and the second electronic device may transmit its portions to the first electronic device after authenticating these portions from the first electronic device.

[0030] Each electronic device may compare the portion of the path information received from the other electronic device with its stored path information. Each electronic device may authenticate another electronic device based on the similarity of the portion of the received path information with its stored path information.

[0031] If two electronic devices authenticate each other, an action may be performed. In some embodiments, the action may be to establish a wireless connection, such as a Bluetooth connection, between the electronic devices. In some embodiments, data may be transferred between the electronic devices in response to the electronic devices authenticating each other. For example, one of the electronic devices may transfer one or more images, videos, or documents to another electronic device. In some embodiments, each device may store an identifier for another electronic device indicating that the device is authenticated for future actions.

[0032] In some embodiments, the electronic device is configured to select a different portion of the stored path information to another electronic device. In these embodiments, if the portion of the received path information overlaps with the portion of the path information transmitted to another device, the electronic device may not be able to authenticate the other device. For example, if the first electronic device simply transmits the same portion it received from the first device, the first electronic device will not be authenticated by the second electronic device. This can provide a more secure authentication method by allowing each electronic device to perform a separate authentication using independent data.

[0033] Although the above description focuses on authentication of two devices, aspects of the present disclosure may be used to authenticate any number of devices.

[0034] Figure 1A block diagram of an example system 100 for authenticating an electronic device using a touch interface according to an embodiment is depicted. The system includes two electronic devices 105a-b, each of which may be a reference Fig. 9 The computer system 901 is described. Each electronic device has a processor 100a-b, a memory 115a-b, a wireless transceiver 130a-b and a touch interface 135a-b. Each memory 115a-b can store an authentication application 120a-b and path information 125a-b.

[0035] Each processor 110a-b may be configured to execute a corresponding authentication application 120a-b to perform authentication of another electronic device. For example, processor 110a may be configured to execute authentication application 120a to perform authentication of electronic device 105b. Authentication applications 120a-b may be configured to cause their respective devices to execute reference Figure 3 Method 300 described. The touch interface 135a-b can be configured to receive touch input from a user. The authentication application 120a-b can be configured to prompt the user to provide a path input into the corresponding touch interface 135a-b, and store the path information 125a-b corresponding to the path input in their corresponding memory 115a-b. As described herein, the authentication application 120a-b can be configured to convert the path input into a standardized form to be stored as the path information 125a-b. The authentication application 120a-b can be configured to exchange portions of the path information between the electronic devices 105a-b via the communication path 140. The communication path 140 can occur via the wireless transceiver 130a-b. The communication path 140 can be implemented using any suitable communication technology.

[0036] The authentication application 120a-b may be configured to compare the portion of the path information received from the other electronic device with the path information 125a-b in its corresponding memory 115a. For example, the authentication application 120a may compare the portion of the path information 125b received from the electronic device 105b with the path information 125a to determine the similarity. In some embodiments, the authentication application 120a-b may also be configured to exchange the total number of data points in their corresponding path information 125a-b and the portion of the path information. In these embodiments, the authentication application may be configured to generate additional data points for the portion of the received path information or the path information stored in its corresponding memory before performing the comparison as described herein. This may allow comparisons to be made across devices with differences in accuracy in their touch interfaces. In addition, in some embodiments, the authentication application 120a-b is configured to exchange identification of which specific data points are provided in the portion. For example, the authentication application 120a may transmit to the electronic device 105b that the path information 125a includes 50 data points and the portion of the path information provided corresponds to points 4-10 and 25-40 in the consecutively numbered points.

[0037] The exchange of portions of path information may occur at different times. In some embodiments, one electronic device transmits their portion of path information to another electronic device, and the other electronic device does not transmit their portion of path information until they authenticate the first device.

[0038] The authentication applications 120a-b may be configured to authenticate the other device if the portion of the received path data is sufficiently similar to the path information 125a-b stored in their respective memories. For example, a similarity score may be calculated and may be compared to a threshold similarity score. In response to authenticating the other device, the authentication application may be configured to perform different actions. In some embodiments, the authentication applications 102a-b may be configured to establish a wireless connection between the electronic devices 105a-b in response to the authentication. In some embodiments, data transfer between the electronic devices 105a-b may occur in response to the authentication.

[0039] Reference now Figure 2 , depicts an example information flow diagram 200 according to an embodiment. Figure 2Depicted is the flow of information between a user 205 and electronic devices 210a and 210b. The process begins when the user 205 creates a path input 220a on the touch interface of the electronic device 210a and creates a path input 220b on the touch interface of the electronic device 210b. In response to receiving the path input 220a, the electronic device 210a can store the path information corresponding to the path input 220a, and the electronic device 210b can store the path information corresponding to the path input 220b. The electronic device 210a can transmit one or more first parts of the path information 230 to the electronic device 210b. The electronic device 210b can compare the one or more first parts of the path information with its stored path information to determine the similarity. In response to authenticating the electronic device 210a based on the similarity, the electronic device 210b can transmit one or more second parts of the path information 240 to the electronic device 210a. In response to receiving the one or more second parts, the electronic device 210a can compare the one or more second parts to store the path information to determine the similarity. In response to authenticating the electronic device 210b based on the similarity, the electronic device 210a may establish a connection 250 with the electronic device 210b.

[0040] Reference now Figure 3 , depicts a flow chart of an example method 300 for authenticating an electronic device according to an embodiment. The method 300 may be performed by a first electronic device to authenticate a second electronic device. The method 300 may be performed by referring to Figure 1 The electronic device 105a or 105b is executed. The method 300 can also be performed by referring to Fig. 9 The computer system 901 executes. For the purpose of describing the method 300, the method will be described as being executed by the first electronic device to authenticate the second electronic device.

[0041] Method 300 may begin with a first electronic device receiving a request from a user to authenticate a second electronic device for an action, as shown in 305. The action may be, for example, establishing a wireless connection such as a Bluetooth connection, or transmitting data. The request may be received by the first electronic device via a user interface. For example, the first electronic device may provide a graphical user interface that allows selection of a second electronic device and an action to be performed when authenticating the second electronic device. The graphical user interface may provide a list of electronic devices that are in close proximity to the first electronic device. For example, the list may include electronic devices that may be used for a wireless connection such as a Bluetooth connection.

[0042] In response to receiving a request from a user, the first electronic device may provide a graphical user interface (GUI) on a touch interface (such as a touch screen display) for receiving a path input from the user. The GUI may display instructions for the user to draw a path on the touch interface. In some embodiments, the GUI may provide instructions to the user to draw a path on each electronic device simultaneously. The GUI may indicate a specific area on the touch interface to provide the path input.

[0043] According to 320, the path input can be received by the first electronic device via the touch interface. The user input corresponding to the path input into the touch interface can be determined in various ways. In some embodiments, the path input can be the first continuous input provided on the touch interface after providing a GUI for receiving the path input. For example, the first path can start at the position where the user first touches the touch interface and end at the position where the user first stops touching the touch interface. In some embodiments, a specified time period can be provided to provide the path input, and the path is not necessarily continuous. For example, the electronic device can provide 5 seconds for the user to provide an input path, and can allow the user to provide multiple paths. In some embodiments, the path input can be temporarily stored in a short-term memory as the coordinates of a point sensed by the touch interface on the path input.

[0044] In some embodiments, the first electronic device may require that the path input exceeds a safety threshold. For example, the first electronic device may require that the path input is at least a threshold length or includes a threshold number of data points. If the initial path input does not exceed the safety threshold, the user may be prompted to provide another path input.

[0045] According to 330, in response to receiving the path input, the first electronic device may record the path information in a memory. In some embodiments, the path information is a standardized version of the path input. The first electronic device may convert the coordinates of the points on the path input based on a set of reference points as described herein, so that the differences in touch interface orientation and resolution between the first electronic device and the second electronic device can be taken into account. In some embodiments, the path information includes an angle and a relative distance for representing each point in the path input. In some embodiments, the path information includes the time of each data point. The time may be the time when a particular input point is received, or may be a relative time based on, for example, the time when the first input point is received or the time when the user is prompted to enter the path.

[0046] According to 340, one or more first portions of the path information may be transmitted to the second electronic device. The one or more first portions may be transmitted directly to the second electronic device using a wireless communication method, or may be transmitted indirectly using one or more networks. In some embodiments, each portion may be a set of consecutive points of the path. In some embodiments, the portions may be individual points. The first electronic device may select one or more portions in a variety of ways. In some embodiments, a set of selection rules may be used to randomly select portions. Example selection rules may include rules regarding the number of portions, the required number of points in each portion, and the required percentage of path information included in the portion. For example, the electronic device may be configured to select three portions, each portion having at least 3 points, and the three portions including less than 50% of the path information. In some embodiments, the first electronic device may be configured to select one or more first portions in a more specified manner. For example, the first electronic device may be configured to select the first quarter and the third quarter of the path information as portions to be sent to the second electronic device. In some embodiments, the first electronic device may also transmit additional information, such as the total number of points in the path information and an identification of which points are included in the one or more first portions, which may be used to compare these portions with the recorded path information described herein.

[0047] According to 350, one or more second portions of path information may be received from a second electronic device. The one or more first portions may be transmitted directly to the second electronic device using wireless communication technology, or may be transmitted indirectly using one or more networks. In some embodiments, this may occur in response to the second electronic device receiving the first portion of the path information. In some embodiments, this may occur in response to the second electronic device authenticating the first electronic device based on the first portion of the path information. In some embodiments, the second electronic device may transmit the second portion to the first electronic device independently of receiving the first portion. In some embodiments, the total number of points in the path information and an identification of which points are included in the one or more second portions may be received together with the one or more second portions.

[0048] According to 355, in response to receiving one or more second parts, the first electronic device can determine whether the one or more second parts overlap with one or more first parts transmitted to the second electronic device. As used herein, the term "overlap" can mean that the first part includes a path or a point on a path corresponding to at least some of the paths or points on the path included in the first part. In some embodiments, this can include determining whether any part of the second part overlaps with the first part. In some embodiments, this can include determining whether there is a threshold level of overlap between the second part and the first part. For example, the threshold can be based on the total number of overlapping points or the percentage of overlapping points in the second part.

[0049] According to 390, in response to determining that one or more second parts overlap with one or more first parts or the amount of overlap exceeds a threshold, the first electronic device may deny the request to perform the action. In some embodiments, the electronic device may display a notification indicating the authentication failure to the user. In some embodiments, the first electronic device may transmit a notification indicating the authentication failure to the second electronic device.

[0050] In response to determining that the one or more second portions do not overlap with the one or more first portions or the amount of overlap does not exceed a threshold, the first electronic device may compare the second portions with the recorded path information, as per 360. The comparison may include determining differences between points in the one or more second portions and points in the recorded path information.

[0051] In an embodiment where the total number of points in the path information is also received from the second electronic device, the first electronic device can fill in the missing data points in the recorded path information or one or more second portions before performing the comparison. For example, if the recorded path information on the first electronic device has 60 data points and the path information from the second electronic device has 120 data points, the first electronic device can generate 60 additional data points for the recorded path information between the existing points using a curve fitting algorithm such as linear interpolation.

[0052] In some embodiments, a similarity score may be determined based on the difference between the one or more second portions and the recorded path information using a formula. Alternatively, in some embodiments, the comparison may include determining whether a point on the one or more second portions is the same as a point on the recorded path information. The difference may be determined based on any path information received in the one or more second portions. For example, the angle and relative distance of a particular point may be compared and used to calculate the similarity. Additionally, if the path information includes the time of each point, the time difference may be compared.

[0053] The specific points to be compared between the one or more second portions and the recorded path information may be determined in various ways. In some embodiments, the specific portion selected by the second electronic device is predetermined so that the first electronic device knows which points in the recorded path information should correspond. In some embodiments, the second electronic device may identify which specific points are included in the one or more second portions. For example, the second electronic device may include a total number of points in its recorded path information, and may provide a number for each point in the one or more second portions indicating the location of the point in the recorded path information. In some embodiments, instead of using the time value of each point to determine the time difference, the time value may be used to identify which points in the one or more second portions correspond to which points in the recorded path information.

[0054] According to 370, the first electronic device can determine whether a similarity threshold has been reached. In some embodiments, the first electronic device can determine whether the calculated similarity score exceeds a specified threshold. In some embodiments, the first electronic device can determine whether a number or percentage of points in one or more second portions matches points in the stored path information.

[0055] In response to determining that the similarity threshold is reached, the action specified by the user can be performed by the first electronic device in accordance with 380. For example, a connection to the second electronic device can be established, or data can be transmitted to the second electronic device. In response to determining that the similarity threshold is not reached, the action specified by the user can be rejected in accordance with 390.

[0056] Method 300 is described with reference to authentication with a second electronic device, and the method can be similarly applied to authentication of any number of electronic devices. For example, at 305, a first electronic device can receive a request for authenticating two electronic devices for an action. At 340, the first electronic device can transmit one or more parts to the two electronic devices. At 350, the first electronic device can receive the second part from one of the two electronic devices, and receive the third part from the other electronic device. At 355, the first electronic device can determine whether the second and third parts overlap with the first part. This can be performed separately for each device, or for a combination of devices. At 360, the first electronic device can compare the second and third parts with the recorded path information. For authentication of multiple devices, operations 370 and 390 can be performed separately for each authenticated device, or can be performed for a combination of devices. For example, the first electronic device can authenticate only one of the electronic devices based on the similarity of the second part reaching a threshold and the similarity of the third part failing to reach the similarity threshold. Alternatively, in the case where the second part reaches the similarity threshold and the third part fails to reach the similarity threshold, the first electronic device may fail to authenticate the two devices.

[0057] Reference now Figure 4 , depicts a flow chart of a second example method 400 for authenticating an electronic device according to an embodiment. The method 400 may be performed by a second electronic device to authenticate a first electronic device. The method 400 may be performed by referring to Figure 1 The electronic device 105a or 105b is executed, and the method 400 can also be performed by referring to Fig. 9 The computer system 901 executes. To describe the method 400, the method will be described as being executed by a second electronic device for authenticating a first electronic device.

[0058] Method 400 may begin with the second electronic device receiving an instruction from the first electronic device to perform authentication, per 405. The request may be received directly from the first electronic device using a wireless communication method, or may be received over one or more networks.

[0059] According to 410, in response to receiving the request, the second electronic device can provide a graphical user interface (GUI) on a touch interface (such as a touch screen display) for receiving a path input from a user. The GUI can display instructions for the user to draw a path on the touch interface. In some embodiments, the GUI can provide instructions to the user to draw a path on each electronic device at the same time. The GUI can indicate a specific area on the touch interface to provide the path input.

[0060] According to 420, the path input may be received by the second electronic device via the touch interface. The user input corresponding to the path input into the touch interface may be determined in various ways. In some embodiments, the path input may be the first continuous input provided on the touch interface after providing a GUI for receiving the path input. In some embodiments, a specified time period may be provided for providing the path input, and the path is not necessarily continuous. In some embodiments, the path input may be temporarily stored in a short-term memory as the coordinates of a point sensed by the touch interface on the path input.

[0061] According to 430, in response to receiving the path input, the second electronic device may record the path information in a memory. In some embodiments, the path information is a standardized version of the path input. The second electronic device may convert the coordinates of the points on the path input based on the reference lines and points, as described herein, so that the differences in touch interface orientation and resolution between the first electronic device and the second electronic device may be taken into account. In some embodiments, the path information includes an angle and a relative distance for representing each point in the path input. In some embodiments, the path information includes the time of each data point. The time may be the time when a particular input point is received, or may be a relative time based on, for example, the time when the first input point is received or the time when the user is prompted to perform the path input.

[0062] According to 440, one or more first portions of path information can be received from a first electronic device. The one or more first portions can be transmitted directly to a second electronic device using a wireless communication method, or can be transmitted indirectly using one or more networks. In some embodiments, a total number of points in the path information and an identification of which points are included in the one or more first portions can be received together with the one or more first portions.

[0063] In response to receiving the one or more first portions, the second electronic device may compare the first portions to the recorded path information, per 450. The comparison may include determining differences between points in the one or more second portions and points in the recorded path information.

[0064] In embodiments where the total number of points in the path information is also received from the first electronic device, the second electronic device may fill in missing data points in the recorded path information or the one or more first portions before performing the comparison.

[0065] In some embodiments, a formula may be used to determine a similarity score based on the difference between the one or more second portions and the recorded path information. Alternatively, in some embodiments, the comparison may include determining whether a point on the one or more second portions is the same as a point on the recorded path information. Differences in any path information in the received one or more second portions may be determined. For example, the angles and relative distances of particular points may be compared and used to calculate similarity. Additionally, if the path information includes the time of each point, the time differences may be compared.

[0066] The specific points to be compared between the one or more first parts and the recorded path information can be determined in various ways. In some embodiments, the specific parts selected by the first electronic device are predetermined so that the first electronic device knows which points in the recorded path information should correspond. In some embodiments, the first electronic device can identify which specific points are included in the one or more second parts. For example, the first electronic device can include the total number of points in its recorded path information, and can provide a number for each point in the one or more second parts that indicates the position of the point in the recorded path information (for example, point 20 out of 100 points for points that are numbered consecutively in the order in which the points were received). In some embodiments, instead of using the time value of each point to determine the time difference, the time value can be used to identify which points in the one or more first parts correspond to which points in the recorded path information.

[0067] According to 460, the second electronic device can determine whether a similarity threshold has been reached. In some embodiments, the second electronic device can determine whether the calculated similarity score exceeds a specified threshold. In some embodiments, the second electronic device can determine whether the number or percentage of points in the one or more second portions matches the points in the stored path information.

[0068] According to 470, in response to determining that the similarity threshold is reached, one or more second parts of the path information can be transmitted to the first electronic device. The one or more first parts can be directly transmitted to the first electronic device using a wireless communication method, or can be indirectly transmitted using one or more networks. In some embodiments, each part can be a set of continuous points of the path. In some embodiments, the part can be a separate point. The second electronic device can select one or more parts in a variety of ways. In some embodiments, a set of selection rules can be used to randomly select parts. Example selection rules may include rules about the number of parts, the required number of points in each part, and the required percentage of path information included in the part. For example, the electronic device can be configured to select three parts, each part has at least 3 points, and these three parts include less than 50% of the path information. The rule may further require that the second part does not overlap with the first part. In some embodiments, the second electronic device can be configured to select one or more second parts in a more specified manner. For example, the first electronic device can be configured to select the second quarter and the fourth quarter of the path information as the part to be sent to the first electronic device. In some embodiments, the second device will select all parts that do not correspond to the first part received from the first device. In some embodiments, the second electronic device may also transmit additional information, such as a total number of points in the path information and an identification of which points are included in one or more first portions, which may be used to compare these portions with the recorded path information as described herein.

[0069] According to 480, in response to determining that the similarity threshold is not reached, authentication may be denied. In some embodiments, the second electronic device may display a notification to the user indicating that the authentication failed. In some embodiments, the second electronic device may transmit an indication of the failed authentication to the first electronic device.

[0070] Reference now Figure 5 , depicts an example information flow diagram 500 for authenticating three electronic devices according to an embodiment. Figure 5Depicted is the flow of information between user 505 and electronic devices 510a, 510b, and 510c. The process begins with user 505 creating path input 520a on the touch interface of electronic device 510a, creating path input 520b on the touch interface of electronic device 510b, and creating path input 520c on electronic device 510c. In response to receiving path inputs 520a-c, electronic device 510a may store path information corresponding to path input 520a, electronic device 510b may store path information corresponding to path input 520b, and electronic device 510c may store path information corresponding to path input 520c. Electronic device 510a may transmit one or more first portions of path information 530a to electronic device 510b, and transmit one or more first portions of path information 530b to electronic device 510c. Electronic device 510b may transmit one or more second portions of stored path information 540a to electronic device 510a, and transmit one or more second portions of stored path information 540b to electronic device 510c. Electronic device 510c may transmit one or more third portions of stored path information 550a to electronic device 510b, and transmit one or more third portions of stored path information 550b to electronic device 510a. The portions of path information sent by a given electronic device to each electronic device may be the same or different. For example, first portions 530a and 530b may be the same or different.

[0071] In response to receiving the portions from the other electronic devices, each electronic device 510a-c may authenticate each other device based on the similarity of the portions to their stored path information. Electronic device 510a may establish connection 560a with electronic device 510b, electronic device 510b may establish connection 560c with electronic device 510c, and electronic device 510a may establish connection 560b with electronic device 510c.

[0072] Reference now Fig. 6A and 6B , provides a graphical representation of authentication of an electronic device according to an embodiment of the present disclosure. Fig. 6A An example method of a user inputting a path on two devices 610 and 620 according to an embodiment is shown. As depicted, the user can arrange the two devices side by side and place a finger on the touch screen of each device. Fig. 6A The thumb of a hand is depicted on the touch screen of electronic device 610 and the index finger of the same hand is depicted on the touch screen of electronic device 620. Fig. 6A As depicted in , a user can move the fingers of their hand across the touch screen to trace a path on each touch screen, such as Figure 6BIf the user maintains the same relative position of their finger, the path of input into each touch screen should be substantially the same.

[0073] Figure 6B 6 is a schematic diagram of path inputs compared across electronic devices. Electronic device 620 may select portions 630a and 635a of the path input to communicate with electronic device 610. Electronic device 610 may select portion 640 of the path input to communicate with electronic device 620. Electronic device 610 may authenticate electronic device 620 based on similarity between portions 630a and 635a received from electronic device 610 and corresponding portions 630b and 635b of the path input. Electronic device 620 may authenticate electronic device 610 based on similarity between portion 640a and corresponding portion 640b of the path input.

[0074] Reference now Figure 7 , depicts an example table 700 for storing path information according to an embodiment. Table 700 includes a number column indicating the ordered number of points, an angle column indicating the points relative to a reference line (e.g., a line between two reference points), and a relative distance column indicating the relative distance from the point to the reference point. The path information stored in table 700 can represent standardized data that can be compared across electronic devices.

[0075] Reference now Figure 8 , depicting an example path input 810 according to an embodiment. Path 810 may include a start point 820 and an end point 830. Path information recorded based on path 810 may be standardized using the start point 820 and the end point 830 as a set of reference points. For example, point 840 may be referenced in the path information as an angle 850 between line 860 and line 870, where line 860 is a line between the start point 820 and the end point 830, and line 870 is a line between the start point 820 and point 840. Point 840 may be further referenced in the path information using a relative distance calculated by dividing the distance between the start point 820 and point 840 by the distance between the start point 820 and the end point 803 (i.e., the distance of line 870 divided by the distance of line 860).

[0076] Reference above Figure 8 The specific method of determining angles and relative distances described is provided as an example. Angles and relative distances can be calculated in many different ways using different reference points and reference lines.

[0077] Reference now Fig. 9, shows a high-level block diagram of an example computer system 901 that can be used to implement one or more of the methods, tools, and modules described herein and any related functionality (e.g., using one or more processor circuits of a computer or a computer processor) according to an embodiment of the present disclosure. In some embodiments, the main components of the computer system 901 may include one or more CPUs 902, a memory subsystem 904, a terminal interface 912, a storage interface 916, an I / O (input / output) device interface 914, and a network interface 918, all of which may be directly or indirectly communicatively coupled for inter-component communication via a memory bus 903, an I / O bus 908, and an I / O bus interface unit 910.

[0078] The computer system 901 may include one or more general purpose programmable central processing units (CPUs) 902A, 902B, 902C, and 902D, collectively referred to herein as CPUs 902. In some embodiments, the computer system 901 may include multiple processors typical of relatively large systems; however, in other embodiments, the computer system 901 may instead be a single CPU system. Each CPU 902 may execute instructions stored in a memory subsystem 904 and may include one or more levels of onboard cache.

[0079] The system memory 904 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 922 or cache memory 924. The computer system 901 may also include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, a storage system 926 may be provided for reading from and writing to a non-removable, non-volatile magnetic medium such as a "hard drive". Although not shown, a disk drive for reading from and writing to a removable, non-volatile disk (e.g., a "floppy disk") may be provided, or an optical drive or other optical medium for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM, etc. may be provided. In addition, the memory 904 may include flash memory, such as a flash stick drive or a flash drive. The memory device may be connected to the memory bus 903 via one or more data medium interfaces. The memory 904 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of various embodiments.

[0080] One or more programs / utilities 928 may be stored in memory 904, each having at least one set of program modules 930. Programs / utilities 928 may include a hypervisor (also known as a virtual machine monitor), one or more operating systems, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data, or some combination thereof, may include an implementation of a networking environment. Program modules 930 generally perform the functions or methods of various embodiments. Programs / utilities 920 may include, for example, reference programs, such as a program module 930, a program module 930, and a program module 930. Figure 1 The authentication application 120a-b described above may be configured to perform the authentication Figure 3 The method 300 described and referenced Figure 4 Method 400 is described.

[0081] Despite Fig. 9 903 is shown as a single bus structure that provides a direct communication path between the CPU 902, the memory subsystem 904, and the I / O bus interface 910, but in some embodiments, the memory bus 903 may include multiple different buses or communication paths, which may be arranged in any of a variety of forms, such as hierarchical point-to-point links, star or mesh configurations, multi-layer buses, parallel and redundant paths, or any other suitable type of configuration. In addition, although the I / O bus interface 910 and the I / O bus 908 are shown as a single corresponding unit, in some embodiments, the computer system 901 may include multiple I / O bus interface units 910, multiple I / O buses 908, or both. In addition, although multiple I / O interface units are shown that separate the I / O bus 908 from the individual communication paths extending to the individual I / O devices, in other embodiments, some or all of the I / O devices may be directly connected to one or more system I / O buses.

[0082] In some embodiments, the computer system 901 can be a multi-user mainframe computer system, a single-user system, or a server computer, or a similar device with little or no direct user interface but receiving requests from other computer systems (clients). In addition, in some embodiments, the computer system 901 can be implemented as a desktop computer, a portable computer, a laptop or notebook computer, a tablet computer, a pocket computer, a phone, a smart phone, a network switch or router, or any other suitable type of electronic device.

[0083] Notice, Fig. 9 The main components of the exemplary computer system 901 are intended to be depicted. However, in some embodiments, the various components may have more Fig. 9 The greater or lesser complexity represented in Fig. 9The components shown in or components in addition to these components, and the number, type, and configuration of these components may vary.

[0084] Embodiments of the present disclosure include a computer-implemented method, comprising: storing, by a first electronic device, first path information in a memory, the first path information including data representing a first path of input on a touch interface associated with the first electronic device; transmitting one or more first parts of the first path information to a second electronic device; receiving one or more second parts of the second path information from the second electronic device; comparing the one or more second parts with the first path information; and authenticating, by the first electronic device, the second electronic device based on a similarity between the one or more second parts and the first path information.

[0085] Some embodiments further include establishing a connection between the first electronic device and the second electronic device in response to the authentication.

[0086] In some embodiments, the first path information includes coordinates of points on the first path.

[0087] In some embodiments, the first path information includes the time of each point on the first path.

[0088] In some embodiments, points in the first path are referenced by angles and relative distances calculated based on a set of reference points. In some embodiments, the set of reference points is a start point and an end point of the first path.

[0089] In some embodiments, transmitting the one or more first portions to the second electronic device occurs in response to authenticating the second electronic device.

[0090] In some embodiments, the second set of portions does not overlap with the first set of portions.

[0091] Some embodiments further include sending a total number of points in the first path information to the second electronic device.

[0092] Some embodiments also include receiving a total number of points in second path information from a second electronic device; comparing the total number of points in the second path information with the total number of points in the first path information; and generating missing data points using a curve fitting algorithm based on a difference between the total number of points in the second path information and the total number of points in the first path information.

[0093] In some embodiments, the touch interface is a touch screen.

[0094] Embodiments of the present disclosure include a system including one or more processors; and a computer-readable storage medium communicatively coupled to the one or more processors, the computer-readable storage medium including program instructions executable by the one or more processors to cause the one or more processors to perform the methods described herein.

[0095] Embodiments of the present disclosure include a computer program product including a computer-readable storage medium having a program code embodied therein, the program code being executable by a processor to cause the processor to perform the method described herein.

[0096] In addition to the above-described embodiments, other embodiments with fewer operating steps, more operating steps, or different operating steps can be envisioned. In addition, some embodiments can perform some or all of the above-described operating steps in different orders. Modules are illustratively listed and described according to the embodiments, and are not meant to indicate the necessity of a particular module or the exclusivity of other potential modules (or the function / purpose applied to a particular module).

[0097] In the foregoing, reference has been made to various embodiments. However, it should be understood that the present disclosure is not limited to the specifically described embodiments. On the contrary, any combination of the described features and elements is contemplated to implement and practice the present disclosure, regardless of whether or not different embodiments are involved. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the described embodiments. In addition, although the embodiments of the present disclosure may achieve advantages over other possible solutions or over the prior art, whether a given embodiment achieves a particular advantage is not a limitation of the present disclosure. Therefore, the described aspects, features, embodiments, and advantages are merely illustrative and are not considered to be elements or limitations of the appended claims unless expressly stated in the claims.

[0098] The present invention may be a system, method and / or computer program product. The computer program product may include a computer-readable storage medium (or multiple media) having computer-readable program instructions thereon, the computer-readable program instructions being used to cause a processor to perform various aspects of the present invention.

[0099] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device such as a punch card or a raised structure in a groove on which instructions are recorded, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium should not be interpreted as a temporary signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated by a waveguide or other transmission medium (e.g., a light pulse by an optical fiber cable), or an electrical signal transmitted by a wire.

[0100] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network can include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in a computer-readable storage medium in the corresponding computing / processing device.

[0101] The computer-readable program instructions for performing the operation of the present invention can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, programming languages ​​include object-oriented programming languages, such as Java, Smalltalk, C++, etc., and conventional procedural programming languages, such as "C" programming language or similar programming languages. The computer-readable program instructions can be executed completely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or completely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (for example, using an Internet service provider through the Internet). In some embodiments, in order to perform various aspects of the present invention, the electronic circuit including, for example, a programmable logic circuit, a field programmable gate array (FPGA) or a programmable logic array (PLA) can execute the computer-readable program instructions by utilizing the state information of the computer-readable program instructions to personalize the electronic circuit.

[0102] Various aspects of the present invention are described herein with reference to the flow chart and / or block diagram of the method, device (system) and computer program product according to embodiments of the present invention. It will be understood that each frame of the flow chart and / or block diagram and the combination of frames in the flow chart and / or block diagram can be implemented by computer-readable program instructions.

[0103] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device create a device for implementing the functions / actions specified in one or more boxes of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, which can guide the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable storage medium having the instructions stored therein includes an article of manufacture, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes of the flowchart and / or block diagram.

[0104] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, so that a series of operational steps are performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / actions specified in one or more boxes of the flowchart and / or block diagram.

[0105] The block diagram and flow chart in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention.In this regard, each frame in the flow chart or the block diagram can represent the module, segment or part of the instruction, which includes one or more executable instructions for realizing the specified logical function.In some alternative embodiments, the function mentioned in the frame may not occur in the order mentioned in the figure.For example, the two frames shown continuously can actually be realized as a step, and are performed simultaneously, substantially simultaneously, in a mode of partial or full time overlap, or these frames can sometimes be performed in reverse order, depending on the function involved.It will also be noted that the combination of the frames in each frame of the block diagram and / or the flow chart illustration and the block diagram and / or the flow chart illustration can be realized by a dedicated hardware-based system that performs a specified function or action or performs a combination of special hardware and computer instructions.

[0106] Although the foregoing relates to exemplary embodiments, other and further embodiments of the present invention may be designed without departing from the basic scope of the present invention, and the scope of the present invention is determined by the appended claims. Descriptions of various embodiments of the present disclosure have been presented for illustrative purposes, but are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the described embodiments. The terms used herein are selected to explain the principles of the embodiments, practical applications, or technical improvements existing on the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.

[0107] The terms used herein are only used for the purpose of describing specific embodiments, and it is not intended to limit various embodiments. As used herein, the singular forms "one", "an" and "the" are intended to also include plural forms, unless the context clearly indicates otherwise. "A group", "set", "a group" etc. are intended to include one or more. It will also be understood that the terms "include" and / or "comprise" when used in this specification specify the existence of stated features, integers, steps, operations, elements and / or components, but do not exclude the existence or addition of one or more other features, integers, steps, operations, elements, components and / or their sets. In the previous detailed description of the example embodiments of various embodiments, reference is made to the accompanying drawings (wherein the same reference numerals represent the same elements), which form a part of the present invention, and wherein specific example embodiments in which various embodiments can be practiced are shown by way of illustration. These embodiments are described in sufficient detail to enable those skilled in the art to practice these embodiments, but other embodiments may also be used, and logical, mechanical, electronic and other changes may be made without departing from the scope of the various embodiments. In the previous description, many specific details are set forth to provide a thorough understanding of the various embodiments. However, various embodiments may also be implemented without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure the embodiments.

[0108] The description of various embodiments of the present disclosure has been presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to explain the principles of the embodiments, practical applications, or technical improvements existing in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A computer-implemented method comprising: storing, by a first electronic device, first path information in a memory, the first path information comprising data representing a first path of an input on a touch interface associated with the first electronic device; transmitting one or more first portions of the first path information to a second electronic device, wherein less than all of the first path information is transmitted to the second electronic device; receiving, in response to transmitting the one or more first portions, one or more second portions of second path information from the second electronic device, wherein the second path information includes data representing a second path of an input on a touch interface associated with the second electronic device, and wherein the one or more second portions at least partially do not overlap with the one or more first portions; comparing the one or more second portions to the first path information; as well as The second electronic device is authenticated by the first electronic device based on a similarity between the one or more second parts and the first path information. 2 . The method of claim 1 , further comprising establishing a connection between the first electronic device and the second electronic device in response to the authentication.

3. The method according to claim 1 or 2, wherein: The first path information includes coordinates of points on the first path.

4. The method according to claim 1 or 2, wherein: The first path information includes the time of each point on the first path.

5. The method according to claim 1 or 2, wherein: Points in the first path are referenced by relative distances and angles calculated based on a set of reference points.

6. The method according to claim 5, wherein: The set of reference points is a start point and an end point of the first path.

7. The method according to claim 1 or 2, wherein: Transmitting the one or more first portions to the second electronic device occurs in response to authenticating the second electronic device.

8. The method according to claim 1 or 2, wherein: The one or more second group portions do not overlap with the one or more first portions. 9 . The method according to claim 3 , further comprising transmitting a total number of points in the first path information to the second electronic device.

10. The method according to claim 1 or 2, further comprising: receiving a total number of points in the second path information from the second electronic device; comparing the total number of points in the second path information with the total number of points in the first path information; as well as A curve fitting algorithm is used to generate missing data points based on a difference between a total number of points in the second path information and a total number of points in the first path information.

11. The method according to claim 1 or 2, wherein: The touch interface is a touch screen.

12. A computer system comprising: one or more processors; as well as A computer-readable storage medium communicatively coupled to the one or more processors, the computer-readable storage medium comprising program instructions executable by the one or more processors to cause the one or more processors to perform a method comprising: storing, by a first electronic device, first path information in a memory, the first path information comprising data representing a first path of an input on a touch interface associated with the first electronic device; transmitting one or more first portions of the first path information to a second electronic device, wherein less than all of the first path information is transmitted to the second electronic device; receiving one or more second portions of second path information from the second electronic device, wherein the second path information includes data representing a second path of an input on a touch interface associated with the second electronic device, and wherein the one or more second portions at least partially do not overlap with the one or more first portions; comparing the one or more second portions to the first path information; as well as The second electronic device is authenticated by the first electronic device based on a similarity between the one or more second parts and the first path information.

13. The system of claim 12, wherein the method further comprises establishing a connection between the first electronic device and the second electronic device in response to the authentication.

14. The system according to claim 12 or 13, wherein: The first path information includes coordinates of points on the first path.

15. The system according to claim 12 or 13, wherein: The first path information also includes the time of each point on the first path.

16. The system according to claim 12 or 13, wherein: Points in the first path are referenced by relative distances and angles calculated based on a set of reference points.

17. A computer program product for authenticating a device using a touch interface, the computer program product comprising: A computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit to perform the method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Establishment of a relationship between wireless devices

    US20100082990A1

  • Predicting touch input

    US20140204036A1

  • Techniques for device connections using touch gestures

    US20160048322A1