You are on page 1of 32

WEB SECURITY

Disusun Oleh :

Alga Mahargarika (160155201044)

Friska Emelia Tindaon (160155201015)

Trisnawati (160155201036)

Zulfa Aliyah (160155201030)

Dosen Pengampu :

Nerfita Nikentari, ST., M.Cs.

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS MARITIM RAJA ALI HAJI


BAB I

PEMBAHASAN

A. Web Security
Web Security ialah istilah untuk mengatasi berbagai macam serangan atau attack dalam
teknologi internet atau website. Ada banyak jenis dari serangan yang dilakukan oleh penjahat
dunia maya "Cracker", seperti XSS, SQL Injection atau CSRF.

B. Masalah di Web Security


a) Integrity
Integrity adalah data yang tidak dimodifikasi atau dirubah dari data aslinya oleh orang
yang tidak berhak atau orang yang tidak berkepentingan, sehingga data tersebut asli,
akurasi, dan validitas data tersebut masih terjaga.
➢ Ancaman
1) Modifikasi data,
2) Modifikasi memori,
3) Modifikasi oleh software yang berbahaya,
4) Modifikasi pesan yang terpending.
➢ Akibat
1) Informasi tidak didapat
2) Informasi yang didapat tidak sesuai intruksi awal
3) Membuat system lebih rentan akan ancaman lain yang lebih berbahaya.
➢ Cara mengatasi
Ancaman ini bisa diatasi dengan menggunakan Cryptographic checksums.
Cryptographic checksums berfungsi untuk menguji file dikemudian hari untuk
memastikan data yang terdaoat dalam file belum diubah dengan jahat.
Sebuah checksum kriptografi dibuat dengan melakukan serangkaian operasi
matematika rumit (dikenal sebagai algoritma kriptografi) yang menerjemahkan
data dalam file menjadi string angka tetap yang disebut nilai hash , yang kemudian
digunakan sebagai checksum. Tanpa mengetahui algoritma kriptografi yang

1
digunakan untuk membuat nilai hash, sangat tidak mungkin bahwa orang yang
tidak berwenang akan dapat mengubah data tanpa secara tidak sengaja mengubah
checksum yang sesuai. Checksum kriptografi digunakan dalam transmisi data dan
penyimpanan data.
b) Confidentiality
Confidetialty ialah menjaga informasi dari orang yang tidak berhak mengakses,
pencegahan bagi mereka yang tidak berkepen-tingan dapat mencapai informasi,
berhubungan dengan data yang diberikan ke pihak lain untuk keperluan tertentu dan
hanya diperbolehkan untuk keperluan tertentu tersebut.
➢ Ancaman
1) Dapat diakses oleh yang tidak berkepentingan
2) Pencurian informasi dan data dari server
3) Penyadapan informasi
➢ Akibat
1) Kehilangan informasi
2) Kehilangan privasi

➢ Cara mengatasi
Ancaman ini bisa diatasi dengan Encryption dan Web Proxies.
Encryption ialah proses membuat sandi atau mengacak data untuk menyelubungi
pesan yang sesungguhnya dari orang-orang yang tidak mempunyai kunci khusus
untuk membaca pesan tersebut, dan Web proxies ialan suatu aplikasi yang menjadi
perantara antara client dan server, sehingga client tidak akan berhubungan langsung
dengan server-server yang ada diinternet.
c) Denial of Service
Denial of service adalah jenis serangan yang tujuannya adalah mencegah pengguna
yang sesungguhnya menikmati layanan yang diberikan server. Server sesuai namanya
adalah pelayan yang harus selalu siap melayani permintaan pengguna, yang umumnya
beroperasi 24 jam tanpa henti. Dalam kondisi normal, pengunjung dapat meminta
resource dari web server untuk ditampilkan dalam browsernya, namun bila web server
terkena serangan DoS maka pengunjung tidak bisa menikmati layanan web server.

2
Secara umum ada 2 cara melakukan serangan DoS:
1) Mematikan Server
2) Menyibukkan Server
▪ Tanpa bug/vulnerability
▪ Meng-exploit bug/vulnerability
➢ Ancaman
1) Membanjiri mesin dengan permintaan palsu
2) Membuat memori menjadi penuh
3) mengisolasi mesin dengan serangan DNS
➢ Akibat
1) Mengganggu pengguna
2) Membuat pengguna tidak bisa menyelesaikan pekerjaannya
➢ Cara mengatasi
Ancaman ini sulit dicegah.
d) Authentication
Authentication adalah proses untuk dapat memastikan bahwa pelaku adalah benar-benar
pelaku. Proses ini memastikan supaya kalau ada yang mengaku sebagai orang lain bisa
terdeteksi sebagai orang lain.
➢ Ancaman
a. Peniruan pengguna yang sah
b. Pemalsuan data
➢ Akibat
a. Membuat pengguna meyakini bahwa informasi palsu itu valid
b. keliru pengguna.
➢ Cara mengatasi
a. melakukan autentikasi yang lebih mendetail
C. Pendekatan Web Security
1. IP Security

Internet Protocol Security atau sering disebut IPsec adalah end-to-end security skema
operasi di Internet Layer dari Internet Protocol Suite. Hal ini dapat digunakan dalam

3
melindungi arus data antara sepasang host (host-to-host), antara sepasang gateway
keamanan (jaringan-jaringan), atau antara gateway keamanan dan host (jaringan-to-host) .

Protokol untuk mengamankan Internet Protocol (IP) komunikasi dengan otentikasi dan
mengenkripsi setiap paket IP dari suatu sesi komunikasi. IPsec juga mencakup protokol
untuk mendirikan otentikasi bersama antara agen pada awal sesi dan negosiasi kunci
kriptografi yang akan digunakan selama sesi.

