my final project - versi1.0 block cipher (blowfish) ... 18 oktober 2007, pukul 15.43 wib. xi ......

32
x DAFTAR REFERENSI [GEH04] Gehrmann,Christian dkk. (2004). Bluetooth Security. Artech House. [KLI04] Klingsheim, Andre N. (2004). J2ME Bluetooth Programming. [LWC03] Local Wireless Communication project team. (2003). Bluetooth Threats and Security Measures. http://grouper.ieee.org/groups/1451/5/Comparison%20of%20PHY/Blu etooth_24Security_Paper.pdf . Tanggal Akses: 18 Oktober 2007, pukul 10.11 WIB. [MUN06] Munir, Rinaldi. (2006). Dikat Kuliah IF5054 Kriptografi. [SCH94] Schneier, Bruce. (1994). Description of a New Variable Length Key, 64-bit Block Cipher (Blowfish). http://www.schneier.com/paper- blowfish-fse.html . Tanggal Akses : 25 Mei 2008, pukul 18.45 WIB. [SCH96] Schneier, Bruce. (1996). Applied Cryptography Second Edition. John Willey & Sons. [SHA05] Shaked, Yaniv and Wool, Avishai. (2005). Cracking the Bluetooth PIN. http://www.eng.tau.ac.il/~yash/shaked-wool-mobisys05/ . Tanggal Akses : 18 Oktober 2007, pukul 13.21 WIB. [SIG07] SIG , Bluetooth. (2007). Bluetooth Spesification Version 2.1 + EDR [SUN05] Sun, Jun-Zhao dkk. (2005) . Design, Implementation, and Evaluation of Bluetooth Security. http://www.mediateam.oulu.fi/publications/pdf/87.pdf . Tanggal Akses : 18 Oktober 2007, pukul 15.43 WIB.

Upload: vuongnhi

Post on 25-May-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

x

DAFTAR REFERENSI

[GEH04] Gehrmann,Christian dkk. (2004). Bluetooth Security. Artech House.

[KLI04] Klingsheim, Andre N. (2004). J2ME Bluetooth Programming.

[LWC03] Local Wireless Communication project team. (2003). Bluetooth

Threats and Security Measures.

http://grouper.ieee.org/groups/1451/5/Comparison%20of%20PHY/Blu

etooth_24Security_Paper.pdf.

Tanggal Akses: 18 Oktober 2007, pukul 10.11 WIB.

[MUN06] Munir, Rinaldi. (2006). Dikat Kuliah IF5054 Kriptografi.

[SCH94] Schneier, Bruce. (1994). Description of a New Variable Length Key,

64-bit Block Cipher (Blowfish). http://www.schneier.com/paper-

blowfish-fse.html.

Tanggal Akses : 25 Mei 2008, pukul 18.45 WIB.

[SCH96] Schneier, Bruce. (1996). Applied Cryptography Second Edition. John

Willey & Sons.

[SHA05] Shaked, Yaniv and Wool, Avishai. (2005). Cracking the Bluetooth

PIN. http://www.eng.tau.ac.il/~yash/shaked-wool-mobisys05/.

Tanggal Akses : 18 Oktober 2007, pukul 13.21 WIB.

[SIG07] SIG , Bluetooth. (2007). Bluetooth Spesification Version 2.1 + EDR

[SUN05] Sun, Jun-Zhao dkk. (2005) . Design, Implementation, and Evaluation

of Bluetooth Security.

http://www.mediateam.oulu.fi/publications/pdf/87.pdf.

Tanggal Akses : 18 Oktober 2007, pukul 15.43 WIB.

xi

DAFTAR PUSTAKA

[GEH04] Gehrmann,Christian dkk. (2004). Bluetooth Security. Artech House.

[JAV06] JavaNB. (2006). Securing Network Data - Wireless Java Developing

with J2ME, Second Edition,

http://book.javanb.com/wireless-java-developing-with-j2me

Tanggal Akses : 20 April 2008, pukul 14.25 WIB

[KAM02] Kammer, David dkk. (2002). Bluetooth Appplication Developer’s

Guide. Syngress

[MUN06] Munir, Rinaldi. (2006). Dikat Kuliah IF5054 Kriptografi, Program

Studi Teknik Informatika Institut Teknologi Bandung.

[PER06] Permadi, Rahadian Bayu. (2006). Aplikasi Instant Messaging untuk

Perangkat Nirkabel dengan Menggunakan Protokol Jabber pada

jaringan Bluetooth, Program Studi Teknik Informatika Institut

Teknologi Bandung.

[PRA05] Pranomo, Ranto. (2005). Studi dan Implementasi Protokol Diffie-

Hellman dengan Penambahan Otentikasi untuk Pertukaran Kunci,

Program Studi Teknik Informatika Institut Teknologi Bandung.

[SCH96] Schneir, Bruce. (1996). Applied Cryptography Second Edition. John

Willey & Sons.

[SIG07] SIG , Bluetooth. (2007). Bluetooth Spesification Version 2.1 + EDR

[SUN02] Sun. (2002). Java Cryptography Architecture Standard Algorithm

Name Documentation,

http://java.sun.com/javase/6/docs/technotes/guides/security/StandardN

ames.html.

Tanggal Akses : 25 Mei 2008, pukul 19.55 WIB.

xii

LAMPIRAN A : ALGORITMA SAFER+ Seperti yang telah dijelaskan pada bab II, bahwa algoritma kriptografi yang digunakan

pada Bluetooth didasarkan pada algoritma SAFER+ dengan sedikit modifikasi.

Modifikasi ini menghasilkan algoritma seperti E22, E21, E1, dan E3. Algoritma

SAFER+ ini terdiri dari dua subsistem yaitu key scheduling dan enkripsi.

Key scheduling membangkitkan 17 128 bit sub-kunci yang berbeda, yaitu K1 sampai

K17. Setiap putaran pada SAFER+ menggunakan dua buah sub-kunci dan satu kunci

terakhir digunakan untuk transformasi keluaran. Hal terpenting pada setiap langkah

pembangkitan kunci ini adalah setiap byte akan digeser (wraping) ke kiri sejauh tiga

bit dan kunci sepanjang 16 bit dipilih sebagai keluaran sub-kunci. Mekanisme ini juga

menggunakan 128 bit bias vector yang berbeda pada setiap langkahnya untuk

ditambahkan kepada keluaran byte yang dipilih. Prosesnya adalah sebagai berikut:

Adapun 16 bit bias vector (B2 sampai B17) yang digunakan mengikuti rumus berikut:

Bc[i] = ((45(4517c+i+1 mod 257) mod 257) mod 256),

untuk i = 0,.., 15.

Masing-masing bias vector digunakan untuk setiap langkah putaran kunci kecuali

pada langkah pertama. Sebagai catatan putaran pertama tidak mengandung perputaran

siklis. Gambar B-1 menggambarkan keseluruhan proses pembangkitan kunci.

Algoritma E22

Telah dijelaskan pada bab II bahwa algoritma E22 ini memerlukan input data:

1. Sebuah BD_ADDR (sepanjang 48 bit)

2. Kode PIN dan panjangnya

3. Nilia random sepanjang 128 bit (IN_RAND)

Pertama kali PIN dan BD_ADDR dikombinasikan untuk membentuk sebuah word

baru. Jika PIN ukurannya kurang dari 16 byte, maka beberapa byte dari BD_ADDR

akan ditambahkan kepada nilai PIN ini. Jika ukuran PIN lebih kecil dari 10 byte maka

semua byte dari BD_ADDR harus digunakan. Misal PIN’ adalah word baru yang

berhasil dibentuk, dan L’ adalah jumlah byte yang terkandung didalam PIN’.

Sekarang, jika ukuran L’ kurang dari 16 byte, maka nilai L’ ini akan diekspansi secara

xiii

siklis sampai akihirnya berukuran 16 byte. Sekarang misalkan PIN” adalah word

berikutnya. PIN” digunakan sebagai masukan untuk Ar’. IN_RAND digunakan sebagai

128 bit input data, setelah me-xor-kannya dengan the most significant byte dengan L’.

Gambar B-2 memperlihat proses yang dilakukan di dalam algoritma E22.

Gambar B-1 Proses key scheduling SAFER+ Algoritma E21

Data masukan untuk algoritma ini adalah:

1. Sebuah alamat dari Bluetooth sepanjang 48 bit (BD_ADDR)

2. Nilai random sepanjang 128 bit (LK_RAND)

Pertama, BD_ADDR diekspanse secara siklis untuk membentuk 128 bit word yang

akan digunakan sebagai masukan untuk Ar’. Kunci yang digunakan untuk Ar’ terdiri

xiv

dari nilai random 128 bit (LK_RAND), setelah me-xor-kan the most significant byte-

nya dengan 6 (dihasilkan LK_RAND’). Gambar B-3 menunjukan proses pada

algoritma E21.

Gambar B-2 Proses algoritma E22

Gambar B-2 Proses algoritma E21

Algoritma E1

Algoritma ini menerima masukan berupa:

1. Sebuah random word AU_RANDA

2. Kunci penghubung Klink

3. BD_ADDR

xv

Rancangan dari algoritma ini mengandung baik Ar dan Ar’. Kunci penghubung

digunakan dua kali. Pertama, digunakan untuk masukan dari Ar. Selanjutnya

digunakan untuk transformasi offset dan masukan Ar’ . Tranformasi offset

mengandung fungsi penambahan dan xor dari nilai byte-nya dengan suatu konstanta.

Rincian lengkap dari algorimta ini dapat dilihat pada Gambar B-4.

Gambar B-4 Proses Algoritma E1

xvi

Lampiran B: Flow Chart Bluetooth PIN Cracking

xvii

LAMPIRAN C: SKENARIO USE CASE

Tabel C-1 Skenario Use Case Manage Key

Nomor Use Case UC-MK Aktor User Prekondisi Aplikasi menampilkan layar utama

Skenario Normal (UC-MK-01) Aksi Aktor Reaksi Sistem

1. Memilih menu manage key. 2.Melakukan query ke database untuk mendapatkan daftar kunci publik yang tersimpan. 4.Menampilkan daftar kunci publik yang tersimpan dalam database sistem. 5.Menampilkan menu untuk manajemen kunci

Kondisi Akhir Aplikasi menampilkan daftar kunci publik yang tersimpan dalam database sistem dan menu manage

Tabel C-2 Skenario Use Case Insert Key

Nomor Use Case UC-IK Aktor User Prekondisi Aplikasi menampilkan daftar kunci publik yang

tersimpan dalam database sistem dan menu manage

Skenario Normal (UC-IK-01) Aksi Aktor Reaksi Sistem

1. Memilih menu manage. 2.Aplikasi menampilkan sub-menu insert, edit dan delete.

3.Memilih sub-menu insert. 4.Aplikasi menampilkan form untuk memasukan data kunci publik.

5.Memasukan data kunci publik 6.Mekan tombol “OK”

7.Aplikasi memvalidasi masukan user 8.Aplikasi menyimpan data kunci publik baru yang dimasukan user ke dalam database. 9.Aplikasi menampilkan daftar kunci publik baru.

Kondisi Akhir Data kunci publik baru berhasil disimpan ke dalam database dan aplikasi menampilkan daftar kunci publik.

Skenarion Alternatif I : Form tidak lengkap (UC-IK-02)1. Memilih menu manage. 2.Aplikasi menampilkan sub-menu insert, edit

dan delete. 3.Memilih sub-menu insert. 4.Aplikasi menampilkan form untuk memasukan

data kunci publik. 5.Memasukan data kunci publik 6.Mekan tombol “OK”

7.Aplikasi memvalidasi masukan user 8.Aplikasi menampilkan pesan “Field(s) can not be empty !”. 9.Aplikasi kembali menampilkan form dan menandai field yang kosong.

Kondisi Akhir Tidak ada data kunci publik baru yang berhasil disimpan dalam database dan aplikasi kembali menampilkan form

Skenarion Alternatif II : ID untuk kunci publik sudah ada dalam database (UC-IK-03) 1. Memilih menu manage. 2.Aplikasi menampilkan sub-menu insert, edit

dan delete. 3.Memilih sub-menu insert. 4.Aplikasi menampilkan form untuk memasukan

data kunci publik. 5.Memasukan data kunci publik 7.Aplikasi memvalidasi masukan user

xviii

6.Mekan tombol “OK” 8.Aplikasi menyimpan data kunci publik baru yang dimasukan user ke dalam database. 9.Aplikasi menampilkan pesan “Error, ID already exist !” 10.Aplikasi kembali menampilkan form dan menandai field ID.

Kondisi Akhir Tidak ada data kunci publik baru yang berhasil disimpan dalam database dan aplikasi kembali menampilkan form.

Tabel C-3 Skenario Use Case Edit Key

Nomor Use Case UC-DK Aktor User Prekondisi Aplikasi menampilkan daftar kunci publik yang

tersimpan dalam database sistem dan menu manage

Skenario Normal (UC-EK-01) Aksi Aktor Reaksi Sistem

1.Memilih data kunci publik yang akan dirubah 2.Memilih menu manage.

3.Aplikasi menampilkan sub-menu insert, edit dan delete.

4.Memilih sub-menu edit. 5.Aplikasi menampilkan form yang telah terisisi data sesuai data kunci publik lama untuk dirubah kecuali data ID yang tidak bisa dirubah.

6.Merubah data kunci publik 7.Mekan tombol “OK”

8.Aplikasi memvalidasi masukan user 9.Aplikasi kembali menyimpan data kunci publik hasil editing user ke dalam database. 10.Aplikasi menampilkan daftar kunci publik baru.

Kondisi Akhir Data kunci publik berhasil dirubah dan disimpan kembali kedalam database serta aplikasi menampilkan daftar kunci publik baru.

Skenarion Alternatif I : Form tidak lengkap (UC-IK-02)1.Memilih data kunci publik yang akan dirubah 2.Memilih menu manage.

3.Aplikasi menampilkan sub-menu insert, update dan delete.

4.Memilih sub-menu edit. 5.Aplikasi menampilkan form yang telah terisisi data sesuai data kunci publik lama untuk dirubah kecuali data ID yang tidak bisa dirubah.

5.Merubah data kunci publik 6.Mekan tombol “OK”

7.Aplikasi memvalidasi masukan user 8.Aplikasi menampilkan pesan “Fields can not be empty !”. 9.Aplikasi kembali menampilkan form dan menandai field yang kosong.

Kondisi Akhir Tidak ada data kunci publik yang berhasil dirubah dan aplikasi kembali menampilkan form.

Tabel C-4 Skenario Use Case Delete Key

Nomor Use Case UC-DK Aktor User Prekondisi Aplikasi menampilkan daftar kunci publik yang

