eCryptfs 암호화 홈-설명


9

ecryptfs가 내부적으로 어떻게 작동하는지 이해하려고하는데 ecryptfs.org의 문서가 도움이되지 않습니다. 어쩌면 누군가가 실제로 어떻게 작동하는지 설명 할 수 있습니다. 물론 숨겨진 숨겨진 .Private / .ecryptfs 디렉토리 구조를 알고 있습니다. 내 질문이 더 자세합니다.

  • 시스템은 로그인 할 때 집이 암호화되어 있음을 어떻게 알 수 있습니까?
  • 키 디렉토리 (암호화 된 데이터가있는 마운트 포인트, 마운트 포인트 (때로는 홈, 때로는 / home / Private), 랩핑 된 비밀번호 문구가있는 디렉토리 등)를 검색하는 방법 이러한 디렉토리는 일반적으로 /home/.ecryptfs/에 배치되고 home에 링크됩니다. 열쇠는 어느 위치입니까? ".ecryptfs"및 ".Private"디렉토리 이름은 예약되어 있고 하드 코딩되거나 구성 가능합니까?
  • 키링 정보 : 키링에 여러 키가 있다고 가정하면 암호화 된 특정 디렉토리와 키가 어떻게 일치합니까?

답변:


11

표준 암호화 홈 설정에 대해 설명합니다. 다른 비밀번호 문구 나 폴더, 암호화 알고리즘, 키 크기 등을 사용하려면 mount.ecryptfs직접 사용할 수 있습니다.

암호화 된 홈이있는 사용자를 만들거나 ecryptfs-migrate-home기존 사용자를 사용하는 경우 eCryptfs를 사용하고 다음을 /home/.ecryptfs/포함하는 새 사용자의 "실제 홈"이있는 폴더가 포함 된 디렉토리 를 설정합니다 /home/.ecryptfs/user/.

  • 의 실제 암호화 된 파일 /home/.ecryptfs/user/.Private/및 다음을 /home/.ecryptfs/user/.ecryptfs/포함 하는 eCryptfs 구성 디렉토리

    • 자동 마운트 -존재하는 경우 ecryptfs-mount-private로그인시 실행하여 개인 (홈) 폴더를 마운트하도록 지시 합니다. 보다man ecryptfs-mount-private

    • 자동 마운트 -존재하는 경우 ecryptfs-umount-private개인 (홈) 폴더를 마운트 해제하고 로그 아웃시 실행 하도록 지시 합니다. 보다man ecryptfs-umount-private

    • Private.mnt-mount.ecryptfs_private 암호화 된 디렉토리를 마운트 할 위치를 정의하는 로그인시 읽은 구성 파일 입니다. 홈 디렉토리를 암호화 한 경우이 디렉토리는입니다 $HOME.
    • Private.sig- 마운트 포인트 암호 문구의 서명을 포함합니다. eCryptfs가 올바른 키를 사용하고 있는지 여부 를 확인할 수있는 안전하고 안전한 메커니즘을 제공합니다 . ( Private.sig 및 Private.mnt에 대한 Q 참조 )
    • 랩핑 된 암호 구 -로그인 암호로 암호화 된 ( "랩핑 된") 실제 (임의의) eCryptfs 암호 구

에서 정규 홈 디렉토리 /home/user/만이 링크를 포함 /home/.ecryptfs/user/.ecryptfs하고 /home/.ecryptfs/user/.Private및 도움말 파일 및 두 개 링크 /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop(바로 실행 ecryptfs-mount-private).

최대 eCryptfs가 세트 PAM은 (에있는 파일을 참조 /etc/pam.d/) 자동으로 암호화 된 홈 폴더를 찾으십시오 /home/.ecryptfs/여부에 따라, 로그 아웃 및 마운트 및 언 마운트 암호화 된 홈 폴더 로그인 /에 auto-mountauto-umount파일이 존재합니다. 자세한 내용은 eCryptfs 소스 코드와 .deb 패키지의 preinst 및 postrm 스크립트 (위 링크)를 참조하십시오 man ecryptfs-setup-private.

