Project Idea | Electronic File Shield
Project Title: Electronic-File_Shield
The basic idea of the project is collective but also seclusively accessible storage of data. Here in this project, we have tried to secure the user data of many different users or a community staffs at one place collectively. The security of data or any information is dealt in such a way the only that specific user will be able to access the data via some sort of password along with the device connecting to the laptop, here we are taking the advantage of Bluetooth connectivity as the connecting device.
The data have been secured by encrypting the entire information and decryption will take place only when the correct combination of password and device would match as the stored one. The information files and folders are also set the hidden mode to prevent them from any loss even if the password gets leaked, i.e wouldn’t be accessible outside. Here different users can store their information at one place, i.e in a single laptop and each user will be able to access only those files which belong to him, and other would remain hidden and secure at the same time.
- Design and methods used :
- Database design: databsase designed to store the key (in encrypted form) and the hidden file actual location.
- Data securing design: Encryption and decryption designing is done for the purpose of securing datafile.
- Connectivity designing: Method is designed to detect and connect bluetooth device to the laptop via code.
- Data structure and algorithms:
- All the implementations are done in python.
- The foremost and most important algorithm for securing i.e encryption and decryption, we are using Rijndael Algorithm in python.
- SQLite for all the database framework.
- Bluetooth python library for Bluetooth connectivity.
- Rijndael algorithm in python for data encryption and decryption.
- For overall development and implementation, python is taken as a framework.
Working with all complete steps :
- Connecting all the bluetooth nearby devices.
- Identifying that particular device of the user who wants to read or write the file.
- Then it will further ask for the operation the user wants
- Read the stored file.
- Add new file.
- After with the user would be asked for the filename and the password would be requested from the user.
- Then comes the Rijndael also in play, a key would be generated by the combination of the mac address of the device along the password given.
- For reading the datafile:
- The particular file would be searched from the database.
- If found then using the key generated and one stored previously stored in the database matching would be done.
- If matched the program control will be transferred to the location where the original file/folder is stored.
- Using Rijndael algo, a temporary decrypted file would be created
- Then user can access his/her infos.
- Once done the temporary would be deleted again.
- For storing the data :
- User would be asked for the file name as the password.
- Using mac address of the connecting device and the password a key would be generated.
- Then the encrypted version of that file would be created using the given key and filename.
- The original vulnerable file will be automatically deleted and the new file location would be set hidden from any public access.
This way the complete project works.
Application: The framework provides a multilevel of security for storing the information.
- Encryption of the data and automatically removing the previous vulnerable version.
- Only the specific access is provided, i.e access will be granted only if that particular user device and password both are correct.
- Any type of public interference is avoided, by hiding the path from outside.
Github link to project repository: https://github.com/aarna97pandey/Electronic-File_Shield
Research done by you to make this project happen: During the development of the project efforts were across finding the most efficient way to secure the file, where we come across Rijndael algorithm as the best way.
- Rajat Singhal
- Lakshmi Pandey
Note: This project idea is contributed for ProGeek Cup 2.0- A project competition by GeeksforGeeks.