Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
MAKALAH
Oleh
DAFTAR ISI
iii
Gambar
Gambar 1 CIA triad ......................................................................................................................... 2
Gambar 2 1 Proses kerja SSH .......................................................................................................... 6
Gambar 2 2SSH Protocol ................................................................................................................. 8
Gambar 2 3 User Authentication Process ..................................................................................... 14
Gambar 2 4 Port Fowarding .......................................................................................................... 20
Tabel
Tabel 2 1Contoh Pemilihan Algortima .......................................................................................... 13
Tabel 2 2 Algoritma Enkripsi SSH1 SSH2 ....................................................................................... 19
Tabel 2 3 Algoritma Otentikasi SSH1 dan SSH2 ............................................................................ 19
iv
BAB I
PENDAHULUAN
security
Categorization
of
Federal
Information
and
Information
Systems)
mengkarakteristikan tiga objektif yang diperlukan untuk suatu infomasi dianggap aman. Tiga
karakteristik itu adalah:
Pada awalnya, komunikasi dalam internet menggunakan Telnet. Teknologi ini dibuat
pada akhir 1960 dan digunakan untuk melakukan sambungan dan mengatur komputer dari
jarak jauh. Telnet juga merupakan basis dari protocol yang ada saat ini seperti File Transfer
Protocol (FTP) dan lain lain. Namun pada berjalannya waktu, didapatkan bahwa telnet tidaklah
aman untuk digunakan.
Kelemahan fatal pada telnet (Hangzou H3C Technologies Co., Ltd, 2009) ada tiga. Ketiga
kelemahan tersebut adalah:
1. Telnet melakukan transmisi data dengan plain text, dimana tidak ada proteksi terhadap
data yang ditransmisikan
2. Telnet
menggunakan
mekanisme
tranditional
password
authentication
dan
mentransmisikan informasi user otentikasi melalui network dengan plain text, sehingga
mudah diketahui oleh attacker menggunkan teknik eavesdropped.
3. Telnet Client tidak mampu mengidentifikasi Telnet Server sehingga attacker dengan
mudah melakukan server spoofing attack.
Menurut Daniel (Silverman, 2005), SSH di kembangkan oleh Tatu Ylnen, seorang
peneliti dari Helsinki University of technology Finlandia pada tahun 1995. Pada saat itu, jaringan
pada universitasnya terkena serangan Password Sniffing Attack.
Kelebihan SSh (Hangzou H3C Technologies Co., Ltd, 2009), adalah:
SSH mentransmisikan user authentication information dalam bentuk cipher text. Hal ini
sangat efektif dalam menghindari user identity information eavesdropping.
SSH menyediakan beberapa metode otentikasi (contoh otentikasi public key) untuk
meningkatkan ketahanan user otentikasi
Kunci enkripsi dan dekripisi untuk komunikasi SSH server dan SSH client di bangkitkan
secara dinamis. Hal ini sangat penting karna susah melakukan crack dan memiliki
keamanan yang lebih tinggi
SSH client dapa melaukan otentikasi identitas dari server. Hal ini dapat menghindari
server spoofing attack
BAB 2
ISI
2.1 Definisi
Menurut Cahyan (Cahyani, 2010), SSH adalah program yang memunginkan user untuk
login ke system remote dan memiliki koneksi yang terenkripsi. Menurut Daniel (Silverman,
2005), SSH adalah popular, powerful, software based yang digunakan untuk network security.
Ketika data dari computer dikirim ke ntwork, SSH otomatis mengenkripnya. Ketika data sampai
ke penerima yang diinginkan, SSH secara otomatis mendekrip. User tidak akan menyadari
keamanan komunikasi ini (disebut transparen encryption)
Dapat disimpulkan bahwa Secure Shell (SSH) adalah protokol jaringan yang
memungkinkan pertukaran data melalui saluran yang aman antara dua perangkat yang
terhubung dalam suatu jaringan. SSH sangat populer, powerfull dan media keaman jaringan
dengan pendekatan perangkat lunak.
SSH menggunakan kriptografi berbasis RSA public key baik untuk konektivitas maupun
autentifikasi. Dan untuk algoritma enkripsinya menggunakan Blowfish, DES, dan IDEA,
meskipun banyak algoritma yang digunakan, IDEA merupakan default basis enkripsi algoritma
yang digunakan.
Sebuah SSH server program, di install dan dijalankan oleh administrator, menerima atau
menolak koneksi yang dating dari host computer. User kemudian menjalankan program Client
SSH untuk membuat request kepada SSH server seperti Please log me in," "Please send me a
file," or "Please execute this command." Semua komunikasi antara client dan server pasti
terenkrip dan terbebas dari modifikasi
Menurut Cahyani (Cahyani, 2010), terdapat tujuh langkah sebelum komunikasi
terbentuk. Ketuju langkah tersebut adalah:
Langkah 1 : Client bind pada local port nomor besar dan melakukan koneksi ke port 22
pada server.
Langkah 2 : Client dan server setuju untuk menggunakan sesi SSH tertentu. Hal ini
penting karena SSH v.1 dan v.2 tidak kompatibel.
Langkah 3 : Client meminta public key dan host key milik server.
6
Langkah 4 : Client dan server menyetujui algoritma enkripsi yang akan dipakai
(misalnya TripleDES atau IDEA).
Langkah 5 : Client membentuk suatu session key yang didapat dari client dan
mengenkripsinya menggunakan public key milik server.
Langkah 6 : Server men-decrypt session key yang didapat dari client, melakukan reencrypt dengan public key milik client, dan mengirimkannya kembali ke
client untuk verivikasi.
Client program dapat melakukan remote login, remote command execution, dan
mengamankan pengkopian file di dalam network
SSH2 menambah fitur baru untuk menyediakan produk yang lebih baik dan lebih komprehensif.
Fitur tersebut adalah:
2.4 Protocol
SSH-2 merupakan versi terbaru dan mempunyai standar dari Internet Engineering Task
Force (IETF). Secara arsitektur, protokol SSH-2 memiliki arsitektur internal yang jelas dan well-
separated layers (terdefinisi di RFC 4251). Hal yang menjamin keamanan SSH, adalah keamanan
di layer dan protokolnya.
Berikut gambar dan penjelasan terhadap protocol yang ada
berjalan. Lalu service request yang kedua dikirimkan ketika user authentication sudah
terpenuhi. Hal ini memperbolehkan protokol baru untuk terdefinisi dan berdampingan dengan
daftar protokol diatasnya. Sehingga proses enkripsi bisa berjalan dengan baik dan keamanan
data terjamin.
Koneksi protokol menyediakan channels yang bisa digunakan untuk memperluas
jangkauan tujuan. Metode-metode standar dibutuhkan untuk membuat secure interactive shell
sessions dan menyambungkan dengan arbitrary TCP/IP ports dan X11 connections (tunneling).
Setiap server host harus memiliki sebuah host key. Host bisa memiliki banyak host key
menggunakan banyak algoritma yang berbeda. Jika sebuah host memiliki key, host harus
memiliki minimal sebuah key yang menggunakan setiap algoritma public key yang dibutuhkan.
10
Host key server digunakan selama pertukaran key untuk memverifikasi bahwa client
benar-benar sedang menghubungi server yang benar.
Ada dua model berbeda yang bisa digunakan :
Client memiliki sebuah local database yang berhubungan dengan setiap hostname
(seperti yang diketikan oleh user) dengan mencocokkannya terhadap public host key.
Metode ini membutuhkan infrastuktur administrative yang tidak secara terpusat, dan
tidak memiliki third-party coordination. Pada bagian bawah dimana name-to-key
Associations mungkin menjadi memberatkan dalam pemeliharaannya.
The host name-to-key association memiliki sertifikat resmi dari Certification Authority
(CA). Client hanya mengetahui CA root key dan bisa memverifikasi validitas dari semua
host key yang bersertifikat CA.
Protokol memperbolehkan negosiasi enkripsi, integritas, pertukaran key, kompresi, dan
public key algorithms and formats secara penuh. Enkripsi, integritas, public key, dan kompresi
algoritma bisa memiliki perbedaan arah.
Connection Setup
Algorithm Negotiation
Key Exchange
User Authentication
Service Request
11
Key exchange algorithm untuk membangkitkan session key, seperti Diffie-Hellmangroup exchange-SHA1, Diffie-Hellman-group1-SHA1, atau Diffie-Hellman-group 14SHA1.
Encryption algorithm untuk enkripsi data, seperti 3DES-CBC, AES128-CBC, atau DESCBC.
Host public key algorithm untuk digital signature and authentication, seperti RSA atau
DSA.
Message Authentication Code (MAC) algorithm untuk melindungi integritas data seperti
HMAC-MD5, MHAC-MD5-96, HMAC-SHA1 or HMAC-SHA1-96.
Tiap client dan server memungkinkan hanya dapat berkerja pada algoritma yang berbeda, oleh
karena itu diperlukan negosiasi algoritma apa yang digunakan. Cara negosiasi algoritma bekerja
dengan tiga langkah yaitu:
1. Client dan server saling mengirim list dari algoritma yang support
2. Negosiasi algoritma dalam prosedur: Ambil algoritma pertama dari list client dan
cocokkan kepada list di server. Jika ada, negosiasi berhasil dan proses pencocokan
selesai. Jika tidak, ambil tipe algoritma selanjutnya dan cocokkan ke list pada server.
12
Proses ini akan terus berulang hingga tidak ditemukan kecocokan antara list client dan
server. Jika hal ini terjadi, proses dianggap gagal
3. Jika negosiasi algoritma berhasil, peers akan terus menegosiasikan tipe algoritma. Jika
gagal, algoritma antara peers akan dianggap gagal dan server akan memutus koneksi
dengan client
Contoh sederhana:
Tabel 2 1Contoh Pemilihan Algortima
Negotiated
encryption
algoritm
3DES, 3DES-CBC, AES 128 CBC
13
menerima
authentication
request
packet,
server
merespon
dengan
authentication challenge packet, yang membawa list metode otentikasi yang support
dan client harus lalui
3. Client memilih metode otentikasi dari list dan memulai authentication request, yang
membawa username, metode otentikasi, dan informasi yang relevan terhadap metode
otentikasi:
a. Untuk password otentikasi, informasi nya adalah password client
b. Untuk otentikasi kunci public, informasi nya adalah kunci public (jika
menggunakan otentikasi kunci public) atau digital signature (jika menggunakan
otentikasi digital signature)
4. Ketika server menerima authentication request, server akan meng otetikasi client
dengan cara:
a. Untuk otentikasi password, server membandingkan username dan password dari
client dengan yang ada di local atau mengirim ke server otentikasi untuk
mengotentikasi client
14
b. Untuk otentikasi kunci public, server mengecek validitas dari kunci public client.
Jika kunci public invalid, otentikasi gagal. Begitu juga jika menggunakan digital
signature. Server akan menlakukan pengecekan ke validitasan digital signature
5. Berdasar pada konfigurasi yang ada pada local client, jika client berhasil lolos dari
otentikasi, server akan melakukan pengecekan lebih lanjut:
a. Jika client lolos pada otentikasi terkahir dan tidak ada tipe otentikasi lain yang
diperlukan, server akan mengirim pesan sukses
b. Jika client lolos pada otentikasi terakhir tetapi harus melalui otentikasi lain,
server akan mengitim kepada client otentikasi challenge yang berisi otentikasi
lain yang harus dilalui oleh client
c. Jika client gagal pada otentikasi terakhir tetapi jumlah authentication attempts
belum mencapai batas, server akan mengirim ulang otentikasi challenge
d. Jika client gagal pada otentikasi terakhir dan jumlah authentication attempts
telah mencapai batas, server akan mengirimkan pemberitahuan kepada client
bahwa otentikasi gagal dan koneksi pada client diputus
2.5.6 Service Request
SSH support pada beberapa service. Setelah SSH Client melewati semua tipe otentikasi
yang dibutuhkan oleh server, Client akan mengirim service request kepada server untuk
menggunakan service. Berikut prosedur service request:
1. Client mengirim pesan SSH_MSG_CHANNEL_OPEN untuk menginisiasi sesi ke server
2. Saat menerima pesan SSH_MSG_CHANNEL_OPEN, server akan merespon dengan pesan
SSH_MSG_CHANNEL_OPEN_CONFIRMATION untuk membangun sesi dengan client jika
sipport dengan tipe request session
3. Ketika sesi terbangun, Client akan menggunakan shell (SSH) atau subsystem Service
(SFTP)
15
Enkripsi, integritas, dan kompresi algoritma, secara terpisah di setiap arah. Policy harus
spesifik pada algoritmanya.
Public key algorithms dan key exchange method (metode pertukaran kunci) digunakan
untuk host otentication. Keberadaan host key yang terpercaya untuk public key
algorithms juga memberikan efek pada pilihan ini.
Metode autentifikasi dibutuhkan oleh server untuk setiap user. Server policy
membutuhkan banyak autentifikasi untuk beberapa dari semua user yang ada.
Semua enkripsi, integritas, dan public key algorithms yang digunakan sudah dikenal dan
sudah tidak bisa dipungkiri kebenaran algoritmanya.
Semua algoritma dinegosiasikan dan pada kasus, beberapa algoritma dipatahkan, hal ini
mudah untuk mengganti dengan algoritma yang lain tanpa memodifikasi basis protokol.
Service Names
Authentication Methods
Connection Protocol Channel Names
Connection Protocol Global Request Names
Connection Protocol Channel Request Names
melakukan enkripsi dan dekripsi. Pada sistem public-key cryptography, enkripsi dan dekripsi
menggunakan kunci yang berbeda. Sejak dikembangkannya public-key cryptography, selalu
timbul pertanyaan mana yang lebih baik. Para pakar kriptografi mengatakan bahwa keduanya
tidak dapat dibandingkan karena mereka memecahkan masalah dalam domain yang berbeda.
Symmetric cryptography merupakan hal yang terbaik untuk mengenkripsi data.
Kecepatannya dan keamanan akan choosen-ciphertext attack merupakan kelebihannya.
Sementara itu public-key cryptography dapat melakukan hal-hal lain lebih baik daripada
symmetric cryptography, misalnya dalam hal key management.
Untuk algoritma enkripsi yang digunakan, SSH menggunakan algoritma Blowfish, sebuah
algoritma enkripsi yang merupakan symmetric cryptography dan merupakan block chipper
dengan panjang variable-key 32-bit sampai 448-bit. Disinyalir kurang aman, karena sudah ada
cracker yang bisa membobol variable-key sepanjang 56-bit.
Selain itu, SSH menggunakan DES (Data Encrypton Standard). DES merupakan algoritma
kriptografi simetris yang paling umum digunakan saat ini. Biasanya digunakan untuk enkripsi
password di sistem berbasis UNIX. Tetapi penggunaannya sudah tidak aman lagi, karena sudah
ada beberapa pihak yang bisa membobol enkripsi berbasis DES. DES merupakan block chiper
yang beroperasi dengan menggunakan blok berukuran 64-bit dan kunci berukuran 56-bit. Brute
force attack dengan mencoba segala kombinasi membutuhkan 256 kombinasi atau sekitar 70
juta milyar kombinasi, bisa menembus pertahanan DES, meskipun membutuhkan waktu yang
cukup lama yakni 30 hari. Dan DES disinyalir sudah tidak aman lagi.
Secara default, SSH menggunakan IDEA. IDEA singkatan dari International Data
Encryption Algorithm yang merupakan algoritma enkripsi yang menggunakan block chipher
dengan panjang key 128-bit. IDEA memang diklaim yang paling secure daripada jenis algoritma
enkripsi yang lain. Algoritma ini sudah dipakai beberapa tahun belakangan ini dan nampak tidak
ada serangan serius yang dipublikasikan yang menyerang sistem enkripsi IDEA.
Sebagai perbandingan algoritma enkripsi yang digunakan pada SSH1 dan SSH2 terdapat
pada table berikut:
18
Chiper
SSH1
SSH2
DES
Yes
No
3DES
Yes
Yes
IDEA
Yes
No
Blowfish
Yes
Yes
Twofish
No
Yes
Arcfour
No
Yes
Cast128-CBC
No
Yes
Cipher
SSH1
SSH2
RSA
Yes
No
DSA
No
Yes
Local Forwarding
19
Local forwarding terjadi apabila aplikasi client TCP / IP berada di komputer client, dan
server aplikasi TCP / IP yang dituju berada di sisi yang lain. Local forwarding dilakukan
dengan jalan memanfaatkan port di komputer client (mulai dari 1024 sampai 65535)
untuk melewatkan koneksi sebuah aplikasi TCP / IP, kemudian komputer client akan
membuat koneksi ke komputer remote pada port 22 dan akan mengirimkan data ke
komputer tujuan melalui port 22.
Remote Forwarding
Pada Remote Forwarding prosesnya sama dengan Local Forwarding, hanya kebalikan
dari Local Forwarding. Pada Remote Forwarding lokasi server ada di local, sedangkan
lokasi client ada pada remote komputer.
Internet
SSH Tunnel
Local Komputer
SSH Server
Remote Komputer
20
Kesimpulan yang bisa diambil dari makalah ini adalah bahwa Secure Shell (SSH)
didefinisikan sebagai protokol jaringan yang memungkinkan pertukaran data melalui saluran
yang aman antara dua perangkat yang terhubung dalam suatu jaringan. SSH sangat populer,
powerfull dan media keaman jaringan dengan pendekatan perangkat lunak. SSH memiliki tiga
layer yang digunakan saat berkomunikasi
SSH memiliki tujuh fase yang perlu dilalui untuk berkomunkasi hingga akhirnya selesai
dan komunikasi diputus. SSH juga memiliki policies dan tujuan dibentuknya protocol ini. Public
key yang digunakan pada server dan client dapat berbeda. Saat akan berkomunikasi, keduanya
saling bersalaman agar komunikasi dapat terjadi.
21
DAFTAR PUSTAKA
Branchamont, L. (2006, January). The Secure Shell (SSH) Authentication Protocol. Retrieved
September 12, 2014, from RFC-Base: http://www.rfc-base.org/txt/rfc-4252.txt
Branchamont, L. (2006, January). The Secure Shell (SSH) Connection Protocol. Retrieved
September 12, 2014, from RFC-Base: http://www.rfc-base.org/txt/rfc-4254.txt
Branchamont, L. (2006, January). The Secure Shell (SSH) Transport Layer Protocol. Retrieved
September 12, 2014, from RFC-Base: http://www.rfc-base.org/txt/rfc-4253.txt
Cahyani, I. D. (2010). Sistem Keamanan Enkripsi SSH untuk Keamanan Data. Semarang:
Universitas Pandanaran Semarang.
Hangzou H3C Technologies Co., Ltd. (2009). SSH Technology White Paper. Hongkong: H3C
Technologies Co., Ltd.
Purser, J. R. (2008, September 22). SSHv1 or SSHv2? What's the big deal? Retrieved September
27, 2014, from The Cisco Learning Network:
https://learningnetwork.cisco.com/blogs/network-sheriff/2008/09/22/sshv1-or-sshv2whats-the-big-deal
Silverman, D. J. (2005). SSH: The Secure Shell The Definitive Guide. California: O'reilly.
Stalling, W. (2014). Cryptography and Network Security Principle and Practice. New Jersey:
Pearson Education, Inc.
Strickland, J. (2009, March 6). How Moore's Law Works. Retrieved September 20, 2014, from
Howstuffwork: http://computer.howstuffworks.com/moores-law.htm
22