modified README

This commit is contained in:
mikgaw@st.amu.edu.pl 2024-02-18 17:16:16 +01:00
parent 91f6890acd
commit f05903eca2
8 changed files with 22 additions and 1 deletions

19
README.md Normal file
View File

@ -0,0 +1,19 @@
# fingerprint-login-notepad
Aplikacja to notatnik do którego dostęp zabezpieczony jest odciskiem palca. Przeznacozna dla 1 użytkownika.
## Wykorzystane mechanizmy bezpieczeństwa
1. Notatki są zaszyfrowane algorytmem AES-256 w trybie CBC.
2. Padding
3. Wektor początkowy generowany jest losowo przez SecureRandom.
4. Klucz jest przechowywany w Android Key Store - hardwearowo zabezpieczonym miejscu.
5. Ochrona przed rootowaniem dzięki ustawieniu setUserAuthenticationRequired(true)
## Zrzuty ekranu z działania aplikacji
<img src="screenshots/login.png" width="30%">
<img src="screenshots/biometry.png" width="30%">
<img src="screenshots/main_screen.png" width="30%">
<img src="screenshots/add_note.png" width="30%">
<img src="screenshots/edit_note.png" width="30%">

View File

@ -150,7 +150,7 @@ public class NotepadActivity extends AppCompatActivity {
private void saveNotesToPreferences(String mode) throws GeneralSecurityException, IOException { private void saveNotesToPreferences(String mode) throws GeneralSecurityException, IOException {
SharedPreferences sharedPreferences = getSharedPreferences(SHARED_NAME_NOTES, MODE_PRIVATE); SharedPreferences sharedPreferences = getSharedPreferences(SHARED_NAME_NOTES, MODE_WORLD_READABLE);
SharedPreferences.Editor editor = sharedPreferences.edit(); SharedPreferences.Editor editor = sharedPreferences.edit();
if (mode.equals("del")){ if (mode.equals("del")){

View File

@ -30,6 +30,8 @@ public class UtilsCipher {
.setBlockModes(KeyProperties.BLOCK_MODE_CBC) .setBlockModes(KeyProperties.BLOCK_MODE_CBC)
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7) .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
.setRandomizedEncryptionRequired(false) .setRandomizedEncryptionRequired(false)
.setUserAuthenticationRequired(true)
.setUserAuthenticationValidityDurationSeconds(300)
.build(); .build();
keyGenerator.init(keyGenParameterSpec); keyGenerator.init(keyGenParameterSpec);

BIN
screenshots/add_note.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

BIN
screenshots/biometry.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

BIN
screenshots/edit_note.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

BIN
screenshots/login.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

BIN
screenshots/main_screen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB