Rancang Bangun Aristektur Library Sistem Autentikasi One Time Password Menggunakan Prosedur Challenge Response.

(1)

RANCANG BANGUN ARSITEKTUR

LIBRARY

SISTEM AUTENTIKASI ONE TIME PASSWORD

MENGGUNAKAN PROSEDUR

CHALLENGE-RESPONSE

TUGAS AKHIR

Oleh :

YUDISTIRA ARYA SAPOETRA

0534010051

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI - FTI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN “

JAWA TIMUR


(2)

Nama : Yudistira Arya Sapoetra

NPM : 0534010051

Judul : Rancang Bangun Aristektur Library Sistem Autentikasi One Time Password Menggunakan Prosedur Challenge Response

Dosen Pembimbing 1 : Nur Cahyo W., S.Kom, M.Kom Dosen Pembimbing 2 : Achmad Junaidi, S.Kom

ABSTRAKSI

Dewasa ini dalam berbagai bidang semakin sering ditemui penggunaan komputer yang terhubung pada jaringan. Informasi adalah aset yang paling berharga dan rahasia, berbagai cara dilakukan untuk mempertahankan aset itu dari tangan yang tidak bertanggung jawab. Selalu ada seseorang yang diberi kepercayaan penuh untuk bertanggung jawab menjaga utuhnya data dan informasi.

Bagaimana memberikan keamanan pada sebuah sistem, dari serangan dan usaha penetrasi dari luar maupun dari dalam jaringan komputer itu, yang sekarang masih banyak digunakan adalah sistem ber-password. Sistem password statis apabila sering digunakan berkali-kali maka ID login dan password akan rentan sekali terhadap bentuk serangan kedalam sistem komputer.

Untuk menghindari pencurian password dan pemakaian sistem secara ilegal, akan bijaksana bila jaringan kita dilengkapi sistem password sekali pakai. Sistem otentikasi One Time Password (OTP) adalah sistem yang menggunakan password yang berbeda disetiap user akan masuk kedalam sebuah sistem. Dari situlah diharapkan OTP dapat menjadi solusi dalam sebuah sistem keamanan jaringan. Tugas akhir ini mengimplementasikan salah satu metode sistem keamanan yang bisa digunakan sebagai solusi perlindungan komputer.

Setelah dilakukan analisis dan uji coba, maka didapat kesimpulan bahwa fungsi – fungsi yang digunakan sebagai komponen arsitektur library dapat berjalan dengan baik, dan sudah memenuhi prosedur Challenge-Response.


(3)

KATA PENGATAR

Puji dan syukur kami panjatkan ke hadirat Allah SWT atas berkat rahmat dan karunia-Nya, sehingga dengan segala keterbatasan waktu, tenaga dan pikiran yang dimiliki penyusun, akhirnya penyusun dapat menyelesaikan Tugas Akhir yang berjudul ”Rancang Bangun Sistem Arsitektur Library Sistem Autentikasi One Time Password Menggunakan Prosedur Challenge Response” tepat waktu.

Tugas Akhir dengan beban 4 SKS ini disusun guna diajukan sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada jurusan Teknik Informatika, Fakultas Teknologi Industri, UPN ”VETERAN” Jawa Timur.

Melalui Tugas Akhir ini penyusun merasa mendapatkan kesempatan emas untuk memperdalam ilmu pengetahuan yang diperoleh selama di bangku perkuliahan, terutama berkenaan tentang penerapan jaringan komputer. Namun, penyusun menyadari bahwa Tugas Akhir ini masih jauh dari sempurna. Oleh karena itu penyusun sangat mengharapkan saran dan kritik dari para pembaca untuk pengembangan aplikasi lebih lanjut.

Surabaya, Juni 2010


(4)

UCAPAN TERIMA KASIH

Penyusun menyadari bahwasanya dalam menyelesaikan Tugas Akhir ini telah mendapat banyak bantuan dan dukungan dari berbagai pihak, untuk itu pada kesempatan yang berharga ini, penyusun mengucapkan terima kasih kepada :

1. Bapak Ir. Sutiyono, MT selaku dekan Fakultas Teknologi Industri

2. Bapak Basuki Rahmat, S.Si, MT selaku ketua jurusan Teknik Informatika 3. Bapak Nur Cahyo Wibowo, S.Kom, M.Kom selaku Dosen Pembimbing I

dan Bapak Achmad Junaidi, S.Kom selaku Dosen Pembimbing II yang telah banyak meluangkan waktu dan pikiran untuk memberikan arahan dan ilmu yang berguna kepada penyusun untuk segera menyelesaikan Tugas Akhir ini.

4. Bapak Basuki Rahmat, S.Si, MT, Bapak Made Kamisutara, S.Kom, M.Kom, dan Bapak Doddy Ridwandono, S.Kom selaku penguji Skripsi yang telah banyak memberikan masukan serta membuka wawasan baru. 5. Ibunda Ir. Rini Soekmawati dan Ayahanda Ir. Agoes Wirjosapoetra terima

kasih telah memberikan semangat, nasihat, ilmu, dan dukungan dalam bentuk apapun serta tiada henti mendoakan penyusun supaya Tugas Akhir ini segera terselesaikan dan menjadi orang yang berhasil, sholeh, serta berguna untuk bangsa dan negara.

6. Budhe Endang terima kasih buat do’anya, Pakdhe Koesno terima kasih buat nasihatnya, Mas Dian, Dhana, Doni siap kita maen DOTA lagi, he he he.

7. Pak Pri dan Ibu Sri (calon mertua) yang selalu memberikan semangat kepada penyusun untuk segera menyelesaikan Tugas Akhir.

8. My Lovin’ Purna Fitri Nurliana, Amd(Keb) si Tembem yang selalu memberikan do’a, dan memberi semangat pantang menyerah, terima kasih udah setia dan sabar menunggu penyusun dalam menyelesaikan Tugas Akhir ini.


(5)

10. Sahabat-sahabat penyusun, Wahyu Syaifullah, S.Kom (thanks ilmu - ilmunya), Gandos, Cakman, Sindu, Prast (kita Wisudha bareng), Rendy n the gang, dan semuanya yang tidak bisa penulis sebutkan satu-per-satu.


(6)

DAFTAR ISI

ABSTRAK ... i

KATA PENGANTAR ... ii

UCAPAN TERIMA KASIH ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... x

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Batasan Masalah ... 2

1.4 Tujuan Penelitian ... 3

1.5 Manfaat Penelitian ... 3

1.6 Metodologi Penulisan ... 3

1.7 Sistematika Penulisan ... 5

BAB II TINJAUAN PUSTAKA ... 7

2.1 Autentikasi ... 7

2.2 One Time Password ... 9

2.3 Challenge – Response ... 11

2.4 Pengenalan Jenis Jaringan ... 14

2.5 Topologi Jaringan ... 17


(7)

2.8 Keamanan Password ... 25

2.9 Jenis – Jenis Serangan Terhadap Keamanan Jaringan ... 26

2.10 Enkripsi Dengan Algoritma XXTEA ... 28

2.11 Library System.Net ... 32

2.12 Library System.Management ... 34

2.13 System.Data ... 38

BAB III ANALISIS DAN PERANCANGAN ... 40

3.1 Analisis Permasalahan ... 40

3.2 Perancangan Sistem ... 41

3.3 System Flow ... 41

3.4 Struktur Database ... 44

3.5 Desain Input ... 45

3.6 Use Case Diagram ... 46

3.7 Activity Diagram (Get Password) ... 47

3.8 Activity Diagram (Login Desktop) ... 48

BAB IV IMPLEMENTASI SISTEM ... 49

4.1 Lingkungan Implementasi ... 49

4.2 Implementasi Program dan Tampilan Antar Muka ... 49

4.2.1 Form Utama ... 50

4.2.2 Implementasi Otentikasi ... 51

4.2.3 Implementasi Membaca IP ... 52

4.2.4 Implementasi Membaca MAC Address ... 53


(8)

4.2.6 Implementasi Koneksi Database My SQL ... 54

4.2.7 Form Remote Desktop ... 55

BAB V UJI COBA DAN EVALUASI ... 58

5.1 Tujuan Pengujian ... 58

5.2 Lingkungan Uji Coba Sistem ... 58

5.3 Skenario Pembuatan Program Menggunakan Arsitektur Library yang Telah Dibangun ... 59

5.4 Hasil Perancangan ... 60

5.5 Skenario Pertama Merancang Aplikasi ... 61

5.6 Skenario Kedua Include File Library “otp.dll” ... 62

5.7 Skenario Ketiga dan Keempat Include File Library “dlle.dll” dan Menyimpan Program ... 63

5.8 Skenario Pengujian Program dan Kriteria Keberhasilan ... 65

5.9 Hasil Pengujian ... 66

5.10 Hasil Pengujian Skenario 1 ... 69

5.11 Hasil Pengujian Skenario 2 ... 70

5.12 Hasil Pengujian Skenario 3 ... 71

5.13 Hasil Pengujian Skenario 4 ... 72

5.14 Hasil Pengujian Skenario 5 ... 73

5.15 Hasil Pengujian Skenario 6 ... 73

5.16 Hasil Perubahan Yang Terjadi Pada Tabel State ... 75

5.17 Hasil Pengujian Skenario 7 ... 75


(9)

5.19 Hasil Uji Coba Koneksi (Remote Desktop) ... 77

BAB VI PENUTUP ... 80

6.1 Kesimpulan ... 80

6.2 Saran ... 81


(10)

DAFTAR GAMBAR

Gambar 2.1 Topologi Bus ... 18

Gambar 2.2 Topologi Ring ... 19

Gambar 2.3 Topologi Star ... 20

Gambar 2.4 Topologi Pohon ... 20

Gambar 2.5 Topologi Mesh ... 21

Gambar 2.6 Enkripsi dan Dekripsi Sederhana ... 28

Gambar 3.1 System Flow proses get password ... 42

Gambar 3.2 System Flow proses Login ... 43

Gambar 3.3 Rancangan Tampilan Antar Muka ... 45

Gambar 3.4 Use Case Diagram ... 46

Gambar 3.5 Activity Diagram Get Password ... 47

Gambar 3.6 Activity Diagram Login Desktop ... 48

Gambar 4.1 Form Utama ... 50

Gambar 4.2 System Properties ... 56

Gambar 4.3 Form Remote Desktop ... 56

Gambar 4.4 Form Remote Desktop ... 57

Gambar 5.1. Desain Antarmuka ... 62

Gambar 5.2. Include File Library otp.dll ... 63

Gambar 5.3. Include File Library dlle.dll ... 64

Gambar 5.4. Build Project ... 65

Gambar 5.5. Hasil Pengujian Skenario 1 ... 69

Gambar 5.6. Hasil Pengujian Skenario 2 ... 70

Gambar 5.7. Hasil Pengujian Skenario 3 ... 71

Gambar 5.8. Hasil Pengujian Skenario 4 ... 72

Gambar 5.9. Hasil Pengujian Skenario 5 ... 73

Gambar 5.10. Hasil Pengujian Skenario 6 ... 74

Gambar 5.11. Form Remote Desktop ... 74

Gambar 5.12. Hasil Perubahan Table State ... 75

Gambar 5.13. Form Remote Desktop ... 75

Gambar 5.14. Gagal Remote Desktop ... 76

Gambar 5.15. Form Log On to Windows ... 76

Gambar 5.16. Sukses Meremote ... 77

Gambar 5.17. Uji coba Request Password Hingga Muncul Form Log On to Wondows ... 77

Gambar 5.18. Uji coba Log On to Windows ... 78


(11)

DAFTAR TABEL

Tabel 2.1 Waktu Enkripsi dengan XXTEA. ... 31

Tabel 3.1 Tabel IP ... 44

Tabel 3.2 Tabel State ... 45

Tabel 5.1 Perancangan dengan menggunakan Arsitektur Library ... 59

Tabel 5.2 Hasil Perancangan ... 60

Tabel 5.4. Hasil Uji Coba Arsitektur Library ... 65


(12)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Penggunaan komputer yang terhubung ke jaringan dewasa ini semakin sering ditemui di berbagai jenis bidang maupun badan usaha. Informasi penting dan rahasia yang tersimpan pada server menjadi aset yang paling berharga pada sebuah badan usaha. Sistem keamanan komputer yang terhubung ke jaringan akan menjadi hal yang mendapat perhatian paling utama. Untuk mengamankan dokumen berupa informasi, berbagai cara dilakukan demi mempertahankan aset itu dari tangan yang tidak bertanggung jawab. Misalnya disetiap bagian dalam sebuah badan usaha selalu ada seseorang yang diberi kepercayaan penuh untuk bertanggung jawab menjaga utuhnya data dan informasi yang terdapat dalam sebuah komputer, dari serangan dan usaha penetrasi dari luar maupun dari dalam jaringan komputer itu. Karena jaringan memiliki lingkup yang cukup luas, maka dari itulah sistem autentikasi dibutuhkan untuk memilih mana user yang berhak untuk mengakses ke sebuah sistem tersebut, dan mana yang tidak berhak.

Terdapat beberapa metode untuk melakukan autentikasi, metode yang paling umum dan paling sering digunakan adalah menggunakan password statis. Tetapi apabila password statis digunakan berulang kali untuk masuk ke sebuah sistem, maka ID login dan password tersebut akan rentan terhadap sniffer


(13)

seseorang mencoba masuk ke dalam suatu koneksi jaringan untuk mendapatkan informasi.

Yang sekarang masih banyak digunakan adalah sistem ber-password. Untuk menghindari pencurian password dan pemakaian sistem secara ilegal, akan bijaksana bila jaringan kita dilengkapi sistem password sekali pakai. Sistem otentikasi One Time Password (OTP) adalah sistem yang menggunakan password yang berbeda disetiap user akan masuk kedalam sebuah sistem. Dari situlah diharapkan OTP dapat menjadi solusi dalam sebuah sistem keamanan jaringan.

1.2 Rumusan Masalah

Berdasarkan latar belakang di atas, tulisan ini akan membahas sistem autentikasi dengan metode One Time Password:

a. Bagaimana merancang dan membangun arsitektur pada dynamic library yakni berisi fungsi-fungsi otentikasi one time password. b. Bagaimana merancang dan membangun proses otentifikasi melibatkan

prosedur challenge/response

1.3 Batasan Masalah

Adapun Batasan permasalahan pada dynamic library yang dibangun ini adalah :

a. Digunakan pada lingkup local area network

b. Komputer yang berhak mengakses telah di masukkan di dalam database


(14)

c. Hanya dapat melindungi system dari serangan pasif d. Maksimum karakter key 6 karakter

e. Hanya dapat berjalan pada Sistem Operasi Windows XP

1.4 Tujuan Penelitian

Tujuan dari penelitian ini antara lain adalah :

a. Membangun komponen dynamic library one time password b. Menerapkan Metode Challenge Response pada sistem autentikasi

1.5 Manfaat Penelitian

Manfaat dari penelitian ini diharapkan dapat bermanfaat bagi:

a. Memudahkan programmer dalam membangun system login dengan tingkat keamanan yang baik.

b. Dengan adanya komponen ini, maka programer dapat menerapkan atau menggunakan sesuai dengan kebutuhan.

1.6 Metodologi Penulisan

Tugas Akhir dan penelitian lapangan ini diselesaikan dengan menggunakan urutan metodologi sebagai berikut :

a. Study literature

Study literature dilaksanakan dengan cara mengumpulkan dan mempelajari segala macam informasi yang berhubungan dengan Sistem Keamanan pada jaringan, dan segala hal yang berhubungan dengan model pemrogramannya.


(15)

b. Desain Sistem

Pada tahap ini dilaksanakan perancangan Sistem Perangkat Lunak yang akan dibuat berdasarkan hasil study literature yang ada. Perancangan komponen library ini meliputi desain arsitektur, desain struktur data, desain aliran informasi, desain algoritma dan pemrograman. Perencanaan penggunaan bahasa pemrograman

c. Analisis dan Perancangan Sistem

Dalam tahap ini, dilakukan analisis dan perancangan untuk mengolah informasi dan data yang telah didapat

d. Uji Coba dan Evaluasi

Pada tahap ini dilakukan uji coba program untuk mencari masalah yang mungkin timbul, mengevaluasi jalannya program, dan memperbaiki masalah yang mungkin muncul dalam program

e. Analisis Hasil Uji Coba

Pada tahap ini dihasilkan analisis dari serangkaian uji coba dan beberapa revisi, dan diharapkan perangkat lunak tersebut menghasilkan output yang diharapkan.

f. Pembuatan laporan Tugas Akhir

Pada tahap terakhir ini adalah proses penyusunan buku sebagai dokumentasi dari pelaksanaan Tugas Akhir. Buku laporan ini dibuat untuk memaparkan aplikasi yang telah dibangun agar memudahkan orang lain yang ingin mengembangkan aplikasi ini


(16)

1.7 Sistematika Penulisan

Dalam laporan tugas akhir ini, pembahasan disajikan dalam enam bab dengan sitematika pembahasan sebagai berikut:

BAB I PENDAHULUAN

Bab ini berisikan tentang latar belakang masalah, perumusan masalah, batasan masalah, tujuan, manfaat, dan sistematika penulisan pembuatan tugas akhir.

BAB II TINJAUAN PUSTAKA

Pada bab ini menjelaskan tentang teori-teori pemecahan masalah yang berhubungan dan digunakan untuk mendukung dalam pembuatan tugas akhir.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini dijelaskan tentang tata cara metode perancangan sistem yang digunakan untuk mengolah sumber informasi dan data yang dibutuhkan.

BAB IV IMPLEMENTASI

Pada bab ini menjelaskan implementasi dari program yang telah dibuat meliputi lingkungan implementasi, implementasi proses, implementasi antarmuka aplikasi.

BAB V UJI COBA DAN EVALUASI

Bab ini berisi pelaksanaan uji coba dan evaluasi dari pelaksanaan uji coba dari program yang dibuat.


(17)

BAB VI PENUTUP

Bab ini berisi kesimpulan dan saran untuk pengembangan aplikasi lebih lanjut dalam upaya memperbaiki kelemahan pada aplikasi guna untuk mendapatkan hasil kinerja aplikasi yang lebih baik. DAFTAR PUSTAKA

Pada bagian ini akan dipaparkan tentang sumber-sumber literatur yang digunakan dalam pembutan laporan tugas akhir ini.


(18)

BAB II

TINJAUAN PUSTAKA

Dalam bab ini diuraikan dasar-dasar teori yang mendukung pelaksanaan Tugas Akhir ini, yaitu tentang Sistem Autentikasi, One Time Password, Metode Challange - response dan uji coba analisa.

2.1 Autentikasi

Password diasosiasikan dengan sebuah entitas, adapun pengertiannya adalah sebuah string yang biasanya terdiri dari 6-10 karakter yang mudah diingat oleh pemiliknya dan rahasia bersama dengan sistem, sebagai bukti keabsahan dari identitas seseorang. Tetapi orang kurang menyadari akan pentingnya suatu password yang aman agar password yang dimiliki tidak mudah diketahui. Oleh karena itu, dibutuhkan suatu mekanisme skema autentikasi yang kuat untuk melindungi password yang dimiliki pengguna.

Authentication (berasal dari bahasa Yunani yakni "authentes"= pengarang), yaitu suatu tindakan untuk menetapkan sesuatu atau seseorang adalah asli. Membuktikan kesalian suatu objek adalah dengan menetapkan tempat asalnya, sedangkan untuk membuktikan keaslian seseorang adalah dengan identitas mereka. Mengapa perlu autentisasi? Internet adalah jaringan publik, dan terbuka bagi setiap orang diseluruh penjuru dunia untuk menggabungkan diri. Begitu besarnya jaringan ini, telah menimbulkan keuntungan serta kerugian. Sering terdengar tentang bobolnya sistem komputer keuangan bank, informasi rahasia


(19)

Pentagon atau basis data transkrip akademik mahasiswa. Kalimat tersebut cukup untuk mewakili pernyataan bahwa harus lebih meningkatkan kewaspadaan terhadap orang-orang ‘jahat’ dan senantiasa berusaha memperkecil kemungkinan bagi mereka untuk dapat melakukan niat jahatnya. Memang mudah untuk meniadakan kemungkinan penyusupan (akses ilegal) dari luar dengan menutup semua kanal trafik servis inbound ke jaringan internal. Namun ini berarti telah mereduksi keuntungan utama adanya jaringan komunikasi dan pemakaian sumber daya bersama (sharing resources). Jadi, konsekuensi alami dengan jaringan cukup besar, adalah menerima dan berusaha untuk memperkecil resiko ini, bukan meniadakannya.

Pencurian hubungan (hijacking attack) biasanya terjadi pada komputer yang terhubung dengan jaringan, walaupun untuk beberapa kasus langka, bisa terjadi pada sembarang jalur yang dilaluinya. Sehingga akan bijaksana bila seorang NA mempertimbangkan pemberian kepercayaan akses, hanya dari komputer yang paling tidak mempunyai sistem security sama atau mungkin lebih ‘kuat’, dibandingkan dengan jaringan dibawah tanggung-jawabnya. Usaha memperkecil peluang musibah ini, juga dapat dilakukan dengan mengatur packet-filter dengan baik atau menggunakan server modifikasi. Misalnya, kita dapat menyediakan fasilitas anonymous-FTP bagi sembarang komputer dimanapun, tapi authenticated-FTP hanya diberikan pada host-host yang tercantum pada daftar ‘kepercayaan’. Hijacking ditengah jalur dapat dihindari dengan penggunaan enkripsi antar jaringan (end to end encryption).


(20)

2.2 One Time Password

Sistem OTP hanya melindungi sistem terhadap serangan pasif (passive attack) tetapi tidak dapat mengatasi serangan aktif (active attacks). Sistem ini terdiri dari 2 entitas yaitu generator dan server. Secara umum, generator akan menerima masukan berupa passphrase rahasia user dan challenge dari server, kemudian menghasilkan OTP. Sedangkan server bertugas mengirimkan challenge yang sesuai dengan user, memverifikasi OTP yang diterima , dan menyimpan OTP terbaru.

Keamanan dari sistem OTP berdasarkan pada tidak bisa dibalikkannya (non-invertability) fungsi enkripsi. Generator dan server harus menggunakan algoritma yang sama untuk dapat beroperasi. Sistem OTP memfolding output dari enkripsi menjadi 64 bit yang merupakan panjang dari OTP.

Proses yang dilakukan pada generator OTP dapat dibagi menjadi 3 yaitu proses awal dimana semua input dikombinasikan, proses penghitungan dimana fungsi enkripsi diterapkan, dan proses output dimana OTP 64 bit dikonversi ke bentuk yang mudah dibaca manusia.

Proses-proses yang dilakukan pada generator OTP : 4. Langkah Awal (Initial Step)

Pada prinsipnya, passphrase rahasia user panjangnya sembarang. Untuk mengurangi resiko dari teknik-teknik penyrangan seperti dictionary attack, string passphrase paling sedikit panjangnya harus 10 karakter. Passphrase rahasia biasanya merupakan informasi tekstual yang dibuat oleh user. Pada langkah ini passphrase disambung dengan


