Você está na página 1de 25

Laporan Akhir

Implementasi Editor Text dengan Fitur Tanda Tangan Digital

Nama : Abraham Mario Tapilouw

NIM : 23204017

Departemen Teknik Elektro


Fakultas Teknologi Industri
Institut Teknologi Bandung
2005
Bab I
Pendahuluan

I.1 Latar Belakang


Tanda tangan digunakan dalam kehidupan sehari hari sebagai suatu alat untuk
memvalidasi suatu kesepakatan. Misalnya dalam suatu kontrak, diperlukan tanda tangan
dari masing-masing pihak yang bekerja sama untuk bisa dianggap sebagai kontrak yang
sah. Surat kontrak yang sudah ditandatangani berbagai pihak tersebut dapat digunakan
sebagai dasar yang mengikat dan dianggap sah secara hukum, kerjasama antar pihak
tersebut diatur dan harus dpatuhi sesuai dengan kontrak yang berlaku.

Dalam era digital, terjadi perpindahan dari proses legalisasi suatu dokumen kertas
menjadi legalisasi dokumen digital. Dalam proses legalisasi dokumen digital diperlukan
juga suatu bukti yang bisa dijadikan sebagai dasar bahwa dokumen tersebut dikirimkan
dan diakui oleh pihak yang membuatnya. Proses legalisasi ini bisa diterapkan dengan
menggunakan tanda tangan digital (digital signature). Dalam laporan ini akan dibahas
pembuatan perangkat lunak untuk membuat tanda tangan digital dan proses pembuatan
dokumen yang bertanda tangan digital. Perangkat lunak dibuat dengan bahasa
pemrograman Visual Basic .NET dan akan dibuat suatu editor teks sederhana untuk
dijadikan sebagai masukan dokumen yang akan diberi tanda tangan digital.

I.2 Rumusan Masalah


Masalah yang diangkat dalam tugas ini adalah diinginkannya sebuah perangkat lunak
editor teks seperti notepad yang memiliki fitur tanda tangan digital untuk mengesahkan
dokumen yang dibuat.

I.3 Tujuan
Tujuan tugas ini adalah untuk membuat suatu editor teks yang bisa menghasilkan
dokumen yang bertanda tangan digital dan dapat dibaca dan diperiksa keasliannya oleh
penerima.

1
I.4 Batasan Masalah
Untuk memfokuskan pada keamanan sistem yang akan dibuat, maka dilakukan
penyederhanaan masalah dan pembatasan sebagai berikut :

1. Teks editor yang dibuat hanya bisa merekam data berupa teks tanpa pengaturan
format tulisan.
2. File teks yang sudah ditanda tangani secara digital akan disimpan dengan format
xml.
3. Algoritma yang digunakan dalam editor ini adalah algoritma hashing SHA1 dan
algoritma enkripsi RSA.

2
Bab II
Dasar Teori

II.1 Tanda Tangan Digital


Tanda tangan digunakan dalam dokumen legal sebagai tanda bahwa penanda tangan
telah membaca dan memahami dokumen yang akan dikirimkan dan bertanggung jawab
terhadap isi dokumen. Penerima dapat memeriksa dokumen yang dikirimkan untuk
mengetahui siapa yang bertanggung jawab terhadap isi surat tersebut. Dalam hubungan
secara legal diperlukan pihak ketiga sebagai saksi dan dokumen perlu diberikan penanda
bahwa dokumen dan isinya dapat memiliki kuasa dalam hukum yang berlaku, hal ini bisa
dilakukan dengan menggunakan materai atau kertas bersegel.

Tanda tangan digital merupakan salah satu cara untuk mengamankan data yang akan
dikirimkan secara digital. Prinsip yang digunakan dalam tanda tangan digital adalah
data yang dikirimkan harus ditanda tangani oleh pengirim dan tanda tangan bisa
diperiksa oleh penerima untuk memastikan keaslian data yang dikirimkan. Proses ini
menganalogikan proses penandatanganan dokumen kertas oleh yang berwenang
sebelum dikirimkan. Dengan cara ini pengirim bertanggung jawab terhadap isi dokumen
dan dapat dicek keaslian dokumen oleh penerima.

