Keamanan Sistem Informasi E-Commerce dengan Pertukaran Algoritma Pada PT. Pupuk Iskandar Muda Lhokseumawe

(1)

Oleh

REYNOLD HERWINSYAH

087034038/MTE

FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA MEDAN

2014  


(2)

Judul Tesis : SISTEM KEAMANAN INFORMASI E-COMMERCE DENGAN PERTUKARAN

ALGORITMA PADA PT. PUPUK ISKANDAR MUDA LHOKSEUMAWE

Nama Mahasiswa : Reynold Herwinsyah Nomor Pokok : 087034038

Program Studi : Teknik Elektro

Menyetujui Komisi Pembimbing

(Prof. Dr. Ir. Usman Baafai) Ketua

(Dr. Benny B. Nasution, Dipl. Ing, M.Eng) (Dr. Ir. Taslim, M.Si)

Anggota Anggota

Ketua Program Studi Dekan,


(3)

Telah Diuji pada Tanggal: 31 Mei 2014

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Ir. Usman Baafai

Anggota : 1. Dr. Benny B. Nasution, Dipl.Ing, M.Eng 2. Dr. Ir. Taslim, M.Si

3. Prof. Dr. Muhammad Zarlis 4. Soeharwinto, S.T, MT


(4)

ABSTRAK

Penelitian ini menganalisis dan membandingkan kinerja kriptografi yang sudah diketahui algoritmanya dengan kriptografi yang belum diketahui algoritmanya untuk diaplikasikan pada proses enkripsi dan dekripsi data teks pada website. sehingga akan diketahui seberapa besar keuntungan yang dapat diraih apabila bertransaksi internet tanpa mengetahui algoritmanya, algoritma dapat digunakan tapi algoritmanya tidak diketahui sebagai bentuk peningkatan kinerja sistem keamanan website dengan menerapkan pertukaran algoritma pada transaksi data yang berbasis protokol HTTP ini mengingat sistem client-server dalam protokol HTTP membutuhkan algoritma untuk kriptografi, penggunaan pertukaran algoritma setiap client yang terhubung dengan server atau sebaliknya dapat menggunakan kriptografi yang berbeda-beda, karena dalam implementasi pertukaran algoritma terjadi pertukaran algoritma kriptografi yang digunakan dan kriptografi yang digunakan ini boleh saja tidak sama.

Berdasarkan dari pengujian yang dilakukan, sistem keamanan pada aplikasi website dengan menerapkan pertukaran algoritma dapat berjalan dengan baik, penambahan waktu transfer data yang terjadi setiap terjadi penambahan data yang akan di transfer merupakan rata-rata dari selisih pertambahan waktu transfer data yang terjadi pada tiap penambahan per 1 byte sebesar 0.0081 ms.


(5)

ABSTRACT

This research analyses and compares cryptography performances between the well known cryptographic algorithms and undiscovered one applied for encryption and decryption website data processs in order to ascertain the real profit that could be acquired within an internet transaction without knowing the algorithms. Of course they can be used as well but unknown algorithm serves a better website security performance by applying algorithm exchange at every HTTP based data transaction. Since client-server systems in HTTP protocol need algorithm for cryptography, utilization of each client’s algorithm exchange connected to a server or vice versa can employ diverse cryptography, since in the implementation of the algorithm exchange occurs exercised cryptographic algorithm exchange as well.

Based on the calibration, security systems in website applications using algorithm exchange run well and could upgrade security during transaction, additional time for transferring data needed for each additional transferred data is not more than the average of the difference of additional transferred data in each additional data per 1 byte around 0.0081 ms.

Keywords : E- Commerce, Algorithm exchange, cryptography, security system.                      


(6)

KATA PENGANTAR

Puji syukur penulis ucapkan kehadirat Allah SWT atas nikmat dan karunia yang telah diberikan, sehingga penulis dapat menyelesaikan tesis dengan judul “ Keamanan Sistem Informasi E-Commerce dengan Pertukaran Algoritma Pada PT. Pupuk Iskandar Muda Lhokseumawe”” beberriikkuuttnnyyaa Shalawat beriring salam tak lupa penulis persembahkan kepada junjungan Alam Nabi besar Muhammad SAW, yang telah membawa manusia dari alam kebodohan ke Alam yang ber-ilmu pengetahuan.

Dalam penyelesaian tesis ini penulis banyak mendapat bantuan, bimbingan, dan dukungan dari berbagai pihak. Oleh karena itu dengan segala kerendahan hati, penulis mengucapkan terima kasih dan penghargaan yang sebesar-besarnya atas segala bimbingan, bantuan serta dukungannya kepada Bapak Prof. Dr. Ir. Usman Baafai, selaku ketua komisi pembimbing, Bapak Dr. Benny B. Nasution, Dipl.Ing. M.Eng dan bapak Dr. Ir, Taslim, M.Si selaku anggota komisi pembimbing yang telah mengarahkan dan membimbing penulis selama penyelesaian tesis ini. Tak lupa penulis mengucapkan terima kasih kepada Bapak Prof. Dr. Muhammad Zarlis, Bapak Soeharwinto, S.T, MT, selaku Pembanding utama yang telah memberikan kritik dan masukan terhadap tesis ini.

Penulis juga mengucapkan terima kasih kepada kedua orang tua penulis, H. Darwin, dan Hj. Khairunnisa, ayah mertua Neesar Ahmad Khan, dan ibu Aisyah atas doanya. Tak lupa ucapan terima kasih kepada istri tercinta, Sayadun Nisa, dan kepada


(7)

putra/putri kami tercinta Reysa Nabila, Khalish Akhtar, Nameera Syazwina yang menjadi penyemangat dan motivasi bagi penulis dalam pengerjaan tesis ini. Tak lupa ucapan terima kasih kepada keluarga dan teman-teman penulis, Amelia Mahdi, MT, Tigor Hamonangan Nasution. MT, Bakti Sundawa, MT, Eva Darnila, MT, Akmalul Fata, SST dan kak Nur di sekretariat juga bapak Drs Hasdari, Msi yang telah banyak memberikan semangat dan perhatian sehingga tesis ini selesai.

Penulis menyadari bahwa tesis ini masih jauh dari kesempurnaan. Penulis berharap semoga tesis ini dapat berguna untuk menambah ilmu pengetahuan bagi para pembaca.

Medan, Mei 2014 Penulis,


(8)

Nama : Reynold herwinsyah

Tempat / Tanggal Lahir : Lhokseumawe / 15 Nopember 1976 Jenis Kelamin : Laki-Laki

Agama : Islam

Status Perkawinan : Menikah

Pekerjaan : Dosen Tetap Politeknik Negeri Lhokseumawe NAD, Jurusan TataNiaga.

Alamat Rumah : Jl. Darusalam No 40 Hagu Selatan Lhokseumawe.

Telepon : 085260904555

Email : [email protected]

Pendidikan Formal

1983 – 1989 : MIN Kutablang Lhokseumawe, NAD 1989 – 1992 : MTS 16 Bustanul Ulum Langsa, NAD 1992 – 1995 : SMU Negeri No 2 Lhokseumawe, NAD

1995 – 2000 : Fakultas Teknik Industri Jurusan Teknik Informatika Universitas GunaDarma, Jakarta


(9)

Kegiatan ilmiah

NO Judul Karya Ilmiah/Penelitian Pelaksana / Jurnal Tahun 1 Pembuatan Animasi 3 Dimensi Logo

Piala Dunia 98

Guna Dharma / Tugas Akhir

1998

2 Sistem kemanan Informasi E-Commerce Dengan Pertukaran Algoritma Pada PT. Pupuk Iskandar Muda Lhokseumawe

USU / Tesis 2014

Demikian daftar Riwayat Hidup ini saya perbuat dengan sebenarnya.

Tertanda


(10)

DAFTAR ISI

Halaman BAB 1 PENDAHULUAN………. 1.1 Latar Belakang……… 1.2 Perumusan Masalah……… 1.3 Batasan Masalah………. 1.4 1.4 Tujuan Penelitian………... 1.5 Manfaat Penelitian……….. 1.6 Sistematika Penulisan……….

1 1 6 7 7 7 8 BAB 2 TINJAUAN PUSTAKA……… 2.1 Pengertian E-commerce……….. 2.2 Aspek-Aspek Keamanan Data……… 2.3 Kriptografi………... 2.3.1 Komponen kriptografi……… 2.3.2 Serangan Terhadap Kriptografi (Cryptanalysis)………. 2.3.2 Kriptografi AES……….. 2.4 Pertukaran Algoritma……….. 2.4.1 Dinamika Pertukaran Algoritma………. 2.4.2 Konsep Pertukaran Algoritma……….

9 9 10 12 13 14 15 17 18 19 BAB 3 METODELOGI

PENELITIAN………... 3.1 Rancangan Penelitian……….. 3.2 Proses Penelitian………. 3.2.1 Pengumpulan data……….. 3.2.2 Perancangan sistem keamanan……….. 3.2.3 Kriptografi algoritma yang sudah diketahui……… 3.2.3.1 Algoritma AES (Advanced Encryption Standard)……… 3.2.4 Kriptografi algoritma yang belum diketahui……….. 3.3 Pemodelan Sistem………... 3.4 Sistem Keamanan Pertukaran Algoritma Yang Belum Diketahui…... 3.5 Instrumen Penelitian………... 3.5.1 Instrumen Pada Pembuatan……… 3.5.2 Instrumen Pada Pengujian………...

21 21 22 22 24 24 24 27 33 34 40 40 40      


(11)

BAB 4 HASIL DAN ANALISA……….. 4.1 Pengujian Algoritma AES Pada Pertukaran Algoritma……….. 4.2 Pengujian Transfer Data Protokol HTTP………... 4.2.1 Pengujian transfer data web server dan web browser client

4.2.2 Pengujian transfer data web service server dan web browser client 4.3 Pengujian Kinerja Pertukaran Algoritma……… 4.3.1 Kinerja pertukaran algoritma web service server………. 4.3.2 Kinerja pertukaran algoritma web service client………. 4.4 Keamanan Protokol Pertukaran Algoritma Yang Belum Diketahui…... 4.5 Dampak Pertukaran Algoritma Pada Protokol HTTP………. 4.6 Analisa Hasil Perancangan………..

42 42 43 43 45 46 46 47 49 57 60 BAB 5 KESIMPULAN DAN SARAN………. 5.1 Kesimpulan………. 5.2 Saran………

63 63 63   DAFTAR PUSTAKA LAMPIRAN 65 68                    


(12)

DAFTAR TABEL

Halaman Tabel 1.1 Daftar Penelitian Sistem Keamanan E-Commerce

Tabel 4.1 Pengujian Ukuran Karakter Algoritma AES-128

Tabel 4.2 Pengiriman Data Java Web Server Dan Web Browser Client Tabel 4.3 Pengiriman Data Web Service Server Dan Web Browser Client Tabel 4.4. Kinerja Pertukaran Algoritma Web Service Server

Tabel 4.5. Kinerja Pertukaran Algoritma Web Service Client

4 43 44 45 47 47


(13)

DAFTAR GAMBAR

Halaman Gambar 2.1 Skema Enkripsi Dan Dekripsi Dengan Kunci………... Gambar 2.2 Proses Enkripsi AE…………... Gambar 2.3 Proses Dekripsi AE……… Gambar 3.1 Model Web Umum Transaksi Internet

Gambar 3.2. Contoh Penggunaan Algoritma AES Pada Komunikasi Data…... Gambar 3.3 Diagram Penggunaan Algoritma Yang Tidak Diketahui………... Gambar 3.5 Pertukaran Algoritma Yang Belum Diketahui Pada Web Service Server

