Verification method, device, communication equipment and readable storage medium

By using the first and second verification blocks matching shape and movement information during the verification process, the problem of simple verification methods resulting in low accuracy is solved, and higher verification accuracy and security is achieved.

CN113901427BActive Publication Date: 2025-04-11MIGU CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111213874.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-19
Publication Date
2025-04-11
Estimated Expiration
2041-10-19

AI Technical Summary

Technical Problem

The existing verification methods are simple, resulting in low accuracy of verification results.

Method used

By using the shape and movement information of the first and second verification blocks during the verification process between the terminal and the server, it is ensured that the shape of the second verification block matches the identification shape on the first verification block.

Benefits of technology

This improves the complexity of verification, thereby improving the accuracy of verification results and reducing the possibility of machine imitation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113901427B_ABST
    Figure CN113901427B_ABST
Patent Text Reader

Abstract

The present application provides a verification method, apparatus, communication device and readable storage medium. The verification method includes: sending verification request information to a server, the verification request information includes verification area information; receiving rendering information corresponding to the verification area information sent by the server, the rendering information includes shape information of the first verification block, shape information of the second verification block and movement information of the second verification block, wherein the shape of the second verification block matches the shape of the mark on the first verification block; rendering the first verification block and the second verification block in the verification area according to the rendering information, and controlling the second verification block to move within the verification area based on the movement information, and controlling the first verification block to move within the verification area based on the first input; when the first input ends, sending verification information to the server, the verification information includes position information of the second verification block and position information of the first verification block; receiving the verification result corresponding to the verification information sent by the server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of Internet technology, and in particular, to a verification method, apparatus, communication device, and readable storage medium. Background Art

[0002] With the development of Internet technology, many Internet application systems use verification methods to identify humans and machines to prevent machine access and improve access security. The commonly used verification method is to render an incomplete puzzle on the access page, and the user can complete the verification by dragging the puzzle pieces to the corresponding position. In the above verification method, the verification means are simple, and user behavior can be easily imitated by the machine, resulting in a low accuracy rate of the verification result. Summary of the invention

[0003] The embodiments of the present application provide a verification method, an apparatus, a communication device, and a readable storage medium to solve the problem that the existing verification method is simple and results in a low accuracy rate of the verification result.

[0004] To solve the above problems, this application is implemented as follows:

[0005] In a first aspect, an embodiment of the present application provides a verification method, which is applied to a terminal and includes:

[0006] Sending a verification request message to a server, wherein the verification request message includes verification area information;

[0007] Receiving rendering information corresponding to the verification area information sent by the server, the rendering information including shape information of a first verification block, shape information of a second verification block, and movement information of the second verification block, wherein the shape of the second verification block matches the shape of an identification on the first verification block;

[0008] Rendering the first verification block and the second verification block in the verification area according to the rendering information, controlling the second verification block to move in the verification area based on the movement information, and controlling the first verification block to move in the verification area based on the first input;

[0009] When the first input is completed, sending verification information to the server, the verification information including the position information of the second verification block and the position information of the first verification block;

[0010] Receive the verification result sent by the server.

[0011] In a second aspect, an embodiment of the present application provides a verification method, which is applied to a server, including:

[0012] Receiving verification request information sent by a terminal, wherein the verification request information includes verification area information;

[0013] Generate rendering information corresponding to the verification area information, the rendering information including shape information of the first verification block, shape information of the second verification block and movement information of the second verification block, wherein the shape of the second verification block matches the shape of the mark on the first verification block;

[0014] receiving verification information sent by the terminal, the verification information including position information of the first verification block and position information of the second verification block, the first input being used to control the first verification block to move in the verification area;

[0015] A verification result is sent to the terminal, wherein the verification result is determined based on the verification information.

[0016] In a third aspect, an embodiment of the present application further provides a verification device, including:

[0017] A first transceiver is used for:

[0018] Sending a verification request message to a server, wherein the verification request message includes verification area information;

[0019] Receiving rendering information corresponding to the verification area information sent by the server, the rendering information including shape information of a first verification block, shape information of a second verification block, and movement information of the second verification block, wherein the shape of the second verification block matches the shape of an identification on the first verification block;

[0020] A first processor is configured to: render the first verification block and the second verification block in the verification area according to the rendering information, control the second verification block to move in the verification area based on the movement information, and control the first verification block to move in the verification area based on the first input;

[0021] The first transceiver is further used for:

[0022] When the first input is completed, sending verification information to the server, the verification information including the position information of the second verification block and the position information of the first verification block;

[0023] Receive the verification result sent by the server.

[0024] In a fourth aspect, an embodiment of the present application further provides a verification device, including:

[0025] The second transceiver is used to: receive verification request information sent by the terminal, wherein the verification request information includes verification area information;

