BAB III ANALISIS. 3.1 Otentikasi Perangkat dengan Kriptografi Kunci-Publik

dokumen-dokumen yang mirip
Studi dan Implementasi Kriptografi Kunci-Publik untuk Otentikasi Perangkat dan Pengguna pada Komunikasi Bluetooth

BAB II LANDASAN TEORI

Protokol Kriptografi

BAB 2 TINJAUAN PUSTAKA

Studi dan Implementasi Kriptografi Kunci-Publik untuk Otentikasi Perangkat dan Pengguna pada Komunikasi Bluetooth

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

Studi Terhadap Implementasi Key-Agreement Protocol pada Smart Card

Penggunaan Digital Signature Standard (DSS) dalam Pengamanan Informasi

I. PENDAHULUAN. Key Words Tanda Tangan Digital, , Steganografi, SHA1, RSA

Tandatangan Digital. Yus Jayusman STMIK BANDUNG

BAB I PENDAHULUAN. 1.1 Latar Belakang

Perancangan dan Implementasi Aplikasi Bluetooth Payment untuk Telepon Seluler Menggunakan Protokol Station-to-Station

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

Sistem Kriptografi Kunci-Publik

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

BAB II LANDASAN TEORI

Elliptic Curve Cryptography (Ecc) Pada Proses Pertukaran Kunci Publik Diffie-Hellman. Metrilitna Br Sembiring 1

Otentikasi dan Tandatangan Digital (Authentication and Digital Signature)

Pengamanan Sistem Login Aplikasi Menggunakan Protokol ID Based Diffie-Hellman Key Agreement

Protokol Kriptografi Secure P2P

Pemanfaatan Metode Pembangkitan Parameter RSA untuk Modifikasi SHA-1

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

BAB 2 LANDASAN TEORI

Metode Autentikasi melalui Saluran Komunikasi yang Tidak Aman

BAB III ANALISIS MASALAH

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

ANALISA KRIPTOGRAFI KUNCI PUBLIK RSA DAN SIMULASI PENCEGAHAN MAN-IN-THE-MIDDLE ATTACK DENGAN MENGGUNAKAN INTERLOCK PROTOCOL

BAB VI PENGUJIAN. Pada bab ini akan dijelaskan proses serta hasil pengujian yang dilakukan terhadap

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

Perancangan dan Implementasi Aplikasi Bluetooth Payment untuk Telepon Seluler Menggunakan Protokol Station-to-Station

PENGGUNAAN DIGITAL SIGNATURE DALAM SURAT ELEKTRONIK DENGAN MENYISIPKANNYA PADA DIGITIZED SIGNATURE

BAB 2 LANDASAN TEORI

Pembangunan MAC Berbasis Cipher Aliran (RC4)

Tanda Tangan Digital Majemuk dengan Kunci Publik Tunggal dengan Algoritma RSA dan El Gamal

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI DENGAN MENGGUNAKAN ALGORITMA RSA DAN MEMAKAI METODE LSB

KRIPTOGRAFI KUNCI PUBLIK

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB II LANDASAN TEORI

Digital Signature Algorithm (DSA)

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

ANALISIS KEAMANAN PROTOKOL PADA INFRASTRUKTUR KUNCI PUBLIK

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

2016 IMPLEMENTASI DIGITAL SIGNATURE MENGGUNAKAN ALGORITMA KRIPTOGRAFI AES DAN ALGORITMA KRIPTOGRAFI RSA SEBAGAI KEAMANAN PADA SISTEM DISPOSISI SURAT

BAB III ANALISIS DAN DESAIN SISTEM

Penerapan digital signature pada social media twitter

Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

Pembuatan Aplikasi Chat yang Aman Menggunakan Protokol OTR

KRIPTOGRAFI SISTEM KEAMANAN KOMPUTER

BAB I PENDAHULUAN. 1.1 Latar Belakang

Manajemen Keamanan Informasi

BAB IV ANALISIS DAN PERANCANGAN

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

Skema Boneh-Franklin Identity-Based Encryption dan Identity-Based Mediated RSA

Pembangkitan Nilai MAC dengan Menggunakan Algoritma Blowfish, Fortuna, dan SHA-256 (MAC-BF256)

BAB IV HASIL DAN UJI COBA

ALGORITMA MAC BERBASIS FUNGSI HASH SATU ARAH

SISTEM KEAMANAN DATA PADA WEB SERVICE MENGGUNAKAN XML ENCRYPTION

