Secure File Storage and Sharing

A top-ranked secure file storage and sharing system.

Introduction

Designed and implemented a top-ranked secure file storage and sharing system using Go, achieving a Top 10 class rank for security. The project provides functionalities such as file saving, loading, overwriting, appending, sharing, and revocation of shared files.

Concepts: Go, Fuzz Testing, Data Structures, Cryptography, Design and Architecture

Key Features

  • User Authentication
  • File Storage and Retrieval
  • Secure File Sharing through UUID-generated Invitations
  • Access Revocation

Challenges and Learnings

Employed fuzz testing to rigorously validate the system’s security measures against various threat models, including Datastore adversaries. Engineered efficient data structures encapsulated as Go structs, ensuring both confidentiality and integrity of the stored data on Datastore.

  • Bandwidth and Append Efficiency: The total bandwidth used in a call to append should not scale with anything besides the appended content size
  • Retrieve Access Control The system should not allow a user that previous had access to a file but then lost the privilege to retrieve a file that they do not have access to
  • Session Management The system need to be able to handle multiple concurrent sessions for a single user
  • String Encoding The system should be able to handle arbitrary binary data. It need to properly handle edge cases like: “\x86” as hex-encoded string v.s. “\x86” as a string with 2 characters


For job opportunities or further discussions, feel free to contact me.