Abstract
Nowadays, instant messaging systems achieve a great success and became the main mean of communication between people via an internet. Thanks to the simplicity and quickness of the message exchanging more and more people over the world start to use instant messengers on daily basis. However, such a great attention forces us to discuss another aspect of these systems, an aspect of the information security and user privacy. The main aim of this thesis is to design and implement an instant messaging system that copes with the required functionalities and satisfies the defined security requirements.
Introduction
-
Chapter 2 provides the functional and non-functional requirements for instant messaging system
-
Chapter 3 eliminates security and user privacy vulnerabilities of the instant messaging system by means of threat modelling.
-
In chapter 4 we design and discuss instant messaging system, going into details
-
To propose web service architecture that fits the requirements
-
To propose an authorization mechanism that fits the requirements.
-
To propose mitigations for security and user privacy vulnerabilities discussed in chapter 3.
-
To design database structure.
-
To propose planned technologies to be used during implementation of
the system.
-
To discuss and apply E2E Encryption to the system.
-
To design user interface that fits the designated functional requirements.
-
To implement following modules
-
Web Service (API). Application Programming Interface that allows developers to create their own clients. Web service to be implemented using latest for the moment of writing of this thesis .NET 5 platform.
-
Web Client. Web client of the Mango Messenger. Web client to be implemented using Angular front-end framework with TypeScript programming language.
-
Mobile Client. Mobile client of the Mango Messenger for target platforms: Android, IOS.
-
Desktop Client. Desktop client of the Mango Messenger for target platforms Windows, Linux, MacOS. Desktop client to be implemented by means of existing web client and ElectronJS framework.