(21)

seed yang dikirimkan dari server dalam bentuk clear text. Hasil penyambungan ini akan dilewatkan fungsi enkripsi.

5. Langkah penghitungan (Computation Step)

Serangkaian OTP dihasilkan dengan menerapkan fungsi enkripsi beberapa kali pada output langkah awal (S). OTP pertama yang digunakan dihasilkan dari melewatkan S pada fungsi enkripsi sebanyak N kali. OTP berikutnya yang digunakan dihasilkan dari melewatkan S pada fungsi enkripsi sebanyak N-1 kali. Pengintai yang memonitor pengiriman data OTP tidak dapat menghitung password berikutnya yang dibutuhkan karena hal itu berarti menginvers fungsi enkripsi. 6. Langkah Output

OTP yang dihasilkan dari langkah no.2 panjangnya 64 bit. Memasukkan angka 64 bit adalah suatu proses yang sulit dan rentan terhadap kesalahan. Beberapa geenerator mengirimkan password ini melalui input stream dan beberapa generator yang lain membuat sistem “cut and paste”. Hasil OTP dikonversi menjdi 6 kata pendek (1-4) yang diambil dari ISO-646 IVS. Setiap kata dipilih dari kamus yang terdiri dari 2048 kata, dengan satu kata panjangnya 11 bit.

Entitas server memiliki basis data yang berisi OTP dari autentikasi yang berhasil atau OTP pertama untuk inisialisasi. Untuk mengautentikasi user, server mendekode OTP yang diterima dari generator ke dalam kunci 64 bit dan menerapkan enkripsi. Jika hasil operasi ini sesuai dengan OTP terakhir yang


(22)

tersimpan dalam basis data, proses autentikasi berhasil dan OTP yang diterima disimpan untuk digunakan pada proses berikutnya.

2.3 Challenge – Response

Mekanisme Challenge Response dapat digunakan untuk menjaga kemananan password. Ide dari algoritma challenge response identification adalah pemilik pesan (claimant) dan penerima pesan (verifier) membuktikan keabsahan identitasnya masing-masing. Langkah ini dilakukan dengan mengadakan respon bagi suatu challenge tertentu. Challenge umumnya suatu karakter yang dipilih secara random dan rahasia. Karakter random yang digunakan berfungsi untuk menyediakan suatu keunikan dan jaminan untuk menghindari adanya serangan attacker .

Sistem yang dirancang adalah sejenis intranet messages yang berbasis client-server Server berfungsi sebagai penyimpan basis data yang berisi data mengenai identitas pengguna dan pesan yang dipertukarkan diantara pengguna. Client adalah tempat pengguna meminta layanan fasilitas sistem. Fasilitas yang disediakan adalah fasilitas pengiriman pesan dan pengecekan pesan yang masuk untuk pengguna tersebut. Dalam sistem algoritma challenge response digunakan adalah algoritma challenge response dengan menggunakan kunci simetrik dan fungsi MAC sebagi autentikator. Tujuan yang ingin dicapai adalah entitas yang melakukan login ke sistem dijamin keabsahannya.


(23)

Proses otentifikasi melibatkan prosedur challenge response yang terjadi pada saat dimulainya sebuah otentifikasi. Ketika seorang pemakai ingin meminta hak akses kepada sistem maka sistem akan mengirimkan challenge kepada pemakai kemudian pemakai mengirimkan kode yang sesuai. Sistem akan membandingkan kode yang dikirimkan oleh pemakai dengan kode yang ada didalam database. Jika ada kecocokan maka sistem akan memberikan hak akses sesuai dengan hak yang dimiliki oleh pengguna yang bersangkutan. Contohnya, pada saat seorang administrator Web ingin mengakses IIS (Internet Information Service) di Windows NT maka proses challenge/response terjadi agar sistem dapat memberikan hak akses yang sesuai. Contoh lain dalam sistem UNIX yang menggunakan one-time password, seorang pemakai yang ingin melakukan koneksi terminal (telnet) ke dalam sistem harus memasukkan password sebelum sistem memberikan hak akses terhadap terminal. Proses challenge/response yang terjadi disini yaitu pemakai menghubungi server melalui port telnet (21), kemudian server membentuk hash serta challenge key. Pemakai kemudian membalas challenge key tersebut dengan one-time-password yang sesuai. Selanjutnya response/jawaban dari pemakai akan dibandingkan dengan database yang ada didalam sistem, sebelum diputuskan untuk memberikan akses atau tidak.

(Sumber: ali-report.doc, akses 30 september 2009)

Subyek autentisasi adalah pembuktian. Yang dibuktikan meliputi tiga kategori, yaitu: sesuatu pada diri kita (something you are SYA), sesuatu yang kita ketahui (something you know SYK), dan sesuatu yang kita punyai (something you have SYH). SYA berkaitan erat dengan bidang biometrik, seperti pemeriksaan


(24)

sidik-jari, pemeriksaan retina mata, analisis suara dll. SYK identik dengan password. Sedangkan bagi SYH umumnya digunakan kartu identitas seperti

smartcard.

Pertama, menggunakan sistem perangko-waktu ter-enkripsi. Dengan cara ini, password baru dikirimkan setelah terlebih dulu dimodifikasi berdasarkan waktu saat itu. Kedua, menggunakan sistem challenge-response (CR), dimana password yang kita berikan tergantung challenge dari server. Kasarnya kita menyiapkan suatu daftar jawaban (response) berbeda bagi ‘pertanyaan’ (challenge) yang berbeda oleh server. Karena tentu sulit sekali untuk menghafal sekian puluh atau sekian ratus password, akan lebih mudah jika yang dihafal adalah aturan untuk mengubah challenge yang diberikan menjadi response (jadi tidak random). Misalnya aturan kita adalah: "kapitalkan huruf kelima dan hapus huruf keempat", maka password yang kita berikan adalah MxyPtlk1W2 untuk challenge sistem Mxyzptlk1W2.

Kalau pada sistem CR, harus diketahui ‘aturan‘-nya, maka pada sistem perangko-waktu, kita mesti mengingat password bagi pemberian perangko-waktu ini. Apakah cara seperti ini tidak mempersulit? Beruntung sekali mekanisme tersebut umumnya ditangani oleh suatu perangkat, baik perangkat lunak ataupun dengan perangkat keras. Kerberos, perangkat lunak autentisasi yang dibuat di MIT dan mengadopsi sistem perangko-waktu, mewajibkan modifikasi client bagi sinkronisasi waktu dengan server serta pemberian password perangko-waktu. Modifikasi program client mengingatkan kita pada proxy dan memang, kurang lebih seperti itu. Sistem CR biasanya diterapkan sekaligus dengan dukungan


(25)

perangkat keras. Contoh sistem CR operasional adalah perangkat SNK-004 card

(Digital Pathways) yang dapat diterapkan bersama-sama dengan paket TIS-FWTK (Trusted Information System - internet FireWall ToolKit). TIS-FWTK menawarkan solusi password sekali pakai (sistem CR) yang ‘menyenangkan’: S/Key. S/Key menerapkan prosedur algoritma hash iteratif terhadap suatu seed, sedemikian sistem dapat memvalidasi response-client instant tapi tidak mempunyai kemampuan untuk memprediksi response-client berikutnya. Sehingga bila terjadi penyusupan pada sistem, tidak ada ‘sesuatu’ yang bisa dicuri (biasanya daftar password). Algoritma hash mempunyai dua sifat utama. Pertama, masukan tidak bisa diregenerasikan dari keluaran (non-reversibel). Kedua, terdapat dua kemungkinan masukan bagi sebuah keluaran yang sama.

2.4 Pengenalan Jenis Jaringan

Satu cara untuk mengkategorikan berbagai jenis desain jaringan komputer adalah dengan lingkup atau skala. Untuk alasan historis, industri jaringan mengacu pada hampir setiap jenis desain sebagai semacam area network. Contoh umum jenis jaringan area adalah:

 LAN - Local Area Network

 WLAN - Wireless Local Area Network  WAN - Wide Area Network

 MAN - Metropolitan Area Network

 SAN - Storage Area Network, System Area Network, Server Area Network, atau kadang-kadang Kecil Area Network


(26)

 BISA - Kampus Area Network, Controller Area Network, atau terkadang Cluster Area Network

 PAN - Personal Area Network  DAN - Desk Area Network

LAN dan WAN adalah jaringan kategori asli daerah, sementara yang lain telah muncul secara bertahap selama bertahun-tahun evolusi teknologi.

Perlu diketahui bahwa jenis jaringan adalah konsep yang terpisah dari topologi jaringan seperti bus, cincin dan bintang.

LAN - Local Area Network

Sebuah LAN menghubungkan perangkat jaringan melalui jarak yang relatif pendek. Sebuah bangunan jaringan kantor, sekolah, atau rumah biasanya berisi LAN tunggal, meskipun kadang-kadang satu bangunan akan berisi beberapa LAN kecil (mungkin satu per kamar), dan kadang-kadang LAN akan span sekelompok bangunan di dekatnya. Dalam TCP / IPnetworking, LAN sering tetapi tidak selalu diimplementasikan sebagai single IP subnet .

Selain beroperasi di ruang terbatas, LAN juga biasanya dimiliki, dikuasai, dan dikelola oleh satu orang atau organisasi. Mereka juga cenderung menggunakan teknologi konektivitas tertentu, terutama Ethernet dan Token Ring . WAN - Wide Area Network

Sebagai istilah menyiratkan, sebuah WAN mencakup jarak fisik yang besar. Internet adalah WAN terbesar, mencakup Bumi. Sebuah WAN adalah tersebar secara geografis - kumpulan LAN. Sebuah alat jaringan yang disebut router menghubungkan LAN ke WAN. Dalam IP networking, router memelihara kedua alamat alamat LAN dan WAN.


(27)

Sebuah WAN berbeda dari LAN dalam beberapa cara penting. Kebanyakan WAN (seperti Internet) yang tidak dimiliki oleh organisasi satu melainkan ada dibawah kepemilikan kolektif atau didistribusikan dan manajemen. WAN cenderung menggunakan teknologi seperti ATM , Frame Relay dan X.25 untuk konektivitas selama jarak lagi.

LAN, WAN dan Jaringan Home

Biasanya mempekerjakan satu Residences LAN dan WAN terhubung ke Internet melaluiInternet Service Provider (ISP) menggunakan modem broadband . ISP menyediakan WANalamat IP ke modem, dan semua komputer di jaringan asal menggunakan LAN (disebutswasta) alamat IP. Semua komputer di LAN rumah dapat berkomunikasi langsung satu sama lain, tetapi harus melalui sebuah gateway sentral, biasanya sebuah router broadband , untuk mencapai ISP. Jenis Jaringan Lainnya

Sementara LAN dan WAN yang jauh yang jenis jaringan yang paling populer disebutkan, juga dapat sering melihat referensi ke orang lain ini:

 Wireless Local Area Network - LAN berbasis pada WiFi teknologi jaringan nirkabel

 Metropolitan Area Network - sebuah jaringan mencakup area fisik lebih besar dari LAN tetapi lebih kecil dari WAN, seperti kota. Sebuah MAN biasanya dimiliki suatu dioperasikan oleh entitas tunggal seperti badan pemerintah atau perusahaan besar.

 Campus Area Network - sebuah jaringan mencakup beberapa LAN tetapi lebih kecil dari MAN, seperti di universitas atau kampus bisnis lokal.


