Christopher Toombs

Secure Storage Operating System

The Secure Storage Operating System (SSOS) will augment the Linux kernel to allow each user of the operating system to encrypt his/her files on the local hard disk as well as record file access in a log. SSOS will be built on Fedora Core 2 with Security Enhanced Linux. The Advanced Encryption Standard (AES) operating on 128 bit blocks is used for encryption and decryption, and keys are randomly generated when a user is added to the system. This project will be written in C and consists of six major modules: AES Encryption, AES Decryption, Add User, Update User, Key Access, and Logging. There are several submodules for the AES Encryption and AES Decryption process. The File Divider submodule divides the sensitive data into 128 bit blocks on which the AES algorithm operates, while the File Assembly submodule uses the 128 bit block output from AES to construct a complete file. The Key Expansion submodule uses the original key to produce one suitable for the encryption and decryption process. The Shift Rows, Mix Columns, Substitute Bytes, and Add Round Key submodules comprise the meat of the encryption process, while the inverse of these submodules are used in the decryption process. SSOS is also comprised of the following submodules: Random Key Generator, Find Encrypted Key, Add Key, and Update Key Table to handle the overhead necessary to support AES.