Tanda tangan digital dapat memberikan pengecekan integritas pesan. Jika salah satu
byte dari pesan berubah maka tanda tangan digital juga akan berubah. Proses yang
dilakukan dalam pembuatan tanda tangan digital pertama kali akan dilakukan hashing
terhadap pesan yaitu pengubahan dari pesan asli menjadi suatu pesan dengan ukuran
tertentu yang disebut sebagai digest. Proses hashing merupakan proses 1 arah dan
tidak memungkinkan untuk mendapatkan pesan asli dari hasil hashing atau
mendapatkan pesan yang menghasilkan digest yang sama. Mekanisme yang biasa
digunakan dalam hashing adalah SHA1 (Secure Hash Algorithm) yang dibuat oleh
pemerintah Amerika dan menjadi standar pada tahun 1995. algoritma ini melakukan
pengubahan dari pesan yang panjangnya sampai 2^64 byte dan menghasilkan digest
berukuran 20 byte.

Sebagai contoh apabila terdapat sebuah pesan M dan hasil hash H(M) yang dikirimkan,
maka di penerima bisa melakukan hashing dari pesan M untuk menghasilkan H’(M).
3
Apabila hasil H(M) dan H’(M) sama maka bisa dipastikan bahwa penerima menerima
pesan M yang sama. Satu-satunya cara untuk melindungi pesan dari perubahan adalah
dengan mengamankan hasil hash (H(M)). Pengamanan terhadap hasil hash dapat
dilakukan dengan menambahkan informasi rahasia yang hanya diketahui oleh pihak
pengirim dan penerima dan ditambahkan ke dalam pesan sebelum dilakukan hash.
Misalnya H(S+M), dengan S adalah informasi rahasia yang diketahui bersama, maka
ketika pesan didapatkan dan dengan S yang dimiliki bisa dilakukan dengan membuat
H’(S+M). Digest yang baru yang dihasilkan disebut sebagai HMAC atau Hashed
Messsage Authentication Code.

Jika HMAC digunakan, maka kekuatan pengamanan terhadap data bergantung pada
ketidakmampuan penyerang untuk mengetahui S. Oleh karena itu S harus sesuatu yang
tidak mudah ditebak dan sesuatu yang harus sering berubah. Salah satu cara terbaik
yang dapat digunakan adalah dengan menggunakan Kerberos. Dalam Kerberos, suatu
sentral memberikan suatu kunci sementara yang digunakan seperti tiket pada saat ada 2
pihak yang akan berkomunikasi. Pengirim akan mendapatkan tiket untuk mengirimkan
informasi kepada penerima tertentu. Pada saat mengirimkan informasi, pengirim akan
membuka tiketnya dan mengambil S, mengirimkan pesan M, HMAC nya dan tiket milik
penerima. Penerima harus membuka tiket menggunakan password yang sudah
didaftarkan dalam Kerberos dan mengambil S dan informasi mengenai identitas
pengirimnya. Kemudian penerima akan mengambil pesan M dan membuat H’(S+M)
dan mengecek kecocokannya. Apabila cocok maka penerima akan mengetahui bahwa
pengirim yang mengirimkan pesan/informasi dan identitas pengirim diberitahu oleh
Kerberos.

Kekurangan metode HMAC adalah : (1) HMAC menggunakan kunci simetrik sehingga
sulit untuk mempertukarkan kunci simetrik antara pengirim dan penerima karena
memerlukan jaringan khusus dan aman untuk pertukaran. (2) Kunci simetrik hanya bisa
dilakukan untuk 2 pihak (pengirim dan penerima) sehingga untuk mengirimkan pesan
lebih ke 1 penerima maka akan timbul masalah keamanan yang lain yaitu bahwa kunci
diketahui lebih dari 2 orang dan dapat dengan mudah menyebar kepada pihak yang
tidak diinginkan.

