Otentikasi dan Tandatangan Digital

Download Report

Transcript Otentikasi dan Tandatangan Digital

Tandatangan Digital
1
Review materi awal
 Aspek keamanan yang disediakan oleh kriptografi:
1. Kerahasiaan pesan (confidentiality/secrecy)
2. Otentikasi (authentication).
3. Keaslian pesan (data integrity).
4. Anti-penyangkalan (nonrepudiation).
 Aspek 1 diselesaikan dengan enkripsi/dekripsi
 Aspek 2 s/d 4 diselesaikan dengan tanda-tangan digital
(digital signature).
2
Tanda-tangan Digital
 Sejak zaman dahulu, tanda-tangan sudah digunakan untuk
otentikasi dokumen cetak.
 Tanda-tangan mempunyai karakteristik sebagai berikut:
- Tanda-tangan adalah bukti yang otentik.
- Tanda tangan tidak dapat dilupakan.
- Tanda-tangan tidak dapat dipindah untuk digunakan ulang.
- Dokumen yang telah ditandatangani tidak dapat diubah.
-Tanda-tangan tidak dapat disangkal( repudiation).
3
 Fungsi tanda tangan pada dokumen kertas juga diterapkan untuk
otentikasi pada data digital (pesan, dokumen elektronik).
 Tanda-tangan untuk data digital dinamakan tanda-tangan
digital.
 Tanda-tangan digital bukanlah tulisan tanda-tangan yang didigitisasi (di-scan).
4
 Tanda-tangan digital adalah nilai kriptografis yang
bergantung pada isi pesan dan kunci.
 Tanda-tangan pada dokumen cetak selalu sama, apa pun
isi dokumennya.
 Tanda-tangan digital selalu berbeda-beda antara satu isi
dokumen dengan dokumen lain.
5
 Contoh:
K e p a d a Y th .
B apak D ekan
Di Tem pat
D e n g a n h o rm a t.
B e rs a m a s u ra t in i s a ya in g in m e n g a b a rk a n b a h w a n ila i s k rip s i m a h a s is w a ya n g b e rn a m a F a is a l S a le h d e n g a n N IM
1 3 9 0 2 0 2 1 a d a la h 8 6 ,5 a ta u d a la m n ila i in d e k s A . S id a n g s k rip s i s u d a h d ila k u k a n p a d a H a ri R a b u T a n g g a l 2 1 J a n u a ri
2 0 J u li 2 0 0 5 .
A ta s p e rh a tia n B a p a k s a ya u c a p k a n te rim a k a s ih .
B a n d u n g , 2 5 J u li 2 0 0 5
D o s e n P e m b im b in g S k rip s i
Ir. A h m a d A g u s
-----B E G IN P G P S IG N A T U R E ----iQ A /A w U A Q n ib s b P b x e jK 4 B b 3 E Q J X vQ C g 8 z N 6 U L 0 x n w B T P R 5
F fW N t4 u x h 3 A E A n 2 N C /G 2 V T U rL p c S yo 2 l/S /D /+ rU l= p Z e h
-----E N D P G P S IG N A T U R E -----
6
Tanda-tangan digital
Dua cara menandatangani pesan:
1.
2.
7
Enkripsi pesan
Menggunakan kombinasi fungsi hash (hash function)
dan kriptografi kunci-publik
Penandatangan dengan Cara Mengenkripsi
Pesan
a.
Menggunakan kriptografi simetri
- Pesan yang dienkripsi dengan algoritma simetri
sudah memberikan solusi untuk otentikasi
pengirim dan keaslian pesan,
- karena kunci simetri hanya diketahui oleh
pengirim dan penerima.
- namun cara ini tidak menyediakan mekanisme
untuk anti-penyangkalan.
8
 Agar dapat mengatasi masalah penyangkalan, maka diperlukan
pihak ketiga yang dipercaya oleh pengirim/penerima.
 Pihak ketiga ini disebut penengah (arbitrase).
 Misalkan BB (Big Brothers) adalah otoritas arbitrase yang dipercaya
oleh Alice dan Bob.
 BB memberikan kunci rahasia KA kepada Alice dan kunci rahasia KB
kepada Bob.
 Hanya Alice dan BB yang mengetahui KA, begitu juga hanya Bob
dan BB yang mengetahui KB.
9
 Jika A lice bekirim pesan P kepada B ob, m aka langkah -langkahnya adalah sebagai