PERANCANGAN PERANGKAT LUNAK SIMULASI PENGAMANAN TANDA TANGAN DENGAN MENGUNAKAN METODE SCHNORR AUTHENTICATION DAN DIGITAL SIGNATURE SCHEME

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

KRIPTOGRAFI MATERI KE-2

Studi dan Analisis Perbandingan Antara Algoritma El Gamal dan Cramer-Shoup Cryptosystem

Imam Prasetyo Pendahuluan

BAB 3 KRIPTOGRAFI RSA

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

BAB II TINJAUAN PUSTAKA

BAB 3 ANALISIS DAN PERANCANGAN. utuh ke dalam bagian-bagian komponennya dengan maksud untuk

BAB I PENDAHULUAN. Universitas Sumatera Utara

Penerapan Digital Signature pada Dunia Internet

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

BAB 1 PENDAHULUAN Latar Belakang

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

Keamanan Sistem Komputer. Authentication, Hash Function, Digital Signatures, Quantum Cryptography

HASIL DAN PEMBAHASAN 4.1 Deskripsi Sistem E-Voting Pilkada Kota Bogor

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132

BAB III ANALISIS DAN PERANCANGAN

Kriptografi Modern Part -1

BAB I PENDAHULUAN. 1.1 Latar Belakang

STUDI KASUS PENGGUNAAN TinyCA SEBAGAI APLIKASI CERTIFICATE AUTHORIZATION (CA) YANG MUDAH DAN SEDERHANA PADA SISTEM OPERASI UBUNTU

Modifikasi Cipher Block Chaining (CBC) MAC dengan Penggunaan Vigenere Cipher, Pengubahan Mode Blok, dan Pembangkitan Kunci Berbeda untuk tiap Blok

Peningkatan Keamanan Kunci Enkripsi Menggunakan Perubahan Kunci Berkala dan Akses Ganda

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Pemanfaatan dan Implementasi Library XMLSEC Untuk Keamanan Data Pada XML Encryption

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN VISUAL BASIC 2012 DENGAN ALGORITMA TRIPLE DES

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

TUGAS DIGITAL SIGNATURE

Implementasi Algoritma RSA dan Three-Pass Protocol pada Sistem Pertukaran Pesan Rahasia

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

Transkripsi:

BAB III ANALISIS BAB III bagian analisis pada laporan tugas akhir ini menguraikan hasil analisis masalah terkait mode keamanan bluetooth. Adapun hasil analisis tersebut meliputi proses otentikasi perangkat dan pengguna pada komunikasi bluetooth dengan memanfaatkan kriptografi kunci-publik. 3.1 Otentikasi Perangkat dengan Kriptografi Kunci-Publik III.1.1 Dasar Pemikiran Proses otentikasi yang diimplementasikan sebagai aspek kemanan bluetooth adalah dengan memanfaatkan mekanisme bonding dan pairing. Inti dari kedua proses ini sebenarnya adalah bagaimana meyakinkan bahwa perangkat yang akan berkomunikasi dengan bluetooth telah memiliki kunci rahasia (shared authentication key) yang disepakati bersama antara pihak yang otentik. Sehingga pada prinsipnya yang menjadi titik masalah pada proses otentikasi perangkat pada komunikasi bluetooth adalah mekanisme pertukaran kunci rahasia secara aman. Mekanisme pertukaran kunci yang telah diimplementasikan saat ini (pairing) memiliki celah keamanan seperti yang telah dijelaskan pada bab sebelumnya. Celah keamanan ini dapat dimanfaatkan oleh pihak yang tidak berhak untuk melakukan penyerangan sehingga proses komunikasi keseluruhan akhirnya menjadi tidak aman. Serangan yang dilakukan bertujuan untuk mendapatkan kunci rahasia yang dipertukarkan dimana kunci ini akan dipergunakan untuk mengenkripsi dan mendekripsi pesan yang akan dikirimkan, sehingga jika pihak yang tidak berhak mendapatkan kunci ini maka mereka dapat mengetahui isi pesan yang dikirimkan. Kelemahan tersebut bisa diatasi dengan mengaplikasikan mekanisme pertukaran kunci baru yaitu menggunakan Protokol Diffie-Hellman. Untuk dapat berperan sebagai media otentikasi langsung maka protokol ini harus dimodifikasi. Modifikasi III-1

