Klien autentikasi menggunakan algoritma SHA-1 dengan protokol two way challenge-response pada transaksi web-based.

(1)

INTISARI

SHA 1 adalah salah satu algoritma fungsi has untuk proses enkripsi, pada sistem autentikasi ini dibangun untuk dua pihak yaitu pihak pengguna (klient) dan pihak administrator (server), untuk menghubungkan kedua pihak antara pengguna dan administrator digunakan protokol challenge response. Cara kerja protokol ini adalah server akan memberi tantangan kepada klient, sedangkan klient mengolah tantangan dan memberi respon.

Tujuan dari tugas akhir ini adalah Mengimplementasikan protokol two way challenge response dengan menggunakan algoritma SHA-1 untuk mengolah user id dan password yang akan disambung dengan tantangan berupa angka acak menjadi bilangan yang digunakan sebagai respon terhadap tantangan yang diberikan server guna mengetahui keaslian dari klien yang masuk pada transaksi online.


(2)

ABSTRACK

SHA 1 is one of the any other hash algorithm to encryption, this authentication system was built for two sides namely client side and server side, challenge response protocol is used to connect between client and server. In this challenge response protocol, server will give challenge to client, and client will generate challenge and send response.

The purpose of this final assignment is to see the implementation of challenge response protocol with used SHA 1 algorithm for generate user id and password with challenge like random number to be response as challenge be given by server to know authenticity from client in online transaction.


(3)

Klien Autentikasi Menggunakan Algoritma SHA-1

Dengan Protokol

Two Way Challenge-Response

pada Transaksi

Web-based

Tugas Akhir

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Disusun Oleh : Yosafat Maryan Rambonang

105314001

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA


(4)

Client Autentication Using SHA-1

With Two Way Challenge-Response Protocol In Web-based Transaction

Final Project

Presented as Partial Fulfillment of the Requirements To Obtain Sarjana Komputer Degree

In Informatics Engineering Department

Arranged by:

Yosafat Maryan Rambonang Student number : 105314001

INFORMATICS ENGINEERING STUDY PROGRAM

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA


(5)

HALAMAN PERSETUJUAN

Skripsi

Klien Autentikasi Menggunakan Algoritma SHA-1

Dengan Protokol

Two Way Challenge-Response

pada Transaksi

Web-based

Oleh :

Yosafat Maryan Rambonang NIM : 105314001

Telah disetujui oleh :

Dosen Pembimbing


(6)

HALAMAN PENGESAHAN

SKRIPSI

Klien Autentikasi Menggunakan Algoritma SHA-1

Dengan Protokol

Two Way Challenge-Response

pada Transaksi

Web-based

Dipersiapkan dan ditulis oleh : Yosafat Maryan Rambonang

NIM : 105314001

Telah dipertahankan di depan panitia penguji Pada tanggal 23 Juli 2015

Dan dinyatakan memenuhi syarat

Susunan panitia penguji

Nama lengkap Tanda tangan

Ketua : Iwan Binanto S.Si., M.Cs ... Sekretaris : H. Agung Hernawan S.T., M.Kom ... Anggota : Bambang Soelistijanto S.T., M.Sc., Ph.D ...

Yogyakarta,... Fakultas Sains dan Teknologi

Universitas Sanata Dharma Dekan


(7)

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.

Yogyakarta, Agustus 2015 Penulis


(8)

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Yosafat Maryan Rambonang

NIM : 105314001

Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :

Klien Autentikasi Menggunakan Algoritma SHA-1

Dengan Protokol

Two Way Challenge-Response

pada Transaksi

Web-based

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelola dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royality kepada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya. Dibuat di Yogyakarta

Pada Tanggal : Agustus 2015 Yang menyatakan,


(9)

INTISARI

SHA 1 adalah salah satu algoritma fungsi has untuk proses enkripsi, pada sistem autentikasi ini dibangun untuk dua pihak yaitu pihak pengguna (klient) dan pihak administrator (server), untuk menghubungkan kedua pihak antara pengguna dan administrator digunakan protokol challenge response. Cara kerja protokol ini adalah server akan memberi

tantangan kepada klient, sedangkan klient mengolah tantangan dan memberi respon.

Tujuan dari tugas akhir ini adalah Mengimplementasikan protokol two way challenge

response dengan menggunakan algoritma SHA-1 untuk mengolah user id dan password yang

akan disambung dengan tantangan berupa angka acak menjadi bilangan yang digunakan sebagai respon terhadap tantangan yang diberikan server guna mengetahui keaslian dari klien yang masuk pada transaksi online.


(10)

ABSTRACK

SHA 1 is one of the any other hash algorithm to encryption, this authentication system was built for two sides namely client side and server side, challenge response protocol is used to connect between client and server. In this challenge response protocol, server will give challenge to client, and client will generate challenge and send response.

The purpose of this final assignment is to see the implementation of challenge response protocol with used SHA 1 algorithm for generate user id and password with challenge like random number to be response as challenge be given by server to know authenticity from client in online transaction.


(11)

KATA PENGANTAR

Puji dan syukur kepada Tuhan Yang Maha Esa atas karunia dan kesempatan sehingga penulis dapat menyelesaikan skripsi dengan judul “Klien Autentikasi Menggunakan Algoritma SHA-1 Dengan Protokol Two Way Challenge-Response pada Transaksi

Web-based”

Penyusunan Tugas Akhir ini tidak lepas dari semua pihak yang turut memberikan dukungan dan doa yang sangan bermanfaat bagi penulis. Pada kesempatan kali ini penulis mengucapkan terimakasih yang sebesar-besarnya kepada:

1. Bapak Bambang Soelistijanto S.T., M.Sc., Ph.D. selaku dosen pembimbing atas segala kesabara, bimbingan dan bantuannya kepada penulis dalam menyelesaikan Tugas Akhir ini.

2. Bapak Iwan Binanto S.Si., M.Cs. dan bapak H. Agung Hernawan S.T., M.Kom. Selaku dosen penguji atas saran dan masuka demi kesempurnaan Tugas Khir ini.

3. Ibu A.M Polina S.Kom., M.Sc. selaku dosen pembimbing akademik serta seluruh dosen Universitas Sanata Dharma yang telah membantu dan memberi bekal kepada penulis.

4. Para karyawan dan staf Fakultas Sain dan Teknologi, khususnya jurusan Teknik Informatika, atas segala bantuan yang diberikan kepada penulis.

5. Orangtua serta keluarga besar yang telah memberikan perhatian, doa, serta dukungan yang sangat besar kepada penulis.

6. Semua pihak yang telah membantu penulis menyelesaikan Tugas Akhir. Yang tidak dapat disebutkan satu-persatu.


(12)

Terimakasih atas segala pelajaran dan kebaikan yang telah penulis terima dan dapat menjadi berkat serta bekal yang sangat berharga di kehidupan penulis. Penulis menyadari bahwa penulisan tugas akhir ini masih jauh dari kesempurnaan, oleh sebab itu diharapkan kritik dan saran dari pembaca yang bersifat membangun guna menyempurnakan Tugas Akhir ini. Semoga Tugas Akhir ini dapat bermanfaat bagi para pembaca.

Yogyakarta, Agustus 2015 Penulis


(13)

DAFTAR ISI

HALAMAN JUDUL...i

HALAMAN JUDUL BAHASA INGGRIS...ii

HALAMAN PERSETUJUAN...iii

HALAMAN PENGESAHAN...iv

PERNYATAAN KEASLIAN KARYA...v

LEMBAR PERNYATAAN PERSETUJUAN...vi

INTISARI...vii

ABSTRACK...viii

KATA PENGANTAR...ix

DAFTAR ISI ………...……xi

DAFTAR GAMBAR………..……….xii

DAFTAR TABEL ...xiv

BAB 1 LATAR BELAKANG MASALAH 1.1 Latar Belakang Masalah ………..……….. 1

1.2 Rumusan Masalah ………..……….2

1.3 Batasan Masalah ....………..………...2

1.4 Tujuan ...3

1.5 Manfaat ...3

1.6 Metode Penelitian ...3

1.7 Sistematika Penulisan ...4

BAB 2 LANDASAN TEORI 2.1 Pengantar Kriptografi ...5

2.1.1 Komponen Kriptografi ...5

2.1.2 Algoritma Kriptografi ...6

2.1.3 Tujuan Kriptografi ...8

2.2 Jenis Serangan Terhadap keamanan Data ...8

2.3 Permasalahan Pada Pengiriman Password ...10

2.4 Autentikasi ...16

2.4.1 Sistem Autentikasi ...17


(14)

2.6 Fungsi Hash ...23

2.6.1 Sifat-sifat Fungsi Hash Pada Kriptografi ...24

2.6.2 Fungsi Hash Satu Arah (One Way Hash Fungction) ...24

2.6.3 Kegunaan One Way Hash Fungction ...25

2.6.4 Kelebihan dan Kekurangan Fungsi Hash ...26

2.6.5 Algoritma hashFungction ...27

2.7 Secured Hash Algorithm (Sha-1) ...27

2.7.1 Cara Kerja SHA-1 ...28

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Sistem ...32

3.2 Analisa Teknologi ...38

3.3 Perancangan Sistem ...38

3.3.1 Aplikasi Kalkulator Hash Sederhana ...39

3.3.2 Form Login ...40

3.3.3 Form Challenge ...41

BAB 4 IMPLEMENTASI PROGRAM 4.1 Implementasi Program ...44

4.1.1 Aplikasi Kalkulator Hash SHA-1 ...44

4.1.2 User Interface Web ...46

BAB 5 ANALISA DAN KESIMPULAN 5.1 Analisa Hasil Program ...55

5.2 Kesimpulan ...56

DAFTAR PUSTAKA ...58

DAFTAR GAMBAR

Gambar 2.1Diagram proses enkripsi dan dekripsi ...6

Gambar 2.2 Pengiriman password dalam bentuk plaintext ...10

Gambar 2.3 Pengiriman password dalam bentuk keluaran fungsi hash ...11


(15)

Gambar 2.5 Ilustrasi serangan reply attack ...13

Gambar 2.6 Pengiriman password dengan satukali hash ...14