4
Metode lain untuk memproteksi digest adalah dengan menggunakan kriptografi kunci
publik, seperti RSA. Dalam kriptogafi kunci publik terdapat 2 kunci yaitu kunci privat
yang hanya diketahui oleh pemilik dan kunci publik yang bisa diketahui oleh orang lain
yang hendak berkomunikasi dengan pemegang kunci. Dengan menggunakan kriptografi
kunci publik, apapun yang dikunci dengan menggunakan kunci privat dapat dibuka
dengan menggunakan kunci publik dan juga sebaliknya. National Institute of Standard
and Technology (NIST) menerbitkan standar untuk Digital Signature yang dikenal
sebagai Digital Signature Standard (DSS) dan diterbitkan sebagai Federal Information
Processing Standard (FIPS) PUB 186 tahun 1991, dan direvisi tahun 1993 dan 1996. DSS
menggunakan metode SHA-1 untuk menghitung message digest. Proses pembuatan
digital signature dapat dilihat dalam Gambar 1.

Gambar 1 Proses pembuatan digital signature

Setelah tanda tangan digital dibuat maka pengirim akan mengirimkan pesan asli
ditambahkan dengan tanda tangan digital kepada penerima seperti terlihat pada
Gambar 2.

Gambar 2 Pengiriman pesan dengan tanda tangan digital

5
Penerima akan menerima pesan asli dan tanda tangan digitalnya. Selanjutnya penerima
akan melakukan hashing dari pesan asli dan mendekripsi tanda tangan digital pengirim
dengan menggunakan kunci publik pengirim dan membandingkannya. Apabila hasil
hashing (MD2) dan dekripsi tanda tangan digital (MD1) sama maka dapat dipastikan
bahwa pesan merupakan betul pesan yang dikirim oleh pengirim kepada penerima.

Gambar 3 Pengecekan tanda tangan digital

II.2 GNU Privacy Guard (GnuPG)


Gnu Privacy Guard (GnuPG) merupakan salah satu perangkat lunak yang dapat
digunakan untuk menjaga kerahasiaan suatu pesan yang akan dikirimkan kepada
penerima tertentu. GnuPG merupakan aplikasi yang dibuat oleh Free Software
Foundation didistribusikan dengan lisensi GPL dan open source. Fungsi yang dapat
dilakukan oleh GnuPG adalah : (1) membuat tanda tangan digital, (2) menyimpan dan
melakukan verifikasi tanda tangan digital, (3) melakukan enkripsi dan dekripsi dokumen
dan (4) menambahkan tanda tangan digital ke dalam dokumen.

GnuPG menggunakan kriptografi kunci publik agar pengguna dapat berkomunikasi


secara aman. Dalam kriptografi kunci publik, setiap user memiliki kuncii privat dan
publik. Kunci privat dirahasiakan dan tidak perlu diberitahukan kepada orang lain dan
kunci publik dapat diberitahukan kepada siapapun yang ingin berkomunikasi dengan
user. GnuPG memiliki fitur untuk membuat kunci primer dan beberapa kunci lainnya

6
yang bisa digabungkan dalam 1 bundel kunci yang disimpan dalam sebuah keyring.
Metode pembuatan kunci yang bisa dilakukan oleh GnuPG adalah RSA, DSA dan Elgamal
dengan panjang kunci maksimum yang bisa dibuat adalah 2048.

7
Bab III
Perancangan dan Implementasi

III.1 Perancangan
Aplikasi SecureEdit yang akan dibuat memiliki fungsi seperti yang terlihat pada Gambar
4. Dengan menggunakan aplikasi ini user bisa : (1) membuat tanda tangan digital, (2)
menulis dan membaca pesan dalam file teks, dan (3) memvalidasi pesan yang sudah
dibuat.

Gambar 4 Use case aplikasi

1. Pembuatan tanda tangan digital

Pembuatan tanda tangan digital dilakukan dengan urutan seperti yang terlihat pada
Gambar 5. Pembuatan tanda tangan akan dilakukan mengunakan jendela lain dan user
akan diminta untuk memasukkan nama, alamat email dan password untuk memproteksi
tanda tangan. Jendela baru untuk membuat tanda tangan akan dipanggil dari form
utama. Tanda tangan yang sudah dibuat akan disimpan dalam format XML, masing
masing user akan memiliki sebuah file tanda tangan.