tersimpan dalam database sistem dan menu manage

Skenario Normal (UC-DK-01) Aksi Aktor Reaksi Sistem

1.Memilih data kunci publik yang akan dihapus 2.Memilih menu manage.

3.Aplikasi menampilkan sub-menu insert, edit dan delete.

4.Memilih sub-menu delete. 5.Aplikasi menampilkan pesan konfirmasi “Are you sure to delete this key ?” (yes/no)

6.Memilih “Yes” 8.Aplikasi menghapus data kunci yang dipilih dari

xix

database. 9.Aplikasi menampilkan daftar kunci publik baru.

Kondisi Akhir Data kunci publik berhasil dihapus dari database dan aplikasi menampilkan daftar kunci publik baru.

Skenarion Alternatif I : User membatalkan penghapusan (UC-IK-02) 1.Memilih data kunci publik yang akan dihapus 2.Memilih menu manage.

3.Aplikasi menampilkan sub-menu insert, edit dan delete.

4.Memilih sub-menu delete. 5.Aplikasi menampilkan pesan konfirmasi “Are you sure to delete this key ?” (yes/no)

6.Memilih “No” 8.Aplikasi kembali menampilkan daftar kunci publik.

Kondisi Akhir Tidak ada data kunci publik yang dihapus dari database dan aplikasi kembali menampilkan daftar kunci publik.

Tabel C-5 Skenario Use Case Search Device

Nomor Use Case UC-SD Aktor User Prekondisi Aplikasi menampilkan layar utama

Skenario Normal (UC-SD-01) Aksi Aktor Reaksi Sistem

1.Memilih menu search device

2.Aplikasi melakukan pencarian perangkat lain disekitar yang sedang aktif pada berada pada mode discoverable. 3.Setelah 10 detik pencarian perangkat lain dilakukan makan pencarian dihentikan kemudian perangkat menampilkan daftar perangkat yang didapat pada saat itu.

Kondisi Akhir Aplikasi menampilkan daftar perangkat di sekitar yang sedang aktif pada saat itu .

Tabel C-6 Skenario Use Case Connect

Nomor Use Case UC-CN Aktor User, BlueSeFT Partner Prekondisi Aplikasi menampilkan daftar perangkat di sekitar

yang sedang aktif pada saat itu . Skenario Normal (UC-CN-01)

Aksi Aktor (User) Aksi Aktor (BlueSeFT Partner)

Reaksi Sistem

1. Memilih salah satu perangkat yang akan dihubungi 2.Menekan tombol “connect”

3.Menghubungi perangkat yang bersangkutan untuk meminta dapat terhubung.

4.Mengirimkan data pertanda otentikasi dapat dilanjutkan (data yang dikirimkan berupa pasangan bilangan {g,n} untuk otentikasi perangkat).

5.Menerima data pertanda otentikasi dapat dilanjutkan 6. Menampilkan data kunci publik yang akan dipergunakan untuk mengontentikasi pihak lawan 7.Melakukan otentikasi. 8.Menampilkan pesan “Device connected”

Kondisi Akhir Perangkat berhasil terhubung dengan perangkat lain

Skenario Alternatif I : Perangkat partner menolak terhubung (UC-CN-02) 1. Memilih salah satu perangkat yang akan dihubungi 2.Menekan tombol “connect”

3.Menghubungi perangkat yang bersangkutan untuk meminta dapat terhubung.

4.Mengirimkan data 5.Menerima data pertanda

xx

pertanda otentikasi tidak dapat dilanjutkan.

otentikasi tidak dapat dilanjutkan. 6.Menampilkan pesan “Partner rejects connection !”

Kondisi Akhir Hubungan antar perangkat dibatalkan Skenario Alternatif II : Otentikasi gagal (UC-CN-03)

1. Memilih salah satu perangkat yang akan dihubungi 2.Menekan tombol “connect”

3.Menghubungi perangkat yang bersangkutan untuk meminta dapat terhubung.

4.Mengirimkan data pertanda otentikasi dapat dilanjutkan (data yang dikirimkan berupa pasangan bilangan {g,n} untuk otentikasi perangkat).

5.Menerima data pertanda otentikasi tidak dapat dilanjutkan. 6.Melakukan otentikasi. 7.Menampilkan pesan “Authentication is failed”

Kondisi Akhir Otentikasi gagal hubungan antar perangkat dibatalkan.

Skenario Alternatif III : Koneksi ke perangkat yang tidak mendukung atau sibuk (UC-CN-04)1. Memilih salah satu perangkat yang akan dihubungi 2.Menekan tombol “connect”

3.Menghubungi perangkat yang bersangkutan untuk meminta dapat terhubung.

4.Mendeteksi bahwa perangkat client tidak mendukung layanan BlueSeFT. 5.Menampilkan pesan "Tidak bisa terkoneksi, karena perangkat client sedang sibuk atau tidak mendukung layanan BlueSeFT !"

Tabel C-7 Skenario Use Case Authenticate

Nomor Use Case UC-AU Aktor User, BlueSeFT Partner Prekondisi Pertanda otentikasi dapat dilanjutkan telah

diterima dan aplikasi menampilkan data kunci publik yang akan dipergunakan untuk mengontentikasi pihak lawan

Skenario Normal (UC-AU-01) Aksi Aktor (User) Aksi Aktor (BlueSeFT

Partner) Reaksi Sistem

1. Memilih data kunci publik dari pihak lawan yang akan diajak untuk berkomunikasi. 2.Memasukan data kunci privat

3.Mengirimkan data hasil enkripsi dengan kunci publik user

4.Menerima data hasil enkripsi dengan kunci publik user dari partner 5.Mendekripsi data yang diterima tersebut dengan kunci privat user. 6.Mengirimkan data hasil dekripsi ke perangkat partner. 7.Membangkitkan suatu nilai random 8.Menghitung nilai X = gx mod n 9.Menandatangani nilai X 10.Kemudian mengirim nilai X dan tanda tangannya ke pada partner

11.Mengirimkan suatu nilai 12.Menerima suatu nilai dengan

xxi

disertai tanda tangannya tanda tangannya 13.Memverifikasi kesesuaian nilai dengan tanda tangannya.

Kondisi Akhir Otentikasi berhasil dan kunci rahasia telah berhasil tersimpan.

Skenario Alternatif I : Perangkat partner mendeteksi kesalahan 1 (UC-AU-02) 1. Memilih data kunci publik dari pihak lawan yang akan diajak untuk berkomunikasi. 2.Memasukan data kunci privat

3.Mengirimkan data hasil enkripsi dengan kunci publik user

4.Menerima data hasil enkripsi dengan kunci publik user dari partner 5.Mendekripsi data yang diterima tersebut dengan kunci privat user. 6.Mengirimkan data hasil dekripsi ke perangkat partner.

7.Memutuskan hubungan 8.Mendeteksi perangkat partner memutuskan hubungan.

Kondisi Akhir Otentikasi gagal, hubungan terputus. Skenario Alternatif II : Perangkat partner mendeteksi kesalahan 2 (UC-AU-03)

1. Memilih data kunci publik dari pihak lawan yang akan diajak untuk berkomunikasi. 2.Memasukan data kunci privat

3.Mengirimkan data hasil enkripsi dengan kunci publik user

