ENKRIPSI DAN KEAMANAN JARINGAN BAB 3
Materi : 1. Rancangan Pembelajaran 2. Pengantar Keamanan Komputer 3. Arsitektur Keamanan Jaringan 4. Kriptografi 5. Firewall dan Proxy 6. Web Defense 7. Protokol Keamanan (IP SEC, PPTP, RADIUS, TACACS+) 8. Security Policy and Management 9. Network Troubleshooting dan Management 10. Wireless Network Security 11. Business Continuity 12. Risk Mitigation
The art of war teaches us to rely not on the likelihood of the enemy's not coming, but on our own readiness to receive him; not on the chance of his not attacking, but rather on the fact that we have made our position unassailable. —The Art of War, Sun Tzu
Model for Network Security
using this model requires us to: 1. design a suitable algorithm for the security transformation 2. generate the secret information (keys) used by the algorithm 3. develop methods to distribute and share the secret information 4. specify a protocol enabling the principals to use the transformation and secret information for a security service
Model for Network Access Security
using this model requires us to: 1. select appropriate gatekeeper functions to identify users 2. implement security controls to ensure only authorised users access designated information or resources
Outline Definisi Kriptografi Tujuan Kriptografi Prinsip Kriptografi Skema Sistem Kriptografi Algoritma Kriptografi
Definisi kriptografi : Berasal dari kata cryptography diadopsi dari bahasa Yunani untuk merujuk kepada “secret- writing” Ilmu yang ditujukan untuk mempelajari dan melakukan eksplorasi seputar keamanan pengiriman sebuah pesan ( message ). Praktisi yang menggunakannya sering disebut dengan kriptografer (cryptographer).
Implementasi kriptografi: Dasar pengembangannya menggunakan model matematika. Banyak digunakan terutama dalam bidang pertahanan dan keamanan. Umum diaplikasikan untuk segala aktivitas yang berhubungan dengan Teknologi Informasi.
Prinsip Kriptografi: Menjaga kerahasiaan pesan (confidentiality). Keabsahan pengirim (user authentication). Keaslian pesan (message authentication). Anti-penyangkalan (non-repudiation).
Skema Sistem Kriptografi
Pemodelan Matematis: Plaintext : x Algoritma : tambahkan x dengan bilangan 13 Key : f ( x ) Ciphertext : ( x + 13 )
Contoh: Plaintext Televisi sudah dibeli Ciphertext Gryrivfv fhqnu qvoryv Key enkripsi dekripsi
Elemen Sistem Kriptografi: Plaintext: yakni pesan sumber yang pertama dibuat oleh user ; dapat dibaca oleh orang umumnya. Ciphertext: ini adalah bentuk setelah pesan dalam plaintext telah diubah bentuknya menjadi lebih aman dan tidak dapat dibaca. Proses mengubah plaintext menjadi ciphertext disebut encryption ( enciphering ), dan proses membalikkannya kembali disebut decryption ( deciphering ). Cryptographic algorithm: yaitu mekanisme/ tahapan yang digunakan berdasar operasi matematika untuk mengubah plaintext menjadi ciphertext.
Elemen Sistem Kriptografi: Key: yakni kunci yang digunakan berdasar pada cryptographic algorithm untuk melakukan proses enkripsi dan dekripsi kepada pesan yang dikirimkan. Ini berarti bahwa hanya user yang memiliki key saja yang dapat men- decrypt sebuah pesan dalam bentuk ciphertext.
Skema Proses Enkripsi dan Dekripsi enkripsi dekripsi Plaintext Ciphertext
Algoritma Kriptografi Berdasarkan jenis kunci yang digunakan : o Algoritma Simetris o Algoritma Asimetris Berdasarkan besar data yang diolah : o Algoritma Block Cipher o Algoritma Stream Cipher
Berdasarkan jenis kunci yang digunakan : Algoritma Simetris Algoritma simetris (symmetric algorithm) adalah suatu algoritma dimana kunci enkripsi yang digunakan sama dengan kunci dekripsi sehingga algoritma ini disebut juga sebagai single-key algorithm.
Kelebihan algoritma simetris : Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetrik. Karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem real-time Kelemahan algoritma simetris : Untuk tiap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci yang berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci tersebut. Permasalahan dalam pengiriman kunci itu sendiri yang disebut “key distribution problem”
Berdasarkan jenis kunci yang digunakan : Algoritma Asimetris Algoritma asimetris (asymmetric algorithm) adalah suatu algoritma dimana kunci enkripsi yang digunakan tidak sama dengan kunci dekripsi. Pada algoritma ini menggunakan dua kunci yakni kunci publik (public key) dan kunci privat (private key). Kunci publik disebarkan secara umum sedangkan kunci privat disimpan secara rahasia oleh si pengguna. Walau kunci publik telah diketahui namun akan sangat sukar mengetahui kunci privat yang digunakan.
Kelebihan algoritma asimetris : Masalah keamanan pada distribusi kunci dapat lebih baik Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit Kelemahan algoritma asimetris : Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan dengan algoritma simetris.
Berdasarkan besar data yang diolah : Block Cipher algoritma kriptografi ini bekerja pada suatu data yang berbentuk blok/kelompok data dengan panjang data tertentu (dalam beberapa byte), jadi dalam sekali proses enkripsi atau dekripsi data yang masuk mempunyai ukuran yang sama. Stream Cipher algoritma yang dalam operasinya bekerja dalam suatu pesan berupa bit tunggal atau terkadang dalam suatu byte, jadi format data berupa aliran dari bit untuk kemudian mengalami proses enkripsi dan dekripsi.
Algoritma block cipher : Informasi/data yang hendak dikirim dalam bentuk blok-blok besar (misal 64-bit) dimana blok-blok ini dioperasikan dengan fungsi enkripsi yang sama dan akan menghasilkan informasi rahasia dalam blok-blok yang berukuran sama juga. Contoh: RC4, Seal, A5, Oryx. Algoritma stream cipher : Informasi/data yang hendak dikirim dioperasikan dalam bentuk blok-blok yang lebih kecil ( byte atau bit ), biasanya satu karakter per-satuan waktu proses, menggunakan tranformasi enkripsi yang berubah setiap waktu. Contohnya: Blowfish, DES, Gost, Idea, RC5, Safer, Square, Twofish, RC6, Loki97.
Keamanan Kriptografi: Sistem yang handal bisa melewatkan sebuah pesan dalam bentuk ciphertext pada sebuah kanal yang belum tentu aman. Ada tiga aspek untuk melindungi sebuah pesan yang ingin dikirimkan, yaitu dengan memberi lapisan keamanan pada sisi: pengirim, penerima, dan kanal yang digunakan untuk media pengiriman.
Kesimpulannya, sistem kriprografi (cryptosystem) adalah interaksi diantara elemen-elemen sistem yang terdiri dari: algoritma kriptografi, plaintext, ciphertext, dan kunci untuk menghasilkan bentuk baru dari perubahan bentuk sebelumnya. Orang yang berusaha untuk melakukan penyadapan atau pembongkaran disebut dengan penyadap (eavesdropper) atau intruder.
Cryptography Proses menyandikan plaintext menjadi ciphertext disebut enkripsi (encryption) atau enciphering Proses mengembalikan ciphertext menjadi plaintextnya disebut dekripsi (decryption) atau deciphering plaintext ciphertext plaintext semula plaintext ciphertext plaintext semula enkripsi dekripsi enkripsi dekripsi
Apa hubungan antara cryptanalysis dan cryptology ???
Definisi : Cryptanalysis adalah cara yang digunakan untuk memecahkan chipertext menjadi plaintext tanpa mengetahui kunci ( key ) yang sebenarnya. User yang melakukannya disebut cryptanalyst. Cryptology adalah studi yang dilakukan untuk mempelajari segala bentuk tentang cryptography dan cryptanalysis.
Persamaan cryptography dan cryptanalysis : Mengeksplorasi bagaimana proses menerjemahkan ciphertext menjadi plaintext. Perbedaan cryptography dan cryptanalysis : cryptography bekerja secara legal berdasar proses legitimasi sebagaimana mestinya (yakni pengirim atau penerima pesan). cryptanalysis bekerja secara ilegal karena dilakukan dengan cara menyadap untuk memungkin yang tidak berhak mengakses informasi.
Fakta sejarah penggunaan kriptografi: Tentara Yunani pada perang di Sparta (400SM) menggunakan scytale, yakni pita panjang dari daun papyrus + sebatang silinder, yang digunakan sebagai alat untuk mengirimkan pesan rahasia perihal strategi perang.
Skema Scytale : Plaintext ditulis secara horisontal (yakni baris per baris). Jika pita dilepas, maka huruf-huruf pada pita telah tersusun membentuk pesan rahasia ( ciphertext ). Agar penerima bisa membaca pesan tersebut, maka pita dililitkan kembali menggunakan silinder yang diameternya sama dengan diameter silinder si pengirim.
Implementasi enkripsi proses pengiriman data melalui kanal komunikasi (kanal suara atau kanal data). mekanisme penyimpanan data ke dalam disk-storage.
Skema Implementasi Kriptografi: di-enkripsi menjadi ciphertext plaintext Basisdata dikirimkan transmitter
Contoh Contoh-contoh pada data tersimpan: Dokumen teks Plainteks (plain.txt): Ketika saya berjalan-jalan di pantai, saya menemukan banyak sekali kepiting yang merangkak menuju laut. Mereka adalah anak-anak kepiting yang baru menetas dari dalam pasir. Naluri mereka mengatakan bahwa laut adalah tempat kehidupan mereka Cipherteks (cipher.txt): Ztâxzp/épêp/qtüyp{p}<yp{p}/sx/p}âpx;épêp/|t}t|äzp}/qp}êpz/étzp {x/ztxâx}vêp}v/|tüp}vzpz/|t}äyä/{päâ=/\tützppsp{pw/p}pz<p}pz/z txâx}v/êp}v/qpüä|t}tâpé/spüx/sp{p|/péxü=/]p{äüx|ttüzp/|t}vpâpz p}/qpwåp/{päâ/psp{pwât|pâ/ztwxsäp}/|tützp=
Implementasi Kriptografi pada image : Plain image ( sabrina.jpg ): Cipher image ( sabrina1.jpg ):
Contoh Dokumen basisdata Plainteks (siswa.dbf): Cipherteks (siswa2.dbf): NIMNamaTinggiBerat Soleha Cahaya Aisyah Kasih17062 NIMNamaTinggiBerat tüp}vzpz/| {äâ|äzp}épêp tâpé/spüx/sppéxü=ztwx pâ/ztwxsäp}/|tüspüx |äzp}/qpqp}êwxsä
Kekuatan sebuah sistem kriptografi: Semakin banyak usaha yang diperlukan, untuk membongkar sebuah cryptosystems, maka semakin lama waktu yang dibutuhkan; sehingga semakin kuat algoritma kriptografi yang digunakan, artinya semakin aman digunakan untuk menyandikan pesan
Kekuatan sebuah sistem kriptografi: Sebuah algoritma cryptography bersifat restricted, apabila kekuatan kriptografi-nya ditentukan dengan menjaga kerahasiaan algoritma tersebut. Saat ini algoritma bersifat restricted tidak lagi banyak digunakan; dengan alasan tidak cocok dalam penggunaan pada karakter open-systems.
Kekuatan sebuah sistem kriptografi: Pada lingkungan dengan karakter open-systems, kekuatan algoritma cryptograpy -nya terletak pada key yang digunakan, yakni berupa deretan karakter atau bilangan bulat.
Jika disimbolkan: C = chipertext P = plaintext maka: Fungsi pemetaan P C ; disebut E ( encryption ): Fungsi pemetaan C P disebut D ( decryption ): E( P ) = C D( C ) = P
Dengan menggunakan key ( K ), fungsi enkripsi dan dekripsi berubah menjadi: E K ( P ) = C D K ( C ) = P untuk enkripsi untuk dekripsi dan ekivalen menjadi: D K (E K ( P )) = P
Skema Proses Enkripsi dan Dekripsi dengan K : enkripsi dekripsi Plaintext Ciphertext K K
Apabila kunci ( K ) enkripsi sama dengan kunci dekripsi, maka sistem kriptografi-nya disebut sistem simetris (sistem konvensional); dan algoritma kriptografi-nya disebut dengan algoritma simetri atau algoritma konvensional. Contohnya: Algoritma DES ( Data Encyption Standard ).
K yang sama digunakan untuk enkripsi dan dekripsi pesan: Kriptografi simetris
Contoh algoritma simetris Data Encryption Standard (DES), RC2, RC4, RC5, RC6, International Data Encryption Algorithm (IDEA), Advanced Encryption Standard (AES), On Time Pad (OTP), A5, dan lain sebagainya.
Algoritma asimetris Menggunakan dua kunci yakni kunci publik ( public-key ), umumnya digunakan sebagai kunci enkripsi; dan kunci privat ( private-key ) yang umumnya digunakan sebagai kunci dekripsi. Kunci publik disebarkan secara umum sedangkan kunci privat disimpan secara rahasia oleh user. Walaupun kunci publik telah diketahui namun akan sangat sukar mengetahui kunci privat yang digunakan
Pada kriptografi asimetris, K1 digunakan untuk enkripsi plaintext dan K2 digunakan untuk dekripsi ciphertext :
Contoh algoritma asimetris Digital Signature Algorithm (DSA), RSA, Diffle-Hellman (DH), Elliptic Curve Cryptography (ECC), Kriptografi Quantum, dan lain sebagainya.
Serangan Terhadap Kriptografi Penyadap berusaha mendapatkan data yang digunakan untuk kegiatan kriptanalisis Kriptanalis berusaha mengungkapkan plainteks atau kunci dari data yang disadap Kriptanalis dapat juga menemukan kelemahan dari sistem kriptografi yang pada akhirnya mengarah untuk menemukan kunci dan mengungkapkan plainteks Penyadapan dapat dilakukan melalui saluran kabel komunikasi dan saluran wireless
Jenis-jenis serangan: 1. Exhaustive attack atau brute force attack Percobaan yang dibuat untuk mengungkapkan plainteks atau kunci dengan mencoba semua kemungkinan kunci (trial and error) Diasumsikan kriptanalis: Memiliki sebagian plainteks dan cipherteks yang bersesuaian Caranya: Plainteks yang diketahui dienkripsi dengan setiap kemungkinan kunci, lalu hasilnya dibandingkan dengan cipherteks yang bersesuaian Jika hanya cipherteks yang tersedia, cipherteks tersebut didekripsi dengan setiap kemungkinan kunci dan plainteks hasilnya diperiksa apakah mengandung makna atau tidak Serangan ini membutuhkan waktu yang sangat lama Untuk menghindari serangan ini, gunakan kunci yang panjang dan tidak mudah ditebak
Waktu yang diperlukan untuk exhaustive key search (Sumber: William Stallings, Data and Computer Communication Fourth Edition) Ukuran KunciJumlah Kemungkinan KunciLama waktu untuk 10 6 percobaan per detik Lama waktu untuk percobaan per detik 16 bit2 16 = milidetik mikrodetik 32 bit2 12 = 4.3 X menit2.15 milidetik 56 bit2 56 = 7.2 X tahun10.01 jam 128 bit2 128 = 4.3 X tahun5.4 tahun
Jenis-jenis serangan: 2. Analytical attach Kriptanalis tidak mencoba semua kemungkinan kunci, tetapi menganalisa kelemahan algoritma kriptografi untuk mengurangi kemungkinan kunci yang tidak ada. Analisa yang dilakukan dengan memecahkan persamaan- persamaan matematika yang diperoleh dari definisi suatu algoritma kriptografi Diasumsikan kriptanalis mengetahui algoritma kriptografi Metode analytical attack biasanya lebih cepat menemukan kunci dibandingkan dengan exhaustive attack. Untuk menghindari serangan ini, kriptografer harus membuat algoritma yang kompleks. Untuk menghindari serangan ini, kriptografer harus membuat algoritma yang kompleks.
Memastikan keamanan dari algoritma kriptografi Algoritma harus dievaluasi oleh pakar Algoritma yang tertutup (tidak dibuka kepada publik) dianggap tidak aman Membuat algoritma yang aman tidak mudah Code maker VS code breaker akan terus berlangsung
Lokasi Peralatan dari enkripsi
Enkripsi End to End Enkripsi dilakukan di akhir dari sistem Data dalam bentuk enkripsi yang melewati jaringan unaltered Tujuan membagi kunci dengan sumber untuk decrypt Host hanya dapat enkripsi data user node switching tidak dapat membaca header atau paket routing Pola lalu lintas tidak aman Menggunakan sambungan end to end
Distribusi key otomatik (diag)
Traffic Padding Menghasilkan potongan text yang berkesinambungan Jika tidak ada text datar untuk encoding, maka akan mengirim data acak Membuat ketidakmungkinan analisa traffic
Message Authentication Code Generate authentication code based on shared key and message Common key shared between A and B Jika hanya pengirim dan penerima yang mengetahui key dan code yang sesuai: Receiver assured message has not altered Receiver assured message is from alleged sender If message has sequence number, receiver assured of proper sequence
Message Authentication Using Message Authentication Code
SSL SSL atau Secure Sockets Layer adalah sebuah protokol keamanan data yang digunakan untuk menjaga pengiriman data web server dan pengguna situs web tersebut. Jenis SSL yang paling aman dapat dilihat dari tingkat keamanan SSL, yang terletak pada kekuatan enkripsi yang didukungnya (misalnya 256 bit). Semakin besar tingkat enkripsi semakin susah untuk dibobol. Secara teknis, semua SSL dengan tingkat enkripsi yang sama, mempunyai tingkat keamanan yang sama. Untuk mengetahui apabila transaksi diamankan oleh SSL adalah sebuah icon berlambangkan gembok yang terkunci akan muncul di browser yang telah diamankan dengan SSL. Dengan meng-klik icon tersebut akan diketahui otoritas sertifikasi dari sertifikat SSL tersebut.
SSL dikembangkan oleh Netscape Communication pada tahun SSL memiliki tiga versi yaitu 1.0, 2.0, dan 3.0 yang diliris pada tahun SSL merupakan suatu standar teknologi keamanan yang menjamin bahwa seluruh data yang dilewatkan antara web server dengan web browser terjaga kerahasiaan dan keutuhannya. SSL membuat koneksi yang ter-enkripsi (tersandi) antara server atau situs dengan pengunjungnya saat pengunjung itu mengaksesnya, sehingga data rahasia atau penting bisa terkirim tanpa khawatir ada usaha perubahan ditengah jalannya. Tanpa enkripsi SSL semua data yang dikirim lewat internet sangat mungkin dilihat oleh orang lain. SSL bertindak sebagai protokol yang mengamankan komunikasi antara client dan server.
Protokol SSL mengotentikasi server kepada client menggunakan kriptografi kunci publik dan sertifikat digital. Protokol ini juga menyediakan otentikasi client ke server. Algoritma kunci publik yang digunakan adalah RSA, dan untuk algoritma kunci rahasia yang digunakan adalah IDEA, DES, dan 3DES, dan algoritma fungsi hash menggunakan MD5. Verifikasi kunci publik dapat menggunakan sertifikat yang berstandar X.509.
Komponen SSL Komponen SSL disusun oleh dua sub-protokol : a) SSL handshaking, yaitu sub-protokol untuk membangun koneksi yang aman untuk berkomunikasi. b) SSL record, yaitu sub-protokol yang menggunakan koneksi yang sudah aman. SSL record membungkus seluruh data yang dikirim selama koneksi.
Cara kerja SSL 1. Tahapan Pembangunan Chanel. 2. Client membentuk koneksi awal ke server dan meminta koneksi SSL. 3. Jika server yang dihubungi telah dikonfigurasi dengan benar, maka server ini mengirimkan public key miliknya kepada client. 4. Client membandingkan sertifikat dari server ke basis data trusted authorities. Jika sertifikat terdaftar di dalamnya, artinya client mempercayai (trust) server itu dan akan maju ke tahap 4. Sehingga pemakai harus menambahkan sertifikat tersebut ke trusted database sebelum maju ke langkah 4.
Secure Socket Layer
SSL Protocol Stack
SSL Record Protocol Operation
Keuntungan SSL
Celah SSL Ticker symbol smashing. Biasanya digunakan pada pengumuman press release, dengan memanfaatkan simbol dari perusahaan besar lainnya. Sehingga secara tersamar pengguna akan belok ke situs ini.
Web Spoofing. Memanipulasi alamat URL pada sisi client, sehingga akan memaksa si korban melakukan browsing dengan melalui situs tertentu terlebih dahulu. Dengan cara ini dapat menyadap segala tindakan si korban, ketika melakukan akses ke situs-situs. Sehingga si penyerang dapat memperoleh PIN ataupun password. Cara ini biasanya memanfaatkan trick URL Rewrite. Umumnya pengguna awam tak memperhatikan apakah akses dia ke suatu situs melalui atau melalui Karena yang tampil di browsernya adalah tetap halaman dari
DNS Spoofing. Teknik ini digunakan untuk memanfaatkan DNS server untuk membangkitkan celah sekuriti. Dengan cara ini penyerang mampu membelokkan seorang pengguna ke server DNS lain yang bukan server semestinya, ketika ia memasukkan nama situs. Dengan cara ini maka penipuan dapat dilanjutkan misalnya dengan mengumpulkan PIN atau password.
Typo Pirates. Dengan cara mendaftar nama domain yang hampir mirip, dan membuat situs yang mirip. Pengguna yang tak waspada akan masuk ke situs ini dan memberikan PIN dan password. Cara inilah yang terjadi pada kasus KlikBCA palsu. Hal ini disebabkan sebagian besar pengguna tak waspada, apakah alamat URL (Universal Resource Locator) yang dimasukkannya benar pada saat ia mengakses suatu situs web, dan apakah sertifikat yang diterima sama dengan sertifikat seharusnya pada saat ia mengakses situs web yang mendukung SSL.
Cybersquating. Membeli nama domain yang mungkin akan digunakan orang. Tujuan penggunaan cara ini adalah lebih kepada mengambil keuntungan keuangan dengan menjual kembali domain tersebut pada harga yang jauh lebih tinggi daripada harga sebenarnya.
Man-in-the-middle-attack. Cara ini dilakukan dengan memaksa orang percaya bahwa situs yang dituju sama halnya dengan situs asli. Hal itu dilakukan dengan mencegat akses pengguna ketika hendak melakukan koneksi ke situs asli, teknik seperti TCP Hijack sering digunakan, lalu meneruskan akses pengguna ke web situs sebenarnya. Sepintas lalu hal ini tidak terlihat oleh pengguna. Serangan ini lebih berbahaya daripada sekedar typo pirates. Resiko ini bisa timbul ketika jalur penyerang berada di antara pengguna dan situs penyedia layanan.