• Tidak ada hasil yang ditemukan

Implementasi Algoritma Kriptografi RSA dan MD5 pada Protokol SSL dalam Autentikasi Website.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Kriptografi RSA dan MD5 pada Protokol SSL dalam Autentikasi Website."

Copied!
14
0
0

Teks penuh

(1)

Universitas Kristen Maranatha

ABSTRAK

Dalam dunia internet tidak ada yang benar-benar aman. Selalu saja ada celah dalam setiap aplikasi yang dibuat. Untuk memininalisir serangan dapat menggunakan enkripsi pada data ketika data tersebut dikirimkan. Salah satu algoritma kriptografi yang cukup populer adalah algoritma RSA, dinamakan (Rivest-Shamir-Addlemen), sesuai dengan nama penemunya.

Pada tugas akhir ini ini akan dibahas penerapan RSA pada protokol SSL

(Secure Socket Layer) dalam autentikasi website. SSL merupakan protokol yang digunakan untuk browsing web secara aman. SSL memiliki banyak fitur yang digunakan pada setiap transaksi client-server.

Aplikasi ini menambah tingkat keamanan di sisi server dengan pertama-tama mengenkripsi plaintext password menggunakan RSA sebelum kemudian di konvesi menjadi bentuk hash MD5. Teknik ini mencegah para hacker mendapatkan plaintext

dari password dengan menggunakan teknik brute force atau melihat table. Aplikasi ini dibangun dengan JavaScript pada sisi client dan PHP pada sisi server.

Kata kunci :SSL, RSA, MD5, Autentikasi, Kriptografi

(2)

Universitas Kristen Maranatha

ABSTRACT

In the Internet world there is no truly safe. There is always security flaws in any applications that are made. Attacks can be minimized by encrypting the data while transmitted. One popular cryptographic algorithms is RSA, named by its inventors, namely Rivest-Shamir-Addleman. The algorithm by its nature, is an asymmetric algorithm. It uses public key encryption.

In this final project will be discussed about implementation of RSA on (Secure Socket Layer) protocol in the website authentication. SSL is a protocol used for secure web browsing. It has many security features which are included in every client-server transaction.

This application increases security level on the server side by first encrypting plaintext used for password using RSA before it is converted into its MD5 hash. This technique prevents hackers to reveal the plaintext of the password by using brute force methods or table’s look up. The application is developed using JavaScript in client side and PHP in server side.

(3)

Universitas Kristen Maranatha

DAFTAR ISI

Lembar Pengesahan ...i

Kata Pengantar ... ii

Lembar Persetujuan Publikasi ...iv

Surat Pernyataan Orisinalitas Karya ... v

Abstrak ...vi

Abstract ... vii

Daftar Isi ... viii

Daftar Gambar ... x

Daftar Tabel ...xi

Daftar Istilah ... xii

Bab I PENDAHULUAN ... 1

I.1 Latar Belakang ... 1

I.2 Rumusan Masalah ... 2

I.3 Batasan Masalah ... 2

I.4 Tujuan ... 3

I.5 Sistematika Pembahasan ... 3

Bab II LANDASAN TEORI ... 5

II.1 Kriptografi ... 5

II.2 Algoritma Kriptografi RSA ... 6

II.2.1 Proses Pembuatan Kunci ... 7

II.3 MD5(Message Digest 5) ... 8

II.4 SSL (Secure Socket Layer) ... 9

II.4.1 Cara Kerja SSL ... 10

II.5 Web Server Apache ... 11

Bab III Analisis dan Perancangan ... 13

III.1 Analisis ... 13

III.1.1 Identifikasi Masalah ... 13

III.1.2 Analisis Sistem yang akan Dibuat ... 13

III.2 Alur Kerja ... 15

(4)

Universitas Kristen Maranatha

III.4 Perancangan Sistem ... 16

III.3.1 Proses Pada Sisi Client ... 17

III.3.1.1 Proses Pada Text ... 18

III.3.1.2 Proses Enkripsi ... 19

III.3.2 Proses Pada Sisi Server ... 20

III.5 Spesifikasi Sistem ... 21

III.4.1 Spesifikasi Perangkat Keras pada Server ... 21

III.4.2 Spesifikasi Perangkat Keras pada Client ... 21

III.4.3 Spesifikasi Perangkat Lunak ... 21

Bab IV Pengembagan Perangkat Lunak ... 22

IV.1 Konfigurasi ... 22

IV.1.1 Instalasi Web Server ... 22

IV.1.2 Konfigurasi Apache ... 23

IV.1.2.1 Konfigurasi File httpd-ssl.conf ... 24

IV.1.2.1 Konfigurasi File httpd-vhost.conf ... 24

IV.1.3 Konfigurasi MySQL ... 25

IV.1.4 HTML Script dan Java Script ... 26

