T1 672009141 Full text

(1)

Analisis Otentikasi Paket Transfer Data

Menggunakan OpenSSL

Artikel Ilmiah

Peneliti :

Jerly Sabuna (672009141) Dr. Irwan Sembiring, S.T., M.Kom.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

April 2016


(2)

Analisis Otentikasi Paket Transfer Data

Menggunakan OpenSSL

Artikel Ilmiah

Diajukan kepada Fakultas Teknologi Informasi

Untuk memperoleh gelar Sarjana Komputer

Peneliti :

Jerly Sabuna (672009141) Dr. Irwan Sembiring, S.T., M.Kom.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

April 2016


(3)

(4)

(5)

(6)

(7)

(8)

(9)

1

Analisis Otentikasi Paket Transfer Data

Menggunakan OpenSSL

1)Jerly Sabuna, 2)Irwan Sembiring

Fakultas Teknologi Informasi Universitas Kristen Satya Wacana

Jl. Diponegoro 52-60, Salatiga 50711, Indonesia Email: 1) jerly.sabuna@protonmail.com, 2) irwan@staff.uksw.edu

Abstract

An authentication process contains several important information such as username and password that is used by a user to log into system. Without any additional security protocol, the user will be susceptible to network security attack like sniffing and man in the middle attack (MITM Attack). Server is demanded to provide security and guarantee to any user who do the authentication process and give certainty to every data transfer process that they will not be sniffed or hacked bay attacker. By using OpenSSL, data transfer package will be guaranteed in public network.

Keyword: OpenSSL, Authentication, Network Security.

Abstrak

Dalam suatu proses otentikasi terdapat informasi yang sangat penting seperti username dan password yang digunakan pengguna untuk dapat masuk ke dalam satu sistem. Pengguna yang melakukan proses otentikasi tanpa menggunakan protokol keamanan tambahan akan rentan terhadap serangan keamanan jaringan seperti sniffing dan man in the middle attack (MITM Attack). Sebuah server dituntut untuk memberikan keamanan dan menjamin setiap pengguna yang melakukan proses otentikasi ke sistem dan memastikan setiap proses transfer data yang terjadi tidak di-sniffing atau disadap oleh attacker. Paket transfer data dikirim menggunakan OpenSSL sehingga menjamin keamanan paket transfer data dalam jaringan publik.

Kata Kunci : OpenSSL, Otentikasi, Keamanan Jaringan.

1)

Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga

2)


(10)

2

1. Pendahuluan

Dalam suatu proses otentikasi terdapat informasi yang sangat penting seperti

username dan password yang digunakan pengguna untuk dapat masuk ke dalam

satu sistem. Pengguna yang melakukan proses otentikasi tanpa menggunakan protokol keamanan tambahan akan rentan terhadap serangan keamanan jaringan seperti penyadap (sniffing) dan man in the middle attack (MITM Attack). Setiap proses otentikasi yang tidak menggunakan protocol SSL menjadi tanggung jawab

Internet Protocol (IP). IP akan mengarahkan lintasan yang akan dilalui oleh

paket. Jika paket yang mengalami perubahan atau kehilangan data, maka

Transnission Control Protocol (TCP) akan meminta pengiriman ulang. TCP/IP

tidak memiliki pengamanan komunikasi yang bagus sehingga tidak dapat mengetahui jika ada pesan yang diubah oleh pihak ketiga (man in the middle

attack).

Sebuah server dituntut untuk memberikan jaminan keamanan untuk setiap pengguna yang melakukan proses otentikasi ke sistem dan memastikan setiap proses transfer data yang terjadi tidak disadap oleh hacker atau cracker. Oleh karena itu diperlukan suatu protokol dalam sebuah server yang dapat diandalkan dalam proses otentikasi.

Dari rumusan masalah tersebut, muncul satu gagasan untuk menerapkan protokol tersebut dalam penelitian yang berjudul “Analisis Paket Transfer Data menggunakan OpenSSL”. Tujuannya adalah untuk dapat menganalisis dan membandingkan keamanan antara web server yang menggunakan OpenSSL dan yang tidak menggunakan OpenSSL. Analisis dilakukan pada sebuah server yang memiliki protokol keamanan agar dapat menjamin semua keamanan data pada proses ontentiksi dalam sebuah sistem. Penelitian ini terfokus hanya pada proses otentikasi dan analisis hanya dilakukan pada jaringan lokal. Analisis dilakukan pada Ubuntu Server 14.04 yang di-install dalam Oracle VM VirtualBox Manager. Pengujian dilakukan terhadap website opensource yang ada dalam

server local.

2. Tinjauan Pustaka

Salah satu penelitian yang membahas tentang keamanan otentikasi adalah penelitian yang dilakukan oleh Dyana Marisa Khairina tahun 2011 berjudul

Ananlisis Keamanan Sistem Login”. Karena sistem login merupakan suatu hal

yang pasti ditemukan dalam dunia internet yang bersifat privasi dan rahasia, maka penelitian ini menghasilkan sistem login yang lebih aman. Sistem dibuat dengan pemrograman PHP. Keamanan dalam sistem tersebut dibangun melalui proses enkripsi dengan penggunaan MD5 yang dikombinasikan dengan pengacak atau menggabungkan password asli dengan suatu string tertentu sehingga isi serta format untuk enkripsi hanya diketahui oleh aplikasi yang membuatnya. Proses pengamanan username dan password pada sistem login sebelum data dikirim ke server merupakan hal yang penting dan harus diperhatikan [1].

Penelitian selanjutnya dilakukan oleh Harvard Najoan berjudul “Analisis Implementasi Digital Certificate pada Web Server Apache Menggunakan

OpenSSL”. Penelitian tersebut memberikan penjelasan bahwa komunikasi internet


(11)

3

pada port 80. Pada dasarnya port 80 tidak memiliki keamanan karena HTTP dibuat hanya untuk menciptakan komunikasi antar client dan server. Protokol ini hanya memberikan layanan akses antarmuka pengguna yang menggunakan

browser dengan web server di mana pengguna mengisi alamat web server

