laporan resmi praktikum 2 keamanan data

27
LAPORAN RESMI WORKSHOP KEAMANAN DATA FTP, FTPS, SFTP Instalasi FTP menggunakan port 21 1. install proftpd apt-get install proftpd 2. Buka FileZilla dan Wireshark pada windows 3. Lakukan koneksi pada ip server yang dituju dengan alamat ftp://192.168.100.5 dengan username dan password melalui port 21. 4. Setelah koneksi berhasil maka pilih file untuk di upload ke server. M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 1

Upload: husnimubarrok

Post on 09-Jan-2017

184 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Laporan resmi praktikum 2 keamanan data

LAPORAN RESMIWORKSHOP KEAMANAN DATA

FTP, FTPS, SFTP

Instalasi FTP menggunakan port 211. install proftpd

apt-get install proftpd

2. Buka FileZilla dan Wireshark pada windows

3. Lakukan koneksi pada ip server yang dituju dengan alamat ftp://192.168.100.5 dengan username dan password melalui port 21.

4. Setelah koneksi berhasil maka pilih file untuk di upload ke server.

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 1

Page 2: Laporan resmi praktikum 2 keamanan data

5. Kemudian jika berhasil cek file tersebut dalam server.

6. Lihat WireShark untuk melihat proses yang terjadi dalam proses FTP.a. Alur Proses TCP dalam Proses FTP terdapat PSH dan ACK. PSH bersifat

interaktif dan flag ini adalah pada segmen terakhir dari berkas yang ditransfer dengan menggunakan protokol FTP. Segmen yang dikirimkan dengan flag PSH aktif tidak harus segera di-acknowledge oleh penerima.

b. Dalam response pertama FTP dari server berisi service dan aplikasi ftp apa dan versi berapa yang digunakan.

c. Request dari client untuk mengautentifikasi TLS.

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 2

Page 3: Laporan resmi praktikum 2 keamanan data

d. Response dari menyatakan autentifikasi TLS sukses.

e. Client melakukan request yang selanjutnya tidak dapat terlihat dalam wireshark.

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 3

Page 4: Laporan resmi praktikum 2 keamanan data

Instalasi SFTP : FTP melalui ssh port 221. Buka FileZilla dan Wireshark pada windows

2. Lakukan koneksi pada ip server yang dituju dengan alamat s ftp://192.168.100.5 dengan username dan password melalui port 22.

3. Setelah koneksi berhasil maka pilih file untuk di upload ke server.

4. Kemudian jika berhasil cek file tersebut dalam server.

5. Lihat WireShark untuk melihat proses yang terjadi dalam proses SFTP.a. Alur Proses TCP dalam Proses SFTP terdapat PSH dan ACK. PSH bersifat

interaktif dan flag ini adalah pada segmen terakhir dari berkas yang ditransfer dengan menggunakan protokol FTP. Segmen yang dikirimkan dengan flag PSH aktif tidak harus segera di-acknowledge oleh penerima.

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 4

Page 5: Laporan resmi praktikum 2 keamanan data

b. Terjadi proses pertukaran kunci antara Client dan Server sebagai syarat terjadi suatu proses pertukaran data. Untuk file transfer berupa enkripsi karena SSH menggunakan algoritma enkripsi dalam mengirimikan suatu paket file.

Instalasi FTPS1. Install OpenSSL

apt-get install openssl

2. Lakukan konfigurasi pada proftpd.conf

3. Membuat sertifikat SSL pada proftpda. Buat folder baru untuk menyimpan sertifikat SSL pada proftpd.

b. Generate SSL sertifikat

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 5

Page 6: Laporan resmi praktikum 2 keamanan data

4. Enable TLS pada proftpd.a. Buka konfigurasi proftpd.conf.

b. Hapus tanda # pada Include /etc/proftpd/tls.conf

c. Kemudian buka  /etc/proftpd/tls.conf dengan instruksi seperti berikut:

5. Lakukan restart pada proftpd.

6. Lihat WireShark untuk melihat proses yang terjadi dalam proses FTPS.a. Melalui graph ini dapat dilihat proses request Client dan reponse dari Server.

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 6

Page 7: Laporan resmi praktikum 2 keamanan data

b. Server melakukan response dengan menyediakan service siap digunakan.

c. Pihak Client merequest autenfikasi TLS kepada Server.

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 7