IV.1.4.1 Proses Enkripsi dengan Java Script ... 27

IV.1.4.2 Proses Koneksi ke Database ... 28

IV.1.4.3 Halaman web yang ditampilkan setelah berhasil login ... 28

IV.1.4.4 Proses Dekripsi ... 29

IV.1.4.5 Proses Mencocokkan Username & Password ke Database ... 30

IV.1.4.6 Proses Log Out dari Web ... 31

IV.1.5 Konfigurasi File Hosts pada client ... 32

Bab V Testing Dan Pengujian ... 33

V.1 Rencana Pengujian ... 33

V.1.1 Pengujian Sistem Autentikasi ... 34

Bab VI Kesimpulan dan Saran ... 39

VI.1 Kesimpulan ... 39

VI.2 Saran ... 39

(5)

Universitas Kristen Maranatha

DAFTAR GAMBAR

Gambar 1. Proses Enkripsi dan Dekripsi ... 5

Gambar 2. Flowchart alur kerja ... 16

Gambar 3. Arsitektur sistem yang akan di rancang ... 16

Gambar 4. Proses yang terjadi pada sisi client ... 17

Gambar 5. Proses yang terjadi pada teks ... 18

Gambar 6. Proses enkripsi pada sisi client ... 19

Gambar 7. Proses yang terjadi pada sisi server ... 20

Gambar 8. Instalasi XAMPP 1.7.3 ... 23

Gambar 9. Jendela Autentikasi database ... 25

Gambar 10. Isi dari database user ... 26

Gambar 11. Alur Enkripsi pada web browser ... 26

Gambar 12. Halaman Login Client ... 31

Gambar 13. Halaman Berhasil Login... 32

Gambar 14. Monitoring Wireshark ... 34

Gambar 15. Monitoring wireshark dengan username “30207002” password “pohodeui” ... 37

Gambar 16. Monitoring wireshark dengan username “30207003” password “maman” ... 37

Gambar 17. Monitoring wireshark dengan username “30207004” password “suratmi” ... 37

(6)

Universitas Kristen Maranatha

DAFTAR TABEL

Tabel 1. Spesifikasi hardware server... 21

Tabel 2. Spesifikasi hardware client ... 21

Tabel 3. Spesifikasi Software ... 21

(7)

Universitas Kristen Maranatha

DAFTAR ISTILAH

Nama Istilah Definisi

Halaman pertama

kali muncul

Enkripsi

proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus

vi

Algoritma

merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir

vi

Kriptografi

ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data

vi

Protocol

sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer

vi

Username Identitas unik yang diberikan kepada user yang

berhak mengakses suatu sistem vi

Autentikasi

berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain

vi

Website

sebutan bagi sekelompok halaman web (web page), yang umumnya merupakan bagian dari suatu nama domain (domain name) atau subdomain di World Wide Web (WWW) di Internet

vi

Hacker

istilah teknologi informasi dalam bahasa Inggris yang mengacu kepada peretas yang secara etis menunjukkan suatu kelemahan dalam sebuah sistem komputer

vi

Brute force

sebuah teknik serangan terhadap sebuah sistem keamanan komputer yang menggunakan percobaan terhadap semua kunci yang mungkin

vi

Server sebuah sistem komputer yang menyediakan jenis

layanan tertentu dalam sebuah jaringan komputer vi

Plaintext

teks informasi yang merupakan masukan bagi suatu algoritma enkripsi; sedangkan keluarannya disebut teks tersandi atau teks sandi (ciphertext)

(8)

Universitas Kristen Maranatha Hash

merupakan suatu metode yang secara langsung mengakses record-record dalam suatu tabel dengan melakukan transformasi aritmatik pada key yang menjadi alamat dalam tabel tersebut. Key merupakan suatu input dari pemakai di mana pada umumnya berupa nilai atau string karakter.

vi

Login

proses untuk mengakses komputer dengan memasukkan identitas dari akun pengguna dan kata sandi guna mendapatkan hak akses menggunakan sumber daya komputer tujuan.

1

Database

kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut

1

Password Kode unik yang diinputkan user untuk masuk

kedalam suatu sistem 1

Dekripsi Proses mengembalikan dari chipertext menjadi

plaintext 2

Internet

sistem global dari seluruh jaringan komputer yang saling terhubung menggunakan standar Internet Protocol Suite (TCP/IP) untuk melayani miliaran pengguna di seluruh dunia.

13

IP Address

deretan angka biner antar 32-bit sampai 128-bit yang dipakai sebagai alamat identifikasi untuk tiap komputer host dalam jaringan Internet.

(9)

Universitas Kristen Maranatha

BAB I

PENDAHULUAN

I.1 Latar Belakang

Kemajuan di bidang teknologi informasi telah memungkinkan institusi-institusi pendidikan atau lainnya melakukan interaksi dengan konsumen melalui jaringan komputer. Kegiatan-kegiatan tersebut tentu saja akan menimbulkan resiko bilamana informasi yang sensitif dan berharga tersebut diakses oleh orang-orang yang tidak berhak. Aspek keamanan data sebenarnya meliputi banyak hal yang saling berkaitan, tetapi salah satu yang paling dikenal adalah masalah autentikasi.

Autentikasi berguna untuk menjaga agar suatu aksi hanya dapat dilakukan oleh aktor yang sudah dipercaya. Salah satu jenis autentikasi yang paling dikenal adalah sistem login yang berupa username dan password yang kemudian dicocokkan ke database. Jika username dan password tersebut diketahui orang lain maka sistem menjadi tidak aman.

Politeknik Telkom memiliki website lokal yang sering diakses oleh para civitas akademika seperti portal dosen, portal BAA, portal mahasiswa, dll. Portal-portal tersebut memiliki autentikasi tersendiri bagi para penggunanya untuk menjaga hak akses tiap-tiap level pengguna. Sampai saat ini website yang memiliki sistem keamanan adalah sisfo.politekniktelkom.ac.id. Website tersebut menggunakan SSL sebagai jalur yang aman untuk pertukaran datanya. Tetapi SSL sendiri dapat dijebol dengan menggunakan SSLstrip. Oleh karena itu maka perlu adanya sistem keamanan di dalam SSL itu sendiri.

(10)

Universitas Kristen Maranatha

mendapatkan data yang lewat pada jaringan, dengan adanya enkripsi pada data maka data tersebut tidak dapat dibaca oleh orang tersebut. Hanya orang yang memiliki kunci untuk dekripsi pesan tersebut yang dapat membacanya.

Tugas akhir ini diharapkan dapat membantu untuk mengamankan sistem autentikasi website khususnya portal mahasiswa(students.politekniktelkom.ac.id) sehingga user dapat melakukan login dengan aman tanpa khawatir identitas mereka dicuri.

I.2 Rumusan masalah

Terdapat beberapa rumusan masalah yang akan di bahas dalam Tugas Akhir ini, yaitu sebagai berikut.

1 Bagaimana menerapkan algoritma RSA (Rivest-Shamir-Adleman) pada protocol SSL di portal mahasiswa di Politeknik Telkom untuk mengamankan sistem autentikasi?

2 Bagaimana membuat enkripsi dengan algoritma RSA di sisi client dan dekripsi di sisi server?

3 Bagaimana perbandingan tingkat keamanan antara portal mahasiswa Politeknik Telkom dan portal mahasiswa dalam tugas akhir ini?

4 Bagaimana menerapkan fungsi hash MD5 pada penyimpanan data autentikasi di database?

I.3 Batasan Masalah

Adapun batasan-batasan masalah dalam Tugas Akhir ini adalah sebagai berikut.

1. Tugas Akhir ini hanya terfokus pada implementasi algoritma RSA pada portal mahasiswa untuk sistem autentikasinya.

2. Implementasi yang dilakukan hanya pada jaringan lokal.

(11)

Universitas Kristen Maranatha

4. Implementasi yang dilakukan hanya menggunakan Sistem Operasi Windows Vista Home Premium dengan client Windows XP SP2 karena dalam tugas akhir ini tidak membahas mengenai keamanan server.

5. Adapun penggunaan tools yang digunakan dalam implementasi Tugas Akhir ini yaitu, wireshark, Apache with mod SSL sebagai webserver, MySQL sebagai database, dan OpenSSL 0.9.8.

I.4 Tujuan

Tujuan dari tugas akhir ini adalah:

1. Membuat sistem pengamanan autentikasi portal mahasiswa di politeknik telkom menggunakan algoritma RSA (Rivest-Shamir-Adleman) pada protocol SSL.

2. Membuat enkripsi dengan algoritma RSA di sisi client dan dekripsi di sisi server.

3. Membandingkan tingkat keamanan portal mahasiswa Politeknik Telkom saat ini dengan portal mahasiswa dalam tugas akhir ini.

4. Menerapkan fungsi hash MD5 dalam penyimpanan data autentikasi di database.

I.5 Sistematika Pembahasan

Sistematika pembahasan pada tugas akhir ini dibagi menjadi beberapa bab yang meliputi:

BAB I PENDAHULUAN

Pada bab ini membahas mengenai: latar belakang masalah, rumusan masalah, batasan masalah, maksud dan tujuan dan metode penelitian dari kegiatan penelitian tugas akhir ini.

(12)

Universitas Kristen Maranatha

Pada bab ini dibahas mengenai teori dasar yang digunakan pada penyusunan tugas akhir yang meliputi penjelasan mengenai Algoritma RSA, MD5, SSL , dan web server

BAB III ANALISIS DAN DISAIN