Beberapa sistem keamanan Internet lainnya digunakan secara luas, seperti Secure
Socket Layer (SSL), Transport Layer Security (TLS) dan Secure Shell (SSH), beroperasi
di lapisan atas dari model TCP / IP. Di masa lalu, penggunaan TLS / SSL harus dirancang
ke dalam aplikasi untuk melindungi protokol aplikasi. Sebaliknya, sejak hari pertama,
aplikasi tidak perlu dirancang khusus untuk menggunakan IPsec. Oleh karena itu, IPsec
melindungi lalu lintas aplikasi di jaringan IP.

2. SSL (Secure Socket Layer)

SSL adalah protokol keamanan yang digunakan pada hampir semua transaksi aman
pada internet. SSL mengubah suatu protokol transport seperti TCP menjadi sebuah saluran
komunikasi aman yang cocok untuk transaksi yang sensitif seperti Paypal, Internet
Banking, dan lain-lain. Keamanan dijamin dengan menggunakan kombinasi dari kiptografi
kunci publik dan kriptografi kunci simetri bersamaan dengan sebuah infrastruktur
sertifikat. Sebuah sertifikat adalah sebuah kumpulan data identifikasi dalam format yang
telah distandardisasi. Data tersebut digunakan dalam proses verifikasi identitas dari sebuah
entitas (contohnya sebuah web server) pada internet.

Konsep dasar yang terkait dengan penggunaan SSL:

• SSL Session
SSL Session adalah hubungan antara klien dan server yang mendefinisikan
seperangkat parameter seperti algoritma yang digunakan, nomor sesi, dll. Sesi
SSL dibuat oleh Protokol Jabat Tangan yang memungkinkan parameter
dibagikan di antara koneksi yang dibuat antara server dan klien, dan sesi
digunakan untuk menghindari negosiasi parameter baru untuk setiap koneksi.

4
Konsep sesi dan sambungan SSL melibatkan beberapa parameter yang
digunakan untuk komunikasi yang mendukung SSL antara klien dan server.
Selama negosiasi protokol handshake, metode enkripsi ditetapkan dan
serangkaian parameter dari Session State selanjutnya digunakan dalam sesi.
Tahapan pada SSL Session didefinisikan oleh beberapa parameter sebagai
berikut:
1. Session identifier
Merupakan sebuah nilai yang dibangkitkan oleh server untuk
mengindentifikasi apakah kondisi sebuah sesi itu dalam kondisi aktif
ataupun resumable.
2. Peer certificate
Merupakan sertifikat X.509 v3 yang berasal dari sisi peer.Peer
certificate dapat bernilai null.
3. Compression method
Merupakan algoritma yang digunakan untuk mengkompresi data
sebelum di enkripsi.
4. Cipher spec
Menentukan algoritma enkripsi untuk data dalam jumlah besar (null,
DES, dll), dan sebuah algoritma hash (MD5 atau SHA-1) yang
digunakan untuk komputasi MAC. Selain itu, didefinisikan pula
atribut-atribut yang ada seperti ukuran dari nilai hash yang dihasilkan.
5. Master secret
Merupakan sebuah data berukuran 48 byte yang di share antara client
dan server. Hal tersebut merepresentasikan data rahasia yang akan
digunakan untuk membangkitkan kunci enkripsi, MAC dan IV.
6. Is resumable
Berfungsi sebagai indikator yang menunjukkan bahwa sebuah sesi
dapat digunakan untuk menginisiasi koneksi yang baru.
• SSL Connection
SSL Connection adalah link client / server logis, terkait dengan penyediaan
jenis layanan yang sesuai. Dalam istilah SSL, itu harus koneksi peer-to-peer

5
dengan dua node jaringan. SSL Connection berfungsi untuk menyediakan jenis
layanan yang sesuai bagi sebuah pesan yang akan dikirimkan.
Tahapan pada SSL Connection didefinisikan oleh beberapa parameter
sebagai berikut :
1. Server and client random
Merupakan serangkaian byte yang dipilih oleh server dan client
untuk setiap koneksi.
2. Server write MAC secret
Berfungsi untuk mengindikasikan secret key yang digunakan dalam
operasi MAC pada data yang dikirimkan olehserver
3. Client write MAC secret
Berfungsi untuk merepresentasikan secret key yang digunakan
dalam operasi MAC pada data yang dikirimkan oleh client.
4. Server write key
Merupakan kunci enkripsi manual untuk data yang dienkripsi oleh
server dan didekripsi oleh client.
5. Client write key
Merupakan kunci enkripsi manual untuk data yang dienkripsi oleh
client dan didekripsi oleh server.
6. Initialization vectors
Merupakan sebuah nilai yang digunakan dalam mode operasi tertentu
pada block cipher
7. Sequence numbers
Merupakan rangkaian nilai berurutan yang dimiliki oleh client dan
server dan digunakan sebagai urutan dalam proses kirim terima pesan
untuk setiap koneksi.
• SSL Record Protocol
SSL Record Protocol menyediakan dua services untuk SSL connections:
- Confidentiality (kerahasiaan) : Protokol Handshake yang
mendefinisikan sebuah shared secret key (kunci rahasia) yang
digunakan untuk enkripsi muatan SSL payloads.

6
- Message Integrity (integritas pesan) : Protokol Handshake yang
mendefinisikan sebuah shared secret key (kunci rahasia) yang
digunakan kepada Message Authentication Code (MAC).
Angka ini Menunjukkan bahwa operasi keseluruhan protocol catatan SSL.

Ketahuilah bahwa tidak ada perbedaan yang dibuat di antara berbagai