(28)

 Storage Area Network - menghubungkan server ke perangkat penyimpanan data melalui teknologi seperti Fibre Channel .

 Sistem Area Network - link-kinerja komputer tinggi dengan kecepatan tinggi koneksi dalam sebuah konfigurasi cluster. Juga dikenal sebagai cluster Area Network.

2.5 Topologi Jaringan

Dalam jaringan komputer, topologi mengacu pada tata letak perangkat yang terhubung.

Topologi Network Design

Pikirkan topologi sebagai bentuk virtual jaringan atau struktur. Bentuk ini tidak selalu sesuai dengan tata letak fisik sebenarnya dari perangkat di jaringan. Sebagai contoh, komputer di rumah LAN dapat diatur dalam sebuah lingkaran di ruang keluarga, tapi itu akan sangat tidak mungkin untuk menemukan suatu topologi cincin di sana.

Topologi Jaringan dikategorikan ke dalam tipe dasar berikut:  bis

 cincin  bintang  pohon  mesh

jaringan yang lebih kompleks dapat dibangun sebagai hibrida dari dua atau lebih dari topologi dasar di atas.


(29)

Topologi bus

Bisnis jaringan (jangan bingung dengan bus sistem komputer) menggunakan tulang punggung umum untuk menghubungkan semua perangkat.Sebuah kabel tunggal, tulang punggung berfungsi sebagai media komunikasi bersama yang perangkat melampirkan atau memasuki dengan konektor antarmuka. Perangkat ingin untuk berkomunikasi dengan perangkat lain di jaringan agar mengirim pesan broadcast ke kabel bahwa semua perangkat lain melihat, tetapi hanya penerima pesan yang dituju benar-benar menerima dan proses pesan.

Topologi bus Ethernet relatif mudah untuk menginstal dan tidak memerlukan banyak kabel dibandingkan dengan alternatif. 10Base-2 ("thinnet") dan 10Base-5 ("ThickNet") keduanya pilihan pemasangan kabel Ethernet populer bertahun-tahun yang lalu untuk topologi bus.Namun, jaringan bus bekerja paling baik dengan sejumlah perangkat. Jika lebih dari satu komputer beberapa lusin ditambahkan ke jaringan bus, masalah kinerja mungkin akan terjadi. Selain itu, jika kabel backbone gagal, seluruh jaringan menjadi tidak dapat digunakan secara efektif.


(30)

Topologi Ring

Dalam jaringan cincin, setiap perangkat memiliki tepat dua tetangga untuk tujuan komunikasi. Semua pesan perjalanan melalui cincin dalam arah yang sama (baik "searah jarum jam" atau "berlawanan"). Sebuah kegagalan dalam kabel atau istirahat perangkat loop dan dapat mengambil seluruh jaringan.

Untuk menerapkan jaringan cincin, satu biasanya menggunakan FDDI, SONET , atau Token Ring teknologi. Topologi Ring ditemukan di beberapa gedung perkantoran atau kampus sekolah.

Gambar 2.2 Topologi Ring

Topologi bintang

Banyak rumah jaringan menggunakan topologi star. Sebuah jaringan bintang fitur koneksi titik pusat yang disebut hub "" yang mungkin menjadi hub , switch atau router . Perangkat biasanya tersambung ke hub dengan unshielded Twisted Pair (UTP) Ethernet.

Dibandingkan dengan topologi bus, jaringan bintang umumnya membutuhkan kabel lebih, tetapi kegagalan dalam kabel jaringan bintang hanya


(31)

akan mengambil akses jaringan satu komputer dan bukan keseluruhan LAN. (Jika hub gagal, namun juga seluruh jaringan gagal.)

Gambar 2.3 Topologi Star Topologi Pohon

Topologi Pohon Topologi mengintegrasikan beberapa bintang bersama-sama ke bus. Dalam bentuk yang paling sederhana, hanya perangkat hub terhubung secara langsung ke bus pohon, dan fungsi setiap hub sebagai "root" pohon perangkat. Bus ini / pendekatan hybrid bintang mendukung upgrade jaringan masa depan jauh lebih baik daripada bus (terbatas jumlah perangkat karena lalu lintas menyiarkannya menghasilkan) atau bintang (dibatasi oleh jumlah titik koneksi hub) saja.


(32)

Topologi Mesh

Topologi Mesh melibatkan konsep rute. Tidak seperti masing-masing topologi sebelumnya, pesan yang dikirim pada jaringan mesh dapat mengambil salah satu path yang mungkin beberapa dari sumber ke tujuan. (Ingat bahwa bahkan di cincin, walaupun dua jalur kabel ada, pesan hanya dapat melakukan perjalanan dalam satu arah Beberapa.) WAN , terutama internet, menggunakan mesh routing.

Sebuah jaringan mesh dimana setiap perangkat akan menyambung ke setiap lainnya disebut mesh penuh. Seperti ditunjukkan dalam ilustrasi di bawah ini, jaringan mesh parsial juga ada di mana beberapa perangkat terhubung hanya secara tidak langsung kepada orang lain.

Gambar 2.5 Topologi Mesh

Ikhtisar

Topologi tetap menjadi bagian penting dari teori desain jaringan. mungkin dapat membangun rumah atau jaringan bisnis komputer kecil tanpa memahami


(33)

perbedaan antara desain bus dan desain bintang, tapi menjadi akrab dengan topologi standar memberikan pemahaman yang lebih baik tentang konsep jaringan penting seperti hub, siaran, dan rute.

2.6 Jaringan Lokal Area

Jaringan wilayah lokal (bahasa Inggris: local area network biasa disingkat LAN) adalah jaringan komputer yang jaringannya hanya mencakup wilayah kecil; seperti jaringan komputerkampus, gedung, kantor, dalam rumah, sekolah atau yang lebih kecil. Saat ini, kebanyakan LAN berbasis pada teknologi IEEE 802.3 Ethernet menggunakan perangkat switch, yang mempunyai kecepatan transfer data 10, 100, atau 1000 Mbit/s. Selain teknologi Ethernet, saat ini teknologi 802.11b (atau biasa disebut Wi-fi) juga sering digunakan untuk membentuk LAN. Tempat-tempat yang menyediakan koneksi LAN dengan teknologi Wi-fi biasa disebut hotspot.

Pada sebuah LAN, setiap node atau komputer mempunyai daya komputasi sendiri, berbeda dengan konsep dump terminal. Setiap komputer juga dapat mengakses sumber daya yang ada di LAN sesuai dengan hak akses yang telah diatur. Sumber daya tersebut dapat berupa data atau perangkat seperti printer. Pada LAN, seorang pengguna juga dapat berkomunikasi dengan pengguna yang lain dengan menggunakan aplikasi yang sesuai.

Berbeda dengan Jaringan Area Luas atau Wide Area Network (WAN), maka LAN mempunyai karakteristik sebagai berikut :


(34)

1. Mempunyai pesat data yang lebih tinggi 2. Meliputi wilayah geografi yang lebih sempit

3. Tidak membutuhkan jalur telekomunikasi yang disewa dari operator telekomunikasi

Biasanya salah satu komputer di antara jaringan komputer itu akan digunakan menjadi server yang mengatur semua sistem di dalam jaringan tersebut. Teknologi jaringan lokal area utama adalah:

 Ethernet  Token Ring  FDDI

Ethernet adalah yang paling sering digunakan teknologi LAN. Sejumlah perusahaan menggunakan teknologi Token Ring. FDDI kadang-kadang digunakan sebagai tulang punggung interkoneksi LAN Ethernet atau Token Ring LAN. Lain teknologi LAN, ARCNet , setelah diinstal paling umum teknologi LAN, masih digunakan dalam industri otomasi industri.

Biasanya, sebuah suite dari program aplikasi dapat disimpan di server LAN.Pengguna yang membutuhkan aplikasi yang sering dapat men-download sekali dan kemudian menjalankannya dari hard disk lokal mereka.Pengguna dapat memesan cetak dan layanan lainnya yang diperlukan melalui aplikasi dijalankan di server LAN. Seorang pengguna dapat berbagi file dengan orang lain di server LAN; membaca dan menulis akses dikelola oleh administrator LAN. Sebuah server LAN juga dapat digunakan sebagai Web server jika perlindungan yang


(35)

Dalam beberapa situasi, sebuah LAN nirkabel mungkin lebih ke LAN dengan kabel karena lebih murah untuk menginstal dan memelihara. Dan terbukti bahwa jaringan menggunakan kabel dapat mengurangi lost data pada saat perjalanan.

(Sumber : id.wikipedia.org/wiki/Local_area_network)

2.7 Remote Desktop

Remote Desktop adalah salah satu dari sekian banyak program yang difungsikan sebagai penyedia akses ke komputer lewat jaringan. Microsoft menyediakan program ini untuk me-manage komputer berbasis Microsoft Windows. Dengan program ini komputer dapat terhubung dengan komputer di kantor dari rumah. bisa mengakses program, file dan resource di jaringan LAN seolah User benar-benar berada di depan komputer kantor.

Agar proses Remote Desktop bisa berjalan, maka perlu mempersiapkan tiga hal sebagai berikut:

1. Komputer yang Akan di akses dari jarak jauh harus diinstall Windows XP Professional atau ke atas. Komputer ini juga harus berada dalam jangkauan jaringan network yang memperbolehkan akses koneksi dengan Remote Desktop.

2. Komputer yang akan digunakan sebagai sarana remote komputer harus berjalan di atas Windows 95 ke atas. Komputer ini juga harus memiliki Software Remote Desktop Connection Client.


(36)

3. Kedua komputer harus terhubung dengan salah satu dari jaringan jaringan LAN lokal.

Catatan:

- Jika kedua komputer tidak saling tehubung dengan VPN, maka perlu diketahui IP Address komputer Host serta Computer Name.

- Ingat, komputer Host atau komputer yang akan di remote harus memakai Windows XP Professional ke atas. Windows XP Home Edition belum mendukung komputer sebagai Host Remote Desktop.

