Network Management System

Secure Vault allows users to store and share text files with integrity, confidentiality, and authenticity. Users have personal vaults and can manage groups with shared vaults. A server maintains state and handles secure client connections, while clients authenticate via keystore and act as command interpreters.

PythonCybersecurityCryptographyAccess control
View on GitHub

The goal of this project is to build a Secure Vault service that allows organization members to store and share text files with authenticity, integrity, and confidentiality guarantees. Each user has a personal vault and can manage files, while groups can have shared vaults with restricted access. Users can create and manage groups. The system includes a server that maintains application state and interacts with clients, and a client application that connects securely to the server using a keystore for user authentication. The client functions as a command interpreter, while the server runs continuously until explicitly stopped, with only one instance active at a time.

Our system architecture can be summarized in the following diagram:

Project diagram

Our secure file access protocol can be summed up by this article. In the end and after talking to the teachers during the evaluation it was determined it was a bit overkill for a current use case but the group was still very happy with the result.

For a full report and project files check out this projects repository at https://github.com/luis25franca/Trabalho-SSI-2024_2025.