tersebut. Salah satu solusi untuk menjamin keamanan komunikasi antar client dan

server adalah dengan menggunkan digital certificate yang nantinya akan

melindungi pertukaran informasi pada saat melakukan komunikasi antar client dan

server [2].

Berdasarkan penelitian-penelitian yang telah dilakukan sebelumnya tentang keamanan sistem login dan implementasi digital certificate pada web server

apache menggunakan OpenSSL maka dapat disimpulkan bahwa sistem login

sangat penting dalam dunia internet sehinga dibutuhkan suatu protokol keamanan untuk proses otentikasi dalam web server sehingga dapat menjamin keamanan data username dan password. Solusinya adalah melakukan analisis otentikasi menggunakan OpenSSL dan mengimplementasikan dalam web server.

Secure Socket Layer (SSL) adalah standar teknologi keamanan untuk

membangun koneksi terenkripsi antara web server dan client. SSL dikembangkan oleh Netscape Communication Corp. pada tahun 1994. SSL melindungi transmisi HTTP dengan menambahkan lapisan enkripsi pengamanan. SSL melindungi data yang dikirim melalui internet agar tidak dapat dibajak oleh hacker atau cracker karena bisa meyakinkan pihak-pihak yang berkomunikasi bahwa lawan bicara mereka di internet dapat dipercaya melalui penggunaan sertifikat digital. SSL memberikan tiga keamanan yaitu menjadikan saluran komunikasi sebagai saluran yang bersifat private, mengotentikasi server dan client, dan menggunakan

message integrity (authentication) check Message Authentication Code (MAC)

untuk mengetahui setiap data yang disadap dan dimodifikasi saat data dikirm oleh pihak yang tidak bertanggung jawab.

Protokol SSL bekerja di bawah lapisan aplikasi (application layer) pada protokol TCP/IP. SSL pada dasarnya merupakan protokol berlapis. SSL Record

Protocol, yang merupakan lapisan paling bawah, berjalan di atas protokol

transport yang dapat diandalkan seperti TCP. SSL Record Protocol juga berfungsi

mengenkapsulasi berbagai protokol pada lapisan yang lebih tinggi (higher-level

protocol), seperti HTTP yang menyediakan layanan transfer pada web. Arsitektur

SSL ditunjukan pada Gambar 1.


(12)

4

Tiga protokol pada lapisan yang lebih tinggi adalah Handshake Protocol

Change Cipher Spec Protocol, dan Alert Protocol. SSL record protocol melapisi

protokol TCP sehingga menjadi lebih handal, SSL handshake protocol berfungsi membangun parameter keamanan sebelum terjadinya pertukaran data antara dua sistem, dan SSLalert protocol memberikan peringatan bahwa kondisi sudah tidak terkoneksi lagi jika pengirim pesan dan yang akan menerima sedang offline sehingga pesan akan ditunda sampai penerima terkoneksi kembali [3].

OpenSSL adalah sebuah piranti lunak yang mengimplementasikan protokol SSL. OpenSSL ditulis dalam bahasa C dan memiliki fungsi utama untuk melakukan proses kriptografi dan menghasilkan sertifikat digital. OpenSSL bersifat open source dan mendukung banyak sistem operasi seperti Solaris, Linux, Mac OS, dan Windows. OpenSSL dibuat berdasarkan library dari SSLeay yang ditulis oleh Eric Young dan Tim Hudson dengan menggunakan algoritma MD5 dan RSA [4].

OpenSSL juga merupakan command line tool yang menggunakan berbagai fungsi kriptografi OpenSSL's crypto library dari shell. OpenSSL dapat digunakan untuk melakukan proses 1) penciptaan RSA, DH dan DSA parameter kunci, 2) penciptaan sertifikat X.509, CSRs dan CRLs, 3) perhitungan Pesan Digests, 4) enkripsi dan Dekripsi dengan Ciphers, 5) pengujian SSL / TLS Client dan Server, dan 6) penanganan S/MIME signedor encrypted mail [5].

Setiap data yang melewati OpenSSL akan dienkripsi oleh server menggunakan kunci publik yang ada pada sertifikat digital. Kemudian data tersebut akan didekripsi oleh client menggunakan kunci privat. Sertifikat digital berisi kunci publik dan informasi penting mengenai jati diri pemilik kunci publik seperti nama, alamat, pekerjaan, jabatan, dan perusahaan. Sertifikat digital tersebut ditandatangani oleh sebuah pihak yang dapat dipercaya yaitu Certificate

Authority (CA).

Linux adalah sebuah Operating System (OS) turunan UNIX, yang merupakan implementasi independen dari standar Institude of Electrical and

Electronics Engineers (IEEE) untuk OS yang bernama POSIX (Portable

Operating System Interface). Linux merupakan kependekan dari Linux Is Not

UniX. Linux merupakan sebuah program open source yang gratis di bawah lisensi GNU. Linux memiliki kemampuan yang berbasis ke standard POSIX meliputi true-multitasking, virtual memory, shared libraries, demand-loading, proper

memory management dan multiuser [6].

Ubuntu merupakan salah satu distribusi Linux yang berbasiskan Derbian dan didistribusikan sebagai perangkat lunak bebas. Nama Ubuntu berasal dari filosofi dari Afrika Selatan yaitu Humanity to Others yang berarti “kemanusiaan kepada

sesama”. Sebuah perusahaan yang dimiliki oleh Mark Shuttleworth bernama Canonical Ltd adalah perusahaan resmi yang mensponsori proyek Ubuntu. Tujuan dari distribusi Linux Ubuntu adalah membawa semangat yang terkandung di dalam Filosofi Ubuntu ke dalam dunia perangkat lunak. Ubuntu adalah sistem operasi lengkap berbasis Linux, tersedia secara bebas dan mempunyai dukungan baik yang berasal dari komunitas maupun tenaga ahli professional [7].

Otentikasi merupakan proses verifikasi identitas dari seorang anggota yang memberikan suatu data dan integritas dari data tersebut. Otentikasi juga dapat


(13)

5

