Secure password generation and management using NFC and contactless smart cards
NFC-enabled contactless smart cards generate and manage secure passwords, addressing device limitations and master password vulnerabilities by using verifiable randomness and physical card possession for enhanced security.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-11-21
- Publication Date
- 2026-03-10
AI Technical Summary
Traditional password managers are limited by device availability, unverifiable randomness, and reliance on a single master password for security, making them vulnerable to breaches.
Utilizing an NFC-enabled contactless smart card to generate and manage secure passwords through a random number generator or cryptographic hash function, converting outputs to human-readable characters, and optionally transforming them for added security, with the card serving as a 'master' password.
Ensures secure, verifiable password generation and management, minimizing exposure by not storing passwords on the device, and requiring physical possession of the card for access, thus enhancing security beyond traditional methods.
Smart Images

Figure 2026041800000001_ABST
Abstract
Description
[Technical Field]
[0001] Related Applications This application claims priority to U.S. Patent Application No. 16 / 725,866, entitled "Secure Password Generation and Management Using NFC and Contactless Smart Cards," filed December 23, 2019, the contents of which are incorporated herein by reference in their entirety. [Background technology]
[0002] A brute-force cracking attack is a commonly employed hacking technique that hackers can use to break into computers, email accounts, online banking accounts, applications, websites, etc. by manually guessing passwords. Therefore, strong, complex passwords can be essential to protect users from identity or financial theft.
[0003] Traditional password managers assist in the generation and retrieval of complex passwords, storing such passwords in an encrypted database or computed on-demand. Traditional password managers can be locally installed software applications, online services accessed through website portals, or locally accessed hardware devices that act as keys. Traditional password managers typically require users to generate and memorize a single "master" password to unlock and access the information stored in the database.
[0004] However, traditional password managers are problematic in several ways. First, users do not always have the device on which they run the password manager. Second, the randomness of the password generators used by password managers cannot be verified. Third, a password manager, no matter how strong, is only as effective as the user-created master password that protects it. Summary of the Invention
[0005] Various embodiments are directed to securely generating and managing passwords using a near-field communication (NFC)-enabled contactless smart card. For example, a secure password may be generated by generating a random number via a random number generator on the contactless smart card and converting the random number to one or more human-readable characters. In another example, a secure cryptographic hash function on the contactless smart card may generate a hash output value that may be converted to one or more human-readable characters. The human-readable characters may be used as a secure password or may be converted to add more layers of security and complexity. [Brief explanation of the drawings]
[0006] [Figure 1A] 1 illustrates an exemplary data transmission system according to one or more embodiments. [Figure 1B] 1 illustrates an exemplary sequence diagram for providing authenticated access according to one or more embodiments. [Figure 2] 1 illustrates an exemplary system for using contactless cards according to one or more embodiments. [Figure 3A] 1 illustrates an exemplary contactless card according to one or more embodiments. [Figure 3B] 1 illustrates an exemplary contact pad of a contactless card according to one or more embodiments. [Figure 4] 1 illustrates an exemplary sequence diagram associated with secure password generation according to one or more embodiments. [Figure 5] 1 illustrates an exemplary password manager application and secure password generation according to one or more embodiments. [Figure 6] 10 illustrates another example of a sequence diagram related to secure password generation according to one or more embodiments. [Figure 7] 1 illustrates an exemplary secure password generation for a website according to one or more embodiments. [Figure 8] 1 illustrates an exemplary flow diagram according to one or more embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0007] Various embodiments are generally directed to securely generating and managing one or more passwords using a near-field communication (NFC)-enabled contactless smart card. For example, upon establishing authorized NFC communication between a computing device, such as a mobile device (e.g., a smartphone, laptop, tablet, etc.), and the contactless card, the contactless card may generate a truly random, human-readable, secure password using at least one applet stored thereon.
[0008] According to one embodiment, a mobile device may request a secure password from a contactless card when establishing and authenticating NFC communication between the mobile device and the card. A random number generator in the contactless card may generate a random number having a predefined length. The random number may be converted into one or more human-readable characters that can be used as a secure password, or in other examples, the one or more human-readable characters may be transformed by a password transformer to add an additional layer of security to the password, such as by rearranging the human-readable characters or substituting certain characters with other characters. The secure password may be delivered to the mobile device in at least one NFC Data Exchange Format (NDEF) file.
[0009] In some examples, when a mobile device establishes authenticated communication with a specific contactless card, a password manager application may be automatically opened on the mobile device, and only that specific contactless card may open the password manager application. Thus, the physical contactless card itself may be used as a "master" password for the password manager, possibly along with a regular master password. Additionally, the contactless card may automatically and unilaterally generate and transmit one or more new secure passwords, which the user may manage, organize, or use in the password manager application according to the user's needs.
[0010] According to another embodiment, a bidirectional communication protocol may be established between a mobile device and a contactless card to perform secure password generation. For example, upon establishing and authenticating NFC communication, the mobile device may send a password request along with an identifier to the contactless card. The identifier may be any information associated with the application, website, or file for which the password is requested. For example, a uniform resource locator (URL) associated with the website may be used as the identifier. The contactless card obtains and inputs the identifier into a secure cryptographic hash function that outputs a hash output value. The hash output value may be converted into one or more human-readable characters, which may be used as the password itself or may be further transformed by a password transformer to add an additional layer of security to the password. The password is then transmitted to the mobile device.
[0011] By using the identifier to request a secure password, the contactless card (and only the contactless card) may generate the same password for the same requester based on a unique cryptographic hash function contained on the card. Thus, as long as a user uses the same contactless card, there is no need to store the secure password on the mobile device or on the card itself, minimizing the overall exposure of passwords to potential hackers.
[0012] In a further example, when a contactless card is tapped to or placed within a threshold distance of a mobile device, the mobile device may automatically enter a secure password into a password field (also referred to as "autofill"). The password may be a new password generated by the contactless card and stored and managed by a password manager on the mobile device, as described above, or the password may be the same password that may be requested by the same requestor (e.g., an application, a website, a file, etc.), as described above.
[0013] In previous solutions, the effectiveness of password managers was limited to the device on which they were installed because users did not always have those devices in their possession. Furthermore, the randomness of the password generators used by password managers could not be verified. Furthermore, password managers were only as strong as a “master” password, protecting the manager from unauthorized access. The embodiments and examples described herein advantageously overcome previous solutions in that they may use highly secure and verifiable hardware components, such as NFC-enabled contactless smart cards, to generate truly random, human-readable passwords, in some instances, without the need to store the generated passwords on the contactless card and / or mobile device, thereby minimizing exposure to breaches by eliminating significant portions of data that could be hacked. Additionally, the contactless card itself (possibly along with the master password) can be used to open a password manager application on a mobile device, allowing the physical card to function as a “master” password, overcoming the weakest link problem associated with most password manager applications.
[0014] Reference is now made to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding thereof. However, it may be apparent that novel embodiments may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form to facilitate description thereof. The intention is to cover all modifications, equivalents, and alternatives within the scope of the claims.
[0015] 1A illustrates an exemplary data transmission system according to one or more embodiments. As discussed further below, system 100 may include contactless card 105, client device 110, network 115, and server 120. Although FIG. 1A illustrates a single instance of the components, system 100 may include any number of components.
[0016] System 100 may include one or more contactless cards 105, which are further described below with reference to Figures 3A and 3B. In some embodiments, contactless card 105 may communicate wirelessly with client device 110, in one example utilizing NFC.
[0017] System 100 may include client device 110, which may be a network-enabled computer. As referred to herein, a network-enabled computer may include a computing device or a communications device, including, for example, but not limited to, a server, a network appliance, a personal computer, a workstation, a telephone, a smartphone, a handheld PC, a personal digital assistant, a thin client, a fat client, an Internet browser, or other device. Client device 110 may be a mobile computing device, for example, an Apple® iPhone®, an iPod®, an iPad®, or other suitable device running Apple's iOS® operating system, a device running Microsoft's Windows® mobile operating system, a device running Google's Android® operating system, and / or other suitable mobile computing device such as a smartphone, tablet, or similar wearable mobile device.
[0018] It is understood that the client device 110 device may include a processor and memory, and that the processing circuitry may include additional components, including processors, memory, error and parity / CRC checkers, data encoders, anti-collision algorithms, controllers, command decoders, security primitives, and tamper-proof hardware, as necessary to perform the functions described herein. The client device 110 may further include a display and input devices. The display may be any type of device for presenting visual information, such as a computer monitor, a flat-panel display, and a mobile device screen, including liquid crystal displays, light-emitting diode displays, plasma panels, and cathode ray tube displays. The input devices may include any device for inputting information into a user's device that is available and supported by the user's device, such as a touchscreen, keyboard, mouse, cursor control device, touchscreen, microphone, digital camera, video recorder, or camcorder. These devices may be used to input information and interact with the software and other devices described herein.
[0019] In some examples, a client device 110 of system 100 may execute one or more applications, such as software applications, that enable network communication with one or more components of system 100 and transmit and / or receive data, for example.
[0020] Client device 110 may communicate with one or more servers 120 via one or more networks 115 and may operate as a respective front-end to back-end pair with server 120. Client device 110 may send one or more requests to server 120, for example, from a mobile device application executing on client device 110. The one or more requests may be associated with retrieving data from server 120. Server 120 may receive one or more requests from client device 110. Based on the one or more requests from client device 110, server 120 may be configured to retrieve the requested data from one or more databases (not shown). Based on receiving the requested data from the one or more databases, server 120 may be configured to transmit the received data to client device 110, where the received data may be responsive to the one or more requests.
[0021] The system 100 may include one or more networks 115. In some examples, the network 115 may be one or more of a wireless network, a wired network, or any combination of wireless and wired networks and may be configured to connect the client devices 110 to the server 120. For example, the network 115 may include one or more of an optical fiber network, a passive optical network, a cable network, an Internet network, a satellite network, a wireless local area network (LAN), a global system for mobile communications, a personal communications service, a personal area network, a wireless application protocol, a multimedia messaging service, an enhanced messaging service, a short message service, a time division multiplex-based system, a code division multiple access (CDMA)-based system, D-AMPS, Wi-Fi, fixed wireless data, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, radio frequency identification (RFID), Wi-Fi, etc.
[0022] Additionally, network 115 may include, but is not limited to, a telephone line, optical fiber, IEEE Ethernet 802.3, a wide area network, a wireless personal area network, a LAN, or a global network such as the Internet. Furthermore, network 115 may support an Internet network, a wireless communication network, a cellular network, or the like, or any combination thereof. Network 115 may further include one network or any number of the exemplary types of networks listed above, operating as a standalone network or in cooperation with one another. Network 115 may utilize one or more protocols of one or more network elements to which they are communicatively coupled. Network 115 may translate to or from one or more protocols of network devices from other protocols. While network 115 is shown as a single network, it should be understood that, according to one or more examples, network 115 may include multiple interconnected networks, such as the Internet, a service provider network, a cable television network, an enterprise network such as a credit card association network, and a home network.
[0023] The system 100 may include one or more servers 120. In some examples, the server 120 may include one or more processors coupled to a memory. The server 120 may be configured as a central system, server, or platform for controlling and retrieving various data at different times to perform multiple workflow actions. The server 120 may be configured to connect to one or more databases. The server 120 may be connected to at least one client device 110.
[0024] 1B shows an example sequence diagram for providing authenticated access according to one or more embodiments. The diagram may include a contactless card 105 and a client device 110, which may include an application 122 and a processor 124. FIG. 1B may reference similar components as shown in FIG. 1A.
[0025] In step 102, application 122 communicates with contactless card 105 (e.g., after card 105 is brought close to device 110, after card 105 is tapped to device 110, etc.). Communication between application 122 and contactless card 105 may involve contactless card 105 being sufficiently close to a card reader (not shown) of client device 110 to enable NFC data transfer between application 122 and contactless card 105.
[0026] In step 104, after communication is established between client device 110 and contactless card 105, contactless card 105 generates a message authentication code (MAC) cryptogram. In some examples, this may occur when contactless card 105 is read by application 122. In particular, this may occur upon a read, such as an NFC read of an NDEF tag, which may be created according to the NFC data exchange format.
[0027] For example, a reader such as application 122 may send a message such as a select applet message using the applet ID of the NDEF generation applet. Once the selection is confirmed, a series of select file messages followed by read file messages may be sent. For example, the sequence may include "select feature file," "read feature file," and "select NDEF file." At this point, a counter value maintained by contactless card 105 may be updated or incremented, followed by "read NDEF file." At this point, a message may be generated that may include a header and a shared secret. A session key may then be generated. A MAC ciphertext may be created from the message, which may include the header and the shared secret. The MAC ciphertext may then be concatenated with one or more blocks of random data, and the MAC ciphertext and random number (RND) may be encrypted with the session key. The ciphertext and header may then be concatenated, encoded as ASCII hexadecimal, and returned in NDEF message format (in response to the "read NDEF file" message).
[0028] In some examples, the MAC cryptogram may be transmitted as an NDEF tag, and in other examples, the MAC cryptogram may be included with a uniform resource indicator (eg, a formatted string).
[0029] In some examples, the application 122 may be configured to send a request to the contactless card 105, the request comprising instructions to generate a MAC cryptogram.
[0030] In step 106, contactless card 105 transmits the MAC cryptogram to application 122. In some examples, transmission of the MAC cryptogram occurs via NFC; however, this disclosure is not limited thereto. In other examples, this communication may occur via Bluetooth, Wi-Fi, or other wireless data communication means.
[0031] In step 108, application 122 communicates the MAC ciphertext to processor 124. In step 112, processor 124 verifies the MAC ciphertext according to instructions from application 122. For example, the MAC ciphertext may be verified as described below.
[0032] In some examples, verification of the MAC ciphertext may be performed by a device other than client device 110 (as shown in FIG. 1A), such as a server 120 in data communication with client device 110. For example, processor 124 may output the MAC ciphertext for transmission to server 120, which may verify the MAC ciphertext.
[0033] In some examples, the MAC ciphertext may act as a digital signature for purposes of verification, which may be performed using a public key asymmetric algorithm, such as the Digital Signature Algorithm and the RSA algorithm, or other digital signature algorithms such as zero-knowledge protocols.
[0034] It may be appreciated that in some examples, contactless card 105 may initiate communication after the contactless card is brought close to client device 110. By way of example, contactless card 105 may send a message to client device 110 indicating, for example, that the contactless card has established communication. Application 122 on client device 110 may then proceed to communicate with the contactless card at step 102, as described above.
[0035] 2 illustrates an exemplary system 200 that uses a contactless card. System 200 may include a contactless card 205, one or more client devices 210, a network 215, servers 220, 225, one or more hardware security modules 230, and a database 235. Although FIG. 2 illustrates a single instance of a component, system 200 may include any number of components.
[0036] System 200 may include one or more contactless cards 205, which are further described below with respect to FIGS. 3A and 3B. In some examples, contactless card 205 may communicate wirelessly, e.g., NFC, with client device 210. For example, contactless card 205 may include one or more chips, such as radio frequency identification chips, configured to communicate via NFC or other short-range protocols. In other embodiments, contactless card 205 may communicate with client device 210 via other means, including, but not limited to, Bluetooth, satellite, Wi-Fi, wired communication, and / or any combination of wireless and wired connections. According to some embodiments, contactless card 205 may be configured to communicate with card reader 213 (which may be referred to herein as an NFC reader, NFC card reader, or reader) of client device 210 via NFC when contactless card 205 is within range of card reader 213. In other examples, communication with the contactless card 205 may be achieved through a physical interface, such as a Universal Serial Bus interface or a card swipe interface.
[0037] System 200 may include client device 210, which may be a network-enabled computer. As referred to herein, a network-enabled computer may include, for example, a computing device or a communications device, including, for example, but not limited to, a server, a network appliance, a personal computer, a workstation, a mobile device, a telephone, a handheld PC, a personal digital assistant, a thin client, a fat client, an Internet browser, or other device. One or more client devices 210 may also be mobile devices. For example, the mobile devices may include an Apple® iPhone®, iPod®, iPad®, or other mobile devices running Apple's iOS® operating system, a device running Microsoft's Windows® mobile operating system, a device running Google's Android® operating system, and / or other smartphones or similar wearable mobile devices. In some examples, client device 210 may be the same as or similar to client device 110, as described with reference to FIG. 1A or FIG. 1B.
[0038] The client device 210 may communicate with one or more servers 220 and 225 via one or more networks 215. The client device 210 may send one or more requests to one or more servers 220 and 225, for example, from an application 211 executing on the client device 210. The one or more requests may be associated with retrieving data from one or more servers 220 and 225. The servers 220 and 225 may receive one or more requests from the client device 210. Based on the one or more requests from the client device 210, the one or more servers 220 and 225 may be configured to retrieve the requested data from one or more databases 235. Based on receiving the requested data from the one or more databases 235, the one or more servers 220 and 225 may be configured to transmit the received data to the client device 210, the received data responding to the one or more requests.
[0039] System 200 may include one or more hardware security modules (HSMs) 230. For example, one or more HSMs 230 may be configured to perform one or more cryptographic operations as disclosed herein. In some examples, one or more HSMs 230 may be configured as special-purpose security devices configured to perform one or more cryptographic operations. HSMs 230 may be configured such that keys are never exposed outside of HSMs 230 but instead are maintained within HSMs 230. For example, one or more HSMs 230 may be configured to perform at least one of key derivation, decryption, and MAC operations. One or more HSMs 230 may be included within or in data communication with servers 220 and 225.
[0040] System 200 may include one or more networks 215. In some examples, network 215 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 210 to server 220 and / or 225. For example, network 215 may include one or more of an optical fiber network, a passive optical network, a cable network, a cellular network, an Internet network, a satellite network, a wireless LAN, a global system for mobile communications, a personal communications service, a personal area network, a wireless application protocol, a multimedia messaging service, an enhanced messaging service, a short message service, a time division multiplex-based system, a code division multiple access-based (CDMA) system, D-AMPS, Wi-Fi, fixed wireless data, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, RFID, Wi-Fi, and / or any combination of these networks. As non-limiting examples, communications from the contactless card 205 and the client device 210 may include NFC communications, a cellular network between the client device 210 and a carrier, and the Internet between the carrier and a backend.
[0041] Additionally, network 215 may include, but is not limited to, telephone lines, optical fiber, IEEE Ethernet 802.3, a wide area network, a wireless personal area network, a local area network, or a global network such as the Internet. Furthermore, network 215 may support an Internet network, a wireless communication network, a cellular network, or the like, or any combination thereof. Network 215 may further include one network or any number of the exemplary types of networks listed above, operating as a standalone network or in cooperation with one another. Network 215 may utilize one or more protocols of one or more network elements to which they are communicatively coupled. Network 215 may translate to or from one or more protocols of network devices from other protocols. While network 215 is shown as a single network, it should be understood that, according to one or more examples, network 215 may include multiple interconnected networks, such as the Internet, a service provider network, a cable television network, an enterprise network such as a credit card association network, and a home network.
[0042] In various examples according to the present disclosure, the client device 210 of the system 200 may execute one or more applications 211 and include one or more processors 212 and one or more card readers 213. The one or more applications 211, e.g., software applications, may be configured to enable network communication with, for example, one or more components of the system 200, to transmit and / or receive data. While only a single instance of a component of the client device 210 is shown in FIG. 2, it will be understood that any number of devices 210 may be used. The card reader 213 may be configured to read from and / or communicate with the contactless card 205. In conjunction with the one or more applications 211, the card reader 213 may communicate with the contactless card 205. In an example, the card reader 213 may include circuitry or circuit components, e.g., an NFC reader coil, that generate a magnetic field that enables communication between the client device 210 and the contactless card 205.
[0043] Any application 211 on the client device 210 may communicate with the contactless card 205 using short-range wireless communication (e.g., NFC). The application 211 may be configured to interface with a card reader 213 on the client device 210 configured to communicate with the contactless card 205. It should be noted that those skilled in the art will understand that a distance of less than 20 centimeters corresponds to an NFC range.
[0044] In some embodiments, the application 211 communicates with the contactless card 205 via an associated reader (eg, card reader 213).
[0045] In some embodiments, card activation may occur without user authentication. For example, the contactless card 205 may communicate with the application 211 via the card reader 213 of the client device 210 via NFC. The communication (e.g., tapping the card in proximity to the card reader 213 of the client device 210) allows the application 211 to read data associated with the card and perform activation. In some cases, the tap may activate or launch the application 211, which may then initiate one or more actions or communications with the account server 225 to activate the card for subsequent use. In some cases, if the application 211 is not installed on the client device 210, tapping the card against the card reader 213 may initiate downloading of the application 211 (e.g., navigation to an application download page). Following installation, tapping the card may activate or launch the application 211, which may then initiate card activation (e.g., via application or other back-end communication). After activation, the card may be used in various transactions, including commercial transactions.
[0046] According to some embodiments, contactless card 205 may include a virtual payment card. In those embodiments, application 211 may obtain information associated with contactless card 205 by accessing a digital wallet implemented on client device 210, the digital wallet including the virtual payment card. In some examples, the virtual payment card data may include one or more statically or dynamically generated virtual card numbers.
[0047] Server 220 may include a web server in communication with database 235. Server 225 may include an account server. In some examples, server 220 may be configured to verify one or more credentials from contactless card 205 and / or client device 210 by comparing them with one or more credentials in database 235. Server 225 may be configured to approve one or more requests, such as payments and transactions, from contactless card 205 and / or client device 210.
[0048] FIG. 3A illustrates one or more contactless cards 300, which may include payment cards such as credit cards, debit cards, or gift cards issued by a service provider 305 displayed on the front or back of the card 300. In some examples, the contactless card 300 may be unrelated to payment cards and may include, but is not limited to, an identification card. In some examples, the payment card may include a dual-interface contactless payment card. The contactless card 300 may include a substrate 310, which may include a single layer or one or more laminated layers composed of plastic, metal, and other materials. Exemplary substrate materials include polyvinyl chloride, polyvinyl chloride acetate, acrylonitrile butadiene styrene, polycarbonate, polyester, anodized titanium oxide, palladium, gold, carbon, paper, and biodegradable materials. In some examples, the contactless card 300 may have physical characteristics that conform to the ID-1 format of the ISO / IEC 7810 standard; otherwise, the contactless card may conform to the ISO / IEC 14443 standard. However, it is understood that contactless cards 300 according to the present disclosure may have different characteristics, and the present disclosure does not require that the contactless card be implemented as a payment card.
[0049] Contactless card 300 may also include identification information 315 displayed on the front and / or back of the card, and contact pad 320. Contact pad 320 may be configured to establish contact with other communication devices, such as a user device, smartphone, laptop, desktop, or tablet computer. Contactless card 300 may also include processing circuitry, an antenna, and other components not shown in FIG. 3A . These components may be located behind contact pad 320 or elsewhere on substrate 310. Contactless card 300 may also include a magnetic strip or tape (not shown in FIG. 3A ) that may be located on the back of the card.
[0050] As shown in Figure 3B, the contact pad 320 of Figure 3A may include processing circuitry 325 for storing and processing information, including a microprocessor 330 and memory 335. It will be understood that the processing circuitry 325 may include additional components including processors, memory, error and parity / CRC checkers, data encoders, anti-collision algorithms, controllers, command decoders, security primitives, and anti-tamper hardware as needed to perform the functions described herein.
[0051] The memory 335 may be read-only memory, write-once read-multiple memory, or read / write memory, such as RAM, ROM, and EEPROM, and the contactless card 300 may include one or more of these memories. Read-only memory may be programmable at the factory as read-only or one-time programmable. A one-time program allows it to be written once and read many times. Write-once read-multiple memory may be programmed at some point after the memory chip leaves the factory. Once programmed, the memory may not be rewritten, but it may be read many times. Read / write memory may be programmed and reprogrammed many times after leaving the factory, and it may also be read many times.
[0052] Memory 335 may be configured to store one or more applets 340, one or more counters 345, a customer identifier 350, and other types of data, information, code, etc., such as functions related to security 360. One or more applets 340 may include one or more software applications configured to run on one or more contactless cards, e.g., Java Card applets. However, it is understood that applet 340 is not limited to Java Card applets and may instead be any software application capable of running on a contactless card or other device with limited memory. One or more counters 345 may include a numeric counter sufficient to store an integer. Customer identifier 350 may include a unique alphanumeric identifier assigned to a user of contactless card 300, which may distinguish a contactless card user from other contactless card users. In some examples, customer identifier 350 may identify both the customer and the account assigned to that customer, and further identify the contactless card associated with the customer's account.
[0053] Additionally, security features 360 may include a random number generator (RNG) 362, one or more cryptographic hash functions 364 unique to contactless card 300, a converter 336 for converting the random number or hash output value into human-readable characters, and a password transformer 368 configured to optionally layer additional security on the password by transforming the human-readable characters output by converter 366. For example, it will be appreciated that random number generator 362 may be used for other types of security-based functions, such as encryption, and incorporated into contactless card 300.
[0054] Although the processor and memory elements of the foregoing exemplary embodiments are described with reference to contact pads, the present disclosure is not limited thereto. These elements may be implemented outside of the pads 320, or may be completely separate therefrom, or may be implemented as additional elements in addition to the processor 330 and memory 335 elements disposed within the contact pads 320.
[0055] In some examples, the contactless card 300 may include one or more antennas 355. The one or more antennas 355 may be disposed within the contactless card 300 around the processing circuit 325 of the contact pad 320. For example, the one or more antennas 355 may be integral with the processing circuit 325, or the one or more antennas 355 may be used with an external booster coil. As another example, the one or more antennas 355 may be external to the contact pad 320 and the processing circuit 325.
[0056] In one embodiment, the coil of the contactless card 300 may function as the secondary of an air-core transformer. The terminal may communicate with the contactless card 300 by interrupting power or amplitude modulation. The contactless card 300 may infer data transmitted from the terminal using a gap in the contactless card's power connection, which may be maintained functionally via one or more capacitors. The contactless card 300 may return communication by switching or load modulating the load on the contactless card's coil. Load modulation may be detected by interference in the terminal's coil.
[0057] As described above, contactless card 300 may be built on a software platform capable of running on a smart card or other device with limited memory, such as a JavaCard, and one or more applications or applets may be securely executed. An applet may be added to the contactless card to provide one-time passwords (OTPs) for multi-factor authentication (MFA) in various mobile application-based use cases. The applet may be configured to respond to one or more requests, such as a near-field wireless data exchange request, from a reader, such as a mobile NFC reader, and generate an NDEF message containing the cryptographically secure OTP encoded as an NDEF text tag.
[0058] 4 shows an exemplary sequence diagram 400 for generating a secure password using a contactless card's random number generator, according to one or more embodiments. Sequence diagram 400 illustrates the interaction between contactless card 400 and a mobile computing device 404. It can be appreciated that mobile computing device 404 may be a client device, such as a smartphone, configured to communicate with contactless card 402. As noted above, mobile computing device 404 may include at least an NFC card reader configured to establish NFC communication with the contactless card via an NFC reader coil.
[0059] At step 410, communication may be established between contactless card 402 and mobile computing device 404. In an example, communication may be established automatically when the contactless card enters a magnetic field generated by an NFC reader coil of the mobile computing device. In another example, mobile computing device 404 may initially establish communication by sending a signal to contactless card 402 when computing device 404 detects that contactless card 402 has entered the magnetic field generated by the NFC reader coil. It may be understood that step 410 may be an optional step. In an example, the contactless card may automatically begin providing messages to mobile computing device 404 as soon as the card enters the magnetic field of the NFC reader coil of the mobile computing device.
[0060] At step 412, the mobile computing device 404 may request a secure password from the contactless card 402. For example, a password manager application running on the mobile computing device may request a password for a new social media account being created. The password manager application may store and manage the secure password on the mobile computing device 404. It may be understood that step 412 may be an optional step, as indicated by the dashed arrow. In some examples, the mobile computing device need not request a password. The contactless card 402 may automatically generate and transmit a secure password upon establishment and authentication of NFC communication between the card and the mobile device, particularly if the contactless card 402 determines (e.g., through the NFC communication establishment and authentication process) that a password-related application, program, website, file, etc. is attempting to interface with the contactless card 402.
[0061] In step 414, the random number generator of the contactless card 402 may generate a random number having a predetermined or dynamic length. For example, if the social media account requires a password of a specific length, the random number generator may output a random number of sufficient length accordingly. In an example, the secure random number may be converted into one or more human-readable characters. If the random number sequence is "123456789," the sequence may be converted into "AyTer" or some other combination of alphanumeric characters that a user can read or retain. The conversion of the numeric values may be based, for example, on a code-based encryption system, a key-based encryption system, or the like.
[0062] At step 416, a secure password is generated by contactless card 402. By example, the secure password may be the one or more human-readable characters generated at step 414 without modification. In other examples, and as described further below, the one or more human-readable characters may be further transformed to add an additional layer of security to it. For example, the string "AyTer" above may be transformed to "YeRTAP!" This may include rearranging some characters to make them uppercase and adding a few more characters to the string. It may be understood that a transformation may be any appropriate modification that improves the overall security and complexity of the password.
[0063] At step 418, the secure password may be transmitted to the mobile computing device 404 via one or more NDEF messages or files. The password itself or the entire NDEF message or file may be suitably encrypted to further enhance secure communication of the password. At step 420, the mobile computing device 404 may optionally (as indicated by the dashed arrow) transmit an acknowledgement (ACK) message to the contactless card 402 indicating and confirming receipt of the secure password.
[0064] At step 420, the NDEF message is evaluated again. The mobile computing device 404 may calculate a new checksum for the NDEF message received at step 418 and determine whether it matches the checksum provided in the NDEF message. If the checksums match, the mobile computing device 404 may optionally send an acknowledgement (ACK) message at step 422, as indicated by the dashed arrow. If the checksums do not match, the NDEF message may be provided to the mobile computing device 404 again and further evaluated. This process may continue until the entire NDEF message is received by the mobile computing device 404. In other examples, the entire process may stop after a predetermined number of iterations or a predetermined period of time. If the mobile computing device 404 is unable to read the entire NDEF message after a predetermined number of iterations or a predetermined period of time, an error message may be returned to the user via a user interface.
[0065] 5 illustrates a password manager application 502 and secure password generation according to one or more embodiments. As shown, the password manager application 502 may be opened on a mobile computing device 504, which may be a smartphone belonging to a user. The password manager application 502 may maintain and organize various passwords for multiple services and display information associated with each password. For example, the first password displayed, "UtR4yzz7@wash," corresponds to a mobile banking application created on January 1, 2019, and is the second password created by the password manager for the banking application.
[0066] As an example, a user may set up a new email account, requiring the user to select a secure password. The user may tap the contactless smart card 510 to the mobile computing device 504 or place the card 510 near (e.g., at a predefined threshold distance from) the mobile computing device 504 to establish secure and authorized NFC communication between the card 510 and the mobile device 504. In embodiments, when the contactless smart card 510 establishes secure and authorized NFC communication with the mobile computing device 502, the user may be presented with various smartphone applications associated with the card 510, such as an online banking application, a transit application, a password manager application 502, etc. The user may select the desired application, which allows the mobile computing device 504 to instruct the contactless smart card 510 to perform the appropriate function. Thus, when the user selects the password manager application 502, the card 510 knows that it will generate (or will generate) a secure password. In an alternative embodiment, the password manager application 502 may be set as a default feature, so that the contactless smart card 510 can automatically generate secure passwords once secure and authorized NFC communication is established between the mobile device 504 and the card 510.
[0067] As shown, contactless smart card 510 generates a random number using random number generator 512. As noted above, it can be appreciated that random number generator 512 can be used for other purposes, such as encryption. The random number can then be converted by converter 514 into one or more human-readable characters. For example, a random sequence of numbers alone can be converted into an alphanumeric sequence that is more relevant and easier for a user to use. At this point, as indicated by the dashed arrow, the one or more human-readable characters can be sent to password manager application 502 as a password that the user can use for a new email account. However, as noted above, the one or more human-readable characters can be transformed by password transformer 516 into, for example, rearranged characters, uppercase characters, lowercase characters, the addition or subtraction of some characters, etc. The transformation can add an additional layer of complexity and security to the password.
[0068] The contactless smart card 510 may transmit the secure password to the mobile computing device 504 via at least one NDEF message or file. The password manager application 502 then stores and manages the password therein. As shown, the generated secure password for the new email account may be the converted password, listed as “MOZaRt_Song78,” which is shown in the password manager as the password for the user's email account, first created on January 5, 2019. The creation and management of this password for the user is understood to be highly secure for a variety of reasons. For example, the random number generator 512 of the contactless smart card 510 is verifiably secure and uniquely associated with the user because the card belongs to the user, and only the user. In another example, the contactless smart card 510 itself may be used to open the password manager application 502 (with an additional password entry), which effectively serves as the application's “master” password. Thus, the password manager application 502 cannot be opened by a fraudster without the physical card. Additionally, in some examples, the contactless smart card 510 may store some or all of the passwords, which, when opened on the mobile computing device, may be managed by the password manager application 502. Thus, a fraudster cannot access the passwords without physical possession of the card 510.
[0069] 5 is for illustrative purposes only and is not limiting. The application may include additional functionality for securely storing and managing passwords. Furthermore, it may be understood that the components shown on contactless smart card 510, such as random number generator 512, converter 514, and password transformer 516, may all be executed or implemented by one or more processors or microprocessors integrated into card 510.
[0070] 6 illustrates an exemplary sequence diagram 600 for generating a secure password using a contactless card cryptographic hash function, according to one or more embodiments. Sequence diagram 600 illustrates a bidirectional communication protocol between a contactless card 602 and a mobile computing device 604.
[0071] At step 610, similar to the sequence diagram shown in Figure 4, secure and authenticated NFC communication may be established between the contactless card 602 and the mobile computing device 604. For example, the contactless card 602 may be tapped to the mobile computing device 604 or placed near (e.g., within a predefined distance) the device 604 to initiate communication.
[0072] At step 612, the mobile computing device 604 may request a secure password from the contactless card 602. Along with the password request, or after (step 614), the mobile computing device 604 may transmit an identifier associated with the “requesting” component or entity. For example, if a user is creating a new account on a website, the website or an entity managing the website may request the user create a new password corresponding to the new account. Thus, the “requesting” component or entity may be the website. The identifier may be any information that uniquely identifies or is associated with a particular requesting component or entity. In the case of a website, the identifier may be the characters of the URL address. If a mobile application is requesting a password, the identifier may be the characters of the application name or any text or numbers unique to the application, website, file, program, etc. It may be understood that the mobile computing device 604 may encrypt the identifier with at least a public key.
[0073] In step 616, the contactless card 602 may receive the encrypted identifier and decrypt it with a private key. The card 602 may then input at least the unique identifier, and in some examples, other types of appropriate information, as data inputs into a secure cryptographic hash function. The cryptographic hash function may be, for example, any SHA (e.g., SHA-0, SHA-1, SHA-2, SHA-3) function. The hash output value may then be converted into one or more human-readable characters.
[0074] At step 618, one or more human-readable characters may be generated as a password. Alternatively, the characters may be further transformed to add an additional layer of security and complexity, and the transformed characters may be generated as a secure password. At step 620, the secure password is packaged into at least an NDEF file or message and sent to the mobile computing device 604. The NDEF message or file may also be encrypted by the contactless card 602 and decrypted at the mobile computing device. Optionally, at step 622, the mobile computing device 604 may send a confirmation message to the contactless card 602 confirming receipt of the secure password.
[0075] Similar to the random number generator described above, the cryptographic hash function is completely unique and integrated only into the contactless card 602 and not into other cards, enhancing security. Another advantage is that the identifier allows the cryptographic hash function or ciphertext to safely and reliably generate the same password for the same requesting component or entity. Thus, the password does not need to be saved or stored on the card or anywhere else. For example, if a user returns to a website and needs to log in with a secure password, the user may tap the contactless card 602 to the user's mobile device, and the hash function, as described further below, may generate the necessary password so that the user can log in. If the user desires a new password, a new, different identifier (optionally along with other types of data) may be used to create the new password via the cryptographic hash function.
[0076] 7 illustrates an exemplary secure password generation 700 for a website 702 according to an embodiment. The website 702 may be a social media website and, as shown, may be accessed via a mobile computing device 704 belonging to a user. If the user is a new user of the website 702, the user may be required to create an account and protect the account with a username (e.g., User XYZ) and a secure password. The website may require the password to be a certain length and contain certain characters. Thus, the component or entity "requesting" the password may be understood to be the website 702.
[0077] As shown, to initiate generation of a secure password for a website 702, a user may tap or place their contactless smart card 502 on or near a mobile computing device 704 so that a secure, authenticated NFC communication is established. The contactless smart card 710 may receive a website identifier 706 from the website 702, which may be one or more unique characters included in the URL of the website 702. For example, if the URL is "www.chirp-network.com," the website identifier 706 may be "chirp-."
[0078] The website identifier 706 (optionally along with other types of data, information, letters, numbers, etc.) may be provided as input data to a cryptographic hash function 712. The cryptographic hash function 712 may then provide a hash output value to a converter 714, which may take the hash output value and convert it into one or more human-readable characters. As indicated by the dashed line, the one or more human-readable characters may be provided directly to the website 702 as a password. Additionally, in some examples, the one or more human-readable characters may be provided to a password transformer 716 to transform the characters to add more layers of security and complexity, which may then be provided to the website 702 as a password.
[0079] After creating a new account on the website 702, the user must log in to the social media account using a user ID and a secure password. The user may again tap or place the contactless card 710 on or near the mobile computing device 704, which causes the website 702 to again provide the website identifier 706 to the contactless card 710. Thus, the same password previously created for the website 702 may be generated and provided to the website 702.
[0080] In an example, the mobile computing device 704 may incorporate an auto-fill feature where a password is automatically added to the password field when the contactless card 710 is re-tapped to the computing device 704, as shown. The password may be obscured with a series of asterisks. Advantageously, at least in this manner, the password does not need to be stored on either the contactless card 710 or the mobile computing device 704, since the website identifier 706 with the card's 710's unique cryptographic hash function can generate the same password each time it is requested. If the user wants to generate a new password for the website 702, they may use a new website identifier, such as "chirp-network."
[0081] It will be appreciated that even when a random number generator is used to generate secure passwords, an auto-fill feature may be incorporated. For example, a contactless card may be tapped or placed near a mobile computing device to trigger this feature. This may prompt, for example, a password manager application to retrieve the appropriate password for the email account and auto-fill or auto-populate the password field when logging into the email account.
[0082] 8 illustrates an exemplary flow diagram 800 according to one or more embodiments. The flow diagram 800 relates to securely generating and / or managing one or more passwords via an NFC-enabled contactless smart card. It may be understood that the functions associated with the illustrated blocks may be performed or carried out by the contactless card and processing circuitry included therein. Furthermore, it may be understood that the blocks of the flow diagram 800 are not limited to a particular order, and that one or more blocks may be performed or carried out simultaneously.
[0083] In block 802, it may be determined whether at least one communication interface of the contactless card is in NFC communication with an NFC reader. The NFC reader may be included in, incorporated into, or built into a mobile computing device such as a smartphone. Thus, when the contactless card enters a magnetic field generated by the NFC reader, circuitry in the contactless card is activated to initiate a secure password generation process. Additionally, it may be verified whether the NFC communication between the card and the NFC reader is secure and / or authenticated.
[0084] At block 804, a password request from the mobile computing device may be received by the contactless card. Along with the request, an identifier associated with an application, website, file, or program may be received. As described above, the identifier may be any appropriate information that uniquely identifies the application, website, file, or program that is "requesting" the secure password. For example, it may be a name associated with the application, website, file, or program, a URL associated with the website, or any number or text unique to the application, website, file, or program. The identifier may be received as an encrypted message (e.g., the mobile device may encrypt the identifier using a public key). The contactless card may decrypt the message using the private key to obtain the identifier.
[0085] At block 806, at least the identifier (optionally along with other types of data or information) may be input as input to a cryptographic hash function, e.g., SHA-0, SHA-1, SHA-2, SHA-3, or any other suitable cipher, to output a hash output value. In at least this respect, hash functions are similar to random number generators in that they are highly secure, verifiable, and unique only to the contactless card that uses them.
[0086] At block 808, the hash output value may be converted into one or more human-readable characters, which may be output as a secure password or may be further transformed to add an additional layer of complexity and security to the password. As noted above, transformations may include rearranging characters, uppercasing, lowercasing, adding or removing characters, etc.
[0087] At block 810, the secure password may be encrypted and transmitted via at least one NDEF message or file. In some examples, the password may not be stored on the contactless card. The password may be transmitted only when it is determined that the contactless card is in secure and authenticated NFC communication with the NFC reader of the computing device.
[0088] Additionally, in examples, when the contactless card is tapped against or placed within a threshold distance of a computing device, a password may be automatically entered or automatically added to a password field corresponding to an application, website, file, or program.
[0089] In a further example, a second password request may be sent by the mobile computing device. The second request may be for a previously generated password, in which case the mobile computing device must send an identifier previously used for that password. Or, if a new password is requested, a new identifier is sent, a new hash output value is generated, and then a new password is generated.
[0090] The components and functions of the above-described devices may be implemented using any combination of discrete circuits, application-specific integrated circuits (ASICs), logic gates, and / or single-chip architectures. Furthermore, the functions of the devices may be implemented using microcontrollers, programmable logic arrays, and / or microprocessors, or any combination of the foregoing where appropriate. Note that hardware, firmware, and / or software elements may be collectively or individually referred to herein as "logic" or "circuitry."
[0091] At least one computer-readable storage medium may contain instructions that, when executed, cause the system to perform any of the computer-implemented methods described herein.
[0092] Some embodiments may be described using the phrase "in one embodiment" or "embodiment," along with derivatives thereof. These terms mean that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment. The appearances of the phrase "in one embodiment" in various places in this specification do not necessarily all refer to the same embodiment. Furthermore, unless otherwise specified, it is recognized that the above features may be used together in any combination. Thus, any features discussed separately may be used in combination with each other unless it is noted that the features are not compatible with each other.
[0093]
[0013] The detailed descriptions herein, generally referring to the notation and nomenclature used herein, may be presented in terms of program procedures executed on a computer or network of computers. These procedural descriptions and representations are used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art.
[0094] A procedure is herein and generally conceived to be a self-consistent sequence of operations leading to a desired result. These operations are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It is sometimes convenient, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
[0095] Further, the manipulations performed are often referred to in terms, such as adding or comparing, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein that form part of one or more embodiments. Rather, the operations are machine operations.
[0096] Some embodiments may be described using the terms "coupled" and "connected," along with derivatives thereof. These terms are not necessarily intended as synonyms for each other. For example, some embodiments may be described using the terms "connected" and / or "coupled" to indicate that two or more elements are in direct physical or electrical contact with each other. However, the term "coupled" may also mean that two or more elements are not in direct contact with each other, but yet still cooperate or interact with each other.
[0097] Various embodiments also relate to apparatus or systems for performing these operations. This apparatus may be specially constructed for the required purposes and selectively activated or reconfigured by a computer program stored in a computer. The procedures presented herein are not inherently related to any particular computer or other apparatus. The required structure for a variety of these machines will be apparent from the description given.
[0098] It is emphasized that this Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Moreover, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure should not be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in fewer than all features of a single disclosed embodiment. Accordingly, the following claims are incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment. In the appended claims, the terms "comprising" and "wherein" are used as the plain-English equivalents of the respective terms "comprising" and "wherein." Furthermore, the terms "first," "second," "third," etc. are used merely as labels and are not intended to impose numerical requirements on their subject matter.
[0099] What has been described above includes examples of the disclosed architecture. Of course, it is not possible to describe every conceivable combination of components and / or methodologies, but one of ordinary skill in the art will recognize that many more combinations and permutations are possible. Accordingly, the novel architecture is intended to embrace all such alterations, modifications, and variations that fall within the spirit and scope of the appended claims.
Claims
1. 1. A computer-implemented method, the method comprising: transmitting, with at least one processor, a request for password generation to the contactless card via a secure communications interface; receiving, with the at least one processor, a password from the contactless card via the secure communications interface; The above password is converting a hash value of a cryptographic hash function of the contactless card applied to the request; and generating the converted hash value by transforming the contactless card's cryptographic hash function applied to the request; The method includes, with the at least one processor, automatically generating login information based on the password in response to receiving the password; the login information is configured to be automatically entered into a user interface for logging into an account associated with the identifier; method.
2. the secure communication interface includes a near field communication (NFC) interface; The method of claim 1.
3. the request is received in one or more messages transmitted using the NFC interface and includes the identifier; The method of claim 2.
4. the identifier is encrypted and associated with a mobile device that communicates with the contactless card using the NFC interface; The method of claim 3.
5. the NFC interface is based on at least one of the Europay, Visa, and Mastercard (EMV) protocols; The method of claim 2.
6. said transforming including transforming the hash value of said cryptographic hash function into one or more alphanumeric characters; The method of claim 1.
7. The alphanumeric character may include one or more human readable characters. The method of claim 6.
8. The hash value has a predetermined length. The method of claim 6.
9. Transforming the hash value into the one or more alphanumeric characters includes applying a code-based or key-based cryptosystem to the hash value. The method of claim 6.
10. receiving the password includes receiving the password using one or more NFC Data Exchange Format (NDEF) messages; the password is included in a payload portion of the one or more NDEF messages, the payload portion being encrypted via a key; The method of claim 1.
11. The method includes generating a checksum value based on the password; said receiving including receiving said checksum value; The method of claim 1.
12. 1. A system comprising a processor and a memory for storing instructions, The instructions, when executed by the processor, sending a request for password generation to the contactless card via a secure communication interface; receiving a password from the contactless card via the secure communications interface; The above password is converting a hash value of a cryptographic hash function of the contactless card applied to the request; and generating the converted hash value by transforming the contactless card's cryptographic hash function applied to the request; The instructions, when executed by the processor, cause the processor to, in response to receiving the password, automatically generate login information based on the password; the login information is configured to be automatically entered into a user interface for logging into an account associated with the identifier; system.
13. the secure communication interface includes a near field communication (NFC) interface; The system of claim 12.
14. the request is received in one or more messages transmitted using the NFC interface and includes the identifier; The system of claim 13.
15. the identifier is encrypted and associated with a mobile device that communicates with the contactless card using the NFC interface; 15. The system of claim 14.
16. the NFC interface is based on at least one of the Europay, Visa, and Mastercard (EMV) protocols; The system of claim 13.
17. said transforming including transforming the hash value of said cryptographic hash function into one or more alphanumeric characters; The system of claim 12.
18. the alphanumeric characters include one or more human readable characters; The hash value has a predetermined length.
18. The system of claim 17.
19. receiving the password includes receiving the password using one or more NFC Data Exchange Format (NDEF) messages; the password is included in a payload portion of the one or more NDEF messages, the payload portion being encrypted via a key; The system of claim 12.
20. 1. A computer-readable storage medium comprising instructions that, when executed by a processor, cause the processor to perform the following operations: Sending a request for password generation to a contactless card via a near field communication (NFC) interface; receiving the password from the contactless card via the NFC interface; The above password is converting a hash value of a cryptographic hash function of the contactless card applied to the request; and transforming the converted hash value of the contactless card's cryptographic hash function applied to the request into one or more alphanumeric characters; The operations include, in response to receiving the password, automatically generating login information based on the password; the login information is configured to be automatically entered into a user interface for logging into an account associated with the identifier; A computer-readable storage medium.