PertahankanPass Saya
Tentang KeepMyPass
KeepMyPass adalah Sistem Manajemen Kata Sandi yang dibangun dengan Python menggunakan integrasi MySQL dengan antarmuka pengguna grafis. Ini dikembangkan pada June/July, 2020
sebagai Proyek Ilmu Komputer Kelas-XII (CBSE). Ini juga berisi Manajemen Acara dan Sistem Manajemen Kontak.
Pengakuan & Sertifikasi
Proyek ini dilakukan sebagian di bawah bantuan guru Ilmu Komputer Kelas XII saya. Ini memenuhi semua persyaratan Proyek Ilmu Komputer Kelas-XII, 2020-21, dan mencakup konsep-konsep berikut secara rinci:
- Penanganan File Data Biner melalui Python
- Manajemen Database MySQL melalui integrasi Python-MySQL menggunakan
mysql.connector
- Membuat Antarmuka Pengguna Grafis menggunakan
tkinter
Beberapa fitur Aplikasi
Fitur Informasi
Tombol bantuan disediakan di berbagai layar untuk membantu pengguna menavigasi Aplikasi.
Fitur Lupa Kata Sandi
Jika Pengguna lupa MasterPasswordnya, mereka dapat mengambil kembali Akunnya yang hilang menggunakan fitur ini.
Fitur Pembuatan Kata Sandi
Secure-Vault berisi Pembuat Kata Sandi yang menghasilkan kata sandi acak (semu).*
(Semu) Fitur Keamanan
- File Biner berisi catatan data palsu.*
- Data yang ditulis ke File Biner dienkripsi dua kali.*
- Hanya satu Pengguna yang dapat masuk dalam satu waktu.
- Semua data disimpan dalam database dalam format terenkripsi, dan didekripsi hanya jika Pengguna ingin melihatnya.
- Kunci enkripsi/dekripsi bersifat unik untuk setiap Pengguna.
Fitur Mode Admin
Dengan menggunakan Mode Admin yang dilindungi kata sandi, seseorang dapat mencari melalui semua Gudang Pengguna sekaligus.* Pencarian dapat digunakan untuk mencari catatan tertentu atau semua catatan dari jenis tertentu.
Catatan Kaki & Masalah Keamanan
- Proyek ini rentan terhadap deserialisasi yang tidak aman karena menggunakan modul Python
pickle
. - Proyek tersebut menyebutkan (di beberapa tempat) bahwa kata sandi yang dihasilkan 'aman'. Perhatikan bahwa kata sandinya adalah pseudorandom , meskipun elemen dari fungsi pembuatan kata sandi menggunakan
os.urandom()
. - Fitur Mode Admin hanya ditambahkan ke proyek untuk memenuhi persyaratan yang ditetapkan oleh CBSE. Fitur ini tidak boleh dimanfaatkan dengan cara apa pun. Saya, sang pengembang, sepenuhnya memahami bahwa dapat mengakses semua data yang disimpan, dan memberikan aksesnya kepada pengguna akhir adalah masalah dan tidak etis .
- Teknik enkripsi yang diterapkan hanya terdiri dari pemetaan karakter dan sandi ROT yang berbeda, yaitu tidak ada algoritma enkripsi nyata yang digunakan dalam proyek ini.
- Dimasukkannya catatan palsu ke dalam File Biner tidak terlalu mempengaruhi keamanan catatan data sebenarnya.
- Mengenkripsi data dua kali tidak memiliki manfaat tambahan dibandingkan mengenkripsi data hanya sekali.
- Petunjuk mengetik ditambahkan ke semua fungsi di kemudian hari.
-
user_checker.py
hanya ditambahkan sebagai pemeriksa fungsionalitas back-end. Ini tidak dimaksudkan untuk digunakan.
Kredit Ilustrasi
Semua ilustrasi yang digunakan dalam proyek ini diambil dari LastPass, dan saya menyatakan bahwa saya, sama sekali tidak dapat dan akan menggunakan proyek saya untuk tujuan komersial apa pun dengan ilustrasi ini.
Berlari
Untuk menjalankannya, kloning repositori di perangkat Anda, navigasikan ke folder, dan jalankan:
Rencana Masa Depan
- Tambal semua kemungkinan Masalah Keamanan dan keterlibatan algoritma enkripsi/dekripsi nyata
- Tingkatkan UI/desain
- Penggunaan paket alternatif untuk menangani File Biner atau penerapan metode alternatif untuk menyimpan kunci enkripsi/dekripsi
- Kata sandi untuk Mode Admin tidak boleh dikodekan secara permanen ke dalam file
- Cabangkan proyek, dimana Mode Admin akan dihapus
- Jadikan kodenya lebih modular
- Petunjuk mengetik yang lebih baik dan lebih profesional