An electronic device for generating secure one-time codes
The electronic device addresses the limitations of existing authentication solutions by generating secure one-time codes offline using a customised card product, ensuring reliable and portable security in environments with limited connectivity.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-08-15
- Publication Date
- 2026-03-12
AI Technical Summary
Existing dynamic authentication solutions suffer from practical limitations such as bulky hardware, complex setup procedures, and the need for internet connectivity, making them cumbersome and limiting their usability in environments with low or no network connectivity.
An electronic device that generates secure one-time codes using a processor, memory module, power system, and data communication module to extract and hash seeds from a customised card product, enabling offline transactions by generating codes based on hashed combinations, with features like RFID, NFC, and encryption for enhanced security.
Provides secure, portable, and reliable authentication in environments with low or no network connectivity, reducing the risk of unauthorized access and fraud through dynamic code generation and server verification.
Smart Images

Figure AU2025050884_12032026_PF_FP_ABST
Abstract
Description
[0001] AN ELECTRONIC DEVICE FOR GENERATING SECURE ONE-TIME CODES
[0002] FIELD OF INVENTION
[0003] The present invention relates to an electronic device for generating secure one-time codes. The present invention has particular but not exclusive application for enabling secure financial transactions in situations where there is low, intermittent or no network connectivity. The patent specification describes this use but it is by way of example only and the invention is not limited to this use.
[0004] BACKGROUND OF THE INVENTION
[0005] The need for enhanced security in payment and authentication systems has become increasingly paramount in today's digital age.
[0006] Traditional methods of authentication, such as static passwords and PINs, are prone to security breaches and unauthorised access, posing significant risks to individuals and organizations alike.
[0007] Static authentication methods lack the ability to adapt to evolving security threats, making them susceptible to interception and exploitation by malicious actors.
[0008] Furthermore, the proliferation of digital transactions and online services has amplified the need for robust authentication mechanisms that can withstand sophisticated cyber threats.
[0009] In response to these challenges, there has been a growing demand for dynamic payment and authentication solutions that generate unique codes for each transaction or access attempt. Dynamic codes offer an added layer of security by ensuring that each code is valid for a single use only, thereby reducing the risk of unauthorised access and fraud.
[0010] However, existing dynamic authentication solutions often suffer from practical limitations, such as bulky hardware or complex setup procedures.
[0011] Token-based authentication devices, for example, may be cumbersome to carry and require frequent battery replacements.
[0012] Mobile authentication applications, on the other hand, may necessitate internet connectivity and additional hardware, limiting their usability in certain environments.
[0013] OBJECT OF THE INVENTION
[0014] It is an object of the present invention to overcome or at least alleviate one or more of the above-mentioned problems with authentication procedures and / or provide the consumer with a useful or commercial choice.
[0015] SUMMARY OF THE INVENTION
[0016] The present invention was developed in consideration of situations where authentication is required in places where there is low, intermittent or no network connection. For example, making a payment in a basement bar where there is no signal strength and therefore no connectivity. In particular, the inventor considered utilizing one-time codes which could be validated by the server.
[0017] In one aspect, the present invention broadly resides in an electronic device for generating secure one-time codes, including a processor; a memory module configured to store a device seed; a power system configured to power the device; a user control interface; and a data communication module configured to communicate with a customised card product, wherein the device is configured to extract a card seed from the customised card product, and hash the device seed with the card seed; wherein the device is configured to generate a one-time code based on the hashed combination of the device seed and the card seed; and wherein the one-time code is usable in combination with the customised card product to conduct an authentication procedure.
[0018] In one embodiment, the authentication procedure is preferably a financial transaction.
[0019] Preferably, the customised card product is paired with the device.
[0020] In one embodiment, the device preferably has an online transaction mode and an offline transaction mode, the data communication module is configured to communicate with a server, and wherein if the device is in communication with the server the device operates in the online transaction mode, and if the device is not in communication with the server the device operates in the offline transaction mode. Preferably, when the device is in the offline transaction mode, the device is enabled to extract a card seed from the customised card product, hash the device seed with the card seed, and generate the one-time code based on the hashed combination of the device seed and the card seed.
[0021] Preferably, the processor is an embedded microcontroller unit (MCU) configured to manage cryptographic operations. Preferably, the device is configured to store the extracted card seed in the memory module.
[0022] In one embodiment, the device seed is preferably a dynamically updatable seed. In another embodiment, the device seed is preferably a fixed seed.
[0023] Preferably, the device seed is encrypted.
[0024] Preferably, the device has an active state and an inactive state. Preferably, the device has an activation / deactivation mechanism configured to activate / deactivate the device. In one embodiment, the activation / deactivation mechanism is preferably an on / off button.
[0025] Preferably, the device is configured to extract the card seed from the customised card product when the device is positioned adjacent the customised card product.
[0026] Preferably, the data communication module is configured to communicate using a short-range wireless communication protocol.
[0027] Preferably, communications between the device and the server are encrypted.
[0028] Preferably, the customised card product includes a card communication module configured to communicate with the data communication module.
[0029] In one embodiment, the device and the customised card product preferably utilise radio-frequency identification (RFID). Preferably, the data communication module preferably includes at least one RFID reading antenna which can send and receive electromagnetic waves. Preferably, the card communication module is a passive RFID type wherein the power required to send an electromagnetic wave is provided by an electromagnetic wave produced the RFID reading antenna which induces a current in the card communication module. In another embodiment, the device and the customised card product preferably utilise short-range wireless communication with ultra-high frequency (UHF) radio waves in the industrial, scientific, and medical (ISM) bands, from 2.402 GHz to 2.48 GHz, with the data communication module having a transmitter.
[0030] In another embodiment, the device and the customised card product preferably utilise near field communication (NFC), with the data communication module having a transmitter.
[0031] In another embodiment, the device and the customised card product preferably communicate across multiple frequency ranges, including low frequency (LF), high frequency (HF), and UHF.
[0032] Preferably, the module includes computer-readable memory.
[0033] Preferably, the memory module includes read-only memory. In one embodiment, the memory module preferably includes non-volatile memory configured to store data. Preferably, the non-volatile memory is electrically erasable programmable read only memory (EEPROM).
[0034] Preferably, the memory module includes volatile memory. In one embodiment, the volatile memory is preferably random-access memory (RAM) used for the temporary storage of data.
[0035] Preferably, the memory module stores an operating system.
[0036] Preferably, the memory module stores at least one program loaded at the time the device is manufactured and / or configured.
[0037] Preferably, the device seed is loaded into the memory module at the time the device is manufactured and / or configured. Preferably, the operating system is configured to control execution of the at least one program, read and write data to the memory module and perform low-level functions including activation and deactivation of the device.
[0038] In one embodiment, the memory module preferably includes a secure enclave. Preferably, the device seed is stored in the secure enclave.
[0039] Preferably, the memory module stores a plurality of device seeds. Preferably, at least one of the plurality of device seeds is stored in the secure enclave. In one embodiment, at least one of the plurality of device seeds is preferably stored in the secure enclave and at least one other of the plurality of device seeds is preferably stored in a different portion of the memory module. Preferably, the device seed stored in the secure enclave is identical to the server seed and the server contains a copy of each of the plurality of device seeds stored outside of the secure enclave.
[0040] In one embodiment, the customised card product is preferably a virtual card. Preferably, the virtual card is storable on the device. Preferably, the virtual card is enabled to allow the card seed to be extracted if a user’s identity is authenticated.
[0041] Preferably, the device has power management protocols configured to control the power system.
[0042] Preferably, the power system includes a battery. Preferably, the battery is rechargeable.
[0043] In one embodiment, the power system preferably includes a solar panel.
[0044] In one embodiment, the power system preferably includes a kinetic energy harvesting mechanism.
[0045] Preferably, the device includes a display. Preferably, the display is configured to display the one-time code. In one embodiment, the display is preferably a touch screen. In another embodiment, the display is preferably organic light-emitting diode (OLED) or liquidcrystal display (LCD) screen. In another embodiment, the display is preferably an electronic ink display.
[0046] Preferably, the device has an operative unlocked state and an inoperative locked state.
[0047] Preferably, the device includes a biometric sensor. Preferably, the biometric sensor is used for fingerprint or facial recognition to transition the device from the inoperative locked state to the operative unlocked state. In one embodiment the biometric sensor is preferably used for fingerprint or facial recognition to authenticate access to a virtual card.
[0048] Preferably, the device includes a motion sensor. Preferably, the motion sensor is used for detecting tampering or unauthorised use. Preferably, the motion sensor is configured to transition the device from the operative unlocked state to the inoperative locked state when tampering or unauthorised use is detected.
[0049] Preferably, the device includes an ambient light sensor. Preferably, the ambient light sensor is used for automatically adjusting the brightness of the display.
[0050] Preferably, the one-time code is only valid for a predetermined amount of time after which the one-time code is invalid.
[0051] Preferably, the device utilises encryption algorithms for code generation to inhibit unauthorised access or manipulation. Preferably, the cryptographic algorithm used for hashing is selected from the group consisting of SHA-256, HMAC, or any other suitable cryptographic algorithm. Preferably, the device is configured to utilise cloud-based authentication services, allowing for centralized management of security credentials and transaction logs.
[0052] Preferably, the device includes an open application programming interface (API) enabling developers to create custom applications and integrations for the device.
[0053] In one embodiment, the device is preferably the approximate size of a conventional payment card. Preferably, the device is between 0.76 and 2mm thick.
[0054] In one embodiment, the user control interface is preferably a keypad.
[0055] In another embodiment, the user control interface is preferably a touch screen.
[0056] In one embodiment, the user control interface is preferably configured to receive an identification code. In one embodiment, the identification code is preferably a personal identification number (PIN). In another embodiment, the identification code is preferably a password. In one embodiment, the identification code is preferably providable via as short message service (SMS) verification codes or email authentication links. In one embodiment, the identification code is preferably dynamically generated. In one embodiment, the identification code is preferably augmented by a biometric input from the biometric sensor.
[0057] Preferably, the processor includes a clock configured to output a time code corresponding to the current time. Preferably, the clock is synchronized with an external time source. Preferably, the time code is generated when the identification code is entered.
[0058] Preferably, the processor includes a location positioning system configured to output a location code corresponding to the current location of the device. Preferably, location positioning system is a global positioning system (GPS). Preferably, the location code is generated when the identification code is entered.
[0059] In one embodiment, the device is preferably configured to generate the onetime code based on the identification code and the hashed combination of the device seed and the card seed.
[0060] In one embodiment, the device is preferably configured to generate the onetime code based on the current time code and the hashed combination of the device seed and the card seed.
[0061] In a preferred embodiment, the device is preferably configured to generate the one-time code based on the identification code, the current time code and the device seed and the card seed.
[0062] In another embodiment, the device is preferably configured to generate the one-time code based on a combination of the identification code, the current time code, the current location code, details of the transaction, user behaviour patterns, the device seed or the card seed.
[0063] In one embodiment, the device preferably includes a shield configured to obscure the display from persons other than the user.
[0064] Preferably, the data communication module preferably has an operational signal range for short range communication of substantially 50mm.
[0065] Preferably, the device is configured such that when the activation / deactivation mechanism is actuated to activate the device the device detects whether there is a customised card product within the operation signal range.
[0066] Preferably, the device has a tamper-evident casing.
[0067] Preferably, the device utilises secure boot processes. The secure boot processes are preferably selected from one or more of digital signature authentication and verification, hash-checking mechanisms, or other known secure processes.
[0068] Preferably, the device utilises encrypted communication channels.
[0069] Preferably, the device has remote management capabilities, enabling over- the-air updates or remote deactivation of the device in case of loss or theft.
[0070] Preferably, the device is a smart device capable of communicating with one or more other devices and / or across a communications network, via a communications protocol. In one embodiment, the device is preferably a mobile phone. In another embodiment, the device is preferably a wearable device such as a smartwatch, a smart ring or a fitness tracker. In another embodiment, the device is preferably a key fob.
[0071] In one embodiment wherein the customised card product is a virtual card, the virtual card is preferably storable on an additional device such as a mobile phone, a smartwatch, a smart ring, or a fitness tracker
[0072] Preferably, the device has application software which generates the one-time code. Preferably, when the device is positioned adjacent to the customised card product a deep link uniform resource identifier (URL) is triggered which activates the application software. In one embodiment, the application software is preferably activated by positioning the customised card product adjacent the device. In one embodiment, when the application software is activated the application software is preferably allowed to generate the one-time code if a user’s identity is authenticated.
[0073] Preferably, the data communication module is configured to communicate across a wireless communications network. Preferably, the device is able to communicate with a remote server via a wireless communications network. Preferably, the wireless communications network is a telecommunications network. Preferably, the device seed is identical to server seed, wherein the server seed is stored on the remote server.
[0074] Preferably, in use the remote server is able to verify the one-time code and authorise the transaction to proceed.
[0075] In one embodiment, the memory module and the processor are preferably individual chips. In an alternative embodiment, the memory module and the processor are preferably integrated as a single chip.
[0076] In one embodiment, the processor is preferably implemented as a single processor. In an alternative embodiment, the processor is preferably implemented as two or more processors.
[0077] Preferably, the customised card product has an activated state and a deactivated state, wherein in the activated state the customised card product is enabled to initiate the authentication procedure and in the deactivated state the customised card product is unable to initiate the authentication procedure, and wherein the device is configured to transition the customised card product to the activated state. Preferably, in use when the customised card product is positioned adjacent the device the customised card product transitions to the activated state. More preferably, in use when the customised card product is positioned adjacent the device the device prompts a user to authorise the transition of the customised card product to the activated state, and upon receiving authorisation the customised card product transitions to the activated state.
[0078] In a further aspect, the present invention broadly resides in a system for conducting an authentication procedure, including a customised card product containing a card seed; a server containing a server seed and an identical copy of the card seed; and an electronic device for generating secure one-time codes, the device including a processor; a memory module configured to store a device seed, the device seed being identical to the server seed; a power system configured to power the device; a user control interface; and a data communication module configured to communicate with the customised card product and the server, wherein the device is configured to extract the card seed from the customised card product, and hash the device seed with the card seed; wherein the device is configured to generate a device-side one-time code based on the hashed combination of the device seed and the card seed; wherein the one-time code is usable in combination with the customised card product to initiate the authentication procedure via a local authorisation device; wherein the server is configured to, receive notice of the authentication procedure from the local authorisation device; hash the server seed with the card seed; generate a server-side one-time code based on the hashed combination of the server seed with the card seed; compare the device-side one-time code against the server-side onetime code; if the device-side one-time code matches the server-side one-time code then authorise the transaction to proceed; and if the device-side one-time code does not match the server-side onetime code then decline the transaction.
[0079] In one embodiment, the authentication procedure is preferably a financial transaction.
[0080] In one embodiment, the local authorisation device is preferably a point-of-sale device.
[0081] In one embodiment, the system preferably has an online transaction mode and an offline transaction mode, and wherein if the device is in communication with the server the system operates in the online transaction mode, and if the device is not in communication with the server the system operates in the offline transaction mode. Preferably, when the system is in the offline transaction mode, the device is configured to extract the card seed from the customised card product, and hash the device seed with the card seed, generate the device-side one-time code based on the hashed combination of the device seed and the card seed.
[0082] In one embodiment, the local authorisation device is preferably an electronic funds transfer at point of sale (EFTPOS) machine.
[0083] In another embodiment, the local authorisation device is preferably a computer.
[0084] In one embodiment, the device-side one-time code is preferably generated in the form of card details of the customised card product. Preferably, the device is configured to display the device-side one-time code in the form of card details of the customised card product. The card details can include an expiry date and a security code. Preferably, the expiry date is variable and generated for each authentication procedure. Preferably, the security code is variable and generated for each authentication procedure. Preferably, the device is configured to generate an expiry date based on the hashed combination of the device seed and the card seed.
[0085] Preferably, the device is configured to generate a security code based on the hashed combination of the device seed and the card seed. In a preferred embodiment, the device-side one-time code is generated in the form of a seven-digit number wherein the four digits correspond to an expiry date and last three digits correspond to a security code.
[0086] Preferably, the device includes a display. Preferably, the display is configured to display the device-side one-time code.
[0087] Preferably, the device-side one-time code is only valid for a predetermined amount of time after which the device-side one-time code is invalid.
[0088] Preferably, the device and the server utilise encryption algorithms for code generation to inhibit unauthorised access or manipulation. Preferably, the cryptographic algorithm used for hashing is selected from the group consisting of SHA-256, HMAC, or any other suitable cryptographic algorithm.
[0089] Preferably, the system is configured to utilise cloud-based authentication services, allowing for centralized management of security credentials and transaction logs.
[0090] Preferably, the processor includes a device clock configured to output a time code corresponding to the current time. Preferably, the device clock is synchronized with an external time source. Preferably, the time code is generated when the identification code is entered. Preferably, the server has a server clock configured to output a time code, wherein the server is synchronised to the external time source such that the time code produced by the device clock and the time code produced by the server clock are identical. In an alternative embodiment, the server clock is preferably the external time source to which the device clock is synchronised, and the time code produced by the device clock and the time code produced by the server clock are identical.
[0091] Preferably, the processor includes a location positioning system configured to output a location code corresponding to the current location of the device. Preferably, location positioning system is a global positioning system (GPS). Preferably, the location code is generated when the identification code is entered. Preferably, the local authorisation device transmits a location code to the server.
[0092] In one embodiment, the device is preferably configured to generate the device-side one-time code based on the identification code and the hashed combination of the device seed and the card seed, wherein the server has an identical copy of the identification code, and the server is configured to generate the server-side one-time code based on the identification code and the hashed combination of the server seed and the card seed.
[0093] In one embodiment, the device is preferably configured to generate the device-side one-time code based on the current time code and the hashed combination of the device seed and the card seed and the server is configured to generate the server-side one-time code based on the current time code and the hashed combination of the server seed and the card seed.
[0094] In a preferred embodiment, the device is preferably configured to generate the device-side one-time code based on the identification code, the current time code and the device seed and the card seed, wherein the server has an identical copy of the identification code, and the server is configured to generate the server-side onetime code based on the current time code, the identification code and the hashed combination of the server seed and the card seed. In a preferred embodiment, the server is preferably configured to generate a first server-side one-time code based on the current time code and the hashed combination of the server seed and the card seed and a second server-side onetime code based on an immediately prior time and the hashed combination of the server seed and the card seed, and the server is configured to, compare the device-side one-time code against the first server-side one-time code and the second server-side one-time code, if the device-side one-time code matches either the first server-side one-time code or the second server-side one-time code then authorise the transaction to proceed; and if the device-side one-time code does not match either the first server-side one-time code or the second server-side one-time code then decline the transaction.
[0095] In another embodiment, the device is preferably configured to generate the device-side one-time code based on a combination of the identification code, the current time code, the current location code, details of the transaction, user behaviour patterns, the device seed or the card seed, and the server is configured to generate the server-side one-time code based on the corresponding combination of codes and information.
[0096] Preferably, the system has a plurality of customised card products, and each customised card product has a unique card seed.
[0097] Preferably, the device is a smart device capable of communicating with one or more other devices, the server and / or across a communications network, via a communications protocol. In one embodiment, the device is preferably a mobile phone. In another embodiment, the device is preferably a wearable device such as a smartwatch, smart ring or fitness tracker. In another embodiment, the device is preferably a key fob.
[0098] Preferably, the server is a remote server. Preferably, the data communication module is configured to communicate across a wireless communications network. Preferably, the device is able to communicate with the remote server via a wireless communications network. Preferably, the wireless communications network is a telecommunications network.
[0099] Preferably, the customised card product has an activated state and a deactivated state, wherein in the activated state the customised card product is able to initiate the authentication procedure and in the deactivated state the customised card product is unable to initiate the authentication procedure.
[0100] Preferably, the device is configured to transition the customised card product to the activated state. Preferably, in use when the customised card product is positioned adjacent the device the customised card product transitions to the activated state. More preferably, in use when the customised card product is positioned adjacent the device the device prompts a user to authorise the transition of the customised card product to the activated state, and upon receiving authorisation the customised card product transitions to the activated state.
[0101] Preferably, the customised card product automatically reverts to the deactivated state when the authentication procedure is complete or the authentication procedure is declined.
[0102] The customised card product preferably has static card details including a card number, an expiry date and a security code. The server preferably has a record of the static card details corresponding to the customised card product. In one embodiment, the server is preferably configured to only allow the authentication procedure to proceed when the static card details are input and sent with the notice of the authentication procedure if the customised card product is in the deactivated state, the system is in the offline mode, and the static card details match the static card details recorded on the server.
[0103] In another embodiment, the server is preferably configured to decline the authentication procedure if the static card details are input and sent with the notice of the authentication procedure from the local authorisation device as the static card details will not match the server-side one-time code.
[0104] Preferably, the system enables a contactless authentication procedure.
[0105] Preferably in an embodiment wherein the authentication procedure is a financial transaction, the system has a predefined charge amount limit protection feature which, when enabled, allows a user to set a limit for which if the financial transaction is for a charge amount greater than the limit the financial transaction will be declined.
[0106] In a further aspect, the present invention broadly resides in a method of conducting an authentication procedure using the system as described above, the method including the device, extracting the card seed from the customised card product; hashing the device seed with the card seed; generating a device-side one-time code based on the hashed combination of the device seed and the card seed; initiating the authentication procedure using the customised card product and device-side one-time code at the local authorisation device, the local authorisation device communicating a notice of the authentication procedure to the server; the server, receiving the notice of the authentication procedure from the local authorisation device; hashing the server seed with the card seed; generating a server-side one-time code based on the hashed combination of the server seed with the card seed; comparing the device-side one-time code against the server-side onetime code; if the device-side one-time code matches the server-side one-time code then authorising the transaction to proceed; and if the device-side one-time code does not match the server-side onetime code then declining the transaction.
[0107] In one embodiment, the authentication procedure is preferably a financial transaction.
[0108] In one embodiment, the local authorisation device is preferably a point-of-sale device.
[0109] Preferably, the method includes activating the device to extract the card seed from the customised card product.
[0110] Preferably, the method includes positioning the device into adjacent the customised card product in order to extract the card seed. In an embodiment wherein the device includes a display, the method preferably includes the device displaying the device-side one-time code on the display.
[0111] In an embodiment wherein the device has a device clock configured to output a time code corresponding to the current time and the server has a server clock configured to output a time code corresponding to the current time, and the device clock and the server clock are synchronised, the method preferably includes the device is generating the device-side one-time code based on the current time code and the hashed combination of the device seed and the card seed and the server is generating the server-side one-time code based on the current time code and the hashed combination of the server seed and the card seed.
[0112] In an embodiment wherein the customised card product has an activated state and a deactivated state and the device is configured to transition the customised card product to the activated state, the method preferably includes positioning the customised card product adjacent the device to transition the customised card product to the activated state. Preferably, when the customised card product is positioned adjacent the device the device prompts a user to authorise the transition of the customised card product to the activated state, the method includes authorising the activation, and upon receiving authorisation the customised card product transitions to the activated state. Preferably, the customised card product automatically reverts to the deactivated state when the authentication procedure is complete, or the authentication procedure is declined.
[0113] In an embodiment wherein the local authorisation device is an EFTPOS machine, the method preferably includes inserting the customised card product into the EFTPOS machine and using the device-side one-time code as a personal identification number (PIN) for the authentication procedure.
[0114] In an embodiment wherein the local authorisation device is a computer, the method preferably includes the device-side one-time code being generated in the form of card details of the customised card product. Preferably, the method includes the device displaying the device-side one-time code in the form of card details of the customised card product, and using the displayed device-side one-time code as card details to initiate an authentication procedure. Preferably, the method includes the device generating the device-side one-time code in the form of an expiry date and a security code. In a preferred embodiment, the device-side one-time code is generated in the form of a seven-digit number wherein the four digits correspond to an expiry date and last three digits correspond to a security code.
[0115] In one aspect, the present invention broadly resides in an electronic device for conducting an authentication procedure, the device having an online transaction mode and an offline transaction mode, the device including a processor; a memory module configured to store a device seed; a power system configured to power the device; a user control interface; and a data communication module configured to communicate with a customised card product and a server, wherein if the device is in communication with the server the device operates in the online transaction mode; and wherein if the device is not in communication with the server the device operates in the offline transaction mode; wherein in the offline transaction mode the device is configured to extract a card seed from the customised card product; hash the device seed with the card seed; generate a one-time code based on the hashed combination of the device seed and the card seed; and wherein the one-time code is usable in combination with the customised card product to conduct the authentication procedure.
[0116] In a further aspect, the present invention broadly resides in a system for conducting an authentication procedure, including a customised card product containing a card seed; a server containing a server seed and an identical copy of the card seed; and an electronic device for generating secure one-time codes, the device including a processor; a memory module configured to store a device seed, the device seed being identical to the server seed; a power system configured to power the device; a user control interface; and a data communication module configured to communicate with the customised card product and the server, wherein the system has an online transaction mode and an offline transaction mode; wherein if the device is in communication with the server the system operates in the online transaction mode; and wherein if the device is not in communication with the server the system operates in the offline transaction mode; wherein in the offline transaction mode the device is configured to extract the card seed from the customised card product; hash the device seed with the card seed; generate a device-side one-time code based on the hashed combination of the device seed and the card seed; wherein the device-side one-time code is usable in combination with the customised card product to initiate the authentication procedure via a local authorisation device; wherein in the offline transaction mode the server is configured to, receive a notice of the authentication procedure from the local authorisation device, including the device-side one-time code; hash the server seed with the card seed; generate a server-side one-time code based on the hashed combination of the server seed with the card seed; compare the device-side one-time code against the server-side one-time code; authorise the transaction to proceed if the device-side one-time code matches the server-side one-time code; and decline the transaction if the device-side one-time code does not match the server-side one-time code.
[0117] In one embodiment, the device is configured to extract the card seed from the customised card product; hash the device seed with the card seed; generate a device-side one-time code based on the hashed combination of the device seed and the card seed; wherein the device-side one-time code is usable in combination with the customised card product to initiate the authentication procedure via a local authorisation device; and the server is configured to receive a notice of the authentication procedure from the local authorisation device, including the device-side one-time code; hash the server seed with the card seed; generate a server-side one-time code based on the hashed combination of the server seed with the card seed; compare the device-side one-time code against the server-side onetime code; authorise the transaction to proceed if the device-side one-time code matches the server-side one-time code; and decline the transaction if the device-side one-time code does not match the server-side one-time code.
[0118] In another embodiment, the server preferably further contains a server-side identification code record; and in the online transaction mode the server is configured to receive the notice of the authentication procedure from the local authorisation device including a device-side identification code; compare the device-side identification code against the server-side identification code record; authorise the transaction to proceed if the device-side identification code matches the server-side identification code record; and decline the transaction if the device-side identification code does not match the server-side identification code record.
[0119] In a further aspect, the present invention broadly resides in a method of conducting an authentication procedure using the system as described above, the method including the device, extracting the card seed from the customised card product; hashing the device seed with the card seed; generating a device-side one-time code based on the hashed combination of the device seed and the card seed; initiating the authentication procedure using the customised card product and device-side one-time code at the local authorisation device, the local authorisation device communicating a notice of the authentication procedure to the server; the server, receiving the notice of the authentication procedure from the local authorisation device; determining whether system is operating in the online transaction mode and the offline transaction mode; if the system is operating in the offline transaction mode the method includes the server, hashing the server seed with the card seed; generating a server-side one-time code based on the hashed combination of the server seed with the card seed; comparing the device-side one-time code against the server-side onetime code; if the device-side one-time code matches the server-side one-time code then authorising the transaction to proceed; and if the device-side one-time code does not match the server-side onetime code then declining the transaction.
[0120] In one embodiment, the authentication procedure is preferably a financial transaction.
[0121] In one embodiment, the local authorisation device is preferably a point-of-sale device.
[0122] In an embodiment wherein the server further contains a server-side identification code record and if the system is operating in the online transaction mode, the method preferably includes the server, receiving notice of the authentication procedure from the local authorisation device including the device-side identification code; comparing the device-side identification code against the server-side identification code record; authorising the transaction to proceed if the device-side identification code matches the server-side identification code record; and declining the transaction if the device-side identification code does not match the server-side identification code record.
[0123] Preferably, the device-side identification code is a personal identification number (PIN). Preferably, the method includes the server, upon receiving notice of the authentication procedure from the local authorisation device, transmitting a query communication to the device to validate whether the device is or is not able to be communicated with
[0124] Preferably, the method includes the device, upon receiving the query communication from the server, transmitting a response communication to the server in reply.
[0125] Preferably, the method includes if the server receives a response communication corresponding to the query communication the server operates in the online transaction mode.
[0126] Preferably, the method includes if the server does not receive a response communication corresponding to the query communication the server operates in the offline transaction mode. Preferably, if the server does not receive a response communication corresponding to the query communication within ten seconds of issuing the query communication the server operates in the offline transaction mode.
[0127] In one embodiment wherein the device has a display, the method preferably includes the device displaying the device-side one-time code on the display.
[0128] Preferably, the method includes the device storing the extracted card seed in the memory module.
[0129] The term “module” as used herein refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and software that is capable of performing the functionality associated with that element. Also, while the disclosure is presented in terms of exemplary embodiments, it should be appreciated that individual aspects of the disclosure can be separately claimed. The features described with respect to one aspect also apply where applicable to all other aspects of the invention. Furthermore, different combinations of described features are herein described and claimed even when not expressly stated.
[0130] BRIEF DESCRIPTION OF THE DRAWINGS
[0131] In order that the present invention can be more readily understood reference will now be made to the accompanying drawings which illustrate a preferred embodiment of the invention and wherein:
[0132] Figure 1 is a schematic view of a system according to an embodiment of the present invention wherein the system is operating in an online transaction mode;
[0133] Figure 2 is a schematic view of the system of Figure 1 wherein the system is operating in an offline transaction mode; and
[0134] Figure 3 is a flow diagram of the system of Figure 1.
[0135] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0136] Referring to Figures 1 to 3 there is shown a system 10 conducting an authentication procedure according to a preferred embodiment of the present invention. The authentication procedure will be described as a financial transaction made at a point-of-sale device 50. The point-of-sale device 50 is an electronic funds transfer at point of sale (EFTPOS) machine.
[0137] The system 10 includes a customised card product 20, a server 30, and an electronic device 40 for generating secure one-time codes. The server 20 is controlled by a financial institution, such as a bank. The customised card product 20 contains a card seed 22. The customised card product 20 has static card details including a card number, an expiry date and a security code. The server 30 has a record of the static card details corresponding to the customised card product 20.
[0138] The server 30 contains a server seed 32.
[0139] The device 40 will be described as a mobile phone. The device 40 includes a processor, a memory module 42, a power system configured to power the device 40, a user control interface in the form of a touch screen, a data communication module configured to communicate with the customised card product 20 and the server 30. The processor is an embedded microcontroller unit (MCU) configured to manage cryptographic operations. The device 40 has an activation / deactivation mechanism configured to activate / deactivate the device 40.
[0140] The server 30 has a server clock and the device 40 has a device clock. The device clock is synchronised with the server clock. The device clock is configured to output a time code corresponding to the current time. The server clock is configured to output a first time code corresponding to the current time and output a second time code corresponding to an immediately prior time. The use of the second time code is to account for delays in transmissions between the point-of-sale device 50 and the server 30.
[0141] The memory module is configured to store a first device seed 46 and a second device see 48. The memory module 42 has a secure enclave 44. The second device seed 48 is stored in the secure enclave 44. The second device seed 48 is loaded on to the secure enclave 44 at the time the device 40 is manufactured and / or configured. The second device seed 48 is identical to the server seed 32.
[0142] The server 30 contains an identical copy of the card seed 22. The server 30 contains an identical copy of the first device seed 46.
[0143] The system 10 has an online transaction mode and an offline transaction mode.
[0144] If the device 40 is in communication with the server 30 the system 10 operates in the online transaction mode.
[0145] If the device 40 is not in communication with the server 30 the system 10 operates in the offline transaction mode.
[0146] The customised card product 20 includes a card communication module configured to communicate with the data communication module.
[0147] The data communication module enables the device 40 to communicate with the customised card product 20 using a short-range wireless communication protocol.
[0148] The data communication module enables the device 40 to communicate with the server via a wireless communications network.
[0149] The device 40 and the customised card product 20 utilise radio-frequency identification (RFID). The data communication module includes a RFID reading antenna which can send and receive electromagnetic waves. The card communication module is a passive RFID type wherein the power required to send an electromagnetic wave is provided by an electromagnetic wave produced the RFID reading antenna which induces a current in the card communication module.
[0150] In the offline transaction mode, the device 40 is configured to: extract the card seed 22 from the customised card product 20; hash the first device seed 46 and the second device seed 48 with the card seed 22; and generate a device-side one-time code based on the current time code output produced by the device clock, and the hashed combination of the first device seed 46, the second device seed 48 and the card seed 22.
[0151] The device 40 is configured to extract the card seed 22 from the customised card product 20 when the device 40 is positioned adjacent the customised card product 22. The device 40 is configured to store the extracted card seed 22 in the memory module 42.
[0152] The server 30 further contains a server-side identification code record.
[0153] In the online transaction mode, the server 30 is configured to: receive the notice of the financial transaction from the point-of-sale device 50 including a device-side identification code; compare the device-side identification code against the server-side identification code record; authorise the transaction to proceed if the device-side identification code matches the server-side identification code record; and decline the transaction if the device-side identification code does not match the server-side identification code record.
[0154] The device-side identification code is a personal identification number (PIN) associated with the customised card product 20.
[0155] The communications between the device 40 and the server 30 are encrypted.
[0156] The point-of-sale device 50 is able to communicate with the server 30. The communications between the point-of-sale device 50 and the server 30 are encrypted.
[0157] The device-side one-time code is usable in combination with the customised card product 20 to initiate a financial transaction via a point-of-sale device 50. In the offline transaction mode, the server 30 is configured to: receive a notice of the financial transaction from the point-of-sale device 50, including the device-side one-time code; hash the server seed 32 with the copy of the card seed 22 and the copy of the first device seed 46. generate a first server-side one-time code based on the first time code output secure enclave 44 by the server clock, and the hashed combination of the server seed 32 with the copy of the card seed 22 and the copy of the first device seed 46; generate a second server-side one-time code based on the second time code output by the server clock, and the hashed combination of the server seed 32 with the copy of the card seed 22 and the copy of the first device seed 46 compare the device-side one-time code against the first server-side one-time code and the second server-side one-time code; authorise the transaction to proceed if the device-side one-time code matches either the first server-side one-time code or the second server-side one-time code; and decline the transaction if the device-side one-time code does not match the either the first server-side one-time code or the second server-side one-time code.
[0158] The server 30 is configured to upon receiving the notice of the financial transaction from the point-of-sale device 50 transmit a query communication to the device 40 to validate whether the device 40 is or is not able to be communicated with. The device 40 is configured to upon receiving the query communication from the server 30 to transmit a response communication to the server 30 in reply.
[0159] If the server 30 receives a response communication corresponding to the query communication the server 30 operates in the online transaction mode. If the server 30 does not receive a response communication corresponding to the query communication within ten seconds of issuing the query communication the server 30 operates in the offline transaction mode.
[0160] The customised card product 20 has an activated state and a deactivated state, wherein in the activated state the customised card product 20 is enabled to initiate the financial transaction and in the deactivated state the customised card product 20 is unable to initiate the financial transaction. The customised card product 20 automatically reverts to the deactivated state when the financial transaction is complete or the financial transaction is declined.
[0161] The device 40 is configured to transition the customised card product 20 to the activated state.
[0162] The device 40 includes a display, in the form of the touch screen, configured to display the device-side one-time code.
[0163] The device 40 and server 30 utilise encryption algorithms for code generation to inhibit unauthorised access or manipulation. The cryptographic algorithm used for hashing is selected from the group consisting of SHA-256, HMAC, or any other suitable cryptographic algorithm.
[0164] In use, the system 10 is used to conduct a financial transaction.
[0165] The customised card product 20 starts in the deactivated state. The customised card product 20 is activated by positioning the customised card product 20 adjacent the device within an operational signal range. The device 40 prompts a user to authorise the transition of the customised card product 20 to the activated state, and upon receiving authorisation the customised card product 20 transitions to the activated state. The device 40 extracts the card seed 22 from the customised card product 20 and hashes the first device seed 46 and the second device seed 48 with the card seed 22.
[0166] The device 40 generates a device-side one-time code based on the current time code output produced by the device clock, and the hashed combination of the first device seed 46 and the second device seed 48 with the card seed 22. The device 40 displays the device-side one-time code on the display.
[0167] The customised card product 20 in the activated state is then used with the point-of-sale device 50 to initiate a financial transaction. The user can insert the customised card product 20 into the point-of-sale device 50 and enters the deviceside one-time code into the point-of-sale-device 50 as a personal identification number (PIN).
[0168] The point-of-sale-device 50 communicates a notice of the financial transaction to the server 30.
[0169] Upon receiving the notice of the financial transaction, the server 30 determines whether the system 10 is operating in the online transaction mode and the offline transaction mode.
[0170] When the server receives the notice of the financial transaction from the point- of-sale device, the server 30 transmits a query communication to the device 40 to validate whether the device 40 is or is not able to be communicated with.
[0171] The device 40, upon receiving the query communication from the server 30, transmits a response communication to the server 30 in reply.
[0172] If the server 30 receives a response communication corresponding to the query communication the server 30 operates in the online transaction mode. If the server 30 does not receive a response communication corresponding to the query communication within ten seconds of issuing the query communication the server 30 operates in the offline transaction mode.
[0173] If the system 10 is operating in the offline transaction mode, the server 30 hashes the server seed 32 with the copy of the card seed 22 and the copy of the first device seed 46. The server then generates a first server-side one-time code based on the first time code output by the server clock, and the hashed combination of the server seed 32 with the copy of the card seed 22 and the copy of the first device seed 46, and second server-side one-time code based on the second time code produced by the server clock, and the hashed combination of the server seed 32 with the copy of the card seed 22 and the copy of the first device seed 46.
[0174] The server 30 then compares the device-side one-time code against the first server-side one-time code and the second server-side one-time code.
[0175] If the device-side one-time code matches either the first server-side one-time code and the second server-side one-time code, then the server authorises the transaction to proceed.
[0176] If the device-side one-time code does not match either the first server-side one-time code and the second server-side one-time code, then the server declines the transaction.
[0177] If the system 10 is operating in the online transaction mode, the server 30, receives notice of the financial transaction from the point-of-sale device 50 including the device-side identification code; compares the device-side identification code against the server-side identification code record; authorises the transaction to proceed if the device-side identification code matches the server-side identification code record; and declines the transaction if the device-side identification code does not match the server-side identification code record.
[0178] At the completion of the financial transaction or if the financial transaction is declined the customised card product 20 is automatically transitioned to the deactivated state.
[0179] Referring to Figure 3 is a flow diagram for the processes the system 10 undergoes when a financial transaction is initiated from the perspective of the server 30. The flow diagram shows how the system 10 operates in different scenarios and the decisions being made at each stage.
[0180] At 100 a transaction is initiated at a point of sale for a charge amount. The process then goes to Decision 102.
[0181] Decision 102
[0182] ‘Were the static card details of the customised card product 20 or the deviceside one-time code input into the point-of-sale device 50?’
[0183] The device-side one-time code can be in the form of card details of the customised card product 20.
[0184] If the static card details or a device-side one-time code were not input into the point-of-sale device 50, then the process goes to decision 110. If the static card details or a device-side one-time code input into the point-of- sale device 50, then the process goes to decision 120.
[0185] Decision 110
[0186] ‘Is the customised card product 20 in the activated state or deactivated state?’
[0187] If the customised card product 20 is in the activated state, then the process goes to decision 112.
[0188] If the customised card product 20 is in the deactivated state, then the financial transaction is declined at 180. As the customised card product 20 was not in the activated state when the financial transaction was initiated it is possible that the person who initiated the transaction is not an authorised user and / or the customised card product 20 has been lost or stolen. Thus, the financial transaction is declined to prevent the unauthorised access to funds.
[0189] Decision 112
[0190] ‘Does the system 10 have the predefined charge amount limit protection feature enabled?’
[0191] The predefined charge amount limit protection feature, when enabled, allows a user to set a limit for which if the financial transaction is for a charge amount greater than the limit the financial transaction will be declined. For example, the user can set a limit of $100, and financial transactions greater than $100 will be declined.
[0192] If the predefined charge amount limit protection feature is enabled, then the process goes to decision 113.
[0193] If the predefined charge amount limit protection feature is not enabled, then the process goes to decision 114. Decision 113
[0194] ‘Is the charge amount greater than the predefined charge amount limit?’
[0195] If the charge amount is greater than the predefined charge amount limit, then the financial transaction is declined at 180.
[0196] If the charge amount is less than the predefined charge amount limit, then the process goes to decision 114.
[0197] Decision 114
[0198] ‘Is the transaction a contactless transaction?’
[0199] A contactless financial transaction is a secure payment method that allows a user to conduct a financial transaction by tapping or waving the customised card product 20 near the point-of-sale device 50, without needing to physically insert or swipe the customised card product 20.
[0200] If transaction is a contactless transaction, then the financial transaction proceeds at 190. For contactless transactions where predefined charge amount limit protection feature is not enabled or for contactless transactions for charge amounts less than the set limit the financial transaction is allowed to proceed. This allows for financial transactions to proceed swiftly in circumstances when greater security is deemed not to be required (i.e. predefined charge amount limit protection feature disabled) or where the charge amounts are within authorised limits.
[0201] If transaction is not a contactless transaction, then the process goes to decision 116.
[0202] Decision 116 ‘Should the system operate in the online transaction mode or offline transaction mode?’
[0203] The server, upon receiving the notice of the financial transaction from the point-of-sale device 50, transmits a query communication to the device 40 to validate whether the device 40 is or is not able to be communicated with. If the device 40 receives the query communication from the server 30, the device 40 will transmit a response communication to the server 30 in reply.
[0204] If the server 30 receives a response communication corresponding to the query communication the server 30 operates in the online transaction mode.
[0205] If the server 30 does not receive a response communication corresponding to the query communication the server 30 operates in the offline transaction mode.
[0206] If the system is operating in the online transaction mode, then the financial transaction proceeds at 190.
[0207] If the system is operating in the offline transaction mode, then the process goes to decision 118, the user is prompted to enter a code and the user enters the device-side one-time code.
[0208] Decision 118
[0209] ‘Does the device-side one-time code match either the first server-side onetime code or the second server-side one-time code?’
[0210] If the device-side one-time code match either the first server-side one-time code or the second server-side one-time code, then the financial transaction proceeds at 190.
[0211] If the device-side one-time code does not match either the first server-side one-time code or the second server-side one-time code, then the financial transaction is declined at 180. If the device-side one-time code does not match then it is possible that the person who initiated the transaction is not an authorised user and / or the customised card product 20 has been lost or stolen. The person could have obtained the customised card product 20 when it was activated, but not have the ability to generate the correct device-side one-time code. Thus, the financial transaction is declined to prevent the unauthorised access to funds.
[0212] Decision 120
[0213] ‘Is the customised card product 20 in the activated state or deactivated state?’
[0214] If the customised card product 20 in the activated state, then the process goes to decision 122.
[0215] If the customised card product 20 in the deactivated state, then the process goes to decision 124.
[0216] Decision 122
[0217] ‘Were the static card details input into the point-of-sale device 50?’
[0218] If the static card details were input into the point-of-sale device 50, then the financial transaction is declined at 180. The server 30 will not allow the financial transaction to proceed if the static card details are input and sent with the notice of the financial transaction from the point-of-sale device 50 and the customised card product 20 is in the activated state.
[0219] If the static card details were not input into the point-of-sale device 50, then the process goes to decision 112.
[0220] Decision 124 ‘Should the system operate in the online transaction mode or offline transaction mode?’
[0221] The server, upon receiving the notice of the financial transaction from the point-of-sale device 50, transmits a query communication to the device 40 to validate whether the device 40 is or is not able to be communicated with. If the device 40 receives the query communication from the server 30, the device 40 will transmit a response communication to the server 30 in reply.
[0222] If the server 30 receives a response communication corresponding to the query communication the server 30 operates in the online transaction mode.
[0223] If the server 30 does not receive a response communication corresponding to the query communication the server 30 operates in the offline transaction mode.
[0224] If the system is operating in the online transaction mode, then the financial transaction is declined at 180. This situation is suspicious as it indicates that the device 40 is in communication with the server 30, but the user is attempting to input card details other than the static card details.
[0225] If the system is operating in the offline transaction mode, then the process goes to decision 130.
[0226] Decision 130
[0227] ‘Were the static card details or the device-side one-time code input into the point-of-sale device 50?’
[0228] If the static card details were used, then the process goes to decision 132.
[0229] If the device-side one-time code was used, then the process goes to decision 134. If the inputted numbers do not match the static card details then it is assumed that the input numbers are a device-side one-time code. This assumption is assessed at decision 134 as to whether the inputted numbers are validated as an acceptable one-time code.
[0230] Decision 132
[0231] ‘Do the inputted card details match the static card details recorded on the server?’
[0232] If the inputted card details match the static card details recorded on the server, then the financial transaction proceeds at 190.
[0233] If the inputted card details do not match the static card details recorded on the server, then the financial transaction is declined at 180.
[0234] Decision 134
[0235] ‘Does the device-side one-time code match either first server-side one-time code or the second server-side one-time code?’
[0236] If the device-side one-time code match either the first server-side one-time code or the second server-side one-time code, then the financial transaction proceeds at 190.
[0237] If the device-side one-time code does not match either the first server-side one-time code or the second server-side one-time code, then the financial transaction is declined at 180.
[0238] ADVANTAGES
[0239] An advantage of the preferred embodiment of the system includes that secure authentication can be conducted in places where there is little or no signal strength to form a network connection between the user and the server. The generated one- time codes can be used for secure authentication in various applications, including financial services (e.g., online banking, mobile payments), secure access controls (e.g., physical or digital entry systems), and identity verification (e.g., government IDs, corporate badges).
[0240] Another advantage of the preferred embodiment of the system is that the device's ability to generate unique codes tailored to specific customised cards and transactions enhances transaction security and mitigates the risk of fraud and unauthorised access.
[0241] A further advantage of the preferred embodiment of the system includes that utilizing a combination of a time code based on the current time, and the hashed seeds, the device ensures that each code is valid for a single use only, reducing the likelihood of interception and replication.
[0242] Another advantage of the preferred embodiment of the system is that the onetime codes can be generated without having to rely on text, email, a mobile application or physical token by which to gain access to a code.
[0243] A further advantage of the preferred embodiment of the system includes that the customised card product essentially acts as a key to enable the device to generate a suitable code. Therefore, a person in possession of the device by not the customised card product would be unable to generate the code necessary to complete a transaction.
[0244] VARIATIONS
[0245] While the foregoing has been given by way of illustrative example of this invention, all such and other modifications and variations thereto as would be apparent to persons skilled in the art are deemed to fall within the broad scope and ambit of this invention as is herein set forth.
[0246] Throughout the description and claims of this specification the word
[0247] “comprise” and variations of that word such as “comprises” and “comprising”, are not intended to exclude other additives, components, integers or steps.
Claims
CLAIMS1. An electronic device for generating secure one-time codes, including a processor; a memory module configured to store a device seed; a power system configured to power the device; a user control interface; and a data communication module configured to communicate with a customised card product, wherein the device is configured to extract a card seed from the customised card product, and hash the device seed with the card seed; wherein the device is configured to generate a one-time code based on the hashed combination of the device seed and the card seed; and wherein the one-time code is usable in combination with the customised card product to conduct an authentication procedure.
2. A device as claimed in claim 1, wherein the memory module includes a secure enclave, and the device seed is stored in the secure enclave.
3. A device as claimed in claim 1, wherein the memory module includes a secure enclave, the memory module stores a plurality of device seeds, at least one of the plurality of device seeds is stored in the secure enclave and at least one other of the plurality of device seeds is stored in a different portion of the memory module, the device seed stored in the secure enclave is identical to the server seed, and theserver contains a copy of each of the plurality of device seeds stored outside of the secure enclave.
4. A device as claimed in any one of claims 1 to 3, wherein the device includes a display configured to display the one-time code.
5. A system for conducting an authentication procedure, including a customised card product containing a card seed; a server containing a server seed and an identical copy of the card seed; and an electronic device for generating secure one-time codes, the device including a processor; a memory module configured to store a device seed, the device seed being identical to the server seed; a power system configured to power the device; a user control interface; and a data communication module configured to communicate with the customised card product and the server, wherein the device is configured to extract the card seed from the customised card product, and hash the device seed with the card seed; wherein the device is configured to generate a device-side one-time code based on the hashed combination of the device seed and the card seed; wherein the one-time code is usable in combination with the customised card product to initiate the authentication procedure via a local authorisation device; wherein the server is configured to,receive notice of the authentication procedure from the local authorisation device; hash the server seed with the card seed; generate a server-side one-time code based on the hashed combination of the server seed with the card seed; compare the device-side one-time code against the server-side onetime code; if the device-side one-time code matches the server-side one-time code then authorise the transaction to proceed; and if the device-side one-time code does not match the server-side onetime code then decline the transaction.
6. A system as claimed in claim 5, wherein the system has an online transaction mode and an offline transaction mode, and wherein if the device is in communication with the server the system operates in the online transaction mode, and if the device is not in communication with the server the system operates in the offline transaction mode.
7. A system as claimed in claims 5 or 6, wherein the customised card product has an activated state and a deactivated state, wherein in the activated state the customised card product is able to initiate the authentication procedure and in the deactivated state the customised card product is unable to initiate the authentication procedure.
8. A system as claimed in claim 7, wherein the device is configured to transition the customised card product to the activated state.
9. A system as claimed in claims 7 or 8, wherein the customised card product automatically reverts to the deactivated state when the authentication procedure is complete or the authentication procedure is declined.
10. A system as claimed in any one of claims 7 to 9, when dependent on claim 6, the customised card product has static card details, and the server is configured to only allow the authentication procedure to proceed when the static card details are input and sent with the notice of the authentication procedure if the customised card product is in the deactivated state, the system is in the offline mode, and the static card details match the static card details recorded on the server.
11. A system as claimed in any one of claims 5 to 10, wherein the device-side one-time code is generated in the form of card details of the customised card product.
12. A system as claimed in any one of claims 5 to 11 , wherein the device includes a display configured to display the device-side one-time code.
13. A system as claimed in any one of claims 5 to 12, wherein the device and the server utilise encryption algorithms for code generation to inhibit unauthorised access or manipulation.
14. A system as claimed in any one of claims 5 to 13, wherein the processor includes a device clock configured to output a time code corresponding to the current time, the server has a server clock configured to output a time code, and wherein the device clock and the server clock are synchronised.
15. A system as claimed in claim 14, wherein the device is configured to generate the device-side one-time code based on the current time code and the hashed combination of the device seed and the card seed and the server is configured to generate the server-side one-time code based on the current time code and the hashed combination of the server seed and the card seed.
16. A system as claimed in claims 14 or 15, wherein the server is configured to generate a first server-side one-time code based on the current time code and the hashed combination of the server seed and the card seed and a second server-side one-time code based on an immediately prior time and the hashed combination of the server seed and the card seed, and the server is configured to, compare the device-side one-time code against the first server-side one-time code and the second server-side one-time code, if the device-side one-time code matches either the first server-side one-time code or the second server-side one-time code then authorise the transaction to proceed; and if the device-side one-time code does not match either the first server-side one-time code or the second server-side one-time code then decline the transaction.
17. A system as claimed in any one of claims 5 to 16, wherein the authentication procedure is a financial transaction, the system has a predefined charge amount limit protection feature which, when enabled, allows a user to set a limit for which if the financial transaction is for a charge amount greater than the limit the financial transaction will be declined.
18. A method of conducting an authentication procedure using the system of any one of claims 5 to 17, the method including the device, extracting the card seed from the customised card product; hashing the device seed with the card seed; generating a device-side one-time code based on the hashed combination of the device seed and the card seed; initiating the authentication procedure using the customised card product and device-side one-time code at the local authorisation device, the local authorisation device communicating a notice of the authentication procedure to the server; the server, receiving the notice of the authentication procedure from the local authorisation device; hashing the server seed with the card seed; generating a server-side one-time code based on the hashed combination of the server seed with the card seed; comparing the device-side one-time code against the server-side onetime code;if the device-side one-time code matches the server-side one-time code then authorising the transaction to proceed; and if the device-side one-time code does not match the server-side onetime code then declining the transaction.
19. A method as claimed in claim 18, wherein the method includes positioning the device into adjacent the customised card product in order to extract the card seed.
20. A method as claimed in claims 18 or 19, wherein the local authorisation device is an EFTPOS machine, the method includes inserting the customised card product into the EFTPOS machine and using the device-side one-time code as a personal identification number (PIN) for the authentication procedure.
Citation Information
Patent Citations
System and Method for Displaying OTP by Double Code Creation with Customer’s Media and Recording Medium
KR1020100136138A
One time pin generation
US20110113245A1
Time-varying security code for enabling authorizations and other uses of financial accounts
US20160125406A1
Systems and methods for a transaction card having a customer-specific URL
US20240177139A1