• Tidak ada hasil yang ditemukan

Aplikasi Enskripsi Virtual Disk Menggunakan Algoritma SHA (Secure Hash Algorithm)

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi Enskripsi Virtual Disk Menggunakan Algoritma SHA (Secure Hash Algorithm)"

Copied!
92
0
0

Teks penuh

(1)

ALGORITMA SHA

(SECURE HASH ALGORITHM)

TUGAS AKHIR

Diajukan untuk menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

GERRY RENANTO 10106105

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA BANDUNG

(2)

ii company owning the more amount data. Data owned by an company can become one of important asset to the continuity of the company life. A storage media of data with the full security system very needed.

In an encryption system VHD, a virtual disk may appear to provide the appropriate password. With functionality like a normal disk drive, the difference of the virtual disk is that each file is entered in encrypted automatically. Software in the end of this paper the task of implementing the encryption VHD on the Windows operating system using the SHA (Secure Hash Algorithm) algorithm as the

encryption algorithm.

Operation which can be conducted in this application: making volume file, mount and unmount, modification to virtual disk, encryption, decryption,

(3)

i

APLIKASI ENKRIPSI VIRTUAL DISK MENGGUNAKAN ALGORITMA SHA

(SECURE HASH ALGORITHM)

Oleh

GERRY RENANTO 10106105

Setiap orang pasti memiliki data penting yang harus mereka lindungi agar tidak hilang atau dicuri oleh pihak yang tidak bertanggungjawab. Terlebih pada suatu perusahaan yang memiliki lebih banyak data. Data yang dimiliki suatu perusahaan dapat menjadi salah satu aset penting untuk kelangsungan hidup perusahaan tersebut. Sebuah media penyimpanan data dengan sistem keamanan penuh sangat diperlukan.

Dalam sebuah sistem VHD encryption, sebuah virtual disk dapat dimunculkan dengan memberikan password yang tepat. Dengan fungsionalitas seperti layaknya disk drive biasa, perbedaan yang dimiliki virtual disk ini adalah bahwa tiap file yang dimasukkan ke dalamnya otomatis terenkripsi. Perangkat lunak dalam makalah tugas akhir ini mengimplementasikan VHD encryption pada sistem operasi Windows menggunakan algoritma SHA (Secure Hash Algorithm) sebagai algoritma enkripsi.

Operasi – operasi yang bisa dilakukan dalam aplikasi ini , membuat file volume, melakukan mount dan unmount, melakukan modifikasi terhadap virtual disk, melakukan enkripsi, melakukan dekripsi.

(4)
(5)
(6)

v

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah/Ruang Lingkup Kajian ... 3

1.5 Metodologi Penelitian ... 4

1.6 Sistematika Penulisan ... 7

BAB II TINJAUAN PUSTAKA ... 9

2.1 Disk Encryption ... 9

2.2 Hard Disk Encryption ... 9

2.2.1 Volume Encryption ... 9

2.2.2 EHD Encryption dan VHD Encryption ... 11

2.2.3 Virtual Disk... 11

2.2.4 Cipher Blok ... 12

2.2.5 Menciptakan Virtual Disk ... 12

(7)

vi

3.2.1 Perancangan Menu Interaksi ... 48

BAB IV ... 57

4.2.2 Skenario Pengujian dan Kriteria Keberhasilan ... 58

(8)

viii

Gambar 2.2 User A ... 18

Gambar 2.3 User B ... 19

Gambar 2.4 Fungsi-Fungsi SHA-256 ... 33

Gambar 2.5 Konstanta SHA ... 34

Gambar 2.6 Komponen Sistem Operasi ... 40

Gambar 3.1 Diagram Konteks... 43

Gambar 3.2 DFD Level 1 ... 44

Gambar 3.3 DFD Level 2 ... 45

Gambar 3.4 Tampilan Menu Utama... 48

Gambar 3.5 Menu Create ... 49

Gambar 3.6 Menu Pop Up ... 50

Gambar 3.7 Form Password ... 50

Gambar 3.8 Form Retype Password ... 51

Gambar 3.9 Form Format Baru ... 52

Gambar 3.10 Proses Format ... 53

Gambar 3.11 menu Mount ... 53

Gambar 3.12 Menu Entri Password ... 54

Gambar 3.13 Message Berhasil ... 54

Gambar 3. 14 Menu Utama ... 55

Gambar 3.15 Error Warning ... 55

Gambar 3.16 menu Dismount ... 56

Gambar 3.17 Menu Dismount All ... 56

Gambar 3.18 menu Properties ... 57

(9)

ix

Gambar 4.3 Virtual disk mounted ... 65

Gambar 4.4 Salah Password ... 66

Gambar 4.5 Virtual Disk masih kosong ... 67

Gambar 4.6 Virtual Disk telah di Write Suatu File ... 68

Gambar 4.7 Read/Write mode... 69

Gambar 4.8 Mount as Readonly... 70

Gambar 4.9 Drive Tidak Bisa Write dikarenakan Virtual Disk Hanya Untuk Dibaca Saja ... 71

Gambar 4.10 Melakukan Unmount ... 72

Gambar 4.11 Drive Tidak Bisa di Unmount ... 72

Gambar 4.12 Membuka file volume. ... 73

(10)

xiii

LAMPIRAN B LISTING PROGRAM ...B-1

LAMPIRAN C HASIL KUESIONER ...C-1

(11)

x

(12)
(13)
(14)

vii

(15)

1

PENDAHULUAN

1.1 Latar Belakang Masalah

Setiap orang pasti memiliki data penting yang harus mereka lindungi agar tidak

hilang atau dicuri oleh pihak yang tidak bertanggungjawab. Terlebih pada suatu

perusahaan yang memiliki lebih banyak data. Data yang dimiliki suatu perusahaan

dapat menjadi salah satu aset penting untuk kelangsungan hidup perusahaan tersebut.

Sebuah media penyimpanan data dengan sistem keamanan penuh sangat diperlukan.

Masalah yang timbul bukan hanya pada media penyimpanan data tetapi

bagaimana media penyimpanan data tersebut dilengkapi dengan sistem keamanan

yang baik pula. Oleh karena itu digunakanlah teknik enkripsi data, teknik enkripsi

yang umum digunakan adalah enkripsi yang dilakukan pada file atau file encryption.

File encryption sudah dilakukan bertahun-tahun dan masih memiliki manfaat dari

segi keamanan. Namun, file encryption juga memiliki kekurangan apabila dihadapkan

pada kondisi jika file tersebut berjumlah banyak seperti file-file yang dimiliki oleh

suatu perusahaan.

Selain menggunakan teknik enkripsi yang baik, media penyimpanan yang

digunakan nanti harus memiliki tempat yang aman pula dikarenakan file yang di

(16)

sebuah media penyimpanan tersebut kadang sudah tidak diperlukan lagi oleh karena

itu agar tidak terjadi penumpukan file, file harus dapat dimodifikasi atau dihapus.

Untuk teknik enkripsi diperlukan adanya standart algoritma yang benar-benar

aman dan tidak mudah dipecahkan oleh teknologi saat ini. Maka dari itu

pembangunan media penyimpanan data harus dilengkapi dengan teknik enkripsi yang

menggunakan standart algoritma dengan tingkat keamanan tinggi.

1.2 Rumusan Masalah

Berdasarkan latar belakang tersebut maka dapat dirumuskan masalah sebagai

berikut :

1. Bagaimana mengimplementasikan sebuah virtual disk yang telah terenkripsi

dengan algoritma SHA di dalamnya menggunakan system operasi windows.

1.3 Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penelitian ini adalah

bagaimana membuat atau membangun aplikasi enkripsi virtual disk menggunakan

algoritma SHA (Secure Hash Algorithm)

Adapun Tujuan dari penelitian ini adalah:

1. Diperlukan sebuah media penyimpanan data dan teknik enkripsi yang baik

(17)

3. Membuat sebuah virtual disk yang dapat digunakan seperti physical disk lainnya

namun tidak dalam bentuk disk yang nyata, secara fisik dapat menyimpan file

serta file tersebut dapat dimodifikasi atau dihapus.

4. Mengimplementasikan teknik disk encryption menggunakan algoritma SHA.

1.4 Batasan Masalah/Ruang Lingkup Kajian

Adapun batasan masalah dari Aplikasi Enkripsi Virtual Disk Menggunakan

Algoritma SHA ini adalah sebagai berikut:

1. Pengguna Aplikasi ini digunakan oleh user biasa

2. Procedure

a. Implementasi yang dilakukan tidak memberikan solusi keamanan terhadap

segala perlakuan yang dikenakan pada file volume, terutama penghapusan

terhadap file tersebut.

b. Operasi yang dilakukan pada suatu file hanya sebatas mengenkripsi saja

tanpa adanya proses kompresi.

3. Model analisis perangkat lunak yang digunakan adalah pemodelan analisis

terstruktur. Alat yang digunakan adalah flowmap dan diagram E-R, dan untuk

menggambarkan proses yang digunakan adalah DFD (Data Flow Diagram).

4. Data yang diolah :

Data yang tersimpan dalam virtual disk

(18)

a. Informasi kapasitas virtual disk

b. Informasi jenis data yang tersimpan dalam virtual disk

6. Perangkat Lunak

Perangkat Lunak yang digunakan dalam membangun aplikasi enkripsi virtual

disk menggunakan algoritma SHA ini adalah :

a. Pembangunan Aplikasi menggunakan Borland Delphi 7

b. Sistem Operasi menggunakan Microsoft Windows XP Service Pack 2

c. Editor Notepad++ v4.0.2

7. Perangkat Keras

a. Prosesor Intel Core2Duo E8200 2,7 GHz

b. RAM 2 Gb

c. Harddisk 160Gb

d. Perangkat keluaran berupa monitor

e. Perangkat masukan berupa keyboard

1.5 Metodologi Penelitian

Metodelogi Penelitian yang digunakan untuk membangun aplikasi enkripsi

virtual disk menggunakan algoritma SHA ini sebagai berikut :

Teknik dalam pembangunan perangkat lunak menggunakan paradigma

(19)

Gambar 1.1 Gambar waterfall

1) Analisis

Merupakan tahap menganalisis hal-hal yang diperlukan dalm pelaksanaan

pembangunan perangkat lunak. Pada tahap analisis dilakukan metode

pengumpulan data yaitu sebagai berikut :

a. Studi Pustaka

Metode pengumpulan data dengan mencari data, mempelajari banyak

data dari berbagai sumber buku, modul, artikel baik perpustakaan maupun

internet yang berhubungan dengan permasalahan yang dibahas.

b. Wawancara (interview)

Pengumpulan data yang dilakukan dengan cara berkomunikasi

(20)

(narasumber) yang lebih terinci terhadap permasalahan yang sedang diteliti.

c. Observasi

Pengumpulan data melalui pengamatan dan pencatatan data oleh

pengumpul data terhadap peristiwa yang diselidiki pada objek penyusunan.

Dalam melakukan observasi penulis melakukan beberapa pengamatan

terhadap sistem kerja, proses pengolahan data yang sedang berjalan.

2) Desain

Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas

menjadi representasi ke dalam bentuk rancangan aplikasi sebelum coding

dimulai. Design harus dapat mengimplementasikan kebutuhan yang telah

disebutkan pada tahap sebelumnya. Seperti aktivitas sebelumnya, maka proses

ini juga harus didokumentasikan sebagai konfigurasi dari aplikasi yang

dibangun.

3) Pengkodean / implementasi

Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer,

maka desain tersebut harus diubah bentuknya menjadi bentuk yang dapat

dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses

coding. Tahap ini merupakan implementasi dari tahap design.

(21)

Aplikasi yang telah dibangun harus dilakukan ujicoba. Semua

fungsi-fungsiaplikasitersebut harus diujicobakan, agar aplikasibebas dari error, dan

hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan

sebelumnya.

5) Pemeliharaan

Pemeliharaan sebuah aplikasi sangat diperlukan, termasuk di

dalamnya adalah pengembangan, karena aplikasi yang dibangun tidak

selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada error

kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang

belum ada pada aplikasi tersebut. Pengembangan diperlukan ketika adanya

perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem

operasi, atau perangkat lainnya.

1.6 Sistematika Penulisan

Laporan terdiri dari beberapa bab dan tersusun berdasarkan sistematika

penulisan sebagai berikut :

BAB I. PENDAHULUAN

Dalam bab ini penulis menguraikan mengenai hal-hal umum yang berkaitan

mengenai latar belakang, rumusan persoalan, maksud dan tujuan dari tugas akhir,

ruang lingkup dan batasan yang diacu, metodologi yang digunakan serta sistematika

(22)

BAB II. TINJAUAN PUSTAKA

Bab ini menjelaskan mengenai beberapa teori pendukung tugas akhir ini

BAB III. ANALISIS DAN PERANCANGAN

Membahas spesifikasi kebutuhan perangkat lunak, yang dijelaskan dengan

pemodelan diagram, hasil analisis ini kemudian diaplikasikan dengan rancangan

aplikasi yang terdiri dari rancangan struktur program hasil analisis dan perancangan.

BAB IV. IMPLEMENTASI DAN PENGUJIAN

Bab ini merupakan bab penutup laporan yang berisi tentang Kesimpulan dan

Saran-saran.

BAB V KESIMPULAN DAN SARAN

Bab ini merupakan bab penutup laporan yang berisi tentang Kesimpulan dan

(23)

9

TINJAUAN PUSTAKA

2.1 Disk Encryption

Disk Encryption adalah salah satu teknik enkripsi yang dilakukan pada data at

rest. Istilah data at rest ditujukan pada data yang tersimpan pada media penyimpanan

komputer. Dengan kata lain, enkripsi tidak dilakukan pada data yang sedang

ditransmisi melalui jaringan. Media penyimpanan yang dimaksud dalam disk

encryption merupakan peralatan/device yang memiliki sektor-sektor dan alamat untuk

tiap sektor tersebut. Contohnya adalah hard disk atau flash card.

2.2 Hard Disk Encryption

Penerapan disk encryption pada hard disk dinamakan hard disk encryption.

Satu sektor pada hard disk biasanya memiliki ukuran 512 byte. Istilah lain yang

paling sering digunakan untuk menyebut hard disk encryption adalah volume

encryption. Untuk penulisan dokumen Tugas Akhir ini, istilah disk encryption

mengacu pada hard disk encryption.

2.2.1 Volume Encryption

Berkaitan dengan teknik enkripsi pada data at rest, teknik yang umum

digunakan adalah enkripsi yang dilakukan pada file atau file encryption. Satu file

(24)

bertahun-tahun dan masih memiliki manfaat dari segi keamanan. Berbeda dengan

file encryption, disk encryption dalam implementasinya menggunakan suatu

wadah/kontainer/volume. Wadah ini digunakan sedemikian rupa sehingga tiap file

yang dimasukkan ke dalam wadah ini akan otomatis terenkripsi. Dengan alasan itu,

salah satu istilah lain untuk disk encryption adalah volume encryption.

Wadah/kontainer/volume ini bila dibuka dengan password yang tepat akan

diperlakukan sebagai disk tersendiri (contohnya H:\ drive). Dengan kata lain,

dengan password yang tepat, sistem enkripsi ini akan memunculkan sebuah virtual

disk.

Dibandingkan dengan teknik file encryption, disk encryption memiliki

beberapa keuntungan terutama bila jumlah file penting yang hendak dienkripsi amat

banyak. Wadah yang disediakan oleh disk encryption memungkinkan file-file penting

tersebut terkumpul dengan rapi dalam satu tempat (tidak tersebar). Penanganan kunci

pun lebih mudah karena hanya diperlukan satu kunci untuk satu wadah. Dengan

demikian, pengguna tidak perlu mengingat kunci mana yang digunakan untuk file

apa. Selain itu, pengguna tidak perlu turun tangan untuk memicu proses

enkripsi/dekripsi berulang kali karena sifatnya yang otomatis melakukan proses

(25)

Berdasarkan besarnya kontainer/volume tersebut, disk encryption dapat digolongkan

menjadi dua yakni entire hard disk encryption (EHD encryption) dan virtual hard disk

encryption (VHD encryption).

2.2.2 EHD Encryption dan VHD Encryption

Sesuai namanya, EHD encryption berarti enkripsi dilakukan pada seluruh area

hard disk, termasuk faktor yang menyangkut perangkat keras hard disk itu sendiri.

Dengan demikian, EHD encryption ini hanya dapat diimplementasikan secara khusus

terhadap salah satu jenis hard disk tertentu. Jenis enkripsi ini tentu memiliki

kelebihan karena seluruh area hard disk aman. Namun, jika dikaitkan dengan

jaringan dan kegiatan sharing yang biasa dilakukan di dalamnya, EHD encryption

menuntut penyesuaian yang tidak mudah.

VHD encryption, di sisi lain, tidak melakukan pengamanan terhadap seluruh

area hard disk, tetapi hanya sebagian, yaitu sebuah virtual disk. Dengan demikian,

sepanjang ada kesesuaian sistem enkripsi dengan sistem operasi tempat VHD

encryption terinstal, semua akan berjalan lancar, tidak perlu memikirkan faktor yang

berkaitan dengan perangkat keras hard disk.

2.2.3 Virtual Disk

Virtual disk berarti tidak ada disk yang nyata dalam bentuk fisik. Walaupun

(26)

disk dapat digunakan untuk menyimpan file dan file yang terdapat di dalamnya

dapat dimodifikasi atau dihapus. Virtual disk merupakan disk yang muncul

sementara, hanya selama dipanggil saja (istilahnya di-mount). Bentuk asli dari virtual

disk dapat berupa memory. Hal tersebut berarti pada saat virtual disk di-mount,

sebagian dari memory diperlakukan seperti layaknya physical disk. Selain untuk

mengeksekusi program, data dapat disimpan pada bagian memory tersebut. Kondisi

ini memungkinkan seluruh proses yang berkaitan dengan virtual disk yang tercipta

berlangsung lebih cepat. Kelemahan cara ini adalah bila komputer dimatikan, seluruh

data juga hilang (karena tersimpan di memory).

2.2.4 Cipher Blok

Disk encryption bekerja dengan cipher blok (block cipher). Rangkaian bit

plainteks/cipherteks yang akan dienkripsi atau didekripsi dibagi menjadi blok-blok bit

yang panjangnya sama dan sudah ditentukan sebelumnya. Cipher blok termasuk

dalam tipe algoritma simetri, tipe algoritma kriptografi modern yang berarti proses

enkripsi dan dekripsi memiliki struktur yang serupa. Salah satu jenis cipher blok

yang dapat digunakan untuk disk encryption adalah algoritma SHA.

2.2.5 Menciptakan Virtual Disk

Untuk memunculkan sebuah virtual disk, diperlukan peran dari komponen

(27)

dapat menerima informasi seperti nama file volume, ukuran virtual disk, juga nama

drive yang diinginkan. Informasi itu diberikan oleh pengguna Kemudian, aplikasi

pengguna bertugas memberi tahu virtual disk driver untuk membuat virtual disk

dengan spesifikasi yang telah diberikan dengan memanggil fungsi Windows API

yang sesuai.

Windows API (Application Programming Interface) merupakan sekumpulan

fungsi-fungsi eksternal yang terdapat dalam file-file perpustakaan Windows (library

Windows) atau file library lainnya yang dapat digunakan oleh program. Fungsi ini

dapat menangani semua yang berhubungan dengan Windows, seperti pengaksesan

disk, interface printer, grafik Windows, kotak dialog (buka file, simpan file, memilih

font, memilih warna, dll) Windows shell, setting sistem operasi, penanganan file,

mengakses sitem registry, memainkan musik, dan sebagainya. Fungsi inni

menyediakan banyak fitur-fitur standar untuk semua program yang berbasis

Windows.

Hampir semua fungsi Windows API terdapat dalam direktori sistem milik

Windows dan paling banyak berekstensi .DLL yang digunakan oleh sistem operasi

Windows. Selain itu fungsi ini juga memastikan secara konsisten penggunaan semua

sumber yang terdapat dalam Windows. File-file itulah yang disebut dengan Windows

(28)

Karena fungsi Windows API merupakan fungsi eksternal, maka untuk

menggunakan fungsi tersebut terlebih dahulu dideklarasikan dengan perintah Declare

didalam kode program. Setelah pendeklarasian fungsi selesai dilakukan, selanjutnya

anda bebas untuk menggunakan fungsi tersebut layaknya bahasa Visual Basic

didalam program.

Fungsi Windows API yang digunakan adalah DeviceIoControl. Parameter

yang digunakan fungsi ini adalah sebagai berikut:

Gambar 2.1 Device IO Control

Penanganan request yang berasal dari komponen user mode melalui

Windows API merupakan salah satu fungsi utama driver. Untuk kepentingan request

tersebut, driver memiliki control code yang spesifik untuk melakukan operasi-operasi

(29)

DeviceIoControl pada parameter dwIoControlCode. Pada kasus virtual disk, Aplikasi

Pengguna akan mengirimkan kode untuk menciptakan virtual disk kepada driver

pada saat menu mount dipilih.

Selain untuk memicu fungsi driver tertentu, fungsi DeviceIoControl juga

dapat dimanfaatkan untuk mengirimkan informasi yang diperlukan untuk melakukan

fungsi tersebut maupun menerima hasil fungsi driver. Parameter yang berkaitan

adalah lpInBuffer dan nInBufferSize untuk masukan pada driver serta lpOutBuffer

dan nOutBufferSize untuk menampung hasil dari driver.

Setelah mendapatkan kode untuk menciptakan virtual disk dan informasi yang

dibutuhkan, driver melakukan pemeriksaan berkaitan dengan virtual disk yang akan

dibuat, seperti kapasitas hard disk yang masih mencukupi atau tidak. Apabila file

volume sukses dibuat, driver akan menciptakan sebuah device yang

dihubungkandengan file volume tersebut. Untuk memunculkan virtual disk, device

akandiemulasikan sebagai hard disk dengan memasukkan parameter tertentu pada

fungspenciptaan device. Bersamaan dengan penciptaan device tersebut, sebuah thread

akan diikutsertakan selama device tersebut ada.

2.3 Algoritma SHA

Dalam dunia kriptografi, hash function bukan merupakan suatu barang yang

(30)

tarik tersendiri dikarenakan cukup banyak aplikasi yang menggunakan hash function

