TUGAS PENGAMANAN E-COMMERCE Oleh: Ratih Triyuda (08053111047) TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA PALEMBANG Mei 2008 Bab 1. Pendahuluan 1.1 Latar Belakang judul Pada zaman sekarang ini teknologi semakin canggih,apalagi sekarang ini akses internet semakin mudah dan murah.Kebanyakan orang sekarang berbelanja keperluan sehari –hari secara on-line melalui internet atau dengan kata lain E-commerce.Dengan Ecommerce kehidupan yang semakin sibuk akan terbantu karena semakin praktis dan efisien waktu yang digunakan. E-commerce merupakan sebuah sarana untuk melakukan transaksi keuangan secara online. Sarana ini berkembang pesat sejak awal penggunaannya di tahun 1970an. Saat itu e-commerce hanya berkisar pada dokumen komersial seperti order pembelian atau invoice secara elektronik. Kini e-commerce telah mencakup transaksi kartu kredit, enterprise resource planning, dan lain sebagainya. Makalah ini membahas tentang pengamanan pada teknologi ecommerce. E-commerce merupakan sebuah sarana untuk melakukan transaksi keuangan secara online.E-commerce memerlukan pengamanan data.Adapun pengamanan data pada E-commerce yaitu : o metode pengamanan dalam jaringan adalah penggunaan teknologi Secure Socket Layer(SSL). o teknologi Sertifikat Digital yang memungkinkan client mengetahui apakah halaman situs yang diaksesnya asli atau palsu o Dari sisi server adalah ketersediaan tekmologi SSL, Digital Certificate, enkripsi data, dan sebagainya. o Sementara dari sisi client adalah kesiapan client/browser untuk menandingi kemampuan server,seperti kemampuan browser dalam menjalankan SSL. Banyak ancaman yang mengintai para pengguna e-commerce. Salah satunya adalah phishing.Kejahatan ini memanfaatkan penggunaan situs palsu untuk menipu pengguna e-commerce sehingga bila si pengguna mengakses situs tersebut informasi-informasi penting dari dirinya dapat dicuri oleh si pelaku kejahatan. Kejahatan ini selain mengandalkan teknologi juga mengandalkan ketidakhati-hatian pengguna dalam mengakses situs e-commerce. 1.2 Tujuan penelitian Tujuan dari penelitian yaitu untuk menganalisa pengamanan pada Ecommerce,agar tidak merugikan siapapun dalam transaksi atau pembelanjaan secara on-line jika terjadi kebocoran data. 1.3 Metode Penelitian yang di Lakukan Metode penelitian yang digunakan yaitu secara observasi, browsing di internet,dan matakuliah keamanan jaringan computer tentang kriptografi. Bab 2. Landasan Teori Adapun landasan teori yang mendukung pengamanan Ecommerce yaitu : 1. Digital signature sebagai otentikasi data dengan fungsi Hash 2. Protokol kriptografi Fungsi Hash memetakan pesan M dengan panjang berapapun menjadi nilai hash h dengan panjang tetap(tertentu,tergantung algoritma). Sifat –sifat fungsi Hash : Menghasilkan nilai h yang mudah dihitung bila diberikan M. Umumnya fungsi hash menghasilkan keluaran nilai h dengan panjang 128 bit. M tidak dapat dihitung jika hanya diketahui h (sifat one-way function), atau mudah untuk menghitung h dan sukar untuk dikembalikan ke M semula. Tidak mungkin dicari M dan M’ sedemikian sehingga H(M)=H(M’) (sifat collision free). Fungsi hash yang menghasilkan keluaran dengan ukuran yang kecil mudah diserang oleh birthday attack. Contoh Fungsi Hash: Nama Algoritma MD2 MD4 MD5 SHA-1 RIPE-MD160 Digital Signature : Sering diartikan tanda tangan elektronik Bukan tanda tangan di kertas yang discan menjadi image Adalah teknik kriptografi untuk menjamin otentikasi pesan dan pengirim pesan Digunakan untuk otentikasi (menjamin keaslian pesan dan keaslian pengirim pesan) Menggunakan fungsi hash Menggunakan algoritma kunci asimetri. Prinsip Signature : 1. Pesan diproses dengan fungsi hash H menhasilkan nilai has (message digest) 2. Nilai hash dienkripsi dengan kriptografi kunci asimetri menggunakan kunci public pengirim (Pb). 3. Nilai hash yang telah dienkripsi digabung dengan pesan asli (M) 4. Pesan yang telah digabung dikirimkan melalui jaringan komputer terbuka (Internet) 5. Sesampainya di penerima, pesan asli dipisahkan lagi dari nilai hash yang terekripsi. 6. Nilai hash yang terenkripsi kemudian didekripsi dengan kunci privat pengirim. 7. Hasil dekripsi tersebut kemudian dibandingkan dengan pesan asli (M) 8. Jika hasil perbandingan sama maka pesan asli (tidak mengalami perubahan saat ditransmisikan) dan pesan berasal dari pengirim yang dikehendaki oleh penerima pesan (karena berhasil didekripsi dengan kunci public pengirim yang simpan pihak penerima) 9. Jika hasil perbandingannya berbeda maka berarti pesan telah diubah penyerang saat ditransmisikan atau pengirim pesan adalah bukan pihak yang dikehendaki oleh penerima (berarti penyerang) Pesan diproses dengan fungsi hash H menhasilkan nilai has (message digest).Nilai hash dienkripsi dengan kriptografi kunci asimetri menggunakan kunci public pengirim (Pb). Sekema ini selain menghasilkan otentikasi juga menghasilkan tanda tangan elektronik, karena hanya A yang dapat menghasilkan kode hash yang terenkripsi. Protokol Kriptografi adalah suatu protokol yang menggunakan kriptografi dengan melibatkan sejumlah algoritma kriptografi. Protokol memiliki urutan dari awal hingga akhir, Setiap langkah harus dilaksanakan secara berurutan, Suatu langkah tidak dapat dikerjakan bila langkah sebelumnya belum selesai, Diperlukan dua pihak atau lebih untuk melaksanakan protokol, Protokol harus mencapai suatu hasil. Karakter Protokol Setiap pihak yang terlibat dalam protokol harus mengetahui terlebih dahulu mengenai protokol dan seluruh langkah yang akan dilaksanakan, Setiap pihak yang terlibat dalam protokol harus menyetujui untuk mengikutinya, Protokol tidak boleh menimbulkan kerancuan, Protokol harus lengkap. Guna Protokol Komputer memerlukan protokol formal agar dapat melakukan hal yang biasa dilakukan manusia tanpa berpikir. Protokol digunakan untuk mengabtraksikan proses penyelesaian suatu tugas dari mekanisme yang digunakan. Sebagian besar protokol kriptografi dirancang untuk dipakai oleh kelompok yang terdiri dari 2 orang pemakai, tetapi ada juga beberapa protokol yang dirancang untuk dipakai oleh kelompok yang terdiri dari lebih dari dua orang pemakai (misalnya pada aplikasi teleconferencing) Personifikasi Pihak yang Terlibat dalam Protokol Kriptografi Nama Peranan Alice Orang pertama (dalam semua jenis protokol) Bob Orang kedua (dalam semua jenis protokol) Carol Orang ketiga dalam protokol tiga orang atau lebih Dave Orang keempat dalam protokol empat orang atau lebih Eve Penyadap (eavesdropper) Mallor Penyerang aktif yang jahat Trent Juru penengah (arbitrator) yang dipercaya y Jenis protocol kriptografi : a) Arbritated protocol o Komunikasi antara Alice dan Bob memerlukan Trent sebagai juru penengah (artbritator) yang dipercaya oleh keduanya. o Komunikasi antara Alice dan Bob tidak secara langsung tapi harus melalui Trent untuk menjamin kemanan komunikasi antara keduanya. o Hal ini untuk pencegahan agar terhindar dari perselisihan akibat pihak lain menyerang penipuan/manipulasi) melalui protokol. (melakukan b) Adjudicated protocol o Biaya sewa juru penengah dalam suatu protokol adalah mahal o arbritated protocol dapat dipecah menjadi dua tingkatan sub protokol yang lebih rendah. o Tingkatan yang pertama adalah protokol tanpa juru penengah yang dipakai setiap saat diperlukan komunikasi. o Tingkatan kedua adalah protokol dengan juru penengah yang dipakai hanya untuk pengecualian jika ada perselisihan antara kedua pihak yang berkomunikasi. o Juru penengah untuk keperluan khusus ini disebut juru putus/hakim (adjudicator) c) Self-enforcing protocol o Jika salah satu pihak berusaha curang/menipu maka pihak lain akan segera mendeteksi kecurangan tersebut dan protokol dihentikan. o Sebaiknya seluruh protokol dirancang sesuai jenis ini, tetapi sayangnya protokol jenis ini tidak selalu cocok untuk segala situasi. o Jika salah satu pihak berusaha curang/menipu maka pihak lain akan segera mendeteksi kecurangan tersebut dan protokol dihentikan. o Sebaiknya seluruh protokol dirancang sesuai jenis ini, tetapi sayangnya protokol jenis ini tidak selalu cocok untuk segala situasi. Contoh protocol kriptografi adalah : SSL (Secure Socket Layer) SSH (Secure Shell) Bab 3. Pembahasan Secure Socket Layer (SSL) Secure Socket Layer merupakan teknologi yang telah lama dipakai dalam jaringan internet. Usianya kini lebih dari sepuluh tahun.SSL merupakan salah satu teknologi yang paling banyak dipakai. SSL adalah teknologi yang matang dan stabil tapi tidak berarti SSL menjadi jawaban bagi semua permasalahan keamanan dalam ecommerce.Secure Socket Layer (SSL) adalah protocol yang digunakan untuk browsing web secara aman. Dalam hal ini, SSL bertindak sebagai protocol yang mengamankan komunikasi antara client dan server. Protokol ini memfasilitasi penggunaan enkripsi untuk data yang rahasia dan membantu menjamin integritas informasi yang dipertukarkan antara website dan web browser.SSL dikembangkan oleh Netscape Communications pada tahun 1994, dan menjadi protokol yang umum digunakan untuk komunikasi aman antara dua computer pada internet. SSL dibangun ke dalam beberapa web browser (termasuk Netscape Communicator dan Internet Explorer). Ada beberapa versi SSL, versi 2 dan versi 3. Namun, versi 3 paling banyak digunakan saat ini. Untuk memastikan apakah Internet Explorer sudah siap menjalankan protokol SSL, klik dariIE: Tools Internet Options Advanced Lalu cari pilihan Security, kemudian periksa apakah SSL versi 2.0 atau SSL versi 3.0 telah diberi tanda ceklis (Gambar 2).SSL beroperasi antara protokol komunikasi TCP/IP (Transmission Control Protocol/Internet Protocol) dan aplikasi (lihat Gambar 3). SSL seolaholah berlaku sebagai lapisan (layer) baru antara lapisan Transport (TCP) dan lapisan aplikasi. TCP/IP adalah standard protokol yang digunakan untuk menghubungkan komputer dan jaringan dengan jaringan dari jaringan yang lebih besar,yaitu internet. Lapisan dan protokol untuk browsing dengan SSL. Application (HTTP, FTP, Telnet) Security (SSL) Transport (TCP) Network (IP) Data Link (PPP) Physical (modem, ADSL, cable TV) dari pengirim dilewatkan melalui socket (port khusus yang menerima dan mengirim informasi dari jaringan dengan mode byte stream). Socket kemudian menerjemahkan pesan tersebut melalui protokol TCP/IP(Transmission Control Protocol/Internet Protocol). Cara Kerja TCP/IP (tanpa SSL) Kebanyakan transmisi pesan di internet dikirim sebagai kumpulan potongan pesan yang disebut paket. Pada sisi pengiriman, paket- paket dari sebuahpesan diberi nomor secara sekuensial. IP bertanggung jawab untuk merutekan paket (lintasan yang dilalui paket),dan setiap paket mungkin menempuh rute yang berbeda di dalam internet. Tujuan sebuah paet ditentukan oleh IP address, yaitu nomor yang digunakan untuk mengindentifikasi sebuah komputer pada sebuah jaringan.Pada sisi penerima, TCP memastikan bahwa suatu paket sudah sampai, menyusunnya sesuai nomor urut, dan menentukan apakah paket tiba tanpa mengalami perubahan (misalnya berubah kasena physical error selama transmisi). Jika paket mengalami perubahan atau ada data yang hilang, TCP meminta pengiriman ulang. Bila semua paket dari pesan berhasil mancapai TCP/IP, pesan tersebut kemudian dilewatkan ke socket penerima. Socket tersebut menerjemahkan pesan kembali menjadi bentuk yang dibaca oleh aplikasi penerima (contoh aplikasi adalah HTTP, FTP, Telnet). Cara Kerja TCP/IP (menggunakan SSL) Dari penjelasan sebelumnya dapat diketahui bahwa pada dasarnya TCP/IP tidak memiliki pengamanan komunikasi yang bagus. Bahkan,TCP tidak cukup canggih menentukan bilamana suatu paket berubah karena diubah oleh pihak ketiga (musuh), karena paket yang diubah tersebut dapat dianggap oleh TCP sebagai paket yang benar. Pada transaksi yang menggunakan SSL, SSL membangun hubungan (connection) yang aman antara dua socket, sehingga pengiriman pesan antara dua entitas dapat dijamin keamanannya. SSL disusun oleh dua sub-protokol: 1. SSL handshaking, yaitu sub-protokol untuk membangun koneksi(kanal) yang aman untuk berkomunikasi. 2. SSL record, yaitu sub protokol yang menggunakan kanal yang sudah aman. SSL record membungkus seluruh data yang dikirim selama koneksi. SSL mengimplementasikan kriptografi kunci menggunakan algoritma RSA dan sertifikat public dengan digital untuk mengotentikasi server di dalam transaksi san untuk melindungi informasi rahasia yang dikirim antara dua buah socket. Server selalu diotentikasi, sedangkan client tidak harus diotentikasi oleh server. Server diotentikasi agar client yakin bahwa ia mengakses situs web yang sah (dan bukan situs web palsu yang menyamar seolah-olah benar ia adalah server yang asli. Client tidak harus diotentikasi oleh server karena kebanyakan server menganggap nomor kartu kredit sudah cukup untuk mengotentikasi client.Perlu dicatat bahwa SSL adalah protocol clientserver, yang dalam hal ini web browser adalah client dan website adalah server. Client yang memulai komunikasi, sedangkan server memberi respon terhadap permintaan client.Protokol SSL tidak bekerja kalau tidak diaktifkan terlebih dahulu (biasanya dengan meng-klik tombol yang disediakan di dalam web server yang diakses oleh client. 1. Sub-protokol handshaking Sub protokol handshaking diperlihatkan pada Gambar 4. Dari gambar tersebut terlihat bahwa SSL dimulai dengan pengiriman pesan Hello dari client ke server. Server merespon dengan mengirim pesan Hello dan sertifikat digital untuk otentikasi.Sertifikat digital berisi kunci public server. Di dalam browser client terdapat daftar Certification Authority yang dipercaya. Jika sertifikat digital ditandatangani oleh salah satu Certification Authority di dalam daftar tersebut, maka client dapat memverifikasi kunci publik server. Setelah prose otentifikasi selesai, server mengirimkan pesan server done kepada client.Selanjutnya, client dan server menyepakati session key untuk melanjutkan transaksi melalui proses yang disebut key exchange.Session key adalah kunci rahasia yang digunakan selama transaksi. Nantinya,komunikasi antara client dan server dilakukan dengan menggunakan session key ini. Data yang akan ditransmisikan sienkripsi terlebih dahulu dengan session key melalui protocol TCP/IP. Proses key exchange diawali dengan client mengirim nilai acak 384-bit yang disebut premaster key kepada server. Nilai acak ini dikirim dalam bentuk terenkripsi (dienkripsi dengan kunci publik server). Melalui perhitungan yang cukup kompleks, client dan server menghitung session key yang diturunkan dari premaster key. Setelah pertukaran kunci, client dan server menyepakati algoritma enkripsi. SSL mendukung banyak algoritma enkripsi, antara lain DES, IDEA, RC2, dan RC4. Sedangkan untuk fungsi hash, SSL mendukung algoritma SHA dan MD5. Gambar4. Sub-protokol handshaking untuk membangun koneksi yang aman. Client mengirim pesan bahwa ia sudah selesai mambangun subprotokol. Server merespon client dengan mengirim pesan 8 dan 9 (change cipher dan finished). Sampai di sini, proses pembentukan kanal yang aman sudah selesai.Bila sub-protokol ini sudah terbentuk, maka http:// pada URL akan berubah menjadi https:// (http secure). Proses SSL yang cukup panjang ini menyebabkan sistem menjadi lambat. Oleh karena itu, SSL diaktifkan hanya bila client membutuhkan transmisi pesan yang benar- benar aman. 2. Sub-protokol SSL Record Setelah kanal yang menggunakannya aman untuk terbentuk, menjalankan client dan sub-protokol server kedua (SSL Record) untuk saling berkirim pesan. Misalnya client mengirim HTTP request ke server, dan server menjawab dengan mengirim HTTP response.Pesan dari client ke server (dan sebaliknya) dikirim dalam bentuk terenkripsi (pesan dienkripsi dengan menggunakan session key).Tetapi, sebelum pesan dikirim dengan TCP/IP,protokol SSL melakukan proses pembungkusan data sebagai berikut: 1. Pesan dipecah menjadi sejumlah blok(fragment) yang masing-masing panjangnya 16KB; setiap blok diberi nomor urut sekuensial. 2. Setiap blok kemudian dikompresi,lalu hasil kompresi disambung (concate) dengan session key. 3. kemudian, hasil dari langkah 2 di atas di-hash dengan algoritma MD5 (ataualgoritma hash lain yang disepakati).Nilai hash ini ditambahkan ke setiap blok sebagai MAC (Message Authentication Code). Jadi, MAC dihitung sebagai berikut: MAC = Hash(session key,compressed data block). 4. Hasil dari langkah 3 kemudiandienkripsi dengan algoritmakriptografi seimetri (misalnya RC4) 5. Terakhir, hasil dari langkah 4 diberi header (2 atau 3 byte), baru kemudian dikirim melalui koneksi TCP/IP amanyang terbentuk sebelumnya. Gambar 5. Pembungkusan pesan oleh SSL Record. Subprotokol mendekripsi data SSL ini yang melakukan proses berkebalikan: diterima,mengotentikasinya (dengan MAC),mendekompresinya, lalu merakitnya.Meskipun SSL melindungi informasi yang dikirim melalui internet, tetapi ia tidak melindungi informasi yang sudah disimpan di dalam server pedagang (merchant). Bila pedagang online menerima informasi kartu kredit atas pesanan suatu barang,, informasi tersebut mungkin didekripsi dan disimpan di dalam server pedagang sampai pesanan barang tersebut diantar. Jika server tidak aman dan data di dalamnya tidak dienkripsi, pihak yang tidak berhak dapat saja mengakses informasi rahasia tersebut.Piranti keras, seperti kartu peripheral component interconnect (PCI) yang dirancang untuk digunakan di dalam transaksi SSSL,dapat dipasang ke dalam web server untuk memproses transaksi SSL, sehingga mengurangi waktu pemrosesan dan memungkinkan server bebas mengerjakan tugas-tugas lain. 3. Implementasi SSL dalam Ecommerce Dengan fasilitas pertukaran data secara aman yang disediakan oleh SSL, teknologi ini banyak diadopsi oleh berbagai bisnis online di seluruh dunia.Ada 3 metode dasar untuk membuat sebuah website ECommerce yang aman menggunakan SSL: o Dengan membeli solusi SSL lengkap,termasuk sertifikat, dari vendor yang bonafid. Vendor-vendor ini menyediakan server yang telah dikonfigurasi secara penuh dan pemilik bisnis hanya tinggal membangun situs di atas server tersebut. Beberapa vendor menyediakan pula solusi Webbuilding. o Dengan membeli ”space” dari sebuah web-hosting di salah satu servernya yang elah mnyediakan fasilitas SSL.Ini disebut juga Co-Lo atau jasa hosting Co-Location. Perusahaanperusahaan ini biasanya memiliki banyak server diberbagai lokasi dan memiliki koneksi internet yang cepat.Co-Lo dapat pula menangani sertifikat digital. o Dengan mambangun solusi sendiri.Di internet banyak Web Server open source dan aplikasi SSL yang tersedia secara gratis. Namun Sertifikat Digital masih harus dibeli secara terpisah. Piranti-piranti yang dibutuhkan adalah sebagai berikut: o Sebuah server untuk difungsikan sebagai Web Server ecommerce. o Sebuah server redundant untuk difungsikan sebagai server mirror. o Firewall untuk melindungi jaringan internal. o Database server untuk menyimpan data untuk web server. o Backup device/server daridatabase. untuk menyimpan data backup Cryptogaphic o accelerator card, item opsional dan hanya dibutuhkan untuk menangani request halaman antara 300-500 halaman per detik pada webserver. Namun, ada 3 hal lagi yang harus dipersiapkan agar SSL dapat berjalan,yaitu: o Sertifikat Digital SSL, dapat dibeli dari berbagai penyedia Sertifikat Digital (Certification Authority)terpercaya, seperti VeriSign, GTE CyberTrust, dan lain-lain. o Domain Name, salah satu syarat untuk mendapatkan Sertifikat Digital. o IP Address statis, syarat untuk mendapatkan Sertifikat Digital.Sertifikat Digital tersedia dalam dua jenis,yaitu Sertifikat Digital private dan shared.Sertifikat Digital berjenis private hanya dijual ke perusahaan-perusahaan besar yang telah memiliki kredibilitas tinggi dengan domain name terkualifikasi dan IP address static. Sementara Sertifikat Digital berjenis shared ditujukan untuk perusahaan yang melakukan outsource dalam bisnisnya, seperti menitipkan server di Co-Lo. Bab 4.Kesimpulan Kesimpulan yang dapat sampaikan dalam pembahasan ini adalah untuk mengamankan suatu website E-commerce diperlukan kriptografi pada jaringan agar tidak merugikan pihak manapun.Pengamanan yang dilakukan pada pembahasan ini terdiri dari dua yaitu : o SSL o Fungsi Hast sebagai otentikasi data Dapat dibayangkan jika kartu kredit pelanggan diketahui oleh orang lain,sangat membahayakan si pemilik kartu oleh karena itu data harus diamankan dengan : 1. SSL Kita tahu protocol TCP/IP yang ada pada internet tidaklah aman karena TCP/IP tidak dilengkapi pengamanan akan tetapai protocol TCP/IP hanyalah sebagai penterjemah antar bahasa saja. 2. Fungsi Hash Fungsi Hash juga digunakan dalam pembahasan ini,fungsi Hash terdapat didalam di dalam Sertifikat digital (Certification Authority atau CA). Sertifikat digital dikeluarkan (issued) oleh pemegan otoritas sertifikasi (Certification Authority atau CA). CA biasanya adalah institusi keuangan (seperti bank) yang terpercaya.Dengan adanya tanda tangan sudah meletakkan sertifikat digitalnya di dalam halaman web palsu,tapi jika Alice membaca sertifikat tersebut dia langsung paham bahwa dirinya sedang tidak berkomunikasi dengan dengan orang yang sebenarnya.karena identitas orang yang sebenarnya tidak terdapat di dalam sertifikat tersebut. Adapun pengamanan yang telah dlakukan pada E- commerce dengan SSL dan otentikasi menggunakan fungsi Hash ini masih dapat di bobol oleh brute force,ketahanan kriftografi tergantung dengan besarnya biaya dan waktu yang dibutuhkan oleh brute force.Untuk itu sandi yang digunakan lebih dari g karakter karena semakin panjang sandi semakin susah bagi brute force membobol data yang dienskripsi. Referensi : 1. teori matakuliah keamanan jaringan computer. 2. www.yogie.a.k.a Ple-Q Blog 3. www.INDOSKRIPSI.com 4. 5_aghus_abp.pdf 5. Makalah-068.pdf 6. Criptography Source Library:MD5 Source Code 7. nu-enskripsi data.pdf