[0026] A second processor is used to: generate rendering information corresponding to the verification area information, the rendering information including shape information of the first verification block, shape information of the second verification block and movement information of the second verification block, wherein the shape of the second verification block matches the shape of the mark on the first verification block;

[0027] The second transceiver is further used for:

[0028] receiving verification information sent by the terminal, the verification information including position information of the first verification block and position information of the second verification block, the first input being used to control the first verification block to move in the verification area;

[0029] A verification result is sent to the terminal, wherein the verification result is determined based on the verification information.

[0030] In the fifth aspect, an embodiment of the present application also provides a communication device, comprising: a transceiver, a memory, a processor, and a program stored in the memory and executable on the processor; the processor is used to read the program in the memory to implement the steps in the method described in the first aspect above; or, the steps in the method described in the second aspect above.

[0031] In a sixth aspect, an embodiment of the present application further provides a readable storage medium for storing a program, wherein when the program is executed by a processor, the program implements the steps in the method described in the first aspect above, or implements the steps in the method described in the second aspect above.

[0032] In the embodiment of the present application, verification is performed through the second verification block moved based on the movement information and the first verification block operated by the user. If the second verification block matches the shape of the mark on the first verification block, the server can pass the verification. In this way, the complexity of the verification can be increased, and the accuracy of the verification result can be improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0034] Figure 1 is a schematic diagram of the structure of a network system to which the embodiments of the present application can be applied;

[0035] Figure 2 This is one of the flowcharts of the verification method provided in the embodiment of the present application;

[0036] Figure 3aIt is one of the verification schematic diagrams provided in the embodiment of the present application;

[0037] Figure 3b This is the second verification schematic diagram provided in the embodiment of the present application;

[0038] Figure 3c This is the third verification schematic diagram provided in the embodiment of the present application;

[0039] Figure 3d This is the fourth verification schematic diagram provided in the embodiment of the present application;

[0040] Figure 4 This is the second flow chart of the verification method provided in the embodiment of the present application;

[0041] Figure 5 It is one of the structural schematic diagrams of the verification device provided by the implementation of this application;

[0042] Figure 6 This is the second structural diagram of the verification device provided by the present application;

[0043] Figure 7 It is a structural diagram of the communication device provided by the implementation of this application. DETAILED DESCRIPTION

[0044] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0045] The terms "first", "second" etc. in the embodiments of the present application are used to distinguish similar objects, and need not be used to describe a specific order or sequential order. In addition, the terms "include" and "have" and any variation thereof are intended to cover non-exclusive inclusions, for example, the process, method, system, product or equipment comprising a series of steps or units need not be limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or equipment. In addition, "and / or" is used in the present application to represent at least one of connected objects, such as A and / or B and / or C, representing the inclusion of separate A, separate B, separate C, and A and B all exist, B and C all exist, A and C all exist, and 7 situations that A, B and C all exist.

[0046] See also Figure 1 , Figure 1 is a structural diagram of a network system to which the embodiments of the present application can be applied, such as Figure 1As shown, the system includes a terminal 11 and a server 12. The terminal 11 and the server 12 can communicate with each other.

[0047] The terminal 11 may also be referred to as a user equipment (UE). In actual applications, the terminal may be a mobile phone, a tablet computer (Tablet Personal Computer), a laptop computer (Laptop Computer), a personal digital assistant (Personal Digital Assistant, PDA), a mobile Internet device (Mobile Internet Device, MID), a wearable device (Wearable Device) or a vehicle-mounted device, etc.

[0048] The verification method provided in the embodiments of the present application is described below.

[0049] See also Figure 2 , Figure 2 This is one of the flow charts of the verification method provided in the embodiment of the present application. Figure 2 The illustrated verification method can be applied to a terminal.

[0050] like Figure 2 As shown, the verification method may include the following steps:

[0051] Step 201: Send verification request information to a server, wherein the verification request information includes verification area information.

[0052] The verification request information is used to trigger the server to generate and send rendering information corresponding to the verification area to the terminal, so that the user can perform a verification operation, and then the server performs human-machine verification.

[0053] The verification area information may include shape information of the verification area. In an embodiment of the present application, the shape information of X may include descriptive information such as the shape and / or size of X, and X may be, but is not limited to, the verification area, etc. For example, when the verification area is a rectangle, the verification area information may include the length and width of the verification area.

[0054] In specific implementation, the terminal can determine the verification area based on the shape information of its own display area. The verification area can be part or all of the display area, which can be determined based on actual conditions and is not limited in this embodiment of the present application.

[0055] Optionally, the terminal may send verification request information to the server when receiving the first request, wherein the first request may be an access request, a login request, a subscription request, or the like.

[0056] Step 202: Receive rendering information corresponding to the verification area information sent by the server, wherein the rendering information includes shape information of the first verification block, shape information of the second verification block and movement information of the second verification block, wherein the shape of the second verification block matches the identification shape on the first verification block.

