Banyak orang menyangka, “Tanda Tangan Digital” merupakan tanda tangan yang urutan pembuatannya adalah: (1) Tanda tangan menggunakan pena di atas kertas putih, (2) Difoto atau dipindai / discan, (3) Menjadi citra gambar JPG, GIF, atau PNG, (3) Disunting menggunakan aplikasi pengolah citra misalkan Adobe PhotoShop, (4) Disisipkan ke dokumen Microsoft Word.
Apakah benar seperti itu?
Menurut pendapat saya, itu bukan “Tanda Tangan Digital” atau “Digital Signature” melainkan hanya citra tanda tangan.
Definisi Digital Signature menurut Wikipedia adalah:
Tanda tangan digital adalah skema matematis untuk memverifikasi keaslian pesan atau dokumen digital. Tanda tangan digital yang valid, di mana prasyaratnya terpenuhi, memberi penerima alasan yang sangat kuat untuk percaya bahwa pesan itu dibuat oleh pengirim yang dikenal (otentikasi), dan bahwa pesan itu tidak diubah saat transit (integritas).
Jadi jelas, bahwa tujuan Tanda Tangan Digital adalah untuk memastikan bahwa dokumen yang ditandatangani adalah benar dari orang yang dimaksud (bukan buatan orang lain) dan tidak mengalami perubahan (ditambah, diubah, atau dihapus).
Perwujudan dari Tanda Tangan Digital ada beberapa macam.
Yang paling terkenal adalah Tanda Tangan Digital pada Kartu Keluarga yang berupa QR Code. Bila QR Code tersebut dipindai menggunakan aplikasi tertentu, maka akan muncul keterangan dokumen aslinya. Kita bisa mencocokkan keterangan itu dengan dokumen yang sedang dipegang, apakah ada perbedaan? Bila ada, berarti palsu.
Teknik lain yang lebih canggih adalah menggunakan suatu algoritma Matematis yang dinamakan “Pretty Good Privacy” (PGP).
Pada PGP dikenal 2 macam kunci yaitu “Private Key” dan “Public Key”.
Private Key harus disimpan dan jangan sampai diketahui orang lain, sedangkan Public Key boleh disebarkan ke semua orang. Fungci Public Key adalah untuk mencocokkan apakah pesan yang diterima adalah benar telah ditandatangani oleh Private Key. Kita tidak perlu khawatir seandainya Public Key tersebar lalu diketahui peretas, sebab Public Key tidak bisa dipakai untuk menandatangani teks. Hanya bisa dipakai untuk mengecek saja.
Misalkan saya mengetik pesan ini kepada Alice:
1 2 3 4 5 |
Assalamu'alaikum. Tolong transfer uang sebanyak Rp 100.000 ke rekening bank saya. Mawan A. Nugroho. |
Pesan di atas, ditandatangani secara digital menggunakan private key milik saya sehingga hasilnya menjadi seperti di bawah ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Assalamu'alaikum. Tolong transfer uang sebanyak Rp 100.000 ke rekening bank saya. Mawan A. Nugroho. -----BEGIN PGP SIGNATURE----- Version: OpenPGP.js v2.6.2 Comment: https://openpgpjs.org wsFcBAEBCAAQBQJf3BADCRCn9Fn22xE9rAAAiukP/Rid/O8ROE02AUGoc0qT M51Hq9g5F9jdUEXH9sPkfjUo9SudBYEsKhVSaZzaOY4z9O/BajyXPmuuh70F pOF7T0SikvlZLELjOZ+BPsGMOP0thytbftlkIXUgLSFxx45H1UPmZj11/xie Dpz6IKfx/qpq/UjvlxrPG48CLz6zPIH+qcfuy8TeASGBwB11GOkKkPpBrd5a JGYxl3WQ8etgC+I5aprqh2nK5Uvkw/0yNwyt5HP8Fzn3XJyr/lZH0dNjj2S7 y664Y6qS7JGw/asW4I0CEQc6Xm6mkfr/0k+HNqCa0HeOfSiKIYuQnnEeJjKC 91sC5fi0BxdlQJjKyIuOzmm4j7+6g/rx7N0WFFjtj7iT0Y2ijtdI279oqedZ iqMc1N6LrK2ji9keF42+K6ov/6ffbCtBKOWq6DYBPHDRbnImqjrv36OLPZlu 9vTNiwCGrAR1ogqMUNDTtL31Tfm2DNPPDI/264LHmDq1c3gMTdBsg+hL1rrB u1k60LDZM04q1PPZiNO9VWBQHhZhebzDg7reN5ckNMRx5BZTWJJ21FW2IZ7y pVO0ksZW/51n3co7fhOHETfT9H+43uCqhY4N6+5f5d4x246J+HItwbOvMB7n 30wOj+pxohnLIsgwRwxoWea+h8PgTtAJSoccoiIHqed+aSrRuQJqWl/AFwxS qODv =9IZP -----END PGP SIGNATURE----- |
Alice bisa mencocokkan apakah teks di atas asli dari saya? Ataukah asli tapi di tengah jalan diubah angkanya (oleh penjahat) menjadi Rp 1.000.000? Caranya, Alice harus mempunyai Public Key milik saya yaitu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: OpenPGP.js v2.6.2 Comment: https://openpgpjs.org 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 +PFJSn14LZZtEB0Oyg== =R6l/ -----END PGP PUBLIC KEY BLOCK----- |
Dengan menggunakan Public Key di atas, pesan yang diterima kemudian dicocokkan.
Kehebatan dari PGP adalah teks tidak akan bisa dipalsukan. Bila ada satu huruf saja yang disisipkan atau diubah, bahkan posisinya diubah dari 89 menjadi 98, tetap akan ketahuan.
Untuk latihan, silakan menggunakan aplikasi Open PGP Online.
VPS murah. Perbulan cuma seharga 1 mangkok bakso ($0.99/month). Klik di sini.
Mau mendapat bonus $20? Mendaftarlah menggunakan link ini. Penawaran terbatas!