Android Mobile Application written in Java
This application was made for SFWRENG 3A04, with 4 other group members.
This project involved developing a secure chat application tailored for an organization that required highly confidential communication channels due to threats of corporate espionage. The application was developed using Java with the Android SDK in Android Studio, integrating Firebase for backend services. This solution aimed to ensure secure messaging through encryption and controlled key distribution, with a focus on authentication and privacy.
-
Key Distribution Centre (KDC) Server: Implemented a server that managed cryptographic keys. The KDC generated and distributed keys to authenticated users and frequently updated these keys.
-
Authentication Protocol: Utilized a mediated authentication protocol like Kerberos to ensure that all entities requesting keys were authorized to do so.
-
Symmetric-key Cryptography: Employed a strong symmetric-key crypto-system such as AES for encrypting and decrypting messages.
-
Secure Chat Log Storage: Maintained a secure log on the server containing details of all communications, including participant identifiers, timestamps, and the chat history.
-
Geolocation Tracking: To enhance security protocols, the application offered optional geolocation tracking for users during messages. This feature helped in verifying the physical location of the communicators, adding an extra layer of security verification.
-
Screenshot Protection: To prevent data leakage, the application included a feature to block or alert attempts to take screenshots of sensitive information within the app.
- Programming Language: Java
- Development Environment: Android Studio
- Backend Services: Firebase, providing real-time database and authentication services.
- Additional Libraries/Tools: Included cryptographic libraries compatible with Java for enhanced security measures.

