Method and system for secure data communication between a user device and a server
Claim Score by NHIP
Abstract
The present disclosure discloses a method, a system and a computer program product for secure data communication between a user device and a server. User credentials, a device id and a first hash are received at server from a user device. The first hash is generated using the user credentials. At server, a second hash is computed using the user credentials stored in the database of the server. The first has is verified with the second hash. Once verified, an encryption key and a sequence number corresponding to the user credentials and device id are generated. The encryption key and the sequence number are encrypted using a pre-defined key and one or more user credentials. The encrypted encryption key and the sequence number are sent to the user device to encrypt data.

Term
7.5 yearsto projected expiry
Projected expiry 19 March 2034, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
36 claims: 6 independent, 30 dependent
- 1A computer-implemented method executed by one or more computing devices for secure data communication, the method comprising:receiving one or more user credentials, a device id and a first hash from a user device wherein the first hash is generated using the one or more user credentials;verifying the first hash with a second hash wherein the second hash is computed from the one or more user credentials;generating an encryption key and a sequence number corresponding to the one or more user credentials and the device id;encrypting the encryption key and the sequence number using a pre-defined key and the one or more user credentials;and sending the encrypted encryption key and the encrypted sequence number to the user device to encrypt data.
- 8Broadest claimClaim Score 63, broad(NHIP)A computer-implemented method executed by a user device for secure data communication, the method comprising:receiving one or more user credentials from a user;generating a first hash of the one or more user credentials;sending the one or more user credentials, a device id and the first hash to a server;receiving an encrypted encryption key and an encrypted sequence number;decrypting the encrypted encryption key and the encrypted sequence number using a pre-defined key and the one or more user credentials.
- 11A computer-implemented method executed by one or more computing devices for secure data communication, the method comprising:receiving one or more user credentials, a device id and a third hash from a user device, wherein the third hash is generated using the one or more user credentials and a sequence number stored at the user device;verifying the third hash with a fourth hash wherein the fourth hash is computed from the one or more user credentials and the sequence number;generating an encryption key corresponding to the one or more user credentials and device id;encrypting the encryption key using a pre-defined key and the sequence number;and sending the encrypted encryption key to the user device to encrypt data.
- 16A system for secure data communication comprising:a user device configured to: receive one or more user credentials from a user;and generate a first hash using the one or more user credentials;and a server configured to: receive the one or more user credentials, a device id and the first hash from the user device over a network;verify the first hash with a second hash wherein the second hash is computed from the one or more user credentials;generate an encryption key and a sequence number corresponding to the one or more user credentials and the device id;encrypt the generated encryption key and the generated sequence number using the pre-defined key and the one or more user credentials;and send the encrypted encryption key and the encrypted sequence number to the user device over the network.
- 24A computing device for secure data communication, the device comprising:a processor;and a memory operatively coupled to the processor, the memory storing computer executable instructions which, when executed by the processor, cause the processor to carry out a method comprising: receiving one or more user credentials, a device id and a first hash from a user device wherein the first hash is generated using the one or more user credentials;verifying the first hash with a second hash wherein the second hash is computed from the one or more user credentials;generating an encryption key and a sequence number corresponding to the one or more user credentials and the device id;encrypting the encryption key and the sequence number using a pre-defined key and the one or more user credentials;and sending the encrypted encryption key and the encrypted sequence number to the user device to encrypt data.
- 29A computing device for secure data communication, the device comprising:a processor;and a memory operatively coupled to the processor, the memory storing computer executable instructions which, when executed by the processor, cause the processor to carry out a method comprising: receiving one or more user credentials, a device id and a third hash from a user device, wherein the third hash is generated using the one or more user credentials and a sequence number stored at the user device;verifying the third hash with a fourth hash wherein the fourth hash is computed from the one or more user credentials and the sequence number;generating an encryption key corresponding to the one or more user credentials and device id;encrypting the encryption key using a pre-defined key and the sequence number;and sending the encrypted encryption key to the user device to encrypt data.
Independent claims6
41 paragraphs in 5 sections, as filed
FIELD
p-0002The field relates to a method and system for secure data communication and more particularly to securely storing the data.
BACKGROUND
p-0003Securely communicating data has been an important issue in today's online computing and data environment. It gains higher importance when the data is related with financial transactions. Typically, a user uses physical cards on a merchants device (that is a point of sale terminal from where the user may have availed any service/product) to make the financial payment. The physical card stores the sensitive data. Generally, the merchant device is loaded with applications that read the data from the physical card, after the user swipes the card onto the merchant's machine.
p-0004The recent improvement in this field extends where the user devices such as a mobile phone, PDA etc. are currently loaded with application that reads the data from a card swipe or in the more recent forms—receives an equivalent of card swipe through NFC (near field communication) or other means such as DTF. Card information along with payment details then travels to the acquiring system and finally through payment networks such as Master, Visa, Diners, etc. the information travels to the issuing bank. Such card information and other sensitive information are stored in the secured element of the user device or in the Secure Element in the SIM card. This technique of storing the sensitive information in secure element brings critical dependencies on SIM card owners (such as Telecommunication companies) and/or Phone manufacturers, thus limiting innovation and adoption by financial services industry.
p-0005There is a general need to enable a user to perform card transactions without any dependency on storage of sensitive information in the secure element. Several aspects of the present disclosure facilitate the easier way to enable card transactions by securely storing card details (and other sensitive details) without dependency on phone manufacturer or SIM card owner as described in below sections.
SUMMARY
p-0006The present disclosure discloses an embodiment for secure data communication between a user device and a server. User credentials, a device id and a first hash are received at server from a user device. The first hash is generated using the user credentials. At server, a second hash is computed using the user credentials stored in the database of the server. The first has is verified with the second hash. Once verified, an encryption key and a sequence number corresponding to the user credentials and device id are generated. The encryption key and the sequence number are encrypted using a pre-defined key and one or more user credentials. The encrypted encryption key and the sequence number are sent to the user device to encrypt data. User device may store the encrypted data and the sequence number in user device memory. Whenever required, the user device can retrieve the encrypted data and the sequence number from its memory and may decrypt the data using the encryption key and the sequence number. This will help in keeping the sensitive data secure in the user device.
p-0007In one embodiment of the present disclosure, a method is disclosed for secure data communication executed by a user device. User device receives one or more user credentials for a user. A first has is generated using the user credentials. User device sends the user credentials, device id and the first hash to the server. User device receives an encrypted encryption key and an encrypted sequence number form the server. The encrypted encryption key and the encrypted sequence number are encrypted using a pre-defined key and one or more user credentials.
p-0008In yet another embodiment, user device may generate a third hash using the user credentials and the sequence number stored in the memory of the user device. The server receives one or more user credentials, a device id and the third has form the user device. The third hash is verified with fourth hash at the server wherein the fourth hash is computed from the one or more user credentials and the sequence number stored in the database of the server. Once verified, an encryption key corresponding to the user credentials and device id are generated. The encryption key is encrypted using a pre-defined key and a sequence number. The encrypted encryption key is sent to the user device. The encrypted encryption key can be decrypted using the pre-defined key and the sequence number at the user device and hence, may be used to encrypt data.
BRIEF DESCRIPTION OF THE DRAWINGS
p-0009<figref idrefs="DRAWINGS">FIG. 1</figref> illustrates a process for secure data communication.
p-0010<figref idrefs="DRAWINGS">FIG. 2</figref> illustrates an embodiment of the process for secure data communication at the user device.
p-0011<figref idrefs="DRAWINGS">FIG. 3</figref> illustrates an embodiment of the process for secure data communication between a user device and a server.
p-0012<figref idrefs="DRAWINGS">FIG. 4</figref> shows an exemplary system depicting a secure data communication between elements of the system.
p-0013<figref idrefs="DRAWINGS">FIGS. 5A</figref>, <b>5</b>B, <b>5</b>C illustrates an example embodiment of the process of receiving an encryption key by a user device, to encrypt sensitive information in a secure manner as per an aspect of the present disclosure.
p-0014<figref idrefs="DRAWINGS">FIG. 6</figref> shows an exemplary computing device useful for performing processes disclosed herein.
DETAILED DESCRIPTION
p-0015The following description is the full and informative description of the best method and system presently contemplated for carrying out the present invention which is known to the inventors at the time of filing the patent application. Of course, many modifications and adaptations will be apparent to those skilled in the relevant arts in view of the following description in view of the accompanying drawings. While the invention described herein is provided with a certain degree of specificity, the present technique may be implemented with either greater or lesser specificity, depending on the needs of the user. Further, some of the features of the present technique may be used to get an advantage without the corresponding use of other features described in the following paragraphs. As such, the present description should be considered as merely illustrative of the principles of the present technique and not in limitation thereof.
p-0016<figref idrefs="DRAWINGS">FIG. 1</figref> illustrates a process for secure data communication to perform card transactions without any dependency on storage of sensitive information in the secure element of a user device. At step <b>110</b>, one or more user credentials, a device id and a first hash from a user device is received. User credentials may include a user ID or a username, a password and a verification code. A user ID or username is a unique identification for a user. Password and verification code may refer to a random numbers, alphabets, special characters or combination thereof. Password may be select by the user. Verification code may either be selected by the user or may be auto-generated by a system. The first hash herein refers to the hash value generated from one or more user credentials such as password and/or verification code at the user device. The device ID refers to the unique id of the user device and can be generated using MSISDN, IMEI, MAC address or the combination thereof.
p-0017At step <b>130</b>, the first hash is verified with a second hash. The second hash herein refers to a hash computed from the one or more user credentials stored at the server. If the first hash is same as the second hash, the user device is authenticated and is enabled to receive the further data from the server. At step <b>150</b>, an encryption key and a sequence number corresponding to the user credentials and the device id are generated. The encryption key may be used to encrypt the sensitive information required to perform the card transaction. Further, the encryption key can be used to encrypt a data to be transferred to the server from a user device or vice versa. At step <b>170</b>, the encryption key and the sequence number are encrypted using a pre-defined key and the one or more user credentials. At step <b>180</b>, the encrypted encryption key and the encrypted sequence number are sent to the user device to encrypt data. In one embodiment, the encryption key encrypts the data and the encrypted data may be stored in the user device.
p-0018In another embodiment, the data can be encrypted using the encryption key and the sequence number. The user device can increment the sequence number and store the incremented number in the user device. The encrypted data when received at the server can be decrypted using the encryption key and the sequence number stored corresponding to the user credentials and the device id stored in the server. The sequence number may be incremented and stored at the server side for subsequent transaction of data. Incrementing the sequence number after every transaction provide an extra security over the transacted data. The increment of the sequence number can be determined using any mathematical operation such as addition, subtraction, division and the like. In case, data is required to be sent to the user device, the data can be encrypted with the encryption key and the sequence number and sent to the user device. User device can decrypt the encrypted data using the encryption key and the sequence number which were sent to the user device previously.
p-0019<figref idrefs="DRAWINGS">FIG. 2</figref> illustrates an embodiment of the process for secure data communication at the user device. At step <b>210</b>, the user device receives one or more user credentials from a user. The user credentials may identify the user who is planning to receive an encryption key to encrypt the data at the user device. At step <b>230</b>, a first hash is generated using the one or more credentials provided by the user. At step <b>250</b>, user device sends the user credentials, a device ID and the first hash to the server. After the user device is authenticated based on the first hash, at step <b>270</b>, an encrypted encryption key and an encrypted sequence number are received at the user device. At step <b>290</b>, the encrypted encryption key and an encrypted sequence number are decrypted using a pre-identified key and the user credentials. These encryption key and sequence number can be used to encrypt and decrypt any data.
p-0020<figref idrefs="DRAWINGS">FIG. 3</figref> illustrates an embodiment of the process for secure data communication between a user device and a server. In one embodiment, when a sequence number is already stored in the user device, then a hash value may be generated using one or more user credential and the sequence number which is referred herein as a third hash. At step <b>310</b>, the user credentials, a device ID and the third hash is received for the user device.
p-0021At step <b>330</b>, the third hash is verified with Fourth hash which is computed using the user credentials and the sequence number stored corresponding to the device ID and user credentials at the server. At step <b>350</b>, after the third hash is verified against the fourth hash, an encryption key is generated for the user device. At step <b>370</b>, the encryption key is encrypted may be with a predefined key. At step <b>390</b>, the encrypted encryption key is send to the user device. At user device, the encryption key can be used to encrypt the data. To add more security, the data can be encrypted using the encryption key and the sequence number stored in the user device.
p-0022Further, in another embodiment, the sequence number can be incremented. As appreciated by a person skilled in the art, the increment in the sequence number can be time based or may be based on the receipt of the encryption key at the user device or using other known mechanism. The increment of the sequence number at the user device has to be synchronized with the increment of the sequence number at server. In another embodiment, if an encrypted data is received at the user device, the encrypted data can be decrypted using the encryption key and the incremented sequence number if the data is encrypted using the incremented sequence number.
p-0023<figref idrefs="DRAWINGS">FIG. 4</figref> shows an exemplary system <b>400</b> depicting a secure data communication between elements of the system. System <b>400</b> comprises of a network <b>440</b> which can be a wired network or a wireless network. Any kind of wired technology or wireless technology known in the art may be acceptable for use with the present invention. For example, network <b>440</b> may rely on technologies like Wi-Fi or cellular technologies and may include internet. Network <b>440</b> may allow the communication between the user device <b>430</b> and server <b>450</b>. As appreciate by a person skilled in the art, any number of different devices may comprise the network <b>440</b> and any number of protocols or technologies may be utilized by the computing devices to communicate with the network <b>440</b>.
p-0024The user device <b>430</b> may be any computing device which is capable of establishing a connection with network <b>440</b>. User device <b>430</b> may have a Memory <b>410</b>. Memory <b>410</b> may be external or internal to the user device and capable of storing data, instruction, information and the like. User device <b>430</b> communicates with server <b>450</b> via network <b>440</b>. Server <b>450</b> herein refers to one or more computing devices designed to perform steps to facilitate secure communication between user device and one or more computing devices. For example, generating an encryption key and/or sequence number for the user device <b>430</b> which can be used by the user device <b>430</b> to encrypt data either to be stored in the memory <b>410</b> or be sent to other computing device. Server <b>450</b> may include a database <b>470</b> which may be capable for storing data, information, instructions and the like. As appreciated by the skilled person in the art, one or more of the above mentioned components of the system <b>400</b> along with the other components as required by the technology can be utilized to perform the steps to implement the method described in this disclosure.
p-0025User device <b>430</b> receives the user credentials from the user and a first hash is generated using the user credentials. Server <b>450</b> receives the user credentials, device ID and the first hash from the user device via network <b>440</b>. The first hash is verified with a second hash for authenticating user device <b>430</b>. The second hash is the hash value computed from the one or more user credentials may be stored at database <b>470</b> of server <b>450</b> or in some internal storage area of server <b>450</b>. After verifying the first hash, server <b>450</b> generates an encryption key and a sequence number corresponding to the user credentials and the device id. The encryption key can be generated using any presently known or future developed encryption key generation technology. For sending the encryption key and the sequence number to user device <b>430</b>, the encryption key and the sequence number are encrypted using a predefined key and one or more user credentials at server <b>450</b> and sent to the user device <b>430</b> via network <b>440</b>. The predefined key can be already stored in the user device or can be transmitted by the server using any encryption technology.
p-0026User device <b>430</b> may decrypt the encryption key and the sequence number using the pre-defined key. After decrypting, the encryption key and the sequence number can be used to encrypt the data and store the encrypted data in the memory of the user device or can be used to send the encrypted data to server <b>450</b> or to any other computing device. In one embodiment, if the data is required to be used by the user device, the data can be decrypted using the encryption key and the sequence number (can be stored in the memory <b>410</b>) and then, can be used. Once the encryption is done, the sequence number may be incremented and for encryption of any other data, the encryption key and the incremented sequence number will be used for encryption of that data. Hence, the sequence number can be incremented after every encryption. The same increment of the sequence number will be enabled at server <b>450</b> so that the data encrypted with the encryption key and the incremented sequence number can be decrypted using the encryption key and the incremented sequence number stored in database <b>470</b> of server <b>450</b>.
p-0027<figref idrefs="DRAWINGS">FIGS. 5A</figref>, <b>5</b>B, <b>5</b>C illustrates an example embodiment of the process of receiving an encryption key by a user device, to encrypt sensitive information in a secure manner as per an aspect of the present disclosure. At step <b>501</b>, an application utilizing the process of secure communication is launched in the user device. At step <b>503</b>, it may be verified if the application is launched first time or was it installed in the user device before. If the application is not launched first time on the user device, then the steps mention in <figref idrefs="DRAWINGS">FIG. 5B</figref> from step <b>541</b> will follow. However, if the application id launched first time, a unique device id may be generated at the user device at step <b>505</b>. The unique device id can be generated using MSISDN, IMEI, random number or the combination thereof. At step <b>507</b>, the generated unique device id is stored in the memory of the user device. At step <b>509</b>, user device may receive user credentials like username, password and verification code from a user. At step <b>511</b>, user device may generate a one way hash using the password and verification code provided by the user. At step <b>513</b>, user device sends username, device id and the generated one way hash to the server. At step <b>515</b>, at server the received username and hash are verified. If not verified, a message is send to the user device for again sending the username, device id and hash. Then, the user device repeats the steps from step <b>509</b> wherein it receives the username, password and verification code from the user. After the username and hash are verified, at step <b>517</b>, a new encryption key K<b>1</b> and a random sequence number S<b>1</b> are generated. At step <b>519</b>, the generated encryption key K<b>1</b> and sequence number S<b>1</b> are stored may be in a database corresponding to the username and the device id. At step <b>521</b>, encryption key K<b>1</b> and sequence number S<b>1</b> are encrypted with a pre-defined key K<b>2</b> and verification code. At step <b>523</b>, the encrypted encryption key K<b>1</b> and sequence number are send to the user device. At step <b>525</b>, the user device used pre-defined key K<b>2</b> and the verification code to decrypt the encryption key K<b>1</b> and sequence number S<b>1</b>. Therefore, the encryption key K<b>1</b> and sequence number S<b>1</b> can be used to encrypt sensitive data. Some of the illustrations of using the encryption key K<b>1</b> and sequence number S<b>1</b> to encrypt sensitive data are explained with respect to <figref idrefs="DRAWINGS">FIG. 5C</figref> below.
p-0028In another illustration as illustrated in <figref idrefs="DRAWINGS">FIG. 5B</figref>, if the application is already launched on the user device, then at step <b>541</b>, username and password may be received at the user device. At step <b>543</b>, sequence number S<b>1</b> and device id are retrieved from the memory of the user device corresponding to the received username. At step <b>545</b>, a one way hash is generated using the password and the retrieved sequence number. At step <b>547</b>, username, hash and device id are send to the server. At step <b>549</b>, username and hash are verified at server. If the username and hash are not verified, a message is send to the user device for again sending the username, device id and hash. Then, the user device repeats the steps from step <b>541</b> wherein it receives the username and password from the user. If the username and hash are verified, at step <b>551</b>, the encryption key K<b>1</b> and sequence number S<b>1</b> are retrieved at server corresponding to the username and the device id. At step <b>553</b>, the encryption key K<b>1</b> are encrypted using a pre-defined key K<b>2</b> and sequence number S<b>1</b>. At step <b>555</b>, the encrypted encryption key K<b>1</b> is sent to the user device. At step <b>557</b>, the user device uses the pre-defined key K<b>2</b> and the sequence number S<b>2</b> to decrypt the key K<b>1</b> which can be used to encrypt sensitive data as explained in some of the illustrations in <figref idrefs="DRAWINGS">FIG. 5C</figref>.
p-0029<figref idrefs="DRAWINGS">FIG. 5C</figref> illustrates some of the examples of the usage of encryption key K<b>1</b> and sequence number S<b>1</b> in encrypting sensitive data. In one embodiment (as shown in step <b>571</b>), user device may use the encryption key K<b>1</b> to encrypt and decrypt the sensitive data stored in the local storage of the user device. Alternatively, both the encryption key K<b>1</b> and sequence number S<b>1</b> can be utilized to encrypt or decrypt the sensitive data stored in the local storage of the user device.
p-0030In another embodiment, at step <b>581</b>, while sending the data to the server, user device can increment the sequence number S<b>1</b>. At step <b>583</b>, the data is encrypted using the encryption key K<b>1</b> and sequence number S<b>1</b> and send to the server. At step <b>585</b>, server retrieves the stored sequence number S<b>1</b> and the encryption key K<b>1</b>. At step <b>587</b>, the received data is decrypted using the encryption key K<b>1</b> and sequence number S<b>1</b>. At step <b>589</b>, the sequence number is incremented and store in the local memory of the server. Hence, for the next transaction of the encrypted data, the incremented sequence number may be used both at the user device and the server side.
p-0031In yet another embodiment, at step <b>591</b>, for sending the data from the server to the user device, server retrieves the encryption key K<b>1</b> and sequence number S<b>1</b> corresponding to the username and the device id where the data is required to be send. At step <b>593</b>, the data is encrypted using the encryption key K<b>1</b> and sequence number S<b>1</b> and send to the user device. At step <b>595</b>, user device retrieves the stored sequence number S<b>1</b> and encryption key K<b>1</b> and use them to decrypt the received data at step <b>597</b>. As appreciated by the person skilled in the art, the usage of the encryption key and sequence number are not limited to the illustrations mentioned above and there can be more usage scenarios.
Exemplary Computing Environment
p-0032One or more of the above-described techniques may be implemented in or involve one or more computer systems. <figref idrefs="DRAWINGS">FIG. 6</figref> illustrates a generalized example of a computing environment <b>600</b>. The computing environment <b>600</b> is not intended to suggest any limitation as to scope of use or functionality of described embodiments.
p-0033With reference to <figref idrefs="DRAWINGS">FIG. 6</figref>, the computing environment <b>600</b> includes at least one processing unit <b>610</b> and memory <b>620</b>. In <figref idrefs="DRAWINGS">FIG. 6</figref>, this most basic configuration <b>630</b> is included within a dashed line. The processing unit <b>610</b> executes computer-executable instructions and may be a real or a virtual processor. In a multi-processing system, multiple processing units execute computer-executable instructions to increase processing power. The memory <b>620</b> may be volatile memory (e.g., registers, cache, RAM), non-volatile memory (e.g., ROM, EEPROM, flash memory, etc.), or some combination of the two. In some embodiments, the memory <b>620</b> stores software <b>680</b> implementing described techniques.
p-0034A computing environment may have additional features. For example, the computing environment <b>600</b> includes storage <b>640</b>, one or more input devices <b>650</b>, one or more output devices <b>660</b>, and one or more communication connections <b>670</b>. An interconnection mechanism (not shown) such as a bus, controller, or network interconnects the components of the computing environment <b>600</b>. Typically, operating system software (not shown) provides an operating environment for other software executing in the computing environment <b>600</b>, and coordinates activities of the components of the computing environment <b>600</b>.
p-0035The storage <b>640</b> may be removable or non-removable, and includes magnetic disks, magnetic tapes or cassettes, CD-ROMs, CD-RWs, DVDs, or any other medium which may be used to store information and which may be accessed within the computing environment <b>600</b>. In some embodiments, the storage <b>640</b> stores instructions for the software <b>1080</b>.
p-0036The input device(s) <b>650</b> may be a touch input device such as a keyboard, mouse, pen, trackball, touch screen, or game controller, a voice input device, a scanning device, a digital camera, or another device that provides input to the computing environment <b>600</b>. The output device(s) <b>660</b> may be a display, printer, speaker, or another device that provides output from the computing environment <b>600</b>.
p-0037The communication connection(s) <b>670</b> enable communication over a communication medium to another computing entity. The communication medium conveys information such as computer-executable instructions, audio or video information, or other data in a modulated data signal. A modulated data signal is a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media include wired or wireless techniques implemented with an electrical, optical, RF, infrared, acoustic, or other carrier.
p-0038Implementations may be described in the general context of computer-readable media. Computer-readable media are any available media that may be accessed within a computing environment. By way of example, and not limitation, within the computing environment <b>600</b>, computer-readable media include memory <b>620</b>, storage <b>640</b>, communication media, and combinations of any of the above.
p-0039One or more computer-readable media (e.g., storage media) or one or more processor-readable media (e.g., storage media) can comprise computer-executable instructions causing a computing system (e.g., comprising one or more processors coupled to memory) (e.g., computing environment <b>600</b> or the like) to perform any of the methods described herein. Examples of such computer-readable or processor-readable media include magnetic media, optical media, and memory (e.g., volatile or non-volatile memory, including solid state drives or the like).
p-0040Having described and illustrated the principles of our invention with reference to described embodiments, it will be recognized that the described embodiments may be modified in arrangement and detail without departing from such principles. It should be understood that the programs, processes, or methods described herein are not related or limited to any particular type of computing environment, unless indicated otherwise. Various types of general purpose or specialized computing environments may be used with or perform operations in accordance with the teachings described herein. Elements of the described embodiments shown in software may be implemented in hardware and vice versa.
p-0041In view of the many possible embodiments to which the principles of our invention may be applied, we claim as our invention all such embodiments as may come within the scope and spirit of the following claims and equivalents thereto.
Contents5
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
Every citation, both waysCites: the store holds 5 of 6
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10560260B2 | Cited by | United States of America | Applicant |
| WO2020227803A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2017063814A1 | Cited by | United States of America | Pre-grant |
| US10742414B1 | Cited by | United States of America | Search report |
| US10218496B2 | Cited by | United States of America | Search report |
| US2006090074A1 | Cites | United States of America | Pre-grant |
| US2008181403A1 | Cites | United States of America | Pre-grant |
| US2009024848A1 | Cites | United States of America | Pre-grant |
| US2011066843A1 | Cites | United States of America | Pre-grant |
| US8126814B2 | Cites | United States of America | Pre-grant |
2 members in 1 office
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 2903CH2013 | India | A | |
| 2903CHE2013 | – | – | – |
| IN2013CHE2903 | – | – | – |
Members2
| Document | Office | Kind | |
|---|---|---|---|
| US2015006894A1 | United States of America | A1 | |
| US9246677B2 | United States of America | B2 |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP |
Numbers
- Publication
- 20150006894
- Publication, DOCDB
- 2015006894
- Publication, EPODOC
- US2015006894
- Application
- 14220114
- Application, DOCDB
- 201414220114
- Application, EPODOC
- US201414220114
Titles
- English
- METHOD AND SYSTEM FOR SECURE DATA COMMUNICATION BETWEEN A USER DEVICE AND A SERVER
Classification
- CPC, 4
- H04L9/0822
- H04L9/0866
- H04L9/3236
- H04L2209/56
- IPC, 2
- H04L9 08
- H04L9 32
- USPC, 1
- 713171000