Studi dan Implementasi Kriptografi Kunci-Publik untuk Otentikasi Perangkat dan Pengguna pada Komunikasi Bluetooth LAPORAN TUGAS AKHIR Disusun sebagai syarat kelulusan tingkat sarjana oleh : Made Harta Dwijaksara / 13504137 PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2008
Lembar Pengesahan Program Studi Sarjana Informatika Studi dan Implementasi Kriptografi Kunci-Publik untuk Otentikasi Perangkat dan Pengguna pada Komunikasi Bluetooth Tugas Akhir Program Studi Sarjana Informatika ITB Oleh Made Harta Dwijaksara / 13504137 Telah disetujui dan disahkan sebagai laporan tugas akhir di Bandung, pada tanggal 23 Juni 2008 Pembimbing Ir. Rinaldi Munir, M.T. NIP. 132 084 796 ii
RINGKASAN Perkembangan teknologi komunikasi dewasa ini mengarahkan kepada suatu komunikasi tanpa kabel. Salah satu realisasi hal ini adalah komunikasi dengan menggunakan Bluetooth antara perangkat mobile. Bluetooth ditujukan untuk menjadi media komunikasi pengganti kabel pada perangkat yang memiliki daya terbatas ini. Dipilihnya Bluetooth sebagai media komunikasi pengganti karena memiliki kelebihan-kelebihan seperti murah daya, murah biaya, dan mudah penggunaannya sehingga sangat tepat jika digunakan pada perangkat mobile. Namun ternyata komunikasi dengan Bluetooth sendiri masih memiliki celah keamanan yang dapat digunakan untuk melakukan serangan, walaupun pada level keamanan paling tinggi. Celah keamanan ini terletak pada proses otentikasi yang dilakukan ketika dua perangkat hendak terkoneksi. Tugas Akhir ini menggunakan kriptografi kunci publik untuk memecahkan persoalan di atas. Kriptografi kunci publik digunakan untuk membangun protokol otentikasi baru yang terdiri dari protokol otentikasi pengguna dan perangkat. Untuk otentikasi pengguna memanfaatkan prinsip Challenge and Response, dengan tujuan untuk memastikan bahwa data kunci privat yang digunakan oleh pihak yang diajak berkomunikasi merupakan pasangan salah satu data kunci publik yang dimiliki. Jika ternyata benar berarti pihak yang diajak berkomunikasi adalah pihak yang otentik. Selanjutnya untuk otentikasi perangkat digunakan mekanisme pertukaran kunci menggunakan protokol Diffie-Hellman dengan penambahan digital signature untuk menghindari man-in-the-midle-attack. Tujuan utama dari mekanisme otentikasi perangkat ini adalah untuk mempertukarkan kunci rahasia dengan pihak yang otentik. Sistem yang dibangun dalam tugas akhir ini diberi nama BlueSeFT. Selain memiliki kemapuan untuk melakukan koneksi dengan menggunakan Bluetooth juga memiliki kemampuan untuk membangkitkan pasangan kunci publik dan privat untuk otentikasi. Kata Kunci: Bluetooth, kriptografi kunci-publik, Challenge and Response, protokol Diffie-Hellman, digital signature, man-in-the-midle-attack. iii
KATA PENGANTAR Puji dan syukur penulis panjatkan kepada Ida Sang Hyang Widhi Wasa, Tuhan Yang Maha Esa karena berkat rahmat dan bimbingannya Tugas Akhir ini dapat diselesaikan. Tugas Akhir ini dilaksanakan sebagai salah satu syarat kelulusan tingkat sarjana dari Program Studi Teknik Informatika, Institut Teknologi Bandung. Penulis menyadari bahwa banyak pihak yang telah membantu selama pengerjaan Tugas Akhir ini. Oleh karena itu, dengan segala kerendahan hati penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada: 1. Ir. Rinaldi Munir, M.T. yang telah bersedia meluangkan waktu untuk menjadi dosen pembimbing Tugas Akhir ini dan telah memberikan banyak sekali masukan, dorongan, semangat dan nasihat kepada penulis demi terselesaikannya Tugas Akhir ini dengan baik. 2. Dra. Christine Suryadi, M.T. selaku dosen wali penulis. 3. Henny Yusnita Zubir, S.T., M.T. yang telah bersedia menjadi reviewer selama review Tugas Akhir 4. Achmad Imam Kistijanto, Ph.D. yang telah bersedia menjadi reviewer selama review Tugas Akhir 5. Dra. Harlili, M.Sc. yang telah bersedia menjadi reviewer selama review Tugas Akhir serta dosen penguji saat sidang Tugas Akhir. 6. Bugi Wibowo S.T., M.T. yang telah bersedia menjadi dosen penguji pada saat sidang Tugas Akhir. 7. Keluarga penulis, Bapak, Ibu dan Kakak untuk semua dukungan moral, material dan doa selama pengerjaan Tugas Akhir ini. 8. Pihak tata usaha, perpustakaan dan seluruh staf Departemen Teknik Informatika ITB yang telah membantu selama kuliah dan pengerjaan Tugas Akhir ini. 9. Seluruh teman-teman di Asrama Mahasiswa Bali Viyata Tampak Siring, Adnyana, Reza, Eka Wardana, Pande, Wiarta, Komang Adi, Suantika, Gemi, Krisna, Fendy, Adi, Pandu, Sutha, Adyaksa, Agung Sr., Agung Jr., Arya, Widhi, Deny, Suhu, Artha, Ketut, Ariesta, Gede, dan Heldi, yang telah iv
menciptakan suasana Asrama yang kondusif pada saat pengerjaan Tugas Akhir ini. 10. Seluruh staf asisten Laboratorium Ilmu Rekayasa Komputasi dan teman-teman angkatan 2004 yang telah memberi bantuan dan semangat selama ini 11. Pihak lainnya yang tidak dapat disebutkan satu per satu yang telah membantu baik secara langsung maupun tidak langsung. Penulis menyadari bahwa laporan Tugas Akhir ini masih sangat jauh dari sempurna, kritik dan saran yang membangun akan selalu penulis terima dengan lapang dada. Akhir kata, semoga Tugas Akhir ini dapat berguna untuk perkembangan ilmu pengetahuan terutama dalam bidang keamanan komunikasi tanpa kabel khususnya teknologi Bluetooth. Bandung, Juni 2008 Penulis v
DAFTAR ISI Lembar Pengesahan Program Studi Sarjana Informatika RINGKASAN. KATA PENGANTAR. DAFTAR ISI DAFTAR GAMBAR DAFTAR TABEL BAB I PENDAHULUAN... I-1 1.1 Latar Belakang... I-1 1.2 Rumusan Masalah... I-3 1.3 Tujuan... I-3 1.4 Batasan Masalah... I-4 1.5 Metodologi... I-4 1.6 Sistematika Pembahasan... I-5 BAB II DASAR TEORI... II-1 2.1 Kriptografi... II-1 II.1.1 Definisi Kriptografi... II-1 II.1.2 Sistem Kriptografi... II-3 II.1.3 RC4... II-5 II.1.4 SAFER+... II-7 II.1.5 Blowfish... II-8 II.1.6 RSA... II-9 II.1.7 Tanda Tangan Digital... II-10 II.1.8 Protokol Diffie-Hellman... II-11 II.1.9 Pembangkitan Bilangan Acak... II-13 2.2 Bluetooth... II-14 II.2.1 Pendahuluan... II-14 II.2.2 Arsitektur Protokol Bluetooth... II-15 II.2.3 Jaringan Bluetooth... II-17 II.2.4 Aspek Keamanan Bluetooth... II-20 II.2.4.1 Mode Keamanan... II-20 II.2.4.2 Otentikasi, Enkripsi, dan Otorisasi Bluetooth... II-22 II.2.4.3 Security Manager... II-25 II.2.4.4 Cracking Bluetooth Security... II-25 BAB III ANALISIS... III-1 3.1 Otentikasi Perangkat dengan Kriptografi Kunci-Publik... III-1 III.1.1 Dasar Pemikiran... III-1 III.1.2 Pemodelan Protokol untuk Otentikasi Perangkat... III-2 3.2 Otentikasi Pengguna dengan Kriptografi Kunci-Publik... III-5 III.2.1 Dasar Pemikiran... III-5 III.2.2 Pemodelan Protokol untuk Otentikasi Pengguna... III-5 3.3 Perbandingan Metode Otentikasi... III-8 3.4 Pembangkitan Bilangan Acak... III-10 BAB IV ANALISIS DAN PERANCANGAN... IV-1 4.1 Analisis Perangkat Lunak BlueSeFT... IV-1 IV.1.1 Deskripsi Umum Perangkat Lunak BlueSeFT... IV-1 IV.1.2 Arsitektur Global Perangkat Lunak BlueSeFT... IV-2 IV.1.3 Spesifikasi Kebutuhan Perangkat Lunak BlueSeFT... IV-3 IV.1.3.1 Kebutuhan Fungsional... IV-3 vi ii iii iv vi viii ix
IV.1.3.2 Kebutuhan Non-Fungsional... IV-3 IV.1.4 Analisis Use Case... IV-4 IV.1.4.1 Diagram Use Case... IV-4 IV.1.4.2 Definisi Aktor... IV-5 IV.1.4.3 Definisi Use Case... IV-5 IV.1.5 Analisis Kelas Potensial... IV-6 IV.1.6 Daftar Kelas Analisis... IV-8 IV.1.7 Diagram Kelas Analisis... IV-10 IV.1.8 Analisis Library Pendukung... IV-10 4.2 Perancangan Perangkat Lunak BlueSeFT... IV-11 IV.2.1 Batasan Perancangan Perangkat Lunak BlueSeFT... IV-11 IV.2.2 Perancanangan Arsitektur... IV-11 IV.2.3 Perancangan Format Data Perangkat Lunak BlueSeFT... IV-15 IV.2.4 Perancangan Antarmuka Perangkat Lunak BlueSeFT... IV-16 IV.2.4.1 Perancangan Struktur Menu Perangkat Lunak BlueSeFT... IV-16 IV.2.4.2 Perancangan Layar Antarmuka Perangkat Lunak BlueSeFT... IV-16 BAB V IMPLEMENTASI DAN PENGUJIAN... V-1 5.1 Implementasi Perangkat Lunak BlueSeFT... V-1 V.1.1 Lingkungan Implementasi... V-1 V.1.2 Batasan Implementasi Perangkat Lunak BlueSeFT... V-2 V.1.3 Implementasi Arsitektur Perangkat Lunak BlueSeFT... V-2 V.1.4 Implementasi Format Data Perangkat Lunak BlueSeFT... V-3 V.1.5 Implementasi Perangkat Lunak BlueSeFT... V-4 5.2 Pengujian Perangkat Lunak BlueSeFT... V-5 V.2.1 Tujuan Pengujian... V-5 V.2.2 Perancangan Kasus Uji Pengujian Perangkat Lunak BlueSeFT... V-5 V.2.3 Pelaksanaan Pengujian... V-7 V.2.4 Evaluasi Hasil Pengujian Perangkat Lunak BlueSeFT... V-10 BAB VI PENUTUP... VI-1 6.1 Kesimpulan... VI-1 6.2 Saran... VI-2 DAFTAR REFERENSI.. x DAFTAR PUSTAKA.. xi LAMPIRAN A... xii LAMPIRAN B... xvi LAMPIRAN C... xvii LAMPIRAN D... xxiv LAMPIRAN E... xxxiv LAMPIRAN F... xxxv vii
DAFTAR GAMBAR Gambar II-1 Proses di dalam kriptografi... II-2 Gambar II-2 Proses enkripsi dan dekripsi kriptografi simetri... II-3 Gambar II-3 Proses enkripsi dan dekripsi kriptografi kunci-publik... II-4 Gambar II-4 Mekanisme pemanfaatan kriptografi kunci-publik... II-5 Gambar II-5 Proses dekripsi dan enkripsi RC4... II-6 Gambar II-6 Diagram pembangkitan kunci aliran RC4... II-6 Gambar II-7 Diagram Jaringan Feistel Blowfish... II-8 Gambar II-8 Pertukaran kunci Diffie-Hellman... II-12 Gambar II-9 Arsitektur Protokol Bluetooth... II-15 Gambar II-10 Master-slave pada jaringan Bluetooth... II-17 Gambar II-11 Piconet... II-17 Gambar II-12 Scatternet... II-18 Gambar II-13 Scatternet dengan tiga buah node... II-19 Gambar II-14 Proses pembentukan K init dengan E 22... II-23 Gambar II-15 Pembentukan K link dengan E 21... II-24 Gambar II-16 Mutual Authentication menggunakan E 1... II-24 Gambar III-1 Protokol untuk Otentikasi Perangkat... III-2 Gambar III-2 Challenge and Response... III-6 Gambar III-3 Mekanisme otentikasi sekarang... III-9 Gambar III-4 Mekanisme otentikasi yang diusulkan... III-9 Gambar III-5 Proses pembangkitan bilangan acak... III-10 Gambar IV-1 Arsitektur Global Perangkat Lunak... IV-2 Gambar IV-2 Diagram Use Case BlueSeFT... IV-4 Gambar IV-3 Diagram Kelas Analisis... IV-10 Gambar IV-4 Diagram Kelas Perancangan Final... IV-16 Gambar IV-5 Struktur Akses Menu pada BlueSeFT... IV-17 Gambar IV-6 Layar Utama Perangkat Lunak BlueSeFT... IV-17 Gambar V-1 Layar Utama Perangkat Lunak BlueSeFT... V-4 viii
DAFTAR TABEL Tabel II-1 Deskripsi layer Bluetooth... II-15 Tabel II-2 Daftar data yang dipertukarkan ketika proses pairing dan otentikasi... II-25 Tabel IV-1 Definisi Aktor... IV-5 Tabel IV-2 Definisi Use Case... IV-5 Tabel IV-3 Daftar Kelas Potensial... IV-7 Tabel IV-4 Daftar Kelas Analisis... IV-8 Tabel IV-5 Perancangan Kelas Final BlueSeFT... IV-11 Tabel V-1 Implementasi Kelas Perangkat Lunak BlueSeFT... V-3 ix