Voice authentication

Receiving and verifying the user's biometric samples and passwords through the digital assistant device solves the problem that the voice-activated electronic device is difficult to distinguish the user's security risks, and realizes security authentication and transaction authorization in the shared device environment.

CN113168437BActive Publication Date: 2025-07-11VISA INTERNATIONAL SERVICE ASSOCIATION
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN201980078873.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-11-28
Filing Date
2019-11-26
Publication Date
2025-07-11
Estimated Expiration
2039-11-26

AI Technical Summary

Technical Problem

Existing voice-activated electronic devices usually only respond to one person’s commands, making it difficult to distinguish between multiple persons’ commands, especially when sharing devices, there are problems of security risks and improper functional execution.

Method used

Receive the user's biometric samples through the digital assistant device, convert them into a biometric template, scan the user device within the communication range, send an authentication request to the server computer, and receive and verify the password to ensure that only authorized users can execute the transaction.

Benefits of technology

It realizes secure authentication and authorization to users in a shared device environment, prevents replay attacks, and ensures the security and accuracy of transactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113168437B_ABST
    Figure CN113168437B_ABST
Patent Text Reader

Abstract

Disclose a method. A digital assistant device receives a biometric sample from a user and then converts the biometric sample into a biometric template. The digital assistant device may scan user devices within the communication range of the digital assistant device to receive user device identifiers. The digital assistant device may send an authentication request including the biometric template and at least one user device identifier to a server computer. The digital assistant device may then receive a password request message including the at least one user device identifier from the server computer. The digital assistant device may send the password request message to the user device corresponding to the at least one user device identifier and may then receive a password. The digital assistant device may then send the password to the server computer. The server computer verifies the password before further processing the transaction.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross - Reference to Related Applications

[0002] This application is a PCT application that claims priority to U.S. Patent Application No. 16 / 203,186, filed on November 28, 2018, which is incorporated herein by reference in its entirety. Background Art

[0003] Voice - activated electronic devices are becoming increasingly common. A person can speak a command to activate the device. In response to the voice command, the device can perform various functions, such as turning a device on or off, searching for a query on the Internet, performing a transaction, etc.

[0004] However, typical voice - activated electronic devices respond only to commands from one person and not from others. The device can identify the command and perform the specified function. This is problematic when many people may attempt to use a shared device or when the voice - activated electronic device is a public device. Shared digital assistant devices may also pose additional security risks when performing functions, such as when performing a transaction.

[0005] Embodiments of the present invention individually and collectively address this and other problems. Summary of the Invention

[0006] Embodiments of the present invention relate to methods and systems for voice authentication.

[0007] One embodiment relates to a method that includes: receiving, by a digital assistant device, a biometric sample from a user; converting, by the digital assistant device, the biometric sample into a biometric template; scanning, by the digital assistant device, user devices within the communication range of the digital assistant device to receive user device identifiers; sending, by the digital assistant device, an authentication request including the biometric template and at least one user device identifier to a server computer; receiving, by the digital assistant device, a password request message including the at least one user device identifier from the server computer; sending, by the digital assistant device, the password request message to the user device corresponding to the at least one user device identifier; receiving, by the digital assistant device, a password from the user device; and sending, by the digital assistant device, the password to the server computer, wherein the server computer verifies the password before further processing the transaction.

[0008] Another embodiment relates to a digital assistant device, comprising: a processor; a memory device; and a computer-readable medium coupled to the processor, the computer-readable medium comprising code executable by the processor to implement a method, the method comprising: receiving a biometric sample from a user; converting the biometric sample into a biometric template; scanning for user devices within the communication range of the digital assistant device so as to receive user device identifiers; sending an authentication request comprising the biometric template and at least one user device identifier to a server computer; receiving a password request message comprising the at least one user device identifier from the server computer; sending the password request message to the user device corresponding to the at least one user device identifier; receiving a password from the user device; and sending the password to the server computer, wherein the server computer verifies the password before further processing a transaction.

[0009] One embodiment relates to a method, comprising: receiving, by a server computer, an authentication request message comprising a biometric template and at least one user device identifier from a digital assistant device; comparing, by the server computer, the biometric template with stored biometrics while determining whether the biometric template corresponds to an account associated with the at least one user device identifier; sending, by the server computer, a password request message to the digital assistant device; receiving, by the server computer, a password from the digital assistant device; determining, by the server computer, whether the password matches a previously issued password provided to the user device associated with the at least one user device identifier; and if the password matches the previously issued password, further processing a transaction.

[0010] Another embodiment relates to a server computer, comprising: a processor; a memory device; and a computer-readable medium coupled to the processor, the computer-readable medium comprising code executable by the processor to implement a method, the method comprising: receiving an authentication request message comprising a biometric template and at least one user device identifier from a digital assistant device; comparing the biometric template with stored biometrics while determining whether the biometric template corresponds to an account associated with the at least one user device identifier; sending a password request message to the digital assistant device; receiving a password from the digital assistant device; determining whether the password matches a previously issued password provided to the user device associated with the at least one user device identifier; and if the password matches the previously issued password, further processing a transaction.

[0011] For more detailed information about embodiments of the present invention, please refer to the detailed description and the drawings. Description of the Drawings

[0012] Figure 1 A block diagram of a system showing a voice authentication system according to an embodiment of the present invention is shown.

[0013] Figure 2 A block diagram of a digital assistant device according to an embodiment of the present invention is shown.

[0014] Figure 3 A block diagram of a service provider computer according to an embodiment of the present invention is shown.

[0015] Figure 4 A block diagram of a user device according to an embodiment of the present invention is shown.

[0016] Figure 5A A swimlane diagram showing authentication according to an embodiment of the present invention is shown.

[0017] Figure 5B A swimlane diagram showing authentication according to an embodiment of the present invention is shown. Detailed Description

[0018] Before discussing embodiments of the present invention, some terms may be described in further detail.

[0019] The term "digital assistant" or "digital assistant device" may include a device and / or software agent that can perform tasks and / or services. In some embodiments, a digital assistant may include an information processing system that can interpret natural language input in voice and / or text form to infer and / or determine a user's intent and can perform an action based on the inferred user intent. For example, to take an action based on the inferred user intent, the system may perform one or more of the following: identify a task flow by steps and parameters designed to implement the inferred user intent; input specified requirements of the inferred user intent into the task flow; execute the task flow by calling a program, method, service, application programming interface (API), etc.; and generate an output response to the user in voice (e.g., speech) and / or visual form.

[0020] "User device" may include a device operable by a user. Examples of user devices may include mobile phones, smartphones, personal digital assistants (PDAs), laptop computers, desktop computers, server computers, vehicles such as cars, thin client devices, tablet PCs, etc. Additionally, a user device may be any type of wearable technology device, such as a watch, headphones, glasses, etc. A user device may include one or more processors capable of processing user input. A user device may also include one or more input sensors for receiving user input. As is known in the art, there are various input sensors capable of detecting user input, such as accelerometers, cameras, microphones, etc. User input obtained by the input sensors may come from various data input types, including but not limited to, audio data, visual data, or biometric data. A user device may include any electronic device operable by a user, and the electronic device may also provide remote communication capabilities with a network. Examples of remote communication capabilities include using a mobile phone (wireless) network, a wireless data network (e.g., 3G, 4G, or similar network), Wi-Fi, Wi-Max, or any other communication medium that may provide access to a network such as the Internet or a private network.

[0021] "User" may include an individual. In some embodiments, a user may be associated with one or more personal accounts and / or mobile devices. In some embodiments, a user may also be referred to as a cardholder, account holder, or consumer.

[0022] "Interaction" may include a reciprocal action or influence. "Interaction" may include communication, connection, or exchange between parties, devices, and / or entities. Example interactions include a transaction between two parties and a data exchange between two devices. In some embodiments, a transaction may be performed between a user and a resource provider. Interaction may also include protocols, contracts, etc.

[0023] "Biometric" may be any human characteristic that is unique to an individual. For example, a biometric may be a person's fingerprint, voice sample, face, DNA, retina, etc.

[0024] "Biometric reader" may include a device for capturing data from a biometric sample of an individual. Examples of biometric readers may include fingerprint readers, front cameras, microphones, and iris scanners.

[0025] "Biometric sample" may include data obtained by a biometric reader. The data may be an analog or digital representation of a user's biometric and is generated before determining the different characteristics required for a match. For example, a biometric sample of a user's face may be image data. In another example, a biometric sample of a user's voice may be audio data.

[0026] A "biometric template" or "biometric sample template" may include a file containing different characteristics extracted from a biometric sample. The biometric template can be used during the biometric authentication process. For example, a biometric template can be a binary file that represents the unique characteristics of an individual's fingerprint, eye, hand, or voice needed to perform an accurate authentication of the individual. In some embodiments, the biometric template can be evaluated to determine the function to be performed.

[0027] "Speaker recognition" may include the identification of a user who speaks based on the characteristics of their voice. Speaker recognition can use the acoustic features of speech, which have been found to be different from person to person. These acoustic patterns reflect anatomy (e.g., the size and shape of the throat and mouth) as well as learned behavioral patterns (e.g., voice pitch, speaking style).