didefinisikan sebagai fungsi pemeriksaan data pengguna pada saat pengguna memberikan data ke dalam sistem. Setelah menerima data, sistem lalu mengenali dan mencocokkan data tersebut, lalu menentukan apakah pengguna tersebut memiliki hak akses atau tidak. Untuk melakukan satu proses otentikasi ke dalam sebuah sistem, pada umumnya dibutuhkan pasangan username dan password. Proses ini dilakukan untuk memastikan bahwa pengguna yang mengakses sistem adalah pengguna yang sah. Proses ini juga membatasi pengguna dalam mengakses sebuah jaringan. Agar dapat melakukan otentikasi, pertama kali pengguna harus didaftarkan dulu pada sistem yang ada. Dalam proses otentikasi diperlukan data-data yang unik sebagai pembeda. Menurut G. Scott Owen, pada dasarnya bentuk otentikasi pada manusia dapat berupa kombinasi mengenai siapa diri anda

(biometric), apa yang dipunyai (token), dan apa yang diketahui (knowledge based)

[8].

Wireshark adalah sebuah Network Packet Analyzer. Network Packet

Analyzer akan mencoba menangkap paket-paket jaringan dan berusaha untuk

menampilkan semua informasi dipaket tersebut sedetail mungkin. Network Packet

Analyzer diumpamakan sebagai alat untuk memeriksa apa yang sebenarnya

sedang terjadi di dalam kabel jaringan. Wireshark juga merupakan salah satu tool gratis terbaik untuk menganalisa paket jaringan. Salah satu penggunaan wireshark yang sering dilakukan oleh orang yang tidak bertanggungjawab adalah orang usil yang bertindak sebagai sniffer atau pengendus data-data privasi di jaringan [9].

3. Metode dan Perancangan Sistem

Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi dalam empat tahapan, yaitu, 1) Tahap Identifikasi Masalah dan Pengumpulan Data, 2) Perancangan Sistem, 3) Implementasi Sistem, 4) Pengujian Sistem, serta Analisis Hasil Pengujian. Dengan adanya tahapan-tahapan tersebut, proses analisis dan perancangan akan menjadi lebih mudah.

Gambar 2 Tahapan Penelitian

Tahapan penelitian pada Gambar 2, dijelaskan sebagai berikut. Tahap pertama merupakan tahapan identifikasi masalah dan pengumpulan data. Pada


(14)

6

tahapan ini data-data yang berkaitan dengan masalah otentikasi yang terjadi pada

website yang tidak menggunakan protokol keamanan SSL dikumpulkan dengan

cara melakukan pengujian login pada website yang tanpa OpenSSL. Tahap kedua adalah perancangan proses autentikas menggunakan OpenSSL. Tahapan ini yang akan dijadikan sebagai parameter dan perlu mendapat perhatian sebelum membangun server. Yang harus diperhatikan pada tahapan ini adalah kebutuhan-kebutuhan fisik dan perangkat lunak yang akan digunakan dalam merancang sistem. Komunikasi data melalui jaringan komputer dilakukan dengan menggunakan jaringan virtual sehingga tidak diperlukan infrastruktur jaringan fisik. Komunikasi dilakukan antara client yang menggunakan web browser dengan webserver.

Gambar 3 Topologi jaringan

Gambar 3 menunjukan topologi komunikasi menggunakan protokol HTTP dan HTTPS. Komunikasi antara client dan server yang menggunakan HTTP sangat terbuka tanpa keamanan enkripsi sehingga plain text yang dikirim dapat dilihat oleh penyusup yang sengaja melakukan pencurian data pada protokol HTTP. Sedangkan komunikasi antara client dan server yang menggunakan protokol HTTPS sudah aman karena setiap kali melakukan komunikasi pertukaran data antara client dengan server diperlukan otentikasi melalui sebuah sertifikat digital. Sertifikat digital ini memiliki algoritma kunci publik yang digunakan untuk melakukan enkripsi dan kunci privat untuk melakukan dekripsi terhadap informasi yang akan dipertukarkan antara client dan server [10].

Server akan dibangun dalam Oracle VM Virtualbox menggunakan sistem

operasi Linux Ubuntu Server 14.04 sedangkan client mengakses sistem melalui laptop dengan sistem operasi Windows 7. Tahap ketiga adalah tahap implementasi hasil perancangan sistem dengan membangun web server yang aman berbasis OpenSSL. Dalam komputer server terpasang paket Linux Apache MySQL PHP (LAMP server) untuk mendukung sistem yang akan dibuat. Pada tahap keempat dilakukan pengujian terhadap sistem yang telah dibuat untuk


(15)

7

memastikan sistem telah berjalan sesuai dengan yang dirancangkan. Setelah pengujian dilakukan, sistem tersebut dianalisis menggunakan aplikasi Wireshark.

Tujuan dari sistem yang dibangun ini adalah untuk membandingkan proses otentikasi pada web server tanpa OpenSSL dan web server yang aman menggunakan OpenSSL. Adapun proses yang terjadi dalam sistem yang telah dibangun, ditujukan pada Gambar 4 dan Gambar 5.

Gambar 4 Proses Otentikasi tanpa OpenSSL

Gambar 4 adalah proses otentikasi dalam website yang tidak menggunakan OpenSSL. Proses ini cukup sederhana karena setelah pengguna melakukan login dengan memasukan username dan password, pengguna langsung masuk dalam halaman utama website tersebut karena tidak ada protokol keamanan tambahan yang dapat melindungi komunikasi antara client dan server pada web server. Proses ini tidak menjamin keamanan otentikasi karena nilai string dari username

dan password dapat dilihat oleh pihak ketiga sehingga lebih rentan terhadap

serangan keamanan jaringan. Oleh karena itu dibangun sistem yang lebih aman agar dapat menjamin keamanan data pada proses otentikasi.


(16)

8

Gambar 5 Proses Otentikasi dengan OpenSSL

Gambar 5 adalah proses otentikasi yang aman berbasis OpenSSL. Sebelum pengguna melakukan login terhadap website, OpenSSL melalui webserver sudah memastikan pengguna melewati jalur yang aman. Server melakukan validasi kunci publik dan memberikan sertifikat server kepada pengguna. Setelah mendapat jaminan keamanan, pengguna melakukan login dalam website berbasis OpenSSL.