...

Gambar 3.5 Pertukaran Algoritma Yang Belum Diketahui Pada Web Service Client

 ... Error! Reference source not found.Gambar 4.5 Pengujian 1 Protokol Pesan Data dan Format Pertukaran Algoritma

Yang Belum Diketahui

………...

Error! Reference source not found.Gambar 4.6 Pengujian 2 Protokol Pesan Data dan Format Pertukaran Algoritma

Yang Belum Diketahui

Error! Reference source not found.Gambar 4.7. Hasil Pengujian 1 Terima Pesan Di Web Service Client

Gambar 4.8 Pengujian 3 Protokol Pesan Data Pertukaran Algoritma Yang Belum Diketahui

Gambar 4.9 Pengujian 3 Protokol Format Pertukaran Algoritma Yang Belum Diketahui

14 16 17 23 26 30 37 39 48 49 50 53 54 57 58 59        


(14)

DAFTAR ISTILAH A

Algoritma

susunan yang logis dan sistematis untuk memecahkan suatu masalah atau untuk mencapai tujuan tertentu.

Availability

Informasi harus tersedia ketika dibutuhkan. Authentication

Meyakinkan keaslian data, amber data, orang yang mengakses data, dan server yang digunakan.

Acces Control

Mekanisme pengaturan akses ke informasi, untuk mengatur siapa yang boleh melakukan akses, membutuhkan adanya klasifikasi data.

Accountability

Dapat dipertanggungjawabkan melalui mekanisme logging dan audit. B

Bandwidth

nilai hitting atau perhitungan pemakaian transfer data telekomunikasi yang dihitung dalam satuan bit perdetik atau yang biasa disingkat bps yang terjadi antara komputer server dan komputer client dalam waktu tertentu.

C

Confidentiality/Privacy

Merupakan usaha untuk menjaga kerahasiaan data. Data hanya boleh diakses oleh orang yang berwenang.

Ciphertext

Pesan yang telah melalui prosFs enkripsi yang merupakan himpunan karakter acak. Clyptanalysis

ilmu untuk mendapatkan pesan ash (plaintext) tanpa hams mengetahui kunci secara wajar.


(15)

D Dekripsi

Kebalikan dari enkripsi, yaitu transformasi data terenkripsi kembali ke bentuknya semula.

E

E-commerce

Penyebaran informasi untuk melakukan pembelian, penjualan, pemasaran barang dan jasa dengan menggunakan media elektronik seperti fasilitas Internet atau televisi, situs www, dan lain-lain

Enkripsi

Transformasi data ke dalam bentuk yang tidak dapat terbaca tanpa sebuah kunci tertentu.

F

Fleksibilitas

Penyesuaian secara cepat. Firebug

Software yang berguna untuk pengembangan web yang memfasilitasi debugging, editing dan pemantauan di setiap website CSS, HTML, DOM, XHR dan JavaScript. Fiddler

Software yang berfungsi untuk melihat lalu lintas data pada aplikasi pendukung proxy seperti interne explorer, Mozilla firefox, google crome, opera dan lain-lain. G

Gate array

Gerbang digital dimana interkoneksi antar masing masing gerbang tersebut dapat dikonfigurasi antara satu sama lainnya.

H HTML

singkatan dari HyperText Markup Language yaitu bahasa pemrograman standar yang digunakan untuk membuat sebuah halaman web, yang kemudian dapat diakses untuk menampilkan berbagai informasi di dalam sebuah penjelajah web.


(16)

HTTP

Singkatan dari Hypertext Transfer Protocol, suatu protokol yang digunakan oleh World Wide Web. HTTP mendefinisikan bagaimana suatu pesan bisa diformat dan dikirimkan dari server ke client.

I Internet

Internet adalah singkatan dari kata Interconnection Networking, yang berarti seluruh jaringan komputer yang saling terhubung menggunakan standar sistem global Transmission Control Protocol/Internet Protocol Suite (TCP/IP).

Integrity

Memastikan bahwa informasi yang dikirim melalui jaringan tidak mengalami modifikasi oleh pihak yang tidak berhak.

J Java

Bahasa pemograman tingkat tinggi yang berorientasi objek. K

Kriptografi

Ilmu dan seni untuk menjaga icerahasiaan berita atau informasi.

L Link

Di sebut juga hyperlink adalah sebuah acuan dalam dokumen hiperteks (hypertex) ke dokumen yang lain atau sumber lain.

M Matrik

Kumpulan bilangan, simbol, atau ekspresi, berbentuk persegi panjang yang disusun menurut baris dan kolom. Bilangan-bilangan yang terdapat di suatu matriks disebut dengan elemen atau anggota matriks.

Mozilla firefox


(17)

Modulus

Sebuah operasi bilangan yang menghasilkan sisa pembagian dan suatu bilangan terhadap bilangan lainnya.

N

Non-repudiation

Pengirim tidak dapat menyangkal bahwa yang bersangkutan telah melakukan transaksi.

0 P Plaintext

Teks ash yang akan diproses menggunakan algoritma kriptografi tertentu untuk menj adi ciphertext.

public network

Alamat yang digunakan untuk ruang lingkup internet yang dapat diakses oleh seluruh user yang tergabung di internet baik secara langsung maupun tidak langsung.

private network

Alamat yang digunakan hanya untuk ruang lingkup pribadi saja dan hanya bisa diakses dilingkup intranet.

Q R Random

Tidak tersusun, tanpa kawalan atau tidak ditentukan dan awal. Roundkey

mengkombinasikan chiper teks yang sudah ada dengan chiper key yang chiper key dengan hubungan XOR.

S Sneer

Program yang dapat membaca dan menganalisa setiap protokol yang melewati mesin di mana program tersebut diinstal


(18)

Server

Sebuah aplikasi server, sistem operasi, komputer, atau alat. Speedy

Layanan interne access end-to-end dengan basis teknologi Asymetric Digital Subscriber Line (ADSL), yang dapat menyalurkan data dan suara secara simultan melalui satu saluran telepon biasa dengan kecepatan yang dijaminkan sesuai dengan paket layanan yang diluncurkan dari modem sampai BRAS (Broadband Remote Access Server)

T

Transaksi

Persetujuan jual beli dalam perdagangan antara pihak penjual dan pembeli. Transmisi data

Proses untuk melakukan pengiriman data dari salah satu sumber data ke penerima data menggunakan komputer / media elektronik.

U V Vektor

Besaran yang mempunyai nilai clan arah W

Web/website

Merupakan kumpulan halaman-halaman yang berisi informasi yang disimpan di internet yang bisa diakses melalui jaringan internet.

web browser

Suatu program atau software yang digunakan untuk menjelajahi internet atau untuk mencari informasi dari suatu web yang tersimpan didalam komputer.

Web service

Aplikasi sekumpulan data (database), perangkat lunak (software) atau bagian dari perangkat lunak yang dapat diakses secara remote oleh berbagai piranti dengan sebuah perantara tertentu.


(19)

wire shark

Salah satu dari sekian banyak tool Network Analyzer yang banyak digunakan oleh Network administrator untuk menganalisa kinerja jaringannya terrmasuk protokol didalamnya.

Wifi

merupakan singkatan dari Wireless Fidelity. Wifi adalah teknologi jaringan tanpa kabel yang menggunakan frekuensi tinggi.

X XML

Excensible Markup Language, sebuah bahasa markup yang mendifinisikan seperangkat aturan pengkodean untuk dokumen dalam format yang dapat dibaca baik manusia dan mesin.

Y Z    


(20)

ABSTRAK

Penelitian ini menganalisis dan membandingkan kinerja kriptografi yang sudah diketahui algoritmanya dengan kriptografi yang belum diketahui algoritmanya untuk diaplikasikan pada proses enkripsi dan dekripsi data teks pada website. sehingga akan diketahui seberapa besar keuntungan yang dapat diraih apabila bertransaksi internet tanpa mengetahui algoritmanya, algoritma dapat digunakan tapi algoritmanya tidak diketahui sebagai bentuk peningkatan kinerja sistem keamanan website dengan menerapkan pertukaran algoritma pada transaksi data yang berbasis protokol HTTP ini mengingat sistem client-server dalam protokol HTTP membutuhkan algoritma untuk kriptografi, penggunaan pertukaran algoritma setiap client yang terhubung dengan server atau sebaliknya dapat menggunakan kriptografi yang berbeda-beda, karena dalam implementasi pertukaran algoritma terjadi pertukaran algoritma kriptografi yang digunakan dan kriptografi yang digunakan ini boleh saja tidak sama.

Berdasarkan dari pengujian yang dilakukan, sistem keamanan pada aplikasi website dengan menerapkan pertukaran algoritma dapat berjalan dengan baik, penambahan waktu transfer data yang terjadi setiap terjadi penambahan data yang akan di transfer merupakan rata-rata dari selisih pertambahan waktu transfer data yang terjadi pada tiap penambahan per 1 byte sebesar 0.0081 ms.


(21)

ABSTRACT

This research analyses and compares cryptography performances between the well known cryptographic algorithms and undiscovered one applied for encryption and decryption website data processs in order to ascertain the real profit that could be acquired within an internet transaction without knowing the algorithms. Of course they can be used as well but unknown algorithm serves a better website security performance by applying algorithm exchange at every HTTP based data transaction. Since client-server systems in HTTP protocol need algorithm for cryptography, utilization of each client’s algorithm exchange connected to a server or vice versa can employ diverse cryptography, since in the implementation of the algorithm exchange occurs exercised cryptographic algorithm exchange as well.

Based on the calibration, security systems in website applications using algorithm exchange run well and could upgrade security during transaction, additional time for transferring data needed for each additional transferred data is not more than the average of the difference of additional transferred data in each additional data per 1 byte around 0.0081 ms.

Keywords : E- Commerce, Algorithm exchange, cryptography, security system.                      


(22)

BAB 1 PENDAHULUAN 1.1 Latar Belakang

Perkembangan ilmu pengetahuan pada saat ini sudah jauh meningkat perkembangannya jika dibandingkan beberapa tahun terakhir, pemanfaatan teknologi internet dapat memangkas jarak yang dulunya jauh menjadi dekat, teknologi internet semakin luas penggunaannya di berbagai aspek kegiatan, seperti dibidang pemerintahan, bisnis, dan kegiatan sosial. Beberapa pihak sudah memanfaatkan teknologi internet untuk dapat saling terhubung antara sebuah lembaga dengan lembaga yang lain pada jarak yang berjauhan, maupun antara sebuah perusahaan dengan perusahaan lain, sehingga dapat memudahkan lembaga ataupun perusahaan melakukan transaksi dengan pihak konsumen dan mengontrol seluruh kegiatan.

Pada saat ini beberapa perusahaan sudah memanfaatkan aplikasi internet seperti elektronic commerce yang dapat memperluas pangsa pasar, menurunkan biaya pembuatan, pemrosesan, pendistribusian, penyimpanan dan pencarian informasi yang menggunakan kertas, keuntungan lain meliputi layanan konsumen, menemukan rekan bisnis baru, proses menjadi lebih sederhana, akses informasi menjadi lebih cepat, biaya transportasi berkurang dan fleksibilitas bertambah. Keterbatasan-keterbatasan e-commerce secara teknis ada pada kekurangan sistem keamanan, kehandalan, standar, dan beberapa protokol komunikasi, adanya bandwidth telekomunikasi yang tidak mencukupi[1].


(23)

