EFS (Encrypted File System)
🔐 EFS (Encrypted File System)
파일은 왜 로그인만으로는 안전하지 않은가?
1. 정의: EFS란 무엇인가?
EFS는 Windows에서 제공하는 파일 및 폴더 단위의 암호화 시스템입니다. 단일 사용자의 계정에 기반하여 암호화가 수행되며, 해당 계정으로 로그인했을 때만 운영체제가 자동으로 복호화할 수 있도록 설계되어 있습니다.
즉, 사용자는 단순히 '이 파일을 암호화하겠다'고만 설정하면, Windows는 내부적으로 복호화 가능한 키를 생성하고 파일에 적용합니다. 다른 사용자나 외부 시스템에서는 이 키를 사용할 수 없기 때문에, 해당 파일은 암호화된 형태로만 존재하게 됩니다.
2. 문제의식: 왜 이런 구조가 필요한가?
많은 사용자는 'Windows 로그인에 비밀번호가 걸려 있으니 파일도 안전할 것'이라 생각합니다. 하지만 Windows 로그인은 운영체제에 대한 접근 통제일 뿐, 디스크나 파일 자체를 보호하지는 않습니다.
예를 들어 다음과 같은 상황이 있습니다:
- 노트북이 도난당했을 때
- 하드디스크만 분리되어 다른 운영체제에 연결되었을 때
- 백업된 데이터를 다른 PC에 복원했을 때
이러한 상황에서는 Windows 로그인이 작동하지 않으며, 파일은 암호화되지 않은 평문 상태로 누구에게든 노출될 수 있습니다.
즉, 운영체제가 꺼진 순간부터 파일은 더 이상 보호받지 않습니다. 진정한 보안은 ‘운영체제가 켜져 있을 때’가 아니라 ‘운영체제가 꺼져 있어도 파일 자체가 안전해야 한다’는 것에서 출발해야 합니다.
3. 해결 방식: 어떻게 이 문제를 풀었는가?
Windows는 이 문제를 해결하기 위해 파일 자체를 암호화하되, 해당 암호를 사용자 계정 기반으로 복호화할 수 있게 설계했습니다.
암호화는 물리적으로 파일에 적용되며, 복호화는 논리적으로 사용자의 계정 정보에 따라 결정됩니다.
사용자가 특정 파일을 ‘암호화’로 지정하면 Windows는 다음과 같은 절차를 자동으로 수행합니다:
- 파일 내용을 빠르게 암호화하기 위해 대칭키(FEK: File Encryption Key)를 생성합니다.
- 이 대칭키를 사용자의 공개키(public key)로 암호화하여 파일에 함께 저장합니다.
- 내용은 대칭키로 보호되고, 대칭키는 공개키로 보호되는 이중 암호화 상태가 됩니다.
파일을 열 때는 로그인된 계정의 개인키(private key)로 FEK를 복호화하고 이를 통해 파일 내용을 해석합니다. 모든 과정은 운영체제 내부에서 자동으로 처리되며, 사용자는 평소처럼 더블클릭으로 파일을 여는 것 외에는 아무것도 하지 않습니다.
4. 구조: “권한으로부터 출발한 암호화”
EFS는 단순한 암호화 도구가 아닙니다. 그 핵심은 다음 두 가지를 동시에 만족시키는 구조입니다:
- 파일 내용이 실제로 암호화되어야 한다
- 이 파일을 열 수 있는 사람은 명확히 구분되어야 한다
이를 위해 파일 내용은 고속의 대칭키로 암호화되고, 그 대칭키는 사용자 계정별로 따로 저장됩니다.
이 구조 덕분에:
- 같은 컴퓨터를 쓰는 다른 사용자도 해당 파일을 열 수 없습니다.
- 복수 사용자에게 접근 권한을 부여할 수 있으며, 각각의 공개키를 파일에 추가로 포함시켜 접근을 확장할 수 있습니다.
파일은 암호화되어 있지만, '누가 열 수 있는가'는 설계로 분리되어 있습니다.
5. 의미: 비밀번호 없이 가장 안전한 구조
일반적인 암호화는 비밀번호를 입력해야 복호화됩니다. 그러나 EFS는 로그인 자체를 복호화 조건으로 삼습니다.
사용자의 인증 성공은 곧 파일 복호화 권한을 자동 획득하는 과정이며, 이 과정은 운영체제 내부에서 투명하게, 자동으로 작동합니다.
파일 접근 제어는 운영체제 외부가 아닌 파일 구조 자체에 새겨져 있으며, 이는 권한 통제와 암호화를 통합 설계한 시스템 보안 방식입니다.
🔓 사용자 권한을 암호화로 구현하다
EFS는 단지 ‘잠금’이 아니라 ‘설계된 접근’이다
6. 다른 사람과 파일을 공유하고 싶다면?
EFS는 특정 사용자만 복호화 가능한 구조지만, 필요하다면 다른 사용자에게도 접근 권한을 부여할 수 있습니다.
파일은 하나의 대칭키(FEK)로 암호화되며, 이 FEK는 사용자 수만큼 공개키 기반으로 반복 암호화되어 파일 내부에 저장됩니다.
이를 통해 복수 사용자 공유 + 권한 통제를 동시에 달성할 수 있습니다.
7. 계정이 삭제되면 파일도 못 열까?
맞습니다. EFS에서 복호화에 필요한 것은 사용자의 개인키입니다. 이 키가 삭제되면 해당 사용자는 복호화 권한을 완전히 상실합니다.
운영체제 재설치, 계정 삭제, 도메인 변경 등으로 인증서를 잃으면 파일은 복구 불가능한 암호화 상태로 남게 됩니다.
8. 이 문제를 해결하기 위한 장치: 복구 에이전트
Windows는 기업 환경을 고려해 DRA(Data Recovery Agent)를 제공합니다. 이는 관리자가 모든 EFS 파일을 복호화할 수 있는 예외적 복구 권한자입니다.
조직 정책상, 모든 EFS 암호화 시 지정된 DRA 공개키도 함께 등록되도록 구성할 수 있습니다.
이 방식은 중앙화된 복구 체계를 기술적으로 강제하는 구조입니다.
9. EFS 인증서는 어떻게 관리되는가?
EFS는 모든 암호화를 공개키 기반(PKI)으로 처리합니다. 사용자의 공개키/개인키 쌍은 Windows 인증서 저장소에 저장됩니다.
이 인증서는 certmgr.msc 또는 제어판의 키 내보내기를 통해 백업 및 복원이 가능합니다.
이 인증서가 손실되면 복구는 불가능하므로, EFS 사용자는 반드시 인증서를 백업해야 합니다.
10. BitLocker와 무엇이 다른가?
구분 | EFS | BitLocker |
---|---|---|
암호화 대상 | 파일/폴더 | 디스크 전체 |
접근 기준 | 사용자 계정 | 디바이스/TPM |
복호화 시점 | 로그인 후 파일 단위 | 부팅 시 전체 해제 |
협업 가능성 | 공개키 추가로 가능 | 불가능 |
EFS는 사용자 권한 분리를 위한 구조이고, BitLocker는 물리적 디스크 보호에 초점이 있습니다.
11. 실무에서는 어떻게 사용되는가?
기업 환경에서는 다음과 같이 사용됩니다:
- 민감 문서 자동 EFS 암호화 정책
- 로컬 저장 허용 시 EFS 강제 적용
- 인증서 주기 백업 및 DRA 등록
- GPO(그룹 정책)를 통한 중앙통제
이는 단일 사용자 보호가 아닌, 조직 차원의 문서 보호 설계로 사용됩니다.
12. 보안상 취약점은 없는가?
다음과 같은 위험이 존재합니다:
- 로그인된 상태에서는 파일이 복호화된 채로 노출됨
- 개인키 유출 시 암호화 무력화
- 계정 탈취 = 복호화 가능
이를 방지하기 위해 다음 조치를 병행해야 합니다:
- 세션 잠금, MFA, 보안 로그아웃
- 인증서 백업 시 암호 설정 및 보안 이동
- 디스크 전체 보호는 BitLocker 병행
13. 종합: EFS는 ‘파일 보호’가 아니라 ‘권한 설계’다
EFS는 단순히 파일을 잠그는 기능이 아닙니다. “이 파일은 누가 볼 수 있고, 누가 못 보는가”를 파일 내부 구조와 운영체제 인증 체계로 통합한 설계입니다.
사용자 인증이 곧 복호화 권한이 되며, 이는 보안과 권한관리를 결합한 Windows 고유의 통합 설계 구조입니다.
파일 하나하나에 보안 구조를 새긴다. 이것이 EFS의 핵심입니다.