1 / 17

Sekuriti Digital, Teori dan Praktek

Sekuriti Digital, Teori dan Praktek. Protokol Kriptografis untuk Otentikasi (2). Bab 3.2 - 3.3. Otentikasi menggunakan Sistem Asimetris (1). Problem : menandatangani (melakukan enkripsi dengan kunci privat) string acak menggunakan sistem enkripsi spt RSA sangat berbahaya:

bessie
Download Presentation

Sekuriti Digital, Teori dan Praktek

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sekuriti Digital, Teori dan Praktek Protokol Kriptografis untuk Otentikasi (2) Bab 3.2 - 3.3

  2. Otentikasi menggunakan Sistem Asimetris (1) Problem : menandatangani (melakukan enkripsi dengan kunci privat) string acak menggunakan sistem enkripsi spt RSA sangat berbahaya: 1. Mallory mencegat c=[m]1/a=m1/a mod n yaitu pesan rahasia yang dikirim A ke B. 2. Mal membuat bilangan acak s, s<n lalu menghitung : • x = r1/amod n • y = xcmod n • t = r-1mod n 3. Mal mencoba membuat A menandatangani y. Jika berhasil, Mal akan memperoleh yamod n. 4. Perhatikan bahwa : tya = r-1(xc)a = r-1(r1/am1/a)a = m (mod n) A server A s = random s s' [s']a s'' [s'']1/a == s

  3. Otentikasi menggunakan Sistem Asimetris (2) A server • Ambil misalnya g(s,a)=s*a dan h(s,a)=s*a*a • Keuntungan : A tidak harus menandatangani string acak dengan kunci privatnya (a). s = random A,g(s,a) u t = random t t' [t']h(s,a) v v' = [v]1/a v'==[t]u

  4. Protokol untuk Otentikasi Dua Arah (Mutual Authentication) A B • Asumsi : • pa = password A ke B • pb = password B ke A • Protokol sayangnya rentan terhadap man in the middle attack . A,1/a A', 1/a' B, 1/b B', 1/b' [pa]1/b' pa' [pb]1/a' pb' [pb']a==pb [pa']b==pa

  5. Man in the Middle Attack A M B A', 1/a' A', 1/a' B, 1/b B', 1/b' B', 1/m B'', 1/m' A',1/m A'', 1/m'' [pa]1/m' pa' [pb]1/m'' pb' M sekarang tahu password pa dan pb!

  6. Protokol SKID 3 untuk Otentikasi 2-Pihak A B • Asumsi : • A dan B men-share kunci/rahasia k • H adalah fungsi MAC (one-way hash function) • Protokol digunakan dalam RIPE project. • Protokol konon rentan terhadap man in the middle attack . • Challenge: • cari persis rentannya dimana • usulkan perbaikan s = random A,s A',s' t = random B,t,Hk(s,t,B) B',t',h Hk(s,t',B')==h' Hk(t',A) h'' Hk(t',A')==h''

  7. Authentication + Key Exchange • Alice dan Bob ingin berkomunikasi dengan aman. Untuk itu bisa digunakan secret key k yang di-share diantara mereka berdua. Problemnya, pada saat komunikasi pertama kali dibuka (dan belum ada k), bagaimana Alice bisa memverifikasi identitas Bob (dan sebaliknya)? • Untuk itu digunakan jasa Trent sebagai trusted agent yang bisa menjamin identitas A dan B sebelum mereka membuat shared key k. Asumsi : • A dan T menshare kunci p (simetris) • B dan T menshare kunci q (simetris)

  8. Protokol Yahalom A T B s = random • Rentan terhadap replay attack, apalagi kalau sampai ada kunci lama yang bocor. • Kalau p sampai bocor ke Mallory, akibatnya fatal: M bisa berkomunikasi dengan B (atau siapapun) menggunakan identitas A, bahkan setelah A merubah p. • Trent bisa menggunakan 'time stamp' untuk mencegah replay attack. Awas, time-stamp tidak trivial! A,s A',s' t = random B, [A',s',t]q B', u A'',s'',t' = [u]q k = random [B',k,s'',t']p, [A'',k]q v,w B'',k'',s''',t'' = [v]p w, [t'']k'' w',z A''',k''' = [w']q t''' = [z]k''' s'''==s t'''==t

  9. Protokol Otway - Rees (1987) A T B n adalah “fresh” index number s = random n,A,B,[s,n,A,B]p n',A',B',u t = random n',A',B,[s,n,A,B]p [t,n',A',B]q n, A, B, u, v B'==B sa,na,Aa,Ba = [u]p tb,nb,Ab,Bb = [v]q k = random v,w na,Aa,Ba==nb,Ab,Bb==n,A,B n, [sa,k']p, [tb,k]q m,x,y [y]q==t,_ m',x' m, x M',[x']p==n,a,_

  10. Bit Commitment, One-Way Accumulator Bab 4.9 - 4.12

  11. Komitmen dan Kepercayaan Solusi : Alice “mengkomitkan” prediksinya ke Bob. Dengan komitmen ini Alice masih “menyamarkan” prediksinya dari Bob sehingga Bob tidak bisa curang dan “menginvest secara diam-diam”. Pada akhir bulan Alice akan “membuka” komitmennya sehingga Bob bisa melihat sendiri apakah prediksi Alice memang ampuh. Komitmen tersebut juga harus sedemikian rupa sehingga sekali dikomit, Alice tidak bisa lagi merubah data yang dikomit sehingga ia tidak bisa merekayasa “komitmen”-nya setelah fakta pasar diketahui. • Bob : "Tolong carikan 5 seri saham. Saya ingin invest. Kalau nanti nilai mereka naik, saya akan beri komisi besar!" • Alice : "Hmm… kalau saya beri tahu seleksi top 5 saham saya, you bisa invest disitu diam-diam dan saya tidak mendapat komisi. Bagaimana kalau perlihatkan saja seleksi saya untuk bulan-bulan yang lalu? • Bob : "Kalau begitu, anda bisa saja merekayasa seleksi you sesuai dengan data perkembangan pasar yang ada. Sudah lah, carikan saya lima saham, saya janji tidak akan invest sebelum saya membeli metode you. Trust me!" • Alice : "Hmm… saya rasa saya lebih suka menunjukan hasil prediksi saya yang lama. No rekayasa, trust me!

  12. Protokol Bit Commitment (1)dengan Sistem Enkripsi Simetris Fase Komitmen 1. B mengirimkan bil. random r ke A 2. A mengenerate random key k, lalu mengirimkan [r,m]k ke B dimana m adalah data (dalam protokol asli data ini satu bit) yang ingin dikomitkan. Karena B tidak tahu k maka ia juga tidak bisa mengakses m Fase Membuka Komitmen 1. A mengirim k ke B 2. B mendekrip [r,m]k yang diterimanya menggunakan k, lalu mencek apakah r yang diterimanya sama dengan r yang dibuatnya pertama kali. Kalau ya, berarti m adalah betul data yang dikomit oleh A.

  13. Protokol Bit Commitment (2)Menggunakan One-Way Function Fase Komitmen Fase Membuka Komitmen A B A B s,t,m s,t = random s’’,t’’,m’’ H(s,t,m), s h,s' s’ == s’’ h == H(s’’,t’’,m’’)

  14. Aplikasi : Fair Coin Flipping di Jaringan • Problem : A dan B ingin melakukan lempar koin lewat jaringan dan ingin melakukan ini dengan fair dimana masing-masing pihak tidak bisa curang. • Protokol : 1. A memilih ‘head’ atau ‘tail’, lalu mengkomitkan pilihannya dengan protokol komitmen ke B. 2. B menebak pilihan A dan mengirimkan tebakannya ke A. 3. A membuka komitmennya ke B. 4. Kalau tebakan B tepat maka ia menang, kalau tidak A menang.

  15. One-way Hash Function yang Komutatif • Fungsi hash h memiliki sifat : • h([a,b,c,d,…]) = h([b,a,d,c,…]) = h([c,a,b,d,…]) • artinya, urutan unit-block dalam string yang di-hash tidak mempengaruhi hasil hasing. • Fungsi hash (one-way) seperti itu disebut fungsi hash (one-way) yang komutatif. • Kalau ia juga memenuhi: h(xs) = h(x)  h(s) untuk satu atau lain  yang mudah dihitung, maka h disebut fungsi akumulator (one-way).

  16. Club Underdark • Secara periodik klub Underdark mengadakan pesta topeng. Hadir dalam pesta ini, disamping anggota juga pejabat, artis, spy, etc … orang-orang yang tersangkut dalam jaringan intrik klub Underdark. • Selama pesta itu, sesama anggota klub sering bertukar gosip-gosip sensitif, atau melakukan transaksi rahasia. • Karena pesta itu adalah pesta topeng, dan karena anggota klub sering kali tidak mengenal satu sama lain (for his own safety!) timbul persoalan bagaimana caranya seorang anggota bisa memverifikasi apakah partner transaksinya memang benar anggota klub.

  17. Solusi • Setiap anggota klub memiliki kartu ID yang terdiri dari namanya dan ‘akumulasi one-way’ dari nama semua anggota klub yang lain. • Dari dua data diatas bisa dihitung dengan mudah berapa hash dari nama semua anggota klub (hash total) • Kalau A ingin memverifikasi keanggotaan B, ia meminta B menunjukkan karti ID-nya, lalu membandingkan hash total yang diperoleh dari kartu ID milik B dengan hash total yang dihitung dari kartu miliknya sendiri.

More Related