Keamanan merupakan keprihatinan bagi pengembangan
setiap jenis aplikasi. Namun demikian,
Web aplikasi mengungkapkan
karakteristik tertentu yang harus
diperhitungkan saat merancang keamanan mereka fungsi dan bahwa permintaan untuk teknik keamanan bahkan lebih komprehensif dibandingkan dengan jenis lain dari aplikasi. Misalnya,
berbeda dengan program yang diinstal pada host
tunggal, aplikasi web yang tersedia untuk
umum melalui Internet, dimaksudkan
untuk mencapai besar jumlah pengguna potensial. Jadi, misalnya otentikasi dan otorisasi pengguna memiliki untuk diterapkan secara berbeda dari single-user sistem.
Keamanan istilah itu sendiri adalah penyedia cukup
abstrak dan layanan dan klien dari aplikasi Web
dapat memiliki pengertian yang berbeda
itu. Hal ini, misalnya,
termasuk masalah privasi,
pencegahan menguping ketika pesan yang dipertukarkan melalui saluran yang dapat diakses publik,
dan dapat diandalkan penyediaan jasa.
Seringkali, fokus utama dalam merancang aplikasi web
terletak pada fungsi mereka, yang disebut logika bisnis, kegunaan intuitif
mereka, dan kemampuan mereka untuk menarik pelanggan. Namun, mengobati masalah
keamanan sekunder memiliki dampak pada keberhasilan (komersial) dari aplikasi
Web sebagai baik. Klien berharap aplikasi Web menjadi aman sehingga data
pribadi ditangani dengan hati-hati. Artinya, tidak dipercaya dan pihak ketiga
berpotensi berbahaya harus dicegah dari mengakses informasi pribadi. Terlepas
dari ini, penyedia layanan tidak boleh menyalahgunakan data pribadi, misalnya,
dengan bertukar informasi kontak dengan bekerja sama penyedia tanpa persetujuan
klien. Untuk penyedia layanan, risiko keamanan beberapa ada juga: jika
penyerang berhasil mengeksploitasi kelemahan dalam implementasi layanan atau
platform layanan yang mendasari, informasi bisnis penting seperti data tentang
perintah, misalnya, nomor kartu kredit atau stok produk dapat diakses dan /
atau dimodifikasi. Selain itu, ketersediaan layanan dapat dikurangi dengan cara
ini. Dengan demikian, keamanan kerentanan dapat menyebabkan kerugian keuangan
dan dampak hukum bagi kedua klien dan penyedia. Gambar 13-1 menggambarkan aspek
yang berbeda dari keamanan yang biasanya berlaku untuk penyediaan aplikasi Web
oleh penyedia layanan dan doa melalui klien.
1)
Mengamankan
komputer pengguna akhir dan data pribadi yang tersimpan di dalamnya. Klien
komputer dan dokumen yang disimpan dalam sistem file harus dilindungi dari
akses yang tidak sah melalui pihak ketiga yang mungkin berbahaya. Untuk klien
itu adalah penting bahwa data pribadi, seperti informasi kontak atau nomor
kartu kredit, yang dirahasiakan.
2)
Mengamankan
informasi dalam perjalanan. Menguping dan modifikasi pesan harus dicegah. Pesan
aman juga mencakup otentikasi dan otorisasi dari berkomunikasi partai dan non
penolakan pesan.
Mengamankan
server dan data yang tersimpan di dalamnya. Ketersediaan layanan, terancam
melalui denial-of-service (DoS) serangan, harus dipastikan. Selain itu, pihak yang
tidak berhak memiliki harus dicegah dari mendapatkan akses ke informasi pribadi
pelanggan dan karyawan dan sumber daya bisnis lebih lanjut lokal kritis,
misalnya, database lokal.
1.
Aspek keamanan
E-commerce
memiliki saluran pesan tidak aman, misalnya, Internet. dalam hal ini pertukaran
keamanan pesan antara dua entitas, Alice dan toko buku, termasuk bahwa keduanya
yakin satu sama lain dan yang memodifikasi data dalam transit dicegah. Selain
pesan aman, privasi dan keamanan sumber daya lokal harus dilestarikan.
a. Kerahasiaan
Komunikasi rahasia berarti bahwa pertukaran data
antara pelanggan dan penyedia tidak dapat dibaca oleh pihak ketiga. Enkripsi
adalah fondasi teknologi pesan rahasia pertukaran melalui saluran komunikasi
yang tidak aman. Pendekatan umum, misalnya, penggunaan saluran pribadi atau
virtual private network (VPN).
b. Integritas
Gagasan yang ketat dari integritas adalah bahwa tak
seorang pun mampu memodifikasi informasi yang dipertukarkan. Ketika komunikasi
aman, jaringan dapat diakses publik, pemalsuan tidak dapat dikesampingkan pada
umumnya, tetapi setidaknya mungkin untuk mendeteksi modifikasi data.
c. Non-repudation(penolakan)
Non-repudiation merupakan aspek penting dari kontrak
elektronik ditempatkan. Pencetus pesan, misalnya, pelanggan memesan buku di
sebuah toko online, seharusnya tidak dapat menyangkal perintah mereka
ditempatkan.
d. Otentikasi
Otentikasi adalah proses verifikasi identitas subjek
orang (yang bisa juga menjadi aplikasi lain yang mencoba layanan atas nama
pengguna manusia). otentikasi sering terjadi melalui mekanisme login /
password. Sebagai teknologi seperti layanan web yang dirancang antar-organisasi
aplikasi-untuk-aplikasi komunikasi dan tidak selalu bergantung pada interaksi
pengguna manusia, otentikasi kunci publik semakin penting.
e. Otorisasi
Otorisasi digunakan untuk menyimpulkan mana hak
pengguna otentik diberikan. Otorisasi dapat bergantung pada identitas peminta
dan atau pada karakteristik atribut seperti usia mereka (misalnya,
mempertimbangkan sebuah toko video online). Daftar kontrol akses (ACL) adalah
luas tetapi relatif tingkat rendah teknik untuk membentuk
keistimewaan-ke-pengguna tugas dalam sebuah organisasi. Fleksibel Peran kontrol
akses berbasis (RBAC) seperti yang dijelaskan dalam bab ini sangat cocok untuk
scalable Web aplikasi.
f.
Ketersediaan
Menjamin ketersediaan aplikasi Web adalah relevansi
ekonomi, sebagai downtime layanan biasanya menyiratkan kerugian finansial.
g. Privacy
Privasi menuntut penanganan data yang dapat
diandalkan, seperti informasi pribadi, misalnya, data kontak atau nomor kartu
kredit, tetapi juga file yang tersimpan pada sistem file lokal. Data tersebut
tidak boleh diakses kepada pihak ketiga yang tidak berwenang yang mungkin
menyalahgunakannya untuk pencurian identitas. Aspek keamanan yang berbeda disebabkan
oleh sifat kompleks aplikasi web, terutama kenyataan bahwa aplikasi web yang
berpotensi tersedia untuk semua orang melalui Internet dan komunikasi yang
berlangsung melalui saluran yang dapat diakses publik (tidak aman).
2.
Enkripsi, Digital Signature, dan Sertifikat.
Enkripsi adalah teknologi dasar untuk memungkinkan pesan aman (O'Neill
2003, Galbraith et al. 2002, Garfinkel 2002). Enkripsi (atau pengkodean)
berarti bahwa dengan menggunakan fungsi matematika teks biasa berubah menjadi
teks cipher. Dekripsi (atau mengartikan) menggambarkan sebaliknya proses,
yaitu, transformasi kembali teks cipher ke dalam teks biasa asli. Paling
algoritma kriptografi mengandalkan kunci sebagai barang rahasia untuk
penyandian dan menguraikan. Tanpa pengetahuan tentang kunci masing-masing, itu
adalah komputasi tidak layak untuk mendekripsi pesan, meskipun semua algoritma
enkripsi serius tersedia untuk umum. Kriptoanalisis menggambarkan upaya dan
dipekerjakan teknologi untuk memecahkan suatu enkripsi, misalnya, untuk menemukan
cara untuk memecahkan enkripsi berdasarkan beberapa teks cipher dan beberapa
teks biasa yang sesuai. Sebuah algoritma dikatakan kuat jika pencarian
kekerasan, yaitu, pengadilan tombol apa saja yang mungkin, adalah kemungkinan
serangan hanya dikenal. Kita membedakan antara algoritma enkripsi simetris dan
asimetris.
a. Symmetric Criptography
Menggunakan
enkripsi simetris, penerima pesan menggunakan kunci yang sama untuk
menghitung dataran teks dari teks cipher sebagai pengirim yang digunakan
untuk mengenkripsi itu.
b. Asymmetric Cryptography
Sebagai asimetris istilah menyarankan, pengirim dan
penerima menggunakan kunci yang berbeda untuk penyandian dan mengartikan.
Setiap peserta memiliki sepasang kunci yang terdiri dari satu D kunci pribadi
dan satu publik kunci E. Sedangkan kunci pribadi tidak terungkap, kunci publik
yang berpotensi tersedia untuk semua orang. Biarkan (E, D) menjadi pasangan
kunci publik / swasta book.store.com cf. contoh pada Gambar 13-5. Jika Alice
ingin mengirim pesan m ke toko buku, ia menggunakan E untuk enkripsi. Cipher
yang dihasilkan teks E (m) hanya dapat didekripsi menggunakan kunci
book.store.com 's swasta D, yaitu, D (E (m)) = m.
c. Digital Signatures
Ketika berkomunikasi melalui saluran yang dapat
diakses publik, data modifikasi melalui pihak ketiga harus dicegah, atau paling
tidak terdeteksi. Tanda tangan digital dapat digunakan untuk menjamin data yang
integritas, untuk memberikan non-repudiation, dan otentikasi identitas. Tanda
tangan digital bergantung pada hash algoritma dan kriptografi asimetris.
Terkenal algoritma hash MD5 (Message Mencerna Algoritma 5, Rivest 1992) dan
SHA-1 (Secure Hash Algorithm, Eastlake dan Jones 2001). Algoritma hash
menghitung sepotong kecil data dari sebuah blok data yang mungkin jauh lebih
besar. SHA-1 menghasilkan digest 160 bit blok data yang hingga 264
bit dalam ukuran. Digest yang dihasilkan adalah sebanding dengan sidik jari
atau checksum dari blok data. Setiap modifikasi data masukan mengarah ke tombol
hash yang sama sekali berbeda. Memiliki nilai hash dari sebuah pesan m,
katakanlah h’ (m), maka komputasi sangat mahal untuk membuat pesan m
(bermakna)? dengan h (m) = h (m’). Dengan demikian, hashing dapat digunakan
untuk melacak merusak usaha ekstra sangat sedikit. Namun, hashing saja tidak dapat
menjamin integritas pesan. Seorang "man in the middle" berbahaya
masih dapat memodifikasi pesan dan pada saat yang sama mengganti kunci hash
dengan, baru yang sesuai satu. Di sinilah enkripsi datang ke dalam bermain.
Mari kita asumsikan Alice ingin memastikan integritas m pesannya. Dia pertama
menghitung nilai hash masing, h (m).
0 komentar:
Posting Komentar