Non-persistent data caching web server
Systems as described herein may implement non-persistent data caching using a dedicated web server. A non-persistent data caching system may determine that an application, executing on a computing device may require access to secure data located on a remote server external to the computing device. The non-persistent data caching system may initiate a dedicated web server on the computing device, retrieve the secure data from the remote server, and store the secure data in a volatile memory of the computing device. The non-persistent data caching system may subsequently redirect a request for at least a portion of the secure data from the application and to the dedicated web server, and the dedicated web server may send the requested portion to the application.
1. A computer-implemented method comprising:
initiating a dedicated web server on a computing device and within a dedicated session for a first user requesting access to secure data on a remote server, wherein the dedicated web server is local to an application executing on the computing device and inaccessible to other applications executing on the computing device;
storing, by the dedicated web server, the secure data in a volatile memory of the computing device, wherein access to the volatile memory is limited to the dedicated web server;
receiving, from the application on behalf of the first user and by the dedicated web server, a request for at least a portion of the secure data, wherein the request is within the dedicated session;
sending, by the dedicated web server, to the application and in response to the request, the requested at least the portion of the secure data; and
after terminating the dedicated session for the first user, terminating the dedicated web server.
2. The computer-implemented method of claim 1 , further comprising:
prior to storing the secure data in the volatile memory, retrieving, by the dedicated web server and from the remote server, the secure data.
3. The computer-implemented method of claim 1 , wherein the secure data is not stored in a persistent storage on the computing device.
4. The computer-implemented method of claim 1 , wherein the secure data stored in the volatile memory is non-tokenized or non-encrypted.
5. The computer-implemented method of claim 1 , further comprising:
retrieving the secure data from the remote server in an encrypted format; and
wherein storing the secure data comprises storing the secure data in the volatile memory in a non-encrypted format.
6. The computer-implemented method of claim 1 , wherein the volatile memory is inaccessible to the application and the other applications executing on the computing device.
7. The computer-implemented method of claim 1 , wherein the receiving the request for the at least the portion of the secure data comprises receiving, from the application, by the dedicated web server and via a local loopback interface, the request.
8. The computer-implemented method of claim 1 , wherein the storing the secure data comprises:
creating an in-memory file to store the secure data;
assigning the in-memory file to a file data stream; and
downloading the secure data to the in-memory file via the file data stream.
9. The computer-implemented method of claim 1 , wherein the computing device hosts a virtual desktop infrastructure (VDI), and wherein the dedicated session is a VDI session associated with the first user.
10. The computer-implemented method of claim 1 , wherein the terminating the dedicated web server further comprises:
after terminating the dedicated session for the first user, terminating the application executing on the computing device; and
after terminating the application, terminating the dedicated web server on the computing device.
11. The computer-implemented method of claim 10 , further comprising:
prior to terminating the dedicated web server, deleting the secure data from the volatile memory.
12. The computer-implemented method of claim 1 , further comprising:
receiving, from the application, within the dedicated session for the first user and by the dedicated web server, a new request for a new portion of the secure data;
retrieving, by the dedicated web server and from the volatile memory, the new portion of the secure data; and
sending, by the dedicated web server, to the application and in response to the new request, the requested new portion of the secure data.
13. A secure data processing system comprising:
one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the secure data processing system to:
initiate a dedicated web server on a computing device and within a dedicated session for a first user requesting access to secure data on a remote server, wherein the dedicated web server is local to an application executing on the computing device and inaccessible to other applications executing on the computing device;
store the secure data in a volatile memory of the computing device, wherein access to the volatile memory is limited to the dedicated web server;
receive, from the application on behalf of the first user, a request for at least a portion of the secure data, wherein the request is within the dedicated session;
send to the application and in response to the request, the requested at least the portion of the secure data; and
after terminating the dedicated session for the first user, terminate the dedicated web server.
14. The secure data processing system of claim 13 , wherein the instructions, when executed by the one or more processors, further cause the secure data processing system to:
prior to storing the secure data in the volatile memory, retrieve, from the remote server, the secure data.
15. The secure data processing system of claim 13 , wherein the secure data is not stored in a persistent storage on the computing device.
16. The secure data processing system of claim 13 , wherein the secure data stored in the volatile memory is non-tokenized or non-encrypted.
17. The secure data processing system of claim 13 , wherein the instructions, when executed by the one or more processors, further cause the secure data processing system to:
retrieve the secure data from the remote server in an encrypted format; and
store the secure data in the volatile memory in a non-encrypted format.
18. The secure data processing system of claim 13 , wherein the volatile memory is inaccessible to the application and the other applications executing on the computing device.
19. One or more non-transitory media storing instructions that, when executed by one or more processors, cause the one or more processors to perform steps comprising:
initiating a dedicated web server on a computing device and within a dedicated session for a first user requesting access to secure data on a remote server, wherein the dedicated web server is local to an application executing on the computing device and inaccessible to other applications executing on the computing device;
storing, by the dedicated web server, the secure data in a volatile memory of the computing device, wherein access to the volatile memory is limited to the dedicated web server;
receiving, from the application on behalf of the first user and by the dedicated web server, a request for at least a portion of the secure data, wherein the request is within the dedicated session;
sending, by the dedicated web server, to the application and in response to the request, the requested at least the portion of the secure data; and
after terminating the dedicated session for the first user, terminating the dedicated web server.
20. The non-transitory media of claim 19 , wherein the secure data stored in the volatile memory is non-tokenized or non-encrypted.