4.Menerima data hasil enkripsi dengan kunci publik user dari partner 5.Mendekripsi data yang diterima tersebut dengan kunci privat user. 6.Mengirimkan data hasil dekripsi ke perangkat partner. 7.Membangkitkan suatu nilai random 8.Menghitung nilai X = gx mod n 9.Menandatangani nilai X 10.Kemudian mengirim nilai X dan tanda tangannya ke pada partner

11. Memutuskan hubungan Mendeteksi perangkat partner memutuskan hubungan.

Kondisi Akhir Otentikasi gagal, hubungan terputus. Skenario Alternatif III : Perangkat partner tidak otentik (UC-AU-04)

1. Memilih data kunci publik dari pihak lawan yang akan diajak untuk berkomunikasi. 2.Memasukan data kunci privat

3.Mengirimkan data hasil enkripsi dengan kunci publik user

4.Menerima data hasil enkripsi dengan kunci publik user dari partner 5.Mendekripsi data yang diterima tersebut dengan kunci privat user. 6.Mengirimkan data hasil dekripsi ke perangkat partner. 7.Membangkitkan suatu nilai random 8.Menghitung nilai X = gx mod n 9.Menandatangani nilai X 10.Kemudian mengirim nilai X dan tanda tangannya ke pada partner

xxii

11.Mengirimkan suatu nilai disertai tanda tangannya

12.Menerima suatu nilai dengan tanda tangannya 13.Memverifikasi kesesuaian nilai dengan tanda tangannya. 15.Memutuskan hubungan

Kondisi Akhir Otentikasi gagal, hubungan terputus.

Tabel C-8 Skenario Use Case Send Data

Nomor Use Case UC-SN Aktor User Prekondisi Perangkat dan pengguna yang berkomunikasi

telah terotentikasi dan terkoneksi satu sama lain Skenario Normal (UC-SN-01)

Aksi Aktor Reaksi Sistem 1. Mempersiapkan data yang akan dikirimkan 2.Menekan tombol “send”

3.Mengenkripsi data dengan kunci rahasia dari hasil otentikasi dengan algoritma RC4. 4.Mengirimkan data hasil enkripsi ke partner

Kondisi Akhir Data berhasil dikirimkan ke partner

Tabel C-9 Skenario Use Case Receive Data

Nomor Use Case UC-RD Aktor BlueSeFT Partner Prekondisi Perangkat dan pengguna yang berkomunikasi

telah terotentikasi dan terkoneksi satu sama lain Skenario Normal (UC-SN-01)

Aksi Aktor Reaksi Sistem 1. Mengirimkan data yang telah dienkripsi 3.Menerima data dan mendekripsinya

4.Menampilkan data yang telah dienkripsi sesuai bentuknya.

Kondisi Akhir Data berhasil diterima.

Tabel C-10 Skenario Use Case Request Connection

Nomor Use Case UC-RD Aktor User, BlueSeFT Partner Prekondisi -

Skenario Normal (UC-RD-01) Aksi Aktor (BlueSeFT Partner) Aksi Aktor (User) Reaksi Sistem 1. Menghubungi perangkat untuk meminta dapat terkoneksi

2.Menampilkan pesan “A device request for connection (accept/deny) ?”

3.Menekan tombol “accept “

4.Mengirimkan data pertanda otentikasi dapat dilanjutkan (data yang dikirimkan berupa pasangan bilangan {g,n} untuk otentikasi perangkat).

Kondisi Akhir Perangkat terhubung dengan perangkat lain

Skenario Alternatif I : Pengguna menolak untuk terhubung (UC-RD-02) 1. Menghubungi perangkat untuk meminta dapat terkoneksi

2.Menampilkan pesan “A device request for connection (accept/deny) ?”

3.Menekan tombol “accept “

4.Menolak permintaan untuk terhubung

Kondisi Akir Perangkat tidak terhubung dengan perangkat lain.

xxiii

Tabel C-11 Skenario Use Case Configure

Nomor Use Case UC-CF Aktor User Prekondisi Aplikasi menampilkan layar utama

Skenario Normal (UC-CF-01) Aksi Aktor Reaksi Sistem

1. Memilih menu “configure” 2.Menampilkan form untuk konfigurasi aplikasi 3.Memasukan data konfigurasi ke dalam form konfigurasi yang disediakan 4.Menekan tombol “save”

4.Memvalidasi masukan user 5.Menyimpan data hasil konfigurasi user 6.Meng-update aplikasi sesuai konfigurasi yang baru

Kondisi Akhir Konfigurasi yang baru disimpan dan aplikasi di-update sesuai data konfigurasi yang baru.

Skenario Alternatif I : Data yang dimasukan user tidak valid (UC-CF-02) 1. Memilih menu “configure” 2.Menampilkan form untuk konfigurasi aplikasi 3.Memasukan data konfigurasi ke dalam form konfigurasi yang disediakan 4.Menekan tombol “save”

4.Memvalidasi masukan user 5.Menampilkan pesan “Data is not valid ” 6.Menampilkan kembali form konfigurasi dan menandai fields dimana data yang dimasukan tidak valid.

Kondisi Akhir Tidak ada konfigurasi baru yang disimpan dan aplikasi kembali menampilkan form konfigurasi dengan menandai setiap field yang tidak valid.

xxiv

LAMPIRAN D: PERANCANGAN FUNGSI DAN PROSEDUR PADA KELAS-KELAS PERANGKAT LUNAK BLUESEFT

D.1 Kelas Authenticator 1. public function getRandom

Mengembalikan suatu nilai acak yang aman untuk kriptografi

2. public function encryptRSA

Mengembalikan nilai hasil enkripsi data menggunakan algoritma RSA.

3. public function decryptRSA

Mengembalikan nilai hasil dekripsi dengan menggunakan algoritma

RSA (dapat sekaligus dipergunakan untuk melakukan tanda tangan

digital dan pertukaran kunci dengan protokol Diffie-Hellman yang

akan menghasilkan kunci sepanjang 20 digit)

4. public function doClientRSA

Mengembalikan nilai hasil proses masukan dengan menggunakan

algoritma RSA.

5. public procedure setClientKey

IS : nilai client key masih null

FS : nilai client key sudah terdefinisi sesuai dengan masukan

Proses : mendefinisikan nilai client key sesuai dengan masukan

yang diberikan sebagai paramete input dari procedure ini

D.2 BTListener 1. public porcedure handleAction

(merupakan kelas interface sehingga procedure ini tidak

diimplemetasikan disini)

D.3 BlueSeFT 1. private procedure initialize

IS : Semua atribut kelas belum dialokasi dan diinisialisasi

FS : Atribut dari kelas telah diinisialisasi dan dialokasikan

Proses : melakukan alokasi dan inisialsasi atribut kelas

2. private procedure startMIDlet

IS : aplikasi belum dijalankan

FS : aplikasi berjalan pada perangkat mobile

Proses :

3. public procedure exitMIDlet

IS : aplikasi masih berjalan

xxv

FS : aplikasi tertutup

Proses : semua memory yang sedang dipegang oleh atribut dilepas

dan aplikasi di deinisialisasi.

4. public procedure startApp

IS : semua atribut belum terinisialisasi

FS : procedure startMidlet dipanggil dan atribut diinisialisais

Proses : menginisialisasi semua atribut dan menjalan aplikasi

5. public procedure destroyApp

IS : atribut masih teralokasi.

FS : semua memori yang dipegang oleh atribut sudah dilepaskan .

Proses : merelease semua memori yang sedang dipegang oleh atribut

pada kelas.

6. public procedure commandAction

IS : aplikasi belum melakukan apa-apa

