Halaman Judul
ARTIKEL ILMIAH
Diajukan Sebagai Salah Satu Syarat untuk Menyelesaiakan Program Strata Satu
pada Program Studi Teknik Informatika
FAKULTAS ILMU KOMPUTER
UNIVERSITAS AKI
SEMARANG
2012 Disusun oleh:
Nama : Moch Saiful Umam
NIM : 2.23.09.0034
Program Studi : Teknik Informatika
1
DigitalSignature Dengan Metode RSA dan Biometri Suara
Moch Saiful Umam
(Pembimbing: Yani P rihati, S.Si, M.Kom; Ana Wahyuni, S.Si, M.Kom)
Abstrak
Pertukaran dokumen elektronik melalui Internet menggunakan email sudah luas digunakan sebagai transaksi komersial. Untuk menjamin dokumen elektronik tersebut masih utuh/otentik/tidak mengalami modifikasi saat sampai di pihak penerima (verifier) dalam jaringan publik yang tidak aman tersebut salah satunya adalah memberi tandatangan digital (digital signature) pada dokumen elektronik. Salah satu metode yang digunakan untuk membuat tandatangan digital adalah dengan menggunakan algoritma RSA yang ditemukan Ron Rivest, Adi Shamir, dan Leonard Adleman dikombinasikan dengan sertifikat digital untuk proses penandatanganan dan verifikasi dokumen elektronik, juga menggunakan biometri suara yang akan memverifikasi pihak pengirim (signer) saat hendak mengirimkan dokumen elektronik. Tujuan dari penelitian ini adalah membuat aplikasi digital signature dengan metode RSA dan biometri suara untuk mengotentikasi dokumen elektronik. Pada penelitian ini yang digunakan sebagai masukan adalah kunci privat dan sertifikat digital pihak signer yang dikonversi kedalam format personal information exchange (pfx). selanjutnya pihak signer menandatangani dokumen elektronik dengan pfx tersebut dan mengirimkannya kepada pihak verifier menggunakan email. Pihak verifier memverifikasi signature yang diterima. Jika hasilnya valid maka berarti dokumen elektronik yang diterima masih utuh/otentik. Sebaliknya jika invalid, maka dokumen tersebut sudah tidak utuh/mengalami modifikasi.
Kata kunci: sertifikat digital, tandatangan digital (digital signature), RSA, biometri suara.
A. Pendahuluan
A.1 Latar Belakang
Penggunaan Internet sebagai media komunikasi dalam sistem sosial
ekonomi sangat mempengaruhi perkembangan globalisasi ekonomi dan informasi
karena perkembangan ekonomi dan perdagangan Internasional bergerak dengan
cepat hal tersebut mempengaruhi terhadap penggunaan dokumen. Kalau pada
mulanya dokumen yang merupakan alat bukti hanya dibuat dalam bentuk tertulis
tetapi sekarang dokumen juga harus dapat di buat bentuk elektronik.
Untuk membuktian bahwa dokumen elektronik telah diketahui atau
digunakan sebagai alat bukti yang sah secara hukum maka pemerintah melalui UU
Nomor 11 Tahun 2008 tentang Informasi dan Transaksi Elektronik (ITE)
memberikan pengaturan tentang pengamanan dokumen elektronik melalui sistem
tandatangan digital (digitalsignature).
Tandatangan digital merupakan sebuah teknik otentikasi pesan yang
digunakan untuk keperluan message integrity, user authentication, non
repudiation. Message integrity adalah menjaga keaslian pesan dikirim dan
diterima oleh pihak yang berhak. User authentication bertujuan untuk menjamin
keaslian identitas pengirim, dan non repudiation adalah pengirim pesan tidak
dapat menyangkal isi pesan (Munir, 2004: 1).
Untuk menjamin pengirim yang akan melakukan signing dokumen
elektronik adalah orang yang berwenang maka digunakan verifikasi biometri
suara. Verifikasi suara digunakan karena biometri suara memiliki karakteristik
misalnya tidak dapat lupa, tidak mudah hilang, dan tidak mudah untuk dipalsukan
karena keberadaannya melekat pada diri manusia sehingga keunikannya lebih
terjamin (Putra & Resmawan, 2011: 9)
Implementasi RSA salah satunya digunakan sebagai algoritma signature
pada sertifikat digital. RSA (Rivest Shamir Adleman) merupakan algoritma
standar Internasional dan bisa diterapkan untuk digital signature yang
menyediakan otentikasi dan enkripsi kunci (Harris, 2010: 716). Penelitian ini
bertujuan membuat aplikasi digital signature menggunakan metode RSA dan
biometri suara untuk mengotentikasi dokumen elektronik sehingga menjamin
keaslian dokumen elektronik dan keaslian identitas pengirim.
A.2 Perumusan Masalah
Perumusan masalahnya adalah bagaimana membuat aplikasi digital
signature dengan menggunakan metode RSA dan biometri suara.
A.3 Batasan Masalah
Biometri yang digunakan adalah biometri suara yang diproses dengan
metode MFCC (Mel Frequency Cepstrum Coefficient) untuk mendapatkan pola
suara, dan pencocokan pola suara dengan metode DTW (Dyna mic Time Warping).
A.4 Metodologi Penelitian
Jenis data yang digunakan dalam penelitian adalah data primer yang berupa
waktu yang dibutuhkan untuk simulasi dokumen pada proses signing, dan waktu
yang dibutuhkan untuk simulasi signature pada proses verifikasi. Data sekunder
berupa landasan teori yang diambil dari buku dan penelusuran komputer. Metode
pengumpulan data yang digunakan adalah observasi dan tinjauan literatur.
B. Landasan Teori
B.1 Kriptografi dan Tandatangan Digital
Kriptografi adalah sebuah metode pengamanan dalam menyimpan dan
mentransmisikan data dalam sebuah bentuk yang hanya ditujukan untuk dibaca
dan diproses. Kriptografi menggunakan metode ilmiah untuk melindungi
informasi, sehingga kriptografi adalah sebuah cara yang efektif untuk melindungi
informasi berharga untuk disimpan pada sebuah media penyimpanan atau
ditransmisikan melalui jaringan komunikasi yang tidak aman (Harris, 2010: 665).
Tandatangan digital (digital signature) merupakan salah satu implementasi
protokol kriptografi yang dalam penandatanganan digital terhadap suatu dokumen,
sidik jari dokumen beserta timestamp-nya dienkripsi dengan kunci privat yang
menandatangani. Tandatangan digital memanfaatkan fungsi hash satu arah untuk
menjamin bahwa tandatangan itu hanya berlaku untuk dokumen yang
bersangkutan saja (Stiawan, 2005: 82).
B.2 Algoritma Kriptografi RSA
Algoritma kriptografi RSA dinamai sesuai dengan nama para penemunya
yaitu Ron Rivest, Adi Shamir, dan Leonard Adleman yang merupakan algoritma
standar Internasional dan bisa diterapkan untuk digital signature, pertukaran kunci
(key exchange), dan enkripsi. RSA dikembangkan tahun 1978 di MIT yang
menyediakan otentikasi dan enkripsi kunci (Harris, 2010: 716).
Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan
memperoleh kunci privat. Berikut ini adalah prosedur pembuatan kunci RSA
Penerapan kriptografi kunci publik membutuhkan pendukung yang
dinamakan infrastruktur kunci publik (Public Key Infrastructure, PKI). PKI
adalah sebuah pengaturan yang menjamin pengguna kunci publik bagi
pihak-pihak yang terlibat dengan penggunaan sistem keamanan. PKI juga mengikat
kunci publik dengan identitas pengguna. Dengan PKI, setiap pengguna dapat
mengotentikasi satu sama lain. Informasi di dalam sertifikat yang dikeluarkan oleh
PKI digunakan untuk enkripsi dan enkripsi pesan antara pihak-pihak yang
berkomunikasi. Contoh riil PKI di dalam kehidupan nyata adalalah sertifikat
digital. Sertifikat digital adalah sertifikat yang menggunakan tandatangan digital
kunci publik untuk mengasosiasikan identitas informasi seperti nama subjek
(perusahaan/individu/organisasi), kunci publik si subjek, masa berlaku sertifikat,
dan informasi yang relevan sehingga sebuah sertifikat dapat digunakan untuk
memverifikasi kunci publik yang dimiliki individu (Munir, 2006: 261).
Jadi, sertifikat digital mengikat kunci publik dengan identitas pemilik kunci publik. Sertifikat ini dapat dianggap sebagai “surat pengantar” dari CA. Supaya sertifikat digital itu dapat diverifikasi, maka kunci publik CA harus
memverifikasi bahwa tanda tangan di dalam suatu sertifikat itu sah dank arena itu
mendapat jaminan bahwa knci publik di dalam sertifikat itu memang benar. Salah
satu CA, VeriSign, Inc. adalah CA yang terkemuka (Munir, 2006: 262).
B.4 Otentikasi menggunakan Biometri Suara
Biometri suara merupakan salah satu behavioral biometric yaitu biometri
yang bersifat aktif seiring jalannya waktu (fitur biometri akan berubah seiring
waktu). Otentikasi dengan menggunakan biometri pada dasarnya adalah sistem
pengenalan pola yang beroperasi dengan mekanisme enrollment dan testing.
Selama proses enrollment data biometri seseorang didapatkan dan fiturnya
diekstrak dari biometri tersebut. Sedangkan dalam proses testing, data biometri
yang diinputkan dibandingkan dengan fitur yang sudah didapatkan sebelumnya
dengan perhitungan statistika untuk proses otentikasi (Li, 2012: 4).
Verifikasi suara (speaker verification) adalah proses verifikasi seorang
pembicara, dimana sebelumnya telah diketahui identitas pembicara tersebut
berdasarkan data yang telah dimasukkan. Speaker verification terdiri dari lima
blok utama yaitu akuisisi data, ekstraksi fitur, pencocokan pola, pembuatan
keputusan diterima/ditolak, dan enrollment untuk mendapatkan pola voice print
dalam database (Tolunay, 2010: 7).
Gambar B.1 Blok utama spea ker verification
Suara yang masuk akan dikonversi menjadi sinyal digital dengan melalui
proses sampling, kuantisasi (Quantizing), pengkodean (Encoding), dan
sinkronisasi (Syncronizing) yang merupakan dasar pembentukan pembentukan
Modulasi Sandi Pulsa (Pulse Code Modulation – PCM).
B.5 Ekstraksi Fitur Suara dan Pencocokan Pola Suara
Sinyal suara adalah sinyal yang berubah terhadap waktu secara perlahan
(quasi-stationary). Untuk rentang waktu yang pendek (antara 5 dan 100 milidetik),
kateristik sinyal ini bisa dianggap stasioner. Namun demikian untuk periode yang
cukup panjang (1/5 detik atau lebih) karakteristik sinyal berubah yang
mencerminkan perbedaan bunyi yang diucapkan. Oleh karena itu, short-time
spectral analysis adalah yang biasa dilakukan untuk mengkarakterisasi sinyal
suara. MFCC (Mel F requency Cepstrum Coefficient) adalah teknik ekstraksi fitur
suara yang populer dan paling banyak digunakan (Buono, Jatmiko, &
Kusumoputro, 2009: 88).
DTW (DynamicTime Wa rping) adalah metode untuk menghitung jarak
antara dua data time series. Keunggulan DTW dari metode jarak yang lainnya
adalah mampu menghitung jarak dari dua vektor data dengan panjang berbeda.
Jarak DTW diantara dua vektor dihitung dari jalur pembengkokkan optimal
(optimal wa rping path) dari kedua vektor tersebut.
C. Pembahasan
C.1 RequirementsPlanningTask
Untuk membuat signature sebuah dokumen elektronik maka pihak pengirim
memerlukan sebuah kunci privat yang dibangkitkan sendiri dan kunci publik yang
diperoleh dari sertifikat digital. Untuk mengotentikasi pengirim yang aka
mengirimkan dokumen elektronik beserta signaturenya maka pengirim tersebut
harus melalui akses berupa login dengan menggunakan verifikasi biometri suara.
Secara umum aplikasi yang akan dikembangkan meliputi proses enrollment untuk
mendaftarkan biometri suara ke dalam sistem, proses verifikasi biometri suara saat
login, dan proses pembuatan digitalsignature pada dokumen elektronik. Aplikasi
Gambar C. 1 Bagan alir aplikasi yang akan dikembangkan
Perangkat yang digunakan dalam proses penelitian skripsi ini adalah
perangkat lunak dan perangkat keras dengan detil sebagai berikut:
1. Perangkat lunak meliputi Sistem Operasi Windows 7 Ultimate; Microsoft
Visual Basic 2010; Microsoft .NET Framework 4.0; Chilkat .NET 4.0
Framework versi 9.1.0 (library yang digunakan untuk pembuatan digital
signature); dan Matlab 2009a.
2. Perangkat keras: Notebook dengan spesifikasi Intel Atom Processor N450 @
1.66 GHz, RAM 1024 MB; Headset Startech SH-591MV.
C.2 UserDesignTask
Aplikasi yang akan dibuat dimodelkan menggunakan UML.
Aktivitas-aktivitas yang terjadi di dalam aplikasi yang didesain sesuai dengan gambaran
umum aplikasi adalah sebagai berikut:
1. Pendaftaran biometri suara pengguna (enrollment)
2. Login pengguna dengan biometri suara
3. Membangkitkan kunci privat
4. Mengekspor sertifikat digital ke dalam bentuk *.pem dan *.cer
5. Membuat sertifikat digital ke dalam bentuk *.pfx
6. Melakukan proses signing (menandatangani dokumen elektronik)
Dari aktivitas-aktivitas yang disebutkan mulai dari pendaftaran, membuat
kunci kriptografi, sampai dengan memverifikasi signature, dalam gambaran
interaksi antara pengguna dengan aplikasi bisa dimodelkan sebuah use case
sebagai berikut:
Gambar C. 2 Use case aplikasi digital signature
Komponen aplikasi yang digunakan terdiri dari beberapa form yang
melakukan fungsinya masing-masing. Berikut ini adalah komponen penyusun
aplikasi utama yang dimodelkan dengan component diagram:
Jendela utama merupakan tampilan pengguna setelah login yang berguna
untuk mengakses fasilitas-fasilitas aplikasi yang berhubungan dengan proses
signing (pemberian signature pada dokumen) dan verifikasi signature.
Gambar C. 4 Jendela utama aplikasi digital signature
C.3 Simulasi Aplikasi
Untuk melakukan simulasi, baik pihak penerima (signer) maupun pihak
pengirim (verifier) harus menginstal aplikasi yang dibuat ini. Selain itu di
komputer masing-masing pihak signer dan verifier juga harus ter-install .NET
Framework minimal versi 4.0. Selajutnya adalah mengirim email dengan lampiran
berupa dokumen, signature dokumen, dan sertifikat digital kepada penerima
melalui email. Kemungkinan verifikasi yang dilakukan pihak verifier
diidentifikasikan sebagai berikut:
Tabel 3. 1 Kemungkinan hasil verifikasi signature
No Letak Modifikasi Hasil Verifikasi Keterangan Dokumen Signature Sertifikat
1 Valid signature 31 milidetik
2 Verifikasi gagal
3 Invalid signature 16 milidetik
4 Verifikasi gagal
5 Invalid signature 47 milidetik
6 Verifikasi gagal
7 Invalid signature 15 milidetik
Berdasarkan tabel yang disajikan tersebut bisa ditarik kesimpulan hal-hal
sebagai berikut:
1. Signature dokumen akan bernilai valid jika dokumen elektronik, signature
dokumen, dan sertifikat digital yang digunakan untuk proses verifikasi tidak
mengalami modifikasi.
2. Verifikasi akan memberikan nilai invalid signature jika dokumen dan atau
signature dokumen telah dimodifikasi isinya dan digital tidak mengalami
modifikasi.
3. Jika yang dimodifikasi adalah sertifikat digital, maka proses verifikasi
signature tidak akan terjadi (gagal). Hal ini berlaku untuk dokumen dan
signature dokumen yang belum dimodifikasi maupun yang sudah dimodifikasi.
C.4 Analisis Waktu Hasil Eksekusi
Berdasarkan data percobaan dapat disimpulkan bahwa semakin besar
ukuran dokumen elektronik yang akan ditandatangani, semakin banyak pula
waktu eksekusi yang diperlukan untuk memprosesnya. Analisis waktu eksekusi
disini menjelaskan berapa banyak waktu yang diperlukan untuk melakukan proses
signing dokumen dan proses verifikasi signature. Adapun rata-rata waktu yang
diperlukan untuk proses signing dokumen sebesar 684.31 KB adalah 161.13
milidetik, sementara proses verifikasi signature-nya 45.71 milidetik.
C.5 Hasil Penelitian
Hasil dari penelitian skripsi ini adalah terciptanya aplikasi digital signature
dengan metode RSA dan biometri suara. Aplikasi ini dapat digunakan untuk
memberikan tandatangan dokumen elektronik dan memverifikasinya dengan
menggunakan sertifikat digital. Adapun keunggulan aplikasi yang dihasilkan dari
penelitian skripsi ini adalah sebagai berikut:
1. Mengotentikasi dokumen dengan sertifikat digital. Kunci publik yang
dikirimkan ke penerima terdapat di dalam sertifikat digital yang dikirimkan.
2. Dalam melakukan signing dokumen elektronik, pihak signer cukup
membangkitkan kunci privat dan kunci publik didapatkan dari sertifikat digital
D. Penutup
D.1 Kesimpulan
Kesimpulan yang bsa diambil adalah aplikasi digital signature dengan
metode RSA dan biometri suara dibuat untuk keperluan otentikasi sehingga
menjamin keaslian dokumen elektronik dan keaslian identitas pengirim,
dikembangkan dengan menggunakan program Matlab 2009a dan Visual Basic
2010 Ultimate. Pengembangan aplikasi dilakukan dengan menggunakan metode
RAD dan pemodelan aplikasi dilakukan dengan menggunakan UML.
D.2 Saran
Saran yang bisa diberikan sehubungan dengan pembuatan aplikasi digita l
signature dengan metode RSA yaitu:
1. Aplikasi digunakan untuk melindungi hak kekayaan intelektual dan hak cipta
terhadap semua dokumen elektronik. Contohnya bagi lembaga penerbit jurnal
nasional LIPI, yaitu dengan memberikan signa ture setiap dokumen yang
diterbitkan dengan menggunakan signature orang yang meneliti jurnal tersebut.
2. Dengan adanya bandwith Internet yang semakin tinggi, aplikasi ini perlu
dikembangkan dalam versi web sehingga memudahkan pihak signer dan
verifier dalam menggunakan aplikasi (tanpa proses instalasi). Selain itu
sertifikat digital yang digunakan bisa divalidasi langsung oleh pihak CA
(Certificate Authority).
3. Sistem verifikasi suara yang berhasil dibuat dalam penelitian ini masih sangat
sensitif terhadap noise. Dalam penelitian selanjutnya diharapkann dapat
menggunakan algoritma lainnya yang mampu mengatasi masalah noise
tersebut.
DAFTAR PUSTAKA
Adobe. (2007). Digital Signatures in Acrobat - Developer Technical Note. USA: Adobe, Inc.
Barzilay, Z. (2007). Voice Biometrics As A Natural and Cost-Effective Method of Authentication. USA: White Paper.
Buono, A., Jatmiko, W., & Kusumoputro, B. (2009). Perluasan Metode MFCC 1D ke 2D Sebagai Ekstraksi Ciri Pada Sistem Identifikasi Pembicara Menggunakan Hidden Markov Model (HMM). Makara. Seri Sains Vol. 13 No. 1, Hal. 87-93.
Chairiansyah, S. (2010). Cara Kerja Sertifikat Digital pada Teknologi Web.
Diakses tanggal 17 Juni 2012, dari Wordpress:
http://syafrilchairiansyah.wordpress.com/2010/05/14/digital-certificate/
Dawson, C. W. (2009). Projects in Computing and Information System - A Student's Guide Second Edition. Harlow: Pearson Education Limited.
Dharwiyanti, S., & Wahono, R. S. (2003). Pengantar Unified Modeling Language (UML). Jakarta: Ilmu Komputer.
Do, M. (1994). Digital Signal Processing Mini - Project: An Automatic Speaker Recognition System. Laussanne, Switzerland: Audio Visual Communication Laboratory Swiss Federal Institute of Technology.
Dukkipati, R. V. (2010). Matlab An Introduction with Applications. New Delhi: New Age International, Ltd.
Filev, A., Loton, T., McNeish, K., Schoellmann, B., Slater, J., & Wu, C. G. (2002). Professional UML with Visual Studio .NET—Unmasking Visio for Enterprise Architects. USA: Wrox Press, Ltd.
Fowler, M. (2003). UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition. USA: Addison Wesley.
Harris, S. (2010). All in One CISSP Exam Guide Fifth Edition. USA: McGraw-Hill.
Hasibuan, Z. A. (2007). Metodologi Penelitian di Bidang Ilmu Komputer dan Teknologi Informasi, Konsep, Metode Teknik dan Aplikasi. Depok: FIK Universitas Indonesia.
Hermawan, J. (2005). Analisa Desain dan Pemrograman Berorientasi Objek dengan UML dan Visual Basic. NET. Jogjakarta: Penerbit Andi.