PERBANDINGAN APLIKASI DIGITAL SIGNATURE DAN SUBLIMINAL CHANNEL SEBAGAI MODEL OUNTENTIKASI PADA FILE TEKS MULIYADI 41505010027 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCUBUANA JAKARTA 2010
PERBANDINGAN APLIKASI DIGITAL SIGNATURE DAN SUBLIMINAL CHANNEL SEBAGAI MODEL OUNTENTIKASI PADA FILE TEKS Laporan Tugas Akhir Diajukan Untuk Memenuhi Salah Satu Persyaratan Memperoleh Gelar Sarjana Komputer Oleh : MULIYADI 41505010027 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCUBUANA JAKARTA 2010
LEMBAR PERNYATAAN Yang bertanda tangan di bawah ini : NIM : 41505010027 Nama Judul Skripsi : Muliyadi : Perbandingan Aplikasi Digital Signature dan Subliminal Channel Sebagai Model Ountentikasi pada File Teks Menyatakan bahwa skripsi tersebut diatas adalah hasil karya saya sendiri dan bukan plagiat. Apabila ternyata ditemukan di dalam laporan skripsi saya terdapat unsure plagiat, maka saya siap untuk mendapatkan sanksi akademik yang terkait dengan hal tersebut.. JAKARTA, 23 JUNI 2010 ( Muliyadi ) i
LEMBAR PERSUTUJUAN NIM : 41505010027 Nama Judul Skripsi : Muliyadi : Perbandingan Aplikasi Digital Signature dan Subliminal Channel Sebagai Model Ountentikasi pada File Teks SKRIPSI INI TELAH DIPERIKSA DAN DISEUJUI JAKARTA, 23 JUNI 2010 Ir. Nixon Erzed MT Dosen Pembimbing Devi Fitrianah SKom. MTI. Koordinator Tugas Akhir Abdusy Syarif ST. MT. Kaprodi Teknik Informatika ii
KATA PENGANTAR Puji syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-nya sehingga penulis dapat menyelesaikan tugas akhir yang berjudul Perbandingan Aplikasi Digital Signature Dan Subliminal Channel Sebagai Model Otentikasi Pada File Teks ini di buat untuk memenuhi persyaratan penilaian mata kuliah Tugas Akhir sebagai salah satu syarat kelulusan pada program Strata satu (S1) pada program studi Teknik Informatika Universitas Mercu Buana. Penulis menyadari tugas akhir ini tidak akan terselesaikan tanpa ada bantuan dari pihak lain. Penulis tidak lupa untuk mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah memberikan bimbingan, pengarahan, motivasi dan bantuan lainnya baik moril maupun materil. Maka pada kesempatan ini penulis ingin menyampaikan terima kasih kepada : 1. Kedua orang tua penulis yang telah mendoakan dan memberikan dukungan penuh sehingga penulis dapat menyelesaikan tugas akhir ini. 2. Bapak Ir. Nixon Erzed,MT., selaku Dosen Pembimbing yang telah banyak meluangkan waktunya untuk membantu, membimbing, mengarahkan, dan memberikan saran-saran pada penulis. 3. Ibu Devi Fitrianah, S.Kom., MTI., selaku Koordinator Tugas Akhir, Universitas Mercu Buana. 4. Bapak Abdusy Syarif, ST., MT., selaku Ketua Program Studi Teknik Informatika, Universitas Mercu Buana, sekaligus sebagai Dosen Pembimbing Akademik Program Studi Teknik Informatika Angkatan 2005. iii
5. Rekan-rekan mahasiswa Teknik Informatika,Siska Priyatin, iron, Ropik, Dian, Abdy, Rico, One khususnya angkatan 2005 yang bersama-sama berjuang bersama penulis meraih gelar S1. 6. Semua pihak yang membantu dalam penyelesaian laporan tugas akhir ini. Semoga laporan ini bermanfaat bagi kita semua. Penulis menyadari bahwa dalam penyusunan tugas akhir ini masih banyak terdapat kekurangan. Oleh karena itu, dengan segala kerendahan hati, penulis mengharapkan kritik dan saran yang bersifat membangun dari pembaca sekalian demi penyempurnaan tugas akhir ini dikemudian hari. Semoga apa yang telah penulis sajikan dapat menambah khasanah wawasan keilmuan kita. Maju terus teknologi Informasi Indonesia. JAKARTA, 23 JUNI 2010 Penulis iv
ABSTRACT Security issues and the size of the message is one important aspect of an information system, especially in maintaining the authenticity, integrity and size information. If any information changes and the size is too large, there will be risks to be borne by the person sending or receiving information. One way to overcome the security problems and measures is to implement cryptographic information. And one of the cryptographic implementation that can solve the problem of authenticity, integrity and size of the message is a digital signature. Digital signature (digital signature) is an authentication mechanism that allows manufacturers to add a message code that acts as a sign of his hand and also allows the recipient to verify the message and digital signature to test the authenticity, integrity of the message and produces the message size is not too large. Digital signatures can be created using various algorithms and each of these algorithms have different special techniques. With the existence of the signature and perbandinagan subliminal channel applications provide a digital signature to a post at a time check, decrypt messages, and digital signature contained within the message, can provide guarantees of authenticity, a message integrity and provide information on the size of each request. Key words: cryptographic, digital signature, subliminal channel, Ong-Shamir- Schnorr v
ABSTRAK Masalah keamanan dan ukuran pesan merupakan salah satu aspek penting dari sebuah sistem informasi terutama dalam menjaga keaslian, keutuhan dan ukuran suatu informasi. Apabila suatu informasi mengalami perubahan dan ukuran yang terlalu besar maka akan terdapat resiko-resiko yang harus ditanggung oleh orang yang mengirim maupun yang menerima informasi tersebut. Salah satu cara untuk mengatasi masalah keamanan dan ukuran suatu informasi adalah dengan menerapkan kriptografi. Dan salah satu implementasi kriptografi yang dapat menyelesaikan masalah keaslian, keutuhan dan ukuran pesan adalah digital signature. Digital signature (tanda tangan digital) adalah suatu mekanisme otentikasi yang memungkinkan pembuat pesan menambahkan sebuah kode yang bertindak sebagai tanda tangannya dan juga memungkinkan penerima pesan untuk melakukan verifikasi terhadap pesan dan tanda tangan digital tersebut untuk menguji keaslian, keutuhan pesan dan menghasilkan pesan dengan ukuran yang tidak terlalu besar. Digital signature bisa dibuat dengan menggunakan beberapa algoritma dan setiap algoritma-algoritma tersebut memiliki teknik khusus yang berbeda. Dengan adanya perbandinagan aplikasi digital signature dan subliminal channel yang dapat memberi tanda tangan digital pada suatu pesan sekaligus melakukan verifikasi, dekripsi pesan dan tanda tangan digital yang terdapat pada pesan tersebut, maka dapat memberikan jaminan keaslian, keutuhan suatu pesan dan memberi informasi tentang ukuran pada masing aplikasi. Kata kunci :kriptografi, digital signature, subliminal channel, ong-schnorr-shamir vi
DAFTAR ISI Halaman LEMBAR PERNYATAAN... i LEMBAR PENGESAHAN... ii KATA PENGANTAR... iii ABSTRACT... v ABSTRAK... vi DAFTAR ISI... vii DAFTAR GAMBAR... xi DAFTAR TABEL... xiv BAB I PENDAHULUAN 1.1 Latar Belakang... 1 1.2 Rumusan Masalah... 3 1.3 Tujuan Penelitian... 3 1.4 Batasan Masalah... 4 1.5 Metodologi Penelitian... 4 1.6 Sistematika Penulisan... 5 BAB II LANDASAN TEORI 2.1 Rekayasa Perangkat Lunak... 7 2.1.1 Model Proses Perangkat Lunak... 8 2.1.1.1 Metodologi Sekuensial Linier... 8 vii
2.1.1.2 Metodologi Prototype... 12 2.1.2 Metode Pengujian Perangkat Lunak... 14 2.1.2.1 Pengujian Kotak Putih (White-Box)... 14 2.1.2.1.1 Pengujian Basis Path... 14 2.1.2.1.2 Notasi Diagram Alir (Flow Graph Notation)... 14 2.1.2.2 Pengujian Kotak Hitam (Black-Box)... 15 2.2 Kriptografi... 15 2.2.1 Definisi Kriptografi... 15 2.2.2 Cara Kerja Kriptografi... 16 2.2.3 Tujuan Kriptografi... 17 2.2.4 Jenis-Jenis Kriptografi... 18 2.3 Tanda Tangan Digital (Digital Signature)... 23 2.3.1 Definisi Tanda Tangan Digital... 23 2.3.2 Sifat Tanda Tangan Digital... 23 2.3.3 Cara Kerja Tanda Tangan Digital... 24 2.3.4 Alasan Penggunaan Tanda Tangan Digital... 27 2.4 Fungsi Hash... 28 2.5 Skema Ong-Schnorr-Shamir... 29 2.5.1 Skema Digital Signature... 30 2.5.2 Skema Subliminal Channel... 31 2.6 Landasan Matematis... 32 2.6.1 Aritmetika Modular... 32 Viii
2.6.2 Algoritma Euclidean Untuk Greatest Common Divisi... 33 2.7 Perancangan Aplikasi... 33 2.7.1 Bagan Alir (Flowchart)... 33 2.7.2 Diagram Transisi Keadaan (State Transition Diagram(STD) 35 2.8 Visual Basic... 37 2.8.1 Object Oriented Programming Dalam Visual Basic... 37 BAB III ANALISA DAN PERANCANGAN 3.1 Analisa Masalah... 39 3.1.1 Indetifikasi Masalah... 39 3.1.2 Spesifikasi Aplikasi... 40 3.1.3 Spesifikasi Pengguna... 41 3.1.4 Kebutuhan Aplikasi... 41 3.2 Perancangan Aplikasi... 42 3.2.1 Perancangan Bagan Alur ( flow chart)... 42 3.2.2 Perancangan Diagram Transisi Keadaan / STD... 51 3.2.3 Perancangan Antar Muka... 56 BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Lingkungan Implementasi... 64 4.1.1 Spesifikasi Perangkat Keras... 64 4.1.2 Spesifikasi Perangkat Lunak... 64 4..2 Implementasi Aplikasi Digital Signature Dan Subliminal Channel.. 65 4.2.1 Tampilan Form Option (Menu Utama)... 65 4.2.2 Tampilan Form Digital Signature... 66 4.2.3 Form Subliminal Channel... 71
4.2.4 Tampilan Form Info... 77 4.3 Pengujian... 78 4.3.1 Pengujian Kotak Putih (White-Box)... 78 4.3.2 Pengujian Kotak Hitam ( Black-Box )... 91 4.4 Analisis Dan Hasil Pengujian... 94 BAB V PENUTUP 5.1 Kesimpulan... 99 5.2 Saran... 100 DAFTAR PUSTAKA... 101 LAMPIRAN... L-1 X
DAFTAR GAMBAR Gambar 2.1 Model Sekliensial Linier... 9 Gambar 2.2 Prototype Paradigma... 13 Gambar 2.3 Proses Kriptografi Secara Umum... 17 Gambar 2.4 Proses Kriptografi Kunci Privat... 18 Gambar 2.5 Proses Kriptografi Kunci Publik... 21 Gambar 2.6 Proses Tanda Tangan Digital Secara Umum... 26 Gambar 2.7 Fungsi Hash... 28 Gambar 3.1 Bagan Alir Digital Signature... 43 Gambar 3.2 Bagan Alir Buat Tanda Tangan 1... 44 Gambar 3.3 Bagan Alir Simpan 1... 45 Gambar 3.4 Bagan Alir Verifikasi 1... 46 Gambar 3.5 Bagan Alir Subliminal Channel... 47 Gambar 3.6 Bagan Alir Buat Tanda Tangan 2... 48 Gambar 3.7 Bagan Alir Simpan 2... 49 Gambar 3.8 Bagan Alir Verifikasi 2... 50 Gambar 3.9 Bagan Alir Dekripsi... 51 Gambar 3.10 STD Menu Utama... 52 Gambar 3.11 STD Aplikasi Digital Signature... 52 Gambar 3.12 STD Aplikasi Subliminal Channel... 53 Gambar 3.13 STD Menu File... 53 Gambar 3.14 STD Menu Edit... 54 Gambar 3.15 STD Menu Digital Signature... 55
Gambar 3.16 STD Menu Subliminal Channel... 56 Gambar 3.17 Rancangan Tampilan Menu Utama... 57 Gambar 3.18 Rancangan Tampilan Aplikasi Digital Signature... 58 Gambar 3.19 Rancangan Form Input Pada Digital Signature... 59 Gambar 3.20 Rancangan Tampilan Aplikasi Subliminal Channel... 60 Gambar 3.21 Rancangan Form Input Pada Subliminal Channel... 61 Gambar 3.22 Rancangan Form Verifikasi... 62 Gambar 4.1 Tampilan Menu Utama... 65 Gambar 4.2 Tampilan Aplikasi Digital Signature... 66 Gambar 4.3 Form Setelah Diberi Teks... 67 Gambar 4.4 Form Buat Tanda Tangan... 67 Gambar 4.5 Teks Setelah Diberi Tanda Tangan Digital... 68 Gambar 4.6 File dsf Jika Dibuka Dengan Notepad... 69 Gambar 4.7 Form verifikasi (1)... 69 Gambar 4.8 Pesan Hasil Verifikasi... 70 Gambar 4.9 Form Hasil Verifikasi... 71 Gambar 4.10 Form Subliminal Channel... 72 Gambar 4.11 Form Yang Telah DIberi Teks... 72 Gambar 4.12 Form Buat Tanda Tangan... 73 Gambar 4.13 Teks Setelah Diberi Tanda Tangan Digital... 74 Gambar 4.14 File slf Jika Dibuka Dengan Notepad... 75 Gambar 4.15 Form Password Verifikasi (2)... 75 Gambar 4.16 Form Password Dekripsi... 76 Gambar 4.17 Form Hasil Verifikasi (2) Dan Dekripsi... 77
Gambar 4.18 Form Info... 78 Gambar 4.19 Grafik Perbandingan Ukuran File Pada Digital Signature... 95 Gambar 4.19 Grafik Perbandingan Ukuran File Pada Subliminal Channel... 95 xiii
DAFTAR TABEL Tabel 2.1 Simbol-Simbol Program Flowchart... 34 Tabel 2.2 Notasi-Notasi STD... 36 Tabel 4.1 Pengujian Kode Program Untuk Buat Tanda Tangan... 79 Tabel 4.2 Pengujia Kode Program Untuk Verifikasi... 81 Tabel 4.3 Tabel Pengujian Kode Program Dengan Notasi Diagran Alir ( Notasi Flow Diagram )... 84 Tabel 4.4 Pengujian Kode Program Dengan Notasi Diagran Alir ( Notasi Flow Diagram )... 88 Tabel 4.5 Skenario Pengujian Option Menu... 91 Tabel 4.6 Data Hasil Pengujian Digital Signature... 92 Tabel 4.7 Skenario Normal Dan Tidak Normal Pengujian Digital Signature... 92 Tabel 4.8 Data Hasil Pengujian Subliminal Channel... 93 Tabel 4.9 Skenario Normal Dan Tidak Normal Pengujian Subliminal Channel... 94 xiv
BAB I PENDAHULUAN 1.1 Latar Belakang Informasi sudah menjadi suatu hal yang sangat penting dalam kehidupan manusia sekarang ini. Hanya sedikit hal yang bisa dilakukan di dunia modern tanpa melibatkan informasi. Informasi sangat penting bagi kehidupan karena tanpa informasi hampir semua hal tidak dapat dilakukan dengan baik. Informasi juga sering menjadi tumpuan utama seseorang melakukan aktivitas. Dalam aktivitas-aktivitas yang dilakukannya inilah manusia membutuhkan informasi yang akurat sebagai bahan pertimbangan atau patokan dalam pemikiran. Dunia informasi sudah berkembang dengan sangat pesat sehingga aspek keamanan dalam informasi pun mulai diperhatikan. Dalam hal ini sangat terkait dengan betapa pentingnya keamanan informasi tersebut dikirim dan diterima oleh orang yang berkepentingan. Keaslian dari informasi yang dikirim juga merupakan hal yang sangat penting. Misalkan, si A akan mengirim informasi kepada si B. Bisa saja informasi tersebut tiba-tiba dimanipulasi atau dimodifikasi di tengah jalan oleh orang yang tidak berhak. Ketika informasi ini mengalami perubahan, maka akan terdapat resiko-resiko yang harus ditanggung oleh orang yang 1
2 mengirim maupun yang menerima informasi tersebut. Kemudian, bagaimana caranya si B memastikan bahwa informasi yang diterimanya itu benar-benar informasi yang dikirim oleh si A dan masih dalam keadaan utuh dan terjaga ke aslianya. Oleh karena itu, diperlukan suatu cara agar si B yakin bahwa informasi itu memang dari si A dan masih dalam keadaan utuh, yaitu dengan memberikan tanda tangan digital terhadap informasi tersebut. Tanda tangan digital (digital signature) adalah suatu mekanisme otentikasi yang memungkinkan pembuat pesan menambahkan sebuah kode yang bertindak sebagai tanda tangannya dan juga memungkinkan penerima pesan untuk melakukan verifikasi terhadap pesan dan tanda tangan digital tersebut untuk menguji keaslian dan keutuhan pesan. Berdasarkan uraian di atas, maka penulis merasa tertarik untuk merancang suatu aplikasi digital signature dan subliminal channel yang dapat memberikan tanda tangan digital terhadap pesan sekaligus melakukan verifikasi terhadap keaslian dan keutuhan pesan. Subliminal channel hampir sama dengan digital signature, tetapi pesan asli disamarkan dengan pesan samaran sehingga untuk dapat mengetahui pesan asli perlu melakukan dekripsi terhadap pesan samaran terlebih dahulu. Oleh karena itu, penulis mengambil tugas akhir ini dengan judul : Perbandingan Aplikasi Digital Signature dan Subliminal Channel Sebagai Model Otentikasi Pada File Teks.
3 1.2 Rumusan Masalah Berdasarkan latar belakang yang telah dijelaskan sebelumnya, maka dalam penulisan ini, masalah yang dirumuskan adalah sebagai berikut : 1. Bagaimana cara memberi tanda tangan digital terhadap sebuah pesan berbasis file teks baik pada digital signature maupun subliminal channel? 2. Bagaimana cara melakukan verifikasi pesan yang telah diberi tanda tangan digital untuk memeriksa keaslian dan keutuhan pesan tersebut baik pada digital signature maupun subliminal channel? 3. Berapa besar pertambahan ukuran file setelah diberi tanda tangan digital? 1.3 Tujuan Penelitian Tujuan dari penelitian ini adalah sebagai berikut : 1. Manfaat Penelitian Menghasilkan suatu modul yang dapat memberi tanda tangan digital pada pesan sekaligus dapat memverifikasi pesan dan tanda tangan yang terdapat pada pesan tersebut untuk pemeriksaan keaslian dan keutuhan pesan. Membandingkan aplikasi digital signature dan subliminal channel dilihat dari pesan dan ukuran file setelah diberi tanda tangan digital 2. Analisa Penelitian Memberikan pengetahuan mengenai kriptografi terutama dalam hal digital signature.
4 Memberikan informasi tentang perbandingan aplikasi digital signature dan subliminal channel dilihat dari pesan dan ukuran file yang telah diberi tanda tangan digital. Aplikasi dapat digunakan oleh pengguna yang ingin memberikan tanda tangan mereka pada pesan. Memberikan gambaran mengenai proses pembuatan tanda tangan digital dan verifikasinya. 1.4 Batasan Masalah Pada penelitian tugas akhir ini, penulis membatasi pembahasan masalah yang akan diteliti. Pembatasan masalah dalam penelitian ini adalah : 1. Aplikasi yang dibuat mencakup proses pembuatan tanda tangan, verifikasi dan dekripsi pesan. 2. Aplikasi hanya dapat memberikan tanda tangan digital pada file text (*.txt). 3. Perancangan aplikasi menggunakan bahasa pemrograman Visual Basic 6.0. 1.5 Metodologi Penelitian Metodologi yang di ganakan dalam penelitian ini yaitu metode sekuensial linier. Metode sekuensial linier melingkupi aktifitas aktifitas sebagai berikut :
5 1. Analisis Proses ini berfokus pada tingkah laku dari aplikasi percodean. Aplikasi akan melakukan percodean pada pesan apabila di inginkan demi keamanan pesan tersebut. 2. Desain Pada tahap ini, penulis melakukan perancangan dari aplikasi yang akan penulis buat meliputi perancangan alur kerja perangkat lunak (STD), perancangan flowchart, serta perancangan antarmuka pengguna. 3. Code Dalam proses ini penulisan code dilakukan dengan menggunakan Visual Basic 6.0 4. Pegujian Pengujian dilakukan dengan memeriksa apakah aplikasi dapat memberkan tanda tangan dalam bentuk code. 1.6 Sistematika Penulisan Sistematika penulisan yang digunakan dalam penyusunan tugas akhir ini adalah sebagai berikut : BAB I : PENDAHULUAN Bab ini akan membahas mengenai latar belakang masalah, batasan masalah, rumusan masalah, tujuan penelitian, manfaat penelitian serta sistematika penulisan.
6 BAB II : LANDASAN TEORI Bab ini akan menjelaskan tentang tinjauan pustaka mengenai referensi dan teori teori yang berasal dari litratur literatur yang berhubungan dan mendukung dalam penyusunan tugas akhir ini. BAB III : ANALISA DAN PERANCANGAN Bab ini akan membahas tentang rancangan aplikasi yang akan dibuat secara terperinci termasuk flowchart dan STD dari rancangan aplikasi itu sendiri. Kemudian membahas juga hasil implementasi rancangan aplikasi serta uji cobanya. BAB IV : IMPLEMENTASI DAN PENGUJIAN Bab ini akan membahas lebih terperinci apa saja yang telah diteliti berdasarkan metodologi penelitian yang terdapat pada bab II, bab III dan bab IV. Kemudian menjelaskan semua langkah yang telah digambarkan dalam alur diagram secara lebih detail serta hasil akhir dari semua tahap penelitian termasuk rancangan dan implementasi sistem. BAB V : PENUTUP Bab ini berisi kesimpulan dari hasil akhir penelitian dan saransaran perbaikan untuk pengembangan dimasa mendatang.