III-2 dilakukan dengan cara menambahkan ontentikasi dengan kriptografi kunci-publik pada pertukaran data dalam Protokol Diffie-Hellman. Tujuan dari hal ini adalah untuk meyakinkan bahwa bilangan yang dipertukarkan dengan Protokol Diffie-Hellman dikirim oleh pihak yang benar, sehingga dapat dipergunakan sebagai media pendeteksi apakah otentikasi berhasil dilakukan atau tidak. Otentikasi dianggap berhasil jika data yang diterima, dikirim oleh pihak yang benar (partner) dan sebaliknya. Disisi lain penambahan otentikasi ini bertujuan untuk mencegah terjadinya man-in-the-middle-attack, yaitu serangan dimana pihak penyerang akan berpura-pura menjadi pihak yang dikirimi data (partner), mengganti data yang dikirimkan tersebut dengan datanya sendiri, kemudian diteruskan ke pihak yang sebenarnya akan dikirimi data [SCH96]. III.1.2 Pemodelan Protokol untuk Otentikasi Perangkat Dalam protokol untuk otententikasi perangkat ini setiap data yang dikirimkan dienkripsi dengan kunci rahasia (private key) pengirim. Enkripsi data dengan kunci rahasia pengirim inilah yang memberikan aspek otentikasi data yang dikirimkan, karena data yang terenkripsi ini akan digunakan sebagai tanda tangan digital pengirim. Data hasil enkripsi ini dikirimkan bersamaan dengan data aslinya. Jadi setiap pengiriman bilangan, pengirim mengirimkan dua data bilangan sekaligus, bilangan aslinya dan bilangan yang terenkripsi dengan kunci rahasia. Dengan disertainya tanda tangan digital ini, pengirim seolah-olah mengatakan bahwa data yang dikirmkannya benar-benar berasal darinya. Skema dari protokol untuk otentikasi perangkat dapat dilihat pada Gambar III-1. Gambar III-1 Protokol untuk Otentikasi Perangkat

III-3 Jalannya protokol otentikasi perangkat dapat dijelaskan sebagai berikut: 1. Perangkat A membangkitakan bilangan bulat acak yang besar x kemudian menghitung X = g x mod n. Pembangkitan bilangan acak menggunakan teknik Secure Hash Algorithm Pseudo Number Generator dengan umpan alamat perangkat Bluetooth dan waktu pada saat tersebut. Sehingga nilai ini akan terkait dengan nilai unik perangkat Bluetooth. 2. Perangkat A menandatangani bilangan X dengan kunci rahasianya (M = E PrKA (X)), kemudian mengirimkan X dan M ke perangkat B. 3. Perangkat B juga membangkitkan bilangan bulat acak besar y dengan metode yang sama dengan perangkat A, kemudian menghitung Y = g y mod n. 4. Perangkat B juga menandatangani bilangan Y dengan kunci rahasianya (N = E PrKB (Y)), kemudian mengirimkan Y dan N ke perangkat A. 5. Perangkat A menerima data dari perangkat B yaitu bilangan X dan M. Perangkat A kemudian mendekripsi M dengan kunci publik perangkat B (D PbKB (M)) kemudian mencocokan hasilnya dengan X. 6. Jika datanya sama, maka perangkat A menghitung kunci akhir K = Y x mod n. Hal ini berarti perangkat A berhasil mengotentikasi perangkat B. Jika datanya berbeda berarti proses otentikasi perangkat B oleh perangkat A gagal dan komunikasi akan dibatalkan. 7. Perangkat B menerima data dari perangkat A yaitu bilangan Y dan N. Perangkat B kemudian mendekripsi N dengan kunci publik perangkat A (D PbKB (M)) kemudian mencocokan hasilnya dengan Y. 8. Jika datanya sama, maka perangkat B menghitung kunci akhir K = X y mod n, dimana nilai K = K. Hal ini berarti perangkat B berhasil mengotentikasi perangkat A. Jika datanya berbeda berarti proses otentikasi perangkat A oleh perangkat B gagal dan komunikasi akan dibatalkan. Sebagai prerequisite dari protokol ini, setiap perangkat haruslah terlebih dahulu telah memiliki pasangan kunci publik dan kunci privat dimana kunci publiknya telah dikirimkan kepada pihak yang diajak berkomunikasi. Pengiriman kunci publik dapat dilakukan sebelum komunikasi dilakukan, karena sifatnya yang publik jadi tidak ada kebutuhan pengamanan. Untuk nilai g, n hanya perlu dihtiung oleh salah satu perangkat kemudian dikirimkan kepada perangkat lainnya, yang lebih lanjut proses