aplikasi yang mungkin menggunakan SSL Record Protocol. Perhitungan data
yang dibuat oleh aplikasi ini buram ke SSL Record Protocol. Record Protocol
mentransmisikan data dalam segmen TCP. Bagian penerima mendekripsi data,
memverifikasinya, mendekompresnya, dan mengumpulkan kembali data serta
mengirimkannya ke layer protocol yang lebih tinggi.

• SSL Record Format

7
• Menghitung MAC

Fungsi hash: fungsi yg menerima masukam string yg panjangnya sembarang


kemudian mentransformasikannya menjadi string keluaran yg panjangnya tetap.

Nama lain:

1. Fungsi kompresi

2. Fingerprint

8
3. Cryptographic checksum

4. Message integrity check (MIC)

5. Manipulation detection code (MDC)

Beberapa fungsi hash:

1. MD2(message digest 2); MD4

2. MD5

3. SHA (Secure hash function)

Dalam kriptografi, MD5 (Message-Digest algortihm 5) merupakan sebuah


fungsi hash dan pembaharuan dari MD2 dan MD4, kriptografik yang digunakan
secara luas dengan hash value 128-bit. Pada standart Internet (RFC
1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi
keamanan, dan MD5 juga umum digunakan untuk melakukan pengujian
integritas sebuah berkas.

• Enkripsi Menggunakan Enkripsi Simetris

• Alert Protocol

Alert protocol digunkan untuk menyampaikan alert SSL ke peer entity.

1 byte 1 byte

9
Level Alert

Byte I :

1 = Warning

2 = Fatal

Byte II :

Berisi kode Alert tertentu

List Alert :

Message Type Keterangan


Handshake_failure Parameter keamanan tidak dapat
diterima
bad_record_mac Kode Otentikasi Pesan Salah
Unknown CA Otoritas sertifikat tidak dikenal
Certificate_expire Sertifikat yang diberikan, telah
kedaluwarsa
Unsupported_certificate Sertifikat yang disediakan tidak
didukung
Protocol_Version Protokol tidak didukung saat ini
Internal_error Kesalahan yang tidak terkait
dengan protokol ssl
Decompression_failure Menerima masukan yang tidak
benar, seperti data yang akan
diperluas ke panjang berlebihan,
dari fungsi dekompresi.
Unexpected_message Menerima pesan yang tidak pantas
Peringatan ini tidak boleh diamati

10
dalam komunikasi antara
implementasi yang tepat.

• Handshake Protocol

Handshake Protocol merupakan bagian yang paling kompleks dari SSL.


Protokol ini memungkinkan server dan klien untuk mengotentikasi satu sama
lain dan untuk menegosiasikan enkripsi dan algoritma MAC dan kunci
kriptografi yang digunakan untuk melindungi data yang dikirim dalam WTLS
record.

Handshake Protocol digunakan sebelum data aplikasi ditransmisikan.


Fungsi penting dari Protokol Handshake adalah men-genarate pre-master
secret, yang kemudian akan digunakan untuk men-generate master secret.
Master secret ini kemudian digunakan untuk mengenerate berbagai kunci
kriptografi

1 Byte 3 Byte ≥0 Byte

Type Length Content

Tipe (1 byte): Menunjukkan salah satu dari 10 pesan.

Panjang(3byte):Panjang pesan dalam byte.

Content (bytes): parameter yang terkait dengan pesan ini.

11
client server

Time

12
Phase 1

Menetapkan kemampuan keamanan, termasuk versi protokol, ID sesi, suite


cipher, metode kompresi, dan angka acak awal.

Phase 2

Server dapat mengirimkan sertifikat, pertukaran kunci, dan sertifikat


permintaan. Sinyal Server akhir fase pesan halo.

Phase 3

Client mengirimkan sertifikat jika diminta. Client mengirimkan pertukaran


kunci. Klien dapat mengirimkan verifikasi sertifikat.

Phase 4

Mengubah cipher suite dan handshake protocol selesai.

1) Phase 1 : Establish Security Capabilites

Fase ini digunakan untuk memulai sambungan yang logis dan untuk
membangun kemampuan keamanan yang akan terkait dengan Fase 1.
Pertukaran ini dimulai oleh klien, yang mengirimkan pesan client_hello dengan
parameter berikut:

• Version: versi yang tertinggi pada SSL, dan dimengerti oleh klien
• Random: Sebuah struktur random pada klien yang dihasilkan terdiri dari
timestamp 32-bit dan 28 byte yang dihasilkan oleh pembangkit bilangan
acak yang aman. nilai-nilai ini berfungsi sebagai nonces dan digunakan
selama pertukaran kunci untuk mencegah serangan ulang.

13
• Sesi ID: sebuah identifier sesi long-variable. Sebuah nilai nol
menunjukkan bahwa klien ingin memperbarui parameter koneksi yang ada
atau untuk membuat koneksi baru pada sesi ini. Nilai nol menunjukkan
bahwa klien ingin membuat sambungan baru pada sesi baru.
• Ciphersuite: daftar yang berisi kombinasi dari algoritma kriptografi
didukung oleh klien (dalam urutan).
• Metode Kompresi: Ini adalah daftar metode kompresi klien yg
mendukung.
• Setelah mengirimkan pesan client_hello, klien menunggu pesan
server_hello, yang berisi parameter yang sama seperti pesan client_hello.
• Untuk pesan server_hello, konvensi berikut berlaku. Bidang Versi berisi
lebih rendah dari versi yang disarankan oleh klien dan tertinggi yang
didukung oleh server.
• Bidang acak dihasilkan oleh server dan independen dari field Acak klien.
Jika field sessionid klien adalah nol, nilai yang sama digunakan oleh
server; jika field sessionid server berisi nilai untuk field session.
• Elemen pertama dari parameter ciphersuite adalah metode pertukaran
kunci (yaitu, sarana yang kunci kriptografi untuk enkripsi konvensional
dan MAC dipertukarkan).

