Techniques for Call Authentication
The described method and system for authenticating calls through encryption and peer-to-peer verification address the limitations of current call authentication methods, enhancing security and trust by ensuring only authorized calls are connected.
Patent Information
- Application Number
- JP2024016808
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-07-19
- Filing Date
- 2024-02-07
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2040-07-15
AI Technical Summary
Current methods for authenticating incoming calls lack the ability to reliably verify the originating devices and parties, making users vulnerable to nuisance and security risks.
A method and system for peer-to-peer authentication of calls, involving the encryption of payload data using the incoming call number and the private key associated with the first mobile phone device, and subsequent authentication through comparison with stored information.
This solution effectively authenticates incoming calls, reducing the risk of nuisance and security threats by ensuring that only authorized calls are connected, thereby enhancing user trust and security in communication systems.
Smart Images

Figure 0007653552000001 
Figure 0007653552000002 
Figure 0007653552000003
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. patent application Ser. No. 16 / 517,074, entitled "Techniques for Call Authentication," filed July 19, 2019, and issued December 10, 2019 as U.S. Patent No. 10,506,426. The contents of the aforementioned patent application are hereby incorporated by reference in their entirety. [Background technology]
[0002] Unsolicited calls pose an annoyance and security risk to the recipient of the call. The recipient may be subject to nuisance calls, such as telemarketing calls, prank calls, and / or silent calls. Unsolicited calls may also be used to initiate telephone fraud, in which the fraudster poses as a legitimate entity in an attempt to steal information or funds.
[0003] Telephone authentication involves attempting to identify the caller. However, current methods lack the ability to reliably authenticate originating devices and the parties calling from them. Furthermore, such methods are at best sparsely implemented and subject to practices such as spoofing, where a caller may use a false identity and / or number to trick the called party into answering. As a result, users are often distrustful, at best, of communication systems; at worst, they may be exposed to nuisances and / or security risks. Summary of the Invention
[0004] According to one aspect of the invention, a method for performing peer-to-peer authentication of a call includes receiving an incoming call data stream from a first mobile phone device, the incoming call data stream comprising an encrypted payload comprising payload data encrypted using an incoming call number of a second mobile phone device and a private key associated with the first mobile phone device. In some embodiments, the private key comprises a dynamic key of the first mobile phone device, and the encrypted payload comprises a ciphertext. The method may include authenticating the incoming call data stream in response to a match between the encrypted payload and stored information associated with the first mobile phone device. In various aspects, the authentication includes forwarding the ciphertext to an authentication server, the authentication server maintaining and modifying a copy of the dynamic key contemporaneously with the first mobile phone device as stored information associated with the first mobile phone device. In some embodiments, the authentication further includes receiving validation of the first mobile phone device from the authentication server in response to a counter match between a counter extracted from the ciphertext using the copy of the dynamic key and an expected counter associated with the first mobile phone device. The method may further include selectively establishing a call connection between the first mobile phone device and the second mobile phone device in response to the step of authenticating.
[0005] According to another aspect of the invention, a system for authenticating a call between devices comprises an interface configured to receive an incoming call data stream from a first mobile phone device. In some embodiments, the incoming call data stream comprises an incoming call number associated with a second mobile phone device and an encrypted payload comprising payload data encrypted using a private key associated with the first mobile phone device. In some embodiments, the system includes a processor coupled to the interface and a non-volatile memory having program code stored thereon, the program code being operative when executed by the processor to authenticate the incoming call data stream in response to a match between information in the encrypted payload and stored information associated with the first mobile phone device. The system further includes a communication interface coupled to the processor and configured to selectively establish a call connection between the first mobile phone device and the second mobile phone device in response to the step of authenticating.
[0006] According to yet another aspect of the present invention, a method for authenticating a call between mobile devices includes receiving an incoming call data stream from a first mobile phone device. In some embodiments, the incoming call data stream comprises an incoming call number associated with a second mobile phone device, and the encrypted payload comprises payload data encrypted using a private key associated with the first mobile phone device and a voice message attribute. The method includes retrieving a public key for the incoming call number from a data storage device and decrypting the encrypted payload using the public key for the incoming call number to generate a decrypted payload comprising an identifier. The method includes comparing the identifier of the decrypted payload to an expected identifier associated with the incoming call number to determine a first factor authentication match, and comparing the attributes of the voice message to the expected voice message attributes to identify a second factor authentication match. The method further includes selectively establishing a connection between the first mobile phone device and the second mobile phone device in response to the first factor authentication match and the second factor authentication match.
[0007] Such an arrangement provides a system and method for securely authenticating incoming calls. [Brief description of the drawings]
[0008] [Figure 1] 1 is a first block diagram of a data transmission system configured to authenticate a user call according to an exemplary embodiment; [Diagram 2] FIG. 2 is a detailed block diagram illustrating example components that may be used in the system of FIG. 1. [Diagram 3] FIG. 2 is a detailed block diagram of components of the system of FIG. 1 that may be utilized to support aspects of the present invention. [Figure 4] FIG. 2 illustrates a sequence for providing authenticated access according to an exemplary embodiment. [Diagram 5] The block diagram is a second block diagram of a data transmission system configured to authenticate user calls according to an exemplary embodiment. [Figure 6] 1 is a first logic flow provided to illustrate exemplary steps that may be performed during one embodiment of a call authentication process. [Figure 7] 1 is a second logic flow provided to illustrate exemplary steps that may be performed during one embodiment of a call authentication process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Some embodiments of the present disclosure are directed to the use of one or more keys incorporated into one or more contactless cards, as described in U.S. Patent Application Serial No. 16 / 205,119, filed November 29, 2018 by Osborn et al., entitled "System and Method for Cryptographic Authentication of Contactless Cards," and incorporated herein by reference (hereinafter the '119 Application). Contactless cards may be used to perform authentication and many other functions that require carrying other physical tokens in addition to the contactless card. By employing a contactless interface, contactless cards may be provided with a method for interacting and communicating between a user's device (such as a mobile phone) and the card itself. For example, the Near Field Communication (NFC) protocol underlying many credit card transactions includes authentication processes that are sufficient for the Android® operating system, but present challenges for the more restrictive iOS® with respect to the use of NFC, such as only being available for read-only use. Exemplary embodiments of contactless cards described in the '119 Application may utilize NFC technology. Authenticating a user via a contactless card interface may overcome the identity theft problems of the prior art by verifying the endpoints of the call link.
[0010] Various embodiments described herein are directed to authenticating a call by using one or more keys associated with a particular user. In an example, the user is the sender of the call. In various embodiments, when the call is made, an identification payload is encrypted using a private key associated with the user. The encrypted identification payload is added to the call data stream. The identification payload may be decrypted using a public key. In embodiments, the identification payload may be verified. In various embodiments, further authentication methods may be performed by using an object, such as a contactless card, to provide one or more components of the identification payload and / or the key. In embodiments, a connection may be made between the sender of the call and the intended recipient based on verification of the identification payload.
[0011] In some embodiments described herein, the private key used to encrypt the identification payload may be stored or issued with respect to a particular user device. Such a user device may be a network-enabled computer. As referred to herein, a network-enabled computer may include, for example, a computing device or device, such as, but not limited to, a server, a network appliance, a personal computer (PC), a workstation, a mobile device, a telephone, a handheld PC, a personal digital assistant (PDA), a thin client device, a fat client device, or other device.
[0012] In some embodiments described herein, the private key used to encrypt the identification payload may be stored or issued with respect to a separate object associated with the user. For example, as referenced in the incorporated '119 application and in more detail herein, the separate object may be a contactless card. In this context, the embodiments are not limited.
[0013] In various embodiments described herein, the identification payload may comprise text data, audio data, numeric data, or a combination thereof. For example, the identification payload may comprise information regarding a user's association with a communications service provider, a voice message, or a counter associated with a contactless card. In this context, the embodiments are not limited.
[0014] Nuisance calls can be made by a variety of callers with a variety of purposes, but are often difficult for the recipient to identify, reducing the usability of communication system clients and causing users to distrust the communication system.
[0015] For example, caller ID may indicate to the called party that the caller is a known contact or display the caller's phone number so the recipient can recognize the area code within. However, the caller can turn off caller ID. Further, in this example, the recipient is still notified of the incoming call and must intentionally reject it. Furthermore, harassers can avoid proper identification, for example, by spoofing or blocking the call on the caller ID. In a further example, a voice over IP user may send a false caller ID or route the call through servers in multiple countries.
[0016] In the field of telephony, the FCC has required the implementation of signature-based asserted information processing using the KEN (SHAKEN) and Secure Telephone Identity Revisited (STIR) standards, but these procedures also fall short of fully authenticating the identity of the caller. In SHAKEN / STIR, the caller's service provider may create a digital signature based on what it knows about the caller, the customer and the caller's number, the customer (not the number), or the right to use the point where the call enters the network. An originating identifier may be assigned to uniquely identify the caller. However, in these procedures, the final verification is that the caller has the right to appear as a particular caller to the recipient. The call may not actually come from the number that is displayed as the caller. For example, service provider-approved spoofing may still occur. Even after implementing such methods, the recipient cannot be sure of the identity of the other party of the incoming communication. An improved system is needed to authenticate the identity of the party originating the communication.
[0017] Various embodiments described herein include components that can enable one or more of: (1) authentication of a communication initiator associated with a device used to initiate a communication; (2) authentication of a communication initiator associated with a device used to initiate a communication and another identifying information provided by and / or related to the communication initiator; and (3) authentication of a communication initiator associated with a device used to initiate a communication and a separate object uniquely owned by the communication initiator, such as a contactless card.
[0018] Authentication of communications based on the device from which it originates reduces the likelihood that unsolicited communications, including fraud attempts, will reach the receiving client, thereby improving the security of the information. In some embodiments, selective connection of a first client device and a second client device for communications based on the results of authentication or multi-factor authentication may reduce the load of unwanted communications on the client, thereby improving the client experience.
[0019] Thus, the embodiments disclosed herein leverage authentication capabilities of at least one client device and / or service provider in practical applications to improve security of network communications and / or improve client confidence in the authenticity of received communications. In some embodiments, the components described herein may provide specific and particular ways of authenticating communications and / or managing communications based on the results of the authentication. In many embodiments, one or more components described herein may be implemented as a set of rules that improve computer-related technology by enabling functions that were not previously performable by a computer that allow improved technical results to be achieved. For example, authenticating communications based on identifying information associated with the communication initiator is such an improved technical result. In other examples, the functions may include secure multi-factor authentication by leveraging capabilities of the client device and / or a separate object such as a contactless card. In other examples, the functions may include managing communications by selectively connecting devices for communications according to the results of the multi-factor authentication.
[0020] These and other features of the present invention are now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout.
[0021] The terms "system," "component," and "unit" as used in this application are intended to refer to a computer-related entity that is either hardware, a combination of hardware and software, software, or software in execution, examples of which are described herein. For example, a component may be, but is not limited to, a process running on a processor, a processor, a hard disk drive, multiple storage drives (optical and / or magnetic storage media), an object, an executable file, a thread of execution, a program, and / or a computer. As an example, both an application running on a server and the server may be a component. One or more components may be located within a process and / or thread of execution, and a component may be localized on one computer or distributed across two or more computers.
[0022] Additionally, the components may be communicatively coupled to one another by various types of communication media to coordinate operations. Coordination may include one-way or two-way information exchange. For example, the components may communicate information in the form of signals communicated over the communication media. This information may be embodied as signals assigned to various signal lines. In such an assignment, each message is a signal. However, further embodiments may instead use data messages. Such data messages may be transmitted over various connections. Exemplary connections include parallel interfaces, serial interfaces, and bus interfaces.
[0023] FIG. 1 illustrates a system 100 including two or more client devices 125 and 130 coupled via a network 115. In various embodiments, the client devices 125 and 130 comprise network-enabled computers and communicate with one another via the network 115. Specifically, various embodiments include each client device associated with a private key and a public key. In an embodiment, the client device 125 initiating the communication may send a message 140 comprising a telephone number and a payload encrypted with its own private key 126. The message may be passed through an authentication router 120 that is part of the network 115. The encrypted payload of the message 140 may be decrypted using a public key 127 associated with the client device 125. The communication may be passed to the client device 130. In this context, the embodiments are not limited.
[0024] In various embodiments, a first client device 125 may initiate a communication intended to reach one or more client devices 130. Although only one device is shown in Figure 1, it is understood that a communication may have multiple recipients, such as, for example, a group message, a conference call, or a group video chat. In this context, the embodiments are not limited.
[0025] The client devices 125 and 130 may include a processor and memory, and it is understood that the processing circuitry may include additional components such as processors, memory, error and parity / CRC checkers, data encoders, anti-collision algorithms, controllers, command decoders, security primitives, and anti-tamper hardware necessary to perform the functions described herein. The client devices 125 and 130 may further include displays and input devices. The displays may be any type of device for presenting visual information such as computer monitors, flat panel displays, and mobile device screens including liquid crystal displays, light emitting diode displays, plasma panels, and cathode ray tube displays. The input devices may include any device for inputting information into a user's device that is available and supported by the user's device, such as a touch screen, keyboard, mouse, cursor control device, touch screen, microphone, digital camera, video recorder or camcorder, etc. These devices may be used to input information and interact with the software and other devices described herein.
[0026] One or more of the client devices 125 and 130 may also be mobile devices such as, for example, an Apple® iPhone®, iPod®, iPad®, or any other mobile device running Apple's iOS® operating system, any device running Microsoft's Windows® Mobile operating system, and / or other smartphones or similar wearable mobile devices.
[0027] Client devices 125 and 130 may include a thin-client application specifically adapted for communication with a service provider, which may be a business or other entity that offers computer-related services over a network. The thin-client application is stored in the memory of the client device and is operative when executed by the client device, controls the interface between the client device and the service provider application, and enables a user of the client device to access the service provider's content and services.
[0028] In an embodiment, client device 125 is associated with a private key 126 and a public key 127. The private key 126 and the public key 127 may be associated such that data can be encrypted and decrypted, such as in symmetric key encryption or asymmetric key encryption (also known as public key encryption). In an embodiment, the private key 126 and the public key 127 may be different, with the public key 127 being available to systems external to client device 125 and the private key 126 being intended to be known only by client device 125. In such an embodiment, system 100 may be instructed to use asymmetric key encryption. In some embodiments, the same public key may be available to and / or associated with multiple client devices, e.g., client device 125 and client device 130.
[0029] In various embodiments, the private key 126 may be permanent or static. In other embodiments, the private key may be a dynamic key. For example, the private key 126 may be a rolling key. The private key 126 may be changed, for example, as a function of time, a counter, or other dynamic conditions. In various embodiments, the counter by which the private key 126 is updated may be advanced by the client's use of the client device 125 or other object, such as a contactless card, as described in more detail in the '119 application and herein. It is readily understood that dynamic keys may be updated in response to other events, changes in circumstances, and / or any combination of the above.
[0030] In various embodiments, the association of the private key 126 and / or the public key 127 with the client device 125 may be established at the time of or prior to issuance of the client device 125 to the client. For example, the keys may be set by the device manufacturer, service provider, or other entity. In other embodiments, the private key 126 and / or the public key 127 may be linked to the device at a later time. For example, the client device 125 may receive updated keys 126 and 127. In various embodiments, the private key 126 and / or the public key 127 may be stored in memory on the client device 125, or on an external server or database. In various embodiments, the private key 126 and / or the public key 127 may be updated by using an application on the client device and / or by using a separate computer. For example, the private key 126 and / or the public key 127 may be updated or diversified according to dynamic data, such as a counter. Such examples are described in the '119 reference, which is incorporated herein by reference.
[0031] A client device 125 may initiate communication with another client device 130 by generating a message 140. In an embodiment, the message 140 may comprise an encrypted payload and a telephone number. The encrypted payload may be encrypted using a private key 126. The telephone number may comprise the telephone number of the client device 125 and / or the client device 130. In an embodiment, the encrypted payload as the encrypted payload of the message 140 may comprise text, numbers, voice, other data, or a combination thereof. The payload may comprise unique identification information for the client, the client device 125, or a combination thereof. Additionally, the encrypted payload may include hashed data. Such information may be stored in memory accessible to the client device 125, for example, local to the client device or accessible via a network connection. In various embodiments, the encrypted payload may comprise dynamic information associated with the client, the client device 125, or a separate object, for example, a contactless card, as described in more detail herein. The dynamic information may change with each communication sent by the client device 125 or at other rates. In some embodiments, the public key 127 may be included in the message 140 .
[0032] In some embodiments, the encrypted payload and / or message 140 may be added to the communication from the client device 125. For example, the encrypted payload may be added to the call data stream. In some embodiments, the communication from the client device 125 may be included in the encrypted payload.
[0033] The message 140 may be sent from the client device 125. In various embodiments, the message 140 may pass through the authentication router 120. The authentication router 120 may be associated with the network 115.
[0034] In some examples, the network 115 may be one or more of a wireless network, a wired network, or any combination of wireless and wired networks and may be configured to connect the client device 125 to the service provider 320. For example, the network 115 may include one or more of an optical fiber network, a passive optical network, a cable network, an Internet network, a satellite network, a wireless local area network (LAN), a global system for mobile communications, a personal communication service, a personal area network, a wireless application protocol, a multimedia messaging service, an enhanced messaging service, a short message service, a time division multiplex based system, a code division multiple access based system, a D-AMPS, Wi-Fi, fixed wireless data, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, radio frequency identification (RFID), Wi-Fi, and the like.
[0035] Additionally, network 115 may include, but is not limited to, telephone lines, optical fiber, IEEE Ethernet 902.3, a wide area network ("WAN"), a wireless personal area network ("WPAN"), a local area network ("LAN"), or a global network such as the Internet. Additionally, network 115 may support an Internet network, a wireless communication network, a cellular network, or the like, or any combination thereof. Network 115 may further include a network, or any number of the exemplary types of networks listed above, operating as a standalone network or in cooperation with one another. Network 115 may utilize one or more protocols of one or more network elements to which they are communicatively coupled. Network 115 may translate to or from other protocols to one or more protocols of network devices.
[0036] It should further be appreciated that, according to one or more examples, network 115 may be part of multiple interconnected networks, such as, for example, the Internet, a service provider's private network, a cable television network, an enterprise network such as a credit card association network, and a home network. In some embodiments, authentication router 120 and / or network 115 may be associated with a communications service provider. Additionally, a private network may be implemented as a virtual private network layered on network 115.
[0037] For example, network 115 may comprise a public switched telephone network (PSTN), and the authentication router may be associated with a communications service provider used by client device 125 and / or clients of client device 130.
[0038] The authentication router 120 may have access to a public key 127 associated with the client device 125. In some cases, the authentication router 120 may receive the public key 127 from the client device 125 via message 140. In other embodiments, the authentication router 120 may have access to a database, table, or other storage or memory in which the public key 127 is stored. In these embodiments, the memory may be local to the authentication router 120 or otherwise available over the network 115.
[0039] In some embodiments, the authentication router 120 has access to storage, as described above, that contains dynamic information related to the encrypted payload of the message 140. For example, the dynamic information contained in the encrypted payload may be reflected in information available to the authentication router. For example, if the payload comprises current information regarding the client's account with a communications service provider, the memory may comprise separately maintained current information regarding the client's account with the service provider. In another example, if the encrypted payload comprises a counter that is incremented each time the client makes a call using the client device 125, the counter may be updated in memory accessible to the authentication router 120 each time the client device 125 makes a call.
[0040] Such information relating to a client and / or client device 125 may be initially made available by the authentication router 120 upon activation of the client device 125 or issuance of the client device 125 to a client. Furthermore, such information needs to be associated with the client and / or client device. For example, a counter associated with a client device may be set to zero or other predetermined number in response to activation of the device, or a client's initial account information may be entered by an employee of the communications service provider in response to creation of the client's account. However, such information is updated independently of the content of the message 140.
[0041] In some embodiments, the public key 127 is stored in such memory accessible to the authentication router 120. In embodiments, the public key 127 may be entered at a memory location associated with the client and / or client device 125 upon issuance of the client device 125 to the client and / or upon initiation of service by the communications service provider. When the public key is updated, for example, to match an updated private key, the public key 127 in memory may be updated. In some embodiments, this update may be automatic. In other embodiments, this update may be performed in response to an event, for example, the sending of a message 140 from the client device 125. In some embodiments, the public key 127 may be updated in response to being received as part of a message 140.
[0042] In various embodiments, the authentication router 120 may use the public key 127 to decrypt the message 140. In embodiments in which the encrypted payload comprises hashed data, a hash function may be applied to the decrypted payload to extract information, e.g., an identifier. In embodiments, the contents of the decrypted payload of the message 140 may then be compared to information known by the authentication router associated with the client and / or client device. For example, if the payload comprises a counter, the counter may be compared to a counter known by the authentication router. Matching the information in the decrypted payload with information known by the authentication router 120 allows the message 140 to be authenticated as truly sent from the client device 125.
[0043] Because the public key 127 is associated with the private key 126 known only to the client device 125, successful decryption of the message 140 using the public key 127 indicates that the message 140 was indeed sent from the client device 125. However, a mismatch between the encrypted payload of a message sent from a client device and information available to the client and / or the authentication router associated with the client device 125 may indicate fraudulent activity. For example, a hacker or fraudster may gain access to the private key 126 of the client device 125, and a message received by the authentication router may not be from the identified client device 125. If an incoming message cannot be decrypted using the public key 127 and / or the decrypted payload of the message cannot be authenticated, the communication may be flagged for the recipient client device 130. In some embodiments, a connection for communication between the client devices 125 and 130 may not be completed based on such a failure of authentication. Information associated with the client device 125 and / or the message 140 may be flagged, stored in a database, and / or transmitted to a service provider or other entity, e.g., law enforcement, based on such authentication failure. In some embodiments, the client devices 125 and 130 may be connected for communication based on successful authentication of the initiating client device 125.
[0044] In some embodiments, client device 130 has its own associated private key 136 and public key 137. It will be appreciated that these keys may enable return communication from client device 130 to client device 125 in the same manner as described with respect to communication from client device 125 to client device 130.
[0045] In various embodiments, the authentication process may be performed local to the recipient client device 130, as opposed to local to the authentication router 120. Specifically, the message 140 may be routed by the network 115 to the client device 130 while remaining encrypted.
[0046] In such embodiments, the client device 130 may access the public key 127 associated with the client device 125. In some cases, the client device 130 may receive the public key 127 from the client device 125 via message 140. In other embodiments, the client device 130 may access a database, table, or other storage or memory in which the public key 127 is stored. In these embodiments, the memory may be local to the client device 130 or otherwise available over the network 115.
[0047] In some embodiments, the client device 130 has access to storage as described above, including dynamic information related to the encrypted payload of the message 140. For example, the dynamic information included in the encrypted payload may be reflected in information available to the authentication router. For example, if the payload comprises current information regarding the client's account with a communications service provider, the memory may comprise separately maintained current information regarding the client's account with the service provider. In another example, if the encrypted payload comprises a counter that increments each time the client makes a call using the client device 125, the counter may be updated in memory accessible to the client device 130 each time the client device 125 makes a call. In such an example, a counter associated with the client device 125 that is local to the client device 125 and local to the client device 130 may be updated in response to communications between the client device 125 and the client device 130, among other things.
[0048] Such information relating to a client and / or client device 125 may be initially made available to the client device 130 upon activation of the client device 125 or issuance of the client device 125 to a client. Furthermore, such information needs to be associated with the client and / or client device. For example, a counter associated with the client device 125 may be set to zero or other predetermined number in response to activation of the client device 125, or the client's initial account information may be entered by an employee of the communications service provider in response to the creation of an account for the client. In this example, the information may be stored in a memory external to the client device 130, such as a database located on a network server. However, such information is updated independently of the content of the message 140.
[0049] In some embodiments, the public key 127 is stored in such memory accessible to the client device 130. In embodiments, the public key 127 may be entered into memory in association with the client and / or client device 125 upon issuance of the client device 125 to the client and / or upon initiation of service by the communications service provider. When the public key is updated, for example, to match a rolling private key, the public key 127 in memory may be updated. In some embodiments, this update may be automatic. In other embodiments, this update may be performed in response to an event, for example, the transmission of a message 140 from the client device 125 to the client device 130. In some embodiments, the public key 127 may be updated in memory available to the client device 130 in response to being received as part of the message 140.
[0050] In various embodiments, client device 130 may decrypt message 140 using public key 127. In embodiments, the decrypted payload of message 140 may then be compared to information known by client device 130 associated with the client and / or client device. For example, if the payload comprises a counter, the counter may be compared to a counter known by client device 130. Matching the information in the decrypted payload with the information known by client device 130 allows message 140 to be authenticated as having been truly sent from client device 125.
[0051] Because the public key 127 is associated with the private key 126 known only to the client device 125, successful decryption of the message 140 using the public key 127 indicates that the message 140 was indeed sent from the client device 125. However, a mismatch between the encrypted payload of a message sent from a client device and information available to the client and / or the authentication router associated with the client device 125 may indicate fraudulent activity. For example, a hacker or fraudster may gain access to the private key 126 of the client device 125, and a message received by the authentication router may not be from the identified client device 125. If an incoming message cannot be decrypted using the public key 127 and / or the decrypted payload of the message cannot be authenticated, the communication may be flagged for the recipient client device 130. In some embodiments, a connection for communication between the client devices 125 and 130 may not be completed or continued based on such a failure of authentication. Information associated with the client device 125 and / or the message 140 may be flagged, stored in a database, and / or transmitted to a service provider or other entity, e.g., law enforcement, based on such authentication failure. In some embodiments, the client devices 125 and 130 may be connected for communication based on successful authentication of the initiating client device 125.
[0052] Figure 2 is a block diagram illustrating various example components that may be useful in implementing a method such as that discussed with respect to Figure 1. System 200 may be implemented to enable encryption and / or decryption of data, for example. Thus, similar components may be implemented as client device 125, authentication router 120, and / or client device 130. System 200 is particularly directed to communications including telephony. The embodiments are not so limited.
[0053] In an embodiment, system 200 may include a processor 210. It is understood that the processing circuitry may include additional components, including processors, memories, error and parity / CRC checkers, data encoders, collision prevention algorithms, controllers, command decoders, security primitives, and anti-tamper hardware, as necessary to perform the functions described herein. Additionally, processor 210 may be any of a variety of commercially available computer processors, including, but not limited to, AMD® Athlon®, Duron® and Opteron® processors, ARM® application, embedded and secure processors, IBM® and Motorola® DragonBall® and PowerPC® processors, IBM and Sony® Cell processors, Intel® Celeron®, Core®, Core(2)Duo®, Itanium®, Pentium®, Xeon®, and XScale® processors, and similar processors. Dual microprocessors, multi-core processors, and other multi-processor architectures may also be used as the processor 210. Such processors may enable the network-enabled device to communicate with other network-enabled devices through the use of a PSTN interface 215 managed by an SS7 network interface 220.
[0054] Specifically, the PSTN interface 215 allows the system 200 to connect to the network 115 and associated services. The Signaling System Number 7 (SSN) network interface is used to manage the system 200's use of the network 115 through the PSTN interface 215 by using paths and facilities different from voice channels to signal the setup and release of communications.
[0055] The memory systems as referenced with respect to client device 125, authentication router 120, and client device 130 may be embodied as memory 225 in some examples. Memory 225 may be read-only memory, write-once read multiple memory, or read / write memory, e.g., RAM, ROM, and EEPROM, and system 200 may include one or more of these memories. Read-only memory may be programmable at the factory as read-only or one-time programmable. One-time programmability allows writing once and then reading many times. Write-once / read multiple memory may be programmed at some point after the memory chip leaves the factory. Once the memory is programmed, it cannot be rewritten, but it can be read many times. Read / write memory may be programmed and reprogrammed many times after leaving the factory. Read / write memory may be read many times after leaving the factory.
[0056] Memory 225 may be configured to store one or more of key data 230, encryption / decryption code 235, and key verification code 240. The key data may comprise keys used to encrypt and / or decrypt information, such as a message, such as message 140, an identification payload, or other information. For example, key data 230 may comprise private key 126 and public key 127.
[0057] The encryption / decryption code 235 may comprise code for encrypting and / or decrypting information, such as a message, such as message 140 , an identification payload, or other information using the key data 230 .
[0058] Key verification code 240 may comprise code for verifying the encryption and / or decryption of information, such as a message, such as message 140, an identification payload, or other information, using key data 230 in accordance with encryption / decryption code 235. In some embodiments, key verification code 240 may comprise a payload that identifies a client and / or client device, such as the identification payload of message 140.
[0059] 3 is a block diagram illustrating a system 300 in which a client device 125 is coupled to a service provider 320 via a network 315. Embodiments are not so limited.
[0060] The service provider 320, in one embodiment, is a business that provides computer-based services to clients over the network 115. Almost all modern service providers use the Internet to provide services to potential consumers. The service offerings are typically provided in the form of software applications that operate using the service provider's dedicated resources. The combination of software and hardware that provides a particular service to the client is referred to herein as a "server." The server may communicate over the service provider's private network 350, which is often referred to as a corporate or enterprise network. The private network 350 may comprise a wireless network, a wired network, or any combination of wireless and wired networks, as described above with respect to the network 115.
[0061] In system 300, service provider 320 is shown to include authentication server 360. Although the servers are shown as separate devices, it will be understood that applications and servers may be distributed across an enterprise, or in the case of distributed resources such as "cloud" resources, across network 115.
[0062] Database 330 comprises a data storage resource that may be used, for example, to store customer accounts, credentials, and other authentication information for use by authentication server 360. Database 330 may be comprised of combined data resources comprising any combination of local storage, distributed data center storage, or cloud-based storage.
[0063] The contactless card 305 may comprise a payment card, such as a credit card, debit card, or gift card issued by a service provider 320 displayed on the front or back of the card 305. In some examples, the contactless card 305 may comprise, but is not limited to, an identification card unrelated to a payment card. In some examples, the payment card may comprise a dual-interface contactless payment card. The contactless card 305 may include a substrate that may include a single layer or one or more laminated layers composed of plastic, metal, and other materials. Exemplary substrate materials include polyvinyl chloride, polyvinyl chloride acetate, acrylonitrile butadiene styrene, polycarbonate, polyester, anodized titanium, palladium, gold, carbon, paper, and biodegradable materials. In some examples, the contactless card 305 may have physical characteristics that conform to the ID-1 format of the ISO / IEC 7810 standard, otherwise the contactless card may conform to the ISO / IEC 14443 standard. However, it will be understood that contactless cards 305 according to the present disclosure may have different characteristics and the present disclosure does not require that the contactless card be embodied in a payment card.
[0064] The contactless card 305 may also include identification information displayed on the front and / or back of the card, and a contact pad. The contact pad may be configured to establish contact with other communication devices, such as a user device, a smart phone, a laptop, desktop, or a tablet computer. The contactless card 305 may also include processing circuitry, an antenna, and other components not shown in FIG. 3. These components may be located behind the contact pad or elsewhere on the substrate. The contactless card 305 may also include a magnetic strip or tape that may be located on the back of the card (not shown in FIG. 3).
[0065] According to one aspect, the contactless card 305 may wirelessly communicate, e.g., NFC, with one or more client devices 125. For example, the contactless card 305 may include one or more chips, such as a radio frequency identification chip, configured to communicate via NFC or other short-range protocols. In other embodiments, the contactless card 305 may communicate with the client devices 410 via other means, including but not limited to Bluetooth, satellite, and / or WiFi. As described in the '119 application, the contactless card 305 may be configured to communicate with one of the client devices 125 via NFC when the contactless card 305 is within range of the respective client device. As described in more detail below, the contactless card 305 may generate a cryptogram for use by a service provider to authenticate the client device.
[0066] The contactless card 305 may be used to generate a Message Authentication Code (MAC) cryptogram that may act as a digital signature for purposes of verification. To perform this verification, a public key asymmetric algorithm may be used, for example, the Digital Signature Algorithm and the RSA algorithm, or other digital signature algorithms such as zero-knowledge protocols.
[0067] More specifically, the contactless card 305 may be used to generate a session key, which may be received via communication between the contactless card 305 and the client device 125 and serves as a private key as described with respect to Figure 1. In an embodiment, this process may be an alternative to generating or storing a private key local to the client device 125 as described with respect to Figure 1.
[0068] In an embodiment, the contactless card 305 may be used to pass an identifier to the client device 125. The identifier may be, for example, a counter. In various embodiments, a private key associated with the client device 125 may be diversified using the counter and / or used to encrypt the identifier from the contactless card 305 as part of an encrypted identification payload.
[0069] The client device 125 may send a message, e.g., message 140. In an embodiment, the message may be added to the call data stream. The message may comprise an encrypted identifier payload associated with the client and / or the client device 125. The identifier payload may comprise voice data, e.g., a voice message. The message may further comprise at least one phone number, e.g., as seen in message 140.
[0070] In embodiments, the audio data may be recorded from a human voice, e.g., from a client or from an employee of a service provider. In some embodiments, the audio data may comprise a custom voice message. In other embodiments, the audio data may be generated by a computer. In such embodiments, the audio data may be generated in response to a computer device interpretation of text and / or numerical data, e.g., by a text-to-speech application or program. The interpretation of the text and / or numerical data may be performed locally to the client device 125 or on another network-enabled device. The interpreted data may comprise identification information of the client and / or client device. Such information may be stored in memory accessible to the client device 125, e.g., local to the client device, local to a contactless card, or accessible via a network connection. For example, information for a particular client may be found in a database associated with the telephone number of the client device from which the message was sent. In some embodiments, the information may comprise dynamic information, such as a counter.
[0071] The payload may, in some embodiments, comprise further information including at least one identifier. Such an identifier may comprise, for example, a counter from the contactless card 305, as described in more detail herein and in the '119 application.
[0072] In an embodiment, the network 315 may include an interactive voice response (IVR) enabled system. The IVR system may receive and decrypt the encrypted identification payload sent by the client device 125. The decryption may be performed in any manner necessary, for example, as described in the '119 application or as described with respect to FIG.
[0073] The identifier of the decoded payload, e.g., a counter, may be compared to an expected identifier associated with the client device from which the message originated. In an embodiment, the expected identifier may be associated with a client device by reference to a telephone number associated with that client device. In an embodiment, the expected identifier may be updated independent of the content of an incoming communication from an associated device. For example, a counter may be incremented upon receiving a communication from a client device, regardless of the content of the message received from the client device. In another example, a counter may be incremented for each message received from a client device if the message contains a particular type of information. The comparison of the identifier of the decoded payload to the expected identifier may be performed by an IVR system, other network-enabled device, an application thereon, or other enabled processor. The embodiments are not so limited.
[0074] A match of the identifier in the decrypted payload with the expected identifier may determine a first factor authentication match. This authentication adds an additional layer of security over symmetric or asymmetric key authentication alone by requiring not only successful decryption, but also a match of an identifier known only by the client device 125 with the memory in which the expected identifier is stored. For example, a counter value of a number X that matches a value expected from a decrypted payload may indicate not only that the payload was properly decrypted, but also that the sending client device had a record of the number X of a past communication with the same server as the server's record.
[0075] In embodiments, the IVR system may perform the second factor authentication using the voice data included in the identification payload. In particular, the IVR system may interpret the voice data included in the identification payload. In some embodiments, the decoded payload voice data may be interpreted by a speech-to-text program, such as a speech-to-text application. In some embodiments, the voice data may be analyzed for characteristics of the voice data itself. In embodiments, attributes, such as voice message attributes, may be identified from the voice data. Voice message attributes include recognized words, voice characteristics such as human voice and computer-generated voice, tone, language, accent, cadence, background noise, volume, and other characteristics that a computer may recognize in the voice data. Such attributes may be identified using methods known in the art of language processing, such as keyword identification or recognition according to models trained by one or more machine learning algorithms, neural networks, or other training methods. In some embodiments, at least one confidence level may be calculated according to the likelihood that the voice data includes at least one attribute.
[0076] The interpreted voice data, in an embodiment, may be received by a service provider 320. The service provider 320 may include a private enterprise network 350, an authentication server 360, and a database 330. In an embodiment, aspects of the analysis of the voice data may occur on the enterprise network 350, as opposed to the public network 315. If the analysis is performed as described above on the network 315, identified attributes of the voice data may be transmitted to the enterprise network.
[0077] The authentication server 360 may compare the identified attributes of the voice data from the decoded payload with expected attributes of the voice data from a particular client and / or client device 125. Such attributes may be stored in association with the client and / or client device in the database 330. For example, a custom voice message from the decoded payload may be compared to known custom voice messages associated with the client device 125 in the database 330. In some embodiments, a binary analysis of the matching attributes may be used. In other embodiments, the attributes may be matched according to a confidence level within a particular range. Such confidence level may be calculated, for example, by one or more machine learning methods, keyword identification methods, and / or other methods known in the art. Based on the comparison of the identified attributes with the expected attributes of the voice data, the authentication server 360 may or may not be able to establish a second factor authentication match. Because such a second factor authentication match may be based on information and / or voice data unique to the expected user of the client device 125, the authentication may provide confidence that the actual user of the client device 125 is the expected user, and not an impostor.
[0078] In some embodiments, the IVR system may selectively establish a connection between the first client device 125 and the second client device 130 based on the results of the first and / or second factor authentication match. In some embodiments, the authentication server 360 may communicate the results of the first and / or second factor authentication match to the IVR system. In some embodiments, the authentication server 360 may further communicate instructions to connect or not connect the first client device 125 and the second client device 130 based on the results of the one or more factor authentication match. In other embodiments, the PSTN or an IVR system on the network 315 may receive the results of the first and / or second authentication match and determine whether to connect the first client device 125 and the second client device 130 for communication based on the results of the one or more factor authentication match. In some embodiments, the IVR system may be used to restrict access of the first client device 125 to the second client device 130 based on the first client device 125 being authenticated as one of at least one known verified caller. For example, such verified callers may be recognized and / or marked within the system as making problematic unsolicited calls.
[0079] 4 is a timing diagram illustrating an example sequence for providing authenticated access in accordance with one or more embodiments of the present disclosure. System 400 may include contactless card 305 and client device 410, which may include application 422 and processor 424. Embodiments are not so limited.
[0080] In step 402, the application 422 communicates with the contactless card 305 (e.g., after being brought into close proximity to the contactless card 305). The communication between the application 422 and the contactless card 305 may include the contactless card 305 being sufficiently close to a card reader (not shown) of the client device 410 to enable NFC data transfer between the application 422 and the contactless card 305.
[0081] At step 404, after communication is established between the client device 410 and the contactless card 305, the contactless card 305 generates a MAC cryptogram. In some examples, this may occur when the contactless card 305 is read by the application 422. In particular, this may occur upon a read, such as an NFC read, of a Near Field Wireless Data Exchange (NDEF) tag, which may be created according to an NFC data exchange format. For example, a reader, such as the application 422, may send a message, such as an applet selection message, with an applet ID of an NDEF generation applet. Once the selection is confirmed, a series of select file messages followed by read file messages may be sent. For example, the sequence may include "select function file", "read function file", and "select NDEF file". At this point, a counter value maintained by the contactless card 305 may be updated or incremented, followed by a "read NDEF file". At this point, a message may be generated, which may include a header and a shared secret. A session key may then be generated. A MAC cryptogram may be created from the message, which may include the header and the shared secret. The MAC ciphertext may then be concatenated with one or more blocks of random data, and the MAC ciphertext and the random number (RND) may be encrypted with the session key. The ciphertext and the header may then be concatenated, encoded as ASCII hexadecimal, and returned in the NDEF message format (in response to the "read NDEF file" message).
[0082] In some examples, the MAC cryptogram may be transmitted as an NDEF tag, while in other examples, the MAC cryptogram may be included with a uniform resource indicator (eg, a formatted string).
[0083] In some examples, the application 422 may be configured to send a request to the contactless card 305, where the request comprises instructions to generate a MAC cryptogram.
[0084] In step 406, the contactless card 305 transmits the MAC cryptogram to the application 422. In some examples, the transmission of the MAC cryptogram occurs via NFC, although the disclosure is not limited thereto. In other examples, this communication may occur via Bluetooth, Wi-Fi, or other wireless data communication means.
[0085] In step 408 , the application 422 communicates the MAC ciphertext to the processor 424 .
[0086] In step 412, the processor 424 verifies the MAC ciphertext according to instructions from the application 422. For example, the MAC ciphertext may be verified as described below.
[0087] In some examples, verification of the MAC cryptogram may be performed by a device other than the client device 410, such as a service provider 320 in data communication with the client device 410. For example, the processor 424 may output the MAC cryptogram for transmission to the service provider 320, which may verify the MAC cryptogram.
[0088] In some examples, the MAC ciphertext may act as a digital signature for purposes of verification. To perform this verification, a public key asymmetric algorithm may be used, such as the Digital Signature Algorithm and the RSA algorithm, or other digital signature algorithms, such as zero-knowledge protocols.
[0089] More specifically, according to one aspect, the contactless card 305 may be used in combination with first authentication credentials provided to a service provider, such as service provider 320, to authenticate a communication, e.g., a call, from the client device 410. Using a contactless card as a second factor of authentication may preclude a malicious third party from impersonating the client, i.e., spoofing, since a particular device / phone number may be associated with a particular individual (i.e., the owner of the card). According to other aspects of the invention, the authentication communication protocols described herein identify or use a particular communication channel for call processing, thereby reducing the opportunities for client spoofing.
[0090] The security factor authentication may comprise multiple processes. In some embodiments, a first authentication process may comprise logging in and verifying a user via one or more applications running on the device. A second authentication process may operate after successful login and verification to have the user perform one or more actions associated with one or more contactless cards. In effect, the security factor authentication process comprises a multi-factor authentication process that may include both securely proving the identity of the user and prompting the user to engage in one or more types of actions, including but not limited to one or more tap gestures associated with the contactless card. In some examples, the one or more tap gestures may comprise a tap of a contactless card by the user to the device. In some examples, the device may comprise a mobile device, a terminal, a tablet, or any other device configured to process received tap gestures.
[0091] For example, to provide a first layer of authentication, a client may access an application running on a client device. In another example, a client may access a service provider's website by linking to a web page of the service provider using an Internet browser application running on the client device. A browser is a software application, such as Google® Chrome®, Internet Explorer®, Safari®, etc., that includes programming code for converting the HyperText Markup Language (HTML) web pages of the service provider application into a format suitable for a client operating a client device.
[0092] As part of accessing an application or a service provider's website, the service provider may request first authentication information, including password information, answers to pre-stored queries, biometric information, an image, or other mechanisms to verify that the user of the client device is authorized to access content and services, including accounts managed by the service provider. Furthermore, this level of authentication provides confidence that the user of the client device 125 is the expected client. In other words, while the above methods may be particularly useful for at least authenticating that a communication is coming from an authenticated device, these steps may further authenticate that the communication is coming from an authenticated user of said device.
[0093] According to one aspect, the contactless card 305 may be used to provide a second authentication to a user of a client device. In one embodiment, as described in more detail below, the contactless card includes a key, a counter, and cryptographic processing functions that may be used to generate a cryptogram that may be used to verify the user of the client device. The counter advantageously reflects the previous behavior of the owner of the card. For example, the counter may reflect the number of times a user has previously communicated with a particular party, and this information is virtually impossible for a malicious third party to accurately gather.
[0094] A further level of authentication may occur by using the contactless card 305, for example, by communicatively coupling the card 305 to one of the client devices 410 by tapping or other methods, as described above. In some embodiments, this constitutes a second authentication. In other embodiments, the second authentication continues with further analysis of the identification payload, for example, as described with respect to FIG.
[0095] Following the second authentication, and as described in more detail herein, data may be returned to the client device. For example, the data may include data that enables the client to initiate a communications link with the second client device, or information regarding the success or failure of the authentication attempt.
[0096] It should be noted that while the above description describes the first authentication as using personal, biometric, question, or other authentication information, in some examples, it is recognized that a client application executing on the device may respond to a contactless tap to initially activate or launch an application on the device. In such examples, both the first and second authentication processes use a key / counter contactless card authentication process, which is described in more detail below.
[0097] In some embodiments, if the client-side application is not installed on the client device, tapping the contactless card in proximity to the card reader may initiate download of the application (e.g., navigation to a download page for the application). Following installation, tapping the contactless card may activate or launch the application, e.g., initiate activation of the contactless card via an application or other back-end communication. In some examples, the one or more applications may be configured to determine that the launch occurred at 3:51 PM and that the transaction was processed or made at 3:56 PM in order to verify the user's identity.
[0098] In some examples, data may be collected about the tapping action as a biometric / gesture authentication. For example, a cryptographically secure and intercept-resistant unique identifier may be transmitted to one or more backend services. The unique identifier may be configured to retrieve secondary information about the individual. The secondary information may comprise personally identifiable information about the user. In some examples, the secondary information may be stored within a contactless card.
[0099] 5 illustrates an exemplary system 500 in which authenticated calls may be made. System 500 comprises two or more client devices 125 and 130. As illustrated, a single client device 125 is a device used to initiate a communication and a single client device 130 is a device used to receive the communication. However, it is readily understood that communications may be sent from client device 130 to client device 125 and / or each client device illustrated may comprise multiple client devices, such as in a group call. The embodiments are not so limited.
[0100] Client device 125 may be associated with a private key 126 and a public key 127. Client device 130 may be associated with a private key 136 and a public key 137. In embodiments in which at least one of client devices 125 or 130 represents multiple client devices, each client device may be associated with a private key and a public key.
[0101] A private key and a public key may be associated with each client device, allowing one to decrypt data encrypted by the other. In some embodiments, the device's private and public keys may be the same, allowing for symmetric key encryption. In other embodiments, the private and public keys may be different, allowing for asymmetric key encryption. The keys may be persistent or dynamic. In some embodiments, the private key may be diversified by the use of dynamic information local to the client device, as described above, or may be a session key provided by an external object or device, such as a contactless card.
[0102] In various embodiments, the client device 125 may initiate a communication, e.g., a call data stream, with the client device 130. A message 505 may be added to the communication. The message 505 may comprise an encrypted payload, at least one phone number, at least one phone number comprising a phone number associated with the recipient client device 130, and a voice memo. In embodiments, the voice memo may be customized by the owner of the sending client device 125, e.g., a phrase or greeting. In some embodiments, the message 505 may further include the public key 127 of the client device 125.
[0103] The encrypted payload may be encrypted using a private key of the client device 125. The encrypted payload may include at least one identifier. In some cases, a voice memo may be included in the encrypted payload.
[0104] The second client device 130 may access the public key 127 of the first client device 125 in association with the telephone number or other identification data of the client device 125. For example, the public key 127 of the first client device 125 may be received with the message 505, stored locally in the memory of the client device 130 after a previous communication between the two devices, or available via another memory or database, such as an Internet-linked database. Additionally, the second client device 130 may access an expected identifier associated with the client device 125. For example, the same database may be used to store at least one client device 125, the associated public key, and the expected identifier associated with that client device 125.
[0105] Message 505 may be received by client device 130. Client device 130 may obtain public key 127 associated with client device 125 and use public key 127 to decrypt the encrypted payload of message 505.
[0106] Failure to decrypt the payload using public key 127 may indicate potential fraudulent activity. As a result, communication connections that appear to be coming from client device 125 may be rejected. In some embodiments, feedback may be provided to a user of client device 130, a service provider, or a third party, such as a law enforcement agency.
[0107] In some embodiments, the voice memo of the message 505 may be presented to a user of the client device 130 via a user interface, for example, by playing the voice memo audio data when the user of the client device 130 answers the incoming call. The user interface may be part of an application on the client device 130. In some embodiments, the voice memo of the message 505 may be presented to the user only upon a successful first authentication of the identifier of the encrypted payload.
[0108] The client device 130 may then receive feedback from the user of the first client device 125 if it recognizes or does not recognize the voice note from that user. For example, the feedback may be received via a user interface. This verification of the recognition of the voice note from the first client by the second client provides an additional layer of authentication. In some embodiments, the client device 130 may receive instructions from the user via a user interface indicating the continuation or denial of the communication connection between the client devices 125 and 130.
[0109] Based on feedback regarding the voice memo recognition received from the user, the client device 130 may selectively establish a connection between the client device 125 and the client device 130. In some embodiments, based on the feedback, the client device 130 may store the public key 127 of the client device 125 in local memory or add the client device 125 to a list of recognized and / or trusted devices.
[0110] In some embodiments, ongoing communication between recognized and / or trusted devices may occur in a streamlined authentication manner, e.g., only a first level of authentication may be required.
[0111] 6 is a logic flow 600 illustrating a method for selectively connecting a first client device and a second client device for communication based on the result of authentication. In particular, FIG. 6 illustrates an example in which the first and second client devices are both mobile phone devices and the communication is a call data stream. The embodiments are not limited herein.
[0112] At step 610, an incoming call data stream is received from a first mobile phone device. The incoming call stream comprises a telephone number associated with a second mobile phone device and an encrypted payload. The encrypted payload is encrypted using a private key associated with the first mobile device. In an embodiment, the encrypted payload may be added to the incoming call data stream. The payload data may comprise information about the first client and / or the client device.
[0113] At step 620, the incoming call data stream may be authenticated in response to a match between the encrypted payload information and the stored information associated with the first mobile phone device. In various embodiments, a match between the encrypted payload information and the stored information associated with the first mobile phone device may be determined by successful decryption of the payload. For example, the payload may be encrypted with a public key diversified using a counter. In this example, successful decryption of the payload using a public key diversified by an independently maintained counter may indicate proper authentication.
[0114] At step 630, the system may establish a call connection between the first mobile phone device and the second mobile phone device in response to the step of authentication.
[0115] In some embodiments, if the system is unable to properly authenticate the call, it may prompt a refusal of the call or other method of rejecting the call. In some embodiments, the first client device and / or the second client device may be notified of the failed attempt and provided with details of the attempt, such as the phone numbers of the caller and / or recipient. In some embodiments, the recipient may be prompted, via a user interface of the second client device, to add the phone number of the calling first client device to a list of blocked numbers. In various embodiments, the system may provide information related to the unauthenticated call to a service provider or a third party, e.g., a law enforcement agency.
[0116] In some embodiments, successful authentication of the system call may prompt the establishment of a connection between the first mobile device and the second mobile device. In various embodiments, information about the first mobile device may be stored in and / or by the second mobile device that identifies the first mobile device as having been engaged via the authenticated call. Such a registration may be referenced in subsequent communications between the two client devices to efficiently check the likely authenticity of the subsequent communication based on the authentication of the previous communication.
[0117] In some embodiments, a call connection may be made between the first and second mobile phone devices in response to the step of authentication, and the results of the step of authentication may be indicated to the recipient, for example, via a user interface of the second client device. For example, if authentication fails, the call may be made, but a warning may be communicated to the recipient via the mobile phone user interface that the call is not authorized. In a further example, the call may be made in response to successful authentication, and verification that the call is authorized may be communicated to the recipient via the mobile phone user interface.
[0118]
[0023] Figure 7 is a logic flow 700 illustrating a method for selectively connecting a first client device and a second client device for communication based on the results of multi-factor authentication. In particular, Figure 7 illustrates an example in which the first and second client devices are both mobile phone devices and the communication is a call data stream. Embodiments are not so limited.
[0119] Step 710 discloses obtaining the public key of the incoming call number from a data storage device. In some embodiments, the data storage device may be local to the second client device. In other embodiments, the data storage device may be, for example, an external memory as discussed above with reference to the authentication router 120 or the database 330.
[0120] Step 720 discloses decrypting the encrypted payload using the public key of the incoming call number obtained in step 710 to generate a decrypted payload comprising the identifier. The encrypted payload may be received along with the incoming call number, such as in message 140. The identifier may be associated with the sending client and / or the first client device.
[0121] Step 730 discloses comparing the identifier of the decrypted payload to an expected identifier associated with the incoming call number to determine a first factor authentication match. In various embodiments, the expected identifier associated with the incoming call number may be retrieved from memory, which may be the same data storage device referenced in step 710 or a separate data storage device.
[0122] Step 740 discloses comparing attributes of the voice message to attributes of an expected voice message to identify a second factor authentication match. The voice message may be received in association with or as part of an encrypted payload.
[0123] Step 750 discloses selectively establishing a connection between the first mobile phone device and the second mobile phone device in response to a match of the first factor authentication and the second factor authentication.
[0124] In some embodiments, failure of the system to properly authenticate the call via a first factor and / or second factor authentication match may prompt refusal of the call, dropping the call, or other methods of dismissing the call. In some embodiments, the first client device and / or the second client device may be notified of the failed attempt and provided with details of the attempt, such as the phone numbers of the caller and / or recipient. In some embodiments, the recipient may be prompted, via a user interface of the second client device, to add the phone number of the calling first client device to a list of blocked numbers. In various embodiments, the system may provide information related to the unauthenticated call to the service provider or a third party, e.g., law enforcement. Such information may specify which element of authentication failed and include further details of the attempt.
[0125] In some embodiments, the system may facilitate the establishment of a connection between the first and second mobile devices upon successful authentication of the call via a match of first and / or second factor authentication. In various embodiments, information about the first mobile device may be stored in and / or by the second mobile device to identify the first mobile device as having engaged in a multi-factor authenticated call. Such a registration may be referenced in subsequent communications between the two client devices to efficiently check the potential authenticity of the subsequent communication based on the multi-factor authentication of the previous communication.
[0126] In some embodiments, in response to a match of the first factor and / or second factor authentication, a call connection may be made between the first and second mobile phone devices, and the result of the authentication step may be indicated to the recipient, for example, via a user interface of the second client device. For example, if the multi-factor authentication fails, the call may be made, but a warning may be communicated to the recipient via the mobile phone user interface that the call is not authorized or only partially authorized. In a further example, in response to a successful multi-factor authentication, the call may be made, and verification that the call was authorized via multi-factor authentication may be communicated to the recipient via the mobile phone user interface.
[0127] Various embodiments may be implemented using hardware elements, software elements, or a combination of both. Examples of hardware elements may include a processor, a microprocessor, a circuit, a circuit element (e.g., a transistor, a resistor, a capacitor, an inductor, etc.), an integrated circuit, an application specific integrated circuit (ASIC), a programmable logic device (PLD), a digital signal processor (DSP), a field programmable gate array (FPGA), a logic gate, a register, a semiconductor device, a chip, a microchip, a chipset, etc. Examples of software may include a software component, a program, an application, a computer program, an application program, a system program, a machine program, an operating system software, a middleware, a firmware, a software module, a routine, a subroutine, a function, a method, a procedure, a software interface, an application program interface (API), an instruction set, a computing code, a computer code, a code segment, a computer code segment, a word, a value, a symbol, or any combination thereof. The decision whether an embodiment is implemented using hardware and / or software elements may vary according to any number of factors, such as desired computational speed, power levels, thermal tolerance, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints.
[0128] One or more aspects of at least one embodiment may be implemented by representative instructions stored on a machine-readable medium that represent various logic in a processor, and when read by a machine, the machine manufactures logic that performs the techniques described herein. Such representations, known as "IP cores," are stored on tangible machine-readable media and provided to various users or manufacturing facilities for loading into manufacturing machines that actually create the logic or processors. Some embodiments may be implemented using a machine-readable medium or article that may store, for example, instructions or sets of instructions that, when executed by the machine, cause the machine to perform methods and / or operations in accordance with the embodiments. Such machines may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, etc., and may be implemented using any suitable combination of hardware and / or software. A machine-readable medium or article may include, for example, any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and / or storage unit, such as memory, removable or non-removable media, erasable or non-erasable media, writable or rewritable media, digital or analog media, hard disk, floppy disk, compact disk read only memory (CD-ROM), compact disk recordable (CD-R), compact disk rewriteable (CD-RW), optical disk, magnetic media, magneto-optical media, removable memory cards or disks, various digital versatile disks (DVDs), tapes, cassettes, etc. The instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, etc., and may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled and / or interpreted programming language.
Claims
1. 1. A computer-implemented method comprising: Detecting, by a first computing device, an initiation of establishing a call communication connection with a second computing device; detecting a contactless card via an interface, the first computing device; the first computing device establishing a communication connection with the contactless card via the interface; receiving, by the first computing device, an encrypted payload from the contactless card, the encrypted payload including an identifier and a message authentication code (MAC) cryptogram, the MAC cryptogram being formed from a message and a dynamic key generated using a counter value that is incremented in response to reading the contactless card; the first computing device transmitting a call data stream to a server of a service provider system to establish a call communication connection, the call data stream including the encrypted payload and a call number; receiving, by the first computing device, an indication of establishment of a call communication connection with the second computing device based on successful authentication performed by a server utilizing an encrypted payload including an identifier; the first computing device establishing a call communication connection with the second computing device; 23. A computer-implemented method comprising:
2. The computer-implemented method of claim 1 , wherein the identifier comprises one or more of password information, an answer to a pre-stored query, biometric information, an image, or a combination thereof.
3. The computer-implemented method of claim 1 , wherein the identifier comprises voice data, the voice data being unique to a prospective user of the first computing device.
4. The computer-implemented method of claim 1 , wherein the interface is a Near Field Communication (NFC) interface, and the establishment of a communication connection via the NFC interface is performed according to an NFC protocol.
5. 5. The computer-implemented method of claim 4, comprising sending an NFC read over the communication connection to request the encrypted payload and to generate a Message Authentication Code (MAC) cryptogram for the encrypted payload.
6. The computer-implemented method of claim 1 , wherein the call number is associated with the second computing device for establishing a call communication connection with the second computing device.
7. 1. A computing device comprising: The computing device comprises: An interface; a processor coupled to the interface; a memory having program code stored in the memory; the memory is coupled to the interface and to the processor; The program code, when executed by the processor, The processor, Detecting an initiation to establish a communication connection with a second computing device; detecting a contactless card via the interface; establishing a communication connection with the contactless card via the interface; receiving an encrypted payload from the contactless card, the encrypted payload including an identifier and a message authentication code (MAC) cryptogram, the MAC cryptogram being formed from a message and a dynamic key generated using a counter value that is incremented in response to a swipe of the contactless card; transmitting a call data stream to a server of a service provider system to establish a call communication connection, the call data stream including the encrypted payload and a call number; receiving an indication of establishment of a call communication connection with the second computing device based on successful authentication performed by the server using the encrypted payload including the identifier; establishing a call communication connection with the second computing device; A computing device that is operable.
8. The computing device of claim 7 , wherein the identifier comprises one or more of password information, an answer to a pre-stored query, biometric information, an image, or a combination thereof.
9. The computing device of claim 7 , wherein the identifier comprises voice data, the voice data being unique to a prospective user of the computing device.
10. The computing device of claim 7 , wherein the interface is a Near Field Communication (NFC) interface, and establishment of a communication connection via the NFC interface is in accordance with an NFC protocol.
11. 11. The computing device of claim 10, wherein the processor is further configured to send an NFC read over the communication connection to request an encrypted payload and generate a message authentication code (MAC) cryptogram for the encrypted payload.
12. The computing device of claim 7 , wherein the call number is associated with the second computing device for establishing a call communication connection with the second computing device.
13. A non-transitory computer readable medium storing instructions, comprising: one or more processors of a first computing device read the instructions from the non-transitory computer-readable medium, load them into an internal memory of one or more processors of the first computing device, and execute the loaded instructions; The instructions, when executed, cause one or more processors of the first computing device to: Detecting an initiation for establishing a call communication connection with a second computing device; detecting a contactless card via an interface; establishing a communication connection with a contactless card via said interface; receiving an encrypted payload from the contactless card, the encrypted payload including an identifier and a message authentication code (MAC) cryptogram, the MAC cryptogram being formed from a message and a dynamic key generated using a counter value that is incremented in response to reading the contactless card; transmitting a call data stream to a server of a service provider system to establish a call communication connection, the call data stream including the encrypted payload and a call number; receiving an indication of establishment of a call communication connection with the second computing device based on successful authentication performed by the server using the encrypted payload including the identifier; establishing a call communication connection with the second computing device; A non-transitory computer-readable medium configured to cause
14. 14. The non-transitory computer-readable medium of claim 13, wherein the identifier comprises one or more of password information, an answer to a pre-stored query, biometric information, an image, or a combination thereof, and the identifier comprises voice data, the voice data being unique to an expected user of the first computing device.
15. 14. The non-transitory computer-readable medium of claim 13, wherein the interface is a Near Field Communication (NFC) interface, and establishment of a communication connection via the NFC interface is in accordance with an NFC protocol.
16. 16. The non-transitory computer-readable medium of claim 15, wherein the one or more processors send an NFC read over the communication connection to request the encrypted payload and generate a message authentication code (MAC) ciphertext for the encrypted payload.
17. 14. The non-transitory computer-readable medium of claim 13, wherein the call number is associated with the second computing device to establish a call communication connection with the second computing device.
Citation Information
Patent Citations
Packet transmission apparatus
JP2007150524A
System and method for initiating a call
JP2012500518A
Network nodes using network-attached stateless security offload devices
JP2015511434A
Providing Encrypted Account Credentials from a First Device to a Second Device
JP2016504693A
Mobile Security Offloader
JP2019511149A