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 pagi menyejukan 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)
Komponen kriptografi
Conventional cryptography Disebut juga secret-key or symmetric-key encryption, Satu kunci digunakan untuk enkripsi dan deskripsi. Contoh : Data Encryption Standard (DES)
DES: Data Encryption Standard
Tipe Enkripsi
Simetris vs Asimetris Simetris untuk melakukan enkripsi dan deskripsi menggunakan kunci yang sama Asimetris untuk melakukan enkripsi dan deskripsi menggunakan kunci yang berbeda
Conventional encryption
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
Public key cryptography Diperkenalkan oleh Diffie-Hellman Merupakan skema asymmetric Menggunakan sepasang kunci untuk enkripsi yaitu public key Untuk dekripsi data menggunakan private atau secret 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).
Enkripsi dengan PGP
Deskripsi dengan PGP
Digital signatures
Hash Function
Digital certificates 3 hal utama pada digital certificate : • public key. • Certificate information. (“Identity” informasi tentang • satu atau lebihdigital signatures.
PGP Certificate
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; } 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; } 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 2 Client Server 3 4 Client Hello / Connection Request Daftar algoritma / cipher suite Pemilihan cipher suite 2 Sertifikat Digital Server Encrypted secret / key / nonce Client Server 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 integritas dan non-repudiation Keduanya disatukan dan dikirimkan From: Budi Subject: Kiriman Kiriman datang Senin pagi From: Budi Subject: Kiriman Kiriman datang Senin pagi 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
Topologi Lubang Keamanan Network sniffed, attacked ISP System (OS) Network Applications + db Holes Internet Network sniffed, attacked, flooded Network sniffed, attacked Users Web Site 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 Sistem Informasi 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
source: hacking exposed
Penggunaan Enkripsi untuk meningkatkan Keamanan Contoh servis yang menggunakan plain text antara lain: akses jarak jauh dengan menggunakan telnet dan rlogin transfer file dengan menggunakan FTP akses email melalui POP3 dan IMAP4 pengiriman email melalui SMTP akses web melalui HTTP
Membatasi akses melalui Kontrol Akses membatasi domain atau nomor IP yang dapat mengakses; menggunakan pasangan userid & password; mengenkripsi data sehingga hanya dapat dibuka (dekripsi) oleh orang yang memiliki kunci pembuka.
Pelaku di bidang Security Information bandit Sekarang masih dipotretkan sebagai jagoan Akan tetapi akan berkurang the disappearance act of information bandits Information security professionals Masih kurang Lebih menyenangkan Keduanya menggunakan tools yang sama Perbedaannya sangat tipis: itikad & pandangan Jangan bercita-cita menjadi bandit!
Penutup Jadilah seorang security professional dan bukan menjadi seorang bandit Jadilah Polisi cyber dan menjadi penjahat cyber.
Sumber Bacaan Richard H. Baker, “Network Security: how to plan for it and achieve it,”McGraw-Hill International, 1995. Steven M. Bellovin, “Security Problems in TCP/IP Protocol Suite,”Computer Communication Review, Vol. 19, No. 2, pp. 32-48, 1989. Tim Berners-Lee, “Weaving the Web: the past, present and future of the world wide web by its inventor,” Texere, 2000. Dan Brown, “The Da Vinci Code,” Doubleday, 2003. Lawrie Brown, “Lecture Notes for Use with Network and Internetwork Security by William Stallings,” on-line document. <http://www1.shore.net/~ws/Security-Notes/index.html> Silvana Castano, Mariagrazia Fugini, Giancarlo Martella, dan Pierangela Samarati, “Database Security,” Addison-Wesley, 1995. Whitfield Diffie, and Martin E. Hellman, “New Directions in Cryptography,” IEEE Transactions on Information Theory, IT-22, 6, 1976, pp. 644-654. Bruce Schneier, “Applied Cryptography: Protocols, Algorithms, and Source Code in C,” second edition, John Wiley & Sons, Inc., 1996.
Email : asep.budiman.k@gmail.com dinar_09@yahoo.co.id Terima Kasih