인터넷은 개인 정보와 문서가 보호되지 않은 채 떠돌아다니기에 위험한 곳입니다. 언제 누군가 이를 훔쳐갈지 모르기 때문입니다.
그렇기 때문에 추가적인 보안이 필요합니다.
이 앱을 사용하면 가장 강력한 AES-256 암호화를 사용하여 모든 유형의 파일을 암호화할 수 있습니다!
• 파일, 사진, 비디오, 음악 및 기타 모든 유형의 파일을 암호화하세요!
• 폴더 전체를 암호화하여 여러 암호화된 항목을 하나의 패키지로 만들 수도 있습니다! (폴더를 압축한 후 압축 파일을 암호화하세요)
• 암호화 및 복호화 (생성된 파일은 원본 파일과 동일한 폴더에 저장됨)
비밀번호 암호화
파일 보안을 더욱 강화하기 위해 이 앱은 비밀번호도 암호화하여 해킹을 더욱 어렵게 만듭니다.
따라서 비밀번호를 꼭 기억하거나 나중에 사용하기 위해 적어 두는 것이 좋습니다.
• 참고: 비밀번호를 잊어버리거나 분실하면 파일에 다시 접근할 수 없으며, 영구적으로 손실될 수 있습니다!
따라서 비밀번호를 철저히 관리해야 합니다.
• AES-256 암호화 프로토콜은 군사 등급으로 해독이 거의 불가능합니다.
자세한 내용은 다음 링크를 참조하세요.
https://cryptoid.com.br/criptografia/aes-padrao-de-criptografia-avancado-o-que-e-e-como-funciona/
기술 데이터:
1. 암호화 알고리즘 및 메커니즘
- 키 도출: HmacSHA256을 사용한 PBKDF2, 100,000회 반복, 16바이트 솔트.
비밀번호에서 안전하게 키를 도출하는 데 적합합니다.
- 암호화: PKCS5Padding과 SecureRandom에서 생성한 16바이트 IV를 사용하는 CBC 모드의 AES-256.
AES-CBC는 인증(MAC)과 결합될 때 안전합니다. 이 코드는 암호화 후 MAC을 올바르게 사용합니다.
- 무결성 및 신뢰성: salt + IV + 암호문을 통한 HMAC-SHA256.
변경 및 변조 방지를 보장합니다.
2. 비밀번호 및 키 처리
- 인터페이스에서 비밀번호를 읽어 char[]에 복사하여 사용하고 사용 후 즉시 삭제합니다.
- 파생된 키를 AES 및 HMAC 부분으로 분리하고 사용 후 삭제합니다.
- finally 섹션에서 중복 삭제를 통해 메모리 누수를 방지합니다.
- 참고: 백그라운드 스레드에서 Editable 필드를 삭제하는 것은 이상적이지 않을 수 있습니다.
3. 암호화 및 저장 흐름
- 파일에 salt, IV, 암호화된 데이터, 그리고 HMAC을 기록합니다.
- 파일 권한을 조정하여 액세스를 제한합니다.
- 쓰기 중 HMAC을 업데이트하기 위해 스트림을 올바르게 사용합니다.
4. 복호화 및 검증 스트림
- salt와 IV를 읽고, 키를 도출하고, 복호화 전에 무결성을 검증하기 위해 HMAC를 계산합니다.
- LimitedInputStream을 사용하여 올바른 암호문 길이로 읽기를 제한합니다.
- CipherInputStream으로 복호화하고 임시 파일에 씁니다.
- 오류 발생 시 임시 파일을 안전하게 삭제합니다.
- 최종 파일을 덮어쓰기 전에 무결성을 확인합니다.
5. 예외 처리 및 정리
- 특정 예외는 clear 메시지를 통해 처리합니다.
- finally 섹션에서 민감한 변수 정리 및 스트림 닫기를 수행합니다.