[0028] "Speech recognition" may include converting spoken words into text that a computer system can understand. Using speech recognition in combination with speaker recognition can simplify the task of converting speech in a system into part of a security process for authenticating or verifying the identity of a speaker.

[0029] "Voice recognition" can be used to describe both "speaker recognition" and "speech recognition".

[0030] As described herein, a "match score" can be the relationship between received input data and stored data. In the context of the present invention, the received input data can be a captured voice template. The stored data can be a previously captured and stored voice template. The match score can represent the confidence level between the received input data and the stored data. The match score can be passed to other parts of the risk scoring mechanism such that the match score, together with other risk parameters, facilitates an overall decision, such as approving or rejecting a transaction. Those of ordinary skill in the art will understand to set an appropriate threshold to ensure an acceptable level of accuracy. This concept can be applied to other biometric data outside of voice samples (e.g., retina scans, facial recognition data, etc.).

[0031] A "password" may include a piece of cryptic text, such as encrypted text. A password can be formed by encrypting input data using an encryption key, such as a symmetric encryption key. In some embodiments, the password is reversible such that the input used to form the password can be obtained using the same symmetric key to perform a decryption process. In some embodiments, if the input data is encrypted using the private key of a public / private key pair, then the password can also be a digital signature. The digital signature can be verified using the public key of the public / private key pair. In some embodiments, the password can include a dynamic card verification value (dCVV).

[0032] In embodiments of the present invention, a password may be generated in any suitable manner. In some embodiments, the input of the password may include data elements, which include an account identifier, such as a primary account number, and variable data elements such as a counter, time of day, or interaction value. Encryption processes such as the Data Encryption Standard (DES), triple DES, or the Advanced Encryption Standard (AES) using any suitable encryption key may be used to include such data. The encryption key may also be a uniquely derived key or UDK and may be generated based on device-specific information such as an account number, and the device-specific information may be encrypted using a master derived key (MDK). A password may be verified by another computer such as a remote computer by decrypting the password into decrypted content and verifying the decrypted content with other data (e.g., an account number stored in a file), or by encrypting other input and comparing the encrypted result with the password. Additional details regarding password formation and verification in accordance with some embodiments may be found in U.S. Patent Publication No. 2013 / 0226802, which is incorporated herein by reference in its entirety.

[0033] A "digital wallet" may include an electronic device that allows an individual to conduct e-commerce transactions. The digital wallet may store user profile information, account credentials, one or more digital wallet identifiers, etc. and may be used in various transactions such as (but not limited to) e-commerce transactions, social network transactions, money transfer / personal payment transactions, mobile commerce transactions, proximity payment transactions, access transactions, etc. The digital wallet may be designed to simplify the transaction process. The digital wallet may allow a user to load one or more account identifiers onto the digital wallet to conduct a transaction without entering the account identifier or presenting a physical identification.

[0034] A "digital wallet provider" may include an entity that issues a digital wallet to a user, such as an issuing entity or a third-party service provider. The digital wallet provider may enable a user to conduct transactions. The digital wallet provider may provide a stand-alone user-facing software application that stores an account number or a representation of an account number (e.g., a token) on behalf of an account holder (or other user) to facilitate transactions at more than one unrelated transaction entity, conduct person-to-person transactions, or load value into the digital wallet. The digital wallet provider may enable a user to access their account via a personal computer, a user device, or an access device.

[0035] An "acquirer" may include a business entity (e.g., a commercial bank) that has a business relationship with a particular merchant or other entity. Some entities may perform both the issuer function and the acquirer function. Some embodiments may cover such a single entity issuer-acquirer. The acquirer may operate an acquirer computer, which may also be generically referred to as a "transmission computer".

[0036] "Resource provider" may include an entity that can provide resources such as goods, services, information, and / or access. Examples of resource providers include merchants, data providers, shipping agents, government entities, venue and residential operators, etc.

[0037] "Merchant" may include an entity participating in a transaction. A merchant may sell goods and / or services, or provide access to goods and / or services.

[0038] "Authorization request message" may include an electronic message requesting authorization for an interaction. In some embodiments, the authorization request message is sent to a transaction processing computer and / or the issuer of a payment card to request authorization for a transaction. According to some embodiments, the authorization request message may comply with the International Organization for Standardization (ISO) 8583, which is a standard for a system for exchanging electronic transaction information associated with payments made by a user using a payment device or payment account. The authorization request message may include an issuer account identifier that may be associated with a payment device or payment account. The authorization request message may also include additional data elements corresponding to "identification information", including (by way of example only): service code, card verification value (CVV), dynamic card verification value (dCVV), primary account number or "account number" (PAN), payment token, user name, expiration date, etc. The authorization request message may also include "transaction information", such as any information associated with the current transaction, such as transaction value, merchant identifier, merchant location, acquirer bank identification number (BIN), card acceptor ID, information identifying the item being purchased, etc., and any other information that may be used to identify and / or authorize the transaction.

[0039] "Authorization response message" may include a message in response to an authorization request. In some cases, the authorization response message may be an electronic message reply to the authorization request message generated by an issuing financial institution or a transaction processing computer. By way of example only, the authorization response message may include one or more of the following status indicators: Approved - the transaction is approved; Declined - the transaction is not approved; or Call Center - more information is pending and the merchant must call a toll-free authorization telephone number. The authorization response message may also include an authorization code, which may be a code returned by a credit card issuing bank to an access device (e.g., a point-of-sale (POS) device) of a merchant in response to an authorization request message in an electronic message (either directly or through a transaction processing computer) indicating approval of the transaction. This code may be used as evidence of authorization.

[0040] "Authorized entity" may include the entity that requests authorization. Examples of authorized entities may be issuers, government agencies, document repositories, access administrators, etc. The authorized entity may operate an authorized entity computer. "Issuer" may refer to a commercial entity (e.g., a bank) that issues and optionally maintains user accounts. The issuer may also issue payment credentials stored on a user device to consumers, or in some embodiments to a portable device, such as a cellular phone, smart card, tablet computer, or laptop computer.

[0041] "Server computer" may include a powerful computer or a computer cluster. For example, the server computer may be a mainframe, a small computer cluster, or a group of servers working as a unit. In one example, the server computer may be a database server coupled to a web server. The server computer may include one or more computing devices and may use any of a variety of computing architectures, arrangements, and compilations to service requests from one or more client computers.

[0042] "Credential" may include any suitable information that serves as reliable evidence of value, ownership, identity, or authority. The credential may be a string of numbers, letters, or any other suitable characters, as well as any object or document that can be used for confirmation. Examples of credentials include value vouchers, identification cards, authentication documents, access cards, passwords, and other login information, etc.

[0043] "Payment credential" may include any suitable information associated with an account (e.g., a payment account and / or a payment device associated with the account). Such information may be directly related to the account or may be derived from information related to the account. Examples of payment credentials may include a primary account number or "account number" (PAN), user name, expiration date, and verification values, such as CVV, dCVV, card verification value 2 (CVV2), dynamic card verification value 2 (dCVV2), and card verification code 3 (CVC3) values.

[0044] "Service provider" may include an entity that can provide services and / or applications. An example of a service provider is a digital wallet provider. The service provider may operate a service provider computer.

[0045] A "token" can include an alternative identifier for some information. For example, a payment token can include a payment account identifier that replaces an account identifier, such as a PAN. For example, a token can include a series of alphanumeric characters that are used as a replacement for the original account identifier. For example, the token "4900 0000 0000 0001" can be used to replace the PAN "4147 0900 00001234". In some embodiments, the payment token can be "in a reserved format" and can have a numerical format that is consistent with the account identifiers used in existing payment processing networks (e.g., the ISO 8583 financial transaction message format). In some embodiments, the token can be used to replace the PAN to initiate, authorize, settle, or resolve a payment transaction. In other systems that typically provide the original credentials, the token can also be used to represent the original credentials. In some embodiments, a token value can be generated such that it may not be computationally possible to recover the original PAN or other account identifier from the token value. Additionally, in some embodiments, the token format can be configured to allow an entity receiving the token to identify it as a token and to identify the entity that issued the token.

[0046] A "processor" can include a device that processes something. In some embodiments, a process can include any suitable data computing device. A processor can include one or more microprocessors that work together to achieve the desired function. A processor can include a CPU, which includes at least one high-speed data processor that is sufficient to execute program components for executing user- and / or system-generated requests. The CPU can be a microprocessor, such as the Athlon, Duron, and / or Opteron from AMD; the PowerPC from IBM and / or Motorola; the Cell processor from IBM and Sony; the Celeron, Itanium, Pentium, Xeon, and / or XScale from Intel; and / or one or more similar processors.

[0047] A "memory" can include any suitable device that can store electronic data. Suitable memories can include non-transitory computer-readable media that store instructions that can be executed by a processor to implement the desired method. Examples of memories can include one or more memory chips, disk drives, etc. Such memories can operate using any suitable electrical, optical, and / or magnetic operating modes.

[0048] Details of some embodiments of the present invention will now be described.

[0049] Embodiments of the present invention may allow a system capable of user registration, user authentication, and interaction authorization. During user registration, a user may open an application, such as a digital wallet application, on a user device. The user may enter user details into the user device, such as name, phone number, address, payment credentials, etc. The user may also capture and save a biometric template using the user device. The biometric template may be derived from a voice biometric sample of the user's command, such as "Pay via XYZ wallet."

[0050] In some embodiments, the user device may send the user details and the biometric template to a service provider computer (e.g., a cloud wallet, Visa Checkout Open Platform (VCOP), or other suitable platform). In some embodiments, the user device may also send a device identifier to the service provider. The service provider computer may store the user details and the biometric template. In some embodiments, the service provider computer may store payment tokens for the user's credentials, voice phrases (i.e., biometric templates), the user device identifier, and / or a Generic Attribute (GATT) profile and / or a password that may be generated and pushed to the user device.

[0051] Embodiments of the present invention also allow a user to request / command a digital assistant device to perform an interaction. For example, the user may say a command such as "Pay for product W via XYZ wallet." The digital assistant device may obtain a biometric sample from the user's command (i.e., biometric) using a biometric reader such as a microphone. The digital assistant device may then create a biometric template based on the biometric sample. Additionally, the digital assistant device may scan for nearby devices. For example, the digital assistant device may scan all low energy Bluetooth (BLE) enabled devices near the digital assistant device. The digital assistant device may then send the biometric template along with a list of nearby device identifiers to the service provider computer. The service provider computer may look up matching device identifiers stored in a database of the service provider computer.

[0052] For the matching device identifiers, the service provider computer may compare the received biometric template with the stored biometric template associated with the matching device identifier. In some embodiments, the service provider computer may also evaluate the received biometric template to determine the user's intent, as described in further detail herein. The service provider computer may then indicate to the digital assistant whether a device identifier and / or biometric template match has been found. The digital assistant device may then notify the user whether a match has been found. For example, the digital assistant device may play a notification sound of other suitable audio output.

[0053] Embodiments of the present invention may also allow a service provider computer to request a password from a user device. For example, after finding a match of the device identifier and biometric template described herein, the service provider computer may request the password from the user device via a digital assistant device. The digital assistant device may request and receive the password from the matching user device. The digital assistant device may forward the password to the service provider computer. The service provider computer may then determine whether the received password matches the password pre-pushed to the user device. In some embodiments, the service provider computer may send a payment token corresponding to the user of the user device to an authorization computer via an intermediate computer and / or a resource provider computer. Once the interaction is authorized (e.g., by the authorization computer), the digital assistant device may play another sound notifying that the authorization has occurred.

[0054] Figure 1 FIG. 4 shows a block diagram of a system 100 including several components according to some embodiments of the present invention. System 100 includes a user device 102, a digital assistant device 104, a service provider computer 106, an intermediate computer 108, a resource provider computer 110, a transmission computer 112, a processing network 114, and an authorization computer 116.

[0055] The user device 102 may be operatively communicable with the digital assistant device 104. For example, the user device 102 and the digital assistant device 104 may communicate via Bluetooth or BLE. The user device 102 may also be operatively communicable with the service provider computer 106, e.g., via Wi-Fi TM operatively.

[0056] The service provider computer 106 may be operatively communicable with the user device 102, the digital assistant device 104, and the intermediate computer 108. The intermediate computer 108 may be operatively communicable with the resource provider computer 110. In some embodiments, the intermediate computer 108 may be operatively communicable with the transmission computer 112. The transmission computer 112 may be operatively communicable with the resource provider computer 110 and the processing network 114, and the processing network may be operatively communicable with the authorization computer 116.

[0057] A secure communication protocol may be used to send Figure 1Messages between the entities, providers, networks, and devices shown, the secure communication protocols such as but not limited to: File Transfer Protocol (FTP); Hypertext Transfer Protocol (HTTP); Secure Hypertext Transfer Protocol (HTTPS), Secure Sockets Layer (SSL), ISO (e.g., ISO 8583), etc. The communication network can include any suitable communication medium. The communication network can be one and / or a combination of the following: direct interconnection; the Internet; local area network (LAN); metropolitan area network (MAN); operating tasks as nodes on the Internet (OMNI); secure custom connection; wide area network (WAN); wireless network (e.g., using protocols such as but not limited to Wireless Application Protocol (WAP), i - mode, etc.), etc.

[0058] The user device 102 can be operated by a user. In some embodiments, the user device 102 can include a digital wallet application. The user device 102 is capable of receiving user input to allow the user to register a digital wallet and / or register with the service provider computer 106. The user can input user details such as name, phone number, address, payment credentials, and / or other suitable user details into the user device 102. The user device 102 is also capable of capturing a biometric sample and creating a biometric template based on the biometric sample. In some embodiments, the user device 102 can encrypt the biometric template before sending it to another device such as the service provider computer 106. The user device 102 can also be associated with a device identifier. In some embodiments, the device identifier can be unique and can include alphanumeric characters. In other embodiments, the device identifier can be a GATT profile.

[0059] The digital assistant device 104 can be located near the user. In some embodiments, the digital assistant device 104 can be located at a resource provider location. The digital assistant device 104 is capable of obtaining a biometric sample and creating a biometric template based on the biometric sample. The digital assistant device 104 is capable of analyzing the biometric sample and / or biometric template to determine a course of action, such as a function to be performed. In some embodiments, the digital assistant device 104 can include a microphone, which can be any device that converts sound to an electrical signal. The microphone can be used to capture voice data from the user.

[0060] The service provider computer 106 can be a server computer operated by a service provider. The service provider can be an entity that provides application programs for user devices 102 for users to use. In some embodiments, the application provider can be a digital wallet provider that provides a digital wallet or a payment application to the user device 102. The service provider computer 106 can maintain one or more digital wallets for each user, and each digital wallet can be associated with payment data of one or more payment accounts. Examples of digital wallets can include Visa Checkout TM or Google TM Wallet, etc.

[0061] The intermediate computer 108 can be a server computer. The intermediate computer 108 can act as a mediator between the service provider computer 106 and the resource provider computer 110. The intermediate computer 108 can route messages between the service provider computer 106 and the resource provider computer 110. In some embodiments, the intermediate computer 108 can store user details and can facilitate user login to the service provider computer 106.

[0062] The resource provider computer 110 can be configured to receive interaction data, such as transaction data, from another device such as the service provider computer 106 and / or the intermediate computer 108. The resource provider computer 110 can enable resource providers such as merchants to participate in transactions, sell goods or services, or provide users with access to goods or services. The resource provider computer 110 can accept various payment forms and can use various tools to conduct different types of transactions.

[0063] The transmission computer 112 can be (operationally) located between the intermediate computer 108 and the processing network 114. The transmission computer 112 can be operated by an entity such as an acquirer. The acquirer can maintain accounts of any merchants (such as airlines, department stores, etc.) that users may wish to interact with.

[0064] The processing network 114 can route or switch messages between several transmission computers including the transmission computer 112 and several authorized entity computers including the authorization computer 116. In some embodiments, the processing network 114 can be a processing network computer. The processing network computer can be configured to provide authorization services as well as clearing and settlement services for payment transactions. The processing network computer can include data processing subsystems, networks, and operations for supporting and delivering authorization services, exception file services, and clearing and settlement services. An exemplary payment processing network can include VisaNet TM . Such as VisaNet TMPayment processing networks such as VisaNet can process credit card transactions, debit card transactions, and other types of commercial transactions. TM Specifically, it includes the Visa Integrated Payment (VIP) system that processes authorization requests and the BaseII system that performs clearing and settlement services. Moreover, the payment processing network can include server computers and can use any suitable wired or wireless telecommunications network, including the Internet. In some embodiments, the processing network computer can forward an authorization request received from a transmission computer to an authorization entity computer via a communication channel. The processing network computer can further forward an authorization response message received from the authorization entity computer to the transmission computer.

[0065] The authorization computer 116 can be configured to authorize any suitable request, including access to data, access to location, or approval of a payment. In some embodiments, the authorization computer 116 can be operated by an account issuer. Generally, the issuer is an entity (e.g., a bank) that issues and maintains a user's account. The account can be a credit, debit, prepaid, or any other type of account.

[0066] Figure 2 A block diagram of a digital assistant device 200 according to some embodiments of the present invention is shown. The exemplary digital assistant device 200 can include a processor 204. The processor 204 can be coupled to a memory 202, a network interface 206, a computer-readable medium 208, an input element 210, an output element 212, and a biometric reader 214. The computer-readable medium 208 can include an encryption module 208A, a nearby device detection module 208B, and a voice recognition module 208C.

[0067] The memory 202 can be used to store data and code. The memory 202 can be coupled to the processor 204 internally or externally (e.g., a cloud-based data storage device) and can include any combination of volatile and / or non-volatile memory, such as RAM, DRAM, ROM, flash memory, or any other suitable memory device.

[0068] The computer-readable medium 208 may include code executable by the processor 204 to implement a method, the method including: receiving a biometric sample from a user by a digital assistant device; converting the biometric sample to a biometric template by the digital assistant device; scanning user devices within the communication range of the digital assistant device by the digital assistant device to receive user device identifiers; sending an authentication request including the biometric template and at least one user device identifier to a server computer by the digital assistant device; receiving a password request message including at least one user device identifier from the server computer by the digital assistant device; sending the password request message to the user device corresponding to the at least one user device identifier by the digital assistant device; receiving a password from the user device by the digital assistant device; and sending the password to the server computer by the digital assistant device, wherein the server computer verifies the password before further processing the transaction.