dalam penerapannya. Hash function digunakan sebagai autentikasi, integritas dan

digital signature, salah satu aplikasinya yaitu penggunaan password dalam aplikasi

digital atau internet.

Cryptographic Hash Function adalah suatu fungsi dengan inputan yang

berubah-ubah panjangnya (atau sangat panjang) dan memetakannya sehingga

menghasilkan output yang pendek dan panjang nya tetap. Hash functions berawal dari

ilmu komputer, dimana dibutuhkan sebuah fungsi yang berguna untuk mengkompresi

sebuah string dengan panjang yang berubah-ubah menjadi sebuah string tetap yang

lebih pendek. Hash functions digunakan untuk menentukan secara keseluruhan

tempat penyimpanan yang mungkin dari sebuah file. Pada aplikasi kriptografi, hash

function dibedakan menjadi unkeyed dan keyed hash functions.

1. Unkeyed Hash Function (Manipulation Detection Codes = MDCs)

Hanya memerlukan satu parameter input, yaitu berita.

2. Keyed Hash Function (Message Authentication Codes = MACs)

Menggunakan dua parameter input, yaitu berita dan kunci.Selanjutnya,

Unkeyed hash functions atau MDCs yang akan dikenal sebagai Hash Functions.

Hash functions juga dapat digunakan untuk keamanan pada autentikasi berita

(31)

misalnya proses komunikasi pengiriman file ukuran besar yang melalui jalur insecure,

autentikasi yang dilakukan yaitu dengan mengirimkan hasil hash dari berita melalui

jalur komunikasi biasa misalnya mail biasa atau melalui telefax.

Aplikasi hash functions yang umum adalah digital signatures yaitu aplikasi

untuk menandatangani hasil hash dan hal ini jauh lebih baik daripada menandatangani

berita aslinya, dan akan mendapatkan keuntungan keamanan sekaligus performance.

Dengan hash functions kita dapat membandingkan dua buah nilai tanpa harus

membuka berita. Misalnya password dan passphrase.

A adalah seorang user pada suatu aplikasi yang memerlukan proses

autentikasi dalam hal ini password. Aplikasi tersebut akan meminta input dari A

kemudian dengan algoritma hash functions yang digunakan oleh aplikasi tersebut

maka akan diubah inputan tersebut menjadi suatu output yang unik dan dengan suatu

panjang tertentu. Tidak ada satupun output atau hasil hash functions dalam aplikasi

tersebut yang nilainya sama. Selanjutnya, aplikasi tersebut hanya akan mencocokkan

hasil output setiap kali user A login dengan database yang ia punya.

Sebuah digital signatures digunakan sebagai fungsi integritas suatu berita atau

data yang dikirim. Apakah berita itu asli? Adakah kekurangan dalam berita tersebut?

(32)

panjang) untuk kemudian menghasilkan output yang panjang nya tetap (misalnya 128

bit, 256 bit).

User A ingin mengirimkan sebuah berita kepada user B, sebelumnya user A

mencari digital signatures berita yang telah terenkripsi dengan menggunakan suatu

algoritma hash function. Dan mengenkripsi digital signature tersebut. Kemudian user

A mengirimkan berita dan digital signature berita yang keduanya telah di enkripsi

tersebut kepada user B.

Gambar 2.2 User A

User B akan menerima berita yang telah terenkripsi dan digital signature dari

user A. Langkah pertama, user B akan mendekripsi digital signature tersebut.

Kemudian ia mencari nilai hash dari berita yang telah terenkripsi untuk kemudian

dicocokkan dengan digital signature berita tersebut. Jika hasil nya sama, maka berita

tersebut asli, dan berita tersebut terjamin keutuhannya. Jika hasilnya berbeda maka

(33)

inputan hash function akan menghasilkan nilai hash yang jauh berbeda. Sehingga kita

dapat melihat integritas atau keaslian berita tersebut tanpa harus membuka berita

tersebut.

Gambar 2.3 User B

Jika sama, maka berita tersebut asli, user B dapat mendekripsi berita tersebut

Hash function adalah sebuah fungsi h yang :

Konsep One-Way Hash Function diperkenalkan pertama kali oleh Diffie dan

Hellman pada papernya "New Directions in Cryptography".

Definisi 1 Sebuah One-Way Hash Function (OWHF) adalah fungsi h yang

memenuhi kondisi :

Sebuah X dapat mempunyai panjang yang bervariasi dan hasil dari h(x) hanya

mempunyai sebuah panjang yang tetap yaitu n bit.Hash Function akan bersifat

one-way yaitu jika diberikan sebuah Y hasil dari h, maka akan tidak mungkin (secara

(34)

resistant) dan diberikan X dan h(X) maka akan tidak mungkin (secara perhitungan)

untuk menemukan sebuah berita X’ ? X dimana h(X’) = h(X) (second preimage

resistant).Sebuah fungsi yang bersifat preimage resistant dikenal dengan one-way

function (namun preimage resistance biasanya digunakan untuk hash function).

Beberapa penulis menyebutkan second preimage resistantce sebagai weak collision

resistance. Untuk beberapa aplikasi (seperti fungsi pseudo-random dan algoritma

MAC yang berdasarkan hash functions) sebagian besar dari input dapat diketahui

namun sulit untuk menemukan bagian yang tidak diketahui pada input tersebut. Hal

seperti ini disebut dengan partial preimage resistance.

Definisi dari collision resistance hash functions (CRHF) secara formal

di perkenalkan oleh Yuval pada papernya "How to swindle Rabin".

Definisi 1 Sebuah Collision Resistance Hash Functons (CRHF) adalah fungsi

h yang memenuhi kondisi :

1. Sebuah X dapat mempunyai panjang yang bervariasi dan hasil dari h(x) hanya

mempunyai sebuah panjang yang tetap yaitu n bit

2. Hash Function tersebut harus merupakan OWHF, yaitu memenuhi preimage

(35)

3. Hash function tersebut harus bersifat collision resistant, yaitu dimana tidak

mungkin (secara perhitungan) untuk menemukan dua berita yang mempunyai

nilai hash yang sama.

Jelas dilihat bahwa menemukan sebuah second preimage tidak akan lebih

mudah dibanding menemukan sebuah collision. Bagaimanapun juga untuk

menentukan hubungan yang pasti dari kedua kondisi diatas memerlukan definisi

khusus. Pada kondisi tertentu, collision resistance menyebabkan preimage resistance

dan second preimage resistance.

MD5 Message Digest Algorithm (RFC 1321) ditemukan oleh Ron Rivest

pada MIT.Sampai beberapa tahun ketika brute-force dan kriptanalisa berkembang

pesat, MD5 adalah algoritma hash function yang paling banyak digunakan. Input

algoritma ini adalah sebuah berita dengan panjang yang bervariasi dan menghasilkan

output sebuah 128-bit message digest.

SHA Family adalah merupakan algoritma hash function yang dibuat oleh

National Security Agency (NSA) dan dipublikasikan sebagai standar oleh pemerintah

USA.Algoritma SHA family yang paling banyak digunakan adalah SHA-1 dan telah

banyak diaplikasikan pada berbagai macam aplikasi keamanan dan protokol

(36)

Tabel 2.1 Perbandingan SHA family

Algoritma Hash Ukuran Digest

Hash (bits)

Catatan : Internal state adalah “sum (digest) internal hash“ setelah tiap

kompresi dari satu blok data.

Banyak peneliti yang mencoba melakukan cryptanalysis terhadap algoritma

hash functions yang ada. Dan perkembangan cryptanalysis tersebut sangat

