Professional Documents
Culture Documents
Disusun Oleh :
Trisnawati (160155201036)
Dosen Pengampu :
FAKULTAS TEKNIK
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.
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.
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.
• 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.
7
• Menghitung MAC
Nama lain:
1. Fungsi kompresi
2. Fingerprint
8
3. Cryptographic checksum
2. MD5
• Alert Protocol
1 byte 1 byte
9
Level Alert
Byte I :
1 = Warning
2 = Fatal
Byte II :
List Alert :
10
dalam komunikasi antara
implementasi yang tepat.
• Handshake Protocol
11
client server
Time
12
Phase 1
Phase 2
Phase 3
Phase 4
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).
• RSA:
14
• Fixed Diffie-Hellman:
• Ephemeral Diffie-Hellman:
• Anonymous Diffie-Hellman:
• Fortezza:
• CipherAlgorithm:
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:
15
• Anonymous Diffie-Hellman:
• Ephemeral Diffie-Hellman:
• RSA key Exchange
• 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.
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:
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.
• 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.
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)
Dimana
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 :
• 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
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.
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:
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
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) Transport Layer Protocol. IETF.
30
Sriwahyuni.2017. WEB Security.Bandung:Universitas TELKOM
Rouse, M. Cryptographic Checksum. Diakses pada hari Sabtu, 17 November 2018 jam 13.48.
https://searchsecurity.techtarget.com/definition/cryptographic-checksum.
31