encfs 비밀번호는 어디에 저장되나요?

encfs 비밀번호는 어디에 저장되나요?

encfs는 암호화된 디렉터리의 비밀번호를 어떻게, 어디에 저장합니까?

내가 아는 한, encfs는 encfs6.xml비밀번호를 사용하여 인코딩된 실제 암호 해독 키를 저장하는 데 사용됩니다. 나는 또한 이것이 encfs6.xml해독에 필요한 유일한 파일이라는 것을 이해합니다. 따라서 비밀번호 해시도 동일한 파일에 저장되어야 한다고 가정합니다. 그러나 파일에는 및 만 표시됩니다 encodedKeyData.saltData

내가 알고 싶은 것은 encfs가 제공된 정보를 사용하여 올바른 비밀번호를 입력했는지 확인하는 방법입니다.encfs6.xml

답변1

이 Q&A시도하는 비밀번호가 올바른지 확인하기 위해 알고리즘을 해독하는 방법비밀번호가 올바른지 알아야 하는 복호화 알고리즘에서는 HMAC를 사용하여 비밀번호의 정확성을 확인하는 것이 좋습니다.

따라서 복호화 작업이 예상한 데이터를 성공적으로 생성했는지 여부를 사용자에게 알릴 수 있는 것이 중요한 경우 암호화 엔지니어는 다음을 사용합니다.메시지 확인 코드. 해시 기반 MAC을 사용하면 후보 일반 텍스트를 인증된 해시 값과 비교할 수 있습니다. 검사가 통과되면 우리는 그것이 올바른 일반 텍스트라는 것을 알고 해독 기능이 예상대로 성공했음을 사용자에게 알릴 수 있습니다.

어떤것에 대하여환경 디자인:

  • 모든 파일 이름과 내용을 암호화하는 볼륨 키가 있습니다.
  • 볼륨 키를 해독하는 데 사용되는 사용자 제공 비밀번호

제공한 비밀번호는 볼륨 키를 해독하는 데 사용됩니다.

기술

  • Encfs는 타사 라이브러리(기본적으로 OpenSSL)의 알고리즘을 사용하여 데이터와 파일 이름을 암호화합니다.

  • 사용자가 제공한 비밀번호는 볼륨 키를 해독하는 데 사용되며, 볼륨 키는 모든 파일 이름과 내용을 암호화하는 데 사용됩니다. 이를 통해 모든 파일을 다시 암호화하지 않고도 비밀번호를 변경할 수 있습니다.

이에 따르면보안 감사

  • EncFS는 동일한 키를 사용하여 데이터를 암호화하고 MAC을 계산합니다.
  • EncFS는 64비트 MAC을 사용합니다.
  • EncFS는 Mac-then-Encrypt를 사용합니다.
  • MAC 헤더의 목적은 암호문에 대한 읽기/쓰기 액세스 권한이 있는 공격자가 탐지 없이 변경하는 것을 방지하는 것입니다. 불행하게도 이 기능은 .encfs6.xml 구성 파일의 옵션으로 제어되므로 보안이 거의 제공되지 않습니다.

댓글의 질문에 답하기 위해 MAC는 모든 암호화된 파일의 일부로 저장됩니다.

답변2

encfs 소스 코드를 보면 처음 4자(바이트)가 encodedKeyDataHMAC 확인에 사용되는 해시인 것으로 보입니다.

https://github.com/vgough/encfs/blob/7cc6efa60ca7378ba2b95be1fe5804a97f29af10/encfs/SSL_Cipher.cpp#L530#L546

그리고

https://github.com/vgough/encfs/blob/7cc6efa60ca7378ba2b95be1fe5804a97f29af10/encfs/SSL_Cipher.cpp#L49

관련 정보