mengejutkan.Pada konferensi CRYPTO 98, dua peneliti asal Perancis

mempresentasikan sebuah attack terhadap SHA-0 [3] dimana collisions dapat

ditemukan dengan kompleksitas 261; lebih rendah dari 280, kompleksitas ideal suatu

hash functions.

Pada tahun 2004, Biham dan Chen menemukan near-collisions untuk SHA-0

(37)

dimana dari 160 bit output, 142 bitnya sama. Mereka juga menemukan full collisions

pada SHA-0 dengan 62 round dari total 80 round.

Berikutnya, pada 12 Agustus 2004, sebuah collision untuk full SHA-0

diumumkan oleh Joux, Carribault, Lemuet dan Jalby. Dengan menggunakan Chabaud

dan Joux Attack[10]. Yaitu menemukan collisions dengan kompleksitas 251 dan

memerlukan 80.000 jam dengan menggunakan superkomputer yang didalamnya

terdapat 256 buah prosesor Itanium 2.

Pada 17 Agustus 2004, pada Rump Session CRYPTO 2004, sebuah hasil

pendahuluan telah diumumkan oleh Wang, Feng, Lai dan Yu, mengenai attack

terhadap MD5, SHA-0 dan hash functions lainnya [5]. Kompleksitas attack mereka

terhadap SHA-0 adalah sekitar 240, jauh lebih baik dibandingkan attack yang

dilakukan oleh Joux dan yang lainnya.

Pada Februari 2005, sebuah attack kembali dilakukan oleh Xiaoyun Wang,

Yiqun Lisa Yin, dan Hongbo Yu, dan diumumkan bahwa mereka dapat menemukan

collision pada SHA-0 dalam 239 operasi [6].

Berdasarkan beberapa kriptanalisis terhadap SHA-0, beberapa ahli

menyarankan untuk menggunakan SHA-1 sebagai kriptosistem baru. Setelah hasil

(38)

setahap demi setahap penggunaan SHA-1 sampai 2010, dan menggantikan nya

dengan SHA-2 variant.

Pada tanggal 17 Agustus 2005, perkembangan attack terhadap SHA-1

diumumkan oleh Xiaoyun Wang, Andrew Yao dan Frances Yao pada rump session

CRYPTO 2005,dan dapat menemukan collision dengan kompleksitas 263. Karena

telah ditemukannya full-collision pada beberapa algoritma hash functions (selain

SHA-1 dapat juga diterapkan pada MD5, RIPEMD) oleh para peneliti dari China

tersebut, NIST (National Institute of Standards and Technology) mengadakan suatu

workshop khusus mengenai hash functions di Santa Barbara pada Oktober 2005.

Dalam workshop tersebut mereka mengeluarkan issue mengenai algoritma hash

function yang dapat menggantikan SHA-1. Issue tersebut sangat penting mengingat

SHA-1 telah dijadikan standard algoritma hash function oleh pemerintah USA

(NIST). Sampai saat ini belum ada algoritma hash yang dijadikan standard (dalam hal

ini oleh USA dan indonesia sendiri belum mempunyai standard tersendiri mengenai

hal ini), padahal aplikasi yang menggunakan hash functions sebagai digital signature,

autentikasi banyak dipakai di perbankan atau aplikasi online lainnya. Hal ini akan

menjadi masalah tersendiri bagi keamanan informasi.

2.3.1 Algoritma SHA-1

Fungsi Hash SHA adalah lima fungsi hash kriptografis yang dirancang oleh

(39)

Federal Information Processing Standard. SHA adalah kepanjangan dari Secure Hash

Algorithm. Algoritma-algoritma hash menghitung suatu representasi digital dengan

panjang yang pasti atau telah ditentukan (yang yang dikenal sebagai suatu message

digest) dari suatu urutan data masukan (pesan) yang panjangnya bermacam-macam.

Mereka disebut aman ketika, dapat dikomputasi

untuk:

1. Menemukan suatu pesan yang berpasangan dengan suatu message digest

yang diberi, atau

2. Menemukan dua pesan yang berbeda yang menghasilkan message digest

yang sama. Setiap perubahan akan, dengan kemungkinan yang sangat

tinggi, menghasilkan suatu message digest yang berbeda.

SHA-1 menghasilkan suatu message digest dengan panjang 160 bit; nomor di

dalam nama-nama empat algoritma yang lainnya menandakan panjangnya bit dari

digest yang mereka hasilkan. SHA-1 digunakan secara luas di dalam beberapa

aplikasi-aplikasi keamanan dan protokol-protokol, termasuk TLS dan SSL, PGP,

SSH, S/MIME, dan IPsec. SHA-1 dianggap sebagai pengganti lanjutan MD5,

algoritma yang telah populer sebelumnya.

Pseudocode untuk SHA-1 adalah sebagai berikut:

Note 1: All variables are

(40)

modulo 232 when calculating

Note 2: All constants in this

pseudo code are in big endian.

Within each word, the most

significant bit is stored in

the leftmost bit position

append the bit '1' to the message append k bits '0', where k is the minimum number

0 such that the resulting message length (in bits) is congruent to 448 (mod 512)

append length of message (before pre-processing), in bits, as 64-bit big-endian integer

Process the message in successive 512-bit chunks:

break message into 512-bit

chunks

(41)

break chunk into sixteen 32-bit big-endian words w[i], 0 i 15

Extend the sixteen 32-bit

words into eighty 32-bit words:

(42)

else if 20 i 39

Add this chunk's hash to

result so far:

(43)

h1 = h1 + b

h2 = h2 + c

h3 = h3 + d

h4 = h4 + e

Produce the final hash value

(big-endian):

digest = hash = h0 append h1

append h2 append h3 append h4

(44)

s0 := (a rightrotate 2)

xor (a rightrotate 13) xor (a

rightrotate 22)

maj := (a and b) xor (a

and c) xor (b and c)

t2 := s0 + maj

s1 := (e rightrotate 6)