(Sumber http://math.ipb.ac.id/index.php)

2.8 Keamanan Password

Salah satu feature keamanan yang penting yang digunakan saat ini adalah password. Penting untuk memiliki password yang aman dan tidak dapat diterka. Enkripsi sangat berguna, mungkin sangat perlu di saat ini. Terdapat berbagai metode enkripsi data, yang memiliki karateristiknya sendiri. Kebanyakan unicies utamanya menggunakan algoritma enkripsi satu arah (one-way), disebut DES (Data Encryption Standard) untuk mengenkripsi password. Password terenkripsi ini kemudian ketika login, apapun yang diketikkan dienkripsi dibandingkan dengan masukan dalam database yang menyimpan password. Jika cocok, pastilah passwordnya sama, dan akan dibolehkan mengakses. Meskipun DES merupakan algoritma enkripsi dua arah (dapat menkode dan mendekode pesan, dengan memberi kunci yang tepat), varian yang digunakan kebanyakan unicies adalah


(37)

satu arah. Artinya tidak mungkin membalik enkripsi untuk memperoleh password dari isi /etc/passwd (atau /etc/shadow).

Serangan brute force, seperti "Crack" atau "John the Ripper", sering dapat digunakan untuk menerka password meski password sudah cukup acak.

2.9 Jenis – Jenis Serangan Terhadap Keamanan Jaringan

National Security Agency (NSA) dalam dokuman Information Assurance Technical Framework (IATF) menggolongkan jenis-jenis ancaman pada sistem teknologi informasi. Jenis-jenis ancaman itu adalah :

 Serangan Pasif

Termasuk di dalamnya analisa trafik, memonitor komunikasi terbuka, memecah kode trafik yang dienkripsi, menangkan informasi untuk proses otentifikasi (misalnya password). Bagi hacker, menangkap secara pasif data-data di jaringan ini bertujuan mencari celah sebelum menyerang. Serangan pasif bisa memaparkan informasi atau data tanpa sepengetahuan pemiliknya. Contoh serangan pasif ini adalah terpaparnya informasi kartu kredit.

 Serangan Aktif

Tipe serangan ini berupaya membongkar sistem pengamanan, misalnya dengan memasukan kode-kode berbahaya (malicious code), mencuri atau memodifikasi informasi. Sasaran serangan aktif ini termasuk penyusupan ke jaringan backbone, eksploitasi informasi di tempat transit, penetrasi elektronik, dan menghadang ketika pengguna akan melakukan koneksi jarak


(38)

jauh. Serangan aktif ini selain mengakibatkan terpaparnya data, juga denial-of-service, atau modifikasi data.

 Packet Sniffing

Pada teknik ini hacker melakukan monitoring atau penangkapan terhadap paket data yang ditransmisikan dari computer client ke web server pada jaringan internet. Untuk mengatasi masalah ini perlu dilakukan enkripsi/penyandian paket data pada computer client sebelum dikirimkan melalui media internet ke web server.

 Crack dan John The Ripper

Program password cracking bekerja berdasarkan ide yang mudah. Mereka mencoba setiap kata yang ada di kamus, dan kemudian variasi dari kata-kata tersebut. Mereka mengenkripsi satu kata dan membandingkannya dengan password terenkripsi Jika cocok dicatat.

Terdapat sejumlah program ini...dua yang paling dikenal adalah "Crack" dan "John the Ripper" http://www.false.com/security/john/. Mereka akan mengambil banyak waktu pada cpu, tetapi user seharusnya dapat mengetahui jika penyerang dapat masuk dengan menggunakan mereka dengan terlebih dulu menjalankan mereka dan memberitahu pemakai dengan password lemah. Perhatikan bahwa penyerang harus menggunakan beberapa lubang lain untuk memperoleh file password.


(39)

2.10 Enkripsi Dengan Algoritma XXTEA

Kriptografi adalah suatu ilmu atau seni mengamankan pesan, dan dilakukan oleh cryptographer. Sedangkan cryptanalys adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang melakukannya disebut cryptanalys [9]. Ditinjau dari terminologinya, kata kriptografi berasal dari bahasa Yunani yaitu kryptos, ‘menyembunyikan’, dan graphein ‘menulis;, sehingga dapat didefinisikan sebagai ilmu yang mengubah informasi dari keadaan/bentuk normak (dapat dipahami) menjadi bentuk yang tidak dapat dipahami.

Algoritma Kriptografi selalu terdiri dari dua bagian, yaitu enkripsi dan dekripsi. Enkripsi (encryption) merupakan proses yangdilakukan untuk mengubah pesan yang tidak disanikan (plaintext atau cleartext) ke dalam bentuk yang tidak dapat dibaca (ciphertext) Sdangkan dekripsi (decryption) adalah proses kebalikannya. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Dalam suatu sistem dimana terdapat algoritma kriptografi, ditambah seluruh kemungkinan plaintext, ciphertext dan kunci-kuncinya disebut kriptosistem(cryptosystem atau cryptographic system). Secara sederhana proses kriptografi dapat digambarkan sebagai berikut:

Gambar 2.1 Enkripsi dan Dekripsi Sederhana

Plaintext

Enkripsi Dekripsi

Plaintext Ciphertext


(40)

Seiring dengan makin berkembangnya teknologi digital, maka kebutuhan akan keamanan data semakin besar, karena sekarang hampir semua kegiatan komunikasi dan transaksi dilakukan secara digital, sehingga makin besar juga kekhawatiran akan adanya data yang dicuri. TEA dan turunannya diklaim mempunyai tingkat keamanan yang tinggi jika dibandingkan dengan algoritma kriptografi sejenis. Keunggulan utama dari TEA adalah keringanan prosesnya, operasioperasi yang digunakan hanya berupa operasi bit biasa, tanpa substitusi, permutasi, ataupun operasi matrix.

TEA beroperasi dalam ukuran blok 64 bit dan panjang kunci 128 bit. TEA berbasiskan jaringan Feistel dan memiliki 32 putaran. Kunci K pertama-tama akan dibagi menjadi 4 kunci internal yaitu K[0..3] masing-masing panjangnya 32 bit. Setiap putaran TEA terdiri atas dua ronde Feistel (lihat gambar 1). Penjadwalan kunci TEA sangat sederhana, yaitu untuk ronde ganjil digunakan K[0] dan K[1], sedangkan untuk ronde genap digunakan K[2] dan K[3].

Wheeler dan Needham menciptakan XTEA pada tahun 1997 untuk menutupi kelemahan pada TEA. Sama seperti TEA, XTEA juga beroperasi dalam ukuran blok 64 bit dan panjang kunci 128 bit. Bentuk jaringan Feistel nya pun masih sama, yang membedakan adalah fungsi Feistel dan penjadwalan kunci yang digunakan. Pada XTEA, pada ronde ganjil digunakan K[sum & 3], sedangkan pada ronde genap digunakan K[sum >> 11 & 3]. Serangan terhadap XTEA, Beberapa kripanalisis atas XTEA sudah pernah dipublikasikan dan hampir semuanya adalah differential attack. Beberapa di antaranya:


(41)

– Moon et al (2002) mematahkan XTEA 14 ronde menggunakan impossible differential

attack, membutuhkan 262.5 chosen plaintext,

– Hong et al (2003) berhasil mematahkan XTEA 23-ronde menggunakan truncated differential attack, membutuhkan 220.55 chosen plaintext,

– Ko et al (2004) berhasil mematahkan XTEA 27-ronde menggunakan related-key differential attack, membutuhkan 220.5 chosen plaintext.

Sampai saat ini serangan terhadap XTEA masih efektif untuk XTEA yang rondenya dikurangi. XTEA yang paling umum digunakan adalah XTEA 32-ronde. Jadi, hingga saat ini XTEA masih dapat dianggap sebagai algoritma kriptografi yang aman asalkan ronde yang digunakan tidak kurang dari 32.

XXTEA merupakan turunan dari Block TEA sehingga memiliki beberapa perbedaan yang signifikan dengan TEA dan XTEA. XXTEA beroperasi dalam ukuran blok kelipatan 32 bit dan panjang kunci 128 bit. Karena XXTEA tidak memiliki batas ukuran blok, XXTEA dapat digunakan untuk mengenkripsi satu buah pesan utuh tanpa memerlukan mode operasi cipher. Meski XXTEA dapat mengenkripsi keseluruhan pesan atau file sekaligus, pada implementasinya XXTEA dapat dioperasikan dengan mode operasi untuk file-file yang berukuran sangat besar sehingga tidak bisa dibaca ke dalam memory sekaligus. Jumlah putaran XXTEA bergantung pada panjang blok. Rumus jumlah putaran p:

p = 6+52/n


(42)

Berbeda dengan TEA dan XTEA, terdapat dua loop di dalam proses enkripsi dan dekripsinya, loop luar sama seperti loop pada TEA dan XTEA dilakukan sebanyak putaran, sedangkan loop dalam melakukan iterasi per 32 bit blok (disebut segmen). Pada setiap iterasi tersebut dilakukan operasi terhadap segmen Xr yang melibatkan segmen sebelum Xr-1 dan sesudahnya Xr+1.

Berikut adalah waktu enkripsi beberapa file berukuran tertentu dengan XXTEA (mode ECB). Seperti terlihat pada.

Tabel 2.1 Waktu Enkripsi dengan XXTEA.

Besar File Lama Enkripsi 1 Mb 0,078 detik 10 Mb 0,578 detik 100 Mb 6,625 detik 1 Gb 112,343 detik

Berdasarkan tabel di atas dapat dilihat jelas satu keunggulan dari XXTEA yaitu kecepatannya. Waktu yang diperlukan bagi XXTEA untuk mengenkripsi dan dekripsi hampir 100 kali lipat lebih cepat daripada XTEA.

Serangan Terhadap XXTEA

Saarinen (1998) pernah mengeluarkan teknik Distinguisher untuk memecahkan XXTEA 6- ronde dengan memerlukan 280 chosen plaintext. Serangan ini tidak terlalu berbahaya karena belum bisa memecahkan XXTEA untuk jumlah ronde yang besar dan waktu yang dibutuhkan pun masih


(43)

eksponensial. Baru-baru ini, Elias Yarrkov (2008) mengirim tulisan ke sebuah milis di sci.crypt yang menjelaskan serangan chosen plaintext attack yang dia temukan. Menurut pengakuannya, serangan ini terbukti lebih cepat daripada brute force dan memerlukan 2110 chosen plaintext untuk memecahkan XXTEA 6-ronde. Berhubung serangan ini baru saja ditemukan, maka masih banyak potensi untuk mengembangkan dan mengoptimalkan serangan ini.

2.11 Library System.Net

Library ini dapat digunakan untuk membaca fungsi-fungsi yang akan digunakan untuk membaca alamat ip komputer client, memanggil ip host entry, dan system.net.dns. Sistem.net memberikan banyak tempat untuk sebuah nama untuk membuat program antarmuka yang sederhana menggunakan banyak aturan yang digunakan dalam jaringan. Class dari Webrequest dan webresponse merupakan penjabaran dari basis apa yang mereka sebut aturan yang dapat disesuaikan. Implementasi dari servis jaringan dapat memungkinkan user untuk membangun aplikasi yang menggunakan sumber-sumber dari internet tanpa perlu mengkhawatirkan tentang detail dan spesifik dari masing-masing protocol itu sendiri.

Read IP Program

//Program ini menampilkan bagaimana cara menggunakan class IPAddress //untuk mendapatkan IPAddress dan informasi terkait using System;

using System.Net;


(44)

using System.Text.RegularExpressions; Sistem.Net.DNS

Class Domain Name System adalah class yang statis yang mendapatkan informasi mengenai host yang lebih spesifik dari internet domain name system. Informasi host dari sebuah perhitungan DNS akan dikembalikan kecontoh dari keberadaan class IPHostEntry. Jika spesifikasi host lebih dari satu masukan didalam database DNS, IPHostEntry akan berisi lebih banyak alamat IP dan nama lain.

DNS

IPHostEntry hostInfo = Dns.GetHostByName("www.contoso.com"); DNS Permission

Informasi keamanan dideklarasikan oleh DnsPermissionAttribute disimpan dalam bentuk metadata dari atribut sasaran, yang mana membutuhkan class DNSPermissionAttribute. Sistem kemudian akan mengakses informasi tersebut didalam runut waktu tertentu. SecurityAction akan melewati apa yang telah ditentukan dan diijinkan dari sasaran DNS.

Atribut dari keamanan ini hanya digunakan untuk Declarative Security dan

Imperative Security menggunakan class DnsPermission yang sesuai.

Akses keamanan bisa menjadi bisa sangat tidak mudah ditembus, atau bahkan sangat mudah ditembus. Untuk mengatur properties “true” berarti tidak memberikan akses, atau “false” untuk tidak memberikan akses. Pengaturan properties tersebut diberi nama parameter.


(45)

[SerializableAttribute]

public sealed class DnsPermission : CodeAccessPermission, IUnrestrictedPermission

2.12 Library System.Management

Library ini dapat digunakan untuk membaca fungsi – fungsi yang berhubungan dengan manajemen sistem didalam windows, fungsi ini digunakan sebagai pembaca data fisik dari sebuah device yang biasa disebut MAC Address. Fungsi ini dapat membaca berbagai object collection, termasuk yang terdapat didalam windows system32.

Menyediakan akses untuk lebih banyak menyediakan manajemen informasi, dan peristiwa yang terjadi pada system alat dan instrument aplikasi ke dalam struktur WMI, aplikasi dan service bisa memperhitungkan untuk manajemen informasi yang diinginkan (seperti seberapa banyak sisa tempat yang bebas didalam tempat penyimpanan data, spesifikasi dari bagian2 CPU yang dipakai, database mana yang terkoneksi dengan aplikasi yang digunakan, dsb) menggunakan class yang diperoleh dari ManagementObjectSearcher dan ManagementQuery, atau menjabarkan menjadi manajement peristiwa yang bervariasi menggunakan class dari ManagementEvenWatcher. Data yang dapat di akses bisa dari komponen yang telah diatur maupun yang belum diatur didalam lingkup telah ditentukan


(46)

Untuk menggambarkan kembali koleksi dari management objek yang berbeda, yang didapatkan dari WMI. Koleksi objek-objek yang ada pada managementbaseobject berasal dari tipe-tipe yang ada pada managementobject dan mangementclass. Koleksi bisa mmerupakan hasil dari perhitungan WMI yang telah dieksekusi melalui ManagementObjectSearcher, atau bisa merupakan hasil penghitungan satu demi satu dari manajemen objek jenis tertentu diambil melalui ManagementClass mewakili dari tipe yang diwakilkan.

Get HostName

public static void DoGetHostAddresses(string hostname) {

IPAddress[] ips;

ips = Dns.GetHostAddresses(hostname);

Management Object Searcher

Menerima koleksi dari manejemen objek berdasarkan dari perhitungan yang digunakan. Class ini adalah satu atau lebih dari titik poin masuk yang digunakan untuk menerima manajemen informasi. Sebagai contoh itu dapat digunakan untuk memberitahu semua informasi dari diskdrive yang ada, network adapter , proses-proses, dan masih banyak lagi fungsi manajemen object yang ada didalam system, atau untuk perhitungan seluruh koneksi jaringan yang tersambung, servis yang di pause, dll. Ketika di gunakan, class ini akan mengambil input dari WMI, digambarkan pada object query …. . dan secara


(47)

otomatis Managementscope menggambarkan kembali sesuai dengan nama WMI yang digunakan

Untuk mengeksekusi perhitungan ini. Selain itu juga dapat mengakibatkan efek lanjutan lain yang sesuai dengan enumerationoptions. Ketika metode get pada object ini dijalankan ManagementObjectSearcher akan mengeksekusi perhitungan yang telah ditentukan dan mengembalikan koleksi dari manajemen object yang sesuai dengan manajemen objectcollections.

Get MacAddress

public static void ShowNetworkInterfaces() {

IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties(); NetworkInterface[] nics =

NetworkInterface.GetAllNetworkInterfaces();

Console.WriteLine("Interface information for {0}.{1} ", computerProperties.HostName,

computerProperties.DomainName);

if (nics == null || nics.Length < 1) {

Console.WriteLine(" No network interfaces found."); return;

}

Console.WriteLine(" Number of interfaces ... : {0}", nics.Length);

foreach (NetworkInterface adapter in nics) {

IPInterfaceProperties properties =

adapter.GetIPProperties(); Console.WriteLine(); Console.WriteLine(adapter.Description);

Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length, '='));

Console.WriteLine(" Interface type


(48)

Console.Write(" Physical address ... : ");

PhysicalAddress address = adapter.GetPhysicalAddress(); byte[] bytes = address.GetAddressBytes();

for(int i = 0; i< bytes.Length; i++) {

// Memperlihatkan alamat fisik dalam hexadesimal. Console.Write("{0}", bytes[i].ToString("X2"));

// Memasukkan nilai tiap-tiap byte, kecuali itu adalah akhir dari alamat

if (i != bytes.Length -1) { Console.Write("-"); } } Console.WriteLine(); } } Manajemen Class

Manajemen Class menggambarkan sebuah Common Information Model (CIM). Manajemen class adalah WMI class seperti Win32_LogicalDisk, yang mana juga bisa menggambarkan sebuah disk drive, dan Win32_process, juga bisa menggambarkan proses seperti Notepad.exe. Anggota dari class tersebut tersedia untuk mengakses data WMI menggunakan sebuah class WMI yang spesifik.

Intrumentation Name Class

Instrumentation name space menyediakan kebutuhan class untuk aplikasi yang membutuhkan class tersebut untuk mengatur dan membukakan informasi manajemen masing-masing serta kejadian yang ada melalui WMI, menuju ke


(49)

pengguna yang potensial. Pengguna seperti Microsoft Application Center or Microsoft Operations Manager mampu, kemudian mengatur aplikasi secara mudah dan memonitoring serta mengkonfigurasikan aplikasi tersebut yang tersedia untuk skrip administrator atau aplikasi lainnya, baik yang sudah diatur maupun yang belum diatur. perlengkapan dari aplikasi dapat dengan mudah menghasilkan menggunakan instrumentation class, dengan atribut buatan khusus di class yang ingin dibuka, atau menggunakan layanan BaseEvent dan dasar class Instance serta class pembantu instrumentation.

2.13 System.Data

Library tersebut berisi fungsi – fungsi yang digunakan dalam membaca perintah – perintah dalam database, seperti perintah koneksi database, pemanggilan tabel, mengisi, mengupdate, dan menghapus isi didalam tabel. Pemanggilan query,

System.Data memberikan tempat untuk mengakses class yang mewakili arsitektur ADO.NET. ADO.NET mampu membangun komponen yang efisien untuk mengatur data dari beberapa sumber. Pada contoh kasus yang terputus dari internet, ADO.NET menyediakan alat untuk meminta, mengupdate data didalam sistem yang bertingkat. Arsitektur ADO.NET juga mengimplementasikan aplikasi yang terdapat didalam client, seperti Windows Forms, atau halaman HTML yang terbuat dari ASP.Net.


(50)

Bagian utama pada arsitektur ADO.NET adalah pada class DataSet. Setiap DataSet dapat mengandung berbagai macam objek DataTable, dengan disetiap DataTable mengandung data dari sebuah sumber data seperti SQL Server. Setiap DataTable Juga mengandung DataColumn Collection, objek-objek dari DataColoumn itu menentukan skema dari tiap – tiap DataTabel. Properti DataType ditentukan dari tipe yang terdapat di DataColumn. Bagian dari memungkinkan untuk menjamin keamanan dan itegritas data. Bagian dari mampu membangun kolom-kolom yang terkalkulasi.

Jika DataTable ikut serta didalam hubungan dengan DataTable yang lain, hubungan itu terbuat oleh pembuatan DataRelation ke DataRelationCollection dari sebuah objek DataSet. Ketika salah satu hubungan itu diisi, sebuah UniqueConstrain dan Sebuah ForignKeyConstraint keduanya akan terbentuk secara otomatis, bergantung pada pengaturan parameter oleh si pembuat. UniqueConstraint menjamin bahwa nilai yang terkandung didalam kolom tersebut bersifat Unique. ForeignKeyConstraint menentukan tindakan apa yang harus terjadi pada baris atau kolim dimana nilai primary key itu berubah atau dihapus.


(51)

BAB III

ANALISIS DAN PERANCANGAN

Bab ini akan membahas tentang analisis dan perancangan sistem yang meliputi perancangan Use case diagram dan activity diagram yang ada pada Sistem otentikasi login one time password dengan Menggunakan metode

challenge-response. Pada Bab ini terdapat Arsitektur OTP yang menggambarkan struktur-struktur dari cara kerja metode challenge-response.

6.1 Analisis Permasalahan

Dewasa ini semakin banyak penggunaan komputer yang terhubung dengan jaringan. Apabila komputer sudah terhubung dengan jaringan, maka rentan sekali komputer – komputer tersebut di susupi oleh orang-orang yang tidak bertanggung jawab, entah hanya sekedar melihat – lihat hingga mencuri informasi penting yang terdapat di dalamnya.

Perangkat lunak yang akan dibuat kali ini merupakan suatu arsitektur atau komponen sebuah sistem yang dapat melengkapi sistem keamanan yang sudah ada dalam suatu lingkup jaringan komputer. Tapi terkadang tidak mengetahui siapa saja yang memiliki hak untuk mengakses pada suatu komputer yang ada. Walaupun untuk mencegah perilaku orang yang tidak bertanggung jawab itu dengan menggunakan Firewall, tidak dapat benar-benar mengetahui apakah orang yang mengakses tersebut merupakan orang yang sesunguhnya memiliki hak akses atau bukan. Melihat permasalahan ini para administrator jaringan komputer


(52)

merasa takut akan keamanan data atau informasi yang menjadi tanggung jawab sepenuhnya seorang administrator jaringan.

Sudah menjadi tugas utama dari seorang administrator jaringan komputer untuk dapat mengatasi masalah keamanan jaringan dari orang-orang yang tidak bertanggung jawab. Untuk itu diperlukan suatu sistem yang dapat memberikan suatu keamanan pada jaringan komputer dari waktu ke waktu. Di harapkan sistem otentikasi ini dapat memperkuat sistem keamanan jaringan.

6.2 Perancangan Sistem

Berdasarkan dari analisis permasalahan yang ada, tahap berikutnya dari siklus pengembangan sistem adalah perancangan sistem. Pada tahap ini terdapat aktifitas pendefinisian kebutuhan-kebutuhan fungsional dan persiapan untuk rancang bangun hingga implementasi dari sistem.

Perancangan sistem ini memberikan gambaran mengenai cara kerja dari sistem OTP secara umum, serta menjelaskan tentang kebutuhan pengguna (user). Perancangan sistem meliputi pembuatan system flow (flow chart), dan use case.

6.3 System Flow

Sistem flow adalah bagan yang menunjukkan arus pekerjaan secara menyeluruh dari suatu sistem dimana bagan ini menjelaskan urutan prosedur-prosedur yang ada dalam sistem dan biasanya dalam membuat sistem flow sebaiknya ditentukan pula fungsi-fungsi yang melaksanakan atau bertanggung jawab terhadap sub-sub sistem.


(53)

a. System Flow Get Password

System Flow proses mendapatkan password terlihat pada Gambar 3.1.

Gambar 3.1 System Flow proses get password

Password akan diberikan, apabila semua syarat terpenuhi, atau sesuai dengan yang ada didalam database. System flow diatas memberikan gambaran bagaimana password dihasilkan oleh system, setelah adanya permintaan dalam hal ini adalah remote desktop. Diawali dengan user meminta hak akses kepada system, lalu system mengecek ke absahan data dari user yang meminta hak akses, apabila data user sesuai dengan yang terdapat dalam database, maka system memberikan pesan bahwa user diijinkan, dan diberikan passwordnya, tetapi


(54)

apabila data tidak sesuai, maka user diberi pesan bahwa dirinya tidak memiliki hak akses.

b. System Flow Login

System Flow proses login terlihat pada Gambar 3.2.

Gambar 3.2 System Flow proses Login

Tahap ini akan ada apabila user mendapat ijin untuk meremote desktop, login akan sukses, apabila user berhasil melakukan remote desktop. Dari gambar diatas, dapat terlihat bahwa login berhasil dilakukan, dalam hal ini adalah berhasil


(55)

dalam me-remote desktop. Seseorang tidak akan sampai pada tahap ini apabila pada tahap mendapatkan password, system tersebut telah menolaknya.

6.4 Struktur Database

Berikut ini adalah rancangan tabel yang digunakan dalam aplikasi peramalan ini:

a. Tabel IP

Primary Key : IP

Fungsi : Untuk menyimpan data-data client Tabel 3.1 Tabel IP

IP, Mac_address sebagai primary key, berfungsi sebagai penyimpan keotentikan data user yang akan mengakses, selain itu diperkuat dengan jawaban (field Answer) yang akan berguna sebagai key dalam enkripsi password. Status berfungsi memberikan keterangan bahwa user mana saja yang berhak akses, juga user mana saja yang tidak berhak.


(56)

b. Tabel State

Primary Key : state_pas

Fungsi : untuk menyimpan enkripsi password Tabel 3.2 Tabel State

State_pas berfungsi sebagai field penyimpan password, yang akan digunakan untuk pengenkripsian berikutnya, agar hasil password setiap waktu akan berubah.

6.5 Desain Input

Pada tahap ini dilakukan perancangan tampilan antar muka untuk berinteraksi antara user dengan sistem.

Gambar 3.3 Rancangan Tampilan Antar Muka

ONE TIME PASSWORD

Key :


(57)

Dalam satu form, terdapat dua buah proses, yaitu proses untuk meminta hak akses, sekaligus meminta password kepada sistem dengan memasukkan key yang telah dimiliki oleh masing – masing user, proses ke dua adalah proses login sekaligus remote desktop, apabila user mendapatkan ijin, dengan memasukkan IP sebagai user ID, dan password yang didapatkan pada saat meminta ijin akses.

6.6 Use Case Diagram

Use Case diagram, menggambarkan bagaimana seseorang melakukan proses meminta hak akses kepada sistem, yaitu untuk mendapatkan password, setelah itu sistem meresponnya dengan memberikan ijin juga password yang bisa digunakan untuk meremote login, lalu proses login setelah dia menerima password yang diberikan oleh sistem. Seperti terlihat pada Gambar 3.4.

Gambar 3.4 Use Case Diagram

Client Login

Verifikasi OTP Pass. Generator


(58)

6.7 Activity Diagram (Get Password)

Gambar 3.5 Activity Diagram Get Password

Proses ini adalah proses yang harus dilakukan oleh user. Pada proses ini user diminta untuk melakukan input key, key digunakan sebagai data yang akan dibaca oleh sistem, untuk mengetahui keaslian dari user yang akan meminta password tersebut, sistem akan mengirimkan password, jika user


(59)

6.8 Activity Diagram (Login Desktop)

Gambar 3.6 Activity Diagram Login Desktop

Pada Proses ini user melakukan input username dari komputer yang akan dituju untuk diremote dan password, password yang akan di inputkan haruslah password yang telah diperoleh melalui proses otentikasi. Apabila user tidak memasukkan password dari proses tersebut, maka remote desktop akan gagal.


(60)

BAB IV

IMPLEMENTASI SISTEM

4.1Lingkungan Implementasi

Untuk dapat memanfaatkan arsitektur library ini dengan optimal, maka dibutuhkan perangkat keras yang sesuai agar dapat berjalan dengan baik. Diimplementasikan pada sistem komputer dengan spesifikasi sebagai berikut :

4.2Implementasi Program dan Tampilan Antar Muka

Berikut ini merupakan tampilan form interface yang digunakan pada pembuatan arsitektur library OTP, dengan metode challenge response. Juga implementasi dari fungsi-fungsi yang telah diperoleh dari perancangan pada bab sebelumnya, dengan metode challenge response.

Perangkat Keras :

Jenis Komputer : Notebook

Processor : Intel Pentium 4 atau lebih

RAM : 512 Mb atau lebih

Harddisk : 40 Gb atau lebih Perangkat Lunak :

Sistem Operasi : Microsoft Windows XP Profesional Service Pack 2

Aplikasi Pemrograman : Microsoft Visual Studio 2005


(61)

4.2.1 Form Utama

Pada form ini sebagai menu utama, terdapat 3 buah text box yang berguna sebagai inputan. Form Utama dapat dilihat pada Gambar 4.1.

Gambar 4.1Form Utama

Dari gambar 4.1 dapat dilihat bahwa textbox pada inputan key berfungsi sebagai pengenal otentik dari tiap user yang login, selain itu terdapat pula data – data lain yang sama fungsinya, hanya saja data tersebut telah dimasukkan lebih dahulu ke dalam database, jadi user tidak perlu memasukkannya. Untuk tombol “Ok” adalah tombol apabila di klik akan menjalankan fungsi otentikasi data kedalam database. Tombol Cancel untuk mengkosongkan textbox. Untuk grupbox

Text Box digunakan untuk memasukkan Kunci, yg

menandakan keontentikan user

Text Box digunakan sebagai output berupa password


(62)

berfungsi memberikan informasi apa yang harus dilakukan di setiap bagian masing-masing.

4.2.8 Implementasi Otentikasi

Dari perancangan dilakukan pembuatan fungsi login. Otentikasi disesuaikan dengan isi yang terdapat di dalam database, dengan beberapa field sebagai

primary key maka diharapkan keotentikan dari user yang melakukan login, dalam hal ini melakukan remote desktop akan terjamin. Fungsi ini akan berjalan pada saat user meminta ijin untuk melakukan akses remote desktop.

public int getData(string ipne) {

SqlDataReader baru =null; int hasil = 0;

try {

string queryne = "select * from tb_ip where IP='" +ipne+ "'";

sqlcom = new SqlCommand(queryne, sqlcon);

baru = sqlcom.ExecuteReader();

hasil = 1; }

else {


(63)

} }

catch (Exception ex) {

}

return hasil; }

Setelah melewati proses meminta hak akses, selanjutnya akan masuk pada proses response. Dalam proses ini terdapat fungsi untuk mengirimkan password yang dibutuhkan oleh user, yang akan digunakan dalam meremote desktop.

4.2.9 Implementasi Membaca IP

Fungsi ini digunakan, untuk membuktikan bahwa user yang melakukan

remote desktop adalah benar – benar orang yang memiliki hak akses, karena IP bersiifat primary key, dan berguna sebagai id user pada umumnya.

public string GetIP() {

IPHostEntry ipEntry =

System.Net.Dns.GetHostEntry(strHostName); IPAddress[] addr = ipEntry.AddressList; }

Dengan menggunakan fungsi dari .net, sistem mengenali dns, dan hostname komputer tersebut, sistem mengenali IP yang digunakan dari komputer tersebut.


(64)

4.2.10 Implementasi Membaca MAC Address

Fungsi ini digunakan sebagai pembuktian bahwa user yang meminta hak akses adalah sesuai dengan data yang telah terdapat didalam database, selain IP dan key yang diganakan sebagai otentikasi.

if (address == String.Empty) {

if ((bool)obj["IPEnabled"] == true) address = obj["MacAddress"].ToString();

}

obj.Dispose(); }

address = address.Replace(":", ""); return address;

