Secure socket layer (SSL) dikembangkan oleh Netscape communication corp pada tahun 1994, SSL melindungi transmisi HTTP dengan menambahkan laisan enkkripsi pengamanan. SSL tidak hanya melindungi data yang dikirim melalui internet agar tidk dapat dibajak oleh hacker atau cracker karna bisa menyakinkan pihak-pihak yang berkomunikasi bahwa lawan bicara mereka di internet dapat dipercaya (melalui penggunaan sertifikat digital).
SSL memberi 3 keamanan di antaranya :
Menjadikan saluran (kanal) sebagai saluran (kanal) privat. Enkripsi digunakan terhadap seluruh data setelah handshaking (protokol pembuka sebelum terjadi pertukaran data). Jadi, data-data yang dikirim melalui internet ke tempat tujuan akan terjamin keamanannya.
Kanal di auntentikasi, server selalu di auntentikasi dan client juga di auntentikasi untuk menjaga keamanan data yang akan dikirim melalui satu jaringan.
Karnel yang andal,dimanan setiap data yang disadap dan di modifikasi saat data dikirim oleh pihak yang tidak bertanggung jawab daat diketahui oleh pihak yang sedang berkirim data(dideteksi) dengan menggunakan message integrity(authentication)
Protokol SSL dibagi menjadi 3 baian,yaitu :
a. Protokol SSL record yang melapiskan protokol transport (TCP) yang andal. Protokol SSL record digunakan untuk membungkus data yang dikirim dan diterima setelah protocol handshake digunakan untuk membangun parameter keamanan waktu terjadi pertukaran data.
b. Protokol SSL handshke berfungsi membangun parameter kemanan sebelum terjdi pertukaran data antara da sistem.pada round pertama,SLL akan melakukan koneksi antara client (C) dengan server (S). Jika server menerima handshake dari clien,maka server akan mengirim pesan server_hello dan cient bisa menggunakan protokol tersebut.client bisa mengirim pesan tanpa permintaan server.
1. C -> S : { version // rand1// sesion_id//chiper_list//compression_list}
Version : versi dai SSL yang digunakan, rand1 : client akan mendapatkan keseptan untuk mengatur waktu untuk melakuan penanatanganan setifikat digital dan diatur menjadi 28 bit secara random.session_id biasanya memiliki nilai 0 (mask ke sesi baru), chiper_list yang berarti bahwa client mmengerti permintaan terhadap perintah tersebut sudah dpenuhi. Compressin_list : identifikasi kmpresi algoritma yang akan digunkan.
2. S -> C : { version // rand2//sessin_d//chiper_list//compression}
Pada tahap dua server sudah mengerti apa yang dibutuhkan oleh client contoh : chiper akan memilih algoritma RSA pada round pertamadan pada round ke duaakan dilakukan antetikasi terhadap algoritma tersebut, lalu server megirimkan client sertifikat X.509
3. S -> C :{server_cert}
Pada pesan berikutnya terjai pengaturan parameter, dan jika RSA sertifikat yang akan di tandaangani, server akan mengirim public key modulo dan oppenent yang digunakan untuk merahasiakan pesan tersebut menggunakakn fungsi satu arah (hash)
4. S -> C : {mod//exp//{hash (rand1//rand2 // mod//exp} Ks}
Rand1 dan rand 2 adlah data random dari dua kali round dan pesan. Fungsi hash pada perintah di atas merupkan suatu rentetan dari MD5 dan SHA-1 yang akan memberikan paraeter tanda tanga digital yang akan di enkripsi menggunakan private key Ks oleh server.
5. S -> C : { cert_type ,good+cert_authorities}
Cert_type sudah di identifikasi tipe dari sertifikat yang diminta. Good_cert_authorities identifikasi sertifikat authority’s yang akan di akses oleh server dan server akan mengirim pesan terakir kepada client pada sesi round kedua.
6. S -> C : {end_round2}
Setelah round 2 berakir, maka round 3 masuk bahwa client sudah valid dengan sertifikat yang dikirim server dengan parameternya. Jika server memina sertifikat itu kembali,maka client wajib mengirim dengan sinyal dan menyatakan bahwa dia belum mendapatkan sertifikat.
7. C -> S : { client_cert}
Client akan mengirim esan kembali untuk melakukan pertukaran kunci menggunakan kunci public dengn enchiper 28 byte secara random yang akan meghasilkan ” pre master secret” server dan client yang akan menggunakan share master secret.
8. C -> S {pre}
Client mengakiri dengan sertifikasi pesan dan serer akan melakukan pengecekan terhadap semua pesan yang sudah dikirim apakah sudah diterima dengan benar.
9. C -> S : { hash// {master//opad//hash(messages//master//ipad))}
Master merupakanmaster secret komputer dari pre yang dikirim sebelumnya, sedangkan opad dan ipad adalah yang menjelaskan fngsi dari HMAC (hash ceksum).
10. C -> S : { hash//master//opad//hash(messages//0x34C4E54//master//ipad)}
Server merespon dengan “ change chiper spec” dan pesan akan memberitahukan kepada client untuk menggunakan chiper yang sudah ditentukan oleh server.
S-> C : {hash//master//opad//hash (messages//0x53525652//master//ipad}
Client dan server teah selesai melaukan pengiriman pesan.
c. Protokol SSL alert akan memberian tanda kondisi sudah tiak terkoneksi lagi (jika pengirim mengirim pesan dan yang akan menerima sedang off-line, maka pesan akan dipending ampai penerima terkoneksi kembali).
SSL Architecture
Protokol SSL didesian untuk bisa digunakan pada provider TCP yang dapat dipercaya layanan keamanannya. SSL tidak hanya menggunakan satu protokol, tetapi dua layer (lapisan) protocol. SSl record protocol merupakan layanan keamanan dasar ke lapisan protocol yang lenih tinggi. Hypertext transfer protocl (HTTP) layanan tranfer data antara client dan server bisa beroperasi dengan SSL.
Kerberos Protocol
Kerberos adalah protocol untuk keperluan auntetikasi yang dikembangkan dari proyek athena di universitas MT amerika, yang memilki nomor standard X509. Pada umumnya kerberos memiliki tiga fungsi dasar, di antaranya :
1. Autentikasi
2. Accounting
3. Audit
Kerberos bertujuan mengatasi penyalahgunaan jaringan komputer, contohnya ketika banyak user yang terhubung dengan workstation dan banyak user yang ingin melakukan akses terhadap beberapa server tersebar di jaringan tersebut, administrator menginginkan server dapat membatasi akses terhadap pengguna yang tidak sah. Jikaingin mendapatkan kases ke server, user harus bisa membuktikan keaslian permintaan layan. Dalam kasus seperti itu, workstation tidak dapat dipercaya untuk melakukan identifikasi terhadap user yang dapat menyebabkan ancaman keamanan seperti berikut :
Ø User dapat menakses workstation dan sebenarnya dia tidak berhak terhadapa kases tersebut, atau berpura-pura menjadi user yang memilki hak terhadap jaringan tersebut.
Ø User dapat merubah addres network dari suatu workstation.
Penyadapan komunikasi data dan panyadap dapat melakukan serangan balasan untuk mendapatkan izin mengakses server atau bisa jadi membuat komputer enjadi sibuk dengan menggunakan serangan “flood attack” yang sering juga disebut dengan spray, yakni membanjiri suatu jaringan dengan request sehingga mengurangi kecepatan network dan host-host yang berada di dalamnya secara signifikan secara teruz menerus sehingga jaringan menjadi macet.
Protocol kerberos mengsumsi bahwa terdapat satu atau lebih server beberapa client dalam satu jaringan. Server akan memeriksa idntitas user yang menggunakan salah satu workstation. Pada dasarnya kerberos memiliki hukum protocol dasar, daintaranya adalah :
Ø Autentikasi client supaya bisa mendapatkan tiket granting
Ø Service granting memberikan layanan tiket granting
Ø Service authentication : layanan autentikasi srver atau client untuk medapatkan layanan
Protocol kerberos memiliki 3 server dasar,yaitu :
Ø Server utama
Ø Server tiket greating service (TGS)
Ø Server service ( server file,server printer,server internet)
Kerberos versi 4 mengunakan algoritma dan encryption standard (DES) untuk keperluan layanan autentikasi.
Autentikasi dialog sederhana
Jaringan yang tidak terlindungi, client bisa meminta layanan kepada srver. Hal itu akan menyebabkan kerahasiaan dan autentikasi suatu jarinan tidak terjamin. Untuk mengatasi hal itu, erver harus bisa meminta konfirmasi identitas client ketika meminta suatu layanan,jika terjadi interaksi antara client dan server. Alternatif dari masalah tersebut adalah dengan menggunakan authentication server (AS) yang berfungsi menympan semua ID user di dalam database.
C -> AS : Idc//Pc//Idv
AS -> C : ticket
C -> V : Idc//ticket
Ticket = Ekv{ Idc//Adc//Idv
Catatan :
C = client
AS = authentication server
V = server
IDc = identifikasi user yang ada di client
Idv = identifikasi server
Pc = password user yang ada di client
Adc = alamat jaringan yang ada pada client
Kv = sharing kunci rahasia antara AS dan C
Pada contoh di atas, user akan meakukan login terhadap workstation untuk memint akses ke server. Workstation akan meinta password dari user dan mengirimkan pesan yang berisi password, ID ke AS. Service server (srever ID) akan melakukan pencocokan password yang ada di dalam daabase. Jika password dan ID yang ditemukan cocok, maka uer akan mendaatkan izin untuk mengakses server.setelah client mendaatkan akses,maka AS akan membuat tiket yang sudah di share menggunakan kunci rahasia yang telah di enkripsi antara AS dan server ID.selanjutnya,tiket akan dikirim kebali ke client,tetapitiket terlebih dahulu di enkripsi dan client tidak akan bisa membacanya.
Setelah mendpatkan tiket,clien bosa meminta layanan kepada user.client akan mengirim pesan ke server yang berisi client ID. Jika cocok, server akan memberikan izin penuh bagi user untuk menggunakan layanan yang ada.