Page 8: Laporan resmi praktikum 2 keamanan data

d. Server meresponse autentifikasi TLS sukses.

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 8

Page 9: Laporan resmi praktikum 2 keamanan data

FTP , FTPS , SFTP1. FTP

FTP (File Transfer Protocol) adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferan file komputer antar mesin-mesin dalam sebuah internetwork.

Pengertian lain dari FTP adalah sebuah protokol client server yang memungkinkan pengguna atau pemakai untuk bisa mengirim atau menerima file dari dan ke sebuah web server. 

FTP dapat melakukan duplikat file secara dua arah dari komputer yang satu ke komputer lainnya atau sebaliknya. Client dapat mengirim file menuju server atau dapat meminta suatu file dari server. Untuk mengakses file di server, pengguna diharuskan untuk mengidentifikasikan dirinya terlebih dahulu, kemudian server akan melakukan proses authentikasi untuk user atau pengguna tersebut.

1.1. Konsep FTPPada FTP terdapat sebuah model FTP, model FTP adalah standar yang mampu

mendeskripsikan sebuah operasi sederhana. Model FTP memiliki tugas mendefinisikan perintah yang berpartisipasi dalam sebuah perpindahan file dari kedua kanal komunikasi yang terbentuk serta komponen-komponen FTP yang mengatur kedua kanal dan definisi terminologi yang digunakan untuk komponen-komponen tersebut.

Sesuai namanya yaitu file transfer protocol (FTP) yang berarti segala prosesnya masuk dalam protokol client dan server. Client FTP disebut sebagai user, dimana para pengguna FTP melakukan perintah dan proses dari mesin yang disebut client.Proses ini berupa serangkaian operasi pada perangkat lunak FTP. Sedangkan pengertian File transfer protocol server atau FTP server adalah tempat dimana FTP client terhubung dan melakukan proses yang berlangsung.

1.2. CARA KERJA FTP FTP menggunakan koneksi berbasis connection-oriented, sehingga dari kedua

sisi harus memiliki koneksi TCP/IP. FTP menggunakan TCP sebagai protokol transport. FTP server menerima koneksi pada port 21 dan 20. FTP server menggunakan dua port yang berbeda, satu digunakan untuk login dan memasukan perintah. Port lainnya digunakan untuk transfer File.

Pada kedua sisi jaringan, aplikasi FTP dilengkapi dengan protocol interpreter (PI), data transfer protocol (DTP), dan tampilan antar muka. Sehingga prinsip kerja protokol FTP adalah sebagai berikut : User interface melakukan perintah melalui PI dan dilanjutkan ke sisi server. Untuk melakukan transfer file PI memberikan perintah pada DTP untuk mengirimkan file. Cara kerja FTP secara lengkap dapat dilihat sebagai berikut :

FTPS (eksplisit)FTPS eksplisit adalah ekstensi untuk standar FTP yang memungkinkan klien

untuk meminta agar sesi FTP dienkripsi. Hal ini dilakukan dengan mengirimkan “AUTH

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 9

Page 10: Laporan resmi praktikum 2 keamanan data

TLS” perintah. Server memiliki pilihan untuk mengizinkan atau menolak koneksi yang tidak meminta TLS. Ekstensi ini protokol didefinisikan dalam standar yang diusulkan: RFC 4217 .

FTPS (implisit)FTPS implisit sudah usang standar untuk FTP yang diperlukan penggunaan

koneksi SSL atau TLS. Hal itu ditentukan untuk menggunakan port yang berbeda dari FTP biasa.

SFTPSFTP adalah singkatan dari Secure File Transfer Protocol. Ini adalah fitur

gabungan antara FTP dan SCP. Protokol ini mengkombinasikan fleksibilitas FTP dan keamanan dari SCP. Protokol ini mendukung transfer file dan manipulasi file. Protokol SFTP bisa juga disebut sebagai protokol baru, yang mana bukan hanya menggunakan FTP melalui SSH.

