Multi-channel OTP sending method, device and electronic equipment
Through the multi-channel OTP sending method and target prediction model, the problem of low OTP sending reliability in the prior art is solved, and higher security and user experience is achieved, ensuring timely reception and verification of OTP in different devices and environments.
Patent Information
- Application Number
- CN202410842474.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-27
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2044-06-27
AI Technical Summary
In the prior art, the OTP sending method has low reliability and is vulnerable to targeted attacks. It cannot receive OTP in time when the device is not around the user, affecting the user experience.
The multi-channel OTP sending method is adopted to send OTP according to the channel sorted by importance through the target prediction model, and the OTP dynamic password is regenerated when the information verification fails, and the next most important channel is selected for sending.
Improves the reliability and user experience of OTP sending, enhances system security, ensures that OTP is more difficult to steal or steal, and improves the efficiency and response speed of authentication.
Smart Images

Figure CN118659906B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of artificial intelligence (AI) technology, and in particular to a multi-channel OTP (One-time Password) sending method, device and electronic device. Background Art
[0002] With the rapid development of the Internet era, network security issues have continued to emerge. When users use the Internet or Internet products, in order to ensure the user's identity security and / or property security, it is usually necessary to verify the user's identity within a short period of time.
[0003] In the related technology, a single channel is usually used to send OTP to the user. However, from the perspective of information security, this method is prone to targeted attacks (such as man-in-the-middle attacks or phishing attacks). Once the OTP is intercepted or stolen, the access rights of the user account are likely to be obtained by other people, thereby causing information leakage and low reliability. From the device oven that receives the OTP, a single OTP transmission usually corresponds to a fixed receiving device, but if this device is not with the user, the user cannot receive the OTP in time, and there is also a problem of low reliability.
[0004] With regard to the problem of low reliability of the OTP sending method in the prior art, no effective technical solution has been proposed yet. Summary of the invention
[0005] The embodiments of the present application provide a multi-channel OTP sending method, device and electronic device to at least solve the problem of low reliability of the OTP sending method in the prior art.
[0006] According to one aspect of an embodiment of the present application, a multi-channel OTP sending method is provided, comprising: obtaining an OTP sending request input by a target account, and generating a first OTP dynamic password according to the OTP sending request, wherein the target account is an account used by a target user to log in to a target device, and the OTP sending request carries at least target data and a sending timestamp of the OTP sending request, and the target data is data associated with the target user; inputting the target data and the sending timestamp into a target prediction model to obtain a sending channel sequence output by the target prediction model, wherein the target prediction model is a model obtained by pre-training an initial prediction model using a sample data set, The sending channel sequence includes multiple OTP sending channels sorted by importance; the first OTP dynamic password is sent to the target account according to the target sending channel, and the first return information is received, wherein the target sending channel is the sending channel with the highest importance in the sending channel sequence; the first return information is verified, and if the information verification passes, the verification result of the information verification is sent to the target device, and the verification log is recorded at the same time; if the information verification fails, the generated second OTP dynamic password is determined as the first OTP dynamic password, and the sending channel with the highest importance in the sending channel sequence except the target sending channel is determined as the first sending channel.
[0007] According to another aspect of the embodiment of the present application, a multi-channel OTP sending device is also provided, including: an acquisition unit, used to acquire an OTP sending request input by a target account, and generate a first OTP dynamic password according to the OTP sending request, wherein the target account is an account used by a target user to log in to a target device, and the OTP sending request carries at least target data and a sending timestamp of the OTP sending request, and the target data is data associated with the target user; an input unit, used to input the target data and the sending timestamp into a target prediction model, and obtain a sending channel sequence output by the target prediction model, wherein the target prediction model is a model obtained by pre-training an initial prediction model with a sample data set, The sending channel sequence includes multiple OTP sending channels sorted by importance; a sending unit is used to send a first OTP dynamic password to a target account according to a target sending channel, and receive a first return message, wherein the target sending channel is the sending channel with the highest importance in the sending channel sequence; a verification unit is used to verify the first return message, and if the information verification passes, send the verification result of the information verification to the target device, and record a verification log at the same time; if the information verification fails, the generated second OTP dynamic password is determined as the first OTP dynamic password, and the sending channel with the highest importance in the sending channel sequence except the target sending channel is determined as the first sending channel.
[0008] Optionally, the multi-channel OTP sending device further includes: a training unit; the training unit includes an acquisition subunit, a construction subunit, a training subunit, and a judgment subunit; the acquisition subunit is used to acquire sample data, wherein the sample data at least includes a user sample data set and a current timestamp, wherein the user sample data set includes multiple user sample data, and each user sample data is associated with a reference user; the construction subunit is used to construct an initial prediction model based on a symbolic mathematical system, wherein the symbolic mathematical system is a graph-based computing framework, and the initial prediction model integrates multiple reference sending channels; the training subunit is used to iteratively train the initial prediction model according to the multiple user sample data and the current timestamp to obtain the output result of the initial prediction model and the loss function value corresponding to the initial prediction model; the judgment subunit is used to adjust the initial prediction model when the output result does not match the preset result or the loss function value is greater than the preset function value, and determine the adjusted model as the initial prediction model; when the output result matches the preset result and the loss function value is less than or equal to the preset function value, the initial prediction model is determined as the target prediction model.
[0009] Optionally, the above-mentioned judgment subunit includes: an acquisition module, used to obtain a target optimizer from multiple reference optimizers according to the data type corresponding to the sample data set; an adjustment module, used to adjust the initial prediction model according to the back propagation algorithm and the target optimizer to minimize the loss function.
[0010] Optionally, the above-mentioned training subunit includes: a first selection module, used to select a user sample data from multiple user sample data as the current user sample data, and determine the current reference user corresponding to the current user sample data based on the current user sample data; an acquisition module, used to acquire behavior data corresponding to the current reference user based on the current user sample data, wherein the behavior data includes user preference data and user device information, the user preference data is used to indicate the user's preference for the OTP sending channel, and the user device information is used to indicate the terminal device used by the current reference user; an output module, used for the initial prediction model to sort multiple reference sending channels according to the current user sample data, the behavior data and the current timestamp, and then output the sorting result and the corresponding loss function value; a second selection module, used to select a user sample data from multiple user sample data other than the current user sample data as the current user sample data.
[0011] Optionally, the verification unit includes: a first determination subunit, used to determine that the information verification fails when the first feedback information is received within a first preset time period and the first feedback information indicates that the first OTP dynamic password fails to be sent; a second determination subunit, used to determine that the information verification fails when the first feedback information is not received within the first preset time period and the first feedback information is received within a second preset time period, and the feedback dynamic password carried in the first feedback information is inconsistent with the first OTP dynamic password, wherein the second preset time period is after the first preset time period; a third determination subunit, used to determine that the information verification fails when the first feedback information is not received within the first preset time period and the first feedback information is not received within the second preset time period.
[0012] Optionally, the multi-channel OTP sending device further includes: a query unit, for querying the target account in the target database when an OTP sending request input by the target account is obtained; a first input unit, for inputting the target data and the sending timestamp into the target prediction model when the target account is found in the target database; a first sending unit, for determining a preset sending channel sequence as the sending channel sequence when the target account is not found in the target database, and storing the target account and the corresponding OTP sending request in the target database, wherein the preset sending channel sequence is a pre-set sending channel sequence corresponding to the target account that sends the OTP sending request for the first time.
[0013] Optionally, the verification unit further includes: a storage unit, for determining the sending success rate of each sending channel in the sending channel sequence corresponding to the target account according to the verification log corresponding to the target account, and storing each sending channel corresponding to the target account and the sending success rate of each sending channel in correspondence with the target account to the target database; a second acquisition unit, for acquiring from the target database multiple user accounts, multiple sending channels corresponding to each of the multiple user accounts, and the sending success rate of each sending channel corresponding to each user account; a drawing unit, for drawing a chart based on the multiple user accounts, multiple sending channels, and multiple sending success rates obtained from the target database; a first sending unit, for sending the drawn chart to the monitoring terminal, so that the monitoring terminal displays the corresponding chart according to multiple selection controls, the multiple selection controls including an account selection control, a channel selection control, and a success rate selection control.
[0014] According to another aspect of the embodiments of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the above multi-channel OTP sending method.
[0015] According to another aspect of the embodiments of the present application, an electronic device is also provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor executes the multi-channel OTP sending method as described above.
[0016] The multi-channel OTP sending method of the present application solves the problem of low reliability of the OTP sending method in the prior art. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In order to more clearly illustrate the specific implementation methods of the present application or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some implementation methods of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0018] Figure 1 is a flow chart of an optional multi-channel OTP sending method according to an embodiment of the present invention;
[0019] Figure 2 is a schematic diagram of an optional multi-channel OTP sending method according to an embodiment of the present invention;
[0020] Figure 3 is a schematic structural diagram of an optional multi-channel OTP sending device according to an embodiment of the present invention;
[0021] Figure 4 It is a schematic diagram of the structure of an optional electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0022] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.
[0023] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0024] It should be noted that the embodiments in this application and all the data required in the embodiments are obtained and used by legitimate means with the consent of the user and relevant personnel, and the user's information security will be guaranteed in the process of acquisition and use.
[0025] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0026] OTP (One-time Password) is also called "one-time password", which refers to a password that can only be used once. A one-time password is an unpredictable random number combination generated at regular intervals based on a special algorithm. One-time passwords have been widely used in metal, telecommunications, online games and other fields, effectively protecting the security of users. The main technical fields involved in OTP sending include: artificial intelligence (AI) technology, communication technology, data analysis technology, security technology and user experience design. When designing and implementing a multi-channel automatic reissue OTP solution based on artificial intelligence, these technical fields need to be combined to ensure the security, accuracy and user-friendliness of the system. This innovative solution will play a role in identity authentication, network security, data analysis and communication, and provide new ideas and possibilities for the improvement and optimization of OTP verification methods.
[0027] Existing OTP sending methods all use a single OTP channel, but due to the instability of a single OTP channel, users may not receive the OTP in time, and thus cannot complete login or login verification (for example, when the operator's signal is poor, the user cannot receive text messages in time); and the single OTP channel limits the way users receive OTPs, and users may not receive the OTP in time due to text message delays, poor signals, or the phone not being around, affecting the user experience. The single OTP sending method is susceptible to targeted attacks, such as man-in-the-middle attacks or phishing attacks. Once the OTP is intercepted or stolen, hackers may gain access to the user's account.
[0028] In order to solve the above problems, the present application embodiment provides a multi-channel OTP sending method. As an optional implementation method, please refer to Figure 1 , which shows a flow chart of a multi-channel OTP sending method according to an embodiment of the present application. The method may include the following steps:
[0029] S102, obtaining an OTP sending request input by a target account, and generating a first OTP dynamic password according to the OTP sending request, wherein the target account is an account used by a target user to log in to a target device, the OTP sending request carries at least target data and a sending timestamp of the OTP sending request, and the target data is data associated with the target user;
[0030] S104, inputting the target data and the sending timestamp into the target prediction model to obtain a sending channel sequence output by the target prediction model, wherein the target prediction model is a model obtained by pre-training an initial prediction model with a sample data set, and the sending channel sequence includes a plurality of OTP sending channels sorted by importance;
[0031] S106, sending the first OTP dynamic password to the target account according to the target sending channel, and receiving the first feedback information, wherein the target sending channel is the sending channel with the highest importance in the sending channel sequence;
[0032] S108, performing information verification on the first returned information, and if the information verification passes, sending the verification result of the information verification to the target device, and recording a verification log at the same time;
[0033] S110, when the information verification fails, the generated second OTP dynamic password is determined as the first OTP dynamic password, and the most important sending channel in the sending channel sequence except the target sending channel is determined as the first sending channel.
[0034] It should be noted that the target account can be understood as, but not limited to, the account entered by the user when logging into the target device. The target account can be the user's mobile phone number, ID number, email, WhatsApp account, etc., or it can be the account uniquely corresponding to the user and the target device registered by the user when registering the target device. The target device can be a target application, or a target website, or various devices and systems that require the user to log in using an account. The OTP sending request carries at least the target data and the sending timestamp of the sending request. The target data includes at least the target account, and can also include other data associated with the target user. The target data can be determined by first determining the identity information of the target user corresponding to the target account according to the target account; and then determining other accounts associated with the target user according to the identity information. For example, the target account and target data are as follows: there is a target application A. When the user registers the target application A, the registered account is ABC123, and the login account in the login method set inside the target application A can be ABC123, or the user's mobile phone number, and / or the user's ID number, and / or the user's email, etc. If the account number entered by the user when logging in is ABC123, then ABC123 is the above-mentioned target account, and the target data includes at least ABC123, and may also include the user's mobile phone number, and / or the user's ID number, and / or the user's email address; if the account number entered by the user when logging in is the user's mobile phone number, then the user's mobile phone number is the target account, and the target data includes at least the user's mobile phone number, and may also include ABC123, and / or the user's ID number, and / or the user's email address.
[0035] The target data carried in the above request is also one of the important bases for determining the target sending channel later. For example, if the user enters a mobile phone number when logging in, then the mobile phone number can be used to determine that under ideal conditions (for example, both the Internet signal and the operator signal meet ideal conditions), the OTP channels that ensure that the user can receive the first OTP dynamic password include SMS and voice; and the target data also includes email, WhatsApp account, etc., so under ideal conditions, the OTP channels that ensure that the user can receive the first OTP dynamic password include email, WhatsApp, etc. Then the target prediction model can sort the four sending channels of SMS, voice, email, and WhatsApp when sorting. For users who do not have a WhatsApp account (that is, the target data obtained does not include a WhatsApp account), the target prediction model can sort the three sending channels of SMS, voice, and email when sorting.
[0036] The above-mentioned method of generating the first OTP dynamic password can be a random generation method or a generation method according to preset rules. The preset rules may include restrictions on the number of characters in the dynamic password and restrictions on each character, wherein each character can be a number, uppercase English letter, lowercase English letter, special symbols, etc., and the restrictions on each character can be the same or different.
[0037] The target prediction model in S104 is obtained by pre-training the initial prediction model with a sample data set. The target prediction model is used to determine the order of the multiple sending channels corresponding to the user according to their respective importance, and output the order result (i.e., the sending channel sequence). The order result can be the result of ordering the sending channels from high to low importance, or the result of ordering the importance from low to high. The target timestamp can also be stored in correspondence with the request sent by the user and the unique identifier corresponding to the user in the database.
[0038] It should be noted that each user corresponds to multiple sending channels, and each sending channel corresponds to a different importance, and for the same sending channel, the importance of the same sending channel is different for different users; the definition of the importance of the sending channel can be based on the target account entered by the user, the network signal of the user's current location (including Internet signal, operator signal, etc.), the device used by the user to send the target account, the device corresponding to each sending channel (for example, the devices corresponding to SMS and voice sending channels include: mobile phones, tablets; the devices corresponding to email include: mobile phones, tablets, computers; the devices corresponding to WhatsApp include: mobile phones) and the number of times the user enters the target account when sending an OTP sending request to the same target device (which can reflect the user's usage habits and preferences to a certain extent), etc.
[0039] After the target prediction model outputs the sending channel sequence, the first OTP dynamic password is sent to the target account according to the sending channel with the highest importance in the sending channel sequence, and the first return information is received; the return information can then be verified, and if the verification passes, the verification result is sent to the target device, so that the target device can determine whether to allow the target account to log in according to the verification result. The above information verification can be understood, but not limited to, as the verification result is not empty. That is, the verification result has an indication, and the verification result indicates two situations, one is that the verification result indicates that the verification is correct, and the other is that the verification result indicates that the verification is wrong. Regardless of any of the above result information, the server sends the verification result to the target device. When the target device receives the verification result, if the verification result indicates that the verification is correct, the target account is allowed to log in to the target device (that is, the target account can log in successfully), and no prompt information needs to be sent to the target device at this time; if the verification result indicates an error, the target account is not allowed to log in to the target device (that is, the target account cannot log in unsuccessfully), and a target prompt information is sent to the target device. The target prompt information is used to indicate error information. For example, the target prompt information can indicate that the mobile phone number is entered incorrectly, the email address is entered incorrectly, the first OTP dynamic password is entered incorrectly, and so on. The above-mentioned information verification may also directly indicate that the verification is correct without indicating a verification error, that is, the server will send the verification result to the target device only if the information verification is passed, and will not send the verification result to the target device if the information verification fails. Then, when the target device receives the verification result, it does not need to perform a secondary verification and can allow the target account to log in.
[0040] In the event of unsuccessful login, the second OTP dynamic password can be sent to the target account by selecting the most important sending channel from the sending channel sequence except the target sending channel, and the first OTP dynamic password is different from the second OTP dynamic password.
[0041] The schemes in S104 to S110 above can be understood, but are not limited to, as follows: inputting the target data and the sending timestamp into the target prediction model, and outputting a sending channel sequence corresponding to the target user; sending the first OTP dynamic password to the target account according to the sending channel with the highest importance in the sending channel sequence, and receiving the first return information; performing information verification on the first return information, and sending the verification result to the target device if the information verification passes; generating a second OTP dynamic password different from the first OTP dynamic password if the information verification fails; determining the sending channel that is second only to the above target sending channel in importance as the target sending channel, and determining the account corresponding to the target sending channel as the target account; and sending the second OTP dynamic password to the target account according to the target sending channel.
[0042] The following distances are used to illustrate the above S104 to S110:
[0043] Assume that the sending channel sequence output by the target prediction model is four sending channels arranged in descending order of importance: SMS> Voice> Email> WhatsApp. The target account input by the user is a mobile phone number; the target data includes the user's mobile phone number, email address, and WhatsApp account; then SMS is preferred to send the first OTP dynamic password to the target account (i.e., mobile phone number) corresponding to the SMS method, and receive the first return information; if the verification of the first return information fails, a second OTP dynamic password different from the first OTP dynamic password is generated; the account corresponding to the voice is determined as the target account, and the voice sending channel is determined as the target channel; the second OTP dynamic password is sent to the target account by voice; if the verification of the second return information (here, in order to facilitate the distinction from the first return information, it can also be called the first return information, but the first return information at this time is the return information obtained by sending the second OTP dynamic password) fails, a third OTP dynamic password different from both the first OTP dynamic password and the second OTP dynamic password is generated; The account corresponding to the email (i.e., the mailbox) is determined as the target account, and the email sending channel is determined as the target channel; the third OTP dynamic password is sent to the target account by email; when the third feedback information (here, in order to distinguish it from the first feedback information and the second feedback information, it can also be called the first feedback information, but the first feedback information at this time is the feedback information obtained by sending the third OTP dynamic password) is verified unsuccessfully, a fourth OTP dynamic password that is different from the first OTP dynamic password, the second OTP dynamic password, and the third OTP dynamic password is generated; the account corresponding to whatsapp (i.e., the whatsapp account) is determined as the target account, and the whatsapp sending channel is determined as the target channel; the fourth OTP dynamic password is sent to the target account by whatsapp...until the feedback information is verified successfully and the target account logs in successfully.
[0044] In other words, the above-mentioned implementation mode in the present application, when receiving the OTP sending request input by the target account, will preliminarily generate the first OTP dynamic password, and select the channel with the highest importance from the sending channel sequence output by the target prediction model as the target sending channel, and use the target sending channel to send the first OTP dynamic password. If the sending is unsuccessful, a new OTP dynamic password will be regenerated, and the sending channel that has been used for the request will be removed from the sending channel sequence, and the sending channel with the highest importance will be selected from the remaining sending channels as the new target sending channel, and the new target sending channel will be used to send the new OTP dynamic password. If the sending fails subsequently, a new OTP dynamic password will continue to be regenerated, and the new target sending channel will be re-determined to send the new OTP dynamic password using the above-mentioned method of determining the new target sending channel, until the OTP dynamic password is sent successfully.
[0045] It should also be noted that the above-mentioned importance can be determined based on target data related to the target user corresponding to the target account (data associated with the target user, such as user mobile phone number, ID number, email address, etc.), the user's current location, the network environment of the user's current location (including the operator network environment and the Internet network environment), and when the user sends an OTP request to log in to the target device, the type of target account entered by the user when logging in to the target device in the user's history (which can reflect to a certain extent whether the user prefers to log in with a mobile phone number or an email address, etc.) and other data information.
[0046] Through the above implementation of the present application, the multi-channel automatic reissue OTP solution based on artificial intelligence can enhance the security of the system by intelligently selecting the optimal sending channel. Multi-channel sending makes OTP more difficult to be stolen or stolen, and improves the reliability of the OTP sending method. At the same time, through automated and intelligent processing, the system can respond and process OTP sending requests more quickly, improving the efficiency and response speed of the overall identity authentication process.
[0047] As an optional implementation, the initial prediction model is trained using a sample data set, including:
[0048] S1, obtaining sample data, wherein the sample data at least includes a user sample data set and a current timestamp, wherein the user sample data set includes multiple user sample data, and each user sample data is associated with a reference user;
[0049] S2, constructing an initial prediction model based on a symbolic mathematical system, wherein the symbolic mathematical system is a graph-based computing framework, and the initial prediction model integrates multiple reference transmission channels;
[0050] S3, iteratively training the initial prediction model according to multiple user sample data and the current timestamp, to obtain the output result of the initial prediction model and the loss function value corresponding to the initial prediction model;
[0051] S4, when the output result does not match the preset result or the loss function value is greater than the preset function value, the initial prediction model is adjusted and the adjusted model is determined as the initial prediction model; when the output result matches the preset result and the loss function value is less than or equal to the preset function value, the initial prediction model is determined as the target prediction model.
[0052] The above sample data includes a user sample data set, which includes multiple sample data, each sample data is associated with (corresponds to) a reference user, and each sample data includes a reference account corresponding to the reference user, a device account of a reference device corresponding to the reference user, and other reference data associated with the reference user (including the mobile phone number, ID number, email address, and / or WhatsApp account corresponding to the reference user). The above current time is the time when the corresponding sample data is input into the initial prediction model.
[0053] The above-mentioned symbolic mathematical system is TensorFlow, an open source machine learning platform, which has a multi-level structure, may not belong to various types of servers, PCT terminals and web pages, and supports GPU and TPU high-performance numerical calculations. The above-mentioned multiple reference sending channels include all currently available sending channels. The output result of the above-mentioned initial prediction model can be understood as, but not limited to, a reference sending channel sequence corresponding to the sample data input into the initial prediction model, and the multiple reference sending channel sequences in the reference sending channel sequence are sorted according to importance. At the same time, the loss function value currently corresponding to the initial prediction model is also obtained during each iterative training. When the output result does not match the preset result or the loss function value is greater than the preset function value, the initial prediction model is adjusted, and the adjusted initial prediction model is trained again. When the output result matches the preset result and the loss function value is less than or equal to the preset function value, the prediction model at this time is determined as the target prediction model. The above-mentioned preset results are multiple channels corresponding to multiple reference users respectively set in advance. The above-mentioned preset function value is a loss function value preset as needed.
[0054] Through the above-mentioned implementation mode of the present application, a sending channel sequence corresponding to different users is obtained for different users, and the sending method that best suits the user can be selected from the sending channel sequence. By selecting the sending method that best suits the user, such as SMS, voice message, application Push, message application notification, etc., the user can receive the OTP more conveniently and timely, thereby improving the user experience and user satisfaction.
[0055] As an optional implementation, the initial prediction model is adjusted, including:
[0056] S1, obtaining a target optimizer from multiple reference optimizers according to the data type corresponding to the sample data set;
[0057] S2, adjusts the initial prediction model according to the back-propagation algorithm and the target optimizer to minimize the loss function.
[0058] It should be noted that the above-mentioned data types include the size of the data in the sample data set, the nature of the problem (which can be understood as but not limited to the type of results that the initial prediction model wants to output, such as classification results, sorting results, etc.), and the data characteristics of multiple sample data in the sample data set (sparse data or data with complex structures, etc.). The above-mentioned multiple reference optimizers include Adam, SGD, RMSprop, Adagrad, etc.
[0059] The above-mentioned backpropagation algorithm is a key algorithm for training neural networks. It updates the weights in the neural network by calculating the gradient to minimize the error between the output of the neural network and the target value. The above-mentioned initial prediction model includes multiple layers (such as input layer, hidden layer, output layer). The input data is transmitted to the hidden layer and output layer through the input layer, and the output is obtained after the formaldehyde and activation function are calculated. The loss function (Loss Function) reflects the gap between the output of the beam network and the target value, which reflects the performance of the network. The backpropagation algorithm mainly includes two stages: calculating the gradient of the loss function (starting from the output layer, calculating the gradient of the loss function for each weight. This process is implemented by the chain rule, propagating the error back to the input layer layer by layer to calculate the impact of each weight on the total loss) and weight update (using the gradient descent method to update each weight in the opposite direction of the gradient to minimize the loss function. It can also be multiplied by a learning rate to control the update amplitude of the weight in each iteration).
[0060] Through the above implementation of the present application, the initial prediction model is adjusted through the back-propagation algorithm and the target optimizer, so that the training process of the model is greatly automated, and the weights of the network are optimized through repeated iterations, thereby improving the prediction ability and generalization ability of the network.
[0061] As an optional implementation, the initial prediction model is iteratively trained according to multiple user sample data and the current timestamp, including:
[0062] S1, selecting a piece of user sample data from multiple pieces of user sample data as current user sample data, and determining a current reference user corresponding to the current user sample data according to the current user sample data;
[0063] S2, acquiring behavior data corresponding to the current reference user according to the current user sample data, wherein the behavior data includes user preference data and user device information, the user preference data is used to indicate the user's preference for the OTP sending channel, and the user device information is used to indicate the terminal device used by the current reference user;
[0064] S3, the initial prediction model sorts multiple reference sending channels according to the current user sample data, behavior data and current timestamp, and outputs the sorting result and the corresponding loss function value;
[0065] S4, selecting one piece of user sample data from multiple pieces of user sample data except the current user sample data as the current user sample data.
[0066] The above S1 to S4 can be understood, but not limited to, as follows: for each user sample data, the initial prediction model can be iterated once. At the same time, assuming that the output ranking result and the loss function value obtained by training the initial prediction model for one of the user sample data meet the conditions, the user sample data that has been used in the iterative training process before the conditions are met can be used to perform a second iterative training on the current model (the model corresponding to the output ranking result and the loss function value when both the conditions are met). The current model can also be subjected to subsequent iterative training using user sample data that has not been used in the training process among multiple user sample data, thereby ensuring the stability and accuracy of the trained target prediction model.
[0067] Through the above-mentioned implementation mode of the present application, the target prediction model is obtained by training with user preference data corresponding to multiple users, user device information, etc., and the prediction and decision-making based on the artificial intelligence algorithm enable the system to automatically select the best sending channel, thereby improving the accuracy and success rate of OTP sending and avoiding the problem of verification failure caused by improper selection of sending channels.
[0068] As an optional implementation manner, when verifying the first feedback information, the failure of the verification information includes at least three situations, specifically including:
[0069] In the first case, when the first feedback information is received within the first preset time period and the first feedback information indicates that the first OTP dynamic password fails to be sent, it is determined that the information verification fails;
[0070] In the second case, if the first feedback information is not received within the first preset time period, and the first feedback information is received within the second preset time period, and the feedback dynamic password carried in the first feedback information is inconsistent with the first OTP dynamic password, it is determined that the information verification has not passed, wherein the second preset time period is after the first preset time period;
[0071] In the third case, when the first feedback information is not received within the first preset time period and the first feedback information is not received within the second preset time period, it is determined that the information verification has not passed.
[0072] The above-mentioned implementation methods of the present application determine various situations in which the verification information fails, which basically and comprehensively include all situations in which the information verification fails, thereby avoiding the problem of inaccurate verification results due to considered situations.
[0073] As an optional implementation, the multi-channel OTP sending method further includes:
[0074] S1, when the OTP sending request input by the target account is obtained, the target account is queried in the target database;
[0075] S2, when the target account is found in the target database, the target data and the sending timestamp are input into the target prediction model;
[0076] S3, when the target account is not found in the target database, the preset sending channel sequence is determined as the sending channel sequence, and the target account and the corresponding OTP sending request are stored in the target database, wherein the preset sending channel sequence is a pre-set sending channel sequence corresponding to the target account to which the OTP sending request is sent for the first time.
[0077] Each time each user sends an OTP request, the OTP request sent by the user, the target account corresponding to the request, the target data included in the OTP request, and the unique identifier corresponding to the user are stored in the above-mentioned target database. At the same time, each time a dynamic password is sent, the channel for sending the dynamic password and the result of whether the channel is successfully sent are stored in the target database. Therefore, when the OTP request input by the target account is obtained, the target account can be searched in the target database; when the target account is found, the target data and the sending timestamp are input into the target prediction model; when the target account is not found, the sending channel sequence can be pre-set for the person who sends the OTP request for the first time, and the target prediction model is not required to make a prediction. At the same time, when the target account is not found, the target data and the sending timestamp can also be input into the target prediction model, so that the target prediction model outputs the sending channel sequence corresponding to the target user according to other account data (such as ID card, email address, etc.) corresponding to the target user corresponding to the target account.
[0078] Through the above-mentioned implementation mode of the present application, a more accurate sending channel can be determined for users who send OTP sending requests multiple times, thereby improving user experience and satisfaction.
[0079] As an optional implementation, the multi-channel OTP sending method further includes:
[0080] S1, according to the verification log corresponding to the target account, determine the sending success rate of each sending channel in the sending channel sequence corresponding to the target account, and store each sending channel corresponding to the target account and the sending success rate of each sending channel in correspondence with the target account in the target database;
[0081] S2, obtaining from a target database a plurality of user accounts, a plurality of sending channels corresponding to each of the plurality of user accounts, and a sending success rate of each sending channel corresponding to each user account;
[0082] S3, plotting a chart based on multiple user accounts, multiple sending channels, and multiple sending success rates obtained from the target database;
[0083] S4, sending the drawn chart to the monitoring terminal, so that the monitoring terminal displays the corresponding chart according to multiple selection controls, the multiple selection controls including an account selection control, a channel selection control, and a success rate selection control.
[0084] In the above S108, there is a verification log recorded, so the sending success rate corresponding to each of the multiple sending channels corresponding to the target account can be determined based on each recorded verification log. The sending success rate is the ratio between the number of successful sendings using a certain sending channel and the total number of sendings using the sending channel. Each sending channel and the sending success rate of the sending channel are stored in the target database in correspondence with the target account; and each subsequent sending to the account will update the multiple sending channels corresponding to the account and the sending success rate corresponding to each channel.
[0085] The chart in S3 above may be a pie chart, a bar chart, a line chart, etc.
[0086] In the monitoring terminal, you can select different selection controls to display different charts. You can observe the sending success rate of the same sending channel for different accounts, or the sending success rate of different sending channels for the same account, and so on.
[0087] Through the above-mentioned implementation mode of the present application, the sorting rules of the target prediction model for sorting multiple sending channels can be adjusted according to the observation of the drawn chart (which can be understood as but not limited to the definition of the importance of different sending success rates), so that the target prediction model or system can determine the target sending channel more and more accurately.
[0088] The following combination Figure 2 The above multi-channel OTP sending method is generally described, which specifically includes the following steps:
[0089] S1, when the user logs in to the target device (app or web interface, etc.), fills in the target account (mobile phone number, email address, etc.), clicks to obtain the verification code, thereby triggering the above-mentioned multi-channel OTP sending method;
[0090] S2, the smart OTP service generates a unique verification code;
[0091] S3, the intelligent OTP service inputs the real-time channel decision model to make a channel selection decision based on the target account and decision-related factors (including the device used by the user when sending the request, the data associated with the user corresponding to the target account, and the sending timestamp when the OTP sending request is sent), and selects the best sending channel to send the password; if the sending fails (i.e. the above information verification fails), the second preferred channel will be selected for re-issuance;
[0092] The operation in S3 above has the function of real-time decision-making, which can be understood as, but not limited to: setting the system to monitor user behavior and environmental factors in real time, so as to make real-time decisions to select the optimal delivery channel. For example, in areas with low network coverage, it may be more appropriate to choose SMS instead of in-app notifications. For example, if users use more messaging apps such as WhatsApp, WhatsApp channels are preferred.
[0093] S4, after receiving the one-time password (i.e. dynamic password) on the mobile phone, the user enters it in the app / web verification code interface;
[0094] S5, the app / web server then sends the target account and the dynamic password entered by the user back to the smart OTP service for verification;
[0095] S6, after the smart OTP service verifies the dynamic password, it tells the app / web server the verification result and records the verification log to provide data samples for the decision model;
[0096] S7, the app / web server determines whether to allow the user to log in based on the verification result.
[0097] At the same time, the above-mentioned multi-channel OTP sending channel also includes: feedback mechanism (collecting user feedback information and the success rate of sending OTP to continuously improve and optimize the selection accuracy of the artificial intelligence model), security considerations (ensuring data security and privacy protection during design to ensure that the OTP sending and verification process is safe and reliable).
[0098] The steps for training the model also include: data collection and analysis: First, it is necessary to collect user data and behavior data, including user preferences, device information, frequency of use, etc. These data will help the artificial intelligence algorithm make more accurate choices; build a model: based on data analysis, build an artificial intelligence model to predict when and which channel to use to send OTP. Machine learning technologies such as classification algorithms and decision trees are used to achieve this goal. The specific technology can use TensorFlow, an end-to-end open source machine learning platform, for model training; multi-channel integration: Integrate different sending channels (SMS, voice messages, message APP push (for example: whatsapp, etc.) into the system to ensure that the system can automatically select and send OTP.
[0099] Through the above-mentioned multi-channel OTP sending method, the multi-channel automatic reissue OTP solution based on artificial intelligence can enhance the security of the system by intelligently selecting the optimal sending channel. Multi-channel sending makes OTP more difficult to be stolen or stolen, and improves the reliability of identity authentication; by selecting the sending method that best suits the user, such as SMS, voice message, application Push, message application notification, etc., users can receive OTP more conveniently and timely, improving user experience and user satisfaction; prediction and decision-making based on artificial intelligence algorithms enable the system to automatically select the best sending channel, improve the accuracy and success rate of OTP sending, and avoid verification failures caused by improper selection of sending channels; automatic reissue of OTP not only improves the reliability and security of OTP, but also reduces the additional costs caused by users not receiving OTP in time, such as customer service support costs, user experience improvement costs, etc.; at the same time, through automated and intelligent processing, the system can respond and process OTP sending requests more quickly, improving the efficiency and response speed of the overall identity authentication process.
[0100] It should be noted that, for the above-mentioned method embodiments, for the sake of simplicity, they are all described as a series of action combinations, but those skilled in the art should know that the present invention is not limited by the described action sequence, because according to the present invention, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know 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.
[0101] According to another aspect of the embodiment of the present invention, a multi-channel OTP sending device for implementing the multi-channel OTP sending method is also provided. Figure 3 As shown, the device comprises:
[0102] The acquisition unit 302 is used to acquire an OTP sending request input by a target account, and generate a first OTP dynamic password according to the OTP sending request, wherein the target account is an account used by a target user to log in to a target device, the OTP sending request carries at least target data and a sending timestamp of the OTP sending request, and the target data is data associated with the target user;
[0103] An input unit 304 is used to input the target data and the sending timestamp into a target prediction model to obtain a sending channel sequence output by the target prediction model, wherein the target prediction model is a model obtained by pre-training an initial prediction model using a sample data set, and the sending channel sequence includes a plurality of OTP sending channels sorted by importance;
[0104] The sending unit 306 is used to send the first OTP dynamic password to the target account according to the target sending channel, and receive the first feedback information, wherein the target sending channel is the sending channel with the highest importance in the sending channel sequence;
[0105] The verification unit 308 is used to verify the first feedback information, and if the information verification passes, the verification result of the information verification is sent to the target device, and the verification log is recorded at the same time; if the information verification fails, the generated second OTP dynamic password is determined as the first OTP dynamic password, and the most important sending channel in the sending channel sequence except the target sending channel is determined as the first sending channel.
[0106] The specific manner in which each unit in the above device embodiment performs operations has been described in detail in the embodiment of the method, and will not be elaborated on again here.
[0107] According to another aspect of the embodiment of the present invention, an electronic device for implementing the above multi-channel OTP sending method is also provided. The electronic device may be as follows: Figure 4 The terminal device or server shown in the figure. This embodiment is described by taking the electronic device as a terminal device as an example. Figure 4 As shown, the electronic device includes: at least one processor 404; and a memory 402 in communication with the at least one processor 404; wherein the memory 402 stores a computer program executable by the at least one processor 404, and the computer program is executed by the at least one processor 404, so that the at least one processor 404 performs the steps in any one of the above method embodiments. The above electronic device may be located in at least one network device among a plurality of network devices of a computer network. The above processor may be configured to perform each step of the above multi-channel OTP sending method through a computer program.
[0108] Among them, the memory 402 can be used to store software programs and modules, such as the program instructions / modules corresponding to the multi-channel OTP sending method and device in the embodiment of the present invention. The processor 404 executes various functional applications and data processing by running the software programs and modules stored in the memory 402, that is, realizing the above-mentioned multi-channel OTP sending method. The memory 402 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 402 may further include a memory remotely arranged relative to the processor 404, and these remote memories may be connected to the terminal via a network. Among them, the memory 402 can be specifically but not limited to being used to store the data involved in the above-mentioned multi-channel OTP sending method. As an example, if Figure 4 As shown, the memory 402 may include, but is not limited to, the acquisition unit 302, input unit 304, sending unit 306, and verification unit 308 in the multi-channel OTP sending device. In addition, it may also include, but is not limited to, other module units in the multi-channel OTP sending device, which will not be repeated in this example.
[0109] Optionally, the transmission device 406 is used to receive or send data via a network. Specific examples of the network may include a wired network and a wireless network. In one example, the transmission device 406 includes a network adapter, which can be connected to other network devices and a router via a network cable so as to communicate with the Internet or a local area network. In one example, the transmission device 406 is a radio frequency module, which is used to communicate with the Internet wirelessly.
[0110] In addition, the electronic device mentioned above further includes: a display 408, and a connection bus 410, which is used to connect various module components in the electronic device mentioned above.
[0111] According to one aspect of the present application, a computer program product is provided, the computer program product comprising a computer program / instruction, the computer program / instruction comprising a program code for executing the method shown in the flow chart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication part, and / or installed from a removable medium. When the computer program is executed by a central processing unit, various functions provided by the embodiments of the present application are executed.
[0112] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0113] According to one aspect of the present application, a computer-readable storage medium is provided, and a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the multi-channel OTP sending method. The computer-readable storage medium can be configured to store a computer program for executing each step of the multi-channel OTP sending method.
[0114] In the above embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0115] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A multi-channel OTP sending method, characterized in that: include: Obtain an OTP sending request input by a target account, and generate a first OTP dynamic password according to the OTP sending request, wherein the target account is an account used by a target user to log in to a target device, the OTP sending request carries at least target data and a sending timestamp of the OTP sending request, and the target data is data associated with the target user; Input the target data and the sending timestamp into a target prediction model to obtain a sending channel sequence output by the target prediction model, wherein the target prediction model is a model obtained by pre-training an initial prediction model with a sample data set, and the sending channel sequence includes a plurality of OTP sending channels sorted by importance; Sending the first OTP dynamic password to the target account according to a target sending channel, and receiving first feedback information, wherein the target sending channel is the sending channel with the highest importance in the sending channel sequence; Performing information verification on the first returned information, and if the information verification passes, sending the verification result of the information verification to the target device, and recording a verification log at the same time; If the information verification fails, the generated second OTP dynamic password is determined as the first OTP dynamic password, and the most important sending channel in the sending channel sequence except the target sending channel is determined as the first sending channel.
2. The method according to claim 1, characterized in that The initial prediction model is trained using a sample data set, including: Acquire the sample data, wherein the sample data at least includes a user sample data set and a current timestamp, wherein the user sample data set includes a plurality of user sample data, and each user sample data is respectively associated with a reference user; Building an initial prediction model based on a symbolic mathematical system, wherein the symbolic mathematical system is a graph-based computing framework, and the initial prediction model integrates multiple reference transmission channels; Iteratively train the initial prediction model according to the multiple pieces of user sample data and the current timestamp to obtain an output result of the initial prediction model and a loss function value corresponding to the initial prediction model; When the output result does not match the preset result or the loss function value is greater than the preset function value, adjusting the initial prediction model and determining the adjusted model as the initial prediction model; When the output result matches the preset result and the loss function value is less than or equal to the preset function value, the initial prediction model is determined as the target prediction model.
3. The method according to claim 2, characterized in that The initial prediction model is adjusted, including: Obtain a target optimizer from multiple reference optimizers according to the data type corresponding to the sample data set; The initial prediction model is adjusted according to the back-propagation algorithm and the target optimizer to minimize the loss function.
4. The method according to claim 2, characterized in that: Iteratively training the initial prediction model according to the multiple pieces of user sample data and the current timestamp includes: Selecting one piece of user sample data from the multiple pieces of user sample data as current user sample data, and determining a current reference user corresponding to the current user sample data according to the current user sample data; Acquire behavior data corresponding to the current reference user according to the current user sample data, wherein the behavior data includes user preference data and user device information, the user preference data is used to indicate the user's selection preference for the OTP sending channel, and the user device information is used to indicate the terminal device used by the current reference user; The initial prediction model sorts the multiple reference sending channels according to the current user sample data, the behavior data and the current timestamp, and outputs the sorting result and the corresponding loss function value; A piece of user sample data is selected from the multiple pieces of user sample data except the current user sample data as the current user sample data.
5. The method according to claim 1, characterized in that Performing information verification on the first returned information includes: When the first feedback information is received within a first preset time period and the first feedback information indicates that the first OTP dynamic password fails to be sent, determining that the information verification fails; If the first feedback information is not received within a first preset time period, and the first feedback information is received within a second preset time period, and the feedback dynamic password carried in the first feedback information is inconsistent with the first OTP dynamic password, it is determined that the information verification has not passed, wherein the second preset time period is after the first preset time period; If the first feedback information is not received within the first preset time period, and if the first feedback information is not received within the second preset time period, it is determined that the information verification has failed.
6. The method according to claim 1, characterized in that Also includes: Upon obtaining the OTP sending request input by the target account, querying the target account in the target database; When the target account is found in the target database, the target data and the sending timestamp are input into the target prediction model; If the target account is not found in the target database, the preset sending channel sequence is determined as the sending channel sequence, and the target account and the corresponding OTP sending request are stored in the target database, wherein the preset sending channel sequence is a pre-set sending channel sequence corresponding to the target account that sends the OTP sending request for the first time.
7. The method according to claim 6, characterized in that Also includes: Determine the sending success rate of each sending channel in the sending channel sequence corresponding to the target account according to the verification log corresponding to the target account, and store each sending channel corresponding to the target account and the sending success rate of each sending channel in the target database in correspondence with the target account; Acquire from a target database a plurality of user accounts, a plurality of sending channels corresponding to each of the plurality of user accounts, and a sending success rate of each sending channel corresponding to each user account; Draw a chart according to the multiple user accounts, the multiple sending channels, and the multiple sending success rates obtained from the target database; The drawn chart is sent to the monitoring terminal, so that the monitoring terminal displays the corresponding chart according to a plurality of selection controls, wherein the plurality of selection controls include an account selection control, a channel selection control, and a success rate selection control.
8. A multi-channel OTP sending device, characterized in that: include: An acquisition unit, configured to acquire an OTP sending request input by a target account, and generate a first OTP dynamic password according to the OTP sending request, wherein the target account is an account used by a target user to log in to a target device, the OTP sending request carries at least target data and a sending timestamp of the OTP sending request, and the target data is data associated with the target user; An input unit, used for inputting the target data and the sending timestamp into a target prediction model to obtain a sending channel sequence output by the target prediction model, wherein the target prediction model is a model obtained by pre-training an initial prediction model with a sample data set, and the sending channel sequence includes a plurality of OTP sending channels sorted by importance; A sending unit, configured to send the first OTP dynamic password to the target account according to a target sending channel, and receive first feedback information, wherein the target sending channel is the sending channel with the highest importance in the sending channel sequence; The verification unit is used to verify the first feedback information, and if the information verification passes, the verification result of the information verification is sent to the target device, and a verification log is recorded at the same time; if the information verification fails, the generated second OTP dynamic password is determined as the first OTP dynamic password, and the most important sending channel in the sending channel sequence except the target sending channel is determined as the first sending channel.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the multi-channel OTP sending method according to any one of claims 1 to 7.
10. An electronic device, characterized in that: The electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor executes the multi-channel OTP sending method described in any one of claims 1-7.
Citation Information
Patent Citations
Product information pushing method, product information pushing device, storage medium and computer equipment
CN108156237A
User information processing method and device based on multi-channel registration, equipment and medium
CN116303509A
Multi-channel fusion login method, system, device and medium
CN117614700A
