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 ………………………
ii
RINGKASAN………………………………………………………………….
iii
KATA PENGANTAR………………………………………………………….
iv
DAFTAR ISI……………………………………………………………………
vi
DAFTAR GAMBAR……………………………………………………………
viii
DAFTAR TABEL………………………………………………………………
ix
BAB I PENDAHULUAN .......................................................................................... I-1 1.1 1.2 1.3 1.4 1.5 1.6
Latar Belakang....................................................................................................................... I-1 Rumusan Masalah ................................................................................................................. I-3 Tujuan .................................................................................................................................... I-3 Batasan Masalah .................................................................................................................... I-4 Metodologi ............................................................................................................................ I-4 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
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 6.2
Kesimpulan ......................................................................................................................... VI-1 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 Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar Gambar
II-1 Proses di dalam kriptografi ............................................................................................. II-2 II-2 Proses enkripsi dan dekripsi kriptografi simetri ............................................................. II-3 II-3 Proses enkripsi dan dekripsi kriptografi kunci-publik .................................................... II-4 II-4 Mekanisme pemanfaatan kriptografi kunci-publik ......................................................... II-5 II-5 Proses dekripsi dan enkripsi RC4 ................................................................................... II-6 II-6 Diagram pembangkitan kunci aliran RC4 ....................................................................... II-6 II-7 Diagram Jaringan Feistel Blowfish ................................................................................. II-8 II-8 Pertukaran kunci Diffie-Hellman .................................................................................. II-12 II-9 Arsitektur Protokol Bluetooth ....................................................................................... II-15 II-10 Master-slave pada jaringan Bluetooth ........................................................................ II-17 II-11 Piconet ........................................................................................................................ II-17 II-12 Scatternet .................................................................................................................... II-18 II-13 Scatternet dengan tiga buah node ............................................................................... II-19 II-14 Proses pembentukan Kinit dengan E22 .......................................................................... II-23 II-15 Pembentukan Klink dengan E21 .................................................................................... II-24 II-16 Mutual Authentication menggunakan E1 .................................................................... II-24 III-1 Protokol untuk Otentikasi Perangkat ............................................................................III-2 III-2 Challenge and Response...............................................................................................III-6 III-3 Mekanisme otentikasi sekarang ....................................................................................III-9 III-4 Mekanisme otentikasi yang diusulkan ..........................................................................III-9 III-5 Proses pembangkitan bilangan acak ...........................................................................III-10 IV-1 Arsitektur Global Perangkat Lunak ............................................................................. IV-2 IV-2 Diagram Use Case BlueSeFT ..................................................................................... IV-4 IV-3 Diagram Kelas Analisis ............................................................................................. IV-10 IV-4 Diagram Kelas Perancangan Final ............................................................................ IV-16 IV-5 Struktur Akses Menu pada BlueSeFT ....................................................................... IV-17 IV-6 Layar Utama Perangkat Lunak BlueSeFT ................................................................. IV-17 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