SFTP , yang “SSH File Transfer Protocol,” tidak berhubungan dengan FTP kecuali bahwa ia juga transfer file dan memiliki perintah yang sama ditetapkan untuk pengguna.SFTP, atau FTP aman, adalah program yang menggunakan SSH untuk mentransfer file. Tidak seperti standar FTP, mengenkripsi kedua perintah dan data, mencegah password dan informasi sensitif dari yang ditransmisikan dalam jelas melalui jaringan. Secara fungsional mirip dengan FTP, tapi karena menggunakan protokol yang berbeda, Anda tidak dapat menggunakan klien FTP standar untuk berbicara dengan server SFTP, Anda juga tidak bisa terhubung ke server FTP dengan klien yang hanya mendukung SFTP.

FTP melalui SSH ( NO SFTP )FTP melalui SSH (tanpa SFTP ) mengacu pada praktek tunneling sesi FTP yang normal melalui SSH sambungan. Karena FTP menggunakan beberapa TCP koneksi (biasa untuk protokol TCP / IP yang masih digunakan), maka sangat sulit untuk terowongan melalui SSH. Dengan klien SSH banyak, berusaha untuk mendirikan sebuah terowongan untuk saluran kontrol (koneksi klien-ke-server awal pada port 21) akan melindungi hanya yang menyalurkan, ketika data yang ditransfer, perangkat lunak FTP di kedua ujung akan membuat baru TCP sambungan (data channel), yang melewati koneksi SSH, dan dengan demikian tidak memiliki kerahasiaan , perlindungan integritas , dll Jika tidak, maka perlu untuk perangkat lunak klien SSH untuk memiliki pengetahuan tertentu dari protokol FTP, dan memantau dan menulis ulang pesan saluran kontrol FTP dan otonom baru yang terbuka forwardings paket untuk saluran FTP data. Versi 3 dari SSH Communications Security suite perangkat lunak ‘s, GPL berlisensi FONC , dan Co: Z FTPSSH proxy adalah paket perangkat lunak tiga yang mendukung mode ini. FTP melalui SSH kadang-kadang disebut FTP sebagai aman; ini tidak harus bingung dengan metode lain untuk mengamankan FTP, seperti dengan SSL / TLS ( FTPS ). Metode lain untuk mentransfer file menggunakan SSH yang tidak berhubungan dengan FTP termasuk SFTP dan SCP , di masing-masing, seluruh percakapan (kredensial dan data) selalu dilindungi oleh protokol SSH.

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 10

Page 11: Laporan resmi praktikum 2 keamanan data

Dari penjelasan dan perbandingan diatas, dapat ditarik kesimpulan mengapa kita dianjurkan menggunakan SCP/SFTP. Protokol ini mengenkripsi komunikasi data dengan memberikan standard keamanan yang lebih baik dan membantu dalam mengamankan data dari ‘pencuri’ data.

Perbedaan FTP, SFTP, FTPS1. FTP

Dua hal penting yang ada dalam FTP adalah FTP server dan FTP Client. FTP server menjalankan software yang digunakan untuk tukar menukar file, yang selalu siap memberian layanan FTP apabila mendapat request dari FTP client. FTP client adalah komputer yang merequest koneksi ke FTP server untuk tujuan tukar menukar file (mengupload atau mendownload file) a. Pertukaran Data

Pertukaran data pada FTP protocol menggunakan 2 channel yang dikenal dengan command channel dan data channel.

b. Commmand channel :- Command channel biasanya berjalan di atas port 21 .- Bertanggung jawab atas koneksi yang datang dari client serta menangani

perintah (command) dari baik dari client atau server (contohnya autentikasi USER dan PASS).

- Command channel akan slalu terbuka sampai client mengirimkan perintah QUIT untuk diskonek atau karena server memaksa untuk dikonek karena client iddle atau karena alasan lain.

-c. Data channel- Data Channel berjalan on-demand pada port temporary di server

(PASSIVE) dan di client (ACTIVE) - Bertanggung jawab terhadap pertukaran data baik itu list direktory

ataupun file transfer. LIST,STOR,RETR adalah contoh perintah yang digunakan untuk direktory listing, upload file dan download file pada data channel.Data Channel akan ditutup ketika transfer data sudah selesai.

d. Security- Pada FTP channel command dan channel data tidak di encrypt. sehingga

data apapun yang dikirim pada channel ini dapat di cegat atau dibaca.

e. Firewall- Server mengijinkan koneksi masuk pada port 21 dan PASSIVE on-demand

port antara 2000-2500 .

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 11

Page 12: Laporan resmi praktikum 2 keamanan data

- Client mengijinkan koneksi keluar pada port 21 dan passive sama seperti server.