[0069] The encryption module 208A may include any program, software, or other code suitable for performing operations related to encryption and / or decryption. The encryption module 208A is capable of encrypting any suitable data. For example, the encryption module 208A is capable of encrypting the biometric template. The digital assistant device 200 may send the encrypted biometric template to the service provider computer. In some embodiments, the biometric template may be encrypted using the service provider computer public key. In other embodiments, the biometric template may be encrypted by a symmetric session key. It should be understood that the biometric template may be encrypted in any suitable manner such that the service provider computer can decrypt the encrypted biometric template.

[0070] The encryption module 208A may use any suitable encryption algorithm. For example, the encryption module 208A may implement and perform encryption and / or decryption operations by using encryption algorithms such as DES, AES, TDES / TDEA, etc. and / or hash functions such as SHA, and using a cryptographic key of any suitable length (e.g., 56 bits, 128 bits, 169 bits, 192 bits, 256 bits, etc.).

[0071] The nearby device detection module 208B is capable of determining nearby devices. In some embodiments, the nearby device detection module 208B may determine nearby devices within the Bluetooth or BLE communication range. For example, the user device and / or any other suitable device equipped with BLE may broadcast the device identifier periodically or continuously; the nearby device detection module 208B is capable of determining each device identifier received via BLE. The digital assistant device 200 is capable of creating a list of device identifiers received from the nearby devices.

[0072] The speech recognition module 208C may include any program, software, or other code suitable for performing operations related to speech recognition. The speech recognition module 208C is capable of converting spoken words into text that can be understood by a computer system. For example, the speech recognition module 208C is capable of converting a biometric voice template and / or biometric into text. The speech recognition module 208C may analyze the text to determine whether the text includes instructions for performing a function. For example, the speech recognition module 208C may use natural language processing to determine the function to be performed. As is known to those skilled in the art, the speech recognition module 208C may use any suitable natural language processing evaluation and tasks, such as but not limited to grammar induction, morpheme segmentation, part-of-speech tagging, parsing, sentence breaking, word segmentation, etc.

[0073] In some embodiments, the speech recognition module 208C is capable of actively obtaining input from a user, interpreting the user's intent, resolving ambiguities between competing interpretations, requesting and receiving clarification information as needed, and / or performing (or initiating) an action based on the recognized intent. The speech recognition module 208C may use any suitable natural language processing techniques. For additional details regarding natural language processing, see the following: [“Natural language processing: an introduction” by Nadkarni, Prakash M et al., Journal of the American Medical Informatics Association: JAMIA, Vol. 18, 5 (2011): 544-51], which is hereby incorporated by reference in its entirety for all purposes. Additionally, for additional details regarding the latest trends in deep learning-based natural language processing, see the following: [“Recent Trends in Deep Learning Based Natural Language Processing” by Tom Young et al., arXiv, arXiv:1708.02709 (2017)], which is hereby incorporated by reference in its entirety for all purposes.

[0074] The network interface 206 may include an interface that may allow the digital assistant device 200 to communicate with an external computer. The network interface 206 may enable the digital assistant device 200 to transfer data to another device (e.g., a service provider computer, etc.) and transfer data from another device. Some examples of the network interface 206 may include a modem, a physical network interface (e.g., an Ethernet card or other network interface card (NIC)), a virtual network interface, a communication port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, and so on. The wireless protocols enabled by the network interface 206 may include Wi-Fi TMData transmitted via network interface 206 can be in the form of signals, which can be electrical, electromagnetic, optical, or any other signals that can be received by an external communication interface (collectively referred to as "electronic signals" or "electronic messages"). These electronic messages, which may include data or instructions, can be provided between network interface 206 and other devices via a communication path or channel. As described above, any suitable communication path or channel can be used, such as wires or cables, optical fibers, telephone lines, cellular links, radio frequency (RF) links, WAN or LAN networks, the Internet, or any other suitable medium.

[0075] One or more input elements 210 can include any suitable devices capable of inputting data into digital assistant device 200. Examples of input devices include buttons, touchscreens, touchpads, and the like.

[0076] One or more output elements 212 can include any suitable devices that can output data. Examples of output elements 212 can include display screens, speakers, and data transmission devices.

[0077] The biometric reader 214 can include a device for capturing data from a user's biometric sample. Examples of the biometric reader 214 can include fingerprint readers, front cameras, microphones, and iris scanners. The biometric reader 214, such as a microphone, can be configured to capture one or more audio segments from the user. In some embodiments, the biometric reader 214 can capture the user's voice data to determine the user's intent.

[0078] Figure 3 A block diagram of a service provider computer 300 according to some embodiments of the present invention is shown. Exemplary service provider computer 300 can include a processor 304. The processor 304 can be coupled to a memory 302, a network interface 306, and a computer-readable medium 308, which includes a password verification module 308A, an encryption module 308B, a biometric comparison module 308C, and a voice recognition module 308D. The service provider computer 300 can be operatively coupled to a user database 310.

[0079] The memory 302 can be similar to Figure 2 the memory 202 described herein and will not be repeated here. The network interface 306 can be similar to Figure 2 the network interface 206 described herein and will not be repeated here.

[0080] The computer-readable medium 308 may include code executable by the processor 304 to implement a method that includes: receiving, by a server computer, an authentication request message from a digital assistant device that includes a biometric template and at least one user device identifier; comparing, by the server computer, the biometric template with stored biometrics while determining whether the biometric template corresponds to an account associated with the at least one user device identifier; sending, by the server computer, a password request message to the digital assistant device; receiving, by the server computer, a password from the digital assistant device; determining, by the server computer, whether the password matches a previously issued password provided to a user device associated with the at least one user device identifier; and if the password matches the issued password, further processing the transaction.

[0081] The password verification module 308A may include any program, software, or other code suitable for performing operations related to verifying a password. For example, the password verification module 308A may compare a password received from a user device (i.e., the received password) with a password previously provided to the user device (i.e., the stored password). The password verification module 308A may determine whether the received password matches the stored password.

[0082] The encryption module 308B may include any program, software, or other code suitable for performing operations related to encryption and / or decryption. For example, the encryption module 308B is capable of decrypting a biometric template. The digital assistant device 200 may send the encrypted biometric template to the service provider computer 300. The encryption module 308B is capable of decrypting the encrypted biometric template. In some embodiments, the service provider computer private key may be used to decrypt the encrypted biometric template. In other embodiments, the encrypted biometric template may be decrypted by a symmetric session key. It should be understood that the encrypted biometric template may be decrypted in any suitable manner such that the service provider computer 300 is able to decrypt the encrypted biometric template encrypted by the service provider computer 300. In some embodiments, the encryption module 308B may have a similar function to the encryption module 208A.

[0083] The biometric comparison module 308C may include any program, software, or other code suitable for performing operations related to biometric comparison. The biometric comparison module 308C is configured to determine whether a biometric template received from a user matches a previously registered biometric template of the user. For example, if a user wishes to initiate a payment transaction, the biometric comparison module 308C may compare the user's biometric template (e.g., a biometric voice template) with a stored biometric voice template to authenticate the user. In some embodiments, when the received biometric template is a biometric voice template, the biometric comparison module 308C may perform speaker recognition. In other embodiments, the biometric comparison module 308C may determine a match value that may indicate the degree of match between two compared biometric templates.

[0084] The speech recognition module 308D may include any program, software, or other code suitable for performing operations related to speech recognition. The speech recognition module 308D is capable of converting spoken words into text that can be understood by a computer system. The speech recognition module 308D may be similar to the speech recognition module 208C.

[0085] The user database 310 may securely store data as part of a user profile, such as user details, encrypted biometric templates, passwords, etc. The user database 310 may be a conventional, fault-tolerant, relational, scalable secure database, such as those available from Oracle TM or Sybase TM databases. The service provider computer 300 may be configured to access the user database 310. For example, the service provider computer 300 may query the user database 310 for a user profile associated with a device identifier in a list of device identifiers. The service provider computer 300 may retrieve the corresponding user profile and information from the user database.

[0086] Figure 4 A block diagram of a user device 400 according to some embodiments of the present invention is shown. An exemplary user device 400 may include a processor 404. The processor 404 may be coupled to a memory 402, a network interface 406, a computer-readable medium 408, an input element 410, an output element 412, and a biometric reader 414. The computer-readable medium 408 may include a push processing program module 408A and an encryption module 408B.

[0087] The memory 402 may be associated with Figure 3 and Figure 2The memories 302 and 202 described respectively therein are similar and will not be repeated here. The memory 402 may be a secure memory, such as a hardware security module (HSM), a secure element, or other suitable secure memory. The secure memory can securely store passwords.