[P] 그는 pam_ecryptfs.so 모듈을 PAM 스택에 연결합니다.이 암호는 로그인 암호를 자동으로 사용하여 마운트 암호를 풀고 암호 구문을 사용자의 커널 키링에 추가 한 다음 자동으로 마운트를 수행합니다. pam_ecryptfs (8)를 참조하십시오.

  • 이 우분투 도움말 페이지 하는 방법에 대한 지침이 " 자동으로 사용 ... 부팅에서 eCryptfs가에게 암호화 된 파일 시스템을 마운트 /root/.ecryptfsrcUSB 키에있는 암호 파일과 함께, 마운트 옵션을 포함하는 파일을. "

풀린 후에는 키가 사용자 커널 키 링에 저장 keyctl show됩니다. 루트 키 링 ( sudo keyctl show)을 사용하면 관리자가 암호를 찾을 수 있기 때문에 키를 살펴볼 수 있습니다 . ecryptfs-unwrap-passphrase실제 ecryptfs 암호 문구를 보는 데 사용할 수 있습니다 . eCryptfs는 파일에서 일치하는 키 서명 (ecryptfs 옵션 ecryptfs_sig=(fekek_sig)ecryptfs_fnek_sig)을 사용하여 파일의 암호를 해독합니다 Private.sig.


더 많은 정보

Ubuntu에는 가정의 암호화 된 파일Ubuntu 서버 안내서의 eCryptfs 와 같은 유용한 도움말 파일이 있습니다 .

아치 리눅스는 일반적으로 훌륭한 도움을줍니다. https://wiki.archlinux.org/index.php/System_Encryption_with_eCryptfs

그리고 볼 man에 대한 페이지 ecryptfs특히, (온라인 존재하거나 시스템)과 모든 그것의 도구를 ecryptfs-setup-private.

adduser --encrypt-home(자세한 정보는의 -b 옵션을 참조하십시오)를 사용하여 암호화 된 홈을 가진 새 사용자를 추가 ecryptfs-setup-private하고 파일이 어떻게 설정되어 있는지 살펴보십시오. 그리고 실제로 소스 코드를 보고 싶지 않았던 모든 세부 사항으로 발을 젖게하십시오 .


/ etc / crypttab에는 cryptswap에 대한 행이 하나만 있습니다. fstab에서도 특별한 것은 없습니다. 내 집은 암호화되어 있습니다. 여전히 시스템이 내 집이 암호화되어 있고 로그온시 sth special이 필요하다는 것을 어떻게 알 수 있는지 모르겠습니다.
ardabro

나는 집이 @login을 볼 때 자동으로 수행된다고 생각합니다. archlinux 도움말을 읽었습니까? 어디서도 도움이되지 않았습니까? 그러나 "sth special"을 정의하십시오. 저나 "Google 전문가"도 잘 알고 있습니다. "특별한 것"의 줄임말? 무엇처럼?
Xen2050

sth special은 로그인 프로세스에서 추가 경로 인 키를 가져 와서 암호화 된 디렉토리를 마운트하는 것입니다. 아치 위키는 매우 도움이되었습니다. 또한 ecryptfs 소스 코드를 조사했습니다. 그러나 여전히 로그인 프로세스에서 핵심 "if"명령이 어디에 있는지, 정확히 무엇을 확인하는지는 알 수 없습니다.
ardabro

그것은 리눅스가 홈 폴더를 찾아서 사용하는 방법과 조금 비슷합니다. 정보가 /etc/passwd(홈 및 셸에) 저장되어 있다고 생각 합니다. 암호화 된 홈 사용자와 다르게 보입니까? 커널 키링에 대한 약간의 정보를 제 답변에 추가하겠습니다. ecryptfs는 분명히 키를 저장합니다.
Xen2050

1
죄송합니다. 업데이트가 누락되었습니다. 좋은 설명입니다. 많은 감사합니다!
ardabro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.