IP Library › Granted Patent US 10,560,476
Granted Patent B2
US 10,560,476 · App. 15/439,365 · Granted Feb 11, 2020

Secure data storage system

Inventors: Luvita Burgess (Brisbane, AU); Narayana A. Madineni (Southport, AU); Leigh S. McLean (Nerang, AU); Peter T. Waltenberg (Robina, AU)
Assignee: International Business Machines Corporation
H04L63/166H04L9/0861H04L63/083H04L63/0861
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 10,560,476
App. No.
15/439,365
Granted
Feb 11, 2020
Kind
B2
Abstract

A computer program product for secure data storage. The present invention may include completing a registration process by sending, by the client device, a connection request to the server. The present invention may include generating, by the server, an authentication session identification (ID). The present invention may include sending, by the server, a stored salt and the generated authentication session ID to the client device. The present invention may include sending, by the server, the generated authentication session ID, the server encryption key and user data to the third-party device. The present invention may include sending, by the client device, the generated authentication session ID and user data to the third-party device. The present invention may include generating, by the third-party device, a decryption key. The present invention may include determining the user data received by the client device and the decrypted user data received by the server is authenticated.

Claims (70)

1. A method for securing data storage, the method comprising:

completing a registration and an authentication process between a client device, a server, and a third-party device, wherein the registration and the authentication process include:

sending, by the client device, a connection request to the server;

generating, by the server, the salt and a registration session ID for the client device based on the sent connection request;

sending, by the server, the generated salt and the generated registration session ID to the client device;

sending, by the server, the generated registration session ID and the server encryption key to the third-party device;

sending, by the client device, user data and the generated registration session ID to the third-party device;

generating, by the third-party device, a third-party encryption key based on the sent registration session ID, server encryption key and user data;

encrypting, by the third-party device, user data based on the received user data, server encryption key and registration session ID;

sending, by the third-party device, encrypted user data and the generated registration session ID to the server;

storing, by the server, the encrypted user data;

sending, by the client device, the connection request to the server;

generating, by the server, an authentication session identification (ID) for the client device based on the sent connection request;

sending, by the server, a stored salt and the generated authentication session ID to the client device based on the connection request;

sending, by the server, the generated authentication session ID, the server encryption key and user data to the third-party device;

sending, by the client device, the generated authentication session ID and user data to the third-party device;

generating, by the third-party device, a decryption key based on the received authentication session ID, server encryption key and user data received by the client device and the server; and

determining, by the third-party device, the user data received by the client device and the decrypted user data received by the server is authenticated.

2. The method of claim 1 , wherein the user data is selected from the group consisting of a user password, identifying user data and sensitive user data.

3. The method of claim 1 , wherein the salt is a plurality of random data combined with the user password.

4. The method of claim 1 , wherein the decryption key is a temporary decryption key.

5. The method of claim 2 , wherein the identifying user data may be selected from the group consisting of a username, a user ID, a user personal identification number, a name, a phone number, an address, and an account number.

6. The method of claim 2 , wherein the sensitive user data includes biometric data.

7. A computer system for securing data storage, comprising:

one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage medium, and program instructions stored on at least one of the one or more tangible storage medium for execution by at least one of the one or more processors via at least one of the one or more memories, wherein the computer system is capable of performing a method comprising:

completing a registration and an authentication process between a client device, a server, and a third-party device, wherein the registration and the authentication process include:

sending, by the client device, a connection request to the server;

generating, by the server, the salt and a registration session ID for the client device based on the sent connection request;

sending, by the server, the generated salt and the generated registration session ID to the client device;

sending, by the server, the generated registration session ID and the server encryption key to the third-party device;

sending, by the client device, user data and the generated registration session ID to the third-party device;

generating, by the third-party device, a third-party encryption key based on the sent registration session ID, server encryption key and user data;

encrypting, by the third-party device, user data based on the received user data, server encryption key and registration session ID;

sending, by the third-party device, encrypted user data and the generated registration session ID to the server;

storing, by the server, the encrypted user data;

sending, by the client device, the connection request to the server;

generating, by the server, an authentication session identification (ID) for the client device based on the sent connection request;

sending, by the server, a stored salt and the generated authentication session ID to the client device based on the connection request;

sending, by the server, the generated authentication session ID, the server encryption key and user data to the third-party device;

sending, by the client device, the generated authentication session ID and user data to the third-party device;

generating, by the third-party device, a decryption key based on the received authentication session ID, server encryption key and user data received by the client device and the server; and

determining, by the third-party device, the user data received by the client device and the decrypted user data received by the server is authenticated.

8. The computer system of claim 7 , wherein the user data is selected from the group consisting of a user password, identifying user data and sensitive user data.

9. The computer system of claim 7 , wherein the salt is a plurality of random data combined with the user password.

10. The computer system of claim 7 , wherein the decryption key is a temporary decryption key.

11. The computer system of claim 8 , wherein the identifying user data may be selected from the group consisting of a username, a user ID, a user personal identification number, a name, a phone number, an address, and an account number.

12. The computer system of claim 8 , wherein the sensitive user data includes biometric data.

13. A computer program product for securing data storage, comprising:

one or more computer-readable storage medium and program instructions stored on at least one of the one or more tangible storage medium, the program instructions executable by a processor, the program instructions comprising:

program instructions to complete a registration and an authentication process between a client device, a server, and a third-party device, wherein the registration and the authentication process include:

program instructions to send, by the client device, a connection request to the server;

program instructions to generate, by the server, the salt and a registration session ID for the client device based on the sent connection request;

program instructions to send, by the server, the generated salt and the generated registration session ID to the client device;

program instructions to send, by the server, the generated registration session ID and the server encryption key to the third-party device;

program instructions to send, by the client device, user data and the generated registration session ID to the third-party device;

program instructions to generate, by the third-party device, a third-party encryption key based on the sent registration session ID, server encryption key and user data;

program instructions to encrypt, by the third-party device, user data based on the received user data, server encryption key and registration session ID;

program instructions to send, by the third-party device, encrypted user data and the generated registration session ID to the server;

program instructions to store, by the server, the encrypted user data;

program instructions to send, by the client device, the connection request to the server;

program instructions to generate, by the server, an authentication session identification (ID) for the client device based on the sent connection request;

program instructions to send, by the server, a stored salt and the generated authentication session ID to the client device based on the connection request;

program instructions to send, by the server, the generated authentication session ID, the server encryption key and user data to the third-party device;

program instructions to send, by the client device, the generated authentication session ID and user data to the third-party device;

program instructions to generate, by the third-party device, a decryption key based on the received authentication session ID, server encryption key and user data received by the client device and the server; and

program instructions to determine, by the third-party device, the user data received by the client device and the decrypted user data received by the server is authenticated.

14. The computer program product of claim 13 , wherein the user data is selected from the group consisting of a user password, identifying user data and sensitive user data.

15. The computer program product of claim 13 , wherein the salt is a plurality of random data combined with the user password.

16. The computer program product of claim 13 , wherein the decryption key is a temporary decryption key.

17. The computer program product of claim 14 , wherein the identifying user data may be selected from the group consisting of a username, a user ID, a user personal identification number, a name, a phone number, an address, and an account number, and wherein the sensitive user data includes biometric data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2017
From: BURGESS, LUVITA; MADINENI, NARAYANA A.; MCLEAN, LEIGH S.; WALTENBERG, PETER T.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041778/0595 →
Continuity (1)
Related Publication 20180241728A1 · Aug 23, 2018
Cited By (2)
US 12,561,075 US 12,563,020