Elemen pertama dari parameter ciphersuite adalah metode pertukaran


kunci (yaitu, sarana yang kunci kriptografi untuk enkripsi konvensional dan
MAC dipertukarkan). Metode pertukaran kunci :

• RSA:
14
• Fixed Diffie-Hellman:
• Ephemeral Diffie-Hellman:
• Anonymous Diffie-Hellman:
• Fortezza:
• CipherAlgorithm:

2) Phase 2 : Server Authentication and Key Exchange

Server dimulai pada fase ini dengan mengirimkan sertifikat jika perlu
dikonfirmasi; pesan berisi satu atau beberapa sertifikat. Pesan sertifikat
diperlukan untuk metode pertukaran kunci yang disepakati kecuali untuk
metode anonymous Diffie-Hellman. Perhatikan bahwa jika fixedDiffie-
Hellman digunakan, fungsi pesan sertifikat ini digunakan sebagai pesan
pertukaran kunci server karena mengandung publik parameter Diffie-Hellman
server. Selanjutnya, pesan server_key_exchange dapat dikirim jika diperlukan.
Hal ini tidak diperlukan dalam dua kasus berikut:

(1) Server telah mengirimkan sertifikat dengan menggunakan fixed parameter


Diffie-Hellman atau,

(2) pertukaran kunci RSA akan digunakan. Pesan server_key_exchange


diperlukan sebagai berikut:

15
• Anonymous Diffie-Hellman:
• Ephemeral Diffie-Hellman:
• RSA key Exchange
• Fortezza

Pesan certificate_request mencakup dua parameter: certificate_type dan


certificate_authorities. Jenis sertifikat menunjukkan algoritma kunci publik dan
penggunaannya:

• RSA, tanda tangan saja


• DSS, tanda tangan saja
• RSA untuk fixed Diffie-Hellman; dalam hal ini tanda tangan hanya
digunakan untuk otentikasi, dengan mengirimkan sertifikat yang
ditandatangani dengan RSA
• DSS untuk fixed Diffie-Hellman; lagi, hanya digunakan untuk otentikasi
• RSA untuk Ephemeral Diffie-Hellman
• DSS untuk anonymous Diffie-Hellman
• Fortezza

Pesan terakhir dalam fase 2, dan salah satu yang selalu dibutuhkan, adalah
pesan server_done, yang dikirim oleh server untuk menunjukkan akhir dari
server-halo dan pesan terkait. Setelah mengirim pesan ini, server akan
menunggu pesan response.

3) Phase 3 : Client Authentication and Key Exchange

16
Setelah menerima pesan server_done, klien harus memverifikasi bahwa
server memberikan sertifikat yang sah (jika diperlukan) dan memeriksa bahwa
parameter server_hello dapat diterima. Jika semuanya memuaskan, client
mengirimkan satu atau lebih pesan kembali ke server.
Jika server telah meminta sertifikat, klien memulai fase ini dengan
mengirimkan pesan sertifikat. Jika tidak ada sertifikat yang cocok, klien
mengirimkan sebuah peringatan no_certificate sebagai gantinya.
Berikutnya adalah pesan client_key_exchange, yang harus dikirim dalam
konten phase. Pesan tergantung pada jenis pertukaran kunci, sebagai berikut.
• RSA:
• Ephemeral atau Anonymous Diffie-Hellman:
• Fixed Diffie-Hellman:
• Fortezza:

Pada fase ini, klien dapat mengirim pesan certificate_verify untuk


memberikan verifikasi eksplisit sertifikat klien. Pesan ini hanya dikirim setelah
setiap sertifikat klien yang telah menandatangani “fitness”/keandalan (yaitu,
semua sertifikat kecuali yang mengandung parameter fixed Diffie-Hellman).
Pesan ini menandatangani kode hash yang tambahkan pada pesan sebelumnya.

4) Phase 4 : Finish

17
Fase ini membangun sambungan yang aman. Klien mengirimkan pesan
change_cipher_spec dan salinan CipherSpec yg tertunda ke CipherSpec saat ini.
Perhatikan bahwa pesan ini tidak dianggap sebagai bagian dari Protokol
Handshake tetapi dikirim menggunakan Chang-Cipher-Spec Protocol.

Klien kemudian segera mengirimkan pesan selesai di bawah algoritma


baru, kunci, dan rahasia. Pesan memverifikasi bahwa pertukaran dan otentikasi
proses kunci adalah telah berhasil.

• Cryptography Computation
Terdapat dua item lanjut yang menarik:
(1) penciptaan master rahasia bersama melalui pertukaran kunci dan
(2) generasi parameter kriptografi dari master secret.
✓ Master Secret Creation
Bersama Master rahasia adalah satu kali nilai 48-byte (384 bit) yang
dihasilkan untuk sesi ini dengan cara penciptaan Exchange. kunci aman
dalam dua tahap. Pertama, pre_master_secret yang dipertukarkan. Kedua,
master_secret dihitung oleh kedua belah pihak. Untuk pertukaran
pre_master_secret, ada dua kemungkinan.
RSA: suatu pre_master_secret 48-byte yang dihasilkan oleh klien,
dienkripsi dengan kunci RSA public server, dan dikirim ke server. Server
mendekripsi ciphertext dengan menggunakan kunci pribadi untuk
memulihkan pre_master_secret tersebut.
Diffie-Hellman: Baik klien dan server menghasilkan kunci publik Diffie-
Hellman. Setelah ini dipertukarkan, masing-masing pihak melakukan
perhitungan Diffie-Hellman untuk menciptakan pre_master_secret bersama.
✓ Generation Of Cryptographic Parameters