Gambar 2.7 Pengiriman password dengan duakali hash ...15

Gambar 2.8 Sistem autentikasi klien server ...17

Gambar 2.9 Two Way Challenge Response ...19

Gambar 2.10 Tree Way Challenge Response I ...19

Gambar 2.11 Reflection attack ...20

Gambar 2.12 Tree Way Challenge Response II ...20

Gambar 2.13 Autentikasi dengan Trusted Party...21

Gambar 2.14 Autentikasi menggunakan Challenge-Response ...22

Gambar 2.15 Ilustrasi One Way Hash Fungction ...25

Gambar 2.16 Algoritma-algoritma hash ...27

Gambar 2.17 Messagedigest menggunakan SHA1 ...28

Gambar 2.18 Proses hashing ...30

Gambar 3.1 Flowchat sistem ...33

Gambar 3.2 Diagram usecase ...34

Gambar 3.3 Entitiy Relational Diagram ...35

Gambar 3.4 Diagram konteks ...36

Gambar 3.5 Konfigurasi Star ...37

Gambar 3.6 Diagram berjenjang sistem autentikasi klien ...37

Gambar 3.7 Tampilan Kalkulator hash ...39


(16)

Gambar 4.1 Preoses autentikasi ...43

Gambar 4.2 SHA1 Kalkulator ...44

Gambar 4.3 Source code proses hashing ...45

Gambar 4.4 Halaman login ...46

Gambar 4.5 Source code koneksi.php ...47

Gambar 4.6 Nomor pengguna salah ...48

Gambar 4.7 source code login.php ...49

Gambar 4.8 Halaman Challenge ...50

Gambar 4.9source code rand.php ...51

Gambar 4.10 Gambar hasil respon salah ...51

Gambar 4.11 peringatan bahwa akun di blok ...52

Gambar 4.12 Proses autentikasi sukses ...52

Gambar 4.13 source code submit.php ...53

Gambar 4.14 peringatan sistem bahwa akun sudah login ...53

Gambar 4.15 Halaman about ...54

DAFTAR TABEL

Tabel 3.1 Relational Model Klien ...35


(17)

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Keamanan pada data atau informasi di komputer merupakan sesuatu yang penting untuk diperhatikan. Seiring berkembangnya teknologi jaringan atau internet dan semakin banyak pengguna komputer yang menggunakan transmisi internet untuk lebih berhati-hati sebab data atau informasi akan menjadi sangat rentan terhadap serangan dari pihak lain. Dalam hal ini sangat penting bahwa sistem keamanan komputer ditingkatkan dengan autentikasi antara server dengan klien dapat mengetahui dengan pasti bahwa seseorang

(klien) yang masuk dalam koneksi jaringan adalah sungguh-sungguh orang (klien) yang tepat sesuai dengan yang diharapkan, mengingat bahwa hal tersebut sangat mudah di manipulasi atau di bobol oleh pihak yang tidak mempunyai hak (pihak ke-3).

Begitu banyak pengguna seperti departemen pertahanan, suatu perusahaan atau bahkan individu-individu tidak ingin informasi yang disampaikannya diketahui oleh orang lain atau kompetitornya atau negara lain. Oleh karena itu dikembangkanlah cabang ilmu yang mempelajari tentang cara-cara pengamanan data atau dikenal dengan istilah Kriptografi.

Keamanan data menjadi salah satu fokus dalam sebuah sistem di berbagai bidang dan berbagai alat yang digunakan dalam melakukan pertukaran data atau informasi. Salah satu cara pengamanan data atau informasi dapat dilakukan dengan mencegah agar data atau informasi yang digunakan tidak dapat dibaca, dimodifikasi atau direkayasa sehingga tidak terjadi penyalahgunaan data yang ada. Kriptografi merupakan ilmu dalam bidang keamanan komputer yang dapat melakukan hal diatas.


(18)

password secara langsung dan tidak langsung , akan tetapi metode yang dianggap lebih aman adalah dengan tidak mengirimkan password secara langsung. Salah satu metode autentikasi untuk tidak mengirimkan password secara tidak langsung dapat dilakukan dengan menggunakan protokol autentikasi “challenge response

1.2 Rumusan Masalah

Masalah yang akan dibahas pada laporan skripsi ini adalah mengetahui keamanan transaksi on-line dengan cara autentikasi pada klien menggunakan protokol challenge

response serta penerapan fungsi algoritma SHA-1 hash fungction guna menjamin keamanan

dalam hak akses suatu transaksi on-line.

1.3 Batasan Masalah

Pada ruang lingkup penulisan laporan skripsi ini yang membahas sistem autentikasi

terhadap nasabah yang ingin melakukan transaksi dengan berbasiskan Web untuk aplikasi

bank online. Adapun batasan-batasan yang dilakukan yaitu antara lain:

a. Untuk proses pendaftaran nasabah bank tidak dilakukan secara online guna menghindari terjadinya pengiriman password secara langsung

b. Algoritma untuk melakukan proses autentikasi adalah algoritma SHA-1 c. Mengimplementasikan prinsip one way hash menggunakan algoritma SHA-1

d. Protokol yang digunakan yaitu menggunakan protocol two way challenge response

dengan prinsip one way hash fungction karena hanya satu pihak saja yang akan

di-autentikasi yaitu pihal klien

e. Tidak membahas detail transaksi setelah peroses autentikasi berhasil

f. Tidak menangani proses ganti password pada klien, dimana dalam hal ini password kliendiset pada saat pertamakali mendaftar.


(19)

1.4 Tujuan

Adapun tujuan yang hendak dicapai pada penulisan laporan skripsi ini yaitu:

Mengimplementasikan protokol two way challenge response dengan menggunakan algoritma

SHA-1 guna mengetahui keaslian dari klien yang masuk pada transaksi online.

1.5 Manfaat

Manfaat yang diperoleh dari tugas akhir ini adalah :

Mengetahui keamanan transaksi dengan cara autentikasi klien yang menggunakan protokol

challenge-response. Transaksi ini menghindari adannya transfer password secara langsung

dalam transaksi online yang beresiko serta dapat diserang oleh penyusup.

1.6 Metode Penelitian

Metode penelitian yang dilakuakan yaitu dengan melakukan study kasus dengan langkah-langkah sebagai berikut:

a. Melakukan study kepustakaan untuk mencari dan mempelajari metode-metode hashing dan fungsi hash yaitu menggunakan fungsi hash SHA-1, serta mencari informasi dari berbagai sumber untuk bahan kajian sesuai dengan sistem yang dibuat. Bahan kajian yang digunakan dapat berasal dari buku, artikel, serta internet.

b. Perancangan,Implementasi dan ujicoba sistem

Dengan cara menerapkan hasil rancangan kedalam sebuah bahasa pemrograman (kode) yang dapat dimengerti oleh mesin sehingga dapat menghasilkan sebuah program yang bisa digunakan untuk proses autentikasi pada komputer server dan


(20)

1.7 Sistematika penulisan

Sistematika penulisan laporan skripsi ini terdiri dari lima (5) bab: BAB 1 PENDAHULUAN

Dalam bab ini memaparkan mengenai latar belakang masalah, batasan masalah, tujuan penelitian,rumusan masalah, manfaat penelitian, metode penelitian dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Pada bab ini menjelaskan tentang teori-teori yang bersangkutan dan yang mendukung serta diperlukan sesuai dengan masalah yang terjadi.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Pada perancangan sistem ini menjelaskan tentang rancangan dari setiap sistem secara mendetail, meliputi perancangan input output, perancangan proses dan juga perancangan interface yang digunakan.

BAB 4 IMPLEMENTASI PROGRAM

Pada bagian ini akan membahas mengenai implementasi dari program yang telah dibuat.

BAB 5 ANALISA HASIL DAN KESIMPULAN

Pada bab ini akan menganalisa hasil yang telah didapat selama proses implementasi program serta kesimpulan dari implementasi program.


(21)

BAB 2

LANDASAN TEORI

2.1 Pengantar Kriptografi

Secara etimologi kata kriptografi (Cryptography) berasal dari bahasa Yunani, yaitu

kryptos yang artinya yang tersembunyi dan graphein yang artinya tulisan (Prayudi, 2005). Awal mula kriptografi dipahami sebagai ilmu tentang menyembunyikan pesan (Sadikin, 2012), tetapi seiring perkembangan zaman hingga saat ini pengertian kriptografi berkembang menjadi ilmu tentang teknik matematis yang digunakan untuk menyelesaikan persoalan keamanan berupa privasi dan otentikasi (Diffie, 1976).

Kriptografi yaitu pengamanan data atau informasi dengan menggunakan kode rahasia (secret code). Atau dapat juga diartikan sebagai metode untuk meng-enkripsi

(menyembunyikan) dan men-dekripsi (memunculkan) data atau informasi dengan bantuan kunci.

2.1.1Komponen Kriptografi

Berikut beberapa komponen dalam kriptografi menurut (Riadi, 2014) yaitu:

1. Ciphertext: merupakan suatu pesan yang telah melalui proses enkripsi atau hasil

keluaran dari proses hash kriptografi. Pesan yang terdapat pada kode text ini tidak

bisa dibaca karena tidak memiliki makna (arti).

2. Plaintext :plaintext merupakan teks asli dari pesan yang diketik serta memiliki

makna (arti) teks asli ini yang diproses menggunakan algoritma kriptografi untuk menjadi chiphertext.

3. enkripsi : merupakan pengamanan data yang dikirimkan agar terjaga


(22)

yang tidak dimengerti. Enkripsi bisa diartikan sebagai kode atau chipper. Enkripsi

merupakan suatu penyembunyian pesan.

4. Dekripsi : dekripsi merupakan kebalikan dari enkripsi. Pesan yang telah di

enkripsi akan dikembalikan kedalam bentuk aslinya, sehingga dekripsi merupakan pemunculan pesan. Algoritma yang digunakan untuk dekripsi berbeda dengan untuk enkripsi.

5. Kunci : kunci digunakan untuk proses enkripsi dan dekripsi. Kunci sendiri terbagi

menjadi 2 jenis yaitu private key (kunci rahasia) dan public key (kunci umum).