4. Hasil dan Pembahasan

Analisis sistem dilakukan dengan 2 tahap terhadap website www.tokomeranti.com. Website ini berada pada Ubuntu Server 14.04 yang dipasang menggunakan Oracle VirtualBox. Pada tahap pertama analisis dilakukan terhadap website tersebut tanpa menggunakan OpenSSL. Pengguna akan memasukkan data username dan password dan mengirimkannya kepada server. Sebagai contoh pada gambar 6 pengguna memasukkan alamat e-mail jerly.sabuna@protonmail.com dan “magnum” sebagai password.

Pengujian akan dilakukan dengan cara masuk ke dalam halaman login


(17)

9

yang ada di halaman login tersebut kemudian klick login. Sebagai contoh

username yang dimasukkan berupa alamat email : jerly.sabuna@protonmail.com

dan password : magnum.

Gambar 6 Capture HTTP

Gambar 6 mengunjukan bahwa seluruh informasi dari proses otentikasi tanpa OpenSSL terlihat sangat jelas. Protokol HTTP menampilkan seluruh aktifitas yang sedang dilakukan pada website www.tokomeranti.com. Hal ini mengakibatkan informasi berupa identitas client, identitas server, dan protokol yang berjalan dapat dengan mudah dilihat melalui analisis yang dilakukan menggunakan wireshark. Metode request yang dipakai adalah Post yang merupakan salah satu standar query yang biasa dipakai oleh protokol HTTP pada port 80 untuk mengirimkan data ke server sebagai bagian dari request oleh client. Beberapa informasi yang juga diperlihatkan adalah alamat host, user agent dan sistem operasi yang merupakan identitas dari client. Alamat host yang diakses adalah www.tokomeranti.com, user agent atau browser yang digunakan adalah Mozilla Firefox 45.0 dan sistem operasinya adalah Windows NT 6.1 atau Windows 7 64 bit. Selain informasi mengenai identitas client, paket data berupa

string dari username dan password yang dimasukan pada saat melakukan proses

otentikasi juga dapat terlihat dengan jelas. Plaintext tetap terbuka karena tidak ada protokol keamanan yang dapat menutupnya. Situasi seperti ini sangat rentan terhadap serangan Man in the Middle Attack.

Pada tahap kedua terlebih dahulu dilakukan proses instalasi OpenSSL pada

web server yang memuat website www.tokomeranti.com. Instalasi dilakukan pada

server dengan menggunakan perintah ‘apt-get install openssl’. Setelah OpenSSL terpasang barulah dilakukan proses analisis. Sistem otentikasi dibangun pada

server menggunakan protokol SSL untuk menjamin keamanan paket data.

Konfigurasi OpenSSL pada server dimulai dari pembuatan private key dengan nama “server.key” menggunakan perintah ‘openssl -des3 -out server.key 2048’.


(18)

10

Proses dilanjutkan dengan pembuatan pass phrase untuk mengenkripsi private key tersebut.

Gambar 7 Pembuatan Private Key

Gambar 7 adalah proses pembuatan private key dengan keluaran

“server.key” dengan panjang 2048 bit. Private key yang dihasilkan dipakai untuk membuat Certificate Signing Request (CSR) menggunakan file “server.key”. Selanjutnya CSR tersebut dienkripsi lagi menggunakan algoritma SHA1. Proses tersebut membutuhkan pass phrase untuk membuka private key sebelumnya. Langkah-langkah tersebut dilakukan dengan perintah ‘openssl req -new -key

server.key -out server.csr –sha1’.

Gambar 8 Pembuatan Certificate Signing Request

Gambar 8 merupakan informasi tentang sertifikat digital yang akan dibuat sehingga semua data tentang sertifikat harus jelas. Informasi yang diperlihatkan dalam sertifikat ini adalah nama negara, nama provinsi, nama kota, nama organisassi, dan Common Name (CN) yaitu nama website. Informasi inilah yang harus diperhatikan dalam pembuatan sertifikat digital. CN harus sesuai dengan nama website atau alamat IP server. Dalam hal ini CN yang dipakai adalah www.tokomeranti.com. Proses pembuatan sertifikat digital dilanjutkan dengan membuat self-signed certificate menggunakan file “server.key” dan “server.csr”. Keluaran yang dihasilkan adalah “server.crt”. Pada umumnya web server akan


(19)

11

meminta Certificate Authoritie (CA) professional dalam proses pembuatan sertifikat digital, namun pada penelitian ini sertifikat yang dihasilkan bersifat mandiri (self-signing certificate) menggunakan perintah‘openssl x509 –req –days

365 –in server.csr –signkey server.key –out server.crt’.

Gambar 9 Pembuatan Self-signing Certificate

Gambar 9 menunjukan pembuatan self-signing certificate menggunakan file “server.csr” dan file “server.key” berhasil. Selanjutnya dilakukan konfigurasi OpenSSL untuk mengaktifkan port 443 pada Ubuntu Server dengan perintah

‘nano /etc/apache2/sites-available/tokomeranti.conf’.

Kode Program 1 Konfigurasi OpenSSL

Kode program 1 adalah proses konfigurasi OpenSSL yang ada pada file tokomeranti.conf. Dalam file tersebut dilakukan proses konfigurasi shell script untuk mengaktifkan port HTTPS yaitu 443 (baris 1). Proses dilanjutkan dengan penambahan servername sesuai dengan nama website yang telah dikonfigurasi dalam web server yang berjalan pada port 443 (baris 3). Direktori utama diarahkan ke direktori yang berisi aplikasi web www.tokomeranti.com (baris 4). Direktori file SSLCertificateFile dan SSLCertificateKeyFile diarahkan sesuai dengan kunci privat dan sertifikat digital yang telah dibuat (baris 16 dan 17). Setelah melakukan konfigurasi pada file tokomeranti.conf, protokol SSL dan

website diaktifkan dengan perintah secara berturut-turut ‘a2enmod ssl’ dan

1. <VirtualHost *:443>

2. ServerAdmin webmaster@localhost 3. ServerName www.tokomeranti.com:443 4. DocumentRoot /var/www/html/tokomeranti 5. <Directory />

6. Options FollowSymLinks 7. AllowOverride None 8. </Directory>

9. <Directory /var/www/html/tokomeranti> 10. Options Indexes FollowSymLinks MultiViews 11. AllowOverride None

12. Order allow,deny 13. allow from all

14. </Directory> 15. SSLEngine On

16. SSLCertificateFile /etc/apache2/ssl/server.crt 17. SSLCertificateKeyFile /etc/apache2/ssl/server.key 18. ErrorLog ${APACHE_LOG_DIR}/error.log

19. CustomLog ${APACHE_LOG_DIR}/access.log combined 20. </VirtualHost>


(20)

12

a2ensite www.tokomeranti.com’. Akhirnya web server pada Ubuntu dijalankan

ulang dengan perintah ‘service apache2 restart’.

Setelah web server dijalankan ulang, pengujian dilakukan dengan mengakses web https://www.tokomeranti.com/ menggunakan aplikasi browser pada komputer client.

Gambar 10 Tampilan Web Dengan Protokol HTTPS

Tampilan awal website www.tokomeranti.com yang menggunakan OpenSSL diperlihatkan oleh Gambar 10. Pada address bar terdapat tanda gembok yang berarti website tersebut sudah terlindungi oleh OpenSSL, yang di dalamnya terdapat kunci publik yang telah diverifikasi oleh CA.

Gambar 11 Tampilan Sertifikat Digital

Gambar 11 merupakan tampilan sertifikat digital yang dimiliki oleh www.tokomeranti.com yang telah diverifikasi oleh UKSW sebagai perusahaan yang memiliki CA. Dalam sertifikat digital tersebut terdapat rincian berupa serial

number, tanggal kadaluarsa dan sertifikat digital yang dienkripsi menggunakan

SHA-256bit dan SHA1. Website www.tokomerati.com sudah dinyatakan aman karena telah memiliki sertifikat digital.

Untuk membuktikan bahwa website www.tokomeranti.com sudah aman, dilakukan uji coba otentikasi dengan skenario yang sama dengan tahap pertama.


(21)

13

Uji coba dimulai dengan melakukan login ke dalam website. Proses login dimonitor menggunakan aplikasi wireshark untuk menangkap informasi paket-paket data yang lewat pada proses otentikasi.

Gambar 12 Hasil Capture HTTPS

Gambar 12 menunjukan informasi proses komunikasi antara client dan

server menggunakan protokol HTTPS dari OpenSLL pada aplikasi Wireshark.

Informasi yang ditampilkan adalah Client Hello, Server Hello, Change Chiper

Spec, dan Application Data. Client Hello merupakan informasi yang ditangkap

ketika komunikasi antara client dan server akan menggunakan protokol keamanan HTTPS. Informasi ini dilakukan oleh client untuk memastikan komunikasi antara

client dan server dapat dilakukan melalui protokol HTTPS. Server Hello

merupakan pesan dari server yang merespon pesan Client Hello. Server akan menanggapi pesan tersebut dengan memberikan keputusan akhir untuk melakukan komunikasi antara client dan server melalui protokol keamanan HTTPS. Change

Chiper Spec merupakan pesan yang menandakan negosiasi untuk melakukan

komunikasi menggunakan protokol HTTPS yang sudah terpenuhi. ChangeCipher Spec dibawa oleh Transport Layer Security (TLS) dengan melakukan handshake terhadap pesan terenkripsi. Proses handshake ini mengenkripsi kunci sesi dan sertifikat antara client dan server. Hal ini dilakukan untuk mengotentikasi identitaas server dan identitas client dalam rangka menjaga keamanan komunikasi dan intergritas masing-masing pihak dalam berkomunikasi. Apllication Data merupakan suatu penanda yang mengindikasikan bahwa pertukaran informasi dalam komunikasi data antara client dan server sudah terenkripsi, terotentikasi, dan terverifikasi oleh OpenSSL. Hal ini menandakan bahwa komunikasi yang dijalankan merupakan komunikasi yang aman. Data yang dipertukarkan dalam komunikasi antara client dan server merupakan data yang dienkripsi, sehingga pihak lain tidak dapat mengetahui informasi tersebut [9].

Proses otentikasi yang secure berbasis OpenSSL dimulai pada saat pengguna melakukan submit form login pada website www.tokomeranti.com. Aplikasi akan mengirimkan username dan password yang sudah dimasukkan.

Username dan password sudah terbungkus dalam satu paket protokol keamanan

yang telah disediakan oleh OpenSSL. Server akan mengeksekusi query ke basis data, untuk meminta satu record user di tabel yang bersangkutan, dengan mengirimkan kedua informasi yang diterima dari form login yang ada pada website. Berikut penggalan query yang diterima oleh database management


(22)

14

SELECT * FROM user WHERE username='jerly.sabuna@protonmail.com' AND password='magnum' LIMIT 1;

Setelah query di atas selesai dieksekusi, DBMS akan mengirimkan hasil kepada web server untuk diolah. Setelah menerima hasil tersebut, web server akan melakukan pemeriksaan, apakah hasil yang diterima memuat record yang sesuai dengan username dan password yang dikirimkan atau tidak, untuk selanjutnya menentukan tindak lanjut terhadap masing-masing kemungkinan.

Gambar 13 Hasil Capture Proses Otentikasi

Gambar 13 merupakan rincian hasil penangkapan informasi paket data dari proses otentikasi yang terjadi pada website yang aman berbasis OpenSSL. Hasil tersebut menunjukan proses komunikasi antar client dan server melalui ethertnet. Informasi diakses dari komputer client menggunakan Internet Protocol versi 4 (IPv4) dengan alamat IP 192.168.1.4. Hasil tersebut juga menampilkan informasi

transport layer yang menunjukan port yang digunakan untuk berkomunikasi.