8
Gambar 5 Urutan pembuatan tanda tangan

2. Penanda tanganan dokumen

Proses penandatanganan dokumen dilakukan dengan terlebih dahulu mengisikan pesan


yang akan dikirimkan, kemudian dilanjutkan dengan mengisikan nama file dan memilih
kunci yang akan digunakan untuk menandatangani dokumen. Setelah informasi diisikan,
maka dokumen akan disimpan.

9
Gambar 6 Penanda tanganan dokumen

3. Validasi dokumen

Validasi dokumen dapat dilakukan dengan urutan seperti terlihat pada Gambar 7. proses
validasi dilakukan dengan membaca dokumen yang sudah ditanda tangani untuk
kemudian divalidasi dengan menggunakan kunci publik pengirim.

10
Gambar 7 Proses validasi tanda tangan digital

III.2 Implementasi
Aplikasi akan dibuat dengan menggunakan bahasa pemrograman Visual Basic .NET dan
akan memiliki tampilan seperti pada Gambar 8. Teks yang akan disimpan dapat diketik
pada textbox yang berada pada bagian tengah. Menu yang terdapat dalam aplikasi ini
adalah :

- File : New, Open, Save


- Edit : Setting
- Keys : Choose Key, Create Key, Share Key
- Help : About

11
Gambar 8 Tampilan utama SecureEdit

Pembuatan tanda tangan digital bisa dilakukan dengan menggunakan form seperti
terlihat pada Gambar 9. Form ini bisa dilakukan dengan memilih menu Keys -> Create
key. Tanda tangan digital akan disimpan dalam folder yang sama dengan aplikasi
dengan menggunakan ekstensi .sig dalam format XML.

12
Gambar 9 Form pembuatan tanda tangan digital

Tanda tangan akan memiliki informasi yaitu : (1) nama, (2) email, (3) password, (4)
public key, (4) combined key. Contoh file signature dapat dilihat dalam Gambar 10 :

<?xml version="1.0"?>
<digital_id>
<name>mario</name>
<email>mariotapilouw@yahoo.com</email>
<password>hello</password>

<pub><RSAKeyValue><Modulus>5Ci1+N92c7rJNUjq65oJYgr39ofRe7am6UxZJw
WN/K2lSw5tqiwMjO5GFvk0PbqgC5QCANBinjU+5JYUsGGsMCmMLDWLcdw14kB4Zh+
GAhftBe5/+ZvRkXXaCLhVEeNB3ICOqM7dVM6tfPvWNBmk9Cylv5OkXTRazK2+C+Uw
3Ak=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></pub>

<priv><RSAKeyValue><Modulus>5Ci1+N92c7rJNUjq65oJYgr39ofRe7am6UxZJ
wWN/K2lSw5tqiwMjO5GFvk0PbqgC5QCANBinjU+5JYUsGGsMCmMLDWLcdw14kB4Zh
+GAhftBe5/+ZvRkXXaCLhVEeNB3ICOqM7dVM6tfPvWNBmk9Cylv5OkXTRazK2+C+U
w3Ak=</Modulus><Exponent>AQAB</Exponent><P>9NrK5Xd1M6796abBrd2jW5
iSMOWfT2P63AQZvPa6PyqVPNiH4P8auh1OIxUvkbhyX2iUBIV7XW89EzDxcrZTnQ=
=</P><Q>7oteqnUd8c/kxjUQQ4EJ0kb7wXYIE3wW7pIu5QPpK6mi/1VCABwfYEQee
JT1dJcGZwvpKs/6jA7AxrFAqrOsXQ==</Q><DP>Mbd3OS6PSqY+gkHM07vMHp4VGP
6W4Wzgk+n1O+wxFwBTex5QQLwrthybL/5uQT1dY8f9PgnIaclbclkevXcN9Q==</D
P><DQ>Za+xlhZAwpDto/SAz1XVevbZYPnQrYWrPN3B8cw9/Gfe3NtaPDPAyEeheaN
13
+EspCZ3DzX1WzJzsuwERVHa9j3Q==</DQ><InverseQ>5hhEwiTAQoiQQm8win5k4
AKWalA3c1tew8VYwQYgKZ+M0xYhBmqyrIxFCenXpOCZTFLkNP588YmusMnh8/cDAA
==</InverseQ><D>dXf4aNA0nlUW7xZBzVebaR0YmZdH5Zgey5MBe7PCbMvChKhDE
hBnzc+HyqA3o2iIqi1j8qNXgvkLDomu0TkYeyKmw0oeR7Bu+5mq5Cf3HCL9GD97O9
IRlJfK5AUePi5G1QJXla939mPJnczGImTj6AqvZe1bKn5CvUIauT/AROE=</D></R
SAKeyValue></priv>
</digital_id>
Gambar 10 Contoh file signature

