Jabarkan Cara kerja dari Encrypting File System

Berkas dan direktori yang akan dienkripsi oleh sistem berkas harus ditandai dengan atribut sistem khusus enkripsi. Seperti halnya izin akses berkas dalam NTFS, yang memberlakukan atribut terhadap objek-objek anak (berkas dan subdirektori) secara default, hal tersebut juga terjadi dalam rangka enkripsi atau dekripsi EFS.

Ketika sebuah berkas disalin atau dipindahkan ke partisi (volume) lainnya yang memiliki format sistem berkas selain NTFS (sebagai contoh FAT atau CDFS), maka berkas atau direktori tersebut akan didekripsi terlebih dahulu sebelum melakukan operasi penyalinan atau pemindahan berkas dilakukan. Pengecualian terjadi pada saat proses backup dengan menggunakan program Windows Backup (NTBACKUP.EXE) atau program lainnya yang menggunakan fungsi Windows API OpenEncryptedFileRaw, ReadEncryptedFileRaw, WriteEncryptedFileRaw, dan CloseEncryptedFileRaw yang akan menyalin dalam bentuk terenktipsi secara langsung.

EFS bekerja dengan melakukan enkripsi terhadap berkas atau direktori dengan menggunakan sebuah kunci simetris yang disebut sebagai File Encryption Key (FEK). Setiap kali EFS melakukan enkripsi terhadapnya, EFS akan membuat sebuah kunci enkripsi yang acak. EFS akan menyimpan kunci enkripsi ini di dalam memori kernel sistem operasi Windows (atau sering disebut sebagai nonpaged pool). Hal ini dilakukan karena memang kunci simetris dapat melakukan enkripsi terhadap data yang besar dalam waktu yang relatif lebih singkat dibandingkan dengan kriptografi kunci publik.

Kunci simetrik yang digunakan untuk mengenkripsi berkas atau direktori, kemudian akan dienkripsi dengan kunci publik yang diasosiasikan dengan pengguna yang melakukan enkripsi terhadap berkas, dan data ini disimpan dalam header berkas terenkripsi yang bersangkutan.

Untuk melakukan dekripsi terhadap berkas, sistem akan menggunakan kunci privat yang menjadi pasangan kunci publik yang mengenkripsi kunci simetris yang disimpan dalam header. Jika kunci simetris berhasil dibuka, maka berkas akan langsung didekripsi oleh sistem. Karena hal ini dilakukan dalam level sistem berkas, proses ini tidak terlihat oleh pengguna, karena itulah mengapa EFS disebut sebagai transparan.

Algoritma yang digunakan oleh versi Windows

Windows EFS mendukung berbagai algoritma enkripsi simetris, tergantung pada versi dari Windows yang digunakan saat berkas dienkripsi: