570 likes | 851 Views
KRIPTOLOGI dan PROTEKSI DATA. Asep Budiman K. MT. Ilmu dan Seni Keamanan Informasi. Dimulai dari coba-coba. Merupakan sebuah seni. Mulai diformalkan dalam bentuk ilmu. Tidak bisa selamanya mengandalkan kepada coba-coba saja. Harus menggabungkan keduanya.
E N D
KRIPTOLOGI dan PROTEKSI DATA Asep Budiman K. MT
Ilmu dan Seni Keamanan Informasi • Dimulai dari coba-coba. Merupakan sebuah seni. • Mulai diformalkan dalam bentuk ilmu. • Tidak bisa selamanya mengandalkan kepada coba-coba saja. Harus menggabungkan keduanya. • Catatan: Ilmu komputer (computer science) pun muncul melalui jalur ini
Contoh Ilmu Security • Kriptografi (cryptography) • Enkripsi & dekripsi: DES, AES, RSA, ECC • Berbasis matematika • Protokol dan jaringan (network & protocols) • SSL, SET • Sistem dan aplikasi (system & applications) • Management, policy & procedures
Pengamanan data • Steganografi membuat seolah-olah pesan rahasia tidak ada atau tidak nampak • Kriptografi merupakan ilmu dan seni untuk menjaga pesan agar aman
Ada Pesan apakah di text ini ? sentuhan lembayung menyapa hari untaian mutiara pagimenyejukan hati kuncup bunga mekar menebar aroma kehidupan anginpun membawa sebentuk kata bumi kau telah membangunkanku dari tidur yang lelap usapan udaramu hangat menerpa wajahku mentari menghangatkan dunia indah …..potret suasana fajar yang menghibur hati belaian kasih Tuhan sang pencipta alam fanamu
Istilah-istilah • “Crypto” berarti “secret” (rahasia) • “graphy” berarti “writing” (tulisan) • para pelaku atau praktisi kriptografi disebut cryptographers • algoritma kriptografi disebut cipher • pesan yang tersembunyi disebut ciphertext • pesan dalam bentuk aslinya disebut plaintext
Istilah-istilah • enkripsi (encryption) :Proses yang dilakukan untuk mengamankan sebuah pesan • dekripsi (decryption) :untuk mengubah ciphertext menjadi plaintext
Tujuan kriptografi • Confidentiality • Integrity • Availability • Ketiga di atas sering disingkat menjadi CIA • Ada tambahkan lain • Non-repudiation • Authentication • Access Control • Accountability.
Confidentiality / Privacy • Kerahasiaan data. Data hanya boleh diakses oleh orang yang berwenang • Data-data pribadi • Data-data bisnis; daftar gaji, data nasabah • Sangat sensitif dalam e-commerce dan healthcare • Serangan: penyadapan (teknis dengan sniffer / logger, man in the middle attack; non-teknis dengan social engineering) • Proteksi: enkripsi
Integrity • Informasi tidak boleh berubah (tampered, altered, modified) oleh pihak yang tidak berhak • Serangan • Pengubahan data oleh orang yang tidak berhak, spoofing • Virus yang mengubah berkas • Proteksi: • Message Authentication Code (MAC), digital signature / certificate, hash functions, logging
Availability • Informasi harus tersedia ketika dibutuhkan • Serangan • Meniadakan layanan (Denial of Service / DoS attack) atau menghambat layanan (server dibuat lambat) • Proteksi • Backup, redundancy, DRC, BCP, firewall
Non-repudiation • Tidak dapat menyangkal (telah melakukan transaksi) • Menggunakan digital signature • Logging
Authentication • Meyakinkan keaslian data, sumber data, orang yang mengakses data, server yang digunakan • what you have (identity card) • what you know (password, PIN) • what you are (biometric identity) • Serangan: identitas palsu, terminal palsu, situs gadungan
Access Control • Mekanisme untuk mengatur siapa boleh melakukan apa • Membutuhkan adanya klasifikasi data:public, private, confidential, (top)secret • Role-based access
Accountability • Dapat dipertanggung-jawabkan • Melalui mekanisme logging dan audit • Adanya kebijakan dan prosedur (policy & procedures)
Conventional cryptography • Disebut juga secret-key or symmetric-key encryption, • Satu kunci digunakan untuk enkripsi dan deskripsi. • Contoh : Data Encryption Standard (DES)
Simetris vs Asimetris • Simetris untuk melakukan enkripsi dan deskripsi menggunakan kunci yang sama • Asimetris untuk melakukan enkripsi dan deskripsi menggunakan kunci yang berbeda
Contoh Conventional Encryption • Caesar’s Cipher • Menggunakan kunci Caesar bernilai 3 • Plain : ABCDEFGHIKLMNOPQRSTUVWXYZ Geser 3 hurup keatas, sehingga menjadi : chiper : DEFGHIKLMNOPQRSTUVWXYZABC Artinya adalah : D=A, E = B, C = E dan seterusnya Contoh : enkripsi kata SUKABUMI, maka hasil dari enkripsi adalah WYODEYQM
Public key cryptography • Diperkenalkan oleh Diffie-Hellman • Merupakan skema asymmetric • Menggunakan sepasang kunci untuk enkripsi yaitu public key • Untuk dekripsi data menggunakan private atausecret key • public key = hanya bisa enkripsi • public key + private key = bisa deskripsi • private key = ?
Contoh Public key cryptography • Elgamal (named for its inventor, Taher Elgamal), • RSA (named for its inventors, Ron Rivest, Adi Shamir, and Leonard Adleman), • Diffie-Hellman (named, you guessed it, for its inventors), • DSA, the Digital Signature Algorithm (invented by David Kravitz).
Digital certificates 3 hal utama pada digital certificate : • public key. • Certificate information. (“Identity” informasi tentang • satu atau lebihdigital signatures.
Algoritma Blowfish Encipher void Blowfish_encipher(blf_ctx *bc, unsigned long *xl, unsigned long *xr) { unsigned long Xl; unsigned long Xr; unsigned long temp; short i; Xl = *xl; Xr = *xr; for (i = 0; i < N; ++i) { Xl = Xl ^ bc->P[i]; Xr = F(bc, Xl) ^ Xr; temp = Xl; Xl = Xr; Xr = temp; } temp = Xl; Xl = Xr; Xr = temp; Xr = Xr ^ bc->P[N]; Xl = Xl ^ bc->P[N + 1]; *xl = Xl; *xr = Xr; }
Algoritma Blowfish dechiper void Blowfish_decipher(blf_ctx *bc, unsigned long *xl, unsigned long *xr) { unsigned long Xl; unsigned long Xr; unsigned long temp; short i; Xl = *xl; Xr = *xr; for (i = N + 1; i > 1; --i) { Xl = Xl ^ bc->P[i]; Xr = F(bc, Xl) ^ Xr; /* Exchange Xl and Xr */ temp = Xl; Xl = Xr; Xr = temp; } /* Exchange Xl and Xr */ temp = Xl; Xl = Xr; Xr = temp; Xr = Xr ^ bc->P[1]; Xl = Xl ^ bc->P[0]; *xl = Xl; *xr = Xr; }
Pembuatan private key void blf_key (blf_ctx *c, unsigned char *k, int len) { InitializeBlowfish (c, k, len); }
Inisialisasi blowfish short InitializeBlowfish(blf_ctx *bc, unsigned char key[], int keybytes) { short i; short j; short k; unsigned long data; unsigned long datal; unsigned long datar; /* initialise p & s-boxes without file read */ for (i = 0; i < N+2; i++) { bc->P[i] = bfp[i]; } for (i = 0; i < 256; i++) { bc->S[0][i] = ks0[i]; bc->S[1][i] = ks1[i]; bc->S[2][i] = ks2[i]; bc->S[3][i] = ks3[i]; }
j = 0; for (i = 0; i < N + 2; ++i) { data = 0x00000000; for (k = 0; k < 4; ++k) {data = (data << 8) | key[j]; j = j + 1; if (j >= keybytes) { j = 0; } } bc->P[i] = bc->P[i] ^ data; } datal = 0x00000000; datar = 0x00000000; for (i = 0; i < N + 2; i += 2) { Blowfish_encipher(bc, &datal, &datar); bc->P[i] = datal; bc->P[i + 1] = datar; } for (i = 0; i < 4; ++i) { for (j = 0; j < 256; j += 2) { Blowfish_encipher(bc, &datal, &datar); bc->S[i][j] = datal; bc->S[i][j + 1] = datar; } } return 0;}
System UNIX ROT13 • Sisi pengirim C = ROT13(M) • Sisi penerima M = ROT13(ROT13(M))
ROT13 dalam bahasa perl While (<>) { #read a line into $ for ($i=0; $i < length($_) ; $i++) { $ch=substr($_,$i,1); if ((ord($ch)>=97) and (ord($ch)<=122)) { $newch = &rot13($ch); # rotate it printf (“%c”, $newch); } else { print $ch; } } } Sub rot13 { local ($ch) = @_; $asch = ord($ch) -97; $rotasch= $asch + 13; $rotasch = $rotasch % 26; $rotasch = $rotasch + 97; return($rotasch); }
protokol komunikasi • Servis di Internet : protokol TCP atau UDP. • Setiap servis dijalankan dengan menggunakan port yang berbeda, • misalnya: • SMTP, untuk mengirim dan menerima e-mail, TCP, port 25 • DNS, untuk domain, UDP dan TCP, port 53 • HTTP, web server, TCP, port 80 • POP3, untuk mengambil e-mail, TCP, port 110
Protokol SSL 1 Client Hello / Connection RequestDaftar algoritma / cipher suite Pemilihan cipher suite 2 Sertifikat Digital Server Encrypted secret / key / nonce Server Client Decrypted secret 3 Sertifikat Digital Client Encrypted secret / key / nonce Decrypted secret 4 Kunci simteris disepakati Transfer data dengan enkripsi kunci simetris
System Security: Secure Email Isi email tidak dirahasiakan.Diinginkan terjaganya integritasdan non-repudiation Keduanya disatukan dan dikirimkan From: BudiSubject: KirimanKirimandatangSeninpagi From: BudiSubject: KirimanKirimandatangSeninpagi ohx76@# hash af005c0810eeca2d5 Enkripsi (dg kunci privat pengirim) ohx76@#
Mengapa keamanan harus dimonitor ? • Ditemukannya lubang keamanan (security hole) yang baru. • Kesalahan konfigurasi. • Penambahan perangkat baru
Sumber lubang keamanan • Salah Disain • Implementasi kurang baik • Salah konfigurasi • Salah menggunakan program atau sistem
ISP Holes • System (OS) • Network • Applications + db Internet Web Site Topologi Lubang Keamanan Networksniffed,attacked Networksniffed,attacked,flooded Networksniffed, attacked Users Trojan horse • Applications (database,Web server) hacked • OS hacked Userid, Password,PIN, credit card # www.bank.co.id
Penguji keamanan sistem • sistem yang berbasis UNIX, tools : • Cops • Tripwire • Satan/Saint • SBScan: localhost security scanner • sistem yang berbasis Windows NT: • Ballista yang dapat diperoleh dari: <http://www.secnet.com>
Penggunaan sistem pemantau jaringan • Contoh program network monitoring / management : • Etherboy (Windows), Etherman (Unix) • HP Openview (Windows) • Packetboy (Windows), Packetman (Unix) • SNMP Collector (Windows) • Webboy (Windows)
Teknologi Informasi • Teknologi yang terkait dengan pembuatan, pengolahan, distribusi, penyimpanan dari informasi • Menghasilkan produk dan layanan yang sudah kita gunakan sehari-hari sebagai “manusia moderen” • Mesin ATM di bank • Telepon, handphone, SMS • Games, PlayStation, on-line games • P2P applications
Mengamankan SistemInformasi • Melalui layer “transport”, dapat digunakan “Secure Socket Layer” (SSL) untuk server web. • Secara fisik sistem diamankan dengan “firewall” yang memisahkan sistem anda dengan Internet. • Teknik enkripsi dapat dilakukan di tingkat aplikasi