4.2.11 Implementasi Merubah Password

Setiap user yang telah meminta akses, sistem memproses keotentikan data user tersebut, setelah itu sistem mengeluarkan password yang digunakan untuk meremote komputer, sistem juga merubah password yang lama menjadi password baru.

System.Diagnostics.Process proc = new System.Diagnostics.Process();

proc.EnableRaisingEvents = false; proc.StartInfo.FileName = "net.exe";


(65)

Setelah password dihasilkan oleh sistem, lalu sistem mengupdate tabel state, mengupdate passwordnya dan status 0 menjadi 1. Pada komputer server terdapat program yang berjalan pada saat komputer dinyalakan, fungsi sistem tersebut adalah menangkap status yang terdapat pada tabel state, yaitu jika status = 1, maka sistem ini akan merubah status menjadi status = 0, juga mengeksekusi fungsi untuk merubah password account, dengan mengambil password yang telah masuk kedalam tabel state dan memanggil file didalam system32 dari windows, dengan memasukan argument user dan password dari account yang akan dirubah

passwordnya, maka password lama akan terupdate dengan password baru.

4.2.12 Implementasi Koneksi Database My SQL

Koneksi database dibutuhkan agar arsitektur library dapat terintegrasi dengan baik. Karena didalam database tersebut data – data otentik dari user disimpan, juga disesuaikan dengan data otentik yang dibaca langsung dari device

yang digunakan oleh user dalam melakukan remote desktop.

string MyConString = "SERVER=localhost;" + "DATABASE=otp;" +

"UID=oddet;" +

"PASSWORD=1;";

sqlcon.ConnectionString = MyConString; sqlcon.Open();


(66)

Server Localhost, dengan database bernama “otp”, user id “oddet” dan menggunakan password “1”. Adalah fungsi pemanggilan database my sql. Yang digunakan sebagai tempat menyimpan data otentik, alamat ip, alamat fisik, dan key yang digunakan.