2. SFTPSFTP berbasiskan SSH(Secure Shell) protokol. SSH menyediakan secure access ke shell account dalam sebuah remote server. a. Pertukaran Data- Tidak seperti FTP atas FTPS, SFTP tidak menggunakan command channel

dan data channel.- Kedua Channel tersebut di transformasikan menjadi packet dengan format

yang spesial melalui sebuah koneksi.

b. Security- Semua data yang dikirim dari client ke server terencrypt dan

menggunakan encryption cipher.

c. Firewall- Server – Mengijinkan koneksi masuk pada port 22- Client – Mengijinkan koneksi keluar pada port 22

3. FTPS (FTP Secure)Dikarenakan security pada FTP sangat beresiko karena tidak di encrypt maka diusulkanlah dalam RFC 2228 untuk melindungi data FTP saat dikirimkan melalui jaringan menggunakan enkripsi SSL. a. Security- FTPS Implicit SSL

Implicit SSL membutuhkan SSL session untuk menghubungkan antara client dan server sebelum terjadi pertukaran data.

Setiap koneksi yang dibuat oleh client tanpa SSL akan di tolak oleh server.

SSL implicit berjalan diatas port 990. Masih ada yang pakai sudah dianggap kuno

- FTPS Explicit SSL Di dalam Explicit SSL mode, client dan server bernegosiasi tentang

level proteksi yang digunakan. Server akan menawarkan unencrypted FTP atau encrypted FTPS

session dalam sebuah port. Session yang dibentuk ketika client melakukan koneksi pertama adalah

unencrypted. Sebelum mengirimkan user credentials, client akan meminta kepada

Server untuk menukar command channel ke SSL encrypted channel dengan mengirimkan perintah AUTH TLS atau AUTH SSLcommand.

Setelah berhasil melakukan konfigurasi SSL channel maka client akan mengirimkan user credentials ke FTP server.

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 12

Page 13: Laporan resmi praktikum 2 keamanan data

Level dari proteksi data channel antara client dan server dapat dinegosiasikan dengan menggunakan perintah PROT.

b. Firewall- Server mengijinkan koneksi masuk pada port 21 atau 990 dan PASSIVE

on-demand port antara 2000-2500 .- Client mengijinkan koneksi keluar pada port 21 dan passive sama seperti

server.

HTTP & HTTPS

1. HTTP ( Hypertext Transfer Protocol)Hypertext Transfer Protokol (HTTP) adalah sebuah protokol jaringan lapisan

aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan hipermedia penggunaannya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan yang disebut dengan dokumen hiperteks yang kemudian membentuk World Wide Web.

Http merupakan protokol yang menyediakan perintah dalam komunikasi antar jaringan, yaitu komunikasi antara jaringan komputer client dengan web server. Dalam komunikasi ini, komputer client melakukan permintaan dengan mengetikkan alamat atau website yang ingin di akses. Sedangkan server mengolah permintaan tersebut berdasarkan kode protokol yang di inputkan.

HTTP disebut protokol Stateless karena setiap perintah dijalankan secara independen, tanpa pengetahuan tentang perintah yang datang sebelumnya. Ini adalah alasan utama yang sulit untuk menerapkan situs Website yang bereaksi secara cerdas untuk input pengguna.

1.1. Sesi httpSebuah sesi HTTP adalah urutan transaksi permintaan dan respons jaringan

dengan menggunakan protokol HTTP. Sebuah klien HTTP akan memulai sebuah permintaan. Klien tersebut akan membuka sebuah koneksiTransmission Control Protocol (TCP) ke sebuah port tertentu yang terdapat dalam sebuah host (umumnya port 80 atau 8080). Server yang mendengarkan pada port 80 tersebut akan menunggu pesan permintaan klien. Saat menerima permintaan, server akan mengirimkan kembali baris status, seperti “HTTP/1.1 200 OK”, dan pesan yang hendak diminta, pesan kesalahan atau informasi lainnya.

2. Hypertext Transfer Protocol Secure (HTTPS)Hypertext Transfer Protocol Secure (HTTPS) memiliki pengertian yang sama