xor (e rightrotate 11) xor (e

(45)

a := t1 + t2

Add this chunk's hash to

result so far:

Produce the final hash value

(big-endian):

digest = hash = h0 append h1

append h2 append h3 append h4

append h5 append h6 append h7

2.3.1.1 Kriptanalisis SHA-1

Pada tahun 2005, Rijmen dan Oswald mempublikasiknan serangan pada versi

(46)

menemukan kolisi dnegan kompleksitas sekitar 280 operasi. [1] Pada bulan Februari

2005, Xiayoun Wang,Yiqun Lisa Yin, dan Hongbo Yo mempublikasikan serangan

yang dapat menemukan collision pada versi penuh SHA- yang membutuhkan sekitar

269 operasi. Di dalam ilmu pengetahuan komputer, hash collision adalah suatu

situasi yang terjadiketika dua masukan yang berbeda pada suatu fungsi hash

menghasilkan keluaran yangidentik. Semua fungsi hash berpotensial untuk

menghasilkan hash collision, meskipundemikian fungsi hash yang dirancang

denganbaik dapat mengurangi intensitas terjadinya hash collision (bandingkan

dengan suatufungsi dengan kurang baik merancang) ataulebih sulit untuk ditemukan.

Bagaimanapun,banyak sekali fungsi hash, termasuk fungsi hash yang sering

digunakan dalam kriptografi, menghasilkan suatu keluaran ukuran yang ditetapkan

dari satu pesan yang panjang. Dalam desain yang demikian, akan selalu ada hash

collision, karena setiap fungsi hash yang diberi harus berpasangan dengan satu

bilangan tak hingga dari masukan-masukan yang mungkin.Contoh terjadinya hash

collision adalah sebagai berikut:f(x) = f(y) ; x != y (untuk nilai masukan yang berbeda

x dan y,fungsi hash f menghasilkan nilai keluaran yang sama).

2.3.2 Algoritma SHA-256

Untuk menghindari kriptanalisis yang disebabkan oleh Collision pada SHA-1, maka

dikembangkan algoritma-algoritma selanjutnya. Algoritma SHA generasi selanjutnya

(47)

algoritma SHA-2 yaitu SHA-256. Algoritma SHA-256 dapat digunakan untuk

menghitung nilai message digest dari sebuah pesan, dimana pesan tersebut memiliki

panjang maksimum 264 bit. Algoritma ini menggunakan sebuah message schedule

yang terdiri dari 64 elemen 32-bit word, delapan buah variabel 32-bit, dan variable

penyimpanan nilai hash 8 buah word 32-bit. Hasil akhir dari algoritma SHA-256

adalah sebuah message digest sepanjang 256-bit. Preprocessing dilakukan dengan

menambahkan bit pengganjal, membagi-bagi pesan dalam block berukuran 512-bit,

dan terakhir menginisiasi nilai hash awal. Proses penambahan bit pengganjal adalah

sama dengan aturan penambahan bit pengganjal pada SHA-1. Dalam proses

komputasinya, SHA-256 menggunakan enam fungsi lojik, dimana setiap fungsi

beroperasi mengguankan tiba buah word 32-bit (x,y, dan z) dan keluarannya berupa

sebuah word 32-bit. Berikut ini adalah fungsi-fungsi SHA-256:

Gambar 2.4 Fungsi-Fungsi SHA-256

Nilai hash awal pada algoritma SHA-256

(48)

h0 := 0xc1059ed8

h1 := 0x367cd507

h2 := 0x3070dd17

h3 := 0xf70e5939

h4 := 0xffc00b31

h5 := 0x68581511

h6 := 0x64f98fa7

h7 := 0xbefa4fa4

Dan konstanta dalam SHA-256 adalah sebagai berikut (64 buah):

(49)

Berikut ini adalah pseudo-code dari algoritma SHA-256.

Note 1: All variables are

unsigned 32 bits and wrap

modulo 232 when calculating

Note 2: All constants in this

pseudo code are in big endian

Initialize variables

(first 32 bits of the

fractional parts of the square

roots of the first 8 primes

(50)

Initialize table of round constants

(first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311):

(51)

0x4d2c6dfc, 0x53380d13,

append the bit '1' to the message append k bits '0', where k is the minimum number

>= 0 such that the resulting message length (in bits) is congruent to 448 (mod 512)

append length of message (before pre-processing), in bits, as 64-bit big-endian

(52)

Process the message in successive 512-bit chunks:

break message into 512-bit

chunks

for each chunk

break chunk into sixteen 32-bit big-endian words

w[0..15]

Extend the sixteen 32-bit words into sixty-four 32-bit words:

for i from 16 to 63

(53)

Hal ini dimungkinkan dengan membuat sebuah driver. Driver merupakan wadah

koleksi fungsi dan prosedur yang sistem operasi panggil untuk menjalankan berbagai

operasi yang berkaitan dengan perangkat. Dalam kasus ini (virtual disk driver)

perangkat keras yang dimaksud adalah hard disk.

Seperti yang dapat dilihat pada gambar, sistem operasi memiliki komponen user

mode dan kernel mode. User mode driver dan aplikasi yang termasuk dalam user

mode tidak memiliki akses langsung terhadap perangkat keras dan memori.

Komponen ini harus memanggil Application Programming Interface atau API dari

setiap kali mengakses perangkat keras dan memori. Isolasi semacam itu memberikan

perlindungan sehingga kerusakan yang ditimbulkan pada komponen user mode lebih

mudah untuk ditanggulangi dibandingkan dengan pada komponen kernel mode.

Komponen kernel mode mampu melakukan operasi dan mengakses struktur

sistem yang terlarang untuk komponen user mode, misalnya operasi yang

menyangkut Input/Output (I/O), konfigurasi sistem, Plug and Play, pengaturan

(54)
(55)

41 BAB III

ANALISIS DAN PERANCANGAN

3.1 Analisis

Fungsionalitas utama dari perangkat lunak tugas akhir ini adalah membuat file

volume sesuai masukan pengguna dan melakukan mount atau unmount virtual disk

yang terenkripsi dari file volume tersebut. Pada saat membuat file volume, pengguna

memberikan masukan seperti kapasitas yang nantinya akan menjadi kapasitas virtual

disk dan password untuk memunculkan virtual disk tersebut.

3.1.1 Analisis Masalah

Analisis masalah perangkat lunak yang akan dibangun adalah sebagai berikut:

1. Bagaimana membuat file volume yang dapat direpresentasikan sebagai virtual

disk pada sistem operasi Windows.

2. Bagaimana menyelipkan proses enkripsi/dekripsi pada virtual disk driver saat

melakukan unmount/mount virtual disk.

3.1.2 Analisis Kebutuhan

Analisis kebutuhan perangkat lunak ini adalah sebagai berikut:

1. Mampu membuat file volume yang tidak terbaca bila tidak dilakukan proses

(56)

2. Mampu menampilkan virtual disk setelah dilakukan mount pada file volume

tertentu dengan password yang tepat.

3. Mampu menjalankan segala operasi pembuatan, modifikasi dan penghapusan

file pada virtual disk seperti layaknya operasi yang terjadi pada physical disk

lainnya.

4. Mampu menutup virtual disk (virtual disk tidak tampak kembali) setelah

dilakukan unmount dan isi dari file volume tetap tidak terbaca.

3.1.3 Tujuan Pengembangan

Perangkat lunak ini dikembangkan dengan tujuan memberikan keamanan data

pada media penyimpanan hard disk dengan cara menciptakan virtual disk yang

otomatis terenkripsi. Dengan demikian, pengguna dapat meletakkan data yang ingin

dienkripsi dalam virtual disk tersebut. Virtual disk hanya akan muncul bila

password yang diberikan pengguna tepat, selebihnya data yang ada dalam virtual

disk tersimpan dalam bentuk file yang tidak terbaca.

3.1.4 Batasan Rancangan Sistem

Batasan rancangan sistem dalam pengembangan perangkat lunak ini adalah

sebagai berikut:

1. Perangkat lunak menciptakan virtual disk dengan kapasitas terbesar sama

(57)

3.1.5 Diagram Konteks

Diagram konteks adalah diagram yang terdiri dari suatu proses dan

menggambarkan ruang lingkup suatu sistem. Diagram konteks merupakan level

tertinggi dari DFD yang menggambarkan seluruh input ke sistem atau output dari

sistem. Diagram konteks berisi gambaran umum (secara garis besar) sistem yang

akan dibuat.

(58)

3.1.6 DFD

DFD Level 1

(59)

DFD Level 2

Gambar 3.3 DFD Level 2

Perangkat lunak dalam tugas akhir ini memiliki beberapa proses utama yakni

(60)

modifikasi terhadap virtual disk, melakukan enkripsi dan dekripsi. Untuk lebih

jelasnya, proses yang terjadi dalam perangkat lunak tugas akhir ini adalah sebagai

berikut:

1. Membuat file volume.

Proses ini adalah proses yang wajib dilakukan oleh pengguna. Proses ini

memerlukan masukan berupa kapasitas virtual disk yang diinginkan dan password

untuk membuka virtual disk tersebut serta lokasi tempat file volume disimpan. Besar

file volume yang dibuat akan sama dengan kapasitas virtual disk. File volume ini

tidak dapat dibaca isinya.

2. Melakukan mount

Proses ini hanya dapat dilakukan bila sudah terdapat file volume. Masukan untuk

proses ini adalah file volume yang ingin dibuka dan password untuk membuka file

volume tersebut. Apabila proses ini berjalan lancar, sebuah virtual disk akan muncul.

Fungsi virtual disk ini tidak berbeda dengan physical disk lain.

3. Melakukan unmount

Proses ini dilakukan untuk menutup virtual disk yang sedang dibuka supaya data

yang ada di dalamnya tidak dapat dibaca orang lain.

(61)

Proses ini meliputi penanganan setiap perubahan isi virtual disk selama

dimunculkan. Disini virtual disk yang dibuat bisa dijadikan 2 pilihan. Yaitu mounting

biasa dan mounting sebagai read only yang mana bila dalam keadaan ini virtual disk

hanya bisa untuk dibaca isinya dan tidak bisa ditulis kedalamnya. Virtual disk ini juga

mempunyai system properties yang mana akan melihat sistem apa yang dia jalankan,

besar volumenya dll.

5. Melakukan enkripsi

Proses ini melibatkan algoritma SHA untuk mengenkripsi data yang akan

disimpan hard disk, tepatnya data yang tercatat pada lokasi virtual disk.

Salah satu fungsi yang digunakan disini adalah SHA256 Dalam proses komputasinya,

SHA-256 menggunakan enam fungsi lojik, dimana

setiap fungsi beroperasi mengguankan tiga buah word 32-bit (x,y, dan z) dan

keluarannya berupa sebuah word 32-bit.

6. Melakukan dekripsi

Proses ini dipanggil bersamaan dengan proses melakukan mount. Data yang

terenkripsi dalam hard disk didekripsi terlebih dahulu sebelum ditampilkan bersama

(62)

3.2 Perancangan

Bagian ini mencakup perincian modul yang telah teridentifikasi pada tahap

analisis. Perincian yang dimaksud mencakup tanggung jawab proses yang dimiliki

oleh setiap modul termasuk pseudo code fungsi/prosedur utama yang berkaitan

dengan proses tersebut.

3.2.1 Perancangan Menu Interaksi

Di dalam aplikasi diperlukan menu agar semua fungsi dari aplikasi tersebut

dapat diakses dengan cepat oleh pengguna. Berikut tampilan menu.

Gambar 3.4 Tampilan Menu Utama

Setelah masuk ke menu utama, berikut pilihan menu lain yang bisa

(63)

• Create.. Menu ini akan menampilkan proses dimana user meletakkan

image dari suatu Virtual Disk sesuai keinginan. Dan juga bisa mengatur

berapa space yang digunakan untuk virtual disk tersebut.

Gambar 3.5 Menu Create

User memilih tempat dimana file suatu volume akan diletakkan dengan

(64)

Gambar 3.6 Menu Pop Up

Setelah meletakkan file image dan mengatur besarnya volume virtual disk,

maka terdapat suatu form untuk mengatur password yang akan diberikan.

(65)

Dalam form ini user dapat memilih chiper apa yang akan dipakai, lalu terdapat

checkbox yang berisi multiplekeys, apabila user mencentang maka user harus

memasukkan password sebanyak 8 buah untuk mengenkripsi data tersebut.

Setelah selesai menuliskan password maka kita diminta untuk confirm

password dengan mengetikkan sesuai dengan password pertama diinputkan.

Gambar 3.8 Form Retype Password

Setelah menekan OK maka akan muncul notifikasi untuk memformat virtual

(66)

Gambar 3.9 Form Format Baru

Tekan Yes dan virtual disk sudah terformat dan dapat digunakan.

(67)

• Mount.. Proses ini berfungsi untuk membaca file image menjadi suatu

partisi baru. User memilih file yang mana telah dienkripsi sebagai berikut.

Cancel File name

Save as type Open

Open

Gambar 3.11 menu Mount

Setelah memilih maka user akan diminta untuk menuliskan password yang

benar untuk membuka virtual disk tersebut, bila password yang diberikan benar maka

(68)

Gambar 3.12 Menu Entri Password

User juga bisa memilih akan dimount dimanakah dengan menekan bar mount

as drive..

Gambar 3.13 Message Berhasil

(69)

Gambar 3. 14 Menu Utama

Bila tidak terdefinisi atau password yang dimasukkan salah maka akan keluar

warning seperti berikut.

Ok Windows Explorer

M:\ is not accessible

The volume does not contain a recognized file system.

Please make sure that all required file system drivers are loaded and that the volume is not corrupted.

(70)

• Dismount Menghilangkan/menutup virtual disk yang telah di mount.

Gambar 3.16 menu Dismount

• Dismount All Menutup semua virtual disk dalam list apabila ada banyak

virtual disk yang terbuka.

(71)

Pada bagian sub bar View terdapat 2 kategori :

• Properties Proses ini bertujuan untuk melihat letak alamat dari suatu

virtual disk tersebut beserta tipenya.

(72)

57

4.1 Implementasi

4.1.1 Lingkungan Implementasi

Spesifikasi perangkat keras yang digunakan selama pengerjaan tugas akhir adalah

sebagai berikut:

1. Prosesor Intel Core2Duo E8200 2,7 GHz

2. RAM 2 Mb

3. Hard Disk 160 GB

4. Perangkat keluaran berupa monitor

5. Perangkat masukan berupa papan kunci dan tetikus

Adapun perangkat lunak yang digunakan:

1. Sistem operasi Microsoft Windows XP Service Pack 2

2. Boerland Delphi 7

(73)

4.1.2 Batasan

Batasan yang didefinisikan untuk implementasi disk encryption ini adalah disk

encryption system ini tidak memberikan perlindungan keamanan terhadap keberadaan

file volume. Segala bentuk modifikasi, termasuk penghapusan file volume maupun

pemindahan lokasi file volume, tidak ditangani.

4.2 Pengujian

4.2.1 Tujuan Pengujian

Beberapa hal yang menjadi tujuan pelaksanaan pengujian terhadap implementasi disk

encryption:

1. Memeriksa keberhasilan fungsi mount, unmount virtual disk serta

keberhasilan melakukan modifikasi terhadap isi virtual disk.

2. Memastikan file volume pada disk encryption system tidak dapat dibaca di

luar virtual disk.

4.2.2 Skenario Pengujian dan Kriteria Keberhasilan

Skenario pengujian yang dilakukan terbagi menjadi dua bagian, sesuai dengan poin

(74)

Tabel 4.1 Skenario Pengujian dan Kriteria Keberhasilan

Nomor Skenario Pengujian

1 Melakukan Mount menggunakan password yang tepat

2 Melakukan Mount menggunakan password yang salah

3 Melakukan edit terhadap file yang terdapat pada virtual disk,

me-unmount lalu me-mount lagi untuk mengecek apakah proses edit

berhasil dilakukan

4 Melakukan Mount pada disk drive dengan mode Read Only

5 Melakukan Unmount

6 Memeriksa apakah file volume pada disk encryption system tidak

dapat dibaca diluar virtual disk

4.2.3 Hasil Pengujian

Berikut merupakan hasil pengujian implementasi disk encryption:

Tabel 4.2 Hasil Pengujian

No Skenario Pengujian Hasil yang Didapat

(75)

Key) Hasil : Sebuah virtual disk terbentuk

Hasil : Sebuah virtual Disk akan terbentuk

3 Melakukan Mount

terdapat pada virtual

disk, me-unmount

lalu me-mount lagi

untuk mengecek

Pengujian ini dilakukan dengan memasukkan

beberapa file ke dalam virtual disk, mencoba

melakukan modifikasi (terutama pada file teks),

melakukan cut-copy-paste,dan perlakuan lain

yang bisa ditangani disk drive pada umumnya.

(76)

apakah proses edit

berhasil dilakukan

fungsionalitas seperti layaknya disk drive lain.

6 Melakukan Mount

pada disk drive

dengan mode Read

Only

Pengujian ini dilakukan dengan memount file

menjadi virtual disk dengan mode read only

bernilai TRUE. Lalu mencoba apakah bisa

mengkopi suatu file dari luar virtual disk lalu

dipastekan di dalam virtual disk tersebut.

Hasil : virtual disk akan menolak semua fungsi

write karena “dia” di mount hanya untuk dibaca

saja.

dibaca diluar virtual

disk

Pengujian dilakukan untuk memastikan apakah

file yang merupakan volume dari virtual disk

bisa dibuka selain dari software ini.

Hasil : file tidak akan bisa dibuka dengan

(77)

Gambar-gambar berikut menunjukkan beberapa hasil pengujian yang dilakukan

terhadap perangkat lunak tugas akhir.

Gambar 4.1 menunjukkan virtual disk (drive E:) yang berhasil dibuat dari file volume

“tes” menggunakan password yang benar.

(78)

Gambar 4.1 Virtual Disk Terbentuk

(79)
(80)

Gambar 4.3 Virtual disk mounted

(81)

Gambar 4.4 Salah Password

(82)
(83)
(84)

File yang terdapat di dalamnya juga dapat dibaca dan dirubah seperti layaknya hard disk biasa.

Gambar 4.7 Read/Write mode

(85)

Gambar 4.8 Mount as Readonly

(86)

Gambar 4.9 Drive Tidak Bisa Write dikarenakan Virtual Disk Hanya

Untuk Dibaca

(87)

Gambar 4.10 Melakukan Unmount

Maka pada menu explorer di windows virtual disk ini akan hilang.

Proses ini tidak bisa menutup virtual disk apabila salah satu file didalamnya masuh diakses. Akan muncul peringatan seperti ini.

Gambar 4.11 Drive Tidak Bisa di Unmount

Solusinya dengan menutup semua file yang masih diakses yang terdapat di dalam virtual disk tersebut.

(88)

Gambar 4.12 Membuka file volume.

Pengujian membuka file volume dengan MS Word.

(89)

74

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Kesimpulan yang didapat selama pengerjaan tugas akhir ini:

1. Virtual disk pada sistem operasi Windows dapat dibuat dengan berbagai cara,

di antaranya memanfaatkan sebagian memori dan merepresentasikannya

sebagai virtual disk. Namun, cara tersebut tidak memberikan hasil yang

memuaskan karena isi virtual disk akan hilang sejalan dengan penutupan

virtual disk. Cara yang lebih aman adalah menggunakan file sebagai kontainer

isi virtual disk. File tersebut, yang diberi nama file volume, akan

direpresentasikan sebagai virtual disk.

2. Proses representasi file volume sebagai virtual disk membutuhkan sebuah

driver. Driver merupakan wadah koleksi fungsi dan prosedur yang sistem

operasi panggil untuk menjalankan berbagai operasi yang berkaitan dengan

perangkat keras, dalam hal ini perangkat keras yang dimaksud adalah hard

disk.

3. Proses enkripsi pada virtual disk diikutsertakan pada penanganan proses baca

(90)

5. SHA adalah Secure Hash Algoritma. Jenis-jenis SHA yaitu SHA-0, SHA-1,

dan SHA-2. Untuk SHA-2 menggunakan algoritma yang identik dengan

ringkasan ukuran variabel yang terkenal sebagai 224, 256,

SHA-384, dan SHA-512.

5.2 Saran

Untuk pengembangan lebih lanjut, saran-saran yang dapat diberikan pada tugas

akhir ini adalah:

1. Membuat antar muka yang lebih mendukung aspek interaksi dengan pengguna.

Untuk itu, perlu dieksplorasi lebih lanjut mengenai pembangunan modul driver

dengan memanfaatkan kakas seperti Visual Studio .Net.

2. Menambahkan faktor keamanan, terutama menyangkut keberadaan file

volume. Selain itu, jenis algoritma enkripsi yang digunakan dapat

ditambahkan dengan cipher blok yang lain, misalnya DES (Data Encryption

Standard), Blowfish, Gost, Safer, LOKI, FEAL, RC2, RC5, Serpent, dan

(91)

76

DAFTAR PUSTAKA

[BAK00] Baker, Art and Jerry Lozano. (2000). The Windows 2000 Device Driver

Book, A Guide for Programmers, Second Edition. Prentice Hall PTR.

[MUN04] Munir, Rinaldi. (2004). Bahan Kuliah IF5054 Kriptografi. Departemen

Teknik Informatika, Institut Teknologi Bandung.

[REF04] Reflex Magnetic Ltd. (2004). Entire Hard Disk Encryption vs Virtual Hard

(92)

Sex : Male

Height : 184 Cm

Weight : 79 KG

Religion : Moeslem

Marital Status : Unmarried

Nationality : Indonesia

E-mail : gerrycakep@gmail.com

Cellular Phone : 085720502028 / 02292500428

EDUCATIONAL BACKGROUND

1994 – 2000 : SDN Rangkah 7 Surabaya

2000 – 2003 : SMPN 1 Surabaya

2003 – 2006 : SMAN 6 Surabaya

2006 – in progress : Indonesian Computer of University Bandung

( Informatics Engineering.)

WORK EXPERIENCE

Flyering Rintintin Movie at Blitzmegaplex, Paris Van Java Bandung

Sales Promotion Boy at PMI & Sampoerna ( Program A Mild

Menthol )

Usher Grand Opening d’Groove

Supervisi LFAM ( Liga Futsal Anak Marimas ) at Cirebon 2010

Gambar

Gambar  2.2 User A
Gambar  2.3 User B
Tabel 2.1 Perbandingan SHA family
Gambar  2.5 Konstanta SHA
+7

Referensi

Dokumen terkait

Penulis tertarik membuat suatu software yang berupa aplikasi sistem keamanan Windows menggunakan flash disk dengan Visual Basic... 1.2

Berdasarkan masalah tersebut dengan membuat aplikasi virtual tour yang dikembangkan menggunakan first person controller diharapkan dapat memberikan informasi mengenai

Pengguna aplikasi ini adalah pengguna handphone itu sendiri dimana pengguna handphone bisa melakukan proses-proses seperti membuat direktori baru, mengubah nama direktori atau

Proses pengamanan data tidak hanya mengubah ekstensi file sehingga file tidak dapat dibuka, namun aplikasi pengaman data melakukan enkripsi pada bit data pada

Keuntungan lain dari VHD encryption adalah banyak pengguna dapat membuat sendiri virtual drive mereka pada satu komputer yang sama, sepanjang kapasitas hard

Aplikasi ini dapat mengelabui Sniffing dikarenakan memiliki Fake Server yang dimana sudah membuat fungsi ghost sebagai pelindung dari serangan dan Man In The Middle Attack

Proses pengamanan data tidak hanya mengubah ekstensi file sehingga file tidak dapat dibuka, namun aplikasi pengaman data melakukan enkripsi pada bit data pada

Pada penelitian ini dalam proses enkripsi data peneliti berfokus untuk melakukan enkripsi data customer e-commerce pada saat melakukan registrasi akun aplikasi, dimana fokus peneliti