Informasi yang dikirim dan diterima menggunakan jalur transmisi telekomunikasi yang belum tentu dijamin kerahasiaannya, bisa saja informasi yang sedang dikirim melalui media transmisi itu dicuri atau diubah oleh penyadap untuk kepentingan tertentu [2]. Dengan adanya kejahatan-kejahatan ini para pengguna semakin tidak aman dan menjadi intaian para penjahat setiap kali mereka berinternet [3], maka diperlukan solusi yang bisa membantu agar data yang dipertukarkan bisa aman dan sampai ke tujuan yang diinginkan. Salah satu solusi yang ditawarkan adalah dengan metode kriptografi, yaitu suatu metode yang digunakan untuk mengamankan data, dan melakukan pertukaran kunci enkripsi dan dekripsi.

Algoritma kriptografi dikelompokan menjadi dua kelompok, yaitu algoritma simetris dan asimetris. Algoritma simetris adalah algoritma yang menggunakan kunci yang sama untuk melakukan proses enkripsi dan dekripsi, jadi pihak pengirim pesan dan pihak penerima pesan memiliki kunci yang sama. Sedangkan algoritma asimetris adalah metode kriptografi dengan penggunaan kunci untuk membuat pesan yang disandikan berbeda dengan kunci yang dipakai untuk membuka pesan yang disandikan, jadi pihak pengirim pesan dan pihak penerima pesan memiliki kunci yang berbeda, kunci enkripsi tidak sama dengan kunci dekripsi. Kunci asimetrik juga disebut kunci publik, kriptografi kunci publik menggunakan sepasang kunci, satu kunci untuk enkripsi dan satu kunci untuk dekripsi, kunci untuk enkripsi bersifat publik (tidak rahasia) sehingga dinamakan kunci publik (public key), sedangkan kunci dekripsi bersifat rahasia sehingga dinamakan kunci rahasia (private key atau secret key) [4].


(24)

PT. Pupuk Iskandar Muda (PIM) yang terletak di Kota Lhokseumawe, merupakan salah satu perusahaan bergerak dalam bidang industri pupuk serta industri kimia lainnya. Selama ini PT. Pupuk Iskandar Muda dalam melakukan aktifitas dan transaksi penjualan masih menggunakan metode penjualan melalui seksi pemasaran yang melakukan pemesanan melalui jalur telekomunikasi atau pun langsung ke lokasi. Untuk meningkatkan penjualan dan pemasaran dibutuhkan teknologi internet berbasis web yang nantinya dapat mendukung transaksi penjualan sehingga dapat meningkatkan kinerja perusahaan. Untuk menjamin proses transaksi penjualan berjalan dengan aman dibutuhkan sistem keamanan. Sehingga informasi yang disampaikannya tidak diketahui oleh orang lain ataupun kompetitor perusahaan. Dengan hadirnya berbagai macam algoritma sistem keamanan yang berbeda-beda, untuk mengetahui kinerja sebuah algoritma untuk proses enkripsi dan dekripsi yang akan diterapkan pada website PT. PIM tentunya menjadi dilema tersendiri bagi perusahaan.

Berdasarkan latar belakang di atas penulis mencoba menganalisis dan membandingkan kinerja kriptografi yang sudah diketahui algoritmanya dengan kriptografi yang belum diketahui algoritmanya untuk diaplikasikan pada proses enkripsi dan dekripsi data teks pada website. sehingga akan diketahui seberapa besar keuntungan yang dapat diraih apabila bertransaksi internet tanpa mengetahui algoritmanya, algoritma dapat digunakan tapi algoritmanya tidak diketahui.

Penelitian ini dilakukan berdasarkan kajian pustaka pada penelitian-penelitian sebelumnya dengan beberapa perbedaan seperti terlihat pada Tabel 1.1. Sebelumnya


(25)

Rahmat dkk [5] telah membahas keamanan transaksi e-commerce menggunakan metode cipher pada pertukaran kunci Diffie-Hellman untuk meningkatkan kompleksitas metode yang digunakan pada kanal yang tidak aman, mereka dalam penelitian ini menggunakan kriptografi yang algoritmanya sudah diketahui. Pada penelitian yang dilakukan oleh Nasution dkk [6] telah membahas tentang aplikasi sistem keamanan web service dengan menggunakan algoritma kriptografi tetapi algoritmanya tidak dapat diketahui.

Tabel 1.1 Daftar Penelitian Sistem Keamanan E-Commerce

Peneliti Judul Tahun Hasil Penelitian

Abdul Monem S. Rahma et al [4]

Hybrid Model for Securing E-Commerce

Transaction

2011 Penelitian ini menjelaskan kemanan transaksi e-commerce menggunakan metode cipher pada pertukaran kunci Diffie-Hellman dengan menggunakan polinomial terpotong dalam discrete logarithm problem (DLP), juga digunakan penggabungan algoritma hashing MD5, algoritma AES kunci simetris dan asimetris sebagai modifikasi dari Diffie-Hellman (MDH)

B.B. Nasution et al [6]

Algorithm of a Security Control System for Web Services

Applications," in the Proceedings of System Sciences

2005 Penelitian tentang pertukaran algoritma merupakan algoritma dapat digunakan tapi algoritmanya tidak diketahui, yang merupakan strategi untuk melindungi kerahasian, integritas dan otentikasi data


(26)

Tabel 1.2. (Sambungan)

Peneliti Judul Tahun Hasil Penelitian

Budi [4] AnalisisPerbanding

an Algoritma Kriptografi AES, DES, dan IDEA yang Tepat Untuk Perangkat Mobile

2013 Penelitian tentang membandingkan beberapa algoritma yang tepat untuk digunakan pada proses enkripsi dan dekripsi data teks pada perangkat mobile

Punita Meelu et al [7]

AES: A Symmetric Key Criptographic System

2011 Penelitian ini menjelaskan matematika dasar dan beberapa masalah komputasi, optimalisasi cipher serta analisis aspek keamanan terhadap AES yang digunakan dalam bidang keamanan komunikasi

Shazia Yasin et al [8]

Cryptography Based E-Commerce

Security: A Review

2012 Penelitian ini menjelaskan keharusan mengamankan E-Commerce protokol, infrastruktur kunci publik, kunci tangan digital, dan sertifikat teknik kriptografi

Rizkianto, Agung [9]

Implementasi Algoritma Diffie-Hellman Untuk Menangani IP Spoofing Pada Jaringan

2011 Penelitian ini menjelaskan penggunaan Algoritma Diffie-Hellman dalam pertukaran data antara dua host komputer di dalam sebuah jaringan, kedua host tersebut memiliki sebuah kunci rahasia yang sama, yang dapat digunakan untuk melakukan enkripsi dan dekripsi data yang dikirim. Emmy Wijayayanti [10] Perancangan Aplikasi Aproksimasi

Fungsi Univariat Dengan Pertukaran Algoritma dan Least Square

2005 Penelitian ini menjelaskan evaluasi kinerja pertukaran algoritma dan Least Square yang di arahkan pada parameter derajat (n) polinomial berhingga, dengan menganalisis masukan yang berupa data awal dan menghasilkan keluaran yang berupa persamaan polinomial aproksimasi


(27)

Penelitian lanjutan di bidang ini sangat diperlukan sebagai bentuk peningkatan kinerja sistem keamanan website dengan menerapkan pertukaran algoritma. Hasil dari penelitian ini diharapkan dapat memberikan kontribusi bagi pengembang sistem keamanan dan pendistribusian di website PT. PIM.

Penelitian ini dan penelitian terdahulu mempunyai persamanan yaitu pada pendekatan yang dilakukan. Penelitian tersebut menerapkan pertukaran algoritma seperti yang telah dilakukan oleh peneliti Nasution [6], Wijayanti [10]. Selanjutnya penerapan kriptografi algoritma yang sudah diketahui pada sistem keamanan seperti yang telah dilakukan oleh beberapa Peneliti [5], [4], [7], [8], [9].

Terdapat perbedaan penelitian yang dilakukan dengan penelitian sebelumnya yaitu menganalisa sistem keamanan dengan membandingkan kriptografi yang menggunakan algoritma yang sudah diketahui dan kriptografi yang menggunakan algoritma yang belum diketahui algoritmanya.

1.2 Perumusan Masalah

Berdasarkan pada latar belakang di atas, maka dapat dirumuskan masalah sebagai berikut:

a. Bagaimana bertransaksi internet tanpa mengetahui algoritma, algoritma bisa digunakan tapi algoritma tidak diketahui, masing-masing menggunakan algoritma yang berbeda-beda.

b. Bagaimana permasalahan apabila algoritmanya tidak diketahui, seberapa besar keuntungan yang dapat diraih dan kerugian yang didapat.


(28)

1.3 Batasan Masalah

Dari rumusan masalah yang ada, untuk mengurangi pembahasan yang meluas maka dilakukan pembatasan masalah sebagai berikut:

a. Peneliti menganalisis sistem keamanan metode kriptografi tanpa mengetahui algoritma dan dengan mengetahui algoritma yang digunakan.

b. Menggunakan teknologi pertukaran algoritma dengan pemrograman java.

1.4 Tujuan Penelitian

Tujuan yang ingin dicapai pada penelitian ini yaitu ingin melihat seberapa besar keuntungan yang dapat diraih apabila bertransaksi internet dengan menggunakan kriptografi yang tanpa diketahui algoritmanya dan mengetahui permasalahan yang terjadi apabila menggunakan metode kriptografi yang sudah diketahui algoritmanya.

1.5 Manfaat Penelitian

Melihat tujuan penelitian di atas maka penelitian ini diharapkan dapat memberikan manfaat berupa:

a. Memberikan kontribusi bagi penelitian lanjutan dalam menggunakan metode kriptografi yang diketahui algoritmanya dan kriptografi tanpa diketahui algoritma dan dapat memperkaya konsep atau teori yang mendukung perkembangan ilmu pengetahuan pada disiplin ilmu Teknik Elektro.


(29)

b. Hasil penelitian ini diharapkan dapat memberikan masukan yang bermanfaat pada perusahaan dalam meningkatkan pemasaran dan memudahkan perusahaan memasarkan produknya dengan sistem e-commerce.

1.6 Sistematika Penulisan

Pada tulisan ini disusun sebanyak lima bab yang terdiri dari:

BAB I : PENDAHULUAN, berisi kerangka penelitian yaitu latar belakang, rumusan masalah, tujuan penelitian, batasan masalah, dan metode yang ditempuh;

BAB II : TINJAUAN PUSTAKA, memuat berbagai teori algoritma, kriptografi yang diketahui algoritma dan tanpa diketahui algoritmanya, konsep kriptografi simetris dan asimetris;

BAB III: METODE PENELITIAN, berisi tentang rancangan sistem yang dibangun, pengumpulan data, pemodelan sistem berserta metode-metode yang dilakukan dalam penelitian;

BAB IV : HASIL DAN ANALISA, berisi analisis dari hasil perancangan sistem. Analisis dilakukan dengan pengujian terhadap sistem yang dirancang; BAB V : KESIMPULAN DAN SARAN, berisi hasil kesimpulan dari tulisan dan


(30)

BAB 2

TINJAUAN PUSTAKA

2.1 Pengertian E-commerce

E-commerce sebagai suatu cakupan yang luas mengenai teknologi, proses dan praktik yang dapat melakukan transaksi bisnis tanpa menggunakan kertas sebagai sarana mekanisme transaksi. Hal ini dapat dilakukan dengan berbagai cara seperti melalui e-mail atau dapat melalui World Wide Web [11]. Hal ini menggambarkan lebih kurang bahwa E-commerce merupakan satu set teknologi yang dicari, aplikasi dan proses bisnis yang menghubungkan perusahaan, konsumen dan komunitas tertentu melalui transaksi elektronik dan perdagangan barang, jasa, dan informasi yang dilakukan secara elektronik.

E-commerce bukan hanya sebuah mekanisme penjualan barang atau jasa melalui medium internet tetapi lebih pada transformasi bisnis yang mengubah cara – cara perusahaan dalam melakukan aktivitas usahanya sehari–hari [11]. Secara umum David Baum, yang dikutip oleh Onno w. Purbo dan Aang arif wahyudi “E-commerce is a dynamic set of technologies, applications, and business process that link enterprieses, consumer and comunnities through electronic transactions and the electronic exchange of goods, services and information”. E-commerce merupakan satu set dinamis teknologi, aplikasi dan proses bisnis yang menghubungkan perusahaan, konsumen dan komunitas tertentu melalui transaksi elektronik dan perdagangan barang, jasa, dan informasi yang dilakukan secara elektronik [12].


(31)

Ding [14] dalam bukunya E-Commerce disebutkan e-commerce merupakan suatu transaksi komersial yang dilakukan antar penjual dan pembeli atau dengan pihak lain dalam hubungan perjanjian yang sama untuk mengirimkan sejumlah barang, pelayanan atau peralihan hak. Transaksi komersial ini terdapat di dalam media elektronik (media digital) yang secara fisik tidak memerlukan pertemuan para pihak yang bertransaksi dan keberadaan media ini di dalam public network atau sistem yang berlawanan dengan private network (sistem tertutup).

Dari berbagai definisi yang ditawarkan dan dipergunakan oleh berbagai kalangan diatas, terdapat kesamaan dari masing–masing definisi tersebut. Kesamaan tersebut memperlihatkan bahwa e-commerce mempunyai karakteristik, yaitu:

1. Terjadinya transaksi antar dua belah pihak 2. Adanya pertukaran barang, jasa atau informasi

3. Internet merupakan medium utama dalam proses atau mekanisme perdagangan tersebut.

Dari karakteristik tersebut terlihat jelas bahwa pada dasarnya E-commerce merupakan dampak dari perkembangan teknologi informasi dan telekomunikasi, dan secara signifikan mengubah cara manusia melakukan interaksi dengan lingkungannya, yang dalam hal ini terkait dengan mekanisme dagang [14].

2.2 Aspek-Aspek Keamanan Data

Untuk menjamin data dapat sampai ke pihak yang berhak menerima data, dibutuhkan langkah-langkah, yaitu [19]:


(32)

a. Confidentiality/Privacy

Merupakan usaha untuk menjaga kerahasiaan data. Data hanya boleh diakses oleh orang yang berwenang. Contohnya data-data pribadi, data-data bisnis, daftar gaji, data nasabah dan lainnya. Aspek keamanan data menjadi sangat sensitif dalam e-commerce dan militer. Serangan dalam aspek ini antara lain dilakukan dengan penyadapan, misalnya sniffer atau logger.

b. Integrity

Memastikan bahwa informasi yang dikirim melalui jaringan tidak mengalami modifikasi oleh pihak yang tidak berhak. Serangan dapat berupa pengubahan data oleh orang yang tidak berhak, misalnya dengan spoofing atau virus yang dapat mengubah berkas.

c. Availability

Informasi harus tersedia ketika dibutuhkan. Serangan dapat berupa meniadakan layanan (Deniel of Service/Dos attack) atau menghambat layanan dengan membuat server lambat.

d. Non-repudiation

Pengirim tidak dapat menyangkal bahwa yang bersangkutan telah melakukan transaksi.

e. Authentication

Meyakinkan keaslian data, sumber data, orang yang mengakses data, dan server yang digunakan. Beberapa cara yang dapat digunakan untuk membuktikan keaslian data antara lain dengan what you have (misalnya kartu identitas), what


(33)

you know (misalnya password atau PIN) dan what you are (misalnya dengan biometric identity). Serangan dapat dilakukan dengan menggunakan identitas palsu, terminal palsu atau situs palsu.

f. Acces Control

Aspek ini berhubungan dengan mekanisme pengaturan akses ke informasi, untuk mengatur siapa yang boleh melakukan akses, membutuhkan adanya klasifikasi data. Misalnya data umum (public), pribadi (private), rahasia (confidential) atau sangat rahasia (top secret).

g. Accountability

Dapat dipertanggungjawabkan melalui mekanisme logging dan audit. Adanya kebijakan dan prosedur (policy and procedures).

2.3 Kriptografi

Kriptografi adalah ilmu untuk menjaga keamanan pesan. Setiap orang mempunyai cara unik untuk merahasiakan pesan. Cara- cara unik tersebut berbeda-beda pada setiap pelaku kriptografi, sehingga akan terlihat pada saat menulis pesan rahasia, pesan mempunyai nilai estetika tersendiri sehingga kriptografi berkembang menjadi sebuah seni merahasiakan pesan. Pada perkembangan selanjutnya kriptografi berkembang menjadi sebuah disiplin ilmu sendiri karena teknik-teknik kriptografi dapat diformulasikan secara matematik sehingga menjadi sebuah metode yang formal [18].


(34)

2.1.1. Komponen kriptografi

Kriptografi terdiri dari beberapa komponen sebagai berikut [18]:

a. Algoritma, merupakan himpunan aturan matematis yang digunakan dalam enkripsi dan dekripsi.

b. Enkripsi, adalah transformasi data ke dalam bentuk yang tidak dapat terbaca tanpa sebuah kunci tertentu.

c. Dekripsi, merupakan kebalikan dari enkripsi, yaitu transformasi data terenkripsi kembali ke bentuknya semula.

d. Kunci, digunakan pada saat melakukan enkripsi dan dekripsi. Pada kriptografi modern, keamanan enkripsi tergantung pada kunci, dan tidak tergantung kepada algoritmanya apakah dilihat orang lain atau tidak. e. Pesan asli (Plaintext), disebut juga dengan clear-text, merupakan teks asli

yang akan diproses menggunakan algoritma kriptografi tertentu untuk menjadi ciphertext.

f. Ciphertext, merupakan pesan yang telah melalui proses enkripsi yang merupakan himpunan karakter acak.

g. Kriptologi, merupakan studi tentang kriptografi dan kriptanalisis.

h. Kriptalis (Cryptanalysis), merupakan aksi memecahkan mekanisme kriptografi dengan cara menganalisisnya untuk menemukan kelemahan dari suatu algoritma kriptografi sehingga akhirnya dapat ditemukan kunci atau teks asli.


(35)

i. Kriptosistem, adalah perangkat keras atau implementasi perangkat lunak kriptografi yang diperlukan dalam mentransformasi sebuah pesan asli menjadi ciphertext dan juga sebaliknya.

Gambar 2.1 Skema Enkripsi Dan Dekripsi Dengan Kunci [18]  

2.3.2 Serangan Terhadap Kriptografi (Cryptanalysis)

Kriptanalisis (cryptanalysis) adalah ilmu untuk mendapatkan pesan asli (plaintext) tanpa harus mengetahui kunci secara wajar. Pemecahan sandi rahasia yang berhasil akan menghasilkan plaintext atau kunci. Kriptanalisis juga dapat menemukan kelemahan dari kriptosistem yang pada akhirnya dapat menemukan kunci atau plaintext. Asumsi dasar dalam kriptanalisis pertama kali diungkapkan oleh Dutchman A Kerckhoffs, yaitu bahwa kerahasiaan harus terletak pada kunci. Kerckhoffs mengasumsikan bahwa kriptanalis mempunyai detail lengkap tentang algoritma kriptografi dan implementasinya [20].


(36)

2.3.3 Kriptografi AES

Advanced Encryption Standard (AES) merupakan kriptografi yang didesain untuk beroperasi pada blok pesan 128 dan menggunakan blok kunci dengan panjang 128 bit, 192 bit , atau 256 bit. Proses enkripsi AES digambarkan pada Gambar 2.2 proses enkripsi AES diawali proses AddRoundKey diikuti sembilan round dengan arsitektur yang tersusun atas empat proses. Akhir proses AES digunakan round kesepuluh yang tersusun atas tiga proses yaitu SubBytes, ShiftRows, dan AddRoundKey [21]. Proses dekripsi AES umumnya sama dengan proses enkripsi, tetapi pada proses dekripsi memiliki urutan proses penyusunan pada round yang berbeda. Secara skematis proses dekripsi dapat digambarkan seperti Gambar 2.3.


(37)

(38)

2.4 Pertukaran Algoritma

Metode ini dapat membantu sistem keamanan jaringan memperoleh tujuan awal, yaitu untuk mengawasi permasalahan pada koneksi internet. Bila menggunakan metode ini, diperkirakan bahwa sistem keamanan dapat mengirim dan menerima data dengan baik dan untuk mengantisipasi kegiatan yang mencurigakan [6].

2.4.1 Dinamika Pertukaran Algoritma

Untuk melindungi pesan yang sangat penting dan bersifat rahasia, kebanyakan dari transaksi internet menggunakan kata kunci dalam proses enkripsi maupun dekripsi. Penggunaan aplikasi internet seperti Web atau P2P ( peer to peer ) pada saat mengirim dan menerima data, contohnya data jenis XML dipindahkan dengan menggunakan protokol yang dapat dibaca seperti menggunakan HTTP. Proses mengirim dan menerima data dimungkinkan untuk dimonitor dan diproses lebih lanjut dengan menggunakan algoritma untuk mengirim dan menerima pesan enkripsi/dekripsi pada transaksi di internet (termasuk juga dalam kegiatan web) seperti DES dan Triple DES, RC2,RC4, blowfish, atau IDEA, pengguna dapat melakukan analisis dengan analisa terhadap kata kunci dengan menggunakan kata kunci seperti Field Programmable Gate Arrays (FPGA) atau Application Specific Integrated Circuits (ASIC).

Ketergantungan terhadap kata kunci menyebabkan pemilik kata kunci kesulitan untuk memperbaharui/merubah kata kunci secara dinamis. Alasan utamanya adalah karena adanya PKI (Public Key Infrastructure) yang merupakan infrastruktur


(39)

yang sangat kompleks. Kebalikan dari sistem tersebut, sistem keamanan dengan menggunakan pertukaran algoritma sebagai tambahan terhadap kata kunci membuat Kedua pihak dapat bertukar algoritma melalui sebuah koneksi. Karena keduanya menggunakan algoritma yang berbeda, pihak yang tidak berhak akan memakan waktu lebih lama untuk mengetahui isi pesan secara keseluruhan [6].

2.4.2 Konsep Pertukaran Algoritma

Kata kunci dalam konsep pertukaran algoritma adalah selama algoritma tersebut akan dijalankan pada sebuah program, kelompok algoritma dapat dikonversi ke dalam kelompok objek, kemudian ditandai sebelum dapat digunakan, selanjutnya algoritma dapat dimasukkan secara dinamis pada bagian pemograman dengan menggunakan konsep java.lang.reflect. Hasilnya, kedua belah pihak dapat menggunakan algoritma secara bersamaan sesuai kebutuhan.

Keamanan pertukaran algoritma tidak hanya digunakan untuk meningkatkan tingkat kerahasiaan dari transaksi/kegiatan, tetapi juga dapat menilai keaslian dan integritas pesan. Sama halnya dengan kata kunci publik dan kunci pribadi, setiap pihak harus memiliki dua algoritma yang berbeda untuk dienkripsi dan didekripsi. Dengan menggunakan mekanisme ini, penerima yang tidak berhak tidak dapat menggunakan algoritma yang dibuat oleh pengirim. Dan pemilik algoritma dapat menyediakan sebuah metode algoritma yang dapat merahasiakan pemiliknya. Untuk menjaga integritas data, penerima harus menggunakan algoritma sebelumnya untuk