FS : aplikasi melakukan aksi sesuai dengan command yang dipilih

Proses : memanggil method sesuai dengan command yang dipilih

7. public procedure handleAction

IS : aplikasi belum melakukan apa-apa

FS : aplikasi melakukan aksi sesuai dengan aksi yang dikirimkan

Proses : memanggil method sesuai dengan aksi yang diterima yang

dipilih

8. public procedure aboutForm

IS : aplikasi belum menampilkan about form

FS : about form ditampilkan oleh aplikasi

Proses : memanggil about form dan menampilkannya ke user

9. public procedure displayAlertForever

IS : aplikasi belum menampilkan pesan yang dikirimkan

FS : pesan yang diterima ditampilkan oleh aplikasi

Proses : memanggil method pemanggilan pesan sesuai dengan jenis

pesan yang diterima.

D.4 BluetoothBrowser 1. public void init

IS : atribut kelas belum teralokasi dan terinisialisasi

FS : atribut kelas telah teralokasi dan terinisialisasi

Proses : mengalokasikan memori untuk atribut dan menge-set nilai

awal atribut.

2. public function getDevicesFound

Mengem semua data perangkat yang ditemukan ketikan melakukan

device inquiry

3. public function getServiceFound

xxvi

Mengembalikan semua service record yang ditemukan ketika melakukan

service inquiry

4. public procedure deviceDiscovered

IS : Proses device inquiry sudah dimulai

FS : Semua perangkat yang ditemukan disimpan kedalam sebuah vector

Proses : mendapatkan setiap perangkat yang ditemukan pada proses

device inquiry dan menambahkannya ke dalam vector.

5. public procedure servicesDiscovered

IS : proses service inquiry sudah dimulai

FS : Service dengan UUID BlueSeFT yang ditemukan pada suatu

perangkat disimpan untuk dikoneksikan

Proses : melakukan pencarian service sesuai dengan UUID BlueSeFT

untuk dikoneksikan.

6. public procedure serviceSearchCompleted

IS : proses service inquiry masih dilakukan

FS : proses service inquiry selesai dilakukan

Proses : menghentikan proses service inquiry

7. public procedure inquiryCompleted

IS : proses device inquiry masih dilakukan

FS : proses device inquiry selesai dilakukan

Proses : menghentikan proses device inquiry

8. public procedure doDeviceDiscovery

IS : proses device inquiry belum dimulai

FS : proses device inquiry dimulai

Proses : memanggil method untuk memulai proses device inquiry

9. public procedure doServiceDiscovery

IS : proses service inquiry belum dimulai

FS : proses service inquiry dimulai

Proses : memanggil method untuk memulai proses service inquiry

D.5 CompleteKey 1. public procedure setKey

IS : nilai atribut kelas belum diinisialisasi

FS : nilai atribut kelas berhasil dinisialisasi

Proses : meng-assign suatu nilai ke atribut kelas

2. public procedure setUserKey

IS : nilai kunci pengguna belum diinisialisasi

FS : nilai kunci pengguna berhasil dinisialisasi

Proses : meng-assign suatu nilai ke atribut kunci pengguna

3. public function getUserKey

Mengembalikan nilai kunci pengguna

xxvii

4. public function setPrivateExponent

IS : nilai kunci private belum diinisialisasi

FS : nilai kunci privat berhasil dinisialisasi

Proses : meng-assign suatu nilai ke atribut kunci privat

5. public function getPrivateExponent

Mengembalikan nilai dari atribut kunci private

D.6 Configure 1. public function getKey

Mengembalikan nilai kunci keseluruhan dari pengguna, meliputi

password dan pasangan kunci RSA.

2. public procedure showTextField

IS : form untuk input kunci belum ditampilkan

FS : form untuk input kunci diinisialisasi dan ditampilkan

Proses : menginisialisasi form untuk masukan kunci dan menampilkan

form tersebut.

3. public procedure showKeyTextBox

IS : form untuk input password belum ditampilkan

FS : form untuk input password diinisialisasi dan ditampilkan

Proses : menginisialisasi form untuk masukan password dan

menampilkan form tersebut.

4. public procedure saveKey

IS : data kunci belum dimasukan ke dalam basis data

FS : data kunci telah dimasukan ke dalam basis data

Proses : menginsert atau mengupdate data kunci yang terdapat

didalam basis data

5. public procedure selectKey

IS : data kunci belum diselect dari basis data

FS : data kunci berhasil didapatkan dari basis data

Proses : melakukan select ke basis data terkait data kunci yang

disimpan.

6. public procedure generateKey

IS : sembarang

FS : pasangan kunci publik dan privat berhasil digenerate dan

ditampilkan ke user dengan panjang masing-masing 20 digit

Proses : menggunakan algoritma RSA untuk pembentukan pasangan

kunci publik dan privat.

D.7 ConnectorDevice 1. public procedure init

IS : data atribut dari kelas belum diinisialisasi

xxviii

FS : atribut Bluetooth Browser dan remote device berhasil di

inisialisasi

Proses : meng-assign nilai ke atribut yang disebutkan diatas

2. public procedure addMsgsElement

IS : atribut msgs belum ditambahkan data yang baru

FS : atribut msgs berhasil ditambahkan data baru

Proses : memanggi method add element untuk menambahkan data baru

ke atribut msgs

3. public procedure setSenderReader

IS : atribut sender dan reader belum diinisialisasi

FS : atribut sender dan reader berhasil diinisialisasi

Proses : meng-assign atribut sender dan reader dengan instant dari

kelasnya masing-masing.

4. public procedure startSenderReader

IS : thread sender dan reader belum dibentuk dan diajalankan

FS : membentuk dan menjalankan thread sender dan reander

Proses : memanggil method start() dari thread sender dan reader

5. public procedure disconnect

IS : koneksi antar perangkat belum terputus

FS : koneksi antar perangkat berhasil diputus

Proses : memanggil method close untuk data output dan input

stream.

6. public procedure sendMessage

IS : data belum dikirimkan

FS : data dikirimkan ke perangkat tujuan

Proses : memanggil method writeInt dan writeUTF untuk mengirimkan

data.

7. public procedure SetUpSenderEncrytpor

IS : enkriptor untuk mengirimkan data belum diinisialisasi

FS : enkriptor berhasil diinsialisasi sesuai kebutuhan dan siap

digunakan.

Proses : memanggil instant yang bersesuaian untuk enkriptor.

8. public procedure run

IS : thread untuk kelas ini belum dijalankan

FS : thread kelas dibentuk dan dijalankan

Proses : meresponse method start yang dipanggil dari instant kelas

ini.

D.8 Encryptor 1. public function encryptString

xxix

Mengembalikan nilai hasil enkripsi dengan menggunakan alforitma

yang dipilih ketika melakukan inisialisasi kelas

2. public function decryptString

Mengembalikan nilai dekripsi data masukan sesuai dengan algoritma

yang dipilih ketika melakukan inisialisasi kelas

D.9 InputKeyUI 1. public procedure showTextField

IS : form masukan kunci publik perangkat lain belum ditampilkan

FS : form masukan kunci publik perangkat lain berhasil ditampilkan

Proses : mengatur display untuk menampilkan form kunci publik

2. public function getInputPublicKey

Mengembalikan nilai kunci publik suatu perangkat yang dipilih

3. public procedure setTextField

IS : form masukan kunci publik belum diinisialisasi

FS : form masukan kunci publik telah diinisialisasi