berikut:
1. A lice m engenkripsi pesan M untuk B ob dengan K A , lalu m engirim
cipherteksnya ke B B .
2. B B m elihat bahw a pesan dari A lice, lalu m endekripsi pesan dari A lice dengan
K A.
3. B B m em buat pernyataan S bahw a ia m enerim a pesan dari A lice, lalu
m enam bahkan pernyataan tersebut pada plainteks dari A lice.
4. B B m engenkripsi bundel pesan (M + S) dengan K B , lalu m engirim kannya
kepada B ob.
5. B ob m endekripsi bundel pesan dengan K B . Ia dapat m em baca pesan dari A lice
(M ) dan pernyataan (S) dari B B bahw a A lice yang m engirim pesan tersebut.
EK (M  S )
EK (M )
A
A lice
10
B
BB
B ob
 Jika Alice menyangkal telah mengirim pesan tersebut,
maka pernyataan dari BB pada pesan yang diterima oleh
Bob digunakan untuk menolak penyangkalan Alice.
 Bagaimana BB tahu bahwa pesan tersebut dari Alice dan
bukan dari Charlie?
 Karena hanya BB dan Alice yang mengetahui kunci
rahasia, maka hanya Alice yang dapat mengenkripsi pesan
dengan kunci terebut.
11
b.
Mengunakan kriptografi kunci-publik
Enkripsi biasa (hanya untuk secrecy):
- pesan dienkripsi dengan kunci publik penerima.
- pesan didekripsi dengan kunci privat penerima.
- cara ini tidak memberikan sarana otentikasi karena kunci
publik diketahui oleh banyak orang
Enkripsi sebagai tanda-tangan:
- pesan dienkripsi kunci privat pengirim.
- pesan didekripsi pesan dengan kunci publik pengirim.
- dengan cara ini, maka kerahasiaan pesan dan otentikasi
keduanya dicapai sekaligus.
- ide ini ditemukan oleh Diffie dan Hellman.
12
 Proses menandatantangani pesan (oleh pengirim):
S = ESK(M)
 Proses membuktikan otentikasi pesan (oleh penerima):
M = DPK(S)
Keterangan:
SK = secret key = kunci privat pengirim
PK = public key = kunci publik pengirim
E = fungsi enkripsi
D = fungsi dekripsi
M = pesan semula
S = signature = hasil enkripsi pesan
 Dengan algoritma kunci-publik, penandatanganan pesan tidak
membutuhkan lagi pihak penengah (arbitrase).
13
 Beberapa agoritma kunci-publik dapat digunakan untuk
menandatangani pesan dengan cara mengenkripsinya, asalkan
algoritma tersebut memenuhi sifat:
DSK(EPK(M)) = M dan DPK(ESK(M)) = M ,
Keterangan:
PK = kunci publik
SK = kunci privat (secret key).
E = fungsi enkripsi
D = fungsi dekripsi
M = pesan
14
 Misalkan M adalah pesan yang akan dikirim. Pesan M
ditandatangani menjadi pesan terenkripsi S dengan menggunakan
kunci privat (SK) si pengirim,
S = ESK(M)
yang dalam hal ini, E adalah fungsi enkripsi dari algoritma kuncipublik.
 Selanjutnya, S dikirim melalui saluran komunikasi.
15
Penandatangan dengan Menggunakan
Krptografi kunci-publik dan Fungsi Hash
 Penandanganan pesan dengan cara mengenkripsinya selalu
memberikan dua fungsi berbeda: kerahasiaan pesan dan otentikasi
pesan.
 Pada beberapa kasus, seringkali otentikasi yang diperlukan, tetapi
kerahasiaan pesan tidak. Maksudnya, pesan tidak perlu
dienkripsikan, sebab yang dibutuhkan hanya keotentikan pesan
saja.
 Algoritma kunci-publik dan fungsi hash dapat digunakan untuk