6. Cryptanalysis : dapat diartikan sebagai analisis kode atau suatu ilmu untuk

mendapatkan teks asli tanpa harus mengetahui kunci yang sah secara wajar. 7. Cryptanalysts : orang yang ahli dalam bidang analisis kriptografi atau orang yang

melakukan Cryptanalysis.

8. Cryptographic sistem atau cryptosistem : suatu fasilitas untuk mengkonversi

plaintext ke chipertext dan sebaliknya.

Proses perubahan pesan atau data dapat digambarkan sebagai berikut :

2.1.2 Algoritma Kriptografi

Algoritma kriptografi dibagi menjadi 2 bagian berdasarkan kunci yang dipakainyayaitu algoritma simetris dan algoritma asimetris (Prayudi, 2005):

a. Algoritma Simetrik (Syimetric Chipper System)


(23)

Pada algoritma simetrik ini, kunci untuk proses enkripsi dan dekripsi pada dasarnya menggunakan kunci yang sama, sehingga kunci ini sering disebut dengan secret key (kunci rahasia) sehingga harus dirahasiakan. Bila mengirim

pesan dengan menggunakan algoritma ini, si penerima pesan harus diberitahu kunci dari pesan tersebut agar bisa mendekripsikan pesan yang terkirim. Keamanan dari pesan yang menggunakan algoritma ini tergantung pada kunci. Jika kunci tersebut diketahui oleh orang lain maka orang tersebut akan dapat melakukan enkripsi dan dekripsi terhadap pesan. Contoh algoritma yang menggunakan kunci simetrik ini seperti DES, Blowfish, IDEA, twofish, MARS, 3DES, AES.

b. Algoritma Asimetrik (Assymetrick Chipper System)

Algoritma asimetrik sering juga disebut dengan algoritma kunci public, dengan arti kata kunci yang digunakan melakukan enkripsi dan dekripsi berbeda. Pada algoritma asimetri kunci terbagi menjadi dua bagian, yaitu :

1. Kunci umum (public key), kunci yang boleh semua orang tahu (dipublikasikan).

2. Kunci rahasia (private key), kunci yang dirahasiakan (hanya boleh diketahui oleh

satu orang).

Kunci-kunci tersebut berhubungan satu sama lain. Dengan kunci public orang dapat mengenkripsi pesan tetapi tidak bisa mendekripsikannya. Hanya orang yang memiliki kunci rahasia yang dapat mendekripsikan pesan tersebut. Algoritma asimetri bisa mengirimkan pesan dengan lebih aman daripada algoritma simetri.

Contoh algoritma yang mengunakan algoritma asimetris seperti Knapsac, RSA (Rivert-Shamir-Adelman), Delffie-Hellman.


(24)

2.1.3 Tujuan Kriptografi

Ada empat tujuan dasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan pada informasi seperti yang disebutkan dari sebuah blog dengan judul “Pengertian,Tujuan dan Jenis-jenis Kriptografi” (Ramdani, 2013):

a. Kerahasiaan : adalah layanan yang digunakan untuk menjaga isi dari informasi

dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.

b. Integritas data : adalah berhubungan dengan penjagaan dari perubahan data

secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.

c. Autentikasi : adalah 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. (informasi hanya dapat diakses oleh yang berhak).

d. Non-repudiasi : adalah usaha untuk mencegah terjadinya penyangkalan terhadap

pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.

2.2 jenis Serangan Terhadap Keamanan Data

Dibawah ini dijelaskan beberapa mancam jenis-jenis penyerangan yang dilakukan terhadap pesan yangsudah dienkripsi menurut sebuah blog dengan judul “ kriptografi” yang ditulis oleh (Wahyudi, 2010):


(25)

a. Chiphertext – only – attack

Penyerang hanya mendapatkan pesan yang sudah tersandikan saja. Cryipanalist hanya

mempunyai pesan teks-kode dan semuanya di enkrip dengan algoritma yang sama.

Crypanalist tidak mempunyai kunci dan teks asinya, Sebelum melakukan serangan,

kripanalis selalu membuat asumsi algoritma sandi yang digunakan dalam ciphertext

itu untuk menentukan teknik memecahkannya. Pekerjaan crypanalist yaitu

mendapatkan teks asli atau mencari kuncinya terleih dahulu.

b. Known – plaintext - attack

Penyerang mempunyai baik plaintext maupun ciphertext-nya dan berusaha untuk

mencari hubungan diantara keduanya. Biasanya dilakukan untuk menemukan kunci dan algoritma penyandiannya yang akan berguna untuk memecahkan pesan tersandi berikutnya.

c. Chosen – plaintext – attack

Penyerang memilih plaintext tertentu, yaitu plaintexts yang lebih mengarahkan ke

penemuan kunci, untuk disandikan dan mempelajari/membandingkan hasil sandinya (ciphertext). Biasanya cara ini digunakan untuk memecahkan sandi pada

metode penyandian asimetris, yang mana kripanalis biasanya telah memiliki kunci publik-nya.

d. Chosen – ciphertext – attack

Penyerang memilih ciphertext, dan kemudian melalui ciphertext itu berusaha untuk

mendapatkan plaintext yang sesuai. Biasanya dilakukan untuk menyerang kriptografi

sistem kunci publik.


(26)

1. Sniffing : Yaitu mengintip pesan (baik yang belum ataupun sudah di-enkripsi) dalam

suatu saluran komunikasi. Sniffer dapat merekam pembicaraan yang terjadi.

2. Replay attack : Jika seseorang bisa merekam pesan-pesan handshake (persiapan

komunikasi), ia mungkin dapat mengulang pesan-pesan yang telah direkam untuk menipu salah satu pihak.

3. Spoofing : Penyerang bisa menyamar menjadi orang lain. Penyerang berusaha

meyakinkan pihak-pihak lain bahwa tak ada yang salah dengan komunikasi yang dilakukan, padahal komunikasi dilakukan dengan penyerang.

4. Man in the Middle : Jika spoofing hanya menipu satu pihak, maka pada kategori ini

penyerang dapat berkuasa penuh atas jalur komunikasi dan bisa membuat berita atau informasi palsu.

2.3 Permasalahan Pada Pengiriman Password

Berikut adalah beberapa sekenario mengenai permasalahan pada pengiriman password yang tidak aman seperti yang dikutip dari makalah mengenai “Metode Autentikasi

melalui Saluran Komunikasi yang Tidak Aman” yang ditulis oleh (Karhendana, 2006).

a. Pengiriman password dalam bentuk plaintext

Dalam skema yang paling sederhana, password dikirimkan dari pengguna ke sistem dalam bentuk plainteks. Proses ini dapat dilihat pada Gambar 1. Pada gambar tersebut, Alice sebagai pengguna yang akan diautentikasi dan Bob sebagai server pengautentikasi.


(27)

Pengiriman password tersebut masih rentan terhadap serangan, karena password dikirimkan dalam bentuk plaintext sehingga penyadap dapat dengan langsung mengetahui password Alice.

b. Pengiriman password setelah melalui fungsi hash

Untuk mengatasi serangan password dalam bentuk plaintext, maka

dikembangan pengiriman password dengan memanfaatkan fungsi hash dalam

kriptografi, data yang dikirim adalah hasil keluaran dari fungsi hash / message digest terhadap password. Berikut gambar pengiriman password dalam bentuk keluaran fungsi hash

Tujuan dari pengiriman password dengan hash ini adalah untuk menyamarkan password yang dikirim ke sistem, sehingga jika terjadi penyadapan, tidak akan mudah untuk mendapatkan password aslinya. Dengan demikian, secara efektif mengurangi

Gambar 2.2 Pengiriman password dalam bentuk plaintext


(28)

Metode dengan hash tersebut juga masih rentan terhadap serangan karena

pengirim mengirimkan password dalam bentk digest, sedangkan server hanya

menyimpan daftar password yang valid, sehingga untuk melakukan proses autentikasi

server harus melakukan hashing dari password tersebut. Serangan yang ada yaitu jika

ada penyerang yang mengaku sebagai server maka penyerang tersebut dapat

mengakses semua daftar password klien.

c. Pengiriman password menggunakan fungsi hash dan verifikasi password dalam

bentuk digest

Untuk menghindari terjadinya penyusupan seperti pada poin sebelumnya maka password perlu disimpan dalam bentuk message digest bukan dalam bentuk aslinya.

Metode ini akan menghindarkan penyusup mendapatkan password asli, tetapi hanya akan mendapatkan message digest dari password tersebut. Berikut gambar

penyimpanan password menggunkaan message digest

Dengan menggunakan cara ini, jika terjadi penyadapan, maka penyadap hanya akan mendapatkan message digest dari password dan tidak akan mendapat password


(29)

aslinya. Namun skema ini masih rentan terhadap jenis serangan replay attack. Replay attack adalah suatu bentuk serangan pada jaringan komunikasi di mana pengiriman data yang valid disadap oleh pihak yang tidak sah, kemudian data tersebut dikirimkan ulang atau ditunda pengirimannya. Ilustrasi serangan replay attack dapat dilihat pada gambar dibawah ini.

Walaupun penyerang hanya mendapatkan message digest dari korban ia dapat

bertindak sebagai korban dengan mengirimkan kembali message digest tersebut pada

server.

d. Pengiriman password dengan satukali hash

Pada ilustrasi sebelumnya, dapat dilihat bahwa walaupun Eve hanya berhasil mendapatkan message digest dari password Alice, ia masih dapat mendapatkan akses dari Bob dengan mengirimkan kembali message digest tersebut. Bob akan mengira Eve adalah Alice dan verifikasi password dianggap berhasil. Oleh karena itu, dikembangkanlah sebuah skema perbaikan dari skema sebelumnya. Skema ini memanfaatkan nonce (number used once). Nonce adalah bilangan yang hanya


(30)

(pseudorandom) yang dikirimkan sebagai challenge oleh pihak yang akan mengautentikasi. Nonce yang digunakan setiap kali akan berbeda dengan sebelumnya. Ketika menerima nonce, pihak yang ingin diautentikasi harus mengirim jawaban sesuai nonce yang diterima. Dengan demikian, jawaban dari Alice akan berbeda-beda tergantung nonce yang diterimanya. Sehingga, penggunaan nonce akan menghilangkan kerentanan terhadap replay attack.