if (sqlcon.State == ConnectionState.Open) {

sqlcom.Dispose(); sqlcon.Close();

Dari fungsi diatas dapat dilihat koneksi database mysql dijalankan, dengan menentukan lokasi database yang telah dibuat, dengan database data otentik yang dimiliki user dimasukkan, fungsi database dipanggil pada saat user mengklik tombol yang berfungsi menyeleksi apakah user tersebut berhak meremote desktop atau tidak.

4.2.13 Form Remote Desktop

Yang perlu diperhatikan pada komputer yang hendak diremote adalah komputer target harus disetting lebih dahulu agar akses remote bisa dilakukan. Klik kanan pada my Computer lalu pilih properties + remote lalu beri tanda centang pada pilihan Allow user to connect remotly to this computer, akan terlihat seperti gambar dibawah.


(67)

Gambar 4.2 System Properties

Setelah melakukan pengaturan pada komputer yang hendak diremote, maka langkah berikutnya adalah mengisi form remote desktop, akan terlihat seperti gambar dibawah.

Gambar 4.3 FormRemote Desktop

Apabila komputer berhasil tersambung, maka layar monitor akan menampilkan form seperti dibawah ini. User tinggal memasukkan user name tujuan yang akan diremote, dan password.

Apabila koneksi sukses, maka layar akan berubah menjadi jendela windows dari komputer yang menjadi tujuan diremote.


(68)

(69)

BAB V

UJI COBA DAN EVALUASI

5.1Tujuan Pengujian

Beberapa hal yang menjadi tujuan pelaksanaan pengujian terhadap arsitektur library one time password ini adalah :

a. Memeriksa keberhasilan fungsi otentikasi, membaca IP dan MAC Address, serta berjalannya metode challenge response

b. Memastikan bahwa komputer dapat terremote

5.2Lingkungan Uji Coba Sistem

Pada bagian ini akan dijelaskan mengenai spesifikasi komputer yang digunakan untuk uji coba. Membutuhkan minimal 2 unit Komputer. Atau dapat menggunakan software VM Whare yang dipakai untuk uji coba dibutuhkan minimal 2 unit komputer. Komputer pertama sebagai Server dan lainya sebagai komputer. Untuk spesifikasi pertama komputer yang berfungsi sebagai server adalah sebagai berikut :

1. Processor Intel Pentium 4 atau lebih. 2. Memory 1 Gb atau lebih.

3. Harddisk 40 Gb atau lebih.

4. Microsoft Windows XP Profesional Service Pack 2 5. Microsoft Visual Studio 2005


(70)

Dan spesifikasi komputer yang befungsi sebagai client adalah sebagai berikut :

1. Processor Intel Pentium 4 atau lebih. 2. Memory 1 Gb atau lebih.

3. Harddisk 40 Gb atau lebih.

4. Sistem operasi Microsoft Windows XP Profesional Service Pack 2.

5. Microsoft Visual Studio 2005

5.3Skenario Pembuatan Program Menggunakan Arsitektur Library yang

Telah Dibangun

Agar pengujian program dapat dilakukan, maka arsitektur library yang sudah dirancang harus dibangun dalam bentuk aplikasi terlebih dahulu. Skenario pembuatan program ini diharapkan dapat berjalan dengan baik, agar skenario pengujian program dapat dilakukan. Skenario pembuatan aplikasi menggunakan arsitektur library sesuai dengan Tabel 5.1.

Tabel 5.1. Skenario Perancangan dengan menggunakan Arsitektur Library

No Skenario

1 Merancang Aplikasi

2 Meng-include-kan Library “otp.dll” 3 Meng-Include-kan Library “dlle.dll”


(71)

5.4Hasil Perancangan

Berikut ini adalah hasil pembuatan aplikasi setelah di include-kan file library one time passwordnya.

Tabel 5.2 Hasil Perancangan

No Skenario Hasil

1 Merancang Aplikasi Kondisi awal : project masih kosong Kondisi setelah dilakukan perancangan : project sudah terisi fungsi yang dibutuhkan, digunakan sebagai pemanggil file arsitektur librarynya, juga sudah terdapat desain interfacenya. Seperti pada Gambar 5.1

2 Meng-include-kan Library “otp.dll”

Kondisi awal : project sudah terisi fungsi pemanggilan file arsitektur library dan interface.

Kondisi setelah diincludekan file “otp.dll” : file “otp.dll” muncul pada reference.

Seperti pada Gambar 5.2 3 Meng-Include-kan Library

“dlle.dll”

Kondisi awal : project sudah terisi fungsi pemanggilan file arsitektur library dan interface.


(72)

“dlle.dll” : file “dlle.dll” muncul pada reference.

Seperti pada Gambar 5.3

4 Simpan program Setelah semua skenario dilakukan, maka program di eksekusi.

Kondisi awal : program belum di jalankan.

Kondisi setelah dijalankan : program sukses, tidak terdapat error pada kolom Errors List.

Seperti pada Gambar 5.4

Gambar – gambar dibawah ini adalah gambar hasil dari dokumentasi pada saat pembuatan aplikasi sebagai pembuktian bahwa arsitektur library yang dibuat dapat berjalan sesuai dengan rencana.

5.5Skenario Pertama Merancang Aplikasi

Langkah pertama yang harus dilakukan agar dapat menggunakan file library ini adalah membuat projet baru, project ini berisikan interface dan script pemanggilan class dari library “otp.dll” dan “dlle.dll”. dalam pembuatan interface, sediakan dua buah textbox dan dua buah tombol atau command button, satu buah textbox berfungsi sebagai inputan yaitu “key”dan satu buah textbox lagi berfungsi sebagai output yaitu “password”. Sedangkan satu buah tombol berfungsi untuk


(73)

menjalankan proses challenge yaitu mengirimkan permintaan password kepada sistem, diteruskan dengan sistem memberikan response sebuah password kepada pengguna.

Setelah membuat tampilan antarmuka langkah selanjutnya adalah mengisikan script-script untuk memanggil class dari library yang telah dibuat, dan script untuk memanggil isi dari tiap class tersebut, antara lain, perhitungan enkripsi, fungsi koneksi database, membaca alamat IP yang digunakan, membaca MAC Address yang yang terdapat pada device yang digunakan, juga script untuk menjalankan file mstsc atau remote desktop. Dapat dilihat pada Gambar 5.1.

Gambar 5.1. Desain Antarmuka

5.6Skenario Kedua Include File Library “otp.dll”

Setelah melakukan pembuatan project antarmuka, dan mengisikan script yang diperlukan untuk memanggil file dari library yang telah dibuat, langkah berikutnya adalah include-kan file library “otp.dll” dengan cara Add Reference,

Textbox 1 Sebagai Inputan Textbox 2 Sebagai Output Tombol Ok Sebagai Tombol Proses Tombol Cancel Sebagai Tombol Pembatalan


(74)

pilih file bernama “otp.dll” kedalam project yang telah dibuat, tulisakan file library tersebut pada halaman script

Using otp;

Bertujuan agar fungsi – fungsi yang dibutuhkan pada pembuatan aplikasi ini dapat dibaca oleh sistem. Cara include file Library file otp.dll seperti pada Gambar 5.2.

Gambar 5.2. Include File Library otp.dll

Setelah tombol Ok pada gambar diklik, maka pada kolom sebelah kanan, file otp.dll akan muncul. Itu menandakan bahwa file otp.dll sukses di add.

5.7Skenario Ketiga dan Keempat Include File Library “dlle.dll” dan

Menyimpan Program

Stelah library otp.dll diincludekan kedalam aplikasi, langkah berikutnya adalah meng-include-kan library perhitungan enkripsi yang termasuk kedalam bagian dari sistem one time password tersebut. Cara meng-include-kan library


(75)

sama dengan cara men-include-kan file library otp.dll, yitu dengan meng-Add Reference, lalu pilih file library dengan nama “dlle.dll”. Seperti pada Gambar 5.3.

Gambar 5.3. Include File Library dlle.dll

Setelah file library di add, berikutnya ketikkan script pada halaman source code, seperti yang dilakukan dalam menuliskan script untuk mengakses fungsi dalam file library otp.dll.

Using dlle;

Script diatas bertujuan agar fungsi dalam library dlle.dll dapat digunakan, stelah itu ketikan script fungsi yang dibutuhkan. Demikianlah cara menggunakan file arsitektur library yang telah dibagun, setelah desain antarmuka dibuat, file-file library yang dibutuhkan telah diincludekan kedalam project, setelah itu adalah menyimpan program tersebut. Setelah project disimpan, berikutnya adalah build project dengan mengklik build, pilih build “nama project”. Setelah itu lihat kolom Errors List, apabila tidak muncul error, berarti file arsitektur library yang telah dibuat, dan aplikasi yang dibangun sebagai implementasi dari arsitektur library yang telah dirancang telah sukses. Seperti pada Gambar 5.4.


(76)

Gambar 5.4 Build Project

5.8Skenario Pengujian Program dan Kriteria Keberhasilan

Agar pengujian berjalan lancar, maka skenario uji coba harus disusun. Skenario uji coba berikut dapat menjadi tolak ukur keberhasilan pembuatan arsitektur library. Sesuai dengan Tabel 5.2.

Tabel 5.3. Skenario Uji Coba Arsitektur Library

No Skenario

1 Menyalakan server

2 Melakukan request password dengan IP, MAC Address dan key yang salah 3 Melakukan request password dengan IP, MAC Address yang salah, dengan key

yang benar

4 Melakukan request password dengan IP yang salah, dengan MAC Address dan key yang benar

5 Melakukan request password dengan IP, MAC Address dan key yang benar. Dengan status=0. (Jika status=0 maka komputer tersebut tidak dijinkan


(1)

Gambar 5.16. Sukses Meremote

5.19 Hasil Uji Coba Koneksi (Remote Desktop)

Uji coba koneksi kedua, dengan menggunakan key “ske6”, seperti pada skenario ke-6, user melakukan permintaan password kepada sistem, setelah itu sistem kembali membaca data otentik dari user tersebut, IP dan MAC Address yang digunakan dan yang terdapat didalam database, setelah diketahui IP, MAC Address, dan key sama, status = 1, maka permintaan diterima, password berhasil muncul, lalu form remote desktop akan muncul secara otomatis, klik connect dan form log on to windows akan tampil, form tersebut akan digunakan kembali untuk meremote desktop dengan mengisikan password baru yang didapat oleh user, login remote berhasil maka akan muncul layar bahwa komputer sukses di remote.

Gambar 5.17. Uji coba Request Password Hingga Muncul Form Log On to Windows


(2)

Gambar 5.17, menunjukkan bahwa Form yang akan digunakan sebagai Log On to Windows telah keluar, itu artinya permintaan password telah diterima. Tahap – tahap dalam meminta password masih sama seperti skenario ke-6, skenario yang sukses meminta password. IP yang digunakan sama dengan IP yang terdapat didalam database, begitu juga alamat MAC Addressnya, yang digunakan oleh user sama dengan yang telah dimasukkan kedalam database, dengan status = 1, dan key sesuai dengan yang terdapat dalam database, maka sistem menerima data itu semua. Setelah itu password keluar, dan halaman untuk meremote desktop juga akan tampil, maka user akan memasukkan alamat IP yang dituju, karena alamat IP yang dituju ada, maka halaman Log On to Windows berhasil keluar. Tahap selanjtunya adalah Log On to Windows.

Gambar 5.18 menampilkan gambar user mencoba untuk masuk kedalam windows, dengan memasukkan user name sesuai dengan user account yang dituju untuk di remote, dan password yang terdapat pada Gambar 5.19.


(3)

Gambar 5.19 menampilkan gambar bahwa user berhasil meremote desktop, itu berarti sistem berhasil, karena password pada scenario sebelumnya telah berubah menjadi password yang baru.


(4)

BAB VI

PENUTUP

6.1. Kesimpulan

Setelah dilakukan perancangan dan pembangunan arsitektur library sistem otentikasi one time password. Telah dilakukan serangkaian uji coba dan didapatkan sebuah hasil. Setelah dilakukan analisis dan evaluasi terhadap hasil uji coba maka didapatkan beberapa kesimpulan sebagai berikut :

1. Fungsi – fungsi yang terdapat dalam arsitektur library sistem otentikasi one time password antara lain adalah, fungsi membaca data otentik dari device yang digunakan, yaitu MAC Address dan alamat IP. Juga membaca data otentik yang dimiliki dari masing – masing user yaitu sebuah key, telah berjalan sesuai dengan apa yang diperintahkan. Sistem dapat membaca MAC Address, Alamat IP, dan juga key yang dimiliki oleh tiap user.

2. Dengan menentukan dan merancang fungsi yang dibutuhkan, library sistem otentikasi one time password dibuat, agar sistem dapat berjalan dengan baik sesuai dengan prosedur Challenge Response.

6.2. Saran

Untuk pengembangan arsitektur library lebih lanjut, maka penyusun memiliki saran yang dapat diberikan pada tugas akhir ini adalah dengan


(5)

menambahkan fungsi agar sistem dapat membaca keberadaan komputer yang sedang meremote komputer yang dituju dan dapat melakukan penolakan.


(6)

DAFTAR PUSTAKA

Ali, 2009, Penerapan Sistem Autentikasi One Time Password Untuk Proses Login, Ali-report

Bradley, Mitchell, Topologi Network Design, diakses online 13-03-2010 dari (http://translate.googleusercontent.com/translate_c?hl=id&langpair=en|id& u=http://compnetworking.about.com/od/networkdesign/a/topologies.htm&r url=translate.google.co.id&usg=ALkJrhj-9WjB6GBqITskFWHc8IY-6nFqvw)

Bradley, Mitchell, Local Area Network, diakses online 04-04-2010 dari (http://translate.google.co.id/translate?hl=id&langpair=en|id&u=http://comp networking.about.com/cs/lanvlanwan/g/bldef_lan.htm)

Microsoft, 2005. System.Net Namespace, Microsoft Developer Network For Visual Studio 2005

Microsoft, 2005. System.Management Space, Microsoft Developer Network For Visual Studio 2005

Microsoft, 2005. Management Object Collection, Microsoft Developer Network For Visual Studio 2005

Wikipedia. 2010. Local Area Network, diakses online 10-02-2010 dari (http://id.wikipedia.org/wiki/Local_area_network)

William, Khandar, 2009, Studi Mengenai Tiny Encrypiton Algorithm (TEA) dan Turunan-turunannya (XTEA dan XXTEA), diakses online 20-09-2009 dari (www.informatika.org/~rinaldi/kriptografi)

Geocities. 2009. Jenis Jaringan Komputer, diakses online 13-02-2010 dari (http://www.geocities.com/fadelku/network/jaringan.html)