Pengertian Secure Socket Layer (SSL)
SSL atau Secure Sockets Layer adalah sebuah protokol
keamanan data yang digunakan untuk menjaga pengiriman data web server
dan pengguna situs web tersebut.
Jenis SSL yang paling aman dapat dilihat dari tingkat
keamanan SSL, yang terletak pada kekuatan enkripsi yang didukungnya
(misalnya 256 bit). Semakin besar tingkat enkripsi semakin susah untuk
dibobol. Secara teknis, semua SSL dengan tingkat enkripsi yang sama,
mempunyai tingkat keamanan yang sama.
Untuk mengetahui apabila transaksi diamankan oleh SSL
adalah sebuah icon berlambangkan gembok yang terkunci akan muncul di
browser yang telah diamankan dengan SSL. Dengan meng-klik icon tersebut
akan diketahui otoritas sertifikasi dari sertifikat SSL tersebut.
SSL dikembangkan oleh Netscape Communication pada
tahun 1994. SSL memiliki tiga versi yaitu 1.0, 2.0, dan 3.0 yang diliris
pada tahun 1996. SSL merupakan suatu standar teknologi keamanan yang
menjamin bahwa seluruh data yang dilewatkan antara web server dengan web
browser terjaga kerahasiaan dan keutuhannya. SSL membuat koneksi yang
ter-enkripsi (tersandi) antara server atau situs dengan pengunjungnya
saat pengunjung itu mengaksesnya, sehingga data rahasia atau penting
bisa terkirim tanpa khawatir ada usaha perubahan ditengah jalannya.
Tanpa enkripsi SSL semua data yang dikirim lewat internet sangat mungkin
dilihat oleh orang lain. SSL bertindak sebagai protokol yang
mengamankan komunikasi antara client dan server.
Protokol SSL mengotentikasi server kepada client
menggunakan kriptografi kunci publik dan sertifikat digital. Protokol
ini juga menyediakan otentikasi client ke server. Algoritma kunci publik
yang digunakan adalah RSA, dan untuk algoritma kunci rahasia yang
digunakan adalah IDEA, DES, dan 3DES, dan algoritma fungsi hash
menggunakan MD5. Verifikasi kunci publik dapat menggunakan sertifikat
yang berstandar X.509.
Untuk mengaktifkan SSL pada situs anda, anda perlu
memasang sertifikat SSL yang sesuai dengan server dan situs anda.
Setelah SSL terpasang, anda bisa mengakses situs anda secara aman dengan
mengganti URL yang sebelumnya http:// menjadi https://.
Hal ini dapat terlihat dari indikator / ikon gembok pada browser atau
juga alamat situs yang diakses diindikasikan dengan warna hijau pada
baris alamat browser.
Sertifikat Secure Socket Layer (SSL)
Sertifikat SSL memastikan data transaksi yang terjadi
secara online di enkripsi/acak sehingga tidak dapat dibaca oleh pihak
lain. Kegunaan utamanya adalah untuk menjaga keamanan dan kerahasiaan
data ketika melakukan transaksi.
Sertifikat SSL memberikan jaminan keamanan pada
pemilik dan pengunjung situs atas data yang dikirim lewat web.
Sertifikat SSL yang sering digunakan dapat dilihat pada situs perbankan
untuk melakukan transaksi e-banking.
Sertifikat SSL yang menerapkan Secure Gateway
Cryptography. Enkripsi yang digunakan antara pengunjung dan server
minimal 128-bit. Sertifikat SGC SSL ini cocok digunakan pada skenario
berikut :
-
Sistem operasi server menggunakan windows 2000 atau yang lebih lama.
-
Terdapat pengunjung situs yang menggunakan browser dan sistem operasi versi lama.
-
Dibutuhkan jaminan minimal tingkat enkripsi untuk mengamankan data sensitif.
Komponen Secure Socket Layer (SSL)
Komponen SSL disusun oleh dua sub-protokol :
-
SSL handshaking, yaitu sub-protokol untuk membangun koneksi yang aman untuk berkomunikasi.
-
SSL record, yaitu sub-protokol yang menggunakan koneksi yang sudah aman. SSL record membungkus seluruh data yang dikirim selama koneksi.
Cara Kerja Secure Socket Layer (SSL)
Dalam berkomunikasi Secure Socket Layer (SSL)
didefinisikan secara berbeda, pada client atau pada server. Client
adalah sistem yang menginisiasi komunikasi, sedangkan server adalah
sistem yang merespon request dari client. Pada aplikasinya di internet,
browser web adalah client dan website adalah server. Client dan server
mempunyai perbedaan utama pada aksi yang dilakukan ketika negosiasi
tentang parameter keamanan. Client bertugas untuk mengajukan opsi SSL
yang akan digunakan pada saat pertukaran pesan, dan server menentukan
opsi mana yang akan digunakan. Pada implementasinya SSL berjalan pada
transport layer dengan aplikasi SSLeay dan OpenSSL.
Secara umum cara kerja SSL dapat dijelaskan dalam beberapa tahapan yaitu sebagai berikut :
-
Tahapan Pembangunan Chanel.
-
Client membentuk koneksi awal ke server dan meminta koneksi SSL.
-
Jika server yang dihubungi telah dikonfigurasi dengan benar, maka server ini mengirimkan public key miliknya kepada client.
-
Client membandingkan sertifikat dari server ke basis data trusted authorities. Jika sertifikat terdaftar di dalamnya, artinya client mempercayai (trust) server itu dan akan maju ke tahap 4. Sehingga pemakai harus menambahkan sertifikat tersebut ke trusted database sebelum maju ke langkah 4.
Client menggunakan Public Key yang didapatnya untuk
mengenkripsi dan mengirimkan session key ke server. Jika server meminta
sertifikat client di tahap 2, maka client harus mengirimnya sekarang.
Jika server di setup untuk menerima sertifikat, maka
server akan membandingkan sertifikat yang diterimanya dengan basis data
trusted authorities dan akan menerima atau menolak koneksi yang diminta.
Jika kondisi ditolak, suatu pesan kegagalan akan
dikirimkan ke client. Apabila koneksi diterima, atau bila server tidak
di setup untuk menerima sertifikat, maka server akan mendekripsi session
key yang didapat dari client dengan private key milik server dan
mengirimkan pesan berhasil ke client yang dengan demikian membuka suatu
secure data chanell.
Tahapan Otentikasi Server :
-
Client mengirimkan pesan Client Hello untuk mengajukan opsi SSL.
-
Server memberi respon dengan memilih opsi SSL melalui ServerHello.
-
Server mengirimkan sertifikat kunci publik pada pesan Certificate.
-
Server mengakhiri bagian negoisasi dengan pesan ServerHelloDone.
-
Client mengirimkan informasi session key yang dienkripsi dengan kunci publik server melalui pesan ClientKeyExchange.
-
Client mengirimkan pesan ChangeCipherSpec untuk mengaktifkan opsi yang dinegosiasikan untuk semua pesan yang akan dikirimkan.
-
Client mengirimkan pesan Finished sehingga memungkinkan server mengecek opsi baru yang diaktifkan.
-
Server mengirimkan pesan ChangeCipherSpec untuk mengaktifkan opsi yang dinegosiasikan untuk semua pesan yang akan dikirimkan.
-
Server mengirimkan pesan Finished sehingga memungkinkan client mengecek opsi baru yang diaktifkan.
Tahapan Pemisahan Otentikasi Server dan Enkripsi :
-
Client mengirimkan pesan ClientHello untuk mengajukan opsi SSL.
-
Server memberi respon dengan memilih opsi SSL melalui ServerHello.
-
Server mengirimkan sertifikat kunci publik pada pesan Certifikat.
-
Server mengirimkan kunci publik yang harus digunakan oleh client untuk mengenkripsi kunci simetrik pada ServerKeyExchange, kunci ini terdapat pada sertifikat server.
-
Server mengakhiri bagian negoisasi dengan pesan ServerHelloDone.
-
Client mengirimkan informasi session key pada pesan ClientKeyExchange (dienkripsi dengan kunci publik yang disediakan oleh server).
-
Client mengirimkan pesan ChangeCipherSpec untuk mengaktifkan opsi yang dinegoisasi untuk semua pesan yang akan dikirimkan.
-
Client mengirimkan pesan Finished sehingga memungkinkan server mengecek opsi baru yang diaktifkan.
-
Server mengirimkan pesan ChangeCipherSpec untuk mengaktifkan opsi yang dinegosiasikan untuk semua pesan yang akan dikirimkan.
-
Server mengirimkan pesan Finished yang memungkinkan client mengecek opsi baru yang diaktifkan.
Tahapan Otentikasi Client :
-
Client mengirimkan pesan ClientHello untuk mengajukan opsi SSL.
-
Server memberi respon dengan memilih opsi SSL melalui ServerHello.
-
Server mengirimkan sertifikat kunci publik pada pesan Certificate.
-
Server mengirimkan pesan Certificate Request untuk menunjukan bahwa server ingin mengotentikasi client.
-
Server mengakhiri bagian negosiasi dengan pesan ServerHelloDone.
-
Client mengirimkan sertifikat kunci publik pada pesan Certificate.
-
Client mengirimkan informasi session key pada pesan ClientKeyExchange (dienkripsi dengan kunci publik server).
-
Client mengirimkan pesan CertificateVerify yang menandai informasi penting tentang sesi menggunakan kunci privat client, server menggunakan kunci publik dari sertifikat client untuk memverifikasi identitas client.
-
Client mengirimkan pesan ChangeCipherSpec untuk mengaktifkan opsi yang dinegosiasikan untuk semua pesan yang akan dikirimkan.
-
Client mengirimkan pesan Finished sehingga memungkinkan server mengecek opsi baru yang diaktifkan.
-
Server mengirimkan pesan ChangeCipherSpec untuk mengaktifkan opsi yang dinegosiasikan untuk semua pesan yang akan dikirimkan.
-
Server mengirimkan pesan Finished yang memungkinkan client mengecek opsi baru yang diaktifkan.
Tahapan untuk melanjutkan sesi :
-
Client mengirimkan pesan ClientHello yang menetapkan ID sesi sebelumnya.
-
Server memberi respon dengan ServerHello untuk menyetujui ID sesi.
-
Server mengirimkan pesan ChangeCipherSpec untuk mengaktifkan kembali opsi pengamanan sesi untuk pesan yang akan dikirim.
-
Server mengirimkan pesan Finished yang memungkinkan client mengecek opsi baru yang diaktifkan kembali.
-
Client mengirimkan pesan ChangeCipherSpec untuk mengaktifkan kembali opsi yang dinegoisasi untuk semua pesan yang akan dikirimkan.
-
Client mengirimkan pesan Finished yang memungkinkan server mengecek opsi baru yang diaktifkan kembali.
Keuntungan Secure Socket Layer (SSL)
Transaksi bisnis ke bisnis atau bisnis ke pelanggan
yang tidak terbatas dan menambah tingkat kepercayaan pelanggan untuk
melakukan transaksi online dari situs anda. Untuk lebih jelasnya
keuntungan Secure Socket Layer (SSL) akan ada pada tabel 2.1 sebagai
berikut :
Tabel 2.1 Keuntungan SSL
Kriteria
|
SSL
|
Enkripsi |
|
Dukungan otentikasi |
|
Security |
|
Metode pengaksesan | Kapanpun dan di manapun user berada |
Instalasi |
|
Biaya | Rendah dan murah |
Kenyamanan User |
|
Perangkat lunak yang dibutuhkan client | web browser standar |
Skalabilitas | scalable dan mudah dideploy |
User | User – customer, partner, pegawai, vendor, dsb |
Kerugian Secure Socket Layer (SSL)
Sebagian besar penyelenggara Internet banking di
Indonesia mengklaim menggunakan teknologi Secure Socket Layer (SSL)
untuk menjamin keamanan layanan mereka. Jaminan SSL 128 bit inilah yang
sering digunakan dalam iklan dan dalam meyakinkan kustomer. Kata-kata
lainnya yang sering digunakan dalam menjamin keamanan para pengguna
adalah penggunaan firewall, Public Key Infrastructure dan Encryption
Accelerator Card. Pendekatan keterbukaan belum menjadi suatu tradisi
pada Internet Banking di Indonesia. Sehingga penjelasan sekuriti relatif
masih berfungsi sebagai PR belaka.
Sayangnya seringkali informasi yang diterima pengguna
kuranglah lengkap mengenai apa yang diamankan oleh SSL ini. Begitu juga
dengan firewall kurang dijelaskan apa yang diamankan oleh firewall ini.
Hal ini mengakibatkan munculnya, pemahaman akan adanya jaminan keamanan
semu dalam benak pengguna. Pengguna sering memiliki anggapan karena
sudah memakai SSL maka pasti koneksi yang dilakukannya aman, tak ada
masalah keamanan yang bisa timbul. Hal ini juga dididorong oleh
informasi yang kurang lengkap dari penyedia jasa Internet Banking.
SSL (Secure Socket Layer) pada dasarnya merupakan
suatu mekanisme yang melindungi koneksi dari usaha penyadapan. Hal ini
karena komunikasi yang terjadi antara client-server melalui suatu jalur
yang di enkripsi. Tetapi sistem ini tidak melindungi dari salah masuknya
pengguna ke host yang berbahaya, ataupun tak melindungi apakah suatu
kode yang di download dari suatu situs bisa dipercaya, atau apakah suatu
situs itu bisa dipercaya. Abadi (1996) telah menunjukkan kelemahan
protokol SSL versi awal secara teoritis. Jadi jelas SSL ini tidak
melindungi dari beberapa hal misal (detail dari tiap ancaman ini tidak
dibahas pada tulisan ini) :
-
Denial of Services
-
Buffer overflow
-
Man-in-the-middle attack
-
Cross scripting attack
Pada model SSL, user-lah yang harus bertanggung jawab
untuk memastikan apakah server di ujung sana yang ingin diajak
berkomunikasi benar-benar merupakan server yang ingin dituju. Pada dunia
nyata untuk meyakinkan bahwa orang yang dihubungi adalah orang
sesungguhnya, dapat dilakukan dengan mudah karena orang saling mengenal.
Dengan melihat muka, suara, bau dan sebagainya kita bisa mendeteksi
bahwa dia orang yang sesungguhnya.
Pada dunia internet hal seperti itu sulit dilakukan,
oleh karenanya digunakan sertifikat digital untuk melakukan hal ini.
Sertifikat ini mengikat antara suatu public key dengan suatu identitas.
Sertifikat ini dikeluarkan oleh sebuah pihak yang disebut CA
(Certificate Authority) misal dalam hal ini Verisign atau Thawte. CA
sendiri memperoleh sertifikat dari CA lainnya. CA yang tertinggi disebut
root dan tidak memerlukan sertifikat dari CA lainnya. Penanganan
sertifikat ini dilakukan secara hierarki dan terdistribusi.
Sayangnya sertifikat digital saja, bukanlah obat
mujarab yang bisa mengobati semua jenis permasalahan sekuriti. Agar SSL
dapat bekerja dengan semestinya (melakukan koneksi terenkripsi dengan
pihak yang semestinya), maka penggunalah yang harus memverifikasi apakah
sertifikat yang dimiliki oleh server yang ditujunya adalah benar.
Berikut ini adalah beberapa hal minimal harus diperhatikan :
-
Apakah sertifikat tersebut dikeluarkan oleh CA yang dipercaya.
-
Apakah sertifikat tersebut dikeluarkan untuk pihak yang semestinya (perusahaan yang situsnya dituju).
-
Apakah sertifikat itu masih berlaku.
Sayangnya banyak orang tak peduli terhadap
permasalahan di atas. Sebetulnya ketika melakukan koneksi ke sebuah
situs yang mendukung SSL, hal tersebut ditanyakan oleh browser, tetapi
sebagian besar pengguna selalu menekan Yes ketika ditanya untuk
verifikasi sertifikat ini. Untuk melihat ketiga hal tersebut, dapat
dilakukan dengan double-click pada tombol kunci yang ada di bagian kiri
bawah browser.
Begitu juga dengan keterangan 128-bit SSL. Seringkali
tanpa dilengkapi dengan penjelasan semestinya apa maksud 128-bit ini,
dan apa kaitannya dengan PIN pengguna, ataupun hal lainnya. Masih banyak
perusahaan yang mengambil mentah-mentah keyakinan akan keamanan SSL ini
tanpa mencoba memahami atau menerangkan keterbatasan SSL dalam
melakukan perlindungan. Sebagai dampaknya pengguna menjadi tak peduli
terhadap ditail mekanisme transaksi yang dilakukannya.
Dengan memanfaatkan kekurang-waspadaan pengguna dapat
timbul beberapa masalah sekuriti. Berikut ini adalah celah sekuriti
dalam penggunaan SSL yang diakibatkan oleh server si penyerang di luar
server asli. Celah seperti ini relatif sulit dideteksi dan dijejaki
tanpa adanya tindakan aktif, karena terjadi di server lain. Celah ini
pada dasarnya dilakukan dengan cara mengalihkan akses user dari situs
aslinya ke situs palsu lainnya, sehingga dikenal dengan istilah page
hijacking.
Beberapa kemungkinan teknik yang digunakan untuk melakukan hal ini adalah :
-
Ticker symbol smashing. Biasanya digunakan pada pengumuman press release, dengan memanfaatkan simbol dari perusahaan besar lainnya. Sehingga secara tersamar pengguna akan belok ke situs ini. Misal Perusahaan KUMBAYO baru saja meluncurkan produknya. Perusahaan ini tak ada hubungan dengan Bank Ha Ha. Misal Bank Ha-Ha adalah suatu bank besar. Dengan cara ini orang akan terdorong ke situs perusahaan KUMBAYO, yang semula akan ke Bank Ha-Ha.
-
Web Spoofing. Memanipulasi alamat URL pada sisi client, sehingga akan memaksa si korban melakukan browsing dengan melalui situs tertentu terlebih dahulu. Dengan cara ini dapat menyadap segala tindakan si korban, ketika melakukan akses ke situs-situs. Sehingga si penyerang dapat
memperoleh PIN ataupun password. Cara ini biasanya memanfaatkan trick URL Rewrite. Umumnya pengguna awam tak memperhatikan apakah akses dia ke suatu situs melalui http://www.yahoo.com atau melalui http://www.perusak.org/www.yahoo.com. Karena yang tampil di browsernya adalah tetap halaman dari http://www.yahoo.com. -
DNS Spoofing (Bellovin, 1995). Teknik ini digunakan untuk memanfaatkan DNS server untuk membangkitkan celah sekuriti. Dengan cara ini penyerang mampu membelokkan seorang pengguna ke server DNS lain yang bukan server semestinya, ketika ia memasukkan nama situs. Dengan cara ini maka penipuan dapat dilanjutkan misalnya dengan mengumpulkan PIN atau password.
-
Typo Pirates. Dengan cara mendaftar nama domain yang hampir mirip, dan membuat situs yang mirip. Pengguna yang tak waspada akan masuk ke situs ini dan memberikan PIN dan password. Cara inilah yang terjadi pada kasus KlikBCA palsu. Hal ini disebabkan sebagian besar pengguna tak waspada, apakah alamat URL (Universal Resource Locator) yang dimasukkannya benar pada saat ia mengakses suatu situs web, dan apakah sertifikat yang diterima sama dengan sertifikat seharusnya pada saat ia mengakses situs web yang mendukung SSL.
-
Cybersquating. Membeli nama domain yang mungkin akan digunakan orang. Tujuan penggunaan cara ini adalah lebih kepada mengambil
keuntungan keuangan dengan menjual kembali domain tersebut pada harga yang jauh lebih tinggi daripada harga sebenarnya. -
Man-in-the-middle-attack. Cara ini dilakukan dengan memaksa orang percaya bahwa situs yang dituju sama halnya dengan situs asli. Hal itu dilakukan dengan mencegat akses pengguna ketika hendak melakukan koneksi ke situs asli, teknik seperti TCP Hijack sering digunakan, lalu meneruskan akses pengguna ke web situs sebenarnya. Sepintas lalu hal ini tidak terlihat oleh pengguna. Serangan ini lebih berbahaya daripada sekedar typo pirates. Resiko ini bisa timbul ketika jalur penyerang berada di antara pengguna dan situs penyedia layanan.
Trik-trik di atas sebagian besar memanfaatkan
kelengahan pengguna, atau keawaman pengguna. Dalam mendisain sistem maka
perlu diperhatikan kelengahan pengguna ini. Baik kesalahan dia mengetik
nama situs, dan lain-lainnya. Untuk itu sudah sepantasnya pemahaman
tentang user Indonesia perlu dilakukan lebih dalam sebelum dilakukan
perancangan sistem ini.
Begitu juga dengan produk firewall, sering kali
banyak jaminan semu yang diberikan penyedia jasa Internet banking dengan
mengatakan bahwa sistem akan aman, karena menggunakan firewall merek
tertentu. Jaminan ini tidak bicara apa-apa. begitu juga dengan card
encryption accelerator. Sebab pada hakikatnya pernyataan aman memiliki
rentang pembicaraan. Sehingga lebih tepat disebutkan aman ketika
melakukan hal apa, aman terhadap apa atau aman terhadap siapa.
Bahkan ada keterangan yang mengatakan bahwa firewall
berkaitan dengan otorisasi login dari seseorang pengguna. Jelas
keterangan ini akan menyesatkan pengguna. Sudah saatnya penyedia jasa
layanan Internet Bank, memberikan informasi yang lebih tepat.
Sumber
Sumber
Tidak ada komentar:
Posting Komentar