kasus seperti ini.
16
Signer
Message
Verifier
Message
Message
Signature
Signature
Message
Fungsi
Hash
Signature
Message
Digest (MD)
Secret
Key
Public
Key
Decrypt
Encrypt
Signature
17
Fungsi
Hash
Message
Digest (MD)
?
=
Message
Digest (MD')
18
K eo ten tik an in i d ijelask an seb ag ai b erik u t:
19
a.
A p ab ila p esan M y an g d iterim a su d ah b eru b ah , m ak a M D ’ y an g
d ih asilk an d ari fu n g si h a sh b erb ed a d en g an M D sem u la. In i
b erarti p esan tid ak asli lag i.
b.
A p ab ila p esan M tid ak b erasal d ari o ran g y an g seb en arn y a, m ak a
m essa g e d ig est M D y an g d ih asilk an d ari p ersam aan 3 b erb ed a
d en g an m essa g e d ig est M D ’ y an g d ih asilk an p ad a p ro ses
v erifik asi (h al in i k aren a k u n ci p u b lik y an g d ig u n ak an o leh
p en erim a p esan tid ak b erk o resp o n d en d en g an k u n ci p riv at
p en g irim ).
c.
B ila M D = M D ’, in i b erarti p esan y an g d iterim a ad alah p esan
y an g asli (m essa g e a u th en tica tio n ) d an o ran g y an g m en g irim
ad alah o ran g y an g seb en arn y a ( u ser a u th en tica tio n ).
 Dua algoritma signature yang digunakan secara luas adalah
RSA dan ElGamal.
 Pada RSA, algoritma enkripsi dan dekripsi identik,
sehingga proses signature dan verifikasi juga identik.
 Selain RSA, terdapat algoritma yang dikhususkan untuk
tanda-tangan digital, yaitu Digital Signature Algorithm
(DSA), yang merupakan bakuan (standard) untuk Digital
Dignature Standard (DSS).
 Pada DSA, algoritma signature dan verifikasi berbeda
20
Digital Signature Standard
 Pada bulan Agustus 1991, NIST (The National Institute of
Standard and Technology) mengumumkan bakuan (standard)
untuk tanda-tangan digital yang dinamakan Digital Signature
Standard (DSS).
 DSS terdiri dari dua komponen:
 1. Algoritma tanda-tangan digital yang disebut Digital
Signature Algorithm (DSA).
 2. Fungsi hash standard yang disebut Secure Hash Algorithm
(SHA).
21
Digital Standard Algorithm (DSA)
 DSA termasuk ke dalam algoritma kriptografi kunci-publik.
 DSA tidak dapat digunakan untuk enkripsi; DSA
dispesifikasikan khusus untuk tanda-tangan digital. DSA
mempunyai dua fungsi utama:
1. Pembentukan tanda-tangan (signature generation), dan
2. Pemeriksaan keabsahan tanda-tangan (signature verification).
22
Parameter DSA
 p, adalah bilangan prima dengan panjang L bit, yang dalam hal ini
512  L  1024 dan L harus kelipatan 64. Parameter p bersifat
publik.
 q, bilangan prima 160 bit, merupakan faktor dari p – 1. Parameter
q bersifat publik.
 g = h(p – 1)/q mod p, yang dalam hal ini h < p – 1 sedemikian
sehingga h(p – 1)/q mod p > 1. Parameter g bersifat publik.
 x, adalah bilangan bulat kurang dari q. Parameter x adalah kunci
privat.
23
Parameter DSA
 y = gx mod p, adalah kunci publik.
 m, pesan yang akan diberi tanda-tangan.
24
Langkah-langkah dalam DSA
 Prosedur Pembangkit Sepasang Kunci
 Prosedure Pembangkit Tanda Tangan
 Prosedure Verifikasi Keabsahan Tanda Tangan
25
Prosedur Pembangkit Sepasang Kunci
 Pilih bilangan prima p dan q, yang dalam hal ini (p – 1) mod q =




26
0.
Hitung g = h(p – 1)/q mod p, yang dalam hal ini 1 < h < p – 1 dan
h(p – 1)/q mod p > 1.
Tentukan kunci privat x, yang dalam hal ini x < q.
Hitung kunci publik y = gx mod p.
Jadi, prosedur di atas menghasilkan:
kunci publik dinyatakan sebagai (p, q, g, y);
kunci
privat dinyatakan sebagai (p, q, g, x).
Prosedure Pembangkit Tanda Tangan
 Ubah pesan m menjadi message digest dengan fungsi hash SHA, H.
 Tentukan bilangan acak k < q.
 Tanda-tangan dari pesan m adalah bilangan r dan s. Hitung r dan
s sebagai berikut:
 r = (gk mod p) mod q
 s = (k– 1 (H(m) + x * r)) mod q
 Kirim pesan m beserta tanda-tangan r dan s.
27
Prosedure Verifikasi Keabsahan Tanda
Tangan
 Hitung
 w = s– 1 mod q
 u1 = (H(m) * w) mod q
 u2 = (r * w) mod q
 v = ((gu1 * yu2) mod p) mod q)
 Jika v = r, maka tanda-tangan sah, yang berarti bahwa pesan
masih asli dan dikirim oleh pengirim yang benar.
28