Gambar 11 Pemasukkan teks yang akan ditanda tangani

Proses penanda tanganan secara digital dilakukan dengan cara menyimpan pesan yang
akan ditanda tangani. Oleh karena itu sebelum dilakukan proses penyimpanan, terlebih
dahulu user harus memilih kunci mana yang akan dia gunakan untuk menanda tangani
pesan tersebut. Pemilihan kunci dapat dilakukan dengan menggunakan menu Keys Æ
Choose Key dan akan muncul jendela untuk memilih file kunci yang diinginkan seperti
terlihat pada Gambar 12. Pemilihan tanda tangan digital dapat dilakukan dengan
menekan tombol browse.

14
Gambar 12 Pemilihan tanda tangan digital

Setelah kunci dipilih maka penyimpanan file dapat dilakukan dengan memilih menu File
Æ Save dan akan muncul jendela untuk mengisikan nama file yang diinginkan seperti
terlihat pada Gambar 13. File akan disimpan dalam format XML dengan menggunakan
ekstensi .sgf.

Gambar 13 Jendela untuk mengisikan nama file

15
File ini akan membawa informasi (1) sender/pengirim, (2) email pengirim, (3) metode
hash yang digunakan, (4) pesan yang dikirimkan, (5) signature yang menyertai pesan.
Contoh sebagai berikut (Gambar 14):

<?xml version="1.0" encoding="Windows-1252"?>