18
CipherSpecs memerlukan klien untuk menambah MAC rahasia, server
menambah MAC rahasia, kunci klien, kunci server, klien menulis IV, dan
server menulis IV, yang dihasilkan dari master-secret. Hal ini dihasilkan
dari secret-master dengan hashing menjadi urutan byte yg aman dan cukup
panjang untuk semua parameter yang diperlukan.
3. TLS (Transport Layer Security)

Transport Layer Security (TLS) adalah protocol untuk kriptografi untuk menyediakan
komunikasi internet yang aman melalui internet. TLS dan SSL menggunakan sertifikat X.509
dalam menyelenggarakan enkripsinya. Enkripsi yang digunakan menggunakan enkripsi
asimetris, suatu enkripsi yang menggunakan private key dan public key.

• Message Authentication Code (MAC)


Transport Layer Security(TLS) merupakan jalur protokol Internet Engineering
Task Force (IETF) yang ditetapkan pada tahun 1999 dan merupakan peningkatan dari
spesifikasi Secure Socket Layer (SSL) yang digunakan untuk menambahkan protocol
HTTPS ke navigator web Netscape.
Pada SSL menggunakan algoritma MAC,sedangkan pada TLS menggunakan
algoritma HMAC(Hash Message Authentication Code). HMAC ini merupakan
kontruksi khusus dari MAC yang nilainya dihitung dengan menggunakan fungsi hash
yamg telah dikombinasikan dengan kunci tertentu,otentifikasi dan verifikasi terhadap
integritas suatu pesan juga dapat dilakukan oleh HMAC. HMAC dapat didefinisikan
sebagai berikut :

HMAC K (M) = H [(K ⊕ opad) ∥ H [(K ⊕ ipad) ∥ M]]

Dimana :
H : Fungsi hash (untuk tls,MD5, atau SHA-1)
M : Pesan yang akan diotentikasi
K : Kunci rahasia, yang harus ditambahkan bitbit padding 0 hingga sepanjang
ukuran blok pada fungsi hash yang digunakan
⊕ : Exclusive or (XOR)

19
Opad : Outer padding (01011100 5C in hexadecimal) repeated 64 times(512 bits)
Ipad : Inner padding (00110110 36 in hexadecimal) repeated 64 times(512 bits)

Perhitungan MAC di dalam TLS

Dimana

MAC_write_secret : shared secret key.


Seq_number : urutan nomor dari TLS Record Protocol Message yang
diinisialisasikan dalam 0 dan dinaikkan nilainya hingga 264-1
TLSCompressed.type : mengidentifikasi lapisan protocol yang lebih tinggi untuk
memproses fragment tersebut.
TLSCompressed.length : Panjang dari fragment yang sudah dikompresi.
TLSCompressed.frgamented : Fragmen data yang sudah dikompresi (atau plain
text jika tidak dikompresi)
• Pseurandom Function
Fungsi pseudorandom pada TSL digunakan untuk melakukan perluasan rahasia
menjadi blok-blok data yang memiliki tujuan yaitu generasi kunci atau validasi serta
membuat penggunaannya relative kecil dengan membagi bloknya lagi. Fungsi
pseudorandom menggunakan algoritma hash yang mana akan menjamin keamanan
rahasia tersebut.
Definisi fungsi perluasan data P_hash(secret, data) satu algoritma :

P_hash(secret, seed) = HMAC_hash(secret, A(1) || seed) ||


HMAC_hash(secret, A(2) || seed) ||
HMAC_hash(secret, A(3) || seed) ||

Dimana A( ) didefinisikan sebagai :


A(0) = seed

20
A(i) = HMAC_hash (secret, A(i-1))
P_hash dapat diulang sebanyak yang diperlukan untuk menghasilkan jumlah data
yang diperlukan. Sebagai contoh, jika P_SHA-1 digunakan untuk membuat 64 byte
data, itu harus diulang 4 kali (melalui A (4)), menciptakan 80 byte data output; 16
byte terakhir dari iterasi terakhir kemudian akan dibuang, meninggalkan 64 byte data
output.

Fungsi pseudorandom ini mengambil nilai rahasia, mengidentifikasi label dan seed
sebagai input dan memnghasilkan output dengan panjang berubah-ubah, dengan
menggunakan 2 buah algoritma hash dapat membuat fungsi pseudorandom menjadi
sangat aman yaitu sebagai berikut :

PRF(secret, label, seed) = P_hash(S1, label || seed)

• Alert Code

21
Alerts Code merupakan kode yang digunakan untuk menyampaikan peringatan
jika terdapat hasil yang fatal sehingga dapat segera dihentikan, Setiap alerts code pada
SSLv3 masih didukung oleh TLS dengan pengecualian dari no_certificate. Tambahan
kode pada TLS yang berpengaruh yaitu user_canceled, no_renegotiation,
decrypt_error, record_overflow, unknown_ca, access_denied, decode_error,
protocol_version, insufficient_security, unsupported_extension, internal_error.
• Cipher Suite

Cipher suite merupakan seperangkat algoritma yang digunakan untuk mengamankan


koneksi jaringan yang menggunakan protocol TSL dan SSL.Tugas yang ditentukan oleh
cipher suite yaitu :