III-4 pengiriman ini disebut dengan proses handshaking. Sedangkan, untuk fungsi enkripsi dapat digunakan algoritma RSA seperti yang telah dijelaskan bab 2. Contoh Protokol untuk otentikasi perangkat adalah sebagai berikut. Misalkan dua buah perangkat akan berkomunikasi maka terlebih dahulu perangkat ini akan melakukan proses handshaking, misal disepakati bilangan dasar g = 25657 dan n = 49663. Sementara kunci publik perangkat A = (136, 38579) dan kunci publik perangkat B = (211, 46127) yang telah diketahui satu sama lain. Sedangkan untuk kunci rahasia perangkat A = (21427, 38579) dan perangkat B = (34651, 46127). Protokol yang dilakukan adalah: 1. Perangkat A membangkitkan secara random suatu bilangan rahasia x = 20393 kemudian menghitung X = g x mod n = 25657 20393 mod 49663 = 32560 2. Perangkat A menandatangani bilangan X yaitu dengan mengenkripsinya menggunakan kunci rahasianya M = (E PrKA (X)) = E (21427,38579) (32560) = 16964, kemudian mengirimkan kedua data tersebut ke perangkat B. 3. Perangkat B juga membangkitkan suatu bilangan rahasia secara random y = 25799 dan menghitung Y = g y mod n = 25657 25799 mod 49633 = 41118 4. Perangkat B menandatangani bilangan Y dengan kunci rahasianya N = (E PrKB (Y)) = E (34651,46127) (41118) = 10765, kemudian mengirimkan kedua data tersebut ke perangkat A. 5. Perangkat A menerima data dari perangkat B yaitu bilangan Y dan N yang merupakan tanda tangannya. Perangkat A kemudian mendekripsi N dengan kunci publik perangkat B (D PbKB (N)) = D (211, 46127) (10765), kemudian mencocokan dengan data aslinya (Y = 41118). 6. Jika datanya sama, maka perangkat A menghitung kunci akhir K = 41118 20393 mod 49663 = 11438. Namun, jika ternyata datanya berbeda maka otentikasi gagal dan perangkat A akan menolak untuk berkomunikasi dengan perangkat B. 7. Perangkat B juga menerima data dari perangkat A yaitu bilangan X dan M. Perangkat B kemudian mendekripsi M dengan kunci publik perangkat A (D PbKA (M)) = D (136, 38579) (16964), kemudian mencocokan dengan data aslinya (X = 32560).

III-5 8. Jika datanya sama, maka perangkat B menghitung kunci akhir K = 32560 25799 mod 49663 = 11438. Namun, jika ternyata datanya berbeda maka otentikasi gagal dan perangkat B akan menolak untuk berkomunikasi dengan perangkat A. 3.2 Otentikasi Pengguna dengan Kriptografi Kunci-Publik III.2.1 Dasar Pemikiran Untuk memastikan bahwa pihak yang diajak berkomunikasi adalah pihak yang benar maka selain perangkat maka pengguna juga harus diotentikasi. Hal ini dilakukan karena munculnya masalah device impersonation, yaitu suatu tindakan untuk meniru atau memalsukan perangkat Bluetooth guna dapat berkomunikasi pada level keamanan tertentu dengan perangkat lain. Pemalsuan dilakukan biasanya terhadap alamat dari suatu perangkat, karena setiap perangkat Bluetooth akan mengenali perangkat lain melalui alamatnya. Pihak yang tidak berhak akan memodifikasi perangkat mereka sehingga seolah-olah menjadi perangkat yang sudah dikenali oleh perangkat yang akan diserang. Dengan demikian, pihak penyerang akan dapat berkomunikasi dengan leluasa dengan korban. Kelemahan diatas dapat diatasi dengan melakukan otentikasi tidak hanya untuk perangkat melainkan juga untuk pengguna dari perangkat yang bersangkutan. Jadi, sebelum dapat berkomunikasi maka pengguna harus terlebih dahulu mengotentikasikan dirinya kepada perangkat lain yang akan diajak berkomunikasi. Disamping itu pengenalan terhadap suatu perangkat juga tidak hanya dilakukan dengan alamatnya saja, melainkan dilakukan dengan kombinasi antara alamat dengan kunci publik pengguna perangkat yang bersangkutan. Informasi ini dapat dipergunakan oleh pihak yang akan berkomunikasi untuk mengotentikasi pengguna satu sama lain. III.2.2 Pemodelan Protokol untuk Otentikasi Pengguna Otentikasi pengguna dapat dilakukan dengan melibatkan pengguna dalam proses handshaking suatu perangkat dengan perangkat lainnya. Keterlibatan ini dapat dijadikan sarana untuk memastikan bahwa pengguna tersebut adalah pengguna yang benar. Disini sebelum dapat berkomunikasi maka pengguna diharuskan untuk memasukan kunci (layaknya password) ke perangkat yang dipergunakannya. Adapun