Bob mengirimkan nonce sebagai challenge. Alice kemudian menjawab dengan mengirimkan hasil hash dari password Alice yang sudah disambung atau dikonkatenasi dengan nonce yang dikirim oleh Bob. Karena sifat fungsi hash kriptografis yang keluarannya akan berubah drastis begitu masukannya berubah, maka setiap nonce yang berbeda akan menghasilkan keluaran yang berbeda pula ketika disambung dengan password asli.

Cara ini dapat menghilangkan kerentanan terhadap replay attack. Namun, skema ini memiliki kelemahan, yaitu Bob harus menyimpan daftar password dalam bentuk asli atau plainteks. Seperti telah dijelaskan sebelumnya bahwa menyimpan password dalam bentuk plainteks sangat beresiko jika terjadi penyusupan ke dalam sistem. Jika seseorang berhasil menyusup atau mengambil alih Bob, maka penyusup tersebut kemungkinan dapat mengakses daftar password milik semua orang.


(31)

e. Pengiriman password dengan dua kali hash

Ini adalah perbaikan dari pengiriman password dengan satu kali hash dengan

melakukan hashing antara password yang telah di hash dengan challenge. Dalam

metode ini server akan menyimpan password dalam bentuk message digest sehingga

akan menyulitkan terjadinya reply attack.

Proses pada sisi klien:

a. Clien menerima challenge dari server

b. Password klien dalam bentuk plaintext diproses dengan menggunkan fungsi hash

p, sehingga diperoleh H(p).

c. Hasil keluaran fungsi hash tersebut disambung atau di satukan dengan challenge

dari server sehingga diperoleh H(p) + n.

d. Hasil penyambungan teersebut dip roses dengan menggunakan fungsi hash

sehinga diperoleh H(H(p) + n).

e. Klien kemudian mengirimkan H(H(p) + n) kepada server. Gambar 2.7 Pengiriman password dengan duakali hash


(32)

Proses pada sisi server:

a. Server melakukan pencarian pada daftar password yang tersimpan dalam bentuk

digest, kemudian diperoleh H(p)

b. Digest dari password ini kemudian disambung dengan challenge yang sudah

dikirim kepada klien sehingga diperoleh H(p) + n.

c. Hasil tersebut kemudian diproses menggunkan fungsi hash sehingga diperoleh

H(H(p) + n).

d. Server membandingan perhitungan H(H(p) + n) dari klien, jika keduanya sama

berarti klien merupakan orang yang autentik/tepat.

2.4 Autentikasi

Autentikasi berhungungan dengan pengenalan identitas seseorang, menyangkut hak akses yang dimiliki pada saat memasuki sistem. Hasil dari protocol autentikasi adalah berupa penerimaan identitas dari satu pihak yang dikenal, atau penolakan identitas dari pihak yang tidak dikenal. Jadi autentikasi adalah menentukan seseorang atau sesuatu tersebut adalah benar-benar merupakan orang atau sesuatu yang tepat. Faktor autentikasi merupakan suatu informasi yang digunakan untuk mengidentifikasi identitas seseorang untuk keamanan.

Faktor-faktor autentikasi dapat meliputi : 1. Sesuatu yang dimiliki pengguna

Misalkan : ID cart, kartu kredit, telepon seluler. 2. Sesuatu yang diketahui pengguna

Misalkan : password, PIN (Personal Identification Number) 3. Sesuatu yang ada pada pengguna


(33)

2.4.1 Sistem autentikasi

Sistem autentikasi ini terdiri dari 2 entitas yaitu klien dan server. Klien akan

menerima serial number/user id dan PIN yang akan digunakan untuk menghasilkan kode

hash. Sedangan server bertugas melakukan pengiriman challenge yang berupa angka random,

menghitung nilai dari angka random tersebut, dan melakuan autentikasi terhadap klien.

Keamanan sistem one way hash function yaitu fungsi hash yang dihasilkan tidak bisa

dibalikan (non-invertability). Oleh sebab itu, baik klien maupun server harus menggunakan

algoritma yang sama untuk dapat saling beroperasi.

Berikut ilustrasi gambar yang menjelaskan tentang autentikasi dari sisi klien dan juga sisi server dengan sistem challenge response yang akan menghasilkan nilai hash yang

iterative.


(34)

Pertama kali user melakukan “koneksi” yaitu dengan proses login. Setelah user memasukan nama login user, maka server akan mencari user pada basis data dan

mengirimkan challenge 5 digit. Setelah pengiriman challenge maka server akan meminta

response dari user atas challenge yang dikirimkan, user menghitung challenge tersebut dan

mengirimkan hasilnya, dengan kata lain user mengirimkan response dan server juga

menghitung nilai hash atas angka random tersebut. Setelah di dapat respons user, maka

autentikasi pihak server yaitu memeriksa respon user dan memberikan jawaban kepada klien

tentang benar atau tidaknya respons yang dikirimkan. Setelah proses pemeriksaan, maka terdapat evaluasi tentang akses atau tidaknya user berdasarkan autentikasi server.

2.5 Protokol Chalenge response

Menurut J.C.A. Van Der Lubbe dalam bukunnya yang berjudul “Basic Methods of Cryptography” Terdapat beberapa protokol dalam challenge response ini, yaitu seperti Two

Way Challenge Response, Tree Way Challenge response I, Tree Way Challenge response II.

Namun yang akan digunakan pada tugas akhir ini adalah protokol two way challenge

response.

Dalam protokol Two Way Challenge Response, misalkan entitas A memverifikasi

keaslian entitas B. A mengirimkan angka random RA (challenge) kepada B. kemudian B