[0088] The network interface 406 can communicate with Figure 3 and Figure 2 The network interfaces 306 and 206 described respectively therein are similar and will not be repeated here. One or more input elements 410 can be similar to one or more input elements 210 as described in Figure 2 and will not be repeated here. One or more output elements 412 can be similar to one or more output elements 212 as described in Figure 2 and will not be repeated here. The biometric reader 414 can be similar to the biometric reader 214 as described in Figure 2 and will not be repeated here.

[0089] The computer-readable medium 408 can include code executable by the processor 404. The computer-readable medium 408 can contain any number of applications, modules, and code.

[0090] The push handler module 408A can include any program, software, or other code suitable for performing operations related to receiving data and / or information pushed from devices, computers, servers, etc. For example, the push handler module 408A is capable of receiving data such as passwords from a server computer, such as a service provider computer. When operatively communicating with a service provider computer (e.g., via the Internet), the push handler module 408A can receive passwords at any suitable time. In some embodiments, the received password can replace a previously received password, such that the user device 400 can store the most recent password.

[0091] The encryption module 408B can include any program, software, or other code suitable for performing operations related to encryption and / or decryption. The encryption module 408B is capable of encrypting and / or decrypting any suitable data.

[0092] In some embodiments, a user can use the user device 400 to manage card credentials in the cloud. The user can also access the cloud wallet by interacting with a digital assistant device via their voice, provided that their user device is within a defined nearby range. In some embodiments, the user can also use the user device 400 to manage their biometric templates on a service provider computer.

[0093] Then, for goods and services served by the digital assistant device, interactions such as transactions can be completed through payment vouchers with limited use to prevent replay issues. In some embodiments, a one-time password can be issued for this type of authentication.

[0094] When a user interacts with the digital assistant device, the digital assistant device can scan for available user devices in the vicinity of its BLE component. In some embodiments, the digital assistant device can scan for user devices that include a digital wallet application. In some embodiments, the discovery of the digital wallet "username" can be paired with a user password, which can be uniquely or a combination of: a user-defined descriptive term for the wallet, such as "Masha's wallet", or raw data generated by the interaction of human voice with a microphone (generating, for example,.wav files,.mp3, etc.) and / or a device GATT profile registered on the service provider's computer. In this way, the user's biometric template and / or user device identifier can be used as a password to authenticate the user when accessing the digital wallet.

[0095] This data can then be used to verify the appropriate digital wallet and access the digital wallet synchronously after BLE has scanned all available digital wallets. In addition to the user's information, once the user registers their payment vouchers on the service provider's computer, the authentication service may dynamically generate a password and push it to the user device. In some embodiments, during payment, the digital assistant device can request this information from the user device and then send the information to the service provider's computer for verification. After the service provider's computer verifies the password, the interaction authorization can be executed.

