encfs에서 사용되는 파일 시스템 개념을 이해하는 방법은 무엇입니까?

encfs에서 사용되는 파일 시스템 개념을 이해하는 방법은 무엇입니까?

컴퓨터 과학 개념을 깊이 이해하지는 못하지만 이 유틸리티가 어떻게 사용되는지 자세히 알고 싶습니다.환경 파일 시스템일하다. 파일 시스템 개념에 대해 몇 가지 질문이 있습니다.환경 파일 시스템. encfs는 암호화된 파일 시스템이라고 합니다위키 링크.

1) 파일 암호화환경 파일 시스템암호화할 파일 블록이 이동되고 있는데, 이 "스크램블" 버전의 파일을 새로운 파일 시스템 용어를 정당화하는 새로운 관점으로 보는 것이 옳습니까?

2) 매뉴얼 페이지에서환경 파일 시스템이 섹션의시버트 링크할 사람환경 파일 시스템온라인,그것은 말한다환경 파일 시스템실제 파일 시스템이 아닙니다. 이것을 어떻게 이해해야 합니까? 모든 파일 시스템에 필요한 일부 기능이 누락되어 있기 때문입니까?환경 파일 시스템' 파일 시스템? 아니면 다른 더 실질적인 이유 때문인가요?

3) 매뉴얼 페이지에는 다음을 생성한다고 나와 있습니다.가상 암호화 파일 시스템. 여기서 두 가지 질문이 있습니다. 무엇이 가상을 만드는가? 파일 시스템 내의 파일 시스템입니까? 암호학적으로 파일 블록을 다른 프로그램이 읽을 수 있는 형식으로 매핑하는 간단한 방법이 없습니까?

4) 명령 실행 방법퓨저 마운트encf와 관련이 있습니까?

답변1

귀하의 설명 뒤에 오해가 있는 것 같습니다. 암호화되지 않은 데이터는 어떠한 경우에도 디스크에 저장되지 않습니다. encfs 파일 시스템의 파일에 쓸 때 쓰기 명령은 프로세스로 이동합니다 encfs. 프로세스 encfs는 메모리의 데이터를 암호화하고 암호 텍스트를 파일에 씁니다. 파일 이름과 파일 내용이 암호화됩니다. 파일 읽기는 반대 프로세스를 거칩니다. 즉, encfs암호화된 데이터를 디스크 파일에서 읽고 메모리에서 해독한 다음 일반 텍스트를 요청 애플리케이션에 전달합니다.

명령 을 실행하면 encfs데이터의 암호가 해독되지 않습니다. 파일 시스템 키를 잠금 해제하기 위해 제공한 비밀번호만 사용합니다. (암호학적 관점에서 볼 때 이는 실제로 복호화 작업이지만 파일 데이터에 발생하는 것과는 다릅니다. 여기서는 자세히 설명하지 않겠습니다.)

1) Encfs는 정확히 "이동 블록"이 아닙니다. 블록을 읽을 때 블록을 디코딩하는 것입니다. Encfs는 파일 시스템처럼 작동한다는 점에서 파일 시스템입니다. 설치 후 파일을 저장할 수 있습니다.

2) Encfs는 자체적으로 작동하지 않기 때문에 "실제" 파일 시스템이 아닙니다. Encfs는 암호화 계층만 제공합니다. 기본 파일 시스템을 사용하여 실제로 데이터와 메타데이터를 저장합니다(메타데이터는 권한 및 수정 시간과 같은 파일에 대한 보조 정보입니다).

3) 가상 파일 시스템은 encfs 자체가 어떤 데이터도 저장하지 않는다는 또 다른 표현으로, 기본 파일 시스템이 필요합니다(위의 (2) 참조). 암호화의 의미: encfs는 사용자가 입력한 데이터를 암호화된 형식으로 저장하며 키 없이는 해독할 수 없습니다. 다른 프로그램이 키에 액세스할 수 있는 경우에만(키를 보호하기 위해 비밀번호가 필요함) encfs에 저장된 데이터를 읽을 수 있습니다.

4) 이 fusermount명령은 FUSE 마운트 지점을 설정합니다. 일반적으로 FUSE 파일 시스템은 어쨌든 시작해야 하고 encfs마운트 지점 설정을 담당하는 사용자 모드 프로세스에 의해 구현되므로 직접 호출하지 않습니다. 반면에 FUSE 파일 시스템을 마운트 해제하는 것은 항상 fusermount -u.

답변2

1) 아니요. 암호화 알고리즘을 통해 파일 블록을 변환합니다. 블록을 이동하면 순서가 뒤바뀐 파일의 일부 비트를 볼 수 있다는 의미입니다. 그렇지 않다. 암호화된 버전에는 원본 파일의 어떤 부분도 표시되지 않습니다.

2) 데이터의 실제 저장을 처리하지 않고 단지 데이터를 변환하기 때문에 실제 파일 시스템이 아닙니다. 따라서 파일 시스템 손상, 로깅, 액세스 권한 등에 대해 걱정할 필요가 없습니다. 이 모든 것은 기본 파일 시스템에 의해 처리됩니다.

3) 가) #2 와 같습니다. 이는 실제 파일 시스템이 아니며 단지 파일 시스템처럼 보일 뿐이라는 의미입니다. B) 아니요, 파일 블록을 매핑하는 직접적인 방법은 없습니다. #1을 참조하세요. 암호화된 데이터는 다른 프로그램에서 읽을 수 있지만 다른 프로그램은 암호화 키를 알아야 합니다. 이 키가 없으면 아무것도 읽을 수 없습니다.

4) FUSE는 리눅스에서 파일 시스템을 구현하는 방법이다. 일반적으로 파일 시스템을 처리하는 코드는 Linux 커널에서 실행됩니다. FUSE 파일 시스템을 사용하면 실제 프로그램이 파일 시스템 실행을 담당합니다. ps이를 사용하여 프로그램을 볼 수 있습니다 kill. fusermount퓨즈 파일 시스템을 마운트하는 데 사용되는 명령입니다. mount일반 명령을 사용하여 FUSE 파일 시스템을 마운트 할 수 있지만 fusermount루트가 아닌 사용자도 파일 시스템을 마운트할 수 있습니다.

관련 정보