7 BAB 2 LANDAS AN TEORI 2.1. Teori-Teori Dasar/Umum Pada sub bab ini berisi tentang teori-teori dasar atau umum dari berbagai sumber yang menjadi landasan dalam pembuatan skripsi Pengamanan M enggunakan Infrastruktur Kunci Publik pada Sistem E-Pengadaan Pemerintah dengan Algoritma Camellia di Departemen Komunikasi dan Informatika.
2.1.1. Definisi Jaringan Komputer Jaringan komputer atau computer network dapat diartikan sebagai sekumpulan komputer berjumlah banyak yang terhubung oleh sebuah teknologi. Dua komputer dikatakan terhubung apabila dapat saling bertukar informasi. ( Tanenbaum, 2003, p.2). M enurut M etcalfe, penemu Ethernet menyatakan bahwa derajat kekuatan dari jaringan komputer meningkat secara eksponensial seiring dengan penambahan jumlah komputer yang dihubungkan kepadanya. Selain itu, setiap komputer yang dihubungkan ke suatu jaringan dapat menggunakan jaringan tersebut sebagai suatu sumber daya (resource) sekaligus turut menambah derajat kekuatan sumber daya yang tersedia dalam jaringan baik dari segi nilai maupun keragamannya. Dengan demikian apa yang disumbangkan suatu komputer ketika dihubungkan ke dalam suatu jaringan sesungguhnya berupa sumber daya (resource) yang dimilikinya.
7
8 Resource dapat berupa kemampuan memproses, media penyimpanan, informasi, maupun berbagai perangkat pendukung lain seperti printer dan scanner. Berdasarkan luas jangkauan suatu jaringan, maka jaringan dapat dibagi tiga, yaitu Local Area Network (LAN), Metropolitan Area Network (MAN) dan Wide Area Network (WAN) (Tanenbaum 2003, p.16).
2.1.1.1. Local Area Network (LAN) Local Area Network biasa disingkat LAN adalah jaringan komputer yang jaringannya hanya mencakup wilayah kecil, seperti jaringan komputer kampus, gedung, kantor, dalam rumah, sekolah atau yang lebih kecil (Tanenbaum, 2003, p.16). Saat ini, kebanyakan LAN berbasis pada teknologi IEEE 802.3 Ethernet menggunakan perangkat switch, yang mempunyai kecepatan transfer data 10, 100, atau 1000 M bit/s. Selain teknologi Ethernet, saat ini teknologi 802.11b (atau biasa disebut Wi-fi) juga sering digunakan untuk membentuk LAN. Tempat-tempat yang menyediakan koneksi LAN dengan teknologi Wi-fi biasa disebut hotspot.
2.1.1.2. Metropolitan Area Network (MAN) MAN merupakan suatu jaringan dengan jangkauan dari LAN, biasanya terdiri dari dua atau lebih LAN dalam area geografis yang sama(Tanenbaum, 2003, p.18). Penggunaan
9 MAN dapat mencakup perusahaan dengan kantor-kantor cabang di satu kota dan dapat berupa jaringan private atau public.
2.1.1.3. Wide Area Network (WAN) WAN adalah singkatan dari istilah teknologi informasi dalam bahasa Inggris: Wide Area Network merupakan jaringan komputer yang mencakup area yang besar sebagai contoh yaitu jaringan komputer antar wilayah, kota atau bahkan negara. (Tanenbaum, 2003, p.19)
2.1.2. Internet Protocol Internet Protocol adalah mekanisme transmisi data yang digunakan oleh protokol TCP/IP ( Forouzan , 2003, p.389). Berdasarkan pendapat Comer, IP adalah sebuah bilangan biner unik yang diberikan kepada komputer dan digunakan untuk semua komunikasi komputer tersebut( 2004, p.287).
2.1.2.1. IPv4 Alamat IP versi 4 (sering disebut dengan Alamat IPv4) adalah sebuah jenis pengalamatan jaringan yang digunakan di dalam protokol jaringan TCP/IP yang menggunakan protokol IP versi 4. Panjang totalnya adalah 32-bit, dan secara teoritis dapat mengalamati hingga 4 miliar host komputer di seluruh
10 dunia. Contoh alamat IP versi 4 adalah 192.168.0.3. ( Forouzan , 2003, p.389)
2.1.2.2. IPv6 Alamat IP versi 6 (sering disebut sebagai alamat IPv6) adalah sebuah jenis pengalamatan jaringan yang digunakan di dalam protokol jaringan TCP/IP yang menggunakan protokol IP versi 6. Panjang totalnya adalah 128-bit, dan secara teoritis dapat mengalamati hingga 2128=3,4 x 1038 host komputer di seluruh
dunia.
Contoh
alamat
IP
versi
6
adalah
21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A.
2.1.3. Keamanan Jaringan Keamanan jaringan didefinisikan sebagai sebuah perlindungan dari sumber daya terhadap upaya penyingkapan, modifikasi, utilisasi, pelarang, perusakan oleh pihak-pihak yang tidak diijinkan. (Stalling 2000, p5). Terdapat dua tipe serangan yaitu serangan yang bersifat pasif dan serangan yang bersifat aktif.
2.1.3.1. Serangan pasif Serangan pasif dilakukan dengan cara melakukan pemantauan
dan
atau
perekaman
data
selama
data
ditransmisikan lewat fasilitas komunikasi. Tujuan penyerang
11 adalah untuk mendapatkan informasi yang sedang dikirimkan. Kategori serangan pasif ini mempunyai dua tipe yaitu Release of Message Contents dan Traffic Analysis. Tipe Release of Message Contents memungkinkan penyusup
untuk
ditransmisikan,
mengetahui
data-data
sedangkan
tipe
yang
Traffic
sedang Analysis
memungkinkan penyusup untuk membaca header dari suatu paket sehingga bisa menentukan arah atau alamat tujuan paket yang dikirimkan.(Stallings, 2000, p.8)
2.1.3.2. Serangan aktif Serangan aktif menggunakan suatu peralatan yang terhubung dengan fasilitas komunikasi untuk mengubah transmisi
data
atau
mengubah
isyarat
kendali
atau
memunculkan data atau isyarat kendali palsu. Untuk kategori ini terdapat tiga tipe yaitu: message-stream modification, denial of service (DoS) dan masquerade. Tipe message-stream
modification
memungkinkan
pelaku untuk menghapus, memodifikasi, menunda, melakukan re-order ataupun menduplikasi pesan asli. Pelaku juga dapat menambahkan pesan-pesan palsu. Tipe denial of service (DoS) merupakan serangan untuk melumpuhkan sistem yang dijadikan target hingga sistem tersebut tidak dapat menyediakan servis-servisnya atau tingkat
12 servis dari sistem tersebut turun secara drastis.
Dapat
dilakukan dengan cara membanjiri saluran komunikasi dengan pesan-pesan.
Pesan-pesan yang dikirimkan bisa berupa apa
saja, karena yang dipentingkan adalah banyaknya pesan. Tipe
masquerade
memungkinkan
pelaku
untuk
menyamar sebagai host atau switch asli dan berkomunikasi dengan host yang lain atau switch untuk mendapatkan data ataupun servis. (Stallings, 2000, p.8)
2.2. Teori-Teori Khusus 2.2.1. Sistem Operasi Dalam Ilmu komputer, Sistem Operasi (SO), atau dalam bahas a Inggris Operating System atau (OS) adalah suatu software sistem yang bertugas untuk melakukan kontrol dan manajemen hardware serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web.(Tanenbaum, 2001, p.1) Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, jadwal kerja, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas
13 inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
2.2.2. Kriptografi M enurut Schneier(2003, p.7), kriptografi atau kriptologi berasal dari bahasa Yunani, secara umum dapat diartikan sebagai ilmu dan seni untuk menjaga kerahasiaan berita. Selain pengertian tersebut terdapat pula pengertian berdasarkan M enezes (1997,p.4) ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data . Tidak semua aspek keamanan informas i ditangani oleh kriptografi. Ada lima tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu : •
Kerahasiaaan (Confidentiality)
Confidentiality
dalam
sudut
pandang
keamanan
adalah
menunjukkan bahwa tidak satu yang dapat mengakses data kecuali yang berhak. Confidentiality
biasanya berhubungan dengan data yang
diberikan kepada pihak lain untuk keperluan tertentu dan hanya diperbolehkan untuk keperluan tertentu tersebut.
14 •
Keutuhan (Integrity)
Integrity berkaitan dengan konsistensi informas i yang terdapat pada data. Dimana modifikasi ataupun pengrusakan data yang mengakibatkan ketidakutuhan data ditimbulkan oleh yang bersifat kecelakaan ataupun malicious code (virus atau worm). M aka untuk menunjang aspek ini sering dipergunakan metode enkripsi •
Keaslian (Authentication)
Authentication berkaitan dengan menjaga keaslian informasi di dalam data yang diberikan, selain itu juga menjaga keaslian kepemilikan dari data tersebut, dengan kata lain menjaga keaslian kepemilikan yang berhak mengakses data tersebut. •
Ketersediaan (availability)
Availability berkaitan dengan ketersediaan data atau informasi ketika dibutuhkan •
Tidak ada Penyangkalan (Non Repudiation )
Non repudiation berkaitan dengan menjaga pengguna atau pemilik data tidak dapat menyangkal telah mengakses atau menggunakan data sehingg sistem mengetahui siapa yang bertanggung jawab terhadap apa yang terjadi oleh data tersebut.
15 Hingga zaman modern kriptografi sering diidentikkan dengan enkripsi. Enkripsi ialah proses mengamankan suatu informasi(plaintext) dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus (ciphertext). Dekripsi merupakan kebalikan dari enkripsi, yaitu proses mengembalikan plaintext dari ciphertext.
2.2.2.1. Ciphers Sebuah
cipher
adalah
sebuah
algoritma
untuk
menampilkan enkripsi dan kebalikannya dekripsi, serangkaian langkah yang terdefinisi yang diikuti sebagai prosedur. Alternatif lain ialah encipherment. Informasi yang asli disebuh sebagai plaintext, dan bentuk yang sudah dienkripsi disebut sebagai chiphertext. Pesan ciphertext berisi seluruh informasi dari pesan plaintext, tetapi tidak dalam format yang didapat dibaca manusia ataupun
komputer
tanpa menggunakan
mekasnisme yang tepat untuk melakukan dekripsi.(Stalling, 2003, p.24) Cipher biasanya memiliki parameter dari sebagian dari informasi utama, disebut sebagai kunci. Prosedur enkripsi sangat bervariasi tergantung pada kunci yang akan mengubah rincian dari operasi algoritma. Tanpa menggunakan kunci, cipher tidak dapat digunakan untuk dienkirpsi ataupun didekripsi.
16 Pada pemodelan enkripsi terdapat dua hal jenis yang umum,yaitu :
1. Enkripsi dengan kunci pribadi (Private key )
Enkripsi ini menggunakan kunci untuk mengunci dan membuka yang sama. Dimana enkripsi dapat dilakukan jika si pengirim dan penerima telah sepakat menggunakan metode kunci enkripsi tertentu yang kunci harus dijaga supaya tidak ada pihak luar yang mengetahui nya. M odel enkripsi ini juga dikenal sebagai kriptografi simetrik (Symmetric Cryptographic)
2. Enkripsi dengan kunci publik (Public Key)
Enkripsi ini bekerja dengan kunci yang berbeda untuk enkripsi dan dekpripsi. Dimana cara kerja enkripsi dengan kunci publik adalah setiap orang yang menggunakan enkripsi ini harus mempunyai dua buah kunci, yaitu satu kunci yang hanya diketahui dirinya sendiri, yang kedua adalah kunci publik yang disebarkan
kepada orang lain.
Kedua kunci ini dibuat
menggunakan algoritma dengan kunci enkripsi dan dekripsi yang berbeda, karena itu disebut kriptografi asimetrik (asymmetric cryptographic).
17 2.2.3. Infrastruktur Kunci Publik Infrastruktur Kunci Publik adalah kumpulan kebijakan, proses, software, hardware, dan teknologi yang menggunakan kriptografi kunci publik
dan
manajemen
sertifikat
untuk
mengamankan
suatu
komunikasi.(Thomas, 2005,p.136) Sasaran IKP adalah menyediakan dasar untuk sistem yang akan mendukung berbagai layanan
keamanan,
seperti integritas
data,
kerahasiaan data, dan non-repudiation. Sistem ini mencakup verifikasi dan otentikasi masing-masing bagian transaksi yang melalui jaringan. IKP menyediakan otentikasi melalui penggunaan sertifikasi digital lanjutan dan otoritas sertifikasi untuk memverifikasi dan mengontentikasi validitas masing-masing bagian transaksi.
Gambar 2.1 Struktur IKP
18 2.2.3.1. Komponen-komponen Infrastruktur Kunci Publik M enurut Thomas,(2005,p.138) terbagi atas: Security Policy Kebijakan keamanan adalah dokumen tertulis yang bersifat legal berisi langkah-langkah kebijakan organisasi dalam keamanan informasi, dan prinsip-prinsip kriptografi yang digunakan. Kebijakan ini harus menjelaskan tentang aspek legal, aspek finansial dari CA, bagaimana CA tersebut dijalankan,
bagaimana
proses
pembuatan,
distribusi,
penyimpanan kunci dan sertifikat, level of assurance(tingkat kepercayaan) sertifikat. Semua poin diatas harus diumumkan dalam dokumen resmi yang disebut CPS (Certificate Practice Statement.) Certification Authority(CA) CA dapat berupa entity yang berupa institusi atau perorangan yang mengeluarkan dan menandatangi sertifikat digital. Untuk alasan keamanan, CA tidak terhubung ke dalam jaringan. Registration Authority(RA) RA merupakan entity penghubung antara CA dengan pengguna. RA menyediakan layanan sebagai berikut : •
M enerima
dan
memverifikasi
pendaftaran dari pengguna baru
informas i
19 •
M embuat kunci milik pengguna.
•
M enerima dan mengotorisasi permintaan untuk kunci cadangan.
•
M enerima dan mengotorisasi permintaan untuk penarikan sertifikat.
Sistem Distribusi Sertifikat Digital Sertifikat yang telah ditandatangi dan dikeluarkan oleh pihak CA, disimpan dalam tempat khusus yang dapat diakses oleh semua orang yang membutuhkan. Pada implementasinya, distribusi sertifikat digital menggunakan sistem direktori. Aplikasi Aplikasi yang mendukung IKP adalah aplikasi yang mampu menerima format sertifikat digital X.509. Beberapa aplikasi tersebut antara lain adalah: •
S/M IM E
(Secure/Multipurpose
Internet
Mail
Extensions), •
secure web server (https),
•
IPSec VPN (IP Secure Virtual Private Network).
2.3.3.2 Sertifikat Digital IKP menggunakan kriptografi kunci asimetris. Satu permasalahan yang masih dihadapi IKP adalah bagaimana caranya bertukar kunci publik dengan aman. M asih ada celah
20 bagi man-in-the-middle of attack
ketika kunci publik
dipertukarkan. Permasalahan ini coba dipecahkan dengan sertifikat digital. Sebuah sertifikat digital sebenarnya hanyalah sebuah file komputer. Analogi sertifikat digital dengan kehidupan nyata adalah kartu tanda penduduk (KTP). KTP mengasosiasikan seseorang dengan identitasnya, seperti nama lengkap, warga negara, tempat dan tanggal lahir, foto, tandatangan, dsb. Sertifikat digital mengasosiasikan
identitas
seseorang dengan kunci publik-nya. (Stallings, 2003,p.73)
2.3.3.3 Format S ertifikat Digital Sertifikat digital memiliki beberapa macam format. Berdasarkan disertakan atau tidaknya kunci privat, sertifikat digital terbagi dua yaitu sertifikat digital yang menyertakan kunci privat dan sertifikat yang tidak menyertakan kunci privat. Berikut ini adalah penjelasan dari masing-masing format sertifikat digital: a.
SS Leay Sertifikat digital dalam format SSLeay menyertakan
sertifikat dan kunci privat. Untuk dapat mengakses sertifikat digital dalam format SSLeay, pengguna harus memasukkan password ketika membuat sertifikat digital. Sertifikat digital dalam format SSLeay terbagi menjadi dua bagian. Bagian pertama adalah sertifikat (dimulai dengan sintaks ---Begin
21 Certificate--- dan diakhiri dengan sintaks ---End Certificate---) Bagian kedua adalah kunci privat (dimulai dengan sintaks --Begin RSA Private Key--- dan diakhir dengan sintaks --End RSA Private Key---) RSA adalah algoritma yang digunakan untuk
mengenkripsi
kunci
privat.
Dalam
skripsi
ini
menggunakan algoritma Camellia.
-----BEGIN CERTIFICATE----MIIDYzCCAksCAQQwDQYJKoZIhvcNAQEFBQAweDELMAkGA1UEBhMCSUQxEDAOBgNV BAgTB0pha2FydGExFjAUBgNVBAcTDUpha2FydGEgUHVzYXQxEzARBgNVBAoTCkRl cGtvbWluZm8xFjAUBgNVBAsTDWUtUHJvY3VyZW1lbnQxEjAQBgNVBAMTCWxvY2Fs aG9zdDAeFw0wNzEwMzAwMTUwMDFaFw0wNzExMjkwMTUwMDFaMHcxCzAJBgNVBAYT AklEMRAwDgYDVQQIEwdKYWthcnRhMRYwFAYDVQQHEw1KYWthcnRhIEJhcmF0MRMw EQYDVQQKEwpNYW5nZ2EgRHVhMRYwFAYDVQQLEw10b2tvIGtvbXB1dGVyMREwDwYD VQQDEwhsYW50YWkgNTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN+m 0yE+g1swUU9Xow66lShrhfAomHrSejjvBSrKzfPoYxCIyLUbd5H4l9m3NbLLxJuT tRwKlTVYTT3Re/lL7YQ94H3FUm6uSLEZT0//B/CTkVLfk38fFpYhxKByXFLGUXbx zHkn7lsh4Zd4yiz8P8nSmkvrmj6B5x4ePZQmGhU6TgZxbuErctLY2fg6Ugsgs5w3 xYb2Ojtfc3i9uTor0MYuzAYoYisAbtmYPbgUA8MFEGxmmmASDe8r/ZHvSU+FVuW8 xuQyCjyWG4eP0rzfpSzJUYHW9lyrGC6rUbJmMHP8Eq4ZAkBuZX8WIAisjsYpu2yK pHKNIyRjEE39Ka3bG9sCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAHwp5252klJNT /I3IgmDnH7EDOM2Wh3Hwe4lFtuHkwTtOaql0f3c3OcX56VcF6ZW4aUpGkCnnlwXV /27ztocGeXCR0NxcuE1spprvFnzRAezP0WK5n0umKHUpwgZDofKl4p0m0Du7nLLB PehWF+hZYKLt/8WbIGiC8mEu9YnnnR1HSJoJT+43XMlw9R28z/mY7eE4UcydVYbT 1rVzsE4YldldBpmRdNqGcUo9W1R4UB6zU8+DRW/FRRzGE1Zqom0U1L8LialjJgI5 Z725VLzFzZNYnFdBC/ygcx6PMEaA3XmKMTlQozJe0mPWK8R6NpnYl3FhUgFyB6Ak aKZfXPYh4Q== -----END CERTIFICATE---------BEGIN RSA PRIVATE KEY----Proc-Type: 4,ENCRYPTED DEK-Info: CAMELLIA-128-CBC,722268D0BED88E12085E5F85AFF40289 9+JjQu1tSMyOwf57BSy1KgQoRW5NWifo6m6ZkAbUirNrRTEk/IW3lCLpf20otYxp 32ailjGBv9iyHf2YLGuseL04EypMpPnIw9tzyeliI3XSCMSGLoPm1OSTrFvfg6Ca 2sfSUppvRJzYPLlTRjh8E0Vy0sg1bZpXLn3Ek2QsUE0qc/pOt56/crRhkdUXYtqh eR+PUWM4/frOxpu/DQoQKMkx2Fina80QR4DmAJHRWDgyL1RHWkSNIZrTOvQqz3Ax vYnNRjTXVdmDho9G7PWZAdoHSzaxp2sTnDY6T5zqLUihIF36dCPbxZlgI6qoHTNL wHsdLV7+9XPsQoyOtt6+aoHclvxQWgzmE8RvFVHinvgAkTSVFESApKo7SJ1mrSY3 mbqozkWZsGHBUYWYZFtj/uGcp1F7jeOA+MHbicEqCRqh+2F+R4sgJPoxz14sbSVZ vp85XiDLOX4zHoJDvxlJ7KZEal8URE9m7z4NvH24wEX93QUPNIyPofCs/81zM8i4 39tIjJYyrfSDp3izdMmDxoBJhhO0bsaB6HjELKwTq/SIjFqcnPll27o3jH748rT/ MenuYirjNjmSgMBNG1tHw1V4ou/IzHIAQC3GK2EkoxFiKRqkRsW8zDZEgHc0ElEp ouH2FgSOfl4rnTA8yZUTQLJiQ8QZ3AViMd4vFW/bL8VddML+WxOzGQJuvwwtXXvF hSMBsJbSZki/ZpskpYRTGoqjV3XPK26upKWpacoIFjMD/nKDEP5e3NiJLZO47Iu8 hfDu5qgPMdDVUaysx3aTyLvl8zZQWu2OooAdwWKGzOkEEcDO3l9XSYGMfXdOei1B 2eMqN/kSdSPr36sIPOsQa5iEaoKq/HPNMmQn86sGkFJjCQwpfn+3VOtKjKTanZbq
22 duouiIJFaLcuYMIyPDRvURqYBP4c6W9OHJVbkHyeF/XWNxTP0rQS332kWoQHkzhQ hSWgMx5vHdsqBBSq9AFPYDRxd1J81245svhVL2MWfNrlizxuPjjgaeNRbnklxjHW t+ZblEWFEcrmZsNjUB5989JRm4ZlxciiDrj+5gNH6KZh/46B7HBE1GOD2j+YBPGp lghcG+GMA7sedqDk5UoBszUSJPgt4/XPTZCGf/PMK9lQ6dnT9yb6ci+57sC1Ytmt e0+CezerB3dxXxkd9FNLr82KOqxEXzj8ecqBSgX+Wf9h7Imza3Tua+GJKL8STE/X Y9ynjyWe9WDRbiOAb8R/JSzvMDQyiPHiFuF5NvxtfYVNgtgfq58AbZDZmnzXWQf9 9Vm+IYolCz6QkNhioWeslZW0oC1/nNxKXHNqDVaF+bDeYR8hHM5lbdLW5nYdyAUk lFPa/xRfnu5cGk85x2+qyIiy82SD7JxLGS8ZMpGQKRR/UeM5QYyDIg9Hm8A6iFPy 7FAWdRJ6DzFMh+qEpCtFjsXvYfZGYBdvOEF0fp+7rF2tdCbFrzpu6NXzoLmsjSOg pTcuH7d2kMuzhKQMd8bXp9WP3/zzjNcl/IJFBxlVnDOG+OaFm7ugcTt2/T2aHIaZ NA2lCRJU1z0Q+mDtc689hbyDMwQD1mY5Piuil7StWT0V3cSh47nxsF1eW0GrcpXO -----END RSA PRIVATE KEY-----
b.
PKCS #8 PKCS (Public Key Cryptography Standard) merupakan
standar kriptografi kunci publik yang dikeluarkan oleh laboratorium RSA. Nama lain PKCS#8 adalah Private-Key Information Syntax Standard. Sertifikat digital dalam format PKCS#8 terbagi menjadi dua bagian. Bagian pertama adalah sertifikat (dimulai dengan sintaks ---Begin Certificate--- dan diakhiri dengan sintaks ---End Certificate---) Bagian kedua adalah kunci privat (dimulai dengan sintaks ---Begin Encrypted Private Key--- dan diakhiri dengan sintaks ---End Encrypted Private Key---)
-----BEGIN CERTIFICATE----MIIEnTCCBAagAwIBAgIBAzANBgkqhkiG9w0BAQUFADBqMQswCQYDVQQGEwJJRDEM MAoGA1UEChMDSVRCMQ4wDAYDVQQLEwVQQVVNRTEUMBIGA1UEAxMLWmFraSBBa2ht YWQxJzAlBgkqhkiG9w0BCQEWGHphQHN0dWRlbnRzLmVlLml0Yi5hYy5pZDAeFw0w NjA4MTAxODI5NDdaFw0wNzA4MTAxODI5NDdaMDoxETAPBgNVBAsTCEludGVybmV0 MRkwFwYDVQQDExBSQSBBZG1pbmlzdHJhdG9yMQowCAYDVQQFEwEzMIGfMA0GCSqG SIb3DQEBAQUAA4GNADCBiQKBgQDGP1p2vSpHOodHjK6QlFC0HerHWNNhAYvFbag6 1B8IQRC5eRT3Ovmn868Wa6mmfIt9hA22vsFLXSvMCATcY8mgguofxQqaSJKF0GtH mQVnLacWa2rEW2oB1H7pvWp/r1LTJ/uvErjgUgpoM9p3vYlU0amccziDS88JNXOT DRz7KQIDAQABo4ICgTCCAn0wCQYDVR0TBAIwADA4BgNVHSAEMTAvMC0GBCoDAwQw JTAjBggrBgEFBQcCARYXaHR0cDovL3NvbWUudXJsLm9yZy9jcHMwEQYJYIZIAYb4 QgEBBAQDAgSwMAsGA1UdDwQEAwIF4DApBgNVHSUEIjAgBggrBgEFBQcDAgYIKwYB BQUHAwQGCisGAQQBgjcUAgIwMgYJYIZIAYb4QgENBCUWI1JlZ2lzdHJhdGlvbiBB
23 dXRob3JpdHkgT3BlcmF0b3Igb2YgMB0GA1UdDgQWBBQGzM48SFrES5iP4GMhXBlM lsnr3jCBnAYDVR0jBIGUMIGRgBSxDk4Vv74IhJMkszPbYCcBRzO/+qFupGwwajEL MAkGA1UEBhMCSUQxDDAKBgNVBAoTA0lUQjEOMAwGA1UECxMFUEFVTUUxFDASBgNV BAMTC1pha2kgQWtobWFkMScwJQYJKoZIhvcNAQkBFhh6YUBzdHVkZW50cy5lZS5p dGIuYWMuaWSCCQCQ6DrPZlEK0TA5BgNVHREEMjAwhwSnzRhOgg4xNjcuMjA1LjIy LjEyM4EYcmEtYWRtaW5AcGF1bWUuaXRiLmFjLmlkMCMGA1UdEgQcMBqBGHphQHN0 dWRlbnRzLmVlLml0Yi5hYy5pZDAxBglghkgBhvhCAQQEJBYiaHR0cDovL2xvY2Fs aG9zdC9wdWIvY3JsL2NhY3JsLmNybDAxBglghkgBhvhCAQMEJBYiaHR0cDovL2xv Y2FsaG9zdC9wdWIvY3JsL2NhY3JsLmNybDAzBgNVHR8ELDAqMCigJqAkhiJodHRw Oi8vbG9jYWxob3N0L3B1Yi9jcmwvY2FjcmwuY3JsMA0GCSqGSIb3DQEBBQUAA4GB AEOIabbbcWcRN2u3fSBA5jTOpOlEBkbBFMrnr+higd4v7vv73J1tVHhewlAiZTHl LriSu9YZP/sUUlF8mrdo0u5aUbC8k5z646kgxp0Whhd5RKI78O2AM9dpT9vhgbXB CVfR2UgtX7Q/vm3ttlLd58HL4ZYabkvQWNboQA+5gRES -----END CERTIFICATE-----
-----BEGIN ENCRYPTED PRIVATE KEY----MIICoTAbBgkqhkiG9w0BBQMwDgQIdWB2K3aUlIMCAggABIICgA8BvxjKwKTOSqL/ 8oWkZ29+cVMDjGCwnDe8mfK2ei0clQTkWt/PNbNCzxKDJEOP7CDSfJ1dwpdoDfka zIzCn0TILjSxdcxRuakZJEIbu/p0AudP7HQ1Ha0U/gG6AyHNf74xD1kpIiySB1Hi rA5x5jQwvL8zdTcexx3F5FxxTkhmRDlviYiGU0I6kL1IhiWJKiuTNF5kINkQBNN4 dMjpjv+aCVm3HVZ/GC+zBhEAvSey2bVmQgsdHGJoRFC6Fpjdev9F4yjU3K5gQZYJ Qoj5Ov2eoOhmWMMzXzCJgBT7hQ+XDPWgQ9dFnEyYqP8TuoqOHCTYPUHajgRd+Kq4 JZ87tgWe+3eqGpgdGRw9P7P0AqDNI3Sf0DvfHRB6OF4wB5/AzJq+rbNsqeyBsiIk OscxGNbVZcYxqCq5X/nEVoaWL7QzAU48WZouTxIWDyiLQOhn+NKhfno+5plMl85k DHi5+gXrFvX3x7Fo20OJCcxbleWrcKir35KpkUPNcbpWCfNcfOpCJj4zqzzri0am 8Qx1Aj/m0oEvg1eT28NyY6EXvvQC1JAxEjDx+s0v+5BgCyoKqCy+yxDCYW1lKUYB yZbSbtlgKkLjqWX5WT6xlce2zuyUuaUDBYBkukOWfdKlGSCBDeI3irgptNprmA9c rMjnHnWu4VYZwTDsaNcVrfrCwfFoFZfEC5QgNAkVwTLN07w+7RTRvKqaLEQGcWrj PHHc3Ab5C5A3T+FIcZswx6knP49PVXLKEwRHZxLkXdAXkNxQOlOlH8XljrVkGKOV v/UFsyKoOl+r08bJbuORvU2J3RUPxjNyZBWzHVhuu9dh07F8n1rqvt2zpas1rOVJ V1yvDDk= -----END ENCRYPTED PRIVATE KEY-----
c.
PKCS #12 Nama lain dari PKCS#12 adalah Personal Information
Exchange Syntax Standard. Sertifikat digital dalam format PKCS#12 dapat diimpor oleh web browser dan email client. Untuk mengakses sertifikat digital format PKCS#12 pengguna harus memasukkan password ketika membuat sertifikat digital.
24 d.
PEM/CRT Sertifikat digital dalam format PEM /CRT hanya
memuat kunci public dan tidak menyertakan kunci privat. Untuk mengakses sertifikat digital format PEM /CRT tidak diperlukan password sehingga sertifikat digital dalam format ini dapat diakses oleh siapa saja.
-----BEGIN CERTIFICATE----MIIDYzCCAksCAQQwDQYJKoZIhvcNAQEFBQAweDELMAkGA1UEBhMCSUQxEDAOBgNV BAgTB0pha2FydGExFjAUBgNVBAcTDUpha2FydGEgUHVzYXQxEzARBgNVBAoTCkRl cGtvbWluZm8xFjAUBgNVBAsTDWUtUHJvY3VyZW1lbnQxEjAQBgNVBAMTCWxvY2Fs aG9zdDAeFw0wNzEwMzAwMTUwMDFaFw0wNzExMjkwMTUwMDFaMHcxCzAJBgNVBAYT AklEMRAwDgYDVQQIEwdKYWthcnRhMRYwFAYDVQQHEw1KYWthcnRhIEJhcmF0MRMw EQYDVQQKEwpNYW5nZ2EgRHVhMRYwFAYDVQQLEw10b2tvIGtvbXB1dGVyMREwDwYD VQQDEwhsYW50YWkgNTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN+m 0yE+g1swUU9Xow66lShrhfAomHrSejjvBSrKzfPoYxCIyLUbd5H4l9m3NbLLxJuT tRwKlTVYTT3Re/lL7YQ94H3FUm6uSLEZT0//B/CTkVLfk38fFpYhxKByXFLGUXbx zHkn7lsh4Zd4yiz8P8nSmkvrmj6B5x4ePZQmGhU6TgZxbuErctLY2fg6Ugsgs5w3 xYb2Ojtfc3i9uTor0MYuzAYoYisAbtmYPbgUA8MFEGxmmmASDe8r/ZHvSU+FVuW8 xuQyCjyWG4eP0rzfpSzJUYHW9lyrGC6rUbJmMHP8Eq4ZAkBuZX8WIAisjsYpu2yK pHKNIyRjEE39Ka3bG9sCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAHwp5252klJNT /I3IgmDnH7EDOM2Wh3Hwe4lFtuHkwTtOaql0f3c3OcX56VcF6ZW4aUpGkCnnlwXV /27ztocGeXCR0NxcuE1spprvFnzRAezP0WK5n0umKHUpwgZDofKl4p0m0Du7nLLB PehWF+hZYKLt/8WbIGiC8mEu9YnnnR1HSJoJT+43XMlw9R28z/mY7eE4UcydVYbT 1rVzsE4YldldBpmRdNqGcUo9W1R4UB6zU8+DRW/FRRzGE1Zqom0U1L8LialjJgI5 Z725VLzFzZNYnFdBC/ygcx6PMEaA3XmKMTlQozJe0mPWK8R6NpnYl3FhUgFyB6Ak aKZfXPYh4Q== -----END CERTIFICATE-----
e.
CER/DER Sertifikat digital dalam format CER/DER digunakan
oleh email client dan web browser untuk mengimpor sertifikat authorities. Sertifikat authorities perlu diimpor terlebih dahulu agar sertifikat digital pengguna dapat dipercaya.
25 2.2.4. Secure Socket Layer (S S L) Secure Socket Layer (SSL) adalah protokol yang dirancang dan diimplementasi oleh Netscape Communication. Protokol ini ditujukan untuk melindungi protokol yang berada pada lever atas yang dibangun dengan socket, contoh nya telnet, ftp, dan HTTP. (Onyszko, 2002) SSL juga digunakan untuk melindungi data saat terjadi pengiriman ke layanan jaringan lainnya, biasanya digunakan pada server HTTP
dan aplikasi Client. Saat ini hampir setiap
server HTTP
mendukung session dari SSL, contohnya Browser Internet explorer, M ozilla Firefox, Opera dan Netscape navigator mendukung SSL client software.
Gambar 2.2 SSL diantara protokol TCP/IP SSL menyediakan sebuah session untuk ekripsi, autentikasi terhadap server, dan autentikasi pesan.
Tujuan utama dari dirancangnya SSL adalah :
26 •
Autentikasi antara client dan server, protocol SSL mendukun g penggunaan kriptografi untuk autentikasi antara server dan client.
•
M emastikan integritas data selama komunikasi.
•
M engamankan keamanan data. Data saat dikirim antara client dan server harus dilindungi dari serangan pihak asing.
SSL terdiri kumpulan protokol yang dibagi dalam 2 layer
1. Protokol yang memastikan keamanan data dan integritas data, SSL Record Protocol 2. Protokol yang dirancang untuk membentuk koneksi SSL, tiga protokol yang berfungsi untuk hal tersbut, yaitu SSL Handshake Protocol, SSL ChangeCipher SpecPprotocol dan SSL Alert Protocol.
Gambar 2.3 Protokol-protokol SSL Protokol SSL mendukung penggunaan cipher yang berbeda. Kriptografi simetris seperti DES, RC4 dan triple DES digunakan untuk enkripsi data. Kriptografi kunci publik seperti RSA, DSS dan KEA digunakan untuk autentikasi identitas pihak lain.
27 Contoh penggunaan SSL : 1.
Dalam sebuah organisasi yang menginginkan adanya komunikas i internet antara pihak organisasi dan client organanisasi dapat menggunakan protokol SSL.
2.
Sistem perbankan menggunakan SSL supaya client dapat mengakses halaman data yang bersifat rahasia.
3.
Kebanyakan E-commerce dilindungi oleh SSL
Salah satu contoh umum penggunaan SSL adalah mengamankan Web HTTP antara server dan client yang disebut HTTPS. HTTPS menggunakan port 473 pada server berbeda dengan HTTP menggunakan port 80.
2.2.4.1. Algoritma M enurut Deitel( 2003,p.72) algoritma adalah sebuah prosedur untuk memecahkan suatu masalah yang meliputi : 1. Hal apa yang akan dilakukan 2. Urutan hal yang akan dilakukan M asalah yang disebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi criteria 9(
28 2.2.4.2. Camellia Camellia pertama kali ditemukan oleh Perusahaan Nippon yang bergerak di bidang telepon dan telegraf yang bekerjasama dengan Perusahaan M itsubushi pada tahun 2000. Camellia berspesifikasi pada ukuran blok 128-, 192-, dan 256bit, ukuran yang sama dengan Advanced Encryption Standard (AES). Camellia unggul karena implementasi antara perangkat lunak dan perangkat keras yang kompatibel serta keamanan tingkat tinggi. Jika dipandang dari segi praktikal, camellia dirancang fleksibilitasnya untuk
perangkat lunak dan
perangkat keras pada prosesor 32-bit dimana digunakan oleh hampir semua perangkat internet dan aplikasi, prosesor 8-bit yang digunakan pada smartcard, perangkat kriptografi dan lain sebagainya. Lebih lanjut lagi, waktu enkripsi yang cepat dan kecanggihan enkripsi yang digunakan. Camellia direkomendasikan sebagai metode kriptgrafi primitive oleh proyek EU NESSIE ( New European Schemes for Signatures, Integrity and Encryption) dan juga termasuk di dalam daftar teknik kriptografi yang dipergunkan pada sistem e-Government
Jepang
yang
dipilih
oleh
CRYPTREC
(Cryptography Research and Evaluation Committees) M etode enkripsi dan dekripsi yang digunakan pada Camellia disesuaikan dengan algoritma AES [RFC3394],
29 Karena Camellia dan AES memiliki ukuran dan blok yang sama. Deskripsi alternatif dari enkripsi camellia adalah dengan melakukan indexing daripada melakukan shifting. Cara ini lebih mudah diimplementasikan pada perangkat lunak dan menghasilkan nilai yang serupa dengan operasi index. 2.2.5. Server M enurut Comer (2004,p.20), Server adalah sebuah sistem komputer yang menyediakan jenis layanan tertentu dalam sebuah jaringan komputer. Server didukung dengan prosesor yang bersifat scalable dan RAM yang besar, juga dilengkapi dengan sistem operasi khusus, yang disebut sebagai sistem operasi jaringan atau network operating system. Server juga menjalankan perangkat lunak administratif yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat di dalamnya, seperti halnya berkas atau alat pencetak (printer), dan memberikan akses kepada workstation anggota jaringan. Umumnya, di atas sistem operasi server terdapat aplikasi-aplikasi yang menggunakan arsitektur client/server. Contoh dari aplikasi ini adalah DHCP Server, M ail Server, HTTP Server, FTP Server, DNS Server dan lain sebagainya. Setiap sistem operasi server umumnya membundel layanan-layanan tersebut atau layanan tersebut juga dapat diperoleh dari pihak ketiga. Setiap layanan tersebut akan merespons terhadap request dari client. Sebagai contoh, client DHCP akan memberikan request kepada server yang menjalankan server DHCP;
30 ketika sebuah client membutuhkan alamat IP, client akan memberikan perintah/request kepada server, dengan bahasa yang dipahami oleh server DHCP, yakni protokol DHCP itu sendiri. Server biasanya terhubung dengan client dengan kabel UTP dan sebuah Network Card. Kartu jaringan ini biasanya berupa kartu PCI atau ISA. Fungsi server sangat banyak, misalnya untuk situs internet, ilmu pengetahuan, atau sekedar penyimpanan data. Namun yang paling umum adalah untuk mengkoneksikan komputer client ke Internet.
2.2.6. Client/Server Dengan makin berkembangnya teknologi jaringan komputer, sekarang ini ada kecenderungan sebuah sistem yang menggunakan jaringan untuk saling berhubungan. Dalam jaringan tersebut, biasanya terdapat sebuah komputer yang disebut server, dan beberapa komputer yang disebut client. Server adalah komputer yang dapat memberikan servis ke client, sedangkan client adalah komputer yang mengakses beberapa servis yang ada di client. Ketika client membutuhkan suatu servis yang ada di server, dia akan mengirim request kepada server lewat jaringan. Jika request tersebut dapat dilaksanakan, maka server akan mengirim balasan berupa servise yang dibutuhkan. Untuk saling berhubungan menggunakan Socket. ( Comer, 2004, p.20)
31 1. Karakteristik Server a.
Pasif
b.
M enunggu request
c.
M enerima request, memproses mereka dan mengirimkan balasan berupa servis.
2. Karakteristik Client a.
Aktif.
b.
M engirim request.
c.
M enunggu dan menerima balasan dari server.
Socket adalah sebuah endpoint untuk komunikasi didalam jaringan. Sepasang proses atau thread berkomunikasi dengan membangun sepasang socket, yang masing-masing proses memilikinya. Socket dibuat dengan menyambungkan dua buah alamat IP melalui port tertentu. Secara umum socket digunakan dalam client/server system, dimana sebuah server akan menunggu client pada port tertentu. Begitu ada client yang mengkontak server maka server akan menyetujui komunikasi dengan client melalui socket yang dibangun Sebagai contoh sebuah program web browser pada host x (IP 146.86.5.4) ingin berkomunikasi dengan web server (IP 152.118.25.15) yang sedang menunggu pada port 80. Host x akan menunjuk sebuah port. Dalam hal ini port yang digunakan ialah port 1655. Sehingga terjadi sebuah hubungan dengan sepasang socket (146.86.5.4:1655) dengan (152.118.25.15:80).
32 2.2.7. Database Basis data (database), atau sering pula dieja basisdata, adalah kumpulan informasi yang bisa dibagi, dan deskripsi dari informasi tersebut, yang didesain untuk memenuhi kebutuhan informasi dari suatu organisasi (Connolly dan Begg, 2002 ,p.14). Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBM S). Sistem basis data dipelajari dalam ilmu informasi. Istilah "basis data" berawal dari ilmu komputer. M eskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, pada intiya adalah mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kwitansi dan kumpulan data yang berhubungan dengan bisnis. Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. M odel yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya
33 menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. M odel yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel. Istilah basis data mengacu pada koleksi dari data-data yang salin g berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya
sudah
jelas,
banyak
administrator
dan
programer
menggunakan istilah basis data untuk kedua arti tersebut.
2.2.7.1. Oracle Basis data Oracle adalah basis data relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen basis data RDBM S. Perusahaan perangkat lunak Oracle memasarkan jenis basis data ini untuk bermacam-macam aplikasi yang bisa berjalan pada banyak jenis dan merk perangkat keras komputer (platform). Basis data Oracle ini pertama kali dikembangkan oleh Larry Ellison, Bob M iner dan Ed Oates lewat perusahaan konsultasinya bernama Software Development Laboratories (SDL) pada tahun 1977. Pada tahun 1983, perusahaan ini berubah nama menjadi Oracle Corporation sampai sekarang.
34 2.2.7.2. Apache Server HTTP Apache atau Server Web/WWW Apache adalah server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, M icrosoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini mengunakan HTTP. Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigur, autentikasi berbasis basis data dan lain-lain. Apache juga didukung oleh sejumlah antarmuka pengguna
berbasis
grafik
(GUI)
yang memungkinkan
penanganan server menjadi mudah. Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation. Pada awal mulanya, Apache merupakan perangkat lunak sumber terbuka yang menjadi alternatif dari server web Netscape (sekarang dikenal sebagai Sun Java System Web Server). Sejak April 1996 Apache menjadi server web terpopuler di internet. Pada M ei 1999, Apache digunakan di 57% dari semua web server di dunia. Pada November 2005 persentase ini naik menjadi 71%. (Netcraft Web Server Survey, November 2005).
35 Asal mula nama Apache berasal ketika sebuah server web populer yang dikembangkan pada awal 1995 yang bernama NCSA HTTPd 1.3 memiliki sejumlah perubahan besar terhadap kode sumbernya (patch). Saking banyaknya patch pada perangkat lunak tersebut sehingga disebut sebuah server yang memiliki banyak patch ("a patchy" server). Tetapi pada halaman FAQ situs web resminya, disebutkan bahwa "Apache" dipilih untuk menghormati suku asli Indian Amerika Apache (Indé), yang dikenal karena keahlian dan strategi perangnya. Versi 2 dari Apache ditulis dari awal tanpa mengandung kode sumber dari NCSA. Apache adalah komponen server web dari paket perangkat
lunak
LAM P
(Linux,
PHP/Perl/bahasa pemrograman Python).
Apache,
M ySQL,