IP Library Granted Patent US 9,246,677
Granted Patent B2
US 9,246,677 · App. 14/220,114 · Granted Jan 26, 2016

Method and system for secure data communication between a user device and a server

Inventors: Gautam Bandyopadhyay (Bangalore, IN); Shivaji Bal Apte (Bangalore, IN); Philip Joseph (Bangalore, IN)
Assignee: Infosys Limited
H04L9/0822H04L9/0866H04L9/3236H04L2209/56
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,246,677
App. No.
14/220,114
Granted
Jan 26, 2016
Kind
B2
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 hash 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.

Claims (117)

1. A 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;

sending the encrypted encryption key and the encrypted sequence number to the user device to encrypt data;

receiving encrypted data from the user device; and

decrypting the encrypted data using the encryption key and the sequence number.

2. The method of claim 1 , further comprising:

enabling the user device to encrypt the data using the encryption key; and

enabling the user device to store the encrypted data and the sequence number in the user device.

3. The method of claim 1 , further comprising:

enabling the user device to encrypt the data using the encryption key and the sequence number;

enabling the user device to increment the sequence number and store the sequence number in the user device; and

retrieving the encryption key and the sequence number corresponding to the one or more user credentials and the device id.

4. The method of claim 3 , further comprising:

incrementing the sequence number; and

storing the incremented sequence number corresponding to the one or more user credentials and the device id.

5. The method of claim 1 , further comprising:

encrypting the additional data using the encryption key and the sequence number;

sending the encrypted additional data to the user device; and

enabling the user device to decrypt the additional data using the encryption key and the sequence number.

6. The method of claim 1 , wherein the one and more user credentials comprise a user ID, a password, and a verification code.

7. The method of claim 1 , wherein the device id is generated using MSISDN, IMEI, MAC address, or a combination thereof.

8. A computer program product comprising a non-transitory computer-readable medium comprising computer-readable program code embodied therein that when executed causes a computing system to perform the method of claim 1 .

9. 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 from the server;

decrypting the encrypted encryption key and the encrypted sequence number using a pre-defined key and the one or more user credentials; and

encrypting data using the decrypted encryption key and the decrypted sequence number.

10. The method of claim 9 , further comprising:

storing the encrypted data and the decrypted sequence number.

11. The method of claim 9 , further comprising:

incrementing the decrypted sequence number; and

sending the encrypted data to the server.

12. A computer program product comprising a non-transitory computer-readable medium comprising computer-readable program code embodied therein that when executed causes a user device to perform the method of claim 9 .

13. A 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 and a sequence number stored at the user device;

verifying the first hash with a second hash wherein the second 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 the 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.

14. The method of claim 13 , further comprising:

enabling the user device to encrypt data using the encryption key; and

enabling the user device to store the encrypted data and the sequence number in the user device.

15. The method of claim 13 , further comprising:

enabling the user device to encrypt data using the encryption key and the sequence number;

enabling the user device to increment the sequence number;

receiving the encrypted data;

retrieving the encryption key and the sequence number corresponding to the one or more user credentials and the device id; and

decrypting the encrypted data using the retrieved encryption key and the sequence number.

16. The method of claim 15 , further comprising:

incrementing the sequence number; and

storing the incremented sequence number corresponding to the one or more user credentials and the device id.

17. The method of claim 13 , further comprising:

encrypting data using the encryption key and the sequence number;

sending the encrypted data to the user device; and

enabling the user device to decrypt the encrypted data using the encryption key and the sequence number.

18. A computer program product comprising a non-transitory computer-readable medium comprising computer-readable program code embodied therein that when executed causes a computing system to perform the method of claim 13 .

19. A 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 encryption key and the one or more user credentials;

send the encrypted generated encryption key and the encrypted generated sequence number to the user device over the network;

receive encrypted data over the network from the user device, wherein the received encrypted data is encrypted with the encryption key and the sequence number; and

decrypt the received encrypted data with the encryption key and the sequence number.

20. The system of claim 19 , wherein the user device is further configured to:

decrypt the encrypted generated encryption key and the encrypted generated sequence number using the encryption key and the one and more user credentials.

21. The system of claim 20 , wherein the user device is further configured to:

encrypt data using the encryption key; and

store the encrypted data and the sequence number in the user device.

22. The system of claim 20 , wherein the user device is further configured to:

encrypt data using the encryption key and the sequence number;

increment the sequence number and store it in the user device; and

send the encrypted data to the server.

23. The system of claim 19 , wherein the server is further configured to:

encrypt data using the encryption key and the sequence number; and

send the encrypted data to the user device.

24. The system of claim 19 , wherein the server is further configured to:

increment the sequence number and store it in the server.

25. The system of claim 19 , wherein the one and more user credentials comprise a user ID, a password and a verification code.

26. The system of claim 19 , wherein the device id is generated using MSISDN, IMEI, MAC address, or a combination thereof.

27. A 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;

sending the encrypted encryption key and the encrypted sequence number to the user device to encrypt data;

receiving the encrypted data from the user device;

retrieving the encryption key and the sequence number corresponding to the one or more user credentials and the device id; and

decrypting the encrypted data using the encryption key and the sequence number.

28. The computing device of claim 27 , wherein the method further comprises:

encrypting the data using the encryption key and the sequence number.

29. The computing device of claim 27 , wherein the method further comprises:

incrementing the sequence number and storing the incremented sequence number in a server.

30. A 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 and a sequence number stored at the user device;

verifying the first hash with a second hash wherein the second 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 the device id;

encrypting the encryption key using a pre-defined key and the sequence number;

sending the encrypted encryption key to the user device to encrypt data;

receiving encrypted data from the user device;

retrieving the encryption key and the sequence number corresponding to the one or more user credentials and the device id;

incrementing the sequence number and storing the incremented sequence number in a server;

decrypting the encrypted data using the encryption key and the incremented sequence number;

encrypting response data using the encryption key and the incremented sequence number; and

sending the encrypted response data to the user device.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2015
From: APTE, SHIVAJI BAL; JOSEPH, PHILIP
To: INFOSYS LIMITED
Reel/Frame 037308/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2015
From: BANDYOPADHYAY, GAUTAM
To: INFOSYS TECHNOLOGIES LIMITED
Reel/Frame 037308/0635 →
CHANGE OF NAME Recorded Dec 16, 2015
From: INFOSYS TECHNOLOGIES LIMITED
To: INFOSYS LIMITED
Reel/Frame 037308/0647 →
Priority Claims (1)
IN 2903/CHE/2013 · Jul 1, 2013 · national
Continuity (1)
Related Publication 20150006894A1 · Jan 1, 2015