III-6 kunci yang harus dimasukan oleh pengguna adalah kunci privatnya. Hal ini dapat dilakukan karena fakta bahwa format kunci pada algoritma RSA adalah kombinasi dua angka (e, n). Baik kunci publik dan kunci privat sama-sama menggunakan format ini, biasanya jika kunci publiknya (e, n) maka kunci privatnya (d, n). Jadi, disini terlihat bahwa antara kunci publik dan kunci privat terdapat data yang sama, yaitu n. Fakta ini memungkinkan tidak semua data kunci privat harus dimasukan oleh pengguna. Data kunci yang sama antara kunci publik dan kunci privat dapat disimpan pada perangkat yang akan dipergunakan untuk komunikasi. Sehingga pengguna hanya perlu memasukan bagian lain dari kunci privat, yaitu d. Setelah itu, proses otentikasi pengguna akan dimulai. Perangkat yang telah menerima input kunci tersebut akan meminta untuk dapat terhubung dengan perangkat lain. Perangkat yang dihubungi tersebut, yang telah meyimpan kunci publik dari pengguna perangkat yang menghubunginya, akan menggunakan teknik challenge and response. Adapun teknik tersebut dapat dilihat pada Gambar III-2. Gambar III-2 Challenge and Response Jalannya protokol untuk otentikasi pengguna adalah sebagai berikut: 1. Pengguna B dengan perangkatnya hendak terhubung dengan perangkat A. Maka pengguna B memasukan sebagian dari kunci privatnya ke perangkat B sebagai media otentikasi.

III-7 2. Ketika permintaan untuk terhubung ke perangkat A diinisiasi oleh perangkat B, perangkat A akan membangkitkan bilangan acak n. Adapun mekanisme pembangkitan nilai acak ini menggunakan Secure Hash Algorithm Pseudo Number Generator (SAH1PNRG) dengan umpan data kunci privat dan waktu pada saat itu. 3. Perangkat A akan menghitung nilai M dengan mengenkripsi nilai n menggunakan kunci publik pengguna B, kemudian mengirimkan M ke perangkat B. 4. Perangkat B diharuskan untuk menghitung nilai N dengan mendekripsi nilai M yang didapat dari perangkat A dan mengirimkan nilai N ke perangkat A. Disamping itu perangkat B juga akan membangkitkan bilangan acak o yang kemudian dienkripsi dengan menggunakan kunci publik perangkat A (P). Hasil ini akan dikirimkan ke perangkat A bersamaan dengan nilai N. 5. Selanjutnya perangkat A akan mencocokan nilai N yang diperoleh dari perangkat B dengan nilai n yang dibangkitan diawal. Jika nilai n sama dengan nilai N berarti pengguna yang meminta untuk terhubung adalah pengguna yang benar. Jika tidak, berarti otentikasi pengguna B oleh A gagal dan hubungan diputus. 6. Ketika perangkat A berhasil mengotentikasi perangkat B terakhir perangkat A harus menghitung nilai O dengan mendekripsi nilai P yang dikirimkan perangkat B kemudian mengirimkan kembali hasilnya ke perangkat B. 7. Terakhir perangkat B akan menghitung mecocokan nilai O yang dikirim oleh perangkat A dengan nilai o. Jika hasilnya sama berarti pengguna A adalah pengguna yang otentik (B berhasil mengotentikasi pengguna A), dan sebaliknya. Disini, diangap bahwa pihak yang akan berkomunikasi telah terlebih dahulu mengetahui kunci publik masing-masing. Kunci publik dapat diumumkan melalui saluran-saluran komunikasi lain, yang terpenting adalah pihak yang berkomunikasi mendapatkan kunci publik yang benar dari pihak yang diajak berkomunikasi. Pada dasarnya kunci publik ini dapat juga sekaligus dikirimkan pada saat inisiasi komunikasi Bluetooth, hanya saja jika ini dilakukan masih ada kemungkinan man-inthe-midle-attack walaupun kemungkinannya sangat kecil.

