Post on 19-Jun-2015
1
Protokol Building Bloks
Materi MK. Pengantar Kriptografi
Oleh : Shelvie N NeymanSumber : Scheiner. 1996. Applied Cryptography
2
Topik
1. Pengenalan Protokol2. Protokol Komunikasi menggunakan kriptografi simetrik3. One-way function4. One-way hash function5. Komunikasi menggunakan kriptografi kunci-publik6. Penandaan digital7. Penandaan digital dengan enkripsi8. Random dan pseudorandom sequence generator
3
Definisi
Protokol (schneier, 1996), serangkaian langkah-langkah yang melibatkan dua pihak atau lebih dan didesain untuk menyelesaikan suatu permasalahan.
Serangkaian langkah-langkah dalam protokol bersifat berurutan, dimana suatu langkah dapat dikerjakan bila langkah sebelumnya telah diselesaikan.
4
Karakterik Protokol
1. Semua pihak yang terlibat dalam suatu protokol harus mengetahui keberadaan dan setuju untuk mengikuti keseluruhan langkah-langkah dalam protokol tersebut.
2. Protokol tidak boleh membingungkan; setiap langkah dideskripsikan dengan jelas sehingga tidak menimbulkan salah pengertian.
3. Protokol harus lengkap; selalu tersedia spesifik tindakan untuk setiap kemungkinan situasi.
5
Protokol kriptografi
Protokol kriptografi adalah protokol yang melibatkan algoritma kriptografi.
protokol kriptografi ( Menezes et all 1996) yaitu algoritma terdistribusi yang didefinisikan sebagai barisan langkah-langkah secara tepat menspesifikasikan tindakan-tindakan dari dua entitas atau lebih yang diperlukan untuk mencapai tujuan keamanan tertentu.
6
Protokol kriptografi
Dalam mendesain protokol kriptogtafi dua langkah penting yang harus diperhatikan adalah : (1) identifikasi semua asumsi yang digunakan, dan (2) untuk masing-masing asumsi, tentukan pengaruhnya terhadap tujuan keamanan jika asumsi itu dilanggar.
7
Protokol Kriptografi
Sebagian besar protokol kriptografi dirancang untuk dipakai oleh kelompok yang terdiri dari 2 orang pemakai, tetapi ada juga beberapa protokol yang dirancang untuk dipakai oleh kelompok yang terdiri dari lebih dari dua orang pemanaki (misalnya pada aplikasi teleconferencing)
8
Peranan dalam protokol kriptografi Alice : orang pertama (dalam semua protokol) Bob : orang kedua (dalam semua protokol) Carol : orang ketiga dalam protokol 3 / 4 org Dave : orang keempat dalam protokol 4 orang Eve : penyadap (eavesdropper) Mallory:malicious active attacker Trent : juru penengah (arbitrator) yang terpercaya Walter : warden (penjaga Alice dan Bob) Peggy : prover Victor : verifier
9
1. Protokol Terabitrasi (Arbitrated Protocol)
Arbiter adalah pihak ketiga yang dipercayai dan bersikap netral dalam suatu protokol
Netral mempunyai arti bahwa arbiter tidak mempunyai kepentingan dan keberpihakan terhadap pihak manapun, sedangkan terpercaya berarti segala yang arbiter lakukan atau katakan dapat diterima oleh semua pihak yang terlibat dalam protokol tersebut.
Contoh arbiter dalam kehidupan sehari-hari adalah seorang pengacara, banker, dan notaris.
10
Protokol Terabitrasi (Arbitrated Protocol)
BOBALICE
TRENT
11
Protokol Terabitrasi (Arbitrated Protocol) Pengacara, menjamin tidak ada kecurangan :1. Alice memberikan title kepada pengacara2. Bob memberikan cek kepada Alice3. Alice mendepositkan cek tersebut4. Setelah periode waktu tertentu cek clear,
pengacara akan memberikan title kepada Bob, jika cek tidak clear dalam periode waktu tersebut, Alice akan memberikan bukti kepada pengacara dan pengacara akan mengembalikan title kepada Alice
Title :right or claim to the ownership of property or to a rank or throne.
12
Protokol Terabitrasi (Arbitrated Protocol) Banker, Bob menggunakan certified check
untuk membeli mobil dari Alice :1. Bob menulis cek dan menyerahkannya kepada
bank 2. Setelah jumlah uang Bob cukup, bank akan
mensertifikasi cek tersebut dan memberikannya kepada Bob
3. Alice memberikan title kepada Bob dan Bob memberikan cek tersertifikasi kepada Alice tersebut
4. Alice mendepositkannya ke bank
13
Protokol Terabitrasi (Arbitrated Protocol) Komputer sebagai arbitrator :1. Lebih percaya jika tahu siapa dan wajah dari
pihak ke-32. Jaringan komputer memerlukan biaya maintain
arbitrator3. Bisa terjadi delay4. Bisa terjadi bottleneck 5. Menjadi celah/tujuan bagi penyusup jaringan
14
2. Adjudicated Protocol
penggunaan arbiter dalam protokol membutuhkan biaya tinggi
arbitrated protokol terbagi menjadi 2 subprotokol : 1.subprotokol tanpa arbiter, merupakan bagian protokol
yang selalu dieksekusi,
2.subprotokol terabitrasi, hanya dieksekusi dalam kondisi khusus (terdapat perselisihan).
• Arbiter ini disebut adjudicator
• Adjudicator merupakan arbiter yang hanya dilibatkan ketika protokol melakukan fairly .
15
Adjudicated Protocol Adjudicator merupakan pihak ke-3 yang terpercaya dan
tidak berkepentingan, tapi tidak secara langsung terlibat di setiap protokol
Hakim adalah professional adjudicator
BOBALICE
TRENT
evidence evidence
After the fact
16
Adjudicated Protocol
Protokol penandatanganan kontrak : Nonarbitrated subprotocol (dieksekusi setiap waktu) :1. Alice dan Bob menegosiasikan isi kontrak2. Alice menandatangani kontrak3. Bob menandatangani kontrak Adjudicated subprotocol (dieksekusi pada saat terjadi
pengingkaran) :1. Alice dan Bob datang pada hakim2. Alice memberikan buktinya3. Bob memberikan buktinya4. Hakim memeriksa bukti
17
3. Self-Enforcing Protocol Self-Enforcing Protocol adalah jenis protokol
yang paling baik. Protokol itu sendiri yang menjamin fairness
sehingga tidak membutuhkan arbiter atapun adjudicator.
Protokol tersebut dibangun sedemikian rupa sehingga tidak dapat terjadi perselisihan.
Bila salah satu pihak berusaha untuk berbuat curang, maka pihak lainnya secara otomatis akan mendeteksi kecurangan tersebut dan protokol akan berhenti.
18
Self-Enforcing Protocol
BOBALICE
19
Serangan pada protokol
Ada 2 macam serangan :1. Passive attack
serangannya tidak memperngaruhi protokol, hanya mengamati.
2. Active attackserangan yang berusaha menganggu protokol, ex. Membuat pesan baru, delete pesan, substitusi pesan, replay pesan lama, interrupt kanal komunikasi.
20
Serangan pada protokol
Cheater, pihak sah protokol yang berbuat curang atau tidak mengikuti protokol
1. Passive cheaterberusaha mendapatkan informasi lebih dari yang diperbolehkan
2. Active cheatermerusak protokol.
21
Protokol Komunikasi Sistem Kriptografi Simetri
1. Alice dan Bob menyepakati algoritma kriptografi simetri yang akan digunakan.
2. Alice dan Bob menyepakati kunci yang akan digunakan.
3. Alice menulis pesan plainteks dan mengenkripsinya menggunakan algoritma dan kunci menjadi cipherteks.
4. Alice mengirim pesan cipherteks kepada Bob.5. Bob mendekripsi pesan cipherteks dengan kunci
dan algoritma yang sama kemudian membaca plainteksnya.
22
Protokol Komunikasi Sistem Kriptografi Simetri
Eve mendengar semua percakapan antara Alice dan Bob pada protokol ini ?
jika Eve menyadap transmisi pesan pada langkah (4), ia harus mencoba mengkriptanalisis cipherteks untuk memperoleh plainteks tanpa mengetahui kunci
jika ia mendengar pembicaraan pada langkah (1)dan (2), maka ia mengetahui algoritma dan kunci yang digunakan, sehingga ia dapat mendekripsi cipherteks dengan kunci tsb.
23
Protokol Komunikasi Sistem Kriptografi Simetri
Protokol kriptografi di atas tidak bagus karena kunci harus tetap rahasia sebelum, sepanjang, dan setelah protokol.
Langkah (1) dapat dilakukan dalam mode publik, namun langkah (2) harus dilakukan dalam mode rahasia.
Sistem kriptografi kunci-publik dapat memecahkan masalah distribusi kunci ini.
24
Protokol Komunikasi dengan Sistem Kriptografi Kunci-Publik
1. Alice dan Bob menyepakati algoritma kriptografi kunci-publik yang akan digunakan.
2. Bob mengirimi Alice kunci publiknya (kunci publik Bob).
3. Alice mengenkripsi pesannya dengan kunci publik Bob kemudian mengirimkannya ke Bob
4. Bob mendekripsi pesan dari Alice dengan kunci rahasia miliknya (kunci rahasia Bob).
25
Protokol Komunikasi dengan Sistem Kriptografi Kunci-Publik
Pada umumnya, pengguna di jaringan menyepakati algoritma kriptografi kunci-publik yang digunakan.
Setiap pengguna jaringan mempunyai kunci publik dan kunci rahasia, yang dalam hal ini kunci publik dipublikasikan melalui basisdata yang dapat diakses bersama.
26
Protokol Komunikasi dengan Sistem Kriptografi Kunci-Publik
Pada umumnya, pengguna di jaringan menyepakati algoritma kriptografi kunci-publik yang digunakan.
Setiap pengguna jaringan mempunyai kunci publik dan kunci rahasia, yang dalam hal ini kunci publik dipublikasikan melalui basisdata yang dapat diakses bersama.
27
Protokol Komunikasi dengan Sistem Kriptografi Kunci-Publik
protokol kriptografi kunci-publik menjadi lebih sederhana sebagai berikut:
1. Alice mengambil kunci publik Bob dari basisdata kunci-publik.
2. Alice mengenkripsi pesannya dengan kunci publik Bob kemudian mengirimkannya kepada Bob.
3. Bob mendekripsi pesan dari Alice dengan kunci rahasia miliknya (kunci rahasia Bob).
28
Protokol Komunikasi dengan Sistem Kriptografi Kunci-Publik Eve yang mendengar pembicaraan selama
protokol ini akan mendapatkan kunci publik Bob, tetapi Eve tidak dapat mendekripsi cipherteks karena ia tidak mengetahui kunci rahasia Bob.
Dalam dunia nyata, sistem kriptografi kunci-publik bukanlah pengganti sistem kriptografi sismetri. Sistem kriptografi kunci-publik tidak digunakan untuk mengenkripsi pesan, melainkan untuk mengenkripsi kunci pada sistem kriptografi simetri.
29
Protokol Komunikasi dengan Sistem Kriptografi Kunci-Publik
Dengan sistem kriptografi kunci-publik, maka pertukaran kunci pada sistem kriptografi simetri dapat :
1. Bob mengirimi Alice kunci publiknya.2. Alice membangkitkan kunci sesi acak K, mengenkripsinya dengan kunci publik (PK) Bob, dan mengirimkannya ke Bob,
EPK(K)3. Bob mendekripsi pesan dari Alice dengan menggunakan kunci rahasianya (SK) untuk mendapatkan kembali kunci sesi K
DSK(EPK(K)) = K4. Baik Alice dan Bob dapat saling berkirim pesan dengan sistem kriptografi simetri menggunakan kunci sesi K.
30
Protokol Komunikasi dengan Sistem Kriptografi Kunci-Publik
Dua gabungan sistem kriptografi yang digunakan pada protokol diatas disebut hybrid cryptosystem dan kunci simetri yang dipertukarkan disebut session key.
sistem kriptografi kunci-publik berhasil memecahkan masalah manajemen kunci yang sangat penting, yaitu pertukaran kunci.
31
Protokol untuk Digital Signature
A. Menandatangani Dokumen dengan Sistem Kriptografi Simetri dan Seorang Juru Penengah.
Alice ingin menandatangani dokumen digital dan mengirimkannya ke Bob.
Ia meminta Trent sebagai juru penengah, misalnya pengacara (diperlukan jika sewaktu-waktu ada pertengkaran antara Alice dan Bob).
Trent akan memberikan sidik berupa sertifikasi terhadap dokumen yang dikirim oleh Alice.
Sistem kriptografi yang digunakan adalah simetri. Trent memberikan kunci rahasia KA kepada Alice
dan kunci rahasia KB kepada Bob (KA dan KB berbeda).
32
Protokol untuk Digital Signature
Protokol 5 : Alice mengenkripsi dokumen dengan KA dan
mengirimkannya kepada Trent. Trent mendekripsi dokumen dari Alice dengan KA. Trent menambahkan pada dokumen yang sudah
didekripsi sebuah pernyataan sertifikasi bahwa dia telah menerima dokumen itu dari Alice, kemudian mengenkripsi keseluruhannya dengan KB.
Trent mengirim cipherteks yang dihasilkan kepada Bob. Bob mendekripsi cipherteks dengan KB. Ia membaca
dokumen dan sertifikasi dari Trent bahwa Alice yang mengirimkan dokumen tersebut.berbeda).
33
Protokol untuk Digital Signature
Karakteristik pemberian tanda tangan pada protokol tsb :1. Sidik (signature) otentik, karena Trent adalah juru penengah
yang terpercaya dan Trent mengetahui bahwa dokumen dari Alice. Sertifikasi dari Trent berlaku sebagai bukti bagi Bob.
2. Sidik ini mudah diingat. Hanya Alice (dan Trent) mengetahui KA, sehingga hanya Alice yang dapat mengirim pesan.
3. Sidik tidak dapat digunakan lagi untuk dokumen yang lain. Jika Bob menggunakan sertifikasi dari Trent untuk dokumen yang lain, maka kecurangan Bon ini dapat diketahui oleh Trent sbb:
• Trent meminta dokumen tersebut dari Bob.• Trent mengenkripsi dokumen tersebut dengan KA dan
membandingkannya dengan cipherteks dari Alice.• Jika hasil enkripsi dokumen dari Bob tidak sama dengan cipherteks
dari Alice, maka Bob telah mekakukan kecurangan.
4. Dokumen yang sudah ditandatangani tidak dapat diubah. 5. Sidik tidak dapat disangkal.
34
Protokol untuk Digital Signature
Protokol di atas tidak praktis karena membutuhkan pihak ketiga (Trent) untuk memberikan sertifikasi keabsahan dokumen dan prosesnya memakan waktu.
35
Protokol untuk Digital Signature
B. Menandatangani Dokumen dengan Sistem Kriptografi Kunci-Publik :
Protokol 6 :1. Alice mengenkripsi dokumen dengan kunci
rahasianya. Ini sekaligus juga berarti Alice telah memberikan sidik (signature) pada dokumennya.
2. Alice mengirim dokumen yang terenkripsi kepada Bob.
3. Bob mendekripsi dokumen dengan kunci publik Alice. Ini sekaligus juga berarti Bob telah memverifikasi sidik pada dokumen.
36
Protokol untuk Digital Signature
Protokol 6 diatas tidak membutuhkan pihak ketiga (Trent) untuk memberikan tandatangan (Trent hanya diperlukan untuk mensertifikasi bahwa kunci publik Alice memang benar milik Alice).
Protokol 6 memiliki karakteristik yang sama seperti pada protokol 5.
37
Protokol untuk Digital Signature
C. Menandatangani Dokumen dengan Sistem Kriptografi Kunci-Publik dan Fungsi Hash Satu-Arah
Protokol 7:1. Alice meringkas dokumennya menjadi message digest dengan
fungsi hash satu-arah.2. Alice mengenkripsi message digest dengan kunci rahasianya.
Hasil enkripsinya disertakan (embedded) pada dokumen. Ini berarti Alice telah memberi sidik dijital pada dokumennya.
3. Alice mengirim dokumen yang sudah diberi sidik dijital kepada Bob.
4. Bob meringkas dokumen dari Alice menjadi mesaage digest dengan fungsi hash yang sama. Bob mendekripsi sidik dijital yang disertakan pada dokumen Alice. Jika hasil dekripsinya sama dengan message digest yang dihasilkan, maka sidik dijital tersebut sah.
38
Protokol untuk Digital Signature
Jika dokumen yang sama ingin ditandatangani oleh dua orang (Alice dan Bob), maka orang ketiga, Carol, dibutuhkan pada proses verifikasi. Protokolnya adalah sebagai berikut:
Protokol 8:1. Alice memberi sidik dijital pada message digest dari dokumen.2. Bob memberi sidik dijital pada message digest dari dokumen.3. Bob mengirimkan sidik dijitalnya kepada Alice.4. Alice mengirim dokumen yang sudah diberi sidik dijitalnya dan
sidik dijital dari Bob kepada Carol.5. Carol memverifikasi sidik dijital Alice dan sidik dijital Bob (Carol
mengetahui kunci publik Alice dan kunci publik Bob).
39
Protokol untuk Digital Signature dengan Enkripsi
Protokol ini dapat dianalogikan seperti pengiriman surat yang menggunakan amplop tertutup. Tanda tangan pada surat memberikan bukti kempemilikan, hal ini sama dengan fungsi sidik dijital pada pada dokumen elektrinis. Sedangkan amplop memberikan perlindungan keamanan (privacy), hal ini sama dengan fungsi enkripsi pada dokumen.
Sidik dijital diberikan dengan menggunakan kunci rahasia pengirim (lihat protokol 6) dan dokumen dienkripsi dengan kunci publik penerima.
40
Protokol untuk Digital Signature dengan Enkripsi
Protokol 9:1. Alice menandatangi dokumen atau pesan (M) dengan
menggunakan kunci rahasianya (SK-A). SSK-A(M)2. Alice mengenkripsi dokumen yang sudah ditandatangi dengan
kunci publik Bob (PK-B) dan mengirimkannya kepada Bob
EPK-B(SSK-A(M))3. Bob mendekripsi cipherteks yang diterima dengan kunci rahasianya
(SK-B).
DSK-B(EPK-B(SSK-A(M))) = SSK-A(M))4. Bob meverifikasi dengan mendekripsi hasil pada langkah 3 dengan
menggunakan kunci publik Alice dan sekaligus mendapatkan kembali dokumen yang belum dienkripsi.
VPK-A( SSK-A(M)) = M
41
Protokol untuk Digital Signature dengan Enkripsi
Menandatangani dokumen sebelum mengenkripsikannya adalah cara yang alamiah.
Dalam kehidupan sehari-hari, kita menulis surat, menandatanganinya, dan memasukkannya ke dalam amplop.
Bila Alice memasukkan surat ke dalam amplop, kemudian menandatangani amplop, maka keabsahannya diragukan. Jika Bob memperlihatkan surat Alice tersebut kepada Carol, maka Carol mungkin menuduh Bob berbohong tentang isi surat tersebut.
42
Protokol untuk Digital Signature dengan Enkripsi
Alice tidak harus menggunakan menggunakan kunci publik/kunci rahasia yang sama untuk enkripsi dan tanda tangan. Alice dapat menggunakan dua pasang kunci: sepasang untuk enkripsi dan sepasang untuk pemberian tanda tangan.
Misalkan Bob ingin mengkonfirmasi bahwa dia telah menerima dokumen dari Alice. Maka, Bob mengirimkan konfirmasi “tanda terima” kepada Alice. Protokol pengiriman pesan tanda terima adalah sebagai berikut:
43
Protokol untuk Digital Signature dengan Enkripsi
Protokol 10:1. Alice menandatangi dokumen atau pesan (M) dengan
menggunakan kunci rahasianya (SK-A), mengenkripsikannya dengan kunci publik Bob (PK-B) dan mengirimkannya kepada Bob
EPK-B(SSK-A(M))2. Bob mendekripsi cipherteks yang diterima dengan kunci
rahasianya (SK-B), memverifikasi sidik dijital dengan kunci publik Alice dan sekaligus mendapatkan kembali dokumen yang belum dienkripsi.
VPK-A(DSK-B(EPK-B(SSK-A(M)))) = M
44
Protokol untuk Digital Signature dengan Enkripsi
Protokol 10:3. Bob menandatangani dokumen (M) dengan kunci
rahasianya (SK-B), mengenkripsikannya dengan kunci publik Alice (PK-A), dan mengirimkannya ke Alice.
EPK-A(SSK-B(M))4. Alice mendekripsi dokumen dengan kunci rahasianya
(SK-A) dan memverifikasi sidik dijital dengan kunci publik Bob (PK-B).
VPK-B(DSK-A(EPK-A(SSK-B(M)))) = M ’Jika M ’ yang dihasilkan sama dengan dokumen yang dikirim oleh Alice (M), maka Alice tahu bahwa Bob menerima dokumennya dengan benar.
45
One-Way Function
Fungsi satu arah secara komputasi mudah dihitung, tapi tidak sebaliknya
Jika diberikan x, mudah menghitung f(x), tapi jika diberikan f(x) sulit untuk menghitung x.
“sulit” disini dibutuhkan waktu jutaan tahun
Analogi, memecahkan piring
46
One-Way Function
Tidak digunakan untuk enkripsi Trapdoor one-way function, bentuk
khusus dari fungsi satu arah. • Mudah menghitung dari satu arah, dan sulit
dengan arah lainnya
• Tapi jika mengetahui secret-nya, dengan mudah dilakukan perhitungan arah sebaliknya
• Membongkar jam
47
One-way hash function
Mempunyai banyak nama : fungsi kompresi, contraction function, message diggest, fingerprint, cryptographic checksum, message integrity check (MIC), dan manipulation detection code (MDC)
Fungsi hash adalah fungsi matematika, mengambil input dengan panjang sembarang (pre-image) dan mengubahnya menjadi output panjang tetap (hash value)
Fungsi hash merupakan fungsi satu arah, collision free : sulit membangkitkan 2 dua pre-image yang mempunyai nilai hash sama
48
One-way hash function
Fungsi hash bersifat publik, keamanannya terletak pada one-wayness
MAC merupakan fungsi hash dengan tambahan kunci rahasia, nilai hash dihitung dari pre-image dan kunci rahasia tersebut.
49
Random dan Pseudo-Random-Sequence Generation Generator random-number tidak sepenuhnya
random Sequence generation dikatakan pseudo-
random, jika :1. Terlihat random (berhasil lulus uji tes random
secara statistik2. Tidak dapat diprediksikan, secara
komputasional tidak mungkin menebak random bit berikutnya
3. Tidak reliably diproduksi kembali
50
Selesai