(40)

memastikan keaslian data melalui validasi yang sesuai dengan algoritma yang digunakan.

Untuk menghindari ukuran pesan XML yang besar, bytes dapat dikonversi menjadi string. Walaupun mengirim byte sebagai string di dalam pesan berbasiskan XML melalui internet bukanlah merupakan opsi utama. Terdapat beberapa standar pengkodean, seperti tulisan huruf China, Jepang, Arab dll, yang secara normal dapat menimbulkan kesulitan selama mengkonversi dari dan menjadi karakteristik alphabet, dan untuk meningkatkan kecepatan transaksi dan menghemat bandwith, sangat dianjurkan supaya pengguna tidak memperbaharui algoritma selama transaksi berlangsung [6].


(41)

BAB 3

METODELOGI PENELITIAN

Pada bab ini Penulis mengkaji bagaimana sebuah website pada saat transaksi berlangsung antara pihak pengirim dan penerima tidak mengetahui jenis algoritma yang digunakan, algoritma dapat digunakan namun jenis algoritmanya tidak diketahui, pihak pengirim dan penerima masing-masing menggunakan algoritma yang berbeda. Penjabaran pada metode penelitian ini meliputi rancangan penelitian, proses penelitian, pemodelan sistem, pembuatan sistem keamanan dan instrumen penelitian.

3.1 Rancangan Penelitian

Penulis melakukan percobaan terhadap suatu sistem keamanan yang sudah menggunakan metode kriptografi. Pada tahap awal penulis melakukan pengamatan langsung pada hasil penelitian yang telah dilakukan oleh peneliti sebelumnya dengan menggunakan kriptografi yang telah diketahui algoritmanya. Hal ini untuk mendapatkan gambaran seberapa besar keuntungan yang dapat diraih dan kerugian yang didapat selama melakukan transaksi internet. Kemudian dilanjutkan dengan membuat perancangan sistem keamanan yang diimplementasikan ke dalam pemrograman. Setelah perancangan awal sistem selesai, dilanjutkan dengan penentuan parameter yang dibutuhkan serta melakukan pengujian terhadap parameter tersebut. Hasil dari pengujian digunakan untuk melakukan analisis penelitian.


(42)

3.2 Proses Penelitian

Proses penelitian meliputi pengumpulan data dan melakukan percobaan pada penelitian sebelumnya yang menggunakan kriptografi algoritma yang sudah diketahui, perancangan awal sistem keamanan transaksi algoritma yang tidak diketahui algoritmanya dan pembuatan program sistem keamanan dengan pertukaran algoritma dan melakukan percobaan menggunakan web browser pada komputer client dan dimonitor oleh sniffer dengan menggunakan program wireshark.

3.2.1 Pengumpulan data

Pengumpulan data dilakukan melalui suatu pengamatan (observasi) ke penelitian yang sudah dilakukan sebelumnya dibidang transaksi internet dengan metode kriptografi yang sudah diketahui. Observasi yang dilakukan penulis pada penelitian tersebut meliputi :

a. Observasi pemrograman transaksi internet

Observasi terhadap pemrograman transaksi internet menggunakan metode kriptografi algoritma yang telah diketahui. Hasil pengamatan transaksi internet menunjukkan bahwa metode pemrograman website tersebut menggunakan bahasa pemrograman di sisi server. Model pemrograman transaksi internet ini dapat dilihat pada Gambar 3.1.


(43)

Gambar 3.1 Model Web Umum Transaksi Internet b. Observasi data spesifikasi perangkat lunak

Observasi data spesifikasi perangkat lunak adalah pengamatan terhadap seluruh spesifikasi perangkat lunak yang digunakan pada transaksi internet, secara umum transaksi internet menggunakan bahasa pemrograman PHP 5.2.6. Hasil pengamatan diterapkan dalam pengembangan sistem keamanan transaksi internet dengan menggunakan metode kriptografi algoritmanya yang sudah diketahui.

c. Observasi sistem keamanan

Observasi sistem keamanan adalah pengamatan terhadap sistem keamanan transaksi internet dengan menggunakan metode kriptografi algoritma yang sudah diketahui, baik dari sisi client dan server. Hasil pengamatan menunjukkan sistem


(44)

keamanan transaksi internet dengan menggunakan metode kriptografi algoritma yang sudah diketahui algoritmanya belum cukup terjamin keamanannya.

3.2.2 Perancangan sistem keamanan

Transaksi internet pada saat ini umumnya menggunakan kriptografi yang algoritmanya sudah diketahui, sehingga mempermudah pihak yang tidak berhak untuk mengetahui isi pesan, karena pada saat ini transaksi internet masih menggunakan algoritma yang sudah umum dan diketahui. Untuk memastikan data-data tersebut sudah terjamin keamanannya dan sudah dalam bentuk terenkripsi dengan baik, maka penulis melakukan Penelitian ini untuk mengetahui apakah dengan menggunakan kriptografi yang algoritmanya tidak diketahui dan algoritma yang berbeda antara pengirim dan penerima dapat meningkatkan keamanan pada saat bertransaksi internet, dan data dapat terenkripsi dan terdekripsi dengan baik.

3.2.3 Kriptografi algoritma yang sudah diketahui

Pada tahap ini dilakukan penelitian yang berkaitan dengan rancangan kerja sistem keamanan transaksi internet yaitu kriptografi yang algoritmanya sudah diketahui dan umum digunakan yaitu algoritma AES.

3.2.3.1Algoritma AES (Advanced Encryption Standard)

Pada penelitian ini algoritma AES digunakan untuk melakukan percobaan proses enkripsi dan dekripsi data transaksi internet.


(45)

Berikut langkah-langkah percobaan dengan menggunakan algoritma AES: d. Proses dimulai dengan mengambil data transaksi dengan format teks. e. Kemudian format teks tersebut dienkripsi menggunakan algoritma AES

menggunakan kunci rahasia.

f. Setelah data teks terenkripsi, kemudian data tersebut dikirim ke penerima melalui jaringan internet.

g. Data transaksi internet diterima oleh penerima, data teks yang sudah terenkripsi selanjutnya diproses untuk dilakukan proses dekripsi dengan menggunakan algoritma AES dengan menggunakan kunci rahasia yang sama dengan saat data teks yang sudah dienkripsi.

h. Kemudian format teks yang telah didekripsi di tampilkan di web browser. Adapun potongan program yang digunakan untuk mengimplementasi enkripsi algoritma AES adalah sebagai berikut:


(46)

dan potongan program untuk dekripsi algoritma AES adalah:

Penggunaan algoritma AES sudah banyak diterapkan dalam komunikasi data, seperti pada komunikasi layanan internet hotspot yang digunakan oleh beberapa perusahaan, dalam mengamankan layanan wifi perusahaan tersebut menggunakan kriptografi algoritma AES. Gambar 3.2 adalah contoh setting pada modem speedy perusahaan yang menggunakan algoritma AES untuk mengamankan jaringan wifi.


(47)

3.2.4 Kriptografi algoritma yang belum diketahui

Pada saat transaksi internet melakukan proses pengiriman dan menerima data dibutuhkan jaminan keamanan untuk melindungi transaksi internet, maka digunakan kriptografi yang algoritmanya belum diketahui, tetapi algoritmanya dapat digunakan. Algoritma yang digunakan akan dikirim oleh pengirim (web service client) ke penerima (web service server) atau sebaliknya, pada penggunaan metode kriptografi yang algoritma tidak diketahui menggunakan kunci rahasia yang dikirim dalam satu paket pesan bahasa Java, paket pesan terdiri dari kunci rahasia, dan pesan teks yang telah terenkripsi dengan algoritma yang tidak diketahui. Gambar 3.3 menunjukkan proses diagram perancangan algoritma yang belum diketahui dalam proses melindungi transaksi internet.

Adapun langkah-langkah yang dilakukan pada diagram alur Gambar 3.3 sebagai berikut:

1. Proses dimulai dengan mengambil pesan file algoritma enkripsi yang di kirim dari pihak A (web service client) ke pihak B (web service server), pihak A mengetahui algoritma yang digunakan, misalnya pihak A menggunakan algoritma kriptografi AES dalam berkomunikasi, pihak A ini hanya mengirim bagian enkripsi dari algoritma AES ke pihak B. File yang diterima oleh pihak B digunakan untuk mengenkripsi pesan yang akan dikirim ke pihak A, sehingga pihak B hanya menggunakan algoritma


(48)

Pesan teks dienkripsi  dengan algoritma  yang belum diketahui

Mulai

Pengiriman pesan file  algoritma enkripsi  dalam bahasa Java

Pesan file enkripsi algoritma  Kunci Rahasia  

Transaksi Internet 

Terima file enkripsi  hasil transaksi 

Data teks di dekripsi  sebelum digunakan 

Selesai

Pesan teks didekripsi  dengan algoritma 

yang digunakan

Diolah dan  ditampilkan dalam 

HTML 

Algoritma yang tidak diketahui  yang dikirim oleh pihak A dan pihak B tidak mengetahui algoritma apa yang digunakan oleh pihak A.


(49)

2. Setelah algoritma untuk enkripsi diterima oleh pihak B, maka pihak B akan melakukan enkripsi pesan yang akan dikirim ke pihak A menggunakan kriptografi yang pihak B tidak mengatahui algoritma dan kunci rahasia. Ini bertujuan untuk memberikan keamanan data selama dikirim dari web service server ke web service client dengan komputer client (web browser) atau sebaliknya. Selama proses ini pihak B hanya mengetahui pesan apa yang akan dikirim, dengan menggunakan algoritma yang tidak diketahui algoritmanya, pihak B melakukan enkripsi pesan, sehingga pesan yang telah terenkripsi tidak ada yang mengetahui ini pesan yang sebenarnya, selanjutnya pihak B mengirim pesan hasil enkripsi ke pihak A melalui transaksi internet.

3. Data pesan yang telah terenkripsi diterima oleh pihak A, selanjutnya pihak A melakukan dekripsi pesan yang diterima dengan algoritma dan kunci rahasia yang digunakannya. Setelah pihak A melakukan dekripsi pesan maka pihak A baru dapat mengetahui isi pesan yang dikirim oleh pihak B. Selama proses ini, jika pihak B mengirim pesan enkripsi ke pihak A tidak sesuai dengan enkripsi algoritma yang dikirim oleh pihak A sebelumnya, maka pihak A tidak dapat mengetahui isi pesan yang sebenarnya dikirim oleh pihak B, walaupun pihak A menggunakan algoritmanya untuk mendekripsi pesan. Dengan bertujuan untuk memberikan keamanan data selama transaksi internet, dari proses di atas, pihak yang tidak berhak untuk mengetahui pesan dalam transaksi internet, maka pihak tersebut juga tidak


(50)

dapat mengetaui isi pesan yang sebenarnya, walaupun setiap pihak dapat mengambil isi pesan selama bertransaksi internet.

4. Setelah pesan didekripsi dengan algoritma yang sama saat proses enkripsi pesan, pesan yang didekripsi akan menghasilkan pesan asli yang dikirim oleh pihak B, sehingga pesan asli yang telah diterima pihak A ini siap untuk digunakan atau ditampilkan ke halaman web browser pihak A . 5. Penjelasan di atas merupakan transaksi dari pihak A ke pihak B, dimana

