METHOD AND SYSTEM FOR A SECURE TRANSACTION
20220138290 · 2022-05-05
Inventors
- Meng Check Lim (Singapore, SG)
- Alvin Uy Carvajal (Minglanilla Cebu, PH)
- Rainier Ngie Ong (Quezon City, PH)
- Bu Jeen Eric Toh (Selangor, MY)
Cpc classification
H04L63/0428
ELECTRICITY
G06F21/6245
PHYSICS
G06F2221/2131
PHYSICS
G06F21/45
PHYSICS
H04L9/088
ELECTRICITY
H04L9/0894
ELECTRICITY
International classification
G06F21/45
PHYSICS
G06F21/62
PHYSICS
H04L9/08
ELECTRICITY
H04L9/32
ELECTRICITY
Abstract
The present invention herein relates to method and system for authenticating user, protecting user data, and resetting security code. One of the advantages of the present invention is the protection of data in transit to ensure a secure user authentication and user data protection both in transit and at rest. Another advantage of the present invention is through a new security code resetting method, user can be verified without the need of storing the user verification data in the platform.
Claims
1. A computer-implemented method comprising: creating a user record in a computer-implemented system; generating an authentication code from a supplied security code; storing the authentication code to the user record; upon user login, providing a login username by the user; generating a login authentication code from a login security code; encrypting a transaction payload using the login authentication code; transmitting the login username and the encrypted transaction payload to the computer-implemented system; retrieving the authentication code from the user record; decrypting the encrypted transaction payload using the authentication code; and if decryption is successful, then user is authenticated and the transaction payload is decrypted.
2. The computer-implemented method of claim 1, further comprising generating a protection code from a supplied security code; encrypting a user data using a privacy code generated from the protection code; storing the encrypted user data to the user record; upon user login, including a login protection code generated from a login security code to the transaction payload; upon successful decryption of the transaction payload, retrieving the login protection code from the decrypted transaction payload; generating a login privacy code from the login protection code; and decrypting the encrypted user data using the login privacy code.
3. The computer-implemented method of claim 2, further comprising encrypting the user data using the login privacy code; and storing the encrypted user data to the user record.
4. The computer-implemented method of claim 2, further comprising generating a new privacy code from the login protection code; encrypting the user data using the new privacy code; and storing the encrypted user data to the user record.
5. A computer-implemented method comprising: creating a user record in a computer-implemented system; encrypting a reset payload using a verification code generated from a supplied user verification data; storing the encrypted reset payload to the user record; during security code resetting, generating a provided verification code from a provided user verification data; retrieving the encrypted reset payload from the user record; decrypting the encrypted reset payload using the provided verification code; and if decryption is successful, then user is verified and the encrypted reset payload is decrypted.
6. The computer-implemented method of claim 5, further comprising requesting a new supplied user verification data from the user; generating a new verification code from the new supplied user verification data; encrypting the reset payload using the new verification code; and storing the encrypted reset payload to the user record.
7. The computer-implemented method of claim 5, further comprising generating a protection code from a supplied security code; encrypting a user data using a privacy code generated from the protection code; storing the encrypted user data to the user record; including the protection code to the reset payload; upon successful decryption of the reset payload, retrieving the protection code from the decrypted reset payload; generating a reset privacy code from the protection code; and decrypting the encrypted user data using the reset privacy code.
8. The computer-implemented method of claim 7, further comprising requesting a new supplied security code from the user; generating a new protection code, a new authentication code and a new privacy code from the new supplied security code; encrypting the new protection code using the provided verification code and encrypting the user data using the new privacy code; and storing the encrypted protection code, the new authentication code and the encrypted user data to the user record.
9. A system comprising: at least one processor; and memory coupled to said processor to carry out the steps of: creating a user record in a computer-implemented system; generating an authentication code from a supplied security code; storing the authentication code to the user record; upon user login, providing a login username by the user; generating a login authentication code from a login security code; encrypting a transaction payload using the login authentication code; transmitting the login username and the encrypted transaction payload to the computer-implemented system; retrieving the authentication code from the user record; decrypting the encrypted transaction payload using the authentication code; and if decryption is successful, then user is authenticated and the transaction payload is decrypted.
10. The system of claim 9 to further carry out the steps of: generating a protection code from a supplied security code; encrypting a user data using a privacy code generated from the protection code; storing the encrypted user data to the user record; upon user login, including a login protection code generated from a login security code to the transaction payload; upon successful decryption of the transaction payload, retrieving the login protection code from the decrypted transaction payload; generating a login privacy code from the login protection code; and decrypting the encrypted user data using the login privacy code.
11. The system of claim 10 to further carry out the steps of: encrypting the user data using the login privacy code; and storing the encrypted user data to the user record.
12. The system of claim 10 to further carry out the steps of: generating a new privacy code from the login protection code; encrypting the user data using the new privacy code; and storing the encrypted user data to the user record.
13. A system comprising: at least one processor; and memory coupled to said processor to carry out the steps of: creating a user record in a computer-implemented system; encrypting a reset payload using a verification code generated from a supplied user verification data; storing the encrypted reset payload to the user record; during security code resetting, generating a provided verification code from a provided user verification data; retrieving the encrypted reset payload from the user record; decrypting the encrypted reset payload using the provided verification code; and if decryption is successful, then user is verified and the encrypted reset payload is decrypted.
14. The system of claim 13 to further carry out the steps of: requesting a new user verification data from the user; generating a new verification code from the new supplied user verification data; encrypting the reset payload using the new verification code; and storing the encrypted reset payload to the user record.
15. The system of claim 13 to further carry out the steps of: generating a protection code from a supplied security code; encrypting a user data using a privacy code generated from the protection code; storing the encrypted user data to the user record; including the protection code to the reset payload; upon successful decryption of the reset payload, retrieving the protection code from the decrypted reset payload; generating a reset privacy code from the protection code; and decrypting the encrypted user data using the reset privacy code.
16. The system of claim 15 to further carry out the steps of: requesting a new supplied security code from the user; generating a new protection code, a new authentication code and a new privacy code from the new supplied security code; encrypting the new protection code using the provided verification code and encrypting the user data using the new privacy code; and storing the encrypted protection code, the new authentication code and the encrypted user data to the user record.
17. A computer-executable program comprising: creating a user record in a computer-implemented system; encrypting a reset payload using a verification code generated from a supplied user verification data; storing the encrypted reset payload to the user record; during security code resetting, generating a provided verification code from a provided user verification data; retrieving the encrypted reset payload from the user record; decrypting the encrypted reset payload using the provided verification code; and if decryption is successful, then user is verified and the encrypted reset payload is decrypted.
18. The computer-executable program of claim 17, further comprising requesting a new user verification data from the user; generating a new verification code from the new supplied user verification data; encrypting the reset payload using the new verification code; and storing the encrypted reset payload to the user record.
19. The computer-executable program of claim 17, further comprising generating a protection code from a supplied security code; encrypting a user data using a local access code generated from the protection code; storing the encrypted user data to the user record; including the protection code to the reset payload; upon successful decryption of the reset payload, retrieving the protection code from the decrypted reset payload; generating a reset local access code from the protection code; and decrypting the encrypted user data using the reset local access code requesting a new security code from the user; generating a new protection code and a new local access code from the new security code; encrypting the new protection code using the provided verification code and encrypting the user data using the new local access code; and storing the encrypted protection code and the encrypted user data to the user record.
20. The computer-executable program of claim 19, further comprising wherein, generating a login local access code from a login security code upon user login; and decrypting the encrypted user data using the login local access code.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
DETAILED DESCRIPTIONS OF THE INVENTION
[0035] The present invention will now be described in detail in connection with specific embodiments with reference to the accompanying drawings. Unless the context requires otherwise, throughout the specification and claims which follow, the word “comprise” and variations thereof, such as, “comprises” and “comprising” are to be construed in an open, inclusive sense that is as “including, but not limited to”. Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. With respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context and/or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity. It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.”
[0036] For example, a reference to “an element” is a reference to one or more elements and includes equivalents thereof known to those skilled in the art. Similarly, for another example, a reference to “a step” or “a means” is a reference to one or more steps or means and may include sub-steps and subservient means. All conjunctions used are to be understood in the most inclusive sense possible. Thus, the word “or” should be understood as having the definition of a logical “or” rather than that of a logical “exclusive or” unless the context clearly necessitates otherwise. Structures described herein are to be understood also to refer to functional equivalents of such structures. Language that may be construed to express approximation should be so understood unless the context clearly dictates otherwise.
[0037] Unless defined otherwise, all technical and scientific terms used herein have the same meanings as commonly understood by one of ordinary skill in the art to which this invention belongs. Preferred methods, techniques, devices, and materials are described, although any methods, techniques, devices, or materials similar or equivalent to those described herein may be used in the practice or testing of the present invention. Structures described herein are to be understood also to refer to functional equivalents of such structures.
[0038] From reading the present disclosure, other variations and modifications will be apparent to persons skilled in the art. Such variations and modifications may involve equivalent and other features which are already known in the art, and which may be used instead of or in addition to features already described herein.
[0039] Although claims have been formulated in this application to particular combinations of features, it should be understood that the scope of the disclosure of the present invention also includes any novel feature or any novel combination of features disclosed herein either explicitly or implicitly or any generalization thereof, whether or not it relates to the same invention as presently claimed in any claim and whether or not it mitigates any or all of the same technical problems as does the present invention.
[0040] Features which are described in the context of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable sub combination. The Applicants hereby give notice that new claims may be formulated to such features and/or combinations of such features during the prosecution of the present application or of any further application derived therefrom.
[0041] As is well known to those skilled in the art many careful considerations and compromises typically must be made when designing for the optimal manufacture of a commercial implementation any system, and in particular, the embodiments of the present invention. A commercial implementation in accordance with the spirit and teachings of the present invention may configured according to the needs of the particular application, whereby any aspect(s), feature(s), function(s), result(s), component(s), approach(es), or step(s) of the teachings related to any described embodiment of the present invention may be suitably omitted, included, adapted, mixed and matched, or improved and/or optimized by those skilled in the art, using their average skills and known techniques, to achieve the desired implementation that addresses the needs of the particular application.
[0042] The term “security code” is used herein to refer to a code used to prove the identity of a user. It can be a code such as password, passcode that is supplied or generated such as user supplied, device, software or platform supplied or generated.
[0043] The term “code generator” is used herein to refer to a function or algorithm such as hashing and salting.
[0044] The term “protection code” is used herein to refer to a code that is either the security code or a code generated from the security code such as the hash of security code. It is used to generate authentication code for user authentication, privacy code for user data protection, and local access code for user authentication and user data protection in a local system.
[0045] The term “authentication code” is used herein to refer to a code that is used for user authentication.
[0046] The term “privacy code” is used herein to refer to a code that is used for user data protection.
[0047] The term “user verification data” is used herein to refer to the user data that is used to verify the user in the event of security code replacement or more importantly when the user forgets the security code. User verification data is a supplied information such as user's selected security questions and its corresponding answers.
[0048] The term “verification code” is used herein to refer to a code that is generated from the user verification data. Verification code is necessary during a security code reset or change.
[0049] The term “payload” is used herein to refer to transaction payload during transaction or reset payload during a security code reset.
[0050] The term “transaction payload” is used herein to refer to information to be encrypted during transaction such as the protection code to generate privacy code for user data protection, user location, user device information, transaction data such as payment account details.
[0051] The term “reset payload” is used herein to refer to the information to be encrypted or decrypted for the purpose of security code reset such as protection code.
[0052] The term “local access code” is used herein to refer to a code that is used for user authentication and user data protection in a local system.
[0053]
[0054] For user authentication and data in transit, an authentication code is generated and stored in the user record during registration from a protection code, generated from a supplied security code. Upon user login, user is requested to provide a login security code. The login security code is used to generate a login protection code and a login authentication code. The login authentication code is then used as encryption key to encrypt a transaction payload having the login protection code. The encrypted transaction payload is then transmitted to the computer-implemented system. The authentication code is then retrieved from the user record to decrypt the encrypted transaction payload. If the decryption is successful, then user is authenticated.
[0055] For user data protection, a user data is encrypted and stored during registration in the user record by a privacy code generated from the protection code. Upon user login, a login privacy code is generated from the login protection code retrieved from the decrypted transaction payload after the user is authenticated. The encrypted user data is then retrieved from the user record and decrypted by the login privacy code. After the transaction, the user data is to be encrypted and stored to the user record by the privacy code, either the login privacy code or a new privacy code generated from the login protection code.
[0056] For security code reset, a reset payload is encrypted and stored during registration in the user record by a verification code generated from a supplied user verification data. During resetting, a provided verification code is generated from a provided user verification data. The encrypted reset payload is then retrieved from the user record and decrypted by the provided verification code. If decryption is successful, then user is verified. A new authentication code is generated and updated to the user record from a new supplied security code. Subsequently, the reset payload can be the protection code to generate a reset privacy code. The reset privacy code is then used to decrypt the encrypted user data retrieved from the user record. Then, the user data is encrypted and updated to the user record by a new privacy code generated from the new supplied security code.
[0057] For user verification data change, the user is to be verified in the same way as security code reset. Then, a new verification code is generated from a new supplied user verification data. The reset payload is then encrypted and updated to the user record by the new verification code.
[0058]
[0059]
User Authentication and Data in Transit in a Secure Online Transaction
[0060] During registration, user provides a username to the system of the present invention. Then,
[0061]
User Data Protection in a Secure Online Transaction
[0062] During registration, a user record is created as described in
[0063] Upon user login, a login protection code is generated from a login security code then encoded into a transaction payload and securely transmitted with a login username to the computer-implemented system as described in
[0064] After the transaction, a flow chart for encrypting the user data after a transaction in accordance of a system of the present invention as illustrated in
Security Code Reset in a Secure Online Transaction
[0065] During registration, a user record is created as described in
[0066] During a security code reset, a flow chart for validating a user through a user verification data in accordance of a system of the present invention as illustrated in
[0067] The protection code decoded or retrieved from the decrypted reset payload is then used to generate a reset privacy code that is used as decryption key to decrypt the encrypted user data retrieved from the user record as described in
[0068] After the security code reset, a flow chart for encrypting the reset payload after a security code reset in accordance of a system of the present invention as illustrated in
Local System
[0069]
[0070] For user authentication and user data protection, a user data is encrypted and stored in the user record during registration by a local access code generated from a supplied security code. Upon user login, a login local access code is generated from a login security code. The encrypted user data is then retrieved from the user record and decrypted by the login local access code. If the decryption is successful, then user is authenticated and the user data is decrypted. After the session, the user data is encrypted and stored to the user record by the login local access code.
[0071] For security code reset, a reset payload is encrypted and stored during registration in the user record by a verification code generated from a supplied user verification data. During resetting, a provided verification code is generated from a provided user verification data. The encrypted reset payload is then retrieved from the user record and decrypted by the provided verification code. If decryption is successful, then user is verified and reset payload is decrypted. The reset payload can be the protection code to generate the local access code. The local access code is then used to decrypt the encrypted user data retrieved from the user record. Then, the user data is encrypted and updated to the user record by a new local access code generated from a new supplied security code.
[0072] For user verification data change, the user is verified in the same way as security code reset. Then, a new verification code is generated from a new supplied user verification data. The reset payload is then encrypted and updated to the user record by the new verification code.
User Authentication and User Data Protection in a Local System
[0073] During registration, a user record is created as described in
[0074] Upon user login, a flow chart for authenticating a user and decrypting the user data in a local system in accordance of a system of the present invention as depicted in
[0075] After the session, the next step as shown in
Security Code Reset in a Local System
[0076] During registration, a user record is created as described in
User Verification Data Change
[0077] During registration, a user record is created as described in
[0078] Those skilled in the art will readily recognize, in light of and in accordance with the teachings of the present invention, that any of the foregoing steps and/or system modules may be suitably replaced, reordered, removed and additional steps and/or system modules may be inserted depending upon the needs of the particular application, and that the systems of the foregoing embodiments may be implemented using any of a wide variety of suitable processes and system modules, and is not limited to any particular computer hardware, software, middleware, firmware, microcode and the like. For any method steps described in the present application that can be carried out on a computing machine, a typical computer system can, when appropriately configured or designed, serve as a computer system in which those aspects of the invention may be embodied. The invention is thus to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the following claims.
[0079] The foregoing detailed description and examples are merely illustrative of the preferred embodiments. They are by no means meant to be the exclusive description of the inventive concept hereby disclosed. It will be recognized by one of ordinary skill in the art that certain aspects of the practice of the invention are readily susceptible to modification or practice by alternative, known means.