The present invention relates to data security and more particularly to a server implemented method and a system for securing data.
In client-server architecture, various tasks or workloads are distributed between providers, which are also known as servers and requesters, which are also known as clients. These clients and server operate over a computer network. A server is a high-performance host that runs one or more server programs which share its resources with one or more clients. A client does not share its resources, but requests a server's content or service function. These clients initiate communication sessions with servers which respond to incoming requests.
Client server architecture is used in various settings such as Inter-sectoral health settings, remote care settings, telemedicine, e-Health, e-commerce related sites and so on. Generally, a client requests information from a server which transmits the information to the client via the internet as a communication channel. As an example, data related to a patient is located in the server which provides access to the client requesting information about the patient. This patient related data has to be protected to ensure patient's privacy as required by legislation. Security mechanisms are implemented on servers to secure patient related data, however, increasing the security measures slows down the performance of the server.
Currently, a client accessing the server has a server-side container, which is also known as a session object, is isolated from other containers of other clients accessing the server. This server-side container stores all temporary infoimation and the progress of client's interaction during the session and persists on the server till the end of the session or for a limited duration of time as defined in the server.
However, there is no separation of data within the session object for a given client and application functions designed to enforce the security of data accidentally propagate protected data within the session object or to other session objects meant for other clients. Further, there exists no systematic approach to separate data at application-level.
It is therefore desirable to separate protected, secured and related data and also avoid propagating data to the other session object.
Briefly in accordance with an aspect of the present invention, a server implemented method for securing data is presented. The method includes generating a context container for storing data objects transferred to the server during a session with a client, creating, from the data objects in the context container, a plurality of protected zones of data objects, wherein each protected zone includes data objects of a different class of security and creating a reference for each protected zone. Further, the method includes providing the client an access to that protected zone via the reference, wherein the reference is non-persistently stored in the server.
In accordance with another aspect of the present invention, a server system for securing data is presented. The system includes a server module for receiving requests from a client, comprising a data security module for generating a context container for storing data objects transferred to the server during a session with a client, creating, from the data objects in the context container, a plurality of protected zones of data objects, wherein each protected zone includes data objects of a different class of security and creating a reference for each protected zone and providing the client an access to that protected zone via the reference. The system also includes a memory coupled to the server module for storing the context container and the reference, such that the reference is non-persistently stored in the memory.
In accordance with yet another aspect of the present invention, a computer readable medium is presented. The computer readable medium embodies instructions which when executed by a processor of a server, causes the processor to perform a method comprising generating a context container for storing data objects transferred to the server during a session with a client, creating, from the data objects in the context container, a plurality of protected zones of data objects, wherein each protected zone includes data objects of a different class of security and creating a reference for each protected zone. Further, the method includes providing the client an access to that protected zone via the reference, wherein the reference is non-persistently stored in the server.
The present invention is further described hereinafter with reference to illustrated embodiments shown in the accompanying drawings, in which:
During the communication between the client 2 and the server 3, a collection or sequence of requests which may be HTTP requests over a period of time known as a session are stored as a data object in the server 3. It may be noted that if a plurality of clients are accessing or requesting information from the server 3, each client has a data object which is also known as the server-side container is stored in the server 3. These data objects are isolated from the other data objects for other clients. The data object stores all temporary information and the progress of client's interaction during the session and persists on the server 3 till the end of the session or for a limited duration of time as defined in the server 3.
In accordance with aspects of the present technique, an aggregate of data objects which are transferred to the server 3 is created, this aggregate of data objects is known as a context container 5. This context container 5 is stored in the server 3 as depicted. The context container 5 separates the secured and unsecured data as will be described hereinafter.
In accordance with aspects of the present technique, the context container 5 contains a plurality of protected zones, such as the protected zone 12. Each protected zone in the context container 5 includes data objects. These data objects are arranged according to the levels of security. As an example, the security level may be high level, medium level and low level. It may however be noted that the security levels may be defined according to the requirements for a particular application. Furthermore, the data security module 9 is configured to create a plurality of secret references for each protected zone and provide the client 2 access to a protected zone via the corresponding secret reference.
With continuing reference to
Additionally, the server module 8 is configured to lock access to data in the protected zone 12 of the context container 5 after the data in the protected zone 12 has been accessed. This enables that a secured data once accessed is not transferred to other data objects in the context container 5.
Moreover, the server module 8 is configured to create a log version of the context container 5 for a session with a respective client, such as the client 2. The log version of the context container 5 for the session with the client 2 is stored in the memory 10. This context container 5 may be accessed by the same client as a part of an “undo” or a “backward” functionality and hence the log version of the context container 5 is able to identify whether the same client is accessing the context container 5, and thus the server module 8 is able to provide the same data to the client 2.
The above-discussed server implemented method and the server system 7 have several advantages such as providing a secure application, protection of secure data as well as a cost effective solution to data security issues in a client-server arrangement 1. While only certain features of the invention have been illustrated and described herein, many modifications and changes will occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.