pihak A mengirim algoritma ke pihak B untuk digunakan oleh pihak B untuk mengenkripsi pesan sebelum dikirim ke pihak A, sementara jika pihak B akan bertransaksi dengan pihak A, maka pihak B akan mengirim algoritma ke pihak A untuk digunakan oleh pihak A dalam mengenkripsi pesan sebelum pesan dikirim ke pihak B, proses ini dapat dilakukan dengan mengulang proses di atas dari proses langkah a sampai langkah d.

Potongan program untuk mengimplementasi konsep pertukaran algoritma antara web service client dengan web service server adalah sebagai berikut:

a. Web service client mengirim algoritma ke web service server

Pada bagian ini web service client mengirim file Enkripsi.java ke web service server, fileName ini terletak di filePath di web service client yang telah ditentukan terlebih dahulu, di dalam file ini berisi algoritma yang hanya diketahui oleh client, tetapi algoritma ini belum diketahui oleh server.


(51)

Di bagian web service client terdapat juga file Dekripsi.java yang digunakan oleh web service client untuk mendekripsikan data pesan yang dikirim oleh server. Algoritma yang digunakan disini dapat digunakan sembarang algoritma, dan alangkah baiknya menggunakan algoritma yang belum diketahui, untuk menjaga algoritma Enkripsi.java yang dikirim ke web service server benar-benar hanya diketahui oleh web service client, web service server hanya menggunakannya.

b. Web service server menerima algoritma

Sebelum pesan dikirim ke web service client, maka web service server melakukan enkripsi dengan algoritma yang telah dikrim oleh web service client, dengan nama yang telah ditentukan yaitu Enkripsi.java, sehingga disisi web service server dapat dibentuk class dengan nama classEnkripsi.


(52)

c. Web service server melakukan enkripsi pesan

Web service server melakukan pengiriman pesan ke web service client dengan menggunakan dua bagian yang sangat mempengaruhi hasil pesan, yaitu Pesan asli yang akan dikirim dan key yang menunjukkan kunci dari pesan, key ini bisa saja key yang dikirim dari web service client pada saat pengiriman file algoritma, atau key yang dibentuk sendiri oleh web service server yang kemudian key ini dikirim ke web service client saat pengiriman pesan.


(53)

d. Web service client menerima pesan enkripsi dan mendekripsi pesan

Pesan yang telah dienkripsi dari pihak web service server dan diterima oleh web service client, maka perlu didekripsikan kembali untuk menghasilkan PesanKirim sama dengan pesan asli, dalam dekripsi pesan dapat menggunakan key yang dikrim oleh web service atau key yang telah ditetapkan oleh web service client pada saat web service client mengirim pesan file algoritma.

3.3 Pemodelan Sistem

Sistem keamanan transaksi internet dengan enkripsi dan dekripsi menggunakan kriptografi algoritma yang belum diketahui pada saat proses pengiriman pesan enkripsi menggunakan bahasa XML dari web service server ke web service client atau sebaliknya, serta menggunakan teknologi Java JDK dengan pemrograman Java.

Dalam penelitian ini perangkat lunak yang dihasilkan adalah mengenkripsi pesan dengan algoritma yang tidak diketahui ke dalam XML dari web server ke web service dan web service mendekripsikan pesan XML dengan algoritma yang tidak diketahui yang dikirim dari web server untuk ditampilkan ke web browser dengan format HTML.


(54)

Gambar 3.4 Perancangan Web E-Commercy PT. PIM Berbasis Java

Peningkatan sistem keamanan yang diterapkan dalam perancangan adalah pertukaran data penting, seperti pada Gambar 3.4, data penting dari gambar tersebut adalah data yang tertampil dalam bentuk tabel, isi data tabel ini adalah data yang dikirim dari web service server ke web service client, setelah data diterima baru data dapat ditampilkan ke web browser client

Percobaan dilakukan pada komunikasi antara web server dan web service serta dimonitor oleh sniffer dengan menggunakan program wireshark. Percobaan kinerja web service server terhadap web service client dengan melihat hasil enkripsi algoritma yang tidak diketahui dalam bentuk request string data XML. Berikut potongan program XML yang dikirim dari web service server ke web service client.


(55)

3.4 Sistem Keamanan Pertukaran Algoritma Yang Belum Diketahui

Penggunaan pertukaran algoritma pada penelitian ini untuk menjamin penggunaan kriptografi yang tidak diketahui algoritmanya di web service server tidak pernah diketahui algoritmanya dan kriptografi hanya digunakan di web service, dimana setiap transaksi internet menggunakan algoritma tidak diketahui yang berbeda-beda.

Pertukaran algoritma dirancang untuk dapat digunakan dalam kriptografi yang algoritmanya tidak diketahui. Enkripsi pesan dengan algoritma yang tidak diketahui (A), dan dekripsi pesan dengan algoritma yang tidak diketahui (B), sehingga pesan


(56)

Mulai 

Melakukan  transaksi internet

Pembangkit  Random kunci rahasia

Matrik n x 3  Kunci rahasia 

Ambil pesan teks 

Blok vektor  3 karakter / blok

Vektor (a) = Perkalian  Matrik kunci  dengan blok vektor 

Nilai modulus = nilai  terkecil vektor (a) 

Vektor (b) = perkalian  Vektor (a) dengan 

nilai modulus 

Pesan xml = vektor (b)  + nilai modulus + 

kunci 

Pertukaran  Algoritma(AE) =  jumlah karakter  pesan xml, jumlah 

k k k i

Kirim pesan + AE XML 

Transmisi Internet 

Selesai  asli sebelum dienkripsi harus sama dengan pesan setelah didekripsi.

Gambar 3.5 Pertukaran Algoritma Yang Belum Diketahui Pada Web Service Server

Pembentukan kelas pertukaran algoritma dengan pemrograman java menggunakan format class FormatPertukaranAlgoritma (jumlah karakter enkripsi, jumlah karakter kunci), jumlah karakter enkripsi adalah jumlah karakter pesan yang


(57)

telah dienkripsikan dan diubah ke dalam bentuk bahasa XML, dan jumlah karakter kunci adalah jumlah karakter kunci yang dibangkitkan dengan pemrograman random karakter yang akan membentuk class matrik 3 kolom dengan jumlah baris sesuai dengan jumlah karakter yang dibangkitkan.

Penggunaan pertukaran algoritma di web service server dengan algoritma yang tidak diketahui dirancang dengan menggunakan beberapa tahapan, yaitu:

a. Setiap dimulainya transaksi diawali dengan pembentukan random kunci rahasia dengan jumlah n karakter .

b. Setelah terbentuk karakter kunci rahasia, kunci rahasia diubah kedalam format matrik dengan jumlah kolom sebanyak 3 kolom, dan jumlah baris sesuai dengan jumlah karakter yang membentuk sebuah baris n x 3, jika matrik tidak membentuk sebuah matrik n x 3, maka untuk melengkapi nilai n akan di tambahkan nilai 0 (null) pada karakter kunci rahasia. Kemudian mengubah nilai matrik menjadi pesan nilai desimal.


(58)

c. Selanjutnya dilakukan pengambilan pesan (string) yang dikirim, namun pesan tersebut dienkripsi terlebih dahulu dengan menggunakan file algoritma yang tidak dapat diketahui.

d. Memisahkan karakter pesan menjadi blok-blok pesan dengan jumlah karakter setiap blok pesan sebanyak 3 karakter, dan blok pesan dengan 3 karakter dijadikan pesan vektor. Jika setiap blok kurang dari 3, maka akan di isi dengan karakter null, Selanjutnya mengubah pesan vektor menjadi


(59)

nilai desimal.

e. Melakukan perkalian nilai matrik kunci rahasia dengan pesan vektor setiap blok pesan.

f. Setelah membentuk pesan baru yang dihasilkan dari langkah e, maka dilakukan pencarian nilai terkecil dari nilai vektor pesan untuk dijadikan nilai modulus.

g. Melakukan perkalian setiap nilai vektor pesan dengan nilai modulus yang didapatkan pada langkah f.


(60)

vektor string.

i. Mengubah nilai modulus menjadi pesan string.

j. Membentuk pesan XML yang terenkripsi dengan format pesan sama dengan pesan setiap vektor (blok pesan) ditambahkan dengan pesan string modulus lalu ditambahkan dengan pesan string kunci rahasia. Setelah pesan ini terbentuk akan dihitung jumlah karakter pesan XML yang terenkripsi ini.

k. Membentuk format data pertukaran algoritma dengan format PertukaranAlgoritma (jumlah karakter pesan enkripsi, jumlah karakter kunci).

l. Menggabungkan format pertukaran algoritma ke dalam pesan XML, kemudian pesan XML siap untuk dikirim melalui transmisi internet.

Untuk penggunaan pertukaran algoritma dengan algoritmanya tidak diketahui dirancang dengan menggunakan beberapa tahapan, adapun tahapan


(61)

penggunaan pertukaran algoritma dan kriptografi yang algoritmanya tidak diketahui di web service client adalah sebagai berikut:

a. Setelah pesan XML diterima di sisi web service client, web service client mengambil format pesan XML untuk melakukan pemisahan data pesan. b. Menerima data pesan jumlah karakter pesan enkripsi dan jumlah karakter

kunci untuk dimasukkan kedalam pertukaran algoritma.

c. Pertukaran algoritma melakukan pemisahan karakter enkripsi untuk didekripsikan, dengan jumlah karakter enkripsi (m) sama dengan jumlah karakter enkripsi dikurangi jumlah karakter kunci, dan hasilnya dikurangi 1 (satu).

d. Setelah jumlah karakter enkripsi diketahui maka diambil pesan enkripsi sebanyak m

e. Mengambil karakter modulus pada posisi karakter pesan enkripsi dengan posisi karakter sama dengan m ditambah 1 (m+1). Dan mengubah menjadi nilai desimal.

f. Mengambil karakter kunci pada karakter pesan enkripsi yang dimulai m+1 sampai dengan jumlah karakter pesan XML.

g. Mengubah karakter pesan kunci menjadi nilai desimal dan membentuk dalam matrik 3 kolom dan n baris.


(62)

h. Meng-invest-kan nilai matrik kunci.

i. Mengambil nilai pesan enkripsi dan membentuk blok pesan dengan setiap blok pesan terdiri dari n (n baris) karakter. Serta menjadikan blok pesan sebagai nilai vektor pesan.

j. Melakukan perkalian nilai invest matrik dengan nilai setiap vektor pesan setelah nilai setiap vektor pesan diubah kedalam bentuk nilai desimal. Hasil perkalian ini membentuk nilai vektor pesan baru.

k. Melakukan perkalian setiap nilai vektor pesan baru dengan nilai modulus, hasil ini kemudian akan dibuang karakter null jika ada, dengan demikian akan terbentuk pesan asli (hasil dekripsi).

l. Menampilkan pesan asli ke dalam bentuk HTML di web browser.


(63)

Diagram blok pertukaran algoritma yang belum diketahui pada web service client dapat dilihat pada gambar 3.7.

Gambar 3.5 Pertukaran Algoritma Yang Belum Diketahui Pada Web Service Client

3.5 Instrumen Penelitian

Instrumen penelitian terbagi dua bagian yaitu instrumen yang digunakan pada saat pembuatan sistem dan instrumen yang digunakan pada saat pengujian sistem.


(64)

3.5.1Instrumen Pada Pembuatan

Penelitian ini menggunakan perangkat komputer dan perangkat lunak yang terdiri dari:

a. Apache Tomcat: merupakan software web server yang berfungsi untuk menjalankan servlet saat ada request dari client.

b. Java JDK 1.4: berfungsi sebagai software yang digunakan untuk membangun aplikasi-aplikasi java.

c. NetBeans: sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform.

d. Operasi sistem Windows 7. e. Komputer HP Pavilion core i5.

