BAB 2 LANDASAN TEORI Bab ini berisi teori-teori sebagai pendukung yang diperlukan dalam penyelesaian penelitian ini, diantaranya adalah pengenalan jaringan komputer, model-model referensi jaringan, arsitektur jaringan, serta penjelasan mengenai SSL VPN dan semua hal-hal yang berkaitan dengannya. 2.1 Jaringan Komputer (Andrew S.Tanenbaum, 1997, p1) Jaringan komputer merupakan sekumpulan komputer berjumlah banyak yang terpisah-pisah akan tetapi saling berhubungan dalam melaksakan tugasnya. Untuk bisa membangun sebuah jaringan komputer, perlu memahami tipe dan dasar arsitektur jaringan komputer yang sesuai dengan kondisi di tempat anda. Hal ini penting karena tipe dan arsitektur sebuah jaringan menentukan perangkat apa yang harus disediakan untuk membangun jaringan tersebut. Tujuan dibangunnya suau jaringan komputer adalah membawa informasi secara tepat dan tanpa adanya kesalahan dari sisi pengirim menuju sisi penerima melalui media komunikasi. Beberapa sasaran dibentuknya suatu jaringan komputer diantaranya: 1. Membagi sumber daya, misalnya berbagi printer, memori, harddisk dan lain-lain 2. Mempermudah sharing data antara komputer satu dengan komputer yang lainnya. 7 8 3. Terjaminnya keamanan data. Sistem jaringan komputer akan memberikan perlindungan terhadap data, jaringan keamanan tersebut diberikan melalui pemberian hak akses dan password. 2.1.1 Jenis Jaringan Komputer Secara umum jaringan komputer dibagi atas lima jenis, yaitu: 1. Local Area Network (LAN) Merupakan jaringan milik pribadi di dalam sebuah gedung atau kampus yang berukuran sampai jarak tertentu. LAN seringkali digunakan untuk menghubungkan komputer-komputer pribadi dan workstation dalam kantor suatu perusahaan atau pabrik-pabrik untuk memakai bersama sumberdaya (misalnya printer) dan saling bertukar informasi. 2. Metropolitan Area Network (MAN) Pada dasarnya merupakan versi LAN yang berukuran lebih besar dan biasanya menggunakan teknologi yang sama dengan LAN. MAN dapat mencakup kantor-kantor perusahaan yang letaknya berdekatan atau juga sebuah kota dan dapat dimanfaatkan untuk keperluan pribadi (swasta) atau umum. MAN mampu menunjang data dan suara, bahkan dapat berhubungan dengan jaringan televisi kabel. 9 3. Wide Area Network (WAN) Jangkauannya mencakup daerah geografis yang luas, seringkali mencakup sebuah negara bahkan benua. WAN terdiri dari kumpulan mesin-mesin yang bertujuan untuk menjalankan program-program (aplikasi) pemakai. 4. Internet Sebenarnya terdapat banyak jaringan didunia ini, seringkali menggunakan perangkat keras dan perangkat lunak yang berbeda-beda. Orang yang terhubung ke jaringan sering berharap untuk bisa berkomunikasi dengan orang lain yang terhubung ke jaringan lainnya. Keinginan seperti ini memerlukan hubungan antar jaringan yang seringkali tidak kompatibel dan berbeda. Biasanya untuk melakukan hal ini diperlukan sebuah mesin yang disebut gateway guna melakukan hubungan dan melaksanakan terjemahan yang diperlukan, baik perangkat keras maupun perangkat lunaknya. Kumpulan jaringan yang terinterkoneksi inilah yang disebut dengan internet. 10 5. Jaringan Tanpa Kabel (Nirkable) Jaringan nirkabel bertindak sebagai mekanisme transmisi antar alat dan antara alat dengan jaringan kabel tradisional (jaringan internal perusahaan dan internet). (sumber : Merencanakan Keamanan Jaringan Komputer (Jurnal), vol 2 No.1 Juni 2011:hal 468, Joni Suhartono). Jaringan tanpa kabel merupakan suatu solusi terhadap komunikasi yang tidak bisa dilakukan dengan jaringan yang menggunakan kabel. Misalnya orang yang ingin mendapat informasi atau melakukan komunikasi walaupun sedang berada diatas mobil atau pesawat terbang, maka mutlak jaringan tanpa kabel diperlukan karena koneksi kabel tidaklah mungkin dibuat di dalam mobil atau pesawat. Saat ini jaringan tanpa kabel sudah marak digunakan dengan memanfaatkan jasa satelit dan mampu memberikan kecepatan akses yang lebih cepat dibandingkan dengan jaringan yang menggunakan kabel. 2.1.2 Tipe Jaringan Komputer Menurut fungsi komputer pada sebuah jaringan, maka tipe jaringan komputer dapat dibedakan menjadi dua tipe, yaitu : 1. Jaringan Peer to Peer atau Point to Point Sebuah jaringan peer to peer mendukung akses non structural kesumber daya jaringan. Setiap peralatan di dalam jaringan peer to peer dapat menjadi client dan server secara bersamaan. Semua peralatan di 11 dalam jaringan dapat mengakses data, software , dan semua sumber daya jaringan lainnya secara langsung. (Norton, 1999, p133) Keuntungan dari jaringan peer to peer antara lain relatif mudah diimplementasikan dan dioperasikan, tidak mahal dalam pengoperasiannya, dapat dibuat dengan sistem operasi pada umumnya, seperti Windows NT/2000, Windows 95/98, Unix, Linux dan Mac OS. Tetapi jaringan peer to peer memiliki beberapa keterbatasan dalam hal tingkat keamanan, daya guna dana pelaksanaan. Contoh gambar peer to peer seperti pada gambar 2.1 Komputer 1 Komputer 5 Komputer 4 Komputer 2 Komputer 3 Gambar 2.1 Jaringan Peer To Peer Gambar diatas menunjukkan bahwa masing-masing komputer dalam sebuah jaringan peer to peer terhubung secara langsung ke seluruh komputer yang terdapat dalam jaringan tersebut. 12 2. Jaringan Client-Server Dalam sistem ini setiap pengguna mendapatkan sebuah komputer, dengan data yang disimpan pada satu atau lebih mesin file server yang dapat dipakai bersama-sama. Para pengguna biasa disebut client. Umumnya komunikasi pada model client – server berbentuk pesan permintaan untuk melaksanakan berbagai pekerjaan dari client kepada server. Setelah server melaksanakan tugasnya, kemudian hasilnya akan dikirimkan kembali ke client. Jaringan client – server juga sering di kenal dengan server - based networks. Keuntungan dari jaringan client – server dapat dibuat dan dijaga dengan lebih aman daripada jaringan peer to peer , karena keamanan dikontrol secara terpusat. Keuntungannya yang lain yaitu tugas administrasi, seperti backup, dapat dilakukan secara konsisten dan handal. Kelemahan yang ada adalah jaringan ini membutuhkan biaya yang lebih besar dibandingkan jaringan peer to peer. Contoh gambar client – server terlihat seperti pada gambar 2.7. (Tanenbaum, 2003, pp 4-5) 13 server client network client client Gambar 2.2 Jaringan Client Server Pada gambar di atas dapat dilihat bahwa komputer-komputer dalam jaringan (client) dapat saling berkomunikasi melalui perantara komputer server. Jika komputer server tidak aktif, maka komputerkomputer client tidak akan dapat berkomunikasi. 2.1.3 Topologi Jaringan Komputer Topologi jaringan menjelaskan hubungan antara komputer – komputer yang terhubung dengan unsur penyusun jaringan. Topologi yang biasa digunakan pada jaringan komputer umumnya sebagai berikut (Lukas , 2006, pp 144-146) : 14 1. Topologi Bus Semua terminal terhubung ke jalur komunikasi. Informasi yang hendak dikirimkan melewati semua terminal pada jalur tersebut. Jika alamat informasi yang dikirim, maka informasi tersebut akan diterima dan diproses, jika tidak informasi tersebut aka diabaikan terminal yang dilewatinya. Topologi ini mempunyai karakteristik : 1. Merupakan satu kabel yang kedua ujungya ditutup dimana sepanjang kabel terdapat node-node . 2. Paling umum karena sederhana dalam instalasi. 3. Sinyal melewati kabel 2 arah dan mungkin terjadi collision. 4. Masalah terbesar dari topologi bus adalah jika salah satu segmen kabel terputus, maka seluruh jaringan akan berhenti Gambar 2.3 Topologi Bus 15 Keuntungan: 1. Jarak LAN tidak terbatas 2. Kecepatan pengiriman tinggi Kerugian : 1. Diperlukan repeater untuk menguatkan sinyal pada pemasangan jarak jauh. 2. Operasional jaringan LAN tergantung pada setiap terminal. 2. Topologi Ring (Topologi Cincin) Topologi ini mirip dengan topologi point to point tetapi semua terminal saling dihubungkan sehingga menyerupai lingkaran. Setiap terminal saling bergantungan, sehingga jika terjadi kerusakan pada suatu terminal, seluruh LAN akan terganggu. Topologi ini mempunyai karakteristik : 1. Lingkaran tertutup yang berisi node-node. 2. Sederhana dalam layout. 3. Sinyal mengalir dalam satu arah sehingga menghindari terjadi collision (2 paket data tercampur), sehingga memungkinkan pergerakan data yang lebih cepat dan collision detection yang lebih sederhana. 16 4. Masalah terbesar dari topologi ring adalah jika salah satu segmen kabel terputus, maka seluruh jaringan akan berhenti. 5. Biasanya topologi ring tidak dibuat secara fisik melainkan direalisasikan dengan sebuah concentrator dan terlihat seperti topologi star. Gambar 2.4 Topologi Ring Keuntungan : 1. Laju data tinggi. 2. Dapat melayani lalu lintas yang padat. 3. Komunikasi antar terminal mudah. Kerugian : 1. Penambahan atau pengurangan terminal sangat sulit. 2. Kerusakan pada salah satu terminal mengakibatkan kelumpuhan jaringan. 17 3. Topologi Star (Topologi Bintang) Sebuah terminal pusat bertindak sebagai pengatur dan pengendali semua komunikasi data yang terjadi. Terminal pusat akan menyediakan jalur komunikasi khusus pada dua terminal. Karakteristik topologi star : 1. Setiap node berkomunikasi langsung dengan central node, traffic data mengalir dari node ke central node dan kembali lagi. 2. Mudah di kembangkan karena setiap node hanya memiliki kabel yang langsung terhubung ke central node. 3. Keunggulan dari topologi star adalah jika salah satu kabel node terputus yang lainnya tidak terganggu. 4. Dapat digunakan kabel lower grade karena hanya melayani satu traffic node dan biasanya menggunakan kabel UTP. Gambar 2.5 Topologi Star 18 Keuntungan : 1. Mudah dikembangkan. 2. Kemananan data tinggi. 3. Kemudahan akses jaringan LAN lain. Kerugian : 4. 1. Traffic yang padat dapat menyebabkan jaringan lambat. 2. Jaringan tergantung pada terminal pusat. Topologi Mesh Topologi mesh adalah suatu bentuk hubungan antar perangkat dimana setiap perangkat terhubung secara langsung ke perangkat lainnya yang ada di dalam jaringan. Akibatnya, dalam topologi mesh setiap perangkat dapat berkomunikasi langsung dengan perangkat yang dituju (dedicated links). Karakteristik topologi mesh : 1. Memiliki hubungan yang berlebih antara peralatan yang ada. 2. Susunan pada setiap peralatan yang ada didalam jaringan saling terhubung satu sama lain. 3. Hubungan dedicated links menjamin data langsung dikirimkan ke komputer tujuan tanpa harus melalui komputer lainnya sehingga dapat lebih cepat karena satu link digunakan khusus untuk berkomunikasi dengan komputer yang dituju saja. 19 4. Jika jumlah peralatan yang dihubungkan banyak, maka akan sulit dikendalikan. Gambar 2.6 Topologi Mesh Keuntungan : 1. Terjaminnya kapasitas channel komunikasi, karena memiliki hubungan berlebih. 2. Relatif lebih mudah untuk dilakukan troubleshoot. Kerugian : 1. Sulit pada saat melakukan instalasi dan konfigurasi ulang jika jumlah peralatan yang terhubung semakin banyak jumlahnya. 2. Biaya yang besar untuk implementasi dan pemeliharaan peralatan yang saling terhubung tersebut. 20 5. Topologi Tree Topologi ini disebut juga sebagai topologi jaringan bertingkat. Biasanya digunakan untuk interkoneksi antar central dengan hirarki yang berbeda. Untuk hirarki yang lebih rendah digambarkan pada lokasi yang rendah dan semakin keatas mempunyai hirarki semakin tinggi. Gambar 2.7 Topologi Tree (Sumber : http://indrasufian.web.id/?attachment_id=154 Akses : 08-06-2012) 21 2.2 Mekanisme Kerja TCP/IP Transmision Control Protocol/Internet Protocol (TCP/IP) pada dasarnya terdiri dari beberapa protokol yang berbeda, masing-masing dirancang untuk memenuhi tugas-tugas khusus dalam jaringan yang menggunakan TCP/IP. Berkat prinsip ini, tugas masing-masing protokol menjadi jelas dan sederhana. Protokol yang satu tidak perlu mengetahui cara kerja protokol yang lain, sepanjang masih bisa saling mengirim dan menerima data. Gambar 2.8 Protokol dan network di dalam model TCP/IP 22 Model TCP/IP terdiri dari 4 layer, yaitu : 1. Lapisan Network Access Mempunyai fungsi yang mirip dengan Data Link Layer pada OSI. Lapisan ini mengatur penyaluran frame-frame data pada media fisik yang digunakan secara handal. Lapisan ini biasanya memberikan service untuk deteksi dan koreksi kesalahan dari data yang ditransmisikan. 2. Lapisan Internet Mempunyai tugas untuk memilih rute terbaik yang akan di lewati oleh sebuah paket data dalam sebuah jaringan. Selain itu pada jaringan internet yang terdiri atas puluhan juta host dan ratusan ribu jaringan local, lapisan ini bertugas untuk mengirimkan paket dan menemukan tujuannya. Oleh karena itu, lapisan ini memiliki pernan penting terutama dalam mewujudkan internet-working yang meliputi wilayah luas. 3. Lapisan Transport / Host-to-host Lapisan Transport menyediakan layanan pengiriman dari sumber data menuju ke tujuan data dengan cara membuat logical connection antara keduanya. Layer ini bertugas untuk memecah data dan membangun kembali data yang diterima dari Lapisan Application ke dalam aliran data yang sama antara sumber dan pengirim data. Terdapat dua protokol utama pada Lapisan Transport yaitu protokol TCP dan UDP. 23 TCP adalah protocol yang handal. Protokol TCP bersifat reliable delivery. Tetapi kehandalah TCP tercapai dengan mengorbankan bandwidth jaringan yang cukup besar. Sedangkan UDP (User Datagram Protokol) merupakan protokol yang bersifat unreliable delivery. Dalam pengiriman data, UDP tidak mengembalikan datagram yang hilang atau rusak dan mengirimkan ulang data tersebut bila dibutuhkan. Selain itu UDP memliki layanan protokol dengan layanan transmisi data yang sedikit. Dalam mengirimkan paket data, sering sekali UDP tidak melakukan pengecekan pada paket-paket datanya akan sampai pada tujuan. 4. Lapisan Application Lapisan ini berfungsi untuk menangani high-level protokol, masalah data, proses encoding, dan dialog control yang memungkinkan terjadinya komunikasi antar aplikasi jaringan. Lapisan Application berisi spesifikasi protokol-protokol khusus yang menangani aplikasi umum diantaranya adalah : 1. Hypertext Transfer Protokol (HTTP) merupakan protocol yang mayoritas digunakan untuk komunikasi World Wide Web. 2. File Transfer Protokol (FTP) merupakan suatu layanan internet yang mentransfer fili-file dari satu computer ke computer lain. 3. Domain Name System (DNS) merupakan seperangkat protokol dan layanan pada suatu jaringan untuk mempergunakan nama-nama 24 hierarki yang sudah dikenal ketika meletakkan host ketimbang haris mengingat dan memakai alamat IP-nya. 4. Simple Network Management Protokol (SNMP) memungkinkan untuk mengelola node jaringan seperti server, workstation, router, bridge dan hub dari host sentral. . 2.2.1 Keamanan Lapisan Aplikasi (Application Layer Security) Implementasi keamanan pada lapisan aplikasi adalah yang paling mudah dan sederhana, jika komunikasi internet melibatkan dua pihak, seperti kasus komunikasi email dan telnet. Pengirim dan penerima mempunyai kesepakatan untuk menggunakan protokol yang sama dan jenis layanan keamanan yang diinginkan. Pada bagian lapisan ini terdapat dua protokol yang digunakan, yaitu PGP (Pretty Good Privacy) dan SSH (secure shell). 2.2.2 Keamanan Lapisan Transport (Transport Layer Security) Transport Layer Security (TLS) berada antara lapisan aplikasi dan lapisan transport. Pada Gambar 2.9 diperlihatkan, bahwa TLS berada diantara lapisan protokol HTTP (aplikasi) dan protokol TCP (transport). Dengan demikian dapat dinyatakan bahwa lapisan aplikasi dalam hal ini HTTP menggunakan TLS dan TLS menggunakan layanan dari lapisan transport dalam hal ini TCP untuk membawa informasi. 25 Gambar 2.9 Posisi TLS pada lapisan protokol IP (Sumber : http://flylib.com/books/1/90/1/html/2/FILES/03fig03.gif Akses : 06-03-2012) TLS dirancang untuk menyediakan keamanan pada lapisan transport. TLS diperoleh dari suatu protokol keamanan yang disebut dengan SSL (Secure Sockets Layer) yang dirancang oleh Netscape guna menjamin keamanan web. (Feilner, 2006, p21) TLS adalah bentuk lain dari SSL, yang dirancang oleh IETF (Internet Engineering Task Force) untuk transaksi di internet seperti ditunjukkan oleh Gambar 2.10. Gambar 2.10 SSL merupakan lapisan terpisah dalam susunan protokol Internet (sumber : Feilner, 2006, p21) 26 SSL merupakan protokol berlapis. Dalam tiap lapisannya, sebuah data terdiri dari panjang, deskripsi dan isi. SSL mengambil data untuk dikirimkan, dipecahkan kedalam blok-blok yang teratur, kemudian dikompres jika perlu, menerapkan MAC, dienkripsi, dan hasilnya dikirimkan. Di tempat tujuan, data didekripsi, verifikasi, dekompres, dan disusun kembali. Hasilnya dikirimkan ke klien di atasnya. 2.2.2.1 Komunikasi SSL Seperti yang telah disebutkan, SSL menggunakan enkripsi dalam data yang disalurkan untuk menjaga kerahasiaan data. Pada umumnya ada dua tipe cryptography yang sering digunakan di setiap sesi SSL, yakni simetris dan asimetris. Enkripsi simetris adalah suatu enkripsi yang menggunakan sebuah kunci yang sama untuk melakukan proses enkripsi atau dekripsi (Symmetric Key). Sedangkan enkripsi simetris menggunakan 2 buah kunci, satu untuk enkripsi (Public Key) dan lainnya untuk dekripsi (Private key). SSL menggunakan enkripsi simetris untuk mengenkripsi semua komunikasi di dalam sesi SSL. Adapun enkripsi asimetris digunakan untuk men-sharing kunci sesi simetris secara aman antara pengguna untuk memulai komukasi aman. Sedangkan untuk algoritma enkripsinya sendiri, SSL 27 menggunakan berbagai algoritma yang dikenal luas seperti RC2, RC4, IDEA, DES, Triple DES atau AES. Penjelasan lebih lanjut mengenai enkripsi simetris dan asimetris akan dijelaskan lebih detil berikutnya. Ketika SSL client dan server berkomunikasi, mereka melakukan komunikasi tersebut dengan bertukaran pesan SSL. Tabel di bawah ini menunjukkan pesan SSL pada setiap level pada protocol : Table 2.1 Pesan-pesan SSL Pesan Deskripsi Alert Menginformasikan pihak lain akan kegagalan komunikasi atau pelanggaran keamanan Application Data Informasi yang dipertukarkan oleh kedua belah pihak, yang terenkripsi, terotentikasi, dan terverifikasi oleh SSL Certificate Pesan yang membawa sertifikat kunci publik dari pengirim CertificateRequest Permintaan oleh server agar client menyediakan sertifikat kunci publiknya CertificateVerify Pesan dari client yang memverifikasi bahwa ia mengetahui kunci privat 28 bersesuaian dengan sertifika kunci public ChangeCipherSpec Indikasi untuk mulai menggunakan pelayanan keamanan ClientHello Pesan dari client yang menandakan keperluan pelayanan keamanan dan kemampuan untuk mendukungnya ClientKeyExchange Pesan dari client yang membawa kunci kriptografi untuk berkomunikasi Finished Indikasi bahwa seluruh negosiasi sudah terlaksana dan komunikasi yang aman sudah terbentuk HelloRequest Permintaan oleh server bahwa, client memulai proces neogosiasi SSL ServerHello Pesan dari server yang menandakan pelayanan keamanan yang mana yang akan digunakan untuk komunikasi ServerHelloDone Indikasi dari server bahwa server sudah menyelesaikan seluruh permintaan client untuk membentuk komunikasi ServerKeyExchange Pesan dari server yang membawa kunci kriptografi untuk berkomunikasi 29 Dengan mengetahui pesan-pesan apa saja yang dikirimkan pada saat komunikasi SSL, mari kita lanjurkan pada proses komunikasi SSL itu sendiri. Proses Komunikasi antar pengguna pada SSL atau sering disebut dengan SSL/TLS Handshake dapat kita lihat dengan tahapan – tahapan berikut ini : 1. Klien membentuk koneksi awal ke server dan meminta koneksi SSL. Pada tahapan ini, Klien mengirimkan pesan ClientHello. 2. Server kemudian membalasnya dengan menyetujui koneksi klien dan menentukan metode kompresi dan parameter kriptograpi yang akan digunakan. Pada tahapan ini, Server mengirimkan pesan ServerHello. 3. Kemudian, server akan mengirimkan public key miliknya kepada klien. Pada tahap ini, server biasanya juga mengirimkan sertifikat nya yang digunakan untuk mengidentifikasikan dirinya. Pesan yang dapat dikirim oleh server pada ServerKeyExchange, tahap ini adalah Certificate, CertificateRequest, dan ServerHelloDone. 4. Klien kemudian memeriksa sertifikat yang dikirimkan server. Bila sertifikat tersebut tidak bermasalah, klien akan menggunakan public key yang didapatnya untuk men- 30 enkrip sesi dan mengirimkan pre-master key ke server. Bila server meminta sertifikat klien di langkah 3, maka klien harus mengirimkannya sekarang. Pada tahap ini, Klien dapat mengirimkan pesan ClientKeyExchange, Certificate, CertificateVerify, ChangeCipherSpec, dan Finished. 5. Bila server dikonfigurasi untuk menerima sertifikat, maka server memeriksa sertifikat yang diterimanya dan menentukan akan menerima atau menolak koneksi yang diminta. Kemudian server dan Klien akan men-generate master key. Pada tahap ini, Server mengirimkan pesan ChangeCipherSpec, dan Finished. Bila kondisi ditolak, suatu pesan kegagalan akan dikirimkan ke klien. Bila koneksi diterima, atau bila server tidak dikonfigurasi untuk menerima sertifikat, maka server akan mendekripsi session key yang didapat dari klien dengan private key milik server dan mengirimkan pesan berhasil ke klien yang sekaligus akan membuka suatu secure data chanel. Dari proses komunikasi tersebut, dapat dilihat bahwa enkripsi digunakan. Pada tahap ke 3 dari proses komunikasi server menggunakan enkripsi asimetris, hal ini ditandai dengan pengiriman public key oleh server kepada klien. Sedangkan 31 enkripsi simetris terjadi pada tahap ke-4 dalam proses komunikasi. Hal ini ditandai dengan adanya pengiriman session key yang merupakan sebuah kunci pada enkripsi simetris. 2.2.2.2 Sertifikat SSL/TLS Sertifikat SSL/TLS (SSL/TLS Certificate) adalah sebuah sertifikat yang digunakan untuk memverifikasi pihak lawan komunikasi dalam suatu koneksi terenkripsi. Pada tahap ke-3 dalam komunikasi SSL, disebutkan bahwa server mengirimkan sertifikatnya kepada klien. Sertifikat yang dimaksud disini adalah sertifikat SSL/TLS. Untuk mengidentifikasi dan melakukan pengecekan atas sertifikat SSL/TLS yang dikirim, biasanya digunakan pihak ketiga yaitu Certificate Authority (CA). Informasi pada certifikat SSL/TLS, yaitu Issued To dan Issued By, merupakan hal penting dalam proses verifikasi ini. Issued To berisikan informasi mengenai organisasi pemilik sertifikat SSL/TLS tersebut dan Issued By berisikan informasi mengenai organisasi yang mengesahkan atau menandatangani sertifikat tersebut dalam hal ini adalah CA. CA menjamin identitas pemilik sertifikat ini. Oleh karena itu, CA haruslah merupakan sebuah organisasi yang dapat dipercaya. Sebuah penerapan SSL harus 32 memvalidasi semua sertifikat yang diterimanya dengan memverifikasi tandatangan CA. Selain itu, adalah hal yang mungkin untuk menlakukan penandatangan sertifikat sendiri. Sertifikat ini disebut selfsigned certificates. Namun karena sertifikat ini ditandatangani sendiri, maka tidak ada jaminan tentang identitas pemilik sertifikat. Oleh karena itu, sertifikat seperti ini sebaiknya hanya diterima apabila identitas pemilik sertifikat dapat dipercaya. 2.3 VPN Virtual Private Network, jika dijabarkan berdasarkan suku katanya maka pengertian VPN adalah Virtual, tidak ada koneksi jaringan secara langsung antara dua atau lebih komputer, melainkan hanya ada koneksi virtual yang disediakan oleh perangkat lunak VPN dan biasanya melalui koneksi internet. Private, akses dari jaringan tersebut hanya dapat diakses oleh orang-orang yang memiliki kepentingan dan memiliki hak akses. Virtual Private Network (VPN) adalah adalah jaringan komunikasi, dibangun untuk penggunaan pribadi dari perusahaan, melalui infrastruktur publik bersama. Ada dua aplikasi utama yang dicakup oleh defination ini: akses konektivitas remote dan site – to – site konektivitas.(Perlmutter, 2000, p10) 33 VPN menggunakan enkripsi dan tunneling untuk membentuk suatu jaringan virtual yang aman, end-to-end, dengan koneksi jaringan privat melalui jaringan pihak ketiga. Jaringan pihak ketiga dapat berupa jaringan service provider atau jaringan internet publik. Organisasi atau perusahaan dapat menggunakan VPN untuk berkomunikasi dengan outside users, seperti partner bisnis, customer, dan suppliers. VPN juga dapat digunakan oleh pengguna yang mobile atau telecommuters. Karakteristik VPN 1. Lalu lintas data dienkripsi. 2. Autentikasi pihak yang ingin tersambung melalui VPN. 3. Mendukung banyak protokol. 4. Koneksinya adalah point to point. Keuntungan VPN : 1. Biaya yang rendah. 2. Universality, kemampuan untuk akses dari teknologi yang berbeda. 3. Meningkatkan konektivitas. 4. Pertukaran informasi yang aman. 34 5. Skalabilitas mudah untuk ditingkatkan. Kelemahan VPN : 1. Bergantung pada jaringan pihak ketiga atau jaringan publik (internet). 2. Kurang mendukung QoS. 2.3.1 Fungsi VPN Teknologi VPN menyediakan tiga fungsi utama untuk penggunaannya. Ketiga fungsi utama tersebut antara lain sebagai berikut : 1. Confidentially (Kerahasiaan) Dengan digunakannnya jaringan publik yang rawan pencurian data, maka teknologi VPN menggunakan sistem kerja dengan cara mengenkripsi semua data yang lewat melauinya. Dengan adanya teknologi enkripsi tersebut, maka kerahasiaan data dapat lebih terjaga. Walaupun ada pihak yang dapat menyadap data yang melewati internet bahkan jalur VPN itu sendiri, namun belum tentu dapat membaca data tersebut, karena data tersebut telah teracak. Dengan menerapkan sistem enkripsi ini, tidak ada satupun orang yang dapat mengakses dan membaca isi jaringan data dengan mudah. 2. Data Intergrity (Keutuhan data) 35 Ketika melewati jaringan internet, sebenarnya data telah berjalan sangat jauh melintasi berbagai negara. Pada saat perjalanan tersebut, berbagai gangguan dapat terjadi terhadap isinya, baik hilang, rusak, ataupun dimanipulasi oleh orang yang tidak seharusnya. Pada VPN terdapat teknologi yang dapat menjaga keutuhan data mulai dari data dikirim hingga data sampai di tempat tujuan. 3. Origin Authentication (Autentikasi sumber) Teknologi VPN memiliki kemampuan untuk melakukan autentikasi terhadap sumber-sumber pengirim data yang akan diterimanya. VPN akan melakukan pemeriksaan terhadap semua data yang masuk dan mengambil informasi dari sumber datanya. Kemudian, alamat sumber data tersebut akan disetujui apabila proses autentikasinya berhasil. Dengan demikian, VPN menjamin semua data yang dikirim dan diterima berasal dari sumber yang seharusnya. Tidak ada data yang dipalsukan atau dikirim oleh pihak-pihak lain. 4. Non-repudiation Yaitu mencegah dua perusahaan dari menyangkal bahwa mereka telah mengirim atau menerima sebuah file mengakomodasi perubahan. 36 5. Kendali akses Menentukan siapa yang diberikan akses ke sebuah sistem atau jaringan, sebagaimana informasi apa dan seberapa banyak seseorang dapat menerima. 2.3.2 Jenis VPN 2.3.2.1 Remote Access VPN Pada umumnya implementasi VPN terdiri dari 2 macam. Pertama adalah remote access VPN, dan yang kedua adalah site-tosite VPN. Remote access yang biasa juga disebut virtual private dialup network (VPDN), menghubungkan antara pengguna yang mobile dengan local area network (LAN). Jenis VPN ini digunakan oleh pegawai perusahaan yang ingin terhubung ke jaringan khusus perusahaannya dari berbagai lokasi yang jauh (remote) dari perusahaannya. Biasanya perusahaan yang ingin membuat jaringan VPN tipe ini akan bekerjasama dengan enterprise service provider (ESP). ESP akan memberikan suatu network access server (NAS) bagi perusahaan tersebut. ESP juga akan menyediakan software klien untuk komputer-komputer yang digunakan pegawai perusahaan tersebut. 37 Untuk mengakses jaringan lokal perusahaan, pegawai tersebut harus terhubung ke NAS dengan men-dial nomor telepon yang sudah ditentukan. Kemudian dengan menggunakan sotware klien, pegawai tersebut dapat terhubung ke jaringan lokal perusahaan. Perusahaan yang memiliki pegawai yang ada di lapangan dalam jumlah besar dapat menggunakan remote access VPN untuk membangun WAN. VPN tipe ini akan memberikan keamanan, dengan mengenkripsi koneksi antara jaringan lokal perusahaan dengan pegawainya yang ada di lapangan. Pihak ketiga yang melakukan enkripsi ini adalah ISP. 2.3.2.2 Site-to-site VPN Jenis implementasi VPN yang kedua adalah site-to-site VPN. Implementasi jenis ini menghubungkan antara 2 kantor atau lebih yang letaknya berjauhan, baik kantor yang dimiliki perusahaan itu sendiri maupun kantor perusahaan mitra kerjanya. VPN yang digunakan untuk menghubungkan suatu perusahaan dengan perusahaan lain (misalnya mitra kerja, supplier atau pelanggan) disebut ekstranet. Sedangkan bila VPN digunakan untuk menghubungkan kantor pusat dengan kantor cabang, implementasi ini termasuk jenis intranet site-to-site VPN. 38 2.3.3 Topologi VPN Menurut Oppenheimer (2004), topologi VPN yang paling umum untuk site-to-site VPN ada tiga, yaitu : 2.3.3.1 Topologi Hub and Spoke Topologi ini terdiri dari beberapa remote office (spoke) yang terhubung dengan meminimalisasikan central site kompleksitas (hub). Desain konfigurasi topologi dengan ini hanya menghubungkan tiap remote office dengan central site, dan tiap remote site tersebut tidak saling berhubungan satu sama lain secara langsung. Topologi ini cocok jika pertukaran data hanya terjadi antara central site dengan tiap remote site dan masing-masing remote site tersebut tidak saling bertukar data. Topologi ini tidak cocok jika ada traffic yang tinggi diantara remote site tersebut atau jika dibutuhkan redundancy dan automatic failover. 2.3.3.2 Topologi Mesh Topologi mesh dapat berbentuk fully meshed, yang menyediakan konektivitas diantara semua remote office dan central site, atau partially meshed, yang menyediakan beberapa konektivitas diantara beberapa remote office dan central site sesuai dengan 39 kebutuhan. Topologi mesh adalah desain yang bagus untuk digunakan jika hanya sedikit lokasi yang saling berhubungan dengan jumlah traffic flow yang tinggi. Karena jika jumlah lokasi yang dihubungkan banyak, maka akan banyak konfigurasi yang dibutuhkan untuk setiap device yang digunakan. 2.3.3.3 Topologi Jaringan Hierarki Topologi jaringan hierarki adalah topologi hybrid yang cocok digunakan untuk perusahaan besar yang mempunyai banyak kantor pusat dan kantor cabang dengan traffic yang besar diantara mereka, dan banyak remote office dengan interaksi yang sedikit diantara mereka. Topologi ini terdiri dari full atau partial mesh sebagai inti, dengan lokasi lain dihubungkan dengan inti tersebut dengan menggunakan desain hub-and-spoke. Topologi ini adalah topologi yang paling kompleks diantara topologi yang lain. 2.3.4 Tunneling Tunneling adalah dasar dari VPN untuk membuat suatu jaringan private melalui jaringan internet. Tunneling adalah enkapsulasi atau pembungkusan suatu protokol ke dalam paket protokol lain (Perlmutter, 2000, p12). Tunneling menyediakan suatu koneksi point-to-point logis 40 sepanjang jaringan IP yang bersifat connectionless. Proses transfer data dari satu jaringan ke jaringan lain memanfaatkan jaringan internet secara terselubung (tunneling). Ketika paket berjalan menujun ke node tujuan, paket ini melalui suatu jalur yang disebut tunnel. Disebut tunnel atau saluran karena aplikasi yang memanfaatkannya hanya melihat dua end point, sehingga paket yang lewat pada tunnel hanya akan melakukan satu kali lompatan atau hop. Tunneling pada VPN menggunakan enkripsi untuk melindungi data agar tidak dapat dilihat oleh pihak-pihak yang tidak diberi otorisasi dan untuk membuat suatu encapsulation multiprotocol jika diperlukan. 2.3.5 Enkripsi Enkripsi merupakan informasi yang dibuat membingungkan sedemikian rupa untuk menyembunyikan informasi tersebut dari individu-individu yang tidak mempunyai hak sementara. Individu - individu yang berwenang memungkinkan untuk melihatnya. Individu - individu tersebut dikatakan berwenang bila mereka mempunyai kunci yang tepat untuk mendekripsi informasi tersebut (Maiwald, 2003, p248). Semakin banyak data yang lewat di dalam tunnel yang terbuka di jaringan publik, maka teknologi enkripsi ini semakin dibutuhkan. Enkripsi akan mengubah informasi yang ada dalam tunnel tersebut menjadi sebuah ciphertext atau teks yang dikacaukan dan tidak ada artinya sama sekali 41 apabila dibaca secara langsung. Untuk dapat membuatnya kembali memiliki arti atau dapat dibaca, maka dibutuhkan proses dekripsi. Proses dekripsi terjadi pada ujung-ujung dari hubungan VPN. Pada kedua ujung ini telah menyepakati sebuah algoritma yang akan digunakan untuk melakukan proses enkripsi dan dekripsinya. Dengan demikian, data yang dikirim aman sampai tempat tujuan, karena orang lain di luar tunnel tidak memiliki algoritma untuk membuka data tersebut. Enkripsi terdiri dari dua jenis, yaitu symmentric encryption dan asymmentric encryption. Asymentric encryption menggunakan publik dan private key dalam proses enkripsi dan dekripsi, sedangkan symmentric encryption menggunakan key yang sama dalam proses enkripsi dan dekripsi. Berikut metode – metode encryption: 1. Symmentric Encryption Symmentric key encryption menggunakan private key berrarti komputer pengirim dan penerima sama – sama menggunakan kunci yang sama untuk mengenkripsi dan mendekripsi informasi. Karena satu key digunakan bersama – sama untuk enkripsi dan dekripsi, maka harus ada pengertian antara dua pihak untuk menjaga kerahasiaan key tersebut. Semua yang mempunyai kunci enkripsi dapat mendekripsi data apa saja yang ada dalam lalu lintas VPN. Jika orang yang tak 42 berwenang memilki kunci enkripsi, ia dapat mendekripsi data yang ada dan masuk ke setiap jaringan yang terhubung melalui VPN. Selain itu kunci enkripsi juga dapat dibuka dengan melakukan brute force attack. Hanya masalah waktu sampai sang attacker dapat membuka kunci enkripsi. Oleh karena itu, software VPN seperti IPSec mengganti kunci enkripsi secara berkala dalam suatu interval waktu. Setiap kunci enkripsi hanya berlaku dalam jangka waktu tertentu. 2. Asymmetric Encryption Asymmetric key encryption mengenkripsi informasi dengan suatu key dan mendekripsi dengan key lainnya. Sistem ini menggunakan kombinasi dari dua buah key yaitu private key yang disimpan untuk diri sendiri, dan public key yang diberikan untuk remote user. 2.3.6 Autentikasi Selain enkripsi, salah satu aspek penting dalam VPN, yaitu memastikan tindakan memverifikasi bahwa pengirim data yang mereka mengklaim mereka dan bahwa data kirim sama dengan data yang diterima.(Perlmutter, 2000, p106) 43 Autentikasi ini terbagi kedalam 2 tipe, yaitu : 1. Otentikasi Pengguna Dengan otentikasi pengguna, orang yang tidak berhak masuk ke network dapat dikenali. Ada beberapa metode otentikasi pengguna antara lain Pre – Shared Key, yaitu password yang diberikan kepada pengguna yang tidak memiliki hubungan dengan infrastruktur VPN, Digital Signatures, yaitu bukti elektronik untuk membuktikan identitas pengguna memperbolehkan dan Hybrid organisasi Mode untuk Authentication, menintegrasikan yaitu sistem authentication dengan VPN. 2. Otentikasi Data Untuk memastikan apakah data tidak berubah dalam perjalanan, sistem VPN menggunakan otentikasi data. Salah satu teknik otentikasi data adalah hash function. Teknik ini membuat suatu angka, yang disebut hash, berdasarkan panjang bit tertentu. Pengirim menambahkan angka hash tersebut ke dalam paket data sebelum encryption, penerima akan melakukan perhitungan hash kembali. Apabila kedua angka hash tersebut sesuai, maka dipastikan data tidak mengalami perubahan dalam perjalanan. 44 2.3.7 Cara Kerja VPN Saat koneksi VPN dibentuk, software VPN pada sisi client melakukan kontak pada gateway VPN server. Gateway biasanya melakukan verifikasi dengan melakukan pengecekan password. Kemudian akan dibuat sebuah tunnel dan menambahkan sebuah header pada paket data yang akan dimengerti oleh jaringan internet. Saat paket mencapai endpoint dari gateway, gateway akan menarik kembali header Internet tersebut, dan mengarahkan paket tersebut ke tujuan akhirnya. 2.4 OpenVPN OpenVPN adalah solusi SSL VPN lengkap untuk menciptakan koneksi siteto-site yang ditemukan pada Ipsec VPN. OpenVPN disebut sebagai user-space VPN karena tidak memerlukan kernel OS untuk berjalan. User-Space VPN menggunakan virtual interface yang dikontrol dan diakses tanpa ketergantungan pada kernel. Hal ini memungkinkan user-space VPN sebuah titik awal yang lebih aman dibandingkan Ipsec standar. Selain itu juga fleksibelitas yang lebih dalam port ke sistem operasi lain dan kemudahan instalasi dan pemeliharaan. OpenVPN termasuk generasi baru VPN. Ketika solusi VPN yang lain sering menggunakan proprietary atau mekanisme non-standard, OpenVPN mempunyai konsep modular baik underlying security maupun networking. OpenVPN menggunakan keamanan, kestabilan, dan mekanisme SSL/TLS untuk autentikasi dan enkripsi.