According to the developed architecture, a tool in PRISMACLOUD can be regarded as an abstract concept or piece of software, e.g., a library, which is composed of various primitives which can be parametrized in various different ways. The major outcome on this level is twofold. On the one hand, we define and specify parametrisable PRISMACLOUD tools which can be used to build or augment services with cryptographic features. On the other hand, the tools and their most important features are going to be implemented during the project. They will be available in form of software libraries which will be used to build the services in the pilots. The PRISMACLOUD tools will be the foundation for mid-term exploitation of PRISMACLOUD results.
The following tools are being developed in the PRISMACLOUD project:
A. Secure Object Storage (SECOSTOR)
This tool provides strong security guarantees in terms of confidentiality and availability to be applied to cloud storage and backup services. To achieve this properties, this tool leverages the concept of cloud federation and information dispersal, i.e. data is fragmented and distributed over different public cloud services to yield a secure and reliable virtual service on top of multiple less reliable services. The tool consists of a dealer component which generates data fragments and sends them to storage nodes called storage servers. The storage servers can be considered as active components with the ability to execute newly developed protocol logic in addition to the basic read and write operations supported by passive interfaces. The reader component is reconstructing the data for read operations and the verifier component is able to audit the storage system, i.e. it can remotely check the state of the data stored in the system.
B. Flexible Authentication with Selective Disclosure (FLEXAUTH)
This tool supports the authentication of arbitrary messages (or documents) by means of digital signatures with selective disclosure features. This tool has three different components, being an authentication component, a selective disclosure component, and a verification component. Given a signed message from the authentication component, the selective disclosure component can selectively disclose parts of the information of the original signed message (or document) to other receiving parties. This selective disclosure happens according to some well defined rules (called a policy) which can be determined by the originator of the data. A verifying party can then use the verification component to verify the authenticity of the partial information by means of the originator’s verification key.
C. Verifiable Data Processing (VERIDAP)
This tool supports the delegation of processing authenticated data in a way that the result can be efficiently verified for correctness. It comprises three different components, being a data originator component, a data processing component, and a verification component. The data originator component provides the input data (and potentially some additional metadata). The data processing component is given a set of input data and a description of the processing rules, and outputs the result of the computation, as well as a proof certifying the correctness of the delegated computation. The verification component takes a result and a proof (and potentially additional information) and can efficiently verify the correctness of the computation.
D. Topology Certification (TOPOCERT)
The topology certification tool supports the application of graph signatures to certify and prove properties of topologies. The tool is realized as an interactive protocol framework between the roles of an issuer, a prover and a verifier. The tool assumes that the topology is provided by another entity in a standard graph format. The issuer is responsible for the certification of the encoding for the topology certification framework, as well as for issuing a topology certificate to the prover. The prover compiles a zero-knowledge proof on the topology certificate to convince the verifier of the requested properties.
E. Data Privacy (DATPRIV)
This tool provides the means for processing data in different ways, supporting different purposes with different privacy requirements. It includes several components providing the capabilities to encrypt data while preserving the format or ordering of the data. This tool enables users of legacy applications to move their databases to a public cloud, while preserving data privacy and confidentiality. Moreover, the tool provides components for data generalization as means for anonymizing bulk data using k-anonymity techniques.