Systems and methods for enhanced security to log in to a mobile application
Patent Information
- Application Number
- HK62026126462
- Authority / Receiving Office
- HK · HK
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-10
- Filing Date
- 2026-07-21
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2044-07-30
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
(19) State Intellectual Property Office (12) Invention Patent Application (10) Application Publication Number (43) Application Publication Date (21) Application Number 202480045047.1 (22) Application Date 2024.07.31 (30) Priority Data 18 / 232,534 2023.08.10 US (85) PCT International Application Entering National Phase Date 2025.12.31 (86) PCT International Application Application Data PCT / US2024 / 040326 2024.07.31 (87) PCT International Application Publication Data WO2025 / 034484 EN 2025.02.13 (71) Applicant: Capital One Services LLC Address: USA (72) Inventor: Daniel Pikjayant Pratipatico Hart (74) Patent Agency: Beijing Pinyuan Patent Agency Co., Ltd. 11332 Patent Attorneys Tan Yingying and Hu Bin (51) Int.Cl. G06F 21 / 35 (2006.01) G06F 21 / 43 (2006.01) G06F 21 / 60 (2006.01) G06F 21 / 62 (2006.01) H04L 9 / 40 (2006.01) H04W 12 / 106 (2006.01) H04W 12 / 108 (2006.01) H04W 12 / 47 (2006.01) H04W 12 / 72 (2006.01) G06Q 20 / 32 (2006.01) G06Q 20 / 34 (2006.01) G06Q 20 / 40 (2006.01) (54) Invention Title: System and Method for Enhancing Security of Logging into Mobile Applications (57) Abstract: A system and method for enhancing the security of logging into a mobile application are provided. A short-range communication antenna of a mobile device can receive ciphertext from a contactless card, and a processor of the mobile device can verify the ciphertext to identify a customer account associated with the contactless card and verify that the mobile device's phone number is associated with the customer account. Then, a user interface device of the mobile device can receive enhanced security input data, and the processor of the mobile device can verify that the enhanced security input data matches enhanced security record data associated with the customer account. Once the ciphertext, the mobile device's phone number, and the enhanced security input data have been verified, the system and method disclosed herein can log into a mobile application running on the mobile device to access the customer account.Claims (3 pages), Description (26 pages), Drawings (15 pages), CN 121532764 A, 2026.02.13, CN 1 21 53 27 64 A. 1. A method comprising: receiving ciphertext from a contactless card via a short-range communication antenna of a mobile device; verifying the ciphertext via a processor of the mobile device to identify a customer account associated with the contactless card; verifying, via the processor of the mobile device, that a telephone number of the mobile device is associated with the customer account; receiving enhanced security input data via a user interface device of the mobile device; verifying, via the processor of the mobile device, that the enhanced security input data matches enhanced security record data associated with the customer account; and, when the ciphertext, the telephone number of the mobile device, and the enhanced security input data have been verified, logging into a mobile application running on the mobile device to access the customer account. 2. The method of claim 1, wherein the enhanced security input data comprises an alphanumeric password. 3. The method of claim 1, wherein the user interface device includes a camera of the mobile device, and wherein the enhanced security input data includes a selfie of the user captured by the camera during a predetermined time period during which the short-range communication antenna receives the ciphertext from the contactless card. 4. The method of claim 1, wherein the enhanced security input data includes biometric input data. 5. The method of claim 1, further comprising: displaying a request for the enhanced security input data on a display device of the mobile device in response to verifying the ciphertext and a telephone number of the mobile device. 6. The method of claim 1, further comprising: successfully decrypting the ciphertext to verify the ciphertext and identify the customer account. 7. The method of claim 6, further comprising: decrypting protected data in the ciphertext; comparing the protected data with stored record data associated with the contactless card; and identifying the customer account based on the match between the protected data and the stored record data. 8. The method of claim 1, further comprising: transmitting the ciphertext and the enhanced security input data from the mobile device to a server; and receiving at the mobile device one or more indications that the ciphertext, the mobile device's telephone number, and the enhanced security input data have been verified. 9. The method of claim 8, further comprising: transmitting one or more messages from the mobile device to the server, wherein the one or more messages include the ciphertext and the enhanced security input data.10. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform the following operations: receiving ciphertext from a contactless card via a short-range communication antenna of a mobile device; verifying the ciphertext to identify a customer account associated with the contactless card; verifying that a telephone number of the mobile device is associated with the customer account; and receiving enhanced security input data via a user interface device of the mobile device; verifying that the enhanced security input data matches enhanced security record data associated with the customer account; and, when the ciphertext, the telephone number of the mobile device, and the enhanced security input data have been verified, logging into a mobile application running on the mobile device to access the customer account. 11. The non-transitory computer-readable medium of claim 10, wherein the enhanced security input data comprises an alphanumeric password. 12. The non-transitory computer-readable medium of claim 10, wherein the user interface device includes a camera, and wherein the enhanced security input data includes a selfie of a user captured by the camera during a predetermined time period during which the short-range communication antenna receives the ciphertext from the contactless card. 13. The non-transitory computer-readable medium of claim 10, wherein the enhanced security input data includes biometric input data. 14. The non-transitory computer-readable medium of claim 10, wherein, in response to verifying the ciphertext and the telephone number of the mobile device, the instruction further causes the processor to display a request for the enhanced security input data on a display device of the mobile device. 15. The non-transitory computer-readable medium of claim 10, wherein the instruction further causes the processor to successfully decrypt the ciphertext to verify the ciphertext and identify the customer account. 16. The non-transitory computer-readable medium of claim 15, wherein the instructions cause the processor to further perform the following operations: decrypt protected data in the ciphertext; compare the protected data with stored record data associated with the contactless card; and identify the customer account based on the match between the protected data and the stored record data. 17. The non-transitory computer-readable medium of claim 15, wherein the instructions cause the processor to further perform the following operations: transmit the ciphertext and the enhanced security input data to a server; and receive the ciphertext, the mobile device's telephone number, and one or more indications that the enhanced security input data has been verified.18. The non-transitory computer-readable medium of claim 17, wherein the instructions further cause the processor to transmit one or more messages to the server, and wherein the one or more messages include the ciphertext and the enhanced security input data. 19. A mobile device comprising: a short-range communication antenna; a user interface device; a processor; and a memory storing instructions that, when executed by the processor, cause the processor to perform the following operations: receiving ciphertext from a contactless card via the short-range communication antenna; verifying the ciphertext to identify a customer account associated with the contactless card; verifying that a telephone number of the mobile device is associated with the customer account; and receiving enhanced security input data via the user interface device; verifying that the enhanced security input data matches enhanced security record data associated with the customer account; and, when the ciphertext, the telephone number of the mobile device, and the enhanced security input data have been verified, logging into a mobile application running on the mobile device to access the customer account. 20. The mobile device of claim 19, further comprising: a display device, wherein, in response to verifying the ciphertext and the telephone number of the mobile device, the instruction further causes the processor to display a request for the enhanced security input data on the display device. Claims 3 / 3 Page 4 CN 121532764 A Systems and methods for enhancing the security of logging into mobile applications Cross-Reference to Related Applications
[0001] This application claims priority to U.S. Patent Application Serial No. 18 / 232,534, filed August 10, 2023, the disclosure of which is incorporated herein by reference in its entirety. Background Art
[0002] Systems and methods for securely logging into mobile applications are known in the art. However, bad actors are still seeking ways to circumvent known security measures.
[0003] In some embodiments, a method may include: receiving ciphertext from a contactless card via a short-range communication antenna of a mobile device; verifying the ciphertext via a processor of the mobile device to identify a customer account associated with the contactless card; verifying that a phone number of the mobile device is associated with the customer account via the processor of the mobile device; receiving enhanced security input data via a user interface device of a mobile terminal; verifying that the enhanced security input data matches enhanced security record data associated with the customer account via the processor of the mobile device; and logging into a mobile application running on the mobile device to access the customer account when the ciphertext, the mobile device's phone number, and the enhanced security input data have been verified.
[0004] In some embodiments, the enhanced security input data may include an alphanumeric password.
[0005] In some embodiments, the user interface device may include a camera of the mobile device, and the enhanced security input data may include a selfie of the user captured by the camera during a predetermined period of time during which the encrypted data from the contactless card is received by a short-range communication antenna.
[0006] In some embodiments, the enhanced security input data may include biometric input data.
[0007] In some embodiments, in response to verifying the encrypted data and the mobile device's phone number, the method may include displaying a request for enhanced security input data on a display device of the mobile device.
[0008] In some embodiments, the method may include successfully decrypting the encrypted data to verify the encrypted data and identify a customer account.
[0009] In some embodiments, the method may include decrypting protected data in the encrypted data, comparing the protected data with stored record data associated with the contactless card, and identifying a customer account based on the match between the protected data and the stored record data.
[0010] In some embodiments, the method may include transmitting the encrypted data and the enhanced security input data from the mobile device to a server, and receiving at the mobile device one or more indications indicating that the encrypted data and the mobile device's phone number and the enhanced security input data have been verified.
[0011] In some embodiments, the method may include transmitting one or more messages from a mobile device to a server, and the one or more messages may include ciphertext and enhanced security input data.
[0012] In some embodiments, a non-transitory computer-readable medium may include instructions that, when executed by a processor, cause the processor to perform the following operations: receive ciphertext from a contactless card via a short-range communication antenna of the mobile device; verify the ciphertext to identify a customer account associated with the contactless card; verify that a telephone number of the mobile device is associated with the customer account; receive enhanced security input data via a user interface device of the mobile device; verify that the enhanced security input data matches enhanced security record data associated with the customer account; and, when the ciphertext, the mobile device telephone number, and the enhanced security input data have been verified, log in to a mobile application running on the mobile device to access the customer account.
[0013] In some embodiments, the enhanced security input data may include an alphanumeric password.
[0014] In some embodiments, the user interface device may include a camera, and the enhanced security input data may include a selfie of the user captured by the camera during a predetermined period of time during which the ciphertext from the contactless card is received by the short-range communication antenna.
[0015] In some embodiments, enhanced secure input data may include biometric input data.
[0016] In some embodiments, in response to verifying ciphertext and the mobile device's phone number, instructions may cause the processor to display a request for enhanced secure input data on the mobile device's display device.
[0017] In some embodiments, the instructions may cause the processor to successfully decrypt ciphertext to verify the ciphertext and identify a customer account.
[0018] In some embodiments, the instructions may cause the processor to perform the following operations: decrypt protected data in the ciphertext, compare the protected data with stored record data associated with a contactless card, and identify a customer account based on the match between the protected data and the stored record data.
[0019] In some embodiments, the instructions may cause the processor to perform the following operations: transmit ciphertext and enhanced security input data to a server, and receive one or more indications indicating that the ciphertext, the mobile device's phone number, and the enhanced security input data have been verified.
[0020] In some embodiments, the instructions may cause the processor to transmit one or more messages to a server, and the one or more messages may include ciphertext and enhanced security input data.
[0021] In some embodiments, the mobile device may include a short-range communication antenna, a user interface device, a processor, and a memory storing instructions that, when executed by the processor, cause the processor to perform the following operations: receive ciphertext from a contactless card via the short-range communication antenna; verify the ciphertext to identify a customer account associated with the contactless card; verify that the mobile device's phone number is associated with the customer account; receive enhanced security input data via the user interface device; verify that the enhanced security input data matches enhanced security record data associated with the customer account; and, when the ciphertext, the mobile device's phone number, and the enhanced security input data have been verified, log in to a mobile application running on the mobile device to access the customer account.
[0022] In some embodiments, the mobile device may include a display device, and in response to verifying the ciphertext and the mobile device's phone number, instructions may cause the processor to display a request for enhanced security input data on the display device.
[0023] Other technical features will be apparent to those skilled in the art from the following figures, description, and claims. Brief Description of the Drawings
[0024] FIG1 illustrates an example of a system according to one embodiment.
[0025] FIG2 illustrates an example of a system according to one embodiment.
[0026] FIG3 illustrates an example of a contactless card according to one embodiment.
[0027] FIG4 shows an example of a transaction card component according to one embodiment.
[0028] FIG5 shows an example of a sequence flow according to one embodiment.
[0029] FIG6 shows an example of a data structure according to one embodiment.
[0030] FIG7 shows an example of a key system according to one embodiment.
[0031] FIG8 shows an example of a method for generating ciphertext according to one embodiment.
[0032] FIG9 shows an example of a key distribution method according to one embodiment.Specification 2 / 26 pages 6 CN 121532764 A
[0033] FIG10 illustrates an example of a card activation method according to one embodiment.
[0034] FIG11 illustrates an example of a mobile device according to one embodiment.
[0035] FIG12 illustrates an aspect of a system according to one embodiment.
[0036] FIG13 illustrates an example of a method according to one embodiment.
[0037] FIG14 illustrates an example of a sequence flow according to one embodiment.
[0038] FIG15 illustrates an example of a computer architecture according to one embodiment.
[0039] FIG16 illustrates an example of a communication architecture according to one embodiment. Detailed Description
[0040] The embodiments disclosed herein generally relate to systems and methods for enhancing the security of logging into mobile applications on mobile devices. For example, in some embodiments, a multi-pronged security protocol may be implemented that can ensure that a predetermined number of security measures are met before allowing a user to log into a mobile application. In some specific embodiments disclosed herein, the predetermined number of security measures may be three, and may include: verifying ciphertext received by the mobile device from the contactless card to identify a customer account associated with the contactless card, using silent mobile authentication in the backend to identify a phone number associated with the mobile device, verifying that the mobile device's phone number is associated with the customer account, and verifying that enhanced security input data received by the mobile device matches enhanced security record data archived for the customer account in the database. However, the embodiments disclosed herein are not limited thereto. Rather, it should be understood that the predetermined number of security measures may be more or less than three, and may include additional or alternative security measures disclosed and described herein and understood by those skilled in the art.
[0041] Specifically, the short-range communication antenna of the mobile device may receive ciphertext from the contactless card, and the processor of the mobile device may verify the ciphertext to identify a customer account associated with the contactless card. The processor of the mobile device may then verify whether the mobile device's phone number is associated with the customer account. When both conditions are met, the mobile device's display device can display a request for enhanced security input data, the mobile device's user interface device can receive the enhanced security input data, and the mobile device's processor can verify that the enhanced security input data matches the enhanced security record data associated with the customer account. When all three conditions are met—that is, the ciphertext, the mobile device's phone number, and the enhanced security input data have all been verified—the mobile device's processor can log in to the mobile application running on the mobile device to access the customer account.
[0042] In some embodiments, the mobile device's processor can successfully decrypt the ciphertext to verify the ciphertext and identify the customer account.For example, in some embodiments, the mobile device's processor can decrypt protected data in the ciphertext, compare the protected data with stored record data archived in a database for a customer account, and identify the customer account based on the match between the protected data and the stored record data.
[0043] Additionally or alternatively, in some embodiments, the mobile device can transmit one or more messages including ciphertext and / or enhanced security input data to a server communicating with the mobile device, and the server can successfully decrypt the ciphertext to verify the ciphertext and identify the customer account, verify that the mobile device's phone number is associated with the customer account, and / or verify that the enhanced security input data matches the enhanced security record data associated with the customer account. Thus, the mobile device can receive one or more indication messages from the server indicating that the ciphertext, the mobile device's phone number, and / or the enhanced security input data have all been verified.
[0044] Advantageously, the systems and methods disclosed herein can provide enhanced security for mobile applications logged into mobile devices. In fact, by implementing the multi-pronged security protocols disclosed and described herein, the system and method can ensure that login access to a mobile application is blocked unless and only until all predetermined number of security measures are satisfied. In this regard, a malicious actor possessing a contactless card cannot log in to the mobile application if he or she does not simultaneously possess a mobile device with a phone number associated with the customer account. Furthermore, even if a malicious actor possesses both a contactless card and a mobile device with a phone number associated with the customer account, he or she still cannot log in to the mobile application if he or she does not know and does not enter enhanced security input data matching the enhanced security record data associated with the customer account into the mobile device.
[0045] Additional advantages of the embodiments disclosed herein may include reducing and / or minimizing the number of taps required for a user to log in to the mobile application, thereby reducing and / or minimizing the amount of input data that the processor of the mobile device and / or server must process. For example, in some embodiments, a user can log in to the mobile application simply by placing the contactless card within the communication range of the short-range communication antenna of the mobile device and entering enhanced security input data into the user interface device of the mobile device. Similarly, the processor of the mobile device and / or server only needs to process the ciphertext, the mobile device's phone number, and the enhanced security input data to log in to the mobile application, thereby reducing processing time and power consumption.
[0046] In some embodiments, the enhanced security input data may include alphanumeric ciphertext, such as x-bit ciphertext, a selfie of the user captured by the mobile device's camera during a predetermined period of time when the ciphertext from the contactless card is received by the short-range communication antenna, or biometric input data.Therefore, further advantages of the embodiments disclosed herein may include avoiding the need for users to enter personal information that they may easily forget in mobile applications, such as usernames and traditional passwords.
[0047] Details and additional advantages of the above embodiments are discussed in the following description.
[0048] FIG1 illustrates a data transmission system 100 according to an example embodiment. As further discussed below, system 100 may include a contactless card 102, a client device 104, a network 106, and a server 108. Although FIG1 shows a single instance of the components, system 100 may include any number of components.
[0049] System 100 may include one or more contactless cards 102, which will be further explained below. In some embodiments, the contactless card 102 may wirelessly communicate with the client device 104, for example, using near field communication (NFC).
[0050] System 100 may include the client device 104, which may be a network-enabled computer. As described herein, a network-enabled computer may include, but is not limited to, computer equipment or communication equipment, including, for example, servers, networked appliances, personal computers, workstations, telephones, handheld personal computers (PCs), personal digital assistants, thin clients, fat clients, internet browsers, or other devices. Client device 104 may also be a mobile device; for example, a mobile device may include an iPhone, iPod, iPad, or any other mobile device running Apple's iOS® operating system, a device running Microsoft's Windows® mobile operating system, any device running Google's Android® operating system, and / or any other smartphone, tablet, or similar wearable mobile device.
[0051] Client device 104 may include a processor and memory, and it should be understood that the processing circuitry may include additional components necessary to perform the functions described herein, including a processor, memory, error and parity / cyclic redundancy check (CRC) checkers, data encoders, anti-collision algorithms, controllers, command decoders, security primitives, and tamper-proof hardware. Client device 104 may also include display devices and input devices. The display can be any type of device used to present 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. Input devices can include any device available to and supported by the user equipment for inputting information into the user equipment, such as touchscreens, keyboards, mice, cursor control devices, microphones, digital cameras, video recorders, or camcorders. These devices can be used to input information and interact with the software and other devices described herein.
[0052] In some examples, the client device 104 of system 100 may execute one or more applications, such as software applications, which are capable of network communication with one or more components of system 100 and transmitting and / or receiving data. Specification 4 / 26 pages 8 CN 121532764 A
[0053] The client device 104 may communicate with one or more servers 108 via one or more networks 106 and may operate as a corresponding front-end-back-end paired with server 108. The client device 104 may, for example, transmit one or more requests to server 108 from a mobile application executed on the client device 104. The one or more requests may be associated with retrieving data from server 108. Server 108 may receive one or more requests from client device 104. Based on one or more requests from client device 104, server 108 may be configured to retrieve the requested data from one or more databases (not shown). Based on the received requested data from one or more databases, server 108 may be configured to transmit the received data to client device 104 in response to one or more requests.
[0054] System 100 may include one or more networks 106. In some examples, network 106 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 client device 104 to server 108. For example, network 106 may include one or more of the following: fiber optic network, passive optical network, cable network, Internet network, satellite network, wireless local area network (LAN), Global System for Mobile Communications (GSMO), personal communication service, personal area network, wireless application protocol, multimedia messaging service, enhanced messaging service, short message service, time division multiple access based system, code division multiple access based system, digital advanced mobile phone system (D-AMPS), Wi-Fi, fixed wireless data, IEEE 802.11 series networking, Bluetooth, NFC, radio frequency identification (RFID), Wi-Fi and / or similar networks.
[0055] In addition, network 106 may include, but is not limited to, telephone lines, fiber optics, IEEE Ethernet 802.3, wide area network, wireless personal area network, LAN, or a global network such as the Internet. Additionally, network 106 may support the Internet, wireless communication networks, cellular networks, or similar networks, or any combination thereof. Network 106 may also include a network, or any number of the exemplary types described above, operating as independent networks or collaborating with each other. Network 106 may utilize one or more protocols coupled to one or more network elements. Network 106 may convert from other protocols to one or more protocols of network devices, or vice versa.Although network 106 is depicted as a single network, it should be understood that, according to one or more examples, network 106 may include multiple interconnected networks, such as, for example, the Internet, a service provider's network, a cable television network, a corporate network (such as a credit card association network), and a home network.
[0056] System 100 may include one or more servers 108. In some examples, server 108 may include one or more processors coupled to memory. Server 108 may be configured as a central system, server, or platform for controlling and retrieving various data at different times to perform multiple workflow actions. Server 108 may be configured to connect to one or more databases. Server 108 may be connected to at least one client device 104.
[0057] FIG2 illustrates a data transmission system according to an example embodiment. System 200 may include, for example, a transmitting or sending device 204 and a receiving or receiving device 208 communicating with one or more servers 202 via network 206. Transmitting or sending device 204 may be the same as or similar to the client device 104 discussed above with reference to FIG1. Receiving or receiving device 208 may be the same as or similar to the client device 104 discussed above with reference to FIG1. Network 206 may be similar to network 106 discussed above with reference to FIG1. Server 202 may be similar to server 108 discussed above with reference to FIG1. Although FIG2 shows a single instance of the components of system 200, system 200 may include any number of illustrated components.
[0058] When using symmetric cryptographic algorithms, such as encryption algorithms, hash-based message authentication code (HMAC) algorithms, and cryptographic message authentication code (CMAC) algorithms, it is important that the key remains confidential between the party that initially processes the protected data using the symmetric algorithm and key and the other party that receives and processes the data using the same cryptographic algorithm and the same key.
[0059] It is also important that the same key should not be used multiple times. If a key is used frequently or repeatedly, the key may be leaked. Each time the key is used, it provides an attacker with an additional sample of data that is processed by the cryptographic algorithm using the same key. The more data an attacker processes using the same key, the greater the likelihood that the attacker will discover the key value specification 5 / 26 page 9 CN 121532764 A. Frequently used keys can be included in a variety of different attacks.
[0060] Furthermore, each time a symmetric cryptographic algorithm is executed, it may expose information about the key used during the symmetric cryptographic operation, such as side-channel data. Side-channel data can include minute power fluctuations that occur when the cryptographic algorithm is executed while the key is being used. Sufficient measurements of the side-channel data can be taken to expose enough information about the key to allow an attacker to recover the key. Exchanging data using the same key repeatedly exposes data processed by the same key.
[0061] However, by limiting the number of times a specific key is used, the amount of side-channel data that an attacker can collect is limited, and thus the risk of suffering such and other types of attacks is reduced. As further described herein, the parties involved in exchanging encrypted information (e.g., the sender and the receiver) can independently generate keys based on an initial shared master symmetric key combined with a counter value, and thus periodically replace the shared symmetric key being used without any form of key exchange to keep the parties synchronized. By periodically changing the shared secret symmetric key used by the sender and the receiver, the aforementioned attacks become impossible.
[0062] Referring back to FIG. 2, system 200 can be configured to implement key distribution. For example, the sender and the receiver may wish to exchange data (e.g., raw sensitive data) via their respective devices 204 and 208. As stated above, while a single instance of the transmitting device 204 and the receiving device 208 can be included, it is understood that one or more transmitting devices 204 and one or more receiving devices 208 can be involved as long as the parties share the same shared secret symmetric key. In some examples, the transmitting device 204 and the receiving device 208 may be equipped with the same master symmetric key. Furthermore, it should be understood that either party or device holding the same secret symmetric key can perform the function of transmitting device 204, and similarly, either party holding the same secret symmetric key can perform the function of receiving device 208. In some examples, the symmetric key may include a shared secret symmetric key that is kept secret from all parties except for transmitting device 204 and receiving device 208 participating in the exchange of secure data. It is also understood that transmitting device 204 and receiving device 208 may both be set with the same master symmetric key, and further, a portion of the data exchanged between transmitting device 204 and receiving device 208 includes at least a portion of data that may be referred to as a counter value. The counter value may include a number that changes each time data is exchanged between transmitting device 204 and receiving device 208.
[0063] System 200 may include one or more networks 206. In some examples, network 206 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 one or more transmitting device devices 204 and one or more receiving devices 208 to server 202.For example, network 206 may include one or more of the following: fiber optic network, passive optical network, cable network, Internet network, satellite network, wireless LAN, Global System for Mobile Communications (GSMO), personal communication service, personal area network, wireless application protocol, multimedia messaging service, enhanced messaging service, short message service, time division multiple access (TDMA) based system, code division multiple access (CDMA) based system, D-AMPS, Wi-Fi, fixed wireless data, IEEE 802.11 series networking, Bluetooth, NFC, RFID, Wi-Fi and / or similar networks.
[0064] In addition, network 206 may include, but is not limited to, telephone lines, fiber optics, IEEE Ethernet 902.3, wide area networks (WANs), wireless personal area networks (WLANs), LANs, or global networks such as the Internet. Furthermore, network 206 may support Internet networks, wireless communication networks, cellular networks, etc., or any combination thereof. Network 206 may also include one network operating independently or cooperating with each other, or any number of the above-described exemplary network types. Network 206 may utilize one or more protocols coupled to one or more network elements in its communication manner. Network 206 may be converted from other protocols to one or more protocols of network devices, or vice versa. Although network 206 is depicted as a single network, it should be understood that, according to one or more examples, network 206 may include multiple interconnected networks, such as, for example, the Internet, a service provider's network, a cable television network, a corporate network (such as a credit card association network), and a home network.
[0065] In some examples, one or more transmitting devices 204 and one or more receiving devices 208 may be configured to communicate with each other and transmit and receive data without passing through network 206. For example, communication between one or more transmitting devices 204 and one or more receiving devices 208 may occur via at least one of NFC, Bluetooth, RFID, Wi-Fi, and / or similar technologies.
[0066] At block 210, when transmitting device 204 is ready to process sensitive data using symmetric cryptographic operations, the sender may update a counter. Additionally, transmitting device 204 may select an appropriate symmetric cryptographic algorithm, which may include at least one of symmetric encryption algorithms, HMAC algorithms, and CMAC algorithms. In some examples, the symmetric algorithm used to process scatter values may include any symmetric cryptographic algorithm used to generate a scatter symmetric key of the desired length as needed. Non-limiting examples of symmetric algorithms may include symmetric encryption algorithms such as 3DES or Advanced Encryption Standard 128 (AES128); symmetric HMAC algorithms such as HMAC-SHA-256; and symmetric CMAC algorithms such as AES-CMAC.It should be understood that if the output of the selected symmetric algorithm fails to generate a sufficiently long key, techniques such as processing multiple iterations of the symmetric algorithm with different input data and the same master key may produce multiple outputs, which can be combined as needed to generate a sufficiently long key.
[0067] At block 212, the transmitting device 204 may employ a selected cryptographic algorithm and use the master symmetric key to process the counter value. For example, the sender may choose a symmetric encryption algorithm and use a counter that is updated with each conversation between the transmitting device 204 and the receiving device 208. The transmitting device 204 may then encrypt the counter value with the selected symmetric encryption algorithm using the master symmetric key, thereby creating a distributed symmetric key.
[0068] In some examples, the counter value may not be encrypted. In these examples, at block 212, the counter value may be transmitted between the transmitting device 204 and the receiving device 208 without encryption.
[0069] At block 214, the distributed symmetric key may be used to process sensitive data before transmitting the result to the receiving device 208. For example, transmitting device 204 can use a symmetric encryption algorithm to encrypt sensitive data using a distributed symmetric key, wherein the output includes protected encrypted data. Transmitting device 204 can then transmit the protected encrypted data along with a counter value to receiving device 208 for processing.
[0070] At block 216, receiving device 208 can first obtain the counter value and then use the counter value as the input for encryption and use the master symmetric key as the encryption key to perform the same symmetric encryption. The encrypted output can be the same distributed symmetric key value created by the sender.
[0071] At block 218, receiving device 208 can then obtain the protected encrypted data and use a symmetric decryption algorithm along with the distributed symmetric key to decrypt the protected encrypted data.
[0072] At block 220, as a result of decrypting the protected encrypted data, the original sensitive data may be exposed.
[0073] The next time sensitive data needs to be transmitted from the sender to the receiver via the respective transmitting device 204 and receiving device 208, different counter values can be selected, thereby generating different distributed symmetric keys. By processing the counter value with the master symmetric key and the same symmetric cryptographic algorithm, both transmitting device 204 and receiving device 208 can independently generate the same distributed symmetric key. This distributed symmetric key (rather than the master symmetric key) is used to protect sensitive data.
[0074] As described above, transmitting device 204 and receiving device 208 initially each have a shared master symmetric key. The shared master symmetric key is not used to encrypt the original sensitive data. Because the distributed symmetric key is created independently by transmitting device 204 and receiving device 208, it is never transmitted between the two parties.Therefore, attackers cannot intercept the distributed symmetric key and will never see any data processed with the master symmetric key. Only the master symmetric key is used to process the counter value, not sensitive data. As a result, side-channel data exposure regarding the master symmetric key is reduced. Furthermore, the operation of the transmitting device 204 and the receiving device 208 can be controlled by the symmetric requirement of the frequency of creating new distributed values (and thus creating new distributed symmetric keys). In one embodiment, a new distributed value can be created for each exchange between the transmitting device 204 and the receiving device 208, and thus a new distributed symmetric key can be created.
[0075] In some examples, the key distributed value may include a counter value. Other non-limiting examples of key dispersion values include: random numbers generated each time a new dispersion key is needed, transmitted from transmitting device 204 to receiving device 208; the complete value of a counter value sent from transmitting device 204 and receiving device 208; a portion of a counter value sent from transmitting device 204 and receiving device 208; a counter maintained independently by transmitting device 204 and receiving device 208 but not transmitted between the two devices; a one-time cipher exchanged between transmitting device 204 and receiving device 208; and a cryptographic hash of sensitive data. In some examples, parties may use one or more portions of a key dispersion value to create multiple dispersion keys. For example, a counter may be used as a key dispersion value. Furthermore, combinations of one or more of the exemplary key dispersion values described above may be used.
[0076] In another example, a portion of a counter may be used as a key dispersion value. If multiple master key values are shared between parties, multiple dispersion key values can be obtained through the systems and processes described herein. New dispersion values may be created frequently as needed, and thus new dispersion symmetric keys may be created. In the most secure case, a new dispersion value may be created for each exchange of sensitive data between transmitting device 204 and receiving device 208. In practice, this can create one-time use keys, such as one-time session keys.
[0077] Figure 3 shows an example configuration of the contactless card 1204, which may include contactless cards, payment cards, such as credit cards, debit cards, or gift cards issued by a service provider (as shown by the service provider mark 302 on the front or back of the contactless card 1204). In some examples, the contactless card 1204 is not related to payment cards and may include, but is not limited to, identity cards. In some examples, transaction cards may include dual-interface contactless payment cards and reward cards, etc. The contactless card 1204 may include a substrate 308, which may include a single layer or one or more laminates made 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 1204 may have physical characteristics conforming to the ID-1 format of the International Organization for Standardization (ISO) / International Electrotechnical Commission (IEC) 7816 standard, and the transaction card may additionally conform to the ISO / IEC 14443 standard. However, it should be understood that the contactless card 1204 according to this disclosure may have different characteristics, and this disclosure does not require the transaction card to be implemented as a payment card.
[0078] The contactless card 1204 may also include identification information 306 displayed on the front and / or back of the card, and a contact pad 304. The contact pad 304 may include one or more pads and is configured to establish contact with another client device (such as an ATM, user equipment, smartphone, laptop, desktop, or tablet computer) via the transaction card. Contact pad 304 may be designed according to one or more standards (such as ISO / IEC 7816 standard) and be able to communicate according to the EMV protocol. Contactless card 1204 may also include processing circuitry, antennas, and other components, as will be discussed further in FIG. 4. These components may be located behind contact pad 304 or elsewhere on substrate 308, for example, within different layers of substrate 308, and may be electrically and physically coupled to contact pad 304. Contactless card 1204 may also include magnetic stripes or magnetic tapes, which may be located on the back of the card (not shown in FIG. 3). Contactless card 1204 may also include an NFC device coupled to the antenna and capable of communicating via the NFC protocol. Embodiments are not limited to this approach.
[0079] As shown in FIG. 4, contact pad 304 of contactless card 102 may include processing circuitry 416 for storing, processing, and conveying information, including processor 402, memory 404, and one or more interfaces 406. It should be understood that the processing circuitry 416 may include additional components necessary for performing the functions described herein, including a processor, memory, error and parity / CRC checker, data encoder, anti-collision algorithm, controller, command decoder, security primitives, and tamper-proof hardware.
[0080] The memory 404 may be a read-only memory, a write-multiple-read memory, or a read / write memory, such as random access memory (RAM), read-only memory (ROM), and erasable programmable ROM (EEPROM), and the contactless card 102 may include one or more of these memories. A read-only memory may be factory-programmed to be read-only or programmable only once. One-time programmability provides the opportunity to write once and then read multiple times. A write-multiple-read memory can be programmed at some point after the memory chip leaves the factory.Once a memory is programmed, it cannot be rewritten, but it can be read multiple times. Read / write memory can be programmed and reprogrammed many times after leaving the factory. Read / write memory can also be read multiple times after leaving the factory. In some cases, memory 404 may be an encrypted memory that uses an encryption algorithm executed by processor 402 to encrypt data.
[0081] Memory 404 may be configured to store one or more applets 408, one or more counters 410, customer identifiers 414, and one or more accounts 412, where account 412 may be a virtual account. One or more applets 408 may include one or more software applications configured to execute on one or more contactless cards, such as Java® card applets. However, it should be understood that one or more applets 408 are not limited to Java card applets, but may be any software application that can operate on contactless cards or other devices with limited memory. One or more counters 410 may include digital counters sufficient to store integers. Customer identifier 414 may include a unique alphanumeric identifier assigned to the contactless card user 102, and customer identifier 414 may distinguish the contactless card user from other contactless card users. In some examples, customer identifier 414 may identify both the customer and the account assigned to that customer, and may also identify the contactless card 102 associated with the customer account. As described above, one or more accounts 412 may include thousands of one-time use virtual accounts associated with the contactless card 102. One or more applets 408 of the contactless card 102 can be configured to manage one or more accounts 412 (e.g., select one or more accounts 412, mark the selected one or more accounts 412 as used, and transfer one or more accounts 412 to a mobile device for autofill via an autofill service).
[0082] The processor 402 and memory 404 elements of the exemplary embodiments described above are described with reference to contact pad 304, but this disclosure is not limited thereto. It should be understood that these elements may be implemented outside of contact pad 304, or completely separate from it, or as further elements in addition to the processor 402 and memory 404 elements located within contact pad 304.
[0083] In some examples, the contactless card 102 may include one or more antennas 418. One or more antennas 418 The processing circuitry 416 can be placed within the contactless card 102 and surrounding the contact pad 304. For example, one or more antennas 418 can be integrated with the processing circuitry 416, and one or more antennas 418 can be used with an external reinforcement coil. As another example, one or more antennas 418 can be external to the contact pad 304 and the processing circuitry 416.
[0084] In one embodiment, the coil of the contactless card 102 can act as the secondary coil of an air-core transformer.The terminal can communicate with the contactless card 102 by cutting off the power or by amplitude modulation. The contactless card 101 can infer the data transmitted from the terminal by utilizing gaps in the contactless card's power connection, the function of which can be maintained by one or more capacitors. The contactless card 102 can communicate in reverse by switching the load or load modulation on the coil of the contactless card. Load modulation can be detected in the terminal coil by interference. More generally, using one or more antennas 418, a processor 402, and / or a memory 404, the contactless card 102 provides a communication interface for communication via NFC, Bluetooth, and / or Wi-Fi.
[0085] As described above, the contactless card 102 can be built on a software platform operable on smart cards or other memory-limited devices such as JavaCards, and can securely execute one or more applications or applets. One or more applets 408 can be added to the contactless card to provide a one-time password (OTP) for multi-factor authentication (MFA) in various mobile application-based use cases. One or more applets 408 may be configured to respond to one or more requests (such as near-field data exchange requests) from a reader (such as a mobile NFC reader, e.g., a mobile device or point-of-sale terminal) and generate an NDEF message including a cryptographically secure OTP encoded as a near-field data exchange (NDEF) text tag.
[0086] One example of an NDEF OTP is an NDEF short record layout (SR=1). In this example, one or more applets 408 may be configured to encode the OTP as a known type of text tag of NDEF type 4. In some examples, the NDEF message may include one or more records. One or more applets 408 may be configured to add one or more static tag records in addition to the OTP record.
[0087] In some examples, one or more applets 408 may be configured to simulate an RFID tag. The RFID tag may include one or more polymorphic tags. In some examples, different cryptographic data is presented each time the tag is read, which can indicate the authenticity of the contactless card. Based on one or more applets 408, NFC reading of the tag can be processed, data can be transmitted to a server (such as a server in a banking system), and the data can be verified at the server.
[0088] In some examples, the contactless card 102 and the server may include specific data so that the card can be correctly identified. The contactless card 102 may include one or more unique identifiers (not shown). Each time a read operation occurs, one or more counters 410 may be configured to increment.In some examples, each time data is read from the contactless card 102 (e.g., by a mobile device), one or more counters 410 are transmitted to a server for verification, and it is determined whether one or more counters 410 are equal to (as part of the verification) the server's counter.
[0089] One or more counters 410 may be configured to prevent replay attacks. For example, if ciphertext has been obtained and replayed, the ciphertext will be immediately rejected when one or more counters 410 have been read, used, or otherwise skipped. If one or more counters 410 have not been used, they may be replayed. In some examples, the counter incremented on the card is different from the counter incremented for a transaction. Since there is no communication between one or more applets 408 on the contactless card 102, the contactless card 102 cannot determine one or more application transaction counters 410.
[0090] In some examples, one or more counters 410 may become out of sync. In some examples, one or more counters 410 may increment in response to unexpected reads that initiate a transaction (such as skewed reads), but the application does not process one or more counters 410. In some examples, NFC can be enabled when the mobile device 104 is woken up, and the device 104 can be configured to read available tags but will not take any action on the read.
[0091] To keep one or more counters 410 synchronized, an application (such as a background application) can be executed, which will be configured to detect when the mobile device 104 wakes up and synchronizes with the bank's server, indicating a read that has occurred due to the detection, and then move one or more counters 410 forward. In other examples, a hashed one-time password can be used to make a certain window of asynchrony acceptable. For example, if within a threshold of 10, one or more counters 410 can be configured to move forward. However, if within a different number of thresholds, such as within 10 or 1000, a request to perform resynchronization can be processed, which requests the user to tap, gesture, or otherwise indicate once or more via one or more applications through their device. If one or more counters 410 increment in the appropriate sequence, it can be known that the user has done so.
[0092] The key distribution technique described herein with reference to one or more counters 410, a master key, and a distribution key is an example of an encryption and / or decryption key distribution technique. This example key distribution technique should not be considered a limitation of this disclosure, as this disclosure is equally applicable to other types of key distribution techniques.
[0093] During the creation process of the contactless card 102, two cryptographic keys can be uniquely assigned to each card. The cryptographic keys may include symmetric keys, which can be used for data encryption and decryption.The Triple Data Encryption Standard (DES) (3DES) algorithm is available for use by EMV and is implemented in hardware within the contactless card 102. By using key distribution processing, one or more keys can be derived from the master key based on unique identifiable information for each entity requiring the key. Specification 10 / 26 pages 14 CN 121532764 A
[0094] In some examples, to overcome the vulnerability of the 3DES algorithm, which may be susceptible to vulnerabilities, session keys (such as unique keys for each session) can be derived instead of using the master key; unique card-derived keys and counters can be used as distribution data. For example, each time the contactless card 101 is used in operation, a different key can be used to create a Message Authentication Code (MAC) and perform encryption. This ultimately results in a triple encryption layer. Session keys can be generated by one or more applets and derived using an application transaction counter employing one or more algorithms (as defined in EMV 4.3 Volume 2 A1.3.1 Common Session Key Derivation).
[0095] Furthermore, the increment of each card can be unique and can be assigned through personalization or algorithmically through some identification information. For example, odd-numbered cards can increment by 2, and even-numbered cards can increment by 5. In some examples, the increment can also vary in sequential reading, such that a card can increment in the order 1, 3, 5, 2, 2... Repeatedly. The specific sequence or algorithmic sequence can be defined in a personalized time or from one or more processes derived from a unique identifier. This makes it more difficult for a replay attacker to generalize from a small number of card instances.
[0096] The authentication message can be delivered as the content of a text NDEF record in hexadecimal American Standard Code for Information Interchange (ASCII) format. In another example, the NDEF record can be encoded in hexadecimal format. In yet another example, the NDEF record can be encoded in hexadecimal format.
[0097] Figure 5 is a timing diagram illustrating example sequences for providing authenticated access according to one or more embodiments of the present disclosure. Serial stream 500 may include contactless card 502 and client device 506, which may include application 504 and processor 508.
[0098] At line 512, application 504 communicates with contactless card 502 (e.g., after being near contactless card 502). Communication between application 504 and contactless card 502 may require contactless card 502 to be close enough to a reader (not shown) of client device 506 to enable NFC data transfer between application 504 and contactless card 502.
[0099] At line 510, after communication is established between client device 506 and contactless card 502, contactless card 502 generates a Message Authentication Code (MAC) ciphertext.In some examples, this may occur when contactless card 502 is read by application 504. Specifically, this can happen when reading (e.g., NFC reading) an NDEF tag that can be created according to the NFC data exchange format. For example, a reader application (such as application 504) can transmit a message (such as a mini-program selection message) with a mini-program ID that produces the NDEF. After confirming the selection, a series of select file messages can be transmitted, followed by read file messages. For example, the sequence could include "select capability file," "read capability file," and "select NDEF file." At this point, a counter value maintained by contactless card 502 can be updated or incremented, followed by "read NDEF file." A message that may include a header and a shared secret can then be generated. A session key can then be generated. A MAC ciphertext can be created from the message, which may include a header and a shared secret. The MAC ciphertext can then be concatenated with one or more random data blocks, and the MAC ciphertext and a random number (RND) can be encrypted using the session key. Subsequently, the ciphertext and header can be concatenated, encoded in ASCII hexadecimal, and returned in NDEF message format (in response to a "Read NDEF File" message).
[0100] The MAC ciphertext can be transmitted as an NDEF tag, and in other examples, the MAC ciphertext can be included as a Uniform Resource Indicator (e.g., as a formatted string). In some examples, application 504 can be configured to transmit a request to contactless card 502 that includes instructions to generate the MAC ciphertext.
[0101] At line 514, contactless card 502 sends the MAC ciphertext to application 504. In some examples, the transmission of the MAC ciphertext occurs via NFC; however, this disclosure is not limited thereto. In other examples, such communication can occur via Bluetooth, Wi-Fi, or other wireless data communication methods. At line 516, application 504 transmits the MAC ciphertext to processor 508.
[0102] At line 518, processor 508 verifies the MAC ciphertext according to instructions from application 504. For example, the MAC ciphertext can be verified as explained below (page 11 / 26, CN 121532764 A). In some examples, the verification of the MAC ciphertext can be performed by a device other than the client device 506, such as a server of a banking system that communicates data with the client device 506. For example, the processor 508 can output the MAC ciphertext for transmission to a server of the banking system, which can verify the MAC ciphertext. In some examples, the MAC ciphertext can serve as a digital signature for verification purposes.Other digital signature algorithms, such as public-key asymmetric algorithms, such as digital signature algorithms and asymmetric cryptographic algorithms (RSA) or zero-knowledge protocols, can be used to perform this verification.
[0103] Figure 6 illustrates an NDEF short record layout (SR=1) data structure 600 according to an example embodiment. One or more applets can be configured to encode OTP as a known type text tag of NDEF type 4. In some examples, the NDEF message may include one or more records. The applet can be configured to add one or more static tag records in addition to the OTP record. Exemplary tags include, but are not limited to, tag type: known type, text, encoded English (en); applet ID: D2760000850101; function: read-only access; encoding: the authentication message may be encoded as ASCII hexadecimal; type-length-value (TLV) data may be provided as a personalized parameter that can be used to generate the NDEF message. In one embodiment, the authentication template may include a first record having a known index for providing actual dynamic authentication data.
[0104] Figure 7 illustrates a system 700 configured to implement one or more embodiments of the present disclosure. As explained below, During the contactless card creation process, two cryptographic keys can be uniquely assigned to each card. These cryptographic keys can include symmetric keys, which can be used for data encryption and decryption. The Triple DES (3DES) algorithm can be used by EMV and implemented by the hardware in the contactless card. By using key distribution processing, one or more keys can be derived from the master key based on the unique identifiable information of each entity requiring the key.
[0105] Regarding master key management, for each part of an asset portfolio issuing one or more mini-programs, two issuer master keys 702 and 726 may be required. For example, the first master key 702 may include an issuer ciphertext generation / authentication key (Iss-key-Auth), and the second master key 726 may include an issuer data encryption key (Iss-key-DEK). As further explained herein, these two issuer master keys 702 and 726 are distributed as card master keys 708 and 720, which are unique to each card. In some examples, the Network Profile Record ID (pNPR) 722 and Derived Key Index (pDKI) 724, which are background data, may be used to identify which issuer master keys 702 and 726 are used in the encryption process used for authentication. The system performing authentication can be configured to retrieve the values of pNPR 722 and pDKI 724 of the contactless card during authentication.
[0106] In some examples, to improve the security of the solution, session keys (such as a unique key for each session) can be derived, but as explained above, a unique card-derived key and a counter can be used as scatter data instead of using the master key.For example, each time the card is used in an operation, a different key can be used to create a Message Authentication Code (MAC) and perform encryption. Regarding session key generation, the key used to generate ciphertext and encrypt data in one or more applets can include session keys based on the card's unique key (Card-Key-Auth 708 and Card-Key-Dek 720). Session keys (Auth-Session-Key 732 and DEK-Session-Key 710) can be generated by one or more applets and derived using an Application Transaction Counter (pATC) 704 employing one or more algorithms. To fit data into one or more algorithms, only the lower 2 bytes of the 4-byte pATC 704 are used. In some examples, the four-byte session key derivation method may include: F1:=PATC(lower 2 bytes)||'F0'||'00'||PATC(four bytes) F1:=PATC(lower 2 bytes)||'0F'||'00'||PATC(four bytes) SK:={(ALG(MK)[F1])||ALG(MK[F2]}, where ALG may include the 3DES Electronic Codebook (ECB) and MK may include the card-uniquely derived master key.
[0107] As described herein, one or more MAC session keys may be derived using the lower two bytes of the pATC 704 counter. The pATC 704 is configured to be updated with each tap of the contactless card, and the card master keys Card-Key-AUTH 708 and Card-Key-DEK 720 are further distributed into session keys Aut-Session-Key 732 and DEK-Session-KEY 710. 704 can be initialized to zero during personalization or app initialization. In some example specifications, page 12 / 26 of CN 121532764 A, the pATC 704 counter can be initialized during or before personalization and can be configured to increment by one on each NDEF read.
[0108] Furthermore, the update for each card can be unique and can be assigned by personalization or by pUID or other identification information algorithms. For example, odd-numbered cards can increment or decrement by 2, and even-numbered cards can increment or decrement by 5. In some examples, the update can also vary during sequential reads, such that a card can increment repeatedly in the sequence 1, 3, 5, 2, 2, ... The specific sequence or algorithm sequence can be defined at personalization time or from one or more processes derived from the unique identifier. This makes it more difficult for a replay attacker to generalize from a small number of card instances.
[0109] The authentication message can be delivered as the content of a text NDEF record in hexadecimal ASCII format.In another example, the NDEF record can be encoded in hexadecimal format. In some examples, only authentication data and an 8-byte random number followed by the MAC of the authentication data can be included. In some examples, the random number can precede the ciphertext A and can be a block length. In other examples, there can be no limit to the length of the random number. In further examples, the total data (i.e., the random number ciphertext) can be several times the block size. In these examples, an additional 8-byte block can be added to match the block generated by the MAC algorithm. As another example, if the algorithm used uses a 16-byte block, a multiple of the block size can be used, or the output can be automatically or manually padded to a multiple of the block size.
[0110] The MAC can be performed by the function key (AUT-Session-Key) 732. The data specified in the ciphertext can be processed using the Javacard signing method ALG_DES_MAC8_ISO9797_1_M2_ALG3 to be associated with the EMV Authorization Request Ciphertext (ARQC) verification method. The key used for this calculation may include a session key AUT-Session-Key 732, as explained above. As explained above, the lower two bytes of the counter may be used to distribute one or more MAC session keys. As explained below, AUT-Session-Key 732 may be used to encrypt MAC data 706, and the resulting data or ciphertext A 714 and random number RND may be encrypted using DEK-Session-Key 710 to create ciphertext B or output 718 sent in the message.
[0111] In some examples, one or more Hardware Security Module (HSM) commands may be processed for decryption, such that the final 16 (binary, 32 hexadecimal) bytes may include 3DES symmetric encryption of the random number using Cipher Code Block Chain (CBC) mode and zero IV, followed by MAC authentication data. The key used for this encryption may include a session key DEK-Session-Key 710 derived from Card-Key-DEK 720. In this case, the Application Transaction Value (ATC) value used for session key derivation is the least significant byte of counter pATC 704.
[0112] The following format represents an example embodiment in binary form. Furthermore, in some examples, the first byte may be set to ASCII "A". Specification 13 / 26 pages 17 CN 121532764 A
[0113]
[0114] Another exemplary format is shown below. In this example, the tag may be encoded in hexadecimal format.
[0115]
[0116] The unique identifier (UID) field of the received message can be extracted to derive the card master key (Card-Key-AUTH 708 and Card-Key-DEK 720) for that specific card from the master keys Iss-Key-AUTH 702 and Iss-Key-DEK 726. Using the card master keys (Card-Key-Auth 708 and Card-Key-DEK 720), the received message counter (pATC) field can be used to derive the session key (AUT-Session-Key 732 and DEK-Session-Key 710) for that specific card. Ciphertext B 718 can be decrypted using DEK-Session-KEY, which produces ciphertext A 714 and RND, and RND can be discarded. The UID field can be used to look up the shared secret of the contactless card, which, together with the Ver, UID, and pATC fields of the message, can be processed by a cryptographic MAC using a recreated AUT-Session-Key to create a MAC output, such as MAC'. If MAC' is the same as ciphertext A 714, this indicates that both message decryption and MAC checks have passed. However, pATC can be read afterward to determine if it is valid.
[0117] During an authentication session, one or more ciphertexts can be generated by one or more applications. For example, one or more ciphertexts can be generated as a 3DES MAC using ISO 9797-1 algorithm 3, filled with one or more session keys (such as AUT-Session-Key 732) using method 2. Input data 706 can take the form of: version (2), pUID (8), pATC (4), shared secret (4). In some examples, the numbers in parentheses may include lengths in bytes. In some examples, the shared secret may be generated by one or more random number generators that can be configured to ensure the random number is unpredictable through one or more security processes. In some examples, the shared secret may include a random 4-byte binary number known to the authentication service in the personalized time-injected card. The shared secret may not be provided to the mobile application from one or more applets during the authentication session. Method 2 padding may include adding a mandatory 0x'80' byte to the end of the input data, and 0x'00' bytes that may be added to the end of the resulting data up to an 8-byte boundary. The length of the resulting ciphertext may include 8 bytes.
[0118] In some examples, one advantage of encrypting the non-shared random number as the first block with the MAC ciphertext is that it acts as an initialization vector when using CBC mode with a symmetric encryption algorithm.This allows for "scrambling" between blocks without the need for pre-establishing fixed or dynamic IVs.
[0119] By including the Application Transaction Counter (pATC) as part of the data included in the MAC ciphertext, the authentication service can be configured to determine whether the value transmitted in the plaintext data has been tampered with. Furthermore, by including the version in one or more ciphertexts, it is difficult for an attacker to deliberately forge application versions in an attempt to weaken the strength of the ciphertext solution. In some examples, the pATC can start from zero and be updated to 1 each time one or more applications generate authentication data. The authentication service can be configured to track the pATC used during the authentication session. In some examples, when the authentication data uses a pATC equal to or less than a value previously received by the authentication service, this can be interpreted as an attempt to replay an old message, and the authenticated message may be rejected. In some examples, when the pATC is greater than a previously received value, it can be evaluated to determine if it is within an acceptable range or threshold, and if it exceeds or falls outside the range or threshold, the authentication can be considered failed or unreliable. In MAC operation 712, data 706 is processed via MAC using AUT-Session-Key 732 to produce MAC output (ciphertext A) 714, which is encrypted.
[0120] To provide additional protection against brute-force attacks on the key on the exposure card, it is preferable to encrypt the MAC output (ciphertext A) 714. In some examples, the data to be included in the ciphertext or ciphertext A 714 may include: a random number (8), ciphertext (8). In some examples, the number in parentheses may include a length in bytes. In some examples, the random number may be generated by one or more random number generators that may be configured to ensure that the random number is unpredictable through one or more secure processes. The key used to encrypt the data may include a session key. For example, the session key may include DEK-Session-Key 710. In encryption operation 716, data or ciphertext A 714 and RND are processed using DEK session key 710 to produce encrypted data, namely ciphertext B 718. The MAC output (ciphertext A) 714 can be encrypted using 3DES in cipher block chaining mode to ensure that an attacker must compromise all ciphertext. As a non-limiting example, other algorithms such as the Advanced Encryption Standard (AES) can be used. In some examples, an initialization vector of 0x'00000000000000000' can be used. Any attacker attempting to brute-force the key used to encrypt this data will be unable to determine when the correct key was used, as correctly decrypted data will be indistinguishable from incorrectly decrypted data due to its randomness.
[0121] To enable the authentication service to verify one or more ciphertexts provided by one or more applets, the following data must be transmitted from one or more applets to the mobile device in plaintext during the authentication session: determining the version number of the encryption method used and the message format used to verify the ciphertext, which allows the method to be changed in the future; a pUID used to retrieve encryption assets and derive the card key; and a pATC used to derive the session key for the ciphertext.
[0122] Figure 8 illustrates a method 800 for generating ciphertext. For example, at block 802, the Network Profile Record ID (pNPR) and Derived Key Index (pDKI) may be used to identify which issuer master keys are used in the cipher process used for authentication. In some examples, the method may include performing authentication to retrieve the values of the pNPR and pDKI of the contactless card during authentication.
[0123] At block 804, the issuing bank master key can be distributed by combining the card's unique ID number (pUID) with the Personal Area Network (PAN) serial number (PSN) of one or more applets (e.g., payment applets).
[0124] At block 806, Card-Key-Auth and Card-Key-DEK (unique card keys) can be created by distributing the issuing bank master key to generate session keys that can be used to generate MAC ciphertext.
[0125] At block 808, the keys used to generate ciphertext and encrypt data in one or more applets may include the session keys of block 806 based on the card's unique keys (Card-Key-Auth and Card-Key-DEK). In some examples, these session keys may be generated by one or more applets and derived using pATC to obtain session keys Aut-Session-Key and DEK-Session-Key.
[0126] Figure 9 depicts an exemplary process 900 illustrating key distribution according to one example. Initially, the sender and receiver may be equipped with two different master keys. For example, the first master key may include a data encryption master key, and the second master key may include a data integrity master key. The sender has a counter value, which can be updated at block 902, as well as other data (such as data to be protected), which can be securely shared with the receiver.
[0127] At block 904, the counter value may be encrypted by the sender using the data encryption master key to generate a data encryption-derived session key, and the counter value may also be encrypted by the sender using the data integrity master key to generate a data integrity-derived session key. In some examples, the entire counter value or a portion of the counter value may be used during the two encryptions.
[0128] In some examples, the counter value may not be encrypted.In these examples, the counter can be transmitted between the sender and receiver in plaintext (i.e., without encryption).
[0129] At box 906, the data to be protected is cryptographically MAC operated by the sender using a data integrity session key and a cryptographic MAC algorithm. The protected data (including plaintext and shared secret) can be used to generate the MAC using one of the session keys (AUT-Session-Key).
[0130] At box 908, the data to be protected can be encrypted by the sender using a session key derived from data encryption combined with a symmetric encryption algorithm. In some examples, the MAC is combined with an equal amount of random data (e.g., each 8 bytes long) and then encrypted using a second session key (DEK-Session-Key).
[0131] At box 910, the encrypted MAC is transmitted from the sender to the receiver, containing enough information to identify additional secret information (such as shared secret, master key, etc.) for verification of the ciphertext.
[0132] At box 912, the receiver independently derives two derived session keys from the two master keys using the received counter value, as explained above.
[0133] At box 914, the session key derived from data encryption is used in conjunction with a symmetric decryption operation to decrypt the protected data. The exchanged data is then subjected to additional processing. In some examples, after extracting the MAC, it is expected that the MAC will be reproduced and matched. For example, when verifying the ciphertext, it can be decrypted using an appropriately generated session key. The protected data can be reconstructed for verification. A MAC operation can be performed using an appropriately generated session key to determine if it matches the decrypted MAC. Since the MAC operation is an irreversible process, the only way to verify is to try to recreate it from the source data. Specification 16 / 26 pages 20 CN 121532764 A
[0134] At box 916, the session key derived from data integrity is used in conjunction with a cryptographic MAC operation to verify that the protected data has not been modified.
[0135] Some examples of the methods described herein can advantageously confirm when authentication success is determined when the following conditions are met. First, the ability to verify the MAC indicates that the derived session key is correct. The MAC can only be correct if decryption is successful and a correct MAC value is generated. Successful decryption can indicate that the correctly derived encryption key was used to decrypt the encrypted MAC. Since the derived session key is created using a master key known only to the sender (e.g., the transmitting device) and the receiver (e.g., the receiving device), it can be believed that the contactless card that initially created and encrypted the MAC is indeed genuine. Furthermore, the counter values used to derive the first and second session keys can be shown to be valid and can be used to perform the authentication operation.
[0136] Thereafter, the two derived session keys can be discarded, and the next iteration of the data exchange will update the counter value (returning to block 902), and a new set of session keys can be created (at block 910). In some examples, combined random data can be discarded.
[0137] FIG10 illustrates a method 800 for card activation according to an example embodiment. For example, card activation can be performed by a system including a card, a device, and one or more servers. The contactless card, device, and one or more servers can refer to the same or similar components previously explained, such as contactless card 102, client device 104, and server.
[0138] In block 1002, the card can be configured to dynamically generate data. In some examples, the data can include information such as an account number, card identifier, card verification value, or telephone number, which can be transferred from the card to the device. In some examples, one or more portions of the data can be encrypted via the systems and methods disclosed herein.
[0139] In block 1004, one or more portions of the dynamically generated data can be communicated to an application of the device via NFC or other wireless communication. For example, tapping a card near a device can allow an application on the device to read one or more portions of the data associated with the contactless card. In some examples, if the device does not include an application to assist in card activation, tapping the card can guide the device or prompt the customer to download the associated application from an app store to activate the card. In some examples, the user can be prompted to make a gesture, place or orient the card sufficiently toward a surface of the device, such as at an angle or flat on the surface of the device, close to or near the surface of the device. In response to the gesture, placement and / or orientation of the card sufficiently, the device can continue to transmit one or more encrypted portions of the data received from the card to one or more servers.
[0140] In block 1006, one or more portions of the data can be transmitted to one or more servers, such as a card issuer server. For example, one or more encrypted portions of the data can be transmitted from the device to the card issuer server for card activation.
[0141] In block 1008, one or more servers can decrypt one or more encrypted portions of the data via the systems and methods disclosed herein. For example, one or more servers can receive encrypted data from the device and can decrypt it to compare the received data with recorded data accessible to one or more servers. If a successful match is found by comparing one or more decrypted portions of the data with those from one or more servers, the card can be activated. If a failed match is found by comparing one or more decrypted portions of the data with those from one or more servers, one or more procedures can be performed. For example, in response to a determination of a failed match, the user can be prompted to tap, swipe, or wave the card again.In this case, there may be a predetermined threshold, including the number of times a user is allowed to attempt to activate the card. Alternatively, the user may receive a notification, such as a message on his or her device indicating that the card verification attempt was unsuccessful, and call, email, or text message to the associated service to assist in activating the card; or receive another notification, such as a phone call on his or her device indicating that the card verification attempt was unsuccessful, and call, email, or text message to the associated service to assist in activating the card; or receive another notification, such as an email indicating that the card verification attempt was unsuccessful, and call, email, or text message to the associated service to assist in activating the card.
[0142] In block 1010, one or more servers may transmit a return message based on the successful activation of the card. For example, the device may be configured to receive output from one or more servers indicating that one or more servers have successfully activated the card. The device may be configured to display a message indicating successful card activation. Once the card is activated, the card may be configured to stop dynamically generating data to prevent fraudulent use. In this way, the card may not be able to be activated again thereafter, and one or more servers will receive a notification that the card has been activated.
[0143] Figures 1 through 10 generally relate to systems and methods for authenticating contactless cards based on information on the contactless card. However, as previously stated, some embodiments disclosed herein may include systems and methods for enhancing the security of logging into a mobile application on a mobile device. For example, in some embodiments, a multi-pronged security protocol may be implemented that ensures a predetermined number of security measures are met before allowing a user to log into a mobile application. In some embodiments, such security measures may include verifying ciphertext received by the mobile device from the contactless card to identify a customer account associated with the contactless card, verifying that the mobile device's phone number is associated with the customer account, and verifying that enhanced security input data received by the mobile device matches enhanced security record data associated with the customer account. Figures 11 through 14 generally relate to these embodiments and provide additional details thereof.
[0144] Figure 11 is a block diagram illustrating an example of a mobile device 1102 according to a disclosed embodiment. It should be understood that the mobile device 1102 may be the same as or similar to the client device 104.
[0145] As shown in the figure, the mobile device 1102 may include an interface 1104, a memory 1106, a processor 1112, and a display device 1114. The memory 1106 may be configured to store computer instructions configured to be executed by the processor 1112 to cause the processor 1112 to perform specific actions, and the computer instructions may be part of an application 1108 and / or an operating system 1110.
[0146] In some embodiments, interface 1104 may include one or more antennas, such as short-range communication antennas, one or more user interface devices, such as a keyboard with hard or soft keys, and / or a camera, scanner, card reader, or another device capable of reading or capturing images, information, or data within its field of view. Additionally or alternatively, interface 1104 may include a WiFi interface, a Bluetooth interface, an NFC interface, a serial bus interface, and a Universal Serial Bus (USB), etc.
[0147] In some embodiments, memory 1106 may be any type of memory configured to store instructions to be processed by processor 1112. Examples of memory 1106 may include volatile or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, and writable or rewritable memory, etc.
[0148] In some embodiments, processor 1112 may be any type of processor, microprocessor, circuit, circuit element (e.g., transistor, resistor, capacitor, inductor, etc.), integrated circuit, application-specific integrated circuit (ASIC), programmable logic device (PLD), digital signal processor (DSP), field-programmable gate array (FPGA), and multi-core processor, etc.
[0149] In some embodiments, display device 1114 may include a display screen or other output device for displaying data, information, and / or graphics to a user of mobile device 104.
[0150] As described above, memory 1106 may include application 1108 and / or operating system 1110. Application 1108 may include any type of application configured to operate on mobile device 1102. For example, application 1108 may include social networking applications, communication applications, business productivity applications (e.g., email, word processor, spreadsheet, etc.), storefront applications, remittance applications, gaming applications, merchant applications, and shopping mobile applications, etc. Particularly relevant to some embodiments disclosed herein, application 1108 may include mobile banking applications and / or mobile credit card applications.
[0151] Application 1108 may be configured to operate within operating system 1110. In some embodiments, operating system 1110 may be an Android® operating system, an Apple iOS® operating system, and a Windows Mobile® operating system, etc. Operating Instructions 18 / 26 pages 22 CN 121532764 A System 1110 may be configured to provide services and instructions that execute and enable application 1108 to operate with hardware. For example, operating system 1110 may be configured to operate with hardware associated with processor 1112 to process detection performed by interface 1104. In some embodiments, operating system 1110 may provide application 1108 with data processed by operating system 1110.Application 1108 can process such data, including performing authentication of the data, transmitting the data to other devices or servers, etc. In some embodiments, at least a portion of operating system 1110 may be configured to perform one or more authentication and / or verification steps.
[0152] FIG12 is a block diagram illustrating an example of system 1200 according to the disclosed embodiments. As shown, system 1200 may include mobile device 1202 and contactless card 1204. It should be understood that mobile device 1202 may be the same as or similar to mobile device 1102 and / or client device 104. It should also be understood that contactless card 1204 may be the same as or similar to contactless card 102. Contactless card 1204 may be associated with a customer account of the bank or company that issued the contactless card 1204, and the telephone number of mobile device 1202 may also be associated with the customer account.
[0153] In some embodiments, a user may tap or otherwise bring the contactless card 1204 into the communication range of a mobile device, and the mobile device 1202 may read ciphertext from the contactless card 1204 and / or the contactless card 1204 may transmit ciphertext to the mobile device 1202. In operation, the mobile device 1202 and / or a server communicating with the mobile device 1202 may verify the ciphertext to identify a customer account associated with the contactless card 1204. For example, in some embodiments, the mobile device 1202 may successfully decrypt the ciphertext to identify a customer account associated with the contactless card 1204. In particular, in some embodiments, the mobile device 1202 may decrypt protected data in the ciphertext and compare the protected data with recorded data associated with the contactless card 1204 and stored on the mobile device 1202 and / or the server. When the protected data matches the recorded data, the mobile device 1202 may identify the customer account associated with it. However, in some embodiments, the mobile device 1202 may transmit the ciphertext to a server to verify the ciphertext and identify the customer account associated with the contactless card 1204, for example, as discussed in Figures 1 to 10. Specifically, in some embodiments, the server may decrypt the protected data in the ciphertext and compare the protected data with recorded data associated with the contactless card 1204 and stored on the server. When the protected data matches the recorded data, the server may identify the associated customer account.
[0154] Once the ciphertext has been verified and the customer account associated with the contactless card 1204 has been identified, the mobile device 1202 and / or the server may verify that the mobile device's phone number is associated with the customer account. For example, in some embodiments, the mobile device 1202 and / or the server may call or otherwise contact or connect to a mobile network operator to identify the mobile device's phone number.In these embodiments, mobile device 1202 and / or server may contact a backend mobile network operator to request a phone number associated with the mobile device, thereby performing silent mobile authentication. However, in some embodiments, mobile device 1202 may transmit its phone number to a server to verify whether the phone number in mobile device 1202 is associated with a customer account. In these embodiments, silent mobile authentication may include mobile application, mobile device 1202 and / or server contacting mobile network operator via cellular phone system and similar systems to verify whether the phone number of mobile device 1202 matches data maintained by the mobile network operator. For example, mobile application, mobile device 1202 and / or server may transmit the phone number of mobile device to mobile network operator, and mobile network operator may search its data (e.g., data storage, database, etc.) to determine whether a match is identified. When mobile network operator matches the phone number of mobile device 1202 with data maintained by the operator, the mobile network operator may transmit a verification message to mobile application, mobile device 1202 and / or server.
[0155] In some embodiments, silent mobile authentication may also verify that the SIM card of mobile device 1202 has not been fraudulently exchanged. In practice, when a SIM card is legitimately swapped into mobile device 1202, the International Mobile Subscriber Identity (IMSI) code of the SIM card is associated with the telephone number of mobile device 1202. However, when a SIM card is fraudulently swapped, this type of network operation is not performed (see page 19 / 26 of the manual, CN 121532764 A). Therefore, the mobile application, mobile device 1202, and / or server can transmit the IMSI number of the SIM card in mobile device 1202 along with the telephone number of mobile device 1202 to the mobile network operator, and the mobile network operator can search its data to determine whether the IMSI number of the SIM card matches the telephone number of mobile device 1202. When the mobile network operator matches the IMSI number of the SIM card with the telephone number of mobile device 1202, the mobile network operator transmits a verification message to the mobile application, mobile device 1202, and / or server.
[0156] When the ciphertext has been verified, and the customer account associated with the contactless card 1204 has been identified, and the phone number of the mobile device 1202 has been verified as associated with the customer account, the mobile device 1202 may display a request for enhanced security input data and receive enhanced security input data, and the mobile device 1202 and / or the server may verify whether the enhanced security input data matches the enhanced security record data associated with the customer account.For example, in some embodiments, mobile device 1202 may compare enhanced security input data with enhanced security record data associated with a customer account and stored on mobile device 1202 and / or a server to determine if a match exists between them. However, in some embodiments, mobile device 1202 may transmit enhanced security input data to a server to verify that the enhanced security input data matches the enhanced security record data associated with a customer account and stored on the server. When the enhanced security input data has been verified, mobile device 1202 may log in to a mobile application running thereon to access the customer account.
[0157] It should be understood that in some embodiments, the customer account associated with contactless card 1204 will not be identified unless the phone number of mobile device 1202 is associated with the customer account. Additionally or alternatively, it should be understood that in some embodiments, the phone number of mobile device 1202 will not be verified as associated with the customer account unless the customer account is associated with contactless card 1204. In this regard, if these conditions are not met, mobile device 1202 and / or server may be unable to decrypt ciphertext and / or protected data in ciphertext, for example, due to the lack of the required key and the like. Additionally or alternatively, if these conditions are not met, mobile device 1202 and / or the server may be able to decrypt the ciphertext and / or the protected data in the ciphertext, but may not be able to match the protected data with any record data stored for the registered card. In this regard, contactless card 1204 may be associated with a customer account, and the customer account may be associated with mobile device 1202 and / or the telephone number of mobile device 1202 in a database or data storage maintained by the server. Thus, mobile device 1202 may provide the server with the ciphertext received from contactless card 1204 along with identification data, such as the identifier of the mobile device and / or the telephone number of the mobile device, and the server may use such received information to identify the customer account and verify that the customer account is associated with mobile device 1202 and / or the telephone number of the mobile device.
[0158] FIG13 is a flowchart illustrating an example of method 1300 according to the disclosed embodiments. In some embodiments, mobile devices (such as mobile device 1202, mobile device 1102 and / or client device 104) may perform some or all of method 1300. Additionally or alternatively, in some embodiments, a server communicating with a mobile device may perform some or all of method 1300.
[0159] As shown, method 1300 may include receiving ciphertext from a contactless card, as shown in 1302. For example, in some embodiments, a short-range communication antenna of the mobile device may receive ciphertext from a contactless card.
[0160] After receiving the ciphertext as in 1302, method 1300 may include verifying the ciphertext as in 1304 to identify a customer account associated with the contactless card. For example, in some embodiments, the processor of the mobile device and / or server may verify the ciphertext and / or identify the customer account associated with the contactless card. In some embodiments, the processor of the mobile device and / or server may successfully decrypt the ciphertext to verify the ciphertext and / or identify the customer account associated with the contactless card. For example, the processor of the mobile device and / or server may decrypt protected data in the ciphertext, compare the protected data with recorded data associated with the contactless card and stored on the mobile device and / or server, and identify the customer account based on the match between the protected data and the recorded data. In embodiments where the server verifies the ciphertext and / or identifies the customer account associated with the contactless card, the interface of the mobile device may transmit the ciphertext to the server and receive one or more indications indicating that the ciphertext has been verified and / or the customer account associated with the contactless card has been identified. For example, the mobile device may transmit one or more data messages including ciphertext to the server and may receive indications including an identifier of a customer account associated with the contactless card and / or that the ciphertext has been verified.
[0161] After the ciphertext has been verified and the customer account associated with the contactless card has been identified (as shown in 1304), method 1300 may include verifying that the mobile device's phone number is associated with the customer account (as shown in 1306). For example, the processor of the mobile device and / or the server may identify the mobile device's phone number and compare the mobile device's phone number with a recorded number associated with the customer account and stored on the mobile device and / or the server to determine whether they match, thereby verifying that the mobile device's phone number is associated with the customer account. In some embodiments, the interface of the mobile device and / or the server may call or otherwise contact or connect to a mobile network operator to verify whether the mobile device's phone number matches mobile network operator data. In embodiments where the server verifies that the mobile device's phone number is associated with the customer account, the mobile device's interface may transmit identification data to the server and may receive one or more indications indicating that a recorded number associated with the customer account and / or the mobile device's phone number has been verified as associated with the customer account.
[0162] After the ciphertext has been verified, the customer account associated with the contactless card has been identified, and the mobile device’s phone number has been verified as being associated with the customer account, method 1300 may include receiving enhanced security input data, as shown in 1308.In some embodiments, in response to the mobile device's processor verifying that the mobile device's phone number is associated with a customer account, the mobile device's display device may display a request for enhanced security input data.
[0163] In response to receiving enhanced security input data, method 1300 may include verifying that the enhanced security input data matches security record data associated with the customer account, as shown in 1310. For example, the processor of the mobile device and / or server may compare the enhanced security input data with security record data associated with the customer account and stored on the mobile device and / or server, and determine whether a match exists between them. In embodiments where the server verifies that the enhanced security input data matches security record data associated with the customer account, the mobile device's interface may transmit the enhanced security input data to the server and receive one or more indications as to whether the enhanced security input data matches security record data associated with the customer account. For example, the mobile device may transmit one or more data messages including the enhanced security input data to the server and may receive one or more indication messages including an indication that the enhanced security input data has been verified as matching security record data associated with the customer account.
[0164] Finally, method 1300 may include logging into a mobile application on the mobile device to access the customer account, as shown in 1312. For example, the processor of a mobile application, mobile device, and / or server can provide access to a customer account via a mobile application running on the mobile device.
[0165] FIG14 illustrates an example of a sequence flow 1400 according to a disclosed embodiment. In some embodiments, authentication and / or certification may be performed by the mobile device 1404. Additionally or alternatively, in some embodiments, authentication and / or certification may be performed by the server 1406.
[0166] At 1408, a contactless card 1402 may be tapped or brought into the communication range of the mobile device 1404 and may exchange information with the mobile device 1404. Line 1408 may represent communication between the contactless card 1402 and the mobile device 1404 and may include ciphertext stored on the contactless card 1402 and provided to the mobile device 1404. In some embodiments, protected data in the ciphertext may be encrypted using the systems and methods described herein, for example, as shown in FIGS. 1 through 10. Specification page 21 / 26 25 CN 121532764 A
[0167] In some embodiments, communication between the contactless card 1402 and the mobile device 1404 may include NFC communication according to one or more NFC protocols. However, the embodiments disclosed herein are not limited thereto, and other wireless technologies, such as other short-range communication protocols, may be included in addition to NFC or as an alternative to NFC.
[0168] The mobile device 1404 may process ciphertext received from the contactless card 1402.For example, in some embodiments, mobile device 1404 and / or server 1406 can verify ciphertext to identify a customer account associated with contactless card 1402. In some embodiments, mobile device 1404 can operate as a channel, transmitting ciphertext and other data to server 1406 for verification and authentication, for example, as discussed in Figures 1 through 10.
[0169] As shown in Figure 14, at 1410, mobile device 1404 can transmit information to server 1406, and at 1412, server 1406 can transmit information to mobile device 1404. Line 1410 can represent communication from mobile device 1404 to server 1406, and line 1412 can represent communication from server 1406 to mobile device 1404. For example, in some embodiments, mobile device 1404 may transmit ciphertext received from contactless card 1402 to server 1406, and server 1406 may transmit to mobile device 1404 an indication that the ciphertext has been verified and / or that the customer account associated with contactless card 1402 has been identified. However, in some embodiments, mobile device 1404 may partially or completely process the ciphertext received from contactless card 1402 and transmit the processed ciphertext to server 1406, such as partially or completely decrypted protected data or keys. Additionally or alternatively, in some embodiments, mobile device 1404 may transmit an information request to server 1406 requesting data stored on server 1406, such as recording data, for comparison with protected data in the ciphertext received from contactless card 1402, and server 1406 may transmit such requested data to mobile device 1404. Additionally or alternatively, in some embodiments, information requests transmitted from mobile device 1404 to the server may request the identifier of a customer account associated with contactless card 1402 and / or data associated therewith, and server 1406 may transmit such requested data to mobile device 1404. In some embodiments, mobile device 1404 may store recorded data thereon for comparison with protected data, and / or may store the identifier of a customer account and / or data associated therewith for comparison with data associated with mobile device 1404 (including the telephone number of mobile device 1404).
[0170] Mobile device 1404 and / or server 1406 may also verify whether the telephone number of mobile device 1404 is associated with a customer account. As shown in FIG14, at 1414, mobile device 1404 may transmit information to server 1406, and at 1416, server 1406 may transmit information to mobile device 1404. Line 1414 can represent communication from mobile device 1404 to server 1406, and line 1416 can represent communication from server 1406 to mobile device 1404.For example, in some embodiments, mobile device 1404 may transmit its phone number to server 1406, and server 1406 may transmit to mobile device 1404 an indication that the phone number of mobile device 1404 is associated with a customer account. Additionally or alternatively, in some embodiments, mobile device 1404 and / or server 1406 may call or otherwise contact or connect to a mobile network operator to verify whether the mobile device's phone number matches mobile network operation data. Additionally or alternatively, in some embodiments, mobile device 1404 may transmit an information request to server 1406 requesting data stored on server 1406 and retrieved or identified by server 1406, such as a recorded number, to be compared with the mobile device's phone number, and server 1406 may transmit such request data to mobile device 1404. In some embodiments, mobile device 1404 may store recorded numbers thereon for comparison with the mobile device's phone number.
[0171] At 1418, mobile device 1404 may receive enhanced security input data as user input. Line 1418 may represent communication from a user to a mobile device 1404. For example, enhanced security input data may be input into the display device of the mobile device 1404. The mobile device 1404 and / or server 1406 may then verify whether the enhanced security input data matches the enhanced security record data associated with the customer account. In some embodiments, the mobile device 1404 may operate as a channel and transmit the enhanced security input data to the server 1406 for verification.
[0172] The mobile device 1404 and / or server 1406 may also verify whether the telephone number of the mobile device 1404 is associated with the customer account. As shown in FIG14, at 1420, the mobile device 1404 may transmit information to the server 1406, and at 1422, the server 1406 may transmit information to the mobile device 1404. Line 1420 may represent communication between mobile device 1404 and server 1406, and line 1422 may represent communication from server 1406 to mobile device 1404. For example, in some embodiments, mobile device 1404 may transmit received enhanced security input data to server 1406, and server 1406 may transmit an indication to mobile device 1404 that the enhanced security input data matches enhanced security record data associated with a customer account.Additionally or alternatively, in some embodiments, mobile device 1404 may transmit an information request to server 1406, requesting an enhanced security record stored on server 1406 for comparison with enhanced security input data, and server 1406 may transmit the requested data to mobile device 1404. In some embodiments, mobile device 1404 may store enhanced security record data thereon for comparison with enhanced security input data.
[0173] It should be understood that server 1406 may process some or all of any data, information, and / or requests received from mobile device 1404. For example, in some embodiments, server 1406 may decrypt ciphertext. Additionally or alternatively, in some embodiments, server 1406 may compare received, processed, or retrieved data with data stored thereon to identify additional data and / or identify matches between them.
[0174] It should also be understood that mobile device 1404 may communicate with server 1406 via one or more wireless and / or wired connections. For example, in some embodiments, mobile device 1404 may transmit any data, information, or request to one or more application interfaces (APIs) hosted by server 1406. Additionally or alternatively, in some embodiments, mobile device 1404 may transmit any data, information, or request to one or more APIs hosted by a third party, such as a cloud computing provider.
[0175] At 1424, after verifying that the enhanced security input data matches the enhanced security record data associated with the customer account, mobile device 1404 may log in to a mobile application running on mobile device 1404 to access the customer account. In some embodiments, logging in to the mobile application may include communication between mobile device 1404 and server 1406 as described herein.
[0176] FIG15 illustrates an embodiment of an exemplary computer architecture 1500 suitable for implementing the various embodiments described above. In one embodiment, computer architecture 1500 may include or be implemented as part of one or more systems or devices discussed herein.
[0177] As used herein, the terms “system” and “component” are intended to refer to computer-related entities: hardware, a combination of hardware and software, software or software in execution, examples of which are provided by the exemplary computing computer architecture 1500. For example, a component can be, but is not limited to, a process running on a processor, a processor, a hard disk drive, multiple storage drives (of optical and / or magnetic storage media), an object, an executable file, an execution thread, a program, and / or a computer. For example, an application running on a server and the server itself can both be components. One or more components may reside in a process and / or an execution thread, and components may be localized on a single computer and / or distributed across two or more computers.Furthermore, components can communicate and couple with each other through various types of communication media to coordinate operation. Coordination may involve one-way or two-way information exchange. For example, components can convey information in the form of transmitted signals through a communication medium. This information can be implemented as signals assigned to various signal lines. In such an assignment, each message is a signal. However, other embodiments may alternatively employ data messages. Such data messages can be sent through various connections. Exemplary connections include parallel interfaces, serial interfaces, and bus interfaces. Specification 23 / 26 pages 27 CN 121532764 A
[0178] Computing architecture 1500 includes various common computing elements, such as one or more processors, multi-core processors, coprocessors, memory units, chipsets, controllers, peripherals, interfaces, oscillators, timing devices, video cards, sound cards, multimedia input / output (I / O) components, and power supplies, etc. However, these embodiments are not limited to those implemented by computing architecture 1500.
[0179] As shown in FIG15, computing architecture 1500 includes processor 1512, system memory 1504, and system bus 1506. Processor 1512 can be any of a variety of commercially available processors.
[0180] System bus 1506 provides interfaces for system components, including but not limited to system memory 1504 to processor 1512. System bus 1506 can be any of several types of bus architectures that can be further interconnected to memory buses (with or without memory controllers), peripheral buses, and local buses using any of a variety of commercially available bus architectures. Interface adapters can be connected to system bus 1506 via slot architectures. Example slot architectures can include, but are not limited to, Accelerated Graphics Port (AGP), Card Bus, (Extended) Industry Standard Architecture ((E)ISA), Micro Channel Architecture (MCA), NuBus, Peripheral Component Interconnect (Extended) (PCI(X)), Peripheral Device Interconnect (PCI) Express, Personal Computer Memory Card International Association (PCMCIA), and similar architectures.
[0181] Computing architecture 1500 can include or implement various articles of manufacture. Articles of manufacture can include computer-readable storage media for storing logic. Examples of computer-readable storage media can include any tangible medium capable of storing electronic data, including volatile or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, and writable or rewritable memory. Examples of logic can include executable computer program instructions implemented using any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, object-oriented code, visual code, and similar code.Embodiments may also be implemented, at least in part, as instructions contained in or on a non-transitory computer-readable medium that can be read and executed by one or more processors to perform the operations described herein.
[0182] System memory 1504 may include various types of computer-readable storage media in the form of one or more high-speed memory cells, such as ROM, RAM, dynamic RAM (DRAM), double data rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM), EEPROM, flash memory, polymer memory (such as ferroelectric polymer memory), austenite memory, phase change or ferroelectric memory, silicon oxide silicon oxynitride (SONOS) memory, magnetic cards or optical cards, arrays of devices (such as redundant array of independent disks (RAID) drives), solid-state memory devices (e.g., USB memory), solid-state drives (SSDs), and any other type of storage medium suitable for storing information. In the embodiment shown in FIG15, system memory 1504 may include non-volatile memory 1508 and / or volatile memory 1510. The Basic Input / Output System (BIOS) may be stored in non-volatile memory 1508.
[0183] The computer 1502 may include various types of computer-readable storage media in the form of one or more low-speed memory cells, including an internal (or external) hard disk drive 1530, a disk drive 1516 for reading or writing to a removable disk 1520, and an optical disk drive 1528 for reading or writing to a removable optical disk 1532 (e.g., a CD-ROM or DVD). The hard disk drive 1530, disk drive 1516, and optical disk drive 1528 may be connected to the system bus 1506 via a hard disk drive (HDD) interface 1514, a floppy disk drive (FDD) interface 1518, and an optical disk drive interface 1534, respectively. The HDD interface 1514 for an external drive implementation may include at least one or both of Universal Serial Bus (USB) and IEEE 1394 interface technologies.
[0184] The drives and associated computer-readable media provide volatile and / or non-volatile storage devices for data, data structures, and computer-executable instructions, etc. For example, numerous program modules may be stored in the drive and non-volatile memory 1508 and volatile memory 1510, including an operating system 1522, one or more applications 1542, other program modules 1524, and program data 1526. In one embodiment, one or more applications 1542, other program modules 1524, and program data 1526 may include various applications and / or components of, for example, the systems discussed herein.
[0185] Users can input commands and information to computer 1502 through one or more wired / wireless input devices, such as keyboard 1550 and pointing devices such as mouse 1552. Other input devices may include microphones, infrared (IR) remote controls, radio frequency (RF) remote controls, game pads, styluses, card readers, dongles, fingerprint readers, gloves, graphics tablets, joysticks, keyboards, retinal readers, touchscreens (e.g., capacitive, resistive, etc.), trackballs, trackpads, sensors, styluses, and similar input devices. These and other input devices are typically connected to processor 1512 via input device interface 1536 coupled to system bus 1506, but may be connected via other interfaces such as parallel ports, IEEE 1394 serial ports, game ports, USB ports, and IR interfaces.
[0186] Display 1544 or other types of display devices are also connected to system bus 1506 via an interface such as video adapter 1546. Display 1544 may be located inside or outside computer 1502. In addition to the display 1544, the computer typically includes other peripheral output devices, such as speakers and printers.
[0187] The computer 1502 can operate in a networked environment using logical connections to one or more remote computers (such as one or more remote computers 1548) via wired and / or wireless communications. The one or more remote computers 1548 may be workstations, server computers, routers, personal computers, portable computers, microprocessor-based entertainment devices, peer-to-peer devices, or other public network nodes, and typically include many or all of the elements described relative to the computer 1502, although for brevity only memory and / or storage devices 1558 are shown. The depicted logical connections include wired / wireless connections to a local area network 1556 and / or a larger network (e.g., a wide area network 1554). Such LAN and wide area network (WAN) networking environments are common in offices and companies and facilitate enterprise-wide computer networks (such as intranets), all of which can be connected to global communication networks (e.g., the Internet).
[0188] When used in a local area network (LAN) 1556 networking environment, computer 1502 is connected to LAN 1556 via a wired and / or wireless communication network interface or network adapter 1538. Network adapter 1538 can facilitate wired and / or wireless communication with LAN 1556, which may also include a wireless access point configured thereon for communicating with the wireless capabilities of network adapter 1538.
[0189] When used in a wide area network (WAN) 1554 networking environment, computer 1502 may include modem 1540, or be connected to a communication server on WAN 1554, or have other means for establishing communication on WAN 1554, such as via the Internet.Modem 1540 may be internal or external and may be a wired and / or wireless device connected to system bus 1506 via input device interface 1536. In a networked environment, program modules or portions thereof depicted relative to computer 1502 may be stored in remote memory and / or storage device 1558. It should be understood that the network connections shown are exemplary and other means of establishing communication links between computers may be used.
[0190] Computer 1502 is operable to communicate with wired and wireless devices or entities using IEEE 802 series standards, such as wireless devices operable in wireless communication (e.g., IEEE 802.11 air modulation technology). This includes at least Wi-Fi (or wireless LAN), WiMax, and Bluetooth™ wireless technologies and others. Thus, the communication may be a predefined structure like a conventional network or simply self-organizing communication between at least two devices. Wi-Fi networks use radio technology known as IEEE 802.11 (a, b, g, n, etc.) to provide secure, reliable, and fast wireless connectivity. Wi-Fi networks can be used to connect computers to each other, to the Internet, and to wired networks (which use media and functions associated with IEEE 802.3).
[0191] Various elements of the device as described above may include various hardware elements, software elements, or combinations thereof. Examples of hardware elements may include devices, logic devices, components, processors, microprocessors, circuits, processors, circuit elements (e.g., transistors, resistors, capacitors, and inductors), integrated circuits, application-specific integrated circuits (ASICs), PLDs, DSPs, field-programmable gate arrays (FPGAs), memory cells, logic gates, registers, semiconductor devices, chips, microchips, and chipsets, etc. Examples of software elements may include software components, programs, applications, computer programs, application programs, system programs, software development programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, programs, software interfaces, APIs, instruction sets, computational code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. However, determining whether an embodiment is implemented using hardware and / or software components can vary depending on many factors, such as desired computing speed, power level, thermal tolerance, processing cycle budget, input data rate, output data rate, memory resources, data bus speed, and other design or performance constraints required for a given implementation.
[0192] The components and features of the above-described device can be implemented using any combination of discrete circuits, ASICs, logic gates, and / or monolithic architectures.Furthermore, where appropriate, the features of the device may be implemented using a microcontroller, a programmable logic array and / or a microprocessor or any combination thereof. It should be noted that hardware, firmware, and / or software elements may be collectively or individually referred to herein as “logic” or “circuit.”
[0193] FIG16 is a block diagram depicting an exemplary communication architecture 1600 suitable for implementing the various embodiments described above. Communication architecture 1600 includes various common communication elements, such as transmitters, receivers, transceivers, radios, network interfaces, baseband processors, antennas, amplifiers, filters, and power supplies. However, embodiments are not limited to those implemented by communication architecture 1600 and may be consistent with the systems and devices discussed herein.
[0194] As shown in FIG16, communication architecture 1600 includes one or more clients 1602 and one or more servers 1604. The one or more servers 1604 may implement one or more of the functions and embodiments discussed herein. One or more clients 1602 and one or more servers 1604 are operatively connected to one or more corresponding client data stores 1606 and server data stores 1608, which may be used to store information local to one or more corresponding clients 1602 and one or more servers 1604, such as cookies and / or associated context information.
[0195] One or more clients 1602 and one or more servers 1604 may use communication framework 1610 to communicate information to each other. Communication framework 1610 may implement any known communication technology and protocol. Communication framework 1610 may be implemented as a packet-switched network (e.g., a public network such as the Internet, and a private network such as a corporate intranet), a circuit-switched network (e.g., a public switched telephone network), or a combination of packet-switched and circuit-switched networks (with suitable gateways and converters).
[0196] Communication framework 1610 may implement various network interfaces arranged to receive, communicate, and connect to a communication network. A network interface may be considered as a special form of input / output (I / O) interface. Network interfaces can employ connectivity protocols, including but not limited to direct connection, Ethernet (e.g., thick, thin, twisted pair 10 / 100 / 1000BaseT, etc.), Token Ring, wireless network interfaces, cellular network interfaces, IEEE 802.7a-x network interfaces, IEEE 802.16 network interfaces, IEEE 802.20 network interfaces, and similar network interfaces. Furthermore, multiple network interfaces can be used to interface with various communication network types. For example, multiple network interfaces can be used to allow communication over broadcast, multicast, and unicast networks.If processing requirements dictate greater speed and capacity, a similar distributed network controller architecture can be employed to pool, load balance, and otherwise increase the communication bandwidth required by one or more clients 1602 and one or more servers 1604. The communication network can be any type and combination of wired and / or wireless networks, including but not limited to direct interconnects, secure custom connections, private networks (e.g., corporate intranets), public networks (e.g., the Internet), PANs, LANs, metropolitan area networks (MANs), Operational Mission as an Internet Node (OMNI), WANs, wireless networks, cellular networks, and other communication networks. Instruction manual, page 26 / 26, 30 CN 121532764 A, Figure 1, Figure 2; Instruction manual, Figure 1 / 15, page 31 CN 121532764 A, Figure 3; Instruction manual, Figure 2 / 15, page 32 CN 121532764 A, Figure 4; Instruction manual, Figure 3 / 15, page 33 CN 121532764 A, Figure 5; Instruction manual, Figure 4 / 15, page 34 CN 121532764 A, Figure 6; Instruction manual, Figure 5 / 15, page 35 CN 121532764 A, Figure 7; Instruction manual, Figure 6 / 15, page 36 CN 121532764 A, Figure 8; Instruction manual, Figure 7 / 15, page 37 CN 121532764 A, Figure 9; Instruction manual, Figure 8 / 15, page 38 CN 121532764 A, Figure 10; Instruction manual, Figure 9 / 15, page 39 CN 121532764 A, Figure 11. Figure 12 of the instruction manual, Figure 13 of the instruction manual, Figure 14 of the instruction manual, Figure 15 of the instruction manual, Figure 16 of the instruction manual, Figure 17 of the instruction manual, Figure 18 of the instruction manual, Figure 19 of the instruction manual, Figure 10 of the instruction manual, Figure 10 of the instruction manual, Figure 12 of the instruction manual, Figure 19 of the instruction manual, Figure 10 of the instruction manual, Figure 12 ...9 of the instruction manual, Figure 10 of the instruction manual, Figure 12 of the instruction
Claims
1. A method, the method comprising: Receive encrypted messages from contactless cards via the short-range communication antenna of the mobile device; The encrypted message is verified by the processor of the mobile device to identify the customer account associated with the contactless card; The mobile device's processor verifies that the mobile device's phone number is associated with the customer's account; as well as Enhanced security input data is received via the user interface of the mobile device; The enhanced security input data is verified by the mobile device's processor to match the enhanced security record data associated with the customer account; as well as Once the encrypted message, the mobile device's phone number, and the enhanced security input data have been verified, log in to the mobile application running on the mobile device to access the customer account.
2. The method according to claim 1, wherein, The enhanced security input data includes alphanumeric passwords.
3. The method according to claim 1, wherein, The user interface device includes a camera on the mobile device, and the enhanced security input data includes selfies of the user captured by the camera during a predetermined time period during which the short-range communication antenna receives the ciphertext from the contactless card.
4. The method according to claim 1, wherein, The enhanced security input data includes biometric input data.
5. The method according to claim 1, further comprising: In response to verifying the ciphertext and the mobile device's phone number, a request for the enhanced security input data is displayed on the mobile device's display device.
6. The method according to claim 1, further comprising: The ciphertext was successfully decrypted to verify it and identify the customer account.
7. The method according to claim 6, further comprising: Decrypt the protected data in the ciphertext; The protected data is compared with the recorded data stored in the contactless card; as well as The customer account is identified based on the matching between the protected data and the stored record data.
8. The method according to claim 1, further comprising: The ciphertext and the enhanced security input data are transmitted from the mobile device to the server; as well as The encrypted message, the mobile device's phone number, and one or more indications that the enhanced security input data has been verified are received at the mobile device.
9. The method according to claim 8, further comprising: One or more messages are transmitted from the mobile device to the server, wherein the one or more messages include the ciphertext and the enhanced security input data.
10. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform the following operations: Receive encrypted messages from contactless cards via the short-range communication antenna of the mobile device; Verify the encrypted message to identify the customer account associated with the contactless card; Verify that the phone number on the mobile device is associated with the customer account; as well as Enhanced security input data is received via the user interface device of the mobile device; Verify that the enhanced security input data matches the enhanced security record data associated with the customer account; as well as Once the encrypted message, the mobile device's phone number, and the enhanced security input data have been verified, log in to the mobile application running on the mobile device to access the customer account.
11. The non-transitory computer-readable medium according to claim 10, wherein, The enhanced security input data includes alphanumeric passwords.
12. The non-transitory computer-readable medium according to claim 10, wherein, The user interface device includes a camera, and the enhanced security input data includes selfies of the user captured by the camera during a predetermined time period during which the short-range communication antenna receives the ciphertext from the contactless card.
13. The non-transitory computer-readable medium according to claim 10, wherein, The enhanced security input data includes biometric input data.
14. The non-transitory computer-readable medium according to claim 10, wherein, In response to verifying the ciphertext and the mobile device's phone number, the instruction also causes the processor to display a request for the enhanced security input data on the mobile device's display device.
15. The non-transitory computer-readable medium according to claim 10, wherein, The instruction also causes the processor to successfully decrypt the ciphertext in order to verify the ciphertext and identify the customer account.
16. The non-transitory computer-readable medium according to claim 15, wherein, The instruction causes the processor to perform the following further operations: Decrypt the protected data in the ciphertext; The protected data is compared with the recorded data stored associated with the contactless card; and The customer account is identified based on the matching between the protected data and the stored record data.
17. The non-transitory computer-readable medium according to claim 15, wherein, The instruction causes the processor to perform the following further operations: The ciphertext and the enhanced security input data are transmitted to the server; and The system receives one or more indications that the encrypted message, the mobile device's phone number, and the enhanced security input data have been verified.
18. The non-transitory computer-readable medium according to claim 17, wherein, The instructions also cause the processor to transmit one or more messages to the server, wherein the one or more messages include the ciphertext and the enhanced security input data.
19. A mobile device, the mobile device comprising: Short-range communication antenna; User interface devices; processor; and The memory stores instructions that, when executed by the processor, cause the processor to perform the following operations: The encrypted message from the contactless card is received via the short-range communication antenna. Verify the encrypted message to identify the customer account associated with the contactless card; Verify that the phone number on the mobile device is associated with the customer account; as well as Receive enhanced security input data via the user interface device; Verify that the enhanced security input data matches the enhanced security record data associated with the customer account; as well as Once the encrypted message, the mobile device's phone number, and the enhanced security input data have been verified, log in to the mobile application running on the mobile device to access the customer account.
20. The mobile device of claim 19, further comprising: Display devices In response to verifying the ciphertext and the mobile device's phone number, the instruction also causes the processor to display a request for the enhanced security input data on the display device.