Secure password generation and management using NFC and contactless smart cards
The NFC-enabled contactless smart card generation and management passwords solves the problem of insufficient verification of device dependence and password generation randomness in the prior art, realizes high-security password management, and reduces the risk of hacker attacks.
Patent Information
- Application Number
- CN202080013959.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-12-23
- Filing Date
- 2020-11-23
- Publication Date
- 2025-01-17
- Estimated Expiration
- 2040-11-23
AI Technical Summary
Existing password managers have strong device dependence, unauthentication of password generation, and insufficient security of master passwords, which leads users to the risk of identity and financial theft.
Using near-field communication (NFC)-enabled contactless smart card, it generates human-readable secure passwords through a random number generator or a secure cryptographic hash function, and transmits them through NFC data exchange format to ensure the generation and management of passwords. Use highly secure and verifiable hardware components.
It realizes the generation and management of secure passwords without storing passwords, reduces the exposure of vulnerabilities of hackers, enhances the complexity and security of passwords, avoids the weaknesses of device dependencies and master passwords, and improves the level of protection for users. .
Smart Images

Figure CN113424490B_ABST
Abstract
Description
[0001] Related Applications
[0002] This application claims priority to U.S. Patent Application Serial No. 16 / 725,866, filed on December 23, 2019, entitled “SECURE PASSWORD GENERATION AND MANAGEMENT USING NFC AND CONTACTLESS SMART CARDS”. The contents of the aforementioned application are incorporated herein by reference in their entirety. Background Art
[0003] Brute force attacks are a common hacking technique that can be used by hackers to break into computers, email accounts, online banking accounts, apps, websites, etc. by manually guessing passwords. Therefore, strong, complex passwords can be critical to protecting users from identity or financial theft.
[0004] Conventional password managers can help generate and acquire complex passwords, and can store such passwords in an encrypted database, or can be calculated on demand. Conventional password managers can be locally installed software applications, online services accessed through a website portal, or locally accessed hardware devices that act as keys. Typically, conventional password managers require users to generate and remember a "master" password to unlock and access any information stored in their database.
[0005] However, conventional password managers are problematic in several ways. First, the user may not always have the device on which the password manager is running. Second, the randomness of the password generator used by the password manager may not be verifiable. Third, a password manager (no matter how strong) is only as effective as the master password created by the user that protects it. Summary of the invention
[0006] Various embodiments relate to securely generating and managing passwords using a contactless smart card enabled by near-field communication (NFC). For example, a secure password can be generated by generating a random number via a random number generator of the contactless smart card and converting the random number into one or more human-readable characters. In another example, a secure cryptographic hash function of the contactless smart card can generate a hash output value that can be converted into one or more human-readable characters. The human-readable characters can be used as a secure password, or they can be transformed to add more layers of security and complexity. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1AAn example data transmission system is shown in accordance with one or more embodiments.
[0008] Figure 1B An example sequence diagram for providing authenticated access in accordance with one or more embodiments is shown.
[0009] Figure 2 An example system using a contactless card is shown in accordance with one or more embodiments.
[0010] Figure 3A An example contactless card is shown in accordance with one or more embodiments.
[0011] Figure 3B Example contact pads of a contactless card are shown in accordance with one or more embodiments.
[0012] Figure 4 An example sequence diagram related to secure password generation in accordance with one or more embodiments is shown.
[0013] Figure 5 An example password manager application and secure password generation are shown in accordance with one or more embodiments.
[0014] Figure 6 Another example of a sequence diagram related to secure password generation in accordance with one or more embodiments is shown.
[0015] Figure 7 Example secure password generation for a website is illustrated in accordance with one or more embodiments.
[0016] Figure 8 An example flow diagram is shown in accordance with one or more embodiments. DETAILED DESCRIPTION
[0017] Various embodiments generally relate to securely generating and managing one or more passwords using a near field communication (NFC) enabled contactless smart card. For example, when authorized NFC communication is established between a computing device such as a mobile device (e.g., a smartphone, laptop, tablet, etc.) and a contactless card, the contactless card can use at least one applet stored therein to generate a truly random, human-readable, and secure password.
[0018] According to one embodiment, when NFC communication is established and authenticated between the mobile device and the card, the mobile device may request a security password from the contactless card. The random number generator of the contactless card may generate a random number with a predefined length. The random number may be converted into one or more human-readable characters, which may be used as the security password, or in other examples, the one or more human-readable characters may be transformed by a password transformer to add an additional security layer to the password, for example, rearranging human-readable characters, replacing certain characters with other characters, etc. The security password may be delivered to the mobile device in at least one NFC data exchange format (NDEF) file.
[0019] In some examples, when the mobile device establishes authenticated communication with a specific contactless card, the password manager application can be automatically opened on the mobile device, so that only the specific contactless card can open the password manager application. Therefore, in some cases, the physical contactless card itself can be used as a "master" password for the password manager together with the ordinary master password. Moreover, the contactless card can automatically and unilaterally generate and transmit one or more new security passwords, which can be managed, organized or used by the user on the password manager application according to the user's needs.
[0020] According to another embodiment, a two-way communication protocol can be established between a mobile device and a contactless card for performing secure password generation. For example, when establishing and authenticating NFC communication, the mobile device can send a password request and an identifier to the contactless card. The identifier can be any information associated with an application, website, or file requesting a password. For example, a uniform resource locator (URL) associated with a website can be used as an identifier. The contactless card obtains and inputs the identifier in a secure cryptographic hash function that outputs a hash output value. The hash output value can be converted into one or more human-readable characters, which can be used as the password itself, or can be further transformed by a password converter to add an additional security layer to the password. The password is then sent to the mobile device.
[0021] By using the identifier to request a security password, the contactless card (and only the contactless card) may be able to generate the same password for the same requester based on a unique cryptographic hash function included in the card. Thus, as long as the user uses the same contactless card, there is no need to store the security password in the mobile device or the card itself, which minimizes overall password exposure to potential hackers.
[0022] In another example, when a contactless card is tapped against the mobile device or the contactless card is placed within a threshold distance from the mobile device, the mobile device can automatically fill (also referred to as "autofill") a password field with a secure password. The password can 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 can be the same password that can be requested by the same requestor (e.g., an application, website, file, etc.), as described above.
[0023] In previous solutions, the effectiveness of password managers is limited to the devices on which they are installed, as users do not always have these devices. Moreover, the randomness of the password generator used by the password manager may not be verifiable. Further, the password manager is only as strong as its "master" password that protects the manager from unauthorized access. The embodiments and examples described herein overcome and are superior to previous solutions because, in some examples, a highly secure and verifiable hardware component (such as an NFC-enabled contactless smart card) can be used to generate a truly random, human-readable password without having to store the generated password in the contactless card and / or mobile device, which minimizes vulnerability exposure by eliminating critical data pieces that may be hacked. In addition, since the contactless card itself (in some cases together with the master password) can be used to open the password manager application on the mobile device, the physical card can act as a "master" password, which overcomes the above-mentioned weakest link problem associated with most password manager applications.
[0024] Reference is now made to the accompanying drawings, in which the same reference numerals are used to refer to the same elements throughout. In the following description, for the purpose of explanation, many specific details are set forth in order to provide a thorough understanding thereof. However, it is apparent that novel embodiments can be practiced without these specific details. In other cases, well-known structures and devices are shown in block diagram form in order to describe them. It is intended to cover all modifications, equivalents, and alternatives within the scope of the claims.
[0025] Figure 1A An example data transmission system according to one or more embodiments is shown. As will be discussed further below, system 100 may include contactless card 105, client device 110, network 115, and server 120. Although Figure 1A A single instance of a component is shown, but system 100 may include any number of components.
[0026] System 100 may include one or more contactless cards 105, which will be referred to below as FIG. 3A to FIG. 3BFurther explanation: In some embodiments, the contactless card 105 can communicate wirelessly with the client device 110 using NFC in the example.
[0027] System 100 may include client device 110, which may be a network-enabled computer. As described herein, a network-enabled computer may include, but is not limited to, a computer device or a communication device, including, for example, a server, a network appliance, a personal computer, a workstation, a phone, a smart phone, a handheld PC, a personal digital assistant, a thin client, a fat client, an Internet browser, or other device. Client device 110 may also be a mobile computing device; for example, iPhone, iPod, iPad or other device running Apple Any other suitable device running Microsoft Any device running Google's Mobile operating system Any device running an operating system, and / or any other suitable mobile computing device (such as a smartphone, tablet computer, or similar wearable mobile device).
[0028] The client device 110 device may include a processor and memory, and it should be understood that the processing circuit system may contain additional components necessary to perform the functions described herein, including a processor, memory, error and parity / CRC checker, data encoder, anti-collision algorithm, controller, command decoder, security primitives, and anti-tampering hardware. The client device 110 may also include a display and an input device. 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 a liquid crystal display, a light emitting diode display, a plasma panel, and a cathode ray tube display. The input device may include any device for inputting information into the user's device, which is available and supported by the user's device, such as a touch screen, a keyboard, a mouse, a cursor control device, a touch screen, a microphone, a digital camera, a video recorder, or a portable camera. These devices can be used to input information and interact with software and other devices described herein.
[0029] In some examples, client device 110 of system 100 may execute one or more applications, such as software applications, that implement, for example, network communications with one or more components of system 100 and transmit and / or receive data.
[0030] The client device 110 can communicate with one or more servers 120 via one or more networks 115 and can operate as a corresponding front-end to back-end pair with the server 120. The client device 110 can transmit one or more requests to the server 120, for example, from a mobile device application executed on the client device 110. The one or more requests can be associated with obtaining data from the server 120. The server 120 can receive one or more requests from the client device 110. Based on the one or more requests from the client device 110, the server 120 can be configured to obtain the requested data from one or more databases (not shown). Based on receiving the requested data from the one or more databases, the server 120 can be configured to transmit the received data to the client device 110, the received data being responsive to the one or more requests.
[0031] 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 a wireless network and a wired network, and may be configured to connect the client device 110 to the server 120. For example, the network 115 may include one or more of a fiber optic network, a passive optical network, a cable network, the Internet, a satellite network, a wireless local area network (LAN), global 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 multiplexing-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, and / or others.
[0032] In addition, the network 115 may include, but is not limited to, telephone lines, optical fibers, IEEE Ethernet 802.3, wide area networks, wireless personal area networks, LANs, or global networks such as the Internet. In addition, the network 115 may support the Internet, wireless communication networks, cellular networks, etc., or any combination thereof. The network 115 may also include one network, or any number of the exemplary types of networks mentioned above that operate as independent networks or in cooperation with each other. The network 115 may utilize one or more protocols of one or more network elements to which they are communicatively coupled. The network 115 may convert other protocols to or from other protocols to one or more protocols of network devices. Although the network 115 is depicted as a single network, it should be understood that, according to one or more examples, the network 115 may include multiple interconnected networks, such as 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.
[0033] System 100 may include one or more servers 120. In some examples, server 120 may include one or more processors coupled to a memory. Server 120 may be configured as a central system, server, or platform for controlling and calling various data at different times to perform multiple workflow actions. Server 120 may be configured to connect to one or more databases. Server 120 may be connected to at least one client device 110.
[0034] Figure 1B An example sequence diagram for providing authenticated access according to one or more embodiments is shown. The diagram may include a contactless card 105 and a client device 110 , which may include an application 122 and a processor 124 . Figure 1B You can refer to Figure 1A Similar components as shown.
[0035] At step 102, application 122 communicates with contactless card 105 (e.g., after card 105 is brought near device 110, after card 105 is tapped against 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.
[0036] At step 104, after communication has been established between the client device 110 and the contactless card 105, the contactless card 105 generates a message authentication code (MAC) ciphertext. In some examples, this may occur when the contactless card 105 is read by the application 122. In particular, this may occur when reading (such as NFC reading) an NDEF tag, which may be created according to the NFC data exchange format.
[0037] For example, a reader such as application 122 may transmit a message (such as an applet selection message) with an applet ID that generates an NDEF applet. After confirming the selection, a sequence of select file messages followed by a read file message may be transmitted. For example, the sequence may include "select function file", "read function file", and "select NDEF file". At this point, a counter value maintained by the contactless card 105 may be updated or incremented, followed by "read NDEF file". At this point, a message that may include a header and a shared secret may be generated. A session key may then be generated. A MAC ciphertext may be created based on the message, which may include a header and a shared secret. The MAC ciphertext may then be concatenated with one or more random data blocks, and the MAC ciphertext and a random number (RND) may be encrypted with a session key. Thereafter, the ciphertext and header may be concatenated and encoded as ASCII hexadecimal and returned in an NDEF message format (in response to a "read NDEF file" message).
[0038] 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, as a formatted string).
[0039] In some examples, application 122 may be configured to transmit a request to contactless card 105 that includes instructions for generating a MAC cryptogram.
[0040] In step 106, the contactless card 105 sends a MAC ciphertext to the application 122. In some examples, the transmission of the MAC ciphertext is performed via NFC. However, the present disclosure is not limited thereto. In other examples, such communication can be performed via Bluetooth, Wi-Fi, or other wireless data communication means.
[0041] At step 108, the application 122 transmits the MAC ciphertext to the processor 124. At step 112, the processor 124 verifies the MAC ciphertext according to the instruction from the application 122. For example, the MAC ciphertext may be verified as explained below.
[0042] In some examples, the MAC ciphertext may be verified by a device other than the client device 110 (such as a server 120 (eg, a server 120 in data communication with the client device 110) Figure 1A For example, the processor 124 may output the MAC ciphertext for transmission to the server 120, which may verify the MAC ciphertext.
[0043] In some examples, the MAC ciphertext can function as a digital signature for verification purposes. Other digital signature algorithms (such as public key asymmetric algorithms, such as the digital signature algorithm and the RSA algorithm, or zero-knowledge protocols) can be used to perform such verification.
[0044] It will be appreciated that in some examples, the contactless card 105 may initiate communication after the contactless card is brought into proximity with the client device 110. As an example, the contactless card 105 may send a message to the client device 110 indicating, for example, that the contactless card has established communication. Thereafter, at step 102, the application 122 of the client device 110 may continue to communicate with the contactless card as described above.
[0045] Figure 2 An example system 200 using a contactless card is shown. The 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. Figure 2 A single instance of a component is shown, but system 200 may include any number of components.
[0046] System 200 may include one or more contactless cards 205, which will be described below with respect to FIG. 3A to FIG. 3B Further explanation. In some examples, the contactless card 205 can communicate wirelessly with the client device 210, such as NFC communication. For example, the contactless card 205 may include one or more chips configured to communicate via NFC or other short-range protocols, such as a radio frequency identification chip. In other embodiments, the contactless card 205 can communicate with the client device 210 by other means, including but not limited to any combination of Bluetooth, satellite, Wi-Fi, wired communication and / or wireless and wired connections. According to some embodiments, the contactless card 205 can be configured to communicate with the card reader 213 of the client device 210 (which may be referred to as an NFC reader, NFC reader or reader in this article) via NFC when the contactless card 205 is within the range of the card reader 213. In other examples, communication with the contactless card 205 can be achieved through a physical interface, such as a universal serial bus interface or a card swipe interface.
[0047] System 200 may include client devices 210, which may be network-enabled computers. As described herein, network-enabled computers may include, but are not limited to, for example, computer devices, or communication devices, including, for example, servers, network appliances, personal computers, workstations, mobile devices, phones, handheld PCs, personal digital assistants, thin clients, fat clients, Internet browsers, or other devices. One or more client devices 210 may also be mobile devices; for example, a mobile device may include a iPhone, iPod, iPad or running Apple Any other mobile device running Microsoft Any device running Google's Mobile operating system Any device running a Windows 10 operating system, and / or any other smartphone or similar wearable mobile device. In some examples, client device 210 may communicate with reference Figure 1A or Figure 1B The client devices 110 described are the same or similar.
[0048] The client device 210 may communicate with the one or more servers 220 and 225 via the one or more networks 215. The client device 210 may transmit one or more requests to the 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 obtaining data from the one or more servers 220 and 225. The servers 220 and 225 may receive the 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 obtain the requested data from the 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 being responsive to the one or more requests.
[0049] System 200 may include one or more hardware security modules (HSM) 230. For example, one or more HSM 230 may be configured to perform one or more cryptographic operations disclosed herein. In some examples, one or more HSM 230 may be configured as a dedicated security device that is configured to perform one or more cryptographic operations. HSM 230 may be configured so that the key is never revealed outside of HSM 230, but is instead kept within HSM 230. For example, one or more HSM 230 may be configured to perform at least one of key derivation, decryption, and MAC operations. One or more HSM 230 may be included in servers 220 and 225, or may be in data communication with these servers.
[0050] The system 200 may include one or more networks 215. In some examples, the network 215 may be one or more of a wireless network, a wired network, or any combination of a wireless network and a wired network, and may be configured to connect the client device 210 to the server 220 and / or 225. For example, the network 215 may include one or more of a fiber optic network, a passive optical network, a cable network, a cellular network, the Internet, a satellite network, a wireless LAN, global 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 multiplexing-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, RFID, Wi-Fi, and / or any combination of networks thereof. As a non-limiting example, communications from contactless card 205 and client device 210 may include NFC communications, a cellular network between client device 210 and the carrier, and the Internet between the carrier and the backend.
[0051] In addition, the network 215 may include, but is not limited to, telephone lines, optical fibers, IEEE Ethernet 802.3, wide area networks, wireless personal area networks, local area networks, or global networks such as the Internet. In addition, the network 215 may support the Internet, wireless communication networks, cellular networks, etc., or any combination thereof. The network 215 may also include a network, or any number of the exemplary types of networks mentioned above that operate as independent networks or in cooperation with each other. The network 215 may utilize one or more protocols of one or more network elements to which they are communicatively coupled. The network 215 may convert other protocols to or from other protocols to one or more protocols of network devices. Although the network 215 is depicted as a single network, it should be understood that, according to one or more examples, the network 215 may include multiple interconnected networks, such as 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.
[0052] 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. For example, the one or more applications 211 (such as software applications) may be configured to implement network communications with one or more components of the system 200 and transmit and / or receive data. It should be understood that although in Figure 2 Only a single example of components of a client device 210 is shown in FIG, but 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 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 circuitry components, such as an NFC reader coil, that generates a magnetic field to allow communication between the client device 210 and the contactless card 205.
[0053] Application 211 of any of client devices 210 may communicate with contactless card 205 using short-range wireless communication (e.g., NFC). Application 211 may be configured to interface with card reader 213 of client device 210 configured to communicate with contactless card 205. It should be noted that a distance of less than twenty centimeters is consistent with the NFC range as will be appreciated by those skilled in the art.
[0054] In some embodiments, application 211 communicates with contactless card 205 through an associated reader (eg, card reader 213 ).
[0055] In some embodiments, card activation can occur without user authentication. For example, the contactless card 205 can communicate with the application 211 through the card reader 213 of the client device 210 via NFC. This communication (e.g., tapping the card against the card reader 213 of the client device 210) allows the application 211 to read the data associated with the card and perform activation. In some cases, the tap can activate or start the application 211, and 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, the tap of the card against the card reader 213 can initiate the download of the application 211 (e.g., navigate to the application download page). After installation, tapping the card can activate or start the application 211, and then initiate (e.g., via the application or other backend communication) the activation of the card. After activation, the card can be used for various transactions, including commercial transactions.
[0056] 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, wherein the digital wallet includes the virtual payment card. In some examples, the virtual payment card data may include one or more statically or dynamically generated virtual card numbers.
[0057] Server 220 may include a network 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 with one or more credentials in database 235. Server 225 may be configured to authorize one or more requests from contactless card 205 and / or client device 210, such as payments and transactions.
[0058] Figure 3AOne or more contactless cards 300 are shown, 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 is unrelated to the payment card 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, palladium, gold, carbon, paper, and biodegradable materials. In some examples, the contactless card 300 may have physical properties that conform to the ID-1 format of the ISO / IEC 7810 standard, and the contactless card may additionally conform to the ISO / IEC 14443 standard. However, it should be understood that a contactless card 300 according to the present disclosure may have different characteristics and that the present disclosure does not require the implementation of a contactless card in a payment card.
[0059] The contactless card 300 may also include identification information 315 displayed on the front and / or back of the card, and a contact pad 320. The contact pad 320 may be configured to establish contact with another communication device (such as a user device, a smart phone, a laptop, a desktop computer, or a tablet computer). The contactless card 300 may also include a processing circuit system, an antenna, and a Figure 3A Other components not shown in the figure. These components may be located behind the contact pad 320 or elsewhere on the substrate 310. The contactless card 300 may also include a back side of the card ( Figure 3A A magnetic strip or tape (not shown).
[0060] like Figure 3B As shown, Figure 3A The contact pads 320 may include a processing circuit system 325 for storing and processing information, the processing circuit system including a microprocessor 330 and a memory 335. It should be understood that the processing circuit system 325 may contain additional components necessary to perform the functions described herein, including processors, memories, error and parity / CRC checkers, data encoders, anti-collision algorithms, controllers, command decoders, security primitives, and anti-tampering hardware.
[0061] Memory 335 can be a read-only memory, a write-once read-many memory or a read / write memory, such as a RAM, a ROM and an EEPROM, and the contactless card 300 can include one or more of these memories. The read-only memory can be a factory-programmable read-only memory or a one-time programmable memory. One-time programmability provides an opportunity to write once and then read multiple times. The write-once / read-many memory can be programmed at a certain point in time after the memory chip has been shipped. Once the memory is programmed, it may not be rewritten, but it may be read multiple times. The read / write memory can be programmed and reprogrammed multiple times after shipping. It can also be read multiple times.
[0062] The 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, codes, etc., such as features associated with security 360. One or more applets 340 may include one or more software applications configured to be executed on one or more contactless cards, such as Java card applets. However, it should be understood that the applets 340 are not limited to Java card applets, and may instead be any software application that can operate on a contactless card or other device with limited memory. One or more counters 345 may include a digital counter sufficient to store an integer. The customer identifier 350 may include a unique alphanumeric identifier assigned to a user of the contactless card 300, and the identifier may distinguish the user of the contactless card from other contactless card users. In some examples, the customer identifier 350 may identify both the customer and the account assigned to the customer, and may further identify the contactless card associated with the customer's account.
[0063] Furthermore, the security features 360 may include a random number generator (RNG) 362, one or more cryptographic hash functions 364 unique to the contactless card 300, a converter 336 for converting a random number or hash output value into human-readable characters, and a cryptographic transformer 368 for optionally configuring an additional layer of security for the cryptographic code by transforming the human-readable characters output by the converter 366. It will be appreciated that, for example, the random number generator 362 may be used and built into the contactless card 300 for other types of security-based functions (such as encryption).
[0064] The processor and memory elements of the foregoing exemplary embodiments are described with reference to the contact pads, but the present disclosure is not limited thereto. It should be understood that these elements may be implemented outside the pad 320, or completely separated from the pad, or as other elements other than the processor 330 and memory 335 elements located within the contact pad 320.
[0065] In some examples, contactless card 300 may include one or more antennas 355. One or more antennas 355 may be placed within contactless card 300 and around processing circuitry 325 of contact pad 320. For example, one or more antennas 355 may be integral with processing circuitry 325, and one or more antennas 355 may be used with an external booster coil. As another example, one or more antennas 355 may be external to contact pad 320 and processing circuitry 325.
[0066] In an embodiment, the coil of the contactless card 300 can act as the secondary coil of an air-core transformer. The terminal can communicate with the contactless card 300 by cutting off power or modulating amplitude. The contactless card 300 can use the gap in the power connector of the contactless card to infer the data transmitted from the terminal, and the power connection can be maintained in terms of function by one or more capacitors. The contactless card 300 can communicate back by switching the load or load modulation on the coil of the contactless card. Load modulation can be detected in the coil of the terminal by interference.
[0067] As explained above, the contactless card 300 can be built on a software platform that can operate on a smart card or other device with limited memory (e.g., JavaCard), and can securely execute one or more applications or applets. Applets can be added to contactless cards to provide one-time passwords (OTPs) for multifactor authentication (MFA) in various mobile application-based use cases. The applet can 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) and generate an NDEF message including an encrypted and secure OTP encoded as an NDEF text tag.
[0068] Figure 4 An example sequence diagram 400 for generating a secure password using a random number generator of a contactless card according to one or more embodiments is shown. The sequence diagram 400 shows the interaction between the contactless card 400 and a mobile computing device 404. It is understood that the mobile computing device 404 can be a client device, such as a smartphone configured to communicate with the contactless card 402. As described above, the mobile computing device 404 can include at least one NFC card reader configured to establish NFC communication with the contactless card via an NFC reader coil.
[0069] At step 410, communication may be established between contactless card 402 and mobile computing device 404. In an example, communication may be automatically established when the contactless card enters a magnetic field generated by an NFC reader coil of the mobile computing device. In other examples, when computing device 404 detects that contactless card 402 has entered a magnetic field generated by an NFC reader coil, mobile computing device 404 may first establish communication by sending a signal to contactless card 402. It is understood that step 410 may be an optional step. In an example, once the card enters the magnetic field of the NFC reader coil of the mobile computing device, the contactless card may automatically begin providing messages to mobile computing device 404.
[0070] At step 412, mobile computing device 404 may request a security password from 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 security passwords on mobile computing device 404. It will be appreciated that step 412 may be an optional step, as indicated by the dashed arrow. In some examples, the mobile computing device does not have to request a password. Contactless card 402 may automatically generate and send a security password when NFC communication between the card and the mobile device is established and authenticated, particularly when contactless card 402 determines (e.g., via an NFC communication establishment and authentication process) that an application, program, website, file, etc. associated with the password is attempting to interface with contactless card 402.
[0071] In step 414, the random number generator of the contactless card 402 can generate a random number with a predetermined or dynamic length. For example, if the above social media account requires a password to have a certain length, the random number generator can output a random number with sufficient length accordingly. In the example, the secure random number can be converted into one or more human-readable characters. If the random number sequence is "123 456 789", the sequence can be converted into "AyTer" or any other combination of alphanumeric characters that can be read or retained by the user. For example, the conversion of the number can rely on a code-based encryption system, a key-based encryption system, etc.
[0072] At step 416, a security password is generated by the contactless card 402. According to an example, the security password can be one or more human-readable characters generated at step 414 without any changes. In other examples, and as will be further described below, one or more human-readable characters can be further transformed so that additional security layers can be added thereto. For example, the string "AyTer" mentioned above can be transformed into "YeRTAP!", which includes rearranging and capitalizing some of the letters and adding a few more characters to the string. It will be appreciated that the transformation can be any suitable modification that increases the overall security and complexity of the password.
[0073] At step 418, the security password may be sent 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 appropriately encrypted to further enhance the secure communication of the password. At step 420, the mobile computing device 404 may optionally (as indicated by the dashed arrow) transmit an acknowledgment (ACK) message to the contactless card 402 indicating and confirming receipt of the security password.
[0074] At step 420, the NDEF message is evaluated again. The mobile computing device 404 may calculate a new checksum of the NDEF message received at step 418 and determine whether it matches the checksum provided in the NDEF message. If the checksum matches, then at step 422, the mobile computing device 404 may optionally send an acknowledgment (ACK) message, as indicated by the dashed arrow. If the checksum does 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 has been received by the mobile computing device 404. In other examples, the entire process may stop after a predetermined number of iterations or a predetermined duration. If the mobile computing device 404 fails to read the entire NDEF message after a predetermined number of iterations or a predetermined duration, an error message may be returned to the user via the user interface.
[0075] Figure 5 A password manager application 502 and secure password generation are shown in accordance with one or more embodiments. As shown, the password manager application 502 can be opened on a mobile computing device 504, which can be a smartphone belonging to a user. The password manager application 502 can maintain and organize various passwords for many services and display relevant information for each password. For example, the first illustrated password "UtR4yzz7@wash" can correspond to a mobile banking application created on January 1, 2019, and is the second password that the password manager has created for the banking application.
[0076] As an example, a user may be setting up a new email account, which requires the user to select a secure password. The user may tap the contactless smart card 510 against the mobile computing device 504, or place the card 510 near the mobile computing device 504 (e.g., at a predetermined value distance) to establish secure and authorized NFC communication between the card 510 and the mobile device 504. In an embodiment, 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 related to the card 510, such as online banking applications, money transfer applications, password manager applications 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. Therefore, when the user selects the password manager application 502, the card 510 knows to generate (or will generate) a secure password. In an alternative embodiment, the password manager application 502 may be set as a default functionality, and thus, the contactless smart card 510 may automatically generate a secure password when secure and authorized NFC communication is established between the mobile device 504 and the card 510 .
[0077] As shown, the contactless smart card 510 generates a random number using a random number generator 512. As described above, it is understood that the random number generator 512 can be used for other purposes, such as encryption. The random number can then be converted into one or more human-readable characters by a converter 514. For example, a random sequence of only numbers can be converted into a sequence of alphanumeric characters that is more relevant and more useful to the user. At this point, one or more human-readable characters can be sent to the password manager application 502 as a password that the user can use for a new email account, as shown by the dotted arrow. However, as described above, one or more human-readable characters can be transformed by a password transformer 516, for example, the characters are rearranged, some characters are capitalized, some characters are lowercase, some characters are added or reduced, etc. This transformation can add more complexity and security layers to the password.
[0078] The contactless smart card 510 can send a 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 secure password generated for the new email account can be a transformed password and recorded as "MOZaRt_Song78", which is indicated in the password manager as the password of the email account of the user created on January 5, 2019 in the first instance. For various reasons, it is considered highly secure to create and manage this password for the user. 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 to the user. In another example, the contactless smart card 510 itself can be used to open the password manager application 502 (together with the additional password input), which effectively acts as the "master" password of the application. Therefore, without the physical card, the fraudster cannot open the password manager application 502. Also, in some examples, contactless smart card 510 can store some or all of the passwords, which can then be managed by password manager application 502 when the password manager application is opened on the mobile computing device. Thus, without physical possession of card 510, a fraudster will not be able to access the passwords.
[0079] Understandably, Figure 5 The password manager application 502 shown in the figure is for illustration purposes only and is not limited thereto. The application may include additional features for securely storing and managing passwords. Moreover, it is understood that the components shown in the contactless smart card 510 (e.g., random number generator 512, converter 514, password converter 516) can all be executed or implemented by one or more processors or microprocessors integrated into the card 510.
[0080] Figure 6 An example sequence diagram 600 is shown for generating a secure password using a cryptographic hash function of a contactless card in accordance with one or more embodiments. Sequence diagram 600 illustrates a two-way communication protocol between a contactless card 602 and a mobile computing device 604.
[0081] In step 610, similar to Figure 4 , secure and authenticated NFC communication can be established between contactless card 602 and mobile computing device 604. For example, contactless card 602 can be tapped against mobile computing device 604 or placed near device 604 (e.g., within a predetermined distance) to initiate communication.
[0082] At step 612, the mobile computing device 604 may request a secure password from the contactless card 602. In the case of or after the password request (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 entity controlling the website may request the user to create a new password corresponding to this new account. Thus, the "requesting" component or entity may be a website. The identifier may be any information that uniquely identifies or is associated with a specific requesting component or entity. For a website, the identifier may be characters in its URL address. If a mobile application is requesting a password, the identifier may be characters in the name of the application, or any text or number unique to the application, website, file, program, etc. It is understood that the mobile computing device 604 may encrypt at least the identifier using a public key.
[0083] At step 616, the contactless card 602 receives the encrypted identifier and can decrypt it using the private key. The card 602 can then input at least the unique identifier (and in some examples, other types of suitable information) into a secure cryptographic hash function as a data input. The cryptographic hash function can be, for example, any SHA (e.g., SHA-0, SHA-1, SHA-2, SHA-3) function. The hash output value can then be converted into one or more human-readable characters.
[0084] At step 618, one or more human-readable characters may be generated as a password. Alternatively, the characters may be further transformed to add more layers of security and complexity, and the transformed characters may then be generated as a secure password. At step 620, the secure password is packaged in 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 on the mobile computing device side. 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.
[0085] Similar to the random number generator discussed above, the cryptographic hash function can be completely unique and only integrated into the contactless card 602, not into other cards, which enhances security. Another advantage is that the identifier allows the cryptographic hash function or ciphertext to reliably and securely generate the same password for the same request component or entity. Therefore, the password does not have to be saved or stored on the card or anywhere else. For example, if a user revisits a website and needs to log in with a secure password, the user can tap the contactless card 602 for the user's mobile device, and the hash function can generate the required password so that the user can log in, as will be further described below. If the user expects a new password, a new and different identifier (optionally with other types of data) can be used to create a new password via a cryptographic hash function.
[0086] Figure 7 An example secure password generation 700 for a website 702 is shown according to an embodiment. The website 702 may be a social media website and may be accessed via a mobile computing device 704 belonging to a user, as shown. If the user is a new user on 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 that the password be a specific length and contain specific characters. Therefore, it can be understood that the password "requesting" component or entity is the website 702.
[0087] As shown, to initiate generation of a secure password for website 702, the user may tap the user's contactless smart card 502 against mobile computing device 704 or place the user's contactless smart card near the mobile computing device so that secure and authenticated NFC communication is established. Contactless smart card 710 may receive a website identifier 706 from website 702, which may be one or more unique characters contained in the URL of website 702. For example, if the URL is "www.chirp-network.com", website identifier 706 may be "chirp-".
[0088] The website identifier 706 (optionally along with other types of data, information, characters, numbers, etc.) can be fed into a cryptographic hash function 712 as input data. The cryptographic hash function 712 can then provide a hash output value to a converter 714, which can take the hash output value and convert it into one or more human-readable characters. The one or more human-readable characters can be provided directly to the website 702 as a password, as shown by the dotted line. Moreover, in some examples, the one or more human-readable characters can be provided to a password transformer 716 to transform the characters in order to add more layers of security and complexity, which can then be provided to the website 702 as a password.
[0089] After creating a new account on website 702, the user is asked to log into the social media account using a user ID and a secure password. The user may again tap contactless smart card 710 against mobile computing device 704 or place the user's contactless smart card near the mobile computing device, which allows website 702 to again provide website identifier 706 to contactless card 710. Thus, the same previously created password for website 702 may be generated and provided to website 702.
[0090] In an example, the mobile computing device 704 may incorporate an auto-fill feature, wherein when the contactless card 710 is re-tapped against the computing device 704, the password is automatically filled in the password field, as shown. The password may be obfuscated with a series of asterisks. Advantageously, at least in this manner, the password does not have to be saved on the contactless card 710 or the mobile computing device 704, because the website identifier 706 with the unique cryptographic hash function of the card 710 can generate the same password each time it is requested. If the user desires to generate a new password for the website 702, a new website identifier may be used, for example, "chirp-network", etc.
[0091] It will be appreciated that when a random number generator is used to generate a secure password, an auto-fill feature may also be incorporated. For example, a contactless card may be tapped against or placed near a mobile computing device to trigger this feature, which may prompt a password manager application to obtain, for example, an appropriate password for the email account described above, and auto-fill or auto-populate the password field when logging into the email account.
[0092] Figure 8 An example flow chart 800 is shown in accordance with one or more embodiments. Flow chart 800 relates to securely generating and / or managing one or more passwords via an NFC-enabled contactless smart card. It is understood that the features associated with the illustrated blocks can be performed or run by the contactless card and the processing circuitry contained therein. Moreover, it is understood that the blocks in flow chart 800 are not limited to any particular order, and one or more blocks can be performed or run simultaneously.
[0093] At 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, incorporated into, or built into a mobile computing device (such as a smart phone). Thus, when the contactless card enters the magnetic field generated by the NFC reader, the circuitry in the contactless card may be activated to initiate a secure password generation process. Furthermore, it may be verified whether the NFC communication between the card and the NFC reader is secure and / or authenticated.
[0094] At block 804, a password request from a 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 suitable information that uniquely identifies an application, website, file, or program that "requests" a secure password. For example, it may be a name associated with the application, website, file, or program, it may be a URL associated with a website, or it may be any number or text that is 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 a private key to obtain the identifier.
[0095] At block 806, at least the identifier (optionally along with other types of data or information) may be input to a cryptographic hash function, such as SHA-0, SHA-1, SHA-2, SHA-3, or any other suitable ciphertext as input data, to output a hash output value. At least in this respect, a hash function is similar to a random number generator in that it is highly secure, verifiable, and unique only to the contactless card using it.
[0096] 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 additional layers of complexity and security to the password. The transformations described above may include rearranging characters, uppercase, lowercase, adding, removing characters, etc.
[0097] 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 in the contactless card. The password may be transmitted only when the contactless card is determined to be in secure and authenticated NFC communication with the NFC reader of the computing device.
[0098] Also, in an example, a password field corresponding to an application, website, file, or program having a password may be auto-populated or auto-filled when a contactless card is tapped against a computing device or placed within a threshold distance from the computing device.
[0099] In another example, a second password request may be sent by the mobile computing device. The second request may be for a previously generated password, which would require the mobile computing device to send a previously used identifier for the password. Alternatively, if a new password is requested, a new identifier may be sent, which would generate a new hash output value, and in turn generate a new password.
[0100] The components and features of the devices described above may be implemented using any combination of discrete circuit systems, application specific integrated circuits (ASICs), logic gates, and / or single chip architectures. Further, where appropriately applicable, features of the devices may be implemented using microcontrollers, programmable logic arrays, and / or microprocessors, or any combination of the foregoing. Note that hardware, firmware, and / or software elements may be collectively or individually referred to herein as "logic" or "circuitry."
[0101] At least one computer-readable storage medium may include instructions that, when executed, cause a system to perform any of the computer-implemented methods described herein.
[0102] Some embodiments may be described using the expression "one embodiment" or "an embodiment" and their derivatives. These terms mean that a particular feature, structure, or characteristic described in conjunction with the embodiment is included in at least one embodiment. The appearance of the phrase "in one embodiment" in different places in the specification does not necessarily all refer to the same embodiment. In addition, unless otherwise stated, the features described above are considered to be usable together in any combination. Therefore, any features discussed separately may be used in combination with each other, unless it is noted that these features are incompatible with each other.
[0103] With general reference to the symbols and nomenclature used herein, the detailed description herein may be presented in terms of program processes executed on a computer or network of computers. These program 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.
[0104] A procedure is here, and generally, considered to be a self-consistent sequence of operations leading to a desired result. These operations are those requiring physical manipulation of physical quantities. Usually, although not necessarily, these quantities take the form of electrical, magnetic or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, primarily for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be noted, however, that all of these and similar terms are associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
[0105] Further, the manipulations performed are often referred to by terms such as adding or comparing, which are often associated with mental operations performed by a human operator. In any of the operations described herein that form part of one or more embodiments, such capabilities of a human operator are not required, or in most cases are not desired. Rather, these operations are machine operations.
[0106] Some embodiments may be described using the expressions "coupled" and "connected" and their derivatives. These terms are not necessarily intended to be synonymous with 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 still cooperate or interact with each other.
[0107] Various embodiments also relate to an apparatus or system for performing these operations. This apparatus may be specially constructed for the desired purpose, and it may be selectively activated or reconfigured by a computer program stored in a computer. The programs presented herein are not inherently related to a particular computer or other apparatus. The structures required for the various machines will appear from the description given.
[0108] It is emphasized that the abstract of the present disclosure is provided to allow the reader to quickly determine the nature of the technical disclosure. It is submitted with such an understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the previous detailed description, it can be seen that various features are combined together in a single embodiment for the purpose of simplifying the present disclosure. This disclosure method should not be interpreted as reflecting the intention that the claimed embodiment requires more features than those explicitly stated in each claim. On the contrary, as reflected in the following claims, the subject matter of the invention lies in less than all the features of a single disclosed embodiment. Therefore, the following claims are thus incorporated into the detailed description, wherein each claim is independently as a separate embodiment. In the appended claims, the terms "including" and "in which" are used as the plain English equivalents of the corresponding terms "comprising" and "wherein", respectively. Moreover, the terms "first", "second", "third", etc. are used only as labels and are not intended to impose numerical requirements on their objects.
[0109] 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 methods, but one of ordinary skill in the art will recognize that many further combinations and permutations are possible. Therefore, the novel architecture is intended to encompass all such changes, modifications, and variations that fall within the spirit and scope of the appended claims.
Claims
1. A contactless card, comprising: Memory; at least one communication interface; as well as One or more processors operable to execute the stored instructions, the stored instructions when executed causing the one or more processors to: determining whether the at least one communication interface is in near field communication (NFC) communication with a NFC reader of the computing device; Generate a random number via a secure random number generator; converting the random number into a sequence of one or more human-readable characters, wherein the one or more human-readable characters are alphanumeric characters that can be read by a user; generating a password based on the one or more human-readable characters, wherein the password is different from a sequence of the one or more human-readable characters, the generated password comprising alphanumeric characters, wherein the generation of the password comprises transforming the one or more human-readable characters by: (i) rearranging or capitalizing at least a portion of the one or more human-readable characters, and (ii) adding a predefined number of additional human-readable characters; as well as The password is transmitted to the computing device via the at least one communication interface, the transmitted password being a master password, the contactless card itself being used together with the master password to trigger execution of at least one application on the computing device to manage one or more passwords for accessing at least another application, wherein the at least one application stores and manages the one or more passwords on the computing device.
2. The contactless card according to claim 1, wherein the random number generated by the secure random number generator has a predetermined length.
3. The contactless card of claim 1 , wherein converting the random number into a sequence of one or more human-readable characters comprises further causing the one or more processors to apply a code-based or key-based encryption system to the random number.
4. The contactless card of claim 1 , wherein the password is transmitted from the contactless card to the computing device via one or more NFC Data Exchange Format (NDEF) messages, wherein the password is included in a payload portion of the one or more NDEF messages, and the payload portion is encrypted via a key.
5. The contactless card of claim 4 , wherein the one or more processors are further caused to receive an acknowledgement (ACK) message from the computing device, the ACK message containing an indication that a first checksum value generated at the computing device matches a second checksum value provided in the one or more NDEF messages.
6. The contactless card according to claim 1, wherein: The one or more processors are further caused to receive a request or instruction to generate a password, or wherein a password is automatically generated when NFC communication is established and authenticated between the contactless card and the computing device.
7. The contactless card of claim 1, wherein the random number generator is stored in the contactless card and the generated password is stored in a memory of the contactless card.
8. A method comprising: determining, via processing circuitry of the contactless card, whether at least one communication interface of the contactless card is in near field communication (NFC) communication with a NFC reader of a computing device; generating a random number via a secure random number generator of the contactless card; converting, via the processing circuitry, the random number into a sequence of one or more human-readable characters, wherein the one or more human-readable characters are alphanumeric characters capable of being read by a user; generating, via the processing circuitry, a password based on the one or more human-readable characters, wherein the password is different than a sequence of the one or more human-readable characters, the generated password comprising alphanumeric characters, wherein the generation of the password comprises transforming the one or more human-readable characters by: (i) rearranging or capitalizing at least a portion of the one or more human-readable characters, and (ii) adding a predefined number of additional human-readable characters; as well as The password is transmitted to the computing device via the at least one communication interface of the contactless card, the transmitted password being a master password, the contactless card itself being used together with the master password to trigger execution of at least one application on the computing device to manage one or more passwords for accessing at least another application, wherein the at least one application stores and manages the one or more passwords on the computing device.
9. The method of claim 8, wherein the random number generated by the secure random number generator has a predetermined length.
10. The method of claim 8, wherein converting the random number to a sequence of one or more human-readable characters comprises applying a code-based or key-based encryption system to the random number via one or more processors.
11. The method of claim 8, wherein the password is transmitted from the contactless card to the computing device via one or more NFC Data Exchange Format (NDEF) messages, wherein the password is included in a payload portion of the one or more NDEF messages, and the payload portion is encrypted via a key.
12. The method of claim 11, further comprising receiving an acknowledgement (ACK) message from the computing device, the ACK message including an indication that a first checksum value generated at the computing device matches a second checksum value provided in the one or more NDEF messages.
13. The method of claim 8, further comprising receiving a request or instruction to generate a password, or wherein a password is automatically generated when NFC communication is established and authenticated between the contactless card and the computing device.
14. A computing device comprising: A memory for storing instructions; and One or more processors, coupled to the memory, operable to execute the instructions, which when executed cause the one or more processors to: transmitting a password request to a contactless card; transmitting an identifier associated with an application, website, file, or program to the contactless card, wherein the contactless card is configured to generate a password based on the identifier, the generated password comprising alphanumeric characters, wherein the generation of the password comprises transforming the one or more human-readable characters by: (i) rearranging or capitalizing at least a portion of the one or more human-readable characters, and (ii) adding a predefined number of additional human-readable characters; and receiving the password from the contactless card, the received password being a master password, the contactless card itself being used together with the master password to trigger execution of at least one application on the computing device to manage one or more passwords for accessing at least another application, wherein the at least one application stores and manages the one or more passwords on the computing device, The identifier allows a secure cryptographic hash function to generate the same password for the same entity.
15. The computing device of claim 14, wherein the one or more processors are further configured to encrypt the identifier using a public key, and the contactless card is configured to decrypt the identifier using a private key associated with the public key.
16. A computing device according to claim 14, wherein the identifier includes information identifying the application, the website, the file, or the program, the information including one or more of the following: (i) a name associated with the application, the website, the file, or the program, (ii) a uniform resource locator (URL) corresponding to the website, and (iii) text or numbers unique to the application, the website, the file, or the program.
17. The computing device of claim 14, wherein the password is transmitted via at least one NFC Data Exchange Format (NDEF) message, the at least one NDEF message being readable by the computing device.
18. The computing device of claim 14, wherein: The one or more processors are further caused to automatically populate a password field corresponding to the application, the website, the file, or the program with the password when the contactless card is tapped against the computing device or placed within a threshold distance from the computing device.
Citation Information
Patent Citations
Strong authentication token usable with a plurality of independent application providers
CN102648610A
NFC dynamic password chip and working method thereof
CN103259664A
None-driver personal code management method and none-driver personal code management equipment facing PC (Personal Computer) and mobile terminal
CN106548054A
One-time password generator, server apparatus, authentication system, method, program, and recording medium
JP2012027530A
One time password generator
KR101458125B1