[0057] In a specific implementation, the first verification block and the second verification block may be implemented as follows:

[0058] First implementation: The first verification block and the second verification block can constitute a complete verification block, such as: the first verification block is a verification block with a gap, and the second verification block is a missing block; or, the first verification block is a missing block, and the second verification block is a verification block with a gap. In this implementation, the shape of the second verification block matches the shape of the mark on the first verification block, which can be understood as: the shape of the missing block matches the shape of the gap. In this case, when the missing block is placed in the gap, the missing block matches the gap, and the first verification block and the second verification block constitute a complete verification block without a gap, and the verification can be passed at this time.

[0059] The second implementation method: the first verification block and the second verification block are respectively independent complete verification blocks. In this implementation method, the identification shape on the first verification block can be located at a certain position of the first verification block, and the shape is the same as the shape of the second verification block. For example, assuming that the first verification block is a triangle and the second verification block is a square, the identification shape on the first verification block can be a square on a vertex of the triangle. In this case, when the square falls on the vertex of the triangle, the identification shape of the square and the triangle match, and the verification can be passed.

[0060] The movement information of the second verification block may include: the movement starting position P of the second verification block s , the moving trajectory s of the second verification block in the first direction and the moving speed v of the second verification block in the second direction, the first direction and the second direction are perpendicular, such as the first direction is the left-right direction and the second direction is the up-down direction, at this time, the movement of the second verification block can be regarded as falling. The moving trajectory of the second verification block can be characterized by the relative moving position between every two adjacent moving unit times (such as the i-th moving unit time and the i+1-th moving unit time) in the first direction, or the moving trajectory of the second verification block can be characterized by a moving trajectory function, which can be determined according to actual conditions, and the embodiments of the present application do not limit this.

[0061] Step 203: render the first verification block and the second verification block in the verification area according to the rendering information, control the second verification block to move in the verification area based on the movement information, and control the first verification block to move in the verification area based on the first input.

[0062] In a specific implementation, the terminal may render the first verification block according to the shape information of the first verification block; and may render the second verification block according to the shape information of the second verification block.

[0063] After rendering the second verification block, the terminal can control the second verification block to move within the verification area based on the movement information of the second verification block. After rendering the first verification block, the user can perform a first input to control the first verification block to move within the verification area so that the second verification block matches the shape of the mark on the first verification block to achieve verification.

[0064] During implementation, the first input may be an input of directly or indirectly dragging the first verification block, which may be determined according to actual conditions, and the embodiments of the present application do not limit this. In the case where the first input is an input of directly dragging the first verification block, the dragged object of the first input is the first verification block. In the case where the first input is an input of indirectly dragging the first verification block, the dragged object of the first input is not the first verification block, but the input effect of the first input may act on the first verification block, so that the first verification block moves within the verification area.

[0065] Step 204: When the first input is completed, send verification information to the server, where the verification information includes the location information of the second verification block and the location information of the first verification block.

[0066] In a specific implementation, the terminal may obtain the verification information when detecting that the first input is finished, and send the verification information to the server for the server to perform human-machine verification.

[0067] In implementation, the position information of the second verification block and the position information of the first verification block can be used by the server to verify whether the second verification block matches the shape of the mark on the first verification block. In the embodiment of the present application, the position information of Y can be determined with reference to the verification area, and Y can be but is not limited to the second verification block or the first verification block.

[0068] To further improve the accuracy of verification, the verification information may also include other information for assisting the server in human-machine verification. Optionally, the verification information may also include at least one of the following: input track information of the first input, input duration information of the first input. In implementation, the input track information of the first input may be used by the server to confirm whether the first input is a legal input, that is, whether it is a human behavior; the input duration information of the first input may be used to determine whether the input duration of the first input matches the falling duration of the second verification block, that is, whether the time difference between the falling duration of the second verification block and the first input is within a preset range.

[0069] Step 205: Receive the verification result sent by the server.

[0070] In specific implementation, the verification result may be verification success (i.e., verification passed) or verification failure (i.e., verification failed). In the case of successful verification, the terminal may accept the first request and allow the access operation, login operation, or subscription operation to be performed. In the case of failed verification, the terminal may reject the first request and prohibit the access operation, login operation, or subscription operation from being performed.

[0071] In the verification method of the embodiment of the present application, the terminal can send a verification request to the server to render the second verification block and the first verification block with a gap in the verification area. After that, the terminal can control the second verification block to move in the verification area according to the movement information of the second verification block, and control the first verification block to move in the verification area based on the first input. In this way, verification information including the position information of the second verification block and the position information of the first verification block can be sent to the server, so that the server determines whether the second verification block matches the identification shape on the first verification block to achieve verification. In this way, the complexity of verification can be increased, and the accuracy of the verification result can be improved.

[0072] Optionally, the first input includes a touch sub-input and a sliding sub-input;

