College of Engineering Unit:
Much of the data sent across the internet today is unencrypted and easily viewable by adversaries. This leads to user data getting exposed and exploited, sometimes sold for profit by companies. To uphold user privacy and protect users from exploitation, a more secure way to transfer files across a network is needed. The solution to this is Transfer.Me, a secure file and message transfer portal that will allow users to transfer files securely and privately to their specific chosen recipient or recipients. This will be accomplished by encrypting a message and providing a key to the user, who can choose to share it with whomever they desire. Without the key, eavesdroppers will see unintelligible data.
Transfer.Me is a website that implements end-to-end encryption to transfer and share files with others over the internet. Files are encrypted in the browser before anything is uploaded, and then is fully encrypted until the recipient receives the file and enters the key. Admins on the site or potential adversaries have no insight on the file contents since the key is not sent in the same request to its recipient.
The typical workflow is:
- Select file to be encrypted, click upload when ready
- Copy the link and the key
- Send the link and the key to a recipient via a different channel
- Recipient opens the link and enters the key. They are then able to download the file, recipient is also shown a preview of the file name and the length.
The user interface is kept clean and simple to focus on the core task at hand, transferring files securely to others. The website also includes a dark and a light theme that persists when switching pages.
Transfer.Me utilizes many different technologies including .NET6, Azure, Azure Cosmos DB, C#, Blazor, MudBlazor, Trello, BouncyCastle, GitHub, Visual studio, and several others that are discussed in the project video demonstration. All these technologies were strategically chosen to stay as close to Microsoft technology stack as possible. This provided minimal roadblocks since the technology was designed to work well together. The team followed best practices for agile development and collaboration using source control and project management software.