사용자 공간에서 구현하는 효율적인 암호화 파일 시스템
본 논문은 UNIX 환경에서 커널을 수정하지 않고 사용자 공간에 암호화 파일 시스템(EFS)을 구현하는 방법을 제시한다. AES 기반의 복합 암호 모드(OFB+ECB)를 이용해 파일 데이터와 경로명을 투명하게 암호화하고, 디렉터리 단위 키 관리와 가상 마운트(/crypt) 방식을 통해 사용자는 별도의 조작 없이 암호화된 파일에 접근한다. 설계 목표, 구현 구조, 성능 및 보안상의 장단점을 논의한다.
저자: Dr. Shishir Kumar, U.S. Rawat, Sameer Kumar Jasra
본 논문은 UNIX 기반 운영체제에서 커널을 수정하지 않고 사용자 공간에 암호화 파일 시스템(EFS)을 구현하는 방법을 제안한다. 기존의 파일 암호화 방식은 크게 세 가지로 나뉜다. 첫 번째는 UNIX crypt와 같은 독립적인 암호화 도구를 사용해 파일을 수동으로 암호화하고 복호화하는 방식으로, 사용자가 직접 키를 입력하고 암호화 과정을 관리해야 하므로 실수와 보안 취약점이 발생하기 쉽다. 두 번째는 애플리케이션 내부에 암호화 모듈을 내장하는 방식으로, 모든 프로그램이 동일한 암호화 엔진을 사용해야 하며, 키 관리와 코드 중복 문제가 있다. 세 번째는 디스크 컨트롤러나 네트워크 레이어에서 하드웨어 기반 암호화를 적용하는 방식이다. 하드웨어 암호화는 투명하지만 키 관리가 복잡하고, 전체 디스크를 하나의 키로 보호하는 경우 세분화된 접근 제어가 어렵다.
EFS는 이러한 기존 방식들의 단점을 보완하고자, 파일 시스템 인터페이스 자체에 암호화 서비스를 삽입한다. 설계 목표는 다음과 같다. (1) 키 관리: 사용자가 디렉터리마다 패스프레이즈를 입력해 고유 키를 생성하고, 해당 디렉터리를 암호화된 영역에 매핑한다. (2) 투명한 접근: 기존 시스템 콜(open, read, write 등)을 그대로 사용하면서, 파일 내용과 경로명을 자동으로 암호화·복호화한다. (3) 성능: 암호화 알고리즘이 CPU 집약적이지만, 사용자 공간 구현으로 커널 크기를 늘리지 않아 시스템 안정성을 유지한다. (4) 메타데이터 보호: 파일 헤더·푸터는 암호화하고, 파일 이름도 암호화한다. (5) 확장성 및 호환성: 기존 파일 시스템(ext2, NFS 등) 위에 그대로 동작하며, 별도의 사전 할당 공간이 필요 없다.
구현은 EFS 데몬과 가상 파일 시스템(VFS) 레이어를 이용한다. 사용자는 ‘emkdir’ 명령으로 암호화 디렉터리를 생성하고, 패스프레이즈를 입력한다. 이후 ‘attach’ 명령으로 해당 디렉터리를 /crypt 아래에 가상 마운트하면, 일반적인 파일 작업이 가능해진다. 파일 이름은 8바이트 블록 단위로 AES 암호화 후 ASCII 인코딩된 문자열로 저장되며, 파일 내용은 두 단계 암호화 과정을 거친다. 먼저 128비트 키를 두 개의 56비트 서브키로 나누고, 첫 번째 서브키로 OFB 모드의 초기 블록을 생성한다. 파일 데이터를 쓰기 전에는 이 초기 블록과 XOR 연산을 수행한 뒤, 두 번째 서브키로 ECB 모드 암호화를 적용한다. 읽기 시에는 역순으로 복호화하고 XOR을 수행한다. 이 복합 방식은 ECB의 동일 평문에 대한 동일 암호문 생성 문제와, OFB·CBC 등 체인 모드가 갖는 랜덤 접근 어려움을 동시에 해결하려는 시도이다.
보안 측면에서 논문은 데이터 자체는 강력히 보호되지만, 파일 크기·접근 시간·디렉터리 구조와 같은 메타데이터는 평문으로 남아 트래픽 분석에 노출될 수 있음을 인정한다. 또한 슈퍼유저가 시스템에 침투하면 커널 메모리 전체를 읽을 수 있기 때문에, 사용자 공간 암호화만으로는 완전한 보안을 보장하지 못한다.
성능 평가에서는 “빠른 암호화 알고리즘”을 사용한다고 주장하지만, 구체적인 벤치마크 결과가 부족하고, AES 외 다른 경량 암호와의 비교가 없어 실제 오버헤드가 어느 정도인지 판단하기 어렵다. 사용자 공간에서의 암호화는 커널-유저 전환 비용이 추가되어 대용량 파일 I/O 시 CPU 사용률이 상승할 가능성이 있다.
결론적으로, 이 논문은 사용자 공간에서 투명한 파일 시스템 암호화를 구현하는 아이디어와 기본 설계는 의미가 있지만, 암호학적 설계 검증, 성능 측정, 메타데이터 보호에 대한 구체적 대책이 부족하다. 향후 연구에서는 키 길이와 서브키 분할 방식의 보안 강도 재검토, 메타데이터 암호화, 하드웨어 가속(AES‑NI) 활용, 그리고 실제 워크로드 기반 성능 평가가 필요하다.
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기