Source port yang digunakan adalah port 59067 sedangkan destination port yang


(23)

15

Gambar 14 Hasil Capture Enkripsi Proses Otentikasi


(24)

16

Gambar 14 menunjukan hasil penangkapan informasi pada proses otentikasi. Ketika client melakukan proses otentikasi, penyadapan terhadap data seperti

username dan password yang dimasukan tidak dapat dilakukan. Lalu lintas data

tidak dapat diketahui karena sudah dilindungi oleh protokol keamanan HTTPS yang di dapat dari OpenSSL. Website yang menggunakan OpenSSL memberikan jaminan keamanan terhadap proses otentikasi yang terjadi. Semua proses dienkripsi sehingga kerahasiaan informasi username dan password terjamin. Informasi tersebut tidak dapat diketahui oleh orang lain yang melakukan sniffing atau man in the middle attack. Namun proses otentikasi dapat didekripsi oleh Wireshark menggunakan kunci privat yang digunakan untuk melakukan enkripsi pada protokol HTTPS. Gambar 15 menunjukan hasil dekripsi pada pada protokol HTTPS menggunakan kunci privat. Pengguna harus lebih berhati-hati dan menjaga kerahasiaan kunci privat sehingga penyadap tidak memanfaatkannya untuk mendekripsi paket yang berjalan pada protokol HTTPS.

Tabel 1 Perbandingan Web Server Tanpa OpenSSL dan Web Server dengan OpenSSL

HTTP HTPPS

Port 8 0 443

Keamanan data -

Otentikasi Server Kerahasiaan Data Integritas Data

Kebutuhan SSL Client - Server Sertifikat SSL

Enkripsi Tidak Ya

Input Data ke Sistem Plaintext terbuka Plainteks tertutup

OSI Layer Aplication Layer Transport Layer

Certificates No certificates required Certificates required

Proses otentikasi

- Proses dilakukan tanpa enkripsi.

- Informasi yang

dimasukan rentan

terhadap penyadapan.

- Proses dilakukan dengan enkripsi.

- Proses otentikasi lebih terjamin.

- OpenSSL menyediakan

protokol keamanan HTTPS.

Komunikasi Data

Komunikasi data melalui

protokol http sangat rentan terhadap penyadapan data. Attacker dapat mengetahui alur komunikasi, indentitas server dan client, data sensitif

dan waktu akses yang

dilakukan.

Penyadapan data yang

dilakukan pada protokol https

hanya akan menghasilkan

informasi acak yang telah

dienkripsi. Data yang

dipertukarkan antara client dan server tidak dapa disadap oleh attacker.

Proses otentikasi yang dilakukan pada web server yang tidak menggunakan OpenSSL sangat rentan terhadap interfensi pihak lain karena terdapat kemungkinan pencurian dan pengubahan informasi data username dan password antara client dan server. OpenSSL memberikan jalur komunikasi yang aman menggunakan protokol HTTPS sehingga proses otentikasi lebih tejamin. Pada jalur komunikasi yang diberikan oleh OpenSSL terdapat otentikasi dengan


(25)

17

sertifikat digital dan algoritma kunci publik yang mengenkripsi data. Hal inilah yang memastikan keamanan data pada proses otentikasi yang sedang dilakukan.

OpenSSL memiliki fitur Heartbeat yang diperkenalkan pada tahun 2012. Tujuannya adalah untuk mengecek apakah client masih terhubung dengan server. Sering kali router yang menjadi perantara antara client dan server memutuskan koneksi jika terjadi idle yang terlalu lama. Heartbeat akan memastikan client dan

server tetap terhubung dalam satu koneksi. Heartbeat juga merupakan kelemahan

dari OpenSSL karena sistem kerja Heartbeat terlalu mempercayai client. Kelemahan dari Hearthbeat diberi nama bug heartbleed. Heartbleed memungkinkan penyerang untuk membaca memori dari server yang diproteksi oleh OpenSSL. Isi dari memori tersebut berupa cookie website, source code

script, kombinasi username dan password, dan privatkey OpenSSL. Bug

heartbleed merupakan tanggung jawab dari penyedia situs. Untuk menghindari

adanya bug heartbleed maka penyedia situ harus meng-update OpenSSL ke versi yang terbaru yaitu OpenSSL versi 1.0.1g ke atas sehingga data yang dikirim menggunakan HTTPS diamankan melalui protokol Transport Layer Security

(TLS). Protokol TLS memberikan tiga lapis perlindungan kunci yaitu melakukan

enkripsi pada pertukaran data untuk melindungi dari penyadap, melakukan integritas data agar data tidak dapat diubah atau dicuri tanpa terdeteksi selama melakukan proses transfer data, dan melakukan otentikasi agar dapat membuktikan bahwa client berkomunikasi dengan server yang dituju sehingga terhindar dari serangan MIMT Attack dan membangun kepercayaan antara client

dan server.

5. Simpulan

Berdasarkan hasil penelitian dan analisis yang dilakukan maka dapat diambil kesimpulan sebagai berikut: 1) OpenSSL memberikan jaminan keamanan pada proses otentikasi dengan memberikan protokol keamaman pada jalur komunikasi antara client dan server yang dilindungi dengan enkripsi sehingga menghasilkan informasi acak pada saat melakukan proses otentikasi. 2) Paket transfer data yang dikirim menggunakan protokol OpenSSL dienkripsi sehingga menjamin keamanan paket transfer data. Saran pengembangan yang dapat diberikan untuk penelitian lebih lanjut adalah menambahkan protokol otentikasi Kerberos kedalam sistem agar proses otentikasi semakin terjamin.

6. Pustaka

[1] Khairina, Dyana Marisa. 2011. Analisis Keamanan Sistem Login. FMIPA Universitas Mulawarman.

[2] Najoan, Harvard. 2010. Analisis Implementasi Digital Certificate pada Web

Server Apache Menggunakan OpenSSL. FTI. Universitas Kristen Satya

Wacana.

[3] Ariyus, Dony. 2006. Computer Security. Yogyakarta: Andi Offset.