[0096] Figures 5A-5B A swimlane diagram showing an authentication method according to an embodiment of the present invention is shown. The method shown will be described in the context of a user asking the digital assistant device to purchase a product at a resource provider location. Figures 5A-5B The method shown. However, it should be understood that the present invention can be applied to other scenarios (e.g., the user asks the digital assistant device to perform an interaction such as data transfer, the user operates the digital assistant device in various locations (e.g., the user's house), etc.). Although the steps are shown in a specific order, it should be understood that embodiments of the present invention can include methods with steps in a different order. Additionally, steps can be omitted or added, and these steps can still be within the embodiments of the present invention.

[0097] In step 510, the user device 502 may receive user input for registration, including user details and a biometric template. The user details (also referred to as registration details) may include name, phone number, address, credentials, and / or other suitable user details. The user device 502 may also receive a biometric sample from the user via a biometric reader. The biometric reader may capture the biometric and may output a biometric template.

[0098] The user device 502 may create a biometric template using any suitable biometric reader or input scanner. For example, the user may place their finger on a fingerprint scanner located on the user device 502. The biometric reader may obtain a biometric sample from the user (e.g., by scanning the user's fingerprint). After obtaining the biometric sample from the user, the user device 502 may create a biometric template associated with the user. The biometric template may be a digital reference of different characteristics extracted from the biometric sample. For example, in the case where the biometric sample is a fingerprint, the biometric template may contain the minutiae (or principal features) of the fingerprint.

[0099] In some embodiments, generating a biometric template may include identifying unique features of the measured biometric sample and then representing the unique features in digital form. For example, a data file may be created from the capture of electromagnetic signals generated by the biometric reader during sample reading, where the signals may be grouped into discrete bits according to a predefined resolution (i.e., as expressed by the number of pixels in an image or the sample rate of an audio file). Software stored on the user device 502 may then be used to identify features of the data file that can be used to accurately authenticate the user. For example, the user may be required to present his or her biometric multiple times, and a mathematical model may be used to determine the features that always appear. The features may be represented as a binary digital file, which may form the biometric template.

[0100] In some embodiments, generating a biometric template may be a two-step process. First, a first data file may be created based on the measurement. For example, this may be a full image of a fingerprint or face, or a full voice sample. Second, the first data file may be used to identify unique features of the biometric sample, and information about the unique features may be stored in a second data file. Embodiments of the present invention allow either the first data file (e.g., a data file representing the entire biometric sample) or the second data file (e.g., a data file representing the unique features of the biometric sample) to be used as the biometric template.

[0101] In some embodiments, the user device 502 may receive one or more biometric samples corresponding to various phrases that a user may state to perform an interaction at a later time. For example, a user may have two payment accounts; one corresponding to a credit card and the other corresponding to a debit card. The user may use the user device 502 to record voice samples for each payment account that the user wishes to enroll. The user may speak a first voice sample of "Pay via wallet XYZ, card ABC" and a second voice sample of "Pay via wallet XYZ, card DEF". In this way, the service provider computer 506 can later (e.g., at step 534) determine which of the one or more accounts the user wishes to use. Each biometric template may be unique for each service provider computer and / or each payment credential (i.e., debit card, prepaid card, credit card, etc.). This property may be referred to as user-defined text-dependent speaker recognition. When the biometric template is a voice template, the voice template may include not only information about the user identity for authentication, but also information about the action that the user wishes to perform, such as "Purchase item HHH".

[0102] After generating the biometric template, the user device 502 may encrypt the biometric template in any suitable manner described herein. After encrypting the biometric template, the user device 502 may send the user details and the encrypted biometric template to the service provider computer 506. In some embodiments, the user device 502 may also send a device identifier to the service provider computer 506. In some embodiments, the device identifier may be a GATT profile.

[0103] In step 512, after receiving the user details and the encrypted biometric template from the user device 502, the service provider computer 506 may store the user details and the encrypted biometric template. In some embodiments, the service provider computer 506 may also store credentials and / or payment tokens. The service provider computer 506 may send the user details to the intermediate computer 508.

[0104] In step 514, after receiving the user details from the service provider computer 506, the intermediate computer 508 may store the user details. The intermediate computer 508 may facilitate the user login to the service provider application installed on the user device 502. For example, the intermediate computer 508 may store the user's username and address.

[0105] At step 516, at any suitable time after the service provider computer 506 stores the user details (i.e., the user is registered), the service provider computer 506 may periodically generate a password, such as a dCVV. The service provider computer 506 may push the password to the user device 502. For example, the service provider computer 506 may generate the password once a day and push the password to the user device 502. The service provider computer 506 may generate and push the password at any suitable rate, such as once an hour, once every 12 hours, once a week, once after each interaction, etc. The service provider computer 506 may send the password to the user device 502 through any suitable communication channel as described herein.

[0106] At step 518, after receiving the password from the service provider computer 506, the user device 502 may store the password in a secure memory. In some embodiments, the user device 502 may replace the previously received password with the latest (i.e., most recently received) password.

[0107] At step 520, at any suitable time, the user may request the digital assistant device 504 to perform an interaction (i.e., the user may speak a command to the digital assistant device 504). For example, the user may be at a resource provider location and may request the digital assistant device 504 to "pay with XYZ wallet". In some embodiments, the user may specify a particular service provider computer, one or more products and / or services, an amount, a username, etc. with the user command. For example, the user may state "buy two blue shirts with XYZ wallet" or other suitable commands.

[0108] In some embodiments, a product number and / or code (i.e., product data) may be provided to the user, and the user may state the product number and / or code in their command to the digital assistant device 504. For example, the user may attempt to purchase a shirt at a resource provider location. The shirt may have a label with a product number, such as "4000". Then, the user may state "buy item 4000 with XYZ wallet". At a later stage, the product number and / or code may be determined by the service provider computer 506 by evaluating the user biometric template derived from the user voice command. In some embodiments, the resource provider computer may receive an authorization request message along with the product number and / or code. The resource provider computer may add and / or edit the authorization request message to include the accurate transaction amount associated with the product number and / or code.

[0109] The digital assistant device 504 can receive and capture a user's command. For example, the digital assistant device 504 can capture the user's command using a microphone. The microphone can create a biometric sample. In some embodiments, the user can first speak an activation command and then speak the command. The activation command can be any suitable phrase, such as "Hello, digital assistant", "Ready to check out", etc. After detecting the activation command, the digital assistant device 504 can start obtaining the user's biometric sample (e.g., recording the user's command) through a biometric reader. After receiving the biometric sample, the digital assistant device 504 can convert the received biometric sample into a biometric template by any suitable method described herein.

[0110] After creating the biometric template, the digital assistant device 504 can evaluate the biometric template. For example, the digital assistant device 504 can perform speech recognition, which can include converting spoken words into text that the digital assistant device 504 can understand. For example, the digital assistant device 504 can convert the received biometric template (i.e., the user's spoken command) into text. The digital assistant device 504 can identify the command corresponding to the converted text. The digital assistant device 504 can execute the command corresponding to the converted text. For example, the command can be to perform an interaction such as a transaction. The biometric sample can be the user's spoken command, and the biometric template can be a biometric voice template.

[0111] In some embodiments, the digital assistant device 504 can include code trained with speech recognition training data that can determine the user's intent. Any suitable speech recognition model, method, and / or algorithm can be used. For example, a Hidden Markov Model (HMM), Dynamic Time Warping (DTW)-based speech recognition, neural networks, etc. can be used to evaluate the text.

[0112] In some embodiments, the digital assistant device 504 can respond to the user's command by audibly playing a response to the user. For example, the response can be "I will place an order for product W using the XYZ wallet. Do you want to confirm?" However, it should be understood that the response can be in any suitable form known to those of ordinary skill in the art.

[0113] In other embodiments, the digital assistant device 504 can audibly or otherwise prompt the user to provide additional details of the user's command. For example, in the case where the user does not provide information in the first user command, the digital assistant device 504 can prompt the user to repeat a part of the command or supplement the command with an amount, wallet, product, or other information.

[0114] In yet other embodiments, the digital assistant device 504 may sanitize the biometric template. For example, the digital assistant device 504 may also capture ambient noise and be able to subtract the ambient noise from the biometric template.

[0115] In some embodiments, the digital assistant device 504 may determine which service provider computer 506 the user stated in the command. For example, in some embodiments, the digital assistant device 504 may compare the text obtained from the biometric template and / or biometric sample with a list of possible service provider computers. In some embodiments, the user's command may be "Purchase W using ABC card of XYZ wallet". After parsing the command, the digital assistant device 504 may determine the service provider computer 506 based on "XYZ wallet".

[0116] In step 522, after creating the biometric template and determining that the user wants to perform an interaction, the digital assistant device 504 may scan for nearby devices. For example, the digital assistant device 504 may determine the devices within a certain range of the digital assistant device 504. In some embodiments, the digital assistant device 504 may scan for neighboring BLE devices. The digital assistant device 504 may determine the device identifier of each detected nearby device. For example, the user may bring their user device 502 near the digital assistant device 504. However, other people may also have devices near the digital assistant device 504. The digital assistant device 504 may receive the device identifier from each nearby device and may not have additional details to determine which device identifier corresponds to the user device 502.

[0117] The digital assistant device 504 may generate a list of device identifiers of the nearby devices. The digital assistant device 504 may then send the list of device identifiers to the service provider computer 506. The list of device identifiers may be any suitable list. For example, the list of device identifiers may be a data item including data fields that may be filled with the device identifiers received by the digital assistant device 504 from the nearby devices. The digital assistant device 504 may also send the biometric template to the service provider computer 506.

[0118] In some embodiments, the digital assistant device 504 may encrypt the biometric template before sending it to the service provider computer 506. For example, the digital assistant device 504 may encrypt the biometric template with the service provider computer public key, where the service provider computer 506 can decrypt the encrypted biometric template using, for example, the service provider computer private key.

[0119] At step 524, after receiving the device identifier list and the biometric template from the digital assistant device 504, the service provider computer 506 can perform voice recognition, including speaker recognition and speech recognition. During speaker recognition, the service provider computer 506 can compare the biometric template received from the digital assistant device 504 (i.e., the received biometric template) with the stored biometric templates.

[0120] The service provider computer 506 can query a database (e.g., the user database) for device identifiers that match the device identifiers in the device identifier list. The service provider computer 506 can retrieve the user profiles corresponding to the device identifiers in the device identifier list. For example, if the device identifier list includes 3 device identifiers, the service provider computer 506 can query the database for the 3 device identifiers and the corresponding user profiles.

[0121] The service provider computer 506 can compare the received biometric template with the stored biometric templates of the retrieved user profiles. For example, the service provider computer 506 can compare the received biometric template with each of the 3 user profiles corresponding to the 3 device identifiers in the identifier list. In this way, the service provider computer 506 may not need to compare the received biometric template with every stored biometric template.

[0122] As an example, the service provider computer 506 can compare the pitch of the received biometric template with the pitch of the stored biometric template. If the pitches of the two templates are similar, within the error range, the service provider computer 506 can determine that the templates match. In some embodiments, the service provider computer 506 can compare any suitable number of other characteristics of the templates, such as word matching, phrase matching, pattern analysis, and / or other spectrographic analysis.

[0123] In some embodiments, the service provider computer 506 can first decrypt the stored encrypted biometric template and then compare the stored biometric template with the received biometric template.

[0124] If the service provider computer 506 determines that at least one device identifier in the device identifier list and the received biometric template correspond to the same user profile, the service provider computer 506 can determine which user has initiated a command to the digital assistant device 504, thereby authenticating the user.

[0125] When matching the device identifier with the received biometric template, the service provider computer 506 may perform voice recognition based on the received biometric template. The service provider computer 506 may determine the function to be performed based on the received biometric template. For example, if the received biometric template is a voice sample of the statement "Purchase X with wallet XYZ", the service provider computer 506 may determine that the user wants to purchase item X with wallet XYZ.

[0126] The service provider computer 506 may also determine transaction information from the received biometric template. For example, the service provider computer 506 may evaluate the received biometric template to determine the product and / or service that the user wants to purchase. In some embodiments, the user may state the product and / or service they want to purchase in a command to the digital assistant device 504. For example, in some embodiments, the service provider computer 506 may utilize simple pattern matching, pattern and feature analysis, language modeling and statistical analysis, and / or artificial neural networks, to determine which products the user wants to purchase.

[0127] In step 526, after determining whether the received biometric template matches the stored biometric template, the service provider computer 506 may send an authentication response to the digital assistant device 504. The authentication response may indicate whether a match exists. If the service provider computer 506 determines that the received biometric template does not match the stored biometric template, the process may proceed to step 528. If the service provider computer 506 determines that the received biometric template matches the stored biometric template, the process may proceed to step 530.

[0128] In step 528, after receiving the authentication response from the service provider computer 506, if the authentication response indicates "no match", the digital assistant device 504 may indicate to the user that the biometric template does not match the stored biometric template. For example, the digital assistant device 504 may play noise and / or state any appropriate "no match" message, such as "Your voice was not recognized".

[0129] In step 530, after receiving the authentication response from the service provider computer 506, if the authentication response indicates "match", the digital assistant device 504 may indicate to the user that the biometric template does indeed match the stored biometric template. For example, the digital assistant device 504 may play noise and / or state any appropriate "match" message, such as "Processing your request" or "Your voice has been authenticated".

[0130] Reference Figure 5B, in step 532, if the authentication response indicates "match", the authentication response may also include a password request. In some embodiments, the service provider computer 506 may include the device identifier of the user device 502 in the password request, which may allow the digital assistant device 504 to determine which user device to send the password request to. The digital assistant device 504 may forward the password request to the appropriate user device 502.

[0131] In step 534, after receiving the password request from the digital assistant device 504, the user device 502 may send the password to the digital assistant device 504. In step 536, after receiving the password from the user device 502, the digital assistant device 504 may forward the password to the service provider computer 506.

[0132] In step 538, after receiving the password, the service provider computer 506 may verify the password. For example, the service provider computer 506 may compare the password received from the user device 502 with the password previously sent to the user device 502 (e.g., in step 516).

[0133] In step 540, the service provider computer 506 may determine whether the password has been verified. If the password has not been verified, the process may proceed to step 542. If the password has been verified, the process may proceed to step 544 and / or step 546, and in some embodiments, these two steps may be performed simultaneously.

[0134] In step 542, if the password has not been verified, the service provider computer 506 may send a verification notice to the digital assistant device 504. The verification notice may indicate that the password has not been verified. The digital assistant device 504 may indicate to the user that the password is invalid. For example, the digital assistant device 504 plays an audio file for the user. The audio file may be noise or a statement such as "Interaction failed", "Invalid password", etc.

[0135] In step 544, if the password has been verified, the service provider computer 506 may send a verification notice to the digital assistant device 504. The verification notice may indicate that the password has been verified. The digital assistant device 504 may indicate to the user that the password is valid. For example, the digital assistant device 504 plays an audio file for the user. The audio file may be noise or a statement such as "Valid user device", "Valid password", etc.

[0136] After the service provider computer 506 determines that the password is valid, the service provider computer 506 may send the credentials associated with the user to the intermediate computer 508. The service provider computer 506 may instruct the intermediate computer 508 to generate an authorization request message for the interaction. The service provider computer 506 may also send interaction information such as transaction information determined from the biometric template to the intermediate computer 508.

[0137] In other embodiments, the service provider computer 506 may be configured to authorize the interaction. For example, after verifying the password, the service provider computer 506 may authorize the transaction.

[0138] In step 546, after receiving the credentials and interaction information from the service provider computer 506, the intermediate computer 508 may generate an authorization request message. The authorization request message may include the credentials. In some embodiments, the authorization request message may also include transaction information, such as any information associated with the current transaction, such as transaction value, merchant identifier, merchant location, acquirer bank identification number (BIN), card acceptor ID, information identifying the item being purchased, etc., and any other information that may be used to determine whether to authorize the transaction. The intermediate computer 508 may send the authorization request message to the resource provider computer (e.g., Figure 1 the resource provider computer 110 in

[0139] In some embodiments, the service provider computer 506 may generate the authorization request message and then send the authorization request message to the resource provider computer. The resource provider computer may be operated by a resource provider, which may be the same resource provider that operates the digital assistant device 504. After receiving the authorization request message, the resource provider computer may send the authorization request message to the transmission computer, as described in further detail herein. In some embodiments, the resource provider computer may receive an authorization request message including the credentials from the service provider computer 506. The resource provider computer may then include the transaction information in the authorization request message and then send the authorization request message to the transmission computer.

[0140] In step 548, the intermediate computer 508 may receive an authorization response message. For example, the intermediate computer 508 may receive the authorization response message from the authorization computer via the resource provider computer, the processing network, and / or the transmission computer. The intermediate computer 508 may determine whether the interaction is authorized based on the authorization response message. If the intermediate computer 508 determines that the interaction is authorized, the process may proceed to step 554. If the intermediate computer 508 determines that the interaction is not authorized, the process may proceed to step 550.

[0141] In step 550, the intermediate computer 508 may forward the authorization response message to the service provider computer 506. In some embodiments, after receiving the authorization response message, the service provider computer 506 may forward the authorization response message to the digital assistant device 504. In other embodiments, the service provider computer 506 may determine that the authorization response message indicates that the interaction is not authorized. The service provider computer 506 may send a notification to the digital assistant device 504 that notifies the digital assistant device 504 of the unauthorized interaction.

[0142] In step 552, after receiving the notification indicating that the interaction is not authorized and / or the authorization response message, the digital assistant device 504 may alert the user of the result of the interaction. For example, the digital assistant device 504 may play a message stating that the interaction has failed, such as by stating "Interaction failed". In some embodiments, the digital assistant device 504 may indicate the reason for the interaction failure, such as "Account error", "Connection error", "Insufficient funds", and / or any other suitable reason determined from the authorization response message. In other embodiments, the digital assistant device 504 may indicate that the user's credentials are invalid. In some embodiments, the digital assistant device 504 may emit a sound that may indicate to the user that the interaction is not authorized.

[0143] In some embodiments, in step 554, after determining that the interaction is authorized, in step 548, the intermediate computer 508 may successfully complete the interaction. For example, if the interaction is a data transfer between the user device and the receiving device, the intermediate computer 508 may facilitate the data transfer.

[0144] In step 556, the intermediate computer 508 may forward the authorization response message to the service provider computer 506. In some embodiments, after receiving the authorization response message, the service provider computer 506 may forward the authorization response message to the digital assistant device 504. In another embodiment, the service provider computer 506 may determine that the authorization response message indicates that the interaction is not authorized. The service provider computer 506 may send a notification to the digital assistant device 504 that notifies the digital assistant device 504 of the authorized interaction.

[0145] In step 558, after receiving the notification indicating that the interaction is authorized and / or the authorization response message, the digital assistant device 504 may alert the user of the result of the interaction. For example, the digital assistant device 504 may play a message stating that the interaction is authorized, such as by stating "Interaction authorized". In other embodiments, the digital assistant device 504 may indicate that the user's credentials are valid. In some embodiments, the digital assistant device 504 may emit a sound that may indicate to the user that the interaction is authorized, thereby completing the interaction.

[0146] As an example, the digital assistant device 504 can be located within a fitting room of a department store. The user can be a customer who speaks commands to the digital assistant device 504 within the fitting room to purchase an item, such as "Purchase W with wallet XYZ". The digital assistant device 504 can record the command (i.e., biometric sample) via a microphone or other suitable biometric reader. The digital assistant device 504 can then convert the biometric sample into a biometric template as described herein. The digital assistant device 504 can then scan for nearby devices. In this case, the nearby device can be a user device located within the fitting room. The digital assistant can create a list of the discovered nearby devices and send the list of the discovered nearby devices and (preferably encrypted) biometric template to the service provider computer 506.

[0147] Upon receiving the list of nearby devices and the biometric template, the service provider computer 506 can query the database for registered users associated with any of the user device identifiers included in the list of nearby devices. The service provider computer 506 can then determine whether the received biometric template matches the stored biometric template associated with the user device identifier included in the list of nearby devices. In this way, the service provider computer 506 can determine that the stored biometric template matches the received biometric template and is associated with the user device identifier associated with a user device near the user within the current fitting room. The service provider computer 506 can also evaluate the received biometric template to determine the user's intent, such as to purchase an item.

[0148] After matching the user device identifier with the biometric template and determining which function is to be performed based on the user's command, the service provider computer 506 can send a request for a password to the user device 502 via the digital assistant device 504. At this time, if the user moves away from near the digital assistant device 504, the process may end. For example, the user can leave the fitting room before the user device 502 receives the request for a password. In this case, the user device 502 may not receive the password request, and the process can terminate.

[0149] Upon receiving the request for a password, the user device 502 can send the password to the digital assistant device 504, which can send the password to the service provider computer 506. The service provider computer 506 can verify that the received password matches the previously provided password. If the passwords match, the service provider computer 506 can further process the transaction for the product and / or service previously indicated by the user.

[0150] As another example, refer to Figure 1, the user device 102 can be operated by a user. In some embodiments, the user can be located at the resource provider location and can attempt to pay for goods and / or services at the resource provider. The user can request the digital assistant device 104 to pay for items using a specific digital wallet and / or card. The digital assistant device 104 can communicate with the service provider computer 106 as described herein.

[0151] After verifying the password received from the user device 102 (e.g., at step 540), the service provider computer 106 can instruct the intermediate computer 108 via a message to generate an authorization request message for the interaction. In other embodiments, the service provider computer 106 can generate the authorization request message and can send the authorization request message to the resource provider computer 110 and / or the transmission computer 112.

[0152] The resource provider computer 110 can then receive the authorization request message from the service provider computer 106 or the intermediate computer 108. In some embodiments, the resource provider computer 110 can check the accuracy of the transaction information in the authorization request message. If necessary, the resource provider computer 110 can edit the transaction information to reflect the correct amount, product data, etc. For example, the service provider computer 106 may have determined the product the user wants to purchase based on a biometric template. The service provider computer 106 can cause the name of the product as supplied by the user to be included in the transaction information. The resource provider computer 110 can be configured to edit and / or add accurate product data to the authorization request message. For example, the resource provider computer 110 can add the amount of the product to the authorization request message.

[0153] The resource provider computer 110 can then send the authorization request message to the transmission computer 112. The transmission computer 112 can then receive, process the authorization request message and forward the authorization request message to the processing network 114 for authorization.

[0154] Generally speaking, before a credit card or debit card transaction occurs, the processing network 114 has an agreement with each authorization computer on how a transaction with the issuer will be authorized. The processing network 114 can receive an authorization request message, determine the issuer associated with the user device 102, and forward the authorization request message for the transaction to the authorization computer 116 for verification and authorization. Once the transaction is authorized, the authorization computer 116 can generate an authorization response message (which may include an authorization code indicating that the transaction is approved or rejected), and send this electronic message to the processing network 114 via its external communication interface. The processing network 114 can then forward the authorization response message to the transmission computer 112, which in turn can then send an electronic message (e.g., the authorization response message) including an authorization indication to the resource provider computer 110, and then in some embodiments send the electronic message to the digital assistant device 104.

[0155] At the end of the day or at some other suitable period, a clearing and settlement process can be performed among the resource provider computer 110, the transmission computer 112, the processing network 114, and the authorization computer 116 for the transaction.

[0156] Embodiments of the present invention have several advantages. For example, embodiments of the present invention allow for interactions such as transactions to be performed via a digital assistant device. The digital assistant device can be an anonymous digital assistant device or a contextless assistant. Currently, the user logs in to the digital assistant device themselves. However, embodiments of the present invention allow the user to securely perform interactions with a public / anonymous digital assistant device (e.g., a digital assistant device at a resource provider location), while maintaining the security of the interaction.

[0157] Embodiments of the present invention provide additional advantages. For example, the user is authenticated in several ways. When within the range of the digital assistant, the user can be authenticated by a user device identifier that matches a stored device identifier. The user can also be authenticated by their biometric template that matches a stored biometric template. Additionally, the user can be authenticated by the service provider computer by matching a password received from the user device with a password previously provided to the user device. The user can be authenticated in multiple ways when initiating an interaction.

[0158] Embodiments of the present invention provide additional advantages. For example, the embodiments can prevent replay attacks, where a malicious party attempts to record the user's voice commands for later malicious interaction attempts. Embodiments of the present invention prevent replay attacks by using a user device that communicates with the digital assistant device over a short distance (e.g., Bluetooth range, etc.). Using the user device in short - distance communication ensures that the user is actually present at and / or near the digital assistant device, and at the same time ensures that the user has the correct credentials and owns a genuine user device.

[0159] For example, a malicious party may record a user's voice command to a digital assistant at a resource provider location. As described herein, the user may be properly authenticated by voice command and password. The malicious party may attempt to play a malicious recording of the user's voice while the user is present or after the user has left. In the case where the malicious party plays the malicious recording while the user is present, the user will be able to hear the malicious recording and report the malicious activity accordingly. In a second case where the malicious party attempts to play a malicious recording of the user's voice command to the digital assistant device after the user has left, the service provider computer will not be able to authenticate the password from the user device because the user has left the location and thus the communication range. When the user device is not in short-range communication with the digital assistant device, the attempted malicious interaction will be rejected due to the inability to verify the password, thereby preventing replay attacks.

[0160] Any software component or functionality described in this application may be implemented as software code executed by a processor using any suitable computer language such as Java, C, C++, C#, Objective-C, Swift, etc. or a scripting language such as Perl or Python using, for example, conventional or object-oriented techniques. The software code may be stored on a computer-readable medium as a series of instructions or commands for storage and / or transmission, suitable media including random access memory (RAM), read-only memory (ROM), magnetic media such as a hard disk drive or floppy disk, or optical media such as a compact disc (CD) or digital versatile disc (DVD), flash memory, and the like. The computer-readable medium may be any combination of such storage or transmission devices.

[0161] Such programs may also be encoded and transmitted using a carrier signal adapted to be transmitted via wired, optical, and / or wireless networks compliant with various protocols including the Internet. Thus, a computer-readable medium according to an embodiment of the present invention may be created using a data signal encoded with such a program. The computer-readable medium encoded with the program code may be encapsulated with a compatible device or provided separately from other devices (e.g., downloaded via the Internet). Any such computer-readable medium may reside on or within a single computer product (e.g., a hard disk drive, a CD, or an entire computer system) and may exist on or within different computer products in a system or network. The computer system may include a monitor, a printer, or other suitable display for providing any of the results mentioned herein to a user.

[0162] The foregoing description is illustrative and not restrictive. Many variations of the invention will become apparent to those skilled in the art after reading this disclosure. Accordingly, the scope of the invention should not be determined with reference to the above description, but should be determined with reference to the pending claims and their full scope or equivalents.

[0163] Without departing from the scope of the invention, one or more features of any embodiment may be combined with one or more features of any other embodiment.

[0164] As used herein, unless expressly indicated to the contrary, the use of "a," "an," or "the" is intended to mean "at least one."

Claims

1. A method for voice authentication, the method comprising: Receiving, by a digital assistant device, a biometric sample from a user, the biometric sample being a biometric voice template associated with a voice command; Converting, by the digital assistant device, the biometric sample into a biometric template; Determining, by the digital assistant device, at least in part based on a speech recognition algorithm using the biometric sample from the user, a task flow and parameters associated with the task flow, the task flow being designed to implement an intention inferred from the biometric sample, and executing the task flow by invoking programs, services, and application programming interfaces (APIs) corresponding to the inferred intention; Scanning, by the digital assistant device, user devices within the communication range of the digital assistant device to receive user device identifiers, wherein scanning the user devices includes scanning user devices located within the communication range of a low power Bluetooth component of the digital assistant device and including a digital wallet application; Sending, by the digital assistant device, a list of user devices within the communication range of the digital assistant device, as well as the user device identifiers of the user devices within the communication range of the digital assistant device, to a server computer, wherein the server computer queries a database to find registered users associated with the user device identifiers; Sending, by the digital assistant device, an authentication request to the server computer, the authentication request including at least one of the biometric template and the user device identifier of the registered user associated with the user device identifier contained in the database, the authentication request corresponding to the determined task flow; Receiving, by the digital assistant device, a password request message including the at least one user device identifier from the server computer; Sending, by the digital assistant device, the password request message to the user device corresponding to the at least one user device identifier; Receiving, by the digital assistant device, a password from the user device, the password being generated by the server computer in advance and transmitted to the user device, the password being generated based on the user device information of the user device; And Sending, by the digital assistant device, the password to the server computer, wherein the server computer verifies the password before further processing the transaction.

2. The method according to claim 1, wherein the biometric template is an encrypted biometric template.

3. The method according to claim 1, wherein after converting the biometric sample into the biometric template, the method further comprises: Determining, by the digital assistant device, the server computer based on the biometric template.

4. The method according to claim 1, wherein the server computer is a service provider computer and the server computer: Receives the biometric template and the at least one user device identifier; Determines whether the user device identifier matches a stored user device identifier; If the at least one user device identifier matches the stored user device identifier, determine whether the biometric template matches the stored biometric template associated with the stored user device identifier; And Send the password request message to the digital assistant device.

5. The method according to claim 1, further comprising: Notifying the user of the transaction by the digital assistant device.

6. A digital assistant device, comprising: A processor; A memory device; And A computer-readable medium coupled to the processor, the computer-readable medium comprising code executable by the processor to implement a method, the method comprising: Receiving a biometric sample from a user, the biometric sample being a biometric voice template associated with a voice command; Converting the biometric sample into a biometric template; Determining a task flow and parameters associated with the task flow at least in part based on a speech recognition algorithm using the biometric sample from the user, the task flow being designed to implement an intent inferred from the biometric sample and executing the task flow by invoking programs, services, and application programming interfaces (APIs) corresponding to the inferred intent; Scanning for user devices within the communication range of the digital assistant device to receive user device identifiers, wherein scanning the user devices includes scanning user devices located within the communication range of the low-power Bluetooth component of the digital assistant device and including a digital wallet application; Sending a list of user devices within the communication range of the digital assistant device, and user device identifiers of the user devices within the communication range of the digital assistant device, to a server computer, wherein the server computer queries a database to find registered users associated with the user device identifiers; Sending an authentication request from the digital assistant device to the server computer, the authentication request including at least one user device identifier of the biometric template and the user device identifier of the registered user associated with the user device identifier included in the database, the authentication request corresponding to the determined task flow; Receiving a password request message including the at least one user device identifier from the server computer; Sending the password request message to the user device corresponding to the at least one user device identifier; Receiving a password from the user device, the password being generated by the server computer in advance and transmitted to the user device, the password being generated based on the user device information of the user device; and Sending the password to the server computer, wherein the server computer verifies the password before further processing the transaction.

7. The digital assistant device according to claim 6, wherein the biometric template is an encrypted biometric template.

8. The digital assistant device according to claim 6, wherein after converting the biometric sample into the biometric template, the method further comprises: Determining the server computer based on the biometric template.

9. The digital assistant device according to claim 6, wherein the server computer is a service provider computer and the server computer: Receives the biometric template and the at least one user device identifier; Determines whether the at least one user device identifier matches a stored user device identifier; If the at least one user device identifier matches the stored user device identifier, determines whether the biometric template matches a stored biometric template associated with the stored user device identifier; And Sends the password request message to the digital assistant device.

10. The digital assistant device according to claim 6, wherein the method further comprises: Notifying the user of the transaction.

11. A method for voice authentication, the method comprising: Receiving, by a server computer, an authentication request message including a biometric template and at least one user device identifier from a digital assistant device, the authentication request message corresponding to a task flow, the task flow and parameters being associated with a task flow determined at least in part by the digital assistant device based on a speech recognition algorithm, the speech recognition algorithm using a biometric sample from a user associated with the digital assistant device, the biometric sample being a biometric voice template related to a voice command, the task flow being designed to implement an intention inferred from the biometric sample and execute the task flow by invoking programs, services, and application programming interfaces (APIs) corresponding to the inferred intention, wherein the digital assistant device scans user devices within the communication range of the digital assistant device to receive user device identifiers, and wherein scanning the user devices includes scanning user devices within the communication range of the low-power Bluetooth component of the digital assistant device and including a digital wallet application; Receiving, by the server computer, a list of user devices within the communication range of the digital assistant device from the digital assistant device; Querying, by the server computer, a database to find registered users associated with the user device identifiers; Comparing, by the server computer, the biometric template with stored biometrics while determining whether the biometric template corresponds to an account associated with at least one user device identifier among the user device identifiers of the registered users included in the database and associated with the user device identifier; Sending, by the server computer, a password request message to the digital assistant device; Receiving, by the server computer, a password from the digital assistant device, the password being generated by the server computer in advance and transmitted to the digital assistant device, the password being generated based on device information of a user device associated with at least one user device identifier; Determining, by the server computer, whether the password matches an issued password previously provided to the user device associated with the at least one user device identifier; and If the password matches the issued password, further processing the transaction.

12. The method according to claim 11, wherein further processing the transaction further comprises: sending, by the server computer, an authorization request message to an authorization computer; and receiving, by the server computer, an authorization response message.

13. The method according to claim 11, wherein the server computer is a service provider computer.

14. The method according to claim 11, further comprising: evaluating, by the server computer, the biometric template to determine whether to send the password request message.

Citation Information

Patent Citations

  • Verification value system and method

    US20130226802A1

  • Communication session transfer between devices

    US20160057139A1

  • Methods and a system for passive authentication

    US20160063471A1