Summary of the invention
The present invention just is based on the problems referred to above and proposes, and its purpose is to provide a kind of dynamic Turing verification method and device, is used for solving in the prior art Turing verification pattern answer and fixes, easily the problem that cracks of the mode of being answered by image recognition or artificial generation.
The embodiment of the invention provides a kind of dynamic Turing verification method, comprises,
Generate the pattern that has the check post at random, described check post is positioned at the predetermined relative scope of described pattern;
Write down the coordinate of described check post;
Described pattern is sent to client;
Receive described client and return coordinate, this coordinate is to be reduced to coordinate with respect to pattern at client is imported the user in described client generates the display window of pre-sizing coordinate, described display window constantly shows the part of described pattern at random, comprises described check post in a part of pattern that wherein said display window shows;
Described server end is compared the described coordinate that receives with the check post coordinate of described record, and if identical the checking pass through.
A further aspect according to a kind of dynamic Turing verification method of the embodiment of the invention, at the described pattern that has the check post that generates at random, described check post also comprises after being positioned at the predetermined relative scope of described pattern, and described pattern is disturbed and/or the prospect and the background of described pattern are overturn.
According to another further aspect of a kind of dynamic Turing verification method of the embodiment of the invention, in that being sent in the client, described pattern also comprises, described pattern is carried out encryption.
The embodiment of the invention also provides a kind of client to carry out the method for dynamic Turing verification, comprises,
The pattern that has the check post that the reception server end sends, described check post are positioned at the predetermined relative scope of described pattern;
Generate the display window of pre-sizing, described display window constantly shows the part of described pattern at random, comprises described check post in a part of pattern that wherein said display window shows;
Obtain the coordinate that described client is imported in described display window, the coordinate of described input is reduced to coordinate on the described pattern, send this coordinate to server end with respect to pattern.
Carry out a further aspect of dynamic Turing verification method according to a kind of client of the embodiment of the invention, obtaining the coordinate that described client is imported in described display window, the coordinate of described input is reduced to coordinate on the described pattern, sending this coordinate with respect to pattern to server end also comprises before, if the described pattern that receives has carried out encryption, then the parameter according to the display window of described generation is decrypted the part pattern, thereby obtains a part of pattern of showing in the described display window.
Another further aspect according to the embodiment of the invention, obtaining the coordinate that described client is imported in described display window, the coordinate of described input is reduced to coordinate on the described pattern, send this coordinate to server end and also comprise before, a part of pattern that shows in the described display window is twisted conversion and change color with respect to pattern.
The embodiment of the invention also provides a kind of dynamic Turing verification server, comprises,
The pattern generation unit is used for generating at random the pattern that has the check post, and described check post is positioned at the predetermined relative scope of described pattern;
Storage element is used to write down the coordinate of described check post;
Transmitting element is used for described pattern is sent to client;
Receiving element, be used to receive described client and return coordinate, this coordinate is to be reduced to coordinate with respect to pattern at client is imported the user in described client generates the display window of pre-sizing coordinate, described display window constantly shows the part of described pattern at random, comprises described check post in a part of pattern that wherein said display window shows;
Authentication unit is used for the described coordinate that receives is compared with the check post coordinate of described record, and if identical the checking pass through.
The embodiment of the invention also provides a kind of client of dynamic Turing verification, comprises,
Receiving element is used for the pattern that has the check post that the reception server end sends, and described check post is positioned at the predetermined relative scope of described pattern;
The display window generation unit is used to generate the display window of pre-sizing, and described display window constantly shows the part of described pattern at random, comprises described check post in a part of pattern that wherein said display window shows;
Map unit is used for obtaining the coordinate that described client is imported at described display window, and the coordinate of described input is reduced to coordinate on the described pattern;
Transmitting element is used for the coordinate on the pattern of above-mentioned reduction is sent to server end.
A further aspect according to the client of a kind of dynamic Turing verification of the embodiment of the invention comprises that also decryption unit is connected with described display window generation unit, is used for the part pattern that described display window shows is carried out corresponding decryption processing.
The embodiment of the invention also provides a kind of dynamic Turing verification system, comprises,
Server end is used for generating at random the pattern that has the check post, and described check post is positioned at the predetermined relative scope of described pattern, writes down the coordinate of described check post and described pattern is sent to client; Receive described client and return coordinate, the described coordinate that receives is compared with the check post coordinate of described record, and if identical the checking pass through;
Described client, be used to generate the display window of pre-sizing, described display window constantly shows the part of described pattern at random, comprise described check post in a part of pattern that wherein said display window shows, obtain the coordinate that described client is imported in described display window, the coordinate of described input is reduced to coordinate on the described pattern, sends this coordinate to server end with respect to pattern.
In the embodiment of the invention, when the mode that adopts artificial generation to answer cracks verification mode in the embodiment of the invention, because the check post constantly changes in display window, move, use artificial generation answer or image recognition etc. to crack check post coordinate that technology returns be coordinate in the display window, it is not the coordinate of really verifying in the pattern, so can't be by the checking of server with the coordinate that this generation is answered or image recognition is returned, thereby improved the security of Turing verification, prevent the artificial threat that cracks technology for answer or image recognition etc., this method can be applied to the processes such as checking in the network, the for example checking in the recreation login, checking in the game process, perhaps login authentication in the Internet bank etc.
Embodiment
For the purpose, technical scheme and the advantage that make the embodiment of the invention is clearer,, the present invention is described in further details below in conjunction with embodiment and accompanying drawing.At this, exemplary embodiment of the present invention and explanation thereof are used to explain the present invention, but not as a limitation of the invention.
In following embodiment, locomotive or motor train unit are referred to as locomotive, but what it may occur to persons skilled in the art that is that method of the present invention, Apparatus and system go for locomotive or motor train unit.
Be illustrated in figure 2 as a kind of dynamic Turing verification method process flow diagram of the embodiment of the invention.
Comprise step 101, generate the pattern that has the check post at random, described check post is positioned at the predetermined relative scope of described pattern.Described checking pattern can be the pattern of annular, also can be for having other figure of gauge point.Above-mentioned pattern makes the user be more prone to when preventing to crack automatically, chooses the check post clearly, so that the finishing fast of Turing verification.
Described pattern is the interference of ripple or other form in addition, for example adds the twice shear wave to disturb, and the ripple of ripple frequently, direction all is at random, can increase the difficulty that automated image analysis etc. cracks like this.
As another preferred example of the present invention, described pattern is carried out the upset of prospect and background, for example whole pattern being divided equally is two parts, the foreground of part pattern is a black, background colour is a white, the foreground of another part pattern is a white, background colour is a black, as what those skilled in the art can associate be, the upset of foreground and background colour can have a lot of middle variations, the embodiment of the invention does not limit it, can further disturb automated image analysis etc. to crack technology like this, increases the security of checking.
Step 102 writes down the coordinate of described check post.
Step 103 sends to client with described pattern.
In this step, can also comprise encrypting step, described pattern is encrypted, that is to say that the data that pattern is formed encrypt, for example adopt encryption technology such as random number to carry out encryption.Thereby guarantee the safety of pattern in Network Transmission.
Step 104, receive described client and return coordinate, this coordinate is to be reduced to coordinate with respect to pattern at client is imported the user in described client generates the display window of pre-sizing coordinate, described display window constantly shows the part of described pattern at random, comprises described check post in a part of pattern that wherein said display window shows.
If client is encrypted the coordinate data of returning, then the coordinate data that can also return client in this step is decrypted processing.
Step 105, described server end is compared the described coordinate that receives with the check post coordinate of described record, if identical the checking pass through.
In above-mentioned steps, if comparative result difference, the then logging request of refusing user's.
Be illustrated in figure 3 as a kind of client of the embodiment of the invention and carry out the method flow diagram of dynamic Turing verification.
Comprise step 201, the pattern that has the check post that the reception server end sends, described check post is positioned at the predetermined relative scope of described pattern.
Step 202 generates the display window of pre-sizing, and described display window constantly shows the part of described pattern at random, comprises described check post in a part of pattern that wherein said display window shows.
An above-mentioned part that constantly shows described pattern at random can for, display window is along certain part of the continuous display pattern of track at random.
When in the display of described display window in described client during stationkeeping, the display result that is reached is that pattern constantly moves in display window; Described display window can also move in the display of described client.
If the described pattern that has the check post has been carried out encryption at server end, then when display pattern a part of, the pattern of this part is carried out corresponding decryption processing, preferred, in order to prevent that decipherment algorithm is cracked, can adopt virtual machine technique to be decrypted processing.
Wherein, pattern to part is decrypted processing, can obtain the coordinate of display window in described pattern of generation earlier, the address offset amount of coordinates computed pattern data in internal memory, pattern sequential storage normally in internal memory, side-play amount according to coordinate can find part pattern data shown in the display window easily, and this part pattern data is deciphered accordingly.
When in described display window, showing described pattern a part of, can also carry out at random distortion conversion and change color to the part pattern that described display window shows, to strengthen cracking of image recognition technology, can adopt in the prior art image is twisted technology with change color, not do special qualification in embodiments of the present invention.
Step 203 is obtained the coordinate that described client is imported in described display window, the coordinate of described input is reduced to coordinate on the described pattern, sends this coordinate with respect to pattern to server end.The click that can be by mouse or the mode of touch screen are imported the coordinate of the check post that the user thinks.
Pass through above-mentioned steps, when the mode that adopts artificial generation to answer cracks verification mode in the embodiment of the invention, because the check post constantly changes in display window, move, use artificial generation answer or image recognition etc. to crack check post coordinate that technology returns be coordinate in the display window, it is not the coordinate of really verifying in the pattern, so can't be by the checking of server with the coordinate that this generation is answered or image recognition is returned, thereby improved the security of Turing verification, prevent the artificial threat that cracks technology for answer or image recognition etc., this method can be applied to the processes such as checking in the network, the for example checking in the recreation login, checking in the game process, perhaps login authentication in the Internet bank etc.
Be illustrated in figure 4 as the structural representation of a kind of dynamic Turing verification server of the embodiment of the invention.
Comprise that pattern generation unit 301 is used for generating at random the pattern that has the check post, described check post is positioned at the predetermined relative scope of described pattern.
Storage element 302 is used to write down the coordinate of described check post.
Transmitting element 303 is used for described pattern is sent to client.
Receiving element 304, be used to receive described client and return coordinate, this coordinate is to be reduced to coordinate with respect to pattern at client is imported the user in described client generates the display window of pre-sizing coordinate, described display window constantly shows the part of described pattern at random, comprises described check post in a part of pattern that wherein said display window shows.
Authentication unit 305 is used for the described coordinate that receives is compared with the check post coordinate of described record, and if identical the checking pass through.
This device can also comprise pattern interference units 306, is connected with described pattern generation unit 301, is used for described pattern is disturbed, and for example uses the interference of ripple or other form.
Pattern roll-over unit 307 is connected with described pattern generation unit 301 or pattern interference units 306, is used for the prospect and the background of described pattern are overturn.
Ciphering unit 308 is connected with described transmitting element 303, is used for described pattern is carried out encryption.
Be illustrated in figure 5 as the client terminal structure synoptic diagram of a kind of dynamic Turing verification of the embodiment of the invention.
Comprise that receiving element 401 is used for the pattern that has the check post that the reception server end sends, described check post is positioned at the predetermined relative scope of described pattern.
Display window generation unit 402 is used to generate the display window of pre-sizing, and described display window constantly shows the part of described pattern at random, comprises described check post in a part of pattern that wherein said display window shows.
Map unit 403 is used for obtaining the coordinate that described client is imported at described display window, and the coordinate of described input is reduced to coordinate on the described pattern.
Transmitting element 404 is used for the coordinate on the pattern of above-mentioned reduction is sent to server end.
Comprise also that in the present embodiment decryption unit 405 is connected with described display window generation unit 402, be used for the part pattern that described display window shows is carried out corresponding decryption processing.
Pattern interference units 406 is connected with described display window generation unit 402 or decryption unit 405, is used for the part pattern that display window shows is carried out at random distortion conversion and change color.
Can strengthen the security of Turing verification by said apparatus, prevent the artificial threat that cracks technology for answer or image recognition etc., said apparatus can be applied to the processes such as checking in the network, the for example checking in the recreation login, checking in the game process, perhaps login authentication in the Internet bank etc.
Be illustrated in figure 6 as the structural representation of embodiment of the invention dynamic Turing verification system.
Comprise server end 501, client 502.
Described server end 501 is used for generating at random the pattern that has the check post, and described check post is positioned at the predetermined relative scope of described pattern, writes down the coordinate of described check post and described pattern is sent to client; Receive described client and return coordinate, the described coordinate that receives is compared with the check post coordinate of described record, and if identical the checking pass through.
Described client 502, be used to generate the display window of pre-sizing, described display window constantly shows the part of described pattern at random, comprise described check post in a part of pattern that wherein said display window shows, obtain the coordinate that described client is imported in described display window, the coordinate of described input is reduced to coordinate on the described pattern, sends this coordinate to server end with respect to pattern.
Be illustrated in figure 7 as the specific embodiment process flow diagram of the method for a kind of dynamic Turing verification of the present invention.
Step 601, server end generates an annular corrugated pattern at random, size is 192*192, the coordinate of check post is that (117,71) are located, shown in Fig. 8 A, the position of this check post in certain presumptive area at random, the presumptive area of check post is in 1/3 zone of ignorance of whole pattern center in this example, shown in black region among Fig. 8 B, stores the coordinate of described check post.
Step 602 is disturbed described pattern, adds the twice shear wave in this example and disturbs, and the ripple frequency and the direction of ripple all generate at random, shown in Fig. 8 C.
Step 603 is carried out the upset of prospect and background to the pattern after the described interference, and to carrying out the upset of prospect and background in certain random areas, the ripple place of center section has carried out the upset of prospect and background shown in Fig. 8 D in this example.
Step 604 is encrypted the pattern data after the above-mentioned upset, can adopt the pseudo-random sequence cryptographic algorithm to encrypt in this example.
Step 605, behind the pattern of client after receiving this encryption, be stored in the internal memory, and generate a display window, the area of this display window size is 2/3 of a described pattern area size in this example, be 128*128, can guarantee like this to comprise the check post certainly in the shown pattern that goes out of display window no matter, shown in Fig. 8 E in bright relatively white box shape zone A be display window.
Step 606, taking out corresponding pattern data according to the position coordinates on the size of above-mentioned display window and four summits in internal memory is decrypted, and the pattern data after will deciphering is converted into visual pattern, in order to stop decipherment algorithm to be cracked, this decipherment algorithm is carried out by a kind of virtual machine based on the LUA script, this virtual machine can prevent effectively that algorithm is cracked, scheme as an alternative, also can use based on the virtual machine technique that gives other scripts, Python for example, above-mentioned Python is a kind of object-oriented, literal translation formula computer programming language.
Step 607, the part pattern that demonstrates in the described display window is carried out at random distortion conversion and change color, this distortion conversion can add the random variation of trace on the basis of sine function, be similar to the rolling of wave when making the pattern dynamic change, shown in Fig. 8 F, after this step, return step 606, make pattern in display window constantly move and change, thereby make the check post in this display window, constantly move and change.
Step 608, catch the input of user in described display window, for example click input, after getting access to the coordinate of this click input, this input coordinate is reduced to coordinate in whole pattern, for example the input coordinate in the display window is (100,100), and be reduced to whole the coordinate in the pattern is (75,75), if user's click coordinate is (117,71) after reducing, illustrate that then this user's point has hit the check post, just can think by checking when the later stage, server end compared.
Step 609 returns to server end with the coordinate of described reduction.
Step 610, server end compares the coordinate of the check post of described coordinate that receives and storage, if identical then by checking, otherwise return information to client.
Pass through the embodiment of the invention, the pattern that generates generates automatically at server end fully, do not need artificial participation, can save a large amount of hand labors, the pattern that is generated is generated by a plurality of enchancement factors, irregularities, can't carry out Brute Force by collecting a large amount of patterns fully, decipherment algorithm in client operates in the homemade virtual machine, the extremely difficult complete master pattern of this algorithm acquisition that cracks of plug-in program, display part pattern at random in the display window that client generates, plug-in program can't screenshotss and are answered a question by the mode that artificial generation is answered, because artificial generation is answered and do not know coordinate corresponding relation between display window and whole the pattern.
Above-described embodiment; purpose of the present invention, technical scheme and beneficial effect are further described; institute is understood that; the above only is the specific embodiment of the present invention; and be not intended to limit the scope of the invention; within the spirit and principles in the present invention all, any modification of being made, be equal to replacement, improvement etc., all should be included within protection scope of the present invention.