[4] Sadikin,Rifki. 2012. Kriptografi Untuk Keamanan Jaringan. Yogyakarta: Andi Offset.

[5] Chandra, Prayir. Matt Messier, John Viega. 2002. Network Security with OpenSSL. O'Reilly.


(26)

18

[6] Armansyah, Wawang. 2015. Belajar Linux dan Kelebihan Linux. http://www.belajarbagus.com/2015/04/belajar-linux.html (diakses tanggal 8 Januari 2016)

[7] Kita, Linux. 2010. Macam-Macam Distro Linux Varian Debian. http://linuxkita.net/macam-macam-distro-linux-varian-debian.html (diakses tanggal 9 januari 2016)

[8] Suo, X., Zhu, Y., G. S. Owen. 2005. Graphical Passwords: A Survey. In21st

Annual Computer Security Applications Conference (ACSAC).

halaman.463-472.

[9] Kurniawan, Agus. 2014. Cara menggunakan Wireshark (diakses tanggal 9 Januari 2016)

[10] Hendri. 2010. Penggunaan Teknologi Secure Socket Layer pada Komunikasi Data Hypertext Transfer Protocol dalam Pencegahan Serangan Man In The


(1)

Uji coba dimulai dengan melakukan login ke dalam website. Proses login

dimonitor menggunakan aplikasi wireshark untuk menangkap informasi paket-paket data yang lewat pada proses otentikasi.

Gambar 12 Hasil Capture HTTPS

Gambar 12 menunjukan informasi proses komunikasi antara client dan

server menggunakan protokol HTTPS dari OpenSLL pada aplikasi Wireshark. Informasi yang ditampilkan adalah Client Hello, Server Hello, Change Chiper Spec, dan Application Data. Client Hello merupakan informasi yang ditangkap ketika komunikasi antara client dan server akan menggunakan protokol keamanan HTTPS. Informasi ini dilakukan oleh client untuk memastikan komunikasi antara

client dan server dapat dilakukan melalui protokol HTTPS. Server Hello

merupakan pesan dari server yang merespon pesan Client Hello. Server akan menanggapi pesan tersebut dengan memberikan keputusan akhir untuk melakukan komunikasi antara client dan server melalui protokol keamanan HTTPS. Change Chiper Spec merupakan pesan yang menandakan negosiasi untuk melakukan komunikasi menggunakan protokol HTTPS yang sudah terpenuhi. ChangeCipher Spec dibawa oleh Transport Layer Security (TLS) dengan melakukan handshake

terhadap pesan terenkripsi. Proses handshake ini mengenkripsi kunci sesi dan sertifikat antara client dan server. Hal ini dilakukan untuk mengotentikasi identitaas server dan identitas client dalam rangka menjaga keamanan komunikasi dan intergritas masing-masing pihak dalam berkomunikasi. Apllication Data

merupakan suatu penanda yang mengindikasikan bahwa pertukaran informasi dalam komunikasi data antara client dan server sudah terenkripsi, terotentikasi, dan terverifikasi oleh OpenSSL. Hal ini menandakan bahwa komunikasi yang dijalankan merupakan komunikasi yang aman. Data yang dipertukarkan dalam komunikasi antara client dan server merupakan data yang dienkripsi, sehingga pihak lain tidak dapat mengetahui informasi tersebut [9].

Proses otentikasi yang secure berbasis OpenSSL dimulai pada saat pengguna melakukan submit form login pada website www.tokomeranti.com. Aplikasi akan mengirimkan username dan password yang sudah dimasukkan.

Username dan password sudah terbungkus dalam satu paket protokol keamanan yang telah disediakan oleh OpenSSL. Server akan mengeksekusi query ke basis data, untuk meminta satu record user di tabel yang bersangkutan, dengan mengirimkan kedua informasi yang diterima dari form login yang ada pada website. Berikut penggalan query yang diterima oleh database management system (DBMS):


(2)

SELECT * FROM user WHERE username='jerly.sabuna@protonmail.com' AND password='magnum' LIMIT 1;

Setelah query di atas selesai dieksekusi, DBMS akan mengirimkan hasil kepada web server untuk diolah. Setelah menerima hasil tersebut, web server akan melakukan pemeriksaan, apakah hasil yang diterima memuat record yang sesuai dengan username dan password yang dikirimkan atau tidak, untuk selanjutnya menentukan tindak lanjut terhadap masing-masing kemungkinan.

Gambar 13 Hasil Capture Proses Otentikasi

Gambar 13 merupakan rincian hasil penangkapan informasi paket data dari proses otentikasi yang terjadi pada website yang aman berbasis OpenSSL. Hasil tersebut menunjukan proses komunikasi antar client dan server melalui ethertnet.

Informasi diakses dari komputer client menggunakan Internet Protocol versi 4 (IPv4) dengan alamat IP 192.168.1.4. Hasil tersebut juga menampilkan informasi

transport layer yang menunjukan port yang digunakan untuk berkomunikasi.

Source port yang digunakan adalah port 59067 sedangkan destination port yang digunakan adalah port 443.


(3)

Gambar 14 Hasil Capture Enkripsi Proses Otentikasi


(4)

Gambar 14 menunjukan hasil penangkapan informasi pada proses otentikasi. Ketika client melakukan proses otentikasi, penyadapan terhadap data seperti

username dan password yang dimasukan tidak dapat dilakukan. Lalu lintas data tidak dapat diketahui karena sudah dilindungi oleh protokol keamanan HTTPS yang di dapat dari OpenSSL. Website yang menggunakan OpenSSL memberikan jaminan keamanan terhadap proses otentikasi yang terjadi. Semua proses dienkripsi sehingga kerahasiaan informasi username dan password terjamin. Informasi tersebut tidak dapat diketahui oleh orang lain yang melakukan sniffing

atau man in the middle attack. Namun proses otentikasi dapat didekripsi oleh Wireshark menggunakan kunci privat yang digunakan untuk melakukan enkripsi pada protokol HTTPS. Gambar 15 menunjukan hasil dekripsi pada pada protokol HTTPS menggunakan kunci privat. Pengguna harus lebih berhati-hati dan menjaga kerahasiaan kunci privat sehingga penyadap tidak memanfaatkannya untuk mendekripsi paket yang berjalan pada protokol HTTPS.

