7 BAB 2 LANDASAN TEORI 2.1. Teori

advertisement
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,
Download