<note>
<sender>mario</sender>
<email>mariotapilouw@yahoo.com</email>
<hash>SHA1</hash>
<msg>11223344</msg>
<sign>s
’- (¹gV½tÊyZž^ÌŸKa&#x1C;&#x18;¿ä7[9¦´&#x1E; 0&#x0;O‡Ï£e|)&#x18;
žßw o&#x10;)&#x0;‹|Ó±õþ]»¹`ËèOé7rÝb&#xF;&#x1E;EÅSëutüH7ú›dôæ-RúŠ
F¸×YÓA &#x1E;u8ÙËkSHsëz}²²ç#&#x10;eHïþ&#x1F;œ&#xF;óaÔµ™Êð±[</sig
n>
</note>
Gambar 14 Contoh file hasil tanda tangan digital

Proses pemeriksaan validitas dokumen dapat dilakukan dengan membuka dokumen


melalui menu File Æ Open dan akan muncul jendela seperti terlihat pada Gambar 15.

Gambar 15 Membuka file hasil tanda tangan

16
Setelah file dipilih maka pada editor akan muncul teks asli yang dikirimkan seperti
terlihat pada Gambar 16. dalam tampilan akan muncul nama dan alamat email pengirim.

Gambar 16 File yang sudah ditanda tangani

Setelah isi file ditampilkan maka untuk memvalidasi tanda tangan digital dilakukan
dengan menekan tombol Validate. Apabila tombol ini ditekan maka akan muncul
jendela pilihan untuk memilih file yang berisi kunci publik pengirim seperti terlihat pada
Gambar 17, kunci publik ini bisa didapatkan dari pengirim. Setelah kunci publik dipilih
maka akan diproses untuk menentukan apakah informasi yang dikirimkan valid atau
tidak. Apabila informasi yang dikirimkan valid, maka pada status bar akan muncul tulisan
Valid, sebaliknya akan muncul tulisan Not Valid pada status bar apabila kunci tidak
cocok dengan signature yang ditempelkan dalam file. Hasil validasi yang sukses dapat
dilihat pada Gambar 18, sementara hasil dokumen yang tidak valid dapat dilihat pada
Gambar 19.

17
Gambar 17 Pemilihan kunci publik pengirim

Gambar 18 Hasil validasi file tanda tangan digital yang valid

18
Gambar 19 Hasil validasi tanda tangan digital yang tidak valid

Pada gambar 18 terlihat bahwa hasil validasi dokumen menyatakan bahwa dokumen
tidak valid. Hal ini dapat disebabkan oleh beberapa hal yaitu : (1) tanda tangan digital
tidak sesuai, bisa karena rusak di perjalanan, (2) tanda tangan digital sengaja dirusak
oleh pihak ketiga (attacker), (3) kunci yang digunakan tidak sesuai dengan yang dimiliki
oleh penerima.

19
Bab IV
Perbandingan dengan gpg

IV.1 Penggunaan GnuPG

IV.1.1 Pembuatan tanda tangan digital


Tampilan yang digunakan oleh perangkat lunak GnuPG adalah tampilan berbasis teks.
Proses pembuatan tanda tangan digital bisa dilakukan dengan menggunakan perintah
“gpg –gen-key” dan proses yang harus dijalani untuk membuat tanda tangan digital
seperti yang terlihat pada Gambar 20

C:\Program Files\GNU\GnuPG>gpg --gen-key


gpg (GnuPG) 1.4.1; Copyright (C) 2005 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

Please select what kind of key you want:


(1) DSA and Elgamal (default)
(2) DSA (sign only)
(5) RSA (sign only)
Your selection? 5
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0) 0
Key does not expire at all
Is this correct? (y/N) y

You need a user ID to identify your key; the software constructs the
user ID
from the Real Name, Comment and Email Address in this form:
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

Real name: Abraham Mario Tapilouw


Email address: mario@instrument.itb.ac.id
Comment:
You selected this USER-ID:
"Abraham Mario Tapilouw <mario@instrument.itb.ac.id>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o


You need a Passphrase to protect your secret key.

20
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: NOTE: you should run 'diskperf -y' to enable the disk statistics
.........+++++
...+++++
gpg: key 4B384B17 marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb


gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
pub 2048R/4B384B17 2005-07-01
Key fingerprint = 07B1 1B8C 78C9 2B21 E956 2385 E48A 28AF 4B38
4B17
uid Abraham Mario Tapilouw
<mario@instrument.itb.ac.id>

Note that this key cannot be used for encryption. You may want to use
the command "--edit-key" to generate a subkey for this purpose.

Gambar 20 Pembuatan tanda tangan digital dengan menggunakan GnuPG

IV.1.2 Penanda tanganan dokumen


Proses penanda tanganan dokumen dapat dilakukan seperti dapat terlihat pada Gambar
21. Terdapat 2 jenis dokumen hasil dokumen yang sudah ditanda tangani yaitu dalam
bentuk teks yang bisa dibaca (dibuat dengan opsi --clearsign), dalam bentuk
karakter hexa (dibuat dengan opsi --sign) dan

C:\Program Files\GNU\GnuPG>gpg --sign mario.txt

You need a passphrase to unlock the secret key for


user: "Abraham Mario Tapilouw <mario@instrument.itb.ac.id>"
2048-bit RSA key, ID 4B384B17, created 2005-07-01

File `mario.txt.gpg' exists. Overwrite? (y/N) y

C:\Program Files\GNU\GnuPG>gpg --clearsign mario.txt

You need a passphrase to unlock the secret key for


user: "Abraham Mario Tapilouw <mario@instrument.itb.ac.id>"
2048-bit RSA key, ID 4B384B17, created 2005-07-01

File `mario.txt.asc' exists. Overwrite? (y/N) y

