Ubuntu/eCryptfs가 런타임 중에 암호화된 $HOME 디렉터리에서 해독된 파일을 어디에 저장하는지 궁금합니다.
- 파일을 적시에 해독하여 RAM에만 저장합니까?
- 대용량 파일(예: 20Gb의 1080p 영화)은 어떻습니까?
- 시스템 종료 후 HDD에 일부 해독된 파일이 남아 있을 수 있습니까?
- 복호화/암호화가 OS 성능에 큰 영향을 미치나요?
답변1
해독된 파일은 RAM에 저장됩니다. 암호 해독(또는 쓰기 시 암호화)은 전체 파일이 한 번에 수행되는 것이 아니라 블록 단위로 즉석에서 수행됩니다. 애플리케이션이 파일에서 블록을 읽으면 디스크 드라이버와 파일 시스템 드라이버 사이의 계층에 의해 파일이 해독됩니다.
해독된 파일은 디스크에 기록되지 않지만 애플리케이션은 암호화되지 않은 파일 시스템에 데이터를 쓸 수 있습니다. 특히, 암호화된 파일 시스템이 있는 경우, 애플리케이션 메모리의 데이터가 스왑 공간에 들어갈 수 있으므로 스왑 공간을 암호화해야 합니다. 또한 응용 프로그램이 /tmp
(tmpfs로 만들어 스왑 공간에 저장할 수 있음), /var/tmp
( /var/spool/postfix
이메일), /var/spool/cups
(인쇄 중인 문서) 등과 같은 임시 저장소로 사용하는 디렉터리를 암호화해야 합니다.
암호화가 성능에 영향을 미치는지 여부는 프로세서 속도와 디스크 속도 간의 비율에 따라 크게 달라집니다. 느린 디스크와 빠른 프로세서를 사용하면 아무 것도 눈치 채지 못할 것입니다. 느린 프로세서와 매우 빠른 디스크를 사용하면 고통을 느낄 것입니다. 최신 Intel 및 AMD 프로세서에는 AES용 하드웨어 가속기가 있습니다(AES-NI) 최신 Linux 커널이 활용하는 것입니다.