Tanda tangan digital adalah pesan elektronik yang secara unik mengidentifikasi pengirim. Tidak seperti tanda tangan biasa, tanda tangan digital bergantung pada pesan dan pengirim serta menjamin integritas data dan keabsahan pengirim melalui enkripsi kunci publik. Tanda tangan digital memberikan otentikasi dokumen secara digital.
2. Pengertian Tanda Tangan Digital
(Digital Signature)
Tanda tangan digital adalah pesan elektronik yang secara unik
mengidentifikasi pengirim sebuah pesan.
Yang dimaksud dengan tandatangan digital bukanlah tanda tangan
yang di-digitisasi dengan alat scanner, tetapi suatu nilai kriptografis
yang bergantung pada pesan dan pengirim pesan (Hal ini kontras
dengan tanda tangan pada dokumen kertas yang bergantung hanya
pada pengirim dan selalu sama untuk semua dokumen). Dengan
tanda-tangan digital, maka integritas data dapat dijamin, disamping
itu ia juga digunakan untuk membuktikan asal pesan (keabsahan
pengirim), dan anti penyangkalan.
3. Aktivitas Tanda Tangan Digital
teknik enkripsi kunci publik menjamin
bahwa pesan telah terkirim dengan
aman dan hal ini juga berlaku untuk
transaksi-transaksi yang lainnya.
Menggunakan teknologi ini, pengirim
dan penerima pesan masing-masing
memiliki dua kunci, yaitu
kunci pribadi dan
kunci publik.
4. Aktivitas Tanpa Tanda Tangan Digital
Tanda tangan yang tidak menggunakan
cara digital, hanyalah tanda tangan biasa
yang dengan cara manual saja dan
mengharuskan menggunakan alat tulis dan
sangat berbeda dengan tanda tangan digital
yang keamanan yang lebih terjamin dan
juga dapat disimpan dengan menggunakan
paswort yang hanya kita sendiri ketahui.
5. Karakteristik Tanda Tangan
A. Tanda tangan adalah bukti yang otentik
B. Tanda tangan tidak dapat dilupakan
C. Tanda tangan tidak dapat dipindah
untuk digunakan ulang
D. Dokumen yang telah ditandatangani
tidak dapat diubah
E. Tanda tangan tidak dapat di sangkal
(repudiation)
6. Cara menandatangani pesan dengan
Enkripsi Pesan
Menandatangani pesan dengan
algoritma simetri
Menandatangani pesan dengan
Algoritma Kunci-Publik
Tanda tangan dengan
menggunakan fungsi hash
7. Menandatangani pesan dengan algoritma
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. Jadi, jika B menerima
pesan dari A, maka ia percaya pesan itu dari A dan
isinya tidak mengalami perubahan, karena tidak ada
orang lain yang mengetahui kunci selain mereka
berdua. Namun, algoritma simetri tidak dapat
menyediakan suatu mekanisme untuk mengatasi
masalah penyangkalan, yaitu jika salah satu dari dua
pihak, A dan B membantah isi pesan atau telah
mengirim pesan. Agar dapat mengatasi masalah
penyangkalan, maka diperlukan pihak ketiga yang
dipercaya oleh pengirim/penerima. Pihak ketiga ini
disebut penengah (arbitrase).
8. Menandatangani pesan dengan Algoritma
Kunci-Publik
Jika algoritma kunci-publik digunakan, maka
enkripsi pesan dengan kunci publik tidak
dapat digunakan untuk otentikasi, karena
setiap orang potensial mengetahui kunci-
publik. Tetapi, jika enkripsi pesan
menggunakan kunci privat si pengirim dan
deskripsi pesan juga menggunakan kunci-
publik si pengirim, maka kerahasiaan pesan
(secrecy) dan otentikasi keduanya dicapai
sekaligus.
9. Tanda tangan dengan menggunakan fungsi
hash
Penandatanganan pesan dengan cara
mengenkripsinya selalu memberikan dua fungsi
berbeda, yaitu: 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.
Hanya sistem kriptografi kunci-publik yang cocok
dan alami untuk pemberian tanda-tangan digital
dengan menggunakan fungsi hash. Hal ini
disebabkan karena skema tanda-tangan digital
berbasis sistem kunci-publik dapat menyelesaikan
10. Proses Pemberian Tanda-tangan Digital
(Signing)
Tanda-tangan diverifikasi untuk dibuktikan
keotentikannya dengan cara berikut:
Tanda-tangan digital S didekripsi dengan
menggunakan kunci publik (PK) pengirim pesan,
menghasilkan message digest semula, MD,
sebagai berikut:
MD = (S)
Pengirirm kemudian mengubah pesan M menjadi
message digest MD’ menggunakan fungsi hash
satu arah yang sama dengan fungsu hash yang
digunakan oleh pengirim.
Jika MD’ = MD, berarti tanda tangan yang
diterima otentik dan berasal dari pengirim yang
benar.
12. Digital Signature Standart (DSS)
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 2 komponen yaitu:
Algoritma tanda tangan digital yang disebut
Digital Signature Algorithm (DSA).
Fungsi hash standard yang disebut Secure Hash
Algorithm (SHA).
13. 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:
Pembentukan tanda-tangan (signature
generation), dan
Pemeriksaan keabsahan tanda-tangan (signature
verification).
Sebagaimana halnya pada algoritma kriptografi
kunci-publik, DSA menggunakan dua buah kunci,
yaitu kunci publik dan kunci privat. Pembentukan
tanda-tangan menggunakan kunci rahasia privat,
sedangkan verifikasi tanda-tangan menggunakan
kunci publik pengirim.
14. Parameter DSA
1. p, adalah bilangan prima dengan panjang L bit,
yang dalam hal ini 512 dan L harus kelipatan 64.
Parameter p bersifat publik dan dapat digunakan
bersama – sama oleh orang di dalam kelompok.
2. q, bilangan prima 160 bit, merupakan faktor dari p-
1. Dengan kata lain, (p-1) mod q = . parameter q
bersifat publik.
3. mod p, yang dalam hal ini h< p-1 sedemikian
sehingga mod p>1. Parameter g bersifat publik.
4. x, adalah bilangan kurang dari q. Parameter x
adalah kunci privat.
5. y=, adalah kunci publik.
6. m, pesan yang akan diberi tanda-tangan
15. Prosedur Pembangkitan Sepasang Kunci
1. Pilihan bilangan prima p dan q, yang dalam hal
ini (p-1) mod q=0
2. Hitung mod p, yang dalam hal ini 1<h< p-1 dan
3. Tentukan kunci privat x, yang dalam hal ini x<q.
4. Hitung kunci publik y=
Jadi, prosedur di atas menghasilkan:
kunci publik dinyatakan sebagai (p, q, g, y);
kunci privat dinyatakan sebagai (p,q,g,x).
16. Prosedur Pembangkitan Tanda-tangan
(Signing)
1. Ubah pesan m menjadi message digest dengan
fungsi hash SHA, H.
2. Tentukan bilangan acak k<q.
3. 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
4. Kirim pesan m beserta tanda-tangan r dan s.
17. Prosedure Verifikasi Keabsahan Tanda-
tangan (Verifying)
1. Hitung
w= s-1mod q
u1= (H(m)*w)mod q
u2=(r*w) mod q
v=((gu1*yu2)mod p)mod q
2. Jika v = r, maka tanda-tangan sah, yang berarti
bahwa pesan masih asli dan dikirim oleh
pengirim yang benar.
18. Implementasi DSA
Adanya batasan bahwa nilai p memounya
panjang 512 sampai 1024 bit dan q 160 bit,
menyebabkan DSA hampir tidak mungkin
diimplementasikan dalam perangkat lunak.
Panjang bit yang besar ini dimaksudkan agar
upaya untuk memecahkan parameter yang lain
sangat sulit dilakukan
Compiler C hanya sanggup menyatakan bilangan
bulat hingga 232. Oleh karena itu, bila DSA
diimplementasikan dalam perangkat lunak,
batasan panjang bit p dan q diubah hingga
maksimum nilai p dan q adalah 232.
19. Secure Hash Algorithm (SHA)
SHA adalah fungsi hash satu arah yang dibuat
oleh NIST dan digunakan bersama DDS (Digital
Signiture Standard). Oleh NSA, SHA dinyatakan
sebagai standard fungsi hash satu arah. SHA di
dasarkan pada MD4 yang dibuat oleh Ronald L.
Rivest dari MIT.
SHA disebut aman (secure) karena ia dirancang
sedemikian rupa sehingga secara tidak mungkin
menemukan pesan yang berkoresponden dengan
message digest yang diberikan.
Algoritma SHA menerima masukan berupa pesan
dengan ukuran maksimum 264 bit (2.147.483.648
gigabyte) dan menghasilkan message digest
yang panjangnya 160 bit, lebih panjang dari
21. Pembuatan message digest dengan
algoritma SHA
Langkah – langkah pembuatan message digest
secara garis besar adalah sebagai berikut:
1. Penambahan bit – bit pengganjal (padding bits).
2. Penambahan nilai panjang pesan semula
3. Inisialisasi penyangga (buffer) MD.
4. Pengolahan pesan dalam blok berukuran 512
bit.
22. Penambahan Bit – Bit Pengganjal
Pesan ditambah dengan sejumlah bit pengganjal
sedemikian sehingga panjang pesan (dalam satuan
bit) kongruen dengan 448 modulo 512. Ini berarti
panjang pesan setelah ditambahi bit –bit pengganjal
adalah 64 bit kurang dari kelipatan 512. Angka 512 ini
muncul karena SHA memproses pesan dalam blok –
blok yang berukuran 512.
Pesan dengan panjang 448 bit [un tetap ditambah
dengan bit –bit pengganjal. Jika panjang p[esan bit
448 bit, maka pesan tersebut ditambah dengan 512
bit menjadi 960 bit. Jadi, panjang bit – bit pengganjal
adalah 1 sampai 512.
Bit – bit pengganjal terdiri dari sebuah bit 1 diikuti
dengan sisanya bit 0.
23. Inisialisasi penyangga MD
SHA membutuhkan 5 buah penyangga (buffer) yang
masing – masing panjangnya 32 bit (MD5 hanya
mempunyai 4 buah penyangga). Total panjang
penyangga adalah 5 X 32 = 160 bit. Keempat
penyangga ini menampung hasil antara dan hasil
akhir.
Kelima penyangga MD ini diberi nama A, B, C, D<
dan E. Setiap penyangga diinisialisasi dengan nilai
– nilai (dalam notasi HEX) sebagai berikut:
A = 67452301
B = EFCDAB89
C = 98BADCFE
24. Pengelolaan pesan dalam blok
berukuran 512 bit
Pesan dibagi menjadi L buah
blok yang masing-masing
panjangnya 512 bit
Setiap blok 512 bit di proses
bersama dengan penyangga
MD menjadi keluaran 128 bit
dan ini disebut proses
25. Proses ini terdiri dari 80 buat putaran (MD5
hanya 4 putaran) dan masing-masing putaran
menggunakan bilangan penambah , yaitu:
Putaran 0 ≤ t ≤ 19 = 5A827999
Putaran 20 ≤ t ≤ 39 = 6ED9EBA1
Putaran 40 ≤ t ≤ 59 = 8F1BBCDC
Putaran 60 ≤ t ≤ 79 = CA62C1D6
26. Kelemahan Tanda Tangan Digital
1. Biaya tambahan secara institusional: Tanda
tangan digital memerlukan pembentukan otoritas-
otoritas yang berhak menerbitkan sertifikat serta
biaya-biaya lain untuk menjaga dan
mengembangkan fungsi-fungsinya.
2. Biaya langganan: Penanda tangan memerlukan
perangkat lunak ap aplikasi dan juga membayar
untuk memperoleh sertifikasi dari otoritas yang
berhak mengeluarkan sertifikat.
27. Kelebihan Tanda tangan Digital
kelebihan yang paling utama dari
adanya tanda tangan digital adalah lebih
terjaminnya otentikasi dari sebuah
dokumen. Tanda tangan digital sangat
sulit dipalsukan dan berasosiasi dengan
kombinasi dokumen dan kunci privat
secara unik.