[0073] The step of rendering the first verification block and the second verification block in the verification area according to the rendering information, controlling the second verification block to move in the verification area based on the movement information, and controlling the first verification block to move in the verification area based on the first input includes:

[0074] Rendering a sliding control and a sliding track of the sliding control in the verification area;

[0075] When the touch sub-input to the sliding control is received, rendering the first verification block and the second verification block in the verification area according to the rendering information, and controlling the second verification block to move in the verification area according to the movement information;

[0076] In case of receiving a sliding sub-input to the sliding control, the sliding control is controlled to move within the sliding track, and the first verification block is controlled to move within the verification area, wherein the movement track of the first verification block matches the movement track of the sliding control.

[0077] In this optional implementation manner, after the terminal sends the verification request information, Figure 3a As shown, the slide control 31 and the slide track 32 may be rendered in the verification area 30 first, and the slide control 31 may slide left and right in the slide track 32. At this time, the slide control 31 is in the first display state.

[0078] Afterwards, after detecting that the sliding control 31 is touched, Figure 3b As shown, the first verification block 33 and the second verification block 34 can be rendered in the verification area 30 according to the received rendering information. Figure 3b to Figure 3d In the figure, the first verification block 33 is a slider with a notch, and the second verification block 34 is a missing block for illustration, but the representation forms of the first verification block 33 and the second verification block 34 are not limited thereby.

[0079] like Figure 3c As shown, after rendering the second verification block 34, the terminal can control the second verification block 34 to move within the verification area 30 according to the movement information. When it is detected that the sliding control 31 is dragged, the terminal can be triggered to control the first verification block 33 to move left and right. The movement trajectory of the first verification block 33 matches the movement trajectory of the sliding control 31, which can be expressed as: the position of the center point of the first verification block 33 in the left and right directions is the same as the position of the sliding control 31 in the left and right directions.

[0080] After detecting that the dragging operation of the slide control 31 ends, Figure 3d As shown, the display state of the sliding control 31 can be switched from the first display state to the second display state, verification information is collected, and the verification information is sent to the server.

[0081] In addition, Figure 3a to Figure 3d In the example, a close control 35 may also be displayed in the verification area 30, and the user may cancel the verification by touching the close control 35.

[0082] It should be understood that Figures 3a to 3d This is only an example, and does not limit the expression forms of the verification area, the first verification block, the second verification block, the sliding control, and the sliding track. The specific settings can be made according to actual needs, and the embodiments of the present application do not limit this.

[0083] It can be seen that in this optional implementation, the terminal can first render the background images such as the sliding control and the sliding track, and then render the first verification block and the second verification block after the sliding control is touched, so as to avoid the verification area being screenshotted for verification, which can improve the security of verification. In addition, by performing verification through the randomly moved second verification block, since the final position of the second verification block cannot be predicted, the difficulty of machine simulation can be increased, thereby improving the accuracy of verification.

[0084] See also Figure 4 , Figure 4 This is the second flowchart of the verification method provided in the embodiment of the present application. The verification method in the embodiment of the present application can be applied to the server.

[0085] like Figure 4 As shown, the verification method may include the following steps:

[0086] Step 401: Receive verification request information sent by a terminal, where the verification request information includes verification area information.

[0087] Step 402: Generate rendering information corresponding to the verification area information, the rendering information including shape information of the first verification block, shape information of the second verification block and movement information of the second verification block, wherein the shape of the second verification block matches the identification shape on the first verification block.

[0088] Step 403: Receive verification information sent by the terminal, where the verification information includes position information of the first verification block and position information of the second verification block, and the first input is used to control the first verification block to move in the verification area.

[0089] Step 404: Send a verification result to the terminal, where the verification result is determined based on the verification information.

[0090] It should be noted that this embodiment is an implementation of a server corresponding to the above method embodiment, and therefore, reference may be made to the relevant description in the above method embodiment, and the same beneficial effects can be achieved. In order to avoid repeated description, it will not be repeated here.

[0091] In the verification method of this embodiment, the server can send rendering information to the terminal in response to the verification request sent by the terminal, so that the terminal can render the second verification block and the first verification block with a gap in the verification area. After that, the terminal can control the second verification block to move in the verification area according to the movement information of the second verification block, and control the first verification block to move in the verification area based on the first input. The server can determine whether the second verification block matches the identification shape on the first verification block based on the verification information sent by the terminal, including the position information of the second verification block and the position information of the first verification block, to achieve verification. In this way, the complexity of verification can be improved, and the accuracy of the verification result can be improved.

[0092] Optionally, after receiving the verification information sent by the terminal and before sending the verification result to the terminal, the method further includes:

[0093] Determine whether the second verification block matches the shape of the mark on the first verification block according to the position information of the first verification block and the position information of the second verification block, and obtain a first determination result;

[0094] The verification result is determined according to the first determination result.

