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