III-8 Contoh dari aplikasi dari protokol otentikasi pengguna ini adalah sebagai berikut. Untuk kunci publik dan privat akan digunakan kembali data pada contoh sebelumnya. Misal B ingin terhubung ke A, maka B akan menginisiasi komunikasi. 1. Pengguna B memasukan sebagian kunci privatnya yaitu 34651. 2. Perangkat A membangkitan bilangan acak n, misal n = 976. 3. Selanjutnya perangkat A akan menghitung nilai M = E (211, 46127) (976) = 976 211 mod 46127 = 18797. Kemudian A mengirimkan nilai ini kepada B. 4. Ketika perangkat B menerima nilai M = 18797, perangkat B akan menghitung N = D (34651, 46127) (18797) = 18797 34651 mod 46127 = 976. Nilai N ini akan dikirimkan kembali ke A. Bersamaan dengan ini perangkat B juga akan membangkitkan nilai acak o, misal o = 556 dan menghitung nilai P = E (136, 38579)(556) = 556 136 mod 38579 = 21940 untuk dikirimkan ke A. 5. Perangkat A menerima nilai N dan P dari perangkat B kemudian mencocokan nilai N ini dengan nilai n (n == N). Ternyata nilainya sama ini berarti pengguna B adalah pengguna yang benar dan otentikasi pengguna berhasil dilakukan. 6. Setelah A berhasil mengotentikasi pengguna B selanjutnya perangkat A menghitung nilai O = D (21427, 38579) (21940) = 21940 21427 mod 38579 = 556. Nilai O ini dikirimkan kembali kepada perangkat B. 7. Terakhir perangkat B menerima nilai O kemudian mencocokan hasilnya dengan nilai o. Jika hasilya sama berarti pengguna A adalah pengguna yang otentik berarti proses otentikasi berhasil dan sebalikya. 3.3 Perbandingan Metode Otentikasi Gambar III-3 dan III-4 memperlihatkan mekanisme otentikasi untuk komunikasi Bluetooth yang sudah ada saat ini dan mekanisme otentikasi baru yang diusulkan. Terlihat bahwa pada mekanisme yang sudah ada belum mengimplementasikan otentikasi pada sisi user. Disamping itu terlihat pula bahwa pada mekanisme otentikasi yang sebelumnya lebih banyak mempertukarkan data dalam bentuk plainteks berupa bilangan random, yang mana data-data tersebut berhubungan langsung dengan PIN yang dipergunakan.

III-9 Gambar III-3 Mekanisme otentikasi sekarang Gambar III-4 Mekanisme otentikasi yang diusulkan

III-10 3.4 Pembangkitan Bilangan Acak Seperti yang telah dijelaskan sebelumnya bahwa untuk melakukan otentikasi perangkat dan pengguna diperlukan suatu bilangan acak yang dibangkitkan pada saat proses otentikasi dilakukan. Bilangan acak disini memegang peranan penting, maka dari itu diperlukan suatu mekanisme pembangkitan bilangan acak yang aman. Untuk keperluan ini maka akan dipergunakan tenik Secure Hash Algorithm Pseudo Random Generator (SHA1PNRG) dengan umpan suatu bilangan yang didapat dari nilai unik Bluetooth atau kunci privat pengguna yang kemudian dikombinasikan dengan waktu pada saat itu. Terdapat dua mekanisme pembangkitan bilangan acak yang diperlukan, yaitu pada saat melakukan otentikasi perangkat dan pengguna. Adapun kedua mekanisme tersebut adalah sebagai berikut: 1. Pembangkitan bilangan acak untuk otentikasi perangkat Diperlukan masukan berupa alamat unik dari perangkat Bluetooth client (BD_ADDR), kunci pengguna dan waktu pada saat itu. Pertama nilai unik dari bluetooth ini akan di-xor-kan dengan waktu. Kemudian dirotasi ke kiri sejauh panjang kunci bit dari kunci pengguna. Nilai inilah yang akan dijadikan umpan untuk SHA1PNRG. Terakhir nilai acak akan di-xor-kan kembali dengan kunci pengguna, sehingga dihasilkan nilai acak final (FINAL_RAND). 2. Pembangkitan bilangan acak untuk otentikasi pengguna Pada prinsipnya pembangkitan bilangan acak disini hampir dengan pembangkitan bilangan acak pada otentikasi perangkat. Hanya saja masukan untuk proses ini adalah kunci privat pengguna (PRI_KEY) dan waktu pada saat itu. Proses selanjutnya sama dengan pada saat otentikasi perangkat, dan hasil akhirnya adalah bilangan acak final. Proses dari pembangkitan diatas dapat dilihat pada gambar III-5. Gambar III-5 Proses pembangkitan bilangan acak