Proses : mengassign suatu nilai ke masing-masing atribut form

4. public function getStatus

Mengembalikan status pada saat itu sedang proses edit atau insert

5. public procedure setStatus

IS : nilai status belum diupdate

FS : nilai status diupdate ke kondisi terbaru

Proses : mengassign nilai baru ke atribut status

D.10 InputUI 1. public procedure showUI

IS : form input untuk pesan belum ditampilkan

FS : form input pesan ditampilkan

Proses : menginisialisasi dan mengatur display menjadi form input

pesan

D.11 ListDeviceUI 1. public procedure run

IS : thread dari kelas yang bersangkutan belum dibentuk dan

dijalankan

FS : thread dibentuk dan dijalankan

Proses : memanggil method start dari instant kelas bersangkutan

2. private function getFriendlyNames

Mengembalikan nama dari perangkat Bluetooth

3. public procedure screen

IS : sembarang

FS : tampilan diatur sesuai dengan parameter yang dimasukan

xxx

Proses : mengeset display sesuai dengan masukan

4. public procedure connect

IS : perangkat belum terkoneksi

FS : perangkat mencoba melakukan koneksi dengan perangkat lain

Proses : mencoba untuk terkoneksi dengan melakukan otentikasi

pengguna dan perangkat

5. public procedure cancelDeviceSearch

IS : proses device inquiry sedang dilakukan

FS : proses device inquiry dihentikan

Proses : memanggil method cancel inquiry

D.12 ListKeyUI 1. public procedure retrieveKeys

IS : sembarang

FS : data kunci publik yang tersimpan dalam basis data berhasil

diambil

Proses : melakukan query ke basis data untuk mendapatkan data yang

disimpan kemudian menampungnya ke memori

2. public procedure savedKeys

IS : Data kunci publik masih tersimpan dalam memori

FS : data kunci publik berhasil disimpan ke dalam basis data

Proses : memindahkan data yang terdapat didalam memori ke basis

data dengan melakukan insert data

3. public procedure insertKey

IS : sembarang

FS : data kunci publik berhasil ditambahkan ke penampung sementara

di memori

Proses : menambahakan data ke penampungan sementara di memori

dengan memanggil method addElement

4. public procedure editKey

IS : sembarang

FS : data kunci publik di memori berhasil diubah

Proses : mengedit data kunci publik yang terdapat di penampungan

sementara dengan memanggil metho setElement

5. public procedure deleteKey

IS : data kunci publik masih tersimpan dalam memori

FS : data kunci publik berhasil dihapus

Proses : menghapus data kunci dengan memanggil method delete

6. public function getDetailPublicKey

Mengembalikan data kunci publik detail sesuai dengan id masukan

xxxi

D.13 MessageUI 1. protected procedure paint

IS : sembarang

FS : form digambar unlang untuk menampilkan data yang baru

Proses : memanggil method repaint

2. public procedure keyPressed

IS : sembarang

FS : state dari form dirubah sesuai dengan aksi yang dilukan pada

tombol perangkat

Proses : mengupdate form dan memanggil method repaint

3. public procedure clearMessage

IS : form masih berisikan data lama

FS : data pada form telah dihapus

Proses : memanggil method remove element dilanjutkan dengan

repaint

D.14 PublicKey 1. public procedure setPublicKey

IS : nilai public key belum diupdate

FS : nilai public key diupdate ke kondisi terbaru

Proses : mengassign nilai baru ke atribut public key

2. public procedure setPublicExponent

IS : nilai public exponent belum diupdate

FS : nilai public exponent diupdate ke kondisi terbaru

Proses : mengassign nilai baru ke atribut public exponent

3. public procedure setPublicModulus

IS : nilai public modulus belum diupdate

FS : nilai public modulus diupdate ke kondisi terbaru

Proses : mengassign nilai baru ke atribut public modulus

4. public procedure setOwner

IS : nilai owner belum diupdate

FS : nilai owner diupdate ke kondisi terbaru

Proses : mengassign nilai baru ke atribut owner

5. public procedure setAddress

IS : nilai address belum diupdate

FS : nilai address diupdate ke kondisi terbaru

Proses : mengassign nilai baru ke atribut address

6. public function getBluetoothAddress

Mengembalikan nilai alamat dari Bluetooth address

7. public function getBluetoothOwner

Mengembalikan nilai alamat dari Bluetooth owner

xxxii

8. public function getPublicExponent

Mengembalikan nilai alamat dari public exponent

9. public function getPublicModulus

Mengembalikan nilai alamat dari public modulus

D.15 Reader 1. public procedure buildEncryptor

IS : enkriptor reader belum di inisialisasi

FS : enkriptor berhasil diinisialisasi

Proses : memanggil konstruktor dari enkriptor dan menentukan

algoritma untuk enkriptor

2. public procedure setAuthenticator

IS : nilai atribut authenticator belum diset

FS : nilai atribut authenticator berhasil diset

Proses : mengassign nilai baru ke atribut authenticator

3. public procedure setConnectorDevice

IS : nilai atribut connector device belum diset

FS : nilai atribut connector device berhasil diset

Proses : mengassign nilai baru ke atribut connector device

4. public procedure stop

IS : thread reader masih terus berjalan dengan melakukan looping

FS : looping dihentikan dan thread di musnahkan

Proses : memanggil method stop dan close untuk menutup koneksi

5. public procedure run

IS : thread reader belum berjalan

FS : thread dinisialisasi dan dijalankan

Proses : memanggil method start untuk mengaktifkan thread

D.16 Sender 1. public procedure buildEncryptor

IS : enkriptor sender belum di inisialisasi

FS : enkriptor berhasil diinisialisasi

Proses : memanggil konstruktor dari enkriptor dan menentukan

algoritma untuk enkriptor

2. public procedure setConnectorDevice

IS : nilai atribut authenticator belum diset

FS : nilai atribut authenticator berhasil diset

Proses : mengassign nilai baru ke atribut authenticator

3. public procedure stop

IS : thread sender masih terus berjalan dengan melakukan looping

FS : looping dihentikan dan thread di musnahkan

Proses : memanggil method stop dan close untuk menutup koneksi

xxxiii

4. public procedure run

IS : thread sender belum berjalan

FS : thread dinisialisasi dan dijalankan

Proses : memanggil method start untuk mengaktifkan thread

D.17 Server 1. public procedure startServer

IS : layanan BlueSeFT belum dibuka

FS : layanan BlueSeFT dibuka

Proses : melakukan setting untuk mengestablish layanan Bluetooth

dengan mengeset UUID-nya sesuai dengan layanan BlueSeFT

2. public procedure stopServer

IS : layanan BlueSeFT sedang terbuka

FS : layanan BlueSeFT ditutup

Proses : memanggil method method close untuk menutup koneksi

3. public procedure run

IS : thread server belum berjalan

FS : thread dinisialisasi dan dijalankan

Proses : memanggil method start untuk mengaktifkan thread

xxxiv

LAMPIRAN E: ANTARMUKA PERANGKAT LUNAK

Gambar E-1 About Form Gambar E-2 Konfigurasi Kunci

Gambar E-3 Manajemen Kunci Publik Gambar E-4 Daftar Data Kunci Publik

Gambar E-5 Daftar Perangkat yang Ditemukan Gambar E-6 Pengiriman/penerimaan pesan

xxxv

LAMIRAN F: HASIL PENGUJIAN PERANGKAT LUNAK BLUESEFT