dengan HTTP hanya saja HTTPS memiliki kelebihan fungsi di bidang keamanan (secure). HTTPS di temukan oleh Netscape Communication Corporation. HTTPS menggunakan Secure Socket Layer (SSL) atau Transport Layer Security(TLS) sebagai sublayer dibawah HTTP aplikasi layer yang biasa. HTTP di enkripsi dan deskripsi dari halaman yang di minta oleh pengguna dan halaman yang di kembalikan oleh web server. Kedua protokol tersebut memberikan perlindungan yang memadai dari serangan eavesdroppers, dan man in the middle attacks. Pada umumnya port yang digunakan HTTPS adalah port 443. Tingkat keamanan tergantung pada ketepatan dalam mengimplementasikan pada browser web dan perangkat lunak server dan didukung

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 13

Page 14: Laporan resmi praktikum 2 keamanan data

oleh algorithma penyandian yang aktual. Oleh karena itu, pada halaman web digunakan HTTPS, dan URL yang digunakan dimulai dengan ‘https://’.

Https dapat menjamin keamanan dalam Autentikasi server yaitu memungkinkan browser dan pengguna memiliki kepercayaan bahwa mereka sedang berbicara kepada server aplikasi sesungguhnya.Https juga mampu dalam menjaga kerahasiaan data dan Integritas data.

3. Perbedaan utama http dan httpsBeberapa perbedaan utama antara http dan https, dimulai dengan port default,

yang 80 untuk http dan 443 untuk https. Https bekerja dengan transmisi interaksi yang normal http melalui sistem terenkripsi, sehingga dalam teori, informasi tidak dapat diakses oleh pihak selain klien dan server akhir. Ada dua jenis umum lapisan enkripsi: Transport Layer Security (TLS) dan Secure Socket Layer (SSL), yang keduanya menyandikan catatan data yang dipertukarkan.

4. Cara KerjaHttps bukan protokol yang terpisah, tetapi mengacu pada kombinasi dari

interaksi HTTP normal melalui Socket Layer terenkripsi SSL (Secure) atau Transport Layer Security (TLS) mekanisme transportasi. Hal ini menjamin perlindungan yang wajar dari penyadap dan (asalkan dilaksanakan dengan benar dan otoritas sertifikasi tingkat atas melakukan pekerjaan mereka dengan baik) serangan.

Port default TCP https: URL adalah 443 (untuk HTTP tanpa jaminan, defaultnya adalah 80). Untuk mempersiapkan web-server untuk koneksi https penerima harus sebagai administrator dan membuat sertifikat kunci publik untuk server web. Sertifikat ini dapat dibuat untuk server berbasis Linux dengan alat seperti Open SSL yang ssl atau gensslcert SuSE. Sertifikat ini harus ditandatangani oleh otoritas sertifikat satu bentuk atau lain, yang menyatakan bahwa pemegang sertifikat adalah siapa yang mereka ajukan. Web browser pada umumnya didistribusikan dengan penandatanganan sertifikat otoritas sertifikat utama, sehingga mereka dapat memverifikasi sertifikat yang ditandatangani oleh mereka.

Bila menggunakan koneksi https, server merespon koneksi awal dengan menawarkan daftar metode enkripsi mendukung. Sebagai tanggapan, klien memilih metode sambungan, dan klien dan sertifikat server pertukaran untuk otentikasi identitas mereka. Setelah ini dilakukan, kedua belah pihak bertukar informasi terenkripsi setelah memastikan bahwa kedua menggunakan tombol yang sama, dan koneksi ditutup. Untuk host koneksi https, server harus memiliki sertifikat kunci publik, yang embeds informasi kunci dengan verifikasi identitas pemilik kunci itu. Sertifikat Kebanyakan diverifikasi oleh pihak ketiga sehingga klien yakin bahwa kuncinya adalah aman.

5. Keuntungan  mengubah HTTP menjadi HTTPS?Untuk mengamankan komunikasi antara browser dengan web server.

Bagaimana bisa? Ilustrasi singkat berikut akan menjawabnya: Ketika anda mengakses sebuah web server yang menggunakan protokol HTTPS, halaman yang dikirimkan pada anda telah dienkripsi dulu oleh protokol ini. Dan semua informasi yang anda kirimkan ke server (registrasi, identitas, nomor pin, transfer pembayaran) akan dienkripsi juga sehingga tidak ada yg bisa mencuri dengar (eavesdropping) data-data anda  ketika proses transaksi sedang berlangsung. Maka transaksi data anda menjadi lebih safe. Protokol HTTPS bisa anda temukan pada situs-situs perbankan, ecommerce, form

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 14