3.5.2Instrumen Pada Pengujian

Untuk kebutuhan perancangan sistem dan analisa hasil dibutuhkan perangkat lunak tambahan sebagai berikut:

a. Browser: Perangkat lunak yang berfungsi untuk menampilkan halaman web, tipe browser yang digunakan adalah Firefox.

b. Fiddler 2.4.2.4: Merupakan salah satu program pemantau sesi (session inspector) dengan target browser. Dengan perangkat ini lalu lintas data dari/ke browser dapat dipantau.


(65)

c. Wireshark 1.10.0: Salah satu program pengendus (sniffer) aliran data yang melewati jaringan. Perangkat lunak ini ditempatkan antara server dan browser pada perangkat keras jaringan yang memiliki kemampuan monitoring port. d. Firebug 1.11.2: Merupakan perangkat tambahan pada browser mozilla firefox

yang digunakan untuk mengukur waktu yang dibutuhkan dalam mengakses sebuah halaman web.


(66)

BAB 4

HASIL DAN ANALISA

Data yang digunakan untuk menganalisa berasal dari hasil pengujian pada jaringan intranet yang dibentuk dengan menggunakan topologi point to point untuk menghubungkan jaringan kabel dua buah komputer. Hasil perancangan sistem dan pengujian dijabarkan pada bab ini, dan selanjutnya digunakan sebagai gambaran dalam membuat analisa.

4.1 Pengujian Algoritma AES Pada Pertukaran Algoritma

Berdasarkan Tabel 4.1 di bawah ini menunjukkan hasil percobaan algoritma AES-128 bahwa jumlah karakter kunci tidak mempengaruhi jumlah data teks hasil enkripsi, tetapi sangat tergantung dari jumlah karakter data teks plaintext. Dan hasil data teks enkripsi selalu berubah-ubah walaupun menggunakan data teks dan kunci yang sama dengan pengulangan percobaan data teks yang dienkripsi selalu berhasil didekripsi dengan menggunakan kunci yang sama saat dilakukan proses enkripsi.

Hasil percobaan Tabel 4.1 penggunaan algoritma AES, chipertext yang dihasilkan akan selalu berubah-ubah di setiap melakukan enkripsi walaupun menggunakan kode kunci dan plaintext (data text), dan hasil setelah didekripsi menghasilkan plaintext yang sama (plaintext enkripsi sama dengan plaintext-dekripsi).


(67)

Tabel 4.1 Pengujian Ukuran Karakter Algoritma AES-128

No Jumlah Karakter Plaintext

Jumlah Karakter Kunci

Jumlah Karakter Chipertext

1 1 1 12

2 2 1 16

3 8 1 24

4 8 2 24

5 8 8 24

6 16 1 32

7 24 1 40

8 24 16 40

4.2 Pengujian Transfer Data Protokol HTTP

4.2.1 Pengujian transfer data web server dan web browser client

Pada subbab ini dilakukan pengujian transfer data protokol HTTP dengan menggunakan Java web server. Dari hasil pengujian Tabel 4.2, web server untuk berkomunikasi dengan web browser menggunakan protokol HTTP. Proses dimulai dari permintaan web browser (client) ke web server, web server menerima dan memproses permintaan web browser, selanjutnya web server mengembalikan hasil prosesnya ke web browser secara transparan sehingga hasil yang dikirim ke web


(68)

browser dapat dengan mudah untuk diketahui. Gambar 4.1 adalah hasil akses web aplikasi pemasaran pupuk yang diakses melalui web server java.

Gambar 4.1. Akses Aplikasi HTTP Melalui Komputer Client

Pada Gambar 4.2 adalah hasil monitoring sekuriti saat client mengakses web aplikasi, dari hasil pengujian terlihat bahwa, selama bertransaksi data dalam mengakses web aplikasi dapat terekam aktifitas transfer datanya, sehingga dari hasil ini sistem keamanan integritas data yang diterapkan dalam web server belum maksimal, karena data asli yang dikirim dari web service sama dengan data yang diterima di web browser client. Dari hasil pengujian ini secara garis besar web server hanya memproses semua masukan yang diperoleh dari web browser.


(69)

Gambar 4.2. Monitoring Sekuriti Aplikasi HTTP Melalui Komputer Client

Kecepatan transfer data yang diperoleh dari Tabel 4.2 diukur dari sisi client, yang dimulai client melakukan permintaan ke web server melalui web browser sampai web server mengembalikan respon HTTP kembali ke web browser. Setiap pengujian dilakukan dua langkah, langkah pertama dilakukan permintaan ke web server dengan memasukkan alamat web server pada web browser, dan web server memproses dan mengembalikan permintaan ke web browser (kecepatan transfer langkah 1), langkah ke dua dilakukan dengan melanjutkan hasil respon yang diterima oleh web browser yang berupa tag untuk target link ke web server, setelah target link diproses di web browser (permintaan ke web server), web server kemudian mengembalikan respon HTTP ke web browser (kecepatan transfer langkah 2). Kecepatan transfer data dari web browser ke web server atau sebaliknya sangat tergantung dari kecepatan akses jaringan intranet/internet dan kecepatan server dalam pengolahan data (spesifikasi khusus server).


(70)

Tabel 4.2 Pengiriman Data Java Web Server Dan Web Browser Client

Pengujian Langkah ke- Besar Data Kecepatan Transfer

1 1 239 Byte 123.210 ms

2 262 Byte 74.749 ms

2 1 239 Byte 618.677 ms

2 262 Byte 351.577 ms

3 1 247 Byte 1125.000 ms

2 262 Byte 197.935 ms

4 1 245 Byte 122.006 ms

2 260 Byte 82.195 ms

Kecepatan transfer data yang diakses melalui tag target link ke web server pada web browser menunjukkan rata-rata lebih cepat dibandingkan permintaan ke web server dengan memasukkan alamat web server pada web browser.

4.2.2 Pengujian transfer data web service server dan web browser client

Pada subbab ini dilakukan pengujian transfer data protokol HTTP dengan menggunakan web service, permintaan yang dikirimkan ke web service server, kemudian web service mengirimkan data protokol HTML dalam bentuk XML, adapun hasil pengujian transfer data yang terpantau pada komputer client adalah sebagai berikut:


(71)

Tabel 4.3 Pengiriman Data Web Service Server Dan Web Browser Client Pengujian Besar Data Kecepatan Transfer

1 766 Byte 0.054 ms

2 635 Byte 0.048 ms

3 643 Byte 0.051 ms

4 606 Byte 0.387 ms

Dari Tabel 4.3, selama melakukan empat kali pengujian permintaan dari web service client ke web service server, dari tiga pengujian pertama dapat dianalisa hasil pengujian, semakin besar data yang dikirimkan dari web service server ke web service client, maka kecepatan transfer datanya juga akan semakin cepat. Rata-rata kecepatan transfer data 1 Byte adalah sekitar 13.3 mikro detik.

Data yang dikirim dari web service melalui bahasa XML merupakan data yang telah terenkripsi, sehingga web service client harus melakukan dekripsi terlebih dahulu sebelum data ditampilkan ke web browser. Gambar 4.3 berikut menunjukan hasil monitoring pengiriman data dalam jaringan pada saat web service mengirim data yang telah terenkripsi ke web service client. Dari hasil pengujian ini terlihat bahwa pihak yang memonitoring data di dalam jaringan tidak dapat mengetahui langsung data yang terbaca karena datanya sudah terenkripsi sehingga tidak mudah untuk mengetahui maksud data yang terbaca.


(72)

Gambar 4.3. Hasil Monitoring Data Enkripsi XML Web Service

4.3 Pengujian Kinerja Pertukaran Algoritma

Dalam pengujian kinerja pertukaran algoritma dilakukan dalam dua tahap, tahap pertama melakukan pengujian kinerja pada sisi web service server, dan tahap kedua dilakukan pengujian kinerja pada sisi web service client. Tujuan dari pengujian ini adalah untuk melihat kecepatan dan keamanan data dari proses kerja pertukaran algoritma.

 

4.3.1 Kinerja pertukaran algoritma web service server

Setelah melakukan pengujian terhadap kinerja pertukaran algoritma pada sisi web service server, dapat ditampilkan hasil pengujian seperti Tabel 4.4. kinerja pertukaran algoritma ini diukur dalam bentuk kecepatan dan pengamatan terhadap sistem keamanan yang dilakukan pemantauan pada komputer client.


(73)

Hasil pengujian Tabel 4.4 diperoleh data XML yang diterima oleh web service client rata-rata mempunyai besar data yang sama yaitu sekitar 1514 Byte, dengan setiap pengujian mempunyai kecepatan transfer data yang berbeda-beda.

Tabel 4.4. Kinerja Pertukaran Algoritma Web Service Server

Pengujian Besar Data XML Kecepatan Transfer

1 1514 Byte 15.634 ms

2 1514 Byte 125.742 ms

3 1514 Byte 39.208 ms

4 1514 Byte 24.932 ms

5 1514 Byte 117.107 ms

4.3.2 Kinerja pertukaran algoritma web service client

Setelah melakukan pengujian terhadap kinerja pertukaran algoritma pada sisi web service client, dapat ditampilkan hasil pengujian seperti Tabel 4.5 berikut:

Tabel 4.5. Kinerja Pertukaran Algoritma Web Service Client

Pengujian Besar Data HTML Kecepatan Transfer

1 203 Byte 0.342 ms

2 201 Byte 2.808 ms

3 232 Byte 0.247 ms

4 235 Byte 2.752 ms


(74)

Pertukaran algoritma ini menggunakan protocol HTTP, dengan tidak melakukan enkripsi terhadap file algoritma yang dikirim, maka selama melakukan pertukaran algoritma ini, maka data dapat dengan mudah untuk di monitoring dalam jaringan, untuk itu, dalam bertransaksi data untuk tidak melakukan pertukaran algoritma sesering mungkin, untuk tujuan algoritma yang dikirim melalui jaringan tidak mudah dipecahkan oleh orang yang tidak bertanggung jawab. Gambar 4.4 berikut hasil monitoring pengiriman file algoritma AES ke web service server melalui protocol HTTP yang terbaca data selama bertransaksi dalam jaringan komputer.

Gambar 4.4. Hasil monitoring pengiriman algoritma ke web service server

4.4 Keamanan Protokol Pertukaran Algoritma Yang Belum Diketahui

Pengujian pada sub bab ini adalah bertujuan untuk melihat protokol pertukaran algoritma yang diterapkan, sehingga mempunyai sistem keamanan yang baik, dari hasil perancangan protokol pertukaran algoritma setelah dilakukan pengujian didapatkan hasil seperti Gambar 4.5.


(75)

Gambar 4.5 Pengujian 1 Protokol Pesan Data dan Format Pertukaran Algoritma Yang Belum Diketahui

Dalam pengujian ini dilakukan untuk mengirimkan pesan “TESIS”. Pesan yang akan dikirim “TESIS” diubah terlebih dahulu menjadi kode ASCII, dengan perincian kode ASCII:

Kode ASCII dalam nilai desimal: T = 84

E = 69 S = 83 I = 73

Sehingga TESIS mempunyai kode ASCII adalah 8469837383, kode ASCII dijadikan pesan yang akan dikirim yang kemudian dijadikan vektor 3x1 {846 | 983 | 738 | 3}, untuk menjadi setiap pembagian terbagi tiga (3) karakter, jika kekurangan jumlah


(76)

karakter akan dimasukkan dengan nilai nol (0), sehingga menjadi 846 | 983 | 738 | 300. Untuk kunci random yang digunakan menggunakan bilangan logika 0 dan 1 sehingga jika kunci dihasilkan adalah 110000111101, jika dijadikan menjadi kunci matrik 4x3, hasilnya adalah:

1 1 0 0 0 0 1 1 1 1 0 1

Kunci matrik A dikalikan dengan vektor 3x1 dari setiap blok pesan, misalkan B = {8 4 6}, maka hasil perkalian matrik A dengan vektor B, akan menghasilkan {12 0 18 14}, dan untuk hasil perkalian terhadap vektor lainya adalah: {17 0 20 12}, {10 0 18 15}, { 3 3 3 0}, dari hasil ini akan dicari nilai modulus terhadap nilai terkecil yang nilainya lebih besar dari 0 (nol), sehingga diperoleh nilai 3 sebagai nilai modulus, nilai modulus kemudian dikalikan dengan nilai hasil perkalian matrik kunci dengan vektor pesan yang hasilnya adalah {36 0 54 42 51 0 60 36 30 0 54 45 9 0 9 9}, untuk dikirimkan pesan ini ke dalam jaringan (web service server/client), maka nilai ini akan disamakan jumlah karakter menjadi nilai 2 karakter yang mana jika setiap vektor pesan kurang dari 1 karakter akan ditambahkan 0 di awal karakter, sehingga karakter yang terbentuk adalah 2 karakter, hasilnya {36 00 54 42 51 00 60 36 30 00 54 45 09 00 09 09}, atau dapat ditulis menjadi “36005442510060363000544509000909”, hasil pesan ini sebelum dikirim akan


(77)

ditambahkan dengan nilai modulus dan kunci random, sehingga hasil yang terkirim ke jaringan adalah:

PesanKirim = “36005442510060363000544509000909110000111101” dengan perincian sebagai berikut:

36005442510060363000544509000909 Karakter pesan sejumlah 32 karakter

1 Nilai modulus

110000111101 Kunci random 12 karakter

Dari pesan di atas akan diambil format pertukaran algoritma yang akan di proses oleh penerima dalam tipe float dengan format:

FormatPertukaranAlgoritma = {32,12}

Pesan yang dikirim ke dalam jaringan ini, setiap pengiriman pesan menghasilkan dua protokol data yang dikirim yaitu PesanKirim dan FormatPertukaranAlgoritma, protokol yang dihasilkan ini akan selalu berubah tergantung dengan pertukaran algoritma yang digunakan. Dari hasil pengujian, pertukaran algoritma menggunakan kunci random 12 karakter sehingga dapat di format ke dalam matrik menjadi matrik 3x4, yaitu terdiri dari 3 kolom dan 4 baris, sehingga kode pesan ASCII dikelompokkan menjadi vektor 3x1. Jumlah pesan yang telah terenkripsi sebanyak 32 karakter ini menunjukkan karakter pesan yang diambil dari karakter pertama sampai sebanyak 32 karakter. Dari beberapa pengujian, pesan pertukaran algoritma akan selalu berubah sesuai dengan protokol kunci random yang digunakan, seperti hasil pengujian Gambar 4.5.


(78)

Gambar 4.6 Pengujian 2 Protokol Pesan Data dan Format Pertukaran Algoritma Yang Belum Diketahui

Dalam pengujian ke kedua (Gambar 4.6) ini nilai kunci random berbeda dengan pengujian pertama (Gambar 4.5), tetapi menggunakan format protokol yang sama yaitu matrik random 3x4, dan pesan yang akan dikirimkan adalah “TESIS”, dari hasil yang didapatkan pesan yang terkirim ke dalam jaringan adalah:

PesanKirim = “36005424510060273000542109000909110000111100” dan FormatPertukaranAlgoritma = {32,12}, seperti yang tertampilkan hasil pengujian Gambar 4.6.

Dari kedua pengujian ini didapatkan bahwa pada komputer yang berkomunikasi antara web service server dan web service client menggunakan protokol data yang nilai datanya berbeda setiap melakukan transaksi pengiriman data. Sehingga dari hasil pengujian didapatkan sistem keamanan yang baik.


(79)

Setelah data yang dikirimkan (pengujian web service server) dan diterima oleh bagian web service client, maka web service client akan melakukan pengolahan data sesuai protokol algoritma yang dikirimkan oleh web service server. Dari hasil analisa hasil pengujian pertama yang dilakukan pada web service client (pengolahan data untuk ditampilkan ke web browser) adalah sebagai berikut:

PesanTerima = “36005442510060363000544509000909110000111101” dan FormatPertukaranAlgoritma = {32,12}, dari kedua protokol yang diterima ini, akan dilakukan proses pemisahan data yaitu mengambil 32 karakter pertama dari PesanTerima, sehingga didapatkan:

PesanASCII = “36005442510060363000544509000909”

Setelah dipisahkan dan diambil PesanASCII, nilai berikutnya adalah nilai modulus yang berjumlah 1 karakter, karena nilai antara 1 sampai 9 yang digunakan sebagai penggali, dari PesanTerima diperoleh Modulus adalah 1, kemudian diambil nilai Kunci yang berjumlah 12 karakter, sehingga kunci yang didapatkan adalah:

Kunci = “110000111101”

Kemudian Kunci ini di proses menjadi matrik nx3, dari jumlah karakter kunci sebanyak 12 karakter, maka n = 4 yang didapatkan dari jumlah kunci (12) bagi 3.

1 1 0 00 0 1 1 1 1 0 1 K =


(80)

Sebelum mendapatkan hasil pesan asli, maka PesanASCII dibagikan dengan nilai modulus (3), hasilnya adalah PesanASCIIBaru:

PesanASCIIBaru = “12001814170020121000181503030300”

Setelah proses perkalian nilai modulus, tahapan berikutnya adalah mengubah PesanASCIIBaru menjadi vektor blok-blok 2 karakter (12 00 18 14 17 00 20 12 10 00 18 15 03 03 03 00), dan selanjutnya setiap blok vektor ini dijadikan nilai desimal, sehingga hasilnya adalah {12 0 18 14 17 0 20 12 10 0 18 15 3 3 3 0}, selanjutnya nilai ini jadikan vektor nx1, karena nilai n = 4 maka PesanASCIIBaru dipisahkan menjadi blok-blok yang setiap bloknya adalah 4 karakter, sehingga didapatkan blok vektor nx1 adalah:

Vektor nx1 = {12 0 18 14}, {17 0 20 12}, {10 0 18 15 },{3 3 3 0} Nilai vektor nx1 akan di invers dengan nilai matrik, sebagai contoh untuk pencarian nilai invers matrik dari Vektor nx1 di atas adalah:

1. Untuk kunci matrik baris ke-1 = {1 1 0} dan vektor baris ke -1 = 12, dapat ditulis dengan persamaan x + y = 12. Sehingga dari kunci matrik dan vektor didapatkan persamaan:

x + y = 12, (baris ke-1) x = 0 , (baris ke-2) x = 18 , (baris ke-3) y + z = 14, (baris ke-4)


(81)

2. Dengan memanfaatkan cara langkah 1, maka didapatkan data pesannya adalah, Pesan = “846983738300”

3. Selanjutnya nilai Pesan dipisahkan dalam blok 2 karakter dan kemudian di konversikan menjadi kode ASCII “TESIS”:

84 = T, 69 = E, 83 = S, 73 = I, 83 = S

Gambar 4.7. Hasil Pengujian 1 Terima Pesan Di Web Service Client

4.5 Dampak Pertukaran Algoritma Pada Protokol HTTP

Pertukaran algoritma dapat diterapkan pada transaksi data yang berbasis protokol HTTP, namun implementasinya hanya dapat diterapkan pada web service, ini mengingat sistem client-server dalam protokol HTTP membutuhkan algoritma untuk kriptografi, maka harus ada pihak yang mengirimkan algoritma, sehingga bisa saling mengerti terhadap data yang transmisikan, data yang dilalui pada jaringan komputer dapat di mengerti oleh pihak yang dituju.

Setelah melakukan pengujian penulis dapat menganalisa bahwa dalam penggunaan pertukaran algoritma setiap client yang terhubung dengan server atau


(1)

/**

* Web service operation * @param kirimdata * @return

*/

@WebMethod(operationName = "operation")

public String operation(@WebParam(name = "kirimdata") String kirimdata) { //TODO write your implementation code here:

kirimdata = ""; return kirimdata; }

/**

* Web service operation

* @param FormatAlgoritmaExchange * @return

*/

@WebMethod(operationName = "FormatAlgoritmaExchange") public float FormatAlgoritmaExchange(@WebParam(name = "FormatAlgoritmaExchange") float FormatAlgoritmaExchange) { //TODO write your implementation code here:

FormatAlgoritmaExchange = (float) 40.15; return FormatAlgoritmaExchange;


(2)

}

public static void main(String[] args) {

String bindingURI = "http://localhost:8084/WebServiceServer/NewWebService"; TukarFile service = new PertukaranAlgoritma();

Endpoint.publish(bindingURI, service);

System.out.println("Server sedang berjalan: " + bindingURI); }

}

Class Blok Vektor public class BlokVector {

public static int[] VektorPesan;

public static void main(String[] args, String VektorPesan) { String pesanteks = "Algoritma Exchange";

int JumlahKarakter = pesanteks.length();

String[] pesan = pesanteks.split("(?<=\\G.{3})");

for(int counter = 0; counter < pesan.length; counter++) { System.out.println(pesan[counter]);

VektorPesan = pesan[counter]; }

}


(3)

}

Class AmbilMatrik public class AmbilMatrik { private static int x;

public static int[][] matrixA;

public static char katakunci[]=new char[100];

public static void main(String[] args, String kunci, int JumlahKunci){ int b=3;int k=3;

kunci = HasilRandom.KodeKunci; JumlahKunci = kunci.length(); katakunci = kunci.toCharArray(); b = JumlahKunci / k;

x = 0;

matrixA=new int[b][k]; for(int i=0;i<b;i++){ for(int j=0;j<k;j++){

matrixA[i][j]=katakunci[x]; x++;

} }

for(int i=0;i<b;i++){ for(int j=0;j<k;j++){


(4)

System.out.print(matrixA[i][j]+" "); }

System.out.println(); }

}

static int input(){

Scanner a=new Scanner(System.in); int b=a.nextInt();

return b; }

}

Class KaliMatrik public class KaliMatrik { private static String kunci; private static int JumlahKunci;

public static void main(String[] args) { int y=3;int z=3;

kunci = HasilRandom.KodeKunci; JumlahKunci = kunci.length(); y = JumlahKunci / z;


(5)

for (int i=0; i<=2;i++) {

for (int j=0; j<=2;j++) {

hasilx[i][j]=0;

for(int k=0;k<=2;k++) {

hasilx[i][j]=hasilx[i][j] + AmbilMatrik.matrixA[i][k] * BlokVector.VektorPesan[i];

} } } } }

Client Index.jsp

<%@page import="java.util.Date"%>

<%@page import="java.text.DateFormat"%> <%@page import="com.client"%>

<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html>

<html> <head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Web Service Client</title>

</head> <body>

<%-- start web service invocation --%><hr/> <%


(6)

try {

tesis.webservice.NewWebService_Service service = new tesis.webservice.NewWebService_Service();

tesis.webservice.NewWebService port = service.getNewWebServicePort(); // TODO initialize WS operation arguments here

java.lang.String pesanKirim = ""; // TODO process result here

java.lang.String result = port.pesanKirim(pesanKirim); out.println("Pesan yang di kirim = "+result);

} catch (Exception ex) {

// TODO handle custom exceptions here }

%>

<%-- end web service invocation --%><hr/> </body>