Tabel F-1 Pengujian Use Case Configure

Deskripsi Prosedur

Pengujian

Masukan Keluaran yang

Diharapkan

Kriteria

Evaluasi Hasil

Hasil yang

Didapat

Kesimpu

lan

Pengujian

konfigurasi

data kunci

pengguna

o Memilih configure

o Memasukan data konfigurasi kunci

o Memilih menu generate key

o Memilih menu OK

o Kunci: “123”

o Konfirmasi kunci: “123”

Data

konfigurasi

berhasil

disimpan ke

dalam database

Ketika

menekan

tombol

configure data

ini

ditampilkan

kembali.

Data berhasil

disimpan ke

dalam

database dan

ketika

dipilihconfigur

e sistem

menampilkan

data ini

kembali

Diterima

Pengujian

konfigurasi

dengan data

yang salah

o Memilih configure

o Memasukan data konfigurasi

o Memilih menu generate

o Memilih menu OK

o Kunci: “123”

o Konfirmasi kunci: “124”

Aplikasi

menampilkan

pesan

kesalahan

“Kunci yang

Anda masukan

salah” dan data

dalam basis

data tidak di-

update

Pesan

kesalahan

ditampilkan

dan aplikasi

kembali

menunjukan

form

konfigurasi

Aplikasi

menampikan

pesan “Data

kunci yang

Anda masukan

salah”, Tidak

ada data yang

di-update

Diterima

Tabel F-2 Pengujian Use Case Manage Key

Deskripsi Prosedur

Pengujian

Mas

ukan

Keluaran yang

Diharapkan

Kriteria Evaluasi

Hasil

Hasil yang

Didapat

Kesimpu

lan

Pengujian untuk

mendaftar semua

data kunci publik

yang telah

tersimpan untuk

melakukanmanaj

emen kunci

o Memilih show key

- Daftar kunci

publik seluruh

perangkat yang

tersimpan

ditampilkan

Aplikasi

menampilkan

semua daftar

kunci publik yang

telah tersimpan

dalam bentuk list

kunci publik

Semua daftar

kunci publik

berhasil

ditampilkan

dalam bentuk

list

Diterima

xxxvi

Tabel F-3 Pengujian Use Case Insert Key

Deskripsi Prosedur

Pengujian

Masukan Keluaran yang

Diharapkan

Kriteria

Evaluasi

Hasil

Hasil yang

Didapat

Kesimpu

lan

Pengujian

untuk

input data

kunci

publik

perangkat

lain

o Memilih insert key

o Mengisi form data kunci publik

o Memilih OK

o Pemilik: “made”

o Alamat perangkat: “0016BCF247A4”

o Kunci publik: “16540197375814295569”

o Modulus: “15264898558389240121”

Data kunci

publik baru

berhasil

disimpan ke

dalam basis data

dan aplikasi

kembali

menampilkan

daftar kunci

publik

Ketika

aplikasi

menampilka

n data kunci

publik, kunci

publik yang

baru

dimasukan

ikut

ditampilkan

Data berhasil

disimpan ke

dalam basis data

dan ketika daftar

kunci publik

ditampilkan data

baru ini telah

diikutsertakan

Diterima

Pengujian

konfiguras

i dengan

data yang

tidak

lengkap

o Pemilik: “made”

o Alamat perangkat: “0016BCF247A4”

o Modulus: “15264898558389240121”

Aplikasi

menampilkan

pesan kesalahan

“Anda harus

melengkapi

semua field”

dan data tidak

disimpan ke

dalam basis data

Pesan

kesalahan

ditampilkan

dan aplikasi

kembali

menunjukan

form

masukan

kunci publik

Aplikasi

menampikan

pesan “Anda

harus melengkapi

semua field”

kemudian form

yang belum

lengkap kembali

ditampilkan

Diterima

Tabel F-4 Pengujian Use Case Edit Key

Deskripsi Prosedur

Pengujia

n

Masukan Keluaran

yang

Diharapkan

Kriteria

Evaluasi Hasil

Hasil yang

Didapat

Kesimpu

lan

Pengujian

untuk

pengubahan

data kunci

publik

perangkat

yang telah

tersimpan

o Memilih edit key

o Mengisi form data kunci publik

o Memilih OK

o Memilih data dengan nama: “made”

o Pemilik: “made” o Alamat

perangkat: “0016BCF247A4”

o Kunci publik: “22222222222222222222”

o Modulus: “33333333333333333333”

Aplikasi

menampilka

n data kunci

publik,

dengan

sebelumnya

telah meng-

update data

kunci publik

Aplikasi

mengupdate

data kunci

publik

kemudian

kembali

menampilkan

daftar kunci

publik

Aplikasi

menampilka

n data kunci

publik dan

kunci publik

yang dipilih

berhasil di-

update

Diterima

xxxvii

Deskripsi Prosedur

Pengujia

n

Masukan Keluaran

yang

Diharapkan

Kriteria

Evaluasi Hasil

Hasil yang

Didapat

Kesimpu

lan

Pengujian

konfigurasi

dengan data

yang tidak

lengkap

o Memilih data dengan nama: “made”

o Pemilik: “made” o Alamat

perangkat: “0016BCF247A4”

o Modulus: “33333333333333333333”

Aplikasi

menampilka

n pesan

kesalahan

“Anda harus

melengkapi

semua field”

dan data

tidak

disimpan ke

dalam basis

data

Pesan

kesalahan

ditampilkan

dan aplikasi

kembali

menunjukan

form masukan

kunci publik

Aplikasi

menampikan

pesan “Anda

harus

melengkapi

semua field”

kemudian

form yang

belum

lengkap

kembali

ditampilkan

Diterima

Tabel F-5 Pengujian Use Case Delete Key

Deskripsi Prosedur

Pengujian

Masukan Keluaran yang

Diharapkan

Kriteria

Evaluasi Hasil

Hasil yang

Didapat

Kesimpu

lan

Pengujian

untuk

menghapu

s data

kunci

publik

perangkat

yang telah

tersimpan

o Memilih delete key

o Memilih data dengan nama: “made”

o Memilih OK pada pesan konfirmasi

Aplikasi

menampilkan

pesan

konfirmasi jika

user memilih

OK maka data

kunci publik

dihapus

Data kunci

publik dihapus

dari basis data

dan aplikasi

kembali

menampilkan

daftar kunci

publik baru

Aplikasi

menampilkan

pesan

konfirmasi

“Apakah Anda

yakin

menghapus

kunci dari

made” dan

ketika OK

maka data ini

berhasil

dihapus

Diterima

xxxviii

Tabel F-6 Pengujian Use Case Search Device

Deskripsi Prosedur

Pengujian

Masukan Keluaran yang

Diharapkan

Kriteria

Evaluasi Hasil

Hasil yang

Didapat

Kesimpu

lan

Pengujian

untuk

melakukan

pencarian

perangkat

yang

berada

disekitar

o Memilih search device

-

Daftar

perangkat

Bluetooth yang

berada di

sekitar (berada

dalam jakauan

perangkat

Bluetooth)

Semua

perangkat

yang berada

disekitar

ditampilkan

oleh aplikasi

Aplikasi

menampilkan

daftar

perangkat

yang berhasil

ditemukan

selama proses

inquiry

Diterima

Tabel F-7 Pengujian Use Case Connect Device

Deskripsi Prosedur

Pengujian

Masukan Keluaran

yang

Diharapkan

Kriteria

Evaluasi

Hasil

Hasil yang

