다음을 통해 공유


암호화된 파일의 백업 및 복원

EFS(암호화 파일 시스템)는 파일을 연 애플리케이션이 암호화되지 않은 정보에 액세스할 수 있도록 암호화된 파일의 열기를 필터링합니다. 물론 파일에 액세스하고 파일 암호를 해독하는 데 필요한 키를 가져올 수 있는 적절한 자격 증명이 있는 경우. 이 파일에 대한 후속 읽기 작업은 암호화되지 않은 텍스트를 생성합니다. 이는 암호화된 파일에 대한 일반적인 액세스에 매우 적합하며 파일의 암호화 및 암호 해독을 투명하게 유지합니다. 그러나 CreateFile, ReadFileWriteFile같은 표준 파일 I/O 호출을 사용하여 백업을 시도하면 백업된 파일이 일반 텍스트 버전이 되기 때문에 암호화된 파일의 백업을 방해합니다.

이 문제를 해결하기 위해 원시 암호화 함수가 제공됩니다. 백업 애플리케이션은 이러한 함수에 대한 기본 의도 사용자입니다. 원시 암호화 함수는 개방형, 읽기 및 쓰기 함수가 암호화된 원시 데이터 스트림에 대한 액세스를 허용하고 $EFS 스트림의 읽기/쓰기를 허용한다는 점에서 다른 파일 시스템 함수와 다릅니다. 따라서 원시 암호화 함수의 호출자는 파일의 암호를 해독하는 암호화 키에 액세스할 필요가 없습니다. 백업 및 복원 애플리케이션에 사용할 수 있는 원시 암호화 API는 다음과 같습니다.

원시 암호화 API 묘사
openEncryptedFileRaw 암호화된 형식의 데이터에 액세스할 수 있는 암호화된 파일을 엽니다. 호출자가 파일의 키에 액세스할 수 없는 경우 호출자는 암호화된 파일을 내보내려면 SeBackupPrivilege, 암호화된 파일을 가져오려면 SeRestorePrivilege가 필요합니다.
CloseEncryptedFileRaw OpenEncryptedFileRaw 사용하여 열린 암호화된 파일을 닫습니다.
ReadEncryptedFileRaw 암호화된 파일의 데이터를 암호화된 형식으로 읽습니다.
WriteEncryptedFileRaw 암호화된 파일의 데이터를 암호화된 형식으로 둡니다.
ImportCallback WriteEncryptedFileRaw 사용하기 위한 애플리케이션 정의 콜백
ExportCallback readEncryptedFileRaw 사용할 애플리케이션 정의 콜백