MATERI PEMROGRAMAN WEB DINAMIS KELAS XII
1. APLIKASI WEB STATEFULL
Adalah aplikasi web dimana informasi
yang diberikan sebelumnya disimpan dan mempengaruhi konten/informasi/data yang
akan diberikan setelahnya.
B. Ciri-CIri
- Session
Menyimpan informasi tentang preferensi yang kita berikan, membuat suatu
sesi yang unik untuk kita.
- Cookies
Data yang menyimpan informasi.
- Cache
Suatu mekanisme dimana web document seperti HTML dan gambar disimpan
sementara untuk mengurangi pemakaian bandwitd dan mempercepat loading.
2. SESSION PADA SISI SERVER
A. Pengertian
Cara untuk menjaga suatu variable tetap ada selama sesi
kunjungan user. Meskipun berpindah – pindah halaman, variable session tetap ada
dan bisa diakses sampai session ditutup.
B. Cara Kerja
- Pengunjung
mengakses web (memulai session).
- Pengunjung
diberi pengenal berupa session id.
- Pengunjung
melanjutkan session, mengirim session id nya untuk memperoleh kembali
variable-variable session miliknya yang telah disimpan server.
- Pengiriman
session id ke server melalui 2 cara :
- Default,
dikirim melalui cookies
- Melalui
query string
Session berakhir saat fungsi session_destroy() dipanggil
sewaktu – waktu user menutup web browsernya.
3. AUTENTIKASI USER APLIKASI WEB
Proses dalam rangka validasi user pada saat memasuki sistem
web. Nama dan password dari user dicek melalui proses yang mengecek langsung ke
daftar mereka yang diberikan hak untuk memasuki sistem tersebut.
4. COOKIES PADA SISI CLIENT
A. Pengertian
Adalah salah satu cara untuk menciptakan suatu statefull
session dengan HTTP. Cookies ini berupa informasi dalam bentuk teks yang
dipertukarkan oleh client dan server.
B. Karakteristik
- Cookie
dipakai untuk menyimpan informasi di sisi client oleh suatu server.
- Cookie
bisa dipakai untuk menyimpan informasi login untuk digunakan pada halaman
– halaman berikutnya.
- Cookie
bisa untuk menyimpan informasi tambahan agar tidak perlu login lagi setiap
kali mengunjungi website.
2. Keamanan Aplikasi Web
Keamanan data ada beberapa macam, diantaranya Enkripsi,
Firewall, Secure Socket Layerv, Kriptografi, Pretty Good Privacy.
- 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.
- 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.
- 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).
- Kriptografi adalah seni
menyandikan data. Menyandikan tidak harus berarti menyembunyikan
meskipun kebanyakan algoritma yang dikembangkan di dunia kriptografi
berhubungan dengan menyembunyikan data.
- 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.
Enkripsi Untuk Keamanan Data Pada Jaringan
Salah satu hal yang penting dalam komunikasi menggunakan
computer untuk menjamin kerahasian data adalah enkripsi. Enkripsi dalah sebuah
proses yang melakukan perubahan sebuah kode dari yang bisa dimengerti menjadi
sebuah kode yang tidak bisa dimengerti (tidak terbaca). Enkripsi dapat
diartikan sebagai kode atau chiper. Sebuah sistem pengkodean menggunakan
suatu table atau kamus yang telah didefinisikan untuk mengganti kata dari
informasi atau yang merupakan bagian dari informasi yang dikirim. Sebuah chiper
menggunakan suatu algoritma yang dapat mengkodekan semua aliran data (stream)
bit dari sebuah pesan menjadi cryptogram yang tidak dimengerti (unitelligible).
Karena teknik cipher merupakan suatu sistem yang telah siap untuk di automasi,
maka teknik ini digunakan dalam sistem keamanan komputer dan network. Pada
bagian selanjutnya kita akan membahas berbagai macam teknik enkripsi yang biasa
digunakan dalam sistem sekuriti dari sistem komputer dan network.
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 kuatsehingga
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.
Enkripsi Konvensional
Yang dibutuhkan untuk bekerja :
- Algoritma
yang sama dengan kunci yang sama dapat digunakan untuk proses dekripsi –
enkripsi.
- Pengirim
dan penerima harus membagi algoritma dan kunci yang sama.
Yang dibutuhkan untuk keamanan :
- Kunci
harus dirahasiakan.
- Adalah
tidak mungkin atau sangat tidak praktis untuk menerjemahkan informasi yang
telah dienkripsi.
- Pengetahuan
tentang algoritma dan sample dari kata yang terenkripsi tidak mencukupi
untuk menentukan kunci.
Enkripsi Public Key
Yang dibutuhkan untuk bekerja :
- Algoritma
yang digunakan untuk enkripsi dan dekripsi dengan sepasang kunci, satu
untuk enkripsi satu untuk dekripsi.
- Pengirim
dan penerima harus mempunyai sepasang kunci yang cocok.
Yang dibutuhkan untuk keamanan :
- Salah
satu dari kunci harus dirahasiakan.
- Adalah
tidak mungkin atau sangat tidak praktis untuk menerjemahkan informasi yang
telah dienkripsi.
- Pengetahuan
tentang algoritma dan sample dari kata yang terenkripsi tidak mencukupi
untuks menentukan kunci.
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.
- 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.
- 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.
- 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.
- 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.
- 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).
3. PUBLIKASI APLIKASI WEB
A. PRINSIP PEMILIHAN WEB HOSTING
1. KAPASITAS RUANG PENYIMPAN
Untuk menampung file – file website serta
memilih kapasitas yang sesuai website.
2. KEHANDALAN DAN KECEPATAN
Untuk memastikan hosting yang dipilih dan
diandalkan, kecepatan juga penting jangan sampai website respondnya lama karena
kualitasnya yang tidak bagus.
3. SUPPROT
Hosting adalah orang yang paling
dibutuhkan, jadi pastikan menyediakan layanan dan support yang baik
4. HARGA
Harga yang ditawarkan oleh pengelola web
hosting, biasanya memilih paket – paket harga tertentu
5. BATASAN TRANSFER DATA
Pastikan batasan transfer yang didapat
cukup tinggi untuk menampung semua data dipublikasikan diwebsite / blog yang
dilihat oleh setiap orang.
B. PENGELOLAAN APLIKASI WEB DALAM WEB HOSTING
1. KOMUNIKASI
Cara melakukan akses email, membuat
account email diweb hosting dan diprogram pengelolaan email (email client
missal outlook express) dan melakukan akses email (akses kemail box) melalui
browser (IE, Firefox, Google Chrome).
2. DATA
Uploud dan download berbagai data, cara
pengoperasian proram FTP untuk menguploud file dan mendownload file/data. Selain
menggunakan FTP bias juga menggunakan browser.
3. MAINTENANCE
Menggunakan panel (sebuah aplikasi
pengelolaan fitur web hosting) untuk mengakses berbagai fitur yang disebut
account web hosting.
Misalnya : membuat account email, account FTP, mengelola file – file,
back up data, mengelola database, menginstall aplikasi / scripts, mengelola sub
domain, dll.


Komentar
Posting Komentar