Pages

Subscribe:

Blogroll

Selasa, 25 Desember 2012

Isu keamanan client dan penyedia layanan(Server)


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).