[0095] For the first verification block and the second verification block in the first implementation, whether the second verification block matches the identification shape on the first verification block can be understood as: whether the missing block falls into the gap. In implementation, if the distance between the center position of the gap and the center position of the missing block is less than a preset value, the missing block and the gap are considered to match, otherwise, the gaps are considered to not match.

[0096] For the first verification block and the second verification block in the aforementioned second implementation, whether the second verification block matches the identification shape on the first verification block can be understood as: whether the second verification block falls within the identification shape on the first verification block. In implementation, if the distance between the center position of the second verification block and the center position of the identification shape on the first verification block is less than a preset value, it can be considered that the second verification block matches the identification shape on the first verification block, otherwise it can be considered that the second verification block does not match the identification shape on the first verification block.

[0097] When the first determination result is that the second verification block matches the identification shape on the first verification block, the verification result can be determined as a successful verification; when the first determination result is that the second verification block does not match the notch on the first verification block, the verification result can be determined as a failed verification.

[0098] In the above manner, the server can only pass the verification if the second verification block matches the shape of the mark on the first verification block. Since the verification is performed by the randomly moved second verification block, the final position of the second verification block cannot be predicted, which can increase the difficulty of machine simulation and thus improve the accuracy of verification.

[0099] Optionally, determining whether the second verification block matches the shape of the mark on the first verification block according to the position information of the first verification block and the position information of the second verification block includes:

[0100] Determining whether the second verification block is located at a preset position according to the position information of the second verification block;

[0101] Determining whether the first verification block is located within a preset range according to the position information of the first verification block;

[0102] When the second verification block is located at the preset position and the first verification block is located within the preset range, determining that the second verification block matches the shape of the mark on the first verification block;

[0103] The preset position is determined based on the movement information of the second verification block, and the preset position range is determined based on the preset position. The preset position range can be [preset position - ΔS, preset position + ΔS]. ΔS can be set based on actual needs, such as ΔS can be based on 0.5 pixels, or based on the size of the gap.

[0104] For ease of understanding, the verification area is a rectangular area of ​​x*y, the second verification block falls in the verification area, and the falling starting position of the second verification block is P s , the falling speed of the second verification block is v, and the moving trajectory of the second verification block is represented by the relative moving position in the left and right directions of every two adjacent moving unit times for example.

[0105] Assuming that the time it takes for the second verification block to fall each time is called 1 unit time, then for the falling speed v of the second verification block, a total of n=y / v unit times are required, where n is a positive integer.

[0106] Assume that the second verification block moves left by one second verification block unit during the falling process is recorded as -1, does not move left or right during the falling process is recorded as 0, and moves right by one second verification block unit during the falling process is recorded as 1. Then the falling trajectory s of the second verification block can be recorded as:

[0107] s={s1,...,s i ,...,s n},-1≤s i ≤1, 1≤i≤n

[0108] According to the falling trajectory s of the second verification block, the preset position where the second verification block falls is:

[0109] It should be noted that in actual applications, the terminal can determine whether the second verification block is located at a preset position and whether the first verification block is located within a preset range in a preset order until the above two determination operations are completed, or the determination result of the first determination operation is a negative determination.

[0110] The embodiment of the present application does not limit the execution order of the above two determination operations. Assuming that the terminal first determines whether the second verification block is located at a preset position, if the position of the second verification block sent by the terminal is the preset position, it can continue to determine whether the first verification block is located within the preset range. If the first verification block is within the preset range, it can be determined that the second verification block matches the identification shape on the first verification block. If the first verification block is not within the preset range, it can be determined that the second verification block does not match the identification shape on the first verification block; if the position of the second verification block sent by the terminal is not the preset position, it can be directly determined that the second verification block does not match the identification shape on the first verification block, and give up determining whether the first verification block is within the preset range. In this way, the burden on the terminal can be reduced on the basis of improving the accuracy of verification.

[0111] Optionally, the verification information further includes at least one of the following: input track information of the first input, input duration information of the first input;

[0112] Determining the verification result according to the first determination result includes:

[0113] If the first determination result is that the second verification block matches the identification shape on the first verification block, at least one of the following operations is performed in a preset order: determining whether the first input is a legal input; determining whether the input duration of the first input is within a preset time range;

[0114] In the case that the determination results of the at least one operation are all affirmative results, the verification result is determined to be a successful verification.

[0115] In specific implementation, whether the first input is a legal input can be understood as: whether the first input is input by the user. In implementation, the server can determine whether the first input is a legal input based on a random forest machine learning algorithm and user behavior data in a historical verification process.

[0116] The preset time range may be determined based on the moving time t of the second verification block, and the preset time range may be [t-Δt, t+Δt]. Δt may be set based on actual needs, and this embodiment of the present application does not limit this.

[0117] In this optional implementation, when the verification information includes input trajectory information of the first input and input duration information of the first input, the terminal can perform at least one determination operation of whether the first input is a legal input and whether the input duration of the first input is within a preset time range in a preset order, until both determination operations are completed, or the determination result of the first determination operation is a negative determination.

