• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
74
0
0

Teks penuh

(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.

(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.

(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

(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

(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

(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

(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

1.1 Latar Belakang Masalah ………..……….. 1

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

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

(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

(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

(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

(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

(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

(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

(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

(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

(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).

(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

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.

(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

(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.

(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

(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:

(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

(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

(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

(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

(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

(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

(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

(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

Gambar

Gambar 2.6 Pengiriman password dengan satukali hash
Gambar 2.7 Pengiriman password dengan duakali hash
Gambar 2.8 Sistem autentikasi klien server
Gambar 2.9 Two Way Challenge Response
+7

Referensi

Dokumen terkait

Saya memohon bantuan dari saudara untuk dapat mengisi kuesioner ini dengan sejujur-jujurnya karena hasil dari kuesioner ini akan membantu saya untuk menyelesaikan penelitian..

Berdasarkan data tersebut, perusahaan seharusnya masih dapat meningkatkan penjualannya ke pasar wisatawan Tiongkok, karena dengan semakin meningkatnya kunjungan

d) Selain mendapatkan hadiah, setiap anggota berhak mendapatkan bagi hasil pada akhir periode simpanan. e) Setoran Si Wadiah dapat dilakukan di seluruh kantor

Prinsip-prinsip dasar yang melandasi eksistensi bantuan hukum di Indonesia secara yuridis konstitusional termuat pada pasal 27 ayat (1) Undang-undang Dasar 1945 yang

To introduce the work of independent developers outside of the traditional commercial industry and emphasize how such indie retro game design helps the medium of video games to

Salphingitis adalah Inflamasi pada uterus, tuba fallopi, dan ovarium yang mengarah ke perlukaan dengan perlengketan pada jaringan dan organ sekitar. Yang disebabkan oleh wanita

Boru 2. Tetapi pada saat sekarang eksistensi alat musik Saligung sudah hampir hilang dari masyarakat Simalungun, untuk penyajiannya hanya bapak Setia Dermawan purba yang

Menawi perangan inti ukara kala wau dipuntingali kanthi premati, badhe dipunmangertosi bilih sejatosipun wonten perangan inti tartamtu ingkang gadhah peran langkung