암호화된 파일의 백업 및 복원
EFS(암호화 파일 시스템)는 파일을 연 애플리케이션이 암호화되지 않은 정보에 액세스할 수 있도록 암호화된 파일의 열기를 필터링합니다. 물론 파일에 액세스하고 파일 암호를 해독하는 데 필요한 키를 가져올 수 있는 적절한 자격 증명이 있는 경우. 이 파일에 대한 후속 읽기 작업은 암호화되지 않은 텍스트를 생성합니다. 이는 암호화된 파일에 대한 일반적인 액세스에 매우 적합하며 파일의 암호화 및 암호 해독을 투명하게 유지합니다. 그러나 CreateFile, ReadFile및 WriteFile같은 표준 파일 I/O 호출을 사용하여 백업을 시도하면 백업된 파일이 일반 텍스트 버전이 되기 때문에 암호화된 파일의 백업을 방해합니다.
이 문제를 해결하기 위해 원시 암호화 함수가 제공됩니다. 백업 애플리케이션은 이러한 함수에 대한 기본 의도 사용자입니다. 원시 암호화 함수는 개방형, 읽기 및 쓰기 함수가 암호화된 원시 데이터 스트림에 대한 액세스를 허용하고 $EFS 스트림의 읽기/쓰기를 허용한다는 점에서 다른 파일 시스템 함수와 다릅니다. 따라서 원시 암호화 함수의 호출자는 파일의 암호를 해독하는 암호화 키에 액세스할 필요가 없습니다. 백업 및 복원 애플리케이션에 사용할 수 있는 원시 암호화 API는 다음과 같습니다.
원시 암호화 API | 묘사 |
---|---|
openEncryptedFileRaw | 암호화된 형식의 데이터에 액세스할 수 있는 암호화된 파일을 엽니다. 호출자가 파일의 키에 액세스할 수 없는 경우 호출자는 암호화된 파일을 내보내려면 SeBackupPrivilege, 암호화된 파일을 가져오려면 SeRestorePrivilege가 필요합니다. |
CloseEncryptedFileRaw | OpenEncryptedFileRaw 사용하여 열린 암호화된 파일을 닫습니다. |
ReadEncryptedFileRaw | 암호화된 파일의 데이터를 암호화된 형식으로 읽습니다. |
WriteEncryptedFileRaw | 암호화된 파일의 데이터를 암호화된 형식으로 둡니다. |
ImportCallback | WriteEncryptedFileRaw 사용하기 위한 애플리케이션 정의 콜백 |
ExportCallback | readEncryptedFileRaw 사용할 애플리케이션 정의 콜백 |