Gambar 21 Penanda tanganan dokumen

21
IV.1.3 Pengecekan validitas dokumen
Pengecekan validitas dokumen yang sudah ditanda tangani dapat dilakukan oleh GnuPG
dengan cara seperti yang terlihat pada Gambar 22.

C:\Program Files\GNU\GnuPG>gpg --verify mario.sig mario.txt


gpg: Signature made 07/01/05 23:18:09 using RSA key ID 4B384B17
gpg: Good signature from "Abraham Mario Tapilouw
<mario@instrument.itb.ac.id>"

Gambar 22 Pengecekan validitas dokumen menggunakan GnuPG

IV.2 Perbandingan GnuPG dengan SecureEdit

Pembanding GnuPG SecureEdit

Algoritma penanda SHA-1 (hash) SHA-1 (hash)


tanganan RSA, DSA dan Elgamal RSA (sign)
(sign)
Penyimpanan tanda tangan Proprietary, XML
bisa diexport ke file teks
File hasil File teks XML
Tampilan Text based Interface Windows

22
Bab V
Kesimpulan

V.1 Kesimpulan
Tanda tangan digital merupakan salah satu hal yang penting dalam komunikasi digital,
oleh karena itu perlu ada legalisasi dari suatu lembaga pengatur yang dapat dipercaya.
Siapapun bisa mengimplementasikan tanda tangan digital namun kepercayaan
tergantung pengguna dan juga resiko yang harus ditanggung pengguna apabila
informasi jatuh ke tempat yang salah ataupun informasi yang disampaikan merupakan
informasi palsu. Oleh karena itu diperlukan pihak lainnya sebagai penjamin bahwa tanda
tangan digital yang dibuat adalah sah dan aman. Algoritma untuk melakukan tanda
tangan digital dibuka dan semua orang bisa mengimplementasikan tanda tangan digital
dalam perangkat lunaknya dengan macam-macam bahasa pemrograman, namun tidak
semua orang bisa mendapatkan legalisasi dari pihak yang berwenang.

GnuPG merupakan salah satu aplikasi yang mengimplementasikan standar tanda tangan
digital dari FIPS dan memungkinkan penggunanya untuk bisa mempertukarkan datanya
dengan aman dan dapat dibuktikan keasliannya. Aplikasi yang dibuat dalam tugas ini
bisa melakukan sebagian yang dilakukan oleh GnuPG dengan menggunakan bahasa
pemrograman Visual Basic .NET dan dengan contoh ini membuktikan bahwa siapapun
bisa mengembangkan aplikasi keamanan untuk perangkat lunak yang
dikembangkannya.

23
V.2 Daftar Pustaka
Freeman, Adam., Jones, Allen., Programming .NET Security , Oreilly: June 2003

Kahate, Aatul,. Criptography and Network Security, Tata McGraw-Hill, New Delhi : 2003.

Mansfield, Richard., RSA in VB.NET: The Strongest Encryption,


http://www.devx.com/security/Article/17455/1954?pf=true

Mansfield, Richard., Keeping Secrets: A Guide to VB .NET Cryptography,


http://www.devx.com/security/Article/7019/

Lakshminarayan, Sitaraman., XML Signature in .NET,


http://www.vbdotnetheaven.com/Code/Jul2003/2110.asp

Deitel, Deitel, Visual Basic .NET: How To Program

http://www.codeproject.com/vb/net/Digital_Signatures.asp

Federal Information Processing Standards Publication 186, Digital Signature Standard


(DSS), http://www.itl.nist.gov/fipspubs/fip186.htm, 1994

W3C Recommendation 12 February 2002., XML-Signature Syntax and Processing,


http://www.ietf.org/rfc/rfc3275.txt

Salz, Rich., Understanding XML Digital Signature, http://msdn.microsoft.com/library/en-


us/dnwebsrv/html/underxmldigsig.asp, July 2003

Simon, Ed., Madsen, Paul., Adams, Carlisle., An Introduction to XML Digital Signatures
http://www.xml.com/pub/a/2001/08/08/xmldsig.html

24

Você também pode gostar