a. Pertukaran kunci
Algoritma yang hanya dapat berkinerja baik pada data yang kecil.Algoritma ini
memiliki sifat yang asimetris yang berguna untuk melindungi informasi yang
diperlukan untuk membuat kunci bersama.
b. Enkripsi massal
Algoritma yang hanya dapat berkinerja baik pada data yang besar.Algoritma ini
memiliki sifat yang simetris yang berguna untuk mengenkripsi pesan dan dapat di
tukarkan antara klien dan server.
c. Otentikasi pesan
Algoritma ini menghasilkan hash pesan dan tanda tangan untuk menjamin integritas
pesan.

Perbedaan chiper suites yang ada di TLS dan SSL adalah :

a. Key exchange : TLS mendukung semua pertukaran kunci yang ada di SSLv3
dengan pengecualian Fortezza (Diffie Hellman).
b. Symmetric Encryption Algorithm : TLS mencakup semua algoritma simetris pada
SSLv3 kecuali Fortezza.
• Client Certificate
SSL menyediakan mekanisme untuk mengotentikasi indentitas server, maka SSL
juga menyediakan mekanisme untuk mengotentikasi indentitas client. Tipe-tipe Client
Certificate yaitu sebagai berikut :
22
a. Certificate Request
Untuk mengotentikasi identitas klien, server terlebih dahulu mengirim pesan
Certificate Request. Pesan ini tidak hanya meminta klien untuk mengirim sertifikatnya
(dan untuk menandatangani informasi menggunakan kunci pribadi untuk sertifikat
itu), itu juga memberitahu klien yang sertifikat dapat diterima ke server. Certificate
Request message merupakan pesan berisi daftar jenis sertifikat yang dapat diterima.
b. Certificate Verify.
Certificate Verify message membuktika bahwa klien memiliki kunci privat yang
sesuai dengan kunci publiknya. Pesan terdiri dari informasi di dalam hash yang
ditanda tangani seorang klien dengan cara digital. Format yang dimiliki untuk
menandatangani pesan tersebut ada 2 yaitu RSA dan DSA. Untuk RSA kedua hash
yang terpisah digabung untuk ditandatangani, yaitu hash MD5 dan hash
SHA.Sedangkan untuk DSA hanya hash SHA yang dibuat dan ditandatangani. Pada
certificate_message TLS : hash MD5 dan SHA-1 dikalkulasikan sepanjang handshake
message. Kalkulasi Hash meliputi master secrets dan pads.
c. Finished message
Pesan ini menunjukkan bahwa negosiasi ssl selesai dan bahwa cipher suite yang
dinegosiasikan berlaku. Tubuh pesan Selesai terdiri dari dua hasil hash, satu
menggunakan algoritma hash md5 dan yang lainnya menggunakan algoritma hash sha.
Kedua perhitungan hash menggunakan informasi yang sama sebagai input, dan
keduanya dihitung dalam dua tahap. hash berdasarkan pada shared master_secret,
handshake message sebelumnya, label yang menandai client dan server. Kalkulasinya
pada TLS sebagai berikut:

Penjelasan
Master_secret: digunakan oleh client dan server untuk membangkitkan the
write MAC secret yang digunakan oleh session key untuk hashing dan write
key (enkripsi).
Handshake_message: message secara keseluruhan termasuk Client Key Exchange.

23
Finished label: string “client finish” untuk client dan “server finish” untuk server.
Kalkulasi pre_master_secret = SSLv3 yang mana kalkulasi master_secret-nya
berbeda, yaitu:

Algoritma dijalankan hingga menghasilkan 48 bytes output peseudorandom.dan


lalkulasi untuk key_block:

Pada TLS jumlah padding yang ditambahkan tidak memiliki ketentuan khusus
yang menghasilkan kelipatan dari panjang chiper block hingga maksimumnya 255
bytes. Variabel padding digunakan untuk menggagalkan serangan yang berbasis pada
analisis length dari pertukaran message.
• HTTPS
HTTPS merupakan sebuah protocol komunikasi yang dilengkapi dengan protocol
keamanan tambahan yaitu TLS/SSL untuk memberikan perlindungan dari serangan
Man In The Middle Attack pada internet yang menghubuhkan client dan server.
Terdapat perbedaan antara https dengan http sebagai berikut :
a. Segi port default http menggunakan port 80, sedangkan https
menggunakan port 443 dan menggunakan SSL.
b. Tingkat keamanan yang dimiliki oleh http itu biasa sedangkan https
memiliki tingkat keamanan yan tinggi.
HTTPS memiliki kelebihan dan kekurangan dalam komunikasi yaitu :
a. Kelebihan
1. Melindungi data dari akses yang tidak diijinkan, hanya penerima yang
diijinkan untuk membaca data
2. Menjaga kerahasiaan data (data privasi).
3. Klien dan server autentikasi

24
4. Memastikan bahwa tidak ada yang bisa merusak data yang
ditransmisikan.
b. Kekurangan
1. Website Lebih Lambat
2. Penurunan penunjung bisa bersifat sementara, bisa juga bersifat tetap.
Mesin pencari akan melakukan reindex setelah pemasangan protokol
HTTPS, sehingga terjadi penurunan visitor website sementara.
3. Dengan menggunakan protokol HTTPS, berarti anda harus membayar
biaya tambahan yang lumayan mahal, tergantung jenis SSL yang anda
gunakan
Elemen yang dienkripsi pada komunikasi yang menggunakan HTTPS adalah :
a. URL of the request document
b. Contents of the document
c. Contents of browser forms (filled in by browser user)
d. Cookies sent from browser to server and from server to browser
e. Contents of HTTP header
• Cara kerja HTTPS
HTTPS secara sederhana berarti menggunakan HTTP dengan TLS. Ada beberapa
hal yang akan dilakukan untuk membuat koneksi menjadi lebih aman dengan HTTPS
1. Inisiasi koneksi
Dalam klien-server protocol, tugas klien pertama kali adalah menyediakan
koneksi. Klien HTTP juga menjadi klien TLS. Menyediakan koneksi berarti
menginisiasi sebuah koneksi ke server pada sebuah port yang aman, dalam hal
ini berarti port 443.
2. TLS handshake
- Hello
Handshake dimulai dengan klien mengirimkan sebuah pesan ClientHello.
ClientHello berisi semua informasi yang dibutuhkan server untuk bisa
terhubung dengan klien melalui TLS, termasuk cipher suites ( set algoritma
yang membantu mengamankan sebuah koneksi jaringan yang menggunakan
TLS) yang digunakan dan versi TLS yang didukung. Server merespon dengan