[0118] In the above manner, verification is successful only when the second verification block matches the identification shape on the first verification block, the first input is a legal input, and the input duration of the first input is within a preset time range, thereby further improving the accuracy of verification.

[0119] The various optional implementation modes introduced in the embodiments of the present application may be implemented in combination with each other or may be implemented separately if they do not conflict with each other, and the embodiments of the present application are not limited to this.

[0120] For ease of understanding, the following examples are provided:

[0121] In the following example, the first verification block is a slider with a notch, and the second verification block is a missing block with the same shape as the notch.

[0122] The verification method of this example may include the following steps:

[0123] Step 1: The client (i.e., terminal) calculates the sliding verification area information (length x, width y) based on the terminal information, and submits it to the server to request the sliding verification information.

[0124] Step 2: The server randomly generates the missing block position p according to the sliding area information s , and set the falling speed v of the missing block, then randomly generate the falling trajectory s, and then return the sliding verification information to the client.

[0125] The specific sliding test information data can meet the following conditions:

[0126] 1) In order to improve the user experience, the initial position of the missing block can be p s Make the following restrictions: x / 2 <p s <x;

[0127] 2) Each falling time of the missing block can be called 1 unit time, then for the falling speed v of the missing block, a total of n = y / v units of time are required (n is an integer);

[0128] 3) The trajectory s generation process is as follows:

[0129] If the missing block moves left by one missing block unit during the falling process, it is recorded as -1; if it does not move left or right during the falling process, it is recorded as 0; if it moves right by one missing block unit during the falling process, it is recorded as 1.

[0130] Then the falling trajectory of the missing block can be recorded as: s = {s1,...,s i ,...,s n},-1≤s i ≤1, 1≤i≤n.

[0131] According to the falling trajectory s of the missing block, the final position of the missing block is:

[0132] Step 3: The client renders the sliding background and prompts the user to drag the sliding button. Figure 3a shown.

[0133] Step 4: The user touches the slider, and the client renders the missing blocks and missing blocks, such as Figure 3b shown.

[0134] Step 5: During the user's sliding process, the missing block falls at the speed v and trajectory s returned by the server, such as Figure 3c shown.

[0135] The client collects the user's sliding trajectory. Once the user leaves the slider, the collected verification information is submitted to the server for verification. The verification information includes the user's sliding trajectory and the slider position p when submitting the verification. e .

[0136] Step 6: After the client submits the verification, the server first analyzes the user's trajectory to determine whether it is a human operation. If it is not a human operation, it directly returns failure; if it is a human operation, it continues to determine whether it has slid to the specified position. If it is, it returns success ( Figure 3d Otherwise, return failure.

[0137] The server-side verification logic is as follows:

[0138] 1) User behavior verification.

[0139] Through the random forest-based machine learning algorithm, the user's sliding trajectory is analyzed to determine whether the user is a real user.

[0140] 2) Check the position of missing blocks.

[0141] According to the falling trajectory of the missing block, the position of the missing block when the user submits the verification should be When the position of the missing block does not satisfy , the verification fails.

[0142] 3) Slider position check

[0143] Determine the slider position p when submitting the verification request e Is it within the specified position range? e The calibration is successful if the following conditions are met, and △s represents the tolerable error.

[0144]

[0145] 4) Submit time verification.

[0146] According to the falling speed v of the missing block, the time for submission verification. t should meet the following conditions, and △t represents the tolerable error:

[0147] y / v-Δt≤t≤y+Δt

[0148] If the above four verification logics are met at the same time, the verification is successful.

[0149] In the embodiment of the present application, when rendering the slide verification, the client first renders the background image, and then renders the slider after the user slides. Once the user releases the slider, the verification is submitted to avoid being screenshotted in advance for identification. A solution of adding a movable missing block on the top is proposed. The initial position and movement trajectory of the missing block are randomly generated, and the final position of the missing block cannot be predicted, making it much more difficult for attackers to simulate the machine.

[0150] See also Figure 5 , Figure 5 This is one of the structural diagrams of the verification device provided in the embodiment of the present application. Figure 5 As shown, the verification device 500 includes:

[0151] The first transceiver 501 is configured to:

[0152] Sending a verification request message to a server, wherein the verification request message includes verification area information;

[0153] Receiving rendering information corresponding to the verification area information sent by the server, the rendering information including shape information of a first verification block, shape information of a second verification block, and movement information of the second verification block, wherein the shape of the second verification block matches the shape of an identification on the first verification block;

[0154] The first processor 502 is configured to: render the first verification block and the second verification block in the verification area according to the rendering information, control the second verification block to move in the verification area based on the movement information, and control the first verification block to move in the verification area based on the first input;

[0155] The first transceiver 501 is further configured to:

[0156] When the first input is completed, sending verification information to the server, the verification information including the position information of the second verification block and the position information of the first verification block;

[0157] Receive the verification result sent by the server.

[0158] Optionally, the first input includes a touch sub-input and a sliding sub-input;

[0159] The first processor 502 is configured to render a sliding control and a sliding track of the sliding control in the verification area;

[0160] When the touch sub-input to the sliding control is received, rendering the first verification block and the second verification block in the verification area according to the rendering information, and controlling the second verification block to move in the verification area according to the movement information;

[0161] In case of receiving a sliding sub-input to the sliding control, the sliding control is controlled to move within the sliding track, and the first verification block is controlled to move within the verification area, wherein the movement track of the first verification block matches the movement track of the sliding control.

[0162] Optionally, the verification information further includes at least one of the following: input track information of the first input, and input duration information of the first input.

[0163] The verification device 500 can realize the embodiment of the present application Figure 2 The various processes of the method embodiment and the same beneficial effects are achieved, and will not be described again here to avoid repetition.

[0164] See also Figure 6 , Figure 6 This is the second structural diagram of the verification device provided in the embodiment of the present application. Figure 6 As shown, the verification device 600 includes:

[0165] The second transceiver 601 is used to: receive verification request information sent by the terminal, where the verification request information includes verification area information;

[0166] The second processor 602 is used to: generate rendering information corresponding to the verification area information, the rendering information including shape information of the first verification block, shape information of the second verification block and movement information of the second verification block, wherein the shape of the second verification block matches the shape of the mark on the first verification block;

[0167] The second transceiver 601 is further configured to:

[0168] receiving verification information sent by the terminal, the verification information including position information of the first verification block and position information of the second verification block, the first input being used to control the first verification block to move in the verification area;

[0169] A verification result is sent to the terminal, wherein the verification result is determined based on the verification information.

[0170] Optionally, the second processor 602 is further configured to:

[0171] Determine whether the second verification block matches the shape of the mark on the first verification block according to the position information of the first verification block and the position information of the second verification block, and obtain a first determination result;

[0172] The verification result is determined according to the first determination result.

[0173] Optionally, the second processor 602 is further configured to:

[0174] Determining whether the second verification block is located at a preset position according to the position information of the second verification block;

[0175] Determining whether the first verification block is located within a preset range according to the position information of the first verification block;

[0176] When the second verification block is located at the preset position and the first verification block is located within the preset range, determining that the second verification block matches the shape of the mark on the first verification block;

[0177] The preset position is determined based on the movement information of the second verification block, and the preset position range is determined based on the preset position.

[0178] Optionally, the verification information further includes at least one of the following: input track information of the first input, input duration information of the first input;

[0179] The second processor 602 is further configured to:

[0180] If the first determination result is that the second verification block matches the identification shape on the first verification block, at least one of the following operations is performed in a preset order: determining whether the first input is a legal input; determining whether the input duration of the first input is within a preset time range;

[0181] In the case that the determination results of the at least one operation are all affirmative results, the verification result is determined to be a successful verification.

[0182] The verification device 600 can realize the embodiment of the present application Figure 4The various processes of the method embodiment and the same beneficial effects are achieved, and will not be described again here to avoid repetition.

[0183] The present application also provides a communication device. Figure 7 , the communication device may include a processor 701, a memory 702, and a program 7021 stored in the memory 702 and executable on the processor 701.

[0184] When the communication device is a terminal, the program 7021 can be executed by the processor 701 to achieve Figure 2 Any steps in the corresponding method embodiments and achieving the same beneficial effects will not be repeated here.

[0185] When the communication device is a server, program 7021 can be executed by processor 701 to achieve Figure 4 Any steps in the corresponding method embodiments and achieving the same beneficial effects will not be repeated here.

[0186] A person skilled in the art can understand that all or part of the steps of implementing the above-mentioned embodiment method can be completed by hardware related to program instructions, and the program can be stored in a readable medium. The present application also provides a readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the above-mentioned Figure 2 or Figure 4 Any steps in the corresponding method embodiments can achieve the same technical effect and will not be repeated here to avoid repetition.

[0187] The storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0188] The above is a preferred implementation of the embodiment of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles described in the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A verification method, applied to a terminal, characterized in that: The method comprises: Sending a verification request message to a server, wherein the verification request message includes verification area information; receiving rendering information corresponding to the verification area information sent by the server, the rendering information including shape information of a first verification block, shape information of a second verification block, and movement information of the second verification block, wherein the shape of the second verification block matches the shape of an identification on the first verification block; Rendering the first verification block and the second verification block in the verification area according to the rendering information, controlling the second verification block to move in the verification area based on the movement information, and controlling the first verification block to move in the verification area based on the first input; When the first input is completed, sending verification information to the server, the verification information including the position information of the second verification block and the position information of the first verification block; Receive the verification result sent by the server.

