1 SSL/TLS
Transport Layer Security (TLS) adalah protocol untuk mengamankan komunikasi antar aplikasi lewat internet. TLS mengamankan konten pada layer aplikasi, seperti halaman web dan diimplementasikan pada layer transport, yaitu TCP. Untuk menjamin keamanan. data yang dikirim dienkripsi dan diotentikasi pada sisi server dan client. Secure Socket Layer (SSL) adalah protocol yang diciptakan sebelum TLS yang mengaplikasikan hal ini.
SSL/TLS biasanya dioperasikan secara bersama-sama dengan HTTP, sehingga membentuk protocol baru yang disebut HTTPS, untuk mengamankan transaksi lewat web. Selain intu, protocol ini dapat digunakan untuk aplikasi-aplikasi lain seperti email, file transfer dan virtual private networks (VPN).
2 HTTPS
HTTPS menggabungkan protocol HTTP dan SSL/TLS untuk menjamin keamanankomunikasi antara eb server dan web browser. HTTPS beroperasi pada port 443 dan bukan pada port 80 seperti normalnya HTTP. HTTPS bekerja dengan menyediakan enkripsi untuk konten web dan otentikasi web server. HTTPS tidak melakukan otentikasi client sehingga web sita tidak dapat melakukan otentikasi user selama koneksi. User harus melakukan sejumlah otentikasi tambahan seperti password,biometric atau metode otentikasi lain.
Komunikasi SSL/TLS meliputi dua tahap yaitu handshaking dan data sending. Sebelum berkomunikasi, web site harus meminta certificate authority (CA) agar dapat menanda tangani (signing) digital certificate-nya yang berisi public key dari site. User yang menerima digital sertificate CA, segera memanggil sertifikat root, yang dimiliki ketika mereka menginstall web browser. Web browser seperti Internet Explorer atau Firefox sebelumnya telah dilengkapi dengan sejumlah sertifikat root dari bermacam-macam perusahaan seperti VeriSign atau Entrust, yang memang menspesialiasisikan diri sebagai perusahaan yang bergerak di bidang sertifikasi.
Gambar 12.1 SSL/TLS handshaking pada https
1. Verisign menandatangani sertifikat Amazon dengan publik key-nya
2. Install CA sertikat dengan public key-nya pada browser client
3. Koneksi lewat https
4. Saling menukar sertifikat digital, termasuk publik key
5. Client melakukan verifikasi sertifikat Amazon menggunakan public key dari CA
Pada gambar diatas, begitu user hendak mengkoneksikan diri dengan website lewat koneksi https, web server mengirim certifikatnya yang mengandung public key dari web site tersebut. User akan memverifikasi sertifikat ini dengan memakai pre-installed sertifikat root dari website CA.
PAda tahap kedua dari komunikasi SSL/TLS adalah tahapan enkripsi antara server dan client berdasarkan protocol kriptografi yang dinegosiasikan antara kedua belah pihak. Pada gambar berikut, begitu sertifikat digital server berhasil diverifikasi, maka browser dan server mulai saling bernegosiasi cipher yang hendak dipakai untuk pengkodean data dan verifikasi digital signature. Jika public key enkripsi sudah dipilih, kedua belah pihak mengenkripsikan data dengan public key masing-masing dan mendekripsi dengan private keynya. Untuk menghemat waktu, enkripsi public key hanya digunakan saat saling menukar session key (private key yang temporer) yang dipakai untuk data enkripsi.
1. Menegosiasikan cipher (metode kriptografi yang dipakai, termasuk didalamnya panjang key, hash function, otentikasi ,dll)
2. Mengirim data yang telah terinkripsi dengan Amazon publik key
3. Mengirim data yang telah terinkripsi dengan client publik key
4. Dekripsi/decoding data dari Amazon dengan publik key client
Software yang dibutuhkan untuk menginstall web server yang secure dan berbasis open-source adalah :
1. Apache 2.2.11: Apache2 ini adalah web server yang akan kita gunakan. Anda dapat mengecek informasinya lewat http://httpd.apache.org/.
2. OpenSSL 0.9.8k: OpenSSL adalah toolkit yang digunakan untuk mengimplementasikan protocol Secure Socket Layer (SSL v2/v3) dan Transport Layer Security (TLS v1). OpenSSL juga menyediakan general purpose library untuk kriptografi. Anda dapat mengecek informasinya lewat http://www.openssl.org/.
3. Mod_SSL 2.2.11: Mod_SSL adalah add-on modul untuk Apache. Pada versi lama apache, user harus mengkompile paket ini, sedangkan pada versi baru, Mod_SSL sudah built-in pada server sebagai interface antara OpenSSL dan Apache2. Anda dapat mengecek informasinya lewat http://www.mod_ssl.org.
Tugas Pendahuluan
1. Jelaskan proses handshaking pada SSL/TLS
TLS Handshake protocol mengijinkan komunikasi yang telah ter-autentikasi untuk memulai koneksi antara klien dan server. Protokol ini mengijinkan klien dan server untuk saling berbicara dengan bahasa yang sama, mengijinkan kedua belah pihak untuk menyetujui sebuah algoritma enkripsi dan kunci enkripsi terlebih dahulu sebelum protokol aplikasi memulai pengiriman data. Jalanya proses handshake pada TLS ini sama dengan proses yang terjadi pada SSL. TLS menyediakan autentikasi ke server dan juga secara opsional ke klien. Meskipun begitu, ada beberapa perubahan yang terjadi pada proses handshake tersebut.
2. Jelaskan proses pengiriman data pada SSL/TLS
Begitu user hendak mengkoneksikan diri dengan website lewat koneksi https, web server mengirim certifikatnya yang mengandung public key dari web site tersebut. User akan memverifikasi sertifikat ini dengan memakai pre-installed sertifikat root dari website CA.
Pada tahap kedua dari komunikasi SSL/TLS adalah tahapan enkripsi antara server dan client berdasarkan protocol kriptografi yang dinegosiasikan antara kedua belah pihak. Pada gambar berikut, begitu sertifikat digital server berhasil diverifikasi, maka browser dan server mulai saling bernegosiasi cipher yang hendak dipakai untuk pengkodean data dan verifikasi digital signature. Jika public key enkripsi sudah dipilih, kedua belah pihak mengenkripsikan data dengan public key masing-masing dan mendekripsi dengan private keynya. Untuk menghemat waktu, enkripsi public key hanya digunakan saat saling menukar session key (private key yang temporer) yang dipakai untuk data enkripsi.
Berikut ini adalah langkah-langkah dalam pengiriman data pada SSL
Menegosiasikan cipher (metode kriptografi yang dipakai, termasuk didalamnya panjang key, hash function, otentikasi ,dll)
Mengirim data yang telah terinkripsi dengan Amazon publik key
Mengirim data yang telah terinkripsi dengan client publik key
Dekripsi/decoding data dari Amazon dengan publik key client
3. Sebutkan software-software yang dibutuhkan untuk menggunakan protocol https.
Apache 2.2.11: Apache2 ini adalah web server yang akan kita gunakan. Anda dapat mengecek informasinya lewat http://httpd.apache.org/.
OpenSSL 0.9.8k: OpenSSL adalah toolkit yang digunakan untuk mengimplementasikan protocol Secure Socket Layer (SSL v2/v3) dan Transport Layer Security (TLS v1). OpenSSL juga menyediakan general purpose library untuk kriptografi. Anda dapat mengecek informasinya lewat http://www.openssl.org/.
Mod_SSL 2.2.11: Mod_SSL adalah add-on modul untuk Apache. Pada versi lama apache, user harus mengkompile paket ini, sedangkan pada versi baru, Mod_SSL sudah built-in pada server sebagai interface antara OpenSSL dan Apache2. Anda dapat
4. Bagaimana penggunaan TLS/SSL pada mail dan vpn ?
VPN adalah singkatan dari Virtual Private Network, yaitu sebuah cara aman untuk mengakses local area network yang berada diluar jangkauan, dengan menggunakan internet atau jaringan umum lainnya untuk melakukan transmisi paket data secara pribadi, dan terenkripsi. Sedangkan PPTP adalah singkatan dari Point-to-Point Tunneling Protocol, dan merupakan sebuah metode dalam implementasi penggunaan VPN.
VPN biasanya digunakan untuk menghubungkan kantor-kantor yang tersebar dibeberapa tempat dengan menggunakan akses internet. Namun, VPN juga dapat digunakan untuk keperluan lain, seperti anonimity (menyembunyikan identitas) atau mem-bypass firewall (termasuk mem-bypass content filtering).
5. Apa yang disebut CA ? Sebutkan 5 buah CA yang anda tahu
Certificate Authority (CA) adalah lembaga yang menerbitkan sertifikat digital (SSL) kepada perusahaan, lembaga atau individu lain setelah melalui proses verifikasi. CA harus menyimpan informasi tentang apa yang sudah diterbitkan dan informasi apa yang digunakan untuk menerbitkannya, dan secara rutin diaudit untuk memastikan semuanya sudah sesuai prosedur. Setiap CA memiliki Certification Practice Statement (CPS) yang berisi prosedur yang harus dijalankan dalam memverifikasi setiap permohonan sertifikat yang masuk. Saat ini dikenal beberapa CA, diantaranya Verisign (termasuk anak perusahaannya, Thawte dan GeoTrust), Comodo, Entrust, GlobalSign dan lainnya.
Lihatlah sertifikat dari webmail dengan mengklik tanda kunci. Lihat pada kolom issued by dan issued to. Tulis CN,O,OU. PAda technical Details, lihat metode enkripsi. Apa metode enkripsinya.
Percobaan SSL/TLS
Menciptakan sertifikat SSL dengan OpenSSL
1. Menginstall software-software yang dibutuhkan :
$ sudo apt-get install apache2
$ sudo apt-get install openssl
2. Langkah berikutnya adalah membuat sertifikat SSL untuk web server sebelum kita menjalankan secure server dengan HTTPS. Selain itu , kita juga akan membuat pasangan public/private key untuk melakukan request sertifikat. Anda akan membutuhkan domain name untuk sertifikat yang anda ciptakan. Pada contoh ini digunakan nama : www.webkelompok4.com