akan mengola nilai RA menjadi oK(RA) (response dengan menggunkan fungsi symmetrical

one way dan kunci rahasia K. pada saat bersamaan, A juga mengelola challenge tersebut

dengan menggunakan algoritma dan kunci yang sama. Dalam hal ini A merupakan pusat komputer (server) yang menyimpan semua kunci dari klien dimana A dapat diakses oleh

semua klien yang ter-autorisasi. Berikut gambar yang menunjukan protokol Two Way


(35)

Pada gambar diatas A memverivikasi keaslian B, dan tidak sebaliknya. Dalam protokol Tree

Way Challenge Response, A akan memverifikasi keaslian B dan sebaliknya B juga akan

memverifikasi keaslian A. berikut gambaran proses pada protokol Tree Way Challenge

Response

Pada gambar diatas A dapat memastikan keaslian B dari hasil ok(RA), B tidak hanya mengembalikan hasil oK(RA) saja tetapi B juga mampu memverifikasi keaslian A dengan nilai oK(RB) yang dikembalikan oleh A. Kelemahan dari penyusunan protokol seperti di atas yaitu pada adanya reflectionattack, berikut gambarannya

Gambar 2.9 Two Way Challenge Response


(36)

Jika seorang penggangu C datang dengan mengenerate 2 session secara parallel, maka C akan dapat menyesatkan A dan dan akan meyakin kan A bahwa A sedang berkomunikasi dengan B, tetapi pada kenyataannya A sedang berkomunikasi dengan C. jika A mengirimkan Chalenge RA maka C akan menerima challenge tersebut, kemudian C akan mengembalikan

nilai RA tersebut pada A sama seperti yang dilakuakan oleh B. A mentransfer oK(RA) dan

challenge baru RA. C merespon dengan nilai oK(RA) yang sama. Hal ini akan membuktikan

bahwa sesungguhnya A tidak sedang berkomunikasi dengan B, dalam hal ini entitiy autentikasi antara klien dan server tidak dapat dijamin. Masalah ini dapat diatasi dengan

mengirimkan alamat dari A dan B.

Gambar berikut ini menunjukan hasil dari tree way challenge response II yang

tergantung dari alamat yang relevan dan sistem yang aman terhadap reflection attack. Gambar 2.11 Reflection attack


(37)

Dalam semua contoh diatas, di asumsikan bahwa sebelum proses autentikasi di inisialisasikan, A dan B telah mempunyai kunci rahasia K. pada gambar dibawah ini A dan B tidak mempunyai akses terhadap kunci rahasia untuk proses autentikasi. Dalam kasus ini terdapat pihak ke-3 yang disebut dengan Trusted Party (TP), dimana ia dapat berkomunikasi dengan A dan B menggunakan dua kunci rahasia K1 dan K2.

2.5.1 Autentikasi dengen Protokol challenge response

Proses autentikasi dengan Protokol challenge response ini akan melibatkan 2 entitas

atau pihak, dimana salah satu pihak sebagai penyedia pertanyaan (challenge) dan pihak yang

lain sebagai penjawab pertanyaan (response). Contoh sederhana dalam challenge-response

yaitu password autentikasi. Ketika seorang klien menginginkan hak akses terhadap suatu sistem, maka sistem akan mengirimkan challenge kepada klien dan kemudian klien

mengirimkan hasil (kode) yang telah diolah, kemudian sistem akan membandingkan kode tersebut dengan kode yang telah diolah oleh server. Jika hasil perbandingan tersebut sama,

maka klien bisa mendapat hak akses yang diinginkan dan sistem akan memberikan hak akses tersebut kepada klien.

Contoh challenge –response autentikasi dengan password yaitu terdapat pada Gambar 2.13 Autentikasi dengan Trusted Party


(38)

Seorang klien yang akan melakukan koneksi terhadap suatu sistem, maka klien harus memasukan serial number/user id sebelum sistem tersebut memberian hak akses terhadap klien tersebut. Proses calenge-response yang terjadi disini yaitu klien menghubungi server,

kemudian server akan mengirimkan challenge. Klien member response atas challenge

tersebut dengan menggunakan password yang dimilikinya.

Pemilihan konsep challenge-response diatas didasarkan pada efisiensi penggunaan

kunci. Pada challenge-response pihak klien hanya akan menyimpan satu kunci yaitu kunci

untuk password.

Gambar dibawah ini menunujukan proses autentikasi menggunakan protokol

challenge-response, dimana yang menjadi challenge yaitu berupa angka random.

Pada gambar diatas saat Bob hendak melakukan transaksi kepada Alice, kemudian Alice akan memberikan challenge berupa bilangan random. Bob mengolah respon atas challenge

tersebut dengan password dan bilangan random yang dimilikinnya kemudian Alice akan membandingkan hasil respon yang dikirimkan, jika hasil perbandingan sama maka Alice akan memberikan akses pada Bob untuk melakukan transaksi.


(39)

2.6 Fungsi Hash

Fungsi hash berhubungan dengan keamanan data. Fungsi hash juga dapat digunakan

untuk autentikasi dan integritas data. Fungsi hash secara efisien akan mengubah string input

dengan panjang yang tak hingga menjadi string output dengan panjang tetap yang disebut dengan nilai hash. Hash juga termasuk salah satu bentuk teknik kriptografi.

Saat ini penerapan fungsi hash dapat di jumpai pada website-website yang menyediakan layanan untuk download file ataupun program secara resmi. Hash umumnya digunakan untuk mengecek integritas dari sebuah pesan atau file. File atau pesan yang sudah berubah akan memiliki nilai hash yang berbeda. Sebagai contoh, dengan sebuah algoritma hash, pesan'hello' akan memberikan nilai hash 12345 sedangkan pesan 'hallo' memiliki nilai hash 83746. Dengan kata lain output hash dari kata 'hello' tidak akan sama dengan 'hallo'. Seperti yang kita ketahui bahwa kedua pesan tersebut hanya memiliki perbedaan sedikit saja yaitu satu huruf namun nilai hash yang dimiliki oleh kedua pesan tersebut sangat jauh berbeda.

Fungsi hash dapat digunakan sebagai :

a. Menyimpan password

Password didalam sebuah sistem dianjurkan untuk disimpan dengan menggunakan fungsi hash. Dengan demikian administrator sistem tersebut sekalipun tidak akan dapat melihat atau menggunakan password user yang telah menjadi membernya. Hal ini akan memberikan impact yang baik kepada user bahwa baik sistem maupun administrator sangat menghargai privasi dari anggotanya. Selain itu pula, jika database password pengguna, dengan cara tertentu dapat diakses oleh publik, maka siapapun tetap tidak langsung dapat menggunakan password tersebut.


(40)

Penggunaan Hash sebagai sidik jari pesan (message fingerprint) digunakan untuk

mengecek apakah file yang kita simpan masih sesuai dengan file asli ketika hash file tersebut dibuat dan belum berubah. Jika terdeteksi adanya file yang tidak memiliki hash yang sama dengan yang telah dibuat sebelumnya, maka dapat dipastikan bahwa file tersebut telah berubah.

Fungsi hash sangat sensitif terhadap perubahan pada text asli pesan, jika pesan berubah 1 bit maka nilai hash akan berubah signifikan dengan begitu, fungsi hash menjadi bagian yang sangat penting dan perlu diterapkan pada sistem keamanan data.

2.6.1 Sifat-sifat Fungsi Hash Pada Kriptografi

Berikut ini merupakan sifat-sifat yang dimiliki oleh fungsi hash sekaligus kelebihan

dari fungsi hash :

1. Tahan Preimej (preimage resistand) : bila diketahui nilai hash h maka sulit untuk

mendapatkan m dimana h=hash(m).

2. Tahan Preimej kedua (second preimage resistand) : bila diketahui input m1 maka

sulit mencari input m2 (tidak sama dengan m1) yang menyebabkan hash (m1)= hash

(m2)

3. Tahan Tumbukan (collision resistand) : sulit mencari dua inpur berbeda yaitu m1

dan m2 yang menyebabkan hash (m1)= hash (m2)

2.6.2 Fungsi Hash Satu Arah (One Way Hash Fungction)

Fungsi hash merupakan fungsi yang secara efisien merubah string input M dengan

panjang berhingga menjadi string output dengan panjang tetap yang disebut nilai hash (h).

sedangkan fungsi satu arah (One Way Fungction) adalah fungsi yang relatif mudah untuk


(41)

Fungction artinya mudah untuk menghitung nilai hash dari input string yang diberikan, tapi

sulit untuk menghasilkan string yang nilai hash nya sudah diketahui.

Fungsi hash bersifat collision free, artinya bahwa tidak akan mungkin menemukan 2

message berbeda dengan menggunakan kode hash yang sama, terdapat banyak fungsi yang

memasukan input berhingga dan mengembalikan output dengan nilai tetap, tapi ada beberapa karakteristik yang dimiliki oleh one wayhash fungction yaitu :

I. Jika diketahui nilai M, maka akan mudah untuk menghitung nilai hash (h).

II. Jika diketahui nilai hash (h), maka sulit untuk mengetahui nilai M.

III. Jika diketahui M, maka akan sulit untuk menemukan message lain M’ seperti H(M) =

H(M’)

Berikut gambaran ilustrasi dari one wayhash fungction

Pada one way hash fungction yaitu bahwa mudah untuk mengetahui nilai

output, tetapi sulit untuk mengetahui nilai input, selain itu tingkat keamanannya juga sudah tinggi sebab fungsi hash ini menggunakan sepenuhnya bilangan random.

2.6.3 Kegunaan One Way Hash Fungction

1. Challengehashautentification, merupakan cara sederhana untuk melindungi

password pada saat login.


(42)

3. Data integrity dan messageauthentication code

4. Enkripsi password

2.6.4 Kelebihan dan Kekurangan Fungsi Hash

Menurut (Pitry, 2010) kelebihan dan kekurangan pada fungsi hash adalah :

1. Kelebihan :

1. Hasil dari funsi hash panjangnya tetap, panjang masukan tidak akan

mempengaruhi panjang nilai hash.

2. Karena tidak merubah data asli maka tidak diperlukan proses dekripsi 3. Perubahan sekecil apapun pada data asli akan membuat nilai hash yang

sangat jauh berbeda (avalanche effect). Sehingga cukup mudah untuk

memeriksa keaslian.

2. Kekurangan :

a. Memiliki kemungkinan untuk terjadi bentrokan. Hal ini dapat dihindari untuk semua fungsi hash yang dibuat khusus untuk menghindari terjadinya

bentrokan.

b. Fungsi hash adalah fungsi satu arah, jadi jika kita hanya mendapatkan sebuah

nilai hash kita tidak bisa mengembalikan menjadi data asli. Hal ini dipersulit

dengan kemungkinan terjadinya bentrokan.

Tingkat keamanan suatu fungsi hash dinilai berdasarkan jumlah kemungkinan nilai hash

yaitu 2n. dengan n adalah panjang nilai hash dalam bit. Jadi semakin panjang nilai hash akan


(43)

2.6.5 Algoritma hashFungction

Fungsi hash kriptografi adalah fungsi hash yang memiliki beberapa sifat keamanan

sehingga dapat dipakai untuk tujuan kemanan data. Umumnya digunakan untuk keperluan autentikasi data, berikut beberapa algoritma fungsi hash:

Dari beberapa algoritma fungsi hash pada gambar diatas, yang akan dipakai pada tugas akhir ini adalah algoritma fungsi hash SHA-1.

2.7 Secured Hash Algorithm (Sha-1)

SHA-1 merupakan salah satu algoritma hash fungction. Sebagaimana yang dikutip

dari blog “Fungsi Hash MD5 dan SHA-1” yang ditulis oleh (Kurniawan, 2012), dijelaskan bahwa SHA dibuat berdasarkan rancangan yang serupa dengan MD4 yang dibuat oleh Prof. Ronald L. Rivest dari MIT. Algoritma SHA menerima masukan berupa pesan dengan ukuran maksimum 264 bit (2.147.483.648 gigabyte) menghasilkan message digest yang panjangnya

160 bit (20-byte) dan 40 karakter enkripsi, lebih panjang dari message digest dengan

algoritma MD5 yang hanya 128 bit.

Gambaran umum pembuatan message digest dengan algoritma SHA-1 diperlihatkan

pada gambar di bawah ini.


(44)

2.7.1 Cara Kerja SHA-1

Secara umum, tahap pembuatan messagedigest dengan SHA-1 adalah sebagai berikut :

a. Preprocessing

Pada tahap preprocessing ini terdiri dari beberapa langkah, yaitu :

1. Penambahan padding bits. Pesan ditambah dengan sejumlah padding bits sedemikian sehingga panjang pesan setelah ditambahi padding bits adalah 64 bit kurang dari kelipatan 512. Panjang padding bits haruslah berada antara 1 hingga 512 bit. Hal tersebut menyebabkan pesan dengan panjang 448 tetap harus ditambahkan bit penyangga sehingga panjangnya akan menjadi 960 bit. padding bits sendiri terdiri dari sebuah bit 1 diikuti sisanya dengan bit 0.

2. Penambahan nilai panjang pesan semula. Pesan yang telah diberi padding bits selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula. Setelah ditambah dengan 64 bit, panjang pesan akan menjadi kelipatan 512 bit.


(45)

3. Inisialisasi penyangga (buffer) message digest. Algoritma SHA-1 dalam operasinya

membutuhkan lima buah buffer yang masing-masing besarnya 32 bit sehingga nanti hasil akhirnya akan menjadi 160 bit. Kelima buffer tersebut dalam operasi SHA-1 ini akan berperan untuk menyimpan hasil antar putaran sekaligus untuk menyimpan hasil akhir. Kelima buffer tersebut memiliki nama A, B, C, D ,dan E. Buffer-buffer tersebut harus diinisialisasi dengan nilai-nilai sebagai berikut (dalam notasi heksadesimal):

A = 67452301 B = EFCDAB89 C = 98BADCFE D = 10325476 E = C3D2E1F0

B.Hashing

Proses hashing dilakukan per blok dengan besar 512 bit tiap bloknya.

Dalam pengolahan ini terdapat 4 putaran yang tiap putarannya dilakukan sebanyak 20 kali. Tiap putaran memiliki proses yang berbeda – beda. Sebelum putaran pertama dilakukan inisialisasi 5 buah variable dengan besar 32 bit yang menampung buffer inisialisasi.


(46)

Pesan dibagi menjadi L buah blok yang masing-masing panjangnya 512 bit. Setiap blok 512-bit diproses bersama dengan buffer MD menjadi keluaran 128-bit. Proses tersebut disebut proses HSHA . Proses HSHA terdiri dari 80 buah putaran dengan setiap putarannya dilakukan hal seperti gambar di atas.

Pada gambar, Yang menyatakan blok 512-bit ke-q dari pesan yang telah ditambah padding bits dan tambahan 64 bit nilai panjang pesan semula. MDq adalah nilai message digest 160-bit dari proses HSHA ke-q. Pada awal proses, MDq berisi

nilai inisialisasi buffer MD. Setiap putaran menggunakan operasi dasar yang sama (dinyatakan sebagai fungsi f).

Operasi dasar SHA yang diperlihatkan pada gambar diatas dapat ditulis dengan persamaan sebagai berikut:

a, b, c, d, e = (CLS (a) + f(b, c, d) + e + W + K), a, CLS (b), c, d Gambar 2.18 Proses hashing


(47)

yang dalam hal ini,

a, b, c, d, e = lima buah pengubah penyangga 32-bit (berisi nilai penyangga A, B, C, D, E) t = putaran, 0 ≤ t ≤ 79

ft = fungsi logika

CLSs = circular left shift sebanyak s bit

Wt = word 32-bit yang diturunkan dari blok 512 bit yang sedang diproses

Kt = konstanta penambah


(48)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Sistem keamanan pada transaksi online misalnya e-banking biasannya menggunakan

PIN sebagai password, contoh yaitu transaksi perbankan lewat internet. Transaksi ini melibatkan klien (nasabah bank) dan bank (server autentikasi). Proses autentikasi transaksi

keuangan tersebut dengan menggunakan perhitungan sebagai berikut :

1. Klien berkomunikasi dengan sistem autentikasi pada bank dengan menggunakan

server side autentification (situs web dari bank yang dituju). Hal ini menjamin bahwa

klien akan berkomunikasi dengan bank yang sah.

2. Klien memasukan informasi berupa identitas (login id) yaitu berupa serial number, yang selanjutnya bank akan memeriksa dalam data base atas keberadan serial number tersebut. Dan selanjutnya bank akan memberikan angka random sebagai tantangan (challenge), dan meminta jawaban (response) dari angka random tersebut.

3. Klien membuka aplikasi kalkulator sederhana dan memasukan angka random tersebut, dimana sebelumnya user harus memasukan password yang akan digunakan untuk proses pengolahan hash.

4. Selanjutnya aplikasi kalkulator tersebut akan melakukan proses perhitungan hash

yaitu hashing antara password yang sudah ter hash dengan challenge angka random

dari bank.

5. Setelah selesai proses kalkulasi, aplikasi tersebut akan menghasilkan satu bilangan yang akan disebut dengan hash kode atau nilai hash.

6. Klien memasukan hasil perhitungan (nilai hash) tersebut kedalam form web untuk


(49)

7. Server autentikasi pada bank akan melakukan autentikasi dengan membandingan hasil

hash kode dari klien dengan hasil hash kode yang juga dihitung oleh server bank.

8. Jika kedua hash kode tersebut identik (sama) maka klien dapat melakukan transaksi

selanjutnya.

Dalam kasus autetikasi ini, bank akan selalu memberikan tantangan (challenge)

berupa angka random kepada setiap klien yang login. Setiap kali klien login, maka challenge


(50)

yang dihasilkan juga akan selalu berubah. Sehingga akan sedikit sekali kemungkinan sistem ini terbongkar. Hal ini merupakan sifat dari one time pad.

a. Diagram Usecase

Gambar 3.2 Diagram usecase

Dari gambar diagram diatas dapat diketahui bahwa terdapat 2 entitas yaitu klien dan bank.

Secara umum, klien harus login terlebih dahulu sebelum masuk kesistem, setelah login maka klien akan menerima challenge, menghitung nilai hash dan memberikan response atas

challenge yang diberikan bank. Sedangkan bank bertugas untuk mengirimkan challenge,


(51)

b. Entity Relational Diagram

Pada sistem autentikasi klien hanya memiliki satu entitas yaitu Entitas klien yang tersimpan dalam database tersebut mempunyai atribut Password (sebagai Preimary Key), atribut gagal yang berfungsi untuk mencatat berapakali user gagal dalam memberikan respon, jika lebih dari 4 kali maka akun user akan di blok, atribut curtime berfungsi untuk mencatat di menit keberapa terakhir user melakukan kesalahan dalam memberi respon. Terdapat pula atribut user_id,nama, dan alamat. Klien hanya memasukan serial number kedalam sistem, sedangkan password dimasukkan untuk proses perhitungan kode hash.

User_id gagal Password(Primary key) Nama Alamat

105314001 0 b148a76bf4a8fe57e882234a97fc4af5e3438f93 Yosafat M R Pts 123456701 0 a7a6265254d36d6c8abf7ca3cdec407bd06cffc3 Analleli Calvillo Arizona 123456702 0 d7cdf09fc0f0426e98c9978ee42da5d61fa54986 Zachary Smith Misisipi

Tabel 3.1 Relational Model Klien

Dari table diatas, password klien akan tersimpan dalam bentuk digest pada database bank.

Untuk melakukan proses hashing maka klien memasukan password aslinya, sedangkan pihak

bank melakukan proses hashing dengan mengambil password klien yang sudah ter-signature. Gambar 3.3 Entitiy Relational Diagram


(52)

Dalam hal ini, proses hasing dari pihak klien maupun pihak bank dengan menggunakan

password yang sudah tersignature.

c. Data Flow Diagram

Penggunaan sistem autentikasi klien dapat dimodelkan dengan DFD sebagai berikut 1. Diagram konteks

Klien memasukan data berupa serial number, dari serial number tersebut maka klien dapat masuk kedalam sistem autentikasi klien. Sistem akan memberikan tantangan dan akan menghasilkan nilai hash. Sistem akan memberikan konfirmasi atas nilai hash tersebut.

Berikut gabaran sistem yang akan dibangun yaitu dengan menggunakan konfigurasi topologi STAR, dimana terdapat satu buah pusat sebagai bank dan ada banyak klien yang dapat mengakses bank tersebut, diantara klien satu dan lainnya tidak dapat terhubung sehingga jika ada satu pihak klien mengalami kesulitan maka hal ini tidak akan mengganggu akses klien yang lainnya.


(53)

2. Diagram Berjenjang

dari diagram berjenjang tersebut, diketahui terdapat 1 level yaitu proses login, mengirim challenge, mengolah hash, dan autentikasi klien.

Gambar 3.6 Diagram berjenjang sistem autentikasi klien


(54)

3.2 Analisa Teknologi

Perangkat keras (hardware) dan perangkat lunak (software) yang digunakan untuk pembuatan sistem ini yaitu :

1. Hardware :

 Prosesor : Intel® Core™ i5-4200U, 1.60 GHz

 Harddisk : 128 GB (Solid State Drive)

 Memory : 4GB

2. Sofware :

 Sistem Operasi : Windows 8 Single Language 64-bit

 Bahasa Pemrograman : Bahasa pemrograman java, NetBeans IDE 8.0.1, MYSQL, php apache

3.3 Perancangan Sistem

Terdapat 2 buah sistem aplikasi yang dibangun yaitu sistem aplikasi kalkulator hash


(55)

3.3.1 Aplikasi kalkulator hash sederhana

Aplikasi ini digunakan untuk memproses bilangan challenge yang diberikan bank kepada

klien dan hasil dari aplikasi ini berupa kode hash SHA1 yang akan digunakan sebagai

response kepada bank. Form kalkulator ini di isi oleh klien dengan memasukan user_id,

password dan challenge.Pada aplikasi kalkulator ini, penulis menggunakan listing program

yang bersumber dari sebuah web yang ditulis oleh (Roy Abubakar,2013) “SHA-1

implementation in Java”.

Keterangan gambar

*User ID : tempat (text field) untuk mengisi nomor user id klien *Password : tempat untuk klien memasukan passwordnya

*Challenge : tempat untuk klien memasukan nilai challenge yang diberikan oleh bank

untuk autentikasi


(56)

*Hitung : tombol yang digunakan untuk menghitung masukan nilai yang di isi oleh klien sesuai dengan nama text field yang ada yaitu User ID, Password, dan

Challenge yang akan diolah menjadi response.

3.3.2 Form login

Form ini muncul pada situs web yang dijalankan dan melalui ini jika klien ingin

masuk kedalam suatu sistem transaksi, klien hanya cukup memasukkan nomor user id/nomor pengguna saja. Berikut tampilan untuk form login.

Keterangan gambar

*nomor pengguna : merupakan text field untuk memasukkan user id dari klien yang hendak login untuk melakukan transaksi.

*Masuk : tombol yang digunakan untuk proses login klien, jika proses login berhasil maka selanjutnya akan menuju form challenge

untuk proses autentikasi. Gambar 3.8 Tampilan form login


(57)

*About : link menuju halaman tentang web.

3.3.3 Form challenge

Pada form ini klien akan menerima challenge dari bank berupa angka random, dan

kemudian klien akan memasukkan nilai response yang telah di hitung menggunakan

aplikasi SHA1 kalkulator.

Keterangan gambar

*53760 : 53760 merupakan salah satu contoh angka random yang diberikan

oleh bank sebagai challenge pada klien.

*Masukan Response : text filed untuk klien memasukkan hasil response dari challenge

yang diberikan oleh bank

*Submit : tombol yang digunakan untuk mengirimkan hasil response, dan jika

hasil response yang dihitung oleh klien sesuai dengan hasil

perhitungan bank, maka klien tersebut merupakan orang yang sudah Gambar 3.9 Tampilan form challenge


(58)

teridentifikasi sebagai pemilik akun dan dapat melakukan transaksi selanjutnya

BAB 4


(59)

Dari hasil perancangan yang telah dilakukan maka berikut langkah-langkah untuk proses autentikasi :

4.1 Implementasi Program

Aplikasi yang dibangun dalam Tugas Akhir ini adalah mencangkup 2 sistem, yaitu : 1. Aplikasi kalkulator hash SHA1


(60)

4.1.1 Aplikasi kalkulator hash SHA1

Aplikasi kalkulator ini ditangani oleh java dan digunakan untuk mengolah

challenge yang server berikan. Dengan aplikasi ini klien memasukan User ID,

Password, dan Challenge kemudian dengan menekan tombol Hitung maka

kalkulator akan melakukan proses perhitungan hashing untuk mendapatkan

response dan hasil dari perhitungan kalkulator tersebut kemudian disalin kedalam

field response pada web untuk proses autentikasi

Keterangan gambar 4.2

*105314001 : pada field user_id terdapat nomor 105314001 dan nomor ini merupakan

salah satu contoh nomor id klien yang harus di inputkan. Gambar 4.2 SHA1 Kalkulator


(61)

*Password : terdapat filed password dimana klien akan memasukan password sesuai

dengan yang terdaftar di bank. Password yang di inputkan atau dimiliki klien bisa huruf maupun angka.

*085353 : pada field challenge, klien harus mengisinya berdasarkan tantangan yang

diberikan oleh bank, dan pada gambar diatas tantangan yang diberikan adalah 085353.

Source code tampilan diatas untuk proses hashing yaitu

4.1.2 User Interface Web


(62)

Implementasi User Interface berupa Web meliputi halaman Web untuk proses

login (login.php), halaman untuk autentikasi (challenge.php) dan halaman tentang

Web yang berisi data penulis (about.php)

A.Halaman Login (login.php)

Keterangan gambar 4.4

Pada gambar diatas, klien akan diminta untuk memasukan nomor pengguna dan 105314001 merupakan contoh nomor pengguna yang akan dimasukkan. Selain itu pada saat pengisian nomor pengguna, klien hanya dapat memasukan karakter berupa nomor saja.

Pada halaman ini jika klien ingin melakukan login maka akan memerlukan koneksi.php yang berfungsi untuk melakukan koneksi ke database server.

Source code koneksi.php


(63)

Proses login ini hanya dengan memasukkan user id/nomor pengguna. Dari hasil tersebut maka bank akan memeriksa nomor pengguna yang dimasukkan, jika nomor sudah terdaftar maka bank akan memberikan challenge/tantangan pada klien yang login. Tetapi, jika nomor

pengguna yang dimasukkan klien tidak terdaftar maka bank akan memberikan peringatan bahwa nomor pengguna yang dimasukan salah atau tidak terdaftar.

Keterangan gambar 4.6

Jika klien salah dalam memasukkan nomor pengguna maka akan muncul peringatan seperti gambar diatas bahwa “nomor pengguna anda salah atau tidak terdaftar !” dan klien diminta untuk memasukan kembali nomor yang benar.

Source code untuk login.php :

Gambar 4.5 Source code koneksi.php


(64)

(65)

B.Halaman challenge (challenge.php)

Gambar 4.8 Halaman Challenge

Keterangan gambar 4.8

halaman ini tampil jika klien telah login, klien akan diberikan challenge/tantangan berupa

angka random “80301” yang harus diolah menggunakan kalkulator SHA1. Pada halaman ini, klien juga akan dibatasi dalam memasukan karakter inputan yaitu hanya dapat di isi oleh karakter angka dan huruf saja.


(66)

Source code untuk menampilkan nomor random :

Setelah klien menghitung challenge maka klien harus memasukkan hasil hash (response)

tersebut kedalam field response dan menekan tombol Submit. Setelah tombol submit ditekan

maka bank akan melakukan verifikasi terhadap response yang diberikan klien dan jika

hasilnya benar maka klien akan diberikan hak akses untuk melakukan transaksi, namu jika salah maka bank akan memberikan peringatan bahwa hasil response salah.

Keterangan gambar 4.10

Gambar 4.9 source code rand.php


(67)

Gambar diatas menerangkan jika hasil respon yang diberikan oleh klien salah maka sistem akan meminta klien untuk keluar dan mengulangi kembali proses autentikasi dengan

challenge yang berbeda namun jika klien salah lebih dari 4 kali dalam memberi respon pada

bank, maka pihak bank akan memblok akun dari klien yang bersangkutan guna keamanan dan jika klien tersebut mencoba untuk login maka akan diberi peringatan seperti pada gambar dibawah ini

Gambar 4.11 peringatan bahwa akun di blok Keterangan gambar 4.11

Pada gambar diatas terdapat pesan “akun anda di blok, silahkan hubungi pihak bank” dan untuk dapat login serta melakukan transaksi kembali maka klien yang bersangkutan harus menghubungi pihak bank.


(68)

Keterangan gambar 4.12

Gambar diatas merupakan tampilan hasil autentikasi pada klien yang berhasil masuk/login pada sistem transaksi. Jika klien telah melalui tahap autentikasi dan berhasil masuk maka klien dapat melakukan transaksi yang di inginkan. Jika klien sudah melakukan proses transaki dan untuk keluar dari sistem maka tersedia link “Keluar” untuk keluar/logout dari sistem transaksi.

Source code untuk tombol submit :

Jika klien yang telah login ingin masuk dengan nomor pengguna/akun yang sama tanpa logout terlebih dahulu maka sistem akan memberikan peringatan seperti gambar dibawah ini

Gambar 4.14 peringatan sistem bahwa akun sudah login


(69)

Keterangan gambar 4.14

Peringatan seperti pada gambar diatas akan muncul jika klien ingin melakukan dua session login dengan satu user_id secara bersamaan. Ketentuan ini bertujuan untuk meningkatkan keamanan pada sistem agar akun/user_id yang sudah login tidak dapat disusupi penyerang dari perangkat yang berbeda pada saat sedang login.

C.Halaman About (about.php)

Keterangan gambar 4.15

Pada halaman about.php ini berisi tentang data penulis Gambar 4.15 Halaman about


(70)

BAB 5

ANALISA DAN KESIMPULAN

5.1 Analisa Hasil Program

Dari hasil implementasi diatas, maka dapat dilakukan analisa sebagai berikut : Kelebihan:

1. SHA-1 dapat di imlementasikan sebagai penunjang sistem autentikasi pada klien dengan menggunkan protokol challenge response.

2. Dengan menggunakan protokol challenge response maka klien yang login akan terhindar dari pengiriman password dalam bentuk plain-text.

3. Bilangan random yang dijadikan challenge akan selalu berubah tiap terjadi kesalahan

dalam proses autentikasi dan bilangan yang dihasilkan selalu acak sehingga kemungkinan untuk kemunculan tiap bilangan yang sama sangat kecil..

4. Hasil hash yang dihasilkan menggunakan algoritma SHA-1 terdiri dari 40 digit bilangan heksadesimal, akan tetapi yang diambil untuk dijadikan response adalah 3

digit bilangan awal dan 3 digit bilangan akhir saja. Hal ini dapat mempermudah user dalam melakukan response serta akan lebih mempersulit terpecahkannya key yang digunakan sebagai response sebab adanya kombinasi bilangan yang unik sesuai kesepakatan klien dan server yaitu hanya menggunakan 3 digit bilangan awal dan 3

digit bilangan akhir dari keseluruhan 40 digit bilangan heksadesimal yang ada.

5. klien tidak dapat melakukan login dengan dua session login menggunakan user_id yang sama secara bersamaan, jika klien ingin login menggunkan perangkat yang berbeda maka klien harus logout terlebih dahulu.

6. Jika klien yang ingin melakukan transaksi salah memberi respon sebanyak lebih dari 4 kali maka akun klien tersebut akan di blok dan klien yang bersangkutan harus menghubungi pihak bank atau menunggu terlebih dahulu selama 5 menit, hal ini


(71)

bertujuan agar akun klien terhindar dari penyerang atau orang lain yang mencoba masuk menggunakan id klien.

7. Adannya batasan karakter yang di inputkan oleh klien sehingga pada kolom nomor pengguna klien hanya dapat memasukan karakter berupa angka dan pada kolom

challenge klien hanya dapat memasukan karakter angka dan huruf saja.

Kekurangan:

1. Dalam kasus ini hanya pihak bank yang dapat melakukan autentikasi pada klien. Pihak klient tidak dapat melakukan autentikasi terhadap pihak bank.

5.2 Kesimpulan

Kesimpulan dari pembuatan sistem autentikasi dengan menggunakan challenge

response ini yaitu :

1. Sistem autentikasi ini menerapkan protokol challenge response sehingga user dapat terhindar dari pengiriman password secara langsung dan challenge yang dihasilkan selalu berubah-ubah.

2. Tidak terdapat reflection attack pada penerapan program sebab dalam hal ini hanya

pihak server yang berhak memberikan tantangan.

3. Adanya ketentuan dimana klien tidak dapat login dengan satu user_id secara bersamaan serta batasan dimana jika klien salah member respon sebanyak lebih dari 4 kali, maka hal ini dapat menyulitkan penyerang yang ingin mengambil ahli akun klien yang bersangkutan. Dengan diterapkannya aturan tersebut maka sistem ini akan semakin baik.


(72)

4. Klien tidak dapat memasukkan karakter selain angka pada kolom nomor pengguna dan pada kolom challenge klien hanya dapat memasukan angka dan huruf, aturan ini

dibuat agar dapat terhindar dari SQL injection.

Demikian analisa dan kesimpulan yang dikemukakan oleh penulis dan untuk kedepannya diharapkan program ini dapat dikembangkan lagi menjadi lebih baik serta dapat berguna terutama dalam bidang ilmu kriptografi yang menunjang penulisan skripsi ini serta dapat menambah wawasan pembaca.


(73)

DAFTAR PUSTAKA

Muchlisin Riadi. 2014.Pengertian, Sejarah dan Jenis Kriptografi, (Online)

(http://www.kajianpustaka.com/2014/01/pengertian-sejarah-dan-jenis-kriptografi.html. diakses 4 Januari 2015).

Prayudi, Yudi, Idham Halik. 2005. Studi Analisis Algoritma Rivest Code 6 (RC6) Dalam Enkripsi/Dekripsi Data. Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005), Yogyakarta.

Sadikin, Rifki. 2012. Kriptografi untuk Keamanan Jaringan dan Implementasinya dalam Bahasa Java. Penerbit Andi, Yogyakarta.

Diffie, Whitfield, Martin E Hellman. 1976. New Directions in Cryptography. IEEE Trans. Info. Theory IT-22.

Gilang Kurniawan. 2012. Kriptografi #2 (Macam-macam Algoritma Kriptografi), (Online),

(

http://gilang-kurniawan.blogspot.in/2012/05/kriptografi-2-macam-macam-algoritma.html. diakses 4 Januari 2015)

Irpan Ramdani. 2012. Pengertian,Tujuan,dan Jenis-jenis Kriptografi, (Online),

(http://irpantips4u.blogspot.in/2012/11/pengertian-tujuan-dan-jenis-jenis.html. diakses 5 Januari 2015).

Indra Irawan Wahyudi. 2010. kriptografi, (Online),

(https://stenzweb.wordpress.com/2010/05/06/kriptografi/. Diakses 7 Januari 2015).

Arie Karhendana. 2006. Metode Autentikasi melalui Saluran Komunikasi yang Tidak Aman, (Online), (

http://informatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi/2006-2007/Makalah2/Makalah-023.pdf. diakses 7 Januari 2015)


(74)

Fathur Rohman. 2010. Apaan sich Proses Autentikasi?, (Online),

(http://kakakung.blogspot.in/2010/04/bagaimana-sich-proses-autentikasi.html.

diakses 8 Januari 2015)

J.C.A. Van Der Lubbe, “Basic Methods of Cryptography”, Cambridge University Press, NY, USA, ISBN: 0- 521-55559

Hari Susanto. 2013. Fungsi Hash (Teknik Kriptografi), (Online), ( http://hari-cio-8a.blog.ugm.ac.id/2013/03/22/fungsi-hash-teknik-kriptografi/. Diakses pada 4 Januari 2015).

Pitry. 2010. Sekurity Komputer_Kriptografi, (Online),

(http://mbakipit.blogspot.com/2010/03/sekuriti-komputerkriptografi_14.html. diakses pada 4 januari 2015).

Ivan Kurniawan, 2012. Fungsi Hash MD5 dan SHA-1, (Online),

(http://studyinformatics.blogspot.in/2012/07/fungsi-hash-md5-dan-sha-1.html.

diakses 9 Januari 2015)

Roy Abubakar,2013. SHA-1 implementation in Java,

(Online),(http://www.royabubakar.com/blog/2013/10/05/sha-1-implementation-in-java/.

Diakses pada 12 Februari 2015).

Zainal Hakim.2013.Membuat input hanya angka atau huruf tertentu,(Online), (http://www.zainalhakim.web.id/posting/membuat-input-hanya-angka-atau-huruf-tertentu.html.Diakses pada 27 Juni 2015).


(1)

Keterangan gambar 4.14

Peringatan seperti pada gambar diatas akan muncul jika klien ingin melakukan dua session

login dengan satu user_id secara bersamaan. Ketentuan ini bertujuan untuk meningkatkan

keamanan pada sistem agar akun/user_id yang sudah login tidak dapat disusupi penyerang

dari perangkat yang berbeda pada saat sedang login.

C.Halaman About (about.php)

Keterangan gambar 4.15

Pada halaman about.php ini berisi tentang data penulis


(2)

BAB 5

ANALISA DAN KESIMPULAN

5.1 Analisa Hasil Program

Dari hasil implementasi diatas, maka dapat dilakukan analisa sebagai berikut :

Kelebihan:

1. SHA-1 dapat di imlementasikan sebagai penunjang sistem autentikasi pada klien

dengan menggunkan protokol challenge response.

2. Dengan menggunakan protokol challenge response maka klien yang login akan

terhindar dari pengiriman password dalam bentuk plain-text.

3. Bilangan random yang dijadikan challenge akan selalu berubah tiap terjadi kesalahan dalam proses autentikasi dan bilangan yang dihasilkan selalu acak sehingga

kemungkinan untuk kemunculan tiap bilangan yang sama sangat kecil..

4. Hasil hash yang dihasilkan menggunakan algoritma SHA-1 terdiri dari 40 digit

bilangan heksadesimal, akan tetapi yang diambil untuk dijadikan response adalah 3 digit bilangan awal dan 3 digit bilangan akhir saja. Hal ini dapat mempermudah user

dalam melakukan response serta akan lebih mempersulit terpecahkannya key yang

digunakan sebagai response sebab adanya kombinasi bilangan yang unik sesuai

kesepakatan klien dan server yaitu hanya menggunakan 3 digit bilangan awal dan 3 digit bilangan akhir dari keseluruhan 40 digit bilangan heksadesimal yang ada.

5. klien tidak dapat melakukan login dengan dua session login menggunakan user_id

yang sama secara bersamaan, jika klien ingin login menggunkan perangkat yang

berbeda maka klien harus logout terlebih dahulu.


(3)

bertujuan agar akun klien terhindar dari penyerang atau orang lain yang mencoba

masuk menggunakan id klien.

7. Adannya batasan karakter yang di inputkan oleh klien sehingga pada kolom nomor

pengguna klien hanya dapat memasukan karakter berupa angka dan pada kolom

challenge klien hanya dapat memasukan karakter angka dan huruf saja.

Kekurangan:

1. Dalam kasus ini hanya pihak bank yang dapat melakukan autentikasi pada klien. Pihak

klient tidak dapat melakukan autentikasi terhadap pihak bank.

5.2 Kesimpulan

Kesimpulan dari pembuatan sistem autentikasi dengan menggunakan challenge

response ini yaitu :

1. Sistem autentikasi ini menerapkan protokol challenge response sehingga user dapat

terhindar dari pengiriman password secara langsung dan challenge yang dihasilkan

selalu berubah-ubah.

2. Tidak terdapat reflection attack pada penerapan program sebab dalam hal ini hanya pihak server yang berhak memberikan tantangan.

3. Adanya ketentuan dimana klien tidak dapat login dengan satu user_id secara

bersamaan serta batasan dimana jika klien salah member respon sebanyak lebih dari 4

kali, maka hal ini dapat menyulitkan penyerang yang ingin mengambil ahli akun

klien yang bersangkutan. Dengan diterapkannya aturan tersebut maka sistem ini akan


(4)

4. Klien tidak dapat memasukkan karakter selain angka pada kolom nomor pengguna

dan pada kolom challenge klien hanya dapat memasukan angka dan huruf, aturan ini

dibuat agar dapat terhindar dari SQL injection.

Demikian analisa dan kesimpulan yang dikemukakan oleh penulis dan untuk

kedepannya diharapkan program ini dapat dikembangkan lagi menjadi lebih baik serta dapat

berguna terutama dalam bidang ilmu kriptografi yang menunjang penulisan skripsi ini serta


(5)

DAFTAR PUSTAKA

Muchlisin Riadi. 2014.Pengertian, Sejarah dan Jenis Kriptografi, (Online)

(http://www.kajianpustaka.com/2014/01/pengertian-sejarah-dan-jenis-kriptografi.html. diakses 4 Januari 2015).

Prayudi, Yudi, Idham Halik. 2005. Studi Analisis Algoritma Rivest Code 6 (RC6) Dalam Enkripsi/Dekripsi Data. Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005), Yogyakarta.

Sadikin, Rifki. 2012. Kriptografi untuk Keamanan Jaringan dan Implementasinya dalam Bahasa Java. Penerbit Andi, Yogyakarta.

Diffie, Whitfield, Martin E Hellman. 1976. New Directions in Cryptography. IEEE Trans. Info. Theory IT-22.

Gilang Kurniawan. 2012. Kriptografi #2 (Macam-macam Algoritma Kriptografi), (Online), (

http://gilang-kurniawan.blogspot.in/2012/05/kriptografi-2-macam-macam-algoritma.html. diakses 4 Januari 2015)

Irpan Ramdani. 2012. Pengertian,Tujuan,dan Jenis-jenis Kriptografi, (Online),

(http://irpantips4u.blogspot.in/2012/11/pengertian-tujuan-dan-jenis-jenis.html. diakses 5 Januari 2015).

Indra Irawan Wahyudi. 2010. kriptografi, (Online),

(https://stenzweb.wordpress.com/2010/05/06/kriptografi/. Diakses 7 Januari 2015).

Arie Karhendana. 2006. Metode Autentikasi melalui Saluran Komunikasi yang Tidak Aman,

(Online), (

http://informatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi/2006-2007/Makalah2/Makalah-023.pdf. diakses 7 Januari 2015)

Lamport, Leslie. Password autenthication with insecure communication. Communication of the ACM: 1981


(6)

Fathur Rohman. 2010. Apaan sich Proses Autentikasi?, (Online),

(http://kakakung.blogspot.in/2010/04/bagaimana-sich-proses-autentikasi.html. diakses 8 Januari 2015)

J.C.A. Van Der Lubbe, “Basic Methods of Cryptography”, Cambridge University Press, NY, USA, ISBN: 0- 521-55559

Hari Susanto. 2013. Fungsi Hash (Teknik Kriptografi), (Online), ( http://hari-cio-8a.blog.ugm.ac.id/2013/03/22/fungsi-hash-teknik-kriptografi/. Diakses pada 4 Januari 2015).

Pitry. 2010. Sekurity Komputer_Kriptografi, (Online),

(http://mbakipit.blogspot.com/2010/03/sekuriti-komputerkriptografi_14.html. diakses pada 4 januari 2015).

Ivan Kurniawan, 2012. Fungsi Hash MD5 dan SHA-1, (Online),

(http://studyinformatics.blogspot.in/2012/07/fungsi-hash-md5-dan-sha-1.html. diakses 9 Januari 2015)

Roy Abubakar,2013. SHA-1 implementation in Java,

(Online),(http://www.royabubakar.com/blog/2013/10/05/sha-1-implementation-in-java/. Diakses pada 12 Februari 2015).

Zainal Hakim.2013.Membuat input hanya angka atau huruf tertentu,(Online), (http://www.zainalhakim.web.id/posting/membuat-input-hanya-angka-atau-huruf-tertentu.html.Diakses pada 27 Juni 2015).