Pada bab ini dibahas mengenai perancangan model untuk konfigurasi sistem autentikasi yang kemudian diimplementasikan berbagai skenario yang digunakan untuk mendapatkan data yang diharapkan agar dapat dianalisis lebih lanjut.

BAB IV PENGEMBANGAN PERANGKAT LUNAK

Pada bab ini dibahas mengenai analisa data-data yang telah diperoleh dari analisis sistem di jaringan yang kemudian menjadi bahan untuk pengembangan perangkat lunak.

BAB V TESTING DAN EVALUASI SISTEM

Pada bab ini berisi hasil testing dan evaluasi dari aplikasi perangkat lunak yang telah dibuat kemudian membandingkan dengan aplikasi yang selama ini sudah berjalan.

BAB VI KESIMPULAN DAN SARAN

(13)

Universitas Kristen Maranatha

BAB VI

KESIMPULAN DAN SARAN

VI.1 KESIMPULAN

Kesimpulan yang dapat di ambil dari implementasi tugas akhir ini

adalah :

1. Berdasarkan hasil monitoring menggunakan tools wireshark bahwa portal

mahasiswa yang saat ini digunakan sistem autentikasinya tidak dienkripsi

sehingga memungkinkan orang lain untuk mencuri username dan

password.

2. Dengan penerapan algoritma kriptografi RSA dalam metode enkripsinya

maka data tidak dapat dibaca oleh orang lain.

3. Penerapan SSL (Secure Socket Layer) menambah tingkat keamanan pada

portal mahasiswa karena jalur komunikasi yang dilewati dienkripsi.

4. Aplikasi ini menambah tingkat keamanan di sisi server dengan

pertama-tama mengenkripsi plaintext password menggunakan RSA sebelum

kemudian di konvesi menjadi bentuk hash MD5. Teknik ini mencegah

para hacker mendapatkan plaintext dari password dengan menggunakan

teknik brute force atau melihat table rainbow crack.

5. Aplikasi ini dibangun dengan JavaScript pada sisi client dan PHP pada

sisi server.

VI.2

SARAN

Beberapa saran yang dapat diberikan untuk pengembangan lebih lanjut

1. Dapat dikembangkan untuk enkripsi di sisi client dengan membuat plug-in

enkripsi RSA sehingga kunci publik tidak dapat dilihat oleh client.

2. Dapat dikembangkan di operating system lain seperti Ubuntu, FreeBSD,

(14)

Universitas Kristen Maranatha

DAFTAR PUSTAKA

A. Menezes, P. Van Oorschot, and S. Vanstone. Handbook of Applied Cryptography,

CRC Press, 1996.

G. C. Kessler. An Overview of Cryptography, Auerbach., 1998.

R.L. Rivest. A. Shamir. and Adleman. L. A Method for Obtaining DigitalSignatures

and Public-Key Cryptosystems., ACM, .1977.

Group, The PHP Documentation. 2007. PHP Manual.

Socket Programming with PHP. Diunduh dari:

http://www.devshed.com/c/a/PHP/Socket-Programming-With-PHP/.

A. S. Tanenbaum, Computer Networks, 4th ed. New Jersey: Prentice Hall, 2003.

R. M. Iqbal. Tinjauan mengenai kepopuleran teknik penyandian RSA, Skripsi, Depok:

UniversitasGunadharma, 1999.

Referensi

Dokumen terkait

Hal ini menunjukkan bahwa dengan dilaksanakan praktek rotasi kerja maka akan mempengaruhi motivasi kerja karyawan Berdasarkan hasil pengujian dapat disimpulkan

Uji fungsi sistem instrumen kontrol suhu pada unit kalsinasi KR-260 E berguna untuk mengetahui kinerja alat pada saat tanpa beban maupun berbeban.Hasil rancang bangun

FRINNA SHINTA 500644607 Magister Manajemen MM PENGARUH PELATIHAN, INTERAK.SI SOSIAL, DAN MOTIVASI KERJA TERHADAP KINERJA PENYULUH MELALUI KOMPETENSI Studi pada Kantor

Layanan ini di tujukan untuk mahasiswa dan dosen yang memiliki mobilitas yang tinggi dalam proses belajar mengajar.Pada jadwal midlet akan digunakan API JSR- 82 yang dibutuhkan

d.ari pad.a suatu kalrat Jun:s dengan panjang yang sama yang perbed.aannya. terganti:ng pada perband.ingan piI1n rata-rata d.ari lapisan yang

DESA RAJA,TIKUNGAN SEBELUM POM BENSIN 21210... CAHYO

[r]

(2) Dalam hal ketentuan sebagaimana dimaksud pada ayat (1) Pasal ini tidak terpenuhi, Walikota atau Pejabat yang ditunjuk dapat memberikan persetujuan kepada Wajib Pajak