Abstract
There are currently various file encryption solutions for encrypting and storing files on disk. However, the existing file encryption solutions handle encryption and decryption all at once by file or directory. In this paper, we propose a system call supporting partial encryption function of the file. The user sets the encryption information with the system call interface at a portion where encryption of the file data is desired. And then the user writes file data, the data is encrypted and stored. Also if the user sets decryption information and reads the file data, the necessary part is decrypted by applying the set information. For the proposed system call, It consists of inspection module, management module, encryption module, decryption module, and HMAC module as per required system call. And it was implemented on the Linux environment. Also the operation of implemented system call was verified on the development board, and the performance was analyzed by measuring performance speed.
현재 디스크에 파일을 암호화하여 저장하기 위한 다양한 파일 암호화 솔루션이 존재한다. 하지만 기존의 파일 암호화 솔루션은 암호화 및 복호화를 파일 혹은 디렉터리 단위로 일괄되게 처리한다. 본 논문에서는 파일의 부분 암호화를 지원하는 시스템 호출을 제안한다. 파일 데이터의 암호화를 원하는 부분에서 사용자는 시스템 호출 인터페이스로 암호화 정보를 설정한다. 그다음 파일 데이터를 쓰면 설정된 내용으로 데이터가 암호화되어 저장된다. 또한 복호화 정보를 설정한 뒤 파일 데이터를 읽어오면, 설정된 정보가 적용되어 필요한 부분만을 복호화 한다. 제안된 시스템 호출을 위해 검사, 관리, 암호화, 복호화, HMAC 모듈이 필요한 시스템 호출에 따라 구성되며, 이는 리눅스 환경에서 구현되었다. 또한 구현된 시스템 호출의 동작을 개발 보드에서 검증하였으며, 그 수행 속도를 측정하여 성능을 분석하였다.