a6cb239fde27dc4d0b3af1f1b3e29d37.ppt
- Количество слайдов: 109
Dasar Cryptography
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Definisi Kata cryptography berasal dari bahasa Yunani krupto (hidden atau secret) dan grafh (written) n n Art of secret writing Seni merubah informasi ke dalam bentuk yang tidak dapat dimengerti, dengan cara yang sedemikian hingga memungkinkan untuk mengembalikannya ke dalam bentuk semula 2
ET 7053 Keamanan Sistem Telematika Layanan yang Disediakan Cryptography Tutun Juhana-STEI - ITB User Authentication n Mekanisme untuk membuktikan identitas anda (U are U) w Password, user-id, kode pin, kartu magnetis, smart card, biometric properties (sidik jari, retina, dsb. ) etc. 3
ET 7053 Keamanan Sistem Telematika Layanan yang Disediakan Cryptography (2) Data Authentication Tutun Juhana-STEI - ITB n Data integrity w Layanan ini menjamin bahwa isi pesan yang dikirimkan belum pernah dimanipulasi w Layanan data integrity sendiri tidak akan ada artinya bila bekerja sendirian (tidak mampu digunakan untuk mengetahui apakah data yang diterima belum dimodifikasi kecuali anda tahu betul bahwa pesan itu anda terima langsung dan dikirimkan oleh orang yang jujur) w Oleh karena itu, data integrity service harus selalu dikombinasikan dengan data origin authentication service Data Integrity 4
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Layanan yang Disediakan Cryptography (3) Data origin authentication n Layanan untuk memastikan bahwa pengirim pesan adalah benar-benar orang yang mengirimkan pesan tersebut B A He can claim that he is A 5
ET 7053 Keamanan Sistem Telematika Layanan yang Disediakan Cryptography (4) Tutun Juhana-STEI - ITB Non-repudiation of origin n n Layanan ini melindungi terhadap penyangkalan yang disampaikan oleh entitas-entitas yang terlibat dalam komunikasi Non-repudiation dengan proof of origin melindungi usaha penyangkalan pengiriman pesan oleh pengirim sedangkan nonrepudiation dengan proof of delivery melindungi penyangkalan terhadap penerimaan suatu pesan 6
ET 7053 Keamanan Sistem Telematika Layanan yang Disediakan Cryptography (5) Tutun Juhana-STEI - ITB Data confidentiality n Layani ini melindungi pesan agar tidak dapat dibaca (bisa jadi dapat dibaca tapi tidak dapat dimengerti) pihak lain yang tidak berwenang Dia bisa ikut menerima pesan tapi tidak mengerti 7
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika Plaintext/cleartext Pesan dalam bentuk aslinya encryption ciphertext decryption Plaintext Pesan dalam bentuk yang sudah diubah Cryptographers : menemukan kode rahasia Cryptanalysts : berusaha memecahkan kode 8
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB System cryptography melibatkan dua hal : algoritma dan sebuah kunci n Pengetahuan tentang suatu algoritma cryptography saja tanpa pengetahuan akan kunci yang digunakan, tidak dapat digunakan untuk men-dekripsi Contoh : Misalnya angka 42 (data anda) sangatlah penting bagi anda sehingga anda ingin melindunginya agar tidak dapat dilihat orang lain. Kemudian anda membuat algoritma cryptography berikut untuk meng -enkripsi data anda : data/kunci_crypto+(2 x kunci_crypto) Your crypto algorithm 9
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Computational Difficulty Algoritma cryptography harus memungkinkan cryptographers (seseorang yang memiliki kunci) dapat melakukan perhitungan secara efisien Algoritma cryptography bisa saja dipecahkan tanpa adanya kunci n Cryptanalysts dapat mencoba berbagai kemungkinan kunci Keamanan skema cryptography tergantung pada seberapa susah seorang cryptanalysts dapat memecahkannya Skema cryptography dapat dibuat lebih aman menggunakan n n Kunci yang lebih panjang Menggunakan kunci yang panjangnya bervariasi 10
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Kode Rahasia Kode rahasia = secret code =cipher = metoda yang digunakan untuk meng-enkripsi data Caesar Cipher n Mengganti setiap abjad dengan 3 abjad berikutnya (wrap wround to A from Z) Plaintext : ABCDEFGHIJKLMNOPQRSTUVWXYZ Ciphertext: DEFGHIJKLMNOPQRSTUVWXYZABC w DOZEN becomes GRCHQ Captain Midnight Secret Decoder rings n n Pilih secara acak bilangan rahasia (n) antara 1 dan 25 Ganti setiap abjad dengan abjad yang posisinya n kali lebih tinggi (wrap wround to A from Z) w Contoh : Jika n=1, maka abjad A menjadi B dst. n Karena hanya ada n kemungkinan, kode ini dapat dengan mudah dipecahkan 11
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB The Beale Chiper Merupakan pengembangan dari Caesar Chiper tetapi lebih mudah dilakukan Setiap huruf diasosiasikan dengan banyaknya pergeseran abjad n A menyatakan tidak ada (0) pergeseran, B menyatakan 1 kali pergeseran, C menyatakan 2 kali pergeseran, demikian seterusnya sampai Z yang menyatakan 25 pergeseran abjad Prosedur pada Beale chiper didahului dengan memilih teks standard (ini merupakan kuncinya) yang berasal dari suatu dokumen (yang diketahui bersama oleh sender maupun receiver) Pada sisi sender, teks standard ditulis pada baris pertama lalu pada baris kedua dituliskan pesan yang akan dienkripsi. Pada baris ketiga dituliskan pesan hasil enkripsi Pesan hasil enkripsi diperoleh dengan cara menggeser setiap abjad pada pesan original dengan jumlah pergeseran yang ditentukan oleh huruf pada teks standard Mari kita lihat contoh supaya jelas. . . 12
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika Contoh The Beale Chiper Sender dan receiver setuju untuk memilih teks standard yang diambil dari konstitusi Amerika Serikat (WE THE PEOPLE. . . ) Pesan yang akan di-enkripsi adalah ATTACK Standard text (key): WETHEP Message : ATTACK Encrypted message: WXMHGZ Perhatikan bahwa masing-masing huruf pada pesan yang sudah dienkripsi merupakan huruf yang dihasilkan dengan menggeser huruf pada pesan original dengan jumlah pergeseran yang didefinisikan oleh masing-masing huruf pada teks standard n Misalnya huruf E pada teks standard menyatakan pergeseran sebanyak 4 posisi, maka huruf T pada pesan original harus digeser sebanyak 4 posisi menjadi X sedangkan huruf C pada pesan original harus digeser sebanyak 4 posisi menjadi G dst. |W|E|T|H|E|P| : teks standard yang mendefinisikan pergeseran |A|T|T|A|C|K| : pesan yang akan di-enkripsi Geser sebanyak 4 (ingat huruf E menyatakan geser 4) |W|X|M|H|G|Z| : pesan yang sudah di-enkripsi 13
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika Receiver harus mengetahui teks standard yang digunakan, kemudian akan membalik proses untuk mendapatkan pesan yang belum dienkripsi Agar semakin aman, teks standard yang digunakan tidak boleh berasal dari dokumen yang diketahui banyak orang (seperti konsitusi Amerika pada contoh sebelumnya) n Lebih baik apabila sender dan receiver mengambil teks standard dari sebuah halaman buku yang dimiliki oleh sender maupun receiver (misalnya) Bila teks standard tidak dapat diketahui pihak lain, maka akan sangat sulit untuk memecahkan Beale cipher 14
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB The One-Time Pad Merupakan variasi dari Beale Chiper Teks standard dipilih secara acak (tidak diambil dari suatu dokumen) Mekanisme selanjutnya seperti yang dilakukan pada Beale Chiper Contoh: Standard text (key): RQBOPS Message : ATTACK Encrypted message: RJUORC One-Time Pad merupakan metoda enkripsi yang sempurna asalkan teks standard dirahasiakan, contoh dibawah ini memperlihatkan teks standard yang beda tetapi menghasilkan message yang sama Standard text (random key) Message Encrypted message : LBYKXN : GIVEUP : RJUORC Kelemahan: panjang kunci (teks standard) harus sama denga panjang pesan 15
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Monoalphabetic cipher Memetakan suatu huruf ke huruf lain secara acak Contoh : Plaintext : ABCDEFGHIJKLMNOPQRSTUVWXYZ Ciphertext: GLDCNUXAQOWPBSZKYREIFJMHVT Ada 26! kemungkinan pasangan huruf (4 x 1026) Kelihatan sangat secure Mudah dipecahkan dengan analisa bahasa secara statistik 16
ET 7053 Keamanan Sistem Telematika Tipe serangan untuk memecahkan skema enkripsi Ciphertext Only Tutun Juhana-STEI - ITB n Cryptanalysts memiliki ciphertext yang dapat dianalisanya w Pola-pola yang ada di dalam ciphertext bisa dianalisa (frekuensi kemunculan huruf dsb. ) n n Analisa dilakukan terus sampai diperoleh recognizabel plaintext Cryptanalysts harus memiliki sejumlah ciphertext Known Plaintext n Cryptanalysts memiliki plaintext sekaligus ciphertext-nya Chosen Plaintext n Cryptanalysts dapat membuat sistem melakukan enkripsi terhadap plaintext yang dimlikinya 17
ET 7053 Keamanan Sistem Telematika Chosen-Plaintext Attack Tutun Juhana-STEI - ITB PIN di-enkripsi lalu dikirimkan ke bank cipher(key, PIN) Penjahat #1 merubah PIN yang dimilikinya (chosen plaintext) Penjahat #2 melakukan penyadapan kemudian Mempelajari ciphertext dari PIN baru tersebut … diulangi untuk beberapa nilai PIN 18
ET 7053 Keamanan Sistem Telematika Brute Force Attack Tutun Juhana-STEI - ITB Mencari kemungkinan kunci yang dapat memecahkan kode n Cryptanalysts mungkin tidak perlu mencari seluruh kemungkinan kunci w Rata-rata diperlukan percobaan setengah dari kemungkinan kunci yang ada Waktu yang diperlukan untuk melakukan pencarian kunci 19
ET 7053 Keamanan Sistem Telematika Macam-macam fungsi cryptography Tutun Juhana-STEI - ITB Hash function n Tanpa melibatkan penggunaan kunci Secret key function n Hanya melibatkan penggunaan satu kunci Public key function n Melibatkan penggunaan dua kunci 20
ET 7053 Keamanan Sistem Telematika Secret Key Cryptography Tutun Juhana-STEI - ITB Melibatkan penggunaan satu kunci Plaintext encryption ciphertext key Ciphertext decryption Plaintext Disebut pula : conventional/symmetric cryptography Contoh : monoalphabetic cipher dan Captain Midnight Code 21
ET 7053 Keamanan Sistem Telematika Penggunaan Secret Key Cryptography Melakukan pengiriman informasi pada kanal yang tidak aman 2. Melakukan penyimpanan informasi secara aman pada media yang tidak aman 3. Authentication Tutun Juhana-STEI - ITB 1. n n Strong authentication : someone can prove knowledge of a secret without revealling it Misalkan Alice dan Bob menggunakan kunci yang sama yaitu KAB. Mereka ingin memverifikasi bahwa merekalah yang sedang berkomunikasi. Masing-masing memilih suatu angka acak yang disebut challenge. Alice memilih r. A, dan Bob memilih r. B. Suatu nilai x yang di-enkripsi menggunakan KAB disebut response terhadap challenge x. 22
ET 7053 Keamanan Sistem Telematika Penggunaan Secret Key Cryptography (2) Tutun Juhana-STEI - ITB Alice r. A Bob r. A encrypted with KAB r. B encrypted with KAB Ada kemungkinan pihak ketiga (Fred) dapat memperoleh pasangan
ET 7053 Keamanan Sistem Telematika Penggunaan Secret Key Cryptography (3) Integrity Check 4. Tutun Juhana-STEI - ITB • Skema secret key dapat digunakan untuk membangkitkan suatu fixed-length cryptographic checksum bagi sebuah message • • • Bila diketahui suatu kunci dan suatu message, algoritma rahasia ini akan membangkitkan suatu fixed-length message authentication code (MAC) yang dapat dikirimkan bersama message • • Checksum yang biasa (tanpa cryptography dan dipublikasikan (misalnya CRC)) dapat dibangkitkan setelah message diubah Untuk mencegah hal tsb di atas, diperlukan suatu algoritma checksum rahasia sedemikian hingga penyerang yang tidak mengetahui algoritmanya tidak dapat menghitung checksum yang tepat agar suatu message dianggap otentik MAC sering disebut pula MIC (Message Integrity Code) Jika ada seseorang yang ingin merubah message, tetapi tidak memiliki kunci, dia harus menebak MAC • Kemungkinan ketepatan menebak tergantung panjang MAC • Panjang tipikal MAC = 48 bit 24
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Public Key Cryptography Disebut pula asymmetric cryptography Tidak ada kunci yang digunakan secara bersama Setiap individual memiliki dua kunci: n n Suatu private key yang tidak boleh diberitahukan ke pihak lain Suatu public key yang dapat diketahui oleh siapapun Dalam literatur utama digunakan notasi berikut n n e menyatakan public key dan digunakan ketika mengenkripsi message d menyatakan private key yang digunakan ketika mendekripsi message 25
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika Plaintext encryption ciphertext Public key Private key Ciphertext decryption Plaintext 26
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika Pada teknologi public key dapat ditambahkan digital signature pada suatu message Digital signature adalah suatu bilangan yang diasosiasikan dengan suatu message n n Perbedaan dengan MAC : MAC dapat dibangkitkan siapapun sedangkan digital signature hanya dapat dibangkitkan oleh seseorang yang mengetahui private key. Alice dapat menandatangani sebuah message dengan tandatangan yang hanya dapat dibangkitkannya w Pihak lain dapat memverifikasi tandatangan Alice menggunakan public key tetapi tidak dapat menirukannya 27
ET 7053 Keamanan Sistem Telematika Penggunaan Public Key Cryptography Public key cryptography dapat melakukan fungsi yang dilakukan oleh secret key cryptography tetapi lebih lambat Tutun Juhana-STEI - ITB n Untuk menanggulangi kelambatan ini, biasanya digunakan kombinasi public key dan secret key w Pada tahap awal komunikasi untuk melakukan authentication, digunakan public key cryptography untuk membentuk suatu secret key sementara w Secret key ini kemudian digunakan untuk meng-enkripsi message yang dipertukarkan pada tahapan komunikasi berikutnya Misalkan Alice ingin berbicara dengan Bob. Alice menggunakan public key Bob untuk meng-enkripsi sebuah secret key, yang pada gilirannya digunakan untuk meng-enkripsi message selanjutnya yang ingin dikirimkan Alice ke Bob. Hanya Bob yang dapat men-dekripsi secret key yang dikirimkan Alice. Bob kemudian dapat menggunakan secret key ini untuk berkomunikasi dengan siapapun yang mengirim message tersebut n Pada protokol ini Bob tidak dapat mengetahui bahwa yang mengirimkan message adalah Alice w Solusi : Alice menandatangani message menggunakan private key Alice 28
ET 7053 Keamanan Sistem Telematika Penggunaan Public Key Cryptography (2) Mengirimkan informasi pada kanal yang tidak aman Tutun Juhana-STEI - ITB 1. § § § Misalkan Alice memiliki pasangan
ET 7053 Keamanan Sistem Telematika Penggunaan Public Key Cryptography (2) Tutun Juhana-STEI - ITB 2. Melakukan penyimpanan informasi secara aman pada media yang tidak aman Kita dapat meng-enkripsi informasi menggunakan public key Hanya kita yang dapat mendekripsinya (menggunakan private key kita) Data bisa tidak secara langsung di-enkripsi menggunakan public key Bangkitkan dulu suatu secret key, lalu gunakan untuk meng-enkripsi data kemudian secret key di-enkripsi menggunakan public key Kelebihan dibandingkan secret key : Alice dapat meng-enkripsi-kan suatu message untuk Bob tanpa perlu tahu secret key dari Bob 30
ET 7053 Keamanan Sistem Telematika Penggunaan Public Key Cryptography (3) 3. Authentication Tutun Juhana-STEI - ITB n Bila Alice dan Bob ingin berkomunikasi menggunakan secret key cryptography, mereka harus menggunakan secara bersama suatu kunci rahasia w Bila Bob ingin membuktikan identitasnya kepada banyak pihak, maka dia harus mengingat seluruh secret key yang akan digunakan n Penggunaan public key cryptography lebih menguntungkan w Bob hanya perlu mengingat satu rahasia yaitu private key-nya w Bila ingin berkomunikasi dengan banyak pihak, Bob masih perlu mendapatkan cara untuk memperoleh public key pihak-pihak tersebut 31
ET 7053 Keamanan Sistem Telematika Introduction Tutun Juhana-STEI - ITB Penggunaan Public Key Cryptography (4) Contoh ketika Alice menggunakan public key cryptography untuk mem-verifikasi identitas Bob (diasumsikan Alice mengetahui public key dari Bob) n Alice memilih suatu nomor acak r, lalu meng-enkripsinya menggunakan public key Bob e. B, lalu mengirimkan hasilnya ke Bob membuktikan bahwa dia tahu d. B dengan cara mendekripsi message lalu mengirimkan kembali r ke Alice Kelebihan : Alice tidak perlu menyimpan rahasia apapun untuk mem-verifikasi Bob Alice Encrypt r using e. B Bob Decrypt to r using d. B r 32
ET 7053 Keamanan Sistem Telematika Penggunaan Public Key Cryptography (5) Tutun Juhana-STEI - ITB 4. Digital Signature Tandatangan Bob untuk suatu messsage m hanya dapat dibangkitkan oleh Bob menggunakan private key (atau oleh seseorang yang mengetahui private key dari Bob) Tandatangan yang dibubuhkan tergantung dari m Jika m berubah, maka tandatangan menjadi tidak sesuai lagi Digital signature menyediakan dua fungsi berikut : Membuktikan pihak yang membangkitkan informasi Membuktikan bahwa message tidak diubah siapapun sejak message dan tandatangannya yang sesuai dibangktikan 33
ET 7053 Keamanan Sistem Telematika Hash Algorithm Tutun Juhana-STEI - ITB Disebut pula message digests atau one-way transformation Cryptographic hash function : suatu transformasi matematis yang menghitung suatu nomor tertentu yang panjangnya tetap (dan pendek) dari suatu message yang panjangnya sembarang (setelah ditransformasikan ke dalam deretan bit) Hash of a message m : h(m) 34
ET 7053 Keamanan Sistem Telematika Hash Algorithm (2) Tutun Juhana-STEI - ITB h(m) memiliki sifat-sifat sbb : n n n Untuk setiap message m, relatif mudah untuk menghitung h(m) Bila diketahui h(m), tidak ada cara yang mudah untuk menemukan m Meskipun ada kemungkinan bahwa beberapa harga m akan ditransformasikan ke h(m) yang sama, tetapi tidak mungkin menemukan dua nilai yang di-hash ke nilai yang sama 35
ET 7053 Keamanan Sistem Telematika Hash Algorithm (3) Password Hashing Tutun Juhana-STEI - ITB n Ketika user mengetikan password, sistem harus mampu menentukan apakah user memasukkannya dengan benar w Jika sistem menyimpan password secara tidak ter-enskripsi, maka siapapun yang memiliki akses ke tempat penyimpanan yang ada dalam sistem atau yang berada di back-up tape, dapat mencurinya w Untungnya, sistem tidak perlu mengetahui password-nya untuk melakukan verifikasi password n n Sistem menyimpan password yang sudah di-hash (hash of the password) Ketika user memasukkan password, sistem menghitung hash dari password tersebut lalu membandingkannya dengan password hash yang telah disimpan n Bila match, maka user telah memasukkan password dengan benar 36
ET 7053 Keamanan Sistem Telematika Hash Algorithm (4) Tutun Juhana-STEI - ITB Password Hashing (2) n Jika hashed password ada yang mencuri, tidak serta merta dapat dimanfaatkan untuk mengetahui password karena password tidak dapat diturunkan dari hash w Dalam sejarahnya, file hashed password dapat dibaca oleh siapapun n Jika ada user yang memilih password secara ceroboh (menggunakan kata yang ada dalam kamus misalnya), maka ada kemungkinan password dapat di-crack. n Dengan alasan ini, hashed password disembunyikan 37
ET 7053 Keamanan Sistem Telematika Hash Algorithm (5) Message Integrity Tutun Juhana-STEI - ITB n Cryptography hash function dapat digunakan untuk membangkitkan MAC untuk melindungi integritas pesan yang dikirimkan melalui media yang tidak aman seperti halnya pada secret key cryptography w Tidak aman bila mengirimkan message menggunakan MAC yang merupakan hash dari message tersebut n Pihak lain dapat mengubah message lalu membangkitkan hash yang lain w Solusi : Alice dan Bob sepakat untuk menggunakan sebuah rahasia (secret) n Alice menggabungkan message dengan secret lalu menghitung hash dari message|secret tersebut (ini disebut keyed hash) n n Alice lalu mengirimkan hash tersebut bersama dengan message (tanpa secret) Bob menggabungkan secret ke message yang diterimanya, lalu menghitung hash-nya. Jika hasil perhitungannya sesuai dengan hash yang diterima, maka Bob yakin bahwa message dikirim oleh seseorang yang mengetahui secret tersebut 38
ET 7053 Keamanan Sistem Telematika Hash Algorithm (6) Tutun Juhana-STEI - ITB Alice Bob secret message hash =? secret 39
ET 7053 Keamanan Sistem Telematika Hash Algorithm (7) Message Fingerprint Tutun Juhana-STEI - ITB n Untuk mengetahui apakah suatu message yang panjang (mis. Program) telah dirubah, dapat digunakan hash dari program tersebut w Storage saving Downline Load Security n n Downline load : mengambil program dari jaringan lalu menjalankannya Untuk meyakinkan bahwa program yang diambil secara downline load belum berubah (disengaja maupun tidak), kita hitung hashnya lalu dibandingkan dengan hash program yang asli Digital Signature Efficiency n Hash dari message dihitung lalu ditandatangani (bukan message yang langsung ditandatangi) w Tidak terlalu membebani prosesor dan hash jauh lebih pendek daripada message 40
Secret Key Cryptography
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Generic Block Encryption Meng-enkripsi satu blok data Dalam algoritma cryptographic yang merubah blok plaintext ke blok yang ter-enkripsi perlu diperhatikan panjang kunci dan panjang blok plaintext (plaintext block) n n Kunci yang terlalu pendek dapat menyebabkan ciphertext mudah dipecahkan (seluruh kemungkinan kunci dapat ditemukan dengan mudah) Panjang blok (block length) w Bila terlalu pendek (misalnya 1 oktet (monoalphabetic cipher)), maka bila kita memiliki beberapa pasangan
ET 7053 Keamanan Sistem Telematika The most general way to encrypt 64 -bit block : Mapping 264 input values to a unique one of 264 output values 64 bit ……. . . . : : Mapping one-to-one : : . . ……. 64 bit ……. Ada 264 kemungkinan nilai input The mapping is has to be one-to-one, untuk memungkinkan dekripsi . . n ……. Tutun Juhana-STEI - ITB Generic Block Encryption (2) 43
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Generic Block Encryption (3) Ada 264 kemungkinan input, masing-masing dipetakan ke salah satu output (yang panjangnya) 64 bit n Untuk menyatakan pemetaan ini diperlukan 270 bit (264 x 64 = 264 x 26 ) Pemetaan harus terlihat betul-betul random (acak) bagi seseorang yang tidak memiliki kunci n Random : setiap perubahan pada satu bit input akan menyebabkan perubahan output secara acak Setiap output harus tidak memiliki korelasi dengan output lainnya n n n Jumlah bit yang sama harus kira-kira setengahnya Jumlah bit yang berbeda harus kira-kira setengahnya To spread bits arround : perubahan pada satu bit input harus berpengaruh pada semua bit output dan mampu merubah bit output manapun dengan peluang 50% 44
ET 7053 Keamanan Sistem Telematika Generic Block Encryption (4) Tutun Juhana-STEI - ITB Ada dua macam transformasi terhadap sebuah blok data n Substitution w Untuk masing-masing dari 2 k input, akan terdapat satu output kbit w Untuk menyatakan pemilihan substitusi yang betul-betul acak bagi blok data yang panjangnya k-bit, diperlukan k. 2 k bit. n Permutation w Untuk setiap bit pada input yang jumlahnya k-bit, ditentukan posisi bit tersebut di ouput n n Misalnya bit pertama di input menjadi bit ke-13 di output, bit kedua bisa menjadi bit ke 61 di output dsb. Untuk menyatakan pemilihan permutasi yang betul-betul acak dari sekumpulan k bit, diperlukan k. log 2 k bit n Pada output ada sebanyak k bit, untuk menyatakan posisi masing-masing bit diperlukan log 2 k bit 45
ET 7053 Keamanan Sistem Telematika Generic Block Encryption (5) Contoh Divide input into eight 8 -bit pieces 8 bits Loop for n rounds Tutun Juhana-STEI - ITB 64 -bit input 8 bits 8 bits S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 8 8 bits 8 bits Eight 8 -bit substitution function derived from the key 8 bits 64 -bit intermediate Rounds dilakukan agar perubahan pada 1 bit input berpengaruh terhadap seluruh bit output 64 -bit output Permute the bits, possibly based on the key 46
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Generic Block Encryption (6) Sifat penting lain dari mekanisme enkripsi adalah dengan adanya kunci, prosesnya harus dapat dibalik secara efisien 47
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Data Encryption Standard (DES) Dipublikasikan pada tahun 1977 oleh National Bureau of Standards (renamed National Institute of Standards and Technology (NIST)) Untuk aplikasi komersial dan aplikasi unclassified pemerintah Amerika Berbasis Lucifer cipher dari IBM dan masukan dari NSA 48
ET 7053 Keamanan Sistem Telematika DES (2) Tutun Juhana-STEI - ITB Menggunakan kunci 56 bit n Sebenarnya terdiri dari 64 bit, tetapi pada setiap oktet ada 1 bit yang digunakan untuk pariti ganjil, sehingga hanya ada 7 bit dari setiap oktet yang berguna sebagai kunci Memetakan blok input 64 bit ke blok output 64 bit Efisien untuk diimplementasikan secara hardware tetapi relatif lambat bila diterapkan secara software 49
64 bit input 54 - bit key Initial Permutation Round 1 Decryption Round 2 48 -bit K 1 decryption 48 -bit K 16 48 -bit K 2 decryption 48 -bit K 15 : : Round 16 Generate 16 per-round keys 48 -bit K 16 decryption 48 -bit K 1 Swap left and right halves Final permutation (inverse of initial permutation) 64 bit output : :
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Triple DES (3 DES) 51
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB IDEA International Data Encryption Algorithm Serupa dengan DES: 64 -bit blocks Menggunakan kunci 128 -bit yang merupakan kekuatannya (belum memiliki kelemahan yang teridentifikasi) 52
ET 7053 Keamanan Sistem Telematika IDEA Top View Tutun Juhana-STEI - ITB 64 -bit Input 48 -bit K 1 Round 2 128 -bit Key key expansion k 1 k 2 k 3 k 4 k 5 k 6 …. . . Round 16 Round 17 64 -bit Output k 49 k 50 k 51 k 52 53
Public Key Algorithms
ET 7053 Keamanan Sistem Telematika RSA (Rivest, Shamir, Adleman) Tutun Juhana-STEI - ITB Yang paling populer digunakan n Diantaranya untuk TLS (Transport Layer Security) dan IPSec (IP Security) Mendukung public key encryption maupun digital signature Panjang kunci bervariasi (biasanya 512 bits) Ukuran blok plaintext bervariasi n n Ukuran plaintext harus lebih kecil daripada ukuran kunci Ukuran blok ciphertext sama dengan panjang kunci More information on RSA: www. rsasecurity. com/rsalabs/pkcs-1/index. html 55
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Diffie-Hellman Key Exchange Shared key, public communication No authentication of partners More on Diffie-Hellman can be found at www. rsasecurity. com/rsalabs/faq/3 -61. html 56
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Key Distribution and Management Secret key distribution Public key distribution Secret key distribution using public key encryption 57
ET 7053 Keamanan Sistem Telematika Secret Key Distribution Tutun Juhana-STEI - ITB A and B can establish a secret key by: n n Manual delivery. Selection and delivery by a trusted third party. Using a previous key to encrypt the new key. Using encrypted links to a third party to relay. Problem: n Need to scale up: need for each pair of hosts/applications. . . 58
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Key Distribution Center (KDC) Responsible for distributing keys to pairs of users (hosts, processes, applications) Each user must share a unique key, the master key, with the KDC n n Use the master key to communicate with KDC to get a temporary session key for establishing a secure “session” with another user Master keys are distributed in some noncryptographic ways 59
ET 7053 Keamanan Sistem Telematika KDC FEP Tutun Juhana-STEI - ITB 2 3 1 Host F EP 4 F EP Host Network 1. 2. 3. 4. Host sends packet requesting connection Front end buffers packet: asks KDC for session key KDC distributes session key to both front ends Buffered packet transmitted FEP =Front-end processor KDC =key distribution center 60
ET 7053 Keamanan Sistem Telematika Details… Tutun Juhana-STEI - ITB Step 1 – When one host wishes to set up a connection to another host, it transmit a connection sequent packet. Step 2 – The FEP saves that packet and applies to the KDC for permission to establish the connection. The communications between the FEP and the KDC is encrypted using a master key shared only by the FEP and the KDC. Step 3 – If the KDC approves the connection sequent, it generates the session key and delivers it to the two appropriate FEPs, using a unique permanent key for each FEP. Step 4 – The requesting FEP can now release the connection sequent packet, and a connection is set up between the two and systems. All used data exchanged between the two end systems are encrypted by their respective FEPs using the one-time session key. 61
Public Key Systems Taken from Dr. Shlomo Kipnis Lecture Notes (The Hebrew University -- Institute of Computer Science)
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika 63
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika 64
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika 65
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika 66
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika 67
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika 68
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika 69
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika 70
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika 71
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika 72
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika 73
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika 74
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika 75
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika 76
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika 77
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Public Key Infrastructure Infrastruktur yang diperlukan untuk meng-otentifikasi digital certificates dan CAs PKI merupakan suatu jaringan hirarkis CA Suatu "root certificate" mengotorisasi subordinate CAs 78
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Komponen PKI Certification authority (CA) Registration authority (RA) PKI clients Digital certificates Certificate Distribution System or repository 79
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB CA Otoritas terpercaya yang mengotentikasi identitas yang terlibat dalam komunikasi Untuk mengotentikasi identitas, CA mengeluarkan digital certificates n n n Merupakan dokumen yang ditandatangani private key CA Mengandung informasi sperti nama pelanggan, public key pelanggan, suatu serial number, dan informasi lain Sertifikat ini mengkonfirmasi bahwa suatu public key merupakan milik suatu entitas tertentu 80
ET 7053 Keamanan Sistem Telematika CA (2) Beberapa tipe CA: Tutun Juhana-STEI - ITB n Internal CA w Internal CA memberikan sertifikat pegawai suatu organisasi akan posisi mereka dan tingkat otoritasnya (level of authority) w Sertifikat ini memungkinkan organisasi mendefinisikan pengendalian akses terhadap internal resources atau aliran informasi w Misalnya, untuk setiap pegawai, CA membuat sebuah kunci dan mengeluarkan sertifikat yang berhubungan langsung dengan sistem komputer yang dapat diakses oleh pegawai yang bersangkutan w Komputer kemudian dapat memutuskan apakah pegawai boleh mengakses komputer berdasarkan sertfikasi kunci n Outsourced Employee CA w Suatu organisasi dapat menandatangani perjanjian dengan perusahaan luar untuk menyediakan sertifikat bagi pegawainya n Outsourced Customer CA w Suatu organisasi dapat menandatangani perjanjian dengan perusahaan luar yang menyewa CA untuk menangani customer lama maupun baru dari suatu organisasi n Trusted Third-Party CA w Suatu organisasi terpercaya atau pemerintah dapat menjadi CA yang menghbungkan public keys dengan nama-nama lgal suatu individu atau perusahaan Untuk menggunakan sertifikat yang dikeluarkan oleh CA, kita harus memiliki copy dari public key CA Saat ini public keys didistribusikan sebagai bagian dari paket software, seperti Web browsers dan operating systems 81
ET 7053 Keamanan Sistem Telematika Certification Authority Tutun Juhana-STEI - ITB Beberapa contoh CA: 82
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Registration Authority (RA) RA adalah otoritas perantara yang mengkoordinasikan interaksi antara clients dengan CA Fungsi RA adalah untuk mengurangi beban CA atas permintaan sertifikasi n Jika CA merasa tidak dapat menangani beban penerimaan dan validasi request sertifikat maka CA akan mengontak RA Beberapa fungsi yang dijalankan RA performs: n n Menerima dan memvalidasi requests dari organisasi Mem-forward request ke CA Menerima sertifikat yang sudah diproses dari CA Mengirimkan sertifikat ke organisasi yang memintanya 83
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB PKI clients Entitas atau organisasi yang mengeluarkan permintaan akan sertifikat digital Suatu client PKI harus melakukan beberapa langkah berikut untuk memperoleh sertifikat digital dari CA: n n Mengirimkan request untuk membangkitkan pasangan public dan private key pair Client atau CA dapat membangkitkan pasangan kunci ini (mengandung informasi client) Setelah pasangan kunci dibangkitkan, suatu request dikirimkan ke CA untuk meminta sertifikat digital. Request ini pada umumnya dirutekan melalui RA Setelah menerima sertifikat digital, client PKI akan menggunakannya untuk menotentikasi dirinya sendiri untuk berinteraksi di Internet. 84
ET 7053 Keamanan Sistem Telematika Digital certificates Memiliki tujuan sbb: n Tutun Juhana-STEI - ITB n Membentuk integritas dari public key Menghubungkan public key dengan informasi pemiliknya secara aman Digital certificates menjamin bahwa public key untuk suatu certificate, yang diotentikasi oleh CA, akan bekerja secara baik dengan private key yang dimiliki PKI client Sebuah digital certificate mengandung elemen berikut: n n n Serial number Digital signature of the CA Public key of the user to whom the certificate has been issued Date of expiration Name of the CA that issued the certificate Setelah menerima digital certificate, suatu organisasi atau individual melakukan langkah berikut untuk menggunakan sertifikat tersebut: n n Pengirim digitally signed message menggunakan private key untuk menjamin integritas dan keotentikan message. Setelah menerima message, penerima receiver memverifikasi digital signature menggunakan public key pengirim Penerima mencek validitas digital certificate pengirim menggunakan global directory database, yang akan mengembalikan status sertifikasi penerima Transaksi dianggap komplit jika sertifikat valid Setelah dikeluarkan, sertifikat harus didistribusikan ke users atau organisasi. Tugas ini dilakukan oleh suatu Certificate Distribution System Repository 85
ET 7053 Keamanan Sistem Telematika Certification Distribution System (CDS) Repository Tutun Juhana-STEI - ITB Certification Distribution System Repository menditribusikan sertifikat ke users maupun organisasi Sertifikat dapat didistribusikan menggunakan dua mekanisme berikut: n n Didistribusikan oleh user sendiri Didistribusikan oleh suatu directory server yang menggunakan LDAP ntuk mengambil informasi yang disimpan di dalam suatu X. 500 compliant database CDS melakukan tiga tugas berikut: n n Membangkitkan dan mengeluarkan pasangan kunci Memvalidasi public keys dengan cara menandatanganinya Me-revokes key yang hilang atau kadaluarsa Mempublikasikan public keys di dalam directory service server 86
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Recaps Ada tiga algoritma public key yang digunakan sekarang: n n n Diffie-Hellman RSA Digital Signature Algorithm (DSA) 87
ET 7053 Keamanan Sistem Telematika Hash Function Suatu teknik untuk mencegah atau mendeteksi perubahan pada informasi Tutun Juhana-STEI - ITB n Menghasilkan tingkat integritas yang tinggi dari message atau data Hash function mengambil suatu message dengan panjang tertentu lalu menghitung suatu harga yang panjangnya tertentu yang disebut "hash value" Hash value merupakan cryptographic checksum dari message Cryptographic checksum dapat dipandang sebagai “sidik jari” dari message Panjang pesan asli tidak akan merubah hash value Hash value dapat digunakan untuk menentukan apakah suatu message telah berubah atau tidak Hash functions harus hanya satu arah n Tidak boleh ada satu cara-pun untuk membalikkan proses (mendapatkan message dari hash value) Persyaratan lain dari suatu one-way hash function yang efektif adalah ketiadaan (atau paling tidak hanya terbatas) “collision” n Suatu collision terjadi bila untuk dua atau lebih message yang unik dihasilkan hash value yang sama w Jika message berbeda maka hash values-nya harus berbeda pula 88
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Beberapa algoritma hashing yang sering digunakan Message digest #4 (MD 4) from RSA Message digest #5 (MD 5) from RSA Secure hash algorithm-1 (SHA-1) RACE Integrity Primitives Evaluation (RIPE) MD-160 (RIPEMD-160) 89
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB MD 4 dikembangkan oleh Ron Rivest dari RSA MD 4 merupakan suatu one-way hash function yang mengambil message yang ukurannya bervariasi dan menghasilkan hash value (message digest) sepanjang 128 -bit MD 4 memiliki kelemahan: n Paling tidak dua dari tiga round MD 4 tidak oneway sehingga ada kemungkinan collisions 90
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB MD 5 dikembangkan juga oleh Ron Rivest sebagai perbaikan dari MD 4 MD 5 menghasilkan message digest unik berukuran 128 -bit yang diturunkan dari suatu message atau file Nilai message digest yang merupakan “sidik jari” message atau isi file, digunakan untuk memverifikasi integritas isi message atau file Jika message atau file dirubah sebanyak 1 bit pun, maka nilai message digest nya akan berbeda dengan nilai message digest untuk pesan yang original MD 5 lebih aman daripada MD 4, tetapi masih memiliki kelemahan : n Ditemukan suatu collision di dalam fungsi kompressi pada MD 5 (meski kelemahan ini tidak untuk MD 5 sendiri) Algoritma MD 5 ditujukan untuk aplikasi digital signature 91
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Secure Hash Algorithm-1 (SHA-1) SHA-1 adalah suatu algoritma one-way hash yang digunakan untuk membangkitkan digital signatures SHA-1 diturunkan dari SHA yang dikembangkan pada tahun 1994 oleh NIST SHA-1 serupa dengan algoritma MD 4 dan MD 5 SHA-1 sedikit lebih lambat daripada MD 4 dan MD 5, tetapi lebih aman SHA-1 hash function menghasilkan has value dengan panjang 160 -bit n Lebih tahan terhadap brute force attacks daripada MD 4 dan MD 5, yang hanya menghasilkan hash value dengan panjang 128 -bit 92
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB RIPEMD Merupakan hash function yang dikembangkan melalui the European Community's project RIPE Ada beberapa ekstensi: RIPEMD 128, RIPEMD-160, dan RIPEMD-256 Setiap extension merupakan referensi terhadap panjang hash value Sebagai contoh, RIPEMD-160 adalah 160 -bit cryptographic hash function, dirancang oleh Hans Dobbertin, Antoon Bosselaers, dan Bart Preneel. 93
Digital Signature
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB What’s Digital Signing? Digunakan untuk menyediakan keyakinan bahwa informasi berasal dari sumber tertentu dan belum pernah berubah Ada beberapa cara untuk menandatangai suatu dokumen secara digital, tetapi yang akan kita bahas adalah protokol standard digital signing 95
ET 7053 Keamanan Sistem Telematika Definisi Tutun Juhana-STEI - ITB Digital Signature n Merupakan sederatan data yang menghubungkan suatu message dengan beberapa entitas sumber informasi Digital Signature Generation Algorithm n Metoda untuk menghasilkan digital signature Digital Signature Scheme n Terdiri dari suatu signature generation algorithm dan algoritma verifikasi yang berhubungan 96
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Contoh skenario President George W. Bush akan mengirimkan perintah kepada tentaramya di Timur Tengah Ia mendapatkan informasi dari dinas rahasia bahwa Saddam Hussein akan segera mem-bom Washington, sehingga ia harus segera mengambil tindakan 97
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika Ia memerintahkan untuk mem-bom Iraq secepat mungkin melalui sarana yang tidak aman (melaui e-mail bush_666@hotmail. com): n “Start the military strike. G. W. B. ” 98
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika Misalnya seseorang, sebut saja Mr. X, berhasil menyadap pesan yang dikirimkan lalu merubah perintah menjadi: “Let’s give peace a chance. G. W. B. ”. 99
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika Tanpa adanya protokol digital signature, Saddam Hussein punya cukup waktu untuk melancarkan serangan ke Washington… 100
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Jika Mr. Bush tahu teknologi digital signature Dia dapat menandatangani message Mr. X masih dapat merubah message, tetapi komandan tentara di Timur Tengah bisa mendeteksi bahwa message telah berubah n Dia akan meminta konfirmasi ke White House. 101
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Cara Kerja Digital Signing Kita bangkitkan suatu nilai (binary string) dari message menggunakan hash function. Kita gunakan algoritma digital signature untuk menghasilkan tanda tangan dari hash value dan private key. Dengan demikian sekarang message dapat diotentifikasi menggunakan public key dan tandatangan. 102
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Digital Signature Standard (DSS)/Digital Signature Algorithm (DSA) 103
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Skenario George Bush yang sudah mengenal Digital Signature 104
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Tandat tangan yang dihasilkan: -----BEGIN PGP SIGNATURE----Version: Gnu. PG v 1. 0. 7 (GNU/Linux) i. D 8 DBQA+c 2 Tek 9/At. On. Rw. Pc. RAuqt. AJ 0 R 3 O 4 t. PGWvha. Yj. Xvfu. IFi. P AU 4 Yfg. Ce. N+Ox jqfj. Ux. Vpg. Ki 2 Ij 5 c. Y 65 KOtg= =05 Ox -----END PGP SIGNATURE----- Tanda tangan ini dapat dikirim pada file terpisah 105
Tutun Juhana-STEI - ITB ET 7053 Keamanan Sistem Telematika Mr. X yang berhasil menyadap akan merubah pesan lalu mengirimkannya ke tujuan Komandan tentara di Timur Tengah akan dapat mendeteksi bahwa pesan sudah berubah [general@kuwait general]$ gpg --verify Bush. sig Bush. txt gpg: Signature made Mon 17 Mar 2003 00: 00 AM EST using DSA key ID E 9 D 1 C 0 F 7 gpg: BAD signature from "George W. Bush (Millie)
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Contoh software yang dapat digunakan Gnu. PG Free Dapat digunakan untuk tanda tangan digital menggunakan beberapa macam algoritma 107
ET 7053 Keamanan Sistem Telematika Tutun Juhana-STEI - ITB Algoritma Digital Signing yang Lain RSA (saingan berat DSS/DSA) El. Gamal One-Time Signatures Rabin One-Time Signatures Arbitrated Digital Signatures ESIGN Chaum-van Antwerpen 108
ET 7053 Keamanan Sistem Telematika Legal Issues Tutun Juhana-STEI - ITB Patents n Pada umumnya teknik kriptografi dilindungi patent (ada royalty) Export Controls n Pemerintah U. S. membatasi ekspor kriptografi w Strong encryption untuk aplikasi dalam negeri w No Strong encryption untuk produk yang diekspor 109