25
sebuah pesan ServerHello, yang mengandung informasi yang sama yang
dibutuhkan klien, termasuk cipher suite dan versi TLS yang digunakan klien.
- Pertukaran sertifikat
Setelah koneksi tersedia, server harus membuktikan identitasnya kepada
klien. Hal ini akan dicapai menggunakan sertifikat TSL. Sertifikat TSL berisi
data-data yang akan dicek oleh klien, seperti nama dari pemilik, domain, public
key dari sertifikat tersebut, digital signature dan informasi tentang keabsahan
sertifikat.
- Pertukaran kunci
Data dari pesan yang ditukar antara klien dan server akan dienkripsi
menggunakan sebuah symmetric algorithm yang sudah dipilih pada saat fase
hello. Sebuah symmetric algorithm menggunakan sebuah kunci untuk enkripsi
dan dekripsi, berbeda dengan asymmetric algorithm yang menggunakan sebuah
public/private key. Klien dan server harus setuju dengan kunci simetrik ini.
Proses penyetujuan ini diselesaikan secara aman dengan menggunakan enkripsi
asimetris dan public/private key dari server.
Klien akan menghasilkan sebuah kunci acak untuk digunakan di symmetric
algorithm utama. kunci yang terenkripsi ini dikirim ke server yang akan
didekripsi menggunakan private key dari server.
4. Mengakhiri koneksi
TLS menyediakan sebuah fasilitas untuk mengakhiri sebuah koneksi dengan
aman. Ketika sebuah peringatan untuk mengakhiri koneksi yang valid diterima,
maka bisa dipastikan bahwa data-data tidak dapat diterima di koneksi tersebut.
Implementasi TLS harus menginisiasi pertukaran peringatan untuk mengakhiri
sebelum menutup sebuah koneksi. Sebuah implementasi TLS dapat, setelah
mengirim sebuah peringatan pengakhiran, menutup koneksi tanpa menunggu
peringatan dari server/klien yang terkoneksi dengannya. Jika sudah ditutup,
akan ada cache yang disimpan untuk digunakan di sesi yang lain.
4. Secure Shell
SSH atau disebut juga Secure Shell atau Secure Socket Shell adalah sebuah protocol
jaringan yang memberikan pengguna, khususnya administrator system, sebuah cara aman

26
untuk mengakses computer dengan jaringan yang tidak aman. Versi pertama dari SSH
hadir pada 1995 dan dirancang oleh Tatu Ylönen, seorang peneliti dari Helsinki University
of Technology. SSH menyediakan autentikasi yang kuat dan komunikasi data terenkripsi
antara dua computer yang tersambung pada sebuah jaringan terbuka seperti internet. SSH
digunakan oleh administrator jaringan untuk mengatur system and aplikasi dari jauh.
Mereka dapat masuk mengakses computer lain melalui jaringan, menjalankan perintah dan
memindahkan file dari satu computer ke computer lainnya.
Protocol SSH dibagi menjadi tiga macam protocol:
- SSH Transport Layer Protocol
Protocol ini digunakan di atas TCP/IP. Berikut adalah urutan yang terjadi pada
SSH Transport Layer Protocol:
1. Klien menghubungkan koneksi ke server melalui protocol TCP
2. Klien dan server melakukan pertukaran data menggunakan metode key
exchange. Metode ini menetapkan bagaimana sesi yang dapat digunakan sekali
bisa digunakan untuk enkripsi dan untuk autentikasi dan bagaimana agar
autentikasi server bisa selesai. Key exchange dimulai dengan setiap sisi koneksi
mengirimkan daftar nama dari algoritma yang mendukung. Algoritma yang
akhirnya akan dipakai adalah algoritma yang sama di setiap sisi. Setiap sisi
harus menebak algoritma yang mana yang dipakai, dan mengirimkan inisial
dari key exchange packet berdasarkan algoritma yang digunakan. Jika tebakan
benar, maka packet yang dikirim akan dianggap sebagai key exchange packet
yang pertama. Jika tebakan salah, maka paket yang sudah dikirim oleh satu sisi,
akan diabaikan oleh sisi yang lain.
- SSH Authentication Protocol
Protocol ini digunakan untuk autentikasi pengguna. Server yang mengatur
autentikasi dengan memberitahu klien metode autentikasi yang mana yang
digunakan agar dapat melanjutkan pertukaran data. Klien berhak mencoba metode
yang diberikan oleh server. Hal ini memberikan server control penuh atas proses
autentikasi, tetapi juga memberikan fleksibilitas yang cukup untuk user ketika
server menawarkan banyak metode.
Ada beberapa metode yang bisa digunakan untuk autentikasi:

27
1. Metode autentikasi dengan public key
Semua implementasi harus bisa mendukung metode ini, walaupun user
tidak harus memiliki public key. Dengan metode ini, kepemilikan private key
bisa juga digunakan sebagai autentikasi. Metode ini berkerja dengan
mengirimkan sebuah signature yang dibuat dengan private key dari user.
Server harus mengecek apakah kunci yang digunakan merupakan autentikator
yang valid dari user, dan mengecek apakah signature tersebut valid. Jika iya,
maka request autentikasi harus diterima, jika tidak maka ditolak.
2. Metode autentikasi dengan password
Semua implementasi harus mendukung metode autentikasi dengan
password. Jika seorang user memasukkan passwordnya, proses autentikasi
akan bekerja, tidak peduli apa jenis OS dan software yang digunakan. Untuk
melakukan ini, harus dilakukan normalisasi. System yang mendukung
password non-ASCII harus selalu menormalisasi password dan username
ketika ditambahkan ke database atau membandingkannya dengan data yang
sudah ada di database. Server tidak boleh mengizinkan password yang sudah
expired untuk digunakan saat autentikasi. Server akan mengirimkan alert
untuk mengubah password.
3. Metode autentikasi host-based
Metode ini merupakan autentikasi yang berdasarkan pada host yang
digunakan user untuk terhubung di jaringan ini. Autentikasi ini hanya
merupakan opsional, dibandingkan dengan metode password dan public key.
Pada metode ini, server harus mengecek apakah host key yang akan
diautentikasi dimiliki oleh client host yang namanya tertera di pesan.
- SSH Connection Protocol
Ketika klien/server ingin membuka sebuah saluran (channel) baru, klien/server
akan mengirimkan pesan untuk membuka saluran ke sisi yang lain. Si penerima
pesan akan memberi respon, apakah berhasil atau gagal. Ada beberapa alasan
mengapa saluran gagal dibuka, seperti: saluran yang tidak diketahui, gagal koneksi,
proses dilarang, dsb.
• SSH vs. SSL/TLS

28
SSH SSl/TLS
Menggunakan kuni yang berbeda untuk - Hanya server yang diautentikasi dengan
mengautentikasi koneksi yang berbeda, satu kunci.
kunci untuk koneksi dari local machine ke
remote machine, dan satu kunci untuk koneksi
dari remote machine ke local machine.
Mengenkripsi dan mengautentikasi semua Mengizinkan koneksi untuk dienkripsi tanpa
koneksi. diautentikasi, atau mengautentikasi koneksi
tanpa dienkripsi.

• Implementasi SSH
OpenSSH adalah aplikasi computer untuk login jarak jauh dengan protocol
SSH. Aplikasi ini mengenkripsi semua lalu lintas untuk mengeliminasi
penyadapan, pembajakan koneksi, dan ancaman lainnya. OpenSSH
menyediakan beberapa metode autentikasi, kemampuan mengamankan saluran,
dan opsi konfigurasi yang canggih.

29
DAFTAR PUSTAKA

Azaim, H. 2017. Mengenal Confidentiality, Integrity, dan Availability Pada Keamanan Informasi.
Diakses pada hari Sabtu, 17 November 2018 jam 13.15. https://netsec.id/confidentiality-integrity-
availability-keamanan-informasi/.

Wicaksono, R. 2009. Memahami Serangan Denial of Service. Diakses pada hari Sabtu, 17
November 2018 jam 14.24. http://www.ilmuhacking.com/web-security/memahami-serangan-
denial-of-service/.

Ridha, F. 2011. Pengenalan IP Security (IPSec). Diakses pada hari Sabtu, 17 November 2018 jam
15.39. https://fadhly.web.id/posts/ip-security-ipsec.html.

Bhure, Amol S. 2013. Information and network security - Atria | e-Learning. Diakses pada hari
Sabtu, 17 November 2018 jam 14.21 WIB. http://elearningatria.files.wordpress.com/2013/10/ise-
viii-information-and-network-security-06is835-notes.pdf

Heaton, R. 2014. How Does HTTPS Work?. Diakses pada hari Sabtu, 17 November 2018 jam
14.01 WIB. https://robertheaton.com/2014/03/27/how-does-https-actually-work/.

Pakdiit, Jokone. 2013. Pengertian Enkripsi MD5. Diakses pada hari Sabtu, 17 November 2018
jam 15.40 WIB. https://jokojatminto.wordpress.com/2013/03/12/pengertian-enkripsi-md5/

Pillai, Sarath. 2013. Alert message Protocol in SSL. Diakses pada hari Sabtu, 17 November 2018
jam 17.03 WIB. https://www.slashroot.in/alert-message-protocol-ssl

Rescorla, E. 2000. HTTP Over TLS. IETF.

Rouse, M. Secure Shell (SSH). Diakses pada hari Sabtu, 17 November 2018 jam 14.07 WIB.
https://searchsecurity.techtarget.com/definition/Secure-Shell.

Ylonen, T. 2006. The Secure Shell (SSH) Authentication Protocol. IETF.

Ylonen, T. 2006. The Secure Shell (SSH) Connection Protocol. IETF.

Ylonen, T. 2006. The Secure Shell (SSH) Transport Layer Protocol. IETF.

Nurwahyudi, Agus.”Keamanan Pada SSL(Secure Socket Layer)”.18 November 2018.


https://www.scribd.com/doc/44970219/Makalah-Secure-Socket-Layer-SSL

30
Sriwahyuni.2017. WEB Security.Bandung:Universitas TELKOM

Thomas, Stephen.2000. SSL and TLS Essentials.Canada: Wiley Computer Publishing

Rouse, M. Cryptographic Checksum. Diakses pada hari Sabtu, 17 November 2018 jam 13.48.
https://searchsecurity.techtarget.com/definition/cryptographic-checksum.

Nikentari,Nerfita.”Web Security”. 18 November 2018.

Meidy, Maharani. ”Network Security”. 19 November 2018.


https://www.scribd.com/presentation/359159736/Network-Security-PPT-fix

31

You might also like