KEAMANAN WEB SISTEM
Keamanan Web ( Web
Security )
Keamanan data ada
beberapa macam, diantaranya Enkripsi, Firewall, Secure Socket Layerv,
Kriptografi, Pretty Good Privacy.
1.
Enkripsi adalah sebuah proses yang
melakukan perubahan sebuah kode dari yang bisa dimengerti menjadi sebuah kode
yang tidak bisa dimengerti (tidak terbaca). Enkripsi juga dapat diartikan
sebagai kode atau chipper.
2.
Firewall adalah suatu keamanan yang
bersifat seperti sebuah filter yang bertujuan untuk menjaga (prevent) agar
akses (ke dalam atau ke luar) dari orang yang tidak berwenang tidak dapat
dilakukan.
3.
Secure Socket Layerv adalah suatu bentuk
penyandian data sehingga informasi rahasia seperti nomor kartu kredit atau
kontrol autentikasinya tidak dapat dibaca atau di akses oleh pihak lain selain
pemiliknya dan server (pemilik servis).
4.
Kriptografi adalah seni menyandikan
data. Menyandikan tidak harus berarti menyembunyikan meskipun kebanyakan
algoritma yang dikembangkan di dunia kriptografi berhubungan dengan
menyembunyikan data.
5.
Pretty Good Privacy adalah salah satu
algoritma keamanan komunikasi data melalui internet untuk komunikasi harian
semacam electronic mail. PGP merupakan gabungan antara sistem pembiatan digest,
enkripsi simetris dan asimetris.
A. Enkripsi
Konvensional.
Proses enkripsi ini
dapat digambarkan sebagai berikut :
Plain teks ->
Algoritma Enkripsi -> Cipher teks ->Algoritma Dekrispsi -> Plain teks
User A |
| User B
|———————-Kunci (Key)
——————–|
Gambar 1
Informasi asal yang
dapat di mengerti di simbolkan oleh Plain teks, yang kemudian oleh algoritma
Enkripsi diterjemahkan menjadi informasi yang tidak dapat untuk dimengerti yang
disimbolkan dengan cipher teks. Proses enkripsi terdiri dari dua yaitu
algoritma dan kunci. Kunci biasanya merupakan suatu string bit yang pendek yang
mengontrol algoritma. Algoritma enkripsi akan menghasilkan hasil yang berbeda
tergantung pada kunci yang digunakan. Mengubah kunci dari enkripsi akan
mengubah output dari algortima enkripsi. Sekali cipher teks telah dihasilkan,
kemudian ditransmisikan. Pada bagian penerima selanjutnya cipher teks yang
diterima diubah kembali ke plain teks dengan algoritma dan dan kunci yang sama.
Keamanan dari enkripsi
konvensional bergantung pada beberapa faktor. Pertama algoritma enkripsi harus
cukup kuat sehingga menjadikan sangat sulit untuk mendekripsi cipher teks
dengan dasar cipher teks tersebut. Lebih jauh dari itu keamanan dari algoritma
enkripsi konvensional bergantung pada kerahasian dari kuncinya bukan
algoritmanya. Yaitu dengan asumsi bahwa adalah sangat tidak praktis untuk
mendekripsikan informasi dengan dasar cipher teks dan pengetahuan tentang
algoritma diskripsi / enkripsi. Atau dengan kata lain, kita tidak perlu menjaga
kerahasiaan dari algoritma tetapi cukup dengan kerahasiaan kuncinya.
Manfaat dari konvensional
enkripsi algoritma adalah kemudahan dalam penggunaan secara luas. Dengan
kenyataan bahwa algoritma ini tidak perlu dijaga kerahasiaannya dengan maksud
bahwa pembuat dapat dan mampu membuat suatu implementasi dalam bentuk chip
dengan harga yang murah. Chips ini dapat tersedia secara luas dan disediakan
pula untuk beberapa jenis produk. Dengan penggunaan dari enkripsi konvensional,
prinsip keamanan adalah menjadi menjaga keamanan dari kunci. Model enkripsi yang digunakan secara luas
adalah model yang didasarkan pada data encrytion standard (DES), yang diambil
oleh Biro standart nasional US pada tahun 1977. Untuk DES data di enkripsi
dalam 64 bit block dengan menggunakan 56 bit kunci. Dengan menggunakan kunci
ini, 64 data input diubah dengan suatu urutan dari metode menjadi 64 bit
output. Proses yang yang sama dengan kunci yang sama digunakan untuk mengubah
kembali enkripsi.
B. Enkripsi Public-Key
Salah satu yang menjadi
kesulitan utama dari enkripsi konvensional adalah perlunya untuk mendistribusikan
kunci yang digunakan dalam keadaan aman. Sebuah cara yang tepat telah
diketemukan untuk mengatasi kelemahan ini dengan suatu model enkripsi yang
secara mengejutkan tidak memerlukan sebuah kunci untuk didistribusikan. Metode
ini dikenal dengan nama enkripsi public-key dan pertama kali diperkenalkan pada
tahun 1976.
Plain teks ->
Algoritma Enkripsi -> Cipher teks -> Algoritma Dekrispsi -> Plain teks
User A |
| User B
Private Key B —-|
|———————-Kunci (Key)
——————–|
Gambar 2
Algoritma tersebut
seperti yang digambarkan pada gambar diatas. Untuk enkripsi konvensional, kunci
yang digunakan pada prosen enkripsi dan dekripsi adalah sama. Tetapi ini
bukanlah kondisi sesungguhnya yang diperlukan. Namun dimungkinkan untuk
membangun suatu algoritma yang menggunakan satu kunci untuk enkripsi dan
pasangannya, kunci yang berbeda, untuk dekripsi. Lebih jauh lagi adalah mungkin
untuk menciptakan suatu algoritma yang mana pengetahuan tentang algoritma
enkripsi ditambah kunci enkripsi tidak cukup untuk menentukan kunci dekrispi.
Sehingga teknik berikut ini akan dapat dilakukan :
Masing – masing dari
sistem dalam network akan menciptakan sepasang kunci yang digunakan untuk
enkripsi dan dekripsi dari informasi yang diterima.
Masing – masing dari
sistem akan menerbitkan kunci enkripsinya ( public key ) dengan memasang dalam
register umum atau file, sedang pasangannya tetap dijaga sebagai kunci pribadi
( private key ).
Jika A ingin mengisim
pesan kepada B, maka A akan mengenkripsi pesannya dengan kunci publik dari B.
Ketika B menerima pesan
dari A maka B akan menggunakan kunci privatenya untuk mendeskripsi pesan dari
A.
Seperti yang kita
lihat, public-key memecahkan masalah pendistribusian karena tidak diperlukan
suatu kunci untuk didistribusikan. Semua partisipan mempunyai akses ke kunci
publik ( public key) dan kunci pribadi dihasilkan secara lokal oleh setiap
partisipan sehingga tidak perlu untuk didistribusikan. Selama sistem mengontrol
masing – masing private key dengan baik maka komunikasi menjadi komunikasi yang
aman. Setiap sistem mengubah private key pasangannya public key akan
menggantikan public key yang lama. Yang menjadi kelemahan dari metode enkripsi
publik key adalah jika dibandingkan dengan metode enkripsi konvensional
algoritma enkripsi ini mempunyai algoritma yang lebih komplek. Sehingga untuk
perbandingan ukuran dan harga dari hardware, metode publik key akan
menghasilkan performance yang lebih rendah. Tabel berikut ini akan
memperlihatkan berbagai aspek penting dari enkripsi konvensional dan public
key.
ASPEK PENGAMANAN WEB SERVICE:
Secara umum ada 5 aspek keamanan dasar yang perlu
diperhatikan dalam mengimplementasikan sistem berbasis Web pada umumnya termasuk
dalam hal ini adalah aplikasi Web Service, yaitu : Authentication,
Authorization, Confidentiality, Data Integrity dan Non-Repudiation. Disamping
itu layanan aplikasi berbasis Web harus dapat memberikan konteks pengamanan
secara end-to-end, dimana setiap transaksi harus dapat dijamin keamanannya
mulai dari asal transaksi sampai dengan penyelesaian akhir transaksi sehingga
dapat mempertahankan keamanan yang konsisten di semua tahapan pengolahan
transaksi.
1. Otentikasi
Otentikasi (Authentication) merupakan proses untuk
mengidentifikasi Pengirim maupun penerima. Seperti halnya aplikasi berbasis Web
lainnya, Service requester perlu di-otentikasi oleh service provider sebelum
informasi dikirim. Sebaliknya, Service requester juga perlu meng-otentikasi
Service provider. Otentikasi sangat penting dan crucial diterapkan untuk
melakukan transaksi di Internet. Saat ini telah tersedia standard yang biasa
digunakan untuk menerapkan mekanisme Otentikasi pada aplikasi berbasis Web pada
umumnya, yaitu antara lain PKI, X.509 Certificate, Karberos, LDAP, dan Active
Directory. Dalam kaitannya dengan Web Service, dokumen WSDL dapat dirusak
melaluji serangan spoofing sedemikian hingga Service requester berkomunikasi
bukan dengan Service privider sesungguhnya, melainkan dengan Spoofed Web
Service. Oleh karena itu, dokumen WSDL perlu di-otentikasi untuk menjamin
integritas data.
2. Otorisasi
Otorisasi (authorization) menjamin bahwa requester
yang telah berhasil melakukan otentikasi dapat meng-akses sumber daya yang ada
sesuai dengan karakteristik akses (access control) yang disediakan. Aplikasi
berbasis Web perlu melindungi data front-end maupun back-end dan sumber daya
sistem lainnya dengan menerapkan mekanisme kontrol akses, sebagai contoh : apa
yang dapat dilakukan oleh user/aplikasi, sumber daya apa yang dapat diakses,
dan operasi apa yang dapat dilakukan terhadap data tersebut.
3. Confidenciality
Confidentiality menjamin kerahasiaan (privacy)
terhadap data/informasi yang dipertukarkan yaitu dengan melindungi
data/informasi agar tidak mudah dibaca oleh entitas (orang atau aplikasi) yang
tidak berhak. Standard yang biasa digunakan untuk menjaga kerahasiaan data yang
dikirim adalah menggunakan teknologi Enkripsi, misalnya dengan metode Digital
Signature. Service requester menandatangani dokumen yang dikirimkan dengan
suatu private key, dan mengirimkannya bersamaan dengan body of message. Service
provider kemudian dapat memverifikasi tandatangan tersebut dengan sender’s
private key untuk melihat apakah ada bagian dari dokumen yang telah berubah.
Dengan cara ini, sistem dapat menjamin integritas data ketika melakukan
komunikasi satu sama lain.
4. Integritas
Data
Integritas data menghendaki bahwa komunikasi antara
client dan server dilindungi dari adanya kemungkinan untuk merubah data oleh
user/aplikasi yang tidak memiliki hak untuk melakukan perubahan data. Dengan
kata lain, Integritas Data menjamin bahwa data tidak berubah selama proses
pengiriman data dari sumber ke tujuan. Standard yang biasa digunakan untuk
mengamankan jalur komunuikasi berbasis Internet adalah Secure Socket
Layer/Transport Layer Security (SSL/TSL) dengan menggunakan protokol HTTPS.
Seperti suda dijelaskan tersebut diatas, SSL/TSL memiliki konteks keamanan yang
bersifat point-to-poin antara Service requestor dan Service provider. Akan
tetapi dalam banyak hal, service provider bukan tujuan final dari pesan yang
dikirimkan. Service provider dapat bertindak sebagai Service requestor yang
mengirimkan pesan ke berbagai Service provider lainnya, Untuk mengamankan
mekanisme transaksi seperti tersebut diatas, dibutuhkan mekanisme keamanan
dengan konteks end-to-end security, yaitu dengan menggunakan standard XML
Encryption dengan cara meng-enkrip sebagian dari
format pesan, dimana bagian payload dari pesan
di-enkrip, sedang bagian Header digunakan untuk kebutuhan routing.
5. Non-Repudiation.
Non-repudiation menjamin bahwa masing-masing pihak
yang terlibat dalam transaksi (client & service provider) tidak dapat
menyangkal terjadinya transaksi yang telah dilakukan. Mekanisme ini dapat
dilakukan dengan menggunakan teknologi digital signature dan timestamping.
Dengan teknologi digital signature, Sevice provider tidak hanya memberikan
bukti bahwa telah terjadi transaksi, tetapi juga merekam tranksaksi pesan
kedalam audit log yang telah ditandatangani pula. Sekali audit log telah
ditandatangani, ia tidak dapat dimodifikasi (oleh Hacker) tanpa merubah tan
Komentar
Posting Komentar