WO2018059033A1 - Verification method, server and system - Google Patents

Verification method, server and system Download PDF

Info

Publication number
WO2018059033A1
WO2018059033A1 PCT/CN2017/090880 CN2017090880W WO2018059033A1 WO 2018059033 A1 WO2018059033 A1 WO 2018059033A1 CN 2017090880 W CN2017090880 W CN 2017090880W WO 2018059033 A1 WO2018059033 A1 WO 2018059033A1
Authority
WO
WIPO (PCT)
Prior art keywords
verification code
pictures
picture
original
client
Prior art date
Application number
PCT/CN2017/090880
Other languages
French (fr)
Chinese (zh)
Inventor
欧锻灏
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2018059033A1 publication Critical patent/WO2018059033A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Definitions

  • the present invention relates to the field of communications, and in particular, to a verification method, a server, and a system.
  • Verification codes can be used to prevent hackers from automatically registering websites with tools, and using tools to brute force specific users, and then constantly log in and flood.
  • the existing verification code can be a randomly generated number or letter and displayed to the user in the form of a picture, allowing the user to input as it is, and only the input is correct before the subsequent operation can be performed.
  • the verification code has the feature of "forced attention", that is, the user has to pay attention.
  • the advertiser can sell the carrier carrying the verification code as an advertisement space.
  • advertisers can use the frequently generated verification code to advertise.
  • One method is to place an advertisement picture in the place where the verification code is input.
  • the advertisement picture includes an explicit random text, but after the user is familiar with this method, it is easy to ignore the advertisement content and directly read the random text.
  • Another method can also put an advertisement word image in the place where the verification code is input.
  • There is an advertisement word in the advertisement word picture and the verification code can be determined according to the advertisement word, but due to the limited number of advertisement word pictures in the verification code server, This form of ad verification code is not random enough to easily lead to exhaustive attacks.
  • the probability of cracking of the machine can be improved next time.
  • This type of verification code scheme is not secure enough.
  • the invention provides a verification method, a server and a system to solve the contradiction between the advertisement effect and the security of the verification code.
  • an embodiment of the present invention provides a verification method, where the method is applied to a verification code server, including: receiving a verification code acquisition request sent by a client; generating and saving a system verification code; wherein the system verification code is String random text determination; since the system verification code is determined by random text, illegal user brute force cracking can be avoided.
  • the verification code picture is not simply superimposed on the verification code, but the verification code is encoded into multiple pictures, so that the system verification code and the picture can be displayed separately. Added machine identification The difficulty of the certificate.
  • the multiple images are advertisement images, this method will not affect the display effect of the advertisement images.
  • the method further includes:
  • the verification code server sends a script to the client, the script program instructing the client to monitor an operation instruction of the user for at least one verification code picture in the k verification code pictures, and superimposing the k verification code pictures in the operation instruction
  • the information hidden in the k verification code pictures is displayed when the preset position is reached.
  • the script further includes prompting information for prompting the user to operate in the preset position on the client, and the prompt information may be, for example, “Please move the right verification code image to the left side to verify with the left side. Code images overlap.”
  • the verification code server uses a (k, n) based visual cryptography method to encode the system verification code into n original pictures to generate k verification code pictures. Specifically, the verification code server converts the system verification code into a secret picture; acquires n original pictures; and encodes the secret picture into the obtained n original pictures based on the (k, n) visual cryptography method, and obtains n pictures. a shadow picture; according to any k shadow pictures in the n shadow pictures, k picture verification code pictures are obtained.
  • the verification code server uses the least significant bit substitution algorithm to encode the system verification code into n original pictures to generate k verification code pictures.
  • the least significant bit substitution algorithm is to embed the secret picture into the least significant bit of the original picture pixel value, also called the least significant bit. Changing this position has the least impact on the quality of the original picture.
  • the system verification code is converted into a secret picture; two original pictures are acquired; and the secret picture and the obtained two original pictures are processed by using a least significant bit replacement algorithm to obtain two verification code pictures.
  • an embodiment of the present invention provides a verification code server, which has the function of implementing the verification code server behavior in the foregoing first aspect.
  • the functions may be implemented by hardware or by corresponding software implemented by hardware.
  • the hardware or software includes one or more modules corresponding to the functions described above.
  • the structure of the captcha server includes a processor and a memory for storing a program supporting the captcha server to perform the above method, the processor being configured to perform the in-memory store program of.
  • the verification code server may also include a communication interface for the verification code server to communicate with other devices or communication networks.
  • an embodiment of the present invention provides a computer storage medium for storing computer software instructions used by the verification code server, which includes a program designed to execute the above aspects as a verification code server.
  • the solution provided by the present invention encodes a randomly generated system verification code into a plurality of original pictures to generate a plurality of verification code pictures, which enables the system verification code and the picture to be displayed separately. Since the system verification code is randomly generated, brute force cracking can be avoided to ensure the security of the verification code. In addition, when the original picture is an advertisement picture containing advertisement information, the separate display ensures the advertisement effect.
  • FIG. 1 is a schematic diagram of a verification code system according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a computer device according to an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of a method for using an advertisement verification code according to an embodiment of the present invention
  • 4A is an advertisement picture according to an embodiment of the present invention.
  • FIG. 4B is an advertisement picture according to an embodiment of the present invention.
  • 4C is a user interface diagram of a user performing a login operation according to an embodiment of the present invention.
  • 4D is a user interface diagram of a user mobile advertising verification code according to an embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of a verification code server according to an embodiment of the present invention.
  • the verification code system can be implemented in the server-client system 100.
  • the server-client system 100 includes a CAPTCHA server 101 and a network 103.
  • the client 102 communicates with the verification code server 101 via the network 103.
  • the verification code server 101 is configured to generate and store a random text as a system verification code in response to the verification code acquisition request sent by the client 102 for requesting the verification code picture, and convert the system verification code into a secret picture; Obtaining the original picture from the picture library, and encoding the secret picture into the obtained original picture, thereby generating k verification code pictures and returning to the user client 102; receiving and verifying that the user recognizes the k verification code pictures according to the operation
  • the verification code of the information input where k is an integer greater than or equal to 2.
  • the administrator of the verification code server can log in to the verification code server, manage the picture library in the verification code server 101, and add, delete, change, and query the picture library in the verification code server.
  • the client 102 is configured to obtain k verification code pictures from the verification code server 101, and display the obtained k verification codes to the user; in response to the operation instruction of the k verification codes, receive the verification code input by the user, and receive the user The input verification code is sent to the verification code server 101.
  • (k,n)-based visual cipher encodes a secret picture into n pictures (such as the original picture in the embodiment of the present invention) to generate n shadow pictures, wherein n shadow pictures and the original n pictures are in visual Same on the same.
  • n pictures such as the original picture in the embodiment of the present invention
  • n shadow pictures and the original n pictures are in visual Same on the same.
  • Least Significant Bit (LSB) Substitution Algorithm A simple and commonly used image information hiding algorithm that uses the LSB replacement algorithm to encode a randomly generated system verification code to the least significant bit of the original picture (also called the least significant bit). . Since changing the least significant bit has the least impact on the quality of the original picture, the difference between the original picture and the captcha picture cannot be seen from the naked eye.
  • the verification code server 101 acquires the n original picture and encodes the secret picture to the acquired n.
  • k verification code pictures are generated, and the generated k verification code pictures are sent to the client 102.
  • the client 102 presents the k verification code pictures sent by the verification code server to the user, and responds to the operation instruction of the at least one verification code picture in the k verification code picture, such as by dragging or inputting the display coordinates.
  • the method moves the display position of at least one verification code picture in the k verification code picture.
  • the user recognizes the information hidden in the k verification code picture by operating the k verification code picture, and inputs the verification code at the specified position according to the recognized information, and the client 102 sends the verification code input by the user to the verification code server. 101, in order for the verification code server 101 to confirm whether the verification code returned by the client 102 is correct.
  • the picture in the above picture library may be an advertisement picture.
  • the advertisement effect of the verification code picture is determined by the picture library, and different advertisements are placed by setting different advertisement pictures in the picture library.
  • the number of images in the image library is small, the advertising intensity is large; if there are many images in the image library, the content of the advertisement is richer. Images in the gallery can be set by the administrator based on different advertising strategies.
  • the security of the ad verification code is determined by the strength of the random text generation algorithm, which makes brute force impossible because the generated text is random. By encoding the secret picture determined by the random text in a limited number of advertisement pictures, both the benefit of the advertisement and the security of the verification code are ensured.
  • the number of the clients 102 may also be multiple, which is not limited by the embodiment of the present invention.
  • the client 102 can be any terminal such as a mobile phone, a tablet, a desktop computer, or a notebook computer.
  • the verification code server 101 of FIG. 1 can be implemented in the manner of the computer device (or system) in FIG. 2.
  • FIG. 2 is a schematic diagram of a computer device according to an embodiment of the present invention.
  • the computer device 200 includes at least one processor 201, a communication bus 202, a memory 203, and at least one communication interface 204.
  • the processor 201 can be a general purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present invention.
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • Communication bus 202 can include a path for communicating information between the components described above.
  • the communication interface 204 uses devices such as any transceiver for communicating with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), and the like.
  • RAN Radio Access Network
  • WLAN Wireless Local Area Networks
  • the memory 203 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type that can store information and instructions.
  • the dynamic storage device can also be an Electrically Erasable Programmable Read-Only Memory (EEPROM), a Compact Disc Read-Only Memory (CD-ROM) or other optical disc storage, and a disc storage device. (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can be Any other media accessed, but not limited to this.
  • the memory can exist independently and be connected to the processor via a bus.
  • the memory can also be integrated with the processor.
  • the memory 203 is used to store program code for executing the solution of the present invention, and is controlled by the processor 201 for execution.
  • the processor 201 is configured to execute program code stored in the memory 503.
  • processor 201 may include one or more CPUs, such as CPU0 and CPU1 in FIG.
  • computer device 200 can include multiple processors, such as processor 201 and processor 208 in FIG. Each of these processors can be a single-CPU processor. It can also be a multi-core processor.
  • a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data, such as computer program instructions.
  • computer device 200 may also include an output device 205 and an input device 206.
  • Output device 205 is in communication with processor 201 and can display information in a variety of ways.
  • the output device 205 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector.
  • Input device 206 is in communication with processor 201 and can accept user input in a variety of ways.
  • input device 206 can be a mouse, keyboard, touch screen device or sensing device, and the like.
  • the computer device 200 described above can be a general purpose computer device or a special purpose computer device.
  • the computer device 200 can be a desktop computer, a portable computer, a network server, a personal digital assistant (PDA), a mobile phone, a tablet, a wireless terminal device, a communication device, an embedded device, or have FIG. A device of similar structure.
  • Embodiments of the invention do not limit the type of computer device 200.
  • the verification code server in FIG. 1 may be the device shown in FIG. 2, and one or more software modules (eg, an interaction module, a processing module, etc.) are stored in the memory of the verification code server.
  • the verification code server can implement the software module by using the processor and the program code in the memory to implement the verification method provided by the embodiment of the present invention.
  • the embodiment of the present invention provides a schematic flowchart of the verification method, including:
  • Step 301 The administrator logs in the verification code server to manage the picture library in the verification code server.
  • the administrator logs in to the verification code server, and for security, can perform authority control on the login behavior of the administrator.
  • Administrators can manage images in the photo gallery based on ad policies, such as adding or removing images from the gallery.
  • the picture in the picture library is hereinafter referred to as an original picture. For example, Huawei P9 will be released in London on April 6, 2016. Huawei wants to deliver the message through the advertisement verification code server.
  • the administrator can add the two pictures in Figure 4A and Figure 4B to the picture library.
  • Step 302 The client sends a verification code acquisition request for requesting the verification code picture to the verification code server.
  • Step 303 The verification code server receives the verification code acquisition request sent by the client, generates and saves a system verification code, and encodes the system verification code into n original pictures to generate k verification code pictures; wherein, k and n are An integer greater than or equal to 2, and k is less than or equal to n.
  • n original pictures may be n different pictures in the picture library, or may be obtained by copying one or more pictures in the picture library.
  • the content of the n original pictures is not limited in the embodiment of the present invention.
  • each verification code picture in the k verification code picture is visually identical to the corresponding original picture, and the system verification code is hidden in the verification code picture, and is invisible to the naked eye.
  • the user can identify the hidden system verification code by performing an overlay operation on the k verification code pictures, and any one of the k verification code pictures or the multiple verification code pictures smaller than k pictures Unable to get the system verification code
  • the verification code server encodes the system verification code into n original pictures, and generates k verification code pictures, specifically:
  • the secret picture is encoded into the n original pictures based on the (k, n) visual cryptography method to obtain n shadow pictures, which may be implemented in various manners. limited.
  • the embodiment of the present invention further provides a method for generating a verification code picture.
  • Method 2 The k and n are both equal to 2, and the system verification code is encoded into n original pictures to generate k verification code pictures. Specifically, the system verification code is converted into a secret picture; two original pictures are acquired; and the secret picture and the two original pictures are processed by using a least significant bit replacement algorithm to obtain two verification code pictures.
  • the method of processing the secret picture and the two original pictures by using a least significant bit replacement algorithm to obtain two verification code pictures specifically: randomly generating a random picture S1 having the same size as the secret picture;
  • the secret picture and the random picture S1 perform a pixel-by-pixel exclusive-OR operation to obtain an exclusive-OR picture S2; performing RGB bit-plane decomposition on the acquired two original pictures to determine the acquired two original pictures.
  • the hidden bearer is any one of an R plane, a G plane, and a B plane; embedding the random picture S1 into a lowest position of a hidden picture of an original picture using a least significant bit replacement algorithm, and The picture S2 is embedded in the lowest bit of the hidden carrier of another original picture, and the two picture of the verification code are obtained.
  • the LSB replacement algorithm is used to encode the secret picture to the least significant bit of the original picture (also known as the least significant bit). Since changing the least significant bit has the least impact on the quality of the original picture, the difference between the captcha picture and the original picture cannot be seen from the naked eye.
  • the type of the added picture is marked.
  • the picture of the verification code when the type of the picture is binary, the method 1 is used to generate the verification code picture;
  • the type of the picture is an RGB color picture, the method 2 is used to generate a verification code picture.
  • the display of the system verification code on the secret picture may be distorted or noise-added to increase the difficulty of machine identification.
  • Step 304 The verification code server sends the generated k verification code pictures to the client.
  • Step 305 The client receives the k verification code pictures sent by the verification code server, and displays the k verification code pictures, and receives the verification code input by the user in response to the operation instruction of the k verification code pictures by the user;
  • the client displays the received k verification code pictures on the output device (such as a display).
  • the user operates at least one verification code picture in the k verification code picture by dragging, moving, etc., and changes the display position of the k verification code picture.
  • the client displays the information hidden in the k verification code picture.
  • the user visually observes the information hidden in the k pieces of verification code pictures, and inputs the verification code at a preset position (such as the verification code input box 401) according to the observed information.
  • the client further receives a script program from the verification code server; the script program instructs the client to monitor an operation instruction of the user for at least one verification code picture in the k verification code pictures, and And displaying information hidden in the k verification code pictures when the operation instruction causes the k verification code pictures to be superimposed to a preset position.
  • the script program further includes prompting information for prompting the user to operate in the preset position of the client, where the prompt information may be, for example, “Please move the right verification code image to the left side to make it to the left side. Captcha images overlap.”
  • the client receives two verification code pictures from the verification code server, and displays the two received verification code pictures in the verification code display box 402.
  • the two verification code pictures are viewed from the naked eye, and the original two pictures of FIG. 4A and FIG. 4B The pieces are the same.
  • the user can change the display position of the two verification code pictures in the verification code display box by dragging and dropping, moving, and the like.
  • Step 306 The client sends the verification code input by the user to the verification code server.
  • the client transmits the verification code input by the user to the verification code server.
  • Step 307 The verification code server receives the verification code returned by the client, and verifies the verification code.
  • the verification code server when the verification code server saves the system verification code in step 303, a label is set for the system verification code, and the label is carried when the verification code picture is returned to the client, so as to facilitate
  • the client carries the tag when it returns the verification code entered by the user.
  • the verification code server can obtain the corresponding system verification code according to the label returned by the client, thereby determining whether the verification code input by the user is correct by comparing the verification code and the system verification code input by the user returned by the client.
  • the tag can be, for example, a session identifier or a random number.
  • the verification code server After the verification code server generates the system verification code, the timer is started, and when the timer expires, the verification code server deletes the system verification code.
  • the server receives the verification code returned by the client and cannot obtain the corresponding system verification code according to the label, the server returns a response message that the verification code expires.
  • Step 308 The verification code server sends the verification result to the client, so that the client performs the corresponding operation according to the verification result.
  • the present invention does not limit the form of the verification result and the specific operation performed by the user client according to the verification result.
  • the solution provided by the embodiment of the present invention encodes a system verification code including random text determination into n original pictures to generate k verification code pictures, wherein the verification code picture is visually identical to the original picture content, and the k sheets are Any one of the captcha images or multiple captcha images smaller than k can't get hidden information. Since the information hidden in the k-code picture is determined by the randomly generated text, illegal users such as hackers cannot establish the relationship between the verification code and the original picture by exhaustively, and solve the problem that the number of verification codes is limited and vulnerable to exhaustive attacks. The problem. In addition, as long as the original picture used for advertising purposes does not change, the k verification code pictures generated each time are visually the same, which makes the advertisement more targeted and improves the advertising efficiency.
  • the embodiment of the present invention further describes a structure diagram of a verification code server that belongs to the same inventive concept in the foregoing method embodiments.
  • the verification code server 500 is configured to perform the functions of the verification code server 101 in the foregoing method embodiment of FIG. 3, including: a receiving unit 501, a processing unit 502, and a sending unit 503.
  • the receiving unit 501 is configured to receive a verification code acquisition request sent by the client.
  • the processing unit 502 is configured to generate and save a system verification code, where the system verification code is determined by a string of random texts; and the system verification code is encoded into n original pictures to generate k verification code pictures; k and n are integers greater than or equal to 2, and k is less than or equal to n;
  • a sending unit 503, configured to send the k verification code pictures to the client;
  • the receiving unit 501 is further configured to receive a verification request sent by the client, where the verification request carries a verification code input by the user according to the k verification code picture;
  • the processing unit 502 is further configured to determine, according to the system verification code, whether the verification code input by the user is correct.
  • the sending unit 503 is further configured to send, to the client, a script program, where the script program instructs the client to monitor, by the user, at least one verification code in the k verification code pictures.
  • the processing unit 502 is configured to encode the system verification code into n original pictures, and generate k verification code pictures, specifically: converting the system verification code into a secret picture. Obtaining n original pictures; encoding the secret picture into the obtained n original pictures based on the (k, n) visual cryptography method to obtain n shadow pictures; according to any k of the n shadow pictures A shadow picture, get k verification code pictures.
  • the processing unit 502 is configured to encode the system verification code into n original pictures, and generate k verification code pictures, specifically: The system verification code is converted into a secret picture; two original pictures are obtained; and the secret picture and the obtained two original pictures are processed by using a least significant bit replacement algorithm to obtain two verification code pictures.
  • the least significant bit replacement algorithm is used to process the secret picture and the obtained two original pictures to obtain two verification code pictures, specifically: randomly generating a random picture S1 having the same size as the secret picture; The secret picture and the random picture S1 perform a pixel-by-pixel exclusive-OR operation to obtain an exclusive-OR picture S2; performing RGB bit-plane decomposition on the acquired two original pictures to determine the hiding of the acquired two original pictures a carrier; the hidden carrier being any one of an R plane, a G plane, and a B plane; embedding the random picture S1 into a lowest bit of a hidden picture of an original picture, and using the least significant bit replacement algorithm S2 is embedded in the lowest bit of the hidden carrier of another original picture, and the two verification code pictures are obtained.
  • the operation instruction mentioned above may specifically be dragging or moving the k verification code pictures to change the display position of the k verification code pictures.
  • the verification code server 500 is presented in the form of a functional unit.
  • a "unit” herein may refer to an application-specific integrated circuit (ASIC), circuitry, a processor and memory that executes one or more software or firmware programs, integrated logic circuitry, and/or other functions that provide the functionality described above. Device.
  • ASIC application-specific integrated circuit
  • the verification code server 500 can take the form shown in FIG.
  • the receiving unit 501, the processing unit 502, and the sending unit 503 can be implemented by the processor and the memory of FIG. 2.
  • the receiving unit 501, and the sending unit 503 can be implemented by executing an interaction module by the processor, and the processing unit 502 can This is achieved by executing the processing module by the processor.
  • the embodiment of the present invention further provides a computer storage medium for storing computer software instructions for implementing the verification code server shown in FIG. 5, which includes a program designed to execute the foregoing method embodiment.
  • the verification method provided by the embodiment of the present invention can be implemented by executing a stored program.
  • embodiments of the present invention can be provided as a method, apparatus (device), or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • the computer program is stored/distributed in a suitable medium, provided with other hardware or as part of the hardware, or in other distributed forms, such as over the Internet or other wired or wireless telecommunication systems.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Abstract

The present invention relates to the field of communications. Provided is a verification method, comprising: a verification code server receiving a verification code acquisition request sent by a client; generating and saving a system verification code, wherein the system verification code is determined by a string of random text; encoding the system verification code to n original pictures, and generating k verification code pictures, wherein k and n are integers greater than two, and k is less than or equal to n; sending the k verification code pictures to the client; receiving a verification request sent by the client, wherein the verification request carries a verification code input by a user according to the k verification code pictures; and according to the system verification code, determining whether the verification code input by the user is correct. By means of the above-mentioned solution, a randomly generated system verification code is encoded to n original pictures, so that both the difficulty of machine recognition is increased, and the security of the verification code is ensured.

Description

一种验证方法、服务器和系统Authentication method, server and system
本申请要求于2016年9月30日提交中国专利局、申请号为201610878903.9,发明名称为“一种验证方法、服务器和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims priority to Chinese Patent Application No. 201610878903.9, entitled "A Verification Method, Server and System", filed on September 30, 2016, the entire contents of in.
技术领域Technical field
本发明涉及通信领域,尤其涉及一种验证方法、服务器和系统。The present invention relates to the field of communications, and in particular, to a verification method, a server, and a system.
背景技术Background technique
目前,大部分网站在注册或登录时,都会要求用户输入验证码。验证码可以用来防止黑客用工具自动批量注册网站,以及使用工具暴力破解特定的用户,进而不断的登录、灌水。现有的验证码可以是随机生成的数字或字母,并以图片的形式显示给用户,让用户原样输入,并且只有输入正确,才能进行后续操作。Currently, most websites require users to enter a verification code when they register or log in. Verification codes can be used to prevent hackers from automatically registering websites with tools, and using tools to brute force specific users, and then constantly log in and flood. The existing verification code can be a randomly generated number or letter and displayed to the user in the form of a picture, allowing the user to input as it is, and only the input is correct before the subsequent operation can be performed.
因此,验证码具有“强制注意”的特点,即用户不得不关注。利用验证码的强制注意的特点,广告商可以将承载验证码的载体作为广告位出售。Therefore, the verification code has the feature of "forced attention", that is, the user has to pay attention. With the mandatory attention feature of the verification code, the advertiser can sell the carrier carrying the verification code as an advertisement space.
为了增加广告效应,广告商可以利用频繁出现的验证码进行广告。一种方法是在验证码输入的地方,置入一个广告图片,广告图片中包括一个显性的随机文本,但是用户熟悉这种方式之后,容易忽略广告内容,直接读取随机文本。另一种方法也可以在验证码输入的地方置入一个广告词图片,广告词图片中有一段广告词,验证码可以根据广告词确定,但是由于验证码服务器中的广告词图片的数量有限,这种形式的广告验证码随机性不足,容易导致穷举攻击。例如,一旦将出现过的广告词图片经由某种方式处理得到图片特征,然后将图片特征与验证码信息的对应关系存储到数据库,下次遇到时候,就能提高机器的破解的概率,因此,这种验证码方案的安全性不足。In order to increase the advertising effect, advertisers can use the frequently generated verification code to advertise. One method is to place an advertisement picture in the place where the verification code is input. The advertisement picture includes an explicit random text, but after the user is familiar with this method, it is easy to ignore the advertisement content and directly read the random text. Another method can also put an advertisement word image in the place where the verification code is input. There is an advertisement word in the advertisement word picture, and the verification code can be determined according to the advertisement word, but due to the limited number of advertisement word pictures in the verification code server, This form of ad verification code is not random enough to easily lead to exhaustive attacks. For example, once the image of the advertisement word that has appeared is processed in some way to obtain the picture feature, and then the correspondence between the picture feature and the verification code information is stored in the database, the probability of cracking of the machine can be improved next time. This type of verification code scheme is not secure enough.
发明内容Summary of the invention
本发明提供了一种验证方法、服务器和系统,以解决广告效果和验证码安全性的矛盾。The invention provides a verification method, a server and a system to solve the contradiction between the advertisement effect and the security of the verification code.
为达到上述目的,本发明的实施例采用如下技术方案:In order to achieve the above object, embodiments of the present invention adopt the following technical solutions:
第一方面,本发明实施例提供一种验证方法,该方法应用于验证码服务器,包括:接收客户端发送的验证码获取请求;生成并保存系统验证码;其中,所述系统验证码由一串随机文本确定;由于系统验证码由随机文本确定,因此可以避免非法用户暴力破解。In a first aspect, an embodiment of the present invention provides a verification method, where the method is applied to a verification code server, including: receiving a verification code acquisition request sent by a client; generating and saving a system verification code; wherein the system verification code is String random text determination; since the system verification code is determined by random text, illegal user brute force cracking can be avoided.
将所述系统验证码编码到n张原始图片中,生成k张验证码图片;其中,k和n为大于等于2的整数,且k小于等于n;将所述k张验证码图片发送给所述客户端;接收所述客户端发送的验证请求,所述验证请求携带用户根据所述k张验证码图片输入的验证码;根据所述系统验证码,确定所述用户输入的验证码是否正确。Encoding the system verification code into n original pictures to generate k verification code pictures; wherein k and n are integers greater than or equal to 2, and k is less than or equal to n; sending the k verification code pictures to the Receiving a verification request sent by the client, the verification request carrying a verification code input by the user according to the k verification code picture; determining, according to the system verification code, whether the verification code input by the user is correct .
相较于现有技术,本发明实施例中验证码图片不是简单的将验证码叠加在一张图片上,而是将验证码编码到多张图片中,使得系统验证码和图片可以分开显示,增加了机器识别验 证码的难度。当该多张图片为广告图片时,这种方法将不影响广告图片的显示效果。Compared with the prior art, in the embodiment of the present invention, the verification code picture is not simply superimposed on the verification code, but the verification code is encoded into multiple pictures, so that the system verification code and the picture can be displayed separately. Added machine identification The difficulty of the certificate. When the multiple images are advertisement images, this method will not affect the display effect of the advertisement images.
在一种可能的设计中,在所述生成k张验证码图片之后,所述方法还包括:In a possible design, after the generating the k verification code pictures, the method further includes:
验证码服务器向所述客户端发送脚本程序,所述脚本程序指示客户端监控用户对k张验证码图片中的至少一张验证码图片的操作指令,并且在操作指令使得k张验证码图片叠加到预设位置时显示隐藏在所述k张验证码图片中的信息。可选的,该脚本程序中还包括在客户端在预设位置显示提醒用户操作的提示信息,该提示信息例如可以是“请将右侧验证码图片移动至左侧,使其与左侧验证码图片重叠”。The verification code server sends a script to the client, the script program instructing the client to monitor an operation instruction of the user for at least one verification code picture in the k verification code pictures, and superimposing the k verification code pictures in the operation instruction The information hidden in the k verification code pictures is displayed when the preset position is reached. Optionally, the script further includes prompting information for prompting the user to operate in the preset position on the client, and the prompt information may be, for example, “Please move the right verification code image to the left side to verify with the left side. Code images overlap."
为了实现将系统验证码编码到n张原始图片中,生成k张验证码图片,且这k张验证码图片视觉上无法看到系统验证码,只有当将该k张验证码图片叠加到预设位置时才显示隐藏在k张验证码图片中的系统验证码。本发明实施例提供了多种可能的实现方式:In order to encode the system verification code into n original pictures, k verification code pictures are generated, and the k verification code pictures cannot visually see the system verification code, and only when the k verification code pictures are superimposed on the preset The system verification code hidden in the k-code image is displayed only when the location is displayed. The embodiments of the present invention provide various possible implementation manners:
一种可能的设计中,验证码服务器采用基于(k,n)的视觉密码方法,将系统验证码编码到n张原始图片中,生成k张验证码图片。具体的,验证码服务器将系统验证码转换为秘密图片;获取n张原始图片;基于(k,n)的视觉密码方法,将该秘密图片编码到获取到的n张原始图片中,得到n张影子图片;根据所述n张影子图片中的任意k张影子图片,得到k张验证码图片。In a possible design, the verification code server uses a (k, n) based visual cryptography method to encode the system verification code into n original pictures to generate k verification code pictures. Specifically, the verification code server converts the system verification code into a secret picture; acquires n original pictures; and encodes the secret picture into the obtained n original pictures based on the (k, n) visual cryptography method, and obtains n pictures. a shadow picture; according to any k shadow pictures in the n shadow pictures, k picture verification code pictures are obtained.
另一种可能的设计中,验证码服务器采用最低有效位替代算法,将系统验证码编码到n张原始图片中,生成k张验证码图片。最低有效位替代算法是将秘密图片嵌入到原始图片像素值的最低有效位,也称最不显著位,改变这一位置对原始图片的品质影响最小。具体的,将所述系统验证码转换为秘密图片;获取2张原始图片;利用最低有效位替代算法,处理所述秘密图片和获取到的2张原始图片,得到2张验证码图片。In another possible design, the verification code server uses the least significant bit substitution algorithm to encode the system verification code into n original pictures to generate k verification code pictures. The least significant bit substitution algorithm is to embed the secret picture into the least significant bit of the original picture pixel value, also called the least significant bit. Changing this position has the least impact on the quality of the original picture. Specifically, the system verification code is converted into a secret picture; two original pictures are acquired; and the secret picture and the obtained two original pictures are processed by using a least significant bit replacement algorithm to obtain two verification code pictures.
根据(k,n)视觉密码方法或最低有效位替代算法将系统验证码编码到n张原始图片中得到的k张验证码图片,使得k张验证码图片与原始图片视觉上相同,在视觉上无法直接识别系统验证码,需要用户将该k张验证码图片叠加到预设位置,才能显示隐藏在k张验证码图片中的系统验证码。一方面,这增加了机器识别验证码的难度,提高了验证码的安全性;另一方面,当原始图片是广告图片时,用户将无法忽视视觉上与广告图片相同的验证码图片,从而提高了广告效果。Encoding the system verification code to the k verification code pictures obtained from the n original pictures according to the (k, n) visual cryptographic method or the least significant digit replacement algorithm, so that the k verification code pictures are visually identical to the original picture, visually The system verification code cannot be directly recognized, and the user needs to superimpose the k verification code picture to the preset position to display the system verification code hidden in the k verification code picture. On the one hand, this increases the difficulty of the machine identification verification code and improves the security of the verification code; on the other hand, when the original picture is an advertisement picture, the user cannot ignore the verification code picture visually identical to the advertisement picture, thereby improving The advertising effect.
第二方面,本发明实施例提供了一种验证码服务器,该验证码服务器具有实现上述第一方面中验证码服务器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。In a second aspect, an embodiment of the present invention provides a verification code server, which has the function of implementing the verification code server behavior in the foregoing first aspect. The functions may be implemented by hardware or by corresponding software implemented by hardware. The hardware or software includes one or more modules corresponding to the functions described above.
在一个可能的设计中,验证码服务器的结构中包括处理器和存储器,所述存储器用于存储支持验证码服务器执行上述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述验证码服务器还可以包括通信接口,用于验证码服务器与其他设备或通信网络通信。In one possible design, the structure of the captcha server includes a processor and a memory for storing a program supporting the captcha server to perform the above method, the processor being configured to perform the in-memory store program of. The verification code server may also include a communication interface for the verification code server to communicate with other devices or communication networks.
第三方面,本发明实施例提供了一种计算机存储介质,用于储存为上述验证码服务器所用的计算机软件指令,其包含用于执行上述方面为验证码服务器所设计的程序。In a third aspect, an embodiment of the present invention provides a computer storage medium for storing computer software instructions used by the verification code server, which includes a program designed to execute the above aspects as a verification code server.
相较于现有技术,本发明提供的方案将随机生成的系统验证码编码到多张原始图片中,生成多张验证码图片,这使得系统验证码和图片可以分开显示。由于系统验证码是随机生成的,因此可以避免暴力破解,保证验证码的安全性;另外,当原始图片是含有广告信息的广告图片时,分开显示保证了广告效果。Compared with the prior art, the solution provided by the present invention encodes a randomly generated system verification code into a plurality of original pictures to generate a plurality of verification code pictures, which enables the system verification code and the picture to be displayed separately. Since the system verification code is randomly generated, brute force cracking can be avoided to ensure the security of the verification code. In addition, when the original picture is an advertisement picture containing advertisement information, the separate display ensures the advertisement effect.
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。 These and other aspects of the invention will be more apparent from the following description of the embodiments.
附图说明DRAWINGS
图1为本发明一实施例提供的验证码系统架构;FIG. 1 is a schematic diagram of a verification code system according to an embodiment of the present invention;
图2为本发明一实施例提供的计算机设备示意图;2 is a schematic diagram of a computer device according to an embodiment of the present invention;
图3为本发明一实施例提供的一种广告验证码使用方法的流程示意图;3 is a schematic flowchart of a method for using an advertisement verification code according to an embodiment of the present invention;
图4A为本发明一实施例提供的广告图片;4A is an advertisement picture according to an embodiment of the present invention;
图4B为本发明一实施例提供的广告图片;FIG. 4B is an advertisement picture according to an embodiment of the present invention;
图4C为本发明一实施例提供的用户执行登录操作的时的用户界面图;4C is a user interface diagram of a user performing a login operation according to an embodiment of the present invention;
图4D为本发明一实施例提供的用户移动广告验证码后的用户界面图;4D is a user interface diagram of a user mobile advertising verification code according to an embodiment of the present invention;
图5为本发明一实施例提供的验证码服务器结构示意图。FIG. 5 is a schematic structural diagram of a verification code server according to an embodiment of the present invention.
具体实施方式detailed description
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实施例作进一步的详细描述。In order to make the objects, technical solutions and advantages of the present invention more comprehensible, the embodiments of the present invention are further described in detail below.
如图1所示,本发明实施例涉及的验证码系统可以在服务器-客户端系统100中实施。该服务器-客户端系统100包括验证码服务器101客户端102以及网络103。客户端102通过网络103,与验证码服务器101通信。其中,验证码服务器101,用于响应用户通过客户端102发送的用于请求验证码图片的验证码获取请求,生成并存储一个随机文本作为系统验证码,将该系统验证码转换成秘密图片;从图片库中获取原始图片,并将秘密图片编码到获取的原始图片中,从而生成k张验证码图片并返回给用户客户端102;接收并验证用户根据操作所述k张验证码图片后识别出的信息输入的验证码,其中k为大于等于2的整数。验证码服务器的管理员可以登录验证码服务器,管理验证码服务器101中的图片库,实现添加、删除、更改和查询验证码服务器中的图片库。客户端102,用于从验证码服务器101获取k张验证码图片,将获取的k张验证码展示给用户;响应用户对k张验证码的操作指令,接收用户输入的验证码,并将用户输入的验证码发送给验证码服务器101。As shown in FIG. 1, the verification code system according to an embodiment of the present invention can be implemented in the server-client system 100. The server-client system 100 includes a CAPTCHA server 101 and a network 103. The client 102 communicates with the verification code server 101 via the network 103. The verification code server 101 is configured to generate and store a random text as a system verification code in response to the verification code acquisition request sent by the client 102 for requesting the verification code picture, and convert the system verification code into a secret picture; Obtaining the original picture from the picture library, and encoding the secret picture into the obtained original picture, thereby generating k verification code pictures and returning to the user client 102; receiving and verifying that the user recognizes the k verification code pictures according to the operation The verification code of the information input, where k is an integer greater than or equal to 2. The administrator of the verification code server can log in to the verification code server, manage the picture library in the verification code server 101, and add, delete, change, and query the picture library in the verification code server. The client 102 is configured to obtain k verification code pictures from the verification code server 101, and display the obtained k verification codes to the user; in response to the operation instruction of the k verification codes, receive the verification code input by the user, and receive the user The input verification code is sent to the verification code server 101.
为了便于理解本发明实施例的技术方案,对本发明实施例涉及的技术术语做以下解释说明:In order to facilitate the understanding of the technical solutions of the embodiments of the present invention, the technical terms involved in the embodiments of the present invention are explained as follows:
基于(k,n)的视觉密码:将一张秘密图片编码到n张图片(如本发明实施例中的原始图片)中生成n张影子图片,其中n张影子图片与原来n张图片在视觉上相同。当任何k(k<=n)幅影子图片重叠在一起,通过肉眼在视觉上可以从叠加结果中识别出隐藏的秘密图片的内容,而任意小于k张数量的影子图片将无法得到秘密图片的任何信息。(k,n)-based visual cipher: encodes a secret picture into n pictures (such as the original picture in the embodiment of the present invention) to generate n shadow pictures, wherein n shadow pictures and the original n pictures are in visual Same on the same. When any k(k<=n) shadow pictures are overlapped, the content of the hidden secret picture can be visually recognized from the superimposed result by the naked eye, and any shadow picture less than k number will not be able to obtain the secret picture. Any information.
最低有效位(Least Significant Bit,LSB)替代算法:一种简单常用的图像信息隐藏算法,采用LSB替代算法将随机生成的系统验证码编码到原始图片的最低有效位(也称最不显著位)。由于改变最低有效位对于原始图片的品质影响最小,所以从肉眼观察,无法看出原始图片与验证码图片之间的差别。Least Significant Bit (LSB) Substitution Algorithm: A simple and commonly used image information hiding algorithm that uses the LSB replacement algorithm to encode a randomly generated system verification code to the least significant bit of the original picture (also called the least significant bit). . Since changing the least significant bit has the least impact on the quality of the original picture, the difference between the original picture and the captcha picture cannot be seen from the naked eye.
在本发明实施例中,验证码服务器101获取n原始图片,并将秘密图片编码到获取的n 张原始图片中,生成k张验证码图片,并将生成的k张验证码图片发送给客户端102。客户端102将验证码服务器发送的k张验证码图片展示给用户,并响应用户对该k张验证码图片中格的至少一张验证码图片的操作指令,如通过拖拽或者输入显示坐标的方法,移动k张验证码图片中至少一张验证码图片的显示位置。用户通过操作该k张验证码图片来识别隐藏在k张验证码图片中的信息,并根据识别出的信息,在指定位置输入验证码,客户端102将用户输入的验证码发送给验证码服务器101,以便于验证码服务器101确认客户端102返回的验证码是否正确。In the embodiment of the present invention, the verification code server 101 acquires the n original picture and encodes the secret picture to the acquired n. In the original picture, k verification code pictures are generated, and the generated k verification code pictures are sent to the client 102. The client 102 presents the k verification code pictures sent by the verification code server to the user, and responds to the operation instruction of the at least one verification code picture in the k verification code picture, such as by dragging or inputting the display coordinates. The method moves the display position of at least one verification code picture in the k verification code picture. The user recognizes the information hidden in the k verification code picture by operating the k verification code picture, and inputs the verification code at the specified position according to the recognized information, and the client 102 sends the verification code input by the user to the verification code server. 101, in order for the verification code server 101 to confirm whether the verification code returned by the client 102 is correct.
需要说明的是,上述图片库中的图片可以是广告图片。本发明实施例中,验证码图片的广告效果由图片库决定,通过在图片库中设置不同的广告图片,会投放不同的广告。图片库中的图片少,则广告强度大;图片库中的图片多,则广告的内容更丰富。图片库中的图片可以由管理员根据不同的广告策略进行具体设置。广告验证码的安全性由随机文本的生成算法的强度来决定,由于生成的文本是随机的,所以使得暴力破解变得不可能。通过将由随机文本确定的秘密图片编码在有限数量的广告图片中,既保证了广告的效益,又保证了验证码的安全性。It should be noted that the picture in the above picture library may be an advertisement picture. In the embodiment of the present invention, the advertisement effect of the verification code picture is determined by the picture library, and different advertisements are placed by setting different advertisement pictures in the picture library. The number of images in the image library is small, the advertising intensity is large; if there are many images in the image library, the content of the advertisement is richer. Images in the gallery can be set by the administrator based on different advertising strategies. The security of the ad verification code is determined by the strength of the random text generation algorithm, which makes brute force impossible because the generated text is random. By encoding the secret picture determined by the random text in a limited number of advertisement pictures, both the benefit of the advertisement and the security of the verification code are ensured.
需要说明的是,系统中,客户端102的数量也可以是多个,本发明实施例对此不作限定。具体的,客户端102可以为诸如手机、平板电脑、台式电脑或者笔记本电脑之类的任意终端。It should be noted that, in the system, the number of the clients 102 may also be multiple, which is not limited by the embodiment of the present invention. Specifically, the client 102 can be any terminal such as a mobile phone, a tablet, a desktop computer, or a notebook computer.
如图2所示,图1中的验证码服务器101可以以图2中的计算机设备(或系统)的方式来实现。As shown in FIG. 2, the verification code server 101 of FIG. 1 can be implemented in the manner of the computer device (or system) in FIG. 2.
图2所示为本发明实施例提供的计算机设备示意图。计算机设备200包括至少一个处理器201,通信总线202,存储器203以及至少一个通信接口204。FIG. 2 is a schematic diagram of a computer device according to an embodiment of the present invention. The computer device 200 includes at least one processor 201, a communication bus 202, a memory 203, and at least one communication interface 204.
处理器201可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。The processor 201 can be a general purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present invention.
通信总线202可包括一通路,在上述组件之间传送信息。所述通信接口204,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。Communication bus 202 can include a path for communicating information between the components described above. The communication interface 204 uses devices such as any transceiver for communicating with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), and the like.
存储器203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。The memory 203 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type that can store information and instructions. The dynamic storage device can also be an Electrically Erasable Programmable Read-Only Memory (EEPROM), a Compact Disc Read-Only Memory (CD-ROM) or other optical disc storage, and a disc storage device. (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can be Any other media accessed, but not limited to this. The memory can exist independently and be connected to the processor via a bus. The memory can also be integrated with the processor.
其中,所述存储器203用于存储执行本发明方案的程序代码,并由处理器201来控制执行。所述处理器201用于执行所述存储器503中存储的程序代码。The memory 203 is used to store program code for executing the solution of the present invention, and is controlled by the processor 201 for execution. The processor 201 is configured to execute program code stored in the memory 503.
在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,例如图2中的CPU0和CPU1。In a particular implementation, as an embodiment, processor 201 may include one or more CPUs, such as CPU0 and CPU1 in FIG.
在具体实现中,作为一种实施例,计算机设备200可以包括多个处理器,例如图2中的处理器201和处理器208。这些处理器中的每一个可以是一个单核(single-CPU)处理器, 也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。In a particular implementation, as an embodiment, computer device 200 can include multiple processors, such as processor 201 and processor 208 in FIG. Each of these processors can be a single-CPU processor. It can also be a multi-core processor. A processor herein may refer to one or more devices, circuits, and/or processing cores for processing data, such as computer program instructions.
在具体实现中,作为一种实施例,计算机设备200还可以包括输出设备205和输入设备206。输出设备205和处理器201通信,可以以多种方式来显示信息。例如,输出设备205可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备206和处理器201通信,可以以多种方式接受用户的输入。例如,输入设备206可以是鼠标、键盘、触摸屏设备或传感设备等。In a particular implementation, as an embodiment, computer device 200 may also include an output device 205 and an input device 206. Output device 205 is in communication with processor 201 and can display information in a variety of ways. For example, the output device 205 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. Wait. Input device 206 is in communication with processor 201 and can accept user input in a variety of ways. For example, input device 206 can be a mouse, keyboard, touch screen device or sensing device, and the like.
上述的计算机设备200可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备200可以是台式机、便携式电脑、网络服务器、掌上电脑(Personal Digital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图2中类似结构的设备。本发明实施例不限定计算机设备200的类型。The computer device 200 described above can be a general purpose computer device or a special purpose computer device. In a specific implementation, the computer device 200 can be a desktop computer, a portable computer, a network server, a personal digital assistant (PDA), a mobile phone, a tablet, a wireless terminal device, a communication device, an embedded device, or have FIG. A device of similar structure. Embodiments of the invention do not limit the type of computer device 200.
如图1中的验证码服务器可以为图2所示的设备,验证码服务器的存储器中存储了一个或多个软件模块(例如:交互模块、处理模块等)。验证码服务器可以通过处理器以及存储器中的程序代码来实现软件模块,实现本发明实施例提供的验证方法。The verification code server in FIG. 1 may be the device shown in FIG. 2, and one or more software modules (eg, an interaction module, a processing module, etc.) are stored in the memory of the verification code server. The verification code server can implement the software module by using the processor and the program code in the memory to implement the verification method provided by the embodiment of the present invention.
基于如图1所示的系统架构图,为更加清楚描述客户端和验证码服务器的处理过程,如图3所示,本发明实施例提供一种验证方法的流程示意图,包括:Based on the system architecture diagram shown in FIG. 1 , in order to more clearly describe the processing process of the client and the verification code server, as shown in FIG. 3 , the embodiment of the present invention provides a schematic flowchart of the verification method, including:
步骤301、管理员登录验证码服务器管理验证码服务器中的图片库;Step 301: The administrator logs in the verification code server to manage the picture library in the verification code server.
具体的,管理员登录验证码服务器,为了安全,可以对管理员的登录行为进行权限控制。管理员可以根据广告策略,管理图片库中的图片,如,增加或删除图片库中的图片。在本发明实施例中,下文将图片库中的图片称为原始图片。例如,华为P9将与2016年4月6日在伦敦发布,华为公司希望通过广告验证码服务器投放该消息,则管理员可以在图片库中增加图4A和图4B这两张图片。Specifically, the administrator logs in to the verification code server, and for security, can perform authority control on the login behavior of the administrator. Administrators can manage images in the photo gallery based on ad policies, such as adding or removing images from the gallery. In the embodiment of the present invention, the picture in the picture library is hereinafter referred to as an original picture. For example, Huawei P9 will be released in London on April 6, 2016. Huawei wants to deliver the message through the advertisement verification code server. The administrator can add the two pictures in Figure 4A and Figure 4B to the picture library.
步骤302、客户端向验证码服务器发送用于请求验证码图片的验证码获取请求;Step 302: The client sends a verification code acquisition request for requesting the verification code picture to the verification code server.
当前,大部分网站在注册或登录时,都会要求用户输入验证码。因此,在需要输入验证码的场景下,用户执行注册、登录等操作的时候,会自动触发向广告验证码服务器发送验证码获取请求。Currently, most websites require users to enter a verification code when they register or log in. Therefore, in the scenario where the verification code is required, when the user performs the operations of registration, login, etc., the verification code acquisition request is automatically triggered to be sent to the advertisement verification code server.
步骤303、验证码服务器接收客户端发送的验证码获取请求,生成并保存一个系统验证码;将所述系统验证码编码n张原始图片中,生成k张验证码图片;其中,k和n为大于等于2的整数,且k小于等于n。Step 303: The verification code server receives the verification code acquisition request sent by the client, generates and saves a system verification code, and encodes the system verification code into n original pictures to generate k verification code pictures; wherein, k and n are An integer greater than or equal to 2, and k is less than or equal to n.
需要说明的是,所述n张原始图片可以是图片库中n张不同的图片,也可以是图片库中的一张或多张图片复制多份得到。本发明实施例对n张原始图片的内容不做限定。It should be noted that the n original pictures may be n different pictures in the picture library, or may be obtained by copying one or more pictures in the picture library. The content of the n original pictures is not limited in the embodiment of the present invention.
本发明实施例中,通过肉眼观察,k张验证码图片中的每张验证码图片视觉上都与相应的原始图片相同,而系统验证码则隐藏在这些验证码图片中,并且肉眼不可见。用户通过对这k张验证码图片执行叠加操作,可以识别出隐藏的系统验证码,而通过所述k张验证码图片中的任意一张验证码图片或者小于k张的多张验证码图片均无法获得所述系统验证码In the embodiment of the present invention, by visual inspection, each verification code picture in the k verification code picture is visually identical to the corresponding original picture, and the system verification code is hidden in the verification code picture, and is invisible to the naked eye. The user can identify the hidden system verification code by performing an overlay operation on the k verification code pictures, and any one of the k verification code pictures or the multiple verification code pictures smaller than k pictures Unable to get the system verification code
方法一:验证码服务器将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:Method 1: The verification code server encodes the system verification code into n original pictures, and generates k verification code pictures, specifically:
将该系统验证码转换为秘密图片;Converting the system verification code into a secret picture;
获取n张原始图片; Get n original pictures;
基于(k,n)的视觉密码方法,将该秘密图片编码到所述n张原始图片中,得到n张影子图片;Encoding the secret picture into the n original pictures based on the (k,n) visual cryptography method to obtain n shadow pictures;
根据所述n张影子图片中的任意k张影子图片,得到k张验证码图片。According to any k shadow pictures in the n shadow pictures, k verification code pictures are obtained.
本发明实施例中,基于(k,n)的视觉密码方法,将该秘密图片编码到所述n张原始图片中,得到n张影子图片,可以有多种实现方法,本发明实施例不做限定。In the embodiment of the present invention, the secret picture is encoded into the n original pictures based on the (k, n) visual cryptography method to obtain n shadow pictures, which may be implemented in various manners. limited.
本发明实施例还提供了一种生成验证码图片的方法,方法二:所述k和n均等于2,所述将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:将所述系统验证码转换为秘密图片;获取2张原始图片;利用最低有效位替代算法,处理所述秘密图片和所述2张原始图片,得到2张验证码图片。The embodiment of the present invention further provides a method for generating a verification code picture. Method 2: The k and n are both equal to 2, and the system verification code is encoded into n original pictures to generate k verification code pictures. Specifically, the system verification code is converted into a secret picture; two original pictures are acquired; and the secret picture and the two original pictures are processed by using a least significant bit replacement algorithm to obtain two verification code pictures.
其中,所述利用最低有效位替代算法,处理所述秘密图片和所述2张原始图片,得到2张验证码图片,具体为:随机生成一个大小与所述秘密图片相同的随机图片S1;对所述秘密图片和所述随机图片S1执行逐个像素异或操作,得到异或图片S2;对所述获取到的2张原始图片进行RGB位平面分解,确定所述获取到的2张原始图片的隐藏载体;所述隐藏载体为R平面、G平面和B平面中的任一个;利用最低有效位替代算法将所述随机图片S1嵌入到一个原始图片的隐藏载体的最低位,以及将所述或图片S2嵌入到另一个原始图片的隐藏载体的最低位,得到所述2张验证码图片。The method of processing the secret picture and the two original pictures by using a least significant bit replacement algorithm to obtain two verification code pictures, specifically: randomly generating a random picture S1 having the same size as the secret picture; The secret picture and the random picture S1 perform a pixel-by-pixel exclusive-OR operation to obtain an exclusive-OR picture S2; performing RGB bit-plane decomposition on the acquired two original pictures to determine the acquired two original pictures. Hiding the bearer; the hidden bearer is any one of an R plane, a G plane, and a B plane; embedding the random picture S1 into a lowest position of a hidden picture of an original picture using a least significant bit replacement algorithm, and The picture S2 is embedded in the lowest bit of the hidden carrier of another original picture, and the two picture of the verification code are obtained.
采用LSB替代算法将秘密图片编码到原始图片的最低有效位(也称最不显著位)。由于改变最低有效位对于原始图片的品质影响最小,所以从肉眼观察,无法看出验证码图片与原始图片之间的差别。The LSB replacement algorithm is used to encode the secret picture to the least significant bit of the original picture (also known as the least significant bit). Since changing the least significant bit has the least impact on the quality of the original picture, the difference between the captcha picture and the original picture cannot be seen from the naked eye.
一种可能的设计中,管理员在图片库中增加图片时,标注增加的图片的类型,在生成验证码图片时,当图片的类型是二值型时,则采用方法一生成验证码图片;当图片的类型是RGB彩色图片时,则采用方法二生成验证码图片。In a possible design, when the administrator adds a picture in the picture library, the type of the added picture is marked. When the picture of the verification code is generated, when the type of the picture is binary, the method 1 is used to generate the verification code picture; When the type of the picture is an RGB color picture, the method 2 is used to generate a verification code picture.
需要说明的是,在将该系统验证码转换为秘密图片时,可以对系统验证码在秘密图片上的显示进行扭曲或加噪处理,以增加机器识别的难度。It should be noted that when the system verification code is converted into a secret picture, the display of the system verification code on the secret picture may be distorted or noise-added to increase the difficulty of machine identification.
步骤304、验证码服务器将生成的k张验证码图片发送给客户端;Step 304: The verification code server sends the generated k verification code pictures to the client.
步骤305、客户端接收验证码服务器发送的k张验证码图片,并展示该k张验证码图片,响应用户对该k张验证码图片的操作指令,接收用户输入的验证码;Step 305: The client receives the k verification code pictures sent by the verification code server, and displays the k verification code pictures, and receives the verification code input by the user in response to the operation instruction of the k verification code pictures by the user;
具体的,客户端在输出设备上(如显示器)上向用户展示接收到的k张验证码图片。用户通过拖拽、移动等动作,操作k张验证码图片中的至少一张验证码图片,改变该k张验证码图片的显示位置。当k张验证码图片叠加到预设位置时,客户端显示隐藏在k张验证码图片中的信息。此时,用户通过肉眼观察到隐藏在k张验证码图片中的信息,并根据观察到的信息在预设位置(如验证码输入框401)输入验证码。Specifically, the client displays the received k verification code pictures on the output device (such as a display). The user operates at least one verification code picture in the k verification code picture by dragging, moving, etc., and changes the display position of the k verification code picture. When the k verification code picture is superimposed on the preset position, the client displays the information hidden in the k verification code picture. At this time, the user visually observes the information hidden in the k pieces of verification code pictures, and inputs the verification code at a preset position (such as the verification code input box 401) according to the observed information.
一种可能的设计中,客户端还从验证码服务器接收脚本程序;所述脚本程序指示所述客户端监控用户对所述k张验证码图片中的至少一张验证码图片的操作指令,并且在所述操作指令使得所述k张验证码图片叠加到预设位置时显示隐藏在所述k张验证码图片中的信息。可选的,所述脚本程序中还包括在客户端预设位置显示提醒用户操作的提示信息,所述提示信息例如可以是“请将右侧验证码图片移动至左侧,使其与左侧验证码图片重叠”。In a possible design, the client further receives a script program from the verification code server; the script program instructs the client to monitor an operation instruction of the user for at least one verification code picture in the k verification code pictures, and And displaying information hidden in the k verification code pictures when the operation instruction causes the k verification code pictures to be superimposed to a preset position. Optionally, the script program further includes prompting information for prompting the user to operate in the preset position of the client, where the prompt information may be, for example, “Please move the right verification code image to the left side to make it to the left side. Captcha images overlap."
如图4C所示,是本发明实施例给出的一种示例。当用户执行登录操作的时候,客户端从验证码服务器接收到两张验证码图片,并且在验证码显示框402中显示接收到的两张验证码图片。在本发明实施例中,该两张验证码图片从肉眼上看,与图4A和图4B这两张原始图 片相同。用户可以通过鼠标拖拽、移动等操作,改变这两张验证码图片在验证码显示框中的显示位置。当两张验证码图片叠加到预设位置的时候(如移动图4C验证码显示框中右侧的验证码图片,使其叠加到左侧的验证码图片上),客户端显示隐藏在这两张验证码图片中的信息,如图4D所示。用户通过肉眼可以识别出该隐藏的信息为“CAPTCHA”,并且将识别出的CAPTCHA,输入到验证码输入框401中。As shown in FIG. 4C, it is an example given by an embodiment of the present invention. When the user performs the login operation, the client receives two verification code pictures from the verification code server, and displays the two received verification code pictures in the verification code display box 402. In the embodiment of the present invention, the two verification code pictures are viewed from the naked eye, and the original two pictures of FIG. 4A and FIG. 4B The pieces are the same. The user can change the display position of the two verification code pictures in the verification code display box by dragging and dropping, moving, and the like. When two captcha images are superimposed on the preset position (such as moving the captcha picture on the right side of the verification code display box in Figure 4C, so that it is superimposed on the verification code picture on the left side), the client display is hidden in these two The information in the captcha picture is shown in Figure 4D. The user can recognize that the hidden information is "CAPTCHA" by the naked eye, and input the recognized CAPTCHA into the verification code input box 401.
步骤306、客户端将用户输入的验证码发送给验证码服务器;Step 306: The client sends the verification code input by the user to the verification code server.
如图4D所示,当用户在验证码输入框401中输入信息,并且点击“登录”按钮时,客户端将用户输入的验证码发送给验证码服务器。As shown in FIG. 4D, when the user inputs information in the verification code input box 401 and clicks the "login" button, the client transmits the verification code input by the user to the verification code server.
步骤307、验证码服务器接收客户端返回的验证码,并对其进行验证;Step 307: The verification code server receives the verification code returned by the client, and verifies the verification code.
一种可能的设计中,验证码服务器在步骤303中保存所述系统验证码的时候,为所述系统验证码设置一个标签,并在向客户端返回验证码图片的时候携带该标签,以便于客户端返回用户输入的验证码时携带该标签。验证码服务器根据客户端返回的标签,即可获得对应的系统验证码,从而通过比较客户端返回的用户输入的验证码和系统验证码,确定用户输入的验证码是否正确。该标签例如可以是会话标识或者随机数。In a possible design, when the verification code server saves the system verification code in step 303, a label is set for the system verification code, and the label is carried when the verification code picture is returned to the client, so as to facilitate The client carries the tag when it returns the verification code entered by the user. The verification code server can obtain the corresponding system verification code according to the label returned by the client, thereby determining whether the verification code input by the user is correct by comparing the verification code and the system verification code input by the user returned by the client. The tag can be, for example, a session identifier or a random number.
一种可能的设计中,验证码服务器生成系统验证码后,启动计时器,当计时器超时,验证码服务器删除该系统验证码。当服务器接收客户端返回的验证码,并根据标签无法获得相应的系统验证码时,则向客户端返回验证码过期的响应消息。In a possible design, after the verification code server generates the system verification code, the timer is started, and when the timer expires, the verification code server deletes the system verification code. When the server receives the verification code returned by the client and cannot obtain the corresponding system verification code according to the label, the server returns a response message that the verification code expires.
步骤308、验证码服务器将验证结果发送给客户端,以便于客户端根据验证结果执行相应操作。Step 308: The verification code server sends the verification result to the client, so that the client performs the corresponding operation according to the verification result.
一种可能的设计中,当验证结果为成功时,用户可以成功登录;当验证结果为失败时,用户将无法执行登录操作。需要说明的是,本发明对于验证结果的形式,以及用户客户端根据验证结果执行的具体操作不做限定。In a possible design, when the verification result is successful, the user can successfully log in; when the verification result is failed, the user cannot perform the login operation. It should be noted that the present invention does not limit the form of the verification result and the specific operation performed by the user client according to the verification result.
本发明实施例提供的方案,将包含有随机文本确定的系统验证码编码到n张原始图片中生成k张验证码图片,其中验证码图片在视觉上与原始图片内容相同,且所述k张验证码图片中的任意一张或者小于k张的多张验证码图片都无法获取隐藏的信息。由于k张验证码图片中隐藏的信息是由随机生成的文本确定的,因此,黑客等非法用户无法通过穷举建立验证码和原始图片的关系,解决了验证码数量有限,容易受到穷举攻击的问题。另外,只要用于广告用途的原始图片不变,则每次生成的k张验证码图片视觉上也是一样的,使得广告更加具有针对,提高了广告效益。The solution provided by the embodiment of the present invention encodes a system verification code including random text determination into n original pictures to generate k verification code pictures, wherein the verification code picture is visually identical to the original picture content, and the k sheets are Any one of the captcha images or multiple captcha images smaller than k can't get hidden information. Since the information hidden in the k-code picture is determined by the randomly generated text, illegal users such as hackers cannot establish the relationship between the verification code and the original picture by exhaustively, and solve the problem that the number of verification codes is limited and vulnerable to exhaustive attacks. The problem. In addition, as long as the original picture used for advertising purposes does not change, the k verification code pictures generated each time are visually the same, which makes the advertisement more targeted and improves the advertising efficiency.
本发明实施例还描述了上述方法实施例属于同一发明构思下的一种验证码服务器的结构示意图。如图5所示,该验证码服务器500用于执行图3上述方法实施例中验证码服务器101的功能,包括:接收单元501,处理单元502和发送单元503。The embodiment of the present invention further describes a structure diagram of a verification code server that belongs to the same inventive concept in the foregoing method embodiments. As shown in FIG. 5, the verification code server 500 is configured to perform the functions of the verification code server 101 in the foregoing method embodiment of FIG. 3, including: a receiving unit 501, a processing unit 502, and a sending unit 503.
其中,接收单元501,用于接收客户端发送的验证码获取请求;The receiving unit 501 is configured to receive a verification code acquisition request sent by the client.
处理单元502,用于生成并保存系统验证码;其中,所述系统验证码由一串随机文本确定;将所述系统验证码编码到n张原始图片中,生成k张验证码图片;其中,k和n为大于等于2的整数,且k小于等于n;The processing unit 502 is configured to generate and save a system verification code, where the system verification code is determined by a string of random texts; and the system verification code is encoded into n original pictures to generate k verification code pictures; k and n are integers greater than or equal to 2, and k is less than or equal to n;
发送单元503,用于将所述k张验证码图片发送给所述客户端;a sending unit 503, configured to send the k verification code pictures to the client;
所述接收单元501,还用于接收所述客户端发送的验证请求,所述验证请求携带用户根据所述k张验证码图片输入的验证码;The receiving unit 501 is further configured to receive a verification request sent by the client, where the verification request carries a verification code input by the user according to the k verification code picture;
所述处理单元502,还用于根据所述系统验证码,确定所述用户输入的验证码是否正确。 The processing unit 502 is further configured to determine, according to the system verification code, whether the verification code input by the user is correct.
可选的,所述发送单元503,还用于向所述客户端发送脚本程序,所述脚本程序指示所述客户端监控所述用户对所述k张验证码图片中的至少一张验证码图片的操作指令,并且在所述操作指令使得所述k张验证码图片叠加到预设位置时显示隐藏在所述k张验证码图片中的信息。Optionally, the sending unit 503 is further configured to send, to the client, a script program, where the script program instructs the client to monitor, by the user, at least one verification code in the k verification code pictures. An operation instruction of the picture, and displaying information hidden in the k verification code picture when the operation instruction causes the k verification code picture to be superimposed to a preset position.
一种可能的实现方式中,所述处理单元502,用于将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:将所述系统验证码转换为秘密图片;获取n张原始图片;基于(k,n)的视觉密码方法,将该秘密图片编码到获取到的n张原始图片中,得到n张影子图片;根据所述n张影子图片中的任意k张影子图片,得到k张验证码图片。In a possible implementation manner, the processing unit 502 is configured to encode the system verification code into n original pictures, and generate k verification code pictures, specifically: converting the system verification code into a secret picture. Obtaining n original pictures; encoding the secret picture into the obtained n original pictures based on the (k, n) visual cryptography method to obtain n shadow pictures; according to any k of the n shadow pictures A shadow picture, get k verification code pictures.
一种可能的实现方式中,所述k和n等于2,所述处理单元502,用于将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:将所述系统验证码转换为秘密图片;获取2张原始图片;利用最低有效位替代算法,处理所述秘密图片和获取到的2张原始图片,得到2张验证码图片。其中,利用最低有效位替代算法,处理所述秘密图片和获取到的2张原始图片,得到2张验证码图片,具体为:随机生成一个大小与所述秘密图片相同的随机图片S1;对所述秘密图片和所述随机图片S1执行逐个像素异或操作,得到异或图片S2;对所述获取到的2张原始图片进行RGB位平面分解,确定所述获取到的2张原始图片的隐藏载体;所述隐藏载体为R平面、G平面和B平面中的任一个;利用最低有效位替代算法将所述随机图片S1嵌入到一个原始图片的隐藏载体的最低位,以及将所述或图片S2嵌入到另一个原始图片的隐藏载体的最低位,得到所述2张验证码图片。In a possible implementation manner, the k and n are equal to 2, the processing unit 502 is configured to encode the system verification code into n original pictures, and generate k verification code pictures, specifically: The system verification code is converted into a secret picture; two original pictures are obtained; and the secret picture and the obtained two original pictures are processed by using a least significant bit replacement algorithm to obtain two verification code pictures. The least significant bit replacement algorithm is used to process the secret picture and the obtained two original pictures to obtain two verification code pictures, specifically: randomly generating a random picture S1 having the same size as the secret picture; The secret picture and the random picture S1 perform a pixel-by-pixel exclusive-OR operation to obtain an exclusive-OR picture S2; performing RGB bit-plane decomposition on the acquired two original pictures to determine the hiding of the acquired two original pictures a carrier; the hidden carrier being any one of an R plane, a G plane, and a B plane; embedding the random picture S1 into a lowest bit of a hidden picture of an original picture, and using the least significant bit replacement algorithm S2 is embedded in the lowest bit of the hidden carrier of another original picture, and the two verification code pictures are obtained.
需要说明的是,上述提及的操作指令,具体可以是拖拽或移动所述k张验证码图片,以改变所述k张验证码图片的显示位置。It should be noted that the operation instruction mentioned above may specifically be dragging or moving the k verification code pictures to change the display position of the k verification code pictures.
在本实施例中,验证码服务器500是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到验证码服务器500可以采用图2所示的形式。接收单元501,处理单元502和发送单元503可以通过图2的处理器和存储器来实现,具体的,接收单元501,和发送单元503可以通过由处理器来执行交互模块来实现,处理单元502可以通过由处理器来执行处理模块来实现。In the present embodiment, the verification code server 500 is presented in the form of a functional unit. A "unit" herein may refer to an application-specific integrated circuit (ASIC), circuitry, a processor and memory that executes one or more software or firmware programs, integrated logic circuitry, and/or other functions that provide the functionality described above. Device. In a simple embodiment, those skilled in the art will appreciate that the verification code server 500 can take the form shown in FIG. The receiving unit 501, the processing unit 502, and the sending unit 503 can be implemented by the processor and the memory of FIG. 2. Specifically, the receiving unit 501, and the sending unit 503 can be implemented by executing an interaction module by the processor, and the processing unit 502 can This is achieved by executing the processing module by the processor.
本发明实施例还提供了一种计算机存储介质,用于储存实现上述图5所示的验证码服务器的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以实现本发明实施例提供的验证方法。The embodiment of the present invention further provides a computer storage medium for storing computer software instructions for implementing the verification code server shown in FIG. 5, which includes a program designed to execute the foregoing method embodiment. The verification method provided by the embodiment of the present invention can be implemented by executing a stored program.
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。It should be noted that, for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations, but those skilled in the art should understand that the present invention is not limited by the described action sequence. Because certain steps may be performed in other sequences or concurrently in accordance with the present invention. In addition, those skilled in the art should also understand that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。 It should be noted that, for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations, but those skilled in the art should understand that the present invention is not limited by the described action sequence. Because certain steps may be performed in other sequences or concurrently in accordance with the present invention. In addition, those skilled in the art should also understand that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。Although the present invention has been described herein in connection with the embodiments of the present invention, it will be understood by those skilled in the <RTIgt; Other variations of the disclosed embodiments are achieved. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality. A single processor or other unit may fulfill several of the functions recited in the claims. Certain measures are recited in mutually different dependent claims, but this does not mean that the measures are not combined to produce a good effect.
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。Those skilled in the art will appreciate that embodiments of the present invention can be provided as a method, apparatus (device), or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code. The computer program is stored/distributed in a suitable medium, provided with other hardware or as part of the hardware, or in other distributed forms, such as over the Internet or other wired or wireless telecommunication systems.
本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present invention has been described with reference to flowchart illustrations and/or block diagrams of the methods, apparatus, and computer program products of the embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine for the execution of instructions for execution by a processor of a computer or other programmable data processing device. Means for implementing the functions specified in one or more of the flow or in a block or blocks of the flow chart.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。The computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device. The apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device. The instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。 While the invention has been described with respect to the specific embodiments and embodiments thereof, various modifications and combinations may be made without departing from the spirit and scope of the invention. Accordingly, the specification and drawings are to be construed as the It is apparent that those skilled in the art can make various modifications and variations to the invention without departing from the spirit and scope of the invention. Thus, it is intended that the present invention cover the modifications and modifications of the invention

Claims (16)

  1. 一种验证方法,其特征在于,包括A verification method characterized by including
    接收客户端发送的验证码获取请求;Receiving a verification code acquisition request sent by the client;
    生成并保存系统验证码;其中,所述系统验证码由一串随机文本确定;Generating and saving a system verification code; wherein the system verification code is determined by a string of random texts;
    将所述系统验证码编码到n张原始图片中,生成k张验证码图片;其中,k和n为大于等于2的整数,且k小于等于n;Encoding the system verification code into n original pictures to generate k verification code pictures; wherein k and n are integers greater than or equal to 2, and k is less than or equal to n;
    将所述k张验证码图片发送给所述客户端;Sending the k verification code pictures to the client;
    接收所述客户端发送的验证请求,所述验证请求携带用户根据所述k张验证码图片输入的验证码;Receiving a verification request sent by the client, where the verification request carries a verification code input by the user according to the k verification code picture;
    根据所述系统验证码,确定所述用户输入的验证码是否正确。And determining, according to the system verification code, whether the verification code input by the user is correct.
  2. 如权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1 wherein the method further comprises:
    向所述客户端发送脚本程序,所述脚本程序指示所述客户端监控所述用户对所述k张验证码图片中至少一张验证码图片的操作指令,并且在所述操作指令使得所述k张验证码图片叠加到预设位置时显示隐藏在所述k张验证码图片中的信息。Transmitting, to the client, a script program, the script program instructing the client to monitor an operation instruction of the user for at least one verification code picture in the k verification code pictures, and in the operation instruction When the k verification code pictures are superimposed on the preset position, the information hidden in the k verification code pictures is displayed.
  3. 如权利要求1或2所述的方法,其特征在于,所述将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:The method according to claim 1 or 2, wherein the encoding the system verification code into n original pictures to generate k verification code pictures, specifically:
    将所述系统验证码转换为秘密图片;Converting the system verification code into a secret picture;
    获取n张原始图片;Get n original pictures;
    基于(k,n)的视觉密码方法,将该秘密图片编码到获取到的n张原始图片中,得到n张影子图片;The secret picture is encoded into the obtained n original pictures based on the (k,n) visual cryptography method to obtain n shadow pictures;
    根据所述n张影子图片中的任意k张影子图片,得到k张验证码图片。According to any k shadow pictures in the n shadow pictures, k verification code pictures are obtained.
  4. 如权利要求1或2所述的方法,其特征在于,所述k和n等于2,所述将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:The method according to claim 1 or 2, wherein the k and n are equal to 2, and the system verification code is encoded into n original pictures to generate k verification code pictures, specifically:
    将所述系统验证码转换为秘密图片;Converting the system verification code into a secret picture;
    获取2张原始图片;Get 2 original images;
    利用最低有效位替代算法,处理所述秘密图片和获取到的2张原始图片,得到2张验证码图片。The secret picture and the obtained two original pictures are processed by using the least significant bit replacement algorithm to obtain two verification code pictures.
  5. 如权利要求4所述的方法,其特征在于,所述利用最低有效位替代算法,处理所述秘密图片和获取到的2张原始图片,得到2张验证码图片,具体为:The method according to claim 4, wherein the using the least significant digit substitution algorithm to process the secret picture and the obtained two original pictures to obtain two verification code pictures, specifically:
    随机生成一个大小与所述秘密图片相同的随机图片S1;Randomly generating a random picture S1 of the same size as the secret picture;
    对所述秘密图片和所述随机图片S1执行逐个像素异或操作,得到异或图片S2;Performing a pixel-by-pixel exclusive-OR operation on the secret picture and the random picture S1 to obtain an exclusive-OR picture S2;
    对所述获取到的2张原始图片进行RGB位平面分解,确定所述获取到的2张原始图片的隐藏载体;所述隐藏载体为R平面、G平面和B平面中的任一个;Performing RGB bit plane decomposition on the obtained two original pictures to determine a hidden carrier of the acquired two original pictures; the hidden carrier is any one of an R plane, a G plane, and a B plane;
    利用最低有效位替代算法将所述随机图片S1嵌入到一个原始图片的隐藏载体的最低位,以及将所述或图片S2嵌入到另一个原始图片的隐藏载体的最低位,得到所述2张验证码图片。Embedding the random picture S1 into the lowest bit of the hidden carrier of one original picture using the least significant bit substitution algorithm, and embedding the or picture S2 into the lowest bit of the hidden carrier of another original picture, obtaining the two verifications Code image.
  6. 如权利要求2-5任一所述的方法,其特征在于,所述操作指令,具体为:The method according to any one of claims 2 to 5, wherein the operation instruction is specifically:
    移动所述k张验证码图片中的至少一张验证码图片的显示位置。Transmitting a display position of at least one of the k verification code pictures.
  7. 一种验证码服务器,其特征在于,包括:A verification code server, comprising:
    接收单元,用于接收客户端发送的验证码获取请求; a receiving unit, configured to receive a verification code acquisition request sent by the client;
    处理单元,用于生成并保存系统验证码;其中,所述系统验证码由一串随机文本确定;将所述系统验证码编码到n张原始图片中,生成k张验证码图片;其中,k和n为大于等于2的整数,且k小于等于n;a processing unit, configured to generate and save a system verification code; wherein the system verification code is determined by a string of random texts; encoding the system verification code into n original pictures to generate k verification code pictures; wherein k And n is an integer greater than or equal to 2, and k is less than or equal to n;
    发送单元,用于将所述k张验证码图片发送给所述客户端;a sending unit, configured to send the k verification code pictures to the client;
    所述接收单元,还用于接收所述客户端发送的验证请求,所述验证请求携带用户根据所述k张验证码图片输入的验证码;The receiving unit is further configured to receive a verification request sent by the client, where the verification request carries a verification code input by the user according to the k verification code picture;
    所述处理单元,还用于根据所述系统验证码,确定所述用户输入的验证码是否正确。The processing unit is further configured to determine, according to the system verification code, whether the verification code input by the user is correct.
  8. 如权利要求7所述的验证码服务器,其特征在于,A verification code server according to claim 7, wherein:
    所述发送单元,还用于向所述客户端发送脚本程序,所述脚本程序指示所述客户端监控所述用户对所述k张验证码图片的操作指令,并且在所述操作指令使得所述k张验证码图片叠加到预设位置时显示隐藏在所述k张验证码图片中的信息。The sending unit is further configured to send a script program to the client, where the script program instructs the client to monitor an operation instruction of the user for the k verification code pictures, and in the operation instruction When the k verification code pictures are superimposed on the preset position, the information hidden in the k verification code pictures is displayed.
  9. 如权利要求7或8所述的验证码服务器,其特征在于,所述处理单元,用于将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:The verification code server according to claim 7 or 8, wherein the processing unit is configured to encode the system verification code into n original pictures to generate k verification code pictures, specifically:
    将所述系统验证码转换为秘密图片;Converting the system verification code into a secret picture;
    获取n张原始图片;Get n original pictures;
    基于(k,n)的视觉密码方法,将该秘密图片编码到获取到的n张原始图片中,得到n张影子图片;The secret picture is encoded into the obtained n original pictures based on the (k,n) visual cryptography method to obtain n shadow pictures;
    根据所述n张影子图片中的任意k张影子图片,得到k张验证码图片。According to any k shadow pictures in the n shadow pictures, k verification code pictures are obtained.
  10. 如权利要求7或8所述的验证码服务器,其特征在于,所述k和n等于2,所述处理单元,用于将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:The verification code server according to claim 7 or 8, wherein said k and n are equal to 2, said processing unit is configured to encode said system verification code into n original pictures to generate k-picture verification Code image, specifically:
    将所述系统验证码转换为秘密图片;Converting the system verification code into a secret picture;
    获取2张原始图片;Get 2 original images;
    利用最低有效位替代算法,处理所述秘密图片和获取到的2张原始图片,得到2张验证码图片。The secret picture and the obtained two original pictures are processed by using the least significant bit replacement algorithm to obtain two verification code pictures.
  11. 如权利要求10所述的验证码服务器,其特征在于,利用最低有效位替代算法,处理所述秘密图片和获取到的2张原始图片,得到2张验证码图片,具体为:The verification code server according to claim 10, wherein the secret picture and the obtained two original pictures are processed by using a least significant bit replacement algorithm to obtain two verification code pictures, specifically:
    随机生成一个大小与所述秘密图片相同的随机图片S1;Randomly generating a random picture S1 of the same size as the secret picture;
    对所述秘密图片和所述随机图片S1执行逐个像素异或操作,得到异或图片S2;Performing a pixel-by-pixel exclusive-OR operation on the secret picture and the random picture S1 to obtain an exclusive-OR picture S2;
    对所述获取到的2张原始图片进行RGB位平面分解,确定所述获取到的2张原始图片的隐藏载体;所述隐藏载体为R平面、G平面和B平面中的任一个;Performing RGB bit plane decomposition on the obtained two original pictures to determine a hidden carrier of the acquired two original pictures; the hidden carrier is any one of an R plane, a G plane, and a B plane;
    利用最低有效位替代算法将所述随机图片S1嵌入到一个原始图片的隐藏载体的最低位,以及将所述或图片S2嵌入到另一个原始图片的隐藏载体的最低位,得到所述2张验证码图片。Embedding the random picture S1 into the lowest bit of the hidden carrier of one original picture using the least significant bit substitution algorithm, and embedding the or picture S2 into the lowest bit of the hidden carrier of another original picture, obtaining the two verifications Code image.
  12. 如权利要求8-11任一所述的验证码服务器,其特征在于,所述操作指令,具体为:The verification code server according to any one of claims 8 to 11, wherein the operation instruction is specifically:
    移动所述k张验证码图片中的至少一张验证码图片的显示位置。Transmitting a display position of at least one of the k verification code pictures.
  13. 一种验证码服务器,其特征在于,包括:处理器和存储器,其中,A verification code server, comprising: a processor and a memory, wherein
    所述存储器中存有计算机可读程序;a computer readable program is stored in the memory;
    所述处理器通过运行所述存储器中的程序,以用于完成上述权利要求1至6所述的方法。The processor is operative to execute the method of the above claims 1 to 6 by running a program in the memory.
  14. 一种验证系统,其特征在于,所述验证系统包括客户端和验证码服务器,A verification system, characterized in that the verification system comprises a client and a verification code server,
    所述客户端,用于向验证码服务器发送验证码获取请求;接收所述验证码服务器发送的 k张验证码图片;显示所述k张验证码图片;接收用户对所述k张验证码图片中至少一张验证码图片的操作指令;当所述操作指令使得所述k张验证码图片叠加到预设位置时,显示隐藏在所述k张验证码图片中的信息;接收用户输入的验证码;The client is configured to send a verification code acquisition request to the verification code server, and receive the verification code server to send the k verification code pictures; displaying the k verification code pictures; receiving an operation instruction of the user on at least one verification code picture in the k verification code pictures; when the operation instruction causes the k verification code pictures to be superimposed When the preset position is reached, the information hidden in the k verification code picture is displayed; and the verification code input by the user is received;
    所述验证码服务器,用于接收客户端发送的验证码获取请求;生成并保存系统验证码;其中,所述系统验证码由一串随机文本确定;将所述系统验证码编码到n张原始图片中,生成k张验证码图片;将所述k张验证码图片发送给所述客户端;接收所述客户端发送的验证请求,所述验证请求携带用户输入的验证码;根据所述系统验证码,确定所述用户输入的验证码是否正确;其中,k和n为大于等于2的整数,且k小于等于n。The verification code server is configured to receive a verification code acquisition request sent by the client, generate and save a system verification code, where the system verification code is determined by a string of random texts; and the system verification code is encoded into n originals In the picture, generating k verification code pictures; sending the k verification code pictures to the client; receiving an authentication request sent by the client, the verification request carrying a verification code input by a user; according to the system a verification code determining whether the verification code input by the user is correct; wherein k and n are integers greater than or equal to 2, and k is less than or equal to n.
  15. 如权利要求14所述系统,其特征在于,所述验证码服务器,还用于向所述客户端发送脚本程序,所述脚本程序指示所述客户端监控所述用户对所述k张验证码图片中至少一张验证码图片的操作指令,并且在所述操作指令使得所述k张验证码图片叠加到预设位置时显示隐藏在所述k张验证码图片中的信息。The system according to claim 14, wherein the verification code server is further configured to send a script to the client, the script program instructing the client to monitor the user for the k verification code At least one operation instruction of the verification code picture in the picture, and displaying information hidden in the k verification code picture when the operation instruction causes the k verification code picture to be superimposed to the preset position.
  16. 如权利要求14或15所述系统,其特征在于,所述操作指令,具体为移动所述k张验证码图片中的至少一张验证码图片的显示位置。 The system according to claim 14 or 15, wherein the operation instruction is specifically a display position of moving at least one of the k verification code pictures.
PCT/CN2017/090880 2016-09-30 2017-06-29 Verification method, server and system WO2018059033A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610878903.9 2016-09-30
CN201610878903.9A CN107888553B (en) 2016-09-30 2016-09-30 Verification method, server and system

Publications (1)

Publication Number Publication Date
WO2018059033A1 true WO2018059033A1 (en) 2018-04-05

Family

ID=61763261

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/090880 WO2018059033A1 (en) 2016-09-30 2017-06-29 Verification method, server and system

Country Status (2)

Country Link
CN (1) CN107888553B (en)
WO (1) WO2018059033A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111652958A (en) * 2020-06-04 2020-09-11 通华财富(上海)基金销售有限公司 Enhanced graphic verification code generation method and device and storage medium
CN113158167A (en) * 2021-04-30 2021-07-23 腾讯音乐娱乐科技(深圳)有限公司 Verification code implementation method, electronic device and computer-readable storage medium
CN113240429A (en) * 2021-06-16 2021-08-10 中国银行股份有限公司 Method and system for payment verification based on picture coding

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112134899A (en) * 2020-09-28 2020-12-25 嘉兴市嘉禾区块链技术研究院 Factory terminal control double identity authentication method based on vision and network security
CN113870465A (en) * 2021-10-19 2021-12-31 南方电网数字电网研究院有限公司 Electronic lock control method and device, computer equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6741722B2 (en) * 1999-12-27 2004-05-25 Ricoh Company, Ltd. Verification data encoding method, original image verification method and apparatus, and computer readable medium
CN101977194A (en) * 2010-10-29 2011-02-16 赵俊平 Third-party verification code system and third-party verification code provision method
CN102298763A (en) * 2010-06-28 2011-12-28 腾讯科技(北京)有限公司 Method and system for generating picture identifying code
CN103139204A (en) * 2012-12-19 2013-06-05 姚爱军 Network identifying code method and system
CN103379091A (en) * 2012-04-16 2013-10-30 上海博路信息技术有限公司 Random verification code
CN105787340A (en) * 2016-03-18 2016-07-20 厦门大学嘉庚学院 Image identifying code achievement method based on text adhesion and visual compensation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100573591C (en) * 2008-08-12 2009-12-23 腾讯科技(深圳)有限公司 A kind of generation method and apparatus of picture validation code
CN101908203B (en) * 2010-07-13 2012-07-11 中国科学院软件研究所 Image and audio recoding-based steganography prevention method
CN101916427B (en) * 2010-08-10 2012-01-25 浙江大学 Spatial domain-based image watermark adding method
US8616460B2 (en) * 2011-07-13 2013-12-31 Eastman Kodak Company Method for providing dynamic optical illusion images
CN102890761B (en) * 2011-08-24 2015-06-10 北京文海思创科技有限公司 Method for verifying through graphical verification code
CN102340402B (en) * 2011-10-28 2013-09-18 中国人民解放军国防科学技术大学 Identity authentication method based on visual cryptography
CN103179092A (en) * 2011-12-22 2013-06-26 阿里巴巴集团控股有限公司 Method, system and device for providing verification code information
US9984225B2 (en) * 2012-11-15 2018-05-29 Excalibur Ip, Llc Method and system for providing tokenless secure login by visual cryptography
CN103973937B (en) * 2014-04-29 2016-08-17 南京邮电大学 Information concealing method based on wireless multimedia sensor network
CN104200150B (en) * 2014-09-01 2017-01-18 湖北盛天网络技术股份有限公司 Method and device for processing verification codes
CN104462930B (en) * 2014-11-18 2017-11-17 百度在线网络技术(北京)有限公司 Verification code generation method and device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6741722B2 (en) * 1999-12-27 2004-05-25 Ricoh Company, Ltd. Verification data encoding method, original image verification method and apparatus, and computer readable medium
CN102298763A (en) * 2010-06-28 2011-12-28 腾讯科技(北京)有限公司 Method and system for generating picture identifying code
CN101977194A (en) * 2010-10-29 2011-02-16 赵俊平 Third-party verification code system and third-party verification code provision method
CN103379091A (en) * 2012-04-16 2013-10-30 上海博路信息技术有限公司 Random verification code
CN103139204A (en) * 2012-12-19 2013-06-05 姚爱军 Network identifying code method and system
CN105787340A (en) * 2016-03-18 2016-07-20 厦门大学嘉庚学院 Image identifying code achievement method based on text adhesion and visual compensation

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111652958A (en) * 2020-06-04 2020-09-11 通华财富(上海)基金销售有限公司 Enhanced graphic verification code generation method and device and storage medium
CN113158167A (en) * 2021-04-30 2021-07-23 腾讯音乐娱乐科技(深圳)有限公司 Verification code implementation method, electronic device and computer-readable storage medium
CN113158167B (en) * 2021-04-30 2024-02-23 腾讯音乐娱乐科技(深圳)有限公司 Verification code implementation method, electronic equipment and computer readable storage medium
CN113240429A (en) * 2021-06-16 2021-08-10 中国银行股份有限公司 Method and system for payment verification based on picture coding
CN113240429B (en) * 2021-06-16 2024-02-23 中国银行股份有限公司 Method and system for payment verification based on picture coding

Also Published As

Publication number Publication date
CN107888553A (en) 2018-04-06
CN107888553B (en) 2021-08-13

Similar Documents

Publication Publication Date Title
TWI672648B (en) Business process method and device, data share system, and storage medium
US11854003B2 (en) Signature verification method, apparatus, and system
US11361065B2 (en) Techniques for authentication via a mobile device
WO2018059033A1 (en) Verification method, server and system
US9338164B1 (en) Two-way authentication using two-dimensional codes
US9979725B1 (en) Two-way authentication using two-dimensional codes
US8572375B2 (en) Device pairing based on graphically encoded data
US10356079B2 (en) System and method for a single sign on connection in a zero-knowledge vault architecture
US8909933B2 (en) Decoupled cryptographic schemes using a visual channel
US9077713B1 (en) Typeless secure login to web-based services
US10212189B2 (en) Authentication of client devices using modified images
US20190280860A1 (en) Secure user authentication based on multiple asymmetric cryptography key pairs
CN109981576B (en) Key migration method and device
WO2019062713A1 (en) Account login method and system thereof, video terminal, mobile terminal and storage medium
CN114363088A (en) Method and device for requesting data
US20150350170A1 (en) Secure authentication of mobile users with no connectivity between authentication service and requesting entity
US20240039707A1 (en) Mobile authenticator for performing a role in user authentication
US10706135B2 (en) Fingerprint authentication mechanism
CN113826096A (en) User authentication and signature apparatus and method using user biometric identification data
US20240089249A1 (en) Method and system for verification of identify of a user
WO2019019650A1 (en) Website data processing method and apparatus, website data processing platform and storage medium
US20200186519A1 (en) Authenticated service application sessions using visual authentication indicia
JP7098065B1 (en) Preventing data manipulation and protecting user privacy in telecommunications network measurements
TWI638307B (en) Multi-factor login system and login method
WO2021051525A1 (en) Information processing method and related device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17854487

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17854487

Country of ref document: EP

Kind code of ref document: A1