(PEMROGRAMAN WEB DINAMIS) MATERI PEMROGRAMAN WEB DINAMIS KELAS XII
1. APLIKASI WEB STATEFULL
1. APLIKASI WEB STATEFULL
A. Pengertian
Adalah aplikasi web dimana informasi yang diberikan sebelumnya
disimpan dan mempengaruhi konten/informasi/data yang akan diberikan
setelahnya.
B. Ciri-CIri
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
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
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
- 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
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
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 :
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 :
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.
Comments
Post a Comment