Skip to content

About

Mobile Application Security Assessment & Analysis

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

UAS Keamanan Aplikasi Mobile - Secure Notes

👤 Identitas Mahasiswa

  • Nama: Akhmad Fatih Jalaluddin Rumi
  • NIM: 1002240031
  • Program Studi: Teknologi Informasi
  • Mata Kuliah: Keamanan Aplikasi Mobile (TI222)
  • Institusi: Institut Teknologi Tangerang Selatan (ITTS)

📱 Deskripsi Proyek

Repositori ini berisi kode sumber (source code) untuk prototipe aplikasi mobile "Secure Notes". Proyek ini dikembangkan sebagai pemenuhan tugas praktik Ujian Akhir Semester (UAS) mata kuliah Keamanan Aplikasi Mobile.

Aplikasi ini dirancang untuk mendemonstrasikan penyimpanan catatan secara aman dengan mengedepankan perlindungan data lokal (Data-at-Rest) serta fitur keamanan tingkat lanjut lainnya.

Mekanisme Keamanan Utama:

  1. Keamanan Login (Biometrik & PIN): Mendukung autentikasi menggunakan biometrik (sidik jari/wajah) dan fallback ke PIN. PIN diamankan menggunakan algoritma hashing sehingga kredensial tidak pernah tersimpan dalam bentuk plaintext.
  2. Enkripsi Database: Melindungi kerahasiaan (confidentiality) isi catatan menggunakan SQLCipher dengan standar enkripsi AES-256. Hal ini mencegah kebocoran data apabila file .db diekstrak secara paksa dari perangkat.
  3. Penyimpanan Key Aman (Keystore): Memanfaatkan Android Keystore System untuk menghasilkan dan menyimpan kunci kriptografi secara aman pada perangkat, melindunginya dari ekstraksi.
  4. Proteksi Layar (Screen Security): Mencegah tangkapan layar (screenshot) dan perekaman layar (screen recording) saat aplikasi sedang dibuka menggunakan FLAG_SECURE.
  5. Autentikasi Ulang: Memerlukan autentikasi ulang (Biometrik/PIN) setiap kali aplikasi dibuka kembali dari background.
  6. Deteksi Root / Emulator (Rencana/Implementasi Terkait): Pengamanan tambahan agar aplikasi berjalan di lingkungan yang aman.

🛠️ Prasyarat

Sebelum menjalankan aplikasi, pastikan Anda telah menginstal:

  • Android Studio versi terbaru (Ladybug atau yang lebih baru direkomendasikan).
  • Android SDK dengan minimal API Level 26 (Android 8.0 Oreo).
  • Perangkat Android fisik atau Emulator untuk pengujian (diutamakan perangkat dengan fitur Biometrik/Fingerprint).

🚀 Cara Menjalankan

1. Clone Repositori

Clone repositori ini ke komputer lokal Anda:

git clone https://github.com/lamilearn/UAS-Keamanan-Aplikasi-Mobile.git
cd UAS-Keamanan-Aplikasi-Mobile/Secure\ Note

2. Konfigurasi Environment Variables (API Key)

Aplikasi ini mungkin memerlukan konfigurasi API Key (misalnya untuk fitur AI atau integrasi lainnya jika ada).

  1. Duplikat file .env.example dan ubah namanya menjadi .env.
    cp .env.example .env
  2. Buka file .env dan masukkan kunci API Anda:
    GEMINI_API_KEY=KUNCI_API_ANDA_DI_SINI

3. Membuka Proyek di Android Studio

  1. Buka Android Studio.
  2. Pilih Open dan arahkan ke folder tempat Anda meng-clone proyek ini (pilih folder Secure Note).
  3. Tunggu hingga proses Gradle Sync selesai. Pastikan tidak ada error terkait dependensi.

4. Menjalankan Aplikasi

  1. Jika menggunakan perangkat fisik:
    • Hubungkan perangkat Android melalui kabel USB.
    • Pastikan mode USB Debugging telah diaktifkan di Developer Options.
  2. Jika menggunakan Emulator:
    • Buka Device Manager di Android Studio dan jalankan emulator pilihan Anda.
  3. Klik tombol Run (▶️) di Android Studio, atau jalankan perintah Gradle berikut di terminal:
    ./gradlew installDebug
  4. Aplikasi akan dikompilasi dan diinstal ke perangkat/emulator Anda.

🔒 Catatan Pengujian Fitur Keamanan

  • Biometrik: Untuk menguji biometrik di emulator, Anda mungkin perlu melakukan simulasi pendaftaran sidik jari (Settings > Security > Fingerprint) dan menggunakan fitur "Simulate Fingerprint" pada panel kontrol emulator.
  • Screen Capture: Cobalah untuk mengambil screenshot pada aplikasi, sistem Android akan memblokir tindakan ini dan menampilkan notifikasi keamanan.
  • Enkripsi DB: Anda bisa mencoba mengunduh file .db melalui Device File Explorer, Anda tidak akan bisa membaca isinya dengan SQLite viewer standar tanpa kunci enkripsi (menggunakan SQLCipher).

About

Mobile Application Security Assessment & Analysis

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages