490 likes | 1k Views
Kriptografi . Tujuan . Setelah perkuliahan pokok bahasan ini mahasiswa dapat: menjelaskan defenisi kriptografi, menjelaskan model-model enskripsi menjelaskan penggunaan kriptografi dalam keamanan dan kerahasiaan data menjelaskan jenis-jenis kriptografi. Pendahuluan . Cryptography
E N D
Tujuan • Setelah perkuliahan pokok bahasan ini mahasiswa dapat: • menjelaskan defenisi kriptografi, • menjelaskan model-model enskripsi • menjelaskan penggunaan kriptografi dalam keamanan dan kerahasiaan data • menjelaskan jenis-jenis kriptografi
Pendahuluan • Cryptography • Cryptho = rahasia (secret) • Graphy = tulisan • Seni dan ilmu untuk menjaga agar pesan aman • Cryptanalyst pelaku atau praktisi kriptografi • Cryptanalysis seni dan ilmu untuk memecahkan ciphertext menjadi plaintext tanpa melalui cara yang seharusnya (deskripsi) • Cryptology • Ilmu pengetahuan tentang kode-kode rahasia • Cabang matetatika yang mencakup kriptografi dan kriptoanalisis • Cryptologist pelaku cryptology • Cryptosystem algoritma kriptografi, ditambah dengan seluruh kemungkinan plaintext, ciphertext dan kunci-kuncinya.
Tujuan sistem kriptografi • Confidentiality • Message integrity • Non-repudiation • Authentication
Algoritma • Algoritma; • Algoritma enskripsi = E • Algoritma deskripsi = D • Algoritma enskripsi menggunakan kunci enskripsi = KE • Algoritma deskripsi menggunakan kunci deskripsi = KD • Hubungan secara matematis: • KE (M) = C proses enskripsi • KD (C) = M proses deskripsi • Pesan M dengan kunci K menghasilkan pesan C, sedangkan C dengan kunci K menghasilkan pesan M. • Keamanan pesan tergantung kepada kunci-kunci yang digunakan, tidak tergantung kepada algoritmanya. Tidak jadi masalah algoritma diketahui publik selama tidak mengetahui kuncinya.
Pemecah algoritma • Usaha analisis algoritma attack • Diungkapkan Dutchman A Kerckhoffs (abad ke 19) yaitu: kerahasiaan harus terletak pada kuncinya • Lars Knudsen jenis pemecah algoritma: • Total Break seorang analis berhasil menemukan kunci K, yang digunakan untuk melindungi data • Dk(C)= P • Global deduction analisis sandi mendapatkan algoritma aternatif A yang ekuivalen dengan Dk(C), tanpa mengetahui K • Instance (local) deduction analis mendapatkan plaintext atau ciphertext yang disadap • Information deduction analis mendapatkan informasi mengenai kunci atau plaintext.
Mengukur kompleksitas serangan • Data complexity • Jumlah data yang diperlukan sebagai input attack; • Semakin sedikit data yang diperlukan untuk melakukan attack, maka kulitas algoritmanya semakin tidak baik. • Processing complexity • Lama waktu yang tersedia untuk melakukan serangan faktor kerja; • Semakin cepat waktu yang dibutuhkan, maka kualitas algoritma semakin jelek. • Storage requirement • Jumlah memori yang dibutuhkan untuk melakukan attack
Jenis algoritma kriptografi • Algoritma simetris • Algoritma konvensional; • Menggunakan kunci enskripsi yang sama dengan deskripsi; • Pengirim dan penerima menyetujui satu kunci tertentu sebelum melakukan komunikasi; • Yang termasuk OTP, DES, RC2, RC4, RC5, RC6, IDEA, Twofish, Magenta, FEAL, SAFER, LOKI, CAST, Rijndael (AES), Blowfish, GOST, A5, Kasumi • Algoritma asimetris • Disebut kunci publik; • Kunci eksnripsi dan kunci deskripsi berbeda; • Kunci enskripsi kunci publik; • Kunci deskripsi kunci private (kadang-kadang disebut juga kunci rahasia); • Algoritma Hash • Panjang pesan tertentu dikurangi sehingga menjadi panjang pesan khusus.
Jenis-jenis serangan kriptanalis • Asumsi algoritma telah dikenal secara luas: • Ciphertext only attack; • Known-plaintext attack; • Chosen-plaintext attack; • Adaptive-chosen-palintext attack; • Chosen-chipertext attack; • Chosen text.
Ciphertext only attack • Cryptanalys hanya memiliki beberapa ciphertext; • Semua informasi dienskrip dengan algoritma yang sama; • Tidak mengetahui kunci dan plaintext; • Pekerjaan hanya mendapatkan plaintext atau mencari kuncinya terlebih dahulu • diketahui: C1 = KE(P1), C2 = KE(P2), …CN = KE(PN) • dicari : K dan P1, P2 , PN
Known-plaintext attack • Mengetahui chipertext beserta plaintext-nya; • Sebuah surat mendapatkan kalimat ‘apa khabar’; • Analis memperkirakan chipertext yang berhubungan dengan plaintext ‘apa khabar’; • Analis mencari kunci menemukan kuncinya dapat menemukan palintext-nya yang lain dienskrip dengan algoritma yang sama • Diketahui: P1, P2 , …… PN serta C1, C2, …… CN • Dicari : K atau P lainnya
Chosen-plaintext attack • Hanya mengetahui sejumlah plaintext dan ciphertext; • Bebas memilih plaintext-nya dienskripsi dengan agoritma dan kunci yang sama; • Memilih satu blok besar plaintext untuk dienskripsi; • Hanya melakukan menebak kuncinya; • Diketahui: P1, P2 , …… PN serta C1, C2, …… CN dan analis memilih P1, P2 , …… PN • Dicari : K atau P lainnya
Adaptive-chosen-palintext attack • Memilih plaintext yang dienskrip dan memodifikasi pilihan berdasarkan enskrip sebelumnya; • Hanya memilih blok plaintext yang lebih kecil dan memilih lainnya berdasarkan hasil sebelumnya
Chosen-chipertext attack • Memilih chipertext yang berbeda untuk dienskrip; • Dan mempunyai akses terhadap plaintext yang dienskripsikan. • Pekerjaan yang dialukan mencari K • Diketahui :C1, P1=KD(C1), C2, P2=KD(C2), ….Cn, Pn=KD(Cn)’ • Dicari : K
Chosen text • Mengabungkan chosen plaintext dan chosen ciphertext attack. • Lebih lengkap lihat tabel
Keamanan algoritma • Algoritma aman bila tidak ada cara untuk ditemukan. • Sampai saat ini algoritma yang cukup aman on-time-pad. • Rata-rata algoritma dapat dipecahkan dengan Ciphertext only attack dengan teknik brute-force-attack. • Cukup aman : • Harga menjebol lebih mahal dari informasi; • Waktu untuk membobol lebih lama daripada lamanya waktu informasi • Membobol kartu kredit 1thn dan sebelumnya kartu kredit sudah habis masanya; • Jumlah data yang dienskrip denga kunci dan agoritma yang sama lebih sedikit dari jumlah data yang diperlukan untuk menebus algoritma • Satu kunci untuk satu pesan.
Permasalahan algoritma • Memastikan keamanan algoritma enkripsi • 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 breakers akan terus berlangsung
Signal Security Steganography Traffic security (call sign changes, dummy msg, radio silence) Cryptography Electronic Security Emission security (shifting radar freq.) Counter -Countermeasures (looking through jammed radar) Signal Intelligence Interception & Direction-Finding Traffic Analysis Cryptanalysis Electronic Intelligence Electronic reconnaissance (eavesdroping on radar emission) Countermeasures (jamming, false radar echose) Security & Intelligence Pengamanan Source: David Kahn, The Code Breakers
Keamanan Negara • Kemampuan mengamankan data dan menangkap data merupakan kepentingan negara • Privacy vs keamanan negara? • Spy vs spy?
PenyadapanInternasional Sumber: IEEE Spectrum April 2003
Sadap, Filter, Simpan Sumber: IEEE Spectrum April 2003
Steganography • Yunani (Greek) vs Persia • Pesan disembunyikan di meja yang dilapisi lilin • Histalaeus • Pesan ditato di kepala budak yang telah digunduli • Digital watermarking • Menandai kepemilikan gambar digital
Kriptografi: Transposition • Contoh transposition • Rail fence • Spartan Scytale (5 BC) http://www.unmuseum.org/excoded.htm http://www.ccisource.com/content/resources/articles/Jan01/symmetric.htm
Kriptografi: Substitution • Contoh substitution • Caesar cipher (geser 3 huruf) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z d e f g h i j k l m n o p q r s t u v w x y z a b c • Enigma (rotor) • Digunakan Jerman padaperang dunia ke 2
Komponen dari kriptografi • Plain text • Sumber berita/pesan/teks asli • Cipher text • Teks yang sudah diproses (diacak, digantikan) • Algoritma & kunci • Misal: subsitusi (algoritma) & number of shift (kunci) • Pemisahan alg & kunci ditemukan oleh Auguste Kerckhoffs von Niewenhof (1883)
CRYPTOGRAPHY • Private key cryptosystem(Sistem kripto kunci privat) • Simetrik (kunci untuk mengunci dan membuka sama/satu) • Public key cryptosystem(Sistem kripto kunci publik) • Asimetrik (kunci untuk mengunci dan membuka berbeda)
Encryption Kripto Kunci Privat Alice Bob Shared (secret) key Decryption Plaintext Plaintext Ciphertext My phone555-1234 My phone555-1234 Y$3*@ Eve
Kripto Kunci Privat • Menggunakan satu kunci • Masalah dalam distribusi kunci • Pengiriman kunci membutuhkan saluran khusus • Jumlah kunci meledak secara eksponensial: n (n-1)/2: (lihat ilustrasi / gambar di bawah) • Keuntungan: operasi yang cepat • Contoh: DES, IDEA
Encryption Kripto Kunci Publik Public key repositoryCertificate Authority (CA) Public key Private key Decryption Plaintext Plaintext Ciphertext My phone555-1234 My phone555-1234 L)8*@Hg
Kripto Kunci Publik • Menggunakan kunci yang berbeda untuk enkripsi dan dekripsi • Jumlah kunci yang lebih sedikit dibandingkan enkripsi dengan kunci privat • Membutuhkan komputasi yang tinggi (membutuhkan waktu yang lebih lama)
Kripto Kunci Publik • Membutuhkan penyimpanan kunci publik (Certificate Authority) yang terpercaya (trusted). Siapa? Verisign? • Pengelolaan kunci bisa menjadi kompleks (revocation, pihak ketiga, dll.) • Contoh: RSA, ECC
Penggunaan Kripto Kunci Publik • Secure Socket Layer (SSL) • HTTPS • SSH • STUNNEL • Pretty Good Privacy (PGP) dan GNU Privacy Guard (GPG)
Sertifikat Digital X.509 versi 3 Versi Nomor Seri Sertifikat Signature Algorithm Identifier (untuk signature dari CA) Nama X.500 dari CA DigitalSignaturedibuatdengan menggunakankunciprivat CA Perioda validitas (mulai dan berakhirnya) Nama X.500 dari Subjek Sertifikat Informasi Kunci Publik milik Subjek Agoritma yang digunakan Isi Kunci Publik Identifier Unik dari Penerbit (optional) Identifier Unik dari Subjek (optional) Extensions (optional) Digital Signature yang dibuat CA
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
Message Digest • Menghasilkan summary (digest) dari sebuah pesan (file, stream data) • Menggunakan hash function untuk menghasilkan digest tersebut
Fungsi Hash (Hash Function) • Merupakan fungsi satu arah (one way function) yang dapat menghasilkan ciri (signature) dari data (berkas, stream) • Perubahan satu bit saja akan mengubah keluaran hash secara drastis • Digunakan untuk menjamin integritas dan digital signature
Contoh Hash Function • Contoh: MD5, SHA unix$md5sum /bin/login af005c0810eeca2d50f2904d87d9ba1c /bin/login • Program md5sum untuk windows merupakan bagian dari Cygwin distribution yang dapat diperoleh darihttp://sunsite.bilkent.edu.tr/pub/cygwin/cygwin-b20/full.exe
Penggunaan Hash: Pengirim Isi email tidak dirahasiakan.Diinginkan terjaganya integritasdan non-repudiation Keduanya disatukan dan dikirimkan From: BudiSubject: KirimanKirimandatangSeninpagi From: BudiSubject: KirimanKirimandatangSeninpagi ohx76@# hash af005c0810eeca2d5 Enkripsi (jika perlu) ohx76@#
Pada Penerima Jika keduanya tidak sama, patut dicurigai. Integritas tidak terjamin. Jika keduanya sama, integritas terjamin. Jika enkripsi menggunakan public key cryptosystem,pengirim tidak dapat menyangkal. From: IndrawanSubject: KirimanKiriman akan datangminggu malam hash af005c0810eeca2d5 sama? dekripsi ohx76@# af005c0810eeca2d5
Contoh Penggunaan Hash • Hasil hash dienkripsi untuk menjamin keamanannya (integritas) • Ukuran hasil hash yang lebih kecil dibandingkan ukuran pesan asalnya membutuhkan waktu enkripsi yang lebih singkat (dibandingkan jika mengenkripsi seluruh pesan) • Digital Signature • Pesan juga dapat dienkripsi jika diinginkan kerahasiaan
Masalah Seputar Kripto • Memastikan keamanan algoritma enkripsi • 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 breakers akan terus berlangsung