The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
An individual has never had more choices for presenting his or her identity in an arm's length interaction. That is, in a social media interaction, when traveling, or in a consumer transaction, the individual may confirm their identity using a variety of instruments such as a photo identification card, a financial institution card, a cell phone, a tablet, a smartwatch, or other personal device. In many cases, the individual may want each instrument to have its own separate identity but for each to ultimately be bound to the individual. A driver's license has this identity bound by the state issuing the license from a secure facility, but creating this binding on a generic consumer device after the device is in public use is problematic.
In an embodiment, a process for binding a consumer identity to a device involves a separate device enrollment and device authentication using an out-of-band challenge process that allows the device to be bound to an identity of the owner/user. In the case of a financial instrument, a token representing the actual financial instrument may be used as the identification reference. An issuer and the token service provider are assumed to have a trusted relationship, at least at the level of shared cryptographic keys.
The figures depict a preferred embodiment for purposes of illustration only. One skilled in the art may readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein.
Electronic devices capable of directed actions on behalf of a user are proliferating. Purchases may be made not just from computers/laptops or cell phones, but from watches, smart speakers, automobiles, refrigerators, and more. In the case of some devices, keys installed at the time of manufacture or sale allow specific trust relationships to be established with specific endpoints, such as a cell phone service provider. However, establishing trust with other third parties that are not provisioned in a device prior to delivery to a user can be more difficult. As a specific example, how can a credit card issuer bind a financial instrument to someone's refrigerator so that the issuer has an assurance that the appliance is acting on behalf of the owner of the financial instrument. In other words, there is a desire to validate that the financial instrument owner is tied to the device in question.
The system and methods described here allow such a binding to occur for various use cases and require only minimal prerequisites such as a relationship between the issuer and the user/card holder as well as a trust relationship between the issuer and a token service provider. A wallet account and associated wallet application may be participants in the process. An issuer application on the user's device may also be a participant in some use cases.
For the following discussion, a smart phone binding to a personal account of the user will be used for the sake of simplicity and clarity. Turning to
The connection between the token service provider 16 and the issuer 18 may be secure and/or involve shared keys between the two entities. Either asymmetric or symmetric keys may be used with slightly different processes. A user 20 may be in communication with the user device 12. In several use cases, the participation of the user 20 may involve selection of a contact method as well as relaying a challenge response. The various communication channels may include public and private networks. The steps described below reduce the risk of eavesdropping and man-in-the-middle attacks while allowing device binding with minimal relationship assumptions.
The user device 12 may have installed and available a wallet application 22 that corresponds with the wallet service 14. The wallet application may store credentials for the user such as account data, address information, etc. The wallet application may have access to or separately contain cryptographic tools 26. While in communication with the wallet service 14, the wallet application 22 may have access to purchase histories, special promotions, and account maintenance features. An issuer application 24 may be in communication with the issuer 18. The issuer application 24 may allow the user 20 to view accounts, transfer funds, pay bills, etc., via its connection with the issuer 18. Cryptographic tools 26 may allow the user device 12 to perform basic cryptographic functions including key generation, signing, signature verification, and encryption/decryption. A user interface 28 may include a display and keyboard or touchscreen that allows presentation of data to the user 20 and allows the user to input data and make selections.
Enroll Device
In step 100 the wallet app 22 generates key pairs: one for authentication key (K_DID) and one for transport key K_TR (optional). K_DID may be used for device authentication. K_TR may be needed if ever there is a need for the token service 16 to send secure payload to the device 12 so wallet service 14 can't decrypt it. The keys are passed to the wallet service 14 at step 102 along with a device identifier (ID) of the device 12. In this discussion, key.PK is a public key, and key.SK is a secret key of an asymmetric (PKI) key pair.
In a prior art process similar to this, the wallet service 14 creates certificates for the two keys (K_DID.PK and K_TR.PK). In this case, it's not needed. Instead, the wallet app 22 creates a certificate: sign K_TR.PK with K_DID.SK. K_DID does not need a certificate. The wallet service 14 sends a request to enroll the device 12 to the token service 16 at step 103.
In step 104, the token service 16 links the device_id to K_DID.PK (and optionally K_TR.PK). If K_TR.PK comes in the request, it shall come in the form of the certificate. The token service 16 validates the signature using K_DID.PK. K_DID is not being validated at this point. A response is sent back to the wallet service 14 at step 105.
At step 106, the wallet service 14 encrypts a payload including user PAN data with the token service public key. The token service 16 creates the requested token at step 107 and forwards the token to the issuer 18 at step 108 as well as sending the token ID (TokenID) to the wallet service 14 at step 109 which then forwards that to the wallet app 22 at step 110.
Binding Request
At steps 111-113, device binding is initiated with a device signed binding request (device_id, TokenID, nonce, client_reference, timestamp) with K_DID.PK. At step 114, the token service 16 validates the signature using K_DID.PK and forwards the request to the issuer 18.
Challenge
The issuer 18 initiates a process a step up authentication that requires the user provide additional proof as being a party to the current process. In an embodiment, the issuer may request a channel by which the issuer can send a challenge. In some cases, the choices may be a mobile device number to which a text message can be sent or an email account to which an email can be sent. The step up options may be masked so that the user would know what is being referred to but the intermediary handlers will not recognize the choices. For example, a message may include “send to xxx-xxx-0785” or “email xxx38@gmail.com.” After relaying the message through steps 115, 116, and 117, at step 118 the user may be presented with the choices at which to receive the challenge. At step 119, the user may make a selection.
At step 121 the wallet app 22 signs a payload with K_DID.SK. The payload may include the device_id, nonce, client_reference, timestamp, etc. At step 122 an application program interface may allow submission of the payload to the token service 16. The token service 16 may validate the signature using K_DID.PK and generate a one-time passcode “otpValue” at step 123. At step 124 the otpValue may be shared with the issuer 18 so that the issuer can contact the user 20 via the selected contact mechanism and pass the otpValue to the user at step 125. At step 126 the user 20 enters the otpValue into the wallet app 22. In another embodiment, the wallet app 22 may get the value directly from the SMS text message.
Authentication
At step 127, the device gets the otpValue, creates payload consisting of the otpValue and a portion of K_DID.PK, and encrypts the result with the public key of the token service 16 and signs it with K_DID. The encrypted, signed payload is sent to the wallet service 14 at step 128 and is forwarded to the token service 16 at step 129.
At step 130, the token service 16 validates the signature using K_DID.PK, decrypts the payload using the token service secret key (SK), and then validates that the payload contains a portion of the same key, K_DID.PK, used for signature validation. This ensures the same entity that encrypted the payload signed it, so the encrypted payload can't be stolen, signed and submitted for verification by an adversary. If the signature is correct for a given device and the otpValue matches the one that was generated for a given client, the challenge is successful and the binding is complete. Exemplary computer instructions for performing step 130 is provided below:
Step 231 involves the wallet service 14 validating the wallet app signature, which is a gating activity to sending the rest of the payload to the token service. Step 232 has the token service 16 validate the device signature and at step 233 decrypts the payload with the issuer key. The issuer key is not in the possession of the wallet service 14. When the payload decrypts into a recognized format, at step 234, the token service 16 checks the authorization code for correctness of form and format to complete the authentication process. The actual value of the authentication code may not need to be validated because the other signature and decryption steps create enough trust that the user may be bound to the device.
As above, steps 300-320 correspond to steps 100-120 of the process illustrated in
The wallet app 22 may show the otpValue to the user via the user interface 28 at step 326. The user may then call or contact the issuer 18 via a website at step 327. At step 328 the issuer customer service operator (human or robot) may validate the user with previously provisioned security questions. Once the user identity is validated, the user may present the optValue which is confirmed at step 328. An assumption is that a hacker isn't present because the hacker would not have access to the device 12, nor would a hacker be able to pass the security challenge. Since the otpValue is a one-time code, this process is not susceptible to a replay attack. Once the optValue is confirmed at step 328, the issuer 18 may inform the token service 16 of the successful authentication at step 329 so that the binding may be completed.
A method 400 of enhanced consumer device validation is illustrated in
At least one technical effect of the process described above is the layered approach to signatures and encryption to prevent man-in-the-middle attacks and eavesdropping while allowing participants to separately use established trust relationships to build to separate conclusions of the device identity and its control by the user in question which allows the binding to occur. In the various use cases, the out-of-band contact with the user may be presented in different forms with the validation of the challenge occurring in different systems. This creates a significant level of flexibility relative to system availability and involvement for addressing the issue of binding devices.
A system and method in accordance with the current disclosure benefits both users and issuers. Users may bring a virtually unlimited number of unknown devices into use with a minimum level of interaction with other parties. The interaction a user is required to perform is with a party already known and trusted. The above system elements and methods allow the user to establish separate bindings, with separate tokens, for each device he or she owns even though each device (and token) resolve to the same financial instrument, e.g., a credit card. This benefits not only the user 20 but also the issuer 18 by creating separate logical and financial identities for each device a user commissions, reducing the risk of fraud and improving response effectiveness should one of the device's tokens be compromised.
The figures depict preferred embodiments for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein.
Upon reading this disclosure, those of skill in the art will appreciate still additional alternative structural and functional designs for the systems and methods described herein through the disclosed principles herein. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the disclosed embodiments are not limited to the precise construction and components disclosed herein. Various modifications, changes and variations, which will be apparent to those skilled in the art, may be made in the arrangement, operation and details of the systems and methods disclosed herein without departing from the spirit and scope defined in any appended claims.
This application claimed the benefit under 35 U.S.C. § 119(e) of U.S. provisional patent application No. 62/824,796 filed on Mar. 27, 2019.
Number | Name | Date | Kind |
---|---|---|---|
6327578 | Linehan | Dec 2001 | B1 |
9860067 | Piqueras Jover | Jan 2018 | B2 |
10003459 | Suzuki | Jun 2018 | B2 |
10097546 | Hao | Oct 2018 | B2 |
10878407 | Spector | Dec 2020 | B1 |
10909539 | Fisher | Feb 2021 | B2 |
11062302 | Ho | Jul 2021 | B1 |
11593801 | Dietrich | Feb 2023 | B1 |
20060259445 | Chatte | Nov 2006 | A1 |
20100114776 | Weller | May 2010 | A1 |
20130024307 | Fuerstenberg | Jan 2013 | A1 |
20140068252 | Maruti | Mar 2014 | A1 |
20140344153 | Raj | Nov 2014 | A1 |
20140351589 | Chenna | Nov 2014 | A1 |
20150046338 | Laxminarayanan | Feb 2015 | A1 |
20150220917 | Aabye | Aug 2015 | A1 |
20150278799 | Palanisamy | Oct 2015 | A1 |
20150312038 | Palanisamy | Oct 2015 | A1 |
20160092696 | Guglani | Mar 2016 | A1 |
20160127179 | Frankel | May 2016 | A1 |
20160171479 | Prakash | Jun 2016 | A1 |
20160335626 | Ko | Nov 2016 | A1 |
20170032362 | Lahkar | Feb 2017 | A1 |
20170163629 | Law | Jun 2017 | A1 |
20170352026 | Musil | Dec 2017 | A1 |
20180247312 | Loganathan | Aug 2018 | A1 |
20180254898 | Sprague | Sep 2018 | A1 |
20180276657 | Cho | Sep 2018 | A1 |
20180293579 | Tetali | Oct 2018 | A1 |
20190205867 | Radu | Jul 2019 | A1 |
20190251552 | Kurian | Aug 2019 | A1 |
20190311354 | Kulkarni | Oct 2019 | A1 |
20200012798 | Shankar | Jan 2020 | A1 |
20200013051 | Kadiwala | Jan 2020 | A1 |
20200027116 | Royyuru | Jan 2020 | A1 |
20200028679 | Chumbley | Jan 2020 | A1 |
20200134626 | Abouelenin | Apr 2020 | A1 |
20200154270 | Byington | May 2020 | A1 |
20200220726 | Lougheed, III | Jul 2020 | A1 |
20200242212 | Gibb | Jul 2020 | A1 |
20200267153 | Kang | Aug 2020 | A1 |
20200311246 | Sharma | Oct 2020 | A1 |
20210192060 | Shankar | Jun 2021 | A1 |
20210192519 | McHugh | Jun 2021 | A1 |
20210279699 | Royyuru | Sep 2021 | A1 |
20210320922 | Furhmann | Oct 2021 | A1 |
Number | Date | Country |
---|---|---|
105659558 | Jun 2016 | CN |
Number | Date | Country | |
---|---|---|---|
20200311246 A1 | Oct 2020 | US |
Number | Date | Country | |
---|---|---|---|
62824796 | Mar 2019 | US |