Page 15: Laporan resmi praktikum 2 keamanan data

registrasi, dsb. Karena di area bisnis inilah rentan sekali terjadi eavesdropping oleh pihak ketiga. Untuk itulah anda membutuhkan sertifikat SSL.Beberapa variasi kemungkinan halaman dan form URL yang perlu diperhatikan adalah:

Halaman form di http://internetbanking.com/formlogin.html dan tag form login dalam bentuk <form action=http://internetbanking.com/dologin.php>. Ini benar-benar tidak aman karena tidak ada enkripsi sama sekali.

Halaman di http://internetbanking.com/formlogin.html , tag form login dalam bentuk <form action=https://internetbanking.com/dologin.php . Ini pun tetap tidak aman karena formlogin bisa diubah dengan mitm attack.

Halaman di https://internetbanking.com/formlogin.html , tag form login dalam bentuk <form action=http://internetbanking.com/dologin.php>. Form login tidak bisa diserang, namun password dikirimkan tanpa terenkripsi. Sama saja bohong.

Halaman di https://internetbanking.com/formlogin.html, tag form login dalam bentuk <form action=https://internetbanking.com/dologin.php>. Ini baru aman, form login tidak bisa diserang, dan password terenkrip.

Page Url     Form Url     StatusHTTP        HTTP        Not secure, nothing encrypted.HTTP        HTTPS     Not secure, vulnerable to mitm attack.HTTPS     HTTP        Not secure, form data not encrypted.HTTPS     HTTPS     Maximum Security

6. KesimpulanHttp dan https memiliki peranan yang sama dalam  mendefinisikan bagaimana

suatu pesan bisa diformat dan dikirimkan dari server ke client, hanya saja https memiliki kelebihan fungsi dalam sistem keamanan dengan mengenkripsikan informasi menggunakan SSL dan TLS. Sehingga https memiliki keamanan yang lebih di bandingkan http.

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 15

Page 16: Laporan resmi praktikum 2 keamanan data

Kriptografi

Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga. Menurut Bruce Scheiner dalam bukunya "Applied Cryptography", kriptografi adalah ilmu pengetahuan dan seni menjaga message-message agar tetap aman (secure).

Kriptografi adalah cabang dari ilmu matematika yang memiliki banyak fungsi dalampengamanan data. Kriptografi adalah proses mengambil pesan/message dan menggunakan beberapa fungsi untuk menggenerasi materi kriptografis (sebuah digest atau message terenkripsi).

Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita [bruce Schneier - Applied Cryptography]. Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data [A. Menezes, P. van Oorschot and S. Vanstone - Handbook of Applied Cryptography]. Tidak semua aspek keamanan informasi ditangani oleh kriptografi.

Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :

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.

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.

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.

Non-repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.

Konsep kriptografi sendiri telah lama digunakan oleh manusia misalnya pada peradaban Mesir dan Romawi walau masih sangat sederhana. Prinsip-prinsip yang mendasari kriptografi yakni:

Confidelity (kerahasiaan) yaitu layanan agar isi pesan yang dikirimkan tetap rahasia dan tidak diketahui oleh pihak lain (kecuali pihak pengirim, pihak penerima / pihak-pihak memiliki ijin). Umumnya hal ini dilakukan dengan cara membuat suatu algoritma matematis yang mampu mengubah data hingga menjadi sulit untuk dibaca dan dipahami.

Data integrity (keutuhan data) yaitu layanan yang mampu mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan atau penambahan) data yang tidak sah (oleh pihak lain).

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 16

Page 17: Laporan resmi praktikum 2 keamanan data

Authentication (keotentikan) yaitu layanan yang berhubungan dengan identifikasi. Baik otentikasi pihak-pihak yang terlibat dalam pengiriman data maupun otentikasi keaslian data/informasi.

Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat mencegah suatu pihak untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa pesan tersebut berasal dirinya).

Berbeda dengan kriptografi klasik yang menitikberatkan kekuatan pada kerahasiaan algoritma yang digunakan (yang artinya apabila algoritma yang digunakan telah diketahui maka pesan sudah jelas "bocor" dan dapat diketahui isinya oleh siapa saja yang mengetahui algoritma tersebut), kriptografi modern lebih menitikberatkan pada kerahasiaan kunci yang digunakan pada algoritma tersebut (oleh pemakainya) sehingga algoritma tersebut dapat saja disebarkan ke kalangan masyarakat tanpa takut kehilangan kerahasiaan bagi para pemakainya.Berikut adalah istilah-istilah yang digunakan dalam bidang kriptografi :