2. The method according to claim 1, characterized in that The first input includes a touch sub-input and a sliding sub-input; The step of rendering the first verification block and the second verification block in the verification area according to the rendering information, controlling the second verification block to move in the verification area based on the movement information, and controlling the first verification block to move in the verification area based on the first input includes: Rendering a sliding control and a sliding track of the sliding control in the verification area; When the touch sub-input to the sliding control is received, rendering the first verification block and the second verification block in the verification area according to the rendering information, and controlling the second verification block to move in the verification area according to the movement information; In case of receiving a sliding sub-input to the sliding control, the sliding control is controlled to move within the sliding track, and the first verification block is controlled to move within the verification area, wherein the movement track of the first verification block matches the movement track of the sliding control.

3. The method according to claim 1 or 2, characterized in that: The verification information further includes at least one of the following: input track information of the first input and input duration information of the first input.

4. A verification method, applied to a server, characterized in that: The method comprises: Receiving verification request information sent by a terminal, wherein the verification request information includes verification area information; Generate rendering information corresponding to the verification area information, the rendering information including shape information of the first verification block, shape information of the second verification block and movement information of the second verification block, wherein the shape of the second verification block matches the shape of the mark on the first verification block; receiving verification information sent by the terminal when the first input ends, the verification information including position information of the first verification block and position information of the second verification block, the first input being used to control the first verification block to move in the verification area, wherein the position information of the second verification block is determined with reference to the verification area; A verification result is sent to the terminal, where the verification result is determined based on the verification information.

5. The method according to claim 4, characterized in that After receiving the verification information sent by the terminal and before sending the verification result to the terminal, the method further includes: Determine whether the second verification block matches the shape of the mark on the first verification block according to the position information of the first verification block and the position information of the second verification block, and obtain a first determination result; The verification result is determined according to the first determination result.

6. The method according to claim 5, characterized in that The determining, according to the position information of the first verification block and the position information of the second verification block, whether the second verification block matches the shape of the mark on the first verification block includes: Determining whether the second verification block is located at a preset position according to the position information of the second verification block; Determining whether the first verification block is located within a preset range according to the position information of the first verification block; When the second verification block is located at the preset position and the first verification block is located within the preset range, determining that the second verification block matches the shape of the mark on the first verification block; The preset position is determined based on the movement information of the second verification block, and the preset range is determined based on the preset position.

7. The method according to claim 5, characterized in that The verification information further includes at least one of the following: input track information of the first input, input duration information of the first input; Determining the verification result according to the first determination result includes: If the first determination result is that the second verification block matches the identification shape on the first verification block, at least one of the following operations is performed in a preset order: determining whether the first input is a legal input; determining whether the input duration of the first input is within a preset time range; In the case that the determination results of the at least one operation are all affirmative results, the verification result is determined to be a successful verification.

8. A verification device, characterized in that: include: A first transceiver is used for: Sending a verification request message to a server, wherein the verification request message includes verification area information; receiving rendering information corresponding to the verification area information sent by the server, the rendering information including shape information of a first verification block, shape information of a second verification block, and movement information of the second verification block, wherein the shape of the second verification block matches the shape of an identification on the first verification block; A first processor is configured to: render the first verification block and the second verification block in the verification area according to the rendering information, control the second verification block to move in the verification area based on the movement information, and control the first verification block to move in the verification area based on the first input; The first transceiver is further used for: When the first input is completed, sending verification information to the server, the verification information including the position information of the second verification block and the position information of the first verification block; Receive the verification result sent by the server.

9. A verification device, characterized in that: include: The second transceiver is used to: receive verification request information sent by the terminal, wherein the verification request information includes verification area information; A second processor is used to: generate rendering information corresponding to the verification area information, the rendering information including shape information of the first verification block, shape information of the second verification block and movement information of the second verification block, wherein the shape of the second verification block matches the shape of the mark on the first verification block; The second transceiver is further used for: receiving verification information sent by the terminal when the first input ends, the verification information including position information of the first verification block and position information of the second verification block, the first input being used to control the first verification block to move in the verification area, wherein the position information of the second verification block is determined with reference to the verification area; A verification result is sent to the terminal, where the verification result is determined based on the verification information.

10. A communication device comprising: A transceiver, a memory, a processor, and a program stored in the memory and executable on the processor; wherein the processor is used to read the program in the memory to implement the steps in the verification method as described in any one of claims 1 to 3; or, the steps in the verification method as described in any one of claims 4 to 7.

11. A readable storage medium for storing a program, characterized in that: When the program is executed by a processor, the steps of the verification method according to any one of claims 1 to 3 are implemented; Or, a step in a verification method as described in any one of claims 4 to 7.

Citation Information

Patent Citations

  • Sliding verification method and mobile terminal

    CN108011868A

  • Verification method and system of verification code, client device and server device

    CN112199658A