BAB III ANALISIS DAN PERANCANGAN

dokumen-dokumen yang mirip
PENGAMANAN DATA MENGGUNAKAN OPENSSL PADA APLIKASI BERBASIS WEB ANDOKO PRIYO DARMANTO

Pengamanan Aplikasi Web Menggunakan Protokol Secure Socket Layer

Imam Prasetyo Pendahuluan

Annisa Cahyaningtyas

Lebih kompatibel dengan Windows karena memang IIS adalah keluaran Microsoft.

Implementasi ( Implementation Kebijakan (Policy) Pengujian HASIL DAN PEMBAHASAN Spesifikasi ( Specification Perancangan ( Design

BAB IV PENGUJIAN DAN ANALISIS


Bab I Pendahuluan 1 BAB I PENDAHULUAN

BAB 3 ANALISIS DAN PERANCANGAN. utuh ke dalam bagian-bagian komponennya dengan maksud untuk

Nama : Ari Dwijayanti NIM : STI Keamanan Jaringan. HTTPS (Hyper Text Tranfer Protocol Secure) Sejarah dan Pengertian HTTPS

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS MASALAH

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) KEAMANAN HTTP DAN HTTPS BERBASIS WEB MENGGUNAKAN SISTEM OPERASI KALI LINUX

ABSTRAK. Kata kunci :SSL, RSA, MD5, Autentikasi, Kriptografi. Universitas Kristen Maranatha

SISTEM KEAMANAN DATA PADA WEB SERVICE MENGGUNAKAN XML ENCRYPTION

Prosiding SNaPP2012Sains, Teknologi, dan Kesehatan. Ari Muzakir

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

BAB I PENDAHULUAN , 1.1. Latar Belakang

BAB IV ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM. hasil analisis ini digambarkan dan didokumentasiakan dengan metodologi

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM. permasalahan yang ada sebagai dasar untuk membuat sebuah solusi yang

PERANCANGAN DAN UJI COBA KEAMANAN PADA JALUR TRANSPORT WEB SERVICE MENGGUNAKAN METODE XML SIGNATURE DAN XML ENCRYPTION

KATA PENGANTAR. Assalamualaikum Wr. Wb.

BAB III METODOLOGI 3.1 Analisis Kebutuhan Sistem Kebutuhan Perangkat Keras

BAB III ANALISIS MASALAH

Bab 3 Metode Perancangan

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN SISTEM

PENGAMANAN JARINGAN KOMUTER

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

HASIL DAN PEMBAHASAN. 2 Perangkat keras: Prosesor AMD Athlon II 245 2,9 GHz; Memori 2046 MB; HDD 160 GB. Client:

BAB III ANALISA DAN PERANCANGAN SISTEM

Analysis protocol TCP, UDP, dan monitoring protocol SSL

BAB II DASAR TEORI 2.1. Jaringan Nirkabel

BAB III CARA DAN METODOLOGI PENELITIAN

BAB III ANALISIS DAN DESAIN SISTEM

SSH (SECURE SHELL) DAN SSL (SECURE SOCKET LAYER) Oleh : La Ode Abdul Jumar

Pengantar E-Business dan E-Commerce

Pemanfaatan dan Implementasi Library XMLSEC Untuk Keamanan Data Pada XML Encryption

BAB 3 PERANCANGAN SISTEM

Protokol Kriptografi Secure P2P

Yama Fresdian Dwi Saputro from-engineer.blogspot.com. Pendahuluan. Lisensi Dokumen:

BAB III METODOLOGI PENELITIAN. Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu

KEAMANAN WEB BROWSER SISTEM KEAMANAN TEKNOLOGI INFORMASI

KEAMANAN DALAM E-COMMERCE

PENDAHULUAN TINJAUAN PUSTAKA

BAB III ANALISIS DAN DESAIN SISTEM

ERWIEN TJIPTA WIJAYA, ST.,M.KOM KEAMANAN INFORMASI

BAB IV ANALISA DAN PERANCANGAN SISTEM. diusulkan dari sistem yang ada di Dinas Kebudayaan dan Pariwisata Kota

BAB IV ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS DAN DESAIN SISTEM

Bab 3. Metode dan Perancangan Sistem

BAB 4 PERANCANGAN. 1. Dengan terhubungnya komputer terhadap server, maka apabila perubahan. lainnya yang terhubung dengan server akan ikut berubah.

LAPORAN RESMI KEAMANAN JARINGAN KONFIGURASI KEAMANAN LAYANAN WEB

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

STMIK AMIKOM Yogyakarta. Keamanan Komputer: Web Security

HASIL DAN PEMBAHASAN 4.1 Deskripsi Sistem E-Voting Pilkada Kota Bogor

BAB IV IMPLEMENTASI DAN EVALUASI. Sistem yang dibangun pengembang adalah berbasis web. Untuk dapat

BAB III PERANCANGAN APLIKASI

ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

Keamanan SSL dalam Serangan Internet. Deasy Ramadiyan Sari

BAB II TINJAUAN PUSTAKA

Analisis dan Implementasi Penerapan Enkripsi Algoritma Kunci Publik RSA Dalam Pengiriman Data Web-form

BAB 3 ANALISIS DAN PERANCANGAN Analisis Sistem Yang Sedang Berjalan

BAB III ANALISA DAN DESAIN SISTEM

Bab 3 Metodologi Penelitian

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM. Analisis sistem merupakan suatu kegiatan penguraian dari suatu sistem yang

BAB I PENDAHULUAN. keamanannya. Oleh karena itu, dikembangkan metode - metode kriptografi file

BAB IV ANALISA DAN PERANCANGAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM

II.3.5 Statechart Diagram... II-14 II.3.6 Activity Diagram... II-15 II.3.7 Component Diagram... II-16 II.3.8 Deployment Diagram... II-16 II.3.

BAB IV ANALISA DAN PERANCANGAN SISTEM Analisis Prosedur yang sedang Berjalan

BAB III TUGAS DAN TANGGUNG JAWAB ADMIN SERVER

Gambar Notifikasi via

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika. Skripsi Sarjana Komputer. Semester Genap tahun 2008/2009

BAB IV ANALISIS DAN PERANCANGAN SISTEM

3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR

BAB 4 HASIL DAN PEMBAHASAN

BAB III ANALISIS DAN DESAIN SISTEM


Kriptografi. A. Kriptografi. B. Enkripsi

BAB III ANALISIS DAN DESAIN SISTEM

OTENTIKASI KEAMANAN INTERNET PERBANKAN DENGAN SECURITY TOKEN

Dosen Pengampu : Muhammad Riza Hilmi, ST.

2.2 Dasar Teori. Layer # Nama Unit. Dimana setiap layer memiliki fungsi dan contoh masing-masing.

BAB III ANALISA DAN DESAIN SISTEM

BAB I PENDAHULUAN. berkembang seperti penggunaan teknologi internet sebagai pendukung kinerja

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB V IMPLEMENTASI SISTEM DAN PENGUJIAN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

SISTEM KEAMANAN PADA MYSQL

Transkripsi:

BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Permasalahan Implementasi secure socket layer (SSL) pada suatu situs merupakan satu pendekatan terhadap peningkatan keamanan suatu situs dalam dunia internet. Penyadapan data antara dua komputer (server dan client) yang saling berinteraksi di internet menjadi pokok permasalahan. Sehingga penulis akan membahas bagaimana implementasi suatu situs yang aman dengan menggunakan secure socket layer (SSL) sehingga data dari server dan client yang sedang berinteraksi dapat terlindungi dengan mengambil studi kasus pembuatan dokumen berupa surat dukungan oleh pihak pabrik untuk clientnya menggunakan aplikasi berbasis web. Pada sub bab berikutnya penulis akan membahas analisis faktor apa saja yang penting dalam implementasi secure socket layer (SSL) pada suatu situs menggunakan OpenSSL yang bebas dari biaya dan bersifat opensource. 3.2 Analisis Serangan terhadap Kemanan Data Penerapan keamanan yang kurang baik pada suatu situs akan memungkinkan celah yang bisa disusupi oleh penyadap informasi di internet. Serangan yang biasa dilakukan dalam penyadapan data atau informasi dari client dan server yang sedang berkomunikasi. Pada bab berikutnya penulis akan menjelaskan beberapa serangan yang terjadi untuk pada lalu lintas data antara client dan server yang sedang berkomunikasi. 3.2.1 Sniffing Packet sniffer merupakan suatu aplikasi yang berguna untuk melihat lalu lintas data yang berada pada suatu jaringan. Pada awalnya packet sniffer digunakan oleh seorang administrator jaringan untuk memantau dan memecahkan masalah jaringan. Dengan menggunakan informasi yang ditangkap oleh packet sniffer, administrator dapat melihat packet yang error dan mengidentifikasi bottleneck 25

26 dan menggunakan informasi tersebut untuk membuat suatu jaringan transmisi yang effesien. Hal tersebut dimanfaatkan oleh para cracker untuk mendapatkan informasi seperti nama pengguna dan password pada suatu jaringan dan sering disebut juga sebagai sniffing. Aplikasi sniffing ini banyak terdapat di internet dan bebas di distribusikan oleh siapa saja. Sebagai ilustrasi penulis akan mempraktekan salah satu aplikasi untuk sniffing yaitu Cain & Abel. Disini penulis akan mencari kata test sniffing pada search engine google (memakai protokol http) dan menangkap paket data yang terjadi antara browser pengguna dan server (search engine google). Seperti terlihat pada Gambar 3.1. Gambar 3.1. Hasil pencarian pada situs www.google.com Gambar 3.2. Hasil penyadapan program cain & abel Seperti terlihat pada Gambar 3.1 penulis memasukkan kata Test sniffing pada kolom pencarian search engine google. Dan pada Gambar 3.2 merupakan hasil penyadapan informasi dari protokol hypertext transport protocol (HTTP) untuk pencarian kata Test sniffing.

27 3.2.2 Session Hijacking Hypertext transport protokol (HTTP) merupakan protokol yang stateless yang berarti bahwa web server hanya memberikan apa yang diminta oleh client lalu koneksi akan diputus, sehingga perancang aplikasi mengembangkan suatu cara untuk menelusuri suatu state diantara pengguna aplikasi yang sedang terkoneksi secara multiple. Sehingga digunakan session untuk menyimpan informasi yang relevan tentang user. Session akan dihapus apabila seorang pengguna sudah logout atau tidak aktif lagi dalam waktu tertentu. Session inilah yang dimanfaatkan cracker untuk melakukan session hijacking. Dalam prakteknya session hijacking menggunakan cara membajak lalu lintas data, brute forced attack dan reversed engineering dalam mendapatkan session id pengguna yang kemudian dapat digunakan untuk mengakses server selama session berlangsung. Sebagai ilustrasi penulis menggambarkan seperti terlihat pada Gambar 3.3.

28 Gambar 3.3. Session Hijacking 3.2.3 Password Rangkaian penggunaan password yang mudah ditebak seperti tanggal lahir dan password yang hanya terdiri dari huruf saja atau angka saja memudahkan pihak ketiga untuk menebak password pengguna suatu site dengan menggunakan metode brute force attack (metode menebak password dengan menggunakan kata huruf maupun kombinasinya yang biasanya mempunyai kamus untuk hal tersebut) dan sniffing. 3.2.4 Kesalahan pengetikan hypertext transport protokol secure (HTTPS) Seringkali kita mengetikkan suatu alamat website hanya menggunakan www.namadomain.com tanpa mengetikkan protocol yang digunakan. Hal ini tidak

29 akan berakibat fatal apabila nama domain tersebut tidak mempunyai akses ke protocol https. Tapi apabila suatu website mempunyai https://www.namadomain.com kemudian pengguna hanya mengetikkan alamat http://www.namadomain.com maka pengguna akan masuk ke dalam situs yang tidak terproteksi yang menyebabkan implementasi https suatu situs menjadi tidak berguna. 3.3 Analisis Secure Socket Layer (SSL) 3.3.1 Analisis Handshake Sequence Handhake sequence merupakan proses negosiasi antara server dan client sebelum client (pengguna) mendapatkan jalur yang terenkripsi. Selama proses handshake sequence terjadi pertukaran pesan antara client dan server. Tabel 3.1 merupakan tabel yang berisi pesan yang dikirimkan selama proses handshake sequence.

30 Tabel 3.1. Daftar Pesan Handshake Sequence [Sumber: Stephen Thomas 76] Nama Pesan Keterangan Alert Menginformasikan apabila terjadi kesalahan atau terjadinya kegagalan dalam komunikasi Application Data Berisi informasi pertukaran enkripsi, verifikasi dan otentifikasi client dan server. Certificate Pesan yang berisi sertifikat Certificate Request Permintaan pengiriman sertifikat client oleh server (bila ada) Certificate Verifiy Pesan dari client yang menginformasikan mengetahui public key dari certificate yang dikirimkan Change Chiper Spec Pesan untuk mengaktifkan enkripsi yang telah disetujui Client Hello Pesan dari client yang menginginkan jalur komunikasi yang aman Client Change Pesan yang membawa kunci kriptografi Exchange client yang digunakan dalam komunikasi. Finished Pesan yang menandakan bahwa negosiasi telah berhasil dilakukan dan jalur komunikasi yang aman dapat digunakan Hello Request Permintaan kembali client hello oleh server (restart) dalam proses negosiasi SSL. Server Hello Done Pesan yang memberitahu client bahwa semua pesan untuk membuat jalur komunikasi yang aman sudah selesai. Server Key Pesan yang membawa kunci kriptografi Exchange server yang digunakan dalam komunikasi. Agar lebih jelas dalam memahami proses hanshake sequence perhatikan Gambar 3.4.

31 INTERNET CLIENT SERVER Client Hello Certificate Client Key Exchange Certificate Verify [Change Chiper Spec] Finished Server Hello Server Key Exchange Certificate Request Change Chiper Spec Server Hello Done [Change Chiper Spec] Finished Gambar 3.4. Proses Handshake Sequence [Sumber: IETF 22] Berikut penjelasan dari Gambar 3.4 : 1. Client Hello Pertama kali browser client mengirimkan pesan hello untuk memulai jalur komunikasi yang aman. Pesan client hello ini berisi: a. Versi Protokol, mengatur versi protokol ssl yang akan digunakan client. Apabila client meminta menggunakan protokol ssl versi 3 ke server dan hanya mendukung protokol ssl versi 2 maka client akan diminta menggunakan versi 2 atau dapat memutuskan hubungaan komunikasi. b. Session ID, berisi session id dari client. Namun apabila sesi SSL merupakan kelajutan dari sesi sebelumnya yang terputus maka isi dari session id client diset 0. c. Chiper Suite, berisi daftar parameter kriptografi yang didukung oleh client. d. Compression method, berisi tentang metode kompresi yang didukung oleh client. e. Random Value, nilai acak yang dipilih oleh client. 2. Server Hello

32 Kemudian server akan merespon dengan mengirimkan pesan hello. Adapun pesan server hello berisi: a. Versi Protokol, mengatur versi protokol ssl yang digunakan oleh server. b. Session ID, berisi nilai yang unik yang dibuat oleh server untuk mengidentifikasikan sesi ssl dengan client. Session ID ini bisa digunakan untuk meneruskan hubungan komunikasi yang terputus dengan client. c. Chiper Suite, disini server harus memilih satu diantara daftar kriptografi yang telah diajukan oleh client. d. Compression method, berisi tentang metode kompresi yang didukung oleh client. e. Random Value, nilai acak yang dipilih oleh server. f. Certificate Request, Server meminta sertifikat milik client. 3. Server mengirimkan informasi kunci publik yang digunakan. 4. Server meminta sertifikat client. 5. Server mengirimkan daftar kriptografi yang digunakan. 6. Server mengirimkan pesan telah selesai dalam mengirimkan pesan. 7. Client mengirimkan sertifikat miliknya. 8. Client mengirimkan kunci sesi yang telah dienkripsi menggunakan kunci publik server. 9. Client mengirimkan Certificate verify untuk memastikan pasangan kunci (private key client dan public key CA) yang digunakan dalam membuat sertifikat dalam sertifikat client. 10. Client mengirimkan pesan change chiper spec untuk mengaktifkan enkripsi di server sehingga pesan akan di enkripsi. 11. Client mengirimkan pesan telah selesai mengirimkan pesan. 12. Server mengirimkan pesan change chiper spec untuk mengaktifkan enkripsi di client sehingga pesan selanjutnya di enkripsi. 13. Server mengirimkan pesan telah selesai. 3.3.2 Analisis Protokol Secure Socket Layer (SSL) Pada Gambar 3.5 merupakan gambaran umum bagaimana secure socket layer (SSL) mengirimkan data melalui transport control protocol (TCP). Empat sumber

33 yang berbeda membuat sebuah pesan SSL (handshake, change chiper, alert dan aplikasi seperti http). Kemudian protokol record menerima semua pesan ini, membungkus dan membuat sebuah format pesan baru kemudian mengirimkannya melalui transport control protocol (TCP). HTTP { Secure Sockets Layer Handshake Protocol Change Cipher Protocol Alert Protocol RECORD PROTOCOL Application TCP Gambar 3.5. Komponen Protokol SSL [Sumber: Stephen Thomas 69] Berikut akan dijelaskan fungsi dari empat protokol tersebut: 1. Handshake Protocol Handshake Protocol bertanggung jawab di dalam proses negosiasi selama sesi SSL berlangsung. Dalam proses handshake sequence masingmasing pesan handshake dimulai dengan sebuah byte tunggal yang mendefinisikan spesifik jenis pesan handshake. Sebagai ilustrasi penulis membuat format umum dari struktur pesan protokol handshake pada Gambar 3.6. Pada Tabel 3.2 berisi daftar dari jenis pesan yang didefiniskan dalam handshake protocol.

34 Tabel 3.2. Daftar nilai dari Handshake Protocol [Sumber: Stephen Thomas 76] Value Tipe Pesan Protokol Handshake 0 HelloRequest 1 ClientHello 2 ServerHello 11 Certificate 12 ServerKeyExchange 13 CertificateRequest 14 ServerHelloDone 15 CertificateVerify 16 ClientKeyExchange 20 Finished Prot: 22 Vers: 3 0 Length... Length Msg Type Message Length Length Handshake Protocol Message Msg Type Message Length Handshake Protocol Message Gambar 3.6. Struktur Handshake Message [Sumber: Stephen Thomas 75]

35 2. Change Chiper Spec Protocol Berfungsi sebagai pesan untuk mengaktifkan layanan kemanan yang sudah disepakati antara client dan server. Pada Gambar 3.8. (Struktur pesan change chiper spec protocol) terlihat bahwa pesan change chiper spec protocol mempunyai panjang satu byte dan isi pesan mempunyai nilai 1 (CCS:1). 3. Alert Protocol Sistem SSL menggunakan Alert protocol untuk memberikan pesan error apabila terjadi kesalahan dalam komunikasi antara client dan server. Alert Protocol mendefinisikan ke dalam 2 bagian pesan yaitu severity level dan alert description. a. Severity Level Severity Level terbagi menjadi 2 level yaitu Level 1 dan Level 2. Level 1 menunjukkan tingkat keparahan (severity) yang menyebabkan suatu error terjadi dan di kategorikan sebagai tanda peringatan. Sedangkan pada level 2 dikategorikan sebagai fatal alert. Fatal alert mengindikasikan telah terjadi permasalahan yang serius dalam komunikasi antara client dan server yang mengharuskan kedua belah pihak untuk segera mengakhiri sesi komunikasi. b. Error Alert. Error Alert mendefinisikan error lebih detail. Dalam Tabel 3.3 merupakan deskripsi dari daftar error berikut penjelasannya.

36 Tabel 3.3. Daftar Fatal Alert [Sumber: Stephen Thomas 73] Nomer Error Nama Error Keterangan 0 Close_Notify menunjukkan secara eksplisit pemberitahuan tentang penutupan koneksi yang sedang berlangsung. 10 Unexpected_Message menunjukkan bahwa pesan yang diterima tidak layak. Pesan ini mengindikasikan telah terjadi kesalahan fatal (fatal alert). 20 Bad_Record_MAC Terjadi kesalahan dalam messages authenticate code (MAC) (fatal alert). 30 Decompression_Failure Terjadi kesalahan pada saat decompression pesan yang diterima oleh pihak penerima pesan (fatal alert). 40 HandShake_Failure Terjadi kesalahan dalam proses handshake(fatal alert). 41 No_Certificate Sebuah pesan peringatan dalam menanggapi permintaan sertifikasi jika tidak ada sertifikat yang sesuai. 42 Bad_Certificate Sertifikat yang diterima rusak (corrupt). 43 Unsupported_Certificate Pihak penerima menerima tipe sertifikat yang tidak di dukung. 44 Certificate_Revoked sertifikat yang telah dicabut oleh badan certificate authentification (CA). 45 Certificate_Expired Client menerima sertifikat yang telah habis masa berlakunya. 46 Certificate_Unknown Terdapat masalah dalam memproses sertifikat dan error tersebut belum di definisikan. 47 Illegal_Parameter Pihak pengirim menerima handshake message dengan nilai parameter yang ilegal atau tidak konsisten dengan parameter lainnya (fatal alert).

37 4. Record Protocol Record Protocol berfungsi untuk membungkus semua pesan protokol SSL (handshake, alert, change chiper) dan aplikasi protokol (http). Record Protocol memberikan format umum yang terdiri dari 5 byte yang diletakkan pada awal pesan yang diikuti oleh pesan protokol lainnya. Apabila message integrity aktif, sebuah message authentication diletakkan pada akhir pesan dan juga bertanggung jawab untuk enkripsi. Protocol Major Version Minor Version Length... Length Protocol Message Message authentication Code (Optional) Gambar 3.7. Struktur Record Message [Sumber: Stephen Thomas 70] Adapun keterangan dari Gambar 3.7 dijelaskan pada Tabel 3.4.

38 Tabel 3.4. Daftar struktur Record Message [Sumber: Stephen Thomas 70] Nama Ukuran Keterangan Protocol 1 byte Menunjukkan pesan dari protokol yang dimuat. Adapun kode protokol yang digunakan: Kode 20: ChangeCipher protocol Kode 21: Alert protocol Kode 22: Handshake protocol Kode 23: Data protokol aplikasi (http) Version 2 byte Berisi mayor dan minor dari versi SSL yang digunakan Lenght 2 byte Menunjukkan panjang pesan dari suatu protokol. Protocol Message n byte Berisi pesan record protokol atau bisa berupa gabungan pesan dari protokol SSL lainnya dan juga kode otentifikasi pesan yang digunakan. Panjang pesan sampai dengan 16384 byte Pada Gambar 3.8 penulis memberikan contoh dari format pesan protokol yang di definisikan pada record protocol dalam secure socket layer (SSL). Gambar 3.8. Struktur pesan protokol SSL

39 3.3.3 Analisis Mesage Authenticate Code (MAC) Secure Socket Layer (SSL) mendukung dua algoritma yaitu message digest 5 (MD5) dan Secure Hash Algorithm (SHA). Algoritma yang digunakan oleh server dalam menetukan hash ditentukan pada saat negosiasi chiper suite dengan client. Selain itu hasil hash dari pesan yang menggunakan MD5 dan SHA menghasilkan panjang pesan yang berbeda. Algoritma MD5 menghasilkan nilai hash 16 byte, sedangkan SHA menciptakan nilai 20 byte. Algoritma hash mempunyai nilai yang digunakan untuk memeriksa integritas dari data yang ditransmisikan. Mengenkripsi message digest dengan kunci private pengirim pesan akan menciptakan message authentication code (MAC). 3.4 Analisis Web Server Apache dan Secure Socket Layer (SSL) Dalam web server Apache versi 2.2 yang juga digunakan penulis dalam tugas akhir ini, Apache sudah terintegrasi dengan module secure socket layer (SSL) yaitu mod_ssl. Pada Gambar 3.9 dijelaskan arsitektur dari apache yang terintegrasi dengan Secure Socket Layer (SSL).

40 libregex libap mod_alias mod_rewrite mod_speling mod_ssl OpenSSL mod_php PHP Gambar 3.9 Arsitektur Apache web server Penjelasan mengenai arsitektur Apache web server adalah sebagai berikut: 1. Platform Functionality Fungsi dasar untuk menjalankan Apache yang disediakan oleh sistem operasi dimana apache di instal. Sistem operasi yang di dukung oleh Apache, antara lain Windows XP, Linux, MacOS dan UNIX. 2. Fungsi dasar Apache Merupakan fungsi utama dari aplikasi web server Apache. Yang terdiri dari kernel Apache, modul inti, dan beberapa library dasar. Kernel Apache bersama dengan modul inti menerapkan aturan dasar dari fungsi http server dan menyediakan fungsi pemrograman application programming interface (API) ke dalam lapisan modul. Lapisan ini berisi library kode program yang dapat digunakan kembali (reusable code) yaitu libap, library yang mengimplementasikan regular expression parsing and matching (libregex), dan sebuah library untuk operating system abstraction (libos).

41 3. Fungsi tambahan Pada lapisan ketiga terdapat modul tambahan yang bisa diintegrasikan kedalam Apache seperti modul Secure Socket Layer (mod_ssl). 4. Library pihak ketiga Library pihak ketiga tidak terdapat dalam paket apache, tetapi bisa menggunakan modul yang telah ada dalam paket apache. Sebagai contoh modul secure socket layer (mod_ssl) digunakan oleh toolkit library OpenSSL (pada aplikasi Apache versi 2.2 keatas sudah menyertakan toolkit library OpenSSL versi 0.9.8.o) 3.5 Analisis Virtual Host Untuk mengimplementasikan secure socket layer diatas, maka penulis membuat sebuah virtual host (www.dsl.com) menggunakan protocol http dan port:88 pada komputer penulis menggunakan web server apache. SSL yang diimplementasikan pada web server apache menggunakan protokol https dan port: 443. Pada virtual host (www.dsl.com) yang dibuat untuk keperluan membelokkan permintaan pengguna apabila pengguna hanya mengetikkan http maka langsung dibelokkan untuk menggunakan protocol https. Sehingga keamanan suatu website akan terjamin. 3.6 Analisis Dampak Sistem Pada setiap implementasi suatu aplikasi, perlu kita perhatikan dampak yang ditimbulkan. Dalam hal ini penulis membahas dampak dari implementasi suatu situs yang aman dengan menggunakan secure socket layer (SSL) berikut dampak dari keamanan yang diberikan dan membandingkan dengan web site yang tidak menerapkan secure socket layer (SSL). 1. Dampak secure socket layer (SSL) terhadap web server Pada dasarnya sebuah web server berkomunikasi dengan banyak browser client pada saat bersamaan dengan menggunakan satu protokol dan port yang sudah dibuat sebelumnya. Sehingga tidak mungkin browser client menggunakan satu protokol dan port yang sama untuk 2 aplikasi yang berbeda. Misalnya: browser client sedang mengunggah sebuah file akan

42 menggunakan Protokol file transfer protocol (FTP) dengan port:21 dan sambil menunggu unggah file selesai, client membaca berita di www.detik.com dengan menggunakan protokol hypertext transport protocol (HTTP) dengan port: 80. Dalam implementasi Secure socket layer (SSL) yang dibangun akan menggunakan sebuah port dan protokol khusus yang tidak digunakan oleh aplikasi lainnya sehingga akan tercipta jalur khusus dalam berkomunikasi antara server dengan banyak client. 2. Dampak keamanan yang diberikan secure socket layer (SSL) Dengan dienkripsinya jalur komunikasi antara server dan client maka informasi yang dikirimkan akan terlindungi dari penyadapan pihak ketiga. Sehingga serangan man in the middle attack yang terjadi dalam suatu jaringan internet dapat dihindarkan. 3. Tingkat kepercayaan pengguna website Selain jalur yang sudah dienkripsi, kepercayaan client terhadap suatu situs akan meningkat dengan adanya certificate yang telah di verifikasi oleh badan atau organisasi khusus untuk Certificate Authorization (CA). 4. Perbandingan antara web server yang menerapkan dan tidak menerapkan secure socket layer (SSL) Suatu website yang menerapkan secure socket layer (SSL) mempunyai nilai lebih yaitu keamanan dan kepercayaan client. Keamanan berupa jalur yang terenkripsi dan meningkatnya kepercayaan client terhadap situs tersebut dengan adanya certificate dibandingkan dengan website yang tidak menerapkan secure socket layer (SSL). Namun waktu akses suatu website yang menerapkan secure socket layer (SSL) akan sedikit lebih lama karena ada proses handshaking antara server dan client. 3.7 Analisa Kebutuhan Implementasi Secure Socket Layer (SSL) Penulis akan menganalisa kebutuhan dari implementasi Secure Socket Layer (SSL) ini. Penulis akan membahas analisa yang meliputi kebutuhan perangkat lunak, implementasi arsitektur Secure Socket Layer (SSL) beserta proses yang terdapat di dalamnya.

43 3.7.1 Deskripsi Umum Sistem Implementasi Secure Socket Layer (SSL) yang diterapkan pada suatu situs memiliki fungsi untuk enkripsi dan dekripsi informasi yang dikirimkan antara client dan server serta fungsi otentifikasi berupa certificate. Secure Socket Layer (SSL) di implementasikan pada sisi server sedangkan pada client hanya membutuhkan browser yang sudah mendukung Secure Socket Layer (SSL) seperti Internet Explorer versi 6. Pengguna suatu website yang sudah menerapkan Secure Socket Layer (SSL), pertama kali akan diminta untuk menginstal certificate dari server sebagai bukti otentifikasi web server tersebut apabila sebelumnya belum menginstal certificate web server tersebut. Dan selanjutnya client akan mengirimkan certifikat miliknya untuk digunakan sebagai otentifikasi ke server. Dan kemudian server akan mengecek sertifikat milik client di tanda tangani oleh kunci public milik Badan otentifikasi CA. Kemudian akan terjadi proses handshake antara browser client dan web server. Dan apabila tidak terjadi kesalahan atau error maka pengguna sudah dapat melakukan komunikasi yang aman dengan situs tersebut. 3.7.2 Analisis Spesifikasi dan Kebutuhan Aplikasi Pada pengembangan sistem menggunakan Secure Socket Layer (SSL) akan diberikan beberapa fitur, yaitu: 1. Fitur Enkripsi, jalur komunikasi antara client dan server di enkripsi menggunakan algoritma RSA. 2. Fitur Deskripsi, data komunikasi dari client dan server harus mampu di enkripsi oleh kedua belah pihak. 3. Fitur Message Digest, pesan yang dikirimkan memiliki sidik jari sebagai otentifikasi pengirim pesan. 4. Fitur Certificate, server maupun client mempunyai sertifikat sebagai bukti otentifikasi. 5. Fitur HTTP to HTTPS, bila ada permintaan client untuk menggunakan http maka akan di belokan untuk menggunakan https.

44 Dengan melihat 6 fitur utama tersebut maka sistem yang dibangun memiliki kebutuhan fungsional, yaitu: 1. Sistem memiliki kemampuan mengirim data dalam bentuk binary. 2. Sistem dapat melakukan enkripsi menggunakan Algoritma RSA. 3. Sistem harus dapat melakukan deskripsi terhadap pesan yang di enkripsi menggunakan Algoritma RSA. 4. Sistem dapat menyimpan pesan kesalahan dalam sebuah berkas (log file). 5. Sistem dapat melakukan otentifikasi pesan melalui sidik jari yang terdapat dalam pesan. 6. Sistem dapat mengotentifikasi user. 3.8 Perancangan Secure Socket Layer (SSL) Didalam secure socket layer terdapat 3 element dasar yang harus diperhatikan yaitu: 1. Kriptografi 2. Sidik jari (Thumbprint) 3. Certificate Ketiga element tersebut harus ada didalam implementasi secure socket layer suatu web server. Ketiga elemen tersebut akan penulis bahas pada sub bab berikutnya. 3.8.1 Kriptografi Secure socket layer mendukung semua algoritma asimetris dalam pembuatan kunci publik. Dalam pembuatan kunci publik penulis menggunakan algoritma RSA. RSA merupakan singkatan dari nama penemunya yaitu Rivest, Shamir dan Adleman). Algoritma RSA melakukan pemfaktoran bilangan prima yang sangat besar, Oleh karena alasan tersebut dipilih oleh penulis. 3.8.2 Sidik jari (Thumbprint) Sidik jari atau thumbprint dari suatu website yang menggunakan https harus ada karena digunakan sebagai identitas website tersebut. Untuk mendapatkan sidik jari digunakan fungsi hash satu arah. Secure Hash Algorithm (SHA) merupakan algoritma fungsi hash yang dipakai oleh penulis untuk membuat sidik

45 jari. Pada Gambar 3.10 berikut memberikan gambaran tentang fungsi hash yang dibahas. Gambar. 3.10 Proses pembuatan sidik jari digital 3.8.3 Sertifikat Sebuah web server yang menerapkan SSL harus mempunyai certificate. Sebuah certificate suatu website harus disahkan melalui perusahaan yang khusus mengeluarkan certificate authority (CA) seperti VeriSign, tetapi disini penulis akan membuat seritifikat yang disahkan sendiri yang mengikuti aturan standard dari Internet Engineering Task Force (IETF) menggunakan aplikasi OpenSSL. Adapun struktur dari X.509 certificate sebagai berikut: 1. Version, mengatur tentang nomer versi dari suatu sertifikat yang dibuat 2. Serial Number, memuat nomer yang unik untuk mengidentifikasikan sertifikat 3. Signature Algorithm, memuat algortima yang dipakai untuk tanda tangan 4. Issuer Name, nama atau website yang memverifikasi informasi dan mengeluarkan sertifikat 5. Periode of Validity, masa berlaku suatu sertifikat 6. Subject Name, memuat identitas dari pemilik sertifikat seperti nama, alamat dan email 7. Subject Public Key, memuat tentang publik key dan algoritma yang dipakai suatu website Sebagai contoh penulis akan memperlihatkan Gambar 3.11 merupakan sertifikat yang berhasil dibuat.

46 Gambar 3.11 Sertifikat X.509 Gambar 3.12 Sertifikat paypal Pada Gambar 3.12 menunjukkan printscreen aplikasi Internet Explorer dari sertifikat situs www.paypal.com yang sudah diverifikasi oleh perusahaan CA

47 yaitu VeriSign. Dalam suatu sertifikat X.509 terdapat informasi untuk mengidentifikasikan suatu website atau client. Dalam mengidentifikasikan tersebut telah ditentukan oleh standar sertifikat X.509 yang disebut dengan distinguished names. Pada Tabel 3.5 merupakan daftar dari distinguished names yang digunakan dalam sertifikat X.509. Tabel 3.5. Daftar struktur distinguished names [Sumber: Ralf S. Engelschall 9] DN Field Common Name Sing- katan CN Keterangan Nama yang terdapat dalam sertifikat Contoh CN=Andoko Organization O Nama Organisasi O=Mercubuana or Company Organizational OU Unit organisasi atau departemen OU=Ilkom Unit City/Locality L Kota tempat tinggal pemilik L=Jakarta sertifikat State/Province S Propinsi pemilik sertifikat S=Jawa Barat 3.9 OpenSSL OpenSSL yang digunakan penulis adalah versi 0.9.8o. Kode sumber dari OpenSSL ini selain menyediakan fasilitas SSL juga menyediakan sebuah perkakas (toolkit) kriptografi yang dapat digunakan untuk berbagai macam keperluan yang menyangkut pengamanan data dan komunikasi. Kriptografi yang didukung antara lain : 1. Fungsi Hash, MD2, MD5, MDC2, RMD-160, SHA, SHA1, SHA224, SHA256, SHA384, SHA512 2. Encoding dan Enkripsi Simetris, Base64 encoding, Blowfish, DES, Triple DES, IDEA, RC2, RC4 dan RC5 3. Ekripsi Asimetris, RSA dan DSA Dengan menggunakan aplikasi OpenSSL ini penulis membuat public key, tumbprint dan certificate yang digunakan untuk membuat secure socket layer

48 pada web server apache. Secara default aplikasi OpenSSL menyimpan konfigurasinya dalam sebuah file yaitu openssl.cnf. File ini berisi tentang pengaturan yang berhubungan dengan pembuatan sertifikat server, client maupun Badan certificate authority (CA). 3.10 Perancangan Konfigurasi Jaringan Disini penulis menggunakan jaringan 3 tier yang memberikan keuntungan sebagai berikut: 1. Apabila terjadi perubahan pada satu lapisan (misalkan perubahan di server) tidak perlu ada penginstalan ulang pada lapisan lainnya (client) cukup pada lapisan yang ingin dirubah. 2. Semua hal mengenai basis data hanya terinstal pada bagian server saja, menyebabkan biaya yang dikeluarkan bisa diminimalkan. Dalam model 3 tier ini pemrosesan terbagi kedalam tiga bagian yaitu: 1. Layanan presentasi (client side presentation), karena menggunakan aplikasi berbasis web, client hanya perlu menginstal browser saja. 2. Layanan bisnis (server side bussiness logic), application layer yang digunakan penulis adalah web server apache. 3. Layanan data (backend data storage), basis data yang digunakan oleh penulis adalah MySQL. 3.11 Perancangan Program Aplikasi Dalam penulisan tugas akhir ini dirancang suatu aplikasi berbasis web yaitu otentikasi dokumen digital yang aman dengan menerapkan secure socket layer (SSL). Dalam pengembangannya penulis menerapkan sitem model Waterfall dan sebagai alatnya penulis menggunakan Unified Modelling Language (UML). Gambaran umum tentang aplikasi yang dibuat akan dijelaskan pada Gambar 3.13.

49 Gambar 3.13 Gambaran umum aplikasi Seperti terlihat pada Gambar 3.13 pertama kali browser yang digunakan pengguna akan meminta jalur koneksi yang aman (https) setelah terjadi proses handshaking antara client dan server dan tidak terdapat kesalahan selama proses tersebut maka antara pengguna dan web server akan terbentuk koneksi yang aman untuk saling bertransaksi. Kemudian Pengguna dapat memasukkan user name dan password yang kemudian dikirimkan ke server. Setelah server melakukan pengecekan user name dan password yang terdapat dalam basis data dan sesuai dengan yang ada dalam basis data maka server akan mengirimkan halaman web site untuk pembuatan dokumen digital.

50 3.11.1 Unified Modelling Language (UML) 1. Use Case Model Use case diagram dari aplikasi yang akan dibangun dapat dilihat pada Gambar 3.14. SYSTEM Permintaan SSL << include >> Proses Handshake SSL Instal sertifikat SSL Alert Sistem Web Server Pengguna Register << extend >> Cek database Buat Dokumen Lihat Dokumen << include >> << include >> << include >> Simpan Dokumen << include >> Menampilkan Hasil Permintaan Gambar 3.14 Use Case Diagram

51 Penjelasan use case diagram diatas dapat dilihat dalam use case description berikut ini: Actor Pengguna Sistem Web server Use Case Permintaan SSL Proses Handshake SSL Instal Sertifikat Milik Client Validasi Sertifikat Milik Client SSL Alert Register Cek Database Membuat Dokumen Simpan Dokumen Melihat Dokumen Menampilkan hasil permintaan Skenario: 1. Pengguna melakukan permintaan layanan yang aman melalui web browser (https) 2. Sistem web server akan melakukan proses SSL Handshake dengan mengirimkan sertifikat dan publik key miliknya 3. Pengguna Menginstal sertifikat miliknya sebagai otentifikasi 4. Server memvalidasi sertifika client 5. Apabila ada error dalam proses handshake SSL sistem web server akan mengirimkan pesan kesalahan ke pengguna 6. Pengguna melakukan registrasi apabila belum pernah 7. Sistem web server akan mengecek apakah pengguna sudah pernah registrasi atau belum. 8. Pengguna melakukan a. Buat dokumen

52 b. Simpan Dokumen c. Lihat dokumen 9. Sistem web server akan menampilkan hasil permintaan pengguna atau admin 2. Activity Diagram Aktifitas dimulai pada saat pengguna mengetikkan https pada web browse. Setelah terhubung akan dilakukan pengecekan sertifikat client oleh sistem. Apabila sertifikat valid maka user akan masuk ke halaman utama. Dan pengguna akan melihat halaman pilihan untuk register melihat dan membuat dokumen. Untuk lebih jelasnya activity diagram dari program yang dibuat penulis bisa dilihat pada Gambar 3.15.

53 USER WEB SERVER HTTPS SSL Handshake Jika gagal muncul pesan error Validasi sertifikat client Proses berhasil Jika error Keluar Jika Ya Register cek sertifikat dengan database Isi Formulir Registrasi Belum Pernah Buat Sudah Pernah Buat Buat Dokumen Jika Ya Simpan Lihat Dokumen Jika Tidak Tampilkan Permintaan Keluar Gambar 3.15 Activity Diagram

54 Adapun Activity Diagram dari proses SSL Handshake ditunjukan pada Gambar 3.16 dan Gambar 3.17. Gambar 3.16 Activity Diagram SSL Handshake 1

55 BROWSER CLIENT CLIENT SSL WEB SERVER Sambungan dari SSL Handshake 1 Validasi Client MAC dengan symetric Key Pemberitahuan Untuk mengakhiri koneksi Tidak Valid Valid Keluar Buat Server MAC digest Enkripsi Server MAC Digest dengan symetric Key Ya Dekripsi Server MAC Digest dengan symetric Key Konfimasi keluar Validasi Server MAC dengan symetric Key Tidak Tidak valid Valid Alert Protocol Keluar Buat Hubungan SSL CertificateVerify Validasi Pasangan Kunci Tidak Koneksi Ok Konfimasi keluar Ya Valid Tidak Valid Keluar Alert Protocol Keluar Gambar 3.17 Activity Diagram SSL Handshake 2

56 3. Class Diagram Gambar 3.18 berikut menjelaskan tentang class diagram dari aplikasi yang dibuat oleh penulis. Terdiri dari 3 kelas, yaitu: 1. Kelas SSL Handshake Kelas ini memiliki tiga atribute yaitu certificate, chiper spec dan certificate request dan memiliki dua operasi yaitu request process untuk melakukan proses permintaan ke server dan execute process untuk mengeksekusi permintaan dari pengguna dan akan dikirim hasilnya ke pengguna. 2. Kelas Sertifikat Kelas ini berfungsi untuk memvalidasi sertifikat dari client. 3. Kelas Dokumen Kelas ini berfungsi untuk membuat dokumen baru dan melihat dokumen yang telah ada. 4. Kelas SSL Alert. Kelas ini berfungsi untuk mengirimkan pesan ke pengguna apabila proses SSL handshake tidak dapat dilakukan atau terjadi kesalahan. Gambar 3.18 Class Diagram

57 4. Statechart Diagram Pendeskripsian statechart diagram dari aplikasi yang dibuat oleh penulis dimulai dari keadaaan / state SSL Handshake berdasarkan permintaan pengguna (dengan mengetikkan https di browser). Jika tidak terjadi kesalahan maka akan dilanjutkan ke dalam proses selanjutnya yaitu validasi login yang berasal dari inputan user yaitu user name dan password. Jika akses login diterima maka dilanjutkan ke dalam proses dokumen dimana pengguna bisa membuat, melihat, dan menghapus dokumen. Start Alert Protocol = Error Proses SSL Handshake SSL handshake = sukses Registrasi Buat, lihat, simpan dokumen Dokumen Validasi Sertifikat dgn Basis Data Finish Gambar 3.19 Statechart Diagram 5. Deployment Diagram Deployment dari aplikasi yang dibuat terdiri dari 2 node. Yaitu node pengguna yang memiliki aplikasi client yang berjalan menggunakan browser Internet Explorer (IE) dan memerlukan operating system(os) Windows XP atau Linux. Sedangkan node web server memiliki operating system(os) Windows 2000 Server atau Linux dan mempunyai apache sebagai web server, OpenSSL untuk menjalankan security socket layer (SSL), dan basis data menggunakan MySQL. Gambar 3.20 memperlihatkan deployment diagram yang digunakan oleh penulis.

58 6. Component Diagram Gambar 3.20 Deployment Diagram Component diagram dari sistem yang dibuat ditunjukkan pada Gambar 3.21. Gambar 3.21 Diagram Component Seperti yang ditunjukkan pada Gambar 3.21 terdapat tiga component yaitu

59 1. Component User Interface Komponen ini memuat semua antar muka yang dilihat oleh pengguna yang meliputi home (layar awal), Register dan dokumen (layar buat dokumen dan lihat dokumen) 2. Component Web Server Apache Merupakan komponen yang diaktifkan dalam membuat sistem secure socket layer (SSL) yang terdiri dari komponen PHP (pemrograman), OpenSSL (untuk membuat sertifikat dan didalamnya terdapat modul mod_ssl untuk mengaktifkan secure socket layer (SSL)). 3. Component Server Komponen yang ketiga berisi basis data MySQL untuk menyimpan data dokumen yang dibuat oleh pengguna. 3.12 Perancangan Layar Aplikasi Perancangan layar dari aplikasi yang dibuat penulis terdiri dari layar login, layar menu utama pengguna dan layar menu utama admin. Berikut akan dijelaskan tentang masing-masing layar yang dibuat. 1. Layar Utama Layar Utama merupakan layar selamat datang apabila user berhasil masuk kedalam sistem seperti terlihat pada Gambar 3.22 dibawah ini. Gambar 3.22 Layar utama 2. Layar Menu Utama Seperti terlihat pada Gambar 3.23 terdapat 3 menu yaitu home, register dan dokumen.

60 HOME Register Dokumen Gambar 3.23 Rancangan Layar Menu Utama 3. Perancangan Menu Register Layar registrasi yang dirancang penulis terdiri dari nama user, password, email, alamat, nama perusahaan dari pengguna seperti yang terlihat pada Tabel 3.6 dibawah ini. Tabel 3.6. Struktur Tabel Menu Register Nama Nama Alamat Perusahaan Perusahaan Jabatan Email xxxxx xxxxx xxxxx xxxxx xxxxx 4 Rancangan menu dokumen Pada rancangan menu buat dokumen menampilkan data dari dokumen yang telah dibuat sebelumnya dan berisi link untuk melihat dokumen dan membuat dokumen baru. Tabel 3.7 berikut memuat informasi yang tersedia. Tabel 3.7. Struktur Tabel Menu Dokumen Nama Tanggal Nama Nomor Proyek Dokument Keterangan xxxxx xxxxx xxxxx xxxxx Lihat Baru 5 Rancangan Buat Dokumen Baru Pada rancangan buat dokumen Pengguna akan mengisi formulir yang diberikan. Pada Tabel 3.8 berikut isian dari formulir membuat dokumen baru. Tabel 3.8. Struktur Tabel Buat Dokumen Baru Tanggal Nama Proyek Alamat Proyek Nomor Dokument xxxxx xxxxx xxxxx xxxxx

61 6 Rancangan Lihat Dokumen Baru Pada rancangan lihat dokumen berisi data pengguna dan proyek yang akan dibuat menjadi dokumen dalam bentuk surat dukungan. Pada Tabel 3.9 merupakan data yang akan ditampilkan. Tabel 3.9. Struktur Tabel Menu Dokumen Data Peminta Dokumen Nama Nama Alamat Perusahaan Perusahaan Jabatan Email xxxxx xxxxx xxxxx xxxxx xxxxx Data Proyek Nama Tanggal Nama Proyek Nomor Dokumen xxxxx xxxxx xxxxx xxxxx 3.13 Perancangan Basis Data Dalam pembuatan aplikasi ini terdapat dua tabel yaitu Tabel data pengguna dan Tabel data proyek. Berikut struktur Tabel yang dibuat penulis. Tabel 3.10. Tabel data pengguna Nama Tipe Panjang Keterangan id integer 30 Primary Key Nama char 30 - Nama Perusahaan char 30 - Alamat Perusahaan char 30 - Jabatan char 30 - Email varchar 30 -

62 Tabel 3.11. Tabel data proyek Nama Tipe Panjang Keterangan id integer 30 Primary Key Tanggal varchar 30 - Nodok char 30 Nomer dokumen Napro char 30 Nama proyek Alamat char 30 Alamat Proyek Nama char 30 Nama Pengguna Dari dua Tabel diatas penulis membuat relasi antar tabel seperti yang ditunjukan pada Gambar 3.24. Table Data Pengguna 1 Memiliki N Table Data Proyek Gambar 3.24 Relasi antar Tabel