Plaintext (M) adalah pesan yang hendak dikirimkan (berisi data asli). Ciphertext (C) adalah pesan ter-enkrip (tersandi) yang merupakan hasil enkripsi. Enkripsi (fungsi E) adalah proses pengubahan plaintext menjadi ciphertext. Dekripsi (fungsi D) adalah kebalikan dari enkripsi yakni mengubah ciphertext

menjadi Plaintext, sehingga berupa data awal/asli. Kunci adalah suatu bilangan yang dirahasiakan yang digunakan dalam proses enkripsi dan dekripsi.

Kriptografi itu sendiri terdiri dari dua proses utama yakni proses enkripsi dan proses dekripsi. Seperti yang telah dijelaskan di atas, proses enkripsi mengubah plaintext menjadi ciphertext (dengan menggunakan kunci tertentu) sehingga isi informasi pada pesan tersebut sukar dimengerti.

Perkembangan komunikasi telah mendorong manusia untuk menyembunyikan informasi yang dimilikinya dari orang lain demi alasan keamanan dan privasi.Seseorang yang berusaha untuk mengembangkan dan membuat kode kriptografi disebut cryptographer. Sedangkan seseorang yang berusaha memecahkan kode tersebut disebut cryptanalists.

Kriptografi telah dikenal sejak 4000 tahun yang lalu. Kriptografi dahulunya adalah usaha untuk mengubah pesan dengan menambah atau mengubah karakter tertentu. Sekarang, telah ditemukan metode kriptografi terbaru yaitu: quantum cryptography.

Physical Cryptography

Physical cryptography meliputi metode untuk menukar tempat (transposition) atau mensubtitusikan karakter tertentu dalam pesan. Substitution Ciphers Adalah metode kriptografi dengan jalan mengganti karakter/simbol tertentu dengan karakter/simbol yang lain. Misal “a“: “x“ dan “b” : “y”, maka “apa kabar” : “xpx kxyxr”. Masalah: (a) tidak aman dan (b) apakah “x” dalam pesan benar-benar “x” atau hasil substitusi?

Transposition Ciphers Adalah metode kriptografi dengan menukarkan atau mengacak kata/bagian kata dari pesan dengan aturan tertentu. Contoh: “Aku Cinta Kamu” : “kuA taCin muKa”

Steganography Yaitu proses menyembunyikan pesan dalam pesan lain dengan harapan agar pesan yang sesungguhnya tidak dapat dideteksi. Contoh: “Aku Cinta Kamu” : “Aku Sangat Cinta Durian Kamu” Hybrid System Yaitu gabungan dari ketiga metode di atas. Contoh: Mesin Enigma yang dipakai Jerman dalam PD

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 17

Page 18: Laporan resmi praktikum 2 keamanan data

II untuk mengirim pesan ke perahu “U”-nya, menggunakan kombinasi antara subtitusi dan transposisi.

Quantum CryptographyQuantum kriptografi adalah metode enskripsi yang relatif baru. Pada awal tahun

2002, aplikasinya dibatasi untuk laboratorium dan proyek rahasia pemerintah. Proses didasari oleh Prinsip Ketidakpastian Heisenberg yang sebenarnya dipakai dalam teori atom modern.

Dalam quantum kriptografi, pesan dikirim dengan menggunakan runtun foton. Jika penerima mengetahui urutan dan polaritas dari foton maka ia bisa menterjemahkan pesan tersebut, Dan jika seseorang yang berusaha mengintip pesan, beberapa foton akan berubah polaritasnya. Hal ini akan memberi tahu si penerima bahwa pesan telah dibaca orang lain, dan dia bisa meminta si pengirim untuk mengirim ulang pesan dengan polaritas foton yang berbeda.

Quantum kriptografi memungkinkan adanya enskripsi yang tidak bisa dipecahkan. Meski demikian biaya yang dibutuhkan sangat mahal dan masih dipakai dalam aplikasi yang terbatas.

algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis. Algoritma tersebut harus memiliki kekuatan untuk melakukan (dikemukakan oleh Shannon):

konfusi/pembingungan (confusion), dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya

difusi/peleburan (difusion), dari teks terang sehingga karakteristik dari teks terang tersebut hilang.

sehingga dapat digunakan untuk mengamankan informasi. Pada implementasinya sebuah algoritmas sandi harus memperhatikan kualitas layanan/Quality of Service atau QoS dari keseluruhan sistem dimana dia diimplementasikan. Algoritma sandi yang handal adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri. Teknik dan metode untuk menguji kehandalan algoritma sandi adalah kriptanalisa.

Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan yaitu yang berisi elemen teks terang /plaintext dan yang berisi elemen teks sandi/ciphertext. Enkripsi dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan tersebut. Apabila elemen-elemen teks terang dinotasikan dengan P, elemen-elemen teks sandi dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan dengan E, dekripsi dengan notasi D.Enkripsi : E(P) = CDekripsi : D(C) = P atau D(E(P)) = PSecara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi :

kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik

kunci-asimetris/asymetric-key

Berdasarkan arah implementasi dan pembabakan jamannya dibedakan menjadi : algoritma sandi klasik classic cryptography algoritma sandi modern modern cryptography

Berdasarkan kerahasiaan kuncinya dibedakan menjadi : algoritma sandi kunci rahasia secret-key

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 18

Page 19: Laporan resmi praktikum 2 keamanan data

algoritma sandi kunci publik publik-key

Pada skema kunci-simetris, digunakan sebuah kunci rahasia yang sama untuk melakukan proses enkripsi dan dekripsinya. Sedangkan pada sistem kunci-asimentris digunakan sepasang kunci yang berbeda, umumnya disebut kunci publik(public key) dan kunci pribadi (private key), digunakan untuk proses enkripsi dan proses dekripsinya. Bila elemen teks terang dienkripsi dengan menggunakan kunci pribadi maka elemen teks sandi yang dihasilkannya hanya bisa didekripsikan dengan menggunakan pasangan kunci pribadinya. Begitu juga sebaliknya, jika kunci pribadi digunakan untuk proses enkripsi maka proses dekripsi harus menggunakan kunci publik pasangannya.

Skema ini adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Skema ini disebut juga sebagai sistem kriptografi kunci publik karena kunci untuk enkripsi dibuat untuk diketahui oleh umum (public-key) atau dapat diketahui siapa saja, tapi untuk proses dekripsinya hanya dapat dilakukan oleh yang berwenang yang memiliki kunci rahasia untuk mendekripsinya, disebut private-key. Dapat dianalogikan seperti kotak pos yang hanya dapat dibuka oleh tukang pos yang memiliki kunci tapi setiap orang dapat memasukkan surat ke dalam kotak tersebut. Keuntungan algoritma model ini, untuk berkorespondensi secara rahasia dengan banyak pihak tidak diperlukan kunci rahasia sebanyak jumlah pihak tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi para korensponden untuk mengenkripsi pesan, dan kunci privat untuk mendekripsi pesan. Berbeda dengan skema kunci-simetris, jumlah kunci yang dibuat adalah sebanyak jumlah pihak yang diajak berkorespondensi.Apabila Ahmad dan Bejo hendak bertukar berkomunikasi, maka:

1. Ahmad dan Bejo masing-masing membuat 2 buah kunci

1. Ahmad membuat dua buah kunci, kunci-publik dan kunci-privat 2. Bejo membuat dua buah kunci, kunci-publik dan kunci-privat

2. Mereka berkomunikasi dengan cara:

1. Ahmad dan Bejo saling bertukar kunci-publik. Bejo mendapatkan

dari Ahmad, dan Ahmad mendapatkan dari Bejo.

2. Ahmad mengenkripsi teks-terang ke Bejo dengan fungsi

3. Ahmad mengirim teks-sandi ke Bejo

4. Bejo menerima dari Ahmad dan membuka teks-terang dengan fungsi

Hal yang sama terjadi apabila Bejo hendak mengirimkan pesan ke Ahmad

1. Bejo mengenkripsi teks-terang ke Ahmad dengan fungsi

Ahmad menerima dari Bejo dan membuka teks-terang dengan fungsi

M. Husni Mubarrok (2103131032) |Ahmad maimun A. (2103131038) 19