P5 Cryptography SIF61 A. Sidiq P. Program Studi Sistem Informasi Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta 1
Pembahasan Cryptography Algorithm Symmetric key algorithm Asymmetric key algorithm Hashing algorithm 2
Cryptography 3
Apa itu Kriftografi? Kriptografi (cryptography): Bahasa Yunani Crypto & Graphia penulisan rahasia Ilmu yang mempelajari penulisan secara rahasia Cabang ilmu matematika cryptology 4
Ilmu dan seni untuk menjaga kerahasiaan berita (bruce Schneier - Applied Cryptography) Umum : 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) Proses enkripsi informasi sehingga arti atau maksudnya tersembunyi dari orang yang tidak bisa membukanya. Kriptografi Enkripsi (Encryption). 5
Tujuan Kriptografi Menjaga kerahasiaan yang terkandung di dalam data sehingga informasi tersebut tidak dapat diketahui oleh pihak yang tidak berhak (tidak sah) Memberikan solusi terhadap masalah keamanan data Privacy data yang dikirimkan hanya dapat dimengerti oleh penerima yang sah Authentication mencegah pihak ketiga untuk mengubah data yang dikirim 6
Tujuan sistem kriptografi : Convidentiality memberikan kerahasiaan pesan dan menyimpan data dengan menyembunyikan informasi melalui teknik enkripsi Message Integrity memberikan jaminan bahwa setiap bagian yidak akan mengalami perubahan dari saat data dibuat/dikirim sampai pada saat data dibuka Non Repudiation memberikan cara untuk membuktikan bahwa suatu dokumen dari seseorang apabila ia menyangkal memiliki dokumen tersebut Authentication memberikan layanan : Mengidentifikasi keaslian suatu pesan dan memberikan jaminan keotentikan Menguji identitas seseorang apabila ia akan memasuki sebuah sistem 7
Salah satu hal yang dapat dilakukan untuk mengamankan sistem informasi adalah menggunakan kriptografi 8
Proses Kriptografi 9
Istilah Dasar Encryption = Proses transformasi informasi (dikenal dengan plaintext) menggunakan algoritma (yang dikenal dengan cipher) untuk membuatnya menjadi tidak terbaca bagi semua orang (hasilnya dikenal dengan ciphertext) kecuali yang mempunyai informasi khusus yang dikenal dengan kunci (key). Plaintext = Informasi yang diinginkan oleh pengirim yang akan dikirim ke tujuan/penerima (text pesan). Cipher = Algoritma untuk melakukan proses enkripsi. Ciphertext = Informasi hasil dari proses enkripsi (dikenal juga dengan istilah encrypted atau encoded information). Decryption = Proses untuk membuat informasi yang ter-enkripsi (ciphertext) menjadi terbaca kembali. Cryptanalysis = ilmu yg mempelajari metode mendapatkan arti dari informasi yang ter-enkripsi tanpa menggunakan key (kunci) = ilmu yang mempelajari bagaimana melakukan crack algoritma enkripsi atau implementasinya. Cryptanalyst = orang yang menjalankan Cryptanalysis. Frequency analysis = Analisa statistik dari banyaknya huruf atau karakter yang tampil, dapat digunakan untuk memecahkan enkripsi sederhana (semisal subtitusion cipher). Ditemukan oleh Al-Kindi pada abad ke-9. 10
Classical Cryptography Transposition ciphers, mengubah susunan huruf atau pesan. Misalnya pesan 'hello world' menjadi 'ehlol owrdl' Substitution ciphers, mengganti huruf atau kelompok huruf dengan huruf atau kelompok huruf lainnya. Contoh yang populer adalah Caesar Cipher, ROT 13 Plain Cipher : 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 Ciphertext : WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ Plaintext : the quick brown fox jumps over the lazy dog 11
Caesar Cipher Dipopulerkan oleh Julius Caesar pada Jaman Romawi. Untuk melindungi pesan militer penting dengan menggeser 3 huruf/alfabet 12
ROT 13 ROT 13 ("rotate by 13 places / ROT-13), merupakan algoritma enkripsi yang sederhana dengan mengganti huruf dengan huruf ke 13 setelahnya di alfabet. Masih banyak digunakan di beberapa sistem di UNIX. Untuk mengembalikan ke bentuk semula dilakukan proses ROT13 dua kali. M = ROT13(ROT13(M) 13
Enigma Rotor Machine Caesar Cipher, ROT13 merupakan monoalphabetic cipher (setiap huruf diganti dengan huruf yang lain) mudah dipecahkan Enigma Rotor Machine (1920-an), alat enkripsi dan dekripsi mekanik dibuat oleh Jerman yang digunakan pada perang dunia ke-2 untuk berkirim pesan rahasia. ERM menggunakan metode polyalphabetic cipher, menggunakan lebih dari 2 tabel konversi huruf. 14
Algoritma Kriptografi Algoritma kriptografi harus memiliki kekuatan untuk melakukan proses enkripsi (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. Ada 3 macam atau jenis algoritma Algoritma Hash (Hashing algorithm) Algoritma Kunci Simetris (Symmetric key algorithm) Algoritma Kunci Asimetris (Asymmetric key algorithm) 15
Symmetric 16
Symmetric Key 17
Algoritma Kunci Simetris Menggunakan kunci sama dalam proses enkripsi dan deskripsi ( sampai Juni 1976.) Algoritma : OTP, DES (Data Encryption Standard), 3DES, Rivest cipher (RC2, RC4, RC5, RC6), IDEA (International Data Encryption Algorithm), AES (Advanced Encryption Standard), blowfish, twofish, MARS, dll Kelebihan : Kecepatan proses enkripsi dan deskripsi Kelemahan : Karena menggunakan kunci yang sama sehingga timbul permasalahan kerahasiaan pada saat pengiriman kunci 18
Implementasi ada 2 macam : Block Cipher Skema algoritma sandi yang akan membagi-bagi teks terang yang akan dikirimkan dengan ukuran tertentu (disebut blok) dengan panjang t (56/64/128/256/512 bit dst), Setiap blok dienkripsi dengan menggunakan kunci yang sama. Stream Cipher Algoritma sandi yang mengenkripsi data persatuan data, seperti bit, byte, nible atau per 5 bit (saat data yang di enkripsi berupa data Boudout). Setiap mengenkripsi satu satuan data digunakan kunci yang merupakan hasil pembangkitan dari kunci sebelum. 19
Data Encryption Standard (DES) Nama lain : DEA (Data Encryption Algorithm) atau DEA-1 atau Lucifer, dikembangkan awal 1970-an. Menggunakan key 56-bit, sehingga ada 2 56 (72.057.594.037.927.936 ) kemungkinan kunci yg bisa dipakai. Setelah konsultasi dengan NSA (National Security Agency) tahun 1976, akhirnya dijadikan standard sejak tahun 1977 di USA. Meski sempat digunakan luas, kini dianggap kurang aman, tahun 1999 distributed.net & Electronic Frointier Foundation berhasil membongkar enkripsi DES dalam 22 jam 15 menit. Pada 26 May 2002 DES digantikan dengan AES (Advanced Encription Standard). 3 DES oleh NIST (National Institute of Standards and Technology) tetap disetujui sampai 2030 untuk informasi pemerintah yang sensitif. 20
Advanced Encryption Standard (AES) Spesifikasi enkripsi untuk data elektronik yang diterbitkan oleh NIST tahun 2001, menggantikan DES (aslinya disebut Rijndael) Diadopsi pemerintah USA dan digunakan secara luas di dunia. Menggunakan ukuran kunci 128, 192 atau 256- bit. Key 128-bit digunakan pemerintah USA untuk kategori informasi SECRET, dan Key 192-bit / 256-bit untuk kategori TOP SECRET. 21
Asymmetric 22
Asymmetric Key Kunci Publik Kunci Privat 23
Kunci deskripsi dan enkripsi berbeda Enkripsi public key Deskripsi private key Kunci publik yang akan didistribusikan, sehingga dapat mengatasi permasalahan pada algoritma simetris. Algoritma : RSA, DSA, DH, ECC 24
Hash Function 25
Algoritma Hash Merupakan algoritma matematika yang didesin untuk melakukan enkripsi satu jalan (one-way encryption). One-way artinya ketika informasi sudah di enkripsi, maka tidak ada jalan (algoritma) untuk mengembalikan informasi hasil enkripsi ini ke informasi asli. Banyak digunakan pada proses autentikasi dan integritas data, misalnya implementasi password dan keaslian sebuah file/data. Contoh : Message Digest (MD) Service Algorithm Secure Hash Algorithm (SHA) 26
Sifat Algoritma Hash Untuk menghindari dari serangan (crack), algoritma hash minimal harus mempunyai sifat-sifat : Tahan preimej (Preimage resistant) Jika diketahui nilai hash h maka sulit (secara komputasi tidak layak) untuk mendapatkan m dimana h = hash(m). Tahan preimej kedua (Second preimage resistant) Jika diketahui input m1 maka sulit mencari input m2 (!= m1) yang menyebabkan hash(m1) = hash(m2). Tahan tumbukan (Collision-resistant) Sulit mencari dua input berbeda m1 dan m2 yang menyebabkan hash(m1) = hash(m2). 27
Berbagai Macam Algoritma Hash 28
Sadar atau tidak, banyak sekali aplikasi yang menggunakan fungsi hash Memastikan apakah aplikasi tersebut sesuai dengan aslinya (bukan sebagai aplikasi plus plus = trojan) SHA1 Keamanan password untuk login ke sebuah sistem MD5 29
30
Contoh MD5 (PHP) 31
Contoh SHA1 (PHP) 32
Sample Digital Signature 33
GNU Privacy Guard (GPG) 34
List the Files in a Directory gpg key RSA Key ID Notification 35
Tugas Berdasarkan kelompok (Presentasi pertemuan ke 6) Dari berbagai algoritma dalam kriptografi (yang belum dibahas), pilih salah satu dan buatlah menjadi sebuah makalah/paper dengan ketentuan : Introduction Algorithm Concept Kelebihan dan Kekurangan Sample penggunaan (jika ada jadi nilai tambah) Daftar pustaka dilampirkan sesuai dengan standar penulisan. Tugas dikumpulkan : Subject : Tugas_P5_MKI_NIM1_NIM2 Ke : dnd_07june07@live.com Time limits : October, 26 2015 (11:59:59 PM) 36
Referensi GnuPG Commands - Examples http://www.spywarewarrior.com/uiuc/gpg/gpg-com-4.htm Cryptography http://en.wikipedia.org/wiki/cryptography Cryptography Basics http://www.techotopia.com/index.php/cryptography_basi cs Handbook of Applied Cryptography http://cacr.uwaterloo.ca/hac/ Cryptographic hash function http://en.wikipedia.org/wiki/cryptographic_hash_function s Block Cipher http://en.wikipedia.org/wiki/block_cipher Rot13 http://en.wikipedia.org/wiki/rot13 37
38
Thanks 4 Participating in My Class C U Next Week 39