Didapat

Kesimpu

lan

Pengujian

dimana

data kunci

publik

perangkat

client

belum

disimpan

o Memilih connect

o Memilih perangkat yang akan dihubungi “Ade’s phone”

Koneksi

dibatalkan

dan

menampilkan

pesan error

Aplikasi

menolak

untuk

melakukan

koneksi

dengan

perangkat

yang dituju

Aplikasi

menampilkan

pesan kesalahan

“Tidak bisa

terkoneksi, data

public key

perangkat belum

tersimpan”

Diterima

Pengujian

dimana

perangkat

yang akan

dihubungi

sedang

sibuk

o Memilih perangkat yang akan dihubungi “Ade’s phone”

Koneksi

dibatalkan

dan

menampilkan

pesan error

Aplikasi

menolak

untuk

melakukan

koneksi

dengan

perangkat

yang dituju

Aplikasi

menampilkan

pesan kesalahan

“Tidak bisa

terkoneksi, karena

perangkat client

sedang sibuk”

Diterima

xxxix

Deskripsi Prosedur

Pengujian

Masukan Keluaran

yang

Diharapkan

Kriteria

Evaluasi

Hasil

Hasil yang

Didapat

Kesimpu

lan

Pengujian

untuk

melakukan

koneksi

dengan

perangkat

yang tidak

mendukun

g aplikasi

serupa

o Memilih perangkat yang akan dihubungi “My Computer”

Koneksi

dibatalkan

dan

menampilkan

pesan error

Aplikasi

menolak

untuk

melakukan

koneksi

dengan

perangkat

yang dituju

Aplikasi

menampilkan

pesan kesalahan

"Tidak bisa

terkoneksi, karena

perangkat client

sedang sibuk atau

tidak mendukung

layanan BlueSeFT

!"

Diterima

Pengujian

untuk

melakukan

koneksi

dengan

perangkat

yang

sudah

tidak

ditempat

o Memilih perangkat yang akan dihubungi “Ade’s phone”

Koneksi

dibatalkan

dan

menampilkan

pesan error

Aplikasi tida

dapat

melakukan

koneksi

karena

perangkat

tidak dapat

dijangkau

Aplikasi

menampilkan

pesan kesalahan

"Tidak bisa

terkoneksi, karena

perangkat tidak

bisa dijangkau !"

Diterima

Tabel F-8 Pengujian Use Case Authenticate

Deskripsi Prosedur

Pengujian

Masukan Keluaran yang

Diharapkan

Kriteria

Evaluasi Hasil

Hasil yang

Didapat

Kesimpu

lan

Pengujian

untuk

melakukan

otentkasi

pengguna

dan

perangkat

o Memilih connect device

- Perangkat

berhasil

terkoneksi dan

siap untuk

bertukar

informasi

Aplikasi

menampilkan

pesan

terkoneksi dan

data yang

diterima.

Aplikasi

menampilkan

pesan

“Berhasil

terkoneksi

dengan Nokia

3110c” dan

menampilkan

data yang

dikirim oleh

client

Diterima

xl

Deskripsi Prosedur

Pengujian

Masukan Keluaran yang

Diharapkan

Kriteria

Evaluasi Hasil

Hasil yang

Didapat

Kesimpu

lan

Pengujian

ketika

proses

otentikasi

gagal

- Perangkat tidak

terkoneksi dan

menampilkan

pesan error

Perangkat

tidak

terkoneksi dan

menampilkan

pesan error

Aplikasi

menampilkan

pesan

“Otentikasi

pengguna

gagal, kunci

yang

digunakan

salah”

Diterima

Pengujian

ketika

protokol

ontetikasi

dilanggar

- Perangkat tidak

terkoneksi dan

menampilkan

pesan error

Perangkat

tidak

terkoneksi dan

menampilkan

pesan error

Aplikasi

menampilkan

pesan

“Protokol

otentikasi

dilanggar”

diterima

Tabel F-9 Pengujian Use Case Send Data

Deskripsi Prosedur

Pengujian

Masukan Keluaran yang

Diharapkan

Kriteria

Evaluasi Hasil

Hasil yang

Didapat

Kesimpu

lan

Pengujian

untuk

mengirimk

an pesan

ke

perangkat

lain yang

telah

terkoneksi

o Memilih menu write

o Memilih menu send

o Pesan : “pengujian pengiriman data BlueSeFT”

Aplikasi

mengirimkan

pesan ke

perangkat yang

dituju dan

sekaligus

menampilkan

pesan tersebut

pada pengguna

Pesan yang

telah

dikirimkan

ditampilkan

oleh aplikasi

ke pada

pengguna

Aplikasi

menampilkan

pesan yang

telah

dikirimkan

Diterima

Pengujian

ketika

koneksi

terputus

secara

tidak

normal

o Pesan : “pengujian pengiriman data BlueSeFT”

Aplikasi gagal

mengirimkan

pesan dan

menampilkan

pesan

kesalahan

Pesan

kesalahan

ditampilkan

kemudian

koneksi

ditandai telah

terputus

Aplikasi

menampilakn

pesan

“Koneksi

terputus” dan

koneksi

diakhiri

xli

Tabel F-10 Pengujian Use Case Receive Data

Deskripsi Prosedur

Pengujian

Masuk

an

Keluaran yang

Diharapkan

Kriteria

Evaluasi Hasil

Hasil yang

Didapat

Kesimpu

lan

Pengujian

untuk

menerima

pesan

yang

dikirimkan

oleh

perangkat

lain

-

- Aplikasi

menapilkan pesan

yang diterima

kepada pengguna

Aplikasi telah

menerima dan

menampilkan

pesan yang

diterima

dimana pesan

tersebut sudah

didekripsi

Pesan

ditampilkan

sesuai dengan

apa yang

dikirimkan

oleh perangkat

lain (telah

didekripsi)

Diterima

Tabel F-11 Pengujian Use Case Request Connection

Deskripsi Prosedur

Pengujian

Masukan Keluaran yang

Diharapkan

Kriteria

Evaluasi Hasil

Hasil yang

Didapat

Kesimpu

lan

Pengujian

untuk

menerima

koneksi

dari

perangkat

lain

- - Aplikasi

melakukan

proses

otentikasi

Proses

ontentikasi

dilakukan baik

berhasil

ataupun tidak

Aplikasi telah

melakukan

otentikasi dan

menampilkan

pesan sesuai

status

otentikasi

Diterima

Pengujian

ketika

protokol

otentikasi

dilanggar

Aplikasi

menampilkan

pesan

kesalahan

proses koneksi

tidak

dilanjutkan

Koneksi tidak

dilanjutkan

oleh perangkat

Aplikasi

menampilkan

pesan

“Protokol

otentikasi

dilanggar”

Diterima

Tabel F-12 Pengujian Waktu Koneksi

No. Jarak Pengujian

Waktu Pengujian I Waktu Pengujian II

Waktu Pengujian III

Rata-rata Waktu Koneksi

1. 0 – 2 meter 2,69 detik 2,96 detik 2,49 detik 2,713 detik 2. 2 – 4 meter 2,78 detik 3,18 detik 3,35 detik 3,103 detik 3. 4 – 6 meter 3,20 detik 3,20 detik 3,16 detik 3,187 detik 4. 6 – 8 meter 2,81 detik 3,35 detik 3,30 detik 3,153 detik 5. 8 – 10 meter 2,74 detik 3,22 detik 3,38 detik 3,113 detik