Tabel 1 Perbandingan Web Server Tanpa OpenSSL dan Web Server dengan OpenSSL

HTTP HTPPS

Port 8 0 443

Keamanan data -

Otentikasi Server Kerahasiaan Data Integritas Data Kebutuhan SSL Client - Server Sertifikat SSL

Enkripsi Tidak Ya

Input Data ke Sistem Plaintext terbuka Plainteks tertutup OSI Layer Aplication Layer Transport Layer Certificates No certificates required Certificates required

Proses otentikasi

- Proses dilakukan tanpa enkripsi.

- Informasi yang dimasukan rentan terhadap penyadapan.

- Proses dilakukan dengan enkripsi.

- Proses otentikasi lebih terjamin.

- OpenSSL menyediakan protokol keamanan HTTPS.

Komunikasi Data

Komunikasi data melalui protokol http sangat rentan terhadap penyadapan data. Attacker dapat mengetahui alur komunikasi, indentitas server dan client, data sensitif dan waktu akses yang dilakukan.

Penyadapan data yang dilakukan pada protokol https hanya akan menghasilkan informasi acak yang telah dienkripsi. Data yang dipertukarkan antara client dan server tidak dapa disadap oleh attacker.

Proses otentikasi yang dilakukan pada web server yang tidak menggunakan OpenSSL sangat rentan terhadap interfensi pihak lain karena terdapat kemungkinan pencurian dan pengubahan informasi data username dan password

antara client dan server. OpenSSL memberikan jalur komunikasi yang aman menggunakan protokol HTTPS sehingga proses otentikasi lebih tejamin. Pada jalur komunikasi yang diberikan oleh OpenSSL terdapat otentikasi dengan


(5)

sertifikat digital dan algoritma kunci publik yang mengenkripsi data. Hal inilah yang memastikan keamanan data pada proses otentikasi yang sedang dilakukan.

OpenSSL memiliki fitur Heartbeat yang diperkenalkan pada tahun 2012. Tujuannya adalah untuk mengecek apakah client masih terhubung dengan server. Sering kali router yang menjadi perantara antara client dan server memutuskan koneksi jika terjadi idle yang terlalu lama. Heartbeat akan memastikan client dan

server tetap terhubung dalam satu koneksi. Heartbeat juga merupakan kelemahan dari OpenSSL karena sistem kerja Heartbeat terlalu mempercayai client. Kelemahan dari Hearthbeat diberi nama bug heartbleed. Heartbleed

memungkinkan penyerang untuk membaca memori dari server yang diproteksi oleh OpenSSL. Isi dari memori tersebut berupa cookie website, source code script, kombinasi username dan password, dan privatkey OpenSSL. Bug heartbleed merupakan tanggung jawab dari penyedia situs. Untuk menghindari adanya bug heartbleed maka penyedia situ harus meng-update OpenSSL ke versi yang terbaru yaitu OpenSSL versi 1.0.1g ke atas sehingga data yang dikirim menggunakan HTTPS diamankan melalui protokol Transport Layer Security (TLS). Protokol TLS memberikan tiga lapis perlindungan kunci yaitu melakukan enkripsi pada pertukaran data untuk melindungi dari penyadap, melakukan integritas data agar data tidak dapat diubah atau dicuri tanpa terdeteksi selama melakukan proses transfer data, dan melakukan otentikasi agar dapat membuktikan bahwa client berkomunikasi dengan server yang dituju sehingga terhindar dari serangan MIMT Attack dan membangun kepercayaan antara client

dan server.

5. Simpulan

Berdasarkan hasil penelitian dan analisis yang dilakukan maka dapat diambil kesimpulan sebagai berikut: 1) OpenSSL memberikan jaminan keamanan pada proses otentikasi dengan memberikan protokol keamaman pada jalur komunikasi antara client dan server yang dilindungi dengan enkripsi sehingga menghasilkan informasi acak pada saat melakukan proses otentikasi. 2) Paket transfer data yang dikirim menggunakan protokol OpenSSL dienkripsi sehingga menjamin keamanan paket transfer data. Saran pengembangan yang dapat diberikan untuk penelitian lebih lanjut adalah menambahkan protokol otentikasi Kerberos kedalam sistem agar proses otentikasi semakin terjamin.

6. Pustaka

[1] Khairina, Dyana Marisa. 2011. Analisis Keamanan Sistem Login. FMIPA Universitas Mulawarman.

[2] Najoan, Harvard. 2010. Analisis Implementasi Digital Certificate pada Web Server Apache Menggunakan OpenSSL. FTI. Universitas Kristen Satya Wacana.

[3] Ariyus, Dony. 2006. Computer Security. Yogyakarta: Andi Offset.

[4] Sadikin,Rifki. 2012. Kriptografi Untuk Keamanan Jaringan. Yogyakarta: Andi Offset.

[5] Chandra, Prayir. Matt Messier, John Viega. 2002. Network Security with OpenSSL. O'Reilly.


(6)

[6] Armansyah, Wawang. 2015. Belajar Linux dan Kelebihan Linux. http://www.belajarbagus.com/2015/04/belajar-linux.html (diakses tanggal 8 Januari 2016)

[7] Kita, Linux. 2010. Macam-Macam Distro Linux Varian Debian. http://linuxkita.net/macam-macam-distro-linux-varian-debian.html (diakses tanggal 9 januari 2016)

[8] Suo, X., Zhu, Y., G. S. Owen. 2005. Graphical Passwords: A Survey. In21st Annual Computer Security Applications Conference (ACSAC). halaman.463-472.

[9] Kurniawan, Agus. 2014. Cara menggunakan Wireshark (diakses tanggal 9 Januari 2016)

[10] Hendri. 2010. Penggunaan Teknologi Secure Socket Layer pada Komunikasi Data Hypertext Transfer Protocol dalam Pencegahan Serangan Man In The Middle Attack. FTI. Universitas Kristen Satya Wacana.